MCPcopy Index your code
hub / github.com/ChinaSiro/claude-code-sourcemap / bd

Function bd

package/cli.js:7870–7870  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

7868`)},updateFailedStatus(U){g(),x(),Y="failed";let c="";if(A)c+=$8.dim(" · ")+$8.dim(A);if(O)c+=$8.dim(" · ")+$8.dim(O);if(R(`${$8.red(JA8)} ${$8.red("Remote Control Failed")}${c}
7869`),R(`${$8.dim(WC8)}
7870`),U)R(`${$8.red(U)}
7871`)},updateSessionStatus(U,c,K6,t){if(K6.type==="tool_start")W=K6.summary,D=Date.now();F()},clearStatus(){g(),x()},toggleQr(){P=!P,F()},updateSessionCount(U,c,K6){if(f===U&&G===c&&T===K6)return;f=U,G=c,T=K6},setSpawnModeDisplay(U){if(Z===U)return;if(Z=U,U)T=U},addSession(U,c){v.set(U,{url:c})},updateSessionActivity(U,c){let K6=v.get(U);if(!K6)return;K6.activity=c},setSessionTitle(U,c){let K6=v.get(U);if(!K6)return;if(K6.title=c,Y==="reconnecting"||Y==="failed")return;if(G===1)Y="titled",$=T4(c,40);F()},removeSession(U){v.delete(U)},refreshDisplay(){if(Y==="reconnecting"||Y==="failed")return;F()}}}var vCY;var DFK=y(()=>{x3();MS6();zz();Q5();_8();Q46();vCY={type:"utf8",errorCorrectionLevel:"L",small:!0}});function mQ8(q){let K=new AbortController;function _(){K.abort(),K=new AbortController}function z(){let Y=new AbortController,$=()=>Y.abort();if(q.aborted||K.signal.aborted)return Y.abort(),{signal:Y.signal,cleanup:()=>{}};q.addEventListener("abort",$,{once:!0});let A=K.signal;return A.addEventListener("abort",$,{once:!0}),{signal:Y.signal,cleanup:()=>{q.removeEventListener("abort",$),A.removeEventListener("abort",$)}}}return{signal:z,wake:_}}function R_7(q){if(q<60000)return`${Math.round(q/1000)}s`;let K=Math.floor(q/60000),_=Math.round(q%60000/1000);return _>0?`${K}m ${_}s`:`${K}m`}function VCY(q){let _=(q.startsWith("sk-ant-si-")?q.slice(10):q).split(".");if(_.length!==3||!_[1])return null;try{return r8(Buffer.from(_[1],"base64url").toString("utf8"))}catch{return null}}function h_7(q){let K=VCY(q);if(K!==null&&typeof K==="object"&&"exp"in K&&typeof K.exp==="number")return K.exp;return null}function pQ8({getAccessToken:q,onRefresh:K,label:_,refreshBufferMs:z=NCY}){let Y=new Map,$=new Map,A=new Map;function O(X){let P=(A.get(X)??0)+1;return A.set(X,P),P}function w(X,P){let W=h_7(P);if(!W){N(`[${_}:token] Could not decode JWT expiry for sessionId=${X}, token prefix=${P.slice(0,15)}…, keeping existing timer`);return}let D=Y.get(X);if(D)clearTimeout(D);let f=O(X),G=new Date(W*1000).toISOString(),Z=W*1000-Date.now()-z;if(Z<=0){N(`[${_}:token] Token for sessionId=${X} expires=${G} (past or within buffer), refreshing immediately`),H(X,f);return}N(`[${_}:token] Scheduled token refresh for sessionId=${X} in ${R_7(Z)} (expires=${G}, buffer=${z/1000}s)`);let T=setTimeout(H,Z,X,f);Y.set(X,T)}function j(X,P){let W=Y.get(X);if(W)clearTimeout(W);let D=O(X),f=Math.max(P*1000-z,30000);N(`[${_}:token] Scheduled token refresh for sessionId=${X} in ${R_7(f)} (expires_in=${P}s, buffer=${z/1000}s)`);let G=setTimeout(H,f,X,D);Y.set(X,G)}async function H(X,P){let W;try{W=await q()}catch(f){N(`[${_}:token] getAccessToken threw for sessionId=${X}: ${d6(f)}`,{level:"error"})}if(A.get(X)!==P){N(`[${_}:token] doRefresh for sessionId=${X} stale (gen ${P} vs ${A.get(X)}), skipping`);return}if(!W){let f=($.get(X)??0)+1;if($.set(X,f),N(`[${_}:token] No OAuth token available for refresh, sessionId=${X} (failure ${f}/${ZFK})`,{level:"error"}),c8("error","bridge_token_refresh_no_oauth"),f<ZFK){let G=setTimeout(H,yCY,X,P);Y.set(X,G)}return}$.delete(X),N(`[${_}:token] Refreshing token for sessionId=${X}: new token prefix=${W.slice(0,15)}…`),d("tengu_bridge_token_refreshed",{}),K(X,W);let D=setTimeout(H,fFK,X,P);Y.set(X,D),N(`[${_}:token] Scheduled follow-up refresh for sessionId=${X} in ${R_7(fFK)}`)}function J(X){O(X);let P=Y.get(X);if(P)clearTimeout(P),Y.delete(X);$.delete(X)}function M(){for(let X of A.keys())O(X);for(let X of Y.values())clearTimeout(X);Y.clear(),$.clear()}return{schedule:w,scheduleFromExpiresIn:j,cancel:J,cancelAll:M}}var NCY=300000,fFK=1800000,ZFK=3,yCY=60000;var BQ8=y(()=>{k8();_8();oY();y8();l8()});var Ls;var S_7=y(()=>{Ls={poll_interval_ms_not_at_capacity:2000,poll_interval_ms_at_capacity:600000,non_exclusive_heartbeat_interval_ms:0,multisession_poll_interval_ms_not_at_capacity:2000,multisession_poll_interval_ms_partial_capacity:2000,multisession_poll_interval_ms_at_capacity:600000,reclaim_older_than_ms:5000,session_keepalive_interval_v2_ms:120000}});function bd(){let q=gV("tengu_bridge_poll_interval_config",Ls,300000),K=ECY().safeParse(q);return K.success?K.data:Ls}var GFK,ECY;var gQ8=y(()=>{x7();o1();S_7();GFK={message:"must be 0 (disabled) or ≥100ms"},ECY=B6(()=>L.object({poll_interval_ms_not_at_capacity:L.number().int().min(100),poll_interval_ms_at_capacity:L.number().int().refine((q)=>q===0||q>=100,GFK),non_exclusive_heartbeat_interval_ms:L.number().int().min(0).default(0),multisession_poll_interval_ms_not_at_capacity:L.number().int().min(100).default(Ls.multisession_poll_interval_ms_not_at_capacity),multisession_poll_interval_ms_partial_capacity:L.number().int().min(100).default(Ls.multisession_poll_interval_ms_partial_capacity),multisession_poll_interval_ms_at_capacity:L.number().int().refine((q)=>q===0||q>=100,GFK).default(Ls.multisession_poll_interval_ms_at_capacity),reclaim_older_than_ms:L.number().int().min(1).default(5000),session_keepalive_interval_v2_ms:L.number().int().min(0).default(120000)}).refine((q)=>q.non_exclusive_heartbeat_interval_ms>0||q.poll_interval_ms_at_capacity>0,{message:"at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or poll_interval_ms_at_capacity > 0"}).refine((q)=>q.non_exclusive_heartbeat_interval_ms>0||q.multisession_poll_interval_ms_at_capacity>0,{message:"at-capacity liveness requires non_exclusive_heartbeat_interval_ms > 0 or multisession_poll_interval_ms_at_capacity > 0"}))});import{spawn as LCY}from"child_process";import{createWriteStream as RCY}from"fs";import{tmpdir as hCY}from"os";import{dirname as SCY,join as TFK}from"path";import{createInterface as vFK}from"readline";function FQ8(q){return q.replace(/[^a-zA-Z0-9_-]/g,"_")}function ICY(q,K){let _=xCY[q]??q,z=K.file_path??K.filePath??K.pattern??K.command?.slice(0,60)??K.url??K.query??"";if(z)return`${_} ${z}`;return _}function uCY(q,K,_){let z;try{z=r8(q)}catch{return[]}if(!z||typeof z!=="object")return[];let Y=z,$=[],A=Date.now();switch(Y.type){case"assistant":{let O=Y.message;if(!O)break;let w=O.content;if(!Array.isArray(w))break;for(let j of w){if(!j||typeof j!=="object")continue;let H=j;if(H.type==="tool_use"){let J=H.name??"Tool",M=H.input??{},X=ICY(J,M);$.push({type:"tool_start",summary:X,timestamp:A}),_(`[bridge:activity] sessionId=${K} tool_use name=${J} ${pCY(M)}`)}else if(H.type==="text"){let J=H.text??"";if(J.length>0)$.push({type:"text",summary:J.slice(0,80),timestamp:A}),_(`[bridge:activity] sessionId=${K} text "${J.slice(0,100)}"`)}}break}case"result":{let O=Y.subtype;if(O==="success")$.push({type:"result",summary:"Session completed",timestamp:A}),_(`[bridge:activity] sessionId=${K} result subtype=success`);else if(O){let j=Y.errors?.[0]??`Error: ${O}`;$.push({type:"error",summary:j,timestamp:A}),_(`[bridge:activity] sessionId=${K} result subtype=${O} error="${j}"`)}else _(`[bridge:activity] sessionId=${K} result subtype=undefined`);break}default:break}return $}function mCY(q){if(q.parent_tool_use_id!=null||q.isSynthetic||q.isReplay)return;let _=q.message?.content,z;if(typeof _==="string")z=_;else if(Array.isArray(_)){for(let Y of _)if(Y&&typeof Y==="object"&&Y.type==="text"){z=Y.text;break}}return z=z?.trim(),z?z:void 0}function pCY(q){let K=[];for(let[_,z]of Object.entries(q)){if(typeof z==="string")K.push(`${_}="${z.slice(0,100)}"`);if(K.length>=3)break}return K.join(" ")}function C_7(q){return{spawn(K,_){let z=FQ8(K.sessionId),Y;if(q.debugFile){let f=q.debugFile.lastIndexOf(".");if(f>0)Y=`${q.debugFile.slice(0,f)}-${z}${q.debugFile.slice(f)}`;else Y=`${q.debugFile}-${z}`}else if(q.verbose)Y=TFK(hCY(),"claude",`bridge-session-${z}.log`);let $=null,A;if(q.debugFile)A=TFK(SCY(q.debugFile),`bridge-transcript-${z}.jsonl`),$=RCY(A,{flags:"a"}),$.on("error",(f)=>{q.onDebug(`[bridge:session] Transcript write error: ${f.message}`),$=null}),q.onDebug(`[bridge:session] Transcript log: ${A}`);let O=[...q.scriptArgs,"--print","--sdk-url",K.sdkUrl,"--session-id",K.sessionId,"--input-format","stream-json","--output-format","stream-json","--replay-user-messages",...q.verbose?["--verbose"]:[],...Y?["--debug-file",Y]:[],...q.permissionMode?["--permission-mode",q.permissionMode]:[]],w={...q.env,CLAUDE_CODE_OAUTH_TOKEN:void 0,CLAUDE_CODE_ENVIRONMENT_KIND:"bridge",...q.sandbox&&{CLAUDE_CODE_FORCE_SANDBOX:"1"},CLAUDE_CODE_SESSION_ACCESS_TOKEN:K.accessToken,CLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2:"1",...K.useCcrV2&&{CLAUDE_CODE_USE_CCR_V2:"1",CLAUDE_CODE_WORKER_EPOCH:String(K.workerEpoch)}};if(q.onDebug(`[bridge:session] Spawning sessionId=${K.sessionId} sdkUrl=${K.sdkUrl} accessToken=${K.accessToken?"present":"MISSING"}`),q.onDebug(`[bridge:session] Child args: ${O.join(" ")}`),Y)q.onDebug(`[bridge:session] Debug log: ${Y}`);let j=LCY(q.execPath,O,{cwd:_,stdio:["pipe","pipe","pipe"],env:w,windowsHide:!0});q.onDebug(`[bridge:session] sessionId=${K.sessionId} pid=${j.pid}`);let H=[],J=null,M=[],X=!1,P=!1;if(j.stderr)vFK({input:j.stderr}).on("line",(G)=>{if(q.verbose)process.stderr.write(G+`
7872`);if(M.length>=bCY)M.shift();M.push(G)});if(j.stdout)vFK({input:j.stdout}).on("line",(G)=>{if($)$.write(G+`
7873`);if(q.onDebug(`[bridge:ws] sessionId=${K.sessionId} <<< ${eK7(G)}`),q.verbose)process.stderr.write(G+`

Callers 3

g_7Function · 0.85
fbYFunction · 0.85
constructorMethod · 0.85

Calls 2

gVFunction · 0.85
safeParseMethod · 0.80

Tested by

no test coverage detected