@lovelybunch/api 1.0.76-alpha.4 → 1.0.76-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/routes/api/v1/knowledge/route.js +26 -32
- package/dist/routes/api/v1/mcp/index.js +2 -1
- package/dist/routes/api/v1/tasks/route.d.ts +18 -38
- package/dist/routes/api/v1/tasks/route.js +94 -16
- package/package.json +4 -4
- package/static/assets/{ActivityPage-DD7Jqy7A.js → ActivityPage-CslBWS6X.js} +1 -1
- package/static/assets/{ApiKeysSettingsPage-G3to1vef.js → ApiKeysSettingsPage-CkOKPKrf.js} +1 -1
- package/static/assets/{ArchitectureEditPage-NPEVN0qB.js → ArchitectureEditPage-B1b0uRMR.js} +1 -1
- package/static/assets/{ArchitecturePage-Dt39jPIU.js → ArchitecturePage-Cp7sQxci.js} +1 -1
- package/static/assets/{AuthSettingsPage-D_8K-K-O.js → AuthSettingsPage-pKDWh15H.js} +1 -1
- package/static/assets/{CallbackPage-B100hvvo.js → CallbackPage-BIXrY4bY.js} +1 -1
- package/static/assets/{CodePage-Z--VCld-.js → CodePage-B-hkmRxg.js} +1 -1
- package/static/assets/{CollapsibleSection-CUy4MPaz.js → CollapsibleSection-o6krsTSP.js} +1 -1
- package/static/assets/{DashboardPage-BSZsksKD.js → DashboardPage-DMSar6gS.js} +1 -1
- package/static/assets/{GitPage-DvWpJPDe.js → GitPage-CuLhUmx3.js} +1 -1
- package/static/assets/{GitSettingsPage-DiLCxBRC.js → GitSettingsPage-0hTb9m25.js} +1 -1
- package/static/assets/{IdentityPage-Ce2IyJr1.js → IdentityPage-BnT1Pl_Z.js} +1 -1
- package/static/assets/{ImplementationStepsEditor-Bedy_QWS.js → ImplementationStepsEditor-CZYwDo8k.js} +1 -1
- package/static/assets/{IntegrationsSettingsPage-C16cm8qw.js → IntegrationsSettingsPage-OKHwk7sn.js} +1 -1
- package/static/assets/{JobDetailPage-DoC_j0rM.js → JobDetailPage-Cx2NNzcF.js} +1 -1
- package/static/assets/{KnowledgeDetailPage-VmoD6kYT.js → KnowledgeDetailPage-FhEN7ghj.js} +1 -1
- package/static/assets/{KnowledgeEditPage-8J7epO-u.js → KnowledgeEditPage-3Gcpw7X4.js} +1 -1
- package/static/assets/{KnowledgePage-Bj5FD6Ev.js → KnowledgePage-BJV1AiB-.js} +1 -1
- package/static/assets/{LoginPage-CppXgKJ7.js → LoginPage-DqhlwRH0.js} +1 -1
- package/static/assets/{MailInboxPage-BFm2wkhe.js → MailInboxPage-8KXJWH6w.js} +1 -1
- package/static/assets/{MailProcessingModal-UYo6cHJX.js → MailProcessingModal-CtmBLgbc.js} +1 -1
- package/static/assets/{MailReadPage-C5-pCLGl.js → MailReadPage-DCC3zIGh.js} +1 -1
- package/static/assets/{MailSentPage-C9KcZW--.js → MailSentPage-Bhd8mGgG.js} +1 -1
- package/static/assets/{McpSettingsPage-DK_1f-eJ.js → McpSettingsPage-Bxd-GvVG.js} +1 -1
- package/static/assets/{NewKnowledgePage-BOAuFDze.js → NewKnowledgePage-Sa-rciXx.js} +1 -1
- package/static/assets/{NewSkillPage-CBEMLhy8.js → NewSkillPage-oJowi9lu.js} +1 -1
- package/static/assets/{NewTaskPage-ke9JEz2I.js → NewTaskPage-CDS-RkoC.js} +1 -1
- package/static/assets/{NotFoundPage-IKjzqkHR.js → NotFoundPage-CtvjPyt4.js} +1 -1
- package/static/assets/{NotificationsSettingsPage-DdnJ7fUm.js → NotificationsSettingsPage-YtvAFd0j.js} +1 -1
- package/static/assets/{ProjectEditPage-ia2elC3U.js → ProjectEditPage-Cai5ChhX.js} +1 -1
- package/static/assets/{ProjectPage-DAebZWuk.js → ProjectPage-BNudSSbf.js} +1 -1
- package/static/assets/{PromptsSettingsPage-iRkzeJHM.js → PromptsSettingsPage-CKd8AGVR.js} +1 -1
- package/static/assets/{ResourceDetailPage-BJe-e1NC.js → ResourceDetailPage-C-BRUygH.js} +1 -1
- package/static/assets/{ResourcesPage-U_uYp1hX.js → ResourcesPage-DXOUfQf0.js} +1 -1
- package/static/assets/{RoleEditPage-Dtw1KbqQ.js → RoleEditPage-DLdNFFso.js} +1 -1
- package/static/assets/{RolePage-BYoja-Ts.js → RolePage-BTevB53p.js} +1 -1
- package/static/assets/{RulesSettingsPage-D10qlAmu.js → RulesSettingsPage-B6oJhn-a.js} +1 -1
- package/static/assets/{SchedulePage-tF56vV8Z.js → SchedulePage-Dwkx2rjI.js} +1 -1
- package/static/assets/{SkillDetailPage-VjN_pzjF.js → SkillDetailPage-Bz-LkNJ3.js} +1 -1
- package/static/assets/{SkillEditPage-Du-8FJws.js → SkillEditPage-SNwPPoP6.js} +1 -1
- package/static/assets/{SkillsPage-r3dethP1.js → SkillsPage-CGtOkvBa.js} +1 -1
- package/static/assets/{SkillsSettingsPage-Bn1oDQJb.js → SkillsSettingsPage-D8571fog.js} +1 -1
- package/static/assets/{SourceInput-BC4zofTD.js → SourceInput-DM5b_GUu.js} +1 -1
- package/static/assets/{TagInput-CQhCwkym.js → TagInput-DoOKXUYX.js} +1 -1
- package/static/assets/{TaskDetailPage-rAK0YGz_.js → TaskDetailPage-94s1cW8j.js} +1 -1
- package/static/assets/{TaskEditPage-BNGJu4k7.js → TaskEditPage-xGRv83J_.js} +1 -1
- package/static/assets/{TasksPage-CFzNiopd.js → TasksPage-8EB0-o-U.js} +1 -1
- package/static/assets/{TerminalPage-BY3uD00P.js → TerminalPage-Bo3-xkxM.js} +1 -1
- package/static/assets/{TerminalSessionPage-BLn6j6d0.js → TerminalSessionPage-BJRC12CC.js} +1 -1
- package/static/assets/{UserPreferencesPage-B3g-74LO.js → UserPreferencesPage-DBAGWIrp.js} +1 -1
- package/static/assets/{UserSettingsPage-Dbc_moFA.js → UserSettingsPage-DgCpjDSU.js} +1 -1
- package/static/assets/{UtilitiesPage-D-dapSv2.js → UtilitiesPage-CDUv_Oaf.js} +1 -1
- package/static/assets/{alert-onlJ8SaV.js → alert-BMUNUSMK.js} +1 -1
- package/static/assets/{arrow-down-BQMWVZO5.js → arrow-down-BF7Abk86.js} +1 -1
- package/static/assets/{arrow-left-DCUeAwuk.js → arrow-left-C2-Sl2bI.js} +1 -1
- package/static/assets/{arrow-up-DGeOrHSd.js → arrow-up-9fnGGmZL.js} +1 -1
- package/static/assets/{arrow-up-down-kx_9_62L.js → arrow-up-down-B1FbVeIs.js} +1 -1
- package/static/assets/{badge-DY-F4v17.js → badge-CNyAEmE0.js} +1 -1
- package/static/assets/{browser-modal-ToWWkb-e.js → browser-modal-BAShTxJB.js} +1 -1
- package/static/assets/{card-DzEj7w5_.js → card-BvtnQC9t.js} +1 -1
- package/static/assets/{chevron-left-CsunxY7r.js → chevron-left-DX764A0x.js} +1 -1
- package/static/assets/{chevron-up-8fImncuj.js → chevron-up-DytAcGho.js} +1 -1
- package/static/assets/{chevrons-up-0wzf2hMt.js → chevrons-up-BuCS2RR5.js} +1 -1
- package/static/assets/{circle-alert-By_LtXyo.js → circle-alert-DizYv0IJ.js} +1 -1
- package/static/assets/{circle-check-CkWa8J7K.js → circle-check-BeNzwcb4.js} +1 -1
- package/static/assets/{circle-check-big-XBtpdOqj.js → circle-check-big-DEZcW9-c.js} +1 -1
- package/static/assets/{circle-play-DDF1DxTE.js → circle-play-DuxMLqFr.js} +1 -1
- package/static/assets/{circle-x-VCseF1Hw.js → circle-x-BRLHtYhj.js} +1 -1
- package/static/assets/{clipboard-CHBW8Zra.js → clipboard-CRczIbtb.js} +1 -1
- package/static/assets/{clock-BF34zxSs.js → clock-CNttSfN6.js} +1 -1
- package/static/assets/{code-D_Kp8fTl.js → code-ClRsBG4Z.js} +1 -1
- package/static/assets/{download-DOAIgm9B.js → download-gjdnhnM_.js} +1 -1
- package/static/assets/{external-link-Dw1cfhak.js → external-link-CTmfnP6Q.js} +1 -1
- package/static/assets/{eye-XL-LtLhR.js → eye-oaenIcQg.js} +1 -1
- package/static/assets/{folder-git-2-BjCMmvHU.js → folder-git-2-DalKErlr.js} +1 -1
- package/static/assets/{index-r9eCfXmm.js → index-AiRw6xlj.js} +1 -1
- package/static/assets/{index-BcyLnT1D.js → index-B0vRXjXH.js} +1 -1
- package/static/assets/{index-C2Pc77SF.js → index-BCJCpqiX.js} +3 -3
- package/static/assets/{index-DMJuyDmR.js → index-BMaB-vpV.js} +1 -1
- package/static/assets/{index-CP3JNjKf.js → index-BNBmCbpi.js} +1 -1
- package/static/assets/{index-vZxbrAzv.js → index-BowZ9B-c.js} +1 -1
- package/static/assets/{index-BpaWxBOn.js → index-BwI7jWTF.js} +1 -1
- package/static/assets/{index-CcCyrOqd.js → index-C3YnmsX2.js} +1 -1
- package/static/assets/{index-DjHeMWw7.js → index-CRJdZDwN.js} +1 -1
- package/static/assets/{index-Cw5BixFZ.js → index-CS1oPa_J.js} +1 -1
- package/static/assets/{index-B7vPXYUh.js → index-CcbeRnPr.js} +1 -1
- package/static/assets/{index-t6exHt7S.js → index-Co3_Npsk.js} +1 -1
- package/static/assets/{index-vLkkGix1.js → index-CyveSWgT.js} +1 -1
- package/static/assets/{index-Dd2A2KtV.js → index-DQSrwPiT.js} +1 -1
- package/static/assets/{index-D2hR2cfk.js → index-DewSp98-.js} +1 -1
- package/static/assets/{index-D5NdAZaZ.js → index-VDQ7OA3y.js} +1 -1
- package/static/assets/{index-CGCu9rC7.js → index-doLG5C2n.js} +1 -1
- package/static/assets/{index-Fj_D7rWS.js → index-oA4kXVr8.js} +1 -1
- package/static/assets/{index-ntMWF8jT.js → index-tb2ceoIp.js} +1 -1
- package/static/assets/{info-CwMXXTYT.js → info-DUjlidt3.js} +1 -1
- package/static/assets/{label-CqAqEPaJ.js → label-DRKhH7ga.js} +1 -1
- package/static/assets/{markdown-editor-9WfdFECT.js → markdown-editor-OI3fuHsN.js} +3 -3
- package/static/assets/{message-square-BasphpIs.js → message-square-b4Ycb1PY.js} +1 -1
- package/static/assets/{paperclip-vpCabUZO.js → paperclip-CbPyWpnw.js} +1 -1
- package/static/assets/{pause-byK_IDeN.js → pause-BHaEx4aT.js} +1 -1
- package/static/assets/{play-ycgnYVoF.js → play-3wS9bypH.js} +1 -1
- package/static/assets/{radio-group-CVr0sen9.js → radio-group-DHicQy_R.js} +1 -1
- package/static/assets/{refresh-cw-Dywo3Gtw.js → refresh-cw-BzAty17h.js} +1 -1
- package/static/assets/{search-WN3ur5Nf.js → search-JZd6JxnR.js} +1 -1
- package/static/assets/{select-DUlPMyyZ.js → select-B-jKKvfS.js} +1 -1
- package/static/assets/{switch-DQLuTRc3.js → switch-eaA0aAvD.js} +1 -1
- package/static/assets/{tabs-CLy17RSQ.js → tabs-DWgE2aSE.js} +1 -1
- package/static/assets/{tag-Qrnp3YMl.js → tag-CKqXGexN.js} +1 -1
- package/static/assets/{terminal-preview-A7hvXgqP.js → terminal-preview-COD7icw5.js} +1 -1
- package/static/assets/{use-terminal-B3ap4kLN.js → use-terminal-B2c7rWHu.js} +1 -1
- package/static/assets/{video-DUUE9bmM.js → video-B1rgIDew.js} +1 -1
- package/static/index.html +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as e,e as r,n as d,ae as y}from"./index-
|
|
1
|
+
import{r as o,j as e,e as r,n as d,ae as y}from"./index-BCJCpqiX.js";import{R as N,V as g,T as n,I as j,P as b,C as i,a as S,b as c,d as v,c as R,e as m,f as p,L as f,S as x}from"./index-BNBmCbpi.js";import{C}from"./chevron-up-DytAcGho.js";const k=N,E=g,I=o.forwardRef(({className:t,children:s,...a},l)=>e.jsxs(n,{ref:l,className:r("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",t),...a,children:[s,e.jsx(j,{asChild:!0,children:e.jsx(d,{className:"h-4 w-4 opacity-50"})})]}));I.displayName=n.displayName;const u=o.forwardRef(({className:t,...s},a)=>e.jsx(m,{ref:a,className:r("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(C,{className:"h-4 w-4"})}));u.displayName=m.displayName;const h=o.forwardRef(({className:t,...s},a)=>e.jsx(p,{ref:a,className:r("flex cursor-default items-center justify-center py-1",t),...s,children:e.jsx(d,{className:"h-4 w-4"})}));h.displayName=p.displayName;const B=o.forwardRef(({className:t,children:s,position:a="popper",...l},w)=>e.jsx(b,{children:e.jsxs(i,{ref:w,className:r("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:a,...l,children:[e.jsx(u,{}),e.jsx(S,{className:r("p-1",a==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:s}),e.jsx(h,{})]})}));B.displayName=i.displayName;const T=o.forwardRef(({className:t,...s},a)=>e.jsx(f,{ref:a,className:r("px-2 py-1.5 text-sm font-semibold",t),...s}));T.displayName=f.displayName;const V=o.forwardRef(({className:t,children:s,...a},l)=>e.jsxs(c,{ref:l,className:r("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),...a,children:[e.jsx("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(v,{children:e.jsx(y,{className:"h-4 w-4"})})}),e.jsx(R,{children:s})]}));V.displayName=c.displayName;const z=o.forwardRef(({className:t,...s},a)=>e.jsx(x,{ref:a,className:r("-mx-1 my-1 h-px bg-muted",t),...s}));z.displayName=x.displayName;export{k as S,I as a,E as b,B as c,V as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as c,j as e,e as i}from"./index-
|
|
1
|
+
import{r as c,j as e,e as i}from"./index-BCJCpqiX.js";const d=c.forwardRef(({className:s,onCheckedChange:r,onChange:t,...o},n)=>{const l=a=>{t?.(a),r?.(a.target.checked)};return e.jsxs("label",{className:i("relative inline-flex cursor-pointer",s),children:[e.jsx("input",{type:"checkbox",className:"sr-only peer",onChange:l,ref:n,...o}),e.jsx("div",{className:"block bg-gray-300 w-9 h-5 rounded-full transition-colors duration-200 ease-in-out peer-checked:bg-blue-600"}),e.jsx("div",{className:"absolute left-0 top-0 bg-white w-4 h-4 rounded-full mt-0.5 ml-0.5 transition-transform duration-200 ease-in-out transform peer-checked:translate-x-4 shadow"})]})});d.displayName="Switch";export{d as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,am as F,ag as $,j as c,ah as k,b0 as D,ak as g,bc as y,be as V,bd as G,aj as m,b2 as L,e as T}from"./index-
|
|
1
|
+
import{r as l,am as F,ag as $,j as c,ah as k,b0 as D,ak as g,bc as y,be as V,bd as G,aj as m,b2 as L,e as T}from"./index-BCJCpqiX.js";var p="Tabs",[K,Q]=k(p,[y]),h=y(),[B,x]=K(p),N=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,onValueChange:r,defaultValue:d,orientation:n="horizontal",dir:u,activationMode:f="automatic",...v}=e,i=F(u),[s,b]=$({prop:o,onChange:r,defaultProp:d??"",caller:p});return c.jsx(B,{scope:t,baseId:D(),value:s,onValueChange:b,orientation:n,dir:i,activationMode:f,children:c.jsx(g.div,{dir:i,"data-orientation":n,...v,ref:a})})});N.displayName=p;var C="TabsList",j=l.forwardRef((e,a)=>{const{__scopeTabs:t,loop:o=!0,...r}=e,d=x(C,t),n=h(t);return c.jsx(V,{asChild:!0,...n,orientation:d.orientation,dir:d.dir,loop:o,children:c.jsx(g.div,{role:"tablist","aria-orientation":d.orientation,...r,ref:a})})});j.displayName=C;var I="TabsTrigger",R=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,disabled:r=!1,...d}=e,n=x(I,t),u=h(t),f=A(n.baseId,o),v=E(n.baseId,o),i=o===n.value;return c.jsx(G,{asChild:!0,...u,focusable:!r,active:i,children:c.jsx(g.button,{type:"button",role:"tab","aria-selected":i,"aria-controls":v,"data-state":i?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:f,...d,ref:a,onMouseDown:m(e.onMouseDown,s=>{!r&&s.button===0&&s.ctrlKey===!1?n.onValueChange(o):s.preventDefault()}),onKeyDown:m(e.onKeyDown,s=>{[" ","Enter"].includes(s.key)&&n.onValueChange(o)}),onFocus:m(e.onFocus,()=>{const s=n.activationMode!=="manual";!i&&!r&&s&&n.onValueChange(o)})})})});R.displayName=I;var w="TabsContent",_=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,forceMount:r,children:d,...n}=e,u=x(w,t),f=A(u.baseId,o),v=E(u.baseId,o),i=o===u.value,s=l.useRef(i);return l.useEffect(()=>{const b=requestAnimationFrame(()=>s.current=!1);return()=>cancelAnimationFrame(b)},[]),c.jsx(L,{present:r||i,children:({present:b})=>c.jsx(g.div,{"data-state":i?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!b,id:v,tabIndex:0,...n,ref:a,style:{...e.style,animationDuration:s.current?"0s":void 0},children:b&&d})})});_.displayName=w;function A(e,a){return`${e}-trigger-${a}`}function E(e,a){return`${e}-content-${a}`}var q=N,S=j,M=R,P=_;const U=q,z=l.forwardRef(({className:e,...a},t)=>c.jsx(S,{ref:t,className:T("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...a}));z.displayName=S.displayName;const H=l.forwardRef(({className:e,...a},t)=>c.jsx(M,{ref:t,className:T("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...a}));H.displayName=M.displayName;const O=l.forwardRef(({className:e,...a},t)=>c.jsx(P,{ref:t,className:T("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...a}));O.displayName=P.displayName;export{U as T,z as a,H as b,O as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,a8 as j,j as u}from"./index-
|
|
1
|
+
import{r as t,a8 as j,j as u}from"./index-BCJCpqiX.js";import{x as k,a as B}from"./xterm-DTxiCjtJ.js";function A({sessionId:l,className:p,heightPx:d=160,maxScrollback:m=200}){const h=t.useRef(null),v=t.useRef(null),w=t.useRef(null),y=t.useRef(null),[x,R]=t.useState(!0),o=t.useRef([]),i=t.useRef(null);return t.useEffect(()=>{const a=h.current;if(!a||!l)return;const e=new k.Terminal({disableStdin:!0,cursorBlink:!1,convertEol:!0,scrollback:Math.max(50,Math.min(m,1e3)),fontSize:12,fontFamily:"'IBM Plex Mono', 'Source Code Pro', 'Fira Code', ui-monospace, Menlo, Monaco, monospace",lineHeight:1.25,letterSpacing:.3,theme:{background:"#1a1b26",foreground:"#c0caf5",cursor:"#c0caf5",selectionBackground:"#33467c",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}}),f=new B.FitAddon;e.loadAddon(f),e.open(a),a.style.height=`${d}px`,v.current=e,w.current=f;const s=()=>{try{const n=a.getBoundingClientRect();n.width>8&&n.height>8&&e.element&&f.fit()}catch{}},S=setTimeout(()=>s(),100),g=new ResizeObserver(()=>s());g.observe(a);const b=()=>{document.visibilityState==="visible"&&setTimeout(s,50)};document.addEventListener("visibilitychange",b);const c=new WebSocket(`${j}/ws/terminal-preview/${l}`);y.current=c,c.onopen=()=>R(!1);const E=()=>{i.current=null;const n=o.current;if(n.length){o.current=[];try{e.write(n.join(""))}catch{}}},F=()=>{i.current===null&&(i.current=requestAnimationFrame(E))};return c.onmessage=n=>{let r;try{r=JSON.parse(n.data)}catch{return}if(r?.type==="snapshot"){if(e.reset(),o.current=[],r.data)try{e.write(r.data)}catch{}s()}else r?.type==="data"&&r.data&&(o.current.push(String(r.data)),F())},c.onclose=()=>{},c.onerror=()=>{},()=>{clearTimeout(S),g.disconnect(),document.removeEventListener("visibilitychange",b);try{c.close()}catch{}i.current!==null&&cancelAnimationFrame(i.current),i.current=null,o.current=[],e.dispose()}},[l,d,m]),u.jsxs("div",{className:`relative w-full ${p||""}`.trim(),children:[x&&u.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-50/60 z-10",children:u.jsx("div",{className:"text-xs text-muted-foreground",children:"Loading preview…"})}),u.jsx("div",{ref:h,className:"border border-muted rounded overflow-hidden"})]})}export{A as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,ad as v,A as f}from"./index-
|
|
1
|
+
import{r as i,ad as v,A as f}from"./index-BCJCpqiX.js";function j(){const[y,p]=i.useState([]),[m,c]=i.useState(!1),[d,o]=i.useState(null),{refresh:w}=v(),S=i.useCallback(async(s,n)=>{try{c(!0),o(null);const e=await fetch(`${f}/api/v1/terminal/${s}/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({startupCommand:n})});if(!e.ok){const t=await e.json();throw new Error(t.error||"Failed to create terminal session")}const r=await e.json();return await w(),r.sessionId}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),null}finally{c(!1)}},[w]),g=i.useCallback(async s=>{try{c(!0),o(null);let n;if(s.startsWith("session-")){const r=s.split("-");n=`${r[0]}-${r[1]}`}else{const r=s.split("-");n=`${r[0]}-${r[1]}`}const e=await fetch(`${f}/api/v1/terminal/${n}/destroy`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s})});if(!e.ok){const r=await e.json();throw new Error(r.error||"Failed to destroy terminal session")}return p(r=>r.filter(t=>t.id!==s)),await w(),!0}catch(n){const e=n instanceof Error?n.message:"Unknown error";return o(e),!1}finally{c(!1)}},[w]),$=i.useCallback(async(s,n,e)=>{try{o(null);let r;if(s.startsWith("session-")){const a=s.split("-");r=`${a[0]}-${a[1]}`}else{const a=s.split("-");r=`${a[0]}-${a[1]}`}const t=await fetch(`${f}/api/v1/terminal/${r}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,cols:n,rows:e})});if(!t.ok){const a=await t.json();throw new Error(a.error||"Failed to resize terminal session")}return!0}catch(r){const t=r instanceof Error?r.message:"Unknown error";return o(t),!1}},[]),k=i.useCallback(async(s,n,e)=>{try{c(!0),o(null);const r=new URLSearchParams;s&&r.set("taskId",s),n&&(r.set("withPreview","true"),e&&Number.isFinite(e)&&r.set("lines",String(e)));const t=`${f}/api/v1/terminal/sessions${r.toString()?`?${r.toString()}`:""}`,a=await fetch(t);if(!a.ok){const l=await a.json();throw new Error(l.error||"Failed to fetch terminal sessions")}const u=await a.json();p(u.sessions)}catch(r){const t=r instanceof Error?r.message:"Unknown error";o(t)}finally{c(!1)}},[]),E=i.useCallback(async(s,n=8)=>{try{o(null);const e=new URLSearchParams;e.set("sessionId",s),e.set("withPreview","true"),e.set("lines",String(n)),e.set("colorize","true");const r=`${f}/api/v1/terminal/sessions?${e.toString()}`,t=await fetch(r);if(!t.ok){const l=await t.json().catch(()=>({}));throw new Error(l.error||"Failed to fetch preview")}const a=await t.json(),u=Array.isArray(a?.sessions)&&a.sessions[0]?.preview?a.sessions[0].preview:[];return p(l=>l.map(h=>h.id===s?{...h,preview:u}:h)),u}catch(e){const r=e instanceof Error?e.message:"Unknown error";return o(r),[]}},[]);return{sessions:y,loading:m,error:d,createSession:S,destroySession:g,resizeSession:$,refreshSessions:k,fetchPreview:E}}export{j as u};
|
package/static/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap" rel="stylesheet">
|
|
10
10
|
<title>Coconut - Agentic Development Environment</title>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-BCJCpqiX.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-DH_vXhd4.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body class="font-inter">
|