@qt4798/pi-web 0.18.3 → 0.18.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 +17 -17
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
- 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/app-update/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/files/[...path]/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/push/route.js +1 -1
- package/.next/server/app/api/git/stash/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/import/discover/route.js +1 -1
- package/.next/server/app/api/logs/route.js +1 -1
- package/.next/server/app/api/mcp/restart/route.js +1 -1
- package/.next/server/app/api/mcp/route.js +1 -1
- package/.next/server/app/api/models-config/builtin/route.js +1 -1
- package/.next/server/app/api/models-config/catalog/route.js +1 -1
- package/.next/server/app/api/models-config/discover/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/project-state/route.js +1 -1
- package/.next/server/app/api/projects/visibility/route.js +1 -1
- package/.next/server/app/api/provider-usage/query/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/settings/title-model/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/snippets/[id]/route.js +1 -1
- package/.next/server/app/api/snippets/route.js +1 -1
- package/.next/server/app/api/subagents/settings/route.js +1 -1
- package/.next/server/app/api/tools/extension-tools/route.js +1 -1
- package/.next/server/app/api/tools/settings/route.js +1 -1
- package/.next/server/app/api/vision-config/route.js +1 -1
- package/.next/server/app/api/web-auth/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 +4 -4
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- 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 +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/page.js +10 -8
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +17 -17
- package/.next/server/chunks/154.js +12 -11
- package/.next/server/chunks/4253.js +14 -11
- package/.next/server/chunks/440.js +1 -1
- package/.next/server/chunks/5725.js +1 -1
- package/.next/server/chunks/6429.js +8 -5
- package/.next/server/chunks/7915.js +1 -1
- package/.next/server/chunks/9332.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/{page-bf524eccd13171ca.js → page-d363e57a49404652.js} +10 -8
- package/.next/static/css/2f7c89d02f957732.css +1 -0
- package/.next/trace +83 -83
- package/.next/trace-build +1 -1
- package/package.json +1 -1
- package/.next/static/css/5418f5ea5454ad72.css +0 -1
- /package/.next/static/{_xksA4ZQaCVW_rYzSdTTL → PzFJcRfrMtE8eCJrhnney}/_buildManifest.js +0 -0
- /package/.next/static/{_xksA4ZQaCVW_rYzSdTTL → PzFJcRfrMtE8eCJrhnney}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=440,exports.ids=[440],exports.modules={23097:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>n,Z:()=>p});var e=c(33873),f=c(21820),g=c(29021),h=c(75430),i=c(49228),j=c(36525),k=c(40402),l=a([h,i,k]);function m(){return globalThis.__piImportJobs||(globalThis.__piImportJobs=new Map),globalThis.__piImportJobs}[h,i,k]=l.then?(await l)():l;let q=(0,e.join)((0,h.getAgentDir)(),"sessions");function n(a){let b=`import-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,c=0,d=[];for(let b of a){let a=(0,i.mO)(b);if(!a||0===a.files.length)continue;let e=(0,i.Ol)(b);d.push({projectName:b,piCwdDir:e,files:a.files,flat:a.flat}),c+=a.files.length}let e={jobId:b,source:"reasonix",total:c,imported:0,skipped:0,errors:0,currentFile:"",done:!1,sessionIds:[],createdAt:Date.now()};return m().set(b,e),o(e,d).catch(a=>{console.error("[import-reasonix] Fatal:",a),e.done=!0}),{jobId:b}}async function o(a,b){for(let{projectName:c,piCwdDir:d,files:h,flat:k}of b){let b,l=(0,i.mO)(c);if(!l)continue;let m=l.sessionsDir;if(k)b=(0,f.homedir)();else{let a=c.replace(/^-/,""),d=a.split("-");b="win32"===process.platform&&d.length>=2&&/^[a-zA-Z]$/.test(d[0])?d[0].toUpperCase()+":\\"+d.slice(1).join("\\"):"/"+a.replace(/-/g,"/")}try{let a=(0,e.join)(q,d),c=(0,g.readdirSync)(a).filter(a=>a.endsWith(".jsonl"));if(c.length>0){let d=(0,g.readFileSync)((0,e.join)(a,c[0]),"utf-8").split("\n")[0].replace(/\r$/,""),f=JSON.parse(d);f.cwd&&(b=f.cwd)}}catch{}let n=(0,e.join)(q,d);for(let c of((0,g.mkdirSync)(n,{recursive:!0}),h)){a.currentFile=c;try{let d=(0,e.join)(m,c),f=k?(0,g.statSync)(d).mtime.toISOString().slice(0,19).replace(/[:.]/g,"-"):c.slice(0,19).replace(/[:.]/g,"-"),h=(0,j.je)(d,b,c);if((0,g.readdirSync)(n).find(a=>a.includes(f.split("-")[0])&&a.endsWith(".jsonl"))&&0===h.messageCount||0===h.messageCount){a.skipped++;continue}let i=`${f}Z_${h.sessionId}.jsonl`,l=(0,e.join)(n,i);if((0,g.existsSync)(l)){a.skipped++;continue}let o=(0,j.aN)(h.entries);(0,g.writeFileSync)(l,o,"utf-8"),a.imported++,a.sessionIds.push(h.sessionId)}catch(b){a.errors++,console.error(`[import-reasonix] Error converting ${c}:`,b)}await new Promise(a=>setImmediate(a))}}for(let[b,c]of(a.done=!0,a.currentFile="",(0,k.mD)(),m()))c.done&&Date.now()-c.createdAt>18e5&&m().delete(b)}function p(a){return m().get(a)??null}d()}catch(a){d(a)}})},36525:(a,b,c)=>{c.d(b,{aN:()=>h,je:()=>g});var d=c(77598),e=c(73024);function f(){return(0,d.randomBytes)(4).toString("hex")}function g(a,b,c){let d,g,h,i,j,k,l,m,n,o,p=(0,e.readFileSync)(a,"utf-8").trim().split("\n").map(a=>a.replace(/\r$/,"")).filter(a=>a.trim()),{timestamp:q,provider:r,modelId:s}=function(a,b){let c=a.replace(/\.jsonl$/,"").split("-"),d=c[0]??"",e=c[1]??"",f=d.slice(0,4),g=d.slice(4,6),h=d.slice(6,8),i=e.slice(0,2),j=e.slice(2,4),k=e.slice(4,6),l=e.slice(7,10),m=new Date(`${f}-${g}-${h}T${i}:${j}:${k}.${l}Z`);if(Number.isNaN(m.getTime()))return{timestamp:b??new Date(0).toISOString(),provider:"unknown",modelId:"unknown"};let n=c.slice(2).join("-"),o="freebuff",p="unknown";if(n){let a=n.split("-");a.length>=3&&"freebuff"===a[0].toLowerCase()?(o="freebuff",p=a.slice(1).join("/")):a.length>=2&&"session"!==a[0].toLowerCase()?(o=a[0].toLowerCase(),p=a.slice(1).join("/")):"session"===n.toLowerCase()?(o="freebuff",p="unknown"):p=n}return{timestamp:m.toISOString(),provider:o,modelId:p}}(c,(0,e.statSync)(a).mtime.toISOString()),t=(d=Date.now(),g=(a,b)=>a.toString(16).padStart(b,"0"),h=()=>Math.floor(65536*Math.random()),i=Math.floor(d/0x100000000),j=d%0x100000000,k=g(i,8),l=g(j>>16&65535,4),m=g(28672|4095&j,4),n=g(32768|16383&h(),4),o=g(h(),4)+g(h(),4)+g(h(),4),`${k}-${l}-${m}-${n}-${o}`),u=[];u.push({type:"session",version:3,id:t,timestamp:q,cwd:b,importedFrom:"reasonix"});let v=f();u.push({type:"model_change",id:v,parentId:null,timestamp:q,provider:r,modelId:s});let w=v,x="unknown"!==r&&"unknown"!==s;for(let a of p){let b=function(a,b,c,d){let e;if(!a||""===a.trim())return{entry:null,reason:"empty"};try{e=JSON.parse(a)}catch{return{entry:null,reason:"parse-error"}}let g=e.role;if("system"===g)return{entry:null,reason:"system"};let h=f();if("user"===g){let a=("string"==typeof e.content?e.content:JSON.stringify(e.content))??"";return{entry:{type:"message",id:h,parentId:b,timestamp:e.createdAt?new Date(e.createdAt).toISOString():c,message:{role:"user",content:[{type:"text",text:a}]}}}}if("assistant"===g){let a=[];if(e.reasoning_content&&a.push({type:"thinking",thinking:e.reasoning_content}),e.tool_calls&&Array.isArray(e.tool_calls))for(let b of e.tool_calls){let c={};if(b.arguments)try{c="string"==typeof b.arguments?JSON.parse(b.arguments):b.arguments}catch{c={raw:b.arguments}}a.push({type:"toolCall",id:b.id||`reasonix_${f()}`,name:b.name,arguments:c})}return(e.content&&"string"==typeof e.content&&e.content.trim()&&!e.tool_calls&&a.push({type:"text",text:e.content}),0===a.length)?{entry:null,reason:"empty-assistant"}:{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"assistant",content:a,...d?{provider:d.provider,model:d.modelId}:{}}}}}if("tool"===g){let a=("string"==typeof e.content?e.content:JSON.stringify(e.content))??"";return{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"toolResult",toolCallId:e.tool_call_id||"unknown",toolName:e.name||"unknown",content:[{type:"text",text:a}],isError:!1}}}}return e.content?{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"user",content:[{type:"text",text:("string"==typeof e.content?e.content:JSON.stringify(e.content))??""}]}}}:{entry:null,reason:`unknown-role:${g}`}}(a,w,q,x?{provider:r,modelId:s}:null);b&&b.entry&&(u.push(b.entry),w=b.entry.id)}let y=u.filter(a=>"message"===a.type).length;return{entries:u,sessionId:t,messageCount:y}}function h(a){return a.map(a=>JSON.stringify(a)).join("\n")+"\n"}},49228:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>o,Ol:()=>l,Ts:()=>q,mO:()=>p});var e=c(21820),f=c(33873),g=c(29021),h=c(75430),i=a([h]);function j(){let a=[],b=process.env.APPDATA;return b&&b.length>0&&a.push((0,f.join)(b,"reasonix")),a.push((0,f.join)((0,e.homedir)(),".reasonix")),a.filter((b,c)=>a.indexOf(b)===c)}h=(i.then?(await i)():i)[0];let r=[".events.jsonl",".conflicts.jsonl",".telemetry.json",".recovery.json",".goal-state.json",".event-index.json",".recovery.jsonl",".ckpt",".meta",".lock",".lease.json",".lease.lock",".jobs"];function k(a){if(!a.endsWith(".jsonl"))return!1;for(let b of r)if(a.endsWith(b))return!1;return!0}function l(a){let b=a.replace(/^-/,"").replace(/^[/\\]/,"").replace(/[/\\:]/g,"-");return`--${b}--`}let s=(0,f.join)((0,h.getAgentDir)(),"sessions");function m(a){return(0,g.existsSync)((0,f.join)(s,a))}function n(a){try{return(0,g.readdirSync)((0,f.join)(s,a)).filter(a=>a.endsWith(".jsonl")).length}catch{return 0}}function o(){let a=(0,g.existsSync)(function(){for(let a of j()){let b=(0,f.join)(a,"projects");if((0,g.existsSync)(b))return b}return(0,f.join)(j()[0],"projects")}())||(0,g.existsSync)(function(){for(let a of j()){let b=(0,f.join)(a,"sessions");if((0,g.existsSync)(b))return b}return(0,f.join)(j()[0],"sessions")}());return[{key:"reasonix",label:"Reasonix",available:a,status:a?"available":"unavailable"},{key:"codex",label:"Codex",available:!1,status:"coming-soon"},{key:"opencode",label:"OpenCode",available:!1,status:"coming-soon"},{key:"claude",label:"Claude Code",available:!1,status:"coming-soon"}]}function p(a){if(!a||a.split(/[\\/]/).some(a=>""===a||"."===a||".."===a))return null;for(let b of j()){let c=(0,f.join)(b,"projects",a,"sessions");if((0,g.existsSync)(c))try{let a=(0,g.readdirSync)(c).filter(k);return{sessionsDir:c,files:a,flat:!1}}catch{return null}}for(let b of j()){let c=(0,f.join)(b,"sessions");if((0,g.existsSync)(c))try{let b=`${a}-`,d=(0,g.readdirSync)(c).filter(a=>k(a)&&a.startsWith(b));if(d.length>0)return{sessionsDir:c,files:d,flat:!0}}catch{break}}return null}function q(){let a=j(),b=a.map(a=>(0,f.join)(a,"projects")).filter(a=>(0,g.existsSync)(a)),c=a.map(a=>(0,f.join)(a,"sessions")).filter(a=>(0,g.existsSync)(a));if(0===b.length&&0===c.length)return{available:!1,projects:[],totalSessions:0};let d=[],e=0,h=new Set;for(let a of b){let b;try{b=(0,g.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>a.name)}catch{b=[]}for(let a of b){if(h.has(a))continue;let b=p(a);if(!b||0===b.files.length)continue;h.add(a);let c=l(a),f=m(c);d.push({name:a,sessions:b.files.length,piCwdDir:c,matched:f,existingCount:f?n(c):0}),e+=b.files.length}}for(let a of c){let b;try{b=(0,g.readdirSync)(a).filter(k)}catch{b=[]}let c=new Map;for(let a of b){let b=a.split("-")[0];b&&c.set(b,(c.get(b)??0)+1)}for(let[a,b]of c){if(h.has(a))continue;let c=l(a),f=m(c);d.push({name:a,sessions:b,piCwdDir:c,matched:f,existingCount:f?n(c):0}),e+=b}}return{available:!0,projects:d,totalSessions:e}}d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b){let c,d;try{c=new URL(a),d=new URL(b)}catch{return!1}if(c.protocol!==d.protocol||c.hostname.toLowerCase()!==d.hostname.toLowerCase())return!1;if(!c.port)return!0;let e=d.port||("https:"===d.protocol?"443":"80");return c.port===e}(e,f)))return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a)}function l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}}};
|
|
1
|
+
"use strict";exports.id=440,exports.ids=[440],exports.modules={23097:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{D:()=>n,Z:()=>p});var e=c(33873),f=c(21820),g=c(29021),h=c(75430),i=c(49228),j=c(36525),k=c(40402),l=a([h,i,k]);function m(){return globalThis.__piImportJobs||(globalThis.__piImportJobs=new Map),globalThis.__piImportJobs}[h,i,k]=l.then?(await l)():l;let q=(0,e.join)((0,h.getAgentDir)(),"sessions");function n(a){let b=`import-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,c=0,d=[];for(let b of a){let a=(0,i.mO)(b);if(!a||0===a.files.length)continue;let e=(0,i.Ol)(b);d.push({projectName:b,piCwdDir:e,files:a.files,flat:a.flat}),c+=a.files.length}let e={jobId:b,source:"reasonix",total:c,imported:0,skipped:0,errors:0,currentFile:"",done:!1,sessionIds:[],createdAt:Date.now()};return m().set(b,e),o(e,d).catch(a=>{console.error("[import-reasonix] Fatal:",a),e.done=!0}),{jobId:b}}async function o(a,b){for(let{projectName:c,piCwdDir:d,files:h,flat:k}of b){let b,l=(0,i.mO)(c);if(!l)continue;let m=l.sessionsDir;if(k)b=(0,f.homedir)();else{let a=c.replace(/^-/,""),d=a.split("-");b="win32"===process.platform&&d.length>=2&&/^[a-zA-Z]$/.test(d[0])?d[0].toUpperCase()+":\\"+d.slice(1).join("\\"):"/"+a.replace(/-/g,"/")}try{let a=(0,e.join)(q,d),c=(0,g.readdirSync)(a).filter(a=>a.endsWith(".jsonl"));if(c.length>0){let d=(0,g.readFileSync)((0,e.join)(a,c[0]),"utf-8").split("\n")[0].replace(/\r$/,""),f=JSON.parse(d);f.cwd&&(b=f.cwd)}}catch{}let n=(0,e.join)(q,d);for(let c of((0,g.mkdirSync)(n,{recursive:!0}),h)){a.currentFile=c;try{let d=(0,e.join)(m,c),f=k?(0,g.statSync)(d).mtime.toISOString().slice(0,19).replace(/[:.]/g,"-"):c.slice(0,19).replace(/[:.]/g,"-"),h=(0,j.je)(d,b,c);if((0,g.readdirSync)(n).find(a=>a.includes(f.split("-")[0])&&a.endsWith(".jsonl"))&&0===h.messageCount||0===h.messageCount){a.skipped++;continue}let i=`${f}Z_${h.sessionId}.jsonl`,l=(0,e.join)(n,i);if((0,g.existsSync)(l)){a.skipped++;continue}let o=(0,j.aN)(h.entries);(0,g.writeFileSync)(l,o,"utf-8"),a.imported++,a.sessionIds.push(h.sessionId)}catch(b){a.errors++,console.error(`[import-reasonix] Error converting ${c}:`,b)}await new Promise(a=>setImmediate(a))}}for(let[b,c]of(a.done=!0,a.currentFile="",(0,k.mD)(),m()))c.done&&Date.now()-c.createdAt>18e5&&m().delete(b)}function p(a){return m().get(a)??null}d()}catch(a){d(a)}})},36525:(a,b,c)=>{c.d(b,{aN:()=>h,je:()=>g});var d=c(77598),e=c(73024);function f(){return(0,d.randomBytes)(4).toString("hex")}function g(a,b,c){let d,g,h,i,j,k,l,m,n,o,p=(0,e.readFileSync)(a,"utf-8").trim().split("\n").map(a=>a.replace(/\r$/,"")).filter(a=>a.trim()),{timestamp:q,provider:r,modelId:s}=function(a,b){let c=a.replace(/\.jsonl$/,"").split("-"),d=c[0]??"",e=c[1]??"",f=d.slice(0,4),g=d.slice(4,6),h=d.slice(6,8),i=e.slice(0,2),j=e.slice(2,4),k=e.slice(4,6),l=e.slice(7,10),m=new Date(`${f}-${g}-${h}T${i}:${j}:${k}.${l}Z`);if(Number.isNaN(m.getTime()))return{timestamp:b??new Date(0).toISOString(),provider:"unknown",modelId:"unknown"};let n=c.slice(2).join("-"),o="freebuff",p="unknown";if(n){let a=n.split("-");a.length>=3&&"freebuff"===a[0].toLowerCase()?(o="freebuff",p=a.slice(1).join("/")):a.length>=2&&"session"!==a[0].toLowerCase()?(o=a[0].toLowerCase(),p=a.slice(1).join("/")):"session"===n.toLowerCase()?(o="freebuff",p="unknown"):p=n}return{timestamp:m.toISOString(),provider:o,modelId:p}}(c,(0,e.statSync)(a).mtime.toISOString()),t=(d=Date.now(),g=(a,b)=>a.toString(16).padStart(b,"0"),h=()=>Math.floor(65536*Math.random()),i=Math.floor(d/0x100000000),j=d%0x100000000,k=g(i,8),l=g(j>>16&65535,4),m=g(28672|4095&j,4),n=g(32768|16383&h(),4),o=g(h(),4)+g(h(),4)+g(h(),4),`${k}-${l}-${m}-${n}-${o}`),u=[];u.push({type:"session",version:3,id:t,timestamp:q,cwd:b,importedFrom:"reasonix"});let v=f();u.push({type:"model_change",id:v,parentId:null,timestamp:q,provider:r,modelId:s});let w=v,x="unknown"!==r&&"unknown"!==s;for(let a of p){let b=function(a,b,c,d){let e;if(!a||""===a.trim())return{entry:null,reason:"empty"};try{e=JSON.parse(a)}catch{return{entry:null,reason:"parse-error"}}let g=e.role;if("system"===g)return{entry:null,reason:"system"};let h=f();if("user"===g){let a=("string"==typeof e.content?e.content:JSON.stringify(e.content))??"";return{entry:{type:"message",id:h,parentId:b,timestamp:e.createdAt?new Date(e.createdAt).toISOString():c,message:{role:"user",content:[{type:"text",text:a}]}}}}if("assistant"===g){let a=[];if(e.reasoning_content&&a.push({type:"thinking",thinking:e.reasoning_content}),e.tool_calls&&Array.isArray(e.tool_calls))for(let b of e.tool_calls){let c={};if(b.arguments)try{c="string"==typeof b.arguments?JSON.parse(b.arguments):b.arguments}catch{c={raw:b.arguments}}a.push({type:"toolCall",id:b.id||`reasonix_${f()}`,name:b.name,arguments:c})}return(e.content&&"string"==typeof e.content&&e.content.trim()&&!e.tool_calls&&a.push({type:"text",text:e.content}),0===a.length)?{entry:null,reason:"empty-assistant"}:{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"assistant",content:a,...d?{provider:d.provider,model:d.modelId}:{}}}}}if("tool"===g){let a=("string"==typeof e.content?e.content:JSON.stringify(e.content))??"";return{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"toolResult",toolCallId:e.tool_call_id||"unknown",toolName:e.name||"unknown",content:[{type:"text",text:a}],isError:!1}}}}return e.content?{entry:{type:"message",id:h,parentId:b,timestamp:c,message:{role:"user",content:[{type:"text",text:("string"==typeof e.content?e.content:JSON.stringify(e.content))??""}]}}}:{entry:null,reason:`unknown-role:${g}`}}(a,w,q,x?{provider:r,modelId:s}:null);b&&b.entry&&(u.push(b.entry),w=b.entry.id)}let y=u.filter(a=>"message"===a.type).length;return{entries:u,sessionId:t,messageCount:y}}function h(a){return a.map(a=>JSON.stringify(a)).join("\n")+"\n"}},49228:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{I6:()=>o,Ol:()=>l,Ts:()=>q,mO:()=>p});var e=c(21820),f=c(33873),g=c(29021),h=c(75430),i=a([h]);function j(){let a=[],b=process.env.APPDATA;return b&&b.length>0&&a.push((0,f.join)(b,"reasonix")),a.push((0,f.join)((0,e.homedir)(),".reasonix")),a.filter((b,c)=>a.indexOf(b)===c)}h=(i.then?(await i)():i)[0];let r=[".events.jsonl",".conflicts.jsonl",".telemetry.json",".recovery.json",".goal-state.json",".event-index.json",".recovery.jsonl",".ckpt",".meta",".lock",".lease.json",".lease.lock",".jobs"];function k(a){if(!a.endsWith(".jsonl"))return!1;for(let b of r)if(a.endsWith(b))return!1;return!0}function l(a){let b=a.replace(/^-/,"").replace(/^[/\\]/,"").replace(/[/\\:]/g,"-");return`--${b}--`}let s=(0,f.join)((0,h.getAgentDir)(),"sessions");function m(a){return(0,g.existsSync)((0,f.join)(s,a))}function n(a){try{return(0,g.readdirSync)((0,f.join)(s,a)).filter(a=>a.endsWith(".jsonl")).length}catch{return 0}}function o(){let a=(0,g.existsSync)(function(){for(let a of j()){let b=(0,f.join)(a,"projects");if((0,g.existsSync)(b))return b}return(0,f.join)(j()[0],"projects")}())||(0,g.existsSync)(function(){for(let a of j()){let b=(0,f.join)(a,"sessions");if((0,g.existsSync)(b))return b}return(0,f.join)(j()[0],"sessions")}());return[{key:"reasonix",label:"Reasonix",available:a,status:a?"available":"unavailable"},{key:"codex",label:"Codex",available:!1,status:"coming-soon"},{key:"opencode",label:"OpenCode",available:!1,status:"coming-soon"},{key:"claude",label:"Claude Code",available:!1,status:"coming-soon"}]}function p(a){if(!a||a.split(/[\\/]/).some(a=>""===a||"."===a||".."===a))return null;for(let b of j()){let c=(0,f.join)(b,"projects",a,"sessions");if((0,g.existsSync)(c))try{let a=(0,g.readdirSync)(c).filter(k);return{sessionsDir:c,files:a,flat:!1}}catch{return null}}for(let b of j()){let c=(0,f.join)(b,"sessions");if((0,g.existsSync)(c))try{let b=`${a}-`,d=(0,g.readdirSync)(c).filter(a=>k(a)&&a.startsWith(b));if(d.length>0)return{sessionsDir:c,files:d,flat:!0}}catch{break}}return null}function q(){let a=j(),b=a.map(a=>(0,f.join)(a,"projects")).filter(a=>(0,g.existsSync)(a)),c=a.map(a=>(0,f.join)(a,"sessions")).filter(a=>(0,g.existsSync)(a));if(0===b.length&&0===c.length)return{available:!1,projects:[],totalSessions:0};let d=[],e=0,h=new Set;for(let a of b){let b;try{b=(0,g.readdirSync)(a,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>a.name)}catch{b=[]}for(let a of b){if(h.has(a))continue;let b=p(a);if(!b||0===b.files.length)continue;h.add(a);let c=l(a),f=m(c);d.push({name:a,sessions:b.files.length,piCwdDir:c,matched:f,existingCount:f?n(c):0}),e+=b.files.length}}for(let a of c){let b;try{b=(0,g.readdirSync)(a).filter(k)}catch{b=[]}let c=new Map;for(let a of b){let b=a.split("-")[0];b&&c.set(b,(c.get(b)??0)+1)}for(let[a,b]of c){if(h.has(a))continue;let c=l(a),f=m(c);d.push({name:a,sessions:b,piCwdDir:c,matched:f,existingCount:f?n(c):0}),e+=b}}return{available:!0,projects:d,totalSessions:e}}d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b,c){let d,e;try{d=new URL(a),e=new URL(b)}catch{return!1}if(d.protocol!==e.protocol||d.hostname.toLowerCase()!==e.hostname.toLowerCase())return!1;if(!d.port)return"same-origin"===c;let f=e.port||("https:"===e.protocol?"443":"80");return d.port===f}(e,f,a.headers.get("sec-fetch-site"))))return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a)}function l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5725,exports.ids=[5725],exports.modules={19038:(a,b,c)=>{c.d(b,{CU:()=>l,S7:()=>u});var d=c(79646),e=c(79748),f=c(21820),g=c(33873),h=c(28354);let i=process.env.SKILLS_API_URL||"https://skills.sh",j=(0,h.promisify)(d.execFile);class k extends Error{constructor(a){super(`HTTP ${a}`),this.status=a}}function l(a){let b=n(a.skillPath??""),c=b?`${a.source}/${b}`:a.source,d=a.ref?`#${encodeURIComponent(a.ref)}`:"",e=["skills","add",`${c}${d}`,"--skill",m(a.package),"-y","--agent","pi"];return"global"===a.scope&&e.push("-g"),e}function m(a){let b=a.lastIndexOf("@");return b>=0?a.slice(b+1):a}function n(a){let b=a.replace(/\\/g,"/");return b.toLowerCase().endsWith("/skill.md")?b=b.slice(0,-9):b.toLowerCase().endsWith("skill.md")&&(b=b.slice(0,-8)),b.replace(/\/$/,"")}function o(a,b,c,d){return{package:a.package,scope:a.scope,state:b,currentVersion:a.versionHash,latestVersion:c,message:d}}async function p(a,b,c){let d=await b(a,{cache:"no-store",headers:c,signal:AbortSignal.timeout(15e3)});if(!d.ok)throw new k(d.status);return d.json()}async function q(a){let b=`https://github.com/${a.source}.git`,c=a.ref||"HEAD",d=n(a.skillPath),h=await (0,e.mkdtemp)((0,g.join)((0,f.tmpdir)(),"pi-web-skill-check-"));try{await j("git",["init","--bare",h],{timeout:3e4}),await j("git",[`--git-dir=${h}`,"fetch","--depth=1","--filter=blob:none","--no-tags",b,c],{timeout:3e4});let a=d?`FETCH_HEAD:${d}`:"FETCH_HEAD^{tree}",{stdout:e}=await j("git",[`--git-dir=${h}`,"rev-parse",a],{timeout:3e4}),f=e.trim();if(!/^[0-9a-f]{40}$/i.test(f))throw Error("Invalid Git tree hash");return f}finally{await (0,e.rm)(h,{recursive:!0,force:!0})}}async function r(a,b){let c,d=a.ref||"HEAD",e=`https://api.github.com/repos/${a.source}/git/trees/${encodeURIComponent(d)}?recursive=1`,f={Accept:"application/vnd.github.v3+json","User-Agent":"pi-web"};b.githubToken&&(f.Authorization=`Bearer ${b.githubToken}`);let g=n(a.skillPath);try{let a=await p(e,b.fetcher,f);if(c="string"!=typeof a.sha||g?void 0:a.sha,g&&Array.isArray(a.tree)){let b=a.tree.find(a=>"tree"===a.type&&a.path===g);b&&"string"==typeof b.sha&&(c=b.sha)}}catch(d){if(!(d instanceof k)||![401,403,429].includes(d.status))throw d;c=await b.resolveGitTreeHash(a)}return c?o(a,c===a.versionHash?"up-to-date":"update-available",c):o(a,"error",void 0,"Remote skill path was not found.")}async function s(a,b){let[c,d]=a.source.split("/"),e=m(a.package).toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""),f=`${b.skillsApiBase}/api/download/${encodeURIComponent(c)}/${encodeURIComponent(d)}/${encodeURIComponent(e)}`,g=await p(f,b.fetcher),h="string"==typeof g.hash?g.hash:void 0;return h?o(a,h===a.versionHash?"up-to-date":"update-available",h):o(a,"error",void 0,"skills.sh did not return a version hash.")}async function t(a,b={}){if(!a.canCheckForUpdates||!a.versionHash||!a.skillPath)return o(a,"unsupported",void 0,"This lock entry cannot be checked automatically.");let c={...b,fetcher:b.fetcher??fetch,skillsApiBase:b.skillsApiBase??i,resolveGitTreeHash:b.resolveGitTreeHash??q};try{return"global"===a.scope?await r(a,c):await s(a,c)}catch(b){return o(a,"error",void 0,b instanceof Error?b.message:String(b))}}async function u(a,b={}){let c=b.fetcher??fetch,d=new Map,e=async(a,b)=>{let e=d.get(a);return e||(e=c(a,b),d.set(a,e)),(await e).clone()};return Promise.all(a.map(a=>t(a,{...b,fetcher:e})))}},21278:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{y:()=>i});var e=c(75430),f=c(75805),g=c(72498),h=a([e,g]);async function i(a){let b=(0,e.getAgentDir)(),c=new e.DefaultResourceLoader({cwd:a,agentDir:b});await c.reload((0,g.Fk)(a,b));let{skills:d,diagnostics:h}=c.getSkills();return{skills:(0,f._)(d,{cwd:a,agentDir:b}),diagnostics:h,projectResourcesLoaded:(0,g.Y1)(a,b).trusted}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b){let
|
|
1
|
+
"use strict";exports.id=5725,exports.ids=[5725],exports.modules={19038:(a,b,c)=>{c.d(b,{CU:()=>l,S7:()=>u});var d=c(79646),e=c(79748),f=c(21820),g=c(33873),h=c(28354);let i=process.env.SKILLS_API_URL||"https://skills.sh",j=(0,h.promisify)(d.execFile);class k extends Error{constructor(a){super(`HTTP ${a}`),this.status=a}}function l(a){let b=n(a.skillPath??""),c=b?`${a.source}/${b}`:a.source,d=a.ref?`#${encodeURIComponent(a.ref)}`:"",e=["skills","add",`${c}${d}`,"--skill",m(a.package),"-y","--agent","pi"];return"global"===a.scope&&e.push("-g"),e}function m(a){let b=a.lastIndexOf("@");return b>=0?a.slice(b+1):a}function n(a){let b=a.replace(/\\/g,"/");return b.toLowerCase().endsWith("/skill.md")?b=b.slice(0,-9):b.toLowerCase().endsWith("skill.md")&&(b=b.slice(0,-8)),b.replace(/\/$/,"")}function o(a,b,c,d){return{package:a.package,scope:a.scope,state:b,currentVersion:a.versionHash,latestVersion:c,message:d}}async function p(a,b,c){let d=await b(a,{cache:"no-store",headers:c,signal:AbortSignal.timeout(15e3)});if(!d.ok)throw new k(d.status);return d.json()}async function q(a){let b=`https://github.com/${a.source}.git`,c=a.ref||"HEAD",d=n(a.skillPath),h=await (0,e.mkdtemp)((0,g.join)((0,f.tmpdir)(),"pi-web-skill-check-"));try{await j("git",["init","--bare",h],{timeout:3e4}),await j("git",[`--git-dir=${h}`,"fetch","--depth=1","--filter=blob:none","--no-tags",b,c],{timeout:3e4});let a=d?`FETCH_HEAD:${d}`:"FETCH_HEAD^{tree}",{stdout:e}=await j("git",[`--git-dir=${h}`,"rev-parse",a],{timeout:3e4}),f=e.trim();if(!/^[0-9a-f]{40}$/i.test(f))throw Error("Invalid Git tree hash");return f}finally{await (0,e.rm)(h,{recursive:!0,force:!0})}}async function r(a,b){let c,d=a.ref||"HEAD",e=`https://api.github.com/repos/${a.source}/git/trees/${encodeURIComponent(d)}?recursive=1`,f={Accept:"application/vnd.github.v3+json","User-Agent":"pi-web"};b.githubToken&&(f.Authorization=`Bearer ${b.githubToken}`);let g=n(a.skillPath);try{let a=await p(e,b.fetcher,f);if(c="string"!=typeof a.sha||g?void 0:a.sha,g&&Array.isArray(a.tree)){let b=a.tree.find(a=>"tree"===a.type&&a.path===g);b&&"string"==typeof b.sha&&(c=b.sha)}}catch(d){if(!(d instanceof k)||![401,403,429].includes(d.status))throw d;c=await b.resolveGitTreeHash(a)}return c?o(a,c===a.versionHash?"up-to-date":"update-available",c):o(a,"error",void 0,"Remote skill path was not found.")}async function s(a,b){let[c,d]=a.source.split("/"),e=m(a.package).toLowerCase().replace(/[\s_]+/g,"-").replace(/[^a-z0-9-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,""),f=`${b.skillsApiBase}/api/download/${encodeURIComponent(c)}/${encodeURIComponent(d)}/${encodeURIComponent(e)}`,g=await p(f,b.fetcher),h="string"==typeof g.hash?g.hash:void 0;return h?o(a,h===a.versionHash?"up-to-date":"update-available",h):o(a,"error",void 0,"skills.sh did not return a version hash.")}async function t(a,b={}){if(!a.canCheckForUpdates||!a.versionHash||!a.skillPath)return o(a,"unsupported",void 0,"This lock entry cannot be checked automatically.");let c={...b,fetcher:b.fetcher??fetch,skillsApiBase:b.skillsApiBase??i,resolveGitTreeHash:b.resolveGitTreeHash??q};try{return"global"===a.scope?await r(a,c):await s(a,c)}catch(b){return o(a,"error",void 0,b instanceof Error?b.message:String(b))}}async function u(a,b={}){let c=b.fetcher??fetch,d=new Map,e=async(a,b)=>{let e=d.get(a);return e||(e=c(a,b),d.set(a,e)),(await e).clone()};return Promise.all(a.map(a=>t(a,{...b,fetcher:e})))}},21278:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{y:()=>i});var e=c(75430),f=c(75805),g=c(72498),h=a([e,g]);async function i(a){let b=(0,e.getAgentDir)(),c=new e.DefaultResourceLoader({cwd:a,agentDir:b});await c.reload((0,g.Fk)(a,b));let{skills:d,diagnostics:h}=c.getSkills();return{skills:(0,f._)(d,{cwd:a,agentDir:b}),diagnostics:h,projectResourcesLoaded:(0,g.Y1)(a,b).trusted}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},66544:(a,b,c)=>{c.d(b,{E2:()=>l,EN:()=>k});var d=c(77030);function e(a){return(a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a).toLowerCase().replace(/\.$/,"")}function f(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;return e(b.hostname)}catch{return null}}function g(a){if(!a||/[\s/@\\]/.test(a))return null;try{let b=new URL(`http://${a}`);if(b.username||b.password||"/"!==b.pathname||b.search||b.hash)return null;let c=e(b.hostname);return b.port?`${c}:${b.port}`:c}catch{return null}}function h(){return[process.env.PI_WEB_HOSTNAME,...process.env.PI_WEB_ALLOWED_HOSTS?.split(",")??[]].filter(a=>!!a?.trim())}function i(a){try{return new URL(a).origin}catch{return null}}let j=new Set(["POST","PUT","PATCH","DELETE"]);function k(a,b=h()){if(!function(a,b=h()){let c=a.headers.get("host"),g=c?f(c):null;return!!g&&(!!("localhost"===g||g.endsWith(".localhost")||(0,d.isIP)(g))||b.some(a=>{let b;return((b=a?.trim())?(0,d.isIP)(b)?e(b):f(b):null)===g}))}(a,b))return!1;if(function(a){if("GET"!==a.method||"navigate"!==a.headers.get("sec-fetch-mode")||"document"!==a.headers.get("sec-fetch-dest")||"?1"!==a.headers.get("sec-fetch-user"))return!1;try{return/^\/api\/sessions\/[^/]+\/export$/.test(new URL(a.url).pathname)}catch{return!1}}(a))return!0;if(!(a.headers.has("origin")||a.headers.has("sec-fetch-site"))){if(j.has((a.method??"GET").toUpperCase())){let b=a.headers.get("host"),c=b?f(b):null;return null!==c&&!!("localhost"===c||c.endsWith(".localhost")||/^127\./.test(c)||"::1"===c||"[::1]"===c)}return!0}return function(a){let b,c,d;if("cross-site"===a.headers.get("sec-fetch-site"))return!1;let e=a.headers.get("origin");if(!e)return!0;let f=(b=new URL(a.url),(c=a.headers.get("host"))?i(`${b.protocol}//${c}`):null);if(null!==f&&(i(e)===f||function(a,b,c){let d,e;try{d=new URL(a),e=new URL(b)}catch{return!1}if(d.protocol!==e.protocol||d.hostname.toLowerCase()!==e.hostname.toLowerCase())return!1;if(!d.port)return"same-origin"===c;let f=e.port||("https:"===e.protocol?"443":"80");return d.port===f}(e,f,a.headers.get("sec-fetch-site"))))return!0;if("same-origin"!==a.headers.get("sec-fetch-site")||!a.headers.get("x-forwarded-proto"))return!1;let h=a.headers.get("host");if(!h)return!1;try{d=new URL(e).host}catch{return!1}let j=g(d);return null!==j&&j===g(h)}(a)}function l(a){let b=a.headers.get("content-type")?.split(";",1)[0]?.trim().toLowerCase();return"application/json"===b||!!(b?.startsWith("application/")&&b.endsWith("+json"))}},72498:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Fk:()=>i,Y1:()=>g,er:()=>h});var e=c(75430),f=a([e]);function g(a,b){return a&&(0,e.hasTrustRequiringProjectResources)(a)?{requiresTrust:!0,trusted:!0===new e.ProjectTrustStore(b).get(a)}:{requiresTrust:!1,trusted:!0}}function h(a,b){let c=g(a,b);return c.requiresTrust?(new e.ProjectTrustStore(b).set(a,!0),{requiresTrust:!0,trusted:!0}):c}function i(a,b){if(!g(a,b).requiresTrust)return;let c=new e.ProjectTrustStore(b);return{resolveProjectTrust:async()=>!0===c.get(a)}}e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},75805:(a,b,c)=>{c.d(b,{_:()=>j});var d=c(29021),e=c(21820),f=c(33873);function g(a){try{let b=JSON.parse((0,d.readFileSync)(a,"utf8"));return b.skills&&"object"==typeof b.skills?b.skills:{}}catch{return{}}}function h(a,b){let c=(0,f.relative)((0,f.resolve)(b),(0,f.resolve)(a));return""!==c&&".."!==c&&!c.startsWith(`..${f.sep}`)&&!(0,f.isAbsolute)(c)}function i(a,b,c){var d;let e=function(a,b){if(a[b])return a[b];let c=b.toLowerCase(),d=Object.keys(a).find(a=>a.toLowerCase()===c);return d?a[d]:void 0}(a,b);if(!e||"string"!=typeof e.source||!e.source.trim())return;let f="string"==typeof e.sourceType?e.sourceType:void 0,g=(d=e.source.trim(),"github"!==f?d.replace(/\/$/,""):d.replace(/^git\+/,"").replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/\.git$/,"").replace(/\/$/,""));if(!g)return;let h="string"==typeof e.skillPath?e.skillPath:void 0,i="string"==typeof e.ref?e.ref:void 0,j="global"===c?e.skillFolderHash:e.computedHash,k="string"==typeof j&&j?j:void 0,l="github"===f&&/^[\w.-]+\/[\w.-]+$/.test(g);return{package:`${g}@${b}`,scope:c,source:g,sourceType:f,skillsShUrl:"local"===f?void 0:function(a,b){if(!a||a.includes("://")||a.startsWith("git@"))return;let c=a.split("/").filter(Boolean).map(encodeURIComponent).join("/");if(c)return`https://skills.sh/${c}/${encodeURIComponent(b)}`}(g,b),...h&&{skillPath:h},...i&&{ref:i},...k&&{versionHash:k},canCheckForUpdates:!!(l&&h&&k&&("global"===c||!i))}}function j(a,{cwd:b,agentDir:c,globalLockPath:k=function({homeDir:a=(0,e.homedir)(),xdgStateHome:b=process.env.XDG_STATE_HOME}={}){return b?(0,f.join)(b,"skills",".skill-lock.json"):(0,f.join)(a,".agents",".skill-lock.json")}(),projectLockPath:l=(0,f.join)(b,"skills-lock.json")}){let m=g(k),n=g(l),o=(0,f.join)(c,"skills"),p=(0,f.join)(b,".pi","skills");return a.map(a=>{if(!(0,d.existsSync)(a.filePath))return a;let b=h(a.filePath,o)?i(m,a.name,"global"):h(a.filePath,p)?i(n,a.name,"project"):void 0;return b?{...a,install:b}:a})}},80547:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A$:()=>o,B7:()=>p,mc:()=>n,uK:()=>l.uK,wz:()=>i.wz});var e=c(29021),f=c(21820),g=c(33873),h=c.n(g),i=c(25252),j=c(82536),k=c(40402),l=c(58864),m=a([k]);async function n(){let a=Date.now(),b=globalThis.__piAllowedRootsCache;if(b&&b.expiresAt>a)return b.roots;let c=await (0,k.dQ)(),d=new Set;for(let a of c)a.cwd&&d.add((0,i.Nw)(a.cwd)),a.projectRoot&&d.add((0,i.Nw)(a.projectRoot));try{for(let a of(0,e.readdirSync)((0,f.homedir)()))/^pi-cwd-\d{8}$/.test(a)&&d.add((0,i.Nw)(h().join((0,f.homedir)(),a)))}catch{}for(let a of(0,i.HM)())d.add(a);return globalThis.__piAllowedRootsCache={roots:d,expiresAt:a+5e3},d}function o(a,b){return(0,j.o)(a,b)}function p(a,b){return(0,j.x)(a,b)}k=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})}};
|