@fxri/toolkit 1.14.4 → 1.14.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/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var la=Object.create;var Qn=Object.defineProperty;var ca=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var ua=Object.getPrototypeOf,fa=Object.prototype.hasOwnProperty;var da=(e,t)=>{for(var n in t)Qn(e,n,{get:t[n],enumerable:!0})},_s=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of aa(t))!fa.call(e,o)&&o!==n&&Qn(e,o,{get:()=>t[o],enumerable:!(r=ca(t,o))||r.enumerable});return e};var so=(e,t,n)=>(n=e!=null?la(ua(e)):{},_s(t||!e||!e.__esModule?Qn(n,"default",{value:e,enumerable:!0}):n,e)),ga=e=>_s(Qn({},"__esModule",{value:!0}),e);var Zg={};da(Zg,{cliReady:()=>Xg});module.exports=ga(Zg);var pa=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,O=pa();var ro=require("commander"),Qc=require("module"),ea=require("child_process"),ht=require("fs"),Zn=require("path");var Ha=require("fs"),ai=require("path");var Ds=require("fs");function He(e){return e.replace(/^\uFEFF/,"")}function E(e){return He((0,Ds.readFileSync)(e,"utf8"))}var er=/^---\r?\n([\s\S]*?)\r?\n---/;function tr(e){let t=He(e).match(er);if(!t)return{};let n={};for(let r of(t[1]??"").split(/\r?\n/)){let o=r.indexOf(":");if(o===-1)continue;let s=r.slice(0,o).trim(),i=r.slice(o+1).trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),s&&(n[s]=i)}return n}function gn(e){return tr(e)}function pn(e){let t=He(e),n=t.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return n?t.slice(n[0].length):t}function io(e){return e.split(/\r?\n/).find(t=>t.startsWith("# ")&&!t.startsWith("#!"))?.replace(/^#\s*/,"")??""}function Fs(e){let t=e.split(/\r?\n/),n=t.findIndex(r=>/^# /.test(r));return n===-1?e:(t.splice(n,1),t.join(`
2
+ "use strict";var la=Object.create;var Qn=Object.defineProperty;var ca=Object.getOwnPropertyDescriptor;var aa=Object.getOwnPropertyNames;var ua=Object.getPrototypeOf,fa=Object.prototype.hasOwnProperty;var da=(e,t)=>{for(var n in t)Qn(e,n,{get:t[n],enumerable:!0})},_s=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of aa(t))!fa.call(e,o)&&o!==n&&Qn(e,o,{get:()=>t[o],enumerable:!(r=ca(t,o))||r.enumerable});return e};var so=(e,t,n)=>(n=e!=null?la(ua(e)):{},_s(t||!e||!e.__esModule?Qn(n,"default",{value:e,enumerable:!0}):n,e)),ga=e=>_s(Qn({},"__esModule",{value:!0}),e);var Qg={};da(Qg,{cliReady:()=>Zg});module.exports=ga(Qg);var pa=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,O=pa();var ro=require("commander"),Qc=require("module"),ea=require("child_process"),ht=require("fs"),Zn=require("path");var Ha=require("fs"),ai=require("path");var Ds=require("fs");function He(e){return e.replace(/^\uFEFF/,"")}function E(e){return He((0,Ds.readFileSync)(e,"utf8"))}var er=/^---\r?\n([\s\S]*?)\r?\n---/;function tr(e){let t=He(e).match(er);if(!t)return{};let n={};for(let r of(t[1]??"").split(/\r?\n/)){let o=r.indexOf(":");if(o===-1)continue;let s=r.slice(0,o).trim(),i=r.slice(o+1).trim();(i.startsWith("'")&&i.endsWith("'")||i.startsWith('"')&&i.endsWith('"'))&&(i=i.slice(1,-1)),s&&(n[s]=i)}return n}function gn(e){return tr(e)}function pn(e){let t=He(e),n=t.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/);return n?t.slice(n[0].length):t}function io(e){return e.split(/\r?\n/).find(t=>t.startsWith("# ")&&!t.startsWith("#!"))?.replace(/^#\s*/,"")??""}function Fs(e){let t=e.split(/\r?\n/),n=t.findIndex(r=>/^# /.test(r));return n===-1?e:(t.splice(n,1),t.join(`
3
3
  `))}var kt=require("fs"),St=require("path");function fe(e,t){if(!(0,kt.existsSync)(e))return[];let n=[],r=o=>!t||!/^\d{6}$/.test(o)?!0:!(t.since&&o<t.since||t.until&&o>t.until);for(let o of(0,kt.readdirSync)(e)){let s=(0,St.join)(e,o);if((0,kt.statSync)(s).isDirectory()){if(!r(o))continue;for(let i of(0,kt.readdirSync)(s))i.endsWith(".md")&&n.push((0,St.join)(s,i))}else o.endsWith(".md")&&n.push(s)}return n}function mn(e){return(0,St.basename)(e,(0,St.extname)(e)).match(/^(\d{8})/)?.[1]??""}var or=require("fs"),je=require("path"),go=require("os");var Ns=require("child_process"),Ms=require("fs"),Le=require("path");function nr(e,t,n){try{let r=(0,Ns.spawnSync)("git",e,{cwd:t,...n===void 0?{}:{input:n},encoding:"utf8"});return{status:r.status??-1,stdout:r.stdout??"",stderr:r.stderr??""}}catch(r){return{status:-1,stdout:"",stderr:r instanceof Error?r.message:String(r)}}}function Wt(e){if(!(0,Le.isAbsolute)(e))return e;let t=e,n=[];for(;;)try{let r=Ms.realpathSync.native(t);return n.length===0?r:(0,Le.join)(r,...n.reverse())}catch{let r=(0,Le.dirname)(t);if(r===t)return e;n.push((0,Le.basename)(t)),t=r}}function lo(e){let t=nr(["check-ignore","--quiet","--",Jt(e)],(0,Le.dirname)(e));return t.status===0?{state:"ignored"}:t.status===1?{state:"not-ignored"}:/not a git repository/i.test(t.stderr)?{state:"not-a-repo"}:/outside repository/i.test(t.stderr)?{state:"outside-repo"}:{state:"unavailable",detail:t.stderr.trim()||`git check-ignore \u9000\u51FA\u7801 ${t.status}`}}function zt(e,t){let n=new Set;if(t.length===0)return n;let r=nr(["check-ignore","--stdin","-z"],e,t.map(o=>`${o}\0`).join(""));if(r.status!==0&&r.status!==1)return n;for(let o of r.stdout.split("\0"))o&&n.add(o);return n}function rr(e,t){let n=hn(t);if(n.kind==="not-a-repo")return{state:"not-a-repo"};if(n.kind==="unavailable")return{state:"unavailable",detail:n.detail};if(!ma(e,n.root))return{state:"outside-repo"};let r=ha(e);if(r===void 0)return{state:"unavailable",detail:"git ls-files \u6267\u884C\u5931\u8D25"};if(r)return{state:"tracked"};let o=lo(e);return o.state==="unavailable"?{state:"unavailable",detail:o.detail}:{state:o.state}}function ma(e,t){let n=we(Wt(e)),r=we(Wt(t));return n===r||n.startsWith(`${r}/`)}function ha(e){let t=nr(["ls-files","--error-unmatch","--",(0,Le.basename)(e)],(0,Le.dirname)(e));if(t.status===0)return!0;if(t.status===1)return!1}function we(e){return Jt(e).replace(/\/+$/,"").toLowerCase()}function hn(e){let t=nr(["rev-parse","--show-toplevel"],e);if(t.status===0){let n=t.stdout.trim();return n?{kind:"repo",root:n}:{kind:"unavailable",detail:"git rev-parse \u672A\u8FD4\u56DE\u4ED3\u5E93\u6839\u8DEF\u5F84"}}return/not a git repository/i.test(t.stderr)?{kind:"not-a-repo"}:{kind:"unavailable",detail:t.stderr.trim()||`git rev-parse \u9000\u51FA\u7801 ${t.status}`}}function Jt(e){return e.replace(/\\/g,"/")}var ka=".toolkitrc.json",Sn=".toolkitrc.local.json",Ps=[{key:"tasks.dir",type:"string"},{key:"redact.enabled",type:"boolean"},{key:"updateCheck.enabled",type:"boolean"},{key:"check.warnings",type:"boolean"}],uo=new Set,po=Ps.map(e=>e.key),Hs=[{env:"FX_REDACT",key:"redact.enabled"},{env:"FX_NO_UPDATE_CHECK",key:"updateCheck.enabled"},{env:"FX_CHECK_WARN",key:"check.warnings"}],Bs=[{env:"CI",key:"skills.autoLink"}],kn,Sa;function Us(){return kn||(kn=mo((0,je.resolve)(process.cwd())),Ks(kn.fallbacks)),kn}function mo(e){let t=[],n=ao("\u5168\u5C40\u5C42",(0,je.join)(J(),".toolkitrc.json"),t),r=ao("\u9879\u76EE\u5C42",fo(ka,e,{stopAtHome:!0}),t),o=ao("\u672C\u5730\u5C42",fo(Sn,e,{stopAtHome:!0}),t),s=ba(n.config,r.config),i=ya(s,o.config);return{global:n,project:r,local:o,merged:i,fallbacks:t}}function ho(e){return e===null?"null":Array.isArray(e)?"\u6570\u7EC4":typeof e}function fo(e,t,n){let r=n.stopAtHome?new Set([we(Wt(J())),we(Wt((0,go.homedir)()))]):null,o=(0,je.resolve)(t);for(;;){if(r?.has(we(Wt(o))))return null;let s=(0,je.join)(o,e);if((0,or.existsSync)(s))return s;let i=(0,je.dirname)(o);if(i===o)return null;o=i}}function de(e){let t=Us().merged?.[e];return st(t)?t:void 0}function J(){return Sa??(0,go.homedir)()}function co(e,t,n){let r=e?.[t];return st(r)&&ko(r[n])}function qt(e){return mo((0,je.resolve)(e??process.cwd()))}function st(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ko(e){return e!=null}function Gs(e){if(e===void 0)return Us().merged;let t=mo((0,je.resolve)(e));return Ks(t.fallbacks),t.merged}function ya(e,t){if(!t)return e;let n=e?{...e}:{};for(let[r,o]of Object.entries(t)){if(!st(o))continue;let i={...st(n[r])?n[r]:{}};for(let[l,c]of Object.entries(o))ko(c)&&(i[l]=c);n[r]=i}return Object.keys(n).length>0?n:null}function ba(e,t){if(!e)return t;if(!t)return e;let n={...e};for(let[r,o]of Object.entries(t))n[r]=o;return n}function Ks(e){for(let t of e)Ra(t.file,t.key,t.detail)}function va(e,t){if(!(0,or.existsSync)(e))return null;let n;try{n=E(e)}catch(o){return t.push({file:e,key:"",detail:`\u6587\u4EF6\u8BFB\u53D6\u5931\u8D25\uFF1A${o instanceof Error?o.message:String(o)}`}),null}let r;try{r=JSON.parse(n)}catch{return t.push({file:e,key:"",detail:"JSON \u89E3\u6790\u5931\u8D25"}),null}return st(r)?r:(t.push({file:e,key:"",detail:`\u9876\u5C42\u987B\u4E3A\u5BF9\u8C61\uFF08\u5B9E\u9645\uFF1A${ho(r)}\uFF09`}),null)}function ao(e,t,n){if(!t||!(0,or.existsSync)(t))return{layer:e,file:null,hit:!1,sections:[],config:null};let r=va(t,n);return r?(xa(t,r,n),$a(t,r,n),{layer:e,file:t,hit:!0,sections:Object.keys(r),config:r}):{layer:e,file:t,hit:!1,sections:[],config:null}}function Ys(){kn=void 0,uo.clear()}function Vs(e,t){let n=t.indexOf("."),r=t.slice(0,n),o=t.slice(n+1);return co(e.local.config,r,o)?"\u672C\u5730\u5C42":st(e.project.config?.[r])?co(e.project.config,r,o)?"\u9879\u76EE\u5C42":null:co(e.global.config,r,o)?"\u5168\u5C40\u5C42":null}function Ws(e=process.cwd()){return fo(Sn,(0,je.resolve)(e),{stopAtHome:!0})}function Xt(e){if(e)return e;let t=de("tasks")?.dir;return typeof t=="string"?t:".tasks"}function $a(e,t,n){for(let{key:r,type:o}of Ps){let s=r.indexOf("."),i=r.slice(0,s),l=r.slice(s+1),c=t[i];if(!st(c))continue;let a=c[l];if(!ko(a)||typeof a===o&&!(o==="string"&&a===""))continue;let f=o==="string"?"\u987B\u4E3A\u975E\u7A7A\u5B57\u7B26\u4E32":"\u987B\u4E3A\u5E03\u5C14\u503C",p=a===""?"\u7A7A\u5B57\u7B26\u4E32":ho(a);n.push({file:e,key:r,detail:`${f}\uFF08\u5B9E\u9645\uFF1A${p}\uFF09`}),delete c[l]}}function xa(e,t,n){for(let[r,o]of Object.entries(t))st(o)||(n.push({file:e,key:r,detail:`\u914D\u7F6E\u6BB5\u987B\u4E3A\u5BF9\u8C61\uFF08\u5B9E\u9645\uFF1A${ho(o)}\uFF09`}),delete t[r])}function Ra(e,t,n){let r=`${e}\0${t}`;if(uo.has(r))return;uo.add(r);let o=t===""?`\u26A0\uFE0F \u5FFD\u7565\u914D\u7F6E\u6587\u4EF6\u300C${e}\u300D`:`\u26A0\uFE0F \u5FFD\u7565\u914D\u7F6E\u9879\u300C${t}\u300D${e?`\uFF08${e}\uFF09`:""}`;console.warn(`${o}\uFF1A${n}\uFF0C\u5DF2\u6309\u672A\u914D\u7F6E\u5904\u7406`)}function wa(e,t){let n=e.trim().toLowerCase();return["1","true","on","yes"].includes(n)?!0:["0","false","off","no"].includes(n)?!1:t}function yn(e,t,n,r){if(e!==void 0)return e;let o=process.env[t];return o!==void 0&&o!==""?wa(o,r):n!==void 0?n:r}var Ea=[{name:"\u5185\u7F51URL",pattern:/(https?:\/\/)[a-zA-Z0-9.-]+(:\d{2,5})(?=\/|[\s]|$)/g,replacement:"$1***$2"},{name:"\u90AE\u7BB1",pattern:/([a-zA-Z0-9._%+-])[a-zA-Z0-9._%+-]*@(?:[a-zA-Z0-9-]+\.)+([a-zA-Z]{2,})/g,replacement:"$1***@***.$2"},{name:"JWT",pattern:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g,replacement:"eyJ***.***.***"},{name:"AWS\u5BC6\u94A5",pattern:/\b(AKIA|ASIA)[A-Z0-9]{16}\b/g,replacement:"$1****"},{name:"GitHub\u5BC6\u94A5",pattern:/\b(ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{36,}\b/g,replacement:"$1_****"},{name:"GitHub\u7EC6\u7C92\u5EA6\u5BC6\u94A5",pattern:/\bgithub_pat_[A-Za-z0-9_]{80,}\b/g,replacement:"github_pat_****"},{name:"OpenAI\u5BC6\u94A5",pattern:/\bsk-[A-Za-z0-9]{20,}\b/g,replacement:"sk-****"},{name:"OpenAI\u9879\u76EE\u5BC6\u94A5",pattern:/\bsk-proj-[A-Za-z0-9_-]{40,}\b/g,replacement:"sk-proj-****"},{name:"Slack\u5BC6\u94A5",pattern:/\b(xox[baprs])-[A-Za-z0-9-]{10,}\b/g,replacement:"$1-****"},{name:"Slack\u5E94\u7528\u4EE4\u724C",pattern:/\bxapp-\d+-[A-Za-z0-9-]{15,}\b/g,replacement:"xapp-****"},{name:"\u624B\u673A\u53F7",pattern:/(?<!\d)(1[3-9]\d)\d{4}(\d{4})(?!\d)/g,replacement:"$1****$2"},{name:"\u8EAB\u4EFD\u8BC1",pattern:/(?<!\d)(\d{6})\d{8}(\d{3}[\dXx])(?!\d)/g,replacement:"$1********$2"},{name:"IPv4",pattern:/(?<![\d.])(\d{1,3}\.\d{1,3})\.\d{1,3}\.\d{1,3}(?![\d.])/g,replacement:"$1.***.***"}];function zs(){let e=de("redact");return e?{enabled:typeof e.enabled=="boolean"?e.enabled:void 0,disable:Array.isArray(e.disable)?e.disable.filter(t=>typeof t=="string"):void 0,rules:Array.isArray(e.rules)?e.rules:void 0}:null}function Ta(){let e=zs(),t=new Set(e?.disable??[]),n=[];for(let r of e?.rules??[])try{n.push({name:r.name,pattern:new RegExp(r.pattern,r.flags??""),replacement:r.replacement})}catch{}return[...n,...Ea.filter(r=>!t.has(r.name))]}function te(e,t){if(!t||!e)return e;let n=e;for(let r of Ta())n=n.replace(r.pattern,r.replacement);return n}function So(e){return yn(e,"FX_REDACT",zs()?.enabled,!0)}var bo=require("fs"),vn=require("path");function yt(e){let t={};if(!e)return t;for(let n of e.replace(/^>\s*/,"").split(/[ ]+/).map(r=>r.trim()).filter(Boolean)){let r=n.search(/[::]/);if(r<=0)continue;let o=n.slice(0,r).trim(),s=n.slice(r+1).trim();!o||!s||(o.includes("\u8D1F\u8D23\u4EBA")?t.owner=s:o.includes("\u72B6\u6001")?t.status=s:o.includes("\u8303\u56F4")?t.scope=s:o.includes("\u5B8C\u6210\u65F6\u95F4")&&(t.completed=s))}return t}var Xs=/^(\d{4})-(\d{1,2})-(\d{1,2})[T\s](\d{1,2}):(\d{2})(?::\d{2})?$/,Zs=/^(\d{4})-(\d{1,2})-(\d{1,2})$/;function ge(e){let t=e.trim();return Xs.test(t)||Zs.test(t)}function ce(e){let t=e.trim(),n=t.match(Xs)??t.match(Zs);if(!n)return t;let r=s=>s?.padStart(2,"0")??"",o=`${n[1]??""}-${r(n[2])}-${r(n[3])}`;return n.length===4?`${o} 00:00`:`${o} ${r(n[4])}:${r(n[5])}`}function Qs(e){return e.match(/^\d{8}-(.+?)-/)?.[1]??""}function Ca(e,t){return`> \u8D1F\u8D23\u4EBA\uFF1A${Qs(e)||"\u672A\u6807\u6CE8"}\u3000\u72B6\u6001\uFF1A\u5DF2\u5B8C\u6210\u3000\u8303\u56F4\uFF1A-\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${ce(t)}`}function ei(e,t,n){let r=yt(n),o=r.owner||Qs(e)||"\u672A\u6807\u6CE8",s=r.status||"\u5DF2\u5B8C\u6210",i=r.scope||"-";return`> \u8D1F\u8D23\u4EBA\uFF1A${o}\u3000\u72B6\u6001\uFF1A${s}\u3000\u8303\u56F4\uFF1A${i}\u3000\u5B8C\u6210\u65F6\u95F4\uFF1A${ce(t)}`}function Ee(e){e=He(e);let t=e.split(/\r?\n/).map(c=>c.replace(/\r$/,"")),n=[],r=[];for(let c of t)/^-{3,}$/.test(c.trim())?(n.push(r),r=[]):r.push(c);n.push(r);let o=[],s=Js(n[0]??[]),i=s.findIndex(c=>/^## .+/.test(c));i>=0&&o.push(qs(s.slice(i)));for(let c=1;c<n.length;c++){let a=Js(n[c]??[]);a.length!==0&&(/^## .+/.test(a[0]??"")?o.push(qs(a)):Ia(o,a.join(`
4
4
  `).trim()))}if(o.length===0)return{header:e,blocks:[]};let l=i>=0?i:s.length;return{header:s.slice(0,l).join(`
5
5
  `).trimEnd(),blocks:o}}function Js(e){let t=0,n=e.length;for(;t<n&&(e[t]??"").trim()==="";)t++;for(;n>t&&(e[n-1]??"").trim()==="";)n--;return e.slice(t,n)}function qs(e){let t=(e[0]??"").replace(/^## /,"").trim(),n=null,r="",o=1;for(let s=1;s<e.length;s++){let i=e[s]??"",l=i.trim();if(l.startsWith("> ")&&l.includes("\u5B8C\u6210\u65F6\u95F4")){n=i;let c=l.match(/完成时间:(.+)$/);c&&(r=(c[1]??"").trim()),o=s+1;break}}return{title:t,metaLine:n,completed:r,body:e.slice(o).join(`
@@ -52,13 +52,13 @@ ${t.body}
52
52
  `)?`\r
53
53
  `:`
54
54
  `;return u.length>0&&k.length===0?((0,oe.existsSync)(s)&&(0,oe.unlinkSync)(s),dr((0,Q.dirname)(s),t),m.push("\u5220\u9664\u7A7A\u5F52\u6863\u6587\u4EF6"),d=!0):(d||h)&&_(s,bt(g,k,S)),m.length>0&&console.log(` ${i}: ${m.join("\u3001")}`),o}var Xe=require("fs"),Te=require("path");var Be="conventions",K="index.md",V="history.md",be="retired.md",Ce="conventions.md",Rn=3,pe=2,wn=`<!-- toolkit-conventions: v${Rn} -->`,Ai=`<!-- toolkit-conventions-entry: v${pe} -->`,Eo=/<!--\s*toolkit-conventions:\s*v(\d+)\s*-->/,Ru=/<!--\s*toolkit-conventions-entry:\s*v(\d+)\s*-->/,re="ID";var Rt="\u5F53\u524D\u8BED\u4E49",To="\u72B6\u6001",En="\u786E\u7ACB\u6765\u6E90\u4EFB\u52A1",hr="\u89C4\u5219",rn="\u5F52\u5C5E",wu="\u5355\u4E00\u4E8B\u5B9E\u6E90",Co="\u4FEE\u8BA2\u5185\u5BB9",Eu="\u540E\u7EE7",Tu="\u9000\u4F11\u6765\u6E90\u4EFB\u52A1",Cu="\u6761\u6587\u53BB\u5411",kr="\u7AEF\u540D",Ze="\u9000\u4F11\u65F6\u8BED\u4E49\uFF08\u51BB\u7ED3\uFF09";function Io(e){return`| ${e.join(" | ")} |`}function Iu(e){return`| ${Array.from({length:e},()=>"---").join(" | ")} |`}function Ao(e){return`${Io(e)}
55
- ${Iu(e.length)}`}var Sr=[re,hr,Rt,rn,wu],Li=Ao(Sr),on="# \u9879\u76EE\u534F\u4F5C\u89C4\u8303\u7D22\u5F15",Au=/^C-[1-9]\d*$/,Lu=/^C-0\d+$/;function Tn(e){return`C-${e}`}function Lo(e){return e.trim().replace(/^`+|`+$/g,"").trim()}function wt(e){return Au.test(Lo(e))}function me(e){return Lu.test(Lo(e))}function Et(e){let t=Lo(e);return me(t)?Tn(Number(t.slice(2))):t}function ju(e,t){let n=e.split(/\r?\n/,1)[0]??"",r=t.exec(n);return r?Number(r[1]):null}function Ou(e){return ju(e,Eo)}function yr(e){let t=Ru.exec(e);return t?Number(t[1]):null}function _u(e){let t=(0,Te.join)(e,Be),n=(0,Te.join)(t,K),r=(0,Xe.existsSync)(n);return{hasDir:(0,Xe.existsSync)(t),hasIndex:r,hasHistory:(0,Xe.existsSync)((0,Te.join)(t,V)),hasRetired:(0,Xe.existsSync)((0,Te.join)(t,be)),hasLegacy:(0,Xe.existsSync)((0,Te.join)(e,Ce)),markerVersion:r?Ou(E(n)):null}}function Du(e,t,n,r){return e?r===Rn?t&&n?"v3":"abnormal":r===2?t&&n?"v2":"abnormal":r!==null?"abnormal":t?n?"v2":"abnormal":n?"abnormal":"v1":"none"}function xt(e){let t=e.trim();return t.startsWith("|")&&t.endsWith("|")&&t.length>1}function Fu(e){let t=[],n="",r=0;for(let o of e){if(o==="\\"){r+=1,n+=o;continue}o==="|"&&r%2===0?(t.push(n.trim()),n=""):n+=o,r=0}return t.push(n.trim()),t}function Oe(e){return Fu(e.trim().replace(/^\|/,"").replace(/\|$/,""))}function xn(e){if(!xt(e))return!1;let t=Oe(e);return t.length>0&&t.every(n=>/^:?-{2,}:?$/.test(n))}function ue(e,t){for(let n=0;n+1<e.length;n++){let r=e[n]??"";if(!xt(r)||!Oe(r).includes(t)||!xn(e[n+1]??""))continue;let o=[],s=[];for(let i=n+2;i<e.length;i++){let l=e[i]??"";if(!xt(l)||xn(l))break;o.push(Oe(l)),s.push(i)}return{headerLine:n,separatorLine:n+1,rowLines:s,header:Oe(r),rows:o}}return null}function Cn(e){return ue(e,Rt)}function ji(e){let t=[];for(let n=0;n+1<e.length;n++){let r=e[n]??"",o=e[n+1]??"";if(!xt(r)||!xn(o))continue;let s=Oe(r).length,i=Oe(o).length;s!==i&&t.push({line:n+1,headerCols:s,sepCols:i})}return t}function le(e,t){return e.findIndex(n=>n===t)}function In(e,t,n){let r=Oe(e);return r[t]=n,`| ${r.join(" | ")} |`}function Nu(e){let t=[];for(let n of e.rows)n.every(r=>r==="")||t.push({id:n[0]??"",name:n[1]??"",cells:n});return t}function Qe(e){let t=_u(e),n=(0,Te.join)(e,Be),r=(0,Te.join)(n,K),o=t.hasIndex?E(r):"",s=t.hasIndex?Cn(o.split(/\r?\n/)):null,i=s?.header??[],l=(i[0]??"")===re,c=s?Nu(s):[],a=c.map(f=>Number(f.id)).filter(f=>Number.isInteger(f));return{...t,dir:n,indexFile:r,historyFile:(0,Te.join)(n,V),retiredFile:(0,Te.join)(n,be),legacyFile:(0,Te.join)(e,Ce),form:Du(t.hasIndex,t.hasHistory,l,t.markerVersion),header:i,entries:c,maxSeq:a.length>0?Math.max(...a):0}}function ct(e){if(!e.hasIndex)return[];let t=[e.indexFile];if(!(0,Xe.existsSync)(e.dir))return t;for(let n of(0,Xe.readdirSync)(e.dir,{withFileTypes:!0}))!n.isFile()||!n.name.endsWith(".md")||n.name===K||n.name===V||n.name===be||t.push((0,Te.join)(e.dir,n.name));return t}var Mu=/第\s*(\d+)\s*条/g,Pu=/(?:质量门|协作模型|章节|第\s*\d+\s*节|[A-Za-z0-9_./-]+\.md|`[^`\n]*`)[^。;,、\n]{0,10}$/;function jo(e,t){let n=[];return{line:e.replace(Mu,(o,s,i)=>{let l=Number(s);if(!Number.isInteger(l)||l<1||l>t||Pu.test(e.slice(0,i)))return o;let c=`\`${Tn(l)}\``;return n.push({from:o,to:c}),c}),hits:n}}var Oo="# \u89C4\u8303\u6F14\u8FDB\u8BB0\u5F55",ve="\u4FEE\u8BA2\u6765\u6E90\u4EFB\u52A1",br=[re,Co,ve],Pm=Io(br),_o="> \u8868\u8BED\u4E49\u8FB9\u754C\uFF1A\u672C\u8868\u53EA\u8BB0**\u89C4\u8303\u8BED\u4E49\u53D8\u66F4**\uFF1B\u8F7D\u4F53\u7ED3\u6784\u5347\u7EA7\u3001\u5165\u53E3\u58F3\u751F\u6210 / \u5220\u9664\u3001\u6761\u76EE\u9000\u4F11\u5747\u4E0D\u5165\u8868\uFF08\u9000\u4F11\u89C1 `retired.md`\uFF09\u3002",Hu="> \u5143\u89C4\u5219\uFF1A\u89C4\u5219\u8BED\u4E49\u53D8\u66F4\u65F6\u4E0D\u5F97\u8986\u76D6\u65E7\u8BED\u4E49\u76F4\u63A5\u4E22\u53F2\u2014\u2014\u5728\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8FFD\u52A0\u4E00\u6761\uFF08\u89C4\u5219 ID \u2192 \u4FEE\u8BA2\u5185\u5BB9 \u2192 \u4FEE\u8BA2\u6765\u6E90\u4EFB\u52A1\uFF1B\u4FEE\u8BA2\u5185\u5BB9\u65B0\u7ACB\u6761\u76EE\u76F4\u63A5\u5199\u5176\u8BED\u4E49\u3001\u8BED\u4E49\u53D8\u66F4\u5199\u300C\u65E7\u8BED\u4E49\u300D\u2192\u300C\u65B0\u8BED\u4E49\u300D\uFF09\uFF0C`index.md` \u7D22\u5F15\u8868\u53EA\u4FDD\u7559\u5F53\u524D\u8BED\u4E49\uFF1B\u89C4\u5219\u5C42\u6E90\u5934\u53D8\u66F4\uFF08`AGENTS.md` / `docs/ai-rules.md` / skills \u6761\u6587\uFF09\u968F\u8BE5\u53D8\u66F4\u540C\u6279\u843D\u76D8\u3002",vr=`${Oo}
55
+ ${Iu(e.length)}`}var Sr=[re,hr,Rt,rn,wu],Li=Ao(Sr),on="# \u9879\u76EE\u534F\u4F5C\u89C4\u8303\u7D22\u5F15",Au=/^C-[1-9]\d*$/,Lu=/^C-0\d+$/;function Tn(e){return`C-${e}`}function Lo(e){return e.trim().replace(/^`+|`+$/g,"").trim()}function wt(e){return Au.test(Lo(e))}function me(e){return Lu.test(Lo(e))}function Et(e){let t=Lo(e);return me(t)?Tn(Number(t.slice(2))):t}function ju(e,t){let n=e.split(/\r?\n/,1)[0]??"",r=t.exec(n);return r?Number(r[1]):null}function Ou(e){return ju(e,Eo)}function yr(e){let t=Ru.exec(e);return t?Number(t[1]):null}function _u(e){let t=(0,Te.join)(e,Be),n=(0,Te.join)(t,K),r=(0,Xe.existsSync)(n);return{hasDir:(0,Xe.existsSync)(t),hasIndex:r,hasHistory:(0,Xe.existsSync)((0,Te.join)(t,V)),hasRetired:(0,Xe.existsSync)((0,Te.join)(t,be)),hasLegacy:(0,Xe.existsSync)((0,Te.join)(e,Ce)),markerVersion:r?Ou(E(n)):null}}function Du(e,t,n,r){return e?r===Rn?t&&n?"v3":"abnormal":r===2?t&&n?"v2":"abnormal":r!==null?"abnormal":t?n?"v2":"abnormal":n?"abnormal":"v1":"none"}function xt(e){let t=e.trim();return t.startsWith("|")&&t.endsWith("|")&&t.length>1}function Fu(e){let t=[],n="",r=0;for(let o of e){if(o==="\\"){r+=1,n+=o;continue}o==="|"&&r%2===0?(t.push(n.trim()),n=""):n+=o,r=0}return t.push(n.trim()),t}function Oe(e){return Fu(e.trim().replace(/^\|/,"").replace(/\|$/,""))}function xn(e){if(!xt(e))return!1;let t=Oe(e);return t.length>0&&t.every(n=>/^:?-{2,}:?$/.test(n))}function ue(e,t){for(let n=0;n+1<e.length;n++){let r=e[n]??"";if(!xt(r)||!Oe(r).includes(t)||!xn(e[n+1]??""))continue;let o=[],s=[];for(let i=n+2;i<e.length;i++){let l=e[i]??"";if(!xt(l)||xn(l))break;o.push(Oe(l)),s.push(i)}return{headerLine:n,separatorLine:n+1,rowLines:s,header:Oe(r),rows:o}}return null}function Cn(e){return ue(e,Rt)}function ji(e){let t=[];for(let n=0;n+1<e.length;n++){let r=e[n]??"",o=e[n+1]??"";if(!xt(r)||!xn(o))continue;let s=Oe(r).length,i=Oe(o).length;s!==i&&t.push({line:n+1,headerCols:s,sepCols:i})}return t}function le(e,t){return e.findIndex(n=>n===t)}function In(e,t,n){let r=Oe(e);return r[t]=n,`| ${r.join(" | ")} |`}function Nu(e){let t=[];for(let n of e.rows)n.every(r=>r==="")||t.push({id:n[0]??"",name:n[1]??"",cells:n});return t}function Qe(e){let t=_u(e),n=(0,Te.join)(e,Be),r=(0,Te.join)(n,K),o=t.hasIndex?E(r):"",s=t.hasIndex?Cn(o.split(/\r?\n/)):null,i=s?.header??[],l=(i[0]??"")===re,c=s?Nu(s):[],a=c.map(f=>Number(f.id)).filter(f=>Number.isInteger(f));return{...t,dir:n,indexFile:r,historyFile:(0,Te.join)(n,V),retiredFile:(0,Te.join)(n,be),legacyFile:(0,Te.join)(e,Ce),form:Du(t.hasIndex,t.hasHistory,l,t.markerVersion),header:i,entries:c,maxSeq:a.length>0?Math.max(...a):0}}function ct(e){if(!e.hasIndex)return[];let t=[e.indexFile];if(!(0,Xe.existsSync)(e.dir))return t;for(let n of(0,Xe.readdirSync)(e.dir,{withFileTypes:!0}))!n.isFile()||!n.name.endsWith(".md")||n.name===K||n.name===V||n.name===be||t.push((0,Te.join)(e.dir,n.name));return t}var Mu=/第\s*(\d+)\s*条/g,Pu=/(?:质量门|协作模型|章节|第\s*\d+\s*节|[A-Za-z0-9_./-]+\.md|`[^`\n]*`)[^。;,、\n]{0,10}$/;function jo(e,t){let n=[];return{line:e.replace(Mu,(o,s,i)=>{let l=Number(s);if(!Number.isInteger(l)||l<1||l>t||Pu.test(e.slice(0,i)))return o;let c=`\`${Tn(l)}\``;return n.push({from:o,to:c}),c}),hits:n}}var Oo="# \u89C4\u8303\u6F14\u8FDB\u8BB0\u5F55",ve="\u4FEE\u8BA2\u6765\u6E90\u4EFB\u52A1",br=[re,Co,ve],Hm=Io(br),_o="> \u8868\u8BED\u4E49\u8FB9\u754C\uFF1A\u672C\u8868\u53EA\u8BB0**\u89C4\u8303\u8BED\u4E49\u53D8\u66F4**\uFF1B\u8F7D\u4F53\u7ED3\u6784\u5347\u7EA7\u3001\u5165\u53E3\u58F3\u751F\u6210 / \u5220\u9664\u3001\u6761\u76EE\u9000\u4F11\u5747\u4E0D\u5165\u8868\uFF08\u9000\u4F11\u89C1 `retired.md`\uFF09\u3002",Hu="> \u5143\u89C4\u5219\uFF1A\u89C4\u5219\u8BED\u4E49\u53D8\u66F4\u65F6\u4E0D\u5F97\u8986\u76D6\u65E7\u8BED\u4E49\u76F4\u63A5\u4E22\u53F2\u2014\u2014\u5728\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8FFD\u52A0\u4E00\u6761\uFF08\u89C4\u5219 ID \u2192 \u4FEE\u8BA2\u5185\u5BB9 \u2192 \u4FEE\u8BA2\u6765\u6E90\u4EFB\u52A1\uFF1B\u4FEE\u8BA2\u5185\u5BB9\u65B0\u7ACB\u6761\u76EE\u76F4\u63A5\u5199\u5176\u8BED\u4E49\u3001\u8BED\u4E49\u53D8\u66F4\u5199\u300C\u65E7\u8BED\u4E49\u300D\u2192\u300C\u65B0\u8BED\u4E49\u300D\uFF09\uFF0C`index.md` \u7D22\u5F15\u8868\u53EA\u4FDD\u7559\u5F53\u524D\u8BED\u4E49\uFF1B\u89C4\u5219\u5C42\u6E90\u5934\u53D8\u66F4\uFF08`AGENTS.md` / `docs/ai-rules.md` / skills \u6761\u6587\uFF09\u968F\u8BE5\u53D8\u66F4\u540C\u6279\u843D\u76D8\u3002",vr=`${Oo}
56
56
 
57
57
  ${Hu}
58
58
  ${_o}
59
59
 
60
60
  ${Ao(br)}
61
- `,Bu="# \u89C4\u8303\u9000\u4F11\u8BB0\u5F55",Uu="> \u5143\u89C4\u5219\uFF1A\u6761\u76EE\u4F5C\u5E9F\u5373\u4ECE `index.md` \u8FC1\u51FA\u81F3\u672C\u8868\u5E76\u51BB\u7ED3\u9000\u4F11\u65F6\u8BED\u4E49\uFF1B\u7F16\u53F7\u4E0D\u56DE\u6536\uFF08\u89C1 conventions-spec \xA78\uFF09\u3002\u672C\u8868\u5C5E Z3 \u5F52\u6863\u3001\u4E0D\u8FDB\u5E38\u89C4\u8BFB\u9762\u3002",$r=[re,hr,Ze,rn,Eu,Tu,Cu],Hm=Io($r),Oi=`${Bu}
61
+ `,Bu="# \u89C4\u8303\u9000\u4F11\u8BB0\u5F55",Uu="> \u5143\u89C4\u5219\uFF1A\u6761\u76EE\u4F5C\u5E9F\u5373\u4ECE `index.md` \u8FC1\u51FA\u81F3\u672C\u8868\u5E76\u51BB\u7ED3\u9000\u4F11\u65F6\u8BED\u4E49\uFF1B\u7F16\u53F7\u4E0D\u56DE\u6536\uFF08\u89C1 conventions-spec \xA78\uFF09\u3002\u672C\u8868\u5C5E Z3 \u5F52\u6863\u3001\u4E0D\u8FDB\u5E38\u89C4\u8BFB\u9762\u3002",$r=[re,hr,Ze,rn,Eu,Tu,Cu],Bm=Io($r),Oi=`${Bu}
62
62
 
63
63
  ${Uu}
64
64
 
@@ -115,18 +115,18 @@ ${o}`}function Wo(e){let t=il(E(e.source),e);return((0,Ct.existsSync)(e.target)?
115
115
  `)}function Yl(){let e=rt();return e?Object.values(e.sources).some(t=>t.targets.some(n=>n.entries.length>0)):!1}function un(e){let t=dt(e),n=Pl(t);if(!n)return null;if(Hl(n))return{...Bl(),updatedAt:typeof n.updatedAt=="string"?n.updatedAt:"",sources:Kl(n.sources)};if(!Array.isArray(n.shells)&&typeof n.source!="string")return null;try{let r=Wf(n);return Gl(t),Vl(t,r),r}catch{return null}}function Vl(e,t){(0,Je.mkdirSync)((0,an.dirname)(e),{recursive:!0}),_(e,`${JSON.stringify(t,null,2)}
116
116
  `)}function Ml(e){return JSON.stringify(e.sources)}function rs(e,t){let n=un(e),r={format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:t};return n&&Ml(n)===Ml(r)?!1:(Vl(dt(e),r),!0)}function os(e){(0,Je.rmSync)(dt(e),{force:!0})}var B=require("fs"),Y=require("path");var Me=require("fs"),ss=require("os"),Jn=require("path"),zf=".toolkit-skills.lock",Jf="skills.lock",qf=300*1e3;function is(e){return(0,Jn.join)(e,".agents",zf)}function Wl(e){return(0,Jn.join)(e,".toolkit",Jf)}function zl(e){if(!(0,Me.existsSync)(e))return null;try{let t=JSON.parse((0,Me.readFileSync)(e,"utf8"));return typeof t.pid!="number"||typeof t.host!="string"||typeof t.startedAt!="string"?null:{pid:t.pid,host:t.host,startedAt:t.startedAt}}catch{return null}}function Xf(e){let t=Date.parse(e.startedAt);if(!Number.isFinite(t)||Date.now()-t>qf)return!0;if(e.host===(0,ss.hostname)())try{return process.kill(e.pid,0),!1}catch{return!0}return!1}function Zf(e,t){let n=zl(e);n&&n.pid===t.pid&&n.host===t.host&&n.startedAt===t.startedAt&&(0,Me.rmSync)(e,{force:!0})}function qr(e){(0,Me.mkdirSync)((0,Jn.dirname)(e),{recursive:!0});let t={pid:process.pid,host:(0,ss.hostname)(),startedAt:new Date().toISOString()};for(let n=0;n<2;n+=1)try{return(0,Me.writeFileSync)(e,`${JSON.stringify(t,null,2)}
117
117
  `,{flag:"wx"}),()=>Zf(e,t)}catch(r){if(r.code!=="EEXIST")throw r;let o=zl(e);if(o&&!Xf(o))throw new Error(`\u6280\u80FD\u64CD\u4F5C\u9501\u88AB\u5360\u7528\uFF1A${o.host} pid ${o.pid}\uFF08\u59CB\u4E8E ${o.startedAt}\uFF09\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5`,{cause:r});(0,Me.rmSync)(e,{force:!0})}throw new Error(`\u65E0\u6CD5\u83B7\u53D6\u6280\u80FD\u64CD\u4F5C\u9501\uFF1A${e}`)}function Xl(e,t){if(!t)return e;let n=t.filter(i=>!e.some(l=>l.name===i));n.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6280\u80FD\uFF1A${n.join("\u3001")}`);let r=t.filter(i=>e.some(l=>l.name===i)),o=Yr(e,r);o.missing.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u7F3A\u5931\u7684\u4F9D\u8D56\u6280\u80FD\uFF1A${o.missing.join("\u3001")}`);let s=new Set(o.names);return e.filter(i=>s.has(i.name))}function cs(e={}){let t=[Vn()],n=se();for(let[r,o]of Object.entries(n.sources??{})){let s=o.url??o.root;if(s)try{let i=Yn(s,{name:r,temporary:!1}),l=t.find(c=>c.name===i.name);if(l){if(M(l.root)!==M(i.root))throw new Error(`\u6765\u6E90\u540D\u51B2\u7A81\uFF1A${r}\uFF08${l.root} / ${i.root}\uFF09`);continue}t.push(i)}catch(i){console.warn(`\u26A0\uFE0F \u8DF3\u8FC7\u5931\u6548\u7684\u5916\u90E8\u6765\u6E90 ${r}\uFF1A${i.message}`)}}for(let r of e.externalSources??[]){let o=Yn(r.path,{name:r.name,temporary:r.temporary,dryRun:e.dryRun}),s=t.find(i=>i.name===o.name);if(s&&M(s.root)!==M(o.root))throw new Error(`\u6765\u6E90\u540D\u51B2\u7A81\uFF1A${o.name}\uFF08${s.root} / ${o.root}\uFF09`);s||t.push(o)}return t}function Zl(e={}){let t=cs(e).flatMap(Dt);return Kr(t),t}function Jl(e){let t=new Map;for(let n of e)for(let r of Dt(n))t.set(r.name,{dir:r.dir,linkTarget:r.linkTarget});return t}function ls(e,t,n,r){if(!e)return[];let o=[];for(let s of e.entries){if(t.has(s.name))continue;let i=r.get(s.name);if(!i)continue;let l=(0,Y.join)(n,s.name),c=Ft(l,i.linkTarget,void 0,i.dir);if(c==="link-ok"||c==="dir"&&(0,B.existsSync)(i.dir)&&Ne(i.dir,l))try{ze(l),o.push(s.name)}catch{}}return o}function Ql(e={}){let t=cs({externalSources:e.externalSources,dryRun:e.dryRun}),n=t.flatMap(Dt);Kr(n);let r=Xl(n,e.skills),o=new Set(r.map(u=>u.name)),s=new Map(n.map(u=>[u.name,{dir:u.dir,linkTarget:u.linkTarget}])),i=se().targets,l=e.targets??(i&&i.length>0?i:void 0),c=Cl(l,e.dirs??[]),a=We(),f=[];for(let u of c.invalid)console.warn(`\u26A0\uFE0F \u5FFD\u7565\u672A\u77E5\u7684 agent / \u76EE\u6807\u540D\uFF1A${u}`);for(let u of c.unavailable){console.warn(`\u26A0\uFE0F \u5FFD\u7565\u672C\u673A\u672A\u68C0\u6D4B\u5230\u7684 agent\uFF1A${u}\uFF08\u4E0D\u51ED\u7A7A\u521B\u5EFA\u76EE\u5F55\uFF09`);let m=a.find(d=>d.name===u);m&&f.push({dir:m.dir,label:m.label})}if(l===void 0)for(let u of a)u.kind==="agent"&&!u.available&&f.push({dir:u.dir,label:u.label});let p=c.targets,g=e.dryRun?null:qr(is(J()));try{let u=rt(),m=new Map;for(let[$,b]of Object.entries(u?.sources??{})){let T=new Map;for(let h of b.targets)T.set(M(h.dir),h);m.set($,T)}let d=new Map;for(let $ of t)d.set($.name,[]);let k=new Set,y=[];for(let $ of p){let b=M($.dir);k.add(b);let T={dir:$.dir,label:$.label,kind:$.kind,created:[],updated:[],skipped:[],conflicts:[],failed:[],degraded:[],links:[],copies:[],pruned:[]},h=new Map;for(let S of r){let R=(0,Y.join)($.dir,S.name),N=Ft(R,S.linkTarget),I=m.get(S.source)?.get(b)?.entries.some(j=>j.name===S.name&&j.mode==="copy")??!1;if(N==="link-ok"){T.skipped.push(S.name),T.links.push(S.name),h.set(S.source,[...h.get(S.source)??[],{name:S.name,version:S.version,mode:"link"}]);continue}if(N==="dir"&&!e.force){if(!I){T.conflicts.push(S.name);continue}if(Ne(S.dir,R)){T.skipped.push(S.name),T.copies.push(S.name),h.set(S.source,[...h.get(S.source)??[],{name:S.name,version:S.version,mode:"copy"}]);continue}}if(N==="file"&&!e.force){T.conflicts.push(S.name);continue}let v=!!e.copy||S.temporary||N==="dir"&&I;if(e.dryRun){N==="absent"?T.created.push(S.name):T.updated.push(S.name),v?T.copies.push(S.name):T.links.push(S.name);continue}try{N!=="absent"&&ze(R);let j=_l(S.linkTarget,S.dir,R,v);N==="absent"?T.created.push(S.name):T.updated.push(S.name),j.mode==="link"?T.links.push(S.name):(T.copies.push(S.name),j.reason&&T.degraded.push({name:S.name,reason:j.reason})),h.set(S.source,[...h.get(S.source)??[],{name:S.name,version:S.version,mode:j.mode}])}catch(j){T.failed.push({name:S.name,reason:j.message})}}if(e.prune&&!e.dryRun)for(let S of t)T.pruned.push(...ls(m.get(S.name)?.get(b),o,$.dir,s));if(y.push(T),!e.dryRun){let S=new Set(T.pruned);for(let R of t){let N=m.get(R.name)?.get(b),I=[...h.get(R.name)??[],...N?.entries.filter(v=>!o.has(v.name)&&!S.has(v.name)&&(0,B.existsSync)((0,Y.join)($.dir,v.name)))??[]];I.length>0&&d.get(R.name).push({id:N?.id??Vr($.dir,$.kind),dir:$.dir,label:$.label,kind:$.kind,entries:I})}}}let x=!!e.prune&&l!==void 0;for(let $ of t)for(let b of u?.sources?.[$.name]?.targets??[]){if(k.has(M(b.dir)))continue;let T=b.entries;if(x){let h=ls(b,new Set,b.dir,s);if(h.length>0){y.push({dir:b.dir,label:b.label||Mt(b.dir)||b.dir,kind:b.kind==="primary"||b.kind==="agent"?b.kind:"custom",created:[],updated:[],skipped:[],conflicts:[],failed:[],degraded:[],links:[],copies:[],pruned:h});let S=new Set(h);T=T.filter(R=>!S.has(R.name))}}T.length>0&&d.get($.name).push({...b,entries:T})}if(!e.dryRun){let $={};for(let[b,T]of Object.entries(u?.sources??{}))!t.some(h=>h.name===b)&&T.targets.length>0&&($[b]=T);for(let b of t){let T=d.get(b.name)??[];T.length>0&&($[b.name]={kind:b.kind,version:b.version,temporary:b.temporary,root:b.root,url:b.url,ref:b.ref,targets:T})}if(td($),e.saveSelection!==!1&&Qf(t,r),e.saveTargets!==!1){let b=new Set(a.filter(h=>h.name).map(h=>h.name)),T=l?l.filter(h=>b.has(h)):p.filter(h=>h.name).map(h=>h.name);ed([...new Set(T)])}}return{source:ut(),skills:r.map($=>$.name),selection:r.map($=>$.name),mode:e.mode??se().mode??"skills",targetSelection:p.filter($=>$.name).map($=>$.name),targets:y,skippedTargets:f,stateFile:ft()}}finally{g?.()}}function Qf(e,t){try{let r={...se().selection??{}};for(let o of e){if(o.temporary){delete r[o.name];continue}r[o.name]=t.filter(s=>s.source===o.name).map(s=>s.name)}Ve({selection:Object.keys(r).length>0?r:void 0})}catch(n){console.warn(`\u26A0\uFE0F \u6280\u80FD\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${n.message}`)}}function ed(e){try{Ve({targets:e})}catch(t){console.warn(`\u26A0\uFE0F \u76EE\u6807\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${t.message}`)}}function td(e){let t=Object.fromEntries(Object.entries(e).filter(([,r])=>r.targets.length>0)),n=ft();if(Object.keys(t).length===0){(0,B.rmSync)(n,{force:!0});return}(0,B.mkdirSync)((0,Y.dirname)(n),{recursive:!0}),_(n,`${JSON.stringify({format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:t},null,2)}
118
- `)}function nd(e,t){let n=se();if(!n.selection)return;let r={...n.selection};if(!e&&!t){Ve({selection:void 0});return}let o=new Set(e??[]);for(let s of Object.keys(r)){if(t&&s!==t)continue;let i=e?(r[s]??[]).filter(l=>!o.has(l)):[];i.length>0?r[s]=i:delete r[s]}Ve({selection:Object.keys(r).length>0?r:void 0})}function rd(e){let t=se(),n={...t.sources??{}};delete n[e];let r={...t.selection??{}};delete r[e],Ve({sources:Object.keys(n).length>0?n:void 0,selection:Object.keys(r).length>0?r:void 0})}function od(e,t){if(e===De||t.kind==="builtin")return Jl([Vn()]);if(!t.root||!(0,B.existsSync)(t.root))return new Map;try{return Jl([_t(t.root,{name:e,temporary:t.temporary})])}catch{return new Map}}function as(e={}){let t=ft();e.dryRun||(nd(e.skills,e.source),e.source&&rd(e.source));let n=e.dryRun?null:qr(is(J()));try{let r=rt();if(!r)return{stateFile:t,stateExists:!1,targets:[],stateRemoved:!1};let o=e.skills?new Set(e.skills):null,s=[],i=!1,l=!1,c={};for(let[p,g]of Object.entries(r.sources)){if(e.source&&e.source!==p){c[p]=g;continue}let u=od(p,g),m=[];for(let d of g.targets){let k={dir:d.dir,label:d.label||Mt(d.dir)||null,removed:[],missing:[],skippedForeign:[],dirReclaimed:!1},y=[];for(let x of d.entries){if(o&&!o.has(x.name)){y.push(x);continue}let $=(0,Y.join)(d.dir,x.name),b=u.get(x.name);if(!b){let h=!1;try{h=(0,B.lstatSync)($).isSymbolicLink()&&!(0,B.existsSync)($)}catch{h=!1}if(h&&!e.dryRun){ze($),k.removed.push(x.name),l=!0;continue}if(h){k.removed.push(x.name);continue}k.skippedForeign.push(x.name),y.push(x);continue}let T=Ft($,b.linkTarget,void 0,b.dir);if(T==="absent"){k.missing.push(x.name),l=!0;continue}if(T==="wrong"||T==="file"||T==="dir"&&!Ne(b.dir,$)){k.skippedForeign.push(x.name),y.push(x);continue}if(e.dryRun){k.removed.push(x.name);continue}try{ze($),k.removed.push(x.name),l=!0}catch{i=!0,k.skippedForeign.push(x.name),y.push(x)}}if(!e.dryRun&&Wn(d.dir))try{(0,B.rmSync)(d.dir,{recursive:!0,force:!0}),k.dirReclaimed=!0}catch{}s.push(k),y.length>0&&m.push({...d,entries:y})}m.length>0&&(c[p]={...g,targets:m})}let a=s.every(p=>p.skippedForeign.length===0),f=!e.dryRun&&!i&&a&&Object.keys(c).length===0;return e.dryRun||(f?(0,B.rmSync)(t,{force:!0}):(l||Object.keys(c).length!==Object.keys(r.sources).length)&&Jr({format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:c})),{stateFile:t,stateExists:!0,targets:s,stateRemoved:f}}finally{n?.()}}function ql(e,t,n){t==="created"?e.created.push(n):t==="updated"?e.updated.push(n):t==="skipped"?e.skipped.push(n):e.conflicts.push(n)}function sd(e,t,n,r,o){return(0,B.existsSync)(t)?Ne(e,t)?"skipped":!n&&!r?"conflict":(o||(ze(t),Gn(e,t)),"updated"):(o||Gn(e,t),"created")}function id(e,t,n,r){let o=(0,B.existsSync)(e),s=o?E(e):"",i=o?Ht(s):null,l;return o?i!==null&&i>zr()||s===t?l="skipped":i===null&&!n?l="conflict":l="updated":l="created",!r&&(l==="created"||l==="updated")&&((0,B.mkdirSync)((0,Y.dirname)(e),{recursive:!0}),_(e,t)),l}function ec(e={}){let t=e.cwd??process.cwd(),n=cs({externalSources:e.externalSources,dryRun:e.dryRun}),r=n.flatMap(Dt);Kr(r);let o=Xl(r,e.skills),s=new Set(o.map(x=>x.name)),i=new Map(r.map(x=>[x.name,{dir:x.dir,linkTarget:x.linkTarget}])),l=Nt(t),c=l.root,a=un(c),f=(x,$,b)=>a?.sources?.[x]?.targets.find(T=>T.kind===$&&T.dir===b),p=[],g=[];for(let x of e.dirs??[]){let $=(0,Y.resolve)(t,x);if(!zn($,c)){p.push(x);continue}let b=Pt(c,$);b!==l.sourceDir&&!g.includes(b)&&g.push(b)}let u=Fe(c).targets,m=e.targetDirs??(u&&u.length>0?u:void 0),d;if(m===void 0)d=[...l.shellDirs];else{d=[];for(let x of m){let $=(0,Y.resolve)(c,x);if(!zn($,c)){console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4ED3\u5E93\u4E4B\u5916\u7684\u6280\u80FD\u76EE\u5F55\uFF1A${x}`);continue}let b=Pt(c,$);if(b!==l.sourceDir){if(!(0,B.existsSync)($)){console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6280\u80FD\u76EE\u5F55\uFF1A${b}\uFF08\u8865\u9F50\u76EE\u5F55\u540E\u91CD\u8DD1\u5373\u53EF\uFF09`);continue}d.includes(b)||d.push(b)}}}let k=[...d.filter(x=>!g.includes(x)),...g],y=e.dryRun?null:qr(Wl(c));try{let x={dir:l.sourceDir,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},$=(0,Y.join)(c,l.sourceDir),b=new Map;for(let I of o){let v=f(I.source,"source",l.sourceDir)?.entries.some(j=>j.name===I.name)??!1;try{let j=sd(I.dir,(0,Y.join)($,I.name),v,!!e.force,!!e.dryRun);ql(x,j,I.name),j!=="conflict"&&!e.dryRun&&b.set(I.source,[...b.get(I.source)??[],{name:I.name,version:I.version,mode:"copy"}])}catch(j){x.failed.push({name:I.name,reason:j.message})}}if(e.prune&&!e.dryRun)for(let I of n)x.pruned.push(...ls(f(I.name,"source",l.sourceDir),s,$,i));let T=new Set(x.pruned),h=[],S=new Map;for(let I of n)S.set(I.name,[]);for(let I of n){let v=f(I.name,"source",l.sourceDir),j=[...b.get(I.name)??[],...v?.entries.filter(z=>!s.has(z.name)&&!T.has(z.name)&&(0,B.existsSync)((0,Y.join)($,z.name)))??[]];j.length>0&&S.get(I.name).push({id:"source",dir:l.sourceDir,label:"\u771F\u6E90\u526F\u672C",kind:"source",entries:j})}for(let I of k){let v={dir:I,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},j=new Map;for(let C of o){let A=Wr(C.name,l.sourceDir,Gr(C.dir));try{let D=id((0,Y.join)(c,I,C.name,X),A,!!e.force,!!e.dryRun);ql(v,D,C.name),D!=="conflict"&&!e.dryRun&&j.set(C.source,[...j.get(C.source)??[],{name:C.name,version:C.version,mode:"shell"}])}catch(D){v.failed.push({name:C.name,reason:D.message})}}if(e.prune&&!e.dryRun)for(let C of n)for(let A of f(C.name,"shell",I)?.entries??[]){if(s.has(A.name))continue;let D=(0,Y.join)(c,I,A.name,X);if(!(0,B.existsSync)(D))continue;let P=E(D);Ht(P)!==null&&(ze((0,Y.join)(c,I,A.name)),v.pruned.push(A.name))}let z=new Set(v.pruned);for(let C of n){let A=f(C.name,"shell",I),D=[...j.get(C.name)??[],...A?.entries.filter(P=>!s.has(P.name)&&!z.has(P.name)&&(0,B.existsSync)((0,Y.join)(c,I,P.name)))??[]];D.length>0&&S.get(C.name).push({id:I,dir:I,label:"\u8584\u58F3",kind:"shell",entries:D})}h.push(v)}let R=new Set(k),N=!!e.prune&&m!==void 0;for(let I of n)for(let v of a?.sources?.[I.name]?.targets.filter(j=>j.kind==="shell")??[]){if(R.has(v.dir))continue;let j=v.entries;if(N){let z={dir:v.dir,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},C=[];for(let A of j){let D=(0,Y.join)(c,v.dir,A.name),P=(0,Y.join)(D,X);if(!(0,B.existsSync)(P))continue;let ee;try{ee=E(P)}catch{C.push(A);continue}if(Ht(ee)===null){C.push(A);continue}try{ze(D),z.pruned.push(A.name)}catch{C.push(A)}}j=C,z.pruned.length>0&&h.push(z)}j.length>0&&S.get(I.name).push({...v,entries:j})}if(!e.dryRun){let I={};for(let[v,j]of Object.entries(a?.sources??{}))!n.some(z=>z.name===v)&&j.targets.length>0&&(I[v]=j);for(let v of n){let j=S.get(v.name)??[];j.length>0&&(I[v.name]={kind:v.kind,version:v.version,temporary:v.temporary,root:v.url?"":v.root,url:v.url,ref:v.ref,targets:j})}ad(c,I),e.saveSelection!==!1&&ld(c,o.filter(v=>!v.temporary).map(v=>v.name)),e.saveTargets!==!1&&cd(c,d)}return{root:c,skills:o.map(I=>I.name),selection:o.map(I=>I.name),mode:e.mode??Fe(c).mode??"skills",targetSelection:k,source:x,shells:h,missingDirs:l.missingDirs,ignoredDirs:p,stateFile:Pt(c,dt(c))}}finally{y?.()}}function ld(e,t){try{let n=Fe(e);Ot({targets:n.targets,selection:t},e)}catch(n){console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u6280\u80FD\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${n.message}`)}}function cd(e,t){try{Ot({targets:[...new Set(t)]},e)}catch(n){console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u76EE\u5F55\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${n.message}`)}}function ad(e,t){let n=Object.fromEntries(Object.entries(t).filter(([,r])=>r.targets.length>0));if(Object.keys(n).length===0){os(e);return}rs(e,n)}function ud(e,t){let n=Fe(e);if(!n.selection)return;if(!t){Ot({selection:void 0},e);return}let r=new Set(t),o=n.selection.filter(s=>!r.has(s));Ot({selection:o.length>0?o:void 0},e)}function tc(e={}){let t=e.cwd??process.cwd(),n=Nt(t),r=n.root,o=dt(r),s=Pt(r,o);e.dryRun||ud(r,e.skills);let i=un(r);if(!i)return{root:r,stateFile:s,stateExists:!1,sourceDir:n.sourceDir,dirs:[],reclaimed:[],stateRemoved:!1};let l=e.skills?new Set(e.skills):null,c=new Map(nt().map(k=>[k.name,k.dir])),a=[],f=[],p={},g=!1,u=!1;for(let[k,y]of Object.entries(i.sources)){let x=[];for(let $ of y.targets){if($.kind!=="source"&&$.kind!=="shell")continue;let b={dir:$.dir,kind:$.kind,removed:[],missing:[],skippedForeign:[]},T=[];for(let h of $.entries){if(l&&!l.has(h.name)){T.push(h);continue}let S=(0,Y.join)(r,$.dir,h.name);if(!($.kind==="source"?(0,B.existsSync)(S):(0,B.existsSync)((0,Y.join)(S,X)))){b.missing.push(h.name),u=!0;continue}if(!($.kind==="source"?fd(S,c.get(h.name)):dd(S))){b.skippedForeign.push(h.name),T.push(h);continue}if(e.dryRun){b.removed.push(h.name);continue}try{ze(S),b.removed.push(h.name),u=!0}catch{g=!0,b.skippedForeign.push(h.name),T.push(h)}}a.push(b),T.length>0&&x.push({...$,entries:T})}x.length>0&&(p[k]={...y,targets:x})}if(!e.dryRun)for(let k of[n.sourceDir,...i.sources[De]?.targets.filter(y=>y.kind==="shell").map(y=>y.dir)??[]]){let y=(0,Y.join)(r,k);if(!(!(0,B.existsSync)(y)||!Wn(y)))try{(0,B.rmSync)(y,{recursive:!0,force:!0}),f.push(k)}catch{}}let m=a.every(k=>k.skippedForeign.length===0),d=!e.dryRun&&!g&&m&&Object.keys(p).length===0;return e.dryRun||(d?os(r):(u||Object.keys(p).length!==Object.keys(i.sources).length)&&rs(r,p)),{root:r,stateFile:s,stateExists:!0,sourceDir:n.sourceDir,dirs:a,reclaimed:f,stateRemoved:d}}function fd(e,t){return!!t&&Ne(t,e)}function dd(e){try{return Ht(E((0,Y.join)(e,X)))!==null}catch{return!1}}function nc(){let e=de("skills");if(e?.autoLink===!1||process.env.CI)return 0;let t=rt();if(!t)return 0;let n=ut(),r;try{r=new Set((0,B.readdirSync)(n).filter(a=>(0,B.existsSync)((0,Y.join)(n,a))))}catch{return 0}let o=es(),s=e?.autoLinkReplaceForeign!==!1,i=process.platform==="win32"?"junction":"dir",l=0,c={};for(let[a,f]of Object.entries(t.sources)){let p=[];for(let g of f.targets){let u;try{u=(0,B.readdirSync)(g.dir,{withFileTypes:!0})}catch{p.push(g);continue}let m=new Map(u.map(k=>[k.name,k])),d=g.entries.filter(k=>{if(k.mode!=="link")return r.has(k.name);if(!r.has(k.name))return!1;let y=(0,Y.join)(o,k.name),x=(0,Y.join)(g.dir,k.name),$=m.get(k.name),b=$?Ft(x,y,$):"absent";if(b==="link-ok"||!s&&(b==="dir"||b==="file"))return!0;try{return b!=="absent"&&ze(x),(0,B.symlinkSync)(y,x,i),l+=1,!0}catch{return!0}});p.push({...g,entries:d})}c[a]={...f,targets:p}}return l>0&&Jr({format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:c}),l}var xe=require("fs"),ke=require("path");function gd(e){return new Map((e?.entries??[]).map(t=>[t.name,t]))}function pd(e){let t=new Map;for(let n of Object.values(e?.sources??{}))for(let r of n.targets)for(let o of r.entries)t.set(o.name,o.version);return t}function oc(e){let t=new Map,n=[],r=pd(e),o=(l,c,a,f,p,g)=>{if(!n.some(u=>u.name===l)){n.push({name:l,kind:c,root:a,version:f,temporary:p,skills:g.map(u=>u.name)});for(let u of g)t.has(u.name)||t.set(u.name,{source:l,version:u.version,dir:u.dir,linkTarget:c==="builtin"?(0,ke.join)(a,"skills",u.name):u.dir,tier:u.tier})}},s=Vn();o(s.name,"builtin",s.root,s.version,!1,s.skills);for(let l of Dt(s))t.set(l.name,{source:l.source,version:l.version,dir:l.dir,linkTarget:l.linkTarget,tier:l.tier});let i=se();for(let[l,c]of Object.entries(i.sources??{}))if(!n.some(a=>a.name===l))try{let a=c.url?e?.sources[l]?.root:c.root;if(!a)continue;let f=_t(a,{name:l,temporary:!1});o(f.name,"local",f.root,f.version,!1,f.skills)}catch{}for(let[l,c]of Object.entries(e?.sources??{})){if(n.some(g=>g.name===l))continue;let a=[];if(c.root&&(0,xe.existsSync)(c.root))try{a=_t(c.root,{name:l,temporary:c.temporary}).skills}catch{a=[]}let f=new Set(a.map(g=>g.name));for(let g of c.targets)for(let u of g.entries)f.add(u.name);let p=[...f].map(g=>{let u=a.find(d=>d.name===g);if(u)return u;let m=c.root?(0,ke.join)(c.root,g):g;return{name:g,dir:m,version:r.get(g)??"",tier:"optional",requires:[]}});if(o(l,c.kind==="builtin"?"builtin":"local",c.root,c.version,c.temporary,p),p.length>0&&c.kind!=="builtin")for(let g of p){let u=t.get(g.name);u&&t.set(g.name,{...u,linkTarget:g.dir})}}return{refs:t,sources:n}}function md(e){let t;try{t=(0,xe.lstatSync)(e)}catch{return"absent"}if(!t.isSymbolicLink())return t.isDirectory()?"dir":"file";try{let n=(0,xe.readlinkSync)(e),r=Bn((0,ke.isAbsolute)(n)?n:(0,ke.join)((0,ke.dirname)(e),n));return(0,xe.existsSync)(r)?"wrong":"dangling"}catch{return"dangling"}}function Xr(e,t,n=[]){return[...new Set([...e,...t?.entries.map(o=>o.name)??[],...n])].sort()}function Zr(e,t){return Nl(e).filter(n=>n.isDirectory()||n.isSymbolicLink()).map(n=>n.name).filter(n=>t.has(n))}function rc(e,t,n,r,o,s=!0){let i=gd(o),l=[];for(let c of t){let a=r.get(c),f=n.has(c),p=(0,ke.join)(e,c),g=a?Ft(p,a.linkTarget,void 0,a.dir):md(p),u;s?g==="link-ok"?u=f?"link":"installed-unselected":g==="dangling"?u="dangling":g==="wrong"?u="wrong":g==="file"?u="conflict":g==="dir"?a&&(0,xe.existsSync)(a.dir)&&Ne(a.dir,p)?u=f?"copy":"installed-unselected":u=i.get(c)?.mode==="copy"?"copy-drift":"conflict":u=f?"missing":"not-selected":g==="absent"?u="not-selected":g==="wrong"||g==="file"?u=g==="wrong"?"wrong":"conflict":u="installed-unselected",u!=="not-selected"&&l.push({name:c,state:u,version:a?.version??"",source:a?.source??""})}return l}function sc(){let e=rt(),t=se(),{refs:n,sources:r}=oc(e),o=[...n.keys()].sort(),s=t.mode??"skills",i=t.selection,l=i!==void 0&&Object.keys(i).length>0,c=l?o.filter(h=>{let S=n.get(h),R=i[S.source];return R===void 0||R.includes(h)}):s==="package"?[]:o.filter(h=>n.get(h).tier==="core"),a=new Set(c),f=t.targets&&t.targets.length>0?t.targets:void 0,p=h=>!f||f.includes(h),g=We([]),u=new Map(g.filter(h=>h.name).map(h=>[M(h.dir),h.name])),m=new Map;for(let h of Object.values(e?.sources??{}))for(let S of h.targets)m.set(M(S.dir),S);let d=new Set(o),k=h=>l?a:new Set([...a,...h?.entries.map(S=>S.name)??[]]),y=[],x=[],$=new Set;for(let h of g){let S=m.get(M(h.dir));if(!h.available&&h.kind==="agent"){x.push({dir:h.dir,label:h.label});continue}if(h.kind!=="primary"&&!S&&(!h.dirExists||Wn(h.dir)))continue;$.add(M(h.dir));let R=k(S),N=h.name?p(h.name):!0,I=rc(h.dir,Xr(R,S,Zr(h.dir,d)),R,n,S,N);!N&&I.length===0||y.push({dir:h.dir,label:h.label,kind:h.kind,available:h.available,dirExists:h.dirExists,recorded:!!S,selected:N,items:I})}let b=[];for(let h of m.values()){if($.has(M(h.dir)))continue;let S=jl(h.dir);S&&(0,xe.existsSync)(h.dir)&&b.push({dir:h.dir,label:S});let R=k(h),N=u.get(M(h.dir))??"",I=N?p(N):!0,v=rc(h.dir,Xr(R,h,Zr(h.dir,d)),R,n,h,I);!I&&v.length===0||y.push({dir:h.dir,label:S??(h.label||Mt(h.dir)||"\u81EA\u5B9A\u4E49 --dir"),kind:h.kind==="primary"||h.kind==="agent"?h.kind:"custom",available:!0,dirExists:(0,xe.existsSync)(h.dir),recorded:!0,selected:I,items:v})}let T=[...n.entries()].map(([h,S])=>({name:h,dir:S.dir,version:S.version,tier:S.tier,requires:[]}));return{source:ut(),skills:o,mode:s,selection:c,targetSelection:f??[],sources:r,skillVersions:Object.fromEntries([...n.entries()].map(([h,S])=>[h,S.version])),versionMismatches:ts(T),stateFile:ft(),stateExists:!!e,targets:y,pendingAgents:x,canonicalReaders:Al(),legacyTargets:b}}function hd(e,t,n){if(!(0,xe.existsSync)(e))return"missing";let r;try{r=E(e)}catch{return"conflict"}let o=Ht(r);return o===null?"conflict":o>zr()||r===Wr(t.name,n,Gr(t.dir))?"ready":"drift"}function ic(e=process.cwd()){let t=Nt(e),n=t.root,r=un(n),o=Fe(n),{refs:s,sources:i}=oc(r),l=[...s.keys()].sort(),c=o.mode??"skills",a=o.selection!==void 0?o.selection:void 0,f=a!==void 0?l.filter(v=>a.includes(v)):c==="package"?[]:l.filter(v=>s.get(v).tier==="core"),p=new Set(f),g=o.targets&&o.targets.length>0?o.targets:void 0,u=v=>!g||g.includes(v),m=Object.values(r?.sources??{}).flatMap(v=>v.targets),d=m.find(v=>v.kind==="source"&&v.dir===t.sourceDir),k=new Map(m.filter(v=>v.kind==="shell").map(v=>[v.dir,v])),y=new Set(d?.entries.map(v=>v.name)??[]),x=new Set(l),$=v=>a===void 0?new Set([...p,...v]):p,b=$(y),T=Xr(b,d,Zr((0,ke.join)(n,t.sourceDir),x)),h=[];for(let v of T){let j=s.get(v),z=(0,ke.join)(n,t.sourceDir,v),C;(0,xe.existsSync)(z)?j&&Ne(j.dir,z)?C=b.has(v)?"ready":"installed-unselected":C=y.has(v)?"drift":"conflict":C=b.has(v)?"missing":"not-selected",C!=="not-selected"&&h.push({name:v,state:C,version:j?.version??"",source:j?.source??""})}let S=[{dir:t.sourceDir,kind:"source",selected:!0,items:h}],R=(v,j)=>{let z=u(v),C=new Set(j?.entries.map(P=>P.name)??[]),A=$(C),D=[];for(let P of Xr(A,j,Zr((0,ke.join)(n,v),x))){let ee=s.get(P),U;if(!ee)U="conflict";else{let ie=(0,ke.join)(n,v,P,X);U=hd(ie,{name:P,dir:ee.dir},t.sourceDir),U==="conflict"&&C.has(P)&&(U="drift"),z?(U==="ready"&&!A.has(P)&&(U="installed-unselected"),U==="missing"&&!A.has(P)&&(U="not-selected")):U==="missing"?U="not-selected":(U==="ready"||U==="drift")&&(U="installed-unselected")}U!=="not-selected"&&D.push({name:P,state:U,version:ee?.version??"",source:ee?.source??""})}return{dir:v,kind:"shell",selected:z,items:D}};for(let v of t.shellDirs)S.push(R(v,k.get(v)));let N=new Set(t.shellDirs);for(let[v,j]of k){if(N.has(v)||!(0,xe.existsSync)((0,ke.join)(n,v)))continue;let z=R(v,j);z.items.length>0&&S.push(z)}let I=[...s.entries()].map(([v,j])=>({name:v,dir:j.dir,version:j.version,tier:j.tier,requires:[]}));return{root:n,sourceDir:t.sourceDir,skills:l,mode:c,selection:f,targetSelection:g??[],sources:i,skillVersions:Object.fromEntries([...s.entries()].map(([v,j])=>[v,j.version])),versionMismatches:ts(I),stateFile:Pt(n,dt(n)),stateExists:!!r,dirs:S,missingDirs:t.missingDirs}}function us(e){return e.filter(t=>t.tier==="core").map(t=>t.name)}function kd(e){return e.filter(t=>t.tier!=="core").map(t=>t.name)}function Sd(e,t,n="skills"){let r=new Set(t??[]);return e.map(o=>({name:o.name,tier:o.tier,selected:n==="skills"&&o.tier==="core"||r.has(o.name)}))}function lc(e,t){let n=new Set(t);return e.filter(r=>n.has(r.name)).map(r=>r.name)}function fs(e,t,n="skills"){let r=new Set(n==="skills"?[...us(e),...t]:t);return e.filter(o=>r.has(o.name)).map(o=>o.name)}function cc(e){let{skills:t,saved:n,explicit:r,all:o,noOptional:s,interactive:i,yes:l}=e,c=e.mode??"skills",a=t.map(d=>d.name);if(r!==void 0){let d=lc(t,r),k=r.filter(y=>!a.includes(y));return d.length===0?{names:[],invalid:k,savedInvalid:[],needsPrompt:!1,error:"\u5168\u90E8\u53D6\u503C\u975E\u6CD5"}:{names:fs(t,d,c),invalid:k,savedInvalid:[],needsPrompt:!1}}if(o)return{names:a,invalid:[],savedInvalid:[],needsPrompt:!1};if(s)return{names:us(t),invalid:[],savedInvalid:[],needsPrompt:!1};let f=n!==void 0,p=lc(t,n??[]),g=(n??[]).filter(d=>!a.includes(d)),u=c==="package"?f?p:[]:p.length>0?fs(t,p,c):us(t),m=i&&!l&&(c==="package"?t.length>0:kd(t).length>0);return{names:u,invalid:[],savedInvalid:g,needsPrompt:m}}function qn(){return!!(process.stdin.isTTY&&process.stdout.isTTY)}function ds(e){return e instanceof Error?e.name==="ExitPromptError"||e.name==="AbortPromptError"||/force closed|cancel/i.test(e.message):!1}function ac(e,t,n=[]){let r=t?new Set(t):void 0,o=[],s=e.find(l=>l.kind==="primary");s&&o.push({value:s.name,label:`\u5171\u8BFB\uFF5C${s.label}`,checked:r?r.has(s.name):!0});for(let l of e.filter(c=>c.kind==="agent"))!l.available&&!r?.has(l.name)||o.push({value:l.name,label:`agent\uFF5C${l.label}${l.available?"":"\uFF08\u672A\u68C0\u6D4B\u5230\uFF09"}`,checked:l.available?r?r.has(l.name):!0:!1,disabled:l.available?!1:"\u672C\u673A\u672A\u68C0\u6D4B\u5230\u8BE5 agent\uFF0C\u4E0D\u51ED\u7A7A\u521B\u5EFA\u76EE\u5F55"});let i=new Set(n);for(let l of e.filter(c=>c.kind==="custom"&&i.has(c.dir)))o.push({value:l.dir,label:`\u81EA\u5B9A\u4E49\uFF5C${l.dir}\uFF08\u4E00\u6B21\u6027 --dir\uFF09`,checked:!0,disabled:"\u4E00\u6B21\u6027 --dir\uFF0C\u672C\u6B21\u56FA\u5B9A\u5199\u5165\u3001\u4E0D\u4FDD\u5B58\u4E3A\u957F\u671F\u9009\u62E9"});return o}function uc(e,t,n=[],r=[]){let o=t?new Set(t):void 0,s=e.map(i=>({value:i,label:`\u9879\u76EE\u76EE\u5F55\uFF5C${i}`,checked:o?o.has(i):!0}));for(let i of r)o?.has(i)&&s.push({value:i,label:`\u9879\u76EE\u76EE\u5F55\uFF5C${i}\uFF08\u4E0D\u5B58\u5728\uFF09`,checked:!1,disabled:"\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8865\u9F50\u540E\u91CD\u8DD1\u5373\u53EF"});for(let i of n)e.includes(i)||s.push({value:i,label:`\u81EA\u5B9A\u4E49\uFF5C${i}\uFF08\u4E00\u6B21\u6027 --dir\uFF09`,checked:!0,disabled:"\u4E00\u6B21\u6027 --dir\uFF0C\u672C\u6B21\u56FA\u5B9A\u5199\u5165\u3001\u4E0D\u4FDD\u5B58\u4E3A\u957F\u671F\u9009\u62E9"});return s}async function gs(e,t){if(e.length===0)return[];let{checkbox:n}=await import("@inquirer/prompts");try{return await n({message:t,choices:e.map(r=>({value:r.value,name:r.label,checked:r.checked,disabled:r.disabled??!1})),pageSize:15,required:!1})}catch(r){if(ds(r))return null;throw r}}async function fc(e){let{confirm:t}=await import("@inquirer/prompts");try{return await t({message:e,default:!0})}catch(n){if(ds(n))return null;throw n}}async function dc(e,t,n="skills"){let{checkbox:r}=await import("@inquirer/prompts"),o=Sd(e,t,n).map(s=>({value:s.name,name:n==="skills"&&s.tier==="core"?`${s.name}\uFF08core\uFF09`:s.name,checked:s.selected,disabled:n==="skills"&&s.tier==="core"?"core\uFF08\u5FC5\u88C5\uFF09":!1}));try{let s=await r({message:n==="package"?"\u9009\u62E9\u8981\u5B89\u88C5\u7684\u6280\u80FD\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF1B\u5168\u4E0D\u9009\u5373\u7EAF\u5305\u7BA1\u7406\u5668\u6A21\u5F0F\uFF09":"\u9009\u62E9\u8981\u5B89\u88C5\u7684\u6280\u80FD\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF1Bcore \u5FC5\u88C5\uFF09",choices:o,pageSize:12,required:!1});return n==="package"?s:fs(e,s)}catch(s){if(ds(s))return null;throw s}}var yd="v1",gc=`/* fxri-docs-theme: ${yd} */`,pc="/* fxri-docs-theme:brand-start */",mc="/* fxri-docs-theme:brand-end */";function ps(e){return e.replace(/^\uFEFF/,"").replace(/\r\n/g,`
118
+ `)}function nd(e,t){let n=se();if(!n.selection)return;let r={...n.selection};if(!e&&!t){Ve({selection:void 0});return}let o=new Set(e??[]);for(let s of Object.keys(r)){if(t&&s!==t)continue;let i=e?(r[s]??[]).filter(l=>!o.has(l)):[];i.length>0?r[s]=i:delete r[s]}Ve({selection:Object.keys(r).length>0?r:void 0})}function rd(e){let t=se(),n={...t.sources??{}};delete n[e];let r={...t.selection??{}};delete r[e],Ve({sources:Object.keys(n).length>0?n:void 0,selection:Object.keys(r).length>0?r:void 0})}function od(e,t){if(e===De||t.kind==="builtin")return Jl([Vn()]);if(!t.root||!(0,B.existsSync)(t.root))return new Map;try{return Jl([_t(t.root,{name:e,temporary:t.temporary})])}catch{return new Map}}function as(e={}){let t=ft();e.dryRun||(nd(e.skills,e.source),e.source&&rd(e.source));let n=e.dryRun?null:qr(is(J()));try{let r=rt();if(!r)return{stateFile:t,stateExists:!1,targets:[],stateRemoved:!1};let o=e.skills?new Set(e.skills):null,s=[],i=!1,l=!1,c={};for(let[p,g]of Object.entries(r.sources)){if(e.source&&e.source!==p){c[p]=g;continue}let u=od(p,g),m=[];for(let d of g.targets){let k={dir:d.dir,label:d.label||Mt(d.dir)||null,removed:[],missing:[],skippedForeign:[],dirReclaimed:!1},y=[];for(let x of d.entries){if(o&&!o.has(x.name)){y.push(x);continue}let $=(0,Y.join)(d.dir,x.name),b=u.get(x.name);if(!b){let h=!1;try{h=(0,B.lstatSync)($).isSymbolicLink()&&!(0,B.existsSync)($)}catch{h=!1}if(h&&!e.dryRun){ze($),k.removed.push(x.name),l=!0;continue}if(h){k.removed.push(x.name);continue}k.skippedForeign.push(x.name),y.push(x);continue}let T=Ft($,b.linkTarget,void 0,b.dir);if(T==="absent"){k.missing.push(x.name),l=!0;continue}if(T==="wrong"||T==="file"||T==="dir"&&!Ne(b.dir,$)){k.skippedForeign.push(x.name),y.push(x);continue}if(e.dryRun){k.removed.push(x.name);continue}try{ze($),k.removed.push(x.name),l=!0}catch{i=!0,k.skippedForeign.push(x.name),y.push(x)}}if(!e.dryRun&&Wn(d.dir))try{(0,B.rmSync)(d.dir,{recursive:!0,force:!0}),k.dirReclaimed=!0}catch{}s.push(k),y.length>0&&m.push({...d,entries:y})}m.length>0&&(c[p]={...g,targets:m})}let a=s.every(p=>p.skippedForeign.length===0),f=!e.dryRun&&!i&&a&&Object.keys(c).length===0;return e.dryRun||(f?(0,B.rmSync)(t,{force:!0}):(l||Object.keys(c).length!==Object.keys(r.sources).length)&&Jr({format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:c})),{stateFile:t,stateExists:!0,targets:s,stateRemoved:f}}finally{n?.()}}function ql(e,t,n){t==="created"?e.created.push(n):t==="updated"?e.updated.push(n):t==="skipped"?e.skipped.push(n):e.conflicts.push(n)}function sd(e,t,n,r,o){return(0,B.existsSync)(t)?Ne(e,t)?"skipped":!n&&!r?"conflict":(o||(ze(t),Gn(e,t)),"updated"):(o||Gn(e,t),"created")}function id(e,t,n,r){let o=(0,B.existsSync)(e),s=o?E(e):"",i=o?Ht(s):null,l;return o?i!==null&&i>zr()||s===t?l="skipped":i===null&&!n?l="conflict":l="updated":l="created",!r&&(l==="created"||l==="updated")&&((0,B.mkdirSync)((0,Y.dirname)(e),{recursive:!0}),_(e,t)),l}function ec(e={}){let t=e.cwd??process.cwd(),n=cs({externalSources:e.externalSources,dryRun:e.dryRun}),r=n.flatMap(Dt);Kr(r);let o=Xl(r,e.skills),s=new Set(o.map(x=>x.name)),i=new Map(r.map(x=>[x.name,{dir:x.dir,linkTarget:x.linkTarget}])),l=Nt(t),c=l.root,a=un(c),f=(x,$,b)=>a?.sources?.[x]?.targets.find(T=>T.kind===$&&T.dir===b),p=[],g=[];for(let x of e.dirs??[]){let $=(0,Y.resolve)(t,x);if(!zn($,c)){p.push(x);continue}let b=Pt(c,$);b!==l.sourceDir&&!g.includes(b)&&g.push(b)}let u=Fe(c).targets,m=e.targetDirs??(u&&u.length>0?u:void 0),d;if(m===void 0)d=[...l.shellDirs];else{d=[];for(let x of m){let $=(0,Y.resolve)(c,x);if(!zn($,c)){console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4ED3\u5E93\u4E4B\u5916\u7684\u6280\u80FD\u76EE\u5F55\uFF1A${x}`);continue}let b=Pt(c,$);if(b!==l.sourceDir){if(!(0,B.existsSync)($)){console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6280\u80FD\u76EE\u5F55\uFF1A${b}\uFF08\u8865\u9F50\u76EE\u5F55\u540E\u91CD\u8DD1\u5373\u53EF\uFF09`);continue}d.includes(b)||d.push(b)}}}let k=[...d.filter(x=>!g.includes(x)),...g],y=e.dryRun?null:qr(Wl(c));try{let x={dir:l.sourceDir,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},$=(0,Y.join)(c,l.sourceDir),b=new Map;for(let I of o){let v=f(I.source,"source",l.sourceDir)?.entries.some(j=>j.name===I.name)??!1;try{let j=sd(I.dir,(0,Y.join)($,I.name),v,!!e.force,!!e.dryRun);ql(x,j,I.name),j!=="conflict"&&!e.dryRun&&b.set(I.source,[...b.get(I.source)??[],{name:I.name,version:I.version,mode:"copy"}])}catch(j){x.failed.push({name:I.name,reason:j.message})}}if(e.prune&&!e.dryRun)for(let I of n)x.pruned.push(...ls(f(I.name,"source",l.sourceDir),s,$,i));let T=new Set(x.pruned),h=[],S=new Map;for(let I of n)S.set(I.name,[]);for(let I of n){let v=f(I.name,"source",l.sourceDir),j=[...b.get(I.name)??[],...v?.entries.filter(z=>!s.has(z.name)&&!T.has(z.name)&&(0,B.existsSync)((0,Y.join)($,z.name)))??[]];j.length>0&&S.get(I.name).push({id:"source",dir:l.sourceDir,label:"\u771F\u6E90\u526F\u672C",kind:"source",entries:j})}for(let I of k){let v={dir:I,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},j=new Map;for(let C of o){let A=Wr(C.name,l.sourceDir,Gr(C.dir));try{let D=id((0,Y.join)(c,I,C.name,X),A,!!e.force,!!e.dryRun);ql(v,D,C.name),D!=="conflict"&&!e.dryRun&&j.set(C.source,[...j.get(C.source)??[],{name:C.name,version:C.version,mode:"shell"}])}catch(D){v.failed.push({name:C.name,reason:D.message})}}if(e.prune&&!e.dryRun)for(let C of n)for(let A of f(C.name,"shell",I)?.entries??[]){if(s.has(A.name))continue;let D=(0,Y.join)(c,I,A.name,X);if(!(0,B.existsSync)(D))continue;let P=E(D);Ht(P)!==null&&(ze((0,Y.join)(c,I,A.name)),v.pruned.push(A.name))}let z=new Set(v.pruned);for(let C of n){let A=f(C.name,"shell",I),D=[...j.get(C.name)??[],...A?.entries.filter(P=>!s.has(P.name)&&!z.has(P.name)&&(0,B.existsSync)((0,Y.join)(c,I,P.name)))??[]];D.length>0&&S.get(C.name).push({id:I,dir:I,label:"\u8584\u58F3",kind:"shell",entries:D})}h.push(v)}let R=new Set(k),N=!!e.prune&&m!==void 0;for(let I of n)for(let v of a?.sources?.[I.name]?.targets.filter(j=>j.kind==="shell")??[]){if(R.has(v.dir))continue;let j=v.entries;if(N){let z={dir:v.dir,created:[],updated:[],skipped:[],conflicts:[],failed:[],pruned:[]},C=[];for(let A of j){let D=(0,Y.join)(c,v.dir,A.name),P=(0,Y.join)(D,X);if(!(0,B.existsSync)(P))continue;let ee;try{ee=E(P)}catch{C.push(A);continue}if(Ht(ee)===null){C.push(A);continue}try{ze(D),z.pruned.push(A.name)}catch{C.push(A)}}j=C,z.pruned.length>0&&h.push(z)}j.length>0&&S.get(I.name).push({...v,entries:j})}if(!e.dryRun){let I={};for(let[v,j]of Object.entries(a?.sources??{}))!n.some(z=>z.name===v)&&j.targets.length>0&&(I[v]=j);for(let v of n){let j=S.get(v.name)??[];j.length>0&&(I[v.name]={kind:v.kind,version:v.version,temporary:v.temporary,root:v.url?"":v.root,url:v.url,ref:v.ref,targets:j})}ad(c,I),e.saveSelection!==!1&&ld(c,o.filter(v=>!v.temporary).map(v=>v.name)),e.saveTargets!==!1&&cd(c,d)}return{root:c,skills:o.map(I=>I.name),selection:o.map(I=>I.name),mode:e.mode??Fe(c).mode??"skills",targetSelection:k,source:x,shells:h,missingDirs:l.missingDirs,ignoredDirs:p,stateFile:Pt(c,dt(c))}}finally{y?.()}}function ld(e,t){try{let n=Fe(e);Ot({targets:n.targets,selection:t},e)}catch(n){console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u6280\u80FD\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${n.message}`)}}function cd(e,t){try{Ot({targets:[...new Set(t)]},e)}catch(n){console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u76EE\u5F55\u9009\u62E9\u4FDD\u5B58\u5931\u8D25\uFF1A${n.message}`)}}function ad(e,t){let n=Object.fromEntries(Object.entries(t).filter(([,r])=>r.targets.length>0));if(Object.keys(n).length===0){os(e);return}rs(e,n)}function ud(e,t){let n=Fe(e);if(!n.selection)return;if(!t){Ot({selection:void 0},e);return}let r=new Set(t),o=n.selection.filter(s=>!r.has(s));Ot({selection:o.length>0?o:void 0},e)}function tc(e={}){let t=e.cwd??process.cwd(),n=Nt(t),r=n.root,o=dt(r),s=Pt(r,o);e.dryRun||ud(r,e.skills);let i=un(r);if(!i)return{root:r,stateFile:s,stateExists:!1,sourceDir:n.sourceDir,dirs:[],reclaimed:[],stateRemoved:!1};let l=e.skills?new Set(e.skills):null,c=new Map(nt().map(k=>[k.name,k.dir])),a=[],f=[],p={},g=!1,u=!1;for(let[k,y]of Object.entries(i.sources)){let x=[];for(let $ of y.targets){if($.kind!=="source"&&$.kind!=="shell")continue;let b={dir:$.dir,kind:$.kind,removed:[],missing:[],skippedForeign:[]},T=[];for(let h of $.entries){if(l&&!l.has(h.name)){T.push(h);continue}let S=(0,Y.join)(r,$.dir,h.name);if(!($.kind==="source"?(0,B.existsSync)(S):(0,B.existsSync)((0,Y.join)(S,X)))){b.missing.push(h.name),u=!0;continue}if(!($.kind==="source"?fd(S,c.get(h.name)):dd(S))){b.skippedForeign.push(h.name),T.push(h);continue}if(e.dryRun){b.removed.push(h.name);continue}try{ze(S),b.removed.push(h.name),u=!0}catch{g=!0,b.skippedForeign.push(h.name),T.push(h)}}a.push(b),T.length>0&&x.push({...$,entries:T})}x.length>0&&(p[k]={...y,targets:x})}if(!e.dryRun)for(let k of[n.sourceDir,...i.sources[De]?.targets.filter(y=>y.kind==="shell").map(y=>y.dir)??[]]){let y=(0,Y.join)(r,k);if(!(!(0,B.existsSync)(y)||!Wn(y)))try{(0,B.rmSync)(y,{recursive:!0,force:!0}),f.push(k)}catch{}}let m=a.every(k=>k.skippedForeign.length===0),d=!e.dryRun&&!g&&m&&Object.keys(p).length===0;return e.dryRun||(d?os(r):(u||Object.keys(p).length!==Object.keys(i.sources).length)&&rs(r,p)),{root:r,stateFile:s,stateExists:!0,sourceDir:n.sourceDir,dirs:a,reclaimed:f,stateRemoved:d}}function fd(e,t){return!!t&&Ne(t,e)}function dd(e){try{return Ht(E((0,Y.join)(e,X)))!==null}catch{return!1}}function nc(){let e=de("skills");if(e?.autoLink===!1||process.env.CI)return 0;let t=rt();if(!t)return 0;let n=ut(),r;try{r=new Set((0,B.readdirSync)(n).filter(a=>(0,B.existsSync)((0,Y.join)(n,a))))}catch{return 0}let o=es(),s=e?.autoLinkReplaceForeign!==!1,i=process.platform==="win32"?"junction":"dir",l=0,c={};for(let[a,f]of Object.entries(t.sources)){let p=[];for(let g of f.targets){let u;try{u=(0,B.readdirSync)(g.dir,{withFileTypes:!0})}catch{p.push(g);continue}let m=new Map(u.map(k=>[k.name,k])),d=g.entries.filter(k=>{if(k.mode!=="link")return r.has(k.name);if(!r.has(k.name))return!1;let y=(0,Y.join)(o,k.name),x=(0,Y.join)(g.dir,k.name),$=m.get(k.name),b=$?Ft(x,y,$):"absent";if(b==="link-ok"||!s&&(b==="dir"||b==="file"))return!0;try{return b!=="absent"&&ze(x),(0,B.symlinkSync)(y,x,i),l+=1,!0}catch{return!0}});p.push({...g,entries:d})}c[a]={...f,targets:p}}return l>0&&Jr({format:Ke,schemaVersion:Ye,updatedAt:new Date().toISOString(),sources:c}),l}var xe=require("fs"),ke=require("path");function gd(e){return new Map((e?.entries??[]).map(t=>[t.name,t]))}function pd(e){let t=new Map;for(let n of Object.values(e?.sources??{}))for(let r of n.targets)for(let o of r.entries)t.set(o.name,o.version);return t}function oc(e){let t=new Map,n=[],r=pd(e),o=(l,c,a,f,p,g)=>{if(!n.some(u=>u.name===l)){n.push({name:l,kind:c,root:a,version:f,temporary:p,skills:g.map(u=>u.name)});for(let u of g)t.has(u.name)||t.set(u.name,{source:l,version:u.version,dir:u.dir,linkTarget:c==="builtin"?(0,ke.join)(a,"skills",u.name):u.dir,tier:u.tier})}},s=Vn();o(s.name,"builtin",s.root,s.version,!1,s.skills);for(let l of Dt(s))t.set(l.name,{source:l.source,version:l.version,dir:l.dir,linkTarget:l.linkTarget,tier:l.tier});let i=se();for(let[l,c]of Object.entries(i.sources??{}))if(!n.some(a=>a.name===l))try{let a=c.url?e?.sources[l]?.root:c.root;if(!a)continue;let f=_t(a,{name:l,temporary:!1});o(f.name,"local",f.root,f.version,!1,f.skills)}catch{}for(let[l,c]of Object.entries(e?.sources??{})){if(n.some(g=>g.name===l))continue;let a=[];if(c.root&&(0,xe.existsSync)(c.root))try{a=_t(c.root,{name:l,temporary:c.temporary}).skills}catch{a=[]}let f=new Set(a.map(g=>g.name));for(let g of c.targets)for(let u of g.entries)f.add(u.name);let p=[...f].map(g=>{let u=a.find(d=>d.name===g);if(u)return u;let m=c.root?(0,ke.join)(c.root,g):g;return{name:g,dir:m,version:r.get(g)??"",tier:"optional",requires:[]}});if(o(l,c.kind==="builtin"?"builtin":"local",c.root,c.version,c.temporary,p),p.length>0&&c.kind!=="builtin")for(let g of p){let u=t.get(g.name);u&&t.set(g.name,{...u,linkTarget:g.dir})}}return{refs:t,sources:n}}function md(e){let t;try{t=(0,xe.lstatSync)(e)}catch{return"absent"}if(!t.isSymbolicLink())return t.isDirectory()?"dir":"file";try{let n=(0,xe.readlinkSync)(e),r=Bn((0,ke.isAbsolute)(n)?n:(0,ke.join)((0,ke.dirname)(e),n));return(0,xe.existsSync)(r)?"wrong":"dangling"}catch{return"dangling"}}function Xr(e,t,n=[]){return[...new Set([...e,...t?.entries.map(o=>o.name)??[],...n])].sort()}function Zr(e,t){return Nl(e).filter(n=>n.isDirectory()||n.isSymbolicLink()).map(n=>n.name).filter(n=>t.has(n))}function rc(e,t,n,r,o,s=!0){let i=gd(o),l=[];for(let c of t){let a=r.get(c),f=n.has(c),p=(0,ke.join)(e,c),g=a?Ft(p,a.linkTarget,void 0,a.dir):md(p),u;s?g==="link-ok"?u=f?"link":"installed-unselected":g==="dangling"?u="dangling":g==="wrong"?u="wrong":g==="file"?u="conflict":g==="dir"?a&&(0,xe.existsSync)(a.dir)&&Ne(a.dir,p)?u=f?"copy":"installed-unselected":u=i.get(c)?.mode==="copy"?"copy-drift":"conflict":u=f?"missing":"not-selected":g==="absent"?u="not-selected":g==="wrong"||g==="file"?u=g==="wrong"?"wrong":"conflict":u="installed-unselected",u!=="not-selected"&&l.push({name:c,state:u,version:a?.version??"",source:a?.source??""})}return l}function sc(){let e=rt(),t=se(),{refs:n,sources:r}=oc(e),o=[...n.keys()].sort(),s=t.mode??"skills",i=t.selection,l=i!==void 0&&Object.keys(i).length>0,c=l?o.filter(h=>{let S=n.get(h),R=i[S.source];return R===void 0||R.includes(h)}):s==="package"?[]:o.filter(h=>n.get(h).tier==="core"),a=new Set(c),f=t.targets&&t.targets.length>0?t.targets:void 0,p=h=>!f||f.includes(h),g=We([]),u=new Map(g.filter(h=>h.name).map(h=>[M(h.dir),h.name])),m=new Map;for(let h of Object.values(e?.sources??{}))for(let S of h.targets)m.set(M(S.dir),S);let d=new Set(o),k=h=>l?a:new Set([...a,...h?.entries.map(S=>S.name)??[]]),y=[],x=[],$=new Set;for(let h of g){let S=m.get(M(h.dir));if(!h.available&&h.kind==="agent"){x.push({dir:h.dir,label:h.label});continue}if(h.kind!=="primary"&&!S&&(!h.dirExists||Wn(h.dir)))continue;$.add(M(h.dir));let R=k(S),N=h.name?p(h.name):!0,I=rc(h.dir,Xr(R,S,Zr(h.dir,d)),R,n,S,N);!N&&I.length===0||y.push({dir:h.dir,label:h.label,kind:h.kind,available:h.available,dirExists:h.dirExists,recorded:!!S,selected:N,items:I})}let b=[];for(let h of m.values()){if($.has(M(h.dir)))continue;let S=jl(h.dir);S&&(0,xe.existsSync)(h.dir)&&b.push({dir:h.dir,label:S});let R=k(h),N=u.get(M(h.dir))??"",I=N?p(N):!0,v=rc(h.dir,Xr(R,h,Zr(h.dir,d)),R,n,h,I);!I&&v.length===0||y.push({dir:h.dir,label:S??(h.label||Mt(h.dir)||"\u81EA\u5B9A\u4E49 --dir"),kind:h.kind==="primary"||h.kind==="agent"?h.kind:"custom",available:!0,dirExists:(0,xe.existsSync)(h.dir),recorded:!0,selected:I,items:v})}let T=[...n.entries()].map(([h,S])=>({name:h,dir:S.dir,version:S.version,tier:S.tier,requires:[]}));return{source:ut(),skills:o,mode:s,selection:c,targetSelection:f??[],sources:r,skillVersions:Object.fromEntries([...n.entries()].map(([h,S])=>[h,S.version])),versionMismatches:ts(T),stateFile:ft(),stateExists:!!e,targets:y,pendingAgents:x,canonicalReaders:Al(),legacyTargets:b}}function hd(e,t,n){if(!(0,xe.existsSync)(e))return"missing";let r;try{r=E(e)}catch{return"conflict"}let o=Ht(r);return o===null?"conflict":o>zr()||r===Wr(t.name,n,Gr(t.dir))?"ready":"drift"}function ic(e=process.cwd()){let t=Nt(e),n=t.root,r=un(n),o=Fe(n),{refs:s,sources:i}=oc(r),l=[...s.keys()].sort(),c=o.mode??"skills",a=o.selection!==void 0?o.selection:void 0,f=a!==void 0?l.filter(v=>a.includes(v)):c==="package"?[]:l.filter(v=>s.get(v).tier==="core"),p=new Set(f),g=o.targets&&o.targets.length>0?o.targets:void 0,u=v=>!g||g.includes(v),m=Object.values(r?.sources??{}).flatMap(v=>v.targets),d=m.find(v=>v.kind==="source"&&v.dir===t.sourceDir),k=new Map(m.filter(v=>v.kind==="shell").map(v=>[v.dir,v])),y=new Set(d?.entries.map(v=>v.name)??[]),x=new Set(l),$=v=>a===void 0?new Set([...p,...v]):p,b=$(y),T=Xr(b,d,Zr((0,ke.join)(n,t.sourceDir),x)),h=[];for(let v of T){let j=s.get(v),z=(0,ke.join)(n,t.sourceDir,v),C;(0,xe.existsSync)(z)?j&&Ne(j.dir,z)?C=b.has(v)?"ready":"installed-unselected":C=y.has(v)?"drift":"conflict":C=b.has(v)?"missing":"not-selected",C!=="not-selected"&&h.push({name:v,state:C,version:j?.version??"",source:j?.source??""})}let S=[{dir:t.sourceDir,kind:"source",selected:!0,items:h}],R=(v,j)=>{let z=u(v),C=new Set(j?.entries.map(P=>P.name)??[]),A=$(C),D=[];for(let P of Xr(A,j,Zr((0,ke.join)(n,v),x))){let ee=s.get(P),U;if(!ee)U="conflict";else{let ie=(0,ke.join)(n,v,P,X);U=hd(ie,{name:P,dir:ee.dir},t.sourceDir),U==="conflict"&&C.has(P)&&(U="drift"),z?(U==="ready"&&!A.has(P)&&(U="installed-unselected"),U==="missing"&&!A.has(P)&&(U="not-selected")):U==="missing"?U="not-selected":(U==="ready"||U==="drift")&&(U="installed-unselected")}U!=="not-selected"&&D.push({name:P,state:U,version:ee?.version??"",source:ee?.source??""})}return{dir:v,kind:"shell",selected:z,items:D}};for(let v of t.shellDirs)S.push(R(v,k.get(v)));let N=new Set(t.shellDirs);for(let[v,j]of k){if(N.has(v)||!(0,xe.existsSync)((0,ke.join)(n,v)))continue;let z=R(v,j);z.items.length>0&&S.push(z)}let I=[...s.entries()].map(([v,j])=>({name:v,dir:j.dir,version:j.version,tier:j.tier,requires:[]}));return{root:n,sourceDir:t.sourceDir,skills:l,mode:c,selection:f,targetSelection:g??[],sources:i,skillVersions:Object.fromEntries([...s.entries()].map(([v,j])=>[v,j.version])),versionMismatches:ts(I),stateFile:Pt(n,dt(n)),stateExists:!!r,dirs:S,missingDirs:t.missingDirs}}function us(e){return e.filter(t=>t.tier==="core").map(t=>t.name)}function kd(e){return e.filter(t=>t.tier!=="core").map(t=>t.name)}function Sd(e,t,n="skills"){let r=new Set(t??[]);return e.map(o=>({name:o.name,tier:o.tier,selected:n==="skills"&&o.tier==="core"||r.has(o.name)}))}function lc(e,t){let n=new Set(t);return e.filter(r=>n.has(r.name)).map(r=>r.name)}function fs(e,t,n="skills"){let r=new Set(n==="skills"?[...us(e),...t]:t);return e.filter(o=>r.has(o.name)).map(o=>o.name)}function cc(e){let{skills:t,saved:n,explicit:r,all:o,noOptional:s,interactive:i,yes:l}=e,c=e.mode??"skills",a=t.map(d=>d.name);if(r!==void 0){let d=lc(t,r),k=r.filter(y=>!a.includes(y));return d.length===0?{names:[],invalid:k,savedInvalid:[],needsPrompt:!1,error:"\u5168\u90E8\u53D6\u503C\u975E\u6CD5"}:{names:fs(t,d,c),invalid:k,savedInvalid:[],needsPrompt:!1}}if(o)return{names:a,invalid:[],savedInvalid:[],needsPrompt:!1};if(s)return{names:us(t),invalid:[],savedInvalid:[],needsPrompt:!1};let f=n!==void 0,p=lc(t,n??[]),g=(n??[]).filter(d=>!a.includes(d)),u=c==="package"?f?p:[]:p.length>0?fs(t,p,c):us(t),m=i&&!l&&(c==="package"?t.length>0:kd(t).length>0);return{names:u,invalid:[],savedInvalid:g,needsPrompt:m}}function qn(){return!!(process.stdin.isTTY&&process.stdout.isTTY)}function ds(e){return e instanceof Error?e.name==="ExitPromptError"||e.name==="AbortPromptError"||/force closed|cancel/i.test(e.message):!1}function ac(e,t,n=[]){let r=t?new Set(t):void 0,o=[],s=e.find(l=>l.kind==="primary");s&&o.push({value:s.name,label:`\u5171\u8BFB\uFF5C${s.label}`,checked:r?r.has(s.name):!0});for(let l of e.filter(c=>c.kind==="agent"))!l.available&&!r?.has(l.name)||o.push({value:l.name,label:`agent\uFF5C${l.label}${l.available?"":"\uFF08\u672A\u68C0\u6D4B\u5230\uFF09"}`,checked:l.available?r?r.has(l.name):!0:!1,disabled:l.available?!1:"\u672C\u673A\u672A\u68C0\u6D4B\u5230\u8BE5 agent\uFF0C\u4E0D\u51ED\u7A7A\u521B\u5EFA\u76EE\u5F55"});let i=new Set(n);for(let l of e.filter(c=>c.kind==="custom"&&i.has(c.dir)))o.push({value:l.dir,label:`\u81EA\u5B9A\u4E49\uFF5C${l.dir}\uFF08\u4E00\u6B21\u6027 --dir\uFF09`,checked:!0,disabled:"\u4E00\u6B21\u6027 --dir\uFF0C\u672C\u6B21\u56FA\u5B9A\u5199\u5165\u3001\u4E0D\u4FDD\u5B58\u4E3A\u957F\u671F\u9009\u62E9"});return o}function uc(e,t,n=[],r=[]){let o=t?new Set(t):void 0,s=e.map(i=>({value:i,label:`\u9879\u76EE\u76EE\u5F55\uFF5C${i}`,checked:o?o.has(i):!0}));for(let i of r)o?.has(i)&&s.push({value:i,label:`\u9879\u76EE\u76EE\u5F55\uFF5C${i}\uFF08\u4E0D\u5B58\u5728\uFF09`,checked:!1,disabled:"\u76EE\u5F55\u4E0D\u5B58\u5728\uFF0C\u8865\u9F50\u540E\u91CD\u8DD1\u5373\u53EF"});for(let i of n)e.includes(i)||s.push({value:i,label:`\u81EA\u5B9A\u4E49\uFF5C${i}\uFF08\u4E00\u6B21\u6027 --dir\uFF09`,checked:!0,disabled:"\u4E00\u6B21\u6027 --dir\uFF0C\u672C\u6B21\u56FA\u5B9A\u5199\u5165\u3001\u4E0D\u4FDD\u5B58\u4E3A\u957F\u671F\u9009\u62E9"});return s}async function gs(e,t){if(e.length===0)return[];let{checkbox:n}=await import("@inquirer/prompts");try{return await n({message:t,choices:e.map(r=>({value:r.value,name:r.label,checked:r.checked,disabled:r.disabled??!1})),pageSize:15,required:!1})}catch(r){if(ds(r))return null;throw r}}async function fc(e){let{confirm:t}=await import("@inquirer/prompts");try{return await t({message:e,default:!0})}catch(n){if(ds(n))return null;throw n}}async function dc(e,t,n="skills"){let{checkbox:r}=await import("@inquirer/prompts"),o=Sd(e,t,n).map(s=>({value:s.name,name:n==="skills"&&s.tier==="core"?`${s.name}\uFF08core\uFF09`:s.name,checked:s.selected,disabled:n==="skills"&&s.tier==="core"?"core\uFF08\u5FC5\u88C5\uFF09":!1}));try{let s=await r({message:n==="package"?"\u9009\u62E9\u8981\u5B89\u88C5\u7684\u6280\u80FD\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF1B\u5168\u4E0D\u9009\u5373\u7EAF\u5305\u7BA1\u7406\u5668\u6A21\u5F0F\uFF09":"\u9009\u62E9\u8981\u5B89\u88C5\u7684\u6280\u80FD\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF1Bcore \u5FC5\u88C5\uFF09",choices:o,pageSize:12,required:!1});return n==="package"?s:fs(e,s)}catch(s){if(ds(s))return null;throw s}}var yd="1.1",gc=`/* fxri-docs-theme: ${yd} */`,bd=/^\/\* fxri-docs-theme: (?:v\d+|\d+\.\d+) \*\/$/,pc="/* fxri-docs-theme:brand-start */",mc="/* fxri-docs-theme:brand-end */";function ps(e){return e.replace(/^\uFEFF/,"").replace(/\r\n/g,`
119
119
  `)}function hc(){return(0,Ie.join)(tt(),"templates","docs-theme")}function Qr(e){let t=ps(e).split(`
120
- `);if(t[0]!==gc)return null;let n=t.indexOf(pc),r=t.indexOf(mc);return n===-1||r===-1||r<n?null:{header:t[0],brand:t.slice(n+1,r).join(`
120
+ `);if(!bd.test(t[0]??""))return null;let n=t.indexOf(pc),r=t.indexOf(mc);return n===-1||r===-1||r<n?null:{header:t[0],brand:t.slice(n+1,r).join(`
121
121
  `).trim(),common:t.slice(r+1).join(`
122
- `).replace(/^\n+/,"").trimEnd()}}function bd(e,t){let n=e.split(`
122
+ `).replace(/^\n+/,"").trimEnd()}}function vd(e,t){let n=e.split(`
123
123
  `),r=t.split(`
124
- `),o=0;for(;o<Math.max(n.length,r.length)&&n[o]===r[o];)o+=1;return o+1}function kc(e,t=hc()){let n=[],r=ps(E((0,Ie.join)(t,"index.ts"))),o=Qr(E((0,Ie.join)(t,"custom.css")));if(!o)throw new Error(`\u4E3B\u9898\u6A21\u677F\u7F3A\u5C11\u6807\u8BB0\u884C\uFF1A${(0,Ie.join)(t,"custom.css")}`);let s=(0,Ie.join)(e,"index.ts"),i=(0,Ie.join)(e,"custom.css");if((0,gt.existsSync)(s)||n.push(`\u7F3A\u5C11 index.ts\uFF08\u6267\u884C toolkit docs theme --write \u751F\u6210\uFF09\uFF1A${s}`),(0,gt.existsSync)(i)||n.push(`\u7F3A\u5C11 custom.css\uFF08\u6267\u884C toolkit docs theme --write \u751F\u6210\uFF09\uFF1A${i}`),(0,gt.existsSync)(s)&&ps(E(s))!==r&&n.push("index.ts \u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08\u6267\u884C toolkit docs theme --write \u5237\u65B0\uFF09"),(0,gt.existsSync)(i)){let l=Qr(E(i));if(!l)n.push(`custom.css \u7F3A\u5C11\u4E3B\u9898\u6807\u8BB0\u884C\uFF08\u671F\u671B\u9996\u884C ${gc}\uFF0C\u5E76\u4FDD\u7559 brand-start / brand-end\uFF09`);else if(l.common!==o.common){let c=bd(o.common,l.common);n.push(`custom.css \u516C\u5171\u89C4\u5219\u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08\u7B2C ${c} \u884C\uFF09\uFF1B\u672C\u7AD9\u5DEE\u5F02\u8BF7\u5199\u5728 brand-start \u4E0E brand-end \u4E4B\u95F4`)}}return{ok:n.length===0,problems:n}}function Sc(e,t={}){let n=t.templateDir??hc(),r=E((0,Ie.join)(n,"index.ts")),o=E((0,Ie.join)(n,"custom.css")),s=Qr(o);if(!s)throw new Error(`\u4E3B\u9898\u6A21\u677F\u7F3A\u5C11\u6807\u8BB0\u884C\uFF1A${(0,Ie.join)(n,"custom.css")}`);let i=[],l=[];(0,gt.mkdirSync)(e,{recursive:!0});let c=(0,Ie.join)(e,"index.ts");_(c,r),i.push(c);let a=(0,Ie.join)(e,"custom.css"),f=s.brand;if((0,gt.existsSync)(a)){let p=Qr(E(a));if(p)f=p.brand,l.push(a);else if(!t.force)throw new Error(`custom.css \u7F3A\u5C11\u4E3B\u9898\u6807\u8BB0\u884C\uFF0C\u65E0\u6CD5\u4FDD\u7559\u54C1\u724C\u6BB5\uFF1B\u786E\u8BA4\u8986\u76D6\u8BF7\u52A0 --force\uFF1A${a}`)}return _(a,`${s.header}
124
+ `),o=0;for(;o<Math.max(n.length,r.length)&&n[o]===r[o];)o+=1;return o+1}function kc(e,t=hc()){let n=[],r=ps(E((0,Ie.join)(t,"index.ts"))),o=Qr(E((0,Ie.join)(t,"custom.css")));if(!o)throw new Error(`\u4E3B\u9898\u6A21\u677F\u7F3A\u5C11\u6807\u8BB0\u884C\uFF1A${(0,Ie.join)(t,"custom.css")}`);let s=(0,Ie.join)(e,"index.ts"),i=(0,Ie.join)(e,"custom.css");if((0,gt.existsSync)(s)||n.push(`\u7F3A\u5C11 index.ts\uFF08\u6267\u884C toolkit docs theme --write \u751F\u6210\uFF09\uFF1A${s}`),(0,gt.existsSync)(i)||n.push(`\u7F3A\u5C11 custom.css\uFF08\u6267\u884C toolkit docs theme --write \u751F\u6210\uFF09\uFF1A${i}`),(0,gt.existsSync)(s)&&ps(E(s))!==r&&n.push("index.ts \u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08\u6267\u884C toolkit docs theme --write \u5237\u65B0\uFF09"),(0,gt.existsSync)(i)){let l=Qr(E(i));if(!l)n.push(`custom.css \u7F3A\u5C11\u4E3B\u9898\u6807\u8BB0\u884C\uFF08\u671F\u671B\u9996\u884C ${gc}\uFF0C\u5E76\u4FDD\u7559 brand-start / brand-end\uFF09`);else if(l.header!==o.header)n.push(`custom.css \u7248\u672C\u6807\u8BB0\u843D\u540E\uFF08\u671F\u671B ${gc}\uFF0C\u5B9E\u9645 ${l.header}\uFF09\uFF1B\u6267\u884C toolkit docs theme --write \u5237\u65B0\u516C\u5171\u6BB5`);else if(l.common!==o.common){let c=vd(o.common,l.common);n.push(`custom.css \u516C\u5171\u89C4\u5219\u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08\u7B2C ${c} \u884C\uFF09\uFF1B\u672C\u7AD9\u5DEE\u5F02\u8BF7\u5199\u5728 brand-start \u4E0E brand-end \u4E4B\u95F4`)}}return{ok:n.length===0,problems:n}}function Sc(e,t={}){let n=t.templateDir??hc(),r=E((0,Ie.join)(n,"index.ts")),o=E((0,Ie.join)(n,"custom.css")),s=Qr(o);if(!s)throw new Error(`\u4E3B\u9898\u6A21\u677F\u7F3A\u5C11\u6807\u8BB0\u884C\uFF1A${(0,Ie.join)(n,"custom.css")}`);let i=[],l=[];(0,gt.mkdirSync)(e,{recursive:!0});let c=(0,Ie.join)(e,"index.ts");_(c,r),i.push(c);let a=(0,Ie.join)(e,"custom.css"),f=s.brand;if((0,gt.existsSync)(a)){let p=Qr(E(a));if(p)f=p.brand,l.push(a);else if(!t.force)throw new Error(`custom.css \u7F3A\u5C11\u4E3B\u9898\u6807\u8BB0\u884C\uFF0C\u65E0\u6CD5\u4FDD\u7559\u54C1\u724C\u6BB5\uFF1B\u786E\u8BA4\u8986\u76D6\u8BF7\u52A0 --force\uFF1A${a}`)}return _(a,`${s.header}
125
125
  ${pc}
126
126
  ${f}
127
127
  ${mc}
128
128
  ${s.common}
129
- `),i.push(a),{written:i,kept:l}}var bc=require("fs"),eo=require("path");var vd=new Set(po),$d=new Set(["redact","check","tasks","changelog","updateCheck","skills"]);function yc(e){let t=process.env[e];return t!==void 0&&t!==""}function ms(e){let t=Jt(e),n=Jt(J()),r=we(e),o=we(J());return r===o?"~":r.startsWith(`${o}/`)?`~/${t.slice(n.length).replace(/^\/+/,"")}`:t}function vc(e){let t=Jt(e),n=t.toLowerCase(),r=we(J()),o="",s=0;for(let i=n.indexOf(r);i!==-1;i=n.indexOf(r,i+1)){let l=i+r.length;l!==t.length&&t[l]!=="/"||(o+=`${t.slice(s,i)}~`,s=l)}return o+t.slice(s)}function xd(e){return e.map(t=>({level:"warn",scope:"\u914D\u7F6E",message:t.key===""?`\u5FFD\u7565\u914D\u7F6E\u6587\u4EF6\u300C${t.file}\u300D\uFF1A${t.detail}\uFF0C\u5DF2\u6309\u672A\u914D\u7F6E\u5904\u7406`:`\u5FFD\u7565\u914D\u7F6E\u9879\u300C${t.key}\u300D\uFF08${t.file}\uFF09\uFF1A${t.detail}\uFF0C\u5DF2\u6309\u672A\u914D\u7F6E\u5904\u7406`}))}function Rd(e,t){switch(e.state){case"ignored":return{level:"info",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5DF2\u7EB3\u5165 git \u5FFD\u7565\uFF1A${t}`};case"not-ignored":return{level:"warn",scope:"\u672C\u5730\u5C42",message:"\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u672A\u7EB3\u5165 git \u5FFD\u7565\uFF0C\u53EF\u80FD\u968F git \u63D0\u4EA4\u6CC4\u9732\u4E2A\u4EBA\u914D\u7F6E\uFF1A\u91CD\u8DD1 toolkit init \u53EF\u81EA\u52A8\u8865\u5199\u5FFD\u7565\u884C"};case"tracked":return{level:"warn",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5DF2\u88AB\u5FFD\u7565\u89C4\u5219\u8986\u76D6\u4F46\u4ECD\u88AB git \u8DDF\u8E2A\uFF08\u7591\u4F3C\u5386\u53F2 git add -f\uFF09\uFF1A\u6267\u884C git rm --cached ${(0,eo.basename)(t)} \u540E\u624D\u4F1A\u771F\u6B63\u4E0D\u5165\u5E93`};case"unavailable":return{level:"warn",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5FFD\u7565\u5224\u5B9A\u4E0D\u53EF\u7528\uFF08${e.detail??"\u672A\u77E5\u539F\u56E0"}\uFF09\uFF0C\u8BF7\u6838\u5B9E git \u73AF\u5883`};case"outside-repo":return{level:"info",scope:"\u672C\u5730\u5C42",message:"\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u4F4D\u4E8E\u5F53\u524D\u4ED3\u5E93\u5DE5\u4F5C\u6811\u4E4B\u5916\uFF0C\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528"};default:return{level:"info",scope:"\u672C\u5730\u5C42",message:"\u672A\u68C0\u6D4B\u5230 git \u4ED3\u5E93\uFF0C\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u7684\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528"}}}function wd(e,t){return e?t.filter(n=>{let r=e[n];return typeof r!="object"||r===null||Array.isArray(r)?!1:Object.keys(r).some(o=>!vd.has(`${n}.${o}`))}):[]}function Ed(){return(0,bc.existsSync)((0,eo.join)(J(),Sn))?[{level:"info",scope:"\u672C\u5730\u5C42",message:`\u68C0\u6D4B\u5230 home \u76EE\u5F55\u4E0B\u7684 ${Sn}\uFF1A\u8BE5\u6587\u4EF6\u6309\u8BBE\u8BA1\u4E0D\u53C2\u4E0E\u672C\u5730\u5C42\u5411\u4E0A\u67E5\u627E\uFF08\u6B62\u4E8E home\uFF09\uFF0C\u5982\u9700\u6309\u9879\u76EE\u751F\u6548\u8BF7\u653E\u5230\u9879\u76EE\u76EE\u5F55\u4E0B`}]:[]}function Td(e){let t=[];for(let n of e)for(let r of n.otherSections)$d.has(r)||t.push({level:"info",scope:"\u914D\u7F6E",message:`${n.layer}\u5B58\u5728\u672A\u77E5\u914D\u7F6E\u6BB5\u300C${r}\u300D\uFF1A\u672C\u7248\u672C\u672A\u8BFB\u53D6\uFF0C\u7591\u4F3C\u62FC\u5199\u9519\u8BEF`});return t}function Cd(e,t){let n=e.length===0?"\u4E09\u5C42\u5747\u65E0\u914D\u7F6E\u6587\u4EF6\uFF0C\u5168\u90E8\u53D6\u9ED8\u8BA4\u503C":`\u5171\u547D\u4E2D ${e.length} \u5C42\uFF1A${e.join("\u3001")}`;return t?`${n}\uFF1B\u672A\u68C0\u6D4B\u5230 git \u4ED3\u5E93\uFF0C\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528`:n}function $c(e=process.cwd()){let t=qt(e),n=t.local.file,r=n===null?null:rr(n,e),o=[t.global,t.project,t.local].map(a=>({layer:a.layer,file:a.file,present:a.file!==null,ignored:a.layer==="\u672C\u5730\u5C42"?r:null,sections:a.sections,otherSections:wd(a.config,a.sections)})),s=po.map(a=>({key:a,source:Vs(t,a)})),i=Hs.filter(a=>yc(a.env)),l=Bs.filter(a=>yc(a.env)),c=[...xd(t.fallbacks)];return r!==null&&n!==null&&c.push(Rd(r,n)),c.push(...Ed(),...Td(o)),{summary:Cd(o.filter(a=>a.present).map(a=>a.layer),hn(e).kind==="not-a-repo"),cwd:e,levels:o,displayKeys:s,env:i,bypass:l,items:c,warnings:c.filter(a=>a.level==="warn").length}}var q=require("fs"),W=require("path");var fn={site:"https://fxri-net.github.io/toolkit/",gettingStarted:"https://fxri-net.github.io/toolkit/getting-started",guide:"https://fxri-net.github.io/toolkit/guide"},ot="# @fxri/toolkit",xc=`${ot} \u5FFD\u7565\u7247\u6BB5\uFF08\u8FD0\u884C\u65F6\u6587\u4EF6\u4E0E\u4E2A\u4EBA\u672C\u5730\u914D\u7F6E\uFF0C\u4E0D\u5165\u5E93\uFF09`,ks="# \u4E0D\u60F3\u6539\u56E2\u961F .gitignore \u8005\uFF0C\u53EF\u628A\u8FD9\u4E9B\u5FFD\u7565\u884C\u5199\u8FDB .git/info/exclude\uFF08\u672C\u5730\u6392\u9664\u3001\u4E0D\u8FDB\u7248\u672C\u63A7\u5236\uFF09",hs=[{row:".archive.lock",patterns:[/^\/?\.archive\.lock$/]},{row:".toolkitrc.local.json",patterns:[/^\/?\.toolkitrc\.local\.json$/,/^\*\.local\.json$/,/^\.toolkitrc\.\*$/]}],pt="toolkit skills install --scope project",Id=[pt,"toolkit skills install"],Ad=`${wn}
129
+ `),i.push(a),{written:i,kept:l}}var bc=require("fs"),eo=require("path");var $d=new Set(po),xd=new Set(["redact","check","tasks","changelog","updateCheck","skills"]);function yc(e){let t=process.env[e];return t!==void 0&&t!==""}function ms(e){let t=Jt(e),n=Jt(J()),r=we(e),o=we(J());return r===o?"~":r.startsWith(`${o}/`)?`~/${t.slice(n.length).replace(/^\/+/,"")}`:t}function vc(e){let t=Jt(e),n=t.toLowerCase(),r=we(J()),o="",s=0;for(let i=n.indexOf(r);i!==-1;i=n.indexOf(r,i+1)){let l=i+r.length;l!==t.length&&t[l]!=="/"||(o+=`${t.slice(s,i)}~`,s=l)}return o+t.slice(s)}function Rd(e){return e.map(t=>({level:"warn",scope:"\u914D\u7F6E",message:t.key===""?`\u5FFD\u7565\u914D\u7F6E\u6587\u4EF6\u300C${t.file}\u300D\uFF1A${t.detail}\uFF0C\u5DF2\u6309\u672A\u914D\u7F6E\u5904\u7406`:`\u5FFD\u7565\u914D\u7F6E\u9879\u300C${t.key}\u300D\uFF08${t.file}\uFF09\uFF1A${t.detail}\uFF0C\u5DF2\u6309\u672A\u914D\u7F6E\u5904\u7406`}))}function wd(e,t){switch(e.state){case"ignored":return{level:"info",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5DF2\u7EB3\u5165 git \u5FFD\u7565\uFF1A${t}`};case"not-ignored":return{level:"warn",scope:"\u672C\u5730\u5C42",message:"\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u672A\u7EB3\u5165 git \u5FFD\u7565\uFF0C\u53EF\u80FD\u968F git \u63D0\u4EA4\u6CC4\u9732\u4E2A\u4EBA\u914D\u7F6E\uFF1A\u91CD\u8DD1 toolkit init \u53EF\u81EA\u52A8\u8865\u5199\u5FFD\u7565\u884C"};case"tracked":return{level:"warn",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5DF2\u88AB\u5FFD\u7565\u89C4\u5219\u8986\u76D6\u4F46\u4ECD\u88AB git \u8DDF\u8E2A\uFF08\u7591\u4F3C\u5386\u53F2 git add -f\uFF09\uFF1A\u6267\u884C git rm --cached ${(0,eo.basename)(t)} \u540E\u624D\u4F1A\u771F\u6B63\u4E0D\u5165\u5E93`};case"unavailable":return{level:"warn",scope:"\u672C\u5730\u5C42",message:`\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u5FFD\u7565\u5224\u5B9A\u4E0D\u53EF\u7528\uFF08${e.detail??"\u672A\u77E5\u539F\u56E0"}\uFF09\uFF0C\u8BF7\u6838\u5B9E git \u73AF\u5883`};case"outside-repo":return{level:"info",scope:"\u672C\u5730\u5C42",message:"\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u4F4D\u4E8E\u5F53\u524D\u4ED3\u5E93\u5DE5\u4F5C\u6811\u4E4B\u5916\uFF0C\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528"};default:return{level:"info",scope:"\u672C\u5730\u5C42",message:"\u672A\u68C0\u6D4B\u5230 git \u4ED3\u5E93\uFF0C\u672C\u5730\u914D\u7F6E\u6587\u4EF6\u7684\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528"}}}function Ed(e,t){return e?t.filter(n=>{let r=e[n];return typeof r!="object"||r===null||Array.isArray(r)?!1:Object.keys(r).some(o=>!$d.has(`${n}.${o}`))}):[]}function Td(){return(0,bc.existsSync)((0,eo.join)(J(),Sn))?[{level:"info",scope:"\u672C\u5730\u5C42",message:`\u68C0\u6D4B\u5230 home \u76EE\u5F55\u4E0B\u7684 ${Sn}\uFF1A\u8BE5\u6587\u4EF6\u6309\u8BBE\u8BA1\u4E0D\u53C2\u4E0E\u672C\u5730\u5C42\u5411\u4E0A\u67E5\u627E\uFF08\u6B62\u4E8E home\uFF09\uFF0C\u5982\u9700\u6309\u9879\u76EE\u751F\u6548\u8BF7\u653E\u5230\u9879\u76EE\u76EE\u5F55\u4E0B`}]:[]}function Cd(e){let t=[];for(let n of e)for(let r of n.otherSections)xd.has(r)||t.push({level:"info",scope:"\u914D\u7F6E",message:`${n.layer}\u5B58\u5728\u672A\u77E5\u914D\u7F6E\u6BB5\u300C${r}\u300D\uFF1A\u672C\u7248\u672C\u672A\u8BFB\u53D6\uFF0C\u7591\u4F3C\u62FC\u5199\u9519\u8BEF`});return t}function Id(e,t){let n=e.length===0?"\u4E09\u5C42\u5747\u65E0\u914D\u7F6E\u6587\u4EF6\uFF0C\u5168\u90E8\u53D6\u9ED8\u8BA4\u503C":`\u5171\u547D\u4E2D ${e.length} \u5C42\uFF1A${e.join("\u3001")}`;return t?`${n}\uFF1B\u672A\u68C0\u6D4B\u5230 git \u4ED3\u5E93\uFF0C\u5FFD\u7565\u5224\u5B9A\u4E0D\u9002\u7528`:n}function $c(e=process.cwd()){let t=qt(e),n=t.local.file,r=n===null?null:rr(n,e),o=[t.global,t.project,t.local].map(a=>({layer:a.layer,file:a.file,present:a.file!==null,ignored:a.layer==="\u672C\u5730\u5C42"?r:null,sections:a.sections,otherSections:Ed(a.config,a.sections)})),s=po.map(a=>({key:a,source:Vs(t,a)})),i=Hs.filter(a=>yc(a.env)),l=Bs.filter(a=>yc(a.env)),c=[...Rd(t.fallbacks)];return r!==null&&n!==null&&c.push(wd(r,n)),c.push(...Td(),...Cd(o)),{summary:Id(o.filter(a=>a.present).map(a=>a.layer),hn(e).kind==="not-a-repo"),cwd:e,levels:o,displayKeys:s,env:i,bypass:l,items:c,warnings:c.filter(a=>a.level==="warn").length}}var q=require("fs"),W=require("path");var fn={site:"https://fxri-net.github.io/toolkit/",gettingStarted:"https://fxri-net.github.io/toolkit/getting-started",guide:"https://fxri-net.github.io/toolkit/guide"},ot="# @fxri/toolkit",xc=`${ot} \u5FFD\u7565\u7247\u6BB5\uFF08\u8FD0\u884C\u65F6\u6587\u4EF6\u4E0E\u4E2A\u4EBA\u672C\u5730\u914D\u7F6E\uFF0C\u4E0D\u5165\u5E93\uFF09`,ks="# \u4E0D\u60F3\u6539\u56E2\u961F .gitignore \u8005\uFF0C\u53EF\u628A\u8FD9\u4E9B\u5FFD\u7565\u884C\u5199\u8FDB .git/info/exclude\uFF08\u672C\u5730\u6392\u9664\u3001\u4E0D\u8FDB\u7248\u672C\u63A7\u5236\uFF09",hs=[{row:".archive.lock",patterns:[/^\/?\.archive\.lock$/]},{row:".toolkitrc.local.json",patterns:[/^\/?\.toolkitrc\.local\.json$/,/^\*\.local\.json$/,/^\.toolkitrc\.\*$/]}],pt="toolkit skills install --scope project",Ad=[pt,"toolkit skills install"],Ld=`${wn}
130
130
  ${on}
131
131
 
132
132
  > \u552F\u4E00\u5165\u53E3\u4E0E\u552F\u4E00\u6743\u5A01\uFF1A\u7AEF\u6E05\u5355\u5728\u6B64\u58F0\u660E\u3001\u6BCF\u6761\u89C4\u8303\u5728\u6B64\u7559\u4E00\u884C\u6307\u9488\uFF1B\u5206\u518C\uFF08\`common.md\` / \`<\u7AEF\u540D>.md\`\uFF09\u6309\u9700\u521B\u5EFA\u3002
@@ -145,7 +145,7 @@ ${Li}
145
145
  ## \u4E09\u3001\u7528\u6CD5\u8BF4\u660E
146
146
 
147
147
  \uFF08\u5728\u6B64\u5199\u660E\u672C\u9879\u76EE\u91C7\u7528\u6EAF\u6E90\u7D22\u5F15\u5F0F\u8FD8\u662F\u6761\u6587\u5F0F\u3001\u8BFB\u5199\u5224\u5B9A\u8981\u70B9\u3001\u89C4\u5219\u5C42\u6E90\u5934\u53D8\u66F4\u65F6\u7684\u540C\u6B65\u7EAA\u5F8B\uFF09
148
- `;function Ut(e){return e.replace(/\\/g,"/")}function Ec(e=".tasks",t=process.cwd(),n={}){let r=bn().slice(0,6),o=(0,W.resolve)(t,e),s=(0,q.existsSync)(o);(0,q.mkdirSync)((0,W.join)(o,"active",r),{recursive:!0}),(0,q.mkdirSync)((0,W.join)(o,"archive"),{recursive:!0});let i=[{target:`${Ut(e)}/active/${r}/\u3001${Ut(e)}/archive/`,action:s?"kept":"created",detail:s?"\u4EFB\u52A1\u533A\u5DF2\u5B58\u5728\uFF0C\u4FDD\u6301\u4E0D\u53D8":"\u5DF2\u521B\u5EFA"},...Ld(o,e),...Od(t),...Fd(t,o),...Nd(t),...n.hooks===!1?[{target:"package.json",action:"skipped",detail:"--no-hooks\uFF1A\u8DF3\u8FC7 prepare \u5237\u65B0\u94A9\u5B50\u5199\u5165"}]:Gd(t)],l={tasksDir:e,products:i,skillsInstalled:Yl()},c=Bd(t,o);return c&&(l.publishRiskHint=c),l}function Ld(e,t){let n=(0,W.join)(e,Be),r=(0,W.join)(n,K),o=`${Ut(t)}/${Be}/${K}`;if((0,q.existsSync)(r)){let s={target:o,action:"kept",detail:"\u5DF2\u5B58\u5728\uFF0C\u4FDD\u6301\u4E0D\u53D8"};return Qe(e).form==="v1"&&(s.hint="\u5F53\u524D\u4E3A v1 \u5F62\u6001\uFF0C\u53EF\u6267\u884C toolkit conventions upgrade \u5347\u4E3A v3"),[s]}return(0,q.existsSync)((0,W.join)(e,Ce))?[{target:o,action:"skipped",detail:`\u5B58\u5728\u5F85\u8FC1\u79FB\u7684\u65E7\u5355\u6587\u4EF6 ${Ut(t)}/${Ce}\uFF0C\u4E0D\u5EFA\u7A7A\u9AA8\u67B6`}]:((0,q.mkdirSync)(n,{recursive:!0}),_(r,Ad),_((0,W.join)(n,V),vr),[{target:o,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u7AEF\u6E05\u5355 / \u7D22\u5F15 / \u7528\u6CD5\u8BF4\u660E\u4E09\u8282\uFF09"},{target:`${Ut(t)}/${Be}/${V}`,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u89C4\u8303\u6F14\u8FDB\u8BB0\u5F55\uFF09"}])}function Rc(e){return e.startsWith(ot)||e===ks}function jd(e,t,n,r){return r&&lo((0,W.join)(t,e.row)).state==="ignored"?!0:n.some(o=>e.patterns.some(s=>s.test(o.trim())))}function Od(e){let t=(0,W.join)(e,".gitignore"),n=`\u8986\u76D6 ${hs.map(u=>u.row).join(" / ")}`,r=[xc,ks];if(!(0,q.existsSync)(t))return _(t,`${r.join(`
148
+ `;function Ut(e){return e.replace(/\\/g,"/")}function Ec(e=".tasks",t=process.cwd(),n={}){let r=bn().slice(0,6),o=(0,W.resolve)(t,e),s=(0,q.existsSync)(o);(0,q.mkdirSync)((0,W.join)(o,"active",r),{recursive:!0}),(0,q.mkdirSync)((0,W.join)(o,"archive"),{recursive:!0});let i=[{target:`${Ut(e)}/active/${r}/\u3001${Ut(e)}/archive/`,action:s?"kept":"created",detail:s?"\u4EFB\u52A1\u533A\u5DF2\u5B58\u5728\uFF0C\u4FDD\u6301\u4E0D\u53D8":"\u5DF2\u521B\u5EFA"},...jd(o,e),..._d(t),...Nd(t,o),...Md(t),...n.hooks===!1?[{target:"package.json",action:"skipped",detail:"--no-hooks\uFF1A\u8DF3\u8FC7 prepare \u5237\u65B0\u94A9\u5B50\u5199\u5165"}]:Kd(t)],l={tasksDir:e,products:i,skillsInstalled:Yl()},c=Ud(t,o);return c&&(l.publishRiskHint=c),l}function jd(e,t){let n=(0,W.join)(e,Be),r=(0,W.join)(n,K),o=`${Ut(t)}/${Be}/${K}`;if((0,q.existsSync)(r)){let s={target:o,action:"kept",detail:"\u5DF2\u5B58\u5728\uFF0C\u4FDD\u6301\u4E0D\u53D8"};return Qe(e).form==="v1"&&(s.hint="\u5F53\u524D\u4E3A v1 \u5F62\u6001\uFF0C\u53EF\u6267\u884C toolkit conventions upgrade \u5347\u4E3A v3"),[s]}return(0,q.existsSync)((0,W.join)(e,Ce))?[{target:o,action:"skipped",detail:`\u5B58\u5728\u5F85\u8FC1\u79FB\u7684\u65E7\u5355\u6587\u4EF6 ${Ut(t)}/${Ce}\uFF0C\u4E0D\u5EFA\u7A7A\u9AA8\u67B6`}]:((0,q.mkdirSync)(n,{recursive:!0}),_(r,Ld),_((0,W.join)(n,V),vr),[{target:o,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u7AEF\u6E05\u5355 / \u7D22\u5F15 / \u7528\u6CD5\u8BF4\u660E\u4E09\u8282\uFF09"},{target:`${Ut(t)}/${Be}/${V}`,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u89C4\u8303\u6F14\u8FDB\u8BB0\u5F55\uFF09"}])}function Rc(e){return e.startsWith(ot)||e===ks}function Od(e,t,n,r){return r&&lo((0,W.join)(t,e.row)).state==="ignored"?!0:n.some(o=>e.patterns.some(s=>s.test(o.trim())))}function _d(e){let t=(0,W.join)(e,".gitignore"),n=`\u8986\u76D6 ${hs.map(u=>u.row).join(" / ")}`,r=[xc,ks];if(!(0,q.existsSync)(t))return _(t,`${r.join(`
149
149
  `)}
150
150
  ${hs.map(u=>u.row).join(`
151
151
  `)}
@@ -154,36 +154,36 @@ ${hs.map(u=>u.row).join(`
154
154
  `:`
155
155
  `,i=o.replace(/\r\n/g,`
156
156
  `).split(`
157
- `),l=i.findIndex(u=>u.startsWith(ot)),c=hn(e).kind==="repo",a=hs.filter(u=>!jd(u,e,i,c));if(a.length===0){if(l===-1||i[l]===xc&&i[l+1]===ks)return[{target:".gitignore",action:"kept",detail:`\u5DF2\u542B ${ot} \u5FFD\u7565\u7247\u6BB5\uFF08${n}\uFF09`}];let u=i.slice(l+1).filter(m=>!Rc(m));return _(t,[...i.slice(0,l),...r,...u].join(s)),[{target:".gitignore",action:"updated",detail:`\u5DF2\u5C31\u5730\u628A ${ot} \u7247\u6BB5\u5934\u66F4\u65B0\u4E3A\u5F53\u524D\u6587\u6848\uFF08${n}\uFF09`}]}let f=i.filter(u=>!Rc(u));for(;f.length>0&&f[f.length-1]==="";)f.pop();let p=[...r,...a.map(u=>u.row)],g=f.length>0?`${f.join(s)}${s}${s}${p.join(s)}${s}`:`${p.join(s)}${s}`;return _(t,g),[{target:".gitignore",action:"appended",detail:`\u5DF2\u8FFD\u52A0 ${ot} \u5FFD\u7565\u7247\u6BB5\uFF08${n}\uFF09`}]}function Tc(e,t){return["dependencies","devDependencies","peerDependencies","optionalDependencies"].some(n=>{let r=e[n];return typeof r=="object"&&r!==null&&t in r})}var _d=[".prettierrc",".prettierrc.json",".prettierrc.yml",".prettierrc.yaml",".prettierrc.json5",".prettierrc.js",".prettierrc.cjs",".prettierrc.mjs",".prettierrc.toml","prettier.config.js","prettier.config.cjs","prettier.config.mjs"];function Dd(e){if((0,q.existsSync)((0,W.join)(e,".prettierignore"))||_d.some(n=>(0,q.existsSync)((0,W.join)(e,n))))return!0;let t=(0,W.join)(e,"package.json");if(!(0,q.existsSync)(t))return!1;try{let n=JSON.parse(E(t));return"prettier"in n||Tc(n,"prettier")}catch{return!1}}function Fd(e,t){let n=".prettierignore";if(ln(e))return[{target:n,action:"skipped",detail:`\u672C\u4ED3\u5E93\u5373 ${et} \u6E90\u4ED3\u5E93\uFF0C\u4E0D\u5199\u5165 ${n} \u6258\u7BA1`}];let r=(0,W.relative)(e,t);if(r===""||r==="."||(0,W.isAbsolute)(r)||r.startsWith(".."))return[{target:n,action:"skipped",detail:"\u4EFB\u52A1\u533A\u4E0D\u5728\u4ED3\u5E93\u5185\uFF08\u6216\u5373\u4ED3\u5E93\u6839\uFF09\uFF0C\u65E0\u9700\u6392\u9664\u51FA\u683C\u5F0F\u5316\u8303\u56F4"}];if(!Dd(e))return[{target:n,action:"skipped",detail:"\u672A\u89C1 prettier \u4F7F\u7528\u8FF9\u8C61\uFF0C\u8DF3\u8FC7\u4EFB\u52A1\u533A\u6392\u9664\u884C\u5199\u5165",hint:"\u9879\u76EE\u542F\u7528 prettier \u540E\u91CD\u8DD1 toolkit init \u4F1A\u81EA\u52A8\u8865\u4E0A\u8BE5\u6392\u9664\u884C"}];let o=Ut(r),s=`${o}/`,i=d=>d.trim().replace(/^\//,"").replace(/\/$/,""),l=`${ot} \u4EFB\u52A1\u533A\u4E0D\u53C2\u4E0E\u683C\u5F0F\u5316\uFF08\u8868\u683C\u4FDD\u6301\u7D27\u51D1\u5F62\u6001\uFF0C\u907F\u514D\u5217\u5BF9\u9F50\u586B\u5145\uFF09`,c=(0,W.join)(e,n);if(!(0,q.existsSync)(c))return _(c,`${l}
157
+ `),l=i.findIndex(u=>u.startsWith(ot)),c=hn(e).kind==="repo",a=hs.filter(u=>!Od(u,e,i,c));if(a.length===0){if(l===-1||i[l]===xc&&i[l+1]===ks)return[{target:".gitignore",action:"kept",detail:`\u5DF2\u542B ${ot} \u5FFD\u7565\u7247\u6BB5\uFF08${n}\uFF09`}];let u=i.slice(l+1).filter(m=>!Rc(m));return _(t,[...i.slice(0,l),...r,...u].join(s)),[{target:".gitignore",action:"updated",detail:`\u5DF2\u5C31\u5730\u628A ${ot} \u7247\u6BB5\u5934\u66F4\u65B0\u4E3A\u5F53\u524D\u6587\u6848\uFF08${n}\uFF09`}]}let f=i.filter(u=>!Rc(u));for(;f.length>0&&f[f.length-1]==="";)f.pop();let p=[...r,...a.map(u=>u.row)],g=f.length>0?`${f.join(s)}${s}${s}${p.join(s)}${s}`:`${p.join(s)}${s}`;return _(t,g),[{target:".gitignore",action:"appended",detail:`\u5DF2\u8FFD\u52A0 ${ot} \u5FFD\u7565\u7247\u6BB5\uFF08${n}\uFF09`}]}function Tc(e,t){return["dependencies","devDependencies","peerDependencies","optionalDependencies"].some(n=>{let r=e[n];return typeof r=="object"&&r!==null&&t in r})}var Dd=[".prettierrc",".prettierrc.json",".prettierrc.yml",".prettierrc.yaml",".prettierrc.json5",".prettierrc.js",".prettierrc.cjs",".prettierrc.mjs",".prettierrc.toml","prettier.config.js","prettier.config.cjs","prettier.config.mjs"];function Fd(e){if((0,q.existsSync)((0,W.join)(e,".prettierignore"))||Dd.some(n=>(0,q.existsSync)((0,W.join)(e,n))))return!0;let t=(0,W.join)(e,"package.json");if(!(0,q.existsSync)(t))return!1;try{let n=JSON.parse(E(t));return"prettier"in n||Tc(n,"prettier")}catch{return!1}}function Nd(e,t){let n=".prettierignore";if(ln(e))return[{target:n,action:"skipped",detail:`\u672C\u4ED3\u5E93\u5373 ${et} \u6E90\u4ED3\u5E93\uFF0C\u4E0D\u5199\u5165 ${n} \u6258\u7BA1`}];let r=(0,W.relative)(e,t);if(r===""||r==="."||(0,W.isAbsolute)(r)||r.startsWith(".."))return[{target:n,action:"skipped",detail:"\u4EFB\u52A1\u533A\u4E0D\u5728\u4ED3\u5E93\u5185\uFF08\u6216\u5373\u4ED3\u5E93\u6839\uFF09\uFF0C\u65E0\u9700\u6392\u9664\u51FA\u683C\u5F0F\u5316\u8303\u56F4"}];if(!Fd(e))return[{target:n,action:"skipped",detail:"\u672A\u89C1 prettier \u4F7F\u7528\u8FF9\u8C61\uFF0C\u8DF3\u8FC7\u4EFB\u52A1\u533A\u6392\u9664\u884C\u5199\u5165",hint:"\u9879\u76EE\u542F\u7528 prettier \u540E\u91CD\u8DD1 toolkit init \u4F1A\u81EA\u52A8\u8865\u4E0A\u8BE5\u6392\u9664\u884C"}];let o=Ut(r),s=`${o}/`,i=d=>d.trim().replace(/^\//,"").replace(/\/$/,""),l=`${ot} \u4EFB\u52A1\u533A\u4E0D\u53C2\u4E0E\u683C\u5F0F\u5316\uFF08\u8868\u683C\u4FDD\u6301\u7D27\u51D1\u5F62\u6001\uFF0C\u907F\u514D\u5217\u5BF9\u9F50\u586B\u5145\uFF09`,c=(0,W.join)(e,n);if(!(0,q.existsSync)(c))return _(c,`${l}
158
158
  ${s}
159
159
  `),[{target:n,action:"created",detail:`\u5DF2\u521B\u5EFA\u5E76\u5199\u5165\u4EFB\u52A1\u533A\u6392\u9664\u884C\uFF08${s}\uFF09`}];let a=(0,q.readFileSync)(c,"utf8"),f=a.includes(`\r
160
160
  `)?`\r
161
161
  `:`
162
162
  `,p=a.replace(/\r\n/g,`
163
163
  `).split(`
164
- `);if(p.some(d=>i(d)===o))return[{target:n,action:"kept",detail:`\u5DF2\u542B\u4EFB\u52A1\u533A\u6392\u9664\u884C\uFF08${s}\uFF09`}];let g=p.filter(d=>!d.startsWith(ot));for(;g.length>0&&g[g.length-1]==="";)g.pop();let u=[l,s],m=g.length>0?`${g.join(f)}${f}${f}${u.join(f)}${f}`:`${u.join(f)}${f}`;return _(c,m),[{target:n,action:"appended",detail:`\u5DF2\u8FFD\u52A0\u4EFB\u52A1\u533A\u6392\u9664\u884C\uFF08${s}\uFF09`}]}function Nd(e){if(ln(e))return[{target:"\u6280\u80FD\u5165\u53E3\u5C42",action:"skipped",detail:"@fxri/toolkit \u6E90\u4ED3\u5E93\u9760 fxri-* \u6280\u80FD\u81EA\u4E3E\uFF0C\u4E0D\u751F\u6210\u5165\u53E3\u58F3\u4E0E AGENTS.md \u6307\u9488\u5757"}];let t=Dn(e),n=[],r=zt(e,t.map(s=>`${s}/${Tt}/${sn}`)),o="\u8BE5\u8DEF\u5F84\u88AB .gitignore \u8986\u76D6\uFF0C\u56E2\u961F\u65E0\u6CD5\u5171\u4EAB\uFF1B\u9700\u8981\u5171\u4EAB\u65F6\u81EA\u884C\u8865\u5426\u5B9A\u89C4\u5219\uFF08\u5982 !.agents/skills/\uFF09\uFF0Ctoolkit \u4E0D\u4EE3\u6539 .gitignore";for(let s of t){let i=(0,W.join)(e,s,Tt),l=(0,W.join)(i,sn),c=`${s}/${Tt}/${sn}`,a=r.has(c);if((0,q.existsSync)(l)){let p=yr(E(l));if(p!==null&&p>=pe){let u={target:c,action:"kept",detail:p===pe?"\u5DF2\u5B58\u5728\uFF0C\u6807\u8BB0\u7248\u672C\u4E00\u81F4\uFF0C\u4FDD\u6301\u4E0D\u53D8":`\u5DF2\u5B58\u5728\uFF0C\u6807\u8BB0 v${p} \u8F83\u5F53\u524D v${pe} \u66F4\u65B0\uFF0C\u4FDD\u6301\u4E0D\u53D8\uFF08\u4E0D\u964D\u7EA7\u8986\u76D6\uFF09`};a&&(u.hint=o),n.push(u);continue}(0,q.mkdirSync)(i,{recursive:!0}),_(l,Mo());let g={target:c,action:"updated",detail:p===null?`\u65E0\u6807\u8BB0\uFF0C\u5DF2\u5C31\u5730\u66F4\u65B0\u4E3A v${pe}`:`\u6807\u8BB0 v${p} \u843D\u540E\uFF0C\u5DF2\u5C31\u5730\u66F4\u65B0\u4E3A v${pe}`};a&&(g.hint=o),n.push(g);continue}(0,q.mkdirSync)(i,{recursive:!0}),_(l,Mo());let f={target:c,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u53EA\u4F5C\u5165\u53E3\uFF0C\u4E0D\u627F\u8F7D\u6761\u6587\uFF09"};a&&(f.hint=o),n.push(f)}return n.push(...Md(e)),n}function Md(e){let t=(0,W.join)(e,"AGENTS.md");if(!(0,q.existsSync)(t))return[{target:"AGENTS.md",action:"skipped",detail:"\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1B\u4E0D\u65B0\u5EFA\uFF0C\u9700\u8981\u65F6\u624B\u5DE5\u6DFB\u52A0\u6216\u5148\u5EFA\u6587\u4EF6\u518D\u91CD\u8DD1 toolkit init",hint:"\u65E0\u8BE5\u6307\u9488\u5757\u4E0D\u5F71\u54CD\u89C4\u8303\u53EF\u7528\uFF1A\u672C\u9879\u76EE\u89C4\u8303\u4ECD\u53EF\u7ECF\u5168\u5C40\u6280\u80FD fxri-plan-to-task \u89E6\u8FBE\uFF08\u5176\u5DE5\u4F5C\u6D41\u7B2C\u4E00\u6B65\u5373\u8BFB conventions/index.md\uFF09"}];let n=E(t);if(n.includes(No))return[{target:"AGENTS.md",action:"kept",detail:"\u5DF2\u542B\u89C4\u8303\u5165\u53E3\u6307\u9488\u5757\uFF0C\u4FDD\u6301\u4E0D\u52A8"}];let r=n.includes(`\r
164
+ `);if(p.some(d=>i(d)===o))return[{target:n,action:"kept",detail:`\u5DF2\u542B\u4EFB\u52A1\u533A\u6392\u9664\u884C\uFF08${s}\uFF09`}];let g=p.filter(d=>!d.startsWith(ot));for(;g.length>0&&g[g.length-1]==="";)g.pop();let u=[l,s],m=g.length>0?`${g.join(f)}${f}${f}${u.join(f)}${f}`:`${u.join(f)}${f}`;return _(c,m),[{target:n,action:"appended",detail:`\u5DF2\u8FFD\u52A0\u4EFB\u52A1\u533A\u6392\u9664\u884C\uFF08${s}\uFF09`}]}function Md(e){if(ln(e))return[{target:"\u6280\u80FD\u5165\u53E3\u5C42",action:"skipped",detail:"@fxri/toolkit \u6E90\u4ED3\u5E93\u9760 fxri-* \u6280\u80FD\u81EA\u4E3E\uFF0C\u4E0D\u751F\u6210\u5165\u53E3\u58F3\u4E0E AGENTS.md \u6307\u9488\u5757"}];let t=Dn(e),n=[],r=zt(e,t.map(s=>`${s}/${Tt}/${sn}`)),o="\u8BE5\u8DEF\u5F84\u88AB .gitignore \u8986\u76D6\uFF0C\u56E2\u961F\u65E0\u6CD5\u5171\u4EAB\uFF1B\u9700\u8981\u5171\u4EAB\u65F6\u81EA\u884C\u8865\u5426\u5B9A\u89C4\u5219\uFF08\u5982 !.agents/skills/\uFF09\uFF0Ctoolkit \u4E0D\u4EE3\u6539 .gitignore";for(let s of t){let i=(0,W.join)(e,s,Tt),l=(0,W.join)(i,sn),c=`${s}/${Tt}/${sn}`,a=r.has(c);if((0,q.existsSync)(l)){let p=yr(E(l));if(p!==null&&p>=pe){let u={target:c,action:"kept",detail:p===pe?"\u5DF2\u5B58\u5728\uFF0C\u6807\u8BB0\u7248\u672C\u4E00\u81F4\uFF0C\u4FDD\u6301\u4E0D\u53D8":`\u5DF2\u5B58\u5728\uFF0C\u6807\u8BB0 v${p} \u8F83\u5F53\u524D v${pe} \u66F4\u65B0\uFF0C\u4FDD\u6301\u4E0D\u53D8\uFF08\u4E0D\u964D\u7EA7\u8986\u76D6\uFF09`};a&&(u.hint=o),n.push(u);continue}(0,q.mkdirSync)(i,{recursive:!0}),_(l,Mo());let g={target:c,action:"updated",detail:p===null?`\u65E0\u6807\u8BB0\uFF0C\u5DF2\u5C31\u5730\u66F4\u65B0\u4E3A v${pe}`:`\u6807\u8BB0 v${p} \u843D\u540E\uFF0C\u5DF2\u5C31\u5730\u66F4\u65B0\u4E3A v${pe}`};a&&(g.hint=o),n.push(g);continue}(0,q.mkdirSync)(i,{recursive:!0}),_(l,Mo());let f={target:c,action:"created",detail:"\u5DF2\u521B\u5EFA\uFF08\u53EA\u4F5C\u5165\u53E3\uFF0C\u4E0D\u627F\u8F7D\u6761\u6587\uFF09"};a&&(f.hint=o),n.push(f)}return n.push(...Pd(e)),n}function Pd(e){let t=(0,W.join)(e,"AGENTS.md");if(!(0,q.existsSync)(t))return[{target:"AGENTS.md",action:"skipped",detail:"\u6587\u4EF6\u4E0D\u5B58\u5728\uFF1B\u4E0D\u65B0\u5EFA\uFF0C\u9700\u8981\u65F6\u624B\u5DE5\u6DFB\u52A0\u6216\u5148\u5EFA\u6587\u4EF6\u518D\u91CD\u8DD1 toolkit init",hint:"\u65E0\u8BE5\u6307\u9488\u5757\u4E0D\u5F71\u54CD\u89C4\u8303\u53EF\u7528\uFF1A\u672C\u9879\u76EE\u89C4\u8303\u4ECD\u53EF\u7ECF\u5168\u5C40\u6280\u80FD fxri-plan-to-task \u89E6\u8FBE\uFF08\u5176\u5DE5\u4F5C\u6D41\u7B2C\u4E00\u6B65\u5373\u8BFB conventions/index.md\uFF09"}];let n=E(t);if(n.includes(No))return[{target:"AGENTS.md",action:"kept",detail:"\u5DF2\u542B\u89C4\u8303\u5165\u53E3\u6307\u9488\u5757\uFF0C\u4FDD\u6301\u4E0D\u52A8"}];let r=n.includes(`\r
165
165
  `)?`\r
166
166
  `:`
167
167
  `,o=n.endsWith(`
168
- `)||n===""?n:n+r,s=/(\r?\n){2}$/.test(o)?"":r;return _(t,`${o}${s}${Ni().replace(/\n/g,r)}${r}`),[{target:"AGENTS.md",action:"appended",detail:"\u5DF2\u8FFD\u52A0\u89C4\u8303\u5165\u53E3\u6307\u9488\u5757\uFF08\u5E42\u7B49\uFF0C\u91CD\u590D\u6267\u884C\u4E0D\u91CD\u590D\u8FFD\u52A0\uFF09"}]}function Pd(e){return e.private!==!0&&!Array.isArray(e.files)}function Hd(e){let t=new Set([".agents/skills",...Dn(e)].map(n=>`${n}/`));return t.add(".toolkit/"),[...t]}function Bd(e,t){let n=(0,W.join)(e,"package.json");if(!(0,q.existsSync)(n))return null;let r;try{r=JSON.parse(E(n))}catch{return null}if(!Pd(r))return null;let o=Hd(e),s=(0,W.relative)(e,t);return s&&s!=="."&&!s.startsWith("..")&&!(0,W.isAbsolute)(s)&&o.push(`${Ut(s)}/`),`\u26A0\uFE0F \u672C\u9879\u76EE\u672A\u6807 private \u4E14\u65E0 files \u767D\u540D\u5355\u2014\u2014npm pack \u4F1A\u628A\u4E0B\u5217\u975E\u5FFD\u7565\u4EA7\u7269\u6253\u8FDB\u5305\uFF1A${o.join("\u3001")}\uFF1B\u53D1\u5E03\u578B\u5305\u8BF7\u628A\u5B83\u4EEC\u52A0\u5165 files \u767D\u540D\u5355\u6216 .npmignore\uFF08\u5DF2\u7528 .npmignore \u6392\u9664\u53EF\u5FFD\u7565\uFF09`}function wc(e,t,n){let r=e.indexOf("}",t);if(r===-1)return null;let o=e.slice(t+1,r).trim()==="",s=e.slice(t+1).match(/^[ \t\r\n]*?\r?\n([ \t]*)"/),i=s?s[1]:" ",l=e.includes(`\r
168
+ `)||n===""?n:n+r,s=/(\r?\n){2}$/.test(o)?"":r;return _(t,`${o}${s}${Ni().replace(/\n/g,r)}${r}`),[{target:"AGENTS.md",action:"appended",detail:"\u5DF2\u8FFD\u52A0\u89C4\u8303\u5165\u53E3\u6307\u9488\u5757\uFF08\u5E42\u7B49\uFF0C\u91CD\u590D\u6267\u884C\u4E0D\u91CD\u590D\u8FFD\u52A0\uFF09"}]}function Hd(e){return e.private!==!0&&!Array.isArray(e.files)}function Bd(e){let t=new Set([".agents/skills",...Dn(e)].map(n=>`${n}/`));return t.add(".toolkit/"),[...t]}function Ud(e,t){let n=(0,W.join)(e,"package.json");if(!(0,q.existsSync)(n))return null;let r;try{r=JSON.parse(E(n))}catch{return null}if(!Hd(r))return null;let o=Bd(e),s=(0,W.relative)(e,t);return s&&s!=="."&&!s.startsWith("..")&&!(0,W.isAbsolute)(s)&&o.push(`${Ut(s)}/`),`\u26A0\uFE0F \u672C\u9879\u76EE\u672A\u6807 private \u4E14\u65E0 files \u767D\u540D\u5355\u2014\u2014npm pack \u4F1A\u628A\u4E0B\u5217\u975E\u5FFD\u7565\u4EA7\u7269\u6253\u8FDB\u5305\uFF1A${o.join("\u3001")}\uFF1B\u53D1\u5E03\u578B\u5305\u8BF7\u628A\u5B83\u4EEC\u52A0\u5165 files \u767D\u540D\u5355\u6216 .npmignore\uFF08\u5DF2\u7528 .npmignore \u6392\u9664\u53EF\u5FFD\u7565\uFF09`}function wc(e,t,n){let r=e.indexOf("}",t);if(r===-1)return null;let o=e.slice(t+1,r).trim()==="",s=e.slice(t+1).match(/^[ \t\r\n]*?\r?\n([ \t]*)"/),i=s?s[1]:" ",l=e.includes(`\r
169
169
  `)?`\r
170
170
  `:`
171
- `;return`${e.slice(0,t+1)}${l}${i}${n}${o?"":","}${e.slice(t+1)}`}function Ud(e){let t=e.includes(`\r
171
+ `;return`${e.slice(0,t+1)}${l}${i}${n}${o?"":","}${e.slice(t+1)}`}function Gd(e){let t=e.includes(`\r
172
172
  `)?`\r
173
173
  `:`
174
- `,n=`"prepare": ${JSON.stringify(pt)}`,r=e.search(/"scripts"\s*:\s*\{/);if(r!==-1)return wc(e,e.indexOf("{",r),n);let o=e.indexOf("{");return o===-1?null:wc(e,o,`"scripts": {${t} ${n}${t} }`)}function Gd(e){let t="package.json",n=(0,W.join)(e,t);if(ln(e))return[{target:t,action:"skipped",detail:`\u672C\u4ED3\u5E93\u5373 ${et} \u6E90\u4ED3\u5E93\uFF0C\u4E0D\u5199\u5165 prepare \u94A9\u5B50`}];if(!(0,q.existsSync)(n))return[{target:t,action:"skipped",detail:"package.json \u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165"}];let r=E(n),o;try{o=JSON.parse(r)}catch(a){return[{target:t,action:"skipped",detail:`package.json \u89E3\u6790\u5931\u8D25\uFF08${a.message}\uFF09\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165`}]}if(!Tc(o,et))return[{target:t,action:"skipped",detail:`\u672C\u5730\u4F9D\u8D56\u672A\u58F0\u660E ${et}\uFF0C\u4E0D\u5199\u5165 prepare \u94A9\u5B50`,hint:`\u6280\u80FD\u526F\u672C\u968F git \u5206\u53D1\u5373\u53EF clone \u5373\u7528\uFF1B\u4F9D\u8D56\u88C5\u5728\u672C\u9879\u76EE\u540E\u9700\u8981\u65F6\u624B\u5DE5\u52A0 "prepare": "${pt}" \u4EE5\u5728\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0`}];let s=o.scripts,i=typeof s=="object"&&s!==null?s.prepare:void 0;if(typeof i=="string")return Id.includes(i.replace(/\s+/g," ").trim())?[{target:t,action:"kept",detail:`\u5DF2\u6709\u7B49\u4EF7\u7684 prepare \u94A9\u5B50\uFF08${i}\uFF09\uFF0C\u4FDD\u6301\u4E0D\u53D8`}]:[{target:t,action:"skipped",detail:`\u5DF2\u6709 prepare \u94A9\u5B50\u300C${i}\u300D\uFF0C\u975E\u672C\u5305\u7B49\u4EF7\u5199\u6CD5\uFF0C\u4E0D\u8986\u76D6`,hint:`\u5EFA\u8BAE\u81EA\u884C\u5E76\u5165 ${pt}\uFF0C\u4EE5\u5728\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0\u9879\u76EE\u4FA7\u6280\u80FD`}];let l=Ud(r);if(l===null)return[{target:t,action:"skipped",detail:"\u672A\u80FD\u5B9A\u4F4D scripts \u5B57\u6BB5\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165",hint:`\u53EF\u624B\u5DE5\u52A0 "prepare": "${pt}"`}];try{if(JSON.parse(l).scripts?.prepare!==pt)throw new Error("\u63D2\u5165\u7ED3\u679C\u6821\u9A8C\u672A\u901A\u8FC7")}catch{return[{target:t,action:"skipped",detail:"\u81EA\u52A8\u63D2\u5165 prepare \u5931\u8D25\uFF08\u539F\u6587\u4EF6\u683C\u5F0F\u7279\u6B8A\uFF09\uFF0C\u672A\u6539\u5199",hint:`\u53EF\u624B\u5DE5\u52A0 "prepare": "${pt}"`}]}return _(n,l),[{target:t,action:"updated",detail:`\u5DF2\u5199\u5165 prepare \u94A9\u5B50\uFF08${pt}\uFF09\uFF0C\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0\u9879\u76EE\u4FA7\u6280\u80FD`}]}var ys=require("fs"),to=require("path");var Cc=/^##\s*[一二三四五六七八九十]+、\s*(.*)$/,Ic=/^##\s/,Kd=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341"],Yd=/^(##\s+)(\d+)(\.\s*)/,Vd=/^##\s+(C-\d+)\.\s/,Wd=/废弃|废止/,Ac=/「演进记录」(?:小节|节)?/g;function zd(e){for(;e.length>0&&(e[0]??"").trim()==="";)e.shift();for(;e.length>0&&(e[e.length-1]??"").trim()==="";)e.pop();return e}function Jd(e,t){let n=ue(e,ve),r=e.map((l,c)=>n&&c===n.headerLine?In(l,0,re):l),o=r.filter(l=>l.trimStart().startsWith(">")).map(l=>l.replace(/本节/g,"\u672C\u6587\u4EF6"));o.some(l=>l.includes("\u8868\u8BED\u4E49\u8FB9\u754C"))||o.push(_o);let s=zd(r.filter(l=>!l.trimStart().startsWith(">")));return{content:[Oo,"",...o,"",...s,""].join(t),rows:n?n.rows.length:0}}function Ss(e,t){let n=Oe(e);for(let r of t)n.splice(r,1);return`| ${n.join(" | ")} |`}function Lc(e,t,n){e.splice(t,n-t),(e[t-1]??"").trim()===""&&(e[t]??"").trim()===""&&e.splice(t,1)}function jc(e=".tasks",t={}){let n=Qe(e),r={tasksDir:e,dir:n.dir,form:n.form};if(n.form==="v3")return{status:"already-v3",...r,idMap:[],refs:[],changes:[],reviews:[]};if(!n.hasIndex)throw new Error(n.hasLegacy?`\u4EC5\u5B58\u5728\u65E7\u5355\u6587\u4EF6 ${Ce}\uFF1A\u8BF7\u5148\u6309 conventions-spec \u8FC1\u79FB\u4E3A\u76EE\u5F55\u5F62\u6001\uFF0C\u518D\u6267\u884C conventions upgrade\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`:`\u672A\u627E\u5230 ${n.dir}/${K}\uFF0C\u5148\u6267\u884C toolkit init`);if(n.form==="abnormal")throw new Error(`${n.dir}/${K} \u5F62\u6001\u5F02\u5E38\uFF08\u5F62\u6001\u6807\u8BB0\u3001${V} \u4E0E\u7D22\u5F15\u8868\u9996\u5217\u4E0D\u4E00\u81F4\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u518D\u5347\u7EA7\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`);let o=n.form==="v1",s=E(n.indexFile),i=s.includes(`\r
174
+ `,n=`"prepare": ${JSON.stringify(pt)}`,r=e.search(/"scripts"\s*:\s*\{/);if(r!==-1)return wc(e,e.indexOf("{",r),n);let o=e.indexOf("{");return o===-1?null:wc(e,o,`"scripts": {${t} ${n}${t} }`)}function Kd(e){let t="package.json",n=(0,W.join)(e,t);if(ln(e))return[{target:t,action:"skipped",detail:`\u672C\u4ED3\u5E93\u5373 ${et} \u6E90\u4ED3\u5E93\uFF0C\u4E0D\u5199\u5165 prepare \u94A9\u5B50`}];if(!(0,q.existsSync)(n))return[{target:t,action:"skipped",detail:"package.json \u4E0D\u5B58\u5728\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165"}];let r=E(n),o;try{o=JSON.parse(r)}catch(a){return[{target:t,action:"skipped",detail:`package.json \u89E3\u6790\u5931\u8D25\uFF08${a.message}\uFF09\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165`}]}if(!Tc(o,et))return[{target:t,action:"skipped",detail:`\u672C\u5730\u4F9D\u8D56\u672A\u58F0\u660E ${et}\uFF0C\u4E0D\u5199\u5165 prepare \u94A9\u5B50`,hint:`\u6280\u80FD\u526F\u672C\u968F git \u5206\u53D1\u5373\u53EF clone \u5373\u7528\uFF1B\u4F9D\u8D56\u88C5\u5728\u672C\u9879\u76EE\u540E\u9700\u8981\u65F6\u624B\u5DE5\u52A0 "prepare": "${pt}" \u4EE5\u5728\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0`}];let s=o.scripts,i=typeof s=="object"&&s!==null?s.prepare:void 0;if(typeof i=="string")return Ad.includes(i.replace(/\s+/g," ").trim())?[{target:t,action:"kept",detail:`\u5DF2\u6709\u7B49\u4EF7\u7684 prepare \u94A9\u5B50\uFF08${i}\uFF09\uFF0C\u4FDD\u6301\u4E0D\u53D8`}]:[{target:t,action:"skipped",detail:`\u5DF2\u6709 prepare \u94A9\u5B50\u300C${i}\u300D\uFF0C\u975E\u672C\u5305\u7B49\u4EF7\u5199\u6CD5\uFF0C\u4E0D\u8986\u76D6`,hint:`\u5EFA\u8BAE\u81EA\u884C\u5E76\u5165 ${pt}\uFF0C\u4EE5\u5728\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0\u9879\u76EE\u4FA7\u6280\u80FD`}];let l=Gd(r);if(l===null)return[{target:t,action:"skipped",detail:"\u672A\u80FD\u5B9A\u4F4D scripts \u5B57\u6BB5\uFF0C\u8DF3\u8FC7 prepare \u94A9\u5B50\u5199\u5165",hint:`\u53EF\u624B\u5DE5\u52A0 "prepare": "${pt}"`}];try{if(JSON.parse(l).scripts?.prepare!==pt)throw new Error("\u63D2\u5165\u7ED3\u679C\u6821\u9A8C\u672A\u901A\u8FC7")}catch{return[{target:t,action:"skipped",detail:"\u81EA\u52A8\u63D2\u5165 prepare \u5931\u8D25\uFF08\u539F\u6587\u4EF6\u683C\u5F0F\u7279\u6B8A\uFF09\uFF0C\u672A\u6539\u5199",hint:`\u53EF\u624B\u5DE5\u52A0 "prepare": "${pt}"`}]}return _(n,l),[{target:t,action:"updated",detail:`\u5DF2\u5199\u5165 prepare \u94A9\u5B50\uFF08${pt}\uFF09\uFF0C\u5B89\u88C5\u4F9D\u8D56\u540E\u81EA\u52A8\u5237\u65B0\u9879\u76EE\u4FA7\u6280\u80FD`}]}var ys=require("fs"),to=require("path");var Cc=/^##\s*[一二三四五六七八九十]+、\s*(.*)$/,Ic=/^##\s/,Yd=["\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D","\u4E03","\u516B","\u4E5D","\u5341"],Vd=/^(##\s+)(\d+)(\.\s*)/,Wd=/^##\s+(C-\d+)\.\s/,zd=/废弃|废止/,Ac=/「演进记录」(?:小节|节)?/g;function Jd(e){for(;e.length>0&&(e[0]??"").trim()==="";)e.shift();for(;e.length>0&&(e[e.length-1]??"").trim()==="";)e.pop();return e}function qd(e,t){let n=ue(e,ve),r=e.map((l,c)=>n&&c===n.headerLine?In(l,0,re):l),o=r.filter(l=>l.trimStart().startsWith(">")).map(l=>l.replace(/本节/g,"\u672C\u6587\u4EF6"));o.some(l=>l.includes("\u8868\u8BED\u4E49\u8FB9\u754C"))||o.push(_o);let s=Jd(r.filter(l=>!l.trimStart().startsWith(">")));return{content:[Oo,"",...o,"",...s,""].join(t),rows:n?n.rows.length:0}}function Ss(e,t){let n=Oe(e);for(let r of t)n.splice(r,1);return`| ${n.join(" | ")} |`}function Lc(e,t,n){e.splice(t,n-t),(e[t-1]??"").trim()===""&&(e[t]??"").trim()===""&&e.splice(t,1)}function jc(e=".tasks",t={}){let n=Qe(e),r={tasksDir:e,dir:n.dir,form:n.form};if(n.form==="v3")return{status:"already-v3",...r,idMap:[],refs:[],changes:[],reviews:[]};if(!n.hasIndex)throw new Error(n.hasLegacy?`\u4EC5\u5B58\u5728\u65E7\u5355\u6587\u4EF6 ${Ce}\uFF1A\u8BF7\u5148\u6309 conventions-spec \u8FC1\u79FB\u4E3A\u76EE\u5F55\u5F62\u6001\uFF0C\u518D\u6267\u884C conventions upgrade\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`:`\u672A\u627E\u5230 ${n.dir}/${K}\uFF0C\u5148\u6267\u884C toolkit init`);if(n.form==="abnormal")throw new Error(`${n.dir}/${K} \u5F62\u6001\u5F02\u5E38\uFF08\u5F62\u6001\u6807\u8BB0\u3001${V} \u4E0E\u7D22\u5F15\u8868\u9996\u5217\u4E0D\u4E00\u81F4\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u518D\u5347\u7EA7\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`);let o=n.form==="v1",s=E(n.indexFile),i=s.includes(`\r
175
175
  `)?`\r
176
176
  `:`
177
177
  `,l=s.split(/\r?\n/),c=[],a=[],f=[],p=[],g=new Map,u=Cn(l);if(!u)throw new Error(`\u672A\u5728 ${n.dir}/${K} \u4E2D\u5B9A\u4F4D\u5230\u7D22\u5F15\u8868\uFF08\u8868\u5934\u987B\u542B\u300C${Rt}\u300D\u5217\uFF09\uFF0C\u65E0\u6CD5\u673A\u68B0\u5347\u7EA7\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`);Eo.test(l[0]??"")&&l.shift();let m=new Map;for(let C of ct(n)){if(C===n.indexFile)continue;let A=E(C);m.set(C,{eol:A.includes(`\r
178
178
  `)?`\r
179
179
  `:`
180
180
  `,lines:A.split(/\r?\n/)})}let d=null;if(o){for(let F of u.rows){let H=Number(F[0]);!Number.isInteger(H)||H<1||(p.push({seq:H,id:Tn(H),name:F[1]??""}),g.set(H,Tn(H)))}let C=l.findIndex(F=>/^#\s+\S/.test(F));C!==-1?l[C]=on:l.unshift(on,""),c.push({target:K,detail:`\u6807\u9898\u5F52\u4E00\u4E3A\u300C${on}\u300D`});let A=-1;for(let F=0;F<l.length;F++){let H=Cc.exec(l[F]??"");if(H&&(H[1]??"").includes("\u6F14\u8FDB\u8BB0\u5F55")){A=F;break}}if(d=vr.split(`
181
- `).join(i),A===-1)c.push({target:V,detail:"\u672A\u627E\u5230\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\uFF0C\u5199\u5165\u7A7A\u9AA8\u67B6"});else{let F=l.length;for(let Z=A+1;Z<l.length;Z++)if(Ic.test(l[Z]??"")){F=Z;break}let H=Jd(l.slice(A+1,F),i);d=H.content,Lc(l,A,F),c.push({target:V,detail:`\u62BD\u51FA\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282 ${H.rows} \u6761\u6570\u636E\u884C\uFF0C\u72EC\u7ACB\u6210\u6587\u4EF6`}),c.push({target:K,detail:"\u79FB\u9664\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\uFF08\u5185\u5BB9\u8FC1\u81F3 history.md\uFF09"})}let D=Cn(l),P=0;if(D){l[D.headerLine]=In(l[D.headerLine]??"",0,re);for(let F=0;F<D.rowLines.length;F++){let H=D.rowLines[F]??0,Z=g.get(Number(D.rows[F]?.[0]??""));Z&&(l[H]=In(l[H]??"",0,Z),P+=1)}}c.push({target:K,detail:`\u7D22\u5F15\u8868\u9996\u5217\u7531\u5E8F\u53F7\u6539\u4E3A\u7A33\u5B9A ID\uFF08${P} \u6761\uFF0C\u8868\u5934 ${re}\uFF09`});let ee=0,U=0;for(let F=0;F<l.length;F++){let H=Cc.exec(l[F]??"");if(!H)continue;let Z=`## ${Kd[ee]??String(ee+1)}\u3001${H[1]??""}`;ee+=1,Z!==l[F]&&(U+=1),l[F]=Z}U>0&&c.push({target:K,detail:`\u8282\u53F7\u987A\u5E8F\u91CD\u7F16\uFF08${U} \u5904\uFF09`});for(let F=0;F<l.length;F++){let H=jo(l[F]??"",n.maxSeq);l[F]=H.line;for(let Z of H.hits)a.push({file:K,from:Z.from,to:Z.to})}let ie=0;for(let F=0;F<l.length;F++){let H=l[F]??"",Z=H.replace(Ac,"`history.md`");Z!==H&&(ie+=(H.match(Ac)??[]).length,l[F]=Z)}ie>0&&c.push({target:K,detail:`${ie} \u5904\u6307\u5411\u539F\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\u7684\u8868\u8FF0\u6539\u6307 history.md`});for(let[F,H]of m){let Z=0;for(let Yt=0;Yt<H.lines.length;Yt++){let As=H.lines[Yt]??"",Vt=Yd.exec(As),Ls=Vt?g.get(Number(Vt[2])):void 0;Vt&&Ls&&(H.lines[Yt]=`${Vt[1]}${Ls}${Vt[3]}${As.slice(Vt[0].length)}`,Z+=1);let js=jo(H.lines[Yt]??"",n.maxSeq);H.lines[Yt]=js.line;for(let Os of js.hits)a.push({file:(0,to.basename)(F),from:Os.from,to:Os.to})}Z>0&&c.push({target:(0,to.basename)(F),detail:`\u5C0F\u8282\u6807\u9898\u5E8F\u53F7\u6539\u4E3A\u7A33\u5B9A ID\uFF08${Z} \u5904\uFF09`})}}let k=Cn(l);if(!k)throw new Error(`\u672A\u5728 ${n.dir}/${K} \u4E2D\u5B9A\u4F4D\u5230\u7D22\u5F15\u8868\uFF0C\u65E0\u6CD5\u673A\u68B0\u5347\u7EA7\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`);let y=le(k.header,re),x=le(k.header,hr),$=le(k.header,Rt),b=le(k.header,rn),T=le(k.header,To),h=le(k.header,En),S=[];if(T>=0)for(let C=0;C<k.rows.length;C++){let A=k.rows[C]??[];Wd.test(A[T]??"")&&S.push({id:A[y]??"",name:A[x>=0?x:1]??"",semantic:A[$]??"",owner:b>=0?A[b]??"":"\u2014",line:k.rowLines[C]??-1,location:"\u2014"})}let R=[T,h].filter(C=>C>=0).sort((C,A)=>A-C);if(R.length>0){let C=[To,En].filter(A=>le(k.header,A)>=0);l[k.headerLine]=Ss(l[k.headerLine]??"",R),l[k.separatorLine]=Ss(l[k.separatorLine]??"",R);for(let A of k.rowLines)l[A]=Ss(l[A]??"",R);c.push({target:K,detail:`\u7D22\u5F15\u8868\u5220\u9664\u5217\u300C${C.join("\u300D\u300C")}\u300D`})}let N=i,I=null;if(d!==null)I=d.split(/\r?\n/);else if((0,ys.existsSync)(n.historyFile)){let C=E(n.historyFile);N=C.includes(`\r
181
+ `).join(i),A===-1)c.push({target:V,detail:"\u672A\u627E\u5230\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\uFF0C\u5199\u5165\u7A7A\u9AA8\u67B6"});else{let F=l.length;for(let Z=A+1;Z<l.length;Z++)if(Ic.test(l[Z]??"")){F=Z;break}let H=qd(l.slice(A+1,F),i);d=H.content,Lc(l,A,F),c.push({target:V,detail:`\u62BD\u51FA\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282 ${H.rows} \u6761\u6570\u636E\u884C\uFF0C\u72EC\u7ACB\u6210\u6587\u4EF6`}),c.push({target:K,detail:"\u79FB\u9664\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\uFF08\u5185\u5BB9\u8FC1\u81F3 history.md\uFF09"})}let D=Cn(l),P=0;if(D){l[D.headerLine]=In(l[D.headerLine]??"",0,re);for(let F=0;F<D.rowLines.length;F++){let H=D.rowLines[F]??0,Z=g.get(Number(D.rows[F]?.[0]??""));Z&&(l[H]=In(l[H]??"",0,Z),P+=1)}}c.push({target:K,detail:`\u7D22\u5F15\u8868\u9996\u5217\u7531\u5E8F\u53F7\u6539\u4E3A\u7A33\u5B9A ID\uFF08${P} \u6761\uFF0C\u8868\u5934 ${re}\uFF09`});let ee=0,U=0;for(let F=0;F<l.length;F++){let H=Cc.exec(l[F]??"");if(!H)continue;let Z=`## ${Yd[ee]??String(ee+1)}\u3001${H[1]??""}`;ee+=1,Z!==l[F]&&(U+=1),l[F]=Z}U>0&&c.push({target:K,detail:`\u8282\u53F7\u987A\u5E8F\u91CD\u7F16\uFF08${U} \u5904\uFF09`});for(let F=0;F<l.length;F++){let H=jo(l[F]??"",n.maxSeq);l[F]=H.line;for(let Z of H.hits)a.push({file:K,from:Z.from,to:Z.to})}let ie=0;for(let F=0;F<l.length;F++){let H=l[F]??"",Z=H.replace(Ac,"`history.md`");Z!==H&&(ie+=(H.match(Ac)??[]).length,l[F]=Z)}ie>0&&c.push({target:K,detail:`${ie} \u5904\u6307\u5411\u539F\u300C\u6F14\u8FDB\u8BB0\u5F55\u300D\u8282\u7684\u8868\u8FF0\u6539\u6307 history.md`});for(let[F,H]of m){let Z=0;for(let Yt=0;Yt<H.lines.length;Yt++){let As=H.lines[Yt]??"",Vt=Vd.exec(As),Ls=Vt?g.get(Number(Vt[2])):void 0;Vt&&Ls&&(H.lines[Yt]=`${Vt[1]}${Ls}${Vt[3]}${As.slice(Vt[0].length)}`,Z+=1);let js=jo(H.lines[Yt]??"",n.maxSeq);H.lines[Yt]=js.line;for(let Os of js.hits)a.push({file:(0,to.basename)(F),from:Os.from,to:Os.to})}Z>0&&c.push({target:(0,to.basename)(F),detail:`\u5C0F\u8282\u6807\u9898\u5E8F\u53F7\u6539\u4E3A\u7A33\u5B9A ID\uFF08${Z} \u5904\uFF09`})}}let k=Cn(l);if(!k)throw new Error(`\u672A\u5728 ${n.dir}/${K} \u4E2D\u5B9A\u4F4D\u5230\u7D22\u5F15\u8868\uFF0C\u65E0\u6CD5\u673A\u68B0\u5347\u7EA7\uFF1B\u672C\u6B21\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6`);let y=le(k.header,re),x=le(k.header,hr),$=le(k.header,Rt),b=le(k.header,rn),T=le(k.header,To),h=le(k.header,En),S=[];if(T>=0)for(let C=0;C<k.rows.length;C++){let A=k.rows[C]??[];zd.test(A[T]??"")&&S.push({id:A[y]??"",name:A[x>=0?x:1]??"",semantic:A[$]??"",owner:b>=0?A[b]??"":"\u2014",line:k.rowLines[C]??-1,location:"\u2014"})}let R=[T,h].filter(C=>C>=0).sort((C,A)=>A-C);if(R.length>0){let C=[To,En].filter(A=>le(k.header,A)>=0);l[k.headerLine]=Ss(l[k.headerLine]??"",R),l[k.separatorLine]=Ss(l[k.separatorLine]??"",R);for(let A of k.rowLines)l[A]=Ss(l[A]??"",R);c.push({target:K,detail:`\u7D22\u5F15\u8868\u5220\u9664\u5217\u300C${C.join("\u300D\u300C")}\u300D`})}let N=i,I=null;if(d!==null)I=d.split(/\r?\n/);else if((0,ys.existsSync)(n.historyFile)){let C=E(n.historyFile);N=C.includes(`\r
182
182
  `)?`\r
183
183
  `:`
184
- `,I=C.split(/\r?\n/)}if(I){let C=ue(I,ve);C&&(C.header[0]??"")!==re&&(I[C.headerLine]=In(I[C.headerLine]??"",0,re),d=I.join(N),c.push({target:V,detail:`\u8868\u5934\u9996\u683C\u5F52\u4E00\u4E3A ${re}`}))}let v=0;for(let C of S)for(let[A,D]of m){let P=D.lines.findIndex(U=>Vd.exec(U)?.[1]===C.id);if(P===-1)continue;let ee=D.lines.length;for(let U=P+1;U<D.lines.length;U++)if(Ic.test(D.lines[U]??"")){ee=U;break}Lc(D.lines,P,ee),v+=1,C.location=`\u5DF2\u5220\u5206\u518C\u5C0F\u8282 \`${(0,to.basename)(A)}\``}if(S.length>0){let C=S.map(A=>A.line).filter(A=>A>=0).sort((A,D)=>D-A);for(let A of C)l.splice(A,1);c.push({target:K,detail:`\u7D22\u5F15\u8868\u8FC1\u51FA ${S.length} \u6761\u9000\u4F11\u6761\u76EE`}),v>0&&c.push({target:be,detail:`\u5220\u9664\u5206\u518C\u9000\u4F11\u5C0F\u8282 ${v} \u5904`})}let j=null;if(S.length>0){let C=S.map(A=>`| ${A.id} | ${A.name} | ${A.semantic} | ${A.owner} | \u2014 | \u2014 | ${A.location} |`);if((0,ys.existsSync)(n.retiredFile)){let A=E(n.retiredFile).split(/\r?\n/),D=ue(A,Ze);if(D){let P=D.rowLines[D.rowLines.length-1],ee=P!==void 0?P+1:D.separatorLine+1;A.splice(ee,0,...C),j=A.join(i)}else f.push(`${be} \u5B58\u5728\u4F46\u672A\u5B9A\u4F4D\u5230\u9000\u4F11\u8868\uFF08\u8868\u5934\u987B\u542B\u300C${Ze}\u300D\uFF09\uFF0C${S.length} \u6761\u9000\u4F11\u6761\u76EE\u5F85\u4EBA\u5DE5\u8865\u5F55`)}else j=Oi.split(`
185
- `).join(i)+C.join(i)+i,c.push({target:be,detail:`\u6309\u9700\u65B0\u5EFA\uFF08${S.length} \u6761\u9000\u4F11\u6761\u76EE\uFF09`});f.push(`${be} \u4E2D ${S.length} \u6761\u9000\u4F11\u6761\u76EE\u7684\u300C\u540E\u7EE7\u300D\u300C\u9000\u4F11\u6765\u6E90\u4EFB\u52A1\u300D\u5217\u673A\u68B0\u8FC1\u79FB\u586B\u300C\u2014\u300D\uFF0C\u8BF7\u4EBA\u5DE5\u8865\u5F55`)}if(I){let C=ue(I,ve);if(C){let A=C.rows.map(ie=>ie[0]??""),D=A.filter(ie=>me(ie)).length;D>0&&f.push(`${V} \u6709 ${D} \u884C\u9996\u5217\u4E3A\u8865\u96F6 ID\uFF08\u5E94\u5199\u4F5C ${Et(A.find(ie=>me(ie))??"")}\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\uFF08\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\uFF09`);let P=A.filter(ie=>!wt(ie)&&!me(ie)).length;P>0&&f.push(`${V} \u6709 ${P} \u884C\u9996\u5217\u4ECD\u4E3A\u89C4\u5219\u540D\uFF08\u672A\u7528 C-<n>\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u662F\u5426\u8865\u5F55 ID`);let ee=le(C.header,ve),U=ee>=0?C.rows.filter(ie=>/[;;+]/.test(ie[ee]??"")).length:0;U>0&&f.push(`${V} \u6709 ${U} \u884C\u6765\u6E90\u5217\u542B\u591A\u4E2A\u4EFB\u52A1\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u62C6\u5206`)}}let z=l.filter(C=>C.includes(En)||/状态[^。;\n]{0,20}已废弃/.test(C)).length;if(z>0&&f.push(`${K} \u6B63\u6587\u6709 ${z} \u884C\u6B8B\u7559 v2 \u63AA\u8F9E\uFF08\u5982\u300C${En}\u300D\u300C\u72B6\u6001\u6539\u4E3A\u5DF2\u5E9F\u5F03\u300D\uFF09\uFF1Av3 \u5DF2\u5220\u8BE5\u4E24\u5217\u5E76\u8FC1\u51FA\u9000\u4F11\u6761\u76EE\uFF0C\u7528\u6CD5\u8BF4\u660E / \u5199\u5165\u7EAA\u5F8B\u987B\u540C\u6B65\u6539\u5199`),l.unshift(wn),c.push({target:K,detail:`\u9996\u884C\u5F62\u6001\u6807\u8BB0\u7F6E\u4E3A ${wn}`}),!t.dryRun){_(n.indexFile,l.join(i)),d!==null&&_(n.historyFile,d),j!==null&&_(n.retiredFile,j);for(let[C,A]of m)_(C,A.lines.join(A.eol))}return{status:"upgraded",...r,idMap:p,refs:a,changes:c,reviews:f}}var Gt=require("path"),_c=require("fs");var qd=/^##\s+([^\s.]+)\.\s/,Xd=new Set(["common","index"]),Zd=/仅|只|专属|适用于/;function Qd(e,t,n,r){let o=`\u8F7D\u4F53 ${e}\uFF0C${t} \u6761\u89C4\u8303\uFF0C\u5165\u53E3\u58F3 ${n} \u4E2A`;return r===0?`${o}\uFF0C\u65E0\u5F85\u5904\u7406\u9879`:`${o}\uFF0C${r} \u9879\u5F85\u5904\u7406`}function eg(e,t){e.form==="v1"?t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8F7D\u4F53\u4E3A v1 \u5F62\u6001\uFF08\u65E0\u5F62\u6001\u6807\u8BB0\u3001\u65E0 ${V}\uFF09\uFF1A\u53EF\u6267\u884C toolkit conventions upgrade \u5347\u4E3A v3`}):e.form==="abnormal"&&t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8F7D\u4F53\u5F62\u6001\u5F02\u5E38\uFF08\u5F62\u6001\u6807\u8BB0\u3001${V} \u4E0E\u7D22\u5F15\u8868\u9996\u5217\u4E09\u8005\u4E0D\u4E00\u81F4\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u518D\u5904\u7406\uFF0C\u4E0D\u8981\u76F4\u63A5\u5347\u7EA7`}),e.hasLegacy&&t.push({level:"warn",scope:"\u5F62\u6001",message:`\u65E7\u5355\u6587\u4EF6 ${Ce} \u4E0E\u76EE\u5F55\u5F62\u6001\u5E76\u5B58\uFF1A\u786E\u8BA4\u5185\u5BB9\u5DF2\u8FC1\u5165\u540E\u6E05\u7406\u65E7\u6587\u4EF6`})}function tg(e,t){let r=(e.hasIndex?E(e.indexFile):"").split(/\r?\n/),o=e.entries.map(g=>g.id).filter(g=>g!==""),s=new Set(o);if((e.header[0]??"")===re){for(let u of o)if(!wt(u)){if(me(u)){t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u9996\u5217\u300C${u}\u300D\u4E3A\u8865\u96F6\u5199\u6CD5\uFF0C\u7A33\u5B9A ID \u53BB\u8865\u96F6\uFF08\u5E94\u5199\u4F5C ${Et(u)}\uFF09`});continue}t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u9996\u5217\u300C${u}\u300D\u4E0D\u5408\u7A33\u5B9A ID \u5F62\u6001 C-<n>`})}let g=new Set;for(let u of o)g.has(u)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u5B58\u5728\u91CD\u590D ID ${u}`}),g.add(u)}let i=new Set;for(let g of ct(e))g!==e.indexFile&&i.add((0,Gt.basename)(g,".md"));let l=le(e.header,rn),c=ue(r,kr),a=c?le(c.header,"\u7AEF\u540D"):-1,f=new Set;if(c)for(let g of c.rows){let u=a===-1?"":g[a]??"";u!==""&&f.add(u)}let p=le(e.header,Rt);if(l!==-1&&c)for(let g of e.entries){let u=(g.cells[l]??"").split(/[、,,\s]+/).filter(m=>m!=="");for(let m of u)!f.has(m)&&!Xd.has(m)&&!i.has(m)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${g.id} \u7684\u5F52\u5C5E\u300C${m}\u300D\u4E0D\u5728\u7AEF\u6E05\u5355\u3001\u4FDD\u7559\u5F52\u5C5E\u6216\u5206\u7C7B\u6807\u7B7E\u5206\u518C\u4E2D`});if(u.length===1&&u[0]==="common"&&p!==-1){let m=g.cells[p]??"",d=m.toLowerCase(),k=Zd.test(m)?[...f].find(y=>y!==""&&d.includes(y.toLowerCase())):void 0;k&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${g.id} \u5F52\u5C5E common \u4F46\u8BED\u4E49\u63D0\u53CA\u7AEF\u300C${k}\u300D\uFF0C\u786E\u8BA4\u662F\u5426\u5E94\u4E0B\u6C89\u4E3A\u7AEF\u5F52\u5C5E`})}}for(let g of ct(e)){if(g===e.indexFile)continue;let u=(0,Gt.basename)(g,".md");for(let m of E(g).split(/\r?\n/)){let d=qd.exec(m);d&&!s.has(d[1]??"")&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u5206\u518C ${u}.md \u7684\u5C0F\u8282 ${d[1]} \u5728\u7D22\u5F15\u8868\u4E2D\u65E0\u5BF9\u5E94\u6761\u76EE`})}}if(e.hasRetired){let g=ue(E(e.retiredFile).split(/\r?\n/),Ze);if(!g)t.push({level:"warn",scope:"\u7D22\u5F15",message:`${be} \u672A\u5B9A\u4F4D\u5230\u9000\u4F11\u8868\uFF08\u8868\u5934\u987B\u542B\u300C${Ze}\u300D\uFF09`});else{let u=le(g.header,re);for(let m of g.rows){let d=u===-1?"":m[u]??"";d!==""&&s.has(d)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${d} \u540C\u65F6\u5B58\u5728\u4E8E\u7D22\u5F15\u8868\u4E0E ${be}\uFF08\u9000\u4F11\u6761\u76EE\u987B\u5DF2\u8FC1\u51FA\u5E38\u9A7B\u7D22\u5F15\uFF09`})}}}}function ng(e,t){for(let n of Er(e))t.push({level:"warn",scope:"\u5F62\u6001",message:n.message})}var Oc=5;function rg(e,t){if(!(0,_c.existsSync)(e))return;let n=[];for(let o of jn(e)){let s=Rr(E(o)).length;s>0&&n.push(`${(0,Gt.relative)(e,o).replace(/\\/g,"/")}\uFF08${s} \u884C\uFF09`)}if(n.length===0)return;let r=n.length>Oc?` \u7B49 ${n.length} \u4E2A\u6587\u4EF6`:"";t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8868\u683C\u5B58\u5728\u5217\u5BF9\u9F50\u586B\u5145\uFF08\u504F\u79BB\u7D27\u51D1\u5F62\u6001\uFF09\uFF1A\u6267\u884C toolkit conventions format \u5F52\u4E00\uFF1B\u547D\u4E2D ${n.slice(0,Oc).join("\u3001")}${r}`})}function og(e,t){if(e.form!=="v3")return;let n=ue(E(e.historyFile).split(/\r?\n/),ve);if(!n)return;let r=n.rows.map(i=>i[0]??""),o=r.filter(i=>me(i)).length;o>0&&t.push({level:"warn",scope:"\u5F62\u6001",message:`${V} \u6709 ${o} \u884C\u9996\u5217\u4E3A\u8865\u96F6 ID\uFF08\u5E94\u5199\u4F5C ${Et(r.find(i=>me(i))??"")}\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u6838\u5BF9\uFF0C\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\u4E0D\u81EA\u52A8\u6539\u5199`});let s=r.filter(i=>!wt(i)&&!me(i)).length;s>0&&t.push({level:"warn",scope:"\u5F62\u6001",message:`${V} \u6709 ${s} \u884C\u9996\u5217\u4E0D\u662F\u7A33\u5B9A\u7684\u89C4\u5219 ID\uFF08\u5E94\u8BB0\u884C\u5185\u4EE3\u7801\u5305\u88F9\u7684 C-<n>\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u8865\u5F55\uFF08\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\uFF0C\u4E0D\u81EA\u52A8\u6539\u5199\uFF09`})}function sg(e,t){let n=Ir(e),r=zt(e,n.map(l=>l.file)),o=[],s=[],i=n.map(l=>{let c=r.has(l.file);return l.version!==pe&&o.push(l),c&&s.push(l),{file:l.file,version:l.version,ignored:c}});for(let l of[Ar(o),Lr(s)])l&&t.push({level:"warn",scope:"\u5165\u53E3\u5C42",message:l.message});return n.length===0&&t.push(ln(e)?{level:"info",scope:"\u5165\u53E3\u5C42",message:"\u672C\u5305\u6E90\u4ED3\u5E93\u4E0D\u751F\u6210\u5165\u53E3\u58F3\uFF08\u9760 fxri-* \u6280\u80FD\u81EA\u4E3E\uFF09\uFF1A\u65E0\u9700\u8865\u751F\u6210"}:{level:"info",scope:"\u5165\u53E3\u5C42",message:"\u672A\u627E\u5230\u5165\u53E3\u58F3\uFF1A\u6267\u884C toolkit init \u53EF\u751F\u6210\uFF08\u9879\u76EE\u7EA7\u6280\u80FD\u76EE\u5F55\uFF09"}),i}function Dc(e=".tasks",t=process.cwd()){let n=Qe(e),r={tasksDir:e,dir:n.dir,form:n.form,carrierVersion:n.markerVersion,entries:n.entries.length};if(!n.hasIndex){let l=n.hasLegacy?`\u672A\u627E\u5230 ${n.dir}/${K}\uFF08\u4EC5\u5B58\u65E7\u5355\u6587\u4EF6 ${Ce}\uFF09\uFF1A\u5148\u6309 conventions-spec \u8FC1\u79FB\u4E3A\u76EE\u5F55\u5F62\u6001\uFF0C\u518D\u6267\u884C toolkit conventions status`:`\u672A\u627E\u5230 ${(0,Gt.join)(e,Be)}/\uFF0C\u5148\u6267\u884C toolkit init`;return{initialized:!1,...r,shells:[],items:[{level:"info",scope:"\u5F62\u6001",message:l}],warnings:0,summary:l}}let o=[];eg(n,o),tg(n,o),ng(n,o),rg(e,o),og(n,o);let s=sg(t,o),i=o.filter(l=>l.level==="warn").length;return{initialized:!0,...r,shells:s,items:o,warnings:i,summary:Qd(n.form,n.entries.length,s.length,i)}}function Fc(e){return JSON.stringify({schemaVersion:1,...e},null,2)}function Re(e){return e&&e!=="json"?(console.error(`\u26A0\uFE0F \u4E0D\u652F\u6301\u7684\u8F93\u51FA\u683C\u5F0F\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 json`),process.exitCode=1,!1):!0}var dn=require("fs"),Pc=require("path"),bs=require("os"),Hc=require("child_process");var ig="https://registry.npmjs.org/@fxri%2Ftoolkit/latest";async function Nc(){try{let e=await fetch(ig,{signal:AbortSignal.timeout(1e3),headers:{accept:"application/vnd.npm.install-v1+json"}});if(!e.ok)return null;let t=await e.json();return typeof t.version=="string"?t.version:null}catch{return null}}function Mc(e,t){let n=i=>i.trim().replace(/^-/,"").split(/[.+-]/).map(l=>Number.parseInt(l,10)).map(l=>Number.isFinite(l)?l:0),r=n(e),o=n(t),s=Math.max(r.length,o.length);for(let i=0;i<s;i++){let l=r[i]??0,c=o[i]??0;if(l!==c)return l>c}return!1}var lg=1440*60*1e3,cg=3600*1e3,ag="FX_NO_UPDATE_CHECK",vs="--fxri-update-check-worker";function Bc(){return(0,Pc.join)((0,bs.tmpdir)(),".toolkit-update-check.json")}function ug(){let e=Bc();try{if(!(0,dn.existsSync)(e))return null;let t=JSON.parse(E(e)),n=typeof t.ts=="number"?t.ts:0,r=typeof t.latest=="string"?t.latest:"",o=t.ok===!0,s=o?lg:cg;return Date.now()-n>=s?((0,dn.rmSync)(e,{force:!0}),null):o&&!r?null:{ts:n,ok:o,latest:r}}catch{return null}}function fg(e,t){try{let n=Bc();(0,dn.mkdirSync)((0,bs.tmpdir)(),{recursive:!0}),_(n,JSON.stringify({ts:Date.now(),ok:e,latest:t}))}catch{}}function dg(){let e=process.env[ag];if(e!==void 0&&e!=="")return!["0","false","off","no"].includes(e.trim().toLowerCase());let t=Gs()?.updateCheck;return t&&typeof t=="object"?t.enabled===!1:!1}function Uc(e){if(dg())return;let t=ug();if(t){t.ok&&Mc(t.latest,e)&&pg(t.latest,e);return}gg()}function gg(){let e=process.argv[1];if(e)try{(0,Hc.spawn)(process.execPath,[e,vs],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}async function Gc(){let e=await Nc().catch(()=>null);fg(e!==null,e??"")}function pg(e,t){console.error(`\u2B06\uFE0F \u53D1\u73B0\u65B0\u7248\u672C ${e}\uFF08\u5F53\u524D ${t}\uFF09\uFF1Apnpm add -g @fxri/toolkit \u5347\u7EA7\u540E\u8BF7\u5F00\u65B0\u4F1A\u8BDD\u52A0\u8F7D\u6700\u65B0 skills \u89C4\u5219\uFF1B\u672C\u5730\u6280\u80FD\u53EF\u7528 toolkit skills status \u68C0\u67E5\uFF08\u8F6F\u94FE\u81EA\u52A8\u8DDF\u968F\uFF0C\u526F\u672C\u5F62\u5F0F\u9700\u91CD\u8DD1 toolkit skills install\uFF09`)}var mg="\u663E\u793A\u5E2E\u52A9",hg=["version","format","doc"];function $s(e){e.helpOption("-h, --help",mg),e.configureHelp({subcommandTerm:t=>`${t.name()} ${t.usage()}`.replace(/\s+/g," ").trim()});for(let t of e.commands)$s(t)}function Kc(e){let[t]=e;return!t||!hg.includes(t)?!1:e.slice(1).some(n=>n==="-h"||n==="--help")}var xs="\u8FD0\u884C toolkit --help \u67E5\u770B\u53EF\u7528\u547D\u4EE4";function Yc(e){let t=/\n\(Did you mean (one of )?([^)]*?)\?\)$/.exec(e);if(!t)return"";let n=(t[2]??"").split(", ").join("\u3001");return t[1]?`\uFF08\u662F\u5426\u60F3\u8F93\u5165 ${n} \u4E4B\u4E00\uFF1F\uFF09`:`\uFF08\u662F\u5426\u60F3\u8F93\u5165 ${n}\uFF1F\uFF09`}function Vc(e){switch(e.code){case"commander.unknownCommand":{let t=/unknown command '([^']*)'/.exec(e.message)?.[1];return t?`\u26A0\uFE0F \u672A\u77E5\u547D\u4EE4\u300C${t}\u300D\u3002${Yc(e.message)}
184
+ `,I=C.split(/\r?\n/)}if(I){let C=ue(I,ve);C&&(C.header[0]??"")!==re&&(I[C.headerLine]=In(I[C.headerLine]??"",0,re),d=I.join(N),c.push({target:V,detail:`\u8868\u5934\u9996\u683C\u5F52\u4E00\u4E3A ${re}`}))}let v=0;for(let C of S)for(let[A,D]of m){let P=D.lines.findIndex(U=>Wd.exec(U)?.[1]===C.id);if(P===-1)continue;let ee=D.lines.length;for(let U=P+1;U<D.lines.length;U++)if(Ic.test(D.lines[U]??"")){ee=U;break}Lc(D.lines,P,ee),v+=1,C.location=`\u5DF2\u5220\u5206\u518C\u5C0F\u8282 \`${(0,to.basename)(A)}\``}if(S.length>0){let C=S.map(A=>A.line).filter(A=>A>=0).sort((A,D)=>D-A);for(let A of C)l.splice(A,1);c.push({target:K,detail:`\u7D22\u5F15\u8868\u8FC1\u51FA ${S.length} \u6761\u9000\u4F11\u6761\u76EE`}),v>0&&c.push({target:be,detail:`\u5220\u9664\u5206\u518C\u9000\u4F11\u5C0F\u8282 ${v} \u5904`})}let j=null;if(S.length>0){let C=S.map(A=>`| ${A.id} | ${A.name} | ${A.semantic} | ${A.owner} | \u2014 | \u2014 | ${A.location} |`);if((0,ys.existsSync)(n.retiredFile)){let A=E(n.retiredFile).split(/\r?\n/),D=ue(A,Ze);if(D){let P=D.rowLines[D.rowLines.length-1],ee=P!==void 0?P+1:D.separatorLine+1;A.splice(ee,0,...C),j=A.join(i)}else f.push(`${be} \u5B58\u5728\u4F46\u672A\u5B9A\u4F4D\u5230\u9000\u4F11\u8868\uFF08\u8868\u5934\u987B\u542B\u300C${Ze}\u300D\uFF09\uFF0C${S.length} \u6761\u9000\u4F11\u6761\u76EE\u5F85\u4EBA\u5DE5\u8865\u5F55`)}else j=Oi.split(`
185
+ `).join(i)+C.join(i)+i,c.push({target:be,detail:`\u6309\u9700\u65B0\u5EFA\uFF08${S.length} \u6761\u9000\u4F11\u6761\u76EE\uFF09`});f.push(`${be} \u4E2D ${S.length} \u6761\u9000\u4F11\u6761\u76EE\u7684\u300C\u540E\u7EE7\u300D\u300C\u9000\u4F11\u6765\u6E90\u4EFB\u52A1\u300D\u5217\u673A\u68B0\u8FC1\u79FB\u586B\u300C\u2014\u300D\uFF0C\u8BF7\u4EBA\u5DE5\u8865\u5F55`)}if(I){let C=ue(I,ve);if(C){let A=C.rows.map(ie=>ie[0]??""),D=A.filter(ie=>me(ie)).length;D>0&&f.push(`${V} \u6709 ${D} \u884C\u9996\u5217\u4E3A\u8865\u96F6 ID\uFF08\u5E94\u5199\u4F5C ${Et(A.find(ie=>me(ie))??"")}\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\uFF08\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\uFF09`);let P=A.filter(ie=>!wt(ie)&&!me(ie)).length;P>0&&f.push(`${V} \u6709 ${P} \u884C\u9996\u5217\u4ECD\u4E3A\u89C4\u5219\u540D\uFF08\u672A\u7528 C-<n>\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u662F\u5426\u8865\u5F55 ID`);let ee=le(C.header,ve),U=ee>=0?C.rows.filter(ie=>/[;;+]/.test(ie[ee]??"")).length:0;U>0&&f.push(`${V} \u6709 ${U} \u884C\u6765\u6E90\u5217\u542B\u591A\u4E2A\u4EFB\u52A1\uFF0C\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u62C6\u5206`)}}let z=l.filter(C=>C.includes(En)||/状态[^。;\n]{0,20}已废弃/.test(C)).length;if(z>0&&f.push(`${K} \u6B63\u6587\u6709 ${z} \u884C\u6B8B\u7559 v2 \u63AA\u8F9E\uFF08\u5982\u300C${En}\u300D\u300C\u72B6\u6001\u6539\u4E3A\u5DF2\u5E9F\u5F03\u300D\uFF09\uFF1Av3 \u5DF2\u5220\u8BE5\u4E24\u5217\u5E76\u8FC1\u51FA\u9000\u4F11\u6761\u76EE\uFF0C\u7528\u6CD5\u8BF4\u660E / \u5199\u5165\u7EAA\u5F8B\u987B\u540C\u6B65\u6539\u5199`),l.unshift(wn),c.push({target:K,detail:`\u9996\u884C\u5F62\u6001\u6807\u8BB0\u7F6E\u4E3A ${wn}`}),!t.dryRun){_(n.indexFile,l.join(i)),d!==null&&_(n.historyFile,d),j!==null&&_(n.retiredFile,j);for(let[C,A]of m)_(C,A.lines.join(A.eol))}return{status:"upgraded",...r,idMap:p,refs:a,changes:c,reviews:f}}var Gt=require("path"),_c=require("fs");var Xd=/^##\s+([^\s.]+)\.\s/,Zd=new Set(["common","index"]),Qd=/仅|只|专属|适用于/;function eg(e,t,n,r){let o=`\u8F7D\u4F53 ${e}\uFF0C${t} \u6761\u89C4\u8303\uFF0C\u5165\u53E3\u58F3 ${n} \u4E2A`;return r===0?`${o}\uFF0C\u65E0\u5F85\u5904\u7406\u9879`:`${o}\uFF0C${r} \u9879\u5F85\u5904\u7406`}function tg(e,t){e.form==="v1"?t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8F7D\u4F53\u4E3A v1 \u5F62\u6001\uFF08\u65E0\u5F62\u6001\u6807\u8BB0\u3001\u65E0 ${V}\uFF09\uFF1A\u53EF\u6267\u884C toolkit conventions upgrade \u5347\u4E3A v3`}):e.form==="abnormal"&&t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8F7D\u4F53\u5F62\u6001\u5F02\u5E38\uFF08\u5F62\u6001\u6807\u8BB0\u3001${V} \u4E0E\u7D22\u5F15\u8868\u9996\u5217\u4E09\u8005\u4E0D\u4E00\u81F4\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u518D\u5904\u7406\uFF0C\u4E0D\u8981\u76F4\u63A5\u5347\u7EA7`}),e.hasLegacy&&t.push({level:"warn",scope:"\u5F62\u6001",message:`\u65E7\u5355\u6587\u4EF6 ${Ce} \u4E0E\u76EE\u5F55\u5F62\u6001\u5E76\u5B58\uFF1A\u786E\u8BA4\u5185\u5BB9\u5DF2\u8FC1\u5165\u540E\u6E05\u7406\u65E7\u6587\u4EF6`})}function ng(e,t){let r=(e.hasIndex?E(e.indexFile):"").split(/\r?\n/),o=e.entries.map(g=>g.id).filter(g=>g!==""),s=new Set(o);if((e.header[0]??"")===re){for(let u of o)if(!wt(u)){if(me(u)){t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u9996\u5217\u300C${u}\u300D\u4E3A\u8865\u96F6\u5199\u6CD5\uFF0C\u7A33\u5B9A ID \u53BB\u8865\u96F6\uFF08\u5E94\u5199\u4F5C ${Et(u)}\uFF09`});continue}t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u9996\u5217\u300C${u}\u300D\u4E0D\u5408\u7A33\u5B9A ID \u5F62\u6001 C-<n>`})}let g=new Set;for(let u of o)g.has(u)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u7D22\u5F15\u8868\u5B58\u5728\u91CD\u590D ID ${u}`}),g.add(u)}let i=new Set;for(let g of ct(e))g!==e.indexFile&&i.add((0,Gt.basename)(g,".md"));let l=le(e.header,rn),c=ue(r,kr),a=c?le(c.header,"\u7AEF\u540D"):-1,f=new Set;if(c)for(let g of c.rows){let u=a===-1?"":g[a]??"";u!==""&&f.add(u)}let p=le(e.header,Rt);if(l!==-1&&c)for(let g of e.entries){let u=(g.cells[l]??"").split(/[、,,\s]+/).filter(m=>m!=="");for(let m of u)!f.has(m)&&!Zd.has(m)&&!i.has(m)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${g.id} \u7684\u5F52\u5C5E\u300C${m}\u300D\u4E0D\u5728\u7AEF\u6E05\u5355\u3001\u4FDD\u7559\u5F52\u5C5E\u6216\u5206\u7C7B\u6807\u7B7E\u5206\u518C\u4E2D`});if(u.length===1&&u[0]==="common"&&p!==-1){let m=g.cells[p]??"",d=m.toLowerCase(),k=Qd.test(m)?[...f].find(y=>y!==""&&d.includes(y.toLowerCase())):void 0;k&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${g.id} \u5F52\u5C5E common \u4F46\u8BED\u4E49\u63D0\u53CA\u7AEF\u300C${k}\u300D\uFF0C\u786E\u8BA4\u662F\u5426\u5E94\u4E0B\u6C89\u4E3A\u7AEF\u5F52\u5C5E`})}}for(let g of ct(e)){if(g===e.indexFile)continue;let u=(0,Gt.basename)(g,".md");for(let m of E(g).split(/\r?\n/)){let d=Xd.exec(m);d&&!s.has(d[1]??"")&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u5206\u518C ${u}.md \u7684\u5C0F\u8282 ${d[1]} \u5728\u7D22\u5F15\u8868\u4E2D\u65E0\u5BF9\u5E94\u6761\u76EE`})}}if(e.hasRetired){let g=ue(E(e.retiredFile).split(/\r?\n/),Ze);if(!g)t.push({level:"warn",scope:"\u7D22\u5F15",message:`${be} \u672A\u5B9A\u4F4D\u5230\u9000\u4F11\u8868\uFF08\u8868\u5934\u987B\u542B\u300C${Ze}\u300D\uFF09`});else{let u=le(g.header,re);for(let m of g.rows){let d=u===-1?"":m[u]??"";d!==""&&s.has(d)&&t.push({level:"warn",scope:"\u7D22\u5F15",message:`\u6761\u76EE ${d} \u540C\u65F6\u5B58\u5728\u4E8E\u7D22\u5F15\u8868\u4E0E ${be}\uFF08\u9000\u4F11\u6761\u76EE\u987B\u5DF2\u8FC1\u51FA\u5E38\u9A7B\u7D22\u5F15\uFF09`})}}}}function rg(e,t){for(let n of Er(e))t.push({level:"warn",scope:"\u5F62\u6001",message:n.message})}var Oc=5;function og(e,t){if(!(0,_c.existsSync)(e))return;let n=[];for(let o of jn(e)){let s=Rr(E(o)).length;s>0&&n.push(`${(0,Gt.relative)(e,o).replace(/\\/g,"/")}\uFF08${s} \u884C\uFF09`)}if(n.length===0)return;let r=n.length>Oc?` \u7B49 ${n.length} \u4E2A\u6587\u4EF6`:"";t.push({level:"warn",scope:"\u5F62\u6001",message:`\u8868\u683C\u5B58\u5728\u5217\u5BF9\u9F50\u586B\u5145\uFF08\u504F\u79BB\u7D27\u51D1\u5F62\u6001\uFF09\uFF1A\u6267\u884C toolkit conventions format \u5F52\u4E00\uFF1B\u547D\u4E2D ${n.slice(0,Oc).join("\u3001")}${r}`})}function sg(e,t){if(e.form!=="v3")return;let n=ue(E(e.historyFile).split(/\r?\n/),ve);if(!n)return;let r=n.rows.map(i=>i[0]??""),o=r.filter(i=>me(i)).length;o>0&&t.push({level:"warn",scope:"\u5F62\u6001",message:`${V} \u6709 ${o} \u884C\u9996\u5217\u4E3A\u8865\u96F6 ID\uFF08\u5E94\u5199\u4F5C ${Et(r.find(i=>me(i))??"")}\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u6838\u5BF9\uFF0C\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\u4E0D\u81EA\u52A8\u6539\u5199`});let s=r.filter(i=>!wt(i)&&!me(i)).length;s>0&&t.push({level:"warn",scope:"\u5F62\u6001",message:`${V} \u6709 ${s} \u884C\u9996\u5217\u4E0D\u662F\u7A33\u5B9A\u7684\u89C4\u5219 ID\uFF08\u5E94\u8BB0\u884C\u5185\u4EE3\u7801\u5305\u88F9\u7684 C-<n>\uFF09\uFF1A\u8BF7\u4EBA\u5DE5\u6838\u5BF9\u8865\u5F55\uFF08\u5386\u53F2\u884C\u53EA\u8FFD\u52A0\uFF0C\u4E0D\u81EA\u52A8\u6539\u5199\uFF09`})}function ig(e,t){let n=Ir(e),r=zt(e,n.map(l=>l.file)),o=[],s=[],i=n.map(l=>{let c=r.has(l.file);return l.version!==pe&&o.push(l),c&&s.push(l),{file:l.file,version:l.version,ignored:c}});for(let l of[Ar(o),Lr(s)])l&&t.push({level:"warn",scope:"\u5165\u53E3\u5C42",message:l.message});return n.length===0&&t.push(ln(e)?{level:"info",scope:"\u5165\u53E3\u5C42",message:"\u672C\u5305\u6E90\u4ED3\u5E93\u4E0D\u751F\u6210\u5165\u53E3\u58F3\uFF08\u9760 fxri-* \u6280\u80FD\u81EA\u4E3E\uFF09\uFF1A\u65E0\u9700\u8865\u751F\u6210"}:{level:"info",scope:"\u5165\u53E3\u5C42",message:"\u672A\u627E\u5230\u5165\u53E3\u58F3\uFF1A\u6267\u884C toolkit init \u53EF\u751F\u6210\uFF08\u9879\u76EE\u7EA7\u6280\u80FD\u76EE\u5F55\uFF09"}),i}function Dc(e=".tasks",t=process.cwd()){let n=Qe(e),r={tasksDir:e,dir:n.dir,form:n.form,carrierVersion:n.markerVersion,entries:n.entries.length};if(!n.hasIndex){let l=n.hasLegacy?`\u672A\u627E\u5230 ${n.dir}/${K}\uFF08\u4EC5\u5B58\u65E7\u5355\u6587\u4EF6 ${Ce}\uFF09\uFF1A\u5148\u6309 conventions-spec \u8FC1\u79FB\u4E3A\u76EE\u5F55\u5F62\u6001\uFF0C\u518D\u6267\u884C toolkit conventions status`:`\u672A\u627E\u5230 ${(0,Gt.join)(e,Be)}/\uFF0C\u5148\u6267\u884C toolkit init`;return{initialized:!1,...r,shells:[],items:[{level:"info",scope:"\u5F62\u6001",message:l}],warnings:0,summary:l}}let o=[];tg(n,o),ng(n,o),rg(n,o),og(e,o),sg(n,o);let s=ig(t,o),i=o.filter(l=>l.level==="warn").length;return{initialized:!0,...r,shells:s,items:o,warnings:i,summary:eg(n.form,n.entries.length,s.length,i)}}function Fc(e){return JSON.stringify({schemaVersion:1,...e},null,2)}function Re(e){return e&&e!=="json"?(console.error(`\u26A0\uFE0F \u4E0D\u652F\u6301\u7684\u8F93\u51FA\u683C\u5F0F\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 json`),process.exitCode=1,!1):!0}var dn=require("fs"),Pc=require("path"),bs=require("os"),Hc=require("child_process");var lg="https://registry.npmjs.org/@fxri%2Ftoolkit/latest";async function Nc(){try{let e=await fetch(lg,{signal:AbortSignal.timeout(1e3),headers:{accept:"application/vnd.npm.install-v1+json"}});if(!e.ok)return null;let t=await e.json();return typeof t.version=="string"?t.version:null}catch{return null}}function Mc(e,t){let n=i=>i.trim().replace(/^-/,"").split(/[.+-]/).map(l=>Number.parseInt(l,10)).map(l=>Number.isFinite(l)?l:0),r=n(e),o=n(t),s=Math.max(r.length,o.length);for(let i=0;i<s;i++){let l=r[i]??0,c=o[i]??0;if(l!==c)return l>c}return!1}var cg=1440*60*1e3,ag=3600*1e3,ug="FX_NO_UPDATE_CHECK",vs="--fxri-update-check-worker";function Bc(){return(0,Pc.join)((0,bs.tmpdir)(),".toolkit-update-check.json")}function fg(){let e=Bc();try{if(!(0,dn.existsSync)(e))return null;let t=JSON.parse(E(e)),n=typeof t.ts=="number"?t.ts:0,r=typeof t.latest=="string"?t.latest:"",o=t.ok===!0,s=o?cg:ag;return Date.now()-n>=s?((0,dn.rmSync)(e,{force:!0}),null):o&&!r?null:{ts:n,ok:o,latest:r}}catch{return null}}function dg(e,t){try{let n=Bc();(0,dn.mkdirSync)((0,bs.tmpdir)(),{recursive:!0}),_(n,JSON.stringify({ts:Date.now(),ok:e,latest:t}))}catch{}}function gg(){let e=process.env[ug];if(e!==void 0&&e!=="")return!["0","false","off","no"].includes(e.trim().toLowerCase());let t=Gs()?.updateCheck;return t&&typeof t=="object"?t.enabled===!1:!1}function Uc(e){if(gg())return;let t=fg();if(t){t.ok&&Mc(t.latest,e)&&mg(t.latest,e);return}pg()}function pg(){let e=process.argv[1];if(e)try{(0,Hc.spawn)(process.execPath,[e,vs],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}async function Gc(){let e=await Nc().catch(()=>null);dg(e!==null,e??"")}function mg(e,t){console.error(`\u2B06\uFE0F \u53D1\u73B0\u65B0\u7248\u672C ${e}\uFF08\u5F53\u524D ${t}\uFF09\uFF1Apnpm add -g @fxri/toolkit \u5347\u7EA7\u540E\u8BF7\u5F00\u65B0\u4F1A\u8BDD\u52A0\u8F7D\u6700\u65B0 skills \u89C4\u5219\uFF1B\u672C\u5730\u6280\u80FD\u53EF\u7528 toolkit skills status \u68C0\u67E5\uFF08\u8F6F\u94FE\u81EA\u52A8\u8DDF\u968F\uFF0C\u526F\u672C\u5F62\u5F0F\u9700\u91CD\u8DD1 toolkit skills install\uFF09`)}var hg="\u663E\u793A\u5E2E\u52A9",kg=["version","format","doc"];function $s(e){e.helpOption("-h, --help",hg),e.configureHelp({subcommandTerm:t=>`${t.name()} ${t.usage()}`.replace(/\s+/g," ").trim()});for(let t of e.commands)$s(t)}function Kc(e){let[t]=e;return!t||!kg.includes(t)?!1:e.slice(1).some(n=>n==="-h"||n==="--help")}var xs="\u8FD0\u884C toolkit --help \u67E5\u770B\u53EF\u7528\u547D\u4EE4";function Yc(e){let t=/\n\(Did you mean (one of )?([^)]*?)\?\)$/.exec(e);if(!t)return"";let n=(t[2]??"").split(", ").join("\u3001");return t[1]?`\uFF08\u662F\u5426\u60F3\u8F93\u5165 ${n} \u4E4B\u4E00\uFF1F\uFF09`:`\uFF08\u662F\u5426\u60F3\u8F93\u5165 ${n}\uFF1F\uFF09`}function Vc(e){switch(e.code){case"commander.unknownCommand":{let t=/unknown command '([^']*)'/.exec(e.message)?.[1];return t?`\u26A0\uFE0F \u672A\u77E5\u547D\u4EE4\u300C${t}\u300D\u3002${Yc(e.message)}
186
186
  ${xs}`:null}case"commander.unknownOption":{let t=/unknown option '([^']*)'/.exec(e.message)?.[1];return t?`\u26A0\uFE0F \u672A\u77E5\u9009\u9879\u300C${t}\u300D\u3002${Yc(e.message)}
187
187
  ${xs}`:null}case"commander.excessArguments":{let t=/too many arguments(?: for '([^']*)')?\. Expected (\d+) arguments? but got (\d+)\./.exec(e.message);return t?`\u26A0\uFE0F ${t[1]?`\u547D\u4EE4\u300C${t[1]}\u300D`:"\u547D\u4EE4"}\u671F\u671B ${t[2]} \u4E2A\u53C2\u6570\uFF0C\u5B9E\u9645\u6536\u5230 ${t[3]} \u4E2A\u3002
188
- ${xs}`:null}default:return null}}var Wc="\u4E13\u4E3A\u591A\u4EBA + AI \u8DE8\u9879\u76EE\u534F\u4F5C\u6253\u9020\uFF1A\u4EFB\u52A1\u7BA1\u7406 + \u591A\u8BED\u8A00 CHANGELOG\u3002";var ta=(0,Qc.createRequire)(O),kg=ta.resolve("@changesets/cli/bin.js"),{version:na}=ta("../package.json"),Rs=e=>{let t=(0,ea.spawnSync)(process.execPath,[kg,...e],{stdio:"inherit"});t.status!==0&&process.exit(t.status??1)};function Sg(){if(process.platform==="win32")try{process.stdout.setDefaultEncoding("utf8"),process.stderr.setDefaultEncoding("utf8")}catch{}}function ra(){let e=de("check");return typeof e?.warnings=="boolean"?e.warnings:void 0}function oa(){let t=de("changelog")?.languages;if(!t||typeof t!="object")return cn;let n={...cn};for(let[r,o]of Object.entries(t))o&&typeof o=="object"&&(n[r]=o);return n}function yg(e=".changeset"){if(!(0,ht.existsSync)(e))return!1;try{return(0,ht.readdirSync)(e).some(t=>t.endsWith(".md")&&t!=="README.md")}catch{return!1}}function bg(e=".tasks"){return fe((0,Zn.join)(e,"active")).length>0}function zc(e){let t=Ji(".",e);t>0&&console.warn(`\u26A0\uFE0F ${t} \u6761\u53D8\u66F4\u96C6\u6761\u76EE\u7F3A\u7C7B\u578B\u524D\u7F00\uFF0C\u5EFA\u8BAE\u6309\u300C\u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D\u64B0\u5199`)}function vg(){let e=Object.values(oa());return[...qi(".changeset",e).map(t=>({level:"warn",file:t.file,line:t.line,message:`\u53D8\u66F4\u96C6\u6761\u76EE\u7F3A\u7C7B\u578B\u524D\u7F00\uFF08\u672C\u6587\u4EF6 ${t.count} \u6761\uFF09\uFF0C\u5EFA\u8BAE\u6309\u300C\u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D\u64B0\u5199`})),...Xi(".changeset",e).map(t=>({level:"warn",file:t.file,line:t.line,message:`\u53D8\u66F4\u96C6\u6761\u76EE\u672A\u52A0\u300C- \u300D\u5217\u8868\u6807\u8BB0\uFF08\u672C\u6587\u4EF6 ${t.count} \u884C\uFF09\uFF0Cchangesets \u4F1A\u5E76\u5165\u5355\u4E00\u6761\u76EE\uFF0C\u8BF7\u9010\u6761\u5199\u6210\u300C- \u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D`}))]}function $g(e,t){t.export&&console.warn(`\u26A0\uFE0F \u5B50\u547D\u4EE4\u300C${e}\u300D\u4E0D\u652F\u6301 --export\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u652F\u6301\u5BFC\u51FA\uFF09`),t.format&&console.warn(`\u26A0\uFE0F \u5B50\u547D\u4EE4\u300C${e}\u300D\u4E0D\u652F\u6301 --format\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u4E0E stats \u652F\u6301 JSON \u8F93\u51FA\uFF09`)}function no(e){if(e.length===0){console.log("\u672A\u53D1\u73B0\u95EE\u9898");return}for(let t of e)console.log(` ${t.file}${t.line?`:${t.line}`:""}: ${t.message}`)}function mt(e){return e?e.split(/[,,]/).map(t=>t.trim()).filter(Boolean):void 0}function Jc(e,t){let n=mt(t);if(!n)return!0;let r=qe,o=n.filter(i=>r.includes(i)),s=n.filter(i=>!r.includes(i));return o.length===0?(console.error(`\u26A0\uFE0F --status \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF1A${s.join("\u3001")}\uFF08\u5408\u6CD5\uFF1A${qe.join("/")}\uFF09`),process.exitCode=1,!1):(s.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u975E\u6CD5\u72B6\u6001\u503C\uFF1A${s.join("\u3001")}\uFF08\u5408\u6CD5\uFF1A${qe.join("/")}\uFF09`),e.status=o,!0)}function qc(e,t){return[...t,e]}function Cs(e){return e===void 0||e===""?{choice:Ll(),explicit:!1}:e==="project"||e==="global"||e==="all"?{choice:e,explicit:!0}:(console.error(`\u26A0\uFE0F \u4E0D\u652F\u6301\u7684 --scope \u53D6\u503C\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 project / global / all`),process.exitCode=1,null)}var xg={project:"\u9879\u76EE\u9762\uFF08\u4ED3\u5E93\u5185\u552F\u4E00\u771F\u6E90\u526F\u672C + \u5404\u5019\u9009\u76EE\u5F55\u8584\u58F3\uFF09",global:"\u5168\u5C40\u9762\uFF08\u8F6F\u94FE / \u526F\u672C\u5230\u5404 agent \u5168\u5C40\u6280\u80FD\u76EE\u5F55\uFF09",all:"\u9879\u76EE\u9762 + \u5168\u5C40\u9762"};function Is(e){return`\u4F5C\u7528\u57DF\uFF1A${xg[e.choice]}\uFF08${e.explicit?"--scope \u6307\u5B9A":"\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A"}\uFF09`}var Rg={link:"\u8F6F\u94FE\u6B63\u5E38",dangling:"\u8F6F\u94FE\u60AC\u7A7A\uFF08\u771F\u6E90\u7F3A\u5931\u6216\u5347\u7EA7\u540E\u65E7\u8DEF\u5F84\u5931\u6548\uFF09",wrong:"\u8F6F\u94FE\u6307\u5411\u5176\u4ED6\u7248\u672C",copy:"\u526F\u672C\u5DF2\u540C\u6B65","copy-drift":"\u526F\u672C\u5DF2\u6F02\u79FB\uFF08\u4E0E\u771F\u6E90\u4E0D\u4E00\u81F4\uFF09",missing:"\u7F3A\u5931",conflict:"\u540C\u540D\u51B2\u7A81\uFF08\u975E\u672C\u5305\u4EA7\u7269\uFF09","not-selected":"\u672A\u9009\u62E9","installed-unselected":"\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5"},wg=["dangling","wrong","copy-drift","missing","conflict"];async function Eg(e,t,n){let r=t==="global"?se().mode:Fe().mode,o=e.mode==="package"||e.mode==="skills"?e.mode:r??"skills";if(e.noSkills)return{names:[],mode:o,saveSelection:!1};let s;if(e.mode===void 0)if(t==="global"){let f=se().selection;s=f&&Object.keys(f).length>0?n.filter(p=>{let g=f[p.source];return g===void 0||g.includes(p.name)}).map(p=>p.name):void 0}else{let f=Fe().selection;s=f&&f.length>0?[...new Set([...f,...n.filter(p=>p.sourceKind!=="builtin").map(p=>p.name)])].filter(p=>n.some(g=>g.name===p)):void 0}let i=e.skills!==void 0?mt(e.skills)??[]:void 0,l=cc({skills:n,saved:s,explicit:i,all:!!e.all,noOptional:e.optional===!1,mode:o,interactive:qn(),yes:!!e.yes});if(l.error)return console.error(`\u26A0\uFE0F --skills \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF1A${l.invalid.join("\u3001")}`),process.exitCode=1,null;l.invalid.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6280\u80FD\uFF1A${l.invalid.join("\u3001")}`),l.savedInvalid.length>0&&console.warn(`\u26A0\uFE0F \u5DF2\u4FDD\u5B58\u7684\u6280\u80FD\u9009\u62E9\u542B\u4E0D\u5B58\u5728\u7684\u6280\u80FD\uFF1A${l.savedInvalid.join("\u3001")}\uFF08\u5DF2\u5FFD\u7565\uFF09`);let c=f=>{let p=Yr(n,f);return p.missing.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u7F3A\u5931\u7684\u4F9D\u8D56\u6280\u80FD\uFF1A${p.missing.join("\u3001")}`),p.names};if(!l.needsPrompt)return{names:c(l.names),mode:o,saveSelection:!0};let a=await dc(n,s,o);return a===null?(console.error("\u5DF2\u53D6\u6D88\u6280\u80FD\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null):{names:c(a),mode:o,saveSelection:!0}}function Tg(e){if(e===void 0)return{invalid:[]};let t=mt(e)??[],n=new Set(We().filter(r=>r.name).map(r=>r.name));return{names:t.filter(r=>n.has(r)),invalid:t.filter(r=>!n.has(r))}}async function Cg(e){if(e.allAgents)return e.agent!==void 0&&console.warn("\u26A0\uFE0F \u540C\u65F6\u4F20\u5165 --agent \u4E0E --all-agents\uFF0C\u5DF2\u6309 --all-agents \u6267\u884C"),Il();if(e.agent!==void 0){let i=Tg(e.agent);return i.invalid.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u672A\u77E5\u7684 agent / \u76EE\u6807\u540D\uFF1A${i.invalid.join("\u3001")}`),!i.names||i.names.length===0?(console.error("\u26A0\uFE0F --agent \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1,null):i.names}if(!qn()||e.yes)return;let t=We(),n=ac(t,se().targets,e.dir),r=n.filter(i=>!i.disabled);if(r.length<=1)return r.map(i=>i.value);let o=await gs(n,"\u9009\u62E9\u8981\u5199\u5165\u6280\u80FD\u7684\u76EE\u6807\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09");if(o===null)return console.error("\u5DF2\u53D6\u6D88\u76EE\u6807\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null;let s=new Set(t.filter(i=>i.name).map(i=>i.name));return o.filter(i=>s.has(i))}async function Ig(e){if(!qn()||e.yes)return;let t=Nt(),n=uc(t.shellDirs,Fe().targets,e.dir,t.missingDirs),r=n.filter(s=>!s.disabled);if(r.length<=1)return r.map(s=>s.value);let o=await gs(n,"\u9009\u62E9\u8981\u5199\u5165\u7684\u9879\u76EE\u6280\u80FD\u76EE\u5F55\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09");return o===null?(console.error("\u5DF2\u53D6\u6D88\u76EE\u5F55\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null):o.filter(s=>t.shellDirs.includes(s))}function Ag(e){if(!e)return"\u6309\u5DF2\u4FDD\u5B58\u9009\u62E9 / \u5168\u90E8\u53EF\u7528\u76EE\u6807";let t=new Map(We().map(n=>[n.name,n.label]));return e.map(n=>t.get(n)??n).join("\u3001")||"\u65E0"}function Pe(e){console.log(Fc(e))}function oo(e,t){return t?`${e}@${t}`:e}function Lg(e,t){let n=t?"[\u9884\u6F14] ":"",r=new Map(nt().map(o=>[o.name,o.version]));console.log(`${n}\u6280\u80FD\u6E90\uFF1A${e.source}`),console.log(`${n}\u672C\u6B21\u9009\u62E9\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.map(o=>oo(o,r.get(o)??"")).join("\u3001")||"\u65E0"}`),console.log(`${n}\u672C\u6B21\u76EE\u6807\uFF08${e.targetSelection.length}\uFF09\uFF1A${e.targetSelection.join("\u3001")||"\u65E0"}`);for(let o of e.targets){console.log(""),console.log(`${o.label}\uFF1A${o.dir}`),o.created.length>0&&console.log(` \u65B0\u5EFA\uFF1A${o.created.join("\u3001")}`),o.updated.length>0&&console.log(` \u91CD\u5EFA/\u66F4\u65B0\uFF1A${o.updated.join("\u3001")}`),o.skipped.length>0&&console.log(` \u8DF3\u8FC7\uFF08\u5DF2\u5C31\u7EEA\uFF09\uFF1A${o.skipped.join("\u3001")}`),o.conflicts.length>0&&console.log(` \u8DF3\u8FC7\uFF08\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF0C\u5982\u9700\u8986\u76D6\u52A0 --force\uFF09\uFF1A${o.conflicts.join("\u3001")}`),o.pruned.length>0&&console.log(` \u6E05\u7406\uFF08\u672A\u9009\u62E9\uFF09\uFF1A${o.pruned.join("\u3001")}`);for(let i of o.degraded)console.log(` \u26A0\uFE0F \u964D\u7EA7\u4E3A\u526F\u672C\uFF1A${i.name}\uFF08\u94FE\u63A5\u521B\u5EFA\u5931\u8D25\uFF1A${i.reason}\uFF09`);for(let i of o.failed)console.log(` \u26A0\uFE0F \u5931\u8D25\uFF1A${i.name}\uFF08${i.reason}\uFF09`);let s=[];o.links.length>0&&s.push(`\u8F6F\u94FE ${o.links.length} \u4E2A`),o.copies.length>0&&s.push(`\u526F\u672C ${o.copies.length} \u4E2A`),s.length>0&&console.log(` \u4EA7\u7269\u5F62\u6001\uFF1A${s.join(" / ")}`)}console.log(""),e.skippedTargets.length>0&&console.log(`\u672C\u673A\u672A\u68C0\u6D4B\u5230\u7684 agent ${e.skippedTargets.length} \u4E2A\u5DF2\u8DF3\u8FC7\uFF08\u4E0D\u51ED\u7A7A\u521B\u5EFA\u76EE\u5F55\uFF09\uFF1B\u5982\u9700\u88C5\u5230\u672A\u8BC6\u522B\u7684 agent\uFF1Atoolkit skills install --dir <\u5176\u5168\u5C40\u6280\u80FD\u76EE\u5F55>`),console.log(`${n}\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`),t&&console.log("[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C")}function jg(e){console.log(`\u6280\u80FD\u6E90\uFF1A${e.source}`),console.log(`\u6280\u80FD\u7248\u672C\uFF1A${e.skills.map(o=>oo(o,e.skillVersions[o]??"")).join("\u3001")||"\u65E0"}`),console.log(`\u9009\u62E9\u96C6\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.join("\u3001")||"\u65E0"}`),console.log(`\u76EE\u6807\u9009\u62E9\u96C6\uFF1A${e.targetSelection.length>0?e.targetSelection.join("\u3001"):"\u5168\u90E8\u53EF\u7528\u76EE\u6807\uFF08\u672A\u4FDD\u5B58\u8FC7\u76EE\u6807\u9009\u62E9\uFF09"}`);for(let o of e.versionMismatches)console.warn(`\u26A0\uFE0F \u6280\u80FD\u7248\u672C\u53CC\u5199\u4F4D\u4E0D\u4E00\u81F4\uFF1A${o.name}\uFF08frontmatter ${o.frontmatter} / \u6B63\u6587 ${o.body||"\u672A\u58F0\u660E"}\uFF09`);console.log(`\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}${e.stateExists?"":"\uFF08\u672A\u8BB0\u5F55\uFF0C\u5C1A\u672A\u6267\u884C\u8FC7 toolkit skills install\uFF09"}`);let t=0,n=0;for(let o of e.targets){let s=`${o.label}\uFF1A${o.dir}${o.dirExists?"":"\uFF08\u76EE\u5F55\u672A\u521B\u5EFA\uFF09"}${o.selected?"":"\uFF08\u672A\u9009\u62E9\uFF09"}`,i=o.items.filter(a=>wg.includes(a.state)),l=o.items.filter(a=>a.state==="installed-unselected");if(t+=i.length,n+=l.length,console.log(""),i.length===0&&l.length===0){console.log(`${s}\u3000${o.items.length} \u9879\u6B63\u5E38`);continue}console.log(s);for(let a of i)console.log(` ${a.name}\uFF1A${Rg[a.state]}`);for(let a of l)console.log(` ${a.name}\uFF1A\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5\uFF08\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u52A0 --prune \u91CD\u8DD1 install\uFF09`);let c=o.items.length-i.length-l.length;c>0&&console.log(` \u5176\u4F59 ${c} \u9879\u6B63\u5E38`)}e.pendingAgents.length>0&&(console.log(""),console.log(`\u672A\u5B89\u88C5\u7684 agent ${e.pendingAgents.length} \u4E2A\u672A\u7EB3\u5165\u5206\u53D1\uFF08\u9700\u8981\u65F6\u7528 toolkit skills install --dir <\u8DEF\u5F84> \u6307\u5B9A\uFF09`)),e.canonicalReaders.length>0&&(console.log(""),console.log(`\u7ECF canonical \u5171\u8BFB\u7684 agent ${e.canonicalReaders.length} \u4E2A\uFF1A${e.canonicalReaders.map(o=>o.label).join("\u3001")}\uFF08\u8BFB\u53D6\u4E3B\u76EE\u6807\uFF0C\u65E0\u9700\u5355\u72EC\u5199\u5165\uFF09`)),e.legacyTargets.length>0&&(console.log(""),console.warn(`\u26A0\uFE0F \u5386\u53F2\u843D\u70B9\u6B8B\u7559 ${e.legacyTargets.length} \u5904\uFF1A${e.legacyTargets.map(o=>`${o.label}\uFF08${o.dir}\uFF09`).join("\u3001")}`),console.log(" \u5DF2\u4E0D\u518D\u968F\u672C\u5305\u66F4\u65B0\uFF1B\u4E0D\u9700\u8981\u65F6\u5148 toolkit skills remove \u6E05\u7406\u5168\u90E8\u672C\u5305\u767B\u8BB0\u4EA7\u7269\uFF0C\u518D toolkit skills install \u91CD\u65B0\u5B89\u88C5")),console.log(""),console.log(t>0?`\u5171 ${t} \u5904\u9700\u5904\u7406\uFF1A\u7F3A\u5931 / \u60AC\u7A7A / \u6307\u5411\u5176\u4ED6\u7248\u672C / \u526F\u672C\u6F02\u79FB\u7528 toolkit skills install \u8865\u9F50\uFF0C\u540C\u540D\u51B2\u7A81\u7528 toolkit skills install --force \u8986\u76D6`:"\u6240\u6709\u5DF2\u7EB3\u5165\u7684\u76EE\u6807\u5747\u6B63\u5E38"),n>0&&console.log(`\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5 ${n} \u9879\uFF1A\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u8FD0\u884C toolkit skills install --prune`);let r=e.targets.reduce((o,s)=>o+s.items.filter(i=>i.state==="link").length,0);r>0&&console.log(`\u8F6F\u94FE\u843D\u70B9 ${r} \u9879\uFF1A\u5199\u5165\u5C06\u7A7F\u900F\u81F3\u6280\u80FD\u771F\u6E90\u76EE\u5F55\uFF0C\u6539\u5185\u5BB9\u8BF7\u6539\u771F\u6E90`)}function sa(e,t){let n=t?"[\u9884\u6F14] ":"";if(!e.stateExists){console.log("\u672A\u627E\u5230\u672C\u5305\u7684\u72B6\u6001\u6587\u4EF6\uFF0C\u6CA1\u6709\u7531\u672C\u5305\u5B89\u88C5\u7684\u4EA7\u7269\u9700\u8981\u6E05\u7406\uFF08\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5\u7684\u6280\u80FD\u4E0D\u53D7\u5F71\u54CD\uFF09");return}console.log(`${n}\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`);for(let r of e.targets)console.log(""),console.log(r.label?`${r.label}\uFF1A${r.dir}`:r.dir),r.removed.length>0&&console.log(` ${t?"\u5C06\u79FB\u9664":"\u5DF2\u79FB\u9664"}\uFF1A${r.removed.join("\u3001")}`),r.missing.length>0&&console.log(` \u5DF2\u4E0D\u5B58\u5728\uFF1A${r.missing.join("\u3001")}`),r.skippedForeign.length>0&&console.log(` \u26A0\uFE0F \u8DF3\u8FC7\uFF08\u975E\u672C\u5305\u4EA7\u7269\u6216\u5185\u5BB9\u5DF2\u88AB\u6539\u52A8\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\uFF09\uFF1A${r.skippedForeign.join("\u3001")}`),r.dirReclaimed&&console.log(" \u76EE\u6807\u76EE\u5F55\u5DF2\u7A7A\uFF0C\u5DF2\u4E00\u5E76\u56DE\u6536");console.log(""),t?console.log("[\u9884\u6F14] \u672A\u6267\u884C\u5220\u9664\uFF1B\u65E0\u9057\u7559\u6761\u76EE\u65F6\u5C06\u540C\u65F6\u5220\u9664\u72B6\u6001\u6587\u4EF6"):e.stateRemoved?console.log("\u72B6\u6001\u6587\u4EF6\u5DF2\u5220\u9664\uFF0C\u672C\u5305\u4EA7\u7269\u6E05\u7406\u5B8C\u6BD5"):console.log("\u72B6\u6001\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF08\u5B58\u5728\u9700\u4EBA\u5DE5\u786E\u8BA4\u6216\u672A\u79FB\u9664\u7684\u6761\u76EE\uFF09")}var Og={ready:"\u5DF2\u5C31\u7EEA",drift:"\u5DF2\u6F02\u79FB\uFF08\u4E0E\u771F\u6E90 / \u671F\u671B\u4E0D\u4E00\u81F4\uFF09",conflict:"\u540C\u540D\u51B2\u7A81\uFF08\u975E\u672C\u5305\u4EA7\u7269\uFF09",missing:"\u7F3A\u5931","not-selected":"\u672A\u9009\u62E9","installed-unselected":"\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5"},_g=["drift","conflict","missing"];function Xc(e,t=" "){let n=`${t} `;console.log(`${t}${e.dir}`),e.created.length>0&&console.log(`${n}\u65B0\u5EFA\uFF1A${e.created.join("\u3001")}`),e.updated.length>0&&console.log(`${n}\u91CD\u5EFA/\u66F4\u65B0\uFF1A${e.updated.join("\u3001")}`),e.skipped.length>0&&console.log(`${n}\u8DF3\u8FC7\uFF08\u5DF2\u5C31\u7EEA\uFF09\uFF1A${e.skipped.join("\u3001")}`),e.conflicts.length>0&&console.log(`${n}\u8DF3\u8FC7\uFF08\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF0C\u5982\u9700\u8986\u76D6\u52A0 --force\uFF09\uFF1A${e.conflicts.join("\u3001")}`),e.pruned.length>0&&console.log(`${n}\u6E05\u7406\uFF08\u672A\u9009\u62E9\uFF09\uFF1A${e.pruned.join("\u3001")}`);for(let r of e.failed)console.log(`${n}\u26A0\uFE0F \u5931\u8D25\uFF1A${r.name}\uFF08${r.reason}\uFF09`)}function Dg(e,t){let n=t?"[\u9884\u6F14] ":"",r=new Map(nt().map(o=>[o.name,o.version]));console.log(`${n}\u9879\u76EE\u9762 \xB7 \u9879\u76EE\u6839\uFF1A${e.root}`),console.log(`${n}\u9879\u76EE\u9762 \xB7 \u672C\u6B21\u9009\u62E9\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.map(o=>oo(o,r.get(o)??"")).join("\u3001")||"\u65E0"}`),console.log(`${n}\u9879\u76EE\u9762 \xB7 \u672C\u6B21\u76EE\u5F55\uFF08${e.targetSelection.length}\uFF09\uFF1A${e.targetSelection.join("\u3001")||"\u65E0"}`),console.log(""),console.log(" \u771F\u6E90\u526F\u672C\uFF08\u4ED3\u5E93\u5185\u552F\u4E00\uFF0C\u968F git \u5165\u5E93\uFF09\uFF1A"),Xc(e.source," ");for(let o of e.shells)console.log(""),console.log(" \u8584\u58F3\u76EE\u5F55\uFF08\u6307\u5411\u771F\u6E90\uFF09\uFF1A"),Xc(o," ");if(e.missingDirs.length>0){console.log(""),console.log(` \u672A\u547D\u4E2D\u7684\u5019\u9009\u76EE\u5F55 ${e.missingDirs.length} \u4E2A\uFF08\u8BE5 agent \u76EE\u5F55\u5C1A\u4E0D\u5728\u5E93\uFF0C\u9700\u8981\u65F6\u8865\u9F50\u540E\u63D0\u4EA4\uFF09\uFF1A`);for(let o of e.missingDirs)console.log(` toolkit skills install --scope project --dir ${o}`)}for(let o of e.ignoredDirs)console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u5FFD\u7565 --dir\u300C${o}\u300D\uFF1A\u843D\u5728\u4ED3\u5E93\u4E4B\u5916\uFF0C\u4E0D\u5199\u5165`);console.log(`${n}\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`),t&&console.log("[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C")}function Fg(e){console.log(`\u9879\u76EE\u9762 \xB7 \u9879\u76EE\u6839\uFF1A${e.root}`),console.log(`\u9879\u76EE\u9762 \xB7 \u6280\u80FD\u771F\u6E90\uFF1A${e.sourceDir}`),console.log(`\u9879\u76EE\u9762 \xB7 \u6280\u80FD\u7248\u672C\uFF1A${e.skills.map(r=>oo(r,e.skillVersions[r]??"")).join("\u3001")||"\u65E0"}`),console.log(`\u9879\u76EE\u9762 \xB7 \u9009\u62E9\u96C6\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.join("\u3001")||"\u65E0"}`),console.log(`\u9879\u76EE\u9762 \xB7 \u76EE\u5F55\u9009\u62E9\u96C6\uFF1A${e.targetSelection.length>0?e.targetSelection.join("\u3001"):"\u5168\u90E8\u5DF2\u5B58\u5728\u5019\u9009\u76EE\u5F55\uFF08\u672A\u4FDD\u5B58\u8FC7\u76EE\u5F55\u9009\u62E9\uFF09"}`);for(let r of e.versionMismatches)console.warn(`\u26A0\uFE0F \u6280\u80FD\u7248\u672C\u53CC\u5199\u4F4D\u4E0D\u4E00\u81F4\uFF1A${r.name}\uFF08frontmatter ${r.frontmatter} / \u6B63\u6587 ${r.body||"\u672A\u58F0\u660E"}\uFF09`);console.log(`\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}${e.stateExists?"":"\uFF08\u672A\u8BB0\u5F55\uFF0C\u5C1A\u672A\u6267\u884C\u8FC7 toolkit init / skills install\uFF09"}`);let t=0,n=0;for(let r of e.dirs){let o=r.items.filter(c=>_g.includes(c.state)),s=r.items.filter(c=>c.state==="installed-unselected");t+=o.length,n+=s.length;let i=`${r.kind==="source"?"\u771F\u6E90\u526F\u672C":"\u8584\u58F3"}\uFF1A${r.dir}${r.selected?"":"\uFF08\u672A\u9009\u62E9\uFF09"}`;if(console.log(""),o.length===0&&s.length===0){console.log(`${i}\u3000${r.items.length} \u9879\u6B63\u5E38`);continue}console.log(i);for(let c of o)console.log(` ${c.name}\uFF1A${Og[c.state]}`);for(let c of s)console.log(` ${c.name}\uFF1A\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5\uFF08\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u52A0 --prune \u91CD\u8DD1 install\uFF09`);let l=r.items.length-o.length-s.length;l>0&&console.log(` \u5176\u4F59 ${l} \u9879\u6B63\u5E38`)}if(e.missingDirs.length>0){console.log(""),console.log(`\u9879\u76EE\u9762 \xB7 \u672A\u547D\u4E2D\u7684\u5019\u9009\u76EE\u5F55 ${e.missingDirs.length} \u4E2A\uFF08\u9700\u8981\u65F6\u8865\u9F50\u540E\u63D0\u4EA4\uFF09\uFF1A`);for(let r of e.missingDirs)console.log(` toolkit skills install --scope project --dir ${r}`)}console.log(""),console.log(t>0?`\u9879\u76EE\u9762\u5171 ${t} \u5904\u9700\u5904\u7406\uFF1A\u6F02\u79FB / \u7F3A\u5931\u7528 toolkit skills install --scope project \u8865\u9F50\uFF0C\u540C\u540D\u51B2\u7A81\u52A0 --force`:"\u9879\u76EE\u9762\u6240\u6709\u5DF2\u7EB3\u5165\u7684\u76EE\u5F55\u5747\u6B63\u5E38"),n>0&&console.log(`\u9879\u76EE\u9762\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5 ${n} \u9879\uFF1A\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u8FD0\u884C toolkit skills install --scope project --prune`)}function Ng(e,t){let n=t?"[\u9884\u6F14] ":"";if(!e.stateExists){console.log("\u9879\u76EE\u9762\uFF1A\u672A\u627E\u5230\u5F52\u5C5E\u8D26\uFF0C\u6CA1\u6709\u7531\u672C\u5305\u5B89\u88C5\u7684\u9879\u76EE\u5185\u6280\u80FD\u4EA7\u7269\u9700\u8981\u6E05\u7406");return}console.log(`${n}\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`);for(let r of e.dirs)console.log(""),console.log(`${r.kind==="source"?"\u771F\u6E90\u526F\u672C":"\u8584\u58F3"}\uFF1A${r.dir}`),r.removed.length>0&&console.log(` ${t?"\u5C06\u79FB\u9664":"\u5DF2\u79FB\u9664"}\uFF1A${r.removed.join("\u3001")}`),r.missing.length>0&&console.log(` \u5DF2\u4E0D\u5B58\u5728\uFF1A${r.missing.join("\u3001")}`),r.skippedForeign.length>0&&console.log(` \u26A0\uFE0F \u8DF3\u8FC7\uFF08\u975E\u672C\u5305\u4EA7\u7269\u6216\u5185\u5BB9\u5DF2\u88AB\u6539\u52A8\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\uFF09\uFF1A${r.skippedForeign.join("\u3001")}`);e.reclaimed.length>0&&(console.log(""),console.log(` \u5DF2\u56DE\u6536\u7A7A\u76EE\u5F55\uFF1A${e.reclaimed.join("\u3001")}`)),console.log(""),t?console.log("[\u9884\u6F14] \u672A\u6267\u884C\u5220\u9664\uFF1B\u65E0\u9057\u7559\u6761\u76EE\u65F6\u5C06\u540C\u65F6\u5220\u9664\u9879\u76EE\u9762\u5F52\u5C5E\u8D26"):e.stateRemoved?console.log("\u9879\u76EE\u9762\u5F52\u5C5E\u8D26\u5DF2\u5220\u9664\uFF0C\u672C\u5305\u4EA7\u7269\u6E05\u7406\u5B8C\u6BD5"):console.log("\u9879\u76EE\u9762\u5F52\u5C5E\u8D26\u5DF2\u4FDD\u7559\uFF08\u5B58\u5728\u9700\u4EBA\u5DE5\u786E\u8BA4\u6216\u672A\u79FB\u9664\u7684\u6761\u76EE\uFF09")}function Mg(e,t,n,r){console.log(Is(e)),n&&(console.log(""),Dg(n,r)),t&&(console.log(""),Lg(t,r))}function Pg(e,t,n){console.log(Is(e)),n&&(console.log(""),Fg(n)),t&&(console.log(""),jg(t))}function Hg(e,t,n,r){console.log(Is(e)),n&&(console.log(""),Ng(n,r)),t&&(console.log(""),sa(t,r))}var ws=["archive","check","normalize","stats"],Ae=new ro.Command,ia="";Ae.name("toolkit").description(Wc).version(na,"-v, --version","\u663E\u793A\u7248\u672C\u53F7").enablePositionalOptions(!0).exitOverride().configureOutput({writeErr:e=>{ia+=e}});Ae.addHelpText("after",["","\u6587\u6863\u7AD9\uFF1A",` \u65B0\u624B\u6307\u5357 ${fn.gettingStarted}`,` \u5B8C\u6574\u653B\u7565 ${fn.guide}`,` \u5168\u90E8\u6587\u6863 ${fn.site}`].join(`
189
- `));var Bg={created:"\u65B0\u5EFA",updated:"\u66F4\u65B0",kept:"\u4FDD\u6301",appended:"\u8FFD\u52A0",skipped:"\u8DF3\u8FC7"};function Ug(e){console.log(`\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`);for(let t of e.products)console.log(` ${Bg[t.action]} ${t.target}${t.detail?`\uFF08${t.detail}\uFF09`:""}`),t.hint&&console.log(` \u63D0\u793A\uFF1A${t.hint}`);e.publishRiskHint&&console.log(`\u63D0\u793A\uFF1A${e.publishRiskHint}`),console.log(""),console.log("\u4E0B\u4E00\u6B65\uFF1A"),e.skillsInstalled||console.log(" \u5168\u5C40\u6280\u80FD\uFF1A\u672A\u5B89\u88C5\uFF0C\u6267\u884C toolkit skills install \u542F\u7528\uFF08\u89C4\u8303\u89E6\u8FBE\u7B2C\u4E00\u5C42\uFF0C\u4E0D\u4F9D\u8D56\u9879\u76EE\u5185\u6587\u4EF6\uFF1Btoolkit skills status \u53EF\u67E5\u73B0\u573A\uFF09"),console.log(` \u65B0\u624B\u6307\u5357\uFF1A${fn.gettingStarted}`),console.log(` \u5B8C\u6574\u653B\u7565\uFF1A${fn.guide}`)}Ae.command("init").description("\u521D\u59CB\u5316\u9879\u76EE\u4EFB\u52A1\u533A\uFF08\u751F\u6210 .tasks/ \u9AA8\u67B6\u3001\u89C4\u8303\u8F7D\u4F53\u4E0E\u6280\u80FD\u5165\u53E3\u58F3\uFF0C\u8865\u9F50 .gitignore \u7247\u6BB5\u4E0E prepare \u5237\u65B0\u94A9\u5B50\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--no-hooks","\u4E0D\u5199\u5165 package.json \u7684 prepare \u5237\u65B0\u94A9\u5B50\uFF08\u9ED8\u8BA4\u5199\u5165\uFF0C\u4EC5\u5F53\u672C\u5730\u4F9D\u8D56\u542B @xfri/toolkit\uFF09").action(e=>{try{Ug(Ec(Xt(e.dir),process.cwd(),{hooks:e.hooks}))}catch(t){console.error(`\u26A0\uFE0F \u521D\u59CB\u5316\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});var Kt=Ae.command("skills").description("AI \u6280\u80FD\u5305\u5206\u53D1\uFF1A\u5B89\u88C5 / \u72B6\u6001 / \u5378\u8F7D / \u6765\u6E90 / \u8DEF\u5F84\uFF08\u5305\u5185 skills/ \u4E0E --from \u5916\u90E8\u6765\u6E90\u7EDF\u4E00\u7BA1\u7406\uFF09");Kt.command("install").description("\u5B89\u88C5\u6280\u80FD\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1A\u4ED3\u5E93\u5185\u5199\u9879\u76EE\u9762\u526F\u672C + \u8584\u58F3\uFF0C\u5426\u5219\u5199\u5168\u5C40\u76EE\u5F55\uFF1B\u5305\u5185 skills/ \u4E0E --from \u5916\u90E8\u6765\u6E90\u7EDF\u4E00\u5904\u7406\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--skills <names>","\u53EA\u5B89\u88C5\u6307\u5B9A\u6280\u80FD\uFF08\u9017\u53F7\u5206\u9694\uFF1Bcore \u6280\u80FD\u6052\u88C5\uFF09").option("--all","\u5B89\u88C5\u5305\u5185\u5168\u90E8\u6280\u80FD\uFF08\u542B\u53EF\u9009\u6280\u80FD\uFF09").option("--no-optional","\u53EA\u5B89\u88C5 core \u6280\u80FD\uFF08\u4E0D\u542B\u53EF\u9009\u6280\u80FD\uFF09").option("--from <path|url>","\u5916\u90E8\u6280\u80FD\u6765\u6E90\u76EE\u5F55\u6216 Git \u5730\u5740\uFF08\u53EF\u91CD\u590D\uFF1B\u9ED8\u8BA4\u4E34\u65F6\uFF0C\u53EA\u5199\u672C\u6B21\uFF09",qc,[]).option("--save [name]","\u628A --from \u6765\u6E90\u767B\u8BB0\u4E3A\u6C38\u4E45\u6765\u6E90\uFF08\u53EF\u9009\u6765\u6E90\u540D\uFF0C\u7F3A\u7701\u6309\u76EE\u5F55 / \u6E05\u5355\u6D3E\u751F\uFF09").option("--agent <names>","\u53EA\u5199\u5165\u6307\u5B9A agent\uFF08\u9017\u53F7\u5206\u9694\uFF0C\u542B canonical\uFF1B\u672C\u673A\u672A\u68C0\u6D4B\u5230\u7684\u8DF3\u8FC7\uFF09").option("--all-agents","\u5199\u5165\u5168\u90E8\u5DF2\u68C0\u6D4B\u7684 agent").option("--no-save-agents","\u76EE\u6807\u9009\u62E9\u53EA\u5BF9\u672C\u6B21\u751F\u6548\uFF0C\u4E0D\u5199\u56DE\u914D\u7F6E").option("--yes","\u63A5\u53D7\u5DF2\u4FDD\u5B58\u7684\u6280\u80FD\u4E0E\u76EE\u6807\u9009\u62E9\uFF0C\u4E0D\u8FDB\u5165\u4EA4\u4E92\uFF08\u9996\u6B21\u53EA\u88C5 core \u4E0E\u5168\u90E8\u53EF\u7528\u76EE\u6807\uFF09").option("--copy","\u5F3A\u5236\u4EE5\u526F\u672C\u5F62\u5F0F\u5199\u5165\uFF08\u4EC5\u5168\u5C40\u9762\u751F\u6548\uFF1B\u9879\u76EE\u9762\u771F\u6E90\u6052\u4E3A\u526F\u672C\u3001\u5176\u4F59\u76EE\u5F55\u6052\u4E3A\u8584\u58F3\uFF09").option("--dir <path>","\u989D\u5916\u76EE\u6807\u76EE\u5F55\uFF08\u53EF\u591A\u6B21\u6307\u5B9A\uFF0C\u515C\u5E95\u5185\u7F6E\u8868\u672A\u6536\u5F55\u7684 agent\uFF1B\u4E0D\u53C2\u4E0E\u540E\u7EED\u81EA\u52A8\u540C\u6B65\uFF0C\u6280\u80FD\u53D8\u5316\u540E\u9700\u5E26\u76F8\u540C --dir \u91CD\u8DD1\uFF09",qc,[]).option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u6267\u884C\u7684\u52A8\u4F5C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--force","\u8986\u76D6\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF08\u9ED8\u8BA4\u8DF3\u8FC7\uFF0C\u907F\u514D\u7834\u574F\u7528\u6237\u81EA\u88C5\u6280\u80FD\uFF1B\u4E0D\u6539\u672C\u5305\u5DF2\u767B\u8BB0\u526F\u672C\u7684\u5F62\u6001\uFF09").option("--prune","\u6E05\u7406\u672A\u9009\u62E9\u4E14\u5185\u5BB9\u4E0E\u672C\u5305\u771F\u6E90\u4E00\u81F4\u7684\u65E7\u4EA7\u7269\uFF08\u53EA\u6E05\u672C\u5305\u767B\u8BB0\u6761\u76EE\uFF09").option("--mode <mode>","\u6280\u80FD\u5B89\u88C5\u6A21\u5F0F\uFF1Askills\uFF08core \u5FC5\u88C5\uFF09/ package\uFF08\u7EAF\u5305\u7BA1\u7406\u5668\uFF0C\u5141\u8BB8\u96F6\u9009\uFF09").option("--no-skills","\u672C\u6B21\u4E0D\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD\uFF0C\u4E0D\u6539\u6A21\u5F0F\u4E0E\u5DF2\u4FDD\u5B58\u9009\u62E9").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(async e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=!!e.dryRun,r=process.argv.includes("--no-skills");if(e.mode!==void 0&&e.mode!=="skills"&&e.mode!=="package"){console.error("\u26A0\uFE0F --mode \u53D6\u503C\u987B\u4E3A skills \u6216 package\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}if(e.mode!==void 0&&r){console.error("\u26A0\uFE0F --mode \u4E0E --no-skills \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}if(r&&(typeof e.skills=="string"||e.all||e.optional===!1)){console.error("\u26A0\uFE0F --no-skills \u4E0E --skills / --all / --no-optional \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}let o=t.choice!=="global",s=t.choice!=="project",i=!!e.yes||e.format==="json",l=e.from??[];if(e.save!==void 0&&l.length!==1){console.error("\u26A0\uFE0F --save \u53EA\u80FD\u4E0E\u5355\u4E2A --from \u642D\u914D\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}let c=l.map((y,x)=>({path:y,name:x===0&&typeof e.save=="string"?e.save:void 0,temporary:!(x===0&&e.save!==void 0)})),a;try{a=Zl({externalSources:c,dryRun:n})}catch(y){console.error(`\u26A0\uFE0F \u6280\u80FD\u6765\u6E90\u89E3\u6790\u5931\u8D25\uFF1A${y.message}`),process.exitCode=1;return}let f=await Eg({...e,skills:r?void 0:e.skills,noSkills:r,yes:i},t.choice==="project"?"project":"global",a);if(!f)return;let p=f.names;if(e.mode!==void 0&&!n){let y=e.mode;(t.choice==="global"||t.choice==="all")&&Ve({mode:y}),(t.choice==="project"||t.choice==="all")&&Ot({mode:y})}let g,u;if(s){let y=await Cg({agent:e.agent,allAgents:e.allAgents,yes:i,dir:e.dir});if(y===null)return;g=y}if(o){(e.agent!==void 0||e.allAgents)&&console.warn("\u26A0\uFE0F --agent / --all-agents \u4EC5\u4F5C\u7528\u4E8E\u5168\u5C40\u9762\uFF0C\u9879\u76EE\u9762\u6309\u9879\u76EE\u76EE\u5F55\u9009\u62E9\u6267\u884C");let y=await Ig({dir:e.dir,yes:i});if(y===null)return;u=y}if(!i&&qn()){console.log(""),console.log("\u5373\u5C06\u5B89\u88C5\uFF1A"),console.log(` \u6280\u80FD\uFF1A${p.join("\u3001")||"\u65E0"}`),c.length>0&&console.log(` \u5916\u90E8\u6765\u6E90\uFF1A${c.map(x=>x.path).join("\u3001")}`),s&&console.log(` \u5168\u5C40\u76EE\u6807\uFF1A${Ag(g)}`),o&&console.log(` \u9879\u76EE\u76EE\u5F55\uFF1A${u?u.join("\u3001"):"\u6309\u5DF2\u4FDD\u5B58\u9009\u62E9 / \u5168\u90E8\u5DF2\u5B58\u5728\u5019\u9009\u76EE\u5F55"}`);let y=await fc("\u786E\u8BA4\u6267\u884C\u5B89\u88C5\uFF1F");if(y===null){console.error("\u5DF2\u53D6\u6D88\u5B89\u88C5\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130;return}if(!y){console.log("\u5DF2\u53D6\u6D88\u5B89\u88C5\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6");return}}o&&e.copy&&console.warn("\u26A0\uFE0F \u9879\u76EE\u9762\u4E0D\u652F\u6301 --copy\uFF08\u771F\u6E90\u6052\u4E3A\u526F\u672C\u3001\u5404\u5019\u9009\u76EE\u5F55\u6052\u4E3A\u8584\u58F3\uFF09\uFF0C\u5DF2\u5FFD\u7565\u8BE5\u9879\u76EE\u9762\u53D6\u503C");let m=e.saveAgents===!1?!1:void 0,d=o?ec({dirs:e.dir,dryRun:n,force:e.force,skills:p,targetDirs:u,saveTargets:m,prune:!!e.prune,externalSources:c,saveSelection:f.saveSelection,mode:f.mode}):null,k=s?Ql({copy:e.copy,dirs:e.dir,dryRun:n,force:e.force,skills:p,targets:g,saveTargets:m,prune:!!e.prune,externalSources:c,saveSelection:f.saveSelection,mode:f.mode}):null;if(p.length===0&&console.log(f.mode==="package"?"\u7EAF\u5305\u7BA1\u7406\u5668\u6A21\u5F0F\uFF1A\u672C\u6B21\u672A\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD":"\u672A\u9009\u62E9\u4EFB\u4F55\u6280\u80FD"),!n&&e.save!==void 0&&c.length===1)try{let y=Yn(c[0].path,{name:typeof e.save=="string"?e.save:void 0,temporary:!1}),x=se(),$=y.url?{url:y.url,ref:y.ref}:{root:y.root};Ve({sources:{...x.sources??{},[y.name]:$}})}catch(y){console.warn(`\u26A0\uFE0F \u5916\u90E8\u6765\u6E90\u767B\u8BB0\u5931\u8D25\uFF1A${y.message}`)}e.format==="json"?Pe({dryRun:n,scope:t.choice,global:k,project:d}):Mg(t,k,d,n)}catch(t){console.error(`\u26A0\uFE0F \u5B89\u88C5\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.command("status").description("\u67E5\u770B\u6280\u80FD\u73B0\u573A\u72B6\u6001\u4E0E\u771F\u6E90\u7248\u672C\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1B\u542B\u60AC\u7A7A / \u6307\u5411\u5176\u4ED6\u7248\u672C / \u6F02\u79FB / \u7F3A\u5931 / \u540C\u540D\u51B2\u7A81\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=t.choice!=="global",r=t.choice!=="project",o=n?ic():null,s=r?sc():null;e.format==="json"?Pe({scope:t.choice,global:s,project:o}):Pg(t,s,o)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.command("remove").description("\u5378\u8F7D\u7531\u672C\u5305\u5B89\u88C5\u7684\u6280\u80FD\u4EA7\u7269\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1B\u53EA\u6E05\u7406\u5F52\u5C5E\u8D26\u8BB0\u8F7D\u7684\u6761\u76EE\uFF0C\u4E0D\u78B0\u7528\u6237\u81EA\u88C5\u6280\u80FD\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--skills <names>","\u53EA\u5378\u8F7D\u6307\u5B9A\u6280\u80FD\u7684\u9009\u62E9\u4E0E\u4EA7\u7269\uFF08\u9017\u53F7\u5206\u9694\uFF1B\u7701\u7565\u65F6\u6E05\u7406\u5168\u90E8\uFF09").option("--source <name>","\u53EA\u6E05\u7406\u6307\u5B9A\u5916\u90E8\u6765\u6E90\u7684\u767B\u8BB0\u4E0E\u4EA7\u7269\uFF08\u4EC5\u5168\u5C40\u9762\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u79FB\u9664\u7684\u6761\u76EE\uFF0C\u4E0D\u5220\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=e.skills!==void 0?mt(e.skills)??[]:void 0;if(n&&n.length===0){console.error("\u26A0\uFE0F --skills \u53D6\u503C\u4E3A\u7A7A\uFF0C\u672A\u6267\u884C\u5378\u8F7D"),process.exitCode=1;return}e.source!==void 0&&t.choice!=="global"&&console.warn("\u26A0\uFE0F --source \u4EC5\u4F5C\u7528\u4E8E\u5168\u5C40\u9762\uFF1B\u9879\u76EE\u9762\u6309\u5168\u90E8\u6765\u6E90\u6E05\u7406");let r=!!e.dryRun,o=t.choice!=="global",s=t.choice!=="project",i=o?tc({dryRun:r,skills:n}):null,l=s?as({dryRun:r,skills:n,source:e.source}):null;e.format==="json"?Pe({dryRun:r,scope:t.choice,global:l,project:i}):Hg(t,l,i,r)}catch(t){console.error(`\u26A0\uFE0F \u5378\u8F7D\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});var Gg=Kt.command("sources").description("\u67E5\u770B / \u6CE8\u9500\u5916\u90E8\u6280\u80FD\u6765\u6E90\uFF08--from --save \u767B\u8BB0\u540E\u7684\u7BA1\u7406\u5165\u53E3\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=se(),n=rt(),r=[];for(let[o,s]of Object.entries(t.sources??{})){let i=n?.sources[o]?.targets.flatMap(l=>l.entries.map(c=>c.name))??[];r.push({name:o,root:s.root??"",url:s.url,ref:s.ref,temporary:!1,registered:!0,skills:[...new Set(i)]})}for(let[o,s]of Object.entries(n?.sources??{})){if(r.some(l=>l.name===o))continue;let i=s.targets.flatMap(l=>l.entries.map(c=>c.name));r.push({name:o,root:s.root,url:s.url,ref:s.ref,temporary:s.temporary,registered:!1,skills:[...new Set(i)]})}if(e.format==="json"){Pe({sources:r});return}if(r.length===0){console.log("\u672A\u767B\u8BB0\u5916\u90E8\u6765\u6E90");return}for(let o of r){let s=o.name===De?"\u5185\u7F6E":o.registered?"\u5DF2\u767B\u8BB0":o.temporary?"\u4E34\u65F6":"\u72B6\u6001\u767B\u8BB0",i=o.skills.length>0?`\u3000\u6280\u80FD\uFF1A${o.skills.join("\u3001")}`:"",l=o.url?`${o.url}${o.ref?`#${o.ref}`:""}`:o.root;console.log(`${o.name}\uFF08${s}\uFF09\uFF1A${l||"\uFF08\u6765\u6E90\u6839\u7F3A\u5931\uFF09"}${i}`)}}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u6765\u6E90\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Gg.command("remove").argument("<name>","\u6765\u6E90\u540D").option("--prune","\u540C\u65F6\u6E05\u7406\u8BE5\u6765\u6E90\u7684\u4EA7\u7269\u4E0E\u72B6\u6001").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\uFF0C\u4E0D\u5220\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action((e,t)=>{try{if(!Re(t.format))return;let n=!!t.dryRun;if(t.prune){let i=as({dryRun:n,source:e});t.format==="json"?Pe({dryRun:n,source:e,report:i}):sa(i,n);return}if(n){console.log(`[\u9884\u6F14] \u5C06\u6CE8\u9500\u6765\u6E90\u767B\u8BB0\uFF1A${e}\uFF08\u4EA7\u7269\u4E0E\u72B6\u6001\u4FDD\u7559\uFF09`);return}let r=se();if(!r.sources?.[e]){console.error(`\u26A0\uFE0F \u672A\u627E\u5230\u5DF2\u767B\u8BB0\u6765\u6E90\uFF1A${e}`),process.exitCode=1;return}let o={...r.sources};delete o[e];let s={...r.selection??{}};delete s[e],Ve({sources:Object.keys(o).length>0?o:void 0,selection:Object.keys(s).length>0?s:void 0}),console.log(`\u5DF2\u6CE8\u9500\u6765\u6E90\u767B\u8BB0\uFF1A${e}\uFF08\u4EA7\u7269\u4E0E\u72B6\u6001\u4FDD\u7559\uFF0C\u5982\u9700\u6E05\u7406\u52A0 --prune\uFF09`)}catch(n){console.error(`\u26A0\uFE0F \u6CE8\u9500\u6765\u6E90\u5931\u8D25\uFF1A${n.message}`),process.exitCode=1}});Kt.command("path").description("\u8F93\u51FA\u5305\u6839\u8DEF\u5F84\uFF08\u5185\u542B skills/\uFF0C\u53EF\u59D4\u6258\u4E0A\u6E38\u5B89\u88C5\u5668\u5B89\u88C5\u5230\u8868\u5916 agent\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF1A\u5305\u6839\u3001\u6280\u80FD\u6E90\u76EE\u5F55\u3001\u6280\u80FD\u6E05\u5355\uFF09").action(e=>{try{if(!Re(e.format))return;e.format==="json"?Pe({package:tt(),source:ut(),skills:nt().map(t=>t.name)}):console.log(tt())}catch(t){console.error(`\u26A0\uFE0F \u5B9A\u4F4D\u5305\u8DEF\u5F84\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.action(()=>{Kt.help()});function Kg(e,t){let n=t?"[\u9884\u6F14] ":"";if(console.log(`${n}\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`),console.log(`${n}\u8F7D\u4F53\uFF1A${e.dir}\uFF08\u5F62\u6001 ${e.form}\uFF09`),e.status==="already-v3"){console.log(`${n}\u5DF2\u662F v3 \u5F62\u6001\uFF0C\u65E0\u9700\u5347\u7EA7`);return}if(console.log(""),e.idMap.length>0){console.log(`${n}ID \u6620\u5C04\uFF08\u5E8F\u53F7 \u2192 \u7A33\u5B9A ID\uFF0C\u4EC5\u968F\u62A5\u544A\u8F93\u51FA\uFF0C\u4E0D\u843D\u76D8\uFF09\uFF1A`);for(let r of e.idMap)console.log(` ${r.seq} \u2192 ${r.id} ${r.name}`);console.log("")}console.log(`${n}\u7ED3\u6784\u52A8\u4F5C\uFF1A`);for(let r of e.changes)console.log(` ${r.target}\uFF1A${r.detail}`);if(e.refs.length>0){console.log(""),console.log(`${n}\u5185\u90E8\u5F15\u7528\u6539\u5199\uFF1A`);for(let r of e.refs)console.log(` ${r.file}\uFF1A${r.from} \u2192 ${r.to}`)}if(e.reviews.length>0){console.log(""),console.log(`${n}\u5F85\u4EBA\u5DE5\u590D\u6838\uFF08\u53EA\u62A5\u4E0D\u6539\uFF09\uFF1A`);for(let r of e.reviews)console.log(` \u26A0\uFE0F ${r}`)}console.log(""),console.log(t?"[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C":"\u5DF2\u5199\u5165\uFF1B\u5347\u7EA7\u524D\u539F\u4EF6\u53EF\u7531\u672C\u6B21\u8FC1\u79FB\u63D0\u4EA4\u7684\u7236\u63D0\u4EA4\u590D\u73B0")}function Yg(e){if(console.log(e.summary),!e.initialized)return;let t=e.carrierVersion===null?"\u65E0":`v${e.carrierVersion}`;if(console.log(`\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`),console.log(`\u8F7D\u4F53\uFF1A${e.dir}\uFF08\u5F62\u6001 ${e.form}\uFF0C\u5F62\u6001\u6807\u8BB0 ${t}\uFF0C\u6761\u76EE ${e.entries}\uFF09`),console.log(`\u5165\u53E3\u58F3\uFF1A${e.shells.length>0?e.shells.map(n=>`${n.file}\uFF08\u6807\u8BB0 ${n.version===null?"\u65E0":`v${n.version}`}${n.ignored?"\uFF0C\u88AB gitignore \u8986\u76D6":""}\uFF09`).join("\u3001"):"\u65E0"}`),console.log(""),e.items.length===0){console.log("\u65E0\u5F85\u5904\u7406\u9879");return}for(let n of e.items)console.log(`${n.level==="warn"?"\u26A0\uFE0F":"\xB7"} [${n.scope}] ${vc(n.message)}`)}function Vg(e,t){let n=t?"[\u9884\u6F14] ":"";if(console.log(`${n}\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}\uFF08\u626B\u63CF ${e.files} \u4E2A .md\uFF09`),e.status==="already-compact"){console.log(`${n}\u8868\u683C\u5DF2\u5168\u90E8\u4E3A\u7D27\u51D1\u5F62\u6001\uFF0C\u65E0\u9700\u5F52\u4E00`);return}console.log(""),console.log(`${n}\u5F52\u4E00\u6539\u52A8\uFF1A${e.changedFiles} \u4E2A\u6587\u4EF6 / ${e.changedLines} \u884C`);for(let r of e.changes){let o=r.lines.slice(0,6).join("\u3001");console.log(` ${r.file}\uFF1A${r.lines.length} \u884C\uFF08${o}${r.lines.length>6?" \u2026":""}\uFF09`)}console.log(""),console.log(t?"[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C":"\u5DF2\u5199\u5165\uFF1B\u7D27\u51D1\u5F62\u6001\u5373\u89C4\u8303\u5F62\u6001\uFF0C\u91CD\u590D\u6267\u884C\u4E0D\u6539\u52A8")}var Xn=Ae.command("conventions").description("\u9879\u76EE\u534F\u4F5C\u89C4\u8303\u8F7D\u4F53\uFF1A\u7ED3\u6784\u5347\u7EA7\uFF08v1 / v2 \u2192 v3\uFF09\u3001\u8868\u683C\u5F62\u6001\u5F52\u4E00\uFF08\u7D27\u51D1\u5F62\u6001\uFF09\u4E0E\u53EA\u8BFB\u4F53\u68C0\uFF08\u5F62\u6001 / \u7D22\u5F15 / \u5165\u53E3\u5C42\uFF09");Xn.command("upgrade").description("\u628A v1 / v2 \u89C4\u8303\u8F7D\u4F53\u5347\u7EA7\u4E3A v3\uFF08v2\uFF1A\u5220\u300C\u72B6\u6001\u300D\u300C\u786E\u7ACB\u6765\u6E90\u4EFB\u52A1\u300D\u4E24\u5217\u3001\u9000\u4F11\u6761\u76EE\u8FC1\u5165 retired.md \u5E76\u5220\u5206\u518C\u5C0F\u8282\uFF1Bv1 \u94FE\u5F0F\u5347\u7EA7\uFF1B\u5E42\u7B49\uFF0C\u5148\u5224\u540E\u5199\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u6267\u884C\u7684\u52A8\u4F5C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=jc(Xt(e.dir),{dryRun:e.dryRun});e.format==="json"?Pe({dryRun:!!e.dryRun,...t}):Kg(t,!!e.dryRun)}catch(t){console.error(`\u26A0\uFE0F \u5347\u7EA7\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Xn.command("format").description("\u5F52\u4E00\u8868\u683C\u5F62\u6001\u4E3A\u7D27\u51D1\u5F62\u6001\uFF08\u53EA\u52A8\u5355\u5143\u683C\u95F4\u8DDD\u3001\u5206\u9694\u884C\u6A2A\u7EBF\u957F\u5EA6\u4E0E\u5217\u5BF9\u9F50\u586B\u5145\uFF1B\u5E42\u7B49\u3001\u8DF3\u8FC7 fenced code block\uFF0C\u5148\u62A5\u540E\u5199\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u5F52\u4E00\u7684\u884C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Di(Xt(e.dir),{dryRun:e.dryRun});e.format==="json"?Pe(t):Vg(t,!!e.dryRun)}catch(t){console.error(`\u26A0\uFE0F \u5F52\u4E00\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Xn.command("status").description("\u89C4\u8303\u8F7D\u4F53\u53EA\u8BFB\u4F53\u68C0\uFF1A\u5F62\u6001 / \u7D22\u5F15 / \u5165\u53E3\u5C42\u4E09\u5757\uFF08\u53EA\u62A5\u4E0D\u6539\uFF0C\u4F53\u68C0\u4E0D\u963B\u65AD\u3001\u9000\u51FA\u7801\u6052 0\uFF1B\u4EC5 --format \u4F20\u975E\u6CD5\u503C\u65F6\u6309\u53C2\u6570\u9519\u8BEF\u62A5\u9519\u9000\u51FA\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Dc(Xt(e.dir));e.format==="json"?Pe(t):Yg(t)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`)}});Xn.action(()=>{Xn.help()});var Wg={ignored:"\u5DF2\u5FFD\u7565",tracked:"\u5DF2\u8DDF\u8E2A\uFF08\u9700 git rm --cached\uFF09","not-ignored":"\u672A\u5FFD\u7565","not-a-repo":"\u4E0D\u9002\u7528\uFF08\u975E git \u4ED3\u5E93\uFF09","outside-repo":"\u4E0D\u9002\u7528\uFF08\u4F4D\u4E8E\u4ED3\u5E93\u5DE5\u4F5C\u6811\u4E4B\u5916\uFF09",unavailable:"\u5FFD\u7565\u5224\u5B9A\u4E0D\u53EF\u7528"};function zg(e){console.log(e.summary),console.log(`\u67E5\u627E\u8D77\u70B9\uFF1A${ms(e.cwd)}`),console.log(""),console.log("\u5C42\u7EA7\uFF1A");for(let r of e.levels){let o=r.file===null?"\u65E0":ms(r.file),s=r.ignored===null?"":`\uFF0C${Wg[r.ignored.state]}`;console.log(` ${r.layer}\uFF1A${o}${s}`)}console.log(""),console.log("\u5C55\u793A\u952E\u6765\u6E90\uFF1A");for(let r of e.displayKeys)console.log(` ${r.key}\uFF1A${r.source??"\u9ED8\u8BA4\u503C"}`);console.log("");let t=r=>r.length>0?r.map(o=>`${o.env} \u2192 ${o.key}`).join("\u3001"):"\u65E0";console.log(`\u73AF\u5883\u53D8\u91CF\u5C42\uFF1A${t(e.env)}`),console.log(`\u80FD\u529B\u65C1\u8DEF\uFF1A${t(e.bypass)}`),console.log("");let n=e.levels.filter(r=>r.otherSections.length>0);if(n.length===0)console.log("\u5176\u4F59\u5DF2\u914D\u7F6E\u6BB5\uFF1A\u65E0");else{console.log("\u5176\u4F59\u5DF2\u914D\u7F6E\u6BB5\uFF1A");for(let r of n)console.log(` ${r.layer}\uFF1A${r.otherSections.join("\u3001")}`)}if(console.log(""),e.items.length===0){console.log("\u65E0\u5F85\u5904\u7406\u9879");return}for(let r of e.items)console.log(`${r.level==="warn"?"\u26A0\uFE0F":"\xB7"} [${r.scope}] ${r.message}`)}var Es=Ae.command("config").description("\u914D\u7F6E\u5206\u5C42\uFF1A\u53EA\u8BFB\u67E5\u770B\u4E09\u5C42\u914D\u7F6E\u6587\u4EF6\uFF08\u5168\u5C40\u5C42 / \u9879\u76EE\u5C42 / \u672C\u5730\u5C42\uFF09\u7684\u751F\u6548\u60C5\u51B5\u4E0E\u6765\u6E90");Es.command("status").description("\u914D\u7F6E\u5206\u5C42\u53EA\u8BFB\u4F53\u68C0\uFF1A\u4E09\u5C42\u547D\u4E2D / \u6765\u6E90\u5C42 / \u73AF\u5883\u53D8\u91CF\u5C42\uFF08\u53EA\u8BFB\u3001\u9000\u51FA\u7801\u6052 0\uFF1B\u65E0 --dir\uFF0C\u53EF\u7528 --cwd \u6307\u5B9A\u67E5\u627E\u8D77\u70B9\uFF09").option("--cwd <path>","\u5411\u4E0A\u67E5\u627E\u7684\u8D77\u59CB\u76EE\u5F55\uFF08\u7F3A\u7701\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=e.cwd===void 0?process.cwd():(0,Zn.resolve)(e.cwd);if(!(0,ht.existsSync)(t)||!(0,ht.statSync)(t).isDirectory()){console.error(`\u26A0\uFE0F --cwd \u6307\u5411\u7684\u8DEF\u5F84\u4E0D\u5B58\u5728\u6216\u975E\u76EE\u5F55\uFF1A${e.cwd}`),process.exitCode=1;return}let n=$c(t);e.format==="json"?Pe(n):zg(n)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`)}});Es.action(()=>{Es.help()});var Ts=Ae.command("docs").description("\u6587\u6863\u7AD9\u5DE5\u5177\uFF1A\u7EDF\u4E00\u4E3B\u9898\u6A21\u677F\u7684\u6821\u9A8C\u4E0E\u5199\u5165"),Zc="docs/.vitepress/theme";Ts.command("theme").description("\u6821\u9A8C\u6216\u5199\u5165\u7EDF\u4E00\u6587\u6863\u7AD9\u4E3B\u9898\uFF08\u516C\u5171\u89C4\u5219\u968F\u5305\u5206\u53D1\uFF0C\u54C1\u724C\u6BB5\u7531\u5404\u7AD9\u81EA\u7559\uFF09").option("--dir <path>",`\u4E3B\u9898\u76EE\u5F55\uFF08\u9ED8\u8BA4 ${Zc}\uFF09`).option("--check","\u53EA\u6821\u9A8C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF08\u9ED8\u8BA4\u52A8\u4F5C\uFF09").option("--write","\u5199\u5165\u6216\u5237\u65B0\u6A21\u677F\uFF0C\u4FDD\u7559\u65E2\u6709\u54C1\u724C\u6BB5").option("--force","--write \u65F6\u7F3A\u5C11\u54C1\u724C\u6807\u8BB0\u4E5F\u8986\u76D6").action(e=>{if(e.check&&e.write){console.error("\u26A0\uFE0F --check \u4E0E --write \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}let t=(0,Zn.resolve)(e.dir??Zc);try{if(e.write){let r=Sc(t,{force:e.force});for(let o of r.written)console.log(`\u5199\u5165\uFF1A${o}`);for(let o of r.kept)console.log(`\u4FDD\u7559\u54C1\u724C\u6BB5\uFF1A${o}`);return}let n=kc(t);if(n.ok){console.log(`\u4E3B\u9898\u4E00\u81F4\uFF1A${t}`);return}console.error(`\u26A0\uFE0F \u4E3B\u9898\u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08${n.problems.length} \u9879\uFF09`);for(let r of n.problems)console.error(` - ${r}`);process.exitCode=1}catch(n){console.error(`\u26A0\uFE0F ${n.message}`),process.exitCode=1}});Ts.action(()=>{Ts.help()});Ae.command("tasks").description("\u4EFB\u52A1\u7BA1\u7406").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--redact","\u5F00\u542F\u9690\u79C1\u8131\u654F").option("--no-redact","\u5173\u95ED\u9690\u79C1\u8131\u654F").option("--warn","\u5F00\u542F\u8F6F\u544A\u8B66").option("--no-warn","\u5173\u95ED\u8F6F\u544A\u8B66").option("--dry-run","\u9884\u6F14\uFF08archive \u5F52\u6863 / import \u5BFC\u5165\u53EA\u9884\u89C8\uFF0C\u4E0D\u843D\u76D8\uFF09").option("--fix","\u5F52\u4E00\u5316\u4FEE\u590D\uFF08\u4EC5 normalize \u6709\u6548\uFF1B\u68C0\u67E5\u9879\u4E0E tasks check \u540C\u6E90\uFF0Ccheck \u53EA\u8BFB\u4E0D\u6539\uFF09").option("--check","\u5F52\u4E00\u5316\u53EA\u8BFB\u68C0\u67E5\uFF08normalize \u9ED8\u8BA4\u884C\u4E3A\uFF0C\u53EF\u663E\u5F0F\u58F0\u660E\uFF1B\u68C0\u67E5\u9879\u4E0E tasks check \u540C\u6E90\u3001\u4E0D\u80FD\u4E0E --fix \u540C\u7528\uFF09").option("--view <view>","\u4EFB\u52A1\u89C6\u56FE\uFF1Aactive / archived / all\uFF08\u603B\u89C8\u9ED8\u8BA4 active\uFF0Cstats \u9ED8\u8BA4 all \u542B\u5F52\u6863\uFF09").option("--owner <name>","\u6309\u8D1F\u8D23\u4EBA\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--scope <scope>","\u6309\u8303\u56F4\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--status <status>","\u6309\u72B6\u6001\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--date <date>","\u6309\u5355\u65E5\u8FC7\u6EE4\uFF08YYYY-MM-DD\uFF0C\u4E0E --since/--until \u4E92\u65A5\uFF09").option("--since <date>","\u8D77\u59CB\u65E5\u671F\uFF08\u542B\u5F53\u5929\uFF09").option("--until <date>","\u7ED3\u675F\u65E5\u671F\uFF08\u542B\u5F53\u5929\uFF09").option("--export <path>","\u5BFC\u51FA\u5230\u6587\u4EF6\uFF08.csv / .xlsx / .json\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").option("--import <file>","\u4ECE\u6587\u4EF6\u5BFC\u5165\u4EFB\u52A1\uFF08.csv / .xlsx / .json\uFF09").option("--target <target>","\u5BFC\u5165\u76EE\u6807\uFF1Aactive / archive\uFF08\u9ED8\u8BA4 active\uFF09").option("--strict","\u4EFB\u52A1\u76EE\u5F55\u4E0D\u5B58\u5728\u65F6\u62A5\u9519\u9000\u51FA\uFF08\u9ED8\u8BA4\u5BB9\u9519\u4E3A\u7A7A\u7ED3\u679C\uFF09").argument("[command]",`\u5B50\u547D\u4EE4\uFF1A${ws.join(" / ")}\uFF0C\u7559\u7A7A\u4E3A\u603B\u89C8\uFF08\u542B\u5BFC\u5165\u7528 --import\uFF09`).action(async(e,t)=>{if(e&&!ws.includes(e)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u5B50\u547D\u4EE4\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 ${ws.join(" / ")}\uFF08\u7559\u7A7A\u67E5\u770B\u4EFB\u52A1\u603B\u89C8\uFF09`),process.exitCode=1;return}let n=So(t.redact),r=yn(t.warn,"FX_CHECK_WARN",ra(),!0),o=Xt(t.dir);if(t.strict&&!(0,ht.existsSync)(o)){console.error(`\u26A0\uFE0F \u4EFB\u52A1\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A${o}`),process.exitCode=1;return}if(t.import){if(e||t.export||t.format){console.error("\u26A0\uFE0F --import \u4E3A\u72EC\u7ACB\u6A21\u5F0F\uFF0C\u4E0D\u80FD\u4E0E\u5B50\u547D\u4EE4\u3001--export\u3001--format \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}let s=de("tasks"),i=s?.importColumns&&typeof s.importColumns=="object"?s.importColumns:void 0,l=t.target??"active";if(!["active","archive"].includes(l)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u5BFC\u5165\u76EE\u6807\u300C${l}\u300D\uFF0C\u4EC5\u652F\u6301 active / archive`),process.exitCode=1;return}try{await yi(t.import,o,{owner:t.owner,scope:t.scope,target:l,dryRun:t.dryRun,importColumns:i})}catch(c){console.error(`\u26A0\uFE0F \u5BFC\u5165\u5931\u8D25\uFF1A${c.message}`),process.exitCode=1}return}if(e==="stats"?t.export&&console.warn("\u26A0\uFE0F \u5B50\u547D\u4EE4\u300Cstats\u300D\u4E0D\u652F\u6301 --export\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u652F\u6301\u5BFC\u51FA\uFF09"):e&&$g(e,t),e==="archive")try{let s=bi(o,n,{dryRun:t.dryRun,warn:r});r&&!t.dryRun&&s.archived>0&&!yg()&&console.warn("\u26A0\uFE0F \u672C\u6B21\u5F52\u6863\u4E86\u4EFB\u52A1\uFF0C\u4F46 .changeset \u65E0\u5F85\u53D1\u5E03\u53D8\u66F4\u96C6\uFF0C\u5982\u9700\u53D1\u7248\u8BF7\u5148\u521B\u5EFA\u53D8\u66F4\u96C6")}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else if(e==="check")try{let s=Gi(o),i=r?[...s.issues,...vg()]:s.issues,l=i.filter(c=>c.level==="error").length;console.log("\u4EFB\u52A1\u6821\u9A8C\uFF1A"),console.log(`\u3010error\u3011${l} \u9879`),no(i.filter(c=>c.level==="error")),r?(console.log(`\u3010warn\u3011${i.length-l} \u9879`),no(i.filter(c=>c.level==="warn"))):console.log("\uFF08\u8F6F\u544A\u8B66\u5DF2\u5173\u95ED\uFF0Cwarn \u4E0D\u5C55\u793A\uFF09"),l>0&&(process.exitCode=1)}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else if(e==="stats"){if(!Re(t.format))return;let s=t.view??"all";if(!["active","archived","all"].includes(s)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u89C6\u56FE\u300C${s}\u300D\uFF0C\u4EC5\u652F\u6301 active / archived / all`),process.exitCode=1;return}if(t.date&&(t.since||t.until)){console.error("\u26A0\uFE0F --date \u4E0D\u80FD\u4E0E --since / --until \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}try{let i={};if(i.owner=mt(t.owner),i.scope=mt(t.scope),!Jc(i,t.status))return;t.date&&(i.date=t.date),t.since&&(i.since=t.since),t.until&&(i.until=t.until);let l=$i(o,i,s);if(t.format==="json")Pe(l);else for(let c of xi(l))console.log(c)}catch(i){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${i.message}`),process.exitCode=1}}else if(e==="normalize")try{if(t.fix&&t.check)console.error("\u26A0\uFE0F --fix \u4E0E --check \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528"),process.exitCode=1;else if(t.fix){let s=Ii(o);console.log(`\u5DF2\u4FEE\u590D ${s.fixed} \u5904`),s.issues.length>0&&(console.log("\u4EE5\u4E0B\u95EE\u9898\u9700\u4EBA\u5DE5\u786E\u8BA4\uFF1A"),no(s.issues))}else{let s=mr(o);console.log(`\u5F52\u6863\u5F52\u4E00\u5316\u68C0\u67E5\uFF1A\u53D1\u73B0 ${s.length} \u5904\u95EE\u9898`),no(s)}}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else{let s=t.view??"active";if(!["active","archived","all"].includes(s)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u89C6\u56FE\u300C${s}\u300D\uFF0C\u4EC5\u652F\u6301 active / archived / all`),process.exitCode=1;return}if(t.date&&(t.since||t.until)){console.error("\u26A0\uFE0F --date \u4E0D\u80FD\u4E0E --since / --until \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}if(t.export&&t.format){console.error("\u26A0\uFE0F --export \u4E0E --format \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF08--format json \u8F93\u51FA\u5230 stdout\uFF09"),process.exitCode=1;return}if(!Re(t.format))return;let i={};if(i.owner=mt(t.owner),i.scope=mt(t.scope),!Jc(i,t.status))return;t.date&&(i.date=t.date),t.since&&(i.since=t.since),t.until&&(i.until=t.until);try{let{rows:l,summary:c}=$n(o,s,i);if(t.export)await pi(t.export,l,c,n),console.log(`\u5DF2\u5BFC\u51FA ${l.length} \u4E2A\u4EFB\u52A1 \u2192 ${t.export}`);else if(t.format==="json")console.log(xo(l,c,n));else{ui(l,c,s,i,n);let a=!!(t.owner||t.scope||t.status||t.date||t.since||t.until);!t.view&&a&&l.length===0&&console.log("\uFF08\u63D0\u793A\uFF1A\u8FC7\u6EE4\u9ED8\u8BA4\u4F5C\u7528\u4E8E\u5F85\u5B8C\u6210\u89C6\u56FE\uFF0C\u67E5\u770B\u5F52\u6863\u8BF7\u52A0 --view archived \u6216 --view all\uFF09")}}catch(l){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${l.message}`),process.exitCode=1}}});var Jg=Ae.command("changelog").description("\u591A\u8BED\u8A00 CHANGELOG\uFF08\u5C01\u88C5 changesets\uFF09").option("--lang <lang>","\u8BED\u8A00 zh/en",at).option("--redact","\u5F00\u542F\u9690\u79C1\u8131\u654F").option("--no-redact","\u5173\u95ED\u9690\u79C1\u8131\u654F").option("--warn","\u5F00\u542F\u8F6F\u544A\u8B66").option("--no-warn","\u5173\u95ED\u8F6F\u544A\u8B66").option("--history","\u8FFD\u6EAF\u6539\u5199\u5386\u53F2\u7248\u672C\u5757\uFF08\u9ED8\u8BA4\u4FDD\u7559\uFF09").option("--check","changelog doc\uFF1A\u53EA\u6BD4\u5BF9\u955C\u50CF\u9875\u4E0E\u6839 CHANGELOG\uFF0C\u4E0D\u5199\u6587\u4EF6").option("--from <path>","changelog doc\uFF1A\u6839 CHANGELOG \u8DEF\u5F84").option("--to <path>","changelog doc\uFF1A\u955C\u50CF\u9875\u8DEF\u5F84").option("--title <text>","changelog doc\uFF1A\u955C\u50CF\u9875\u6807\u9898").option("--outline <value>","changelog doc\uFF1Afrontmatter outline").option("--no-frontmatter","changelog doc\uFF1A\u4E0D\u5199 frontmatter").option("--no-sync-doc","changelog version\uFF1A\u4E0D\u81EA\u52A8\u540C\u6B65\u955C\u50CF\u9875").argument("[command...]","\u5B50\u547D\u4EE4\u53CA\u53C2\u6570\uFF08\u900F\u4F20\u7ED9 changesets\uFF09").passThroughOptions(!0).action((e,t)=>{if(Kc(e)){Jg.help();return}let n=So(t.redact),r=yn(t.warn,"FX_CHECK_WARN",ra(),!0),o=t.history===!0,s=oa(),{lang:i,unknown:l}=Vi(s,t.lang,at);l&&console.warn(`\u26A0\uFE0F \u672A\u77E5\u8BED\u8A00\u300C${l}\u300D\uFF0C\u5DF2\u56DE\u843D ${at}`);let c=l?at:t.lang,a=e[0];if(a==="version")r&&bg()&&console.warn("\u26A0\uFE0F \u5B58\u5728\u672A\u5F52\u6863\u7684 active \u4EFB\u52A1\uFF0C\u5EFA\u8BAE\u5148\u5F52\u6863\u518D\u53D1\u7248"),Rs(["version"]),r&&zc(Object.values(s)),Go(".",Uo(),i,n,o),t.syncDoc!==!1&&cl(c);else if(a==="doc")try{let f=zo({from:t.from,to:t.to,title:t.title,outline:t.outline,frontmatter:t.frontmatter===!1?!1:void 0,lang:c});if(t.check){let g=ll(f);if(!g.ok){console.error(`\u26A0\uFE0F CHANGELOG \u955C\u50CF\u4E0D\u4E00\u81F4\uFF1A\u7B2C ${g.line} \u884C`),g.expected!==void 0&&console.error(` \u671F\u671B\uFF1A${g.expected}`),g.actual!==void 0&&console.error(` \u5B9E\u9645\uFF1A${g.actual}`),process.exitCode=1;return}console.log(`CHANGELOG \u955C\u50CF\u4E00\u81F4\uFF1A${f.target}`);return}let p=Wo(f);console.log(p.changed?`CHANGELOG \u955C\u50CF\u5DF2\u66F4\u65B0\uFF1A${f.target}`:`CHANGELOG \u955C\u50CF\u65E0\u53D8\u5316\uFF1A${f.target}`)}catch(f){console.error(`\u26A0\uFE0F ${f.message}`),process.exitCode=1}else a==="format"?(r&&zc(Object.values(s)),Go(".",Uo(),i,n,o)):Rs(a?e:[])});$s(Ae);Ae.helpCommand("help [command]","\u663E\u793A\u5E2E\u52A9");Sg();async function qg(){if(process.argv[2]===vs){await Gc();return}let e=nc();e>0&&console.error(`\u5DF2\u81EA\u52A8\u4FEE\u590D ${e} \u4E2A\u6280\u80FD\u94FE\u63A5\uFF08\u5982\u4E0D\u9700\u8981\u53EF\u914D\u7F6E .toolkitrc.json \u7684 skills.autoLink: false \u5173\u95ED\uFF09`);try{await Ae.parseAsync(process.argv)}catch(t){if(!(t instanceof ro.CommanderError))throw t;let n=Vc(t);n?console.error(n):process.stderr.write(ia),process.exitCode=t.exitCode}finally{Uc(na)}}var Xg=qg();0&&(module.exports={cliReady});
188
+ ${xs}`:null}default:return null}}var Wc="\u4E13\u4E3A\u591A\u4EBA + AI \u8DE8\u9879\u76EE\u534F\u4F5C\u6253\u9020\uFF1A\u4EFB\u52A1\u7BA1\u7406 + \u591A\u8BED\u8A00 CHANGELOG\u3002";var ta=(0,Qc.createRequire)(O),Sg=ta.resolve("@changesets/cli/bin.js"),{version:na}=ta("../package.json"),Rs=e=>{let t=(0,ea.spawnSync)(process.execPath,[Sg,...e],{stdio:"inherit"});t.status!==0&&process.exit(t.status??1)};function yg(){if(process.platform==="win32")try{process.stdout.setDefaultEncoding("utf8"),process.stderr.setDefaultEncoding("utf8")}catch{}}function ra(){let e=de("check");return typeof e?.warnings=="boolean"?e.warnings:void 0}function oa(){let t=de("changelog")?.languages;if(!t||typeof t!="object")return cn;let n={...cn};for(let[r,o]of Object.entries(t))o&&typeof o=="object"&&(n[r]=o);return n}function bg(e=".changeset"){if(!(0,ht.existsSync)(e))return!1;try{return(0,ht.readdirSync)(e).some(t=>t.endsWith(".md")&&t!=="README.md")}catch{return!1}}function vg(e=".tasks"){return fe((0,Zn.join)(e,"active")).length>0}function zc(e){let t=Ji(".",e);t>0&&console.warn(`\u26A0\uFE0F ${t} \u6761\u53D8\u66F4\u96C6\u6761\u76EE\u7F3A\u7C7B\u578B\u524D\u7F00\uFF0C\u5EFA\u8BAE\u6309\u300C\u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D\u64B0\u5199`)}function $g(){let e=Object.values(oa());return[...qi(".changeset",e).map(t=>({level:"warn",file:t.file,line:t.line,message:`\u53D8\u66F4\u96C6\u6761\u76EE\u7F3A\u7C7B\u578B\u524D\u7F00\uFF08\u672C\u6587\u4EF6 ${t.count} \u6761\uFF09\uFF0C\u5EFA\u8BAE\u6309\u300C\u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D\u64B0\u5199`})),...Xi(".changeset",e).map(t=>({level:"warn",file:t.file,line:t.line,message:`\u53D8\u66F4\u96C6\u6761\u76EE\u672A\u52A0\u300C- \u300D\u5217\u8868\u6807\u8BB0\uFF08\u672C\u6587\u4EF6 ${t.count} \u884C\uFF09\uFF0Cchangesets \u4F1A\u5E76\u5165\u5355\u4E00\u6761\u76EE\uFF0C\u8BF7\u9010\u6761\u5199\u6210\u300C- \u7C7B\u578B\uFF1A\u63CF\u8FF0\u300D`}))]}function xg(e,t){t.export&&console.warn(`\u26A0\uFE0F \u5B50\u547D\u4EE4\u300C${e}\u300D\u4E0D\u652F\u6301 --export\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u652F\u6301\u5BFC\u51FA\uFF09`),t.format&&console.warn(`\u26A0\uFE0F \u5B50\u547D\u4EE4\u300C${e}\u300D\u4E0D\u652F\u6301 --format\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u4E0E stats \u652F\u6301 JSON \u8F93\u51FA\uFF09`)}function no(e){if(e.length===0){console.log("\u672A\u53D1\u73B0\u95EE\u9898");return}for(let t of e)console.log(` ${t.file}${t.line?`:${t.line}`:""}: ${t.message}`)}function mt(e){return e?e.split(/[,,]/).map(t=>t.trim()).filter(Boolean):void 0}function Jc(e,t){let n=mt(t);if(!n)return!0;let r=qe,o=n.filter(i=>r.includes(i)),s=n.filter(i=>!r.includes(i));return o.length===0?(console.error(`\u26A0\uFE0F --status \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF1A${s.join("\u3001")}\uFF08\u5408\u6CD5\uFF1A${qe.join("/")}\uFF09`),process.exitCode=1,!1):(s.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u975E\u6CD5\u72B6\u6001\u503C\uFF1A${s.join("\u3001")}\uFF08\u5408\u6CD5\uFF1A${qe.join("/")}\uFF09`),e.status=o,!0)}function qc(e,t){return[...t,e]}function Cs(e){return e===void 0||e===""?{choice:Ll(),explicit:!1}:e==="project"||e==="global"||e==="all"?{choice:e,explicit:!0}:(console.error(`\u26A0\uFE0F \u4E0D\u652F\u6301\u7684 --scope \u53D6\u503C\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 project / global / all`),process.exitCode=1,null)}var Rg={project:"\u9879\u76EE\u9762\uFF08\u4ED3\u5E93\u5185\u552F\u4E00\u771F\u6E90\u526F\u672C + \u5404\u5019\u9009\u76EE\u5F55\u8584\u58F3\uFF09",global:"\u5168\u5C40\u9762\uFF08\u8F6F\u94FE / \u526F\u672C\u5230\u5404 agent \u5168\u5C40\u6280\u80FD\u76EE\u5F55\uFF09",all:"\u9879\u76EE\u9762 + \u5168\u5C40\u9762"};function Is(e){return`\u4F5C\u7528\u57DF\uFF1A${Rg[e.choice]}\uFF08${e.explicit?"--scope \u6307\u5B9A":"\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A"}\uFF09`}var wg={link:"\u8F6F\u94FE\u6B63\u5E38",dangling:"\u8F6F\u94FE\u60AC\u7A7A\uFF08\u771F\u6E90\u7F3A\u5931\u6216\u5347\u7EA7\u540E\u65E7\u8DEF\u5F84\u5931\u6548\uFF09",wrong:"\u8F6F\u94FE\u6307\u5411\u5176\u4ED6\u7248\u672C",copy:"\u526F\u672C\u5DF2\u540C\u6B65","copy-drift":"\u526F\u672C\u5DF2\u6F02\u79FB\uFF08\u4E0E\u771F\u6E90\u4E0D\u4E00\u81F4\uFF09",missing:"\u7F3A\u5931",conflict:"\u540C\u540D\u51B2\u7A81\uFF08\u975E\u672C\u5305\u4EA7\u7269\uFF09","not-selected":"\u672A\u9009\u62E9","installed-unselected":"\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5"},Eg=["dangling","wrong","copy-drift","missing","conflict"];async function Tg(e,t,n){let r=t==="global"?se().mode:Fe().mode,o=e.mode==="package"||e.mode==="skills"?e.mode:r??"skills";if(e.noSkills)return{names:[],mode:o,saveSelection:!1};let s;if(e.mode===void 0)if(t==="global"){let f=se().selection;s=f&&Object.keys(f).length>0?n.filter(p=>{let g=f[p.source];return g===void 0||g.includes(p.name)}).map(p=>p.name):void 0}else{let f=Fe().selection;s=f&&f.length>0?[...new Set([...f,...n.filter(p=>p.sourceKind!=="builtin").map(p=>p.name)])].filter(p=>n.some(g=>g.name===p)):void 0}let i=e.skills!==void 0?mt(e.skills)??[]:void 0,l=cc({skills:n,saved:s,explicit:i,all:!!e.all,noOptional:e.optional===!1,mode:o,interactive:qn(),yes:!!e.yes});if(l.error)return console.error(`\u26A0\uFE0F --skills \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF1A${l.invalid.join("\u3001")}`),process.exitCode=1,null;l.invalid.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u4E0D\u5B58\u5728\u7684\u6280\u80FD\uFF1A${l.invalid.join("\u3001")}`),l.savedInvalid.length>0&&console.warn(`\u26A0\uFE0F \u5DF2\u4FDD\u5B58\u7684\u6280\u80FD\u9009\u62E9\u542B\u4E0D\u5B58\u5728\u7684\u6280\u80FD\uFF1A${l.savedInvalid.join("\u3001")}\uFF08\u5DF2\u5FFD\u7565\uFF09`);let c=f=>{let p=Yr(n,f);return p.missing.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u7F3A\u5931\u7684\u4F9D\u8D56\u6280\u80FD\uFF1A${p.missing.join("\u3001")}`),p.names};if(!l.needsPrompt)return{names:c(l.names),mode:o,saveSelection:!0};let a=await dc(n,s,o);return a===null?(console.error("\u5DF2\u53D6\u6D88\u6280\u80FD\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null):{names:c(a),mode:o,saveSelection:!0}}function Cg(e){if(e===void 0)return{invalid:[]};let t=mt(e)??[],n=new Set(We().filter(r=>r.name).map(r=>r.name));return{names:t.filter(r=>n.has(r)),invalid:t.filter(r=>!n.has(r))}}async function Ig(e){if(e.allAgents)return e.agent!==void 0&&console.warn("\u26A0\uFE0F \u540C\u65F6\u4F20\u5165 --agent \u4E0E --all-agents\uFF0C\u5DF2\u6309 --all-agents \u6267\u884C"),Il();if(e.agent!==void 0){let i=Cg(e.agent);return i.invalid.length>0&&console.warn(`\u26A0\uFE0F \u5FFD\u7565\u672A\u77E5\u7684 agent / \u76EE\u6807\u540D\uFF1A${i.invalid.join("\u3001")}`),!i.names||i.names.length===0?(console.error("\u26A0\uFE0F --agent \u5168\u90E8\u53D6\u503C\u975E\u6CD5\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1,null):i.names}if(!qn()||e.yes)return;let t=We(),n=ac(t,se().targets,e.dir),r=n.filter(i=>!i.disabled);if(r.length<=1)return r.map(i=>i.value);let o=await gs(n,"\u9009\u62E9\u8981\u5199\u5165\u6280\u80FD\u7684\u76EE\u6807\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09");if(o===null)return console.error("\u5DF2\u53D6\u6D88\u76EE\u6807\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null;let s=new Set(t.filter(i=>i.name).map(i=>i.name));return o.filter(i=>s.has(i))}async function Ag(e){if(!qn()||e.yes)return;let t=Nt(),n=uc(t.shellDirs,Fe().targets,e.dir,t.missingDirs),r=n.filter(s=>!s.disabled);if(r.length<=1)return r.map(s=>s.value);let o=await gs(n,"\u9009\u62E9\u8981\u5199\u5165\u7684\u9879\u76EE\u6280\u80FD\u76EE\u5F55\uFF08\u7A7A\u683C\u5207\u6362\uFF0C\u56DE\u8F66\u786E\u8BA4\uFF09");return o===null?(console.error("\u5DF2\u53D6\u6D88\u76EE\u5F55\u9009\u62E9\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130,null):o.filter(s=>t.shellDirs.includes(s))}function Lg(e){if(!e)return"\u6309\u5DF2\u4FDD\u5B58\u9009\u62E9 / \u5168\u90E8\u53EF\u7528\u76EE\u6807";let t=new Map(We().map(n=>[n.name,n.label]));return e.map(n=>t.get(n)??n).join("\u3001")||"\u65E0"}function Pe(e){console.log(Fc(e))}function oo(e,t){return t?`${e}@${t}`:e}function jg(e,t){let n=t?"[\u9884\u6F14] ":"",r=new Map(nt().map(o=>[o.name,o.version]));console.log(`${n}\u6280\u80FD\u6E90\uFF1A${e.source}`),console.log(`${n}\u672C\u6B21\u9009\u62E9\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.map(o=>oo(o,r.get(o)??"")).join("\u3001")||"\u65E0"}`),console.log(`${n}\u672C\u6B21\u76EE\u6807\uFF08${e.targetSelection.length}\uFF09\uFF1A${e.targetSelection.join("\u3001")||"\u65E0"}`);for(let o of e.targets){console.log(""),console.log(`${o.label}\uFF1A${o.dir}`),o.created.length>0&&console.log(` \u65B0\u5EFA\uFF1A${o.created.join("\u3001")}`),o.updated.length>0&&console.log(` \u91CD\u5EFA/\u66F4\u65B0\uFF1A${o.updated.join("\u3001")}`),o.skipped.length>0&&console.log(` \u8DF3\u8FC7\uFF08\u5DF2\u5C31\u7EEA\uFF09\uFF1A${o.skipped.join("\u3001")}`),o.conflicts.length>0&&console.log(` \u8DF3\u8FC7\uFF08\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF0C\u5982\u9700\u8986\u76D6\u52A0 --force\uFF09\uFF1A${o.conflicts.join("\u3001")}`),o.pruned.length>0&&console.log(` \u6E05\u7406\uFF08\u672A\u9009\u62E9\uFF09\uFF1A${o.pruned.join("\u3001")}`);for(let i of o.degraded)console.log(` \u26A0\uFE0F \u964D\u7EA7\u4E3A\u526F\u672C\uFF1A${i.name}\uFF08\u94FE\u63A5\u521B\u5EFA\u5931\u8D25\uFF1A${i.reason}\uFF09`);for(let i of o.failed)console.log(` \u26A0\uFE0F \u5931\u8D25\uFF1A${i.name}\uFF08${i.reason}\uFF09`);let s=[];o.links.length>0&&s.push(`\u8F6F\u94FE ${o.links.length} \u4E2A`),o.copies.length>0&&s.push(`\u526F\u672C ${o.copies.length} \u4E2A`),s.length>0&&console.log(` \u4EA7\u7269\u5F62\u6001\uFF1A${s.join(" / ")}`)}console.log(""),e.skippedTargets.length>0&&console.log(`\u672C\u673A\u672A\u68C0\u6D4B\u5230\u7684 agent ${e.skippedTargets.length} \u4E2A\u5DF2\u8DF3\u8FC7\uFF08\u4E0D\u51ED\u7A7A\u521B\u5EFA\u76EE\u5F55\uFF09\uFF1B\u5982\u9700\u88C5\u5230\u672A\u8BC6\u522B\u7684 agent\uFF1Atoolkit skills install --dir <\u5176\u5168\u5C40\u6280\u80FD\u76EE\u5F55>`),console.log(`${n}\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`),t&&console.log("[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C")}function Og(e){console.log(`\u6280\u80FD\u6E90\uFF1A${e.source}`),console.log(`\u6280\u80FD\u7248\u672C\uFF1A${e.skills.map(o=>oo(o,e.skillVersions[o]??"")).join("\u3001")||"\u65E0"}`),console.log(`\u9009\u62E9\u96C6\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.join("\u3001")||"\u65E0"}`),console.log(`\u76EE\u6807\u9009\u62E9\u96C6\uFF1A${e.targetSelection.length>0?e.targetSelection.join("\u3001"):"\u5168\u90E8\u53EF\u7528\u76EE\u6807\uFF08\u672A\u4FDD\u5B58\u8FC7\u76EE\u6807\u9009\u62E9\uFF09"}`);for(let o of e.versionMismatches)console.warn(`\u26A0\uFE0F \u6280\u80FD\u7248\u672C\u53CC\u5199\u4F4D\u4E0D\u4E00\u81F4\uFF1A${o.name}\uFF08frontmatter ${o.frontmatter} / \u6B63\u6587 ${o.body||"\u672A\u58F0\u660E"}\uFF09`);console.log(`\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}${e.stateExists?"":"\uFF08\u672A\u8BB0\u5F55\uFF0C\u5C1A\u672A\u6267\u884C\u8FC7 toolkit skills install\uFF09"}`);let t=0,n=0;for(let o of e.targets){let s=`${o.label}\uFF1A${o.dir}${o.dirExists?"":"\uFF08\u76EE\u5F55\u672A\u521B\u5EFA\uFF09"}${o.selected?"":"\uFF08\u672A\u9009\u62E9\uFF09"}`,i=o.items.filter(a=>Eg.includes(a.state)),l=o.items.filter(a=>a.state==="installed-unselected");if(t+=i.length,n+=l.length,console.log(""),i.length===0&&l.length===0){console.log(`${s}\u3000${o.items.length} \u9879\u6B63\u5E38`);continue}console.log(s);for(let a of i)console.log(` ${a.name}\uFF1A${wg[a.state]}`);for(let a of l)console.log(` ${a.name}\uFF1A\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5\uFF08\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u52A0 --prune \u91CD\u8DD1 install\uFF09`);let c=o.items.length-i.length-l.length;c>0&&console.log(` \u5176\u4F59 ${c} \u9879\u6B63\u5E38`)}e.pendingAgents.length>0&&(console.log(""),console.log(`\u672A\u5B89\u88C5\u7684 agent ${e.pendingAgents.length} \u4E2A\u672A\u7EB3\u5165\u5206\u53D1\uFF08\u9700\u8981\u65F6\u7528 toolkit skills install --dir <\u8DEF\u5F84> \u6307\u5B9A\uFF09`)),e.canonicalReaders.length>0&&(console.log(""),console.log(`\u7ECF canonical \u5171\u8BFB\u7684 agent ${e.canonicalReaders.length} \u4E2A\uFF1A${e.canonicalReaders.map(o=>o.label).join("\u3001")}\uFF08\u8BFB\u53D6\u4E3B\u76EE\u6807\uFF0C\u65E0\u9700\u5355\u72EC\u5199\u5165\uFF09`)),e.legacyTargets.length>0&&(console.log(""),console.warn(`\u26A0\uFE0F \u5386\u53F2\u843D\u70B9\u6B8B\u7559 ${e.legacyTargets.length} \u5904\uFF1A${e.legacyTargets.map(o=>`${o.label}\uFF08${o.dir}\uFF09`).join("\u3001")}`),console.log(" \u5DF2\u4E0D\u518D\u968F\u672C\u5305\u66F4\u65B0\uFF1B\u4E0D\u9700\u8981\u65F6\u5148 toolkit skills remove \u6E05\u7406\u5168\u90E8\u672C\u5305\u767B\u8BB0\u4EA7\u7269\uFF0C\u518D toolkit skills install \u91CD\u65B0\u5B89\u88C5")),console.log(""),console.log(t>0?`\u5171 ${t} \u5904\u9700\u5904\u7406\uFF1A\u7F3A\u5931 / \u60AC\u7A7A / \u6307\u5411\u5176\u4ED6\u7248\u672C / \u526F\u672C\u6F02\u79FB\u7528 toolkit skills install \u8865\u9F50\uFF0C\u540C\u540D\u51B2\u7A81\u7528 toolkit skills install --force \u8986\u76D6`:"\u6240\u6709\u5DF2\u7EB3\u5165\u7684\u76EE\u6807\u5747\u6B63\u5E38"),n>0&&console.log(`\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5 ${n} \u9879\uFF1A\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u8FD0\u884C toolkit skills install --prune`);let r=e.targets.reduce((o,s)=>o+s.items.filter(i=>i.state==="link").length,0);r>0&&console.log(`\u8F6F\u94FE\u843D\u70B9 ${r} \u9879\uFF1A\u5199\u5165\u5C06\u7A7F\u900F\u81F3\u6280\u80FD\u771F\u6E90\u76EE\u5F55\uFF0C\u6539\u5185\u5BB9\u8BF7\u6539\u771F\u6E90`)}function sa(e,t){let n=t?"[\u9884\u6F14] ":"";if(!e.stateExists){console.log("\u672A\u627E\u5230\u672C\u5305\u7684\u72B6\u6001\u6587\u4EF6\uFF0C\u6CA1\u6709\u7531\u672C\u5305\u5B89\u88C5\u7684\u4EA7\u7269\u9700\u8981\u6E05\u7406\uFF08\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5\u7684\u6280\u80FD\u4E0D\u53D7\u5F71\u54CD\uFF09");return}console.log(`${n}\u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`);for(let r of e.targets)console.log(""),console.log(r.label?`${r.label}\uFF1A${r.dir}`:r.dir),r.removed.length>0&&console.log(` ${t?"\u5C06\u79FB\u9664":"\u5DF2\u79FB\u9664"}\uFF1A${r.removed.join("\u3001")}`),r.missing.length>0&&console.log(` \u5DF2\u4E0D\u5B58\u5728\uFF1A${r.missing.join("\u3001")}`),r.skippedForeign.length>0&&console.log(` \u26A0\uFE0F \u8DF3\u8FC7\uFF08\u975E\u672C\u5305\u4EA7\u7269\u6216\u5185\u5BB9\u5DF2\u88AB\u6539\u52A8\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\uFF09\uFF1A${r.skippedForeign.join("\u3001")}`),r.dirReclaimed&&console.log(" \u76EE\u6807\u76EE\u5F55\u5DF2\u7A7A\uFF0C\u5DF2\u4E00\u5E76\u56DE\u6536");console.log(""),t?console.log("[\u9884\u6F14] \u672A\u6267\u884C\u5220\u9664\uFF1B\u65E0\u9057\u7559\u6761\u76EE\u65F6\u5C06\u540C\u65F6\u5220\u9664\u72B6\u6001\u6587\u4EF6"):e.stateRemoved?console.log("\u72B6\u6001\u6587\u4EF6\u5DF2\u5220\u9664\uFF0C\u672C\u5305\u4EA7\u7269\u6E05\u7406\u5B8C\u6BD5"):console.log("\u72B6\u6001\u6587\u4EF6\u5DF2\u4FDD\u7559\uFF08\u5B58\u5728\u9700\u4EBA\u5DE5\u786E\u8BA4\u6216\u672A\u79FB\u9664\u7684\u6761\u76EE\uFF09")}var _g={ready:"\u5DF2\u5C31\u7EEA",drift:"\u5DF2\u6F02\u79FB\uFF08\u4E0E\u771F\u6E90 / \u671F\u671B\u4E0D\u4E00\u81F4\uFF09",conflict:"\u540C\u540D\u51B2\u7A81\uFF08\u975E\u672C\u5305\u4EA7\u7269\uFF09",missing:"\u7F3A\u5931","not-selected":"\u672A\u9009\u62E9","installed-unselected":"\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5"},Dg=["drift","conflict","missing"];function Xc(e,t=" "){let n=`${t} `;console.log(`${t}${e.dir}`),e.created.length>0&&console.log(`${n}\u65B0\u5EFA\uFF1A${e.created.join("\u3001")}`),e.updated.length>0&&console.log(`${n}\u91CD\u5EFA/\u66F4\u65B0\uFF1A${e.updated.join("\u3001")}`),e.skipped.length>0&&console.log(`${n}\u8DF3\u8FC7\uFF08\u5DF2\u5C31\u7EEA\uFF09\uFF1A${e.skipped.join("\u3001")}`),e.conflicts.length>0&&console.log(`${n}\u8DF3\u8FC7\uFF08\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF0C\u5982\u9700\u8986\u76D6\u52A0 --force\uFF09\uFF1A${e.conflicts.join("\u3001")}`),e.pruned.length>0&&console.log(`${n}\u6E05\u7406\uFF08\u672A\u9009\u62E9\uFF09\uFF1A${e.pruned.join("\u3001")}`);for(let r of e.failed)console.log(`${n}\u26A0\uFE0F \u5931\u8D25\uFF1A${r.name}\uFF08${r.reason}\uFF09`)}function Fg(e,t){let n=t?"[\u9884\u6F14] ":"",r=new Map(nt().map(o=>[o.name,o.version]));console.log(`${n}\u9879\u76EE\u9762 \xB7 \u9879\u76EE\u6839\uFF1A${e.root}`),console.log(`${n}\u9879\u76EE\u9762 \xB7 \u672C\u6B21\u9009\u62E9\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.map(o=>oo(o,r.get(o)??"")).join("\u3001")||"\u65E0"}`),console.log(`${n}\u9879\u76EE\u9762 \xB7 \u672C\u6B21\u76EE\u5F55\uFF08${e.targetSelection.length}\uFF09\uFF1A${e.targetSelection.join("\u3001")||"\u65E0"}`),console.log(""),console.log(" \u771F\u6E90\u526F\u672C\uFF08\u4ED3\u5E93\u5185\u552F\u4E00\uFF0C\u968F git \u5165\u5E93\uFF09\uFF1A"),Xc(e.source," ");for(let o of e.shells)console.log(""),console.log(" \u8584\u58F3\u76EE\u5F55\uFF08\u6307\u5411\u771F\u6E90\uFF09\uFF1A"),Xc(o," ");if(e.missingDirs.length>0){console.log(""),console.log(` \u672A\u547D\u4E2D\u7684\u5019\u9009\u76EE\u5F55 ${e.missingDirs.length} \u4E2A\uFF08\u8BE5 agent \u76EE\u5F55\u5C1A\u4E0D\u5728\u5E93\uFF0C\u9700\u8981\u65F6\u8865\u9F50\u540E\u63D0\u4EA4\uFF09\uFF1A`);for(let o of e.missingDirs)console.log(` toolkit skills install --scope project --dir ${o}`)}for(let o of e.ignoredDirs)console.warn(`\u26A0\uFE0F \u9879\u76EE\u9762\u5FFD\u7565 --dir\u300C${o}\u300D\uFF1A\u843D\u5728\u4ED3\u5E93\u4E4B\u5916\uFF0C\u4E0D\u5199\u5165`);console.log(`${n}\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`),t&&console.log("[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C")}function Ng(e){console.log(`\u9879\u76EE\u9762 \xB7 \u9879\u76EE\u6839\uFF1A${e.root}`),console.log(`\u9879\u76EE\u9762 \xB7 \u6280\u80FD\u771F\u6E90\uFF1A${e.sourceDir}`),console.log(`\u9879\u76EE\u9762 \xB7 \u6280\u80FD\u7248\u672C\uFF1A${e.skills.map(r=>oo(r,e.skillVersions[r]??"")).join("\u3001")||"\u65E0"}`),console.log(`\u9879\u76EE\u9762 \xB7 \u9009\u62E9\u96C6\uFF08${e.selection.length}\uFF09\uFF1A${e.selection.join("\u3001")||"\u65E0"}`),console.log(`\u9879\u76EE\u9762 \xB7 \u76EE\u5F55\u9009\u62E9\u96C6\uFF1A${e.targetSelection.length>0?e.targetSelection.join("\u3001"):"\u5168\u90E8\u5DF2\u5B58\u5728\u5019\u9009\u76EE\u5F55\uFF08\u672A\u4FDD\u5B58\u8FC7\u76EE\u5F55\u9009\u62E9\uFF09"}`);for(let r of e.versionMismatches)console.warn(`\u26A0\uFE0F \u6280\u80FD\u7248\u672C\u53CC\u5199\u4F4D\u4E0D\u4E00\u81F4\uFF1A${r.name}\uFF08frontmatter ${r.frontmatter} / \u6B63\u6587 ${r.body||"\u672A\u58F0\u660E"}\uFF09`);console.log(`\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}${e.stateExists?"":"\uFF08\u672A\u8BB0\u5F55\uFF0C\u5C1A\u672A\u6267\u884C\u8FC7 toolkit init / skills install\uFF09"}`);let t=0,n=0;for(let r of e.dirs){let o=r.items.filter(c=>Dg.includes(c.state)),s=r.items.filter(c=>c.state==="installed-unselected");t+=o.length,n+=s.length;let i=`${r.kind==="source"?"\u771F\u6E90\u526F\u672C":"\u8584\u58F3"}\uFF1A${r.dir}${r.selected?"":"\uFF08\u672A\u9009\u62E9\uFF09"}`;if(console.log(""),o.length===0&&s.length===0){console.log(`${i}\u3000${r.items.length} \u9879\u6B63\u5E38`);continue}console.log(i);for(let c of o)console.log(` ${c.name}\uFF1A${_g[c.state]}`);for(let c of s)console.log(` ${c.name}\uFF1A\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5\uFF08\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u52A0 --prune \u91CD\u8DD1 install\uFF09`);let l=r.items.length-o.length-s.length;l>0&&console.log(` \u5176\u4F59 ${l} \u9879\u6B63\u5E38`)}if(e.missingDirs.length>0){console.log(""),console.log(`\u9879\u76EE\u9762 \xB7 \u672A\u547D\u4E2D\u7684\u5019\u9009\u76EE\u5F55 ${e.missingDirs.length} \u4E2A\uFF08\u9700\u8981\u65F6\u8865\u9F50\u540E\u63D0\u4EA4\uFF09\uFF1A`);for(let r of e.missingDirs)console.log(` toolkit skills install --scope project --dir ${r}`)}console.log(""),console.log(t>0?`\u9879\u76EE\u9762\u5171 ${t} \u5904\u9700\u5904\u7406\uFF1A\u6F02\u79FB / \u7F3A\u5931\u7528 toolkit skills install --scope project \u8865\u9F50\uFF0C\u540C\u540D\u51B2\u7A81\u52A0 --force`:"\u9879\u76EE\u9762\u6240\u6709\u5DF2\u7EB3\u5165\u7684\u76EE\u5F55\u5747\u6B63\u5E38"),n>0&&console.log(`\u9879\u76EE\u9762\u672A\u9009\u62E9\u4F46\u5DF2\u5B89\u88C5 ${n} \u9879\uFF1A\u4FDD\u7559\u4E0D\u5F71\u54CD\u4F7F\u7528\uFF0C\u9700\u8981\u6E05\u7406\u65F6\u8FD0\u884C toolkit skills install --scope project --prune`)}function Mg(e,t){let n=t?"[\u9884\u6F14] ":"";if(!e.stateExists){console.log("\u9879\u76EE\u9762\uFF1A\u672A\u627E\u5230\u5F52\u5C5E\u8D26\uFF0C\u6CA1\u6709\u7531\u672C\u5305\u5B89\u88C5\u7684\u9879\u76EE\u5185\u6280\u80FD\u4EA7\u7269\u9700\u8981\u6E05\u7406");return}console.log(`${n}\u9879\u76EE\u9762 \xB7 \u72B6\u6001\u6587\u4EF6\uFF1A${e.stateFile}`);for(let r of e.dirs)console.log(""),console.log(`${r.kind==="source"?"\u771F\u6E90\u526F\u672C":"\u8584\u58F3"}\uFF1A${r.dir}`),r.removed.length>0&&console.log(` ${t?"\u5C06\u79FB\u9664":"\u5DF2\u79FB\u9664"}\uFF1A${r.removed.join("\u3001")}`),r.missing.length>0&&console.log(` \u5DF2\u4E0D\u5B58\u5728\uFF1A${r.missing.join("\u3001")}`),r.skippedForeign.length>0&&console.log(` \u26A0\uFE0F \u8DF3\u8FC7\uFF08\u975E\u672C\u5305\u4EA7\u7269\u6216\u5185\u5BB9\u5DF2\u88AB\u6539\u52A8\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\uFF09\uFF1A${r.skippedForeign.join("\u3001")}`);e.reclaimed.length>0&&(console.log(""),console.log(` \u5DF2\u56DE\u6536\u7A7A\u76EE\u5F55\uFF1A${e.reclaimed.join("\u3001")}`)),console.log(""),t?console.log("[\u9884\u6F14] \u672A\u6267\u884C\u5220\u9664\uFF1B\u65E0\u9057\u7559\u6761\u76EE\u65F6\u5C06\u540C\u65F6\u5220\u9664\u9879\u76EE\u9762\u5F52\u5C5E\u8D26"):e.stateRemoved?console.log("\u9879\u76EE\u9762\u5F52\u5C5E\u8D26\u5DF2\u5220\u9664\uFF0C\u672C\u5305\u4EA7\u7269\u6E05\u7406\u5B8C\u6BD5"):console.log("\u9879\u76EE\u9762\u5F52\u5C5E\u8D26\u5DF2\u4FDD\u7559\uFF08\u5B58\u5728\u9700\u4EBA\u5DE5\u786E\u8BA4\u6216\u672A\u79FB\u9664\u7684\u6761\u76EE\uFF09")}function Pg(e,t,n,r){console.log(Is(e)),n&&(console.log(""),Fg(n,r)),t&&(console.log(""),jg(t,r))}function Hg(e,t,n){console.log(Is(e)),n&&(console.log(""),Ng(n)),t&&(console.log(""),Og(t))}function Bg(e,t,n,r){console.log(Is(e)),n&&(console.log(""),Mg(n,r)),t&&(console.log(""),sa(t,r))}var ws=["archive","check","normalize","stats"],Ae=new ro.Command,ia="";Ae.name("toolkit").description(Wc).version(na,"-v, --version","\u663E\u793A\u7248\u672C\u53F7").enablePositionalOptions(!0).exitOverride().configureOutput({writeErr:e=>{ia+=e}});Ae.addHelpText("after",["","\u6587\u6863\u7AD9\uFF1A",` \u65B0\u624B\u6307\u5357 ${fn.gettingStarted}`,` \u5B8C\u6574\u653B\u7565 ${fn.guide}`,` \u5168\u90E8\u6587\u6863 ${fn.site}`].join(`
189
+ `));var Ug={created:"\u65B0\u5EFA",updated:"\u66F4\u65B0",kept:"\u4FDD\u6301",appended:"\u8FFD\u52A0",skipped:"\u8DF3\u8FC7"};function Gg(e){console.log(`\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`);for(let t of e.products)console.log(` ${Ug[t.action]} ${t.target}${t.detail?`\uFF08${t.detail}\uFF09`:""}`),t.hint&&console.log(` \u63D0\u793A\uFF1A${t.hint}`);e.publishRiskHint&&console.log(`\u63D0\u793A\uFF1A${e.publishRiskHint}`),console.log(""),console.log("\u4E0B\u4E00\u6B65\uFF1A"),e.skillsInstalled||console.log(" \u5168\u5C40\u6280\u80FD\uFF1A\u672A\u5B89\u88C5\uFF0C\u6267\u884C toolkit skills install \u542F\u7528\uFF08\u89C4\u8303\u89E6\u8FBE\u7B2C\u4E00\u5C42\uFF0C\u4E0D\u4F9D\u8D56\u9879\u76EE\u5185\u6587\u4EF6\uFF1Btoolkit skills status \u53EF\u67E5\u73B0\u573A\uFF09"),console.log(` \u65B0\u624B\u6307\u5357\uFF1A${fn.gettingStarted}`),console.log(` \u5B8C\u6574\u653B\u7565\uFF1A${fn.guide}`)}Ae.command("init").description("\u521D\u59CB\u5316\u9879\u76EE\u4EFB\u52A1\u533A\uFF08\u751F\u6210 .tasks/ \u9AA8\u67B6\u3001\u89C4\u8303\u8F7D\u4F53\u4E0E\u6280\u80FD\u5165\u53E3\u58F3\uFF0C\u8865\u9F50 .gitignore \u7247\u6BB5\u4E0E prepare \u5237\u65B0\u94A9\u5B50\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--no-hooks","\u4E0D\u5199\u5165 package.json \u7684 prepare \u5237\u65B0\u94A9\u5B50\uFF08\u9ED8\u8BA4\u5199\u5165\uFF0C\u4EC5\u5F53\u672C\u5730\u4F9D\u8D56\u542B @xfri/toolkit\uFF09").action(e=>{try{Gg(Ec(Xt(e.dir),process.cwd(),{hooks:e.hooks}))}catch(t){console.error(`\u26A0\uFE0F \u521D\u59CB\u5316\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});var Kt=Ae.command("skills").description("AI \u6280\u80FD\u5305\u5206\u53D1\uFF1A\u5B89\u88C5 / \u72B6\u6001 / \u5378\u8F7D / \u6765\u6E90 / \u8DEF\u5F84\uFF08\u5305\u5185 skills/ \u4E0E --from \u5916\u90E8\u6765\u6E90\u7EDF\u4E00\u7BA1\u7406\uFF09");Kt.command("install").description("\u5B89\u88C5\u6280\u80FD\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1A\u4ED3\u5E93\u5185\u5199\u9879\u76EE\u9762\u526F\u672C + \u8584\u58F3\uFF0C\u5426\u5219\u5199\u5168\u5C40\u76EE\u5F55\uFF1B\u5305\u5185 skills/ \u4E0E --from \u5916\u90E8\u6765\u6E90\u7EDF\u4E00\u5904\u7406\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--skills <names>","\u53EA\u5B89\u88C5\u6307\u5B9A\u6280\u80FD\uFF08\u9017\u53F7\u5206\u9694\uFF1Bcore \u6280\u80FD\u6052\u88C5\uFF09").option("--all","\u5B89\u88C5\u5305\u5185\u5168\u90E8\u6280\u80FD\uFF08\u542B\u53EF\u9009\u6280\u80FD\uFF09").option("--no-optional","\u53EA\u5B89\u88C5 core \u6280\u80FD\uFF08\u4E0D\u542B\u53EF\u9009\u6280\u80FD\uFF09").option("--from <path|url>","\u5916\u90E8\u6280\u80FD\u6765\u6E90\u76EE\u5F55\u6216 Git \u5730\u5740\uFF08\u53EF\u91CD\u590D\uFF1B\u9ED8\u8BA4\u4E34\u65F6\uFF0C\u53EA\u5199\u672C\u6B21\uFF09",qc,[]).option("--save [name]","\u628A --from \u6765\u6E90\u767B\u8BB0\u4E3A\u6C38\u4E45\u6765\u6E90\uFF08\u53EF\u9009\u6765\u6E90\u540D\uFF0C\u7F3A\u7701\u6309\u76EE\u5F55 / \u6E05\u5355\u6D3E\u751F\uFF09").option("--agent <names>","\u53EA\u5199\u5165\u6307\u5B9A agent\uFF08\u9017\u53F7\u5206\u9694\uFF0C\u542B canonical\uFF1B\u672C\u673A\u672A\u68C0\u6D4B\u5230\u7684\u8DF3\u8FC7\uFF09").option("--all-agents","\u5199\u5165\u5168\u90E8\u5DF2\u68C0\u6D4B\u7684 agent").option("--no-save-agents","\u76EE\u6807\u9009\u62E9\u53EA\u5BF9\u672C\u6B21\u751F\u6548\uFF0C\u4E0D\u5199\u56DE\u914D\u7F6E").option("--yes","\u63A5\u53D7\u5DF2\u4FDD\u5B58\u7684\u6280\u80FD\u4E0E\u76EE\u6807\u9009\u62E9\uFF0C\u4E0D\u8FDB\u5165\u4EA4\u4E92\uFF08\u9996\u6B21\u53EA\u88C5 core \u4E0E\u5168\u90E8\u53EF\u7528\u76EE\u6807\uFF09").option("--copy","\u5F3A\u5236\u4EE5\u526F\u672C\u5F62\u5F0F\u5199\u5165\uFF08\u4EC5\u5168\u5C40\u9762\u751F\u6548\uFF1B\u9879\u76EE\u9762\u771F\u6E90\u6052\u4E3A\u526F\u672C\u3001\u5176\u4F59\u76EE\u5F55\u6052\u4E3A\u8584\u58F3\uFF09").option("--dir <path>","\u989D\u5916\u76EE\u6807\u76EE\u5F55\uFF08\u53EF\u591A\u6B21\u6307\u5B9A\uFF0C\u515C\u5E95\u5185\u7F6E\u8868\u672A\u6536\u5F55\u7684 agent\uFF1B\u4E0D\u53C2\u4E0E\u540E\u7EED\u81EA\u52A8\u540C\u6B65\uFF0C\u6280\u80FD\u53D8\u5316\u540E\u9700\u5E26\u76F8\u540C --dir \u91CD\u8DD1\uFF09",qc,[]).option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u6267\u884C\u7684\u52A8\u4F5C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--force","\u8986\u76D6\u540C\u540D\u975E\u672C\u5305\u4EA7\u7269\uFF08\u9ED8\u8BA4\u8DF3\u8FC7\uFF0C\u907F\u514D\u7834\u574F\u7528\u6237\u81EA\u88C5\u6280\u80FD\uFF1B\u4E0D\u6539\u672C\u5305\u5DF2\u767B\u8BB0\u526F\u672C\u7684\u5F62\u6001\uFF09").option("--prune","\u6E05\u7406\u672A\u9009\u62E9\u4E14\u5185\u5BB9\u4E0E\u672C\u5305\u771F\u6E90\u4E00\u81F4\u7684\u65E7\u4EA7\u7269\uFF08\u53EA\u6E05\u672C\u5305\u767B\u8BB0\u6761\u76EE\uFF09").option("--mode <mode>","\u6280\u80FD\u5B89\u88C5\u6A21\u5F0F\uFF1Askills\uFF08core \u5FC5\u88C5\uFF09/ package\uFF08\u7EAF\u5305\u7BA1\u7406\u5668\uFF0C\u5141\u8BB8\u96F6\u9009\uFF09").option("--no-skills","\u672C\u6B21\u4E0D\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD\uFF0C\u4E0D\u6539\u6A21\u5F0F\u4E0E\u5DF2\u4FDD\u5B58\u9009\u62E9").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(async e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=!!e.dryRun,r=process.argv.includes("--no-skills");if(e.mode!==void 0&&e.mode!=="skills"&&e.mode!=="package"){console.error("\u26A0\uFE0F --mode \u53D6\u503C\u987B\u4E3A skills \u6216 package\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}if(e.mode!==void 0&&r){console.error("\u26A0\uFE0F --mode \u4E0E --no-skills \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}if(r&&(typeof e.skills=="string"||e.all||e.optional===!1)){console.error("\u26A0\uFE0F --no-skills \u4E0E --skills / --all / --no-optional \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}let o=t.choice!=="global",s=t.choice!=="project",i=!!e.yes||e.format==="json",l=e.from??[];if(e.save!==void 0&&l.length!==1){console.error("\u26A0\uFE0F --save \u53EA\u80FD\u4E0E\u5355\u4E2A --from \u642D\u914D\u4F7F\u7528\uFF0C\u672A\u6267\u884C\u5B89\u88C5"),process.exitCode=1;return}let c=l.map((y,x)=>({path:y,name:x===0&&typeof e.save=="string"?e.save:void 0,temporary:!(x===0&&e.save!==void 0)})),a;try{a=Zl({externalSources:c,dryRun:n})}catch(y){console.error(`\u26A0\uFE0F \u6280\u80FD\u6765\u6E90\u89E3\u6790\u5931\u8D25\uFF1A${y.message}`),process.exitCode=1;return}let f=await Tg({...e,skills:r?void 0:e.skills,noSkills:r,yes:i},t.choice==="project"?"project":"global",a);if(!f)return;let p=f.names;if(e.mode!==void 0&&!n){let y=e.mode;(t.choice==="global"||t.choice==="all")&&Ve({mode:y}),(t.choice==="project"||t.choice==="all")&&Ot({mode:y})}let g,u;if(s){let y=await Ig({agent:e.agent,allAgents:e.allAgents,yes:i,dir:e.dir});if(y===null)return;g=y}if(o){(e.agent!==void 0||e.allAgents)&&console.warn("\u26A0\uFE0F --agent / --all-agents \u4EC5\u4F5C\u7528\u4E8E\u5168\u5C40\u9762\uFF0C\u9879\u76EE\u9762\u6309\u9879\u76EE\u76EE\u5F55\u9009\u62E9\u6267\u884C");let y=await Ag({dir:e.dir,yes:i});if(y===null)return;u=y}if(!i&&qn()){console.log(""),console.log("\u5373\u5C06\u5B89\u88C5\uFF1A"),console.log(` \u6280\u80FD\uFF1A${p.join("\u3001")||"\u65E0"}`),c.length>0&&console.log(` \u5916\u90E8\u6765\u6E90\uFF1A${c.map(x=>x.path).join("\u3001")}`),s&&console.log(` \u5168\u5C40\u76EE\u6807\uFF1A${Lg(g)}`),o&&console.log(` \u9879\u76EE\u76EE\u5F55\uFF1A${u?u.join("\u3001"):"\u6309\u5DF2\u4FDD\u5B58\u9009\u62E9 / \u5168\u90E8\u5DF2\u5B58\u5728\u5019\u9009\u76EE\u5F55"}`);let y=await fc("\u786E\u8BA4\u6267\u884C\u5B89\u88C5\uFF1F");if(y===null){console.error("\u5DF2\u53D6\u6D88\u5B89\u88C5\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6"),process.exitCode=130;return}if(!y){console.log("\u5DF2\u53D6\u6D88\u5B89\u88C5\uFF0C\u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6");return}}o&&e.copy&&console.warn("\u26A0\uFE0F \u9879\u76EE\u9762\u4E0D\u652F\u6301 --copy\uFF08\u771F\u6E90\u6052\u4E3A\u526F\u672C\u3001\u5404\u5019\u9009\u76EE\u5F55\u6052\u4E3A\u8584\u58F3\uFF09\uFF0C\u5DF2\u5FFD\u7565\u8BE5\u9879\u76EE\u9762\u53D6\u503C");let m=e.saveAgents===!1?!1:void 0,d=o?ec({dirs:e.dir,dryRun:n,force:e.force,skills:p,targetDirs:u,saveTargets:m,prune:!!e.prune,externalSources:c,saveSelection:f.saveSelection,mode:f.mode}):null,k=s?Ql({copy:e.copy,dirs:e.dir,dryRun:n,force:e.force,skills:p,targets:g,saveTargets:m,prune:!!e.prune,externalSources:c,saveSelection:f.saveSelection,mode:f.mode}):null;if(p.length===0&&console.log(f.mode==="package"?"\u7EAF\u5305\u7BA1\u7406\u5668\u6A21\u5F0F\uFF1A\u672C\u6B21\u672A\u5B89\u88C5\u4EFB\u4F55\u6280\u80FD":"\u672A\u9009\u62E9\u4EFB\u4F55\u6280\u80FD"),!n&&e.save!==void 0&&c.length===1)try{let y=Yn(c[0].path,{name:typeof e.save=="string"?e.save:void 0,temporary:!1}),x=se(),$=y.url?{url:y.url,ref:y.ref}:{root:y.root};Ve({sources:{...x.sources??{},[y.name]:$}})}catch(y){console.warn(`\u26A0\uFE0F \u5916\u90E8\u6765\u6E90\u767B\u8BB0\u5931\u8D25\uFF1A${y.message}`)}e.format==="json"?Pe({dryRun:n,scope:t.choice,global:k,project:d}):Pg(t,k,d,n)}catch(t){console.error(`\u26A0\uFE0F \u5B89\u88C5\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.command("status").description("\u67E5\u770B\u6280\u80FD\u73B0\u573A\u72B6\u6001\u4E0E\u771F\u6E90\u7248\u672C\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1B\u542B\u60AC\u7A7A / \u6307\u5411\u5176\u4ED6\u7248\u672C / \u6F02\u79FB / \u7F3A\u5931 / \u540C\u540D\u51B2\u7A81\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=t.choice!=="global",r=t.choice!=="project",o=n?ic():null,s=r?sc():null;e.format==="json"?Pe({scope:t.choice,global:s,project:o}):Hg(t,s,o)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.command("remove").description("\u5378\u8F7D\u7531\u672C\u5305\u5B89\u88C5\u7684\u6280\u80FD\u4EA7\u7269\uFF08\u9ED8\u8BA4\u6309\u73B0\u573A\u5224\u5B9A\u4F5C\u7528\u57DF\uFF1B\u53EA\u6E05\u7406\u5F52\u5C5E\u8D26\u8BB0\u8F7D\u7684\u6761\u76EE\uFF0C\u4E0D\u78B0\u7528\u6237\u81EA\u88C5\u6280\u80FD\uFF09").option("--scope <scope>","\u4F5C\u7528\u57DF\uFF08project \u9879\u76EE\u9762 / global \u5168\u5C40\u9762 / all \u4E24\u8005\uFF1B\u7F3A\u7701\u6309\u73B0\u573A\u81EA\u52A8\u5224\u5B9A\uFF09").option("--skills <names>","\u53EA\u5378\u8F7D\u6307\u5B9A\u6280\u80FD\u7684\u9009\u62E9\u4E0E\u4EA7\u7269\uFF08\u9017\u53F7\u5206\u9694\uFF1B\u7701\u7565\u65F6\u6E05\u7406\u5168\u90E8\uFF09").option("--source <name>","\u53EA\u6E05\u7406\u6307\u5B9A\u5916\u90E8\u6765\u6E90\u7684\u767B\u8BB0\u4E0E\u4EA7\u7269\uFF08\u4EC5\u5168\u5C40\u9762\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u79FB\u9664\u7684\u6761\u76EE\uFF0C\u4E0D\u5220\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Cs(e.scope);if(!t)return;let n=e.skills!==void 0?mt(e.skills)??[]:void 0;if(n&&n.length===0){console.error("\u26A0\uFE0F --skills \u53D6\u503C\u4E3A\u7A7A\uFF0C\u672A\u6267\u884C\u5378\u8F7D"),process.exitCode=1;return}e.source!==void 0&&t.choice!=="global"&&console.warn("\u26A0\uFE0F --source \u4EC5\u4F5C\u7528\u4E8E\u5168\u5C40\u9762\uFF1B\u9879\u76EE\u9762\u6309\u5168\u90E8\u6765\u6E90\u6E05\u7406");let r=!!e.dryRun,o=t.choice!=="global",s=t.choice!=="project",i=o?tc({dryRun:r,skills:n}):null,l=s?as({dryRun:r,skills:n,source:e.source}):null;e.format==="json"?Pe({dryRun:r,scope:t.choice,global:l,project:i}):Bg(t,l,i,r)}catch(t){console.error(`\u26A0\uFE0F \u5378\u8F7D\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});var Kg=Kt.command("sources").description("\u67E5\u770B / \u6CE8\u9500\u5916\u90E8\u6280\u80FD\u6765\u6E90\uFF08--from --save \u767B\u8BB0\u540E\u7684\u7BA1\u7406\u5165\u53E3\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=se(),n=rt(),r=[];for(let[o,s]of Object.entries(t.sources??{})){let i=n?.sources[o]?.targets.flatMap(l=>l.entries.map(c=>c.name))??[];r.push({name:o,root:s.root??"",url:s.url,ref:s.ref,temporary:!1,registered:!0,skills:[...new Set(i)]})}for(let[o,s]of Object.entries(n?.sources??{})){if(r.some(l=>l.name===o))continue;let i=s.targets.flatMap(l=>l.entries.map(c=>c.name));r.push({name:o,root:s.root,url:s.url,ref:s.ref,temporary:s.temporary,registered:!1,skills:[...new Set(i)]})}if(e.format==="json"){Pe({sources:r});return}if(r.length===0){console.log("\u672A\u767B\u8BB0\u5916\u90E8\u6765\u6E90");return}for(let o of r){let s=o.name===De?"\u5185\u7F6E":o.registered?"\u5DF2\u767B\u8BB0":o.temporary?"\u4E34\u65F6":"\u72B6\u6001\u767B\u8BB0",i=o.skills.length>0?`\u3000\u6280\u80FD\uFF1A${o.skills.join("\u3001")}`:"",l=o.url?`${o.url}${o.ref?`#${o.ref}`:""}`:o.root;console.log(`${o.name}\uFF08${s}\uFF09\uFF1A${l||"\uFF08\u6765\u6E90\u6839\u7F3A\u5931\uFF09"}${i}`)}}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u6765\u6E90\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kg.command("remove").argument("<name>","\u6765\u6E90\u540D").option("--prune","\u540C\u65F6\u6E05\u7406\u8BE5\u6765\u6E90\u7684\u4EA7\u7269\u4E0E\u72B6\u6001").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\uFF0C\u4E0D\u5220\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action((e,t)=>{try{if(!Re(t.format))return;let n=!!t.dryRun;if(t.prune){let i=as({dryRun:n,source:e});t.format==="json"?Pe({dryRun:n,source:e,report:i}):sa(i,n);return}if(n){console.log(`[\u9884\u6F14] \u5C06\u6CE8\u9500\u6765\u6E90\u767B\u8BB0\uFF1A${e}\uFF08\u4EA7\u7269\u4E0E\u72B6\u6001\u4FDD\u7559\uFF09`);return}let r=se();if(!r.sources?.[e]){console.error(`\u26A0\uFE0F \u672A\u627E\u5230\u5DF2\u767B\u8BB0\u6765\u6E90\uFF1A${e}`),process.exitCode=1;return}let o={...r.sources};delete o[e];let s={...r.selection??{}};delete s[e],Ve({sources:Object.keys(o).length>0?o:void 0,selection:Object.keys(s).length>0?s:void 0}),console.log(`\u5DF2\u6CE8\u9500\u6765\u6E90\u767B\u8BB0\uFF1A${e}\uFF08\u4EA7\u7269\u4E0E\u72B6\u6001\u4FDD\u7559\uFF0C\u5982\u9700\u6E05\u7406\u52A0 --prune\uFF09`)}catch(n){console.error(`\u26A0\uFE0F \u6CE8\u9500\u6765\u6E90\u5931\u8D25\uFF1A${n.message}`),process.exitCode=1}});Kt.command("path").description("\u8F93\u51FA\u5305\u6839\u8DEF\u5F84\uFF08\u5185\u542B skills/\uFF0C\u53EF\u59D4\u6258\u4E0A\u6E38\u5B89\u88C5\u5668\u5B89\u88C5\u5230\u8868\u5916 agent\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF1A\u5305\u6839\u3001\u6280\u80FD\u6E90\u76EE\u5F55\u3001\u6280\u80FD\u6E05\u5355\uFF09").action(e=>{try{if(!Re(e.format))return;e.format==="json"?Pe({package:tt(),source:ut(),skills:nt().map(t=>t.name)}):console.log(tt())}catch(t){console.error(`\u26A0\uFE0F \u5B9A\u4F4D\u5305\u8DEF\u5F84\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Kt.action(()=>{Kt.help()});function Yg(e,t){let n=t?"[\u9884\u6F14] ":"";if(console.log(`${n}\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`),console.log(`${n}\u8F7D\u4F53\uFF1A${e.dir}\uFF08\u5F62\u6001 ${e.form}\uFF09`),e.status==="already-v3"){console.log(`${n}\u5DF2\u662F v3 \u5F62\u6001\uFF0C\u65E0\u9700\u5347\u7EA7`);return}if(console.log(""),e.idMap.length>0){console.log(`${n}ID \u6620\u5C04\uFF08\u5E8F\u53F7 \u2192 \u7A33\u5B9A ID\uFF0C\u4EC5\u968F\u62A5\u544A\u8F93\u51FA\uFF0C\u4E0D\u843D\u76D8\uFF09\uFF1A`);for(let r of e.idMap)console.log(` ${r.seq} \u2192 ${r.id} ${r.name}`);console.log("")}console.log(`${n}\u7ED3\u6784\u52A8\u4F5C\uFF1A`);for(let r of e.changes)console.log(` ${r.target}\uFF1A${r.detail}`);if(e.refs.length>0){console.log(""),console.log(`${n}\u5185\u90E8\u5F15\u7528\u6539\u5199\uFF1A`);for(let r of e.refs)console.log(` ${r.file}\uFF1A${r.from} \u2192 ${r.to}`)}if(e.reviews.length>0){console.log(""),console.log(`${n}\u5F85\u4EBA\u5DE5\u590D\u6838\uFF08\u53EA\u62A5\u4E0D\u6539\uFF09\uFF1A`);for(let r of e.reviews)console.log(` \u26A0\uFE0F ${r}`)}console.log(""),console.log(t?"[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C":"\u5DF2\u5199\u5165\uFF1B\u5347\u7EA7\u524D\u539F\u4EF6\u53EF\u7531\u672C\u6B21\u8FC1\u79FB\u63D0\u4EA4\u7684\u7236\u63D0\u4EA4\u590D\u73B0")}function Vg(e){if(console.log(e.summary),!e.initialized)return;let t=e.carrierVersion===null?"\u65E0":`v${e.carrierVersion}`;if(console.log(`\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}`),console.log(`\u8F7D\u4F53\uFF1A${e.dir}\uFF08\u5F62\u6001 ${e.form}\uFF0C\u5F62\u6001\u6807\u8BB0 ${t}\uFF0C\u6761\u76EE ${e.entries}\uFF09`),console.log(`\u5165\u53E3\u58F3\uFF1A${e.shells.length>0?e.shells.map(n=>`${n.file}\uFF08\u6807\u8BB0 ${n.version===null?"\u65E0":`v${n.version}`}${n.ignored?"\uFF0C\u88AB gitignore \u8986\u76D6":""}\uFF09`).join("\u3001"):"\u65E0"}`),console.log(""),e.items.length===0){console.log("\u65E0\u5F85\u5904\u7406\u9879");return}for(let n of e.items)console.log(`${n.level==="warn"?"\u26A0\uFE0F":"\xB7"} [${n.scope}] ${vc(n.message)}`)}function Wg(e,t){let n=t?"[\u9884\u6F14] ":"";if(console.log(`${n}\u4EFB\u52A1\u533A\uFF1A${e.tasksDir}\uFF08\u626B\u63CF ${e.files} \u4E2A .md\uFF09`),e.status==="already-compact"){console.log(`${n}\u8868\u683C\u5DF2\u5168\u90E8\u4E3A\u7D27\u51D1\u5F62\u6001\uFF0C\u65E0\u9700\u5F52\u4E00`);return}console.log(""),console.log(`${n}\u5F52\u4E00\u6539\u52A8\uFF1A${e.changedFiles} \u4E2A\u6587\u4EF6 / ${e.changedLines} \u884C`);for(let r of e.changes){let o=r.lines.slice(0,6).join("\u3001");console.log(` ${r.file}\uFF1A${r.lines.length} \u884C\uFF08${o}${r.lines.length>6?" \u2026":""}\uFF09`)}console.log(""),console.log(t?"[\u9884\u6F14] \u672A\u5199\u5165\u4EFB\u4F55\u6587\u4EF6\uFF1B\u786E\u8BA4\u65E0\u8BEF\u540E\u53BB\u6389 --dry-run \u6267\u884C":"\u5DF2\u5199\u5165\uFF1B\u7D27\u51D1\u5F62\u6001\u5373\u89C4\u8303\u5F62\u6001\uFF0C\u91CD\u590D\u6267\u884C\u4E0D\u6539\u52A8")}var Xn=Ae.command("conventions").description("\u9879\u76EE\u534F\u4F5C\u89C4\u8303\u8F7D\u4F53\uFF1A\u7ED3\u6784\u5347\u7EA7\uFF08v1 / v2 \u2192 v3\uFF09\u3001\u8868\u683C\u5F62\u6001\u5F52\u4E00\uFF08\u7D27\u51D1\u5F62\u6001\uFF09\u4E0E\u53EA\u8BFB\u4F53\u68C0\uFF08\u5F62\u6001 / \u7D22\u5F15 / \u5165\u53E3\u5C42\uFF09");Xn.command("upgrade").description("\u628A v1 / v2 \u89C4\u8303\u8F7D\u4F53\u5347\u7EA7\u4E3A v3\uFF08v2\uFF1A\u5220\u300C\u72B6\u6001\u300D\u300C\u786E\u7ACB\u6765\u6E90\u4EFB\u52A1\u300D\u4E24\u5217\u3001\u9000\u4F11\u6761\u76EE\u8FC1\u5165 retired.md \u5E76\u5220\u5206\u518C\u5C0F\u8282\uFF1Bv1 \u94FE\u5F0F\u5347\u7EA7\uFF1B\u5E42\u7B49\uFF0C\u5148\u5224\u540E\u5199\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u6267\u884C\u7684\u52A8\u4F5C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=jc(Xt(e.dir),{dryRun:e.dryRun});e.format==="json"?Pe({dryRun:!!e.dryRun,...t}):Yg(t,!!e.dryRun)}catch(t){console.error(`\u26A0\uFE0F \u5347\u7EA7\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Xn.command("format").description("\u5F52\u4E00\u8868\u683C\u5F62\u6001\u4E3A\u7D27\u51D1\u5F62\u6001\uFF08\u53EA\u52A8\u5355\u5143\u683C\u95F4\u8DDD\u3001\u5206\u9694\u884C\u6A2A\u7EBF\u957F\u5EA6\u4E0E\u5217\u5BF9\u9F50\u586B\u5145\uFF1B\u5E42\u7B49\u3001\u8DF3\u8FC7 fenced code block\uFF0C\u5148\u62A5\u540E\u5199\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--dry-run","\u9884\u6F14\uFF08\u53EA\u9884\u89C8\u5C06\u8981\u5F52\u4E00\u7684\u884C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Di(Xt(e.dir),{dryRun:e.dryRun});e.format==="json"?Pe(t):Wg(t,!!e.dryRun)}catch(t){console.error(`\u26A0\uFE0F \u5F52\u4E00\u5931\u8D25\uFF1A${t.message}`),process.exitCode=1}});Xn.command("status").description("\u89C4\u8303\u8F7D\u4F53\u53EA\u8BFB\u4F53\u68C0\uFF1A\u5F62\u6001 / \u7D22\u5F15 / \u5165\u53E3\u5C42\u4E09\u5757\uFF08\u53EA\u62A5\u4E0D\u6539\uFF0C\u4F53\u68C0\u4E0D\u963B\u65AD\u3001\u9000\u51FA\u7801\u6052 0\uFF1B\u4EC5 --format \u4F20\u975E\u6CD5\u503C\u65F6\u6309\u53C2\u6570\u9519\u8BEF\u62A5\u9519\u9000\u51FA\uFF09").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=Dc(Xt(e.dir));e.format==="json"?Pe(t):Vg(t)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`)}});Xn.action(()=>{Xn.help()});var zg={ignored:"\u5DF2\u5FFD\u7565",tracked:"\u5DF2\u8DDF\u8E2A\uFF08\u9700 git rm --cached\uFF09","not-ignored":"\u672A\u5FFD\u7565","not-a-repo":"\u4E0D\u9002\u7528\uFF08\u975E git \u4ED3\u5E93\uFF09","outside-repo":"\u4E0D\u9002\u7528\uFF08\u4F4D\u4E8E\u4ED3\u5E93\u5DE5\u4F5C\u6811\u4E4B\u5916\uFF09",unavailable:"\u5FFD\u7565\u5224\u5B9A\u4E0D\u53EF\u7528"};function Jg(e){console.log(e.summary),console.log(`\u67E5\u627E\u8D77\u70B9\uFF1A${ms(e.cwd)}`),console.log(""),console.log("\u5C42\u7EA7\uFF1A");for(let r of e.levels){let o=r.file===null?"\u65E0":ms(r.file),s=r.ignored===null?"":`\uFF0C${zg[r.ignored.state]}`;console.log(` ${r.layer}\uFF1A${o}${s}`)}console.log(""),console.log("\u5C55\u793A\u952E\u6765\u6E90\uFF1A");for(let r of e.displayKeys)console.log(` ${r.key}\uFF1A${r.source??"\u9ED8\u8BA4\u503C"}`);console.log("");let t=r=>r.length>0?r.map(o=>`${o.env} \u2192 ${o.key}`).join("\u3001"):"\u65E0";console.log(`\u73AF\u5883\u53D8\u91CF\u5C42\uFF1A${t(e.env)}`),console.log(`\u80FD\u529B\u65C1\u8DEF\uFF1A${t(e.bypass)}`),console.log("");let n=e.levels.filter(r=>r.otherSections.length>0);if(n.length===0)console.log("\u5176\u4F59\u5DF2\u914D\u7F6E\u6BB5\uFF1A\u65E0");else{console.log("\u5176\u4F59\u5DF2\u914D\u7F6E\u6BB5\uFF1A");for(let r of n)console.log(` ${r.layer}\uFF1A${r.otherSections.join("\u3001")}`)}if(console.log(""),e.items.length===0){console.log("\u65E0\u5F85\u5904\u7406\u9879");return}for(let r of e.items)console.log(`${r.level==="warn"?"\u26A0\uFE0F":"\xB7"} [${r.scope}] ${r.message}`)}var Es=Ae.command("config").description("\u914D\u7F6E\u5206\u5C42\uFF1A\u53EA\u8BFB\u67E5\u770B\u4E09\u5C42\u914D\u7F6E\u6587\u4EF6\uFF08\u5168\u5C40\u5C42 / \u9879\u76EE\u5C42 / \u672C\u5730\u5C42\uFF09\u7684\u751F\u6548\u60C5\u51B5\u4E0E\u6765\u6E90");Es.command("status").description("\u914D\u7F6E\u5206\u5C42\u53EA\u8BFB\u4F53\u68C0\uFF1A\u4E09\u5C42\u547D\u4E2D / \u6765\u6E90\u5C42 / \u73AF\u5883\u53D8\u91CF\u5C42\uFF08\u53EA\u8BFB\u3001\u9000\u51FA\u7801\u6052 0\uFF1B\u65E0 --dir\uFF0C\u53EF\u7528 --cwd \u6307\u5B9A\u67E5\u627E\u8D77\u70B9\uFF09").option("--cwd <path>","\u5411\u4E0A\u67E5\u627E\u7684\u8D77\u59CB\u76EE\u5F55\uFF08\u7F3A\u7701\u5F53\u524D\u5DE5\u4F5C\u76EE\u5F55\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").action(e=>{try{if(!Re(e.format))return;let t=e.cwd===void 0?process.cwd():(0,Zn.resolve)(e.cwd);if(!(0,ht.existsSync)(t)||!(0,ht.statSync)(t).isDirectory()){console.error(`\u26A0\uFE0F --cwd \u6307\u5411\u7684\u8DEF\u5F84\u4E0D\u5B58\u5728\u6216\u975E\u76EE\u5F55\uFF1A${e.cwd}`),process.exitCode=1;return}let n=$c(t);e.format==="json"?Pe(n):Jg(n)}catch(t){console.error(`\u26A0\uFE0F \u8BFB\u53D6\u72B6\u6001\u5931\u8D25\uFF1A${t.message}`)}});Es.action(()=>{Es.help()});var Ts=Ae.command("docs").description("\u6587\u6863\u7AD9\u5DE5\u5177\uFF1A\u7EDF\u4E00\u4E3B\u9898\u6A21\u677F\u7684\u6821\u9A8C\u4E0E\u5199\u5165"),Zc="docs/.vitepress/theme";Ts.command("theme").description("\u6821\u9A8C\u6216\u5199\u5165\u7EDF\u4E00\u6587\u6863\u7AD9\u4E3B\u9898\uFF08\u516C\u5171\u89C4\u5219\u968F\u5305\u5206\u53D1\uFF0C\u54C1\u724C\u6BB5\u7531\u5404\u7AD9\u81EA\u7559\uFF09").option("--dir <path>",`\u4E3B\u9898\u76EE\u5F55\uFF08\u9ED8\u8BA4 ${Zc}\uFF09`).option("--check","\u53EA\u6821\u9A8C\uFF0C\u4E0D\u5199\u6587\u4EF6\uFF08\u9ED8\u8BA4\u52A8\u4F5C\uFF09").option("--write","\u5199\u5165\u6216\u5237\u65B0\u6A21\u677F\uFF0C\u4FDD\u7559\u65E2\u6709\u54C1\u724C\u6BB5").option("--force","--write \u65F6\u7F3A\u5C11\u54C1\u724C\u6807\u8BB0\u4E5F\u8986\u76D6").action(e=>{if(e.check&&e.write){console.error("\u26A0\uFE0F --check \u4E0E --write \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}let t=(0,Zn.resolve)(e.dir??Zc);try{if(e.write){let r=Sc(t,{force:e.force});for(let o of r.written)console.log(`\u5199\u5165\uFF1A${o}`);for(let o of r.kept)console.log(`\u4FDD\u7559\u54C1\u724C\u6BB5\uFF1A${o}`);return}let n=kc(t);if(n.ok){console.log(`\u4E3B\u9898\u4E00\u81F4\uFF1A${t}`);return}console.error(`\u26A0\uFE0F \u4E3B\u9898\u4E0E\u6A21\u677F\u4E0D\u4E00\u81F4\uFF08${n.problems.length} \u9879\uFF09`);for(let r of n.problems)console.error(` - ${r}`);process.exitCode=1}catch(n){console.error(`\u26A0\uFE0F ${n.message}`),process.exitCode=1}});Ts.action(()=>{Ts.help()});Ae.command("tasks").description("\u4EFB\u52A1\u7BA1\u7406").option("--dir <path>","\u4EFB\u52A1\u76EE\u5F55\uFF08\u4F18\u5148\u7EA7\uFF1ACLI \u53C2\u6570 > \u914D\u7F6E tasks.dir > \u9ED8\u8BA4 .tasks\uFF09").option("--redact","\u5F00\u542F\u9690\u79C1\u8131\u654F").option("--no-redact","\u5173\u95ED\u9690\u79C1\u8131\u654F").option("--warn","\u5F00\u542F\u8F6F\u544A\u8B66").option("--no-warn","\u5173\u95ED\u8F6F\u544A\u8B66").option("--dry-run","\u9884\u6F14\uFF08archive \u5F52\u6863 / import \u5BFC\u5165\u53EA\u9884\u89C8\uFF0C\u4E0D\u843D\u76D8\uFF09").option("--fix","\u5F52\u4E00\u5316\u4FEE\u590D\uFF08\u4EC5 normalize \u6709\u6548\uFF1B\u68C0\u67E5\u9879\u4E0E tasks check \u540C\u6E90\uFF0Ccheck \u53EA\u8BFB\u4E0D\u6539\uFF09").option("--check","\u5F52\u4E00\u5316\u53EA\u8BFB\u68C0\u67E5\uFF08normalize \u9ED8\u8BA4\u884C\u4E3A\uFF0C\u53EF\u663E\u5F0F\u58F0\u660E\uFF1B\u68C0\u67E5\u9879\u4E0E tasks check \u540C\u6E90\u3001\u4E0D\u80FD\u4E0E --fix \u540C\u7528\uFF09").option("--view <view>","\u4EFB\u52A1\u89C6\u56FE\uFF1Aactive / archived / all\uFF08\u603B\u89C8\u9ED8\u8BA4 active\uFF0Cstats \u9ED8\u8BA4 all \u542B\u5F52\u6863\uFF09").option("--owner <name>","\u6309\u8D1F\u8D23\u4EBA\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--scope <scope>","\u6309\u8303\u56F4\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--status <status>","\u6309\u72B6\u6001\u8FC7\u6EE4\uFF08\u9017\u53F7\u5206\u9694\u591A\u503C\uFF09").option("--date <date>","\u6309\u5355\u65E5\u8FC7\u6EE4\uFF08YYYY-MM-DD\uFF0C\u4E0E --since/--until \u4E92\u65A5\uFF09").option("--since <date>","\u8D77\u59CB\u65E5\u671F\uFF08\u542B\u5F53\u5929\uFF09").option("--until <date>","\u7ED3\u675F\u65E5\u671F\uFF08\u542B\u5F53\u5929\uFF09").option("--export <path>","\u5BFC\u51FA\u5230\u6587\u4EF6\uFF08.csv / .xlsx / .json\uFF09").option("--format <format>","\u8F93\u51FA\u683C\u5F0F\uFF08json\uFF0C\u8F93\u51FA\u5230 stdout\uFF09").option("--import <file>","\u4ECE\u6587\u4EF6\u5BFC\u5165\u4EFB\u52A1\uFF08.csv / .xlsx / .json\uFF09").option("--target <target>","\u5BFC\u5165\u76EE\u6807\uFF1Aactive / archive\uFF08\u9ED8\u8BA4 active\uFF09").option("--strict","\u4EFB\u52A1\u76EE\u5F55\u4E0D\u5B58\u5728\u65F6\u62A5\u9519\u9000\u51FA\uFF08\u9ED8\u8BA4\u5BB9\u9519\u4E3A\u7A7A\u7ED3\u679C\uFF09").argument("[command]",`\u5B50\u547D\u4EE4\uFF1A${ws.join(" / ")}\uFF0C\u7559\u7A7A\u4E3A\u603B\u89C8\uFF08\u542B\u5BFC\u5165\u7528 --import\uFF09`).action(async(e,t)=>{if(e&&!ws.includes(e)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u5B50\u547D\u4EE4\u300C${e}\u300D\uFF0C\u4EC5\u652F\u6301 ${ws.join(" / ")}\uFF08\u7559\u7A7A\u67E5\u770B\u4EFB\u52A1\u603B\u89C8\uFF09`),process.exitCode=1;return}let n=So(t.redact),r=yn(t.warn,"FX_CHECK_WARN",ra(),!0),o=Xt(t.dir);if(t.strict&&!(0,ht.existsSync)(o)){console.error(`\u26A0\uFE0F \u4EFB\u52A1\u76EE\u5F55\u4E0D\u5B58\u5728\uFF1A${o}`),process.exitCode=1;return}if(t.import){if(e||t.export||t.format){console.error("\u26A0\uFE0F --import \u4E3A\u72EC\u7ACB\u6A21\u5F0F\uFF0C\u4E0D\u80FD\u4E0E\u5B50\u547D\u4EE4\u3001--export\u3001--format \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}let s=de("tasks"),i=s?.importColumns&&typeof s.importColumns=="object"?s.importColumns:void 0,l=t.target??"active";if(!["active","archive"].includes(l)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u5BFC\u5165\u76EE\u6807\u300C${l}\u300D\uFF0C\u4EC5\u652F\u6301 active / archive`),process.exitCode=1;return}try{await yi(t.import,o,{owner:t.owner,scope:t.scope,target:l,dryRun:t.dryRun,importColumns:i})}catch(c){console.error(`\u26A0\uFE0F \u5BFC\u5165\u5931\u8D25\uFF1A${c.message}`),process.exitCode=1}return}if(e==="stats"?t.export&&console.warn("\u26A0\uFE0F \u5B50\u547D\u4EE4\u300Cstats\u300D\u4E0D\u652F\u6301 --export\uFF0C\u5DF2\u5FFD\u7565\uFF08\u4EC5\u4EFB\u52A1\u603B\u89C8\u652F\u6301\u5BFC\u51FA\uFF09"):e&&xg(e,t),e==="archive")try{let s=bi(o,n,{dryRun:t.dryRun,warn:r});r&&!t.dryRun&&s.archived>0&&!bg()&&console.warn("\u26A0\uFE0F \u672C\u6B21\u5F52\u6863\u4E86\u4EFB\u52A1\uFF0C\u4F46 .changeset \u65E0\u5F85\u53D1\u5E03\u53D8\u66F4\u96C6\uFF0C\u5982\u9700\u53D1\u7248\u8BF7\u5148\u521B\u5EFA\u53D8\u66F4\u96C6")}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else if(e==="check")try{let s=Gi(o),i=r?[...s.issues,...$g()]:s.issues,l=i.filter(c=>c.level==="error").length;console.log("\u4EFB\u52A1\u6821\u9A8C\uFF1A"),console.log(`\u3010error\u3011${l} \u9879`),no(i.filter(c=>c.level==="error")),r?(console.log(`\u3010warn\u3011${i.length-l} \u9879`),no(i.filter(c=>c.level==="warn"))):console.log("\uFF08\u8F6F\u544A\u8B66\u5DF2\u5173\u95ED\uFF0Cwarn \u4E0D\u5C55\u793A\uFF09"),l>0&&(process.exitCode=1)}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else if(e==="stats"){if(!Re(t.format))return;let s=t.view??"all";if(!["active","archived","all"].includes(s)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u89C6\u56FE\u300C${s}\u300D\uFF0C\u4EC5\u652F\u6301 active / archived / all`),process.exitCode=1;return}if(t.date&&(t.since||t.until)){console.error("\u26A0\uFE0F --date \u4E0D\u80FD\u4E0E --since / --until \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}try{let i={};if(i.owner=mt(t.owner),i.scope=mt(t.scope),!Jc(i,t.status))return;t.date&&(i.date=t.date),t.since&&(i.since=t.since),t.until&&(i.until=t.until);let l=$i(o,i,s);if(t.format==="json")Pe(l);else for(let c of xi(l))console.log(c)}catch(i){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${i.message}`),process.exitCode=1}}else if(e==="normalize")try{if(t.fix&&t.check)console.error("\u26A0\uFE0F --fix \u4E0E --check \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528"),process.exitCode=1;else if(t.fix){let s=Ii(o);console.log(`\u5DF2\u4FEE\u590D ${s.fixed} \u5904`),s.issues.length>0&&(console.log("\u4EE5\u4E0B\u95EE\u9898\u9700\u4EBA\u5DE5\u786E\u8BA4\uFF1A"),no(s.issues))}else{let s=mr(o);console.log(`\u5F52\u6863\u5F52\u4E00\u5316\u68C0\u67E5\uFF1A\u53D1\u73B0 ${s.length} \u5904\u95EE\u9898`),no(s)}}catch(s){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${s.message}`),process.exitCode=1}else{let s=t.view??"active";if(!["active","archived","all"].includes(s)){console.error(`\u26A0\uFE0F \u975E\u6CD5\u89C6\u56FE\u300C${s}\u300D\uFF0C\u4EC5\u652F\u6301 active / archived / all`),process.exitCode=1;return}if(t.date&&(t.since||t.until)){console.error("\u26A0\uFE0F --date \u4E0D\u80FD\u4E0E --since / --until \u540C\u65F6\u4F7F\u7528"),process.exitCode=1;return}if(t.export&&t.format){console.error("\u26A0\uFE0F --export \u4E0E --format \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528\uFF08--format json \u8F93\u51FA\u5230 stdout\uFF09"),process.exitCode=1;return}if(!Re(t.format))return;let i={};if(i.owner=mt(t.owner),i.scope=mt(t.scope),!Jc(i,t.status))return;t.date&&(i.date=t.date),t.since&&(i.since=t.since),t.until&&(i.until=t.until);try{let{rows:l,summary:c}=$n(o,s,i);if(t.export)await pi(t.export,l,c,n),console.log(`\u5DF2\u5BFC\u51FA ${l.length} \u4E2A\u4EFB\u52A1 \u2192 ${t.export}`);else if(t.format==="json")console.log(xo(l,c,n));else{ui(l,c,s,i,n);let a=!!(t.owner||t.scope||t.status||t.date||t.since||t.until);!t.view&&a&&l.length===0&&console.log("\uFF08\u63D0\u793A\uFF1A\u8FC7\u6EE4\u9ED8\u8BA4\u4F5C\u7528\u4E8E\u5F85\u5B8C\u6210\u89C6\u56FE\uFF0C\u67E5\u770B\u5F52\u6863\u8BF7\u52A0 --view archived \u6216 --view all\uFF09")}}catch(l){console.error(`\u26A0\uFE0F \u64CD\u4F5C\u5931\u8D25\uFF1A${l.message}`),process.exitCode=1}}});var qg=Ae.command("changelog").description("\u591A\u8BED\u8A00 CHANGELOG\uFF08\u5C01\u88C5 changesets\uFF09").option("--lang <lang>","\u8BED\u8A00 zh/en",at).option("--redact","\u5F00\u542F\u9690\u79C1\u8131\u654F").option("--no-redact","\u5173\u95ED\u9690\u79C1\u8131\u654F").option("--warn","\u5F00\u542F\u8F6F\u544A\u8B66").option("--no-warn","\u5173\u95ED\u8F6F\u544A\u8B66").option("--history","\u8FFD\u6EAF\u6539\u5199\u5386\u53F2\u7248\u672C\u5757\uFF08\u9ED8\u8BA4\u4FDD\u7559\uFF09").option("--check","changelog doc\uFF1A\u53EA\u6BD4\u5BF9\u955C\u50CF\u9875\u4E0E\u6839 CHANGELOG\uFF0C\u4E0D\u5199\u6587\u4EF6").option("--from <path>","changelog doc\uFF1A\u6839 CHANGELOG \u8DEF\u5F84").option("--to <path>","changelog doc\uFF1A\u955C\u50CF\u9875\u8DEF\u5F84").option("--title <text>","changelog doc\uFF1A\u955C\u50CF\u9875\u6807\u9898").option("--outline <value>","changelog doc\uFF1Afrontmatter outline").option("--no-frontmatter","changelog doc\uFF1A\u4E0D\u5199 frontmatter").option("--no-sync-doc","changelog version\uFF1A\u4E0D\u81EA\u52A8\u540C\u6B65\u955C\u50CF\u9875").argument("[command...]","\u5B50\u547D\u4EE4\u53CA\u53C2\u6570\uFF08\u900F\u4F20\u7ED9 changesets\uFF09").passThroughOptions(!0).action((e,t)=>{if(Kc(e)){qg.help();return}let n=So(t.redact),r=yn(t.warn,"FX_CHECK_WARN",ra(),!0),o=t.history===!0,s=oa(),{lang:i,unknown:l}=Vi(s,t.lang,at);l&&console.warn(`\u26A0\uFE0F \u672A\u77E5\u8BED\u8A00\u300C${l}\u300D\uFF0C\u5DF2\u56DE\u843D ${at}`);let c=l?at:t.lang,a=e[0];if(a==="version")r&&vg()&&console.warn("\u26A0\uFE0F \u5B58\u5728\u672A\u5F52\u6863\u7684 active \u4EFB\u52A1\uFF0C\u5EFA\u8BAE\u5148\u5F52\u6863\u518D\u53D1\u7248"),Rs(["version"]),r&&zc(Object.values(s)),Go(".",Uo(),i,n,o),t.syncDoc!==!1&&cl(c);else if(a==="doc")try{let f=zo({from:t.from,to:t.to,title:t.title,outline:t.outline,frontmatter:t.frontmatter===!1?!1:void 0,lang:c});if(t.check){let g=ll(f);if(!g.ok){console.error(`\u26A0\uFE0F CHANGELOG \u955C\u50CF\u4E0D\u4E00\u81F4\uFF1A\u7B2C ${g.line} \u884C`),g.expected!==void 0&&console.error(` \u671F\u671B\uFF1A${g.expected}`),g.actual!==void 0&&console.error(` \u5B9E\u9645\uFF1A${g.actual}`),process.exitCode=1;return}console.log(`CHANGELOG \u955C\u50CF\u4E00\u81F4\uFF1A${f.target}`);return}let p=Wo(f);console.log(p.changed?`CHANGELOG \u955C\u50CF\u5DF2\u66F4\u65B0\uFF1A${f.target}`:`CHANGELOG \u955C\u50CF\u65E0\u53D8\u5316\uFF1A${f.target}`)}catch(f){console.error(`\u26A0\uFE0F ${f.message}`),process.exitCode=1}else a==="format"?(r&&zc(Object.values(s)),Go(".",Uo(),i,n,o)):Rs(a?e:[])});$s(Ae);Ae.helpCommand("help [command]","\u663E\u793A\u5E2E\u52A9");yg();async function Xg(){if(process.argv[2]===vs){await Gc();return}let e=nc();e>0&&console.error(`\u5DF2\u81EA\u52A8\u4FEE\u590D ${e} \u4E2A\u6280\u80FD\u94FE\u63A5\uFF08\u5982\u4E0D\u9700\u8981\u53EF\u914D\u7F6E .toolkitrc.json \u7684 skills.autoLink: false \u5173\u95ED\uFF09`);try{await Ae.parseAsync(process.argv)}catch(t){if(!(t instanceof ro.CommanderError))throw t;let n=Vc(t);n?console.error(n):process.stderr.write(ia),process.exitCode=t.exitCode}finally{Uc(na)}}var Zg=Xg();0&&(module.exports={cliReady});