@henlii/pidance 0.2.7 → 0.2.9
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 +9 -6
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +20 -0
- package/.next/server/app/_global-error/page.js +3 -3
- 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.js +2 -2
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/about/route.js +1 -1
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +2 -2
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/running/events/route.js +2 -2
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent-settings/route.js +2 -2
- package/.next/server/app/api/attachments/route.js +1 -1
- package/.next/server/app/api/auth/all-providers/route.js +1 -1
- package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/auth/ui-session/route.js +1 -1
- package/.next/server/app/api/auth/ui-sessions/[id]/route.js +1 -0
- package/.next/server/app/api/auth/ui-sessions/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/ui-sessions/route.js +1 -0
- package/.next/server/app/api/auth/ui-sessions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/cwd/browse/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/default-cwd/route.js +1 -1
- package/.next/server/app/api/file-index/route.js +1 -1
- package/.next/server/app/api/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/home/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models-config/raw/route.js +1 -1
- package/.next/server/app/api/models-config/route.js +1 -1
- package/.next/server/app/api/models-config/test/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/plugins/search/route.js +1 -1
- package/.next/server/app/api/plugins/updates/route.js +1 -1
- package/.next/server/app/api/preferences/route.js +1 -1
- package/.next/server/app/api/project-assets/route.js +2 -2
- package/.next/server/app/api/prompts/route.js +1 -1
- package/.next/server/app/api/pty/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/archive/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +3 -3
- package/.next/server/app/api/sessions/[id]/command-entry/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +2 -2
- package/.next/server/app/api/sessions/[id]/info/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/tool-results/[toolCallId]/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/settings/raw/route.js +2 -2
- package/.next/server/app/api/settings/remote/route.js +1 -0
- package/.next/server/app/api/settings/remote/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +2 -2
- package/.next/server/app/api/skills/search/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/subagent-runs/route.js +1 -1
- package/.next/server/app/api/update/apply/route.js +3 -3
- package/.next/server/app/api/update/check/route.js +2 -2
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/icon.png/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/page.js +15 -15
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +9 -6
- package/.next/server/chunks/188.js +1 -1
- package/.next/server/chunks/329.js +1 -0
- package/.next/server/chunks/7594.js +1 -1
- package/.next/server/functions-config-manifest.json +3 -0
- package/.next/server/instrumentation.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/bR7RbvJMnnKuh-cKREZa4/_buildManifest.js +1 -0
- package/.next/static/chunks/9780-e3ccfd6965a6273f.js +1 -0
- package/.next/static/chunks/app/_global-error/page-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/about/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/events/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/[id]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/new/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/running/events/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent/running/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/agent-settings/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/attachments/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/all-providers/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/login/[provider]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/providers/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/ui-session/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/ui-sessions/[id]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/auth/ui-sessions/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/cwd/browse/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/cwd/validate/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/default-cwd/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/file-index/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/files/[...path]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/home/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/models/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/models-config/raw/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/models-config/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/models-config/test/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/plugins/search/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/plugins/updates/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/preferences/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/project-assets/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/prompts/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/pty/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/export/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/info/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/state/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/settings/raw/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/settings/remote/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/skills/check/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/skills/install/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/skills/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/skills/search/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/skills/update/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/subagent-runs/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/update/apply/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/update/check/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/app/page-c9b79e882493c953.js +25 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-81c6f790083aee21.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-81c6f790083aee21.js +1 -0
- package/README.md +7 -4
- package/bin/pidance-auth-gate.js +10 -7
- package/bin/pidance-options.js +3 -2
- package/bin/pidance-server-config.js +46 -0
- package/bin/pidance.js +20 -6
- package/package.json +1 -1
- package/.next/static/01veEEO0MbroyjY72tWyr/_buildManifest.js +0 -1
- package/.next/static/chunks/9780-96bbb56af7ed70f1.js +0 -1
- package/.next/static/chunks/app/_global-error/page-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/about/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/bash-output/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/events/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/[id]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/new/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/running/events/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent/running/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/agent-settings/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/attachments/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/all-providers/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/api-key/[provider]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/login/[provider]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/[provider]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/providers/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/auth/ui-session/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/cwd/browse/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/cwd/validate/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/default-cwd/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/file-index/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/files/[...path]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/home/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/models/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/models-config/raw/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/models-config/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/models-config/test/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/plugins/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/plugins/search/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/plugins/updates/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/preferences/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/project-assets/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/prompts/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/pty/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/archive/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/command-entry/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/export/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/info/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/state/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/tool-results/[toolCallId]/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/settings/raw/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/skills/check/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/skills/install/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/skills/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/skills/search/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/skills/update/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/subagent-runs/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/update/apply/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/update/check/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/app/page-c76a709acf636b23.js +0 -25
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-212bed9d7023fb3f.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-212bed9d7023fb3f.js +0 -1
- /package/.next/static/{01veEEO0MbroyjY72tWyr → bR7RbvJMnnKuh-cKREZa4}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=7594,exports.ids=[7594],exports.modules={2416:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j1:()=>r});var e=c(75430),f=c(60396),g=c(5815),h=c(85664),i=c(65107),j=c(54158),k=c(95237),l=c(38195),m=c(62693),n=c(31524),o=c(87538),p=a([e,k]);function q(a){return"string"==typeof a&&a?a:void 0}[e,k]=p.then?(await p)():p;class s{static{this.PARTIAL_RENDER_MIN_INTERVAL_MS=100}constructor(a){this.options=a,this.listeners=[],this.runtime=null,this.unsubscribe=null,this.extensionUi=null,this.idleTimer=null,this.onDestroyCallback=null,this._alive=!0,this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,this.localQueue={steering:[],followUp:[]},this.hasQueueSnapshot=!1,this.lock=null,this.renderBridgeTheme=(0,o.Lm)(),this.toolRenderStates=new Map,this.realSessionId=a.sessionId,this.realSessionFile=a.sessionFile,this.idleTimeoutMs=a.idleTimeoutMs??6e5,this.agentDir=a.agentDir??(0,f.$M)(),this.activeToolNames=a.toolNames}get sessionId(){return this.realSessionId}get sessionFile(){return this.realSessionFile}listPendingExtensionRequests(){return Array.from(this.extensionUi?.pendingSnapshot.values()??[])}get inner(){let a=this.runtime?.session;if(a)return{sessionManager:a.sessionManager}}isAlive(){return this._alive&&null!==this.runtime}isRunning(){if(!this._alive||!this.runtime)return!1;let a=this.runtime.session;return this.promptRunning||this.bashRunning||a.isStreaming||a.isCompacting}onDestroy(a){this.onDestroyCallback=a}onEvent(a){return this.listeners.push(a),()=>{this.listeners=this.listeners.filter(b=>b!==a)}}beginExtensionBinding(){}async waitForExtensionsBound(){}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[pidance] sdk host listener error:",a)}}notifyRunning(){this.options.onRunningChange?.()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroyAsync()},this.idleTimeoutMs)}get session(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.session}get services(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.services}syncIdentityFromSession(){let a=this.session,b=a.sessionId||this.realSessionId,c=a.sessionFile||this.realSessionFile,d=this.realSessionId;this.realSessionId=b,this.realSessionFile=c,c&&this.options.cacheSessionPath?.(b,c),d!==b&&this.options.onSessionRekeyed?.(d,b,this)}async rebindSession(){let a=this.session;this.extensionUi?.dispose(),this.extensionUi=(0,l.t)(a=>{this.trackExtensionSideEffects(a),this.emit(a)}),await a.bindExtensions({uiContext:this.extensionUi.uiContext,mode:"rpc",commandContextActions:{waitForIdle:()=>a.waitForIdle(),newSession:async a=>{let b=await this.runtime.newSession(a);return b.cancelled||await this.rebindSession(),b},fork:async(a,b)=>{let c=await this.runtime.fork(a,b);return c.cancelled||await this.rebindSession(),{cancelled:c.cancelled}},navigateTree:async(b,c)=>({cancelled:(await a.navigateTree(b,{summarize:c?.summarize,customInstructions:c?.customInstructions,replaceInstructions:c?.replaceInstructions,label:c?.label})).cancelled}),switchSession:async(a,b)=>{let c=await this.runtime.switchSession(a,b);return c.cancelled||await this.rebindSession(),c},reload:async()=>{await a.reload()}},onError:a=>{this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})}}),this.unsubscribe?.(),this.unsubscribe=a.subscribe(a=>{this.resetIdleTimer(),this.handleSessionEvent(a)}),this.syncIdentityFromSession()}trackExtensionSideEffects(a){if("extension_ui_request"!==a.type)return;let b=q(a.method);if("setStatus"===b){let b=q(a.statusKey)??q(a.key)??"default",c=q(a.statusText)??q(a.text)??"";c?this.extensionUi?.statuses.set(b,c):this.extensionUi?.statuses.delete(b)}if("setWidget"===b){let b=q(a.widgetKey)??q(a.key)??"default",c=a.widgetLines??a.content;null==c?this.extensionUi?.widgets.delete(b):this.extensionUi?.widgets.set(b,{lines:c,placement:a.widgetPlacement})}this.notifyRunning()}handleSessionEvent(a){switch(a.type){case"agent_start":this.promptRunning=!0,(0,g.NK)(this.realSessionId,Date.now()),this.notifyRunning();break;case"agent_end":this.promptRunning=!1,(0,g.PI)(this.realSessionId),this.options.onSessionListInvalidate?.(),this.realSessionFile&&(0,i.$9)(this.realSessionFile),this.notifyRunning(),this.emit({type:"prompt_done"});break;case"agent_settled":this.promptRunning=!1,this.notifyRunning();break;case"compaction_start":case"auto_compaction_start":case"compaction_end":case"auto_compaction_end":this.notifyRunning();break;case"message_end":{let b=a.message;b?.role==="user"&&setImmediate(()=>{try{(0,k.kb)(this.session.sessionManager),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] materialize after user message failed:",a)}});break}case"queue_update":{let b=Array.isArray(a.steering)?a.steering.filter(a=>"string"==typeof a):[],c=Array.isArray(a.followUp)?a.followUp.filter(a=>"string"==typeof a):[];this.localQueue={steering:b,followUp:c},this.hasQueueSnapshot=!0}}this.emit(this.withRenderedToolLines(a))}withRenderedToolLines(a){try{if(!this.renderBridgeTheme)return a;switch(a.type){case"tool_execution_update":{if(!this.shouldRenderPartialUpdate(a.toolCallId))return a;let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!0,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,o.t_)(b,a.partialResult,{expanded:!0,isPartial:!0},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedLines:d}:a}case"tool_call":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.input,{isPartial:!1,expanded:!0,isError:!1,resultSlot:!1});if(!c)return a;let d=(0,o.GD)(b,a.input,c,b=>this.updateToolRenderLastComponent(a.toolCallId,!1,b));return d?{...a,renderedCallLines:d}:a}case"tool_result":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!1,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,o.t_)(b,{content:a.content,details:a.details,isError:!0===a.isError,...void 0!==a.usage?{usage:a.usage}:{}},{expanded:!0,isPartial:!1},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedResultLines:d}:a}case"message_start":case"message_end":{let b=a.message;if(b?.role!=="custom"||"string"!=typeof b.customType||""===b.customType)return a;let c=this.session.extensionRunner,d="function"==typeof c?.getMessageRenderer?c.getMessageRenderer(b.customType):void 0,e=(0,o.Mf)(d,a.message,this.renderBridgeTheme);return e?{...a,renderedLines:e}:a}default:return a}}catch{return a}}getToolRenderDefinition(a){if("string"==typeof a&&""!==a)try{return this.session.getToolDefinition(a)}catch{return}}buildToolRenderContext(a,b,c){let d=this.getOrCreateToolRenderState(a);return d?{args:b,toolCallId:a,invalidate:()=>{},lastComponent:c.resultSlot?d.lastResultComponent:d.lastCallComponent,state:d.state,cwd:this.realCwd,executionStarted:!0,argsComplete:!0,isPartial:c.isPartial,expanded:c.expanded,showImages:!1,isError:c.isError}:null}getOrCreateToolRenderState(a){if("string"!=typeof a||""===a)return null;let b=this.toolRenderStates.get(a);return b||(b={state:{},lastCallComponent:void 0,lastResultComponent:void 0,lastPartialRenderAt:void 0},this.toolRenderStates.set(a,b)),b}updateToolRenderLastComponent(a,b,c){if("string"!=typeof a||""===a)return;let d=this.toolRenderStates.get(a);d&&(b?d.lastResultComponent=c:d.lastCallComponent=c)}shouldRenderPartialUpdate(a){if("string"!=typeof a||""===a)return!0;let b=Date.now(),c=this.getOrCreateToolRenderState(a);return!c||(void 0===c.lastPartialRenderAt||!(b-c.lastPartialRenderAt<s.PARTIAL_RENDER_MIN_INTERVAL_MS))&&(c.lastPartialRenderAt=b,!0)}get realCwd(){try{return this.session.sessionManager.getHeader()?.cwd||this.options.cwd}catch{return this.options.cwd}}async start(){var a,b;let c=this.realSessionFile||this.realSessionId||this.options.cwd;if(this.lock=(0,j.P)(c,this.agentDir),!this.lock)throw Error("Session is locked by another Pidance process (writable host ownership)");let d=(a=this.realSessionFile,b=this.options.cwd,a?(0,k.G1)(a):(0,k.Qu)(b)),f=d.getCwd()||this.options.cwd,g=this.agentDir,h=this.activeToolNames,i=async({cwd:a,agentDir:b,sessionManager:c,sessionStartEvent:d})=>{let f=await (0,e.createAgentSessionServices)({cwd:a,agentDir:b});for(let a of f.modelRuntime.getModels())(0,n.yu)(a);return{...await (0,e.createAgentSessionFromServices)({services:f,sessionManager:c,sessionStartEvent:d,tools:h&&h.length>0?h:void 0,noTools:h&&0===h.length?"all":void 0}),services:f,diagnostics:f.diagnostics}};if(this.runtime=await (0,e.createAgentSessionRuntime)(i,{cwd:f,agentDir:g,sessionManager:d}),this.runtime.setRebindSession(async()=>{await this.rebindSession()}),this.runtime.setBeforeSessionInvalidate(()=>{this.extensionUi?.dispose(),this.unsubscribe?.(),this.unsubscribe=null}),await this.rebindSession(),this.syncIdentityFromSession(),this.realSessionId&&this.realSessionId!==c&&(this.lock.release(),this.lock=(0,j.P)(this.realSessionId,this.agentDir)??(0,j.P)(this.realSessionFile||this.realSessionId,this.agentDir),!this.lock))throw await this.destroyAsync(),Error("Session is locked by another Pidance process (writable host ownership)");this.resetIdleTimer()}projectState(){let a=this.session,b=a.model,c={stateSources:{rpcGetState:!1,sdkSession:!0,sessionStats:!0,localQueue:this.hasQueueSnapshot,localExtensionUi:!0},sessionId:this.realSessionId,sessionFile:this.realSessionFile,sessionName:a.sessionName,isStreaming:a.isStreaming,isCompacting:a.isCompacting,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,pendingBash:this.bashCommand,autoCompactionEnabled:a.autoCompactionEnabled,steeringMode:a.steeringMode,followUpMode:a.followUpMode,thinkingLevel:a.thinkingLevel,systemPrompt:a.systemPrompt??"",model:b?{id:b.id,provider:b.provider}:void 0,messageCount:a.messages.length,pendingMessageCount:a.pendingMessageCount,extensionStatuses:Array.from(this.extensionUi?.statuses.entries()??[],([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionUi?.widgets.entries()??[],([a,b])=>({key:a,content:b})),pendingExtensionRequests:Array.from(this.extensionUi?.pendingSnapshot.values()??[])};this.hasQueueSnapshot&&(c.queuedMessages={steering:[...this.localQueue.steering],followUp:[...this.localQueue.followUp]});try{let b=a.getSessionStats(),d=b?.contextUsage;d&&"number"==typeof d.contextWindow&&d.contextWindow>0&&(c.contextUsage={contextWindow:d.contextWindow,percent:"number"==typeof d.percent?d.percent:null,tokens:"number"==typeof d.tokens?d.tokens:null})}catch{}return c}appendActivity(a){if(!this.runtime)throw Error("Cannot append activity: session not alive");let b=a&&"object"==typeof a&&"type"in a&&"append_activity"===a.type?(0,h.qF)(a):(0,h.l$)(a),c=this.session.sessionManager.appendCustomEntry(h.cP,b);return this.options.onSessionListInvalidate?.(),{entryId:c,activity:b}}async send(a){if(this.resetIdleTimer(),!this.runtime)throw Error("SDK session is not alive");let b=a.type,c=this.session;switch(b){case"prompt":if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");this.promptRunning=!0,(0,g.NK)(this.realSessionId,Date.now()),this.notifyRunning();try{return await new Promise((b,d)=>{let e=!1;c.prompt(String(a.message??""),{images:a.images,streamingBehavior:a.streamingBehavior,source:"rpc",preflightResult:a=>{a&&(e=!0,this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),b())}}).then(()=>{if(!e){e=!0;try{(0,k.kb)(c.sessionManager)}catch(a){console.error("[pidance] materialize after prompt failed:",a)}this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),b()}}).catch(a=>{e||(e=!0,d(a))})}),null}catch(b){this.promptRunning=!1,(0,g.PI)(this.realSessionId),this.notifyRunning();let a=b instanceof Error?b.message:String(b);throw this.emit({type:"prompt_error",errorMessage:a}),this.emit({type:"prompt_done"}),b}case"abort":return this.promptRunning=!1,this.notifyRunning(),await c.abort(),this.notifyRunning(),null;case"get_state":return this.projectState();case"set_model":{let b=String(a.provider??""),d=String(a.modelId??""),e=(0,m.E)(c.modelRuntime,b,d);if(!e)try{e=(await c.modelRuntime.getAvailable()).find(a=>a.provider===b&&a.id===d)}catch{e=void 0}if(!e)throw Error(`Model not found: ${b}/${d}`);return await c.setModel((0,n.eU)(e)),this.options.onSessionListInvalidate?.(),e}case"set_thinking_level":return c.model&&(0,n.yu)(c.model),c.setThinkingLevel(a.level),this.options.onSessionListInvalidate?.(),null;case"compact":{let b=await c.compact("string"==typeof a.customInstructions?a.customInstructions:void 0);return this.options.onSessionListInvalidate?.(),b}case"steer":return await c.steer(String(a.message??""),a.images),null;case"follow_up":return await c.followUp(String(a.message??""),a.images),null;case"set_session_name":{let b=String(a.name??"").trim();if(!b)throw Error("Session name cannot be empty");return c.setSessionName(b),this.options.onSessionListInvalidate?.(),null}case"set_auto_compaction":return c.setAutoCompactionEnabled(!!a.enabled),null;case"set_auto_retry":return c.setAutoRetryEnabled(!!a.enabled),null;case"clear_queue":return c.clearQueue();case"get_tools":{let a=c.getAllTools(),b=new Set(c.getActiveToolNames());return{source:"sdk",tools:a.map(a=>({name:a.name,description:a.description??"",active:b.has(a.name)}))}}case"set_tools":{let b=Array.isArray(a.tools)?a.tools.filter(a=>"string"==typeof a):[];return c.setActiveToolsByName(b),this.activeToolNames=b,null}case"get_commands":{let a=[];for(let b of c.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of c.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt_template"});return{commands:a}}case"get_session_stats":return c.getSessionStats();case"bash":if(c.isStreaming)throw Error("Cannot run bash while agent is streaming");this.bashRunning=!0,this.bashCommand={command:String(a.command??""),excludeFromContext:!!a.excludeFromContext,startedAt:Date.now()},this.notifyRunning();try{return await c.executeBash(String(a.command??""),void 0,{excludeFromContext:!!a.excludeFromContext})}finally{this.bashRunning=!1,this.bashCommand=null,this.notifyRunning()}case"abort_bash":return c.abortBash(),this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),null;case"abort_compaction":return c.abortCompaction(),null;case"extension_ui_response":{let b=q(a.id);if(!b)throw Error("extension_ui_response requires id");let c={...a};return delete c.type,delete c.id,!this.extensionUi?.respond(b,c),this.notifyRunning(),null}case"extension_ui_input":case"ensure_session":return null;case"append_activity":return this.appendActivity(a);case"fork":{if(this.bashRunning)throw Error("Cannot fork while a shell command is running");let b=String(a.entryId??"");if(!b)throw Error("entryId is required");let c=await this.runtime.fork(b);return c.cancelled||(await this.rebindSession(),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()),{cancelled:c.cancelled,newSessionId:c.cancelled?void 0:this.realSessionId,text:c.selectedText}}case"navigate_tree":{if(this.bashRunning)throw Error("Cannot navigate while a shell command is running");let b=q(a.targetId);if(!b)throw Error("targetId is required");let d=await c.navigateTree(b,{summarize:a.summarize,customInstructions:q(a.customInstructions)});if(!d.cancelled&&this.realSessionFile){c.sessionManager.getLeafId();let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries(),d=b.at(-1)?.id;a&&d&&a!==d?(0,i.R3)(this.realSessionFile,a):this.realSessionFile&&(0,i.$9)(this.realSessionFile)}return this.options.onSessionListInvalidate?.(),{cancelled:d.cancelled}}case"select_leaf_exact":{let b=q(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.selectLeafExact(this.sessionId,b);let d=await c.navigateTree(b,{summarize:!1});if(!d.cancelled&&this.realSessionFile){let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries().at(-1)?.id;a&&b&&a!==b?(0,i.R3)(this.realSessionFile,a):(0,i.$9)(this.realSessionFile)}return{cancelled:d.cancelled}}case"branch_from_assistant":{let b=q(a.assistantEntryId);if(!b)throw Error("assistantEntryId is required");if(this.options.navigationActions)return this.options.navigationActions.branchFromAssistant(this.sessionId,b);throw Error("branch_from_assistant is unavailable")}case"create_session_from_leaf":{let b=q(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.createSessionFromLeaf(this.sessionId,b);throw Error("create_session_from_leaf is unavailable")}case"set_branch_label":{let b=q(a.targetId);if(!b)throw Error("targetId is required");let d=void 0===a.label||null===a.label?void 0:String(a.label);return c.sessionManager.appendLabelChange(b,d),this.options.onSessionListInvalidate?.(),null}case"reload":return await c.reload(),await this.rebindSession(),null;case"get_last_assistant_text":return{text:c.getLastAssistantText()};default:throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAsync()}async destroyAsync(){if(!this._alive&&!this.runtime)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,this.unsubscribe?.(),this.unsubscribe=null,this.extensionUi?.dispose(),this.extensionUi=null;let a=this.runtime;if(this.runtime=null,a)try{await a.dispose()}catch(a){console.error("[pidance] sdk runtime dispose error:",a)}this.lock?.release(),this.lock=null,this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,(0,g.PI)(this.realSessionId),this.onDestroyCallback?.(),this.notifyRunning()}}async function r(a){let b=new s(a);return await b.start(),b}d()}catch(a){d(a)}})},5815:(a,b,c)=>{c.d(b,{MG:()=>h,NK:()=>f,PI:()=>g});let d="__piRunningStartedAt";function e(){let a=globalThis;return d in a&&a[d]instanceof Map||(a[d]=new Map),a[d]}function f(a,b){e().set(a,b)}function g(a){e().delete(a)}function h(){return e()}},26773:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>m,A4:()=>i,Fn:()=>l,HG:()=>j,OF:()=>n});var e=c(40402),f=c(2416),g=a([e,f]);function h(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>{globalThis.__piSessions?.forEach(a=>a.destroy())};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function i(a){return h().get(a)}function j(){let a=new Set;for(let[b,c]of h())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function k(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function l(a){let b=k();return b.add(a),()=>{b.delete(a)}}function m(){let a=[];for(let[b,c]of h()){let d=c.listPendingExtensionRequests();0!==d.length&&a.push({sessionId:c.sessionId||b,requests:d})}return a}[e,f]=g.then?(await g)():g;let p="";async function n(a,b,c,d,e){return o(a,b,c,d,e)}async function o(a,b,c,d,g){let i=h(),l=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),n=i.get(a);if(n?.isAlive())return{session:n,realSessionId:a};let o=l.get(a);if(o)return o;let q=(async()=>{let l=await (0,f.j1)({sessionId:a,sessionFile:b,cwd:c,toolNames:d,navigationActions:g,onRunningChange:()=>(function(){let a=j(),b=m(),c=JSON.stringify({ids:[...a].sort(),pending:b.map(a=>({sessionId:a.sessionId,ids:a.requests.map(a=>a.id??null)}))});if(c!==p)for(let b of(p=c,k()))try{b(a)}catch{}})(),onSessionListInvalidate:()=>(0,e.mD)(),cacheSessionPath:(a,b)=>(0,e.O8)(a,b),onSessionRekeyed:(a,b,c)=>{let d;d=h(),a!==b&&d.delete(a),d.set(b,c)}}),n=l.sessionId,o=l.sessionFile;return o&&(0,e.O8)(n,o),l.onDestroy(()=>{i.get(n)===l&&i.delete(n),a!==n&&i.get(a)===l&&i.delete(a)}),i.set(n,l),a!==n&&i.get(a),l.beginExtensionBinding(),{session:l,realSessionId:n}})().finally(()=>l.delete(a));return l.set(a,q),q}d()}catch(a){d(a)}})},31524:(a,b,c)=>{c.d(b,{Ut:()=>e,eU:()=>f,yu:()=>g});let d=["off","minimal","low","medium","high","xhigh","max"];function e(a,b){return a?d.filter(a=>b?.[a]!==null):["off"]}function f(a){if(!a.reasoning)return a;let b=a.thinkingLevelMap,c={...b??{}},d=!1;for(let a of["xhigh","max"])Object.prototype.hasOwnProperty.call(c,a)&&void 0!==c[a]||(c[a]=a,d=!0);return!d&&b?a:{...a,thinkingLevelMap:c}}function g(a){let b=f(a);if(b===a)return a;try{return a.thinkingLevelMap=b.thinkingLevelMap,a}catch{return b}}},37594:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C9:()=>t,DQ:()=>s,Yz:()=>r,mB:()=>v});var e=c(29021),f=c(80547),g=c(60396),h=c(95237),i=c(65107),j=c(56429),k=c(40402),l=c(85664),m=c(15461),n=c(76817),o=c(86226),p=c(40239),q=a([f,h,j,k]);[f,h,j,k]=q.then?(await q)():q;let s="Subagent sessions are read-only";class t extends Error{constructor(){super(s)}toString(){return this.message}}async function r(a,b){if(await b(a))throw new t}let u={listAllSessions:k.dQ,resolveSessionPath:k.os,getRpcSession:j.A4,startRpcSession:j.OF,getRunningRpcSessionIds:j.HG,listPendingExtensionUi:j.$k,subscribeRunningSessions:j.Fn,allowFileRoot:f.wz,invalidateSessionListCache:k.mD,openSessionCwd:a=>(0,h.kW)(a).getHeader()?.cwd??process.cwd(),openSessionManager:a=>(0,k.Zx)({filePath:a}),existsSync:e.existsSync,now:()=>Date.now(),archiveFs:p.Iq},v=function(a={}){let b={...u,...a},c=(0,p.Ki)({fs:b.archiveFs,agentDir:b.archiveAgentDir,resolveSessionPath:b.resolveSessionPath,readSessionHeader:k.eP,isReadOnly:async a=>{let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},isRunning:a=>b.getRunningRpcSessionIds().includes(a),getSessionInfo:async a=>(await b.listAllSessions()).find(b=>b.id===a)??null,invalidateSessionListCache:b.invalidateSessionListCache,now:()=>new Date(b.now()).toISOString()}),d=()=>(0,p.$T)(b.archiveFs??p.Iq,b.archiveAgentDir?.()??(0,g.$M)()),e={async listSessions(){let a=await b.listAllSessions(),{active:c,archived:e}=(0,p.uD)(a,d());return{sessions:c,archivedSessions:e,archivedCount:e.length,runningSessionIds:b.getRunningRpcSessionIds()}},async listArchivedSessions(){let a=await b.listAllSessions();return(0,p.uD)(a,d()).archived},async listActiveSessions(){let a=await b.listAllSessions();return(0,p.uD)(a,d()).active},listAllSessions:async()=>b.listAllSessions(),async isArchived(a){let c=await b.listAllSessions();return(0,p.YV)(c,d()).has(a)},archiveSession:async a=>c.archiveSession(a),restoreSession:async a=>c.restoreSession(a),archiveSessions:async a=>c.archiveSessions(a),restoreSessions:async a=>c.restoreSessions(a),removeArchiveRecordAfterPermanentDelete(a){(0,p.rQ)(b.archiveFs??p.Iq,b.archiveAgentDir?.()??(0,g.$M)(),a)},resolvePath:a=>b.resolveSessionPath(a),getSessionInfo:async a=>a&&"string"==typeof a?(await b.listAllSessions()).find(b=>b.id===a)??null:null,async isReadOnly(a){let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},async getReadView(a){let c=await b.resolveSessionPath(a);if(!c)return null;let d=b.getRpcSession(a),e=d?.inner;return d?.isAlive()&&e?.sessionManager?{source:"live",filePath:c,manager:e.sessionManager}:{source:"disk",filePath:c,manager:b.openSessionManager(c)}},getLive(a){let c=b.getRpcSession(a);return c?.isAlive()?c:void 0},getLiveSession:a=>e.getLive(a),isLive:a=>!!e.getLive(a),async ensureLive(a){await r(a,e.isReadOnly);let c=e.getLive(a);if(c)return c;let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let g=b.openSessionCwd(d),{session:h}=await b.startRpcSession(a,d,g,void 0,f);return h},destroy(a){b.getRpcSession(a)?.destroy()},start:async(a,c,d,g)=>(await r(a,e.isReadOnly),b.startRpcSession(a,c,d,g,f)),send:async(a,b)=>(await e.ensureLive(a)).send(b),async appendActivity(a,c){await r(a,e.isReadOnly);let d=e.getLive(a),f=!!d?.inner?.sessionManager,g=d?.appendActivity;if(d?.isAlive()&&f&&"function"==typeof g)return await g.call(d,c);d?.isAlive()&&e.destroy(a);let i=await b.resolveSessionPath(a);if(!i)throw Error("Session not found");let j=(0,l.l$)(c),k=(0,h.kW)(i).appendCustomEntry(l.cP,j);return b.invalidateSessionListCache(),{entryId:k,activity:j}},async appendCommandEntry(a,c){await r(a,e.isReadOnly);let d=e.getLive(a);d?.isAlive()&&e.destroy(a);let f=await b.resolveSessionPath(a);if(!f)throw Error("Session not found");let g=(0,m.fc)(c);if(!g.command)throw Error("command is required");let i=(0,h.kW)(f).appendCustomEntry(m.OE,g);return b.invalidateSessionListCache(),{entryId:i,data:g}},async createNew({cwd:a,command:c}){if(!a||"string"!=typeof a)throw Error("cwd is required");if(!b.existsSync(a))throw Error(`Directory does not exist: ${a}`);let{provider:d,modelId:e,toolNames:g,thinkingLevel:h,...i}=c,j=`__new__${b.now()}`,{session:k,realSessionId:l}=await b.startRpcSession(j,"",a,g,f);if(b.allowFileRoot(a),b.invalidateSessionListCache(),d&&e&&await k.send({type:"set_model",provider:d,modelId:e}),h&&await k.send({type:"set_thinking_level",level:h}),"ensure_session"===i.type)return{sessionId:l,data:null};let m=await k.send(i);return{sessionId:l,data:m}},getRunningIds:()=>b.getRunningRpcSessionIds(),listPendingExtensionUi:()=>b.listPendingExtensionUi(),subscribeRunning:a=>b.subscribeRunningSessions(a),async selectLeafExact(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),f=b.getRpcSession(a);if(f?.isAlive?.()){if(f.inner?.isBashRunning)throw Error("Cannot switch branch while a shell command is running");e.destroy(a)}let g=await b.resolveSessionPath(a);if(!g)throw Error("Session not found");let j=(0,h.kW)(g),k=j.getLeafId();if(d===k)return{cancelled:!1};if(d===j.getLastEntryId())return(0,i.$9)(g),{cancelled:!1};if(!j.getEntry(d))throw Error(`Entry ${d} not found`);try{return j.branch(d),(0,i.R3)(g,d),{cancelled:!1}}finally{b.invalidateSessionListCache()}},async branchFromAssistant(a,c){if("string"!=typeof c||""===c.trim())throw Error("assistantEntryId is required");let d=c.trim(),f=b.getRpcSession(a);if(f?.isAlive?.()){if(f.inner?.isBashRunning)throw Error("Cannot branch while a shell command is running");e.destroy(a)}let g=await b.resolveSessionPath(a);if(!g)throw Error("Session not found");let j=(0,h.kW)(g),k=j.getLeafId();if(!k)throw Error("Session has no leaf");let l=j.getBranch(k),m=j.getEntry(d);if(!m)throw Error("Entry not found");if("message"!==m.type||m.message?.role!=="assistant")throw Error("Only assistant messages can be branched from");let o=(0,n.wo)(l,d);try{return j.branch(o),o===j.getLastEntryId()?(0,i.$9)(g):(0,i.R3)(g,o),{cancelled:!1}}finally{b.invalidateSessionListCache()}},async createSessionFromLeaf(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),f=b.getRpcSession(a),g=f?.inner;b.getRpcSession(a)?.isAlive()&&e.destroy(a);let i=(g?.sessionFile||f?.sessionFile)??await b.resolveSessionPath(a);if(!i)throw Error("Session not found");let j=(0,h.kW)(i),l=j.getEntry(d);if(!l)throw Error("Invalid entry ID");let m=d;if("message"===l.type&&l.message?.role==="assistant"){let a=j.getLeafId();if(!a)throw Error("Session has no leaf");let b=j.getBranch(a);m=(0,n.wo)(b,d)}let p=j.getSessionDir(),q=(0,h.G1)(i,p),r=q.createBranchedSession(m);if(!r)throw Error("Failed to create session");(0,h.kb)(q);let s=(0,h.kW)(r,p),t=s.getSessionId();(0,k.O8)(t,r),b.invalidateSessionListCache();let u=g?.model;return u&&(0,o.yN)(s.getEntries().some(a=>"model_change"===a.type),{provider:u.provider,modelId:u.id})&&s.appendModelChange(u.provider,u.id),b.getRpcSession(a)?.destroy(),{cancelled:!1,newSessionId:t}}},f={selectLeafExact:(a,b)=>e.selectLeafExact(a,b),branchFromAssistant:(a,b)=>e.branchFromAssistant(a,b),createSessionFromLeaf:(a,b)=>e.createSessionFromLeaf(a,b)};return e}();d()}catch(a){d(a)}})},38195:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(716),e=c(87538);function f(a,b,c,e,f,g,h){let i=(0,d.randomUUID)();return new Promise((d,j)=>{let k,l=!1,m=()=>{a.delete(i),b.delete(i),k&&clearTimeout(k),e?.signal?.removeEventListener("abort",o)},n=a=>{l||(l=!0,m(),d(a))},o=()=>n(f);e?.signal?.addEventListener("abort",o,{once:!0}),e?.timeout&&(k=setTimeout(()=>n(f),e.timeout)),a.set(i,{resolve:a=>{try{n(h(a))}catch(a){if(l)return;l=!0,m(),j(a instanceof Error?a:Error(String(a)))}},reject:a=>{l||(l=!0,m(),j(a))}});let p={type:"extension_ui_request",id:i,...g};b.set(i,p),c(p)})}function g(a){let b=new Map,c=new Map,g=new Map,h=new Map;return{uiContext:{select:(d,e,g)=>f(b,c,a,g,void 0,{method:"select",title:d,options:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),confirm:(d,e,g)=>f(b,c,a,g,!1,{method:"confirm",title:d,message:e,timeout:g?.timeout},a=>(!("cancelled"in a)||!a.cancelled)&&"confirmed"in a&&!!a.confirmed),input:(d,e,g)=>f(b,c,a,g,void 0,{method:"input",title:d,placeholder:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),notify(b,c){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c})},onTerminalInput:()=>()=>{},setStatus(b,c){c?g.set(b,c):g.delete(b),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:c})},setWorkingMessage(){},setWorkingVisible(){},setWorkingIndicator(){},setHiddenThinkingLabel(){},setWidget(b,c,f){if("function"==typeof c){let a=(0,e.tU)(c,(0,e.Lm)());if(null===a)return;c=a}(void 0===c||Array.isArray(c))&&(null==c?h.delete(b):h.set(b,{lines:c,placement:f?.placement}),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setWidget",widgetKey:b,widgetLines:c,widgetPlacement:f?.placement}))},setFooter(){},setHeader(){},setTitle(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setTitle",title:b})},async custom(b){let c=(0,d.randomUUID)();return new Promise(d=>{let e=!1,f=b=>{e||(e=!0,a({type:"extension_ui_request",id:c,method:"custom_close"}),d(b))};Promise.resolve(b(function(a,b=92,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}(()=>{a({type:"extension_ui_request",id:c,method:"custom_render"})},92,40),{},{},f)).catch(()=>{f(void 0)}),a({type:"extension_ui_request",id:c,method:"custom"})})},pasteToEditor(a){this.setEditorText(a)},setEditorText(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"set_editor_text",text:b})},getEditorText:()=>"",editor:async(d,e)=>f(b,c,a,void 0,void 0,{method:"editor",title:d,prefill:e},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),addAutocompleteProvider(){},setEditorComponent(){},getEditorComponent(){},get theme(){let a=a=>String(a??""),b=(a,b)=>void 0===b?"":String(b);return new Proxy({fg:b,bg:b,bold:a,dim:a,italic:a},{get:(b,c)=>c in b?b[c]:"then"!==c?a:void 0})},getAllThemes:()=>[],getTheme(){},setTheme:()=>({success:!1,error:"Theme switching not supported in Web mode"}),getToolsExpanded:()=>!1,setToolsExpanded(){}},pending:b,statuses:g,widgets:h,pendingSnapshot:c,respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},dispose(){for(let[a,d]of b)b.delete(a),c.delete(a),d.reject(Error("Extension UI disposed"));g.clear(),h.clear()}}}},40239:(a,b,c)=>{c.d(b,{$T:()=>m,Iq:()=>g,J3:()=>t,Ki:()=>u,YV:()=>q,mT:()=>r,rQ:()=>p,uD:()=>s});var d=c(29021),e=c(33873),f=c(60396);let g={existsSync:d.existsSync,lstatSync:d.lstatSync,mkdirSync:d.mkdirSync,readFileSync:(a,b)=>(0,d.readFileSync)(a,b),writeFileSync:(a,b,c)=>(0,d.writeFileSync)(a,b,c),renameSync:d.renameSync,unlinkSync:d.unlinkSync,readdirSync:d.readdirSync};function h(a=(0,f.$M)()){return(0,e.join)(a,"pidance-archive")}function i(a){return"string"!=typeof a||a.length<8||a.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(a)?null:`${a}.json`}function j(a,b){try{let c=h(b);if(!a.existsSync(c))return null;let d=a.lstatSync(c);if(d.isSymbolicLink()||!d.isDirectory())return null;return c}catch{return null}}function k(a){return"object"==typeof a&&null!==a&&!(1!==a.version||"string"!=typeof a.sessionId||0===a.sessionId.length||"string"!=typeof a.sessionPath||0===a.sessionPath.length||"string"!=typeof a.archivedAt||Number.isNaN(Date.parse(a.archivedAt)))}function l(a,b,c){let d=i(c);if(!d)return null;let f=j(a,b);if(!f)return null;let g=(0,e.join)(f,d);try{if(!a.existsSync(g)||a.lstatSync(g).isSymbolicLink())return null;let b=a.readFileSync(g,"utf8");if(b.length>65536)return null;let d=JSON.parse(b);if(!k(d)||d.sessionId!==c)return null;return d}catch{return null}}function m(a,b){let c=globalThis.__piArchiveRecordsCache;if(c&&Date.now()-c.ts<5e3)return c.records;let d=j(a,b),e=[];if(d){let c=[];try{c=a.readdirSync(d)}catch{c=[]}for(let d of c){let c=function(a){if("string"!=typeof a||!a.endsWith(".json"))return null;let b=a.slice(0,-5);return b.length<8||b.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(b)?null:b}(d);if(!c)continue;let f=l(a,b,c);f&&e.push(f)}}return globalThis.__piArchiveRecordsCache={records:e,ts:Date.now()},e}function n(){globalThis.__piArchiveRecordsCache=void 0}function o(a,b,c){let d=i(c);if(!d)return!1;let f=j(a,b);if(!f)return!1;let g=(0,e.join)(f,d);try{if(!a.existsSync(g))return!1;return a.unlinkSync(g),n(),!a.existsSync(g)}catch{return!1}}function p(a,b,c){o(a,b,c)}function q(a,b){let c=new Map;for(let a of b)c.set(a.sessionId,a);let d=new Set;for(let b of a){let a=c.get(b.id);a&&a.sessionPath===b.path&&d.add(b.id)}return d}function r(a,b,c,d){let e=q(b,c),f=new Set;for(let b of a){let a=e.has(b);("active"===d?!a:a)&&f.add(b)}return f}function s(a,b){let c=q(a,b),d=new Map;for(let a of b)d.set(a.sessionId,a);let e=[],f=[];for(let b of a)if(c.has(b.id)){let a=d.get(b.id);f.push({...b,archivedAt:a?a.archivedAt:void 0})}else e.push(b);return{active:e,archived:f}}class t extends Error{constructor(){super("Session is running; cannot archive while active")}toString(){return this.message}}function u(a){let b=a.fs??g,c=()=>a.agentDir?.()??(0,f.$M)(),d=async d=>{if(await a.isReadOnly(d))throw Error("Subagent sessions are read-only");if(a.isRunning(d))throw new t;let f=await a.resolveSessionPath(d);if(!f)throw Error("Session not found");let g=a.readSessionHeader(f);if(!g||g.id!==d)throw Error("Session header id mismatch");let j={version:1,sessionId:d,sessionPath:f,archivedAt:a.now()};return!function(a,b,c){let d=i(c.sessionId);if(!d)throw Error("Invalid session id");if(!k(c))throw Error("Invalid archive record");let f=function(a,b){let c=h(b);try{a.existsSync(c)||a.mkdirSync(c,{recursive:!0});let b=a.lstatSync(c);if(b.isSymbolicLink()||!b.isDirectory())return null;return c}catch{return null}}(a,b);if(!f)throw Error("Archive directory unavailable");let g=(0,e.join)(f,d),j=(0,e.join)(f,`.${d}.${process.pid}.${Date.now().toString(36)}.tmp`);try{a.writeFileSync(j,JSON.stringify(c),{encoding:"utf8",flag:"wx"}),a.renameSync(j,g),n()}catch(b){try{a.existsSync(j)&&a.unlinkSync(j)}catch{}throw b}}(b,c(),j),a.invalidateSessionListCache(),j.archivedAt},j=async d=>{if(null===l(b,c(),d))throw Error("Session is not archived");if(!await a.resolveSessionPath(d))throw Error("Session not found");if(!o(b,c(),d))throw Error("Failed to remove archive record");return a.invalidateSessionListCache(),a.getSessionInfo(d)},m=async a=>{let b=[],c=[];for(let e of a)try{await d(e),b.push(e)}catch(a){c.push({id:e,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}},p=async a=>{let b=[],c=[];for(let d of a)try{await j(d),b.push(d)}catch(a){c.push({id:d,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}};return{archiveSession:d,restoreSession:j,archiveSessions:m,restoreSessions:p}}},54158:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89477),e=c(86697),f=c(60396);function g(a){return(0,e.join)(a,"pidance-session-locks")}function h(a,b=(0,f.$M)()){let c;if(!a)return null;let i=g(b);(0,d.existsSync)(i)||(0,d.mkdirSync)(i,{recursive:!0,mode:448});let j=(c=a.replace(/[^a-zA-Z0-9._-]+/g,"_").slice(0,180),(0,e.join)(g(b),`${c}.lock`)),k=()=>{try{let b=(0,d.openSync)(j,"wx",384);try{(0,d.writeFileSync)(b,JSON.stringify({pid:process.pid,sessionKey:a,at:new Date().toISOString()}),"utf8")}catch{try{(0,d.closeSync)(b)}catch{}try{(0,d.unlinkSync)(j)}catch{}return null}let c=!1;return{path:j,release:()=>{if(!c){c=!0;try{(0,d.closeSync)(b)}catch{}try{(0,d.unlinkSync)(j)}catch{}}}}}catch{return null}},l=k();if(l)return l;let m=function(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return"number"==typeof b.pid?b.pid:null}catch{return null}}(j);if(null!==m&&!function(a){if(!Number.isFinite(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch{return!1}}(m)){try{(0,d.unlinkSync)(j)}catch{}return k()}return null}},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>e.$k,A4:()=>e.A4,Fn:()=>e.Fn,HG:()=>e.HG,OF:()=>e.OF});var e=c(26773),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},62693:(a,b,c)=>{c.d(b,{E:()=>d});function d(a,b,c){let d=a.getModel?.(b,c);return d||a.getAvailableSnapshot?.().find(a=>a.provider===b&&a.id===c)}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lj:()=>p,Md:()=>o,eq:()=>l,ki:()=>n,qo:()=>k,uF:()=>m});var e=c(29021),f=c(33873),g=c(55511),h=c(60396),i=c(80547),j=a([i]);i=(j.then?(await j)():j)[0];let o=0x1900000,p=0x6400000;function k(a=(0,h.$M)()){return(0,i.Nw)((0,f.join)(a,"pidance-attachments"))}function l(a=(0,h.$M)()){let b=k(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,i.wz)(b),b}function m(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function n(a,b,c=(0,h.$M)()){let d=l(c),j=function(a,b=Date.now()){let c=m(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}(a),k=(0,f.join)(d,j);return(0,e.writeFileSync)(k,b,{flag:"wx",mode:384}),{path:(0,i.Nw)(k),name:m(a),storedName:j,size:b.length}}d()}catch(a){d(a)}})},76817:(a,b,c)=>{c.d(b,{wo:()=>d});function d(a,b){let c=a.findIndex(a=>a.id===b);if(-1===c)return b;let d=b;for(let b=c+1;b<a.length;b+=1){let c=a[b];if("message"===c.type&&c.message?.role==="user")break;d=c.id}return d}},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>q,Nw:()=>j.Nw,mc:()=>p,uK:()=>o,wz:()=>k.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(60396),j=c(50593),k=c(25252),l=c(69835),m=c(40402),n=a([l,m]);[l,m]=n.then?(await n)():n;let r=/^[a-zA-Z]:[\\/]/;function o(a){return r.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function p(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,m.dQ)(),d=function(a){let b=new Set;for(let c of a)!0!==c.readOnly&&c.cwd&&b.add((0,j.Nw)(c.cwd)),!0!==c.readOnly&&c.projectRoot&&b.add((0,j.Nw)(c.projectRoot));return b}(c);try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,j.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,k.HM)())d.add(a);try{d.add((0,l.qo)((0,i.$M)()))}catch{}return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function q(a,b){for(let c of b){let b=o(a)||o(c),d=b?h().win32:h(),e=b?"\\":h().sep,f=d.resolve(a),g=d.resolve(c),i=b?f.toLowerCase():f,j=b?g.toLowerCase():g,k=j.endsWith(e)?j:j+e;if(i===j||i.startsWith(k))return!0}return!1}d()}catch(a){d(a)}})},86226:(a,b,c)=>{c.d(b,{yN:()=>d});function d(a,b){return!a&&!!b}},87538:(a,b,c)=>{let d;c.d(b,{Lm:()=>i,Mf:()=>n,GD:()=>l,t_:()=>k,tU:()=>m});let e=JSON.parse('{"$schema":"https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json","name":"dark","vars":{"cyan":"#00d7ff","blue":"#5f87ff","green":"#b5bd68","red":"#cc6666","yellow":"#ffff00","text":"#d4d4d4","gray":"#808080","dimGray":"#666666","darkGray":"#505050","accent":"#8abeb7","selectedBg":"#3a3a4a","userMsgBg":"#343541","toolPendingBg":"#282832","toolSuccessBg":"#283228","toolErrorBg":"#3c2828","customMsgBg":"#2d2838"},"colors":{"accent":"accent","border":"blue","borderAccent":"cyan","borderMuted":"darkGray","success":"green","error":"red","warning":"yellow","muted":"gray","dim":"dimGray","text":"text","thinkingText":"gray","selectedBg":"selectedBg","userMessageBg":"userMsgBg","userMessageText":"text","customMessageBg":"customMsgBg","customMessageText":"text","customMessageLabel":"#9575cd","toolPendingBg":"toolPendingBg","toolSuccessBg":"toolSuccessBg","toolErrorBg":"toolErrorBg","toolTitle":"text","toolOutput":"gray","mdHeading":"#f0c674","mdLink":"#81a2be","mdLinkUrl":"dimGray","mdCode":"accent","mdCodeBlock":"green","mdCodeBlockBorder":"gray","mdQuote":"gray","mdQuoteBorder":"gray","mdHr":"gray","mdListBullet":"accent","toolDiffAdded":"green","toolDiffRemoved":"red","toolDiffContext":"gray","syntaxComment":"#6A9955","syntaxKeyword":"#569CD6","syntaxFunction":"#DCDCAA","syntaxVariable":"#9CDCFE","syntaxString":"#CE9178","syntaxNumber":"#B5CEA8","syntaxType":"#4EC9B0","syntaxOperator":"#D4D4D4","syntaxPunctuation":"#D4D4D4","thinkingOff":"darkGray","thinkingMinimal":"#6e6e6e","thinkingLow":"#5f87af","thinkingMedium":"#81a2be","thinkingHigh":"#b294bb","thinkingXhigh":"#d183e8","thinkingMax":"#ff5fff","bashMode":"green"},"export":{"pageBg":"#18181e","cardBg":"#1e1e24","infoBg":"#3c3728"}}');function f(a){let b=a.replace("#",""),c=Number.parseInt(3===b.length?b.split("").map(a=>a+a).join(""):b,16);return{r:c>>16&255,g:c>>8&255,b:255&c}}class g{constructor(a,b,c="truecolor",d){for(const[b,e]of(this.fgAnsiMap=new Map,this.bgAnsiMap=new Map,this.mode=c,this.name=d?.name,Object.entries({...a,thinkingMax:a.thinkingMax??a.thinkingXhigh})))this.fgAnsiMap.set(b,function(a,b){if(""===a)return"\x1b[39m";if("number"==typeof a)return`\x1b[38;5;${a}m`;if("string"==typeof a&&a.startsWith("#")){if("truecolor"===b){let{r:b,g:c,b:d}=f(a);return`\x1b[38;2;${b};${c};${d}m`}return"\x1b[38;5;7m"}throw Error(`Invalid color value: ${String(a)}`)}(e,c));for(const[a,d]of Object.entries(b))this.bgAnsiMap.set(a,function(a,b){if(""===a)return"\x1b[49m";if("number"==typeof a)return`\x1b[48;5;${a}m`;if("string"==typeof a&&a.startsWith("#")){if("truecolor"===b){let{r:b,g:c,b:d}=f(a);return`\x1b[48;2;${b};${c};${d}m`}return"\x1b[48;5;0m"}throw Error(`Invalid color value: ${String(a)}`)}(d,c))}fg(a,b){let c=this.fgAnsiMap.get(a);if(!c)throw Error(`Unknown theme color: ${a}`);return`${c}${b}\x1b[39m`}bg(a,b){let c=this.bgAnsiMap.get(a);if(!c)throw Error(`Unknown theme background color: ${a}`);return`${c}${b}\x1b[49m`}bold(a){return`\x1b[1m${a}\x1b[22m`}italic(a){return`\x1b[3m${a}\x1b[23m`}underline(a){return`\x1b[4m${a}\x1b[24m`}inverse(a){return`\x1b[7m${a}\x1b[27m`}strikethrough(a){return`\x1b[9m${a}\x1b[29m`}getFgAnsi(a){let b=this.fgAnsiMap.get(a);if(!b)throw Error(`Unknown theme color: ${a}`);return b}getBgAnsi(a){let b=this.bgAnsiMap.get(a);if(!b)throw Error(`Unknown theme background color: ${a}`);return b}getColorMode(){return this.mode}getThinkingBorderColor(a){let b={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"}[a]??"thinkingOff";return a=>this.fg(b,a)}getBashModeBorderColor(){return a=>this.fg("bashMode",a)}}let h=new Set(["selectedBg","userMessageBg","customMessageBg","toolPendingBg","toolSuccessBg","toolErrorBg"]);function i(){if(void 0!==d)return d;try{d=function(a){let b={...a.colors,thinkingMax:a.colors.thinkingMax??a.colors.thinkingXhigh},c=a.vars??{},d={},e={};for(let[a,f]of Object.entries(b)){let b=function a(b,c,d=new Set){if("number"==typeof b||""===b||b.startsWith("#"))return b;if(d.has(b))throw Error(`Circular variable reference detected: ${b}`);if(!(b in c))throw Error(`Variable reference not found: ${b}`);return d.add(b),a(c[b],c,d)}(f,c);h.has(a)?e[a]=b:d[a]=b}return new g(d,e,"truecolor",{name:a.name})}(e)}catch{d=null}return d}function j(a,b=100){if(!a||"object"!=typeof a||"function"!=typeof a.render)return null;try{let c=a.render(b);if(!function(a){if(!Array.isArray(a)||0===a.length||!a.every(a=>"string"==typeof a)||a.length>500)return!1;let b=0;for(let c of a)if(c.length>4e3||(b+=c.length)>204800)return!1;return!0}(c))return null;return c}catch{return null}}function k(a,b,c,d,e){let f=function(a){if(!a||"object"!=typeof a)return;let b=a.renderResult??a.ln;return"function"==typeof b?b:void 0}(a);if(!f)return null;let g=i();if(!g)return null;try{let a=f(b,c,g,d);return a&&"object"==typeof a&&e?.(a),j(a)}catch{return null}}function l(a,b,c,d){let e=function(a){if(!a||"object"!=typeof a)return;let b=a.renderCall;return"function"==typeof b?b:void 0}(a);if(!e)return null;let f=i();if(!f)return null;try{let a=e(b,f,c);return a&&"object"==typeof a&&d?.(a),j(a)}catch{return null}}function m(a,b,c=100){if("function"!=typeof a||!b)return null;try{let d=a(void 0,b);return j(d,c)}catch{return null}}function n(a,b,c,d=100){if("function"!=typeof a||!c)return null;try{let e=a(b,{expanded:!0},c);return j(e,d)}catch{return null}}}};
|
|
1
|
+
"use strict";exports.id=7594,exports.ids=[7594],exports.modules={2416:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{j1:()=>r});var e=c(75430),f=c(60396),g=c(5815),h=c(85664),i=c(65107),j=c(54158),k=c(95237),l=c(38195),m=c(62693),n=c(31524),o=c(87538),p=a([e,k]);function q(a){return"string"==typeof a&&a?a:void 0}[e,k]=p.then?(await p)():p;class s{static{this.PARTIAL_RENDER_MIN_INTERVAL_MS=100}constructor(a){this.options=a,this.listeners=[],this.runtime=null,this.unsubscribe=null,this.extensionUi=null,this.idleTimer=null,this.onDestroyCallback=null,this._alive=!0,this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,this.localQueue={steering:[],followUp:[]},this.hasQueueSnapshot=!1,this.lock=null,this.renderBridgeTheme=(0,o.Lm)(),this.toolRenderStates=new Map,this.realSessionId=a.sessionId,this.realSessionFile=a.sessionFile,this.idleTimeoutMs=a.idleTimeoutMs??6e5,this.agentDir=a.agentDir??(0,f.$M)(),this.activeToolNames=a.toolNames}get sessionId(){return this.realSessionId}get sessionFile(){return this.realSessionFile}listPendingExtensionRequests(){return Array.from(this.extensionUi?.pendingSnapshot.values()??[])}get inner(){let a=this.runtime?.session;if(a)return{sessionManager:a.sessionManager}}isAlive(){return this._alive&&null!==this.runtime}isRunning(){if(!this._alive||!this.runtime)return!1;let a=this.runtime.session;return this.promptRunning||this.bashRunning||a.isStreaming||a.isCompacting}onDestroy(a){this.onDestroyCallback=a}onEvent(a){return this.listeners.push(a),()=>{this.listeners=this.listeners.filter(b=>b!==a)}}beginExtensionBinding(){}async waitForExtensionsBound(){}emit(a){for(let b of this.listeners)try{b(a)}catch(a){console.error("[pidance] sdk host listener error:",a)}}notifyRunning(){this.options.onRunningChange?.()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isRunning()?this.resetIdleTimer():this.destroyAsync()},this.idleTimeoutMs)}get session(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.session}get services(){if(!this.runtime)throw Error("SDK session is not alive");return this.runtime.services}syncIdentityFromSession(){let a=this.session,b=a.sessionId||this.realSessionId,c=a.sessionFile||this.realSessionFile,d=this.realSessionId;this.realSessionId=b,this.realSessionFile=c,c&&this.options.cacheSessionPath?.(b,c),d!==b&&this.options.onSessionRekeyed?.(d,b,this)}async rebindSession(){let a=this.session;this.extensionUi?.dispose(),this.extensionUi=(0,l.t)(a=>{this.trackExtensionSideEffects(a),this.emit(a)}),await a.bindExtensions({uiContext:this.extensionUi.uiContext,mode:"rpc",commandContextActions:{waitForIdle:()=>a.waitForIdle(),newSession:async a=>{let b=await this.runtime.newSession(a);return b.cancelled||await this.rebindSession(),b},fork:async(a,b)=>{let c=await this.runtime.fork(a,b);return c.cancelled||await this.rebindSession(),{cancelled:c.cancelled}},navigateTree:async(b,c)=>({cancelled:(await a.navigateTree(b,{summarize:c?.summarize,customInstructions:c?.customInstructions,replaceInstructions:c?.replaceInstructions,label:c?.label})).cancelled}),switchSession:async(a,b)=>{let c=await this.runtime.switchSession(a,b);return c.cancelled||await this.rebindSession(),c},reload:async()=>{await a.reload()}},onError:a=>{this.emit({type:"extension_error",extensionPath:a.extensionPath,event:a.event,error:a.error})}}),this.unsubscribe?.(),this.unsubscribe=a.subscribe(a=>{this.resetIdleTimer(),this.handleSessionEvent(a)}),this.syncIdentityFromSession()}trackExtensionSideEffects(a){if("extension_ui_request"!==a.type)return;let b=q(a.method);if("setStatus"===b){let b=q(a.statusKey)??q(a.key)??"default",c=q(a.statusText)??q(a.text)??"";c?this.extensionUi?.statuses.set(b,c):this.extensionUi?.statuses.delete(b)}if("setWidget"===b){let b=q(a.widgetKey)??q(a.key)??"default",c=a.widgetLines??a.content;null==c?this.extensionUi?.widgets.delete(b):this.extensionUi?.widgets.set(b,{lines:c,placement:a.widgetPlacement})}this.notifyRunning()}handleSessionEvent(a){switch(a.type){case"agent_start":this.promptRunning=!0,(0,g.NK)(this.realSessionId,Date.now()),this.notifyRunning();break;case"agent_end":this.promptRunning=!1,(0,g.PI)(this.realSessionId),this.options.onSessionListInvalidate?.(),this.realSessionFile&&(0,i.$9)(this.realSessionFile),this.notifyRunning(),this.emit({type:"prompt_done"});break;case"agent_settled":this.promptRunning=!1,this.notifyRunning();break;case"compaction_start":case"auto_compaction_start":case"compaction_end":case"auto_compaction_end":this.notifyRunning();break;case"message_end":{let b=a.message;b?.role==="user"&&setImmediate(()=>{try{(0,k.kb)(this.session.sessionManager),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()}catch(a){console.error("[pidance] materialize after user message failed:",a)}});break}case"queue_update":{let b=Array.isArray(a.steering)?a.steering.filter(a=>"string"==typeof a):[],c=Array.isArray(a.followUp)?a.followUp.filter(a=>"string"==typeof a):[];this.localQueue={steering:b,followUp:c},this.hasQueueSnapshot=!0}}this.emit(this.withRenderedToolLines(a))}withRenderedToolLines(a){try{if(!this.renderBridgeTheme)return a;switch(a.type){case"tool_execution_update":{if(!this.shouldRenderPartialUpdate(a.toolCallId))return a;let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!0,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,o.t_)(b,a.partialResult,{expanded:!0,isPartial:!0},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedLines:d}:a}case"tool_call":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.input,{isPartial:!1,expanded:!0,isError:!1,resultSlot:!1});if(!c)return a;let d=(0,o.GD)(b,a.input,c,b=>this.updateToolRenderLastComponent(a.toolCallId,!1,b));return d?{...a,renderedCallLines:d}:a}case"tool_result":{let b=this.getToolRenderDefinition(a.toolName);if(!b)return a;let c=this.buildToolRenderContext(a.toolCallId,a.args??a.input,{isPartial:!1,expanded:!0,isError:!0===a.isError,resultSlot:!0});if(!c)return a;let d=(0,o.t_)(b,{content:a.content,details:a.details,isError:!0===a.isError,...void 0!==a.usage?{usage:a.usage}:{}},{expanded:!0,isPartial:!1},c,b=>this.updateToolRenderLastComponent(a.toolCallId,!0,b));return d?{...a,renderedResultLines:d}:a}case"message_start":case"message_end":{let b=a.message;if(b?.role!=="custom"||"string"!=typeof b.customType||""===b.customType)return a;let c=this.session.extensionRunner,d="function"==typeof c?.getMessageRenderer?c.getMessageRenderer(b.customType):void 0,e=(0,o.Mf)(d,a.message,this.renderBridgeTheme);return e?{...a,renderedLines:e}:a}default:return a}}catch{return a}}getToolRenderDefinition(a){if("string"==typeof a&&""!==a)try{return this.session.getToolDefinition(a)}catch{return}}buildToolRenderContext(a,b,c){let d=this.getOrCreateToolRenderState(a);return d?{args:b,toolCallId:a,invalidate:()=>{},lastComponent:c.resultSlot?d.lastResultComponent:d.lastCallComponent,state:d.state,cwd:this.realCwd,executionStarted:!0,argsComplete:!0,isPartial:c.isPartial,expanded:c.expanded,showImages:!1,isError:c.isError}:null}getOrCreateToolRenderState(a){if("string"!=typeof a||""===a)return null;let b=this.toolRenderStates.get(a);return b||(b={state:{},lastCallComponent:void 0,lastResultComponent:void 0,lastPartialRenderAt:void 0},this.toolRenderStates.set(a,b)),b}updateToolRenderLastComponent(a,b,c){if("string"!=typeof a||""===a)return;let d=this.toolRenderStates.get(a);d&&(b?d.lastResultComponent=c:d.lastCallComponent=c)}shouldRenderPartialUpdate(a){if("string"!=typeof a||""===a)return!0;let b=Date.now(),c=this.getOrCreateToolRenderState(a);return!c||(void 0===c.lastPartialRenderAt||!(b-c.lastPartialRenderAt<s.PARTIAL_RENDER_MIN_INTERVAL_MS))&&(c.lastPartialRenderAt=b,!0)}get realCwd(){try{return this.session.sessionManager.getHeader()?.cwd||this.options.cwd}catch{return this.options.cwd}}async start(){var a,b;let c=this.realSessionFile||this.realSessionId||this.options.cwd;if(this.lock=(0,j.P)(c,this.agentDir),!this.lock)throw Error("Session is locked by another Pidance process (writable host ownership)");let d=(a=this.realSessionFile,b=this.options.cwd,a?(0,k.G1)(a):(0,k.Qu)(b)),f=d.getCwd()||this.options.cwd,g=this.agentDir,h=this.activeToolNames,i=async({cwd:a,agentDir:b,sessionManager:c,sessionStartEvent:d})=>{let f=await (0,e.createAgentSessionServices)({cwd:a,agentDir:b});for(let a of f.modelRuntime.getModels())(0,n.yu)(a);return{...await (0,e.createAgentSessionFromServices)({services:f,sessionManager:c,sessionStartEvent:d,tools:h&&h.length>0?h:void 0,noTools:h&&0===h.length?"all":void 0}),services:f,diagnostics:f.diagnostics}};if(this.runtime=await (0,e.createAgentSessionRuntime)(i,{cwd:f,agentDir:g,sessionManager:d}),this.runtime.setRebindSession(async()=>{await this.rebindSession()}),this.runtime.setBeforeSessionInvalidate(()=>{this.extensionUi?.dispose(),this.unsubscribe?.(),this.unsubscribe=null}),await this.rebindSession(),this.syncIdentityFromSession(),this.realSessionId&&this.realSessionId!==c&&(this.lock.release(),this.lock=(0,j.P)(this.realSessionId,this.agentDir)??(0,j.P)(this.realSessionFile||this.realSessionId,this.agentDir),!this.lock))throw await this.destroyAsync(),Error("Session is locked by another Pidance process (writable host ownership)");this.resetIdleTimer()}projectState(){let a=this.session,b=a.model,c={stateSources:{rpcGetState:!1,sdkSession:!0,sessionStats:!0,localQueue:this.hasQueueSnapshot,localExtensionUi:!0},sessionId:this.realSessionId,sessionFile:this.realSessionFile,sessionName:a.sessionName,isStreaming:a.isStreaming,isCompacting:a.isCompacting,isPromptRunning:this.promptRunning,isBashRunning:this.bashRunning,pendingBash:this.bashCommand,autoCompactionEnabled:a.autoCompactionEnabled,steeringMode:a.steeringMode,followUpMode:a.followUpMode,thinkingLevel:a.thinkingLevel,systemPrompt:a.systemPrompt??"",model:b?{id:b.id,provider:b.provider}:void 0,messageCount:a.messages.length,pendingMessageCount:a.pendingMessageCount,extensionStatuses:Array.from(this.extensionUi?.statuses.entries()??[],([a,b])=>({key:a,text:b})),extensionWidgets:Array.from(this.extensionUi?.widgets.entries()??[],([a,b])=>({key:a,lines:Array.isArray(b?.lines)?b.lines:[],placement:b?.placement==="belowEditor"?"belowEditor":"aboveEditor"})),pendingExtensionRequests:Array.from(this.extensionUi?.pendingSnapshot.values()??[])};this.hasQueueSnapshot&&(c.queuedMessages={steering:[...this.localQueue.steering],followUp:[...this.localQueue.followUp]});try{let b=a.getSessionStats(),d=b?.contextUsage;d&&"number"==typeof d.contextWindow&&d.contextWindow>0&&(c.contextUsage={contextWindow:d.contextWindow,percent:"number"==typeof d.percent?d.percent:null,tokens:"number"==typeof d.tokens?d.tokens:null})}catch{}return c}appendActivity(a){if(!this.runtime)throw Error("Cannot append activity: session not alive");let b=a&&"object"==typeof a&&"type"in a&&"append_activity"===a.type?(0,h.qF)(a):(0,h.l$)(a),c=this.session.sessionManager.appendCustomEntry(h.cP,b);return this.options.onSessionListInvalidate?.(),{entryId:c,activity:b}}async send(a){if(this.resetIdleTimer(),!this.runtime)throw Error("SDK session is not alive");let b=a.type,c=this.session;switch(b){case"prompt":if(this.bashRunning)throw Error("Cannot send a prompt while a shell command is running");this.promptRunning=!0,(0,g.NK)(this.realSessionId,Date.now()),this.notifyRunning();try{return await new Promise((b,d)=>{let e=!1;c.prompt(String(a.message??""),{images:a.images,streamingBehavior:a.streamingBehavior,source:"rpc",preflightResult:a=>{a&&(e=!0,this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),b())}}).then(()=>{if(!e){e=!0;try{(0,k.kb)(c.sessionManager)}catch(a){console.error("[pidance] materialize after prompt failed:",a)}this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.(),b()}}).catch(a=>{e||(e=!0,d(a))})}),null}catch(b){this.promptRunning=!1,(0,g.PI)(this.realSessionId),this.notifyRunning();let a=b instanceof Error?b.message:String(b);throw this.emit({type:"prompt_error",errorMessage:a}),this.emit({type:"prompt_done"}),b}case"abort":return this.promptRunning=!1,this.notifyRunning(),await c.abort(),this.notifyRunning(),null;case"get_state":return this.projectState();case"set_model":{let b=String(a.provider??""),d=String(a.modelId??""),e=(0,m.E)(c.modelRuntime,b,d);if(!e)try{e=(await c.modelRuntime.getAvailable()).find(a=>a.provider===b&&a.id===d)}catch{e=void 0}if(!e)throw Error(`Model not found: ${b}/${d}`);return await c.setModel((0,n.eU)(e)),this.options.onSessionListInvalidate?.(),e}case"set_thinking_level":return c.model&&(0,n.yu)(c.model),c.setThinkingLevel(a.level),this.options.onSessionListInvalidate?.(),null;case"compact":{let b=await c.compact("string"==typeof a.customInstructions?a.customInstructions:void 0);return this.options.onSessionListInvalidate?.(),b}case"steer":return await c.steer(String(a.message??""),a.images),null;case"follow_up":return await c.followUp(String(a.message??""),a.images),null;case"set_session_name":{let b=String(a.name??"").trim();if(!b)throw Error("Session name cannot be empty");return c.setSessionName(b),this.options.onSessionListInvalidate?.(),null}case"set_auto_compaction":return c.setAutoCompactionEnabled(!!a.enabled),null;case"set_auto_retry":return c.setAutoRetryEnabled(!!a.enabled),null;case"clear_queue":return c.clearQueue();case"get_tools":{let a=c.getAllTools(),b=new Set(c.getActiveToolNames());return{source:"sdk",tools:a.map(a=>({name:a.name,description:a.description??"",active:b.has(a.name)}))}}case"set_tools":{let b=Array.isArray(a.tools)?a.tools.filter(a=>"string"==typeof a):[];return c.setActiveToolsByName(b),this.activeToolNames=b,null}case"get_commands":{let a=[];for(let b of c.extensionRunner.getRegisteredCommands())a.push({name:b.invocationName,description:b.description,source:"extension",sourceInfo:b.sourceInfo});for(let b of c.promptTemplates)a.push({name:b.name,description:b.description,source:"prompt_template"});return{commands:a}}case"get_session_stats":return c.getSessionStats();case"bash":if(c.isStreaming)throw Error("Cannot run bash while agent is streaming");this.bashRunning=!0,this.bashCommand={command:String(a.command??""),excludeFromContext:!!a.excludeFromContext,startedAt:Date.now()},this.notifyRunning();try{return await c.executeBash(String(a.command??""),void 0,{excludeFromContext:!!a.excludeFromContext})}finally{this.bashRunning=!1,this.bashCommand=null,this.notifyRunning()}case"abort_bash":return c.abortBash(),this.bashRunning=!1,this.bashCommand=null,this.notifyRunning(),null;case"abort_compaction":return c.abortCompaction(),null;case"extension_ui_response":{let b=q(a.id);if(!b)throw Error("extension_ui_response requires id");let c={...a};return delete c.type,delete c.id,!this.extensionUi?.respond(b,c),this.notifyRunning(),null}case"extension_ui_input":case"ensure_session":return null;case"append_activity":return this.appendActivity(a);case"fork":{if(this.bashRunning)throw Error("Cannot fork while a shell command is running");let b=String(a.entryId??"");if(!b)throw Error("entryId is required");let c=await this.runtime.fork(b);return c.cancelled||(await this.rebindSession(),this.syncIdentityFromSession(),this.options.onSessionListInvalidate?.()),{cancelled:c.cancelled,newSessionId:c.cancelled?void 0:this.realSessionId,text:c.selectedText}}case"navigate_tree":{if(this.bashRunning)throw Error("Cannot navigate while a shell command is running");let b=q(a.targetId);if(!b)throw Error("targetId is required");let d=await c.navigateTree(b,{summarize:a.summarize,customInstructions:q(a.customInstructions)});if(!d.cancelled&&this.realSessionFile){c.sessionManager.getLeafId();let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries(),d=b.at(-1)?.id;a&&d&&a!==d?(0,i.R3)(this.realSessionFile,a):this.realSessionFile&&(0,i.$9)(this.realSessionFile)}return this.options.onSessionListInvalidate?.(),{cancelled:d.cancelled}}case"select_leaf_exact":{let b=q(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.selectLeafExact(this.sessionId,b);let d=await c.navigateTree(b,{summarize:!1});if(!d.cancelled&&this.realSessionFile){let a=c.sessionManager.getLeafId(),b=c.sessionManager.getEntries().at(-1)?.id;a&&b&&a!==b?(0,i.R3)(this.realSessionFile,a):(0,i.$9)(this.realSessionFile)}return{cancelled:d.cancelled}}case"branch_from_assistant":{let b=q(a.assistantEntryId);if(!b)throw Error("assistantEntryId is required");if(this.options.navigationActions)return this.options.navigationActions.branchFromAssistant(this.sessionId,b);throw Error("branch_from_assistant is unavailable")}case"create_session_from_leaf":{let b=q(a.entryId);if(!b)throw Error("entryId is required");if(this.options.navigationActions)return this.options.navigationActions.createSessionFromLeaf(this.sessionId,b);throw Error("create_session_from_leaf is unavailable")}case"set_branch_label":{let b=q(a.targetId);if(!b)throw Error("targetId is required");let d=void 0===a.label||null===a.label?void 0:String(a.label);return c.sessionManager.appendLabelChange(b,d),this.options.onSessionListInvalidate?.(),null}case"reload":return await c.reload(),await this.rebindSession(),null;case"get_last_assistant_text":return{text:c.getLastAssistantText()};default:throw Error(`Unsupported command: ${b}`)}}destroy(){this.destroyAsync()}async destroyAsync(){if(!this._alive&&!this.runtime)return;this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null,this.unsubscribe?.(),this.unsubscribe=null,this.extensionUi?.dispose(),this.extensionUi=null;let a=this.runtime;if(this.runtime=null,a)try{await a.dispose()}catch(a){console.error("[pidance] sdk runtime dispose error:",a)}this.lock?.release(),this.lock=null,this.promptRunning=!1,this.bashRunning=!1,this.bashCommand=null,(0,g.PI)(this.realSessionId),this.onDestroyCallback?.(),this.notifyRunning()}}async function r(a){let b=new s(a);return await b.start(),b}d()}catch(a){d(a)}})},5815:(a,b,c)=>{c.d(b,{MG:()=>h,NK:()=>f,PI:()=>g});let d="__piRunningStartedAt";function e(){let a=globalThis;return d in a&&a[d]instanceof Map||(a[d]=new Map),a[d]}function f(a,b){e().set(a,b)}function g(a){e().delete(a)}function h(){return e()}},26773:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>m,A4:()=>i,Fn:()=>l,HG:()=>j,OF:()=>n});var e=c(40402),f=c(2416),g=a([e,f]);function h(){if(!globalThis.__piSessions){globalThis.__piSessions=new Map;let a=()=>{globalThis.__piSessions?.forEach(a=>a.destroy())};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__piSessions}function i(a){return h().get(a)}function j(){let a=new Set;for(let[b,c]of h())c.isRunning()&&a.add(c.sessionId||b);return[...a]}function k(){return globalThis.__piRunningListeners||(globalThis.__piRunningListeners=new Set),globalThis.__piRunningListeners}function l(a){let b=k();return b.add(a),()=>{b.delete(a)}}function m(){let a=[];for(let[b,c]of h()){let d=c.listPendingExtensionRequests();0!==d.length&&a.push({sessionId:c.sessionId||b,requests:d})}return a}[e,f]=g.then?(await g)():g;let p="";async function n(a,b,c,d,e){return o(a,b,c,d,e)}async function o(a,b,c,d,g){let i=h(),l=(globalThis.__piStartLocks||(globalThis.__piStartLocks=new Map),globalThis.__piStartLocks),n=i.get(a);if(n?.isAlive())return{session:n,realSessionId:a};let o=l.get(a);if(o)return o;let q=(async()=>{let l=await (0,f.j1)({sessionId:a,sessionFile:b,cwd:c,toolNames:d,navigationActions:g,onRunningChange:()=>(function(){let a=j(),b=m(),c=JSON.stringify({ids:[...a].sort(),pending:b.map(a=>({sessionId:a.sessionId,ids:a.requests.map(a=>a.id??null)}))});if(c!==p)for(let b of(p=c,k()))try{b(a)}catch{}})(),onSessionListInvalidate:()=>(0,e.mD)(),cacheSessionPath:(a,b)=>(0,e.O8)(a,b),onSessionRekeyed:(a,b,c)=>{let d;d=h(),a!==b&&d.delete(a),d.set(b,c)}}),n=l.sessionId,o=l.sessionFile;return o&&(0,e.O8)(n,o),l.onDestroy(()=>{i.get(n)===l&&i.delete(n),a!==n&&i.get(a)===l&&i.delete(a)}),i.set(n,l),a!==n&&i.get(a),l.beginExtensionBinding(),{session:l,realSessionId:n}})().finally(()=>l.delete(a));return l.set(a,q),q}d()}catch(a){d(a)}})},31524:(a,b,c)=>{c.d(b,{Ut:()=>e,eU:()=>f,yu:()=>g});let d=["off","minimal","low","medium","high","xhigh","max"];function e(a,b){return a?d.filter(a=>b?.[a]!==null):["off"]}function f(a){if(!a.reasoning)return a;let b=a.thinkingLevelMap,c={...b??{}},d=!1;for(let a of["xhigh","max"])Object.prototype.hasOwnProperty.call(c,a)&&void 0!==c[a]||(c[a]=a,d=!0);return!d&&b?a:{...a,thinkingLevelMap:c}}function g(a){let b=f(a);if(b===a)return a;try{return a.thinkingLevelMap=b.thinkingLevelMap,a}catch{return b}}},37594:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{C9:()=>t,DQ:()=>s,Yz:()=>r,mB:()=>v});var e=c(29021),f=c(80547),g=c(60396),h=c(95237),i=c(65107),j=c(56429),k=c(40402),l=c(85664),m=c(15461),n=c(76817),o=c(86226),p=c(40239),q=a([f,h,j,k]);[f,h,j,k]=q.then?(await q)():q;let s="Subagent sessions are read-only";class t extends Error{constructor(){super(s)}toString(){return this.message}}async function r(a,b){if(await b(a))throw new t}let u={listAllSessions:k.dQ,resolveSessionPath:k.os,getRpcSession:j.A4,startRpcSession:j.OF,getRunningRpcSessionIds:j.HG,listPendingExtensionUi:j.$k,subscribeRunningSessions:j.Fn,allowFileRoot:f.wz,invalidateSessionListCache:k.mD,openSessionCwd:a=>(0,h.kW)(a).getHeader()?.cwd??process.cwd(),openSessionManager:a=>(0,k.Zx)({filePath:a}),existsSync:e.existsSync,now:()=>Date.now(),archiveFs:p.Iq},v=function(a={}){let b={...u,...a},c=(0,p.Ki)({fs:b.archiveFs,agentDir:b.archiveAgentDir,resolveSessionPath:b.resolveSessionPath,readSessionHeader:k.eP,isReadOnly:async a=>{let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},isRunning:a=>b.getRunningRpcSessionIds().includes(a),getSessionInfo:async a=>(await b.listAllSessions()).find(b=>b.id===a)??null,invalidateSessionListCache:b.invalidateSessionListCache,now:()=>new Date(b.now()).toISOString()}),d=()=>(0,p.$T)(b.archiveFs??p.Iq,b.archiveAgentDir?.()??(0,g.$M)()),e={async listSessions(){let a=await b.listAllSessions(),{active:c,archived:e}=(0,p.uD)(a,d());return{sessions:c,archivedSessions:e,archivedCount:e.length,runningSessionIds:b.getRunningRpcSessionIds()}},async listArchivedSessions(){let a=await b.listAllSessions();return(0,p.uD)(a,d()).archived},async listActiveSessions(){let a=await b.listAllSessions();return(0,p.uD)(a,d()).active},listAllSessions:async()=>b.listAllSessions(),async isArchived(a){let c=await b.listAllSessions();return(0,p.YV)(c,d()).has(a)},archiveSession:async a=>c.archiveSession(a),restoreSession:async a=>c.restoreSession(a),archiveSessions:async a=>c.archiveSessions(a),restoreSessions:async a=>c.restoreSessions(a),removeArchiveRecordAfterPermanentDelete(a){(0,p.rQ)(b.archiveFs??p.Iq,b.archiveAgentDir?.()??(0,g.$M)(),a)},resolvePath:a=>b.resolveSessionPath(a),getSessionInfo:async a=>a&&"string"==typeof a?(await b.listAllSessions()).find(b=>b.id===a)??null:null,async isReadOnly(a){let c=(await b.listAllSessions()).find(b=>b.id===a);return c?.readOnly===!0},async getReadView(a){let c=await b.resolveSessionPath(a);if(!c)return null;let d=b.getRpcSession(a),e=d?.inner;return d?.isAlive()&&e?.sessionManager?{source:"live",filePath:c,manager:e.sessionManager}:{source:"disk",filePath:c,manager:b.openSessionManager(c)}},getLive(a){let c=b.getRpcSession(a);return c?.isAlive()?c:void 0},getLiveSession:a=>e.getLive(a),isLive:a=>!!e.getLive(a),async ensureLive(a){await r(a,e.isReadOnly);let c=e.getLive(a);if(c)return c;let d=await b.resolveSessionPath(a);if(!d)throw Error("Session not found");let g=b.openSessionCwd(d),{session:h}=await b.startRpcSession(a,d,g,void 0,f);return h},destroy(a){b.getRpcSession(a)?.destroy()},start:async(a,c,d,g)=>(await r(a,e.isReadOnly),b.startRpcSession(a,c,d,g,f)),send:async(a,b)=>(await e.ensureLive(a)).send(b),async appendActivity(a,c){await r(a,e.isReadOnly);let d=e.getLive(a),f=!!d?.inner?.sessionManager,g=d?.appendActivity;if(d?.isAlive()&&f&&"function"==typeof g)return await g.call(d,c);d?.isAlive()&&e.destroy(a);let i=await b.resolveSessionPath(a);if(!i)throw Error("Session not found");let j=(0,l.l$)(c),k=(0,h.kW)(i).appendCustomEntry(l.cP,j);return b.invalidateSessionListCache(),{entryId:k,activity:j}},async appendCommandEntry(a,c){await r(a,e.isReadOnly);let d=e.getLive(a);d?.isAlive()&&e.destroy(a);let f=await b.resolveSessionPath(a);if(!f)throw Error("Session not found");let g=(0,m.fc)(c);if(!g.command)throw Error("command is required");let i=(0,h.kW)(f).appendCustomEntry(m.OE,g);return b.invalidateSessionListCache(),{entryId:i,data:g}},async createNew({cwd:a,command:c}){if(!a||"string"!=typeof a)throw Error("cwd is required");if(!b.existsSync(a))throw Error(`Directory does not exist: ${a}`);let{provider:d,modelId:e,toolNames:g,thinkingLevel:h,...i}=c,j=`__new__${b.now()}`,{session:k,realSessionId:l}=await b.startRpcSession(j,"",a,g,f);if(b.allowFileRoot(a),b.invalidateSessionListCache(),d&&e&&await k.send({type:"set_model",provider:d,modelId:e}),h&&await k.send({type:"set_thinking_level",level:h}),"ensure_session"===i.type)return{sessionId:l,data:null};let m=await k.send(i);return{sessionId:l,data:m}},getRunningIds:()=>b.getRunningRpcSessionIds(),listPendingExtensionUi:()=>b.listPendingExtensionUi(),subscribeRunning:a=>b.subscribeRunningSessions(a),async selectLeafExact(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),f=b.getRpcSession(a);if(f?.isAlive?.()){if(f.inner?.isBashRunning)throw Error("Cannot switch branch while a shell command is running");e.destroy(a)}let g=await b.resolveSessionPath(a);if(!g)throw Error("Session not found");let j=(0,h.kW)(g),k=j.getLeafId();if(d===k)return{cancelled:!1};if(d===j.getLastEntryId())return(0,i.$9)(g),{cancelled:!1};if(!j.getEntry(d))throw Error(`Entry ${d} not found`);try{return j.branch(d),(0,i.R3)(g,d),{cancelled:!1}}finally{b.invalidateSessionListCache()}},async branchFromAssistant(a,c){if("string"!=typeof c||""===c.trim())throw Error("assistantEntryId is required");let d=c.trim(),f=b.getRpcSession(a);if(f?.isAlive?.()){if(f.inner?.isBashRunning)throw Error("Cannot branch while a shell command is running");e.destroy(a)}let g=await b.resolveSessionPath(a);if(!g)throw Error("Session not found");let j=(0,h.kW)(g),k=j.getLeafId();if(!k)throw Error("Session has no leaf");let l=j.getBranch(k),m=j.getEntry(d);if(!m)throw Error("Entry not found");if("message"!==m.type||m.message?.role!=="assistant")throw Error("Only assistant messages can be branched from");let o=(0,n.wo)(l,d);try{return j.branch(o),o===j.getLastEntryId()?(0,i.$9)(g):(0,i.R3)(g,o),{cancelled:!1}}finally{b.invalidateSessionListCache()}},async createSessionFromLeaf(a,c){if("string"!=typeof c||""===c.trim())throw Error("entryId is required");let d=c.trim(),f=b.getRpcSession(a),g=f?.inner;b.getRpcSession(a)?.isAlive()&&e.destroy(a);let i=(g?.sessionFile||f?.sessionFile)??await b.resolveSessionPath(a);if(!i)throw Error("Session not found");let j=(0,h.kW)(i),l=j.getEntry(d);if(!l)throw Error("Invalid entry ID");let m=d;if("message"===l.type&&l.message?.role==="assistant"){let a=j.getLeafId();if(!a)throw Error("Session has no leaf");let b=j.getBranch(a);m=(0,n.wo)(b,d)}let p=j.getSessionDir(),q=(0,h.G1)(i,p),r=q.createBranchedSession(m);if(!r)throw Error("Failed to create session");(0,h.kb)(q);let s=(0,h.kW)(r,p),t=s.getSessionId();(0,k.O8)(t,r),b.invalidateSessionListCache();let u=g?.model;return u&&(0,o.yN)(s.getEntries().some(a=>"model_change"===a.type),{provider:u.provider,modelId:u.id})&&s.appendModelChange(u.provider,u.id),b.getRpcSession(a)?.destroy(),{cancelled:!1,newSessionId:t}}},f={selectLeafExact:(a,b)=>e.selectLeafExact(a,b),branchFromAssistant:(a,b)=>e.branchFromAssistant(a,b),createSessionFromLeaf:(a,b)=>e.createSessionFromLeaf(a,b)};return e}();d()}catch(a){d(a)}})},38195:(a,b,c)=>{c.d(b,{t:()=>g});var d=c(716),e=c(87538);function f(a,b,c,e,f,g,h){let i=(0,d.randomUUID)();return new Promise((d,j)=>{let k,l=!1,m=()=>{a.delete(i),b.delete(i),k&&clearTimeout(k),e?.signal?.removeEventListener("abort",o)},n=a=>{l||(l=!0,m(),d(a))},o=()=>n(f);e?.signal?.addEventListener("abort",o,{once:!0}),e?.timeout&&(k=setTimeout(()=>n(f),e.timeout)),a.set(i,{resolve:a=>{try{n(h(a))}catch(a){if(l)return;l=!0,m(),j(a instanceof Error?a:Error(String(a)))}},reject:a=>{l||(l=!0,m(),j(a))}});let p={type:"extension_ui_request",id:i,...g};b.set(i,p),c(p)})}function g(a){let b=new Map,c=new Map,g=new Map,h=new Map;return{uiContext:{select:(d,e,g)=>f(b,c,a,g,void 0,{method:"select",title:d,options:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),confirm:(d,e,g)=>f(b,c,a,g,!1,{method:"confirm",title:d,message:e,timeout:g?.timeout},a=>(!("cancelled"in a)||!a.cancelled)&&"confirmed"in a&&!!a.confirmed),input:(d,e,g)=>f(b,c,a,g,void 0,{method:"input",title:d,placeholder:e,timeout:g?.timeout},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),notify(b,c){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"notify",message:b,notifyType:c})},onTerminalInput:()=>()=>{},setStatus(b,c){c?g.set(b,c):g.delete(b),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setStatus",statusKey:b,statusText:c})},setWorkingMessage(){},setWorkingVisible(){},setWorkingIndicator(){},setHiddenThinkingLabel(){},setWidget(b,c,f){if("function"==typeof c){let a=(0,e.tU)(c,(0,e.Lm)());if(null===a)return;c=a}(void 0===c||Array.isArray(c))&&(null==c?h.delete(b):h.set(b,{lines:c,placement:f?.placement}),a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setWidget",widgetKey:b,widgetLines:c,widgetPlacement:f?.placement}))},setFooter(){},setHeader(){},setTitle(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"setTitle",title:b})},async custom(b){let c=(0,d.randomUUID)();return new Promise(d=>{let e=!1,f=b=>{e||(e=!0,a({type:"extension_ui_request",id:c,method:"custom_close"}),d(b))};Promise.resolve(b(function(a,b=92,c=40){return Object.freeze({terminal:Object.freeze({columns:b,rows:c,kittyProtocolActive:!1}),requestRender:a})}(()=>{a({type:"extension_ui_request",id:c,method:"custom_render"})},92,40),{},{},f)).catch(()=>{f(void 0)}),a({type:"extension_ui_request",id:c,method:"custom"})})},pasteToEditor(a){this.setEditorText(a)},setEditorText(b){a({type:"extension_ui_request",id:(0,d.randomUUID)(),method:"set_editor_text",text:b})},getEditorText:()=>"",editor:async(d,e)=>f(b,c,a,void 0,void 0,{method:"editor",title:d,prefill:e},a=>"cancelled"in a&&a.cancelled?void 0:"value"in a?a.value:void 0),addAutocompleteProvider(){},setEditorComponent(){},getEditorComponent(){},get theme(){let a=a=>String(a??""),b=(a,b)=>void 0===b?"":String(b);return new Proxy({fg:b,bg:b,bold:a,dim:a,italic:a},{get:(b,c)=>c in b?b[c]:"then"!==c?a:void 0})},getAllThemes:()=>[],getTheme(){},setTheme:()=>({success:!1,error:"Theme switching not supported in Web mode"}),getToolsExpanded:()=>!1,setToolsExpanded(){}},pending:b,statuses:g,widgets:h,pendingSnapshot:c,respond(a,c){let d=b.get(a);return!!d&&(d.resolve(c),!0)},dispose(){for(let[a,d]of b)b.delete(a),c.delete(a),d.reject(Error("Extension UI disposed"));g.clear(),h.clear()}}}},40239:(a,b,c)=>{c.d(b,{$T:()=>m,Iq:()=>g,J3:()=>t,Ki:()=>u,YV:()=>q,mT:()=>r,rQ:()=>p,uD:()=>s});var d=c(29021),e=c(33873),f=c(60396);let g={existsSync:d.existsSync,lstatSync:d.lstatSync,mkdirSync:d.mkdirSync,readFileSync:(a,b)=>(0,d.readFileSync)(a,b),writeFileSync:(a,b,c)=>(0,d.writeFileSync)(a,b,c),renameSync:d.renameSync,unlinkSync:d.unlinkSync,readdirSync:d.readdirSync};function h(a=(0,f.$M)()){return(0,e.join)(a,"pidance-archive")}function i(a){return"string"!=typeof a||a.length<8||a.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(a)?null:`${a}.json`}function j(a,b){try{let c=h(b);if(!a.existsSync(c))return null;let d=a.lstatSync(c);if(d.isSymbolicLink()||!d.isDirectory())return null;return c}catch{return null}}function k(a){return"object"==typeof a&&null!==a&&!(1!==a.version||"string"!=typeof a.sessionId||0===a.sessionId.length||"string"!=typeof a.sessionPath||0===a.sessionPath.length||"string"!=typeof a.archivedAt||Number.isNaN(Date.parse(a.archivedAt)))}function l(a,b,c){let d=i(c);if(!d)return null;let f=j(a,b);if(!f)return null;let g=(0,e.join)(f,d);try{if(!a.existsSync(g)||a.lstatSync(g).isSymbolicLink())return null;let b=a.readFileSync(g,"utf8");if(b.length>65536)return null;let d=JSON.parse(b);if(!k(d)||d.sessionId!==c)return null;return d}catch{return null}}function m(a,b){let c=globalThis.__piArchiveRecordsCache;if(c&&Date.now()-c.ts<5e3)return c.records;let d=j(a,b),e=[];if(d){let c=[];try{c=a.readdirSync(d)}catch{c=[]}for(let d of c){let c=function(a){if("string"!=typeof a||!a.endsWith(".json"))return null;let b=a.slice(0,-5);return b.length<8||b.length>64||!/^[0-9a-fA-F][0-9a-fA-F-]{7,63}$/.test(b)?null:b}(d);if(!c)continue;let f=l(a,b,c);f&&e.push(f)}}return globalThis.__piArchiveRecordsCache={records:e,ts:Date.now()},e}function n(){globalThis.__piArchiveRecordsCache=void 0}function o(a,b,c){let d=i(c);if(!d)return!1;let f=j(a,b);if(!f)return!1;let g=(0,e.join)(f,d);try{if(!a.existsSync(g))return!1;return a.unlinkSync(g),n(),!a.existsSync(g)}catch{return!1}}function p(a,b,c){o(a,b,c)}function q(a,b){let c=new Map;for(let a of b)c.set(a.sessionId,a);let d=new Set;for(let b of a){let a=c.get(b.id);a&&a.sessionPath===b.path&&d.add(b.id)}return d}function r(a,b,c,d){let e=q(b,c),f=new Set;for(let b of a){let a=e.has(b);("active"===d?!a:a)&&f.add(b)}return f}function s(a,b){let c=q(a,b),d=new Map;for(let a of b)d.set(a.sessionId,a);let e=[],f=[];for(let b of a)if(c.has(b.id)){let a=d.get(b.id);f.push({...b,archivedAt:a?a.archivedAt:void 0})}else e.push(b);return{active:e,archived:f}}class t extends Error{constructor(){super("Session is running; cannot archive while active")}toString(){return this.message}}function u(a){let b=a.fs??g,c=()=>a.agentDir?.()??(0,f.$M)(),d=async d=>{if(await a.isReadOnly(d))throw Error("Subagent sessions are read-only");if(a.isRunning(d))throw new t;let f=await a.resolveSessionPath(d);if(!f)throw Error("Session not found");let g=a.readSessionHeader(f);if(!g||g.id!==d)throw Error("Session header id mismatch");let j={version:1,sessionId:d,sessionPath:f,archivedAt:a.now()};return!function(a,b,c){let d=i(c.sessionId);if(!d)throw Error("Invalid session id");if(!k(c))throw Error("Invalid archive record");let f=function(a,b){let c=h(b);try{a.existsSync(c)||a.mkdirSync(c,{recursive:!0});let b=a.lstatSync(c);if(b.isSymbolicLink()||!b.isDirectory())return null;return c}catch{return null}}(a,b);if(!f)throw Error("Archive directory unavailable");let g=(0,e.join)(f,d),j=(0,e.join)(f,`.${d}.${process.pid}.${Date.now().toString(36)}.tmp`);try{a.writeFileSync(j,JSON.stringify(c),{encoding:"utf8",flag:"wx"}),a.renameSync(j,g),n()}catch(b){try{a.existsSync(j)&&a.unlinkSync(j)}catch{}throw b}}(b,c(),j),a.invalidateSessionListCache(),j.archivedAt},j=async d=>{if(null===l(b,c(),d))throw Error("Session is not archived");if(!await a.resolveSessionPath(d))throw Error("Session not found");if(!o(b,c(),d))throw Error("Failed to remove archive record");return a.invalidateSessionListCache(),a.getSessionInfo(d)},m=async a=>{let b=[],c=[];for(let e of a)try{await d(e),b.push(e)}catch(a){c.push({id:e,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}},p=async a=>{let b=[],c=[];for(let d of a)try{await j(d),b.push(d)}catch(a){c.push({id:d,error:a instanceof Error?a.message:String(a)})}return{succeededIds:b,failed:c}};return{archiveSession:d,restoreSession:j,archiveSessions:m,restoreSessions:p}}},54158:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89477),e=c(86697),f=c(60396);function g(a){return(0,e.join)(a,"pidance-session-locks")}function h(a,b=(0,f.$M)()){let c;if(!a)return null;let i=g(b);(0,d.existsSync)(i)||(0,d.mkdirSync)(i,{recursive:!0,mode:448});let j=(c=a.replace(/[^a-zA-Z0-9._-]+/g,"_").slice(0,180),(0,e.join)(g(b),`${c}.lock`)),k=()=>{try{let b=(0,d.openSync)(j,"wx",384);try{(0,d.writeFileSync)(b,JSON.stringify({pid:process.pid,sessionKey:a,at:new Date().toISOString()}),"utf8")}catch{try{(0,d.closeSync)(b)}catch{}try{(0,d.unlinkSync)(j)}catch{}return null}let c=!1;return{path:j,release:()=>{if(!c){c=!0;try{(0,d.closeSync)(b)}catch{}try{(0,d.unlinkSync)(j)}catch{}}}}}catch{return null}},l=k();if(l)return l;let m=function(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return"number"==typeof b.pid?b.pid:null}catch{return null}}(j);if(null!==m&&!function(a){if(!Number.isFinite(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch{return!1}}(m)){try{(0,d.unlinkSync)(j)}catch{}return k()}return null}},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$k:()=>e.$k,A4:()=>e.A4,Fn:()=>e.Fn,HG:()=>e.HG,OF:()=>e.OF});var e=c(26773),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},62693:(a,b,c)=>{c.d(b,{E:()=>d});function d(a,b,c){let d=a.getModel?.(b,c);return d||a.getAvailableSnapshot?.().find(a=>a.provider===b&&a.id===c)}},69835:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Lj:()=>p,Md:()=>o,eq:()=>l,ki:()=>n,qo:()=>k,uF:()=>m});var e=c(29021),f=c(33873),g=c(55511),h=c(60396),i=c(80547),j=a([i]);i=(j.then?(await j)():j)[0];let o=0x1900000,p=0x6400000;function k(a=(0,h.$M)()){return(0,i.Nw)((0,f.join)(a,"pidance-attachments"))}function l(a=(0,h.$M)()){let b=k(a);return(0,e.existsSync)(b)||(0,e.mkdirSync)(b,{recursive:!0,mode:448}),(0,i.wz)(b),b}function m(a){let b=(a.replace(/\\/g,"/").split("/").pop()??"file").replace(/\0/g,"").replace(/^\.+/,"").trim()||"file";if(b.length<=180)return b;let c=b.lastIndexOf(".");if(c>0&&b.length-c<=20){let a=b.slice(c);return b.slice(0,180-a.length)+a}return b.slice(0,180)}function n(a,b,c=(0,h.$M)()){let d=l(c),j=function(a,b=Date.now()){let c=m(a),d=new Date(b).toISOString().replace(/[:.]/g,"-"),e=(0,g.randomUUID)().slice(0,8);return`${d}_${e}_${c}`}(a),k=(0,f.join)(d,j);return(0,e.writeFileSync)(k,b,{flag:"wx",mode:384}),{path:(0,i.Nw)(k),name:m(a),storedName:j,size:b.length}}d()}catch(a){d(a)}})},76817:(a,b,c)=>{c.d(b,{wo:()=>d});function d(a,b){let c=a.findIndex(a=>a.id===b);if(-1===c)return b;let d=b;for(let b=c+1;b<a.length;b+=1){let c=a[b];if("message"===c.type&&c.message?.role==="user")break;d=c.id}return d}},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>q,Nw:()=>j.Nw,mc:()=>p,uK:()=>o,wz:()=>k.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(60396),j=c(50593),k=c(25252),l=c(69835),m=c(40402),n=a([l,m]);[l,m]=n.then?(await n)():n;let r=/^[a-zA-Z]:[\\/]/;function o(a){return r.test(a)||a.startsWith("\\\\")||a.startsWith("//")}async function p(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,m.dQ)(),d=function(a){let b=new Set;for(let c of a)!0!==c.readOnly&&c.cwd&&b.add((0,j.Nw)(c.cwd)),!0!==c.readOnly&&c.projectRoot&&b.add((0,j.Nw)(c.projectRoot));return b}(c);try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,j.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,k.HM)())d.add(a);try{d.add((0,l.qo)((0,i.$M)()))}catch{}return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function q(a,b){for(let c of b){let b=o(a)||o(c),d=b?h().win32:h(),e=b?"\\":h().sep,f=d.resolve(a),g=d.resolve(c),i=b?f.toLowerCase():f,j=b?g.toLowerCase():g,k=j.endsWith(e)?j:j+e;if(i===j||i.startsWith(k))return!0}return!1}d()}catch(a){d(a)}})},86226:(a,b,c)=>{c.d(b,{yN:()=>d});function d(a,b){return!a&&!!b}},87538:(a,b,c)=>{let d;c.d(b,{Lm:()=>i,Mf:()=>n,GD:()=>l,t_:()=>k,tU:()=>m});let e=JSON.parse('{"$schema":"https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json","name":"dark","vars":{"cyan":"#00d7ff","blue":"#5f87ff","green":"#b5bd68","red":"#cc6666","yellow":"#ffff00","text":"#d4d4d4","gray":"#808080","dimGray":"#666666","darkGray":"#505050","accent":"#8abeb7","selectedBg":"#3a3a4a","userMsgBg":"#343541","toolPendingBg":"#282832","toolSuccessBg":"#283228","toolErrorBg":"#3c2828","customMsgBg":"#2d2838"},"colors":{"accent":"accent","border":"blue","borderAccent":"cyan","borderMuted":"darkGray","success":"green","error":"red","warning":"yellow","muted":"gray","dim":"dimGray","text":"text","thinkingText":"gray","selectedBg":"selectedBg","userMessageBg":"userMsgBg","userMessageText":"text","customMessageBg":"customMsgBg","customMessageText":"text","customMessageLabel":"#9575cd","toolPendingBg":"toolPendingBg","toolSuccessBg":"toolSuccessBg","toolErrorBg":"toolErrorBg","toolTitle":"text","toolOutput":"gray","mdHeading":"#f0c674","mdLink":"#81a2be","mdLinkUrl":"dimGray","mdCode":"accent","mdCodeBlock":"green","mdCodeBlockBorder":"gray","mdQuote":"gray","mdQuoteBorder":"gray","mdHr":"gray","mdListBullet":"accent","toolDiffAdded":"green","toolDiffRemoved":"red","toolDiffContext":"gray","syntaxComment":"#6A9955","syntaxKeyword":"#569CD6","syntaxFunction":"#DCDCAA","syntaxVariable":"#9CDCFE","syntaxString":"#CE9178","syntaxNumber":"#B5CEA8","syntaxType":"#4EC9B0","syntaxOperator":"#D4D4D4","syntaxPunctuation":"#D4D4D4","thinkingOff":"darkGray","thinkingMinimal":"#6e6e6e","thinkingLow":"#5f87af","thinkingMedium":"#81a2be","thinkingHigh":"#b294bb","thinkingXhigh":"#d183e8","thinkingMax":"#ff5fff","bashMode":"green"},"export":{"pageBg":"#18181e","cardBg":"#1e1e24","infoBg":"#3c3728"}}');function f(a){let b=a.replace("#",""),c=Number.parseInt(3===b.length?b.split("").map(a=>a+a).join(""):b,16);return{r:c>>16&255,g:c>>8&255,b:255&c}}class g{constructor(a,b,c="truecolor",d){for(const[b,e]of(this.fgAnsiMap=new Map,this.bgAnsiMap=new Map,this.mode=c,this.name=d?.name,Object.entries({...a,thinkingMax:a.thinkingMax??a.thinkingXhigh})))this.fgAnsiMap.set(b,function(a,b){if(""===a)return"\x1b[39m";if("number"==typeof a)return`\x1b[38;5;${a}m`;if("string"==typeof a&&a.startsWith("#")){if("truecolor"===b){let{r:b,g:c,b:d}=f(a);return`\x1b[38;2;${b};${c};${d}m`}return"\x1b[38;5;7m"}throw Error(`Invalid color value: ${String(a)}`)}(e,c));for(const[a,d]of Object.entries(b))this.bgAnsiMap.set(a,function(a,b){if(""===a)return"\x1b[49m";if("number"==typeof a)return`\x1b[48;5;${a}m`;if("string"==typeof a&&a.startsWith("#")){if("truecolor"===b){let{r:b,g:c,b:d}=f(a);return`\x1b[48;2;${b};${c};${d}m`}return"\x1b[48;5;0m"}throw Error(`Invalid color value: ${String(a)}`)}(d,c))}fg(a,b){let c=this.fgAnsiMap.get(a);if(!c)throw Error(`Unknown theme color: ${a}`);return`${c}${b}\x1b[39m`}bg(a,b){let c=this.bgAnsiMap.get(a);if(!c)throw Error(`Unknown theme background color: ${a}`);return`${c}${b}\x1b[49m`}bold(a){return`\x1b[1m${a}\x1b[22m`}italic(a){return`\x1b[3m${a}\x1b[23m`}underline(a){return`\x1b[4m${a}\x1b[24m`}inverse(a){return`\x1b[7m${a}\x1b[27m`}strikethrough(a){return`\x1b[9m${a}\x1b[29m`}getFgAnsi(a){let b=this.fgAnsiMap.get(a);if(!b)throw Error(`Unknown theme color: ${a}`);return b}getBgAnsi(a){let b=this.bgAnsiMap.get(a);if(!b)throw Error(`Unknown theme background color: ${a}`);return b}getColorMode(){return this.mode}getThinkingBorderColor(a){let b={off:"thinkingOff",minimal:"thinkingMinimal",low:"thinkingLow",medium:"thinkingMedium",high:"thinkingHigh",xhigh:"thinkingXhigh",max:"thinkingMax"}[a]??"thinkingOff";return a=>this.fg(b,a)}getBashModeBorderColor(){return a=>this.fg("bashMode",a)}}let h=new Set(["selectedBg","userMessageBg","customMessageBg","toolPendingBg","toolSuccessBg","toolErrorBg"]);function i(){if(void 0!==d)return d;try{d=function(a){let b={...a.colors,thinkingMax:a.colors.thinkingMax??a.colors.thinkingXhigh},c=a.vars??{},d={},e={};for(let[a,f]of Object.entries(b)){let b=function a(b,c,d=new Set){if("number"==typeof b||""===b||b.startsWith("#"))return b;if(d.has(b))throw Error(`Circular variable reference detected: ${b}`);if(!(b in c))throw Error(`Variable reference not found: ${b}`);return d.add(b),a(c[b],c,d)}(f,c);h.has(a)?e[a]=b:d[a]=b}return new g(d,e,"truecolor",{name:a.name})}(e)}catch{d=null}return d}function j(a,b=100){if(!a||"object"!=typeof a||"function"!=typeof a.render)return null;try{let c=a.render(b);if(!function(a){if(!Array.isArray(a)||0===a.length||!a.every(a=>"string"==typeof a)||a.length>500)return!1;let b=0;for(let c of a)if(c.length>4e3||(b+=c.length)>204800)return!1;return!0}(c))return null;return c}catch{return null}}function k(a,b,c,d,e){let f=function(a){if(!a||"object"!=typeof a)return;let b=a.renderResult??a.ln;return"function"==typeof b?b:void 0}(a);if(!f)return null;let g=i();if(!g)return null;try{let a=f(b,c,g,d);return a&&"object"==typeof a&&e?.(a),j(a)}catch{return null}}function l(a,b,c,d){let e=function(a){if(!a||"object"!=typeof a)return;let b=a.renderCall;return"function"==typeof b?b:void 0}(a);if(!e)return null;let f=i();if(!f)return null;try{let a=e(b,f,c);return a&&"object"==typeof a&&d?.(a),j(a)}catch{return null}}function m(a,b,c=100){if("function"!=typeof a||!b)return null;try{let d=a(void 0,b);return j(d,c)}catch{return null}}function n(a,b,c,d=100){if("function"!=typeof a||!c)return null;try{let e=a(b,{expanded:!0},c);return j(e,d)}catch{return null}}}};
|
|
@@ -15,8 +15,11 @@
|
|
|
15
15
|
]
|
|
16
16
|
},
|
|
17
17
|
"/api/auth/ui-session": {},
|
|
18
|
+
"/api/auth/ui-sessions": {},
|
|
19
|
+
"/api/auth/ui-sessions/[id]": {},
|
|
18
20
|
"/api/sessions/[id]/export": {},
|
|
19
21
|
"/api/sessions/search": {},
|
|
22
|
+
"/api/settings/remote": {},
|
|
20
23
|
"/api/update/apply": {
|
|
21
24
|
"maxDuration": 600
|
|
22
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={9956:a=>{a.exports=require("undici")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a();let{configurePiSubagentBinaryFromPackage:b}=await c.e(9874).then(c.bind(c,29874)),d=b();d?console.log(`[pidance] subagent Pi CLI: ${d}`):console.error("[pidance] 未解析到包内 Pi CLI(@earendil-works/pi-coding-agent/dist/cli.js)。subagent 可能失败。"),console.log("[pidance] 主 Agent runtime: 同进程 Pi SDK 0.
|
|
1
|
+
"use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={9956:a=>{a.exports=require("undici")},53861:(a,b,c)=>{async function d(){let{configureHttpDispatcher:a}=await c.e(2349).then(c.bind(c,42349));a();let{configurePiSubagentBinaryFromPackage:b}=await c.e(9874).then(c.bind(c,29874)),d=b();d?console.log(`[pidance] subagent Pi CLI: ${d}`):console.error("[pidance] 未解析到包内 Pi CLI(@earendil-works/pi-coding-agent/dist/cli.js)。subagent 可能失败。"),console.log("[pidance] 主 Agent runtime: 同进程 Pi SDK 0.84.1")}c.r(b),c.d(b,{register:()=>d})},86697:a=>{a.exports=require("node:path")},89477:a=>{a.exports=require("node:fs")},93351:a=>{a.exports=require("node:events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=53861);module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/bR7RbvJMnnKuh-cKREZa4/_buildManifest.js","static/bR7RbvJMnnKuh-cKREZa4/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-d2379fd13c5c78c6.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-907785a527d8128b.js","static/chunks/main-app-06b2b50b226e40d1.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|