kokoro-aegis 0.1.0 → 0.1.1

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.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -15,6 +15,6 @@
15
15
  `);for(let r=0;r<e.length;r+=1){let s=/^\s*\/\/\s*([\w@./\\-]+\.(?:[cm]?[jt]sx?))\s*$/.exec(e[r]);s&&n.push({\u884C:r+1,\u9053:s[1].replace(/\\/g,"/")})}return n}function ft(t,n){let e=null;for(let r of t)if(r.\u884C<=n)e=r.\u9053;else break;return e}function gt(t){return t?/(^|\/)(node_modules|vendor|bower_components|third[_-]?party)\//i.test(t)||/\.min\.[cm]?js$/i.test(t):!1}function pt(t){let n=/(?:^|\/)node_modules\/((?:@[^/]+\/)?[^/]+)/.exec(t);return n?n[1]:t.split("/").pop()??t}var $n=/(localStorage|sessionStorage|IndexedDB|Cookie|Cache|sted:|\w+\.(?:js|css|html|json)\b|\?v=|〈番号〉|鍵にする|別々の鍵|同じ鍵|保存先|読み込む先|目印が|版の目印|キャッシュ|エンコード|API|関数|変数|引数|戻り値|ミリ秒|Ctrl \+)/,xn=/(実測|測った|測ってから|\d+\s*(?:ms|MB|KB|GB|px)\b|上限は|容量|何ミリ秒|速さ|遅れ|負荷)/,Z=/(何件|何文字|何字|何曲|何行|何枚|何個|ふだん[^。]*くらい|扱う量|規模)/,mt=/(確認ずみ|確認済み|確認済|確かめたとして|確認できたとして|としてよい|としておく)/,yn=/(依頼した人が(やる|確かめ|実機で|実際に|押して|試す)|依頼した人がやる分|あなたが(確かめ|見る|試す|やる))/;function X(t){return yn.test(t)?"\u3042\u306A\u305F":$n.test(t)||xn.test(t)||Z.test(t)||mt.test(t)?"\u4F5C\u3063\u305F\u5074":"\u3042\u306A\u305F"}function bt(t){let n=xt(t);return mt.test(n)&&!$t.test(n)}var wn=/(実測|測った|測ってから|試したところ|試し、|試して|確かめ|確認した|確認ずみ|確認済|実施した|通して|合格|調べたところ|再現|出た|だった|通った|現れた)/,$t=/(\d|残骸|無事|崩れ|はみ出|落ちな|戻らず|存在しなかった|残ること|消せるように|失敗として|エラーなし)/,xt=t=>t.replace(/\d{4}[-/]\d{1,2}[-/]\d{1,2}/g,"");function Sn(t){let n=xt(t);return wn.test(n)&&$t.test(n)}var yt=/(保存|セーブ|同期|削除|消え|消す|ゴミ箱|復元|戻せ|戻す|ログイン|認証|鍵|パスワード|課金|支払|上書き|失わ|衝突|ぶつか|オフライン|通信|端末|重複)/,kn=/(検査|たしかめ|動作確認|確認用|ビルド|公開版|デプロイ|置き場所|作る場所|作る順番|1 枚の HTML|1 枚 HTML|圧縮|ログの中|仕掛け|git |git で|リポジトリ|コミット|\.git|gitattributes)/,An=/(置き場所|置く場所|作る場所|作る順番|フォルダに置く|リポジトリ|コミット|gitattributes|\.git\b|git で記録|git を)/,vn=/(見た目|色|余白|フォント|アイコン|文言|案内文|言い回し|表示の仕方|並べ方|レイアウト)/,En=/第\s*\d+\s*段階[^::]{0,24}(の結果\s*[―ー-]|に[、,]?\s*作るものが無い)/,Tn=/(確認が取れた|確認できた|確かめられた|も?通った|すべて通過した|で同期できた|同士で同期できた)$/;function Ln(t){if(En.test(t))return!0;let n=t.split(/[::]/)[0]?.trim()??"";return Tn.test(n)}function Mn(t){let n=t.\u8AAC\u660E.match(/\*\*やってみる:\*\*\s*(.+)$/);if(n)return`\u3084\u3063\u3066\u307F\u308B: ${n[1].replace(/\*\*/g,"").trim()}`;if(t.\u8981\u3089\u306A\u3044)return t.\u8981\u3089\u306A\u3044==="\u4E0B\u306E\u884C\u306E\u898B\u51FA\u3057"?"\u898B\u51FA\u3057":t.\u8981\u3089\u306A\u3044==="\u540C\u3058\u3053\u3068\u304C\u4E0A\u306B\u3042\u308B"?"\u8A00\u3044\u76F4\u3057":t.\u8981\u3089\u306A\u3044;let e=U(t.\u6750\u6599);return e?`\u304B\u308F\u308A\u306B ${e.\u8A00\u3044\u63DB\u3048.replace(/\*\*/g,"")}`:t.\u72B6\u614B==="\u9055\u3046"?"\u66F8\u3044\u3066\u3042\u308B\u3053\u3068\u3068\u3001\u9055\u3044\u307E\u3057\u305F":t.\u72B6\u614B==="\u78BA\u304B\u3081\u305F"?"\u52D5\u304B\u3057\u3066\u78BA\u304B\u3081\u307E\u3057\u305F":t.\u8A18\u9332?"\u4F5C\u3063\u305F\u5074\u306E\u8A18\u9332\u3067\u3001\u5370\u304C\u5165\u3063\u3066\u3044\u307E\u3059":t.\u62C5\u5F53==="\u4F5C\u3063\u305F\u5074"?bt(t.\u6750\u6599)?"\u300C\u78BA\u304B\u3081\u305F\u300D\u3068\u3042\u308A\u307E\u3059\u304C\u3001\u7D50\u679C\u304C\u8CBC\u3089\u308C\u3066\u3044\u307E\u305B\u3093":Z.test(t.\u6750\u6599)?"\u91CF\u306E\u8A71":"":""}var wt={\u78BA\u8A8D\u306E\u8A18\u9332:"\u2605\u3053\u308C\u306F**\u78BA\u8A8D\u306E\u8A18\u9332**\u3067\u3059\u3002\u65B0\u3057\u3044\u6C7A\u3081\u3054\u3068\u3092\u542B\u307E\u306A\u3044\u306E\u3067\u3001\u78BA\u304B\u3081\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093",\u9032\u307F\u5177\u5408\u306E\u5831\u544A:"\u2605\u3053\u308C\u306F**\u4F5C\u3063\u305F\u5074\u306E\u9032\u307F\u5177\u5408\u306E\u5831\u544A**\u3067\u3059\u3002\u65B0\u3057\u3044\u7D04\u675F\u306F\u5165\u3063\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u78BA\u304B\u3081\u308B\u5148\u304C\u3042\u308A\u307E\u305B\u3093",\u4F5C\u308B\u3068\u304D\u306E\u53D6\u308A\u6C7A\u3081:"\u2605\u3053\u308C\u306F**\u4F5C\u308B\u3068\u304D\u306E\u53D6\u308A\u6C7A\u3081**\u3067\u3059\uFF08\u7F6E\u304D\u5834\u6240\u30FB\u8A18\u9332\u306E\u6B8B\u3057\u65B9\u306A\u3069\uFF09\u3002\u30A2\u30D7\u30EA\u306E\u52D5\u304D\u3067\u306F\u306A\u3044\u306E\u3067\u3001\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u3082\u306E\u304C\u3042\u308A\u307E\u305B\u3093",\u4E0B\u306E\u884C\u306E\u898B\u51FA\u3057:"\u2605\u3053\u308C\u306F**\u4E0B\u306B\u4E26\u3093\u3067\u3044\u308B\u884C\u306E\u898B\u51FA\u3057**\u3067\u3059\u3002\u78BA\u304B\u3081\u308B\u306E\u306F\u3001\u3053\u306E\u4E0B\u306E 1 \u884C\u305A\u3064\u306E\u307B\u3046\u3067\u3059",\u540C\u3058\u3053\u3068\u304C\u4E0A\u306B\u3042\u308B:"\u2605\u3053\u308C\u306F**\u4E0A\u3067\u3059\u3067\u306B\u6C7A\u3081\u305F\u3053\u3068\u3092\u3001\u4F5C\u3063\u305F\u5074\u304C\u3082\u3046\u4E00\u5EA6\u66F8\u3044\u305F\u3082\u306E**\u3067\u3059\u3002\u4E0A\u306E\u884C\u3092\u78BA\u304B\u3081\u308C\u3070\u6E08\u307F\u307E\u3059"};function In(t,n,e,r,s=null){return s?"\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044":t==="\u9055\u3046"?"\u98DF\u3044\u9055\u3044":t==="\u307E\u3060\u6C7A\u3081\u3066\u3044\u306A\u3044"?"\u6C7A\u3081\u3066\u3044\u306A\u3044":t==="\u78BA\u304B\u3081\u305F"?"\u6E08\u3093\u3067\u3044\u308B":U(n)?"\u8AB0\u3082\u78BA\u304B\u3081\u3089\u308C\u306A\u3044":r==="\u4F5C\u3063\u305F\u5074"?"\u4F5C\u3063\u305F\u5074\u304C\u78BA\u304B\u3081\u308B":e?"\u3042\u3068\u306E\u6BB5\u968E\uFF08\u5468\u7E01\uFF09":yt.test(n)?"\u5931\u3046\u3068\u623B\u3089\u306A\u3044":kn.test(n)?"\u4F5C\u308A\u65B9\u306E\u53D6\u308A\u6C7A\u3081":vn.test(n)?"\u898B\u305F\u76EE\u3068\u8A00\u8449":"\u3075\u3064\u3046"}var P=["\u98DF\u3044\u9055\u3044","\u6C7A\u3081\u3066\u3044\u306A\u3044","\u5931\u3046\u3068\u623B\u3089\u306A\u3044","\u3075\u3064\u3046","\u4F5C\u308A\u65B9\u306E\u53D6\u308A\u6C7A\u3081","\u898B\u305F\u76EE\u3068\u8A00\u8449","\u3042\u3068\u306E\u6BB5\u968E\uFF08\u5468\u7E01\uFF09","\u4F5C\u3063\u305F\u5074\u304C\u78BA\u304B\u3081\u308B","\u8AB0\u3082\u78BA\u304B\u3081\u3089\u308C\u306A\u3044","\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044","\u3042\u3068\u3067\u53D6\u308A\u6D88\u3055\u308C\u305F","\u6E08\u3093\u3067\u3044\u308B"];function On(t){let n=t.replace(/\s+/g,""),e=5381;for(let r=0;r<n.length;r+=1)e=(e*33^n.charCodeAt(r))>>>0;return`r${e.toString(36)}`}function Nn(t){let n=t.replace(/^\s*\d{4}[-/]\d{1,2}[-/]\d{1,2}\s*/,"").replace(/[((][^))]*(やる分|がやる|担当)[^))]*[))]\s*$/,"").replace(/\*\*/g,"").trim();return n.length>=3&&n.length<=40?n:void 0}function St(t){return t.replace(/^\s*\d{4}[-/]\d{1,2}[-/]\d{1,2}\s*/,"").trim()||t}var M=t=>t.replace(/^[-\s]+/,"").replace(/[*\s]/g,"");function kt(t,n,e={},r){if(!t)return[];let s=[],c=new Set,f=new Set((t.\u5468\u7E01\u306E\u6C7A\u3081\u3054\u3068??[]).map(u=>M(u))),i=(u,p,y,v,A,k="",h,O,D)=>{let L=M(u);if(!L||c.has(L))return;c.add(L);let _=On(u),g=e[_]??A??(y==="\u78BA\u304B\u3081\u305F"||y==="\u9055\u3046"?"\u3042\u306A\u305F":X(u+" "+k)),$=g==="\u4F5C\u3063\u305F\u5074"?v.replace(/\*\*実際にやってみて、そのとおりか見てください\*\*|\*\*書いたとおりになっているか、自分で見てください\*\*/g,"\u2605**\u3042\u306A\u305F\u306E\u76EE\u3067\u306F\u78BA\u304B\u3081\u3088\u3046\u304C\u3042\u308A\u307E\u305B\u3093\u3002**\u4F5C\u3063\u305F\u5074\u306B\u3001**\u78BA\u304B\u3081\u305F\u7D50\u679C\u3092\u305D\u306E\u307E\u307E\u8CBC\u3089\u305B\u3066\u304F\u3060\u3055\u3044**"):v,T=Bn(u+" "+k),x=vt(u)??O??(Gn(u,k)?"\u78BA\u8A8D\u306E\u8A18\u9332":Ln(u)?"\u9032\u307F\u5177\u5408\u306E\u5831\u544A":null),w=h??(!!x||y==="\u3042\u306A\u305F\u304C\u898B\u308B"&&!T&&Sn(u+" "+k)),S=x?wt[x]:h!==void 0?v:w?"\u2605**\u4F5C\u3063\u305F\u5074\u304C\u6E2C\u3063\u305F\u7D50\u679C\u304C\u3001\u4ED5\u69D8\u306E\u7D19\u306B\u66F8\u3044\u3066\u3042\u308A\u307E\u3059\u3002**\u305D\u306E\u3076\u3093\u3001\u5370\u3092\u5148\u306B\u5165\u308C\u3066\u3042\u308A\u307E\u3059\u3002**\u4E2D\u8EAB\u3092\u8AAD\u3093\u3067\u3001\u7D0D\u5F97\u3067\u304D\u306A\u3051\u308C\u3070\u5916\u3057\u3066\u304F\u3060\u3055\u3044**"+(k?`\uFF08\u66F8\u3044\u3066\u3042\u308B\u3053\u3068: ${k}\uFF09`:""):$;s.push({id:_,\u984C:u.trim(),\u7BC0:p,\u72B6\u614B:y,\u62C5\u5F53:g,\u8A18\u9332\u3042\u308A:w,\u91CD\u3055:In(y,u,f.has(M(u)),g,x),\u8AAC\u660E:S,\u4E00\u8A00:Mn({\u72B6\u614B:y,\u62C5\u5F53:g,\u8981\u3089\u306A\u3044:x,\u8A18\u9332:w,\u6750\u6599:`${u} ${k}`,\u8AAC\u660E:S}),\u6587\u8108:D})},o=M((t.\u4EF6\u6570\u306E\u5143??"").replace(/^(.*?)/,"")),l=M(t.\u59CB\u3081\u65B9??""),a=M(t.\u7D42\u308F\u308A\u65B9??""),b=(u,p="",y="",v=[])=>{let A=p?`\uFF08${p}\uFF09`:"",k=`${u} ${p} ${y}`,h=U(k);if(h)return`\u2605\u3053\u308C\u306F**${h.\u7A2E\u985E}**\u3067\u3059\u3002${h.\u306A\u305C\u7121\u7406\u304B}\u3002**\u3042\u306A\u305F\u306B\u3082\u3001\u4F5C\u3063\u305F\u5074\u306B\u3082\u78BA\u304B\u3081\u3089\u308C\u307E\u305B\u3093\u3002**\u2605\u304B\u308F\u308A\u306B\u3001\u3053\u3046\u66F8\u304D\u76F4\u305B\u3070\u78BA\u304B\u3081\u3089\u308C\u307E\u3059 \u2015\u2015 ${h.\u8A00\u3044\u63DB\u3048}`;if(bt(k))return`\u2605\u3053\u306E\u884C\u306B\u306F\u300C\u78BA\u304B\u3081\u305F\u300D\u3068\u66F8\u3044\u3066\u3042\u308A\u307E\u3059\u304C\u3001**\u7D50\u679C\u304C 1 \u3064\u3082\u8CBC\u3089\u308C\u3066\u3044\u307E\u305B\u3093**${A}\u3002**\u62BC\u3057\u305F\u7D50\u679C\u3084\u3001\u753B\u9762\u306B\u51FA\u305F\u6587\u5B57\u3092\u3001\u305D\u306E\u307E\u307E\u8CBC\u3089\u305B\u3066\u304F\u3060\u3055\u3044\u3002**\u5B9F\u5730\u3067\u3001\u62BC\u3057\u3066\u3044\u306A\u3044\u30DC\u30BF\u30F3\u3092\u300C\u52D5\u304D\u307E\u3059\u300D\u3068\u5831\u544A\u3055\u308C\u305F\u3053\u3068\u304C\u3042\u308A\u307E\u3059`;if(Z.test(k))return`\u2605\u3053\u308C\u306F**\u91CF**\u306E\u8A71\u3067\u3059${A}\u3002**\u3042\u306A\u305F\u304C\u624B\u3067\u78BA\u304B\u3081\u308B\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002**\u4F5C\u3063\u305F\u5074\u306B\u3001**\u305D\u306E\u91CF\u3067\u52D5\u304B\u3057\u3066\u3001\u7D50\u679C\u3092\u305D\u306E\u307E\u307E\u8CBC\u3089\u305B\u3066\u304F\u3060\u3055\u3044**\uFF08\u898B\u5F53\u3067\u7B54\u3048\u305F\u6570\u304C 100 \u500D\u3061\u304C\u3063\u3066\u3044\u305F\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002**\u6570\u3048\u3089\u308C\u308B\u306A\u3089\u6570\u3048\u3055\u305B\u3066\u304F\u3060\u3055\u3044**\uFF09`;if(X(k)==="\u4F5C\u3063\u305F\u5074")return`\u2605\u3053\u308C\u306F**\u4E2D\u306E\u4F5C\u308A**\u304B**\u6E2C\u3063\u305F\u6570**\u306E\u8A71\u3067\u3059${A}\u3002**\u3042\u306A\u305F\u306E\u76EE\u3067\u306F\u78BA\u304B\u3081\u3088\u3046\u304C\u3042\u308A\u307E\u305B\u3093\u3002**\u4F5C\u3063\u305F\u5074\u306B\u3001**\u78BA\u304B\u3081\u305F\u7D50\u679C\u3092\u305D\u306E\u307E\u307E\u8CBC\u3089\u305B\u3066\u304F\u3060\u3055\u3044**\uFF08\u300C\u52D5\u304D\u307E\u3059\u300D\u3060\u3051\u3067\u306F\u8DB3\u308A\u307E\u305B\u3093\uFF09`;let O=Wn(u,v);return O?`**\u3084\u3063\u3066\u307F\u308B:** ${O}`:"\u5B9F\u969B\u306B\u89E6\u3063\u3066\u3001\u305D\u306E\u3068\u304A\u308A\u304B\u898B\u3066\u304F\u3060\u3055\u3044"},d=u=>{let p=M(u),y=(v,A)=>{let k=n?.[v]??"\u7D04\u675F\u304C\u7121\u3044";return k==="\u78BA\u304B\u3081\u305F"?{\u72B6\u614B:"\u78BA\u304B\u3081\u305F",\u8AAC\u660E:`\u52D5\u304B\u3057\u3066\u78BA\u304B\u3081\u307E\u3057\u305F\uFF08${A}\uFF09`}:k==="\u9055\u3046"?{\u72B6\u614B:"\u9055\u3046",\u8AAC\u660E:`\u52D5\u304B\u3057\u305F\u3089\u3001\u66F8\u3044\u3066\u3042\u308B\u3053\u3068\u3068\u9055\u3044\u307E\u3057\u305F\uFF08${A}\uFF09\u3002\u4E0A\u306E\u6307\u6458\u3092\u898B\u3066\u304F\u3060\u3055\u3044`}:v==="\u91CF"?{\u72B6\u614B:"\u3042\u306A\u305F\u304C\u898B\u308B",\u62C5\u5F53:"\u4F5C\u3063\u305F\u5074",\u8AAC\u660E:`Aegis \u3067\u306F\u3001\u3053\u306E\u753B\u9762\u3067\u91CF\u3092\u5897\u3084\u3059\u624B\u304C\u304B\u308A\u304C\u898B\u3064\u304B\u3089\u305A\u8A66\u305B\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${A}\uFF09\u3002\u2605**\u91CF\u306F\u3001\u3042\u306A\u305F\u304C\u624B\u3067\u78BA\u304B\u3081\u308B\u3082\u306E\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002**\u4F5C\u3063\u305F\u5074\u306B\u3001**\u305D\u306E\u6570\u3067\u52D5\u304B\u3057\u3066\u3001\u7D50\u679C\u3092\u305D\u306E\u307E\u307E\u8CBC\u3089\u305B\u3066\u304F\u3060\u3055\u3044**`}:{\u72B6\u614B:"\u3042\u306A\u305F\u304C\u898B\u308B",\u8AAC\u660E:`Aegis \u3067\u306F\u78BA\u304B\u3081\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\uFF08${A}\uFF09\u3002**\u5B9F\u969B\u306B\u3084\u3063\u3066\u307F\u3066\u3001\u305D\u306E\u3068\u304A\u308A\u304B\u898B\u3066\u304F\u3060\u3055\u3044**`}};return o&&p.includes(o.slice(0,12))?y("\u91CF","\u6271\u3046\u4EF6\u6570"):l&&p.includes(l.slice(0,12))?y("\u59CB\u3081\u65B9","\u59CB\u3081\u65B9"):a&&p.includes(a.slice(0,12))?y("\u7D42\u308F\u308A\u65B9","\u7D42\u308F\u3063\u305F\u3089\u3069\u3046\u306A\u308B\u304B"):null},m=t.\u52D5\u4F5C\u78BA\u8A8D??[];if(m.length)for(let u of m){u.\u5468\u7E01&&f.add(M(u.\u984C));let p=u.\u3082\u3068?d(u.\u3082\u3068):null;i(u.\u984C,"\u6C7A\u307E\u3063\u3066\u3044\u308B\u3053\u3068",p?.\u72B6\u614B??"\u3042\u306A\u305F\u304C\u898B\u308B",p?.\u8AAC\u660E??`**\u3084\u3063\u3066\u307F\u308B:** ${u.\u3084\u3063\u3066\u307F\u308B}${u.\u3082\u3068?`\u3000\uFF08\u3082\u3068\u306E\u6C7A\u3081\u3054\u3068: ${u.\u3082\u3068.replace(/\*\*/g,"")}\uFF09`:""}`,p?.\u62C5\u5F53,u.\u3082\u3068,u.\u6E08?!0:void 0)}else for(let u of t.\u6C7A\u307E\u3063\u3066\u3044\u308B\u3053\u3068){let p=d(u);i(u,"\u6C7A\u307E\u3063\u3066\u3044\u308B\u3053\u3068",p?.\u72B6\u614B??"\u3042\u306A\u305F\u304C\u898B\u308B",p?.\u8AAC\u660E??b(u),p?.\u62C5\u5F53)}for(let u of t.\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068){let p=u.\u6C7A\u3081\u305F\u3053\u3068?`${u.\u898B\u51FA\u3057}: ${u.\u6C7A\u3081\u305F\u3053\u3068}`:u.\u898B\u51FA\u3057,y=[u.\u306A\u305C,...u.\u88DC\u8DB3??[]].filter(Boolean).join(" "),v=d(u.\u6C7A\u3081\u305F\u3053\u3068),A=(u.\u9805\u76EE?.length??0)>0,k=!A&&!v&&An.test(p)&&!yt.test(p);i(p,"\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068",v?.\u72B6\u614B??"\u3042\u306A\u305F\u304C\u898B\u308B",v?.\u8AAC\u660E??b(p,u.\u306A\u305C,y,u.\u88DC\u8DB3??[]),v?.\u62C5\u5F53,y,void 0,A?"\u4E0B\u306E\u884C\u306E\u898B\u51FA\u3057":k?"\u4F5C\u308B\u3068\u304D\u306E\u53D6\u308A\u6C7A\u3081":void 0)}for(let u of t.\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068)for(let p of u.\u9805\u76EE??[]){let y=p.\u3069\u3046\u3084\u3063\u3066?`**\u3084\u3063\u3066\u307F\u308B:** ${p.\u3069\u3046\u3084\u3063\u3066}`:"\u5B9F\u969B\u306B\u89E6\u3063\u3066\u3001\u305D\u306E\u3068\u304A\u308A\u304B\u898B\u3066\u304F\u3060\u3055\u3044";i(p.\u984C,"\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068",(p.\u6E08,"\u3042\u306A\u305F\u304C\u898B\u308B"),p.\u6E08?`\u2605\u7D19\u306B\u300C\u6E08\u307F\u300D\u3068\u66F8\u3044\u3066\u3042\u308A\u307E\u3059\u3002${y}`:y,X(`${u.\u898B\u51FA\u3057} ${u.\u6C7A\u3081\u305F\u3053\u3068}`),`${u.\u898B\u51FA\u3057} ${p.\u3069\u3046\u3084\u3063\u3066}`,p.\u6E08,void 0,Nn(u.\u898B\u51FA\u3057))}for(let u of r??[]){let p=`--${u.\u540D\u524D}${u.\u610F\u5473?`\uFF08${u.\u610F\u5473}\uFF09`:""}`,y=u.\u7D50\u679C==="\u540C\u3058"||u.\u7D50\u679C==="\u8FD1\u3044";i(`\u898B\u305F\u76EE\u306E\u5024 ${p}: ${u.\u4ED5\u69D8\u306E\u5024}`,"\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068",y?"\u78BA\u304B\u3081\u305F":"\u9055\u3046",u.\u7D50\u679C==="\u540C\u3058"?`\u30B3\u30FC\u30C9\u306E\u5024\uFF08${u.\u30B3\u30FC\u30C9\u306E\u5024}\uFF09\u3068\u7A81\u304D\u5408\u308F\u305B\u307E\u3057\u305F\u3002\u305D\u306E\u3068\u304A\u308A\u3067\u3059\uFF08AI \u306A\u3057\uFF09`:u.\u7D50\u679C==="\u8FD1\u3044"?`\u30B3\u30FC\u30C9\u306E\u5024\uFF08${u.\u30B3\u30FC\u30C9\u306E\u5024}\uFF09\u3068\u7A81\u304D\u5408\u308F\u305B\u307E\u3057\u305F\u3002\u307B\u307C\u305D\u306E\u3068\u304A\u308A\u3067\u3059\uFF08\u8272\u306E\u5DEE ${u.\u5DEE}\u30FB\u898B\u305F\u76EE\u3067\u306F\u5206\u304B\u3089\u306A\u3044\u7A0B\u5EA6\uFF09`:u.\u7D50\u679C==="\u9055\u3046"?`\u30B3\u30FC\u30C9\u3067\u306F ${u.\u30B3\u30FC\u30C9\u306E\u5024} \u3067\u3057\u305F${u.\u5DEE!==void 0?`\uFF08\u8272\u306E\u5DEE ${u.\u5DEE}\uFF09`:""}\u3002\u30B3\u30FC\u30C9\u3092\u4ED5\u69D8\u66F8\u306E\u5024\u306B\u5408\u308F\u305B\u308B\u304B\u3001\u4ED5\u69D8\u66F8\u3092\u6C7A\u3081\u76F4\u3057\u3066\u304F\u3060\u3055\u3044`:"\u30B3\u30FC\u30C9\u306E STYLE \u306E\u7F6E\u304D\u5834\u6240\uFF08/* ==== STYLE START ==== */ \u301C END\uFF09\u306B\u3001\u3053\u306E\u540D\u524D\u304C\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002\u4F5C\u3063\u305F\u5074\u306B\u3001\u4ED5\u69D8\u66F8\u306E\u540D\u524D\u3068\u5024\u3067\u7F6E\u304B\u305B\u3066\u304F\u3060\u3055\u3044","\u3042\u306A\u305F")}return Fn(Dn(Rn(s,t.\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068)),t.\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068).map((u,p)=>({x:u,i:p})).sort((u,p)=>{let y=P.indexOf(u.x.\u91CD\u3055)-P.indexOf(p.x.\u91CD\u3055);return y!==0?y:u.i-p.i}).map(u=>u.x)}function Rn(t,n){let e=new Set;for(let r=0;r<n.length;r+=1){let s=n[r].\u898B\u51FA\u3057.trim();if(!(s.length<8)){for(let c=r+1;c<n.length;c+=1)if([n[c].\u898B\u51FA\u3057,n[c].\u6C7A\u3081\u305F\u3053\u3068,n[c].\u306A\u305C,...n[c].\u88DC\u8DB3??[]].join(" ").includes(s)){e.add(M(`${s}: ${n[r].\u6C7A\u3081\u305F\u3053\u3068}`));break}}}return e.size===0?t:t.map(r=>e.has(M(r.\u984C))?{...r,\u91CD\u3055:"\u3042\u3068\u3067\u53D6\u308A\u6D88\u3055\u308C\u305F",\u8A18\u9332\u3042\u308A:!0,\u8AAC\u660E:"\u2605\u3053\u306E\u6C7A\u3081\u3054\u3068\u306F\u3001**\u3042\u3068\u306E\u8FFD\u8A18\u3067\u7F6E\u304D\u63DB\u3048\u3089\u308C\u3066\u3044\u307E\u3059\u3002**\u78BA\u304B\u3081\u308B\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\uFF08\u65B0\u3057\u3044\u307B\u3046\u306E\u884C\u3092\u898B\u3066\u304F\u3060\u3055\u3044\uFF09",\u4E00\u8A00:"\u3042\u3068\u3067\u7F6E\u304D\u63DB\u3048\u3089\u308C\u307E\u3057\u305F"}:r).map((r,s)=>({x:r,i:s})).sort((r,s)=>{let c=P.indexOf(r.x.\u91CD\u3055)-P.indexOf(s.x.\u91CD\u3055);return c!==0?c:r.i-s.i}).map(r=>r.x)}var jn=/[「『]([^」』]{8,60})[」』]\s*の(再)?確認です/g;function Fn(t,n){let e=[];for(let r of n){if(vt(r.\u898B\u51FA\u3057)!=="\u78BA\u8A8D\u306E\u8A18\u9332")continue;let s=r.\u898B\u51FA\u3057.replace(/^[^::]*[::]\s*/,"").trim();F(s).length>=8&&e.push(F(s));let c=[r.\u6C7A\u3081\u305F\u3053\u3068,r.\u306A\u305C,...r.\u88DC\u8DB3??[]].join(" ");for(let f of c.matchAll(jn))e.push(F(f[1]))}return e.length===0?t:t.map(r=>{if(r.\u91CD\u3055==="\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044"||r.\u72B6\u614B==="\u78BA\u304B\u3081\u305F"||r.\u72B6\u614B==="\u9055\u3046"||r.\u8A18\u9332\u3042\u308A)return r;let s=F(r.\u984C);return e.some(c=>s.includes(c))?{...r,\u8A18\u9332\u3042\u308A:!0,\u4E00\u8A00:"\u4E0B\u306B\u3001\u4F5C\u3063\u305F\u5074\u306E\u78BA\u8A8D\u8A18\u9332\u304C\u3042\u308A\u307E\u3059",\u8AAC\u660E:"\u2605**\u3053\u306E\u884C\u306F\u3001\u4E0B\u306E\u300C\u78BA\u8A8D\u8A18\u9332\u300D\u3067\u78BA\u304B\u3081\u3089\u308C\u3066\u3044\u307E\u3059\u3002**\u305D\u306E\u3076\u3093\u5370\u3092\u5148\u306B\u5165\u308C\u3066\u3042\u308A\u307E\u3059\u3002**\u4E2D\u8EAB\u3092\u8AAD\u3093\u3067\u3001\u7D0D\u5F97\u3067\u304D\u306A\u3051\u308C\u3070\u5916\u3057\u3066\u304F\u3060\u3055\u3044**"}:r})}var _n=.5,F=t=>t.replace(/\d{4}[-/]\d{1,2}[-/]\d{1,2}/g,"").replace(/[*`()()「」、。・\s―::-]/g,"");function ht(t){let n=new Set;for(let e=0;e+1<t.length;e+=1)n.add(t.slice(e,e+2));return n}function Cn(t,n){let e=ht(F(t)),r=ht(F(n));if(e.size===0||r.size===0)return 0;let s=0;for(let c of e)r.has(c)&&(s+=1);return 2*s/(e.size+r.size)}function Dn(t){let n=t.filter(s=>s.\u7BC0==="\u6C7A\u307E\u3063\u3066\u3044\u308B\u3053\u3068"&&s.\u91CD\u3055!=="\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044"),e=t.filter(s=>s.\u7BC0==="\u4F5C\u308A\u306A\u304C\u3089\u6C7A\u3081\u305F\u3053\u3068"&&s.\u91CD\u3055!=="\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044");if(n.length===0||e.length===0)return t;let r=new Set;for(let s of n)for(let c of e){if(Cn(s.\u984C,c.\u984C)<_n)continue;let f=dt(c)&&!dt(s)?s:c;r.add(f.id)}return r.size===0?t:t.map(s=>r.has(s.id)?{...s,\u91CD\u3055:"\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044",\u8A18\u9332\u3042\u308A:!0,\u8AAC\u660E:wt.\u540C\u3058\u3053\u3068\u304C\u4E0A\u306B\u3042\u308B,\u4E00\u8A00:"\u8A00\u3044\u76F4\u3057"}:s)}var Yn=/(試せていない|確かめていない|確認していない|できなかった|届かない|試していない|未確認)/;function Bn(t){return Yn.test(t)}var Pn=[{\u5370:/(\d+\s*(日|週間|か月|ヶ月|年)(たっ|経っ|後|間|以上)|日数で|しばらくたつと|長期間|いつか)/,\u51FA\u3059:{\u7A2E\u985E:"\u6642\u9593\u304C\u305F\u305F\u306A\u3044\u3068\u5206\u304B\u3089\u306A\u3044\u3053\u3068",\u306A\u305C\u7121\u7406\u304B:"30 \u65E5\u5F85\u305F\u306A\u3044\u3068\u78BA\u304B\u3081\u3089\u308C\u307E\u305B\u3093\u3002**\u4EBA\u3082\u6A5F\u68B0\u3082\u5F85\u3066\u307E\u305B\u3093**",\u8A00\u3044\u63DB\u3048:"\u300C\u65E5\u4ED8\u3092\u9032\u3081\u305F\u72B6\u614B\u3067\u3001\u6D88\u3059\u51E6\u7406\u304C\u52D5\u304F\u3053\u3068\u300D\u306A\u3089\u3001\u3044\u307E\u78BA\u304B\u3081\u3089\u308C\u307E\u3059"}},{\u5370:/(同時に[^。]{0,14}(人|台|端末|編集|保存)|アクセスが集中|大量の(利用|ユーザ)|負荷が)/,\u51FA\u3059:{\u7A2E\u985E:"\u540C\u6642\u306B\u5927\u52E2\u304C\u4F7F\u3063\u305F\u3068\u304D\u306E\u3053\u3068",\u306A\u305C\u7121\u7406\u304B:"\u672C\u5F53\u306B\u540C\u6642\u306B\u8D77\u304D\u308B\u304B\u306F\u3001**\u305D\u306E\u5834\u306B\u5C45\u5408\u308F\u305B\u306A\u3044\u3068\u5206\u304B\u308A\u307E\u305B\u3093**",\u8A00\u3044\u63DB\u3048:"\u300C2 \u3064\u306E\u7AEF\u672B\u3067\u9806\u306B\u4FDD\u5B58\u3057\u3066\u3001\u3042\u3068\u306E\u307B\u3046\u304C\u6B8B\u308B\u3053\u3068\u300D\u306A\u3089\u78BA\u304B\u3081\u3089\u308C\u307E\u3059"}},{\u5370:/(他人に見られ|盗まれ|漏れ(ない|ません)|絶対に[^。]{0,20}(ない|ません)|決して[^。]{0,20}(ない|ません))/,\u51FA\u3059:{\u7A2E\u985E:"\u300C\u7D76\u5BFE\u306B\u8D77\u304D\u306A\u3044\u300D\u3053\u3068",\u306A\u305C\u7121\u7406\u304B:"\u2605**\u8D77\u304D\u306A\u3044\u3053\u3068\u306F\u3001\u8A3C\u660E\u3067\u304D\u307E\u305B\u3093\u3002**\u8A66\u3057\u3066\u898B\u3064\u304B\u3089\u306A\u304B\u3063\u305F\u3001\u3068\u3057\u304B\u8A00\u3048\u307E\u305B\u3093",\u8A00\u3044\u63DB\u3048:"\u300C\u9375\u304C\u7121\u3044\u3068\u304D\u306F\u3001\u958B\u304B\u305A\u306B\u7406\u7531\u3092\u51FA\u3059\u3053\u3068\u300D\u306E\u3088\u3046\u306B\u3001**\u8D77\u304D\u308B\u3053\u3068\u306E\u307B\u3046**\u3092\u66F8\u304F\u3068\u78BA\u304B\u3081\u3089\u308C\u307E\u3059"}},{\u5370:/(無料枠|料金が|課金され|API が変|サービスが終|提供元)/,\u51FA\u3059:{\u7A2E\u985E:"\u3088\u305D\u306E\u4F1A\u793E\u3057\u3060\u3044\u306E\u3053\u3068",\u306A\u305C\u7121\u7406\u304B:"\u76F8\u624B\u304C\u6765\u5E74\u3069\u3046\u3059\u308B\u304B\u306F\u3001**\u3053\u3061\u3089\u3067\u306F\u6C7A\u3081\u3089\u308C\u307E\u305B\u3093**",\u8A00\u3044\u63DB\u3048:"\u300C\u3044\u307E\u306E\u4F7F\u7528\u91CF\u3092\u3001\u753B\u9762\u304B\u8A18\u9332\u306B\u51FA\u3059\u3053\u3068\u300D\u306A\u3089\u78BA\u304B\u3081\u3089\u308C\u307E\u3059"}},{\u5370:/(使いやすい|見やすい|分かりやすい|気持ちよ|きれい|快適|自然な感じ|きちんと)/,\u51FA\u3059:{\u7A2E\u985E:"\u611F\u3058\u65B9\u306E\u3053\u3068",\u306A\u305C\u7121\u7406\u304B:"\u4EBA\u306B\u3088\u3063\u3066\u9055\u3046\u306E\u3067\u3001**\u5408\u3063\u3066\u3044\u308B\u304B\u5916\u308C\u3066\u3044\u308B\u304B\u3092\u6C7A\u3081\u3089\u308C\u307E\u305B\u3093**",\u8A00\u3044\u63DB\u3048:"\u300C\u62BC\u3057\u3066\u304B\u3089 1 \u79D2\u4EE5\u5185\u306B\u53CD\u5FDC\u304C\u51FA\u308B\u3053\u3068\u300D\u306E\u3088\u3046\u306B\u3001**\u898B\u3066\u5206\u304B\u308B\u5F62**\u306B\u3059\u308B\u3068\u78BA\u304B\u3081\u3089\u308C\u307E\u3059"}}];function U(t){for(let n of Pn)if(n.\u5370.test(t))return n.\u51FA\u3059;return null}var At=/^\s*\d{4}[-/]\d{1,2}[-/]\d{1,2}\s*確認記録\s*[::]/,zn=/^\s*\d{4}[-/]\d{1,2}[-/]\d{1,2}\s*(報告|進み具合)\s*[::]/,Hn=/^\s*\d{4}[-/]\d{1,2}[-/]\d{1,2}\s*(取り決め|段取り)\s*[::]/;function vt(t){return At.test(t)?"\u78BA\u8A8D\u306E\u8A18\u9332":zn.test(t)?"\u9032\u307F\u5177\u5408\u306E\u5831\u544A":Hn.test(t)?"\u4F5C\u308B\u3068\u304D\u306E\u53D6\u308A\u6C7A\u3081":null}var Kn=/(これ以上の確認は要らない|確認は要らない|確かめる必要はない|新しい決めごとを含まない|動きの変更を一切|動きの変更は含まない)/;function Gn(t,n=""){return At.test(t)?!0:Kn.test(`${t} ${n}`)}function dt(t){return/やってみる/.test(t.\u8AAC\u660E)}function Et(t){let n=e=>e.\u91CD\u3055==="\u78BA\u304B\u3081\u306A\u304F\u3066\u3088\u3044"||e.\u91CD\u3055==="\u3042\u3068\u3067\u53D6\u308A\u6D88\u3055\u308C\u305F";return[{\u540D:"\u3042\u306A\u305F\u304C\u898B\u308B",\u8272:"#7c3aed",\u6848\u5185:"\u5B9F\u969B\u306B\u89E6\u3063\u3066\u3001\u305D\u306E\u3068\u304A\u308A\u304B\u898B\u3066\u304F\u3060\u3055\u3044\u3002",\u884C:t.filter(e=>!n(e)&&e.\u91CD\u3055!=="\u4F5C\u3063\u305F\u5074\u304C\u78BA\u304B\u3081\u308B"&&e.\u91CD\u3055!=="\u8AB0\u3082\u78BA\u304B\u3081\u3089\u308C\u306A\u3044"),\u7573\u3080:!1},{\u540D:"AI \u304C\u78BA\u304B\u3081\u308B",\u8272:"#d97706",\u6848\u5185:"\u4E2D\u306E\u4F5C\u308A\u3084\u6E2C\u3063\u305F\u6570\u3067\u3059\u3002\u6307\u793A\u66F8\u306B\u5165\u3063\u3066\u3044\u308B\u306E\u3067\u3001\u305D\u306E\u307E\u307E\u6E21\u3057\u3066\u304F\u3060\u3055\u3044\u3002",\u884C:t.filter(e=>e.\u91CD\u3055==="\u4F5C\u3063\u305F\u5074\u304C\u78BA\u304B\u3081\u308B"),\u7573\u3080:!1},{\u540D:"\u3069\u3061\u3089\u3082\u78BA\u304B\u3081\u3088\u3046\u304C\u306A\u3044",\u8272:"#9ca3af",\u6848\u5185:"\u6642\u9593\u306E\u7D4C\u904E\u30FB\u540C\u6642\u306B\u5927\u52E2\u30FB\u7D76\u5BFE\u306B\u8D77\u304D\u306A\u3044\u3053\u3068\u30FB\u3088\u305D\u306E\u4F1A\u793E\u3057\u3060\u3044\u30FB\u611F\u3058\u65B9\u3002\u653E\u3063\u3066\u304A\u3044\u3066\u69CB\u3044\u307E\u305B\u3093\u3002",\u884C:t.filter(e=>e.\u91CD\u3055==="\u8AB0\u3082\u78BA\u304B\u3081\u3089\u308C\u306A\u3044"),\u7573\u3080:!0},{\u540D:"\u78BA\u304B\u3081\u308B\u5BFE\u8C61\u3067\u306F\u306A\u3044",\u8272:"#9ca3af",\u6848\u5185:"\u78BA\u8A8D\u306E\u8A18\u9332\u30FB\u9032\u307F\u5177\u5408\u306E\u5831\u544A\u30FB\u4F5C\u308B\u3068\u304D\u306E\u53D6\u308A\u6C7A\u3081\u30FB\u898B\u51FA\u3057\u30FB\u8A00\u3044\u76F4\u3057\u3067\u3059\u3002\u65B0\u3057\u3044\u7D04\u675F\u3092\u542B\u307E\u306A\u3044\u306E\u3067\u3001\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093\u3002",\u884C:t.filter(n),\u7573\u3080:!0}].filter(e=>e.\u884C.length>0)}function Wn(t,n=[]){let e=n.find(c=>/^(どうやって|確かめ方|試し方|やり方)\s*[::]/.test(c));if(e)return e.replace(/^[^::]*[::]\s*/,"").trim();let r=t.match(/`([^`]{2,40})`/),s=t.match(/[((]答えは\s*([^))]+)[))]/);return r&&s?`${r[1]} \u3068\u62BC\u3059 \u2192 ${s[1]} \u306B\u306A\u308C\u3070\u3001\u305D\u306E\u3068\u304A\u308A\u3067\u3059`:r?`${r[1]} \u3092\u8A66\u3059`:null}var z="/* ==== STYLE START ==== */",C="/* ==== STYLE END ==== */";function Q(t){let n=new Map,e=!1,r=0;for(;;){let s=t.indexOf(z,r);if(s<0)break;let c=t.indexOf(C,s+z.length);if(c<0)break;e=!0;let f=t.slice(s+z.length,c);for(let i of f.matchAll(/--([A-Za-z0-9_-]+)\s*:\s*([^;]+?)\s*;[ \t]*(?:\/\*\s*([\s\S]*?)\s*\*\/)?/g))n.set(i[1],{\u540D\u524D:i[1],\u5024:i[2].trim(),\u610F\u5473:(i[3]??"").trim()});r=c+C.length}return e?[...n.values()]:null}function q(t){let n=t.trim().toLowerCase(),e=n.match(/^#([0-9a-f]{3,8})$/);if(e){let s=e[1];if(s.length===3||s.length===4){let[c,f,i,o="f"]=s.split("");return{r:parseInt(c+c,16),g:parseInt(f+f,16),b:parseInt(i+i,16),a:parseInt(o+o,16)/255}}return s.length===6||s.length===8?{r:parseInt(s.slice(0,2),16),g:parseInt(s.slice(2,4),16),b:parseInt(s.slice(4,6),16),a:s.length===8?parseInt(s.slice(6,8),16)/255:1}:null}let r=n.match(/^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)(?:[\s,/]+([\d.]+%?))?\s*\)$/);if(r){let s=r[4]===void 0?1:r[4].endsWith("%")?parseFloat(r[4])/100:parseFloat(r[4]);return{r:+r[1],g:+r[2],b:+r[3],a:s}}return null}function Tt(t){let n=l=>{let a=l/255;return a<=.04045?a/12.92:((a+.055)/1.055)**2.4},e=n(t.r),r=n(t.g),s=n(t.b),c=(e*.4124+r*.3576+s*.1805)/.95047,f=(e*.2126+r*.7152+s*.0722)/1,i=(e*.0193+r*.1192+s*.9505)/1.08883,o=l=>l>.008856?Math.cbrt(l):7.787*l+16/116;return[116*o(f)-16,500*(o(c)-o(f)),200*(o(f)-o(i))]}function Jn(t,n){let[e,r,s]=Tt(t),[c,f,i]=Tt(n);return Math.hypot(e-c,r-f,s-i)+Math.abs(t.a-n.a)*100}var Xn=1,H=5;function Lt(t,n){let e=new Map(n.map(r=>[r.\u540D\u524D,r]));return t.map(r=>{let s=e.get(r.\u540D\u524D),c={\u540D\u524D:r.\u540D\u524D,\u610F\u5473:r.\u610F\u5473||s?.\u610F\u5473||"",\u4ED5\u69D8\u306E\u5024:r.\u5024};if(!s)return{...c,\u30B3\u30FC\u30C9\u306E\u5024:null,\u7D50\u679C:"\u30B3\u30FC\u30C9\u306B\u7121\u3044"};let f=q(r.\u5024),i=q(s.\u5024);if(f&&i){let l=Math.round(Jn(f,i)*10)/10;return{...c,\u30B3\u30FC\u30C9\u306E\u5024:s.\u5024,\u5DEE:l,\u7D50\u679C:l<=Xn?"\u540C\u3058":l<=H?"\u8FD1\u3044":"\u9055\u3046"}}let o=l=>l.toLowerCase().replace(/\s+/g," ").replace(/\s*,\s*/g,",").trim();return{...c,\u30B3\u30FC\u30C9\u306E\u5024:s.\u5024,\u7D50\u679C:o(r.\u5024)===o(s.\u5024)?"\u540C\u3058":"\u9055\u3046"}})}function Mt(t){let n=t;for(;;){let s=n.indexOf(z);if(s<0)break;let c=n.indexOf(C,s);if(c<0)break;let f=n.slice(s,c+C.length);n=n.slice(0,s)+f.replace(/[^\n]/g," ")+n.slice(c+C.length)}n=n.replace(/\/\*[\s\S]*?\*\/|<!--[\s\S]*?-->/g,s=>s.replace(/[^\n]/g," "));let e=[];return n.split(`
16
16
  `).forEach((s,c)=>{for(let f of s.matchAll(/#[0-9a-fA-F]{3,8}\b|rgba?\([^)]*\)/g))f[0].startsWith("#")&&![4,5,7,9].includes(f[0].length)||q(f[0])&&e.push({\u884C:c+1,\u8272:f[0]})}),e}var Zn="<!-- kokoro-made: ";function V(t){let n=t.replace(/\r\n/g,`
17
17
  `),e=r=>{let s=r>>>0;for(let c=0;c<n.length;c++)s^=n.charCodeAt(c),s=Math.imul(s,16777619)>>>0;return s.toString(16).padStart(8,"0")};return e(2166136261)+e(2538058380)}var Un=t=>`${Zn}${JSON.stringify(t)} -->`;function It(t,n){return`${Un(n)}
18
- ${qn(t)}`}function qn(t){return t.replace(/^?<!-- kokoro-made: [\s\S]*? -->\r?\n?/,"")}var Ot=()=>new Date().toLocaleDateString("sv-SE");var Qn="0.1.0",Nt="https://usekokoro.com/kokoro-aegis",Vn=/\.(m?[jt]sx?|cjs|html?|vue|svelte)$/i,te=new Set(["node_modules",".git",".next","dist","build","out","coverage",".vercel",".turbo",".cache","\u524D\u306E\u7248","previous"]),Rt=1e6,ne=3e3,ee=/^kokoro-仕様\.md$|^kokoro-spec\.md$|^spec\.md$/i,se=/\.(css|scss)$/i;function re(t){let n=[],e=[],r=[],s=null,c=null,f=I.default.statSync(t).isDirectory(),i=o=>{let l=I.default.statSync(o);if(l.isDirectory()){if(te.has(R.default.basename(o)))return;for(let d of I.default.readdirSync(o))i(R.default.join(o,d));return}let a=R.default.basename(o),b=R.default.relative(f?t:R.default.dirname(t),o).replace(/\\/g,"/")||a;if(ee.test(a)&&!s){s=I.default.readFileSync(o,"utf8"),c=b;return}if(se.test(a)){l.size<=Rt&&e.push({\u9053:b,\u4E2D\u8EAB:I.default.readFileSync(o,"utf8")});return}if(Vn.test(a)){if(l.size>Rt){r.push(`${b} (${Math.round(l.size/1024)} KB)`);return}if(n.length>=ne){r.push(b);return}n.push({\u9053:b,\u4E2D\u8EAB:I.default.readFileSync(o,"utf8")})}};return i(t),{\u30D5\u30A1\u30A4\u30EB:n,\u98DB\u3070\u3057\u305F:r,\u4ED5\u69D8:s,\u4ED5\u69D8\u306E\u9053:c,\u898B\u305F\u76EE\u306E\u30D5\u30A1\u30A4\u30EB:e}}async function ie(){let t=new Set,n=[],e=async(o,l,a,b)=>{try{let d=await fetch(l,{headers:a,signal:AbortSignal.timeout(8e3)});if(!d.ok)return;for(let m of b(await d.json()))t.add(m);n.push(o)}catch{}},r=process.env.ANTHROPIC_API_KEY,s=process.env.KOKORO_API_KEY?.trim(),c=(process.env.KOKORO_API_BASE||"https://usekokoro.com").replace(/\/+$/,""),f=process.env.GEMINI_API_KEY||process.env.GOOGLE_API_KEY,i=process.env.OPENAI_API_KEY;return await Promise.all([r?e("Anthropic","https://api.anthropic.com/v1/models?limit=1000",{"x-api-key":r,"anthropic-version":"2023-06-01"},o=>(o.data??[]).map(l=>l.id)):s?e("Anthropic (via Kokoro OS)",`${c}/api/v1/models`,{"x-kokoro-api-key":s},o=>o.models??[]):null,f?e("Gemini","https://generativelanguage.googleapis.com/v1beta/models?pageSize=1000",{"x-goog-api-key":f},o=>(o.models??[]).map(l=>l.name.replace(/^models\//,""))):null,i?e("OpenAI","https://api.openai.com/v1/models",{Authorization:`Bearer ${i}`},o=>(o.data??[]).map(l=>l.id)):null]),{\u540D\u524D:t,\u805E\u3051\u305F:n}}function oe(t){let n=t.indexOf("--lang"),e=n>=0?t[n+1]:"";return e==="ja"||e==="en"?e:(process.env.LANG||process.env.LC_ALL||Intl.DateTimeFormat().resolvedOptions().locale||"").toLowerCase().startsWith("ja")?"ja":"en"}var ce={"catch-empty":"The error is swallowed and nothing is shown. When it fails, it looks as if it worked.","catch-console":"The error only goes to the developer console. People using the app see nothing.","dead-capability":"This is defined but never called from anywhere. A feature you think exists may not be wired up.",truncated:"The code looks cut off midway. This often happens when generated code hits an output limit.","ghost-reference":"This model name is not in the list of available models. Type checks and builds pass; it only fails at run time.","limit-mismatch":"The number shown to people differs from the one actually enforced. Only the person who decided knows which is right.","duplicated-number":"The same role has numbers in two places. If intentional, leave it \u2014 but after changing only one, both still look fine on their own."};function le(t){let n=t.\u4E2D\u8EAB;if(t.\u691C\u67FB==="truncated"){if(n.includes("</html>"))return"No closing </html>";let e=n.match(/(波括弧|丸括弧|角括弧)が (\d+) 個/);if(e)return`${e[2]} unclosed ${{\u6CE2\u62EC\u5F27:"{ }",\u4E38\u62EC\u5F27:"( )",\u89D2\u62EC\u5F27:"[ ]"}[e[1]]}`}if(t.\u691C\u67FB==="duplicated-number"){let e=n.match(/「([^」]+)」/)?.[1]??"",r=n.split("\u2015\u2015")[1]?.trim()??"";return/場所によって違います/.test(n)?`"${e}" has different values: ${r}`:`"${e}" is written in more than one place: ${r}`}if(t.\u691C\u67FB==="limit-mismatch"){let e=n.match(/(\d+) 行目で「([^」]+)」と出しているのに、すぐ近くで効かせているのは (.+) です/);if(e)return`Line ${e[1]} tells people "${e[2]}", but nearby code enforces ${e[3].replace(/([^・]*・(\d+) 行目)/g," (line $1)")}`}return n}var ae={ja:{\u984C:t=>`# Aegis\uFF08\u8AAD\u3080\u691C\u67FB\uFF09\u2015 ${t}`,\u6982\u8981:(t,n,e)=>`\u8ABF\u3079\u305F\u30D5\u30A1\u30A4\u30EB: ${t} \u672C\uFF08\u5168 ${n.toLocaleString("ja-JP")} \u884C\uFF09\uFF0F\u898B\u3064\u3051\u305F\u3082\u306E: **${e} \u4EF6**`,\u51FA\u6765\u5408\u3044\u6570:t=>`\uFF08\u307B\u304B\u306B\u3001\u675F\u306E\u4E2D\u306E\u51FA\u6765\u5408\u3044\u306E\u90E8\u54C1\u3067 ${t} \u4EF6\u30FB\u4E0B\u306B\u5206\u3051\u3066\u3042\u308A\u307E\u3059\uFF09`,\u7D04\u675F:"AI \u306F\u4F7F\u3063\u3066\u3044\u307E\u305B\u3093\u3002\u30B3\u30FC\u30C9\u306F\u3069\u3053\u306B\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093\u3002",\u4E00\u89A7\u3092\u805E\u3044\u305F:t=>`\u30E2\u30C7\u30EB\u540D\u306F\u3001${t.join("\u30FB")} \u306E\u4ECA\u306E\u4E00\u89A7\u306B\u805E\u3044\u3066\u78BA\u304B\u3081\u307E\u3057\u305F\uFF08\u4E00\u89A7\u306E\u554F\u3044\u5408\u308F\u305B\u3060\u3051\u3067\u3001\u30B3\u30FC\u30C9\u306F\u9001\u3063\u3066\u3044\u307E\u305B\u3093\uFF09\u3002`,\u4E00\u89A7\u306F\u624B\u5143:t=>`\u30E2\u30C7\u30EB\u540D\u306F\u3001\u624B\u5143\u306E\u4E00\u89A7\uFF08${t} \u6642\u70B9\uFF09\u3067\u78BA\u304B\u3081\u307E\u3057\u305F\u3002\u305D\u308C\u3088\u308A\u65B0\u3057\u3044\u30E2\u30C7\u30EB\u306F\u300C\u4E00\u89A7\u306B\u306A\u3044\u300D\u3068\u51FA\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF08\u30AD\u30FC\u304C\u3042\u308C\u3070\u3001\u305D\u306E\u5834\u3067\u5404\u793E\u306E\u4E00\u89A7\u306B\u805E\u304D\u307E\u3059\uFF09\u3002`,\u30D5\u30A1\u30A4\u30EB\u3054\u3068:"## \u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u30D5\u30A1\u30A4\u30EB\u3054\u3068\uFF09",\u307E\u305F\u3044\u3067:"## \u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u30D5\u30A1\u30A4\u30EB\u3092\u307E\u305F\u3044\u3067\uFF09",\u884C\u76EE:t=>`${t} \u884C\u76EE `,\u306A\u305C:"\u306A\u305C",\u51FA\u6765\u5408\u3044\u984C:"## \u51FA\u6765\u5408\u3044\u306E\u90E8\u54C1\u306E\u4E2D\u3067\u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u3042\u306A\u305F\u304C\u66F8\u3044\u305F\u3068\u3053\u308D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09",\u51FA\u6765\u5408\u3044\u8AAC\u660E:"\u675F\u306D\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u6B8B\u3063\u3066\u3044\u308B\u5143\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3067\u5206\u3051\u307E\u3057\u305F\u3002\u76F4\u3059\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u90E8\u54C1\u3092\u66FF\u3048\u308B\u5224\u65AD\u304C\u8981\u308B\u3053\u3068\u3082\u3042\u308A\u307E\u3059\u3002",\u8ABF\u3079\u3066\u3044\u306A\u3044:"## \u8ABF\u3079\u3066\u3044\u306A\u3044\u3053\u3068\uFF08\u26050 \u4EF6\u306F\u300C\u554F\u984C\u306A\u3057\u300D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09",\u52D5\u304B\u3059:(t,n)=>`- **\u52D5\u304B\u3059\u691C\u67FB ${t} \u672C**\uFF08${n}\uFF09\u3002\u958B\u3044\u3066\u62BC\u3057\u3066\u521D\u3081\u3066\u5206\u304B\u308B\u7A74\u3067\u3001\u30D6\u30E9\u30A6\u30B6\u304C\u8981\u308A\u307E\u3059\u3002`,\u52D5\u304B\u3059\u6848\u5185:` \u2192 \u4E0B\u306E\u300C\u624B\u3067\u78BA\u304B\u3081\u308B\u8868\u300D\u3067\u3001\u4EBA\u304C\u62BC\u3057\u3066\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002Kokoro OS \u306E Aegis \u306B\u30D5\u30A9\u30EB\u30C0\u3054\u3068\u5165\u308C\u308B\u3068\u3001\u6A5F\u68B0\u304C\u62BC\u3057\u3066\u8ABF\u3079\u307E\u3059: ${Nt}`,\u8AAD\u307E\u306A\u304B\u3063\u305F:t=>`- \u8AAD\u307E\u306A\u304B\u3063\u305F\u30D5\u30A1\u30A4\u30EB\uFF08\u5927\u304D\u3059\u304E\u308B\u30FB\u591A\u3059\u304E\u308B\uFF09: ${t}`,\u8868\u984C:"## \u624B\u3067\u78BA\u304B\u3081\u308B\u8868\uFF08\u52D5\u304B\u3059\u691C\u67FB\u306E\u4EE3\u308F\u308A\u306B\u3001\u4EBA\u304C\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\uFF09",\u62FE\u3063\u305F:(t,n,e,r,s)=>`\u30B3\u30FC\u30C9\u304B\u3089\u62FE\u3063\u305F\u62BC\u3059\u6240: \u30DC\u30BF\u30F3 ${t}${n?`\uFF08\u307B\u304B\u306B\u78BA\u304B\u3081\u7528\u306E\u753B\u9762 ${n}\uFF09`:""}\u30FB\u5165\u529B\u6B04 ${e}\u30FB\u4FDD\u5B58 ${r||"\u306A\u3057"}\u30FB\u4EF6\u6570\u306E\u4E0A\u9650 ${s||"\u306A\u3057"}`,\u62FE\u3048\u308B\u9650\u308A:"\u2605\u62FE\u3048\u308B\u306E\u306F\u30B3\u30FC\u30C9\u306B\u6587\u5B57\u3067\u66F8\u3044\u3066\u3042\u308B\u3082\u306E\u3060\u3051\u3067\u3059\u3002\u753B\u9762\u3092\u958B\u3044\u3066\u304B\u3089\u4F5C\u308B\u30DC\u30BF\u30F3\u306F\u6F0F\u308C\u307E\u3059\uFF08\u6F0F\u308C\u3066\u3082\u3001\u3075\u3064\u3046\u306E\u624B\u9806\u306F\u51FA\u3057\u3066\u3044\u307E\u3059\uFF09\u3002",\u4ED5\u69D8\u984C:"### \u4ED5\u69D8\u306E\u7D19\u3067\u6C7A\u3081\u305F\u3053\u3068",\u4ED5\u69D8\u306A\u3057\u884C:"- \u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u6C7A\u3081\u3054\u3068\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002",\u305D\u306E\u3068\u304A\u308A:"\u305D\u306E\u3068\u304A\u308A\u306B\u306A\u308B\u304B",\u8F09\u305B\u306A\u304B\u3063\u305F:"\u8868\u306B\u8F09\u305B\u306A\u304B\u3063\u305F\u6C7A\u3081\u3054\u3068\uFF08\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u3082\u306E\u3067\u306F\u306A\u3044\u3082\u306E\uFF09:",\u4ED5\u69D8\u304C\u306A\u3044:`\u4ED5\u69D8\u306E\u7D19\uFF08\`${J}\`\uFF09\u304C\u3042\u308B\u3068\u3001\u300C\u6C7A\u3081\u305F\u3053\u3068\u3069\u304A\u308A\u304B\u300D\u306E\u9805\u76EE\u3082\u3053\u306E\u8868\u306B\u4E26\u3073\u307E\u3059\u3002Kokoro OS \u306E Baton \u3067\u4F5C\u308C\u307E\u3059\u3002`,\u6700\u5F8C:`\u2192 Kokoro OS \u306E Aegis \u3067\u306F\u3001\u30A2\u30D7\u30EA\u3092\u5DE6\u30FB\u3053\u306E\u8868\u3092\u53F3\u306B\u4E26\u3079\u3066\u3001\u62BC\u3057\u306A\u304C\u3089\u5370\u3092\u4ED8\u3051\u3089\u308C\u307E\u3059: ${Nt}`,\u7814\u78E8:"\u2192 AI \u306B\u3082\u30B3\u30FC\u30C9\u3092\u8AAD\u307E\u305B\u305F\u3044\u3068\u304D\u306F\uFF08\u9078\u3093\u3060\u3068\u304D\u3060\u3051\u3002check.html \u304C AI \u306B\u9001\u3089\u308C\u3001\u8CBB\u7528\u306F\u3042\u306A\u305F\u306E\u30AD\u30FC\u306B\u4ED8\u304D\u307E\u3059\uFF09: `npx kokoro-polish`",\u66F8\u3044\u305F:(t,n)=>`\u7D19\u3092\u66F8\u304D\u307E\u3057\u305F: ${t}\uFF08\u898B\u3064\u3051\u305F\u3082\u306E ${n} \u4EF6\uFF09`,\u4F7F\u3044\u65B9:"\u4F7F\u3044\u65B9: npx kokoro-aegis <\u30D5\u30A9\u30EB\u30C0\u304B\u30D5\u30A1\u30A4\u30EB> [--out \u7D19.md] [--lang ja|en] [--offline]",\u898B\u305F\u76EE\u984C:"## \u898B\u305F\u76EE\u306E\u6C7A\u307E\u308A\uFF08\u4ED5\u69D8\u66F8\u306E\u5024 \xD7 \u30B3\u30FC\u30C9\u306E\u5024\uFF09",\u898B\u305F\u76EE\u8AAC\u660E:`\u4ED5\u69D8\u66F8\u306E STYLE \u306E\u584A\u3068\u3001\u30B3\u30FC\u30C9\u306E STYLE \u306E\u584A\u3092\u3001\u540D\u524D\u3067\u7A81\u304D\u5408\u308F\u305B\u307E\u3057\u305F\uFF08AI \u306A\u3057\uFF09\u3002\u8272\u306F\u898B\u305F\u76EE\u306E\u5DEE\u3067\u6BD4\u3079\u3001\u5DEE\u304C\u5C0F\u3055\u3044\uFF08\u0394E ${H} \u4EE5\u4E0B\uFF09\u3082\u306E\u306F\u901A\u3057\u307E\u3059\u3002`,\u898B\u305F\u76EE\u30B3\u30FC\u30C9\u306B\u7121\u3057:"\u2605\u30B3\u30FC\u30C9\u306B STYLE \u306E\u7F6E\u304D\u5834\u6240\uFF08`/* ==== STYLE START ==== */` \u301C `END`\uFF09\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4ED5\u69D8\u66F8\u306E\u5024\u3068\u7A81\u304D\u5408\u308F\u305B\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",\u540C\u3058:"\u305D\u306E\u3068\u304A\u308A",\u8FD1\u3044:t=>`\u307B\u307C\u305D\u306E\u3068\u304A\u308A\uFF08\u5DEE ${t}\uFF09`,\u9055\u3046:"\u2605\u9055\u3046",\u7121\u3044:"\u2605\u30B3\u30FC\u30C9\u306B\u7121\u3044",\u898B\u305F\u76EE\u306E\u6570:(t,n)=>`\u5408\u3063\u3066\u3044\u308B ${t}\u30FB\u9055\u3046\uFF0F\u7121\u3044 ${n}`,\u901A\u3055\u306A\u3044:(t,n)=>`\u2605STYLE \u306E\u584A\u306E\u5916\u306B\u3001\u8272\u3092\u76F4\u63A5\u66F8\u3044\u3066\u3044\u308B\u6240\u304C ${t} \u304B\u6240\u3042\u308A\u307E\u3059\uFF08\u3053\u3053\u306F STYLE \u3092\u901A\u3063\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u4ED5\u69D8\u66F8\u306E\u5024\u3092\u5909\u3048\u3066\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09: ${n}`},en:{\u984C:t=>`# Aegis (static checks) \u2014 ${t}`,\u6982\u8981:(t,n,e)=>`Files checked: ${t} (${n.toLocaleString("en-US")} lines) / Found: **${e}**`,\u51FA\u6765\u5408\u3044\u6570:t=>` (plus ${t} inside bundled third-party code, listed separately below)`,\u7D04\u675F:"No AI was used, and your code was not sent anywhere.",\u4E00\u89A7\u3092\u805E\u3044\u305F:t=>`Model names were checked against the current lists from ${t.join(", ")} (only the model list was requested; no code was sent).`,\u4E00\u89A7\u306F\u624B\u5143:t=>`Model names were checked against a built-in list (as of ${t}). Newer models may show as "not in the list" (set an API key to check the providers' live lists).`,\u30D5\u30A1\u30A4\u30EB\u3054\u3068:"## Found (per file)",\u307E\u305F\u3044\u3067:"## Found (across files)",\u884C\u76EE:t=>`line ${t} `,\u306A\u305C:"why",\u51FA\u6765\u5408\u3044\u984C:"## Found inside bundled third-party code (not code you wrote)",\u51FA\u6765\u5408\u3044\u8AAC\u660E:"Separated using the original file names left in the bundle. No need to fix, though you may want to replace the package.",\u8ABF\u3079\u3066\u3044\u306A\u3044:'## Not checked (\u2605 zero findings does not mean "no problems")',\u52D5\u304B\u3059:(t,n)=>`- **${t} run-time checks** (${n}). These holes only show up when you open the app and press things, which needs a browser.`,\u52D5\u304B\u3059\u6848\u5185:' \u2192 Use the "Check by hand" table below and press through the app yourself.',\u8AAD\u307E\u306A\u304B\u3063\u305F:t=>`- Skipped (too large / too many): ${t}`,\u8868\u984C:"## Check by hand (instead of the run-time checks)",\u62FE\u3063\u305F:(t,n,e,r,s)=>`Found in the code: ${t} buttons${n?` (+${n} on test pages)`:""}, ${e} inputs, storage: ${r||"none"}, item limits: ${s||"none"}`,\u62FE\u3048\u308B\u9650\u308A:"\u2605 Only things written as text in the code can be found. Buttons created at run time may be missing (the general steps are always listed).",\u4ED5\u69D8\u984C:"### Decisions from your spec",\u4ED5\u69D8\u306A\u3057\u884C:"- No decisions that can be checked by pressing were found.",\u305D\u306E\u3068\u304A\u308A:"does it behave as decided?",\u8F09\u305B\u306A\u304B\u3063\u305F:"Decisions left out of the table (not checkable by pressing):",\u4ED5\u69D8\u304C\u306A\u3044:`With a spec file (\`${J}\`), the decisions you made are added to this table too. \`npx kokoro-baton "what you want to build"\` writes one for you.`,\u6700\u5F8C:"",\u7814\u78E8:"\u2192 Want an AI to read the code too? (opt-in only: check.html is sent to an AI and billed to your key): `npx kokoro-polish`",\u66F8\u3044\u305F:(t,n)=>`Report written: ${t} (${n} found)`,\u4F7F\u3044\u65B9:"Usage: npx kokoro-aegis <folder-or-file> [--out report.md] [--lang ja|en] [--offline]",\u898B\u305F\u76EE\u984C:"## Look (spec values vs. code values)",\u898B\u305F\u76EE\u8AAC\u660E:`The STYLE block in your spec was matched by name against the STYLE block in the code (no AI). Colors are compared by visible difference; small differences (\u0394E ${H} or less) pass.`,\u898B\u305F\u76EE\u30B3\u30FC\u30C9\u306B\u7121\u3057:"\u2605The code has no STYLE block (`/* ==== STYLE START ==== */` \u2026 `END`), so the spec values could not be checked.",\u540C\u3058:"matches",\u8FD1\u3044:t=>`almost matches (difference ${t})`,\u9055\u3046:"\u2605differs",\u7121\u3044:"\u2605missing in code",\u898B\u305F\u76EE\u306E\u6570:(t,n)=>`matching ${t} / differing or missing ${n}`,\u901A\u3055\u306A\u3044:(t,n)=>`\u2605${t} colors are written directly outside the STYLE block (these bypass STYLE, so changing the spec values will not change them): ${n}`}};function N(t){return t.replace(/\*\*/g,"").replace(/★/g,"").replace(/\s+/g," ").trim()}function jt(t,n){let e=N(St(t));return n==="en"?ct(e):e}async function ue(){let t=process.argv.slice(2);if(t.includes("--version")||t.includes("-v")){console.log(Qn);return}let n=oe(t),e=ae[n],r=new Set(["--out","--lang"].map(g=>t.indexOf(g)+1).filter(g=>g>0)),s=t.find((g,$)=>!g.startsWith("--")&&!r.has($)),c=t.includes("--out")?t[t.indexOf("--out")+1]:null;(!s||!I.default.existsSync(s)||t.includes("--help")||t.includes("-h"))&&(console.error(e.\u4F7F\u3044\u65B9),process.exit(s?1:0));let{\u30D5\u30A1\u30A4\u30EB:f,\u98DB\u3070\u3057\u305F:i,\u4ED5\u69D8:o,\u4ED5\u69D8\u306E\u9053:l,\u898B\u305F\u76EE\u306E\u30D5\u30A1\u30A4\u30EB:a}=re(R.default.resolve(s)),b=t.includes("--offline")?{\u540D\u524D:new Set,\u805E\u3051\u305F:[]}:await ie(),d=[],m=[],E=new Map,u=0;for(let g of f){u+=g.\u4E2D\u8EAB.split(`
18
+ ${qn(t)}`}function qn(t){return t.replace(/^?<!-- kokoro-made: [\s\S]*? -->\r?\n?/,"")}var Ot=()=>new Date().toLocaleDateString("sv-SE");var Qn="0.1.1",Nt="https://usekokoro.com/kokoro-aegis",Vn=/\.(m?[jt]sx?|cjs|html?|vue|svelte)$/i,te=new Set(["node_modules",".git",".next","dist","build","out","coverage",".vercel",".turbo",".cache","\u524D\u306E\u7248","previous"]),Rt=1e6,ne=3e3,ee=/^kokoro-仕様\.md$|^kokoro-spec\.md$|^spec\.md$/i,se=/\.(css|scss)$/i;function re(t){let n=[],e=[],r=[],s=null,c=null,f=I.default.statSync(t).isDirectory(),i=o=>{let l=I.default.statSync(o);if(l.isDirectory()){if(te.has(R.default.basename(o)))return;for(let d of I.default.readdirSync(o))i(R.default.join(o,d));return}let a=R.default.basename(o),b=R.default.relative(f?t:R.default.dirname(t),o).replace(/\\/g,"/")||a;if(ee.test(a)&&!s){s=I.default.readFileSync(o,"utf8"),c=b;return}if(se.test(a)){l.size<=Rt&&e.push({\u9053:b,\u4E2D\u8EAB:I.default.readFileSync(o,"utf8")});return}if(Vn.test(a)){if(l.size>Rt){r.push(`${b} (${Math.round(l.size/1024)} KB)`);return}if(n.length>=ne){r.push(b);return}n.push({\u9053:b,\u4E2D\u8EAB:I.default.readFileSync(o,"utf8")})}};return i(t),{\u30D5\u30A1\u30A4\u30EB:n,\u98DB\u3070\u3057\u305F:r,\u4ED5\u69D8:s,\u4ED5\u69D8\u306E\u9053:c,\u898B\u305F\u76EE\u306E\u30D5\u30A1\u30A4\u30EB:e}}async function ie(){let t=new Set,n=[],e=async(o,l,a,b)=>{try{let d=await fetch(l,{headers:a,signal:AbortSignal.timeout(8e3)});if(!d.ok)return;for(let m of b(await d.json()))t.add(m);n.push(o)}catch{}},r=process.env.ANTHROPIC_API_KEY,s=process.env.KOKORO_API_KEY?.trim(),c=(process.env.KOKORO_API_BASE||"https://usekokoro.com").replace(/\/+$/,""),f=process.env.GEMINI_API_KEY||process.env.GOOGLE_API_KEY,i=process.env.OPENAI_API_KEY;return await Promise.all([r?e("Anthropic","https://api.anthropic.com/v1/models?limit=1000",{"x-api-key":r,"anthropic-version":"2023-06-01"},o=>(o.data??[]).map(l=>l.id)):s?e("Anthropic (via Kokoro OS)",`${c}/api/v1/models`,{"x-kokoro-api-key":s},o=>o.models??[]):null,f?e("Gemini","https://generativelanguage.googleapis.com/v1beta/models?pageSize=1000",{"x-goog-api-key":f},o=>(o.models??[]).map(l=>l.name.replace(/^models\//,""))):null,i?e("OpenAI","https://api.openai.com/v1/models",{Authorization:`Bearer ${i}`},o=>(o.data??[]).map(l=>l.id)):null]),{\u540D\u524D:t,\u805E\u3051\u305F:n}}function oe(t){let n=t.indexOf("--lang"),e=n>=0?t[n+1]:"";return e==="ja"||e==="en"?e:(process.env.LANG||process.env.LC_ALL||Intl.DateTimeFormat().resolvedOptions().locale||"").toLowerCase().startsWith("ja")?"ja":"en"}var ce={"catch-empty":"The error is swallowed and nothing is shown. When it fails, it looks as if it worked.","catch-console":"The error only goes to the developer console. People using the app see nothing.","dead-capability":"This is defined but never called from anywhere. A feature you think exists may not be wired up.",truncated:"The code looks cut off midway. This often happens when generated code hits an output limit.","ghost-reference":"This model name is not in the list of available models. Type checks and builds pass; it only fails at run time.","limit-mismatch":"The number shown to people differs from the one actually enforced. Only the person who decided knows which is right.","duplicated-number":"The same role has numbers in two places. If intentional, leave it \u2014 but after changing only one, both still look fine on their own."};function le(t){let n=t.\u4E2D\u8EAB;if(t.\u691C\u67FB==="truncated"){if(n.includes("</html>"))return"No closing </html>";let e=n.match(/(波括弧|丸括弧|角括弧)が (\d+) 個/);if(e)return`${e[2]} unclosed ${{\u6CE2\u62EC\u5F27:"{ }",\u4E38\u62EC\u5F27:"( )",\u89D2\u62EC\u5F27:"[ ]"}[e[1]]}`}if(t.\u691C\u67FB==="duplicated-number"){let e=n.match(/「([^」]+)」/)?.[1]??"",r=n.split("\u2015\u2015")[1]?.trim()??"";return/場所によって違います/.test(n)?`"${e}" has different values: ${r}`:`"${e}" is written in more than one place: ${r}`}if(t.\u691C\u67FB==="limit-mismatch"){let e=n.match(/(\d+) 行目で「([^」]+)」と出しているのに、すぐ近くで効かせているのは (.+) です/);if(e)return`Line ${e[1]} tells people "${e[2]}", but nearby code enforces ${e[3].replace(/([^・]*・(\d+) 行目)/g," (line $1)")}`}return n}var ae={ja:{\u984C:t=>`# Aegis\uFF08\u8AAD\u3080\u691C\u67FB\uFF09\u2015 ${t}`,\u6982\u8981:(t,n,e)=>`\u8ABF\u3079\u305F\u30D5\u30A1\u30A4\u30EB: ${t} \u672C\uFF08\u5168 ${n.toLocaleString("ja-JP")} \u884C\uFF09\uFF0F\u898B\u3064\u3051\u305F\u3082\u306E: **${e} \u4EF6**`,\u51FA\u6765\u5408\u3044\u6570:t=>`\uFF08\u307B\u304B\u306B\u3001\u675F\u306E\u4E2D\u306E\u51FA\u6765\u5408\u3044\u306E\u90E8\u54C1\u3067 ${t} \u4EF6\u30FB\u4E0B\u306B\u5206\u3051\u3066\u3042\u308A\u307E\u3059\uFF09`,\u7D04\u675F:"AI \u306F\u4F7F\u3063\u3066\u3044\u307E\u305B\u3093\u3002\u30B3\u30FC\u30C9\u306F\u3069\u3053\u306B\u3082\u9001\u3063\u3066\u3044\u307E\u305B\u3093\u3002",\u4E00\u89A7\u3092\u805E\u3044\u305F:t=>`\u30E2\u30C7\u30EB\u540D\u306F\u3001${t.join("\u30FB")} \u306E\u4ECA\u306E\u4E00\u89A7\u306B\u805E\u3044\u3066\u78BA\u304B\u3081\u307E\u3057\u305F\uFF08\u4E00\u89A7\u306E\u554F\u3044\u5408\u308F\u305B\u3060\u3051\u3067\u3001\u30B3\u30FC\u30C9\u306F\u9001\u3063\u3066\u3044\u307E\u305B\u3093\uFF09\u3002`,\u4E00\u89A7\u306F\u624B\u5143:t=>`\u30E2\u30C7\u30EB\u540D\u306F\u3001\u624B\u5143\u306E\u4E00\u89A7\uFF08${t} \u6642\u70B9\uFF09\u3067\u78BA\u304B\u3081\u307E\u3057\u305F\u3002\u305D\u308C\u3088\u308A\u65B0\u3057\u3044\u30E2\u30C7\u30EB\u306F\u300C\u4E00\u89A7\u306B\u306A\u3044\u300D\u3068\u51FA\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\uFF08\u30AD\u30FC\u304C\u3042\u308C\u3070\u3001\u305D\u306E\u5834\u3067\u5404\u793E\u306E\u4E00\u89A7\u306B\u805E\u304D\u307E\u3059\uFF09\u3002`,\u30D5\u30A1\u30A4\u30EB\u3054\u3068:"## \u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u30D5\u30A1\u30A4\u30EB\u3054\u3068\uFF09",\u307E\u305F\u3044\u3067:"## \u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u30D5\u30A1\u30A4\u30EB\u3092\u307E\u305F\u3044\u3067\uFF09",\u884C\u76EE:t=>`${t} \u884C\u76EE `,\u306A\u305C:"\u306A\u305C",\u51FA\u6765\u5408\u3044\u984C:"## \u51FA\u6765\u5408\u3044\u306E\u90E8\u54C1\u306E\u4E2D\u3067\u898B\u3064\u3051\u305F\u3082\u306E\uFF08\u3042\u306A\u305F\u304C\u66F8\u3044\u305F\u3068\u3053\u308D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09",\u51FA\u6765\u5408\u3044\u8AAC\u660E:"\u675F\u306D\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u6B8B\u3063\u3066\u3044\u308B\u5143\u306E\u30D5\u30A1\u30A4\u30EB\u540D\u3067\u5206\u3051\u307E\u3057\u305F\u3002\u76F4\u3059\u5FC5\u8981\u306F\u3042\u308A\u307E\u305B\u3093\u304C\u3001\u90E8\u54C1\u3092\u66FF\u3048\u308B\u5224\u65AD\u304C\u8981\u308B\u3053\u3068\u3082\u3042\u308A\u307E\u3059\u3002",\u8ABF\u3079\u3066\u3044\u306A\u3044:"## \u8ABF\u3079\u3066\u3044\u306A\u3044\u3053\u3068\uFF08\u26050 \u4EF6\u306F\u300C\u554F\u984C\u306A\u3057\u300D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\uFF09",\u52D5\u304B\u3059:(t,n)=>`- **\u52D5\u304B\u3059\u691C\u67FB ${t} \u672C**\uFF08${n}\uFF09\u3002\u958B\u3044\u3066\u62BC\u3057\u3066\u521D\u3081\u3066\u5206\u304B\u308B\u7A74\u3067\u3001\u30D6\u30E9\u30A6\u30B6\u304C\u8981\u308A\u307E\u3059\u3002`,\u52D5\u304B\u3059\u6848\u5185:` \u2192 \u4E0B\u306E\u300C\u624B\u3067\u78BA\u304B\u3081\u308B\u8868\u300D\u3067\u3001\u4EBA\u304C\u62BC\u3057\u3066\u78BA\u304B\u3081\u3066\u304F\u3060\u3055\u3044\u3002Kokoro OS \u306E Aegis \u306B\u30D5\u30A9\u30EB\u30C0\u3054\u3068\u5165\u308C\u308B\u3068\u3001\u6A5F\u68B0\u304C\u62BC\u3057\u3066\u8ABF\u3079\u307E\u3059: ${Nt}`,\u8AAD\u307E\u306A\u304B\u3063\u305F:t=>`- \u8AAD\u307E\u306A\u304B\u3063\u305F\u30D5\u30A1\u30A4\u30EB\uFF08\u5927\u304D\u3059\u304E\u308B\u30FB\u591A\u3059\u304E\u308B\uFF09: ${t}`,\u8868\u984C:"## \u624B\u3067\u78BA\u304B\u3081\u308B\u8868\uFF08\u52D5\u304B\u3059\u691C\u67FB\u306E\u4EE3\u308F\u308A\u306B\u3001\u4EBA\u304C\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\uFF09",\u62FE\u3063\u305F:(t,n,e,r,s)=>`\u30B3\u30FC\u30C9\u304B\u3089\u62FE\u3063\u305F\u62BC\u3059\u6240: \u30DC\u30BF\u30F3 ${t}${n?`\uFF08\u307B\u304B\u306B\u78BA\u304B\u3081\u7528\u306E\u753B\u9762 ${n}\uFF09`:""}\u30FB\u5165\u529B\u6B04 ${e}\u30FB\u4FDD\u5B58 ${r||"\u306A\u3057"}\u30FB\u4EF6\u6570\u306E\u4E0A\u9650 ${s||"\u306A\u3057"}`,\u62FE\u3048\u308B\u9650\u308A:"\u2605\u62FE\u3048\u308B\u306E\u306F\u30B3\u30FC\u30C9\u306B\u6587\u5B57\u3067\u66F8\u3044\u3066\u3042\u308B\u3082\u306E\u3060\u3051\u3067\u3059\u3002\u753B\u9762\u3092\u958B\u3044\u3066\u304B\u3089\u4F5C\u308B\u30DC\u30BF\u30F3\u306F\u6F0F\u308C\u307E\u3059\uFF08\u6F0F\u308C\u3066\u3082\u3001\u3075\u3064\u3046\u306E\u624B\u9806\u306F\u51FA\u3057\u3066\u3044\u307E\u3059\uFF09\u3002",\u4ED5\u69D8\u984C:"### \u4ED5\u69D8\u306E\u7D19\u3067\u6C7A\u3081\u305F\u3053\u3068",\u4ED5\u69D8\u306A\u3057\u884C:"- \u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u6C7A\u3081\u3054\u3068\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002",\u305D\u306E\u3068\u304A\u308A:"\u305D\u306E\u3068\u304A\u308A\u306B\u306A\u308B\u304B",\u8F09\u305B\u306A\u304B\u3063\u305F:"\u8868\u306B\u8F09\u305B\u306A\u304B\u3063\u305F\u6C7A\u3081\u3054\u3068\uFF08\u62BC\u3057\u3066\u78BA\u304B\u3081\u308B\u3082\u306E\u3067\u306F\u306A\u3044\u3082\u306E\uFF09:",\u4ED5\u69D8\u304C\u306A\u3044:`\u4ED5\u69D8\u306E\u7D19\uFF08\`${J}\`\uFF09\u304C\u3042\u308B\u3068\u3001\u300C\u6C7A\u3081\u305F\u3053\u3068\u3069\u304A\u308A\u304B\u300D\u306E\u9805\u76EE\u3082\u3053\u306E\u8868\u306B\u4E26\u3073\u307E\u3059\u3002Kokoro OS \u306E Baton \u3067\u4F5C\u308C\u307E\u3059\u3002`,\u6700\u5F8C:`\u2192 Kokoro OS \u306E Aegis \u3067\u306F\u3001\u30A2\u30D7\u30EA\u3092\u5DE6\u30FB\u3053\u306E\u8868\u3092\u53F3\u306B\u4E26\u3079\u3066\u3001\u62BC\u3057\u306A\u304C\u3089\u5370\u3092\u4ED8\u3051\u3089\u308C\u307E\u3059: ${Nt}`,\u7814\u78E8:"\u2192 AI \u306B\u3082\u30B3\u30FC\u30C9\u3092\u8AAD\u307E\u305B\u305F\u3044\u3068\u304D\u306F\uFF08\u9078\u3093\u3060\u3068\u304D\u3060\u3051\u3002check.html \u304C AI \u306B\u9001\u3089\u308C\u3001\u8CBB\u7528\u306F\u3042\u306A\u305F\u306E\u30AD\u30FC\u306B\u4ED8\u304D\u307E\u3059\uFF09: `npx kokoro-polish`",\u66F8\u3044\u305F:(t,n)=>`\u7D19\u3092\u66F8\u304D\u307E\u3057\u305F: ${t}\uFF08\u898B\u3064\u3051\u305F\u3082\u306E ${n} \u4EF6\uFF09`,\u4F7F\u3044\u65B9:"\u4F7F\u3044\u65B9: npx kokoro-aegis <\u30D5\u30A9\u30EB\u30C0\u304B\u30D5\u30A1\u30A4\u30EB> [--out \u7D19.md] [--lang ja|en] [--offline]",\u898B\u305F\u76EE\u984C:"## \u898B\u305F\u76EE\u306E\u6C7A\u307E\u308A\uFF08\u4ED5\u69D8\u66F8\u306E\u5024 \xD7 \u30B3\u30FC\u30C9\u306E\u5024\uFF09",\u898B\u305F\u76EE\u8AAC\u660E:`\u4ED5\u69D8\u66F8\u306E STYLE \u306E\u584A\u3068\u3001\u30B3\u30FC\u30C9\u306E STYLE \u306E\u584A\u3092\u3001\u540D\u524D\u3067\u7A81\u304D\u5408\u308F\u305B\u307E\u3057\u305F\uFF08AI \u306A\u3057\uFF09\u3002\u8272\u306F\u898B\u305F\u76EE\u306E\u5DEE\u3067\u6BD4\u3079\u3001\u5DEE\u304C\u5C0F\u3055\u3044\uFF08\u0394E ${H} \u4EE5\u4E0B\uFF09\u3082\u306E\u306F\u901A\u3057\u307E\u3059\u3002`,\u898B\u305F\u76EE\u30B3\u30FC\u30C9\u306B\u7121\u3057:"\u2605\u30B3\u30FC\u30C9\u306B STYLE \u306E\u7F6E\u304D\u5834\u6240\uFF08`/* ==== STYLE START ==== */` \u301C `END`\uFF09\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4ED5\u69D8\u66F8\u306E\u5024\u3068\u7A81\u304D\u5408\u308F\u305B\u3089\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002",\u540C\u3058:"\u305D\u306E\u3068\u304A\u308A",\u8FD1\u3044:t=>`\u307B\u307C\u305D\u306E\u3068\u304A\u308A\uFF08\u5DEE ${t}\uFF09`,\u9055\u3046:"\u2605\u9055\u3046",\u7121\u3044:"\u2605\u30B3\u30FC\u30C9\u306B\u7121\u3044",\u898B\u305F\u76EE\u306E\u6570:(t,n)=>`\u5408\u3063\u3066\u3044\u308B ${t}\u30FB\u9055\u3046\uFF0F\u7121\u3044 ${n}`,\u901A\u3055\u306A\u3044:(t,n)=>`\u2605STYLE \u306E\u584A\u306E\u5916\u306B\u3001\u8272\u3092\u76F4\u63A5\u66F8\u3044\u3066\u3044\u308B\u6240\u304C ${t} \u304B\u6240\u3042\u308A\u307E\u3059\uFF08\u3053\u3053\u306F STYLE \u3092\u901A\u3063\u3066\u3044\u306A\u3044\u306E\u3067\u3001\u4ED5\u69D8\u66F8\u306E\u5024\u3092\u5909\u3048\u3066\u3082\u5909\u308F\u308A\u307E\u305B\u3093\uFF09: ${n}`},en:{\u984C:t=>`# Aegis (static checks) \u2014 ${t}`,\u6982\u8981:(t,n,e)=>`Files checked: ${t} (${n.toLocaleString("en-US")} lines) / Found: **${e}**`,\u51FA\u6765\u5408\u3044\u6570:t=>` (plus ${t} inside bundled third-party code, listed separately below)`,\u7D04\u675F:"No AI was used, and your code was not sent anywhere.",\u4E00\u89A7\u3092\u805E\u3044\u305F:t=>`Model names were checked against the current lists from ${t.join(", ")} (only the model list was requested; no code was sent).`,\u4E00\u89A7\u306F\u624B\u5143:t=>`Model names were checked against a built-in list (as of ${t}). Newer models may show as "not in the list" (set an API key to check the providers' live lists).`,\u30D5\u30A1\u30A4\u30EB\u3054\u3068:"## Found (per file)",\u307E\u305F\u3044\u3067:"## Found (across files)",\u884C\u76EE:t=>`line ${t} `,\u306A\u305C:"why",\u51FA\u6765\u5408\u3044\u984C:"## Found inside bundled third-party code (not code you wrote)",\u51FA\u6765\u5408\u3044\u8AAC\u660E:"Separated using the original file names left in the bundle. No need to fix, though you may want to replace the package.",\u8ABF\u3079\u3066\u3044\u306A\u3044:'## Not checked (\u2605 zero findings does not mean "no problems")',\u52D5\u304B\u3059:(t,n)=>`- **${t} run-time checks** (${n}). These holes only show up when you open the app and press things, which needs a browser.`,\u52D5\u304B\u3059\u6848\u5185:' \u2192 Use the "Check by hand" table below and press through the app yourself.',\u8AAD\u307E\u306A\u304B\u3063\u305F:t=>`- Skipped (too large / too many): ${t}`,\u8868\u984C:"## Check by hand (instead of the run-time checks)",\u62FE\u3063\u305F:(t,n,e,r,s)=>`Found in the code: ${t} buttons${n?` (+${n} on test pages)`:""}, ${e} inputs, storage: ${r||"none"}, item limits: ${s||"none"}`,\u62FE\u3048\u308B\u9650\u308A:"\u2605 Only things written as text in the code can be found. Buttons created at run time may be missing (the general steps are always listed).",\u4ED5\u69D8\u984C:"### Decisions from your spec",\u4ED5\u69D8\u306A\u3057\u884C:"- No decisions that can be checked by pressing were found.",\u305D\u306E\u3068\u304A\u308A:"does it behave as decided?",\u8F09\u305B\u306A\u304B\u3063\u305F:"Decisions left out of the table (not checkable by pressing):",\u4ED5\u69D8\u304C\u306A\u3044:`With a spec file (\`${J}\`), the decisions you made are added to this table too. \`npx kokoro-baton "what you want to build"\` writes one for you.`,\u6700\u5F8C:"",\u7814\u78E8:"\u2192 Want an AI to read the code too? (opt-in only: check.html is sent to an AI and billed to your key): `npx kokoro-polish`",\u66F8\u3044\u305F:(t,n)=>`Report written: ${t} (${n} found)`,\u4F7F\u3044\u65B9:"Usage: npx kokoro-aegis <folder-or-file> [--out report.md] [--lang ja|en] [--offline]",\u898B\u305F\u76EE\u984C:"## Look (spec values vs. code values)",\u898B\u305F\u76EE\u8AAC\u660E:`The STYLE block in your spec was matched by name against the STYLE block in the code (no AI). Colors are compared by visible difference; small differences (\u0394E ${H} or less) pass.`,\u898B\u305F\u76EE\u30B3\u30FC\u30C9\u306B\u7121\u3057:"\u2605The code has no STYLE block (`/* ==== STYLE START ==== */` \u2026 `END`), so the spec values could not be checked.",\u540C\u3058:"matches",\u8FD1\u3044:t=>`almost matches (difference ${t})`,\u9055\u3046:"\u2605differs",\u7121\u3044:"\u2605missing in code",\u898B\u305F\u76EE\u306E\u6570:(t,n)=>`matching ${t} / differing or missing ${n}`,\u901A\u3055\u306A\u3044:(t,n)=>`\u2605${t} colors are written directly outside the STYLE block (these bypass STYLE, so changing the spec values will not change them): ${n}`}};function N(t){return t.replace(/\*\*/g,"").replace(/★/g,"").replace(/\s+/g," ").trim()}function jt(t,n){let e=N(St(t));return n==="en"?ct(e):e}async function ue(){let t=process.argv.slice(2);if(t.includes("--version")||t.includes("-v")){console.log(Qn);return}let n=oe(t),e=ae[n],r=new Set(["--out","--lang"].map(g=>t.indexOf(g)+1).filter(g=>g>0)),s=t.find((g,$)=>!g.startsWith("--")&&!r.has($)),c=t.includes("--out")?t[t.indexOf("--out")+1]:null;(!s||!I.default.existsSync(s)||t.includes("--help")||t.includes("-h"))&&(console.error(e.\u4F7F\u3044\u65B9),process.exit(s?1:0));let{\u30D5\u30A1\u30A4\u30EB:f,\u98DB\u3070\u3057\u305F:i,\u4ED5\u69D8:o,\u4ED5\u69D8\u306E\u9053:l,\u898B\u305F\u76EE\u306E\u30D5\u30A1\u30A4\u30EB:a}=re(R.default.resolve(s)),b=t.includes("--offline")?{\u540D\u524D:new Set,\u805E\u3051\u305F:[]}:await ie(),d=[],m=[],E=new Map,u=0;for(let g of f){u+=g.\u4E2D\u8EAB.split(`
19
19
  `).length;let $=et(g.\u4E2D\u8EAB);for(let w of $.\u8D70\u3089\u305B\u3066\u3044\u306A\u3044)E.set(w.\u691C\u67FB,w.\u7406\u7531);let T=ut(g.\u4E2D\u8EAB),x=[];for(let w of $.\u898B\u3064\u3051\u305F\u3082\u306E){if(w.\u691C\u67FB==="ghost-reference"&&b.\u540D\u524D.has(w.\u4E2D\u8EAB))continue;let S=w.\u884C?ft(T,w.\u884C):null;gt(S)?m.push({\u9053:g.\u9053,\u90E8\u54C1:pt(S),\u898B\u3064\u3051\u305F:w}):x.push(w)}x.length&&d.push({\u9053:g.\u9053,\u898B\u3064\u3051\u305F:x})}let p=it(f);for(let g of p.\u8D70\u3089\u305B\u3066\u3044\u306A\u3044)E.set(g.\u691C\u67FB,g.\u7406\u7531);let y=d.reduce((g,$)=>g+$.\u898B\u3064\u3051\u305F.length,0)+p.\u898B\u3064\u3051\u305F\u3082\u306E.length,v=n==="en"?` (The built-in list is as of ${B}; if this is a newer model, it is fine.)`:`\uFF08\u624B\u5143\u306E\u4E00\u89A7\u306F ${B} \u6642\u70B9\u3067\u3059\u3002\u305D\u308C\u3088\u308A\u65B0\u3057\u3044\u30E2\u30C7\u30EB\u306A\u3089\u554F\u984C\u3042\u308A\u307E\u305B\u3093\uFF09`,A=g=>{let $=g.\u691C\u67FB==="duplicated-number"&&/か所に書いてあります/.test(g.\u4E2D\u8EAB??""),T=n==="en"?$?"Same value today, but it lives in two places. Change only one next time and they drift apart. Keep it in one place and read it from there.":ce[g.\u691C\u67FB]??N(g.\u306A\u305C):N(g.\u306A\u305C);return g.\u691C\u67FB==="ghost-reference"&&!b.\u805E\u3051\u305F.length?T+v:T},k=g=>N(n==="en"?le(g):g.\u4E2D\u8EAB),h=[];if(h.push(e.\u984C(s),""),h.push(e.\u6982\u8981(f.length,u,y)+(m.length?e.\u51FA\u6765\u5408\u3044\u6570(m.length):"")),h.push(e.\u7D04\u675F),h.push(b.\u805E\u3051\u305F.length?e.\u4E00\u89A7\u3092\u805E\u3044\u305F(b.\u805E\u3051\u305F):e.\u4E00\u89A7\u306F\u624B\u5143(B)),h.push(""),d.length){h.push(e.\u30D5\u30A1\u30A4\u30EB\u3054\u3068);for(let g of d){h.push("",`### ${g.\u9053}`);for(let $ of g.\u898B\u3064\u3051\u305F)h.push(`- ${$.\u884C?e.\u884C\u76EE($.\u884C):""}\`${$.\u691C\u67FB}\` ${k($)}`),h.push(` - ${e.\u306A\u305C}: ${A($)}`)}h.push("")}if(p.\u898B\u3064\u3051\u305F\u3082\u306E.length){h.push(e.\u307E\u305F\u3044\u3067);for(let g of p.\u898B\u3064\u3051\u305F\u3082\u306E)h.push(`- \`${g.\u691C\u67FB}\` ${k(g)}`),h.push(` - ${e.\u306A\u305C}: ${A(g)}`);h.push("")}if(m.length){h.push(e.\u51FA\u6765\u5408\u3044\u984C,e.\u51FA\u6765\u5408\u3044\u8AAC\u660E);for(let g of m)h.push(`- ${g.\u9053} ${g.\u898B\u3064\u3051\u305F.\u884C?e.\u884C\u76EE(g.\u898B\u3064\u3051\u305F.\u884C):""}\`${g.\u898B\u3064\u3051\u305F.\u691C\u67FB}\` ${k(g.\u898B\u3064\u3051\u305F)} (${g.\u90E8\u54C1})`);h.push("")}let O=o?Q(o):null;if(O&&O.length){let g=[...a,...f],$=g.flatMap(x=>Q(x.\u4E2D\u8EAB)??[]);if(h.push(e.\u898B\u305F\u76EE\u984C,e.\u898B\u305F\u76EE\u8AAC\u660E,""),!$.length)h.push(e.\u898B\u305F\u76EE\u30B3\u30FC\u30C9\u306B\u7121\u3057);else{let x=Lt(O,$),w=x.filter(S=>S.\u7D50\u679C==="\u540C\u3058"||S.\u7D50\u679C==="\u8FD1\u3044").length;h.push(e.\u898B\u305F\u76EE\u306E\u6570(w,x.length-w),"");for(let S of x){let Ft=S.\u7D50\u679C==="\u540C\u3058"?e.\u540C\u3058:S.\u7D50\u679C==="\u8FD1\u3044"?e.\u8FD1\u3044(S.\u5DEE??0):S.\u7D50\u679C==="\u9055\u3046"?e.\u9055\u3046:e.\u7121\u3044,_t=S.\u7D50\u679C==="\u540C\u3058"||S.\u7D50\u679C==="\u8FD1\u3044";h.push(`- [${_t?"x":" "}] \`--${S.\u540D\u524D}\`${S.\u610F\u5473?` ${N(S.\u610F\u5473)}`:""}: ${S.\u4ED5\u69D8\u306E\u5024} \u2192 ${S.\u30B3\u30FC\u30C9\u306E\u5024??"\u2014"} \u2026 ${Ft}`)}}let T=g.flatMap(x=>/\.(css|scss|html?)$/i.test(x.\u9053)?Mt(x.\u4E2D\u8EAB).map(w=>`${x.\u9053}:${w.\u884C} ${w.\u8272}`):[]);T.length&&h.push("",e.\u901A\u3055\u306A\u3044(T.length,T.slice(0,8).join(", ")+(T.length>8?" \u2026":""))),h.push("")}h.push(e.\u8ABF\u3079\u3066\u3044\u306A\u3044),h.push(e.\u52D5\u304B\u3059(W.length,W.map(g=>g.id).join(n==="en"?", ":"\u30FB"))),h.push(e.\u52D5\u304B\u3059\u6848\u5185);for(let[g,$]of E)h.push(`- \`${g}\`${n==="en"?"":`: ${N($)}`}`);i.length&&h.push(e.\u8AAD\u307E\u306A\u304B\u3063\u305F(i.slice(0,20).join(", "))),h.push("");let D=at(f,n),L=D.\u62FE\u3063\u305F;if(h.push(e.\u8868\u984C),h.push(e.\u62FE\u3063\u305F(L.\u30DC\u30BF\u30F3.length,L.\u78BA\u304B\u3081\u7528\u306E\u30DC\u30BF\u30F3.length,L.\u5165\u529B\u6B04.length+L.\u6570\u306E\u6B04.length,L.\u4FDD\u5B58.join(", "),L.\u4E0A\u9650.map(g=>`${g.\u540D}=${g.\u6570}`).join(", "))),h.push(e.\u62FE\u3048\u308B\u9650\u308A),o){let g=Et(kt(lt(o),null)),$=g.find(x=>x.\u540D==="\u3042\u306A\u305F\u304C\u898B\u308B");if(h.push("",e.\u4ED5\u69D8\u984C),$&&$.\u884C.length)for(let x of $.\u884C.slice(0,40))h.push(`- [${x.\u8A18\u9332\u3042\u308A?"x":" "}] ${jt(x.\u984C,n)} \u2192 ${e.\u305D\u306E\u3068\u304A\u308A}`);else h.push(e.\u4ED5\u69D8\u306A\u3057\u884C);let T=g.filter(x=>x.\u540D!=="\u3042\u306A\u305F\u304C\u898B\u308B");if(T.length){h.push("",e.\u8F09\u305B\u306A\u304B\u3063\u305F);let x={"AI \u304C\u78BA\u304B\u3081\u308B":"Checked by whoever built it (internals, measured numbers)",\u3069\u3061\u3089\u3082\u78BA\u304B\u3081\u3088\u3046\u304C\u306A\u3044:"Cannot be checked by anyone (time, crowds, feelings)",\u78BA\u304B\u3081\u308B\u5BFE\u8C61\u3067\u306F\u306A\u3044:"Not a check (notes, progress reports, rules for building)"};for(let w of T)h.push(`- ${n==="en"?x[w.\u540D]??w.\u540D:w.\u540D} (${w.\u884C.length}): ${w.\u884C.slice(0,6).map(S=>jt(S.\u984C,n).slice(0,40)).join(" / ")}${w.\u884C.length>6?" / \u2026":""}`)}}for(let g of D.\u7FA4){h.push("",`### ${g.\u540D\u524D} (\`${g.\u691C\u67FB}\`)`);for(let $ of g.\u9805\u76EE)h.push(`- [ ] ${$.\u3084\u3063\u3066\u307F\u308B} \u2192 ${$.\u898B\u308B\u3053\u3068}`)}o||h.push("",e.\u4ED5\u69D8\u304C\u306A\u3044),h.push("",...[e.\u6700\u5F8C,e.\u7814\u78E8].filter(Boolean),"");let _=h.join(`
20
20
  `);if(c){let g=[...o&&l?[{\u540D:l,\u6307\u7D0B:V(o)}]:[],...[...f,...a].map($=>({\u540D:$.\u9053,\u6307\u7D0B:V($.\u4E2D\u8EAB)}))];I.default.writeFileSync(c,It(_,{\u9053\u5177:"aegis",\u65E5:Ot(),\u3082\u3068:g})),console.log(e.\u66F8\u3044\u305F(c,y))}else console.log(_)}ue().catch(t=>{console.error(t instanceof Error?t.message:t),process.exit(1)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kokoro-aegis",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Find the holes in AI-made apps before you ship: static checks plus a hand-check table built from your code and spec. No AI, no server, your code never leaves your machine.",
5
5
  "homepage": "https://github.com/xmichinokux/kokoro-os-tools#readme",
6
6
  "bin": {