limixbot 0.3.24 → 0.3.25
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.
- package/dist/assets/{ActivityPanel-BjjmX49M.js → ActivityPanel-CgPkGKZZ.js} +1 -1
- package/dist/assets/{App-BWtQhGWp.js → App-lurtH-qI.js} +9 -9
- package/dist/assets/{AppEventEditor-Bq1-MGxi.js → AppEventEditor-G_71EWui.js} +1 -1
- package/dist/assets/BotSettingsDialog-BUvuLu53.js +16 -0
- package/dist/assets/{BrowserPanel-CPLcno_m.js → BrowserPanel-DrKZNyYB.js} +1 -1
- package/dist/assets/{BrowserProfilesManager-D9JsCp1k.js → BrowserProfilesManager-CtiUbbdv.js} +1 -1
- package/dist/assets/{CloudAddDialog-DcmN7A5a.js → CloudAddDialog-D4BX2927.js} +1 -1
- package/dist/assets/{ComputerFilesPane-Bjx6TGmM.js → ComputerFilesPane-RnmlJhlD.js} +1 -1
- package/dist/assets/{ComputerPanel-C9Xx4Ifs.js → ComputerPanel-D8upQSmd.js} +2 -2
- package/dist/assets/{DataPanel-IfpQCi3b.js → DataPanel-MZcku4SL.js} +1 -1
- package/dist/assets/{DesktopViewer-RjjUUlrQ.js → DesktopViewer-p7N7cqle.js} +1 -1
- package/dist/assets/{FilesView-D_0GwHAN.js → FilesView-CDbtoPxh.js} +1 -1
- package/dist/assets/{GrokMoveDialog-CUie-0en.js → GrokMoveDialog-BebZb43R.js} +1 -1
- package/dist/assets/{InspectorPanel-BuFL6wWf.js → InspectorPanel-BMkRIuTz.js} +1 -1
- package/dist/assets/{KeyboardShortcutsModal-uOhXagTA.js → KeyboardShortcutsModal-3XyVcNTZ.js} +1 -1
- package/dist/assets/{LiveDesktop-BwpZa-Ri.js → LiveDesktop-BkRR5lCn.js} +1 -1
- package/dist/assets/{LocalVmWorkspace-CousHKOb.js → LocalVmWorkspace-9l9iWtAy.js} +1 -1
- package/dist/assets/{MacLocalControl-BKDzplO2.js → MacLocalControl-B45d0l7H.js} +1 -1
- package/dist/assets/{MarkdownFilePreview-CCwc1Tek.js → MarkdownFilePreview-ChR-f9oD.js} +1 -1
- package/dist/assets/{MenuMotion-CSgaJLc2.js → MenuMotion-BBaxdyL_.js} +1 -1
- package/dist/assets/{NewBotDialog-BtvoCpqN.js → NewBotDialog-C_uQRhxy.js} +1 -1
- package/dist/assets/{PhoneAppDialog-C1hIwyT8.js → PhoneAppDialog-CDO1xUXD.js} +1 -1
- package/dist/assets/{PlacesRail-PP97GpM6.js → PlacesRail-iu-rjh5s.js} +1 -1
- package/dist/assets/{PluginsPanel-DpUEC1zc.js → PluginsPanel-DlQBRYQB.js} +1 -1
- package/dist/assets/{ProIntroduction-C-7uexIW.js → ProIntroduction-RbtTSiR6.js} +1 -1
- package/dist/assets/{RemoteAgentSettingsPanel-DtofJtgF.js → RemoteAgentSettingsPanel-C8r-80J4.js} +1 -1
- package/dist/assets/{RoomPanel-CHbgQ0xd.js → RoomPanel-BIUTnm5N.js} +1 -1
- package/dist/assets/{RoutinesPage-ZdFTYQc-.js → RoutinesPage-DROK-336.js} +1 -1
- package/dist/assets/{SettingsModal-Cdz3bEYZ.js → SettingsModal--yYGUYK2.js} +3 -3
- package/dist/assets/{ShareTeamDialog-CNu6Kwet.js → ShareTeamDialog-CVnQoRVQ.js} +1 -1
- package/dist/assets/{SignedInSites-CyWcDbLW.js → SignedInSites-B-iBIlfL.js} +1 -1
- package/dist/assets/TeamLibraryPanel-CwVaJVC_.js +1 -0
- package/dist/assets/{TeamMapPage-C2PnNdil.js → TeamMapPage-kXk9hCNu.js} +1 -1
- package/dist/assets/{TriggersPage-B_br6xBZ.js → TriggersPage-prZBUP3d.js} +1 -1
- package/dist/assets/{VisibilitySection-DH0WrBCn.js → VisibilitySection-DJjvTyLx.js} +1 -1
- package/dist/assets/{WebhookTrigger-BASBoMb_.js → WebhookTrigger-BAFikH71.js} +1 -1
- package/dist/assets/{WorksOnGrid-CboITAAs.js → WorksOnGrid-DJmfLtP8.js} +1 -1
- package/dist/assets/{abnfDiagram-YUKMZFIV-CJ69o_vp.js → abnfDiagram-YUKMZFIV-DUI6uevQ.js} +1 -1
- package/dist/assets/{activity-BdRjGS2C.js → activity-DVLFekjx.js} +1 -1
- package/dist/assets/{architectureDiagram-47P4ROYG-BH57AmKC.js → architectureDiagram-47P4ROYG-CMELW5_4.js} +1 -1
- package/dist/assets/{blockDiagram-E7TT5TSB-D3ebMs_o.js → blockDiagram-E7TT5TSB-C3xD0z1e.js} +1 -1
- package/dist/assets/{c4Diagram-CRA5TL53-6TrdcGZR.js → c4Diagram-CRA5TL53-Cm9X0GEV.js} +1 -1
- package/dist/assets/{calendar-days-DiMBTH2e.js → calendar-days-CDvwJ_d4.js} +1 -1
- package/dist/assets/channel-CsOUN1ZX.js +1 -0
- package/dist/assets/{chunk-2Q5K7J3B-BemwHdji.js → chunk-2Q5K7J3B-LWcbjcjL.js} +1 -1
- package/dist/assets/{chunk-5VM5RSS4-CQZbLBld.js → chunk-5VM5RSS4-B3rNoWeE.js} +1 -1
- package/dist/assets/{chunk-7TKQ45FW-Dy6EXFTX.js → chunk-7TKQ45FW-FL9R0rHe.js} +1 -1
- package/dist/assets/{chunk-AW2ZBBNX-BbKGGyK8.js → chunk-AW2ZBBNX-JRef_4rd.js} +1 -1
- package/dist/assets/{chunk-FVRAUYC3-DHqUalc2.js → chunk-FVRAUYC3-C__loQFR.js} +2 -2
- package/dist/assets/{chunk-HTAEGDNF-B66Vjlwq.js → chunk-HTAEGDNF-Bx74_xmN.js} +1 -1
- package/dist/assets/{chunk-JWPE2WC7-DrtdT6L3.js → chunk-JWPE2WC7-B20vr3uH.js} +1 -1
- package/dist/assets/{chunk-KQW6MTUR-t7RW8fFT.js → chunk-KQW6MTUR-DfO9J2pt.js} +1 -1
- package/dist/assets/{chunk-XXDRQBXY-CntyS42N.js → chunk-XXDRQBXY-BAPGqnqj.js} +1 -1
- package/dist/assets/{classDiagram-v2-K4WV4PDN-KlNCgeTt.js → classDiagram-v2-K4WV4PDN-C3VR3yN8.js} +1 -1
- package/dist/assets/{coins-BHKpT34i.js → coins-CueFc0mY.js} +1 -1
- package/dist/assets/{core-DEy6KDLR.js → core-Bw6kaGwe.js} +1 -1
- package/dist/assets/{cose-bilkent-JH36ORCC-C_cXoOGT.js → cose-bilkent-JH36ORCC-19p3m04s.js} +1 -1
- package/dist/assets/{cynefin-EF2NZ3EQ-DGuwW5zt.js → cynefin-EF2NZ3EQ-Tv0tce7B.js} +1 -1
- package/dist/assets/{cynefinDiagram-3GCD6N5R-qMzxXkVk.js → cynefinDiagram-3GCD6N5R-Iin0JwlW.js} +1 -1
- package/dist/assets/{dagre-W4DXFKR2-Q-osY3Yi.js → dagre-W4DXFKR2-00TRmSmB.js} +1 -1
- package/dist/assets/{diagram-2UJZ2QOL-DyVJSBOF.js → diagram-2UJZ2QOL-DslMBjKt.js} +1 -1
- package/dist/assets/{diagram-OVF4WLC6-C5qBFdpm.js → diagram-OVF4WLC6-C3o3f1eL.js} +1 -1
- package/dist/assets/{diagram-PFPMY2P6-C1PW3U2P.js → diagram-PFPMY2P6-RRy9F9wH.js} +1 -1
- package/dist/assets/{diagram-UMYRVEAY-D2pa0Mzi.js → diagram-UMYRVEAY-CWfRKtkp.js} +1 -1
- package/dist/assets/{diagram-YEKJPTXX-BIzOA1li.js → diagram-YEKJPTXX-SlJKvYay.js} +1 -1
- package/dist/assets/{diagram-ZIFT7M5P-B1UL3O8m.js → diagram-ZIFT7M5P-DqzI8_eN.js} +1 -1
- package/dist/assets/{ebnfDiagram-VR2GEFS7-Cxu-kU8s.js → ebnfDiagram-VR2GEFS7-CDsrBNMu.js} +1 -1
- package/dist/assets/{elk-IJKZMXRS-DJS39Bm9.js → elk-IJKZMXRS-iikFqO-X.js} +1 -1
- package/dist/assets/{erDiagram-O2IAPWRE-Cb31BS5L.js → erDiagram-O2IAPWRE-DzFCc0Gp.js} +1 -1
- package/dist/assets/{file-up-DWGlVRGP.js → file-up-BzW-KJx-.js} +1 -1
- package/dist/assets/{flowDiagram-OXPTDLAJ-BaPTzS6m.js → flowDiagram-OXPTDLAJ-U5nLRus2.js} +1 -1
- package/dist/assets/{ganttDiagram-R7TSEDQI-B_Lr-26i.js → ganttDiagram-R7TSEDQI-h7xqrZ23.js} +1 -1
- package/dist/assets/{gitGraphDiagram-XJZIOB7I-UHyDFX6a.js → gitGraphDiagram-XJZIOB7I-Bo9ZX2g5.js} +1 -1
- package/dist/assets/{import-name-Cxwtm5XO.js → import-name-BN_-MYip.js} +1 -1
- package/dist/assets/{index-BSrb6nsc.js → index-BEjJ5c6H.js} +2 -2
- package/dist/assets/{index-BME9PdWM.js → index-DkDFNBNq.js} +1 -1
- package/dist/assets/{infoDiagram-5W2HQ5XZ-B7ovBJYA.js → infoDiagram-5W2HQ5XZ-CAZmFoiz.js} +1 -1
- package/dist/assets/{ishikawaDiagram-K3B6WC7H-BYS-TlrF.js → ishikawaDiagram-K3B6WC7H-T1M7DtvG.js} +1 -1
- package/dist/assets/{journeyDiagram-COXZFDF6-jJxKYEtT.js → journeyDiagram-COXZFDF6-DzO0Gzq9.js} +1 -1
- package/dist/assets/{kanban-definition-P3RFRI5V-DyiFYaIK.js → kanban-definition-P3RFRI5V-C0fM1UHu.js} +1 -1
- package/dist/assets/{mcp-servers-DXFuhTlS.js → mcp-servers-C7oRQpN5.js} +1 -1
- package/dist/assets/{mermaid.core-D3YJgsiB.js → mermaid.core-mKZTdBWz.js} +4 -4
- package/dist/assets/{mindmap-definition-LZFPQGKD-DnbWodUY.js → mindmap-definition-LZFPQGKD-DEgoC28p.js} +1 -1
- package/dist/assets/{minimize-Af1aU3Tz.js → minimize-D-CvaOV-.js} +1 -1
- package/dist/assets/{monitor-DuYHWIyw.js → monitor-DRcE92Rj.js} +1 -1
- package/dist/assets/{new-bot-TwOnvVO1.js → new-bot-COj1uEQa.js} +1 -1
- package/dist/assets/{org-library-BLD6YHcM.js → org-library-BIb28h24.js} +1 -1
- package/dist/assets/{package-format-72bbOy2w.js → package-format-hON5OXLZ.js} +1 -1
- package/dist/assets/{pegDiagram-BGZESJAR-CcOuP6zx.js → pegDiagram-BGZESJAR-Vatn56u_.js} +1 -1
- package/dist/assets/{pieDiagram-CAPJLFHJ-DhCU7Sfy.js → pieDiagram-CAPJLFHJ-DniOgFo3.js} +1 -1
- package/dist/assets/{quadrantDiagram-GDMTTRAM-7OziX26h.js → quadrantDiagram-GDMTTRAM-BqhAQt5w.js} +1 -1
- package/dist/assets/{rail-DI2iZJYt.js → rail-BWcrFQ2_.js} +1 -1
- package/dist/assets/{railroadDiagram-SM67HX2B-rg44R4U2.js → railroadDiagram-SM67HX2B-CxHs3JOs.js} +1 -1
- package/dist/assets/{remote-desktop-panel-BPKKvcHT.js → remote-desktop-panel-9XdtvJrd.js} +1 -1
- package/dist/assets/{requirementDiagram-X7JNWC4A-DFNvg72O.js → requirementDiagram-X7JNWC4A-ChjhMFon.js} +1 -1
- package/dist/assets/{sankeyDiagram-UM26HJRW-CUOrQF2i.js → sankeyDiagram-UM26HJRW-B67bYF8E.js} +1 -1
- package/dist/assets/{sequenceDiagram-ZO4K6R2Y-4HKsH1wt.js → sequenceDiagram-ZO4K6R2Y-CTy7B-eu.js} +1 -1
- package/dist/assets/{sizeCapture-INFHLROL-BEXQDTx-.js → sizeCapture-INFHLROL-uy6qiY-2.js} +1 -1
- package/dist/assets/{stateDiagram-v2-TBUQTH76-BYBLUqiy.js → stateDiagram-v2-TBUQTH76-BvYYPNqL.js} +1 -1
- package/dist/assets/{styles-C2_XZv1s.js → styles-DlOxUga6.js} +1 -1
- package/dist/assets/{swimlanes-N4OXWK64-D-bp8wWN.js → swimlanes-N4OXWK64-CMSAKu-2.js} +1 -1
- package/dist/assets/swimlanesDiagram-K3J5GTZL-BaaZdhur.js +8 -0
- package/dist/assets/{team-share-Dpu1nJNz.js → team-share-BbQqJ5O6.js} +1 -1
- package/dist/assets/{timeline-definition-YOQAKGHF-CtLFkcud.js → timeline-definition-YOQAKGHF-BOK1V5EC.js} +1 -1
- package/dist/assets/{usecaseDiagram-VIAY4XPW-AWOhUKvG.js → usecaseDiagram-VIAY4XPW-DEywfSfC.js} +1 -1
- package/dist/assets/{vennDiagram-BLWOH2XV-C_OYDBvp.js → vennDiagram-BLWOH2XV-DN1iWw97.js} +1 -1
- package/dist/assets/{vi-P4zxF4j0.js → vi-C-E3a4Tv.js} +2 -2
- package/dist/assets/{wardleyDiagram-YMQ3BMBF-CdxMh8tE.js → wardleyDiagram-YMQ3BMBF-BAIfK1We.js} +1 -1
- package/dist/assets/{xychartDiagram-TAQBALBS-BL2spC5z.js → xychartDiagram-TAQBALBS-BLBD8FaQ.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/rail.html +4 -4
- package/dist-server/index.js +244 -229
- package/dist-server/openmausbot.js +1 -1
- package/dist-server/package.json +1 -1
- package/dist-server/pair-cli.js +1 -1
- package/dist-server/server/imported-skills.js +7 -2
- package/dist-server/server/index.js +7 -5
- package/dist-server/server/limix-bot-library.js +6 -0
- package/dist-server/server/limix-skill-hub.js +2 -2
- package/dist-server/server/limix-skill-store.js +179 -0
- package/dist-server/server/routes/bot-skills.js +15 -4
- package/package.json +1 -1
- package/skills/windows-computer-automation/SKILL.md +53 -0
- package/skills/windows-computer-automation/assets/HERIONIX-LEADER-PROMPT.md +25 -0
- package/skills/windows-computer-automation/assets/control-policy.example.json +25 -0
- package/skills/windows-computer-automation/assets/mcp-servers.example.json +19 -0
- package/skills/windows-computer-automation/manifest.json +27 -0
- package/skills/windows-computer-automation/references/herionix-integration.md +72 -0
- package/skills/windows-computer-automation/references/routing.md +26 -0
- package/skills/windows-computer-automation/references/scenarios.md +44 -0
- package/skills/windows-computer-automation/references/security.md +24 -0
- package/skills/windows-computer-automation/scripts/policy_engine.py +235 -0
- package/skills/windows-computer-automation/scripts/test_policy_engine.py +107 -0
- package/dist/assets/BotSettingsDialog-CVlvG4Rb.js +0 -16
- package/dist/assets/TeamLibraryPanel-DMhdlaSH.js +0 -1
- package/dist/assets/channel-k2J2GMwv.js +0 -1
- 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-DlOxUga6.js";import{r as ie,L as K}from"./PlacesRail-iu-rjh5s.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-BbQqJ5O6.js";import{u as Se,n as I,K as be}from"./App-lurtH-qI.js";import"./monitor-DRcE92Rj.js";import"./index-BEjJ5c6H.js";import"./MenuMotion-BBaxdyL_.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-
|
|
1
|
+
import{r,j as s,t}from"./styles-DlOxUga6.js";import{n as b}from"./App-lurtH-qI.js";import{a as k}from"./PlacesRail-iu-rjh5s.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 ge,r as i,X as ct,S as dt}from"./styles-DlOxUga6.js";import{L as w,N as mt,P as xt,r as Ye,O as pt,z as Ae,Q as ut,y as le}from"./PlacesRail-iu-rjh5s.js";import{o as He,a as gt,b as ht,c as ft,d as bt,t as pe,e as yt,M as jt}from"./org-library-BIb28h24.js";import{t as kt,a as Nt}from"./import-name-BN_-MYip.js";import{bw as vt,bx as wt,by as St,w as Ct,bz as De,bA as Lt,aQ as Je,u as Ke,n as k,bB as Et,bC as zt,bD as Bt,bE as It,bF as Tt,bG as Ot,bH as $e,bI as Rt,F as Pt,bJ as At}from"./App-lurtH-qI.js";import{R as Dt}from"./MenuMotion-BBaxdyL_.js";import{ShareTeamDialog as $t}from"./ShareTeamDialog-CVnQoRVQ.js";import"./monitor-DRcE92Rj.js";import"./package-format-hON5OXLZ.js";import"./index-BEjJ5c6H.js";import"./team-share-BbQqJ5O6.js";const Ft={"seo growth team":"seoGrowth","engineering team":"engineering","100x marketing team":"marketing100x","reddit lead miner":"redditLeadMiner","competitor watch":"competitorWatch","inbox follow-up":"inboxFollowup"};function qe(a){const c=Ft[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 Gt(a,c){const m=qe(a);return`${m.name} ${m.summary} ${a.name} ${a.summary} ${a.category} ${a.skills.join(" ")} ${a.requires.apps.join(" ")}`.toLowerCase().includes(c)}const D=["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 Mt({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(vt,{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(wt,{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(St,{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(Ct,{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(De,{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(De,{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(Lt,{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[d%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(ge,{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 Ut={gmail:"Gmail",github:"GitHub",discord:"Discord",slack:"Slack",googlecalendar:"Google Calendar",notion:"Notion",linear:"Linear",figma:"Figma",gong:"Gong",hubspot:"HubSpot",postiz:"Postiz"},Fe={everyday:"readyBots.category.everyday",work:"readyBots.category.work",writing:"readyBots.category.writing",design:"readyBots.category.design",sales:"readyBots.category.sales",personal:"readyBots.category.personal"},ue=()=>Bt.map(a=>{const c=It(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 H=null;const Yt=(a,c)=>{const m=c.trim().toLowerCase();return!m||[a.name,a.title,a.description,a.category].some(x=>x.toLowerCase().includes(m))};function Ht({search:a,onDialog:c,onAdded:m,onRefresh:x}){const{state:d,dispatch:h}=Ke(),[b,S]=i.useState(null),[p,y]=i.useState(H),[I,$]=i.useState(!1),[C,F]=i.useState(null),[G,z]=i.useState(""),[L,T]=i.useState(null),[o,E]=i.useState(!1),[oe,J]=i.useState("");i.useEffect(()=>{let n=!0;return k("/api/limix/bots").then(({bots:f})=>{if(!n)return;const O=f.length?f.map(U=>({...U,builtIn:!1})):ue();H=f.length?O:null,y(O),$(!1)}).catch(()=>{n&&(y(H??ue()),$(!H))}),()=>{n=!1}},[]);const M=()=>{T(null),c(!1)},K=async()=>{if(!o){E(!0),z(""),J(""),x?.();try{const{bots:n}=await k("/api/limix/bots/refresh",{method:"POST"}),f=n.length?n.map(O=>({...O,builtIn:!1})):ue();H=n.length?f:null,y(f),$(!1),J(`Đã cập nhật: ${n.length} bot mẫu`)}catch(n){z(`Chưa cập nhật được kho mẫu: ${n instanceof Error?n.message:String(n)}`)}finally{E(!1)}}},q=async n=>{if(!(C||Tt(d))){if(z(""),window.ogb?.remoteClient?.active){h({type:"newBot",onCreated:m});return}if(n.builtIn){T({id:n.id}),c(!0);return}F(n.id);try{const{bot:f}=await k(`/api/limix/bots/${n.id}`);T({id:n.id,data:f,skills:f.skills}),c(!0)}catch(f){z(f instanceof Error?f.message:String(f))}finally{F(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=>(!b||n.category===b)&&Yt(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:oe||(I?"Đang dùng bản có sẵn trong ứng dụng (chưa tải được kho mẫu).":t("readyBots.subtitle"))}),e.jsxs("button",{type:"button",onClick:()=>{K()},disabled:o,title:"Tải lại danh sách bot mẫu và nhóm mẫu mới nhất từ kho",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(Dt,{size:13,"aria-hidden":"true",className:o?"animate-spin":void 0}),o?"Đang cập nhật":"Cập nhật"]})]})]}),e.jsx("div",{className:"mb-3 mt-2 flex flex-wrap gap-1.5",role:"group","aria-label":t("readyBots.categories"),children:[null,...Et].map(n=>e.jsx("button",{type:"button","aria-pressed":b===n,onClick:()=>S(n),className:N("rounded-full px-3 py-1 text-[13px] transition-colors",b===n?"bg-ink text-panel":"bg-raised/70 text-ink-secondary hover:text-ink"),children:n?t(Fe[n]):t("readyBots.all")},n??"all"))}),G&&e.jsx("p",{role:"alert",className:"mb-3 rounded-xl bg-danger/10 px-3 py-2 text-[13px] text-danger",children:G}),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(mt,{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(Fe[n.category])]})]}),e.jsxs("button",{type:"button",onClick:()=>{q(n)},disabled:C!==null,"aria-label":`Dùng mẫu ${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(xt,{size:14,"aria-hidden":"true"}),"Dùng mẫu"]})]}),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(f=>Ut[f]??f).join(", ")}),n.routines>0&&t("readyBots.pausedRoutine")].filter(Boolean).join(" · ")})]},n.id))}),L&&Ye.createPortal(e.jsx(zt,{readyBotId:L.id,readyBotData:L.data,onClose:M,onCreated:n=>{c(!1),_t(n.id,L.skills),m(n)}}),document.body)]})}const Ge=["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:h}){const b=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:b})}),a.packages.length===0?e.jsx("p",{className:"mt-6 text-[13px] text-ink-secondary",children:t("orgLibrary.empty",{name:b})}):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(Kt,{entry:S,index:p,busy:c,onAdd:d,onDetails:h},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 Kt({entry:a,index:c,busy:m,onAdd:x,onDetails:d}){const h=He(a),b=gt(a),S=ht(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",Ge[c%Ge.length]),children:e.jsx(pt,{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)}),b&&e.jsx("span",{className:"rounded-full bg-accent/10 px-2 py-0.5 text-accent-text",children:b}),a.release&&e.jsx("span",{children:a.release.version})]}),e.jsx("p",{className:"mt-0.5 truncate text-[12px] text-ink-tertiary",children:bt(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:[h==="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")]}),h==="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(ge,{size:13,className:"text-success"}),t("orgLibrary.added")]}),h==="updateApp"&&e.jsx("span",{className:"max-w-[140px] text-right text-[12px] text-ink-secondary",children:t("orgLibrary.updateApp")}),h==="notReady"&&e.jsx("span",{className:"text-[12px] text-ink-secondary",children:t("orgLibrary.notReady")}),h==="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 qt="https://github.com/leomieo/limix-bot-teams",Me=["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 Wt(a,c){const m=new Map;for(const d of c){if(d.hidden)continue;const h=d.section?.trim()??"";m.set(h,(m.get(h)??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 Ue({index:a}){return e.jsx("div",{className:N("flex size-11 shrink-0 items-center justify-center rounded-xl",D[a%D.length]),children:e.jsx(Je,{size:20})})}function ls({onClose:a,onImported:c,returnFocusRef:m,initialUrl:x}){const{state:d,dispatch:h}=Ke(),b=i.useRef(null),S=i.useRef(null),[p,y]=i.useState("explore"),[I,$]=i.useState(null),[C,F]=i.useState(!0),[G,z]=i.useState(""),[L,T]=i.useState(null),[o,E]=i.useState(null),[oe,J]=i.useState("file"),[M,K]=i.useState(""),[q,_]=i.useState(!1),[n,f]=i.useState(!1),[O,U]=i.useState(!1),[W,We]=i.useState(""),[R,g]=i.useState(""),[he,fe]=i.useState(""),[Q,be]=i.useState(!1),[j,ye]=i.useState(null),[Qe,Xe]=i.useState(""),[X,ce]=i.useState(null),[je,ke]=i.useState(new Set),[Ne,ve]=i.useState(""),[V,we]=i.useState(!1),[Z,Se]=i.useState(null),[Ce,Ve]=i.useState(!1),[ee,Le]=i.useState(null),[Ze,te]=i.useState(null),[et,Ee]=i.useState(""),[tt,se]=i.useState(""),[P,ae]=i.useState(null),B=i.useRef(!1),A=i.useRef(0),de=d.bots.filter(s=>!s.hidden).length,ze=Wt(d.sections??[],d.bots),st=new Set(d.bots.map(s=>s.name.trim().toLowerCase())),at=o?.members.map(s=>kt(s.name,st))??[],re=i.useCallback(async(s=!1)=>{F(!0),z("");try{$(await k(`/api/team-library/catalog${s?"?fresh=1":""}`))}catch(r){z(r instanceof Error?r.message:String(r))}finally{F(!1)}},[]);i.useEffect(()=>{re()},[re]);const ne=i.useCallback(async()=>{try{const s=await k("/api/org-library");Le(s),s.organization&&!B.current&&y("org")}catch{Le({organization:null,packages:[]})}},[]);i.useEffect(()=>{ne()},[ne]),i.useEffect(()=>(b.current?.focus(),()=>m.current?.focus()),[m]),i.useEffect(()=>{const s=r=>{if(Z!==null||Ce)return;if(r.key==="Escape"&&!n){r.preventDefault(),r.stopPropagation(),o?(E(null),ae(null)):a();return}if(r.key!=="Tab")return;const l=b.current,u=Array.from(l?.querySelectorAll('button:not([disabled]), a[href], input:not([disabled]), [tabindex]:not([tabindex="-1"])')??[]);if(!l||u.length===0)return;const v=u[0],ie=u.at(-1);r.shiftKey&&(document.activeElement===v||!l.contains(document.activeElement))?(r.preventDefault(),ie.focus()):!r.shiftKey&&document.activeElement===ie&&(r.preventDefault(),v.focus())};return window.addEventListener("keydown",s,!0),()=>window.removeEventListener("keydown",s,!0)},[n,a,o,Z,Ce]);const me=(s,r)=>{E(s),J(r),g("")},Be=async s=>{if(s.size>jt)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(u){throw u instanceof SyntaxError?new Error(t("teamLibrary.invalidJson")):u}me(pe(l),"file")},rt=async s=>{T(s.slug),g("");try{me(pe(await k(`/api/team-library/teams/${s.slug}`)),"library")}catch(r){g(r instanceof Error?r.message:String(r))}finally{T(null)}},Ie=async()=>{await Te(M)},Te=async s=>{if(s.trim()){_(!0),g("");try{const r=await k("/api/team-library/github",{method:"POST",body:JSON.stringify({url:s.trim()})});me(pe(r),"github")}catch(r){g(r instanceof Error?r.message:String(r))}finally{_(!1)}}};i.useEffect(()=>{x&&(B.current=!0,y("import"),K(x),Te(x))},[x]);const nt=async()=>{if(o){f(!0),g("");try{const s=await Nt(o.manifest,h);le("team_imported",{members:s.bots.length,source:oe,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){g(s instanceof Error?s.message:String(s))}finally{f(!1)}}},it=async s=>{te(s.packageId),se("");try{const r=await k(`/api/org-library/packages/${s.packageId}`);E(yt(r.document)),ae(s),g("")}catch(r){se(r instanceof Error?r.message:String(r))}finally{te(null)}},Oe=async s=>{te(s.packageId),f(!0),se(""),Ee(""),g("");try{const r=await k("/api/org-library/add",{method:"POST",body:JSON.stringify({packageId:s.packageId})});for(const u of r.bots??[])h({type:"botAdded",bot:u});for(const u of r.groups??[])h({type:"groupPatched",group:u});for(const u of r.routines??[])h({type:"routinePatched",routine:u});const l=r.bots?.find(u=>!u.hidden);if(le("team_imported",{members:r.bots?.length??0,source:"organization",mode:"add",format:"package"}),l){h({type:"select",id:l.id}),c({name:s.name,members:r.bots.length,...r.connections?.length?{connections:r.connections.length}:{}});return}E(null),ae(null),r.alreadyAdded||Ee(t("orgLibrary.addedSkills",{name:s.name})),await ne()}catch(r){const l=r instanceof Error?r.message:String(r);P?g(l):se(l),await ne()}finally{te(null),f(!1)}},Y=he.trim(),xe=async s=>{const r=++A.current;be(!0),g(""),ye(null),ce(null),ke(new Set);try{const l=await k(`/api/teams/scout?cwd=${encodeURIComponent(s)}`);if(r!==A.current)return;ye(l),Xe(s),ve(l.suggestion.roomName),le("team_scouted",{signals:l.suggestion.manifest.team.members.length-1}),k(`/api/teams/scout/directory?cwd=${encodeURIComponent(s)}`).then(u=>{r===A.current&&ce(u.directory)}).catch(()=>{r===A.current&&ce([])})}catch(l){if(r!==A.current)return;g(l instanceof Error?l.message:String(l))}finally{r===A.current&&be(!1)}},lt=async()=>{const s=await window.ogb?.pickFolder?.(Y||void 0);s&&(fe(s),await xe(s))},ot=async()=>{if(!(!j||V)){we(!0),g("");try{const s=(X??[]).filter(v=>je.has(v.slug)).map((v,ie)=>({key:`dir-${v.slug}`,name:v.name,title:v.category||t("templates.communityBot"),description:v.prompt,appearance:{color:Me[ie%Me.length]}})),r={...j.suggestion.manifest,team:{...j.suggestion.manifest.team,members:[...j.suggestion.manifest.team.members,...s]}},l=Ne.trim()||j.suggestion.roomName,u=await k(`/api/teams/import?mode=project&cwd=${encodeURIComponent(Qe)}&room=${encodeURIComponent(l)}`,{method:"POST",body:JSON.stringify(r)});for(const v of u.bots)h({type:"botAdded",bot:v});u.group&&(h({type:"groupPatched",group:{...u.group,messages:[]}}),h({type:"select",id:u.group.id})),le("team_imported",{members:u.bots.length,source:"scout",mode:"project"}),c({name:l,members:u.bots.length})}catch(s){g(s instanceof Error?s.message:String(s))}finally{we(!1)}}},Re=W.trim().toLowerCase(),Pe=(I?.teams??[]).filter(s=>!Re||Gt(s,Re));return Ye.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:b,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),ae(null),g("")},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(Ot,{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(I?.repositoryUrl??qt)},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($e,{size:16}),e.jsx("span",{className:"max-sm:hidden",children:t("templates.communityRepo")}),e.jsx(Ae,{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(ct,{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(Mt,{pending:o,importedNames:at,org:P!==null}),R&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:R})]}),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(de===0?"templates.existingNone":de===1?"templates.existingOne":"templates.existingMany",{count:de})," ",o.kind==="backup"?t("teamImport.backupCopies"):o.library?t("teamImport.libraryAdds"):o.members.length===0?"":t("teamImport.newSection",{name:o.teamName??o.name})]}),P?He(P)==="add"?e.jsxs("button",{onClick:()=>{Oe(P)},disabled:n,"aria-label":t("orgLibrary.addAria",{name:P.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(ge,{size:14,className:"text-success"}),t("orgLibrary.added")]}):e.jsxs("button",{onClick:()=>{nt()},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:[ee?.organization&&e.jsx("button",{role:"tab","aria-selected":p==="org",onClick:()=>{B.current=!0,y("org"),g("")},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:ee.organization.name})}),e.jsx("button",{role:"tab","aria-selected":p==="explore",onClick:()=>{B.current=!0,y("explore"),g("")},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:()=>{B.current=!0,y("import"),g("")},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:()=>{B.current=!0,y("scout"),g("")},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:()=>{B.current=!0,y("share"),g("")},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(dt,{size:17,className:"shrink-0 text-ink-secondary"}),e.jsx("input",{value:W,onChange:s=>We(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"&&ee?.organization&&e.jsx(Jt,{listing:ee,busy:Ze,notice:et,error:tt,onAdd:s=>{Oe(s)},onDetails:s=>{it(s)}}),p==="explore"&&e.jsxs("div",{children:[e.jsx(Ht,{search:W,onRefresh:()=>{re(!0)},onDialog:Ve,onAdded:a}),e.jsx("div",{className:"mb-3 text-[12px] font-medium text-ink-secondary",children:W?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&&G&&e.jsxs("div",{className:"rounded-xl bg-danger/10 p-4 text-[13px] text-danger",children:[e.jsx("p",{children:G}),e.jsx("button",{onClick:()=>{re()},className:"mt-3 rounded-full bg-raised px-3.5 py-2 text-ink hover:bg-raised-hover",children:t("common.tryAgain")})]}),!C&&I&&e.jsx("div",{className:"grid grid-cols-1 gap-x-10 md:grid-cols-2",children:Pe.map((s,r)=>{const l=qe(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(Ue,{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:()=>{rt(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&&I&&Pe.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&&Be(r).catch(l=>g(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(),U(!0)},onDragOver:s=>s.preventDefault(),onDragLeave:()=>U(!1),onDrop:s=>{s.preventDefault(),U(!1);const r=s.dataTransfer.files[0];r&&Be(r).catch(l=>g(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",O?"border-accent bg-accent/5":"border-hairline/60 bg-raised/20 hover:bg-raised/35"),children:[e.jsx(ut,{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($e,{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:M,onChange:s=>K(s.target.value),onKeyDown:s=>s.key==="Enter"&&void Ie(),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:()=>{Ie()},disabled:!M.trim()||q,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:[q&&e.jsx(w,{size:13,className:"animate-spin"}),t("templates.load")]})]})]})]}),R&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:R})]}),p==="share"&&e.jsxs("div",{children:[e.jsx("p",{className:"max-w-2xl text-[13px] leading-relaxed text-ink-secondary",children:t("teamLibrary.shareIntro")}),ze.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:ze.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(Ue,{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:()=>Se(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(Rt,{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:he,onChange:s=>fe(s.target.value),onKeyDown:s=>s.key==="Enter"&&Y&&void xe(Y),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:()=>{lt()},disabled:Q,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(Pt,{size:14}),t("templates.browse")]}),e.jsxs("button",{onClick:()=>{xe(Y)},disabled:!Y||Q,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:[Q?e.jsx(w,{size:14,className:"animate-spin"}):e.jsx(At,{size:14}),Q?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",D[r%D.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))}),X&&X.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:X.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:je.has(s.slug),onChange:()=>ke(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(Ae,{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:Ne,onChange:s=>ve(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:()=>{ot()},disabled:V,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:[V&&e.jsx(w,{size:15,className:"animate-spin"}),V?t("templates.creating"):t("templates.createGroupChat")]})]}),e.jsx("p",{className:"mt-2 text-[12px] text-ink-secondary",children:t("templates.createGroupHint")})]}),R&&e.jsx("div",{role:"alert",className:"mt-4 rounded-lg bg-danger/10 px-3 py-2 text-[13px] text-danger",children:R})]})]})]})]}),Z!==null&&e.jsx($t,{team:Z,onClose:()=>Se(null)})]}),document.body)}export{Mt as TeamImportDetails,ls as TeamLibraryPanel,Wt as shareableTeamList};
|