@lovelybunch/api 1.0.75-alpha.4 → 1.0.75-alpha.6

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 (118) hide show
  1. package/dist/routes/api/v1/ai/index.js +0 -2
  2. package/dist/routes/api/v1/ai/route.js +108 -243
  3. package/dist/routes/api/v1/skills/[id]/index.d.ts +1 -0
  4. package/dist/routes/api/v1/skills/[id]/index.js +1 -0
  5. package/dist/routes/api/v1/skills/[id]/route.d.ts +3 -0
  6. package/dist/routes/api/v1/skills/[id]/route.js +199 -0
  7. package/dist/routes/api/v1/skills/index.d.ts +1 -0
  8. package/dist/routes/api/v1/skills/index.js +1 -0
  9. package/dist/routes/api/v1/skills/route.d.ts +3 -0
  10. package/dist/routes/api/v1/skills/route.js +329 -0
  11. package/dist/server-with-static.js +4 -4
  12. package/dist/server.js +4 -4
  13. package/package.json +8 -4
  14. package/static/assets/{ActivityPage-BI-4IFaP.js → ActivityPage-QmXUVEPm.js} +1 -1
  15. package/static/assets/{ApiKeysSettingsPage-CTPK48rU.js → ApiKeysSettingsPage-qie8F6gb.js} +2 -2
  16. package/static/assets/{ArchitectureEditPage-Cn4zVbPK.js → ArchitectureEditPage-CPQnvHk4.js} +1 -1
  17. package/static/assets/{ArchitecturePage-CCocwST0.js → ArchitecturePage-CJNygJU2.js} +1 -1
  18. package/static/assets/{AuthSettingsPage-C-nDwiO4.js → AuthSettingsPage-B204F8bT.js} +2 -2
  19. package/static/assets/{CallbackPage-ZcrfbMj2.js → CallbackPage-MGCRI7r_.js} +1 -1
  20. package/static/assets/CodePage-BxEsUJP-.js +2 -0
  21. package/static/assets/{CollapsibleSection-DreaKHR1.js → CollapsibleSection-CtALgJpu.js} +1 -1
  22. package/static/assets/{DashboardPage-Da0zfmye.js → DashboardPage-DbvVqN24.js} +2 -2
  23. package/static/assets/{GitPage-DE0oU3cj.js → GitPage-D2bnwXyJ.js} +1 -1
  24. package/static/assets/{GitSettingsPage-DndQUnzg.js → GitSettingsPage-ZDdKMZl1.js} +2 -2
  25. package/static/assets/{IdentityPage-DD-9upeG.js → IdentityPage-Bu-duoN6.js} +3 -3
  26. package/static/assets/{ImplementationStepsEditor-C3vh3Hc0.js → ImplementationStepsEditor-PDSNPMod.js} +1 -1
  27. package/static/assets/IntegrationsSettingsPage-DsM2vBgQ.js +1 -0
  28. package/static/assets/JobDetailPage-BBCASAAb.js +1 -0
  29. package/static/assets/KnowledgeDetailPage-D1EptY9f.js +1 -0
  30. package/static/assets/KnowledgeEditPage-Dd4B0Zol.js +1 -0
  31. package/static/assets/{KnowledgePage-cOsVzN4A.js → KnowledgePage-ibFc3y1K.js} +2 -2
  32. package/static/assets/{LoginPage-CvVZ8le4.js → LoginPage-v8StIMKr.js} +1 -1
  33. package/static/assets/{McpSettingsPage-_q1tdgv0.js → McpSettingsPage-m5Wzim08.js} +1 -1
  34. package/static/assets/NewKnowledgePage-rmXqT_ay.js +9 -0
  35. package/static/assets/{NewProposalPage-h91-EksD.js → NewProposalPage-CmMTQLo5.js} +2 -2
  36. package/static/assets/NewSkillPage-D3Fffhkj.js +1 -0
  37. package/static/assets/{ProjectEditPage-CcwGPvlc.js → ProjectEditPage-C37nAWFP.js} +1 -1
  38. package/static/assets/ProjectPage--_Q_QLC1.js +1 -0
  39. package/static/assets/{PromptsSettingsPage-BTOf3Xzc.js → PromptsSettingsPage-CGXj9CAs.js} +1 -1
  40. package/static/assets/ProposalDetailPage-BUHhxZ3l.js +1 -0
  41. package/static/assets/ProposalEditPage-C0eEdxJc.js +1 -0
  42. package/static/assets/{ProposalsPage-ekrWnqoo.js → ProposalsPage-DyQC5FFd.js} +1 -1
  43. package/static/assets/{ResourcesPage-90Wdfshd.js → ResourcesPage-IrMHiK53.js} +4 -4
  44. package/static/assets/{RoleEditPage-DY75XHIO.js → RoleEditPage-Bw35Wz-d.js} +1 -1
  45. package/static/assets/{RolePage-CXas69QY.js → RolePage-BOjMgEYI.js} +1 -1
  46. package/static/assets/{RulesSettingsPage-p6AjPCI0.js → RulesSettingsPage-B0eW6OmX.js} +2 -2
  47. package/static/assets/SchedulePage-CrfWjM5k.js +4 -0
  48. package/static/assets/SkillDetailPage-CKDNJYXm.js +1 -0
  49. package/static/assets/SkillEditPage-DnBv-wu9.js +1 -0
  50. package/static/assets/SkillsPage-C5VD2DNt.js +8 -0
  51. package/static/assets/SkillsSettingsPage-D3M6mo3a.js +1 -0
  52. package/static/assets/SourceInput-BN8ZVkqs.js +1 -0
  53. package/static/assets/{TagInput-Dfue2spU.js → TagInput-CICgcKUW.js} +1 -1
  54. package/static/assets/TerminalPage-PJ6jkMN5.js +1 -0
  55. package/static/assets/TerminalSessionPage-DuJ2n3mT.js +13 -0
  56. package/static/assets/{UserPreferencesPage-C9yXdIdZ.js → UserPreferencesPage-CyNuAJru.js} +1 -1
  57. package/static/assets/{UserSettingsPage-ba7UUKyG.js → UserSettingsPage-Bq2TlR-8.js} +1 -1
  58. package/static/assets/{UtilitiesPage-5Zot5Svs.js → UtilitiesPage-mZb2CtxF.js} +1 -1
  59. package/static/assets/{alert-BhJUdRgG.js → alert-CrqaDLRU.js} +1 -1
  60. package/static/assets/{arrow-down-BYk0k85B.js → arrow-down-CfqDgiIx.js} +1 -1
  61. package/static/assets/{arrow-left-TQT21N4S.js → arrow-left-CIkDScAO.js} +1 -1
  62. package/static/assets/{arrow-up-BkSi1XTr.js → arrow-up-DoOW0Uek.js} +1 -1
  63. package/static/assets/{badge-DS8SPg0q.js → badge-ikmjXCY_.js} +1 -1
  64. package/static/assets/{browser-modal-CgvW-bbQ.js → browser-modal-BJ16icY9.js} +2 -2
  65. package/static/assets/{calendar-AzmVUvxT.js → calendar-B3EFURS-.js} +1 -1
  66. package/static/assets/{card-C4vq6AMz.js → card-C0a11V0T.js} +1 -1
  67. package/static/assets/{chevron-left-CeRwwCqx.js → chevron-left-Cbq2vuK_.js} +1 -1
  68. package/static/assets/{chevrons-up-BdEukQhU.js → chevrons-up-C3zGaueJ.js} +1 -1
  69. package/static/assets/{circle-alert-C1JRie1k.js → circle-alert-BZyc7kNR.js} +1 -1
  70. package/static/assets/{circle-check-DxiLNIIS.js → circle-check-CC67C1b-.js} +1 -1
  71. package/static/assets/{circle-check-big-CQBGgL4s.js → circle-check-big-tNM4uoO8.js} +1 -1
  72. package/static/assets/{circle-play-qq_sLPT0.js → circle-play-DgDKRctX.js} +1 -1
  73. package/static/assets/{circle-x-kpttvnBF.js → circle-x-CbIXbCmI.js} +1 -1
  74. package/static/assets/{clipboard-CBBHo2mi.js → clipboard-Bhg2iYmV.js} +1 -1
  75. package/static/assets/{clock-Ck6whvmg.js → clock-DUwjJehj.js} +1 -1
  76. package/static/assets/{download-Cx4OcU33.js → download-CAr6POG8.js} +1 -1
  77. package/static/assets/{droid-BWtMgfPD.js → droid-DqWsM2dp.js} +5 -5
  78. package/static/assets/external-link-C552Tasx.js +6 -0
  79. package/static/assets/{eye-2CnfcAd3.js → eye-F-BxEo2B.js} +1 -1
  80. package/static/assets/{folder-git-2-CvwpDtwI.js → folder-git-2-BCO-gmji.js} +1 -1
  81. package/static/assets/index-Cb4mP03_.js +462 -0
  82. package/static/assets/index-DVTgTsDa.css +2 -0
  83. package/static/assets/{info-BO6_vv66.js → info-DZ6rfcGz.js} +1 -1
  84. package/static/assets/{label-B-1O5hdX.js → label-VXwOLYGm.js} +1 -1
  85. package/static/assets/{markdown-editor-H-rT6Hat.js → markdown-editor-DKBU3Sgf.js} +1 -1
  86. package/static/assets/{pause-CW39bpDf.js → pause-CJhh_zgy.js} +1 -1
  87. package/static/assets/{play-Bqd-yHZN.js → play-DqF_TESp.js} +1 -1
  88. package/static/assets/{plus-BWhZkuI2.js → plus-B-nP-2Bc.js} +1 -1
  89. package/static/assets/{radio-group-CHbb2Tdt.js → radio-group-CkXoX9re.js} +1 -1
  90. package/static/assets/{refresh-cw-CaOTs34G.js → refresh-cw-DNCHo2vd.js} +1 -1
  91. package/static/assets/{search-D2duvyuf.js → search-pT3zGN1p.js} +1 -1
  92. package/static/assets/{switch-BRsOxt7T.js → switch-DKgMJKx9.js} +1 -1
  93. package/static/assets/{tabs--rTULKlo.js → tabs-LRqYZP6q.js} +1 -1
  94. package/static/assets/{tag-BQ5pJD32.js → tag-CNJNVCjj.js} +1 -1
  95. package/static/assets/{terminal-preview-ewZC6O1I.js → terminal-preview-C_hF2vLs.js} +1 -1
  96. package/static/assets/{use-terminal-Cya6EYny.js → use-terminal-B3kcgG1Q.js} +1 -1
  97. package/static/assets/{zap-DQNov92q.js → zap-DeMKwLsi.js} +1 -1
  98. package/static/index.html +2 -2
  99. package/static/assets/AgentDetailPage-eVEOya9x.js +0 -1
  100. package/static/assets/AgentEditPage-Ds5XXaak.js +0 -1
  101. package/static/assets/AgentsPage-CE59G63x.js +0 -3
  102. package/static/assets/AgentsSettingsPage-uVKYxuov.js +0 -6
  103. package/static/assets/CodePage-DuHcwCCu.js +0 -2
  104. package/static/assets/IntegrationsSettingsPage-B4J4wDXt.js +0 -1
  105. package/static/assets/JobDetailPage-tHRLIpQI.js +0 -1
  106. package/static/assets/KnowledgeDetailPage-Dh315TpW.js +0 -1
  107. package/static/assets/KnowledgeEditPage-B5bNMMvh.js +0 -1
  108. package/static/assets/NewAgentPage-DIzdUSPb.js +0 -1
  109. package/static/assets/NewKnowledgePage-weR174CB.js +0 -9
  110. package/static/assets/ProjectPage-D9APD9HG.js +0 -1
  111. package/static/assets/ProposalDetailPage-DbUTHokj.js +0 -1
  112. package/static/assets/ProposalEditPage-97pQXtDD.js +0 -1
  113. package/static/assets/SchedulePage-C-Yevtfw.js +0 -4
  114. package/static/assets/SourceInput-CLzuDG61.js +0 -1
  115. package/static/assets/TerminalPage-BbA46X-G.js +0 -1
  116. package/static/assets/TerminalSessionPage-FueIeaIL.js +0 -13
  117. package/static/assets/index-C8_b70Ej.css +0 -2
  118. package/static/assets/index-Df8kpDhM.js +0 -468
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-Df8kpDhM.js";/**
1
+ import{c as o}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as o,e as n,b8 as a}from"./index-Df8kpDhM.js";const s=a("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:r,variant:e,...t}){return o.jsx("div",{className:n(s({variant:e}),r),...t})}export{i as B};
1
+ import{j as o,e as n,b7 as a}from"./index-Cb4mP03_.js";const s=a("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i({className:r,variant:e,...t}){return o.jsx("div",{className:n(s({variant:e}),r),...t})}export{i as B};
@@ -1,6 +1,6 @@
1
- import{c as $,r,j as e,D as z,b as G,d as K,f as Q,I as V,J as M,S as W,e as X,a6 as Y,B}from"./index-Df8kpDhM.js";import{B as v}from"./badge-DS8SPg0q.js";import{a as Z}from"./registry-ANRa5WBi.js";import{S as O}from"./search-D2duvyuf.js";/**
1
+ import{c as z,r,j as e,D as G,b as J,d as K,f as Q,I as V,H as M,S as W,e as X,a5 as Y,B}from"./index-Cb4mP03_.js";import{B as v}from"./badge-ikmjXCY_.js";import{a as Z}from"./registry-ANRa5WBi.js";import{S as O}from"./search-pT3zGN1p.js";/**
2
2
  * @license lucide-react v0.542.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 ee=[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]],ne=$("library",ee),te="Browse Registry",se="Import";function oe({open:f,categoryId:n,onOpenChange:x,title:F=te,confirmLabel:A=se,filterTags:o,onConfirm:I,getDetail:R,renderPreview:_}){const[c,y]=r.useState([]),[P,N]=r.useState(!1),[w,S]=r.useState(null),[l,b]=r.useState(null),[h,L]=r.useState({}),[T,g]=r.useState(!1),[E,j]=r.useState(null),[d,C]=r.useState(""),[p,k]=r.useState(!1);r.useEffect(()=>{if(!f)return;N(!0),S(null),b(null),j(null),g(!1),L({}),C("");const t=Array.isArray(n)?n:[n];Promise.all(t.map(s=>Z(s))).then(s=>{const a=s.flatMap(u=>u.elements??[]);y(a)}).catch(s=>{console.error("Failed to load registry category",s),y([]),S("Failed to load registry entries")}).finally(()=>N(!1))},[f,n]);const D=r.useMemo(()=>{let t=c;if(o&&o.length>0&&(t=t.filter(a=>{const u=a.tags??[];return o.some(H=>u.some(J=>J.toLowerCase()===H.toLowerCase()))})),!d.trim())return t;const s=d.trim().toLowerCase();return t.filter(a=>[a.name,a.description,a.preview,...a.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(s))},[c,d,o]),i=r.useMemo(()=>l?c.find(t=>t.id===l)??null:null,[c,l]),m=r.useMemo(()=>l?h[l]?.detail??null:null,[l,h]),U=async t=>{if(b(t.id),j(null),!h?.[t.id]?.detail){g(!0);try{const s=await R(t);L(a=>({...a??{},[t.id]:{detail:s,fetchedAt:Date.now()}}))}catch(s){console.error("Failed to load registry element detail",s),j("Unable to load detail for this entry")}finally{g(!1)}}},q=async()=>{if(!(!i||!m)){k(!0);try{await I(i,m),x(!1)}catch(t){console.error("Failed to import registry element",t)}finally{k(!1)}}};return e.jsx(z,{open:f,onOpenChange:x,children:e.jsxs(G,{className:"max-w-5xl h-[80vh] flex flex-col",children:[e.jsx(K,{children:e.jsx(Q,{children:F})}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsxs("div",{className:"relative",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(V,{value:d,onChange:t=>C(t.target.value),placeholder:"Search registry entries",className:"pl-9"})]})}),e.jsxs("div",{className:"flex-1 flex gap-4 min-h-0",children:[e.jsx("div",{className:"w-1/3 border-r pr-3",children:P?e.jsxs("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:[e.jsx(M,{className:"h-4 w-4 animate-spin mr-2"}),"Loading entries…"]}):w?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:w}):D.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"No entries found"}):e.jsx(W,{className:"h-full",children:e.jsx("div",{className:"space-y-1 pb-4",children:D.map(t=>e.jsxs("button",{onClick:()=>U(t),className:X("w-full rounded-md border border-transparent p-3 text-left transition-colors hover:border-border hover:bg-muted/40",l===t.id&&"border-primary bg-muted"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium",children:t.name}),e.jsx("p",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:t.description||t.preview})]}),t.version&&e.jsxs(v,{variant:"outline",className:"text-[10px] font-medium uppercase",children:["v",t.version]})]}),t.tags&&t.tags.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1",children:[t.tags.slice(0,4).map(s=>e.jsx(v,{variant:"secondary",className:"text-[10px] font-normal",children:s},s)),t.tags.length>4&&e.jsxs(v,{variant:"outline",className:"text-[10px] font-normal",children:["+",t.tags.length-4]})]})]},t.id))})})}),e.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:T?e.jsxs("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:[e.jsx(M,{className:"h-5 w-5 animate-spin mr-2"}),"Loading detail…"]}):E?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:E}):i?e.jsx("div",{className:"h-full overflow-hidden",children:_(i,m)}):e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"Select an entry to preview"})})]}),e.jsxs(Y,{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:i?`Selected: ${i.name}`:"No entry selected"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(B,{variant:"outline",onClick:()=>x(!1),disabled:p,children:"Cancel"}),e.jsx(B,{onClick:q,disabled:!i||!m||p,children:p?"Importing…":A})]})]})]})})}export{ne as L,oe as R};
6
+ */const ee=[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]],ne=z("library",ee),te="Browse Registry",se="Import";function oe({open:f,categoryId:n,onOpenChange:x,title:F=te,confirmLabel:A=se,filterTags:o,onConfirm:I,getDetail:R,renderPreview:_}){const[c,y]=r.useState([]),[P,N]=r.useState(!1),[w,S]=r.useState(null),[l,b]=r.useState(null),[h,L]=r.useState({}),[T,g]=r.useState(!1),[E,j]=r.useState(null),[d,C]=r.useState(""),[p,k]=r.useState(!1);r.useEffect(()=>{if(!f)return;N(!0),S(null),b(null),j(null),g(!1),L({}),C("");const t=Array.isArray(n)?n:[n];Promise.all(t.map(s=>Z(s))).then(s=>{const a=s.flatMap(u=>u.elements??[]);y(a)}).catch(s=>{console.error("Failed to load registry category",s),y([]),S("Failed to load registry entries")}).finally(()=>N(!1))},[f,n]);const D=r.useMemo(()=>{let t=c;if(o&&o.length>0&&(t=t.filter(a=>{const u=a.tags??[];return o.some(q=>u.some($=>$.toLowerCase()===q.toLowerCase()))})),!d.trim())return t;const s=d.trim().toLowerCase();return t.filter(a=>[a.name,a.description,a.preview,...a.tags??[]].filter(Boolean).join(" ").toLowerCase().includes(s))},[c,d,o]),i=r.useMemo(()=>l?c.find(t=>t.id===l)??null:null,[c,l]),m=r.useMemo(()=>l?h[l]?.detail??null:null,[l,h]),U=async t=>{if(b(t.id),j(null),!h?.[t.id]?.detail){g(!0);try{const s=await R(t);L(a=>({...a??{},[t.id]:{detail:s,fetchedAt:Date.now()}}))}catch(s){console.error("Failed to load registry element detail",s),j("Unable to load detail for this entry")}finally{g(!1)}}},H=async()=>{if(!(!i||!m)){k(!0);try{await I(i,m),x(!1)}catch(t){console.error("Failed to import registry element",t)}finally{k(!1)}}};return e.jsx(G,{open:f,onOpenChange:x,children:e.jsxs(J,{className:"max-w-5xl h-[80vh] flex flex-col",children:[e.jsx(K,{children:e.jsx(Q,{children:F})}),e.jsx("div",{className:"flex flex-col gap-4",children:e.jsxs("div",{className:"relative",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(V,{value:d,onChange:t=>C(t.target.value),placeholder:"Search registry entries",className:"pl-9"})]})}),e.jsxs("div",{className:"flex-1 flex gap-4 min-h-0",children:[e.jsx("div",{className:"w-1/3 border-r pr-3",children:P?e.jsxs("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:[e.jsx(M,{className:"h-4 w-4 animate-spin mr-2"}),"Loading entries…"]}):w?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:w}):D.length===0?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"No entries found"}):e.jsx(W,{className:"h-full",children:e.jsx("div",{className:"space-y-1 pb-4",children:D.map(t=>e.jsxs("button",{onClick:()=>U(t),className:X("w-full rounded-md border border-transparent p-3 text-left transition-colors hover:border-border hover:bg-muted/40",l===t.id&&"border-primary bg-muted"),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-sm font-medium",children:t.name}),e.jsx("p",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:t.description||t.preview})]}),t.version&&e.jsxs(v,{variant:"outline",className:"text-[10px] font-medium uppercase",children:["v",t.version]})]}),t.tags&&t.tags.length>0&&e.jsxs("div",{className:"mt-2 flex flex-wrap gap-1",children:[t.tags.slice(0,4).map(s=>e.jsx(v,{variant:"secondary",className:"text-[10px] font-normal",children:s},s)),t.tags.length>4&&e.jsxs(v,{variant:"outline",className:"text-[10px] font-normal",children:["+",t.tags.length-4]})]})]},t.id))})})}),e.jsx("div",{className:"flex-1 min-w-0 overflow-hidden",children:T?e.jsxs("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:[e.jsx(M,{className:"h-5 w-5 animate-spin mr-2"}),"Loading detail…"]}):E?e.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:E}):i?e.jsx("div",{className:"h-full overflow-hidden",children:_(i,m)}):e.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"Select an entry to preview"})})]}),e.jsxs(Y,{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-xs text-muted-foreground",children:i?`Selected: ${i.name}`:"No entry selected"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(B,{variant:"outline",onClick:()=>x(!1),disabled:p,children:"Cancel"}),e.jsx(B,{onClick:H,disabled:!i||!m||p,children:p?"Importing…":A})]})]})]})})}export{ne as L,oe as R};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-Df8kpDhM.js";/**
1
+ import{c as e}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r,j as d,e as t}from"./index-Df8kpDhM.js";const o=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("rounded-xl border bg-card text-card-foreground shadow",a),...e}));o.displayName="Card";const c=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("flex flex-col space-y-1.5 p-6",a),...e}));c.displayName="CardHeader";const i=r.forwardRef(({className:a,...e},s)=>d.jsx("h3",{ref:s,className:t("font-semibold leading-none tracking-tight",a),...e}));i.displayName="CardTitle";const n=r.forwardRef(({className:a,...e},s)=>d.jsx("p",{ref:s,className:t("text-sm text-muted-foreground",a),...e}));n.displayName="CardDescription";const l=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("p-6 pt-0",a),...e}));l.displayName="CardContent";const f=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("flex items-center p-6 pt-0",a),...e}));f.displayName="CardFooter";export{o as C,l as a,c as b,i as c,n as d,f as e};
1
+ import{r,j as d,e as t}from"./index-Cb4mP03_.js";const o=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("rounded-xl border bg-card text-card-foreground shadow",a),...e}));o.displayName="Card";const c=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("flex flex-col space-y-1.5 p-6",a),...e}));c.displayName="CardHeader";const i=r.forwardRef(({className:a,...e},s)=>d.jsx("h3",{ref:s,className:t("font-semibold leading-none tracking-tight",a),...e}));i.displayName="CardTitle";const n=r.forwardRef(({className:a,...e},s)=>d.jsx("p",{ref:s,className:t("text-sm text-muted-foreground",a),...e}));n.displayName="CardDescription";const l=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("p-6 pt-0",a),...e}));l.displayName="CardContent";const f=r.forwardRef(({className:a,...e},s)=>d.jsx("div",{ref:s,className:t("flex items-center p-6 pt-0",a),...e}));f.displayName="CardFooter";export{o as C,l as a,c as b,i as c,n as d,f as e};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-Df8kpDhM.js";/**
1
+ import{c as e}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-Df8kpDhM.js";/**
1
+ import{c as o}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-Df8kpDhM.js";/**
1
+ import{c as e}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-Df8kpDhM.js";/**
1
+ import{c as a}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c as o}from"./index-Df8kpDhM.js";/**
1
+ import{c as o}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,17 +1,17 @@
1
- const m="Use .nut/context/project.md and .nut/context/architecture.md for reference.";function l(e,t,n,s=!0){const o=[];return s&&(o.push(["## Task","","- Review and begin working on the following task proposal:",` .nut/proposals/${e}.md`,"- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity to address yourself in any task updates, comments, git commits, etc."].join(`
1
+ const m="Use .nut/context/project.md and .nut/context/architecture.md for reference.";function c(e,t,n,s=!0){const o=[];return s&&(o.push(["## Task","","- Review and begin working on the following task proposal:",` .nut/proposals/${e}.md`,"- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity to address yourself in any task updates, comments, git commits, etc."].join(`
2
2
  `)),o.push(["## Task Lifecycle","",`- Before beginning any work: nut task update ${e} --status active`,`- Add appropriate steps with: nut task step ${e} "Step description" --author "firstName lastName"`,"",`- If you need human clarification or input: nut task update ${e} --status blocked. The clarification can be communicated as follows: nut task comment ${e} "Comments here" --author "firstName lastName". At this point please stop work.`,"",`- When implementation is complete and ready for approval: nut task update ${e} --status review`,`- Only mark the task complete once approval criteria are satisfied: nut task update ${e} --status done`].join(`
3
- `)),o.push(["## Abilities","","- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):"," - Work with knowledge documents (used for the output of any research-centric tasks):",' - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"'," - nut knowledge list"," - nut knowledge get example-filename.md"," - Creating media such as images, audio, or video:"," - nut resource"," - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:"," - nut skills list"," - nut skills registry list","- Similarly, the following are available: git, gh, node, python"].join(`
3
+ `)),o.push(["## Abilities","","- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):"," - Work with knowledge documents (used for the output of any research-centric tasks):",' - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"'," - nut knowledge list"," - nut knowledge get example-filename.md"," - Creating media such as images, audio, or video:"," - nut resource"," - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:"," - nut skill list"," - nut skill registry list","- Similarly, the following are available: git, gh, node, python"].join(`
4
4
  `)),o.push(["## Operational Rules","","- DO use the nut CLI to update task status as progress changes"," (nut --help or nut task --help for details)","- DO NOT edit files outside the scope of the approved proposal (unless instructed by the Additional Instructions below)"].join(`
5
- `))),t.length>0&&o.push(["## Agents","","These agents are available to you if needed:",...t.map(i=>`- ${i}`)].join(`
5
+ `))),t.length>0&&o.push(["## Skills","","These skills are available to you if needed:",...t.map(i=>`- ${i}`)].join(`
6
6
  `)),n&&n.trim()&&o.push(["## Additional Instructions","","DO strictly adhere to these additional instructions:",n.trim()].join(`
7
7
  `)),[o.join(`
8
8
 
9
9
  `)]}function u(e,t,n){const s=[];return s.push(["## Task","",`- Review and assess the following task (include provided comments from the user and act on these accordingly) to ensure you have enough information, context, and resources (skills, MCP tools, appropriate access, etc) to successfully complete it, although DO NOT start any work at this stage: .nut/proposals/${e}.md`,"- Generate a readiness score on a scale of 1-100 (where 1 is not ready at all and 100 is complete certainty on your ability to complete this task without ANY additional user interaction) and add this as a comment (details on how to do this below).","- Be sure to suggest to the user (again via a comment) if it would make sense to decompose this into separate tasks, although DO NOT do this without user confirmation first.","- Retrieve your firstName, lastName, and email address from: .nut/config.json and use this identity to address yourself in any task updates, comments, git commits, etc."].join(`
10
10
  `)),s.push(["## Task Lifecycle","",`- Before beginning any work: nut task update ${e} --status active`,`- Add appropriate implementation steps with: nut task step ${e} "Step description" --author "firstName lastName"`,`- If you need human clarification or input: nut task update ${e} --status blocked. The clarification can be communicated as follows: nut task comment ${e} "Comments here" --author "firstName lastName". At this point please stop work.`].join(`
11
- `)),s.push(["## Abilities","","- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):"," - Work with knowledge documents (used for the output of any research-centric tasks):",' - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"'," - nut knowledge list"," - nut knowledge get example-filename.md"," - Creating media such as images, audio, or video:"," - nut resource"," - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:"," - nut skills list"," - nut skills registry list","- Similarly, the following are available: git, gh, node, python"].join(`
11
+ `)),s.push(["## Abilities","","- The following abilities are at your disposal and should be factored into the plan where appropriate (each command has its own --help):"," - Work with knowledge documents (used for the output of any research-centric tasks):",' - nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"'," - nut knowledge list"," - nut knowledge get example-filename.md"," - Creating media such as images, audio, or video:"," - nut resource"," - Using available skills (specialized, reusable, and portable modules). There is also an official registry you can pull from:"," - nut skill list"," - nut skill registry list","- Similarly, the following are available: git, gh, node, python"].join(`
12
12
  `)),s.push(["## Operational Rules","","- DO NOT use 'npx' when running the nut CLI","- DO use the nut CLI to update task status as progress changes"," (nut --help or nut task --help for details)","- DO NOT edit files outside the scope of the approved proposal (unless instructed by the Additional Instructions below)"].join(`
13
13
  `)),t.length>0&&s.push(["## Skills","","These skills are available to you if needed (if you are able to test access, etc without any writes please do so):",...t.map(o=>`- ${o}`)].join(`
14
14
  `)),n&&n.trim()&&s.push(["## Additional Instructions","","DO strictly adhere to these additional instructions:",n.trim()].join(`
15
15
  `)),[s.join(`
16
16
 
17
- `)]}function p(e,t){const n=[];return n.push(m),e.length>0&&n.push(`Please use these skills: ${e.join(", ")}`),t&&t.trim()&&n.push(`Additional instruction: ${t.trim()}`),n}const h=e=>{const t=e.selectedAgentIds.map(d=>`.nut/agents/${d}`),s=(e.contextType==="change-proposal"?l(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=[e.automationEnabled?"--dangerously-skip-permissions":""].filter(Boolean).join(" "),i=e.selectedMcpServers.map(d=>`'${d.replace(/'/g,"'\\''")}'`).join(","),c=[JSON.stringify(s)].concat(o?[JSON.stringify("--dangerously-skip-permissions")]:[]);return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${i}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('claude',[${c.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},f=e=>{const t=e.selectedAgentIds.map(r=>`.nut/agents/${r}`),s=(e.contextType==="change-proposal"?l(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" ");return`node -e "${`const fs=require('fs'),path=require('path'),{spawn}=require('child_process');const s=new Set([${e.selectedMcpServers.map(r=>`'${r.replace(/'/g,"'\\''")}'`).join(",")}]);const c=require('./.nut/mcp/config.json');const geminiPath=path.join(require('os').homedir(),'.gemini','settings.json');let settings={};try{settings=JSON.parse(fs.readFileSync(geminiPath,'utf8'))}catch(e){}settings.mcpServers=Object.fromEntries(Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)));fs.writeFileSync(geminiPath,JSON.stringify(settings,null,2));const p=spawn('gemini',['-i',${JSON.stringify(s)}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},g=e=>{const t=e.selectedAgentIds.map(a=>`.nut/agents/${a}`),s=(e.contextType==="change-proposal"?l(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=e.selectedMcpServers.map(a=>`'${a.replace(/'/g,"'\\''")}'`).join(","),i=[JSON.stringify(s)].concat(e.automationEnabled?[JSON.stringify("--dangerously-bypass-approvals-and-sandbox")]:[]);return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${o}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('codex',[${i.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},y=e=>{const t=e.selectedAgentIds.map(a=>`.nut/agents/${a}`),s=(e.contextType==="change-proposal"?l(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=e.selectedMcpServers.map(a=>`'${a.replace(/'/g,"'\\''")}'`).join(","),i=[JSON.stringify(s)];return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${o}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('droid',[${i.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`};export{y as a,h as b,g as c,f as d};
17
+ `)]}function p(e,t){const n=[];return n.push(m),e.length>0&&n.push(`Please use these skills: ${e.join(", ")}`),t&&t.trim()&&n.push(`Additional instruction: ${t.trim()}`),n}const h=e=>{const t=e.selectedSkillIds.map(d=>`.nut/skills/${d}/SKILL.md`),s=(e.contextType==="change-proposal"?c(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=[e.automationEnabled?"--dangerously-skip-permissions":""].filter(Boolean).join(" "),i=e.selectedMcpServers.map(d=>`'${d.replace(/'/g,"'\\''")}'`).join(","),l=[JSON.stringify(s)].concat(o?[JSON.stringify("--dangerously-skip-permissions")]:[]);return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${i}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('claude',[${l.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},k=e=>{const t=e.selectedSkillIds.map(r=>`.nut/skills/${r}/SKILL.md`),s=(e.contextType==="change-proposal"?c(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" ");return`node -e "${`const fs=require('fs'),path=require('path'),{spawn}=require('child_process');const s=new Set([${e.selectedMcpServers.map(r=>`'${r.replace(/'/g,"'\\''")}'`).join(",")}]);const c=require('./.nut/mcp/config.json');const geminiPath=path.join(require('os').homedir(),'.gemini','settings.json');let settings={};try{settings=JSON.parse(fs.readFileSync(geminiPath,'utf8'))}catch(e){}settings.mcpServers=Object.fromEntries(Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)));fs.writeFileSync(geminiPath,JSON.stringify(settings,null,2));const p=spawn('gemini',['-i',${JSON.stringify(s)}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},f=e=>{const t=e.selectedSkillIds.map(a=>`.nut/skills/${a}/SKILL.md`),s=(e.contextType==="change-proposal"?c(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=e.selectedMcpServers.map(a=>`'${a.replace(/'/g,"'\\''")}'`).join(","),i=[JSON.stringify(s)].concat(e.automationEnabled?[JSON.stringify("--dangerously-bypass-approvals-and-sandbox")]:[]);return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${o}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('codex',[${i.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`},y=e=>{const t=e.selectedSkillIds.map(a=>`.nut/skills/${a}/SKILL.md`),s=(e.contextType==="change-proposal"?c(e.proposalId,t,e.customInstruction,e.includeDefaultInstructions??!0):e.contextType==="prepare-proposal"?u(e.proposalId,t,e.customInstruction):p(t,e.customInstruction)).join(" "),o=e.selectedMcpServers.map(a=>`'${a.replace(/'/g,"'\\''")}'`).join(","),i=[JSON.stringify(s)];return`node -e "${`const fs=require('fs'),{spawn}=require('child_process');const s=new Set([${o}]);const c=require('./.nut/mcp/config.json');const filtered=Object.entries(c.mcpServers||{}).filter(([k])=>s.has(k)).map(([k,v])=>[k,{...v,type:v.type||(v.url?'http':'stdio')}]);const o={mcpServers:Object.fromEntries(filtered)};fs.writeFileSync('.mcp.json',JSON.stringify(o,null,2));const p=spawn('droid',[${i.join(",")}],{stdio:'inherit'});p.on('exit',code=>process.exit(code));`.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`};export{y as a,h as b,f as c,k as d};
@@ -0,0 +1,6 @@
1
+ import{c as a}from"./index-Cb4mP03_.js";/**
2
+ * @license lucide-react v0.542.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 e=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],n=a("external-link",e);export{n as E};
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{c}from"./index-Df8kpDhM.js";/**
1
+ import{c}from"./index-Cb4mP03_.js";/**
2
2
  * @license lucide-react v0.542.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.