crewx 0.9.0-rc.227 → 0.9.0-rc.228

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 (120) hide show
  1. package/dist/assets/{DocSyncTextDiff-eKS-tgdh.js → DocSyncTextDiff-BnCwHctj.js} +1 -1
  2. package/dist/assets/{GitDiffEditor-CTbqGqE_.js → GitDiffEditor-B6GYduie.js} +1 -1
  3. package/dist/assets/MarketPage-ChfAGu4F.js +41 -0
  4. package/dist/assets/{MonacoDiffSurface-CxFC1AUi.js → MonacoDiffSurface-Ll0LodnZ.js} +7 -7
  5. package/dist/assets/{PromptTab-nGomnpYh.js → PromptTab-B1oj4TgK.js} +4 -4
  6. package/dist/assets/{abnfDiagram-VCTEODGH-Gpmffeid.js → abnfDiagram-VCTEODGH-Bl-fZSxz.js} +1 -1
  7. package/dist/assets/{arc-BBeEw_wB.js → arc-B2qx4Qev.js} +1 -1
  8. package/dist/assets/{architectureDiagram-5GKGNRK7-CZHu0ESU.js → architectureDiagram-5GKGNRK7-WlhrlNNF.js} +1 -1
  9. package/dist/assets/{blockDiagram-I7D4REHJ-V66lPh3d.js → blockDiagram-I7D4REHJ-CRwDjCKV.js} +1 -1
  10. package/dist/assets/{c4Diagram-7LVT6UL2-DkjedPLK.js → c4Diagram-7LVT6UL2-CIsKKmvY.js} +1 -1
  11. package/dist/assets/channel-Cx88V7TT.js +1 -0
  12. package/dist/assets/{chunk-2Q5K7J3B-C0Im_DV5.js → chunk-2Q5K7J3B-ZCc7YbKK.js} +1 -1
  13. package/dist/assets/{chunk-5VM5RSS4-fZ8Sxm3u.js → chunk-5VM5RSS4-CpL0yeRd.js} +1 -1
  14. package/dist/assets/{chunk-F27PBJKO-BjpEM4Eq.js → chunk-F27PBJKO-Dqjfk0mK.js} +1 -1
  15. package/dist/assets/{chunk-IMKFNOWR-BVoB_sgR.js → chunk-IMKFNOWR-BBhBSBmv.js} +1 -1
  16. package/dist/assets/{chunk-JWPE2WC7-3j1Tnikc.js → chunk-JWPE2WC7-DRe70Zl0.js} +1 -1
  17. package/dist/assets/{chunk-POPQ4Y6H-Wm2OX3mh.js → chunk-POPQ4Y6H-B9_-t0gN.js} +1 -1
  18. package/dist/assets/{chunk-SVP7TREG-D358g17R.js → chunk-SVP7TREG-B_TX3RGK.js} +1 -1
  19. package/dist/assets/{chunk-TICWLB2K-Ce_QhQKc.js → chunk-TICWLB2K-Dp1fp6I5.js} +1 -1
  20. package/dist/assets/{chunk-XXDRQBXY-D1OJsKTl.js → chunk-XXDRQBXY-hhp1fWuu.js} +1 -1
  21. package/dist/assets/classDiagram-ZZMXUADV-BJou2iew.js +1 -0
  22. package/dist/assets/classDiagram-v2-VYDZK3BY-BJou2iew.js +1 -0
  23. package/dist/assets/{cose-bilkent-JH36ORCC-CBXN451-.js → cose-bilkent-JH36ORCC-Dan-mY_O.js} +1 -1
  24. package/dist/assets/{cssMode-DiGBgMNr.js → cssMode-DeoILhRI.js} +1 -1
  25. package/dist/assets/{cynefin-OW5HDTMX-DMLqiP9r.js → cynefin-OW5HDTMX-0P-vs2pE.js} +1 -1
  26. package/dist/assets/{cynefinDiagram-5FMLGOSQ-C-Aqdqg5.js → cynefinDiagram-5FMLGOSQ-_EBlWNMr.js} +1 -1
  27. package/dist/assets/{dagre-GXQ25YYZ-rh6GktCM.js → dagre-GXQ25YYZ-CXNqyDjg.js} +1 -1
  28. package/dist/assets/{diagram-S7CK7UJ4-CS3rAUF9.js → diagram-S7CK7UJ4-DnmM68IY.js} +1 -1
  29. package/dist/assets/{diagram-UQ7AKVKN-Bh6FU8z-.js → diagram-UQ7AKVKN-sXEdI5DN.js} +1 -1
  30. package/dist/assets/{diagram-VSXAHHWV-BuzCExED.js → diagram-VSXAHHWV-VDbQGxpL.js} +1 -1
  31. package/dist/assets/{diagram-VX7I27RA-Dz4r8Fwr.js → diagram-VX7I27RA-BfmIyWeS.js} +1 -1
  32. package/dist/assets/{diagram-Z3DM3KII-CG3DSLuW.js → diagram-Z3DM3KII-Dss0Ebap.js} +1 -1
  33. package/dist/assets/{ebnfDiagram-PWID7BFC-DOEccYXe.js → ebnfDiagram-PWID7BFC-v97Ku8WC.js} +1 -1
  34. package/dist/assets/{erDiagram-RLTQ6QDP-DfiFvCez.js → erDiagram-RLTQ6QDP-Bmr73Ro0.js} +1 -1
  35. package/dist/assets/{flowDiagram-HODETNUW-CLTVPd0S.js → flowDiagram-HODETNUW-BjO7wv72.js} +1 -1
  36. package/dist/assets/{freemarker2-B3PW5EV-.js → freemarker2-B-0VuV4Q.js} +1 -1
  37. package/dist/assets/{ganttDiagram-EL5Y4UJY-BP2o-u5w.js → ganttDiagram-EL5Y4UJY-D0Ihr2MY.js} +1 -1
  38. package/dist/assets/{gitGraphDiagram-WWUBYQGX-DqQqVBVy.js → gitGraphDiagram-WWUBYQGX-BlUzXRwh.js} +1 -1
  39. package/dist/assets/{handlebars-ts9qfCQT.js → handlebars-D06XAKqY.js} +1 -1
  40. package/dist/assets/{html-Dq-Ro8Nq.js → html-sVTpRSoQ.js} +1 -1
  41. package/dist/assets/{htmlMode-WpoLje38.js → htmlMode-B5b8zqsI.js} +1 -1
  42. package/dist/assets/{infoDiagram-27XIBGKW-kDZm5XOc.js → infoDiagram-27XIBGKW-hQTAi2Yx.js} +1 -1
  43. package/dist/assets/{ishikawaDiagram-5VMMS53U-BG6ZJbsj.js → ishikawaDiagram-5VMMS53U-B-JUB0Ua.js} +1 -1
  44. package/dist/assets/{javascript-Bm_l9Lai.js → javascript-D-KwyQZ7.js} +1 -1
  45. package/dist/assets/{journeyDiagram-3NMN7TZE-2fd0CwDo.js → journeyDiagram-3NMN7TZE-DuZNKAyV.js} +1 -1
  46. package/dist/assets/{jsonMode-DcSE-l9y.js → jsonMode-BuzYjXN3.js} +1 -1
  47. package/dist/assets/{kanban-definition-UXKFOSKX-9Yv3xWiE.js → kanban-definition-UXKFOSKX-BsV5wQ5N.js} +1 -1
  48. package/dist/assets/{layout-BH53goTX.js → layout-CsYH0nzS.js} +1 -1
  49. package/dist/assets/{linear-BEhu3-q5.js → linear-B6-fWfIm.js} +1 -1
  50. package/dist/assets/{liquid-BuwMN_rY.js → liquid-BB-VPOy_.js} +1 -1
  51. package/dist/assets/{main-DWDnm1zT.js → main-C7UHkkd8.js} +550 -550
  52. package/dist/assets/main-hWtXwi0U.css +10 -0
  53. package/dist/assets/{mdx-C14L-IWu.js → mdx-CamPWtP4.js} +1 -1
  54. package/dist/assets/{mindmap-definition-YA3MSWOX-IYQ5oUvI.js → mindmap-definition-YA3MSWOX-DdRJT_RV.js} +1 -1
  55. package/dist/assets/{pegDiagram-XKGWAZYB-B0Wadktd.js → pegDiagram-XKGWAZYB-gARF7aGd.js} +1 -1
  56. package/dist/assets/{pieDiagram-E7YTZNPT-BFB2R_Sg.js → pieDiagram-E7YTZNPT-DD2Gzfid.js} +1 -1
  57. package/dist/assets/{python-B3jHRvPq.js → python-jFJR3EQS.js} +1 -1
  58. package/dist/assets/{quadrantDiagram-AXDQQJYC-C4sVCRHA.js → quadrantDiagram-AXDQQJYC-DUMegX2P.js} +1 -1
  59. package/dist/assets/{railroadDiagram-O6MQD6OU-Bu4zQOCw.js → railroadDiagram-O6MQD6OU-BBrPthBn.js} +1 -1
  60. package/dist/assets/{razor-BfTYxLyL.js → razor-OU8Mw2Eo.js} +1 -1
  61. package/dist/assets/{requirementDiagram-BXWQKSXE-DBJ_u3C_.js → requirementDiagram-BXWQKSXE-BEJH94Qi.js} +1 -1
  62. package/dist/assets/{sankeyDiagram-P5KCCOFB-C1rpuQ2l.js → sankeyDiagram-P5KCCOFB-DzPCEV4c.js} +1 -1
  63. package/dist/assets/{sequenceDiagram-WJ2MYXX4-Clx3EudH.js → sequenceDiagram-WJ2MYXX4-r8qNM7OZ.js} +1 -1
  64. package/dist/assets/{sizeCapture-INFHLROL-Ch3KMzb8.js → sizeCapture-INFHLROL-lJN8Y1_w.js} +1 -1
  65. package/dist/assets/{stateDiagram-D77RDMKH-D_IzNJwK.js → stateDiagram-D77RDMKH-Bcwwq9kX.js} +1 -1
  66. package/dist/assets/stateDiagram-v2-MP3YSRHH-BNvRo3iw.js +1 -0
  67. package/dist/assets/{swimlanes-42K2YHIH-CfuvEHxn.js → swimlanes-42K2YHIH-Cc9guhGY.js} +1 -1
  68. package/dist/assets/swimlanesDiagram-VR7AAH4N-DKmENatZ.js +8 -0
  69. package/dist/assets/{timeline-definition-24CTP7MA-Dy7A9fUv.js → timeline-definition-24CTP7MA-g2EwhYCX.js} +1 -1
  70. package/dist/assets/{transformers.web-BInAkILn.js → transformers.web-B4qV78iF.js} +1 -1
  71. package/dist/assets/{tsMode-DbJljo_m.js → tsMode-D-xsvB_Y.js} +1 -1
  72. package/dist/assets/{typescript-CwKvHGbr.js → typescript-BprL0zje.js} +1 -1
  73. package/dist/assets/{vennDiagram-4TSXK5OY-DlrF4cuO.js → vennDiagram-4TSXK5OY-CvuN5T6Y.js} +1 -1
  74. package/dist/assets/{wardleyDiagram-VM6X3IG4-C_d65_c4.js → wardleyDiagram-VM6X3IG4-CgZCrbYp.js} +1 -1
  75. package/dist/assets/{xml-D6pBMpew.js → xml-BVJVoXXU.js} +1 -1
  76. package/dist/assets/{xychartDiagram-S5SC5T6Z-aT6xMIZL.js → xychartDiagram-S5SC5T6Z-DLqU2I7B.js} +1 -1
  77. package/dist/assets/{yaml-BEpHRQh4.js → yaml-rfKt5RTP.js} +1 -1
  78. package/dist/index.html +3 -3
  79. package/dist/ui-build.json +1 -1
  80. package/dist-server/common/task-effort-metadata.js +1 -1
  81. package/dist-server/domain/app/app-uninstall-policy.js +1 -0
  82. package/dist-server/domain/app/app-uninstall.controller.js +1 -0
  83. package/dist-server/domain/app/app-uninstall.service.js +2 -0
  84. package/dist-server/domain/app/app.module.js +1 -1
  85. package/dist-server/domain/app/app.service.js +1 -1
  86. package/dist-server/domain/doc-control/doc-sync-control.service.js +3 -3
  87. package/dist-server/domain/doc-control/doc-sync.controller.js +1 -1
  88. package/dist-server/domain/doc-sync/doc-sync.app-config.js +1 -1
  89. package/dist-server/domain/doc-sync/doc-sync.app-control.host.js +1 -1
  90. package/dist-server/domain/doc-sync/doc-sync.host.js +1 -1
  91. package/dist-server/domain/doc-sync/doc-sync.support.js +1 -1
  92. package/dist-server/domain/doc-sync/dto/app-sync.dto.js +1 -1
  93. package/dist-server/domain/events/workspace-event.types.js +1 -1
  94. package/dist-server/domain/market/app-install-snapshot.js +1 -1
  95. package/dist-server/domain/market/install-error.exception-filter.js +1 -1
  96. package/dist-server/domain/market/install-job.registry.js +1 -1
  97. package/dist-server/domain/market/install.service.js +1 -1
  98. package/dist-server/domain/market/market.module.js +1 -1
  99. package/dist-server/domain/market/sharing-installs-ledger.service.js +1 -1
  100. package/dist-server/domain/market/sharing-updates.service.js +1 -1
  101. package/dist-server/domain/market/template-installer.js +2 -2
  102. package/dist-server/domain/mcp/mcp-app-actions.js +1 -1
  103. package/dist-server/domain/mcp/mcp-app-downloads.service.js +1 -1
  104. package/dist-server/domain/mcp/mcp-app-job-host.service.js +1 -1
  105. package/dist-server/domain/mcp/mcp-app-sandbox.service.js +2 -2
  106. package/dist-server/domain/mcp/mcp-apps.js +1 -1
  107. package/dist-server/domain/message/message.service.js +4 -4
  108. package/dist-server/domain/model-route/model-route.controller.js +1 -1
  109. package/dist-server/domain/model-route/model-route.dto.js +1 -1
  110. package/dist-server/domain/model-route/model-route.service.js +1 -1
  111. package/package.json +17 -17
  112. package/packages/cli/dist/commands/init.d.ts +2 -2
  113. package/packages/cli/package.json +1 -1
  114. package/dist/assets/MarketPage-B_5EcYAM.js +0 -41
  115. package/dist/assets/channel-CwheM0R0.js +0 -1
  116. package/dist/assets/classDiagram-ZZMXUADV-DnyxQOYP.js +0 -1
  117. package/dist/assets/classDiagram-v2-VYDZK3BY-DnyxQOYP.js +0 -1
  118. package/dist/assets/main-BlVrnEvo.css +0 -10
  119. package/dist/assets/stateDiagram-v2-MP3YSRHH-KJtOnmaD.js +0 -1
  120. package/dist/assets/swimlanesDiagram-VR7AAH4N-DgEdClsA.js +0 -8
@@ -1 +1 @@
1
- import{aC as w,aD as e,aE as g}from"./main-DWDnm1zT.js";import{M as j}from"./MonacoDiffSurface-CxFC1AUi.js";function p(n){const t=/^---\r?\n[\s\S]*?\r?\n---(?=\r?\n|$)/.exec(n);if(!t)return null;const r=t[0].split(/\r?\n/);return{text:t[0],endLine:r.length,summary:r[1]??r[0]}}function b(n,t){const r=n.split(/\r?\n/),a=Math.max(0,Math.min(r.length-1,t-1));let s=null,i=null;for(let l=a;l>=0&&(!s||!i);l-=1){const c=r[l].trimEnd();!s&&/^##\s+/.test(c)&&(s=c),!i&&/^-\s+/.test(c)&&(i=c)}return{heading:s,listItem:i}}function L(n,t,r){var i,l;const a=new Set,s=[];for(const c of r){const h=[b(n,c.originalStartLineNumber),b(t,c.modifiedStartLineNumber)],u=((i=h.find(f=>f.heading))==null?void 0:i.heading)??null,x=((l=h.find(f=>f.listItem))==null?void 0:l.listItem)??null;if(!u&&!x)continue;const m=JSON.stringify([u,x]);a.has(m)||(a.add(m),s.push({heading:u,listItem:x}))}return s}function v(n){if(!n)return null;const t=new Date(n);return Number.isNaN(t.getTime())?n:t.toISOString()}function y({side:n,label:t,fileVersion:r}){const{t:a}=w(),s=v(n.modifiedAt),i=n.revision===null?null:String(n.revision);return e.jsxs("section",{className:"min-w-0 rounded-md border border-gray-200 bg-gray-50 px-3 py-2","aria-label":t,children:[e.jsx("h3",{className:"truncate text-sm font-semibold text-gray-900",children:t}),e.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-gray-600",children:[s?e.jsxs("span",{children:[a("threadAppWorkspace.resultShare.docSync.modifiedAt")," ",e.jsx("time",{dateTime:s,children:s})]}):null,i?e.jsxs("span",{children:[a("threadAppWorkspace.resultShare.docSync.version")," ",i]}):null]}),e.jsx("code",{className:"mt-1 block max-w-full break-all text-[11px] text-gray-500","data-testid":"doc-sync-file-version",children:r??n.hash})]})}function D({filepath:n,original:t,modified:r,originalLabel:a,modifiedLabel:s,originalVersion:i}){const[l,c]=g.useState([]),h=g.useRef(null),u=p(t.text),x=p(r.text),m=(u==null?void 0:u.text)===(x==null?void 0:x.text)?u:null,f=g.useMemo(()=>L(t.text,r.text,l),[l,r.text,t.text]);return e.jsxs("div",{className:"flex min-w-0 flex-col gap-2",children:[e.jsxs("div",{className:"grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-2",children:[e.jsx(y,{side:t,label:a,fileVersion:i}),e.jsx(y,{side:r,label:s})]}),f.length>0?e.jsx("div",{className:"flex min-w-0 flex-col gap-1","aria-label":a,children:f.map((d,o)=>e.jsxs("div",{className:"flex min-w-0 flex-wrap gap-x-2 rounded-md bg-blue-50 px-3 py-1.5 text-xs text-blue-900",children:[d.heading?e.jsx("span",{className:"break-words font-semibold",children:d.heading}):null,d.listItem?e.jsx("span",{className:"break-words",children:d.listItem}):null]},`${d.heading??""}:${d.listItem??""}:${o}`))}):null,m?e.jsxs("details",{className:"min-w-0 rounded-md border border-gray-200 bg-gray-50 text-xs text-gray-600","data-testid":"doc-sync-frontmatter",children:[e.jsx("summary",{className:"cursor-pointer truncate px-3 py-2",children:m.summary}),e.jsx("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap break-words border-t border-gray-200 px-3 py-2 font-mono text-[11px] leading-relaxed text-gray-700","data-testid":"doc-sync-frontmatter-text",children:m.text})]}):null,e.jsx("div",{className:"h-[min(45vh,24rem)] min-h-64 min-w-0 shrink-0 overflow-hidden rounded-md border border-gray-200 bg-white",children:e.jsx(j,{filepath:n,original:t.text,modified:r.text,language:"plaintext",theme:"vs",renderSideBySide:!1,options:{automaticLayout:!0,readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",hideUnchangedRegions:{enabled:!1}},onDiffChange:d=>{c(d.map(o=>({originalStartLineNumber:o.originalStartLineNumber,originalEndLineNumber:o.originalEndLineNumber,modifiedStartLineNumber:o.modifiedStartLineNumber,modifiedEndLineNumber:o.modifiedEndLineNumber}))),window.requestAnimationFrame(()=>{const o=h.current;if(!o)return;const N=m&&m.endLine>2?[{startLineNumber:2,startColumn:1,endLineNumber:m.endLine,endColumn:1}]:[];for(const S of[o.getOriginalEditor(),o.getModifiedEditor()])S.setHiddenAreas(N)})},onEditorReady:d=>{h.current=d}})})]})}export{y as DocSyncSideMetadata,D as DocSyncTextDiff,L as buildDocSyncHunkContexts};
1
+ import{aC as w,aD as e,aE as g}from"./main-C7UHkkd8.js";import{M as j}from"./MonacoDiffSurface-Ll0LodnZ.js";function p(n){const t=/^---\r?\n[\s\S]*?\r?\n---(?=\r?\n|$)/.exec(n);if(!t)return null;const r=t[0].split(/\r?\n/);return{text:t[0],endLine:r.length,summary:r[1]??r[0]}}function b(n,t){const r=n.split(/\r?\n/),a=Math.max(0,Math.min(r.length-1,t-1));let s=null,i=null;for(let l=a;l>=0&&(!s||!i);l-=1){const c=r[l].trimEnd();!s&&/^##\s+/.test(c)&&(s=c),!i&&/^-\s+/.test(c)&&(i=c)}return{heading:s,listItem:i}}function L(n,t,r){var i,l;const a=new Set,s=[];for(const c of r){const h=[b(n,c.originalStartLineNumber),b(t,c.modifiedStartLineNumber)],u=((i=h.find(f=>f.heading))==null?void 0:i.heading)??null,x=((l=h.find(f=>f.listItem))==null?void 0:l.listItem)??null;if(!u&&!x)continue;const m=JSON.stringify([u,x]);a.has(m)||(a.add(m),s.push({heading:u,listItem:x}))}return s}function v(n){if(!n)return null;const t=new Date(n);return Number.isNaN(t.getTime())?n:t.toISOString()}function y({side:n,label:t,fileVersion:r}){const{t:a}=w(),s=v(n.modifiedAt),i=n.revision===null?null:String(n.revision);return e.jsxs("section",{className:"min-w-0 rounded-md border border-gray-200 bg-gray-50 px-3 py-2","aria-label":t,children:[e.jsx("h3",{className:"truncate text-sm font-semibold text-gray-900",children:t}),e.jsxs("div",{className:"mt-1 flex flex-wrap gap-x-3 gap-y-1 text-xs text-gray-600",children:[s?e.jsxs("span",{children:[a("threadAppWorkspace.resultShare.docSync.modifiedAt")," ",e.jsx("time",{dateTime:s,children:s})]}):null,i?e.jsxs("span",{children:[a("threadAppWorkspace.resultShare.docSync.version")," ",i]}):null]}),e.jsx("code",{className:"mt-1 block max-w-full break-all text-[11px] text-gray-500","data-testid":"doc-sync-file-version",children:r??n.hash})]})}function D({filepath:n,original:t,modified:r,originalLabel:a,modifiedLabel:s,originalVersion:i}){const[l,c]=g.useState([]),h=g.useRef(null),u=p(t.text),x=p(r.text),m=(u==null?void 0:u.text)===(x==null?void 0:x.text)?u:null,f=g.useMemo(()=>L(t.text,r.text,l),[l,r.text,t.text]);return e.jsxs("div",{className:"flex min-w-0 flex-col gap-2",children:[e.jsxs("div",{className:"grid min-w-0 grid-cols-1 gap-2 sm:grid-cols-2",children:[e.jsx(y,{side:t,label:a,fileVersion:i}),e.jsx(y,{side:r,label:s})]}),f.length>0?e.jsx("div",{className:"flex min-w-0 flex-col gap-1","aria-label":a,children:f.map((d,o)=>e.jsxs("div",{className:"flex min-w-0 flex-wrap gap-x-2 rounded-md bg-blue-50 px-3 py-1.5 text-xs text-blue-900",children:[d.heading?e.jsx("span",{className:"break-words font-semibold",children:d.heading}):null,d.listItem?e.jsx("span",{className:"break-words",children:d.listItem}):null]},`${d.heading??""}:${d.listItem??""}:${o}`))}):null,m?e.jsxs("details",{className:"min-w-0 rounded-md border border-gray-200 bg-gray-50 text-xs text-gray-600","data-testid":"doc-sync-frontmatter",children:[e.jsx("summary",{className:"cursor-pointer truncate px-3 py-2",children:m.summary}),e.jsx("pre",{className:"max-h-40 overflow-auto whitespace-pre-wrap break-words border-t border-gray-200 px-3 py-2 font-mono text-[11px] leading-relaxed text-gray-700","data-testid":"doc-sync-frontmatter-text",children:m.text})]}):null,e.jsx("div",{className:"h-[min(45vh,24rem)] min-h-64 min-w-0 shrink-0 overflow-hidden rounded-md border border-gray-200 bg-white",children:e.jsx(j,{filepath:n,original:t.text,modified:r.text,language:"plaintext",theme:"vs",renderSideBySide:!1,options:{automaticLayout:!0,readOnly:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",hideUnchangedRegions:{enabled:!1}},onDiffChange:d=>{c(d.map(o=>({originalStartLineNumber:o.originalStartLineNumber,originalEndLineNumber:o.originalEndLineNumber,modifiedStartLineNumber:o.modifiedStartLineNumber,modifiedEndLineNumber:o.modifiedEndLineNumber}))),window.requestAnimationFrame(()=>{const o=h.current;if(!o)return;const N=m&&m.endLine>2?[{startLineNumber:2,startColumn:1,endLineNumber:m.endLine,endColumn:1}]:[];for(const S of[o.getOriginalEditor(),o.getModifiedEditor()])S.setHiddenAreas(N)})},onEditorReady:d=>{h.current=d}})})]})}export{y as DocSyncSideMetadata,D as DocSyncTextDiff,L as buildDocSyncHunkContexts};
@@ -1,4 +1,4 @@
1
- import{bd as z,be as R,aE as a,aC as L,bf as O,bg as A,aD as c,bh as C}from"./main-DWDnm1zT.js";import{l as b,M as B}from"./MonacoDiffSurface-CxFC1AUi.js";/**
1
+ import{bd as z,be as R,aE as a,aC as L,bf as O,bg as A,aD as c,bh as C}from"./main-C7UHkkd8.js";import{l as b,M as B}from"./MonacoDiffSurface-Ll0LodnZ.js";/**
2
2
  * @license lucide-react v0.563.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1,41 @@
1
+ import{bd as H,bi as K,aC as T,bj as Ie,bk as D,aE as l,bl as At,bm as we,bn as B,bo as Ze,bp as P,bq as zt,br as Mt,bs as _t,aD as e,bt as O,bh as me,bu as Dt,bv as Le,bw as Pt,bx as et,by as Ot,bz as Tt,bA as qe,bB as Ft,bC as We,bD as Ut,bE as $t,bF as Vt,bG as Ce,bH as se,bI as Ke,bJ as Bt,bK as tt,bL as Ht,bM as qt,bN as Wt,bO as Kt,bP as st,bQ as rt,bR as at,bS as Se,bT as re,bU as Gt,bV as nt,bW as it,bX as lt,bY as Qt,bZ as Yt,b_ as Jt}from"./main-C7UHkkd8.js";import{b$ as zs}from"./main-C7UHkkd8.js";/**
2
+ * @license lucide-react v0.563.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const Xt=[["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"}]],Zt=H("badge-check",Xt);/**
7
+ * @license lucide-react v0.563.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const es=[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]],ts=H("cloud-upload",es);/**
12
+ * @license lucide-react v0.563.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const ss=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]],ot=H("layout-template",ss);/**
17
+ * @license lucide-react v0.563.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const rs=[["path",{d:"m16 16 2 2 4-4",key:"gfu2re"}],["path",{d:"M21 10V8a2 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 0l2-1.14",key:"e7tb2h"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["line",{x1:"12",x2:"12",y1:"22",y2:"12",key:"a4e8g8"}]],as=H("package-check",rs);/**
22
+ * @license lucide-react v0.563.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const ns=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]],ct=H("plug",ns);/**
27
+ * @license lucide-react v0.563.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const is=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],dt=H("puzzle",is);/**
32
+ * @license lucide-react v0.563.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const ls=[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]],os=H("scale",ls);/**
37
+ * @license lucide-react v0.563.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const cs=[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]],ut=H("shopping-bag",cs),ds={SESSION_REFRESH_UNAVAILABLE:"ACCOUNT_SESSION_REFRESH_UNAVAILABLE"};function us(t){return t instanceof K?t.status===403&&t.code==="GRANT_REVOKED"?"grantRevoked":t.status===403&&t.code==="SHARING_OWNER_RECIPIENT_LIMIT_REACHED"?"ownerRecipientLimit":t.status===404&&t.code==="INVITE_NOT_FOUND"?"notFound":t.status===409&&t.code==="INVITE_USED"?"used":t.status===410&&t.code==="INVITE_REVOKED"?"revoked":t.status===410&&t.code==="INVITE_EXPIRED"?"expired":"generic":"generic"}function Ge(t){return t instanceof K&&t.status===401&&t.code==="NOT_LOGGED_IN"}function Qe(t){return typeof t=="object"&&t!==null}function Ye(t){return!Qe(t)||!Array.isArray(t.findings)?[]:t.findings.filter(n=>Qe(n)&&typeof n.path=="string"&&typeof n.line=="number"&&typeof n.rule=="string")}function ms(t){return{name:typeof t.name=="string"?t.name:"",version:typeof t.version=="string"?t.version:""}}const xs={[ds.SESSION_REFRESH_UNAVAILABLE]:{titleKey:"market.publish.failure.sessionRefreshUnavailable.title",descriptionKey:"market.publish.failure.sessionRefreshUnavailable.description",ctaKey:"market.publish.failure.sessionRefreshUnavailable.settingsCta",action:"settings"},PUBLISH_MARKETPLACE_UNAVAILABLE:{titleKey:"market.publish.failure.remoteUnavailable.title",descriptionKey:"market.publish.failure.remoteUnavailable.description",ctaKey:"market.publish.failure.retry",action:"retry"}},ps=6e4,gs=3e3;function hs(){const{t}=T(),n=Ie(),o=D(r=>r.currentWorkspaceSlug),[a,d]=l.useState({kind:"checkingAuth"}),y=l.useRef({kind:"checkingAuth"});y.current=a;const[u,C]=l.useState(!1),I=l.useRef(null),c=l.useRef(null),L=l.useRef(new Set),N=l.useRef(!1),f=l.useCallback(r=>{r.finished||(r.finished=!0,L.current.delete(r),c.current===r&&(c.current=null,I.current=null),r.owner.dispose())},[]),S=l.useCallback(r=>{!r||r.finished||(r.retired=!0,N.current=!0,L.current.add(r),c.current===r&&(c.current=null,I.current=null),r.owner.dispose(),r.restSettled&&f(r))},[f]),A=l.useCallback(r=>(r.settlement||(r.settlement=(async()=>{try{const i=await r.promise;if(!r.isCurrent())return;d(p=>p.kind==="running"||p.kind==="succeeded"?{kind:"succeeded",result:i}:p)}catch(i){if(!r.isCurrent())return;const p=i instanceof K&&i.code?i.code:"PUBLISH_FAILED",j=i instanceof K?Ye(i.body):[];d(x=>x.kind==="running"?{kind:"failed",code:p,findings:j}:x),Ge(i)&&(r.signOutCheck??(r.signOutCheck=At(r.owner,{confirmLoggedOut:we.getState().confirmLoggedOut,showLogin:()=>d({kind:"failed",code:"NOT_LOGGED_IN",findings:[]})},r.isCurrent)),await r.signOutCheck)}finally{f(r)}})()),r.settlement),[f]);l.useEffect(()=>()=>{S(c.current)},[S]);const E=l.useRef(0),v=l.useCallback(async()=>{const r=++E.current,i=D.getState().currentWorkspaceSlug,p=P(),j=()=>r===E.current&&D.getState().currentWorkspaceSlug===i&&P()===p;d({kind:"loadingPlan"});try{const x=await B.getPublishPlan();if(!j())return;d({kind:"prepared",plan:x})}catch{if(!j())return;d({kind:"planLoadFailed"})}},[]);l.useEffect(()=>{let r=!1;const i=P();return(async()=>{let p=!1;try{p=(await B.getAccountStatus()).loggedIn}catch{p=!1}if(!(r||i!==P()||D.getState().currentWorkspaceSlug!==o)){if(!p){d({kind:"notLoggedIn"});return}await v()}})(),()=>{r=!0}},[v,o]);const _=l.useRef(o);l.useEffect(()=>{if(_.current===o)return;_.current=o,E.current+=1;const r=c.current;S(r),d({kind:"checkingAuth"})},[S,o]);const b=l.useCallback(()=>{const r=y.current;if(r.kind!=="prepared")return;const i=r.plan,p=D.getState().currentWorkspaceSlug,j=P();let x;const q=Ze(()=>{if(c.current!==x)return;S(x);const z=we.getState().snapshot;d(z!=null&&z.loggedIn?{kind:"prepared",plan:i}:{kind:"notLoggedIn"})});d({kind:"running",plan:i,step:"packing"});const Q=B.runPublish();I.current=Q,x={owner:q,promise:Q,plan:i,workspaceSlug:p,workspaceEpoch:j,isCurrent:()=>c.current===x&&q.isCurrent()&&D.getState().currentWorkspaceSlug===p&&P()===j,terminalEventSeen:!1,sseAmbiguous:N.current,restSettled:!1,retired:!1,finished:!1,settlement:null,signOutCheck:null},c.current=x,Q.then(()=>{if(x.restSettled=!0,x.retired){f(x);return}if(x.sseAmbiguous||N.current){A(x);return}x.terminalEventSeen&&queueMicrotask(()=>{c.current!==x||x.settlement!==null||f(x)})},z=>{if(x.restSettled=!0,x.retired){f(x);return}if(Ge(z)||x.sseAmbiguous||N.current){A(x);return}x.terminalEventSeen&&queueMicrotask(()=>{c.current!==x||x.settlement!==null||f(x)})})},[f,S,A]),k=l.useCallback(async()=>{const r=c.current,i=I.current;!r||!i||r.promise!==i||!r.isCurrent()||y.current.kind!=="running"||(!r.sseAmbiguous&&!N.current&&B.getPublishPlan().then(p=>{r.isCurrent()&&d(j=>j.kind==="running"?{...j,plan:p}:j)}).catch(()=>{}),await A(r))},[A]),F=l.useMemo(()=>({"publish.step_changed":r=>{const i=c.current;!i||i.sseAmbiguous||N.current||!i.isCurrent()||d(p=>p.kind==="running"?{...p,step:r.step}:p)},"publish.succeeded":r=>{const i=c.current;!i||i.sseAmbiguous||N.current||!i.isCurrent()||(i.terminalEventSeen=!0,d(p=>p.kind==="running"?{kind:"succeeded",result:{tgzPath:"",fileCount:0,totalBytes:0,manifest:p.plan.manifest,slug:r.slug,version:r.version,artifactChecksum:"",artifactSizeBytes:0,submitOutcome:"created"}}:p),i.promise.then(p=>{i.isCurrent()&&(d(j=>j.kind==="succeeded"?{kind:"succeeded",result:p}:j),queueMicrotask(()=>{c.current!==i||i.settlement!==null||f(i)}))}).catch(()=>{}))},"publish.failed":r=>{const i=c.current;!i||i.sseAmbiguous||N.current||!i.isCurrent()||(i.terminalEventSeen=!0,d({kind:"failed",code:r.code,findings:[]}),i.promise.catch(p=>{if(i.isCurrent()){if(p instanceof K){const j=Ye(p.body);j.length>0&&d(x=>x.kind==="failed"&&x.code===r.code?{...x,findings:j}:x)}queueMicrotask(()=>{c.current!==i||i.settlement!==null||f(i)})}}))}}),[f]),{connected:G}=zt(o,F),X=Mt(()=>{k()},gs),Z=l.useRef(G);if(l.useEffect(()=>{const r=G&&!Z.current;Z.current=G,r&&a.kind==="running"&&X()},[G,a.kind,X]),_t(X,{interval:ps,enabled:a.kind==="running",invokeOnResume:!0}),a.kind==="checkingAuth"||a.kind==="loadingPlan")return e.jsx("div",{className:"flex min-h-[320px] items-center justify-center rounded-2xl border border-gray-200 bg-white p-8 shadow-sm",children:e.jsx(O,{size:22,className:"animate-spin text-gray-400"})});if(a.kind==="notLoggedIn")return e.jsxs("div",{className:"flex min-h-[320px] flex-col items-center justify-center gap-4 rounded-2xl border border-gray-200 bg-white p-8 text-center shadow-sm",children:[e.jsx("p",{className:"text-sm font-medium text-gray-700",children:t("market.publish.notLoggedIn.title")}),e.jsx("p",{className:"text-xs text-gray-500",children:t("market.publish.notLoggedIn.description")}),e.jsx("button",{type:"button",onClick:()=>n("/settings#account"),className:"inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition hover:bg-blue-600",children:t("market.publish.notLoggedIn.loginCta")})]});if(a.kind==="planLoadFailed")return e.jsxs("div",{className:"flex items-start gap-3 rounded-2xl border border-red-200 bg-red-50 p-4 shadow-sm",children:[e.jsx(me,{size:18,className:"mt-0.5 shrink-0 text-red-700"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm text-red-700",children:t("market.publish.errors.planLoadFailed")}),e.jsx("button",{type:"button",onClick:()=>void v(),className:"mt-2 rounded-lg border border-red-300 bg-white px-3 py-1.5 text-xs font-medium text-red-700 transition hover:bg-red-100",children:t("market.publish.failure.retry")})]})]});if(a.kind==="failed"){if(a.code==="SECRET_FINDINGS")return e.jsxs("div",{className:"space-y-3 rounded-2xl border border-red-300 bg-red-50 p-4 shadow-sm",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(me,{size:18,className:"mt-0.5 shrink-0 text-red-700"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-red-800",children:t("market.publish.failure.secretFindings.title")}),e.jsx("p",{className:"mt-1 text-xs text-red-700",children:t("market.publish.failure.secretFindings.description")})]})]}),e.jsx("ul",{className:"space-y-1 rounded-lg border border-red-200 bg-white p-3 text-xs text-red-800",children:a.findings.map((i,p)=>e.jsxs("li",{className:"font-mono",children:[i.path,":",i.line," (",i.rule,")"]},`${i.path}:${i.line}:${p}`))}),e.jsxs("button",{type:"button",disabled:!0,"aria-disabled":"true",className:"inline-flex cursor-not-allowed items-center gap-1.5 rounded-lg border border-red-300 bg-white px-3 py-2 text-sm font-medium text-red-400",children:[e.jsx(Dt,{size:14}),t("market.publish.failure.secretFindings.locked")]})]});if(a.code==="NOT_LOGGED_IN")return e.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 rounded-2xl border border-red-200 bg-red-50 p-8 text-center shadow-sm",children:[e.jsx(me,{size:22,className:"text-red-700"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-red-800",children:t("market.publish.failure.notLoggedIn.title")}),e.jsx("p",{className:"mt-1 text-xs text-red-700",children:t("market.publish.failure.notLoggedIn.description")})]}),e.jsx("button",{type:"button",onClick:()=>n("/settings#account"),className:"inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition hover:bg-blue-600",children:t("market.publish.failure.notLoggedIn.loginCta")})]});const r=xs[a.code];return e.jsxs("div",{className:"flex items-start gap-3 rounded-2xl border border-red-200 bg-red-50 p-4 shadow-sm",children:[e.jsx(me,{size:18,className:"mt-0.5 shrink-0 text-red-700"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-semibold text-red-800",children:t(r?r.titleKey:"market.publish.failure.generic.title")}),r?e.jsx("p",{className:"mt-1 text-xs text-red-700",children:t(r.descriptionKey)}):e.jsx("p",{className:"mt-1 text-xs font-mono text-red-700",children:a.code}),e.jsx("button",{type:"button",onClick:(r==null?void 0:r.action)==="settings"?()=>n("/settings#account"):()=>void v(),className:(r==null?void 0:r.action)==="settings"?"mt-2 inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition hover:bg-blue-600":"mt-2 rounded-lg border border-red-300 bg-white px-3 py-1.5 text-xs font-medium text-red-700 transition hover:bg-red-100",children:t(r?r.ctaKey:"market.publish.failure.retry")})]})]})}if(a.kind==="succeeded"){const{slug:r,version:i,artifactChecksum:p}=a.result;return e.jsxs("div",{className:"flex flex-col items-center justify-center gap-4 rounded-2xl border border-green-200 bg-green-50 p-8 text-center shadow-sm",children:[e.jsx(Le,{size:28,className:"text-green-600"}),e.jsx("p",{className:"text-sm font-semibold text-green-800",children:t("market.publish.success.title")}),e.jsxs("dl",{className:"w-full max-w-sm space-y-1 rounded-lg border border-green-200 bg-white p-3 text-left text-xs text-gray-700",children:[e.jsxs("div",{className:"flex justify-between gap-2",children:[e.jsx("dt",{className:"font-medium text-gray-500",children:t("market.publish.success.slugLabel")}),e.jsx("dd",{className:"font-mono",children:r})]}),e.jsxs("div",{className:"flex justify-between gap-2",children:[e.jsx("dt",{className:"font-medium text-gray-500",children:t("market.publish.success.versionLabel")}),e.jsx("dd",{className:"font-mono",children:i})]}),e.jsxs("div",{className:"flex justify-between gap-2 break-all",children:[e.jsx("dt",{className:"shrink-0 font-medium text-gray-500",children:t("market.publish.success.checksumLabel")}),e.jsx("dd",{className:"font-mono",children:p})]})]})]})}const{name:M,version:U}=ms(a.plan.manifest),ee=a.plan.excluded.length;return e.jsxs("div",{className:"space-y-4 rounded-2xl border border-gray-200 bg-white p-4 shadow-sm",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-900",children:t("market.publish.prepare.title",{name:M,version:U})}),e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-2 text-xs text-gray-500",children:[e.jsxs("span",{className:"rounded-full bg-gray-100 px-2 py-0.5 font-medium text-gray-700",children:[t("market.publish.prepare.visibilityLabel"),": ",t("market.publish.prepare.visibilityPrivate")]}),e.jsx("span",{children:t("market.publish.prepare.includedCount",{count:a.plan.included.length})}),e.jsx("span",{children:t("market.publish.prepare.excludedCount",{count:ee})})]})]}),e.jsxs("div",{children:[e.jsxs("button",{type:"button",onClick:()=>C(r=>!r),className:"inline-flex items-center gap-1 text-xs font-medium text-gray-600 hover:text-gray-900",children:[u?e.jsx(Pt,{size:14}):e.jsx(et,{size:14}),t(u?"market.publish.prepare.excludedHide":"market.publish.prepare.excludedShow")]}),u?e.jsx("ul",{className:"mt-2 space-y-1 rounded-lg border border-gray-200 bg-gray-50 p-3 text-xs text-gray-600",children:ee===0?e.jsx("li",{className:"text-gray-400",children:t("market.publish.prepare.excludedEmpty")}):a.plan.excluded.map((r,i)=>e.jsxs("li",{className:"font-mono",children:[r.path," (",r.rule,")"]},`${r.path}:${i}`))}):null]}),a.kind==="running"?e.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-blue-200 bg-blue-50 px-3 py-2 text-sm text-blue-800",children:[e.jsx(O,{size:16,className:"animate-spin"}),a.step==="packing"?e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx(as,{size:14}),t("market.publish.progress.steps.packing")]}):e.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[e.jsx(ts,{size:14}),t("market.publish.progress.steps.uploading")]})]}):e.jsx("button",{type:"button",onClick:b,className:"inline-flex items-center justify-center gap-2 rounded-xl bg-blue-500 px-4 py-2.5 text-sm font-medium text-white transition hover:bg-blue-600",children:t("market.publish.prepare.submit")})]})}const ae=new Map;function Ee(t){!t.settled||t.consumers>0||t.continuations>0||(ae.get(t.key)===t&&ae.delete(t.key),t.ownerDisposed||(t.ownerDisposed=!0,t.owner.dispose()))}function ve(t){t.continuations+=1;let n=!1;return()=>{n||(n=!0,t.continuations-=1,Ee(t))}}function fs(t){const n=D.getState().currentWorkspaceSlug,o=P(),a=JSON.stringify([t,n,o]),d=ae.get(a);if(d)return d;const y=Ze(),u={key:a,owner:y,workspaceSlug:n,workspaceEpoch:o,promise:B.acceptMarketplaceInvite(t),consumers:0,continuations:0,settled:!1,ownerDisposed:!1,isCurrent:()=>y.isCurrent()&&D.getState().currentWorkspaceSlug===n&&P()===o};ae.set(a,u);const C=()=>{u.settled=!0,Ee(u)};return u.promise.then(C,C),u}function mt(t,n){if(!t)return null;const o=new Date(t);return Number.isNaN(o.getTime())?null:new Intl.DateTimeFormat(n,{year:"numeric",month:"short",day:"numeric"}).format(o)}function bs(t,n){return mt(t,n)??"—"}function ys(t,n){if(!t)return null;const o=new Date(t);if(Number.isNaN(o.getTime()))return null;const a=o.getTime()-Date.now(),d=[{unit:"year",ms:1e3*60*60*24*365},{unit:"month",ms:1e3*60*60*24*30},{unit:"week",ms:1e3*60*60*24*7},{unit:"day",ms:1e3*60*60*24},{unit:"hour",ms:1e3*60*60},{unit:"minute",ms:1e3*60}],y=new Intl.RelativeTimeFormat(n,{numeric:"auto"});for(const u of d)if(Math.abs(a)>=u.ms||u.unit==="minute")return y.format(Math.round(a/u.ms),u.unit);return null}function Je(t,n){return typeof t!="number"?"—":new Intl.NumberFormat(n,{notation:"compact",compactDisplay:"short",maximumFractionDigits:1}).format(t)}function xt(t){var a,d,y;const n=(a=t.sourceRepoUrl)==null?void 0:a.trim(),o=(d=t.packageRootPath)==null?void 0:d.trim();if(!n||!o)return null;try{const u=new URL(n);if(u.protocol!=="https:"||u.hostname.toLowerCase()!=="github.com")return null;const C=u.pathname.split("/").filter(Boolean);if(C.length!==2)return null;const I=C[0],c=(y=C[1])==null?void 0:y.replace(/\.git$/i,"");if(o.startsWith("/"))return null;const L=o.split("/");if(L.some(f=>f==="."||f===".."))return null;const N=L.filter(Boolean).map(encodeURIComponent).join("/");return!I||!c||!N?null:`${u.origin}/${encodeURIComponent(I)}/${encodeURIComponent(c)}/tree/HEAD/${N}`}catch{return null}}function pt(t){return t.installSource==="custom"}const ks={INSTALL_PLAN_EXPIRED:"market.installPlan.expired",PACKAGE_VERIFICATION_FAILED:"market.installPlan.packageVerificationFailed",INSTALL_ROLLBACK_FAILED:"market.installPlan.rollbackFailed",PACKAGE_ARCHIVE_ENTRY_FORBIDDEN:"market.installPlan.archiveEntryForbidden"};function js(t,n){const o=t instanceof K?t.code:null;return n(ks[o??""]??"market.errors.install")}function Ns(t){return t.slug?{ref:t.slug,name:t.name,displayName:t.displayName||t.name,version:t.version}:null}function Re(t){switch(t==null?void 0:t.toLowerCase()){case"app":return"app";case"template":return"template";case"agent":return"agent";case"workflow":return"workflow";case"plugin":return"plugin";default:return"skill"}}function Ae({type:t}){const{t:n}=T(),o=Re(t),a={app:"bg-violet-50 text-violet-700",skill:"bg-violet-50 text-violet-700",template:"bg-amber-50 text-amber-700",agent:"bg-emerald-50 text-emerald-700",workflow:"bg-cyan-50 text-cyan-700",plugin:"bg-rose-50 text-rose-700"},d={app:lt,skill:dt,template:ot,agent:it,workflow:nt,plugin:ct},y={app:n("market.types.app"),skill:n("market.types.skill"),template:n("market.types.template"),agent:n("market.types.agent"),workflow:n("market.types.workflow"),plugin:n("market.types.plugin")},u=d[o];return e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-medium ${a[o]}`,children:[e.jsx(u,{size:12}),y[o]]})}const vs={trusted:{bg:"bg-green-50",text:"text-green-700",icon:Jt,label:"market.badges.trusted"},verified:{bg:"bg-blue-50",text:"text-blue-700",icon:Zt,label:"market.badges.verified"},unverified:{bg:"bg-gray-50",text:"text-gray-500",icon:re,label:"market.badges.unverified"}};function gt({level:t,compact:n=!1}){const{t:o}=T(),a=vs[t],d=a.icon;return e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-md ${n?"px-1.5 py-0.5 text-[10px]":"rounded-full px-2.5 py-1 text-xs"} font-medium ${a.bg} ${a.text}`,children:[e.jsx(d,{size:n?11:13}),o(a.label)]})}function ze(t){if(t.trustLevel==="unverified"){if(t.type==="plugin")return{allowed:!1,reason:"market.trust.blockedPlugin"};if(t.type==="exec")return{allowed:!1,reason:"market.trust.blockedExec"}}return t.trustLevel==="verified"&&t.type==="plugin"?{allowed:!0,needsConfirm:!0}:{allowed:!0}}function ws({itemName:t,onConfirm:n,onCancel:o}){const{t:a}=T();return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:e.jsxs("div",{role:"dialog","aria-modal":"true",className:"w-full max-w-md overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxs("div",{className:"border-b border-gray-200 px-6 py-5",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:a("market.pluginDialog.title")}),e.jsx("p",{className:"mt-1 text-sm text-gray-500",children:a("market.pluginDialog.description")})]}),e.jsxs("div",{className:"space-y-3 px-6 py-5",children:[e.jsxs("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsx("p",{className:"text-sm font-medium text-amber-900",children:t}),e.jsx("p",{className:"mt-1 text-sm text-amber-800",children:a("market.pluginDialog.warning")})]}),e.jsxs("ul",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(re,{size:14,className:"shrink-0 text-amber-500"}),a("market.pluginDialog.perm1")]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(re,{size:14,className:"shrink-0 text-amber-500"}),a("market.pluginDialog.perm2")]})]})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[e.jsx("button",{type:"button",onClick:o,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:a("market.actions.cancel")}),e.jsx("button",{type:"button",onClick:n,className:"rounded-lg bg-red-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600",children:a("market.actions.install")})]})]})})}function Xe({skill:t,onSelect:n,busy:o,canInstall:a,onInstall:d,onUninstall:y}){const{t:u,i18n:C}=T(),I=ys(t.updatedAt,C.language),c=xt(t),L=pt(t),N=t.registryName||t.author||u(L?"market.card.localSource":"market.card.unknownAuthor"),f=Re(t.type),S={app:lt,skill:dt,template:ot,agent:it,workflow:nt,plugin:ct},A={app:t.isInstalled?"bg-violet-200 text-violet-800":"bg-violet-100 text-violet-700",skill:t.isInstalled?"bg-blue-100 text-blue-600":"bg-gray-100 text-gray-500",template:"bg-amber-100 text-amber-700",agent:"bg-emerald-100 text-emerald-700",workflow:"bg-cyan-100 text-cyan-700",plugin:"bg-rose-100 text-rose-700"},E=S[f],v=L?Qt:Yt,_=t.displayName||t.name,b=ze(t);return e.jsxs("article",{className:"group flex h-[232px] min-w-0 flex-col overflow-hidden rounded-[14px] border border-gray-200 bg-white shadow-sm transition hover:-translate-y-0.5 hover:border-blue-200 hover:shadow-lg",children:[e.jsxs("button",{type:"button",onClick:()=>n(t.name),"aria-label":`${_} ${u("market.card.viewDetails")}`,className:"flex min-h-0 w-full flex-1 flex-col overflow-hidden bg-white px-3.5 py-3 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-inset",children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("div",{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-[11px] ${A[f]}`,"aria-hidden":"true",children:e.jsx(E,{size:19})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("h3",{className:"truncate text-[15px] font-semibold tracking-tight text-gray-900",children:_}),e.jsxs("span",{className:"shrink-0 rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-bold text-gray-600",children:["v",t.version]})]}),e.jsxs("div",{className:"mt-1.5 flex flex-wrap items-center gap-1",children:[e.jsx(Ae,{type:t.type}),!L&&e.jsx(gt,{level:t.trustLevel,compact:!0}),t.isInstalled&&e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md bg-green-100 px-1.5 py-0.5 text-[10px] font-semibold text-green-700",children:[e.jsx(Le,{size:11}),u("market.badges.installed")]}),t.hasUpdate&&e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-md border border-orange-200 bg-orange-50 px-1.5 py-0.5 text-[10px] font-semibold text-orange-700",children:[e.jsx(st,{size:11}),u("market.badges.updateAvailable",{version:t.remoteVersion})]})]})]})]}),e.jsx("p",{className:"mt-2.5 h-[34px] overflow-hidden text-[11.5px] leading-[1.5] text-gray-500 line-clamp-2",children:t.description||u("market.card.noDescription")}),e.jsx("div",{className:"mt-2 flex min-h-[19px] gap-1 overflow-hidden",children:t.tags.slice(0,3).map(k=>e.jsxs("span",{className:"shrink-0 rounded-full border border-gray-200 bg-gray-50 px-2 py-0.5 text-[10px] text-gray-500",children:["#",k]},k))}),e.jsxs("div",{className:"mt-auto flex min-w-0 items-center gap-1 text-[10px] text-gray-400",children:[e.jsx(v,{size:12,className:"shrink-0","aria-hidden":"true"}),e.jsxs("span",{className:"truncate",children:[N,I?` · ${u("market.list.updatedLabel",{time:I})}`:""]})]})]}),e.jsxs("div",{className:"flex min-h-[47px] flex-none items-center justify-between gap-2 border-t border-gray-100 bg-gray-50/50 px-3 py-2",children:[c?e.jsxs("a",{href:c,target:"_blank",rel:"noopener noreferrer","aria-label":u("market.card.sourceLink"),className:"inline-flex min-w-0 items-center gap-1 text-[10.5px] font-semibold text-blue-600 hover:underline",children:[e.jsx(rt,{size:12,className:"shrink-0"}),e.jsx("span",{className:"truncate",children:u("market.card.sourceLink")})]}):e.jsx("span",{className:"truncate text-[10.5px] text-gray-400",children:L?u("market.card.localSource"):N}),t.isInstalled?e.jsxs("button",{type:"button",onClick:()=>y(t.name),disabled:o,className:"inline-flex min-h-[30px] shrink-0 items-center justify-center gap-1.5 rounded-lg bg-red-50 px-3 py-1.5 text-[11.5px] font-bold text-red-600 transition-colors hover:bg-red-100 disabled:cursor-not-allowed disabled:opacity-50",children:[o?e.jsx(O,{size:13,className:"animate-spin"}):e.jsx(at,{size:13}),u("market.actions.uninstall")]}):b.allowed?e.jsxs("button",{type:"button",onClick:()=>d(t),disabled:o||!a,className:"inline-flex min-h-[30px] shrink-0 items-center justify-center gap-1.5 rounded-lg bg-blue-500 px-3 py-1.5 text-[11.5px] font-bold text-white transition-colors hover:bg-blue-600 disabled:cursor-not-allowed disabled:opacity-50",children:[o?e.jsx(O,{size:13,className:"animate-spin"}):e.jsx(Se,{size:13}),u("market.actions.install")]}):e.jsxs("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-lg bg-gray-100 px-2.5 py-1.5 text-[10.5px] font-bold text-gray-400",children:[e.jsx(re,{size:13}),u(b.reason)]})]})]})}function xe({icon:t,label:n,value:o}){return e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[e.jsx("span",{className:"text-gray-400",children:t}),e.jsx("span",{children:n})]}),e.jsx("p",{className:"mt-2 text-sm font-semibold text-gray-900",children:o})]})}function Cs({skill:t,markdownBody:n,descriptionLoading:o,descriptionError:a,busy:d,canInstall:y,onInstall:u,onUninstall:C,onRefresh:I}){var _;const{t:c,i18n:L}=T(),N=xt(t),f=pt(t),S=t.registryName||t.author||(f?null:c("market.card.unknownAuthor")),A=mt(t.updatedAt,L.language),E=typeof t.installCount=="number"&&!(t.registryOrigin==="github"&&t.installCount===0),v=[];return typeof t.stars=="number"&&v.push(e.jsx(xe,{icon:e.jsx(qt,{size:14}),label:c("market.detail.stats.stars"),value:Je(t.stars,L.language)},"stars")),E&&v.push(e.jsx(xe,{icon:e.jsx(Wt,{size:14}),label:c("market.detail.stats.installs"),value:Je(t.installCount,L.language)},"installs")),(_=t.license)!=null&&_.trim()&&v.push(e.jsx(xe,{icon:e.jsx(os,{size:14}),label:c("market.detail.stats.license"),value:t.license.trim()},"license")),A&&v.push(e.jsx(xe,{icon:e.jsx(Kt,{size:14}),label:c("market.detail.stats.updatedAt"),value:A},"updatedAt")),e.jsxs("section",{className:"flex h-full min-h-[520px] flex-col rounded-2xl border border-gray-200 bg-white p-6 shadow-sm",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-gray-200 pb-5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h2",{className:"text-2xl font-semibold text-gray-900",children:t.displayName||t.name}),e.jsxs("span",{className:"rounded-full bg-gray-100 px-2.5 py-1 text-xs font-medium text-gray-600",children:["v",t.version]}),t.hasUpdate&&e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-orange-50 px-2.5 py-1 text-xs font-medium text-orange-700",children:[e.jsx(st,{size:12}),c("market.badges.updateAvailable",{version:t.remoteVersion})]}),e.jsx(Ae,{type:t.type}),!f&&e.jsx(gt,{level:t.trustLevel})]}),(S||N)&&e.jsxs("div",{className:"mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-gray-500",children:[S&&e.jsx("span",{children:S}),N&&e.jsxs("a",{href:N,target:"_blank",rel:"noopener noreferrer","aria-label":c("market.card.sourceLink"),className:"inline-flex items-center gap-1 font-medium text-blue-600 transition-colors hover:text-blue-700",children:[e.jsx(rt,{size:14}),c("market.card.sourceLink")]})]})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.isInstalled?e.jsxs("button",{type:"button",onClick:()=>C(t.name),disabled:d,className:"inline-flex items-center gap-2 rounded-lg bg-red-50 px-4 py-2 text-sm font-medium text-red-600 transition-colors hover:bg-red-100 disabled:cursor-not-allowed disabled:opacity-50",children:[d?e.jsx(O,{size:16,className:"animate-spin"}):e.jsx(at,{size:16}),c("market.actions.uninstall")]}):(()=>{const b=ze(t);return b.allowed?e.jsxs("button",{type:"button",onClick:()=>u(t),disabled:d||!y,className:"inline-flex items-center gap-2 rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600 disabled:cursor-not-allowed disabled:opacity-50",children:[d?e.jsx(O,{size:16,className:"animate-spin"}):e.jsx(Se,{size:16}),c("market.actions.install")]}):e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-400",children:[e.jsx(re,{size:16}),c(b.reason)]})})(),e.jsxs("button",{type:"button",onClick:I,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsx(Ce,{size:16}),c("market.actions.checkUpdates")]})]})]}),e.jsxs("div",{className:"space-y-6 py-6",children:[t.isCustomized&&t.hasUpdate&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsx(se,{size:16,className:"mt-0.5 shrink-0 text-amber-600"}),e.jsx("p",{className:"text-sm text-amber-800",children:c("market.badges.customizedWarning")})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.description")}),e.jsxs("div",{className:"mt-2",children:[t.description&&e.jsx("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:t.description}),o?e.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-gray-500",children:[e.jsx(O,{size:16,className:"animate-spin"}),e.jsx("span",{children:c("market.detail.loadingBody")})]}):n!=null&&n.trim()?e.jsx("div",{className:t.description?"mt-3 border-t border-gray-100 pt-3":"",children:e.jsx(Gt,{content:n,className:"text-sm"})}):e.jsxs(e.Fragment,{children:[a&&e.jsx("div",{className:"mt-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:a}),!t.description&&e.jsx("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:c("market.card.noDescription")})]})]})]}),t.tags.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.tags")}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:t.tags.map(b=>e.jsxs("span",{className:"rounded-full border border-gray-200 bg-gray-50 px-2.5 py-1 text-xs text-gray-600",children:["#",b]},b))})]}),t.authors&&t.authors.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.developers")}),e.jsx("div",{className:"mt-3 space-y-3",children:t.authors.map(b=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("img",{src:b.avatarUrl,alt:`@${b.login}`,className:"h-8 w-8 rounded-full border border-gray-200 object-cover"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-sm font-medium text-gray-900",children:b.name||b.login}),e.jsxs("div",{className:"text-xs text-gray-500",children:["@",b.login]})]}),typeof b.contributions=="number"&&e.jsx("div",{className:"text-xs text-gray-400",children:c("market.detail.contributions",{count:b.contributions})})]},`${t.name}-${b.login}`))})]})]}),v.length>0&&e.jsx("div",{className:"mt-auto grid gap-3 border-t border-gray-200 pt-6 sm:grid-cols-2 xl:grid-cols-4",children:v})]})}function Is({item:t,update:n,installing:o,onInstall:a}){const{t:d,i18n:y}=T();return e.jsx("article",{className:"rounded-xl border border-gray-200 bg-white p-4 shadow-sm",children:e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-sm font-semibold text-gray-900",children:t.displayName||t.name}),e.jsxs("span",{className:"rounded-full bg-gray-100 px-2 py-0.5 text-[10px] font-medium text-gray-600",children:["v",t.version]}),n&&e.jsx("span",{className:"rounded-full bg-blue-50 px-2 py-0.5 text-[10px] font-medium text-blue-700",children:d("market.shared.card.newVersion",{version:n.latestVersion})}),e.jsx(Ae,{type:t.type})]}),e.jsx("p",{className:"mt-1 line-clamp-2 text-xs text-gray-500",children:t.description||d("market.card.noDescription")}),e.jsxs("p",{className:"mt-2 text-[11px] text-gray-400",children:[t.author||d("market.card.unknownAuthor")," · ",d("market.shared.card.grantedAt",{date:bs(t.grant.grantedAt,y.language)})]})]}),e.jsxs("button",{type:"button",disabled:o,onClick:()=>a(t),"aria-busy":o,className:`inline-flex shrink-0 items-center gap-1.5 rounded-lg px-3 py-1.5 text-xs font-medium transition-colors ${o?"cursor-not-allowed bg-gray-100 text-gray-400":"bg-blue-500 text-white hover:bg-blue-600"}`,children:[o?e.jsx(O,{size:14,className:"animate-spin"}):e.jsx(Se,{size:14}),d(o?"market.shared.card.installing":"market.shared.card.install")]})]})})}function Ls({items:t,loading:n,error:o,notLoggedIn:a,updateSlugs:d,installingRef:y,onInstall:u}){const{t:C}=T(),I=Ie();return a?e.jsxs("div",{className:"flex min-h-[320px] flex-col items-center justify-center gap-4 rounded-2xl border border-gray-200 bg-white p-8 text-center shadow-sm",children:[e.jsx("p",{className:"text-sm font-medium text-gray-700",children:C("market.shared.notLoggedIn.title")}),e.jsx("button",{type:"button",onClick:()=>I("/settings#account"),className:"inline-flex items-center gap-1.5 rounded-lg bg-blue-500 px-3 py-2 text-sm font-medium text-white transition hover:bg-blue-600",children:C("market.shared.notLoggedIn.loginCta")})]}):n?e.jsx("div",{className:"flex min-h-[320px] items-center justify-center rounded-2xl border border-gray-200 bg-white p-8 shadow-sm",children:e.jsx(tt,{size:40,delayMs:300})}):o?e.jsxs("div",{className:"flex items-start gap-3 rounded-2xl border border-red-200 bg-red-50 p-4 shadow-sm",children:[e.jsx(se,{size:18,className:"mt-0.5 shrink-0 text-red-700"}),e.jsx("p",{className:"text-sm text-red-700",children:o})]}):t.length===0?e.jsxs("div",{className:"rounded-2xl border border-dashed border-gray-300 bg-white px-4 py-16 text-center shadow-sm",children:[e.jsx("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsx(ut,{size:18})}),e.jsx("h3",{className:"mt-3 text-sm font-semibold text-gray-900",children:C("market.shared.empty.title")}),e.jsx("p",{className:"mt-2 text-xs leading-5 text-gray-500",children:C("market.shared.empty.description")})]}):e.jsx("div",{className:"space-y-3 rounded-2xl border border-gray-200 bg-white p-4 shadow-sm",children:t.map(c=>e.jsx(Is,{item:c,update:d.get(c.slug),installing:y===c.slug,onInstall:u},c.slug))})}function Es(){var Ve;const{t}=T(),{setPageHeader:n}=Ot(),o=Ie(),[a,d]=l.useState(!1),[y,u]=l.useState(!1),[C,I]=l.useState({}),[c,L]=l.useState(null),[N,f]=l.useState(null),[S,A]=l.useState(null),E=Tt({plan:s=>vt(s.ref,s.name),apply:(s,m)=>wt(m.installId,s.name),cancel:async(s,m)=>{await B.cancelTemplateInstall(m.installId)},errorMessage:s=>js(s,t)}),v=E.pending,_=E.error,b=E.busyRef,[k,F]=l.useState(()=>qe()?{kind:"accepting"}:{kind:"idle"}),[G,X]=l.useState(null),Z=l.useRef(null),M=l.useRef(null),U=D(s=>s.currentWorkspaceSlug),ee=l.useRef(U);l.useEffect(()=>()=>{const s=M.current;M.current=null,s==null||s.release()},[]),l.useEffect(()=>{if(ee.current===U)return;ee.current=U;const s=M.current;M.current=null,s==null||s.release()},[U]);const{initialized:r,registryQuery:i,catalogQuery:p,installedQuery:j,loading:x,mutatingItemName:q,error:Q,officialRegistryId:z,allItems:$,activeFilter:R,searchQuery:pe,selectedItemName:ne,sharedItems:ht,sharedUpdateSlugs:ft,sharedLoading:bt,sharedError:yt,sharedNotLoggedIn:kt,setActiveFilter:V,setSearchQuery:jt,setSelectedItem:ie,initialize:Me,refresh:le,retry:Nt,installItem:_e,planTemplateInstall:vt,applyTemplateInstall:wt,uninstallItem:De,loadShared:oe,clearError:ce}=Ft(),Ct=l.useCallback(s=>{V(s),u(!1)},[V]),It=l.useCallback(s=>{V(s),u(!1),d(!1)},[V]),Pe=l.useCallback(()=>{V("all"),u(!1),d(!1)},[V]),Oe=l.useCallback(s=>{ie(s),u(!0)},[ie]);l.useEffect(()=>{const s=qe(),m=s===null?null:JSON.stringify([s,U,P()]);if(!s||Z.current===m&&!ae.has(m))return;Z.current=m;let w=!0;F({kind:"accepting"});const h=fs(s);h.consumers+=1;let J=!1;const Be=()=>{J||(J=!0,h.consumers-=1,Ee(h))},He=h.owner.onInvalidate(()=>{w&&F({kind:"idle"})}),Et=ve(h);return h.promise.then(W=>{var ue;if(!(!w||!h.isCurrent()))if(We(),Ut(W.contentId),X(W.contentId),F({kind:"success"}),R==="shared"){const Rt=ve(h);oe(h.owner).finally(Rt).catch(()=>{})}else(ue=M.current)==null||ue.release(),M.current={owner:h.owner,isCurrent:h.isCurrent,release:ve(h)},V("shared")}).catch(async W=>{if(!(!w||!h.isCurrent())){if(W instanceof K&&W.status===401){if(F({kind:"loginRequired"}),W.code==="NOT_LOGGED_IN"){h.signOutCheck??(h.signOutCheck=$t(h.owner,h.isCurrent));const ue=await h.signOutCheck;if(!w||!ue||!h.isCurrent())return;Vt({isCurrent:()=>w&&h.isCurrent(),confirmLoggedOut:we.getState().confirmLoggedOut,showLogin:()=>F({kind:"loginRequired"})})}return}We(),F({kind:"failure",reason:us(W)})}}).finally(()=>{He(),Et(),Be()}),()=>{w=!1,He(),Be()}},[R,U,oe,V]),l.useEffect(()=>{r||Me().catch(()=>{})},[r,Me]),l.useEffect(()=>{if(R!=="shared"){const w=M.current;M.current=null,w==null||w.release();return}const s=M.current;if(M.current=null,s&&!s.isCurrent()){s.release();return}const m=oe(s==null?void 0:s.owner);s?m.finally(s.release).catch(()=>{}):m.catch(()=>{})},[R,oe]);const Te=l.useMemo(()=>$.filter(s=>s.isInstalled).length,[$]),ge=p.hasData&&j.hasData,te=(Ve=[p,j,i].find(s=>s.error))==null?void 0:Ve.error,Lt=!ge&&!te&&(!r||x),Fe=(s,m,w)=>s.hasData?t(m,{count:w}):t(s.status==="error"?"market.firstLoad.unavailable":"market.firstLoad.checking"),Ue=ge?t("market.subtitle.summary",{total:$.length,installed:Te}):t("market.firstLoad.summary",{installed:Fe(j,"market.firstLoad.installedCount",Te),total:Fe(p,"market.firstLoad.totalCount",$.length)}),Y=l.useMemo(()=>{const s=pe.trim().toLowerCase();return $.filter(m=>R==="installed"&&!m.isInstalled||R!=="all"&&R!=="installed"&&Re(m.type)!==R?!1:s?[m.displayName,m.name,m.description,m.author,m.registryName,...m.tags].filter(w=>!!w).some(w=>w.toLowerCase().includes(s)):!0)},[R,$,pe]),g=l.useMemo(()=>Y.find(s=>s.name===ne)??Y[0]??null,[Y,ne]),he=g?C[g.name]:void 0;l.useEffect(()=>{const s=(g==null?void 0:g.name)??null;s!==ne&&ie(s)},[g,ne,ie]),l.useEffect(()=>{if(!g)return;if(he!==void 0){f(null);return}let s=!1;const m=g.name;return L(m),f(null),(g.isInstalled?B.getInstalledMarketDetail(m).then(h=>h.body??""):(()=>{const h=g.registryId??z;return h?B.getRemoteMarketDetail(h,m).then(J=>J.body??""):Promise.resolve("")})()).then(h=>{s||I(J=>({...J,[m]:h}))}).catch(()=>{if(!s){if(!g.isInstalled){I(h=>({...h,[m]:""}));return}f(t("market.errors.detailLoad"))}}).finally(()=>{s||L(h=>h===m?null:h)}),()=>{s=!0}},[g==null?void 0:g.isInstalled,g==null?void 0:g.name,g==null?void 0:g.registryId,he,z,t]);const fe=l.useCallback(s=>{s&&I(m=>{if(!(s in m))return m;const w={...m};return delete w[s],w})},[]);l.useEffect(()=>{n({title:t("market.title"),subtitle:Ue,actions:e.jsxs("button",{type:"button",onClick:()=>{ce(),fe((g==null?void 0:g.name)??null),le().catch(()=>{})},className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsx(Ce,{size:16,className:x?"animate-spin":""}),t("market.actions.refresh")]})})},[Ue,ce,x,le,fe,g==null?void 0:g.name,n,t]);const $e=l.useCallback(s=>{const m=s.registryId??z;m&&_e(m,s.name).catch(()=>{})},[_e,z]),de=l.useCallback(async s=>{await E.start(s)},[E.start]),be=l.useCallback(s=>{if(s.slug){const m=Ns(s);m&&de(m);return}$e(s)},[$e,de]),St=l.useCallback(s=>{de({ref:s.slug,name:s.name,displayName:s.displayName||s.name,version:s.version})},[de]),ye=l.useCallback(s=>{const m=ze(s);if(m.allowed){if(m.needsConfirm){A(s);return}be(s)}},[be]),ke=l.useCallback(s=>{window.confirm(t("market.actions.confirmUninstall",{name:s}))&&De(s).catch(()=>{})},[t,De]),je=Y.filter(s=>s.isInstalled),Ne=Y.filter(s=>!s.isInstalled);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col gap-6",children:[k.kind!=="idle"&&e.jsxs("div",{"data-testid":k.kind==="failure"?`market-invite-failure-${k.reason}`:`market-invite-${k.kind}`,role:k.kind==="accepting"?"status":"alert",className:`flex items-start gap-3 rounded-xl border px-4 py-3 text-sm ${k.kind==="success"?"border-green-200 bg-green-50 text-green-800":k.kind==="accepting"?"border-blue-200 bg-blue-50 text-blue-800":k.kind==="loginRequired"?"border-amber-200 bg-amber-50 text-amber-800":"border-red-200 bg-red-50 text-red-800"}`,children:[k.kind==="accepting"&&e.jsx(O,{size:18,className:"mt-0.5 shrink-0 animate-spin","aria-hidden":"true"}),k.kind==="success"&&e.jsx(Le,{size:18,className:"mt-0.5 shrink-0","aria-hidden":"true"}),k.kind==="failure"&&e.jsx(se,{size:18,className:"mt-0.5 shrink-0","aria-hidden":"true"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[k.kind==="accepting"&&e.jsx("p",{children:t("market.invite.accepting")}),k.kind==="success"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"font-medium",children:t("market.invite.success.title")}),e.jsx("p",{className:"mt-1",children:t("market.invite.success.description")}),G!==null&&e.jsx("button",{type:"button","data-testid":"market-invite-open-received-apps",onClick:()=>o("/apps?tab=received"),className:"mt-3 rounded-lg bg-green-600 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-green-700",children:t("market.invite.success.openReceivedApps")})]}),k.kind==="loginRequired"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"font-medium",children:t("market.invite.loginRequired.title")}),e.jsx("p",{className:"mt-1",children:t("market.invite.loginRequired.description")}),e.jsx("button",{type:"button",onClick:()=>o("/settings#account"),className:"mt-3 rounded-lg bg-amber-500 px-3 py-1.5 text-xs font-medium text-white transition-colors hover:bg-amber-600",children:t("market.invite.loginRequired.cta")})]}),k.kind==="failure"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"font-medium",children:t(`market.invite.failure.${k.reason}.title`)}),e.jsx("p",{className:"mt-1",children:t(`market.invite.failure.${k.reason}.description`)})]})]})]}),_&&e.jsx("div",{role:"alert",className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:_}),Q&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-red-700",children:[e.jsx(se,{size:18,className:"mt-0.5 shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:t("market.errors.bannerTitle")}),e.jsx("p",{className:"mt-1 break-words text-sm",children:Q})]}),e.jsx("button",{type:"button",onClick:()=>{ce(),le().catch(()=>{})},className:"shrink-0 rounded-md bg-red-100 px-3 py-1.5 text-xs font-medium text-red-700 transition-colors hover:bg-red-200",children:t("market.actions.retry")})]}),e.jsxs("div",{className:"flex flex-col gap-3 rounded-2xl border border-gray-200 bg-white p-4 shadow-sm lg:flex-row lg:items-center",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(Ke,{size:16,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),e.jsx("input",{type:"search",value:pe,onChange:s=>{jt(s.target.value),u(!1)},placeholder:t("market.searchPlaceholder"),className:"w-full rounded-xl border border-gray-300 py-2.5 pl-10 pr-4 text-sm text-gray-900 placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500"})]}),e.jsxs("div",{className:"relative",children:[e.jsxs("button",{type:"button","aria-expanded":a,"aria-haspopup":"menu","aria-label":t("market.myMarket.title"),onClick:()=>d(s=>!s),className:"inline-flex items-center justify-center gap-2 rounded-xl border border-gray-200 bg-gray-50 px-4 py-2.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-100",children:[e.jsx(ut,{size:16}),t("market.myMarket.title"),e.jsx(et,{size:15,"aria-hidden":"true"})]}),a&&e.jsxs("div",{role:"menu","aria-label":t("market.myMarket.menuLabel"),className:"absolute right-0 top-full z-20 mt-2 min-w-48 overflow-hidden rounded-xl border border-gray-200 bg-white p-1 shadow-lg",children:[["shared","publish"].map(s=>e.jsx("button",{type:"button",role:"menuitem",onClick:()=>It(s),className:"flex w-full items-center rounded-lg px-3 py-2 text-left text-sm text-gray-700 transition-colors hover:bg-gray-50",children:t(`market.filters.${s}`)},s)),e.jsx("button",{type:"button",role:"menuitem",onClick:()=>{d(!1),o("/apps?tab=manage")},className:"flex w-full items-center rounded-lg px-3 py-2 text-left text-sm text-gray-700 transition-colors hover:bg-gray-50",children:t("market.myMarket.manageApps")})]})]})]}),e.jsx("div",{className:"flex flex-wrap gap-2",role:"tablist","aria-label":t("market.filters.label"),children:["all","installed","app","skill"].map(s=>e.jsx("button",{type:"button",onClick:()=>Ct(s),className:`rounded-full border px-3 py-1.5 text-sm font-medium transition-colors ${R===s?"border-blue-500 bg-blue-500 text-white":"border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:t(`market.filters.${s}`)},s))}),R!=="shared"&&R!=="publish"&&te&&e.jsxs("div",{role:"alert",className:"flex min-h-[260px] flex-col items-center justify-center rounded-2xl border border-gray-200 bg-white px-5 py-8 text-center shadow-sm",children:[e.jsx("div",{className:"flex h-10 w-10 items-center justify-center rounded-full bg-red-50 text-red-500",children:e.jsx(se,{size:22,"aria-hidden":"true"})}),e.jsx("h3",{className:"mt-4 text-sm font-semibold text-gray-900",children:t("market.firstLoad.failureTitle")}),e.jsx("p",{className:"mt-2 max-w-md whitespace-pre-line text-sm leading-6 text-gray-500",children:te.kind==="http"?t("market.firstLoad.httpFailureDescription",{status:te.status}):t("market.firstLoad.failureDescription")}),e.jsxs("button",{type:"button",onClick:()=>{Nt().catch(()=>{})},className:"mt-4 inline-flex items-center gap-2 rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600",children:[e.jsx(Ce,{size:16,"aria-hidden":"true"}),t("market.actions.retry")]})]}),x&&ge&&R!=="shared"&&R!=="publish"&&e.jsx("p",{role:"status","aria-live":"polite",className:"text-sm text-gray-500",children:t("market.firstLoad.refreshing")}),R==="shared"?e.jsxs("div",{className:"space-y-3",children:[e.jsx("button",{type:"button",onClick:Pe,className:"inline-flex items-center rounded-lg px-2 py-1.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900",children:t("market.myMarket.back")}),e.jsx(Ls,{items:ht,loading:bt,error:yt,notLoggedIn:kt,updateSlugs:ft,installingRef:b,onInstall:St})]}):R==="publish"?e.jsxs("div",{className:"space-y-3",children:[e.jsx("button",{type:"button",onClick:Pe,className:"inline-flex items-center rounded-lg px-2 py-1.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900",children:t("market.myMarket.back")}),e.jsx(hs,{})]}):y&&g?e.jsxs("div",{"data-testid":"market-detail-view",className:"space-y-3",children:[e.jsxs("button",{type:"button",onClick:()=>u(!1),className:"inline-flex items-center gap-1.5 rounded-lg border border-gray-200 bg-white px-3 py-1.5 text-sm font-medium text-gray-600 transition-colors hover:bg-gray-50 hover:text-gray-900",children:[e.jsx(Bt,{size:15,"aria-hidden":"true"}),t("market.detail.backToList")]}),e.jsx(Cs,{skill:g,markdownBody:he,descriptionLoading:c===g.name,descriptionError:N,busy:q===g.name||(g.slug?b===g.slug:!1),canInstall:!!(g.registryId??z),onInstall:ye,onUninstall:ke,onRefresh:()=>{ce(),fe(g.name),le().catch(()=>{})}})]}):e.jsx("div",{"data-testid":"market-catalog-grid",className:"space-y-8",children:Lt?e.jsx("div",{className:"flex min-h-[300px] items-center justify-center rounded-2xl border border-gray-200 bg-white px-5 shadow-sm [&_.cx-loader-label]:whitespace-pre-line [&_.cx-loader-label]:leading-6",children:e.jsx(tt,{size:40,delayMs:300,label:t("market.firstLoad.loadingLabel"),slowLabel:t("market.firstLoad.slowLabel")})}):Y.length===0?te?null:e.jsx("div",{className:"grid min-h-[300px] place-items-center rounded-2xl border border-dashed border-gray-300 bg-white text-center",children:e.jsxs("div",{className:"px-4",children:[e.jsx("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsx(Ke,{size:18})}),e.jsx("h3",{className:"mt-3 text-sm font-semibold text-gray-900",children:t($.length===0?"market.firstLoad.emptyTitle":"market.empty.filteredTitle")}),e.jsx("p",{className:"mt-2 text-xs leading-5 text-gray-500",children:t($.length===0?"market.firstLoad.emptyDescription":"market.empty.filteredDescription")})]})}):e.jsxs(e.Fragment,{children:[je.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[e.jsx("h2",{className:"text-[15px] font-semibold tracking-tight text-gray-900",children:t("market.list.installedHeading")}),e.jsx("p",{className:"text-[11px] text-gray-400",children:t("market.list.installedDescription",{count:je.length})})]}),e.jsx("div",{className:"grid grid-cols-1 gap-3.5 md:grid-cols-2 xl:grid-cols-3",children:je.map(s=>e.jsx(Xe,{skill:s,onSelect:Oe,busy:q===s.name||(s.slug?b===s.slug:!1),canInstall:!!(s.registryId??z),onInstall:ye,onUninstall:ke},`${s.registryId??"_"}:${s.name}`))})]}),Ne.length>0&&e.jsxs("section",{children:[e.jsxs("div",{className:"mb-3 flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[e.jsx("h2",{className:"text-[15px] font-semibold tracking-tight text-gray-900",children:t("market.list.availableHeading")}),e.jsx("p",{className:"text-[11px] text-gray-400",children:t("market.list.availableDescription",{count:Ne.length})})]}),e.jsx("div",{className:"grid grid-cols-1 gap-3.5 md:grid-cols-2 xl:grid-cols-3",children:Ne.map(s=>e.jsx(Xe,{skill:s,onSelect:Oe,busy:q===s.name||(s.slug?b===s.slug:!1),canInstall:!!(s.registryId??z),onInstall:ye,onUninstall:ke},`${s.registryId??"_"}:${s.name}`))})]})]})})]}),S&&e.jsx(ws,{itemName:S.displayName||S.name,onConfirm:()=>{be(S),A(null)},onCancel:()=>A(null)}),v&&e.jsx(Ht,{itemName:v.target.displayName||v.target.name,itemVersion:v.target.version,plan:v.plan,applying:E.applying||q===v.target.name,onCancel:()=>{E.cancel()},onConfirm:()=>{E.confirm()}})]})}export{Es as default,xt as getGitHubSourceUrl,zs as hasNoticeableFacts};