@qt4798/pi-web 0.9.25 → 0.9.26
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 +7 -7
- package/.next/build-manifest.json +2 -2
- 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 +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- 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/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/running/events/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +2 -2
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/restart/route.js +1 -1
- package/.next/server/app/api/mcp/restart/route.js.nft.json +1 -1
- package/.next/server/app/api/project-aliases/route.js +1 -1
- package/.next/server/app/api/project-aliases/route.js.nft.json +1 -1
- package/.next/server/app/api/project-state/route.js +1 -1
- package/.next/server/app/api/project-state/route.js.nft.json +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/queue-recovery/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/queue-recovery/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[id]/[action]/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/[action]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/[id]/route.js +1 -1
- package/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/batch/route.js +1 -1
- package/.next/server/app/api/tasks/batch/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/events/route.js +2 -2
- package/.next/server/app/api/tasks/events/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +1 -1
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/settings/route.js +1 -1
- package/.next/server/app/api/tasks/settings/route.js.nft.json +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page.js +7 -10
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +7 -7
- package/.next/server/chunks/4229.js +1 -0
- package/.next/server/chunks/4253.js +11 -2
- package/.next/server/chunks/6429.js +10 -1
- package/.next/server/chunks/7915.js +1 -1
- package/.next/server/instrumentation.js +1 -1
- 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/static/chunks/app/page-38915f11bc454596.js +47 -0
- package/.next/trace +16 -10
- package/.next/trace-build +1 -1
- package/package.json +1 -1
- package/.next/static/chunks/app/page-d81afe1ad45552bb.js +0 -50
- /package/.next/static/{-HtymM_eru_cJweYS8ozD → D-qLyZu7eZ1FBW4HpFdD3}/_buildManifest.js +0 -0
- /package/.next/static/{-HtymM_eru_cJweYS8ozD → D-qLyZu7eZ1FBW4HpFdD3}/_ssgManifest.js +0 -0
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
exports.id=4253,exports.ids=[4253],exports.modules={12144:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OF:()=>B});var e=c(75430),f=c(29862),g=c(55511),h=c(29021),i=c(33873),j=c(18437),k=c(17114),l=c(88250),m=c(96515),n=c(15253),o=c(69453),p=c(61577),q=c(44290),r=c(30116),s=c(97563),t=c(57856),u=c(29040),v=a([e,f,m,n,o,q,u]);[e,f,m,n,o,q,u]=v.then?(await v)():v;let C=new Set(["agent_start","message_start","message_update","message_end","agent_end","entry_appended","session_info_changed","queue_update","prompt_done","agent_settled","auto_compaction_end","compaction_end"]),D=["read","bash","edit","write","grep","find","ls"];class E extends e.Theme{constructor(){super({thinkingXhigh:""},{selectedBg:""},"truecolor")}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let F=new E,G=new f.KeybindingsManager(f.TUI_KEYBINDINGS);function w(a,b){if(0===b.length)return[];let c=new Set(D),d=a.getAllTools().map(a=>a.name).filter(a=>!c.has(a));return[...new Set([...b,...d])]}class H{constructor(a,b){this.inner=a,this.cwd=b,this.listeners=[],this.pendingUiResponses=new Map,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.promptPhase=null,this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.forceEmptySystemPrompt=!1,this.unsubscribe=null,this.idleTimer=null,this.queueMirror=[],this.queueRecovery=[],this.pendingQueueHints={steer:[],followUp:[]},this.queueMutationTail=Promise.resolve(),this.onDestroyCallback=null,this.shutdownPromise=null,this._alive=!0,this.approvalPolicy=(0,r.ni)((0,q.lN)().permissionRules),this.approvalMode=(0,q.lN)().toolApprovalMode,this.pendingApprovals=new Map,this.approvalSeq=0,this.approvalHookInstalled=!1;const c=(0,q.lN)(a.sessionId);this.approvalMode=c.toolApprovalMode,this.approvalPolicy=(0,r.ni)(c.permissionRules)}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isRunning(){return this._alive&&(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)}runtimeSnapshot(){let a=this.inner.isStreaming,b=this.promptRunning,c=this.inner.isCompacting,d=this.inner.isBashRunning;return{id:this.sessionId,running:this.isRunning(),isStreaming:a,isPromptRunning:b,isCompacting:c,isBashRunning:d,phase:d?"running_command":this.promptPhase??(a||b||c?"waiting_model":null)}}start(){this.installApprovalHook(),this.unsubscribe=this.inner.subscribe(a=>{("agent_end"===a.type||"message_end"===a.type||"entry_appended"===a.type||"session_info_changed"===a.type)&&(0,o.mD)(),("agent_end"===a.type||"agent_settled"===a.type||"auto_compaction_end"===a.type||"compaction_end"===a.type)&&this.resetIdleTimer(),"queue_update"===a.type&&this.reconcileQueue(a.steering,a.followUp),C.has(a.type)&&function(a,b,c){let d=globalThis.__piSessionBusListeners;if(!d||0===d.size)return;if("message_update"!==a)return z({type:a,sessionId:b,payload:c});let e=J.get(b),f={type:a,sessionId:b,payload:c};e?(clearTimeout(e.timer),e.event=f):J.set(b,{event:f,timer:setTimeout(()=>{let a=J.get(b);a&&(J.delete(b),z(a.event))},80)})}(a.type,this.sessionId,a),this.emit(a),y()}),this.resetIdleTimer(),y()}loadQueueRecovery(){if(!this.sessionFile)return;let a=this.inner.getSteeringMessages(),b=this.inner.getFollowUpMessages();if(a.length||b.length){this.queueRecovery=[],this.reconcileQueue([...a],[...b]);return}this.queueRecovery=(0,k.ov)(this.sessionFile)}setApprovalMode(a){this.approvalMode=a}setApprovalPolicy(a){this.approvalPolicy=a}installApprovalHook(){if(this.approvalHookInstalled||!this.inner.agent?.beforeToolCall)return;this.approvalHookInstalled=!0;let a=this.inner.agent.beforeToolCall;this.inner.agent.beforeToolCall=async b=>{let c=b.toolCall?.name??"",d=b.args,e=(0,r.LD)(this.approvalPolicy,c,{mode:this.approvalMode,readOnly:s.MJ.has(c.toLowerCase()),args:d});if("deny"===e)return{block:!0,reason:`Denied by policy rule: ${c} is not permitted.`};if("ask"===e){let a=await this.askForApproval(c,d);if(!a.approve)return{block:!0,reason:a.reason||`Rejected by user: ${c}`}}return a?a(b):void 0}}askForApproval(a,b){return new Promise(c=>{let d=`approval-${++this.approvalSeq}`,e=setTimeout(()=>{this.pendingApprovals.delete(d),this.emit({type:"tool_approval_resolved",id:d,approve:!1,reason:`Approval request timed out after 120s: ${a}`}),c({approve:!1,reason:`Approval request timed out after 120s: ${a}`})},12e4);this.pendingApprovals.set(d,{resolve:c,timer:e,toolName:a}),this.emit({type:"tool_approval_request",id:d,toolName:a,args:function(a){if(null===a||"object"!=typeof a)return a;let b={};for(let[c,d]of Object.entries(a))if(null!=d&&"content"!==c&&"data"!==c&&"newString"!==c&&"oldString"!==c){if("string"==typeof d){b[c]=d.length>200?`${d.slice(0,200)}…`:d;continue}if("number"==typeof d||"boolean"==typeof d){b[c]=d;continue}b[c]=Array.isArray(d)?`[array:${d.length}]`:"[object]"}return b}(b)})})}resolveApproval(a,b,c){let d=this.pendingApprovals.get(a);return!!d&&(this.pendingApprovals.delete(a),clearTimeout(d.timer),d.resolve({approve:b,reason:c}),!0)}rejectAllApprovals(a){for(let[b,c]of this.pendingApprovals)this.pendingApprovals.delete(b),clearTimeout(c.timer),c.resolve({approve:!1,reason:a})}getPendingApprovals(){return Array.from(this.pendingApprovals.entries()).map(([a,b])=>({id:a,toolName:b.toolName}))}pendingRecoveryView(){return this.queueRecovery.map(({id:a,kind:b,text:c,images:d,queuedAt:e})=>({id:a,kind:b,text:c,hasImages:!!d?.length,queuedAt:e}))}persistQueue(){if(!this.sessionFile)return;let a=[...this.queueRecovery,...this.queueMirror];a.length?(0,k.pj)(this.sessionFile,a):(0,k.wx)(this.sessionFile)}hintQueueImages(a,b){this.pendingQueueHints[a].push(b?.length?b:[])}reconcileQueue(a,b){let c=(a,b)=>{if(!b)return this.queueMirror.filter(b=>b.kind===a);let c=new Set;return b.map(b=>{let d=this.queueMirror.find(d=>d.kind===a&&d.text===b&&!c.has(d));if(d)return c.add(d),d;let e=(0,k.Gc)(a,b,this.pendingQueueHints[a].shift());return c.add(e),e})};this.queueMirror=[...c("steer",a),...c("followUp",b)],this.persistQueue()}async requeueEntry(a){let b=(0,j.kc)(a.images);if(b)throw Error(b);this.hintQueueImages(a.kind,a.images),"steer"===a.kind?await this.inner.steer(a.text,a.images):await this.inner.followUp(a.text,a.images)}ensureMirrored(a){this.queueMirror.find(b=>b.kind===a.kind&&b.text===a.text)||(this.queueMirror.push({...a}),this.pendingQueueHints[a.kind].pop())}async replaceLiveQueue(a,b){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))await this.requeueEntry(b);for(let a of b)await this.requeueEntry(a);let c={steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]};return this.reconcileQueue(c.steering,c.followUp),c}async withQueueMutation(a){let b,c=this.queueMutationTail;this.queueMutationTail=new Promise(a=>{b=a}),await c;try{return await a()}finally{b()}}async mutateLiveQueue(a,b){return this.withQueueMutation(async()=>{let c=this.queueMirror.filter(a=>"steer"===a.kind),d=this.queueMirror.filter(a=>"followUp"===a.kind),e=b("steer"===a?c:d),f=await this.replaceLiveQueue(c,d);return{value:e,queues:f}})}validateQueueEntries(a){for(let b of a){if("steer"!==b.kind&&"followUp"!==b.kind||"string"!=typeof b.text)continue;let a=(0,j.kc)(b.images);if(a)throw Error(a)}}runAgentContinue(){if(this.inner.isStreaming||this.inner.isBashRunning||this.promptRunning)return;let a=[...this.queueMirror];0!==a.length&&(this.queueMirror=[],this.persistQueue(),this.promptRunning=!0,this.promptPhase="waiting_model",this.bootstrapQueuedRun(a))}async bootstrapQueuedRun(a){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))try{await this.inner.prompt(b.text,b.images?.length?{images:b.images}:void 0)}catch(a){this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),this.emit({type:"prompt_done"});return}this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),this.emit({type:"prompt_done"})}setForceEmptySystemPrompt(a){this.forceEmptySystemPrompt=a,this.applyForcedEmptySystemPrompt()}beginExtensionBinding(a={}){this.ensureExtensionsBound(a).catch(a=>{console.error("[pi-web] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}ensureExtensionsBound(a={}){return(a.forceEmptySystemPrompt&&(this.forceEmptySystemPrompt=!0),this.extensionsBound)?(this.applyForcedEmptySystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{if(!this._alive)return;let a=this.createExtensionUiContext();if("function"==typeof this.inner.bindExtensions){let b=this.inner.bindExtensions;await b.call(this.inner,{uiContext:a,mode:"rpc",commandContextActions:this.createExtensionCommandContextActions(),shutdownHandler:()=>this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in pi-web."}),onError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})})}else this.inner.extensionRunner.setUIContext?.(a,"rpc");this.extensionsBound=!0,this.applyForcedEmptySystemPrompt(),console.log(`[pi-web] session_start dispatched to extensions for session ${this.inner.sessionId}`)})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}static{this.EXTENSION_BIND_TIMEOUT_MS=15e3}async waitForExtensionsBound(){let a=this.extensionBindingPromise;if(a){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error("Extension binding timed out; continuing without waiting")),H.EXTENSION_BIND_TIMEOUT_MS);a.finally(()=>clearTimeout(d))});await Promise.race([a,b])}this.extensionBindingError&&console.warn("[pi-web] extension binding failed, continuing:",this.extensionBindingError)}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"get_commands"===a}applyForcedEmptySystemPrompt(){this.forceEmptySystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt="")}emit(a){for(let b of this.listeners)b(a)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},18e5)}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,h.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,o.O8)(this.inner.sessionId,b)}onEvent(a){for(let b of(this.listeners.push(a),this.pendingUiRequests.values()))a(b);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b||"requeue_at"===b){let b=(0,j.kc)(a.images);if(b)throw Error(b)}switch(this.shouldWaitForExtensions(b)&&await this.waitForExtensionsBound(),b){case"prompt":{if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.images,c=a.streamingBehavior;return c&&this.inner.isStreaming&&this.hintQueueImages("followUp"===c?"followUp":"steer",b),this.promptRunning=!0,this.promptPhase=String(a.message??"").trimStart().startsWith("/")?"running_command":"waiting_model",y(),this.inner.prompt(a.message,{...b?.length?{images:b}:{},...c?{streamingBehavior:c}:{},source:"rpc"}).then(()=>{this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),c||this.emit({type:"prompt_done"}),y()}).catch(a=>{this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),c||this.emit({type:"prompt_done"}),y()}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,phase:this.runtimeSnapshot().phase,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.pendingMessageCount,queuedMessages:{steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]},pendingRecovery:this.pendingRecoveryView(),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:this.inner.agent.state?.systemPrompt??"",thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets()}}case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRuntime.getModel(b,c);if(!d)try{await this.inner.modelRuntime.refresh({allowNetwork:!1}),d=this.inner.modelRuntime.getModel(b,c)}catch{d=void 0}if(!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),(0,l.k)(),(0,o.mD)(),{id:d.id,provider:d.provider}}case"fork":{let b,c=a.entryId,d=this.inner.sessionManager,f=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!f)throw Error("Persisted session is missing a session file");let g=d.getEntry(c);if(!g)throw Error("Invalid entry ID for forking");let h=d.getSessionDir();if(g.parentId){let a=e.SessionManager.open(f,h).createBranchedSession(g.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),h);a.newSession({parentSession:f}),b=a.getSessionFile()}let i=e.SessionManager.open(b,h).getSessionId();return(0,o.O8)(i,b),(0,o.mD)(),await this.shutdown(),{cancelled:!1,newSessionId:i}}case"navigate_tree":return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,o.mD)(),null}case"compact":try{return await this.inner.compact(a.customInstructions)}finally{(0,o.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return this.inner.setSessionName(b),(0,o.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"clear_queue":return this.queueMirror=[],this.pendingQueueHints={steer:[],followUp:[]},this.persistQueue(),this.inner.clearQueue();case"move_queue":{let b=a.kind,c=Number(a.fromIndex),d=Number(a.toIndex);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!Number.isInteger(d))throw Error("move_queue requires a queue kind and integer indexes");let{queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length||d<0||d>=a.length)throw Error("move_queue index out of range");let[b]=a.splice(c,1);a.splice(d,0,b)});return e}case"recall_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("recall_queue_item requires a queue kind and integer index");let{value:d,queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("recall_queue_item index out of range");let[b]=a.splice(c,1);return b});return{entry:{text:d.text,images:d.images??[]},...e}}case"requeue_at":{let b=a.kind,c=Number(a.index),d=a.text;if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!d?.trim())throw Error("requeue_at requires a queue kind, integer index, and text");let e=a.images,{queues:f}=await this.mutateLiveQueue(b,a=>{if(c<0||c>a.length)throw Error("requeue_at index out of range");a.splice(c,0,(0,k.Gc)(b,d,e))});return f}case"remove_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("remove_queue_item requires a queue kind and integer index");let{queues:d}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("remove_queue_item index out of range");a.splice(c,1)});return d}case"resolve_recovery":{let b=new Set(a.keep??[]),c=new Set(a.discard??[]),d=!0===a.continueRun,e=0;for(let a of this.queueRecovery)b.has(a.id)&&(await this.requeueEntry(a),this.ensureMirrored(a),e+=1);return this.queueRecovery=this.queueRecovery.filter(a=>!b.has(a.id)&&!c.has(a.id)),this.persistQueue(),d&&e>0&&this.runAgentContinue(),{remaining:this.pendingRecoveryView(),kept:e}}case"export_queue":return{live:this.queueMirror.map(a=>({...a})),recovery:this.queueRecovery.map(a=>({...a}))};case"import_queue":{let b=a.entries;if(!Array.isArray(b))throw Error("import_queue requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b){if("steer"!==a.kind&&"followUp"!==a.kind||"string"!=typeof a.text)continue;let b=(0,k.Gc)(a.kind,a.text,a.images);await this.requeueEntry(b),this.ensureMirrored(b),c+=1}return this.persistQueue(),{imported:c,steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]}}case"stage_recovery":{let b=a.entries;if(!Array.isArray(b))throw Error("stage_recovery requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b)("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text&&(this.queueRecovery.push((0,k.Gc)(a.kind,a.text,a.images)),c+=1);return this.persistQueue(),{staged:c,pendingRecovery:this.pendingRecoveryView()}}case"steer":{let b=a.images;this.hintQueueImages("steer",b),this.promptPhase="waiting_model",y();try{await this.inner.steer(a.message,b?.length?b:void 0)}finally{this.promptPhase=null,y()}return null}case"follow_up":{let b=a.images;this.hintQueueImages("followUp",b),this.promptPhase="waiting_model",y();try{await this.inner.followUp(a.message,b?.length?b:void 0)}finally{this.promptPhase=null,y()}return null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"get_commands":{let a=[];for(let b of this.inner.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of this.inner.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt",sourceInfo:b.sourceInfo});for(let b of this.inner.resourceLoader.getSkills().skills)a.push({name:`skill:${b.name}`,description:b.description,source:"skill",sourceInfo:b.sourceInfo});return{commands:a}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),this.inner.setActiveToolsByName(w(this.inner,b)),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload(),"function"!=typeof this.inner.bindExtensions&&this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc"),this.applyForcedEmptySystemPrompt(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"resolve_approval":return{resolved:this.resolveApproval(a.id,!!a.approve,a.reason)};case"set_approval_mode":{let b=a.mode;if("ask"!==b&&"auto"!==b&&"yolo"!==b)throw Error(`Invalid approval mode: ${String(b)}`);return this.setApprovalMode(b),null}case"set_approval_policy":{let b=a.policy;return this.setApprovalPolicy((0,r.ni)(b)),null}case"get_approval_state":return{mode:this.approvalMode,pending:this.getPendingApprovals()};case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,o.mD)(),y()}}case"abort_bash":return this.inner.abortBash(),y(),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear(),this.rejectAllApprovals("Session closed while approval was pending");try{this.inner.dispose()}finally{this.onDestroyCallback?.(),y()}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return t.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return t.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):t.p1}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){let c=this.activeCustomUis.get(a);if(c&&"string"==typeof b)try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,g.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,t.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,F,G,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e){if(e?.aborted)return Promise.resolve(b);let f=(0,g.randomUUID)(),h={type:"extension_ui_request",id:f,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}};return new Promise(a=>{let g,i=()=>{g&&clearTimeout(g),e?.removeEventListener("abort",k),this.pendingUiRequests.delete(f),this.pendingUiResponses.delete(f)},j=b=>{i(),a(b)},k=()=>j(b);d&&(g=setTimeout(()=>j(b),d)),e?.addEventListener("abort",k,{once:!0}),this.pendingUiRequests.set(f,h),this.pendingUiResponses.set(f,{resolve:a=>j(c(a)),cancel:()=>j(b)}),this.emit(h)})}createExtensionUiContext(){return{select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return F},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in pi-web extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}syncProjectTrust(){this.inner.settingsManager.setProjectTrusted((0,n.Y1)(this.cwd,(0,e.getAgentDir)()).trusted)}createExtensionCommandContextActions(){return{waitForIdle:async()=>{let a=this.inner.agent;await a.waitForIdle?.()},newSession:async()=>({cancelled:!0}),fork:async()=>({cancelled:!0}),navigateTree:async(a,b)=>({cancelled:(await this.inner.navigateTree(a,{summarize:b?.summarize})).cancelled}),switchSession:async()=>({cancelled:!0}),reload:async()=>{this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload({beforeSessionStart:()=>{this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc")}}),this.applyForcedEmptySystemPrompt()}}}}function x(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>Promise.allSettled(Array.from(globalThis.__piSessions?.values()??[],a=>a.shutdown()));process.once("exit",()=>globalThis.__piSessions?.forEach(a=>a.destroy())),process.once("SIGINT",()=>{a().finally(()=>process.exit(130))}),process.once("SIGTERM",()=>{a().finally(()=>process.exit(143))})}return globalThis.__piSessions}let I="";function y(){let a=globalThis.__piRunningListeners;if(!a||0===a.size){I="";return}let b=function(){let a=[];for(let[b,c]of x()){if(!c.isAlive())continue;let d=c.runtimeSnapshot();d.running&&a.push({...d,id:d.id||b})}return a}(),c=JSON.stringify(b);if(c!==I)for(let d of(I=c,a))try{d(b)}catch{}}let J=new Map;function z(a){let b=globalThis.__piSessionBusListeners;if(b&&0!==b.size)for(let c of b)try{c(a)}catch{}}function A(a,b){let c=Date.now(),{provider:d,modelId:e,sessionId:f}=b,g=a.result.bind(a);a.result=async()=>{let a,b,h,i,j,k=await g();return a=Date.now()-c,b="error"===k.stopReason||"aborted"===k.stopReason,h=k.errorMessage?.trim(),j=(i=h?.match(/\bHTTP\s+(\d{3})\b|\bstatus(?:\s+code)?\s*[:=]?\s*(\d{3})\b/))?Number(i[1]??i[2]):void 0,(0,u.wF)({level:b?"error":"info",source:"model-call",provider:d,model:e,sessionId:f,...void 0!==j?{statusCode:j}:{},message:b?`模型调用失败 ${d}/${e}${h?`:${h}`:""}`:`模型调用成功 ${d}/${e}`,details:b?void 0:`耗时 ${a}ms`}),k};let h=a[Symbol.asyncIterator].bind(a);return a[Symbol.asyncIterator]=()=>{let a=h();return{next:()=>a.next().catch(a=>{throw(0,u.wF)({level:"error",source:"model-call",provider:d,model:e,sessionId:f,message:`模型调用传输错误 ${d}/${e}:${a instanceof Error?a.message:String(a)}`}),a})}},a}async function B(a,b,c,d={}){let f,g,j,{toolNames:k,initialModel:q,thinkingLevel:r}=d,s=x(),t=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),u=s.get(a);if(u?.isAlive())return{session:u,realSessionId:a};let v=t.get(a);if(v)return v;if(b)f=e.SessionManager.open(b,void 0);else{if(!c)throw Error("cwd is required for a new session");f=e.SessionManager.create(c,void 0)}let y=f.getCwd(),z=(globalThis.__piStartingSessionCwds||(globalThis.__piStartingSessionCwds=new Map),g=globalThis.__piStartingSessionCwds,j=function(a){let b=(0,i.resolve)(a);try{return(0,h.realpathSync)(b)}catch{return b}}(y),g.set(j,(g.get(j)??0)+1),()=>{let a=(g.get(j)??1)-1;a>0?g.set(j,a):g.delete(j)}),C=(async()=>{let b;(0,e.initTheme)();let c=(0,e.getAgentDir)();void 0!==k&&(b=0===k.length?[]:void 0);let d=(0,n.Fk)(y,c),g=await (0,e.createAgentSessionServices)({cwd:y,agentDir:c,...d?{resourceLoaderReloadOptions:d}:{}}),h=await (0,m.py)(g.modelRuntime,g.settingsManager.getEnabledModels()),i=g.settingsManager.getDefaultProvider(),j=g.settingsManager.getDefaultModel(),t=f.getBranch().some(a=>"message"===a.type)?{scopedModels:[...h.scopedModels]}:(0,m.IR)(h,{...q?{requestedModel:q}:{},...i&&j?{defaultModel:{provider:i,modelId:j}}:{},...r?{thinkingLevel:r}:{}}),{session:u}=await (0,e.createAgentSessionFromServices)({services:g,sessionManager:f,...t.model?{model:t.model}:{},...t.thinkingLevel?{thinkingLevel:t.thinkingLevel}:{},...t.scopedModels.length>0?{scopedModels:t.scopedModels}:{},...void 0!==b?{tools:b}:{}}),v=u.agent,x=v.streamFunction;v.streamFunction=(b,c,d)=>{let e=x(b,c,d);return e instanceof Promise?e.then(c=>A(c,{provider:b.provider,modelId:b.id,sessionId:a})):A(e,{provider:b.provider,modelId:b.id,sessionId:a})},(await (0,p.o)(g.settingsManager,{...q?{model:q}:{},...r?{thinkingLevel:r}:{}},{...u.model?{model:{provider:u.model.provider,modelId:u.model.id}}:{},thinkingLevel:u.agent.state?.thinkingLevel??"off",supportsThinking:u.supportsThinking()})).modelDefaultChanged&&(0,l.k)(),k&&k.length>0&&u.setActiveToolsByName(w(u,k));let z=new H(u,y);k?.length===0&&z.setForceEmptySystemPrompt(!0),z.start(),z.loadQueueRecovery();let B=u.sessionId,C=u.sessionFile;return C&&(0,o.O8)(B,C),z.onDestroy(()=>s.delete(B)),s.set(B,z),z.beginExtensionBinding({forceEmptySystemPrompt:k?.length===0}),{session:z,realSessionId:B}})().finally(()=>{t.delete(a),z()});return t.set(a,C),C}d()}catch(a){d(a)}})},12817:a=>{"use strict";a.exports=function(a){if(null===a||"object"!=typeof a)return a;if(a instanceof Object)var c={__proto__:b(a)};else var c=Object.create(null);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c};var b=Object.getPrototypeOf||function(a){return a.__proto__}},12969:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},13884:(a,b,c)=>{"use strict";let d=c(93329);a.exports={toPromise:function(a){return(...b)=>new Promise((c,d)=>{b.push((a,b)=>{a?d(a):c(b)}),a(...b)})},toSync:function(a){return(...b)=>{let c,d;if(b.push((a,b)=>{c=a,d=b}),a(...b),c)throw c;return d}},toSyncOptions:function(a){var b;let c;if((a={...a}).fs=(c={...b=a.fs||d},["mkdir","realpath","stat","rmdir","utimes"].forEach(a=>{c[a]=(...c)=>{let d,e=c.pop();try{d=b[`${a}Sync`](...c)}catch(a){return e(a)}e(null,d)}}),c),"number"==typeof a.retries&&a.retries>0||a.retries&&"number"==typeof a.retries.retries&&a.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return a}}},14253:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ensureTaskEngine:()=>n});var e=c(29021),f=c(33873),g=c(79646),h=c(62391),i=c(65562),j=c(12144),k=a([i,j]);[i,j]=k.then?(await k)():k;let D=new Set,E=null,F="__piTaskEngine";function l(){return globalThis[F]??E}function m(){let a=l();if(!a)throw Error("task engine not running");return a}function n(){if(l())return!0;if(!function(){let a=(0,i.z1)("__engine__"),b=(0,f.join)(a,"engine.lock");try{if((0,e.mkdirSync)(a,{recursive:!0}),(0,e.existsSync)(b)&&!function(a){try{let b=Number((0,e.readFileSync)(a,"utf8").trim());if(Number.isInteger(b)&&b>0&&function(a){try{return process.kill(a,0),!0}catch{return!1}}(b))return!1;return(0,e.unlinkSync)(a),!0}catch{try{return(0,e.unlinkSync)(a),!0}catch{return!1}}}(b))return!1;let c=(0,e.openSync)(b,"wx");return(0,e.writeFileSync)(c,String(process.pid)),globalThis.__taskEngineLockFd=c,!0}catch{return!1}}())return!1;let a={live:new Map,byTask:new Map,launching:new Map,pumpLocks:new Map,reconcileTimer:null,stopped:!1};return E=a,globalThis[F]=a,B(),a.reconcileTimer=setInterval(()=>{C()},3e4),!0}function o(){return new Date().toISOString()}function p(a,b,c="engine",d){(0,i.fd)(a),b&&(0,i.Q1)(a.projectRoot,{taskId:a.id,kind:b,actor:c,payload:d??null});var e={type:"upsert",id:a.id};for(let a of D)a(e)}function q(a,b,c,d,f){let g=function(a){for(let b of l()?.byTask.values()??[])if(b.taskId===a)return(0,i._o)(b.projectRoot,a)??null;let b=(0,i.z1)("__engine__").replace(/__engine__$/,"");if(!(0,e.existsSync)(b))return null;for(let c of(0,e.readdirSync)(b,{withFileTypes:!0})){if(!c.isDirectory()||"__engine__"===c.name)continue;let b=(0,i._o)(A(c.name),a);if(b)return b}return null}(a);if(!g||g.runSeq!==b||!c.includes(g.status))return null;let h={...g,...f,status:d,updatedAt:o()};return p(h),h}async function r(a){let b=m(),c=(b.pumpLocks.get(a)??Promise.resolve()).then(()=>s(a));b.pumpLocks.set(a,c.catch(()=>void 0)),await c}async function s(a){let b=m();if(b.stopped)return;let c=(0,i.Rv)(a);if(!c.autoProcess)return;let d=(0,i.h6)(a),e=[...b.byTask.values()].filter(b=>b.projectRoot===a).length,f=c.maxConcurrent>0?c.maxConcurrent:1/0;if(!(e>=f))for(let c of d.filter(a=>"queued"===a.status).sort((a,b)=>a.sortOrder-b.sortOrder)){if(e>=f)break;!b.launching.has(c.id)&&await t(c.id,a)&&(e+=1)}}async function t(a,b){let c=m(),d=(0,i._o)(b,a);if(!d||"queued"!==d.status)return!1;let e=globalThis,f=e.__taskLaunchToken=(e.__taskLaunchToken??0)+1;if(c.launching.set(a,f),!q(a,d.runSeq,["queued"],"preparing",{startedAt:o()}))return c.launching.delete(a),!1;(0,i.Q1)(b,{taskId:a,kind:"preparing",actor:"engine"});try{var g,j,k;let e,f,l,n,p,r,s=await (0,h.KI)(b);if(!s.projectRoot)throw Error("Not a git repository");let t=`task/${a}-${d.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}`,x=null;try{x=(await (0,h.l)(s.projectRoot,t)).path}catch(b){let a=await u(s.projectRoot,t);if(!a)throw b;x=a}let A=s.branch??null,B=(0,i.Rv)(b);B.initCommand&&await y(x,B.initCommand);let{session:C}=await v(d,x),D={taskId:a,runSeq:d.runSeq,connectionId:C.sessionId,projectRoot:b,session:C,pendingRequests:new Set};if(c.live.set(C.sessionId,D),c.byTask.set(a,D),(g=D).session.onEvent(a=>{let b=a.type;(async()=>{var c,d;let e=m().live.get(g.connectionId);if(!e||e.taskId!==g.taskId)return;let f=(0,i._o)(g.projectRoot,g.taskId);if(f&&("running"===f.status||"awaiting_input"===f.status||"merging"===f.status))switch(b){case"extension_ui_request":{let b=a.method,c=a.id;b&&c&&["confirm","input","select","editor"].includes(b)&&(g.pendingRequests.add(c),"running"===f.status&&(q(g.taskId,g.runSeq,["running"],"awaiting_input"),(0,i.Q1)(f.projectRoot,{taskId:g.taskId,kind:"awaiting_input",actor:"engine",payload:{method:b,id:c}})));break}case"extension_ui_response":{let b=a.id;b&&g.pendingRequests.delete(b)&&0===g.pendingRequests.size&&"awaiting_input"===f.status&&q(g.taskId,g.runSeq,["awaiting_input"],"running");break}case"agent_end":if(g.pendingRequests.size>0)break;if("merging"===f.status){let a;c=g,(a=(0,i._o)(c.projectRoot,c.taskId))&&"merging"===a.status&&z(c.session.cwd,"git rev-parse --short HEAD").then(a=>a.output.trim()).catch(()=>null).then(async a=>{let b=(0,i._o)(c.projectRoot,c.taskId);if(b){q(b.id,b.runSeq,["merging"],"done",{mergeCommit:a,finishedAt:o()}),(0,i.Q1)(b.projectRoot,{taskId:b.id,kind:"merged",actor:"engine",payload:{commit:a}});try{b.worktreePath&&await (0,h.IL)(c.projectRoot,b.worktreePath,!0).catch(()=>void 0),b.workBranch&&await y(c.projectRoot,`git branch -D ${JSON.stringify(b.workBranch)}`).catch(()=>void 0)}catch{}}});break}w(g,f);break;case"prompt_error":{let b,c=a.errorMessage??"agent error";q(g.taskId,g.runSeq,["running","awaiting_input"],"failed",{failureReason:"agent_error",lastError:c,settledAt:o(),finishedAt:o()}),(0,i.Q1)(f.projectRoot,{taskId:g.taskId,kind:"failed",actor:"engine",payload:{reason:"agent_error",message:c}}),d=g,(b=m()).live.delete(d.connectionId),b.byTask.delete(d.taskId);break}case"agent_start":"awaiting_input"===f.status&&0===g.pendingRequests.size&&q(g.taskId,g.runSeq,["awaiting_input"],"running")}})()}),!q(a,d.runSeq,["preparing"],"running",{worktreePath:x,workBranch:t,baseBranch:A,conversationId:C.sessionId,sessionFile:C.sessionFile,runSeq:d.runSeq}))return c.live.delete(C.sessionId),c.byTask.delete(a),C.shutdown().catch(()=>void 0),!1;(0,i.Q1)(b,{taskId:a,kind:"started",actor:"engine",payload:{runSeq:d.runSeq,branch:t}});let E=(j=d,k=B,e=j.config?.prompt??j.title,f=k.stagePrompts?.work??k.stagePrompts?.all??"",l=j.config?.agentType??k.defaultAgentType,n=`You are working on task "${j.title}" in a git worktree branch.
|
|
1
|
+
exports.id=4253,exports.ids=[4253],exports.modules={12144:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OF:()=>E});var e=c(75430),f=c(29862),g=c(55511),h=c(29021),i=c(33873),j=c(18437),k=c(17114),l=c(88250),m=c(96515),n=c(15253),o=c(69453),p=c(61577),q=c(44290),r=c(30116),s=c(97563),t=c(57856),u=c(29040),v=c(91099),w=c(12394),x=a([e,f,m,n,o,q,u,w]);[e,f,m,n,o,q,u,w]=x.then?(await x)():x;let F=new Set(["agent_start","message_start","message_update","message_end","agent_end","entry_appended","session_info_changed","queue_update","prompt_done","agent_settled","auto_compaction_end","compaction_end"]),G=["read","bash","edit","write","grep","find","ls"];class H extends e.Theme{constructor(){super({thinkingXhigh:""},{selectedBg:""},"truecolor")}fg(...[,a]){return a}bg(...[,a]){return a}bold(a){return a}italic(a){return a}underline(a){return a}inverse(a){return a}strikethrough(a){return a}getFgAnsi(){return""}getBgAnsi(){return""}getThinkingBorderColor(){return a=>a}getBashModeBorderColor(){return a=>a}}let I=new H,J=new f.KeybindingsManager(f.TUI_KEYBINDINGS);function y(a,b){if(0===b.length)return[];let c=new Set(G),d=a.getAllTools().map(a=>a.name).filter(a=>!c.has(a));return[...new Set([...b,...d])]}class K{constructor(a,b){this.inner=a,this.cwd=b,this.listeners=[],this.pendingUiResponses=new Map,this.pendingUiRequests=new Map,this.activeCustomUis=new Map,this.extensionStatuses=new Map,this.extensionWidgets=new Map,this.promptRunning=!1,this.promptPhase=null,this.extensionsBound=!1,this.extensionBindingPromise=null,this.extensionBindingError=null,this.forceEmptySystemPrompt=!1,this.unsubscribe=null,this.idleTimer=null,this.queueMirror=[],this.queueRecovery=[],this.pendingQueueHints={steer:[],followUp:[]},this.queueMutationTail=Promise.resolve(),this.onDestroyCallback=null,this.shutdownPromise=null,this._alive=!0,this.approvalPolicy=(0,r.ni)((0,q.lN)().permissionRules),this.approvalMode=(0,q.lN)().toolApprovalMode,this.pendingApprovals=new Map,this.approvalSeq=0,this.approvalHookInstalled=!1,this.goalEngine=new v.aA,this.goalTokensAccounted=0,this.goalToolCallsAccounted=0,this.goalContinuationInFlight=!1;const c=(0,q.lN)(a.sessionId);if(this.approvalMode=c.toolApprovalMode,this.approvalPolicy=(0,r.ni)(c.permissionRules),a.sessionFile){const b=(0,v.bo)(a.sessionFile);"idle"!==b.status&&this.goalEngine.hydrate(b)}}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile??""}isAlive(){return this._alive}isRunning(){return this._alive&&(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)}runtimeSnapshot(){let a=this.inner.isStreaming,b=this.promptRunning,c=this.inner.isCompacting,d=this.inner.isBashRunning;return{id:this.sessionId,running:this.isRunning(),isStreaming:a,isPromptRunning:b,isCompacting:c,isBashRunning:d,phase:d?"running_command":this.promptPhase??(a||b||c?"waiting_model":null)}}start(){this.installApprovalHook(),this.goalEngine.setOnChanged(a=>{this.sessionFile&&(0,v.eG)(this.sessionFile,a),this.emit({type:"goal_state_changed",goalState:a}),C("goal_state_changed",this.sessionId,{type:"goal_state_changed",goalState:a})}),this.goalEngine.isRunning()&&this.scheduleGoalKick(),this.unsubscribe=this.inner.subscribe(a=>{("agent_end"===a.type||"message_end"===a.type||"entry_appended"===a.type||"session_info_changed"===a.type)&&(0,o.mD)(),("agent_end"===a.type||"agent_settled"===a.type||"auto_compaction_end"===a.type||"compaction_end"===a.type)&&this.resetIdleTimer(),"agent_start"===a.type&&this.goalEngine.onAgentStart(),"agent_settled"===a.type&&this.handleGoalSettled(),"queue_update"===a.type&&this.reconcileQueue(a.steering,a.followUp),F.has(a.type)&&C(a.type,this.sessionId,a),this.emit(a),A()}),this.resetIdleTimer(),A()}loadQueueRecovery(){if(!this.sessionFile)return;let a=this.inner.getSteeringMessages(),b=this.inner.getFollowUpMessages();if(a.length||b.length){this.queueRecovery=[],this.reconcileQueue([...a],[...b]);return}this.queueRecovery=(0,k.ov)(this.sessionFile)}getGoalState(){return this.goalEngine.getState()}handleGoalSettled(){if(!this.goalEngine.isRunning())return void this.goalEngine.disarmContinuation();let a=this.inner.getLastAssistantText()??"",b=0,c=0;try{let a=this.inner.sessionManager.getEntries(),d=function(a){let b=0;for(let c of a){let a=c?.message;if(!a||"assistant"!==a.role)continue;let d=a.usage;d&&(b+=(d.input??0)+(d.output??0)+(d.cacheRead??0)+(d.cacheWrite??0))}return b}(a);b=Math.max(0,d-this.goalTokensAccounted),this.goalTokensAccounted=d;let e=function(a){let b=0;for(let c of a){let a=c?.message;if(!a||"assistant"!==a.role)continue;let d=a.content;if(Array.isArray(d))for(let a of d)a&&"object"==typeof a&&"toolCall"===a.type&&(b+=1)}return b}(a);c=Math.max(0,e-this.goalToolCallsAccounted),this.goalToolCallsAccounted=e}catch{}let{verdict:d}=this.goalEngine.settleTurn(a,b,c);"continue"!==d.action?this.goalEngine.disarmContinuation():this.scheduleGoalKick()}scheduleGoalKick(){if(this.goalEngine.isRunning()&&!this.goalContinuationInFlight){if(this.goalEngine.isContinuationArmed()){this.goalEngine.disarmContinuation(),this.driveGoalContinuation();return}this.inner.isStreaming||this.promptRunning||this.inner.pendingMessageCount>0||this.driveGoalContinuation()}}driveGoalContinuation(){this.goalEngine.isRunning()&&!this.goalContinuationInFlight&&(this.goalContinuationInFlight=!0,this.inner.followUp(v.LF).catch(()=>{}).finally(()=>{this.goalContinuationInFlight=!1}))}handleGoalStartCommand(a,b){let c=this.goalEngine.start(a,b);return this.goalTokensAccounted=0,this.goalToolCallsAccounted=0,c}handleGoalStopCommand(){return this.goalEngine.stop(),this.goalTokensAccounted=0,this.goalEngine.getState()}setApprovalMode(a){this.approvalMode=a}setApprovalPolicy(a){this.approvalPolicy=a}installApprovalHook(){if(this.approvalHookInstalled||!this.inner.agent?.beforeToolCall)return;this.approvalHookInstalled=!0;let a=this.inner.agent.beforeToolCall;this.inner.agent.beforeToolCall=async b=>{let c=b.toolCall?.name??"",d=b.args,e=(0,r.LD)(this.approvalPolicy,c,{mode:this.approvalMode,readOnly:s.MJ.has(c.toLowerCase()),args:d});if("deny"===e)return{block:!0,reason:`Denied by policy rule: ${c} is not permitted.`};if("ask"===e){let a=await this.askForApproval(c,d);if(!a.approve)return{block:!0,reason:a.reason||`Rejected by user: ${c}`}}return a?a(b):void 0}}askForApproval(a,b){return new Promise(c=>{let d=`approval-${++this.approvalSeq}`,e=setTimeout(()=>{this.pendingApprovals.delete(d),this.emit({type:"tool_approval_resolved",id:d,approve:!1,reason:`Approval request timed out after 120s: ${a}`}),c({approve:!1,reason:`Approval request timed out after 120s: ${a}`})},12e4);this.pendingApprovals.set(d,{resolve:c,timer:e,toolName:a}),this.emit({type:"tool_approval_request",id:d,toolName:a,args:function(a){if(null===a||"object"!=typeof a)return a;let b={};for(let[c,d]of Object.entries(a))if(null!=d&&"content"!==c&&"data"!==c&&"newString"!==c&&"oldString"!==c){if("string"==typeof d){b[c]=d.length>200?`${d.slice(0,200)}…`:d;continue}if("number"==typeof d||"boolean"==typeof d){b[c]=d;continue}b[c]=Array.isArray(d)?`[array:${d.length}]`:"[object]"}return b}(b)})})}resolveApproval(a,b,c){let d=this.pendingApprovals.get(a);return!!d&&(this.pendingApprovals.delete(a),clearTimeout(d.timer),d.resolve({approve:b,reason:c}),!0)}rejectAllApprovals(a){for(let[b,c]of this.pendingApprovals)this.pendingApprovals.delete(b),clearTimeout(c.timer),c.resolve({approve:!1,reason:a})}getPendingApprovals(){return Array.from(this.pendingApprovals.entries()).map(([a,b])=>({id:a,toolName:b.toolName}))}pendingRecoveryView(){return this.queueRecovery.map(({id:a,kind:b,text:c,images:d,queuedAt:e})=>({id:a,kind:b,text:c,hasImages:!!d?.length,queuedAt:e}))}persistQueue(){if(!this.sessionFile)return;let a=[...this.queueRecovery,...this.queueMirror];a.length?(0,k.pj)(this.sessionFile,a):(0,k.wx)(this.sessionFile)}hintQueueImages(a,b){this.pendingQueueHints[a].push(b?.length?b:[])}reconcileQueue(a,b){let c=(a,b)=>{if(!b)return this.queueMirror.filter(b=>b.kind===a);let c=new Set;return b.map(b=>{let d=this.queueMirror.find(d=>d.kind===a&&d.text===b&&!c.has(d));if(d)return c.add(d),d;let e=(0,k.Gc)(a,b,this.pendingQueueHints[a].shift());return c.add(e),e})};this.queueMirror=[...c("steer",a),...c("followUp",b)],this.persistQueue()}async requeueEntry(a){let b=(0,j.kc)(a.images);if(b)throw Error(b);this.hintQueueImages(a.kind,a.images),"steer"===a.kind?await this.inner.steer(a.text,a.images):await this.inner.followUp(a.text,a.images)}ensureMirrored(a){this.queueMirror.find(b=>b.kind===a.kind&&b.text===a.text)||(this.queueMirror.push({...a}),this.pendingQueueHints[a.kind].pop())}async replaceLiveQueue(a,b){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))await this.requeueEntry(b);for(let a of b)await this.requeueEntry(a);let c={steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]};return this.reconcileQueue(c.steering,c.followUp),c}async withQueueMutation(a){let b,c=this.queueMutationTail;this.queueMutationTail=new Promise(a=>{b=a}),await c;try{return await a()}finally{b()}}async mutateLiveQueue(a,b){return this.withQueueMutation(async()=>{let c=this.queueMirror.filter(a=>"steer"===a.kind),d=this.queueMirror.filter(a=>"followUp"===a.kind),e=b("steer"===a?c:d),f=await this.replaceLiveQueue(c,d);return{value:e,queues:f}})}validateQueueEntries(a){for(let b of a){if("steer"!==b.kind&&"followUp"!==b.kind||"string"!=typeof b.text)continue;let a=(0,j.kc)(b.images);if(a)throw Error(a)}}runAgentContinue(){if(this.inner.isStreaming||this.inner.isBashRunning||this.promptRunning)return;let a=[...this.queueMirror];0!==a.length&&(this.queueMirror=[],this.persistQueue(),this.promptRunning=!0,this.promptPhase="waiting_model",this.bootstrapQueuedRun(a))}async bootstrapQueuedRun(a){for(let b of(this.inner.clearQueue(),this.pendingQueueHints={steer:[],followUp:[]},a))try{await this.inner.prompt(b.text,b.images?.length?{images:b.images}:void 0)}catch(a){this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),this.emit({type:"prompt_done"});return}this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),this.emit({type:"prompt_done"})}setForceEmptySystemPrompt(a){this.forceEmptySystemPrompt=a,this.applyForcedEmptySystemPrompt()}beginExtensionBinding(a={}){this.ensureExtensionsBound(a).catch(a=>{console.error("[pi-web] failed to dispatch session_start to extensions:",a instanceof Error?a.message:a)})}ensureExtensionsBound(a={}){return(a.forceEmptySystemPrompt&&(this.forceEmptySystemPrompt=!0),this.extensionsBound)?(this.applyForcedEmptySystemPrompt(),Promise.resolve()):(this.extensionBindingPromise||(this.extensionBindingError=null,this.extensionBindingPromise=(async()=>{if(!this._alive)return;let a=this.createExtensionUiContext();if("function"==typeof this.inner.bindExtensions){let b=this.inner.bindExtensions;await b.call(this.inner,{uiContext:a,mode:"rpc",commandContextActions:this.createExtensionCommandContextActions(),shutdownHandler:()=>this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",notifyType:"warning",message:"Extension requested shutdown, but shutdown is not supported in pi-web."}),onError:a=>this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})})}else this.inner.extensionRunner.setUIContext?.(a,"rpc");this.extensionsBound=!0,this.applyForcedEmptySystemPrompt(),console.log(`[pi-web] session_start dispatched to extensions for session ${this.inner.sessionId}`)})().catch(a=>{throw this.extensionBindingError=a,a})),this.extensionBindingPromise)}static{this.EXTENSION_BIND_TIMEOUT_MS=15e3}async waitForExtensionsBound(){let a=this.extensionBindingPromise;if(a){let b=new Promise((b,c)=>{let d=setTimeout(()=>c(Error("Extension binding timed out; continuing without waiting")),K.EXTENSION_BIND_TIMEOUT_MS);a.finally(()=>clearTimeout(d))});await Promise.race([a,b])}this.extensionBindingError&&console.warn("[pi-web] extension binding failed, continuing:",this.extensionBindingError)}shouldWaitForExtensions(a){return"prompt"===a||"steer"===a||"follow_up"===a||"get_commands"===a}applyForcedEmptySystemPrompt(){this.forceEmptySystemPrompt&&this.inner.agent.state&&(this.inner.agent.state.systemPrompt="")}emit(a){for(let b of this.listeners)b(a)}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.shutdown().catch(a=>{console.error("[pi-web] failed to shut down idle session:",a instanceof Error?a.message:a)})},18e5)}persistBashOnlySession(){let a=this.inner.sessionManager,b=a.getSessionFile();if(!b||(0,h.existsSync)(b))return;let c=a.getHeader();if(!c)return;let d=[c,...a.getEntries()].map(a=>JSON.stringify(a)).join("\n")+"\n";(0,h.writeFileSync)(b,d,{encoding:"utf8",flag:"wx"}),a.flushed=!0,(0,o.O8)(this.inner.sessionId,b)}onEvent(a){for(let b of(this.listeners.push(a),this.pendingUiRequests.values()))a(b);return()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;if("prompt"===b||"steer"===b||"follow_up"===b||"requeue_at"===b){let b=(0,j.kc)(a.images);if(b)throw Error(b)}switch(this.shouldWaitForExtensions(b)&&await this.waitForExtensionsBound(),b){case"prompt":{if(this.inner.isBashRunning)throw Error("Cannot send a prompt while a shell command is running");let b=a.images,c=a.streamingBehavior;return c&&this.inner.isStreaming&&this.hintQueueImages("followUp"===c?"followUp":"steer",b),this.promptRunning=!0,this.promptPhase=String(a.message??"").trimStart().startsWith("/")?"running_command":"waiting_model",A(),this.inner.prompt(a.message,{...b?.length?{images:b}:{},...c?{streamingBehavior:c}:{},source:"rpc"}).then(()=>{this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),c||this.emit({type:"prompt_done"}),A()}).catch(a=>{this.promptRunning=!1,this.promptPhase=null,this.resetIdleTimer(),(0,o.mD)(),this.emit({type:"prompt_error",errorMessage:a instanceof Error?a.message:String(a)}),c||this.emit({type:"prompt_done"}),A()}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=this.inner.model,b=this.inner.getContextUsage();return{sessionId:this.inner.sessionId,sessionFile:this.inner.sessionFile??"",isStreaming:this.inner.isStreaming,isPromptRunning:this.promptRunning,isBashRunning:this.inner.isBashRunning,isCompacting:this.inner.isCompacting,phase:this.runtimeSnapshot().phase,model:a?{id:a.id,provider:a.provider}:void 0,messageCount:0,pendingMessageCount:this.inner.pendingMessageCount,queuedMessages:{steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]},pendingRecovery:this.pendingRecoveryView(),contextUsage:b?{percent:b.percent,contextWindow:b.contextWindow,tokens:b.tokens}:null,systemPrompt:this.inner.agent.state?.systemPrompt??"",thinkingLevel:this.inner.agent.state?.thinkingLevel??"off",extensionStatuses:this.getExtensionStatuses(),extensionWidgets:this.getExtensionWidgets(),goalState:this.goalEngine.getState()}}case"goal_start":{let b=String(a.goalText??"").trim();if(!b)throw Error("goal_start requires a non-empty goalText");let c=a.tokenBudget,d="number"==typeof c&&Number.isFinite(c)&&c>0?Math.floor(c):null,e=this.handleGoalStartCommand(b,d);return this.scheduleGoalKick(),{goalState:e}}case"goal_pause":try{this.inner.clearQueue(),this.queueMirror=[],this.persistQueue()}catch{}return{goalState:this.goalEngine.pause()};case"goal_resume":{let a=this.goalEngine.resume();return"running"===a.status&&(this.goalEngine.armContinuation(),this.scheduleGoalKick()),{goalState:a}}case"goal_stop":try{this.inner.clearQueue(),this.queueMirror=[],this.persistQueue()}catch{}return{goalState:this.handleGoalStopCommand()};case"goal_edit":{let b=String(a.goalText??"").trim();if(!b)throw Error("goal_edit requires a non-empty goalText");let c=this.goalEngine.edit(b);return"running"===c.status&&this.scheduleGoalKick(),{goalState:c}}case"get_goal_state":return{goalState:this.goalEngine.getState()};case"set_model":{let{provider:b,modelId:c}=a,d=this.inner.modelRuntime.getModel(b,c);if(!d)try{await this.inner.modelRuntime.refresh({allowNetwork:!1}),d=this.inner.modelRuntime.getModel(b,c)}catch{d=void 0}if(!d)throw Error(`Model not found: ${b}/${c}`);return await this.inner.setModel(d),(0,l.k)(),(0,o.mD)(),{id:d.id,provider:d.provider}}case"fork":{let b,c=a.entryId,d=this.inner.sessionManager,f=this.inner.sessionFile;if(!d.isPersisted())return{cancelled:!0};if(!f)throw Error("Persisted session is missing a session file");let g=d.getEntry(c);if(!g)throw Error("Invalid entry ID for forking");let h=d.getSessionDir();if(g.parentId){let a=e.SessionManager.open(f,h).createBranchedSession(g.parentId);if(!a)throw Error("Failed to create forked session");b=a}else{let a=e.SessionManager.create(d.getCwd(),h);a.newSession({parentSession:f}),b=a.getSessionFile()}let i=e.SessionManager.open(b,h).getSessionId();return(0,o.O8)(i,b),(0,o.mD)(),await this.shutdown(),{cancelled:!1,newSessionId:i}}case"navigate_tree":return{cancelled:(await this.inner.navigateTree(a.targetId,{})).cancelled};case"set_thinking_level":{let b=a.level;return this.inner.setThinkingLevel(b),"xhigh"===b&&this.inner.model?.compat?.thinkingFormat==="deepseek"&&this.inner.agent?.state&&(this.inner.agent.state.thinkingLevel="xhigh"),(0,o.mD)(),null}case"compact":try{return await this.inner.compact(a.customInstructions)}finally{(0,o.mD)()}case"set_session_name":{let b=a.name?.trim();if(!b)throw Error("Session name cannot be empty");return this.inner.setSessionName(b),(0,o.mD)(),null}case"get_session_stats":return{...this.inner.getSessionStats(),sessionName:this.inner.sessionManager.getSessionName()};case"get_last_assistant_text":return{text:this.inner.getLastAssistantText()??""};case"clear_queue":return this.queueMirror=[],this.pendingQueueHints={steer:[],followUp:[]},this.persistQueue(),this.inner.clearQueue();case"move_queue":{let b=a.kind,c=Number(a.fromIndex),d=Number(a.toIndex);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!Number.isInteger(d))throw Error("move_queue requires a queue kind and integer indexes");let{queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length||d<0||d>=a.length)throw Error("move_queue index out of range");let[b]=a.splice(c,1);a.splice(d,0,b)});return e}case"recall_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("recall_queue_item requires a queue kind and integer index");let{value:d,queues:e}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("recall_queue_item index out of range");let[b]=a.splice(c,1);return b});return{entry:{text:d.text,images:d.images??[]},...e}}case"requeue_at":{let b=a.kind,c=Number(a.index),d=a.text;if("steer"!==b&&"followUp"!==b||!Number.isInteger(c)||!d?.trim())throw Error("requeue_at requires a queue kind, integer index, and text");let e=a.images,{queues:f}=await this.mutateLiveQueue(b,a=>{if(c<0||c>a.length)throw Error("requeue_at index out of range");a.splice(c,0,(0,k.Gc)(b,d,e))});return f}case"remove_queue_item":{let b=a.kind,c=Number(a.index);if("steer"!==b&&"followUp"!==b||!Number.isInteger(c))throw Error("remove_queue_item requires a queue kind and integer index");let{queues:d}=await this.mutateLiveQueue(b,a=>{if(c<0||c>=a.length)throw Error("remove_queue_item index out of range");a.splice(c,1)});return d}case"resolve_recovery":{let b=new Set(a.keep??[]),c=new Set(a.discard??[]),d=!0===a.continueRun,e=0;for(let a of this.queueRecovery)b.has(a.id)&&(await this.requeueEntry(a),this.ensureMirrored(a),e+=1);return this.queueRecovery=this.queueRecovery.filter(a=>!b.has(a.id)&&!c.has(a.id)),this.persistQueue(),d&&e>0&&this.runAgentContinue(),{remaining:this.pendingRecoveryView(),kept:e}}case"export_queue":return{live:this.queueMirror.map(a=>({...a})),recovery:this.queueRecovery.map(a=>({...a}))};case"import_queue":{let b=a.entries;if(!Array.isArray(b))throw Error("import_queue requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b){if("steer"!==a.kind&&"followUp"!==a.kind||"string"!=typeof a.text)continue;let b=(0,k.Gc)(a.kind,a.text,a.images);await this.requeueEntry(b),this.ensureMirrored(b),c+=1}return this.persistQueue(),{imported:c,steering:[...this.inner.getSteeringMessages()],followUp:[...this.inner.getFollowUpMessages()]}}case"stage_recovery":{let b=a.entries;if(!Array.isArray(b))throw Error("stage_recovery requires entries[]");this.validateQueueEntries(b);let c=0;for(let a of b)("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text&&(this.queueRecovery.push((0,k.Gc)(a.kind,a.text,a.images)),c+=1);return this.persistQueue(),{staged:c,pendingRecovery:this.pendingRecoveryView()}}case"steer":{let b=a.images;this.hintQueueImages("steer",b),this.promptPhase="waiting_model",A();try{await this.inner.steer(a.message,b?.length?b:void 0)}finally{this.promptPhase=null,A()}return null}case"follow_up":{let b=a.images;this.hintQueueImages("followUp",b),this.promptPhase="waiting_model",A();try{await this.inner.followUp(a.message,b?.length?b:void 0)}finally{this.promptPhase=null,A()}return null}case"get_tools":{let a=this.inner.getAllTools(),b=new Set(this.inner.getActiveToolNames());return a.map(a=>({name:a.name,description:a.description,active:b.has(a.name)}))}case"get_commands":{let a=[];for(let b of this.inner.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of this.inner.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt",sourceInfo:b.sourceInfo});for(let b of this.inner.resourceLoader.getSkills().skills)a.push({name:`skill:${b.name}`,description:b.description,source:"skill",sourceInfo:b.sourceInfo});return{commands:a}}case"set_tools":{let b=a.toolNames;return this.setForceEmptySystemPrompt(0===b.length),this.inner.setActiveToolsByName(y(this.inner,b)),this.applyForcedEmptySystemPrompt(),null}case"reload":return await this.waitForExtensionsBound(),this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload(),"function"!=typeof this.inner.bindExtensions&&this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc"),this.applyForcedEmptySystemPrompt(),{success:!0};case"abort_compaction":return this.inner.abortCompaction(),null;case"resolve_approval":return{resolved:this.resolveApproval(a.id,!!a.approve,a.reason)};case"set_approval_mode":{let b=a.mode;if("ask"!==b&&"auto"!==b&&"yolo"!==b)throw Error(`Invalid approval mode: ${String(b)}`);return this.setApprovalMode(b),null}case"set_approval_policy":{let b=a.policy;return this.setApprovalPolicy((0,r.ni)(b)),null}case"get_approval_state":return{mode:this.approvalMode,pending:this.getPendingApprovals()};case"extension_ui_response":return this.resolveExtensionUiResponse(a),null;case"extension_ui_input":return this.handleExtensionUiInput(a.id,a.data),null;case"bash":{if(this.promptRunning||this.inner.isStreaming||this.inner.isCompacting||this.inner.isBashRunning)throw Error("Cannot run a shell command while the session is busy");let b=this.inner.executeBash(a.command,void 0,{excludeFromContext:a.excludeFromContext});try{let a=await b;return this.persistBashOnlySession(),a}finally{this.resetIdleTimer(),(0,o.mD)(),A()}}case"abort_bash":return this.inner.abortBash(),A(),null;default:throw Error(`Unsupported command: ${b}`)}}destroy(){if(this._alive){for(let a of(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.inner.isBashRunning&&this.inner.abortBash(),this.unsubscribe?.(),this.sessionFile&&this.goalEngine.hasActiveGoal()&&(0,v.eG)(this.sessionFile,this.goalEngine.getState()),this.pendingUiResponses.values()))a.cancel();for(let a of Array.from(this.activeCustomUis.keys()))this.closeCustomUi(a,void 0);this.pendingUiResponses.clear(),this.pendingUiRequests.clear(),this.rejectAllApprovals("Session closed while approval was pending");try{this.inner.dispose()}finally{this.onDestroyCallback?.(),A()}}}async shutdown(){return this.shutdownPromise?this.shutdownPromise:this._alive?(this.shutdownPromise=(async()=>{try{try{await this.waitForExtensionsBound()}catch(a){console.error("[pi-web] extension binding failed before session shutdown:",a instanceof Error?a.message:a)}await this.inner.extensionRunner.emit?.({type:"session_shutdown",reason:"quit"})}finally{this.destroy()}})(),this.shutdownPromise):void 0}resolveExtensionUiResponse(a){let b=this.pendingUiResponses.get(a.id);b&&b.resolve(a)}getExtensionStatuses(){return Array.from(this.extensionStatuses,([a,b])=>({key:a,text:b}))}getExtensionWidgets(){return Array.from(this.extensionWidgets.values())}getCustomUiWidth(a){if(!a||"object"!=typeof a)return t.p1;let b=a.overlayOptions,c="function"==typeof b?b():b;if(!c||"object"!=typeof c)return t.p1;let d=c.width;return"number"==typeof d&&Number.isFinite(d)?Math.max(40,Math.min(140,Math.round(d))):t.p1}emitCustomUiRender(a,b){let c;try{c=b.component.render(b.width)}catch(a){c=[`Extension custom UI render failed: ${a instanceof Error?a.message:String(a)}`]}let d={type:"extension_ui_request",id:a,method:"custom",lines:c};this.pendingUiRequests.set(a,d),this.emit(d)}closeCustomUi(a,b){let c=this.activeCustomUis.get(a);if(c&&!c.settled){c.settled=!0,this.activeCustomUis.delete(a),this.pendingUiRequests.delete(a);try{c.component.dispose?.()}catch{}this.emit({type:"extension_ui_request",id:a,method:"custom",lines:[],closed:!0}),c.resolve(b)}}handleExtensionUiInput(a,b){let c=this.activeCustomUis.get(a);if(c&&"string"==typeof b)try{c.component.handleInput?.(b),this.activeCustomUis.has(a)&&this.emitCustomUiRender(a,c)}catch(b){this.closeCustomUi(a,void 0),this.emit({type:"extension_error",extensionPath:`custom-ui:${a}`,event:"custom_ui_input",error:b instanceof Error?b.message:String(b)})}}requestExtensionCustomUi(a,b){if("function"!=typeof a)return Promise.resolve(void 0);let c=(0,g.randomUUID)(),d=this.getCustomUiWidth(b);return new Promise(b=>{let e=!1,f=(0,t.TQ)(()=>{let a=this.activeCustomUis.get(c);a&&this.emitCustomUiRender(c,a)},d),g=a=>{e||(e=!0,b(a))},h=a=>{this.activeCustomUis.has(c)?this.closeCustomUi(c,a):g(a)};Promise.resolve().then(()=>a(f,I,J,h)).then(a=>{if(e){try{a?.dispose?.()}catch{}return}if(!a||"object"!=typeof a||"function"!=typeof a.render)return void g(void 0);let b={component:a,width:d,resolve:a=>g(a),settled:!1};this.activeCustomUis.set(c,b),this.emitCustomUiRender(c,b)}).catch(a=>{e||(this.emit({type:"extension_error",extensionPath:`custom-ui:${c}`,event:"custom_ui",error:a instanceof Error?a.message:String(a)}),g(void 0))})})}requestExtensionUi(a,b,c,d,e){if(e?.aborted)return Promise.resolve(b);let f=(0,g.randomUUID)(),h={type:"extension_ui_request",id:f,...a,...d?{timeout:d,expiresAt:Date.now()+d}:{}};return new Promise(a=>{let g,i=()=>{g&&clearTimeout(g),e?.removeEventListener("abort",k),this.pendingUiRequests.delete(f),this.pendingUiResponses.delete(f)},j=b=>{i(),a(b)},k=()=>j(b);d&&(g=setTimeout(()=>j(b),d)),e?.addEventListener("abort",k,{once:!0}),this.pendingUiRequests.set(f,h),this.pendingUiResponses.set(f,{resolve:a=>j(c(a)),cancel:()=>j(b)}),this.emit(h)})}createExtensionUiContext(){return{select:(a,b,c)=>this.requestExtensionUi({method:"select",title:a,options:b,...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),confirm:(a,b,c)=>this.requestExtensionUi({method:"confirm",title:a,message:b,...c?.timeout?{timeout:c.timeout}:{}},!1,a=>"confirmed"in a&&a.confirmed,c?.timeout,c?.signal),input:(a,b,c)=>this.requestExtensionUi({method:"input",title:a,...void 0!==b?{placeholder:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),editor:(a,b,c)=>this.requestExtensionUi({method:"editor",title:a,...void 0!==b?{prefill:b}:{},...c?.timeout?{timeout:c.timeout}:{}},void 0,a=>"value"in a?a.value:void 0,c?.timeout,c?.signal),notify:(a,b)=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"notify",message:a,notifyType:b})},onTerminalInput:()=>()=>{},setStatus:(a,b)=>{void 0===b?this.extensionStatuses.delete(a):this.extensionStatuses.set(a,b),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setStatus",statusKey:a,statusText:b})},setWorkingMessage:()=>{},setWorkingVisible:()=>{},setWorkingIndicator:()=>{},setHiddenThinkingLabel:()=>{},setWidget:(a,b,c)=>{(void 0===b||Array.isArray(b))&&(void 0===b?this.extensionWidgets.delete(a):this.extensionWidgets.set(a,{key:a,lines:b,placement:c?.placement??"aboveEditor"}),this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setWidget",widgetKey:a,widgetLines:b,widgetPlacement:c?.placement}))},setFooter:()=>{},setHeader:()=>{},setTitle:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"setTitle",title:a})},custom:(a,b)=>this.requestExtensionCustomUi(a,b),pasteToEditor:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},setEditorText:a=>{this.emit({type:"extension_ui_request",id:(0,g.randomUUID)(),method:"set_editor_text",text:a})},getEditorText:()=>"",addAutocompleteProvider:()=>{},setEditorComponent:()=>{},getEditorComponent:()=>void 0,get theme(){return I},getAllThemes:()=>[],getTheme:()=>void 0,setTheme:()=>({success:!1,error:"Theme switching is not supported in pi-web extension UI yet"}),getToolsExpanded:()=>!1,setToolsExpanded:()=>{}}}syncProjectTrust(){this.inner.settingsManager.setProjectTrusted((0,n.Y1)(this.cwd,(0,e.getAgentDir)()).trusted)}createExtensionCommandContextActions(){return{waitForIdle:async()=>{let a=this.inner.agent;await a.waitForIdle?.()},newSession:async()=>({cancelled:!0}),fork:async()=>({cancelled:!0}),navigateTree:async(a,b)=>({cancelled:(await this.inner.navigateTree(a,{summarize:b?.summarize})).cancelled}),switchSession:async()=>({cancelled:!0}),reload:async()=>{this.extensionStatuses.clear(),this.extensionWidgets.clear(),this.syncProjectTrust(),await this.inner.reload({beforeSessionStart:()=>{this.inner.extensionRunner.setUIContext?.(this.createExtensionUiContext(),"rpc")}}),this.applyForcedEmptySystemPrompt()}}}}function z(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>Promise.allSettled(Array.from(globalThis.__piSessions?.values()??[],a=>a.shutdown()));process.once("exit",()=>globalThis.__piSessions?.forEach(a=>a.destroy())),process.once("SIGINT",()=>{a().finally(()=>process.exit(130))}),process.once("SIGTERM",()=>{a().finally(()=>process.exit(143))})}return globalThis.__piSessions}let L="";function A(){let a=globalThis.__piRunningListeners;if(!a||0===a.size){L="";return}let b=function(){let a=[];for(let[b,c]of z()){if(!c.isAlive())continue;let d=c.runtimeSnapshot();d.running&&a.push({...d,id:d.id||b})}return a}(),c=JSON.stringify(b);if(c!==L)for(let d of(L=c,a))try{d(b)}catch{}}let M=new Map;function B(a){let b=globalThis.__piSessionBusListeners;if(b&&0!==b.size)for(let c of b)try{c(a)}catch{}}function C(a,b,c){let d=globalThis.__piSessionBusListeners;if(!d||0===d.size)return;if("message_update"!==a)return void B({type:a,sessionId:b,payload:c});let e=M.get(b),f={type:a,sessionId:b,payload:c};e?(clearTimeout(e.timer),e.event=f):M.set(b,{event:f,timer:setTimeout(()=>{let a=M.get(b);a&&(M.delete(b),B(a.event))},80)})}function D(a,b){let c=Date.now(),{provider:d,modelId:e,sessionId:f}=b,g=a.result.bind(a);a.result=async()=>{let a,b,h,i,j,k=await g();return a=Date.now()-c,b="error"===k.stopReason||"aborted"===k.stopReason,h=k.errorMessage?.trim(),j=(i=h?.match(/\bHTTP\s+(\d{3})\b|\bstatus(?:\s+code)?\s*[:=]?\s*(\d{3})\b/))?Number(i[1]??i[2]):void 0,(0,u.wF)({level:b?"error":"info",source:"model-call",provider:d,model:e,sessionId:f,...void 0!==j?{statusCode:j}:{},message:b?`模型调用失败 ${d}/${e}${h?`:${h}`:""}`:`模型调用成功 ${d}/${e}`,details:b?void 0:`耗时 ${a}ms`}),k};let h=a[Symbol.asyncIterator].bind(a);return a[Symbol.asyncIterator]=()=>{let a=h();return{next:()=>a.next().catch(a=>{throw(0,u.wF)({level:"error",source:"model-call",provider:d,model:e,sessionId:f,message:`模型调用传输错误 ${d}/${e}:${a instanceof Error?a.message:String(a)}`}),a})}},a}async function E(a,b,d,f={}){let g,j,k,{toolNames:q,initialModel:r,thinkingLevel:s}=f,t=z(),u=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),v=t.get(a);if(v?.isAlive())return{session:v,realSessionId:a};let x=u.get(a);if(x)return x;if(b)g=e.SessionManager.open(b,void 0);else{if(!d)throw Error("cwd is required for a new session");g=e.SessionManager.create(d,void 0)}let A=g.getCwd(),B=(globalThis.__piStartingSessionCwds||(globalThis.__piStartingSessionCwds=new Map),j=globalThis.__piStartingSessionCwds,k=function(a){let b=(0,i.resolve)(a);try{return(0,h.realpathSync)(b)}catch{return b}}(A),j.set(k,(j.get(k)??0)+1),()=>{let a=(j.get(k)??1)-1;a>0?j.set(k,a):j.delete(k)}),C=(async()=>{let b;(0,e.initTheme)();let d=(0,e.getAgentDir)();void 0!==q&&(b=0===q.length?[]:void 0);let f=(0,n.Fk)(A,d),h=await (0,e.createAgentSessionServices)({cwd:A,agentDir:d,...f?{resourceLoaderReloadOptions:f}:{}}),{createAsyncBashTools:i}=await Promise.resolve().then(c.bind(c,12394)),j=new w.B,k=i(j),u=await (0,m.py)(h.modelRuntime,h.settingsManager.getEnabledModels()),v=h.settingsManager.getDefaultProvider(),x=h.settingsManager.getDefaultModel(),z=g.getBranch().some(a=>"message"===a.type)?{scopedModels:[...u.scopedModels]}:(0,m.IR)(u,{...r?{requestedModel:r}:{},...v&&x?{defaultModel:{provider:v,modelId:x}}:{},...s?{thinkingLevel:s}:{}}),{session:B}=await (0,e.createAgentSessionFromServices)({services:h,sessionManager:g,...z.model?{model:z.model}:{},...z.thinkingLevel?{thinkingLevel:z.thinkingLevel}:{},...z.scopedModels.length>0?{scopedModels:z.scopedModels}:{},...void 0!==b?{tools:b}:{},customTools:k}),C=B.agent,E=C.streamFunction;C.streamFunction=(b,c,d)=>{let e=E(b,c,d);return e instanceof Promise?e.then(c=>D(c,{provider:b.provider,modelId:b.id,sessionId:a})):D(e,{provider:b.provider,modelId:b.id,sessionId:a})},(await (0,p.o)(h.settingsManager,{...r?{model:r}:{},...s?{thinkingLevel:s}:{}},{...B.model?{model:{provider:B.model.provider,modelId:B.model.id}}:{},thinkingLevel:B.agent.state?.thinkingLevel??"off",supportsThinking:B.supportsThinking()})).modelDefaultChanged&&(0,l.k)(),q&&q.length>0&&B.setActiveToolsByName(y(B,q));let F=new K(B,A),G=j.cleanup.bind(j);q?.length===0&&F.setForceEmptySystemPrompt(!0),F.start(),F.loadQueueRecovery();let H=B.sessionId,I=B.sessionFile;return I&&(0,o.O8)(H,I),F.onDestroy(()=>{G(),t.delete(H)}),t.set(H,F),F.beginExtensionBinding({forceEmptySystemPrompt:q?.length===0}),{session:F,realSessionId:H}})().finally(()=>{u.delete(a),B()});return u.set(a,C),C}d()}catch(a){d(a)}})},12394:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{B:()=>o,createAsyncBashTools:()=>m});var e=c(31421),f=c(75430),g=c(45399),h=a([f]);f=(h.then?(await h)():h)[0];class n{append(a){for(this.totalBytes+=a.length,this.tail.push(a),this.tailBytes+=a.length;this.tailBytes>258048&&this.tail.length>1;){let a=this.tail.shift();this.tailBytes-=a.length}if(this.headBytes<4096){let b=4096-this.headBytes;a.length<=b?(this.head.push(a),this.headBytes+=a.length):(this.head.push(a.subarray(0,b)),this.headBytes=4096)}}get hasOmission(){return this.totalBytes>this.headBytes+this.tailBytes}get omittedBytes(){return Math.max(0,this.totalBytes-this.headBytes-this.tailBytes)}toSnapshot(){if(!this.hasOmission)return Buffer.concat(this.tail).toString("utf-8");let a=[...this.head];return a.push(Buffer.from(`
|
|
2
|
+
... ${this.omittedBytes} bytes omitted ...
|
|
3
|
+
|
|
4
|
+
`)),a.push(...this.tail),Buffer.concat(a).toString("utf-8")}reset(){this.head=[],this.tail=[],this.headBytes=0,this.tailBytes=0,this.totalBytes=0}constructor(){this.head=[],this.tail=[],this.headBytes=0,this.tailBytes=0,this.totalBytes=0}}function i(a){if("win32"===process.platform)try{(0,e.spawn)("taskkill",["/F","/T","/PID",String(a)],{stdio:"ignore",detached:!0,windowsHide:!0})}catch{}else try{process.kill(-a,"SIGKILL")}catch{try{process.kill(a,"SIGKILL")}catch{}}}class o{spawn(a,b,c){let d,g=this.nextId++,h=(0,f.getShellConfig)(),i="stdin"===h.commandTransport,j=i?h.args:[...h.args,a],k=(0,e.spawn)(h.shell,j,{cwd:b,detached:"win32"!==process.platform,env:{...c,NO_COLOR:"1",TERM:"dumb"},stdio:["pipe","pipe","pipe"],windowsHide:!0});k.stdin?.on("error",()=>{}),i&&k.stdin?.end(a);let l=new Promise(a=>{d=a}),m={id:g,child:k,command:a,cwd:b,startedAt:Date.now(),buffer:new n,deltaBuffer:new n,exitCode:null,exited:!1,settled:l},o=a=>{m.buffer.append(a),m.deltaBuffer.append(a)};return k.stdout?.on("data",o),k.stderr?.on("data",o),k.once("exit",a=>{m.exited=!0,m.exitCode=a}),k.once("close",()=>d()),k.once("error",a=>{m.exited=!0;let b=Buffer.from(`
|
|
5
|
+
[process error] ${a.message}
|
|
6
|
+
`);m.buffer.append(b),m.deltaBuffer.append(b),d()}),this.processes.set(g,m),m}get(a){return this.processes.get(a)}writeStdin(a,b){let c=this.processes.get(a);if(!c)return{ok:!1,error:`No process with session_id ${a}`};if(c.exited)return{ok:!1,error:`Process ${a} has already exited`};if(!c.child.stdin||c.child.stdin.destroyed)return{ok:!1,error:`Process ${a} stdin is not available`};if("\x03"===b)try{c.child.kill("SIGINT")}catch{return{ok:!1,error:`Failed to send SIGINT to process ${a}`}}else try{c.child.stdin.write(b)}catch(b){return{ok:!1,error:`Failed to write to process ${a}: ${b}`}}return{ok:!0}}async poll(a,b){let c=this.processes.get(a);if(!c)return{output:`Process ${a} not found (it may have been cleaned up)`,exited:!0,exitCode:null};c.exited||await Promise.race([j(b),c.settled]);let d=c.deltaBuffer.toSnapshot();return c.deltaBuffer.reset(),{output:d,exited:c.exited,exitCode:c.exitCode}}kill(a){let b=this.processes.get(a);return!!b&&(b.child.pid&&i(b.child.pid),this.remove(a),!0)}remove(a){let b=this.processes.get(a);if(b&&b.child.pid&&function(a){try{return process.kill(-a,0),!0}catch(b){let a=b.code;return"EPERM"===a}}(b.child.pid))try{i(b.child.pid)}catch{}this.processes.delete(a)}cleanup(){for(let a of Array.from(this.processes.values()))!a.exited&&a.child.pid&&i(a.child.pid);this.processes.clear()}constructor(){this.processes=new Map,this.nextId=1}}function j(a){return new Promise(b=>setTimeout(b,a))}function k(a,b=250){return Math.max(b,Math.min(a,3e4))}function l(a){let b=[];if(a.command&&b.push(`$ ${a.command}`),a.output.trim()?b.push(a.output):b.push("(no new output)"),b.push(""),a.exited){let c=a.exitCode;0===c?b.push("Process exited successfully (code 0)."):null===c?b.push("Process exited (no exit code captured)."):b.push(`Process exited with code ${c}.`),b.push("No further interaction is possible. Do not call bash_io for this session.")}else null!==a.sessionId&&(b.push(`Process is still running (session_id: ${a.sessionId}).`),b.push(`Call bash_io with session_id ${a.sessionId} to poll for more output (leave chars empty) or to send input.`));return b.push(`Wall time: ${(a.wallMs/1e3).toFixed(1)}s`),b.join("\n")}function m(a){let b=(0,f.defineTool)({name:"bash",label:"Bash",description:"Execute a bash command in the current working directory. Spawns the command and waits up to yield_time_ms (default 2s) for output, then returns. If the command finishes within the wait, returns the full output and exit code. If the command is still running after the wait, returns the output collected so far plus a session_id - use bash_io with that session_id to poll for more output, send input, or interrupt. This is the primary shell tool; use it for all commands including ls, grep, find, builds, tests, and dev servers.",parameters:g.ZUJ.Object({command:g.ZUJ.String({description:"Bash command to execute"}),yield_time_ms:g.ZUJ.Optional(g.ZUJ.Integer({description:"Milliseconds to wait for output before returning (default: 2000, range: 250-30000). If the command is still running after this time, it continues in the background and a session_id is returned for bash_io."}))}),promptSnippet:"bash(command, yield_time_ms?): run any shell command; long-running ones return session_id for bash_io",promptGuidelines:["`bash` runs all shell commands. Short commands finish within yield_time_ms (default 2s) and return full output directly.","For commands still running after the wait, `bash` returns a `session_id` - poll it via `bash_io` (empty chars) or raise yield_time_ms for commands that need more time to produce output.","Poll a running process by calling `bash_io` with an empty `chars` string and the `session_id`.","Send input or Ctrl-C to a running process via `bash_io` with `chars` set to the input text or `\\u0003` for Ctrl-C.","After a process exits (exit code returned), do NOT call `bash_io` for that `session_id` again.","Like a human monitoring a long task: every few minutes poll the running process with bash_io, inspect the log, and decide whether to keep waiting, send input, or interrupt (Ctrl-C) and adjust."],async execute(b,c,d,e,f){let g,h=c.command,i=c.yield_time_ms?k(c.yield_time_ms):2e3,j=f.cwd,m=Date.now();try{g=a.spawn(h,j,process.env)}catch(a){throw Error(`Failed to spawn command: ${a instanceof Error?a.message:String(a)}`)}e&&e({content:[{type:"text",text:`$ ${h}
|
|
7
|
+
(spawning background process...)`}],details:{command:h,sessionId:g.id,spawning:!0}});let{output:n,exited:o,exitCode:p}=await a.poll(g.id,i),q=Date.now()-m;o&&a.remove(g.id);let r=l({output:n,exited:o,exitCode:p,sessionId:o?null:g.id,command:h,wallMs:q}),s={command:h,sessionId:o?null:g.id,exited:o,exitCode:o?p:null};return e&&e({content:[{type:"text",text:r}],details:s}),{content:[{type:"text",text:r}],details:s}}}),c=(0,f.defineTool)({name:"bash_io",label:"Interact with Background Process",description:'Interact with a background process started by bash. Can write text to the process\'s stdin, send Ctrl-C (use "\\u0003" as chars), or poll for new output (leave chars empty). Always waits yield_time_ms (default 5s) to collect output before returning. Use this to monitor long-running tasks, respond to prompts, or send additional commands.',parameters:g.ZUJ.Object({session_id:g.ZUJ.Integer({description:"The session_id returned by bash for the running process."}),chars:g.ZUJ.Optional(g.ZUJ.String({description:'Text to write to the process\'s stdin. Use "\\u0003" (Ctrl-C) to interrupt. Leave empty to just poll for output (no write). Defaults to empty.'})),yield_time_ms:g.ZUJ.Optional(g.ZUJ.Integer({description:"Milliseconds to wait for output after writing/polling (default: 5000, range: 250-30000)."}))}),promptSnippet:"bash_io(session_id, chars?, yield_time_ms?): poll or send input to a bash process",promptGuidelines:["`bash_io` interacts with a background process started by `bash` using its `session_id`.","Poll with empty `chars` to collect new output since the last poll.","Send input via `chars`; use `\\u0003` for Ctrl-C to interrupt the process.","If the process exited, `bash_io` reports the exit code and the process is cleaned up."],async execute(b,c,d,e){let f=c.session_id,g=c.chars??"",h=c.yield_time_ms?k(c.yield_time_ms,g?250:5e3):5e3,i=Date.now(),m=a.get(f);if(!m)throw Error(`No background process with session_id ${f}. The process may have exited and been cleaned up, or the ID is invalid. Use bash to start a new process.`);if(e){let a=""===g?"polling":"\x03"===g?"interrupting":"writing to";e({content:[{type:"text",text:`${a} process ${f} ($ ${m.command})`}],details:{sessionId:f,command:m.command,action:a}})}if(""!==g){let b=a.writeStdin(f,g);if(!b.ok)throw Error(b.error??"bash_io failed");await j(100)}let{output:n,exited:o,exitCode:p}=await a.poll(f,h),q=Date.now()-i;o&&a.remove(f);let r=l({output:n,exited:o,exitCode:p,sessionId:o?null:f,wallMs:q}),s={sessionId:o?null:f,exited:o,exitCode:o?p:null};return e&&e({content:[{type:"text",text:r}],details:s}),{content:[{type:"text",text:r}],details:s}}});return[b,c]}d()}catch(a){d(a)}})},12817:a=>{"use strict";a.exports=function(a){if(null===a||"object"!=typeof a)return a;if(a instanceof Object)var c={__proto__:b(a)};else var c=Object.create(null);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c};var b=Object.getPrototypeOf||function(a){return a.__proto__}},12969:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},13884:(a,b,c)=>{"use strict";let d=c(93329);a.exports={toPromise:function(a){return(...b)=>new Promise((c,d)=>{b.push((a,b)=>{a?d(a):c(b)}),a(...b)})},toSync:function(a){return(...b)=>{let c,d;if(b.push((a,b)=>{c=a,d=b}),a(...b),c)throw c;return d}},toSyncOptions:function(a){var b;let c;if((a={...a}).fs=(c={...b=a.fs||d},["mkdir","realpath","stat","rmdir","utimes"].forEach(a=>{c[a]=(...c)=>{let d,e=c.pop();try{d=b[`${a}Sync`](...c)}catch(a){return e(a)}e(null,d)}}),c),"number"==typeof a.retries&&a.retries>0||a.retries&&"number"==typeof a.retries.retries&&a.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return a}}},14253:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{ensureTaskEngine:()=>n});var e=c(29021),f=c(33873),g=c(79646),h=c(62391),i=c(65562),j=c(12144),k=a([i,j]);[i,j]=k.then?(await k)():k;let D=new Set,E=null,F="__piTaskEngine";function l(){return globalThis[F]??E}function m(){let a=l();if(!a)throw Error("task engine not running");return a}function n(){if(l())return!0;if(!function(){let a=(0,i.z1)("__engine__"),b=(0,f.join)(a,"engine.lock");try{if((0,e.mkdirSync)(a,{recursive:!0}),(0,e.existsSync)(b)&&!function(a){try{let b=Number((0,e.readFileSync)(a,"utf8").trim());if(Number.isInteger(b)&&b>0&&function(a){try{return process.kill(a,0),!0}catch{return!1}}(b))return!1;return(0,e.unlinkSync)(a),!0}catch{try{return(0,e.unlinkSync)(a),!0}catch{return!1}}}(b))return!1;let c=(0,e.openSync)(b,"wx");return(0,e.writeFileSync)(c,String(process.pid)),globalThis.__taskEngineLockFd=c,!0}catch{return!1}}())return!1;let a={live:new Map,byTask:new Map,launching:new Map,pumpLocks:new Map,reconcileTimer:null,stopped:!1};return E=a,globalThis[F]=a,B(),a.reconcileTimer=setInterval(()=>{C()},3e4),!0}function o(){return new Date().toISOString()}function p(a,b,c="engine",d){(0,i.fd)(a),b&&(0,i.Q1)(a.projectRoot,{taskId:a.id,kind:b,actor:c,payload:d??null});var e={type:"upsert",id:a.id};for(let a of D)a(e)}function q(a,b,c,d,f){let g=function(a){for(let b of l()?.byTask.values()??[])if(b.taskId===a)return(0,i._o)(b.projectRoot,a)??null;let b=(0,i.z1)("__engine__").replace(/__engine__$/,"");if(!(0,e.existsSync)(b))return null;for(let c of(0,e.readdirSync)(b,{withFileTypes:!0})){if(!c.isDirectory()||"__engine__"===c.name)continue;let b=(0,i._o)(A(c.name),a);if(b)return b}return null}(a);if(!g||g.runSeq!==b||!c.includes(g.status))return null;let h={...g,...f,status:d,updatedAt:o()};return p(h),h}async function r(a){let b=m(),c=(b.pumpLocks.get(a)??Promise.resolve()).then(()=>s(a));b.pumpLocks.set(a,c.catch(()=>void 0)),await c}async function s(a){let b=m();if(b.stopped)return;let c=(0,i.Rv)(a);if(!c.autoProcess)return;let d=(0,i.h6)(a),e=[...b.byTask.values()].filter(b=>b.projectRoot===a).length,f=c.maxConcurrent>0?c.maxConcurrent:1/0;if(!(e>=f))for(let c of d.filter(a=>"queued"===a.status).sort((a,b)=>a.sortOrder-b.sortOrder)){if(e>=f)break;!b.launching.has(c.id)&&await t(c.id,a)&&(e+=1)}}async function t(a,b){let c=m(),d=(0,i._o)(b,a);if(!d||"queued"!==d.status)return!1;let e=globalThis,f=e.__taskLaunchToken=(e.__taskLaunchToken??0)+1;if(c.launching.set(a,f),!q(a,d.runSeq,["queued"],"preparing",{startedAt:o()}))return c.launching.delete(a),!1;(0,i.Q1)(b,{taskId:a,kind:"preparing",actor:"engine"});try{var g,j,k;let e,f,l,n,p,r,s=await (0,h.KI)(b);if(!s.projectRoot)throw Error("Not a git repository");let t=`task/${a}-${d.title.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40)||"task"}`,x=null;try{x=(await (0,h.l)(s.projectRoot,t)).path}catch(b){let a=await u(s.projectRoot,t);if(!a)throw b;x=a}let A=s.branch??null,B=(0,i.Rv)(b);B.initCommand&&await y(x,B.initCommand);let{session:C}=await v(d,x),D={taskId:a,runSeq:d.runSeq,connectionId:C.sessionId,projectRoot:b,session:C,pendingRequests:new Set};if(c.live.set(C.sessionId,D),c.byTask.set(a,D),(g=D).session.onEvent(a=>{let b=a.type;(async()=>{var c,d;let e=m().live.get(g.connectionId);if(!e||e.taskId!==g.taskId)return;let f=(0,i._o)(g.projectRoot,g.taskId);if(f&&("running"===f.status||"awaiting_input"===f.status||"merging"===f.status))switch(b){case"extension_ui_request":{let b=a.method,c=a.id;b&&c&&["confirm","input","select","editor"].includes(b)&&(g.pendingRequests.add(c),"running"===f.status&&(q(g.taskId,g.runSeq,["running"],"awaiting_input"),(0,i.Q1)(f.projectRoot,{taskId:g.taskId,kind:"awaiting_input",actor:"engine",payload:{method:b,id:c}})));break}case"extension_ui_response":{let b=a.id;b&&g.pendingRequests.delete(b)&&0===g.pendingRequests.size&&"awaiting_input"===f.status&&q(g.taskId,g.runSeq,["awaiting_input"],"running");break}case"agent_end":if(g.pendingRequests.size>0)break;if("merging"===f.status){let a;c=g,(a=(0,i._o)(c.projectRoot,c.taskId))&&"merging"===a.status&&z(c.session.cwd,"git rev-parse --short HEAD").then(a=>a.output.trim()).catch(()=>null).then(async a=>{let b=(0,i._o)(c.projectRoot,c.taskId);if(b){q(b.id,b.runSeq,["merging"],"done",{mergeCommit:a,finishedAt:o()}),(0,i.Q1)(b.projectRoot,{taskId:b.id,kind:"merged",actor:"engine",payload:{commit:a}});try{b.worktreePath&&await (0,h.IL)(c.projectRoot,b.worktreePath,!0).catch(()=>void 0),b.workBranch&&await y(c.projectRoot,`git branch -D ${JSON.stringify(b.workBranch)}`).catch(()=>void 0)}catch{}}});break}w(g,f);break;case"prompt_error":{let b,c=a.errorMessage??"agent error";q(g.taskId,g.runSeq,["running","awaiting_input"],"failed",{failureReason:"agent_error",lastError:c,settledAt:o(),finishedAt:o()}),(0,i.Q1)(f.projectRoot,{taskId:g.taskId,kind:"failed",actor:"engine",payload:{reason:"agent_error",message:c}}),d=g,(b=m()).live.delete(d.connectionId),b.byTask.delete(d.taskId);break}case"agent_start":"awaiting_input"===f.status&&0===g.pendingRequests.size&&q(g.taskId,g.runSeq,["awaiting_input"],"running")}})()}),!q(a,d.runSeq,["preparing"],"running",{worktreePath:x,workBranch:t,baseBranch:A,conversationId:C.sessionId,sessionFile:C.sessionFile,runSeq:d.runSeq}))return c.live.delete(C.sessionId),c.byTask.delete(a),C.shutdown().catch(()=>void 0),!1;(0,i.Q1)(b,{taskId:a,kind:"started",actor:"engine",payload:{runSeq:d.runSeq,branch:t}});let E=(j=d,k=B,e=j.config?.prompt??j.title,f=k.stagePrompts?.work??k.stagePrompts?.all??"",l=j.config?.agentType??k.defaultAgentType,n=`You are working on task "${j.title}" in a git worktree branch.
|
|
2
8
|
`+(l?`Agent: ${l}
|
|
3
9
|
`:"")+`Complete the work described below.
|
|
4
10
|
|
|
@@ -13,4 +19,7 @@ ${p}
|
|
|
13
19
|
|
|
14
20
|
`:"",n+r+e+(f?`
|
|
15
21
|
|
|
16
|
-
${f}`:""));return await C.send({type:"prompt",message:E}),!0}catch(e){let c=e instanceof Error?e.message:String(e),d=(0,i._o)(b,a);return d&&("preparing"===d.status||"queued"===d.status)&&(q(a,d.runSeq,[d.status],"failed",{failureReason:"setup_error",lastError:c,settledAt:o(),finishedAt:o()}),(0,i.Q1)(b,{taskId:a,kind:"failed",actor:"engine",payload:{reason:"setup_error",message:c}})),!1}finally{c.launching.delete(a)}}async function u(a,b){try{let c=(await (0,h.P9)(a)).find(a=>a.branch===b);return c?.path??null}catch{return null}}async function v(a,b){let c=`task-${a.id}`,{session:d}=await (0,j.OF)(c,"",b,{});return{session:d}}async function w(a,b){let c=m().live.get(a.connectionId);if(!c||c.taskId!==a.taskId||!q(a.taskId,a.runSeq,["running","awaiting_input"],"review",{settledAt:o()}))return;(0,i.Q1)(b.projectRoot,{taskId:a.taskId,kind:"review",actor:"engine"});let d=(0,i.Rv)(b.projectRoot);d.preflightCommand&&await x(a,d.preflightCommand)}async function x(a,b){let c=(0,i._o)(a.projectRoot,a.taskId);if(c){p({...c,preflight:{status:"running",command:b}},"preflight_start","engine",{command:b});try{let c=await z(a.session.cwd,b),d=(0,i._o)(a.projectRoot,a.taskId);if(!d)return;p({...d,preflight:{status:0===c.code?"passed":"failed",command:b,exitCode:c.code,outputTail:0===c.code?null:c.output.slice(-4e3)}},0===c.code?"preflight_passed":"preflight_failed","engine",{command:b,exitCode:c.code})}catch(d){let c=(0,i._o)(a.projectRoot,a.taskId);if(!c)return;p({...c,preflight:{status:"failed",command:b,outputTail:d instanceof Error?d.message:String(d)}},"preflight_failed","engine",{command:b})}}}function y(a,b){return new Promise((c,d)=>{let e=(0,g.spawn)(b,{cwd:a,shell:!0,stdio:"ignore"});e.on("error",d),e.on("exit",a=>{0===a?c():d(Error(`init command exited with code ${a??"null"}`))})})}function z(a,b){return new Promise(c=>{let d=(0,g.spawn)(b,{cwd:a,shell:!0}),e="";d.stdout?.on("data",a=>{e+=a.toString()}),d.stderr?.on("data",a=>{e+=a.toString()}),d.on("error",()=>c({code:1,output:e})),d.on("exit",a=>c({code:a,output:e}))})}function A(a){return"/"+a.split("--").map(a=>decodeURIComponent(a)).join("/")}async function B(){try{await C()}catch{}}async function C(){let a=m();if(!a)return;let b=(0,i.z1)("__engine__").replace(/__engine__$/,"");if((0,e.existsSync)(b))for(let c of(0,e.readdirSync)(b,{withFileTypes:!0})){if(!c.isDirectory()||"__engine__"===c.name)continue;let b=A(c.name);for(let c of(0,i.h6)(b)){let d=a.byTask.get(c.id);d||"running"!==c.status&&"awaiting_input"!==c.status&&"merging"!==c.status?d||"preparing"!==c.status||(q(c.id,c.runSeq,["preparing"],"todo",{startedAt:null}),(0,i.Q1)(b,{taskId:c.id,kind:"recovered",actor:"engine"})):(q(c.id,c.runSeq,[c.status],"failed",{failureReason:"interrupted",lastError:"Engine restarted; the run was interrupted.",settledAt:o(),finishedAt:o()}),(0,i.Q1)(b,{taskId:c.id,kind:"interrupted",actor:"engine"}))}l()&&r(b)}}d()}catch(a){d(a)}})},15253:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>h,Y1:()=>g});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},16176:a=>{"use strict";let b=Symbol();a.exports.probe=function(a,c,d){let e=c[b];if(e)return c.stat(a,(a,b)=>{if(a)return d(a);d(null,b.mtime,e)});let f=new Date(1e3*Math.ceil(Date.now()/1e3)+5);c.utimes(a,f,f,e=>{if(e)return d(e);c.stat(a,(a,e)=>{if(a)return d(a);let f=e.mtime.getTime()%1e3==0?"s":"ms";Object.defineProperty(c,b,{value:f}),d(null,e.mtime,f)})})},a.exports.getMtime=function(a){let b=Date.now();return"s"===a&&(b=1e3*Math.ceil(b/1e3)),new Date(b)}},17114:(a,b,c)=>{"use strict";c.d(b,{Gc:()=>g,ov:()=>h,pj:()=>i,wx:()=>j});var d=c(55511),e=c(29021);function f(a){return`${a}.queue.json`}function g(a,b,c){return{id:(0,d.randomUUID)(),kind:a,text:b,...c&&c.length>0?{images:c}:{},queuedAt:Date.now()}}function h(a){let b=f(a);if(!(0,e.existsSync)(b))return[];try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));if(!a||1!==a.version||!Array.isArray(a.entries))return[];return a.entries.filter(a=>!!a&&("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text)}catch{return[]}}function i(a,b){if(!a)return;let c=f(a),g=`${c}.tmp-${process.pid}-${(0,d.randomUUID)()}`;try{(0,e.writeFileSync)(g,JSON.stringify({version:1,entries:b}),"utf8"),(0,e.renameSync)(g,c)}catch(a){try{(0,e.rmSync)(g,{force:!0})}catch{}console.error(`[pi-web] failed to persist queue sidecar ${c}:`,a instanceof Error?a.message:String(a))}}function j(a){try{(0,e.rmSync)(f(a),{force:!0})}catch{}}},18437:(a,b,c)=>{"use strict";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(!function(a){var b;if(!a||"object"!=typeof a||"image"!==a.type||"string"!=typeof a.data||"string"!=typeof a.mimeType||(b=a.mimeType,!/^image\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*$/.test(b)))return!1;let c=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b,d=null;for(let b=0;b<c;b+=1){var e;let c=(e=a.charCodeAt(b))>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:43===e?62:47===e?63:null;if(null===c)return null;d=c}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return 2===b&&d%16!=0||1===b&&d%4!=0?null:a.length/4*3-b}(a.data);return null!==c&&c<=0xa00000}(b))return"Each image must be valid base64 image data with an image MIME type and be 10MB or smaller";return null}c.d(b,{kc:()=>d})},18827:(a,b,c)=>{var d=c(27910).Stream;a.exports=function(a){return{ReadStream:function b(c,e){if(!(this instanceof b))return new b(c,e);d.call(this);var f=this;this.path=c,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536;for(var g=Object.keys(e=e||{}),h=0,i=g.length;h<i;h++){var j=g[h];this[j]=e[j]}if(this.encoding&&this.setEncoding(this.encoding),void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(void 0===this.end)this.end=1/0;else if("number"!=typeof this.end)throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}null!==this.fd?process.nextTick(function(){f._read()}):a.open(this.path,this.flags,this.mode,function(a,b){if(a){f.emit("error",a),f.readable=!1;return}f.fd=b,f.emit("open",b),f._read()})},WriteStream:function b(c,e){if(!(this instanceof b))return new b(c,e);d.call(this),this.path=c,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0;for(var f=Object.keys(e=e||{}),g=0,h=f.length;g<h;g++){var i=f[g];this[i]=e[i]}if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=a.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}}},29040:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wF:()=>p});var e=c(73024),f=c(76760),g=c(75430),h=c(12969),i=a([g]);g=(i.then?(await i)():i)[0];let q=new Set([400,401,402,403,404,406,408,409,413,422,429,451,500,502,503,504]),r=new Set(["opencode-zen-external","opencode-zen-switch","opencode-zen-runtime","opencode-zen-sync"]);function j(){return(0,f.join)((0,g.getAgentDir)(),"pi-web-error-log.json")}function k(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.timestamp&&("error"===a.level||"warning"===a.level||"info"===a.level)&&"string"==typeof a.source&&"string"==typeof a.message}function l(a){return a.replace(/https?:\/\/[^\s/@]+:[^\s/@]+@/gi,"https://[redacted]@").replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\bsk-[A-Za-z0-9_-]{8,}\b/g,"sk-[redacted]").replace(/\b(?:oc|opencode|zen)[_-]?[A-Za-z0-9._~-]{12,}\b/gi,"[key-redacted]").replace(/((?:api[_-]?key|token|password|secret)\s*[:=]\s*)([^\s,;]+)/gi,"$1[redacted]")}function m(a){return a.length>2e4?`${a.slice(0,2e4)}…`:a}function n(a){let b=a.match(/\bHTTP\s+(\d{3})\b|\bstatus(?:\s+code)?\s*[:=]?\s*(\d{3})\b|\b(4\d{2}|5\d{2})\b/i),c=Number(b?.[1]??b?.[2]??b?.[3]);return q.has(c)?c:void 0}function o(a){try{(0,h.$)(j(),JSON.stringify(a,null,2))}catch{}}function p(a){let b=function(){globalThis.__piErrorLogState||(globalThis.__piErrorLogState={loaded:!1,entries:[]});let a=globalThis.__piErrorLogState;if(!a.loaded){a.loaded=!0;try{if((0,e.existsSync)(j())){let b=JSON.parse((0,e.readFileSync)(j(),"utf8"));if(Array.isArray(b)){let c=b.filter(k).slice(-500),d=c.filter(a=>!r.has(a.source));d.length!==c.length&&o(d),a.entries=d}}}catch{a.entries=[]}}return a}(),c=m(l(a.message.trim())),d=a.details?m(l(a.details)):void 0,f={id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date().toISOString(),level:a.level??"error",source:a.source??"unknown",...void 0!==a.statusCode?{statusCode:a.statusCode}:void 0!==n(c)?{statusCode:n(c)}:{},...a.provider?{provider:a.provider}:{},...a.model?{model:a.model}:{},...a.sessionId?{sessionId:a.sessionId}:{},message:c||"Unknown error",...d?{details:d}:{}};return b.entries.push(f),b.entries.length>500&&b.entries.splice(0,b.entries.length-500),o(b.entries),f}d()}catch(a){d(a)}})},30116:(a,b,c)=>{"use strict";c.d(b,{LD:()=>m,kP:()=>o,ni:()=>n});var d=c(97563);function e(a){if(!a)return[];let b=[];for(let c of a){let a=function(a){let b=a.trim();if(!b)return null;let c=b.indexOf("="),d=b.indexOf("(");if(c>0&&(d<0||c<d)){let a=b.slice(0,c).trim();return a?{tool:a,subject:b.slice(c+1),literal:!0}:null}if(d>=0&&b.endsWith(")")){let a=b.slice(0,d).trim();return a?{tool:a,subject:b.slice(d+1,-1)}:null}return{tool:b}}(c);a&&b.push(a)}return b}function f(a){return void 0===a.subject?a.tool:a.literal?`${a.tool}=${a.subject}`:`${a.tool}(${a.subject})`}function g(a){return a.includes("*")||a.includes("?")}function h(a,b){return void 0===b.subject||""!==a&&(b.literal||!g(b.subject)?a===b.subject:(function(a){let b="^";for(let c of a)"*"===c?b+=".*":"?"===c?b+=".":b+=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return RegExp(b+"$")})(b.subject).test(a))}function i(a,b){return a.toLowerCase()===b.toLowerCase()}function j(a,b,c){for(let d of a)if(i(d.tool,b)&&h(c,d))return!0;return!1}function k(a){let b=a.trim();return!!b&&!!(/\$\(/.test(b)||/`/.test(b)||/(^|\s)(python|python3|node|ruby|perl|php)\s+-[a-z]*c(\s|$)/i.test(b)||/(^|\s)(sh|bash|zsh)\s+-c(\s|$)/i.test(b)||/(^|\s)(sudo|su)\s/i.test(b)||/;\s*[a-z]/i.test(b)||/\|\s*(sh|bash|zsh|python|python3|node)\b/i.test(b)||/\|\s*tee\b/i.test(b))}let l=["ls","cat","head","tail","grep","rg","find","wc","echo","pwd","cd","git status","git diff","git log","git branch","git remote","git stash list","git show","git ls-files","which","type","env","file","stat","du","df","history","man","less","more","tree","git diff --","git log --","curl -I","curl --head"];function m(a,b,c={}){let e=c.mode??"auto",f=c.readOnly??d.MJ.has(b.toLowerCase()),n=function(a,b){if("bash"===a.toLowerCase()){let a=b?.command;return"string"==typeof a&&a.trim()?`command:${a.trim()}`:""}let c=b??{},d="string"==typeof c.source_path?c.source_path:"",e="string"==typeof c.destination_path?c.destination_path:"";if(d&&e)return e!==d?`${d}\u0000${e}`:d;for(let a of["path","file_path","file","glob","pattern","directory"]){let b=c[a];if("string"==typeof b&&b)return b}return""}(b,c.args),o="bash"===b.toLowerCase(),p=o&&n.startsWith("command:")?n.slice(8):"";if(j(a.deny,b,n))return"deny";if(o&&p){let c=k(p);return j(a.allow,b,n)&&!c?"allow":j(a.ask,b,n)?"ask":c?a.allow.some(a=>i(a.tool,b)&&void 0!==a.subject&&!g(a.subject)&&h(n,a))||"yolo"===e?"allow":"ask":!function(a){let b=a.trim();if(!b||k(b)||/[;&|>]/.test(b))return!1;let c=b.toLowerCase();for(let a of l)if(c===a||c.startsWith(a+" "))return!0;return!1}(p)?"ask"===e?"ask":"allow":"allow"}return j(a.allow,b,n)?"allow":j(a.ask,b,n)?"ask":f?"allow":"ask"===e?"ask":"allow"}function n(a){return{allow:e(a?.allow),ask:e(a?.ask),deny:e(a?.deny)}}function o(a){return{allow:a.allow.map(f),ask:a.ask.map(f),deny:a.deny.map(f)}}},30223:a=>{a.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&a.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&a.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")},32982:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)d(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=function(a){let b=a?.modelOverrides;if(!d(b))return{};let c={};for(let[a,e]of Object.entries(b))d(e)&&(c[a]={...e});return c}(a),e=new Set([...Object.keys(b),...Object.keys(c)]),f={};for(let a of e)f[a]={...b[a]??{},...c[a]??{}};return f}c.d(b,{du:()=>e})},39466:(a,b,c)=>{var d=c(81115),e=process.cwd,f=null,g=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return f||(f=e.call(process)),f};try{process.cwd()}catch(a){}if("function"==typeof process.chdir){var h=process.chdir;process.chdir=function(a){f=null,h.call(process,a)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,h)}a.exports=function(a){var b,c,e;function f(b){return b?function(c,d,e){return b.call(a,c,d,function(a){m(a)&&(a=null),e&&e.apply(this,arguments)})}:b}function h(b){return b?function(c,d){try{return b.call(a,c,d)}catch(a){if(!m(a))throw a}}:b}function i(b){return b?function(c,d,e,f){return b.call(a,c,d,e,function(a){m(a)&&(a=null),f&&f.apply(this,arguments)})}:b}function j(b){return b?function(c,d,e){try{return b.call(a,c,d,e)}catch(a){if(!m(a))throw a}}:b}function k(b){return b?function(c,d,e){function f(a,b){b&&(b.uid<0&&(b.uid+=0x100000000),b.gid<0&&(b.gid+=0x100000000)),e&&e.apply(this,arguments)}return"function"==typeof d&&(e=d,d=null),d?b.call(a,c,d,f):b.call(a,c,f)}:b}function l(b){return b?function(c,d){var e=d?b.call(a,c,d):b.call(a,c);return e&&(e.uid<0&&(e.uid+=0x100000000),e.gid<0&&(e.gid+=0x100000000)),e}:b}function m(a){return!a||"ENOSYS"===a.code||(!process.getuid||0!==process.getuid())&&("EINVAL"===a.code||"EPERM"===a.code)}d.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&((c=a).lchmod=function(a,b,e){c.open(a,d.O_WRONLY|d.O_SYMLINK,b,function(a,d){if(a){e&&e(a);return}c.fchmod(d,b,function(a){c.close(d,function(b){e&&e(a||b)})})})},c.lchmodSync=function(a,b){var e,f=c.openSync(a,d.O_WRONLY|d.O_SYMLINK,b),g=!0;try{e=c.fchmodSync(f,b),g=!1}finally{if(g)try{c.closeSync(f)}catch(a){}else c.closeSync(f)}return e}),a.lutimes||(e=a,d.hasOwnProperty("O_SYMLINK")&&e.futimes?(e.lutimes=function(a,b,c,f){e.open(a,d.O_SYMLINK,function(a,d){if(a){f&&f(a);return}e.futimes(d,b,c,function(a){e.close(d,function(b){f&&f(a||b)})})})},e.lutimesSync=function(a,b,c){var f,g=e.openSync(a,d.O_SYMLINK),h=!0;try{f=e.futimesSync(g,b,c),h=!1}finally{if(h)try{e.closeSync(g)}catch(a){}else e.closeSync(g)}return f}):e.futimes&&(e.lutimes=function(a,b,c,d){d&&process.nextTick(d)},e.lutimesSync=function(){})),a.chown=i(a.chown),a.fchown=i(a.fchown),a.lchown=i(a.lchown),a.chmod=f(a.chmod),a.fchmod=f(a.fchmod),a.lchmod=f(a.lchmod),a.chownSync=j(a.chownSync),a.fchownSync=j(a.fchownSync),a.lchownSync=j(a.lchownSync),a.chmodSync=h(a.chmodSync),a.fchmodSync=h(a.fchmodSync),a.lchmodSync=h(a.lchmodSync),a.stat=k(a.stat),a.fstat=k(a.fstat),a.lstat=k(a.lstat),a.statSync=l(a.statSync),a.fstatSync=l(a.fstatSync),a.lstatSync=l(a.lstatSync),a.chmod&&!a.lchmod&&(a.lchmod=function(a,b,c){c&&process.nextTick(c)},a.lchmodSync=function(){}),a.chown&&!a.lchown&&(a.lchown=function(a,b,c,d){d&&process.nextTick(d)},a.lchownSync=function(){}),"win32"===g&&(a.rename="function"!=typeof a.rename?a.rename:function(b){function c(c,d,e){var f=Date.now(),g=0;b(c,d,function h(i){if(i&&("EACCES"===i.code||"EPERM"===i.code||"EBUSY"===i.code)&&Date.now()-f<6e4){setTimeout(function(){a.stat(d,function(a,f){a&&"ENOENT"===a.code?b(c,d,h):e(i)})},g),g<100&&(g+=10);return}e&&e(i)})}return Object.setPrototypeOf&&Object.setPrototypeOf(c,b),c}(a.rename)),a.read="function"!=typeof a.read?a.read:function(b){function c(c,d,e,f,g,h){var i;if(h&&"function"==typeof h){var j=0;i=function(k,l,m){if(k&&"EAGAIN"===k.code&&j<10)return j++,b.call(a,c,d,e,f,g,i);h.apply(this,arguments)}}return b.call(a,c,d,e,f,g,i)}return Object.setPrototypeOf&&Object.setPrototypeOf(c,b),c}(a.read),a.readSync="function"!=typeof a.readSync?a.readSync:(b=a.readSync,function(c,d,e,f,g){for(var h=0;;)try{return b.call(a,c,d,e,f,g)}catch(a){if("EAGAIN"===a.code&&h<10){h++;continue}throw a}})}},44290:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{lN:()=>j});var e=c(74986),f=c(97563),g=c(30116),h=a([e]);function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.permissionRules,c=(0,g.kP)((0,g.ni)(b));return{collaborationMode:(0,f.UY)(a.collaborationMode),tokenMode:(0,f.wI)(a.tokenMode),toolApprovalMode:(0,f.g0)(a.toolApprovalMode),permissionRules:{allow:Array.isArray(c.allow)?c.allow:[],ask:Array.isArray(c.ask)?c.ask:[],deny:Array.isArray(c.deny)?c.deny:[]}}}function j(a){let b=(0,f.Md)(),c=(0,e.Tu)();if(a){let b=c.modesPerSession;if(b&&"object"==typeof b&&!Array.isArray(b)){let c=i(b[a]);if(c)return c}}return i(c.modes)??b}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},54366:(a,b,c)=>{"use strict";function d(){return{defaultAgentType:null,modeId:null,configValues:{},autoProcess:!0,maxConcurrent:1,mergeStrategy:"merge",deleteWorktreeDefault:!0,preflightCommand:null,initCommand:null,stagePrompts:null}}c.d(b,{os:()=>d})},57856:(a,b,c)=>{"use strict";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})}},61446:(a,b,c)=>{"use strict";let d=c(62404),{toPromise:e,toSync:f,toSyncOptions:g}=c(13884);async function h(a,b){let c=await e(d.lock)(a,b);return e(c)}a.exports=h,a.exports.lock=h,a.exports.unlock=function(a,b){return e(d.unlock)(a,b)},a.exports.lockSync=function(a,b){let c=f(d.lock)(a,g(b));return f(c)},a.exports.unlockSync=function(a,b){return f(d.unlock)(a,g(b))},a.exports.check=function(a,b){return e(d.check)(a,b)},a.exports.checkSync=function(a,b){return f(d.check)(a,g(b))}},61577:(a,b,c)=>{"use strict";async function d(a,b,c){if(!b.model&&!b.thinkingLevel)return{modelDefaultChanged:!1};let d=!1;return b.model&&c.model&&b.model.provider===c.model.provider&&b.model.modelId===c.model.modelId&&(a.setDefaultModelAndProvider(c.model.provider,c.model.modelId),d=!0),b.thinkingLevel&&(c.supportsThinking||"off"!==c.thinkingLevel)&&a.setDefaultThinkingLevel(c.thinkingLevel),await a.flush(),{modelDefaultChanged:d}}c.d(b,{o:()=>d})},62391:(a,b,c)=>{"use strict";c.d(b,{l:()=>q,P9:()=>p,IL:()=>r,KI:()=>n});var d=c(79646),e=c(29021),f=c(33873);function g(a){return a&&"win32"===process.platform?(0,f.normalize)(a):a}function h(a,b){return a===b||!!a&&!!b&&"win32"===process.platform&&g(a).toLowerCase()===g(b).toLowerCase()}let i=(0,c(28354).promisify)(d.execFile);function j(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}let k=0;function l(){globalThis.__piProjectCache?.clear()}async function m(a,b){let{stdout:c}=await i("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}async function n(a){let b;!function(){let a=Date.now();if(a-k<6e4)return;k=a;let b=j();for(let[c,d]of b)d.expiresAt<=a&&b.delete(c)}();let c=j(),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=function(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:c,branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,i,j,k]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[l,n,o]=[d,i,j].map(g),p=a;try{p=(0,e.realpathSync)(a)}catch{}let q=h(o,p),r=!h(n,l)&&q;b={projectRoot:r?(0,f.dirname)(l):a,branch:k&&"HEAD"!==k?k:null,isWorktree:r,isTopLevel:q}}catch{b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function o(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return(0,f.dirname)(g(b))}async function p(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&!d.prunable&&(0,e.existsSync)(d.path)&&c.push({path:d.path,branch:d.branch??null,isMain:0===c.length}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),d={path:g(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&f();return f(),c}async function q(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await o(a),h=`${(0,f.resolve)(g)}-worktrees`,i=(0,f.join)(h,d);if((0,e.existsSync)(i))throw Error(`Directory already exists: ${i}`);(0,e.mkdirSync)(h,{recursive:!0});let j=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),j=!0}catch{j=!1}try{j?await m(g,["worktree","add","--",i,c]):await m(g,["worktree","add","-b",c,"--",i])}catch(a){throw Error(s(a))}return!function(a){if(!a)return;let b=a.replace(/\\/g,"/");(!globalThis.__piAdditionalAllowedRoots&&(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots).add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}(i),l(),{path:i,branch:c}}async function r(a,b,c=!1){let d=(await p(a)).find(a=>h(a.path,b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],b])}catch(a){throw Error(s(a))}l()}function s(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},62404:(a,b,c)=>{"use strict";let d=c(33873),e=c(93329),f=c(81463),g=c(75856),h=c(16176),i={};function j(a,b){return b.lockfilePath||`${a}.lock`}function k(a,b,c){if(!b.realpath)return c(null,d.resolve(a));b.fs.realpath(a,c)}function l(a,b){return a.mtime.getTime()<Date.now()-b.stale}function m(a,b,c){b.fs.rmdir(j(a,b),a=>{if(a&&"ENOENT"!==a.code)return c(a);c()})}function n(a,b,c){b.released=!0,b.updateTimeout&&clearTimeout(b.updateTimeout),i[a]===b&&delete i[a],b.options.onCompromised(c)}function o(a,b,c){k(a,b={fs:e,realpath:!0,...b},(a,d)=>{if(a)return c(a);let e=i[d];if(!e)return c(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));e.updateTimeout&&clearTimeout(e.updateTimeout),e.released=!0,delete i[d],m(d,b,c)})}g(()=>{for(let a in i){let b=i[a].options;try{b.fs.rmdirSync(j(a,b))}catch(a){}}}),a.exports.lock=function(a,b,c){(b={stale:1e4,update:null,realpath:!0,retries:0,fs:e,onCompromised:a=>{throw a},...b}).retries=b.retries||0,b.retries="number"==typeof b.retries?{retries:b.retries}:b.retries,b.stale=Math.max(b.stale||0,2e3),b.update=null==b.update?b.stale/2:b.update||0,b.update=Math.max(Math.min(b.update,b.stale/2),1e3),k(a,b,(a,d)=>{if(a)return c(a);let e=f.operation(b.retries);e.attempt(()=>{!function a(b,c,d){let e=j(b,c);c.fs.mkdir(e,f=>f?"EEXIST"!==f.code?d(f):c.stale<=0?d(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:b})):void c.fs.stat(e,(e,f)=>e?"ENOENT"===e.code?a(b,{...c,stale:0},d):d(e):l(f,c)?void m(b,c,e=>{if(e)return d(e);a(b,{...c,stale:0},d)}):d(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:b}))):h.probe(e,c.fs,(a,b,f)=>{if(a)return c.fs.rmdir(e,()=>{}),d(a);d(null,b,f)}))}(d,b,(a,f,g)=>{if(e.retry(a))return;if(a)return c(e.mainError());let k=i[d]={lockfilePath:j(d,b),mtime:f,mtimePrecision:g,options:b,lastUpdate:Date.now()};!function a(b,c){let d=i[b];!d.updateTimeout&&(d.updateDelay=d.updateDelay||c.update,d.updateTimeout=setTimeout(()=>{d.updateTimeout=null,c.fs.stat(d.lockfilePath,(e,f)=>{let g=d.lastUpdate+c.stale<Date.now();if(e)return"ENOENT"===e.code||g?n(b,d,Object.assign(e,{code:"ECOMPROMISED"})):(d.updateDelay=1e3,a(b,c));if(d.mtime.getTime()!==f.mtime.getTime())return n(b,d,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let i=h.getMtime(d.mtimePrecision);c.fs.utimes(d.lockfilePath,i,i,e=>{let f=d.lastUpdate+c.stale<Date.now();if(!d.released){if(e)return"ENOENT"===e.code||f?n(b,d,Object.assign(e,{code:"ECOMPROMISED"})):(d.updateDelay=1e3,a(b,c));d.mtime=i,d.lastUpdate=Date.now(),d.updateDelay=null,a(b,c)}})})},d.updateDelay),d.updateTimeout.unref&&d.updateTimeout.unref())}(d,b),c(null,a=>{if(k.released)return a&&a(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));o(d,{...b,realpath:!1},a)})})})})},a.exports.unlock=o,a.exports.check=function(a,b,c){(b={stale:1e4,realpath:!0,fs:e,...b}).stale=Math.max(b.stale||0,2e3),k(a,b,(a,d)=>{if(a)return c(a);b.fs.stat(j(d,b),(a,d)=>a?"ENOENT"===a.code?c(null,!1):c(a):c(null,!l(d,b)))})},a.exports.getLocks=function(){return i}},65562:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q1:()=>u,Rv:()=>v,_o:()=>s,fd:()=>t,h6:()=>r,z1:()=>m});var e=c(29021),f=c(33873),g=c(75430),h=c(12969),i=c(69420),j=c(54366),k=a([g]);function l(){return(0,f.join)((0,g.getAgentDir)(),"tasks")}function m(a){return(0,f.join)(l(),(0,i.A0)(a).replace(/^\/+/,"").split("/").filter(Boolean).map(a=>encodeURIComponent(a)).join("--")||"root")}function n(a){return(0,f.join)(m(a),"tasks.jsonl")}function o(){return(0,f.join)(l(),"settings.json")}function p(a){(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0,mode:448})}function q(a){if(!(0,e.existsSync)(a))return[];let b=(0,e.readFileSync)(a,"utf8"),c=[];for(let a of b.split("\n")){let b=a.trim();if(b)try{c.push(JSON.parse(b))}catch{}}return c}function r(a){return q(n(a)).sort((a,b)=>a.sortOrder-b.sortOrder||a.id-b.id)}function s(a,b){return r(a).find(a=>a.id===b)??null}function t(a){let b,c=n(a.projectRoot),d=r(a.projectRoot),e=d.findIndex(b=>b.id===a.id),f={...a,updatedAt:new Date().toISOString()};e>=0?d[e]=f:d.push(f),p(c.substring(0,c.lastIndexOf("/"))),b=d.map(a=>JSON.stringify(a)).join("\n")+"\n",(0,h.$)(c,b)}function u(a,b){let c=(0,f.join)(m(a),"events.jsonl"),d=q(c).reduce((a,b)=>Math.max(a,b.id),0)+1,g={...b,payload:b.payload??null,id:d,createdAt:new Date().toISOString()};return p(c.substring(0,c.lastIndexOf("/"))),(0,e.writeFileSync)(c,JSON.stringify(g)+"\n",{encoding:"utf8",flag:"a",mode:384}),g}function v(a){let b=function(a){let b=o();if(!(0,e.existsSync)(b))return null;try{return JSON.parse((0,e.readFileSync)(b,"utf8"))[a]??null}catch{return null}}(a),c=function(){let a=o();if(!(0,e.existsSync)(a))return(0,j.os)();try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return{...(0,j.os)(),...b._global??{}}}catch{return(0,j.os)()}}();return b?{...c,...b,configValues:{...c.configValues,...b.configValues??{}}}:c}g=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})},67313:(a,b,c)=>{var d=c(92759);b.operation=function(a){return new d(b.timeouts(a),{forever:a&&a.forever,unref:a&&a.unref,maxRetryTime:a&&a.maxRetryTime})},b.timeouts=function(a){if(a instanceof Array)return[].concat(a);var b={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var c in a)b[c]=a[c];if(b.minTimeout>b.maxTimeout)throw Error("minTimeout is greater than maxTimeout");for(var d=[],e=0;e<b.retries;e++)d.push(this.createTimeout(e,b));return a&&a.forever&&!d.length&&d.push(this.createTimeout(e,b)),d.sort(function(a,b){return a-b}),d},b.createTimeout=function(a,b){var c=Math.round((b.randomize?Math.random()+1:1)*b.minTimeout*Math.pow(b.factor,a));return Math.min(c,b.maxTimeout)},b.wrap=function(a,c,d){if(c instanceof Array&&(d=c,c=null),!d)for(var e in d=[],a)"function"==typeof a[e]&&d.push(e);for(var f=0;f<d.length;f++){var g=d[f],h=a[g];a[g]=(function(d){var e=b.operation(c),f=Array.prototype.slice.call(arguments,1),g=f.pop();f.push(function(a){e.retry(a)||(a&&(arguments[0]=e.mainError()),g.apply(this,arguments))}),e.attempt(function(){d.apply(a,f)})}).bind(a,h),a[g].options=c}}},69420:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},69453:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O8:()=>l,mD:()=>i});var e=c(75430);c(29021);var f=c(33873);c(97563),c(62391);var g=c(74986),h=a([e,g]);function i(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1,globalThis.__piSessionListCache=void 0}function j(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function k(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function l(a,b){let c=(0,f.normalize)(b),d=j(),e=k(),g=d.get(a),h=e.get(c);g&&g!==c&&e.get(g)===a&&e.delete(g),h&&h!==a&&d.get(h)===c&&d.delete(h),d.set(a,c),e.set(c,a);let i=j();for(k();i.size>4096;){let a=i.keys().next().value;if(void 0===a)break;!function(a){let b=j(),c=k(),d=b.get(a);b.delete(a),d&&c.get(d)===a&&c.delete(d)}(a)}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},74986:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>i});var e=c(73024),f=c(76760);c(61446);var g=c(75430);c(12969);var h=a([g]);function i(){let a=(0,f.join)((0,g.getAgentDir)(),"settings.json");if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},75856:(a,b,c)=>{var d=global.process;let e=function(a){return a&&"object"==typeof a&&"function"==typeof a.removeListener&&"function"==typeof a.emit&&"function"==typeof a.reallyExit&&"function"==typeof a.listeners&&"function"==typeof a.kill&&"number"==typeof a.pid&&"function"==typeof a.on};if(e(d)){var f,g=c(12412),h=c(30223),i=/^win/i.test(d.platform),j=c(94735);"function"!=typeof j&&(j=j.EventEmitter),d.__signal_exit_emitter__?f=d.__signal_exit_emitter__:((f=d.__signal_exit_emitter__=new j).count=0,f.emitted={}),f.infinite||(f.setMaxListeners(1/0),f.infinite=!0),a.exports=function(a,b){if(!e(global.process))return function(){};g.equal(typeof a,"function","a callback must be provided for exit handler"),!1===n&&o();var c="exit";return b&&b.alwaysLast&&(c="afterexit"),f.on(c,a),function(){f.removeListener(c,a),0===f.listeners("exit").length&&0===f.listeners("afterexit").length&&k()}};var k=function(){n&&e(global.process)&&(n=!1,h.forEach(function(a){try{d.removeListener(a,m[a])}catch(a){}}),d.emit=r,d.reallyExit=p,f.count-=1)};a.exports.unload=k;var l=function(a,b,c){f.emitted[a]||(f.emitted[a]=!0,f.emit(a,b,c))},m={};h.forEach(function(a){m[a]=function(){e(global.process)&&d.listeners(a).length===f.count&&(k(),l("exit",null,a),l("afterexit",null,a),i&&"SIGHUP"===a&&(a="SIGINT"),d.kill(d.pid,a))}}),a.exports.signals=function(){return h};var n=!1,o=function(){!n&&e(global.process)&&(n=!0,f.count+=1,h=h.filter(function(a){try{return d.on(a,m[a]),!0}catch(a){return!1}}),d.emit=s,d.reallyExit=q)};a.exports.load=o;var p=d.reallyExit,q=function(a){e(global.process)&&(d.exitCode=a||0,l("exit",d.exitCode,null),l("afterexit",d.exitCode,null),p.call(d,d.exitCode))},r=d.emit,s=function(a,b){if(!("exit"===a&&e(global.process)))return r.apply(this,arguments);void 0!==b&&(d.exitCode=b);var c=r.apply(this,arguments);return l("exit",d.exitCode,null),l("afterexit",d.exitCode,null),c}}else a.exports=function(){return function(){}}},80723:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{fr:()=>j});var e=c(29021),f=c(33873),g=c(75430),h=c(74986),i=a([g,h]);function j(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},81463:(a,b,c)=>{a.exports=c(67313)},88250:(a,b,c)=>{"use strict";function d(){let a=(globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState);a.generation+=1,a.entries.clear(),a.inFlight.clear()}c.d(b,{k:()=>d})},92759:a=>{function b(a,b){"boolean"==typeof b&&(b={forever:b}),this._originalTimeouts=JSON.parse(JSON.stringify(a)),this._timeouts=a,this._options=b||{},this._maxRetryTime=b&&b.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}a.exports=b,b.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},b.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},b.prototype.retry=function(a){if(this._timeout&&clearTimeout(this._timeout),!a)return!1;var b=new Date().getTime();if(a&&b-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(a);var c=this._timeouts.shift();if(void 0===c)if(!this._cachedTimeouts)return!1;else this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),c=this._timeouts.shift();var d=this,e=setTimeout(function(){d._attempts++,d._operationTimeoutCb&&(d._timeout=setTimeout(function(){d._operationTimeoutCb(d._attempts)},d._operationTimeout),d._options.unref&&d._timeout.unref()),d._fn(d._attempts)},c);return this._options.unref&&e.unref(),!0},b.prototype.attempt=function(a,b){this._fn=a,b&&(b.timeout&&(this._operationTimeout=b.timeout),b.cb&&(this._operationTimeoutCb=b.cb));var c=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){c._operationTimeoutCb()},c._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},b.prototype.try=function(a){console.log("Using RetryOperation.try() is deprecated"),this.attempt(a)},b.prototype.start=function(a){console.log("Using RetryOperation.start() is deprecated"),this.attempt(a)},b.prototype.start=b.prototype.try,b.prototype.errors=function(){return this._errors},b.prototype.attempts=function(){return this._attempts},b.prototype.mainError=function(){if(0===this._errors.length)return null;for(var a={},b=null,c=0,d=0;d<this._errors.length;d++){var e=this._errors[d],f=e.message,g=(a[f]||0)+1;a[f]=g,g>=c&&(b=e,c=g)}return b}},93329:(a,b,c)=>{var d,e,f,g=c(29021),h=c(39466),i=c(18827),j=c(12817),k=c(28354);function l(a,b){Object.defineProperty(a,d,{get:function(){return b}})}"function"==typeof Symbol&&"function"==typeof Symbol.for?(d=Symbol.for("graceful-fs.queue"),e=Symbol.for("graceful-fs.previous")):(d="___graceful-fs.queue",e="___graceful-fs.previous");var m=function(){};function n(a){h(a),a.gracefulify=n,a.createReadStream=function(b,c){return new a.ReadStream(b,c)},a.createWriteStream=function(b,c){return new a.WriteStream(b,c)};var b=a.readFile;a.readFile=function(a,c,d){return"function"==typeof c&&(d=c,c=null),function a(c,d,e,f){return b(c,d,function(b){b&&("EMFILE"===b.code||"ENFILE"===b.code)?o([a,[c,d,e],b,f||Date.now(),Date.now()]):"function"==typeof e&&e.apply(this,arguments)})}(a,c,d)};var c=a.writeFile;a.writeFile=function(a,b,d,e){return"function"==typeof d&&(e=d,d=null),function a(b,d,e,f,g){return c(b,d,e,function(c){c&&("EMFILE"===c.code||"ENFILE"===c.code)?o([a,[b,d,e,f],c,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,d,e)};var d=a.appendFile;d&&(a.appendFile=function(a,b,c,e){return"function"==typeof c&&(e=c,c=null),function a(b,c,e,f,g){return d(b,c,e,function(d){d&&("EMFILE"===d.code||"ENFILE"===d.code)?o([a,[b,c,e,f],d,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,c,e)});var e=a.copyFile;e&&(a.copyFile=function(a,b,c,d){return"function"==typeof c&&(d=c,c=0),function a(b,c,d,f,g){return e(b,c,d,function(e){e&&("EMFILE"===e.code||"ENFILE"===e.code)?o([a,[b,c,d,f],e,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,c,d)});var f=a.readdir;a.readdir=function(a,b,c){"function"==typeof b&&(c=b,b=null);var d=g.test(process.version)?function(a,b,c,d){return f(a,e(a,b,c,d))}:function(a,b,c,d){return f(a,b,e(a,b,c,d))};return d(a,b,c);function e(a,b,c,e){return function(f,g){f&&("EMFILE"===f.code||"ENFILE"===f.code)?o([d,[a,b,c],f,e||Date.now(),Date.now()]):(g&&g.sort&&g.sort(),"function"==typeof c&&c.call(this,f,g))}}};var g=/^v[0-5]\./;if("v0.8"===process.version.substr(0,4)){var j=i(a);q=j.ReadStream,r=j.WriteStream}var k=a.ReadStream;k&&(q.prototype=Object.create(k.prototype),q.prototype.open=function(){var a=this;t(a.path,a.flags,a.mode,function(b,c){b?(a.autoClose&&a.destroy(),a.emit("error",b)):(a.fd=c,a.emit("open",c),a.read())})});var l=a.WriteStream;l&&(r.prototype=Object.create(l.prototype),r.prototype.open=function(){var a=this;t(a.path,a.flags,a.mode,function(b,c){b?(a.destroy(),a.emit("error",b)):(a.fd=c,a.emit("open",c))})}),Object.defineProperty(a,"ReadStream",{get:function(){return q},set:function(a){q=a},enumerable:!0,configurable:!0}),Object.defineProperty(a,"WriteStream",{get:function(){return r},set:function(a){r=a},enumerable:!0,configurable:!0});var m=q;Object.defineProperty(a,"FileReadStream",{get:function(){return m},set:function(a){m=a},enumerable:!0,configurable:!0});var p=r;function q(a,b){return this instanceof q?(k.apply(this,arguments),this):q.apply(Object.create(q.prototype),arguments)}function r(a,b){return this instanceof r?(l.apply(this,arguments),this):r.apply(Object.create(r.prototype),arguments)}Object.defineProperty(a,"FileWriteStream",{get:function(){return p},set:function(a){p=a},enumerable:!0,configurable:!0});var s=a.open;function t(a,b,c,d){return"function"==typeof c&&(d=c,c=null),function a(b,c,d,e,f){return s(b,c,d,function(g,h){g&&("EMFILE"===g.code||"ENFILE"===g.code)?o([a,[b,c,d,e],g,f||Date.now(),Date.now()]):"function"==typeof e&&e.apply(this,arguments)})}(a,b,c,d)}return a.open=t,a}function o(a){m("ENQUEUE",a[0].name,a[1]),g[d].push(a),q()}function p(){for(var a=Date.now(),b=0;b<g[d].length;++b)g[d][b].length>2&&(g[d][b][3]=a,g[d][b][4]=a);q()}function q(){if(clearTimeout(f),f=void 0,0!==g[d].length){var a=g[d].shift(),b=a[0],c=a[1],e=a[2],h=a[3],i=a[4];if(void 0===h)m("RETRY",b.name,c),b.apply(null,c);else if(Date.now()-h>=6e4){m("TIMEOUT",b.name,c);var j=c.pop();"function"==typeof j&&j.call(null,e)}else Date.now()-i>=Math.min(1.2*Math.max(i-h,1),100)?(m("RETRY",b.name,c),b.apply(null,c.concat([h]))):g[d].push(a);void 0===f&&(f=setTimeout(q,0))}}k.debuglog?m=k.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(m=function(){var a=k.format.apply(k,arguments);console.error(a="GFS4: "+a.split(/\n/).join("\nGFS4: "))}),!g[d]&&(l(g,global[d]||[]),g.close=function(a){function b(b,c){return a.call(g,b,function(a){a||p(),"function"==typeof c&&c.apply(this,arguments)})}return Object.defineProperty(b,e,{value:a}),b}(g.close),g.closeSync=function(a){function b(b){a.apply(g,arguments),p()}return Object.defineProperty(b,e,{value:a}),b}(g.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){m(g[d]),c(12412).equal(g[d].length,0)})),global[d]||l(global,g[d]),a.exports=n(j(g)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!g.__patched&&(a.exports=n(g),g.__patched=!0)},96515:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>k});var e=c(75430),f=c(80723),g=c(32982),h=a([e,f]);[e,f]=h.then?(await h)():h;let m=null;async function i(a){let b=Date.now();if(m&&b-m.at<6e4)return m.data;let c=await a.getAvailable();return m={data:c,at:b},c}function j(a,b){return a.provider===b.provider&&a.id===b.modelId}async function k(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let j=(b??[]).map(a=>a.trim()).filter(Boolean),l=[],m=[],n={},o=[];if(0===j.length)l=await i(a);else{let b=await (0,e.resolveModelScopeWithDiagnostics)(j,a);for(let c of(m=b.scopedModels,l=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await i(a),o.push(...b.diagnostics.map(a=>a.message)),m))c.thinkingLevel&&(n[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(l=l.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:l,scopedModels:c.includeHidden||l.length===m.length?m:m.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:n,warnings:o}}function l(a,b={}){let c=b.requestedModel?a.visible.find(a=>j(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>j(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>j(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>j(a,b.defaultModel)),h=c??f?.model??g,i=d??f,k=b.thinkingLevel??i?.thinkingLevel;return{...h?{model:h}:{},...k?{thinkingLevel:k}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},97563:(a,b,c)=>{"use strict";c.d(b,{MJ:()=>k,Md:()=>g,UY:()=>h,g0:()=>j,wI:()=>i});let d="normal",e="full",f="auto";function g(){return{collaborationMode:d,tokenMode:e,toolApprovalMode:f,permissionRules:{allow:[],ask:[],deny:[]}}}function h(a){return"normal"===a||"plan"===a||"goal"===a?a:d}function i(a){return"economy"===a||"delivery"===a||"full"===a?a:e}function j(a){return"ask"===a||"auto"===a||"yolo"===a?a:f}let k=new Set(["read","grep","find","ls","bash_output","get_tools","get_commands","get_session_stats"])}};
|
|
22
|
+
${f}`:""));return await C.send({type:"prompt",message:E}),!0}catch(e){let c=e instanceof Error?e.message:String(e),d=(0,i._o)(b,a);return d&&("preparing"===d.status||"queued"===d.status)&&(q(a,d.runSeq,[d.status],"failed",{failureReason:"setup_error",lastError:c,settledAt:o(),finishedAt:o()}),(0,i.Q1)(b,{taskId:a,kind:"failed",actor:"engine",payload:{reason:"setup_error",message:c}})),!1}finally{c.launching.delete(a)}}async function u(a,b){try{let c=(await (0,h.P9)(a)).find(a=>a.branch===b);return c?.path??null}catch{return null}}async function v(a,b){let c=`task-${a.id}`,{session:d}=await (0,j.OF)(c,"",b,{});return{session:d}}async function w(a,b){let c=m().live.get(a.connectionId);if(!c||c.taskId!==a.taskId||!q(a.taskId,a.runSeq,["running","awaiting_input"],"review",{settledAt:o()}))return;(0,i.Q1)(b.projectRoot,{taskId:a.taskId,kind:"review",actor:"engine"});let d=(0,i.Rv)(b.projectRoot);d.preflightCommand&&await x(a,d.preflightCommand)}async function x(a,b){let c=(0,i._o)(a.projectRoot,a.taskId);if(c){p({...c,preflight:{status:"running",command:b}},"preflight_start","engine",{command:b});try{let c=await z(a.session.cwd,b),d=(0,i._o)(a.projectRoot,a.taskId);if(!d)return;p({...d,preflight:{status:0===c.code?"passed":"failed",command:b,exitCode:c.code,outputTail:0===c.code?null:c.output.slice(-4e3)}},0===c.code?"preflight_passed":"preflight_failed","engine",{command:b,exitCode:c.code})}catch(d){let c=(0,i._o)(a.projectRoot,a.taskId);if(!c)return;p({...c,preflight:{status:"failed",command:b,outputTail:d instanceof Error?d.message:String(d)}},"preflight_failed","engine",{command:b})}}}function y(a,b){return new Promise((c,d)=>{let e=(0,g.spawn)(b,{cwd:a,shell:!0,stdio:"ignore"});e.on("error",d),e.on("exit",a=>{0===a?c():d(Error(`init command exited with code ${a??"null"}`))})})}function z(a,b){return new Promise(c=>{let d=(0,g.spawn)(b,{cwd:a,shell:!0}),e="";d.stdout?.on("data",a=>{e+=a.toString()}),d.stderr?.on("data",a=>{e+=a.toString()}),d.on("error",()=>c({code:1,output:e})),d.on("exit",a=>c({code:a,output:e}))})}function A(a){return"/"+a.split("--").map(a=>decodeURIComponent(a)).join("/")}async function B(){try{await C()}catch{}}async function C(){let a=m();if(!a)return;let b=(0,i.z1)("__engine__").replace(/__engine__$/,"");if((0,e.existsSync)(b))for(let c of(0,e.readdirSync)(b,{withFileTypes:!0})){if(!c.isDirectory()||"__engine__"===c.name)continue;let b=A(c.name);for(let c of(0,i.h6)(b)){let d=a.byTask.get(c.id);d||"running"!==c.status&&"awaiting_input"!==c.status&&"merging"!==c.status?d||"preparing"!==c.status||(q(c.id,c.runSeq,["preparing"],"todo",{startedAt:null}),(0,i.Q1)(b,{taskId:c.id,kind:"recovered",actor:"engine"})):(q(c.id,c.runSeq,[c.status],"failed",{failureReason:"interrupted",lastError:"Engine restarted; the run was interrupted.",settledAt:o(),finishedAt:o()}),(0,i.Q1)(b,{taskId:c.id,kind:"interrupted",actor:"engine"}))}l()&&r(b)}}d()}catch(a){d(a)}})},15253:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>h,Y1:()=>g});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},16176:a=>{"use strict";let b=Symbol();a.exports.probe=function(a,c,d){let e=c[b];if(e)return c.stat(a,(a,b)=>{if(a)return d(a);d(null,b.mtime,e)});let f=new Date(1e3*Math.ceil(Date.now()/1e3)+5);c.utimes(a,f,f,e=>{if(e)return d(e);c.stat(a,(a,e)=>{if(a)return d(a);let f=e.mtime.getTime()%1e3==0?"s":"ms";Object.defineProperty(c,b,{value:f}),d(null,e.mtime,f)})})},a.exports.getMtime=function(a){let b=Date.now();return"s"===a&&(b=1e3*Math.ceil(b/1e3)),new Date(b)}},17114:(a,b,c)=>{"use strict";c.d(b,{Gc:()=>g,ov:()=>h,pj:()=>i,wx:()=>j});var d=c(55511),e=c(29021);function f(a){return`${a}.queue.json`}function g(a,b,c){return{id:(0,d.randomUUID)(),kind:a,text:b,...c&&c.length>0?{images:c}:{},queuedAt:Date.now()}}function h(a){let b=f(a);if(!(0,e.existsSync)(b))return[];try{let a=JSON.parse((0,e.readFileSync)(b,"utf8"));if(!a||1!==a.version||!Array.isArray(a.entries))return[];return a.entries.filter(a=>!!a&&("steer"===a.kind||"followUp"===a.kind)&&"string"==typeof a.text)}catch{return[]}}function i(a,b){if(!a)return;let c=f(a),g=`${c}.tmp-${process.pid}-${(0,d.randomUUID)()}`;try{(0,e.writeFileSync)(g,JSON.stringify({version:1,entries:b}),"utf8"),(0,e.renameSync)(g,c)}catch(a){try{(0,e.rmSync)(g,{force:!0})}catch{}console.error(`[pi-web] failed to persist queue sidecar ${c}:`,a instanceof Error?a.message:String(a))}}function j(a){try{(0,e.rmSync)(f(a),{force:!0})}catch{}}},18437:(a,b,c)=>{"use strict";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(!function(a){var b;if(!a||"object"!=typeof a||"image"!==a.type||"string"!=typeof a.data||"string"!=typeof a.mimeType||(b=a.mimeType,!/^image\/[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]*$/.test(b)))return!1;let c=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b,d=null;for(let b=0;b<c;b+=1){var e;let c=(e=a.charCodeAt(b))>=65&&e<=90?e-65:e>=97&&e<=122?e-97+26:e>=48&&e<=57?e-48+52:43===e?62:47===e?63:null;if(null===c)return null;d=c}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return 2===b&&d%16!=0||1===b&&d%4!=0?null:a.length/4*3-b}(a.data);return null!==c&&c<=0xa00000}(b))return"Each image must be valid base64 image data with an image MIME type and be 10MB or smaller";return null}c.d(b,{kc:()=>d})},18827:(a,b,c)=>{var d=c(27910).Stream;a.exports=function(a){return{ReadStream:function b(c,e){if(!(this instanceof b))return new b(c,e);d.call(this);var f=this;this.path=c,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536;for(var g=Object.keys(e=e||{}),h=0,i=g.length;h<i;h++){var j=g[h];this[j]=e[j]}if(this.encoding&&this.setEncoding(this.encoding),void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(void 0===this.end)this.end=1/0;else if("number"!=typeof this.end)throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}null!==this.fd?process.nextTick(function(){f._read()}):a.open(this.path,this.flags,this.mode,function(a,b){if(a){f.emit("error",a),f.readable=!1;return}f.fd=b,f.emit("open",b),f._read()})},WriteStream:function b(c,e){if(!(this instanceof b))return new b(c,e);d.call(this),this.path=c,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0;for(var f=Object.keys(e=e||{}),g=0,h=f.length;g<h;g++){var i=f[g];this[i]=e[i]}if(void 0!==this.start){if("number"!=typeof this.start)throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}this.busy=!1,this._queue=[],null===this.fd&&(this._open=a.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush())}}}},29040:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{wF:()=>p});var e=c(73024),f=c(76760),g=c(75430),h=c(12969),i=a([g]);g=(i.then?(await i)():i)[0];let q=new Set([400,401,402,403,404,406,408,409,413,422,429,451,500,502,503,504]),r=new Set(["opencode-zen-external","opencode-zen-switch","opencode-zen-runtime","opencode-zen-sync"]);function j(){return(0,f.join)((0,g.getAgentDir)(),"pi-web-error-log.json")}function k(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"string"==typeof a.id&&"string"==typeof a.timestamp&&("error"===a.level||"warning"===a.level||"info"===a.level)&&"string"==typeof a.source&&"string"==typeof a.message}function l(a){return a.replace(/https?:\/\/[^\s/@]+:[^\s/@]+@/gi,"https://[redacted]@").replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/gi,"Bearer [redacted]").replace(/\bsk-[A-Za-z0-9_-]{8,}\b/g,"sk-[redacted]").replace(/\b(?:oc|opencode|zen)[_-]?[A-Za-z0-9._~-]{12,}\b/gi,"[key-redacted]").replace(/((?:api[_-]?key|token|password|secret)\s*[:=]\s*)([^\s,;]+)/gi,"$1[redacted]")}function m(a){return a.length>2e4?`${a.slice(0,2e4)}…`:a}function n(a){let b=a.match(/\bHTTP\s+(\d{3})\b|\bstatus(?:\s+code)?\s*[:=]?\s*(\d{3})\b|\b(4\d{2}|5\d{2})\b/i),c=Number(b?.[1]??b?.[2]??b?.[3]);return q.has(c)?c:void 0}function o(a){try{(0,h.$)(j(),JSON.stringify(a,null,2))}catch{}}function p(a){let b=function(){globalThis.__piErrorLogState||(globalThis.__piErrorLogState={loaded:!1,entries:[]});let a=globalThis.__piErrorLogState;if(!a.loaded){a.loaded=!0;try{if((0,e.existsSync)(j())){let b=JSON.parse((0,e.readFileSync)(j(),"utf8"));if(Array.isArray(b)){let c=b.filter(k).slice(-500),d=c.filter(a=>!r.has(a.source));d.length!==c.length&&o(d),a.entries=d}}}catch{a.entries=[]}}return a}(),c=m(l(a.message.trim())),d=a.details?m(l(a.details)):void 0,f={id:`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,timestamp:new Date().toISOString(),level:a.level??"error",source:a.source??"unknown",...void 0!==a.statusCode?{statusCode:a.statusCode}:void 0!==n(c)?{statusCode:n(c)}:{},...a.provider?{provider:a.provider}:{},...a.model?{model:a.model}:{},...a.sessionId?{sessionId:a.sessionId}:{},message:c||"Unknown error",...d?{details:d}:{}};return b.entries.push(f),b.entries.length>500&&b.entries.splice(0,b.entries.length-500),o(b.entries),f}d()}catch(a){d(a)}})},30116:(a,b,c)=>{"use strict";c.d(b,{LD:()=>m,kP:()=>o,ni:()=>n});var d=c(97563);function e(a){if(!a)return[];let b=[];for(let c of a){let a=function(a){let b=a.trim();if(!b)return null;let c=b.indexOf("="),d=b.indexOf("(");if(c>0&&(d<0||c<d)){let a=b.slice(0,c).trim();return a?{tool:a,subject:b.slice(c+1),literal:!0}:null}if(d>=0&&b.endsWith(")")){let a=b.slice(0,d).trim();return a?{tool:a,subject:b.slice(d+1,-1)}:null}return{tool:b}}(c);a&&b.push(a)}return b}function f(a){return void 0===a.subject?a.tool:a.literal?`${a.tool}=${a.subject}`:`${a.tool}(${a.subject})`}function g(a){return a.includes("*")||a.includes("?")}function h(a,b){return void 0===b.subject||""!==a&&(b.literal||!g(b.subject)?a===b.subject:(function(a){let b="^";for(let c of a)"*"===c?b+=".*":"?"===c?b+=".":b+=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return RegExp(b+"$")})(b.subject).test(a))}function i(a,b){return a.toLowerCase()===b.toLowerCase()}function j(a,b,c){for(let d of a)if(i(d.tool,b)&&h(c,d))return!0;return!1}function k(a){let b=a.trim();return!!b&&!!(/\$\(/.test(b)||/`/.test(b)||/(^|\s)(python|python3|node|ruby|perl|php)\s+-[a-z]*c(\s|$)/i.test(b)||/(^|\s)(sh|bash|zsh)\s+-c(\s|$)/i.test(b)||/(^|\s)(sudo|su)\s/i.test(b)||/;\s*[a-z]/i.test(b)||/\|\s*(sh|bash|zsh|python|python3|node)\b/i.test(b)||/\|\s*tee\b/i.test(b))}let l=["ls","cat","head","tail","grep","rg","find","wc","echo","pwd","cd","git status","git diff","git log","git branch","git remote","git stash list","git show","git ls-files","which","type","env","file","stat","du","df","history","man","less","more","tree","git diff --","git log --","curl -I","curl --head"];function m(a,b,c={}){let e=c.mode??"auto",f=c.readOnly??d.MJ.has(b.toLowerCase()),n=function(a,b){if("bash"===a.toLowerCase()){let a=b?.command;return"string"==typeof a&&a.trim()?`command:${a.trim()}`:""}let c=b??{},d="string"==typeof c.source_path?c.source_path:"",e="string"==typeof c.destination_path?c.destination_path:"";if(d&&e)return e!==d?`${d}\u0000${e}`:d;for(let a of["path","file_path","file","glob","pattern","directory"]){let b=c[a];if("string"==typeof b&&b)return b}return""}(b,c.args),o="bash"===b.toLowerCase(),p=o&&n.startsWith("command:")?n.slice(8):"";if(j(a.deny,b,n))return"deny";if(o&&p){let c=k(p);return j(a.allow,b,n)&&!c?"allow":j(a.ask,b,n)?"ask":c?a.allow.some(a=>i(a.tool,b)&&void 0!==a.subject&&!g(a.subject)&&h(n,a))||"yolo"===e?"allow":"ask":!function(a){let b=a.trim();if(!b||k(b)||/[;&|>]/.test(b))return!1;let c=b.toLowerCase();for(let a of l)if(c===a||c.startsWith(a+" "))return!0;return!1}(p)?"ask"===e?"ask":"allow":"allow"}return j(a.allow,b,n)?"allow":j(a.ask,b,n)?"ask":f?"allow":"ask"===e?"ask":"allow"}function n(a){return{allow:e(a?.allow),ask:e(a?.ask),deny:e(a?.deny)}}function o(a){return{allow:a.allow.map(f),ask:a.ask.map(f),deny:a.deny.map(f)}}},30223:a=>{a.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&a.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&a.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")},32982:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){let b=function(a){let b={},c=a?.models;if(!Array.isArray(c))return b;for(let a of c)d(a)&&"string"==typeof a.id&&a.id&&(b[a.id]={...a});return b}(a),c=function(a){let b=a?.modelOverrides;if(!d(b))return{};let c={};for(let[a,e]of Object.entries(b))d(e)&&(c[a]={...e});return c}(a),e=new Set([...Object.keys(b),...Object.keys(c)]),f={};for(let a of e)f[a]={...b[a]??{},...c[a]??{}};return f}c.d(b,{du:()=>e})},39466:(a,b,c)=>{var d=c(81115),e=process.cwd,f=null,g=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){return f||(f=e.call(process)),f};try{process.cwd()}catch(a){}if("function"==typeof process.chdir){var h=process.chdir;process.chdir=function(a){f=null,h.call(process,a)},Object.setPrototypeOf&&Object.setPrototypeOf(process.chdir,h)}a.exports=function(a){var b,c,e;function f(b){return b?function(c,d,e){return b.call(a,c,d,function(a){m(a)&&(a=null),e&&e.apply(this,arguments)})}:b}function h(b){return b?function(c,d){try{return b.call(a,c,d)}catch(a){if(!m(a))throw a}}:b}function i(b){return b?function(c,d,e,f){return b.call(a,c,d,e,function(a){m(a)&&(a=null),f&&f.apply(this,arguments)})}:b}function j(b){return b?function(c,d,e){try{return b.call(a,c,d,e)}catch(a){if(!m(a))throw a}}:b}function k(b){return b?function(c,d,e){function f(a,b){b&&(b.uid<0&&(b.uid+=0x100000000),b.gid<0&&(b.gid+=0x100000000)),e&&e.apply(this,arguments)}return"function"==typeof d&&(e=d,d=null),d?b.call(a,c,d,f):b.call(a,c,f)}:b}function l(b){return b?function(c,d){var e=d?b.call(a,c,d):b.call(a,c);return e&&(e.uid<0&&(e.uid+=0x100000000),e.gid<0&&(e.gid+=0x100000000)),e}:b}function m(a){return!a||"ENOSYS"===a.code||(!process.getuid||0!==process.getuid())&&("EINVAL"===a.code||"EPERM"===a.code)}d.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)&&((c=a).lchmod=function(a,b,e){c.open(a,d.O_WRONLY|d.O_SYMLINK,b,function(a,d){if(a){e&&e(a);return}c.fchmod(d,b,function(a){c.close(d,function(b){e&&e(a||b)})})})},c.lchmodSync=function(a,b){var e,f=c.openSync(a,d.O_WRONLY|d.O_SYMLINK,b),g=!0;try{e=c.fchmodSync(f,b),g=!1}finally{if(g)try{c.closeSync(f)}catch(a){}else c.closeSync(f)}return e}),a.lutimes||(e=a,d.hasOwnProperty("O_SYMLINK")&&e.futimes?(e.lutimes=function(a,b,c,f){e.open(a,d.O_SYMLINK,function(a,d){if(a){f&&f(a);return}e.futimes(d,b,c,function(a){e.close(d,function(b){f&&f(a||b)})})})},e.lutimesSync=function(a,b,c){var f,g=e.openSync(a,d.O_SYMLINK),h=!0;try{f=e.futimesSync(g,b,c),h=!1}finally{if(h)try{e.closeSync(g)}catch(a){}else e.closeSync(g)}return f}):e.futimes&&(e.lutimes=function(a,b,c,d){d&&process.nextTick(d)},e.lutimesSync=function(){})),a.chown=i(a.chown),a.fchown=i(a.fchown),a.lchown=i(a.lchown),a.chmod=f(a.chmod),a.fchmod=f(a.fchmod),a.lchmod=f(a.lchmod),a.chownSync=j(a.chownSync),a.fchownSync=j(a.fchownSync),a.lchownSync=j(a.lchownSync),a.chmodSync=h(a.chmodSync),a.fchmodSync=h(a.fchmodSync),a.lchmodSync=h(a.lchmodSync),a.stat=k(a.stat),a.fstat=k(a.fstat),a.lstat=k(a.lstat),a.statSync=l(a.statSync),a.fstatSync=l(a.fstatSync),a.lstatSync=l(a.lstatSync),a.chmod&&!a.lchmod&&(a.lchmod=function(a,b,c){c&&process.nextTick(c)},a.lchmodSync=function(){}),a.chown&&!a.lchown&&(a.lchown=function(a,b,c,d){d&&process.nextTick(d)},a.lchownSync=function(){}),"win32"===g&&(a.rename="function"!=typeof a.rename?a.rename:function(b){function c(c,d,e){var f=Date.now(),g=0;b(c,d,function h(i){if(i&&("EACCES"===i.code||"EPERM"===i.code||"EBUSY"===i.code)&&Date.now()-f<6e4){setTimeout(function(){a.stat(d,function(a,f){a&&"ENOENT"===a.code?b(c,d,h):e(i)})},g),g<100&&(g+=10);return}e&&e(i)})}return Object.setPrototypeOf&&Object.setPrototypeOf(c,b),c}(a.rename)),a.read="function"!=typeof a.read?a.read:function(b){function c(c,d,e,f,g,h){var i;if(h&&"function"==typeof h){var j=0;i=function(k,l,m){if(k&&"EAGAIN"===k.code&&j<10)return j++,b.call(a,c,d,e,f,g,i);h.apply(this,arguments)}}return b.call(a,c,d,e,f,g,i)}return Object.setPrototypeOf&&Object.setPrototypeOf(c,b),c}(a.read),a.readSync="function"!=typeof a.readSync?a.readSync:(b=a.readSync,function(c,d,e,f,g){for(var h=0;;)try{return b.call(a,c,d,e,f,g)}catch(a){if("EAGAIN"===a.code&&h<10){h++;continue}throw a}})}},44290:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{lN:()=>j});var e=c(74986),f=c(97563),g=c(30116),h=a([e]);function i(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=a.permissionRules,c=(0,g.kP)((0,g.ni)(b));return{collaborationMode:(0,f.UY)(a.collaborationMode),tokenMode:(0,f.wI)(a.tokenMode),toolApprovalMode:(0,f.g0)(a.toolApprovalMode),permissionRules:{allow:Array.isArray(c.allow)?c.allow:[],ask:Array.isArray(c.ask)?c.ask:[],deny:Array.isArray(c.deny)?c.deny:[]}}}function j(a){let b=(0,f.Md)(),c=(0,e.Tu)();if(a){let b=c.modesPerSession;if(b&&"object"==typeof b&&!Array.isArray(b)){let c=i(b[a]);if(c)return c}}return i(c.modes)??b}e=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},45399:(a,b,c)=>{"use strict";c.d(b,{ZUJ:()=>g});var d,e,f={};c.r(f),c.d(f,{ExtendsFalse:()=>db,ExtendsTrue:()=>c9,ExtendsUnion:()=>c7,IsExtendsFalse:()=>dc,IsExtendsTrue:()=>da,IsExtendsTrueLike:()=>dd,IsExtendsUnion:()=>c8,Match:()=>de});var g={};c.r(g),c.d(g,{Any:()=>T,Array:()=>I,BigInt:()=>aJ,Boolean:()=>aL,Call:()=>dP,Capitalize:()=>dT,Codec:()=>ax,Conditional:()=>d7,Constructor:()=>L,ConstructorParameters:()=>ea,Cyclic:()=>ad,Decode:()=>ay,DecodeBuilder:()=>aw,Dependent:()=>ak,Encode:()=>az,EncodeBuilder:()=>av,Enum:()=>an,Evaluate:()=>fi,Exclude:()=>ed,Extends:()=>dF,ExtendsResult:()=>f,Extract:()=>eg,Function:()=>N,Generic:()=>R,Identifier:()=>aN,Immutable:()=>aB,Index:()=>ek,Infer:()=>ai,InstanceType:()=>ez,Instantiate:()=>ff,Integer:()=>aQ,Interface:()=>dw,Intersect:()=>ap,IsAny:()=>U,IsArray:()=>J,IsBigInt:()=>aK,IsBoolean:()=>aM,IsCall:()=>dQ,IsCodec:()=>aA,IsConstructor:()=>M,IsCyclic:()=>ae,IsDependent:()=>al,IsEnum:()=>ao,IsEnumValue:()=>am,IsFunction:()=>O,IsGeneric:()=>S,IsIdentifier:()=>aO,IsImmutable:()=>aC,IsInfer:()=>aj,IsInteger:()=>aR,IsIntersect:()=>aq,IsKind:()=>C,IsLiteral:()=>aV,IsNever:()=>W,IsNull:()=>aX,IsNumber:()=>a$,IsObject:()=>aa,IsOptional:()=>$,IsParameter:()=>a2,IsReadonly:()=>aG,IsRecord:()=>bC,IsRef:()=>Q,IsRefine:()=>aI,IsRest:()=>bE,IsSchema:()=>D,IsString:()=>a4,IsSymbol:()=>a0,IsTemplateLiteral:()=>c6,IsThis:()=>bG,IsTuple:()=>bd,IsUndefined:()=>bI,IsUnion:()=>a6,IsUnknown:()=>ac,IsUnsafe:()=>ag,IsVoid:()=>bK,KeyOf:()=>eC,Literal:()=>aT,Lowercase:()=>dV,Mapped:()=>eF,Module:()=>fj,Never:()=>V,NonNullable:()=>eJ,Null:()=>aW,Number:()=>aZ,Object:()=>_,Omit:()=>eM,Optional:()=>Z,Parameter:()=>a1,Parameters:()=>eQ,Partial:()=>eT,Pick:()=>eW,Readonly:()=>aF,ReadonlyObject:()=>eZ,ReadonlyType:()=>e$,Record:()=>bx,RecordKey:()=>bA,RecordPattern:()=>bz,RecordValue:()=>bB,Ref:()=>P,Refine:()=>aH,Required:()=>e1,Rest:()=>bD,ReturnType:()=>e4,Script:()=>fk,String:()=>a3,Symbol:()=>a_,TemplateLiteral:()=>c5,This:()=>bF,Tuple:()=>bc,Uncapitalize:()=>dX,Undefined:()=>bH,Union:()=>a5,Unknown:()=>ab,Unsafe:()=>af,Uppercase:()=>dZ,Void:()=>bJ,With:()=>e7});let h={assign:0,create:0,clone:0,discard:0,update:0};function i(a,b){return h.assign+=1,{...a,...b}}function j(a){return Array.isArray(a)}function k(a){return"bigint"==typeof a}function l(a){return"boolean"==typeof a}function m(a){return"function"==typeof a}function n(a){return null===a}function o(a){return Number.isFinite(a)}function p(a){return q(a)&&!j(a)}function q(a){return"object"==typeof a&&!n(a)}function r(a){return"string"==typeof a}function s(a,b,c){return 0===a.length?c():b(a[0],a.slice(1))}function t(a){return"__proto__"===a||"constructor"===a||"prototype"===a}function u(a,b){return t(b)?Object.prototype.hasOwnProperty.call(a,b):b in a}function v(a){return Object.getOwnPropertyNames(a)}function w(a){return Object.values(a)}function x(a){return h.clone+=1,function a(b){return globalThis.ArrayBuffer.isView(b)?b.slice():b instanceof globalThis.RegExp?new RegExp(b.source,b.flags):b instanceof globalThis.Map?new Map(a([...b.entries()])):b instanceof globalThis.Set?new Set(a([...b.values()])):j(b)?b.map(b=>a(b)):q(b)?function(b){return!function(a){if(!q(a))return!1;let b=globalThis.Object.getPrototypeOf(a);return!n(b)&&"function"==typeof b.constructor&&b.constructor!==globalThis.Object&&"Object"!==b.constructor.name}(b)?u(b,"~kind")||u(b,"~unsafe")?function(b){let c={},d=Object.getOwnPropertyDescriptors(b);for(let b of Object.keys(d)){if(t(b))continue;let e=d[b];u(e,"value")&&Object.defineProperty(c,b,{...e,value:a(e.value)})}return c}(b):function(b){let c={};for(let d of v(b))t(d)||(c[d]=a(b[d]));for(let d of Object.getOwnPropertySymbols(b))c[d]=a(b[d]);return c}(b):b}(b):b}(a)}let y={immutableTypes:!1,maxErrors:8,useAcceleration:!0,exactOptionalPropertyTypes:!1,enumerableKind:!1,correctiveParse:!1,unionPrioritySort:!0};function z(a,b,c={}){h.create+=1;let d={...b,...c},e=y.enumerableKind?{...d,...a}:function(a,b){for(let c of Object.keys(b))Object.defineProperty(a,c,{configurable:!0,writable:!0,enumerable:!1,value:b[c]});return a}(d,a);return y.immutableTypes?Object.freeze(e):e}function A(a,b){h.discard+=1;let c={},d=Object.getOwnPropertyDescriptors(x(a)),e=new Set(b);for(let a of Object.keys(d))e.has(a)||Object.defineProperty(c,a,d[a]);return c}function B(a,b,c){h.update+=1;let d=x(a);for(let a of Object.keys(b))Object.defineProperty(d,a,{configurable:!0,writable:!0,enumerable:y.enumerableKind,value:b[a]});for(let a of Object.keys(c))Object.defineProperty(d,a,{configurable:!0,enumerable:!0,writable:!0,value:c[a]});return d}function C(a,b){return q(a)&&u(a,"~kind")&&a["~kind"]===b}function D(a){return q(a)}function E(a,b,c){return z({"~kind":"Deferred"},{type:"deferred",action:a,parameters:b,options:c},{})}function F(a){return C(a,"Deferred")}function G(a,b){return B(B(a,{"~readonly":!0},{}),{},b)}function H(a,b){return B(B(a,{"~optional":!0},{}),{},b)}function I(a,b){return z({"~kind":"Array"},{type:"array",items:a},b)}function J(a){return C(a,"Array")}function K(a){return A(a,["~kind","type","items"])}function L(a,b,c={}){return z({"~kind":"Constructor"},{type:"constructor",parameters:a,instanceType:b},c)}function M(a){return C(a,"Constructor")}function N(a,b,c={}){return z({"~kind":"Function"},{type:"function",parameters:a,returnType:b},c)}function O(a){return C(a,"Function")}function P(a,b){return z({"~kind":"Ref"},{$ref:a},b)}function Q(a){return C(a,"Ref")}function R(a,b){return z({"~kind":"Generic"},{type:"generic",parameters:a,expression:b})}function S(a){return C(a,"Generic")}function T(a){return z({"~kind":"Any"},{},a)}function U(a){return C(a,"Any")}function V(a){return z({"~kind":"Never"},{not:{}},a)}function W(a){return C(a,"Never")}function X(a,b={}){return E("AddOptional",[a],b)}function Y(a,b={}){return H(a,b)}function Z(a){return Y(a)}function $(a){return q(a)&&u(a,"~optional")}function _(a,b={}){let c=v(a).filter(b=>!$(a[b]));return z({"~kind":"Object"},{type:"object",...c.length>0?{required:c}:{},properties:a},b)}function aa(a){return C(a,"Object")}function ab(a){return z({"~kind":"Unknown"},{},a)}function ac(a){return C(a,"Unknown")}function ad(a,b,c){return z({"~kind":"Cyclic"},{$defs:v(a).reduce((b,c)=>({...b,[c]:B(a[c],{},{$id:c})}),{}),$ref:b},c)}function ae(a){return C(a,"Cyclic")}function af(a){return B(a,{"~unsafe":null},{})}function ag(a){return p(a)&&u(a,"~unsafe")&&n(a["~unsafe"])}function ah(a,b){return b[a.length]?.(...a)??(()=>{throw Error("Invalid Arguments")})()}function ai(...a){let[b,c]=ah(a,{2:(a,b)=>[a,b,b],1:a=>[a,ab(),ab()]});return z({"~kind":"Infer"},{type:"infer",name:b,extends:c},{})}function aj(a){return C(a,"Infer")}function ak(a,b,c,d={}){return z({"~kind":"Dependent"},{if:a,then:b,else:c},d)}function al(a){return C(a,"Dependent")}function am(a){return r(a)||o(a)}function an(a,b){return z({"~kind":"Enum"},{enum:p(a)?v(a).filter(a=>isNaN(a)).reduce((b,c)=>[...b,a[c]],[]):a},b)}function ao(a){return C(a,"Enum")}function ap(a,b={}){return z({"~kind":"Intersect"},{allOf:a},b)}function aq(a){return C(a,"Intersect")}(d=e||(e={}))[d.Array=0]="Array",d[d.BigInt=1]="BigInt",d[d.Boolean=2]="Boolean",d[d.Date=3]="Date",d[d.Constructor=4]="Constructor",d[d.Function=5]="Function",d[d.Null=6]="Null",d[d.Number=7]="Number",d[d.Object=8]="Object",d[d.RegExp=9]="RegExp",d[d.String=10]="String",d[d.Symbol=11]="Symbol",d[d.TypeArray=12]="TypeArray",d[d.Undefined=13]="Undefined",BigInt("14695981039346656037");let[ar,as]=[BigInt("1099511628211"),BigInt("18446744073709551616")];Array.from({length:256}).map((a,b)=>BigInt(b));let at=new Float64Array(1);function au(){throw Error("Unreachable")}new DataView(at.buffer),new Uint8Array(at.buffer),new TextEncoder;class av{constructor(a,b){this.type=a,this.decode=b}Encode(a){let b=this.type,c=aA(b)?a=>this.decode(b["~codec"].decode(a)):this.decode,d=aA(b)?c=>b["~codec"].encode(a(c)):a;return B(this.type,{"~codec":{decode:c,encode:d}},{})}}class aw{constructor(a){this.type=a}Decode(a){return new av(this.type,a)}}function ax(a){return new aw(a)}function ay(a,b){return ax(a).Decode(b).Encode(()=>{throw Error("Encode not implemented")})}function az(a,b){return ax(a).Decode(()=>{throw Error("Decode not implemented")}).Encode(b)}function aA(a){return q(a)&&u(a,"~codec")&&q(a["~codec"])&&u(a["~codec"],"encode")&&u(a["~codec"],"decode")}function aB(a){return fh(a)}function aC(a){return q(a)&&u(a,"~immutable")}function aD(a,b={}){return E("AddReadonly",[a],b)}function aE(a,b={}){return G(a,b)}function aF(a){return aE(a)}function aG(a){return q(a)&&u(a,"~readonly")}function aH(...a){var b;let c,[d,e,f]=ah(a,{3:(a,b,c)=>[a,b,c],2:(a,b)=>[a,b,()=>"Refine Error"]});return b={check:e,error:f},c=aI(d)?[...d["~refine"],b]:[b],B(d,{"~refine":c},{})}function aI(a){return q(a)&&u(a,"~refine")&&j(a["~refine"])&&function(a,b){for(let c=0;c<a.length;c++)if(!b(a[c],c))return!1;return!0}(a["~refine"],a=>p(a)&&u(a,"check")&&u(a,"error")&&m(a.check)&&m(a.error))}function aJ(a){return z({"~kind":"BigInt"},{type:"bigint"},a)}function aK(a){return C(a,"BigInt")}function aL(a){return z({"~kind":"Boolean"},{type:"boolean"},a)}function aM(a){return C(a,"Boolean")}function aN(a){return z({"~kind":"Identifier"},{name:a})}function aO(a){return C(a,"Identifier")}let aP="-?(?:0|[1-9][0-9]*)";function aQ(a){return z({"~kind":"Integer"},{type:"integer"},a)}function aR(a){return C(a,"Integer")}class aS extends Error{constructor(a){super("Invalid Literal value"),Object.defineProperty(this,"cause",{value:{value:a},writable:!1,configurable:!1,enumerable:!1})}}function aT(a,b){return z({"~kind":"Literal"},{type:k(a)?"bigint":l(a)?"boolean":o(a)?"number":r(a)?"string":(()=>{throw new aS(a)})(),const:a},b)}function aU(a){return k(a)||l(a)||o(a)||r(a)}function aV(a){return C(a,"Literal")}function aW(a){return z({"~kind":"Null"},{type:"null"},a)}function aX(a){return C(a,"Null")}let aY="-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?";function aZ(a){return z({"~kind":"Number"},{type:"number"},a)}function a$(a){return C(a,"Number")}function a_(a){return z({"~kind":"Symbol"},{type:"symbol"},a)}function a0(a){return C(a,"Symbol")}function a1(...a){let[b,c,d]=ah(a,{3:(a,b,c)=>[a,b,c],2:(a,b)=>[a,b,b],1:a=>[a,ab(),ab()]});return z({"~kind":"Parameter"},{name:b,extends:c,equals:d},{})}function a2(a){return C(a,"Parameter")}function a3(a){return z({"~kind":"String"},{type:"string"},a)}function a4(a){return C(a,"String")}function a5(a,b={}){return z({"~kind":"Union"},{anyOf:a},b)}function a6(a){return C(a,"Union")}function a7(a){let b=cZ(a);return 2===b.length?b[0]:[]}function a8(a){return 0!==a.length&&function a(b){return s(b,(b,c)=>{var d;return!!(a6(d=b)?a8(d.anyOf):!!aV(d)&&(d.const,!0))&&a(c)},()=>!0)}(a)}function a9(a){return z({"~kind":"TemplateLiteral"},{type:"string",pattern:a},{})}function ba(a){var b;let c=a7(a);return 0===c.length?a3():a8(c)?0===(b=c).length?au():1===b.length&&aV(b[0])?b[0]:a5((function a(b,c){return s(c,(c,d)=>a(function a(b,c){var d,e;return a6(c)?function b(c,d,e=[]){return s(d,(d,f)=>b(c,f,[...e,...a(c,d)]),()=>e)}(b,c.anyOf):aV(c)?(d=b,e=c.const,0===d.length?[`${e}`]:function a(b,c,d=[]){return s(b,(b,e)=>a(e,c,[...d,`${b}${c}`]),()=>d)}(d,e)):au()}(b,c),d),()=>b)})([],b).map(a=>aT(a))):a9(a)}function bb(a,b){return z({"~kind":"Record"},{type:"object",patternProperties:{[a]:b}})}function bc(a,b={}){let[c,d,e]=[a,a.length,!1];return z({"~kind":"Tuple"},{type:"array",additionalItems:e,items:c,minItems:d},b)}function bd(a){return C(a,"Tuple")}function be(a,b){return B(A(a,["~readonly"]),{},b)}function bf(a,b){return B(A(a,["~optional"]),{},b)}function bg(a,b={}){return bf(a,b)}function bh(a){return a.reduceRight((a,b,c)=>({[c]:b,...a}),{})}function bi(a){return aa(a)?a.properties:bd(a)?bh(a.items):au()}function bj(a,b){var c;let d=bp(a);return bo((c=a6(d)?d.anyOf:[d],c.reduce((a,c)=>[...a,...dd(dF({},c,b))?[]:[c]],[])))}function bk(a,b,c){return bo([ap([a,b]),bj(c,a)])}function bl(a){return bo(a.map(a=>aT(a)))}function bm(a){return bq(dK(function a(b,c=[]){return s(b,(b,d)=>a6(b)?a(d,function b(c,d,e=[]){return s(c,(c,f)=>b(f,d,[...e,...a([c],d)]),()=>e)}(b.anyOf,c)):a(d,function a(b,c,d=[]){return s(c,(c,e)=>{var f,g;let h,i,j,k,l,m,n,o,p,q;return a(b,e,[...d,(h=bp(b),i=bp(c),j=a6(h),k=a6(i),l=j||k,m=aa(h)||bd(h),n=aa(i)||bd(i),l?bm([h,i]):m&&n?(o=bi(h),_([...new Set([...v(p=bi(i)),...v(o)])].reduce((a,b)=>{var c,d;let e,f,g;return{...a,[b]:b in o?b in p?(c=o[b],d=p[b],e=!!aG(c)&&!!aG(d),f=!!$(c)&&!!$(d),g=function(a,b={}){return be(a,b)}(bg(bm([c,d]))),e&&f?aE(Y(g)):e&&!f?aE(g):!e&&f?Y(g):g):o[b]:b in p?p[b]:V()}},{}))):m&&!n?h:!m&&n?i:(q=dJ(f=h,g=i))===dH?f:q===dI||q===dG?g:V())])},()=>0===d.length?[b]:d)}(b,c)),()=>c)}(a)))}function bn(a){let b;return bp(c6(b=ba(a))?a3():b)}function bo(a){return bq(dK(a))}function bp(a){return al(a)?bk(a.if,a.then,a.else):ao(a)?bl(a.enum):aq(a)?bm(a.allOf):c6(a)?bn(a.pattern):a6(a)?bo(a.anyOf):a}function bq(a){return 1===a.length?a[0]:0===a.length?V():a5(a)}function br(a){return a.reduce((a,b)=>[...a,...a6(b)?br(b.anyOf):[b]],[])}function bs(a,b,c){return fa([a])?B(function a(b,c){var d,e,f,g,h,i;return U(b)?bb(bv,c):aM(b)?_({true:c,false:c}):ao(b)?(d=b.enum,a(bl(d),c)):aR(b)?bb(bt,c):aq(b)?(e=b.allOf,a(bm(e),c)):aV(b)?(f=b.const,g=c,r(f)||o(f)?_({[f]:g}):!1===f?_({false:g}):!0===f?_({true:g}):_({})):a$(b)?bb(bu,c):a6(b)?function(a,b){var c,d;let e=br(a),f=(c=e,d=b,!0===c.some(a=>a4(a)||a$(a)||aR(a))?bb(bv,d):void 0);return q(f)?f:_(e.reduce((a,c)=>aV(c)&&(r(c.const)||o(c.const))?{...a,[c.const]:b}:a,{}))}(b.anyOf,c):a4(b)?u(b,"pattern")&&(r(b.pattern)||b.pattern instanceof RegExp)?bb(b.pattern.toString(),c):bb(bv,c):c6(b)?(h=b.pattern,i=c,a8(a7(h))?a(bn(h),i):bb(h,i)):_({})}(a,b),{},c):bw(a,b,c)}let bt=`^${aP}$`,bu=`^${aY}$`,bv="^.*$";function bw(a,b,c={}){return E("Record",[a,b],c)}function bx(a,b,c={}){return bs(a,b,c)}function by(a){return a===bv?a3():a===bt?aQ():a===bu?aZ():ba(a)}function bz(a){return v(a.patternProperties)[0]}function bA(a){return by(bz(a))}function bB(a){return a.patternProperties[bz(a)]}function bC(a){return C(a,"Record")}function bD(a){return z({"~kind":"Rest"},{type:"rest",items:a},{})}function bE(a){return C(a,"Rest")}function bF(a){return z({"~kind":"This"},{$ref:"#"},a)}function bG(a){return C(a,"This")}function bH(a){return z({"~kind":"Undefined"},{type:"undefined"},a)}function bI(a){return C(a,"Undefined")}function bJ(a){return z({"~kind":"Void"},{type:"void"},a)}function bK(a){return C(a,"Void")}function bL(){throw Error("Unreachable")}let bM=a=>{let[b,c]=a;return((a,b=[])=>a.reduce((a,b)=>j(b)&&2===b.length?[...a,b[0]]:[...a,b],[]))([...b,...c])};function bN(a,b){return b.reduce((a,b)=>1===b.length?ej(a,b[0]):0===b.length?I(a):bL(),a)}function bO(a,b){return 3===b.length?d6(a,b[0],b[1],b[2]):a}function bP(a,b){return 3===b.length?(()=>{let[c,d,e]=b,f=bP(d,e);return"&"===c?aq(f)?ap([a,...f.allOf]):ap([a,f]):"|"===c?a6(f)?a5([a,...f.anyOf]):a5([a,f]):void bL()})():a}function bQ(a){return a.reduce((a,b)=>u(b,bt)||u(b,bu)||u(b,bv)?[a[0],i(a[1],b)]:[i(a[0],b),a[1]],[{},{}])}function bR(a,b){return"remove"===a?function(a,b={}){return E("RemoveReadonly",[a],b)}(b):"add"===a?aD(b):b}function bS(a,b){return"remove"===a?function(a,b={}){return E("RemoveOptional",[a],b)}(b):"add"===a?X(b):b}function bT(a){return 2===a.length}function bU(a,b,c){return bT(a)?b(a[0],a[1]):c()}function bV(a,b){for(let e=0;e<a.length;e++){var c,d;let f=(c=a[e],0===(d=b).indexOf(c)?[c,d.slice(c.length)]:[]);if(bT(f))return f}return[]}function bW(a,b){return Array.from({length:b-a+1},(b,c)=>String.fromCharCode(a+c))}let bX=[...bW(97,122),...bW(65,90)],bY=bW(49,57),bZ=["0",...bY];function b$(a){let b=a.indexOf("*/");return -1===b?"":a.slice(b+2)}function b_(a){let b=a.indexOf("\n");return -1===b?"":a.slice(b)}function b0(a){let b=a.trimStart();return b.startsWith("/*")?b0(b$(b.slice(2))):b.startsWith("//")?b0(b_(b.slice(2))):b}function b1(a,b){return bU(bV([a],b),(a,b)=>[a,b],()=>["",b])}function b2(a,b,c,d=""){return bU(bV(a,c),(c,e)=>b.includes(c)?b2(a,b,e,d):b2(a,b,e,`${d}${c}`),()=>[d,c])}let b3=[...bZ,"_"];function b4(a){var b;return bU(bV(["0"],b=b0(a)),(a,b)=>[a,b],()=>bU(bV(bY,b),(a,b)=>bU(b2(b3,["_"],b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[]))}function b5(a){return bU(bU(b1("-",b0(a)),(a,b)=>bU(b4(b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[]),(a,b)=>bU(bV(["n"],b),(b,c)=>[`${a}`,c],()=>[]),()=>[])}function b6(a,b){return""===a?["",b]:a.startsWith("\n")?bV([a],function a(b){let c=b.replace(/^[ \t\r\f\v]+/,"");return c.startsWith("/*")?a(b$(c.slice(2))):c.startsWith("//")?a(b_(c.slice(2))):c}(b)):a.startsWith(" ")?bV([a],b):bV([a],b0(b))}let b7=[...bX,"_","$"],b8=[...b7,...bZ];function b9(a){return bU(bV(b7,b0(a)),(a,b)=>bU(function a(b,c=""){return bU(bV(b8,b),(b,d)=>a(d,`${c}${b}`),()=>[c,b])}(b),(b,c)=>[`${a}${b}`,c],()=>[]),()=>[])}let ca=[...bZ,"_"];function cb(a){return bU(b2(ca,["_"],a),(a,b)=>""===a?[]:[a,b],()=>[])}function cc(a){return bU(b1("-",b0(a)),(a,b)=>{var c;return bU(bT(bV(["."],c=b0(b)))?bU(bV(["."],c),(a,b)=>bU(cb(b),(b,c)=>[`0${a}${b}`,c],()=>[]),()=>[]):bU(b4(c),(a,b)=>bU(bV(["."],b),(b,c)=>bU(cb(c),(c,d)=>[`${a}${b}${c}`,d],()=>[`${a}`,c]),()=>[`${a}`,b]),()=>[]),(b,c)=>[`${a}${b}`,c],()=>[])},()=>[])}function cd(a,b,c=""){var d;return bU(""===(d=b)?[]:[d.slice(0,1),d.slice(1)],(d,e)=>!function a(b,c){return s(b,(b,d)=>!!c.startsWith(b)||a(d,c),()=>!1)}(a,b)?cd(a,e,`${c}${d}`):[c,b],()=>[])}function ce(a,b){return bU(bV(a,b0(b)),(a,b)=>{var c;return c=`${a}${b}`,bU(bV([a],b0(c)),(b,c)=>bU(cd(["\n",a],c),(b,c)=>bU(bV([a],c),(a,c)=>[`${b}`,c],()=>[]),()=>[]),()=>[])},()=>[])}let cf=(a,b,c=()=>[])=>2===a.length?b(a):c(),cg=a=>cf(cf(cf(cf(b9(a),([a,b])=>cf(b6("extends",b),([b,c])=>cf(cy(c),([c,d])=>cf(b6("=",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[a1(a[0],a[2],a[4]),b]),([a,b])=>[a,b],()=>cf(cf(cf(b9(a),([a,b])=>cf(b6("extends",b),([b,c])=>cf(cy(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a1(a[0],a[2],a[2]),b]),([a,b])=>[a,b],()=>cf(cf(cf(b9(a),([a,b])=>cf(b6("=",b),([b,c])=>cf(cy(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a1(a[0],ab(),a[2]),b]),([a,b])=>[a,b],()=>cf(cf(b9(a),([a,b])=>[a1(a,ab(),ab()),b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),ch=(a,b=[])=>cf(cf(cg(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>ch(c,[...b,a]),()=>[b,a]),ci=a=>cf(cf(b6("<",a),([a,b])=>cf(cf(cf(ch(b),([a,b])=>cf(cf(cf(cg(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6(">",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),cj=(a,b=[])=>cf(cf(cy(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>cj(c,[...b,a]),()=>[b,a]),ck=a=>cf(cf(cf(b6(";",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[null,b]),cl=a=>cf(b6("string",a),([a,b])=>[a3(),b]),cm=a=>cf(b6("number",a),([a,b])=>[aZ(),b]),cn=a=>cf(b6("integer",a),([a,b])=>[aQ(),b]),co=a=>cf(b6("symbol",a),([a,b])=>[a_(),b]),cp=a=>cf(cd(["${","`"],a),([a,b])=>[aT(a),b]),cq=a=>cf(cf(cf(cp(a),([a,b])=>cf(cf(cf(b6("${",b),([a,b])=>cf(cy(b),([b,c])=>cf(b6("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([b,c])=>cf(cq(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf(cf(cp(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf(cf(cp(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))),([a,b])=>{var c;return[3===(c=a).length?[c[0],c[1],...c[2]]:[c[0]],b]}),cr=a=>cf(cf(b6("`",a),([a,b])=>cf(cq(b),([b,c])=>cf(b6("`",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),cs=(a,b=[])=>cf(cf(cf(b6("[",a),([a,b])=>cf(cy(b),([b,c])=>cf(b6("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf(cf(b6("[",a),([a,b])=>cf(b6("]",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>[])),([a,c])=>cs(c,[...b,a]),()=>[b,a]),ct=a=>cf(cf(cf(cf(cf(b6("keyof",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),([a,b])=>cf(cf(cf(cf(b6("(",b),([a,b])=>cf(cy(b),([b,c])=>cf(b6(")",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf(cl(b),([a,b])=>[a,b],()=>cf(cm(b),([a,b])=>[a,b],()=>cf(cf(b6("boolean",b),([a,b])=>[aL(),b]),([a,b])=>[a,b],()=>cf(cf(b6("undefined",b),([a,b])=>[bH(),b]),([a,b])=>[a,b],()=>cf(cf(b6("null",b),([a,b])=>[aW(),b]),([a,b])=>[a,b],()=>cf(cn(b),([a,b])=>[a,b],()=>cf(cf(b6("bigint",b),([a,b])=>[aJ(),b]),([a,b])=>[a,b],()=>cf(cf(b6("unknown",b),([a,b])=>[ab(),b]),([a,b])=>[a,b],()=>cf(cf(b6("any",b),([a,b])=>[T(),b]),([a,b])=>[a,b],()=>cf(cf(b6("object",b),([a,b])=>[_({}),b]),([a,b])=>[a,b],()=>cf(cf(b6("never",b),([a,b])=>[V(),b]),([a,b])=>[a,b],()=>cf(co(b),([a,b])=>[a,b],()=>cf(cf(b6("void",b),([a,b])=>[bJ(),b]),([a,b])=>[a,b],()=>cf(cf(b6("this",b),([a,b])=>[bF(),b]),([a,b])=>[a,b],()=>cf(cf(b5(b),([a,b])=>[aT(BigInt(a)),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("true",b),([a,b])=>[a,b],()=>cf(b6("false",b),([a,b])=>[a,b],()=>[])),([a,b])=>[aT("true"===a),b]),([a,b])=>[a,b],()=>cf(cf(cc(b),([a,b])=>[aT(parseFloat(a)),b]),([a,b])=>[a,b],()=>cf(cf(ce(["'",'"'],b),([a,b])=>[aT(a),b]),([a,b])=>[a,b],()=>cf(cf(cr(b),([a,b])=>[c4(a),b]),([a,b])=>[a,b],()=>cf(cf(cf(cf(b6("if",b),([a,b])=>cf(cy(b),([b,c])=>cf(b6("then",c),([c,d])=>cf(cy(d),([d,e])=>cf(b6("else",e),([e,f])=>cf(cy(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[a,b],()=>cf(cf(b6("if",b),([a,b])=>cf(cy(b),([b,c])=>cf(b6("then",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>[])),([a,b])=>[6===a.length?ak(a[1],a[3],a[5]):ak(a[1],a[3],ab()),b]),([a,b])=>[a,b],()=>cf(cE(b),([a,b])=>[a,b],()=>cf(cI(b),([a,b])=>[a,b],()=>cf(cO(b),([a,b])=>[a,b],()=>cf(cN(b),([a,b])=>[a,b],()=>cf(cP(b),([a,b])=>[a,b],()=>cf(cf(cf(b9(b),([a,b])=>cf(cf(cf(b6("<",b),([a,b])=>cf(cf(cf(cj(b),([a,b])=>cf(cf(cf(cy(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6(">",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([b,c])=>[[a,b],c])),([a,b])=>{var c,d;return[(c=a[0],d=a[1],"Array"===c?I(d[0]):"Capitalize"===c?dS(d[0]):"ConstructorParameters"===c?d9(d[0]):"Evaluate"===c?function(a,b={}){return E("Evaluate",[a],b)}(d[0]):"Exclude"===c?ec(d[0],d[1]):"Extract"===c?ef(d[0],d[1]):"Index"===c?ej(d[0],d[1]):"InstanceType"===c?ey(d[0]):"Lowercase"===c?dU(d[0]):"NonNullable"===c?eI(d[0]):"Omit"===c?eL(d[0],d[1]):"Parameters"===c?eP(d[0]):"Partial"===c?eS(d[0]):"Pick"===c?eV(d[0],d[1]):"Readonly"===c?eY(d[0]):"KeyOf"===c?eB(d[0]):"Record"===c?bw(d[0],d[1]):"Required"===c?e0(d[0]):"ReturnType"===c?e3(d[0]):"Uncapitalize"===c?dW(d[0]):"Uppercase"===c?dY(d[0]):dO(P(c),d)),b]}),([a,b])=>[a,b],()=>cf(cQ(b),([a,b])=>[a,b],()=>[])))))))))))))))))))))))))))),([a,b])=>[j(a)&&3===a.length?a[1]:a,b]),([b,c])=>cf(cf(cs(c),([a,b])=>[a.reduce((a,b)=>3===b.length?[...a,[b[1]]]:[...a,[]],[]),b]),([c,d])=>cf(cf(cf(cf(b6("extends",d),([a,b])=>cf(cy(b),([b,c])=>cf(b6("?",c),([c,d])=>cf(cy(d),([d,e])=>cf(b6(":",e),([e,f])=>cf(cy(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[a,b],()=>cf([[],d],([a,b])=>[a,b],()=>[])),([a,b])=>[6===a.length?[a[1],a[3],a[5]]:[],b]),([d,e])=>cf(cf(cf(cf(b6("with",e),([a,b])=>cf(cT(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf([[],e],([a,b])=>[a,b],()=>[])),([a,b])=>[2===a.length?a[1]:[],b]),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let[b,c,d,e,f]=a;var g=b?bO(eB(bN(c,d)),e):bO(bN(c,d),e);return j(f)&&0===f.length?g:e6(g,f)}(a),b]),cu=a=>cf(cf(cf(b6("&",a),([a,b])=>cf(ct(b),([b,c])=>cf(cu(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),cv=a=>cf(cf(ct(a),([a,b])=>cf(cu(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a){let[b,c]=a;return bP(b,c)}(a),b]),cw=a=>cf(cf(cf(b6("|",a),([a,b])=>cf(cv(b),([b,c])=>cf(cw(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),cx=a=>cf(cf(cv(a),([a,b])=>cf(cw(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a){let[b,c]=a;return bP(b,c)}(a),b]),cy=a=>cf(cf(cf(cf(cf(b6("infer",a),([a,b])=>cf(b9(b),([b,c])=>cf(b6("extends",c),([c,d])=>cf(cx(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cf(cf(b6("infer",a),([a,b])=>cf(b9(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>[])),([a,b])=>[4===a.length?ai(a[1],a[3]):2===a.length?ai(a[1],ab()):bL(),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("|",a),([a,b])=>cf(cx(b),([b,c])=>[[a,b],c])),([a,b])=>[a[1],b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("readonly",a),([a,b])=>cf(cx(b),([b,c])=>[[a,b],c])),([a,b])=>[function(a,b={}){return E("AddImmutable",[a],b)}(a[1]),b]),([a,b])=>[a,b],()=>cf(cx(a),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cz=a=>cf(cf(cf(cc(a),([a,b])=>[`${a}`,b]),([a,b])=>[a,b],()=>cf(cf(b9(a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cf(cf(ce(["'",'"'],a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("[",a),([a,b])=>cf(b9(b),([b,c])=>cf(b6(":",c),([c,d])=>cf(cf(cn(d),([a,b])=>[a,b],()=>cf(cm(d),([a,b])=>[a,b],()=>cf(cl(d),([a,b])=>[a,b],()=>cf(co(d),([a,b])=>[a,b],()=>[])))),([d,e])=>cf(b6("]",e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[aR(a[3])?bt:a$(a[3])?bu:a0(a[3])||a4(a[3])?bv:bL(),b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cA=a=>cf(cf(cf(cf(cf(b6("readonly",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),([a,b])=>cf(cz(b),([b,c])=>cf(cf(cf(cf(b6("?",c),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],c],([a,b])=>[a,b],()=>[])),([a,b])=>[a.length>0,b]),([c,d])=>cf(b6(":",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let[b,c,d,e,f]=a;return{[c]:b&&d?aD(X(f)):b&&!d?aD(f):!b&&d?X(f):f}}(a),b]),cB=a=>cf(cf(cf(b6(",",a),([a,b])=>cf(b6("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6(";",a),([a,b])=>cf(b6("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6(",",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf(cf(b6(";",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf(cf(b6("\n",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))))),([a,b])=>[a,b]),cC=(a,b=[])=>cf(cf(cA(a),([a,b])=>cf(cB(b),([b,c])=>[[a,b],c])),([a,c])=>cC(c,[...b,a]),()=>[b,a]),cD=a=>cf(cf(b6("{",a),([a,b])=>cf(cf(cf(cC(b),([a,b])=>cf(cf(cf(cA(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[bQ(a[1]),b]),cE=a=>cf(cD(a),([a,b])=>[function(a){let[b,c]=a;return _(b,0===v(c).length?{}:{patternProperties:c})}(a),b]),cF=a=>cf(cf(cf(cf(cf(b9(a),([a,b])=>cf(b6("?",b),([b,c])=>cf(b6(":",c),([c,d])=>cf(b6("readonly",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[a,b],()=>cf(cf(b9(a),([a,b])=>cf(b6(":",b),([b,c])=>cf(b6("readonly",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cf(cf(b9(a),([a,b])=>cf(b6("?",b),([b,c])=>cf(b6(":",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[a,b],()=>cf(cf(b9(a),([a,b])=>cf(b6(":",b),([b,c])=>cf(cy(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>[])))),([a,b])=>[5===a.length?aD(X(a[4])):3===a.length?a[2]:4===a.length?"readonly"===a[2]?aD(a[3]):X(a[3]):bL(),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("readonly",a),([a,b])=>cf(cy(b),([b,c])=>cf(b6("?",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[aD(X(a[1])),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("readonly",a),([a,b])=>cf(cy(b),([b,c])=>[[a,b],c])),([a,b])=>[aD(a[1]),b]),([a,b])=>[a,b],()=>cf(cf(cf(cy(a),([a,b])=>cf(b6("?",b),([b,c])=>[[a,b],c])),([a,b])=>[X(a[0]),b]),([a,b])=>[a,b],()=>cf(cy(a),([a,b])=>[a,b],()=>[]))))),([a,b])=>[a,b]),cG=a=>cf(cf(cf(b6("...",a),([a,b])=>cf(cF(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(cF(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?bD(c[1]):1===c.length?c[0]:bL(),b]}),cH=(a,b=[])=>cf(cf(cG(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>cH(c,[...b,a]),()=>[b,a]),cI=a=>cf(cf(b6("[",a),([a,b])=>cf(cf(cf(cH(b),([a,b])=>cf(cf(cf(cG(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[bc(a[1]),b]),cJ=a=>cf(cf(cf(cf(b9(a),([a,b])=>cf(b6("?",b),([b,c])=>cf(b6(":",c),([c,d])=>cf(b6("readonly",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[aD(X(a[4])),b]),([a,b])=>[a,b],()=>cf(cf(cf(b9(a),([a,b])=>cf(b6(":",b),([b,c])=>cf(b6("readonly",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[aD(a[3]),b]),([a,b])=>[a,b],()=>cf(cf(cf(b9(a),([a,b])=>cf(b6("?",b),([b,c])=>cf(b6(":",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[X(a[3]),b]),([a,b])=>[a,b],()=>cf(cf(cf(b9(a),([a,b])=>cf(b6(":",b),([b,c])=>cf(cy(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[2],b]),([a,b])=>[a,b],()=>[])))),([a,b])=>[a,b]),cK=a=>cf(cf(cf(b6("...",a),([a,b])=>cf(cJ(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(cJ(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?bD(c[1]):1===c.length?c[0]:bL(),b]}),cL=(a,b=[])=>cf(cf(cK(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>cL(c,[...b,a]),()=>[b,a]),cM=a=>cf(cf(cL(a),([a,b])=>cf(cf(cf(cK(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),cN=a=>cf(cf(b6("(",a),([a,b])=>cf(cM(b),([b,c])=>cf(b6(")",c),([c,d])=>cf(b6("=>",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[N(a[1],a[4]),b]),cO=a=>cf(cf(b6("new",a),([a,b])=>cf(b6("(",b),([b,c])=>cf(cM(c),([c,d])=>cf(b6(")",d),([d,e])=>cf(b6("=>",e),([e,f])=>cf(cy(f),([f,g])=>[[a,b,c,d,e,f],g])))))),([a,b])=>[L(a[2],a[5]),b]),cP=a=>cf(cf(b6("{",a),([a,b])=>cf(cf(cf(cf(b6("+",b),([a,b])=>cf(b6("readonly",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6("-",b),([a,b])=>cf(b6("readonly",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6("readonly",b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])))),([a,b])=>[2===a.length&&"-"===a[0]?"remove":2===a.length&&"+"===a[0]||1===a.length?"add":"none",b]),([b,c])=>cf(b6("[",c),([c,d])=>cf(b9(d),([d,e])=>cf(b6("in",e),([e,f])=>cf(cy(f),([f,g])=>cf(cf(cf(cf(b6("as",g),([a,b])=>cf(cy(b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf([[],g],([a,b])=>[a,b],()=>[])),([a,b])=>[2===a.length?[a[1]]:[],b]),([g,h])=>cf(b6("]",h),([h,i])=>cf(cf(cf(cf(b6("+",i),([a,b])=>cf(b6("?",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6("-",i),([a,b])=>cf(b6("?",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6("?",i),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],i],([a,b])=>[a,b],()=>[])))),([a,b])=>[2===a.length&&"-"===a[0]?"remove":2===a.length&&"+"===a[0]||1===a.length?"add":"none",b]),([i,j])=>cf(b6(":",j),([j,k])=>cf(cy(k),([k,l])=>cf(ck(l),([l,m])=>cf(b6("}",m),([m,n])=>[[a,b,c,d,e,f,g,h,i,j,k,l,m],n]))))))))))))),([a,b])=>{var c;return[j((c=a)[6])&&1===c[6].length?eE(aN(c[3]),c[5],c[6][0],bR(c[1],bS(c[8],c[10]))):eE(aN(c[3]),c[5],P(c[3]),bR(c[1],bS(c[8],c[10]))),b]}),cQ=a=>cf(b9(a),([a,b])=>[P(a),b]),cR=a=>cf(cf(cz(a),([a,b])=>cf(b6(":",b),([b,c])=>cf(cV(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[{[a[0]]:a[2]},b]),cS=(a,b=[])=>cf(cf(cR(a),([a,b])=>cf(cB(b),([b,c])=>[[a,b],c])),([a,c])=>cS(c,[...b,a]),()=>[b,a]),cT=a=>cf(cf(b6("{",a),([a,b])=>cf(cf(cf(cS(b),([a,b])=>cf(cf(cf(cR(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6("}",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1].reduce((a,b)=>i(a,b),{}),b]),cU=(a,b=[])=>cf(cf(cV(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>cU(c,[...b,a]),()=>[b,a]),cV=a=>cf(cf(cf(b5(a),([a,b])=>[BigInt(a),b]),([a,b])=>[a,b],()=>cf(cf(cc(a),([a,b])=>[parseFloat(a),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("true",a),([a,b])=>[a,b],()=>cf(b6("false",a),([a,b])=>[a,b],()=>[])),([a,b])=>["true"===a,b]),([a,b])=>[a,b],()=>cf(cf(ce(['"',"'"],a),([a,b])=>[a,b]),([a,b])=>[a,b],()=>cf(cf(b6("null",a),([a,b])=>[null,b]),([a,b])=>[a,b],()=>cf(cf(b6("undefined",a),([a,b])=>[void 0,b]),([a,b])=>[a,b],()=>cf(cT(a),([a,b])=>[a,b],()=>cf(cf(cf(b6("[",a),([a,b])=>cf(cf(cf(cU(b),([a,b])=>cf(cf(cf(cV(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>cf(b6("]",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),([a,b])=>[a,b],()=>[])))))))),([a,b])=>[a,b]),cW=a=>cf(cf(cf(cX(a),([a,b])=>cf(b6("|",b),([b,c])=>cf(cW(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a,b],()=>cf(cf(cX(a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[]))),([a,b])=>[3===a.length?[...a[0],...a[2]]:1===a.length?[...a[0]]:[],b]),cX=a=>{let b;return cf(cf(cf(cf(cf(b6("-?(?:0|[1-9][0-9]*)n",b=a),([a,b])=>[aJ(),b]),([a,b])=>[a,b],()=>cf(cf(b6(".*",b),([a,b])=>[a3(),b]),([a,b])=>[a,b],()=>cf(cf(b6("-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?",b),([a,b])=>[aZ(),b]),([a,b])=>[a,b],()=>cf(cf(b6("-?(?:0|[1-9][0-9]*)",b),([a,b])=>[aQ(),b]),([a,b])=>[a,b],()=>cf(cf(b6("(?!)",b),([a,b])=>[V(),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("(",b),([a,b])=>cf(cY(b),([b,c])=>cf(b6(")",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a5(a[1]),b]),([a,b])=>[a,b],()=>cf(cf(bU(cd(["-?(?:0|[1-9][0-9]*)n",".*","-?(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?","-?(?:0|[1-9][0-9]*)","(?!)","(",")","$","|"],b),(a,b)=>""===a?[]:[a,b],()=>[]),([a,b])=>[aT(a),b]),([a,b])=>[a,b],()=>[]))))))),([a,b])=>[a,b]),([a,b])=>cf(cY(b),([b,c])=>[[a,b],c])),([a,b])=>[[a[0],...a[1]],b])},cY=a=>cf(cf(cW(a),([a,b])=>[a,b],()=>cf(cX(a),([a,b])=>[a,b],()=>[])),([a,b])=>[a,b]),cZ=a=>cf(cf(b6("^",a),([a,b])=>cf(cY(b),([b,c])=>cf(b6("$",c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]),c$=(a,b=[])=>cf(cf(cy(a),([a,b])=>cf(b6(",",b),([b,c])=>[[a,b],c])),([a,c])=>c$(c,[...b,a]),()=>[b,a]),c_=a=>cf(cf(cf(b6("extends",a),([a,b])=>cf(cf(cf(c$(b),([a,b])=>cf(cf(cf(cy(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bM(a),b]),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>{var c;return[2===(c=a).length?c[1]:[],b]}),c0=(a,b=[])=>cf(cf(c1(a),([a,b])=>cf(cf(cf(cf(b6(";",b),([a,b])=>cf(b6("\n",b),([b,c])=>[[a,b],c])),([a,b])=>[a,b],()=>cf(cf(b6(";",b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf(cf(b6("\n",b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>[]))),([a,b])=>[a,b]),([b,c])=>[[a,b],c])),([a,c])=>c0(c,[...b,a]),()=>[b,a]),c1=a=>cf(cf(cf(cf(cf(b6("export",a),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],a],([a,b])=>[a,b],()=>[])),([a,b])=>[null,b]),([a,b])=>cf(cf(cf(cf(b6("interface",b),([a,b])=>cf(b9(b),([b,c])=>cf(ci(c),([c,d])=>cf(c_(d),([d,e])=>cf(cD(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[function(a){let b=a[2],c=a[3],[d,e]=a[4],f=0===v(e).length?{}:{patternProperties:e};return{[a[1]]:R(b,du(c,d,f))}}(a),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("interface",b),([a,b])=>cf(b9(b),([b,c])=>cf(c_(c),([c,d])=>cf(cD(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[function(a){let b=a[2],[c,d]=a[3],e=0===v(d).length?{}:{patternProperties:d};return{[a[1]]:du(b,c,e)}}(a),b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("type",b),([a,b])=>cf(b9(b),([b,c])=>cf(ci(c),([c,d])=>cf(b6("=",d),([d,e])=>cf(cy(e),([e,f])=>[[a,b,c,d,e],f]))))),([a,b])=>[{[a[1]]:R(a[2],a[4])},b]),([a,b])=>[a,b],()=>cf(cf(cf(b6("type",b),([a,b])=>cf(b9(b),([b,c])=>cf(b6("=",c),([c,d])=>cf(cy(d),([d,e])=>[[a,b,c,d],e])))),([a,b])=>[{[a[1]]:a[3]},b]),([a,b])=>[a,b],()=>[])))),([b,c])=>cf(ck(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[a[1],b]);function c2(a,b){return s(a,(a,c)=>(function a(b,c,d){var e,f,g,h,i;return ao(b)?(e=b.enum,a(bl(e),c,d)):aR(b)?c2(c,`${d}${aP}`):aV(b)?(f=b.const,c2(c,`${d}${f}`)):aK(b)?c2(c,`${d}-?(?:0|[1-9][0-9]*)n`):aM(b)?a(a5([aT("false"),aT("true")]),c,d):a$(b)?c2(c,`${d}${aY}`):a4(b)?c2(c,`${d}.*`):c6(b)?(g=b.pattern,c2(c,`${d}${g.slice(1,g.length-1)}`)):q(i=b)&&u(i,"action")&&"TemplateLiteral"===i.action?(h=b.parameters[0],a(c3(h,{}),c,d)):a6(b)?function b(c,d,e,f=[]){return s(c,(c,g)=>b(g,d,e,[...f,a(c,[],"")]),()=>c2(d,`${e}(${f.join("|")})`))}(b.anyOf,c,d):"(?!)"})(a,c,b),()=>b)}function c3(a,b){let c;return fa(a)?B(a9((c=c2(a,""),`^${c}$`)),{},b):c4(a,b)}function c4(a,b={}){return E("TemplateLiteral",[a],b)}function c5(a,b={}){var c;let d;return B(r(a)?c3((c=a,2===(d=cr(`\`${c}\``)).length?d[0]:au()),{}):c3(a,{}),{},b)}function c6(a){return C(a,"TemplateLiteral")}function c7(a){return z({"~kind":"ExtendsUnion"},{inferred:a})}function c8(a){return q(a)&&u(a,"~kind")&&u(a,"inferred")&&"ExtendsUnion"===a["~kind"]&&q(a.inferred)}function c9(a){return z({"~kind":"ExtendsTrue"},{inferred:a})}function da(a){return q(a)&&u(a,"~kind")&&u(a,"inferred")&&"ExtendsTrue"===a["~kind"]&&q(a.inferred)}function db(){return z({"~kind":"ExtendsFalse"},{})}function dc(a){return q(a)&&u(a,"~kind")&&"ExtendsFalse"===a["~kind"]}function dd(a){return c8(a)||da(a)}function de(a,b,c){return dd(a)?b(a.inferred):c()}function df(a,b,c){var d,e,f,g;return U(c)?c9(a):al(c)?(d=c.if,e=c.then,f=c.else,de(ds(a,b,d),a=>de(ds(a,b,e),a=>c9(a),()=>db()),()=>de(ds(a,b,f),a=>c9(a),()=>db()))):ao(c)?ds(a,b,bl(c.enum)):aj(c)?(g=c.name,de(ds(a,b,c.extends),c=>c9(i(i(a,c),{[g]:b})),()=>db())):aq(c)?function a(b,c,d){return s(d,(d,e)=>de(ds(b,c,d),b=>a(b,c,e),()=>db()),()=>c9(b))}(a,b,c.allOf):c6(c)?ds(a,b,bn(c.pattern)):a6(c)?function a(b,c,d){return s(d,(d,e)=>de(ds(b,c,d),a=>c9(a),()=>a(b,c,e)),()=>db())}(a,b,c.anyOf):ac(c)?c9(a):db()}function dg(a,b,c){return s(b,(b,d)=>s(c,(c,e)=>{let f,g,h,i;return f=aj(c)?b:c,g=aj(c)?c:b,h=$(b),i=$(c),!h&&i?db():de(ds(a,f,g),a=>dg(a,d,e),()=>db())},()=>$(b)?c9(a):db()),()=>c9(a))}function dh(a,b,c){return bK(c)?c9(a):ds(a,b,c)}function di(a,b,c){return b===c?c9(a):db()}function dj(a,b){return z({"~kind":"Inferrable"},{name:a,type:b},{})}function dk(a){return q(a)&&u(a,"~kind")&&u(a,"name")&&u(a,"type")&&"Inferrable"===a["~kind"]&&r(a.name)&&q(a.type)}function dl(a){return bE(a)?aj(a.items)?J(a.items.extends)?dj(a.items.name,a.items.extends.items):ac(a.items.extends)?dj(a.items.name,a.items.extends):void 0:au():void 0}function dm(a){return aj(a)?dj(a.name,a.extends):void 0}function dn(a,b,c=[]){return s(a,(a,d)=>de(ds({},a,b),()=>dn(d,b,[...c,a]),()=>void 0),()=>c)}function dp(a,b,c,d){let e=dn(c,d);return j(e)?c9(i(a,{[b]:a5(e)})):db()}function dq(a,b){return b?[...a].reverse():a}function dr(a,b,c){return s(b,(b,d)=>de(function a(b,c,d){return s(d,(d,e)=>de(ds(b,c,d),a=>c9(a),()=>a(b,c,e)),()=>db())}(a,b,c),a=>dr(a,d,c),()=>db()),()=>c9(a))}function ds(a,b,c){var d,e,f,g,h,m,n,p,t,x,y,z,A,B,C,D,E,F,G,H,I,K,L,N;let P,Q,R,S,T,V,X,Y,Z,ab;return U(b)?aj(c)?df(a,b,c):U(c)||ac(c)?c9(a):c7(a):J(b)?(d=b.items,J(c)?(P=aC(b),Q=aC(c),P&&Q||!P&&Q||!P||Q)?ds(a,d,c.items):db():df(a,b,c)):aK(b)?aK(c)?c9(a):df(a,b,c):aM(b)?aM(c)?c9(a):df(a,b,c):M(b)?(e=b.parameters,f=b.instanceType,U(c)||ac(c)?c9(a):M(c)?de(dg(a,e,c.parameters),a=>dh(a,f,c.instanceType),()=>db()):db()):al(b)?(g=b.if,h=b.then,m=b.else,de(ds(a,g,c),()=>ds(a,h,c),()=>ds(a,m,c))):ao(b)?(n=b.enum,ds(a,bl(n),c)):O(b)?(p=b.parameters,t=b.returnType,U(c)||ac(c)?c9(a):O(c)?de(dg(a,p,c.parameters),a=>dh(a,t,c.returnType),()=>db()):db()):aR(b)?aR(c)||a$(c)?c9(a):df(a,b,c):aq(b)?(x=b.allOf,ds(a,bm(x),c)):aV(b)?k(b.const)?(y=b.const,aV(c)?di(a,y,c.const):aK(c)?c9(a):df(a,aT(y),c)):l(b.const)?(z=b.const,aV(c)?di(a,z,c.const):aM(c)?c9(a):df(a,aT(z),c)):o(b.const)?(A=b.const,aV(c)?di(a,A,c.const):a$(c)?c9(a):df(a,aT(A),c)):r(b.const)?(B=b.const,aV(c)?di(a,B,c.const):a4(c)?c9(a):df(a,aT(B),c)):au():W(b)?aj(c)?df(a,b,c):c9(a):aX(b)?aX(c)?c9(a):df(a,b,c):a$(b)?a$(c)?c9(a):df(a,b,c):aa(b)?(C=b.properties,bC(c)?(bz(c),D=bB(c),R=v(C),function a(b,c,d,e){return s(c,(c,f)=>de(ds({},b[c],d),c=>a(b,f,d,v(c).reduce((a,b)=>({...a,[b]:u(e,b)?a6(a[b])?a5([...a[b].anyOf,c[b]]):a5([e[b],c[b]]):c[b]}),e)),()=>db()),()=>c9(e))}(C,R,D,a)):aa(c)?(S=function(a,b,c){var d;let e={};for(let d of v(c))e[d]=d in b?function(a,b,c){return aj(c)&&W(c.extends)?db():de(ds(a,b,c),a=>$(b)?$(c)?c9(a):db():c9(a),()=>db())}({},b[d],c[d]):$(c[d])?aj(c[d])?c9(i(a,{[c[d].name]:c[d].extends})):c9(a):db();let f=w(e).every(a=>dd(a)),g=f?(d=v(e),d.reduce((a,b)=>b in e&&dd(e[b])?{...a,...e[b].inferred}:au(),{})):{};return f?c9(g):db()}(a,C,c.properties),dd(S)?c9(i(a,S.inferred)):db()):df(a,_(C),c)):bC(b)?(E=bz(b),F=bB(b),bC(c)?(by(E),by(bz(c)),ds(a,F,bB(c))):aa(c)?(L=a,0===v(c.properties).length?c9(L):db()):U(c)||ac(c)?c9(a):db()):a4(b)?a4(c)?c9(a):df(a,b,c):a0(b)?a0(c)?c9(a):df(a,b,c):c6(b)?(G=b.pattern,ds(a,bn(G),c)):bd(b)?(H=b.items,T=fc(a,e9([],[]),H),bd(c)?(I=c.items,ab=q(Z=(N=V=fc(a,e9([],[]),I)).length>0?N[0]:void 0)?dl(Z):void 0,function a(b,c,d,e){return s(e,(e,f)=>{var g;let h,k;return dk(h=dl(e))?(g=h.name,j(k=dn(dq(d,c),h.type))?c9(i(b,{[g]:bc(k)})):db()):s(d,(d,g)=>de(ds(b,d,e),b=>a(b,c,g,f),()=>db()),()=>db())},()=>0===d.length?c9(b):db())}(a,X=q(ab),dq(T,X),dq(V,X))):J(c)?function a(b,c,d){let e=dm(d);return dk(e)?dp(b,e.name,c,e.type):s(c,(c,e)=>de(ds(b,c,d),b=>a(b,e,d),()=>db()),()=>c9(b))}(a,T,c.items):df(a,bc(T),c)):bI(b)?bK(c)||bI(c)?c9(a):df(a,b,c):a6(b)?(K=b.anyOf,dk(Y=dm(c))?dp(a,Y.name,K,Y.type):a6(c)?dr(a,K,c.anyOf):dr(a,K,[c])):ac(b)?aj(c)?df(a,b,c):U(c)||ac(c)?c9(a):db():bK(b)?bK(c)?c9(a):df(a,b,c):db()}function dt(a,b,c){return fa(a)?B(bm([...a,_(b)]),{},c):du(a,b,c)}function du(a,b,c={}){return E("Interface",[a,b],c)}function dv(a){return q(a)&&u(a,"action")&&"Interface"===a.action}function dw(a,b,c={}){return dt(a,b,c)}function dx(a,b,c){return s(c,(c,d)=>!!dy(a,b,c)||dx(a,b,d),()=>!1)}function dy(a,b,c){var d;return Q(c)?(d=c.$ref,!!a.includes(d)||dy([...a,d],b,b[d])):J(c)?dy(a,b,c.items):M(c)?dx(a,b,[...c.parameters,c.instanceType]):O(c)?dx(a,b,[...c.parameters,c.returnType]):dv(c)?dx(a,b,w(c.parameters[1])):aq(c)?dx(a,b,c.allOf):aa(c)?dx(a,b,w(c.properties)):a6(c)?dx(a,b,c.anyOf):bd(c)?dx(a,b,c.items):!!bC(c)&&dy(a,b,bB(c))}function dz(a,b,c){return b.reduce((b,c)=>dA(a,c,b),c)}function dA(a,b,c){var d,e,f,g,h,i,j;return Q(b)?(d=b.$ref,c.includes(d)?c:d in a?dA(a,a[d],[...c,d]):au()):J(b)?dA(a,b.items,c):M(b)?dz(a,[...b.parameters,b.instanceType],c):O(b)?dz(a,[...b.parameters,b.returnType],c):dv(b)?(e=a,f=b.parameters[1],g=c,dz(e,w(f),g)):aq(b)?dz(a,b.allOf,c):aa(b)?(h=a,i=b.properties,j=c,dz(h,w(i),j)):a6(b)?dz(a,b.anyOf,c):bd(b)?dz(a,b.items,c):bC(b)?dA(a,bB(b),c):c}function dB(a){return a.reduce((a,b)=>[...a,dC(b)],[])}function dC(a){var b;return Q(a)?(a.$ref,T()):J(a)?I(dC(a.items),K(a)):M(a)?L(dB(a.parameters),dC(a.instanceType)):O(a)?N(dB(a.parameters),dC(a.returnType)):aq(a)?ap(dB(a.allOf)):aa(a)?_(v(b=a.properties).reduce((a,c)=>({...a,[c]:dC(b[c])}),{})):bC(a)?bx(bA(a),dC(bB(a))):a6(a)?a5(dB(a.anyOf)):bd(a)?bc(dB(a.items)):a}function dD(a,b){return function a(b,c){return c in b?Q(b[c])?a(b,b[c].$ref):b[c]:V()}(a,b)}function dE(a){var b,c;return ae(a)?(b=a.$defs,(c=a.$ref)in b?dC(b[c]):ab()):ag(a)?ab():a}function dF(a,b,c){return ds(a,dE(b),dE(c))}let dG="equal",dH="left-inside",dI="right-inside";function dJ(a,b){let c=[ac(a)?db():dF({},a,b),ac(a)?c9({}):dF({},b,a)];return dd(c[0])&&dd(c[1])?dG:dd(c[0])&&dc(c[1])?dH:dc(c[0])&&dd(c[1])?dI:"disjoint"}function dK(a){return br(a.reduce((a,b)=>{var c;let d;return aa(b)?[...a,b]:W(b)?a:U(d=bp(b))?[d]:(c=d,!1!==a.some(a=>{let b=dJ(c,a);return b===dH||b===dG}))?a:[...a.filter(a=>dJ(d,a)!==dI),d]},[]))}function dL(a,b){return b.reduce((b,c)=>[...b,...a.reduce((a,b)=>[...a,[...b,c]],[])],[])}function dM(a,b,c,d,e){let f=fe(a,b,e);return!function(a,b,c){if(!(aj(b)||dQ(b)||dd(dF({},b,c))))throw Error(`Argument for parameter ${a} does not satisfy constraint`,{cause:{parameter:a,expect:c,actual:b}})}(c,f,d),i(a,{[c]:f})}function dN(a,b,c,d){var e;let f=fd(a,b,d),g=function a(b,c,d,e){var f;return S(d)?[c,R(d.parameters,d.expression)]:Q(d)?(f=d.$ref,f in b?a(b,f,b[f],e):["(not-resolvable)",V()]):["(not-generic)",V()]}(a,"(anonymous)",c,d),h=g[0],i=g[1];return S(i)?((e=b).callstack.length>0?e.callstack[e.callstack.length-1]:"")===h?dO(P(h),f):function(a,b,c,d,e,f){let g=function(a,b,c){let d=function a(b,c=[]){return F(b)&&"Conditional"===b.action?Q(b.parameters[0])?a(b.parameters[2],a(b.parameters[3],[...c,b.parameters[0].$ref])):a(b.parameters[2],a(b.parameters[3],c)):F(b)&&"Mapped"===b.action&&F(b.parameters[1])&&"KeyOf"===b.parameters[1].action&&Q(b.parameters[1].parameters[0])?[...c,b.parameters[1].parameters[0].$ref]:c}(c),e=function a(b,c,d=[]){return s(b,(b,e)=>s(c,(c,f)=>a(e,f,[...d,[c,b]]),()=>d),()=>d)}(b,a.reduce((a,b)=>[...a,d.includes(b.name)],[]));return F(c)&&"Conditional"===c.action||F(c)&&"Mapped"===c.action?e.reduce((a,b)=>{var c;return!0===b[0]?dL(a,a6(c=b[1])?[...c.anyOf]:[c]):dL(a,[b[1]])},[[]]):[b]}(d,f,e),h=g.reduce((f,g)=>{var h,i,j,k,l;let m,n;return[...f,(h=a,i=b,j=c,k=d,l=e,m=function a(b,c,d,e){return s(d,(d,f)=>{let g,h;return g=fe(b,c,d.extends),h=fe(b,c,d.equals),s(e,(e,h)=>a(dM(b,c,d.name,g,e),c,f,h),()=>a(dM(b,c,d.name,g,h),c,f,[]))},()=>b)}(h,i,k,g),n=fe(m,e9([...i.callstack,j.$ref],i.visited),l),fe(m,e9([],[]),n))]},[]);return 1===h.length?h[0]:bo(h)}(a,b,P(h),i.parameters,i.expression,f):dO(c,f)}function dO(a,b){return z({"~kind":"Call"},{type:"call",target:a,arguments:b},{})}function dP(a,b){return dN({},e9([],[]),a,b)}function dQ(a){return C(a,"Call")}function dR(a,b){var c,d;return aV(b)?(c=a,r(d=b.const)?aT(c(d)):aT(d)):c6(b)?dR(a,bn(b.pattern)):a6(b)?a5(b.anyOf.map(b=>dR(a,b))):b}function dS(a,b={}){return E("Capitalize",[a],b)}function dT(a,b={}){return d2(a,b)}function dU(a,b={}){return E("Lowercase",[a],b)}function dV(a,b={}){return d3(a,b)}function dW(a,b={}){return E("Uncapitalize",[a],b)}function dX(a,b={}){return d4(a,b)}function dY(a,b={}){return E("Uppercase",[a],b)}function dZ(a,b={}){return d5(a,b)}let d$=a=>a[0].toUpperCase()+a.slice(1),d_=a=>a.toLowerCase(),d0=a=>a[0].toLowerCase()+a.slice(1),d1=a=>a.toUpperCase();function d2(a,b){return fa([a])?B(dR(d$,a),{},b):dS(a,b)}function d3(a,b){return fa([a])?B(dR(d_,a),{},b):dU(a,b)}function d4(a,b){return fa([a])?B(dR(d0,a),{},b):dW(a,b)}function d5(a,b){return fa([a])?B(dR(d1,a),{},b):dY(a,b)}function d6(a,b,c,d,e={}){return E("Conditional",[a,b,c,d],e)}function d7(a,b,c,d,e={}){return d8({},e9([],[]),a,b,c,d,e)}function d8(a,b,c,d,e,f,g){let h;return fa([c,d])?B(c8(h=dF(a,c,d))?a5([fe(h.inferred,b,e),fe(a,b,f)]):da(h)?fe(h.inferred,b,e):fe(a,b,f),{},g):d6(c,d,e,f,g)}function d9(a,b={}){return E("ConstructorParameters",[a],b)}function ea(a,b={}){return eb(a,b)}function eb(a,b){let c;return fa([a])?B((c=M(a)?a.parameters:[],bc(fc({},e9([],[]),c))),{},b):d9(a,b)}function ec(a,b,c={}){return E("Exclude",[a,b],c)}function ed(a,b,c={}){return ee(a,b,c)}function ee(a,b,c){return fa([a,b])?B(bj(a,b),{},c):ec(a,b,c)}function ef(a,b,c={}){return E("Extract",[a,b],c)}function eg(a,b,c={}){return eh(a,b,c)}function eh(a,b,c){var d;let e;return fa([a,b])?B(bo((d=a6(e=bp(a))?e.anyOf:[e],d.reduce((a,c)=>[...a,...dd(dF({},c,b))?[c]:[]],[]))),{},c):ef(a,b,c)}function ei(a){return a5(a.reduce((a,b)=>aU(b)?[...a,aT(b)]:a,[]))}function ej(a,b,c={}){return E("Index",[a,b],c)}function ek(a,b,c={}){return ex(a,j(b)?ei(b):b,c)}function el(a){var b;return ae(a)?el(dD(a.$defs,a.$ref)):al(a)?(b=a.if,el(bk(b,a.then,a.else))):aq(a)?a.allOf.reduce((a,b)=>{var c;let d,e,f,g,h,j,k;return c=el(b),d=v(a).filter(a=>!u(c,a)),e=v(c).filter(b=>!u(a,b)),f=v(a).filter(a=>u(c,a)),g=d.reduce((b,c)=>({...b,[c]:a[c]}),{}),h=e.reduce((a,b)=>({...a,[b]:c[b]}),{}),j=f.reduce((b,d)=>({...b,[d]:bm([a[d],c[d]])}),{}),k=i(g,h),i(k,j)},{}):a6(a)?s(a.anyOf,(a,b)=>(function a(b,c){return s(b,(b,d)=>{var e;return a(d,(e=el(b),v(c).filter(a=>a in e).reduce((a,b)=>({...a,[b]:bo([c[b],e[b]])}),{})))},()=>c)})(b,el(a)),()=>au()):bd(a)?el(_(bh(bc(a.items).items))):aa(a)?a.properties:{}}let em=RegExp("^(?:0|[1-9][0-9]*)$");function en(a){let b=`${a}`;return em.test(b)?parseInt(b):a}function eo(a){return a.map(a=>ep(a))}function ep(a){return aq(a)?ap(eo(a.allOf)):a6(a)?a5(eo(a.anyOf)):aV(a)?aT(en(a.const)):a}function eq(a){var b,c;return ae(a)?eq(dD(a.$defs,a.$ref)):al(a)?(b=a.if,eq(bk(b,a.then,a.else))):ao(a)?eq(bl(a.enum)):aq(a)?eq(bm(a.allOf)):aV(a)?(c=a.const,[`${c}`]):c6(a)?eq(bn(a.pattern)):a6(a)?a.anyOf.reduce((a,b)=>[...a,...eq(b)],[]):[]}function er(a,b){return b.map(b=>es(a,b))}function es(a,b){return J(b)?I(es(a,b.items)):M(b)?L(er(a,b.parameters),es(a,b.instanceType)):O(b)?N(er(a,b.parameters),es(a,b.returnType)):bd(b)?bc(er(a,b.items)):a6(b)?a5(er(a,b.anyOf)):aq(b)?ap(er(a,b.allOf)):bG(b)?_(a):b}function et(a,b){return b.reduce((b,c)=>{var d,e;let f;return[...b,(d=a,f=(e=c)in d?d[e]:V(),es(d,f))]},[])}let eu=new RegExp(bt);function ev(a){return a.map(a=>ew(a))}function ew(a){return aq(a)?ap(ev(a.allOf)):a6(a)?a5(ev(a.anyOf)):aV(a)?aT(en(a.const)):a}function ex(a,b,c){var d,e,f,g,h,i;let j;return fa([a,b])?B((d=ae(f=a)||al(f)||aq(f)||a6(f)?_(el(f)):f,J(d)?(g=d.items,dd(dF({},ep(h=b),aZ()))?g:aV(h)&&"length"===h.const?aZ():V()):aa(d)?(e=d.properties,a$(b)?(j=v(i=e).filter(a=>eu.test(a)),bo(et(i,j))):bo(et(e,eq(b)))):bd(d)?function(a,b){let c;return aV(b)&&"length"===b.const?aT(a.length):a$(b)||aR(b)?bq(a):bq((c=ew(b),a.reduceRight((a,b,d)=>dd(dF({},aT(d),c))?[b,...a]:a,[])))}(d.items,b):V()),{},c):ej(a,b,c)}function ey(a,b={}){return E("InstanceType",[a],b)}function ez(a,b={}){return eA(a,b)}function eA(a,b){return fa([a])?B(M(a)?a.instanceType:V(),{},b):ey(a,b)}function eB(a,b={}){return E("KeyOf",[a],b)}function eC(a,b={}){return eD(a,b)}function eD(a,b){var c,d;return fa([a])?B(U(d=ae(c=a)||al(c)||aq(c)||a6(c)?_(el(c)):c)?a5([aZ(),a3(),a_()]):J(d)?(d.items,aZ()):aa(d)?bq(v(d.properties).reduce((a,b)=>aU(b)?[...a,aT(en(b))]:au(),[])):bC(d)?bA(d):bd(d)?bq(d.items.map((a,b)=>aT(b))):V(),{},b):eB(a,b)}function eE(a,b,c,d,e={}){return E("Mapped",[a,b,c,d],e)}function eF(a,b,c,d,e={}){return eG({},e9([],[]),a,b,c,d,e)}function eG(a,b,c,d,e,f,g){return fa([d])?B(function(a,b,c,d,e,f){let g=function a(b){var c;return ao(b)?a(bl(b.enum)):aV(b)?o(c=b.const)?[aT(`${c}`)]:[aT(c)]:c6(b)?a(bn(b.pattern)):a6(b)?b.anyOf.reduce((b,c)=>[...b,...a(c)],[]):[b]}(d);return bm(g.reduce((d,g)=>{var h;let j,k,l;return[...d,(k=c6(h=fe(j=i(a,{[c.name]:g}),b,e))?bn(h.pattern):h,l=fe(j,b,f),aV(k)&&o(k.const)||aV(k)&&r(k.const)?{[k.const]:l}:{})]},[]).reduce((a,b)=>[...a,_(b)],[]))}(a,b,c,d,e,f),{},g):eE(c,d,e,f,g)}function eH(a,b,c,d){let e,f,g,h,j;return e=function(a){let b=v(a);return b.reduce((b,c)=>dy([c],a,a[c])?[...b,c]:b,[])}(c),f=i(a,c),g=v(c).filter(a=>e.includes(a)).reduce((a,b)=>({...a,[b]:function(a,b,c){let d=dA(a,c,[b]);return ad(v(a).filter(a=>d.includes(a)).reduce((b,c)=>{var d,e;let f=a[c],g=dv(f)?(d=f.parameters[0],e=f.parameters[1],bm([...fd(a,e9([],[]),d),_(fb({},e9([],[]),e))])):f;return{...b,[c]:g}},{}),b)}(f,b,c[b])}),{}),h=i(a,c),j=v(c).filter(a=>!e.includes(a)).reduce((a,b)=>({...a,[b]:fe(h,e9([],[]),c[b])}),{}),B({...g,...j},{},d)}function eI(a,b={}){return E("NonNullable",[a],b)}function eJ(a,b={}){return eK(a,b)}function eK(a,b){return fa([a])?B(ee(a,a5([aW(),bH()]),{}),{},b):eI(a,b)}function eL(a,b,c={}){return E("Omit",[a,b],c)}function eM(a,b,c={}){return eO(a,j(b)?ei(b):b,c)}function eN(a){let b=_(el(a));return aa(b)?b.properties:au()}function eO(a,b,c){return fa([a,b])?B(function(a,b){let c=eN(a),d=eq(b);return _(v(c).reduce((a,b)=>d.includes(b)?a:{...a,[b]:c[b]},{}))}(a,b),{},c):eL(a,b,c)}function eP(a,b={}){return E("Parameters",[a],b)}function eQ(a,b={}){return eR(a,b)}function eR(a,b){let c;return fa([a])?B((c=O(a)?a.parameters:[],bc(fc({},e9([],[]),c))),{},b):eP(a,b)}function eS(a,b={}){return E("Partial",[a],b)}function eT(a,b={}){return eU(a,b)}function eU(a,b){return fa([a])?B(function a(b){var c,d,e,f;let g;return ae(b)?(g=a(dD(c=b.$defs,d=b.$ref)),ad(i(c,{[d]:g}),d)):al(b)?(e=b.if,a(bk(e,b.then,b.else))):aq(b)?a(bm(b.allOf)):a6(b)?a5(b.anyOf.map(b=>a(b))):aa(b)?_(v(f=b.properties).reduce((a,b)=>({...a,[b]:Y(f[b])}),{})):_({})}(a),{},b):eS(a,b)}function eV(a,b,c={}){return E("Pick",[a,b],c)}function eW(a,b,c={}){return eX(a,j(b)?ei(b):b,c)}function eX(a,b,c){return fa([a,b])?B(function(a,b){let c=eN(a),d=eq(b);return _(v(c).reduce((a,b)=>d.includes(b)?i(a,{[b]:c[b]}):a,{}))}(a,b),{},c):eV(a,b,c)}function eY(a,b={}){return E("ReadonlyObject",[a],b)}function eZ(a,b={}){return e_(a,b)}let e$=eZ;function e_(a,b){return fa([a])?B(function a(b){var c,d,e,f;let g;return J(b)?fh(I(b.items)):ae(b)?(g=a(dD(c=b.$defs,d=b.$ref)),ad(i(c,{[d]:g}),d)):al(b)?(e=b.if,a(bk(e,b.then,b.else))):aq(b)?a(bm(b.allOf)):aa(b)?_(v(f=b.properties).reduce((a,b)=>({...a,[b]:aE(f[b])}),{})):bd(b)?fh(bc(b.items)):a6(b)?a5(b.anyOf.map(b=>a(b))):b}(a),{},b):eY(a)}function e0(a,b={}){return E("Required",[a],b)}function e1(a,b={}){return e2(a,b)}function e2(a,b){return fa([a])?B(function a(b){var c,d,e,f;let g;return ae(b)?(g=a(dD(c=b.$defs,d=b.$ref)),ad(i(c,{[d]:g}),d)):al(b)?(e=b.if,a(bk(e,b.then,b.else))):aq(b)?a(bm(b.allOf)):a6(b)?a5(b.anyOf.map(b=>a(b))):aa(b)?_(v(f=b.properties).reduce((a,b)=>({...a,[b]:bg(f[b])}),{})):_({})}(a),{},b):e0(a,b)}function e3(a,b={}){return E("ReturnType",[a],b)}function e4(a,b={}){return e5(a,b)}function e5(a,b){return fa([a])?B(O(a)?a.returnType:V(),{},b):e3(a,b)}function e6(a,b){return E("With",[a,b],{})}function e7(a,b){return e8(a,b)}function e8(a,b){return fa([a])?B(a,{},b):e6(a,b)}function e9(a,b){return{callstack:a,visited:b}}function fa(a){return s(a,(a,b)=>!Q(a)&&fa(b),()=>!0)}function fb(a,b,c){return v(c).reduce((d,e)=>({...d,[e]:fe(a,b,c[e])}),{})}function fc(a,b,c){return function a(b){return b.reduce((b,c)=>[...b,...bE(c)?bd(c.items)?a(c.items.items):aj(c.items)||Q(c.items)?[c]:[V()]:[c]],[])}(fd(a,b,c))}function fd(a,b,c){return c.map(c=>fe(a,b,c))}function fe(a,b,c){return F(c)?function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,C,D,F,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad;let ae,af,ag;return"AddImmutable"===c?(aa=a,ab=b,ac=d[0],ad=e,fg(fe(aa,ab,ac),ad)):"RemoveImmutable"===c?(f=d[0],g=fe(a,b,f),B(A(g,["~immutable"]),{},e)):"AddReadonly"===c?(h=d[0],G(fe(a,b,h),e)):"RemoveReadonly"===c?(i=d[0],be(fe(a,b,i),e)):"AddOptional"===c?(j=d[0],H(fe(a,b,j),e)):"RemoveOptional"===c?(k=d[0],bf(fe(a,b,k),e)):"Capitalize"===c?(l=d[0],d2(fe(a,b,l),e)):"Conditional"===c?(m=d[0],n=d[1],o=d[2],p=d[3],ae=fe(a,b,m),af=fe(a,b,n),d8(a,b,ae,af,o,p,e)):"ConstructorParameters"===c?(q=d[0],eb(fe(a,b,q),e)):"Evaluate"===c?(r=d[0],s=fe(a,b,r),B(bp(s),{},e)):"Exclude"===c?(t=d[0],u=d[1],ee(fe(a,b,t),fe(a,b,u),e)):"Extract"===c?(v=d[0],w=d[1],eh(fe(a,b,v),fe(a,b,w),e)):"Index"===c?(x=d[0],y=d[1],ex(fe(a,b,x),fe(a,b,y),e)):"InstanceType"===c?function(a,b,c,d={}){return eA(fe(a,b,c),d)}(a,b,d[0],e):"Interface"===c?(z=d[0],C=d[1],dt(fd(a,b,z),fb(a,b,C),e)):"KeyOf"===c?(D=d[0],eD(fe(a,b,D),e)):"Lowercase"===c?(F=d[0],d3(fe(a,b,F),e)):"Mapped"===c?(I=d[0],J=d[1],K=d[2],L=d[3],ag=fe(a,b,J),eG(a,b,I,ag,K,L,e)):"Module"===c?eH(a,b,d[0],e):"NonNullable"===c?(M=d[0],eK(fe(a,b,M),e)):"Pick"===c?(N=d[0],O=d[1],eX(fe(a,b,N),fe(a,b,O),e)):"Parameters"===c?(P=d[0],eR(fe(a,b,P),e)):"Partial"===c?(Q=d[0],eU(fe(a,b,Q),e)):"Omit"===c?(R=d[0],S=d[1],eO(fe(a,b,R),fe(a,b,S),e)):"ReadonlyObject"===c?(T=d[0],e_(fe(a,b,T),e)):"Record"===c?(U=d[0],V=d[1],bs(fe(a,b,U),fe(a,b,V),e)):"Required"===c?(W=d[0],e2(fe(a,b,W),e)):"ReturnType"===c?function(a,b,c,d={}){return e5(fe(a,b,c),d)}(a,b,d[0],e):"TemplateLiteral"===c?(X=d[0],c3(fd(a,b,X),e)):"Uncapitalize"===c?(Y=d[0],d4(fe(a,b,Y),e)):"Uppercase"===c?(Z=d[0],d5(fe(a,b,Z),e)):"With"===c?($=d[0],_=d[1],e8(fe(a,b,$),_)):E(c,d,e)}(a,b,c.action,c.parameters,c.options):function(a,b,c){var d;let e,f,g=Q(c)?(d=c.$ref,b.visited.includes(d)?c:d in a?fe(a,e9(b.callstack,[...b.visited,d]),a[d]):c):J(c)?I(fe(a,b,c.items),K(c)):dQ(c)?dN(a,b,c.target,c.arguments):M(c)?L(fd(a,b,c.parameters),fe(a,b,c.instanceType),A(c,["~kind","type","parameters","instanceType"])):O(c)?N(fd(a,b,c.parameters),fe(a,b,c.returnType),A(c,["~kind","type","parameters","returnType"])):al(c)?ak(fe(a,b,c.if),fe(a,b,c.then),fe(a,b,c.else),A(c,["~kind","if","then","else"])):aq(c)?ap(fd(a,b,c.allOf),A(c,["~kind","allOf"])):aa(c)?_(fb(a,b,c.properties),A(c,["~kind","type","properties","required"])):bC(c)?bb(bz(c),fe(a,b,bB(c))):bE(c)?bD(fe(a,b,c.items)):bd(c)?bc(fc(a,b,c.items),A(c,["~kind","type","items","minItems","additionalItems"])):a6(c)?a5(fd(a,b,c.anyOf),A(c,["~kind","anyOf"])):c;return e=$(c)?H(g,{}):g,f=aG(c)?G(e,{}):e,aC(c)?fg(f,{}):f}(a,b,c)}function ff(a,b){return fe(a,e9([],[]),b)}function fg(a,b){return B(B(a,{"~immutable":!0},{}),{},b)}function fh(a,b={}){return fg(a,b)}function fi(a,b={}){return B(bp(a),{},b)}function fj(a,b={}){return eH({},e9([],[]),a,b)}function fk(...a){let b,[c,d,e]=ah(a,{2:(a,b)=>r(a)?[{},a,b]:[a,b,{}],3:(a,b,c)=>[a,b,c],1:a=>[{},a,{}]}),f=cf(cf(cf(cf(c1(b=d),([a,b])=>cf(cf(cf(c0(b),([a,b])=>cf(cf(cf(c1(b),([a,b])=>[[a],b]),([a,b])=>[a,b],()=>cf([[],b],([a,b])=>[a,b],()=>[])),([b,c])=>[[a,b],c])),([a,b])=>[bQ(bM(a)),b]),([b,c])=>[[a,b],c])),([a,b])=>[function(a,b={}){return E("Module",[a],b)}(i(a[0],a[1][0])),b]),([a,b])=>[a,b],()=>cf(cf(cf(ci(b),([a,b])=>cf(b6("=",b),([b,c])=>cf(cy(c),([c,d])=>[[a,b,c],d]))),([a,b])=>[R(a[0],a[2]),b]),([a,b])=>[a,b],()=>cf(cy(b),([a,b])=>[a,b],()=>[]))),([a,b])=>[a,b]);return B(j(f)&&2===f.length?fe(c,e9([],[]),f[0]):V(),{},e)}},54366:(a,b,c)=>{"use strict";function d(){return{defaultAgentType:null,modeId:null,configValues:{},autoProcess:!0,maxConcurrent:1,mergeStrategy:"merge",deleteWorktreeDefault:!0,preflightCommand:null,initCommand:null,stagePrompts:null}}c.d(b,{os:()=>d})},57856:(a,b,c)=>{"use strict";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})}},61446:(a,b,c)=>{"use strict";let d=c(62404),{toPromise:e,toSync:f,toSyncOptions:g}=c(13884);async function h(a,b){let c=await e(d.lock)(a,b);return e(c)}a.exports=h,a.exports.lock=h,a.exports.unlock=function(a,b){return e(d.unlock)(a,b)},a.exports.lockSync=function(a,b){let c=f(d.lock)(a,g(b));return f(c)},a.exports.unlockSync=function(a,b){return f(d.unlock)(a,g(b))},a.exports.check=function(a,b){return e(d.check)(a,b)},a.exports.checkSync=function(a,b){return f(d.check)(a,g(b))}},61577:(a,b,c)=>{"use strict";async function d(a,b,c){if(!b.model&&!b.thinkingLevel)return{modelDefaultChanged:!1};let d=!1;return b.model&&c.model&&b.model.provider===c.model.provider&&b.model.modelId===c.model.modelId&&(a.setDefaultModelAndProvider(c.model.provider,c.model.modelId),d=!0),b.thinkingLevel&&(c.supportsThinking||"off"!==c.thinkingLevel)&&a.setDefaultThinkingLevel(c.thinkingLevel),await a.flush(),{modelDefaultChanged:d}}c.d(b,{o:()=>d})},62391:(a,b,c)=>{"use strict";c.d(b,{l:()=>q,P9:()=>p,IL:()=>r,KI:()=>n});var d=c(79646),e=c(29021),f=c(33873);function g(a){return a&&"win32"===process.platform?(0,f.normalize)(a):a}function h(a,b){return a===b||!!a&&!!b&&"win32"===process.platform&&g(a).toLowerCase()===g(b).toLowerCase()}let i=(0,c(28354).promisify)(d.execFile);function j(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}let k=0;function l(){globalThis.__piProjectCache?.clear()}async function m(a,b){let{stdout:c}=await i("git",["-C",a,...b],{timeout:1e4,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return c.trim()}async function n(a){let b;!function(){let a=Date.now();if(a-k<6e4)return;k=a;let b=j();for(let[c,d]of b)d.expiresAt<=a&&b.delete(c)}();let c=j(),d=c.get(a);if(d&&d.expiresAt>Date.now())return d.info;try{if(!(0,e.existsSync)(a))return b=function(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&(0,e.existsSync)((0,f.join)(c,".git"))?{projectRoot:c,branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1},c.set(a,{info:b,expiresAt:Date.now()+6e4}),b;let[d,i,j,k]=(await m(a,["rev-parse","--path-format=absolute","--git-common-dir","--git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[l,n,o]=[d,i,j].map(g),p=a;try{p=(0,e.realpathSync)(a)}catch{}let q=h(o,p),r=!h(n,l)&&q;b={projectRoot:r?(0,f.dirname)(l):a,branch:k&&"HEAD"!==k?k:null,isWorktree:r,isTopLevel:q}}catch{b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function o(a){let b=await m(a,["rev-parse","--path-format=absolute","--git-common-dir"]);return(0,f.dirname)(g(b))}async function p(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&!d.prunable&&(0,e.existsSync)(d.path)&&c.push({path:d.path,branch:d.branch??null,isMain:0===c.length}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),d={path:g(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&f();return f(),c}async function q(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await o(a),h=`${(0,f.resolve)(g)}-worktrees`,i=(0,f.join)(h,d);if((0,e.existsSync)(i))throw Error(`Directory already exists: ${i}`);(0,e.mkdirSync)(h,{recursive:!0});let j=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),j=!0}catch{j=!1}try{j?await m(g,["worktree","add","--",i,c]):await m(g,["worktree","add","-b",c,"--",i])}catch(a){throw Error(s(a))}return!function(a){if(!a)return;let b=a.replace(/\\/g,"/");(!globalThis.__piAdditionalAllowedRoots&&(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots).add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}(i),l(),{path:i,branch:c}}async function r(a,b,c=!1){let d=(await p(a)).find(a=>h(a.path,b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],b])}catch(a){throw Error(s(a))}l()}function s(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},62404:(a,b,c)=>{"use strict";let d=c(33873),e=c(93329),f=c(81463),g=c(75856),h=c(16176),i={};function j(a,b){return b.lockfilePath||`${a}.lock`}function k(a,b,c){if(!b.realpath)return c(null,d.resolve(a));b.fs.realpath(a,c)}function l(a,b){return a.mtime.getTime()<Date.now()-b.stale}function m(a,b,c){b.fs.rmdir(j(a,b),a=>{if(a&&"ENOENT"!==a.code)return c(a);c()})}function n(a,b,c){b.released=!0,b.updateTimeout&&clearTimeout(b.updateTimeout),i[a]===b&&delete i[a],b.options.onCompromised(c)}function o(a,b,c){k(a,b={fs:e,realpath:!0,...b},(a,d)=>{if(a)return c(a);let e=i[d];if(!e)return c(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));e.updateTimeout&&clearTimeout(e.updateTimeout),e.released=!0,delete i[d],m(d,b,c)})}g(()=>{for(let a in i){let b=i[a].options;try{b.fs.rmdirSync(j(a,b))}catch(a){}}}),a.exports.lock=function(a,b,c){(b={stale:1e4,update:null,realpath:!0,retries:0,fs:e,onCompromised:a=>{throw a},...b}).retries=b.retries||0,b.retries="number"==typeof b.retries?{retries:b.retries}:b.retries,b.stale=Math.max(b.stale||0,2e3),b.update=null==b.update?b.stale/2:b.update||0,b.update=Math.max(Math.min(b.update,b.stale/2),1e3),k(a,b,(a,d)=>{if(a)return c(a);let e=f.operation(b.retries);e.attempt(()=>{!function a(b,c,d){let e=j(b,c);c.fs.mkdir(e,f=>f?"EEXIST"!==f.code?d(f):c.stale<=0?d(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:b})):void c.fs.stat(e,(e,f)=>e?"ENOENT"===e.code?a(b,{...c,stale:0},d):d(e):l(f,c)?void m(b,c,e=>{if(e)return d(e);a(b,{...c,stale:0},d)}):d(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:b}))):h.probe(e,c.fs,(a,b,f)=>{if(a)return c.fs.rmdir(e,()=>{}),d(a);d(null,b,f)}))}(d,b,(a,f,g)=>{if(e.retry(a))return;if(a)return c(e.mainError());let k=i[d]={lockfilePath:j(d,b),mtime:f,mtimePrecision:g,options:b,lastUpdate:Date.now()};!function a(b,c){let d=i[b];!d.updateTimeout&&(d.updateDelay=d.updateDelay||c.update,d.updateTimeout=setTimeout(()=>{d.updateTimeout=null,c.fs.stat(d.lockfilePath,(e,f)=>{let g=d.lastUpdate+c.stale<Date.now();if(e)return"ENOENT"===e.code||g?n(b,d,Object.assign(e,{code:"ECOMPROMISED"})):(d.updateDelay=1e3,a(b,c));if(d.mtime.getTime()!==f.mtime.getTime())return n(b,d,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let i=h.getMtime(d.mtimePrecision);c.fs.utimes(d.lockfilePath,i,i,e=>{let f=d.lastUpdate+c.stale<Date.now();if(!d.released){if(e)return"ENOENT"===e.code||f?n(b,d,Object.assign(e,{code:"ECOMPROMISED"})):(d.updateDelay=1e3,a(b,c));d.mtime=i,d.lastUpdate=Date.now(),d.updateDelay=null,a(b,c)}})})},d.updateDelay),d.updateTimeout.unref&&d.updateTimeout.unref())}(d,b),c(null,a=>{if(k.released)return a&&a(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));o(d,{...b,realpath:!1},a)})})})})},a.exports.unlock=o,a.exports.check=function(a,b,c){(b={stale:1e4,realpath:!0,fs:e,...b}).stale=Math.max(b.stale||0,2e3),k(a,b,(a,d)=>{if(a)return c(a);b.fs.stat(j(d,b),(a,d)=>a?"ENOENT"===a.code?c(null,!1):c(a):c(null,!l(d,b)))})},a.exports.getLocks=function(){return i}},65562:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Q1:()=>u,Rv:()=>v,_o:()=>s,fd:()=>t,h6:()=>r,z1:()=>m});var e=c(29021),f=c(33873),g=c(75430),h=c(12969),i=c(69420),j=c(54366),k=a([g]);function l(){return(0,f.join)((0,g.getAgentDir)(),"tasks")}function m(a){return(0,f.join)(l(),(0,i.A0)(a).replace(/^\/+/,"").split("/").filter(Boolean).map(a=>encodeURIComponent(a)).join("--")||"root")}function n(a){return(0,f.join)(m(a),"tasks.jsonl")}function o(){return(0,f.join)(l(),"settings.json")}function p(a){(0,e.existsSync)(a)||(0,e.mkdirSync)(a,{recursive:!0,mode:448})}function q(a){if(!(0,e.existsSync)(a))return[];let b=(0,e.readFileSync)(a,"utf8"),c=[];for(let a of b.split("\n")){let b=a.trim();if(b)try{c.push(JSON.parse(b))}catch{}}return c}function r(a){return q(n(a)).sort((a,b)=>a.sortOrder-b.sortOrder||a.id-b.id)}function s(a,b){return r(a).find(a=>a.id===b)??null}function t(a){let b,c=n(a.projectRoot),d=r(a.projectRoot),e=d.findIndex(b=>b.id===a.id),f={...a,updatedAt:new Date().toISOString()};e>=0?d[e]=f:d.push(f),p(c.substring(0,c.lastIndexOf("/"))),b=d.map(a=>JSON.stringify(a)).join("\n")+"\n",(0,h.$)(c,b)}function u(a,b){let c=(0,f.join)(m(a),"events.jsonl"),d=q(c).reduce((a,b)=>Math.max(a,b.id),0)+1,g={...b,payload:b.payload??null,id:d,createdAt:new Date().toISOString()};return p(c.substring(0,c.lastIndexOf("/"))),(0,e.writeFileSync)(c,JSON.stringify(g)+"\n",{encoding:"utf8",flag:"a",mode:384}),g}function v(a){let b=function(a){let b=o();if(!(0,e.existsSync)(b))return null;try{return JSON.parse((0,e.readFileSync)(b,"utf8"))[a]??null}catch{return null}}(a),c=function(){let a=o();if(!(0,e.existsSync)(a))return(0,j.os)();try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return{...(0,j.os)(),...b._global??{}}}catch{return(0,j.os)()}}();return b?{...c,...b,configValues:{...c.configValues,...b.configValues??{}}}:c}g=(k.then?(await k)():k)[0],d()}catch(a){d(a)}})},67313:(a,b,c)=>{var d=c(92759);b.operation=function(a){return new d(b.timeouts(a),{forever:a&&a.forever,unref:a&&a.unref,maxRetryTime:a&&a.maxRetryTime})},b.timeouts=function(a){if(a instanceof Array)return[].concat(a);var b={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var c in a)b[c]=a[c];if(b.minTimeout>b.maxTimeout)throw Error("minTimeout is greater than maxTimeout");for(var d=[],e=0;e<b.retries;e++)d.push(this.createTimeout(e,b));return a&&a.forever&&!d.length&&d.push(this.createTimeout(e,b)),d.sort(function(a,b){return a-b}),d},b.createTimeout=function(a,b){var c=Math.round((b.randomize?Math.random()+1:1)*b.minTimeout*Math.pow(b.factor,a));return Math.min(c,b.maxTimeout)},b.wrap=function(a,c,d){if(c instanceof Array&&(d=c,c=null),!d)for(var e in d=[],a)"function"==typeof a[e]&&d.push(e);for(var f=0;f<d.length;f++){var g=d[f],h=a[g];a[g]=(function(d){var e=b.operation(c),f=Array.prototype.slice.call(arguments,1),g=f.pop();f.push(function(a){e.retry(a)||(a&&(arguments[0]=e.mainError()),g.apply(this,arguments))}),e.attempt(function(){d.apply(a,f)})}).bind(a,h),a[g].options=c}}},69420:(a,b,c)=>{"use strict";function d(a){return/^[a-zA-Z]:[\\/]/.test(a)||a.startsWith("\\\\")?a.replace(/\\/g,"/"):a}c.d(b,{A0:()=>d})},69453:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{O8:()=>l,mD:()=>i});var e=c(75430);c(29021);var f=c(33873);c(97563),c(62391);var g=c(74986),h=a([e,g]);function i(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1,globalThis.__piSessionListCache=void 0}function j(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function k(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function l(a,b){let c=(0,f.normalize)(b),d=j(),e=k(),g=d.get(a),h=e.get(c);g&&g!==c&&e.get(g)===a&&e.delete(g),h&&h!==a&&d.get(h)===c&&d.delete(h),d.set(a,c),e.set(c,a);let i=j();for(k();i.size>4096;){let a=i.keys().next().value;if(void 0===a)break;!function(a){let b=j(),c=k(),d=b.get(a);b.delete(a),d&&c.get(d)===a&&c.delete(d)}(a)}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},74986:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{Tu:()=>i});var e=c(73024),f=c(76760);c(61446);var g=c(75430);c(12969);var h=a([g]);function i(){let a=(0,f.join)((0,g.getAgentDir)(),"settings.json");if(!(0,e.existsSync)(a))return{};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null===b||"object"!=typeof b||Array.isArray(b)?{}:b}catch{return{}}}g=(h.then?(await h)():h)[0],d()}catch(a){d(a)}})},75856:(a,b,c)=>{var d=global.process;let e=function(a){return a&&"object"==typeof a&&"function"==typeof a.removeListener&&"function"==typeof a.emit&&"function"==typeof a.reallyExit&&"function"==typeof a.listeners&&"function"==typeof a.kill&&"number"==typeof a.pid&&"function"==typeof a.on};if(e(d)){var f,g=c(12412),h=c(30223),i=/^win/i.test(d.platform),j=c(94735);"function"!=typeof j&&(j=j.EventEmitter),d.__signal_exit_emitter__?f=d.__signal_exit_emitter__:((f=d.__signal_exit_emitter__=new j).count=0,f.emitted={}),f.infinite||(f.setMaxListeners(1/0),f.infinite=!0),a.exports=function(a,b){if(!e(global.process))return function(){};g.equal(typeof a,"function","a callback must be provided for exit handler"),!1===n&&o();var c="exit";return b&&b.alwaysLast&&(c="afterexit"),f.on(c,a),function(){f.removeListener(c,a),0===f.listeners("exit").length&&0===f.listeners("afterexit").length&&k()}};var k=function(){n&&e(global.process)&&(n=!1,h.forEach(function(a){try{d.removeListener(a,m[a])}catch(a){}}),d.emit=r,d.reallyExit=p,f.count-=1)};a.exports.unload=k;var l=function(a,b,c){f.emitted[a]||(f.emitted[a]=!0,f.emit(a,b,c))},m={};h.forEach(function(a){m[a]=function(){e(global.process)&&d.listeners(a).length===f.count&&(k(),l("exit",null,a),l("afterexit",null,a),i&&"SIGHUP"===a&&(a="SIGINT"),d.kill(d.pid,a))}}),a.exports.signals=function(){return h};var n=!1,o=function(){!n&&e(global.process)&&(n=!0,f.count+=1,h=h.filter(function(a){try{return d.on(a,m[a]),!0}catch(a){return!1}}),d.emit=s,d.reallyExit=q)};a.exports.load=o;var p=d.reallyExit,q=function(a){e(global.process)&&(d.exitCode=a||0,l("exit",d.exitCode,null),l("afterexit",d.exitCode,null),p.call(d,d.exitCode))},r=d.emit,s=function(a,b){if(!("exit"===a&&e(global.process)))return r.apply(this,arguments);void 0!==b&&(d.exitCode=b);var c=r.apply(this,arguments);return l("exit",d.exitCode,null),l("afterexit",d.exitCode,null),c}}else a.exports=function(){return function(){}}},80723:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{fr:()=>j});var e=c(29021),f=c(33873),g=c(75430),h=c(74986),i=a([g,h]);function j(){let a=(0,f.join)((0,g.getAgentDir)(),"models.json");if(!(0,e.existsSync)(a))return{providers:{}};try{let b=JSON.parse((0,e.readFileSync)(a,"utf8"));return null!==b&&"object"==typeof b?b:{providers:{}}}catch{return{providers:{}}}}[g,h]=i.then?(await i)():i,d()}catch(a){d(a)}})},81463:(a,b,c)=>{a.exports=c(67313)},88250:(a,b,c)=>{"use strict";function d(){let a=(globalThis.__piModelsCacheState||(globalThis.__piModelsCacheState={entries:new Map,inFlight:new Map,generation:0}),globalThis.__piModelsCacheState);a.generation+=1,a.entries.clear(),a.inFlight.clear()}c.d(b,{k:()=>d})},91099:(a,b,c)=>{"use strict";c.d(b,{LF:()=>e,aA:()=>l,bo:()=>i,eG:()=>k});var d=c(29021);let e=`Continue pursuing the active goal. Do the next useful work, then report your disposition:
|
|
23
|
+
- "continue" with the next concrete step;
|
|
24
|
+
- "complete" only when fully done and verified;
|
|
25
|
+
- "blocked" when only the user can unblock you.`,f=["goal complete","[goal: complete]","goal is complete"],g=["goal blocked","[goal: blocked]","blocked:"];function h(a){return`${a}.goal.json`}function i(a){let b=h(a);if(!(0,d.existsSync)(b))return j();try{var c;let a=JSON.parse((0,d.readFileSync)(b,"utf8"));if(!a||1!==a.version||!a.state||"object"!=typeof a.state)return j();let e=a.state;return{status:(c=e.status,["idle","running","paused","blocked","budget_limited","complete"].includes(c)?c:"idle"),goalText:"string"==typeof e.goalText?e.goalText:null,turnsUsed:Number.isFinite(e.turnsUsed)?e.turnsUsed:0,turnsLimit:Number.isFinite(e.turnsLimit)?e.turnsLimit:10,noProgressTurns:Number.isFinite(e.noProgressTurns)?e.noProgressTurns:0,noProgressLimit:Number.isFinite(e.noProgressLimit)?e.noProgressLimit:4,tokensUsed:Number.isFinite(e.tokensUsed)?e.tokensUsed:0,tokenBudget:null===e.tokenBudget||Number.isFinite(e.tokenBudget)?e.tokenBudget??null:null,timeUsedSeconds:Number.isFinite(e.timeUsedSeconds)?e.timeUsedSeconds:0,startedAt:Number.isFinite(e.startedAt)?e.startedAt:void 0,updatedAt:Number.isFinite(e.updatedAt)?e.updatedAt:void 0}}catch{return j()}}function j(){return{status:"idle",goalText:null,turnsUsed:0,turnsLimit:10,noProgressTurns:0,noProgressLimit:4,tokensUsed:0,tokenBudget:null,timeUsedSeconds:0}}function k(a,b){let c=h(a),e=`${c}.tmp`;try{(0,d.writeFileSync)(e,JSON.stringify({version:1,state:b}),{encoding:"utf8",mode:384}),(0,d.renameSync)(e,c)}catch{try{(0,d.rmSync)(e,{force:!0})}catch{}}}class l{constructor(a){this.continuationArmed=!1,this.turnStartMs=0,this.onChanged=null,this.state=a?i(a):j()}hydrate(a){this.state={...a}}getState(){return{...this.state}}isRunning(){return"running"===this.state.status}hasActiveGoal(){return"idle"!==this.state.status}isContinuable(){return"running"===this.state.status}isContinuationArmed(){return this.continuationArmed}armContinuation(){this.continuationArmed=!0}disarmContinuation(){this.continuationArmed=!1}onAgentStart(){this.continuationArmed=!1,this.turnStartMs=Date.now()}setOnChanged(a){this.onChanged=a}commit(a){a.updatedAt=Date.now(),this.state=a,this.onChanged?.(this.getState())}start(a,b=null){let c=Date.now(),d=b??this.state.tokenBudget??null,e={status:"running",goalText:a.trim(),turnsUsed:0,turnsLimit:this.state.turnsLimit,noProgressTurns:0,noProgressLimit:this.state.noProgressLimit,tokensUsed:0,tokenBudget:d,timeUsedSeconds:0,startedAt:c,updatedAt:c};return this.commit(e),this.getState()}pause(){return"running"!==this.state.status||this.commit({...this.state,status:"paused"}),this.getState()}resume(){return"paused"!==this.state.status&&"blocked"!==this.state.status||this.commit({...this.state,status:"running"}),this.getState()}stop(){if("idle"===this.state.status)return this.getState();let a=j();return a.turnsLimit=this.state.turnsLimit,a.noProgressLimit=this.state.noProgressLimit,this.commit(a),this.continuationArmed=!1,this.getState()}edit(a){if("idle"===this.state.status)return this.getState();let b="complete"===this.state.status||"budget_limited"===this.state.status?"running":this.state.status;return this.commit({...this.state,goalText:a.trim(),status:b}),this.getState()}settleTurn(a,b,c){if("running"!==this.state.status)return{verdict:{action:"continue"},state:this.getState()};let d=(a??"").toLowerCase(),e=this.turnStartMs>0?Math.max(0,Math.round((Date.now()-this.turnStartMs)/1e3)):0,h=this.state.tokensUsed+Math.max(0,b),i=this.state.timeUsedSeconds+e,j=this.state.turnsUsed+1;if(f.some(a=>d.includes(a))){let a={...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i};return this.commit({...a,status:"complete"}),{verdict:{action:"complete"},state:this.getState()}}if(g.some(a=>d.includes(a))){let a={...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i};return this.commit({...a,status:"blocked"}),{verdict:{action:"blocked"},state:this.getState()}}let k=0===c?this.state.noProgressTurns+1:0;return null!==this.state.tokenBudget&&h>=this.state.tokenBudget?(this.commit({...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i,noProgressTurns:k,status:"budget_limited"}),{verdict:{action:"budget_limited"},state:this.getState()}):k>=this.state.noProgressLimit?(this.commit({...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i,noProgressTurns:k,status:"blocked"}),{verdict:{action:"blocked"},state:this.getState()}):j>=this.state.turnsLimit?(this.commit({...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i,noProgressTurns:k,status:"paused"}),{verdict:{action:"pause"},state:this.getState()}):(this.commit({...this.state,turnsUsed:j,tokensUsed:h,timeUsedSeconds:i,noProgressTurns:k}),{verdict:{action:"continue"},state:this.getState()})}}},92759:a=>{function b(a,b){"boolean"==typeof b&&(b={forever:b}),this._originalTimeouts=JSON.parse(JSON.stringify(a)),this._timeouts=a,this._options=b||{},this._maxRetryTime=b&&b.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}a.exports=b,b.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts},b.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timeouts=[],this._cachedTimeouts=null},b.prototype.retry=function(a){if(this._timeout&&clearTimeout(this._timeout),!a)return!1;var b=new Date().getTime();if(a&&b-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(a);var c=this._timeouts.shift();if(void 0===c)if(!this._cachedTimeouts)return!1;else this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),c=this._timeouts.shift();var d=this,e=setTimeout(function(){d._attempts++,d._operationTimeoutCb&&(d._timeout=setTimeout(function(){d._operationTimeoutCb(d._attempts)},d._operationTimeout),d._options.unref&&d._timeout.unref()),d._fn(d._attempts)},c);return this._options.unref&&e.unref(),!0},b.prototype.attempt=function(a,b){this._fn=a,b&&(b.timeout&&(this._operationTimeout=b.timeout),b.cb&&(this._operationTimeoutCb=b.cb));var c=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){c._operationTimeoutCb()},c._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},b.prototype.try=function(a){console.log("Using RetryOperation.try() is deprecated"),this.attempt(a)},b.prototype.start=function(a){console.log("Using RetryOperation.start() is deprecated"),this.attempt(a)},b.prototype.start=b.prototype.try,b.prototype.errors=function(){return this._errors},b.prototype.attempts=function(){return this._attempts},b.prototype.mainError=function(){if(0===this._errors.length)return null;for(var a={},b=null,c=0,d=0;d<this._errors.length;d++){var e=this._errors[d],f=e.message,g=(a[f]||0)+1;a[f]=g,g>=c&&(b=e,c=g)}return b}},93329:(a,b,c)=>{var d,e,f,g=c(29021),h=c(39466),i=c(18827),j=c(12817),k=c(28354);function l(a,b){Object.defineProperty(a,d,{get:function(){return b}})}"function"==typeof Symbol&&"function"==typeof Symbol.for?(d=Symbol.for("graceful-fs.queue"),e=Symbol.for("graceful-fs.previous")):(d="___graceful-fs.queue",e="___graceful-fs.previous");var m=function(){};function n(a){h(a),a.gracefulify=n,a.createReadStream=function(b,c){return new a.ReadStream(b,c)},a.createWriteStream=function(b,c){return new a.WriteStream(b,c)};var b=a.readFile;a.readFile=function(a,c,d){return"function"==typeof c&&(d=c,c=null),function a(c,d,e,f){return b(c,d,function(b){b&&("EMFILE"===b.code||"ENFILE"===b.code)?o([a,[c,d,e],b,f||Date.now(),Date.now()]):"function"==typeof e&&e.apply(this,arguments)})}(a,c,d)};var c=a.writeFile;a.writeFile=function(a,b,d,e){return"function"==typeof d&&(e=d,d=null),function a(b,d,e,f,g){return c(b,d,e,function(c){c&&("EMFILE"===c.code||"ENFILE"===c.code)?o([a,[b,d,e,f],c,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,d,e)};var d=a.appendFile;d&&(a.appendFile=function(a,b,c,e){return"function"==typeof c&&(e=c,c=null),function a(b,c,e,f,g){return d(b,c,e,function(d){d&&("EMFILE"===d.code||"ENFILE"===d.code)?o([a,[b,c,e,f],d,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,c,e)});var e=a.copyFile;e&&(a.copyFile=function(a,b,c,d){return"function"==typeof c&&(d=c,c=0),function a(b,c,d,f,g){return e(b,c,d,function(e){e&&("EMFILE"===e.code||"ENFILE"===e.code)?o([a,[b,c,d,f],e,g||Date.now(),Date.now()]):"function"==typeof f&&f.apply(this,arguments)})}(a,b,c,d)});var f=a.readdir;a.readdir=function(a,b,c){"function"==typeof b&&(c=b,b=null);var d=g.test(process.version)?function(a,b,c,d){return f(a,e(a,b,c,d))}:function(a,b,c,d){return f(a,b,e(a,b,c,d))};return d(a,b,c);function e(a,b,c,e){return function(f,g){f&&("EMFILE"===f.code||"ENFILE"===f.code)?o([d,[a,b,c],f,e||Date.now(),Date.now()]):(g&&g.sort&&g.sort(),"function"==typeof c&&c.call(this,f,g))}}};var g=/^v[0-5]\./;if("v0.8"===process.version.substr(0,4)){var j=i(a);q=j.ReadStream,r=j.WriteStream}var k=a.ReadStream;k&&(q.prototype=Object.create(k.prototype),q.prototype.open=function(){var a=this;t(a.path,a.flags,a.mode,function(b,c){b?(a.autoClose&&a.destroy(),a.emit("error",b)):(a.fd=c,a.emit("open",c),a.read())})});var l=a.WriteStream;l&&(r.prototype=Object.create(l.prototype),r.prototype.open=function(){var a=this;t(a.path,a.flags,a.mode,function(b,c){b?(a.destroy(),a.emit("error",b)):(a.fd=c,a.emit("open",c))})}),Object.defineProperty(a,"ReadStream",{get:function(){return q},set:function(a){q=a},enumerable:!0,configurable:!0}),Object.defineProperty(a,"WriteStream",{get:function(){return r},set:function(a){r=a},enumerable:!0,configurable:!0});var m=q;Object.defineProperty(a,"FileReadStream",{get:function(){return m},set:function(a){m=a},enumerable:!0,configurable:!0});var p=r;function q(a,b){return this instanceof q?(k.apply(this,arguments),this):q.apply(Object.create(q.prototype),arguments)}function r(a,b){return this instanceof r?(l.apply(this,arguments),this):r.apply(Object.create(r.prototype),arguments)}Object.defineProperty(a,"FileWriteStream",{get:function(){return p},set:function(a){p=a},enumerable:!0,configurable:!0});var s=a.open;function t(a,b,c,d){return"function"==typeof c&&(d=c,c=null),function a(b,c,d,e,f){return s(b,c,d,function(g,h){g&&("EMFILE"===g.code||"ENFILE"===g.code)?o([a,[b,c,d,e],g,f||Date.now(),Date.now()]):"function"==typeof e&&e.apply(this,arguments)})}(a,b,c,d)}return a.open=t,a}function o(a){m("ENQUEUE",a[0].name,a[1]),g[d].push(a),q()}function p(){for(var a=Date.now(),b=0;b<g[d].length;++b)g[d][b].length>2&&(g[d][b][3]=a,g[d][b][4]=a);q()}function q(){if(clearTimeout(f),f=void 0,0!==g[d].length){var a=g[d].shift(),b=a[0],c=a[1],e=a[2],h=a[3],i=a[4];if(void 0===h)m("RETRY",b.name,c),b.apply(null,c);else if(Date.now()-h>=6e4){m("TIMEOUT",b.name,c);var j=c.pop();"function"==typeof j&&j.call(null,e)}else Date.now()-i>=Math.min(1.2*Math.max(i-h,1),100)?(m("RETRY",b.name,c),b.apply(null,c.concat([h]))):g[d].push(a);void 0===f&&(f=setTimeout(q,0))}}k.debuglog?m=k.debuglog("gfs4"):/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&(m=function(){var a=k.format.apply(k,arguments);console.error(a="GFS4: "+a.split(/\n/).join("\nGFS4: "))}),!g[d]&&(l(g,global[d]||[]),g.close=function(a){function b(b,c){return a.call(g,b,function(a){a||p(),"function"==typeof c&&c.apply(this,arguments)})}return Object.defineProperty(b,e,{value:a}),b}(g.close),g.closeSync=function(a){function b(b){a.apply(g,arguments),p()}return Object.defineProperty(b,e,{value:a}),b}(g.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||"")&&process.on("exit",function(){m(g[d]),c(12412).equal(g[d].length,0)})),global[d]||l(global,g[d]),a.exports=n(j(g)),process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!g.__patched&&(a.exports=n(g),g.__patched=!0)},96515:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{IR:()=>l,py:()=>k});var e=c(75430),f=c(80723),g=c(32982),h=a([e,f]);[e,f]=h.then?(await h)():h;let m=null;async function i(a){let b=Date.now();if(m&&b-m.at<6e4)return m.data;let c=await a.getAvailable();return m={data:c,at:b},c}function j(a,b){return a.provider===b.provider&&a.id===b.modelId}async function k(a,b,c={}){let d=(0,f.fr)().providers??{},h=new Set;for(let[a,b]of Object.entries(d)){let c=(0,g.du)(b);for(let[b,d]of Object.entries(c))!0===d.hidden&&h.add(`${a}/${b}`)}let j=(b??[]).map(a=>a.trim()).filter(Boolean),l=[],m=[],n={},o=[];if(0===j.length)l=await i(a);else{let b=await (0,e.resolveModelScopeWithDiagnostics)(j,a);for(let c of(m=b.scopedModels,l=b.scopedModels.length>0?b.scopedModels.map(a=>a.model):await i(a),o.push(...b.diagnostics.map(a=>a.message)),m))c.thinkingLevel&&(n[`${c.model.provider}/${c.model.id}`]=c.thinkingLevel)}return c.includeHidden||(l=l.filter(a=>!h.has(`${a.provider}/${a.id}`))),{visible:l,scopedModels:c.includeHidden||l.length===m.length?m:m.filter(a=>!h.has(`${a.model.provider}/${a.model.id}`)),thinkingLevelPins:n,warnings:o}}function l(a,b={}){let c=b.requestedModel?a.visible.find(a=>j(a,b.requestedModel)):void 0;if(b.requestedModel&&!c)throw Error(`Model is not available in the enabled scope: ${b.requestedModel.provider}/${b.requestedModel.modelId}`);let d=c?a.scopedModels.find(a=>j(a.model,{provider:c.provider,modelId:c.id})):void 0,e=!c&&b.defaultModel?a.scopedModels.find(a=>j(a.model,b.defaultModel)):void 0,f=c?void 0:e??a.scopedModels[0],g=c||f||!b.defaultModel?void 0:a.visible.find(a=>j(a,b.defaultModel)),h=c??f?.model??g,i=d??f,k=b.thinkingLevel??i?.thinkingLevel;return{...h?{model:h}:{},...k?{thinkingLevel:k}:{},scopedModels:[...a.scopedModels]}}d()}catch(a){d(a)}})},97563:(a,b,c)=>{"use strict";c.d(b,{MJ:()=>k,Md:()=>g,UY:()=>h,g0:()=>j,wI:()=>i});let d="normal",e="full",f="auto";function g(){return{collaborationMode:d,tokenMode:e,toolApprovalMode:f,permissionRules:{allow:[],ask:[],deny:[]}}}function h(a){return"normal"===a||"plan"===a||"goal"===a?a:d}function i(a){return"economy"===a||"delivery"===a||"full"===a?a:e}function j(a){return"ask"===a||"auto"===a||"yolo"===a?a:f}let k=new Set(["read","grep","find","ls","bash_output","get_tools","get_commands","get_session_stats"])}};
|