openpond 0.1.0 → 0.2.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 (137) hide show
  1. package/README.md +4 -4
  2. package/dist/cache.d.ts +7 -10
  3. package/dist/chunks/{app-layer-XEYHFJHI.js → app-layer-F3CGXB33.js} +9 -7
  4. package/dist/chunks/{app-server-runtime-Y6MW4XCG.js → app-server-runtime-RHO5TFUC.js} +9 -7
  5. package/dist/chunks/{apps-GSXUDK6V.js → apps-L5XCL7QY.js} +12 -10
  6. package/dist/chunks/{chunk-J7PYGDRY.js → chunk-26AMV5ZI.js} +1 -1
  7. package/dist/chunks/{chunk-DNXBJZAU.js → chunk-3EB7I67T.js} +1 -1
  8. package/dist/chunks/{chunk-J3YDKJFD.js → chunk-3ELF4FXY.js} +19 -11
  9. package/dist/chunks/{chunk-HFPUR4CQ.js → chunk-3VEYNDHN.js} +10 -10
  10. package/dist/chunks/chunk-4KA25HUP.js +5648 -0
  11. package/dist/chunks/{chunk-EFET7LB7.js → chunk-6SMNG6YA.js} +62 -90
  12. package/dist/chunks/{chunk-N3TGCM7J.js → chunk-7RIGZB7N.js} +50 -37
  13. package/dist/chunks/{chunk-47EIAYI7.js → chunk-A6G3PFA5.js} +6 -4
  14. package/dist/chunks/{chunk-D7BO5Y5J.js → chunk-FJ2JGB2N.js} +31 -189
  15. package/dist/chunks/{chunk-WBAZFKC7.js → chunk-G65WAOJV.js} +2 -2
  16. package/dist/chunks/{chunk-CNTM26OW.js → chunk-K4TZEHAW.js} +16 -16
  17. package/dist/chunks/{chunk-AN2EYCN3.js → chunk-KCRCIQPD.js} +1 -5
  18. package/dist/chunks/chunk-OCBRPU2K.js +629 -0
  19. package/dist/chunks/{chunk-2JABRRNR.js → chunk-PS37DB5F.js} +1 -1
  20. package/dist/chunks/{chunk-TGM5IPYO.js → chunk-UZMVNKXM.js} +1 -1
  21. package/dist/chunks/{chunk-TZWAUV2L.js → chunk-VT6BLHMB.js} +10750 -1240
  22. package/dist/chunks/{chunk-5TKZBMQM.js → chunk-X6F4LBTQ.js} +102 -1
  23. package/dist/chunks/{chunk-6G6MDZLM.js → chunk-XA4KBDMY.js} +213 -999
  24. package/dist/chunks/chunk-ZNQEROWP.js +254 -0
  25. package/dist/chunks/{cli-L5VPOV6I.js → cli-D2MUUBEX.js} +7 -5
  26. package/dist/chunks/configuration-command-NR6JYIUD.js +187 -0
  27. package/dist/chunks/{continual-FYDKLCO7.js → continual-37CE4LLJ.js} +4 -4
  28. package/dist/chunks/{core-commands-MAN3CSJQ.js → core-commands-SWGIOZLW.js} +8 -6
  29. package/dist/chunks/database-DEYUZDIM.js +20 -0
  30. package/dist/chunks/{desktop-test-OE5SST2W.js → desktop-test-QOS7G5NE.js} +8 -6
  31. package/dist/chunks/dist-AKYCQNNF.js +187 -0
  32. package/dist/chunks/{extension-J3CIEDP4.js → extension-HJUJBQAD.js} +67 -730
  33. package/dist/chunks/{help-JNGJJFU5.js → help-J6PZ23IC.js} +1 -1
  34. package/dist/chunks/{opchat-6HEQJFLL.js → opchat-ABX5YBAT.js} +9 -7
  35. package/dist/chunks/{organizations-MWAPNOCK.js → organizations-CPNC47DO.js} +8 -6
  36. package/dist/chunks/{profile-P7HMONTZ.js → profile-Q3HB5MIO.js} +16 -14
  37. package/dist/chunks/{project-agent-2RAK7GAZ.js → project-agent-YHUBX4OR.js} +9 -7
  38. package/dist/chunks/{sandbox-command-G22CPFNK.js → sandbox-command-YFL5QTWX.js} +8 -6
  39. package/dist/chunks/{sandbox-template-S4WRUWJ6.js → sandbox-template-Z6P7NTNF.js} +12 -10
  40. package/dist/chunks/{src-BKBZ7WLO.js → src-7XEENEBI.js} +16 -12
  41. package/dist/chunks/{src-A6O6ZGIL.js → src-KBBIV4NT.js} +1338 -10969
  42. package/dist/chunks/{taskset-BMI7KOWP.js → taskset-2TRZBRRT.js} +1 -1
  43. package/dist/chunks/{teams-bot-5VBYEN7M.js → teams-bot-WD33NLH5.js} +7 -5
  44. package/dist/chunks/{training-UPVSGDTB.js → training-4XH37UZB.js} +1 -1
  45. package/dist/chunks/{workspaces-XM5BY3MO.js → workspaces-WG2MH2WE.js} +2 -2
  46. package/dist/cli.js +25 -17
  47. package/dist/client.d.ts +1 -1
  48. package/dist/config.d.ts +1 -0
  49. package/dist/index.js +20803 -15878
  50. package/dist/private-json-file.d.ts +1 -2
  51. package/dist/skills/openpond-desktop-harness/SKILL.md +1 -1
  52. package/dist/web/assets/App-C9aGkxVg.js +173 -0
  53. package/dist/web/assets/{AppDialog-CSXu5wRu.js → AppDialog-CK6_lg8c.js} +1 -1
  54. package/dist/web/assets/{AppTerminalPanel-y2bVL2RV.js → AppTerminalPanel-BKqgX4sd.js} +2 -2
  55. package/dist/web/assets/{AppsView-Bs9pwD2H.js → AppsView-B1NUuAIf.js} +1 -1
  56. package/dist/web/assets/{BrowserSidebar-CUgT5V1m.js → BrowserSidebar-DOvYxXeP.js} +1 -1
  57. package/dist/web/assets/{CartesianChart-DA85hfrP.js → CartesianChart-pOrYpzBr.js} +1 -1
  58. package/dist/web/assets/{CollaborationTabs-B8mlPhM3.js → CollaborationTabs-CgbR-MBJ.js} +1 -1
  59. package/dist/web/assets/{CommandMenu-EwUGCeC_.js → CommandMenu-CrIr4qUX.js} +1 -1
  60. package/dist/web/assets/{CommunityView-IHNq-YJz.js → CommunityView-CvAVQ_HZ.js} +1 -1
  61. package/dist/web/assets/{ComposerCreateImproveStrip-qOL2zA26.js → ComposerCreateImproveStrip-DybcKwwd.js} +1 -1
  62. package/dist/web/assets/GetStartedView-DVInkexN.js +1 -0
  63. package/dist/web/assets/{LabModelVersionDetailPage-BK0eoUlW.js → LabModelVersionDetailPage-NaaPElmM.js} +1 -1
  64. package/dist/web/assets/{LabSkillSidebar-CRPb4qBn.js → LabSkillSidebar-CuaYrtiu.js} +1 -1
  65. package/dist/web/assets/LabsRoute-BRR6x3SX.js +2 -0
  66. package/dist/web/assets/{MainChatThread-Cu6_UnNE.js → MainChatThread-BfkjCZB9.js} +2 -2
  67. package/dist/web/assets/MainPane-Gw-YK38n.js +8 -0
  68. package/dist/web/assets/{MarkdownText-N60tvLug.js → MarkdownText-DOlVQR8a.js} +1 -1
  69. package/dist/web/assets/{Messages-CYQFLElK.js → Messages-DMubppta.js} +6 -6
  70. package/dist/web/assets/{NativeSkillSidebar-zbx7WmOk.js → NativeSkillSidebar-DSFwZ-od.js} +1 -1
  71. package/dist/web/assets/{NewExperienceSwitcher-B0zev5Sx.js → NewExperienceSwitcher-Dj0ePIJ-.js} +1 -1
  72. package/dist/web/assets/{NewProjectDialog-lZlzrp-R.js → NewProjectDialog-B8NQV-Ji.js} +1 -1
  73. package/dist/web/assets/{OutputsPage-B4zYYUT5.js → OutputsPage-D_LDYTgV.js} +1 -1
  74. package/dist/web/assets/{ProjectsPage-97wgc84s.js → ProjectsPage-xjDYPc_W.js} +1 -1
  75. package/dist/web/assets/RightChatPanelStack-BktRQ9wg.js +1 -0
  76. package/dist/web/assets/{RightSidebarHomePanel-BUcWVJi-.js → RightSidebarHomePanel-j0VckZUu.js} +1 -1
  77. package/dist/web/assets/ScheduledWorkPage-1aT4bBY-.js +1 -0
  78. package/dist/web/assets/SettingsView-BSpuMDpv.js +9 -0
  79. package/dist/web/assets/SettingsView-CAH0vreE.css +1 -0
  80. package/dist/web/assets/{TeamChatView-Fj5_yjVE.js → TeamChatView-BPWJbDf1.js} +2 -2
  81. package/dist/web/assets/{TerminalOverlay-D2WBeJvp.js → TerminalOverlay-CrSwUk2d.js} +1 -1
  82. package/dist/web/assets/{TrainingCreationPanel-dYW_dh3M.js → TrainingCreationPanel-B4HMRwUg.js} +1 -1
  83. package/dist/web/assets/{TrainingDraftPanel-zeJWmmW6.js → TrainingDraftPanel-D4r1tN3I.js} +1 -1
  84. package/dist/web/assets/{UsageSettingsSection-B6SBqYuB.js → UsageSettingsSection-2aymqwIM.js} +1 -1
  85. package/dist/web/assets/{WorkSidebarPanel-BwbWKpOZ.js → WorkSidebarPanel-B0X0OiR6.js} +1 -1
  86. package/dist/web/assets/WorkspaceDiffPanel-Pg7GL0br.js +14 -0
  87. package/dist/web/assets/{WorkspaceEnvironmentMenu-D-3YGp06.js → WorkspaceEnvironmentMenu-OAfMEt7L.js} +3 -3
  88. package/dist/web/assets/{WorkspaceGitDialogs-BUbzUN4m.js → WorkspaceGitDialogs-YxcPH2Rq.js} +1 -1
  89. package/dist/web/assets/{WorkspaceMonacoEditor-CXPY7bBI.js → WorkspaceMonacoEditor-COKTiQZl.js} +3 -3
  90. package/dist/web/assets/{arrow-up-right-C7VWgGQP.js → arrow-up-right-_TX-awvK.js} +1 -1
  91. package/dist/web/assets/{chat-file-links-CqfMdhHQ.js → chat-file-links-CWLsRYvW.js} +1 -1
  92. package/dist/web/assets/chevron-up--mNnEqha.js +1 -0
  93. package/dist/web/assets/{clipboard-B-8k7mlT.js → clipboard-CyRSS8Sy.js} +1 -1
  94. package/dist/web/assets/{cloud-upload-CUVFzURz.js → cloud-upload-uBJBUYTy.js} +1 -1
  95. package/dist/web/assets/{cssMode-DYvfmqoL.js → cssMode-BrXSsZYs.js} +1 -1
  96. package/dist/web/assets/{folder-open-CnbcQIy8.js → folder-open-DktdZNW7.js} +1 -1
  97. package/dist/web/assets/{folder-plus-BOaLAKy4.js → folder-plus-DO06i9Vo.js} +1 -1
  98. package/dist/web/assets/{git-commit-horizontal-DQeHsooT.js → git-commit-horizontal-zFSIkPs7.js} +1 -1
  99. package/dist/web/assets/{htmlMode-BXEI-BVY.js → htmlMode-X9UMFkjt.js} +1 -1
  100. package/dist/web/assets/index-BEPmTPIA.js +1 -0
  101. package/dist/web/assets/{index-CGMb_VXm.css → index-ByQIHpc9.css} +1 -1
  102. package/dist/web/assets/{index-D-VK8mST.js → index-UOGdfLzi.js} +1 -1
  103. package/dist/web/assets/{info-DtzDuGLn.js → info-BEJXUqCD.js} +1 -1
  104. package/dist/web/assets/{jsonMode-Dosjh_hK.js → jsonMode-DIsB-j2E.js} +1 -1
  105. package/dist/web/assets/{lspLanguageFeatures-BNe-6FJA.js → lspLanguageFeatures-CmZ17KpA.js} +1 -1
  106. package/dist/web/assets/{minimize-2-DnxKN5oK.js → minimize-2-DumTpFtE.js} +1 -1
  107. package/dist/web/assets/{monaco.contribution-CfF-ajhi.js → monaco.contribution-D6w5PJji.js} +2 -2
  108. package/dist/web/assets/{monaco.contribution-ytyanGyj.js → monaco.contribution-DJ_NmcHu.js} +2 -2
  109. package/dist/web/assets/{monaco.contribution-CnkROzNv.js → monaco.contribution-LZEujgny.js} +2 -2
  110. package/dist/web/assets/{monaco.contribution-Dyns81H2.js → monaco.contribution-YVDfJcG4.js} +2 -2
  111. package/dist/web/assets/{play-B3o6IAQd.js → play-CLFeH7CU.js} +1 -1
  112. package/dist/web/assets/{python-B7zZ_9Z_.js → python-Djbda_qZ.js} +1 -1
  113. package/dist/web/assets/{refresh-cw-DSJZXa8S.js → refresh-cw-B4IpQ_7Q.js} +1 -1
  114. package/dist/web/assets/{save-iC-AXHN6.js → save-BbTHztnA.js} +1 -1
  115. package/dist/web/assets/{square-B2roZTxf.js → square-BJrVbmz6.js} +1 -1
  116. package/dist/web/assets/{toggleHighContrast-CjlV4YHK.js → toggleHighContrast-BopU5W9S.js} +1 -1
  117. package/dist/web/assets/{tsMode-XmKmSq0B.js → tsMode-CH_0_YDX.js} +1 -1
  118. package/dist/web/assets/{upload-BgHXNjfJ.js → upload-UumVeufu.js} +1 -1
  119. package/dist/web/assets/{useLocalAgentSchedules-CVJz0AMr.js → useLocalAgentSchedules-BRa23U7O.js} +1 -1
  120. package/dist/web/assets/{wifi-off-CneL8bDZ.js → wifi-off-BWJWivn6.js} +1 -1
  121. package/dist/web/assets/{workers-CT7VYBR5.js → workers-pTe8RvSI.js} +1 -1
  122. package/dist/web/assets/{yaml-CF8jchCz.js → yaml-DNLASORn.js} +1 -1
  123. package/dist/web/index.html +2 -2
  124. package/docs/command-reference.md +28 -2
  125. package/package.json +7 -5
  126. package/dist/chunks/chunk-P6JLLWMI.js +0 -238
  127. package/dist/web/assets/App-DfiCmBv6.js +0 -173
  128. package/dist/web/assets/GetStartedView-C2ypO0v7.js +0 -1
  129. package/dist/web/assets/LabsRoute-Bw-HD6QC.js +0 -2
  130. package/dist/web/assets/MainPane-k1iII9e9.js +0 -8
  131. package/dist/web/assets/RightChatPanelStack-I2znDCc7.js +0 -1
  132. package/dist/web/assets/ScheduledWorkPage-Bp-t0eVj.js +0 -1
  133. package/dist/web/assets/SettingsView-BRPrJuP5.css +0 -1
  134. package/dist/web/assets/SettingsView-C1xyn1Y4.js +0 -6
  135. package/dist/web/assets/WorkspaceDiffPanel-D9Kp0vFw.js +0 -14
  136. package/dist/web/assets/chevron-up-DD9Tei-Q.js +0 -1
  137. package/dist/web/assets/index-D-WCyNdJ.js +0 -1
@@ -0,0 +1 @@
1
+ .settings-shell{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr);height:100%;min-height:0;background:var(--bg)}.settings-shell.harness-diff-open{grid-template-columns:300px minmax(0,1fr) minmax(380px,max(380px,min(var(--diff-panel-width, 480px),48vw)))}.settings-shell>.workspace-diff-panel{z-index:3;grid-column:3;grid-row:1}.settings-shell.harness-diff-expanded{grid-template-columns:300px minmax(0,1fr)}.settings-shell.harness-diff-expanded>.settings-content{display:none}.settings-shell.harness-diff-expanded>.workspace-diff-panel{grid-column:2;border-left:0}.settings-window-controls{position:absolute;z-index:4;top:12px;right:12px;display:inline-flex;align-items:center;gap:8px;height:20px;-webkit-app-region:no-drag;app-region:no-drag}.settings-window-controls .topbar-diff-button:disabled{cursor:default;opacity:.4}.settings-drag-region{position:absolute;z-index:2;top:0;right:0;left:300px;height:43px;-webkit-app-region:drag;app-region:drag}.settings-sidebar{min-height:0;border-right:1px solid var(--border);background:#101010;padding:12px 7px 0}.settings-shell.platform-macos .settings-sidebar{padding-top:43px}.settings-back{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;width:100%;min-height:32px;border:0;border-radius:12px;background:transparent;color:#8e8e8e;padding:0 10px;text-align:left;font-size:13px}.settings-back span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-back:hover{color:var(--text);background:#ffffff0f}.settings-nav{display:grid;gap:3px;margin-top:10px}.settings-nav-group{display:grid;gap:3px}.settings-nav-group+.settings-nav-group{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.settings-nav-heading{padding:3px 10px 5px;color:#8a8a8a;font-size:11px;font-weight:600}.settings-nav-item{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;min-height:29px;border:0;border-radius:10px;background:transparent;color:#f5f5f5;padding:0 10px;text-align:left;font-size:13px}.settings-nav-item.active{background:#2a2a2a}.settings-content{min-width:0;min-height:0;overflow:auto;padding:64px max(48px,12vw);scrollbar-width:none}.settings-content-wide{padding-inline:clamp(24px,5vw,72px)}.settings-stacked-sections{display:grid;gap:34px}.account-settings-embedded{border-top:1px solid rgba(255,255,255,.07);padding-top:28px}.settings-content::-webkit-scrollbar{display:none}.account-settings{display:grid;gap:28px;max-width:760px}.profile-settings{container-name:profile-view;container-type:inline-size;width:min(1120px,100%);max-width:none;min-width:0;margin-inline:auto}.account-settings h1{margin:0 0 24px;color:#f7f7f7;font-size:22px;font-weight:500;letter-spacing:0}.account-settings-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 24px}.account-settings-title h1{margin:0}.account-settings-title-actions{display:flex;align-items:center;gap:6px;margin-left:auto}@media(max-width:980px){.settings-shell,.settings-shell.harness-diff-open,.settings-shell.harness-diff-expanded{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.settings-drag-region{left:0}.settings-sidebar,.settings-shell.platform-macos .settings-sidebar{display:flex;min-width:0;gap:8px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:44px 14px 10px;scrollbar-width:none}.settings-sidebar::-webkit-scrollbar{display:none}.settings-back{flex:0 0 auto;width:auto}.settings-back span,.settings-nav-heading{display:none}.settings-nav,.settings-nav-group{display:flex;flex:0 0 auto;gap:3px;margin:0}.settings-nav-group+.settings-nav-group{margin:0;padding:0 0 0 8px;border-top:0;border-left:1px solid rgba(255,255,255,.06)}.settings-nav-item{display:inline-flex;flex:0 0 auto;width:auto;padding-inline:10px}.settings-content,.settings-content-wide{grid-column:1;grid-row:2;padding:28px 18px}.settings-shell.harness-diff-expanded>.workspace-diff-panel{grid-column:1;grid-row:2}}.configuration-settings header h1{margin-bottom:12px}.configuration-settings header p,.configuration-settings details p{color:var(--muted);font-size:13px;line-height:1.6}.configuration-settings details{min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px}.configuration-settings summary{cursor:pointer;font-size:14px;font-weight:500}.configuration-settings textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);padding:14px;line-height:1.6;font-size:13px}.configuration-actions{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.configuration-settings button,.configuration-settings select{border:1px solid var(--border);border-radius:8px;background:#242424;color:var(--text);padding:8px 12px}.configuration-settings button:disabled{opacity:.5;cursor:default}.configuration-settings table{width:100%;border-collapse:collapse;font-size:12px}.configuration-settings th,.configuration-settings td{text-align:left;padding:8px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.configuration-settings pre{overflow:auto;font-size:12px}.configuration-settings code{overflow-wrap:anywhere}.configuration-banner{margin-bottom:24px}.configuration-page h2{font-size:16px;font-weight:500;margin:0}.account-summary,.account-list,.provider-settings-form,.diagnostics-log-panel,.settings-footnote{border:1px solid var(--border);border-radius:16px;background:#181818}.account-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 18px}.account-summary-main>div{display:grid;gap:5px}.account-summary span,.account-summary small,.account-list-heading small,.account-details span,.product-row span,.settings-footnote span,.empty-account-list span{color:#9b9b9b;font-size:12px}.account-summary strong{color:#f7f7f7;font-size:15px}.account-summary-main{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.account-summary .account-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.account-summary-main>div{min-width:0}.account-summary-main strong,.account-summary-main small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary-meta{display:flex;align-items:center;gap:8px;min-width:0}.account-summary-meta small{flex:0 1 auto;max-width:min(260px,44vw)}.account-summary-meta .account-summary-copy{max-width:min(520px,52vw);overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35}.account-team-dropdown.compact{flex:0 1 auto;justify-self:auto;min-width:0}.account-team-dropdown.compact .dropdown-trigger{max-width:220px;height:24px;padding:0 6px}.account-team-dropdown .dropdown-menu{min-width:100%}.private-account-email{display:inline-block;filter:blur(4px);transition:filter .12s ease;-webkit-user-select:none;user-select:none}.private-account-email:hover,.private-account-email:focus-visible{filter:none;-webkit-user-select:text;user-select:text}.private-account-email:focus-visible{outline:1px solid rgba(58,163,255,.55);outline-offset:2px}.provider-settings-form{overflow:visible;position:relative;z-index:1}.provider-settings-form>.account-list-heading{border-bottom:0}.provider-state-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;max-width:150px;border-radius:999px;padding:0 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;background:#ffffff14;color:#bdbdbd}.provider-state-pill.muted{background:#ffffff14;color:#bdbdbd}.provider-row-status.muted{color:#bdbdbd}.provider-state-pill.ready{background:#50c87821;color:#8ddfa8}.provider-state-pill.configured{background:#3aa3ff21;color:#8fc8ff}.provider-state-pill.warning{background:#ff7a2f21;color:#ffad7d}.provider-manager-panel{border:1px solid var(--border);border-radius:16px;background:#181818;overflow:hidden}.provider-manager-scroll{display:grid;max-height:568px;overflow-y:auto;scrollbar-color:#343434 #161616;scrollbar-width:thin}.provider-manager-heading{align-items:center}.provider-manager-title-row{display:inline-flex;align-items:center;gap:12px;min-width:0}.settings-check-row.provider-subscription-filter{display:inline-flex;align-items:center;gap:6px;grid-template-columns:none;max-width:none;padding:0;color:#bdbdbd;font-size:12px;white-space:nowrap;cursor:pointer}.settings-check-row.provider-subscription-filter>span{display:block;min-width:0}.settings-check-row.provider-subscription-filter input[type=checkbox]{width:14px;height:14px;margin:0;border-radius:4px}.settings-check-row.provider-subscription-filter input[type=checkbox]:before{width:7px;height:4px}.provider-manager-empty{border:0;border-radius:0;background:transparent;padding:22px 16px}.provider-manager-scroll::-webkit-scrollbar,.provider-details-dialog::-webkit-scrollbar{width:10px}.provider-manager-scroll::-webkit-scrollbar-track,.provider-details-dialog::-webkit-scrollbar-track{background:#161616}.provider-manager-scroll::-webkit-scrollbar-thumb,.provider-details-dialog::-webkit-scrollbar-thumb{border:2px solid #161616;border-radius:999px;background:#343434}.provider-manager-scroll::-webkit-scrollbar-thumb:hover,.provider-details-dialog::-webkit-scrollbar-thumb:hover{background:#464646}.provider-manager-row{display:grid;grid-template-columns:44px minmax(160px,1fr) minmax(240px,.82fr) auto;align-items:center;gap:14px;min-height:48px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.provider-manager-row:last-child{border-bottom:0}.provider-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:28px}.provider-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.provider-toggle input:disabled{cursor:default}.provider-toggle span{position:relative;width:34px;height:20px;border-radius:999px;background:#ffffff1f;transition:background .12s ease}.provider-toggle span:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#b8b8b8;transition:transform .12s ease,background .12s ease}.provider-toggle input:checked+span{background:#06b6d452}.provider-toggle input:checked+span:after{transform:translate(14px);background:var(--cyan)}.provider-toggle input:focus-visible+span{outline:1px solid rgba(6,182,212,.6);outline-offset:2px}.provider-toggle input:disabled+span{opacity:.48}.provider-row-main{min-width:0}.provider-row-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#f2f2f2}.provider-row-status{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;color:#bdbdbd;font-size:12px}.provider-row-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-row-status.ready{color:var(--cyan)}.provider-row-status.configured{color:#8fc8ff}.provider-row-status.warning{color:#ffad7d}.provider-row-status .settings-spin{flex:0 0 auto}.provider-details-button{width:86px}.provider-dialog-backdrop{z-index:90}.provider-details-dialog{width:min(760px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 52px));overflow:auto;scrollbar-color:#343434 #161616;scrollbar-width:thin}.provider-dialog-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;padding:20px 48px 16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.provider-dialog-header h2{margin:0;color:#f6f6f6;font-size:18px;font-weight:620}.provider-dialog-header span{color:#9b9b9b;font-size:12px}.provider-dialog-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:8px 20px 14px}.provider-dialog-stats div{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:10px;min-height:32px}.provider-dialog-stats .provider-dialog-error{grid-column:1 / -1}.provider-dialog-stats dt{color:#9b9b9b;font-size:12px}.provider-dialog-stats dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f2f2f2;font-size:13px}.provider-dialog-body{display:grid;gap:12px;padding-bottom:6px}.provider-card-form{display:grid;gap:12px;padding:0 20px 16px}.provider-card-form+.provider-card-form{padding-top:2px;border-top:1px solid rgba(255,255,255,.06)}.provider-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.provider-mode-tabs{justify-self:stretch;width:auto;margin:12px 20px 0}.provider-credential-panel,.provider-subscription-panel{display:grid;gap:12px;min-width:0}.credential-form .provider-dialog-note{margin:0}.provider-credential-panel .settings-button-row,.provider-subscription-panel .settings-button-row{padding:0}.provider-dialog-note{display:flex;align-items:center;gap:8px;margin:0 20px 20px;border:1px solid rgba(255,122,47,.22);border-radius:10px;background:#ff7a2f14;padding:10px 12px;color:#ffad7d;font-size:13px}.provider-dialog-note.xai-provider-note,.provider-dialog-note.subscription-provider-note{border-color:#3aa3ff33;background:#3aa3ff14;color:#9bd0ff}.provider-dialog-note code{border-radius:4px;background:#ffffff14;padding:1px 4px;color:#f2f2f2;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.codex-provider-actions{padding:0 20px 20px}.provider-validation-message strong{white-space:pre-line}.account-dialog-advanced-fields{display:grid;gap:12px}.provider-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 16px 12px}.provider-settings-grid.single{grid-template-columns:minmax(0,1fr);max-width:380px}.settings-path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;max-width:640px;padding:14px 16px 12px}.lsp-language-list{display:grid}.lsp-language-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(150px,.7fr) minmax(180px,1.2fr);align-items:end;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.lsp-language-row:last-child{border-bottom:0}.lsp-language-label{display:grid;gap:4px;min-width:0;padding-bottom:7px}.lsp-language-label strong{color:#f6f6f6;font-size:13px;font-weight:550}.lsp-language-label span{color:#9b9b9b;font-size:12px}.lsp-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto}.lsp-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:0 9px;white-space:nowrap;font-size:12px;background:#242424;color:#bdbdbd}.lsp-status-pill.found{background:#50c87821;color:#8ddfa8}.lsp-status-pill.missing,.lsp-status-pill.error{background:#ff7a2f21;color:#ffad7d}.lsp-status-pill.disabled{background:#ffffff14;color:#a8a8a8}.settings-select-field{position:relative;display:grid;gap:6px;min-width:0}.settings-select-field span{color:#9b9b9b;font-size:12px}.settings-select-field small{min-width:0;color:#8f8f8f;font-size:11px;line-height:1.35}.settings-select-field input,.settings-select-field select{width:100%;min-width:0;height:36px;border:1px solid rgba(255,255,255,.08);border-radius:8px;outline:0;background:#101010;color:var(--text);padding:0 10px;font-size:13px}.settings-select-field select{appearance:none;background:linear-gradient(45deg,transparent 50%,#9b9b9b 50%) calc(100% - 16px) 50% / 5px 5px no-repeat,linear-gradient(135deg,#9b9b9b 50%,transparent 50%) calc(100% - 11px) 50% / 5px 5px no-repeat,#101010;padding-right:32px}.settings-select-field input:focus,.settings-select-field select:focus{border-color:#06b6d480}.settings-check-row{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;max-width:560px;padding:2px 16px 16px;color:var(--text)}.settings-check-row input[type=checkbox]{-webkit-appearance:none;appearance:none;display:grid;place-content:center;width:16px;height:16px;margin:2px 0 0;border:1px solid rgba(255,255,255,.18);border-radius:5px;outline:0;background:#101010;cursor:pointer;transition:border-color .12s ease,background .12s ease,opacity .12s ease}.settings-check-row input[type=checkbox]:before{content:"";width:8px;height:5px;margin-top:-1px;border-bottom:2px solid #061317;border-left:2px solid #061317;transform:rotate(-45deg) scale(0);transition:transform .12s ease}.settings-check-row input[type=checkbox]:checked{border-color:#06b6d4e0;background:var(--cyan)}.settings-check-row input[type=checkbox]:checked:before{transform:rotate(-45deg) scale(1)}.settings-check-row input[type=checkbox]:focus-visible{outline:2px solid rgba(6,182,212,.35);outline-offset:2px}.settings-check-row input[type=checkbox]:disabled{cursor:not-allowed;opacity:.48}.settings-check-row span{display:grid;gap:4px;min-width:0}.settings-check-row strong{font-size:13px;font-weight:500}.settings-check-row small{color:#8d8d8d;font-size:12px;line-height:1.4}.settings-check-row.compact{padding:0}.settings-check-row.inline{max-width:none}.subagents-settings{max-width:980px}.subagent-settings-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:0}.subagent-settings-title-row h1{margin:0}.subagent-settings-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.subagent-settings-form{display:grid;gap:18px;min-width:0}.subagent-settings-section{display:grid;gap:12px;min-width:0;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}.subagent-settings-card-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0}.subagent-settings-card-header>div{min-width:0}.subagent-settings-card-header>div>span{min-width:0;overflow:hidden;color:#f2f2f2;font-size:14px;font-weight:620;text-overflow:ellipsis;white-space:nowrap}.subagent-settings-card-header>div>small{min-width:0;color:#9b9b9b;font-size:12px;line-height:1.35}.subagent-field-grid{display:grid;gap:12px;min-width:0}.subagent-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.subagent-field-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.subagent-role-list{display:grid;min-width:0}.subagent-role-row{display:grid;gap:12px;min-width:0;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.subagent-role-row:first-child{padding-top:0}.subagent-role-row.disabled{opacity:.64}.subagent-role-header{grid-template-columns:minmax(0,1fr) auto}.subagent-role-title{display:grid;gap:3px;min-width:0}.subagent-role-title span,.subagent-role-title small{min-width:0;overflow:hidden;text-overflow:ellipsis}.subagent-role-title span{color:#f2f2f2;font-size:14px;font-weight:620;white-space:nowrap}.subagent-role-title small{color:#9b9b9b;font-size:12px;line-height:1.35}.subagent-role-controls{display:grid;grid-template-columns:minmax(220px,1.25fr) repeat(3,minmax(140px,.75fr));align-items:end;gap:12px;min-width:0}.subagent-role-budget-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));align-items:end;gap:12px;min-width:0}.subagents-settings .provider-toggle{width:44px;height:30px}.subagents-settings .provider-toggle>span{width:40px;height:22px;border:1px solid rgba(255,255,255,.1);background:#ffffff1a}.subagents-settings .provider-toggle>span:after{top:2px;left:2px;width:16px;height:16px;background:#a9a9a9}.subagents-settings .provider-toggle input:checked+span{border-color:#06b6d46b;background:#06b6d442}.subagents-settings .provider-toggle input:checked+span:after{transform:translate(18px);background:var(--cyan)}@media(max-width:820px){.subagent-field-grid.two,.subagent-field-grid.four,.subagent-role-controls,.subagent-role-budget-grid{grid-template-columns:minmax(0,1fr)}}.settings-radio-group{display:grid;gap:10px;padding:0 16px 16px;max-width:640px}.settings-radio-row{display:flex;align-items:flex-start;gap:10px;min-width:0;color:var(--text)}.settings-radio-row input{margin-top:3px}.settings-radio-row span{display:grid;gap:4px;min-width:0}.settings-radio-row strong{font-size:13px;font-weight:500}.settings-radio-row small{color:#8d8d8d;font-size:12px;line-height:1.4}.personalization-editor{padding:0 16px 14px}.settings-select-field textarea{width:100%;min-width:0;min-height:210px;resize:vertical;border:1px solid rgba(255,255,255,.08);border-radius:8px;outline:0;background:#101010;color:var(--text);padding:11px 12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.settings-select-field textarea:focus{border-color:#3aa3ff73}.settings-button-row{display:flex;flex-wrap:wrap;gap:10px;padding:0 16px 16px}@media(max-width:820px){.provider-status-grid,.provider-card-grid,.provider-deferred-grid{grid-template-columns:minmax(0,1fr)}.provider-state-pill{position:static;justify-self:start;margin:0 16px 10px}.provider-status-card>.account-list-heading{padding-right:16px}}.settings-button-row.compact{padding:0}.settings-heading-actions{display:inline-flex;align-items:center;gap:9px;min-width:0}.settings-heading-actions small{min-width:0}.settings-heading-input{width:min(240px,34vw);min-width:120px;height:32px;border:1px solid rgba(255,255,255,.08);border-radius:8px;outline:0;background:#101010;color:var(--text);padding:0 10px;font-size:13px}.settings-heading-input:focus{border-color:#3aa3ff73}.settings-primary,.settings-secondary,.settings-icon-button,.inline-action{display:inline-flex;align-items:center;justify-content:center;border:0;background:#2a2a2a;color:#f5f5f5}.settings-primary{gap:7px;height:34px;margin:0 16px 16px;border-radius:10px;padding:0 12px;font-size:13px}.settings-secondary{gap:7px;height:34px;border-radius:10px;padding:0 12px;font-size:13px}.settings-secondary.compact{height:28px;border-radius:8px;padding:0 9px;font-size:12px}.settings-icon-button{width:32px;height:32px;border-radius:8px;padding:0}.settings-icon-button.primary,.settings-icon-button.active{background:#353535;color:#fff}.settings-icon-button.ghost{background:transparent;color:#a8a8a8}.settings-button-row .settings-primary,.settings-button-row .settings-icon-button{margin:0}.settings-primary:hover:not(:disabled),.settings-secondary:hover:not(:disabled),.settings-icon-button:hover:not(:disabled),.inline-action:hover:not(:disabled){background:#363636}.settings-icon-button.ghost:hover:not(:disabled){background:#ffffff0f;color:#fff}.settings-primary:disabled,.settings-secondary:disabled,.settings-icon-button:disabled,.inline-action:disabled{opacity:.5}.subagent-save-button{margin:0}.subagent-save-button.dirty:not(:disabled){background:var(--cyan);color:#061317}.subagent-save-button.dirty:hover:not(:disabled){background:#22d3ee}.settings-spin{animation:settings-spin .9s linear infinite}@media(max-width:820px){.provider-manager-row{grid-template-columns:36px minmax(120px,1fr) minmax(120px,.8fr) auto;gap:10px}.provider-details-button{width:74px}.provider-card-grid,.provider-dialog-stats,.subagent-role-controls,.provider-dialog-header{grid-template-columns:minmax(0,1fr)}}@keyframes settings-spin{to{transform:rotate(360deg)}}.account-list{overflow:hidden}.account-list-heading{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--border);color:#f5f5f5;font-size:13px}.account-list-note{margin:0;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06);color:#9b9b9b;font-size:12px}.account-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.account-row:last-child{border-bottom:0}.profile-footline{color:#9b9b9b;font-size:11px}.profile-footline.warning{color:#ffad7d}.profile-control-panel{display:grid;gap:12px;padding:0}.profile-control-panel.inline{margin-top:10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#ffffff06;padding:14px 16px}.profile-control-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.profile-control-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-start;gap:8px}.profile-hosted-status{display:inline-flex;align-items:center;min-height:32px;gap:7px;border-left:1px solid var(--border);margin-left:2px;padding-left:12px;color:var(--muted);white-space:nowrap}.profile-hosted-status>span{font-size:11px}.profile-hosted-status>strong{max-width:180px;overflow:hidden;color:var(--text);font-size:12px;font-weight:560;text-overflow:ellipsis}.profile-local-status{min-width:0;max-width:min(520px,48vw);overflow:hidden;color:var(--muted);font-size:11px;line-height:1.4;text-align:right;text-overflow:ellipsis;white-space:nowrap}.profile-local-status.dirty,.profile-local-status.pending_commit{color:#d7ae59}.profile-local-status.error{color:#db7779}.profile-commit-dialog,.profile-path-dialog,.profile-sync-dialog{width:min(460px,calc(100vw - 34px))}.profile-sync-dialog{width:min(520px,calc(100vw - 34px))}.profile-sync-explainer{margin:0;color:#b8b8b8;font-size:12px;line-height:1.5}.profile-dialog-summary{display:grid;gap:4px;min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff09;padding:10px 12px}.profile-dialog-summary strong,.profile-dialog-summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dialog-summary strong{color:#f6f6f6;font-size:13px;font-weight:620}.profile-dialog-summary span{color:#aaa;font-size:12px}.profile-dialog-diff-list{display:grid;gap:7px;max-height:min(260px,36vh);overflow:auto;scrollbar-color:#484848 transparent}.profile-dialog-diff-row{display:grid;gap:3px;min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#ffffff06;padding:9px 10px}.profile-dialog-diff-row.warning{border-color:#ffc45738;background:#ffc45714}.profile-dialog-diff-row strong,.profile-dialog-diff-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-dialog-diff-row strong{color:#f4f4f4;font-size:12px;font-weight:620}.profile-dialog-diff-row span{color:#aaa;font-size:12px}.profile-dialog-warning{border:1px solid rgba(255,122,47,.28);border-radius:9px;background:#ff7a2f17;color:#ffad7d;padding:9px 10px;font-size:12px}.profile-commit-dialog .git-dialog-footer,.profile-path-dialog .git-dialog-footer,.profile-sync-dialog .git-dialog-footer{flex-wrap:wrap}.account-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:17px;background:#06b6d41f;color:var(--cyan);font-weight:650;overflow:hidden}.account-avatar img{width:100%;height:100%;object-fit:cover}.account-details{display:grid;gap:3px;min-width:0}.account-details strong,.account-details span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-details strong{color:#f6f6f6;font-size:14px;font-weight:550}.account-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.active-pill,.account-state{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:12px;padding:0 9px;white-space:nowrap;font-size:12px}.active-pill{background:#3aa3ff24;color:#77bdff}.inline-action{gap:5px;min-height:24px;border-radius:12px;padding:0 10px;white-space:nowrap;font-size:12px}.inline-action.danger{background:#eb57571a;color:#ff9b9b}.inline-action.danger:hover:not(:disabled){background:#eb57572e;color:#ffc0c0}.account-remove-action{width:24px;padding:0}.account-state{background:#242424;color:#bdbdbd}.account-state.signed_in{background:#50c87821;color:#8ddfa8}.account-state.signed_out,.account-state.auth_error{background:#ff7a2f21;color:#ffad7d}.account-state.ready{background:#50c87821;color:#8ddfa8}.account-state.warning{background:#ffc45724;color:#ffd38a}.account-state.loading{background:#3aa3ff24;color:#77bdff}.account-state.disabled{background:#ffffff12;color:#858585}.empty-account-list{display:grid;gap:5px;padding:18px 16px}.empty-account-list strong{color:#f5f5f5;font-size:14px}.product-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.product-row:last-child{border-bottom:0}.product-row div{display:grid;gap:3px;min-width:0}.product-row strong,.product-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-row strong{color:#f6f6f6;font-size:13px;font-weight:550}.profile-agent-list{border:0;border-radius:0;background:transparent}.profile-agent-list-heading{border-bottom:0;padding:0 0 10px}.profile-table-frame{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.profile-data-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.profile-agent-table{min-width:600px}.profile-agent-column{width:38%}.profile-action-column{width:18%}.profile-check-column{width:16%}.profile-sync-column{width:28%}.profile-data-table th,.profile-data-table td{min-width:0;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07);padding:12px 14px;text-align:left;vertical-align:middle}.profile-data-table th:last-child,.profile-data-table td:last-child{border-right:0}.profile-data-table tbody tr:last-child td{border-bottom:0}.profile-data-table th{padding-block:10px;background:var(--panel-soft);color:#858585;font-size:11px;font-weight:560}.profile-data-table strong,.profile-data-table span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-data-table strong{color:#f6f6f6;font-size:13px;font-weight:550}.profile-skill-list{border:0;border-radius:0;background:transparent}.profile-skill-heading-actions{display:inline-flex;align-items:center;gap:10px}.profile-skill-table{min-width:820px}.profile-skill-name-column{width:23%}.profile-skill-trigger-column{width:29%}.profile-skill-status-column{width:10%}.profile-skill-source-column{width:22%}.profile-skill-actions-column{width:16%}.profile-skill-description{overflow:hidden;color:#a9a9a9;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.profile-skill-source{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-skill-actions{display:inline-flex;align-items:center;gap:8px;min-width:0}.profile-agent-table .profile-schedule-actions{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.profile-schedule-expression{flex:1 1 auto;min-width:0;color:#a9a9a9;font-size:12px;text-align:right}.profile-agent-table .profile-schedule-controls{display:inline-flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;gap:6px;min-width:max-content;white-space:nowrap}.profile-schedule-button{width:28px;height:28px;flex:0 0 auto}.profile-agent-list-note{padding:8px 16px 12px}.profile-agent-identity{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.profile-agent-identity>div{display:grid;gap:3px;min-width:0}.profile-agent-action{min-width:0}.profile-agent-action span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9a9a9;font-size:12px}.profile-status-text{display:inline-flex;align-items:center;gap:6px;min-width:0;color:#bdbdbd;font-size:12px;white-space:nowrap}.profile-status-text:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor;opacity:.85}.profile-status-text.ready{color:#8ddfa8}.profile-status-text.warning{color:#ffd38a}.profile-status-text.loading{color:#77bdff}.profile-status-text.disabled{color:#858585}@container profile-view (max-width: 840px){.profile-control-toolbar{align-items:flex-start;flex-direction:column}.profile-local-status{max-width:100%;text-align:left}}.settings-footnote{display:flex;justify-content:space-between;gap:18px;min-width:0;max-width:100%;padding:12px 16px}.settings-footnote.warning{border-color:#ff7a2f3d}.settings-footnote strong{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word;color:#d9d9d9;font-size:12px;font-weight:500}.account-build-footnote{align-items:center}.account-build-details{display:grid;gap:4px;min-width:0}.account-build-version,.account-build-actions{display:flex;align-items:center;gap:8px}.account-build-context{display:inline-flex;align-items:center;min-height:20px;border-radius:999px;padding:0 7px;background:#ffffff14;color:#bdbdbd;font-size:11px;font-weight:500}.account-build-context.development{background:#3aa3ff21;color:#8fc8ff}.account-build-actions{flex:0 0 auto;justify-content:flex-end}.account-build-actions .settings-primary,.account-build-actions .settings-secondary{margin:0}.account-build-actions .settings-primary.compact{height:28px;border-radius:8px;padding:0 9px;font-size:12px}.account-error-footnote{align-items:flex-start}.account-error-footnote strong{flex:1 1 420px;max-width:min(620px,75%);color:#ffbd96;line-height:1.45;text-align:right}.diagnostics-log-panel{overflow:hidden}.diagnostics-log-actions{justify-content:flex-end;flex-wrap:wrap}.diagnostics-error-list{display:grid;align-content:start;max-height:min(34vh,340px);overflow:auto;scrollbar-color:#424242 transparent}.diagnostics-error-entry{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.06);color:#ffb0a4;content-visibility:auto;contain-intrinsic-size:86px}.diagnostics-error-entry:first-child{border-top:0}.diagnostics-error-entry svg{margin-top:2px;color:#ff8f7d}.diagnostics-error-body{display:grid;gap:6px;min-width:0}.diagnostics-error-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;min-width:0}.diagnostics-error-title strong{min-width:0;color:#f4f4f4;font-size:13px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.diagnostics-error-title time,.diagnostics-error-meta{color:#9b9b9b;font-size:12px}.diagnostics-error-meta{display:flex;flex-wrap:wrap;gap:6px}.diagnostics-error-meta span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagnostics-error-detail{min-width:0}.diagnostics-error-detail summary{width:fit-content;cursor:pointer;color:#d8d8d8;font-size:12px}.diagnostics-error-detail pre{max-height:180px;margin:8px 0 0;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0f0f0f;color:#dcdcdc;padding:9px 10px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.diagnostics-error-empty{display:grid;place-items:center;min-height:120px;color:#8f8f8f;font-size:13px}.diagnostics-log-viewer{display:grid;align-content:start;max-height:min(46vh,420px);min-height:260px;overflow:auto;background:#0f0f0f;scrollbar-color:#424242 transparent}.diagnostics-log-entry{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;min-width:max-content;padding:5px 12px;border-bottom:1px solid rgba(255,255,255,.045);content-visibility:auto;contain-intrinsic-size:26px}.diagnostics-log-source{color:#8f8f8f;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:nowrap}.diagnostics-log-entry code{color:#dcdcdc;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:pre}.diagnostics-log-empty{display:grid;place-items:center;min-height:260px;color:#8f8f8f;font-size:13px}.diagnostics-log-dir{display:flex;justify-content:space-between;gap:18px;padding:10px 14px;border-top:1px solid rgba(255,255,255,.06)}.diagnostics-log-dir span{color:#9b9b9b;font-size:12px}.diagnostics-log-dir strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d9d9d9;font-size:12px;font-weight:500}.remote-access-summary{align-items:flex-start}.remote-access-summary .account-summary-actions{flex-wrap:wrap}.remote-access-icon,.remote-access-peer-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:17px;background:#ffffff12;color:#9d9d9d}.remote-access-icon.configured{background:#3aa3ff21;color:#77bdff}.remote-access-icon.online{background:#50c87821;color:#8ddfa8}.remote-access-link-heading{align-items:center}.remote-access-link-heading>div{display:grid;gap:3px;min-width:0}.remote-access-link-heading span,.remote-access-link-heading small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remote-access-value-row{align-items:flex-start}.remote-access-value-row div{gap:6px}.remote-access-value-row strong.flash{animation:remote-access-title-flash 1.5s ease-out}.remote-access-value-row code{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dcdcdc;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.remote-access-peer-row{grid-template-columns:38px minmax(0,1fr) auto auto}.remote-access-environment{display:grid}.remote-access-environment-row{display:grid;min-height:62px;border-bottom:1px solid rgba(255,255,255,.06)}.remote-access-environment-row:last-child{border-bottom:0}.remote-access-environment-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.remote-access-environment-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.remote-access-environment-cell{display:grid;align-content:center;gap:5px;min-width:0;padding:12px 16px;border-right:1px solid rgba(255,255,255,.06)}.remote-access-environment-cell:last-child{border-right:0}.remote-access-environment-cell strong,.remote-access-environment-cell span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remote-access-environment-cell strong{color:#f6f6f6;font-size:13px;font-weight:550}.remote-access-environment-cell span{color:#9b9b9b;font-size:12px}.remote-access-peer-dot{width:11px;height:11px;justify-self:center;border-radius:999px;background:#555}.remote-access-peer-dot.online{background:#58d68d;box-shadow:0 0 0 4px #58d68d1f}.remote-access-config{overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#181818}.remote-access-config pre{max-height:260px;margin:0;overflow:auto;background:#0f0f0f;color:#dcdcdc;padding:14px 16px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;white-space:pre}@keyframes remote-access-title-flash{0%,to{color:#f6f6f6;text-shadow:none}18%,55%{color:#ffbc8f;text-shadow:0 0 12px rgba(255,156,86,.35)}}@media(max-width:720px){.remote-access-environment-row.three,.remote-access-environment-row.two{grid-template-columns:1fr}.remote-access-environment-cell{min-height:56px;border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}.remote-access-environment-cell:last-child{border-bottom:0}}.compute-settings{gap:16px}.compute-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.compute-title-row h1{margin:0}.dataset-storage-intro{max-width:680px;margin:7px 0 0;color:#999;font-size:13px;line-height:1.5}.dataset-storage-list{min-width:0}.dataset-storage-row small.dataset-storage-error{color:#df8e8e}.compute-summary-main{grid-template-columns:minmax(0,1fr)}.compute-section-heading{padding:4px 2px 0;border:0}.compute-device-default{padding-top:0}.model-storage-picker{display:grid;gap:6px;max-width:640px;padding:14px 16px 16px}.model-storage-label{color:#9b9b9b;font-size:12px;white-space:nowrap}.model-storage-control-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px}.model-storage-select{width:100%;min-width:0;height:36px;border:1px solid rgba(255,255,255,.08);border-radius:8px;outline:0;appearance:none;background:linear-gradient(45deg,transparent 50%,#9b9b9b 50%) calc(100% - 16px) 50% / 5px 5px no-repeat,linear-gradient(135deg,#9b9b9b 50%,transparent 50%) calc(100% - 11px) 50% / 5px 5px no-repeat,#101010;color:var(--text);padding:0 32px 0 10px;font-size:13px}.model-storage-select:focus{border-color:#06b6d480}.model-storage-add{width:36px;height:36px}.model-storage-dialog{width:min(520px,calc(100vw - 34px))}.model-storage-dialog-note{border:1px solid rgba(143,200,255,.16);border-radius:9px;background:#8fc8ff12;color:#b4cae0;padding:9px 10px;font-size:12px;line-height:1.45}.compute-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-top:1px solid var(--border)}.compute-row:first-of-type{border-top:0}.compute-row>div{display:grid;gap:4px;min-width:0}.compute-row strong{color:#f1f1f1;font-size:13px;font-weight:570}.compute-row small{overflow-wrap:anywhere;color:#9b9b9b;font-size:12px}.compute-row>span{flex:0 0 auto;color:#b7b7b7;font-size:12px}.compute-diagnostics{border:1px solid var(--border);border-radius:12px;color:#b7b7b7;padding:12px 14px;font-size:12px}.compute-diagnostics summary{color:#dedede;cursor:pointer}.compute-diagnostics ul{margin:10px 0 0;padding-left:18px}.compute-heading-actions{display:flex;align-items:center;gap:8px}.compute-download-row{display:grid;gap:10px;padding:13px 16px;border-top:1px solid var(--border)}.compute-download-row>div{display:grid;gap:4px}.compute-download-row strong{color:#f1f1f1;font-size:13px}.compute-download-row small{overflow-wrap:anywhere;color:#9b9b9b;font-size:12px}.compute-download-row progress{width:100%;height:5px;accent-color:var(--cyan)}@media(max-width:720px){.compute-row{align-items:flex-start;flex-direction:column;gap:7px}}.notification-settings-card{overflow:hidden}.notification-mode-list{display:grid}.notification-mode-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:11px;min-height:66px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;cursor:pointer}.notification-mode-option:last-child{border-bottom:0}.notification-mode-option:hover{background:#ffffff09}.notification-mode-option.selected{background:#3aa3ff13}.notification-mode-option input{width:15px;height:15px;margin:2px 0 0;accent-color:#3aa3ff}.notification-mode-option>span,.notification-thread-copy{display:grid;min-width:0;gap:4px}.notification-mode-option strong,.notification-thread-copy strong{color:#f4f4f4;font-size:13px;font-weight:560}.notification-mode-option small,.notification-thread-copy small{color:#9b9b9b;font-size:12px;line-height:1.4}.notification-thread-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.notification-thread-row:last-of-type{border-bottom:0}.notification-thread-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#3aa3ff1c;color:#8fc8ff}.notification-thread-icon.muted{background:#ffffff0f;color:#929292}.notification-settings-error{padding:11px 16px;border-top:1px solid rgba(255,98,98,.2);background:#ff626212;color:#ffb0b0;font-size:12px}@media(max-width:760px){.notification-thread-row{grid-template-columns:32px minmax(0,1fr)}.notification-thread-row>.settings-secondary{grid-column:2;justify-self:start}}.harness-history-settings{width:min(1080px,100%);max-width:none;margin-inline:auto}.harness-history-settings .account-settings-title>div{display:grid;gap:7px}.harness-history-settings .account-settings-title p,.harness-section-heading p{margin:0;color:#999;font-size:12px;line-height:1.5}.harness-page-title{align-items:flex-start}.harness-page-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.harness-page-header-actions .settings-primary,.harness-page-header-actions .settings-secondary{margin:0}.harness-page-toggle{display:flex;align-items:center;gap:8px;min-height:30px;color:#a8a8a8;font-size:11px;cursor:pointer}.harness-page-sections{display:grid;gap:28px}.harness-history-card time,.harness-route-card time,.harness-history-card footer,.harness-route-card small{color:#8f8f8f;font-size:11px}.harness-release-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.harness-release-row:last-child{border-bottom:0}.harness-release-row>div{display:grid;gap:4px;min-width:0}.harness-release-row strong{color:#f2f2f2;font-size:13px;font-weight:600}.harness-release-row span{color:#929292;font-size:11px}.harness-inline-actions,.harness-review-actions,.harness-history-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.harness-current-pill,.harness-status,.harness-validation-status{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#ffffff0a;color:#bdbdbd;padding:3px 7px;font-size:10px;font-weight:650}.harness-current-pill,.harness-status-advanced,.harness-validation-status.passed{border-color:#70b98b40;background:#70b98b1a;color:#9ed3b1}.harness-status-conflict,.harness-validation-status.failed,.harness-validation-status.blocked{border-color:#da707040;background:#da70701a;color:#e8a0a0}.harness-history-section{display:grid;gap:10px}.harness-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.harness-section-heading>div{display:grid;gap:5px}.harness-section-heading h2{margin:0;color:#f3f3f3;font-size:15px;font-weight:600}.harness-section-heading>span{color:#888;font-size:12px}.harness-section-heading>.harness-section-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.harness-section-actions .settings-primary,.harness-section-actions .settings-secondary{height:28px;margin:0;border-radius:8px;padding:0 9px;font-size:12px}.harness-history-card,.harness-route-card,.harness-empty{border:1px solid var(--border);border-radius:14px;background:#181818;padding:15px 16px}.harness-history-card{display:grid;gap:13px}.harness-history-card>header{display:flex;align-items:start;justify-content:space-between;gap:18px}.harness-history-card>header>div{display:grid;gap:7px;min-width:0}.harness-history-card h2{margin:0;color:#f1f1f1;font-size:14px;font-weight:600;line-height:1.4}.harness-history-card>p,.harness-route-card p{margin:0;color:#b5b5b5;font-size:12px;line-height:1.5}.harness-history-kicker{display:flex;align-items:center;gap:8px;color:#999;font-size:11px;text-transform:capitalize}.harness-history-release-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#878787;font-size:11px}.harness-history-release-flow code{color:#c8c8c8;font-size:11px}.harness-history-card footer{display:flex;justify-content:space-between;gap:12px;padding-top:2px}.harness-history-card footer code{color:#aaa;font-size:10px}.harness-review-metrics{display:flex;flex-wrap:wrap;gap:8px 16px;color:#929292;font-size:11px}.harness-review-metrics strong{color:#d4d4d4;font-weight:600}.harness-review-lineage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:10px}.harness-review-lineage>div{display:grid;gap:4px;padding:10px 11px;border-right:1px solid rgba(255,255,255,.06)}.harness-review-lineage>div:last-child{border-right:0}.harness-review-lineage span{color:#888;font-size:10px}.harness-review-lineage code{color:#bdbdbd;font-size:10px}.harness-review-lineage .linked code{color:#9ed3b1}.harness-qualification-card small{line-height:1.5}.harness-history-details{border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.harness-history-details summary{cursor:pointer;color:#cfcfcf;font-size:12px}.harness-edit-list{display:grid;gap:9px;margin-top:10px}.harness-edit{overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#111}.harness-edit>div{display:grid;gap:3px;padding:9px 11px}.harness-edit strong{color:#e7e7e7;font-size:11px;font-weight:600}.harness-edit span{color:#929292;font-size:11px}.harness-edit pre{max-height:340px;overflow:auto;margin:0;border-top:1px solid rgba(255,255,255,.06);padding:11px;color:#c9c9c9;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;white-space:pre-wrap}.harness-edit>p{margin:0;padding:10px 11px;color:#999;font-size:11px}.harness-validation-list{display:grid;gap:6px}.harness-validation-list>div{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;color:#999;font-size:11px}.harness-validation-list strong{color:#c8c8c8;font-size:11px;font-weight:600;text-transform:capitalize}.harness-route-card{display:grid;gap:8px}.harness-route-card>div{display:flex;align-items:center;gap:9px}.harness-route-card strong{color:#e7e7e7;font-size:12px;text-transform:capitalize}.harness-route-card time{margin-left:auto}.harness-empty{color:#989898;font-size:12px;line-height:1.5}.harness-empty.compact{border-radius:11px;padding:12px 14px}.harness-activity-list,.harness-disclosure-list{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:#181818}.harness-activity-list>article{display:grid;grid-template-columns:116px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;border-bottom:1px solid rgba(255,255,255,.06);padding:10px 14px}.harness-activity-list>article:last-child,.harness-disclosure-row:last-child{border-bottom:0}.harness-disclosure-list>.harness-empty{border:0;border-radius:0;background:transparent}.harness-activity-list>article>span,.harness-activity-list time{color:#8e8e8e;font-size:11px}.harness-activity-list>article>div{display:grid;gap:3px;min-width:0}.harness-activity-list strong{overflow:hidden;color:#e4e4e4;font-size:12px;font-weight:580;text-overflow:ellipsis;white-space:nowrap}.harness-activity-list small{color:#8f8f8f;font-size:10px;text-transform:capitalize}.harness-disclosure-row{border-bottom:1px solid rgba(255,255,255,.06)}.harness-disclosure-row>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:10px 14px;cursor:pointer;list-style:none}.harness-disclosure-row>summary::-webkit-details-marker{display:none}.harness-disclosure-row>summary:hover{background:#ffffff09}.harness-disclosure-row>summary:after{content:"›";grid-column:5;color:#777;font-size:17px;transition:transform .12s ease}.harness-disclosure-row[open]>summary:after{transform:rotate(90deg)}.harness-disclosure-row>summary strong{overflow:hidden;color:#e6e6e6;font-size:12px;font-weight:580;text-overflow:ellipsis;white-space:nowrap}.harness-disclosure-row>summary small,.harness-disclosure-row>summary time,.harness-disclosure-body>small{color:#8d8d8d;font-size:10px}.harness-disclosure-body{display:grid;gap:12px;border-top:1px solid rgba(255,255,255,.05);padding:14px}.harness-disclosure-body>p{margin:0;color:#b2b2b2;font-size:12px;line-height:1.5}.harness-compact-metadata{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0}.harness-compact-metadata>div{display:grid;gap:3px}.harness-compact-metadata dt{color:#818181;font-size:10px}.harness-compact-metadata dd{margin:0;color:#c3c3c3;font-size:11px}.harness-evidence-list{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}.harness-evidence-list li{display:grid;grid-template-columns:minmax(100px,1fr) auto auto;gap:12px;color:#999;font-size:10px}.harness-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#181818}.harness-table{width:100%;border-collapse:collapse;font-size:11px}.harness-table th{border-bottom:1px solid rgba(255,255,255,.08);color:#888;padding:9px 12px;text-align:left;font-weight:550}.harness-table td{border-bottom:1px solid rgba(255,255,255,.055);color:#aaa;padding:10px 12px;vertical-align:middle}.harness-table tbody tr:last-child td{border-bottom:0}.harness-table td code{color:#c7c7c7;font-size:10px}.harness-release-identity{display:grid;gap:3px}.harness-release-identity strong{color:#dfdfdf;font-size:11px;font-weight:600}.harness-release-table th:nth-child(4),.harness-release-table td:nth-child(4){text-align:right}.harness-release-table td:nth-child(4)>span{margin-left:auto}.harness-release-table td:last-child{width:1%;white-space:nowrap}.harness-refiner-table td:nth-child(2) strong{color:#e5e5e5;font-size:11px;font-weight:600}.harness-refiner-table td:last-child{width:1%;white-space:nowrap}.harness-table-icon-action{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:transparent;color:#999}.harness-table-icon-action:hover:not(:disabled),.harness-table-icon-action:focus-visible{border-color:#ffffff2b;background:#ffffff0e;color:#e1e1e1}.harness-table-icon-action:disabled{opacity:.45;cursor:not-allowed}.harness-route-table td:nth-child(1),.harness-route-table td:nth-child(2){max-width:360px;line-height:1.45}.harness-route-table td p{margin:0}.harness-route-table td:nth-child(1) p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.harness-route-table th:last-child,.harness-route-table td:last-child{width:1%;white-space:nowrap}.harness-review-status-table td{white-space:nowrap}.harness-details-dialog-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:#000000a6;padding:24px}.harness-details-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(720px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#181818;box-shadow:0 24px 80px #0000007a}.harness-details-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(255,255,255,.07);padding:16px 18px}.harness-details-dialog>header>div{display:grid;gap:7px}.harness-details-dialog h2,.harness-details-dialog h3,.harness-details-dialog p{margin:0}.harness-details-dialog h2{color:#eee;font-size:15px;font-weight:600;line-height:1.4}.harness-details-dialog h3{color:#ddd;font-size:12px;font-weight:600}.harness-details-dialog>header p{color:#999;font-size:11px;line-height:1.5}.harness-details-dialog>header>button{display:grid;flex:0 0 auto;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#999}.harness-details-dialog>header>button:hover{background:#ffffff0f;color:#eee}.harness-details-dialog-body{display:grid;gap:20px;overflow:auto;padding:18px}.harness-details-dialog-body>section{display:grid;gap:10px}.harness-details-dialog-body .harness-edit-list{margin-top:0}.harness-release-diff-sidebar{z-index:3;grid-template-rows:41px 42px minmax(0,1fr)}.harness-release-diff-sidebar .workspace-diff-topbar{border-bottom:1px solid var(--border)}.harness-release-diff-meta{justify-content:space-between;gap:12px;padding:0 12px;color:#9b9b9b;font-size:11px}.harness-release-diff-meta>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.harness-release-diff-meta code{flex:0 0 auto;color:#c6c6c6;font-size:10px}.harness-release-diff-body{min-width:0;min-height:0;overflow:hidden}.harness-release-diff-body>.workspace-file-preview,.harness-release-diff-body>.workspace-diff-preview{height:100%}.harness-release-diff-files{height:100%;overflow:auto}.harness-release-diff-summary{display:flex;align-items:center;gap:9px;min-height:38px;border-bottom:1px solid rgba(255,255,255,.06);padding:0 14px;color:#a8a8a8;font-size:11px}.harness-release-diff-summary>span:first-child{margin-right:auto}.harness-release-diff-file{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:9px;width:100%;min-height:38px;border:0;border-bottom:1px solid rgba(255,255,255,.055);background:transparent;color:#d1d1d1;padding:0 14px;text-align:left;font-size:11px}.harness-release-diff-file:hover,.harness-release-diff-file:focus-visible{background:#ffffff0e}.harness-release-diff-file>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.harness-release-diff-file small{font-size:10px}.harness-release-diff-status{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:6px;background:#ffffff0f;color:#aaa;font-size:10px;font-weight:700}.harness-release-diff-status.added{color:#9ed3b1}.harness-release-diff-status.deleted{color:#e8a0a0}.harness-release-diff-status.modified{color:#d8c18c}@media(max-width:640px){.harness-page-title{gap:16px}.harness-page-header-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.harness-history-card>header,.harness-section-heading{align-items:start;flex-direction:column}.harness-section-actions{width:100%}.harness-validation-list>div{grid-template-columns:auto minmax(0,1fr)}.harness-validation-list>div>span:last-child{grid-column:1 / -1}.harness-review-lineage{grid-template-columns:minmax(0,1fr)}.harness-review-lineage>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.06)}.harness-review-lineage>div:last-child{border-bottom:0}.harness-activity-list>article{grid-template-columns:minmax(0,1fr) auto}.harness-activity-list>article>span{grid-column:1 / -1}.harness-disclosure-row>summary{grid-template-columns:auto minmax(0,1fr) auto}.harness-disclosure-row>summary small{grid-column:2}.harness-disclosure-row>summary time{display:none}.harness-disclosure-row>summary:after{grid-column:3;grid-row:1}}@media(max-width:980px){.settings-shell.harness-diff-open>.workspace-diff-panel{position:fixed;inset:0;z-index:10;display:grid;width:100%;border-left:0}}.profile-catalog-list{border:0;border-radius:0;background:transparent}.profile-catalog-row{display:grid;grid-template-columns:minmax(180px,1.35fr) minmax(68px,.4fr) minmax(90px,.5fr) minmax(180px,1fr) auto;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:inherit;text-align:left;cursor:pointer}.profile-catalog-row:hover,.profile-catalog-row:focus-visible,.profile-catalog-row.selected{outline:0;background:#ffffff0b}.profile-catalog-row[aria-disabled=true]{cursor:wait;opacity:.6}.profile-catalog-source,.profile-catalog-summary{color:var(--muted);font-size:12px}.profile-remove-button{display:inline-flex;align-items:center;gap:6px}.profile-catalog-actions{display:inline-flex;align-items:center;gap:6px;overflow:visible}.profile-publication-dialog{width:min(720px,calc(100vw - 32px));max-height:min(880px,calc(100vh - 32px));overflow-y:auto}.profile-publication-fieldset{display:grid;gap:6px;margin:0;border:1px solid var(--border);border-radius:9px;padding:10px 12px 12px}.profile-publication-fieldset legend{padding:0 5px;color:var(--muted);font-size:12px;font-weight:600}.profile-publication-provider,.profile-publication-selection{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:6px;border-radius:7px}.profile-publication-selection{grid-template-columns:auto 1fr}.profile-publication-provider:hover,.profile-publication-selection:hover{background:#ffffff0a}.profile-publication-provider span,.profile-publication-selection span{display:grid;gap:2px;min-width:0}.profile-publication-provider small,.profile-publication-selection small,.profile-publication-empty{color:var(--muted);font-size:12px}.profile-publication-target-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.profile-add-source-options{display:flex;flex-wrap:wrap;gap:8px 16px}.profile-add-source-options label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.profile-publication-preview{display:grid;gap:9px}.profile-publication-warning{border-radius:7px;background:#ffc65817;color:#ffd38a;padding:8px 10px;font-size:12px}.profile-publication-file-list{display:grid;max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:8px}.profile-publication-file-list>div{display:flex;justify-content:space-between;gap:14px;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.055);font-family:var(--font-mono);font-size:11px}.profile-publication-file-list>div:last-child{border-bottom:0}.profile-publication-file-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-publication-file-list small{flex:0 0 auto;color:var(--muted)}.profile-publication-preview details code{display:block;padding:3px 0;color:var(--muted);font-size:11px}@container profile-view (max-width: 840px){.profile-catalog-row{grid-template-columns:1fr auto}.profile-catalog-source,.profile-catalog-summary{display:none}.profile-catalog-actions{grid-column:1 / -1;flex-wrap:wrap}}.skills-settings{max-width:980px}.skills-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.skills-settings-header h1{margin-bottom:8px}.skills-settings-header p{max-width:680px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.github-extensions-heading{align-items:center}.github-extensions-heading-actions,.github-extension-row-actions{display:flex;align-items:center;gap:8px}.github-extension-add{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr) minmax(150px,.55fr) auto;align-items:end;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,.06)}.github-extension-add-copy,.github-extension-add label,.github-extension-preview>div{display:grid;gap:5px}.github-extension-add-copy strong,.github-extension-preview strong{font-size:13px}.github-extension-add-copy span,.github-extension-add label>span,.github-extension-preview span{color:var(--muted);font-size:11px;line-height:1.45}.github-extension-add input{width:100%;height:34px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#0000002e;color:var(--text);padding:0 10px;outline:none}.github-extension-add input:focus{border-color:#22d3ee73}.github-extension-message{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.github-extension-message.error{color:#fca5a5;background:#f871710f}.github-extension-preview{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#22d3ee09}.github-extension-preview-skills{display:flex!important;flex-direction:row;flex-wrap:wrap;gap:6px!important}.github-extension-preview-skills>span{border-radius:999px;background:#ffffff0f;padding:4px 7px}.github-extension-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;border-bottom:1px solid rgba(255,255,255,.06)}.github-extension-row:last-child{border-bottom:0}.github-extension-open{display:grid;grid-template-columns:34px minmax(220px,1.2fr) minmax(180px,.8fr) auto 16px;align-items:center;gap:12px;min-width:0;min-height:76px;border:0;background:transparent;color:var(--text);padding:12px 0 12px 16px;text-align:left}.github-extension-open:hover,.github-extension-open:focus-visible{background:#ffffff0b}.github-extension-open:focus-visible{outline:1px solid rgba(34,211,238,.46);outline-offset:-1px}.github-extension-open:disabled{cursor:default;opacity:.64}.github-extension-row-actions{padding-right:16px}.github-extension-row-actions .danger:hover:not(:disabled){color:#fca5a5;background:#f8717117}.native-skills-list{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff05}.personal-skill-row{cursor:default}.personal-skill-row:hover{background:transparent}.skills-settings-empty{padding:18px 16px;color:var(--muted);font-size:12px}.native-skill-row{display:grid;grid-template-columns:34px minmax(220px,1.2fr) minmax(180px,.8fr) auto 16px;align-items:center;gap:12px;width:100%;min-height:72px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:var(--text);padding:12px 16px;text-align:left}.native-skill-row:last-child{border-bottom:0}.native-skill-row:hover,.native-skill-row:focus-visible{background:#ffffff0b}.native-skill-row:focus-visible{outline:1px solid rgba(34,211,238,.46);outline-offset:-1px}.native-skill-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#22d3ee17;color:#67e8f9}.native-skill-identity,.native-skill-provider{display:grid;gap:4px;min-width:0}.native-skill-identity strong,.native-skill-provider strong,.native-skill-identity span,.native-skill-provider span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.native-skill-identity strong{font-size:13px;font-weight:620}.native-skill-identity span,.native-skill-provider span{color:var(--muted);font-size:11px}.native-skill-provider strong{color:#d8d8d8;font-size:12px;font-weight:560}.native-skill-provider span{font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.native-skill-status{border-radius:999px;background:#4ade8017;color:#86efac;padding:5px 8px;font-size:10px;font-weight:650;white-space:nowrap}.native-skill-status.invalid{background:#f8717117;color:#fca5a5}.native-skill-row>svg{color:#737373}@media(max-width:760px){.skills-settings-header{flex-direction:column;gap:12px}.native-skill-row{grid-template-columns:34px minmax(0,1fr) 16px}.github-extension-add{grid-template-columns:1fr;align-items:stretch}.github-extension-preview{grid-template-columns:1fr}.github-extension-row{grid-template-columns:minmax(0,1fr) auto}.github-extension-open{grid-template-columns:34px minmax(0,1fr) 16px}.github-extension-open .native-skill-provider,.github-extension-open .native-skill-status,.native-skill-provider,.native-skill-status{display:none}}
@@ -1,3 +1,3 @@
1
- import{j as t,r as o}from"./index-D-VK8mST.js";/* empty css */import{cj as X,X as R,ck as le,cl as Y,ai as re,am as E,o as ce,ap as de,ar as me,cm as ue,cn as ge,co as he,ay as fe,cp as xe,cq as ve}from"./App-DfiCmBv6.js";import{R as L,g as U}from"./MainPane-k1iII9e9.js";import{M as N}from"./MarkdownText-N60tvLug.js";import{T as ye,B as T}from"./chat-file-links-CqfMdhHQ.js";import{R as G}from"./refresh-cw-DSJZXa8S.js";import{r as Ce}from"./index-D-WCyNdJ.js";import"./cloud-upload-CUVFzURz.js";import"./arrow-up-right-C7VWgGQP.js";import"./square-B2roZTxf.js";import"./desktop-files-BQj1J-ob.js";function be(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 c=n.handle?.toLowerCase(),r=n.name.toLowerCase().replace(/[^a-z0-9_-]+/g,"-");return c&&s.has(c)||s.has(r)}).map(n=>n.userId)}function je(e){return t.jsxs("div",{className:"team-chat-composer-reply",role:"status",children:[t.jsx(L,{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:X(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 we(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:X(e.target)})]})}function Te(e){const l=o.useRef(null);if(o.useEffect(()=>{if(!e.menu)return;l.current?.focus();const n=()=>e.onClose(),c=r=>{r.key==="Escape"&&n()};return window.addEventListener("click",n),window.addEventListener("blur",n),window.addEventListener("keydown",c),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("click",n),window.removeEventListener("blur",n),window.removeEventListener("keydown",c),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(L,{size:14}),"Reply"]})});return Ce.createPortal(s,document.body)}function Me(e){const c=e.clientX||e.fallbackX,r=e.clientY||e.fallbackY;return{x:Math.max(8,Math.min(c,e.viewportWidth-150-8)),y:Math.max(8,Math.min(r,e.viewportHeight-42-8))}}function V(e){return`team-chat-message-${encodeURIComponent(e)}`}function Re(e){const[l,s]=o.useState(!1),[n,c]=o.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"),y=typeof r?.preview.status=="string"?r.preview.status:null,h=typeof e.message.metadata.deliveryStatus=="string"?e.message.metadata.deliveryStatus:null,b=typeof e.message.metadata.uploadProgress=="string"?e.message.metadata.uploadProgress:null,d=!e.message.deletedAt&&!h,g=le(e.message,e.messagesById),C=g?Y(g,e.membersById):null;return t.jsxs("article",{id:V(e.message.id),className:`team-chat-message${e.own?" own":""}`,tabIndex:-1,onContextMenu:a=>{if(!d)return;a.preventDefault();const x=a.currentTarget.getBoundingClientRect();e.onOpenReplyMenu(e.message,{clientX:a.clientX,clientY:a.clientY,fallbackX:x.right-12,fallbackY:x.top+24})},children:[t.jsx(Ie,{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:Se(e.message.createdAt)}),e.message.editedAt?t.jsx("span",{children:"edited"}):null,h==="sending"?t.jsx("span",{children:"sending"}):null,h==="sending"&&b?t.jsxs("span",{children:["uploaded ",b]}):null,h==="failed"?t.jsx("span",{className:"failed",children:"not sent"}):null,h==="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(G,{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})})]}):d||e.own&&!e.message.deletedAt?t.jsxs("div",{className:"team-chat-message-actions",children:[d?t.jsx("button",{type:"button","data-tooltip":"Reply","aria-label":"Reply to message",onClick:()=>e.onReply(e.message),children:t.jsx(L,{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(re,{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(ye,{size:13})}):null]}):null]}),g&&C?t.jsx(we,{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(x=>{x&&s(!1)})},children:[t.jsx("textarea",{autoFocus:!0,value:n,onChange:a=>c(a.currentTarget.value),onKeyDown:a=>{a.key==="Escape"&&(a.preventDefault(),s(!1),c(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(Ae,{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(E,{size:14}),t.jsx("span",{children:"Thread"}),y&&y!=="completed"?t.jsx("small",{children:K(y)}):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:K(String(m.preview.status??"queued"))}),t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null]})]})}function Ae(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(Pe,{attachmentId:s.id,alt:s.name,teamId:e.message.teamId,connection:e.connection,localUrl:l.get(s.clientAttachmentId)??null},s.id))})}function Pe(e){const[l,s]=o.useState(e.localUrl),[n,c]=o.useState(!1),r=o.useRef(0);async function m(){if(!e.connection||e.localUrl){e.localUrl||c(!0);return}c(!1);try{const y=await ce.teamChatAttachmentDownload(e.connection,e.teamId,e.attachmentId);s(y.url)}catch{s(null),c(!0)}}return o.useEffect(()=>{s(e.localUrl),c(!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),c(!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?(c(!1),s(e.localUrl)):m()},children:t.jsx(G,{size:18})}):t.jsx("div",{className:"team-chat-message-image-loading",role:"status","aria-label":`Loading ${e.alt}`})}function K(e){return e==="pending"?"Starting":e==="running"?"Responding":e==="failed"?"Failed":e==="interrupted"?"Interrupted":e==="cancelled"?"Cancelled":e}function Ie({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 Se(e){const l=new Date(e);return Number.isFinite(l.getTime())?l.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):""}const z={value:"none",label:"No project",detail:"Team conversation",options:[],busy:!1},D={value:"local",label:"Local",detail:"Local execution",options:[],action:{value:"local",label:"Local",detail:"Local execution",disabled:!1},busy:!1},Q=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"]);function ke(e,l){return!l||e===l?e:e?`${l}
1
+ import{j as t,r as o}from"./index-UOGdfLzi.js";/* empty css */import{cq as X,X as R,cr as le,cs as Y,ak as re,ao as N,o as ce,au as de,aw as me,ct as ue,cu as ge,cv as he,aE as fe,cw as xe,cx as ve}from"./App-C9aGkxVg.js";import{R as L,g as U}from"./MainPane-Gw-YK38n.js";import{M as E}from"./MarkdownText-DOlVQR8a.js";import{T as Ce,B as T}from"./chat-file-links-CWLsRYvW.js";import{R as G}from"./refresh-cw-B4IpQ_7Q.js";import{r as ye}from"./index-BEPmTPIA.js";import"./cloud-upload-uBJBUYTy.js";import"./arrow-up-right-_TX-awvK.js";import"./square-BJrVbmz6.js";import"./desktop-files-BQj1J-ob.js";function be(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 c=n.handle?.toLowerCase(),r=n.name.toLowerCase().replace(/[^a-z0-9_-]+/g,"-");return c&&s.has(c)||s.has(r)}).map(n=>n.userId)}function je(e){return t.jsxs("div",{className:"team-chat-composer-reply",role:"status",children:[t.jsx(L,{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:X(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 we(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:X(e.target)})]})}function Te(e){const l=o.useRef(null);if(o.useEffect(()=>{if(!e.menu)return;l.current?.focus();const n=()=>e.onClose(),c=r=>{r.key==="Escape"&&n()};return window.addEventListener("click",n),window.addEventListener("blur",n),window.addEventListener("keydown",c),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("click",n),window.removeEventListener("blur",n),window.removeEventListener("keydown",c),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(L,{size:14}),"Reply"]})});return ye.createPortal(s,document.body)}function Me(e){const c=e.clientX||e.fallbackX,r=e.clientY||e.fallbackY;return{x:Math.max(8,Math.min(c,e.viewportWidth-150-8)),y:Math.max(8,Math.min(r,e.viewportHeight-42-8))}}function V(e){return`team-chat-message-${encodeURIComponent(e)}`}function Re(e){const[l,s]=o.useState(!1),[n,c]=o.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"),C=typeof r?.preview.status=="string"?r.preview.status:null,h=typeof e.message.metadata.deliveryStatus=="string"?e.message.metadata.deliveryStatus:null,b=typeof e.message.metadata.uploadProgress=="string"?e.message.metadata.uploadProgress:null,d=!e.message.deletedAt&&!h,g=le(e.message,e.messagesById),y=g?Y(g,e.membersById):null;return t.jsxs("article",{id:V(e.message.id),className:`team-chat-message${e.own?" own":""}`,tabIndex:-1,onContextMenu:a=>{if(!d)return;a.preventDefault();const x=a.currentTarget.getBoundingClientRect();e.onOpenReplyMenu(e.message,{clientX:a.clientX,clientY:a.clientY,fallbackX:x.right-12,fallbackY:x.top+24})},children:[t.jsx(Ie,{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:Se(e.message.createdAt)}),e.message.editedAt?t.jsx("span",{children:"edited"}):null,h==="sending"?t.jsx("span",{children:"sending"}):null,h==="sending"&&b?t.jsxs("span",{children:["uploaded ",b]}):null,h==="failed"?t.jsx("span",{className:"failed",children:"not sent"}):null,h==="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(G,{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})})]}):d||e.own&&!e.message.deletedAt?t.jsxs("div",{className:"team-chat-message-actions",children:[d?t.jsx("button",{type:"button","data-tooltip":"Reply","aria-label":"Reply to message",onClick:()=>e.onReply(e.message),children:t.jsx(L,{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(re,{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(Ce,{size:13})}):null]}):null]}),g&&y?t.jsx(we,{authorLabel:y,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(x=>{x&&s(!1)})},children:[t.jsx("textarea",{autoFocus:!0,value:n,onChange:a=>c(a.currentTarget.value),onKeyDown:a=>{a.key==="Escape"&&(a.preventDefault(),s(!1),c(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(Ae,{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(N,{size:14}),t.jsx("span",{children:"Thread"}),C&&C!=="completed"?t.jsx("small",{children:K(C)}):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:K(String(m.preview.status??"queued"))}),t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null]})]})}function Ae(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(Pe,{attachmentId:s.id,alt:s.name,teamId:e.message.teamId,connection:e.connection,localUrl:l.get(s.clientAttachmentId)??null},s.id))})}function Pe(e){const[l,s]=o.useState(e.localUrl),[n,c]=o.useState(!1),r=o.useRef(0);async function m(){if(!e.connection||e.localUrl){e.localUrl||c(!0);return}c(!1);try{const C=await ce.teamChatAttachmentDownload(e.connection,e.teamId,e.attachmentId);s(C.url)}catch{s(null),c(!0)}}return o.useEffect(()=>{s(e.localUrl),c(!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),c(!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?(c(!1),s(e.localUrl)):m()},children:t.jsx(G,{size:18})}):t.jsx("div",{className:"team-chat-message-image-loading",role:"status","aria-label":`Loading ${e.alt}`})}function K(e){return e==="pending"?"Starting":e==="running"?"Responding":e==="failed"?"Failed":e==="interrupted"?"Interrupted":e==="cancelled"?"Cancelled":e}function Ie({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 Se(e){const l=new Date(e);return Number.isFinite(l.getTime())?l.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):""}const z={value:"none",label:"No project",detail:"Team conversation",options:[],busy:!1},D={value:"local",label:"Local",detail:"Local execution",options:[],action:{value:"local",label:"Local",detail:"Local execution",disabled:!1},busy:!1},Q=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"]);function ke(e,l){return!l||e===l?e:e?`${l}
2
2
 
3
- ${e}`:l}function We(){return t.jsx("section",{className:"team-chat-view team-chat-pro-view","aria-label":"Team Chat",children:t.jsxs("div",{className:"team-chat-pro-content",children:[t.jsx("span",{className:"team-chat-pro-icon","aria-hidden":"true",children:t.jsx(E,{size:22})}),t.jsx("h1",{children:"Team Chat"}),t.jsx("p",{children:"Team Chat is available with Pro mode."}),t.jsx("small",{children:"Create or join a Pro team to chat with teammates, coordinate work, and share agents."})]})})}function Je(e){de(e.error);const[l,s]=o.useState(""),[n,c]=o.useState(!1),[r,m]=o.useState(null),[y,h]=o.useState(null),[b,d]=o.useState(0),g=o.useRef(null),C=o.useRef(!0),a=o.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:x,confirmDialog:O,resolveConfirmDialog:A}=me(),P=o.useMemo(()=>new Map(e.members.map(i=>[i.userId,i])),[e.members]),q=o.useMemo(()=>new Map((e.detail?.messages??[]).map(i=>[i.id,i])),[e.detail?.messages]),Z=e.detail?.thread.id??null,B=r?.threadId===Z?q.get(r.message.id)??r.message:null,M=B?.deletedAt?null:B,j=M?ue(M):null,$=j?Y(j,P):null,p=e.detail?ge(e.detail.thread,e.currentUserId):"Team",I=Q.has(e.provider)?e.provider:"codex",_=I===e.provider?e.model:"gpt-5.6-sol",ee=o.useMemo(()=>he({hostedActions:e.agents,profile:e.profile,teamId:e.teamId}),[e.agents,e.profile,e.teamId]),te=e.detail?.messages.at(-1)?.sequence??0;o.useEffect(()=>{if(!C.current)return;const i=g.current;i&&(i.scrollTop=i.scrollHeight)},[te,e.detail?.thread.id]);const F=o.useCallback(i=>{i.deletedAt||i.id.startsWith("pending:")||typeof i.metadata.deliveryStatus=="string"||(m({threadId:i.threadId,message:i}),c(!1),h(null),d(f=>f+1))},[]),ne=o.useCallback(()=>h(null),[]),ae=o.useCallback((i,f)=>{const v=Me({...f,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h({message:i,...v})},[]),W=o.useCallback(i=>{const f=document.getElementById(V(i));f&&(f.scrollIntoView({behavior:"smooth",block:"center"}),f.focus({preventScroll:!0}))},[]);async function se(i=[],f=null){if(i.some(u=>u.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(u.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;let v=f;if(M&&v)return e.showToast("Remove the agent action before replying to a message.","error"),!1;if(xe(v)){const u=ve(v);if(!u)throw new Error("The selected profile agent is missing its profile id.");if(!await x({title:`Publish ${v.label??v.name??"agent"} to Team?`,body:`This will upload the committed agent source to ${e.teamName??"this Team"}, create its hosted runtime, and then send your message.`,confirmLabel:"Publish and send",tone:"default"}))return!1;v=await e.onPublishProfileAgent(u)}const S=v?.approvalPolicy?.risk;let J=null;if(v?.approvalPolicy?.required&&S&&S!=="read"){const u=S==="destructive";if(!await x({title:u?"Approve destructive action?":"Approve external write?",body:`${v.label??v.name??"This agent action"} will use the workspace connection to ${u?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:u?"Approve destructive action":"Approve write",tone:u?"danger":"default"}))return!1;J=crypto.randomUUID()}const k=l,oe=e.detail?.thread.id??null,w=M,H=()=>{a.current===oe&&(s(u=>ke(u,k)),w&&m(u=>u??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const u=await e.onSendMessage({body:k,useModel:n,providerId:I,modelId:_,mentionUserIds:be(k,e.members),attachments:i,replyToMessage:w,selectedActionKey:v?.id??null,approvalId:J});return u?n&&c(!1):H(),u}catch(u){throw H(),u}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[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":p,tabIndex:0,ref:g,onScroll:i=>{const f=i.currentTarget;C.current=f.scrollHeight-f.scrollTop-f.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(i=>t.jsx(Re,{message:i,author:i.authorUserId?P.get(i.authorUserId)??null:null,own:i.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:P,messagesById:q,onReply:F,onOpenReplyMenu:ae,onJumpToMessage:W,connection:e.connection},i.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[j&&$?t.jsx(je,{authorLabel:$,target:j,onCancel:()=>m(null),onJump:()=>W(j.id)}):null,t.jsx(U,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!j,teamMentionMembers:e.members.filter(i=>i.userId!==e.currentUserId),actionCatalog:ee,onTeamUseModelChange:c,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:b,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:I,model:_,projectTarget:z,workspaceTarget:D,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(i,f)=>se(i??[],f??null),onStop:()=>!1})]})]}),t.jsx(Te,{menu:y,onClose:ne,onReply:F}),t.jsx(fe,{state:O,onResolve:A})]})}function He(e){const[l,s]=o.useState(""),n=e.agentConversation,c=o.useRef(null),r=o.useRef(null),m=o.useRef(null),y=n.messages.at(-1)?.sequence??0,h=["pending","queued","running"].includes(n.run.status);o.useEffect(()=>{const d=c.current;d&&(d.scrollTop=d.scrollHeight)},[y,n.run.status]),o.useEffect(()=>{r.current?.focus();const d=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e.onCloseAgentConversation]);async function b(d){const g=m.current??crypto.randomUUID();m.current=g;const C=await e.onSendAgentTurn({body:d??l,clientRequestId:g});return C&&(m.current=null,s("")),C}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:c,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(d=>t.jsxs("article",{className:`team-ai-message ${d.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[d.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:d.role==="user"?"Team member":n.agent.name})]}),t.jsx(N,{connection:e.connection,content:d.body})]},d.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(U,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||h,running:h,interruptRunningTurnBeforeSteer:!1,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:z,workspaceTarget:D,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:d=>{m.current=null,s(d)},showToast:e.showToast,onSubmit:async(d,g,C,a)=>b(a?.promptOverride),onStop:()=>!1})})]})}function Ke(e){const[l,s]=o.useState(""),n=e.aiThread,c=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=o.useRef(null),y=n.messages.at(-1)?.sequence??0,h=o.useRef(null),b=Q.has(e.provider)?e.provider:"codex",d=b===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));o.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[y,n.activeTurn?.partialBody]),o.useEffect(()=>{h.current?.focus();const a=x=>{x.key==="Escape"&&(x.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function C(a){const x=await e.onSendAiTurn({body:a??l,providerId:b,modelId:d});return x&&s(""),x}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(E,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:h,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?c.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(N,{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(N,{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(U,{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:b,model:d,projectTarget:z,workspaceTarget:D,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(a,x,O,A)=>C(A?.promptOverride),onStop:e.onStopAiTurn})})]})}export{He as TeamAgentConversationPanel,Ke as TeamAiThreadPanel,We as TeamChatProView,Je as TeamChatView,ke as restoreFailedTeamChatPrompt};
3
+ ${e}`:l}function We(){return t.jsx("section",{className:"team-chat-view team-chat-pro-view","aria-label":"Team Chat",children:t.jsxs("div",{className:"team-chat-pro-content",children:[t.jsx("span",{className:"team-chat-pro-icon","aria-hidden":"true",children:t.jsx(N,{size:22})}),t.jsx("h1",{children:"Team Chat"}),t.jsx("p",{children:"Team Chat is available with Pro mode."}),t.jsx("small",{children:"Create or join a Pro team to chat with teammates, coordinate work, and share agents."})]})})}function Je(e){de(e.error);const[l,s]=o.useState(""),[n,c]=o.useState(!1),[r,m]=o.useState(null),[C,h]=o.useState(null),[b,d]=o.useState(0),g=o.useRef(null),y=o.useRef(!0),a=o.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:x,confirmDialog:O,resolveConfirmDialog:A}=me(),P=o.useMemo(()=>new Map(e.members.map(i=>[i.userId,i])),[e.members]),q=o.useMemo(()=>new Map((e.detail?.messages??[]).map(i=>[i.id,i])),[e.detail?.messages]),Z=e.detail?.thread.id??null,B=r?.threadId===Z?q.get(r.message.id)??r.message:null,M=B?.deletedAt?null:B,j=M?ue(M):null,$=j?Y(j,P):null,p=e.detail?ge(e.detail.thread,e.currentUserId):"Team",I=Q.has(e.provider)?e.provider:"codex",_=I===e.provider?e.model:"gpt-5.6-sol",ee=o.useMemo(()=>he({hostedActions:e.agents,profile:e.profile,teamId:e.teamId}),[e.agents,e.profile,e.teamId]),te=e.detail?.messages.at(-1)?.sequence??0;o.useEffect(()=>{if(!y.current)return;const i=g.current;i&&(i.scrollTop=i.scrollHeight)},[te,e.detail?.thread.id]);const F=o.useCallback(i=>{i.deletedAt||i.id.startsWith("pending:")||typeof i.metadata.deliveryStatus=="string"||(m({threadId:i.threadId,message:i}),c(!1),h(null),d(f=>f+1))},[]),ne=o.useCallback(()=>h(null),[]),ae=o.useCallback((i,f)=>{const v=Me({...f,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h({message:i,...v})},[]),W=o.useCallback(i=>{const f=document.getElementById(V(i));f&&(f.scrollIntoView({behavior:"smooth",block:"center"}),f.focus({preventScroll:!0}))},[]);async function se(i=[],f=null){if(i.some(u=>u.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(u.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;let v=f;if(M&&v)return e.showToast("Remove the agent action before replying to a message.","error"),!1;if(xe(v)){const u=ve(v);if(!u)throw new Error("The selected profile agent is missing its profile id.");if(!await x({title:`Publish ${v.label??v.name??"agent"} to Team?`,body:`This will upload the committed agent source to ${e.teamName??"this Team"}, create its hosted runtime, and then send your message.`,confirmLabel:"Publish and send",tone:"default"}))return!1;v=await e.onPublishProfileAgent(u)}const S=v?.approvalPolicy?.risk;let J=null;if(v?.approvalPolicy?.required&&S&&S!=="read"){const u=S==="destructive";if(!await x({title:u?"Approve destructive action?":"Approve external write?",body:`${v.label??v.name??"This agent action"} will use the workspace connection to ${u?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:u?"Approve destructive action":"Approve write",tone:u?"danger":"default"}))return!1;J=crypto.randomUUID()}const k=l,oe=e.detail?.thread.id??null,w=M,H=()=>{a.current===oe&&(s(u=>ke(u,k)),w&&m(u=>u??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const u=await e.onSendMessage({body:k,useModel:n,providerId:I,modelId:_,mentionUserIds:be(k,e.members),attachments:i,replyToMessage:w,selectedActionKey:v?.id??null,approvalId:J});return u?n&&c(!1):H(),u}catch(u){throw H(),u}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[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":p,tabIndex:0,ref:g,onScroll:i=>{const f=i.currentTarget;y.current=f.scrollHeight-f.scrollTop-f.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(i=>t.jsx(Re,{message:i,author:i.authorUserId?P.get(i.authorUserId)??null:null,own:i.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:P,messagesById:q,onReply:F,onOpenReplyMenu:ae,onJumpToMessage:W,connection:e.connection},i.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[j&&$?t.jsx(je,{authorLabel:$,target:j,onCancel:()=>m(null),onJump:()=>W(j.id)}):null,t.jsx(U,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!j,teamMentionMembers:e.members.filter(i=>i.userId!==e.currentUserId),actionCatalog:ee,onTeamUseModelChange:c,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:b,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:I,model:_,projectTarget:z,workspaceTarget:D,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(i,f)=>se(i??[],f??null),onStop:()=>!1})]})]}),t.jsx(Te,{menu:C,onClose:ne,onReply:F}),t.jsx(fe,{state:O,onResolve:A})]})}function He(e){const[l,s]=o.useState(""),n=e.agentConversation,c=o.useRef(null),r=o.useRef(null),m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=["pending","queued","running"].includes(n.run.status);o.useEffect(()=>{const d=c.current;d&&(d.scrollTop=d.scrollHeight)},[C,n.run.status]),o.useEffect(()=>{r.current?.focus();const d=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e.onCloseAgentConversation]);async function b(d){const g=m.current??crypto.randomUUID();m.current=g;const y=await e.onSendAgentTurn({body:d??l,clientRequestId:g});return y&&(m.current=null,s("")),y}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:c,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(d=>t.jsxs("article",{className:`team-ai-message ${d.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[d.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:d.role==="user"?"Team member":n.agent.name})]}),t.jsx(E,{connection:e.connection,content:d.body})]},d.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(U,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||h,running:h,interruptRunningTurnBeforeSteer:!1,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:z,workspaceTarget:D,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:d=>{m.current=null,s(d)},showToast:e.showToast,onSubmit:async(d,g,y,a)=>b(a?.promptOverride),onStop:()=>!1})})]})}function Ke(e){const[l,s]=o.useState(""),n=e.aiThread,c=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=o.useRef(null),b=Q.has(e.provider)?e.provider:"codex",d=b===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));o.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[C,n.activeTurn?.partialBody]),o.useEffect(()=>{h.current?.focus();const a=x=>{x.key==="Escape"&&(x.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function y(a){const x=await e.onSendAiTurn({body:a??l,providerId:b,modelId:d});return x&&s(""),x}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(N,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:h,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?c.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(E,{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(E,{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(U,{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:b,model:d,projectTarget:z,workspaceTarget:D,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(a,x,O,A)=>y(A?.promptOverride),onStop:e.onStopAiTurn})})]})}export{He as TeamAgentConversationPanel,Ke as TeamAiThreadPanel,We as TeamChatProView,Je as TeamChatView,ke as restoreFailedTeamChatPrompt};
@@ -1,4 +1,4 @@
1
- import{r as I,j as G}from"./index-D-VK8mST.js";import{ap as Jr,cs as hs,ct as Zr,cu as cs,cv as Qr,cw as en,cx as tn,X as sn,C as rn}from"./App-DfiCmBv6.js";import{P as ds}from"./chat-file-links-CqfMdhHQ.js";var nn=2,on=1,an=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,h=o.right+o.left,a=s-l,d=r-h-t;return{cols:Math.max(nn,Math.floor(d/e.css.cell.width)),rows:Math.max(on,Math.floor(a/e.css.cell.height))}}};var ar=Object.defineProperty,ln=Object.getOwnPropertyDescriptor,hn=(e,t)=>{for(var i in t)ar(e,i,{get:t[i],enumerable:!0})},Z=(e,t,i,s)=>{for(var r=s>1?void 0:s?ln(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(s?o(t,i,r):o(r))||r);return s&&r&&ar(t,i,r),r},k=(e,t)=>(i,s)=>t(i,s,e),us="Terminal input",pi={get:()=>us,set:e=>us=e},_s="Too much output to announce, navigate to rows manually to read",gi={get:()=>_s,set:e=>_s=e};function cn(e){return e.replace(/\r?\n/g,"\r")}function dn(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function un(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function _n(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");lr(r,t,i,s)}}function lr(e,t,i,s){e=cn(e),e=dn(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function hr(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function fs(e,t,i,s,r){hr(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function Xe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Zt(e,t=0,i=e.length){let s="";for(let r=t;r<i;++r){let n=e[r];n>65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var fn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n<i;++n){let o=e.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=i)return this._interim=o,s;let l=e.charCodeAt(n);56320<=l&&l<=57343?t[s++]=(o-55296)*1024+l-56320+65536:(t[s++]=o,t[s++]=l);continue}o!==65279&&(t[s++]=o)}return s}},pn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,o,l,h=0,a=0;if(this.interim[0]){let u=!1,f=this.interim[0];f&=(f&224)===192?31:(f&240)===224?15:7;let _=0,v;for(;(v=this.interim[++_]&63)&&_<4;)f<<=6,f|=v;let y=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=y-_;for(;a<R;){if(a>=i)return 0;if(v=e[a++],(v&192)!==128){a--,u=!0;break}else this.interim[_++]=v,f<<=6,f|=v&63}u||(y===2?f<128?a--:t[s++]=f:y===3?f<2048||f>=55296&&f<=57343||f===65279||(t[s++]=f):f<65536||f>1114111||(t[s++]=f)),this.interim.fill(0)}let d=i-4,c=a;for(;c<i;){for(;c<d&&!((r=e[c])&128)&&!((n=e[c+1])&128)&&!((o=e[c+2])&128)&&!((l=e[c+3])&128);)t[s++]=r,t[s++]=n,t[s++]=o,t[s++]=l,c+=4;if(r=e[c++],r<128)t[s++]=r;else if((r&224)===192){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(h=(r&31)<<6|n&63,h<128){c--;continue}t[s++]=h}else if((r&240)===224){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(h=(r&15)<<12|(n&63)<<6|o&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=o,s;if(l=e[c++],(l&192)!==128){c--;continue}if(h=(r&7)<<18|(n&63)<<12|(o&63)<<6|l&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},cr="",Ge=" ",Mt=class dr{constructor(){this.fg=0,this.bg=0,this.extended=new Vt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new dr;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Vt=class ur{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new ur(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Le=class _r extends Mt{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Vt,this.combinedData=""}static fromCharData(t){let i=new _r;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xe(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ps="di$target",vi="di$dependencies",ii=new Map;function gn(e){return e[vi]||[]}function ce(e){if(ii.has(e))return ii.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");vn(t,i,r)};return t._id=e,ii.set(e,t),t}function vn(e,t,i){t[ps]===t?t[vi].push({id:e,index:i}):(t[vi]=[{id:e,index:i}],t[ps]=t)}var me=ce("BufferService"),fr=ce("CoreMouseService"),ot=ce("CoreService"),mn=ce("CharsetService"),Zi=ce("InstantiationService"),pr=ce("LogService"),Se=ce("OptionsService"),gr=ce("OscLinkService"),Sn=ce("UnicodeService"),Lt=ce("DecorationService"),mi=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new Le,o=i.getTrimmedLength(),l=-1,h=-1,a=!1;for(let d=0;d<o;d++)if(!(h===-1&&!i.hasContent(d))){if(i.loadCell(d,n),n.hasExtendedAttrs()&&n.extended.urlId)if(h===-1){h=d,l=n.extended.urlId;continue}else a=n.extended.urlId!==l;else h!==-1&&(a=!0);if(a||h!==-1&&d===o-1){let c=this._oscLinkService.getLinkData(l)?.uri;if(c){let u={start:{x:h+1,y:e},end:{x:d+(!a&&d===o-1?1:0),y:e}},f=!1;if(!r?.allowNonHttpProtocols)try{let _=new URL(c);["http:","https:"].includes(_.protocol)||(f=!0)}catch{f=!0}f||s.push({text:c,range:u,activate:(_,v)=>r?r.activate(_,v,u):wn(_,v),hover:(_,v)=>r?.hover?.(_,v,u),leave:(_,v)=>r?.leave?.(_,v,u)})}a=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=d,l=n.extended.urlId):(h=-1,l=-1)}}t(s)}};mi=Z([k(0,me),k(1,Se),k(2,gr)],mi);function wn(e,t){if(confirm(`Do you want to navigate to ${t}?
1
+ import{r as I,j as G}from"./index-UOGdfLzi.js";import{au as Jr,cz as hs,cA as Zr,cB as cs,cC as Qr,cD as en,cE as tn,X as sn,C as rn}from"./App-C9aGkxVg.js";import{P as ds}from"./chat-file-links-CWLsRYvW.js";var nn=2,on=1,an=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,h=o.right+o.left,a=s-l,d=r-h-t;return{cols:Math.max(nn,Math.floor(d/e.css.cell.width)),rows:Math.max(on,Math.floor(a/e.css.cell.height))}}};var ar=Object.defineProperty,ln=Object.getOwnPropertyDescriptor,hn=(e,t)=>{for(var i in t)ar(e,i,{get:t[i],enumerable:!0})},Z=(e,t,i,s)=>{for(var r=s>1?void 0:s?ln(t,i):t,n=e.length-1,o;n>=0;n--)(o=e[n])&&(r=(s?o(t,i,r):o(r))||r);return s&&r&&ar(t,i,r),r},k=(e,t)=>(i,s)=>t(i,s,e),us="Terminal input",pi={get:()=>us,set:e=>us=e},_s="Too much output to announce, navigate to rows manually to read",gi={get:()=>_s,set:e=>_s=e};function cn(e){return e.replace(/\r?\n/g,"\r")}function dn(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function un(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function _n(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");lr(r,t,i,s)}}function lr(e,t,i,s){e=cn(e),e=dn(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function hr(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function fs(e,t,i,s,r){hr(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function Xe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Zt(e,t=0,i=e.length){let s="";for(let r=t;r<i;++r){let n=e[r];n>65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var fn=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n<i;++n){let o=e.charCodeAt(n);if(55296<=o&&o<=56319){if(++n>=i)return this._interim=o,s;let l=e.charCodeAt(n);56320<=l&&l<=57343?t[s++]=(o-55296)*1024+l-56320+65536:(t[s++]=o,t[s++]=l);continue}o!==65279&&(t[s++]=o)}return s}},pn=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,o,l,h=0,a=0;if(this.interim[0]){let u=!1,f=this.interim[0];f&=(f&224)===192?31:(f&240)===224?15:7;let _=0,v;for(;(v=this.interim[++_]&63)&&_<4;)f<<=6,f|=v;let y=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=y-_;for(;a<R;){if(a>=i)return 0;if(v=e[a++],(v&192)!==128){a--,u=!0;break}else this.interim[_++]=v,f<<=6,f|=v&63}u||(y===2?f<128?a--:t[s++]=f:y===3?f<2048||f>=55296&&f<=57343||f===65279||(t[s++]=f):f<65536||f>1114111||(t[s++]=f)),this.interim.fill(0)}let d=i-4,c=a;for(;c<i;){for(;c<d&&!((r=e[c])&128)&&!((n=e[c+1])&128)&&!((o=e[c+2])&128)&&!((l=e[c+3])&128);)t[s++]=r,t[s++]=n,t[s++]=o,t[s++]=l,c+=4;if(r=e[c++],r<128)t[s++]=r;else if((r&224)===192){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(h=(r&31)<<6|n&63,h<128){c--;continue}t[s++]=h}else if((r&240)===224){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(h=(r&15)<<12|(n&63)<<6|o&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(c>=i)return this.interim[0]=r,s;if(n=e[c++],(n&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,s;if(o=e[c++],(o&192)!==128){c--;continue}if(c>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=o,s;if(l=e[c++],(l&192)!==128){c--;continue}if(h=(r&7)<<18|(n&63)<<12|(o&63)<<6|l&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},cr="",Ge=" ",Mt=class dr{constructor(){this.fg=0,this.bg=0,this.extended=new Vt}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new dr;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Vt=class ur{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new ur(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Le=class _r extends Mt{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Vt,this.combinedData=""}static fromCharData(t){let i=new _r;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xe(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ps="di$target",vi="di$dependencies",ii=new Map;function gn(e){return e[vi]||[]}function ce(e){if(ii.has(e))return ii.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");vn(t,i,r)};return t._id=e,ii.set(e,t),t}function vn(e,t,i){t[ps]===t?t[vi].push({id:e,index:i}):(t[vi]=[{id:e,index:i}],t[ps]=t)}var me=ce("BufferService"),fr=ce("CoreMouseService"),ot=ce("CoreService"),mn=ce("CharsetService"),Zi=ce("InstantiationService"),pr=ce("LogService"),Se=ce("OptionsService"),gr=ce("OscLinkService"),Sn=ce("UnicodeService"),Lt=ce("DecorationService"),mi=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new Le,o=i.getTrimmedLength(),l=-1,h=-1,a=!1;for(let d=0;d<o;d++)if(!(h===-1&&!i.hasContent(d))){if(i.loadCell(d,n),n.hasExtendedAttrs()&&n.extended.urlId)if(h===-1){h=d,l=n.extended.urlId;continue}else a=n.extended.urlId!==l;else h!==-1&&(a=!0);if(a||h!==-1&&d===o-1){let c=this._oscLinkService.getLinkData(l)?.uri;if(c){let u={start:{x:h+1,y:e},end:{x:d+(!a&&d===o-1?1:0),y:e}},f=!1;if(!r?.allowNonHttpProtocols)try{let _=new URL(c);["http:","https:"].includes(_.protocol)||(f=!0)}catch{f=!0}f||s.push({text:c,range:u,activate:(_,v)=>r?r.activate(_,v,u):wn(_,v),hover:(_,v)=>r?.hover?.(_,v,u),leave:(_,v)=>r?.leave?.(_,v,u)})}a=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=d,l=n.extended.urlId):(h=-1,l=-1)}}t(s)}};mi=Z([k(0,me),k(1,Se),k(2,gr)],mi);function wn(e,t){if(confirm(`Do you want to navigate to ${t}?
2
2
 
3
3
  WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var Qt=ce("CharSizeService"),Ke=ce("CoreBrowserService"),Qi=ce("MouseService"),Ue=ce("RenderService"),bn=ce("SelectionService"),vr=ce("CharacterJoinerService"),ut=ce("ThemeService"),mr=ce("LinkProviderService"),yn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?gs.isErrorNoTelemetry(e)?new gs(e.message+`
4
4
 
@@ -1 +1 @@
1
- import{r as h,j as e}from"./index-D-VK8mST.js";import{aK as f,aB as b,i as d,d as x,X as j}from"./App-DfiCmBv6.js";/* empty css */function C({creation:s,training:r,compact:i=!1,onOpenTraining:t}){const[o,g]=h.useState(""),[c,u]=h.useState(""),n=s.state,a=!!r.busyAction;return h.useEffect(()=>{g(""),u("")},[s.id,n]),e.jsxs("section",{className:i?`composer-create-strip ${k(n)} training-create-strip`:"training-approval","aria-label":"Training task status",children:[i?e.jsxs("div",{className:"composer-create-strip-heading",children:[n==="planning"||n==="materializing"||n==="validating"?e.jsx(f,{className:"composer-create-spin",size:15}):n==="failed"?e.jsx(b,{size:15}):e.jsx(d,{size:15}),e.jsx("span",{children:v(n)}),e.jsx("small",{children:"training"})]}):null,n==="awaiting_disclosure_approval"?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:"Review selected evidence with the authoring model?"}),e.jsxs("p",{children:["Approve sends excerpts from ",s.request.sourceIds.length," explicitly selected source",s.request.sourceIds.length===1?"":"s"," to ",s.request.analysisModel?.providerId,"/",s.request.analysisModel?.modelId," so it can propose a Taskset and grader. This does not start training."]}),e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Approve evidence"})]}),e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Decline"})]}),i&&t?e.jsxs("button",{disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]}):null]})]}):n==="awaiting_materialization_approval"&&s.proposal?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:s.proposal.name}),e.jsx("p",{children:s.proposal.objective}),e.jsxs("div",{className:"training-creation-plan-facts",children:[e.jsx("span",{children:s.proposal.taskKind.replaceAll("_"," ")}),e.jsxs("span",{children:[s.proposal.proposedGraders.length," grader",s.proposal.proposedGraders.length===1?"":"s"]}),e.jsx("span",{children:s.proposal.proposedMethod.replaceAll("_"," ")})]}),s.request.mode==="customize"?e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:c,onChange:l=>u(l.target.value),placeholder:"Revise tasks, graders, fixtures, or policy"}),e.jsx("button",{className:i?void 0:"training-button secondary",disabled:!c.trim()||a,onClick:async()=>{const l=c;u(""),await r.actions.chatCreation(s.id,l)},children:"Revise"})]}):null,e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.materialize(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Materialize Taskset"})]}),t?e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Review details"})]}):null,e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.materialize(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Cancel"})]})]})]}):n==="awaiting_questions"?e.jsx("div",{className:i?"composer-create-question":"training-creation-content",children:(()=>{const l=s.blockingQuestions.find(p=>!p.answer);return l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:l.prompt}),e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:o,onChange:p=>g(p.target.value)}),e.jsx("button",{className:i?void 0:"training-button",disabled:!o.trim()||a,onClick:()=>{r.actions.answerQuestions(s.id,{[l.id]:o})},children:"Continue"})]})]}):null})()}):e.jsxs("div",{className:i?"composer-create-status-body":"training-creation-content",children:[e.jsx("p",{children:m(s)}),i&&t?e.jsx("div",{className:"composer-create-actions",children:e.jsxs("button",{onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]})}):null]})]})}function T({creation:s}){return e.jsxs("section",{className:"chat-create-receipt","aria-label":"Training status",children:[e.jsxs("div",{className:"chat-create-receipt-heading",children:[e.jsx(d,{size:14}),e.jsx("span",{children:v(s.state)}),e.jsx("small",{children:"training"})]}),e.jsx("p",{children:s.request.objective??m(s)}),e.jsxs("div",{className:"chat-create-receipt-facts",children:[e.jsxs("span",{children:[s.request.sourceIds.length," selected source",s.request.sourceIds.length===1?"":"s"]}),e.jsx("span",{children:s.request.mode==="customize"?"guided plan":"fast draft"})]})]})}function v(s){return s==="awaiting_disclosure_approval"?"Training evidence review":s==="awaiting_materialization_approval"?"Training plan ready":s==="awaiting_questions"?"Training question":s==="materializing"?"Materializing Taskset":s==="ready"?"Taskset ready":s==="failed"?"Training plan failed":s==="cancelled"?"Training plan cancelled":"Preparing training plan"}function m(s){return s.blockedReason?s.blockedReason:s.state==="ready"?"The reviewed Taskset was materialized. Training still requires a separate approval.":s.state==="cancelled"?"Taskset creation was cancelled.":s.state==="planning"?"The authoring model is proposing tasks, graders, fixtures, and policy boundaries.":`Task Creator is ${s.state.replaceAll("_"," ")}.`}function k(s){return s==="ready"?"success":s==="failed"||s==="cancelled"?"danger":s==="awaiting_disclosure_approval"||s==="awaiting_materialization_approval"||s==="awaiting_questions"?"warning":"info"}export{C as TrainingCreationPanel,T as TrainingStatusReceipt};
1
+ import{r as h,j as e}from"./index-UOGdfLzi.js";import{aQ as f,aH as b,i as d,d as x,X as j}from"./App-C9aGkxVg.js";/* empty css */function C({creation:s,training:r,compact:i=!1,onOpenTraining:t}){const[o,g]=h.useState(""),[c,u]=h.useState(""),n=s.state,a=!!r.busyAction;return h.useEffect(()=>{g(""),u("")},[s.id,n]),e.jsxs("section",{className:i?`composer-create-strip ${k(n)} training-create-strip`:"training-approval","aria-label":"Training task status",children:[i?e.jsxs("div",{className:"composer-create-strip-heading",children:[n==="planning"||n==="materializing"||n==="validating"?e.jsx(f,{className:"composer-create-spin",size:15}):n==="failed"?e.jsx(b,{size:15}):e.jsx(d,{size:15}),e.jsx("span",{children:v(n)}),e.jsx("small",{children:"training"})]}):null,n==="awaiting_disclosure_approval"?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:"Review selected evidence with the authoring model?"}),e.jsxs("p",{children:["Approve sends excerpts from ",s.request.sourceIds.length," explicitly selected source",s.request.sourceIds.length===1?"":"s"," to ",s.request.analysisModel?.providerId,"/",s.request.analysisModel?.modelId," so it can propose a Taskset and grader. This does not start training."]}),e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Approve evidence"})]}),e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.approveDisclosure(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Decline"})]}),i&&t?e.jsxs("button",{disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]}):null]})]}):n==="awaiting_materialization_approval"&&s.proposal?e.jsxs("div",{className:i?"composer-create-plan-summary":"training-creation-content",children:[i?null:e.jsx("strong",{children:s.proposal.name}),e.jsx("p",{children:s.proposal.objective}),e.jsxs("div",{className:"training-creation-plan-facts",children:[e.jsx("span",{children:s.proposal.taskKind.replaceAll("_"," ")}),e.jsxs("span",{children:[s.proposal.proposedGraders.length," grader",s.proposal.proposedGraders.length===1?"":"s"]}),e.jsx("span",{children:s.proposal.proposedMethod.replaceAll("_"," ")})]}),s.request.mode==="customize"?e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:c,onChange:l=>u(l.target.value),placeholder:"Revise tasks, graders, fixtures, or policy"}),e.jsx("button",{className:i?void 0:"training-button secondary",disabled:!c.trim()||a,onClick:async()=>{const l=c;u(""),await r.actions.chatCreation(s.id,l)},children:"Revise"})]}):null,e.jsxs("div",{className:i?"composer-create-actions":"training-inline-actions",children:[e.jsxs("button",{className:i?void 0:"training-button",disabled:a,onClick:()=>{r.actions.materialize(s.id,!0)},children:[e.jsx(x,{size:13}),e.jsx("span",{children:"Materialize Taskset"})]}),t?e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Review details"})]}):null,e.jsxs("button",{className:i?void 0:"training-button secondary",disabled:a,onClick:()=>{r.actions.materialize(s.id,!1)},children:[e.jsx(j,{size:13}),e.jsx("span",{children:"Cancel"})]})]})]}):n==="awaiting_questions"?e.jsx("div",{className:i?"composer-create-question":"training-creation-content",children:(()=>{const l=s.blockingQuestions.find(p=>!p.answer);return l?e.jsxs(e.Fragment,{children:[e.jsx("p",{children:l.prompt}),e.jsxs("div",{className:"training-question-answer",children:[e.jsx("input",{value:o,onChange:p=>g(p.target.value)}),e.jsx("button",{className:i?void 0:"training-button",disabled:!o.trim()||a,onClick:()=>{r.actions.answerQuestions(s.id,{[l.id]:o})},children:"Continue"})]})]}):null})()}):e.jsxs("div",{className:i?"composer-create-status-body":"training-creation-content",children:[e.jsx("p",{children:m(s)}),i&&t?e.jsx("div",{className:"composer-create-actions",children:e.jsxs("button",{onClick:t,children:[e.jsx(d,{size:13}),e.jsx("span",{children:"Open Training"})]})}):null]})]})}function T({creation:s}){return e.jsxs("section",{className:"chat-create-receipt","aria-label":"Training status",children:[e.jsxs("div",{className:"chat-create-receipt-heading",children:[e.jsx(d,{size:14}),e.jsx("span",{children:v(s.state)}),e.jsx("small",{children:"training"})]}),e.jsx("p",{children:s.request.objective??m(s)}),e.jsxs("div",{className:"chat-create-receipt-facts",children:[e.jsxs("span",{children:[s.request.sourceIds.length," selected source",s.request.sourceIds.length===1?"":"s"]}),e.jsx("span",{children:s.request.mode==="customize"?"guided plan":"fast draft"})]})]})}function v(s){return s==="awaiting_disclosure_approval"?"Training evidence review":s==="awaiting_materialization_approval"?"Training plan ready":s==="awaiting_questions"?"Training question":s==="materializing"?"Materializing Taskset":s==="ready"?"Taskset ready":s==="failed"?"Training plan failed":s==="cancelled"?"Training plan cancelled":"Preparing training plan"}function m(s){return s.blockedReason?s.blockedReason:s.state==="ready"?"The reviewed Taskset was materialized. Training still requires a separate approval.":s.state==="cancelled"?"Taskset creation was cancelled.":s.state==="planning"?"The authoring model is proposing tasks, graders, fixtures, and policy boundaries.":`Task Creator is ${s.state.replaceAll("_"," ")}.`}function k(s){return s==="ready"?"success":s==="failed"||s==="cancelled"?"danger":s==="awaiting_disclosure_approval"||s==="awaiting_materialization_approval"||s==="awaiting_questions"?"warning":"info"}export{C as TrainingCreationPanel,T as TrainingStatusReceipt};
@@ -1 +1 @@
1
- import{j as s}from"./index-D-VK8mST.js";import{aQ as p,b8 as j}from"./App-DfiCmBv6.js";import{M as x}from"./minimize-2-DnxKN5oK.js";/* empty css */function k({training:r,sessionId:t,expanded:i,onOpenTraining:d,onResizeStart:o,onToggleExpanded:l}){const n=r.payload?.sources.filter(e=>e.sessionId===t)??[],c=new Set(n.map(e=>e.id)),a=r.payload?.creations.find(e=>e.request.sourceIds.some(h=>c.has(h)))??null;return s.jsxs("aside",{className:`workspace-diff-panel training-draft-panel ${i?"expanded":""}`,"aria-label":"Training task draft",children:[i?null:s.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize task draft",onPointerDown:o}),s.jsxs("div",{className:"workspace-diff-topbar",children:[s.jsx("div",{className:"workspace-diff-tabs",children:s.jsxs("button",{type:"button",className:"workspace-diff-tab active",children:[s.jsx(p,{size:14}),s.jsx("span",{children:"Task draft"})]})}),s.jsx("div",{className:"workspace-diff-toolbar-actions",children:s.jsx("button",{className:"diff-icon-button",type:"button",onClick:l,"aria-label":i?"Dock task draft":"Expand task draft",children:i?s.jsx(x,{size:14}):s.jsx(j,{size:14})})})]}),s.jsxs("div",{className:"training-draft-body",children:[s.jsx("span",{className:"training-eyebrow",children:"Selected chat"}),s.jsx("h2",{children:n[0]?.title??"Not added to training"}),s.jsxs("dl",{className:"training-definition",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"Sources"}),s.jsx("dd",{children:n.length})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Status"}),s.jsx("dd",{children:a?.state.replaceAll("_"," ")??"No draft"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Method"}),s.jsx("dd",{children:a?.proposal?.proposedMethod??"Pending"})]})]}),a?.proposal?s.jsxs(s.Fragment,{children:[s.jsx("h3",{children:a.proposal.name}),s.jsx("p",{children:a.proposal.objective})]}):s.jsxs("p",{children:["Add this chat with the sidebar action or run ",s.jsx("code",{children:"/train"}),"."]}),a?.blockedReason?s.jsx("p",{className:"training-draft-warning",children:a.blockedReason}):null,s.jsx("button",{className:"training-button secondary",type:"button",onClick:d,children:"Open Training"})]})]})}export{k as TrainingDraftPanel};
1
+ import{j as s}from"./index-UOGdfLzi.js";import{aW as p,bd as j}from"./App-C9aGkxVg.js";import{M as x}from"./minimize-2-DumTpFtE.js";/* empty css */function k({training:r,sessionId:t,expanded:i,onOpenTraining:d,onResizeStart:o,onToggleExpanded:l}){const n=r.payload?.sources.filter(e=>e.sessionId===t)??[],c=new Set(n.map(e=>e.id)),a=r.payload?.creations.find(e=>e.request.sourceIds.some(h=>c.has(h)))??null;return s.jsxs("aside",{className:`workspace-diff-panel training-draft-panel ${i?"expanded":""}`,"aria-label":"Training task draft",children:[i?null:s.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize task draft",onPointerDown:o}),s.jsxs("div",{className:"workspace-diff-topbar",children:[s.jsx("div",{className:"workspace-diff-tabs",children:s.jsxs("button",{type:"button",className:"workspace-diff-tab active",children:[s.jsx(p,{size:14}),s.jsx("span",{children:"Task draft"})]})}),s.jsx("div",{className:"workspace-diff-toolbar-actions",children:s.jsx("button",{className:"diff-icon-button",type:"button",onClick:l,"aria-label":i?"Dock task draft":"Expand task draft",children:i?s.jsx(x,{size:14}):s.jsx(j,{size:14})})})]}),s.jsxs("div",{className:"training-draft-body",children:[s.jsx("span",{className:"training-eyebrow",children:"Selected chat"}),s.jsx("h2",{children:n[0]?.title??"Not added to training"}),s.jsxs("dl",{className:"training-definition",children:[s.jsxs("div",{children:[s.jsx("dt",{children:"Sources"}),s.jsx("dd",{children:n.length})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Status"}),s.jsx("dd",{children:a?.state.replaceAll("_"," ")??"No draft"})]}),s.jsxs("div",{children:[s.jsx("dt",{children:"Method"}),s.jsx("dd",{children:a?.proposal?.proposedMethod??"Pending"})]})]}),a?.proposal?s.jsxs(s.Fragment,{children:[s.jsx("h3",{children:a.proposal.name}),s.jsx("p",{children:a.proposal.objective})]}):s.jsxs("p",{children:["Add this chat with the sidebar action or run ",s.jsx("code",{children:"/train"}),"."]}),a?.blockedReason?s.jsx("p",{className:"training-draft-warning",children:a.blockedReason}):null,s.jsx("button",{className:"training-button secondary",type:"button",onClick:d,children:"Open Training"})]})]})}export{k as TrainingDraftPanel};
@@ -1,4 +1,4 @@
1
- import{r as f,j as l}from"./index-D-VK8mST.js";import{aK as kt,b5 as ia,ap as la,o as Te}from"./App-DfiCmBv6.js";import{A as oa}from"./arrow-up-right-C7VWgGQP.js";import{w as sa,c as me,s as ca,i as le,a as _e,u as jt,r as Fe,b as ze,S as ua,d as oe,e as da,p as At,f as ma,g as fa,h as va,j as ha,k as pa,l as ue,m as ga,n as nt,o as ya,q as ba,t as xa,v as ka,x as ja,y as je,z as $e,A as Le,B as Aa,C as Pt,R as Pa,D as Sa,E as z,F as Ia,G as Ta,H as ne,I as wa,J,K as Q,L as St,M as It,N as Tt,O as Oa,P as Ca,Q as rt,T as Na,U as it,V as Ma,W as pe,X as Ue,Y as Ea,Z as wt,_ as Da,$ as $a,a0 as La,a1 as We,a2 as $,a3 as Ot,a4 as Ba,a5 as Ra,a6 as qa,a7 as Ka,a8 as _a,a9 as Fa,aa as Ct,ab as za,ac as Ua,ad as Wa,ae as lt,af as Nt,ag as Ha,ah as Ga,ai as Va,aj as Ya,ak as Xa,al as Za,am as Ja,an as Qa,ao as ot,ap as en,aq as tn,ar as an,as as nn,at as rn,au as ln,av as on}from"./CartesianChart-DA85hfrP.js";import{r as sn}from"./index-D-WCyNdJ.js";const Mt=Math.cos,ge=Math.sin,R=Math.sqrt,ye=Math.PI,Ae=2*ye,He={draw(e,t){const a=R(t/ye);e.moveTo(a,0),e.arc(0,0,a,0,Ae)}},cn={draw(e,t){const a=R(t/5)/2;e.moveTo(-3*a,-a),e.lineTo(-a,-a),e.lineTo(-a,-3*a),e.lineTo(a,-3*a),e.lineTo(a,-a),e.lineTo(3*a,-a),e.lineTo(3*a,a),e.lineTo(a,a),e.lineTo(a,3*a),e.lineTo(-a,3*a),e.lineTo(-a,a),e.lineTo(-3*a,a),e.closePath()}},Et=R(1/3),un=Et*2,dn={draw(e,t){const a=R(t/un),n=a*Et;e.moveTo(0,-a),e.lineTo(n,0),e.lineTo(0,a),e.lineTo(-n,0),e.closePath()}},mn={draw(e,t){const a=R(t),n=-a/2;e.rect(n,n,a,a)}},fn=.8908130915292852,Dt=ge(ye/10)/ge(7*ye/10),vn=ge(Ae/10)*Dt,hn=-Mt(Ae/10)*Dt,pn={draw(e,t){const a=R(t*fn),n=vn*a,r=hn*a;e.moveTo(0,-a),e.lineTo(n,r);for(let i=1;i<5;++i){const o=Ae*i/5,u=Mt(o),d=ge(o);e.lineTo(d*a,-u*a),e.lineTo(u*n-d*r,d*n+u*r)}e.closePath()}},we=R(3),gn={draw(e,t){const a=-R(t/(we*3));e.moveTo(0,a*2),e.lineTo(-we*a,-a),e.lineTo(we*a,-a),e.closePath()}},N=-.5,M=R(3)/2,Be=1/R(12),yn=(Be/2+1)*3,bn={draw(e,t){const a=R(t/yn),n=a/2,r=a*Be,i=n,o=a*Be+a,u=-i,d=o;e.moveTo(n,r),e.lineTo(i,o),e.lineTo(u,d),e.lineTo(N*n-M*r,M*n+N*r),e.lineTo(N*i-M*o,M*i+N*o),e.lineTo(N*u-M*d,M*u+N*d),e.lineTo(N*n+M*r,N*r-M*n),e.lineTo(N*i+M*o,N*o-M*i),e.lineTo(N*u+M*d,N*d-M*u),e.closePath()}};function xn(e,t){let a=null,n=sa(r);e=typeof e=="function"?e:me(e||He),t=typeof t=="function"?t:me(t===void 0?64:+t);function r(){let i;if(a||(a=i=n()),e.apply(this,arguments).draw(a,+t.apply(this,arguments)),i)return a=null,i+""||null}return r.type=function(i){return arguments.length?(e=typeof i=="function"?i:me(i),r):e},r.size=function(i){return arguments.length?(t=typeof i=="function"?i:me(+i),r):t},r.context=function(i){return arguments.length?(a=i??null,r):a},r}var kn=["type","size","sizeType"];function Re(){return Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Re.apply(null,arguments)}function st(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function ct(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?st(Object(a),!0).forEach(function(n){jn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):st(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function jn(e,t,a){return(t=An(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function An(e){var t=Pn(e,"string");return typeof t=="symbol"?t:t+""}function Pn(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sn(e,t){if(e==null)return{};var a,n,r=In(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function In(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var $t={symbolCircle:He,symbolCross:cn,symbolDiamond:dn,symbolSquare:mn,symbolStar:pn,symbolTriangle:gn,symbolWye:bn},Tn=Math.PI/180,wn=e=>{var t="symbol".concat(jt(e));return $t[t]||He},On=(e,t,a)=>{if(t==="area")return e;switch(a){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*Tn;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Cn=(e,t)=>{$t["symbol".concat(jt(e))]=t},Lt=e=>{var t=e.type,a=t===void 0?"circle":t,n=e.size,r=n===void 0?64:n,i=e.sizeType,o=i===void 0?"area":i,u=Sn(e,kn),d=ct(ct({},u),{},{type:a,size:r,sizeType:o}),s="circle";typeof a=="string"&&(s=a);var c=()=>{var b=wn(s),p=xn().type(b).size(On(r,o,s)),x=p();if(x!==null)return x},m=d.className,v=d.cx,y=d.cy,h=ca(d);return le(v)&&le(y)&&le(r)?f.createElement("path",Re({},h,{className:_e("recharts-symbols",m),transform:"translate(".concat(v,", ").concat(y,")"),d:c()})):null};Lt.registerSymbol=Cn;function be(){return be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},be.apply(null,arguments)}function ut(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function Bt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?ut(Object(a),!0).forEach(function(n){Nn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ut(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Nn(e,t,a){return(t=Mn(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Mn(e){var t=En(e,"string");return typeof t=="symbol"?t:t+""}function En(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var E=32,Dn={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function $n(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function Ln(e){var t=e.data,a=e.iconType,n=e.inactiveColor,r=E/2,i=E/6,o=E/3,u=t.inactive?n:t.color,d=a??t.type;if(d==="none")return null;if(d==="plainline")return f.createElement("line",{strokeWidth:4,fill:"none",stroke:u,strokeDasharray:$n(t.payload),x1:0,y1:r,x2:E,y2:r,className:"recharts-legend-icon"});if(d==="line")return f.createElement("path",{strokeWidth:4,fill:"none",stroke:u,d:"M0,".concat(r,"h").concat(o,`
1
+ import{r as f,j as l}from"./index-UOGdfLzi.js";import{aQ as kt,ba as ia,au as la,o as Te}from"./App-C9aGkxVg.js";import{A as oa}from"./arrow-up-right-_TX-awvK.js";import{w as sa,c as me,s as ca,i as le,a as _e,u as jt,r as Fe,b as ze,S as ua,d as oe,e as da,p as At,f as ma,g as fa,h as va,j as ha,k as pa,l as ue,m as ga,n as nt,o as ya,q as ba,t as xa,v as ka,x as ja,y as je,z as $e,A as Le,B as Aa,C as Pt,R as Pa,D as Sa,E as z,F as Ia,G as Ta,H as ne,I as wa,J,K as Q,L as St,M as It,N as Tt,O as Oa,P as Ca,Q as rt,T as Na,U as it,V as Ma,W as pe,X as Ue,Y as Ea,Z as wt,_ as Da,$ as $a,a0 as La,a1 as We,a2 as $,a3 as Ot,a4 as Ba,a5 as Ra,a6 as qa,a7 as Ka,a8 as _a,a9 as Fa,aa as Ct,ab as za,ac as Ua,ad as Wa,ae as lt,af as Nt,ag as Ha,ah as Ga,ai as Va,aj as Ya,ak as Xa,al as Za,am as Ja,an as Qa,ao as ot,ap as en,aq as tn,ar as an,as as nn,at as rn,au as ln,av as on}from"./CartesianChart-pOrYpzBr.js";import{r as sn}from"./index-BEPmTPIA.js";const Mt=Math.cos,ge=Math.sin,R=Math.sqrt,ye=Math.PI,Ae=2*ye,He={draw(e,t){const a=R(t/ye);e.moveTo(a,0),e.arc(0,0,a,0,Ae)}},cn={draw(e,t){const a=R(t/5)/2;e.moveTo(-3*a,-a),e.lineTo(-a,-a),e.lineTo(-a,-3*a),e.lineTo(a,-3*a),e.lineTo(a,-a),e.lineTo(3*a,-a),e.lineTo(3*a,a),e.lineTo(a,a),e.lineTo(a,3*a),e.lineTo(-a,3*a),e.lineTo(-a,a),e.lineTo(-3*a,a),e.closePath()}},Et=R(1/3),un=Et*2,dn={draw(e,t){const a=R(t/un),n=a*Et;e.moveTo(0,-a),e.lineTo(n,0),e.lineTo(0,a),e.lineTo(-n,0),e.closePath()}},mn={draw(e,t){const a=R(t),n=-a/2;e.rect(n,n,a,a)}},fn=.8908130915292852,Dt=ge(ye/10)/ge(7*ye/10),vn=ge(Ae/10)*Dt,hn=-Mt(Ae/10)*Dt,pn={draw(e,t){const a=R(t*fn),n=vn*a,r=hn*a;e.moveTo(0,-a),e.lineTo(n,r);for(let i=1;i<5;++i){const o=Ae*i/5,u=Mt(o),d=ge(o);e.lineTo(d*a,-u*a),e.lineTo(u*n-d*r,d*n+u*r)}e.closePath()}},we=R(3),gn={draw(e,t){const a=-R(t/(we*3));e.moveTo(0,a*2),e.lineTo(-we*a,-a),e.lineTo(we*a,-a),e.closePath()}},N=-.5,M=R(3)/2,Be=1/R(12),yn=(Be/2+1)*3,bn={draw(e,t){const a=R(t/yn),n=a/2,r=a*Be,i=n,o=a*Be+a,u=-i,d=o;e.moveTo(n,r),e.lineTo(i,o),e.lineTo(u,d),e.lineTo(N*n-M*r,M*n+N*r),e.lineTo(N*i-M*o,M*i+N*o),e.lineTo(N*u-M*d,M*u+N*d),e.lineTo(N*n+M*r,N*r-M*n),e.lineTo(N*i+M*o,N*o-M*i),e.lineTo(N*u+M*d,N*d-M*u),e.closePath()}};function xn(e,t){let a=null,n=sa(r);e=typeof e=="function"?e:me(e||He),t=typeof t=="function"?t:me(t===void 0?64:+t);function r(){let i;if(a||(a=i=n()),e.apply(this,arguments).draw(a,+t.apply(this,arguments)),i)return a=null,i+""||null}return r.type=function(i){return arguments.length?(e=typeof i=="function"?i:me(i),r):e},r.size=function(i){return arguments.length?(t=typeof i=="function"?i:me(+i),r):t},r.context=function(i){return arguments.length?(a=i??null,r):a},r}var kn=["type","size","sizeType"];function Re(){return Re=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Re.apply(null,arguments)}function st(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function ct(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?st(Object(a),!0).forEach(function(n){jn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):st(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function jn(e,t,a){return(t=An(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function An(e){var t=Pn(e,"string");return typeof t=="symbol"?t:t+""}function Pn(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Sn(e,t){if(e==null)return{};var a,n,r=In(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function In(e,t){if(e==null)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;a[n]=e[n]}return a}var $t={symbolCircle:He,symbolCross:cn,symbolDiamond:dn,symbolSquare:mn,symbolStar:pn,symbolTriangle:gn,symbolWye:bn},Tn=Math.PI/180,wn=e=>{var t="symbol".concat(jt(e));return $t[t]||He},On=(e,t,a)=>{if(t==="area")return e;switch(a){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*Tn;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},Cn=(e,t)=>{$t["symbol".concat(jt(e))]=t},Lt=e=>{var t=e.type,a=t===void 0?"circle":t,n=e.size,r=n===void 0?64:n,i=e.sizeType,o=i===void 0?"area":i,u=Sn(e,kn),d=ct(ct({},u),{},{type:a,size:r,sizeType:o}),s="circle";typeof a=="string"&&(s=a);var c=()=>{var b=wn(s),p=xn().type(b).size(On(r,o,s)),x=p();if(x!==null)return x},m=d.className,v=d.cx,y=d.cy,h=ca(d);return le(v)&&le(y)&&le(r)?f.createElement("path",Re({},h,{className:_e("recharts-symbols",m),transform:"translate(".concat(v,", ").concat(y,")"),d:c()})):null};Lt.registerSymbol=Cn;function be(){return be=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},be.apply(null,arguments)}function ut(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),a.push.apply(a,n)}return a}function Bt(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?ut(Object(a),!0).forEach(function(n){Nn(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ut(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Nn(e,t,a){return(t=Mn(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Mn(e){var t=En(e,"string");return typeof t=="symbol"?t:t+""}function En(e,t){if(typeof e!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var E=32,Dn={align:"center",iconSize:14,inactiveColor:"#ccc",layout:"horizontal",verticalAlign:"middle",labelStyle:{}};function $n(e){if(typeof e=="object"&&e!==null&&"strokeDasharray"in e)return String(e.strokeDasharray)}function Ln(e){var t=e.data,a=e.iconType,n=e.inactiveColor,r=E/2,i=E/6,o=E/3,u=t.inactive?n:t.color,d=a??t.type;if(d==="none")return null;if(d==="plainline")return f.createElement("line",{strokeWidth:4,fill:"none",stroke:u,strokeDasharray:$n(t.payload),x1:0,y1:r,x2:E,y2:r,className:"recharts-legend-icon"});if(d==="line")return f.createElement("path",{strokeWidth:4,fill:"none",stroke:u,d:"M0,".concat(r,"h").concat(o,`
2
2
  A`).concat(i,",").concat(i,",0,1,1,").concat(2*o,",").concat(r,`
3
3
  H`).concat(E,"M").concat(2*o,",").concat(r,`
4
4
  A`).concat(i,",").concat(i,",0,1,1,").concat(o,",").concat(r),className:"recharts-legend-icon"});if(d==="rect")return f.createElement("path",{stroke:"none",fill:u,d:"M0,".concat(E/8,"h").concat(E,"v").concat(E*3/4,"h").concat(-E,"z"),className:"recharts-legend-icon"});if(f.isValidElement(t.legendIcon)){var s=Bt({},t);return delete s.legendIcon,f.cloneElement(t.legendIcon,s)}return f.createElement(Lt,{fill:u,cx:r,cy:r,size:E,sizeType:"diameter",type:d})}function Bn(e){var t=e.payload,a=e.iconSize,n=e.layout,r=e.formatter,i=e.inactiveColor,o=e.iconType,u=e.labelStyle,d={x:0,y:0,width:E,height:E},s={display:n==="horizontal"?"inline-block":"block",marginRight:10},c={display:"inline-block",verticalAlign:"middle",marginRight:4};return t.map((m,v)=>{var y=m.formatter||r,h=_e({"recharts-legend-item":!0,["legend-item-".concat(v)]:!0,inactive:m.inactive});if(m.type==="none")return null;var b=typeof u=="object"?Bt({},u):{};b.color=m.inactive?i:b.color||m.color;var p=y?y(m.value,m,v):m.value;return f.createElement("li",be({className:h,style:s,key:"legend-item-".concat(v)},ze(e,m,v)),f.createElement(ua,{width:a,height:a,viewBox:d,style:c,"aria-label":m.value==null?"legend icon":"".concat(m.value," legend icon")},f.createElement(Ln,{data:m,iconType:o,inactiveColor:i})),f.createElement("span",{className:"recharts-legend-item-text",style:b},p))})}var Rn=e=>{var t=Fe(e,Dn),a=t.payload,n=t.layout,r=t.align;if(!a||!a.length)return null;var i={padding:0,margin:0,textAlign:n==="horizontal"?r:"left"};return f.createElement("ul",{className:"recharts-default-legend",style:i},f.createElement(Bn,be({},t,{payload:a})))};function qn(){return oe(da)}var Kn=["contextPayload"];function qe(){return qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},qe.apply(null,arguments)}function _n(e,t){return Wn(e)||Un(e,t)||zn(e,t)||Fn()}function Fn(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
@@ -1 +1 @@
1
- import{r as f,j as e}from"./index-D-VK8mST.js";import{b8 as X,i as y,aO as Y,b5 as _,o as w,bu as Z}from"./App-DfiCmBv6.js";import{r as B,s as ee}from"./desktop-files-BQj1J-ob.js";import{F as W}from"./folder-open-CnbcQIy8.js";import{M as te}from"./minimize-2-DnxKN5oK.js";import{P as E}from"./MainPane-k1iII9e9.js";import{T as ie}from"./chat-file-links-CqfMdhHQ.js";import{M as ne}from"./MarkdownText-N60tvLug.js";import"./cloud-upload-CUVFzURz.js";import"./arrow-up-right-C7VWgGQP.js";import"./square-B2roZTxf.js";function Ne({chatMessages:i,connection:r,contextWindowStatus:l,expanded:s,runtimeEvents:c,sessionId:d,showToast:u,onResizeStart:S,onToggleExpanded:L,onUseOutput:P,onHandoffOutput:T,onReviseOutput:D,onAgentPackageInstalled:I}){const[k,K]=f.useState("outputs"),[j,x]=f.useState(null),[o,m]=f.useState(null),[v,N]=f.useState(""),[V,H]=f.useState({}),A=f.useMemo(()=>oe(c),[c]),U=f.useMemo(()=>ae(A),[A]),R=f.useMemo(()=>se(i),[i]),$=f.useMemo(()=>re(i),[i]),O=f.useMemo(()=>le(i),[i]);f.useEffect(()=>()=>{o?.objectUrl&&URL.revokeObjectURL(o.objectUrl)},[o?.objectUrl]);async function b(t){if(!r||!d||t.kind!=="file")return null;x(p(t));try{const n=await w.workspaceTool(r,d,{action:"work_output_read",source:"ui_button",args:{outputId:t.id,revision:t.revision}});if(!n.ok)throw new Error(n.output);const a=pe(n.data),h=typeof a.contentsBase64=="string"?a.contentsBase64:"";if(!h)throw new Error("The output did not include file data.");return new File([de(h)],t.title,{type:t.contentType})}catch(n){return u(n instanceof Error?n.message:"Could not load the output.","error"),null}finally{x(null)}}async function q(t){const n=await b(t);if(!n)return;o?.objectUrl&&URL.revokeObjectURL(o.objectUrl);const a=t.kind==="file"&&(t.contentType.startsWith("text/")||t.contentType==="application/json");N(""),m({output:t,file:n,text:a?await n.text():null,objectUrl:a?null:URL.createObjectURL(n)})}async function G(t){const n=await b(t);n&&(P(n),u("Added the output to the task as input.","success"))}async function z(t,n){const a=n.kind==="file"?await b(n):null;n.kind==="file"&&!a||await T(t,n,a)}async function J(t){if(!(!r||!d)&&window.confirm(`Delete ${t.title} revision ${t.revision} from this device?`)){x(p(t));try{const n=await w.workspaceTool(r,d,{action:"work_output_delete",source:"ui_button",args:{outputId:t.id,revision:t.revision}});if(!n.ok)throw new Error(n.output);o?.output.id===t.id&&m(null),u("Work output deleted.","success")}catch(n){u(n instanceof Error?n.message:"Could not delete the output.","error")}finally{x(null)}}}async function Q(t){if(!r||!d||!window.confirm(`Add ${t.title} version ${t.versionId} to your active Agents profile?`))return;const n=async a=>w.workspaceTool(r,d,{action:"work_agent_package_install",source:"ui_button",args:{outputId:t.id,revision:t.revision,overwrite:a}});x(p(t));try{let a;try{a=await n(!1)}catch(h){if(!(h instanceof Error?h.message:"Agent installation failed.").includes("already exists")||!window.confirm(`${t.agentId} already exists. Replace its active checkout with this immutable version?`))throw h;a=await n(!0)}if(!a.ok)throw new Error(a.output);await I?.(),u(`${t.title} was added to Agents. Its package remains available in this Work task.`,"success")}catch(a){u(a instanceof Error?a.message:"Could not add the Agent package.","error")}finally{x(null)}}return e.jsxs("aside",{className:`workspace-diff-panel work-sidebar-panel ${s?"expanded":""}`,"aria-label":"Work details",children:[s?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize Work details",onPointerDown:S}),e.jsxs("div",{className:"workspace-diff-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Work details",children:[["outputs","Outputs"],["activity","Activity"],["context","Context"]].map(([t,n])=>e.jsx("button",{type:"button",className:`workspace-diff-tab ${k===t?"active":""}`,role:"tab","aria-selected":k===t,onClick:()=>K(t),children:n},t))}),e.jsx("div",{className:"workspace-diff-toolbar-actions",children:e.jsx("button",{type:"button",className:"diff-icon-button",title:s?"Dock sidebar":"Expand sidebar","aria-label":s?"Dock sidebar":"Expand sidebar",onClick:L,children:s?e.jsx(te,{size:14}):e.jsx(X,{size:14})})})]}),e.jsxs("div",{className:"work-sidebar-body",children:[k==="outputs"?o?e.jsxs("div",{className:"work-output-preview",children:[e.jsxs("header",{children:[e.jsx("button",{type:"button",onClick:()=>{o.objectUrl&&URL.revokeObjectURL(o.objectUrl),m(null)},children:"Outputs"}),e.jsxs("strong",{children:[o.output.title," · revision ",o.output.revision]})]}),o.text!==null?e.jsx(ne,{content:o.text}):o.output.kind==="file"&&o.output.contentType.startsWith("image/")&&o.objectUrl?e.jsx("img",{src:o.objectUrl,alt:o.output.title}):o.output.kind==="file"&&o.output.contentType==="application/pdf"&&o.objectUrl?e.jsx("iframe",{src:o.objectUrl,title:o.output.title}):o.output.kind==="file"&&o.output.contentType.startsWith("audio/")&&o.objectUrl?e.jsx("audio",{controls:!0,src:o.objectUrl}):o.output.kind==="file"&&o.output.contentType.startsWith("video/")&&o.objectUrl?e.jsx("video",{controls:!0,src:o.objectUrl}):e.jsx("p",{children:"This file type uses its native application for detailed review."}),e.jsxs("section",{className:"work-output-annotation",children:[e.jsx("label",{htmlFor:"work-output-revision-note",children:"Revision note"}),e.jsx("textarea",{id:"work-output-revision-note",value:v,onChange:t=>N(t.target.value),placeholder:"Describe the exact change to make in the next revision."}),e.jsx("button",{type:"button",disabled:!v.trim(),onClick:()=>{D(o.output,o.file,v.trim()),u(`Prepared revision ${o.output.revision+1}.`,"success")},children:"Revise this version"})]})]}):U.length>0?e.jsx("div",{className:"work-output-list",children:U.map(t=>{const n=t.revisions.find(a=>a.revision===V[t.id])??t.revisions[0];return e.jsxs("article",{className:"work-output-card",children:[e.jsxs("header",{children:[e.jsx(y,{size:16}),e.jsxs("span",{children:[e.jsx("strong",{children:n.title}),t.revisions.length>1?e.jsxs("label",{className:"work-output-version",children:[e.jsx("span",{children:"Version"}),e.jsx("select",{value:n.revision,onChange:a=>H(h=>({...h,[t.id]:Number(a.target.value)})),children:t.revisions.map(a=>e.jsxs("option",{value:a.revision,children:["Revision ",a.revision]},p(a)))})]}):e.jsxs("small",{children:["Revision ",n.revision]}),e.jsx("small",{children:ce(n)})]})]}),n.validation.length>0?e.jsxs("div",{className:"work-output-validation",children:[e.jsx(Y,{size:13}),e.jsxs("span",{children:[n.validation.filter(a=>a.status==="passed").length," ","checks passed"]})]}):null,e.jsxs("div",{className:"work-output-actions",children:[n.kind==="file"&&n.location.kind==="local"?e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:()=>{B(M(n))},children:[e.jsx(W,{size:13}),"Reveal"]}),e.jsx("button",{type:"button",onClick:async()=>{const a=await ee(M(n),n.title);a.ok?u("Saved a copy of the Work output.","success"):a.canceled||u("Could not save a copy of the Work output.","error")},children:"Save as"})]}):null,n.kind==="file"?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{q(n)},children:"Preview"}),e.jsxs("button",{type:"button",disabled:j===p(n),onClick:()=>{G(n)},children:[e.jsx(E,{size:13}),"Use as input"]})]}):n.kind==="agent_package"?e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{Q(n)},children:"Add to Agents"}):"url"in n&&n.url?e.jsx("button",{type:"button",onClick:()=>window.open(n.url,"_blank","noopener,noreferrer"),children:"Open"}):null,n.kind==="file"&&n.location.kind==="local"?e.jsxs("button",{type:"button",className:"danger",disabled:j===p(n),onClick:()=>{J(n)},children:[e.jsx(ie,{size:13}),"Delete"]}):null,e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{z("chat",n)},children:"Continue in Chat"}),e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{z("work",n)},children:"Continue in repository Work"})]})]},t.id)})}):$.length>0?e.jsx("div",{className:"work-output-list",children:$.map(t=>e.jsxs("article",{className:"work-output-card",children:[e.jsxs("header",{children:[e.jsx(y,{size:16}),e.jsxs("span",{children:[e.jsx("strong",{children:t.title}),e.jsx("small",{children:C(t.sizeBytes)})]})]}),e.jsx("div",{className:"work-output-actions",children:e.jsxs("button",{type:"button",onClick:()=>{B(t.path)},children:[e.jsx(W,{size:13}),"Reveal"]})})]},t.path))}):e.jsx(F,{icon:y,title:"No saved outputs yet",detail:"Finished files and connected results will appear here."}):null,k==="activity"?R.length>0?e.jsx("div",{className:"work-activity-list",children:R.map(t=>e.jsxs("details",{className:`work-activity-row ${t.state??""}`,children:[e.jsxs("summary",{children:[e.jsx(_,{size:14}),e.jsx("span",{children:t.label}),e.jsx("small",{children:t.state??"completed"})]}),e.jsx("p",{children:t.content}),t.detail?e.jsx("pre",{children:t.detail}):null]},t.id))}):e.jsx(F,{icon:_,title:"No activity yet",detail:"Commands, tool receipts, and checks appear while Work runs."}):null,k==="context"?e.jsxs("div",{className:"work-context",children:[e.jsxs("section",{children:[e.jsx("h3",{children:"Model context"}),e.jsx("p",{children:l.summary}),e.jsx("small",{children:l.tokensLabel})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Task inputs and sources"}),O.length>0?e.jsx("ul",{children:O.map(t=>e.jsxs("li",{children:[e.jsx(E,{size:13}),e.jsxs("span",{children:[e.jsx("strong",{children:t.title}),e.jsx("small",{children:t.detail})]})]},t.key))}):e.jsx("p",{children:"No attached files or cited sources yet."})]})]}):null]})]})}function se(i){return i.flatMap(r=>r.activities??[]).filter(r=>r.kind!=="reasoning").reverse()}function re(i){const r=new Map;for(const l of i)for(const s of l.activities??[])for(const c of s.artifacts??[])!c.path||c.sizeBytes===null||r.set(c.path,{path:c.path,title:c.title,sizeBytes:c.sizeBytes});return[...r.values()].sort((l,s)=>s.path.localeCompare(l.path))}function oe(i){const r=new Map,l=new Set;for(const s of i){const c=g(s.data);if(s.action==="work_output_delete"&&s.status==="completed"){for(const d of c){const u=p(d);l.add(u),r.delete(u)}continue}if(s.action!=="work_output_read")for(const d of c){const u=p(d);l.has(u)||r.set(u,d)}}return[...r.values()].sort((s,c)=>c.createdAt.localeCompare(s.createdAt)||c.revision-s.revision)}function p(i){return`${i.id}:${i.revision}`}function ae(i){const r=new Map;for(const l of i){const s=r.get(l.id)??[];s.push(l),r.set(l.id,s)}return[...r.entries()].map(([l,s])=>({id:l,revisions:s.sort((c,d)=>d.revision-c.revision||d.createdAt.localeCompare(c.createdAt))})).sort((l,s)=>s.revisions[0].createdAt.localeCompare(l.revisions[0].createdAt))}function g(i,r=[],l=new Set,s=0){if(s>8||i==null)return r;const c=Z.safeParse(i);if(c.success){const d=`${c.data.id}:${c.data.revision}`;return l.has(d)||(l.add(d),r.push(c.data)),r}if(Array.isArray(i)){for(const d of i)g(d,r,l,s+1);return r}if(typeof i=="object")for(const d of Object.values(i))g(d,r,l,s+1);return r}function le(i){const r=new Map;for(const l of i){for(const s of l.attachments??[])r.set(`attachment:${s.id}`,{key:`attachment:${s.id}`,title:s.name,detail:`${s.mediaType} · ${C(s.sizeBytes)}`});for(const s of l.sources??[])r.set(`source:${s.id}`,{key:`source:${s.id}`,title:s.title,detail:s.sourceName??ue(s.url)})}return[...r.values()]}function F({icon:i,title:r,detail:l}){return e.jsxs("div",{className:"work-sidebar-empty",children:[e.jsx(i,{size:22}),e.jsx("strong",{children:r}),e.jsx("p",{children:l})]})}function ce(i){return i.kind==="deployment"?"Deployment":i.kind==="source_change"?"Source change":i.kind==="external_resource"?i.provider:i.kind==="agent_package"?`${i.actions.length} action${i.actions.length===1?"":"s"}`:i.location.kind==="local"?C(i.sizeBytes):i.location.kind==="managed"?"Managed file":i.location.provider}function C(i){return i<1024?`${i} B`:i<1024*1024?`${Math.round(i/1024)} KB`:`${(i/(1024*1024)).toFixed(1)} MB`}function de(i){const r=window.atob(i),l=new ArrayBuffer(r.length),s=new Uint8Array(l);for(let c=0;c<r.length;c+=1)s[c]=r.charCodeAt(c);return l}function M(i){return i.kind==="file"&&i.location.kind==="local"?i.location.path:""}function ue(i){try{return new URL(i).hostname||i}catch{return i}}function pe(i){return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}export{Ne as WorkSidebarPanel,re as visibleChatFileArtifacts,se as visibleWorkActivities,oe as workOutputsFromEvents};
1
+ import{r as f,j as e}from"./index-UOGdfLzi.js";import{bd as X,i as y,aU as Y,ba as _,o as w,bz as Z}from"./App-C9aGkxVg.js";import{r as B,s as ee}from"./desktop-files-BQj1J-ob.js";import{F as W}from"./folder-open-DktdZNW7.js";import{M as te}from"./minimize-2-DumTpFtE.js";import{P as E}from"./MainPane-Gw-YK38n.js";import{T as ie}from"./chat-file-links-CWLsRYvW.js";import{M as ne}from"./MarkdownText-DOlVQR8a.js";import"./cloud-upload-uBJBUYTy.js";import"./arrow-up-right-_TX-awvK.js";import"./square-BJrVbmz6.js";function Ne({chatMessages:i,connection:r,contextWindowStatus:l,expanded:s,runtimeEvents:c,sessionId:d,showToast:u,onResizeStart:S,onToggleExpanded:L,onUseOutput:P,onHandoffOutput:T,onReviseOutput:D,onAgentPackageInstalled:I}){const[k,K]=f.useState("outputs"),[j,x]=f.useState(null),[o,m]=f.useState(null),[v,N]=f.useState(""),[V,H]=f.useState({}),A=f.useMemo(()=>oe(c),[c]),U=f.useMemo(()=>ae(A),[A]),R=f.useMemo(()=>se(i),[i]),$=f.useMemo(()=>re(i),[i]),z=f.useMemo(()=>le(i),[i]);f.useEffect(()=>()=>{o?.objectUrl&&URL.revokeObjectURL(o.objectUrl)},[o?.objectUrl]);async function b(t){if(!r||!d||t.kind!=="file")return null;x(p(t));try{const n=await w.workspaceTool(r,d,{action:"work_output_read",source:"ui_button",args:{outputId:t.id,revision:t.revision}});if(!n.ok)throw new Error(n.output);const a=pe(n.data),h=typeof a.contentsBase64=="string"?a.contentsBase64:"";if(!h)throw new Error("The output did not include file data.");return new File([de(h)],t.title,{type:t.contentType})}catch(n){return u(n instanceof Error?n.message:"Could not load the output.","error"),null}finally{x(null)}}async function q(t){const n=await b(t);if(!n)return;o?.objectUrl&&URL.revokeObjectURL(o.objectUrl);const a=t.kind==="file"&&(t.contentType.startsWith("text/")||t.contentType==="application/json");N(""),m({output:t,file:n,text:a?await n.text():null,objectUrl:a?null:URL.createObjectURL(n)})}async function G(t){const n=await b(t);n&&(P(n),u("Added the output to the task as input.","success"))}async function O(t,n){const a=n.kind==="file"?await b(n):null;n.kind==="file"&&!a||await T(t,n,a)}async function J(t){if(!(!r||!d)&&window.confirm(`Delete ${t.title} revision ${t.revision} from this device?`)){x(p(t));try{const n=await w.workspaceTool(r,d,{action:"work_output_delete",source:"ui_button",args:{outputId:t.id,revision:t.revision}});if(!n.ok)throw new Error(n.output);o?.output.id===t.id&&m(null),u("Work output deleted.","success")}catch(n){u(n instanceof Error?n.message:"Could not delete the output.","error")}finally{x(null)}}}async function Q(t){if(!r||!d||!window.confirm(`Add ${t.title} version ${t.versionId} to your active Agents profile?`))return;const n=async a=>w.workspaceTool(r,d,{action:"work_agent_package_install",source:"ui_button",args:{outputId:t.id,revision:t.revision,overwrite:a}});x(p(t));try{let a;try{a=await n(!1)}catch(h){if(!(h instanceof Error?h.message:"Agent installation failed.").includes("already exists")||!window.confirm(`${t.agentId} already exists. Replace its active checkout with this immutable version?`))throw h;a=await n(!0)}if(!a.ok)throw new Error(a.output);await I?.(),u(`${t.title} was added to Agents. Its package remains available in this Work task.`,"success")}catch(a){u(a instanceof Error?a.message:"Could not add the Agent package.","error")}finally{x(null)}}return e.jsxs("aside",{className:`workspace-diff-panel work-sidebar-panel ${s?"expanded":""}`,"aria-label":"Work details",children:[s?null:e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize Work details",onPointerDown:S}),e.jsxs("div",{className:"workspace-diff-topbar",children:[e.jsx("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Work details",children:[["outputs","Outputs"],["activity","Activity"],["context","Context"]].map(([t,n])=>e.jsx("button",{type:"button",className:`workspace-diff-tab ${k===t?"active":""}`,role:"tab","aria-selected":k===t,onClick:()=>K(t),children:n},t))}),e.jsx("div",{className:"workspace-diff-toolbar-actions",children:e.jsx("button",{type:"button",className:"diff-icon-button",title:s?"Dock sidebar":"Expand sidebar","aria-label":s?"Dock sidebar":"Expand sidebar",onClick:L,children:s?e.jsx(te,{size:14}):e.jsx(X,{size:14})})})]}),e.jsxs("div",{className:"work-sidebar-body",children:[k==="outputs"?o?e.jsxs("div",{className:"work-output-preview",children:[e.jsxs("header",{children:[e.jsx("button",{type:"button",onClick:()=>{o.objectUrl&&URL.revokeObjectURL(o.objectUrl),m(null)},children:"Outputs"}),e.jsxs("strong",{children:[o.output.title," · revision ",o.output.revision]})]}),o.text!==null?e.jsx(ne,{content:o.text}):o.output.kind==="file"&&o.output.contentType.startsWith("image/")&&o.objectUrl?e.jsx("img",{src:o.objectUrl,alt:o.output.title}):o.output.kind==="file"&&o.output.contentType==="application/pdf"&&o.objectUrl?e.jsx("iframe",{src:o.objectUrl,title:o.output.title}):o.output.kind==="file"&&o.output.contentType.startsWith("audio/")&&o.objectUrl?e.jsx("audio",{controls:!0,src:o.objectUrl}):o.output.kind==="file"&&o.output.contentType.startsWith("video/")&&o.objectUrl?e.jsx("video",{controls:!0,src:o.objectUrl}):e.jsx("p",{children:"This file type uses its native application for detailed review."}),e.jsxs("section",{className:"work-output-annotation",children:[e.jsx("label",{htmlFor:"work-output-revision-note",children:"Revision note"}),e.jsx("textarea",{id:"work-output-revision-note",value:v,onChange:t=>N(t.target.value),placeholder:"Describe the exact change to make in the next revision."}),e.jsx("button",{type:"button",disabled:!v.trim(),onClick:()=>{D(o.output,o.file,v.trim()),u(`Prepared revision ${o.output.revision+1}.`,"success")},children:"Revise this version"})]})]}):U.length>0?e.jsx("div",{className:"work-output-list",children:U.map(t=>{const n=t.revisions.find(a=>a.revision===V[t.id])??t.revisions[0];return e.jsxs("article",{className:"work-output-card",children:[e.jsxs("header",{children:[e.jsx(y,{size:16}),e.jsxs("span",{children:[e.jsx("strong",{children:n.title}),t.revisions.length>1?e.jsxs("label",{className:"work-output-version",children:[e.jsx("span",{children:"Version"}),e.jsx("select",{value:n.revision,onChange:a=>H(h=>({...h,[t.id]:Number(a.target.value)})),children:t.revisions.map(a=>e.jsxs("option",{value:a.revision,children:["Revision ",a.revision]},p(a)))})]}):e.jsxs("small",{children:["Revision ",n.revision]}),e.jsx("small",{children:ce(n)})]})]}),n.validation.length>0?e.jsxs("div",{className:"work-output-validation",children:[e.jsx(Y,{size:13}),e.jsxs("span",{children:[n.validation.filter(a=>a.status==="passed").length," ","checks passed"]})]}):null,e.jsxs("div",{className:"work-output-actions",children:[n.kind==="file"&&n.location.kind==="local"?e.jsxs(e.Fragment,{children:[e.jsxs("button",{type:"button",onClick:()=>{B(M(n))},children:[e.jsx(W,{size:13}),"Reveal"]}),e.jsx("button",{type:"button",onClick:async()=>{const a=await ee(M(n),n.title);a.ok?u("Saved a copy of the Work output.","success"):a.canceled||u("Could not save a copy of the Work output.","error")},children:"Save as"})]}):null,n.kind==="file"?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{q(n)},children:"Preview"}),e.jsxs("button",{type:"button",disabled:j===p(n),onClick:()=>{G(n)},children:[e.jsx(E,{size:13}),"Use as input"]})]}):n.kind==="agent_package"?e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{Q(n)},children:"Add to Agents"}):"url"in n&&n.url?e.jsx("button",{type:"button",onClick:()=>window.open(n.url,"_blank","noopener,noreferrer"),children:"Open"}):null,n.kind==="file"&&n.location.kind==="local"?e.jsxs("button",{type:"button",className:"danger",disabled:j===p(n),onClick:()=>{J(n)},children:[e.jsx(ie,{size:13}),"Delete"]}):null,e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{O("chat",n)},children:"Continue in Chat"}),e.jsx("button",{type:"button",disabled:j===p(n),onClick:()=>{O("work",n)},children:"Continue in repository Work"})]})]},t.id)})}):$.length>0?e.jsx("div",{className:"work-output-list",children:$.map(t=>e.jsxs("article",{className:"work-output-card",children:[e.jsxs("header",{children:[e.jsx(y,{size:16}),e.jsxs("span",{children:[e.jsx("strong",{children:t.title}),e.jsx("small",{children:C(t.sizeBytes)})]})]}),e.jsx("div",{className:"work-output-actions",children:e.jsxs("button",{type:"button",onClick:()=>{B(t.path)},children:[e.jsx(W,{size:13}),"Reveal"]})})]},t.path))}):e.jsx(F,{icon:y,title:"No saved outputs yet",detail:"Finished files and connected results will appear here."}):null,k==="activity"?R.length>0?e.jsx("div",{className:"work-activity-list",children:R.map(t=>e.jsxs("details",{className:`work-activity-row ${t.state??""}`,children:[e.jsxs("summary",{children:[e.jsx(_,{size:14}),e.jsx("span",{children:t.label}),e.jsx("small",{children:t.state??"completed"})]}),e.jsx("p",{children:t.content}),t.detail?e.jsx("pre",{children:t.detail}):null]},t.id))}):e.jsx(F,{icon:_,title:"No activity yet",detail:"Commands, tool receipts, and checks appear while Work runs."}):null,k==="context"?e.jsxs("div",{className:"work-context",children:[e.jsxs("section",{children:[e.jsx("h3",{children:"Model context"}),e.jsx("p",{children:l.summary}),e.jsx("small",{children:l.tokensLabel})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Task inputs and sources"}),z.length>0?e.jsx("ul",{children:z.map(t=>e.jsxs("li",{children:[e.jsx(E,{size:13}),e.jsxs("span",{children:[e.jsx("strong",{children:t.title}),e.jsx("small",{children:t.detail})]})]},t.key))}):e.jsx("p",{children:"No attached files or cited sources yet."})]})]}):null]})]})}function se(i){return i.flatMap(r=>r.activities??[]).filter(r=>r.kind!=="reasoning").reverse()}function re(i){const r=new Map;for(const l of i)for(const s of l.activities??[])for(const c of s.artifacts??[])!c.path||c.sizeBytes===null||r.set(c.path,{path:c.path,title:c.title,sizeBytes:c.sizeBytes});return[...r.values()].sort((l,s)=>s.path.localeCompare(l.path))}function oe(i){const r=new Map,l=new Set;for(const s of i){const c=g(s.data);if(s.action==="work_output_delete"&&s.status==="completed"){for(const d of c){const u=p(d);l.add(u),r.delete(u)}continue}if(s.action!=="work_output_read")for(const d of c){const u=p(d);l.has(u)||r.set(u,d)}}return[...r.values()].sort((s,c)=>c.createdAt.localeCompare(s.createdAt)||c.revision-s.revision)}function p(i){return`${i.id}:${i.revision}`}function ae(i){const r=new Map;for(const l of i){const s=r.get(l.id)??[];s.push(l),r.set(l.id,s)}return[...r.entries()].map(([l,s])=>({id:l,revisions:s.sort((c,d)=>d.revision-c.revision||d.createdAt.localeCompare(c.createdAt))})).sort((l,s)=>s.revisions[0].createdAt.localeCompare(l.revisions[0].createdAt))}function g(i,r=[],l=new Set,s=0){if(s>8||i==null)return r;const c=Z.safeParse(i);if(c.success){const d=`${c.data.id}:${c.data.revision}`;return l.has(d)||(l.add(d),r.push(c.data)),r}if(Array.isArray(i)){for(const d of i)g(d,r,l,s+1);return r}if(typeof i=="object")for(const d of Object.values(i))g(d,r,l,s+1);return r}function le(i){const r=new Map;for(const l of i){for(const s of l.attachments??[])r.set(`attachment:${s.id}`,{key:`attachment:${s.id}`,title:s.name,detail:`${s.mediaType} · ${C(s.sizeBytes)}`});for(const s of l.sources??[])r.set(`source:${s.id}`,{key:`source:${s.id}`,title:s.title,detail:s.sourceName??ue(s.url)})}return[...r.values()]}function F({icon:i,title:r,detail:l}){return e.jsxs("div",{className:"work-sidebar-empty",children:[e.jsx(i,{size:22}),e.jsx("strong",{children:r}),e.jsx("p",{children:l})]})}function ce(i){return i.kind==="deployment"?"Deployment":i.kind==="source_change"?"Source change":i.kind==="external_resource"?i.provider:i.kind==="agent_package"?`${i.actions.length} action${i.actions.length===1?"":"s"}`:i.location.kind==="local"?C(i.sizeBytes):i.location.kind==="managed"?"Managed file":i.location.provider}function C(i){return i<1024?`${i} B`:i<1024*1024?`${Math.round(i/1024)} KB`:`${(i/(1024*1024)).toFixed(1)} MB`}function de(i){const r=window.atob(i),l=new ArrayBuffer(r.length),s=new Uint8Array(l);for(let c=0;c<r.length;c+=1)s[c]=r.charCodeAt(c);return l}function M(i){return i.kind==="file"&&i.location.kind==="local"?i.location.path:""}function ue(i){try{return new URL(i).hostname||i}catch{return i}}function pe(i){return i&&typeof i=="object"&&!Array.isArray(i)?i:{}}export{Ne as WorkSidebarPanel,re as visibleChatFileArtifacts,se as visibleWorkActivities,oe as workOutputsFromEvents};