crewx 0.8.7-rc.2 → 0.8.7-rc.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/assets/MarketPage-aY16UW1_.js +51 -0
  2. package/dist/assets/{PromptTab-DPxKgALd.js → PromptTab-C3aTJS6u.js} +7 -7
  3. package/dist/assets/_baseUniq-DxEFlwNt.js +1 -0
  4. package/dist/assets/{arc-Wd7DG8CX.js → arc-BCQAokB1.js} +1 -1
  5. package/dist/assets/architectureDiagram-UYN6MBPD-Bc87ujv2.js +36 -0
  6. package/dist/assets/blockDiagram-ZHA2E4KO-wC9uH8Lb.js +121 -0
  7. package/dist/assets/{c4Diagram-6F5ED5ID-CcfPHYky.js → c4Diagram-6F5ED5ID-CqB7lqni.js} +1 -1
  8. package/dist/assets/channel-DNLHkiNp.js +1 -0
  9. package/dist/assets/{chunk-5HRBRIJM-TGnRph8o.js → chunk-5HRBRIJM-Cc1L17Eh.js} +1 -1
  10. package/dist/assets/{chunk-7U56Z5CX-D24Jb5U0.js → chunk-7U56Z5CX-Df3nu_7G.js} +1 -1
  11. package/dist/assets/{chunk-ASOPGD6M-zBk7x36Z.js → chunk-ASOPGD6M-DIXslLG-.js} +1 -1
  12. package/dist/assets/{chunk-KFBOBJHC-U1tpWuJd.js → chunk-KFBOBJHC-FytVljyP.js} +1 -1
  13. package/dist/assets/{chunk-T2TOU4HS-P78s0i18.js → chunk-T2TOU4HS-CU5z-cXq.js} +1 -1
  14. package/dist/assets/{chunk-TMUBEWPD-_9HBqU-T.js → chunk-TMUBEWPD-CWo1AFyn.js} +1 -1
  15. package/dist/assets/classDiagram-LNE6IOMH-B430Onym.js +1 -0
  16. package/dist/assets/classDiagram-v2-MQ7JQ4JX-B430Onym.js +1 -0
  17. package/dist/assets/clone-B9O3E3P1.js +1 -0
  18. package/dist/assets/dagre-4EVJKHTY-CgZW5tg4.js +4 -0
  19. package/dist/assets/diagram-QW4FP2JN-CJAng8RC.js +24 -0
  20. package/dist/assets/{erDiagram-6RL3IURR-CR3kiDSu.js → erDiagram-6RL3IURR-C1uHztHX.js} +2 -2
  21. package/dist/assets/{flowDiagram-7ASYPVHJ-B0gVEfBk.js → flowDiagram-7ASYPVHJ-Yiu2odO-.js} +1 -1
  22. package/dist/assets/{ganttDiagram-NTVNEXSI-CIEk1X3_.js → ganttDiagram-NTVNEXSI-tutc0dJP.js} +3 -3
  23. package/dist/assets/gitGraph-YCYPL57B-C3jM6T4G.js +133 -0
  24. package/dist/assets/gitGraphDiagram-NRZ2UAAF-0aqHEKzz.js +65 -0
  25. package/dist/assets/graph-DC224ILV.js +1 -0
  26. package/dist/assets/infoDiagram-A4XQUW5V-Do7Mpzkx.js +2 -0
  27. package/dist/assets/{journeyDiagram-G5WM74LC-U9w5k3my.js → journeyDiagram-G5WM74LC-DAruEJc7.js} +1 -1
  28. package/dist/assets/{kanban-definition-QRCXZQQD-CO8Lwd1_.js → kanban-definition-QRCXZQQD-DB63vLR0.js} +1 -1
  29. package/dist/assets/layout-BiYH5x6Q.js +1 -0
  30. package/dist/assets/{linear-CHGWcXFV.js → linear-CLyGW2s0.js} +1 -1
  31. package/dist/assets/main-CEKkUqZb.js +1094 -0
  32. package/dist/assets/main-D3YeRndF.css +10 -0
  33. package/dist/assets/min-ChJMFU2N.js +1 -0
  34. package/dist/assets/{mindmap-definition-GWI6TPTV-FRHfidFi.js → mindmap-definition-GWI6TPTV-CtADqQgd.js} +1 -1
  35. package/dist/assets/pieDiagram-YF2LJOPJ-BSOfzo3O.js +30 -0
  36. package/dist/assets/{quadrantDiagram-OS5C2QUG-N0MJL1hU.js → quadrantDiagram-OS5C2QUG-BLBQNFVb.js} +1 -1
  37. package/dist/assets/{requirementDiagram-MIRIMTAZ-n0yYIEdg.js → requirementDiagram-MIRIMTAZ-DqorvuS6.js} +2 -2
  38. package/dist/assets/{sankeyDiagram-Y46BX6SQ-DzRt1UUn.js → sankeyDiagram-Y46BX6SQ-4NDcrLkB.js} +1 -1
  39. package/dist/assets/{sequenceDiagram-G6AWOVSC-Bw73EL9L.js → sequenceDiagram-G6AWOVSC-yha6BxK2.js} +1 -1
  40. package/dist/assets/stateDiagram-MAYHULR4-XJ_I41ez.js +1 -0
  41. package/dist/assets/stateDiagram-v2-4JROLMXI-CxcyPJO2.js +1 -0
  42. package/dist/assets/{timeline-definition-U7ZMHBDA-BEgtmEeC.js → timeline-definition-U7ZMHBDA-DCNrmvE7.js} +1 -1
  43. package/dist/assets/{xychartDiagram-6QU3TZC5-bWuCFYmh.js → xychartDiagram-6QU3TZC5-9N-Ohhdp.js} +2 -2
  44. package/dist/index.html +2 -2
  45. package/dist-server/app.module.js +6 -0
  46. package/dist-server/common/analytics.client.js +180 -0
  47. package/dist-server/common/analytics.module.js +21 -0
  48. package/dist-server/common/device-id.js +33 -0
  49. package/dist-server/domain/cli/cli.service.js +66 -4
  50. package/dist-server/domain/document/document.service.js +6 -3
  51. package/dist-server/domain/goal/dto/goal.dto.js +49 -0
  52. package/dist-server/domain/goal/goal.controller.js +86 -0
  53. package/dist-server/domain/goal/goal.module.js +22 -0
  54. package/dist-server/domain/goal/goal.service.js +197 -0
  55. package/dist-server/domain/goal/parser/goal-md-parser.js +166 -0
  56. package/dist-server/domain/goal/parser/goal-md-serializer.js +110 -0
  57. package/dist-server/domain/market/market.controller.js +25 -1
  58. package/dist-server/domain/market/market.service.js +414 -18
  59. package/dist-server/domain/planner/dto/planner.dto.js +7 -44
  60. package/dist-server/domain/planner/planner.controller.js +2 -2
  61. package/dist-server/domain/planner/planner.service.js +24 -0
  62. package/dist-server/domain/settings/settings.controller.js +52 -0
  63. package/dist-server/domain/settings/settings.module.js +22 -0
  64. package/dist-server/domain/settings/settings.service.js +105 -0
  65. package/dist-server/domain/task/task.service.js +20 -0
  66. package/dist-server/domain/thread/thread.controller.js +28 -0
  67. package/dist-server/domain/thread/thread.service.js +20 -0
  68. package/dist-server/main.js +1 -0
  69. package/dist-server/repository/task.repository.js +4 -0
  70. package/dist-server/repository/thread.repository.js +22 -0
  71. package/package.json +15 -10
  72. package/packages/cli/dist/builtin.js +1 -0
  73. package/packages/cli/dist/commands/init.js +251 -8
  74. package/packages/cli/package.json +2 -1
  75. package/server.js +6 -3
  76. package/dist/assets/MarketPage-CjJYSssq.js +0 -56
  77. package/dist/assets/architectureDiagram-UYN6MBPD-CMavUkL9.js +0 -36
  78. package/dist/assets/blockDiagram-ZHA2E4KO-D1rNF19s.js +0 -121
  79. package/dist/assets/channel-CyMi7jVG.js +0 -1
  80. package/dist/assets/classDiagram-LNE6IOMH-DVWuJ-Df.js +0 -1
  81. package/dist/assets/classDiagram-v2-MQ7JQ4JX-DVWuJ-Df.js +0 -1
  82. package/dist/assets/dagre-4EVJKHTY-CcSwRLTq.js +0 -4
  83. package/dist/assets/diagram-QW4FP2JN-N887K_Ef.js +0 -24
  84. package/dist/assets/gitGraph-YCYPL57B-Zl60oDrh.js +0 -133
  85. package/dist/assets/gitGraphDiagram-NRZ2UAAF-CmIpkGbx.js +0 -65
  86. package/dist/assets/graph-BlwPajkw.js +0 -1
  87. package/dist/assets/infoDiagram-A4XQUW5V-D3UxyUCV.js +0 -2
  88. package/dist/assets/layout-Bvwu4dCi.js +0 -1
  89. package/dist/assets/main-Dnmo7KzM.js +0 -1064
  90. package/dist/assets/main-Fz5tpoGZ.css +0 -10
  91. package/dist/assets/pieDiagram-YF2LJOPJ-Eo_N9Dkd.js +0 -30
  92. package/dist/assets/stateDiagram-MAYHULR4-hqIdsHFt.js +0 -1
  93. package/dist/assets/stateDiagram-v2-4JROLMXI-BoqygJ0s.js +0 -1
  94. /package/dist/assets/{gemini-logo.svg → google-logo.svg} +0 -0
@@ -0,0 +1,51 @@
1
+ import{aJ as j,aK as Ue,aL as b,aM as N,aN as Pe,aO as g,aP as e,aQ as ue,aR as Z,aS as de,aT as I,aU as ge,aV as pe,aW as Ve,aX as ye,aY as J,aZ as Fe,a_ as Oe,a$ as Be,b0 as he,b1 as He,b2 as Qe}from"./main-CEKkUqZb.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 We=[["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"}]],fe=j("badge-check",We);/**
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 qe=[["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"}]],be=j("circle-arrow-up",qe);/**
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=[["path",{d:"M12 6v6h4",key:"135r8i"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ge=j("clock-3",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=[["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"}]],je=j("layout-template",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:"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"}]],Ne=j("plug",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:"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"}]],ve=j("puzzle",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 Ye=[["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"}]],et=j("scale",Ye);/**
37
+ * @license lucide-react v0.563.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const tt=[["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"}]],at=j("settings-2",tt);/**
42
+ * @license lucide-react v0.563.0 - ISC
43
+ *
44
+ * This source code is licensed under the ISC license.
45
+ * See the LICENSE file in the root directory of this source tree.
46
+ */const st=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],F=j("shield-alert",st);/**
47
+ * @license lucide-react v0.563.0 - ISC
48
+ *
49
+ * This source code is licensed under the ISC license.
50
+ * See the LICENSE file in the root directory of this source tree.
51
+ */const rt=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],ke=j("workflow",rt);function T(t){return t instanceof Error?t.message:String(t)}function nt(t){return[...t].sort((a,r)=>a.isInstalled!==r.isInstalled?a.isInstalled?-1:1:(a.displayName||a.name).localeCompare(r.displayName||r.name))}const oe={trusted:2,verified:1,unverified:0};function lt(t,a){return oe[t]>=oe[a]?t:a}function it(t=[],a=[]){return Array.from(new Set([...t,...a]))}function ce(t,a){var s;if(!t)return a;const r=lt(t.trustLevel,a.trustLevel);return{...t,...a,displayName:a.displayName||t.displayName||a.name,description:a.description||t.description,author:a.author||t.author,version:a.version||t.version,tags:it(t.tags,a.tags),type:a.type||t.type,trustLevel:r,isVerified:r!=="unverified",isInstalled:t.isInstalled||a.isInstalled,registryId:a.registryId??t.registryId,registryName:a.registryName??t.registryName,installSource:a.installSource??t.installSource,hasUpdate:a.hasUpdate??t.hasUpdate,remoteVersion:a.remoteVersion??t.remoteVersion,isCustomized:a.isCustomized??t.isCustomized,authors:(s=a.authors)!=null&&s.length?a.authors:t.authors,updatedAt:a.updatedAt??t.updatedAt,stars:a.stars??t.stars,license:a.license??t.license,installCount:a.installCount??t.installCount}}function dt(t){return t.toLowerCase().replace(/[\s_]+/g,"-")}function V(t){const a=new Map;for(const s of t){const d=dt(s.name),l=a.get(d)??[];l.push(s),a.set(d,l)}const r=[];for(const[,s]of a){if(s.length===1){r.push(s[0]);continue}const d=s.find(l=>l.isInstalled);if(d){const l=s.find(c=>c.registryId&&c.registryId!=="_local"),o=l?ce(l,d):d;r.push(o)}else{const l=new Map;for(const o of s){const c=o.registryId??"_local",u=l.get(c);l.set(c,ce(u,o))}r.push(...l.values())}}return nt(r)}function ot(t){return t.find(a=>a.isDefault)??t.find(a=>a.trustLevel!=="unverified")??t[0]??null}function ct(t,a){return V([...t,...a])}function G(t,a){var r;return a&&t.some(s=>s.name===a)?a:((r=t[0])==null?void 0:r.name)??null}const mt=Ue((t,a)=>({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:r=>t({activeFilter:r}),setSearchQuery:r=>t({searchQuery:r}),setSelectedItem:r=>t({selectedItemName:r}),initialize:async()=>{const r=a().selectedItemName;t({loading:!0,loadingOfficial:!0,loadingInstalled:!0,error:null});try{const[s,d,l]=await Promise.all([b.getMarketRegistries(),b.getMarketItems(),b.getInstalledMarkets()]),o=s.registries,c=ot(o),u=d.items,m=V(l.items.filter(h=>!h.source||h.source==="local")),y=ct(u,m);t({initialized:!0,loading:!1,loadingOfficial:!1,loadingInstalled:!1,registries:o,officialRegistryId:(c==null?void 0:c.id)??null,allItems:y,selectedItemName:G(y,r)}),b.checkMarketUpdates().then(h=>{!h||Object.keys(h).length===0||t(p=>({allItems:p.allItems.map(z=>{const v=h[z.name];return v?{...z,hasUpdate:v.hasUpdate,remoteVersion:v.remoteVersion,isCustomized:v.isCustomized}:z})}))}).catch(()=>{})}catch(s){throw t({loading:!1,loadingOfficial:!1,loadingInstalled:!1,error:T(s)}),s}},refresh:async()=>{await a().initialize()},addRegistry:async(r,s)=>{const d=r.trim();if(!d){const l=new Error("Registry URL is required");throw t({error:l.message}),l}t({savingRegistry:!0,error:null});try{const l=(s==null?void 0:s.trim())||void 0;await b.addMarketRegistry(d,l),await a().initialize(),t({savingRegistry:!1})}catch(l){throw t({savingRegistry:!1,error:T(l)}),l}},deleteRegistry:async r=>{t({deletingRegistryId:r,error:null});try{await b.deleteMarketRegistry(r),await a().initialize(),t({deletingRegistryId:null})}catch(s){throw t({deletingRegistryId:null,error:T(s)}),s}},installItem:async(r,s)=>{t({mutatingItemName:s,error:null});try{await b.installMarketItem(r,s),t(d=>{const l=d.registries.find(c=>c.id===r),o=V(d.allItems.map(c=>c.name===s?{...c,isInstalled:!0,registryId:c.registryId??r,registryName:c.registryName??(l==null?void 0:l.name)}:c));return{allItems:o,mutatingItemName:null,selectedItemName:G(o,d.selectedItemName??s)}})}catch(d){throw t({mutatingItemName:null,error:T(d)}),d}},uninstallItem:async r=>{t({mutatingItemName:r,error:null});try{await b.uninstallMarketItem(r),t(s=>{const d=V(s.allItems.map(l=>l.name===r?{...l,isInstalled:!1}:l));return{allItems:d,mutatingItemName:null,selectedItemName:G(d,s.selectedItemName)}})}catch(s){throw t({mutatingItemName:null,error:T(s)}),s}},clearError:()=>t({error:null})}));function we(t,a){if(!t)return"—";const r=new Date(t);return Number.isNaN(r.getTime())?"—":new Intl.DateTimeFormat(a,{year:"numeric",month:"short",day:"numeric"}).format(r)}function xt(t,a){if(!t)return null;const r=new Date(t);if(Number.isNaN(r.getTime()))return null;const s=r.getTime()-Date.now(),d=[{unit:"year",ms:1e3*60*60*24*365},{unit:"month",ms:1e3*60*60*24*30},{unit:"week",ms:1e3*60*60*24*7},{unit:"day",ms:1e3*60*60*24},{unit:"hour",ms:1e3*60*60},{unit:"minute",ms:1e3*60}],l=new Intl.RelativeTimeFormat(a,{numeric:"auto"});for(const o of d)if(Math.abs(s)>=o.ms||o.unit==="minute")return l.format(Math.round(s/o.ms),o.unit);return null}function me(t,a){return typeof t!="number"?"—":new Intl.NumberFormat(a,{notation:"compact",compactDisplay:"short",maximumFractionDigits:1}).format(t)}function X(t){switch(t==null?void 0:t.toLowerCase()){case"template":return"template";case"agent":return"agent";case"workflow":return"workflow";case"plugin":return"plugin";default:return"skill"}}function Ie({type:t}){const{t:a}=N(),r=X(t),s={skill:"bg-violet-50 text-violet-700",template:"bg-amber-50 text-amber-700",agent:"bg-emerald-50 text-emerald-700",workflow:"bg-cyan-50 text-cyan-700",plugin:"bg-rose-50 text-rose-700"},d={skill:ve,template:je,agent:ge,workflow:ke,plugin:Ne},l={skill:a("market.types.skill"),template:a("market.types.template"),agent:a("market.types.agent"),workflow:a("market.types.workflow"),plugin:a("market.types.plugin")},o=d[r];return e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-medium ${s[r]}`,children:[e.jsx(o,{size:12}),l[r]]})}const ut={trusted:{bg:"bg-green-50",text:"text-green-700",icon:pe,label:"market.badges.trusted"},verified:{bg:"bg-blue-50",text:"text-blue-700",icon:fe,label:"market.badges.verified"},unverified:{bg:"bg-gray-50",text:"text-gray-500",icon:F,label:"market.badges.unverified"}};function gt({level:t}){const{t:a}=N(),r=ut[t],s=r.icon;return e.jsxs("span",{className:`inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-xs font-medium ${r.bg} ${r.text}`,children:[e.jsx(s,{size:13}),a(r.label)]})}function Ce(t){if(t.trustLevel==="unverified"){if(t.type==="plugin")return{allowed:!1,reason:"market.trust.blockedPlugin"};if(t.type==="exec")return{allowed:!1,reason:"market.trust.blockedExec"}}return t.trustLevel==="verified"&&t.type==="plugin"?{allowed:!0,needsConfirm:!0}:{allowed:!0}}function pt({itemName:t,onConfirm:a,onCancel:r}){const{t:s}=N();return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:e.jsxs("div",{role:"dialog","aria-modal":"true",className:"w-full max-w-md overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxs("div",{className:"border-b border-gray-200 px-6 py-5",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:s("market.pluginDialog.title")}),e.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s("market.pluginDialog.description")})]}),e.jsxs("div",{className:"space-y-3 px-6 py-5",children:[e.jsxs("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsx("p",{className:"text-sm font-medium text-amber-900",children:t}),e.jsx("p",{className:"mt-1 text-sm text-amber-800",children:s("market.pluginDialog.warning")})]}),e.jsxs("ul",{className:"space-y-2 text-sm text-gray-600",children:[e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(F,{size:14,className:"shrink-0 text-amber-500"}),s("market.pluginDialog.perm1")]}),e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx(F,{size:14,className:"shrink-0 text-amber-500"}),s("market.pluginDialog.perm2")]})]})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[e.jsx("button",{type:"button",onClick:r,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:s("market.actions.cancel")}),e.jsx("button",{type:"button",onClick:a,className:"rounded-lg bg-red-500 px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-red-600",children:s("market.actions.install")})]})]})})}function yt({url:t,tokenEnv:a,error:r,submitting:s,onChangeUrl:d,onChangeTokenEnv:l,onClose:o,onSubmit:c}){const{t:u}=N(),m=y=>{y.preventDefault(),c()};return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",children:e.jsxs("div",{role:"dialog","aria-modal":"true",className:"w-full max-w-xl overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl",children:[e.jsxs("div",{className:"border-b border-gray-200 px-6 py-5",children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:u("market.addRegistryModal.title")}),e.jsx("p",{className:"mt-1 text-sm text-gray-500",children:u("market.addRegistryModal.description")})]}),e.jsxs("form",{onSubmit:m,children:[e.jsxs("div",{className:"space-y-4 px-6 py-5",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"registry-url",className:"mb-2 block text-sm font-medium text-gray-700",children:u("market.addRegistryModal.urlLabel")}),e.jsx("input",{id:"registry-url",type:"url",value:t,onChange:y=>d(y.target.value),placeholder:u("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})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"registry-token-env",className:"mb-2 block text-sm font-medium text-gray-700",children:[u("market.addRegistryModal.tokenEnvLabel","Token Env Variable"),e.jsx("span",{className:"ml-1 text-xs font-normal text-gray-400",children:u("market.addRegistryModal.optional","(optional)")})]}),e.jsx("input",{id:"registry-token-env",type:"text",value:a,onChange:y=>l(y.target.value),placeholder:u("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"}),e.jsx("p",{className:"mt-1.5 text-xs text-gray-500",children:u("market.addRegistryModal.tokenEnvHint","Environment variable name for private GitHub PAT. The token value must be set in .env or shell profile.")})]}),e.jsx("div",{className:"rounded-xl border border-blue-200 bg-blue-50 px-4 py-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-lg bg-white text-blue-600",children:e.jsx(He,{size:18})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-semibold text-blue-900",children:u("market.addRegistryModal.compatibilityTitle")}),e.jsx("p",{className:"mt-1 text-sm leading-6 text-blue-800",children:u("market.addRegistryModal.compatibilityDescription")})]})]})}),r&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-red-700",children:[e.jsx(Z,{size:18,className:"mt-0.5 shrink-0"}),e.jsx("p",{className:"text-sm",children:r})]})]}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[e.jsx("button",{type:"button",onClick:o,disabled:s,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:u("market.actions.cancel")}),e.jsxs("button",{type:"submit",disabled:s,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:[s?e.jsx(I,{size:16,className:"animate-spin"}):e.jsx(J,{size:16}),u("market.actions.addRegistry")]})]})]})]})})}function ht({registry:t,deleting:a,onDelete:r}){const{t:s,i18n:d}=N();return e.jsxs("article",{className:"flex flex-col gap-4 rounded-xl border border-gray-200 bg-white p-5 shadow-sm",children:[e.jsxs("div",{className:"flex items-start justify-between gap-4",children:[e.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[e.jsx("div",{className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-xl ${t.trustLevel!=="unverified"?"bg-blue-50 text-blue-600":"bg-gray-100 text-gray-500"}`,children:e.jsx(he,{size:20})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h3",{className:"truncate text-base font-semibold text-gray-900",children:t.name}),e.jsx("span",{className:`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ${t.isDefault?"bg-amber-50 text-amber-700":"bg-gray-100 text-gray-600"}`,children:t.isDefault?s("market.registryCard.defaultBadge"):s("market.registryCard.customBadge")})]}),e.jsxs("a",{href:t.url,target:"_blank",rel:"noreferrer",className:"mt-2 inline-flex break-all text-sm text-blue-600 hover:text-blue-700",children:[e.jsx("span",{children:t.url}),e.jsx(Qe,{size:14,className:"ml-1 mt-0.5 shrink-0"})]})]})]}),e.jsxs("button",{type:"button",onClick:()=>r(t.id),disabled:t.isDefault||a,className:`inline-flex items-center gap-2 rounded-lg px-3 py-2 text-sm font-medium transition-colors ${t.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:[a?e.jsx(I,{size:15,className:"animate-spin"}):e.jsx(ye,{size:15}),t.isDefault?s("market.registryCard.lockedAction"):s("market.actions.deleteRegistry")]})]}),e.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-lg border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsx("p",{className:"text-xs text-gray-500",children:s("market.registryCard.skillCount")}),e.jsx("p",{className:"mt-1 text-lg font-semibold text-gray-900",children:t.itemCount})]}),e.jsxs("div",{className:"rounded-lg border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsx("p",{className:"text-xs text-gray-500",children:s("market.registryCard.addedAt")}),e.jsx("p",{className:"mt-1 text-sm font-medium text-gray-900",children:we(t.addedAt,d.language)})]})]}),e.jsx("p",{className:"text-xs text-gray-500",children:t.isDefault?s("market.registryCard.defaultHint"):s("market.registryCard.customHint")})]})}function ft({registries:t,loading:a,deletingRegistryId:r,onAdd:s,onClose:d,onDelete:l}){const{t:o}=N();return e.jsx("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-black/40 p-4",children:e.jsxs("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.jsxs("div",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-5",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:o("market.registryModal.title")}),e.jsx("p",{className:"mt-1 text-sm text-gray-500",children:o("market.registryModal.description")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:s,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.jsx(J,{size:16}),o("market.actions.addRegistry")]}),e.jsx("button",{type:"button",onClick:d,className:"rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:o("market.actions.close")})]})]}),e.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:a?e.jsx("div",{className:"flex items-center justify-center py-16",children:e.jsx(I,{size:22,className:"animate-spin text-gray-400"})}):t.length===0?e.jsxs("div",{className:"rounded-xl border border-dashed border-gray-300 px-6 py-16 text-center",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsx(he,{size:20})}),e.jsx("h3",{className:"mt-4 text-base font-semibold text-gray-900",children:o("market.empty.registryTitle")}),e.jsx("p",{className:"mt-2 text-sm text-gray-500",children:o("market.empty.registryDescription")})]}):e.jsx("div",{className:"grid gap-4 xl:grid-cols-2",children:t.map(c=>e.jsx(ht,{registry:c,deleting:r===c.id,onDelete:l},c.id))})})]})})}function xe({skill:t,selected:a,onSelect:r}){const{t:s,i18n:d}=N(),l=xt(t.updatedAt,d.language),o=X(t.type),c={skill:ve,template:je,agent:ge,workflow:ke,plugin:Ne},u={skill:t.isInstalled?"bg-blue-100 text-blue-600":"bg-gray-100 text-gray-500",template:"bg-amber-100 text-amber-700",agent:"bg-emerald-100 text-emerald-700",workflow:"bg-cyan-100 text-cyan-700",plugin:"bg-rose-100 text-rose-700"},m=c[o];return e.jsx("button",{type:"button",onClick:()=>r(t.name),className:`w-full rounded-xl border p-3 text-left transition-colors ${a?"border-blue-200 bg-blue-50 shadow-sm":"border-transparent bg-white hover:border-gray-200 hover:bg-gray-50"}`,children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:`flex h-10 w-10 shrink-0 items-center justify-center rounded-xl ${u[o]}`,children:e.jsx(m,{size:18})}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-sm font-semibold text-gray-900",children:t.displayName||t.name}),t.trustLevel==="trusted"&&e.jsx(pe,{className:"h-3.5 w-3.5 shrink-0 text-green-600"}),t.trustLevel==="verified"&&e.jsx(fe,{className:"h-3.5 w-3.5 shrink-0 text-blue-500"}),e.jsx(Ie,{type:t.type})]}),e.jsx("p",{className:"mt-1 line-clamp-2 text-xs text-gray-500",children:t.description||s("market.card.noDescription")}),e.jsxs("p",{className:"mt-2 text-[11px] text-gray-400",children:[t.registryName||t.author||s("market.card.unknownAuthor"),l?` · ${s("market.list.updatedLabel",{time:l})}`:""]})]}),e.jsxs("div",{className:"flex shrink-0 flex-col items-end gap-1",children:[t.isInstalled&&e.jsx("span",{className:"rounded-full bg-green-100 px-2 py-0.5 text-[10px] font-medium text-green-700",children:s("market.badges.installed")}),t.hasUpdate&&e.jsxs("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.jsx(be,{size:10}),s("market.badges.updateAvailable",{version:t.remoteVersion})]})]})]})})}function P({icon:t,label:a,value:r}){return e.jsxs("div",{className:"rounded-xl border border-gray-200 bg-gray-50 px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[e.jsx("span",{className:"text-gray-400",children:t}),e.jsx("span",{children:a})]}),e.jsx("p",{className:"mt-2 text-sm font-semibold text-gray-900",children:r})]})}function bt({skill:t,markdownBody:a,descriptionLoading:r,descriptionError:s,busy:d,canInstall:l,onInstall:o,onUninstall:c,onRefresh:u}){const{t:m,i18n:y}=N(),h=typeof(t==null?void 0:t.installCount)=="number";return t?e.jsxs("section",{className:"flex h-full min-h-[520px] flex-col rounded-2xl border border-gray-200 bg-white p-6 shadow-sm",children:[e.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4 border-b border-gray-200 pb-5",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("h2",{className:"text-2xl font-semibold text-gray-900",children:t.displayName||t.name}),e.jsxs("span",{className:"rounded-full bg-gray-100 px-2.5 py-1 text-xs font-medium text-gray-600",children:["v",t.version]}),t.hasUpdate&&e.jsxs("span",{className:"inline-flex items-center gap-1 rounded-full bg-orange-50 px-2.5 py-1 text-xs font-medium text-orange-700",children:[e.jsx(be,{size:12}),m("market.badges.updateAvailable",{version:t.remoteVersion})]}),e.jsx(Ie,{type:t.type}),e.jsx(gt,{level:t.trustLevel})]}),e.jsx("p",{className:"mt-2 text-sm text-gray-500",children:t.registryName||t.author||m("market.card.unknownAuthor")})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.isInstalled?e.jsxs("button",{type:"button",onClick:()=>c(t.name),disabled:d,className:"inline-flex items-center gap-2 rounded-lg bg-red-50 px-4 py-2 text-sm font-medium text-red-600 transition-colors hover:bg-red-100 disabled:cursor-not-allowed disabled:opacity-50",children:[d?e.jsx(I,{size:16,className:"animate-spin"}):e.jsx(ye,{size:16}),m("market.actions.uninstall")]}):(()=>{const p=Ce(t);return p.allowed?e.jsxs("button",{type:"button",onClick:()=>o(t),disabled:d||!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:[d?e.jsx(I,{size:16,className:"animate-spin"}):e.jsx(J,{size:16}),m("market.actions.install")]}):e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-400",children:[e.jsx(F,{size:16}),m(p.reason)]})})(),e.jsxs("button",{type:"button",onClick:u,className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-4 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsx(ue,{size:16}),m("market.actions.checkUpdates")]})]})]}),e.jsxs("div",{className:"space-y-6 py-6",children:[t.isCustomized&&t.hasUpdate&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3",children:[e.jsx(Z,{size:16,className:"mt-0.5 shrink-0 text-amber-600"}),e.jsx("p",{className:"text-sm text-amber-800",children:m("market.badges.customizedWarning")})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:m("market.detail.description")}),e.jsxs("div",{className:"mt-2",children:[t.description&&e.jsx("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:t.description}),r?e.jsxs("div",{className:"mt-3 flex items-center gap-2 text-sm text-gray-500",children:[e.jsx(I,{size:16,className:"animate-spin"}),e.jsx("span",{children:m("market.detail.loadingBody")})]}):a!=null&&a.trim()?e.jsx("div",{className:t.description?"mt-3 border-t border-gray-100 pt-3":"",children:e.jsx(Fe,{content:a,className:"text-sm"})}):e.jsxs(e.Fragment,{children:[s&&e.jsx("div",{className:"mt-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:s}),!t.description&&e.jsx("p",{className:"whitespace-pre-wrap text-sm leading-6 text-gray-600",children:m("market.card.noDescription")})]})]})]}),t.tags.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:m("market.detail.tags")}),e.jsx("div",{className:"mt-3 flex flex-wrap gap-2",children:t.tags.map(p=>e.jsxs("span",{className:"rounded-full border border-gray-200 bg-gray-50 px-2.5 py-1 text-xs text-gray-600",children:["#",p]},p))})]}),t.authors&&t.authors.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-semibold text-gray-900",children:m("market.detail.developers")}),e.jsx("div",{className:"mt-3 space-y-3",children:t.authors.map(p=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("img",{src:p.avatarUrl,alt:`@${p.login}`,className:"h-8 w-8 rounded-full border border-gray-200 object-cover"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"truncate text-sm font-medium text-gray-900",children:p.name||p.login}),e.jsxs("div",{className:"text-xs text-gray-500",children:["@",p.login]})]}),typeof p.contributions=="number"&&e.jsx("div",{className:"text-xs text-gray-400",children:m("market.detail.contributions",{count:p.contributions})})]},`${t.name}-${p.login}`))})]})]}),e.jsxs("div",{className:`mt-auto grid gap-3 border-t border-gray-200 pt-6 sm:grid-cols-2 ${h?"xl:grid-cols-4":"xl:grid-cols-3"}`,children:[e.jsx(P,{icon:e.jsx(Oe,{size:14}),label:m("market.detail.stats.stars"),value:me(t.stars,y.language)}),h&&e.jsx(P,{icon:e.jsx(Be,{size:14}),label:m("market.detail.stats.installs"),value:me(t.installCount,y.language)}),e.jsx(P,{icon:e.jsx(et,{size:14}),label:m("market.detail.stats.license"),value:t.license||m("market.detail.unavailable")}),e.jsx(P,{icon:e.jsx(Ge,{size:14}),label:m("market.detail.stats.updatedAt"),value:we(t.updatedAt,y.language)})]})]}):e.jsx("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.jsxs("div",{className:"max-w-sm text-center",children:[e.jsx("div",{className:"mx-auto flex h-12 w-12 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsx(Ve,{size:20})}),e.jsx("h3",{className:"mt-4 text-base font-semibold text-gray-900",children:m("market.detail.emptyTitle")}),e.jsx("p",{className:"mt-2 text-sm text-gray-500",children:m("market.detail.emptyDescription")})]})})}function Nt(){const{t}=N(),{setPageHeader:a}=Pe(),[r,s]=g.useState(!1),[d,l]=g.useState(!1),[o,c]=g.useState(""),[u,m]=g.useState(""),[y,h]=g.useState(null),[p,L]=g.useState({}),[z,v]=g.useState(null),[Me,O]=g.useState(null),[_,B]=g.useState(null),{initialized:Y,loading:$,savingRegistry:ze,deletingRegistryId:Re,mutatingItemName:De,error:ee,registries:Te,officialRegistryId:R,allItems:C,activeFilter:M,searchQuery:H,selectedItemName:S,setActiveFilter:Le,setSearchQuery:_e,setSelectedItem:E,initialize:te,refresh:A,addRegistry:ae,deleteRegistry:se,installItem:re,uninstallItem:ne,clearError:U}=mt();g.useEffect(()=>{Y||te().catch(()=>{})},[Y,te]);const le=g.useMemo(()=>C.filter(n=>n.isInstalled).length,[C]),k=g.useMemo(()=>{const n=H.trim().toLowerCase();return C.filter(x=>M==="installed"&&!x.isInstalled||M!=="all"&&M!=="installed"&&X(x.type)!==M?!1:n?[x.displayName,x.name,x.description,x.author,x.registryName,...x.tags].filter(w=>!!w).some(w=>w.toLowerCase().includes(n)):!0)},[M,C,H]),i=g.useMemo(()=>k.find(n=>n.name===S)??k[0]??null,[k,S]),Q=i?p[i.name]:void 0;g.useEffect(()=>{const n=(i==null?void 0:i.name)??null;n!==S&&E(n)},[i,S,E]),g.useEffect(()=>{if(!i)return;if(Q!==void 0){O(null);return}let n=!1;const x=i.name;return v(x),O(null),(i.isInstalled?b.getInstalledMarketDetail(x).then(f=>f.body??""):(()=>{const f=i.registryId??R;return f?b.getRemoteMarketDetail(f,x).then(D=>D.body??""):Promise.resolve("")})()).then(f=>{n||L(D=>({...D,[x]:f}))}).catch(f=>{if(!n){if(!i.isInstalled){L(D=>({...D,[x]:""}));return}O(f instanceof Error?f.message:t("market.errors.detailLoad"))}}).finally(()=>{n||v(f=>f===x?null:f)}),()=>{n=!0}},[i==null?void 0:i.isInstalled,i==null?void 0:i.name,i==null?void 0:i.registryId,Q,R,t]);const W=g.useCallback(n=>{n&&L(x=>{if(!(n in x))return x;const w={...x};return delete w[n],w})},[]);g.useEffect(()=>{a({title:t("market.title"),subtitle:t("market.subtitle.summary",{total:C.length,installed:le}),actions:e.jsxs("button",{type:"button",onClick:()=>{U(),W((i==null?void 0:i.name)??null),A().catch(()=>{})},className:"inline-flex items-center gap-2 rounded-lg bg-gray-100 px-3 py-2 text-sm font-medium text-gray-700 transition-colors hover:bg-gray-200",children:[e.jsx(ue,{size:16,className:$?"animate-spin":""}),t("market.actions.refresh")]})})},[C.length,U,$,A,W,i==null?void 0:i.name,a,t,le]);const q=g.useCallback(n=>{const x=n.registryId??R;x&&re(x,n.name).catch(()=>{})},[re,R]),$e=g.useCallback(n=>{const x=Ce(n);if(x.allowed){if(x.needsConfirm){B(n);return}q(n)}},[q]),Se=g.useCallback(n=>{window.confirm(t("market.actions.confirmUninstall",{name:n}))&&ne(n).catch(()=>{})},[t,ne]),Ee=g.useCallback(n=>{se(n).catch(()=>{})},[se]),Ae=g.useCallback(async()=>{h(null);try{await ae(o,u||void 0),c(""),m(""),l(!1)}catch(n){h(n instanceof Error?n.message:t("market.errors.addRegistry"))}},[ae,o,u,t]),K=k.filter(n=>n.isInstalled),ie=k.filter(n=>!n.isInstalled);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex flex-col gap-6",children:[ee&&e.jsxs("div",{className:"flex items-start gap-3 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-red-700",children:[e.jsx(Z,{size:18,className:"mt-0.5 shrink-0"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:t("market.errors.bannerTitle")}),e.jsx("p",{className:"mt-1 break-words text-sm",children:ee})]}),e.jsx("button",{type:"button",onClick:()=>{U(),A().catch(()=>{})},className:"shrink-0 rounded-md bg-red-100 px-3 py-1.5 text-xs font-medium text-red-700 transition-colors hover:bg-red-200",children:t("market.actions.retry")})]}),e.jsxs("div",{className:"flex flex-col gap-3 rounded-2xl border border-gray-200 bg-white p-4 shadow-sm lg:flex-row lg:items-center",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(de,{size:16,className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"}),e.jsx("input",{type:"search",value:H,onChange:n=>_e(n.target.value),placeholder:t("market.searchPlaceholder"),className:"w-full rounded-xl border border-gray-300 py-2.5 pl-10 pr-4 text-sm text-gray-900 placeholder:text-gray-400 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500"})]}),e.jsxs("button",{type:"button",onClick:()=>s(!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.jsx(at,{size:16}),t("market.actions.manageSources")]})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:["all","installed","skill","template","agent"].map(n=>e.jsx("button",{type:"button",onClick:()=>Le(n),className:`rounded-full border px-3 py-1.5 text-sm font-medium transition-colors ${M===n?"border-blue-500 bg-blue-500 text-white":"border-gray-200 bg-white text-gray-600 hover:bg-gray-50"}`,children:t(`market.filters.${n}`)},n))}),e.jsxs("div",{className:"grid gap-6 lg:grid-cols-[360px_minmax(0,1fr)]",children:[e.jsxs("section",{className:"rounded-2xl border border-gray-200 bg-white shadow-sm",children:[e.jsxs("div",{className:"border-b border-gray-200 px-4 py-3",children:[e.jsx("h2",{className:"text-sm font-semibold text-gray-900",children:t("market.list.title")}),e.jsx("p",{className:"mt-1 text-xs text-gray-500",children:t("market.list.count",{count:k.length})})]}),e.jsx("div",{className:"max-h-[640px] overflow-y-auto p-3",children:$?e.jsx("div",{className:"flex items-center justify-center py-16",children:e.jsx(I,{size:22,className:"animate-spin text-gray-400"})}):k.length===0?e.jsxs("div",{className:"rounded-xl border border-dashed border-gray-300 px-4 py-12 text-center",children:[e.jsx("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full bg-gray-100 text-gray-400",children:e.jsx(de,{size:18})}),e.jsx("h3",{className:"mt-3 text-sm font-semibold text-gray-900",children:t("market.empty.filteredTitle")}),e.jsx("p",{className:"mt-2 text-xs leading-5 text-gray-500",children:t("market.empty.filteredDescription")})]}):e.jsxs("div",{className:"space-y-3",children:[K.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsx("p",{className:"px-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:t("market.list.installedHeading")}),K.map(n=>e.jsx(xe,{skill:n,selected:(i==null?void 0:i.name)===n.name,onSelect:E},`${n.registryId??"_"}:${n.name}`))]}),ie.length>0&&e.jsxs("div",{className:"space-y-2",children:[K.length>0&&e.jsx("p",{className:"px-1 pt-2 text-xs font-semibold uppercase tracking-wide text-gray-400",children:t("market.list.availableHeading")}),ie.map(n=>e.jsx(xe,{skill:n,selected:(i==null?void 0:i.name)===n.name,onSelect:E},`${n.registryId??"_"}:${n.name}`))]})]})})]}),e.jsx(bt,{skill:i,markdownBody:Q,descriptionLoading:i?z===i.name:!1,descriptionError:Me,busy:i?De===i.name:!1,canInstall:!!((i==null?void 0:i.registryId)??R),onInstall:$e,onUninstall:Se,onRefresh:()=>{U(),W((i==null?void 0:i.name)??null),A().catch(()=>{})}})]})]}),r&&e.jsx(ft,{registries:Te,loading:$,deletingRegistryId:Re,onAdd:()=>{h(null),c(""),m(""),l(!0)},onClose:()=>s(!1),onDelete:Ee}),d&&e.jsx(yt,{url:o,tokenEnv:u,error:y,submitting:ze,onChangeUrl:c,onChangeTokenEnv:m,onClose:()=>{h(null),l(!1)},onSubmit:Ae}),_&&e.jsx(pt,{itemName:_.displayName||_.name,onConfirm:()=>{q(_),B(null)},onCancel:()=>B(null)})]})}export{Nt as default};
@@ -1,30 +1,30 @@
1
- import{aB as H,aE as B,aG as u,aH as r,aW as ke,aL as X,aR as we,aX as je,aD as F,aY as de,aK as ue,aZ as K,aT as Ne,a_ as Ce,a$ as Le,b0 as _e,aP as Ee,b1 as pe,b2 as Se,b3 as De,b4 as Me,b5 as Ae,b6 as $e,b7 as Te,b8 as Ie,b9 as Pe,ba as Re,bb as Be,bc as ze,bd as Oe,be as qe,bf as Fe,bg as He,bh as Ve,bi as Ke,bj as We,bk as Qe,bl as Ue,bm as Xe,bn as Je,bo as Ge,bp as Y}from"./main-Dnmo7KzM.js";/**
1
+ import{aJ as V,aM as B,aO as u,aP as r,b3 as ke,aT as J,aZ as we,b4 as je,aL as F,b5 as de,aS as ue,b6 as K,b0 as Ne,b7 as Ce,b8 as Le,b9 as _e,aX as Se,ba as pe,bb as Ee,bc as De,bd as Me,be as Ae,bf as Te,bg as $e,bh as Ie,bi as Pe,bj as Re,bk as Be,bl as ze,bm as Oe,bn as qe,bo as Fe,bp as Ve,bq as He,br as Ke,bs as Qe,bt as Ue,bu as We,bv as Je,bw as Xe,bx as Ze,by as Y}from"./main-CEKkUqZb.js";/**
2
2
  * @license lucide-react v0.563.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const Ze=[["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"}]],Ye=H("braces",Ze);/**
6
+ */const Ge=[["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"}]],Ye=V("braces",Ge);/**
7
7
  * @license lucide-react v0.563.0 - ISC
8
8
  *
9
9
  * This source code is licensed under the ISC license.
10
10
  * See the LICENSE file in the root directory of this source tree.
11
- */const et=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],tt=H("eye",et);/**
11
+ */const et=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],tt=V("eye",et);/**
12
12
  * @license lucide-react v0.563.0 - ISC
13
13
  *
14
14
  * This source code is licensed under the ISC license.
15
15
  * See the LICENSE file in the root directory of this source tree.
16
- */const nt=[["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"}]],rt=H("link-2",nt);/**
16
+ */const nt=[["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"}]],rt=V("link-2",nt);/**
17
17
  * @license lucide-react v0.563.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
20
20
  * See the LICENSE file in the root directory of this source tree.
21
- */const st=[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]],at=H("refresh-ccw",st);function ee(e,s){return(e??"").toLowerCase().includes(s)}function me(e,s){const n=s.trim().toLowerCase();if(!n)return{nodes:e,autoExpanded:new Set};const t=new Set;return{nodes:e.flatMap(l=>{const c=ee(l.name,n)||ee(l.path,n);if(l.type==="file")return c?[l]:[];if(c)return t.add(l.path),[{...l,children:l.children}];const p=me(l.children??[],n);return p.nodes.length>0?(t.add(l.path),p.autoExpanded.forEach(m=>t.add(m)),[{...l,children:p.nodes}]):[]}),autoExpanded:t}}function fe(e){return e instanceof Error?/HTTP (404|405|501|503)\b|Failed to fetch|NetworkError/i.test(e.message):!1}const R={id:"agent_id",name:"에이전트 이름",role:"에이전트 역할",team:"팀",description:"에이전트 설명"};function ot(e){return{id:e.id.trim()||R.id,name:e.name.trim()||R.name,role:e.role.trim()||R.role,team:e.team.trim()||R.team,description:e.description.trim()||R.description}}function it(e,s,n){let t=!1;return e.state.doc.descendants(i=>i.type.name==="documentBlock"&&i.attrs.key===s&&i.attrs.variant===n?(t=!0,!1):!t),t}const he=["[&_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(" "),lt=["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",he,"[&_.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 ct({open:e,request:s,onClose:n}){const{t}=B(),i=u.useRef(null),l=u.useRef(s),[c,p]=u.useState(""),[m,x]=u.useState(!1),[o,y]=u.useState(null),[b,k]=u.useState(!1),w=t("agent.prompt.preview.error");l.current=s;const h=async()=>{var g;if((g=i.current)==null||g.abort(),!l.current.template.trim()){p(""),y(null),k(!1),x(!1);return}const d=new AbortController;i.current=d,x(!0),y(null),k(!1);try{const v=await F.previewPrompt(l.current,{signal:d.signal});if(d.signal.aborted)return;p(v.rendered),y(null),k(!1)}catch(v){if(d.signal.aborted)return;if(fe(v)){p(""),y(null),k(!0);return}p(""),k(!1),y(v instanceof Error?v.message:w)}finally{i.current===d&&(i.current=null),x(!1)}};return u.useEffect(()=>{var d;if(!e){(d=i.current)==null||d.abort();return}h()},[e]),u.useEffect(()=>{if(!e)return;const d=g=>{g.key==="Escape"&&(g.preventDefault(),n())};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d)}},[n,e]),u.useEffect(()=>()=>{var d;(d=i.current)==null||d.abort()},[]),e?r.jsx("div",{"data-testid":"preview-modal-backdrop",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",onClick:n,children:r.jsxs("div",{role:"dialog","aria-modal":"true","data-testid":"preview-modal",onClick:d=>d.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:[r.jsxs("div",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-5",children:[r.jsx("div",{children:r.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:t("agent.prompt.preview.title")})}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("button",{type:"button",onClick:()=>{h()},disabled:m,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:[r.jsx(at,{size:14,className:m?"animate-spin":""}),t("agent.prompt.preview.refresh")]}),r.jsxs("button",{type:"button",onClick:n,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:[r.jsx(ke,{size:14}),t("common.close")]})]})]}),r.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:s.template.trim()?m?r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(X,{size:16,className:"animate-spin"}),r.jsx("span",{children:t("agent.prompt.preview.loading")})]}):b?r.jsx("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.unavailable")}):o?r.jsxs("div",{className:"space-y-2",children:[r.jsx("div",{className:"text-sm font-medium text-red-600",children:t("agent.prompt.preview.error")}),r.jsx("div",{className:"text-sm text-red-500",children:o})]}):r.jsx(we,{content:c,className:he}):r.jsx("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.empty")})}),r.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[r.jsxs("button",{type:"button",onClick:()=>{var d;return void((d=navigator.clipboard)==null?void 0:d.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:[r.jsx(je,{size:14}),t("agent.prompt.preview.copy")]}),r.jsx("button",{type:"button",onClick:n,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")})]})]})}):null}function dt({trigger:e,items:s,searchable:n=!1,searchPlaceholder:t,emptyLabel:i}){const l=u.useRef(null),c=u.useRef(null),[p,m]=u.useState(!1),[x,o]=u.useState(""),[y,b]=u.useState(0),k=u.useMemo(()=>{const d=x.trim().toLowerCase();return d?s.filter(g=>g.label.toLowerCase().includes(d)?!0:g.actions.some(v=>v.label.toLowerCase().includes(d))):s},[s,x]),w=u.useMemo(()=>k.flatMap(d=>d.actions.map(g=>({itemLabel:d.label,actionLabel:g.label,onClick:g.onClick}))),[k]);u.useEffect(()=>{var d;if(!p){o(""),b(0);return}n&&((d=c.current)==null||d.focus())},[p,n]),u.useEffect(()=>{y<w.length||b(Math.max(w.length-1,0))},[w.length,y]),u.useEffect(()=>{if(!p)return;const d=v=>{var _;(_=l.current)!=null&&_.contains(v.target)||m(!1)},g=v=>{var _;if(v.key==="Escape"){v.preventDefault(),m(!1);return}if(w.length!==0){if(v.key==="ArrowDown"){v.preventDefault(),b(M=>(M+1)%w.length);return}if(v.key==="ArrowUp"){v.preventDefault(),b(M=>(M-1+w.length)%w.length);return}v.key==="Enter"&&(v.preventDefault(),(_=w[y])==null||_.onClick(),m(!1))}};return window.addEventListener("mousedown",d),window.addEventListener("keydown",g),()=>{window.removeEventListener("mousedown",d),window.removeEventListener("keydown",g)}},[w,y,p]);let h=-1;return r.jsxs("div",{ref:l,className:"relative",children:[r.jsxs("button",{type:"button",onMouseDown:d=>d.preventDefault(),onClick:()=>m(d=>!d),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:[r.jsx("span",{children:e}),r.jsx(de,{size:14})]}),p?r.jsxs("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:[n?r.jsxs("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:[r.jsx(ue,{size:14}),r.jsx("input",{ref:c,value:x,onChange:d=>{o(d.target.value),b(0)},className:"w-full bg-transparent text-sm text-gray-700 outline-none","aria-label":t,placeholder:t})]}):null,r.jsx("div",{className:"max-h-80 space-y-1 overflow-y-auto",children:k.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:i??""}):k.map(d=>r.jsxs("div",{className:"rounded-lg border border-gray-100 px-3 py-2",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900",children:d.label}),d.actions.length>0?r.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:d.actions.map(g=>{h+=1;const v=h===y;return r.jsx("button",{type:"button",onMouseDown:_=>_.preventDefault(),onClick:()=>{g.onClick(),m(!1)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition ${v?"bg-blue-500 text-white":"border border-gray-200 bg-white text-gray-700 hover:border-gray-300 hover:bg-gray-100"}`,children:g.label},`${d.label}-${g.label}`)})}):r.jsx("div",{className:"mt-1 text-xs text-gray-500",children:i??d.label})]},d.label))})]}):null]})}function te(e){return e.replace(/\\/g,"/").replace(/^\.?\//,"")}function ne(e,s){return(e??"").toLowerCase().includes(s)}function ut({documents:e,documentsLoading:s,documentsError:n,documentsUnavailable:t,onInsertDocument:i,onRefetchDocuments:l}){const{t:c}=B(),p=u.useRef(null),m=u.useRef(null),[x,o]=u.useState(!1),[y,b]=u.useState(""),[k,w]=u.useState([]),[h,d]=u.useState(!1),[g,v]=u.useState(null),[_,M]=u.useState(new Set),[a,j]=u.useState(!1),[C,D]=u.useState(null);u.useEffect(()=>{var N;if(!x||((N=m.current)==null||N.focus(),k.length>0||h))return;let f=!1;return(async()=>{d(!0),v(null);try{const S=await F.getDocTree();f||w(S)}catch(S){f||v(S instanceof Error?S.message:c("agent.prompt.documentPicker.treeError"))}finally{f||d(!1)}})(),()=>{f=!0}},[x,k.length]),u.useEffect(()=>{x||(b(f=>f&&""),M(f=>f.size>0?new Set:f))},[x]),u.useEffect(()=>{if(!x)return;const f=N=>{var S;(S=p.current)!=null&&S.contains(N.target)||o(!1)},L=N=>{N.key==="Escape"&&(N.preventDefault(),o(!1))};return window.addEventListener("mousedown",f),window.addEventListener("keydown",L),()=>{window.removeEventListener("mousedown",f),window.removeEventListener("keydown",L)}},[x]);const E=y.trim().toLowerCase(),$=u.useMemo(()=>e.filter(f=>f.type==="inline"),[e]),z=u.useMemo(()=>{const f=e.filter(L=>L.type==="file"&&L.path);return L=>{const N=te(L),S=f.find(ve=>te(ve.path??"")===N);return S==null?void 0:S.key}},[e]),T=u.useMemo(()=>E?$.filter(f=>ne(f.key,E)||ne(f.summary,E)):$,[$,E]),P=u.useMemo(()=>me(k,E),[E,k]),be=u.useMemo(()=>{if(!E)return _;const f=new Set(_);return P.autoExpanded.forEach(L=>f.add(L)),f},[_,P.autoExpanded,E]),V=f=>{i(f,"content"),o(!1)},ye=async f=>{D(null);const L=z(f);if(L){V(L);return}try{j(!0);const N=await F.registerDocument({path:f});V(N.key),l==null||l()}catch(N){D(N instanceof Error?N.message:c("agent.prompt.documentPicker.registerError"))}finally{j(!1)}},G=s||n||t||T.length>0,Z=h||g||P.nodes.length>0;return r.jsxs("div",{ref:p,className:"relative",children:[r.jsxs("button",{type:"button",onMouseDown:f=>f.preventDefault(),onClick:()=>o(f=>!f),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:[r.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[r.jsx(K,{className:"h-4 w-4"}),r.jsx("span",{children:c("agent.prompt.documentInsert")})]}),r.jsx(de,{size:14})]}),x?r.jsxs("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:[r.jsxs("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:[r.jsx(ue,{size:14}),r.jsx("input",{ref:m,value:y,onChange:f=>b(f.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")})]}),r.jsxs("div",{className:"max-h-96 space-y-3 overflow-y-auto",children:[G?r.jsxs("section",{children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[r.jsx(Ne,{className:"h-3.5 w-3.5"}),r.jsx("span",{children:c("agent.prompt.documentPicker.inlineSection")})]}),s?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertLoading")}):n?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:n}):t?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertUnavailable")}):T.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noInlineResults")}):r.jsx("div",{className:"space-y-1",children:T.map(f=>r.jsxs("button",{type:"button",onMouseDown:L=>L.preventDefault(),onClick:()=>V(f.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:[r.jsx(K,{className:"h-4 w-4 shrink-0 text-gray-400"}),r.jsx("span",{className:"truncate",children:f.key})]},f.key))})]}):null,Z?r.jsxs("section",{children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[r.jsx(K,{className:"h-3.5 w-3.5"}),r.jsx("span",{children:c("agent.prompt.documentPicker.docsSection")})]}),h?r.jsxs("div",{className:"flex items-center gap-2 rounded-lg px-3 py-2 text-sm text-gray-500",children:[r.jsx(X,{className:"h-4 w-4 animate-spin"}),r.jsx("span",{children:c("agent.prompt.documentPicker.treeLoading")})]}):g?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:g}):P.nodes.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noTreeResults")}):r.jsxs(r.Fragment,{children:[r.jsx(Ce,{nodes:P.nodes,expandedFolders:be,onToggle:f=>M(L=>{const N=new Set(L);return N.has(f)?N.delete(f):N.add(f),N}),onSelect:f=>{a||ye(f)},selectedPath:null,isFileDisabled:()=>a,renderFileSuffix:f=>z(f.path)?r.jsx(rt,{className:"h-3.5 w-3.5 shrink-0 text-blue-500","aria-label":c("agent.prompt.documentPicker.linked")}):a?r.jsx(X,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}):null}),C?r.jsx("div",{className:"mt-1 rounded-lg px-3 py-2 text-sm text-red-500",role:"alert",children:C}):null]})]}):null,!G&&!Z?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertEmpty")}):null]})]}):null]})}function pt({deleteNode:e,extension:s,node:n,updateAttributes:t}){const{t:i}=B(),l=u.useRef(null),[c,p]=u.useState(!1),m=String(n.attrs.key??""),x=String(n.attrs.variant??"content"),o=s.options.getVariantLabel;u.useEffect(()=>{if(!c)return;const b=w=>{var h;(h=l.current)!=null&&h.contains(w.target)||p(!1)},k=w=>{w.key==="Escape"&&(w.preventDefault(),p(!1))};return window.addEventListener("mousedown",b),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",b),window.removeEventListener("keydown",k)}},[c]);const y=[{value:"content",label:o("content")},{value:"toc",label:o("toc")}];return r.jsxs(Le,{as:"span",ref:l,className:"relative inline-flex","data-testid":"document-block-node",children:[r.jsx("button",{type:"button","data-testid":"document-block-trigger",onMouseDown:b=>b.preventDefault(),onClick:()=>p(b=>!b),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:`📄 ${m} · ${o(x)}`}),c?r.jsxs("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:[y.map(b=>{const k=b.value===x;return r.jsxs("button",{type:"button","data-testid":`document-block-option-${b.value}`,onMouseDown:w=>w.preventDefault(),onClick:()=>{t({variant:b.value}),p(!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:[r.jsx("span",{className:"inline-flex h-4 w-4 items-center justify-center",children:k?r.jsx(_e,{className:"h-4 w-4 text-blue-500"}):null}),r.jsx("span",{children:b.label})]},b.value)}),r.jsx("div",{className:"my-1 border-t border-gray-100"}),r.jsxs("button",{type:"button","data-testid":"document-block-delete",onMouseDown:b=>b.preventDefault(),onClick:()=>{e(),p(!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:[r.jsx(Ee,{className:"h-4 w-4"}),r.jsx("span",{children:i("agent.prompt.documentChip.delete")})]})]}):null]})}const mt=pe.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:s}){const n=String(s.attrs.key??""),t=String(s.attrs.variant??"content"),i=this.options.getVariantLabel(t);return["span",De(e,{"data-doc-block":"true","data-key":n,"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"}),`📄 ${n} · ${i}`]},addNodeView(){return Se(pt)}}),ft=Me.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:s}){return["span",{...s,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??"")]}}),ge=["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 ht(e){return ge.includes(e)}function xe(e,s){return s&&s.length>0?{type:"text",text:e,marks:s}:{type:"text",text:e}}function W(e,s,n){if(!s)return;const t=e[e.length-1],i=JSON.stringify(n??[]),l=JSON.stringify((t==null?void 0:t.marks)??[]);if((t==null?void 0:t.type)==="text"&&i===l){t.text=`${t.text??""}${s}`;return}e.push(xe(s,n))}function O(e,...s){return e.map(n=>{if(n.type!=="text")return n;const t=new Set((n.marks??[]).map(l=>l.type)),i=s.filter(l=>!t.has(l)).map(l=>({type:l}));return{...n,marks:[...n.marks??[],...i]}})}function gt(e){const s=e.match(/^\{\{(agent\.(?:id|name|role|team|description))\}\}$/);return!s||!ht(s[1])?null:{type:"variableMention",attrs:{variable:s[1]}}}function J(e){const s=e.match(/^\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\}$/);return s?{type:"documentBlock",attrs:{key:s[1],variant:s[2]}}:null}function xt(e,s){const n=e[s].match(/^<document\b[^>]*>\s*(\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\})\s*<\/document>\s*$/);if(n){const m=J(n[1]);if(m)return{node:{type:"paragraph",content:[m]},nextIndex:s+1}}if(!/^<document\b[^>]*>\s*$/.test(e[s]??""))return null;let t=s+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 p=J(l);return p?{node:{type:"paragraph",content:[p]},nextIndex:t+1}:null}function Q(e,s,n,t){return e.startsWith(s,t)?e.indexOf(n,t+s.length):-1}function bt(e,s){const n=[e.indexOf("{{{documents.",s),e.indexOf("{{agent.",s),e.indexOf("**",s),e.indexOf("~~",s),e.indexOf("`",s),e.indexOf("*",s)].filter(t=>t>=0);return n.length>0?Math.min(...n):-1}function A(e,s=!1){const n=[];let t=0;for(;t<e.length;){const i=Q(e,"***","***",t);if(i>t){const o=e.slice(t+3,i);n.push(...O(A(o,s),"bold","italic")),t=i+3;continue}if(!s&&e.startsWith("{{{documents.",t)){const o=e.indexOf("}}}",t);if(o>t){const y=e.slice(t,o+3),b=J(y);if(b){n.push(b),t=o+3;continue}}}if(!s&&e.startsWith("{{agent.",t)){const o=e.indexOf("}}",t);if(o>t){const y=e.slice(t,o+2),b=gt(y);if(b){n.push(b),t=o+2;continue}}}const l=Q(e,"**","**",t);if(l>t){const o=e.slice(t+2,l);n.push(...O(A(o,s),"bold")),t=l+2;continue}const c=Q(e,"~~","~~",t);if(c>t){const o=e.slice(t+2,c);n.push(...O(A(o,s),"strike")),t=c+2;continue}const p=e[t]==="*"&&!e.startsWith("**",t)?e.indexOf("*",t+1):-1;if(p>t){const o=e.slice(t+1,p);n.push(...O(A(o,s),"italic")),t=p+1;continue}if(e[t]==="`"){const o=e.indexOf("`",t+1);if(o>t){W(n,e.slice(t+1,o),[{type:"code"}]),t=o+1;continue}}const m=bt(e,t),x=m>=0?m:e.length;if(x===t){W(n,e[t]),t+=1;continue}W(n,e.slice(t,x)),t=x}return n}function yt(e){const s=e.split(`
21
+ */const st=[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]],at=V("refresh-ccw",st);function ee(e,s){return(e??"").toLowerCase().includes(s)}function me(e,s){const n=s.trim().toLowerCase();if(!n)return{nodes:e,autoExpanded:new Set};const t=new Set;return{nodes:e.flatMap(l=>{const c=ee(l.name,n)||ee(l.path,n);if(l.type==="file")return c?[l]:[];if(c)return t.add(l.path),[{...l,children:l.children}];const p=me(l.children??[],n);return p.nodes.length>0?(t.add(l.path),p.autoExpanded.forEach(m=>t.add(m)),[{...l,children:p.nodes}]):[]}),autoExpanded:t}}function fe(e){return e instanceof Error?/HTTP (404|405|501|503)\b|Failed to fetch|NetworkError/i.test(e.message):!1}const R={id:"agent_id",name:"에이전트 이름",role:"에이전트 역할",team:"팀",description:"에이전트 설명"};function ot(e){return{id:e.id.trim()||R.id,name:e.name.trim()||R.name,role:e.role.trim()||R.role,team:e.team.trim()||R.team,description:e.description.trim()||R.description}}function it(e,s,n){let t=!1;return e.state.doc.descendants(i=>i.type.name==="documentBlock"&&i.attrs.key===s&&i.attrs.variant===n?(t=!0,!1):!t),t}const he=["[&_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(" "),lt=["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",he,"[&_.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 ct({open:e,request:s,onClose:n}){const{t}=B(),i=u.useRef(null),l=u.useRef(s),[c,p]=u.useState(""),[m,x]=u.useState(!1),[o,y]=u.useState(null),[b,k]=u.useState(!1),w=t("agent.prompt.preview.error");l.current=s;const h=async()=>{var g;if((g=i.current)==null||g.abort(),!l.current.template.trim()){p(""),y(null),k(!1),x(!1);return}const d=new AbortController;i.current=d,x(!0),y(null),k(!1);try{const v=await F.previewPrompt(l.current,{signal:d.signal});if(d.signal.aborted)return;p(v.rendered),y(null),k(!1)}catch(v){if(d.signal.aborted)return;if(fe(v)){p(""),y(null),k(!0);return}p(""),k(!1),y(v instanceof Error?v.message:w)}finally{i.current===d&&(i.current=null),x(!1)}};return u.useEffect(()=>{var d;if(!e){(d=i.current)==null||d.abort();return}h()},[e]),u.useEffect(()=>{if(!e)return;const d=g=>{g.key==="Escape"&&(g.preventDefault(),n())};return window.addEventListener("keydown",d),()=>{window.removeEventListener("keydown",d)}},[n,e]),u.useEffect(()=>()=>{var d;(d=i.current)==null||d.abort()},[]),e?r.jsx("div",{"data-testid":"preview-modal-backdrop",className:"fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4",onClick:n,children:r.jsxs("div",{role:"dialog","aria-modal":"true","data-testid":"preview-modal",onClick:d=>d.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:[r.jsxs("div",{className:"flex items-start justify-between gap-4 border-b border-gray-200 px-6 py-5",children:[r.jsx("div",{children:r.jsx("h2",{className:"text-lg font-semibold text-gray-900",children:t("agent.prompt.preview.title")})}),r.jsxs("div",{className:"flex items-center gap-2",children:[r.jsxs("button",{type:"button",onClick:()=>{h()},disabled:m,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:[r.jsx(at,{size:14,className:m?"animate-spin":""}),t("agent.prompt.preview.refresh")]}),r.jsxs("button",{type:"button",onClick:n,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:[r.jsx(ke,{size:14}),t("common.close")]})]})]}),r.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto px-6 py-5",children:s.template.trim()?m?r.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-500",children:[r.jsx(J,{size:16,className:"animate-spin"}),r.jsx("span",{children:t("agent.prompt.preview.loading")})]}):b?r.jsx("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.unavailable")}):o?r.jsxs("div",{className:"space-y-2",children:[r.jsx("div",{className:"text-sm font-medium text-red-600",children:t("agent.prompt.preview.error")}),r.jsx("div",{className:"text-sm text-red-500",children:o})]}):r.jsx(we,{content:c,className:he}):r.jsx("div",{className:"text-sm text-gray-500",children:t("agent.prompt.preview.empty")})}),r.jsxs("div",{className:"flex justify-end gap-2 border-t border-gray-200 px-6 py-4",children:[r.jsxs("button",{type:"button",onClick:()=>{var d;return void((d=navigator.clipboard)==null?void 0:d.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:[r.jsx(je,{size:14}),t("agent.prompt.preview.copy")]}),r.jsx("button",{type:"button",onClick:n,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")})]})]})}):null}function dt({trigger:e,items:s,searchable:n=!1,searchPlaceholder:t,emptyLabel:i}){const l=u.useRef(null),c=u.useRef(null),[p,m]=u.useState(!1),[x,o]=u.useState(""),[y,b]=u.useState(0),k=u.useMemo(()=>{const d=x.trim().toLowerCase();return d?s.filter(g=>g.label.toLowerCase().includes(d)?!0:g.actions.some(v=>v.label.toLowerCase().includes(d))):s},[s,x]),w=u.useMemo(()=>k.flatMap(d=>d.actions.map(g=>({itemLabel:d.label,actionLabel:g.label,onClick:g.onClick}))),[k]);u.useEffect(()=>{var d;if(!p){o(""),b(0);return}n&&((d=c.current)==null||d.focus())},[p,n]),u.useEffect(()=>{y<w.length||b(Math.max(w.length-1,0))},[w.length,y]),u.useEffect(()=>{if(!p)return;const d=v=>{var _;(_=l.current)!=null&&_.contains(v.target)||m(!1)},g=v=>{var _;if(v.key==="Escape"){v.preventDefault(),m(!1);return}if(w.length!==0){if(v.key==="ArrowDown"){v.preventDefault(),b(M=>(M+1)%w.length);return}if(v.key==="ArrowUp"){v.preventDefault(),b(M=>(M-1+w.length)%w.length);return}v.key==="Enter"&&(v.preventDefault(),(_=w[y])==null||_.onClick(),m(!1))}};return window.addEventListener("mousedown",d),window.addEventListener("keydown",g),()=>{window.removeEventListener("mousedown",d),window.removeEventListener("keydown",g)}},[w,y,p]);let h=-1;return r.jsxs("div",{ref:l,className:"relative",children:[r.jsxs("button",{type:"button",onMouseDown:d=>d.preventDefault(),onClick:()=>m(d=>!d),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:[r.jsx("span",{children:e}),r.jsx(de,{size:14})]}),p?r.jsxs("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:[n?r.jsxs("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:[r.jsx(ue,{size:14}),r.jsx("input",{ref:c,value:x,onChange:d=>{o(d.target.value),b(0)},className:"w-full bg-transparent text-sm text-gray-700 outline-none","aria-label":t,placeholder:t})]}):null,r.jsx("div",{className:"max-h-80 space-y-1 overflow-y-auto",children:k.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:i??""}):k.map(d=>r.jsxs("div",{className:"rounded-lg border border-gray-100 px-3 py-2",children:[r.jsx("div",{className:"text-sm font-medium text-gray-900",children:d.label}),d.actions.length>0?r.jsx("div",{className:"mt-2 flex flex-wrap gap-2",children:d.actions.map(g=>{h+=1;const v=h===y;return r.jsx("button",{type:"button",onMouseDown:_=>_.preventDefault(),onClick:()=>{g.onClick(),m(!1)},className:`rounded-md px-2.5 py-1 text-xs font-medium transition ${v?"bg-blue-500 text-white":"border border-gray-200 bg-white text-gray-700 hover:border-gray-300 hover:bg-gray-100"}`,children:g.label},`${d.label}-${g.label}`)})}):r.jsx("div",{className:"mt-1 text-xs text-gray-500",children:i??d.label})]},d.label))})]}):null]})}function te(e){return e.replace(/\\/g,"/").replace(/^\.?\//,"")}function ne(e,s){return(e??"").toLowerCase().includes(s)}function ut({documents:e,documentsLoading:s,documentsError:n,documentsUnavailable:t,onInsertDocument:i,onRefetchDocuments:l}){const{t:c}=B(),p=u.useRef(null),m=u.useRef(null),[x,o]=u.useState(!1),[y,b]=u.useState(""),[k,w]=u.useState([]),[h,d]=u.useState(!1),[g,v]=u.useState(null),[_,M]=u.useState(new Set),[a,j]=u.useState(!1),[C,D]=u.useState(null);u.useEffect(()=>{var N;if(!x||((N=m.current)==null||N.focus(),k.length>0||h))return;let f=!1;return(async()=>{d(!0),v(null);try{const E=await F.getDocTree();f||w(E)}catch(E){f||v(E instanceof Error?E.message:c("agent.prompt.documentPicker.treeError"))}finally{f||d(!1)}})(),()=>{f=!0}},[x,k.length]),u.useEffect(()=>{x||(b(f=>f&&""),M(f=>f.size>0?new Set:f))},[x]),u.useEffect(()=>{if(!x)return;const f=N=>{var E;(E=p.current)!=null&&E.contains(N.target)||o(!1)},L=N=>{N.key==="Escape"&&(N.preventDefault(),o(!1))};return window.addEventListener("mousedown",f),window.addEventListener("keydown",L),()=>{window.removeEventListener("mousedown",f),window.removeEventListener("keydown",L)}},[x]);const S=y.trim().toLowerCase(),T=u.useMemo(()=>e.filter(f=>f.type==="inline"),[e]),z=u.useMemo(()=>{const f=e.filter(L=>L.type==="file"&&L.path);return L=>{const N=te(L),E=f.find(ve=>te(ve.path??"")===N);return E==null?void 0:E.key}},[e]),$=u.useMemo(()=>S?T.filter(f=>ne(f.key,S)||ne(f.summary,S)):T,[T,S]),P=u.useMemo(()=>me(k,S),[S,k]),be=u.useMemo(()=>{if(!S)return _;const f=new Set(_);return P.autoExpanded.forEach(L=>f.add(L)),f},[_,P.autoExpanded,S]),H=f=>{i(f,"content"),o(!1)},ye=async f=>{D(null);const L=z(f);if(L){H(L);return}try{j(!0);const N=await F.registerDocument({path:f});H(N.key),l==null||l()}catch(N){D(N instanceof Error?N.message:c("agent.prompt.documentPicker.registerError"))}finally{j(!1)}},Z=s||n||t||$.length>0,G=h||g||P.nodes.length>0;return r.jsxs("div",{ref:p,className:"relative",children:[r.jsxs("button",{type:"button",onMouseDown:f=>f.preventDefault(),onClick:()=>o(f=>!f),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:[r.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[r.jsx(K,{className:"h-4 w-4"}),r.jsx("span",{children:c("agent.prompt.documentInsert")})]}),r.jsx(de,{size:14})]}),x?r.jsxs("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:[r.jsxs("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:[r.jsx(ue,{size:14}),r.jsx("input",{ref:m,value:y,onChange:f=>b(f.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")})]}),r.jsxs("div",{className:"max-h-96 space-y-3 overflow-y-auto",children:[Z?r.jsxs("section",{children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[r.jsx(Ne,{className:"h-3.5 w-3.5"}),r.jsx("span",{children:c("agent.prompt.documentPicker.inlineSection")})]}),s?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertLoading")}):n?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:n}):t?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertUnavailable")}):$.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noInlineResults")}):r.jsx("div",{className:"space-y-1",children:$.map(f=>r.jsxs("button",{type:"button",onMouseDown:L=>L.preventDefault(),onClick:()=>H(f.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:[r.jsx(K,{className:"h-4 w-4 shrink-0 text-gray-400"}),r.jsx("span",{className:"truncate",children:f.key})]},f.key))})]}):null,G?r.jsxs("section",{children:[r.jsxs("div",{className:"mb-1 flex items-center gap-2 px-2 py-1 text-xs font-semibold uppercase tracking-wide text-gray-400",children:[r.jsx(K,{className:"h-3.5 w-3.5"}),r.jsx("span",{children:c("agent.prompt.documentPicker.docsSection")})]}),h?r.jsxs("div",{className:"flex items-center gap-2 rounded-lg px-3 py-2 text-sm text-gray-500",children:[r.jsx(J,{className:"h-4 w-4 animate-spin"}),r.jsx("span",{children:c("agent.prompt.documentPicker.treeLoading")})]}):g?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-red-500",children:g}):P.nodes.length===0?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentPicker.noTreeResults")}):r.jsxs(r.Fragment,{children:[r.jsx(Ce,{nodes:P.nodes,expandedFolders:be,onToggle:f=>M(L=>{const N=new Set(L);return N.has(f)?N.delete(f):N.add(f),N}),onSelect:f=>{a||ye(f)},selectedPath:null,isFileDisabled:()=>a,renderFileSuffix:f=>z(f.path)?r.jsx(rt,{className:"h-3.5 w-3.5 shrink-0 text-blue-500","aria-label":c("agent.prompt.documentPicker.linked")}):a?r.jsx(J,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-gray-400"}):null}),C?r.jsx("div",{className:"mt-1 rounded-lg px-3 py-2 text-sm text-red-500",role:"alert",children:C}):null]})]}):null,!Z&&!G?r.jsx("div",{className:"rounded-lg px-3 py-2 text-sm text-gray-500",children:c("agent.prompt.documentInsertEmpty")}):null]})]}):null]})}function pt({deleteNode:e,extension:s,node:n,updateAttributes:t}){const{t:i}=B(),l=u.useRef(null),[c,p]=u.useState(!1),m=String(n.attrs.key??""),x=String(n.attrs.variant??"content"),o=s.options.getVariantLabel;u.useEffect(()=>{if(!c)return;const b=w=>{var h;(h=l.current)!=null&&h.contains(w.target)||p(!1)},k=w=>{w.key==="Escape"&&(w.preventDefault(),p(!1))};return window.addEventListener("mousedown",b),window.addEventListener("keydown",k),()=>{window.removeEventListener("mousedown",b),window.removeEventListener("keydown",k)}},[c]);const y=[{value:"content",label:o("content")},{value:"toc",label:o("toc")}];return r.jsxs(Le,{as:"span",ref:l,className:"relative inline-flex","data-testid":"document-block-node",children:[r.jsx("button",{type:"button","data-testid":"document-block-trigger",onMouseDown:b=>b.preventDefault(),onClick:()=>p(b=>!b),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:`📄 ${m} · ${o(x)}`}),c?r.jsxs("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:[y.map(b=>{const k=b.value===x;return r.jsxs("button",{type:"button","data-testid":`document-block-option-${b.value}`,onMouseDown:w=>w.preventDefault(),onClick:()=>{t({variant:b.value}),p(!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:[r.jsx("span",{className:"inline-flex h-4 w-4 items-center justify-center",children:k?r.jsx(_e,{className:"h-4 w-4 text-blue-500"}):null}),r.jsx("span",{children:b.label})]},b.value)}),r.jsx("div",{className:"my-1 border-t border-gray-100"}),r.jsxs("button",{type:"button","data-testid":"document-block-delete",onMouseDown:b=>b.preventDefault(),onClick:()=>{e(),p(!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:[r.jsx(Se,{className:"h-4 w-4"}),r.jsx("span",{children:i("agent.prompt.documentChip.delete")})]})]}):null]})}const mt=pe.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:s}){const n=String(s.attrs.key??""),t=String(s.attrs.variant??"content"),i=this.options.getVariantLabel(t);return["span",De(e,{"data-doc-block":"true","data-key":n,"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"}),`📄 ${n} · ${i}`]},addNodeView(){return Ee(pt)}}),ft=Me.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:s}){return["span",{...s,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??"")]}}),ge=["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 ht(e){return ge.includes(e)}function xe(e,s){return s&&s.length>0?{type:"text",text:e,marks:s}:{type:"text",text:e}}function Q(e,s,n){if(!s)return;const t=e[e.length-1],i=JSON.stringify(n??[]),l=JSON.stringify((t==null?void 0:t.marks)??[]);if((t==null?void 0:t.type)==="text"&&i===l){t.text=`${t.text??""}${s}`;return}e.push(xe(s,n))}function O(e,...s){return e.map(n=>{if(n.type!=="text")return n;const t=new Set((n.marks??[]).map(l=>l.type)),i=s.filter(l=>!t.has(l)).map(l=>({type:l}));return{...n,marks:[...n.marks??[],...i]}})}function gt(e){const s=e.match(/^\{\{(agent\.(?:id|name|role|team|description))\}\}$/);return!s||!ht(s[1])?null:{type:"variableMention",attrs:{variable:s[1]}}}function X(e){const s=e.match(/^\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\}$/);return s?{type:"documentBlock",attrs:{key:s[1],variant:s[2]}}:null}function xt(e,s){const n=e[s].match(/^<document\b[^>]*>\s*(\{\{\{documents\.([^.\s}]+)\.(content|toc)\}\}\})\s*<\/document>\s*$/);if(n){const m=X(n[1]);if(m)return{node:{type:"paragraph",content:[m]},nextIndex:s+1}}if(!/^<document\b[^>]*>\s*$/.test(e[s]??""))return null;let t=s+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 p=X(l);return p?{node:{type:"paragraph",content:[p]},nextIndex:t+1}:null}function U(e,s,n,t){return e.startsWith(s,t)?e.indexOf(n,t+s.length):-1}function bt(e,s){const n=[e.indexOf("{{{documents.",s),e.indexOf("{{agent.",s),e.indexOf("**",s),e.indexOf("~~",s),e.indexOf("`",s),e.indexOf("*",s)].filter(t=>t>=0);return n.length>0?Math.min(...n):-1}function A(e,s=!1){const n=[];let t=0;for(;t<e.length;){const i=U(e,"***","***",t);if(i>t){const o=e.slice(t+3,i);n.push(...O(A(o,s),"bold","italic")),t=i+3;continue}if(!s&&e.startsWith("{{{documents.",t)){const o=e.indexOf("}}}",t);if(o>t){const y=e.slice(t,o+3),b=X(y);if(b){n.push(b),t=o+3;continue}}}if(!s&&e.startsWith("{{agent.",t)){const o=e.indexOf("}}",t);if(o>t){const y=e.slice(t,o+2),b=gt(y);if(b){n.push(b),t=o+2;continue}}}const l=U(e,"**","**",t);if(l>t){const o=e.slice(t+2,l);n.push(...O(A(o,s),"bold")),t=l+2;continue}const c=U(e,"~~","~~",t);if(c>t){const o=e.slice(t+2,c);n.push(...O(A(o,s),"strike")),t=c+2;continue}const p=e[t]==="*"&&!e.startsWith("**",t)?e.indexOf("*",t+1):-1;if(p>t){const o=e.slice(t+1,p);n.push(...O(A(o,s),"italic")),t=p+1;continue}if(e[t]==="`"){const o=e.indexOf("`",t+1);if(o>t){Q(n,e.slice(t+1,o),[{type:"code"}]),t=o+1;continue}}const m=bt(e,t),x=m>=0?m:e.length;if(x===t){Q(n,e[t]),t+=1;continue}Q(n,e.slice(t,x)),t=x}return n}function yt(e){const s=e.split(`
22
22
  `),n=[];return s.forEach((t,i)=>{n.push(...A(t)),i<s.length-1&&n.push({type:"hardBreak"})}),{type:"paragraph",content:n}}function ae(e,s){const n=s?"orderedList":"bulletList",t=s?/^\d+\.\s+/:/^[-*]\s+/;return{type:n,content:e.map(i=>({type:"listItem",content:[{type:"paragraph",content:A(i.replace(t,""))}]}))}}function vt(e){return/^#{1,3}\s+/.test(e)||/^```/.test(e)||/^---+$/.test(e)||/^[-*]\s+/.test(e)||/^\d+\.\s+/.test(e)}function kt(e){const s=new Set((e??[]).map(n=>n.type).filter(n=>re.includes(n)));return re.filter(n=>s.has(n))}function wt(e,s){let n=0;for(;n<e.length&&n<s.length&&e[n]===s[n];)n+=1;return n}function oe(e){return e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").trim()}function jt(e,s,n){var t,i,l,c;if(e.type==="hardBreak")return`
23
23
  `;if(e.type==="variableMention"){const p=String(((t=e.attrs)==null?void 0:t.variable)??"");return s==="preview"?`**{{${p}}}**`:`{{${p}}}`}if(e.type==="documentBlock"){const p=String(((i=e.attrs)==null?void 0:i.key)??""),m=String(((l=e.attrs)==null?void 0:l.variant)??"content"),x=`{{{documents.${p}.${m}}}}`,o=((c=n==null?void 0:n.getDocumentMeta)==null?void 0:c.call(n,p))??{name:p},y=[`name="${oe(o.name)}"`];return o.path&&y.push(`path="${oe(o.path)}"`),y.push(`type="${m}"`),`<document ${y.join(" ")}>
24
24
 
25
25
  ${x}
26
26
 
27
- </document>`}return I(e.content,s,n)}function I(e,s,n){let t="",i=[];const l=c=>{const p=wt(i,c);for(let m=i.length-1;m>=p;m-=1)t+=se[i[m]].close;for(let m=p;m<c.length;m+=1)t+=se[c[m]].open;i=c};for(const c of e??[]){if(c.type==="text"){l(kt(c.marks)),t+=c.text??"";continue}l([]),t+=jt(c,s,n)}return l([]),t}function U(e){const s=e.replace(/\r\n?/g,`
27
+ </document>`}return I(e.content,s,n)}function I(e,s,n){let t="",i=[];const l=c=>{const p=wt(i,c);for(let m=i.length-1;m>=p;m-=1)t+=se[i[m]].close;for(let m=p;m<c.length;m+=1)t+=se[c[m]].open;i=c};for(const c of e??[]){if(c.type==="text"){l(kt(c.marks)),t+=c.text??"";continue}l([]),t+=jt(c,s,n)}return l([]),t}function W(e){const s=e.replace(/\r\n?/g,`
28
28
  `);if(!s.trim())return{type:"doc",content:[]};const n=s.split(`
29
29
  `),t=[];let i=0;for(;i<n.length;){const l=n[i];if(!l.trim()){i+=1;continue}const c=xt(n,i);if(c){t.push(c.node),i=c.nextIndex;continue}const p=l.match(/^```(\S+)?\s*$/);if(p){const o=p[1]??null,y=[];for(i+=1;i<n.length&&!/^```/.test(n[i]);)y.push(n[i]),i+=1;i<n.length&&(i+=1),t.push({type:"codeBlock",attrs:o?{language:o}:{},content:[xe(y.join(`
30
30
  `))]});continue}const m=l.match(/^(#{1,3})\s+(.*)$/);if(m){t.push({type:"heading",attrs:{level:m[1].length},content:A(m[2])}),i+=1;continue}if(/^---+$/.test(l)){t.push({type:"horizontalRule"}),i+=1;continue}if(/^[-*]\s+/.test(l)){const o=[];for(;i<n.length&&/^[-*]\s+/.test(n[i]);)o.push(n[i]),i+=1;t.push(ae(o,!1));continue}if(/^\d+\.\s+/.test(l)){const o=[];for(;i<n.length&&/^\d+\.\s+/.test(n[i]);)o.push(n[i]),i+=1;t.push(ae(o,!0));continue}const x=[l];for(i+=1;i<n.length&&n[i].trim()&&!vt(n[i]);)x.push(n[i]),i+=1;t.push(yt(x.join(`
@@ -34,4 +34,4 @@ ${x}
34
34
  ${m}
35
35
  \`\`\``}case"horizontalRule":return"---";case"paragraph":return I(e.content,s,n);default:return I(e.content,s,n)}}function ie(e,s){return(e.content??[]).map(n=>Nt(n,"hbs",s)).join(`
36
36
 
37
- `)}function Ct(e){return/\{\{agent\.(?:id|name|role|team|description)\}\}|\{\{\{documents\.[^.\s}]+\.(?:content|toc)\}\}\}|<document\b[^>]*>/.test(e)}function Lt(e,s){return{type:"documentBlock",attrs:{key:e,variant:s}}}function le(e){return{type:"variableMention",attrs:{variable:e}}}function q(e){return!e.isActive("codeBlock")&&!e.isActive("code")}function ce(e,s,n){return q(e)?it(e,s,n)?!1:(e.chain().focus().insertContent(Lt(s,n)).run(),!0):(e.chain().focus().insertContent(`{{{documents.${s}.${n}}}}`).run(),!0)}const _t=u.forwardRef(function({value:s,onChange:n,documents:t,documentsLoading:i,documentsError:l,documentsUnavailable:c,onPreview:p,onRefetchDocuments:m},x){const{t:o}=B(),y=u.useRef(null),b=u.useMemo(()=>({content:o("agent.prompt.variantContent"),toc:o("agent.prompt.variantToc")}),[o]),k=u.useMemo(()=>a=>{var C;const j=t.find(D=>D.key===a);if((j==null?void 0:j.type)==="file"&&j.path){const D=j.path.split("/").filter(Boolean);return{name:D[D.length-1]??a,path:j.path}}return{name:((C=j==null?void 0:j.summary)==null?void 0:C.trim())||a}},[t]),w=u.useMemo(()=>[{key:"headings",buttons:[{key:"h1",label:o("agent.prompt.toolbar.h1"),icon:Ae,shortcut:"Cmd+Alt+1",action:a=>{a.chain().focus().toggleHeading({level:1}).run()},isActive:a=>a.isActive("heading",{level:1})},{key:"h2",label:o("agent.prompt.toolbar.h2"),icon:$e,shortcut:"Cmd+Alt+2",action:a=>{a.chain().focus().toggleHeading({level:2}).run()},isActive:a=>a.isActive("heading",{level:2})},{key:"h3",label:o("agent.prompt.toolbar.h3"),icon:Te,shortcut:"Cmd+Alt+3",action:a=>{a.chain().focus().toggleHeading({level:3}).run()},isActive:a=>a.isActive("heading",{level:3})}]},{key:"text",buttons:[{key:"bold",label:o("agent.prompt.toolbar.bold"),icon:Ie,shortcut:"Cmd+B",action:a=>{a.chain().focus().toggleBold().run()},isActive:a=>a.isActive("bold")},{key:"italic",label:o("agent.prompt.toolbar.italic"),icon:Pe,shortcut:"Cmd+I",action:a=>{a.chain().focus().toggleItalic().run()},isActive:a=>a.isActive("italic")},{key:"strike",label:o("agent.prompt.toolbar.strike"),icon:Re,shortcut:"Cmd+Shift+S",action:a=>{a.chain().focus().toggleStrike().run()},isActive:a=>a.isActive("strike")}]},{key:"lists",buttons:[{key:"bulletList",label:o("agent.prompt.toolbar.bulletList"),icon:Be,shortcut:"Cmd+Shift+8",action:a=>{a.chain().focus().toggleBulletList().run()},isActive:a=>a.isActive("bulletList")},{key:"orderedList",label:o("agent.prompt.toolbar.orderedList"),icon:ze,shortcut:"Cmd+Shift+7",action:a=>{a.chain().focus().toggleOrderedList().run()},isActive:a=>a.isActive("orderedList")},{key:"blockquote",label:o("agent.prompt.toolbar.blockquote"),icon:Oe,shortcut:"Cmd+Shift+B",action:a=>{a.chain().focus().toggleBlockquote().run()},isActive:a=>a.isActive("blockquote")}]},{key:"code",buttons:[{key:"code",label:o("agent.prompt.toolbar.code"),icon:qe,shortcut:"Cmd+E",action:a=>{a.chain().focus().toggleCode().run()},isActive:a=>a.isActive("code")},{key:"codeBlock",label:o("agent.prompt.toolbar.codeBlock"),icon:Fe,shortcut:"Cmd+Alt+C",action:a=>{a.chain().focus().toggleCodeBlock().run()},isActive:a=>a.isActive("codeBlock")},{key:"horizontalRule",label:o("agent.prompt.toolbar.horizontalRule"),icon:He,shortcut:"Cmd+Alt+-",action:a=>{a.chain().focus().setHorizontalRule().run()}}]},{key:"history",buttons:[{key:"undo",label:o("agent.prompt.toolbar.undo"),icon:Ve,shortcut:"Cmd+Z",action:a=>{a.chain().focus().undo().run()},isDisabled:a=>!a.can().chain().focus().undo().run()},{key:"redo",label:o("agent.prompt.toolbar.redo"),icon:Ke,shortcut:"Cmd+Shift+Z",action:a=>{a.chain().focus().redo().run()},isDisabled:a=>!a.can().chain().focus().redo().run()}]}],[o]),h=We({immediatelyRender:!1,extensions:[Qe.configure({heading:{levels:[1,2,3]}}),Ue.configure({placeholder:o("agent.prompt.placeholder")}),ft.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:a=>a==="toc"?b.toc:b.content}),pe.create({name:"fallbackInline",inline:!0,group:"inline"})],content:U(s),editorProps:{attributes:{class:lt,"data-testid":"prompt-editor-content","aria-label":o("agent.prompt.editorLabel"),role:"textbox"}},onUpdate({editor:a}){const j=ie(a.getJSON(),{getDocumentMeta:k});y.current=j,n(j)}}),d=Xe({editor:h,selector:({editor:a})=>a?{active:{h1:a.isActive("heading",{level:1}),h2:a.isActive("heading",{level:2}),h3:a.isActive("heading",{level:3}),bold:a.isActive("bold"),italic:a.isActive("italic"),strike:a.isActive("strike"),bulletList:a.isActive("bulletList"),orderedList:a.isActive("orderedList"),blockquote:a.isActive("blockquote"),code:a.isActive("code"),codeBlock:a.isActive("codeBlock")},disabled:{undo:!a.can().chain().focus().undo().run(),redo:!a.can().chain().focus().redo().run()}}:{active:{},disabled:{}}}),g=u.useMemo(()=>ge.map(a=>({label:a,actions:[{label:o("agent.prompt.toolbar.insert"),onClick:()=>{if(h){if(q(h)){h.chain().focus().insertContent(le(a)).run();return}h.chain().focus().insertContent(`{{${a}}}`).run()}}}]})),[h,o]);u.useEffect(()=>{if(!h)return;const a=ie(h.getJSON(),{getDocumentMeta:k});s===a||s===y.current||(h.commands.setContent(U(s)),y.current=s)},[h,k,s]),u.useImperativeHandle(x,()=>({insertVariable(a){if(h){if(q(h)){h.chain().focus().insertContent(le(a)).run();return}h.chain().focus().insertContent(`{{${a}}}`).run()}},insertDocumentBlock(a,j){return h?ce(h,a,j):!1},selectAll(){h==null||h.chain().focus().selectAll().run()}}),[h]);const v=a=>{if(!h||!q(h))return;const j=a.clipboardData.getData("text/plain");if(!j||!Ct(j))return;a.preventDefault();const C=U(j);h.chain().focus().insertContent(C.content??[]).run()},_=a=>`${a.label} (${a.shortcut})`,M=(a,j)=>h?ce(h,a,j):!1;return r.jsxs("section",{className:"rounded-xl border border-gray-200 bg-gray-50 p-4 shadow-sm",children:[r.jsxs("div",{className:"mb-4 flex flex-wrap items-center gap-2 rounded-xl border border-gray-200 bg-white p-2 shadow-sm",children:[w.map((a,j)=>r.jsxs("div",{className:"flex items-center gap-1",children:[j>0?r.jsx("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"}):null,a.buttons.map(C=>{var T;const D=_(C),E=(d==null?void 0:d.active[C.key])??!1,$=h?(((T=C.isDisabled)==null?void 0:T.call(C,h))??!1)||((d==null?void 0:d.disabled[C.key])??!1):!0,z=C.icon;return r.jsx("button",{type:"button",title:D,"aria-label":D,"data-testid":`prompt-toolbar-${C.key}`,disabled:$,onClick:()=>h&&C.action(h),className:`flex h-8 w-8 items-center justify-center rounded-md transition-colors ${E?"bg-gray-200 text-gray-900":"text-gray-600 hover:bg-gray-100 hover:text-gray-900"} ${$?"cursor-not-allowed opacity-40":""}`,children:r.jsx(z,{className:"h-4 w-4"})},C.key)})]},a.key)),r.jsxs("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[r.jsx("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"}),r.jsx(dt,{trigger:r.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[r.jsx(Ye,{className:"h-4 w-4"}),r.jsx("span",{children:o("agent.prompt.toolbar.variable")})]}),items:g,emptyLabel:o("agent.prompt.toolbar.empty")}),r.jsx(ut,{documents:t,documentsLoading:i,documentsError:l,documentsUnavailable:c,onInsertDocument:M,onRefetchDocuments:m}),r.jsx("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:p,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:r.jsx(tt,{className:"h-4 w-4"})})]})]}),r.jsx("div",{"data-testid":"prompt-editor",onPaste:v,children:r.jsx(Je,{editor:h})})]})});function St({previewAgentId:e=null}){const{t:s}=B(),n=Ge(g=>g.currentWorkspaceId),t=Y(g=>g.form),i=Y(g=>g.setField),[l,c]=u.useState([]),[p,m]=u.useState(!0),[x,o]=u.useState(null),[y,b]=u.useState(!1),[k,w]=u.useState(!1),h=u.useMemo(()=>{const g=ot(t);return{template:t.prompt,...e?{agentId:e}:{},context:{agent:g}}},[t,e]),d=u.useCallback(async()=>{m(!0),o(null),b(!1);try{const g=await F.getDocuments();c(g.documents)}catch(g){if(fe(g)){c([]),b(!0);return}o(g instanceof Error?g.message:s("agent.prompt.documentInsertError"))}finally{m(!1)}},[s]);return u.useEffect(()=>{d()},[n,d]),u.useEffect(()=>{const g=v=>{!(v.metaKey||v.ctrlKey)||v.key.toLowerCase()!=="p"||(v.preventDefault(),w(!0))};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[]),r.jsxs("div",{className:"space-y-5",children:[r.jsxs("div",{children:[r.jsx("h2",{className:"text-base font-semibold text-gray-900",children:s("agent.section.promptTitle")}),r.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s("agent.section.promptDescription")})]}),r.jsx("div",{className:"grid grid-cols-1 gap-5",children:r.jsx(_t,{value:t.prompt,onChange:g=>i("prompt",g),documents:l,documentsLoading:p,documentsError:x,documentsUnavailable:y,onPreview:()=>w(!0),onRefetchDocuments:()=>void d()})}),r.jsx(ct,{open:k,request:h,onClose:()=>w(!1)})]})}export{St as default};
37
+ `)}function Ct(e){return/\{\{agent\.(?:id|name|role|team|description)\}\}|\{\{\{documents\.[^.\s}]+\.(?:content|toc)\}\}\}|<document\b[^>]*>/.test(e)}function Lt(e,s){return{type:"documentBlock",attrs:{key:e,variant:s}}}function le(e){return{type:"variableMention",attrs:{variable:e}}}function q(e){return!e.isActive("codeBlock")&&!e.isActive("code")}function ce(e,s,n){return q(e)?it(e,s,n)?!1:(e.chain().focus().insertContent(Lt(s,n)).run(),!0):(e.chain().focus().insertContent(`{{{documents.${s}.${n}}}}`).run(),!0)}const _t=u.forwardRef(function({value:s,onChange:n,documents:t,documentsLoading:i,documentsError:l,documentsUnavailable:c,onPreview:p,onRefetchDocuments:m},x){const{t:o}=B(),y=u.useRef(null),b=u.useMemo(()=>({content:o("agent.prompt.variantContent"),toc:o("agent.prompt.variantToc")}),[o]),k=u.useMemo(()=>a=>{var C;const j=t.find(D=>D.key===a);if((j==null?void 0:j.type)==="file"&&j.path){const D=j.path.split("/").filter(Boolean);return{name:D[D.length-1]??a,path:j.path}}return{name:((C=j==null?void 0:j.summary)==null?void 0:C.trim())||a}},[t]),w=u.useMemo(()=>[{key:"headings",buttons:[{key:"h1",label:o("agent.prompt.toolbar.h1"),icon:Ae,shortcut:"Cmd+Alt+1",action:a=>{a.chain().focus().toggleHeading({level:1}).run()},isActive:a=>a.isActive("heading",{level:1})},{key:"h2",label:o("agent.prompt.toolbar.h2"),icon:Te,shortcut:"Cmd+Alt+2",action:a=>{a.chain().focus().toggleHeading({level:2}).run()},isActive:a=>a.isActive("heading",{level:2})},{key:"h3",label:o("agent.prompt.toolbar.h3"),icon:$e,shortcut:"Cmd+Alt+3",action:a=>{a.chain().focus().toggleHeading({level:3}).run()},isActive:a=>a.isActive("heading",{level:3})}]},{key:"text",buttons:[{key:"bold",label:o("agent.prompt.toolbar.bold"),icon:Ie,shortcut:"Cmd+B",action:a=>{a.chain().focus().toggleBold().run()},isActive:a=>a.isActive("bold")},{key:"italic",label:o("agent.prompt.toolbar.italic"),icon:Pe,shortcut:"Cmd+I",action:a=>{a.chain().focus().toggleItalic().run()},isActive:a=>a.isActive("italic")},{key:"strike",label:o("agent.prompt.toolbar.strike"),icon:Re,shortcut:"Cmd+Shift+S",action:a=>{a.chain().focus().toggleStrike().run()},isActive:a=>a.isActive("strike")}]},{key:"lists",buttons:[{key:"bulletList",label:o("agent.prompt.toolbar.bulletList"),icon:Be,shortcut:"Cmd+Shift+8",action:a=>{a.chain().focus().toggleBulletList().run()},isActive:a=>a.isActive("bulletList")},{key:"orderedList",label:o("agent.prompt.toolbar.orderedList"),icon:ze,shortcut:"Cmd+Shift+7",action:a=>{a.chain().focus().toggleOrderedList().run()},isActive:a=>a.isActive("orderedList")},{key:"blockquote",label:o("agent.prompt.toolbar.blockquote"),icon:Oe,shortcut:"Cmd+Shift+B",action:a=>{a.chain().focus().toggleBlockquote().run()},isActive:a=>a.isActive("blockquote")}]},{key:"code",buttons:[{key:"code",label:o("agent.prompt.toolbar.code"),icon:qe,shortcut:"Cmd+E",action:a=>{a.chain().focus().toggleCode().run()},isActive:a=>a.isActive("code")},{key:"codeBlock",label:o("agent.prompt.toolbar.codeBlock"),icon:Fe,shortcut:"Cmd+Alt+C",action:a=>{a.chain().focus().toggleCodeBlock().run()},isActive:a=>a.isActive("codeBlock")},{key:"horizontalRule",label:o("agent.prompt.toolbar.horizontalRule"),icon:Ve,shortcut:"Cmd+Alt+-",action:a=>{a.chain().focus().setHorizontalRule().run()}}]},{key:"history",buttons:[{key:"undo",label:o("agent.prompt.toolbar.undo"),icon:He,shortcut:"Cmd+Z",action:a=>{a.chain().focus().undo().run()},isDisabled:a=>!a.can().chain().focus().undo().run()},{key:"redo",label:o("agent.prompt.toolbar.redo"),icon:Ke,shortcut:"Cmd+Shift+Z",action:a=>{a.chain().focus().redo().run()},isDisabled:a=>!a.can().chain().focus().redo().run()}]}],[o]),h=Qe({immediatelyRender:!1,extensions:[Ue.configure({heading:{levels:[1,2,3]}}),We.configure({placeholder:o("agent.prompt.placeholder")}),ft.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:a=>a==="toc"?b.toc:b.content}),pe.create({name:"fallbackInline",inline:!0,group:"inline"})],content:W(s),editorProps:{attributes:{class:lt,"data-testid":"prompt-editor-content","aria-label":o("agent.prompt.editorLabel"),role:"textbox"}},onUpdate({editor:a}){const j=ie(a.getJSON(),{getDocumentMeta:k});y.current=j,n(j)}}),d=Je({editor:h,selector:({editor:a})=>a?{active:{h1:a.isActive("heading",{level:1}),h2:a.isActive("heading",{level:2}),h3:a.isActive("heading",{level:3}),bold:a.isActive("bold"),italic:a.isActive("italic"),strike:a.isActive("strike"),bulletList:a.isActive("bulletList"),orderedList:a.isActive("orderedList"),blockquote:a.isActive("blockquote"),code:a.isActive("code"),codeBlock:a.isActive("codeBlock")},disabled:{undo:!a.can().chain().focus().undo().run(),redo:!a.can().chain().focus().redo().run()}}:{active:{},disabled:{}}}),g=u.useMemo(()=>ge.map(a=>({label:a,actions:[{label:o("agent.prompt.toolbar.insert"),onClick:()=>{if(h){if(q(h)){h.chain().focus().insertContent(le(a)).run();return}h.chain().focus().insertContent(`{{${a}}}`).run()}}}]})),[h,o]);u.useEffect(()=>{if(!h)return;const a=ie(h.getJSON(),{getDocumentMeta:k});s===a||s===y.current||(h.commands.setContent(W(s)),y.current=s)},[h,k,s]),u.useImperativeHandle(x,()=>({insertVariable(a){if(h){if(q(h)){h.chain().focus().insertContent(le(a)).run();return}h.chain().focus().insertContent(`{{${a}}}`).run()}},insertDocumentBlock(a,j){return h?ce(h,a,j):!1},selectAll(){h==null||h.chain().focus().selectAll().run()}}),[h]);const v=a=>{if(!h||!q(h))return;const j=a.clipboardData.getData("text/plain");if(!j||!Ct(j))return;a.preventDefault();const C=W(j);h.chain().focus().insertContent(C.content??[]).run()},_=a=>`${a.label} (${a.shortcut})`,M=(a,j)=>h?ce(h,a,j):!1;return r.jsxs("section",{className:"rounded-xl border border-gray-200 bg-gray-50 p-4 shadow-sm",children:[r.jsxs("div",{className:"mb-4 flex flex-wrap items-center gap-2 rounded-xl border border-gray-200 bg-white p-2 shadow-sm",children:[w.map((a,j)=>r.jsxs("div",{className:"flex items-center gap-1",children:[j>0?r.jsx("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"}):null,a.buttons.map(C=>{var $;const D=_(C),S=(d==null?void 0:d.active[C.key])??!1,T=h?((($=C.isDisabled)==null?void 0:$.call(C,h))??!1)||((d==null?void 0:d.disabled[C.key])??!1):!0,z=C.icon;return r.jsx("button",{type:"button",title:D,"aria-label":D,"data-testid":`prompt-toolbar-${C.key}`,disabled:T,onClick:()=>h&&C.action(h),className:`flex h-8 w-8 items-center justify-center rounded-md transition-colors ${S?"bg-gray-200 text-gray-900":"text-gray-600 hover:bg-gray-100 hover:text-gray-900"} ${T?"cursor-not-allowed opacity-40":""}`,children:r.jsx(z,{className:"h-4 w-4"})},C.key)})]},a.key)),r.jsxs("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[r.jsx("div",{className:"mx-1 h-6 border-l border-gray-300","aria-hidden":"true"}),r.jsx(dt,{trigger:r.jsxs("span",{className:"inline-flex items-center gap-1.5",children:[r.jsx(Ye,{className:"h-4 w-4"}),r.jsx("span",{children:o("agent.prompt.toolbar.variable")})]}),items:g,emptyLabel:o("agent.prompt.toolbar.empty")}),r.jsx(ut,{documents:t,documentsLoading:i,documentsError:l,documentsUnavailable:c,onInsertDocument:M,onRefetchDocuments:m}),r.jsx("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:p,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:r.jsx(tt,{className:"h-4 w-4"})})]})]}),r.jsx("div",{"data-testid":"prompt-editor",onPaste:v,children:r.jsx(Xe,{editor:h})})]})});function Et({previewAgentId:e=null}){const{t:s}=B(),n=Ze(g=>g.currentWorkspaceId),t=Y(g=>g.form),i=Y(g=>g.setField),[l,c]=u.useState([]),[p,m]=u.useState(!0),[x,o]=u.useState(null),[y,b]=u.useState(!1),[k,w]=u.useState(!1),h=u.useMemo(()=>{const g=ot(t);return{template:t.prompt,...e?{agentId:e}:{},context:{agent:g}}},[t,e]),d=u.useCallback(async()=>{m(!0),o(null),b(!1);try{const g=await F.getDocuments();c(g.documents)}catch(g){if(fe(g)){c([]),b(!0);return}o(g instanceof Error?g.message:s("agent.prompt.documentInsertError"))}finally{m(!1)}},[s]);return u.useEffect(()=>{d()},[n,d]),u.useEffect(()=>{const g=v=>{!(v.metaKey||v.ctrlKey)||v.key.toLowerCase()!=="p"||(v.preventDefault(),w(!0))};return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[]),r.jsxs("div",{className:"space-y-5",children:[r.jsxs("div",{children:[r.jsx("h2",{className:"text-base font-semibold text-gray-900",children:s("agent.section.promptTitle")}),r.jsx("p",{className:"mt-1 text-sm text-gray-500",children:s("agent.section.promptDescription")})]}),r.jsx("div",{className:"grid grid-cols-1 gap-5",children:r.jsx(_t,{value:t.prompt,onChange:g=>i("prompt",g),documents:l,documentsLoading:p,documentsError:x,documentsUnavailable:y,onPreview:()=>w(!0),onRefetchDocuments:()=>void d()})}),r.jsx(ct,{open:k,request:h,onClose:()=>w(!1)})]})}export{Et as default};
@@ -0,0 +1 @@
1
+ import{bF as S,ce as ln,aC as A,bD as P,aB as W,cf as gn,cg as dn,ch as hn,ci as z,cj as pn,c9 as An,ck as m,bG as N,bL as B,bO as R,cl as _n,bJ as cn,cm as on,cc as wn,aD as V,ca as On,cn as b}from"./main-CEKkUqZb.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||S(n)&&ln(n)==Pn}function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,K=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(x(n))return K?K.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function Tn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Rn(n){return n!==n}function In(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function bn(n,r,e){return r===r?In(n,r,e):Tn(n,Rn,e)}function Ln(n,r){var e=n==null?0:n.length;return!!e&&bn(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function C(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Sn.test(n)||r!=null&&n in Object(r)}var Mn=500;function Cn(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Dn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$n=/\\(\\)?/g,Fn=Cn(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Dn,function(e,i,f,t){r.push(f?t.replace($n,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:C(n,r)?[n]:Fn(Gn(n))}function I(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[I(r[e++])];return e&&e==i?n:void 0}function mn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function Nn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=Nn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Bn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Kn=Object.prototype,Hn=Kn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Un;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Xn(n){return this.__data__.has(n)}function v(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}v.prototype.add=v.prototype.push=Jn;v.prototype.has=Xn;function Qn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,c=e&zn?new v:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var o=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(o!==void 0){if(o)continue;d=!1;break}if(c){if(!Qn(r,function(w,O){if(!tn(c,O)&&(p===w||f(p,w,e,i,t)))return c.push(O)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function D(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,L=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new m(n),new m(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=D),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(L)return L.call(n)==L.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var c=t.get(n),p=t.get(r);if(c&&p)return c==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var o=s;++l<a;){d=u[l];var w=n[d],O=r[d];if(i)var G=s?i(O,w,d,r,n,t):i(w,O,d,n,r,t);if(!(G===void 0?w===O||f(w,O,e,i,t):G)){_=!1;break}o||(o=d=="constructor")}if(_&&!o){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var cr=1,J="[object Arguments]",X="[object Array]",T="[object Object]",or=Object.prototype,Q=or.hasOwnProperty;function wr(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?X:N(n),h=u?X:N(r);a=a==J?T:a,h=h==J?T:h;var g=a==T,l=h==T,d=a==h;if(d&&B(n)){if(!B(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new R),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&cr)){var c=g&&Q.call(n,"__wrapped__"),p=l&&Q.call(r,"__wrapped__");if(c||p){var _=c?n.value():n,o=p?r.value():r;return t||(t=new R),f(_,o,e,i,t)}}return d?(t||(t=new R),_r(n,r,e,i,f,t)):!1}function $(n,r,e,i,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:wr(n,r,e,i,$,f)}var Or=1,Pr=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new R,l;if(!(l===void 0?$(h,a,Or|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!cn(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function Tr(n,r){return n!=null&&r in Object(n)}function Rr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=I(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&on(f)&&wn(s,f)&&(A(n)||z(n)))}function Ir(n,r){return n!=null&&Rr(n,r,Tr)}var br=1,Lr=2;function Sr(n,r){return C(n)&&sn(r)?un(I(n),r):function(e){var i=mn(e,n);return i===void 0&&i===r?Ir(e,n):$(r,i,br|Lr)}}function xr(n){return function(r){return r==null?void 0:r[n]}}function Mr(n){return function(r){return nn(r,n)}}function Cr(n){return C(n)?xr(I(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Sr(n[0],n[1]):Er(n):Cr(n)}function Dr(n,r){return n&&On(n,r,M)}function $r(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=$r(Dr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function mr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Bn:mr,f=arguments.length<3;return i(n,an(r),e,f,F)}var Nr=1/0,Br=b&&1/D(new b([,-0]))[1]==Nr?function(n){return new b(n)}:yn,Ur=200;function Jr(n,r,e){var i=-1,f=Ln,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Br(n);if(h)return D(h);s=!1,f=tn,a=new v}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,an as c,vn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,Tn as o,Fr as p,Dr as q,Yr as r,Un as s,Rr as t,j as u,I as v,nn as w,Ir as x,Gn as y};
@@ -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-Dnmo7KzM.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};
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-CEKkUqZb.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};