conductor-oss 0.58.19 → 0.58.21
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 +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/5876.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/7724.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.4df2fc07b566684d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/4925.71bd866612b0b82d.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-8ebbf31e3f85c39e.js → 8510-13a25b1f7f79bee1.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-9dc79f310e7cdde0.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-2f2351e2ecf68dc7.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-75c0e3ff1d45eb0d.js → webpack-14bae89c56383b17.js} +1 -1
- package/web/.next/static/chunks/4443.4df2fc07b566684d.js +1 -0
- package/web/.next/static/chunks/4925.71bd866612b0b82d.js +1 -0
- package/web/.next/static/chunks/{8510-8ebbf31e3f85c39e.js → 8510-13a25b1f7f79bee1.js} +1 -1
- package/web/.next/static/chunks/883-9dc79f310e7cdde0.js +3 -0
- package/web/.next/static/chunks/app/layout-2f2351e2ecf68dc7.js +1 -0
- package/web/.next/static/chunks/{webpack-75c0e3ff1d45eb0d.js → webpack-14bae89c56383b17.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/258.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6723.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.c84ef60073769e16.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6540.59a4ec2f61a6501c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-0d5ebcbbeeeee895.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-85ff905a1b8628b7.js +0 -1
- package/web/.next/static/chunks/4443.c84ef60073769e16.js +0 -1
- package/web/.next/static/chunks/6540.59a4ec2f61a6501c.js +0 -1
- package/web/.next/static/chunks/883-0d5ebcbbeeeee895.js +0 -3
- package/web/.next/static/chunks/app/layout-85ff905a1b8628b7.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{UNlkjIX6YAUhmNL1B32ZX → wTX1f0sjpjzXJ2KxogPgK}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{UNlkjIX6YAUhmNL1B32ZX → wTX1f0sjpjzXJ2KxogPgK}/_ssgManifest.js +0 -0
- /package/web/.next/static/{UNlkjIX6YAUhmNL1B32ZX → wTX1f0sjpjzXJ2KxogPgK}/_buildManifest.js +0 -0
- /package/web/.next/static/{UNlkjIX6YAUhmNL1B32ZX → wTX1f0sjpjzXJ2KxogPgK}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4443],{34443:(e,l,a)=>{a.r(l),a.d(l,{KeylessCreatorOrReader:()=>r});var s=a(79748),n=a(7620),t=a(42291);let r=e=>{var l;let{children:a}=e,r=(null==(l=(0,s.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,u]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{u()})},[r]),n.isValidElement(a))?n.cloneElement(a,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):a}},42291:(e,l,a)=>{a.d(l,{a:()=>n});var s=a(5974);let n=(0,s.createServerReference)("003851be9352ee64729f9ad941512a6115e9c788dd",s.callServer,void 0,s.findSourceMapURL,"createOrReadKeylessAction")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6540],{42291:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("003851be9352ee64729f9ad941512a6115e9c788dd",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")},66540:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>d.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>a.A,syncKeylessConfigAction:()=>n});var a=r(58747),d=r(42291),s=r(5974);let t=(0,s.createServerReference)("00cb29b2db953b00abccd2b9204c280a92d3c52cdb",s.callServer,void 0,s.findSourceMapURL,"deleteKeylessAction"),n=(0,s.createServerReference)("408e01aa0dcbc99c0b4546040be4b5172a13b03c03",s.callServer,void 0,s.findSourceMapURL,"syncKeylessConfigAction")}}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[883],{883:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>P});var r=n(54568),l=n(58299),i=n(13454);let a=(0,i.A)("file-up",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]),s=(0,i.A)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),u=(0,i.A)("square-stop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);var o=n(60527),c=n(14796),d=n(36645),h=(n(82797),n(7620)),m=n(76081),f=n(85905),w=n(31404),p=n(18510);let y=new Set(["queued","spawning","running","working","needs_input","stuck"]);var g=n(63680);function b(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function x(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function U(e,t){let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",credentials:"same-origin",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.wsUrl&&r.wsUrl.trim().length>0?r.wsUrl.trim():null,a="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():i,s="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,u="string"==typeof r?.relayTtydWsUrl&&r.relayTtydWsUrl.trim().length>0?r.relayTtydWsUrl.trim():null,o=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:a,tunnelUrl:s,relayTtydWsUrl:u,expiresInSeconds:o}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function k(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);b(n.hostname)&&!b(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=g.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await U(e,t);if(!1===l.interactive)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};let i=function(e,t,n,r){let l=e??t;if(!l)return null;try{let e=(()=>{try{return new URL(l,r).pathname}catch{return null}})(),t=e&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=x(i.pathname.slice(0,-3))),i.pathname=x(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);if(!l.ttydHttpUrl&&l.ttydWsUrl){let n=function(e,t,n,r){let l=new URL(`/api/sessions/${encodeURIComponent(e)}/terminal/ttyd`,t),i=r?.trim();i&&l.searchParams.set("bridgeId",i);try{let e=new URL(n,t).searchParams.get("token")?.trim();e&&l.searchParams.set("token",e)}catch{}return l.toString()}(e,r,l.ttydWsUrl,t?.bridgeId);return{terminalUrl:n,terminalLinkUrl:n,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}if(!i)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."};let a=function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),s=function(e,t,n){if(n?.trim()||!t.tunnelUrl)return e;try{let n=new URL(t.tunnelUrl),r=function(e){if(!e)return null;try{return new URL(e).searchParams.get("token")}catch{return null}}(e);if(!r)return e;return n.searchParams.set("token",r),n.toString()}catch{return e}}(a,l,t?.bridgeId);return{terminalUrl:a,terminalLinkUrl:s,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}function R(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var j=n(86181);let C=new Set(["archived","killed","terminated","restored"]),S=[0,50,150,400,1e3];async function N(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function L(e,t){let n;if(e&&t&&null!==e.contentWindow){try{n=new URL(e.src).origin}catch{n=window.location.origin}n&&"null"!==n&&e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}}function E(e,t){let n;if(e?.contentWindow&&t){try{n=new URL(e.src).origin}catch{n=window.location.origin}if(n&&"null"!==n)try{e.contentWindow.postMessage({type:"conductor-ttyd-relay-url",relayTtydWsUrl:t},n)}catch{}}}function T(e){let{sessionId:t,projectId:n,bridgeId:i,sessionState:g,runtimeMode:b,pendingInsert:x,immersiveMobileMode:v=!1,panelVisible:U=!0,onPendingInsertConsumed:T}=e,P=(0,h.useRef)(null),I=(0,h.useRef)(null),W=(0,h.useRef)(0),A=(0,h.useRef)(0),M=(0,h.useRef)(null),$=(0,h.useRef)(null),z=(0,h.useRef)([]),F=(0,h.useRef)(!1),_=(0,h.useRef)(null),D=(0,h.useRef)(0),O=(0,h.useRef)(Date.now()),q=(0,h.useRef)(null),H=(0,h.useRef)(null),B=(0,h.useRef)(0),V=(0,h.useRef)(0),J=(0,h.useRef)(0),K=(0,h.useRef)(0),X=(0,h.useRef)(0),G=(0,h.useRef)(null),Q=(0,h.useMemo)(()=>g.trim().toLowerCase(),[g]),Y=b?.trim().toLowerCase()??null,Z="ttyd"===Y,ee=Z?!C.has(Q):y.has(Q),et=(0,h.useRef)(ee);et.current=ee;let en=(0,h.useRef)(null),er=(0,h.useRef)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(null),[eu,eo]=(0,h.useState)(null),[ec,ed]=(0,h.useState)(ee),[eh,em]=(0,h.useState)(null),[ef,ew]=(0,h.useState)(!1),[ep,ey]=(0,h.useState)(0),[eg,eb]=(0,h.useState)(""),[ex,ev]=(0,h.useState)(!1),[eU,ek]=(0,h.useState)(null),[eR,ej]=(0,h.useState)(null),[eC,eS]=(0,h.useState)(null),[eN,eL]=(0,h.useState)(!1),[eE,eT]=(0,h.useState)(!1),eP=(0,h.useRef)(null),eI=(0,h.useRef)(null),eW=(0,h.useRef)(!1),eA=(0,h.useRef)(0),eM=(0,h.useRef)(null),e$=(0,h.useRef)(null),ez=(0,h.useCallback)(()=>{for(let e of z.current)window.clearTimeout(e);z.current=[]},[]),eF=(0,h.useCallback)(()=>{let e=$.current,t=M.current;if(!e?.contentWindow||!t)return;let n=t.getBoundingClientRect(),r=Math.round(n.width),l=Math.round(n.height);if(r<10||l<10)return;let i=eM.current;i&&i.w===r&&i.h===l||(eM.current={w:r,h:l},function(e){let t;if(e?.contentWindow){try{t=new URL(e.src).origin}catch{t=window.location.origin}if(t&&"null"!==t)try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}}(e))},[]),e_=(0,h.useCallback)(()=>{if($.current?.contentWindow)for(let e of(ez(),S))z.current.push(window.setTimeout(()=>{eF()},e))},[ez,eF]),eD=(0,h.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(ea);e&&L($.current,e)},[ea]),eO=(0,h.useCallback)(()=>{E($.current,eu)},[eu]),eq=(0,h.useCallback)(e=>{if(!ee)return;let t=window.Date.now();e?.force!==!0&&t-D.current<1500||(D.current=t,e?.resetResizeCache&&(eM.current=null,eA.current=t+120),e?.syncCurrentToken!==!1&&(eD(),eO(),e_()),e?.resolveConnection?(J.current+=1,ey(e=>e+1)):V.current+=1)},[ee,e_,eO,eD]);(0,h.useEffect)(()=>{eP.current=el},[el]),(0,h.useEffect)(()=>{eI.current=eu},[eu]),(0,h.useEffect)(()=>{F.current=ef},[ef]),(0,h.useEffect)(()=>{W.current=0,A.current=0,ei(null),es(null),eo(null),ed(ee),em(null),ew(!1),ey(0),eb(""),ev(!1),ek(null),ej(null),eS(null),eL(!1),eW.current=!1,F.current=!1,_.current=null,D.current=0,eA.current=0,eM.current=null,q.current=null,H.current=null,B.current=0,V.current=0,J.current=0,K.current=0,X.current=0,O.current=Date.now(),ez()},[ez,t]),(0,h.useEffect)(()=>{C.has(Q)&&(ei(null),es(null),eo(null),ew(!1),em(null),eW.current=!1)},[Q,t]),(0,h.useEffect)(()=>{eM.current=null},[el]),(0,h.useEffect)(()=>()=>ez(),[ez]),(0,h.useEffect)(()=>{let e=window.setTimeout(()=>{(null===er.current||void 0===er.current)&&(er.current=ee);let e=er.current;er.current=ee,ee||!0!==e||(en.current?.abort(),ed(!1),em(null)),ee&&!1===e&&ey(e=>e+1)},500);return()=>window.clearTimeout(e)},[ee]),(0,h.useEffect)(()=>{if(!et.current)return void ed(!1);let e=!1,n=null,r=null,l=new AbortController;return en.current=l,(!eP.current||eW.current)&&ed(!0),em(null),k(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e&&et.current){if(A.current=0,t.interactive&&t.terminalUrl){var n,l,i;let e,a,s=t.terminalLinkUrl??t.terminalUrl,u=t.relayTtydWsUrl??null,o=eI.current!==u,c=eW.current||(n=eP.current,l=t.terminalUrl,e=R(n),a=R(l),!e||e!==a);eW.current=!1,es(s),eo(u);let d=!c&&eP.current&&function(e,t){if(!e)return!1;try{let n=new URL(e),r=new URL(t);if(n.origin!==r.origin||n.pathname!==r.pathname)return!1;let l=new URLSearchParams(n.searchParams),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let u=new URL(e).searchParams.get("token"),o=new URL(t).searchParams.get("token");return u!==o}catch{return!1}}(eP.current,t.terminalUrl);if(c||!eP.current)eP.current||ew(!1),ei(t.terminalUrl);else{let e=$.current;if(d&&e){let n=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();n&&L(e,n)}o&&e&&E(e,u)}em(null);let h="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-30);null!==h&&(r=window.setTimeout(()=>{G.current=null,ey(e=>e+1)},h),G.current=r);return}et.current&&(eP.current||(ei(null),es(null),eo(null),ew(!1)),em(t.reason??"Live ttyd terminal is unavailable."))}}).catch(t=>{if(e||!et.current||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!eP.current;r||(ei(null),es(null),eo(null),ew(!1)),em(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=A.current,i=r?5e3:Math.min(4e3,500*2**l);A.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{ey(e=>e+1)},i)}).finally(()=>{!e&&et.current&&ed(!1)}),()=>{e=!0,l.abort(),en.current===l&&(en.current=null),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r),null!==G.current&&(window.clearTimeout(G.current),G.current=null)}},[i,ep,t]),(0,h.useEffect)(()=>{let e=e$.current;if(e$.current=U,!U)return;let t=0,n=0;return!1===e&&(eq({resetResizeCache:!0,resolveConnection:!1}),t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{eM.current=null,e_(),eF()})})),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[eF,U,eq,e_]);let eH=(0,h.useCallback)(()=>{if(!ee)return;let e=window.Date.now(),t=null===_.current?0:e-_.current;_.current=null,eq({force:t>0,resetResizeCache:t>0,resolveConnection:!1})},[ee,eq]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){_.current=window.Date.now(),eA.current=window.Date.now()+320,null!==G.current&&(window.clearTimeout(G.current),G.current=null);return}"visible"===document.visibilityState&&(eA.current=window.Date.now()+200,eH(),ey(e=>e+1))},t=()=>{eH()},n=()=>{eH()};return document.addEventListener("visibilitychange",e),window.addEventListener("pageshow",t),window.addEventListener("online",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pageshow",t),window.removeEventListener("online",n)}},[eH]),(0,h.useEffect)(()=>{if(!U||!ee)return;let e=()=>{eA.current=window.Date.now()+120,eM.current=null,e_(),requestAnimationFrame(()=>{eF()})};return window.addEventListener("focus",e),()=>{window.removeEventListener("focus",e)}},[ee,eF,U,e_]),(0,h.useEffect)(()=>{let e=e=>{if(!e.data||"object"!=typeof e.data||e.source!==$.current?.contentWindow)return;let t=e.data.type;if("conductor-ttyd-ready"===t){ew(!0),em(null),e_(),eF();return}"conductor-ttyd-auth-token-request"===t&&(K.current+=1,eq({force:!0,resetResizeCache:!0,resolveConnection:!0}))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[eF,eq,e_]),(0,h.useEffect)(()=>{if(!x||x.nonce<=W.current)return;W.current=x.nonce;let e=x.inlineText.trim();if(0===e.length)return;let n=!1;return N(t,`${e} `,i).then(()=>{n||(ej(null),T?.())}).catch(e=>{n||ej(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[i,T,x,t]),(0,h.useEffect)(()=>{ef&&(eD(),eO())},[ef,eO,eD]),(0,h.useEffect)(()=>{if(!ee||!el||ef)return;let e=window.setTimeout(()=>{F.current||em("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[ee,ef,el]),(0,h.useCallback)(async()=>{let e=eg.trim();if(0!==e.length&&!ex){ev(!0),ek(null);try{let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}eb(""),P.current?.focus()}catch(e){ek(e instanceof Error?e.message:"Failed to send message")}finally{ev(!1)}}},[i,eg,ex,t]);let eB=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await N(t,e,i)}catch{}},[i,t]),eV=(0,h.useCallback)(()=>{I.current?.click()},[]),eJ=(0,h.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){eS(null),eL(!0);try{for(let e of(await (0,f.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await N(t,`\r
|
|
2
|
-
[attached file: ${e}]\r
|
|
3
|
-
`,i)}catch(e){eS(e instanceof Error?e.message:"Failed to upload attachment.")}finally{eL(!1)}}},[i,n,t]),eK=(0,h.useCallback)(async()=>{await N(t,"\x03",i)},[i,t]),eX=(0,h.useCallback)(()=>{let e=M.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,j.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",eT(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,eT(!0)},[]);(0,h.useEffect)(()=>{let e=M.current;if(!e)return;let t=null,n=()=>{if(!U||window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(eX(),eF())},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[eX,ee,eF,U,el]),(0,h.useEffect)(()=>{},[eh,ee,ef,Y,eU,eR,ec,t,el,ea,eu,Z]);let eG=(0,h.useCallback)(()=>{X.current+=1,em(null),A.current=0,eW.current=!0,ey(e=>e+1)},[]),eQ=ee?"Connecting live terminal":"Live terminal is not active",eY=eh??(ee?"Reconnecting to the existing ttyd terminal.":Z?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":`Session status is \`${Q}\`. Interactive ttyd terminals only run while the agent is active.`),eZ=ea??el??void 0,e0=(0,p.s)(t,{bridgeId:i,tab:"terminal"});return(0,r.jsxs)("div",{className:v?"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-20 flex items-center gap-2 sm:right-3 sm:top-3",children:[(0,r.jsx)("input",{ref:I,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eJ(e)}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",disabled:!ee||!el||eN,className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] disabled:opacity-40 sm:h-7 sm:w-7",onClick:eV,"aria-label":"Attach photos or files",children:eN?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a,{className:"h-3.5 w-3.5"})}),window.matchMedia?.("(pointer: coarse)").matches?(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eB,"aria-label":"Paste from clipboard",children:(0,r.jsx)(s,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eK,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(u,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eG,"aria-label":"Reload ttyd terminal",children:ec?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:v?"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:ee&&el?(0,r.jsxs)("div",{ref:M,className:"relative flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[ef?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{ref:$,title:`ttyd terminal for ${t}`,src:el,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{em("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{let e=Date.now();B.current+=1,H.current=e,null===q.current&&(q.current=e),ew(!0),em(null),eX(),eD(),eO(),e_()}},t)]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:eh?(0,r.jsx)(c.A,{className:"h-4 w-4"}):(0,r.jsx)(l.A,{className:`h-4 w-4 ${ec?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eQ}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eY}),eZ?(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,r.jsx)("a",{href:e0,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the full terminal page"}),(0,r.jsx)("a",{href:eZ,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#a79c94] underline underline-offset-4",children:"Open the ttyd terminal directly"})]}):null]})]})})})}),eR||eC?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[eR?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eR}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ej(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,eC?(0,r.jsxs)("div",{className:`flex items-center gap-1.5 ${eR?"mt-2":""}`,children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eC}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eS(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null]}):null,null]})}let P=(0,h.memo)(function(e){return(0,r.jsx)(T,{...e})},function(e,t){var n,r;let l=e.panelVisible??!0,i=t.panelVisible??!0;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&l===i&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)&&(!l&&!i||e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode)})},14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},18510:(e,t,n)=>{n.d(t,{J:()=>l,s:()=>i});var r=n(10926);function l(e){let t=(0,r.C0)(e);if(!t)return"/";let n=new URLSearchParams;return n.set("bridge",t),`/?${n.toString()}`}function i(e,t={}){let n,l=e.trim(),a=(0,r.DW)(l)?l:(n=(0,r.C0)(t.bridgeId))?(0,r.Bp)(n,l):l,s=new URLSearchParams,u=t.tab?.trim();u&&s.set("tab",u);let o=s.toString(),c=`/sessions/${encodeURIComponent(a)}`;return o.length>0?`${c}?${o}`:c}},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},85905:(e,t,n)=>{n.d(t,{P:()=>i});var r=n(31404);function l(e){return e&&"object"==typeof e?e:null}async function i({files:e,projectId:t,taskRef:n,bridgeId:a,preferAbsolute:s=!0}){if(!e.length)return[];let u=t.trim();if(!u)throw Error("Project id is required to upload attachments");let o=new FormData;o.append("projectId",u);let c=n?.trim();for(let t of(c&&o.append("taskRef",c),e))o.append("files",t);let d=await fetch((0,r.S)("/api/attachments",a),{method:"POST",body:o}),h=await d.json().catch(()=>null);if(!d.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(h?.error??`Failed to upload ${t}`)}let m=(Array.isArray(h?.files)?h.files:h?[h]:[]).map(e=>(function(e,t){let n=l(e);if(!n)return null;let r=l(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,s)).filter(e=>!!e);if(0===m.length)throw Error("Attachment upload succeeded but did not return a usable file path");return m}}}]);
|
package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-85ff905a1b8628b7.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{4819:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00dc1893a7fb05a685421fcf9d2b058558feeff83e",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},58747:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0030ed36d921dc705b10955c089d8c16391afc0129",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[9271,9306,3357,524,3051,8510,587,1968,7358],()=>e(e.s=98709)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4443],{34443:(e,l,a)=>{a.r(l),a.d(l,{KeylessCreatorOrReader:()=>r});var s=a(79748),n=a(7620),t=a(42291);let r=e=>{var l;let{children:a}=e,r=(null==(l=(0,s.useSelectedLayoutSegments)()[0])?void 0:l.startsWith("/_not-found"))||!1,[i,u]=n.useActionState(t.a,null);return((0,n.useEffect)(()=>{r||n.startTransition(()=>{u()})},[r]),n.isValidElement(a))?n.cloneElement(a,{key:null==i?void 0:i.publishableKey,publishableKey:null==i?void 0:i.publishableKey,__internal_keyless_claimKeylessApplicationUrl:null==i?void 0:i.claimUrl,__internal_keyless_copyInstanceKeysUrl:null==i?void 0:i.apiKeysUrl,__internal_bypassMissingPublishableKey:!0}):a}},42291:(e,l,a)=>{a.d(l,{a:()=>n});var s=a(5974);let n=(0,s.createServerReference)("003851be9352ee64729f9ad941512a6115e9c788dd",s.callServer,void 0,s.findSourceMapURL,"createOrReadKeylessAction")}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6540],{42291:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("003851be9352ee64729f9ad941512a6115e9c788dd",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")},66540:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>d.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>a.A,syncKeylessConfigAction:()=>n});var a=r(58747),d=r(42291),s=r(5974);let t=(0,s.createServerReference)("00cb29b2db953b00abccd2b9204c280a92d3c52cdb",s.callServer,void 0,s.findSourceMapURL,"deleteKeylessAction"),n=(0,s.createServerReference)("408e01aa0dcbc99c0b4546040be4b5172a13b03c03",s.callServer,void 0,s.findSourceMapURL,"syncKeylessConfigAction")}}]);
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[883],{883:(e,t,n)=>{n.r(t),n.d(t,{SessionTerminal:()=>P});var r=n(54568),l=n(58299),i=n(13454);let a=(0,i.A)("file-up",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"m15 15-3-3-3 3",key:"15xj92"}]]),s=(0,i.A)("clipboard",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}]]),u=(0,i.A)("square-stop",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]]);var o=n(60527),c=n(14796),d=n(36645),h=(n(82797),n(7620)),m=n(76081),f=n(85905),w=n(31404),p=n(18510);let y=new Set(["queued","spawning","running","working","needs_input","stuck"]);var g=n(63680);function b(e){return"127.0.0.1"===e||"localhost"===e||"::1"===e}function x(e){return e.length>1&&e.endsWith("/")?e.replace(/\/+$/,""):e}function v(e){return e.startsWith("/api/sessions/")&&e.includes("/terminal/ttyd")}async function U(e,t){let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/terminal/token`,t?.bridgeId),{cache:"no-store",credentials:"same-origin",signal:t?.signal}),r=await n.json().catch(()=>null),l="string"==typeof r?.ttydHttpUrl&&r.ttydHttpUrl.trim().length>0?r.ttydHttpUrl.trim():null,i="string"==typeof r?.wsUrl&&r.wsUrl.trim().length>0?r.wsUrl.trim():null,a="string"==typeof r?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():i,s="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,u="string"==typeof r?.relayTtydWsUrl&&r.relayTtydWsUrl.trim().length>0?r.relayTtydWsUrl.trim():null,o=(()=>{let e=r?.expiresInSeconds;if("number"==typeof e&&Number.isFinite(e))return Math.max(0,Math.floor(e));if("string"==typeof e){let t=Number.parseInt(e.trim(),10);if(Number.isFinite(t))return Math.max(0,t)}return null})();return 401===n.status||403===n.status?{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal access denied"}:n.ok?{interactive:!0,ttydHttpUrl:l,ttydWsUrl:a,tunnelUrl:s,relayTtydWsUrl:u,expiresInSeconds:o}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function k(e,t){let n=function(){let e=function(){if("u"<typeof document)return null;let e=document.querySelector('meta[name="conductor-backend-url"]'),t=e?.content?.trim();if(!t)return null;try{let e=window.location.origin,n=new URL(t,e);if("http:"!==n.protocol&&"https:"!==n.protocol)return null;{let e=new URL(window.location.origin);b(n.hostname)&&!b(e.hostname)&&(n.hostname=e.hostname,"https:"===e.protocol&&"http:"===n.protocol&&(n.protocol="https:"))}return n.toString()}catch{return null}}();if(e)return e;let t=g.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL?.trim();if(t)return t;let{protocol:n,hostname:r,origin:l,port:i}=window.location;return"3000"===i||"4747"===i?`${n}//${r}:4749`:l}(),r=window.location.origin,l=await U(e,t);if(!1===l.interactive)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:l.reason,expiresInSeconds:null,tunnelUrl:null};let i=function(e,t,n,r){let l=e??t;if(!l)return null;try{let e=(()=>{try{return new URL(l,r).pathname}catch{return null}})(),t=e&&v(e)?r:n,i=new URL(l,t);return"ws:"===i.protocol&&(i.protocol="http:"),"wss:"===i.protocol&&(i.protocol="https:"),"/ws"===i.pathname?i.pathname="/":i.pathname.endsWith("/ws")&&(i.pathname=x(i.pathname.slice(0,-3))),i.pathname=x(i.pathname),i.hash="",i.toString()}catch{return null}}(l.ttydHttpUrl,l.ttydWsUrl,n,r);if(!l.ttydHttpUrl&&l.ttydWsUrl){let n=function(e,t,n,r){let l=new URL(`/api/sessions/${encodeURIComponent(e)}/terminal/ttyd`,t),i=r?.trim();i&&l.searchParams.set("bridgeId",i);try{let e=new URL(n,t).searchParams.get("token")?.trim();e&&l.searchParams.set("token",e)}catch{}return l.toString()}(e,r,l.ttydWsUrl,t?.bridgeId);return{terminalUrl:n,terminalLinkUrl:n,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}if(!i)return{terminalUrl:null,terminalLinkUrl:null,relayTtydWsUrl:null,interactive:!1,reason:"Failed to resolve the ttyd terminal URL."};let a=function(e,t){let n=t?.trim();if(!n)return e;try{let t=new URL(e);if(!v(t.pathname))return e;return t.searchParams.set("bridgeId",n),t.toString()}catch{return e}}(i,t?.bridgeId),s=function(e,t,n){if(n?.trim()||!t.tunnelUrl)return e;try{let n=new URL(t.tunnelUrl),r=function(e){if(!e)return null;try{return new URL(e).searchParams.get("token")}catch{return null}}(e);if(!r)return e;return n.searchParams.set("token",r),n.toString()}catch{return e}}(a,l,t?.bridgeId);return{terminalUrl:a,terminalLinkUrl:s,relayTtydWsUrl:l.relayTtydWsUrl,interactive:!0,reason:null,expiresInSeconds:l.expiresInSeconds,tunnelUrl:l.tunnelUrl}}function R(e){if(!e)return null;try{let t=new URL(e);return t.searchParams.delete("token"),t.hash="",t.toString()}catch{return e}}var j=n(86181);let C=new Set(["archived","killed","terminated","restored"]),S=[0,50,150,400,1e3];async function N(e,t,n){let r=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(e)}/keys`,n),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})});if(!r.ok){let e=await r.json().catch(()=>null);throw Error(e?.error??`Failed to queue terminal input (${r.status})`)}}function L(e,t){let n;if(e&&t&&null!==e.contentWindow){try{n=new URL(e.src).origin}catch{n=window.location.origin}n&&"null"!==n&&e.contentWindow.postMessage({type:"conductor-ttyd-auth-token",token:t},n)}}function E(e,t){let n;if(e?.contentWindow&&t){try{n=new URL(e.src).origin}catch{n=window.location.origin}if(n&&"null"!==n)try{e.contentWindow.postMessage({type:"conductor-ttyd-relay-url",relayTtydWsUrl:t},n)}catch{}}}function T(e){let{sessionId:t,projectId:n,bridgeId:i,sessionState:g,runtimeMode:b,pendingInsert:x,immersiveMobileMode:v=!1,panelVisible:U=!0,onPendingInsertConsumed:T}=e,P=(0,h.useRef)(null),I=(0,h.useRef)(null),W=(0,h.useRef)(0),A=(0,h.useRef)(0),M=(0,h.useRef)(null),$=(0,h.useRef)(null),z=(0,h.useRef)([]),F=(0,h.useRef)(!1),_=(0,h.useRef)(null),D=(0,h.useRef)(0),O=(0,h.useRef)(Date.now()),q=(0,h.useRef)(null),H=(0,h.useRef)(null),B=(0,h.useRef)(0),V=(0,h.useRef)(0),J=(0,h.useRef)(0),K=(0,h.useRef)(0),X=(0,h.useRef)(0),G=(0,h.useRef)(null),Q=(0,h.useMemo)(()=>g.trim().toLowerCase(),[g]),Y=b?.trim().toLowerCase()??null,Z="ttyd"===Y,ee=Z?!C.has(Q):y.has(Q),et=(0,h.useRef)(ee);et.current=ee;let en=(0,h.useRef)(null),er=(0,h.useRef)(null),[el,ei]=(0,h.useState)(null),[ea,es]=(0,h.useState)(null),[eu,eo]=(0,h.useState)(null),[ec,ed]=(0,h.useState)(ee),[eh,em]=(0,h.useState)(null),[ef,ew]=(0,h.useState)(!1),[ep,ey]=(0,h.useState)(0),[eg,eb]=(0,h.useState)(""),[ex,ev]=(0,h.useState)(!1),[eU,ek]=(0,h.useState)(null),[eR,ej]=(0,h.useState)(null),[eC,eS]=(0,h.useState)(null),[eN,eL]=(0,h.useState)(!1),[eE,eT]=(0,h.useState)(!1),eP=(0,h.useRef)(null),eI=(0,h.useRef)(null),eW=(0,h.useRef)(!1),eA=(0,h.useRef)(0),eM=(0,h.useRef)(null),e$=(0,h.useRef)(null),ez=(0,h.useCallback)(()=>{for(let e of z.current)window.clearTimeout(e);z.current=[]},[]),eF=(0,h.useCallback)(()=>{let e=$.current,t=M.current;if(!e?.contentWindow||!t)return;let n=t.getBoundingClientRect(),r=Math.round(n.width),l=Math.round(n.height);if(r<10||l<10)return;let i=eM.current;i&&i.w===r&&i.h===l||(eM.current={w:r,h:l},function(e){let t;if(e?.contentWindow){try{t=new URL(e.src).origin}catch{t=window.location.origin}if(t&&"null"!==t)try{e.contentWindow.postMessage({type:"conductor-terminal-resize"},t)}catch{}}}(e))},[]),e_=(0,h.useCallback)(()=>{if($.current?.contentWindow)for(let e of(ez(),S))z.current.push(window.setTimeout(()=>{eF()},e))},[ez,eF]),eD=(0,h.useCallback)(()=>{let e=function(e){if(!e)return null;try{let t=new URL(e).searchParams.get("token")?.trim();return t&&t.length>0?t:null}catch{return null}}(ea);e&&L($.current,e)},[ea]),eO=(0,h.useCallback)(()=>{E($.current,eu)},[eu]),eq=(0,h.useCallback)(e=>{if(!ee)return;let t=window.Date.now();e?.force!==!0&&t-D.current<1500||(D.current=t,e?.resetResizeCache&&(eM.current=null,eA.current=t+120),e?.syncCurrentToken!==!1&&(eD(),eO(),e_()),e?.resolveConnection?(J.current+=1,ey(e=>e+1)):V.current+=1)},[ee,e_,eO,eD]);(0,h.useEffect)(()=>{eP.current=el},[el]),(0,h.useEffect)(()=>{eI.current=eu},[eu]),(0,h.useEffect)(()=>{F.current=ef},[ef]),(0,h.useEffect)(()=>{W.current=0,A.current=0,ei(null),es(null),eo(null),ed(ee),em(null),ew(!1),ey(0),eb(""),ev(!1),ek(null),ej(null),eS(null),eL(!1),eW.current=!1,F.current=!1,_.current=null,D.current=0,eA.current=0,eM.current=null,q.current=null,H.current=null,B.current=0,V.current=0,J.current=0,K.current=0,X.current=0,O.current=Date.now(),ez()},[ez,t]),(0,h.useEffect)(()=>{C.has(Q)&&(ei(null),es(null),eo(null),ew(!1),em(null),eW.current=!1)},[Q,t]),(0,h.useEffect)(()=>{eM.current=null},[el]),(0,h.useEffect)(()=>()=>ez(),[ez]),(0,h.useEffect)(()=>{let e=window.setTimeout(()=>{(null===er.current||void 0===er.current)&&(er.current=ee);let e=er.current;er.current=ee,ee||!0!==e||(en.current?.abort(),ed(!1),em(null)),ee&&!1===e&&ey(e=>e+1)},500);return()=>window.clearTimeout(e)},[ee]),(0,h.useEffect)(()=>{if(!et.current)return void ed(!1);let e=!1,n=null,r=null,l=new AbortController;return en.current=l,(!eP.current||eW.current)&&ed(!0),em(null),k(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e&&et.current){if(A.current=0,t.interactive&&t.terminalUrl){var n,l,i;let e,a,s=t.terminalLinkUrl??t.terminalUrl,u=t.relayTtydWsUrl??null,o=eI.current!==u,c=eW.current||(n=eP.current,l=t.terminalUrl,e=R(n),a=R(l),!e||e!==a);eW.current=!1,es(s),eo(u);let d=!c&&eP.current&&function(e,t){if(!e)return!1;try{let n=new URL(e),r=new URL(t);if(n.origin!==r.origin||n.pathname!==r.pathname)return!1;let l=new URLSearchParams(n.searchParams),i=new URLSearchParams(r.searchParams);l.delete("token"),i.delete("token");let a=l.toString(),s=i.toString();if(a!==s)return!1;let u=new URL(e).searchParams.get("token"),o=new URL(t).searchParams.get("token");return u!==o}catch{return!1}}(eP.current,t.terminalUrl);if(c||!eP.current)eP.current||ew(!1),ei(t.terminalUrl);else{let e=$.current;if(d&&e){let n=(()=>{try{return new URL(t.terminalUrl).searchParams.get("token")}catch{return null}})();n&&L(e,n)}o&&e&&E(e,u)}em(null);let h="number"!=typeof(i=t.expiresInSeconds)||!Number.isFinite(i)||i<=0?null:1e3*Math.max(5,i-30);null!==h&&(r=window.setTimeout(()=>{G.current=null,ey(e=>e+1)},h),G.current=r);return}et.current&&(eP.current||(ei(null),es(null),eo(null),ew(!1)),em(t.reason??"Live ttyd terminal is unavailable."))}}).catch(t=>{if(e||!et.current||t instanceof DOMException&&"AbortError"===t.name)return;let r=!!eP.current;r||(ei(null),es(null),eo(null),ew(!1)),em(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=A.current,i=r?5e3:Math.min(4e3,500*2**l);A.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{ey(e=>e+1)},i)}).finally(()=>{!e&&et.current&&ed(!1)}),()=>{e=!0,l.abort(),en.current===l&&(en.current=null),null!==n&&window.clearTimeout(n),null!==r&&window.clearTimeout(r),null!==G.current&&(window.clearTimeout(G.current),G.current=null)}},[i,ep,t]),(0,h.useEffect)(()=>{let e=e$.current;if(e$.current=U,!U)return;let t=0,n=0;return!1===e&&(eq({resetResizeCache:!0,resolveConnection:!1}),t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{eM.current=null,e_(),eF()})})),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[eF,U,eq,e_]);let eH=(0,h.useCallback)(()=>{if(!ee)return;let e=window.Date.now(),t=null===_.current?0:e-_.current;_.current=null,eq({force:t>0,resetResizeCache:t>0,resolveConnection:!1})},[ee,eq]);(0,h.useEffect)(()=>{if("u"<typeof document)return;let e=()=>{if("hidden"===document.visibilityState){_.current=window.Date.now(),eA.current=window.Date.now()+320,null!==G.current&&(window.clearTimeout(G.current),G.current=null);return}"visible"===document.visibilityState&&(eA.current=window.Date.now()+200,eH(),ey(e=>e+1))},t=()=>{eH()},n=()=>{eH()};return document.addEventListener("visibilitychange",e),window.addEventListener("pageshow",t),window.addEventListener("online",n),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pageshow",t),window.removeEventListener("online",n)}},[eH]),(0,h.useEffect)(()=>{if(!U||!ee)return;let e=()=>{eA.current=window.Date.now()+120,eM.current=null,e_(),requestAnimationFrame(()=>{eF()})};return window.addEventListener("focus",e),()=>{window.removeEventListener("focus",e)}},[ee,eF,U,e_]),(0,h.useEffect)(()=>{let e=e=>{if(!e.data||"object"!=typeof e.data||e.source!==$.current?.contentWindow)return;let t=e.data.type;if("conductor-ttyd-ready"===t){ew(!0),em(null),e_(),eF();return}"conductor-ttyd-auth-token-request"===t&&(K.current+=1,eq({force:!0,resetResizeCache:!0,resolveConnection:!0}))};return window.addEventListener("message",e),()=>{window.removeEventListener("message",e)}},[eF,eq,e_]),(0,h.useEffect)(()=>{if(!x||x.nonce<=W.current)return;W.current=x.nonce;let e=x.inlineText.trim();if(0===e.length)return;let n=!1;return N(t,`${e} `,i).then(()=>{n||(ej(null),T?.())}).catch(e=>{n||ej(e instanceof Error?e.message:"Failed to queue terminal input.")}),()=>{n=!0}},[i,T,x,t]),(0,h.useEffect)(()=>{ef&&(eD(),eO())},[ef,eO,eD]),(0,h.useEffect)(()=>{if(!ee||!el||ef)return;let e=window.setTimeout(()=>{F.current||em("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[ee,ef,el]),(0,h.useCallback)(async()=>{let e=eg.trim();if(0!==e.length&&!ex){ev(!0),ek(null);try{let n=await fetch((0,w.S)(`/api/sessions/${encodeURIComponent(t)}/actions`,i),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"send",message:e})});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.error??`Failed to send message (${n.status})`)}eb(""),P.current?.focus()}catch(e){ek(e instanceof Error?e.message:"Failed to send message")}finally{ev(!1)}}},[i,eg,ex,t]);let eB=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await N(t,e,i)}catch{}},[i,t]),eV=(0,h.useCallback)(()=>{I.current?.click()},[]),eJ=(0,h.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){eS(null),eL(!0);try{for(let e of(await (0,f.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await N(t,`\r
|
|
2
|
-
[attached file: ${e}]\r
|
|
3
|
-
`,i)}catch(e){eS(e instanceof Error?e.message:"Failed to upload attachment.")}finally{eL(!1)}}},[i,n,t]),eK=(0,h.useCallback)(async()=>{await N(t,"\x03",i)},[i,t]),eX=(0,h.useCallback)(()=>{let e=M.current;if(!e)return;let t=window.visualViewport;if(!t)return;let{usableHeight:n,keyboardVisible:r}=(0,j.wP)(window.innerHeight,t.height,t.offsetTop,e.getBoundingClientRect().top);if(!r){e.style.height="100%",eT(!1);return}if(n<=0){e.style.height="100%";return}e.style.height=`${Math.max(0,Math.round(n))}px`,eT(!0)},[]);(0,h.useEffect)(()=>{let e=M.current;if(!e)return;let t=null,n=()=>{if(!U||window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(null!==t&&(window.clearTimeout(t),t=null),t=window.setTimeout(()=>{if(t=null,window.Date.now()<eA.current)return;let n=e.getBoundingClientRect();n.height<10||n.width<10||(eX(),eF())},150))};n();let r="u"<typeof ResizeObserver?null:new ResizeObserver(()=>{n()}),l=window.visualViewport;return r?.observe(e),window.addEventListener("resize",n),l?.addEventListener("resize",n),l?.addEventListener("scroll",n),()=>{r?.disconnect(),window.removeEventListener("resize",n),l?.removeEventListener("resize",n),l?.removeEventListener("scroll",n),null!==t&&window.clearTimeout(t),e.style.removeProperty("height")}},[eX,ee,eF,U,el]),(0,h.useEffect)(()=>{},[eh,ee,ef,Y,eU,eR,ec,t,el,ea,eu,Z]);let eG=(0,h.useCallback)(()=>{X.current+=1,em(null),A.current=0,eW.current=!0,ey(e=>e+1)},[]),eQ=ee?"Connecting live terminal":"Live terminal is not active",eY=eh??(ee?"Reconnecting to the existing ttyd terminal.":Z?"This ttyd terminal is no longer attached. It only closes after an explicit kill or archive.":`Session status is \`${Q}\`. Interactive ttyd terminals only run while the agent is active.`),eZ=ea??el??void 0,e0=(0,p.s)(t,{bridgeId:i,tab:"terminal"});return(0,r.jsxs)("div",{className:v?"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden bg-[#060404]":"group/terminal relative flex min-h-0 min-w-0 w-full flex-1 flex-col overflow-hidden rounded-none border-0 bg-[#060404] lg:rounded-[14px] lg:border lg:border-white/10 lg:shadow-[inset_0_1px_0_rgba(255,255,255,0.04)]",children:[(0,r.jsxs)("div",{className:"absolute right-2 top-2 z-20 flex items-center gap-2 sm:right-3 sm:top-3",children:[(0,r.jsx)("input",{ref:I,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eJ(e)}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",disabled:!ee||!el||eN,className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] disabled:opacity-40 sm:h-7 sm:w-7",onClick:eV,"aria-label":"Attach photos or files",children:eN?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(a,{className:"h-3.5 w-3.5"})}),window.matchMedia?.("(pointer: coarse)").matches?(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eB,"aria-label":"Paste from clipboard",children:(0,r.jsx)(s,{className:"h-3.5 w-3.5"})}):null,(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eK,"aria-label":"Soft stop (Ctrl+C)",children:(0,r.jsx)(u,{className:"h-3.5 w-3.5"})}),(0,r.jsx)(m.$,{type:"button",size:"icon",variant:"ghost",className:"h-9 w-9 rounded-full border border-white/10 bg-[#141010]/92 text-[#c9c0b7] backdrop-blur-sm hover:bg-[#201818] sm:h-7 sm:w-7",onClick:eG,"aria-label":"Reload ttyd terminal",children:ec?(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})]}),(0,r.jsx)("div",{className:v?"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0 pb-[env(safe-area-inset-bottom)] pt-0 w-full":"min-h-0 min-w-0 h-0 flex-1 overflow-hidden px-0.5 pb-0 pt-0.5 lg:px-1.5 lg:pb-1 lg:pt-3 w-full",children:ee&&el?(0,r.jsxs)("div",{ref:M,className:"relative flex h-full min-h-0 w-full flex-1 flex-col overflow-hidden rounded-[10px] bg-[#060404] pb-[env(safe-area-inset-bottom)]",children:[ef?null:(0,r.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-[#060404]",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-[#141010]/92 px-3 py-2 text-[12px] text-[#c9c0b7] backdrop-blur-sm",children:[(0,r.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,r.jsx)("span",{children:"Loading ttyd terminal…"})]})}),(0,r.jsx)("iframe",{ref:$,title:`ttyd terminal for ${t}`,src:el,className:"block h-full min-h-0 w-full flex-1 border-0 bg-[#060404]",allow:"clipboard-read; clipboard-write",loading:"eager",onError:()=>{em("Failed to load the terminal frame. Try reload or open in a new tab.")},onLoad:()=>{let e=Date.now();B.current+=1,H.current=e,null===q.current&&(q.current=e),ew(!0),em(null),eX(),eD(),eO(),e_()}},t)]}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center p-4",children:(0,r.jsx)("div",{className:"max-w-lg rounded-[16px] border border-white/10 bg-[#141010]/92 p-5 text-[#efe8e1] shadow-[0_24px_48px_rgba(0,0,0,0.34)]",children:(0,r.jsxs)("div",{className:"flex items-start gap-3",children:[(0,r.jsx)("div",{className:"mt-0.5 rounded-full border border-white/10 bg-[#201818] p-2 text-[#c9c0b7]",children:eh?(0,r.jsx)(c.A,{className:"h-4 w-4"}):(0,r.jsx)(l.A,{className:`h-4 w-4 ${ec?"animate-spin":""}`})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"text-[14px] font-medium",children:eQ}),(0,r.jsx)("div",{className:"mt-1 text-[12px] leading-5 text-[#a79c94]",children:eY}),eZ?(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-x-3 gap-y-1",children:[(0,r.jsx)("a",{href:e0,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#d7c6b7] underline underline-offset-4",children:"Open the full terminal page"}),(0,r.jsx)("a",{href:eZ,target:"_blank",rel:"noreferrer",className:"text-[12px] text-[#a79c94] underline underline-offset-4",children:"Open the ttyd terminal directly"})]}):null]})]})})})}),eR||eC?(0,r.jsxs)("div",{className:"absolute inset-x-0 bottom-0 z-10 border-t border-white/12 bg-[#161212] px-3 py-2 text-[11px] text-[#ffb39e] backdrop-blur-sm [padding-bottom:env(safe-area-inset-bottom)]",children:[eR?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eR}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>ej(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null,eC?(0,r.jsxs)("div",{className:`flex items-center gap-1.5 ${eR?"mt-2":""}`,children:[(0,r.jsx)(c.A,{className:"h-3 w-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:eC}),(0,r.jsx)("button",{type:"button",className:"ml-auto shrink-0 text-[#8e847d] hover:text-[#c9c0b7]",onClick:()=>eS(null),children:(0,r.jsx)(d.A,{className:"h-3 w-3"})})]}):null]}):null,null]})}let P=(0,h.memo)(function(e){return(0,r.jsx)(T,{...e})},function(e,t){var n,r;let l=e.panelVisible??!0,i=t.panelVisible??!0;return e.sessionId===t.sessionId&&e.projectId===t.projectId&&e.bridgeId===t.bridgeId&&l===i&&((n=e.pendingInsert)===(r=t.pendingInsert)||!!n&&!!r&&n.nonce===r.nonce&&n.inlineText===r.inlineText)&&(!l&&!i||e.sessionState===t.sessionState&&e.runtimeMode===t.runtimeMode&&e.immersiveMobileMode===t.immersiveMobileMode)})},14796:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},18510:(e,t,n)=>{n.d(t,{J:()=>l,s:()=>i});var r=n(10926);function l(e){let t=(0,r.C0)(e);if(!t)return"/";let n=new URLSearchParams;return n.set("bridge",t),`/?${n.toString()}`}function i(e,t={}){let n,l=e.trim(),a=(0,r.DW)(l)?l:(n=(0,r.C0)(t.bridgeId))?(0,r.Bp)(n,l):l,s=new URLSearchParams,u=t.tab?.trim();u&&s.set("tab",u);let o=s.toString(),c=`/sessions/${encodeURIComponent(a)}`;return o.length>0?`${c}?${o}`:c}},82797:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(13454).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},85905:(e,t,n)=>{n.d(t,{P:()=>i});var r=n(31404);function l(e){return e&&"object"==typeof e?e:null}async function i({files:e,projectId:t,taskRef:n,bridgeId:a,preferAbsolute:s=!0}){if(!e.length)return[];let u=t.trim();if(!u)throw Error("Project id is required to upload attachments");let o=new FormData;o.append("projectId",u);let c=n?.trim();for(let t of(c&&o.append("taskRef",c),e))o.append("files",t);let d=await fetch((0,r.S)("/api/attachments",a),{method:"POST",body:o}),h=await d.json().catch(()=>null);if(!d.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(h?.error??`Failed to upload ${t}`)}let m=(Array.isArray(h?.files)?h.files:h?[h]:[]).map(e=>(function(e,t){let n=l(e);if(!n)return null;let r=l(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,s)).filter(e=>!!e);if(0===m.length)throw Error("Attachment upload succeeded but did not return a usable file path");return m}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{4819:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00dc1893a7fb05a685421fcf9d2b058558feeff83e",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},58747:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0030ed36d921dc705b10955c089d8c16391afc0129",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[9271,9306,3357,524,3051,8510,587,1968,7358],()=>e(e.s=98709)),_N_E=e.O()}]);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|