@lovelybunch/api 1.0.72 → 1.0.73
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/package.json +4 -4
- package/static/assets/{ActivityPage-qJKqmwv7.js → ActivityPage-C_HqpJt2.js} +1 -1
- package/static/assets/{AgentDetailPage-Dww8h17d.js → AgentDetailPage-WLAnnZep.js} +1 -1
- package/static/assets/{AgentEditPage-K6I9kvCf.js → AgentEditPage-DOemUkvg.js} +1 -1
- package/static/assets/{AgentsPage-nnMzCmw9.js → AgentsPage-Bage8eYW.js} +1 -1
- package/static/assets/{AgentsSettingsPage-Dnkw87_8.js → AgentsSettingsPage-Cw2MTnHU.js} +1 -1
- package/static/assets/{ApiKeysSettingsPage-DY0vNNSR.js → ApiKeysSettingsPage-DCKd4LXE.js} +1 -1
- package/static/assets/{ArchitectureEditPage-wx1LBCGC.js → ArchitectureEditPage-WY9k_1tR.js} +1 -1
- package/static/assets/{ArchitecturePage-C4bkskmN.js → ArchitecturePage-Cj4dVDWO.js} +1 -1
- package/static/assets/{AuthSettingsPage-AXU_vx8p.js → AuthSettingsPage-Bs5wL5Yj.js} +1 -1
- package/static/assets/{CallbackPage-B6CJkdJu.js → CallbackPage-CtydJ4j3.js} +1 -1
- package/static/assets/{CodePage-DGxzOKzh.js → CodePage-BiRf5q_q.js} +1 -1
- package/static/assets/{CollapsibleSection-DgGytfeZ.js → CollapsibleSection-5qSoX47l.js} +1 -1
- package/static/assets/{DashboardPage-3PlgC6UV.js → DashboardPage-e9hNRsi2.js} +1 -1
- package/static/assets/{GitPage-vBLrGiwG.js → GitPage-BG-ZSGfu.js} +1 -1
- package/static/assets/{GitSettingsPage-D22W0fXd.js → GitSettingsPage-Cn-MciXq.js} +1 -1
- package/static/assets/{IdentityPage-B8xDJx3W.js → IdentityPage-DCpoDF2j.js} +1 -1
- package/static/assets/{ImplementationStepsEditor-BY7wwwdO.js → ImplementationStepsEditor-PM47REBn.js} +1 -1
- package/static/assets/{IntegrationsSettingsPage-CSr-dlmL.js → IntegrationsSettingsPage-DJpf2gZn.js} +1 -1
- package/static/assets/{JobDetailPage-BUHRLYvQ.js → JobDetailPage-9shaUPlO.js} +1 -1
- package/static/assets/{KnowledgeDetailPage-8q-MYEOA.js → KnowledgeDetailPage-CLizVIxC.js} +1 -1
- package/static/assets/{KnowledgeEditPage-Di63BhFz.js → KnowledgeEditPage-B-sdY_DS.js} +1 -1
- package/static/assets/{KnowledgePage-BuEcOdou.js → KnowledgePage-DIlUufGq.js} +1 -1
- package/static/assets/{LoginPage-CBRJBmlC.js → LoginPage-DcTU__Dc.js} +1 -1
- package/static/assets/{McpSettingsPage-gariusH3.js → McpSettingsPage-BPDLne4q.js} +1 -1
- package/static/assets/{NewAgentPage-DDkFaqIq.js → NewAgentPage-8-abvhkI.js} +1 -1
- package/static/assets/{NewKnowledgePage-BqMSsS53.js → NewKnowledgePage-Rvj741x1.js} +1 -1
- package/static/assets/{NewProposalPage-C77pO28o.js → NewProposalPage-BLIqmuks.js} +1 -1
- package/static/assets/{ProjectEditPage-Dp5M7aXW.js → ProjectEditPage-DC5-v_2a.js} +1 -1
- package/static/assets/{ProjectPage-BBL0XITa.js → ProjectPage-_L4wqwrB.js} +1 -1
- package/static/assets/{PromptsSettingsPage-DOcni_gq.js → PromptsSettingsPage-K-qqpF2S.js} +1 -1
- package/static/assets/{ProposalDetailPage-5b6lLZRq.js → ProposalDetailPage-BVXTjXw2.js} +1 -1
- package/static/assets/{ProposalEditPage-lm9wiiHa.js → ProposalEditPage-Bs3ak0PG.js} +1 -1
- package/static/assets/{ProposalsPage-Dcms-16A.js → ProposalsPage-BvKlKvuo.js} +1 -1
- package/static/assets/{ResourcesPage-BGugJIYF.js → ResourcesPage-BSyX_kHV.js} +1 -1
- package/static/assets/{RoleEditPage-DI1lGRK2.js → RoleEditPage-CnWierul.js} +1 -1
- package/static/assets/{RolePage-B1kmmDDF.js → RolePage-D8xB0I-F.js} +1 -1
- package/static/assets/{RulesSettingsPage-Br_c4fhl.js → RulesSettingsPage-CZBQ0u-x.js} +1 -1
- package/static/assets/{SchedulePage-DMBddFXL.js → SchedulePage-HBFJT_19.js} +1 -1
- package/static/assets/{SourceInput-BuPLoJuZ.js → SourceInput-BoRGYtye.js} +1 -1
- package/static/assets/{TagInput-CkZQYmnO.js → TagInput-CdXzv6hj.js} +1 -1
- package/static/assets/{TerminalPage-CYqTT1pK.js → TerminalPage-CqPXFOIN.js} +1 -1
- package/static/assets/{TerminalSessionPage-a9QWo08R.js → TerminalSessionPage-DR2cApWv.js} +1 -1
- package/static/assets/{UserPreferencesPage-IVxOVtNk.js → UserPreferencesPage-CPkulDiM.js} +1 -1
- package/static/assets/{UserSettingsPage-Dsop4_yN.js → UserSettingsPage-BuMnU394.js} +1 -1
- package/static/assets/{UtilitiesPage-CZCmnyTp.js → UtilitiesPage-BGiBB5PT.js} +1 -1
- package/static/assets/{alert-nipAjehb.js → alert-CHpdnk6F.js} +1 -1
- package/static/assets/{arrow-down-DQTEjf4E.js → arrow-down-BjGtxyJ7.js} +1 -1
- package/static/assets/{arrow-left-BgRi6mQL.js → arrow-left-DR0foZvi.js} +1 -1
- package/static/assets/{arrow-up-jLj_KhSo.js → arrow-up-DCGMV1HG.js} +1 -1
- package/static/assets/{badge-CqnJU-OF.js → badge-Cds9UgAB.js} +1 -1
- package/static/assets/{browser-modal-DBBFKngy.js → browser-modal-Ck4-s_jh.js} +1 -1
- package/static/assets/{calendar-CA_W4UKa.js → calendar-CWhxfYG2.js} +1 -1
- package/static/assets/{card-DdTVdbjN.js → card-BdOrf6VU.js} +1 -1
- package/static/assets/{chevron-left-CM04t09S.js → chevron-left-Wnwkk8g7.js} +1 -1
- package/static/assets/{chevrons-up-DgSgy4LT.js → chevrons-up-DbnuGl5g.js} +1 -1
- package/static/assets/{circle-alert-UErAnUQ-.js → circle-alert-BPvQggmh.js} +1 -1
- package/static/assets/{circle-check-2oo3aeGx.js → circle-check-CTlDV9K4.js} +1 -1
- package/static/assets/{circle-check-big-CQsXU9Fx.js → circle-check-big-KMhw8TDM.js} +1 -1
- package/static/assets/{circle-play-BHGmBl9H.js → circle-play-tZLgOcAc.js} +1 -1
- package/static/assets/{circle-x-DoAXluPx.js → circle-x-D3tazxxl.js} +1 -1
- package/static/assets/{clipboard-NaRSfq4S.js → clipboard-C86rsVqL.js} +1 -1
- package/static/assets/{clock-C1lOY_Qr.js → clock-Qm5u6CAm.js} +1 -1
- package/static/assets/{download-Co1Xt7Td.js → download-Bo3vdlNo.js} +1 -1
- package/static/assets/{eye-54QpT_B-.js → eye-Cr9Hfzxo.js} +1 -1
- package/static/assets/{folder-git-2-x65JY04J.js → folder-git-2-Em4ZglGs.js} +1 -1
- package/static/assets/{index-VBSAUXJg.js → index-CQpPrvm_.js} +3 -3
- package/static/assets/{label-C6P6J-NS.js → label-nG86oxuW.js} +1 -1
- package/static/assets/{markdown-editor-CgzPMMiE.js → markdown-editor-CEQMlLWe.js} +1 -1
- package/static/assets/{pause-CU8WFOyJ.js → pause-DuR7ql7H.js} +1 -1
- package/static/assets/{play-nlXIUG-M.js → play-p4m8WHP3.js} +1 -1
- package/static/assets/{plus-nBUooJPr.js → plus-CD075YlZ.js} +1 -1
- package/static/assets/{radio-group-CQVEYWSk.js → radio-group-DCKkxIgI.js} +1 -1
- package/static/assets/{refresh-cw-ChsHXM-C.js → refresh-cw-D-IgYQ7y.js} +1 -1
- package/static/assets/{search-ygMlQfjH.js → search-W3H-E0eW.js} +1 -1
- package/static/assets/{switch-BcjQDy93.js → switch-E0GrYmgh.js} +1 -1
- package/static/assets/{tabs-B2pmN66L.js → tabs-DjZiD9WD.js} +1 -1
- package/static/assets/{tag-BEI3zSmE.js → tag-D0iVh1-U.js} +1 -1
- package/static/assets/{terminal-preview-_bKoIC7R.js → terminal-preview-BQBOEop2.js} +1 -1
- package/static/assets/{use-terminal-DKszJuOd.js → use-terminal-0TezQnxO.js} +1 -1
- package/static/assets/{zap-w4hozPoR.js → zap-C_5I7lLi.js} +1 -1
- package/static/index.html +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as n,b9 as E,at as K,an as T,j as a,ao as N,ba as U,ar as x,as as g,bb as V,aq as w,bc as z,aw as H,av as $,e as I,bd as W}from"./index-
|
|
1
|
+
import{r as n,b9 as E,at as K,an as T,j as a,ao as N,ba as U,ar as x,as as g,bb as V,aq as w,bc as z,aw as H,av as $,e as I,bd as W}from"./index-CQpPrvm_.js";var C="Radio",[X,_]=N(C),[Y,J]=X(C),j=n.forwardRef((r,t)=>{const{__scopeRadio:e,name:d,checked:o=!1,required:s,disabled:i,value:p="on",onCheck:f,form:R,...v}=r,[l,m]=n.useState(null),c=g(t,y=>m(y)),u=n.useRef(!1),b=l?R||!!l.closest("form"):!0;return a.jsxs(Y,{scope:e,checked:o,disabled:i,children:[a.jsx(x.button,{type:"button",role:"radio","aria-checked":o,"data-state":S(o),"data-disabled":i?"":void 0,disabled:i,value:p,...v,ref:c,onClick:w(r.onClick,y=>{o||f?.(),b&&(u.current=y.isPropagationStopped(),u.current||y.stopPropagation())})}),b&&a.jsx(P,{control:l,bubbles:!u.current,name:d,value:p,checked:o,required:s,disabled:i,form:R,style:{transform:"translateX(-100%)"}})]})});j.displayName=C;var k="RadioIndicator",G=n.forwardRef((r,t)=>{const{__scopeRadio:e,forceMount:d,...o}=r,s=J(k,e);return a.jsx(z,{present:d||s.checked,children:a.jsx(x.span,{"data-state":S(s.checked),"data-disabled":s.disabled?"":void 0,...o,ref:t})})});G.displayName=k;var Q="RadioBubbleInput",P=n.forwardRef(({__scopeRadio:r,control:t,checked:e,bubbles:d=!0,...o},s)=>{const i=n.useRef(null),p=g(i,s),f=H(e),R=$(t);return n.useEffect(()=>{const v=i.current;if(!v)return;const l=window.HTMLInputElement.prototype,c=Object.getOwnPropertyDescriptor(l,"checked").set;if(f!==e&&c){const u=new Event("click",{bubbles:d});c.call(v,e),v.dispatchEvent(u)}},[f,e,d]),a.jsx(x.input,{type:"radio","aria-hidden":!0,defaultChecked:e,...o,tabIndex:-1,ref:p,style:{...o.style,...R,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});P.displayName=Q;function S(r){return r?"checked":"unchecked"}var Z=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],h="RadioGroup",[ee,de]=N(h,[E,_]),A=E(),D=_(),[oe,re]=ee(h),M=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,name:d,defaultValue:o,value:s,required:i=!1,disabled:p=!1,orientation:f,dir:R,loop:v=!0,onValueChange:l,...m}=r,c=A(e),u=K(R),[b,y]=T({prop:s,defaultProp:o??null,onChange:l,caller:h});return a.jsx(oe,{scope:e,name:d,required:i,disabled:p,value:b,onValueChange:y,children:a.jsx(U,{asChild:!0,...c,orientation:f,dir:u,loop:v,children:a.jsx(x.div,{role:"radiogroup","aria-required":i,"aria-orientation":f,"data-disabled":p?"":void 0,dir:u,...m,ref:t})})})});M.displayName=h;var O="RadioGroupItem",q=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,disabled:d,...o}=r,s=re(O,e),i=s.disabled||d,p=A(e),f=D(e),R=n.useRef(null),v=g(t,R),l=s.value===o.value,m=n.useRef(!1);return n.useEffect(()=>{const c=b=>{Z.includes(b.key)&&(m.current=!0)},u=()=>m.current=!1;return document.addEventListener("keydown",c),document.addEventListener("keyup",u),()=>{document.removeEventListener("keydown",c),document.removeEventListener("keyup",u)}},[]),a.jsx(V,{asChild:!0,...p,focusable:!i,active:l,children:a.jsx(j,{disabled:i,required:s.required,checked:l,...f,...o,name:s.name,ref:v,onCheck:()=>s.onValueChange(o.value),onKeyDown:w(c=>{c.key==="Enter"&&c.preventDefault()}),onFocus:w(o.onFocus,()=>{m.current&&R.current?.click()})})})});q.displayName=O;var ae="RadioGroupIndicator",F=n.forwardRef((r,t)=>{const{__scopeRadioGroup:e,...d}=r,o=D(e);return a.jsx(G,{...o,...d,ref:t})});F.displayName=ae;var L=M,B=q,te=F;const se=n.forwardRef(({className:r,...t},e)=>a.jsx(L,{className:I("grid gap-2",r),...t,ref:e}));se.displayName=L.displayName;const ne=n.forwardRef(({className:r,...t},e)=>a.jsx(B,{ref:e,className:I("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),...t,children:a.jsx(te,{className:"flex items-center justify-center",children:a.jsx(W,{className:"h-2.5 w-2.5 fill-current text-current"})})}));ne.displayName=B.displayName;export{se as R,ne as a};
|
|
@@ -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-CQpPrvm_.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,at as F,an as $,j as c,ao as D,b8 as V,ar as g,b9 as y,ba as k,bb as G,aq as m,bc as L,e as T}from"./index-
|
|
1
|
+
import{r as l,at as F,an as $,j as c,ao as D,b8 as V,ar as g,b9 as y,ba as k,bb as G,aq as m,bc as L,e as T}from"./index-CQpPrvm_.js";var p="Tabs",[K,Q]=D(p,[y]),h=y(),[q,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(q,{scope:t,baseId:V(),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",I=l.forwardRef((e,a)=>{const{__scopeTabs:t,loop:o=!0,...r}=e,d=x(C,t),n=h(t);return c.jsx(k,{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})})});I.displayName=C;var R="TabsTrigger",j=l.forwardRef((e,a)=>{const{__scopeTabs:t,value:o,disabled:r=!1,...d}=e,n=x(R,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)})})})});j.displayName=R;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 B=N,S=I,M=j,P=_;const U=B,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,ag as j,j as u}from"./index-
|
|
1
|
+
import{r as t,ag as j,j as u}from"./index-CQpPrvm_.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,ak as b,A as f}from"./index-
|
|
1
|
+
import{r as i,ak as b,A as f}from"./index-CQpPrvm_.js";function j(){const[y,u]=i.useState([]),[m,c]=i.useState(!1),[g,o]=i.useState(null),{refresh:p}=b(),d=i.useCallback(async(s,n,r)=>{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({enableLogging:n||!1,startupCommand:r})});if(!e.ok){const a=await e.json();throw new Error(a.error||"Failed to create terminal session")}const t=await e.json();return await p(),t.sessionId}catch(e){const t=e instanceof Error?e.message:"Unknown error";return o(t),null}finally{c(!1)}},[p]),S=i.useCallback(async s=>{try{c(!0),o(null);let n;if(s.startsWith("session-")){const e=s.split("-");n=`${e[0]}-${e[1]}`}else{const e=s.split("-");n=`${e[0]}-${e[1]}`}const r=await fetch(`${f}/api/v1/terminal/${n}/destroy`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s})});if(!r.ok){const e=await r.json();throw new Error(e.error||"Failed to destroy terminal session")}return u(e=>e.filter(t=>t.id!==s)),await p(),!0}catch(n){const r=n instanceof Error?n.message:"Unknown error";return o(r),!1}finally{c(!1)}},[p]),$=i.useCallback(async(s,n,r)=>{try{o(null);let e;if(s.startsWith("session-")){const a=s.split("-");e=`${a[0]}-${a[1]}`}else{const a=s.split("-");e=`${a[0]}-${a[1]}`}const t=await fetch(`${f}/api/v1/terminal/${e}/resize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,cols:n,rows:r})});if(!t.ok){const a=await t.json();throw new Error(a.error||"Failed to resize terminal session")}return!0}catch(e){const t=e instanceof Error?e.message:"Unknown error";return o(t),!1}},[]),k=i.useCallback(async(s,n,r)=>{try{c(!0),o(null);const e=new URLSearchParams;s&&e.set("proposalId",s),n&&(e.set("withPreview","true"),r&&Number.isFinite(r)&&e.set("lines",String(r)));const t=`${f}/api/v1/terminal/sessions${e.toString()?`?${e.toString()}`:""}`,a=await fetch(t);if(!a.ok){const l=await a.json();throw new Error(l.error||"Failed to fetch terminal sessions")}const w=await a.json();u(w.sessions)}catch(e){const t=e instanceof Error?e.message:"Unknown error";o(t)}finally{c(!1)}},[]),E=i.useCallback(async(s,n=8)=>{try{o(null);const r=new URLSearchParams;r.set("sessionId",s),r.set("withPreview","true"),r.set("lines",String(n)),r.set("colorize","true");const e=`${f}/api/v1/terminal/sessions?${r.toString()}`,t=await fetch(e);if(!t.ok){const l=await t.json().catch(()=>({}));throw new Error(l.error||"Failed to fetch preview")}const a=await t.json(),w=Array.isArray(a?.sessions)&&a.sessions[0]?.preview?a.sessions[0].preview:[];return u(l=>l.map(h=>h.id===s?{...h,preview:w}:h)),w}catch(r){const e=r instanceof Error?r.message:"Unknown error";return o(e),[]}},[]);return{sessions:y,loading:m,error:g,createSession:d,destroySession:S,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-CQpPrvm_.js"></script>
|
|
12
12
|
<link rel="stylesheet" crossorigin href="/assets/index-BhlZ_D1Y.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body class="font-inter">
|