@bryanhu/codexly 0.13.0 → 0.14.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 (147) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/README.zh-CN.md +1 -1
  4. package/dist/{chunk-HHFZB7H6.js → chunk-XXAU2AQY.js} +65 -65
  5. package/dist/cli.js +2 -2
  6. package/dist/server/index.js +1 -1
  7. package/dist/web/.vite/manifest.json +65 -65
  8. package/dist/web/.vite/manifest.json.br +0 -0
  9. package/dist/web/.vite/manifest.json.gz +0 -0
  10. package/dist/web/assets/{button-group-CaIXhcq-.js → button-group-JQ4SKm_M.js} +1 -1
  11. package/dist/web/assets/button-group-JQ4SKm_M.js.br +0 -0
  12. package/dist/web/assets/button-group-JQ4SKm_M.js.gz +0 -0
  13. package/dist/web/assets/{context-menu-C6o4ShKC.js → context-menu-BY4fW29a.js} +1 -1
  14. package/dist/web/assets/context-menu-BY4fW29a.js.br +0 -0
  15. package/dist/web/assets/context-menu-BY4fW29a.js.gz +0 -0
  16. package/dist/web/assets/{file-review-dialog-Cd_FWDJj.js → file-review-dialog-CQIeVer4.js} +1 -1
  17. package/dist/web/assets/file-review-dialog-CQIeVer4.js.br +0 -0
  18. package/dist/web/assets/file-review-dialog-CQIeVer4.js.gz +0 -0
  19. package/dist/web/assets/{git-history-panel-CkQhJ-Tz.js → git-history-panel-cnmuCR7N.js} +1 -1
  20. package/dist/web/assets/git-history-panel-cnmuCR7N.js.br +0 -0
  21. package/dist/web/assets/git-history-panel-cnmuCR7N.js.gz +0 -0
  22. package/dist/web/assets/{global-settings-dialog-B9ACq0CT.js → global-settings-dialog-BtJYh2_p.js} +1 -1
  23. package/dist/web/assets/global-settings-dialog-BtJYh2_p.js.br +0 -0
  24. package/dist/web/assets/global-settings-dialog-BtJYh2_p.js.gz +0 -0
  25. package/dist/web/assets/index-BfZBHCrX.css +2 -0
  26. package/dist/web/assets/index-BfZBHCrX.css.br +0 -0
  27. package/dist/web/assets/index-BfZBHCrX.css.gz +0 -0
  28. package/dist/web/assets/index-CaTeB0Nm.js +4 -0
  29. package/dist/web/assets/index-CaTeB0Nm.js.br +0 -0
  30. package/dist/web/assets/index-CaTeB0Nm.js.gz +0 -0
  31. package/dist/web/assets/{installed-skills-pane-BmjTd0Qn.js → installed-skills-pane-mwXKrGXA.js} +1 -1
  32. package/dist/web/assets/installed-skills-pane-mwXKrGXA.js.br +0 -0
  33. package/dist/web/assets/installed-skills-pane-mwXKrGXA.js.gz +0 -0
  34. package/dist/web/assets/{lazy-message-response-Cnc-bbSf.js → lazy-message-response-Biq2ok2E.js} +2 -2
  35. package/dist/web/assets/lazy-message-response-Biq2ok2E.js.br +0 -0
  36. package/dist/web/assets/lazy-message-response-Biq2ok2E.js.gz +0 -0
  37. package/dist/web/assets/{mcp-management-pane-CQPXfAO3.js → mcp-management-pane-BdtuiZSq.js} +1 -1
  38. package/dist/web/assets/mcp-management-pane-BdtuiZSq.js.br +0 -0
  39. package/dist/web/assets/mcp-management-pane-BdtuiZSq.js.gz +0 -0
  40. package/dist/web/assets/{message-response-CamC0ebm.js → message-response-CHtn6tyl.js} +1 -1
  41. package/dist/web/assets/message-response-CHtn6tyl.js.br +0 -0
  42. package/dist/web/assets/message-response-CHtn6tyl.js.gz +0 -0
  43. package/dist/web/assets/{official-plugins-pane-BqGBX0cD.js → official-plugins-pane-BfNSSHYd.js} +1 -1
  44. package/dist/web/assets/official-plugins-pane-BfNSSHYd.js.br +0 -0
  45. package/dist/web/assets/official-plugins-pane-BfNSSHYd.js.gz +0 -0
  46. package/dist/web/assets/{project-file-popup-page-DCct78Pu.js → project-file-popup-page-CfPvJlpw.js} +1 -1
  47. package/dist/web/assets/project-file-popup-page-CfPvJlpw.js.br +0 -0
  48. package/dist/web/assets/project-file-popup-page-CfPvJlpw.js.gz +0 -0
  49. package/dist/web/assets/{project-source-panel-BC6YVLSp.js → project-source-panel-Cw_heTH4.js} +1 -1
  50. package/dist/web/assets/project-source-panel-Cw_heTH4.js.br +0 -0
  51. package/dist/web/assets/project-source-panel-Cw_heTH4.js.gz +0 -0
  52. package/dist/web/assets/{prompt-input-FNZNBIXc.js → prompt-input-C4sSOZy9.js} +1 -1
  53. package/dist/web/assets/prompt-input-C4sSOZy9.js.br +0 -0
  54. package/dist/web/assets/prompt-input-C4sSOZy9.js.gz +0 -0
  55. package/dist/web/assets/{prompt-input-controls-BTOpD8Y-.js → prompt-input-controls-CcVBHVXv.js} +1 -1
  56. package/dist/web/assets/prompt-input-controls-CcVBHVXv.js.br +0 -0
  57. package/dist/web/assets/prompt-input-controls-CcVBHVXv.js.gz +0 -0
  58. package/dist/web/assets/{scheduled-task-date-time-picker-CL9Xb-R5.js → scheduled-task-date-time-picker-DwKbR28n.js} +1 -1
  59. package/dist/web/assets/scheduled-task-date-time-picker-DwKbR28n.js.br +0 -0
  60. package/dist/web/assets/scheduled-task-date-time-picker-DwKbR28n.js.gz +0 -0
  61. package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js +1 -0
  62. package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js.br +0 -0
  63. package/dist/web/assets/scheduled-task-schedule-Cfuv_Kyf.js.gz +0 -0
  64. package/dist/web/assets/scheduled-tasks-container-CiYF44lc.js +2 -0
  65. package/dist/web/assets/scheduled-tasks-container-CiYF44lc.js.br +0 -0
  66. package/dist/web/assets/scheduled-tasks-container-CiYF44lc.js.gz +0 -0
  67. package/dist/web/assets/{sheet-CJD6cMoi.js → sheet-BNFRnQAh.js} +1 -1
  68. package/dist/web/assets/sheet-BNFRnQAh.js.br +0 -0
  69. package/dist/web/assets/sheet-BNFRnQAh.js.gz +0 -0
  70. package/dist/web/assets/{skills-market-container-B8Mss3fh.js → skills-market-container-CfaZk3xM.js} +2 -2
  71. package/dist/web/assets/skills-market-container-CfaZk3xM.js.br +0 -0
  72. package/dist/web/assets/skills-market-container-CfaZk3xM.js.gz +0 -0
  73. package/dist/web/assets/{third-party-marketplace-pane-BsSxaqQR.js → third-party-marketplace-pane-okgMXBqM.js} +1 -1
  74. package/dist/web/assets/third-party-marketplace-pane-okgMXBqM.js.br +0 -0
  75. package/dist/web/assets/third-party-marketplace-pane-okgMXBqM.js.gz +0 -0
  76. package/dist/web/assets/{workbench-composer-Co9mAWP_.js → workbench-composer-Bx73x_MF.js} +2 -2
  77. package/dist/web/assets/workbench-composer-Bx73x_MF.js.br +0 -0
  78. package/dist/web/assets/workbench-composer-Bx73x_MF.js.gz +0 -0
  79. package/dist/web/assets/{workbench-inspector-changes-DcJkQFAH.js → workbench-inspector-changes-DXkowHaf.js} +1 -1
  80. package/dist/web/assets/workbench-inspector-changes-DXkowHaf.js.br +0 -0
  81. package/dist/web/assets/workbench-inspector-changes-DXkowHaf.js.gz +0 -0
  82. package/dist/web/assets/{workbench-pet-canvas-BR5AhUVL.js → workbench-pet-canvas-BroOHYwq.js} +1 -1
  83. package/dist/web/assets/workbench-pet-canvas-BroOHYwq.js.br +0 -0
  84. package/dist/web/assets/workbench-pet-canvas-BroOHYwq.js.gz +0 -0
  85. package/dist/web/assets/{workbench-shell-5F-GWLMO.js → workbench-shell-DnnhILPt.js} +3 -3
  86. package/dist/web/assets/workbench-shell-DnnhILPt.js.br +0 -0
  87. package/dist/web/assets/workbench-shell-DnnhILPt.js.gz +0 -0
  88. package/dist/web/index.html +2 -2
  89. package/dist/web/index.html.br +0 -0
  90. package/dist/web/index.html.gz +0 -0
  91. package/package.json +1 -1
  92. package/dist/web/assets/button-group-CaIXhcq-.js.br +0 -0
  93. package/dist/web/assets/button-group-CaIXhcq-.js.gz +0 -0
  94. package/dist/web/assets/context-menu-C6o4ShKC.js.br +0 -0
  95. package/dist/web/assets/context-menu-C6o4ShKC.js.gz +0 -0
  96. package/dist/web/assets/file-review-dialog-Cd_FWDJj.js.br +0 -0
  97. package/dist/web/assets/file-review-dialog-Cd_FWDJj.js.gz +0 -0
  98. package/dist/web/assets/git-history-panel-CkQhJ-Tz.js.br +0 -0
  99. package/dist/web/assets/git-history-panel-CkQhJ-Tz.js.gz +0 -0
  100. package/dist/web/assets/global-settings-dialog-B9ACq0CT.js.br +0 -0
  101. package/dist/web/assets/global-settings-dialog-B9ACq0CT.js.gz +0 -0
  102. package/dist/web/assets/index-CergXz2m.js +0 -4
  103. package/dist/web/assets/index-CergXz2m.js.br +0 -0
  104. package/dist/web/assets/index-CergXz2m.js.gz +0 -0
  105. package/dist/web/assets/index-jg-dNJI1.css +0 -2
  106. package/dist/web/assets/index-jg-dNJI1.css.br +0 -0
  107. package/dist/web/assets/index-jg-dNJI1.css.gz +0 -0
  108. package/dist/web/assets/installed-skills-pane-BmjTd0Qn.js.br +0 -0
  109. package/dist/web/assets/installed-skills-pane-BmjTd0Qn.js.gz +0 -0
  110. package/dist/web/assets/lazy-message-response-Cnc-bbSf.js.br +0 -0
  111. package/dist/web/assets/lazy-message-response-Cnc-bbSf.js.gz +0 -0
  112. package/dist/web/assets/mcp-management-pane-CQPXfAO3.js.br +0 -0
  113. package/dist/web/assets/mcp-management-pane-CQPXfAO3.js.gz +0 -0
  114. package/dist/web/assets/message-response-CamC0ebm.js.br +0 -0
  115. package/dist/web/assets/message-response-CamC0ebm.js.gz +0 -0
  116. package/dist/web/assets/official-plugins-pane-BqGBX0cD.js.br +0 -0
  117. package/dist/web/assets/official-plugins-pane-BqGBX0cD.js.gz +0 -0
  118. package/dist/web/assets/project-file-popup-page-DCct78Pu.js.br +0 -0
  119. package/dist/web/assets/project-file-popup-page-DCct78Pu.js.gz +0 -0
  120. package/dist/web/assets/project-source-panel-BC6YVLSp.js.br +0 -0
  121. package/dist/web/assets/project-source-panel-BC6YVLSp.js.gz +0 -0
  122. package/dist/web/assets/prompt-input-FNZNBIXc.js.br +0 -0
  123. package/dist/web/assets/prompt-input-FNZNBIXc.js.gz +0 -0
  124. package/dist/web/assets/prompt-input-controls-BTOpD8Y-.js.br +0 -0
  125. package/dist/web/assets/prompt-input-controls-BTOpD8Y-.js.gz +0 -0
  126. package/dist/web/assets/scheduled-task-date-time-picker-CL9Xb-R5.js.br +0 -0
  127. package/dist/web/assets/scheduled-task-date-time-picker-CL9Xb-R5.js.gz +0 -0
  128. package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js +0 -1
  129. package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js.br +0 -0
  130. package/dist/web/assets/scheduled-task-schedule-DfXHCkgb.js.gz +0 -0
  131. package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js +0 -2
  132. package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js.br +0 -0
  133. package/dist/web/assets/scheduled-tasks-container-Bn6tqtCc.js.gz +0 -0
  134. package/dist/web/assets/sheet-CJD6cMoi.js.br +0 -0
  135. package/dist/web/assets/sheet-CJD6cMoi.js.gz +0 -0
  136. package/dist/web/assets/skills-market-container-B8Mss3fh.js.br +0 -0
  137. package/dist/web/assets/skills-market-container-B8Mss3fh.js.gz +0 -0
  138. package/dist/web/assets/third-party-marketplace-pane-BsSxaqQR.js.br +0 -0
  139. package/dist/web/assets/third-party-marketplace-pane-BsSxaqQR.js.gz +0 -0
  140. package/dist/web/assets/workbench-composer-Co9mAWP_.js.br +0 -0
  141. package/dist/web/assets/workbench-composer-Co9mAWP_.js.gz +0 -0
  142. package/dist/web/assets/workbench-inspector-changes-DcJkQFAH.js.br +0 -0
  143. package/dist/web/assets/workbench-inspector-changes-DcJkQFAH.js.gz +0 -0
  144. package/dist/web/assets/workbench-pet-canvas-BR5AhUVL.js.br +0 -0
  145. package/dist/web/assets/workbench-pet-canvas-BR5AhUVL.js.gz +0 -0
  146. package/dist/web/assets/workbench-shell-5F-GWLMO.js.br +0 -0
  147. package/dist/web/assets/workbench-shell-5F-GWLMO.js.gz +0 -0
@@ -0,0 +1 @@
1
+ var e=[`MO`,`TU`,`WE`,`TH`,`FR`,`SA`,`SU`];function t(e){return e===`en`?`en`:`zh-CN`}function n(e){return String(e).padStart(2,`0`)}function r(e){let t=new Date(e);return`${String(t.getFullYear())}-${n(t.getMonth()+1)}-${n(t.getDate())}T${n(t.getHours())}:${n(t.getMinutes())}`}function i(e=Date.now()){let t=new Date(e+3600*1e3);return t.setSeconds(0,0),a(t.getTime())}function a(t){let i=new Date(t);return{dateTime:r(t),monthDay:i.getDate(),preset:`once`,rrule:``,time:`${n(i.getHours())}:${n(i.getMinutes())}`,weekday:e[(i.getDay()+6)%7]??`MO`}}function o(e,t){return{...e,original:{draft:e,schedule:t}}}function s(t){if(t.type===`once`)return o(a(t.atUnixMs),t);let r=a(t.startAtUnixMs),i={...r,preset:`custom`,rrule:t.rrule},s=t.rrule.trim().replace(/^RRULE:/u,``).split(`;`).map(e=>e.split(`=`));if(s.some(e=>e.length!==2))return o(i,t);let u=new Map(s.map(([e,t])=>[e??``,t??``]));if(u.size!==s.length)return o(i,t);let d=u.get(`BYHOUR`),f=u.get(`BYMINUTE`);if(d===void 0||f===void 0||!/^\d{1,2}$/u.test(d)||!/^\d{1,2}$/u.test(f))return o(i,t);let p=`${n(Number(d))}:${n(Number(f))}`;if(!c(p))return o(i,t);let m=u.get(`FREQ`),h=u.get(`BYDAY`),g=Number(u.get(`BYMONTHDAY`));if(m===`DAILY`&&u.size===3)return o({...r,preset:`daily`,time:p},t);if(m===`WEEKLY`&&u.size===4&&h!==void 0){if(h===`MO,TU,WE,TH,FR`)return o({...r,preset:`weekdays`,time:p},t);if(e.includes(h))return o({...r,preset:`weekly`,time:p,weekday:h},t)}return m===`MONTHLY`&&u.size===4&&l(g)?o({...r,monthDay:g,preset:`monthly`,time:p},t):o(i,t)}function c(e){return/^([01]\d|2[0-3]):[0-5]\d$/u.test(e)}function l(e){return Number.isInteger(e)&&e>=1&&e<=31}function u(t,n,r=Date.now()){let i=t.original;if(i!==void 0&&d(t,i.draft))return i.schedule;if(n=i?.schedule.type===`rrule`?i.schedule.timezone:n,t.preset===`once`||t.preset===`custom`){let e=new Date(t.dateTime).getTime();if(!Number.isFinite(e))return;if(t.preset===`once`)return{atUnixMs:e,type:`once`};let r=t.rrule.trim();return r===``?void 0:{rrule:r,startAtUnixMs:e,timezone:n,type:`rrule`}}if(!c(t.time)||t.preset===`weekly`&&!e.includes(t.weekday)||t.preset===`monthly`&&!l(t.monthDay))return;let[a,o]=t.time.split(`:`).map(Number),s=`BYHOUR=${String(a)};BYMINUTE=${String(o)}`,u=t.preset===`daily`?`FREQ=DAILY;${s}`:t.preset===`weekdays`?`FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR;${s}`:t.preset===`weekly`?`FREQ=WEEKLY;BYDAY=${t.weekday};${s}`:`FREQ=MONTHLY;BYMONTHDAY=${String(t.monthDay)};${s}`,f=Math.floor(r/6e4)*6e4;return{rrule:`RRULE:${u}`,startAtUnixMs:f,timezone:n,type:`rrule`}}function d(e,t){return e.dateTime===t.dateTime&&e.monthDay===t.monthDay&&e.preset===t.preset&&e.rrule===t.rrule&&e.time===t.time&&e.weekday===t.weekday}function f(e,n){return e===null?`-`:new Intl.DateTimeFormat(t(n),{dateStyle:`medium`,timeStyle:`short`}).format(e)}export{t as a,f as i,i as n,s as o,u as r,r as s,e as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/scheduled-task-date-time-picker-DwKbR28n.js","assets/rolldown-runtime-CNC7AqOf.js","assets/react-runtime-DaCTDC27.js","assets/initial-deps-DqJTHr9A.js","assets/initial-deps-BsEyuMB0.js","assets/scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~olri0nvu-DAfditVv.js","assets/index-CaTeB0Nm.js","assets/initial-deps-Bx4af_YG.js","assets/initial-deps-CTprc_pY.js","assets/initial-deps-CNK9MBOP.js","assets/initial-deps-Cq4pSOi-.js","assets/initial-deps-Ds-edw-P.js","assets/initial-deps-CQxWMuPh.js","assets/index-BfZBHCrX.css","assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-BischM2-.js","assets/scheduled-task-schedule-Cfuv_Kyf.js","assets/scheduled-task-date-time-picker-Wk3Ob2xl.css"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{t}from"./initial-deps-Bx4af_YG.js";import{i as n,t as r}from"./react-runtime-DaCTDC27.js";import{l as i,o as a,r as o}from"./initial-deps-CTprc_pY.js";import{n as s,s as c}from"./initial-deps-Ds-edw-P.js";import{G as l,m as u,nt as d,u as f,v as p,z as m}from"./initial-deps-DqJTHr9A.js";import{d as h,f as g,l as _,m as v,t as y}from"./workbench-composer-Bx73x_MF.js";import{t as b}from"./external-link-xbPJFZkP.js";import{n as x,t as S}from"./dist-Czw-hil0.js";import{J as C,mt as w}from"./index-CaTeB0Nm.js";import{a as T,i as E,n as D,o as O,r as k,s as A,t as j}from"./scheduled-task-schedule-Cfuv_Kyf.js";var M=e(n(),1),N=r(),P=(0,M.lazy)(()=>t(()=>import(`./scheduled-task-date-time-picker-DwKbR28n.js`).then(e=>({default:e.ScheduledTaskDateTimePicker})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),F=Array.from({length:31},(e,t)=>t+1);function I({onChange:e,schedule:t}){let{i18n:n,t:r}=d(`workbench`),[i]=(0,M.useState)(()=>A(Date.now())),a=t.preset===`once`||t.preset===`custom`,o=T(n.resolvedLanguage),s=(0,M.useMemo)(()=>{let e=new Intl.DateTimeFormat(o,{timeZone:`UTC`,weekday:`short`});return j.map((t,n)=>e.format(new Date(Date.UTC(2024,0,n+1))))},[o]);return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.repeat`)}),(0,N.jsx)(`select`,{onChange:n=>{e({...t,preset:n.currentTarget.value})},value:t.preset,children:[`once`,`daily`,`weekdays`,`weekly`,`monthly`,`custom`].map(e=>(0,N.jsx)(`option`,{value:e,children:r(`scheduledTasks.${e}`)},e))})]}),a?(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.time`)}),(0,N.jsx)(M.Suspense,{fallback:(0,N.jsx)(C,{"aria-label":r(`scheduledTasks.time`),"aria-busy":`true`,disabled:!0,value:``}),children:(0,N.jsx)(P,{minimum:t.preset===`once`?i:``,onChange:n=>{e({...t,dateTime:n})},value:t.dateTime})})]}):(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.timeOfDay`)}),(0,N.jsx)(C,{onChange:n=>{e({...t,time:n.currentTarget.value})},step:60,type:`time`,value:t.time})]}),t.preset===`weekly`?(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.weekday`)}),(0,N.jsx)(`select`,{onChange:n=>{e({...t,weekday:n.currentTarget.value})},value:t.weekday,children:j.map((e,t)=>(0,N.jsx)(`option`,{value:e,children:s[t]},e))})]}):null,t.preset===`monthly`?(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.monthDay`)}),(0,N.jsx)(`select`,{onChange:n=>{e({...t,monthDay:Number(n.currentTarget.value)})},value:t.monthDay,children:F.map(e=>(0,N.jsx)(`option`,{value:e,children:e},e))})]}):null,t.preset===`custom`?(0,N.jsxs)(`label`,{className:`scheduled-task-wide`,children:[(0,N.jsx)(`span`,{children:r(`scheduledTasks.rrule`)}),(0,N.jsx)(C,{maxLength:2048,onChange:n=>{e({...t,rrule:n.currentTarget.value})},placeholder:r(`scheduledTasks.rrulePlaceholder`),spellCheck:!1,value:t.rrule})]}):null]})}function L(e){return e===void 0?[]:e.messageAttachments.map(t=>({attachment:t,...t,previewUrl:t.kind===`image`?s(``,e.projectId,t.id):``,source:`host`}))}function R(e,t){if(e===void 0)return{attachments:[],content:[]};let n=new Map(t.map(e=>[e.id,e])),r=e.prompt.skills.flatMap(e=>{let t=n.get(e.id);return t===void 0?[]:[t]});return{attachments:L(e),content:_(e.prompt.text,r)}}function z(e){let{i18n:t,t:n}=d(`workbench`),r=e.task?.schedule.type===`rrule`?e.task.schedule.timezone:Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`,i=(0,M.useRef)(null),[a,o]=(0,M.useState)(e.task?.name??``),[s,l]=(0,M.useState)(()=>e.task===void 0?D():O(e.task.schedule)),[u,p]=(0,M.useState)(e.task?.turnOptions??e.composerProps.settings),[m,_]=(0,M.useState)(!1),[v,x]=(0,M.useState)(!1),[S,T]=(0,M.useState)(e.task!==void 0&&(e.task.prompt.text.trim()!==``||e.task.prompt.attachments.length>0||e.task.prompt.skills.length>0)),A=(0,M.useMemo)(()=>R(e.task,e.skills),[e.skills,e.task]),j=e.projectId===`temporary`?n(`shell.temporaryTask`):e.projects.find(t=>t.id===e.projectId)?.name??e.projectId,P=k(s,r),F=a.trim()!==``&&P!==void 0&&S,L=e.task,z=async(t,r,i)=>{if(P===void 0)throw Error(n(`scheduledTasks.scheduleInvalid`));await e.onSave(e.task?.id,{enabled:e.task?.enabled??!0,messageAttachments:[...i],name:a.trim(),projectId:e.projectId,projectName:j,prompt:t,schedule:P,turnOptions:r})};return(0,N.jsxs)(`section`,{className:`scheduled-task-editor`,children:[(0,N.jsxs)(`div`,{className:`scheduled-task-toolbar`,children:[L===void 0?(0,N.jsx)(`span`,{}):(0,N.jsxs)(w,{"aria-label":n(`scheduledTasks.runNow`),disabled:L.lastRunStatus===`running`,onClick:()=>{e.onRunNow(L.id)},size:`sm`,type:`button`,variant:`outline`,children:[(0,N.jsx)(g,{"aria-hidden":`true`}),n(`scheduledTasks.runNow`)]}),(0,N.jsxs)(w,{"aria-label":n(`scheduledTasks.save`),disabled:v||!F,onClick:()=>void i.current?.submitCurrent(),size:`sm`,type:`button`,children:[(0,N.jsx)(h,{"aria-hidden":`true`}),n(`scheduledTasks.save`)]})]}),(0,N.jsxs)(`div`,{className:`scheduled-task-fields`,children:[(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:n(`scheduledTasks.name`)}),(0,N.jsx)(C,{maxLength:120,onChange:e=>{o(e.currentTarget.value)},placeholder:n(`scheduledTasks.namePlaceholder`),value:a})]}),(0,N.jsxs)(`label`,{children:[(0,N.jsx)(`span`,{children:n(`scheduledTasks.project`)}),(0,N.jsxs)(`select`,{onChange:t=>{e.onProjectChange(t.currentTarget.value)},value:e.projectId,children:[(0,N.jsx)(`option`,{value:c,children:n(`shell.temporaryTask`)}),e.projects.map(e=>(0,N.jsx)(`option`,{value:e.id,children:e.name},e.id))]})]}),(0,N.jsx)(I,{onChange:l,schedule:s})]}),(0,N.jsxs)(`div`,{className:`scheduled-task-prompt`,children:[(0,N.jsx)(`h3`,{children:n(`scheduledTasks.prompt`)}),(0,N.jsx)(y,{...e.composerProps,captureSubmitVisible:!1,composerDraftId:`scheduled:${e.task?.id??`new`}`,composerRef:i,footerVisible:!1,initialDraft:A,onCaptureSubmission:z,onInputStateChange:T,onSettingsChange:(t,n,r)=>(p(t),e.composerProps.onSettingsChange(t,n,r)),onSubmissionStateChange:x,settings:u})]}),L===void 0?null:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{className:`scheduled-task-runs`,children:[(0,N.jsx)(`h3`,{children:n(`scheduledTasks.lastRun`)}),L.runs.length===0?(0,N.jsx)(`p`,{children:n(`scheduledTasks.noRuns`)}):L.runs.toReversed().map(r=>(0,N.jsxs)(`div`,{className:`scheduled-task-run`,"data-status":r.status,children:[(0,N.jsx)(`span`,{children:n(`scheduledTasks.${r.status}`)}),(0,N.jsx)(`time`,{children:E(r.startedAtUnixMs,t.resolvedLanguage)}),r.taskId===null?(0,N.jsx)(`span`,{className:`truncate text-danger`,children:r.error}):(0,N.jsx)(w,{"aria-label":r.taskId,onClick:()=>{r.taskId!==null&&e.onOpenRun(L.projectId,r.taskId)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,N.jsx)(b,{"aria-hidden":`true`})})]},r.id))]}),(0,N.jsxs)(`div`,{className:`scheduled-task-danger`,children:[m?(0,N.jsx)(w,{onClick:()=>{_(!1)},size:`sm`,type:`button`,variant:`ghost`,children:n(`actions.cancel`)}):null,(0,N.jsxs)(w,{"aria-label":n(m?`scheduledTasks.deleteConfirm`:`scheduledTasks.delete`),onClick:()=>{m?e.onDelete(L.id):_(!0)},size:`sm`,type:`button`,variant:`destructive`,children:[(0,N.jsx)(f,{"aria-hidden":`true`}),n(m?`scheduledTasks.deleteConfirm`:`scheduledTasks.delete`)]})]})]})]})}function B(e){return e.enabled?e.lastRunStatus===`failed`?`failed`:e.lastRunStatus===`running`?`running`:`scheduled`:`paused`}function V({activeId:e,loading:t,onCreate:n,onEnabledChange:r,onSelect:i,query:a,setQuery:o,tasks:s}){let{i18n:c,t:f}=d(`workbench`);return(0,N.jsxs)(`aside`,{className:`scheduled-task-list`,children:[(0,N.jsxs)(`div`,{className:`scheduled-task-list-header`,children:[(0,N.jsxs)(`div`,{className:`flex min-w-0 items-baseline gap-2`,children:[(0,N.jsx)(`h2`,{className:`text-body-small font-semibold`,children:f(`scheduledTasks.title`)}),(0,N.jsx)(`span`,{className:`text-caption text-subtle-foreground`,children:s.length})]}),(0,N.jsx)(w,{"aria-label":f(`scheduledTasks.create`),onClick:n,size:`icon-toolbar`,type:`button`,children:(0,N.jsx)(p,{"aria-hidden":`true`})})]}),(0,N.jsxs)(`div`,{className:`relative mx-3 mb-2.5`,children:[(0,N.jsx)(u,{"aria-hidden":`true`,className:`pointer-events-none absolute left-2.5 top-2 size-3.5 text-subtle-foreground`}),(0,N.jsx)(C,{"aria-label":f(`scheduledTasks.search`),className:`h-8 pl-8`,onChange:e=>{o(e.currentTarget.value)},placeholder:f(`scheduledTasks.search`),type:`search`,value:a})]}),(0,N.jsx)(`div`,{className:`min-h-0 overflow-y-auto px-2 pb-3 [scrollbar-gutter:stable]`,children:t?(0,N.jsx)(`div`,{className:`scheduled-task-empty`,role:`status`,children:(0,N.jsx)(v,{"aria-hidden":`true`})}):s.length===0?(0,N.jsxs)(`div`,{className:`scheduled-task-empty`,children:[(0,N.jsx)(l,{"aria-hidden":`true`}),(0,N.jsx)(`span`,{children:f(`scheduledTasks.empty`)})]}):s.map(t=>{let n=B(t);return(0,N.jsxs)(`div`,{className:`scheduled-task-row`,"data-active":e===t.id||void 0,"data-tone":n,children:[(0,N.jsx)(`span`,{className:`scheduled-task-rail`}),(0,N.jsxs)(`button`,{"aria-current":e===t.id?`page`:void 0,"aria-label":t.name,className:`scheduled-task-row-content`,onClick:()=>{i(t)},type:`button`,children:[(0,N.jsx)(`strong`,{children:t.name}),(0,N.jsx)(`span`,{children:t.projectName}),(0,N.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[n===`failed`?(0,N.jsx)(m,{"aria-hidden":`true`,className:`size-3`}):(0,N.jsx)(v,{"aria-hidden":`true`,className:`size-3`}),t.enabled?E(t.nextRunAtUnixMs,c.resolvedLanguage):f(`scheduledTasks.disabled`)]})]}),(0,N.jsx)(S,{"aria-label":f(t.enabled?`scheduledTasks.disableTask`:`scheduledTasks.enableTask`,{name:t.name}),checked:t.enabled,className:`scheduled-task-switch`,onCheckedChange:e=>{r(t.id,e)},children:(0,N.jsx)(x,{className:`scheduled-task-switch-thumb`})})]},t.id)})})]})}var H=[`scheduled-tasks`],U=[],W=()=>void 0;function G({context:e,projectId:t,temporary:n}){let r=i(),[s,c]=(0,M.useState)(),[l,u]=(0,M.useState)(!1),[d,f]=(0,M.useState)(``),p=a({queryFn:()=>e.client.listScheduledTasks(),queryKey:H,refetchInterval:e=>{let t=e.state.data?.data??U;if(t.some(e=>e.lastRunStatus===`running`))return 1500;let n=t.flatMap(e=>e.enabled&&e.nextRunAtUnixMs!==null?[e.nextRunAtUnixMs]:[]);return n.length!==0&&Math.min(6e4,Math.max(1500,Math.min(...n)-Date.now()))}}),m=p.data?.data??U,h=l?void 0:m.find(e=>e.id===s),g=(0,M.useMemo)(()=>{let e=d.trim().toLocaleLowerCase();return e===``?m:m.filter(t=>`${t.name}\n${t.projectName}`.toLocaleLowerCase().includes(e))},[d,m]),_=()=>r.invalidateQueries({queryKey:H}),v=o({meta:{actionNotification:!1},mutationFn:({taskId:t,...n})=>t===void 0?e.client.createScheduledTask(n):e.client.updateScheduledTask(t,n),onSuccess:e=>{c(e.task.id),u(!1),_()}}),y=o({mutationFn:t=>e.client.deleteScheduledTask(t),onSuccess:()=>{c(void 0),u(!1),_()}}),b=o({mutationFn:({enabled:t,taskId:n})=>e.client.setScheduledTaskEnabled(n,t),onSuccess:e=>{r.setQueryData(H,t=>t===void 0?t:{data:t.data.map(t=>t.id===e.task.id?e.task:t)}),_()}}),x=o({mutationFn:t=>e.client.runScheduledTaskNow(t),onSuccess:()=>void _()}),S=t=>void e.navigate(t===`temporary`?{to:`/temporary/scheduled`}:{params:{projectId:t},to:`/p/$projectId/scheduled`}),C={capabilities:e.capabilities,client:e.client,fastModeAvailable:e.fastModeAvailable,fastModeDefault:e.fastModeDefault,followUpBehavior:e.globalSettings?.followUpBehavior??`queue`,models:e.models,modelsError:e.modelsQuery.error,modelsPending:e.modelsQuery.isPending,onFastModeChange:W,onOpenProjectPath:e.openProjectFolder,onProjectRootChange:e.setSelectedRootId,onRequestNotificationPermission:W,onSettingsChange:W,onTaskStarted:W,projectId:t,projectName:e.projectName,projectPath:e.projectPath,projectPathOpenDisabled:e.projectFolderOpenDisabled,projectRoots:e.projectRoots,projectToolsEnabled:!n,selectedProjectRootId:e.selectedRootId??``,settings:e.draftSettings,skills:e.skillsQuery.data?.data??[]};return(0,N.jsxs)(`div`,{className:`scheduled-tasks`,children:[(0,N.jsx)(V,{...h===void 0?{}:{activeId:h.id},loading:p.isPending,onCreate:()=>{u(!0),c(void 0)},onEnabledChange:(e,t)=>{b.mutate({enabled:t,taskId:e})},onSelect:e=>{u(!1),c(e.id),e.projectId!==t&&S(e.projectId)},query:d,setQuery:f,tasks:g}),l||h!==void 0?(0,N.jsx)(z,{composerProps:C,onDelete:e=>y.mutateAsync(e).then(W),onOpenRun:(t,n)=>void e.navigate(t===`temporary`?{params:{taskId:n},to:`/temporary/t/$taskId`}:{params:{projectId:t,taskId:n},to:`/p/$projectId/t/$taskId`}),onProjectChange:S,onRunNow:e=>x.mutateAsync(e).then(W),onSave:(e,t)=>v.mutateAsync({...t,...e===void 0?{}:{taskId:e}}).then(W),projectId:t,projects:e.projects,skills:e.skillsQuery.data?.data??[],...h===void 0?{}:{task:h}},h?.id??`new:${t}`):(0,N.jsx)(`div`,{className:`scheduled-task-welcome`,children:e.t(`scheduledTasks.selectTask`)})]})}export{G as ScheduledTasksContainer};
@@ -1 +1 @@
1
- import{t as e}from"./react-runtime-DaCTDC27.js";import{s as t}from"./initial-deps-DqJTHr9A.js";import{$ as n,Q as r,X as i,Z as a,et as o,nt as s,tt as c}from"./initial-deps-CQxWMuPh.js";import{ht as l}from"./index-CergXz2m.js";var u=e();function d(e){return(0,u.jsx)(i,{"data-slot":`sheet`,...e})}function f({children:e,...t}){return typeof document>`u`?(0,u.jsx)(u.Fragment,{children:e}):(0,u.jsx)(c,{"data-slot":`sheet-portal`,...t,children:e})}function p({className:e,...t}){return(0,u.jsx)(o,{className:l(`fixed inset-0 z-50 bg-scrim data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),"data-slot":`sheet-overlay`,...t})}function m({children:e,className:n,closeLabel:i=`Close`,showCloseButton:o=!0,side:s=`right`,...c}){return(0,u.jsxs)(f,{children:[(0,u.jsx)(p,{}),(0,u.jsxs)(r,{className:l(`fixed z-50 flex min-w-0 flex-col gap-0 overflow-hidden bg-raised text-foreground shadow-panel outline-none duration-180 data-[state=closed]:animate-out data-[state=open]:animate-in`,s===`right`&&`inset-y-0 right-0 h-dvh w-full border-l border-separator data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-[32rem]`,s===`left`&&`inset-y-0 left-0 h-dvh w-full border-r border-separator data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-[32rem]`,s===`top`&&`inset-x-0 top-0 max-h-dvh border-b border-separator data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,s===`bottom`&&`inset-x-0 bottom-0 max-h-dvh border-t border-separator data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,n),"data-slot":`sheet-content`,...c,children:[e,o?(0,u.jsxs)(a,{className:`absolute right-3 top-3 inline-grid size-7 place-items-center rounded-control text-muted-foreground transition-colors hover:bg-control-hover hover:text-foreground focus-visible:shadow-focus focus-visible:outline-none disabled:pointer-events-none`,children:[(0,u.jsx)(t,{"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sr-only`,children:i})]}):null]})]})}function h({className:e,...t}){return(0,u.jsx)(`div`,{className:l(`flex flex-col gap-1 px-4 py-3`,e),"data-slot":`sheet-header`,...t})}function g({className:e,...t}){return(0,u.jsx)(`div`,{className:l(`mt-auto flex items-center justify-end gap-2 px-4 py-3`,e),"data-slot":`sheet-footer`,...t})}function _({className:e,...t}){return(0,u.jsx)(s,{className:l(`text-heading font-semibold leading-tight`,e),"data-slot":`sheet-title`,...t})}function v({className:e,...t}){return(0,u.jsx)(n,{className:l(`text-body-small text-muted-foreground`,e),"data-slot":`sheet-description`,...t})}export{h as a,g as i,m as n,_ as o,v as r,d as t};
1
+ import{t as e}from"./react-runtime-DaCTDC27.js";import{s as t}from"./initial-deps-DqJTHr9A.js";import{$ as n,Q as r,X as i,Z as a,et as o,nt as s,tt as c}from"./initial-deps-CQxWMuPh.js";import{ht as l}from"./index-CaTeB0Nm.js";var u=e();function d(e){return(0,u.jsx)(i,{"data-slot":`sheet`,...e})}function f({children:e,...t}){return typeof document>`u`?(0,u.jsx)(u.Fragment,{children:e}):(0,u.jsx)(c,{"data-slot":`sheet-portal`,...t,children:e})}function p({className:e,...t}){return(0,u.jsx)(o,{className:l(`fixed inset-0 z-50 bg-scrim data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),"data-slot":`sheet-overlay`,...t})}function m({children:e,className:n,closeLabel:i=`Close`,showCloseButton:o=!0,side:s=`right`,...c}){return(0,u.jsxs)(f,{children:[(0,u.jsx)(p,{}),(0,u.jsxs)(r,{className:l(`fixed z-50 flex min-w-0 flex-col gap-0 overflow-hidden bg-raised text-foreground shadow-panel outline-none duration-180 data-[state=closed]:animate-out data-[state=open]:animate-in`,s===`right`&&`inset-y-0 right-0 h-dvh w-full border-l border-separator data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-[32rem]`,s===`left`&&`inset-y-0 left-0 h-dvh w-full border-r border-separator data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-[32rem]`,s===`top`&&`inset-x-0 top-0 max-h-dvh border-b border-separator data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,s===`bottom`&&`inset-x-0 bottom-0 max-h-dvh border-t border-separator data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,n),"data-slot":`sheet-content`,...c,children:[e,o?(0,u.jsxs)(a,{className:`absolute right-3 top-3 inline-grid size-7 place-items-center rounded-control text-muted-foreground transition-colors hover:bg-control-hover hover:text-foreground focus-visible:shadow-focus focus-visible:outline-none disabled:pointer-events-none`,children:[(0,u.jsx)(t,{"aria-hidden":`true`}),(0,u.jsx)(`span`,{className:`sr-only`,children:i})]}):null]})]})}function h({className:e,...t}){return(0,u.jsx)(`div`,{className:l(`flex flex-col gap-1 px-4 py-3`,e),"data-slot":`sheet-header`,...t})}function g({className:e,...t}){return(0,u.jsx)(`div`,{className:l(`mt-auto flex items-center justify-end gap-2 px-4 py-3`,e),"data-slot":`sheet-footer`,...t})}function _({className:e,...t}){return(0,u.jsx)(s,{className:l(`text-heading font-semibold leading-tight`,e),"data-slot":`sheet-title`,...t})}function v({className:e,...t}){return(0,u.jsx)(n,{className:l(`text-body-small text-muted-foreground`,e),"data-slot":`sheet-description`,...t})}export{h as a,g as i,m as n,_ as o,v as r,d as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/installed-skills-pane-BmjTd0Qn.js","assets/rolldown-runtime-CNC7AqOf.js","assets/react-runtime-DaCTDC27.js","assets/initial-deps-CTprc_pY.js","assets/initial-deps-CNK9MBOP.js","assets/initial-deps-Cq4pSOi-.js","assets/initial-deps-BsEyuMB0.js","assets/initial-deps-DqJTHr9A.js","assets/dist-Czw-hil0.js","assets/initial-deps-CQxWMuPh.js","assets/scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~olri0nvu-DAfditVv.js","assets/index-CergXz2m.js","assets/initial-deps-Bx4af_YG.js","assets/initial-deps-Ds-edw-P.js","assets/index-jg-dNJI1.css","assets/mcp-management-pane-CQPXfAO3.js","assets/official-plugins-pane-BqGBX0cD.js","assets/external-link-xbPJFZkP.js","assets/info-whxTXvIJ.js","assets/sheet-CJD6cMoi.js","assets/official-plugins-pane-BCxHJLaj.css","assets/third-party-marketplace-pane-BsSxaqQR.js","assets/download-iHkzQYEd.js","assets/sparkles-BLY9rqMO.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{t}from"./initial-deps-Bx4af_YG.js";import{i as n,t as r}from"./react-runtime-DaCTDC27.js";import{K as i,Q as a,f as o,nt as s}from"./initial-deps-DqJTHr9A.js";import"./index-CergXz2m.js";var c=a(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),l=a(`store`,[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]),u=e(n(),1),d=r(),f=[{icon:i,value:`skills`},{icon:o,value:`mcp`},{icon:c,value:`plugins`},{icon:l,value:`marketplace`}];function p(e){return f.some(t=>t.value===e)?e:`skills`}function m({active:e,onSelect:t}){let{t:n}=s(`workbench`);return(0,d.jsx)(`div`,{"aria-label":n(`skillsMarket.sectionsLabel`),className:`skills-market-tabs`,role:`tablist`,children:f.map(({icon:r,value:i})=>(0,d.jsxs)(`button`,{"aria-selected":e===i,onClick:()=>{t(i)},role:`tab`,type:`button`,children:[(0,d.jsx)(r,{"aria-hidden":`true`}),n(`skillsMarket.tabs.${i}`)]},i))})}var h=(0,u.lazy)(()=>t(()=>import(`./installed-skills-pane-BmjTd0Qn.js`).then(e=>({default:e.InstalledSkillsPane})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),g=(0,u.lazy)(()=>t(()=>import(`./mcp-management-pane-CQPXfAO3.js`).then(e=>({default:e.McpManagementPane})),__vite__mapDeps([15,2,1,3,4,5,6,7,8,9,10,11,12,13,14]))),_=(0,u.lazy)(()=>t(()=>import(`./official-plugins-pane-BqGBX0cD.js`).then(e=>({default:e.OfficialPluginsPane})),__vite__mapDeps([16,1,2,3,4,5,6,7,17,18,11,12,13,9,10,14,19,20]))),v=(0,u.lazy)(()=>t(()=>import(`./third-party-marketplace-pane-BsSxaqQR.js`).then(e=>({default:e.ThirdPartyMarketplacePane})),__vite__mapDeps([21,1,2,3,4,5,6,7,22,17,23,11,12,13,9,10,14,19])));function y({onSectionChange:e,projectId:t,rootPath:n,section:r}){let{t:i}=s(`workbench`),[a,o]=(0,u.useState)(()=>p(r));return(0,u.useEffect)(()=>{o(p(r))},[r]),(0,d.jsxs)(`section`,{"aria-label":i(`skillsMarket.title`),className:`skills-market extension-center`,children:[(0,d.jsxs)(`header`,{className:`extension-center__header`,children:[(0,d.jsx)(`div`,{className:`extension-center__identity`,children:(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{className:`skills-market-eyebrow`,children:`CODEX EXTENSIONS`}),(0,d.jsx)(`h2`,{children:i(`skillsMarket.title`)})]})}),(0,d.jsx)(m,{active:a,onSelect:t=>{o(t),e?.(t)}})]}),(0,d.jsxs)(u.Suspense,{fallback:(0,d.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:i(`skillsMarket.loadingExtension`)}),children:[a===`skills`?(0,d.jsx)(h,{}):null,a===`mcp`?(0,d.jsx)(g,{}):null,a===`plugins`?(0,d.jsx)(_,{}):null,a===`marketplace`?(0,d.jsx)(v,{...t===void 0?{}:{projectId:t},...n===void 0?{}:{rootPath:n}}):null]})]})}export{y as SkillsMarketContainer};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/installed-skills-pane-mwXKrGXA.js","assets/rolldown-runtime-CNC7AqOf.js","assets/react-runtime-DaCTDC27.js","assets/initial-deps-CTprc_pY.js","assets/initial-deps-CNK9MBOP.js","assets/initial-deps-Cq4pSOi-.js","assets/initial-deps-BsEyuMB0.js","assets/initial-deps-DqJTHr9A.js","assets/dist-Czw-hil0.js","assets/initial-deps-CQxWMuPh.js","assets/scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-file-p~olri0nvu-DAfditVv.js","assets/index-CaTeB0Nm.js","assets/initial-deps-Bx4af_YG.js","assets/initial-deps-Ds-edw-P.js","assets/index-BfZBHCrX.css","assets/mcp-management-pane-BdtuiZSq.js","assets/official-plugins-pane-BfNSSHYd.js","assets/external-link-xbPJFZkP.js","assets/info-whxTXvIJ.js","assets/sheet-BNFRnQAh.js","assets/official-plugins-pane-BCxHJLaj.css","assets/third-party-marketplace-pane-okgMXBqM.js","assets/download-iHkzQYEd.js","assets/sparkles-BLY9rqMO.js"])))=>i.map(i=>d[i]);
2
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{t}from"./initial-deps-Bx4af_YG.js";import{i as n,t as r}from"./react-runtime-DaCTDC27.js";import{K as i,Q as a,f as o,nt as s}from"./initial-deps-DqJTHr9A.js";import"./index-CaTeB0Nm.js";var c=a(`badge-check`,[[`path`,{d:`M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z`,key:`3c2336`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),l=a(`store`,[[`path`,{d:`M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5`,key:`slp6dd`}],[`path`,{d:`M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244`,key:`o0xfot`}],[`path`,{d:`M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05`,key:`wn3emo`}]]),u=e(n(),1),d=r(),f=[{icon:i,value:`skills`},{icon:o,value:`mcp`},{icon:c,value:`plugins`},{icon:l,value:`marketplace`}];function p(e){return f.some(t=>t.value===e)?e:`skills`}function m({active:e,onSelect:t}){let{t:n}=s(`workbench`);return(0,d.jsx)(`div`,{"aria-label":n(`skillsMarket.sectionsLabel`),className:`skills-market-tabs`,role:`tablist`,children:f.map(({icon:r,value:i})=>(0,d.jsxs)(`button`,{"aria-selected":e===i,onClick:()=>{t(i)},role:`tab`,type:`button`,children:[(0,d.jsx)(r,{"aria-hidden":`true`}),n(`skillsMarket.tabs.${i}`)]},i))})}var h=(0,u.lazy)(()=>t(()=>import(`./installed-skills-pane-mwXKrGXA.js`).then(e=>({default:e.InstalledSkillsPane})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))),g=(0,u.lazy)(()=>t(()=>import(`./mcp-management-pane-BdtuiZSq.js`).then(e=>({default:e.McpManagementPane})),__vite__mapDeps([15,2,1,3,4,5,6,7,8,9,10,11,12,13,14]))),_=(0,u.lazy)(()=>t(()=>import(`./official-plugins-pane-BfNSSHYd.js`).then(e=>({default:e.OfficialPluginsPane})),__vite__mapDeps([16,1,2,3,4,5,6,7,17,18,11,12,13,9,10,14,19,20]))),v=(0,u.lazy)(()=>t(()=>import(`./third-party-marketplace-pane-okgMXBqM.js`).then(e=>({default:e.ThirdPartyMarketplacePane})),__vite__mapDeps([21,1,2,3,4,5,6,7,22,17,23,11,12,13,9,10,14,19])));function y({onSectionChange:e,projectId:t,rootPath:n,section:r}){let{t:i}=s(`workbench`),[a,o]=(0,u.useState)(()=>p(r));return(0,u.useEffect)(()=>{o(p(r))},[r]),(0,d.jsxs)(`section`,{"aria-label":i(`skillsMarket.title`),className:`skills-market extension-center`,children:[(0,d.jsxs)(`header`,{className:`extension-center__header`,children:[(0,d.jsx)(`div`,{className:`extension-center__identity`,children:(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`span`,{className:`skills-market-eyebrow`,children:`CODEX EXTENSIONS`}),(0,d.jsx)(`h2`,{children:i(`skillsMarket.title`)})]})}),(0,d.jsx)(m,{active:a,onSelect:t=>{o(t),e?.(t)}})]}),(0,d.jsxs)(u.Suspense,{fallback:(0,d.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:i(`skillsMarket.loadingExtension`)}),children:[a===`skills`?(0,d.jsx)(h,{}):null,a===`mcp`?(0,d.jsx)(g,{}):null,a===`plugins`?(0,d.jsx)(_,{}):null,a===`marketplace`?(0,d.jsx)(v,{...t===void 0?{}:{projectId:t},...n===void 0?{}:{rootPath:n}}):null]})]})}export{y as SkillsMarketContainer};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{l as r,o as i,r as a,t as o}from"./initial-deps-CTprc_pY.js";import{E as s,K as c,Q as l,m as u,nt as d}from"./initial-deps-DqJTHr9A.js";import{t as f}from"./download-iHkzQYEd.js";import{t as p}from"./external-link-xbPJFZkP.js";import{t as m}from"./sparkles-BLY9rqMO.js";import{G as h,H as g,J as _,K as v,Mt as y,U as b,mt as x,q as S}from"./index-CergXz2m.js";import{a as C,i as w,n as T,o as E,r as D,t as O}from"./sheet-CJD6cMoi.js";var k=l(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),A=l(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),j=e(t(),1),M=n();function N(e){try{let t=new URL(e);t.protocol===`https:`&&window.open(t.href,`_blank`,`noopener,noreferrer`)}catch{}}function P({client:e,currentProjectId:t,currentRootPath:n,installedSkills:r,installingScope:a,onClose:o,onInstall:c,projects:l,skill:u}){let{t:_}=d(`workbench`),[y,A]=(0,j.useState)(l.some(e=>e.id===t)?t:l[0]?.id),P=l.find(e=>e.id===y),F=P!==void 0&&P.id===t&&n!==void 0&&P.roots.some(e=>e.path===n)?n:P?.roots[0]?.path,I=i({queryFn:()=>e.getClawhubSkill(u.owner,u.slug),queryKey:[`extensions`,`marketplace`,`detail`,u.owner,u.slug],staleTime:5*6e4}),L=I.data,R=e=>r.find(t=>t.marketplace?.owner===u.owner&&t.marketplace.slug===u.slug&&(e===`user`?t.scope===`user`:t.scope===`repo`&&t.projectId===y))?.marketplace?.installedVersion,z=e=>{let t=R(e);return t===u.latestVersion?_(`skillsMarket.current`):_(t===void 0?e===`user`?`skillsMarket.installGlobal`:`skillsMarket.installProject`:`skillsMarket.update`)},B=a!==null,V=L?.scanStatus!==`clean`;return(0,M.jsx)(O,{open:!0,onOpenChange:e=>{e||o()},children:(0,M.jsxs)(T,{className:`skills-market-detail third-party-skill-sheet`,closeLabel:_(`skillsMarket.closeSkillDetails`),children:[(0,M.jsxs)(C,{className:`skills-market-detail__header`,children:[(0,M.jsx)(`div`,{className:`skills-market-detail__mark`,"aria-hidden":`true`,children:(0,M.jsx)(m,{})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(E,{className:`truncate text-title`,children:u.displayName}),(0,M.jsxs)(D,{children:[`@`,u.owner,` / `,u.slug]})]}),L===void 0?null:(0,M.jsxs)(`span`,{className:`skills-market-scan`,children:[(0,M.jsx)(k,{"aria-hidden":`true`}),_(`skillsMarket.codexCompatible`)]})]}),(0,M.jsxs)(`div`,{className:`skills-market-detail__facts`,children:[(0,M.jsx)(`span`,{children:_(`skillsMarket.version`,{version:u.latestVersion})}),(0,M.jsx)(`span`,{children:_(`skillsMarket.downloads`,{count:u.downloads})}),(0,M.jsx)(`span`,{children:_(`skillsMarket.stars`,{count:u.stars})}),L===void 0?null:(0,M.jsx)(`span`,{children:_(`skillsMarket.scan`,{status:L.scanStatus})})]}),(0,M.jsx)(`div`,{className:`skills-market-detail__body third-party-skill-sheet__body`,children:I.isPending?(0,M.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:_(`skillsMarket.loadingDetail`)}):I.error===null?(0,M.jsx)(`pre`,{className:`skills-market-readme`,children:L?.readme}):(0,M.jsx)(`div`,{className:`skills-market-state`,role:`alert`,children:_(`skillsMarket.loadError`)})}),(0,M.jsxs)(w,{className:`skills-market-detail__footer third-party-skill-sheet__footer`,children:[(0,M.jsxs)(x,{className:`third-party-skill-sheet__market-link`,onClick:()=>{N(u.canonicalUrl)},type:`button`,variant:`ghost`,children:[(0,M.jsx)(p,{"aria-hidden":`true`}),_(`skillsMarket.openMarketplace`)]}),(0,M.jsxs)(`div`,{className:`third-party-skill-sheet__actions`,children:[P===void 0||F===void 0?null:(0,M.jsxs)(`div`,{className:`skills-market-project-target`,children:[(0,M.jsxs)(g,{onValueChange:A,value:P.id,children:[(0,M.jsx)(v,{"aria-label":_(`skillsMarket.projectTarget`),size:`sm`,title:P.name,children:(0,M.jsx)(S,{})}),(0,M.jsx)(b,{align:`end`,position:`popper`,children:l.map(e=>(0,M.jsx)(h,{value:e.id,children:e.name},e.id))})]}),(0,M.jsxs)(x,{disabled:V||B||R(`project`)===u.latestVersion,onClick:()=>{c(u,`project`,{projectId:P.id,rootPath:F})},type:`button`,variant:`outline`,children:[a===`project`?(0,M.jsx)(s,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`loading`}):(0,M.jsx)(f,{"aria-hidden":`true`}),z(`project`)]})]}),(0,M.jsxs)(x,{disabled:V||B||R(`user`)===u.latestVersion,onClick:()=>{c(u,`user`,{})},type:`button`,children:[a===`user`?(0,M.jsx)(s,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`loading`}):(0,M.jsx)(f,{"aria-hidden":`true`}),z(`user`)]})]})]})]})})}function F(e){let[t,n]=(0,j.useState)(e);return(0,j.useEffect)(()=>{let t=window.setTimeout(()=>{n(e)},250);return()=>{window.clearTimeout(t)}},[e]),t}function I({skill:e,onOpen:t}){return(0,M.jsxs)(`button`,{className:`skills-market-card`,onClick:()=>{t(e)},type:`button`,children:[(0,M.jsxs)(`span`,{className:`skills-market-card__topline`,children:[(0,M.jsx)(`span`,{className:`skills-market-glyph`,"data-tone":`marketplace`,"aria-hidden":`true`,children:(0,M.jsx)(c,{})}),(0,M.jsxs)(`span`,{className:`min-w-0 flex-1 text-left`,children:[(0,M.jsx)(`strong`,{className:`block truncate text-body-small`,children:e.displayName}),(0,M.jsxs)(`span`,{className:`block truncate text-label text-muted-foreground`,children:[`@`,e.owner]})]}),(0,M.jsxs)(`span`,{className:`skills-version`,children:[`v`,e.latestVersion]})]}),(0,M.jsx)(`span`,{className:`skills-market-card__summary`,children:e.summary}),(0,M.jsxs)(`span`,{className:`skills-market-card__footer`,children:[(0,M.jsxs)(`span`,{children:[(0,M.jsx)(f,{"aria-hidden":`true`}),e.downloads.toLocaleString()]}),(0,M.jsxs)(`span`,{children:[(0,M.jsx)(A,{"aria-hidden":`true`}),e.stars.toLocaleString()]})]})]})}function L({projectId:e,rootPath:t}){let{t:n}=d(`workbench`),{client:s,projects:c}=y(),l=r(),[f,p]=(0,j.useState)(``),[m,C]=(0,j.useState)(`recommended`),[w,T]=(0,j.useState)(null),E=F(f.trim()),D=i({queryFn:()=>s.listInstalledSkills(),queryKey:[`extensions`,`skills`]}),O=o({getNextPageParam:e=>e.nextCursor??void 0,initialPageParam:null,queryFn:({pageParam:e})=>s.listClawhubSkills(E,e,m),queryKey:[`extensions`,`marketplace`,`clawhub`,E,m],staleTime:2*6e4}),k=a({meta:{actionNotification:{successMessage:n(`skillsMarket.installComplete`)}},mutationFn:({projectId:e,rootPath:t,scope:n,skill:r})=>s.installClawhubSkill(r.owner,r.slug,n,e,t),onSuccess:()=>(T(null),l.invalidateQueries({queryKey:[`extensions`,`skills`]}))}),A=O.data?.pages.flatMap(e=>e.items)??[];return(0,M.jsxs)(`div`,{className:`skills-market-pane`,role:`tabpanel`,children:[(0,M.jsxs)(`div`,{className:`skills-market-toolbar`,children:[(0,M.jsxs)(`div`,{className:`skills-market-search`,children:[(0,M.jsx)(u,{"aria-hidden":`true`}),(0,M.jsx)(_,{"aria-label":n(`skillsMarket.search`),onChange:e=>{p(e.currentTarget.value)},placeholder:n(`skillsMarket.search`),value:f})]}),(0,M.jsxs)(g,{onValueChange:C,value:m,children:[(0,M.jsx)(v,{"aria-label":n(`skillsMarket.sort`),children:(0,M.jsx)(S,{})}),(0,M.jsxs)(b,{children:[(0,M.jsx)(h,{value:`recommended`,children:n(`skillsMarket.sortRecommended`)}),(0,M.jsx)(h,{value:`downloads`,children:n(`skillsMarket.sortDownloads`)}),(0,M.jsx)(h,{value:`updated`,children:n(`skillsMarket.sortUpdated`)})]})]})]}),O.isPending?(0,M.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:n(`skillsMarket.loadingMarket`)}):O.error===null?A.length===0?(0,M.jsx)(`div`,{className:`skills-market-state`,children:n(`skillsMarket.emptyMarket`)}):(0,M.jsx)(`div`,{className:`skills-market-grid`,children:A.map(e=>(0,M.jsx)(I,{onOpen:T,skill:e},e.id))}):(0,M.jsx)(`div`,{className:`skills-market-state`,role:`alert`,children:n(`skillsMarket.marketError`)}),O.hasNextPage?(0,M.jsx)(x,{className:`mx-auto`,disabled:O.isFetchingNextPage,onClick:()=>void O.fetchNextPage(),type:`button`,variant:`outline`,children:n(O.isFetchingNextPage?`skillsMarket.loading`:`skillsMarket.loadMore`)}):null,w===null?null:(0,M.jsx)(P,{client:s,currentProjectId:e,currentRootPath:t,installedSkills:D.data?.data??[],installingScope:k.isPending?k.variables.scope:null,onClose:()=>{T(null)},onInstall:(e,t,n)=>{k.mutate({scope:t,skill:e,...n})},projects:c,skill:w})]})}export{L as ThirdPartyMarketplacePane};
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{l as r,o as i,r as a,t as o}from"./initial-deps-CTprc_pY.js";import{E as s,K as c,Q as l,m as u,nt as d}from"./initial-deps-DqJTHr9A.js";import{t as f}from"./download-iHkzQYEd.js";import{t as p}from"./external-link-xbPJFZkP.js";import{t as m}from"./sparkles-BLY9rqMO.js";import{G as h,H as g,J as _,K as v,Mt as y,U as b,mt as x,q as S}from"./index-CaTeB0Nm.js";import{a as C,i as w,n as T,o as E,r as D,t as O}from"./sheet-BNFRnQAh.js";var k=l(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),A=l(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),j=e(t(),1),M=n();function N(e){try{let t=new URL(e);t.protocol===`https:`&&window.open(t.href,`_blank`,`noopener,noreferrer`)}catch{}}function P({client:e,currentProjectId:t,currentRootPath:n,installedSkills:r,installingScope:a,onClose:o,onInstall:c,projects:l,skill:u}){let{t:_}=d(`workbench`),[y,A]=(0,j.useState)(l.some(e=>e.id===t)?t:l[0]?.id),P=l.find(e=>e.id===y),F=P!==void 0&&P.id===t&&n!==void 0&&P.roots.some(e=>e.path===n)?n:P?.roots[0]?.path,I=i({queryFn:()=>e.getClawhubSkill(u.owner,u.slug),queryKey:[`extensions`,`marketplace`,`detail`,u.owner,u.slug],staleTime:5*6e4}),L=I.data,R=e=>r.find(t=>t.marketplace?.owner===u.owner&&t.marketplace.slug===u.slug&&(e===`user`?t.scope===`user`:t.scope===`repo`&&t.projectId===y))?.marketplace?.installedVersion,z=e=>{let t=R(e);return t===u.latestVersion?_(`skillsMarket.current`):_(t===void 0?e===`user`?`skillsMarket.installGlobal`:`skillsMarket.installProject`:`skillsMarket.update`)},B=a!==null,V=L?.scanStatus!==`clean`;return(0,M.jsx)(O,{open:!0,onOpenChange:e=>{e||o()},children:(0,M.jsxs)(T,{className:`skills-market-detail third-party-skill-sheet`,closeLabel:_(`skillsMarket.closeSkillDetails`),children:[(0,M.jsxs)(C,{className:`skills-market-detail__header`,children:[(0,M.jsx)(`div`,{className:`skills-market-detail__mark`,"aria-hidden":`true`,children:(0,M.jsx)(m,{})}),(0,M.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,M.jsx)(E,{className:`truncate text-title`,children:u.displayName}),(0,M.jsxs)(D,{children:[`@`,u.owner,` / `,u.slug]})]}),L===void 0?null:(0,M.jsxs)(`span`,{className:`skills-market-scan`,children:[(0,M.jsx)(k,{"aria-hidden":`true`}),_(`skillsMarket.codexCompatible`)]})]}),(0,M.jsxs)(`div`,{className:`skills-market-detail__facts`,children:[(0,M.jsx)(`span`,{children:_(`skillsMarket.version`,{version:u.latestVersion})}),(0,M.jsx)(`span`,{children:_(`skillsMarket.downloads`,{count:u.downloads})}),(0,M.jsx)(`span`,{children:_(`skillsMarket.stars`,{count:u.stars})}),L===void 0?null:(0,M.jsx)(`span`,{children:_(`skillsMarket.scan`,{status:L.scanStatus})})]}),(0,M.jsx)(`div`,{className:`skills-market-detail__body third-party-skill-sheet__body`,children:I.isPending?(0,M.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:_(`skillsMarket.loadingDetail`)}):I.error===null?(0,M.jsx)(`pre`,{className:`skills-market-readme`,children:L?.readme}):(0,M.jsx)(`div`,{className:`skills-market-state`,role:`alert`,children:_(`skillsMarket.loadError`)})}),(0,M.jsxs)(w,{className:`skills-market-detail__footer third-party-skill-sheet__footer`,children:[(0,M.jsxs)(x,{className:`third-party-skill-sheet__market-link`,onClick:()=>{N(u.canonicalUrl)},type:`button`,variant:`ghost`,children:[(0,M.jsx)(p,{"aria-hidden":`true`}),_(`skillsMarket.openMarketplace`)]}),(0,M.jsxs)(`div`,{className:`third-party-skill-sheet__actions`,children:[P===void 0||F===void 0?null:(0,M.jsxs)(`div`,{className:`skills-market-project-target`,children:[(0,M.jsxs)(g,{onValueChange:A,value:P.id,children:[(0,M.jsx)(v,{"aria-label":_(`skillsMarket.projectTarget`),size:`sm`,title:P.name,children:(0,M.jsx)(S,{})}),(0,M.jsx)(b,{align:`end`,position:`popper`,children:l.map(e=>(0,M.jsx)(h,{value:e.id,children:e.name},e.id))})]}),(0,M.jsxs)(x,{disabled:V||B||R(`project`)===u.latestVersion,onClick:()=>{c(u,`project`,{projectId:P.id,rootPath:F})},type:`button`,variant:`outline`,children:[a===`project`?(0,M.jsx)(s,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`loading`}):(0,M.jsx)(f,{"aria-hidden":`true`}),z(`project`)]})]}),(0,M.jsxs)(x,{disabled:V||B||R(`user`)===u.latestVersion,onClick:()=>{c(u,`user`,{})},type:`button`,children:[a===`user`?(0,M.jsx)(s,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`loading`}):(0,M.jsx)(f,{"aria-hidden":`true`}),z(`user`)]})]})]})]})})}function F(e){let[t,n]=(0,j.useState)(e);return(0,j.useEffect)(()=>{let t=window.setTimeout(()=>{n(e)},250);return()=>{window.clearTimeout(t)}},[e]),t}function I({skill:e,onOpen:t}){return(0,M.jsxs)(`button`,{className:`skills-market-card`,onClick:()=>{t(e)},type:`button`,children:[(0,M.jsxs)(`span`,{className:`skills-market-card__topline`,children:[(0,M.jsx)(`span`,{className:`skills-market-glyph`,"data-tone":`marketplace`,"aria-hidden":`true`,children:(0,M.jsx)(c,{})}),(0,M.jsxs)(`span`,{className:`min-w-0 flex-1 text-left`,children:[(0,M.jsx)(`strong`,{className:`block truncate text-body-small`,children:e.displayName}),(0,M.jsxs)(`span`,{className:`block truncate text-label text-muted-foreground`,children:[`@`,e.owner]})]}),(0,M.jsxs)(`span`,{className:`skills-version`,children:[`v`,e.latestVersion]})]}),(0,M.jsx)(`span`,{className:`skills-market-card__summary`,children:e.summary}),(0,M.jsxs)(`span`,{className:`skills-market-card__footer`,children:[(0,M.jsxs)(`span`,{children:[(0,M.jsx)(f,{"aria-hidden":`true`}),e.downloads.toLocaleString()]}),(0,M.jsxs)(`span`,{children:[(0,M.jsx)(A,{"aria-hidden":`true`}),e.stars.toLocaleString()]})]})]})}function L({projectId:e,rootPath:t}){let{t:n}=d(`workbench`),{client:s,projects:c}=y(),l=r(),[f,p]=(0,j.useState)(``),[m,C]=(0,j.useState)(`recommended`),[w,T]=(0,j.useState)(null),E=F(f.trim()),D=i({queryFn:()=>s.listInstalledSkills(),queryKey:[`extensions`,`skills`]}),O=o({getNextPageParam:e=>e.nextCursor??void 0,initialPageParam:null,queryFn:({pageParam:e})=>s.listClawhubSkills(E,e,m),queryKey:[`extensions`,`marketplace`,`clawhub`,E,m],staleTime:2*6e4}),k=a({meta:{actionNotification:{successMessage:n(`skillsMarket.installComplete`)}},mutationFn:({projectId:e,rootPath:t,scope:n,skill:r})=>s.installClawhubSkill(r.owner,r.slug,n,e,t),onSuccess:()=>(T(null),l.invalidateQueries({queryKey:[`extensions`,`skills`]}))}),A=O.data?.pages.flatMap(e=>e.items)??[];return(0,M.jsxs)(`div`,{className:`skills-market-pane`,role:`tabpanel`,children:[(0,M.jsxs)(`div`,{className:`skills-market-toolbar`,children:[(0,M.jsxs)(`div`,{className:`skills-market-search`,children:[(0,M.jsx)(u,{"aria-hidden":`true`}),(0,M.jsx)(_,{"aria-label":n(`skillsMarket.search`),onChange:e=>{p(e.currentTarget.value)},placeholder:n(`skillsMarket.search`),value:f})]}),(0,M.jsxs)(g,{onValueChange:C,value:m,children:[(0,M.jsx)(v,{"aria-label":n(`skillsMarket.sort`),children:(0,M.jsx)(S,{})}),(0,M.jsxs)(b,{children:[(0,M.jsx)(h,{value:`recommended`,children:n(`skillsMarket.sortRecommended`)}),(0,M.jsx)(h,{value:`downloads`,children:n(`skillsMarket.sortDownloads`)}),(0,M.jsx)(h,{value:`updated`,children:n(`skillsMarket.sortUpdated`)})]})]})]}),O.isPending?(0,M.jsx)(`div`,{className:`skills-market-state`,role:`status`,children:n(`skillsMarket.loadingMarket`)}):O.error===null?A.length===0?(0,M.jsx)(`div`,{className:`skills-market-state`,children:n(`skillsMarket.emptyMarket`)}):(0,M.jsx)(`div`,{className:`skills-market-grid`,children:A.map(e=>(0,M.jsx)(I,{onOpen:T,skill:e},e.id))}):(0,M.jsx)(`div`,{className:`skills-market-state`,role:`alert`,children:n(`skillsMarket.marketError`)}),O.hasNextPage?(0,M.jsx)(x,{className:`mx-auto`,disabled:O.isFetchingNextPage,onClick:()=>void O.fetchNextPage(),type:`button`,variant:`outline`,children:n(O.isFetchingNextPage?`skillsMarket.loading`:`skillsMarket.loadMore`)}):null,w===null?null:(0,M.jsx)(P,{client:s,currentProjectId:e,currentRootPath:t,installedSkills:D.data?.data??[],installingScope:k.isPending?k.variables.scope:null,onClose:()=>{T(null)},onInstall:(e,t,n)=>{k.mutate({scope:t,skill:e,...n})},projects:c,skill:w})]})}export{L as ThirdPartyMarketplacePane};
@@ -1,6 +1,6 @@
1
- import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{a as r,b as i,f as a,l as o,o as s,s as c}from"./initial-deps-CTprc_pY.js";import{c as l,l as u,s as d}from"./initial-deps-BsEyuMB0.js";import{d as f,f as p,l as m,m as h,n as g,p as _,u as v}from"./initial-deps-Ds-edw-P.js";import{B as y,E as b,H as x,O as S,Q as C,U as w,V as T,W as E,at as D,b as ee,g as te,j as O,n as ne,nt as k,p as A,q as j,s as M,t as N,u as P,v as F}from"./initial-deps-DqJTHr9A.js";import{t as re}from"./file-pen-line-B05lVjWh.js";import{_ as I,a as ie,b as L,c as R,d as z,f as B,g as V,h as ae,i as H,l as U,n as oe,o as se,p as W,r as G,s as ce,t as le,u as ue,x as de}from"./prompt-input-controls-BTOpD8Y-.js";import{i as fe,n as pe,r as me,t as he}from"./prompt-input-FNZNBIXc.js";import{t as ge}from"./sparkles-BLY9rqMO.js";import{G as _e,K as ve,U as ye,W as be,at as xe,ct as Se,dt as Ce,ft as we,gt as Te,ht as Ee,it as De,lt as Oe,ot as ke,pt as Ae,st as je,ut as Me}from"./initial-deps-CQxWMuPh.js";import{$ as Ne,A as Pe,B as K,D as Fe,E as Ie,F as Le,G as Re,H as ze,I as Be,J as Ve,K as He,M as Ue,Mt as We,N as q,O as Ge,Ot as Ke,P as qe,Q as J,R as Je,T as Ye,U as Xe,V as Y,X as Ze,Y as Qe,Z as $e,at as et,bt as tt,c as nt,et as rt,fn as it,ht as at,j as X,k as ot,l as st,mt as Z,o as ct,ot as lt,q as ut,rn as dt,rt as ft,s as pt,tt as mt,yt as ht,z as gt}from"./index-CergXz2m.js";import{t as _t}from"./prompt-reference-token-Cxx6C-IR.js";var vt=C(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),yt=C(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),bt=C(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),xt=C(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),St=C(`circle-gauge`,[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`,key:`1e0p6d`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M13.4 10.6 19 5`,key:`1kr7tw`}]]),Ct=C(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),wt=C(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Tt=C(`folder-kanban`,[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`,key:`1fr9dc`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M12 10v2`,key:`hh53o1`}],[`path`,{d:`M16 10v6`,key:`1d6xys`}]]),Et=C(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dt=C(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ot=C(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),kt=C(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),At=C(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),jt=C(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),Mt=C(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Nt=C(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Q=e(t(),1),$=n(),Pt=Object.defineProperty,Ft=(e,t)=>Pt(e,`name`,{value:t,configurable:!0}),It=`Popover`,[Lt,Rt]=we(It,[ve]),zt=ve(),[Bt,Vt]=Lt(It),Ht=Ft(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=zt(t),c=Q.useRef(null),[l,u]=Q.useState(!1),[d,f]=Me({prop:r,defaultProp:i??!1,onChange:a,caller:It});return(0,$.jsx)(_e,{...s,children:(0,$.jsx)(Bt,{scope:t,contentId:Se(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:Q.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:Q.useCallback(()=>u(!0),[]),onCustomAnchorRemove:Q.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),Ut=`PopoverTrigger`,Wt=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,...r}=e,i=Vt(Ut,n),a=zt(n),o=Te(t,i.triggerRef),s=(0,$.jsx)(Ae.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":tn(i.open),...r,ref:o,onClick:Ce(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,$.jsx)(ye,{asChild:!0,...a,children:s})},`PopoverTrigger`)),Gt=`PopoverPortal`,[Kt,qt]=Lt(Gt,{forceMount:void 0}),Jt=Ft(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Vt(Gt,t);return(0,$.jsx)(Kt,{scope:t,forceMount:n,children:(0,$.jsx)(Oe,{present:n||a.open,children:(0,$.jsx)(xe,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),Yt=`PopoverContent`,Xt=Q.forwardRef(Ft(function(e,t){let n=qt(Yt,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Vt(Yt,e.__scopePopover);return(0,$.jsx)(Oe,{present:r||a.open,children:a.modal?(0,$.jsx)(Qt,{...i,ref:t}):(0,$.jsx)($t,{...i,ref:t})})},`PopoverContent`)),Zt=Ee(`PopoverContent.RemoveScroll`),Qt=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(null),i=Te(t,r),a=Q.useRef(!1);return Q.useEffect(()=>{let e=r.current;if(e)return N(e)},[]),(0,$.jsx)(ne,{as:Zt,allowPinchZoom:!0,children:(0,$.jsx)(en,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Ce(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),$t=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(!1),i=Q.useRef(!1);return(0,$.jsx)(en,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),en=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Vt(Yt,n),p=zt(n);return De(),(0,$.jsx)(ke,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,$.jsx)(je,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,$.jsx)(be,{"data-state":tn(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function tn(e){return e?`open`:`closed`}Ft(tn,`getState`);var nn=Ht,rn=Wt,an=Jt,on=Xt;function sn(e,t){return cn([...t.flatMap(e=>[{skill:e,type:`skill`},{text:` `,type:`text`}]),...e===``?[]:[{text:e,type:`text`}]])}function cn(e){let t=[];for(let n of e){if(n.type===`text`){if(n.text===``)continue;let e=t.at(-1);e?.type===`text`?t[t.length-1]={text:e.text+n.text,type:`text`}:t.push(n);continue}t.push(n)}return t}function ln(e){return`$${e.name}`}function un(e){return`${e.rootId}\u0000${e.path}`}function dn(e){let t=e.rootPath.includes(`\\`)&&!e.rootPath.includes(`/`),n=t?`\\`:`/`;return`@${e.rootPath.replace(/[\\/]+$/u,``)}${n}${t?e.path.replace(/\//gu,`\\`).replace(/^\\+/u,``):e.path.replace(/\\/gu,`/`).replace(/^\/+/u,``)}`}function fn(e){return e.type===`text`?e.text.length:e.type===`skill`?ln(e.skill).length:dn(e.file).length}function pn(e,t){let n=[],r=[],i=0;for(let a of e){let e=fn(a),o=i+e;if(t<=i)r.push(a);else if(t>=o)n.push(a);else if(a.type===`text`){let e=t-i;n.push({text:a.text.slice(0,e),type:`text`}),r.push({text:a.text.slice(e),type:`text`})}else(t-i<e/2?r:n).push(a);i=o}return[cn(n),cn(r)]}function mn(e,t){let n=0;for(let r of e){let e=n+fn(r);if(t.start>=n&&t.end<=e)return r.type===`text`;n=e}return!1}function hn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`skill`&&e.skill.id===n.id);return cn([...r,...a?[]:[{skill:n,type:`skill`}],...i])}function gn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`file`&&un(e.file)===un(n));return cn([...r,...a?[]:[{file:n,type:`file`}],...i])}function _n(e,t){if(e.some(e=>e.type===`file`&&un(e.file)===un(t)))return e;let n=Sn(e);return cn([...e,...n===``||/\s$/u.test(n)?[]:[{text:` `,type:`text`}],{file:t,type:`file`}])}function vn(e,t){let n=new Map(t.map(e=>[e.name,e])),r=new Set(e.flatMap(e=>e.type===`skill`?[e.skill.id]:[])),i=[],a=!1;for(let t of e){if(t.type!==`text`){i.push(t);continue}let e=0;for(let o of t.text.matchAll(/\$([^\s$]+)/gu)){let s=o.index,c=o[1],l=t.text[s-1],u=c===void 0?void 0:n.get(c);if(u===void 0||l!==void 0&&!/\s/u.test(l))continue;let d=s+o[0].length;i.push({text:t.text.slice(e,s),type:`text`}),r.has(u.id)||(i.push({skill:u,type:`skill`}),r.add(u.id)),e=d,a=!0}i.push({text:t.text.slice(e),type:`text`})}return a?cn(i):e}function yn(e,t){let[n]=pn(e,t.start),[,r]=pn(e,t.end);return cn([...n,...r])}function bn(e,t){return cn(e.filter(e=>e.type!==`skill`||e.skill.id!==t))}function xn(e,t){let n=un(t);return cn(e.filter(e=>e.type!==`file`||un(e.file)!==n))}function Sn(e){return e.map(e=>e.type===`text`?e.text:e.type===`skill`?ln(e.skill):dn(e.file)).join(``)}function Cn(e){let t=[],n=``,r=!1;for(let i of e){if(i.type===`skill`){t.push(i.skill);continue}let e=i.type===`file`?dn(i.file):i.text;e!==``&&((i.type===`file`&&n!==``&&!/\s$/u.test(n)||r&&!/^\s/u.test(e))&&(n+=` `),n+=e,r=i.type===`file`)}return{skills:t,text:n.trim()}}function wn(e){let t=Cn(e);return t.text===``&&t.skills.length===0}var Tn=e=>Symbol.iterator in e,En=e=>`entries`in e,Dn=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},On=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function kn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Tn(e)&&Tn(t)?En(e)&&En(t)?Dn(e,t):On(e,t):Dn({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function An(e){let t=Q.useRef(void 0);return n=>{let r=e(n);return kn(t.current,r)?t.current:t.current=r}}var jn=[];function Mn(e,t){let n=e.questions??[],r=t.trim();for(let e=0;e<n.length;e++){let t=n[e];if(t===void 0)return!1;let i=t.title,a=`${e===0?i.trimStart():i}\n`;if(!r.startsWith(a))return!1;r=r.slice(a.length);let o=n[e+1];if(o===void 0)return r.trim().length>0;let s=r.indexOf(`\n\n${o.title}\n`);if(s<1||r.slice(0,s).trim()===``)return!1;r=r.slice(s+2)}return!1}function Nn(e){let t=[];for(let n of e.turnIds)for(let r of e.itemKeysByTurnId[n]??[]){let n=e.itemStoresByKey.get(r)?.peek();if(n?.type===`message`){if(n.role===`assistant`&&(n.questions?.length??0)>0)t.push({key:r,item:n});else if(n.role===`user`){let e=t.findLastIndex(e=>Mn(e.item,n.text));e>=0&&t.splice(e,1)}}}return t}function Pn(e){let t=-1,n,r=jn;return{subscribe:t=>e?.subscribe(t)??(()=>void 0),getSnapshot:()=>{let i=e?.getState();if(i===void 0)return jn;if(t===i.itemStructureRevision&&n===i.itemStoresByKey)return r;t=i.itemStructureRevision,n=i.itemStoresByKey;let a=Nn(i);return(a.length!==r.length||a.some((e,t)=>e.key!==r[t]?.key||e.item!==r[t].item))&&(r=a),r}}}var Fn=()=>l(()=>({drafts:new Map})),In=(0,Q.createContext)(null);function Ln({children:e,enabled:t,submit:n}){let[r]=(0,Q.useState)(Fn),i=(0,Q.useMemo)(()=>({enabled:t,store:r,submit:n}),[t,r,n]);return(0,$.jsx)(In,{value:i,children:e})}var Rn=()=>(0,Q.useContext)(In);function zn(e,t,n){e.setState(e=>{let r=new Map(e.drafts);if(r.delete(t),r.set(t,n),r.size>128){for(let[e,n]of r)if(e!==t&&n.status!==`sending`){r.delete(e);break}}return{drafts:r}})}function Bn({item:e}){let{t}=k(`conversation`),n=Rn(),[r]=(0,Q.useState)(Fn),i=n?.store??r,a=d(i,t=>t.drafts.get(e.id)),[o]=(0,Q.useState)(()=>({answers:(e.questions??[]).map(e=>({choice:e.options===null?null:0,text:``})),status:`editing`,error:!1})),s=a??o,c=(0,Q.useId)(),l=e.questions??[],u=n?.enabled!==!0||s.status!==`editing`,f=l.map((e,t)=>{let n=s.answers[t];return n?.choice===null?n.text.trim():e.options?.[n?.choice??0]??``}),p=l.map((e,t)=>`${e.title}\n${f[t]??``}`).join(`
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{a as r,b as i,f as a,l as o,o as s,s as c}from"./initial-deps-CTprc_pY.js";import{c as l,l as u,s as d}from"./initial-deps-BsEyuMB0.js";import{d as f,f as p,l as m,m as h,n as g,p as _,u as v}from"./initial-deps-Ds-edw-P.js";import{B as y,E as b,H as x,O as S,Q as C,U as w,V as T,W as E,at as D,b as ee,g as te,j as O,n as ne,nt as k,p as A,q as j,s as M,t as N,u as P,v as F}from"./initial-deps-DqJTHr9A.js";import{t as re}from"./file-pen-line-B05lVjWh.js";import{_ as I,a as ie,b as L,c as R,d as z,f as B,g as V,h as ae,i as H,l as U,n as oe,o as se,p as W,r as G,s as ce,t as le,u as ue,x as de}from"./prompt-input-controls-CcVBHVXv.js";import{i as fe,n as pe,r as me,t as he}from"./prompt-input-C4sSOZy9.js";import{t as ge}from"./sparkles-BLY9rqMO.js";import{G as _e,K as ve,U as ye,W as be,at as xe,ct as Se,dt as Ce,ft as we,gt as Te,ht as Ee,it as De,lt as Oe,ot as ke,pt as Ae,st as je,ut as Me}from"./initial-deps-CQxWMuPh.js";import{$ as Ne,A as Pe,B as K,D as Fe,E as Ie,F as Le,G as Re,H as ze,I as Be,J as Ve,K as He,M as Ue,Mt as We,N as q,O as Ge,Ot as Ke,P as qe,Q as J,R as Je,T as Ye,U as Xe,V as Y,X as Ze,Y as Qe,Z as $e,at as et,bt as tt,c as nt,et as rt,fn as it,ht as at,j as X,k as ot,l as st,mt as Z,o as ct,ot as lt,q as ut,rn as dt,rt as ft,s as pt,tt as mt,yt as ht,z as gt}from"./index-CaTeB0Nm.js";import{t as _t}from"./prompt-reference-token-Cxx6C-IR.js";var vt=C(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),yt=C(`box`,[[`path`,{d:`M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z`,key:`hh9hay`}],[`path`,{d:`m3.3 7 8.7 5 8.7-5`,key:`g66t2b`}],[`path`,{d:`M12 22V12`,key:`d0xqtd`}]]),bt=C(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),xt=C(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),St=C(`circle-gauge`,[[`path`,{d:`M15.6 2.7a10 10 0 1 0 5.7 5.7`,key:`1e0p6d`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`path`,{d:`M13.4 10.6 19 5`,key:`1kr7tw`}]]),Ct=C(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),wt=C(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Tt=C(`folder-kanban`,[[`path`,{d:`M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z`,key:`1fr9dc`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M12 10v2`,key:`hh53o1`}],[`path`,{d:`M16 10v6`,key:`1d6xys`}]]),Et=C(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Dt=C(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),Ot=C(`message-circle-question-mark`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),kt=C(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),At=C(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),jt=C(`send-horizontal`,[[`path`,{d:`M3.714 3.048a.498.498 0 0 0-.683.627l2.843 7.627a2 2 0 0 1 0 1.396l-2.842 7.627a.498.498 0 0 0 .682.627l18-8.5a.5.5 0 0 0 0-.904z`,key:`117uat`}],[`path`,{d:`M6 12h16`,key:`s4cdu5`}]]),Mt=C(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),Nt=C(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),Q=e(t(),1),$=n(),Pt=Object.defineProperty,Ft=(e,t)=>Pt(e,`name`,{value:t,configurable:!0}),It=`Popover`,[Lt,Rt]=we(It,[ve]),zt=ve(),[Bt,Vt]=Lt(It),Ht=Ft(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=zt(t),c=Q.useRef(null),[l,u]=Q.useState(!1),[d,f]=Me({prop:r,defaultProp:i??!1,onChange:a,caller:It});return(0,$.jsx)(_e,{...s,children:(0,$.jsx)(Bt,{scope:t,contentId:Se(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:Q.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:Q.useCallback(()=>u(!0),[]),onCustomAnchorRemove:Q.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),Ut=`PopoverTrigger`,Wt=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,...r}=e,i=Vt(Ut,n),a=zt(n),o=Te(t,i.triggerRef),s=(0,$.jsx)(Ae.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":tn(i.open),...r,ref:o,onClick:Ce(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,$.jsx)(ye,{asChild:!0,...a,children:s})},`PopoverTrigger`)),Gt=`PopoverPortal`,[Kt,qt]=Lt(Gt,{forceMount:void 0}),Jt=Ft(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Vt(Gt,t);return(0,$.jsx)(Kt,{scope:t,forceMount:n,children:(0,$.jsx)(Oe,{present:n||a.open,children:(0,$.jsx)(xe,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),Yt=`PopoverContent`,Xt=Q.forwardRef(Ft(function(e,t){let n=qt(Yt,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Vt(Yt,e.__scopePopover);return(0,$.jsx)(Oe,{present:r||a.open,children:a.modal?(0,$.jsx)(Qt,{...i,ref:t}):(0,$.jsx)($t,{...i,ref:t})})},`PopoverContent`)),Zt=Ee(`PopoverContent.RemoveScroll`),Qt=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(null),i=Te(t,r),a=Q.useRef(!1);return Q.useEffect(()=>{let e=r.current;if(e)return N(e)},[]),(0,$.jsx)(ne,{as:Zt,allowPinchZoom:!0,children:(0,$.jsx)(en,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ce(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:Ce(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:Ce(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),$t=Q.forwardRef(Ft(function(e,t){let n=Vt(Yt,e.__scopePopover),r=Q.useRef(!1),i=Q.useRef(!1);return(0,$.jsx)(en,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),en=Q.forwardRef(Ft(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Vt(Yt,n),p=zt(n);return De(),(0,$.jsx)(ke,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,$.jsx)(je,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,$.jsx)(be,{"data-state":tn(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})},`PopoverContentImpl`));function tn(e){return e?`open`:`closed`}Ft(tn,`getState`);var nn=Ht,rn=Wt,an=Jt,on=Xt;function sn(e,t){return cn([...t.flatMap(e=>[{skill:e,type:`skill`},{text:` `,type:`text`}]),...e===``?[]:[{text:e,type:`text`}]])}function cn(e){let t=[];for(let n of e){if(n.type===`text`){if(n.text===``)continue;let e=t.at(-1);e?.type===`text`?t[t.length-1]={text:e.text+n.text,type:`text`}:t.push(n);continue}t.push(n)}return t}function ln(e){return`$${e.name}`}function un(e){return`${e.rootId}\u0000${e.path}`}function dn(e){let t=e.rootPath.includes(`\\`)&&!e.rootPath.includes(`/`),n=t?`\\`:`/`;return`@${e.rootPath.replace(/[\\/]+$/u,``)}${n}${t?e.path.replace(/\//gu,`\\`).replace(/^\\+/u,``):e.path.replace(/\\/gu,`/`).replace(/^\/+/u,``)}`}function fn(e){return e.type===`text`?e.text.length:e.type===`skill`?ln(e.skill).length:dn(e.file).length}function pn(e,t){let n=[],r=[],i=0;for(let a of e){let e=fn(a),o=i+e;if(t<=i)r.push(a);else if(t>=o)n.push(a);else if(a.type===`text`){let e=t-i;n.push({text:a.text.slice(0,e),type:`text`}),r.push({text:a.text.slice(e),type:`text`})}else(t-i<e/2?r:n).push(a);i=o}return[cn(n),cn(r)]}function mn(e,t){let n=0;for(let r of e){let e=n+fn(r);if(t.start>=n&&t.end<=e)return r.type===`text`;n=e}return!1}function hn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`skill`&&e.skill.id===n.id);return cn([...r,...a?[]:[{skill:n,type:`skill`}],...i])}function gn(e,t,n){let[r]=pn(e,t.start),[,i]=pn(e,t.end),a=e.some(e=>e.type===`file`&&un(e.file)===un(n));return cn([...r,...a?[]:[{file:n,type:`file`}],...i])}function _n(e,t){if(e.some(e=>e.type===`file`&&un(e.file)===un(t)))return e;let n=Sn(e);return cn([...e,...n===``||/\s$/u.test(n)?[]:[{text:` `,type:`text`}],{file:t,type:`file`}])}function vn(e,t){let n=new Map(t.map(e=>[e.name,e])),r=new Set(e.flatMap(e=>e.type===`skill`?[e.skill.id]:[])),i=[],a=!1;for(let t of e){if(t.type!==`text`){i.push(t);continue}let e=0;for(let o of t.text.matchAll(/\$([^\s$]+)/gu)){let s=o.index,c=o[1],l=t.text[s-1],u=c===void 0?void 0:n.get(c);if(u===void 0||l!==void 0&&!/\s/u.test(l))continue;let d=s+o[0].length;i.push({text:t.text.slice(e,s),type:`text`}),r.has(u.id)||(i.push({skill:u,type:`skill`}),r.add(u.id)),e=d,a=!0}i.push({text:t.text.slice(e),type:`text`})}return a?cn(i):e}function yn(e,t){let[n]=pn(e,t.start),[,r]=pn(e,t.end);return cn([...n,...r])}function bn(e,t){return cn(e.filter(e=>e.type!==`skill`||e.skill.id!==t))}function xn(e,t){let n=un(t);return cn(e.filter(e=>e.type!==`file`||un(e.file)!==n))}function Sn(e){return e.map(e=>e.type===`text`?e.text:e.type===`skill`?ln(e.skill):dn(e.file)).join(``)}function Cn(e){let t=[],n=``,r=!1;for(let i of e){if(i.type===`skill`){t.push(i.skill);continue}let e=i.type===`file`?dn(i.file):i.text;e!==``&&((i.type===`file`&&n!==``&&!/\s$/u.test(n)||r&&!/^\s/u.test(e))&&(n+=` `),n+=e,r=i.type===`file`)}return{skills:t,text:n.trim()}}function wn(e){let t=Cn(e);return t.text===``&&t.skills.length===0}var Tn=e=>Symbol.iterator in e,En=e=>`entries`in e,Dn=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},On=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function kn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Tn(e)&&Tn(t)?En(e)&&En(t)?Dn(e,t):On(e,t):Dn({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function An(e){let t=Q.useRef(void 0);return n=>{let r=e(n);return kn(t.current,r)?t.current:t.current=r}}var jn=[];function Mn(e,t){let n=e.questions??[],r=t.trim();for(let e=0;e<n.length;e++){let t=n[e];if(t===void 0)return!1;let i=t.title,a=`${e===0?i.trimStart():i}\n`;if(!r.startsWith(a))return!1;r=r.slice(a.length);let o=n[e+1];if(o===void 0)return r.trim().length>0;let s=r.indexOf(`\n\n${o.title}\n`);if(s<1||r.slice(0,s).trim()===``)return!1;r=r.slice(s+2)}return!1}function Nn(e){let t=[];for(let n of e.turnIds)for(let r of e.itemKeysByTurnId[n]??[]){let n=e.itemStoresByKey.get(r)?.peek();if(n?.type===`message`){if(n.role===`assistant`&&(n.questions?.length??0)>0)t.push({key:r,item:n});else if(n.role===`user`){let e=t.findLastIndex(e=>Mn(e.item,n.text));e>=0&&t.splice(e,1)}}}return t}function Pn(e){let t=-1,n,r=jn;return{subscribe:t=>e?.subscribe(t)??(()=>void 0),getSnapshot:()=>{let i=e?.getState();if(i===void 0)return jn;if(t===i.itemStructureRevision&&n===i.itemStoresByKey)return r;t=i.itemStructureRevision,n=i.itemStoresByKey;let a=Nn(i);return(a.length!==r.length||a.some((e,t)=>e.key!==r[t]?.key||e.item!==r[t].item))&&(r=a),r}}}var Fn=()=>l(()=>({drafts:new Map})),In=(0,Q.createContext)(null);function Ln({children:e,enabled:t,submit:n}){let[r]=(0,Q.useState)(Fn),i=(0,Q.useMemo)(()=>({enabled:t,store:r,submit:n}),[t,r,n]);return(0,$.jsx)(In,{value:i,children:e})}var Rn=()=>(0,Q.useContext)(In);function zn(e,t,n){e.setState(e=>{let r=new Map(e.drafts);if(r.delete(t),r.set(t,n),r.size>128){for(let[e,n]of r)if(e!==t&&n.status!==`sending`){r.delete(e);break}}return{drafts:r}})}function Bn({item:e}){let{t}=k(`conversation`),n=Rn(),[r]=(0,Q.useState)(Fn),i=n?.store??r,a=d(i,t=>t.drafts.get(e.id)),[o]=(0,Q.useState)(()=>({answers:(e.questions??[]).map(e=>({choice:e.options===null?null:0,text:``})),status:`editing`,error:!1})),s=a??o,c=(0,Q.useId)(),l=e.questions??[],u=n?.enabled!==!0||s.status!==`editing`,f=l.map((e,t)=>{let n=s.answers[t];return n?.choice===null?n.text.trim():e.options?.[n?.choice??0]??``}),p=l.map((e,t)=>`${e.title}\n${f[t]??``}`).join(`
2
2
 
3
- `),m=f.every(e=>e.length>0)&&p.length<=1e5,h=(t,n)=>{zn(i,e.id,{...s,error:!1,answers:s.answers.map((e,r)=>r===t?{...e,...n}:e)})},g=async()=>{let t=i.getState().drafts.get(e.id)?.status??`editing`;if(!m||n?.enabled!==!0||t!==`editing`)return;zn(i,e.id,{...s,status:`sending`,error:!1});let r=!1;try{r=await n.submit(p)}catch{}zn(i,e.id,{...s,status:r?`sent`:`editing`,error:!r})};return(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4 border-l-2 border-brand pl-3`,onSubmit:e=>{e.preventDefault(),u||g()},children:[l.map((e,n)=>{let r=s.answers[n];return(0,$.jsxs)(`fieldset`,{className:`min-w-0 space-y-2`,disabled:u,children:[(0,$.jsx)(`legend`,{className:`mb-2 w-full min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere] text-body font-medium`,children:e.title}),e.options?.map((e,t)=>(0,$.jsxs)(`label`,{className:`flex min-w-0 cursor-pointer items-start gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`mt-1 shrink-0 accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===t,onChange:()=>{h(n,{choice:t})}}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]`,children:e})]},t)),e.options===null?null:(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===null,onChange:()=>{h(n,{choice:null})}}),t(`asyncQuestions.other`)]}),(0,$.jsx)(`textarea`,{"aria-label":t(`asyncQuestions.answer`,{question:e.title}),className:`block min-h-16 w-full resize-y rounded-control border border-separator bg-control px-2 py-1.5 text-body outline-none focus:border-brand disabled:opacity-60`,maxLength:4e3,rows:2,value:r?.text??``,onChange:e=>{h(n,{choice:null,text:e.currentTarget.value})}})]},n)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(Z,{disabled:u||!m,type:`submit`,size:`sm`,children:[s.status===`sending`?(0,$.jsx)(b,{className:`size-3.5 animate-spin`}):s.status===`sent`?(0,$.jsx)(E,{className:`size-3.5`}):(0,$.jsx)(A,{className:`size-3.5`}),t(s.status===`sent`?`asyncQuestions.sent`:`asyncQuestions.send`)]}),s.error?(0,$.jsx)(`span`,{className:`text-label text-danger`,role:`alert`,children:t(`asyncQuestions.failed`)}):null]})]})}function Vn({taskStore:e}){let t=Rn(),n=(0,Q.useMemo)(()=>Pn(e),[e]),r=(0,Q.useSyncExternalStore)(n.subscribe,n.getSnapshot);return t===null?null:(0,$.jsx)(Hn,{entries:r,session:t})}function Hn({entries:e,session:t}){let{t:n}=k(`conversation`),r=d(t.store,An(t=>e.filter(e=>t.drafts.get(e.item.id)?.status!==`sent`))),[i,a]=(0,Q.useState)(),[o,s]=(0,Q.useState)(!1),c=(0,Q.useId)(),l=Math.max(0,r.findIndex(e=>e.key===i)),u=r[l];return u===void 0?null:(0,$.jsxs)(`section`,{"aria-label":n(`asyncQuestions.pending`),className:`shrink-0 min-w-0 bg-content px-5 pb-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 border-t border-separator pt-2 pb-1`,children:[(0,$.jsx)(Ot,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium`,children:n(`asyncQuestions.pendingCount`,{count:r.length})}),r.length<2?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Un,{label:n(`asyncQuestions.previous`),disabled:l===0,onClick:()=>{a(r[l-1]?.key)},children:(0,$.jsx)(x,{className:`size-3.5`})}),(0,$.jsxs)(`span`,{className:`min-w-12 text-center text-caption tabular-nums`,children:[l+1,`/`,r.length]}),(0,$.jsx)(Un,{label:n(`asyncQuestions.next`),disabled:l===r.length-1,onClick:()=>{a(r[l+1]?.key)},children:(0,$.jsx)(T,{className:`size-3.5`})})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-controls":c,"aria-expanded":!o,"aria-label":n(o?`asyncQuestions.expand`:`asyncQuestions.collapse`),onClick:()=>{s(e=>!e)},children:o?(0,$.jsx)(y,{className:`size-3.5`}):(0,$.jsx)(w,{className:`size-3.5`})})}),(0,$.jsx)(K,{children:n(o?`asyncQuestions.expand`:`asyncQuestions.collapse`)})]})]}),(0,$.jsx)(`div`,{id:c,hidden:o,className:`max-h-[min(32vh,20rem)] overflow-y-auto overscroll-contain py-2`,children:(0,$.jsx)(Bn,{item:u.item},u.key)})]})}function Un({label:e,disabled:t,onClick:n,children:r}){return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":e,disabled:t,onClick:n,children:r})}),(0,$.jsx)(K,{children:e})]})}function Wn({enabled:e,activeTurnId:t,submit:n,taskStore:r}){return(0,$.jsx)(Ln,{enabled:e,submit:e=>n({files:[],text:e},[],{clearInputOnSuccess:!1,composerMode:null,forceAction:t===void 0?`start`:`steer`}),children:(0,$.jsx)(Vn,{taskStore:r})})}function Gn({routeScope:e,fastModeSelected:t,onSettingsChange:n,isCurrentScope:r,setSettingsOverride:i,setMutationError:a}){let o=(0,Q.useRef)(0);return(s,c)=>{let l=++o.current;i({scope:e,settings:s}),a(null),Promise.resolve(n(s,c,t)).catch(t=>{r(e)&&o.current===l&&(i(void 0),a(t instanceof Error?t:Error(`Task settings update failed`)))})}}function Kn({closeCommandMenu:e,closeFileMenu:t,commandMenuOpen:n,commandSurfaceRef:r,fileMenuOpen:i,turnControlsDisabled:a}){(0,Q.useEffect)(()=>{a&&(e(),t())},[e,t,a]),(0,Q.useEffect)(()=>{if(!n&&!i)return;let a=n=>{n.key===`Escape`&&(n.preventDefault(),e(),t())},o=n=>{let i=n.target;i instanceof Node&&!r.current?.contains(i)&&(e(),t())};return document.addEventListener(`keydown`,a,!0),document.addEventListener(`pointerdown`,o,!0),()=>{document.removeEventListener(`keydown`,a,!0),document.removeEventListener(`pointerdown`,o,!0)}},[e,t,n,r,i])}function qn(e,t,n,r,i){let a=new Map(i.map(e=>[e.id,e]));return{files:e.attachments.map(e=>({attachment:e,...e,previewUrl:r(t,n,e.id),source:`host`})),id:e.id,skills:e.skills.map(e=>a.get(e.id)??{description:``,displayName:e.name,id:e.id,name:e.name,scope:`repo`}),status:e.status,text:e.text}}function Jn(e,t,n){let r={files:t.files,id:t.id??n(),skills:t.skills,status:`awaiting-response`,text:t.text,turnId:t.turnId,userMessageIds:t.userMessageIds};return t.id===void 0||!e.some(e=>e.id===t.id)?[...e,r]:e.map(e=>e.id===t.id?r:e)}function Yn(e){return e.flatMap(e=>e.type===`message`&&e.role===`user`?[e.id]:[])}function Xn(e,t){return t===void 0?[]:Yn((e.itemKeysByTurnId[t]??[]).flatMap(t=>{let n=e.getItemByKey(t);return n===void 0?[]:[n]}))}function Zn(e,t){if(e.status!==`awaiting-response`)return!1;let n=new Set(e.userMessageIds);return t.some(e=>!n.has(e))}function Qn(e,t,n){return n===`interrupted`||Zn(e,t)}function $n(e,t){return e.status===`awaiting-response`&&Qn(e,Xn(t,e.turnId),t.turnsById[e.turnId]?.status)}function er(e){return e.status===`queued`||e.status===`editing`?{files:e.files,skills:e.skills,text:e.text}:void 0}function tr(e,t){let n=t?.model??e.model,r=t?.reasoningEffort??e.reasoningEffort;return n===e.model&&r===e.reasoningEffort?e:{...e,model:n,reasoningEffort:r}}var nr=1e3,rr=`Pasted text.txt`;function ir(e){return e===void 0?D.t(`composer.placeholder`,{ns:`workbench`}):D.t(`composer.followUpPlaceholder`,{ns:`workbench`})}function ar(e,t,n=u){return e?.fingerprint===t?e:{fingerprint:t,key:n()}}function or(e,t){if(e!==void 0)return e.supportedReasoningEfforts.some(e=>e.id===t)?t:e.defaultReasoningEffort}function sr(e){return me(e)}function cr(e,t){return pe(e,t)}function lr(e,t){return{canInterrupt:e?.turns.interrupt??!1,canSubmit:e?.turns.start===!0&&(t||e.tasks.start),canSteer:e?.turns.steer===!0&&t}}function ur(e,t,n,r){return e===`running`?t?n===`queue`?`queue`:r?`steer`:`blocked`:`interrupt`:t?`start`:`blocked`}function dr(e){return e.isSubmitting===!0?`submitting`:e.connectionState===`closed`||e.connectionState===`connecting`||e.connectionState===`reconnecting`?`reconnecting`:e.activeTurnId===void 0?e.mutationFailed===!0?`failed`:`idle`:`running`}function fr(e){return{attachmentsDisabled:e===`submitting`,draftInputDisabled:e===`submitting`,turnControlsDisabled:e===`reconnecting`||e===`submitting`}}async function pr(e,t){let n=t.taskId,r;if(n===void 0){let i=t.idempotencyKeys.startTask;if(i===void 0)throw Error(`Task creation requires an idempotency key`);let a=await e.startTask(t.projectId,{idempotencyKey:i});r=a.task,n=a.task.id,t.onTaskCreated?.(a.task)}let i=await e.startTurn(t.projectId,n,t.input,t.turnOptions,{idempotencyKey:t.idempotencyKeys.startTurn});return{checkpoint:i.checkpoint,...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}async function mr(e,t){let n=t.taskId,r;if(n===void 0){let i=await e.startTask(t.projectId,{idempotencyKey:t.idempotencyKey});r=i.task,n=i.task.id,t.onTaskCreated?.(i.task)}let i=await e.startReview(t.projectId,n,{target:t.target},{idempotencyKey:t.idempotencyKey});return{...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}function hr(e,t,n,r,i){return e.interruptTurn(t,n,r,{idempotencyKey:i})}function gr(e,t,n,r,i,a){return e.steerTurn(t,n,r,i,{idempotencyKey:a})}var _r=_t;function vr({className:e=``,displayName:t,name:n,...r}){return(0,$.jsxs)(`span`,{className:`${_r} ${e}`,...r,children:[(0,$.jsx)(yt,{"aria-hidden":`true`,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:t??`$${n}`})]})}var yr=new Set([`DIV`,`P`]);function br(e){return e.nextSibling!==null||e.previousSibling===null?!1:e.nodeType===Node.TEXT_NODE?e.textContent===`
3
+ `),m=f.every(e=>e.length>0)&&p.length<=1e5,h=(t,n)=>{zn(i,e.id,{...s,error:!1,answers:s.answers.map((e,r)=>r===t?{...e,...n}:e)})},g=async()=>{let t=i.getState().drafts.get(e.id)?.status??`editing`;if(!m||n?.enabled!==!0||t!==`editing`)return;zn(i,e.id,{...s,status:`sending`,error:!1});let r=!1;try{r=await n.submit(p)}catch{}zn(i,e.id,{...s,status:r?`sent`:`editing`,error:!r})};return(0,$.jsxs)(`form`,{className:`min-w-0 space-y-4 border-l-2 border-brand pl-3`,onSubmit:e=>{e.preventDefault(),u||g()},children:[l.map((e,n)=>{let r=s.answers[n];return(0,$.jsxs)(`fieldset`,{className:`min-w-0 space-y-2`,disabled:u,children:[(0,$.jsx)(`legend`,{className:`mb-2 w-full min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere] text-body font-medium`,children:e.title}),e.options?.map((e,t)=>(0,$.jsxs)(`label`,{className:`flex min-w-0 cursor-pointer items-start gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`mt-1 shrink-0 accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===t,onChange:()=>{h(n,{choice:t})}}),(0,$.jsx)(`span`,{className:`min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]`,children:e})]},t)),e.options===null?null:(0,$.jsxs)(`label`,{className:`flex items-center gap-2 text-body`,children:[(0,$.jsx)(`input`,{className:`accent-brand`,type:`radio`,name:`${c}-${String(n)}`,checked:r?.choice===null,onChange:()=>{h(n,{choice:null})}}),t(`asyncQuestions.other`)]}),(0,$.jsx)(`textarea`,{"aria-label":t(`asyncQuestions.answer`,{question:e.title}),className:`block min-h-16 w-full resize-y rounded-control border border-separator bg-control px-2 py-1.5 text-body outline-none focus:border-brand disabled:opacity-60`,maxLength:4e3,rows:2,value:r?.text??``,onChange:e=>{h(n,{choice:null,text:e.currentTarget.value})}})]},n)}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(Z,{disabled:u||!m,type:`submit`,size:`sm`,children:[s.status===`sending`?(0,$.jsx)(b,{className:`size-3.5 animate-spin`}):s.status===`sent`?(0,$.jsx)(E,{className:`size-3.5`}):(0,$.jsx)(A,{className:`size-3.5`}),t(s.status===`sent`?`asyncQuestions.sent`:`asyncQuestions.send`)]}),s.error?(0,$.jsx)(`span`,{className:`text-label text-danger`,role:`alert`,children:t(`asyncQuestions.failed`)}):null]})]})}function Vn({taskStore:e}){let t=Rn(),n=(0,Q.useMemo)(()=>Pn(e),[e]),r=(0,Q.useSyncExternalStore)(n.subscribe,n.getSnapshot);return t===null?null:(0,$.jsx)(Hn,{entries:r,session:t})}function Hn({entries:e,session:t}){let{t:n}=k(`conversation`),[r,i]=(0,Q.useState)(()=>new Set),a=d(t.store,An(t=>e.filter(e=>!r.has(e.key)&&t.drafts.get(e.item.id)?.status!==`sent`))),[o,s]=(0,Q.useState)(),[c,l]=(0,Q.useState)(!1),u=(0,Q.useId)(),f=Math.max(0,a.findIndex(e=>e.key===o)),p=a[f];return p===void 0?null:(0,$.jsxs)(`section`,{"aria-label":n(`asyncQuestions.pending`),"data-floating-surface":!0,className:`absolute inset-x-0 top-workbench-header z-20 min-w-0 border-b border-separator bg-content px-5 pb-2 shadow-md`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 pt-2 pb-1`,children:[(0,$.jsx)(Ot,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-brand`}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-label font-medium`,children:n(`asyncQuestions.pendingCount`,{count:a.length})}),a.length<2?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Un,{label:n(`asyncQuestions.previous`),disabled:f===0,onClick:()=>{s(a[f-1]?.key)},children:(0,$.jsx)(x,{className:`size-3.5`})}),(0,$.jsxs)(`span`,{className:`min-w-12 text-center text-caption tabular-nums`,children:[f+1,`/`,a.length]}),(0,$.jsx)(Un,{label:n(`asyncQuestions.next`),disabled:f===a.length-1,onClick:()=>{s(a[f+1]?.key)},children:(0,$.jsx)(T,{className:`size-3.5`})})]}),(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-controls":u,"aria-expanded":!c,"aria-label":n(c?`asyncQuestions.expand`:`asyncQuestions.collapse`),onClick:()=>{l(e=>!e)},children:c?(0,$.jsx)(w,{className:`size-3.5`}):(0,$.jsx)(y,{className:`size-3.5`})})}),(0,$.jsx)(K,{children:n(c?`asyncQuestions.expand`:`asyncQuestions.collapse`)})]}),(0,$.jsx)(Un,{label:n(`asyncQuestions.close`),disabled:!1,onClick:()=>{i(new Set(e.map(e=>e.key))),l(!1)},children:(0,$.jsx)(M,{className:`size-3.5`})})]}),(0,$.jsx)(`div`,{id:u,hidden:c,className:`max-h-[min(32vh,20rem)] overflow-y-auto overscroll-contain py-2`,children:(0,$.jsx)(Bn,{item:p.item},p.key)})]})}function Un({label:e,disabled:t,onClick:n,children:r}){return(0,$.jsxs)(gt,{children:[(0,$.jsx)(Y,{asChild:!0,children:(0,$.jsx)(Z,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":e,disabled:t,onClick:n,children:r})}),(0,$.jsx)(K,{children:e})]})}function Wn({enabled:e,activeTurnId:t,submit:n,taskStore:r}){return(0,$.jsx)(Ln,{enabled:e,submit:e=>n({files:[],text:e},[],{clearInputOnSuccess:!1,composerMode:null,forceAction:t===void 0?`start`:`steer`}),children:(0,$.jsx)(Vn,{taskStore:r})})}function Gn({routeScope:e,fastModeSelected:t,onSettingsChange:n,isCurrentScope:r,setSettingsOverride:i,setMutationError:a}){let o=(0,Q.useRef)(0);return(s,c)=>{let l=++o.current;i({scope:e,settings:s}),a(null),Promise.resolve(n(s,c,t)).catch(t=>{r(e)&&o.current===l&&(i(void 0),a(t instanceof Error?t:Error(`Task settings update failed`)))})}}function Kn({closeCommandMenu:e,closeFileMenu:t,commandMenuOpen:n,commandSurfaceRef:r,fileMenuOpen:i,turnControlsDisabled:a}){(0,Q.useEffect)(()=>{a&&(e(),t())},[e,t,a]),(0,Q.useEffect)(()=>{if(!n&&!i)return;let a=n=>{n.key===`Escape`&&(n.preventDefault(),e(),t())},o=n=>{let i=n.target;i instanceof Node&&!r.current?.contains(i)&&(e(),t())};return document.addEventListener(`keydown`,a,!0),document.addEventListener(`pointerdown`,o,!0),()=>{document.removeEventListener(`keydown`,a,!0),document.removeEventListener(`pointerdown`,o,!0)}},[e,t,n,r,i])}function qn(e,t,n,r,i){let a=new Map(i.map(e=>[e.id,e]));return{files:e.attachments.map(e=>({attachment:e,...e,previewUrl:r(t,n,e.id),source:`host`})),id:e.id,skills:e.skills.map(e=>a.get(e.id)??{description:``,displayName:e.name,id:e.id,name:e.name,scope:`repo`}),status:e.status,text:e.text}}function Jn(e,t,n){let r={files:t.files,id:t.id??n(),skills:t.skills,status:`awaiting-response`,text:t.text,turnId:t.turnId,userMessageIds:t.userMessageIds};return t.id===void 0||!e.some(e=>e.id===t.id)?[...e,r]:e.map(e=>e.id===t.id?r:e)}function Yn(e){return e.flatMap(e=>e.type===`message`&&e.role===`user`?[e.id]:[])}function Xn(e,t){return t===void 0?[]:Yn((e.itemKeysByTurnId[t]??[]).flatMap(t=>{let n=e.getItemByKey(t);return n===void 0?[]:[n]}))}function Zn(e,t){if(e.status!==`awaiting-response`)return!1;let n=new Set(e.userMessageIds);return t.some(e=>!n.has(e))}function Qn(e,t,n){return n===`interrupted`||Zn(e,t)}function $n(e,t){return e.status===`awaiting-response`&&Qn(e,Xn(t,e.turnId),t.turnsById[e.turnId]?.status)}function er(e){return e.status===`queued`||e.status===`editing`?{files:e.files,skills:e.skills,text:e.text}:void 0}function tr(e,t){let n=t?.model??e.model,r=t?.reasoningEffort??e.reasoningEffort;return n===e.model&&r===e.reasoningEffort?e:{...e,model:n,reasoningEffort:r}}var nr=1e3,rr=`Pasted text.txt`;function ir(e){return e===void 0?D.t(`composer.placeholder`,{ns:`workbench`}):D.t(`composer.followUpPlaceholder`,{ns:`workbench`})}function ar(e,t,n=u){return e?.fingerprint===t?e:{fingerprint:t,key:n()}}function or(e,t){if(e!==void 0)return e.supportedReasoningEfforts.some(e=>e.id===t)?t:e.defaultReasoningEffort}function sr(e){return me(e)}function cr(e,t){return pe(e,t)}function lr(e,t){return{canInterrupt:e?.turns.interrupt??!1,canSubmit:e?.turns.start===!0&&(t||e.tasks.start),canSteer:e?.turns.steer===!0&&t}}function ur(e,t,n,r){return e===`running`?t?n===`queue`?`queue`:r?`steer`:`blocked`:`interrupt`:t?`start`:`blocked`}function dr(e){return e.isSubmitting===!0?`submitting`:e.connectionState===`closed`||e.connectionState===`connecting`||e.connectionState===`reconnecting`?`reconnecting`:e.activeTurnId===void 0?e.mutationFailed===!0?`failed`:`idle`:`running`}function fr(e){return{attachmentsDisabled:e===`submitting`,draftInputDisabled:e===`submitting`,turnControlsDisabled:e===`reconnecting`||e===`submitting`}}async function pr(e,t){let n=t.taskId,r;if(n===void 0){let i=t.idempotencyKeys.startTask;if(i===void 0)throw Error(`Task creation requires an idempotency key`);let a=await e.startTask(t.projectId,{idempotencyKey:i});r=a.task,n=a.task.id,t.onTaskCreated?.(a.task)}let i=await e.startTurn(t.projectId,n,t.input,t.turnOptions,{idempotencyKey:t.idempotencyKeys.startTurn});return{checkpoint:i.checkpoint,...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}async function mr(e,t){let n=t.taskId,r;if(n===void 0){let i=await e.startTask(t.projectId,{idempotencyKey:t.idempotencyKey});r=i.task,n=i.task.id,t.onTaskCreated?.(i.task)}let i=await e.startReview(t.projectId,n,{target:t.target},{idempotencyKey:t.idempotencyKey});return{...r===void 0?{}:{createdTask:r},taskId:n,turn:i.turn}}function hr(e,t,n,r,i){return e.interruptTurn(t,n,r,{idempotencyKey:i})}function gr(e,t,n,r,i,a){return e.steerTurn(t,n,r,i,{idempotencyKey:a})}var _r=_t;function vr({className:e=``,displayName:t,name:n,...r}){return(0,$.jsxs)(`span`,{className:`${_r} ${e}`,...r,children:[(0,$.jsx)(yt,{"aria-hidden":`true`,className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:t??`$${n}`})]})}var yr=new Set([`DIV`,`P`]);function br(e){return e.nextSibling!==null||e.previousSibling===null?!1:e.nodeType===Node.TEXT_NODE?e.textContent===`
4
4
  `&&e.previousSibling.textContent?.endsWith(`
5
5
  `)===!0:e instanceof HTMLElement&&e.tagName===`BR`&&(e.previousSibling.nodeName===`BR`||e.previousSibling.textContent?.endsWith(`
6
6
  `)===!0)}function xr(e,t){let n=document.createElement(`span`);if(n.className=`${_r} relative top-0.5 cursor-pointer select-none hover:bg-control-hover`,n.contentEditable=`false`,n.dataset.promptSkillId=e.id,n.dataset.promptSkillName=e.name,n.dataset.serializedText=ln(e),n.setAttribute(`aria-label`,D.t(`skillEditor.tokenLabel`,{name:e.displayName,ns:`workbench`,text:ln(e)})),n.setAttribute(`role`,`button`),n.tabIndex=-1,t!==null){let e=t.cloneNode(!0);e.classList.remove(`hidden`),n.append(e)}let r=document.createElement(`span`);return r.className=`truncate`,r.textContent=e.displayName,n.append(r),n}function Sr(e,t){let n=document.createElement(`span`);if(n.className=`${_r} relative top-0.5 cursor-pointer select-none hover:bg-control-hover`,n.contentEditable=`false`,n.dataset.promptFilePath=e.path,n.dataset.promptFileRootId=e.rootId,n.dataset.serializedText=dn(e),n.setAttribute(`aria-label`,dn(e)),n.setAttribute(`role`,`button`),n.tabIndex=-1,t!==null){let e=t.cloneNode(!0);e.classList.remove(`hidden`),n.append(e)}let r=document.createElement(`span`);return r.className=`truncate`,r.textContent=e.name,n.append(r),n}function Cr(){let e=document.createElement(`span`);return e.dataset.promptCaretAnchor=``,e.textContent=`​`,e}function wr(e,t,n,r){let i=[];for(let e of t)e.type===`text`?i.push(document.createTextNode(e.text)):e.type===`skill`?i.push(xr(e.skill,n),Cr()):i.push(Sr(e.file,r),Cr());e.replaceChildren(...i),e.dataset.empty=String(t.length===0),e.dataset.serializedValue=Sn(t)}function Tr(e,t,n){let r=[],i=e=>{e!==``&&r.push({text:e,type:`text`})},a=e=>{if(e.nodeType===Node.TEXT_NODE){br(e)||i(e.textContent??``);return}if(!(e instanceof HTMLElement))return;let o=e.dataset.promptSkillId;if(o!==void 0){let e=t.get(o);e!==void 0&&r.push({skill:e,type:`skill`});return}let s=e.dataset.promptFilePath,c=e.dataset.promptFileRootId;if(s!==void 0&&c!==void 0){let e=n.get(un({path:s,rootId:c}));e!==void 0&&r.push({file:e,type:`file`});return}if(e.dataset.promptCaretAnchor!==void 0){let t=e.textContent;i(t.startsWith(`​`)?t.slice(1):t);return}if(e.tagName===`BR`){br(e)||i(`
@@ -1,2 +1,2 @@
1
- import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{l as r,o as i,r as a}from"./initial-deps-CTprc_pY.js";import{E as o,Q as s,U as c,W as l,a as u,at as d,nt as f}from"./initial-deps-DqJTHr9A.js";import{t as p}from"./file-pen-line-B05lVjWh.js";import{r as m,x as h}from"./prompt-input-controls-BTOpD8Y-.js";import{n as g,r as _,t as v}from"./file-navigation-view-preference-BRWa_l_a.js";import{t as y}from"./sparkles-BLY9rqMO.js";import{t as b}from"./upload-D_8Uk8f-.js";import{B as x,Bt as S,D as C,E as w,G as ee,H as te,I as ne,K as re,O as T,Ot as ie,T as ae,U as oe,V as E,Vt as D,W as se,Yt as O,at as k,bt as A,ct as j,ht as M,mt as N,nt as P,ot as F,q as ce,rt as I,st as L,yt as R,z}from"./index-CergXz2m.js";import{t as le}from"./button-group-CaIXhcq-.js";var B=s(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),V=e(t(),1),H=n(),U=u(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function W({className:e,variant:t=`default`,...n}){return(0,H.jsx)(`textarea`,{className:M(U({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function ue({className:e,...t}){return(0,H.jsx)(`div`,{className:M(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function de({align:e=`inline-start`,className:t,...n}){return(0,H.jsx)(`div`,{className:M(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function fe({className:e,...t}){return(0,H.jsx)(W,{className:M(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function G(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function K(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:G([...n.children.values()].map(e=>e.kind===`folder`?K(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function q(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return G([...t.children.values()].map(e=>e.kind===`folder`?K(e):e))}function J(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),J(n.children,t))}function Y(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function X(e){let t=M(`size-3.5`,Y(e));return e===`create`?(0,H.jsx)(h,{"aria-hidden":`true`,className:t}):e===`delete`?(0,H.jsx)(B,{"aria-hidden":`true`,className:t}):(0,H.jsx)(p,{"aria-hidden":`true`,className:t})}function Z(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function Q({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,H.jsx)(F,{name:r.name,path:r.path,children:(0,H.jsx)(Q,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,H.jsxs)(k,{"aria-label":r.path,className:Y(r.status),icon:X(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,H.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Z(r.status)}),children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,H.jsx)(P,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,H.jsx)(L,{children:X(r.status)}),(0,H.jsx)(j,{title:r.path,children:r.name})]},r.path)})}function $({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,V.useMemo)(()=>q(e),[e]),c=(0,V.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),l=(0,V.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),u=(0,V.useMemo)(()=>{let e=new Set;return J(s,e),e},[s]);if(l.length===0)return null;let d=l.filter(e=>a.has(e)).length,f=d===0?!1:d===l.length||`indeterminate`,p=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,H.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,H.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,H.jsx)(P,{"aria-label":n,checked:f,disabled:t||l.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of l)e===!0?t.add(n):t.delete(n);i(t)}}),(0,H.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,H.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:l.length})]}),o===`list`?(0,H.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,H.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,H.jsx)(P,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{p(e.path)}}),(0,H.jsxs)(`button`,{"aria-label":e.path,className:M(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,Y(e.kind)),onClick:()=>{r(e)},type:`button`,children:[X(e.kind),(0,H.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,H.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Z(e.kind)})]})]},e.path))}):s.length===0?null:(0,H.jsx)(I,{"aria-label":n,className:`px-1`,defaultExpanded:u,children:(0,H.jsx)(Q,{changesByPath:c,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:p,selectedPaths:a})})]})}function pe(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function me(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function he(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function ge({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:i=!1,onCommit:a,onGenerateMessage:s,onOpenFileDiff:u,onSelectRepository:d=()=>void 0,repositories:p=[],result:h=null,selectedRepository:S=null}){let{t:D}=f(`workbench`),[O,k]=v(`changes`),A=(0,V.useMemo)(()=>pe(t),[t]),j=`${S??`root`}:${t.snapshot}`,[P,F]=(0,V.useState)(()=>he(j,A)),I=(0,V.useRef)(ie());P.identity!==j&&F(he(j,A));let{message:L,selectedPaths:R}=P,B=L.includes(`
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{l as r,o as i,r as a}from"./initial-deps-CTprc_pY.js";import{E as o,Q as s,U as c,W as l,a as u,at as d,nt as f}from"./initial-deps-DqJTHr9A.js";import{t as p}from"./file-pen-line-B05lVjWh.js";import{r as m,x as h}from"./prompt-input-controls-CcVBHVXv.js";import{n as g,r as _,t as v}from"./file-navigation-view-preference-BRWa_l_a.js";import{t as y}from"./sparkles-BLY9rqMO.js";import{t as b}from"./upload-D_8Uk8f-.js";import{B as x,Bt as S,D as C,E as w,G as ee,H as te,I as ne,K as re,O as T,Ot as ie,T as ae,U as oe,V as E,Vt as D,W as se,Yt as O,at as k,bt as A,ct as j,ht as M,mt as N,nt as P,ot as F,q as ce,rt as I,st as L,yt as R,z}from"./index-CaTeB0Nm.js";import{t as le}from"./button-group-JQ4SKm_M.js";var B=s(`file-minus-corner`,[[`path`,{d:`M20 14V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12`,key:`l9p8hp`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),V=e(t(),1),H=n(),U=u(`min-w-0 text-foreground outline-none transition-[border-color,box-shadow] placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,{defaultVariants:{variant:`default`},variants:{variant:{default:`min-h-20 w-full resize-y rounded-control bg-control px-3 py-2 text-body focus-visible:shadow-focus`,embedded:`flex-1 resize-none bg-transparent`}}});function W({className:e,variant:t=`default`,...n}){return(0,H.jsx)(`textarea`,{className:M(U({className:e,variant:t})),"data-slot":`textarea`,"data-variant":t,...n})}function ue({className:e,...t}){return(0,H.jsx)(`div`,{className:M(`group/input-group flex w-full min-w-0 items-center`,e),"data-slot":`input-group`,role:`group`,...t})}function de({align:e=`inline-start`,className:t,...n}){return(0,H.jsx)(`div`,{className:M(`flex shrink-0 items-center`,t),"data-align":e,"data-slot":`input-group-addon`,role:`group`,...n})}function fe({className:e,...t}){return(0,H.jsx)(W,{className:M(`min-w-0 flex-1`,e),"data-slot":`input-group-control`,variant:`embedded`,...t})}function G(e){return[...e].sort((e,t)=>e.kind===t.kind?e.name.localeCompare(t.name,`en`):e.kind===`file`?-1:1)}function K(e){let t=[e.name],n=e;for(;n.children.size===1;){let e=n.children.values().next().value;if(e?.kind!==`folder`)break;t.push(e.name),n=e}return{children:G([...n.children.values()].map(e=>e.kind===`folder`?K(e):e)),kind:`folder`,name:t.join(`/`),path:n.path}}function q(e){let t={children:new Map,kind:`folder`,name:``,path:``};for(let n of e){let e=n.path.split(`/`),r=e.pop();if(r===void 0)continue;let i=t;for(let t of e){let e=i.path===``?t:`${i.path}/${t}`,n=i.children.get(t);if(n?.kind===`folder`){i=n;continue}let r={children:new Map,kind:`folder`,name:t,path:e};i.children.set(t,r),i=r}i.children.set(r,{kind:`file`,name:r,path:n.path,status:n.kind})}return G([...t.children.values()].map(e=>e.kind===`folder`?K(e):e))}function J(e,t){for(let n of e)n.kind===`folder`&&(t.add(n.path),J(n.children,t))}function Y(e){return e===`create`?`text-diff-added`:e===`delete`?`text-danger`:`text-warning`}function X(e){let t=M(`size-3.5`,Y(e));return e===`create`?(0,H.jsx)(h,{"aria-hidden":`true`,className:t}):e===`delete`?(0,H.jsx)(B,{"aria-hidden":`true`,className:t}):(0,H.jsx)(p,{"aria-hidden":`true`,className:t})}function Z(e){return e===`create`?`A`:e===`delete`?`D`:`M`}function Q({changesByPath:e,disabled:t,label:n,nodes:r,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o}){return r.map(r=>{if(r.kind===`folder`)return(0,H.jsx)(F,{name:r.name,path:r.path,children:(0,H.jsx)(Q,{changesByPath:e,disabled:t,label:n,nodes:r.children,onOpenFileDiff:i,onTogglePath:a,selectedPaths:o})},r.path);let s=o.has(r.path),c=e.get(r.path);return(0,H.jsxs)(k,{"aria-label":r.path,className:Y(r.status),icon:X(r.status),name:r.name,onClick:()=>{c!==void 0&&i(c)},path:r.path,trailing:(0,H.jsx)(`span`,{className:`ml-auto w-3 text-center text-meta font-semibold text-muted-foreground`,children:Z(r.status)}),children:[(0,H.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,H.jsx)(P,{"aria-label":`${n}: ${r.path}`,checked:s,disabled:t,onCheckedChange:()=>{a(r.path)},onClick:e=>{e.stopPropagation()}}),(0,H.jsx)(L,{children:X(r.status)}),(0,H.jsx)(j,{title:r.path,children:r.name})]},r.path)})}function $({changes:e,disabled:t=!1,label:n,onOpenFileDiff:r,onSelectedPathsChange:i,selectedPaths:a,viewMode:o=`tree`}){let s=(0,V.useMemo)(()=>q(e),[e]),c=(0,V.useMemo)(()=>new Map(e.map(e=>[e.path,e])),[e]),l=(0,V.useMemo)(()=>[...new Set(e.map(e=>e.path))],[e]),u=(0,V.useMemo)(()=>{let e=new Set;return J(s,e),e},[s]);if(l.length===0)return null;let d=l.filter(e=>a.has(e)).length,f=d===0?!1:d===l.length||`indeterminate`,p=e=>{let t=new Set(a);t.has(e)?t.delete(e):t.add(e),i(t)};return(0,H.jsxs)(`section`,{"aria-label":n,className:`py-0.5`,children:[(0,H.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 px-3`,children:[(0,H.jsx)(P,{"aria-label":n,checked:f,disabled:t||l.length===0,onCheckedChange:e=>{let t=new Set(a);for(let n of l)e===!0?t.add(n):t.delete(n);i(t)}}),(0,H.jsx)(`h3`,{className:`text-label font-semibold text-foreground`,children:n}),(0,H.jsx)(`span`,{className:`ml-auto text-caption text-muted-foreground`,children:l.length})]}),o===`list`?(0,H.jsx)(`div`,{className:`px-1 font-mono text-label`,"data-slot":`commit-changes-list`,role:`list`,children:e.toSorted((e,t)=>e.path.localeCompare(t.path,`en`)).map(e=>(0,H.jsxs)(`div`,{className:`flex min-h-7 items-center gap-1.5 rounded-control px-2 hover:bg-control-hover`,role:`listitem`,children:[(0,H.jsx)(P,{"aria-label":`${n}: ${e.path}`,checked:a.has(e.path),disabled:t,onCheckedChange:()=>{p(e.path)}}),(0,H.jsxs)(`button`,{"aria-label":e.path,className:M(`flex min-w-0 flex-1 items-center gap-1.5 text-left outline-none focus-visible:shadow-focus`,Y(e.kind)),onClick:()=>{r(e)},type:`button`,children:[X(e.kind),(0,H.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.path,children:e.path}),(0,H.jsx)(`span`,{className:`w-3 text-center text-meta font-semibold text-muted-foreground`,children:Z(e.kind)})]})]},e.path))}):s.length===0?null:(0,H.jsx)(I,{"aria-label":n,className:`px-1`,defaultExpanded:u,children:(0,H.jsx)(Q,{changesByPath:c,disabled:t,label:n,nodes:s,onOpenFileDiff:r,onTogglePath:p,selectedPaths:a})})]})}function pe(e){let t=new Map;for(let n of e.staged)t.set(n.path,{path:n.path,staged:!0,unstaged:!1});for(let n of e.unstaged){let e=t.get(n.path);t.set(n.path,{path:n.path,staged:e?.staged??!1,unstaged:!0})}return[...t.values()].sort((e,t)=>e.path.localeCompare(t.path,`en`))}function me(e){if(e.repositoryMode!==`children`)return[];let t=new Set;for(let n of[...e.staged,...e.unstaged]){let e=n.path.indexOf(`/`);e>0&&t.add(n.path.slice(0,e))}return[...t].toSorted((e,t)=>e.localeCompare(t,`en`))}function he(e,t){return{identity:e,message:``,selectedPaths:new Set(t.map(e=>e.path))}}function ge({error:e=null,gitStatus:t,isCommitting:n=!1,isGenerating:r=!1,isRepositoryLoading:i=!1,onCommit:a,onGenerateMessage:s,onOpenFileDiff:u,onSelectRepository:d=()=>void 0,repositories:p=[],result:h=null,selectedRepository:S=null}){let{t:D}=f(`workbench`),[O,k]=v(`changes`),A=(0,V.useMemo)(()=>pe(t),[t]),j=`${S??`root`}:${t.snapshot}`,[P,F]=(0,V.useState)(()=>he(j,A)),I=(0,V.useRef)(ie());P.identity!==j&&F(he(j,A));let{message:L,selectedPaths:R}=P,B=L.includes(`
2
2
  `)?3:1,U=r||n,W=p.length>0||t.repositoryMode===`children`,G=!W||S!==null&&!i&&t.repositoryMode===`root`,K=G&&R.size>0&&!U&&h===null,q=K&&L.trim().length>0,J=()=>I.current.run(async()=>{let e=await s({expectedSnapshot:t.snapshot,paths:[...R],...S===null?{}:{repository:S}});F(t=>({...t,message:e}))}),Y=e=>I.current.run(()=>a({action:e,expectedSnapshot:t.snapshot,message:L,paths:[...R],...S===null?{}:{repository:S}}));return(0,H.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden`,"data-slot":`commit-changes-panel`,children:[W?(0,H.jsxs)(`div`,{className:`shrink-0 border-b border-separator px-3 py-2`,children:[(0,H.jsx)(`label`,{className:`text-label font-medium`,id:`commit-repository-label`,children:D(`commit.repository`)}),(0,H.jsxs)(te,{disabled:U||h!==null,onValueChange:d,...S===null?{}:{value:S},children:[(0,H.jsx)(re,{"aria-labelledby":`commit-repository-label`,className:`mt-1 w-full`,children:(0,H.jsx)(ce,{placeholder:D(`commit.selectRepository`)})}),(0,H.jsx)(oe,{position:`popper`,children:(0,H.jsx)(se,{children:p.map(e=>(0,H.jsx)(ee,{value:e,children:e},e))})})]}),i?(0,H.jsx)(`p`,{className:`mt-1 text-caption text-muted-foreground`,role:`status`,children:D(`commit.repositoryLoading`)}):null,p.length===0?(0,H.jsx)(`p`,{className:`mt-1 text-caption text-danger`,role:`alert`,children:D(`commit.repositoryUnavailable`)}):null]}):null,e===null?null:(0,H.jsx)(`p`,{className:`mx-3 mt-2 shrink-0 text-caption text-danger`,role:`alert`,children:e.message}),G?(0,H.jsxs)(H.Fragment,{children:[(0,H.jsxs)(`section`,{className:`shrink-0 px-3 py-2`,children:[(0,H.jsxs)(ue,{className:M(`gap-1 rounded-surface border border-separator-strong bg-panel shadow-sm focus-within:border-brand focus-within:shadow-focus`,B===1?`h-8 max-workbench:h-11`:`h-18 max-workbench:h-21`),children:[(0,H.jsx)(fe,{"aria-label":D(`commit.commitMessage`),className:`h-full min-h-0 overflow-y-auto px-2 py-1.5 text-label leading-5 focus-visible:!outline-none max-workbench:py-3`,disabled:U||h!==null,id:`commit-message`,onChange:e=>{let t=e.currentTarget.value;F(e=>({...e,message:t}))},placeholder:D(`commit.messagePlaceholder`),rows:B,value:L}),(0,H.jsx)(de,{align:`inline-end`,className:`ml-auto`,children:(0,H.jsxs)(z,{children:[(0,H.jsx)(E,{asChild:!0,children:(0,H.jsx)(m,{"aria-label":D(`commit.generateMessage`),className:`size-7 shrink-0 justify-center p-0 [&_svg]:size-3.5 max-workbench:size-11`,disabled:!K,onClick:()=>{J().catch(()=>void 0)},type:`button`,children:r?(0,H.jsx)(o,{"aria-hidden":`true`,className:`animate-spin`}):(0,H.jsx)(y,{"aria-hidden":`true`})})}),(0,H.jsx)(x,{side:`top`,children:D(`commit.generateMessage`)})]})})]}),h===null?(0,H.jsxs)(le,{className:`mt-2 w-full`,children:[(0,H.jsxs)(N,{className:`flex-1 rounded-r-none`,disabled:!q,onClick:()=>{Y(`commit`).catch(()=>void 0)},type:`button`,children:[n?(0,H.jsx)(o,{"aria-hidden":`true`,className:`animate-spin`}):(0,H.jsx)(l,{"aria-hidden":`true`}),D(`commit.commit`)]}),(0,H.jsxs)(ae,{children:[(0,H.jsx)(ne,{asChild:!0,children:(0,H.jsx)(N,{"aria-label":D(`commit.commitActions`),className:`w-10 rounded-l-none border-l border-brand-contrast/30 px-0`,disabled:!q,type:`button`,children:(0,H.jsx)(c,{"aria-hidden":`true`})})}),(0,H.jsx)(w,{align:`end`,children:(0,H.jsxs)(C,{children:[(0,H.jsxs)(T,{onSelect:()=>{Y(`commit`).catch(()=>void 0)},children:[(0,H.jsx)(l,{"aria-hidden":`true`,className:`size-3.5`}),D(`commit.commit`)]}),(0,H.jsxs)(T,{onSelect:()=>{Y(`commit_and_push`).catch(()=>void 0)},children:[(0,H.jsx)(b,{"aria-hidden":`true`,className:`size-3.5`}),D(`commit.commitAndPush`)]})]})})]})]}):(0,H.jsx)(`p`,{className:`mt-2 font-mono text-caption text-muted-foreground`,role:`status`,children:h.commitSha.slice(0,7)})]}),(0,H.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col border-t border-separator`,children:[(0,H.jsxs)(`div`,{className:`flex h-8 shrink-0 items-center gap-1 px-3 text-label font-semibold`,children:[(0,H.jsx)(`span`,{children:D(`commit.changes`)}),(0,H.jsx)(`span`,{className:`ml-auto text-caption font-normal text-muted-foreground`,children:D(`commit.totalFiles`,{count:A.length})}),(0,H.jsxs)(z,{children:[(0,H.jsx)(E,{asChild:!0,children:(0,H.jsx)(N,{"aria-label":D(O===`tree`?`diff.showFileList`:`diff.showFileTree`),onClick:()=>{k(O===`tree`?`list`:`tree`)},size:`icon-sm`,type:`button`,variant:`ghost`,children:O===`tree`?(0,H.jsx)(g,{"aria-hidden":`true`,className:`size-3.5`}):(0,H.jsx)(_,{"aria-hidden":`true`,className:`size-3.5`})})}),(0,H.jsx)(x,{children:D(O===`tree`?`diff.showFileList`:`diff.showFileTree`)})]})]}),(0,H.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain py-0.5`,"data-slot":`commit-changes-scroll`,children:[(0,H.jsx)($,{changes:t.staged,disabled:U||h!==null,label:D(`commit.staged`),onOpenFileDiff:u,onSelectedPathsChange:e=>{F(t=>({...t,selectedPaths:e}))},selectedPaths:R,viewMode:O}),(0,H.jsx)($,{changes:t.unstaged,disabled:U||h!==null,label:D(`commit.unstaged`),onOpenFileDiff:u,onSelectedPathsChange:e=>{F(t=>({...t,selectedPaths:e}))},selectedPaths:R,viewMode:O})]})]})]}):null]})}function _e(e){return e.pushStatus===`pushed`?`commit.commitAndPushSucceeded`:e.pushStatus===`not_requested`?`commit.commitSucceeded`:null}function ve({client:e,detailsError:t=null,detailsPending:n=!1,gitStatus:o,onOpenFileDiff:s,projectId:c,rootPath:l}){let{t:u}=f(`workbench`),d=r(),p=a(D(c,l,e)),m=a({...S(c,l,e),meta:{actionNotification:{successMessage:!1}}}),h=(0,V.useMemo)(()=>me(o),[o]),[g,_]=(0,V.useState)(),[v,y]=(0,V.useState)(null),b=v!==null&&h.includes(v)?v:h[0]??null,x=i(O(c,l,b,o.repositoryMode===`children`,e)),C=o.repositoryMode===`root`?o:x.data??o,w=g?.snapshot===C.snapshot?g.result:null;return(0,H.jsx)(ge,{error:t??x.error,gitStatus:C,isCommitting:m.isPending,isGenerating:p.isPending,isRepositoryLoading:n||x.isFetching,onCommit:async e=>{let t=e.expectedSnapshot,n=await m.mutateAsync(e);_({result:n,snapshot:t}),d.invalidateQueries({queryKey:[`projects`,c,l,`git-status`]}),d.invalidateQueries({queryKey:[`projects`,c,l,`git-history`]});let r=_e(n);if(r!==null){A(u(r));return}R(Error(n.pushError??u(`commit.commitCompletePushFailed`)))},onGenerateMessage:async e=>(await p.mutateAsync(e)).message,onOpenFileDiff:s,onSelectRepository:e=>{_(void 0),p.reset(),m.reset(),y(e)},repositories:h,result:w,selectedRepository:b})}function ye({client:e,detailsError:t,detailsPending:n,detailsStatus:r,gitStatus:i,gitStatusError:a,onOpenFileDiff:o,projectId:s,rootPath:c}){return s!==void 0&&e!==void 0&&i!==void 0?(0,H.jsx)(ve,{client:e,detailsError:t,detailsPending:n,gitStatus:r??i,onOpenFileDiff:o,projectId:s,rootPath:c}):a===null?(0,H.jsx)(`p`,{className:`p-3 text-caption text-muted-foreground`,role:`status`,children:d.t(`inspector.gitLoading`,{ns:`conversation`})}):(0,H.jsx)(`p`,{className:`p-3 text-caption text-danger`,role:`alert`,children:a.message})}export{ye as WorkbenchInspectorChanges};
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{a as r,n as i}from"./initial-deps-CTprc_pY.js";import{a}from"./initial-deps-Ds-edw-P.js";import{Q as o}from"./initial-deps-DqJTHr9A.js";import{dn as s}from"./index-CergXz2m.js";var c=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),l=[`workbench-pets`];function u(e=s){return r({queryFn:({signal:t})=>e.listWorkbenchPets({signal:t}),queryKey:l,staleTime:3e4})}function d(e,t){let n=e?.data??[],r=n.findIndex(e=>e.id===t.id);return r<0?{data:[...n,t]}:{data:n.map((e,n)=>n===r?t:e)}}function f(e,t=s){return i({meta:{actionNotification:{successMessage:!1}},mutationFn:async e=>{let n=`workbench-pet-${e}-${globalThis.crypto.randomUUID()}`;return t.downloadWorkbenchPet(e,{idempotencyKey:n})},mutationKey:[`workbench-pets`,`download`],onSuccess:({data:t})=>{e.setQueryData(l,e=>d(e,t))},scope:{id:`workbench-pet-download`}})}var p=e(t(),1);function m(e){return e!==void 0&&e.frames.length>0}function h(e,t){let n=new Set,r=t;for(;!n.has(r);){n.add(r);let t=e[r];if(t!==void 0&&m(t))return t;if(t!==void 0)r=t.fallback;else if(r!==`idle`)r=`idle`;else return}}var g=class{#e;#t;#n=`idle`;#r=!1;#i=0;#a=!1;#o;#s=!0;constructor(e){this.#e=e.animations,this.#t=e.onFrame}play(e){this.#n=e,this.#l()}setReducedMotion(e){this.#a!==e&&(this.#a=e,this.#l())}setVisible(e){this.#s!==e&&(this.#s=e,this.#l())}dispose(){this.#r=!0,this.#i+=1,this.#c()}#c(){this.#o!==void 0&&clearTimeout(this.#o),this.#o=void 0}#l(){if(this.#i+=1,this.#c(),this.#r||!this.#s)return;let e=h(this.#e,this.#n);e!==void 0&&this.#u(e,0,this.#i)}#u(e,t,n){if(n!==this.#i||this.#r||!this.#s)return;let r=e.frames[t];if(r===void 0||(this.#t(r.spriteIndex),this.#a))return;let i=t+1,a=e.loopStart??-1;i>=e.frames.length&&a<0||(this.#o=setTimeout(()=>{this.#o=void 0,this.#u(e,i<e.frames.length?i:a,n)},r.durationMs))}};async function _(e,t){let n=await fetch(e,{credentials:`same-origin`,signal:t});if(!n.ok)throw Error(`Unable to load pet asset: ${String(n.status)}`);return createImageBitmap(await n.blob())}function v(e,t,n,r){let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=Math.max(1,e.clientWidth||n.width),o=Math.max(1,e.clientHeight||n.height),s=Math.min(3,Math.max(1,globalThis.devicePixelRatio||1)),c=Math.round(a*s),l=Math.round(o*s);e.width!==c&&(e.width=c),e.height!==l&&(e.height=l);let u=r%n.columns,d=Math.floor(r/n.columns);i.clearRect(0,0,c,l),i.imageSmoothingEnabled=!1,i.drawImage(t,u*n.width,d*n.height,n.width,n.height,0,0,c,l)}var y=n();function b(){let[e,t]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{let e=matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function x({animationName:e,pet:t}){let n=(0,p.useRef)(null),[r,i]=(0,p.useState)(null),[o,s]=(0,p.useState)(!1),c=b(),l=a(t.assetId);return(0,p.useEffect)(()=>{let e=new AbortController,t=!0;return i(null),s(!1),typeof createImageBitmap==`function`?(_(l,e.signal).then(e=>{t?i(e):e.close()}).catch(()=>{t&&!e.signal.aborted&&s(!0)}),()=>{t=!1,e.abort()}):(s(!0),()=>{e.abort()})},[l]),(0,p.useEffect)(()=>()=>{r?.close()},[r]),(0,p.useEffect)(()=>{let i=n.current;if(i===null||r===null)return;let a=0,o=e=>{a=e;try{v(i,r,t.frame,e)}catch{s(!0)}},l=new g({animations:t.animations,onFrame:o});l.setReducedMotion(c),l.setVisible(document.visibilityState===`visible`),l.play(e);let u=new ResizeObserver(()=>{o(a)});u.observe(i);let d=()=>{l.setVisible(document.visibilityState===`visible`)};return document.addEventListener(`visibilitychange`,d),()=>{u.disconnect(),document.removeEventListener(`visibilitychange`,d),l.dispose()}},[e,r,t.animations,t.frame,c]),o?(0,y.jsx)(`span`,{"aria-hidden":`true`,className:`workbench-pet-static-fallback`,style:{backgroundImage:`url(${l})`,backgroundSize:`${String(t.frame.columns*100)}% ${String(t.frame.rows*100)}%`}}):(0,y.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-pet-canvas`,ref:n})}export{c as i,f as n,u as r,x as t};
1
+ import{a as e}from"./rolldown-runtime-CNC7AqOf.js";import{i as t,t as n}from"./react-runtime-DaCTDC27.js";import{a as r,n as i}from"./initial-deps-CTprc_pY.js";import{a}from"./initial-deps-Ds-edw-P.js";import{Q as o}from"./initial-deps-DqJTHr9A.js";import{dn as s}from"./index-CaTeB0Nm.js";var c=o(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),l=[`workbench-pets`];function u(e=s){return r({queryFn:({signal:t})=>e.listWorkbenchPets({signal:t}),queryKey:l,staleTime:3e4})}function d(e,t){let n=e?.data??[],r=n.findIndex(e=>e.id===t.id);return r<0?{data:[...n,t]}:{data:n.map((e,n)=>n===r?t:e)}}function f(e,t=s){return i({meta:{actionNotification:{successMessage:!1}},mutationFn:async e=>{let n=`workbench-pet-${e}-${globalThis.crypto.randomUUID()}`;return t.downloadWorkbenchPet(e,{idempotencyKey:n})},mutationKey:[`workbench-pets`,`download`],onSuccess:({data:t})=>{e.setQueryData(l,e=>d(e,t))},scope:{id:`workbench-pet-download`}})}var p=e(t(),1);function m(e){return e!==void 0&&e.frames.length>0}function h(e,t){let n=new Set,r=t;for(;!n.has(r);){n.add(r);let t=e[r];if(t!==void 0&&m(t))return t;if(t!==void 0)r=t.fallback;else if(r!==`idle`)r=`idle`;else return}}var g=class{#e;#t;#n=`idle`;#r=!1;#i=0;#a=!1;#o;#s=!0;constructor(e){this.#e=e.animations,this.#t=e.onFrame}play(e){this.#n=e,this.#l()}setReducedMotion(e){this.#a!==e&&(this.#a=e,this.#l())}setVisible(e){this.#s!==e&&(this.#s=e,this.#l())}dispose(){this.#r=!0,this.#i+=1,this.#c()}#c(){this.#o!==void 0&&clearTimeout(this.#o),this.#o=void 0}#l(){if(this.#i+=1,this.#c(),this.#r||!this.#s)return;let e=h(this.#e,this.#n);e!==void 0&&this.#u(e,0,this.#i)}#u(e,t,n){if(n!==this.#i||this.#r||!this.#s)return;let r=e.frames[t];if(r===void 0||(this.#t(r.spriteIndex),this.#a))return;let i=t+1,a=e.loopStart??-1;i>=e.frames.length&&a<0||(this.#o=setTimeout(()=>{this.#o=void 0,this.#u(e,i<e.frames.length?i:a,n)},r.durationMs))}};async function _(e,t){let n=await fetch(e,{credentials:`same-origin`,signal:t});if(!n.ok)throw Error(`Unable to load pet asset: ${String(n.status)}`);return createImageBitmap(await n.blob())}function v(e,t,n,r){let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=Math.max(1,e.clientWidth||n.width),o=Math.max(1,e.clientHeight||n.height),s=Math.min(3,Math.max(1,globalThis.devicePixelRatio||1)),c=Math.round(a*s),l=Math.round(o*s);e.width!==c&&(e.width=c),e.height!==l&&(e.height=l);let u=r%n.columns,d=Math.floor(r/n.columns);i.clearRect(0,0,c,l),i.imageSmoothingEnabled=!1,i.drawImage(t,u*n.width,d*n.height,n.width,n.height,0,0,c,l)}var y=n();function b(){let[e,t]=(0,p.useState)(!1);return(0,p.useEffect)(()=>{let e=matchMedia(`(prefers-reduced-motion: reduce)`),n=()=>{t(e.matches)};return n(),e.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n)}},[]),e}function x({animationName:e,pet:t}){let n=(0,p.useRef)(null),[r,i]=(0,p.useState)(null),[o,s]=(0,p.useState)(!1),c=b(),l=a(t.assetId);return(0,p.useEffect)(()=>{let e=new AbortController,t=!0;return i(null),s(!1),typeof createImageBitmap==`function`?(_(l,e.signal).then(e=>{t?i(e):e.close()}).catch(()=>{t&&!e.signal.aborted&&s(!0)}),()=>{t=!1,e.abort()}):(s(!0),()=>{e.abort()})},[l]),(0,p.useEffect)(()=>()=>{r?.close()},[r]),(0,p.useEffect)(()=>{let i=n.current;if(i===null||r===null)return;let a=0,o=e=>{a=e;try{v(i,r,t.frame,e)}catch{s(!0)}},l=new g({animations:t.animations,onFrame:o});l.setReducedMotion(c),l.setVisible(document.visibilityState===`visible`),l.play(e);let u=new ResizeObserver(()=>{o(a)});u.observe(i);let d=()=>{l.setVisible(document.visibilityState===`visible`)};return document.addEventListener(`visibilitychange`,d),()=>{u.disconnect(),document.removeEventListener(`visibilitychange`,d),l.dispose()}},[e,r,t.animations,t.frame,c]),o?(0,y.jsx)(`span`,{"aria-hidden":`true`,className:`workbench-pet-static-fallback`,style:{backgroundImage:`url(${l})`,backgroundSize:`${String(t.frame.columns*100)}% ${String(t.frame.rows*100)}%`}}):(0,y.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-pet-canvas`,ref:n})}export{c as i,f as n,u as r,x as t};