conductor-oss 0.58.37 → 0.58.39
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 +6 -6
- 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 +5 -5
- 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]/preview/dom/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/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 +6 -6
- package/web/.next/standalone/packages/web/.next/server/chunks/1121.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/2553.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/3364.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/3990.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/60.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6034.js +1 -1
- 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/next-font-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +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.611b659fd26e567b.js +1 -0
- package/web/.next/{static/chunks/5493-b8c806de7c81318c.js → standalone/packages/web/.next/static/chunks/5493-22c064a41611d50c.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/7649.96df81c61d4eeaaa.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{8510-b845550c7351c18b.js → 8510-eb40f26ac825fca3.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-bd3ca76b76fb6a07.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-40d6d4ccf615ee62.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-cf58d33be3ff30c5.js → webpack-b8e6b1ccb85a3faa.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/css/{d31189a7bb85881e.css → 186566065c214a57.css} +1 -1
- package/web/.next/static/chunks/4443.611b659fd26e567b.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/5493-b8c806de7c81318c.js → static/chunks/5493-22c064a41611d50c.js} +1 -1
- package/web/.next/static/chunks/7649.96df81c61d4eeaaa.js +1 -0
- package/web/.next/static/chunks/{8510-b845550c7351c18b.js → 8510-eb40f26ac825fca3.js} +1 -1
- package/web/.next/static/chunks/883-bd3ca76b76fb6a07.js +3 -0
- package/web/.next/static/chunks/app/layout-40d6d4ccf615ee62.js +1 -0
- package/web/.next/static/chunks/{webpack-cf58d33be3ff30c5.js → webpack-b8e6b1ccb85a3faa.js} +1 -1
- package/web/.next/static/css/{d31189a7bb85881e.css → 186566065c214a57.css} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/2627.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3220.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.084ab5c791423380.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6775.e83614d84164bbb5.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/883-7ade258e2e6bccb9.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-19c1a3557805d829.js +0 -1
- package/web/.next/static/chunks/4443.084ab5c791423380.js +0 -1
- package/web/.next/static/chunks/6775.e83614d84164bbb5.js +0 -1
- package/web/.next/static/chunks/883-7ade258e2e6bccb9.js +0 -3
- package/web/.next/static/chunks/app/layout-19c1a3557805d829.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{qKk4GuF2_QNY_NALB0_0T → W7Ix_gUgmq_cKa_iZEKIf}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{qKk4GuF2_QNY_NALB0_0T → W7Ix_gUgmq_cKa_iZEKIf}/_ssgManifest.js +0 -0
- /package/web/.next/static/{qKk4GuF2_QNY_NALB0_0T → W7Ix_gUgmq_cKa_iZEKIf}/_buildManifest.js +0 -0
- /package/web/.next/static/{qKk4GuF2_QNY_NALB0_0T → W7Ix_gUgmq_cKa_iZEKIf}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6775],{5004:(e,c,r)=>{r.d(c,{a:()=>d});var a=r(5974);let d=(0,a.createServerReference)("00b4a68d75555971534d35eaced3b41dbeccc215f3",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")},56775:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>s.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>a.A,syncKeylessConfigAction:()=>l});var a=r(59562),d=r(5974);let t=(0,d.createServerReference)("0091d5cf8df51bd988812a2f2387ede5632da44aab",d.callServer,void 0,d.findSourceMapURL,"deleteKeylessAction");var s=r(5004);let l=(0,d.createServerReference)("40e845652e318aef938109bb2cf9c40a4e66c487bb",d.callServer,void 0,d.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)),f=n(76081),m=n(85905),w=n(31404),p=n(18510);let g=new Set(["queued","spawning","running","working","needs_input","stuck"]);var y=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 k(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?.ttydWsUrl&&r.ttydWsUrl.trim().length>0?r.ttydWsUrl.trim():null,a="string"==typeof r?.tunnelUrl&&r.tunnelUrl.trim().length>0?r.tunnelUrl.trim():null,s="string"==typeof r?.relayTtydWsUrl&&r.relayTtydWsUrl.trim().length>0?r.relayTtydWsUrl.trim():null,u=(()=>{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:i,tunnelUrl:a,relayTtydWsUrl:s,expiresInSeconds:u}:{interactive:!1,ttydHttpUrl:null,ttydWsUrl:null,tunnelUrl:null,relayTtydWsUrl:null,reason:r?.error??"Terminal unavailable"}}async function U(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=y.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 k(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(!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"]),N=[0,50,150,400,1e3];async function S(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 E(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 L(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:y,runtimeMode:b,pendingInsert:x,immersiveMobileMode:v=!1,panelVisible:k=!0,onPendingInsertConsumed:T}=e,P=(0,h.useRef)(null),A=(0,h.useRef)(null),W=(0,h.useRef)(0),I=(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)(()=>y.trim().toLowerCase(),[y]),Y=b?.trim().toLowerCase()??null,Z="ttyd"===Y,ee=Z?!C.has(Q):g.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,ef]=(0,h.useState)(null),[em,ew]=(0,h.useState)(!1),[ep,eg]=(0,h.useState)(0),[ey,eb]=(0,h.useState)(""),[ex,ev]=(0,h.useState)(!1),[ek,eU]=(0,h.useState)(null),[eR,ej]=(0,h.useState)(null),[eC,eN]=(0,h.useState)(null),[eS,eE]=(0,h.useState)(!1),[eL,eT]=(0,h.useState)(!1),eP=(0,h.useRef)(null),eA=(0,h.useRef)(null),eW=(0,h.useRef)(!1),eI=(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(),N))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&&E($.current,e)},[ea]),eO=(0,h.useCallback)(()=>{L($.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,eI.current=t+120),e?.syncCurrentToken!==!1&&(eD(),eO(),e_()),e?.resolveConnection?(J.current+=1,eg(e=>e+1)):V.current+=1)},[ee,e_,eO,eD]);(0,h.useEffect)(()=>{eP.current=el},[el]),(0,h.useEffect)(()=>{eA.current=eu},[eu]),(0,h.useEffect)(()=>{F.current=em},[em]),(0,h.useEffect)(()=>{W.current=0,I.current=0,ei(null),es(null),eo(null),ed(ee),ef(null),ew(!1),eg(0),eb(""),ev(!1),eU(null),ej(null),eN(null),eE(!1),eW.current=!1,F.current=!1,_.current=null,D.current=0,eI.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),ef(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),ef(null)),ee&&!1===e&&eg(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),ef(null),U(t,{signal:l.signal,bridgeId:i}).then(t=>{if(!e&&et.current){if(I.current=0,t.interactive&&t.terminalUrl){var n,l,i;let e,a,s=t.terminalLinkUrl??t.terminalUrl,u=t.relayTtydWsUrl??null,o=eA.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&&E(e,n)}o&&e&&L(e,u)}ef(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,eg(e=>e+1)},h),G.current=r);return}et.current&&(eP.current||(ei(null),es(null),eo(null),ew(!1)),ef(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)),ef(t instanceof Error?t.message:"Failed to resolve ttyd terminal.");let l=I.current,i=r?5e3:Math.min(4e3,500*2**l);I.current=r?0:Math.min(l+1,3),n=window.setTimeout(()=>{eg(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=k,!k)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,k,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(),eI.current=window.Date.now()+320,null!==G.current&&(window.clearTimeout(G.current),G.current=null);return}"visible"===document.visibilityState&&(eI.current=window.Date.now()+200,eH(),eg(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(!k||!ee)return;let e=()=>{eI.current=window.Date.now()+120,eM.current=null,e_(),requestAnimationFrame(()=>{eF()})};return window.addEventListener("focus",e),()=>{window.removeEventListener("focus",e)}},[ee,eF,k,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),ef(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 S(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)(()=>{em&&(eD(),eO())},[em,eO,eD]),(0,h.useEffect)(()=>{if(!ee||!el||em)return;let e=window.setTimeout(()=>{F.current||ef("The terminal view did not finish loading in time. Try reload or open in a new tab.")},25e3);return()=>window.clearTimeout(e)},[ee,em,el]),(0,h.useCallback)(async()=>{let e=ey.trim();if(0!==e.length&&!ex){ev(!0),eU(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){eU(e instanceof Error?e.message:"Failed to send message")}finally{ev(!1)}}},[i,ey,ex,t]);let eB=(0,h.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();e&&await S(t,e,i)}catch{}},[i,t]),eV=(0,h.useCallback)(()=>{A.current?.click()},[]),eJ=(0,h.useCallback)(async e=>{let{files:r}=e.target;if(e.target.value="",r&&0!==r.length){eN(null),eE(!0);try{for(let e of(await (0,m.P)({files:Array.from(r),projectId:n,taskRef:t,bridgeId:i})))await S(t,`\r
|
|
2
|
-
[attached file: ${e}]\r
|
|
3
|
-
`,i)}catch(e){eN(e instanceof Error?e.message:"Failed to upload attachment.")}finally{eE(!1)}}},[i,n,t]),eK=(0,h.useCallback)(async()=>{await S(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(!k||window.Date.now()<eI.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()<eI.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,k,el]),(0,h.useEffect)(()=>{},[eh,ee,em,Y,ek,eR,ec,t,el,ea,eu,Z]);let eG=(0,h.useCallback)(()=>{X.current+=1,ef(null),I.current=0,eW.current=!0,eg(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:A,type:"file",multiple:!0,accept:"*/*",className:"sr-only",tabIndex:-1,"aria-hidden":!0,onChange:e=>void eJ(e)}),(0,r.jsx)(f.$,{type:"button",size:"icon",variant:"ghost",disabled:!ee||!el||eS,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:eS?(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)(f.$,{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)(f.$,{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)(f.$,{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:[em?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:()=>{ef("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),ef(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:()=>eN(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 f=(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===f.length)throw Error("Attachment upload succeeded but did not return a usable file path");return f}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{17944:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0065562ed6e652f8817a406f94bdb7c82cda31dadb",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})}},59562:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00272038bb5759826b992e8c5518d1ec6907106f4c",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
|