limixbot 0.3.24 → 0.3.26

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 (140) hide show
  1. package/dist/assets/{ActivityPanel-BjjmX49M.js → ActivityPanel-DkwIh-YJ.js} +1 -1
  2. package/dist/assets/{App-BWtQhGWp.js → App-DCe3hDbm.js} +119 -119
  3. package/dist/assets/{AppEventEditor-Bq1-MGxi.js → AppEventEditor-25dBAYiN.js} +1 -1
  4. package/dist/assets/BotSettingsDialog-DJxZo-ro.js +16 -0
  5. package/dist/assets/{BrowserPanel-CPLcno_m.js → BrowserPanel-DVji4pZh.js} +1 -1
  6. package/dist/assets/{BrowserProfilesManager-D9JsCp1k.js → BrowserProfilesManager-C4rCEedT.js} +1 -1
  7. package/dist/assets/{CloudAddDialog-DcmN7A5a.js → CloudAddDialog-BybF9Mcz.js} +1 -1
  8. package/dist/assets/{ComputerFilesPane-Bjx6TGmM.js → ComputerFilesPane-D-EgbYKM.js} +1 -1
  9. package/dist/assets/{ComputerPanel-C9Xx4Ifs.js → ComputerPanel-CGKdVGz4.js} +2 -2
  10. package/dist/assets/{DataPanel-IfpQCi3b.js → DataPanel-BXh6perv.js} +1 -1
  11. package/dist/assets/{DesktopViewer-RjjUUlrQ.js → DesktopViewer-CRcjWYHe.js} +1 -1
  12. package/dist/assets/{FilesView-D_0GwHAN.js → FilesView-B67sskTN.js} +1 -1
  13. package/dist/assets/{GrokMoveDialog-CUie-0en.js → GrokMoveDialog-DNJckF5G.js} +1 -1
  14. package/dist/assets/{InspectorPanel-BuFL6wWf.js → InspectorPanel-CjtRMfJu.js} +1 -1
  15. package/dist/assets/{KeyboardShortcutsModal-uOhXagTA.js → KeyboardShortcutsModal-znw4NkA5.js} +1 -1
  16. package/dist/assets/{LiveDesktop-BwpZa-Ri.js → LiveDesktop-BgFrQKAC.js} +1 -1
  17. package/dist/assets/{LocalVmWorkspace-CousHKOb.js → LocalVmWorkspace-Dk61S9xg.js} +1 -1
  18. package/dist/assets/{MacLocalControl-BKDzplO2.js → MacLocalControl-DjyhCaWB.js} +1 -1
  19. package/dist/assets/{MarkdownFilePreview-CCwc1Tek.js → MarkdownFilePreview-Btb--ZSy.js} +1 -1
  20. package/dist/assets/{MenuMotion-CSgaJLc2.js → MenuMotion-BOUToDZz.js} +1 -1
  21. package/dist/assets/{NewBotDialog-BtvoCpqN.js → NewBotDialog-CsQPMX7F.js} +1 -1
  22. package/dist/assets/{PhoneAppDialog-C1hIwyT8.js → PhoneAppDialog-4OG210md.js} +1 -1
  23. package/dist/assets/{PlacesRail-PP97GpM6.js → PlacesRail-dslg5RRJ.js} +1 -1
  24. package/dist/assets/{PluginsPanel-DpUEC1zc.js → PluginsPanel-CaWk4eSi.js} +1 -1
  25. package/dist/assets/{ProIntroduction-C-7uexIW.js → ProIntroduction-BuOIgmKa.js} +1 -1
  26. package/dist/assets/{RemoteAgentSettingsPanel-DtofJtgF.js → RemoteAgentSettingsPanel-Drk4pPKT.js} +1 -1
  27. package/dist/assets/{RoomPanel-CHbgQ0xd.js → RoomPanel-BGLIvmBz.js} +1 -1
  28. package/dist/assets/{RoutinesPage-ZdFTYQc-.js → RoutinesPage-BuAEX1fg.js} +2 -2
  29. package/dist/assets/SettingsModal-CwK4KFqq.js +19 -0
  30. package/dist/assets/{ShareTeamDialog-CNu6Kwet.js → ShareTeamDialog-C5Fv8jWl.js} +1 -1
  31. package/dist/assets/{SignedInSites-CyWcDbLW.js → SignedInSites-BQ2QP4YA.js} +1 -1
  32. package/dist/assets/TeamLibraryPanel-B0HAAvLv.js +1 -0
  33. package/dist/assets/{TeamMapPage-C2PnNdil.js → TeamMapPage-DCkx9eov.js} +1 -1
  34. package/dist/assets/{TriggersPage-B_br6xBZ.js → TriggersPage-B2sqDFfI.js} +1 -1
  35. package/dist/assets/{VisibilitySection-DH0WrBCn.js → VisibilitySection-CqL-TbZp.js} +1 -1
  36. package/dist/assets/{WebhookTrigger-BASBoMb_.js → WebhookTrigger-CorVaJKR.js} +1 -1
  37. package/dist/assets/{WorksOnGrid-CboITAAs.js → WorksOnGrid-1tMl62nD.js} +1 -1
  38. package/dist/assets/{abnfDiagram-YUKMZFIV-CJ69o_vp.js → abnfDiagram-YUKMZFIV-UeQ15ljp.js} +1 -1
  39. package/dist/assets/{activity-BdRjGS2C.js → activity-Rykx5lZJ.js} +1 -1
  40. package/dist/assets/{architectureDiagram-47P4ROYG-BH57AmKC.js → architectureDiagram-47P4ROYG-Cb42ilBV.js} +1 -1
  41. package/dist/assets/{blockDiagram-E7TT5TSB-D3ebMs_o.js → blockDiagram-E7TT5TSB-BF1yg64q.js} +1 -1
  42. package/dist/assets/{c4Diagram-CRA5TL53-6TrdcGZR.js → c4Diagram-CRA5TL53-VaNJpISp.js} +1 -1
  43. package/dist/assets/{calendar-days-DiMBTH2e.js → calendar-days-kC634hX1.js} +1 -1
  44. package/dist/assets/channel-Di74R1Kh.js +1 -0
  45. package/dist/assets/{chunk-2Q5K7J3B-BemwHdji.js → chunk-2Q5K7J3B-NtXjlfnQ.js} +1 -1
  46. package/dist/assets/{chunk-5VM5RSS4-CQZbLBld.js → chunk-5VM5RSS4-CYWCBb40.js} +1 -1
  47. package/dist/assets/{chunk-7TKQ45FW-Dy6EXFTX.js → chunk-7TKQ45FW-CTx1wLnU.js} +1 -1
  48. package/dist/assets/{chunk-AW2ZBBNX-BbKGGyK8.js → chunk-AW2ZBBNX-PDrwpbhk.js} +1 -1
  49. package/dist/assets/{chunk-FVRAUYC3-DHqUalc2.js → chunk-FVRAUYC3-CqIp8Ubp.js} +2 -2
  50. package/dist/assets/{chunk-HTAEGDNF-B66Vjlwq.js → chunk-HTAEGDNF-yA6riuIr.js} +1 -1
  51. package/dist/assets/{chunk-JWPE2WC7-DrtdT6L3.js → chunk-JWPE2WC7-DEE_S031.js} +1 -1
  52. package/dist/assets/{chunk-KQW6MTUR-t7RW8fFT.js → chunk-KQW6MTUR-QybxNtsY.js} +1 -1
  53. package/dist/assets/{chunk-XXDRQBXY-CntyS42N.js → chunk-XXDRQBXY-BjchQyqU.js} +1 -1
  54. package/dist/assets/{classDiagram-v2-K4WV4PDN-KlNCgeTt.js → classDiagram-v2-K4WV4PDN-DtOc8Abr.js} +1 -1
  55. package/dist/assets/{coins-BHKpT34i.js → coins-D0wNJCPg.js} +1 -1
  56. package/dist/assets/{core-DEy6KDLR.js → core-Blwbk7ct.js} +1 -1
  57. package/dist/assets/{cose-bilkent-JH36ORCC-C_cXoOGT.js → cose-bilkent-JH36ORCC-CWHsqn7M.js} +1 -1
  58. package/dist/assets/{cynefin-EF2NZ3EQ-DGuwW5zt.js → cynefin-EF2NZ3EQ-BqS-D9jN.js} +1 -1
  59. package/dist/assets/{cynefinDiagram-3GCD6N5R-qMzxXkVk.js → cynefinDiagram-3GCD6N5R-Fc51YETb.js} +1 -1
  60. package/dist/assets/{dagre-W4DXFKR2-Q-osY3Yi.js → dagre-W4DXFKR2-So1kz52t.js} +1 -1
  61. package/dist/assets/{diagram-2UJZ2QOL-DyVJSBOF.js → diagram-2UJZ2QOL-DpdA_Lk0.js} +1 -1
  62. package/dist/assets/{diagram-OVF4WLC6-C5qBFdpm.js → diagram-OVF4WLC6-BqSu7ih2.js} +1 -1
  63. package/dist/assets/{diagram-PFPMY2P6-C1PW3U2P.js → diagram-PFPMY2P6-BoM6YcIG.js} +1 -1
  64. package/dist/assets/{diagram-UMYRVEAY-D2pa0Mzi.js → diagram-UMYRVEAY-B7wKoLi9.js} +1 -1
  65. package/dist/assets/{diagram-YEKJPTXX-BIzOA1li.js → diagram-YEKJPTXX-BEXKw540.js} +1 -1
  66. package/dist/assets/{diagram-ZIFT7M5P-B1UL3O8m.js → diagram-ZIFT7M5P-BAD7sJRi.js} +1 -1
  67. package/dist/assets/{ebnfDiagram-VR2GEFS7-Cxu-kU8s.js → ebnfDiagram-VR2GEFS7-DILoqvy-.js} +1 -1
  68. package/dist/assets/{elk-IJKZMXRS-DJS39Bm9.js → elk-IJKZMXRS-BHW-Cxin.js} +1 -1
  69. package/dist/assets/{erDiagram-O2IAPWRE-Cb31BS5L.js → erDiagram-O2IAPWRE-Blp0Wwq0.js} +1 -1
  70. package/dist/assets/{file-up-DWGlVRGP.js → file-up-CEuHjVBK.js} +1 -1
  71. package/dist/assets/{flowDiagram-OXPTDLAJ-BaPTzS6m.js → flowDiagram-OXPTDLAJ-6SkVmYje.js} +1 -1
  72. package/dist/assets/{ganttDiagram-R7TSEDQI-B_Lr-26i.js → ganttDiagram-R7TSEDQI-DFDwj8QX.js} +1 -1
  73. package/dist/assets/{gitGraphDiagram-XJZIOB7I-UHyDFX6a.js → gitGraphDiagram-XJZIOB7I-mtJG-sis.js} +1 -1
  74. package/dist/assets/{import-name-Cxwtm5XO.js → import-name-B3mVDURb.js} +1 -1
  75. package/dist/assets/{index-BME9PdWM.js → index-BZOGYABm.js} +1 -1
  76. package/dist/assets/{index-BSrb6nsc.js → index-D2Jm8LAf.js} +2 -2
  77. package/dist/assets/{infoDiagram-5W2HQ5XZ-B7ovBJYA.js → infoDiagram-5W2HQ5XZ-CmyXB17U.js} +1 -1
  78. package/dist/assets/{ishikawaDiagram-K3B6WC7H-BYS-TlrF.js → ishikawaDiagram-K3B6WC7H-BKFtIESa.js} +1 -1
  79. package/dist/assets/{journeyDiagram-COXZFDF6-jJxKYEtT.js → journeyDiagram-COXZFDF6-DuXMREdz.js} +1 -1
  80. package/dist/assets/{kanban-definition-P3RFRI5V-DyiFYaIK.js → kanban-definition-P3RFRI5V-B9mWvKdh.js} +1 -1
  81. package/dist/assets/{mcp-servers-DXFuhTlS.js → mcp-servers-D3PCWkFu.js} +1 -1
  82. package/dist/assets/{mermaid.core-D3YJgsiB.js → mermaid.core-3c-Lql2y.js} +4 -4
  83. package/dist/assets/{mindmap-definition-LZFPQGKD-DnbWodUY.js → mindmap-definition-LZFPQGKD-BmLt9bkD.js} +1 -1
  84. package/dist/assets/{minimize-Af1aU3Tz.js → minimize-BfKI3Nbu.js} +1 -1
  85. package/dist/assets/{monitor-DuYHWIyw.js → monitor-C-EBTsrK.js} +1 -1
  86. package/dist/assets/{new-bot-TwOnvVO1.js → new-bot-3sQib6nJ.js} +1 -1
  87. package/dist/assets/{org-library-BLD6YHcM.js → org-library-DHuACSMf.js} +1 -1
  88. package/dist/assets/{package-format-72bbOy2w.js → package-format-CAZ-xCP-.js} +1 -1
  89. package/dist/assets/{pegDiagram-BGZESJAR-CcOuP6zx.js → pegDiagram-BGZESJAR-5w1MTtLg.js} +1 -1
  90. package/dist/assets/{pieDiagram-CAPJLFHJ-DhCU7Sfy.js → pieDiagram-CAPJLFHJ-C4etNvsK.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-GDMTTRAM-7OziX26h.js → quadrantDiagram-GDMTTRAM-k4cDUeIN.js} +1 -1
  92. package/dist/assets/{rail-DI2iZJYt.js → rail-C6qkoJbO.js} +1 -1
  93. package/dist/assets/{railroadDiagram-SM67HX2B-rg44R4U2.js → railroadDiagram-SM67HX2B-B9d0qasL.js} +1 -1
  94. package/dist/assets/{remote-desktop-panel-BPKKvcHT.js → remote-desktop-panel-sCBdOaQh.js} +1 -1
  95. package/dist/assets/{requirementDiagram-X7JNWC4A-DFNvg72O.js → requirementDiagram-X7JNWC4A-BlYV4z86.js} +1 -1
  96. package/dist/assets/{sankeyDiagram-UM26HJRW-CUOrQF2i.js → sankeyDiagram-UM26HJRW-DaIVWJEd.js} +1 -1
  97. package/dist/assets/{sequenceDiagram-ZO4K6R2Y-4HKsH1wt.js → sequenceDiagram-ZO4K6R2Y-CAnXpud0.js} +1 -1
  98. package/dist/assets/{sizeCapture-INFHLROL-BEXQDTx-.js → sizeCapture-INFHLROL-BIeqIcHi.js} +1 -1
  99. package/dist/assets/{stateDiagram-v2-TBUQTH76-BYBLUqiy.js → stateDiagram-v2-TBUQTH76-7ql5dn9y.js} +1 -1
  100. package/dist/assets/{styles-C2_XZv1s.js → styles-BRMaHK08.js} +3 -3
  101. package/dist/assets/{swimlanes-N4OXWK64-D-bp8wWN.js → swimlanes-N4OXWK64-CItt-UlU.js} +1 -1
  102. package/dist/assets/swimlanesDiagram-K3J5GTZL-DAZsljU6.js +8 -0
  103. package/dist/assets/{team-share-Dpu1nJNz.js → team-share-2OjfOHsk.js} +1 -1
  104. package/dist/assets/{timeline-definition-YOQAKGHF-CtLFkcud.js → timeline-definition-YOQAKGHF-8Xn9QBNo.js} +1 -1
  105. package/dist/assets/{usecaseDiagram-VIAY4XPW-AWOhUKvG.js → usecaseDiagram-VIAY4XPW-B6LxotkO.js} +1 -1
  106. package/dist/assets/{vennDiagram-BLWOH2XV-C_OYDBvp.js → vennDiagram-BLWOH2XV-Ciex0LDC.js} +1 -1
  107. package/dist/assets/{vi-P4zxF4j0.js → vi-C-E3a4Tv.js} +2 -2
  108. package/dist/assets/{wardleyDiagram-YMQ3BMBF-CdxMh8tE.js → wardleyDiagram-YMQ3BMBF-B_TbpQlN.js} +1 -1
  109. package/dist/assets/{xychartDiagram-TAQBALBS-BL2spC5z.js → xychartDiagram-TAQBALBS-Dz_iIYt1.js} +1 -1
  110. package/dist/index.html +2 -2
  111. package/dist/rail.html +4 -4
  112. package/dist-server/index.js +272 -252
  113. package/dist-server/openmausbot.js +1 -1
  114. package/dist-server/package.json +1 -1
  115. package/dist-server/pair-cli.js +1 -1
  116. package/dist-server/server/imported-skills.js +7 -2
  117. package/dist-server/server/index.js +7 -5
  118. package/dist-server/server/limix-bot-library.js +15 -8
  119. package/dist-server/server/limix-lang.js +2 -0
  120. package/dist-server/server/limix-skill-hub.js +20 -19
  121. package/dist-server/server/limix-skill-store.js +180 -0
  122. package/dist-server/server/routes/bot-skills.js +15 -4
  123. package/dist-server/shared/first-reply-rescue.js +4 -3
  124. package/package.json +1 -1
  125. package/skills/windows-computer-automation/SKILL.md +53 -0
  126. package/skills/windows-computer-automation/assets/HERIONIX-LEADER-PROMPT.md +25 -0
  127. package/skills/windows-computer-automation/assets/control-policy.example.json +25 -0
  128. package/skills/windows-computer-automation/assets/mcp-servers.example.json +19 -0
  129. package/skills/windows-computer-automation/manifest.json +27 -0
  130. package/skills/windows-computer-automation/references/herionix-integration.md +72 -0
  131. package/skills/windows-computer-automation/references/routing.md +26 -0
  132. package/skills/windows-computer-automation/references/scenarios.md +44 -0
  133. package/skills/windows-computer-automation/references/security.md +24 -0
  134. package/skills/windows-computer-automation/scripts/policy_engine.py +235 -0
  135. package/skills/windows-computer-automation/scripts/test_policy_engine.py +107 -0
  136. package/dist/assets/BotSettingsDialog-CVlvG4Rb.js +0 -16
  137. package/dist/assets/SettingsModal-Cdz3bEYZ.js +0 -15
  138. package/dist/assets/TeamLibraryPanel-DMhdlaSH.js +0 -1
  139. package/dist/assets/channel-k2J2GMwv.js +0 -1
  140. package/dist/assets/swimlanesDiagram-K3J5GTZL-DTQBdgKt.js +0 -8
@@ -1 +1 @@
1
- import{r,t as a,d as ne,j as e,X as le,f as ce}from"./styles-C2_XZv1s.js";import{r as ie,L as K}from"./PlacesRail-PP97GpM6.js";import{S as B,a as de,p as J,r as oe,s as V,b as me,c as xe,t as pe,n as ue,d as he,e as fe,f as ge}from"./team-share-Dpu1nJNz.js";import{u as Se,n as I,K as be}from"./App-BWtQhGWp.js";import"./monitor-DuYHWIyw.js";import"./index-BSrb6nsc.js";import"./MenuMotion-CSgaJLc2.js";function G({preview:l,includeMemory:o,localSkips:b}){const i=l.document.package,c=l.summary.counts,T=i.team?.leader?i.agents.find(s=>s.key===i.team?.leader)?.name:void 0,j=i.agents.filter(s=>s.appearance.avatar).length,L=i.agents.reduce((s,p)=>s+Object.keys(p.seed?.memory??{}).length,0),k=[[a("teamShare.part.bots"),`${c.bots} · ${l.summary.botNames.join(", ")}`],[a("teamShare.part.skills"),String(c.skills)],[a("teamShare.part.playbooks"),String(c.playbooks)],[a("teamShare.part.rooms"),String(c.rooms)],[a("teamShare.part.routines"),String(c.routines)],[a("teamShare.part.brief"),i.team?.brief?a("teamShare.yes"):a("teamShare.none")],[a("teamShare.part.leader"),T??a("teamShare.none")],[a("teamShare.part.connections"),String(c.connections)],[a("teamShare.part.pictures"),String(j)],[a("teamShare.part.notes"),o?String(L):a("teamShare.none")],...c.presets?[[a("teamShare.part.presets"),`${c.presets} · ${l.summary.presetNames.join(", ")}`]]:[]],C=[...b,...l.skipped.map(s=>he(s,l.document))];return e.jsxs("div",{children:[e.jsx("div",{className:"text-[12px] font-medium text-ink-secondary",children:a("teamShare.included")}),e.jsx("dl",{className:"mt-2 grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1.5 rounded-xl bg-raised/45 px-4 py-3 text-[13px]",children:k.map(([s,p])=>e.jsxs("div",{className:"contents",children:[e.jsx("dt",{className:"text-ink-secondary",children:s}),e.jsx("dd",{className:"max-w-[260px] truncate text-right text-ink",title:p,children:p})]},s))}),i.connections?.length?e.jsxs("div",{className:"mt-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.addresses")}),e.jsx("ul",{className:"mt-1 space-y-0.5",children:i.connections.map(s=>e.jsxs("li",{className:"break-all",children:[e.jsx("span",{className:"text-ink",children:s.label})," · ",s.mcp.url]},s.key))})]}):null,e.jsxs("p",{className:"mt-3 flex items-start gap-2 text-[13px] leading-relaxed text-ink-secondary",children:[e.jsx(be,{size:15,className:"mt-0.5 shrink-0 text-success"}),e.jsx("span",{children:a("teamShare.never")})]}),l.redacted.length>0&&e.jsxs("div",{className:"mt-3 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.redacted")}),e.jsx("ul",{className:"mt-1 list-disc pl-5",children:l.redacted.map(s=>e.jsx("li",{children:fe(s,l.document)},s))})]}),C.length>0&&e.jsxs("div",{className:"mt-3 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.skipped")}),e.jsx("ul",{className:"mt-1 list-disc pl-5",children:C.map((s,p)=>e.jsx("li",{children:s},`${s}-${p}`))})]})]})}function je({available:l,ticked:o,counted:b,onToggle:i}){return e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:a("teamShare.includeSkills")}),b&&l.length===0&&e.jsx("p",{className:"mt-1 text-[12px] text-ink-secondary",children:a("teamShare.noSkills")}),e.jsx("div",{className:"mt-1 flex flex-wrap gap-x-4 gap-y-1",children:l.map(c=>e.jsxs("label",{className:"flex items-center gap-1.5 text-[13px]",children:[e.jsx("input",{type:"checkbox",className:"size-3.5 accent-accent",checked:o.has(c),onChange:()=>i(c)}),c]},c))})]})}function Pe({team:l,onClose:o}){const{state:b}=Se(),i=r.useRef(null),c=r.useMemo(()=>b.bots.filter(t=>!t.hidden&&(t.section?.trim()??"")===l),[b.bots,l]),T=r.useMemo(()=>new Map(c.map(t=>[t.id,t.name])),[c]),[j,L]=r.useState(l||a("teamLibrary.general")),[k,C]=r.useState(""),[s,p]=r.useState(""),[z,M]=r.useState(""),[R,W]=r.useState(""),[h,X]=r.useState(B.includePictures),[f,Q]=r.useState(B.includeMemory),[u,Y]=r.useState(!1),[g,H]=r.useState(null),[y,Z]=r.useState(null),[S,O]=r.useState(null),[ee,E]=r.useState(de),{preview:$,available:N,included:te,error:D}=ee,U=t=>E(n=>({...n,error:t})),[d,_]=r.useState(!1),[P,ae]=r.useState(null),A=r.useRef(0);r.useEffect(()=>{let t=!1;return J(c).then(n=>{t||O({avatars:n.avatars,skipped:n.skipped.map(m=>`${T.get(m.botId)??m.botId} · ${a("teamShare.field.picture")} — ${ne(`teamShare.skip.${m.reason}`,m.reason)}`)})}).catch(()=>{t||O({avatars:{},skipped:[]})}),()=>{t=!0}},[]),r.useEffect(()=>{if(!u||g)return;let t=!1;return I("/api/bot-defaults").then(({defaults:n})=>J([{id:"defaults",avatarUrl:n.profile.avatarUrl,avatarCrop:n.profile.avatarCrop}])).then(n=>{t||H({dataUrl:n.avatars.defaults})}).catch(()=>{t||H({})}),()=>{t=!0}},[u,g]);const q=r.useCallback(t=>({team:l,name:j,tagline:k,summary:s,release:z,notes:R,skills:oe(y,N),includeMemory:f,...h&&S?{avatars:S.avatars}:{},...u?{includeDefaultsPreset:!0,...h&&g?.dataUrl?{presetAvatar:g.dataUrl}:{}}:{},dryRun:t}),[l,j,k,s,z,R,y,N,f,h,S,u,g]);r.useEffect(()=>{if(!S)return;if(u&&!g){E(x=>({...x,preview:null}));return}const t=++A.current,n=y===null,m=window.setTimeout(()=>{I("/api/teams/export",{method:"POST",body:JSON.stringify(V({...q(!0),release:void 0}))}).then(x=>{t===A.current&&(E(w=>me(w,x,n)),M(w=>w||x.document.package.release))}).catch(x=>{t===A.current&&E(w=>xe(w,x))})},250);return()=>window.clearTimeout(m)},[S,y,f,h,u,g]);const se=async()=>{if(!d){_(!0),U("");try{const t=await I("/api/teams/export",{method:"POST",body:JSON.stringify(V(q(!1)))});ge(t.filename,t.document),ae(t)}catch(t){U(t instanceof Error?t.message:String(t))}finally{_(!1)}}};r.useEffect(()=>{const t=document.activeElement instanceof HTMLElement?document.activeElement:null;return i.current?.focus(),()=>{t?.isConnected&&t.focus()}},[]);const F=pe(y,te,N),re=t=>{const n=new Set(F);n.has(t)?n.delete(t):n.add(t),Z(n)},v="mt-1 w-full rounded-lg border border-hairline/50 bg-inset px-3 py-2 text-[14px] text-ink disabled:opacity-60";return ie.createPortal(e.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-black/55 p-4",onMouseDown:t=>{t.target===t.currentTarget&&!d&&o()},children:e.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":"share-team-title",tabIndex:-1,className:"flex max-h-[90vh] w-full max-w-[620px] flex-col overflow-hidden rounded-2xl border border-hairline/50 bg-panel text-ink shadow-2xl outline-none",onKeyDown:t=>{if(t.key==="Escape"&&!d&&(t.stopPropagation(),o()),t.key==="Tab"){const n=i.current?.querySelectorAll("input:enabled, textarea:enabled, button:enabled");if(!n?.length)return;const m=n[0],x=n[n.length-1];t.shiftKey&&document.activeElement===m?(t.preventDefault(),x.focus()):!t.shiftKey&&document.activeElement===x&&(t.preventDefault(),m.focus())}},children:[e.jsxs("header",{className:"flex items-start justify-between gap-3 px-6 pb-2 pt-5",children:[e.jsxs("div",{children:[e.jsx("h2",{id:"share-team-title",className:"text-[17px] font-semibold",children:a("teamShare.title",{name:l||a("teamLibrary.general")})}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:a("teamShare.intro")})]}),e.jsx("button",{"aria-label":a("teamShare.close"),disabled:d,onClick:o,className:"rounded-lg p-1.5 text-ink-secondary hover:bg-raised",children:e.jsx(le,{size:18})})]}),P?e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-4 pt-2",children:[e.jsxs("p",{className:"flex items-center gap-2 text-[14px] font-medium text-ink",children:[e.jsx(ce,{size:16,className:"text-success"}),a("teamShare.saved",{filename:P.filename})]}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:a("teamShare.savedHint")}),e.jsx("div",{className:"mt-4",children:e.jsx(G,{preview:P,includeMemory:f,localSkips:h?S?.skipped??[]:[]})})]}):e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-4 pt-2",children:[$?e.jsx(G,{preview:$,includeMemory:f,localSkips:h?S?.skipped??[]:[]}):!D&&e.jsxs("div",{className:"flex items-center gap-2 py-6 text-[13px] text-ink-secondary",children:[e.jsx(K,{size:15,className:"animate-spin"}),a("teamShare.preparing")]}),e.jsxs("fieldset",{className:"mt-4 space-y-2 text-[13px]",disabled:d,children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:h,onChange:t=>X(t.target.checked)}),a("teamShare.includePictures")]}),e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:f,onChange:t=>Q(t.target.checked)}),a("teamShare.includeNotes")]}),e.jsx("p",{className:"pl-6 text-[12px] leading-relaxed text-ink-secondary",children:ue(f)}),e.jsx(je,{available:N??[],ticked:F,counted:N!==null,onToggle:re}),e.jsxs("label",{className:"flex items-center gap-2 pt-1",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:u,onChange:t=>Y(t.target.checked)}),a("teamShare.includePreset")]}),u&&e.jsx("p",{className:"pl-6 text-[12px] leading-relaxed text-ink-secondary",children:a("teamShare.presetHint")})]}),e.jsxs("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:[e.jsxs("label",{className:"block text-[13px] text-ink-secondary",children:[a("teamShare.name"),e.jsx("input",{value:j,maxLength:100,disabled:d,onChange:t=>L(t.target.value),className:v})]}),e.jsxs("label",{className:"block text-[13px] text-ink-secondary",children:[a("teamShare.release"),e.jsx("input",{value:z,maxLength:20,disabled:d,placeholder:"1.0.0",onChange:t=>M(t.target.value),className:v})]})]}),e.jsx("p",{className:"mt-1 text-[12px] text-ink-secondary",children:a("teamShare.releaseHint")}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.notes"),e.jsx("textarea",{value:R,maxLength:4e3,rows:2,disabled:d,onChange:t=>W(t.target.value),className:v})]}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.tagline"),e.jsx("input",{value:k,maxLength:160,disabled:d,onChange:t=>C(t.target.value),className:v})]}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.summary"),e.jsx("textarea",{value:s,maxLength:2e3,rows:2,disabled:d,onChange:t=>p(t.target.value),className:v})]})]}),D&&e.jsx("p",{role:"alert",className:"mx-6 mb-2 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:D}),e.jsx("footer",{className:"flex justify-end gap-2 border-t border-hairline/35 px-6 py-3",children:P?e.jsx("button",{onClick:o,className:"rounded-lg bg-accent px-4 py-2 text-[13px] font-medium text-white",children:a("teamShare.done")}):e.jsxs(e.Fragment,{children:[e.jsx("button",{disabled:d,onClick:o,className:"rounded-lg px-3 py-2 text-[13px] text-ink-secondary hover:bg-raised",children:a("common.cancel")}),e.jsxs("button",{disabled:d||!$||!j.trim(),onClick:()=>{se()},className:"flex items-center gap-2 rounded-lg bg-accent px-4 py-2 text-[13px] font-medium text-white disabled:opacity-40",children:[d&&e.jsx(K,{size:14,className:"animate-spin"}),d?a("teamShare.saving"):a("teamShare.save")]})]})})]})}),document.body)}export{je as ShareSkillChoices,G as ShareTeamContents,Pe as ShareTeamDialog};
1
+ import{r,t as a,d as ne,j as e,X as le,f as ce}from"./styles-BRMaHK08.js";import{r as ie,L as K}from"./PlacesRail-dslg5RRJ.js";import{S as B,a as de,p as J,r as oe,s as V,b as me,c as xe,t as pe,n as ue,d as he,e as fe,f as ge}from"./team-share-2OjfOHsk.js";import{u as Se,n as I,K as be}from"./App-DCe3hDbm.js";import"./monitor-C-EBTsrK.js";import"./index-D2Jm8LAf.js";import"./MenuMotion-BOUToDZz.js";function G({preview:l,includeMemory:o,localSkips:b}){const i=l.document.package,c=l.summary.counts,T=i.team?.leader?i.agents.find(s=>s.key===i.team?.leader)?.name:void 0,j=i.agents.filter(s=>s.appearance.avatar).length,L=i.agents.reduce((s,p)=>s+Object.keys(p.seed?.memory??{}).length,0),k=[[a("teamShare.part.bots"),`${c.bots} · ${l.summary.botNames.join(", ")}`],[a("teamShare.part.skills"),String(c.skills)],[a("teamShare.part.playbooks"),String(c.playbooks)],[a("teamShare.part.rooms"),String(c.rooms)],[a("teamShare.part.routines"),String(c.routines)],[a("teamShare.part.brief"),i.team?.brief?a("teamShare.yes"):a("teamShare.none")],[a("teamShare.part.leader"),T??a("teamShare.none")],[a("teamShare.part.connections"),String(c.connections)],[a("teamShare.part.pictures"),String(j)],[a("teamShare.part.notes"),o?String(L):a("teamShare.none")],...c.presets?[[a("teamShare.part.presets"),`${c.presets} · ${l.summary.presetNames.join(", ")}`]]:[]],C=[...b,...l.skipped.map(s=>he(s,l.document))];return e.jsxs("div",{children:[e.jsx("div",{className:"text-[12px] font-medium text-ink-secondary",children:a("teamShare.included")}),e.jsx("dl",{className:"mt-2 grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1.5 rounded-xl bg-raised/45 px-4 py-3 text-[13px]",children:k.map(([s,p])=>e.jsxs("div",{className:"contents",children:[e.jsx("dt",{className:"text-ink-secondary",children:s}),e.jsx("dd",{className:"max-w-[260px] truncate text-right text-ink",title:p,children:p})]},s))}),i.connections?.length?e.jsxs("div",{className:"mt-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.addresses")}),e.jsx("ul",{className:"mt-1 space-y-0.5",children:i.connections.map(s=>e.jsxs("li",{className:"break-all",children:[e.jsx("span",{className:"text-ink",children:s.label})," · ",s.mcp.url]},s.key))})]}):null,e.jsxs("p",{className:"mt-3 flex items-start gap-2 text-[13px] leading-relaxed text-ink-secondary",children:[e.jsx(be,{size:15,className:"mt-0.5 shrink-0 text-success"}),e.jsx("span",{children:a("teamShare.never")})]}),l.redacted.length>0&&e.jsxs("div",{className:"mt-3 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.redacted")}),e.jsx("ul",{className:"mt-1 list-disc pl-5",children:l.redacted.map(s=>e.jsx("li",{children:fe(s,l.document)},s))})]}),C.length>0&&e.jsxs("div",{className:"mt-3 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:a("teamShare.skipped")}),e.jsx("ul",{className:"mt-1 list-disc pl-5",children:C.map((s,p)=>e.jsx("li",{children:s},`${s}-${p}`))})]})]})}function je({available:l,ticked:o,counted:b,onToggle:i}){return e.jsxs("div",{children:[e.jsx("div",{className:"font-medium",children:a("teamShare.includeSkills")}),b&&l.length===0&&e.jsx("p",{className:"mt-1 text-[12px] text-ink-secondary",children:a("teamShare.noSkills")}),e.jsx("div",{className:"mt-1 flex flex-wrap gap-x-4 gap-y-1",children:l.map(c=>e.jsxs("label",{className:"flex items-center gap-1.5 text-[13px]",children:[e.jsx("input",{type:"checkbox",className:"size-3.5 accent-accent",checked:o.has(c),onChange:()=>i(c)}),c]},c))})]})}function Pe({team:l,onClose:o}){const{state:b}=Se(),i=r.useRef(null),c=r.useMemo(()=>b.bots.filter(t=>!t.hidden&&(t.section?.trim()??"")===l),[b.bots,l]),T=r.useMemo(()=>new Map(c.map(t=>[t.id,t.name])),[c]),[j,L]=r.useState(l||a("teamLibrary.general")),[k,C]=r.useState(""),[s,p]=r.useState(""),[z,M]=r.useState(""),[R,W]=r.useState(""),[h,X]=r.useState(B.includePictures),[f,Q]=r.useState(B.includeMemory),[u,Y]=r.useState(!1),[g,H]=r.useState(null),[y,Z]=r.useState(null),[S,O]=r.useState(null),[ee,E]=r.useState(de),{preview:$,available:N,included:te,error:D}=ee,U=t=>E(n=>({...n,error:t})),[d,_]=r.useState(!1),[P,ae]=r.useState(null),A=r.useRef(0);r.useEffect(()=>{let t=!1;return J(c).then(n=>{t||O({avatars:n.avatars,skipped:n.skipped.map(m=>`${T.get(m.botId)??m.botId} · ${a("teamShare.field.picture")} — ${ne(`teamShare.skip.${m.reason}`,m.reason)}`)})}).catch(()=>{t||O({avatars:{},skipped:[]})}),()=>{t=!0}},[]),r.useEffect(()=>{if(!u||g)return;let t=!1;return I("/api/bot-defaults").then(({defaults:n})=>J([{id:"defaults",avatarUrl:n.profile.avatarUrl,avatarCrop:n.profile.avatarCrop}])).then(n=>{t||H({dataUrl:n.avatars.defaults})}).catch(()=>{t||H({})}),()=>{t=!0}},[u,g]);const q=r.useCallback(t=>({team:l,name:j,tagline:k,summary:s,release:z,notes:R,skills:oe(y,N),includeMemory:f,...h&&S?{avatars:S.avatars}:{},...u?{includeDefaultsPreset:!0,...h&&g?.dataUrl?{presetAvatar:g.dataUrl}:{}}:{},dryRun:t}),[l,j,k,s,z,R,y,N,f,h,S,u,g]);r.useEffect(()=>{if(!S)return;if(u&&!g){E(x=>({...x,preview:null}));return}const t=++A.current,n=y===null,m=window.setTimeout(()=>{I("/api/teams/export",{method:"POST",body:JSON.stringify(V({...q(!0),release:void 0}))}).then(x=>{t===A.current&&(E(w=>me(w,x,n)),M(w=>w||x.document.package.release))}).catch(x=>{t===A.current&&E(w=>xe(w,x))})},250);return()=>window.clearTimeout(m)},[S,y,f,h,u,g]);const se=async()=>{if(!d){_(!0),U("");try{const t=await I("/api/teams/export",{method:"POST",body:JSON.stringify(V(q(!1)))});ge(t.filename,t.document),ae(t)}catch(t){U(t instanceof Error?t.message:String(t))}finally{_(!1)}}};r.useEffect(()=>{const t=document.activeElement instanceof HTMLElement?document.activeElement:null;return i.current?.focus(),()=>{t?.isConnected&&t.focus()}},[]);const F=pe(y,te,N),re=t=>{const n=new Set(F);n.has(t)?n.delete(t):n.add(t),Z(n)},v="mt-1 w-full rounded-lg border border-hairline/50 bg-inset px-3 py-2 text-[14px] text-ink disabled:opacity-60";return ie.createPortal(e.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center bg-black/55 p-4",onMouseDown:t=>{t.target===t.currentTarget&&!d&&o()},children:e.jsxs("div",{ref:i,role:"dialog","aria-modal":"true","aria-labelledby":"share-team-title",tabIndex:-1,className:"flex max-h-[90vh] w-full max-w-[620px] flex-col overflow-hidden rounded-2xl border border-hairline/50 bg-panel text-ink shadow-2xl outline-none",onKeyDown:t=>{if(t.key==="Escape"&&!d&&(t.stopPropagation(),o()),t.key==="Tab"){const n=i.current?.querySelectorAll("input:enabled, textarea:enabled, button:enabled");if(!n?.length)return;const m=n[0],x=n[n.length-1];t.shiftKey&&document.activeElement===m?(t.preventDefault(),x.focus()):!t.shiftKey&&document.activeElement===x&&(t.preventDefault(),m.focus())}},children:[e.jsxs("header",{className:"flex items-start justify-between gap-3 px-6 pb-2 pt-5",children:[e.jsxs("div",{children:[e.jsx("h2",{id:"share-team-title",className:"text-[17px] font-semibold",children:a("teamShare.title",{name:l||a("teamLibrary.general")})}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:a("teamShare.intro")})]}),e.jsx("button",{"aria-label":a("teamShare.close"),disabled:d,onClick:o,className:"rounded-lg p-1.5 text-ink-secondary hover:bg-raised",children:e.jsx(le,{size:18})})]}),P?e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-4 pt-2",children:[e.jsxs("p",{className:"flex items-center gap-2 text-[14px] font-medium text-ink",children:[e.jsx(ce,{size:16,className:"text-success"}),a("teamShare.saved",{filename:P.filename})]}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:a("teamShare.savedHint")}),e.jsx("div",{className:"mt-4",children:e.jsx(G,{preview:P,includeMemory:f,localSkips:h?S?.skipped??[]:[]})})]}):e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-4 pt-2",children:[$?e.jsx(G,{preview:$,includeMemory:f,localSkips:h?S?.skipped??[]:[]}):!D&&e.jsxs("div",{className:"flex items-center gap-2 py-6 text-[13px] text-ink-secondary",children:[e.jsx(K,{size:15,className:"animate-spin"}),a("teamShare.preparing")]}),e.jsxs("fieldset",{className:"mt-4 space-y-2 text-[13px]",disabled:d,children:[e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:h,onChange:t=>X(t.target.checked)}),a("teamShare.includePictures")]}),e.jsxs("label",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:f,onChange:t=>Q(t.target.checked)}),a("teamShare.includeNotes")]}),e.jsx("p",{className:"pl-6 text-[12px] leading-relaxed text-ink-secondary",children:ue(f)}),e.jsx(je,{available:N??[],ticked:F,counted:N!==null,onToggle:re}),e.jsxs("label",{className:"flex items-center gap-2 pt-1",children:[e.jsx("input",{type:"checkbox",className:"size-4 accent-accent",checked:u,onChange:t=>Y(t.target.checked)}),a("teamShare.includePreset")]}),u&&e.jsx("p",{className:"pl-6 text-[12px] leading-relaxed text-ink-secondary",children:a("teamShare.presetHint")})]}),e.jsxs("div",{className:"mt-4 grid gap-3 sm:grid-cols-2",children:[e.jsxs("label",{className:"block text-[13px] text-ink-secondary",children:[a("teamShare.name"),e.jsx("input",{value:j,maxLength:100,disabled:d,onChange:t=>L(t.target.value),className:v})]}),e.jsxs("label",{className:"block text-[13px] text-ink-secondary",children:[a("teamShare.release"),e.jsx("input",{value:z,maxLength:20,disabled:d,placeholder:"1.0.0",onChange:t=>M(t.target.value),className:v})]})]}),e.jsx("p",{className:"mt-1 text-[12px] text-ink-secondary",children:a("teamShare.releaseHint")}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.notes"),e.jsx("textarea",{value:R,maxLength:4e3,rows:2,disabled:d,onChange:t=>W(t.target.value),className:v})]}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.tagline"),e.jsx("input",{value:k,maxLength:160,disabled:d,onChange:t=>C(t.target.value),className:v})]}),e.jsxs("label",{className:"mt-3 block text-[13px] text-ink-secondary",children:[a("teamShare.summary"),e.jsx("textarea",{value:s,maxLength:2e3,rows:2,disabled:d,onChange:t=>p(t.target.value),className:v})]})]}),D&&e.jsx("p",{role:"alert",className:"mx-6 mb-2 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:D}),e.jsx("footer",{className:"flex justify-end gap-2 border-t border-hairline/35 px-6 py-3",children:P?e.jsx("button",{onClick:o,className:"rounded-lg bg-accent px-4 py-2 text-[13px] font-medium text-white",children:a("teamShare.done")}):e.jsxs(e.Fragment,{children:[e.jsx("button",{disabled:d,onClick:o,className:"rounded-lg px-3 py-2 text-[13px] text-ink-secondary hover:bg-raised",children:a("common.cancel")}),e.jsxs("button",{disabled:d||!$||!j.trim(),onClick:()=>{se()},className:"flex items-center gap-2 rounded-lg bg-accent px-4 py-2 text-[13px] font-medium text-white disabled:opacity-40",children:[d&&e.jsx(K,{size:14,className:"animate-spin"}),d?a("teamShare.saving"):a("teamShare.save")]})]})})]})}),document.body)}export{je as ShareSkillChoices,G as ShareTeamContents,Pe as ShareTeamDialog};
@@ -1 +1 @@
1
- import{r,j as s,t}from"./styles-C2_XZv1s.js";import{n as b}from"./App-BWtQhGWp.js";import{a as k}from"./PlacesRail-PP97GpM6.js";function E({target:i,scope:a={},sharedBy:x,disabled:N=!1,bare:l=!1}){const[n,S]=r.useState(null),[o,m]=r.useState(!1),[c,u]=r.useState(""),p=async e=>{m(!0),u("");try{S((await e()).sites)}catch(d){u(d instanceof Error&&d.message?d.message:t("settings.sites.error"))}finally{m(!1)}},g=()=>p(()=>b(`/api/browser-sites?${new URLSearchParams({...i,...a}).toString()}`)),f=e=>p(()=>b("/api/browser-sites/sign-out",{method:"POST",body:JSON.stringify({...i,...a,...e?{site:e}:{}})})),v=`${"bot"in i?`bot:${i.bot}`:`profile:${i.profile}`}${a.threadId?`:${a.threadId}`:""}`;r.useEffect(()=>{l&&g()},[l,v]);const h=N||o,j="flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[12px] text-ink-secondary hover:bg-control hover:text-ink disabled:opacity-50",y=s.jsxs("div",{className:l?"flex min-w-0 flex-col gap-2":"mt-2 flex flex-col gap-2","aria-busy":o,children:[x.length>1&&s.jsx("p",{className:"text-[11px] leading-relaxed text-ink-secondary",children:t("settings.sites.shared",{names:x.join(", ")})}),n===null&&!c&&s.jsx("p",{className:"text-[12px] text-ink-secondary",children:t("settings.sites.loading")}),n?.length===0&&s.jsx("p",{className:"text-[12px] text-ink-secondary",children:t("settings.sites.none")}),!!n?.length&&s.jsx("ul",{className:"divide-y divide-hairline/30",children:n.map(e=>s.jsxs("li",{className:"flex min-w-0 items-center gap-2 py-1.5",children:[s.jsx("span",{className:"min-w-0 flex-1 truncate text-[13px] text-ink",title:e.site,children:e.site}),s.jsxs("button",{type:"button",disabled:h,onClick:()=>{f(e.site)},"aria-label":t("settings.sites.signOutOf",{site:e.site}),className:j,children:[s.jsx(k,{size:13}),t("settings.sites.signOut")]})]},e.site))}),!!n?.length&&s.jsxs("button",{type:"button",disabled:h,onClick:()=>{f()},className:`${j} self-start`,children:[s.jsx(k,{size:13}),t("settings.sites.signOutAll")]}),c&&s.jsx("p",{role:"alert",className:"text-[12px] text-danger",children:c})]});return l?y:s.jsxs("details",{className:"min-w-0",onToggle:e=>{e.currentTarget.open&&!o&&g()},children:[s.jsx("summary",{className:"cursor-pointer text-[12px] font-medium text-ink-secondary hover:text-ink",children:t("settings.sites.title")}),y]})}export{E as S};
1
+ import{r,j as s,t}from"./styles-BRMaHK08.js";import{n as b}from"./App-DCe3hDbm.js";import{a as k}from"./PlacesRail-dslg5RRJ.js";function E({target:i,scope:a={},sharedBy:x,disabled:N=!1,bare:l=!1}){const[n,S]=r.useState(null),[o,m]=r.useState(!1),[c,u]=r.useState(""),p=async e=>{m(!0),u("");try{S((await e()).sites)}catch(d){u(d instanceof Error&&d.message?d.message:t("settings.sites.error"))}finally{m(!1)}},g=()=>p(()=>b(`/api/browser-sites?${new URLSearchParams({...i,...a}).toString()}`)),f=e=>p(()=>b("/api/browser-sites/sign-out",{method:"POST",body:JSON.stringify({...i,...a,...e?{site:e}:{}})})),v=`${"bot"in i?`bot:${i.bot}`:`profile:${i.profile}`}${a.threadId?`:${a.threadId}`:""}`;r.useEffect(()=>{l&&g()},[l,v]);const h=N||o,j="flex shrink-0 items-center gap-1 rounded-md px-2 py-1 text-[12px] text-ink-secondary hover:bg-control hover:text-ink disabled:opacity-50",y=s.jsxs("div",{className:l?"flex min-w-0 flex-col gap-2":"mt-2 flex flex-col gap-2","aria-busy":o,children:[x.length>1&&s.jsx("p",{className:"text-[11px] leading-relaxed text-ink-secondary",children:t("settings.sites.shared",{names:x.join(", ")})}),n===null&&!c&&s.jsx("p",{className:"text-[12px] text-ink-secondary",children:t("settings.sites.loading")}),n?.length===0&&s.jsx("p",{className:"text-[12px] text-ink-secondary",children:t("settings.sites.none")}),!!n?.length&&s.jsx("ul",{className:"divide-y divide-hairline/30",children:n.map(e=>s.jsxs("li",{className:"flex min-w-0 items-center gap-2 py-1.5",children:[s.jsx("span",{className:"min-w-0 flex-1 truncate text-[13px] text-ink",title:e.site,children:e.site}),s.jsxs("button",{type:"button",disabled:h,onClick:()=>{f(e.site)},"aria-label":t("settings.sites.signOutOf",{site:e.site}),className:j,children:[s.jsx(k,{size:13}),t("settings.sites.signOut")]})]},e.site))}),!!n?.length&&s.jsxs("button",{type:"button",disabled:h,onClick:()=>{f()},className:`${j} self-start`,children:[s.jsx(k,{size:13}),t("settings.sites.signOutAll")]}),c&&s.jsx("p",{role:"alert",className:"text-[12px] text-danger",children:c})]});return l?y:s.jsxs("details",{className:"min-w-0",onToggle:e=>{e.currentTarget.open&&!o&&g()},children:[s.jsx("summary",{className:"cursor-pointer text-[12px] font-medium text-ink-secondary hover:text-ink",children:t("settings.sites.title")}),y]})}export{E as S};
@@ -0,0 +1 @@
1
+ import{t,j as e,a as N,f as he,r as i,X as dt,S as mt}from"./styles-BRMaHK08.js";import{L as w,N as xt,P as pt,r as He,O as ut,z as De,Q as gt,y as oe}from"./PlacesRail-dslg5RRJ.js";import{o as Ke,a as ht,b as bt,c as ft,d as yt,t as ue,e as jt,M as kt}from"./org-library-DHuACSMf.js";import{t as Nt,a as vt}from"./import-name-B3mVDURb.js";import{bw as wt,bx as St,by as Ct,w as Lt,bz as $e,bA as Et,aQ as Je,u as qe,n as k,bB as z,bC as zt,bD as Bt,bE as It,bF as Tt,bG as Ot,bH as Rt,bI as Fe,bJ as Pt,F as At,bK as Dt}from"./App-DCe3hDbm.js";import{R as $t}from"./MenuMotion-BOUToDZz.js";import{ShareTeamDialog as Ft}from"./ShareTeamDialog-C5Fv8jWl.js";import"./monitor-C-EBTsrK.js";import"./package-format-CAZ-xCP-.js";import"./index-D2Jm8LAf.js";import"./team-share-2OjfOHsk.js";const Gt={"seo growth team":"seoGrowth","engineering team":"engineering","100x marketing team":"marketing100x","reddit lead miner":"redditLeadMiner","competitor watch":"competitorWatch","inbox follow-up":"inboxFollowup"};function We(a){const c=Gt[a.name.trim().toLowerCase()];return c?{...a,name:t(`templates.catalog.${c}.name`),summary:t(`templates.catalog.${c}.summary`),outcome:a.outcome?t(`templates.catalog.${c}.outcome`):void 0}:a}function Mt(a,c){const m=We(a);return`${m.name} ${m.summary} ${a.name} ${a.summary} ${a.category} ${a.skills.join(" ")} ${a.requires.apps.join(" ")}`.toLowerCase().includes(c)}const $=["bg-purple-500/15 text-purple-300","bg-cyan-500/15 text-cyan-300","bg-orange-500/15 text-orange-300","bg-emerald-500/15 text-emerald-300"];function Ut({pending:a,importedNames:c,org:m=!1}){return e.jsxs(e.Fragment,{children:[a.description&&e.jsx("p",{className:"max-w-2xl text-[14px] leading-relaxed text-ink-secondary",children:a.description}),a.brief&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:t("teamImport.brief")}),e.jsx("p",{className:"mt-1 line-clamp-4 whitespace-pre-wrap break-words",children:a.brief})]}),!!a.warnings?.length&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"mb-2 font-medium text-ink",children:t("templates.backupNotes")}),a.warnings?.map((x,d)=>e.jsx("p",{children:x},d))]}),(a.kind==="package"||a.kind==="backup")&&e.jsxs("div",{className:"mt-5 flex flex-wrap gap-2 text-[12px] text-ink-secondary",children:[a.chiefOfStaff&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(wt,{size:13}),t("templates.leads",{name:a.chiefOfStaff})]}),!a.library&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(St,{size:13}),t("templates.groupChats",{count:a.rooms})]}),!(a.library&&!a.playbooks)&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(Ct,{size:13}),t("templates.playbooks",{count:a.playbooks})]}),!a.library&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(Lt,{size:13}),a.version===2?t("teamImport.routinesPaused",{count:a.routines}):t("templates.pausedRoutines",{count:a.routines})]}),a.kind==="package"&&a.version!==2&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx($e,{size:13}),t("templates.connections",{count:a.apps.length})]}),!!a.connections?.length&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx($e,{size:13}),t("teamImport.connections",{count:a.connections?.length??0})]}),!!a.notes&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(Et,{size:13}),t("teamImport.notes",{count:a.notes??0})]}),!!a.presets?.length&&e.jsxs("span",{className:"flex items-center gap-1.5 rounded-full bg-raised px-3 py-1.5",children:[e.jsx(Je,{size:13}),t("teamImport.presets",{count:a.presets?.length??0})]})]}),!!a.skills?.length&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:m?t("orgLibrary.skillsOn"):a.version===2?t("teamImport.skillsOff"):t("templates.skillsDisabled")}),e.jsx("p",{className:"mt-1 break-words",children:a.skills?.join(", ")}),!m&&e.jsx("p",{className:"mt-1",children:a.version===2?t("teamImport.skillsReview"):t("templates.skillsReview")})]}),a.library&&!!a.presets?.length&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:t("teamImport.presetList")}),e.jsx("p",{className:"mt-1 break-words",children:a.presets?.join(", ")})]}),!!a.offeredSkills?.length&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:t("teamImport.offeredSkills")}),e.jsx("p",{className:"mt-1 break-words",children:a.offeredSkills?.join(", ")})]}),!!a.connections?.length&&e.jsxs("div",{className:"mt-4 rounded-xl border border-hairline px-4 py-3 text-[13px] text-ink-secondary",children:[e.jsx("div",{className:"font-medium text-ink",children:t("teamImport.connections",{count:a.connections?.length??0})}),e.jsx("ul",{className:"mt-1",children:a.connections?.map((x,d)=>e.jsxs("li",{className:"truncate",children:[x.label," · ",x.url]},`${x.label}-${d}`))})]}),a.members.length>0&&e.jsx("div",{className:"mt-6 text-[12px] font-medium text-ink-secondary",children:t("templates.teamMembers")}),e.jsx("div",{className:"mt-2 grid grid-cols-1 gap-x-10 md:grid-cols-2",children:a.members.map((x,d)=>e.jsxs("div",{className:"flex min-h-[72px] items-center gap-3 border-b border-hairline/35 px-1 py-3",children:[a.pictures?.[d]?e.jsx("img",{src:a.pictures[d],alt:"",className:"size-9 shrink-0 rounded-lg object-cover"}):e.jsx("div",{className:N("flex size-9 shrink-0 items-center justify-center rounded-lg text-[13px] font-semibold",$[d%$.length]),children:x.name.slice(0,1).toUpperCase()}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"truncate text-[14px] font-medium text-ink",children:c[d]}),c[d]!==x.name&&e.jsx("div",{className:"text-[12px] text-ink-secondary",children:t("templates.newCopyOf",{name:x.name})}),e.jsx("div",{className:"mt-0.5 truncate text-[13px] text-ink-secondary",children:x.title||t("templates.generalAssistant")})]})]},`${x.name}-${d}`))}),e.jsxs("div",{className:"mt-6 flex items-start gap-2.5 rounded-xl bg-raised/45 px-4 py-3 text-[13px] leading-relaxed text-ink-secondary",children:[e.jsx(he,{size:15,className:"mt-0.5 shrink-0 text-success"}),e.jsx("p",{children:a.kind==="backup"?t("templates.backupSafety",{archived:a.archivedBots?t("templates.archivedBots",{count:a.archivedBots}):""}):m?a.members.length?t("orgLibrary.teamSafety"):t("orgLibrary.librarySafety"):a.library?t("teamImport.librarySafety"):a.version===2?t("teamImport.sharedTeamSafety"):a.kind==="package"?t("templates.packageSafety"):t("templates.legacySafety")})]})]})}async function _t(a,c){for(const m of c??[])await fetch(`/api/limix/skill-store/${encodeURIComponent(a)}`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:m,add:!0})}).catch(()=>{})}const Yt={gmail:"Gmail",github:"GitHub",discord:"Discord",slack:"Slack",googlecalendar:"Google Calendar",notion:"Notion",linear:"Linear",figma:"Figma",gong:"Gong",hubspot:"HubSpot",postiz:"Postiz"},Ge={everyday:"readyBots.category.everyday",work:"readyBots.category.work",writing:"readyBots.category.writing",design:"readyBots.category.design",sales:"readyBots.category.sales",personal:"readyBots.category.personal"},ge=()=>It.map(a=>{const c=Tt(a);return{id:a.id,name:a.name,title:c.title,category:a.category,description:c.description,try:c.tryAsking,look:a.look,apps:a.apps,routines:a.routines?.length??0,builtIn:!0}});let K=null;const Ht=(a,c)=>{const m=c.trim().toLowerCase();return!m||[a.name,a.title,a.description,a.category].some(x=>x.toLowerCase().includes(m))};function Kt({search:a,onDialog:c,onAdded:m,onRefresh:x}){const{state:d,dispatch:b}=qe(),[f,S]=i.useState(null),[p,y]=i.useState(K),[T,F]=i.useState(!1),[C,G]=i.useState(null),[M,B]=i.useState(""),[L,O]=i.useState(null),[o,E]=i.useState(!1),[ce,J]=i.useState("");i.useEffect(()=>{let n=!0;return k("/api/limix/bots").then(({bots:u})=>{if(!n)return;const R=u.length?u.map(Y=>({...Y,builtIn:!1})):ge();K=u.length?R:null,y(R),F(!1)}).catch(()=>{n&&(y(K??ge()),F(!K))}),()=>{n=!1}},[]);const U=()=>{O(null),c(!1)},q=async()=>{if(!o){E(!0),B(""),J(""),x?.();try{const{bots:n}=await k("/api/limix/bots/refresh",{method:"POST"}),u=n.length?n.map(R=>({...R,builtIn:!1})):ge();K=n.length?u:null,y(u),F(!1),J(z(`Đã cập nhật: ${n.length} bot mẫu`,`Updated: ${n.length} template bots`))}catch(n){const u=n instanceof Error?n.message:String(n);B(z(`Chưa cập nhật được kho mẫu: ${u}`,`Couldn't update the template library: ${u}`))}finally{E(!1)}}},W=async n=>{if(!(C||Ot(d))){if(B(""),window.ogb?.remoteClient?.active){b({type:"newBot",onCreated:m});return}if(n.builtIn){O({id:n.id}),c(!0);return}G(n.id);try{const{bot:u}=await k(`/api/limix/bots/${n.id}`);O({id:n.id,data:u,skills:u.skills}),c(!0)}catch(u){B(u instanceof Error?u.message:String(u))}finally{G(null)}}};if(!p)return e.jsxs("div",{className:"mb-8 flex items-center gap-2 py-6 text-[13px] text-ink-secondary",children:[e.jsx(w,{size:15,className:"animate-spin"}),t("templates.loading")]});const _=p.filter(n=>(!f||n.category===f)&&Ht(n,a));return a.trim()&&_.length===0?null:e.jsxs("section",{className:"mb-8","aria-labelledby":"ready-bots-title",children:[e.jsxs("div",{className:"mb-1 flex flex-wrap items-baseline justify-between gap-2",children:[e.jsx("h3",{id:"ready-bots-title",className:"text-[12px] font-medium text-ink-secondary",children:t("readyBots.title")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[e.jsx("p",{className:"text-[12px] text-ink-tertiary",role:"status","aria-live":"polite",children:ce||(T?z("Đang dùng bản có sẵn trong ứng dụng (chưa tải được kho mẫu).","Showing the bots built into the app (the template library could not be loaded)."):t("readyBots.subtitle"))}),e.jsxs("button",{type:"button",onClick:()=>{q()},disabled:o,title:z("Tải lại danh sách bot mẫu và nhóm mẫu mới nhất từ kho","Reload the newest template bots and teams from the library"),className:"flex h-8 items-center gap-1.5 rounded-full bg-raised px-3 text-[12px] font-medium text-ink hover:bg-raised-hover disabled:opacity-60 focus-visible:outline-2 focus-visible:outline-accent",children:[e.jsx($t,{size:13,"aria-hidden":"true",className:o?"animate-spin":void 0}),o?z("Đang cập nhật","Updating"):z("Cập nhật","Update")]})]})]}),e.jsx("div",{className:"mb-3 mt-2 flex flex-wrap gap-1.5",role:"group","aria-label":t("readyBots.categories"),children:[null,...zt].map(n=>e.jsx("button",{type:"button","aria-pressed":f===n,onClick:()=>S(n),className:N("rounded-full px-3 py-1 text-[13px] transition-colors",f===n?"bg-ink text-panel":"bg-raised/70 text-ink-secondary hover:text-ink"),children:n?t(Ge[n]):t("readyBots.all")},n??"all"))}),M&&e.jsx("p",{role:"alert",className:"mb-3 rounded-xl bg-danger/10 px-3 py-2 text-[13px] text-danger",children:M}),e.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-2 lg:grid-cols-3",children:_.map(n=>e.jsxs("article",{"data-ready-bot":n.id,className:"flex flex-col rounded-2xl border border-hairline/40 bg-card p-4",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(xt,{color:n.look.color,bodyId:n.look.mascotBody,size:40,animated:!1,label:n.name}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h4",{className:"truncate text-[14px] font-medium text-ink",children:n.name}),e.jsxs("p",{className:"truncate text-[12px] text-ink-secondary",children:[n.title," · ",t(Ge[n.category])]})]}),e.jsxs("button",{type:"button",onClick:()=>{W(n)},disabled:C!==null,"aria-label":z(`Dùng mẫu ${n.name}, ${n.title}`,`Use template ${n.name}, ${n.title}`),className:"flex h-8 shrink-0 items-center gap-1 rounded-full bg-raised px-3 text-[13px] font-medium text-ink hover:bg-raised-hover disabled:opacity-50 focus-visible:outline-2 focus-visible:outline-accent",children:[C===n.id?e.jsx(w,{size:14,className:"animate-spin","aria-hidden":"true"}):e.jsx(pt,{size:14,"aria-hidden":"true"}),z("Dùng mẫu","Use template")]})]}),e.jsx("p",{className:"mt-3 text-[13px] leading-[1.45] text-ink-secondary",children:n.description}),e.jsx("p",{className:"mt-2 text-[12px] italic text-ink-tertiary",children:t("readyBots.try",{prompt:n.try})}),(n.apps.length>0||n.routines>0)&&e.jsx("p",{className:"mt-auto pt-2 text-[12px] text-ink-tertiary",children:[n.apps.length>0&&t("readyBots.worksWith",{apps:n.apps.map(u=>Yt[u]??u).join(", ")}),n.routines>0&&t("readyBots.pausedRoutine")].filter(Boolean).join(" · ")})]},n.id))}),L&&He.createPortal(e.jsx(Bt,{readyBotId:L.id,readyBotData:L.data,onClose:U,onCreated:n=>{c(!1),_t(n.id,L.skills),m(n)}}),document.body)]})}const Me=["bg-cyan-500/15 text-cyan-300","bg-purple-500/15 text-purple-300","bg-emerald-500/15 text-emerald-300","bg-orange-500/15 text-orange-300"];function Jt({listing:a,busy:c,notice:m,error:x,onAdd:d,onDetails:b}){const f=a.organization.name;return e.jsxs("div",{children:[e.jsx("p",{className:"max-w-2xl text-[13px] leading-relaxed text-ink-secondary",children:t("orgLibrary.intro",{name:f})}),a.packages.length===0?e.jsx("p",{className:"mt-6 text-[13px] text-ink-secondary",children:t("orgLibrary.empty",{name:f})}):e.jsx("div",{className:"mt-4 grid grid-cols-1 gap-x-10 md:grid-cols-2",children:a.packages.map((S,p)=>e.jsx(qt,{entry:S,index:p,busy:c,onAdd:d,onDetails:b},S.packageId))}),m&&e.jsx("div",{role:"status",className:"mt-4 rounded-lg bg-raised/60 px-3 py-2 text-[13px] text-ink-secondary",children:m}),x&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:x})]})}function qt({entry:a,index:c,busy:m,onAdd:x,onDetails:d}){const b=Ke(a),f=ht(a),S=bt(a),p=m===a.packageId;return e.jsxs("article",{className:"flex min-h-[104px] items-center gap-3 border-b border-hairline/35 px-1 py-4",children:[e.jsx("div",{className:N("flex size-11 shrink-0 items-center justify-center rounded-xl",Me[c%Me.length]),children:e.jsx(ut,{size:20})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"truncate text-[14px] font-medium text-ink",children:a.name}),e.jsx("p",{className:"mt-0.5 truncate text-[13px] text-ink-secondary",children:a.tagline}),e.jsxs("p",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[12px] text-ink-tertiary",children:[e.jsx("span",{children:ft(a)}),f&&e.jsx("span",{className:"rounded-full bg-accent/10 px-2 py-0.5 text-accent-text",children:f}),a.release&&e.jsx("span",{children:a.release.version})]}),e.jsx("p",{className:"mt-0.5 truncate text-[12px] text-ink-tertiary",children:yt(a.contents)}),S.map(y=>e.jsx("p",{className:"mt-0.5 text-[12px] text-warning",children:y},y))]}),e.jsxs("div",{className:"flex shrink-0 flex-col items-end gap-1.5",children:[b==="add"&&e.jsxs("button",{onClick:()=>x(a),disabled:m!==null,"aria-label":t("orgLibrary.addAria",{name:a.name}),className:"flex min-w-[72px] items-center justify-center gap-1.5 rounded-full bg-accent px-3.5 py-2 text-[13px] font-medium text-white hover:bg-accent/90 disabled:opacity-40",children:[p&&e.jsx(w,{size:13,className:"animate-spin"}),p?t("orgLibrary.adding"):t("orgLibrary.add")]}),b==="added"&&e.jsxs("span",{className:"flex items-center gap-1 rounded-full bg-raised px-3 py-1.5 text-[12px] text-ink-secondary",children:[e.jsx(he,{size:13,className:"text-success"}),t("orgLibrary.added")]}),b==="updateApp"&&e.jsx("span",{className:"max-w-[140px] text-right text-[12px] text-ink-secondary",children:t("orgLibrary.updateApp")}),b==="notReady"&&e.jsx("span",{className:"text-[12px] text-ink-secondary",children:t("orgLibrary.notReady")}),b==="noRelease"&&e.jsx("span",{className:"text-[12px] text-ink-secondary",children:t("orgLibrary.noRelease")}),a.blob==="ready"&&e.jsx("button",{onClick:()=>d(a),disabled:m!==null,"aria-label":t("orgLibrary.detailsAria",{name:a.name}),className:"rounded-full px-2.5 py-1 text-[12px] text-ink-secondary hover:bg-raised hover:text-ink disabled:opacity-40",children:t("orgLibrary.details")})]})]})}const Wt="https://github.com/leomieo/limix-bot-teams",Ue=["cyan","red","purple","green","orange"];async function _e(a){if(window.ogb?.openExternal){await window.ogb.openExternal(a);return}const c=window.open(a,"_blank","noopener,noreferrer");c&&(c.opener=null)}function Qt(a,c){const m=new Map;for(const d of c){if(d.hidden)continue;const b=d.section?.trim()??"";m.set(b,(m.get(b)??0)+1)}return[...[...new Set([...a.map(d=>d.trim()).filter(Boolean),...m.keys()])].filter(d=>d!==""),""].flatMap(d=>m.get(d)?[{name:d,bots:m.get(d)}]:[])}function Ye({index:a}){return e.jsx("div",{className:N("flex size-11 shrink-0 items-center justify-center rounded-xl",$[a%$.length]),children:e.jsx(Je,{size:20})})}function os({onClose:a,onImported:c,returnFocusRef:m,initialUrl:x}){const{state:d,dispatch:b}=qe(),f=i.useRef(null),S=i.useRef(null),[p,y]=i.useState("explore"),[T,F]=i.useState(null),[C,G]=i.useState(!0),[M,B]=i.useState(""),[L,O]=i.useState(null),[o,E]=i.useState(null),[ce,J]=i.useState("file"),[U,q]=i.useState(""),[W,_]=i.useState(!1),[n,u]=i.useState(!1),[R,Y]=i.useState(!1),[Q,Qe]=i.useState(""),[P,h]=i.useState(""),[be,fe]=i.useState(""),[X,ye]=i.useState(!1),[j,je]=i.useState(null),[Xe,Ve]=i.useState(""),[V,de]=i.useState(null),[ke,Ne]=i.useState(new Set),[ve,we]=i.useState(""),[Z,Se]=i.useState(!1),[ee,Ce]=i.useState(null),[Le,Ze]=i.useState(!1),[te,Ee]=i.useState(null),[et,se]=i.useState(null),[tt,ze]=i.useState(""),[st,ae]=i.useState(""),[A,re]=i.useState(null),I=i.useRef(!1),D=i.useRef(0),me=d.bots.filter(s=>!s.hidden).length,Be=Qt(d.sections??[],d.bots),at=new Set(d.bots.map(s=>s.name.trim().toLowerCase())),rt=o?.members.map(s=>Nt(s.name,at))??[],ne=i.useCallback(async(s=!1)=>{G(!0),B("");try{F(await k(`/api/team-library/catalog${s?"?fresh=1":""}`))}catch(r){B(r instanceof Error?r.message:String(r))}finally{G(!1)}},[]);i.useEffect(()=>{ne()},[ne]);const ie=i.useCallback(async()=>{try{const s=await k("/api/org-library");Ee(s),s.organization&&!I.current&&y("org")}catch{Ee({organization:null,packages:[]})}},[]);i.useEffect(()=>{ie()},[ie]),i.useEffect(()=>(f.current?.focus(),()=>m.current?.focus()),[m]),i.useEffect(()=>{const s=r=>{if(ee!==null||Le)return;if(r.key==="Escape"&&!n){r.preventDefault(),r.stopPropagation(),o?(E(null),re(null)):a();return}if(r.key!=="Tab")return;const l=f.current,g=Array.from(l?.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), [tabindex]:not([tabindex="-1"])')??[]);if(!l||g.length===0)return;const v=g[0],le=g.at(-1);r.shiftKey&&(document.activeElement===v||!l.contains(document.activeElement))?(r.preventDefault(),le.focus()):!r.shiftKey&&document.activeElement===le&&(r.preventDefault(),v.focus())};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[n,a,o,ee,Le]);const xe=(s,r)=>{E(s),J(r),h("")},Ie=async s=>{if(s.size>kt)throw new Error(t("templates.fileTooLarge"));const r=await s.text();let l=r;if(!s.name.toLowerCase().endsWith(".md"))try{l=JSON.parse(r)}catch(g){throw g instanceof SyntaxError?new Error(t("teamLibrary.invalidJson")):g}xe(ue(l),"file")},nt=async s=>{O(s.slug),h("");try{xe(ue(await k(`/api/team-library/teams/${s.slug}`)),"library")}catch(r){h(r instanceof Error?r.message:String(r))}finally{O(null)}},Te=async()=>{await Oe(U)},Oe=async s=>{if(s.trim()){_(!0),h("");try{const r=await k("/api/team-library/github",{method:"POST",body:JSON.stringify({url:s.trim()})});xe(ue(r),"github")}catch(r){h(r instanceof Error?r.message:String(r))}finally{_(!1)}}};i.useEffect(()=>{x&&(I.current=!0,y("import"),q(x),Oe(x))},[x]);const it=async()=>{if(o){u(!0),h("");try{const s=await vt(o.manifest,b);oe("team_imported",{members:s.bots.length,source:ce,mode:"add",format:o.kind}),c({name:o.name,members:s.bots.length,...s.connections?.length?{connections:s.connections.length}:{},...s.presets?.length?{presets:s.presets.length}:{}})}catch(s){h(s instanceof Error?s.message:String(s))}finally{u(!1)}}},lt=async s=>{se(s.packageId),ae("");try{const r=await k(`/api/org-library/packages/${s.packageId}`);E(jt(r.document)),re(s),h("")}catch(r){ae(r instanceof Error?r.message:String(r))}finally{se(null)}},Re=async s=>{se(s.packageId),u(!0),ae(""),ze(""),h("");try{const r=await k("/api/org-library/add",{method:"POST",body:JSON.stringify({packageId:s.packageId})});for(const g of r.bots??[])b({type:"botAdded",bot:g});for(const g of r.groups??[])b({type:"groupPatched",group:g});for(const g of r.routines??[])b({type:"routinePatched",routine:g});const l=r.bots?.find(g=>!g.hidden);if(oe("team_imported",{members:r.bots?.length??0,source:"organization",mode:"add",format:"package"}),l){b({type:"select",id:l.id}),c({name:s.name,members:r.bots.length,...r.connections?.length?{connections:r.connections.length}:{}});return}E(null),re(null),r.alreadyAdded||ze(t("orgLibrary.addedSkills",{name:s.name})),await ie()}catch(r){const l=r instanceof Error?r.message:String(r);A?h(l):ae(l),await ie()}finally{se(null),u(!1)}},H=be.trim(),pe=async s=>{const r=++D.current;ye(!0),h(""),je(null),de(null),Ne(new Set);try{const l=await k(`/api/teams/scout?cwd=${encodeURIComponent(s)}`);if(r!==D.current)return;je(l),Ve(s),we(l.suggestion.roomName),oe("team_scouted",{signals:l.suggestion.manifest.team.members.length-1}),k(`/api/teams/scout/directory?cwd=${encodeURIComponent(s)}`).then(g=>{r===D.current&&de(g.directory)}).catch(()=>{r===D.current&&de([])})}catch(l){if(r!==D.current)return;h(l instanceof Error?l.message:String(l))}finally{r===D.current&&ye(!1)}},ot=async()=>{const s=await window.ogb?.pickFolder?.(H||void 0);s&&(fe(s),await pe(s))},ct=async()=>{if(!(!j||Z)){Se(!0),h("");try{const s=(V??[]).filter(v=>ke.has(v.slug)).map((v,le)=>({key:`dir-${v.slug}`,name:v.name,title:v.category||t("templates.communityBot"),description:v.prompt,appearance:{color:Ue[le%Ue.length]}})),r={...j.suggestion.manifest,team:{...j.suggestion.manifest.team,members:[...j.suggestion.manifest.team.members,...s]}},l=ve.trim()||j.suggestion.roomName,g=await k(`/api/teams/import?mode=project&cwd=${encodeURIComponent(Xe)}&room=${encodeURIComponent(l)}`,{method:"POST",body:JSON.stringify(r)});for(const v of g.bots)b({type:"botAdded",bot:v});g.group&&(b({type:"groupPatched",group:{...g.group,messages:[]}}),b({type:"select",id:g.group.id})),oe("team_imported",{members:g.bots.length,source:"scout",mode:"project"}),c({name:l,members:g.bots.length})}catch(s){h(s instanceof Error?s.message:String(s))}finally{Se(!1)}}},Pe=Q.trim().toLowerCase(),Ae=(T?.teams??[]).filter(s=>!Pe||Mt(s,Pe));return He.createPortal(e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/55 p-4 sm:p-6",onMouseDown:s=>s.target===s.currentTarget&&!n&&a(),children:[e.jsxs("div",{ref:f,role:"dialog","aria-modal":"true","aria-labelledby":"team-library-title",tabIndex:-1,className:"animate-pop-in flex h-[min(780px,calc(100dvh-2rem))] w-full max-w-[1040px] flex-col overflow-hidden rounded-2xl border border-hairline/50 bg-panel shadow-2xl shadow-black/50 outline-none",children:[e.jsxs("header",{className:"flex items-start justify-between gap-4 px-6 pb-3 pt-6 sm:px-8 sm:pt-7",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[o&&e.jsx("button",{onClick:()=>{E(null),re(null),h("")},disabled:n,className:"rounded-lg p-1.5 text-ink-secondary hover:bg-raised hover:text-ink disabled:opacity-50","aria-label":t("templates.back"),children:e.jsx(Rt,{size:18})}),e.jsx("h2",{id:"team-library-title",className:"truncate text-[22px] font-semibold tracking-[-0.01em] text-ink",children:o?o.name:t("templates.title")})]}),e.jsx("p",{className:N("mt-1 text-[13px] text-ink-secondary",o&&"ml-9"),children:o?o.kind==="backup"?t("templates.backupSummary",{bots:o.members.length,conversations:o.conversations??0}):o.kind==="package"?o.library?t("teamImport.library"):o.version===2?t("teamImport.sharedTeam",{count:o.members.length}):t("templates.playbookSummary",{count:o.members.length}):t("templates.readyBots",{count:o.members.length}):t("templates.subtitle")})]}),e.jsxs("div",{className:"flex shrink-0 items-center gap-1",children:[!o&&e.jsxs("button",{onClick:()=>{_e(T?.repositoryUrl??Wt)},className:"flex items-center gap-1.5 rounded-lg px-2.5 py-2 text-[13px] text-ink-secondary hover:bg-raised hover:text-ink",title:t("templates.openRepository"),children:[e.jsx(Fe,{size:16}),e.jsx("span",{className:"max-sm:hidden",children:t("templates.communityRepo")}),e.jsx(De,{size:12})]}),e.jsx("button",{onClick:a,disabled:n,className:"rounded-lg p-2 text-ink-secondary hover:bg-raised hover:text-ink disabled:opacity-50","aria-label":t("templates.close"),children:e.jsx(dt,{size:21})})]})]}),o?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-6 pt-6 sm:px-8",children:[e.jsx(Ut,{pending:o,importedNames:rt,org:A!==null}),P&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:P})]}),e.jsxs("footer",{className:"flex flex-col gap-3 border-t border-hairline/35 px-6 py-4 sm:flex-row sm:items-center sm:justify-between sm:px-8",children:[e.jsxs("div",{className:"text-[13px] text-ink-secondary",children:[t(me===0?"templates.existingNone":me===1?"templates.existingOne":"templates.existingMany",{count:me})," ",o.kind==="backup"?t("teamImport.backupCopies"):o.library?t("teamImport.libraryAdds"):o.members.length===0?"":t("teamImport.newSection",{name:o.teamName??o.name})]}),A?Ke(A)==="add"?e.jsxs("button",{onClick:()=>{Re(A)},disabled:n,"aria-label":t("orgLibrary.addAria",{name:A.name}),className:"flex shrink-0 items-center justify-center gap-2 rounded-full bg-accent px-5 py-2.5 text-[14px] font-medium text-white hover:bg-accent/90 disabled:opacity-60",children:[n&&e.jsx(w,{size:15,className:"animate-spin"}),n?t("orgLibrary.adding"):t("orgLibrary.add")]}):e.jsxs("span",{className:"flex shrink-0 items-center gap-1 rounded-full bg-raised px-4 py-2 text-[13px] text-ink-secondary",children:[e.jsx(he,{size:14,className:"text-success"}),t("orgLibrary.added")]}):e.jsxs("button",{onClick:()=>{it()},disabled:n,className:"flex shrink-0 items-center justify-center gap-2 rounded-full bg-accent px-5 py-2.5 text-[14px] font-medium text-white hover:bg-accent/90 disabled:opacity-60",children:[n&&e.jsx(w,{size:15,className:"animate-spin"}),n?t("templates.importing"):o.kind==="backup"?t("templates.importBackup"):o.library?t("teamImport.addPresets"):t("templates.addTeam")]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col gap-3 px-6 pb-4 pt-5 sm:flex-row sm:items-center sm:justify-between sm:px-8",children:[e.jsxs("div",{className:"flex w-fit rounded-xl bg-raised/70 p-1",role:"tablist","aria-label":t("templates.source"),children:[te?.organization&&e.jsx("button",{role:"tab","aria-selected":p==="org",onClick:()=>{I.current=!0,y("org"),h("")},className:N("max-w-[220px] truncate rounded-lg px-4 py-2 text-[14px] transition-colors",p==="org"?"bg-card text-ink shadow-sm":"text-ink-secondary hover:text-ink"),children:t("orgLibrary.tab",{name:te.organization.name})}),e.jsx("button",{role:"tab","aria-selected":p==="explore",onClick:()=>{I.current=!0,y("explore"),h("")},className:N("rounded-lg px-4 py-2 text-[14px] transition-colors",p==="explore"?"bg-card text-ink shadow-sm":"text-ink-secondary hover:text-ink"),children:t("templates.explore")}),e.jsx("button",{role:"tab","aria-selected":p==="import",onClick:()=>{I.current=!0,y("import"),h("")},className:N("rounded-lg px-4 py-2 text-[14px] transition-colors",p==="import"?"bg-card text-ink shadow-sm":"text-ink-secondary hover:text-ink"),children:t("templates.import")}),e.jsx("button",{role:"tab","aria-selected":p==="scout",onClick:()=>{I.current=!0,y("scout"),h("")},className:N("rounded-lg px-4 py-2 text-[14px] transition-colors",p==="scout"?"bg-card text-ink shadow-sm":"text-ink-secondary hover:text-ink"),children:t("templates.fromFolder")}),e.jsx("button",{role:"tab","aria-selected":p==="share",onClick:()=>{I.current=!0,y("share"),h("")},className:N("rounded-lg px-4 py-2 text-[14px] transition-colors",p==="share"?"bg-card text-ink shadow-sm":"text-ink-secondary hover:text-ink"),children:t("teamLibrary.shareTab")})]}),p==="explore"&&e.jsxs("label",{className:"flex h-11 w-full items-center gap-2.5 rounded-xl bg-raised/70 px-3.5 sm:w-[320px]",children:[e.jsx(mt,{size:17,className:"shrink-0 text-ink-secondary"}),e.jsx("input",{value:Q,onChange:s=>Qe(s.target.value),placeholder:t("templates.search"),"aria-label":t("templates.search"),className:"min-w-0 flex-1 bg-transparent text-[14px] text-ink placeholder:text-ink-secondary focus:outline-none"})]})]}),e.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 pb-7 pt-5 sm:px-8",children:[p==="org"&&te?.organization&&e.jsx(Jt,{listing:te,busy:et,notice:tt,error:st,onAdd:s=>{Re(s)},onDetails:s=>{lt(s)}}),p==="explore"&&e.jsxs("div",{children:[e.jsx(Kt,{search:Q,onRefresh:()=>{ne(!0)},onDialog:Ze,onAdded:a}),e.jsx("div",{className:"mb-3 text-[12px] font-medium text-ink-secondary",children:Q?t("templates.searchResults"):t("templates.communityTemplates")}),C&&e.jsxs("div",{className:"flex items-center justify-center gap-2 py-24 text-[13px] text-ink-secondary",children:[e.jsx(w,{size:16,className:"animate-spin"})," ",t("templates.loading")]}),!C&&M&&e.jsxs("div",{className:"rounded-xl bg-danger/10 p-4 text-[13px] text-danger",children:[e.jsx("p",{children:M}),e.jsx("button",{onClick:()=>{ne()},className:"mt-3 rounded-full bg-raised px-3.5 py-2 text-ink hover:bg-raised-hover",children:t("common.tryAgain")})]}),!C&&T&&e.jsx("div",{className:"grid grid-cols-1 gap-x-10 md:grid-cols-2",children:Ae.map((s,r)=>{const l=We(s);return e.jsxs("article",{className:"flex min-h-[104px] items-center gap-3 border-b border-hairline/35 px-1 py-4",children:[e.jsx(Ye,{index:r}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"truncate text-[14px] font-medium text-ink",children:l.name}),e.jsx("p",{className:"mt-0.5 truncate text-[13px] text-ink-secondary",children:l.outcome??l.summary}),e.jsxs("p",{className:"mt-1 truncate text-[12px] text-ink-tertiary",children:[t("templates.botCount",{count:s.members})," · ",t("templates.playbookCount",{count:s.skills.length}),s.requires.apps.length>0&&` · ${s.requires.apps.join(", ")}`,s.setupMinutes&&` · ${t("templates.minutes",{count:s.setupMinutes})}`]})]}),e.jsxs("button",{onClick:()=>{nt(s)},disabled:L!==null,className:"flex min-w-[72px] items-center justify-center gap-1.5 rounded-full bg-raised px-3.5 py-2 text-[13px] text-ink hover:bg-raised-hover disabled:opacity-40",children:[L===s.slug&&e.jsx(w,{size:13,className:"animate-spin"}),L===s.slug?t("templates.loadingShort"):t("templates.load")]})]},s.slug)})}),!C&&T&&Ae.length===0&&e.jsxs("div",{className:"flex min-h-56 flex-col items-center justify-center text-center",children:[e.jsx("div",{className:"text-[14px] font-medium text-ink",children:t("templates.noneFound")}),e.jsx("div",{className:"mt-1 text-[13px] text-ink-secondary",children:t("templates.tryDifferentSearch")})]})]}),p==="import"&&e.jsxs("div",{children:[e.jsx("input",{ref:S,type:"file",accept:".md,.json,.mausbackup.json,.mausteam.json,text/markdown,application/json",className:"hidden",onChange:s=>{const r=s.currentTarget.files?.[0];s.currentTarget.value="",r&&Ie(r).catch(l=>h(l instanceof Error?l.message:String(l)))}}),e.jsx("div",{className:"mb-3 text-[12px] font-medium text-ink-secondary",children:t("templates.bringYourOwn")}),e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsxs("button",{onClick:()=>S.current?.click(),onDragEnter:s=>{s.preventDefault(),Y(!0)},onDragOver:s=>s.preventDefault(),onDragLeave:()=>Y(!1),onDrop:s=>{s.preventDefault(),Y(!1);const r=s.dataTransfer.files[0];r&&Ie(r).catch(l=>h(l instanceof Error?l.message:String(l)))},className:N("flex min-h-56 flex-col items-center justify-center rounded-2xl border border-dashed px-6 text-center transition-colors",R?"border-accent bg-accent/5":"border-hairline/60 bg-raised/20 hover:bg-raised/35"),children:[e.jsx(gt,{size:27,className:"text-accent"}),e.jsx("span",{className:"mt-3 text-[14px] font-medium text-ink",children:t("templates.chooseFile")}),e.jsx("span",{className:"mt-1 text-[13px] text-ink-secondary",children:t("templates.dropFile")})]}),e.jsxs("div",{className:"flex min-h-56 flex-col justify-center rounded-2xl bg-raised/25 px-6",children:[e.jsx(Fe,{size:25,className:"text-ink-secondary"}),e.jsx("h3",{className:"mt-3 text-[14px] font-medium text-ink",children:t("templates.loadGithub")}),e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:t("templates.githubHint")}),e.jsxs("div",{className:"mt-4 flex gap-2",children:[e.jsx("input",{value:U,onChange:s=>q(s.target.value),onKeyDown:s=>s.key==="Enter"&&void Te(),placeholder:t("templates.githubPlaceholder"),"aria-label":t("templates.githubUrl"),className:"min-w-0 flex-1 rounded-xl bg-raised/80 px-3 py-2.5 text-[13px] text-ink placeholder:text-ink-secondary focus:outline-none"}),e.jsxs("button",{onClick:()=>{Te()},disabled:!U.trim()||W,className:"flex items-center gap-1.5 rounded-full bg-accent px-4 py-2.5 text-[13px] font-medium text-white hover:bg-accent/90 disabled:opacity-40",children:[W&&e.jsx(w,{size:13,className:"animate-spin"}),t("templates.load")]})]})]})]}),P&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:P})]}),p==="share"&&e.jsxs("div",{children:[e.jsx("p",{className:"max-w-2xl text-[13px] leading-relaxed text-ink-secondary",children:t("teamLibrary.shareIntro")}),Be.length===0?e.jsx("p",{className:"mt-6 text-[13px] text-ink-secondary",children:t("teamLibrary.shareEmpty")}):e.jsx("div",{className:"mt-4 grid grid-cols-1 gap-x-10 md:grid-cols-2",children:Be.map((s,r)=>e.jsxs("article",{className:"flex min-h-[84px] items-center gap-3 border-b border-hairline/35 px-1 py-4",children:[e.jsx(Ye,{index:r}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("h3",{className:"truncate text-[14px] font-medium text-ink",children:s.name||t("teamLibrary.general")}),e.jsx("p",{className:"mt-0.5 text-[13px] text-ink-secondary",children:t("teamLibrary.shareBots",{count:s.bots})})]}),e.jsxs("button",{onClick:()=>Ce(s.name),"aria-label":t("teamLibrary.shareTeamAria",{name:s.name||t("teamLibrary.general")}),className:"flex items-center gap-1.5 rounded-full bg-raised px-3.5 py-2 text-[13px] text-ink hover:bg-raised-hover",children:[e.jsx(Pt,{size:13}),t("teamLibrary.shareTeam")]})]},s.name||"general"))})]}),p==="scout"&&e.jsxs("div",{children:[e.jsx("div",{className:"mb-3 text-[12px] font-medium text-ink-secondary",children:t("templates.startFolder")}),e.jsx("p",{className:"max-w-2xl text-[13px] leading-relaxed text-ink-secondary",children:t("templates.scoutHint")}),e.jsxs("div",{className:"mt-4 flex flex-col gap-2 sm:flex-row",children:[e.jsx("input",{value:be,onChange:s=>fe(s.target.value),onKeyDown:s=>s.key==="Enter"&&H&&void pe(H),placeholder:"/path/to/your/project","aria-label":t("templates.projectFolder"),className:"min-w-0 flex-1 rounded-xl bg-raised/80 px-3 py-2.5 text-[13px] text-ink placeholder:text-ink-secondary focus:outline-none"}),!!window.ogb?.pickFolder&&e.jsxs("button",{onClick:()=>{ot()},disabled:X,className:"flex items-center justify-center gap-1.5 rounded-full bg-raised px-4 py-2.5 text-[13px] text-ink hover:bg-raised-hover disabled:opacity-40",children:[e.jsx(At,{size:14}),t("templates.browse")]}),e.jsxs("button",{onClick:()=>{pe(H)},disabled:!H||X,className:"flex items-center justify-center gap-1.5 rounded-full bg-accent px-4 py-2.5 text-[13px] font-medium text-white hover:bg-accent/90 disabled:opacity-40",children:[X?e.jsx(w,{size:14,className:"animate-spin"}):e.jsx(Dt,{size:14}),X?t("templates.scouting"):t("templates.scout")]})]}),j&&e.jsxs("div",{className:"mt-6",children:[e.jsxs("div",{className:"rounded-2xl bg-raised/25 px-5 py-4",children:[e.jsx("div",{className:"text-[15px] font-semibold text-ink",children:j.profile.name}),j.profile.summary&&e.jsx("p",{className:"mt-1 text-[13px] leading-relaxed text-ink-secondary",children:j.profile.summary}),j.profile.stacks.length>0&&e.jsx("div",{className:"mt-2.5 flex flex-wrap gap-1.5",children:j.profile.stacks.map(s=>e.jsx("span",{className:"rounded-full bg-raised px-2.5 py-1 text-[12px] text-ink-secondary",children:s},s))})]}),e.jsx("div",{className:"mt-5 text-[12px] font-medium text-ink-secondary",children:t("templates.suggestedTeam")}),e.jsx("div",{className:"mt-1 grid grid-cols-1 gap-x-10 md:grid-cols-2",children:j.suggestion.manifest.team.members.map((s,r)=>e.jsxs("div",{className:"flex min-h-[64px] items-center gap-3 border-b border-hairline/35 px-1 py-3",children:[e.jsx("div",{className:N("flex size-9 shrink-0 items-center justify-center rounded-lg text-[13px] font-semibold",$[r%$.length]),children:s.name.slice(0,1).toUpperCase()}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"truncate text-[14px] font-medium text-ink",children:[s.name," ",e.jsxs("span",{className:"font-normal text-ink-secondary",children:["· ",s.title]})]}),e.jsx("div",{className:"mt-0.5 truncate text-[12px] text-ink-secondary",children:j.suggestion.reasons[s.key]??""})]})]},s.key))}),V&&V.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-5 text-[12px] font-medium text-ink-secondary",children:t("templates.communityDirectory")}),e.jsx("div",{className:"mt-1 flex flex-col",children:V.map(s=>e.jsxs("div",{className:"flex items-center gap-3 border-b border-hairline/35 px-1 py-3",children:[e.jsxs("label",{className:"flex min-w-0 flex-1 cursor-pointer items-center gap-3",children:[e.jsx("input",{type:"checkbox",checked:ke.has(s.slug),onChange:()=>Ne(r=>{const l=new Set(r);return l.has(s.slug)?l.delete(s.slug):l.add(s.slug),l}),className:"size-4 accent-accent"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"truncate text-[14px] font-medium text-ink",children:[s.name,s.category&&e.jsxs("span",{className:"font-normal text-ink-secondary",children:[" · ",s.category]})]}),e.jsx("div",{className:"mt-0.5 truncate text-[12px] text-ink-secondary",children:t("templates.matches",{values:s.matched.join(", ")})})]})]}),e.jsx("button",{onClick:()=>{_e(s.detailUrl)},"aria-label":t("templates.openDirectory",{name:s.name}),title:t("templates.readBeforeAdding"),className:"rounded-lg p-1.5 text-ink-secondary hover:bg-raised hover:text-ink",children:e.jsx(De,{size:14})})]},s.slug))})]}),e.jsxs("div",{className:"mt-6 flex flex-col gap-3 sm:flex-row sm:items-center",children:[e.jsx("input",{value:ve,onChange:s=>we(s.target.value),"aria-label":t("templates.groupChatName"),className:"min-w-0 flex-1 rounded-xl bg-raised/80 px-3 py-2.5 text-[13px] text-ink placeholder:text-ink-secondary focus:outline-none"}),e.jsxs("button",{onClick:()=>{ct()},disabled:Z,className:"flex shrink-0 items-center justify-center gap-2 rounded-full bg-accent px-5 py-2.5 text-[14px] font-medium text-white hover:bg-accent/90 disabled:opacity-60",children:[Z&&e.jsx(w,{size:15,className:"animate-spin"}),Z?t("templates.creating"):t("templates.createGroupChat")]})]}),e.jsx("p",{className:"mt-2 text-[12px] text-ink-secondary",children:t("templates.createGroupHint")})]}),P&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:P})]})]})]})]}),ee!==null&&e.jsx(Ft,{team:ee,onClose:()=>Ce(null)})]}),document.body)}export{Ut as TeamImportDetails,os as TeamLibraryPanel,Qt as shareableTeamList};