crewx 0.9.0-rc.30 → 0.9.0-rc.31
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/bin/cli-commands.js +1 -1
- package/dist/assets/MarketPage-CMwLKGZb.js +36 -0
- package/dist/assets/PromptTab-BsfW2GdJ.js +27 -0
- package/dist/assets/{arc-BgHOyGBi.js → arc-MP5JvZ09.js} +1 -1
- package/dist/assets/{architectureDiagram-UYN6MBPD-B5D2gDDp.js → architectureDiagram-UYN6MBPD-D7uvW4rn.js} +1 -1
- package/dist/assets/{blockDiagram-ZHA2E4KO-C43xRQgV.js → blockDiagram-ZHA2E4KO-D3mfggJO.js} +1 -1
- package/dist/assets/{c4Diagram-6F5ED5ID-ExlVjMPZ.js → c4Diagram-6F5ED5ID-Bp6DAU2D.js} +1 -1
- package/dist/assets/channel-CtPQ3DPb.js +1 -0
- package/dist/assets/{chunk-5HRBRIJM-CGjDYCsO.js → chunk-5HRBRIJM-DlE-d8J5.js} +1 -1
- package/dist/assets/{chunk-7U56Z5CX-6LimPjLy.js → chunk-7U56Z5CX-G-PZvqA3.js} +1 -1
- package/dist/assets/{chunk-ASOPGD6M-lolE_HoU.js → chunk-ASOPGD6M-KgJoRxVo.js} +1 -1
- package/dist/assets/{chunk-KFBOBJHC-y14KXVtJ.js → chunk-KFBOBJHC-D6PURogH.js} +1 -1
- package/dist/assets/{chunk-T2TOU4HS-DQRb3viW.js → chunk-T2TOU4HS-Dc5kFGOw.js} +1 -1
- package/dist/assets/{chunk-TMUBEWPD-8XtHbloV.js → chunk-TMUBEWPD-C_YDYlPD.js} +1 -1
- package/dist/assets/classDiagram-LNE6IOMH-BUsTuEMD.js +1 -0
- package/dist/assets/classDiagram-v2-MQ7JQ4JX-BUsTuEMD.js +1 -0
- package/dist/assets/{dagre-4EVJKHTY-pCuGLbiF.js → dagre-4EVJKHTY-DVRirvEF.js} +1 -1
- package/dist/assets/{diagram-QW4FP2JN-BTCMTgS0.js → diagram-QW4FP2JN-CdegpDDS.js} +1 -1
- package/dist/assets/{erDiagram-6RL3IURR-C15aHEaa.js → erDiagram-6RL3IURR-D0rBbK79.js} +1 -1
- package/dist/assets/{flowDiagram-7ASYPVHJ-DMTKxIEn.js → flowDiagram-7ASYPVHJ-CUHQ5lh_.js} +1 -1
- package/dist/assets/{ganttDiagram-NTVNEXSI-BogPp8SX.js → ganttDiagram-NTVNEXSI-BNY-dmG-.js} +1 -1
- package/dist/assets/{gitGraph-YCYPL57B-Dd4jOxQN.js → gitGraph-YCYPL57B-DKBYdZ6k.js} +1 -1
- package/dist/assets/{gitGraphDiagram-NRZ2UAAF-sEKbgkVw.js → gitGraphDiagram-NRZ2UAAF-CInN1rJn.js} +1 -1
- package/dist/assets/{infoDiagram-A4XQUW5V-BM-02uB1.js → infoDiagram-A4XQUW5V-BrpnPxI-.js} +1 -1
- package/dist/assets/{journeyDiagram-G5WM74LC-B_zwhQCw.js → journeyDiagram-G5WM74LC-BkmeLApr.js} +1 -1
- package/dist/assets/{kanban-definition-QRCXZQQD-CqPSKAHt.js → kanban-definition-QRCXZQQD-CCKCgCJp.js} +1 -1
- package/dist/assets/{linear-m08WCqby.js → linear-OvPg36xh.js} +1 -1
- package/dist/assets/main-CGM_hlNt.css +10 -0
- package/dist/assets/main-CsAwz_2W.js +1741 -0
- package/dist/assets/{mindmap-definition-GWI6TPTV-TeiwArpV.js → mindmap-definition-GWI6TPTV-CgFw2R85.js} +1 -1
- package/dist/assets/{pieDiagram-YF2LJOPJ-PfuWraAh.js → pieDiagram-YF2LJOPJ-CCc3uH4R.js} +1 -1
- package/dist/assets/{quadrantDiagram-OS5C2QUG-BtLeXGpH.js → quadrantDiagram-OS5C2QUG-BmrZUy6M.js} +1 -1
- package/dist/assets/{requirementDiagram-MIRIMTAZ-DI0tp22l.js → requirementDiagram-MIRIMTAZ-B2H9OkcW.js} +1 -1
- package/dist/assets/{sankeyDiagram-Y46BX6SQ-DYS1Ww8S.js → sankeyDiagram-Y46BX6SQ-DQTwDYvp.js} +1 -1
- package/dist/assets/{sequenceDiagram-G6AWOVSC-DXy97sdu.js → sequenceDiagram-G6AWOVSC-DvcvDZtd.js} +1 -1
- package/dist/assets/{stateDiagram-MAYHULR4-CBvDcq_o.js → stateDiagram-MAYHULR4-BSbH6RaL.js} +1 -1
- package/dist/assets/stateDiagram-v2-4JROLMXI-QEpr3Y1F.js +1 -0
- package/dist/assets/{timeline-definition-U7ZMHBDA-7wSdN9Wc.js → timeline-definition-U7ZMHBDA-X0Pwo7US.js} +1 -1
- package/dist/assets/{transformers.web-ffuYitKw.js → transformers.web-D_RN0ETp.js} +1 -1
- package/dist/assets/{xychartDiagram-6QU3TZC5-B2UnFgQJ.js → xychartDiagram-6QU3TZC5-DRXANUQ0.js} +1 -1
- package/dist/index.html +2 -2
- package/dist-server/app.module.js +2 -0
- package/dist-server/common/current-user.js +14 -0
- package/dist-server/domain/events/workspace-event.types.js +1 -0
- package/dist-server/domain/events/workspace-events-test.controller.js +2 -0
- package/dist-server/domain/mcp/crewx-tool.factory.js +53 -25
- package/dist-server/domain/mcp/mcp.service.js +41 -4
- package/dist-server/domain/message/message.service.js +92 -70
- package/dist-server/domain/notification/dto/create-notification.dto.js +73 -0
- package/dist-server/domain/notification/dto/list-notifications.dto.js +27 -0
- package/dist-server/domain/notification/notification.controller.js +134 -0
- package/dist-server/domain/notification/notification.module.js +32 -0
- package/dist-server/domain/notification/notification.service.js +64 -0
- package/dist-server/domain/task/task.service.js +36 -7
- package/dist-server/domain/thread/thread.service.js +27 -5
- package/dist-server/domain/workflow/workflow.controller.js +14 -0
- package/dist-server/domain/workflow/workflow.service.js +27 -0
- package/dist-server/modules/crewx-pool.service.js +143 -53
- package/dist-server/repository/notification.repository.js +33 -0
- package/dist-server/repository/repository.module.js +2 -0
- package/package.json +8 -8
- package/packages/cli/dist/builtin.js +1 -0
- package/packages/cli/dist/commands/execute.d.ts +3 -0
- package/packages/cli/dist/commands/execute.js +93 -2
- package/packages/cli/dist/commands/registry.js +1 -1
- package/packages/cli/dist/commands/result.d.ts +7 -3
- package/packages/cli/dist/commands/result.js +38 -4
- package/packages/cli/dist/main.js +8 -0
- package/packages/cli/package.json +2 -1
- package/dist/assets/MarketPage-B7x1eWRM.js +0 -36
- package/dist/assets/PromptTab-BlY6ydzt.js +0 -27
- package/dist/assets/channel-DTjxQ-OX.js +0 -1
- package/dist/assets/classDiagram-LNE6IOMH-DW-SBIxR.js +0 -1
- package/dist/assets/classDiagram-v2-MQ7JQ4JX-DW-SBIxR.js +0 -1
- package/dist/assets/main-BnWPdsjm.css +0 -10
- package/dist/assets/main-BtdikjlK.js +0 -1561
- package/dist/assets/stateDiagram-v2-4JROLMXI-CBswM7bO.js +0 -1
package/bin/cli-commands.js
CHANGED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{aC as D,aD as Ae,aE as p,aF as k,aG as $e,aH as x,aI as e,aJ as ge,aK as Z,aL as ue,aM as M,aN as xe,aO as Ne,aP as he,aQ as _e,aR as be,aS as J,aT as F,aU as Fe,aV as Oe,aW as Be,aX as He,aY as fe,aZ as Qe,a_ as We}from"./main-CsAwz_2W.js";/**
|
|
2
|
+
* @license lucide-react v0.563.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const qe=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],pe=D("badge-check",qe);/**
|
|
7
|
+
* @license lucide-react v0.563.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const Ge=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 12-4-4-4 4",key:"177agl"}],["path",{d:"M12 16V8",key:"1sbj14"}]],ke=D("circle-arrow-up",Ge);/**
|
|
12
|
+
* @license lucide-react v0.563.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Ke=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1",key:"f1a2em"}],["rect",{width:"9",height:"7",x:"3",y:"14",rx:"1",key:"jqznyg"}],["rect",{width:"5",height:"7",x:"16",y:"14",rx:"1",key:"q5h2i8"}]],ve=D("layout-template",Ke);/**
|
|
17
|
+
* @license lucide-react v0.563.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const Ze=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]],ye=D("plug",Ze);/**
|
|
22
|
+
* @license lucide-react v0.563.0 - ISC
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the ISC license.
|
|
25
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/const Je=[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]],we=D("puzzle",Je);/**
|
|
27
|
+
* @license lucide-react v0.563.0 - ISC
|
|
28
|
+
*
|
|
29
|
+
* This source code is licensed under the ISC license.
|
|
30
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
31
|
+
*/const Xe=[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"m19 8 3 8a5 5 0 0 1-6 0zV7",key:"zcdpyk"}],["path",{d:"M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",key:"1yorad"}],["path",{d:"m5 8 3 8a5 5 0 0 1-6 0zV7",key:"eua70x"}],["path",{d:"M7 21h10",key:"1b0cd5"}]],Ye=D("scale",Xe);/**
|
|
32
|
+
* @license lucide-react v0.563.0 - ISC
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the ISC license.
|
|
35
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
36
|
+
*/const er=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],rr=D("settings-2",er);function I(r){return r instanceof Error?r.message:String(r)}function tr(r){return[...r].sort((t,s)=>t.isInstalled!==s.isInstalled?t.isInstalled?-1:1:(t.displayName||t.name).localeCompare(s.displayName||s.name))}const ne={trusted:2,verified:1,unverified:0};function ar(r,t){return ne[r]>=ne[t]?r:t}function sr(r=[],t=[]){return Array.from(new Set([...r,...t]))}function oe(r,t){var a;if(!r)return t;const s=ar(r.trustLevel,t.trustLevel);return{...r,...t,displayName:t.displayName||r.displayName||t.name,description:t.description||r.description,author:t.author||r.author,version:t.version||r.version,tags:sr(r.tags,t.tags),type:t.type||r.type,trustLevel:s,isVerified:s!=="unverified",isInstalled:r.isInstalled||t.isInstalled,registryId:t.registryId??r.registryId,registryName:t.registryName??r.registryName,installSource:t.installSource??r.installSource,hasUpdate:t.hasUpdate??r.hasUpdate,remoteVersion:t.remoteVersion??r.remoteVersion,isCustomized:t.isCustomized??r.isCustomized,authors:(a=t.authors)!=null&&a.length?t.authors:r.authors,updatedAt:t.updatedAt??r.updatedAt,stars:t.stars??r.stars,license:t.license??r.license,installCount:t.installCount??r.installCount}}function ir(r){return r.toLowerCase().replace(/[\s_]+/g,"-")}function _(r){const t=new Map;for(const a of r){const u=ir(a.name),l=t.get(u)??[];l.push(a),t.set(u,l)}const s=[];for(const[,a]of t){if(a.length===1){s.push(a[0]);continue}const u=a.find(l=>l.isInstalled);if(u){const l=a.find(o=>o.registryId&&o.registryId!=="_local"),n=l?oe(l,u):u;s.push(n)}else{const l=new Map;for(const n of a){const o=n.registryId??"_local",g=l.get(o);l.set(o,oe(g,n))}s.push(...l.values())}}return tr(s)}function lr(r){return r.find(t=>t.isDefault)??r.find(t=>t.trustLevel!=="unverified")??r[0]??null}function mr(r,t){return _([...r,...t])}function K(r,t){var s;return t&&r.some(a=>a.name===t)?t:((s=r[0])==null?void 0:s.name)??null}const ur=Ae((r,t)=>({initialized:!1,loading:!1,loadingOfficial:!1,loadingInstalled:!1,savingRegistry:!1,deletingRegistryId:null,mutatingItemName:null,error:null,registries:[],officialRegistryId:null,allItems:[],activeFilter:"all",searchQuery:"",selectedItemName:null,setActiveFilter:s=>r({activeFilter:s}),setSearchQuery:s=>r({searchQuery:s}),setSelectedItem:s=>r({selectedItemName:s}),initialize:async()=>{const s=t().selectedItemName;r({loading:!0,loadingOfficial:!0,loadingInstalled:!0,error:null});try{const[a,u,l]=await Promise.all([p.getMarketRegistries(),p.getMarketItems(),p.getInstalledMarkets()]),n=a.registries,o=lr(n),g=u.items,c=_(l.items.filter(b=>!b.source||b.source==="local")),h=mr(g,c);r({initialized:!0,loading:!1,loadingOfficial:!1,loadingInstalled:!1,registries:n,officialRegistryId:(o==null?void 0:o.id)??null,allItems:h,selectedItemName:K(h,s)}),p.checkMarketUpdates().then(b=>{!b||Object.keys(b).length===0||r(N=>({allItems:N.allItems.map(U=>{const v=b[U.name];return v?{...U,hasUpdate:v.hasUpdate,remoteVersion:v.remoteVersion,isCustomized:v.isCustomized}:U})}))}).catch(()=>{})}catch(a){throw r({loading:!1,loadingOfficial:!1,loadingInstalled:!1,error:I(a)}),a}},refresh:async()=>{await t().initialize()},addRegistry:async(s,a)=>{const u=s.trim();if(!u){const l=new Error("Registry URL is required");throw r({error:l.message}),l}r({savingRegistry:!0,error:null});try{const l=(a==null?void 0:a.trim())||void 0;await p.addMarketRegistry(u,l),await t().initialize(),r({savingRegistry:!1})}catch(l){throw r({savingRegistry:!1,error:I(l)}),l}},deleteRegistry:async s=>{r({deletingRegistryId:s,error:null});try{await p.deleteMarketRegistry(s),await t().initialize(),r({deletingRegistryId:null})}catch(a){throw r({deletingRegistryId:null,error:I(a)}),a}},installItem:async(s,a)=>{r({mutatingItemName:a,error:null});try{await p.installMarketItem(s,a),r(u=>{const l=u.registries.find(o=>o.id===s),n=_(u.allItems.map(o=>o.name===a?{...o,isInstalled:!0,registryId:o.registryId??s,registryName:o.registryName??(l==null?void 0:l.name)}:o));return{allItems:n,mutatingItemName:null,selectedItemName:K(n,u.selectedItemName??a)}})}catch(u){throw r({mutatingItemName:null,error:I(u)}),u}},uninstallItem:async s=>{r({mutatingItemName:s,error:null});try{await p.uninstallMarketItem(s),r(a=>{const u=_(a.allItems.map(l=>l.name===s?{...l,isInstalled:!1}:l));return{allItems:u,mutatingItemName:null,selectedItemName:K(u,a.selectedItemName)}})}catch(a){throw r({mutatingItemName:null,error:I(a)}),a}},clearError:()=>r({error:null})}));function Me(r,t){if(!r)return"—";const s=new Date(r);return Number.isNaN(s.getTime())?"—":new Intl.DateTimeFormat(t,{year:"numeric",month:"short",day:"numeric"}).format(s)}function nr(r,t){if(!r)return null;const s=new Date(r);if(Number.isNaN(s.getTime()))return null;const a=s.getTime()-Date.now(),u=[{unit:"year",ms:1e3*60*60*24*365},{unit:"month",ms:1e3*60*60*24*30},{unit:"week",ms:1e3*60*60*24*7},{unit:"day",ms:1e3*60*60*24},{unit:"hour",ms:1e3*60*60},{unit:"minute",ms:1e3*60}],l=new Intl.RelativeTimeFormat(t,{numeric:"auto"});for(const n of u)if(Math.abs(a)>=n.ms||n.unit==="minute")return l.format(Math.round(a/n.ms),n.unit);return null}function ce(r,t){return typeof r!="number"?"—":new Intl.NumberFormat(t,{notation:"compact",compactDisplay:"short",maximumFractionDigits:1}).format(r)}function X(r){switch(r==null?void 0:r.toLowerCase()){case"template":return"template";case"agent":return"agent";case"workflow":return"workflow";case"plugin":return"plugin";default:return"skill"}}function De({type:r}){const{t}=k(),s=X(r),a={skill:"bg-violet-50 text-violet-700",template:"bg-amber-50 text-amber-700",agent:"bg-emerald-50 text-emerald-700",workflow:"bg-cyan-50 text-cyan-700",plugin:"bg-rose-50 text-rose-700"},u={skill:we,template:ve,agent:Ne,workflow:xe,plugin:ye},l={skill:t("market.types.skill"),template:t("market.types.template"),agent:t("market.types.agent"),workflow:t("market.types.workflow"),plugin:t("market.types.plugin")},n=u[s];return e.jsxDEV("span",{className:`inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-medium ${a[s]}`,children:[e.jsxDEV(n,{size:12},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:141,columnNumber:7},this),l[s]]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:140,columnNumber:5},this)}const or={trusted:{bg:"bg-green-50",text:"text-green-700",icon:he,label:"market.badges.trusted"},verified:{bg:"bg-blue-50",text:"text-blue-700",icon:pe,label:"market.badges.verified"},unverified:{bg:"bg-gray-50",text:"text-gray-500",icon:F,label:"market.badges.unverified"}};function cr({level:r}){const{t}=k(),s=or[r],a=s.icon;return e.jsxDEV("span",{className:`inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-xs font-medium ${s.bg} ${s.text}`,children:[e.jsxDEV(a,{size:13},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:164,columnNumber:7},this),t(s.label)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:163,columnNumber:5},this)}function Ee(r){if(r.trustLevel==="unverified"){if(r.type==="plugin")return{allowed:!1,reason:"market.trust.blockedPlugin"};if(r.type==="exec")return{allowed:!1,reason:"market.trust.blockedExec"}}return r.trustLevel==="verified"&&r.type==="plugin"?{allowed:!0,needsConfirm:!0}:{allowed:!0}}function dr({itemName:r,onConfirm:t,onCancel:s}){const{t:a}=k();return e.jsxDEV("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:e.jsxDEV("div",{role:"dialog","aria-modal":"true",className:"w-full max-w-md overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxDEV("div",{className:"border-b border-gray-200 px-6 py-5",children:[e.jsxDEV("h2",{className:"text-lg font-semibold text-gray-900",children:a("market.pluginDialog.title")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:199,columnNumber:11},this),e.jsxDEV("p",{className:"mt-1 text-sm text-gray-500",children:a("market.pluginDialog.description")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:200,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:198,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-3 px-6 py-5",children:[e.jsxDEV("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsxDEV("p",{className:"text-sm font-medium text-amber-900",children:r},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:205,columnNumber:13},this),e.jsxDEV("p",{className:"mt-1 text-sm text-amber-800",children:a("market.pluginDialog.warning")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:206,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:204,columnNumber:11},this),e.jsxDEV("ul",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxDEV("li",{className:"flex items-center gap-2",children:[e.jsxDEV(F,{size:14,className:"shrink-0 text-amber-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:210,columnNumber:15},this),a("market.pluginDialog.perm1")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:209,columnNumber:13},this),e.jsxDEV("li",{className:"flex items-center gap-2",children:[e.jsxDEV(F,{size:14,className:"shrink-0 text-amber-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:214,columnNumber:15},this),a("market.pluginDialog.perm2")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:213,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:208,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:203,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[e.jsxDEV("button",{type:"button",onClick:s,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:a("market.actions.cancel")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:221,columnNumber:11},this),e.jsxDEV("button",{type:"button",onClick:t,className:"rounded-lg bg-red-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600",children:a("market.actions.install")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:228,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:220,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:193,columnNumber:7},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:192,columnNumber:5},this)}function gr({url:r,tokenEnv:t,error:s,submitting:a,onChangeUrl:u,onChangeTokenEnv:l,onClose:n,onSubmit:o}){const{t:g}=k(),c=h=>{h.preventDefault(),o()};return e.jsxDEV("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:e.jsxDEV("div",{role:"dialog","aria-modal":"true",className:"w-full max-w-xl overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxDEV("div",{className:"border-b border-gray-200 px-6 py-5",children:[e.jsxDEV("h2",{className:"text-lg font-semibold text-gray-900",children:g("market.addRegistryModal.title")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:275,columnNumber:11},this),e.jsxDEV("p",{className:"mt-1 text-sm text-gray-500",children:g("market.addRegistryModal.description")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:276,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:274,columnNumber:9},this),e.jsxDEV("form",{onSubmit:c,children:[e.jsxDEV("div",{className:"space-y-4 px-6 py-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{htmlFor:"registry-url",className:"mb-2 block text-sm font-medium text-gray-700",children:g("market.addRegistryModal.urlLabel")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:282,columnNumber:15},this),e.jsxDEV("input",{id:"registry-url",type:"url",value:r,onChange:h=>u(h.target.value),placeholder:g("market.addRegistryModal.urlPlaceholder"),className:"w-full rounded-lg border border-gray-300 px-4 py-3 text-sm text-gray-900 placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500",autoFocus:!0},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:285,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:281,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{htmlFor:"registry-token-env",className:"mb-2 block text-sm font-medium text-gray-700",children:[g("market.addRegistryModal.tokenEnvLabel","Token Env Variable"),e.jsxDEV("span",{className:"ml-1 text-xs font-normal text-gray-400",children:g("market.addRegistryModal.optional","(optional)")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:299,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:297,columnNumber:15},this),e.jsxDEV("input",{id:"registry-token-env",type:"text",value:t,onChange:h=>l(h.target.value),placeholder:g("market.addRegistryModal.tokenEnvPlaceholder","e.g. GITHUB_TOKEN"),className:"w-full rounded-lg border border-gray-300 px-4 py-3 text-sm text-gray-900 placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:301,columnNumber:15},this),e.jsxDEV("p",{className:"mt-1.5 text-xs text-gray-500",children:g("market.addRegistryModal.tokenEnvHint","Environment variable name for private GitHub PAT. The token value must be set in .env or shell profile.")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:309,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:296,columnNumber:13},this),e.jsxDEV("div",{className:"rounded-xl border border-blue-200 bg-blue-50 px-4 py-4",children:e.jsxDEV("div",{className:"flex items-start gap-3",children:[e.jsxDEV("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-white text-blue-600",children:e.jsxDEV(Qe,{size:18},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:317,columnNumber:19},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:316,columnNumber:17},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm font-semibold text-blue-900",children:g("market.addRegistryModal.compatibilityTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:320,columnNumber:19},this),e.jsxDEV("p",{className:"mt-1 text-sm leading-6 text-blue-800",children:g("market.addRegistryModal.compatibilityDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:323,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:319,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:315,columnNumber:15},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:314,columnNumber:13},this),s&&e.jsxDEV("div",{className:"flex items-start gap-3 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-red-700",children:[e.jsxDEV(Z,{size:18,className:"mt-0.5 shrink-0"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:332,columnNumber:17},this),e.jsxDEV("p",{className:"text-sm",children:s},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:333,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:331,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:280,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[e.jsxDEV("button",{type:"button",onClick:n,disabled:a,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 disabled:cursor-not-allowed disabled:opacity-50",children:g("market.actions.cancel")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:339,columnNumber:13},this),e.jsxDEV("button",{type:"submit",disabled:a,className:"inline-flex items-center gap-2 rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600 disabled:cursor-not-allowed disabled:opacity-50",children:[a?e.jsxDEV(M,{size:16,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:352,columnNumber:29},this):e.jsxDEV(J,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:352,columnNumber:78},this),g("market.actions.addRegistry")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:347,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:338,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:279,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:269,columnNumber:7},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:268,columnNumber:5},this)}function xr({registry:r,deleting:t,onDelete:s}){const{t:a,i18n:u}=k();return e.jsxDEV("article",{className:"flex flex-col gap-4 rounded-xl border border-gray-200 bg-white p-5 shadow-sm",children:[e.jsxDEV("div",{className:"flex items-start justify-between gap-4",children:[e.jsxDEV("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsxDEV("div",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl ${r.trustLevel!=="unverified"?"bg-blue-50 text-blue-600":"bg-gray-100 text-gray-500"}`,children:e.jsxDEV(fe,{size:20},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:380,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:377,columnNumber:11},this),e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxDEV("h3",{className:"truncate text-base font-semibold text-gray-900",children:r.name},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:384,columnNumber:15},this),e.jsxDEV("span",{className:`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ${r.isDefault?"bg-amber-50 text-amber-700":"bg-gray-100 text-gray-600"}`,children:r.isDefault?a("market.registryCard.defaultBadge"):a("market.registryCard.customBadge")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:385,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:383,columnNumber:13},this),e.jsxDEV("a",{href:r.url,target:"_blank",rel:"noreferrer",className:"mt-2 inline-flex break-all text-sm text-blue-600 hover:text-blue-700",children:[e.jsxDEV("span",{children:r.url},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:397,columnNumber:15},this),e.jsxDEV(We,{size:14,className:"ml-1 mt-0.5 shrink-0"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:398,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:391,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:382,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:376,columnNumber:9},this),e.jsxDEV("button",{type:"button",onClick:()=>s(r.id),disabled:r.isDefault||t,className:`inline-flex items-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors ${r.isDefault?"cursor-not-allowed bg-gray-100 text-gray-400":"bg-red-50 text-red-600 hover:bg-red-100 disabled:cursor-not-allowed disabled:opacity-50"}`,children:[t?e.jsxDEV(M,{size:15,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:413,columnNumber:23},this):e.jsxDEV(be,{size:15},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:413,columnNumber:72},this),r.isDefault?a("market.registryCard.lockedAction"):a("market.actions.deleteRegistry")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:403,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:375,columnNumber:7},this),e.jsxDEV("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxDEV("div",{className:"rounded-lg border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsxDEV("p",{className:"text-xs text-gray-500",children:a("market.registryCard.skillCount")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:420,columnNumber:11},this),e.jsxDEV("p",{className:"mt-1 text-lg font-semibold text-gray-900",children:r.itemCount},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:421,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:419,columnNumber:9},this),e.jsxDEV("div",{className:"rounded-lg border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsxDEV("p",{className:"text-xs text-gray-500",children:a("market.registryCard.addedAt")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:424,columnNumber:11},this),e.jsxDEV("p",{className:"mt-1 text-sm font-medium text-gray-900",children:Me(r.addedAt,u.language)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:425,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:423,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:418,columnNumber:7},this),e.jsxDEV("p",{className:"text-xs text-gray-500",children:r.isDefault?a("market.registryCard.defaultHint"):a("market.registryCard.customHint")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:429,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:374,columnNumber:5},this)}function Nr({registries:r,loading:t,deletingRegistryId:s,onAdd:a,onClose:u,onDelete:l}){const{t:n}=k();return e.jsxDEV("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/40 p-4",children:e.jsxDEV("div",{role:"dialog","aria-modal":"true",className:"flex max-h-[85vh] w-full max-w-4xl flex-col overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxDEV("div",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-5",children:[e.jsxDEV("div",{children:[e.jsxDEV("h2",{className:"text-lg font-semibold text-gray-900",children:n("market.registryModal.title")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:462,columnNumber:13},this),e.jsxDEV("p",{className:"mt-1 text-sm text-gray-500",children:n("market.registryModal.description")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:463,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:461,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("button",{type:"button",onClick:a,className:"inline-flex items-center gap-2 rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600",children:[e.jsxDEV(J,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:471,columnNumber:15},this),n("market.actions.addRegistry")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:466,columnNumber:13},this),e.jsxDEV("button",{type:"button",onClick:u,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:n("market.actions.close")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:474,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:465,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:460,columnNumber:9},this),e.jsxDEV("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:t?e.jsxDEV("div",{className:"flex items-center justify-center py-16",children:e.jsxDEV(M,{size:22,className:"animate-spin text-gray-400"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:487,columnNumber:15},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:486,columnNumber:13},this):r.length===0?e.jsxDEV("div",{className:"rounded-xl border border-dashed border-gray-300 px-6 py-16 text-center",children:[e.jsxDEV("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsxDEV(fe,{size:20},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:492,columnNumber:17},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:491,columnNumber:15},this),e.jsxDEV("h3",{className:"mt-4 text-base font-semibold text-gray-900",children:n("market.empty.registryTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:494,columnNumber:15},this),e.jsxDEV("p",{className:"mt-2 text-sm text-gray-500",children:n("market.empty.registryDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:495,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:490,columnNumber:13},this):e.jsxDEV("div",{className:"grid gap-4 xl:grid-cols-2",children:r.map(o=>e.jsxDEV(xr,{registry:o,deleting:s===o.id,onDelete:l},o.id,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:500,columnNumber:17},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:498,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:484,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:455,columnNumber:7},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:454,columnNumber:5},this)}function de({skill:r,selected:t,onSelect:s}){const{t:a,i18n:u}=k(),l=nr(r.updatedAt,u.language),n=X(r.type),o={skill:we,template:ve,agent:Ne,workflow:xe,plugin:ye},g={skill:r.isInstalled?"bg-blue-100 text-blue-600":"bg-gray-100 text-gray-500",template:"bg-amber-100 text-amber-700",agent:"bg-emerald-100 text-emerald-700",workflow:"bg-cyan-100 text-cyan-700",plugin:"bg-rose-100 text-rose-700"},c=o[n];return e.jsxDEV("button",{type:"button",onClick:()=>s(r.name),className:`w-full rounded-xl border p-3 text-left transition-colors ${t?"border-blue-200 bg-blue-50 shadow-sm":"border-transparent bg-white hover:border-gray-200 hover:bg-gray-50"}`,children:e.jsxDEV("div",{className:"flex items-start gap-3",children:[e.jsxDEV("div",{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-xl ${g[n]}`,children:e.jsxDEV(c,{size:18},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:557,columnNumber:11},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:554,columnNumber:9},this),e.jsxDEV("div",{className:"min-w-0 flex-1",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.jsxDEV("span",{className:"truncate text-sm font-semibold text-gray-900",children:r.displayName||r.name},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:562,columnNumber:13},this),r.trustLevel==="trusted"&&e.jsxDEV(he,{className:"h-3.5 w-3.5 shrink-0 text-green-600"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:563,columnNumber:48},this),r.trustLevel==="verified"&&e.jsxDEV(pe,{className:"h-3.5 w-3.5 shrink-0 text-blue-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:564,columnNumber:49},this),e.jsxDEV(De,{type:r.type},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:565,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:561,columnNumber:11},this),e.jsxDEV("p",{className:"mt-1 line-clamp-2 text-xs text-gray-500",children:r.description||a("market.card.noDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:567,columnNumber:11},this),e.jsxDEV("p",{className:"mt-2 text-[11px] text-gray-400",children:[r.registryName||r.author||a("market.card.unknownAuthor"),l?` · ${a("market.list.updatedLabel",{time:l})}`:""]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:570,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:560,columnNumber:9},this),e.jsxDEV("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[r.isInstalled&&e.jsxDEV("span",{className:"rounded-full bg-green-100 px-2 py-0.5 text-[10px] font-medium text-green-700",children:a("market.badges.installed")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:578,columnNumber:13},this),r.hasUpdate&&e.jsxDEV("span",{className:"inline-flex items-center gap-1 rounded-full bg-orange-50 px-2 py-0.5 text-[10px] font-medium text-orange-700",children:[e.jsxDEV(ke,{size:10},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:584,columnNumber:15},this),a("market.badges.updateAvailable",{version:r.remoteVersion})]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:583,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:576,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:553,columnNumber:7},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:544,columnNumber:5},this)}function $({icon:r,label:t,value:s}){return e.jsxDEV("div",{className:"rounded-xl border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[e.jsxDEV("span",{className:"text-gray-400",children:r},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:606,columnNumber:9},this),e.jsxDEV("span",{children:t},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:607,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:605,columnNumber:7},this),e.jsxDEV("p",{className:"mt-2 text-sm font-semibold text-gray-900",children:s},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:609,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:604,columnNumber:5},this)}function hr({skill:r,markdownBody:t,descriptionLoading:s,descriptionError:a,busy:u,canInstall:l,onInstall:n,onUninstall:o,onRefresh:g}){const{t:c,i18n:h}=k(),b=typeof(r==null?void 0:r.installCount)=="number";return r?e.jsxDEV("section",{className:"flex h-full min-h-[520px] flex-col rounded-2xl border border-gray-200 bg-white p-6 shadow-sm",children:[e.jsxDEV("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-gray-200 pb-5",children:[e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxDEV("h2",{className:"text-2xl font-semibold text-gray-900",children:r.displayName||r.name},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:657,columnNumber:13},this),e.jsxDEV("span",{className:"rounded-full bg-gray-100 px-2.5 py-1 text-xs font-medium text-gray-600",children:["v",r.version]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:658,columnNumber:13},this),r.hasUpdate&&e.jsxDEV("span",{className:"inline-flex items-center gap-1 rounded-full bg-orange-50 px-2.5 py-1 text-xs font-medium text-orange-700",children:[e.jsxDEV(ke,{size:12},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:661,columnNumber:17},this),c("market.badges.updateAvailable",{version:r.remoteVersion})]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:660,columnNumber:15},this),e.jsxDEV(De,{type:r.type},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:665,columnNumber:13},this),e.jsxDEV(cr,{level:r.trustLevel},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:666,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:656,columnNumber:11},this),e.jsxDEV("p",{className:"mt-2 text-sm text-gray-500",children:r.registryName||r.author||c("market.card.unknownAuthor")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:669,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:655,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap items-center gap-2",children:[r.isInstalled?e.jsxDEV("button",{type:"button",onClick:()=>o(r.name),disabled:u,className:"inline-flex items-center gap-2 rounded-lg bg-red-50 px-4 py-2 text-sm font-medium text-red-600 transition-colors hover:bg-red-100 disabled:cursor-not-allowed disabled:opacity-50",children:[u?e.jsxDEV(M,{size:16,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:682,columnNumber:23},this):e.jsxDEV(be,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:682,columnNumber:72},this),c("market.actions.uninstall")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:676,columnNumber:13},this):(()=>{const N=Ee(r);return N.allowed?e.jsxDEV("button",{type:"button",onClick:()=>n(r),disabled:u||!l,className:"inline-flex items-center gap-2 rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600 disabled:cursor-not-allowed disabled:opacity-50",children:[u?e.jsxDEV(M,{size:16,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:694,columnNumber:25},this):e.jsxDEV(J,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:694,columnNumber:74},this),c("market.actions.install")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:688,columnNumber:15},this):e.jsxDEV("span",{className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-400",children:[e.jsxDEV(F,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:699,columnNumber:17},this),c(N.reason)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:698,columnNumber:15},this)})(),e.jsxDEV("button",{type:"button",onClick:g,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsxDEV(ge,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:710,columnNumber:13},this),c("market.actions.checkUpdates")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:705,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:674,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:654,columnNumber:7},this),e.jsxDEV("div",{className:"space-y-6 py-6",children:[r.isCustomized&&r.hasUpdate&&e.jsxDEV("div",{className:"flex items-start gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsxDEV(Z,{size:16,className:"mt-0.5 shrink-0 text-amber-600"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:719,columnNumber:13},this),e.jsxDEV("p",{className:"text-sm text-amber-800",children:c("market.badges.customizedWarning")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:720,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:718,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.description")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:726,columnNumber:11},this),e.jsxDEV("div",{className:"mt-2",children:[r.description&&e.jsxDEV("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:r.description},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:729,columnNumber:15},this),s?e.jsxDEV("div",{className:"mt-3 flex items-center gap-2 text-sm text-gray-500",children:[e.jsxDEV(M,{size:16,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:735,columnNumber:17},this),e.jsxDEV("span",{children:c("market.detail.loadingBody")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:736,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:734,columnNumber:15},this):t!=null&&t.trim()?e.jsxDEV("div",{className:r.description?"mt-3 border-t border-gray-100 pt-3":"",children:e.jsxDEV(Fe,{content:t,className:"text-sm"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:740,columnNumber:17},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:739,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[a&&e.jsxDEV("div",{className:"mt-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:a},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:745,columnNumber:19},this),!r.description&&e.jsxDEV("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:c("market.card.noDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:750,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:743,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:727,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:725,columnNumber:9},this),r.tags.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.tags")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:761,columnNumber:13},this),e.jsxDEV("div",{className:"mt-3 flex flex-wrap gap-2",children:r.tags.map(N=>e.jsxDEV("span",{className:"rounded-full border border-gray-200 bg-gray-50 px-2.5 py-1 text-xs text-gray-600",children:["#",N]},N,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:764,columnNumber:17},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:762,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:760,columnNumber:11},this),r.authors&&r.authors.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("h3",{className:"text-sm font-semibold text-gray-900",children:c("market.detail.developers")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:777,columnNumber:13},this),e.jsxDEV("div",{className:"mt-3 space-y-3",children:r.authors.map(N=>e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("img",{src:N.avatarUrl,alt:`@${N.login}`,className:"h-8 w-8 rounded-full border border-gray-200 object-cover"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:781,columnNumber:19},this),e.jsxDEV("div",{className:"min-w-0 flex-1",children:[e.jsxDEV("div",{className:"truncate text-sm font-medium text-gray-900",children:N.name||N.login},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:787,columnNumber:21},this),e.jsxDEV("div",{className:"text-xs text-gray-500",children:["@",N.login]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:788,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:786,columnNumber:19},this),typeof N.contributions=="number"&&e.jsxDEV("div",{className:"text-xs text-gray-400",children:c("market.detail.contributions",{count:N.contributions})},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:791,columnNumber:21},this)]},`${r.name}-${N.login}`,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:780,columnNumber:17},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:778,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:776,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:716,columnNumber:7},this),e.jsxDEV("div",{className:`mt-auto grid gap-3 border-t border-gray-200 pt-6 sm:grid-cols-2 ${b?"xl:grid-cols-4":"xl:grid-cols-3"}`,children:[e.jsxDEV($,{icon:e.jsxDEV(Oe,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:804,columnNumber:17},this),label:c("market.detail.stats.stars"),value:ce(r.stars,h.language)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:803,columnNumber:9},this),b&&e.jsxDEV($,{icon:e.jsxDEV(Be,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:810,columnNumber:19},this),label:c("market.detail.stats.installs"),value:ce(r.installCount,h.language)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:809,columnNumber:11},this),e.jsxDEV($,{icon:e.jsxDEV(Ye,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:816,columnNumber:17},this),label:c("market.detail.stats.license"),value:r.license||c("market.detail.unavailable")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:815,columnNumber:9},this),e.jsxDEV($,{icon:e.jsxDEV(He,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:821,columnNumber:17},this),label:c("market.detail.stats.updatedAt"),value:Me(r.updatedAt,h.language)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:820,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:802,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:653,columnNumber:5},this):e.jsxDEV("div",{className:"flex h-full min-h-[520px] items-center justify-center rounded-2xl border border-gray-200 bg-white p-8 shadow-sm",children:e.jsxDEV("div",{className:"max-w-sm text-center",children:[e.jsxDEV("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsxDEV(_e,{size:20},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:643,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:642,columnNumber:11},this),e.jsxDEV("h3",{className:"mt-4 text-base font-semibold text-gray-900",children:c("market.detail.emptyTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:645,columnNumber:11},this),e.jsxDEV("p",{className:"mt-2 text-sm text-gray-500",children:c("market.detail.emptyDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:646,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:641,columnNumber:9},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:640,columnNumber:7},this)}function fr(){const{t:r}=k(),{setPageHeader:t}=$e(),[s,a]=x.useState(!1),[u,l]=x.useState(!1),[n,o]=x.useState(""),[g,c]=x.useState(""),[h,b]=x.useState(null),[N,C]=x.useState({}),[U,v]=x.useState(null),[je,O]=x.useState(null),[z,B]=x.useState(null),{initialized:Y,loading:R,savingRegistry:Ue,deletingRegistryId:Pe,mutatingItemName:Ve,error:ee,registries:Ie,officialRegistryId:P,allItems:E,activeFilter:j,searchQuery:H,selectedItemName:T,setActiveFilter:Ce,setSearchQuery:ze,setSelectedItem:L,initialize:re,refresh:S,addRegistry:te,deleteRegistry:ae,installItem:se,uninstallItem:ie,clearError:A}=ur();x.useEffect(()=>{Y||re().catch(()=>{})},[Y,re]);const le=x.useMemo(()=>E.filter(i=>i.isInstalled).length,[E]),y=x.useMemo(()=>{const i=H.trim().toLowerCase();return E.filter(d=>j==="installed"&&!d.isInstalled||j!=="all"&&j!=="installed"&&X(d.type)!==j?!1:i?[d.displayName,d.name,d.description,d.author,d.registryName,...d.tags].filter(w=>!!w).some(w=>w.toLowerCase().includes(i)):!0)},[j,E,H]),m=x.useMemo(()=>y.find(i=>i.name===T)??y[0]??null,[y,T]),Q=m?N[m.name]:void 0;x.useEffect(()=>{const i=(m==null?void 0:m.name)??null;i!==T&&L(i)},[m,T,L]),x.useEffect(()=>{if(!m)return;if(Q!==void 0){O(null);return}let i=!1;const d=m.name;return v(d),O(null),(m.isInstalled?p.getInstalledMarketDetail(d).then(f=>f.body??""):(()=>{const f=m.registryId??P;return f?p.getRemoteMarketDetail(f,d).then(V=>V.body??""):Promise.resolve("")})()).then(f=>{i||C(V=>({...V,[d]:f}))}).catch(f=>{if(!i){if(!m.isInstalled){C(V=>({...V,[d]:""}));return}O(f instanceof Error?f.message:r("market.errors.detailLoad"))}}).finally(()=>{i||v(f=>f===d?null:f)}),()=>{i=!0}},[m==null?void 0:m.isInstalled,m==null?void 0:m.name,m==null?void 0:m.registryId,Q,P,r]);const W=x.useCallback(i=>{i&&C(d=>{if(!(i in d))return d;const w={...d};return delete w[i],w})},[]);x.useEffect(()=>{t({title:r("market.title"),subtitle:r("market.subtitle.summary",{total:E.length,installed:le}),actions:e.jsxDEV("button",{type:"button",onClick:()=>{A(),W((m==null?void 0:m.name)??null),S().catch(()=>{})},className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsxDEV(ge,{size:16,className:R?"animate-spin":""},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1012,columnNumber:11},this),r("market.actions.refresh")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1003,columnNumber:9},this)})},[E.length,A,R,S,W,m==null?void 0:m.name,t,r,le]);const q=x.useCallback(i=>{const d=i.registryId??P;d&&se(d,i.name).catch(()=>{})},[se,P]),Re=x.useCallback(i=>{const d=Ee(i);if(d.allowed){if(d.needsConfirm){B(i);return}q(i)}},[q]),Te=x.useCallback(i=>{window.confirm(r("market.actions.confirmUninstall",{name:i}))&&ie(i).catch(()=>{})},[r,ie]),Le=x.useCallback(i=>{ae(i).catch(()=>{})},[ae]),Se=x.useCallback(async()=>{b(null);try{await te(n,g||void 0),o(""),c(""),l(!1)}catch(i){b(i instanceof Error?i.message:r("market.errors.addRegistry"))}},[te,n,g,r]),G=y.filter(i=>i.isInstalled),me=y.filter(i=>!i.isInstalled);return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex flex-col gap-6",children:[ee&&e.jsxDEV("div",{className:"flex items-start gap-3 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-red-700",children:[e.jsxDEV(Z,{size:18,className:"mt-0.5 shrink-0"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1068,columnNumber:13},this),e.jsxDEV("div",{className:"min-w-0 flex-1",children:[e.jsxDEV("p",{className:"text-sm font-medium",children:r("market.errors.bannerTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1070,columnNumber:15},this),e.jsxDEV("p",{className:"mt-1 break-words text-sm",children:ee},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1071,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1069,columnNumber:13},this),e.jsxDEV("button",{type:"button",onClick:()=>{A(),S().catch(()=>{})},className:"shrink-0 rounded-md bg-red-100 px-3 py-1.5 text-xs font-medium text-red-700 transition-colors hover:bg-red-200",children:r("market.actions.retry")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1073,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1067,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-col gap-3 rounded-2xl border border-gray-200 bg-white p-4 shadow-sm lg:flex-row lg:items-center",children:[e.jsxDEV("div",{className:"relative flex-1",children:[e.jsxDEV(ue,{size:16,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1088,columnNumber:13},this),e.jsxDEV("input",{type:"search",value:H,onChange:i=>ze(i.target.value),placeholder:r("market.searchPlaceholder"),className:"w-full rounded-xl border border-gray-300 py-2.5 pl-10 pr-4 text-sm text-gray-900 placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1089,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1087,columnNumber:11},this),e.jsxDEV("button",{type:"button",onClick:()=>a(!0),className:"inline-flex items-center justify-center gap-2 rounded-xl border border-gray-200 bg-gray-50 px-4 py-2.5 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-100",children:[e.jsxDEV(rr,{size:16},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1103,columnNumber:13},this),r("market.actions.manageSources")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1098,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1086,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:["all","installed","skill","template","agent"].map(i=>e.jsxDEV("button",{type:"button",onClick:()=>Ce(i),className:`rounded-full border px-3 py-1.5 text-sm font-medium transition-colors ${j===i?"border-blue-500 bg-blue-500 text-white":"border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:r(`market.filters.${i}`)},i,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1110,columnNumber:13},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1108,columnNumber:9},this),e.jsxDEV("div",{className:"grid gap-6 lg:grid-cols-[360px_minmax(0,1fr)]",children:[e.jsxDEV("section",{className:"rounded-2xl border border-gray-200 bg-white shadow-sm",children:[e.jsxDEV("div",{className:"border-b border-gray-200 px-4 py-3",children:[e.jsxDEV("h2",{className:"text-sm font-semibold text-gray-900",children:r("market.list.title")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1128,columnNumber:15},this),e.jsxDEV("p",{className:"mt-1 text-xs text-gray-500",children:r("market.list.count",{count:y.length})},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1129,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1127,columnNumber:13},this),e.jsxDEV("div",{className:"max-h-[640px] overflow-y-auto p-3",children:R?e.jsxDEV("div",{className:"flex items-center justify-center py-16",children:e.jsxDEV(M,{size:22,className:"animate-spin text-gray-400"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1137,columnNumber:19},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1136,columnNumber:17},this):y.length===0?e.jsxDEV("div",{className:"rounded-xl border border-dashed border-gray-300 px-4 py-12 text-center",children:[e.jsxDEV("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsxDEV(ue,{size:18},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1142,columnNumber:21},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1141,columnNumber:19},this),e.jsxDEV("h3",{className:"mt-3 text-sm font-semibold text-gray-900",children:r("market.empty.filteredTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1144,columnNumber:19},this),e.jsxDEV("p",{className:"mt-2 text-xs leading-5 text-gray-500",children:r("market.empty.filteredDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1145,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1140,columnNumber:17},this):e.jsxDEV("div",{className:"space-y-3",children:[G.length>0&&e.jsxDEV("div",{className:"space-y-2",children:[e.jsxDEV("p",{className:"px-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:r("market.list.installedHeading")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1151,columnNumber:23},this),G.map(i=>e.jsxDEV(de,{skill:i,selected:(m==null?void 0:m.name)===i.name,onSelect:L},`${i.registryId??"_"}:${i.name}`,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1155,columnNumber:25},this))]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1150,columnNumber:21},this),me.length>0&&e.jsxDEV("div",{className:"space-y-2",children:[G.length>0&&e.jsxDEV("p",{className:"px-1 pt-2 text-xs font-semibold uppercase tracking-wide text-gray-400",children:r("market.list.availableHeading")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1168,columnNumber:25},this),me.map(i=>e.jsxDEV(de,{skill:i,selected:(m==null?void 0:m.name)===i.name,onSelect:L},`${i.registryId??"_"}:${i.name}`,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1173,columnNumber:25},this))]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1166,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1148,columnNumber:17},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1134,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1126,columnNumber:11},this),e.jsxDEV(hr,{skill:m,markdownBody:Q,descriptionLoading:m?U===m.name:!1,descriptionError:je,busy:m?Ve===m.name:!1,canInstall:!!((m==null?void 0:m.registryId)??P),onInstall:Re,onUninstall:Te,onRefresh:()=>{A(),W((m==null?void 0:m.name)??null),S().catch(()=>{})}},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1187,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1125,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1065,columnNumber:7},this),s&&e.jsxDEV(Nr,{registries:Ie,loading:R,deletingRegistryId:Pe,onAdd:()=>{b(null),o(""),c(""),l(!0)},onClose:()=>a(!1),onDelete:Le},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1206,columnNumber:9},this),u&&e.jsxDEV(gr,{url:n,tokenEnv:g,error:h,submitting:Ue,onChangeUrl:o,onChangeTokenEnv:c,onClose:()=>{b(null),l(!1)},onSubmit:Se},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1222,columnNumber:9},this),z&&e.jsxDEV(dr,{itemName:z.displayName||z.name,onConfirm:()=>{q(z),B(null)},onCancel:()=>B(null)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1238,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/market/MarketPage.tsx",lineNumber:1064,columnNumber:5},this)}export{fr as default};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import{aC as ce,aF as I,aH as m,aI as s,a$ as ve,b0 as ye,aM as W,aU as De,b1 as ke,aE as O,b2 as ue,aL as me,b3 as F,aY as Ee,b4 as Ve,b5 as Pe,b6 as je,aR as Ue,b7 as de,b8 as Me,b9 as Ce,ba as Le,bb as _e,bc as Se,bd as Te,be as Ae,bf as $e,bg as Ie,bh as Be,bi as Re,bj as ze,bk as Oe,bl as qe,bm as Fe,bn as He,bo as Ke,bp as Qe,bq as We,br as Je,bs as Xe,bt as Ge,bu as Ze,bv as Ye,bw as Z}from"./main-CsAwz_2W.js";/**
|
|
2
|
+
* @license lucide-react v0.563.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const et=[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]],tt=ce("braces",et);/**
|
|
7
|
+
* @license lucide-react v0.563.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const rt=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],st=ce("link-2",rt);function Y(e,n){return(e??"").toLowerCase().includes(n)}function pe(e,n){const r=n.trim().toLowerCase();if(!r)return{nodes:e,autoExpanded:new Set};const t=new Set;return{nodes:e.flatMap(l=>{const c=Y(l.name,r)||Y(l.path,r);if(l.type==="file")return c?[l]:[];if(c)return t.add(l.path),[{...l,children:l.children}];const d=pe(l.children??[],r);return d.nodes.length>0?(t.add(l.path),d.autoExpanded.forEach(p=>t.add(p)),[{...l,children:d.nodes}]):[]}),autoExpanded:t}}function ge(e){return e instanceof Error?/HTTP (404|405|501|503)\b|Failed to fetch|NetworkError/i.test(e.message):!1}const $={id:"agent_id",name:"Agent Name",role:"Agent Role",team:"Team",description:"Agent Description"};function nt(e){return{id:e.id.trim()||$.id,name:e.name.trim()||$.name,role:e.role.trim()||$.role,team:e.team.trim()||$.team,description:e.description.trim()||$.description}}function it(e,n,r){let t=!1;return e.state.doc.descendants(a=>a.type.name==="documentBlock"&&a.attrs.key===n&&a.attrs.variant===r?(t=!0,!1):!t),t}const be=["[&_h1]:mt-0","[&_h1]:mb-3","[&_h1]:text-2xl","[&_h1]:font-bold","[&_h2]:mt-0","[&_h2]:mb-2","[&_h2]:text-xl","[&_h2]:font-semibold","[&_h3]:mt-0","[&_h3]:mb-2","[&_h3]:text-lg","[&_h3]:font-semibold","[&_p]:my-2","[&_p]:leading-7","[&_ul]:my-2","[&_ol]:my-2","[&_ul]:list-disc","[&_ol]:list-decimal","[&_ul]:pl-6","[&_ol]:pl-6","[&_li]:my-1","[&_blockquote]:my-3","[&_blockquote]:border-l-4","[&_blockquote]:border-gray-300","[&_blockquote]:pl-4","[&_blockquote]:text-gray-600","[&_blockquote]:italic","[&_blockquote_p]:my-0","[&_a]:text-blue-600","[&_a]:underline","[&_hr]:my-4","[&_hr]:border-gray-300","[&_code]:rounded","[&_code]:bg-gray-100","[&_code]:px-1.5","[&_code]:py-0.5","[&_code]:font-mono","[&_code]:text-[13px]","[&_pre]:my-3","[&_pre]:overflow-x-auto","[&_pre]:rounded-lg","[&_pre]:bg-gray-900","[&_pre]:p-4","[&_pre]:text-sm","[&_pre]:text-gray-100","[&_pre_code]:bg-transparent","[&_pre_code]:p-0","[&_pre_code]:text-inherit"].join(" "),ot=["min-h-[420px]","rounded-xl","border","border-gray-200","bg-white","px-4","py-3","text-sm","text-gray-900","shadow-sm","focus:outline-none","prose","prose-sm","max-w-none",be,"[&_.is-editor-empty:first-child::before]:pointer-events-none","[&_.is-editor-empty:first-child::before]:float-left","[&_.is-editor-empty:first-child::before]:h-0","[&_.is-editor-empty:first-child::before]:text-gray-400","[&_.is-editor-empty:first-child::before]:content-[attr(data-placeholder)]"].join(" ");function at({open:e,request:n,onClose:r}){const{t}=I(),a=m.useRef(null),l=m.useRef(n),[c,d]=m.useState(""),[p,f]=m.useState(!1),[o,N]=m.useState(null),[x,v]=m.useState(!1),y=t("agent.prompt.preview.error");l.current=n;const b=async()=>{var h;if((h=a.current)==null||h.abort(),!l.current.template.trim()){d(""),N(null),v(!1),f(!1);return}const u=new AbortController;a.current=u,f(!0),N(null),v(!1);try{const w=await O.previewPrompt(l.current,{signal:u.signal});if(u.signal.aborted)return;d(w.rendered),N(null),v(!1)}catch(w){if(u.signal.aborted)return;if(ge(w)){d(""),N(null),v(!0);return}d(""),v(!1),N(w instanceof Error?w.message:y)}finally{a.current===u&&(a.current=null),f(!1)}};return m.useEffect(()=>{var u;if(!e){(u=a.current)==null||u.abort();return}b()},[e]),m.useEffect(()=>{if(!e)return;const u=h=>{h.key==="Escape"&&(h.preventDefault(),r())};return window.addEventListener("keydown",u),()=>{window.removeEventListener("keydown",u)}},[r,e]),m.useEffect(()=>()=>{var u;(u=a.current)==null||u.abort()},[]),e?s.jsxDEV("div",{"data-testid":"preview-modal-backdrop",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",onClick:r,children:s.jsxDEV("div",{role:"dialog","aria-modal":"true","data-testid":"preview-modal",onClick:u=>u.stopPropagation(),className:"flex max-h-[85vh] w-full max-w-4xl flex-col overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[s.jsxDEV("div",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-5",children:[s.jsxDEV("div",{children:s.jsxDEV("h2",{className:"text-lg font-semibold text-gray-900",children:t("agent.prompt.preview.title")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:132,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:131,columnNumber:11},this),s.jsxDEV("div",{className:"flex items-center gap-2",children:[s.jsxDEV("button",{type:"button",onClick:()=>{b()},disabled:p,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsxDEV(ve,{size:14,className:p?"animate-spin":""},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:143,columnNumber:15},this),t("agent.prompt.preview.refresh")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:135,columnNumber:13},this),s.jsxDEV("button",{type:"button",onClick:r,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[s.jsxDEV(ye,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:151,columnNumber:15},this),t("common.close")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:146,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:134,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:130,columnNumber:9},this),s.jsxDEV("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:n.template.trim()?p?s.jsxDEV("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[s.jsxDEV(W,{size:16,className:"animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:162,columnNumber:15},this),s.jsxDEV("span",{children:t("agent.prompt.preview.loading")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:163,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:161,columnNumber:13},this):x?s.jsxDEV("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.unavailable")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:166,columnNumber:13},this):o?s.jsxDEV("div",{className:"space-y-2",children:[s.jsxDEV("div",{className:"text-sm font-medium text-red-600",children:t("agent.prompt.preview.error")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:169,columnNumber:15},this),s.jsxDEV("div",{className:"text-sm text-red-500",children:o},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:170,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:168,columnNumber:13},this):s.jsxDEV(De,{content:c,className:be},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:173,columnNumber:13},this):s.jsxDEV("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.empty")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:159,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:157,columnNumber:9},this),s.jsxDEV("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[s.jsxDEV("button",{type:"button",onClick:()=>{var u;return void((u=navigator.clipboard)==null?void 0:u.writeText(c))},disabled:!c,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200 disabled:cursor-not-allowed disabled:opacity-50",children:[s.jsxDEV(ke,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:184,columnNumber:13},this),t("agent.prompt.preview.copy")]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:178,columnNumber:11},this),s.jsxDEV("button",{type:"button",onClick:r,className:"rounded-lg bg-blue-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-blue-600",children:t("common.close")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:187,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:177,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:123,columnNumber:7},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/PreviewModal.tsx",lineNumber:118,columnNumber:5},this):null}function lt({trigger:e,items:n,searchable:r=!1,searchPlaceholder:t,emptyLabel:a}){const l=m.useRef(null),c=m.useRef(null),[d,p]=m.useState(!1),[f,o]=m.useState(""),[N,x]=m.useState(0),v=m.useMemo(()=>{const u=f.trim().toLowerCase();return u?n.filter(h=>h.label.toLowerCase().includes(u)?!0:h.actions.some(w=>w.label.toLowerCase().includes(u))):n},[n,f]),y=m.useMemo(()=>v.flatMap(u=>u.actions.map(h=>({itemLabel:u.label,actionLabel:h.label,onClick:h.onClick}))),[v]);m.useEffect(()=>{var u;if(!d){o(""),x(0);return}r&&((u=c.current)==null||u.focus())},[d,r]),m.useEffect(()=>{N<y.length||x(Math.max(y.length-1,0))},[y.length,N]),m.useEffect(()=>{if(!d)return;const u=w=>{var P;(P=l.current)!=null&&P.contains(w.target)||p(!1)},h=w=>{var P;if(w.key==="Escape"){w.preventDefault(),p(!1);return}if(y.length!==0){if(w.key==="ArrowDown"){w.preventDefault(),x(C=>(C+1)%y.length);return}if(w.key==="ArrowUp"){w.preventDefault(),x(C=>(C-1+y.length)%y.length);return}w.key==="Enter"&&(w.preventDefault(),(P=y[N])==null||P.onClick(),p(!1))}};return window.addEventListener("mousedown",u),window.addEventListener("keydown",h),()=>{window.removeEventListener("mousedown",u),window.removeEventListener("keydown",h)}},[y,N,d]);let b=-1;return s.jsxDEV("div",{ref:l,className:"relative",children:[s.jsxDEV("button",{type:"button",onMouseDown:u=>u.preventDefault(),onClick:()=>p(u=>!u),className:"inline-flex items-center gap-1 rounded-md border border-gray-200 bg-white px-2.5 py-1.5 text-xs font-medium text-gray-700 transition hover:border-gray-300 hover:bg-gray-100",children:[s.jsxDEV("span",{children:e},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:155,columnNumber:9},this),s.jsxDEV(ue,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:156,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:149,columnNumber:7},this),d?s.jsxDEV("div",{className:"absolute left-0 top-[calc(100%+0.5rem)] z-20 w-72 rounded-xl border border-gray-200 bg-white p-2 shadow-lg",children:[r?s.jsxDEV("label",{className:"mb-2 flex items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-xs text-gray-500",children:[s.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:163,columnNumber:15},this),s.jsxDEV("input",{ref:c,value:f,onChange:u=>{o(u.target.value),x(0)},className:"w-full bg-transparent text-sm text-gray-700 outline-none","aria-label":t,placeholder:t},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:164,columnNumber:15},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:162,columnNumber:13},this):null,s.jsxDEV("div",{className:"max-h-80 space-y-1 overflow-y-auto",children:v.length===0?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:a??""},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:180,columnNumber:15},this):v.map(u=>s.jsxDEV("div",{className:"rounded-lg border border-gray-100 px-3 py-2",children:[s.jsxDEV("div",{className:"text-sm font-medium text-gray-900",children:u.label},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:184,columnNumber:19},this),u.actions.length>0?s.jsxDEV("div",{className:"mt-2 flex flex-wrap gap-2",children:u.actions.map(h=>{b+=1;const w=b===N;return s.jsxDEV("button",{type:"button",onMouseDown:P=>P.preventDefault(),onClick:()=>{h.onClick(),p(!1)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition ${w?"bg-blue-500 text-white":"border border-gray-200 bg-white text-gray-700 hover:border-gray-300 hover:bg-gray-100"}`,children:h.label},`${u.label}-${h.label}`,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:192,columnNumber:27},this)})},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:186,columnNumber:21},this):s.jsxDEV("div",{className:"mt-1 text-xs text-gray-500",children:a??u.label},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:212,columnNumber:21},this)]},u.label,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:183,columnNumber:17},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:178,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:160,columnNumber:9},this):null]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/ToolbarDropdown.tsx",lineNumber:148,columnNumber:5},this)}function ee(e){return e.replace(/\\/g,"/").replace(/^\.?\//,"")}function te(e,n){return(e??"").toLowerCase().includes(n)}function ct({documents:e,documentsLoading:n,documentsError:r,documentsUnavailable:t,onInsertDocument:a,onRefetchDocuments:l}){const{t:c}=I(),d=m.useRef(null),p=m.useRef(null),[f,o]=m.useState(!1),[N,x]=m.useState(""),[v,y]=m.useState([]),[b,u]=m.useState(!1),[h,w]=m.useState(null),[P,C]=m.useState(new Set),[i,D]=m.useState(!1),[E,M]=m.useState(null);m.useEffect(()=>{var k;if(!f||((k=p.current)==null||k.focus(),v.length>0||b))return;let g=!1;return(async()=>{u(!0),w(null);try{const U=await O.getDocTree();g||y(U)}catch(U){g||w(U instanceof Error?U.message:c("agent.prompt.documentPicker.treeError"))}finally{g||u(!1)}})(),()=>{g=!0}},[f,v.length]),m.useEffect(()=>{f||(x(g=>g&&""),C(g=>g.size>0?new Set:g))},[f]),m.useEffect(()=>{if(!f)return;const g=k=>{var U;(U=d.current)!=null&&U.contains(k.target)||o(!1)},V=k=>{k.key==="Escape"&&(k.preventDefault(),o(!1))};return window.addEventListener("mousedown",g),window.addEventListener("keydown",V),()=>{window.removeEventListener("mousedown",g),window.removeEventListener("keydown",V)}},[f]);const j=N.trim().toLowerCase(),_=m.useMemo(()=>e.filter(g=>g.type==="inline"),[e]),B=m.useMemo(()=>{const g=e.filter(V=>V.type==="file"&&V.path);return V=>{const k=ee(V),U=g.find(we=>ee(we.path??"")===k);return U==null?void 0:U.key}},[e]),S=m.useMemo(()=>j?_.filter(g=>te(g.key,j)||te(g.summary,j)):_,[_,j]),A=m.useMemo(()=>pe(v,j),[j,v]),xe=m.useMemo(()=>{if(!j)return P;const g=new Set(P);return A.autoExpanded.forEach(V=>g.add(V)),g},[P,A.autoExpanded,j]),q=g=>{a(g,"content"),o(!1)},Ne=async g=>{M(null);const V=B(g);if(V){q(V);return}try{D(!0);const k=await O.registerDocument({path:g});q(k.key),l==null||l()}catch(k){M(k instanceof Error?k.message:c("agent.prompt.documentPicker.registerError"))}finally{D(!1)}},X=n||r||t||S.length>0,G=b||h||A.nodes.length>0;return s.jsxDEV("div",{ref:d,className:"relative",children:[s.jsxDEV("button",{type:"button",onMouseDown:g=>g.preventDefault(),onClick:()=>o(g=>!g),className:"inline-flex items-center gap-1 rounded-md border border-gray-200 bg-white px-2.5 py-1.5 text-xs font-medium text-gray-700 transition hover:border-gray-300 hover:bg-gray-100","aria-label":c("agent.prompt.documentInsert"),children:[s.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[s.jsxDEV(F,{className:"h-4 w-4"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:208,columnNumber:11},this),s.jsxDEV("span",{children:c("agent.prompt.documentInsert")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:209,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:207,columnNumber:9},this),s.jsxDEV(ue,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:211,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:200,columnNumber:7},this),f?s.jsxDEV("div",{className:"absolute left-0 top-[calc(100%+0.5rem)] z-20 w-80 rounded-xl border border-gray-200 bg-white p-2 shadow-lg","data-testid":"document-picker-popover",children:[s.jsxDEV("label",{className:"mb-2 flex items-center gap-2 rounded-lg border border-gray-200 bg-gray-50 px-3 py-2 text-xs text-gray-500",children:[s.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:220,columnNumber:13},this),s.jsxDEV("input",{ref:p,value:N,onChange:g=>x(g.target.value),className:"w-full bg-transparent text-sm text-gray-700 outline-none","aria-label":c("agent.prompt.documentPicker.searchPlaceholder"),placeholder:c("agent.prompt.documentPicker.searchPlaceholder")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:221,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:219,columnNumber:11},this),s.jsxDEV("div",{className:"max-h-96 space-y-3 overflow-y-auto",children:[X?s.jsxDEV("section",{children:[s.jsxDEV("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[s.jsxDEV(Ee,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:235,columnNumber:19},this),s.jsxDEV("span",{children:c("agent.prompt.documentPicker.inlineSection")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:236,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:234,columnNumber:17},this),n?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertLoading")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:240,columnNumber:19},this):r?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:r},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:244,columnNumber:19},this):t?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertUnavailable")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:246,columnNumber:19},this):S.length===0?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noInlineResults")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:250,columnNumber:19},this):s.jsxDEV("div",{className:"space-y-1",children:S.map(g=>s.jsxDEV("button",{type:"button",onMouseDown:V=>V.preventDefault(),onClick:()=>q(g.key),className:"flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-sm text-gray-700 transition hover:bg-gray-100",children:[s.jsxDEV(F,{className:"h-4 w-4 shrink-0 text-gray-400"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:263,columnNumber:25},this),s.jsxDEV("span",{className:"truncate",children:g.key},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:264,columnNumber:25},this)]},g.key,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:256,columnNumber:23},this))},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:254,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:233,columnNumber:15},this):null,G?s.jsxDEV("section",{children:[s.jsxDEV("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[s.jsxDEV(F,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:275,columnNumber:19},this),s.jsxDEV("span",{children:c("agent.prompt.documentPicker.docsSection")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:276,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:274,columnNumber:17},this),b?s.jsxDEV("div",{className:"flex items-center gap-2 rounded-lg px-3 py-2 text-sm text-gray-500",children:[s.jsxDEV(W,{className:"h-4 w-4 animate-spin"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:281,columnNumber:21},this),s.jsxDEV("span",{children:c("agent.prompt.documentPicker.treeLoading")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:282,columnNumber:21},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:280,columnNumber:19},this):h?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:h},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:285,columnNumber:19},this):A.nodes.length===0?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noTreeResults")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:287,columnNumber:19},this):s.jsxDEV(s.Fragment,{children:[s.jsxDEV(Ve,{nodes:A.nodes,expandedFolders:xe,onToggle:g=>C(V=>{const k=new Set(V);return k.has(g)?k.delete(g):k.add(g),k}),onSelect:g=>{i||Ne(g)},selectedPath:null,isFileDisabled:()=>i,renderFileSuffix:g=>B(g.path)?s.jsxDEV(st,{className:"h-3.5 w-3.5 shrink-0 text-blue-500","aria-label":c("agent.prompt.documentPicker.linked")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:314,columnNumber:27},this):i?s.jsxDEV(W,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:316,columnNumber:27},this):null},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:292,columnNumber:21},this),E?s.jsxDEV("div",{className:"mt-1 rounded-lg px-3 py-2 text-sm text-red-500",role:"alert",children:E},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:321,columnNumber:23},this):null]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:291,columnNumber:19},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:273,columnNumber:15},this):null,!X&&!G?s.jsxDEV("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertEmpty")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:331,columnNumber:15},this):null]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:231,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:215,columnNumber:9},this):null]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/components/DocumentPicker.tsx",lineNumber:199,columnNumber:5},this)}function ut({deleteNode:e,extension:n,node:r,updateAttributes:t}){const{t:a}=I(),l=m.useRef(null),[c,d]=m.useState(!1),p=String(r.attrs.key??""),f=String(r.attrs.variant??"content"),o=n.options.getVariantLabel;m.useEffect(()=>{if(!c)return;const x=y=>{var b;(b=l.current)!=null&&b.contains(y.target)||d(!1)},v=y=>{y.key==="Escape"&&(y.preventDefault(),d(!1))};return window.addEventListener("mousedown",x),window.addEventListener("keydown",v),()=>{window.removeEventListener("mousedown",x),window.removeEventListener("keydown",v)}},[c]);const N=[{value:"content",label:o("content")},{value:"toc",label:o("toc")}];return s.jsxDEV(Pe,{as:"span",ref:l,className:"relative inline-flex","data-testid":"document-block-node",children:[s.jsxDEV("button",{type:"button","data-testid":"document-block-trigger",onMouseDown:x=>x.preventDefault(),onClick:()=>d(x=>!x),className:"inline-flex items-center rounded-lg border border-amber-200 bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700",children:`📄 ${p} · ${o(f)}`},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:57,columnNumber:7},this),c?s.jsxDEV("span",{className:"absolute left-0 top-[calc(100%+0.375rem)] z-20 min-w-32 rounded-lg border border-gray-200 bg-white p-1 shadow-lg","data-testid":"document-block-popover",children:[N.map(x=>{const v=x.value===f;return s.jsxDEV("button",{type:"button","data-testid":`document-block-option-${x.value}`,onMouseDown:y=>y.preventDefault(),onClick:()=>{t({variant:x.value}),d(!1)},className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-gray-700 transition hover:bg-gray-100",children:[s.jsxDEV("span",{className:"inline-flex h-4 w-4 items-center justify-center",children:v?s.jsxDEV(je,{className:"h-4 w-4 text-blue-500"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:88,columnNumber:31},this):null},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:87,columnNumber:17},this),s.jsxDEV("span",{children:x.label},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:90,columnNumber:17},this)]},x.value,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:76,columnNumber:15},this)}),s.jsxDEV("div",{className:"my-1 border-t border-gray-100"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:95,columnNumber:11},this),s.jsxDEV("button",{type:"button","data-testid":"document-block-delete",onMouseDown:x=>x.preventDefault(),onClick:()=>{e(),d(!1)},className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-sm text-red-600 transition hover:bg-red-50",children:[s.jsxDEV(Ue,{className:"h-4 w-4"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:107,columnNumber:13},this),s.jsxDEV("span",{children:a("agent.prompt.documentChip.delete")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:108,columnNumber:13},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:97,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:68,columnNumber:9},this):null]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/extensions/DocumentBlockView.tsx",lineNumber:51,columnNumber:5},this)}const mt=de.create({name:"documentBlock",addOptions(){return{getVariantLabel:e=>String(e)}},inline:!0,group:"inline",atom:!0,draggable:!0,selectable:!0,addAttributes(){return{key:{default:""},variant:{default:"content"}}},parseHTML(){return[{tag:"span[data-doc-block]"}]},renderHTML({HTMLAttributes:e,node:n}){const r=String(n.attrs.key??""),t=String(n.attrs.variant??"content"),a=this.options.getVariantLabel(t);return["span",Ce(e,{"data-doc-block":"true","data-key":r,"data-variant":t,"data-testid":"document-block",class:"inline-flex items-center rounded-lg border border-amber-200 bg-amber-50 px-2 py-0.5 text-xs font-medium text-amber-700"}),`📄 ${r} · ${a}`]},addNodeView(){return Me(ut)}}),dt=Le.extend({name:"variableMention",addAttributes(){return{variable:{default:"",parseHTML:e=>e.getAttribute("data-variable")??"",renderHTML:e=>({"data-variable":e.variable})}}},renderText({node:e}){return`{{${String(e.attrs.variable??"")}}}`},renderHTML({node:e,HTMLAttributes:n}){return["span",{...n,class:"inline-flex items-center rounded-full bg-blue-500 px-2 py-0.5 text-xs font-semibold text-white","data-testid":"variable-chip"},String(e.attrs.variable??"")]}}),he=["agent.id","agent.name","agent.role","agent.team","agent.description"],re=["bold","italic","strike","code"],se={bold:{open:"**",close:"**"},italic:{open:"*",close:"*"},strike:{open:"~~",close:"~~"},code:{open:"`",close:"`"}};function pt(e){return he.includes(e)}function fe(e,n){return n&&n.length>0?{type:"text",text:e,marks:n}:{type:"text",text:e}}function H(e,n,r){if(!n)return;const t=e[e.length-1],a=JSON.stringify(r??[]),l=JSON.stringify((t==null?void 0:t.marks)??[]);if((t==null?void 0:t.type)==="text"&&a===l){t.text=`${t.text??""}${n}`;return}e.push(fe(n,r))}function R(e,...n){return e.map(r=>{if(r.type!=="text")return r;const t=new Set((r.marks??[]).map(l=>l.type)),a=n.filter(l=>!t.has(l)).map(l=>({type:l}));return{...r,marks:[...r.marks??[],...a]}})}function gt(e){const n=e.match(/^\{\{(agent\.(?:id|name|role|team|description))\}\}$/);return!n||!pt(n[1])?null:{type:"variableMention",attrs:{variable:n[1]}}}function J(e){const n=e.match(/^\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\}$/);return n?{type:"documentBlock",attrs:{key:n[1],variant:n[2]}}:null}function bt(e,n){const r=e[n].match(/^<document\b[^>]*>\s*(\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\})\s*<\/document>\s*$/);if(r){const p=J(r[1]);if(p)return{node:{type:"paragraph",content:[p]},nextIndex:n+1}}if(!/^<document\b[^>]*>\s*$/.test(e[n]??""))return null;let t=n+1;for(;t<e.length&&(e[t]??"").trim()==="";)t+=1;const l=(e[t]??"").trim();for(t+=1;t<e.length&&(e[t]??"").trim()==="";)t+=1;if((e[t]??"").trim()!=="</document>")return null;const d=J(l);return d?{node:{type:"paragraph",content:[d]},nextIndex:t+1}:null}function K(e,n,r,t){return e.startsWith(n,t)?e.indexOf(r,t+n.length):-1}function ht(e,n){const r=[e.indexOf("{{{documents.",n),e.indexOf("{{agent.",n),e.indexOf("**",n),e.indexOf("~~",n),e.indexOf("`",n),e.indexOf("*",n)].filter(t=>t>=0);return r.length>0?Math.min(...r):-1}function L(e,n=!1){const r=[];let t=0;for(;t<e.length;){const a=K(e,"***","***",t);if(a>t){const o=e.slice(t+3,a);r.push(...R(L(o,n),"bold","italic")),t=a+3;continue}if(!n&&e.startsWith("{{{documents.",t)){const o=e.indexOf("}}}",t);if(o>t){const N=e.slice(t,o+3),x=J(N);if(x){r.push(x),t=o+3;continue}}}if(!n&&e.startsWith("{{agent.",t)){const o=e.indexOf("}}",t);if(o>t){const N=e.slice(t,o+2),x=gt(N);if(x){r.push(x),t=o+2;continue}}}const l=K(e,"**","**",t);if(l>t){const o=e.slice(t+2,l);r.push(...R(L(o,n),"bold")),t=l+2;continue}const c=K(e,"~~","~~",t);if(c>t){const o=e.slice(t+2,c);r.push(...R(L(o,n),"strike")),t=c+2;continue}const d=e[t]==="*"&&!e.startsWith("**",t)?e.indexOf("*",t+1):-1;if(d>t){const o=e.slice(t+1,d);r.push(...R(L(o,n),"italic")),t=d+1;continue}if(e[t]==="`"){const o=e.indexOf("`",t+1);if(o>t){H(r,e.slice(t+1,o),[{type:"code"}]),t=o+1;continue}}const p=ht(e,t),f=p>=0?p:e.length;if(f===t){H(r,e[t]),t+=1;continue}H(r,e.slice(t,f)),t=f}return r}function ft(e){const n=e.split(`
|
|
12
|
+
`),r=[];return n.forEach((t,a)=>{r.push(...L(t)),a<n.length-1&&r.push({type:"hardBreak"})}),{type:"paragraph",content:r}}function ne(e,n){const r=n?"orderedList":"bulletList",t=n?/^\d+\.\s+/:/^[-*]\s+/;return{type:r,content:e.map(a=>({type:"listItem",content:[{type:"paragraph",content:L(a.replace(t,""))}]}))}}function xt(e){return/^#{1,3}\s+/.test(e)||/^```/.test(e)||/^---+$/.test(e)||/^[-*]\s+/.test(e)||/^\d+\.\s+/.test(e)}function Nt(e){const n=new Set((e??[]).map(r=>r.type).filter(r=>re.includes(r)));return re.filter(r=>n.has(r))}function wt(e,n){let r=0;for(;r<e.length&&r<n.length&&e[r]===n[r];)r+=1;return r}function ie(e){return e.replace(/&/g,"&").replace(/"/g,""").trim()}function vt(e,n,r){var t,a,l,c;if(e.type==="hardBreak")return`
|
|
13
|
+
`;if(e.type==="variableMention"){const d=String(((t=e.attrs)==null?void 0:t.variable)??"");return n==="preview"?`**{{${d}}}**`:`{{${d}}}`}if(e.type==="documentBlock"){const d=String(((a=e.attrs)==null?void 0:a.key)??""),p=String(((l=e.attrs)==null?void 0:l.variant)??"content"),f=`{{{documents.${d}.${p}}}}`,o=((c=r==null?void 0:r.getDocumentMeta)==null?void 0:c.call(r,d))??{name:d},N=[`name="${ie(o.name)}"`];return o.path&&N.push(`path="${ie(o.path)}"`),N.push(`type="${p}"`),`<document ${N.join(" ")}>
|
|
14
|
+
|
|
15
|
+
${f}
|
|
16
|
+
|
|
17
|
+
</document>`}return T(e.content,n,r)}function T(e,n,r){let t="",a=[];const l=c=>{const d=wt(a,c);for(let p=a.length-1;p>=d;p-=1)t+=se[a[p]].close;for(let p=d;p<c.length;p+=1)t+=se[c[p]].open;a=c};for(const c of e??[]){if(c.type==="text"){l(Nt(c.marks)),t+=c.text??"";continue}l([]),t+=vt(c,n,r)}return l([]),t}function Q(e){const n=e.replace(/\r\n?/g,`
|
|
18
|
+
`);if(!n.trim())return{type:"doc",content:[]};const r=n.split(`
|
|
19
|
+
`),t=[];let a=0;for(;a<r.length;){const l=r[a];if(!l.trim()){a+=1;continue}const c=bt(r,a);if(c){t.push(c.node),a=c.nextIndex;continue}const d=l.match(/^```(\S+)?\s*$/);if(d){const o=d[1]??null,N=[];for(a+=1;a<r.length&&!/^```/.test(r[a]);)N.push(r[a]),a+=1;a<r.length&&(a+=1),t.push({type:"codeBlock",attrs:o?{language:o}:{},content:[fe(N.join(`
|
|
20
|
+
`))]});continue}const p=l.match(/^(#{1,3})\s+(.*)$/);if(p){t.push({type:"heading",attrs:{level:p[1].length},content:L(p[2])}),a+=1;continue}if(/^---+$/.test(l)){t.push({type:"horizontalRule"}),a+=1;continue}if(/^[-*]\s+/.test(l)){const o=[];for(;a<r.length&&/^[-*]\s+/.test(r[a]);)o.push(r[a]),a+=1;t.push(ne(o,!1));continue}if(/^\d+\.\s+/.test(l)){const o=[];for(;a<r.length&&/^\d+\.\s+/.test(r[a]);)o.push(r[a]),a+=1;t.push(ne(o,!0));continue}const f=[l];for(a+=1;a<r.length&&r[a].trim()&&!xt(r[a]);)f.push(r[a]),a+=1;t.push(ft(f.join(`
|
|
21
|
+
`)))}return{type:"doc",content:t}}function yt(e,n,r){var t,a,l,c;switch(e.type){case"heading":{const d=Number(((t=e.attrs)==null?void 0:t.level)??1);return`${"#".repeat(Math.max(1,Math.min(3,d)))} ${T(e.content,n,r)}`}case"bulletList":return(e.content??[]).map(d=>{var p,f;return`- ${T((f=(p=d.content)==null?void 0:p[0])==null?void 0:f.content,n,r)}`}).join(`
|
|
22
|
+
`);case"orderedList":return(e.content??[]).map((d,p)=>{var f,o;return`${p+1}. ${T((o=(f=d.content)==null?void 0:f[0])==null?void 0:o.content,n,r)}`}).join(`
|
|
23
|
+
`);case"codeBlock":{const d=typeof((a=e.attrs)==null?void 0:a.language)=="string"?e.attrs.language:"",p=((c=(l=e.content)==null?void 0:l[0])==null?void 0:c.text)??"";return`\`\`\`${d}
|
|
24
|
+
${p}
|
|
25
|
+
\`\`\``}case"horizontalRule":return"---";case"paragraph":return T(e.content,n,r);default:return T(e.content,n,r)}}function oe(e,n){return(e.content??[]).map(r=>yt(r,"hbs",n)).join(`
|
|
26
|
+
|
|
27
|
+
`)}function Dt(e){return/\{\{agent\.(?:id|name|role|team|description)\}\}|\{\{\{documents\.[^.\s}]+\.(?:content|toc)\}\}\}|<document\b[^>]*>/.test(e)}function kt(e,n){return{type:"documentBlock",attrs:{key:e,variant:n}}}function ae(e){return{type:"variableMention",attrs:{variable:e}}}function z(e){return!e.isActive("codeBlock")&&!e.isActive("code")}function le(e,n,r){return z(e)?it(e,n,r)?!1:(e.chain().focus().insertContent(kt(n,r)).run(),!0):(e.chain().focus().insertContent(`{{{documents.${n}.${r}}}}`).run(),!0)}const Et=m.forwardRef(function({value:n,onChange:r,documents:t,documentsLoading:a,documentsError:l,documentsUnavailable:c,onPreview:d,onRefetchDocuments:p},f){const{t:o}=I(),N=m.useRef(null),x=m.useMemo(()=>({content:o("agent.prompt.variantContent"),toc:o("agent.prompt.variantToc")}),[o]),v=m.useMemo(()=>i=>{var E;const D=t.find(M=>M.key===i);if((D==null?void 0:D.type)==="file"&&D.path){const M=D.path.split("/").filter(Boolean);return{name:M[M.length-1]??i,path:D.path}}return{name:((E=D==null?void 0:D.summary)==null?void 0:E.trim())||i}},[t]),y=m.useMemo(()=>[{key:"headings",buttons:[{key:"h1",label:o("agent.prompt.toolbar.h1"),icon:_e,shortcut:"Cmd+Alt+1",action:i=>{i.chain().focus().toggleHeading({level:1}).run()},isActive:i=>i.isActive("heading",{level:1})},{key:"h2",label:o("agent.prompt.toolbar.h2"),icon:Se,shortcut:"Cmd+Alt+2",action:i=>{i.chain().focus().toggleHeading({level:2}).run()},isActive:i=>i.isActive("heading",{level:2})},{key:"h3",label:o("agent.prompt.toolbar.h3"),icon:Te,shortcut:"Cmd+Alt+3",action:i=>{i.chain().focus().toggleHeading({level:3}).run()},isActive:i=>i.isActive("heading",{level:3})}]},{key:"text",buttons:[{key:"bold",label:o("agent.prompt.toolbar.bold"),icon:Ae,shortcut:"Cmd+B",action:i=>{i.chain().focus().toggleBold().run()},isActive:i=>i.isActive("bold")},{key:"italic",label:o("agent.prompt.toolbar.italic"),icon:$e,shortcut:"Cmd+I",action:i=>{i.chain().focus().toggleItalic().run()},isActive:i=>i.isActive("italic")},{key:"strike",label:o("agent.prompt.toolbar.strike"),icon:Ie,shortcut:"Cmd+Shift+S",action:i=>{i.chain().focus().toggleStrike().run()},isActive:i=>i.isActive("strike")}]},{key:"lists",buttons:[{key:"bulletList",label:o("agent.prompt.toolbar.bulletList"),icon:Be,shortcut:"Cmd+Shift+8",action:i=>{i.chain().focus().toggleBulletList().run()},isActive:i=>i.isActive("bulletList")},{key:"orderedList",label:o("agent.prompt.toolbar.orderedList"),icon:Re,shortcut:"Cmd+Shift+7",action:i=>{i.chain().focus().toggleOrderedList().run()},isActive:i=>i.isActive("orderedList")},{key:"blockquote",label:o("agent.prompt.toolbar.blockquote"),icon:ze,shortcut:"Cmd+Shift+B",action:i=>{i.chain().focus().toggleBlockquote().run()},isActive:i=>i.isActive("blockquote")}]},{key:"code",buttons:[{key:"code",label:o("agent.prompt.toolbar.code"),icon:Oe,shortcut:"Cmd+E",action:i=>{i.chain().focus().toggleCode().run()},isActive:i=>i.isActive("code")},{key:"codeBlock",label:o("agent.prompt.toolbar.codeBlock"),icon:qe,shortcut:"Cmd+Alt+C",action:i=>{i.chain().focus().toggleCodeBlock().run()},isActive:i=>i.isActive("codeBlock")},{key:"horizontalRule",label:o("agent.prompt.toolbar.horizontalRule"),icon:Fe,shortcut:"Cmd+Alt+-",action:i=>{i.chain().focus().setHorizontalRule().run()}}]},{key:"history",buttons:[{key:"undo",label:o("agent.prompt.toolbar.undo"),icon:He,shortcut:"Cmd+Z",action:i=>{i.chain().focus().undo().run()},isDisabled:i=>!i.can().chain().focus().undo().run()},{key:"redo",label:o("agent.prompt.toolbar.redo"),icon:Ke,shortcut:"Cmd+Shift+Z",action:i=>{i.chain().focus().redo().run()},isDisabled:i=>!i.can().chain().focus().redo().run()}]}],[o]),b=Qe({immediatelyRender:!1,extensions:[We.configure({heading:{levels:[1,2,3]}}),Je.configure({placeholder:o("agent.prompt.placeholder")}),dt.configure({HTMLAttributes:{class:"inline-flex items-center rounded-full bg-blue-500 px-2 py-0.5 text-xs font-semibold text-white"}}),mt.configure({getVariantLabel:i=>i==="toc"?x.toc:x.content}),de.create({name:"fallbackInline",inline:!0,group:"inline"})],content:Q(n),editorProps:{attributes:{class:ot,"data-testid":"prompt-editor-content","aria-label":o("agent.prompt.editorLabel"),role:"textbox"}},onUpdate({editor:i}){const D=oe(i.getJSON(),{getDocumentMeta:v});N.current=D,r(D)}}),u=Xe({editor:b,selector:({editor:i})=>i?{active:{h1:i.isActive("heading",{level:1}),h2:i.isActive("heading",{level:2}),h3:i.isActive("heading",{level:3}),bold:i.isActive("bold"),italic:i.isActive("italic"),strike:i.isActive("strike"),bulletList:i.isActive("bulletList"),orderedList:i.isActive("orderedList"),blockquote:i.isActive("blockquote"),code:i.isActive("code"),codeBlock:i.isActive("codeBlock")},disabled:{undo:!i.can().chain().focus().undo().run(),redo:!i.can().chain().focus().redo().run()}}:{active:{},disabled:{}}}),h=m.useMemo(()=>he.map(i=>({label:i,actions:[{label:o("agent.prompt.toolbar.insert"),onClick:()=>{if(b){if(z(b)){b.chain().focus().insertContent(ae(i)).run();return}b.chain().focus().insertContent(`{{${i}}}`).run()}}}]})),[b,o]);m.useEffect(()=>{if(!b)return;const i=oe(b.getJSON(),{getDocumentMeta:v});n===i||n===N.current||(b.commands.setContent(Q(n)),N.current=n)},[b,v,n]),m.useImperativeHandle(f,()=>({insertVariable(i){if(b){if(z(b)){b.chain().focus().insertContent(ae(i)).run();return}b.chain().focus().insertContent(`{{${i}}}`).run()}},insertDocumentBlock(i,D){return b?le(b,i,D):!1},selectAll(){b==null||b.chain().focus().selectAll().run()}}),[b]);const w=i=>{if(!b||!z(b))return;const D=i.clipboardData.getData("text/plain");if(!D||!Dt(D))return;i.preventDefault();const E=Q(D);b.chain().focus().insertContent(E.content??[]).run()},P=i=>`${i.label} (${i.shortcut})`,C=(i,D)=>b?le(b,i,D):!1;return s.jsxDEV("section",{className:"rounded-xl border border-gray-200 bg-gray-50 p-4 shadow-sm",children:[s.jsxDEV("div",{className:"mb-4 flex flex-wrap items-center gap-2 rounded-xl border border-gray-200 bg-white p-2 shadow-sm",children:[y.map((i,D)=>s.jsxDEV("div",{className:"flex items-center gap-1",children:[D>0?s.jsxDEV("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:490,columnNumber:31},this):null,i.buttons.map(E=>{var S;const M=P(E),j=(u==null?void 0:u.active[E.key])??!1,_=b?(((S=E.isDisabled)==null?void 0:S.call(E,b))??!1)||((u==null?void 0:u.disabled[E.key])??!1):!0,B=E.icon;return s.jsxDEV("button",{type:"button",title:M,"aria-label":M,"data-testid":`prompt-toolbar-${E.key}`,disabled:_,onClick:()=>b&&E.action(b),className:`flex h-8 w-8 items-center justify-center rounded-md transition-colors ${j?"bg-gray-200 text-gray-900":"text-gray-600 hover:bg-gray-100 hover:text-gray-900"} ${_?"cursor-not-allowed opacity-40":""}`,children:s.jsxDEV(B,{className:"h-4 w-4"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:514,columnNumber:19},this)},E.key,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:500,columnNumber:17},this)})]},i.key,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:489,columnNumber:11},this)),s.jsxDEV("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[s.jsxDEV("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:521,columnNumber:11},this),s.jsxDEV(lt,{trigger:s.jsxDEV("span",{className:"inline-flex items-center gap-1.5",children:[s.jsxDEV(tt,{className:"h-4 w-4"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:525,columnNumber:17},this),s.jsxDEV("span",{children:o("agent.prompt.toolbar.variable")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:526,columnNumber:17},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:524,columnNumber:15},this),items:h,emptyLabel:o("agent.prompt.toolbar.empty")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:522,columnNumber:11},this),s.jsxDEV(ct,{documents:t,documentsLoading:a,documentsError:l,documentsUnavailable:c,onInsertDocument:C,onRefetchDocuments:p},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:532,columnNumber:11},this),s.jsxDEV("button",{type:"button",title:`${o("agent.prompt.preview.button")} (Cmd+P)`,"aria-label":`${o("agent.prompt.preview.button")} (Cmd+P)`,"data-testid":"prompt-toolbar-preview",onClick:d,className:"flex h-8 w-8 items-center justify-center rounded-md text-gray-600 transition-colors hover:bg-gray-100 hover:text-gray-900",children:s.jsxDEV(Ge,{className:"h-4 w-4"},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:548,columnNumber:13},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:540,columnNumber:11},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:520,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:487,columnNumber:7},this),s.jsxDEV("div",{"data-testid":"prompt-editor",onPaste:w,children:s.jsxDEV(Ze,{editor:b},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:554,columnNumber:9},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:553,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptEditor.tsx",lineNumber:486,columnNumber:5},this)});function Pt({previewAgentId:e=null}){const{t:n}=I(),r=Ye(h=>h.currentWorkspaceId),t=Z(h=>h.form),a=Z(h=>h.setField),[l,c]=m.useState([]),[d,p]=m.useState(!0),[f,o]=m.useState(null),[N,x]=m.useState(!1),[v,y]=m.useState(!1),b=m.useMemo(()=>{const h=nt(t);return{template:t.prompt,...e?{agentId:e}:{},context:{agent:h}}},[t,e]),u=m.useCallback(async()=>{p(!0),o(null),x(!1);try{const h=await O.getDocuments();c(h.documents)}catch(h){if(ge(h)){c([]),x(!0);return}o(h instanceof Error?h.message:n("agent.prompt.documentInsertError"))}finally{p(!1)}},[n]);return m.useEffect(()=>{u()},[r,u]),m.useEffect(()=>{const h=w=>{!(w.metaKey||w.ctrlKey)||w.key.toLowerCase()!=="p"||(w.preventDefault(),y(!0))};return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[]),s.jsxDEV("div",{className:"space-y-5",children:[s.jsxDEV("div",{children:[s.jsxDEV("h2",{className:"text-base font-semibold text-gray-900",children:n("agent.section.promptTitle")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:83,columnNumber:9},this),s.jsxDEV("p",{className:"mt-1 text-sm text-gray-500",children:n("agent.section.promptDescription")},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:82,columnNumber:7},this),s.jsxDEV("div",{className:"grid grid-cols-1 gap-5",children:s.jsxDEV(Et,{value:t.prompt,onChange:h=>a("prompt",h),documents:l,documentsLoading:d,documentsError:f,documentsUnavailable:N,onPreview:()=>y(!0),onRefetchDocuments:()=>void u()},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:88,columnNumber:9},this)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:87,columnNumber:7},this),s.jsxDEV(at,{open:v,request:b,onClose:()=>y(!1)},void 0,!1,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:100,columnNumber:7},this)]},void 0,!0,{fileName:"/Users/doha/git/crewx-ui/src/ui/pages/agents/prompt-tab/PromptTab.tsx",lineNumber:81,columnNumber:5},this)}export{Pt as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as ln,a0 as an,a1 as y,a2 as tn,a3 as G,a4 as q,a5 as _,a6 as un,a7 as rn,a8 as K,a9 as o,aa as z,ab as sn,ac as on,ad as fn}from"./main-
|
|
1
|
+
import{$ as ln,a0 as an,a1 as y,a2 as tn,a3 as G,a4 as q,a5 as _,a6 as un,a7 as rn,a8 as K,a9 as o,aa as z,ab as sn,ac as on,ad as fn}from"./main-CsAwz_2W.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,B,a){var O=I-l,i=D-h,n=B-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function V(l,h,I,D,v,A,B){var a=l-I,O=h-D,i=(B?A:-A)/K(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,C=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*K(fn(0,T*T*R-P*P)),$=(P*g-m*S)/R,j=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=$-C,e=j-t,r=w-C,F=p-t;return x*x+e*e>r*r+F*F&&($=w,j=p),{cx:$,cy:j,x01:-n,y01:-d,x11:$*(v/T-1),y11:j*(v/T-1)}}function hn(){var l=cn,h=yn,I=z(0),D=null,v=gn,A=dn,B=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,C=un(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(C>tn-y)a.moveTo(s*G(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*G(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=C,S=C,$=B.apply(this,arguments)/2,j=$>y&&(D?+D.apply(this,arguments):K(u*u+s*s)),w=_(un(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(j>y){var F=sn(j/u*q($)),L=sn(j/s*q($));(P-=F*2)>y?(F*=t?1:-1,R+=F,T-=F):(P=0,R=T=(f+c)/2),(S-=L*2)>y?(L*=t?1:-1,m+=L,g-=L):(S=0,m=g=(f+c)/2)}var H=s*G(m),J=s*q(m),M=u*G(T),N=u*q(T);if(w>y){var Q=s*G(g),U=s*q(g),W=u*G(R),X=u*q(R),E;if(C<rn)if(E=pn(H,J,W,X,Q,U,M,N)){var Y=H-E[0],Z=J-E[1],b=Q-E[0],k=U-E[1],nn=1/q(on((Y*b+Z*k)/(K(Y*Y+Z*Z)*K(b*b+k*k)))/2),en=K(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=V(W,X,H,J,s,x,t),r=V(Q,U,M,N,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(H,J),a.arc(0,0,s,m,g,!t)):a.moveTo(H,J),!(u>y)||!(P>y)?a.lineTo(M,N):p>y?(e=V(M,N,Q,U,u,-p,t),r=V(H,J,W,X,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[G(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:z(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:z(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:z(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:z(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:z(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:z(+n),i):A},i.padAngle=function(n){return arguments.length?(B=typeof n=="function"?n:z(+n),i):B},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|