pi-yun 0.2.4 → 0.2.5
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 +14 -14
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +6 -6
- package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js +1 -1
- package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js +1 -1
- package/.next/server/app/api/agent/[id]/lease/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/[id]/route.js +1 -1
- package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/debug/route.js +1 -1
- package/.next/server/app/api/agent/debug/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/new/route.js +1 -1
- package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
- package/.next/server/app/api/agent/running/route.js +1 -1
- package/.next/server/app/api/agent/running/route.js.nft.json +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
- package/.next/server/app/api/auth/providers/route.js +1 -1
- package/.next/server/app/api/cwd/browse/route.js.nft.json +2 -2
- package/.next/server/app/api/cwd/validate/route.js +1 -1
- package/.next/server/app/api/cwd/validate/route.js.nft.json +2 -2
- 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/mcp/route.js +1 -1
- package/.next/server/app/api/mcp/sign-in/route.js +1 -1
- package/.next/server/app/api/mcp/test/route.js +1 -1
- package/.next/server/app/api/models/default/route.js +1 -1
- package/.next/server/app/api/models/default/route.js.nft.json +2 -2
- package/.next/server/app/api/models/enabled/route.js +1 -1
- package/.next/server/app/api/models/enabled/route.js.nft.json +2 -2
- package/.next/server/app/api/models/refresh/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/open-in-explorer/route.js +1 -1
- package/.next/server/app/api/plugins/check/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js +1 -1
- package/.next/server/app/api/project-trust/route.js.nft.json +1 -1
- package/.next/server/app/api/push/config/route.js +1 -1
- package/.next/server/app/api/push/subscribe/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/entries/[entryId]/tool-result-image/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/fork/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/state/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/delete/route.js +1 -1
- package/.next/server/app/api/sessions/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js +1 -1
- package/.next/server/app/api/sessions/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/check/route.js +1 -1
- package/.next/server/app/api/skills/content/route.js +1 -1
- package/.next/server/app/api/skills/install/route.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/skills/update/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js +1 -1
- package/.next/server/app/api/subagents/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/subagents/profiles/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/events/route.js +3 -3
- package/.next/server/app/api/terminal/[id]/events/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +9 -9
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/index.segments/_full.segment.rsc +9 -9
- package/.next/server/app/index.segments/_tree.segment.rsc +5 -5
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +7 -7
- package/.next/server/app/login.segments/_full.segment.rsc +7 -7
- package/.next/server/app/login.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +11 -10
- package/.next/server/app/manifest.webmanifest/route.js +1 -17
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page.js +87 -16
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pet-preview/page.js +1 -1
- package/.next/server/app/pet-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pet-preview.html +1 -1
- package/.next/server/app/pet-preview.rsc +7 -7
- package/.next/server/app/pet-preview.segments/_full.segment.rsc +7 -7
- package/.next/server/app/pet-preview.segments/_tree.segment.rsc +4 -4
- package/.next/server/app/pet-preview.segments/pet-preview/__PAGE__.segment.rsc +6 -6
- package/.next/server/app-paths-manifest.json +14 -14
- package/.next/server/chunks/1906.js +1 -1
- package/.next/server/chunks/2243.js +1 -1
- package/.next/server/chunks/2498.js +1 -1
- package/.next/server/chunks/27.js +1 -1
- package/.next/server/chunks/3757.js +1 -1
- package/.next/server/chunks/3824.js +1 -1
- package/.next/server/chunks/5138.js +1 -0
- package/.next/server/chunks/5582.js +2 -2
- package/.next/server/chunks/6429.js +8 -6
- package/.next/server/chunks/8177.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/static/chunks/1278-d14efc5351094e2a.js +1 -0
- package/.next/static/chunks/app/{layout-fd458f024053777b.js → layout-887864247723a15f.js} +1 -1
- package/.next/static/chunks/app/page-5fe4e4e656618c55.js +1093 -0
- package/.next/static/css/08eddaaa4f97d65e.css +1 -0
- package/.next/static/css/2f63bdc85a747c1b.css +1 -0
- package/.next/static/css/{edd81c2e355e9677.css → 3540eb37e32475c8.css} +1 -1
- package/.next/static/css/948bdf99ac6477ce.css +1 -0
- package/.next/trace +14 -8
- package/.next/trace-build +1 -1
- package/.next/types/app/manifest.webmanifest/route.ts +353 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/README.md +4 -0
- package/package.json +13 -11
- package/.next/static/chunks/1278-924fb78593d04d55.js +0 -1
- package/.next/static/chunks/app/page-d2c786f63d634b03.js +0 -1022
- package/.next/static/css/0e52953f40c91a8b.css +0 -1
- package/.next/static/css/11d43ff6e42cbb72.css +0 -1
- package/.next/static/css/bb657b16840154d3.css +0 -1
- /package/.next/static/{vJWDpddtTSWk_gKxyuTL7 → EemFyRH2znEKEODTd_e9W}/_buildManifest.js +0 -0
- /package/.next/static/{vJWDpddtTSWk_gKxyuTL7 → EemFyRH2znEKEODTd_e9W}/_ssgManifest.js +0 -0
|
@@ -3,6 +3,6 @@ ${Q}
|
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
${x}
|
|
6
|
-
`),{...c,name:m,displayName:r,description:v,systemPrompt:x,tools:n,...void 0!==N?{skills:N}:{},extensions:O,...o.length>0?{extensionTools:o}:{},loadSkills:B,loadExtensions:C,codemode:D,mcp:L,...y?{model:y}:{model:void 0},...q?{maxTurns:q}:{maxTurns:void 0},promptMode:F,...c.color?{color:c.color}:{},...c.isolation?{isolation:c.isolation}:{},...void 0!==c.persistSession?{persistSession:c.persistSession}:{},scope:b,filePath:J}}function K(a,b,c){let d=H(c),e=(0,h.join)(I(a,b),`${d}.md`);(0,g.existsSync)(e)&&(0,g.unlinkSync)(e)}function L(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function M(a){let b=a.find(a=>"custom"===a.type&&a.customType===Y);if(!b||"custom"!==b.type||!L(b.data))return null;let c=b.data;return 1!==c.version||"string"!=typeof c.parentSessionId||"string"!=typeof c.parentSessionPath?null:c}function N(a){return a.some(a=>"custom"===a.type&&a.customType===Y&&L(a.data)&&"resourceSnapshot"in a.data)}function O(a){let b=M(a);if(!b)return null;let c=b.resourceSnapshot,d=L(c)&&"skills"in c?s(c.skills):void 0,e=L(c)&&"extensions"in c?s(c.extensions):void 0,f=L(c)&&!0===c.loadSkills,g=L(c)&&!0===c.loadExtensions,h=L(c)&&!0===c.codemode,i=L(c)&&!0===c.mcp;return L(c)&&1===c.version&&Array.isArray(c.appendSystemPrompt)&&c.appendSystemPrompt.every(a=>"string"==typeof a)&&(!("codemode"in c)||"boolean"==typeof c.codemode)&&(!("mcp"in c)||"boolean"==typeof c.mcp)&&Array.isArray(c.tools)&&c.tools.every(a=>"string"==typeof a&&a.length>0&&!ad.has(a)&&("codemode"===a&&h||ac.has(a)||g))?{...void 0!==d?{skills:d}:{},...void 0!==e?{extensions:e}:{},appendSystemPrompt:[...c.appendSystemPrompt],tools:[...new Set(c.tools)],loadSkills:f,loadExtensions:g,...h?{codemode:!0}:{},...i?{mcp:!0}:{},...g&&!0===c.allExtensionTools?{allExtensionTools:!0}:{},..."string"==typeof c.exactSystemPrompt?{exactSystemPrompt:c.exactSystemPrompt}:{}}:null}function P(a,b){return[...new Set([...a,...[...b].filter(a=>!ad.has(a))])]}let aj=["read","bash","powershell","edit","write","grep","find","ls"],ak=["mcp__*","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource"];function Q(a){let b=[..._];if(!a.allExtensionTools&&a.mcp){let c=a.tools.includes("codemode")?[]:["tool_search"];return{tools:[...new Set([...a.tools,...c,...ak])],excludeTools:b}}if(!a.allExtensionTools){let c=a.tools.some(a=>a.startsWith("mcp__"));return{tools:[...a.tools],excludeTools:c?b:[...b,...ak.filter(b=>!a.tools.includes(b))]}}let c=a.tools.filter(a=>aj.includes(a)),d=a.tools.includes("codemode")?[...c,"codemode"]:c;return{noTools:"builtin",...d.length>0?{tools:d.map(a=>`+${a}`)}:{},excludeTools:[...b,...aj.filter(a=>!c.includes(a))]}}function R(a){let b=a.slice(4).trim().replace(/\/+$/,"");return b.endsWith("/*")?b.slice(0,-2):b}function S(a){let b,{parentDir:c,baseName:d}={parentDir:(b=a.path.replaceAll("\\","/").split("/")).at(-2)??a.path,baseName:(b.at(-1)??"").replace(/\.[^.]+$/,"")},e=[c,d],f=a.sourceInfo;if(f?.origin==="package"){let a=(f.source??"").trim(),b=(0,j.e)(a)?.name??a;e.push(b,b.replace(/^@[^/]+\//,""))}return[...new Set(e.map(a=>a.toLowerCase()).filter(Boolean))]}function T(a){let b=new Map;for(let c of a){let a=function(a){let b=a.sourceInfo,c=b?.source?.trim();return c&&b?.origin==="package"?c:a.path}(c);for(let d of S(c)){let c=b.get(d)??new Set;c.add(a),b.set(d,c)}}return b}function U(a,b,c=[]){let d=a=>a.filter(a=>a.toLowerCase().startsWith("ext:")).map(a=>R(a)).filter(Boolean),e=d(b),f=d(c);if(0===e.length)return[];let g=[...a],h=T(g),i=new Set([...h].filter(([,a])=>1===a.size).map(([a])=>a)),j=e.includes("*"),k=f.includes("*"),l=a=>a.flatMap(a=>{if("*"===a)return[];let b=function(a,b){let c,d=a.toLowerCase();for(let a of b)(d===a||d.startsWith(`${a}/`))&&(void 0===c||a.length>c.length)&&(c=a);if(void 0===c)return null;let e=d===c?void 0:a.slice(c.length+1)||void 0;return{name:c,...void 0===e?{}:{toolName:e}}}(a,i);return null===b?[]:[b]}),m=l(e),n=l(f),o=[];for(let a of g){let b=[...a.tools.keys()],c=new Set(S(a).filter(a=>i.has(a))),d=m.filter(a=>c.has(a.name));if(!j&&0===d.length)continue;let e=n.filter(a=>c.has(a.name)),f=(a,b)=>void 0===a.toolName||a.toolName===b;o.push(...b.filter(a=>!!(j||d.some(b=>f(b,a)))&&!k&&!e.some(b=>f(b,a))))}return[...new Set(o)]}let al=["builtin:tool-search","builtin:mcp"];function V(a){var b;let c;return{noExtensions:!a.loadExtensions,...a.mcp?{additionalExtensionPaths:[...al]}:{},...a.loadExtensions&&void 0!==a.extensions?{extensionsOverride:(b=a.extensions,c=new Set(b.map(a=>a.toLowerCase())),a=>{let b=T(a.extensions),d=a.extensions.filter(a=>a.path.startsWith("<inline:")||al.includes(a.path)||S(a).some(a=>c.has(a)&&b.get(a)?.size===1)),e=new Set(d.map(a=>a.path)),{runtime:f}=a;return f.pendingProviderRegistrations=f.pendingProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingNativeProviderRegistrations=f.pendingNativeProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingVirtualModelRegistrations=f.pendingVirtualModelRegistrations.filter(a=>e.has(a.extensionPath)),{...a,extensions:d}})}:{}}}function W(a){return"running"===a||"queued"===a?"interrupted":a}function X(a,b,c){let d=M(a);if(!d)return null;let e=[...a].reverse().find(a=>"custom"===a.type&&(a.customType===$||a.customType===Z)),f=e?.type==="custom"&&e.customType===$?e:void 0,g=f?.type==="custom"&&L(f.data)?f.data:void 0,h=e?.type==="custom"&&e.customType===Z?e:void 0,i=h?.type==="custom"&&L(h.data)?h.data:void 0,j=g&&("completed"===g.status||"failed"===g.status||"aborted"===g.status)?g.status:i?.version===1&&("queued"===i.status||"running"===i.status)?i.status:"interrupted";return{sessionId:b,sessionPath:c,parentSessionId:d.parentSessionId,parentToolCallId:"string"==typeof d.parentToolCallId?d.parentToolCallId:"",profile:"string"==typeof d.profile?d.profile:"general-purpose",description:"string"==typeof d.description?d.description:"Subagent",task:"string"==typeof d.task?d.task:"",runInBackground:!0===d.runInBackground,status:j,createdAt:"string"==typeof d.createdAt?d.createdAt:"",...g&&"string"==typeof g.completedAt?{completedAt:g.completedAt}:{},...g&&"string"==typeof g.result?{result:g.result}:{},...g&&"string"==typeof g.error?{error:g.error}:{},..."string"==typeof d.worktreePath?{worktreePath:d.worktreePath}:{},..."string"==typeof d.worktreeBranch?{worktreeBranch:d.worktreeBranch}:{},...g&&"string"==typeof g.worktreeCleanupError?{worktreeCleanupError:g.worktreeCleanupError}:{},...g&&"boolean"==typeof g.worktreeExists?{worktreeExists:g.worktreeExists}:{}}}d()}catch(a){d(a)}})},8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},12039:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return function(a,b={}){if("assistant"!==a.role)return a;let c=a.content;if(!Array.isArray(c))return a;let e=c.map(a=>(function(a,b={}){if(!d(a)||"toolCall"!==a.type)return null;let c={type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input},e=b.includeStreamingRawInput?function(a){if("string"==typeof a.rawInput)return a.rawInput;if("string"==typeof a.partialJson)return a.partialJson;if("string"==typeof a.partialArgs)return a.partialArgs;let b=d(a.customInput)?a.customInput:null,c=b&&"string"==typeof b.property?b.property:null,e=d(a.arguments)?a.arguments:null;return c&&e&&"string"==typeof e[c]?e[c]:void 0}(a):void 0;return void 0===e?c:{...c,rawInput:e}})(a,b)??a);return{...a,content:e}}(a)}c.d(b,{B:()=>e})},21898:(a,b,c)=>{"use strict";c.d(b,{yv:()=>f});var d=c(90426);let e=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/;function f(a){let b=function(a){let b=e.exec(a);if(!b)return null;let c=/^---[ \t]*(?:(?:\r\n|\n|\r)|$)/gm;c.lastIndex=b[0].length;let d=c.exec(a);return d?{yaml:a.slice(b[0].length,d.index).replace(/(?:\r\n|\n|\r)$/,""),rest:a.slice(d.index+d[0].length)}:null}(a);if(!b)return{data:null,rest:a};try{let a=(0,d.Hh)(b.yaml);if(a&&"object"==typeof a&&!Array.isArray(a))return{data:a,rest:b.rest}}catch{}return{data:null,rest:b.rest}}},24923:(a,b,c)=>{"use strict";c.d(b,{GC:()=>y,HI:()=>B,IL:()=>A,KI:()=>r,OG:()=>q,P9:()=>v,l:()=>z,sg:()=>C,xw:()=>x});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}function l(){globalThis.__piProjectCache?.clear(),globalThis.__piProjectCacheGeneration=(globalThis.__piProjectCacheGeneration??0)+1,globalThis.__piProjectRefresh?.clear()}async function m(a,b,c=1e4){let{stdout:d}=await j("git",["-C",a,...b],{timeout:c,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return d.trim()}let n=new Set(["EMFILE","ENFILE","EAGAIN","ENOMEM"]);function o(a){try{return(0,e.realpathSync)(a)}catch{return a}}function p(a){let b=(0,f.dirname)(a);if(".git"===(0,f.basename)(a))return b;try{let c=/^gitdir:\s*(.+?)\s*$/m.exec((0,e.readFileSync)((0,f.join)(b,".git"),"utf8"));if(c&&(0,i.Eb)(o((0,f.resolve)(b,c[1])),o(a)))return b}catch{}return a}function q(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&((0,e.existsSync)((0,f.join)(c,".git"))||["HEAD","objects","refs"].every(a=>(0,e.existsSync)((0,f.join)(c,a))))?{projectRoot:o(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function r(a){let b,c=k(),d=c.get(a),e=Date.now();if(d&&d.expiresAt>e)return d.info;if(d)return function(a){let b=globalThis.__piProjectRefresh??=new Map;if(b.has(a))return;let c=globalThis.__piProjectCacheGeneration??0,d=s(a).then(b=>{(globalThis.__piProjectCacheGeneration??0)===c&&k().set(a,{info:b,expiresAt:Date.now()+6e4})}).catch(()=>{}).finally(()=>{b.get(a)===d&&b.delete(a)});b.set(a,d)}(a),d.info;try{b=await s(a)}catch(b){return console.error(`[pi-web] resolveProject: git failed for ${a}, not cached: ${b instanceof Error?b.message:String(b)}`),{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function s(a){let b;try{if(!(0,e.existsSync)(a))return q(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1};let[c,d,g,h]=(await m(a,["rev-parse","--git-common-dir","--absolute-git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[j,k,l]=[c,d,g].map(b=>(0,f.resolve)(a,(0,i.gB)(b))),n=o(a),r=(0,i.Eb)(l,n),s=!(0,i.Eb)(k,j)&&r,t=s?p(j):l;b={projectRoot:r?o(t):a,branch:h&&"HEAD"!==h?h:null,isWorktree:s,isTopLevel:r}}catch(c){if(function(a){if(!(a instanceof Error))return!1;let{code:b,killed:c,signal:d}=a;return!0===c||"string"==typeof d&&""!==d||"string"==typeof b&&n.has(b)}(c))throw c;b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return b}async function t(a){let b=await m(a,["rev-parse","--git-common-dir"]);return o(p((0,f.resolve)(a,(0,i.gB)(b))))}async function u(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&c.push({path:d.path,branch:d.branch??null,missing:!0===d.prunable||!(0,e.existsSync)(d.path)}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&f();return f(),c}async function v(a){return(await u(a)).filter(a=>!a.missing).map(({path:a,branch:b},c)=>({path:a,branch:b,isMain:0===c}))}function w(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function x(a,b){return w(a,o(b))?.path??null}class y extends Error{constructor(a,b,c){super(c?`Branch '${a}' belongs to a worktree whose folder is gone: ${b}; git worktree prune clears it`:`Branch '${a}' is already checked out at ${b}`),this.branch=a,this.worktreePath=b,this.missing=c}}async function z(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await t(a),i=(await u(g)).find(a=>a.branch===c);if(i)throw new y(c,i.path,i.missing);let j=`${(0,f.resolve)(g)}-worktrees`,k=(0,f.join)(j,d);if((0,e.existsSync)(k))throw Error(`Directory already exists: ${k}`);(0,e.mkdirSync)(j,{recursive:!0});let n=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),n=!0}catch{n=!1}try{if(n)await m(g,["worktree","add","--",k,c],3e5);else{let a;try{await m(g,["rev-parse","--verify","--quiet",`refs/remotes/origin/${c}`]),a=`refs/remotes/origin/${c}`}catch{a=void 0}let b=["worktree","add","-b",c,"--",k];a&&b.push(a),await m(g,b,3e5)}}catch(a){throw Error(D(a))}return(0,h.wz)(k),l(),{path:k,branch:c}}async function A(a,b,c=!1){let d=w(await v(a),o(b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(D(a))}l()}function B(a){return C(a)||/containing submodules/i.test(a)}function C(a){return/contains modified or untracked files|is dirty/i.test(a)}function D(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},25252:(a,b,c)=>{"use strict";c.d(b,{HM:()=>f,Nw:()=>e,wz:()=>g});var d=c(58864);function e(a){return(0,d.W3)(a)}function f(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function g(a){if(!a)return;let b=e(a);f().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}},27367:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>o,Q$:()=>n,UF:()=>s,UM:()=>r,ef:()=>p,hd:()=>m,o9:()=>q});var e=c(73024),f=c(76760),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let s=32;function j(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){if("string"!=typeof d)continue;let a=d.trim(),e=a.toLowerCase();!a||c.has(e)||(c.add(e),b.push(a))}return b}function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"agents","settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(null===b||"object"!=typeof b||Array.isArray(b))throw Error("Invalid subagent settings: expected an object");return b}function m(a=k()){var b,c,d,e;let f=l(a);return c=!0===f.builtInEnabled,b=f.maxConcurrent,d="number"==typeof b&&Number.isInteger(b)&&b>=1&&b<=s?b:10,e=j(f.disabledBuiltIns),Object.defineProperty({builtInEnabled:c,disabledBuiltIns:e},"maxConcurrent",{value:d,enumerable:!1,configurable:!0})}function n(a=k()){try{return new Set(m(a).disabledBuiltIns.map(a=>a.toLowerCase()))}catch{return new Set}}function o(a=k()){try{return m(a).builtInEnabled}catch{return!1}}function p(a,b=k()){let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,builtInEnabled:a},null,2)),m(b)}function q(a,b,c=k()){let d=a.trim();if(!d)throw Error("Sub-agent name is required");let g=l(c),i=j(g.disabledBuiltIns),n=d.toLowerCase(),o=i.some(a=>a.toLowerCase()===n);if(b===o)return m(c);let p=b?o?i:[...i,d]:i.filter(a=>a.toLowerCase()!==n);return(0,e.mkdirSync)((0,f.dirname)(c),{recursive:!0}),(0,h.$)(c,JSON.stringify({...g,version:1,disabledBuiltIns:p},null,2)),m(c)}function r(a,b=k()){if(!Number.isInteger(a)||a<1||a>s)throw Error(`maxConcurrent must be an integer between 1 and ${s}`);let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,maxConcurrent:a},null,2)),m(b)}d()}catch(a){d(a)}})},38363:(a,b,c)=>{"use strict";function d(a){if(!a.startsWith("npm:"))return;let b=a.slice(4).trim(),c=b.match(/^(@?[^@]+(?:\/[^@]+)?)(?:@(.+))?$/);return{name:c?.[1]??b,spec:b,version:c?.[2]}}c.d(b,{e:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>S,DK:()=>U,G1:()=>O,H6:()=>w,O5:()=>y,O8:()=>R,Uv:()=>X,Vg:()=>V,bA:()=>J,dQ:()=>E,eP:()=>T,is:()=>W,j6:()=>N,mD:()=>I,nZ:()=>z,os:()=>P,rJ:()=>D,u1:()=>Q,z:()=>B,zH:()=>x});var e=c(75430),f=c(29021),g=c(79748),h=c(33873),i=c(12039),j=c(85963),k=c(50880),l=c(74244),m=c(45902),n=c(69114),o=c(79535),p=c(24923),q=c(7048),r=c(766),s=a([e,q,r]);function t(a,b,c){let d=(0,f.openSync)(a,"r");try{let a=[],e=0,g=0,h=!1;for(;e<b&&g<c;){let i=Buffer.allocUnsafe(Math.min(4096,b-e)),j=(0,f.readSync)(d,i,0,i.length,e);if(0===j){h=!0;break}e+=j;let k=i.subarray(0,j),l=k.length;for(let a=0;a<k.length;a+=1)if(10===k[a]&&(g+=1)===c){l=a+1;break}a.push(k.subarray(0,l))}let i=Buffer.concat(a).toString("utf8"),j=i.split("\n");return h||i.endsWith("\n")||j.pop(),""===j.at(-1)&&j.pop(),j.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(d)}}function u(a,b){let c=(0,f.openSync)(a,"r");try{let a=(0,f.fstatSync)(c).size,d=Math.max(0,a-b),e=Buffer.allocUnsafe(a-d),g=(0,f.readSync)(c,e,0,e.length,d);if(0===g)return[];let h=e.subarray(0,g).toString("utf8").split("\n");if(d>0){let a=Buffer.allocUnsafe(1);(0,f.readSync)(c,a,0,1,d-1),10!==a[0]&&h.shift()}return""===h.at(-1)&&h.pop(),h.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(c)}}function v(a){return a.flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}function w(a){let b;if(a){try{b=u(a,65536)}catch{return}for(let a=b.length-1;a>=0;a-=1){let c=function(a){try{let b=JSON.parse(a);if("session"===b.type)return;return"string"==typeof b.id&&b.id?b.id:void 0}catch{return}}(b[a]);if(c)return c}}}async function x(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map;return await Promise.all(b.map(async a=>{c.set(a,await (0,p.KI)(a))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0,d=b?.projectRoot??a.cwd;return{...a,projectRoot:d,projectKey:(0,l.z)(d),...b?.branch?{branch:b.branch}:{},...b?.isWorktree?{isWorktree:!0}:{}}})}function y(a,b){let c=new Map(b.map(a=>[a.id,a]));for(let b of a)c.set(b.id,b);return[...c.values()].sort((a,b)=>b.modified.localeCompare(a.modified))}[e,q,r]=s.then?(await s)():s;let _=new WeakMap;function z(a){let b=(0,n.d)(a)??a;if(b.length<=500)return b;let c=b.charCodeAt(499);return b.slice(0,c>=55296&&c<=56319?499:500)}async function A(a){let b=new Map;for(let c of a)b.set((0,m.$)(c.path),c.id);return x(a.map(a=>(function(a,b){R(a.id,a.path);let{originSessionId:c,subagent:d}=function(a,b){let c=a.parentSessionPath?b.get((0,m.$)(a.parentSessionPath)):void 0;if(!a.parentSessionPath)return{originSessionId:c,subagent:null};let d=_.get(a);if(void 0!==d)return{originSessionId:c,subagent:d};try{var e;let b,d=(0,q.$u)((e=a.path,(b=v(t(e,262144,2).slice(1))).some(a=>"custom"===a.type&&a.customType===q.tP)?[...b,...v(u(e,262144))]:b),a.id,a.path);return _.set(a,d),{originSessionId:c,subagent:d}}catch{return{originSessionId:c,subagent:null}}}(a,b),e=!0===a.detailsPending;return{path:a.path,id:a.id,cwd:a.cwd,name:a.name,created:a.created.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:e&&!a.firstMessage?"":z(a.firstMessage||"(no messages)"),parentSessionId:c,...d?{relation:{kind:"subagent",parentSessionId:d.parentSessionId,profile:d.profile,description:d.description,status:d.status}}:a.parentSessionPath?{relation:{kind:"fork",...c?{originSessionId:c}:{}}}:{},transient:!1,...e?{detailsPending:!0}:{}}})(a,b)))}async function B(a){let b=await (0,r._p)(a);return b?(await A([b]))[0]??null:null}async function C(){return A(await (0,r.q8)())}async function D(){return A(await (0,r.q8)({deferDetails:!0}))}async function E(a={}){a.force&&I();let b=globalThis.__piSessionListGeneration??0,c=globalThis.__piSessionListCache;if(c&&c.generation===b&&Date.now()-c.ts<aa)return c.data;if(a.allowStale&&c)return E().catch(()=>void 0),c.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===b)return globalThis.__piSessionListPromise;let d=C().then(a=>(globalThis.__piSessionListGeneration??0)!==b?E():(globalThis.__piSessionListCache={data:a,ts:Date.now(),generation:b},a)).finally(()=>{globalThis.__piSessionListPromise===d&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=d,globalThis.__piSessionListPromiseGeneration=b,d}let aa=3e4,ab=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;function F(){return(0,h.join)((0,e.getAgentDir)(),"sessions")}function G(a,b=(0,h.resolve)(F())){let c=(0,h.resolve)(a),d=(0,h.relative)(b,c);return""===d||".."===d||d.startsWith(`..${h.sep}`)||(0,h.isAbsolute)(d)?null:c}async function H(a){let b,c;if(!ab.test(a))return null;let d=(0,h.resolve)(F());try{b=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=`_${a}.jsonl`;for(let f of b){let b;if(!f.isDirectory()&&!f.isSymbolicLink())continue;let i=G((0,h.join)(d,f.name),d);if(i){try{b=await (0,g.readdir)(i)}catch{continue}for(let f of b){if(!f.endsWith(e))continue;let b=G((0,h.join)(i,f),d);if(b){try{if(T(b)?.id!==a)continue}catch{continue}if(c&&c!==b)return null;c=b}}}}return c??null}function I(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1}function J(){return(0,r.jr)(F(),I),globalThis.__piSessionListGeneration??0}function K(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function L(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function M(){return globalThis.__piSmCache||(globalThis.__piSmCache=new Map),globalThis.__piSmCache}function N(a){let b=M();void 0===a?b.clear():b.delete((0,m.$)(a))}function O(a,b={}){if(b.mutable)return e.SessionManager.open(a,void 0);let c=M(),d=(0,m.$)(a),g=function(a){try{let b=(0,f.statSync)(a);return{fingerprint:`${b.size}:${b.mtimeMs}`,bytes:b.size}}catch{return null}}(a);if(null===g)return c.delete(d),e.SessionManager.open(a,void 0);let h=c.get(d);if(h&&h.fingerprint===g.fingerprint)return c.delete(d),c.set(d,h),h.sm;let i=e.SessionManager.open(a,void 0);if(g.bytes>0x4000000)return c.delete(d),i;c.set(d,{sm:i,fingerprint:g.fingerprint,bytes:g.bytes});let j=0;for(let a of c.values())j+=a.bytes;for(;c.size>12||j>0x10000000;){let a=c.keys().next().value;if(void 0===a)break;j-=c.get(a)?.bytes??0,c.delete(a)}return i}async function P(a){let b=K().get(a);if(b)return b;let c=await H(a);return c?R(a,c):await E(),K().get(a)??null}async function Q(a){let b=(0,m.$)(a),c=L().get(b);if(c)return c;let d=function(a){if(!a.endsWith(".jsonl"))return;let b=G(a);if(b)try{let a=T(b)?.id;if(!a)return;return R(a,b),a}catch{return}}(a);return d||(await E(),L().get(b))}function R(a,b){let c=(0,h.normalize)(b),d=(0,m.$)(c),e=K(),f=L(),g=e.get(a),i=g?(0,m.$)(g):void 0,j=f.get(d),k=j?e.get(j):void 0;i&&i!==d&&f.get(i)===a&&f.delete(i),j&&j!==a&&k&&(0,m.$)(k)===d&&e.delete(j),e.set(a,c),f.set(d,a)}function S(a){let b=K(),c=L(),d=b.get(a);b.delete(a);let e=d?(0,m.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function T(a){let b=t(a,65536,1)[0]?.trimEnd();if(!b)return null;try{let a=JSON.parse(b);return"session"===a.type?a:null}catch{return null}}function U(a){return O(a).getEntries()}function V(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("model_change"===c.type)return{provider:c.provider,modelId:c.modelId}}return null}function W(a,b){let c,d;if(null===b)return{thinkingLevel:"off",model:null};let e=Y(a,b??null,a.length);for(let a=e.length-1;a>=0&&(void 0===c||void 0===d);a--){let b=e[a];if(void 0===c&&"thinking_level_change"===b.type&&(c=b.thinkingLevel),void 0===d&&"message"===b.type&&"assistant"===b.message.role){let a=b.message;"string"==typeof a.provider&&"string"==typeof a.model&&(d={provider:a.provider,modelId:a.model})}}return{thinkingLevel:c??"off",model:V(e)??d??null}}function X(a,b,c={}){let{tail:d,excludeLeaf:e}=c,f=null===b?[]:Y(a,b??null,d&&d>0?d:a.length,e),g=!!(d&&d>0&&f[0]?.parentId),h=g?function(a,b){let c=new Map;for(let b of a)c.set(b.id,b);let d=0,e=b.parentId?c.get(b.parentId):void 0;for(;e;){let a=function(a){switch(a.type){case"message":return"system"===a.message.role?null:a.message;case"compaction":return{role:"custom",customType:"compaction",display:!0};case"branch_summary":return a.summary?{role:"user"}:null;case"custom_message":return{role:"custom",customType:a.customType,display:a.display};default:return null}}(e);a&&(0,k.Y0)(a)&&d++,e=e.parentId?c.get(e.parentId):void 0}return d}(a,f[0]):0,l=[],m=[];for(let a of f){let b=function(a,b){switch(a.type){case"message":{if("system"===a.message.role)return null;let c=(0,j.r)(a.message),d=b.deferToolResultImages?function(a,b,c){if("toolResult"!==a.role)return a;let d=0,e=0,f=new Set,g=a.content.flatMap((a,g)=>{let h=function(a){let b,c;if(!$(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):$(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);if(!h)return[a];if(b&&h.mime&&o.N.has(h.mime)&&h.bytes>0&&h.bytes<=o.c){let a={type:"url",media_type:h.mime,url:`/api/sessions/${encodeURIComponent(b)}/entries/${encodeURIComponent(c)}/tool-result-image?blockIndex=${g}`};return[{type:"image",source:a}]}return d+=1,e+=h.bytes,h.mime&&f.add(h.mime),[]});if(0===d)return{...a,content:g};let h=f.size>0?`: ${[...f].join(", ")}`:"";return g.push({type:"text",text:`[${d} tool result image${1===d?"":"s"} omitted from initial history payload${h}, ~${e} bytes]`}),{...a,content:g}}((0,i.B)(c),b.sessionId,a.id):(0,i.B)(c),e="assistant"===d.role?d.content:void 0;if("string"==typeof e&&(d={...d,content:[{type:"text",text:e}]}),!b.deferThinking||"assistant"!==d.role)return d;let f=d.content;return{...d,content:f.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:(0,k.de)(a.thinking),deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:Z(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
6
|
+
`),{...c,name:m,displayName:r,description:v,systemPrompt:x,tools:n,...void 0!==N?{skills:N}:{},extensions:O,...o.length>0?{extensionTools:o}:{},loadSkills:B,loadExtensions:C,codemode:D,mcp:L,...y?{model:y}:{model:void 0},...q?{maxTurns:q}:{maxTurns:void 0},promptMode:F,...c.color?{color:c.color}:{},...c.isolation?{isolation:c.isolation}:{},...void 0!==c.persistSession?{persistSession:c.persistSession}:{},scope:b,filePath:J}}function K(a,b,c){let d=H(c),e=(0,h.join)(I(a,b),`${d}.md`);(0,g.existsSync)(e)&&(0,g.unlinkSync)(e)}function L(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function M(a){let b=a.find(a=>"custom"===a.type&&a.customType===Y);if(!b||"custom"!==b.type||!L(b.data))return null;let c=b.data;return 1!==c.version||"string"!=typeof c.parentSessionId||"string"!=typeof c.parentSessionPath?null:c}function N(a){return a.some(a=>"custom"===a.type&&a.customType===Y&&L(a.data)&&"resourceSnapshot"in a.data)}function O(a){let b=M(a);if(!b)return null;let c=b.resourceSnapshot,d=L(c)&&"skills"in c?s(c.skills):void 0,e=L(c)&&"extensions"in c?s(c.extensions):void 0,f=L(c)&&!0===c.loadSkills,g=L(c)&&!0===c.loadExtensions,h=L(c)&&!0===c.codemode,i=L(c)&&!0===c.mcp;return L(c)&&1===c.version&&Array.isArray(c.appendSystemPrompt)&&c.appendSystemPrompt.every(a=>"string"==typeof a)&&(!("codemode"in c)||"boolean"==typeof c.codemode)&&(!("mcp"in c)||"boolean"==typeof c.mcp)&&Array.isArray(c.tools)&&c.tools.every(a=>"string"==typeof a&&a.length>0&&!ad.has(a)&&("codemode"===a&&h||ac.has(a)||g))?{...void 0!==d?{skills:d}:{},...void 0!==e?{extensions:e}:{},appendSystemPrompt:[...c.appendSystemPrompt],tools:[...new Set(c.tools)],loadSkills:f,loadExtensions:g,...h?{codemode:!0}:{},...i?{mcp:!0}:{},...g&&!0===c.allExtensionTools?{allExtensionTools:!0}:{},..."string"==typeof c.exactSystemPrompt?{exactSystemPrompt:c.exactSystemPrompt}:{}}:null}function P(a,b){return[...new Set([...a,...[...b].filter(a=>!ad.has(a))])]}let aj=["read","bash","powershell","edit","write","grep","find","ls"],ak=["mcp__*","list_mcp_resources","list_mcp_resource_templates","read_mcp_resource"];function Q(a){let b=[..._];if(!a.allExtensionTools&&a.mcp){let c=a.tools.includes("codemode")?[]:["tool_search"];return{tools:[...new Set([...a.tools,...c,...ak])],excludeTools:b}}if(!a.allExtensionTools){let c=a.tools.some(a=>a.startsWith("mcp__"));return{tools:[...a.tools],excludeTools:c?b:[...b,...ak.filter(b=>!a.tools.includes(b))]}}let c=a.tools.filter(a=>aj.includes(a)),d=a.tools.includes("codemode")?[...c,"codemode"]:c;return{noTools:"builtin",...d.length>0?{tools:d.map(a=>`+${a}`)}:{},excludeTools:[...b,...aj.filter(a=>!c.includes(a))]}}function R(a){let b=a.slice(4).trim().replace(/\/+$/,"");return b.endsWith("/*")?b.slice(0,-2):b}function S(a){let b,{parentDir:c,baseName:d}={parentDir:(b=a.path.replaceAll("\\","/").split("/")).at(-2)??a.path,baseName:(b.at(-1)??"").replace(/\.[^.]+$/,"")},e=[c,d],f=a.sourceInfo;if(f?.origin==="package"){let a=(f.source??"").trim(),b=(0,j.e)(a)?.name??a;e.push(b,b.replace(/^@[^/]+\//,""))}return[...new Set(e.map(a=>a.toLowerCase()).filter(Boolean))]}function T(a){let b=new Map;for(let c of a){let a=function(a){let b=a.sourceInfo,c=b?.source?.trim();return c&&b?.origin==="package"?c:a.path}(c);for(let d of S(c)){let c=b.get(d)??new Set;c.add(a),b.set(d,c)}}return b}function U(a,b,c=[]){let d=a=>a.filter(a=>a.toLowerCase().startsWith("ext:")).map(a=>R(a)).filter(Boolean),e=d(b),f=d(c);if(0===e.length)return[];let g=[...a],h=T(g),i=new Set([...h].filter(([,a])=>1===a.size).map(([a])=>a)),j=e.includes("*"),k=f.includes("*"),l=a=>a.flatMap(a=>{if("*"===a)return[];let b=function(a,b){let c,d=a.toLowerCase();for(let a of b)(d===a||d.startsWith(`${a}/`))&&(void 0===c||a.length>c.length)&&(c=a);if(void 0===c)return null;let e=d===c?void 0:a.slice(c.length+1)||void 0;return{name:c,...void 0===e?{}:{toolName:e}}}(a,i);return null===b?[]:[b]}),m=l(e),n=l(f),o=[];for(let a of g){let b=[...a.tools.keys()],c=new Set(S(a).filter(a=>i.has(a))),d=m.filter(a=>c.has(a.name));if(!j&&0===d.length)continue;let e=n.filter(a=>c.has(a.name)),f=(a,b)=>void 0===a.toolName||a.toolName===b;o.push(...b.filter(a=>!!(j||d.some(b=>f(b,a)))&&!k&&!e.some(b=>f(b,a))))}return[...new Set(o)]}let al=["builtin:tool-search","builtin:mcp"];function V(a){var b;let c;return{noExtensions:!a.loadExtensions,...a.mcp?{additionalExtensionPaths:[...al]}:{},...a.loadExtensions&&void 0!==a.extensions?{extensionsOverride:(b=a.extensions,c=new Set(b.map(a=>a.toLowerCase())),a=>{let b=T(a.extensions),d=a.extensions.filter(a=>a.path.startsWith("<inline:")||al.includes(a.path)||S(a).some(a=>c.has(a)&&b.get(a)?.size===1)),e=new Set(d.map(a=>a.path)),{runtime:f}=a;return f.pendingProviderRegistrations=f.pendingProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingNativeProviderRegistrations=f.pendingNativeProviderRegistrations.filter(a=>e.has(a.extensionPath)),f.pendingVirtualModelRegistrations=f.pendingVirtualModelRegistrations.filter(a=>e.has(a.extensionPath)),{...a,extensions:d}})}:{}}}function W(a){return"running"===a||"queued"===a?"interrupted":a}function X(a,b,c){let d=M(a);if(!d)return null;let e=[...a].reverse().find(a=>"custom"===a.type&&(a.customType===$||a.customType===Z)),f=e?.type==="custom"&&e.customType===$?e:void 0,g=f?.type==="custom"&&L(f.data)?f.data:void 0,h=e?.type==="custom"&&e.customType===Z?e:void 0,i=h?.type==="custom"&&L(h.data)?h.data:void 0,j=g&&("completed"===g.status||"failed"===g.status||"aborted"===g.status)?g.status:i?.version===1&&("queued"===i.status||"running"===i.status)?i.status:"interrupted";return{sessionId:b,sessionPath:c,parentSessionId:d.parentSessionId,parentToolCallId:"string"==typeof d.parentToolCallId?d.parentToolCallId:"",profile:"string"==typeof d.profile?d.profile:"general-purpose",description:"string"==typeof d.description?d.description:"Subagent",task:"string"==typeof d.task?d.task:"",runInBackground:!0===d.runInBackground,status:j,createdAt:"string"==typeof d.createdAt?d.createdAt:"",...g&&"string"==typeof g.completedAt?{completedAt:g.completedAt}:{},...g&&"string"==typeof g.result?{result:g.result}:{},...g&&"string"==typeof g.error?{error:g.error}:{},..."string"==typeof d.worktreePath?{worktreePath:d.worktreePath}:{},..."string"==typeof d.worktreeBranch?{worktreeBranch:d.worktreeBranch}:{},...g&&"string"==typeof g.worktreeCleanupError?{worktreeCleanupError:g.worktreeCleanupError}:{},...g&&"boolean"==typeof g.worktreeExists?{worktreeExists:g.worktreeExists}:{}}}d()}catch(a){d(a)}})},8102:(a,b,c)=>{"use strict";c.d(b,{$:()=>g});var d=c(55511),e=c(29021),f=c(33873);function g(a,b){let c=(0,f.dirname)(a),g=(0,f.join)(c,`.${(0,f.basename)(a)}-${(0,d.randomUUID)()}.tmp`),h=!1;try{(0,e.writeFileSync)(g,b,{encoding:"utf8",flag:"wx",mode:384,flush:!0}),(0,e.renameSync)(g,a)}catch(a){throw h=!0,a}finally{try{(0,e.unlinkSync)(g)}catch(a){if("ENOENT"!==a.code&&!h)throw a}}}},12039:(a,b,c)=>{"use strict";function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return function(a,b={}){if("assistant"!==a.role)return a;let c=a.content;if(!Array.isArray(c))return a;let e=c.map(a=>(function(a,b={}){if(!d(a)||"toolCall"!==a.type)return null;let c={type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input},e=b.includeStreamingRawInput?function(a){if("string"==typeof a.rawInput)return a.rawInput;if("string"==typeof a.partialJson)return a.partialJson;if("string"==typeof a.partialArgs)return a.partialArgs;let b=d(a.customInput)?a.customInput:null,c=b&&"string"==typeof b.property?b.property:null,e=d(a.arguments)?a.arguments:null;return c&&e&&"string"==typeof e[c]?e[c]:void 0}(a):void 0;return void 0===e?c:{...c,rawInput:e}})(a,b)??a);return{...a,content:e}}(a)}c.d(b,{B:()=>e})},21898:(a,b,c)=>{"use strict";c.d(b,{yv:()=>f});var d=c(90426);let e=/^(?:\uFEFF)?---[ \t]*(?:\r\n|\n|\r)/;function f(a){let b=function(a){let b=e.exec(a);if(!b)return null;let c=/^---[ \t]*(?:(?:\r\n|\n|\r)|$)/gm;c.lastIndex=b[0].length;let d=c.exec(a);return d?{yaml:a.slice(b[0].length,d.index).replace(/(?:\r\n|\n|\r)$/,""),rest:a.slice(d.index+d[0].length)}:null}(a);if(!b)return{data:null,rest:a};try{let a=(0,d.Hh)(b.yaml);if(a&&"object"==typeof a&&!Array.isArray(a))return{data:a,rest:b.rest}}catch{}return{data:null,rest:b.rest}}},24923:(a,b,c)=>{"use strict";c.d(b,{GC:()=>y,HI:()=>B,IL:()=>A,KI:()=>r,OG:()=>q,P9:()=>v,l:()=>z,sg:()=>C,xw:()=>x});var d=c(79646),e=c(29021),f=c(33873),g=c(28354),h=c(25252),i=c(58864);let j=(0,g.promisify)(d.execFile);function k(){return globalThis.__piProjectCache||(globalThis.__piProjectCache=new Map),globalThis.__piProjectCache}function l(){globalThis.__piProjectCache?.clear(),globalThis.__piProjectCacheGeneration=(globalThis.__piProjectCacheGeneration??0)+1,globalThis.__piProjectRefresh?.clear()}async function m(a,b,c=1e4){let{stdout:d}=await j("git",["-C",a,...b],{timeout:c,maxBuffer:1048576,env:{...process.env,LC_ALL:"C"}});return d.trim()}let n=new Set(["EMFILE","ENFILE","EAGAIN","ENOMEM"]);function o(a){try{return(0,e.realpathSync)(a)}catch{return a}}function p(a){let b=(0,f.dirname)(a);if(".git"===(0,f.basename)(a))return b;try{let c=/^gitdir:\s*(.+?)\s*$/m.exec((0,e.readFileSync)((0,f.join)(b,".git"),"utf8"));if(c&&(0,i.Eb)(o((0,f.resolve)(b,c[1])),o(a)))return b}catch{}return a}function q(a){let b=(0,f.dirname)(a);if(!b.endsWith("-worktrees"))return null;let c=b.slice(0,-10);return c&&((0,e.existsSync)((0,f.join)(c,".git"))||["HEAD","objects","refs"].every(a=>(0,e.existsSync)((0,f.join)(c,a))))?{projectRoot:o(c),branch:(0,f.basename)(a),isWorktree:!0,isTopLevel:!0}:null}async function r(a){let b,c=k(),d=c.get(a),e=Date.now();if(d&&d.expiresAt>e)return d.info;if(d)return function(a){let b=globalThis.__piProjectRefresh??=new Map;if(b.has(a))return;let c=globalThis.__piProjectCacheGeneration??0,d=s(a).then(b=>{(globalThis.__piProjectCacheGeneration??0)===c&&k().set(a,{info:b,expiresAt:Date.now()+6e4})}).catch(()=>{}).finally(()=>{b.get(a)===d&&b.delete(a)});b.set(a,d)}(a),d.info;try{b=await s(a)}catch(b){return console.error(`[pi-web] resolveProject: git failed for ${a}, not cached: ${b instanceof Error?b.message:String(b)}`),{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return c.set(a,{info:b,expiresAt:Date.now()+6e4}),b}async function s(a){let b;try{if(!(0,e.existsSync)(a))return q(a)??{projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1};let[c,d,g,h]=(await m(a,["rev-parse","--git-common-dir","--absolute-git-dir","--show-toplevel","--abbrev-ref","HEAD"])).split("\n").map(a=>a.trim()),[j,k,l]=[c,d,g].map(b=>(0,f.resolve)(a,(0,i.gB)(b))),n=o(a),r=(0,i.Eb)(l,n),s=!(0,i.Eb)(k,j)&&r,t=s?p(j):l;b={projectRoot:r?o(t):a,branch:h&&"HEAD"!==h?h:null,isWorktree:s,isTopLevel:r}}catch(c){if(function(a){if(!(a instanceof Error))return!1;let{code:b,killed:c,signal:d}=a;return!0===c||"string"==typeof d&&""!==d||"string"==typeof b&&n.has(b)}(c))throw c;b={projectRoot:a,branch:null,isWorktree:!1,isTopLevel:!1}}return b}async function t(a){let b=await m(a,["rev-parse","--git-common-dir"]);return o(p((0,f.resolve)(a,(0,i.gB)(b))))}async function u(a){let b=await m(a,["worktree","list","--porcelain"]),c=[],d=null,f=()=>{d?.path&&c.push({path:d.path,branch:d.branch??null,missing:!0===d.prunable||!(0,e.existsSync)(d.path)}),d=null};for(let a of b.split("\n"))a.startsWith("worktree ")?(f(),d={path:(0,i.gB)(a.slice(9).trim())}):a.startsWith("branch ")&&d?d.branch=a.slice(7).trim().replace(/^refs\/heads\//,""):a.startsWith("prunable")&&d?d.prunable=!0:""===a.trim()&&f();return f(),c}async function v(a){return(await u(a)).filter(a=>!a.missing).map(({path:a,branch:b},c)=>({path:a,branch:b,isMain:0===c}))}function w(a,b){return a.find(a=>(0,i.Eb)(a.path,b))}function x(a,b){return w(a,o(b))?.path??null}class y extends Error{constructor(a,b,c){super(c?`Branch '${a}' belongs to a worktree whose folder is gone: ${b}; git worktree prune clears it`:`Branch '${a}' is already checked out at ${b}`),this.branch=a,this.worktreePath=b,this.missing=c}}async function z(a,b){let c=b.trim();if(!c)throw Error("Branch name is required");let d=c.replace(/[\/\\:*?"<>|\s]+/g,"-").replace(/^-+|-+$/g,"");if(!d)throw Error(`Invalid branch name: ${b}`);let g=await t(a),i=(await u(g)).find(a=>a.branch===c);if(i)throw new y(c,i.path,i.missing);let j=`${(0,f.resolve)(g)}-worktrees`,k=(0,f.join)(j,d);if((0,e.existsSync)(k))throw Error(`Directory already exists: ${k}`);(0,e.mkdirSync)(j,{recursive:!0});let n=!1;try{await m(g,["rev-parse","--verify","--quiet",`refs/heads/${c}`]),n=!0}catch{n=!1}try{if(n)await m(g,["worktree","add","--",k,c],3e5);else{let a;try{await m(g,["rev-parse","--verify","--quiet",`refs/remotes/origin/${c}`]),a=`refs/remotes/origin/${c}`}catch{a=void 0}let b=["worktree","add","-b",c,"--",k];a&&b.push(a),await m(g,b,3e5)}}catch(a){throw Error(D(a))}return(0,h.wz)(k),l(),{path:k,branch:c}}async function A(a,b,c=!1){let d=w(await v(a),o(b));if(!d)throw Error(`Not a worktree of this repository: ${b}`);if(d.isMain)throw Error("Cannot remove the main worktree");try{await m(a,["worktree","remove",...c?["--force"]:[],d.path])}catch(a){throw Error(D(a))}l()}function B(a){return C(a)||/containing submodules/i.test(a)}function C(a){return/contains modified or untracked files|is dirty/i.test(a)}function D(a){let b=a.stderr;return"string"==typeof b&&b.trim()?b.trim():a instanceof Error?a.message:String(a)}},25252:(a,b,c)=>{"use strict";c.d(b,{HM:()=>f,Nw:()=>e,wz:()=>g});var d=c(58864);function e(a){return(0,d.W3)(a)}function f(){return globalThis.__piAdditionalAllowedRoots||(globalThis.__piAdditionalAllowedRoots=new Set),globalThis.__piAdditionalAllowedRoots}function g(a){if(!a)return;let b=e(a);f().add(b),globalThis.__piAllowedRootsCache?.roots.add(b)}},27367:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{N:()=>o,Q$:()=>n,UF:()=>s,UM:()=>r,ef:()=>p,hd:()=>m,o9:()=>q});var e=c(73024),f=c(76760),g=c(75430),h=c(8102),i=a([g]);g=(i.then?(await i)():i)[0];let s=32;function j(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){if("string"!=typeof d)continue;let a=d.trim(),e=a.toLowerCase();!a||c.has(e)||(c.add(e),b.push(a))}return b}function k(a=(0,g.getAgentDir)()){return(0,f.join)(a,"agents","settings.json")}function l(a){if(!(0,e.existsSync)(a))return{};let b=JSON.parse((0,e.readFileSync)(a,"utf8"));if(null===b||"object"!=typeof b||Array.isArray(b))throw Error("Invalid subagent settings: expected an object");return b}function m(a=k()){var b,c,d,e;let f=l(a);return c=!0===f.builtInEnabled,b=f.maxConcurrent,d="number"==typeof b&&Number.isInteger(b)&&b>=1&&b<=s?b:10,e=j(f.disabledBuiltIns),Object.defineProperty({builtInEnabled:c,disabledBuiltIns:e},"maxConcurrent",{value:d,enumerable:!1,configurable:!0})}function n(a=k()){try{return new Set(m(a).disabledBuiltIns.map(a=>a.toLowerCase()))}catch{return new Set}}function o(a=k()){try{return m(a).builtInEnabled}catch{return!1}}function p(a,b=k()){let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,builtInEnabled:a},null,2)),m(b)}function q(a,b,c=k()){let d=a.trim();if(!d)throw Error("Sub-agent name is required");let g=l(c),i=j(g.disabledBuiltIns),n=d.toLowerCase(),o=i.some(a=>a.toLowerCase()===n);if(b===o)return m(c);let p=b?o?i:[...i,d]:i.filter(a=>a.toLowerCase()!==n);return(0,e.mkdirSync)((0,f.dirname)(c),{recursive:!0}),(0,h.$)(c,JSON.stringify({...g,version:1,disabledBuiltIns:p},null,2)),m(c)}function r(a,b=k()){if(!Number.isInteger(a)||a<1||a>s)throw Error(`maxConcurrent must be an integer between 1 and ${s}`);let c=l(b);return(0,e.mkdirSync)((0,f.dirname)(b),{recursive:!0}),(0,h.$)(b,JSON.stringify({...c,version:1,maxConcurrent:a},null,2)),m(b)}d()}catch(a){d(a)}})},32812:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A9:()=>n,cy:()=>i,j9:()=>j,nV:()=>k,sq:()=>m,w3:()=>l});var e=c(28802),f=c(79645),g=a([e]);e=(g.then?(await g)():g)[0];let o="pi-web:side",p=["read","bash","powershell","grep","find","ls"],q=["read","bash"];function h(a){let b=a.find(a=>"custom"===a.type&&a.customType===o);if(b?.type!=="custom"||"object"!=typeof b.data||null===b.data)return null;let c=b.data;return 1!==c.version||"string"!=typeof c.parentSessionId||"string"!=typeof c.createdAt?null:c}function i(a){let b=h(a);return b?{parentSessionId:b.parentSessionId}:null}function j(a){return a.some(a=>"custom"===a.type&&a.customType===o)}function k(a,b,c){let d=new Date().toISOString();return{type:"custom",customType:o,data:{version:1,parentSessionId:a,createdAt:d},id:b,parentId:c,timestamp:d}}function l(a,b){return{type:"custom_message",customType:f._f,content:"[Side chat] This is a note from the app, not from the user. Everything above is inherited from a parent session as background, frozen when this side chat started. It is not your current task, and work left unfinished in it is not yours to continue. Only messages after this note are active.",display:!1,id:a,parentId:b,timestamp:new Date().toISOString()}}function m(a){let b=h(a)?.createdAt;return b?a.filter(a=>(a.timestamp??"")>b):a}function n(a,b){let c=b.length>0?(0,e.getCurrentTools)(b).map(a=>a.name):void 0;return(a??c??q).filter(a=>p.includes(a))}d()}catch(a){d(a)}})},38363:(a,b,c)=>{"use strict";function d(a){if(!a.startsWith("npm:"))return;let b=a.slice(4).trim(),c=b.match(/^(@?[^@]+(?:\/[^@]+)?)(?:@(.+))?$/);return{name:c?.[1]??b,spec:b,version:c?.[2]}}c.d(b,{e:()=>d})},40402:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>e.getAgentDir,BR:()=>T,DK:()=>V,G1:()=>P,H6:()=>x,O5:()=>z,O8:()=>S,Uv:()=>Y,Vg:()=>W,bA:()=>K,dQ:()=>F,eP:()=>U,is:()=>X,j6:()=>O,mD:()=>J,nZ:()=>A,os:()=>Q,rJ:()=>E,u1:()=>R,z:()=>C,zH:()=>y});var e=c(75430),f=c(29021),g=c(79748),h=c(33873),i=c(12039),j=c(85963),k=c(50880),l=c(74244),m=c(45902),n=c(69114),o=c(79535),p=c(24923),q=c(7048),r=c(32812),s=c(766),t=a([e,q,r,s]);function u(a,b,c){let d=(0,f.openSync)(a,"r");try{let a=[],e=0,g=0,h=!1;for(;e<b&&g<c;){let i=Buffer.allocUnsafe(Math.min(4096,b-e)),j=(0,f.readSync)(d,i,0,i.length,e);if(0===j){h=!0;break}e+=j;let k=i.subarray(0,j),l=k.length;for(let a=0;a<k.length;a+=1)if(10===k[a]&&(g+=1)===c){l=a+1;break}a.push(k.subarray(0,l))}let i=Buffer.concat(a).toString("utf8"),j=i.split("\n");return h||i.endsWith("\n")||j.pop(),""===j.at(-1)&&j.pop(),j.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(d)}}function v(a,b){let c=(0,f.openSync)(a,"r");try{let a=(0,f.fstatSync)(c).size,d=Math.max(0,a-b),e=Buffer.allocUnsafe(a-d),g=(0,f.readSync)(c,e,0,e.length,d);if(0===g)return[];let h=e.subarray(0,g).toString("utf8").split("\n");if(d>0){let a=Buffer.allocUnsafe(1);(0,f.readSync)(c,a,0,1,d-1),10!==a[0]&&h.shift()}return""===h.at(-1)&&h.pop(),h.map(a=>a.endsWith("\r")?a.slice(0,-1):a)}finally{(0,f.closeSync)(c)}}function w(a){return a.flatMap(a=>{try{return[JSON.parse(a)]}catch{return[]}})}function x(a){let b;if(a){try{b=v(a,65536)}catch{return}for(let a=b.length-1;a>=0;a-=1){let c=function(a){try{let b=JSON.parse(a);if("session"===b.type)return;return"string"==typeof b.id&&b.id?b.id:void 0}catch{return}}(b[a]);if(c)return c}}}async function y(a){let b=[...new Set(a.map(a=>a.cwd).filter(Boolean))],c=new Map;return await Promise.all(b.map(async a=>{c.set(a,await (0,p.KI)(a))})),a.map(a=>{let b=a.cwd?c.get(a.cwd):void 0,d=b?.projectRoot??a.cwd;return{...a,projectRoot:d,projectKey:(0,l.z)(d),...b?.branch?{branch:b.branch}:{},...b?.isWorktree?{isWorktree:!0}:{}}})}function z(a,b){let c=new Map(b.map(a=>[a.id,a]));for(let b of a)c.set(b.id,b);return[...c.values()].sort((a,b)=>b.modified.localeCompare(a.modified))}[e,q,r,s]=t.then?(await t)():t;let aa=new WeakMap;function A(a){let b=(0,n.d)(a)??a;if(b.length<=500)return b;let c=b.charCodeAt(499);return b.slice(0,c>=55296&&c<=56319?499:500)}async function B(a){let b=new Map;for(let c of a)b.set((0,m.$)(c.path),c.id);return y(a.map(a=>(function(a,b){S(a.id,a.path);let{originSessionId:c,subagent:d,side:e}=function(a,b){let c=a.parentSessionPath?b.get((0,m.$)(a.parentSessionPath)):void 0;if(!a.parentSessionPath)return{originSessionId:c,subagent:null,side:null};let d=aa.get(a);if(void 0!==d)return{originSessionId:c,...d};try{var e;let b,d=(e=a.path,(b=w(u(e,262144,2).slice(1))).some(a=>"custom"===a.type&&a.customType===q.tP)?[...b,...w(v(e,262144))]:b),f=(0,q.$u)(d,a.id,a.path),g=f?null:(0,r.cy)(d),h={subagent:f,side:g};return aa.set(a,h),{originSessionId:c,...h}}catch{return{originSessionId:c,subagent:null,side:null}}}(a,b),f=!0===a.detailsPending;return{path:a.path,id:a.id,cwd:a.cwd,name:a.name,created:a.created.toISOString(),modified:a.modified.toISOString(),messageCount:a.messageCount,firstMessage:f&&!a.firstMessage?"":A(a.firstMessage||"(no messages)"),parentSessionId:c,...d?{relation:{kind:"subagent",parentSessionId:d.parentSessionId,profile:d.profile,description:d.description,status:d.status}}:e?{relation:{kind:"side",...e}}:a.parentSessionPath?{relation:{kind:"fork",...c?{originSessionId:c}:{}}}:{},transient:!1,...f?{detailsPending:!0}:{}}})(a,b)))}async function C(a){let b=await (0,s._p)(a);return b?(await B([b]))[0]??null:null}async function D(){return B(await (0,s.q8)())}async function E(){return B(await (0,s.q8)({deferDetails:!0}))}async function F(a={}){a.force&&J();let b=globalThis.__piSessionListGeneration??0,c=globalThis.__piSessionListCache;if(c&&c.generation===b&&Date.now()-c.ts<ab)return c.data;if(a.allowStale&&c)return F().catch(()=>void 0),c.data;if(globalThis.__piSessionListPromise&&globalThis.__piSessionListPromiseGeneration===b)return globalThis.__piSessionListPromise;let d=D().then(a=>(globalThis.__piSessionListGeneration??0)!==b?F():(globalThis.__piSessionListCache={data:a,ts:Date.now(),generation:b},a)).finally(()=>{globalThis.__piSessionListPromise===d&&(globalThis.__piSessionListPromise=void 0,globalThis.__piSessionListPromiseGeneration=void 0)});return globalThis.__piSessionListPromise=d,globalThis.__piSessionListPromiseGeneration=b,d}let ab=3e4,ac=/^[A-Za-z0-9](?:[A-Za-z0-9._-]*[A-Za-z0-9])?$/;function G(){return(0,h.join)((0,e.getAgentDir)(),"sessions")}function H(a,b=(0,h.resolve)(G())){let c=(0,h.resolve)(a),d=(0,h.relative)(b,c);return""===d||".."===d||d.startsWith(`..${h.sep}`)||(0,h.isAbsolute)(d)?null:c}async function I(a){let b,c;if(!ac.test(a))return null;let d=(0,h.resolve)(G());try{b=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=`_${a}.jsonl`;for(let f of b){let b;if(!f.isDirectory()&&!f.isSymbolicLink())continue;let i=H((0,h.join)(d,f.name),d);if(i){try{b=await (0,g.readdir)(i)}catch{continue}for(let f of b){if(!f.endsWith(e))continue;let b=H((0,h.join)(i,f),d);if(b){try{if(U(b)?.id!==a)continue}catch{continue}if(c&&c!==b)return null;c=b}}}}return c??null}function J(){globalThis.__piSessionListGeneration=(globalThis.__piSessionListGeneration??0)+1}function K(){return(0,s.jr)(G(),J),globalThis.__piSessionListGeneration??0}function L(){return globalThis.__piSessionPathCache||(globalThis.__piSessionPathCache=new Map),globalThis.__piSessionPathCache}function M(){return globalThis.__piPathToSessionIdCache||(globalThis.__piPathToSessionIdCache=new Map),globalThis.__piPathToSessionIdCache}function N(){return globalThis.__piSmCache||(globalThis.__piSmCache=new Map),globalThis.__piSmCache}function O(a){let b=N();void 0===a?b.clear():b.delete((0,m.$)(a))}function P(a,b={}){if(b.mutable)return e.SessionManager.open(a,void 0);let c=N(),d=(0,m.$)(a),g=function(a){try{let b=(0,f.statSync)(a);return{fingerprint:`${b.size}:${b.mtimeMs}`,bytes:b.size}}catch{return null}}(a);if(null===g)return c.delete(d),e.SessionManager.open(a,void 0);let h=c.get(d);if(h&&h.fingerprint===g.fingerprint)return c.delete(d),c.set(d,h),h.sm;let i=e.SessionManager.open(a,void 0);if(g.bytes>0x4000000)return c.delete(d),i;c.set(d,{sm:i,fingerprint:g.fingerprint,bytes:g.bytes});let j=0;for(let a of c.values())j+=a.bytes;for(;c.size>12||j>0x10000000;){let a=c.keys().next().value;if(void 0===a)break;j-=c.get(a)?.bytes??0,c.delete(a)}return i}async function Q(a){let b=L().get(a);if(b)return b;let c=await I(a);return c?S(a,c):await F(),L().get(a)??null}async function R(a){let b=(0,m.$)(a),c=M().get(b);if(c)return c;let d=function(a){if(!a.endsWith(".jsonl"))return;let b=H(a);if(b)try{let a=U(b)?.id;if(!a)return;return S(a,b),a}catch{return}}(a);return d||(await F(),M().get(b))}function S(a,b){let c=(0,h.normalize)(b),d=(0,m.$)(c),e=L(),f=M(),g=e.get(a),i=g?(0,m.$)(g):void 0,j=f.get(d),k=j?e.get(j):void 0;i&&i!==d&&f.get(i)===a&&f.delete(i),j&&j!==a&&k&&(0,m.$)(k)===d&&e.delete(j),e.set(a,c),f.set(d,a)}function T(a){let b=L(),c=M(),d=b.get(a);b.delete(a);let e=d?(0,m.$)(d):void 0;e&&c.get(e)===a&&c.delete(e)}function U(a){let b=u(a,65536,1)[0]?.trimEnd();if(!b)return null;try{let a=JSON.parse(b);return"session"===a.type?a:null}catch{return null}}function V(a){return P(a).getEntries()}function W(a){for(let b=a.length-1;b>=0;b--){let c=a[b];if("model_change"===c.type)return{provider:c.provider,modelId:c.modelId}}return null}function X(a,b){let c,d;if(null===b)return{thinkingLevel:"off",model:null};let e=Z(a,b??null,a.length);for(let a=e.length-1;a>=0&&(void 0===c||void 0===d);a--){let b=e[a];if(void 0===c&&"thinking_level_change"===b.type&&(c=b.thinkingLevel),void 0===d&&"message"===b.type&&"assistant"===b.message.role){let a=b.message;"string"==typeof a.provider&&"string"==typeof a.model&&(d={provider:a.provider,modelId:a.model})}}return{thinkingLevel:c??"off",model:W(e)??d??null}}function Y(a,b,c={}){let{tail:d,excludeLeaf:e}=c,f=null===b?[]:Z(a,b??null,d&&d>0?d:a.length,e),g=!!(d&&d>0&&f[0]?.parentId),h=g?function(a,b){let c=new Map;for(let b of a)c.set(b.id,b);let d=0,e=b.parentId?c.get(b.parentId):void 0;for(;e;){let a=function(a){switch(a.type){case"message":return"system"===a.message.role?null:a.message;case"compaction":return{role:"custom",customType:"compaction",display:!0};case"branch_summary":return a.summary?{role:"user"}:null;case"custom_message":return{role:"custom",customType:a.customType,display:a.display};default:return null}}(e);a&&(0,k.Y0)(a)&&d++,e=e.parentId?c.get(e.parentId):void 0}return d}(a,f[0]):0,l=[],m=[];for(let a of f){let b=function(a,b){switch(a.type){case"message":{if("system"===a.message.role)return null;let c=(0,j.r)(a.message),d=b.deferToolResultImages?function(a,b,c){if("toolResult"!==a.role)return a;let d=0,e=0,f=new Set,g=a.content.flatMap((a,g)=>{let h=function(a){let b,c;if(!_(a)||"image"!==a.type||("string"==typeof a.data?(b=a.data,c="string"==typeof a.mimeType?a.mimeType:void 0):_(a.source)&&"base64"===a.source.type&&"string"==typeof a.source.data&&(b=a.source.data,c="string"==typeof a.source.media_type?a.source.media_type:void 0),!b))return null;let d=b.endsWith("==")?2:+!!b.endsWith("=");return{bytes:Math.max(0,Math.floor(3*b.length/4)-d),mime:c}}(a);if(!h)return[a];if(b&&h.mime&&o.N.has(h.mime)&&h.bytes>0&&h.bytes<=o.c){let a={type:"url",media_type:h.mime,url:`/api/sessions/${encodeURIComponent(b)}/entries/${encodeURIComponent(c)}/tool-result-image?blockIndex=${g}`};return[{type:"image",source:a}]}return d+=1,e+=h.bytes,h.mime&&f.add(h.mime),[]});if(0===d)return{...a,content:g};let h=f.size>0?`: ${[...f].join(", ")}`:"";return g.push({type:"text",text:`[${d} tool result image${1===d?"":"s"} omitted from initial history payload${h}, ~${e} bytes]`}),{...a,content:g}}((0,i.B)(c),b.sessionId,a.id):(0,i.B)(c),e="assistant"===d.role?d.content:void 0;if("string"==typeof e&&(d={...d,content:[{type:"text",text:e}]}),!b.deferThinking||"assistant"!==d.role)return d;let f=d.content;return{...d,content:f.map(a=>"thinking"===a.type&&""!==a.thinking.trim()?{...a,thinking:(0,k.de)(a.thinking),deferred:!0}:a)}}case"compaction":return{role:"custom",customType:"compaction",content:a.summary,display:!0,details:{tokensBefore:a.tokensBefore,firstKeptEntryId:a.firstKeptEntryId},timestamp:$(a.timestamp)};case"branch_summary":if(!a.summary)return null;return{role:"user",content:`*The conversation briefly explored another branch and returned with this summary:*
|
|
7
7
|
|
|
8
|
-
${a.summary}`,timestamp
|
|
8
|
+
${a.summary}`,timestamp:$(a.timestamp)};case"custom_message":return{role:"custom",customType:a.customType,content:a.content,display:a.display,details:a.details,timestamp:$(a.timestamp)};default:return null}}(a,c);b&&(l.push(b),m.push(a.id))}return{messages:l,entryIds:m,oldestEntryId:f[0]?.id??null,hasMore:g,turnsBefore:h,...X(a,b)}}function Z(a,b,c,d=!1){if(c<=0)return a;let e=new Map;for(let b of a)e.set(b.id,b);let f=b?e.get(b):a[a.length-1];if(d&&(f=f?.parentId?e.get(f.parentId):void 0),!f)return[];let g=[],h=f,i=0,j=Math.max(200,6*c);for(;h&&(g.push(h),function(a){if("compaction"===a.type)return!0;if("message"!==a.type)return!1;let b=a.message?.role;return"user"===b||"assistant"===b}(h)&&i++,!(i>=c)&&!(g.length>=j));)h=h.parentId?e.get(h.parentId):void 0;return g.reverse(),g}function $(a){let b=Date.parse(a);return Number.isNaN(b)?void 0:b}function _(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}d()}catch(a){d(a)}})},41761:(a,b,c)=>{"use strict";c.d(b,{C1:()=>e,kU:()=>d});let d=["read","grep","find","ls"],e=["bash","read","edit","write","grep","find","ls"];[...e]},45902:(a,b,c)=>{"use strict";c.d(b,{$:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){let c="win32"===b?e().win32.normalize(a):e().posix.normalize(a);return"win32"===b?c.toLowerCase():c}},50880:(a,b,c)=>{"use strict";function d(a){return a.trimStart().match(/^[^\r\n]{0,240}/u)?.[0].trimEnd()??""}function e(a){return"user"===a.role||"custom"===a.role&&!("custom"===a.role&&!a.display)&&("compaction"===a.customType||"pi-web:subagent-notification"===a.customType||"subagent-notification"===a.customType)}c.d(b,{Y0:()=>e,de:()=>d})},58864:(a,b,c)=>{"use strict";c.d(b,{A_:()=>h,Eb:()=>l,V:()=>m,W3:()=>j,gB:()=>i,uK:()=>g});var d=c(29021),e=c(33873);let f=/^[a-zA-Z]:[\\/]/;function g(a){return f.test(a)||a.startsWith("\\\\")||a.startsWith("//")}function h(a){let b=a.join("/"),c=j(b);return/^[a-zA-Z]:$/.test(c)?`${c}/`:g(c)?c:"/"+b.replace(/^\/+/,"")}function i(a){return a&&"win32"===process.platform?(0,e.normalize)(a):a}function j(a){return a.replace(/\\/g,"/")}function k(a){let b=(0,e.normalize)(i(a)),c=(0,e.parse)(b).root.length,d=b.length;for(;d>c&&b[d-1]===e.sep;)d--;return b.slice(0,d)}function l(a,b){if(a===b)return!0;if(!a||!b)return!1;let c=k(a),d=k(b);return"win32"===process.platform?c.toLowerCase()===d.toLowerCase():c===d}function m(a){let b=(0,e.resolve)(a),c=b;for(;;)try{return(0,e.join)((0,d.realpathSync)(c),(0,e.relative)(c,b))}catch{let a=(0,e.dirname)(c);if(a===c)return b;c=a}}},69114:(a,b,c)=>{"use strict";c.d(b,{d:()=>e});let d=/^<skill name="([^"\n]+)" location="([^"\n]+)">\nReferences are relative to [^\n]+\.\n\n([\s\S]*)\n<\/skill>(?:\n\n([\s\S]+))?$/;function e(a){let b=a.match(d);if(!b)return null;let[,c,,,e]=b;return e?`/skill:${c} ${e}`:`/skill:${c}`}},74244:(a,b,c)=>{"use strict";c.d(b,{z:()=>f});var d=c(76760),e=c.n(d);function f(a,b=process.platform){if(!a)return a;let c="win32"===b?e().win32:e().posix,d=c.normalize(a),g=c.parse(d).root.length,h=d.length;for(;h>g&&d[h-1]===c.sep;)h--;let i=d.slice(0,h);return"win32"===b?i.toLowerCase():i}},78335:()=>{},79535:(a,b,c)=>{"use strict";c.d(b,{N:()=>e,c:()=>d});let d=0xa00000,e=new Set(["image/png","image/jpeg","image/webp","image/gif","image/bmp","image/avif"])},79645:(a,b,c)=>{"use strict";c.d(b,{HL:()=>e,Po:()=>g,_f:()=>d,iG:()=>f});let d="pi-web:side-boundary",e="Side chat";function f(a){let b=a.trim().split("\n")[0].trim();return b?b.length>40?`${b.slice(0,40).trimEnd()}…`:b:null}function g(a){let b=a.trim();return b.startsWith("/")||b.startsWith("!")?null:f(b)}},82536:(a,b,c)=>{"use strict";c.d(b,{TU:()=>j,o4:()=>h,qy:()=>i,xk:()=>k});var d=c(29021),e=c(33873),f=c.n(e),g=c(58864);function h(a,b){for(let c of b){let b=(0,g.uK)(a)||(0,g.uK)(c),d=b?f().win32:f(),e=b?"\\":f().sep,h=d.resolve(a),i=d.resolve(c),j=b?h.toLowerCase():h,k=b?i.toLowerCase():i,l=k.endsWith(e)?k:k+e;if(j===k||j.startsWith(l))return!0}return!1}function i(a){let b=new Set;for(let c of a)try{b.add((0,d.realpathSync)(c))}catch{}return b}function j(a){let b="win32"===process.platform||(0,g.uK)(a)?/[\\/]/:"/";return a.split(b).includes("..")}function k(a,b){let c;if(j(a))return!1;try{c=(0,d.realpathSync)(a)}catch{return!1}return h(c,i(b))}},85963:(a,b,c)=>{"use strict";c.d(b,{L:()=>f,r:()=>g});let d=["thinkingSignature","textSignature","thoughtSignature"];function e(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function f(a){if(!e(a)||!d.some(b=>Object.hasOwn(a,b)))return a;let b={...a};for(let a of d)delete b[a];return b}function g(a){if(!e(a)||"assistant"!==a.role||!Array.isArray(a.content))return a;let b=!1,c=a.content.map(a=>{let c=f(a);return b||=c!==a,c});return b?{...a,content:c}:a}},96487:()=>{}};
|