cuelo 0.10.70 → 0.10.71
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +25 -25
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/update-maintenance/route.js +3 -3
- package/.next/server/app/api/updates/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page.js +3 -3
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
- package/.next/server/app/recover.html +1 -1
- package/.next/server/app/recover.rsc +2 -2
- package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
- package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
- package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +25 -25
- package/.next/server/chunks/1008.js +6 -5
- package/.next/server/chunks/402.js +1 -1
- package/.next/server/chunks/6429.js +4 -4
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/{layout-77efcc2b6467b4a1.js → layout-69929b1152bb6134.js} +1 -1
- package/.next/static/chunks/app/{page-fd4ae3ef73380f2e.js → page-07ae1110b1e4a1b6.js} +3 -3
- package/.next/trace +108 -108
- package/.next/trace-build +1 -1
- package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
- package/Tools/OMP_Global_Config/agent/rules/deploy-ops.md +1 -1
- package/package.json +1 -1
- /package/.next/static/{WETz1UD0Dc0TaMj9G-jsb → UEE5papGQ6-VHe2VCtHNf}/_buildManifest.js +0 -0
- /package/.next/static/{WETz1UD0Dc0TaMj9G-jsb → UEE5papGQ6-VHe2VCtHNf}/_ssgManifest.js +0 -0
|
@@ -10,13 +10,14 @@ ${j}`:"",`Update the plan file, then write ${e} to xd://propose again when ready
|
|
|
10
10
|
`)}(a,b,!0),{requiresTrust:!0,trusted:!0}):c}function o(a,b){let c=(0,e.relative)((0,e.resolve)(b),(0,e.resolve)(a));return""===c||!(0,e.isAbsolute)(c)&&".."!==c&&!c.startsWith(`..${e.sep}`)&&!c.startsWith("../")}function p(a,b,c){let d=m(a,b);if(d.requiresTrust&&!d.trusted)return{preloadedExtensionPaths:c.extensionPaths.filter(b=>!o(b,a)),preloadedCustomToolPaths:c.customToolPaths.filter(b=>b.source?.level!=="project"&&!o(b.path,a)),enableMCP:!1}}},15395:(a,b,c)=>{c.d(b,{Ly:()=>g,YC:()=>f,we:()=>h});let d=/^att_[0-9a-f]{32}$/,e=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function f(a){return"string"==typeof a&&d.test(a)}function g(a){return"string"==typeof a&&e.test(a)}function h(a){return function(a){let b;if(!a.startsWith(i))return null;let c=a.indexOf("\n");if(c<0)return null;let d=a.slice(0,c);if(!d.endsWith(j))return null;try{b=JSON.parse(d.slice(i.length,-j.length))}catch{return null}if(!function(a){if(!a||"object"!=typeof a||!Number.isSafeInteger(a.userMessageLength)||(a.userMessageLength??-1)<0||!Array.isArray(a.documents)||0===a.documents.length||a.documents.length>3)return!1;let b=0,c=0;for(let d of a.documents){if(!d||"object"!=typeof d||"string"!=typeof d.name||0===d.name.length||"text/markdown"!==d.mimeType&&"text/plain"!==d.mimeType&&"application/pdf"!==d.mimeType||!Number.isSafeInteger(d.size)||(d.size??-1)<0||(d.size??0)>8388608||!Number.isSafeInteger(d.textLength)||(d.textLength??-1)<0||(d.textLength??0)>12e4)return!1;b+=d.size??0,c+=d.textLength??0}return b<=0x1000000&&c<=24e4}(b))return null;let e=c+1;if(!a.startsWith(k,e))return null;let f=(e+=k.length)+b.userMessageLength;if(f>a.length)return null;let g=a.slice(e,f);if(e=f,!a.startsWith(l,e))return null;e+=l.length;let h=[];for(let c=0;c<b.documents.length;c+=1){var m,n,o;let d=b.documents[c],f=(m=c,n=d,`
|
|
11
11
|
--- Begin attached document ${m+1}: ${JSON.stringify(n.name)} (${n.mimeType}, ${n.size} bytes) ---
|
|
12
12
|
`);if(!a.startsWith(f,e))return null;let g=(e+=f.length)+d.textLength;if(g>a.length)return null;let i=a.slice(e,g);e=g;let j=(o=c,`
|
|
13
|
-
--- End attached document ${o+1} ---`);if(!a.startsWith(j,e))return null;e+=j.length,h.push({name:d.name,mimeType:d.mimeType,size:d.size,text:i})}return e===a.length?{message:g,documents:h}:null}(a)?.message??a}let i="\x3c!-- omp-web-document-context-v1:",j=" --\x3e",k="User message:\n",l="\n\nAttached documents (locally extracted text supplied by the user):\n"},18437:(a,b,c)=>{c.d(b,{kc:()=>d});function d(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}},18778:(a,b,c)=>{c.d(b,{Uc:()=>i,rt:()=>j});var d=c(88250),e=c(15253);function f(){return globalThis.__cueloProjectTrustChanges??=new Map,globalThis.__cueloProjectTrustChanges}function g(a){console.error("[cuelo] failed to shut down a session after a project trust change:",a instanceof Error?a.message:a)}let h=!1;function i(a){let b=f();if(0!==b.size&&!h){h=!0;try{for(let[c,h]of[...b])try{!function(a,b,c){let h=[...new Set(a.sessions())].filter(a=>(0,e.LV)(a.cwd)===b),i=(0,e.Y1)(b,c.agentDir),j=!1;for(let a of h)!i.trusted&&a.projectCodeLoaded&&(a.isSafelyIdle()&&a.beginClose({onlyWhenIdle:!0})?a.shutdown().catch(g):(j=!0,a.watchBackgroundWork()));if(c.grant){if(!i.requiresTrust||i.trusted)return f().delete(b);if(a.isStarting(b))return;let j=h.filter(a=>!a.isSafelyIdle());if(j.length>0){for(let a of j)a.watchBackgroundWork();return}let k=[];for(let a of h){if(!a.beginClose({onlyWhenIdle:!0})){for(let a of k)a.cancelClose();return}k.push(a)}f().delete(b);try{(0,e.er)(b,c.agentDir)}catch(a){for(let a of k)a.cancelClose();(globalThis.__cueloProjectTrustErrors??=new Map,globalThis.__cueloProjectTrustErrors).set(b,a instanceof Error?a.message:String(a));return}for(let a of((0,d.kn)(),k))a.shutdown().catch(g);return}j||a.isStarting(b)||f().delete(b)}(a,c,h)}catch(a){console.error("[cuelo] failed to apply a project trust change:",a instanceof Error?a.message:a)}}finally{h=!1}}}function j(a){let b=f();if(0===b.size)return!1;let c=b.get((0,e.LV)(a));return void 0!==c&&!(0,e.Y1)(a,c.agentDir).trusted}},21392:(a,b,c)=>{c.d(b,{$f:()=>e,gt:()=>d}),c(77598);let d="gpt6-reply",e="ChatGPT 6PRO"},32955:(a,b,c)=>{c.d(b,{
|
|
13
|
+
--- End attached document ${o+1} ---`);if(!a.startsWith(j,e))return null;e+=j.length,h.push({name:d.name,mimeType:d.mimeType,size:d.size,text:i})}return e===a.length?{message:g,documents:h}:null}(a)?.message??a}let i="\x3c!-- omp-web-document-context-v1:",j=" --\x3e",k="User message:\n",l="\n\nAttached documents (locally extracted text supplied by the user):\n"},18437:(a,b,c)=>{c.d(b,{kc:()=>d});function d(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!function(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}},18778:(a,b,c)=>{c.d(b,{Uc:()=>i,rt:()=>j});var d=c(88250),e=c(15253);function f(){return globalThis.__cueloProjectTrustChanges??=new Map,globalThis.__cueloProjectTrustChanges}function g(a){console.error("[cuelo] failed to shut down a session after a project trust change:",a instanceof Error?a.message:a)}let h=!1;function i(a){let b=f();if(0!==b.size&&!h){h=!0;try{for(let[c,h]of[...b])try{!function(a,b,c){let h=[...new Set(a.sessions())].filter(a=>(0,e.LV)(a.cwd)===b),i=(0,e.Y1)(b,c.agentDir),j=!1;for(let a of h)!i.trusted&&a.projectCodeLoaded&&(a.isSafelyIdle()&&a.beginClose({onlyWhenIdle:!0})?a.shutdown().catch(g):(j=!0,a.watchBackgroundWork()));if(c.grant){if(!i.requiresTrust||i.trusted)return f().delete(b);if(a.isStarting(b))return;let j=h.filter(a=>!a.isSafelyIdle());if(j.length>0){for(let a of j)a.watchBackgroundWork();return}let k=[];for(let a of h){if(!a.beginClose({onlyWhenIdle:!0})){for(let a of k)a.cancelClose();return}k.push(a)}f().delete(b);try{(0,e.er)(b,c.agentDir)}catch(a){for(let a of k)a.cancelClose();(globalThis.__cueloProjectTrustErrors??=new Map,globalThis.__cueloProjectTrustErrors).set(b,a instanceof Error?a.message:String(a));return}for(let a of((0,d.kn)(),k))a.shutdown().catch(g);return}j||a.isStarting(b)||f().delete(b)}(a,c,h)}catch(a){console.error("[cuelo] failed to apply a project trust change:",a instanceof Error?a.message:a)}}finally{h=!1}}}function j(a){let b=f();if(0===b.size)return!1;let c=b.get((0,e.LV)(a));return void 0!==c&&!(0,e.Y1)(a,c.agentDir).trusted}},21392:(a,b,c)=>{c.d(b,{$f:()=>e,gt:()=>d}),c(77598);let d="gpt6-reply",e="ChatGPT 6PRO"},32955:(a,b,c)=>{c.d(b,{Kf:()=>f,S9:()=>g,VD:()=>e,oK:()=>h,qd:()=>d,wv:()=>i});let d="[자동 재개] CUELO 업데이트\xb7재시작 때문에 이 세션의 진행 중 작업이 중단(abort)됐다. 서버가 새 버전으로 다시 떴다. 중단 직전에 돌던 명령\xb7도구 결과는 사라졌을 수 있으니 파일\xb7프로세스 상태를 먼저 확인하고, 하던 작업을 이어서 진행한다. 그때 돌던 SubAgent(task child)도 멈췄지만 기록은 남아 있다. 결과를 받지 못한 child에는 먼저 `write agent://<id>`로 이어서 하라고 보내 되살리고, 되살아나지 않으면(isolated 작업 공간 등) 남은 파일 상태를 확인한 뒤 새로 맡긴다.",e="[자동 재개] CUELO 서버가 예기치 않게 종료돼 이 세션의 진행 중 작업이 중간에 끊겼다. 서버가 다시 떴다. 끊기기 직전에 돌던 명령\xb7도구 결과는 사라졌을 수 있다. 그 명령을 그대로 다시 실행하지 말고, 파일\xb7프로세스 상태를 먼저 확인한 뒤 하던 작업을 이어서 진행한다. 그때 돌던 SubAgent(task child)도 멈췄지만 기록은 남아 있다. 결과를 받지 못한 child에는 먼저 `write agent://<id>`로 이어서 하라고 보내 되살리고, 되살아나지 않으면 남은 파일 상태를 확인한 뒤 새로 맡긴다.",f="[자동 재개] CUELO 업데이트의 세션 정지 단계가 이 세션의 진행 중 작업을 중단(abort)했지만, 업데이트가 실패해 기존 서버가 그대로 돌고 있다(새 버전으로 바뀌지 않았다). 중단 직전에 돌던 명령\xb7도구 결과는 사라졌을 수 있으니 파일\xb7프로세스 상태를 먼저 확인하고, 하던 작업을 이어서 진행한다. 그때 돌던 SubAgent(task child)도 멈췄지만 기록은 남아 있다. 결과를 받지 못한 child에는 먼저 `write agent://<id>`로 이어서 하라고 보내 되살리고, 되살아나지 않으면(isolated 작업 공간 등) 남은 파일 상태를 확인한 뒤 새로 맡긴다.",g="[하네스 통지] 이 세션이 시작한 CUELO 업데이트가 끝나 런타임이 새 버전으로 교체됐고, 이 세션이 그 위에서 재개됐습니다.",h="[하네스 통지] 이 세션이 시작한 CUELO 업데이트가 실패했습니다.";function i(a){if(a===d||a===e||a===f)return!0;let[b,c]=a.split("\n",2);return(b===g||b===h)&&void 0!==c&&c.startsWith("requestId=")}},38726:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Be:()=>m});var e=c(76760),f=c.n(e),g=c(78310),h=c(96175),i=a([g,h]);function j(){return globalThis.__cueloRootAgentIds??=new Map,globalThis.__cueloRootAgentIds}function k(a,b){let c=f().resolve(a);for(let a of b){let b=f().resolve(a);if(b.endsWith(".jsonl")&&c.startsWith(`${b.slice(0,-6)}${f().sep}`))return a}}function l(a,b){if(!a.sessionFile)return!1;let c=k(a.sessionFile,b.keys()),d=c?b.get(c):void 0;if(!c||!d||a.parentId===d)return!1;let e=f().resolve(c).slice(0,-6);return f().dirname(f().resolve(a.sessionFile))===e&&(a.parentId=d,!0)}function m(a,b,c,d,e={}){let f=(globalThis.__cueloRootRevivers??=new Map,globalThis.__cueloRootRevivers),i=j(),n=e.registry??g.AgentRegistry.global();for(let d of(f.set(a,c),i.set(a,b),!function(a){let b=globalThis.__cueloOwnershipRepairs??=new WeakMap;if(b.has(a))return;let c=j();b.set(a,a.onChange(a=>{"registered"===a.type&&l(a.ref,c)}))}(n),n.list()))l(d,i);return(e.lifecycle??h.AgentLifecycleManager.global()).setPersistedSubagentReviverFactory(async a=>{if(!a.sessionFile)return;let b=k(a.sessionFile,f.keys());return b?f.get(b)(a):void 0},d),()=>{f.get(a)===c&&(f.delete(a),i.delete(a))}}[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},42556:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{zd:()=>i});var e=c(19819),f=a([e]);e=(f.then?(await f)():f)[0];let g=new Set(["set","show","pause","resume","drop","budget"]),h=["interactive","web"];class i{#a;#b;#c;#d;#e;#f;#g;#h;#i;#j;constructor(a,b){this.#e=!1,this.#f=!1,this.#g=!1,this.#h=!1,this.#i=!1,this.#a=a,this.#b=b}getStatus(){var a;return a=this.#a.getGoalModeState?.(),a?.goal?{objective:a.goal.objective,status:a.goal.status,enabled:!0===a.enabled,tokensUsed:a.goal.tokensUsed,...void 0!==a.goal.tokenBudget?{tokenBudget:a.goal.tokenBudget}:{},timeUsedSeconds:a.goal.timeUsedSeconds}:null}get enabled(){return this.#a.getGoalModeState?.()?.enabled===!0}dispose(){this.#i=!0,this.#k()}restore(){return this.#j??=this.#l(),this.#j}async #l(){if(this.#a.getGoalModeState?.())return;let a=this.#m();if(a?.mode!=="goal"&&a?.mode!=="goal_paused")return;if(!this.#n()){this.#a.goalRuntime.clearAccounting(),this.#a.sessionManager.appendModeChange("none");return}let b=function(a){if(!a||"object"!=typeof a)return;let b=a.goal;if(b&&"object"==typeof b&&"string"==typeof b.id&&"string"==typeof b.objective&&"string"==typeof b.status&&"number"==typeof b.tokensUsed&&"number"==typeof b.timeUsedSeconds&&"number"==typeof b.createdAt&&"number"==typeof b.updatedAt)return{id:b.id,objective:b.objective,status:b.status,tokenBudget:"number"==typeof b.tokenBudget?b.tokenBudget:void 0,tokensUsed:b.tokensUsed,timeUsedSeconds:b.timeUsedSeconds,createdAt:b.createdAt,updatedAt:b.updatedAt}}(a.data);if(!b)return void this.#a.sessionManager.appendModeChange("none");this.#a.setGoalModeState?.({enabled:"goal"===a.mode,mode:"active",goal:b});let c=await this.#a.goalRuntime.onThreadResumed();c?.goal&&(await this.#o(),this.#p())}async handleCommand(a){if(await this.restore().catch(()=>{}),!this.#n())return this.#q("Goal mode is disabled. Enable it in settings (goal.enabled).");if(this.#a.getPlanModeState?.()?.enabled)return this.#q("Exit plan mode first.");let{sub:b,rest:c}=function(a){let b=a.trim();if(!b)return{rest:""};let c=/^(\S+)(?:\s+([\s\S]*))?$/.exec(b);if(!c)return{rest:b};let d=c[1].toLowerCase();return g.has(d)?{sub:d,rest:c[2]?.trim()??""}:{rest:b}}(a);switch(b){case"show":return this.#r();case"pause":return await this.#s();case"resume":return await this.#t();case"drop":return await this.#u();case"budget":return await this.#v(c);case"set":return await this.#w(c)}let d=this.#a.getGoalModeState?.();return c?d?.enabled?this.#q("Goal mode is already active. Use /goal set to replace it, or /goal drop to start over."):this.#x()?this.#q("Resume the current goal first, or drop it before setting a new objective."):await this.#y(c):d?this.#r():this.#q("Usage: /goal <objective>, or /goal set <objective>.")}reconcileToolNames(a){return this.enabled||this.#x()?(this.#c=a.filter(a=>"goal"!==a),[...new Set([...a,"goal"])]):a}onUserPrompt(){this.#g=!1,this.#h=!1,this.#k()}onAbort(){this.#h=!0,this.#k()}async handleSessionEvent(a){switch(a.type){case"agent_start":this.#f=!1,this.#k();return;case"tool_execution_start":this.#f=!0,this.#e||(this.#g=!1);return;case"goal_updated":{let b=a.state;if(b?.goal?.status==="dropped")return void await this.#z({reason:"dropped"});b?.enabled&&!this.#c&&(this.#c=this.#a.getEnabledToolNames().filter(a=>"goal"!==a)),b?.enabled||this.#k(),this.#p();return}case"agent_end":if(this.#e&&(this.#g=!this.#f,this.#e=!1),this.#a.getGoalModeState?.()?.mode==="exiting")return void await this.#z({reason:"completed"});this.#A();return;default:return}}#r(){var a;let b,c,d,e,f,g=this.getStatus();if(!g)return this.#q("No goal set.");return{message:(e=g.tokensUsed.toLocaleString(),f=void 0!==g.tokenBudget?`${e} / ${g.tokenBudget.toLocaleString()} (${Math.max(0,g.tokenBudget-g.tokensUsed).toLocaleString()} left)`:`${e} (no budget)`,`Objective: ${g.objective}
|
|
14
14
|
Status: ${g.status}${g.enabled?"":" (paused)"}
|
|
15
15
|
Tokens: ${f}
|
|
16
|
-
Time spent: ${a=g.timeUsedSeconds,b=Math.max(0,Math.round(a)),c=Math.floor(b/3600),d=Math.floor(b%3600/60),c>0?`${c}h ${d}m`:d>0?`${d}m ${b%60}s`:`${b}s`}`),status:g}}async #w(a){if(!a)return this.#q("Usage: /goal set <objective>");if(!this.enabled&&this.#x())return this.#q("Resume the current goal first, or drop it before setting a new objective.");if(!this.enabled)return await this.#y(a);let b=await this.#a.goalRuntime.replaceGoal({objective:a});return this.#a.setGoalModeState?.(b),this.#g=!1,this.#h=!1,this.#a.isStreaming&&await this.#a.sendGoalModeContext({deliverAs:"steer"}),{message:"Goal replaced.",prompt:a,status:this.getStatus()}}async #y(a){let b=this.#a.getEnabledToolNames().filter(a=>"goal"!==a),c=await this.#a.goalRuntime.createGoal({objective:a});return this.#c=b,await this.#a.setActiveToolsByName([...new Set([...b,"goal"])]),this.#a.setGoalModeState?.(c),this.#g=!1,this.#h=!1,this.#a.isStreaming&&await this.#a.sendGoalModeContext({deliverAs:"steer"}),this.#p(),{message:"Goal mode enabled.",prompt:a,status:this.getStatus()}}async #s(){return this.enabled?(await this.#a.goalRuntime.pauseGoal(),await this.#z({reason:"paused"}),{message:"Goal mode paused.",status:this.getStatus()}):this.#q("No active goal to pause.")}async #t(){if(!this.#x())return this.#q("No paused goal to resume.");let a=this.#a.getEnabledToolNames().filter(a=>"goal"!==a),b=await this.#a.goalRuntime.resumeGoal();return this.#c=a,await this.#a.setActiveToolsByName([...new Set([...a,"goal"])]),this.#a.setGoalModeState?.(b),this.#g=!1,this.#h=!1,this.#p(),this.#A(),{message:"Goal mode resumed.",status:this.getStatus()}}async #u(){return this.enabled||this.#x()?(await this.#a.goalRuntime.dropGoal(),await this.#z({reason:"dropped"}),{message:"Goal dropped.",status:this.getStatus()}):this.#q("No goal to drop.")}async #v(a){let b=this.#a.getGoalModeState?.();if(!this.enabled||!b?.enabled)return this.#q(this.#x()?"Resume the goal before adjusting the budget.":"No active goal.");if("complete"===b.goal.status)return this.#q("Goal is already complete.");if(!a)return this.#q("Usage: /goal budget <N|off>");let{budget:c,error:d}=function(a){let b=a.trim().toLowerCase();if("off"===b)return{};let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<=0||String(c)!==b?{error:"Goal budget must be a positive integer or `off`."}:{budget:c}}(a);return d?this.#q(d):(await this.#a.goalRuntime.onBudgetMutated(c),this.#g=!1,this.#p(),this.#A(),{message:void 0===c?"Goal budget cleared.":`Goal budget set to ${c.toLocaleString()}.`,status:this.getStatus()})}async #z(a){let b=this.#c;if(b&&await this.#a.setActiveToolsByName(b),"completed"===a.reason){let a=this.#a.getGoalModeState?.()?.goal;this.#a.setGoalModeState?.(void 0),this.#a.sessionManager.appendModeChange("none"),this.#a.sessionManager.appendCustomEntry("goal-completed",{objective:a?.objective,tokensUsed:a?.tokensUsed,tokenBudget:a?.tokenBudget,timeUsedSeconds:a?.timeUsedSeconds})}this.#c=void 0,this.#e=!1,this.#k(),this.#p()}async #o(){let a=this.#a.getEnabledToolNames().filter(a=>"goal"!==a);this.#c=a,await this.#a.setActiveToolsByName([...new Set([...a,"goal"])])}#A(){var a;if(this.#k(),this.#i||this.#h||(a=e.cfgGoalContinuationModes.get(this.#a.settings),!(Array.isArray(a)&&h.some(b=>a.includes(b)))||this.#a.getPlanModeState?.()?.enabled||this.#g))return;let b=this.#a.getGoalModeState?.();!b?.enabled||"active"!==b.goal.status||this.#a.goalRuntime.buildContinuationPrompt()&&(this.#d=setTimeout(()=>{this.#d=void 0,this.#B()},this.#b.continuationDelayMs??800))}async #B(){if(this.#i||this.#h||this.#g||this.#b.isBusy())return;let a=this.#a.getGoalModeState?.();if(!a?.enabled||"active"!==a.goal.status)return;let b=this.#a.goalRuntime.buildContinuationPrompt();if(b){this.#e=!0;try{await this.#b.runContinuation(b)}catch{this.#e=!1}}}#k(){this.#d&&(clearTimeout(this.#d),this.#d=void 0)}#q(a){return{error:a,status:this.getStatus()}}#n(){return!1!==e.cfgGoalEnabled.get(this.#a.settings)}#x(){let a=this.#a.getGoalModeState?.();if(a?.goal&&!a.enabled&&"paused"===a.goal.status)return a}#m(){let a=this.#a.sessionManager.getEntries();for(let b=a.length-1;b>=0;b-=1)if(a[b]?.type==="mode_change")return a[b]}#p(){this.#b.onStatusChange?.(this.getStatus())}}d()}catch(a){d(a)}})},49092:(a,b,c)=>{c.d(b,{b6:()=>e,kL:()=>f,sF:()=>d}),c(51455);let d=2;function e(a,b){if("string"==typeof a)return"user"===b?a:"";if(!Array.isArray(a))return"";let c=[];for(let b of a)b&&"object"==typeof b&&"type"in b&&"text"===b.type&&"text"in b&&"string"==typeof b.text&&c.push(b.text);return c.join("\n")}function f(a,b){let c=a.replace(/\s+/g," ").trim(),d=c.toLowerCase().indexOf(b.toLowerCase());if(d<0)return null;let e=Math.max(0,d-50),f=Math.min(c.length,d+b.length+90),g=e>0?"…":"",h=f<c.length?"…":"";return{snippet:`${g}${c.slice(e,f)}${h}`,matchStart:g.length+d-e}}},55621:(a,b,c)=>{c(96185)},57372:(a,b,c)=>{c.d(b,{y:()=>a_});var d=c(32955);function e(a){return a?.role==="custom"?"compaction"===a.customType:a?.role==="user"&&("steer"==("steering"in a&&!0===a.steering?"steer":"followUp")||(0,d.wv)("user"!==a.role?"":"string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")))}function f(a){let b=[];for(let c of a){if(!c||"object"!=typeof c||!("name"in c)||!("tasks"in c))return{phases:b,malformed:!0};let{name:a,tasks:d}=c;if("string"!=typeof a||!Array.isArray(d))return{phases:b,malformed:!0};let e=Array.isArray(d)?d.flatMap(a=>{if(!a||"object"!=typeof a||!("content"in a)||!("status"in a))return[];let{content:b,status:c}=a;return"string"!=typeof b||"pending"!==c&&"in_progress"!==c&&"completed"!==c&&"abandoned"!==c&&"blocked"!==c?[]:[{content:b,status:c,blocker:"blocker"in a&&"string"==typeof a.blocker?a.blocker:void 0}]}):[];if(e.length!==d.length)return{phases:b,malformed:!0};e.length>0&&b.push({name:a,tasks:e})}return{phases:b,malformed:!1}}function g(a,b){var c;let d;if(b){let a=b.details,c=a&&"object"==typeof a&&"phases"in a?a.phases:void 0;if(!Array.isArray(c))return{kind:"unknown"};let{phases:d,malformed:e}=f(c);return e?{kind:"unknown"}:{kind:"authoritative",phases:d}}let e=Array.isArray(d=(c=a.input)&&"object"==typeof c&&"list"in c?c.list:void 0)?d.flatMap(a=>{if(!a||"object"!=typeof a||!("phase"in a)||!("items"in a))return[];let{phase:b,items:c}=a;if("string"!=typeof b||!Array.isArray(c))return[];let d=c.filter(a=>"string"==typeof a).map(a=>({content:a,status:"pending"}));return d.length>0?[{name:b,tasks:d}]:[]}):[];return e.length>0?{kind:"preview",phases:e}:{kind:"unknown"}}function h(a){if(!a)return!1;let b=a.toLowerCase();return"todo"===b||b.endsWith(".todo")||b.endsWith("_todo")}function i(a,b){let c;if(!a)return null;let d=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")||void 0!==b&&(/^[a-zA-Z]:[\\/]/.test(b)||b.startsWith("\\\\")),e=a=>d?a.replace(/\\/g,"/"):a,f=e(a),g=b?e(b).replace(/\/+$/,""):void 0,h=/^[a-zA-Z]:\//.test(f),i=f.startsWith("//");if(h||i)c=f;else if(f.startsWith("/")){let a=g?.match(/^([a-zA-Z]:)(?:\/|$)/)?.[1]??g?.match(/^(\/\/[^/]+\/[^/]+)(?:\/|$)/)?.[1];c=a?`${a}${f}`:f}else{if(!g)return null;c=`${g}/${f}`}return function(a){let b=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a,c=/^[a-zA-Z]:\//.test(b),d=b.startsWith("//"),e=b.startsWith("/")&&!c&&!d,f=[];for(let a of b.split("/"))if(a&&"."!==a){if(".."===a){f.length>0&&".."!==f[f.length-1]?f.pop():e||c||d||f.push(a);continue}f.push(a)}let g=f.join("/");return c?g:d?`//${g}`:e?`/${g}`:g}(c)}function j(a){let b=a.toLowerCase();return"write"===b||b.startsWith("write_")||b.endsWith(".write")||b.endsWith("_write")}function k(a){let b=a.toLowerCase();return"edit"===b||b.startsWith("edit_")||b.endsWith(".edit")||b.endsWith("_edit")||b.includes("str_replace")||b.includes("replace_editor")}function l(a){if(!a)return null;let b=a.file_path??a.path;return"string"==typeof b&&b.length>0?b:null}function m(a,b){if(!a||"object"!=typeof a||"delete"===a.op&&!b)return null;let c=a.path??a.resolvedPath;return"string"==typeof c&&c.length>0?c:null}function n(a,b,c=!1){let d=b.details,e=l(a);if(e)return!c&&d&&"object"==typeof d&&"delete"===d.op?[]:[e];if(!d||"object"!=typeof d)return[];if(Array.isArray(d.perFileResults))return d.perFileResults.map(a=>m(a,c)).filter(a=>null!==a);let f=m(d,c);return f?[f]:[]}function o(a,b){let c=l(a);return(b?n(a,b,!0):c?[c]:[]).filter(s)}c(55621);let p=new Map(["skills","commands","rules","prompts","extensions","instructions","hooks","tools","agents","plugins","mcp.json",".mcp.json","SYSTEM.md","SYSTEM_TEMPLATE.md","APPEND_SYSTEM.md","AGENTS.md","settings.json","config.yml","secrets.yml"].map(a=>[a.toLowerCase(),a])),q=[/^\/(?:private\/)?(?:var\/)?tmp(?:\/|$)/,/^\/(?:private\/)?var\/folders\/[^/]+\/[^/]+\/T(?:\/|$)/,/^(?:[a-z]:|\/mnt\/[a-z])\/(?:windows\/)?temp(?:\/|$)/i,/^(?:[a-z]:|\/mnt\/[a-z])\/users\/[^/]+\/appdata\/local\/temp(?:\/|$)/i];function r(a,b){let c=i(a,b),d=b?i(b)?.replace(/\/+$/,""):void 0,e=c??a.replace(/\\/g,"/"),f=/^(?:[a-zA-Z]:\/|\/\/|\/mnt\/[a-zA-Z](?:\/|$))/.test(e)||void 0!==d&&/^(?:[a-zA-Z]:\/|\/\/)/.test(d),g=a=>f?a.toLowerCase():a,h=null===c||void 0!==d&&(g(c)===g(d)||g(c).startsWith(`${g(d)}/`));return!!function(a,b){let c=(a,c)=>void 0!==a&&(b?a.toLowerCase()===c:a===c),d=a.findIndex(a=>c(a,".omp"));if(d<0||d===a.length-1)return!1;let e=a[d+1];if(c(e,"agent")||c(e,"wt")||c(e,"profiles")&&c(a[d+3],"agent"))return!1;let f=p.get(e.toLowerCase());return!(void 0!==f&&(b||f===e))}((null!==c&&h&&void 0!==d?c.slice(d.length):e).split("/").filter(a=>""!==a&&"."!==a),f)||!h&&q.some(a=>a.test(e))}function s(a){return!!/^[a-zA-Z]:[\\/]/.test(a)||!/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(a)}function t(a){let b=a.details;if("number"==typeof b?.exitCode)return b.exitCode;let c=a.content.map(a=>"text"===a.type?a.text:"").join("\n"),d=/Command exited with code (-?\d+)\s*$/.exec(c.trimEnd());return d?Number(d[1]):null}function u(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}let v=["investigate","edit","check","review","commit","ci","deploy"];function w(a,b){let c="",d=b;for(;d<a.length&&'"'!==a[d];){let b=a[d];if("\\"===b&&d+1<a.length){let e=a[d+1];"\n"!==e&&(c+='$`"\\'.includes(e)?e:b+e),d+=2}else if("$"===b&&"("===a[d+1]){let b=x(a,d+1);c+=a.slice(d,b),d=b}else if("`"===b){let b=y(a,d+1);c+=a.slice(d,b),d=b}else c+=b,d+=1}return{text:c,end:Math.min(d+1,a.length)}}function x(a,b){let c=a[b],d="{"===c?"}":")",e=0,f=b;for(;f<a.length;){let b=a[f];if("\\"===b)f+=2;else if("'"===b){let b=a.indexOf("'",f+1);f=b<0?a.length:b+1}else if('"'===b)f=w(a,f+1).end;else if("`"===b)f=y(a,f+1);else{if(b===c)e+=1;else if(b===d&&0==--e)return f+1;f+=1}}return a.length}function y(a,b){let c=b;for(;c<a.length&&"`"!==a[c];)c+="\\"===a[c]?2:1;return Math.min(c+1,a.length)}function z(a){let b=[],c=[],d={pipelines:[],operators:[],background:!1},e={commands:[],negated:!1},f=[],g=()=>{let b=f.map(a=>a.value).filter(a=>"{"!==a&&"}"!==a);if(0===e.commands.length&&"!"===b[0]&&(e.negated=!0,b.shift()),b.length>0){let d={words:b,text:a.slice(f[0].start,f[f.length-1].end)};e.commands.push(d),c.push(d)}f=[]},h=()=>{g(),e.commands.length>0&&d.pipelines.push(e),e={commands:[],negated:!1}},i=a=>{h(),d.pipelines.length>0&&b.push({...d,background:a}),d={pipelines:[],operators:[],background:!1}};for(let b of function(a){let b=[],c=[],d="",e=-1,f=a=>{e<0||(b.push({value:d,start:e,end:a}),d="",e=-1)},g=0;for(;g<a.length;){let h=a[g];if("\\"===h)"\n"!==a[g+1]&&(e<0&&(e=g),d+=a[g+1]??""),g+=2;else if("'"===h){e<0&&(e=g);let b=a.indexOf("'",g+1),c=b<0?a.length:b;d+=a.slice(g+1,c),g=c+1}else if('"'===h){e<0&&(e=g);let b=w(a,g+1);d+=b.text,g=b.end}else if("$"===h&&("("===a[g+1]||"{"===a[g+1])){e<0&&(e=g);let b=x(a,g+1);d+=a.slice(g,b),g=b}else if("`"===h){e<0&&(e=g);let b=y(a,g+1);d+=a.slice(g,b),g=b}else if("#"===h&&e<0){let b=a.indexOf("\n",g);g=b<0?a.length:b}else if(" "===h||" "===h||"\r"===h)f(g),g+=1;else if("\n"===h){f(g);let d=b[b.length-1];for(let{delimiter:e,stripTabs:f}of("&&"!==d&&"||"!==d&&"|"!==d&&b.push(";"),g+=1,c.splice(0)))for(;g<a.length;){let b=a.indexOf("\n",g),c=b<0?a.length:b,d=a.slice(g,c);if(g=c+1,(f?d.replace(/^\t+/,""):d)===e)break}}else if("<"===h&&"<"===a[g+1]&&"<"!==a[g+2]){f(g);let b=g+2,d="-"===a[b];for(d&&(b+=1);" "===a[b]||" "===a[b];)b+=1;let e="";for(;b<a.length&&!/[\s;&|<>()]/.test(a[b]);){let c=a[b];if("'"===c||'"'===c){let d=a.indexOf(c,b+1),f=d<0?a.length:d;e+=a.slice(b+1,f),b=f+1}else e+="\\"===c?a[b+1]??"":c,b+="\\"===c?2:1}e&&c.push({delimiter:e,stripTabs:d}),g=b}else";"===h?(f(g),b.push(";"),g+=";"===a[g+1]?2:1):"&"===h?"&"===a[g+1]?(f(g),b.push("&&"),g+=2):(">"===a[g+1]||/[<>]$/.test(d)?(e<0&&(e=g),d+=h):(f(g),b.push("&")),g+=1):"|"===h?"|"===a[g+1]?(f(g),b.push("||"),g+=2):d.endsWith(">")?(d+=h,g+=1):(f(g),b.push("|"),g+="&"===a[g+1]?2:1):("("===h||")"===h?f(g):(e<0&&(e=g),d+=h),g+=1)}return f(a.length),b}(a))"string"!=typeof b?f.push(b):"|"===b?g():"&&"===b||"||"===b?(h(),d.operators.push(b)):i("&"===b);return i(!1),{lists:b,commands:c,uncertain:/[(){}!`]/.test(a)}}function A(a){return a.slice(a.lastIndexOf("/")+1)}let B={bash:!0,sh:!0,zsh:!0,dash:!0},C={sudo:!0,env:!0,command:!0,exec:!0,nice:!0,nohup:!0,time:!0,timeout:!0,setsid:!0,"systemd-run":!0},D={"-u":!0,"--unit":!0,"-p":!0,"--property":!0,"-E":!0,"--setenv":!0,"--description":!0,"--slice":!0,"-M":!0,"--machine":!0,"-H":!0,"--host":!0,"--uid":!0,"--gid":!0,"--working-directory":!0,"-s":!0,"--signal":!0,"-k":!0,"--kill-after":!0},E={"--wait":!0,"-W":!0,"--pipe":!0,"-P":!0,"--pty":!0,"-t":!0,"--scope":!0},F={if:!0,then:!0,elif:!0,else:!0,do:!0,while:!0,until:!0};function G(a){let b=J(a);if(b>=0&&"eval"===a[b])return b+1<a.length?a.slice(b+1).join(" "):null;if(b<0||!Object.hasOwn(B,A(a[b]))||H(a,b))return null;for(let c=b+1;c<a.length&&/^[-+]/.test(a[c]);c+=1){if(/^-[a-zA-Z]*c[a-zA-Z]*$/.test(a[c]))return a[c+1]??null;(/^[-+][a-zA-Z]*[oO]$/.test(a[c])||"--rcfile"===a[c]||"--init-file"===a[c])&&(c+=1)}return null}function H(a,b){for(let c=b+1;c<a.length&&/^[-+]/.test(a[c]);c+=1){if(/^-[a-zA-Z]*n[a-zA-Z]*$/.test(a[c])||/^-[a-zA-Z]*o$/.test(a[c])&&"noexec"===a[c+1])return!0;(/^[-+][a-zA-Z]*[oO]$/.test(a[c])||"--rcfile"===a[c]||"--init-file"===a[c])&&(c+=1)}return!1}let I={command:/^-[a-zA-Z]*[vV]/,sudo:/^(?:-[a-zA-Z]*[lvVhK]|--(?:list|validate|version|help|remove-timestamp)$)/};function J(a){let b=!1,c="";for(let d=0;d<a.length;d+=1){let e=a[d];if(!(/^[A-Za-z_]\w*=/.test(e)||!b&&Object.hasOwn(F,e))){if(b&&(e.startsWith("-")||/^\d+(?:\.\d+)?[smhd]?$/.test(e))){if(Object.hasOwn(I,c)&&I[c].test(e))return -1;"command"!==c&&Object.hasOwn(D,e)&&(d+=1);continue}if(!Object.hasOwn(C,A(e)))return d;b=!0,c=A(e)}}return -1}let K=/(?:^|\/)wsl\/update\.sh$/;function L(a,b=0){let c=G(a);if(null!==c)return b<3&&z(c).commands.some(a=>L(a.words,b+1));let d=J(a);if(d<0)return!1;if(K.test(a[d]))return!0;if(!Object.hasOwn(B,A(a[d]))||H(a,d))return!1;let e=a.slice(d+1).find(a=>!a.startsWith("-"));return void 0!==e&&K.test(e)}function M(a){let b=J(a),c=b<0?a:a.slice(0,b),d=c.map(A);return d.includes("systemd-run")?!c.some(a=>Object.hasOwn(E,a)):!!(d.includes("sudo")&&c.some(a=>"--background"===a||/^-[a-zA-Z]*b[a-zA-Z]*$/.test(a)))||d.includes("setsid")&&!c.includes("-w")&&!c.includes("--wait")}function N(a){let[b]=a.pipelines;return 1!==a.pipelines.length||1!==b.commands.length||b.negated?null:b.commands[0]}function O(a){if(a.every(a=>/^[A-Za-z_]\w*=/.test(a)))return!0;let[b,...c]=a;return"cd"===b?c.length<=1:"export"===b?c.every(a=>/^[A-Za-z_]\w*=/.test(a)):"set"===b&&c.every(a=>/^[-+][a-zA-Z]+$/.test(a)&&!/^-[a-zA-Z]*n/.test(a)||"pipefail"===a)}let P={tail:!0,head:!0,cat:!0,tee:!0},Q=/(?:^|[^\w-])(?:tests?|typecheck|tsc|lint|eslint|vitest|jest|pytest|build|check|verify|smoke)(?![\w])/i,R={bun:!0,bunx:!0,npm:!0,npx:!0,pnpm:!0,yarn:!0,node:!0,python:!0,python3:!0,deno:!0},S={"--help":!0,"-h":!0,"--version":!0},T=Object.fromEntries(["-C","-r","--allow-fs-read","--allow-fs-write","--build-snapshot-config","--conditions","--cpu-prof-dir","--debug-port","--inspect-port","--experimental-config-file","--experimental-default-config-file","--experimental-test-isolation","--test-isolation","--report-dir","--report-directory","--cpu-prof-interval","--cpu-prof-name","--diagnostic-dir","--disable-proto","--disable-warning","--dns-result-order","--env-file","--env-file-if-exists","--experimental-loader","--experimental-package-map","--experimental-sea-config","--experimental-test-tag-filter","--heap-prof-dir","--heap-prof-interval","--heap-prof-name","--heapsnapshot-near-heap-limit","--heapsnapshot-signal","--icu-data-dir","--import","--input-type","--inspect-publish-uid","--loader","--localstorage-file","--max-http-header-size","--max-old-space-size-percentage","--network-family-autoselection-attempt-timeout","--openssl-config","--redirect-warnings","--report-filename","--report-signal","--require","--run","--secure-heap","--secure-heap-min","--snapshot-blob","--test-concurrency","--test-coverage-branches","--test-coverage-exclude","--test-coverage-functions","--test-coverage-include","--test-coverage-lines","--test-global-setup","--test-name-pattern","--test-random-seed","--test-reporter","--test-reporter-destination","--test-rerun-failures","--test-shard","--test-skip-pattern","--test-timeout","--title","--tls-cipher-list","--tls-keylog","--trace-event-categories","--trace-event-file-pattern","--trace-require-module","--unhandled-rejections","--use-largepages","--v8-pool-size","--watch-kill-signal","--watch-path"].map(a=>[a,!0]));function U(a){let b=J(a);if(b<0)return!1;let c=A(a[b]);if("test"===c||"["===c||a.slice(b+1).some(a=>Object.hasOwn(S,a)))return!1;if(Q.test(c))return!0;if(!Object.hasOwn(R,c))return!1;if("node"===c&&function(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("--test"===b)return!0;if("--"===b||!b.startsWith("-"))break;Object.hasOwn(T,b)&&(c+=1)}return!1}(a,b+1))return!0;let d=function(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("-m"===b)return a[c+1];if(/^-[a-zA-Z]*[cep]/.test(b)||/^--(?:eval|print)(?:=|$)/.test(b))break;if(!b.startsWith("-")){if("run"===b||"exec"===b||"x"===b||"dlx"===b)return a.slice(c+1).find(a=>!a.startsWith("-"));return b}}}(a,b+1);return void 0!==d&&Q.test(d)}let V={"-C":!0,"-c":!0,"--git-dir":!0,"--work-tree":!0,"--namespace":!0},W={commit:{"--dry-run":!0,"-h":!0,"--help":!0},push:{"--dry-run":!0,"-n":!0,"-h":!0,"--help":!0,"--delete":!0,"-d":!0}};function X(a){let b=J(a);if(b<0||"git"!==A(a[b]))return null;for(let c=b+1;c<a.length;c+=1)if(Object.hasOwn(V,a[c]))c+=1;else if(!a[c].startsWith("-"))return{name:a[c],at:c};return null}function Y(a,b=0,c){let d=G(a);if(null!==d)return b<3&&z(d).commands.some(a=>Y(a.words,b+1,c));let e=X(a);if(!e||"commit"!==e.name&&"push"!==e.name||void 0!==c&&e.name!==c)return!1;let f=W[e.name];return!a.slice(e.at+1).some(a=>Object.hasOwn(f,a)||"push"===e.name&&/[nd]/.test(function(a){if(!/^-[a-zA-Z0-9]/.test(a))return"";let b="";for(let c of a.slice(1)){if("o".includes(c)||!/[a-zA-Z0-9]/.test(c))break;b+=c}return b}(a)))}function Z(a){return O(a)||null!==X(a)}let $={check:({words:a})=>U(a),commit:({words:a})=>Y(a),ci:({words:a})=>{let b=J(a);return b>=0&&"gh"===A(a[b])&&"run"===a[b+1]&&"watch"===a[b+2]&&a.includes("--exit-status")},deploy:a=>L(a.words)},_={test:"test",tests:"test",vitest:"test",jest:"test",pytest:"test",typecheck:"typecheck",tsc:"typecheck",lint:"lint",eslint:"lint",build:"build",check:"verify",verify:"verify",smoke:"smoke"};function aa(a){return!a||"object"!=typeof a||"bash"!==a.toolName||!a.input||"object"!=typeof a.input||Array.isArray(a.input)?null:("string"==typeof a.input.command?a.input.command.trim():"")||null}let ab={"$?":!1,"${PIPESTATUS[0]}":!0};function ac(a,b){let c=am(b);if("notRun"===c)return[];let d=c?void 0:b,e=z(a),f=[];if(e.commands.some(({words:a})=>(function a(b,c=0){let d=G(b);return null!==d?c<3&&z(d).commands.some(b=>a(b.words,c+1)):U(b)})(a))&&f.push("check"),e.commands.some(({words:a})=>Y(a))&&f.push("commit"),e.commands.some(({words:a})=>(function a(b,c=0){let d=G(b);if(null!==d)return c<3&&z(d).commands.some(b=>a(b.words,c+1));let e=J(b);return e>=0&&"gh"===A(b[e])&&"run"===b[e+1]&&["watch","view","list"].includes(b[e+2])})(a))&&f.push("ci"),e.commands.some($.deploy)&&f.push("deploy"),0===f.length)return[];let g=d?t(d):null,h=null===g?!!d?.isError:0!==g,i=f.length>1?{stages:f,failed:h}:void 0,j=d?aB(d):"";return f.map(a=>{var b;let c,f,k,l="commit"===a?Z:O,m=function a(b,c,d=O,e=0){let{lists:f}=b,g=[],h=b.uncertain,i=!1;return f.forEach((b,j)=>{for(let k of(b.pipelines.some(a=>a.commands.some(({words:a})=>a.some(a=>a.includes("pipefail"))))&&(i=!1),b.pipelines)){let l=!1;for(let m of k.commands){let n=e<3?G(m.words):null,o=null===n?null:a(z(n),c,d,e+1);if(o&&o.decisive.length>0)g.push(...o.decisive);else if(c(m))g.push(m);else{let a=J(m.words);l&&i&&a>=0&&Object.hasOwn(P,A(m.words[a]))||d(m.words)||function(a,b){if(b!==a.length-1||a[b].background)return!1;let c=N(a[b])?.words;return c?.[0]==="exit"&&(1===c.length||2===c.length&&"$?"===c[1])}(f,j)||(h=!0);continue}l=!0,(o?.reach==="masked"||k.negated||k.commands.length>1&&!i||b.operators.includes("||")||b.background||M(m.words)||!function(a,b){if(b===a.length-1)return!0;let c=a[a.length-1],d=N(c)?.words;return!!d&&"exit"===d[0]&&!c.background&&b===a.length-2&&(1===d.length||2===d.length&&"$?"===d[1])}(f,j))&&(h=!0)}}let k=N(b)?.words;!b.background&&k?.[0]==="set"&&3===k.length&&"pipefail"===k[2]&&(/^-[a-zA-Z]*o$/.test(k[1])?i=!0:/^\+[a-zA-Z]*o$/.test(k[1])&&(i=!1))}),{reach:0===g.length?"absent":h?"masked":"carried",decisive:g}}(e,$[a],l),n="check"===a&&m.decisive.some(({words:a})=>a.includes("--if-present")),o=d?(b=$[a],c=new Map,f=e.lists.map(a=>(function(a){let b=a&&!a.background?N(a)?.words:void 0;if(!b||"echo"!==b[0]||b.length<2)return null;let c=b.slice(1);if(c.some(a=>a.startsWith("-")||/^(?:\d*[<>]|&>)/.test(a)))return null;let d=c.join(" ");for(let[a,b]of Object.entries(ab)){let c=d.indexOf(a);if(c<0||d.indexOf(a,c+1)>=0)continue;let e=d.slice(0,c),f=d.slice(c+a.length);if(/[$`\\]/.test(e+f)||!/[^\s\d]/.test(e))break;return{prefix:e,suffix:f,first:b}}return null})(a)),k=j.split("\n").map(a=>a.trimEnd()),e.lists.forEach((a,d)=>{let e=f[d+1];if(!e||a.background||a.operators.includes("||"))return;let g=a.pipelines[a.pipelines.length-1],h=a.pipelines.slice(0,-1);if(g.negated||h.some(a=>a.negated||1!==a.commands.length||!l(a.commands[0].words)))return;let i=e.first||1===g.commands.length?g.commands[0]:void 0;if(!i||!b(i)||M(i.words)||/[(){}!`]/.test(i.text))return;let j=f.filter(a=>a?.prefix===e.prefix&&a.suffix===e.suffix),m=RegExp(`^${e.prefix.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(-?\\d+)${e.suffix.trimEnd().replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`),n=k.flatMap(a=>{let b=m.exec(a);return b?[{code:Number(b[1]),line:a}]:[]});if(n.length!==j.length)return;let o=f.slice(0,d+2).filter(a=>j.includes(a)).length-1;c.set(i,n[o])}),c):new Map,p=m.decisive.flatMap(a=>o.get(a)??[]),q=p.length>0&&p.length===m.decisive.length?p.find(({code:a})=>0!==a)??p[0]:null;return{stage:a,state:q?0!==q.code?"failed":n?"unverified":"passed":h?i?"unverified":"failed":null===g?"unobserved":"carried"!==m.reach||n?"unverified":"passed",exitCode:g,labels:"check"===a?function(a){let b=[];for(let{words:c}of a){let a=J(c);c.forEach((c,d)=>{if(d!==a||"test"!==c)for(let a of c.replace(/^-+/,"").toLowerCase().split(":")){let c=Object.hasOwn(_,a)?_[a]:void 0;c&&!b.includes(c)&&b.push(c)}})}return b}(m.decisive):[],...i?{compound:i}:{},...q?{evidence:q.line}:{}}})}let ad=/\.(?:md|mdx|markdown|txt)$/i,ae=/^docs?$/i,af={read:!0,grep:!0,glob:!0,find:!0,ls:!0,skim:!0,web_search:!0,fetch:!0,ast_grep:!0,lsp:!0,recall:!0,reflect:!0},ag={multiedit:!0,notebookedit:!0,draft:!0},ah={rename:!0,rename_file:!0},ai={passed:"done",failed:"failed",unverified:"unverified",unobserved:"unobserved"};function aj(a){return a.split("\n")[0].trim()||void 0}let ak=/^\[[^\]\n]*? ([0-9a-f]{7,40})\] (.+)$/m,al=/^\s*\+?[0-9a-f]{7,40}\.{2,3}([0-9a-f]{7,40})\s+\S+\s+->\s+\S+/m;function am(a){let b=a?.details;return b&&"object"==typeof b?"__synthetic"in b&&!0===b.__synthetic&&"executed"in b&&!1===b.executed?"notRun":"__interrupted"in b&&!0===b.__interrupted?"interrupted":null:null}let an=/\btool\.git_finalize\s*\(/,ao=/\bCommitted and pushed ([0-9a-f]{40})\b|\bcommitSha["']?\s*:\s*["']([0-9a-f]{40})["']/,ap=/\bgit_finalize failed\b|\bok["']?\s*:\s*false\b|\bstage["']?\s*:\s*["'](?!complete["'])[\w-]+["']/,aq=/["']?\bmessage["']?\s*:\s*(["'`])((?:\\[\s\S]|(?!\1)[^\\])*)\1/,ar=/^bg_\d+$/;function as(a,b){let c=/Command exited with code (-?\d+)\s*$/.exec(b.trimEnd());return{jobId:a,text:b,exitCode:c?Number(c[1]):null}}function at(a){return"passed"===a||"failed"===a||"done"===a}function au(a){let b=null;for(let c of a.values())"failed"===c.outcome&&(!b||c.order>b.order)&&(b=c);return b?.stage??null}let av={failed:6,running:5,unverified:4,unobserved:3,stale:2,passed:1,done:0};function aw(a){return"stale"!==a&&(at(a)||"running"===a)}function ax(a){if("ci"!==a.stage)return null;let b=z(a.command).commands.flatMap(({words:a})=>aD(a)).map(a=>"run"===a[0]&&("watch"===a[1]||"view"===a[1])?aH(a):null);return b.length>0&&b.every(a=>null!==a)?b:null}let ay={"publish public mirror":!0,"publish-public.yml":!0,".github/workflows/publish-public.yml":!0},az={ci:!0,"ci.yml":!0,".github/workflows/ci.yml":!0},aA=/^[0-9a-f]{40}$/i;function aB(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"text"in a&&"string"==typeof a.text?a.text:"").join("\n"):""}function aC(a){let b=[];for(let c of a.split("\n")){let a,d=c.trim();if(d.startsWith("{")||d.startsWith("[")){try{a=JSON.parse(d)}catch{continue}for(let c of Array.isArray(a)?a:[a])c&&"object"==typeof c&&!Array.isArray(c)&&b.push(c)}}return b}function aD(a,b=0){let c=G(a);if(null!==c)return b<3?z(c).commands.flatMap(a=>aD(a.words,b+1)):[];let d=J(a);return d>=0&&"gh"===A(a[d])?[a.slice(d+1)]:[]}function aE(a,b){for(let c=0;c<a.length;c+=1)for(let d of b){if(a[c]===d)return a[c+1]??null;if(d.startsWith("--")&&a[c].startsWith(`${d}=`))return a[c].slice(d.length+1)}return null}let aF={"-R":!0,"--repo":!0,"-j":!0,"--job":!0,"--interval":!0,"-i":!0,"--json":!0,"-q":!0,"--jq":!0,"-t":!0,"--template":!0};function aG(a){for(let b=2;b<a.length;b+=1){if(Object.hasOwn(aF,a[b])){b+=1;continue}if(!a[b].startsWith("-"))return a[b]}return null}function aH(a){let b=aG(a);return null!==b&&/^\d+$/.test(b)?b:null}let aI=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/actions\/runs\/\d+/i;function aJ(a,b){if(!b||b.isError||!/\bgh\b/.test(a)||0!==t(b))return[];let c=z(a).commands.flatMap(({words:a})=>aD(a)).filter(a=>"run"===a[0]&&("list"===a[1]||"view"===a[1]));if(0===c.length)return[];let d=1===c.length?c[0]:null,e=d?.[1]==="list"?aE(d,["-c","--commit"])?.toLowerCase():void 0,f=e&&/^[0-9a-f]{7,40}$/.test(e)?e:null,g=aB(b);return f||g.includes("headSha")?aC(g).flatMap(a=>{let b="string"==typeof a.headSha?a.headSha.toLowerCase():f;if(null===b)return[];let c="string"==typeof a.url?aI.exec(a.url)?.[1]??null:null;return[{id:"number"==typeof a.databaseId||"string"==typeof a.databaseId?String(a.databaseId):d?.[1]==="view"?aH(d):null,repo:(c??(d?aE(d,["-R","--repo"]):null))?.toLowerCase()??null,sha:b,status:a.status,conclusion:a.conclusion,branch:"string"==typeof a.headBranch?a.headBranch:d?aE(d,["-b","--branch"]):null,workflow:("string"==typeof a.workflowName?a.workflowName:"string"==typeof a.name&&"databaseId"in a?a.name:d?aE(d,["-w","--workflow"]):null)?.toLowerCase()??null,title:"string"==typeof a.displayTitle?a.displayTitle:null}]}):[]}let aK=/\b\d{9,12}\b/g,aL=/\b(?=[0-9a-f]*[a-f])[0-9a-f]{7,40}\b/;function aM(a,b){if(a?.type!=="toolCall")return[];let c=aa(a);return null===c?[]:aJ(c,b).flatMap(a=>a.repo&&a.sha&&a.branch&&a.workflow&&"completed"===a.status&&"success"===a.conclusion&&Object.hasOwn(az,a.workflow)?[{repo:a.repo,sha:a.sha,branch:a.branch,workflow:a.workflow}]:[])}let aN="Public tree already matches; nothing to publish";function aO(a){let b=null===a?null:/^\$(?:\{([A-Za-z_]\w*)\}|([A-Za-z_]\w*))$/.exec(a);return b?b[1]??b[2]:null}function aP(a){let b="run"===a[0]&&"list"===a[1]?aE(a,["-w","--workflow"])?.toLowerCase():void 0;return void 0!==b&&Object.hasOwn(ay,b)}function aQ(a,b){let c=new Map,d=[];for(let{words:e}of z(a).commands){let a=e.map(a=>/^([A-Za-z_]\w*)=([\s\S]*)$/.exec(a));if(e.length>0&&a.every(a=>null!==a)){for(let b of a){if(!b)continue;let a=/^\$\(([\s\S]*)\)$/.exec(b[2])?.[1],d=void 0===a?[]:z(a).commands.flatMap(a=>aD(a.words));c.set(b[1],1===d.length&&aP(d[0]))}continue}for(let a of aD(e)){if(aP(a)){d.push({args:a,publish:!0});continue}let e="run"===a[0]&&("watch"===a[1]||"view"===a[1])?aG(a):null,f=aO(e),g=null!==f?!0===c.get(f):null!==e&&/^\d+$/.test(e)&&b(e);d.push({args:a,publish:g})}}return d}function aR(a,b){let c=aQ(a,b);return c.length>0&&c.every(({publish:a})=>a)}function aS(a,b){if(!a||!b)return!1;let[c,d]=a.length<=b.length?[a.toLowerCase(),b.toLowerCase()]:[b.toLowerCase(),a.toLowerCase()];return c.length>=7&&/^[0-9a-f]+$/.test(d)&&d.startsWith(c)}function aT(a,b,c){if(aS(a.sha,b.step.commit))return!0;let{title:d}=b.step;return!!d&&!!a.title&&!!a.repo&&!(a.order<=b.order)&&!!a.workflow&&!!Object.hasOwn(az,a.workflow)&&[...c.publishRuns.values()].some(c=>c.order>b.order&&null!==c.sha&&aS(c.sha,b.step.commit)&&null!==c.repo&&c.repo!==a.repo)&&function(a,b){if(a===b)return!0;let c=a.endsWith("…")?a.slice(0,-1):null;return null!==c&&c.length>=20&&b.startsWith(c)}(a.title,d)}let aU={failure:!0,cancelled:!0,timed_out:!0,startup_failure:!0},aV=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) READY ([0-9a-f]{7,40})\b/,aW=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) (ROLLED_BACK|ROLLBACK_FAILED|FAIL)\b/,aX=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) START old=\S* target=([0-9a-f]{7,40})\b/,aY={running:!0,unobserved:!0,unverified:!0,failed:!0,stale:!0};function aZ(a){return a.flatMap(a=>a.tasks.flatMap(b=>"completed"===b.status||"abandoned"===b.status?[]:[{phase:a.name,content:b.content,status:b.status,blocker:b.blocker??null}]))}function a$(a,b,c,d=0,e=[]){for(let f=Math.max(0,d);f<Math.min(a.length,c);f++){let c=a[f];if("assistant"===c.role)for(let a of c.content??[])"toolCall"===a.type&&e.push(...aM(a,b.get(a.toolCallId)))}return e}function a_(a,b,c){if(0===a.length)return null;let d=[],l=a=>{if("message"in a)d.push(a.message);else{let b=d.at(-1);b&&(d[d.length-1]={...b,trackerTodos:[...b.trackerTodos??[],a.trackerTodo]})}},m=-1;for(let b of a)"message"in b&&"user"===b.message.role&&!e(b.message)&&(m=d.length),l(b);let p=null;for(let a of b){if("message"in a){if("user"===a.message.role&&!e(a.message))break;p=a.entryId}l(a)}if(null===p)return null;let q=new Map;for(let a of d)"toolResult"===a.role&&q.set(a.toolCallId,a);let w=a$(d,q,m+1),{files:x,checks:y,remaining:A,span:B,flow:C}=function(a,b,c,d,e,l=[]){let m=function(a,b,c){let d=[];for(let e=Math.max(0,b);e<Math.min(a.length,c);e++){let b=a[e];"assistant"===b.role&&d.push(...b.content??[])}return d}(a,c,d),p=function(a,b,c,d){let e=Math.min(a.length,d),i=new Map;for(let b=Math.max(0,c);b<e;b++){let c=a[b];"toolResult"===c.role&&i.set(c.toolCallId,b)}let j=[];for(let d=Math.max(0,c-1);d<e;d++){let e=a[d];if(d>=c&&"assistant"===e.role)for(let a of e.content??[]){if("toolCall"!==a.type||!h(a.toolName))continue;let c=g(a,b.get(a.toolCallId));"authoritative"===c.kind&&j.push({at:i.get(a.toolCallId)??d,phases:c.phases})}for(let a of e.trackerTodos??[]){let b=function(a){if(!Array.isArray(a))return null;let{phases:b,malformed:c}=f(a);return c?null:b}(a);b&&j.push({at:d+.5,phases:b})}}let k=null;for(let a of j)(!k||a.at>=k.at)&&(k=a);return k?k.phases:null}(a,b,c,d);return{...function(a,b,c){let d=[],e=[],f=null;for(let c of a){if("toolCall"!==c.type)continue;if("task"===c.toolName){e.push(c);continue}if(h(c.toolName)){let a=g(c,b.get(c.toolCallId));"authoritative"===a.kind&&(f=a.phases);continue}let a=function(a,b){let c=aa(a),d=null===c?void 0:ac(c,b).find(a=>"check"===a.stage);return null!==c&&d?{toolCallId:a.toolCallId,command:c,state:d.state,exitCode:d.exitCode,labels:d.labels,...d.compound?{compound:d.compound}:{}}:null}(c,b.get(c.toolCallId));a&&d.push(a)}return{checks:d,dispatchCalls:e,files:function(a,b,c){let d=new Set,e=[];for(let g of a){var f;if("toolCall"!==g.type||!(j(f=g.toolName)||k(f)))continue;let a=b?.get(g.toolCallId);if(a&&!a.isError)for(let b of n(g.input,a)){if(!s(b))continue;let a=i(b,c);!(!a||r(b,c))&&(d.has(a)||(d.add(a),e.push({filePath:a})))}}return e}(a,b,c),remaining:f?aZ(f):null}}(m,b,e),remaining:p?aZ(p):null,span:function(a,b,c){let d=null,e=null;for(let f=Math.max(0,b-1);f<Math.min(a.length,c);f++){let b=a[f];for(let a of[b.timestamp,"assistant"===b.role?b.completedAt:void 0])"number"==typeof a&&Number.isFinite(a)&&((null===d||a<d)&&(d=a),(null===e||a>e)&&(e=a))}return{startedAt:d,endedAt:e}}(a,c,d),flow:function(a,b,c=!1,d=[],e,f=[]){let g,h,l=[],m=[],n=1,p=new Map,q=-1,s=-1,w=new Map,x={publishRuns:new Map,watched:[],heads:[],ciHeads:[],nothingToPublish:[],runs:[]},y=Array.isArray(a)?a:[],A=b instanceof Map?b:new Map,B=function(a,b,c=[]){let d=new Map,e=new Map,f=new Map;for(let a of c)null!==a.after&&f.set(a.after,[...f.get(a.after)??[],a]);let g=(a,b)=>{for(let c of a){let a=e.get(c.jobId);a&&(e.delete(c.jobId),d.set(a.toolCallId,{...a.result,isError:!1,content:[{type:"text",text:c.text}],details:{...null===c.exitCode?{}:{exitCode:c.exitCode},backgroundJob:{jobId:c.jobId,after:b}}}))}};for(let c of Array.isArray(a)?a:[]){if(!c||"toolCall"!==c.type)continue;let a=b.get(c.toolCallId);if(a){let b="bash"===c.toolName||"eval"===c.toolName?function(a){let b=a.details,c=b&&"object"==typeof b&&"async"in b?b.async:null;if(c&&"object"==typeof c&&"jobId"in c&&"string"==typeof c.jobId&&ar.test(c.jobId))return c.jobId;let d=aB(a).trimStart();return d.startsWith("Backgrounded")?/\bBackgrounded as job (bg_\d+)\b/.exec(d)?.[1]??null:null}(a):null;b?e.set(b,{toolCallId:c.toolCallId,result:a}):d.set(c.toolCallId,a),"wait"===c.toolName&&g(function(a){let b=a.details,c=b&&"object"==typeof b&&"jobs"in b?b.jobs:null,d=(Array.isArray(c)?c:[]).flatMap(a=>{if(!a||"object"!=typeof a||!("id"in a)||!("status"in a)||!("resultText"in a)||"string"!=typeof a.id||!ar.test(a.id)||"completed"!==a.status&&"failed"!==a.status||"string"!=typeof a.resultText)return[];let b="exitCode"in a&&"number"==typeof a.exitCode?a.exitCode:null;return[{...as(a.id,a.resultText),...null===b?{}:{exitCode:b}}]});if(d.length>0)return d;let e=aB(a),f=[...e.matchAll(/^### (bg_\d+) \[\w+\] — (?:completed|failed)$/gm)];return f.map((a,b)=>{let c=(a.index??0)+a[0].length,d=e.slice(c,b+1<f.length?f[b+1].index:e.length),g=d.indexOf("\n```\n"),h=d.lastIndexOf("\n```");return as(a[1],g>=0&&h>g?d.slice(g+5,h):"")})}(a),c.toolCallId);let f="read"===c.toolName?function(a,b){let c=a.input.path,d="string"==typeof c?/^proc:\/\/(bg_\d+)$/.exec(c)?.[1]:void 0;if(!d)return null;let[e,...f]=aB(b).split("\n");return RegExp(`^1\\|${d} \\[\\w+\\] — (?:completed|failed)\\b`).test(e)?as(d,f.map(a=>a.replace(/^\d+\|/,"")).join("\n")):null}(c,a):null;f&&g([f],c.toolCallId)}for(let a of f.get(c.toolCallId)??[])g(function(a){let b=a.replace(/^\s*<system-notice>\s*\n?/,"").replace(/\s*<\/system-notice>\s*$/,""),c=/^Background job (bg_\d+) has (?:completed|failed)\b[^\n]*(?:\n|$)/.exec(b);if(c)return[as(c[1],b.slice(c[0].length))];let d=[...b.matchAll(/^── Job (\S+) .*──$/gm)];return d.flatMap((a,c)=>{if(!ar.test(a[1]))return[];let e=(a.index??0)+a[0].length;return[as(a[1],b.slice(e,c+1<d.length?d[c+1].index:b.length).replace(/^\n/,""))]})}(a.text),c.toolCallId)}return d}(y,A,Array.isArray(f)?f:[]),C=[];y.forEach((a,b)=>{let d;if(!a||"toolCall"!==a.type)return;let f=B.get(a.toolCallId);for(let g of(!function(a,b,c,d){let e=aa(b);if(null===e||!e.includes("gh"))return;let f=(b,c)=>{let e=a.publishRuns.get(b);e&&(null===c.sha||null!==e.sha)||a.publishRuns.set(b,{...c,order:e?.order??d})};for(let b of aJ(e,c))a.runs.push({...b,order:d}),b.id&&b.sha&&b.workflow&&Object.hasOwn(ay,b.workflow)&&f(b.id,{sha:b.sha,repo:b.repo});for(let a of function(a,b){if(!b||b.isError||0!==t(b))return[];let c=z(a).commands.flatMap(({words:a})=>aD(a)).filter(a=>"run"===a[0]&&"list"===a[1]);if(1!==c.length)return[];let d=aE(c[0],["-w","--workflow"])?.toLowerCase(),e=void 0!==d&&Object.hasOwn(ay,d),f=aE(c[0],["-R","--repo"])?.toLowerCase()??null;return aB(b).split("\n").flatMap(a=>{let b=a.trim();if(b.startsWith("{")||b.startsWith("["))return[];let c=b.toLowerCase();if(!e&&!Object.keys(ay).some(a=>c.includes(a)))return[];let d=b.match(aK)??[];return 1===d.length?[{id:d[0],sha:aL.exec(c)?.[0]??null,repo:f}]:[]})}(e,c))f(a.id,a);for(let e of aM(b,c))a.ciHeads.push({...e,order:d});for(let b of function(a,b){let c=z(a),d=c.commands.flatMap(({words:a})=>aD(a)).filter(a=>"api"===a[0]),e=!c.uncertain&&1===c.commands.length&&1===d.length,f=b&&!b.isError&&0===t(b)?aB(b).trim():"",g=[];for(let a of d){let b=a.slice(1).find(a=>/^\/?repos\//.test(a)),c=b?/^\/?repos\/([^/]+\/[^/]+)\/commits\/([^/?\s]+)$/.exec(b):null;if(!c)continue;let d=aE(a,["-q","--jq"]),h=null;if(e&&".sha"===d)h=f.split("\n")[0]?.trim();else if(e&&null===d&&f.startsWith("{"))try{h=JSON.parse(f.slice(0,f.lastIndexOf("}")+1)).sha}catch{}let i="string"==typeof h&&aA.test(h)?h.toLowerCase():null;g.push({repo:c[1].toLowerCase(),ref:c[2],sha:i})}return g}(e,c))a.heads.push({...b,order:d});let g=function(a,b){if(!b||b.isError||0!==t(b)||2!==a.split(aN).length)return null;let{lists:c}=z(a),d=0;for(;d<c.length&&["set","cd"].includes(N(c[d])?.words[0]??"");)d+=1;let e=d<c.length-1?function(a){let b=N(a)?.words,c=b?.length===1?/^([A-Za-z_]\w*)=\$\(([\s\S]*)\)$/.exec(b[0]):null;if(!c)return null;let d=z(c[2]),e=1===d.lists.length?N(d.lists[0]):null,f=e?.words[0]==="gh"?aD(e.words):[];if(1!==f.length||"run"!==f[0][0]||"list"!==f[0][1])return null;let g=aE(f[0],["-c","--commit"]),h=aE(f[0],["-w","--workflow"])?.toLowerCase();return g&&aA.test(g)&&h&&Object.hasOwn(ay,h)?{name:c[1],sha:g.toLowerCase()}:null}(c[d]):null;return e&&function(a,b){if(a.background||1!==a.pipelines.length)return!1;let[c]=a.pipelines,[d,e,...f]=c.commands;if(c.negated||!e||f.length>1||"gh"!==d.words[0])return!1;let g=aD(d.words);if(1!==g.length||"run"!==g[0][0]||"view"!==g[0][1]||!g[0].includes("--log"))return!1;let h=aG(g[0]);if(aO(h)!==b)return!1;for(let a=2;a<g[0].length;a+=1){let b=g[0][a];if("-R"===b||"--repo"===b)a+=1;else if(b!==h&&"--log"!==b&&!b.startsWith("--repo=")&&!/^2>/.test(b))return!1}let[i,...j]=e.words,k=j.filter(a=>a.startsWith("-")),l=j.filter(a=>!a.startsWith("-"));if("grep"!==i||!k.every(a=>/^-[oFas]+$/.test(a))||!k.some(a=>a.includes("o"))||1!==l.length||l[0]!==aN)return!1;let[m]=f;return!m||("head"===m.words[0]||"tail"===m.words[0])&&m.words.slice(1).every(a=>/^(?:-n?\d*|\d+)$/.test(a))}(c[c.length-1],e.name)&&c.slice(d+1,-1).flatMap(a=>a.pipelines.flatMap(({commands:a})=>a)).every(({words:a})=>(function(a,b){let[c,...d]=a;if("["===c||"[["===c||"test"===c||"exit"===c||"true"===c||":"===c||"sleep"===c)return!0;if("echo"===c||"printf"===c)return d.every(a=>!/`|\$\(/.test(a)&&!/public|tree|already|matches|nothing|publish/i.test(a)&&[...a.matchAll(/\$\{?([A-Za-z_]\w*|[?])/g)].every(a=>a[1]===b||"?"===a[1]));if("gh"!==c)return!1;let e=aD(a);return 1===e.length&&"run"===e[0][0]&&"watch"===e[0][1]&&aO(aG(e[0]))===b})(a,e.name))&&aB(b).split("\n").some(a=>a.trim()===aN)?e.sha:null}(e,c);g&&a.nothingToPublish.push({sha:g,order:d})}(x,a,f,b),Array.isArray(d=function(a,b,c,d){var e,f;if(!a.input||"object"!=typeof a.input||Array.isArray(a.input)||"string"!=typeof a.toolName)return null;let g=am(b);if("notRun"===g)return null;let h={toolCallId:a.toolCallId,attempt:0},l=c&&!g?"running":"unobserved",m=aa(a);if(null!==m){let a,c,d=(e=b,(c=(a=e?.details)&&"object"==typeof a&&"backgroundJob"in a?a.backgroundJob:null)&&"object"==typeof c&&"jobId"in c&&"after"in c&&"string"==typeof c.jobId&&"string"==typeof c.after?{jobId:c.jobId,after:c.after}:null);return ac(m,b).map(a=>{if("commit"===a.stage){var c;let d,e,f=b?"unobserved"===a.state&&function(a,b){if(b.isError)return!1;let{commands:c}=z(a),d=aB(b),e=a=>c.some(({words:b})=>Y(b,0,a));return(!e("commit")||ak.test(d))&&(!e("push")||al.test(d))}(m,b)?"done":ai[a.state]:l;return{...h,stage:"commit",..."done"===f?(d=(c=b)?aB(c):"",(e=ak.exec(d))?{commit:e[1],title:e[2].trim()}:{commit:al.exec(d)?.[1]??null}):{commit:null},docsOnly:!1,outcome:f}}let e=a.evidence??(d&&null!==a.exitCode?`Command exited with code ${a.exitCode}`:void 0),f=e&&d?`${d.jobId} \xb7 ${e}`:e,g="ci"===a.stage&&"failed"===a.state&&b?function(a,b){let c=z(a).commands.flatMap(({words:a})=>aD(a)),d=c.find(a=>"run"===a[0]&&"watch"===a[1]&&a.includes("--exit-status")),e=d?aG(d):null;if(null===e||!c.some(a=>"run"===a[0]&&"view"===a[1]&&a.includes("--json")&&aG(a)===e))return null;let f=aC(aB(b)).filter(a=>"completed"===a.status&&"string"==typeof a.conclusion),g=1===f.length?f[0].conclusion:null;return"string"!=typeof g||""===g||"success"===g||Object.hasOwn(aU,g)?null:g}(m,b):null;return{...h,stage:a.stage,command:m,exitCode:a.exitCode,labels:a.labels,outcome:g?"unverified":b?a.state:l,...a.compound?{compound:a.compound}:{},...f?{evidence:g?`${f} \xb7 ${g}`:f}:{},...g?{otherRun:{kind:"unjudged",conclusion:g}}:{}}})}let n=a.toolName.toLowerCase().split(/[.:/]/).pop()??"",p=g?void 0:b,q=p?.details&&"object"==typeof p.details?p.details:{};if("cross_review"===n){let b="resolve"===a.input.action?"resolve":"review";if(!p||p.isError)return{...h,stage:"review",action:b,findings:null,outcome:p?"failed":l};if("resolve"===b){if(!0===q.pass)return{...h,stage:"review",action:b,findings:0,outcome:"passed"};let a=Array.isArray(q.open)?q.open.length:null;return{...h,stage:"review",action:b,findings:a,outcome:!1===q.pass?"failed":"unobserved"}}let c=Array.isArray(q.findings)?q.findings.length:null;if(null!==c&&c>0)return{...h,stage:"review",action:b,findings:c,outcome:"failed"};let d=Array.isArray(q.reviewers)?q.reviewers:[];return!1===q.passable||d.some(a=>!a||"object"!=typeof a||!("status"in a)||"ok"!==a.status)?{...h,stage:"review",action:b,findings:c,outcome:"unverified",unusable:!0}:{...h,stage:"review",action:b,findings:c,outcome:null===c?"unobserved":"done"}}if("git_finalize"===n){let b="string"==typeof a.input.message?aj(a.input.message):void 0,c=b?{title:b}:{};if(!p)return{...h,stage:"commit",commit:null,docsOnly:!1,...c,outcome:l};let d=ao.exec(aB(p)),e=("string"==typeof q.commitSha&&""!==q.commitSha.trim()?q.commitSha.trim():null)??d?.[1]??d?.[2]??null,f=p.isError||!1===q.ok,g=!f&&(!0===q.ok||null!==e),i=a.input.files,j=g&&Array.isArray(i)&&i.length>0&&i.every(a=>"string"==typeof a&&(ad.test(a)||a.split(/[\\/]/).slice(0,-1).some(a=>ae.test(a))));return{...h,stage:"commit",commit:g?e:null,docsOnly:j,...c,outcome:g?"done":f?"failed":"unobserved"}}if("eval"===n)return function(a,b,c){let d=function(a){if("string"==typeof a.code)return a.code;let b=a.cells;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"code"in a&&"string"==typeof a.code?a.code:"").join("\n"):""}(a.input);if(!an.test(d))return null;let e=aq.exec(d)?.[2],f=void 0===e?void 0:aj(e.replace(/\\n/g,"\n").replace(/\\(["'`\\])/g,"$1")),g={toolCallId:a.toolCallId,attempt:0,stage:"commit",docsOnly:!1,...f?{title:f}:{}};if(!b)return{...g,commit:null,outcome:c};let h=aB(b),i=ao.exec(h),j=i?(i[1]??i[2]).toLowerCase():null,k=ap.test(h);return j&&!k?{...g,commit:j,outcome:"done"}:{...g,commit:null,outcome:!j&&(k||b.isError)?"failed":"unobserved"}}(a,p,l);if(function(a,b){if("task"===b||Object.hasOwn(ag,b))return!0;if("lsp"===b)return"string"==typeof a.input.action&&Object.hasOwn(ah,a.input.action);if(!j(a.toolName)&&!k(a.toolName))return!1;let c=a.input.file_path??a.input.path;return"string"!=typeof c||/^[a-zA-Z]:[\\/]/.test(c)||!/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(c)}(a,n)){let e;return!g&&b?.isError?null:(j(a.toolName)||k(a.toolName))&&(f=a.input,(e=o(f,p)).length>0&&e.every(a=>r(a,d)))?{...h,stage:"investigate",outcome:g?"unobserved":b||!c?"done":"running"}:{...h,stage:"edit",outcome:p?"done":l,..."task"===n?{dispatch:!0}:{},...!function(a,b,c){if(!b||!(j(a.toolName)||k(a.toolName)))return!1;let d=o(a.input,b);return d.length>0&&d.every(a=>(function(a,b){if(a.split(/[\\/]/).includes(".."))return!1;let c=b?i(b)??b:void 0,d=function(a,b){if(!b)return a;let c=u(a),d=u(b).replace(/\/$/,"");return c.startsWith(d+"/")?c.slice(d.length+1):a}(i(a,b)??a,c);if(/^[\\/]/.test(d)||/^[a-zA-Z]:[\\/]/.test(d))return!1;let e=d.split(/[\\/]/).filter(a=>""!==a&&"."!==a);return"HANDOFF.md"===e.at(-1)||"doc"===e[0]&&"history"===e[1]&&e.length>2})(a,c))}(a,p,d)?{}:{recordOnly:!0}}}return Object.hasOwn(af,n)?{...h,stage:"investigate",outcome:g?"unobserved":b||!c?"done":"running"}:null}(a,f,c,e))?d:d?[d]:[]))C.push({step:g,order:b})}),g=null,h=!1,C.forEach((a,b)=>{let{step:c,order:d}=a;if("commit"===c.stage&&"done"===c.outcome&&c.commit&&(g={step:{...c,commit:c.commit},order:d},h=!1),"edit"!==c.stage||"done"!==c.outcome||c.dispatch||c.recordOnly||(h=!0),"ci"!==c.stage||!g)return;let e=g,f=z(c.command).commands.flatMap(({words:a})=>aD(a)).find(a=>"run"===a[0]&&"watch"===a[1]);if(f){let a,g=aH(f),i=a=>(x.publishRuns.get(a)?.order??1/0)<=d;if((a=aQ(c.command,i).filter(({args:a})=>"run"===a[0]&&"watch"===a[1])).length>0&&a.every(({publish:a})=>a)){aR(c.command,i)||"passed"!==c.outcome&&"failed"!==c.outcome||(g&&"passed"===c.outcome&&x.watched.push({id:g,order:d}),C[b]={order:d,step:{...c,outcome:"unverified",evidence:void 0,otherRun:{kind:"publish",outcome:c.outcome}}});return}let j=g?x.runs.filter(a=>a.id===g):[],k=j.find(a=>null!==a.sha)?.sha;if(!k||j.some(a=>aT(a,e,x))){k&&h&&"passed"===c.outcome&&(C[b]={order:d,step:{...c,stale:!0}});return}if("passed"===c.outcome||"failed"===c.outcome){let a=k.slice(0,7);C[b]={order:d,step:{...c,outcome:"unverified",evidence:`run ${g} \xb7 ${a}`,otherRun:{kind:"commit",sha:a,outcome:c.outcome}}}}return}if("unverified"!==c.outcome)return;let i=x.runs.find(a=>a.order===d&&null!==a.workflow&&Object.hasOwn(az,a.workflow)&&aT(a,e,x));if(!i||"completed"!==i.status||"string"!=typeof i.conclusion)return;let j="success"===i.conclusion?"passed":Object.hasOwn(aU,i.conclusion)?"failed":null;j&&(C[b]={order:d,step:{...c,outcome:j,evidence:`run ${i.id??"?"} \xb7 ${i.status} ${i.conclusion}`,..."passed"===j&&h?{stale:!0}:{}}})}),C.forEach((a,b)=>{let{step:c,order:d}=a;if("deploy"!==c.stage||"unverified"!==c.outcome&&"unobserved"!==c.outcome)return;let e=function(a){let b=[],c=(a,d)=>{let e=G(a);if(null!==e){if(d<3)for(let a of z(e).commands)c(a.words,d+1);return}if(!L(a))return;let f=J(a),g=K.test(a[f])?f:a.findIndex((a,b)=>b>f&&!a.startsWith("-")),h=a[g+1];b.push(void 0!==h&&/^[0-9a-f]{7,40}$/i.test(h)?h.toLowerCase():null)};for(let{words:b}of z(a).commands)c(b,0);return 1===b.length?b[0]:null}(c.command),f=A.get(c.toolCallId);if("number"!=typeof f?.timestamp)return;let g=f.details,h=g&&"object"==typeof g&&"wallTimeMs"in g&&"number"==typeof g.wallTimeMs?g.wallTimeMs:0,i=1e3*Math.floor((f.timestamp-h)/1e3);for(let a=d;a<y.length;a+=1){let f=y[a],g=f?.type==="toolCall"?B.get(f.toolCallId):void 0;if(g)for(let a of aB(g).split("\n")){let f=a.trim().replace(/^\d+[:-](?=\d{4}-\d\d-\d\dT)/,"");if(null===e){let a=aX.exec(f);a&&Date.parse(a[1])>=i&&(e=a[2]);continue}let g=aV.exec(f);if(g&&Date.parse(g[1])>=i&&aS(g[2],e)){C[b]={order:d,step:{...c,outcome:"passed",evidence:`${g[1]} READY ${g[2].slice(0,12)}`}};return}let h=aW.exec(f);if(h&&Date.parse(h[1])>=i){C[b]={order:d,step:{...c,outcome:"failed",evidence:f.length>120?`${f.slice(0,119)}…`:f}};return}}}});let D=(a,b)=>null!==a&&(x.publishRuns.get(a)?.order??1/0)<=b;for(let{step:a,order:b}of C){let c=a;if("ci"===c.stage){let a=z(c.command).commands.flatMap(({words:a})=>aD(a)).find(a=>"run"===a[0]&&"watch"===a[1]),d=a?aH(a):null;d&&"passed"===c.outcome&&x.watched.push({id:d,order:b}),!c.compound&&aR(c.command,a=>D(a,b))&&(c={toolCallId:c.toolCallId,attempt:c.attempt,stage:"investigate",outcome:"passed"===c.outcome||"unverified"===c.outcome?"done":c.outcome})}if("edit"!==c.stage||"done"!==c.outcome||c.dispatch){if("check"===c.stage||"review"===c.stage||"ci"===c.stage){let a="check"===c.stage?`check:${c.command}`:c.stage,b=p.get(a);(b?.outcome!=="failed"||at(c.outcome))&&p.set(a,{stage:c.stage,outcome:c.outcome,order:l.length})}}else{let a=au(p);a&&(m.push({from:a,attempt:n}),n+=1),p=new Map,q=l.length,c.recordOnly||(s=l.length)}c.attempt=n,w.set(c,b),l.push(c)}let E=!1;l.forEach((a,b)=>{b<("commit"===a.stage||E&&("ci"===a.stage||"deploy"===a.stage)?s:q)&&"investigate"!==a.stage&&"edit"!==a.stage&&("passed"===a.outcome||"done"===a.outcome)&&(a.stale=!0),"commit"===a.stage&&"done"===a.outcome&&(E=!0)});let F=l.filter(a=>"commit"===a.stage&&"done"===a.outcome&&a.attempt===n).at(-1),H=F?w.get(F)??-1:-1,I=F&&!F.stale&&F.commit&&aA.test(F.commit)?{sha:F.commit.toLowerCase(),order:H}:null,M=I?function(a,b,c){let d=a.watched.find(({id:c,order:d})=>{let e=a.publishRuns.get(c);return d>b.order&&e?.sha===b.sha&&e.order>b.order&&e.order<=d});if(!d)return null;let e=new Map;for(let b of a.heads)b.order>d.order&&e.set(`${b.repo}#${b.ref}`,b);let f=[...c,...a.ciHeads.filter(a=>a.order<b.order)];for(let a of e.values())if(null!==a.sha&&a.sha!==b.sha&&f.some(b=>b.repo===a.repo&&b.sha===a.sha&&b.branch===a.ref))return{kind:"publicHeadUnchanged",repo:a.repo,ref:a.ref,sha:a.sha,runId:d.id};return null}(x,I,d)??(x.nothingToPublish.some(({sha:a,order:b})=>a===I.sha&&b>I.order)?{kind:"nothingToPublish",commit:I.sha}:null):null;if(M?.kind==="nothingToPublish"){let a=M.commit;l.forEach((b,c)=>{var d;let e,f=w.get(b)??-1;if("ci"!==b.stage||"unverified"!==b.outcome||f<=H||!x.nothingToPublish.some(b=>b.order===f&&b.sha===a)&&(d=b.command,!((e=z(d).commands.flatMap(({words:a})=>aD(a))).length>0&&e.every(b=>"run"===b[0]&&"list"===b[1]&&aE(b,["-c","--commit"])?.toLowerCase()===a))))return;let g={toolCallId:b.toolCallId,attempt:b.attempt,stage:"investigate",outcome:"done"};l[c]=g,w.set(g,f)})}let O=v.map(a=>{let b=l.filter(b=>b.stage===a),c="investigate"===a?b:b.filter(a=>a.attempt===n);return{stage:a,status:function(a,b){if(0===b.length)return"waiting";if("check"!==a){let a=new Set,c=null;for(let d of b){let b=d.stale?"stale":d.outcome;if("failed"!==c||at(d.outcome)){if(null!==c&&!("ci"!==d.stage||aw(b))&&!z(d.command).commands.some(({words:a})=>aD(a).some(a=>"run"===a[0]&&"watch"===a[1]&&a.includes("--exit-status")))){let b="stale"===c&&(ax(d)?.every(b=>a.has(b))??!1);if(aw(c)||b)continue}if(c=b,"stale"===b||"passed"===d.outcome||"failed"===d.outcome)for(let b of ax(d)??[])a.add(b)}}return c??"waiting"}let c="done";for(let a of function(a){let b=new Map;for(let c of a){if("check"!==c.stage)continue;let a=c.commandKey??c.command,d=b.get(a);(d?.outcome!=="failed"||at(c.outcome))&&b.set(a,c)}return[...b.values()]}(b)){let b=a.stale?"stale":a.outcome;av[b]>av[c]&&(c=b)}return c}(a,c),steps:c,earlier:"investigate"===a?[]:b.filter(a=>a.attempt<n)}}),P=O[v.indexOf("deploy")],Q=l.some(a=>"commit"===a.stage&&"done"===a.outcome&&!a.docsOnly);!F?.docsOnly||F.stale||Q||"waiting"!==P.status||(P.status="notNeeded");let R=O[v.indexOf("ci")],S=R.steps.some(a=>(w.get(a)??1/0)>H);M&&("waiting"===R.status||("unverified"===R.status||"stale"===R.status)&&!S)?R.status="notNeeded":M=null;let T=-1;O.forEach((a,b)=>{"waiting"!==a.status&&"failed"!==a.status&&"skipped"!==a.status&&"notNeeded"!==a.status&&"stale"!==a.status&&a.steps.some(a=>!a.stale&&"failed"!==a.outcome&&!("compound"in a&&a.compound?.failed===!0))&&(T=b)});let U=null;if(c&&l.length>0)if(au(p))U={stage:"edit",returning:!0};else if(T<0)U={stage:O.find(a=>"waiting"!==a.status)?.stage??v[0],returning:!1};else{let a=O[T].steps.at(-1);if(a?.stage==="review"&&a.unusable)U={stage:"review",returning:!1};else{let a=O.slice(T+1).find(a=>"skipped"!==a.status&&"notNeeded"!==a.status);U=a?{stage:a.stage,returning:!1}:null}}if(O.forEach((a,b)=>{b<T&&"waiting"===a.status&&(a.status="skipped")}),!c&&l.length>0){let a=!Q;for(let b of O)"waiting"===b.status&&(b.status=a&&("ci"===b.stage||"deploy"===b.stage)?"notNeeded":"skipped")}return{steps:l,attempt:n,loops:m,stages:O,current:function(a,b,c){let d=a.at(-1);if(!d)return null;if(!c||c.stale)return d.stage;let e=b.filter(a=>("commit"===a.stage||"ci"===a.stage||"deploy"===a.stage)&&a.steps.length>0&&"notNeeded"!==a.status&&"skipped"!==a.status),f=e.find(a=>"commit"!==a.stage&&Object.hasOwn(aY,a.status));return f?.stage??e.at(-1)?.stage??d.stage}(l,O,F),reached:T<0?null:v[T],next:U,publication:M}}(m,b,!1,l,e,function(a,b,c){let d=[],e=null;for(let f=Math.max(0,b);f<Math.min(a.length,c);f++){let b=a[f];if("assistant"===b.role)for(let a of b.content??[])"toolCall"===a.type&&(e=a.toolCallId);else if("custom"===b.role&&"async-result"===b.customType){let a="string"==typeof b.content?b.content:b.content.map(a=>"text"===a.type?a.text:"").join("\n");d.push({text:a,after:e})}}return d}(a,c,d))}}(d,q,m+1,d.length,c,w);if(0===C.steps.length&&null===A)return null;let D=new Map;for(let a of C.steps){if(!("command"in a))continue;let b=D.get(a.command);void 0===b&&(b=String(D.size),D.set(a.command,b)),a.commandKey=b,a.command=""}for(let a of y)a.command="";return{throughEntryId:p,summary:{files:x,checks:y,remaining:A,span:B,flow:C},ciHeads:a$(d,q,d.length,m+1,w)}}},57856:(a,b,c)=>{c.d(b,{TQ:()=>e,p1:()=>d});let d=92;function e(a,b=d,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}},60755:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{df:()=>k});var e=c(61024),f=c(12144),g=c(69453),h=c(32955),i=a([f,g]);async function j(a){let b=a.sessionId?.trim().toLowerCase()||null,c=(0,e.s$)(a.requestId),d=c?(0,f.A4)(c):void 0,g=(0,e.Ot)({requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:b,sessionBusy:!0===a.alreadyContinued||d?.isAlive()===!0&&d.isRunning()}),i=(globalThis.__ompUpdateWakeDispatches||(globalThis.__ompUpdateWakeDispatches=new Map),globalThis.__ompUpdateWakeDispatches),j=`${a.requestId}:${b}`;if(!g.wake)return"already-claimed"===g.reason&&await i.get(j)?.catch(()=>{}),g;let k=(async()=>{let b="resume";try{var c,i;let a=d?.isAlive()?d:(await (0,f.OF)(g.sessionId,await l(g.sessionId),void 0)).session;b="prompt",await a.sendInternalPrompt((c=g.requestId,i=g.stageHash,[h.S9,`requestId=${c} stageHash=${i}`,"사용자 발화가 아니라 재개 통지입니다. 업데이트 직전에 하던 작업을 이어가세요.\n산출물 정리는 백그라운드로 따로 진행되며 그 상태는 화면 상단 줄에 표시됩니다. 정리 결과를 기다리지 마세요."].join("\n")))}catch(c){throw(0,e.lG)({requestId:g.requestId,stageHash:g.stageHash,clientId:a.clientId,sessionId:g.sessionId,stage:b,error:c}),c}})();i.set(j,k);try{await k}finally{i.get(j)===k&&i.delete(j)}return g}async function k(a){let b=(0,e.k0)();if(!b.ready||!b.requestId||!b.stageHash)return!0;let c=(0,e.s$)(b.requestId);if(!c)return!0;if(!0!==(0,e.Kg)(b.requestId,b.stageHash).deploymentCompleted)return!1;let d=await (0,g.os)(c),f=null!==d&&(await (0,g.DK)(d)).some(b=>"message"===b.type&&"user"===b.message.role&&Date.parse(b.timestamp)>a.serverStartedAtMs);if((0,e.mz)(b.requestId))return!0;let h=(0,e.mN)();return!!h&&h.requestId!==b.requestId||(await j({requestId:b.requestId,stageHash:b.stageHash,clientId:"server_fallback_wake",sessionId:c,alreadyContinued:f||a.continuedByInterruptResume(c)}),!0)}async function l(a){let b=await (0,g.os)(a);if(!b)throw Error(`session record not found: ${a}`);return b}[f,g]=i.then?(await i)():i,d()}catch(a){d(a)}})},61024:(a,b,c)=>{c.d(b,{Ef:()=>B,Kg:()=>E,Ot:()=>s,Q4:()=>x,W4:()=>C,k0:()=>D,lG:()=>v,mN:()=>w,mz:()=>u,p8:()=>z,s$:()=>t});var d=c(31421);c(77598);var e=c(73024),f=c(48161),g=c(76760);let h=/^[0-9a-f]{32}$/,i=/^[0-9a-f]{64}$/,j=/^[0-9a-f]{40}$/,k=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function l(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function m(){let a=process.env.CUELO_EXTERNAL_UPDATE_ROOT?.trim();return(0,g.resolve)(a||(0,g.join)((0,f.homedir)(),".omp","external-update"))}function n(a){try{let b=JSON.parse((0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,""));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function o(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`;(0,e.writeFileSync)(c,`${JSON.stringify(b,null,2)}
|
|
17
|
-
`,"utf8"),(0,e.renameSync)(c,a)}function
|
|
18
|
-
`)}finally{(0,e.closeSync)(d)}}catch(a){if("EEXIST"===a.code)return f("already-claimed");throw a}return{wake:!0,requestId:a.requestId,stageHash:a.stageHash,sessionId:b.initiatorSessionId}}function t(a){return p(a)?.initiatorSessionId??null}function u(a){let b=p(a);if(!b)return!0;let c=(0,g.join)(b.maintenanceDirectory,"wake");if(!(0,e.existsSync)(c))return!1;for(let a of(0,e.readdirSync)(c))if(b.initiatorSessionId&&a===`${b.initiatorSessionId}.json`||a.endsWith(".skipped.json")&&n((0,g.join)(c,a))?.reason!=="deployment-incomplete")return!0;return!1}function v(a){let b=p(a.requestId);if(!b)return;let c=(0,g.join)(b.maintenanceDirectory,"wake");try{o((0,g.join)(c,`${a.sessionId}.failed.json`),{schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:a.sessionId,stage:a.stage,error:a.error instanceof Error?{name:a.error.name,message:a.error.message,stack:a.error.stack??null}:{name:"unknown",message:String(a.error),stack:null},failedAtUtc:new Date().toISOString()})}finally{try{(0,e.rmSync)((0,g.join)(c,`${a.sessionId}.json`),{force:!0})}catch{}}}function w(){let a=function(){let a=n((0,g.join)(m(),"active.json")),b=String(a?.requestId??"");if(a?.schemaVersion!==2||!h.test(b))return null;let c=p(b);if(!c||(0,e.existsSync)(c.resultPath))return null;let d=q(c);return!d||r(c,d)?null:{request:c,command:d}}();return a?{requestId:a.request.requestId,stageHash:a.command.stageHash,phase:a.command.phase}:null}function x(a){return globalThis.__cueloRuntimeServer??={origin:a,startedAtMs:Math.round(Date.now()-1e3*process.uptime())},globalThis.__cueloRuntimeServer}function y(a){return[...new Set(a.filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()))].sort()}function z(a,b=[]){let c=y(a),d=globalThis.__cueloRuntimeServer,f=function(){if(void 0!==globalThis.__cueloRuntimeLinuxIdentity)return globalThis.__cueloRuntimeLinuxIdentity;if(globalThis.__cueloRuntimeLinuxIdentity=null,"linux"===process.platform)try{let a=(0,e.readFileSync)(`/proc/${process.pid}/stat`,"utf8");globalThis.__cueloRuntimeLinuxIdentity={bootId:(0,e.readFileSync)("/proc/sys/kernel/random/boot_id","utf8").trim(),startTicks:Number(a.slice(a.lastIndexOf(")")+2).split(" ")[19])}}catch{}return globalThis.__cueloRuntimeLinuxIdentity}();o((0,g.join)(m(),"runtime-activity",`${process.pid}.json`),{schemaVersion:2,processId:process.pid,processStartedAtUtc:new Date(Date.now()-1e3*process.uptime()).toISOString(),...f?{linuxProcessIdentity:f}:{},updatedAtUtc:new Date().toISOString(),runningSessionIds:c,...d?{recovery:{eligible:!0,origin:d.origin,startedAtMs:d.startedAtMs,waitingSessionIds:y(b).filter(a=>c.includes(a))}}:{}})}function A(a){if(!Number.isInteger(a)||a<=0)return{state:"unknown"};try{process.kill(a,0)}catch(a){if("ESRCH"===a.code)return{state:"dead"}}if("win32"!==process.platform)return{state:"unknown"};let b=`$p = Get-CimInstance Win32_Process -Filter "ProcessId=${a}"; if ($p) { $p.CreationDate.ToUniversalTime().ToString('o') }`,c=(0,d.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-Command",b],{encoding:"utf8",timeout:15e3,windowsHide:!0});if(c.error||0!==c.status)return{state:"unknown"};let e=String(c.stdout??"").trim();if(""===e)return{state:"dead"};let f=Date.parse(e);return Number.isFinite(f)?{state:"alive",startedAtMs:f}:{state:"unknown"}}function B(a,b,c=A){let d=(0,g.join)(m(),"runtime-activity");if(!(0,e.existsSync)(d))return null;let f=null;for(let c of(0,e.readdirSync)(d)){if(!c.endsWith(".json"))continue;let e=n((0,g.join)(d,c)),h=e&&"object"==typeof e.recovery&&e.recovery?e.recovery:null;if(!e||!h||!0!==h.eligible||h.origin!==a)continue;let i=Number(h.startedAtMs);if(!Number.isFinite(i)||i>=b||f&&i<=f.startedAtMs)continue;let j=a=>Array.isArray(a)?y(a.filter(a=>"string"==typeof a)):[];f={processId:Number(e.processId),startedAtMs:i,runningSessionIds:j(e.runningSessionIds),waitingSessionIds:j(h.waitingSessionIds),consumed:"string"==typeof h.consumedAtUtc}}if(!f)return null;let{consumed:h,...i}=f;if(h)return null;if(0===i.runningSessionIds.length)return i;let j=c(i.processId);return"dead"===j.state||"alive"===j.state&&Math.abs(j.startedAtMs-i.startedAtMs)>2e3?i:null}function C(a,b){let c=(0,g.join)(m(),"runtime-activity",`${a.processId}.json`),d=n(c),e=d&&"object"==typeof d.recovery&&d.recovery?d.recovery:null;return!!d&&!!e&&Number(e.startedAtMs)===a.startedAtMs&&(o(c,{...d,recovery:{...e,consumedAtUtc:new Date().toISOString(),consumedByStartedAtMs:b}}),!0)}function D(){let a=process.env.CUELO_DEPLOY_REQUEST_ID?.trim()||null,b=process.env.CUELO_DEPLOY_STAGE_HASH?.trim().toLowerCase()||null,c=process.env.CUELO_DEPLOY_MARKER_PATH?.trim()||null;if(!a||!b||!c||!h.test(a)||!i.test(b))return{ready:!1,requestId:a,stageHash:b,transactionId:null};let d=n((0,g.resolve)(c)),e=d&&"string"==typeof d.transactionId?d.transactionId:null;return{ready:d?.schemaVersion===1&&d.requestId===a&&String(d.stageHash??"").toLowerCase()===b&&"string"==typeof e&&e.length>0,requestId:a,stageHash:b,transactionId:e}}function E(a,b){let c=D(),d=a&&h.test(a)?p(a):null,f=d?q(d):null,i=d?n(d.resultPath):null,j=d&&f?r(d,f):null,k=d&&f?function a(b,c,d=!0){let f=n((0,g.join)(b.maintenanceDirectory,"cleanup.json"));if(!f||1!==f.schemaVersion||"runtime-transaction"!==f.owner||f.requestId!==b.requestId||f.stageHash!==c.stageHash||"ARTIFACT_CLEANUP"!==f.phase)return null;let h=f.status;if("running"!==h&&"succeeded"!==h&&"failed"!==h&&"skipped"!==h&&"pending-approval"!==h)return null;let i=Number(f.ownerPid),j=Number(f.completedCount),k=Number(f.totalCount),m=Number(f.removedCount),o=Number(f.keptCount),p=Number(f.elapsedSeconds);if(!Number.isInteger(i)||i<=0||!Number.isInteger(j)||j<0||!Number.isInteger(k)||k<j||!Number.isInteger(m)||m<0||!Number.isInteger(o)||o<0||!Number.isFinite(p)||p<0||"succeeded"===h&&j!==k)return null;let q=null===f.currentTarget?null:String(f.currentTarget??"");if(null!==q&&!q)return null;let r=String(f.startedAtUtc??""),s=String(f.updatedAtUtc??""),t=null===f.finishedAtUtc?null:String(f.finishedAtUtc??"");if(!Number.isFinite(Date.parse(r))||!Number.isFinite(Date.parse(s))||null!==t&&!Number.isFinite(Date.parse(t)))return null;if("running"===h&&d&&function(a,b){try{process.kill(b,0)}catch(a){if("ESRCH"===a.code)return!0}let c=l(a.ownerIdentity);if(!c||"linux"!==process.platform)return!1;try{let a=(0,e.readFileSync)(`/proc/${b}/stat`,"utf8");return(0,e.readFileSync)("/proc/sys/kernel/random/boot_id","utf8").trim()!==c.bootId||Number(a.slice(a.lastIndexOf(")")+2).split(" ")[19])!==c.startTicks}catch{return!0}}(f,i)){let d=a(b,c,!1);return d?.status!=="running"?d:{...d,status:"failed",reason:"정리 실행이 결과를 남기지 않고 끝났습니다.",currentTarget:null,failureCount:d.failureCount+1}}return{schemaVersion:1,owner:"runtime-transaction",ownerPid:i,requestId:b.requestId,stageHash:c.stageHash,phase:"ARTIFACT_CLEANUP",status:h,reason:null===f.reason?null:String(f.reason??""),startedAtUtc:r,updatedAtUtc:s,finishedAtUtc:t,currentTarget:q,completedCount:j,totalCount:k,removedCount:m,keptCount:o,elapsedSeconds:p,failureCount:Array.isArray(f.failures)?f.failures.length:0}}(d,f):null,m=b?.toLowerCase()||null,o=null!==w();return{schemaVersion:2,phase:c.ready&&c.requestId===a&&c.stageHash===m?"SERVICE_READY":f?.phase??"IDLE",service:c,mutationBlocked:o,deploymentCompleted:j?.completed===!0,writeSafe:j?.writeSafe===!0,cleanup:k,terminalStatus:i&&"string"==typeof i.status?i.status:null,terminalError:i&&"string"==typeof i.error?i.error:null}}},64726:(a,b,c)=>{c.d(b,{sh:()=>m});let d=/^[\t ]*(?:WORK_CLASS|PURPOSE|BLOCKS_PRIMARY|PRIMARY_DELIVERABLE|OWNED_PATHS|FINDING_ID)[\t ]*:[^\r\n]*$/i;c(55621);let e=["feature","maintenance","diagnostic"],f=/^[\t ]*([A-Z_]+)[\t ]*:[\t ]*(.*?)[\t ]*$/;function g(a){return Array.isArray(a)?a.filter(a=>"object"==typeof a&&null!==a):[]}function h(a){return"string"==typeof a&&a.trim()?a:null}function i(a){return"string"==typeof a?a:a.map(a=>"text"===a.type?a.text:"").join("\n")}function j(a){if(a.isError)return null;let b=a.details?.record;if("object"!=typeof b||null===b)try{let c=JSON.parse(i(a.content));b=c?.ok===!0?c.record:void 0}catch{return null}return"object"==typeof b&&null!==b?b:null}let k=/<task-result\b([^>]*)>/g;function l(a){let b="string"==typeof a?function(a){if(!a)return null;let b=/^\s*TASK_GUARD\s*:\s*$/im.exec(a),c=a;if(b){let e=b.index+b[0].length;"\r"===a[e]&&(e+=1),"\n"===a[e]&&(e+=1);let f=e;for(;e<a.length;){let b=a.indexOf("\n",e),c=-1===b?a.length:b,g=c>e&&"\r"===a[c-1]?c-1:c;if(!d.test(a.slice(e,g)))break;f=g,e=-1===b?a.length:b+1}let g=b[0].length-b[0].trimStart().length;c=`${a.slice(0,b.index+g)}${a.slice(f)}`}let e=[...c.matchAll(/^\s*TASK_TITLE\s*:\s*(.*?)\s*$/gim)].map(a=>a[1]??"");return 1===e.length&&e[0]&&e[0]===e[0].trim()&&/[가-힣]/u.test(e[0])?e[0]:null}(a):null,c=function(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/),c=b.findIndex(a=>/^\s*TASK_GUARD\s*:\s*$/.test(a));if(c<0)return null;for(let a=c+1;a<b.length;a+=1){let c=f.exec(b[a]);if(!c)break;if("WORK_CLASS"!==c[1])continue;let d=c[2].toLowerCase();return e.includes(d)?d:null}return null}(a),g=c?["TASK_GUARD:",`WORK_CLASS: ${c}`]:[];return b&&g.push(`TASK_TITLE: ${b}`),g.join("\n")}function m(a){switch(a.role){case"user":return{role:"user",content:"",timestamp:a.timestamp};case"assistant":{let b=(a.content??[]).filter(a=>"toolCall"===a.type&&"task"===a.toolName).map(a=>({type:"toolCall",toolCallId:a.toolCallId,toolName:"task",input:{tasks:g(a.input?.tasks).map(a=>({name:a.name,agent:a.agent,task:l(a.task)}))}}));if(0===b.length)return null;return{role:"assistant",content:b,model:a.model,provider:a.provider,timestamp:a.timestamp}}case"toolResult":{let b={role:"toolResult",toolCallId:a.toolCallId,toolName:a.toolName,content:[],timestamp:a.timestamp};if("task"===a.toolName){if(a.isError)return{...b,isError:!0};let c=g(a.details?.progress).map(a=>({index:a.index,id:a.id,agent:a.agent,task:l(a.task)}));return{...b,details:{progress:c}}}if("routing_verdict"===a.toolName){if(!function(a){let b=j(a);if(!b)return null;let c=b.verdict;if("accepted"!==c&&"rework"!==c&&"held"!==c)return null;let d=h(b.assignmentId),e=d?.split("#")??[];if(e.length<3)return null;let f=e[e.length-1],g=e.slice(1,-1).join("#");return/^\d+$/.test(f)&&g?{key:`${g}#${f}`,record:{verdict:c,attempt:"number"==typeof b.attempt?b.attempt:null,reason:h(b.reason)}}:null}(a))return null;let c=j(a);return{...b,details:{record:{verdict:c.verdict,assignmentId:c.assignmentId,attempt:c.attempt,reason:c.reason}}}}if("wait"===a.toolName){let c=g(a.details?.jobs).filter(a=>"task"===a.type).map(a=>({type:a.type,id:a.id,status:a.status,...void 0===a.durationMs?{}:{durationMs:a.durationMs}}));return c.length>0?{...b,details:{jobs:c}}:null}return null}case"custom":{if("async-result"!==a.customType)return null;let b=[...i(a.content).matchAll(k)].map(a=>a[0]);return b.length>0?{role:"custom",customType:"async-result",display:!1,content:b.join("\n"),timestamp:a.timestamp}:null}default:return null}}},69453:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,DK:()=>K,O8:()=>J,R7:()=>M,Uv:()=>N,kc:()=>L,mD:()=>F,os:()=>I,wb:()=>E});var e=c(92582),f=c(48331),g=c(5969),h=c(29021),i=c(79748),j=c(33873),k=c(64726),l=c(57372),m=c(53739),n=c(40575),o=c(84240),p=c(95602),q=c(96185),r=c(7561),s=c(87248),t=c(15395),u=c(6539),v=c(21392),w=c(74407),x=a([e,f,g,m,n,o]);[e,f,g,m,n,o]=x.then?(await x)():x;let S=["GIT_DIR","GIT_COMMON_DIR","GIT_WORK_TREE","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM","GIT_OBJECT_DIRECTORY"];async function y(a){try{return{isDirectory:(await (0,i.stat)(a)).isDirectory()}}catch(b){let a=b.code;return"ENOENT"!==a&&"ENOTDIR"!==a&&null}}async function z(a){let[b,c]=await Promise.all([y((0,j.join)(a,".git")),y((0,j.join)(a,"HEAD"))]);return!1!==c||null===b?"git":!1===b||b.isDirectory&&await y((0,j.join)(a,".git","commondir"))===!1?"clear":"git"}async function A(a,b){let c;if(S.some(a=>void 0!==process.env[a]))return!1;try{if(!(0,h.existsSync)(a))return!1;c=(0,h.realpathSync)(a)}catch{return!1}for(;;){let a=b.get(c);if(a||(a=z(c),b.set(c,a)),await a==="git")return!1;let d=(0,j.dirname)(c);if(d===c)return!0;c=d}}async function B(a,b){let c=(0,s.RL)(a);return c||(await A(a,b)?(0,s.lP)(a):(0,s.KI)(a))}async function C(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map,d=new Map;return await Promise.all(b.map(async a=>{c.set(a,await B(a,d))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0;return{...a,projectRoot:b?.projectRoot??a.cwd,...b?.isWorktree&&b.branch?{worktreeBranch:b.branch}:{}}})}let T="(no messages)";async function D(){let a=await e.SessionManager.listAll(),b=new Map;for(let c of a)b.set((0,r.$)(c.path),c.id);let c=a.map(a=>{J(a.id,a.path);let c=function(a){if(a.firstMessage&&a.firstMessage!==T)return a.firstMessage;if(!(a.size>4096))return null;let b=a.modified instanceof Date?a.modified:new Date(String(a.modified)),c=globalThis.__ompSessionFirstMessageCache??=new Map,d=(0,r.$)(a.path),e=c.get(d);if(e&&e.mtimeMs===b.getTime()&&e.size===a.size)return e.text;let f=function(a){let b;try{b=(0,h.openSync)(a,"r");let d=new TextDecoder,e=Buffer.alloc(65536),f="",g=0;for(;g<1048576;){let a=(0,h.readSync)(b,e,0,e.length,g);if(a<=0)break;g+=a;let i=(f+=d.decode(e.subarray(0,a),{stream:!0})).split("\n");for(let a of(f=i.pop()??"",i)){var c;let b;if(!a.includes('"role":"user"'))continue;try{b=JSON.parse(a)}catch{continue}if(!b||"object"!=typeof b||!("type"in b)||"message"!==b.type||!("message"in b))continue;let d=b.message;if(!d||"object"!=typeof d||!("role"in d)||"user"!==d.role)continue;let e=(c="content"in d?d.content:void 0,"string"==typeof c?c.trim():Array.isArray(c)?c.map(a=>a&&"object"==typeof a&&"type"in a&&"text"===a.type&&"text"in a&&"string"==typeof a.text?a.text:"").filter(Boolean).join(" ").trim():"");if(e)return e}}return null}catch{return null}finally{void 0!==b&&(0,h.closeSync)(b)}}(a.path);return c.set(d,{mtimeMs:b.getTime(),size:a.size,text:f}),f}(a);return{path:a.path,id:a.id,cwd:a.cwd,name:a.title,created:a.created instanceof Date?a.created.toISOString():String(a.created),modified:function(a){let b=a.modified instanceof Date?a.modified:new Date(String(a.modified)),c=Number.isFinite(b.getTime())?b.toISOString():String(a.modified),d=globalThis.__ompSessionActivityCache??=new Map,e=(0,r.$)(a.path),f=d.get(e);if(f&&f.mtimeMs===b.getTime()&&f.size===a.size)return f.at??c;let g=function(a){let b;try{b=(0,h.openSync)(a,"r");let c=(0,h.fstatSync)(b).size,d=Buffer.alloc(0),e=0,f=!1;for(;;){let a=e>0?d.lastIndexOf(10,e-1):-1;if(a<0&&c>0){if(!f&&d.length>=65536||d.length>=8388608)return null;let a=Math.min(65536,c),g=Buffer.alloc(a);c-=a,(0,h.readSync)(b,g,0,a,c),d=Buffer.concat([g,d]),e+=a;continue}let g=d.toString("utf8",a+1,e).trim();if(e=Math.max(a,0),g){if(!f&&!g.includes(m.SESSION_EXIT_CUSTOM_TYPE))return null;let a=JSON.parse(g);if(!a||"object"!=typeof a)return null;if("type"in a&&"custom"===a.type&&"customType"in a&&a.customType===m.SESSION_EXIT_CUSTOM_TYPE)f=!0;else{if(!f)return null;let b="timestamp"in a?a.timestamp:void 0;return"string"==typeof b&&Number.isFinite(Date.parse(b))?new Date(b).toISOString():null}}if(a<0)return null}}catch{return null}finally{void 0!==b&&(0,h.closeSync)(b)}}(a.path);return d.set(e,{mtimeMs:b.getTime(),size:a.size,at:g}),g??c}(a),messageCount:c?Math.max(a.messageCount,1):a.messageCount,firstMessage:(0,t.we)(c??"")||T,parentSessionId:a.parentSessionPath?b.get((0,r.$)(a.parentSessionPath)):void 0,transient:!1}});return C(c)}async function E(a={}){a.force&&F();let b=globalThis.__ompSessionListGeneration??0;if(globalThis.__ompSessionListCache&&Date.now()-globalThis.__ompSessionListCache.ts<U)return globalThis.__ompSessionListCache.data;if(globalThis.__ompSessionListPromise&&globalThis.__ompSessionListPromiseGeneration===b)return globalThis.__ompSessionListPromise;let c=D().then(a=>(globalThis.__ompSessionListGeneration??0)!==b?E():(globalThis.__ompSessionListCache={data:a,ts:Date.now()},a)).finally(()=>{globalThis.__ompSessionListPromise===c&&(globalThis.__ompSessionListPromise=void 0,globalThis.__ompSessionListPromiseGeneration=void 0)});return globalThis.__ompSessionListPromise=c,globalThis.__ompSessionListPromiseGeneration=b,c}let U=3e4;function F(){globalThis.__ompSessionListGeneration=(globalThis.__ompSessionListGeneration??0)+1,globalThis.__ompSessionListCache=void 0}function G(){return globalThis.__ompSessionPathCache||(globalThis.__ompSessionPathCache=new Map),globalThis.__ompSessionPathCache}function H(){return globalThis.__ompPathToSessionIdCache||(globalThis.__ompPathToSessionIdCache=new Map),globalThis.__ompPathToSessionIdCache}async function I(a){var b;let c,d,e,f,g=G().get(a);return g&&(0,h.existsSync)(g)?g:(g&&(b=a,c=G(),d=H(),e=c.get(b),c.delete(b),(f=e?(0,r.$)(e):void 0)&&d.get(f)===b&&d.delete(f)),await E(),G().get(a)??null)}function J(a,b){let c=(0,j.normalize)(b),d=(0,r.$)(c),e=G(),f=H(),g=e.get(a),h=g?(0,r.$)(g):void 0,i=f.get(d),k=i?e.get(i):void 0;h&&h!==d&&f.get(h)===a&&f.delete(h),i&&i!==a&&k&&(0,r.$)(k)===d&&e.delete(i),e.set(a,c),f.set(d,a)}async function K(a){return(await e.SessionManager.open(a)).getEntries()}function L(a,b,c){if(null===c)return[];let d=(c?b.get(c):void 0)??a[a.length-1];if(!d)return[];let e=[],f=new Set,g=d;for(;g&&!f.has(g.id);)f.add(g.id),e.push(g),g=g.parentId?b.get(g.parentId):void 0;return e.reverse()}function M(a){let b=-1;for(let c=a.length-1;c>=0;c--)if("compaction"===a[c].type){b=c;break}if(-1===b)return{displayed:a,hidden:[]};let c=a[b],d=[],e=[],f=!1;for(let g=0;g<b;g++)a[g].id===c.firstKeptEntryId&&(f=!0),(f?d:e).push(a[g]);return{displayed:[...d,c,...a.slice(b+1)],hidden:e}}function N(a,b,c={}){let d=new Map;for(let b of a)d.set(b.id,b);let f=(0,e.buildSessionContext)(a,b,d,{transcript:!0,collapseCompactedHistory:!0}),g=L(a,d,b),{displayed:h,hidden:i}=M(g),j=[],m=[],o=[];for(let a of h){if("custom"===a.type&&a.customType===n.USER_TODO_EDIT_CUSTOM_TYPE){let b=a.data?.phases;i.length>0&&Array.isArray(b)&&o.push({trackerTodo:b});let c=j.at(-1);if(Array.isArray(b)&&c){let a={...c,trackerTodos:[...c.trackerTodos??[],b]};j[j.length-1]=a}continue}let b=R(a,c);b&&(i.length>0&&o.push({message:b,entryId:a.id}),j.push(function a(b){let c;if("string"==typeof b){if(b.length<=5e5||b.startsWith("data:image/"))return b;let a=b.slice(0,5e5-V.length),c=a.charCodeAt(a.length-1);return c>=55296&&c<=56319&&(a=a.slice(0,-1)),a+V}if(Array.isArray(b)){let c;for(let d=0;d<b.length;d++){let e=a(b[d]);e!==b[d]&&((c??=b.slice())[d]=e)}return c??b}if(!P(b)||Q(b))return b;for(let d in b){if(!Object.hasOwn(b,d))continue;let e=a(b[d]);e!==b[d]&&((c??={...b})[d]=e)}return c??b}(b)),m.push(a.id))}return{messages:j,entryIds:m,thinkingLevel:f.thinkingLevel??"off",configuredThinkingLevel:f.configuredThinkingLevel??f.thinkingLevel??"off",thinkingCeiling:(0,w.hi)(g),model:function(a){let b=a.default;if(!b)return null;let c=b.indexOf("/");return c<=0?null:{provider:b.slice(0,c),modelId:b.slice(c+1)}}(f.models),compactedWork:function(a,b,c){let d=[],e=[],f=!1;for(let b of a){if("custom"===b.type&&b.customType===n.USER_TODO_EDIT_CUSTOM_TYPE){let a=b.data?.phases;Array.isArray(a)&&e.push({trackerTodo:a});continue}let a=R(b,{});a&&e.push({message:a,entryId:b.id});let c=a?(0,k.sh)(a):null;c&&("user"!==c.role||d.at(-1)?.role!=="user")&&("user"!==c.role&&(f=!0),d.push(c))}let g=(0,n.getLatestTodoSnapshotIdentity)(a)?(0,n.getLatestTodoPhasesFromEntries)(a):null,h=(0,l.y)(e,b,c);return f||g||h?{messages:f?d:[],todoPhases:g,...h?{openRequest:h}:{}}:null}(i,o,c.cwd)}}function O(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function P(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function Q(a){let b,c;if(!P(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):P(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}let V="\n\n[Session persistence truncated large content]";function R(a,b){switch(a.type){case"message":{let c=function(a){if("assistant"!==a.role)return a;let{providerPayload:b,...c}=a,d=a.content.map(a=>{if(!("thinkingSignature"in a)&&!("textSignature"in a))return a;let{thinkingSignature:b,textSignature:c,...d}=a;return d});return{...c,content:d}}((0,p.B)(a.message)),d=b.deferToolResultImages?function(a){if("toolResult"!==a.role)return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=Q(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});return 0===b?a:(e.push({type:"text",text:(0,q.if)(b,[...d],c)}),{...a,content:e})}(c):c;if(!b.deferThinking||"assistant"!==d.role)return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:O(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
16
|
+
Time spent: ${a=g.timeUsedSeconds,b=Math.max(0,Math.round(a)),c=Math.floor(b/3600),d=Math.floor(b%3600/60),c>0?`${c}h ${d}m`:d>0?`${d}m ${b%60}s`:`${b}s`}`),status:g}}async #w(a){if(!a)return this.#q("Usage: /goal set <objective>");if(!this.enabled&&this.#x())return this.#q("Resume the current goal first, or drop it before setting a new objective.");if(!this.enabled)return await this.#y(a);let b=await this.#a.goalRuntime.replaceGoal({objective:a});return this.#a.setGoalModeState?.(b),this.#g=!1,this.#h=!1,this.#a.isStreaming&&await this.#a.sendGoalModeContext({deliverAs:"steer"}),{message:"Goal replaced.",prompt:a,status:this.getStatus()}}async #y(a){let b=this.#a.getEnabledToolNames().filter(a=>"goal"!==a),c=await this.#a.goalRuntime.createGoal({objective:a});return this.#c=b,await this.#a.setActiveToolsByName([...new Set([...b,"goal"])]),this.#a.setGoalModeState?.(c),this.#g=!1,this.#h=!1,this.#a.isStreaming&&await this.#a.sendGoalModeContext({deliverAs:"steer"}),this.#p(),{message:"Goal mode enabled.",prompt:a,status:this.getStatus()}}async #s(){return this.enabled?(await this.#a.goalRuntime.pauseGoal(),await this.#z({reason:"paused"}),{message:"Goal mode paused.",status:this.getStatus()}):this.#q("No active goal to pause.")}async #t(){if(!this.#x())return this.#q("No paused goal to resume.");let a=this.#a.getEnabledToolNames().filter(a=>"goal"!==a),b=await this.#a.goalRuntime.resumeGoal();return this.#c=a,await this.#a.setActiveToolsByName([...new Set([...a,"goal"])]),this.#a.setGoalModeState?.(b),this.#g=!1,this.#h=!1,this.#p(),this.#A(),{message:"Goal mode resumed.",status:this.getStatus()}}async #u(){return this.enabled||this.#x()?(await this.#a.goalRuntime.dropGoal(),await this.#z({reason:"dropped"}),{message:"Goal dropped.",status:this.getStatus()}):this.#q("No goal to drop.")}async #v(a){let b=this.#a.getGoalModeState?.();if(!this.enabled||!b?.enabled)return this.#q(this.#x()?"Resume the goal before adjusting the budget.":"No active goal.");if("complete"===b.goal.status)return this.#q("Goal is already complete.");if(!a)return this.#q("Usage: /goal budget <N|off>");let{budget:c,error:d}=function(a){let b=a.trim().toLowerCase();if("off"===b)return{};let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<=0||String(c)!==b?{error:"Goal budget must be a positive integer or `off`."}:{budget:c}}(a);return d?this.#q(d):(await this.#a.goalRuntime.onBudgetMutated(c),this.#g=!1,this.#p(),this.#A(),{message:void 0===c?"Goal budget cleared.":`Goal budget set to ${c.toLocaleString()}.`,status:this.getStatus()})}async #z(a){let b=this.#c;if(b&&await this.#a.setActiveToolsByName(b),"completed"===a.reason){let a=this.#a.getGoalModeState?.()?.goal;this.#a.setGoalModeState?.(void 0),this.#a.sessionManager.appendModeChange("none"),this.#a.sessionManager.appendCustomEntry("goal-completed",{objective:a?.objective,tokensUsed:a?.tokensUsed,tokenBudget:a?.tokenBudget,timeUsedSeconds:a?.timeUsedSeconds})}this.#c=void 0,this.#e=!1,this.#k(),this.#p()}async #o(){let a=this.#a.getEnabledToolNames().filter(a=>"goal"!==a);this.#c=a,await this.#a.setActiveToolsByName([...new Set([...a,"goal"])])}#A(){var a;if(this.#k(),this.#i||this.#h||(a=e.cfgGoalContinuationModes.get(this.#a.settings),!(Array.isArray(a)&&h.some(b=>a.includes(b)))||this.#a.getPlanModeState?.()?.enabled||this.#g))return;let b=this.#a.getGoalModeState?.();!b?.enabled||"active"!==b.goal.status||this.#a.goalRuntime.buildContinuationPrompt()&&(this.#d=setTimeout(()=>{this.#d=void 0,this.#B()},this.#b.continuationDelayMs??800))}async #B(){if(this.#i||this.#h||this.#g||this.#b.isBusy())return;let a=this.#a.getGoalModeState?.();if(!a?.enabled||"active"!==a.goal.status)return;let b=this.#a.goalRuntime.buildContinuationPrompt();if(b){this.#e=!0;try{await this.#b.runContinuation(b)}catch{this.#e=!1}}}#k(){this.#d&&(clearTimeout(this.#d),this.#d=void 0)}#q(a){return{error:a,status:this.getStatus()}}#n(){return!1!==e.cfgGoalEnabled.get(this.#a.settings)}#x(){let a=this.#a.getGoalModeState?.();if(a?.goal&&!a.enabled&&"paused"===a.goal.status)return a}#m(){let a=this.#a.sessionManager.getEntries();for(let b=a.length-1;b>=0;b-=1)if(a[b]?.type==="mode_change")return a[b]}#p(){this.#b.onStatusChange?.(this.getStatus())}}d()}catch(a){d(a)}})},49092:(a,b,c)=>{c.d(b,{b6:()=>e,kL:()=>f,sF:()=>d}),c(51455);let d=2;function e(a,b){if("string"==typeof a)return"user"===b?a:"";if(!Array.isArray(a))return"";let c=[];for(let b of a)b&&"object"==typeof b&&"type"in b&&"text"===b.type&&"text"in b&&"string"==typeof b.text&&c.push(b.text);return c.join("\n")}function f(a,b){let c=a.replace(/\s+/g," ").trim(),d=c.toLowerCase().indexOf(b.toLowerCase());if(d<0)return null;let e=Math.max(0,d-50),f=Math.min(c.length,d+b.length+90),g=e>0?"…":"",h=f<c.length?"…":"";return{snippet:`${g}${c.slice(e,f)}${h}`,matchStart:g.length+d-e}}},55621:(a,b,c)=>{c(96185)},57372:(a,b,c)=>{c.d(b,{y:()=>a_});var d=c(32955);function e(a){return a?.role==="custom"?"compaction"===a.customType:a?.role==="user"&&("steer"==("steering"in a&&!0===a.steering?"steer":"followUp")||(0,d.wv)("user"!==a.role?"":"string"==typeof a.content?a.content:a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")))}function f(a){let b=[];for(let c of a){if(!c||"object"!=typeof c||!("name"in c)||!("tasks"in c))return{phases:b,malformed:!0};let{name:a,tasks:d}=c;if("string"!=typeof a||!Array.isArray(d))return{phases:b,malformed:!0};let e=Array.isArray(d)?d.flatMap(a=>{if(!a||"object"!=typeof a||!("content"in a)||!("status"in a))return[];let{content:b,status:c}=a;return"string"!=typeof b||"pending"!==c&&"in_progress"!==c&&"completed"!==c&&"abandoned"!==c&&"blocked"!==c?[]:[{content:b,status:c,blocker:"blocker"in a&&"string"==typeof a.blocker?a.blocker:void 0}]}):[];if(e.length!==d.length)return{phases:b,malformed:!0};e.length>0&&b.push({name:a,tasks:e})}return{phases:b,malformed:!1}}function g(a,b){var c;let d;if(b){let a=b.details,c=a&&"object"==typeof a&&"phases"in a?a.phases:void 0;if(!Array.isArray(c))return{kind:"unknown"};let{phases:d,malformed:e}=f(c);return e?{kind:"unknown"}:{kind:"authoritative",phases:d}}let e=Array.isArray(d=(c=a.input)&&"object"==typeof c&&"list"in c?c.list:void 0)?d.flatMap(a=>{if(!a||"object"!=typeof a||!("phase"in a)||!("items"in a))return[];let{phase:b,items:c}=a;if("string"!=typeof b||!Array.isArray(c))return[];let d=c.filter(a=>"string"==typeof a).map(a=>({content:a,status:"pending"}));return d.length>0?[{name:b,tasks:d}]:[]}):[];return e.length>0?{kind:"preview",phases:e}:{kind:"unknown"}}function h(a){if(!a)return!1;let b=a.toLowerCase();return"todo"===b||b.endsWith(".todo")||b.endsWith("_todo")}function i(a,b){let c;if(!a)return null;let d=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")||void 0!==b&&(/^[a-zA-Z]:[\\/]/.test(b)||b.startsWith("\\\\")),e=a=>d?a.replace(/\\/g,"/"):a,f=e(a),g=b?e(b).replace(/\/+$/,""):void 0,h=/^[a-zA-Z]:\//.test(f),i=f.startsWith("//");if(h||i)c=f;else if(f.startsWith("/")){let a=g?.match(/^([a-zA-Z]:)(?:\/|$)/)?.[1]??g?.match(/^(\/\/[^/]+\/[^/]+)(?:\/|$)/)?.[1];c=a?`${a}${f}`:f}else{if(!g)return null;c=`${g}/${f}`}return function(a){let b=/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a,c=/^[a-zA-Z]:\//.test(b),d=b.startsWith("//"),e=b.startsWith("/")&&!c&&!d,f=[];for(let a of b.split("/"))if(a&&"."!==a){if(".."===a){f.length>0&&".."!==f[f.length-1]?f.pop():e||c||d||f.push(a);continue}f.push(a)}let g=f.join("/");return c?g:d?`//${g}`:e?`/${g}`:g}(c)}function j(a){let b=a.toLowerCase();return"write"===b||b.startsWith("write_")||b.endsWith(".write")||b.endsWith("_write")}function k(a){let b=a.toLowerCase();return"edit"===b||b.startsWith("edit_")||b.endsWith(".edit")||b.endsWith("_edit")||b.includes("str_replace")||b.includes("replace_editor")}function l(a){if(!a)return null;let b=a.file_path??a.path;return"string"==typeof b&&b.length>0?b:null}function m(a,b){if(!a||"object"!=typeof a||"delete"===a.op&&!b)return null;let c=a.path??a.resolvedPath;return"string"==typeof c&&c.length>0?c:null}function n(a,b,c=!1){let d=b.details,e=l(a);if(e)return!c&&d&&"object"==typeof d&&"delete"===d.op?[]:[e];if(!d||"object"!=typeof d)return[];if(Array.isArray(d.perFileResults))return d.perFileResults.map(a=>m(a,c)).filter(a=>null!==a);let f=m(d,c);return f?[f]:[]}function o(a,b){let c=l(a);return(b?n(a,b,!0):c?[c]:[]).filter(s)}c(55621);let p=new Map(["skills","commands","rules","prompts","extensions","instructions","hooks","tools","agents","plugins","mcp.json",".mcp.json","SYSTEM.md","SYSTEM_TEMPLATE.md","APPEND_SYSTEM.md","AGENTS.md","settings.json","config.yml","secrets.yml"].map(a=>[a.toLowerCase(),a])),q=[/^\/(?:private\/)?(?:var\/)?tmp(?:\/|$)/,/^\/(?:private\/)?var\/folders\/[^/]+\/[^/]+\/T(?:\/|$)/,/^(?:[a-z]:|\/mnt\/[a-z])\/(?:windows\/)?temp(?:\/|$)/i,/^(?:[a-z]:|\/mnt\/[a-z])\/users\/[^/]+\/appdata\/local\/temp(?:\/|$)/i];function r(a,b){let c=i(a,b),d=b?i(b)?.replace(/\/+$/,""):void 0,e=c??a.replace(/\\/g,"/"),f=/^(?:[a-zA-Z]:\/|\/\/|\/mnt\/[a-zA-Z](?:\/|$))/.test(e)||void 0!==d&&/^(?:[a-zA-Z]:\/|\/\/)/.test(d),g=a=>f?a.toLowerCase():a,h=null===c||void 0!==d&&(g(c)===g(d)||g(c).startsWith(`${g(d)}/`));return!!function(a,b){let c=(a,c)=>void 0!==a&&(b?a.toLowerCase()===c:a===c),d=a.findIndex(a=>c(a,".omp"));if(d<0||d===a.length-1)return!1;let e=a[d+1];if(c(e,"agent")||c(e,"wt")||c(e,"profiles")&&c(a[d+3],"agent"))return!1;let f=p.get(e.toLowerCase());return!(void 0!==f&&(b||f===e))}((null!==c&&h&&void 0!==d?c.slice(d.length):e).split("/").filter(a=>""!==a&&"."!==a),f)||!h&&q.some(a=>a.test(e))}function s(a){return!!/^[a-zA-Z]:[\\/]/.test(a)||!/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(a)}function t(a){let b=a.details;if("number"==typeof b?.exitCode)return b.exitCode;let c=a.content.map(a=>"text"===a.type?a.text:"").join("\n"),d=/Command exited with code (-?\d+)\s*$/.exec(c.trimEnd());return d?Number(d[1]):null}function u(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}let v=["investigate","edit","check","review","commit","ci","deploy"];function w(a,b){let c="",d=b;for(;d<a.length&&'"'!==a[d];){let b=a[d];if("\\"===b&&d+1<a.length){let e=a[d+1];"\n"!==e&&(c+='$`"\\'.includes(e)?e:b+e),d+=2}else if("$"===b&&"("===a[d+1]){let b=x(a,d+1);c+=a.slice(d,b),d=b}else if("`"===b){let b=y(a,d+1);c+=a.slice(d,b),d=b}else c+=b,d+=1}return{text:c,end:Math.min(d+1,a.length)}}function x(a,b){let c=a[b],d="{"===c?"}":")",e=0,f=b;for(;f<a.length;){let b=a[f];if("\\"===b)f+=2;else if("'"===b){let b=a.indexOf("'",f+1);f=b<0?a.length:b+1}else if('"'===b)f=w(a,f+1).end;else if("`"===b)f=y(a,f+1);else{if(b===c)e+=1;else if(b===d&&0==--e)return f+1;f+=1}}return a.length}function y(a,b){let c=b;for(;c<a.length&&"`"!==a[c];)c+="\\"===a[c]?2:1;return Math.min(c+1,a.length)}function z(a){let b=[],c=[],d={pipelines:[],operators:[],background:!1},e={commands:[],negated:!1},f=[],g=()=>{let b=f.map(a=>a.value).filter(a=>"{"!==a&&"}"!==a);if(0===e.commands.length&&"!"===b[0]&&(e.negated=!0,b.shift()),b.length>0){let d={words:b,text:a.slice(f[0].start,f[f.length-1].end)};e.commands.push(d),c.push(d)}f=[]},h=()=>{g(),e.commands.length>0&&d.pipelines.push(e),e={commands:[],negated:!1}},i=a=>{h(),d.pipelines.length>0&&b.push({...d,background:a}),d={pipelines:[],operators:[],background:!1}};for(let b of function(a){let b=[],c=[],d="",e=-1,f=a=>{e<0||(b.push({value:d,start:e,end:a}),d="",e=-1)},g=0;for(;g<a.length;){let h=a[g];if("\\"===h)"\n"!==a[g+1]&&(e<0&&(e=g),d+=a[g+1]??""),g+=2;else if("'"===h){e<0&&(e=g);let b=a.indexOf("'",g+1),c=b<0?a.length:b;d+=a.slice(g+1,c),g=c+1}else if('"'===h){e<0&&(e=g);let b=w(a,g+1);d+=b.text,g=b.end}else if("$"===h&&("("===a[g+1]||"{"===a[g+1])){e<0&&(e=g);let b=x(a,g+1);d+=a.slice(g,b),g=b}else if("`"===h){e<0&&(e=g);let b=y(a,g+1);d+=a.slice(g,b),g=b}else if("#"===h&&e<0){let b=a.indexOf("\n",g);g=b<0?a.length:b}else if(" "===h||" "===h||"\r"===h)f(g),g+=1;else if("\n"===h){f(g);let d=b[b.length-1];for(let{delimiter:e,stripTabs:f}of("&&"!==d&&"||"!==d&&"|"!==d&&b.push(";"),g+=1,c.splice(0)))for(;g<a.length;){let b=a.indexOf("\n",g),c=b<0?a.length:b,d=a.slice(g,c);if(g=c+1,(f?d.replace(/^\t+/,""):d)===e)break}}else if("<"===h&&"<"===a[g+1]&&"<"!==a[g+2]){f(g);let b=g+2,d="-"===a[b];for(d&&(b+=1);" "===a[b]||" "===a[b];)b+=1;let e="";for(;b<a.length&&!/[\s;&|<>()]/.test(a[b]);){let c=a[b];if("'"===c||'"'===c){let d=a.indexOf(c,b+1),f=d<0?a.length:d;e+=a.slice(b+1,f),b=f+1}else e+="\\"===c?a[b+1]??"":c,b+="\\"===c?2:1}e&&c.push({delimiter:e,stripTabs:d}),g=b}else";"===h?(f(g),b.push(";"),g+=";"===a[g+1]?2:1):"&"===h?"&"===a[g+1]?(f(g),b.push("&&"),g+=2):(">"===a[g+1]||/[<>]$/.test(d)?(e<0&&(e=g),d+=h):(f(g),b.push("&")),g+=1):"|"===h?"|"===a[g+1]?(f(g),b.push("||"),g+=2):d.endsWith(">")?(d+=h,g+=1):(f(g),b.push("|"),g+="&"===a[g+1]?2:1):("("===h||")"===h?f(g):(e<0&&(e=g),d+=h),g+=1)}return f(a.length),b}(a))"string"!=typeof b?f.push(b):"|"===b?g():"&&"===b||"||"===b?(h(),d.operators.push(b)):i("&"===b);return i(!1),{lists:b,commands:c,uncertain:/[(){}!`]/.test(a)}}function A(a){return a.slice(a.lastIndexOf("/")+1)}let B={bash:!0,sh:!0,zsh:!0,dash:!0},C={sudo:!0,env:!0,command:!0,exec:!0,nice:!0,nohup:!0,time:!0,timeout:!0,setsid:!0,"systemd-run":!0},D={"-u":!0,"--unit":!0,"-p":!0,"--property":!0,"-E":!0,"--setenv":!0,"--description":!0,"--slice":!0,"-M":!0,"--machine":!0,"-H":!0,"--host":!0,"--uid":!0,"--gid":!0,"--working-directory":!0,"-s":!0,"--signal":!0,"-k":!0,"--kill-after":!0},E={"--wait":!0,"-W":!0,"--pipe":!0,"-P":!0,"--pty":!0,"-t":!0,"--scope":!0},F={if:!0,then:!0,elif:!0,else:!0,do:!0,while:!0,until:!0};function G(a){let b=J(a);if(b>=0&&"eval"===a[b])return b+1<a.length?a.slice(b+1).join(" "):null;if(b<0||!Object.hasOwn(B,A(a[b]))||H(a,b))return null;for(let c=b+1;c<a.length&&/^[-+]/.test(a[c]);c+=1){if(/^-[a-zA-Z]*c[a-zA-Z]*$/.test(a[c]))return a[c+1]??null;(/^[-+][a-zA-Z]*[oO]$/.test(a[c])||"--rcfile"===a[c]||"--init-file"===a[c])&&(c+=1)}return null}function H(a,b){for(let c=b+1;c<a.length&&/^[-+]/.test(a[c]);c+=1){if(/^-[a-zA-Z]*n[a-zA-Z]*$/.test(a[c])||/^-[a-zA-Z]*o$/.test(a[c])&&"noexec"===a[c+1])return!0;(/^[-+][a-zA-Z]*[oO]$/.test(a[c])||"--rcfile"===a[c]||"--init-file"===a[c])&&(c+=1)}return!1}let I={command:/^-[a-zA-Z]*[vV]/,sudo:/^(?:-[a-zA-Z]*[lvVhK]|--(?:list|validate|version|help|remove-timestamp)$)/};function J(a){let b=!1,c="";for(let d=0;d<a.length;d+=1){let e=a[d];if(!(/^[A-Za-z_]\w*=/.test(e)||!b&&Object.hasOwn(F,e))){if(b&&(e.startsWith("-")||/^\d+(?:\.\d+)?[smhd]?$/.test(e))){if(Object.hasOwn(I,c)&&I[c].test(e))return -1;"command"!==c&&Object.hasOwn(D,e)&&(d+=1);continue}if(!Object.hasOwn(C,A(e)))return d;b=!0,c=A(e)}}return -1}let K=/(?:^|\/)wsl\/update\.sh$/;function L(a,b=0){let c=G(a);if(null!==c)return b<3&&z(c).commands.some(a=>L(a.words,b+1));let d=J(a);if(d<0)return!1;if(K.test(a[d]))return!0;if(!Object.hasOwn(B,A(a[d]))||H(a,d))return!1;let e=a.slice(d+1).find(a=>!a.startsWith("-"));return void 0!==e&&K.test(e)}function M(a){let b=J(a),c=b<0?a:a.slice(0,b),d=c.map(A);return d.includes("systemd-run")?!c.some(a=>Object.hasOwn(E,a)):!!(d.includes("sudo")&&c.some(a=>"--background"===a||/^-[a-zA-Z]*b[a-zA-Z]*$/.test(a)))||d.includes("setsid")&&!c.includes("-w")&&!c.includes("--wait")}function N(a){let[b]=a.pipelines;return 1!==a.pipelines.length||1!==b.commands.length||b.negated?null:b.commands[0]}function O(a){if(a.every(a=>/^[A-Za-z_]\w*=/.test(a)))return!0;let[b,...c]=a;return"cd"===b?c.length<=1:"export"===b?c.every(a=>/^[A-Za-z_]\w*=/.test(a)):"set"===b&&c.every(a=>/^[-+][a-zA-Z]+$/.test(a)&&!/^-[a-zA-Z]*n/.test(a)||"pipefail"===a)}let P={tail:!0,head:!0,cat:!0,tee:!0},Q=/(?:^|[^\w-])(?:tests?|typecheck|tsc|lint|eslint|vitest|jest|pytest|build|check|verify|smoke)(?![\w])/i,R={bun:!0,bunx:!0,npm:!0,npx:!0,pnpm:!0,yarn:!0,node:!0,python:!0,python3:!0,deno:!0},S={"--help":!0,"-h":!0,"--version":!0},T=Object.fromEntries(["-C","-r","--allow-fs-read","--allow-fs-write","--build-snapshot-config","--conditions","--cpu-prof-dir","--debug-port","--inspect-port","--experimental-config-file","--experimental-default-config-file","--experimental-test-isolation","--test-isolation","--report-dir","--report-directory","--cpu-prof-interval","--cpu-prof-name","--diagnostic-dir","--disable-proto","--disable-warning","--dns-result-order","--env-file","--env-file-if-exists","--experimental-loader","--experimental-package-map","--experimental-sea-config","--experimental-test-tag-filter","--heap-prof-dir","--heap-prof-interval","--heap-prof-name","--heapsnapshot-near-heap-limit","--heapsnapshot-signal","--icu-data-dir","--import","--input-type","--inspect-publish-uid","--loader","--localstorage-file","--max-http-header-size","--max-old-space-size-percentage","--network-family-autoselection-attempt-timeout","--openssl-config","--redirect-warnings","--report-filename","--report-signal","--require","--run","--secure-heap","--secure-heap-min","--snapshot-blob","--test-concurrency","--test-coverage-branches","--test-coverage-exclude","--test-coverage-functions","--test-coverage-include","--test-coverage-lines","--test-global-setup","--test-name-pattern","--test-random-seed","--test-reporter","--test-reporter-destination","--test-rerun-failures","--test-shard","--test-skip-pattern","--test-timeout","--title","--tls-cipher-list","--tls-keylog","--trace-event-categories","--trace-event-file-pattern","--trace-require-module","--unhandled-rejections","--use-largepages","--v8-pool-size","--watch-kill-signal","--watch-path"].map(a=>[a,!0]));function U(a){let b=J(a);if(b<0)return!1;let c=A(a[b]);if("test"===c||"["===c||a.slice(b+1).some(a=>Object.hasOwn(S,a)))return!1;if(Q.test(c))return!0;if(!Object.hasOwn(R,c))return!1;if("node"===c&&function(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("--test"===b)return!0;if("--"===b||!b.startsWith("-"))break;Object.hasOwn(T,b)&&(c+=1)}return!1}(a,b+1))return!0;let d=function(a,b){for(let c=b;c<a.length;c+=1){let b=a[c];if("-m"===b)return a[c+1];if(/^-[a-zA-Z]*[cep]/.test(b)||/^--(?:eval|print)(?:=|$)/.test(b))break;if(!b.startsWith("-")){if("run"===b||"exec"===b||"x"===b||"dlx"===b)return a.slice(c+1).find(a=>!a.startsWith("-"));return b}}}(a,b+1);return void 0!==d&&Q.test(d)}let V={"-C":!0,"-c":!0,"--git-dir":!0,"--work-tree":!0,"--namespace":!0},W={commit:{"--dry-run":!0,"-h":!0,"--help":!0},push:{"--dry-run":!0,"-n":!0,"-h":!0,"--help":!0,"--delete":!0,"-d":!0}};function X(a){let b=J(a);if(b<0||"git"!==A(a[b]))return null;for(let c=b+1;c<a.length;c+=1)if(Object.hasOwn(V,a[c]))c+=1;else if(!a[c].startsWith("-"))return{name:a[c],at:c};return null}function Y(a,b=0,c){let d=G(a);if(null!==d)return b<3&&z(d).commands.some(a=>Y(a.words,b+1,c));let e=X(a);if(!e||"commit"!==e.name&&"push"!==e.name||void 0!==c&&e.name!==c)return!1;let f=W[e.name];return!a.slice(e.at+1).some(a=>Object.hasOwn(f,a)||"push"===e.name&&/[nd]/.test(function(a){if(!/^-[a-zA-Z0-9]/.test(a))return"";let b="";for(let c of a.slice(1)){if("o".includes(c)||!/[a-zA-Z0-9]/.test(c))break;b+=c}return b}(a)))}function Z(a){return O(a)||null!==X(a)}let $={check:({words:a})=>U(a),commit:({words:a})=>Y(a),ci:({words:a})=>{let b=J(a);return b>=0&&"gh"===A(a[b])&&"run"===a[b+1]&&"watch"===a[b+2]&&a.includes("--exit-status")},deploy:a=>L(a.words)},_={test:"test",tests:"test",vitest:"test",jest:"test",pytest:"test",typecheck:"typecheck",tsc:"typecheck",lint:"lint",eslint:"lint",build:"build",check:"verify",verify:"verify",smoke:"smoke"};function aa(a){return!a||"object"!=typeof a||"bash"!==a.toolName||!a.input||"object"!=typeof a.input||Array.isArray(a.input)?null:("string"==typeof a.input.command?a.input.command.trim():"")||null}let ab={"$?":!1,"${PIPESTATUS[0]}":!0};function ac(a,b){let c=am(b);if("notRun"===c)return[];let d=c?void 0:b,e=z(a),f=[];if(e.commands.some(({words:a})=>(function a(b,c=0){let d=G(b);return null!==d?c<3&&z(d).commands.some(b=>a(b.words,c+1)):U(b)})(a))&&f.push("check"),e.commands.some(({words:a})=>Y(a))&&f.push("commit"),e.commands.some(({words:a})=>(function a(b,c=0){let d=G(b);if(null!==d)return c<3&&z(d).commands.some(b=>a(b.words,c+1));let e=J(b);return e>=0&&"gh"===A(b[e])&&"run"===b[e+1]&&["watch","view","list"].includes(b[e+2])})(a))&&f.push("ci"),e.commands.some($.deploy)&&f.push("deploy"),0===f.length)return[];let g=d?t(d):null,h=null===g?!!d?.isError:0!==g,i=f.length>1?{stages:f,failed:h}:void 0,j=d?aB(d):"";return f.map(a=>{var b;let c,f,k,l="commit"===a?Z:O,m=function a(b,c,d=O,e=0){let{lists:f}=b,g=[],h=b.uncertain,i=!1;return f.forEach((b,j)=>{for(let k of(b.pipelines.some(a=>a.commands.some(({words:a})=>a.some(a=>a.includes("pipefail"))))&&(i=!1),b.pipelines)){let l=!1;for(let m of k.commands){let n=e<3?G(m.words):null,o=null===n?null:a(z(n),c,d,e+1);if(o&&o.decisive.length>0)g.push(...o.decisive);else if(c(m))g.push(m);else{let a=J(m.words);l&&i&&a>=0&&Object.hasOwn(P,A(m.words[a]))||d(m.words)||function(a,b){if(b!==a.length-1||a[b].background)return!1;let c=N(a[b])?.words;return c?.[0]==="exit"&&(1===c.length||2===c.length&&"$?"===c[1])}(f,j)||(h=!0);continue}l=!0,(o?.reach==="masked"||k.negated||k.commands.length>1&&!i||b.operators.includes("||")||b.background||M(m.words)||!function(a,b){if(b===a.length-1)return!0;let c=a[a.length-1],d=N(c)?.words;return!!d&&"exit"===d[0]&&!c.background&&b===a.length-2&&(1===d.length||2===d.length&&"$?"===d[1])}(f,j))&&(h=!0)}}let k=N(b)?.words;!b.background&&k?.[0]==="set"&&3===k.length&&"pipefail"===k[2]&&(/^-[a-zA-Z]*o$/.test(k[1])?i=!0:/^\+[a-zA-Z]*o$/.test(k[1])&&(i=!1))}),{reach:0===g.length?"absent":h?"masked":"carried",decisive:g}}(e,$[a],l),n="check"===a&&m.decisive.some(({words:a})=>a.includes("--if-present")),o=d?(b=$[a],c=new Map,f=e.lists.map(a=>(function(a){let b=a&&!a.background?N(a)?.words:void 0;if(!b||"echo"!==b[0]||b.length<2)return null;let c=b.slice(1);if(c.some(a=>a.startsWith("-")||/^(?:\d*[<>]|&>)/.test(a)))return null;let d=c.join(" ");for(let[a,b]of Object.entries(ab)){let c=d.indexOf(a);if(c<0||d.indexOf(a,c+1)>=0)continue;let e=d.slice(0,c),f=d.slice(c+a.length);if(/[$`\\]/.test(e+f)||!/[^\s\d]/.test(e))break;return{prefix:e,suffix:f,first:b}}return null})(a)),k=j.split("\n").map(a=>a.trimEnd()),e.lists.forEach((a,d)=>{let e=f[d+1];if(!e||a.background||a.operators.includes("||"))return;let g=a.pipelines[a.pipelines.length-1],h=a.pipelines.slice(0,-1);if(g.negated||h.some(a=>a.negated||1!==a.commands.length||!l(a.commands[0].words)))return;let i=e.first||1===g.commands.length?g.commands[0]:void 0;if(!i||!b(i)||M(i.words)||/[(){}!`]/.test(i.text))return;let j=f.filter(a=>a?.prefix===e.prefix&&a.suffix===e.suffix),m=RegExp(`^${e.prefix.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(-?\\d+)${e.suffix.trimEnd().replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}$`),n=k.flatMap(a=>{let b=m.exec(a);return b?[{code:Number(b[1]),line:a}]:[]});if(n.length!==j.length)return;let o=f.slice(0,d+2).filter(a=>j.includes(a)).length-1;c.set(i,n[o])}),c):new Map,p=m.decisive.flatMap(a=>o.get(a)??[]),q=p.length>0&&p.length===m.decisive.length?p.find(({code:a})=>0!==a)??p[0]:null;return{stage:a,state:q?0!==q.code?"failed":n?"unverified":"passed":h?i?"unverified":"failed":null===g?"unobserved":"carried"!==m.reach||n?"unverified":"passed",exitCode:g,labels:"check"===a?function(a){let b=[];for(let{words:c}of a){let a=J(c);c.forEach((c,d)=>{if(d!==a||"test"!==c)for(let a of c.replace(/^-+/,"").toLowerCase().split(":")){let c=Object.hasOwn(_,a)?_[a]:void 0;c&&!b.includes(c)&&b.push(c)}})}return b}(m.decisive):[],...i?{compound:i}:{},...q?{evidence:q.line}:{}}})}let ad=/\.(?:md|mdx|markdown|txt)$/i,ae=/^docs?$/i,af={read:!0,grep:!0,glob:!0,find:!0,ls:!0,skim:!0,web_search:!0,fetch:!0,ast_grep:!0,lsp:!0,recall:!0,reflect:!0},ag={multiedit:!0,notebookedit:!0,draft:!0},ah={rename:!0,rename_file:!0},ai={passed:"done",failed:"failed",unverified:"unverified",unobserved:"unobserved"};function aj(a){return a.split("\n")[0].trim()||void 0}let ak=/^\[[^\]\n]*? ([0-9a-f]{7,40})\] (.+)$/m,al=/^\s*\+?[0-9a-f]{7,40}\.{2,3}([0-9a-f]{7,40})\s+\S+\s+->\s+\S+/m;function am(a){let b=a?.details;return b&&"object"==typeof b?"__synthetic"in b&&!0===b.__synthetic&&"executed"in b&&!1===b.executed?"notRun":"__interrupted"in b&&!0===b.__interrupted?"interrupted":null:null}let an=/\btool\.git_finalize\s*\(/,ao=/\bCommitted and pushed ([0-9a-f]{40})\b|\bcommitSha["']?\s*:\s*["']([0-9a-f]{40})["']/,ap=/\bgit_finalize failed\b|\bok["']?\s*:\s*false\b|\bstage["']?\s*:\s*["'](?!complete["'])[\w-]+["']/,aq=/["']?\bmessage["']?\s*:\s*(["'`])((?:\\[\s\S]|(?!\1)[^\\])*)\1/,ar=/^bg_\d+$/;function as(a,b){let c=/Command exited with code (-?\d+)\s*$/.exec(b.trimEnd());return{jobId:a,text:b,exitCode:c?Number(c[1]):null}}function at(a){return"passed"===a||"failed"===a||"done"===a}function au(a){let b=null;for(let c of a.values())"failed"===c.outcome&&(!b||c.order>b.order)&&(b=c);return b?.stage??null}let av={failed:6,running:5,unverified:4,unobserved:3,stale:2,passed:1,done:0};function aw(a){return"stale"!==a&&(at(a)||"running"===a)}function ax(a){if("ci"!==a.stage)return null;let b=z(a.command).commands.flatMap(({words:a})=>aD(a)).map(a=>"run"===a[0]&&("watch"===a[1]||"view"===a[1])?aH(a):null);return b.length>0&&b.every(a=>null!==a)?b:null}let ay={"publish public mirror":!0,"publish-public.yml":!0,".github/workflows/publish-public.yml":!0},az={ci:!0,"ci.yml":!0,".github/workflows/ci.yml":!0},aA=/^[0-9a-f]{40}$/i;function aB(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"text"in a&&"string"==typeof a.text?a.text:"").join("\n"):""}function aC(a){let b=[];for(let c of a.split("\n")){let a,d=c.trim();if(d.startsWith("{")||d.startsWith("[")){try{a=JSON.parse(d)}catch{continue}for(let c of Array.isArray(a)?a:[a])c&&"object"==typeof c&&!Array.isArray(c)&&b.push(c)}}return b}function aD(a,b=0){let c=G(a);if(null!==c)return b<3?z(c).commands.flatMap(a=>aD(a.words,b+1)):[];let d=J(a);return d>=0&&"gh"===A(a[d])?[a.slice(d+1)]:[]}function aE(a,b){for(let c=0;c<a.length;c+=1)for(let d of b){if(a[c]===d)return a[c+1]??null;if(d.startsWith("--")&&a[c].startsWith(`${d}=`))return a[c].slice(d.length+1)}return null}let aF={"-R":!0,"--repo":!0,"-j":!0,"--job":!0,"--interval":!0,"-i":!0,"--json":!0,"-q":!0,"--jq":!0,"-t":!0,"--template":!0};function aG(a){for(let b=2;b<a.length;b+=1){if(Object.hasOwn(aF,a[b])){b+=1;continue}if(!a[b].startsWith("-"))return a[b]}return null}function aH(a){let b=aG(a);return null!==b&&/^\d+$/.test(b)?b:null}let aI=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/actions\/runs\/\d+/i;function aJ(a,b){if(!b||b.isError||!/\bgh\b/.test(a)||0!==t(b))return[];let c=z(a).commands.flatMap(({words:a})=>aD(a)).filter(a=>"run"===a[0]&&("list"===a[1]||"view"===a[1]));if(0===c.length)return[];let d=1===c.length?c[0]:null,e=d?.[1]==="list"?aE(d,["-c","--commit"])?.toLowerCase():void 0,f=e&&/^[0-9a-f]{7,40}$/.test(e)?e:null,g=aB(b);return f||g.includes("headSha")?aC(g).flatMap(a=>{let b="string"==typeof a.headSha?a.headSha.toLowerCase():f;if(null===b)return[];let c="string"==typeof a.url?aI.exec(a.url)?.[1]??null:null;return[{id:"number"==typeof a.databaseId||"string"==typeof a.databaseId?String(a.databaseId):d?.[1]==="view"?aH(d):null,repo:(c??(d?aE(d,["-R","--repo"]):null))?.toLowerCase()??null,sha:b,status:a.status,conclusion:a.conclusion,branch:"string"==typeof a.headBranch?a.headBranch:d?aE(d,["-b","--branch"]):null,workflow:("string"==typeof a.workflowName?a.workflowName:"string"==typeof a.name&&"databaseId"in a?a.name:d?aE(d,["-w","--workflow"]):null)?.toLowerCase()??null,title:"string"==typeof a.displayTitle?a.displayTitle:null}]}):[]}let aK=/\b\d{9,12}\b/g,aL=/\b(?=[0-9a-f]*[a-f])[0-9a-f]{7,40}\b/;function aM(a,b){if(a?.type!=="toolCall")return[];let c=aa(a);return null===c?[]:aJ(c,b).flatMap(a=>a.repo&&a.sha&&a.branch&&a.workflow&&"completed"===a.status&&"success"===a.conclusion&&Object.hasOwn(az,a.workflow)?[{repo:a.repo,sha:a.sha,branch:a.branch,workflow:a.workflow}]:[])}let aN="Public tree already matches; nothing to publish";function aO(a){let b=null===a?null:/^\$(?:\{([A-Za-z_]\w*)\}|([A-Za-z_]\w*))$/.exec(a);return b?b[1]??b[2]:null}function aP(a){let b="run"===a[0]&&"list"===a[1]?aE(a,["-w","--workflow"])?.toLowerCase():void 0;return void 0!==b&&Object.hasOwn(ay,b)}function aQ(a,b){let c=new Map,d=[];for(let{words:e}of z(a).commands){let a=e.map(a=>/^([A-Za-z_]\w*)=([\s\S]*)$/.exec(a));if(e.length>0&&a.every(a=>null!==a)){for(let b of a){if(!b)continue;let a=/^\$\(([\s\S]*)\)$/.exec(b[2])?.[1],d=void 0===a?[]:z(a).commands.flatMap(a=>aD(a.words));c.set(b[1],1===d.length&&aP(d[0]))}continue}for(let a of aD(e)){if(aP(a)){d.push({args:a,publish:!0});continue}let e="run"===a[0]&&("watch"===a[1]||"view"===a[1])?aG(a):null,f=aO(e),g=null!==f?!0===c.get(f):null!==e&&/^\d+$/.test(e)&&b(e);d.push({args:a,publish:g})}}return d}function aR(a,b){let c=aQ(a,b);return c.length>0&&c.every(({publish:a})=>a)}function aS(a,b){if(!a||!b)return!1;let[c,d]=a.length<=b.length?[a.toLowerCase(),b.toLowerCase()]:[b.toLowerCase(),a.toLowerCase()];return c.length>=7&&/^[0-9a-f]+$/.test(d)&&d.startsWith(c)}function aT(a,b,c){if(aS(a.sha,b.step.commit))return!0;let{title:d}=b.step;return!!d&&!!a.title&&!!a.repo&&!(a.order<=b.order)&&!!a.workflow&&!!Object.hasOwn(az,a.workflow)&&[...c.publishRuns.values()].some(c=>c.order>b.order&&null!==c.sha&&aS(c.sha,b.step.commit)&&null!==c.repo&&c.repo!==a.repo)&&function(a,b){if(a===b)return!0;let c=a.endsWith("…")?a.slice(0,-1):null;return null!==c&&c.length>=20&&b.startsWith(c)}(a.title,d)}let aU={failure:!0,cancelled:!0,timed_out:!0,startup_failure:!0},aV=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) READY ([0-9a-f]{7,40})\b/,aW=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) (ROLLED_BACK|ROLLBACK_FAILED|FAIL)\b/,aX=/^(\d{4}-\d\d-\d\dT\d\d:\d\d:\d\dZ) START old=\S* target=([0-9a-f]{7,40})\b/,aY={running:!0,unobserved:!0,unverified:!0,failed:!0,stale:!0};function aZ(a){return a.flatMap(a=>a.tasks.flatMap(b=>"completed"===b.status||"abandoned"===b.status?[]:[{phase:a.name,content:b.content,status:b.status,blocker:b.blocker??null}]))}function a$(a,b,c,d=0,e=[]){for(let f=Math.max(0,d);f<Math.min(a.length,c);f++){let c=a[f];if("assistant"===c.role)for(let a of c.content??[])"toolCall"===a.type&&e.push(...aM(a,b.get(a.toolCallId)))}return e}function a_(a,b,c){if(0===a.length)return null;let d=[],l=a=>{if("message"in a)d.push(a.message);else{let b=d.at(-1);b&&(d[d.length-1]={...b,trackerTodos:[...b.trackerTodos??[],a.trackerTodo]})}},m=-1;for(let b of a)"message"in b&&"user"===b.message.role&&!e(b.message)&&(m=d.length),l(b);let p=null;for(let a of b){if("message"in a){if("user"===a.message.role&&!e(a.message))break;p=a.entryId}l(a)}if(null===p)return null;let q=new Map;for(let a of d)"toolResult"===a.role&&q.set(a.toolCallId,a);let w=a$(d,q,m+1),{files:x,checks:y,remaining:A,span:B,flow:C}=function(a,b,c,d,e,l=[]){let m=function(a,b,c){let d=[];for(let e=Math.max(0,b);e<Math.min(a.length,c);e++){let b=a[e];"assistant"===b.role&&d.push(...b.content??[])}return d}(a,c,d),p=function(a,b,c,d){let e=Math.min(a.length,d),i=new Map;for(let b=Math.max(0,c);b<e;b++){let c=a[b];"toolResult"===c.role&&i.set(c.toolCallId,b)}let j=[];for(let d=Math.max(0,c-1);d<e;d++){let e=a[d];if(d>=c&&"assistant"===e.role)for(let a of e.content??[]){if("toolCall"!==a.type||!h(a.toolName))continue;let c=g(a,b.get(a.toolCallId));"authoritative"===c.kind&&j.push({at:i.get(a.toolCallId)??d,phases:c.phases})}for(let a of e.trackerTodos??[]){let b=function(a){if(!Array.isArray(a))return null;let{phases:b,malformed:c}=f(a);return c?null:b}(a);b&&j.push({at:d+.5,phases:b})}}let k=null;for(let a of j)(!k||a.at>=k.at)&&(k=a);return k?k.phases:null}(a,b,c,d);return{...function(a,b,c){let d=[],e=[],f=null;for(let c of a){if("toolCall"!==c.type)continue;if("task"===c.toolName){e.push(c);continue}if(h(c.toolName)){let a=g(c,b.get(c.toolCallId));"authoritative"===a.kind&&(f=a.phases);continue}let a=function(a,b){let c=aa(a),d=null===c?void 0:ac(c,b).find(a=>"check"===a.stage);return null!==c&&d?{toolCallId:a.toolCallId,command:c,state:d.state,exitCode:d.exitCode,labels:d.labels,...d.compound?{compound:d.compound}:{}}:null}(c,b.get(c.toolCallId));a&&d.push(a)}return{checks:d,dispatchCalls:e,files:function(a,b,c){let d=new Set,e=[];for(let g of a){var f;if("toolCall"!==g.type||!(j(f=g.toolName)||k(f)))continue;let a=b?.get(g.toolCallId);if(a&&!a.isError)for(let b of n(g.input,a)){if(!s(b))continue;let a=i(b,c);!(!a||r(b,c))&&(d.has(a)||(d.add(a),e.push({filePath:a})))}}return e}(a,b,c),remaining:f?aZ(f):null}}(m,b,e),remaining:p?aZ(p):null,span:function(a,b,c){let d=null,e=null;for(let f=Math.max(0,b-1);f<Math.min(a.length,c);f++){let b=a[f];for(let a of[b.timestamp,"assistant"===b.role?b.completedAt:void 0])"number"==typeof a&&Number.isFinite(a)&&((null===d||a<d)&&(d=a),(null===e||a>e)&&(e=a))}return{startedAt:d,endedAt:e}}(a,c,d),flow:function(a,b,c=!1,d=[],e,f=[]){let g,h,l=[],m=[],n=1,p=new Map,q=-1,s=-1,w=new Map,x={publishRuns:new Map,watched:[],heads:[],ciHeads:[],nothingToPublish:[],runs:[]},y=Array.isArray(a)?a:[],A=b instanceof Map?b:new Map,B=function(a,b,c=[]){let d=new Map,e=new Map,f=new Map;for(let a of c)null!==a.after&&f.set(a.after,[...f.get(a.after)??[],a]);let g=(a,b)=>{for(let c of a){let a=e.get(c.jobId);a&&(e.delete(c.jobId),d.set(a.toolCallId,{...a.result,isError:!1,content:[{type:"text",text:c.text}],details:{...null===c.exitCode?{}:{exitCode:c.exitCode},backgroundJob:{jobId:c.jobId,after:b}}}))}};for(let c of Array.isArray(a)?a:[]){if(!c||"toolCall"!==c.type)continue;let a=b.get(c.toolCallId);if(a){let b="bash"===c.toolName||"eval"===c.toolName?function(a){let b=a.details,c=b&&"object"==typeof b&&"async"in b?b.async:null;if(c&&"object"==typeof c&&"jobId"in c&&"string"==typeof c.jobId&&ar.test(c.jobId))return c.jobId;let d=aB(a).trimStart();return d.startsWith("Backgrounded")?/\bBackgrounded as job (bg_\d+)\b/.exec(d)?.[1]??null:null}(a):null;b?e.set(b,{toolCallId:c.toolCallId,result:a}):d.set(c.toolCallId,a),"wait"===c.toolName&&g(function(a){let b=a.details,c=b&&"object"==typeof b&&"jobs"in b?b.jobs:null,d=(Array.isArray(c)?c:[]).flatMap(a=>{if(!a||"object"!=typeof a||!("id"in a)||!("status"in a)||!("resultText"in a)||"string"!=typeof a.id||!ar.test(a.id)||"completed"!==a.status&&"failed"!==a.status||"string"!=typeof a.resultText)return[];let b="exitCode"in a&&"number"==typeof a.exitCode?a.exitCode:null;return[{...as(a.id,a.resultText),...null===b?{}:{exitCode:b}}]});if(d.length>0)return d;let e=aB(a),f=[...e.matchAll(/^### (bg_\d+) \[\w+\] — (?:completed|failed)$/gm)];return f.map((a,b)=>{let c=(a.index??0)+a[0].length,d=e.slice(c,b+1<f.length?f[b+1].index:e.length),g=d.indexOf("\n```\n"),h=d.lastIndexOf("\n```");return as(a[1],g>=0&&h>g?d.slice(g+5,h):"")})}(a),c.toolCallId);let f="read"===c.toolName?function(a,b){let c=a.input.path,d="string"==typeof c?/^proc:\/\/(bg_\d+)$/.exec(c)?.[1]:void 0;if(!d)return null;let[e,...f]=aB(b).split("\n");return RegExp(`^1\\|${d} \\[\\w+\\] — (?:completed|failed)\\b`).test(e)?as(d,f.map(a=>a.replace(/^\d+\|/,"")).join("\n")):null}(c,a):null;f&&g([f],c.toolCallId)}for(let a of f.get(c.toolCallId)??[])g(function(a){let b=a.replace(/^\s*<system-notice>\s*\n?/,"").replace(/\s*<\/system-notice>\s*$/,""),c=/^Background job (bg_\d+) has (?:completed|failed)\b[^\n]*(?:\n|$)/.exec(b);if(c)return[as(c[1],b.slice(c[0].length))];let d=[...b.matchAll(/^── Job (\S+) .*──$/gm)];return d.flatMap((a,c)=>{if(!ar.test(a[1]))return[];let e=(a.index??0)+a[0].length;return[as(a[1],b.slice(e,c+1<d.length?d[c+1].index:b.length).replace(/^\n/,""))]})}(a.text),c.toolCallId)}return d}(y,A,Array.isArray(f)?f:[]),C=[];y.forEach((a,b)=>{let d;if(!a||"toolCall"!==a.type)return;let f=B.get(a.toolCallId);for(let g of(!function(a,b,c,d){let e=aa(b);if(null===e||!e.includes("gh"))return;let f=(b,c)=>{let e=a.publishRuns.get(b);e&&(null===c.sha||null!==e.sha)||a.publishRuns.set(b,{...c,order:e?.order??d})};for(let b of aJ(e,c))a.runs.push({...b,order:d}),b.id&&b.sha&&b.workflow&&Object.hasOwn(ay,b.workflow)&&f(b.id,{sha:b.sha,repo:b.repo});for(let a of function(a,b){if(!b||b.isError||0!==t(b))return[];let c=z(a).commands.flatMap(({words:a})=>aD(a)).filter(a=>"run"===a[0]&&"list"===a[1]);if(1!==c.length)return[];let d=aE(c[0],["-w","--workflow"])?.toLowerCase(),e=void 0!==d&&Object.hasOwn(ay,d),f=aE(c[0],["-R","--repo"])?.toLowerCase()??null;return aB(b).split("\n").flatMap(a=>{let b=a.trim();if(b.startsWith("{")||b.startsWith("["))return[];let c=b.toLowerCase();if(!e&&!Object.keys(ay).some(a=>c.includes(a)))return[];let d=b.match(aK)??[];return 1===d.length?[{id:d[0],sha:aL.exec(c)?.[0]??null,repo:f}]:[]})}(e,c))f(a.id,a);for(let e of aM(b,c))a.ciHeads.push({...e,order:d});for(let b of function(a,b){let c=z(a),d=c.commands.flatMap(({words:a})=>aD(a)).filter(a=>"api"===a[0]),e=!c.uncertain&&1===c.commands.length&&1===d.length,f=b&&!b.isError&&0===t(b)?aB(b).trim():"",g=[];for(let a of d){let b=a.slice(1).find(a=>/^\/?repos\//.test(a)),c=b?/^\/?repos\/([^/]+\/[^/]+)\/commits\/([^/?\s]+)$/.exec(b):null;if(!c)continue;let d=aE(a,["-q","--jq"]),h=null;if(e&&".sha"===d)h=f.split("\n")[0]?.trim();else if(e&&null===d&&f.startsWith("{"))try{h=JSON.parse(f.slice(0,f.lastIndexOf("}")+1)).sha}catch{}let i="string"==typeof h&&aA.test(h)?h.toLowerCase():null;g.push({repo:c[1].toLowerCase(),ref:c[2],sha:i})}return g}(e,c))a.heads.push({...b,order:d});let g=function(a,b){if(!b||b.isError||0!==t(b)||2!==a.split(aN).length)return null;let{lists:c}=z(a),d=0;for(;d<c.length&&["set","cd"].includes(N(c[d])?.words[0]??"");)d+=1;let e=d<c.length-1?function(a){let b=N(a)?.words,c=b?.length===1?/^([A-Za-z_]\w*)=\$\(([\s\S]*)\)$/.exec(b[0]):null;if(!c)return null;let d=z(c[2]),e=1===d.lists.length?N(d.lists[0]):null,f=e?.words[0]==="gh"?aD(e.words):[];if(1!==f.length||"run"!==f[0][0]||"list"!==f[0][1])return null;let g=aE(f[0],["-c","--commit"]),h=aE(f[0],["-w","--workflow"])?.toLowerCase();return g&&aA.test(g)&&h&&Object.hasOwn(ay,h)?{name:c[1],sha:g.toLowerCase()}:null}(c[d]):null;return e&&function(a,b){if(a.background||1!==a.pipelines.length)return!1;let[c]=a.pipelines,[d,e,...f]=c.commands;if(c.negated||!e||f.length>1||"gh"!==d.words[0])return!1;let g=aD(d.words);if(1!==g.length||"run"!==g[0][0]||"view"!==g[0][1]||!g[0].includes("--log"))return!1;let h=aG(g[0]);if(aO(h)!==b)return!1;for(let a=2;a<g[0].length;a+=1){let b=g[0][a];if("-R"===b||"--repo"===b)a+=1;else if(b!==h&&"--log"!==b&&!b.startsWith("--repo=")&&!/^2>/.test(b))return!1}let[i,...j]=e.words,k=j.filter(a=>a.startsWith("-")),l=j.filter(a=>!a.startsWith("-"));if("grep"!==i||!k.every(a=>/^-[oFas]+$/.test(a))||!k.some(a=>a.includes("o"))||1!==l.length||l[0]!==aN)return!1;let[m]=f;return!m||("head"===m.words[0]||"tail"===m.words[0])&&m.words.slice(1).every(a=>/^(?:-n?\d*|\d+)$/.test(a))}(c[c.length-1],e.name)&&c.slice(d+1,-1).flatMap(a=>a.pipelines.flatMap(({commands:a})=>a)).every(({words:a})=>(function(a,b){let[c,...d]=a;if("["===c||"[["===c||"test"===c||"exit"===c||"true"===c||":"===c||"sleep"===c)return!0;if("echo"===c||"printf"===c)return d.every(a=>!/`|\$\(/.test(a)&&!/public|tree|already|matches|nothing|publish/i.test(a)&&[...a.matchAll(/\$\{?([A-Za-z_]\w*|[?])/g)].every(a=>a[1]===b||"?"===a[1]));if("gh"!==c)return!1;let e=aD(a);return 1===e.length&&"run"===e[0][0]&&"watch"===e[0][1]&&aO(aG(e[0]))===b})(a,e.name))&&aB(b).split("\n").some(a=>a.trim()===aN)?e.sha:null}(e,c);g&&a.nothingToPublish.push({sha:g,order:d})}(x,a,f,b),Array.isArray(d=function(a,b,c,d){var e,f;if(!a.input||"object"!=typeof a.input||Array.isArray(a.input)||"string"!=typeof a.toolName)return null;let g=am(b);if("notRun"===g)return null;let h={toolCallId:a.toolCallId,attempt:0},l=c&&!g?"running":"unobserved",m=aa(a);if(null!==m){let a,c,d=(e=b,(c=(a=e?.details)&&"object"==typeof a&&"backgroundJob"in a?a.backgroundJob:null)&&"object"==typeof c&&"jobId"in c&&"after"in c&&"string"==typeof c.jobId&&"string"==typeof c.after?{jobId:c.jobId,after:c.after}:null);return ac(m,b).map(a=>{if("commit"===a.stage){var c;let d,e,f=b?"unobserved"===a.state&&function(a,b){if(b.isError)return!1;let{commands:c}=z(a),d=aB(b),e=a=>c.some(({words:b})=>Y(b,0,a));return(!e("commit")||ak.test(d))&&(!e("push")||al.test(d))}(m,b)?"done":ai[a.state]:l;return{...h,stage:"commit",..."done"===f?(d=(c=b)?aB(c):"",(e=ak.exec(d))?{commit:e[1],title:e[2].trim()}:{commit:al.exec(d)?.[1]??null}):{commit:null},docsOnly:!1,outcome:f}}let e=a.evidence??(d&&null!==a.exitCode?`Command exited with code ${a.exitCode}`:void 0),f=e&&d?`${d.jobId} \xb7 ${e}`:e,g="ci"===a.stage&&"failed"===a.state&&b?function(a,b){let c=z(a).commands.flatMap(({words:a})=>aD(a)),d=c.find(a=>"run"===a[0]&&"watch"===a[1]&&a.includes("--exit-status")),e=d?aG(d):null;if(null===e||!c.some(a=>"run"===a[0]&&"view"===a[1]&&a.includes("--json")&&aG(a)===e))return null;let f=aC(aB(b)).filter(a=>"completed"===a.status&&"string"==typeof a.conclusion),g=1===f.length?f[0].conclusion:null;return"string"!=typeof g||""===g||"success"===g||Object.hasOwn(aU,g)?null:g}(m,b):null;return{...h,stage:a.stage,command:m,exitCode:a.exitCode,labels:a.labels,outcome:g?"unverified":b?a.state:l,...a.compound?{compound:a.compound}:{},...f?{evidence:g?`${f} \xb7 ${g}`:f}:{},...g?{otherRun:{kind:"unjudged",conclusion:g}}:{}}})}let n=a.toolName.toLowerCase().split(/[.:/]/).pop()??"",p=g?void 0:b,q=p?.details&&"object"==typeof p.details?p.details:{};if("cross_review"===n){let b="resolve"===a.input.action?"resolve":"review";if(!p||p.isError)return{...h,stage:"review",action:b,findings:null,outcome:p?"failed":l};if("resolve"===b){if(!0===q.pass)return{...h,stage:"review",action:b,findings:0,outcome:"passed"};let a=Array.isArray(q.open)?q.open.length:null;return{...h,stage:"review",action:b,findings:a,outcome:!1===q.pass?"failed":"unobserved"}}let c=Array.isArray(q.findings)?q.findings.length:null;if(null!==c&&c>0)return{...h,stage:"review",action:b,findings:c,outcome:"failed"};let d=Array.isArray(q.reviewers)?q.reviewers:[];return!1===q.passable||d.some(a=>!a||"object"!=typeof a||!("status"in a)||"ok"!==a.status)?{...h,stage:"review",action:b,findings:c,outcome:"unverified",unusable:!0}:{...h,stage:"review",action:b,findings:c,outcome:null===c?"unobserved":"done"}}if("git_finalize"===n){let b="string"==typeof a.input.message?aj(a.input.message):void 0,c=b?{title:b}:{};if(!p)return{...h,stage:"commit",commit:null,docsOnly:!1,...c,outcome:l};let d=ao.exec(aB(p)),e=("string"==typeof q.commitSha&&""!==q.commitSha.trim()?q.commitSha.trim():null)??d?.[1]??d?.[2]??null,f=p.isError||!1===q.ok,g=!f&&(!0===q.ok||null!==e),i=a.input.files,j=g&&Array.isArray(i)&&i.length>0&&i.every(a=>"string"==typeof a&&(ad.test(a)||a.split(/[\\/]/).slice(0,-1).some(a=>ae.test(a))));return{...h,stage:"commit",commit:g?e:null,docsOnly:j,...c,outcome:g?"done":f?"failed":"unobserved"}}if("eval"===n)return function(a,b,c){let d=function(a){if("string"==typeof a.code)return a.code;let b=a.cells;return Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"code"in a&&"string"==typeof a.code?a.code:"").join("\n"):""}(a.input);if(!an.test(d))return null;let e=aq.exec(d)?.[2],f=void 0===e?void 0:aj(e.replace(/\\n/g,"\n").replace(/\\(["'`\\])/g,"$1")),g={toolCallId:a.toolCallId,attempt:0,stage:"commit",docsOnly:!1,...f?{title:f}:{}};if(!b)return{...g,commit:null,outcome:c};let h=aB(b),i=ao.exec(h),j=i?(i[1]??i[2]).toLowerCase():null,k=ap.test(h);return j&&!k?{...g,commit:j,outcome:"done"}:{...g,commit:null,outcome:!j&&(k||b.isError)?"failed":"unobserved"}}(a,p,l);if(function(a,b){if("task"===b||Object.hasOwn(ag,b))return!0;if("lsp"===b)return"string"==typeof a.input.action&&Object.hasOwn(ah,a.input.action);if(!j(a.toolName)&&!k(a.toolName))return!1;let c=a.input.file_path??a.input.path;return"string"!=typeof c||/^[a-zA-Z]:[\\/]/.test(c)||!/^[a-zA-Z][a-zA-Z0-9+.-]*:\/\//.test(c)}(a,n)){let e;return!g&&b?.isError?null:(j(a.toolName)||k(a.toolName))&&(f=a.input,(e=o(f,p)).length>0&&e.every(a=>r(a,d)))?{...h,stage:"investigate",outcome:g?"unobserved":b||!c?"done":"running"}:{...h,stage:"edit",outcome:p?"done":l,..."task"===n?{dispatch:!0}:{},...!function(a,b,c){if(!b||!(j(a.toolName)||k(a.toolName)))return!1;let d=o(a.input,b);return d.length>0&&d.every(a=>(function(a,b){if(a.split(/[\\/]/).includes(".."))return!1;let c=b?i(b)??b:void 0,d=function(a,b){if(!b)return a;let c=u(a),d=u(b).replace(/\/$/,"");return c.startsWith(d+"/")?c.slice(d.length+1):a}(i(a,b)??a,c);if(/^[\\/]/.test(d)||/^[a-zA-Z]:[\\/]/.test(d))return!1;let e=d.split(/[\\/]/).filter(a=>""!==a&&"."!==a);return"HANDOFF.md"===e.at(-1)||"doc"===e[0]&&"history"===e[1]&&e.length>2})(a,c))}(a,p,d)?{}:{recordOnly:!0}}}return Object.hasOwn(af,n)?{...h,stage:"investigate",outcome:g?"unobserved":b||!c?"done":"running"}:null}(a,f,c,e))?d:d?[d]:[]))C.push({step:g,order:b})}),g=null,h=!1,C.forEach((a,b)=>{let{step:c,order:d}=a;if("commit"===c.stage&&"done"===c.outcome&&c.commit&&(g={step:{...c,commit:c.commit},order:d},h=!1),"edit"!==c.stage||"done"!==c.outcome||c.dispatch||c.recordOnly||(h=!0),"ci"!==c.stage||!g)return;let e=g,f=z(c.command).commands.flatMap(({words:a})=>aD(a)).find(a=>"run"===a[0]&&"watch"===a[1]);if(f){let a,g=aH(f),i=a=>(x.publishRuns.get(a)?.order??1/0)<=d;if((a=aQ(c.command,i).filter(({args:a})=>"run"===a[0]&&"watch"===a[1])).length>0&&a.every(({publish:a})=>a)){aR(c.command,i)||"passed"!==c.outcome&&"failed"!==c.outcome||(g&&"passed"===c.outcome&&x.watched.push({id:g,order:d}),C[b]={order:d,step:{...c,outcome:"unverified",evidence:void 0,otherRun:{kind:"publish",outcome:c.outcome}}});return}let j=g?x.runs.filter(a=>a.id===g):[],k=j.find(a=>null!==a.sha)?.sha;if(!k||j.some(a=>aT(a,e,x))){k&&h&&"passed"===c.outcome&&(C[b]={order:d,step:{...c,stale:!0}});return}if("passed"===c.outcome||"failed"===c.outcome){let a=k.slice(0,7);C[b]={order:d,step:{...c,outcome:"unverified",evidence:`run ${g} \xb7 ${a}`,otherRun:{kind:"commit",sha:a,outcome:c.outcome}}}}return}if("unverified"!==c.outcome)return;let i=x.runs.find(a=>a.order===d&&null!==a.workflow&&Object.hasOwn(az,a.workflow)&&aT(a,e,x));if(!i||"completed"!==i.status||"string"!=typeof i.conclusion)return;let j="success"===i.conclusion?"passed":Object.hasOwn(aU,i.conclusion)?"failed":null;j&&(C[b]={order:d,step:{...c,outcome:j,evidence:`run ${i.id??"?"} \xb7 ${i.status} ${i.conclusion}`,..."passed"===j&&h?{stale:!0}:{}}})}),C.forEach((a,b)=>{let{step:c,order:d}=a;if("deploy"!==c.stage||"unverified"!==c.outcome&&"unobserved"!==c.outcome)return;let e=function(a){let b=[],c=(a,d)=>{let e=G(a);if(null!==e){if(d<3)for(let a of z(e).commands)c(a.words,d+1);return}if(!L(a))return;let f=J(a),g=K.test(a[f])?f:a.findIndex((a,b)=>b>f&&!a.startsWith("-")),h=a[g+1];b.push(void 0!==h&&/^[0-9a-f]{7,40}$/i.test(h)?h.toLowerCase():null)};for(let{words:b}of z(a).commands)c(b,0);return 1===b.length?b[0]:null}(c.command),f=A.get(c.toolCallId);if("number"!=typeof f?.timestamp)return;let g=f.details,h=g&&"object"==typeof g&&"wallTimeMs"in g&&"number"==typeof g.wallTimeMs?g.wallTimeMs:0,i=1e3*Math.floor((f.timestamp-h)/1e3);for(let a=d;a<y.length;a+=1){let f=y[a],g=f?.type==="toolCall"?B.get(f.toolCallId):void 0;if(g)for(let a of aB(g).split("\n")){let f=a.trim().replace(/^\d+[:-](?=\d{4}-\d\d-\d\dT)/,"");if(null===e){let a=aX.exec(f);a&&Date.parse(a[1])>=i&&(e=a[2]);continue}let g=aV.exec(f);if(g&&Date.parse(g[1])>=i&&aS(g[2],e)){C[b]={order:d,step:{...c,outcome:"passed",evidence:`${g[1]} READY ${g[2].slice(0,12)}`}};return}let h=aW.exec(f);if(h&&Date.parse(h[1])>=i){C[b]={order:d,step:{...c,outcome:"failed",evidence:f.length>120?`${f.slice(0,119)}…`:f}};return}}}});let D=(a,b)=>null!==a&&(x.publishRuns.get(a)?.order??1/0)<=b;for(let{step:a,order:b}of C){let c=a;if("ci"===c.stage){let a=z(c.command).commands.flatMap(({words:a})=>aD(a)).find(a=>"run"===a[0]&&"watch"===a[1]),d=a?aH(a):null;d&&"passed"===c.outcome&&x.watched.push({id:d,order:b}),!c.compound&&aR(c.command,a=>D(a,b))&&(c={toolCallId:c.toolCallId,attempt:c.attempt,stage:"investigate",outcome:"passed"===c.outcome||"unverified"===c.outcome?"done":c.outcome})}if("edit"!==c.stage||"done"!==c.outcome||c.dispatch){if("check"===c.stage||"review"===c.stage||"ci"===c.stage){let a="check"===c.stage?`check:${c.command}`:c.stage,b=p.get(a);(b?.outcome!=="failed"||at(c.outcome))&&p.set(a,{stage:c.stage,outcome:c.outcome,order:l.length})}}else{let a=au(p);a&&(m.push({from:a,attempt:n}),n+=1),p=new Map,q=l.length,c.recordOnly||(s=l.length)}c.attempt=n,w.set(c,b),l.push(c)}let E=!1;l.forEach((a,b)=>{b<("commit"===a.stage||E&&("ci"===a.stage||"deploy"===a.stage)?s:q)&&"investigate"!==a.stage&&"edit"!==a.stage&&("passed"===a.outcome||"done"===a.outcome)&&(a.stale=!0),"commit"===a.stage&&"done"===a.outcome&&(E=!0)});let F=l.filter(a=>"commit"===a.stage&&"done"===a.outcome&&a.attempt===n).at(-1),H=F?w.get(F)??-1:-1,I=F&&!F.stale&&F.commit&&aA.test(F.commit)?{sha:F.commit.toLowerCase(),order:H}:null,M=I?function(a,b,c){let d=a.watched.find(({id:c,order:d})=>{let e=a.publishRuns.get(c);return d>b.order&&e?.sha===b.sha&&e.order>b.order&&e.order<=d});if(!d)return null;let e=new Map;for(let b of a.heads)b.order>d.order&&e.set(`${b.repo}#${b.ref}`,b);let f=[...c,...a.ciHeads.filter(a=>a.order<b.order)];for(let a of e.values())if(null!==a.sha&&a.sha!==b.sha&&f.some(b=>b.repo===a.repo&&b.sha===a.sha&&b.branch===a.ref))return{kind:"publicHeadUnchanged",repo:a.repo,ref:a.ref,sha:a.sha,runId:d.id};return null}(x,I,d)??(x.nothingToPublish.some(({sha:a,order:b})=>a===I.sha&&b>I.order)?{kind:"nothingToPublish",commit:I.sha}:null):null;if(M?.kind==="nothingToPublish"){let a=M.commit;l.forEach((b,c)=>{var d;let e,f=w.get(b)??-1;if("ci"!==b.stage||"unverified"!==b.outcome||f<=H||!x.nothingToPublish.some(b=>b.order===f&&b.sha===a)&&(d=b.command,!((e=z(d).commands.flatMap(({words:a})=>aD(a))).length>0&&e.every(b=>"run"===b[0]&&"list"===b[1]&&aE(b,["-c","--commit"])?.toLowerCase()===a))))return;let g={toolCallId:b.toolCallId,attempt:b.attempt,stage:"investigate",outcome:"done"};l[c]=g,w.set(g,f)})}let O=v.map(a=>{let b=l.filter(b=>b.stage===a),c="investigate"===a?b:b.filter(a=>a.attempt===n);return{stage:a,status:function(a,b){if(0===b.length)return"waiting";if("check"!==a){let a=new Set,c=null;for(let d of b){let b=d.stale?"stale":d.outcome;if("failed"!==c||at(d.outcome)){if(null!==c&&!("ci"!==d.stage||aw(b))&&!z(d.command).commands.some(({words:a})=>aD(a).some(a=>"run"===a[0]&&"watch"===a[1]&&a.includes("--exit-status")))){let b="stale"===c&&(ax(d)?.every(b=>a.has(b))??!1);if(aw(c)||b)continue}if(c=b,"stale"===b||"passed"===d.outcome||"failed"===d.outcome)for(let b of ax(d)??[])a.add(b)}}return c??"waiting"}let c="done";for(let a of function(a){let b=new Map;for(let c of a){if("check"!==c.stage)continue;let a=c.commandKey??c.command,d=b.get(a);(d?.outcome!=="failed"||at(c.outcome))&&b.set(a,c)}return[...b.values()]}(b)){let b=a.stale?"stale":a.outcome;av[b]>av[c]&&(c=b)}return c}(a,c),steps:c,earlier:"investigate"===a?[]:b.filter(a=>a.attempt<n)}}),P=O[v.indexOf("deploy")],Q=l.some(a=>"commit"===a.stage&&"done"===a.outcome&&!a.docsOnly);!F?.docsOnly||F.stale||Q||"waiting"!==P.status||(P.status="notNeeded");let R=O[v.indexOf("ci")],S=R.steps.some(a=>(w.get(a)??1/0)>H);M&&("waiting"===R.status||("unverified"===R.status||"stale"===R.status)&&!S)?R.status="notNeeded":M=null;let T=-1;O.forEach((a,b)=>{"waiting"!==a.status&&"failed"!==a.status&&"skipped"!==a.status&&"notNeeded"!==a.status&&"stale"!==a.status&&a.steps.some(a=>!a.stale&&"failed"!==a.outcome&&!("compound"in a&&a.compound?.failed===!0))&&(T=b)});let U=null;if(c&&l.length>0)if(au(p))U={stage:"edit",returning:!0};else if(T<0)U={stage:O.find(a=>"waiting"!==a.status)?.stage??v[0],returning:!1};else{let a=O[T].steps.at(-1);if(a?.stage==="review"&&a.unusable)U={stage:"review",returning:!1};else{let a=O.slice(T+1).find(a=>"skipped"!==a.status&&"notNeeded"!==a.status);U=a?{stage:a.stage,returning:!1}:null}}if(O.forEach((a,b)=>{b<T&&"waiting"===a.status&&(a.status="skipped")}),!c&&l.length>0){let a=!Q;for(let b of O)"waiting"===b.status&&(b.status=a&&("ci"===b.stage||"deploy"===b.stage)?"notNeeded":"skipped")}return{steps:l,attempt:n,loops:m,stages:O,current:function(a,b,c){let d=a.at(-1);if(!d)return null;if(!c||c.stale)return d.stage;let e=b.filter(a=>("commit"===a.stage||"ci"===a.stage||"deploy"===a.stage)&&a.steps.length>0&&"notNeeded"!==a.status&&"skipped"!==a.status),f=e.find(a=>"commit"!==a.stage&&Object.hasOwn(aY,a.status));return f?.stage??e.at(-1)?.stage??d.stage}(l,O,F),reached:T<0?null:v[T],next:U,publication:M}}(m,b,!1,l,e,function(a,b,c){let d=[],e=null;for(let f=Math.max(0,b);f<Math.min(a.length,c);f++){let b=a[f];if("assistant"===b.role)for(let a of b.content??[])"toolCall"===a.type&&(e=a.toolCallId);else if("custom"===b.role&&"async-result"===b.customType){let a="string"==typeof b.content?b.content:b.content.map(a=>"text"===a.type?a.text:"").join("\n");d.push({text:a,after:e})}}return d}(a,c,d))}}(d,q,m+1,d.length,c,w);if(0===C.steps.length&&null===A)return null;let D=new Map;for(let a of C.steps){if(!("command"in a))continue;let b=D.get(a.command);void 0===b&&(b=String(D.size),D.set(a.command,b)),a.commandKey=b,a.command=""}for(let a of y)a.command="";return{throughEntryId:p,summary:{files:x,checks:y,remaining:A,span:B,flow:C},ciHeads:a$(d,q,d.length,m+1,w)}}},57856:(a,b,c)=>{c.d(b,{TQ:()=>e,p1:()=>d});let d=92;function e(a,b=d,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}},60755:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DL:()=>m,LB:()=>n,df:()=>k});var e=c(61024),f=c(12144),g=c(69453),h=c(32955),i=a([f,g]);async function j(a){let b=a.sessionId?.trim().toLowerCase()||null,c=(0,e.s$)(a.requestId),d=c?(0,f.A4)(c):void 0,g=(0,e.Ot)({requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:b,sessionBusy:!0===a.alreadyContinued||d?.isAlive()===!0&&d.isRunning()}),i=(globalThis.__ompUpdateWakeDispatches||(globalThis.__ompUpdateWakeDispatches=new Map),globalThis.__ompUpdateWakeDispatches),j=`${a.requestId}:${b}`;if(!g.wake)return"already-claimed"===g.reason&&await i.get(j)?.catch(()=>{}),g;let k=(async()=>{let b="resume";try{var c,i;let a=d?.isAlive()?d:(await (0,f.OF)(g.sessionId,await l(g.sessionId),void 0)).session;b="prompt",await a.sendInternalPrompt((c=g.requestId,i=g.stageHash,[h.S9,`requestId=${c} stageHash=${i}`,"사용자 발화가 아니라 재개 통지입니다. 업데이트 직전에 하던 작업을 이어가세요.\n산출물 정리는 백그라운드로 따로 진행되며 그 상태는 화면 상단 줄에 표시됩니다. 정리 결과를 기다리지 마세요."].join("\n")))}catch(c){throw(0,e.lG)({requestId:g.requestId,stageHash:g.stageHash,clientId:a.clientId,sessionId:g.sessionId,stage:b,error:c}),c}})();i.set(j,k);try{await k}finally{i.get(j)===k&&i.delete(j)}return g}[f,g]=i.then?(await i)():i;let n="server_failure_resume";async function k(a){let b=(0,e.k0)();if(!b.ready||!b.requestId||!b.stageHash)return!0;let c=(0,e.s$)(b.requestId);if(!c)return!0;if(!0!==(0,e.Kg)(b.requestId,b.stageHash).deploymentCompleted)return!1;let d=await (0,g.os)(c),f=null!==d&&(await (0,g.DK)(d)).some(b=>"message"===b.type&&"user"===b.message.role&&Date.parse(b.timestamp)>a.serverStartedAtMs);if((0,e.mz)(b.requestId))return!0;let h=(0,e.mN)();return!!h&&h.requestId!==b.requestId||(await j({requestId:b.requestId,stageHash:b.stageHash,clientId:"server_fallback_wake",sessionId:c,alreadyContinued:f||a.continuedByInterruptResume(c)}),!0)}async function l(a){let b=await (0,g.os)(a);if(!b)throw Error(`session record not found: ${a}`);return b}async function m(a){let b=a.sessionId?.trim().toLowerCase()||null,c=(0,e.s$)(a.requestId),d=c?(0,f.A4)(c):void 0,g=(0,e.G4)({requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:b,sessionBusy:d?.isAlive()===!0&&d.isRunning()});if(!g.notice)return g;let i="resume";try{var j,k,m;let a=d?.isAlive()?d:(await (0,f.OF)(g.sessionId,await l(g.sessionId),void 0)).session;i="prompt";let b=(0,e.rN)(g.requestId,g.sessionId);await a.sendInternalPrompt((j=g.requestId,k=g.stageHash,m=g.terminalError,[h.oK,`requestId=${j} stageHash=${k}`,m?`원인: ${m}`:"원인: 배포 결과 receipt에 오류 문장이 없습니다. 배포 evidence를 확인하세요.","실패한 업데이트는 live runtime을 변경하지 않았으므로, 새 버전으로 교체되지 않았다면 기존 서비스가 그대로 살아 있습니다.",...b?["업데이트의 세션 정지 단계가 이 세션의 진행 중 작업과 SubAgent\xb7bash를 중단(abort)했습니다. 파일\xb7프로세스 상태를 먼저 확인하고, 결과를 받지 못한 child에는 `write agent://<id>`로 이어서 하라고 보내 되살리세요."]:[],"사용자 발화가 아니라 하네스 통지입니다. 사용자에게 실패를 보고하고, 원인에 맞춰 다음 행동을 정하세요."].join("\n")))}catch(b){throw(0,e.Hx)({requestId:g.requestId,stageHash:g.stageHash,clientId:a.clientId,sessionId:g.sessionId,stage:i,error:b}),b}return g}d()}catch(a){d(a)}})},61024:(a,b,c)=>{c.d(b,{Ef:()=>I,G4:()=>x,Hx:()=>C,Kg:()=>L,Ot:()=>t,Q4:()=>E,W4:()=>J,k0:()=>K,lG:()=>w,mN:()=>D,mz:()=>v,p8:()=>G,rJ:()=>A,rN:()=>B,s$:()=>u});var d=c(31421);c(77598);var e=c(73024),f=c(48161),g=c(76760);let h=/^[0-9a-f]{32}$/,i=/^[A-Za-z0-9_-]{16,128}$/,j=/^[0-9a-f]{64}$/,k=/^[0-9a-f]{40}$/,l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function m(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a}function n(){let a=process.env.CUELO_EXTERNAL_UPDATE_ROOT?.trim();return(0,g.resolve)(a||(0,g.join)((0,f.homedir)(),".omp","external-update"))}function o(a){try{let b=JSON.parse((0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,""));return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}function p(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`;(0,e.writeFileSync)(c,`${JSON.stringify(b,null,2)}
|
|
17
|
+
`,"utf8"),(0,e.renameSync)(c,a)}function q(a){if(!h.test(a))return null;let b=o((0,g.join)(n(),"requests",`${a}.json`));if(!b||2!==b.schemaVersion||b.requestId!==a)return null;let c=void 0===b.completionContractVersion?0:Number(b.completionContractVersion);if(0!==c&&1!==c)return null;let d=(0,g.resolve)(String(b.maintenanceDirectory??"")),e=(0,g.resolve)((0,g.join)(n(),"maintenance",a)),f=(0,g.resolve)(String(b.transactionReceiptPath??"")),i=(0,g.resolve)((0,g.join)(n(),"transactions",`${a}.json`)),j=(0,g.resolve)((0,g.join)(n(),"results",`${a}.json`));if(d!==e||f!==i||(0,g.resolve)(String(b.resultPath??""))!==j)return null;let k=null===b.initiatorSessionId||void 0===b.initiatorSessionId?"":String(b.initiatorSessionId).trim().toLowerCase(),m=l.test(k)?k:null;return{schemaVersion:2,completionContractVersion:c,requestId:a,preparedStagePrefix:String(b.preparedStagePrefix??""),stageTransactionPath:String(b.stageTransactionPath??""),maintenanceDirectory:d,transactionReceiptPath:f,resultPath:j,initiatorSessionId:m,initiatorSessionSource:m?"explicit":"absent"}}function r(a){let b=o((0,g.join)(a.maintenanceDirectory,"command.json"));if(!b||2!==b.schemaVersion||b.requestId!==a.requestId)return null;let c=b.phase,d=String(b.stageHash??""),e=Number(b.revision);return("DRAINING"===c||"QUIESCENT"===c||"CUTOVER"===c)&&j.test(d)&&Number.isInteger(e)&&!(e<1)?{schemaVersion:2,requestId:a.requestId,stageHash:d,phase:c,revision:e,updatedAtUtc:String(b.updatedAtUtc??"")}:null}function s(a,b){if(1!==a.completionContractVersion)return null;let c=o(a.transactionReceiptPath);if(!c||2!==c.schemaVersion||"ompweb-runtime-transaction"!==c.kind||c.requestId!==a.requestId||c.stageHash!==b.stageHash||!0!==c.success||"RESUME_CONFIRMED"!==c.phase&&"RESUME_PENDING"!==c.phase)return null;let d=m(c.deployment),f=m(d?.service),h=m(d?.resume),i=m(d?.rollback),j=m(d?.cleanup);if(!d||1!==d.completionContractVersion||!0!==d.completed||!0!==d.writeSafe||d.requestId!==a.requestId||d.stageHash!==b.stageHash||!Number.isFinite(Date.parse(String(d.completedAtUtc??"")))||f?.ready!==!0||!0!==f.exact||f.requestId!==a.requestId||f.stageHash!==b.stageHash||i?.transactionRecorded!==!0)return null;let l=String(h?.status??""),n=Number(h?.targetCount),p=Number(h?.confirmedCount);if("confirmed"!==l&&"pending"!==l||!Number.isInteger(n)||n<0||!Number.isInteger(p)||p<0||p>n)return null;let q={completionContractVersion:1,completed:!0,writeSafe:!0,completedAtUtc:String(d.completedAtUtc),requestId:a.requestId,stageHash:b.stageHash};if("git-revision"===i.kind)return k.test(String(i.revision??""))?q:null;if(!0!==i.packagePresent||j?.owner!=="runtime-transaction")return null;let r=(0,g.resolve)(String(i.transactionPath??"")),s=(0,g.dirname)(r),t=(0,g.resolve)(String(i.packagePath??"")),u=(0,g.resolve)(String(i.shimDirectory??"")),v=(0,g.basename)(t);if("cuelo"!==v&&"omp-web"!==v)return null;let w=[v,`${v}.cmd`,`${v}.ps1`],x=Array.isArray(i.backedUpShims)?i.backedUpShims.map(a=>String(a)):[];if(r!==(0,g.join)(s,"transaction.json")||t!==(0,g.join)(s,v)||u!==(0,g.join)(s,"shims")||!(0,e.existsSync)(r)||!(0,e.existsSync)(t)||w.some(a=>!x.includes(a)||!(0,e.existsSync)((0,g.join)(u,a))))return null;let y=(0,g.resolve)((0,g.join)(a.maintenanceDirectory,"cleanup.json"));return(0,g.resolve)(String(j.progressPath??""))!==y||0>=Number(j.ownerPid)?null:q}function t(a){let b=q(a.requestId);if(!b)throw Error("invalid update request identity");let c=(0,g.join)(b.maintenanceDirectory,"wake"),d=a.sessionId?.trim().toLowerCase()||null,f=e=>(p((0,g.join)(c,`${a.clientId}.skipped.json`),{schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,resumedSessionId:d,initiatorSessionId:b.initiatorSessionId,initiatorSessionSource:b.initiatorSessionSource,reason:e,observedAtUtc:new Date().toISOString()}),{wake:!1,reason:e}),h=r(b);if(!(h&&h.stageHash===a.stageHash.toLowerCase()?s(b,h):null))return f("deployment-incomplete");if(!b.initiatorSessionId)return f("no-initiator");if(a.sessionBusy)return f("user-already-active");(0,e.mkdirSync)(c,{recursive:!0});try{let d=(0,e.openSync)((0,g.join)(c,`${b.initiatorSessionId}.json`),"wx");try{(0,e.writeSync)(d,`${JSON.stringify({schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:b.initiatorSessionId,claimedAtUtc:new Date().toISOString()},null,2)}
|
|
18
|
+
`)}finally{(0,e.closeSync)(d)}}catch(a){if("EEXIST"===a.code)return f("already-claimed");throw a}return{wake:!0,requestId:a.requestId,stageHash:a.stageHash,sessionId:b.initiatorSessionId}}function u(a){return q(a)?.initiatorSessionId??null}function v(a){let b=q(a);if(!b)return!0;let c=(0,g.join)(b.maintenanceDirectory,"wake");if(!(0,e.existsSync)(c))return!1;for(let a of(0,e.readdirSync)(c))if(b.initiatorSessionId&&a===`${b.initiatorSessionId}.json`||a.endsWith(".skipped.json")&&o((0,g.join)(c,a))?.reason!=="deployment-incomplete")return!0;return!1}function w(a){let b=q(a.requestId);if(!b)return;let c=(0,g.join)(b.maintenanceDirectory,"wake");try{p((0,g.join)(c,`${a.sessionId}.failed.json`),{schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:a.sessionId,stage:a.stage,error:a.error instanceof Error?{name:a.error.name,message:a.error.message,stack:a.error.stack??null}:{name:"unknown",message:String(a.error),stack:null},failedAtUtc:new Date().toISOString()})}finally{try{(0,e.rmSync)((0,g.join)(c,`${a.sessionId}.json`),{force:!0})}catch{}}}function x(a){let b=q(a.requestId);if(!b)throw Error("invalid update request identity");if(!i.test(a.clientId))throw Error("invalid update client identity");let c=(0,g.join)(b.maintenanceDirectory,"wake"),d=a.sessionId?.trim().toLowerCase()||null,f=e=>(p((0,g.join)(c,`${a.clientId}.failure-skipped.json`),{schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,resumedSessionId:d,initiatorSessionId:b.initiatorSessionId,initiatorSessionSource:b.initiatorSessionSource,reason:e,observedAtUtc:new Date().toISOString()}),{notice:!1,reason:e}),h=y(b,a.stageHash);if(!h.failed)return f(h.reason);if(!b.initiatorSessionId)return f("no-initiator");if(a.sessionBusy)return f("user-already-active");let{terminalStatus:j,terminalError:k}=h;(0,e.mkdirSync)(c,{recursive:!0});try{let d=(0,e.openSync)((0,g.join)(c,`${b.initiatorSessionId}.failure.json`),"wx");try{(0,e.writeSync)(d,`${JSON.stringify({schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:b.initiatorSessionId,terminalStatus:j,terminalError:k,claimedAtUtc:new Date().toISOString()},null,2)}
|
|
19
|
+
`)}finally{(0,e.closeSync)(d)}}catch(a){if("EEXIST"===a.code)return f("already-claimed");throw a}return{notice:!0,requestId:a.requestId,stageHash:a.stageHash,sessionId:b.initiatorSessionId,terminalError:k}}function y(a,b){let c=o(a.resultPath),d=c&&"string"==typeof c.status?c.status:null;if(null===d)return{failed:!1,reason:"no-terminal-result"};let e=r(a),f=e&&e.stageHash===b.toLowerCase()?s(a,e):null;return"succeeded"===d||f?.writeSafe===!0?{failed:!1,reason:"deployment-succeeded"}:{failed:!0,terminalStatus:d,terminalError:"string"==typeof c?.error?c.error:null}}let z=/^update-([0-9a-f]{32})$/;function A(a){let b=z.exec(a??"")?.[1],c=b?q(b):null,d=c?r(c):null;return c&&d&&y(c,d.stageHash).failed?{requestId:c.requestId,stageHash:d.stageHash,initiatorSessionId:c.initiatorSessionId}:null}function B(a,b){if(!h.test(a))return!1;let c=o((0,g.join)(n(),"interrupts",`update-${a}.ack.json`)),d=b.trim().toLowerCase();return Array.isArray(c?.aborted)&&c.aborted.some(a=>String(a).toLowerCase()===d)}function C(a){let b=q(a.requestId);if(!b)return;let c=(0,g.join)(b.maintenanceDirectory,"wake");try{p((0,g.join)(c,`${a.sessionId}.failure-error.json`),{schemaVersion:1,requestId:a.requestId,stageHash:a.stageHash,clientId:a.clientId,sessionId:a.sessionId,stage:a.stage,error:a.error instanceof Error?{name:a.error.name,message:a.error.message,stack:a.error.stack??null}:{name:"unknown",message:String(a.error),stack:null},failedAtUtc:new Date().toISOString()})}finally{try{(0,e.rmSync)((0,g.join)(c,`${a.sessionId}.failure.json`),{force:!0})}catch{}}}function D(){let a=function(){let a=o((0,g.join)(n(),"active.json")),b=String(a?.requestId??"");if(a?.schemaVersion!==2||!h.test(b))return null;let c=q(b);if(!c||(0,e.existsSync)(c.resultPath))return null;let d=r(c);return!d||s(c,d)?null:{request:c,command:d}}();return a?{requestId:a.request.requestId,stageHash:a.command.stageHash,phase:a.command.phase}:null}function E(a){return globalThis.__cueloRuntimeServer??={origin:a,startedAtMs:Math.round(Date.now()-1e3*process.uptime())},globalThis.__cueloRuntimeServer}function F(a){return[...new Set(a.filter(a=>"string"==typeof a&&a.trim()).map(a=>a.trim()))].sort()}function G(a,b=[]){let c=F(a),d=globalThis.__cueloRuntimeServer,f=function(){if(void 0!==globalThis.__cueloRuntimeLinuxIdentity)return globalThis.__cueloRuntimeLinuxIdentity;if(globalThis.__cueloRuntimeLinuxIdentity=null,"linux"===process.platform)try{let a=(0,e.readFileSync)(`/proc/${process.pid}/stat`,"utf8");globalThis.__cueloRuntimeLinuxIdentity={bootId:(0,e.readFileSync)("/proc/sys/kernel/random/boot_id","utf8").trim(),startTicks:Number(a.slice(a.lastIndexOf(")")+2).split(" ")[19])}}catch{}return globalThis.__cueloRuntimeLinuxIdentity}();p((0,g.join)(n(),"runtime-activity",`${process.pid}.json`),{schemaVersion:2,processId:process.pid,processStartedAtUtc:new Date(Date.now()-1e3*process.uptime()).toISOString(),...f?{linuxProcessIdentity:f}:{},updatedAtUtc:new Date().toISOString(),runningSessionIds:c,...d?{recovery:{eligible:!0,origin:d.origin,startedAtMs:d.startedAtMs,waitingSessionIds:F(b).filter(a=>c.includes(a))}}:{}})}function H(a){if(!Number.isInteger(a)||a<=0)return{state:"unknown"};try{process.kill(a,0)}catch(a){if("ESRCH"===a.code)return{state:"dead"}}if("win32"!==process.platform)return{state:"unknown"};let b=`$p = Get-CimInstance Win32_Process -Filter "ProcessId=${a}"; if ($p) { $p.CreationDate.ToUniversalTime().ToString('o') }`,c=(0,d.spawnSync)("powershell.exe",["-NoProfile","-NonInteractive","-Command",b],{encoding:"utf8",timeout:15e3,windowsHide:!0});if(c.error||0!==c.status)return{state:"unknown"};let e=String(c.stdout??"").trim();if(""===e)return{state:"dead"};let f=Date.parse(e);return Number.isFinite(f)?{state:"alive",startedAtMs:f}:{state:"unknown"}}function I(a,b,c=H){let d=(0,g.join)(n(),"runtime-activity");if(!(0,e.existsSync)(d))return null;let f=null;for(let c of(0,e.readdirSync)(d)){if(!c.endsWith(".json"))continue;let e=o((0,g.join)(d,c)),h=e&&"object"==typeof e.recovery&&e.recovery?e.recovery:null;if(!e||!h||!0!==h.eligible||h.origin!==a)continue;let i=Number(h.startedAtMs);if(!Number.isFinite(i)||i>=b||f&&i<=f.startedAtMs)continue;let j=a=>Array.isArray(a)?F(a.filter(a=>"string"==typeof a)):[];f={processId:Number(e.processId),startedAtMs:i,runningSessionIds:j(e.runningSessionIds),waitingSessionIds:j(h.waitingSessionIds),consumed:"string"==typeof h.consumedAtUtc}}if(!f)return null;let{consumed:h,...i}=f;if(h)return null;if(0===i.runningSessionIds.length)return i;let j=c(i.processId);return"dead"===j.state||"alive"===j.state&&Math.abs(j.startedAtMs-i.startedAtMs)>2e3?i:null}function J(a,b){let c=(0,g.join)(n(),"runtime-activity",`${a.processId}.json`),d=o(c),e=d&&"object"==typeof d.recovery&&d.recovery?d.recovery:null;return!!d&&!!e&&Number(e.startedAtMs)===a.startedAtMs&&(p(c,{...d,recovery:{...e,consumedAtUtc:new Date().toISOString(),consumedByStartedAtMs:b}}),!0)}function K(){let a=process.env.CUELO_DEPLOY_REQUEST_ID?.trim()||null,b=process.env.CUELO_DEPLOY_STAGE_HASH?.trim().toLowerCase()||null,c=process.env.CUELO_DEPLOY_MARKER_PATH?.trim()||null;if(!a||!b||!c||!h.test(a)||!j.test(b))return{ready:!1,requestId:a,stageHash:b,transactionId:null};let d=o((0,g.resolve)(c)),e=d&&"string"==typeof d.transactionId?d.transactionId:null;return{ready:d?.schemaVersion===1&&d.requestId===a&&String(d.stageHash??"").toLowerCase()===b&&"string"==typeof e&&e.length>0,requestId:a,stageHash:b,transactionId:e}}function L(a,b){let c=K(),d=a&&h.test(a)?q(a):null,f=d?r(d):null,i=d?o(d.resultPath):null,j=d&&f?s(d,f):null,k=d&&f?function a(b,c,d=!0){let f=o((0,g.join)(b.maintenanceDirectory,"cleanup.json"));if(!f||1!==f.schemaVersion||"runtime-transaction"!==f.owner||f.requestId!==b.requestId||f.stageHash!==c.stageHash||"ARTIFACT_CLEANUP"!==f.phase)return null;let h=f.status;if("running"!==h&&"succeeded"!==h&&"failed"!==h&&"skipped"!==h&&"pending-approval"!==h)return null;let i=Number(f.ownerPid),j=Number(f.completedCount),k=Number(f.totalCount),l=Number(f.removedCount),n=Number(f.keptCount),p=Number(f.elapsedSeconds);if(!Number.isInteger(i)||i<=0||!Number.isInteger(j)||j<0||!Number.isInteger(k)||k<j||!Number.isInteger(l)||l<0||!Number.isInteger(n)||n<0||!Number.isFinite(p)||p<0||"succeeded"===h&&j!==k)return null;let q=null===f.currentTarget?null:String(f.currentTarget??"");if(null!==q&&!q)return null;let r=String(f.startedAtUtc??""),s=String(f.updatedAtUtc??""),t=null===f.finishedAtUtc?null:String(f.finishedAtUtc??"");if(!Number.isFinite(Date.parse(r))||!Number.isFinite(Date.parse(s))||null!==t&&!Number.isFinite(Date.parse(t)))return null;if("running"===h&&d&&function(a,b){try{process.kill(b,0)}catch(a){if("ESRCH"===a.code)return!0}let c=m(a.ownerIdentity);if(!c||"linux"!==process.platform)return!1;try{let a=(0,e.readFileSync)(`/proc/${b}/stat`,"utf8");return(0,e.readFileSync)("/proc/sys/kernel/random/boot_id","utf8").trim()!==c.bootId||Number(a.slice(a.lastIndexOf(")")+2).split(" ")[19])!==c.startTicks}catch{return!0}}(f,i)){let d=a(b,c,!1);return d?.status!=="running"?d:{...d,status:"failed",reason:"정리 실행이 결과를 남기지 않고 끝났습니다.",currentTarget:null,failureCount:d.failureCount+1}}return{schemaVersion:1,owner:"runtime-transaction",ownerPid:i,requestId:b.requestId,stageHash:c.stageHash,phase:"ARTIFACT_CLEANUP",status:h,reason:null===f.reason?null:String(f.reason??""),startedAtUtc:r,updatedAtUtc:s,finishedAtUtc:t,currentTarget:q,completedCount:j,totalCount:k,removedCount:l,keptCount:n,elapsedSeconds:p,failureCount:Array.isArray(f.failures)?f.failures.length:0}}(d,f):null,l=b?.toLowerCase()||null,n=null!==D();return{schemaVersion:2,phase:c.ready&&c.requestId===a&&c.stageHash===l?"SERVICE_READY":f?.phase??"IDLE",service:c,mutationBlocked:n,deploymentCompleted:j?.completed===!0,writeSafe:j?.writeSafe===!0,cleanup:k,terminalStatus:i&&"string"==typeof i.status?i.status:null,terminalError:i&&"string"==typeof i.error?i.error:null}}},64726:(a,b,c)=>{c.d(b,{sh:()=>m});let d=/^[\t ]*(?:WORK_CLASS|PURPOSE|BLOCKS_PRIMARY|PRIMARY_DELIVERABLE|OWNED_PATHS|FINDING_ID)[\t ]*:[^\r\n]*$/i;c(55621);let e=["feature","maintenance","diagnostic"],f=/^[\t ]*([A-Z_]+)[\t ]*:[\t ]*(.*?)[\t ]*$/;function g(a){return Array.isArray(a)?a.filter(a=>"object"==typeof a&&null!==a):[]}function h(a){return"string"==typeof a&&a.trim()?a:null}function i(a){return"string"==typeof a?a:a.map(a=>"text"===a.type?a.text:"").join("\n")}function j(a){if(a.isError)return null;let b=a.details?.record;if("object"!=typeof b||null===b)try{let c=JSON.parse(i(a.content));b=c?.ok===!0?c.record:void 0}catch{return null}return"object"==typeof b&&null!==b?b:null}let k=/<task-result\b([^>]*)>/g;function l(a){let b="string"==typeof a?function(a){if(!a)return null;let b=/^\s*TASK_GUARD\s*:\s*$/im.exec(a),c=a;if(b){let e=b.index+b[0].length;"\r"===a[e]&&(e+=1),"\n"===a[e]&&(e+=1);let f=e;for(;e<a.length;){let b=a.indexOf("\n",e),c=-1===b?a.length:b,g=c>e&&"\r"===a[c-1]?c-1:c;if(!d.test(a.slice(e,g)))break;f=g,e=-1===b?a.length:b+1}let g=b[0].length-b[0].trimStart().length;c=`${a.slice(0,b.index+g)}${a.slice(f)}`}let e=[...c.matchAll(/^\s*TASK_TITLE\s*:\s*(.*?)\s*$/gim)].map(a=>a[1]??"");return 1===e.length&&e[0]&&e[0]===e[0].trim()&&/[가-힣]/u.test(e[0])?e[0]:null}(a):null,c=function(a){if("string"!=typeof a)return null;let b=a.split(/\r?\n/),c=b.findIndex(a=>/^\s*TASK_GUARD\s*:\s*$/.test(a));if(c<0)return null;for(let a=c+1;a<b.length;a+=1){let c=f.exec(b[a]);if(!c)break;if("WORK_CLASS"!==c[1])continue;let d=c[2].toLowerCase();return e.includes(d)?d:null}return null}(a),g=c?["TASK_GUARD:",`WORK_CLASS: ${c}`]:[];return b&&g.push(`TASK_TITLE: ${b}`),g.join("\n")}function m(a){switch(a.role){case"user":return{role:"user",content:"",timestamp:a.timestamp};case"assistant":{let b=(a.content??[]).filter(a=>"toolCall"===a.type&&"task"===a.toolName).map(a=>({type:"toolCall",toolCallId:a.toolCallId,toolName:"task",input:{tasks:g(a.input?.tasks).map(a=>({name:a.name,agent:a.agent,task:l(a.task)}))}}));if(0===b.length)return null;return{role:"assistant",content:b,model:a.model,provider:a.provider,timestamp:a.timestamp}}case"toolResult":{let b={role:"toolResult",toolCallId:a.toolCallId,toolName:a.toolName,content:[],timestamp:a.timestamp};if("task"===a.toolName){if(a.isError)return{...b,isError:!0};let c=g(a.details?.progress).map(a=>({index:a.index,id:a.id,agent:a.agent,task:l(a.task)}));return{...b,details:{progress:c}}}if("routing_verdict"===a.toolName){if(!function(a){let b=j(a);if(!b)return null;let c=b.verdict;if("accepted"!==c&&"rework"!==c&&"held"!==c)return null;let d=h(b.assignmentId),e=d?.split("#")??[];if(e.length<3)return null;let f=e[e.length-1],g=e.slice(1,-1).join("#");return/^\d+$/.test(f)&&g?{key:`${g}#${f}`,record:{verdict:c,attempt:"number"==typeof b.attempt?b.attempt:null,reason:h(b.reason)}}:null}(a))return null;let c=j(a);return{...b,details:{record:{verdict:c.verdict,assignmentId:c.assignmentId,attempt:c.attempt,reason:c.reason}}}}if("wait"===a.toolName){let c=g(a.details?.jobs).filter(a=>"task"===a.type).map(a=>({type:a.type,id:a.id,status:a.status,...void 0===a.durationMs?{}:{durationMs:a.durationMs}}));return c.length>0?{...b,details:{jobs:c}}:null}return null}case"custom":{if("async-result"!==a.customType)return null;let b=[...i(a.content).matchAll(k)].map(a=>a[0]);return b.length>0?{role:"custom",customType:"async-result",display:!1,content:b.join("\n"),timestamp:a.timestamp}:null}default:return null}}},69453:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,DK:()=>K,O8:()=>J,R7:()=>M,Uv:()=>N,kc:()=>L,mD:()=>F,os:()=>I,wb:()=>E});var e=c(92582),f=c(48331),g=c(5969),h=c(29021),i=c(79748),j=c(33873),k=c(64726),l=c(57372),m=c(53739),n=c(40575),o=c(84240),p=c(95602),q=c(96185),r=c(7561),s=c(87248),t=c(15395),u=c(6539),v=c(21392),w=c(74407),x=a([e,f,g,m,n,o]);[e,f,g,m,n,o]=x.then?(await x)():x;let S=["GIT_DIR","GIT_COMMON_DIR","GIT_WORK_TREE","GIT_CEILING_DIRECTORIES","GIT_DISCOVERY_ACROSS_FILESYSTEM","GIT_OBJECT_DIRECTORY"];async function y(a){try{return{isDirectory:(await (0,i.stat)(a)).isDirectory()}}catch(b){let a=b.code;return"ENOENT"!==a&&"ENOTDIR"!==a&&null}}async function z(a){let[b,c]=await Promise.all([y((0,j.join)(a,".git")),y((0,j.join)(a,"HEAD"))]);return!1!==c||null===b?"git":!1===b||b.isDirectory&&await y((0,j.join)(a,".git","commondir"))===!1?"clear":"git"}async function A(a,b){let c;if(S.some(a=>void 0!==process.env[a]))return!1;try{if(!(0,h.existsSync)(a))return!1;c=(0,h.realpathSync)(a)}catch{return!1}for(;;){let a=b.get(c);if(a||(a=z(c),b.set(c,a)),await a==="git")return!1;let d=(0,j.dirname)(c);if(d===c)return!0;c=d}}async function B(a,b){let c=(0,s.RL)(a);return c||(await A(a,b)?(0,s.lP)(a):(0,s.KI)(a))}async function C(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map,d=new Map;return await Promise.all(b.map(async a=>{c.set(a,await B(a,d))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0;return{...a,projectRoot:b?.projectRoot??a.cwd,...b?.isWorktree&&b.branch?{worktreeBranch:b.branch}:{}}})}let T="(no messages)";async function D(){let a=await e.SessionManager.listAll(),b=new Map;for(let c of a)b.set((0,r.$)(c.path),c.id);let c=a.map(a=>{J(a.id,a.path);let c=function(a){if(a.firstMessage&&a.firstMessage!==T)return a.firstMessage;if(!(a.size>4096))return null;let b=a.modified instanceof Date?a.modified:new Date(String(a.modified)),c=globalThis.__ompSessionFirstMessageCache??=new Map,d=(0,r.$)(a.path),e=c.get(d);if(e&&e.mtimeMs===b.getTime()&&e.size===a.size)return e.text;let f=function(a){let b;try{b=(0,h.openSync)(a,"r");let d=new TextDecoder,e=Buffer.alloc(65536),f="",g=0;for(;g<1048576;){let a=(0,h.readSync)(b,e,0,e.length,g);if(a<=0)break;g+=a;let i=(f+=d.decode(e.subarray(0,a),{stream:!0})).split("\n");for(let a of(f=i.pop()??"",i)){var c;let b;if(!a.includes('"role":"user"'))continue;try{b=JSON.parse(a)}catch{continue}if(!b||"object"!=typeof b||!("type"in b)||"message"!==b.type||!("message"in b))continue;let d=b.message;if(!d||"object"!=typeof d||!("role"in d)||"user"!==d.role)continue;let e=(c="content"in d?d.content:void 0,"string"==typeof c?c.trim():Array.isArray(c)?c.map(a=>a&&"object"==typeof a&&"type"in a&&"text"===a.type&&"text"in a&&"string"==typeof a.text?a.text:"").filter(Boolean).join(" ").trim():"");if(e)return e}}return null}catch{return null}finally{void 0!==b&&(0,h.closeSync)(b)}}(a.path);return c.set(d,{mtimeMs:b.getTime(),size:a.size,text:f}),f}(a);return{path:a.path,id:a.id,cwd:a.cwd,name:a.title,created:a.created instanceof Date?a.created.toISOString():String(a.created),modified:function(a){let b=a.modified instanceof Date?a.modified:new Date(String(a.modified)),c=Number.isFinite(b.getTime())?b.toISOString():String(a.modified),d=globalThis.__ompSessionActivityCache??=new Map,e=(0,r.$)(a.path),f=d.get(e);if(f&&f.mtimeMs===b.getTime()&&f.size===a.size)return f.at??c;let g=function(a){let b;try{b=(0,h.openSync)(a,"r");let c=(0,h.fstatSync)(b).size,d=Buffer.alloc(0),e=0,f=!1;for(;;){let a=e>0?d.lastIndexOf(10,e-1):-1;if(a<0&&c>0){if(!f&&d.length>=65536||d.length>=8388608)return null;let a=Math.min(65536,c),g=Buffer.alloc(a);c-=a,(0,h.readSync)(b,g,0,a,c),d=Buffer.concat([g,d]),e+=a;continue}let g=d.toString("utf8",a+1,e).trim();if(e=Math.max(a,0),g){if(!f&&!g.includes(m.SESSION_EXIT_CUSTOM_TYPE))return null;let a=JSON.parse(g);if(!a||"object"!=typeof a)return null;if("type"in a&&"custom"===a.type&&"customType"in a&&a.customType===m.SESSION_EXIT_CUSTOM_TYPE)f=!0;else{if(!f)return null;let b="timestamp"in a?a.timestamp:void 0;return"string"==typeof b&&Number.isFinite(Date.parse(b))?new Date(b).toISOString():null}}if(a<0)return null}}catch{return null}finally{void 0!==b&&(0,h.closeSync)(b)}}(a.path);return d.set(e,{mtimeMs:b.getTime(),size:a.size,at:g}),g??c}(a),messageCount:c?Math.max(a.messageCount,1):a.messageCount,firstMessage:(0,t.we)(c??"")||T,parentSessionId:a.parentSessionPath?b.get((0,r.$)(a.parentSessionPath)):void 0,transient:!1}});return C(c)}async function E(a={}){a.force&&F();let b=globalThis.__ompSessionListGeneration??0;if(globalThis.__ompSessionListCache&&Date.now()-globalThis.__ompSessionListCache.ts<U)return globalThis.__ompSessionListCache.data;if(globalThis.__ompSessionListPromise&&globalThis.__ompSessionListPromiseGeneration===b)return globalThis.__ompSessionListPromise;let c=D().then(a=>(globalThis.__ompSessionListGeneration??0)!==b?E():(globalThis.__ompSessionListCache={data:a,ts:Date.now()},a)).finally(()=>{globalThis.__ompSessionListPromise===c&&(globalThis.__ompSessionListPromise=void 0,globalThis.__ompSessionListPromiseGeneration=void 0)});return globalThis.__ompSessionListPromise=c,globalThis.__ompSessionListPromiseGeneration=b,c}let U=3e4;function F(){globalThis.__ompSessionListGeneration=(globalThis.__ompSessionListGeneration??0)+1,globalThis.__ompSessionListCache=void 0}function G(){return globalThis.__ompSessionPathCache||(globalThis.__ompSessionPathCache=new Map),globalThis.__ompSessionPathCache}function H(){return globalThis.__ompPathToSessionIdCache||(globalThis.__ompPathToSessionIdCache=new Map),globalThis.__ompPathToSessionIdCache}async function I(a){var b;let c,d,e,f,g=G().get(a);return g&&(0,h.existsSync)(g)?g:(g&&(b=a,c=G(),d=H(),e=c.get(b),c.delete(b),(f=e?(0,r.$)(e):void 0)&&d.get(f)===b&&d.delete(f)),await E(),G().get(a)??null)}function J(a,b){let c=(0,j.normalize)(b),d=(0,r.$)(c),e=G(),f=H(),g=e.get(a),h=g?(0,r.$)(g):void 0,i=f.get(d),k=i?e.get(i):void 0;h&&h!==d&&f.get(h)===a&&f.delete(h),i&&i!==a&&k&&(0,r.$)(k)===d&&e.delete(i),e.set(a,c),f.set(d,a)}async function K(a){return(await e.SessionManager.open(a)).getEntries()}function L(a,b,c){if(null===c)return[];let d=(c?b.get(c):void 0)??a[a.length-1];if(!d)return[];let e=[],f=new Set,g=d;for(;g&&!f.has(g.id);)f.add(g.id),e.push(g),g=g.parentId?b.get(g.parentId):void 0;return e.reverse()}function M(a){let b=-1;for(let c=a.length-1;c>=0;c--)if("compaction"===a[c].type){b=c;break}if(-1===b)return{displayed:a,hidden:[]};let c=a[b],d=[],e=[],f=!1;for(let g=0;g<b;g++)a[g].id===c.firstKeptEntryId&&(f=!0),(f?d:e).push(a[g]);return{displayed:[...d,c,...a.slice(b+1)],hidden:e}}function N(a,b,c={}){let d=new Map;for(let b of a)d.set(b.id,b);let f=(0,e.buildSessionContext)(a,b,d,{transcript:!0,collapseCompactedHistory:!0}),g=L(a,d,b),{displayed:h,hidden:i}=M(g),j=[],m=[],o=[];for(let a of h){if("custom"===a.type&&a.customType===n.USER_TODO_EDIT_CUSTOM_TYPE){let b=a.data?.phases;i.length>0&&Array.isArray(b)&&o.push({trackerTodo:b});let c=j.at(-1);if(Array.isArray(b)&&c){let a={...c,trackerTodos:[...c.trackerTodos??[],b]};j[j.length-1]=a}continue}let b=R(a,c);b&&(i.length>0&&o.push({message:b,entryId:a.id}),j.push(function a(b){let c;if("string"==typeof b){if(b.length<=5e5||b.startsWith("data:image/"))return b;let a=b.slice(0,5e5-V.length),c=a.charCodeAt(a.length-1);return c>=55296&&c<=56319&&(a=a.slice(0,-1)),a+V}if(Array.isArray(b)){let c;for(let d=0;d<b.length;d++){let e=a(b[d]);e!==b[d]&&((c??=b.slice())[d]=e)}return c??b}if(!P(b)||Q(b))return b;for(let d in b){if(!Object.hasOwn(b,d))continue;let e=a(b[d]);e!==b[d]&&((c??={...b})[d]=e)}return c??b}(b)),m.push(a.id))}return{messages:j,entryIds:m,thinkingLevel:f.thinkingLevel??"off",configuredThinkingLevel:f.configuredThinkingLevel??f.thinkingLevel??"off",thinkingCeiling:(0,w.hi)(g),model:function(a){let b=a.default;if(!b)return null;let c=b.indexOf("/");return c<=0?null:{provider:b.slice(0,c),modelId:b.slice(c+1)}}(f.models),compactedWork:function(a,b,c){let d=[],e=[],f=!1;for(let b of a){if("custom"===b.type&&b.customType===n.USER_TODO_EDIT_CUSTOM_TYPE){let a=b.data?.phases;Array.isArray(a)&&e.push({trackerTodo:a});continue}let a=R(b,{});a&&e.push({message:a,entryId:b.id});let c=a?(0,k.sh)(a):null;c&&("user"!==c.role||d.at(-1)?.role!=="user")&&("user"!==c.role&&(f=!0),d.push(c))}let g=(0,n.getLatestTodoSnapshotIdentity)(a)?(0,n.getLatestTodoPhasesFromEntries)(a):null,h=(0,l.y)(e,b,c);return f||g||h?{messages:f?d:[],todoPhases:g,...h?{openRequest:h}:{}}:null}(i,o,c.cwd)}}function O(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function P(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function Q(a){let b,c;if(!P(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):P(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}let V="\n\n[Session persistence truncated large content]";function R(a,b){switch(a.type){case"message":{let c=function(a){if("assistant"!==a.role)return a;let{providerPayload:b,...c}=a,d=a.content.map(a=>{if(!("thinkingSignature"in a)&&!("textSignature"in a))return a;let{thinkingSignature:b,textSignature:c,...d}=a;return d});return{...c,content:d}}((0,p.B)(a.message)),d=b.deferToolResultImages?function(a){if("toolResult"!==a.role)return a;let b=0,c=0,d=new Set,e=a.content.filter(a=>{let e=Q(a);return!e||(b+=1,c+=e.bytes,e.mime&&d.add(e.mime),!1)});return 0===b?a:(e.push({type:"text",text:(0,q.if)(b,[...d],c)}),{...a,content:e})}(c):c;if(!b.deferThinking||"assistant"!==d.role)return d;return{...d,content:d.content.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:"",deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:O(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
19
20
|
|
|
20
21
|
${a.summary}`,timestamp:O(a.timestamp)};case"custom_message":if(a.customType===u.BD){let b=(0,u.hw)(a.content,a.details);if(b?.role==="user")return{role:"user",content:b.text,timestamp:O(a.timestamp)};if(b?.role==="assistant"){let c=(0,u.p8)(a.details);return{role:"assistant",content:[{type:"text",text:b.text}],model:"Codex Live",provider:"openai-codex",...c?{liveSpeaker:c}:{},stopReason:"stop",timestamp:O(a.timestamp)}}}if(a.customType===v.gt){let b="string"==typeof a.content?a.content:a.content.map(a=>"text"===a.type?a.text:"").join("\n");if(b.trim())return{role:"assistant",content:[{type:"text",text:b}],model:v.$f,provider:"web6",stopReason:"stop",timestamp:O(a.timestamp)}}return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:O(a.timestamp)};default:return null}}d()}catch(a){d(a)}})},72107:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ex:()=>j,Ff:()=>i});var e=c(73079),f=c(88692),g=c(96282),h=a([e,f,g]);function i(a){let b=(0,g.parseModelString)(a.getModelRole("default")??"");if(!b)return;let c=void 0===b.thinkingLevel||"auto"===b.thinkingLevel?void 0:b.thinkingLevel;return{provider:b.provider,modelId:b.id,...c?{thinkingLevel:c}:{}}}function j(a){let b=new Set,c=[];for(let d of(0,e.getKnownRoleIds)(a)){let e=function(a){if(!a)return;let b=a.indexOf("/");if(b<=0)return;let c=a.slice(b+1).split(":")[0];if(c)return{provider:a.slice(0,b),modelId:c}}(a.getModelRole(d));if(!e)continue;let f=`${e.provider}/${e.modelId}`;b.has(f)||(b.add(f),c.push(e))}return c}[e,f,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},74407:(a,b,c)=>{c.d(b,{FR:()=>d,KE:()=>f,hi:()=>g});let d="cuelo-thinking-ceiling",e=["minimal","low","medium","high","xhigh","max"];function f(a){return"string"==typeof a&&e.includes(a)}function g(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if(c?.type!=="custom"||c.customType!==d)continue;let e=c.data?.ceiling;return f(e)?e:null}return null}},79055:(a,b,c)=>{function d(a,b={}){let c=b.intervalMs??6e4,e=b.now??Date.now,f=new Map,g=new Map;return{recover:(b,d={})=>{let h=g.get(b);if(h)return h.then(a=>({...a,shared:!0}));let i=e(),j=f.get(b);if(!d.force&&void 0!==j&&i-j<c)return Promise.resolve({outcome:"throttled",shared:!1});f.set(b,i);let k=a.refreshProvider(b,"online").then(()=>({outcome:"refreshed",shared:!1})).catch(a=>({outcome:"failed",shared:!1,error:function(a){let b=[],c=a;for(let a=0;a<3&&void 0!==c;a+=1){if(c instanceof Error){b.push(c.message),c=c.cause;continue}if("object"==typeof c&&null!==c){let a=c;"string"==typeof a.message&&b.push(a.message),"string"==typeof a.code&&b.push(a.code),"number"==typeof a.status&&b.push(`HTTP ${a.status}`),c=a.cause;continue}b.push(String(c));break}let d=b.join(" "),e=d.match(/\b(?:HTTP\s*)?([45]\d{2})\b/i)?.[1];if("401"===e||"403"===e||/\b(?:api[- ]?key|credential|authentication|unauthorized|forbidden)\b/i.test(d))return e?`provider authentication failed (HTTP ${e})`:"provider authentication failed";let f=d.match(/\b(EAI_AGAIN|ECONNREFUSED|ECONNRESET|ENETUNREACH|ENOTFOUND|ETIMEDOUT|UND_ERR_CONNECT_TIMEOUT|UND_ERR_HEADERS_TIMEOUT|UND_ERR_BODY_TIMEOUT)\b/i)?.[1];return f?f.toUpperCase():/\b(?:timed?\s*out|timeout)\b/i.test(d)?"request timed out":e?`HTTP ${e}`:"discovery request failed"}(a)})).finally(()=>{g.get(b)===k&&g.delete(b)});return g.set(b,k),k}}}function e(a){return a.providerKnown?"failed"===a.recovery.outcome?`Model ${a.selector} is not in the model list and the discovery refresh for provider "${a.provider}" failed: ${a.recovery.error??"unknown error"}.`:"throttled"===a.recovery.outcome?`Model ${a.selector} is not in the model list. Discovery for provider "${a.provider}" was refreshed recently, so this lookup did not fetch again.`:`Model ${a.selector} is not in the model list after refreshing discovery for provider "${a.provider}".`:`Unknown model provider "${a.provider}" for ${a.selector}: the provider is not registered.`}c.d(b,{fw:()=>d,zX:()=>e})},81008:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{effectiveServerOrigin:()=>z,ensureInterruptWatcher:()=>y,handleInterruptRequest:()=>u,recoverAbruptStop:()=>B,resumeInterruptedSessions:()=>w});var e=c(73024),f=c(48161),g=c(76760),h=c(12144),i=c(69453),j=c(14e3),k=c(61024),l=c(32955),m=c(60755),n=a([h,i,m]);[h,i,m]=n.then?(await n)():n;let C=/^[A-Za-z0-9_.-]{1,80}$/,D=/^[0-9a-f-]{36}$/;function o(){let a=process.env.CUELO_EXTERNAL_UPDATE_ROOT?.trim();return(0,g.join)((0,g.resolve)(a||(0,g.join)((0,f.homedir)(),".omp","external-update")),"interrupts")}function p(){return(0,g.join)(o(),"pending-resume.json")}function q(a){try{let b=JSON.parse((0,e.readFileSync)(a,"utf8").replace(/^\uFEFF/,""));return b&&"object"==typeof b?b:null}catch{return null}}function r(a,b){(0,e.mkdirSync)((0,g.dirname)(a),{recursive:!0});let c=`${a}.${process.pid}.${Date.now()}.tmp`;try{(0,e.writeFileSync)(c,`${JSON.stringify(b,null,2)}
|
|
21
|
-
`,"utf8"),(0,e.renameSync)(c,a)}catch(a){try{(0,e.rmSync)(c,{force:!0})}catch{}throw a}}function s(a){return(a instanceof Error?a.message:String(a)).replace(/\s+/g," ").trim().slice(0,200)}function t(){let a=q(p());if(!a||1!==a.schemaVersion||!Array.isArray(a.sessionIds))return null;let b=a.sessionIds.filter(a=>"string"==typeof a&&D.test(a)),c=[];if(Array.isArray(a.failures))for(let b of a.failures){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.sessionId?b.sessionId:"";D.test(a)&&c.push({sessionId:a,error:String(b.error??""),atUtc:String(b.atUtc??"")})}let d="string"==typeof a.requestId&&C.test(a.requestId)?a.requestId:void 0,e=Array.isArray(a.abruptSessionIds)?a.abruptSessionIds.filter(a=>"string"==typeof a&&D.test(a)&&b.includes(a)):[];return{schemaVersion:1,writerPid:Number(a.writerPid),...d?{requestId:d}:{},sessionIds:b,updatedAtUtc:String(a.updatedAtUtc??""),...c.length>0?{failures:c}:{},...e.length>0?{abruptSessionIds:e}:{}}}async function u(a,b){let c=o(),d=q((0,g.join)(c,"request.json")),f="string"==typeof d?.id?d.id:"";if(!C.test(f)||a.has(f)||b.has(f)||(0,e.existsSync)((0,g.join)(c,`${f}.ack.json`)))return!1;b.add(f);try{let b=Date.parse(String(d?.atUtc??"")),e=Date.now()-1e3*process.uptime();if(!Number.isFinite(b)||b<e)return!1;let i=new Set(Array.isArray(d?.excludeSessionIds)?d.excludeSessionIds.map(a=>String(a).toLowerCase()):[]),j=(0,h.HG)().filter(a=>D.test(a)&&!i.has(a)),k=t(),l=[...new Set([...k?.sessionIds??[],...j])].sort(),m=(k?.failures??[]).filter(a=>l.includes(a.sessionId)),n=(k?.abruptSessionIds??[]).filter(a=>l.includes(a));r(p(),{schemaVersion:1,writerPid:process.pid,requestId:f,sessionIds:l,updatedAtUtc:new Date().toISOString(),...m.length>0?{failures:m}:{},...n.length>0?{abruptSessionIds:n}:{}});let o=[],q=[];for(let a of j)try{await (0,h.A4)(a)?.send({type:"abort"}),o.push(a)}catch(b){q.push({sessionId:a,error:s(b)})}let u=[];return await Promise.all(j.map(async a=>{try{(await (0,h.A4)(a)?.stopBackgroundWorkForDrain(5e3)??!0)||u.push(a)}catch(b){u.push(a),q.push({sessionId:a,error:s(b)})}})),r((0,g.join)(c,`${f}.ack.json`),{schemaVersion:1,id:f,processId:process.pid,aborted:o,failed:q,unsettled:u.sort(),atUtc:new Date().toISOString()}),a.add(f),!0}finally{b.delete(f)}}let E=new Set,F="",G=null;function v(a){return E.has(a)||t()?.sessionIds.includes(a)===!0}async function w(){if(G)return G;let a=x().finally(()=>{G=null});return G=a,a}async function x(){let a=t();if(!a
|
|
22
|
+
`,"utf8"),(0,e.renameSync)(c,a)}catch(a){try{(0,e.rmSync)(c,{force:!0})}catch{}throw a}}function s(a){return(a instanceof Error?a.message:String(a)).replace(/\s+/g," ").trim().slice(0,200)}function t(){let a=q(p());if(!a||1!==a.schemaVersion||!Array.isArray(a.sessionIds))return null;let b=a.sessionIds.filter(a=>"string"==typeof a&&D.test(a)),c=[];if(Array.isArray(a.failures))for(let b of a.failures){if(!b||"object"!=typeof b)continue;let a="string"==typeof b.sessionId?b.sessionId:"";D.test(a)&&c.push({sessionId:a,error:String(b.error??""),atUtc:String(b.atUtc??"")})}let d="string"==typeof a.requestId&&C.test(a.requestId)?a.requestId:void 0,e=Array.isArray(a.abruptSessionIds)?a.abruptSessionIds.filter(a=>"string"==typeof a&&D.test(a)&&b.includes(a)):[];return{schemaVersion:1,writerPid:Number(a.writerPid),...d?{requestId:d}:{},sessionIds:b,updatedAtUtc:String(a.updatedAtUtc??""),...c.length>0?{failures:c}:{},...e.length>0?{abruptSessionIds:e}:{}}}async function u(a,b){let c=o(),d=q((0,g.join)(c,"request.json")),f="string"==typeof d?.id?d.id:"";if(!C.test(f)||a.has(f)||b.has(f)||(0,e.existsSync)((0,g.join)(c,`${f}.ack.json`)))return!1;b.add(f);try{let b=Date.parse(String(d?.atUtc??"")),e=Date.now()-1e3*process.uptime();if(!Number.isFinite(b)||b<e)return!1;let i=new Set(Array.isArray(d?.excludeSessionIds)?d.excludeSessionIds.map(a=>String(a).toLowerCase()):[]),j=(0,h.HG)().filter(a=>D.test(a)&&!i.has(a)),k=t(),l=[...new Set([...k?.sessionIds??[],...j])].sort(),m=(k?.failures??[]).filter(a=>l.includes(a.sessionId)),n=(k?.abruptSessionIds??[]).filter(a=>l.includes(a));r(p(),{schemaVersion:1,writerPid:process.pid,requestId:f,sessionIds:l,updatedAtUtc:new Date().toISOString(),...m.length>0?{failures:m}:{},...n.length>0?{abruptSessionIds:n}:{}});let o=[],q=[];for(let a of j)try{await (0,h.A4)(a)?.send({type:"abort"}),o.push(a)}catch(b){q.push({sessionId:a,error:s(b)})}let u=[];return await Promise.all(j.map(async a=>{try{(await (0,h.A4)(a)?.stopBackgroundWorkForDrain(5e3)??!0)||u.push(a)}catch(b){u.push(a),q.push({sessionId:a,error:s(b)})}})),r((0,g.join)(c,`${f}.ack.json`),{schemaVersion:1,id:f,processId:process.pid,aborted:o,failed:q,unsettled:u.sort(),atUtc:new Date().toISOString()}),a.add(f),!0}finally{b.delete(f)}}let E=new Set,F="",G=null;function v(a){return E.has(a)||t()?.sessionIds.includes(a)===!0}async function w(){if(G)return G;let a=x().finally(()=>{G=null});return G=a,a}async function x(){let a=t();if(!a)return[];let b=a.writerPid===process.pid?(0,k.rJ)(a.requestId):null;if(a.writerPid===process.pid&&!b)return[];let c=a.requestId??`pid:${a.writerPid}`;c!==F&&(F=c,E=new Set);let d=[],f=new Map,g=()=>{try{!function(a,b){let c=t();if(!c||c.writerPid!==a.writerPid||c.requestId!==a.requestId)return;let d=c.sessionIds.filter(a=>!E.has(a));if(0===d.length)return(0,e.rmSync)(p(),{force:!0});let f=new Map;for(let a of c.failures??[])d.includes(a.sessionId)&&f.set(a.sessionId,a);for(let[a,c]of b)d.includes(a)&&f.set(a,c);let g={schemaVersion:1,writerPid:c.writerPid,...c.requestId?{requestId:c.requestId}:{},sessionIds:d,updatedAtUtc:new Date().toISOString()};f.size>0&&(g.failures=[...f.values()]);let h=(c.abruptSessionIds??[]).filter(a=>d.includes(a));h.length>0&&(g.abruptSessionIds=h),r(p(),g)}(a,f)}catch(a){console.error("[update-interrupt] pending save failed:",a)}};for(let c of a.sessionIds)if(!E.has(c))try{if(b&&c===b.initiatorSessionId){let a=await (0,m.DL)({requestId:b.requestId,stageHash:b.stageHash,clientId:m.LB,sessionId:c});if(a.notice)d.push(c);else if("already-claimed"!==a.reason&&"user-already-active"!==a.reason)throw Error(`failure notice skipped: ${a.reason}`);E.add(c),g();continue}let e=(0,h.A4)(c),f=e?.isAlive()?e:await (async()=>{let a=await (0,i.os)(c);if(!a)throw Error(`session record not found: ${c}`);return(await (0,h.OF)(c,a,void 0)).session})();if(f.isRunning()){E.add(c),g();continue}let k=a.abruptSessionIds?.includes(c)===!0;if(k&&!(0,j.w)(f.inner.messages)){E.add(c),g();continue}await f.sendInternalPrompt(k?l.VD:b?l.Kf:l.qd),d.push(c),E.add(c),g()}catch(a){f.set(c,{sessionId:c,error:s(a),atUtc:new Date().toISOString()}),console.error(`[update-interrupt] resume failed ${c}:`,a)}return g(),d}function y(){let a=globalThis;if(a.__ompwebInterruptWatcher)return;a.__ompwebInterruptWatcher=!0;let b=new Set,c=new Set,d=!1,e=Date.now(),f=e,g=Date.now()-1e3*process.uptime(),h=!1,i=!1,j=async()=>{e=Date.now(),await w()},k=async()=>{let a=Date.now()-f;if(!h&&!i&&!(a<3e4)){if(a>6e5){h=!0;return}i=!0;try{h=await (0,m.df)({serverStartedAtMs:g,continuedByInterruptResume:v})}catch(a){h=!0,console.error("[update-interrupt] server wake failed:",a)}finally{i=!1}}},l=async()=>{if(!d){d=!0;try{try{await u(b,c)}catch(a){console.error("[update-interrupt] request failed:",a)}if(Date.now()-e>=3e3)try{await j()}catch(a){console.error("[update-interrupt] resume failed:",a)}}finally{d=!1}}};setInterval(()=>{l(),k()},1e3).unref?.(),setTimeout(()=>void l(),3e3).unref?.()}function z(){let a=Number(process.env.PORT);return!Number.isInteger(a)||a<=0?null:`port:${a}`}async function A(a){let b=await (0,i.os)(a);return!!b&&(0,j.w)((0,i.Uv)(await (0,i.DK)(b)).messages)}async function B(a={}){let b,c,d,e,f,g=void 0===a.origin?z():a.origin;if(!g)return{queued:[],skipped:[]};let h=(0,k.Q4)(g),i=(0,k.Ef)(g,h.startedAtMs,a.probe);if(!i)return{queued:[],skipped:[]};let j=a.isInterrupted??A,l=[],m=[];for(let a of i.runningSessionIds){if(!D.test(a)||i.waitingSessionIds.includes(a)){m.push(a);continue}try{(await j(a)?l:m).push(a)}catch(b){m.push(a),console.error(`[update-interrupt] abrupt-stop check failed ${a}:`,b)}}return l.length>0&&(b=t(),c=new Set(b?.sessionIds??[]),d=[...new Set([...c,...l])].sort(),e=[...new Set([...b?.abruptSessionIds??[],...l.filter(a=>!c.has(a))])].sort(),f=(b?.failures??[]).filter(a=>d.includes(a.sessionId)),r(p(),{schemaVersion:1,writerPid:b?.writerPid??(i.processId===process.pid?0:i.processId),requestId:b?.requestId??`abrupt-${i.startedAtMs}`,sessionIds:d,updatedAtUtc:new Date().toISOString(),...f.length>0?{failures:f}:{},abruptSessionIds:e})),(0,k.W4)(i,h.startedAtMs),l.length>0&&y(),{queued:l,skipped:m}}d()}catch(a){d(a)}})},82368:(a,b,c)=>{let{createHash:d,randomBytes:e,randomUUID:f,scryptSync:g,timingSafeEqual:h}=c(77598),{mkdirSync:i,readFileSync:j,renameSync:k,statSync:l,unlinkSync:m,writeFileSync:n}=c(73024),{homedir:o}=c(48161),{basename:p,dirname:q,join:r,resolve:s}=c(76760),t="cuelo-auth.json",u={algorithm:"scrypt",cost:16384,blockSize:8,parallelization:1,keyLength:64},v="0123456789ABCDEFGHJKMNPQRSTVWXYZ",w=/^[a-z0-9][a-z0-9._-]{0,63}$/;function x(a=process.env){if(a.PI_CODING_AGENT_DIR)return s(a.PI_CODING_AGENT_DIR);let b=r(o(),a.PI_CONFIG_DIR||".omp"),c=function(a){let b="string"==typeof a?a.trim():"";if(b&&"default"!==b)return w.test(b)&&!b.endsWith(".")?b:void 0}(void 0!==a.OMP_PROFILE?a.OMP_PROFILE:a.PI_PROFILE);return c?r(b,"profiles",c,"agent"):r(b,"agent")}function y(a=process.env){return a.CUELO_AUTH_FILE?s(a.CUELO_AUTH_FILE):r(x(a),t)}function z(a){return"string"!=typeof a?"A password is required.":a.length<8?"The password must be at least 8 characters long.":a.length>256?"The password must be at most 256 characters long.":0===a.trim().length?"The password cannot be only whitespace.":null}function A(a){let b=128*a.cost*a.blockSize*a.parallelization;return{N:a.cost,r:a.blockSize,p:a.parallelization,maxmem:Math.max(2*b,0x2000000)}}function B(a){var b;return!!a&&"object"==typeof a&&"scrypt"===a.algorithm&&"string"==typeof a.salt&&a.salt.length>0&&"string"==typeof a.hash&&a.hash.length>0&&Number.isInteger(b=a.cost)&&b>1&&(b&b-1)==0&&a.cost<=1048576&&Number.isInteger(a.blockSize)&&a.blockSize>=1&&a.blockSize<=32&&Number.isInteger(a.parallelization)&&a.parallelization>=1&&a.parallelization<=8&&Number.isInteger(a.keyLength)&&a.keyLength>=16&&a.keyLength<=128}function C(a,b=u){let c={...u,...b,algorithm:"scrypt"},d=e(16),f=g(a,d,c.keyLength,A(c));return{...c,salt:d.toString("base64"),hash:f.toString("base64")}}function D(a,b){if("string"!=typeof a||!B(b))return!1;try{let c=Buffer.from(b.salt,"base64"),d=Buffer.from(b.hash,"base64");if(0===c.length||d.length!==b.keyLength)return!1;let e=g(a,c,b.keyLength,A(b));return h(e,d)}catch{return!1}}function E(a){try{return l(a),"present"}catch(a){if(a&&"ENOENT"===a.code)return"missing";throw a}}function F(a,b){if("present"===E(a))return;let c=r(q(a),b);if("missing"!==E(c))try{k(c,a)}catch(b){if("present"===E(a))return;throw b}}function G(a=y()){let b;if(p(a)===t)try{F(a,"omp-web-auth.json")}catch{return{status:"unreadable",config:null}}try{b=j(a,"utf8")}catch(a){if(a&&"ENOENT"===a.code)return{status:"missing",config:null};return{status:"unreadable",config:null}}try{let a=JSON.parse(b);if(!a||"object"!=typeof a||Array.isArray(a))return{status:"unreadable",config:null};return{status:"ok",config:a}}catch{return{status:"unreadable",config:null}}}function H(a,b=y()){let c=q(b);i(c,{recursive:!0,mode:448});let d=r(c,`.${p(b)}-${f()}.tmp`);try{n(d,`${JSON.stringify(a,null,2)}
|
|
22
23
|
`,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),k(d,b)}catch(a){try{m(d)}catch{}throw a}}function I(a,{replaceUnreadable:b=!1}={}){let c=G(a);if("unreadable"===c.status){if(b)return{version:1};throw Error(`The CUELO credential file at ${a} could not be read. Run \`cuelo --reset-password\` to replace it.`)}return c.config??{version:1}}function J(a=process.env){let b=a.CUELO_PASSWORD;return"string"==typeof b&&b.length>0?b:null}function K(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b);if(d)return{mode:"environment",password:d,file:c};let e=G(c);if("missing"===e.status)return{mode:"open",file:c};if("unreadable"===e.status)return{mode:"unavailable",file:c};let f=e.config;return!0!==f.enabled?{mode:"open",file:c}:B(f.password)?{mode:"stored",digest:f.password,file:c}:{mode:"unavailable",file:c}}function L(a={}){let b=a.env??process.env,c=a.file??y(b),d=J(b),e=G(c),f=e.config??{},g=B(f.password);return{enabled:!!d||"ok"===e.status&&!0===f.enabled&&g,configured:!!d||g,stored:g,source:d?"environment":g?"stored":"none",managedByEnvironment:!!d,unreadable:"unreadable"===e.status,username:"omp",updatedAt:"string"==typeof f.updatedAt?f.updatedAt:null,file:c}}let M=new Map;function N(){M.clear()}function O(){return new Date().toISOString()}function P(a,b={}){let c=b.file??y(b.env??process.env),d=z(a);if(d)throw Error(d);return H({...I(c,{replaceUnreadable:!0}),version:1,enabled:!0,password:C(a,b.params),updatedAt:O(),recovery:void 0},c),N(),L({...b,file:c})}function Q(a){return"string"!=typeof a?"":a.toUpperCase().replace(/[OQ]/g,"0").replace(/[IL]/g,"1").replace(/U/g,"V").replace(/[^0-9A-Z]/g,"")}a.exports={MIN_PASSWORD_LENGTH:8,RECOVERY_CODE_TTL_MS:6e5,RECOVERY_MAX_ATTEMPTS:5,WEB_AUTH_FILENAME:t,WEB_AUTH_USERNAME:"omp",adoptLegacyStateFile:F,clearVerificationCache:N,clearWebPassword:function(a={}){let b=a.file??y(a.env??process.env);return H({...I(b),version:1,enabled:!1,password:void 0,recovery:void 0,updatedAt:O()},b),N(),L({...a,file:b})},consumeRecoveryCode:function(a,b,c={}){let d=c.file??y(c.env??process.env),e=c.now??Date.now(),f=I(d),g=f.recovery;if(!g||!B(g))return{ok:!1,reason:"no-code"};if("number"!=typeof g.expiresAt||g.expiresAt<=e)return H({...f,recovery:void 0},d),{ok:!1,reason:"expired"};let h=Number.isInteger(g.attempts)?g.attempts:0;if(h>=5)return H({...f,recovery:void 0},d),{ok:!1,reason:"too-many-attempts"};if(!D(Q(a),g)){let a=5-h-1;return H({...f,recovery:a>0?{...g,attempts:h+1}:void 0},d),{ok:!1,reason:"invalid-code",remainingAttempts:Math.max(a,0)}}let i=z(b);return i?{ok:!1,reason:"invalid-password",message:i}:{ok:!0,status:P(b,{...c,file:d})}},createDigest:C,getWebAuthStatus:L,issueRecoveryCode:function(a={}){let b=a.file??y(a.env??process.env),c=a.now??Date.now(),d=I(b),f=d.recovery;if(f&&"number"==typeof f.issuedAt&&c-f.issuedAt<3e4)return{ok:!1,reason:"throttled",retryAfterMs:3e4-(c-f.issuedAt)};let g=function(a){let b="";for(let c=0;c<12;c+=1)c>0&&c%4==0&&(b+="-"),b+=v[a[c]%v.length];return b}(e(12)),h=c+6e5;return H({...d,version:1,recovery:{...C(Q(g),a.params),issuedAt:c,expiresAt:h,attempts:0}},b),{ok:!0,code:g,expiresAt:h}},normalizeRecoveryCode:Q,readWebAuthState:G,resolveAgentDir:x,resolveWebAuthFile:y,resolveWebAuthPolicy:K,setWebPassword:P,setWebPasswordEnabled:function(a,b={}){let c=b.file??y(b.env??process.env),d=I(c);if(a&&!B(d.password))throw Error("Set a password before enabling password access.");return H({...d,version:1,enabled:!!a},c),N(),L({...b,file:c})},validatePassword:z,verifyDigest:D,verifyWebPassword:function(a,b={}){var c,e,f;let g;if("string"!=typeof a||0===a.length)return!1;let i=b.policy??K(b);if("environment"===i.mode)return c=i.password,h(d("sha256").update(a,"utf8").digest(),d("sha256").update(c,"utf8").digest());if("stored"!==i.mode)return!1;let j=(e=i.digest,f=d("sha256").update(`${e.salt}:${e.hash}`,"utf8").digest("base64"),d("sha256").update(`${f}:${a}`,"utf8").digest("base64"));if((g=M.get(j))&&(!(g<=Date.now())||(M.delete(j),0)))return!0;if(!D(a,i.digest))return!1;if(M.size>=32){let a=Date.now();for(let[b,c]of M)c<=a&&M.delete(b);M.size>=32&&M.delete(M.keys().next().value)}return M.set(j,Date.now()+3e5),!0}}},83739:(a,b,c)=>{c.d(b,{o:()=>h}),c(29021);var d=c(33873),e=c.n(d);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a,b){for(let c of b)if(function(a,b){let c=g(a)||g(b),d=c?e().win32:e(),f=c?"\\":e().sep,h=d.resolve(a),i=d.resolve(b),j=c?h.toLowerCase():h,k=c?i.toLowerCase():i,l=k.endsWith(f)?k:k+f;return j===k||j.startsWith(l)}(a,c))return!0;return!1}},84240:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Ef:()=>m,Ix:()=>l,RD:()=>i,ZU:()=>j});var e=c(92582),f=c(79055),g=a([e]);async function h(){let a=(0,e.getAgentDir)(),b=await e.Settings.init({agentDir:a}),c=await (0,e.discoverAuthStorage)(a),d=new e.ModelRegistry(c);return await d.refresh("online-if-uncached"),{agentDir:a,settings:b,authStorage:c,modelRegistry:d}}function i(){return globalThis.__ompRuntimePromise??=h().catch(a=>{throw globalThis.__ompRuntimePromise=void 0,a}),globalThis.__ompRuntimePromise}async function j(a){let{settings:b}=await i();return a&&b.getCwd()!==a?b.cloneForCwd(a):b}function k(a){let b=globalThis.__ompMissingModelRecovery??=new WeakMap,c=b.get(a);return c||(c=(0,f.fw)(a),b.set(a,c)),c}async function l(a,b,c,d={}){let e=a.find(b,c);if(e)return{model:e};let f=await k(a).recover(b,{force:d.forceDiscovery}),g=a.find(b,c);return g?{model:g}:{miss:{selector:`${b}/${c}`,provider:b,providerKnown:a.hasProvider(b),recovery:f}}}async function m(a,b){let c=new Set;for(let d of b)d.provider&&d.modelId&&(a.find(d.provider,d.modelId)||c.add(d.provider));0!==c.size&&await Promise.all([...c].map(b=>k(a).recover(b)))}e=(g.then?(await g)():g)[0],d()}catch(a){d(a)}})},87248:(a,b,c)=>{let d;c.d(b,{RL:()=>u,lP:()=>v,KI:()=>x});var e=c(79646),f=c(29021),g=c(33873),h=c(28354),i=c(73024),j=c(51455),k=c(76760);async function l(a){let b=(0,k.resolve)(a);for(;;){let a=(0,k.join)(b,".git"),c=await (0,j.stat)(a).catch(()=>void 0);if(c)return c.isFile()&&/^gitdir:\s*\//m.test(await (0,j.readFile)(a,"utf8"));let d=(0,k.dirname)(b);if(d===b)return!1;b=d}}async function m(a,b){for(let c of b)if(await l((0,k.dirname)((0,k.resolve)(a,c))))return!0;return!1}async function n(a,b){return!!("linux"===process.platform&&process.env.WSL_DISTRO_NAME&&/^\/mnt\/[a-z](?:\/|$)/i.test(a))&&!await (b?m(a,b):l(a))}let o={command:"git",windows:!1,toPosix:a=>a},p={command:"git.exe",windows:!0,toPosix:function(a){let b=/^([A-Za-z]):[\\/]*(.*)$/.exec(a);if(!b)return a;let c=b[2].replace(/\\/g,"/").replace(/\/+$/,"");return c?`/mnt/${b[1].toLowerCase()}/${c}`:`/mnt/${b[1].toLowerCase()}`}};async function q(a){let b;return(b=process.env.PATH??"",d?.path!==b&&(d={path:b,found:b.split(k.delimiter).some(a=>a&&(0,i.existsSync)((0,k.join)(a,"git.exe")))}),d.found&&await n(a).catch(()=>!1))?p:o}let r=(0,h.promisify)(e.execFile);function s(){return globalThis.__ompProjectCache||(globalThis.__ompProjectCache=new Map),globalThis.__ompProjectCache}function t(a){let b=s().get(a);return b&&b.expiresAt>Date.now()?b:void 0}function u(a){let b=t(a);if(b)return"info"in b?b.info:b.grouping}function v(a){let b=u(a);if(b)return b;let c={projectRoot:a,branch:null,isWorktree:!1};return s().set(a,{grouping:c,expiresAt:Date.now()+6e4}),c}async function w(a,b,c){let{stdout:d}=await r(c?.command??"git",b,{cwd:a,timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return d.trim()}async function x(a){let b,c=t(a);if(c&&"info"in c)return c.info;let d=s();try{if(!(0,f.existsSync)(a))return b=function(a){let b=(0,g.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,f.existsSync)((0,g.join)(c,".git"))?{projectRoot:c,branch:(0,g.basename)(a),isWorktree:!0,isTopLevel:!0}:null}(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},d.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let c=await q(a),[e,h,i,j]=(await w(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"],c)).split("\n").map(a=>a.trim()),k=c.toPosix(e),l=c.toPosix(h),m=c.toPosix(i),n=a;try{n=(0,f.realpathSync)(a)}catch{}let o=m===n,p=l!==k&&o;b={projectRoot:p?(0,g.dirname)(k):a,branch:j&&"HEAD"!==j?j:null,isWorktree:p,isTopLevel:o}}catch{b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return d.set(a,{info:b,expiresAt:Date.now()+6e4}),b}},87570:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Pb:()=>i});var e=c(29021),f=c(33873);c(82368);var g=c(69453),h=a([g]);function i(){let a=(0,g.$M)();for(let b of["cuelo-archived.json","omp-web-archived.json"]){let c;try{c=(0,e.readFileSync)((0,f.join)(a,b),"utf8")}catch(a){if(a instanceof Error&&"code"in a&&"ENOENT"===a.code)continue;throw a}return function(a){let b=JSON.parse(a);if(!b||"object"!=typeof b||!("archived"in b)||!Array.isArray(b.archived))throw Error("not an archive registry");return new Set(b.archived.filter(a=>"string"==typeof a))}(c)}return new Set}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},88250:(a,b,c)=>{c.d(b,{kn:()=>d});function d(){let a=(globalThis.__ompModelsCacheState||(globalThis.__ompModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__ompModelsCacheState);a.generation+=1,a.entries.clear(),a.inFlight.clear()}},95602:(a,b,c)=>{c.d(b,{B:()=>d});function d(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}},96185:(a,b,c)=>{c.d(b,{if:()=>d});function d(a,b,c){let d=b.length>0?`: ${b.join(", ")}`:"";return`[${a} tool result image${1===a?"":"s"} omitted from initial history payload${d}, ~${c} bytes]`}},96515:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I:()=>i,p:()=>h});var e=c(88692),f=a([e]);function g(a,b){return a.provider===b.provider&&a.id===b.modelId}async function h(a,b,c){let d=(b??[]).map(a=>a.trim()).filter(Boolean);if(0===d.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:[]};let f=await (0,e.resolveModelScope)(d,a,void 0,c),g=[];if(await Promise.all(d.map(async b=>{let d=await (0,e.resolveModelScope)([b],a,void 0,c);0===d.length&&g.push(`No model matches "${b}" in enabledModels.`)})),0===f.length)return{visible:a.getAvailable(),scopedModels:[],thinkingLevelPins:{},warnings:g};let h={};for(let a of f)a.thinkingLevel&&(h[`${a.model.provider}/${a.model.id}`]=a.thinkingLevel);return{visible:f.map(a=>a.model),scopedModels:f,thinkingLevelPins:h,warnings:g}}function i(a,b={}){let c=b.requestedModel,d=b.defaultModel,e=c?a.visible.find(a=>g(a,c)):void 0;if(c&&!e)throw Error(`Model is not available in the enabled scope: ${c.provider}/${c.modelId}`);let f=e?a.scopedModels.find(a=>a.model===e||g(a.model,{provider:e.provider,modelId:e.id})):void 0,h=!e&&d?a.scopedModels.find(a=>g(a.model,d)):void 0,j=e?void 0:h??a.scopedModels[0],k=e||j||!d?void 0:a.visible.find(a=>g(a,d)),l=e??j?.model??k,m=f??j,n=b.thinkingLevel??m?.thinkingLevel;return{...l?{model:l}:{},...n?{thinkingLevel:n}:{},scopedModels:[...a.scopedModels]}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},96942:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>i});var e=c(58505),f=c(4327),g=a([e,f]);function h(a,b){return(0,e.findConfigFile)(a,{user:!1,cwd:b})??(0,e.findConfigFile)(a,{user:!0,cwd:b})}async function i(a){let[b,c,d]=await Promise.all([(0,f.resolvePromptInput)(h("SYSTEM.md",a),"system prompt"),(0,f.resolvePromptInput)(h("APPEND_SYSTEM.md",a),"append system prompt"),(0,f.resolvePromptInput)((0,f.discoverTitleSystemPromptFile)(a),"title system prompt")]);return{systemPrompt:b,appendPrompt:c,titlePrompt:d}}[e,f]=g.then?(await g)():g,d()}catch(a){d(a)}})}};
|