@66rpg/cgmaker-create 0.1.20 → 0.1.21
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/index.js +13 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import p from"node:fs";import
|
|
1
|
+
import p from"node:fs";import u from"node:path";import ft from"node:readline";import{fileURLToPath as mt}from"node:url";import{spawnSync as gt}from"node:child_process";import{spawnSync as be}from"node:child_process";var X={_comment:"cgmaker-create \u7528\u6237\u53EF\u89C1\u6587\u6848\u3002\u5360\u4F4D\u7B26 {name}\u3002",help:{body:{code:"",text:`cgmaker-create \u2014 \u4ECE\u6258\u7BA1\u6A21\u677F\u521B\u5EFA\u5E26\u5B8C\u6574\u6E90\u7801\u7684\u6E38\u620F\u5DE5\u7A0B
|
|
2
2
|
|
|
3
3
|
\u7528\u6CD5:
|
|
4
4
|
npx @66rpg/cgmaker-create@latest <template_id> [\u76EE\u5F55] [data_id]
|
|
@@ -12,16 +12,17 @@ data_id \u4E3A\u8BE5\u6A21\u677F\u4E0B\u7684\u8D44\u6E90\u5305 ID\uFF08data_id\u
|
|
|
12
12
|
\u672A\u6307\u5B9A skill \u65F6\uFF1A\u4EA4\u4E92\u7EC8\u7AEF\u4F1A\u8BE2\u95EE\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF08\u56DE\u8F66\u65E0\u6548\uFF0C\u8DF3\u8FC7\u987B\u8F93\u5165 s\uFF1B\u4E4B\u540E\u53EF\u5728\u5DE5\u7A0B\u76EE\u5F55\u6267\u884C cgmaker skill\uFF09\uFF1B\u811A\u672C\u73AF\u5883\u9ED8\u8BA4\u4E0D\u5B89\u88C5\u3002\u672A\u6307\u5B9A\u76EE\u5F55\u65F6\uFF1A\u4EA4\u4E92\u4F1A\u95EE\u5DE5\u7A0B\u5EFA\u5728\u54EA\u4E2A\u6587\u4EF6\u5939\uFF08\u56DE\u8F66\u53EF\u7528\u62EC\u53F7\u91CC\u7684\u5EFA\u8BAE\u540D\uFF09\uFF1B\u811A\u672C\u5FC5\u987B\u5E26\u76EE\u5F55\u3002Agent \u8BF7\u52A0 --agent --json\uFF1A\u7F3A\u76EE\u5F55/\u7F3A\u53C2/\u65B0\u7248\u672C\u4F1A\u505C\u4E0B\u8BA9\u5BF9\u8BDD\u8BE2\u95EE\u7528\u6237\uFF0C\u4E0D\u8981\u81EA\u52A8\u8D77\u6587\u4EF6\u5939\u540D\u3002
|
|
13
13
|
--skill-platform \u53EA\u5B89\u88C5\u5230\u8BE5\u7F16\u8F91\u5668\uFF08\u5982 cursor\uFF09\uFF1B--skill-all \u5B89\u88C5\u5230\u5168\u90E8\u7F16\u8F91\u5668\u3002\u5DF2\u6709\u5DE5\u7A0B\u8865\u88C5\u7528 npx cgmaker skill --platform cursor \u6216 --all\u3002
|
|
14
14
|
\u6682\u65E0\u4E91\u7AEF\u6A21\u677F\u79CD\u5B50\u65F6\uFF0C\u7528 --from-dir\u3002\u53D1\u73B0\u65B0\u7248\uFF1A\u4F60\u5728\u5C4F\u5E55\u524D\u64CD\u4F5C\u65F6\u4F1A\u95EE\u662F\u5426\u66F4\u65B0\uFF1BAgent \u4F1A\u505C\u4E0B\u6765\u95EE\u4F60\u8981\u4E0D\u8981\u66F4\u65B0\uFF0C\u540C\u610F\u540E --apply-update\uFF0C\u62D2\u7EDD --skip-update\u3002
|
|
15
|
-
`,comment:"\u6574\u6BB5 --help"}},err:{from_dir_need_path:{code:"",text:"--from-dir \u9700\u8981\u6A21\u677F\u76EE\u5F55\u8DEF\u5F84",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_need:{code:"",text:"--data-id \u9700\u8981\u8D44\u6E90\u5305 ID\uFF08data_id\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_platform_need:{code:"",text:"--skill-platform \u9700\u8981\u7F16\u8F91\u5668\u540D\uFF08\u5982 cursor\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_conflict:{code:"",text:"--skill-platform \u4E0E --skill-all \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},cleared:{code:"",text:"\u5DF2\u6E05\u7A7A {dir}",comment:"\u5931\u8D25\u56DE\u6EDA"},clear_failed:{code:"",text:"\u65E0\u6CD5\u6E05\u7A7A {dir}\uFF1A{e}",comment:"\u5931\u8D25\u56DE\u6EDA\uFF1B{e} \u4E3A\u4E2D\u6587\u539F\u56E0\uFF0C\u4E0D\u8981\u586B\u7CFB\u7EDF Error.message"},sys_denied:{code:"",text:"\u6CA1\u6709\u6743\u9650\uFF0C\u6216\u6587\u4EF6\u88AB\u5360\u7528",comment:"EPERM / EACCES\uFF0C\u4E0D\u6253\u5370\u7CFB\u7EDF\u8DEF\u5F84"},sys_missing:{code:"",text:"\u8DEF\u5F84\u4E0D\u5B58\u5728",comment:"ENOENT"},sys_busy:{code:"",text:"\u76EE\u5F55\u975E\u7A7A\u6216\u6587\u4EF6\u6B63\u5728\u4F7F\u7528",comment:"EBUSY / ENOTEMPTY"},sys_type:{code:"",text:"\u8DEF\u5F84\u7C7B\u578B\u4E0D\u6B63\u786E",comment:"ENOTDIR / EISDIR"},sys_invalid:{code:"",text:"\u8DEF\u5F84\u65E0\u6548",comment:"EINVAL"},sys_too_many:{code:"",text:"\u6253\u5F00\u7684\u6587\u4EF6\u8FC7\u591A",comment:"EMFILE / ENFILE"},sys_unknown:{code:"",text:"\u7CFB\u7EDF\u62D2\u7EDD\u4E86\u8FD9\u6B21\u64CD\u4F5C",comment:"\u5176\u5B83\u7CFB\u7EDF\u9519\u8BEF\uFF0C\u4E0D\u6253\u5370 Error.message \u4EE5\u514D\u4E71\u7801"},owner_slug:{code:"",text:"\u4E0D\u8981\u5199\u6210 \u7528\u6237\u540D/\u6A21\u677F\u540D\u3002\u8BF7\u4F7F\u7528\u5E73\u53F0\u6A21\u677F ID\uFF08template_id\uFF0C\u5B57\u6BCD\u6570\u5B57\uFF09\uFF0C\u4F8B\u5982 k8n2x4m7q1w5",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_from_dir:{code:"",text:"--data-id \u4E0D\u80FD\u4E0E --from-dir \u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},invalid_data_id:{code:"",text:"\u65E0\u6548\u7684\u8D44\u6E90\u5305 ID\uFF08data_id\uFF09: {id}",comment:"\u53C2\u6570\u9519\u8BEF"},from_dir_not_template:{code:"",text:"--from-dir \u4E0D\u662F\u6A21\u677F\u76EE\u5F55: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},need_dest_no_tty:{code:"",text:"\u8BF7\u6307\u5B9A\u8981\u628A\u5DE5\u7A0B\u5EFA\u5728\u54EA\u4E2A\u6587\u4EF6\u5939\u3002",comment:"\u53C2\u6570\u9519\u8BEF"},dest_exists:{code:"",text:"\u8FD9\u4E2A\u6587\u4EF6\u5939\u5DF2\u7ECF\u6709\u4E1C\u897F\u4E86\uFF0C\u6362\u4E2A\u540D\u5B57\u6216\u8DEF\u5F84\u518D\u521B\u5EFA\uFF1A{dir}",comment:"\u53C2\u6570\u9519\u8BEF"},npm_install:{code:"",text:"npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},bin_missing:{code:"",text:"\u627E\u4E0D\u5230 {js}",comment:"\u843D\u5730\u5931\u8D25"},run_js:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {js}: {e}",comment:"\u843D\u5730\u5931\u8D25"},init_failed:{code:"",text:"cgmaker init \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},npm_install_again:{code:"",text:"init \u540E npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},run_npm:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {cmd}: {e}",comment:"npm \u542F\u52A8\u5931\u8D25"},need_input:{code:"11",text:"\u7F3A\u5C11\u9700\u8981\u5411\u7528\u6237\u786E\u8BA4\u7684\u53C2\u6570\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u540E\uFF0C\u628A\u7B54\u6848\u53D8\u6210\u547D\u4EE4\u884C\u65D7\u6807\u518D\u91CD\u8DD1\u3002",comment:"Agent \u9000\u51FA\u7801 11"},update_available:{code:"10",text:"\u68C0\u6D4B\u5230 cgmaker \u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u66F4\u65B0\u3002",comment:"Agent \u9000\u51FA\u7801 10"},update_use_latest:{code:"",text:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709 package.json\uFF0C\u65E0\u6CD5\u5199\u5165\u5DE5\u7A0B\u4F9D\u8D56\u3002\u8BF7\u6539\u7528 npx @66rpg/cgmaker-create@latest \u518D\u6267\u884C\u3002",comment:"create --apply-update \u65E0\u5DE5\u7A0B"},update_failed:{code:"",text:"\u66F4\u65B0\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\uFF0C\u7EE7\u7EED\u6267\u884C\u539F\u547D\u4EE4\u3002",comment:"npm install \u5931\u8D25"}},prompt:{dest_dir:{code:"",text:"\u5DE5\u7A0B\u8981\u5EFA\u5728\u54EA\u4E2A\u6587\u4EF6\u5939\uFF1F\u8BF7\u8BF4\u4E00\u4E2A\u65B0\u6587\u4EF6\u5939\u7684\u540D\u5B57\uFF0C\u6216\u5B8C\u6574\u8DEF\u5F84\u3002",comment:"\u8BE2\u95EE\u843D\u5730\u76EE\u5F55"},skill:{code:"",text:"\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF1F\
|
|
16
|
-
`)}function
|
|
17
|
-
`)[0]?.trim();
|
|
18
|
-
`)}function
|
|
19
|
-
`),
|
|
20
|
-
${_}`,"Y");if(
|
|
21
|
-
|
|
22
|
-
`),p.writeFileSync(
|
|
15
|
+
`,comment:"\u6574\u6BB5 --help"}},err:{from_dir_need_path:{code:"",text:"--from-dir \u9700\u8981\u6A21\u677F\u76EE\u5F55\u8DEF\u5F84",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_need:{code:"",text:"--data-id \u9700\u8981\u8D44\u6E90\u5305 ID\uFF08data_id\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_platform_need:{code:"",text:"--skill-platform \u9700\u8981\u7F16\u8F91\u5668\u540D\uFF08\u5982 cursor\uFF09",comment:"\u53C2\u6570\u9519\u8BEF"},skill_conflict:{code:"",text:"--skill-platform \u4E0E --skill-all \u4E0D\u80FD\u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},cleared:{code:"",text:"\u5DF2\u6E05\u7A7A {dir}",comment:"\u5931\u8D25\u56DE\u6EDA"},clear_failed:{code:"",text:"\u65E0\u6CD5\u6E05\u7A7A {dir}\uFF1A{e}",comment:"\u5931\u8D25\u56DE\u6EDA\uFF1B{e} \u4E3A\u4E2D\u6587\u539F\u56E0\uFF0C\u4E0D\u8981\u586B\u7CFB\u7EDF Error.message"},sys_denied:{code:"",text:"\u6CA1\u6709\u6743\u9650\uFF0C\u6216\u6587\u4EF6\u88AB\u5360\u7528",comment:"EPERM / EACCES\uFF0C\u4E0D\u6253\u5370\u7CFB\u7EDF\u8DEF\u5F84"},sys_missing:{code:"",text:"\u8DEF\u5F84\u4E0D\u5B58\u5728",comment:"ENOENT"},sys_busy:{code:"",text:"\u76EE\u5F55\u975E\u7A7A\u6216\u6587\u4EF6\u6B63\u5728\u4F7F\u7528",comment:"EBUSY / ENOTEMPTY"},sys_type:{code:"",text:"\u8DEF\u5F84\u7C7B\u578B\u4E0D\u6B63\u786E",comment:"ENOTDIR / EISDIR"},sys_invalid:{code:"",text:"\u8DEF\u5F84\u65E0\u6548",comment:"EINVAL"},sys_too_many:{code:"",text:"\u6253\u5F00\u7684\u6587\u4EF6\u8FC7\u591A",comment:"EMFILE / ENFILE"},sys_unknown:{code:"",text:"\u7CFB\u7EDF\u62D2\u7EDD\u4E86\u8FD9\u6B21\u64CD\u4F5C",comment:"\u5176\u5B83\u7CFB\u7EDF\u9519\u8BEF\uFF0C\u4E0D\u6253\u5370 Error.message \u4EE5\u514D\u4E71\u7801"},owner_slug:{code:"",text:"\u4E0D\u8981\u5199\u6210 \u7528\u6237\u540D/\u6A21\u677F\u540D\u3002\u8BF7\u4F7F\u7528\u5E73\u53F0\u6A21\u677F ID\uFF08template_id\uFF0C\u5B57\u6BCD\u6570\u5B57\uFF09\uFF0C\u4F8B\u5982 k8n2x4m7q1w5",comment:"\u53C2\u6570\u9519\u8BEF"},data_id_from_dir:{code:"",text:"--data-id \u4E0D\u80FD\u4E0E --from-dir \u540C\u65F6\u4F7F\u7528",comment:"\u53C2\u6570\u9519\u8BEF"},invalid_data_id:{code:"",text:"\u65E0\u6548\u7684\u8D44\u6E90\u5305 ID\uFF08data_id\uFF09: {id}",comment:"\u53C2\u6570\u9519\u8BEF"},from_dir_not_template:{code:"",text:"--from-dir \u4E0D\u662F\u6A21\u677F\u76EE\u5F55: {dir}",comment:"\u53C2\u6570\u9519\u8BEF"},need_dest_no_tty:{code:"",text:"\u8BF7\u6307\u5B9A\u8981\u628A\u5DE5\u7A0B\u5EFA\u5728\u54EA\u4E2A\u6587\u4EF6\u5939\u3002",comment:"\u53C2\u6570\u9519\u8BEF"},dest_exists:{code:"",text:"\u8FD9\u4E2A\u6587\u4EF6\u5939\u5DF2\u7ECF\u6709\u4E1C\u897F\u4E86\uFF0C\u6362\u4E2A\u540D\u5B57\u6216\u8DEF\u5F84\u518D\u521B\u5EFA\uFF1A{dir}",comment:"\u53C2\u6570\u9519\u8BEF"},npm_install:{code:"",text:"npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},bin_missing:{code:"",text:"\u627E\u4E0D\u5230 {js}",comment:"\u843D\u5730\u5931\u8D25"},run_js:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {js}: {e}",comment:"\u843D\u5730\u5931\u8D25"},init_failed:{code:"",text:"cgmaker init \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},npm_install_again:{code:"",text:"init \u540E npm install \u5931\u8D25",comment:"\u843D\u5730\u5931\u8D25"},run_npm:{code:"",text:"\u65E0\u6CD5\u8FD0\u884C {cmd}: {e}",comment:"npm \u542F\u52A8\u5931\u8D25"},need_input:{code:"11",text:"\u7F3A\u5C11\u9700\u8981\u5411\u7528\u6237\u786E\u8BA4\u7684\u53C2\u6570\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u540E\uFF0C\u628A\u7B54\u6848\u53D8\u6210\u547D\u4EE4\u884C\u65D7\u6807\u518D\u91CD\u8DD1\u3002",comment:"Agent \u9000\u51FA\u7801 11"},update_available:{code:"10",text:"\u68C0\u6D4B\u5230 cgmaker \u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\u3002\u8BF7\u8BE2\u95EE\u7528\u6237\u662F\u5426\u73B0\u5728\u66F4\u65B0\u3002",comment:"Agent \u9000\u51FA\u7801 10"},update_use_latest:{code:"",text:"\u5F53\u524D\u76EE\u5F55\u6CA1\u6709 package.json\uFF0C\u65E0\u6CD5\u5199\u5165\u5DE5\u7A0B\u4F9D\u8D56\u3002\u8BF7\u6539\u7528 npx @66rpg/cgmaker-create@latest \u518D\u6267\u884C\u3002",comment:"create --apply-update \u65E0\u5DE5\u7A0B"},update_failed:{code:"",text:"\u66F4\u65B0\u5931\u8D25\uFF0C\u5DF2\u8DF3\u8FC7\uFF0C\u7EE7\u7EED\u6267\u884C\u539F\u547D\u4EE4\u3002",comment:"npm install \u5931\u8D25"}},prompt:{dest_dir:{code:"",text:"\u5DE5\u7A0B\u8981\u5EFA\u5728\u54EA\u4E2A\u6587\u4EF6\u5939\uFF1F\u8BF7\u8BF4\u4E00\u4E2A\u65B0\u6587\u4EF6\u5939\u7684\u540D\u5B57\uFF0C\u6216\u5B8C\u6574\u8DEF\u5F84\u3002",comment:"\u8BE2\u95EE\u843D\u5730\u76EE\u5F55"},skill:{code:"",text:"\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF1F",comment:"Agent / TTY \u9009\u5E73\u53F0"},skill_detected:{code:"",text:"\u68C0\u6D4B\u5230\u5F53\u524D\u4F7F\u7528\u7684\u7F16\u8F91\u5668\u662F {id}\u3002\u8981\u628A AI \u8BF4\u660E\u5B89\u88C5\u5230\u54EA\u4E2A\u7F16\u8F91\u5668\uFF1F",comment:"Agent \u9009\u5E73\u53F0\uFF0C\u5DF2\u63A2\u6D4B\u5230\u5BBF\u4E3B"},skill_current_suffix:{code:"",text:"\uFF08\u5F53\u524D\uFF09",comment:"\u63A2\u6D4B\u5230\u7684\u7F16\u8F91\u5668\u9009\u9879\u540E\u7F00"},ask:{code:"",text:"{question} ({fallback}): ",comment:"readline \u63D0\u95EE\u683C\u5F0F"},update_ask:{code:"",text:"\u68C0\u6D4B\u5230\u65B0\u7248\u672C\uFF0C\u63A8\u8350\u66F4\u65B0\uFF0C\u662F\u5426\u73B0\u5728\u66F4\u65B0\uFF1F\uFF08\u56DE\u8F66=\u662F\uFF0Cn=\u5426\uFF09",comment:"TTY \u66F4\u65B0\u786E\u8BA4"}},ok:{written:{code:"",text:"\u5DF2\u5199\u5165\u5DE5\u7A0B {dir}",comment:"\u843D\u5730\u6210\u529F"},installed:{code:"",text:"\u5DF2\u5B89\u88C5 @66rpg/cgmaker \u5E76\u6267\u884C cgmaker init\u3002",comment:"\u843D\u5730\u6210\u529F"},local_origin:{code:"",text:"\u672C\u5730 --from-dir \u7684\u6A21\u677F ID\uFF08origin.template_id\uFF09\u4E3A local\uFF0C\u4E0D\u80FD\u76F4\u63A5 publish-template \u5230\u5E73\u53F0\u3002",comment:"\u672C\u5730\u6A21\u677F\u63D0\u9192"},next:{code:"",text:"\u63A5\u7740: cd \u8BE5\u76EE\u5F55 && npm run dev",comment:"\u843D\u5730\u6210\u529F\u4E0B\u4E00\u6B65"},update_installing:{code:"",text:"\u6B63\u5728\u628A cgmaker \u76F8\u5173\u5305\u66F4\u65B0\u5230\u6700\u65B0\u2026",comment:"npm install \u524D"},update_done:{code:"",text:"\u5DF2\u66F4\u65B0\u3002\u5F53\u524D\u8FDB\u7A0B\u4ECD\u662F\u65E7\u4EE3\u7801\uFF0C\u8BF7\u91CD\u65B0\u6267\u884C\u521A\u624D\u7684\u547D\u4EE4\u3002",comment:"\u66F4\u65B0\u6210\u529F\u540E\u9000\u51FA"}}};function we(){let e={...X};return delete e._comment,e}var xe=we();function i(e,t,n){let r=xe[e]?.[t];if(!r?.text)throw new Error(`missing create message ${e}.${t}`);let s=r.text;if(n)for(let[o,a]of Object.entries(n))s=s.split(`{${o}}`).join(String(a));return s}function Ae(e){return e&&typeof e=="object"&&"code"in e&&typeof e.code=="string"?e.code:(e instanceof Error?e.message:String(e)).match(/\b(EPERM|EACCES|ENOENT|EBUSY|ENOTEMPTY|ENOTDIR|EISDIR|EINVAL|EMFILE|ENFILE)\b/)?.[1]??""}function ve(e){return e?e.includes("\uFFFD")||e.includes("\\\\?\\"):!1}function R(e){switch(Ae(e)){case"EPERM":case"EACCES":return i("err","sys_denied");case"ENOENT":return i("err","sys_missing");case"EBUSY":case"ENOTEMPTY":return i("err","sys_busy");case"ENOTDIR":case"EISDIR":return i("err","sys_type");case"EINVAL":return i("err","sys_invalid");case"EMFILE":case"ENFILE":return i("err","sys_too_many");default:return i("err","sys_unknown")}}function Z(e){let t=e instanceof Error?e.message:String(e??"");return ve(t)?R(e):t}function Q(){return process.platform==="win32"?"npm.cmd":"npm"}function C(e,t={}){let n=process.platform==="win32",r=be(Q(),e,{windowsHide:n,...t,shell:n});if(r.error)throw new Error(i("err","run_npm",{cmd:Q(),e:R(r.error)}));return r}import N from"node:fs";import Re from"node:os";import A from"node:path";import Ce from"node:readline";import{fileURLToPath as Ne}from"node:url";var ne=["@66rpg/cgmaker","@66rpg/cgmaker-create","@66rpg/cgmaker-win32-x64"],Ie=1440*60*1e3;function Te(e,t){let n=e.split(".").map(o=>Number.parseInt(o,10)||0),r=t.split(".").map(o=>Number.parseInt(o,10)||0),s=Math.max(n.length,r.length);for(let o=0;o<s;o++){let a=n[o]??0,_=r[o]??0;if(a>_)return!0;if(a<_)return!1}return!1}function J(e=Re.homedir()){return A.join(e,".cgmaker","update-check.json")}function Pe(e=J()){try{let t=JSON.parse(N.readFileSync(e,"utf8"));return!t||typeof t.checkedAt!="number"||typeof t.latest!="object"?null:t}catch{return null}}function D(e,t=J()){N.mkdirSync(A.dirname(t),{recursive:!0}),N.writeFileSync(t,`${JSON.stringify(e,null,2)}
|
|
16
|
+
`)}function Oe(){return A.resolve(A.dirname(Ne(import.meta.url)),"..")}function je(e,t=process.cwd()){if(e==="@66rpg/cgmaker-create")try{let n=JSON.parse(N.readFileSync(A.join(Oe(),"package.json"),"utf8"));if(n.version)return n.version}catch{}try{return JSON.parse(N.readFileSync(A.join(t,"node_modules",e,"package.json"),"utf8")).version||null}catch{return null}}function ee(e,t=process.cwd(),n={}){let r=[];for(let s of ne){let o=e[s];if(!o||n[s]===o)continue;let a=je(s,t);a&&Te(o,a)&&r.push({name:s,current:a,latest:o})}return r}function De(e=process.cwd()){let t={};for(let n of ne)try{let r=C(["view",n,"version"],{cwd:e,encoding:"utf8",timeout:2e3}),s=(r.stdout??"").toString().trim().split(`
|
|
17
|
+
`)[0]?.trim();r.status===0&&s&&(t[n]=s)}catch{}return t}function Fe(){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"||process.env.CGMAKER_SKIP_UPDATE==="1"}function Me(){return process.platform==="win32"?["@66rpg/cgmaker-win32-x64"]:[]}function Ue(e){process.stdout.write(`${JSON.stringify({success:!1,code:10,command:"update-available",message:i("err","update_available"),data:{packages:e,apply:"npx @66rpg/cgmaker-create@latest --apply-update",skip:"npx @66rpg/cgmaker-create@latest --skip-update <\u539F\u547D\u4EE4\u4E0E\u53C2\u6570>"}},null,2)}
|
|
18
|
+
`)}function Le(e,t){let n=Ce.createInterface({input:process.stdin,output:process.stdout});return new Promise(r=>{n.question(`${e} [${t}]: `,s=>{n.close(),r(s.trim()||t)})})}async function re(e){if(Fe())return"continue";let t=e.cwd??process.cwd(),n=e.now??Date.now(),r=e.ppid??process.ppid,s=e.cacheFile??J(),o=Pe(s)??{checkedAt:0,latest:{}};if(n-o.checkedAt>=Ie){let l={};try{l=e.fetch?e.fetch():De(t)}catch{l={}}o={...o,checkedAt:n,latest:{...o.latest,...l}},D(o,s)}if(e.apply)return te(o.latest,t);if(e.skip){let l={...o.declined};for(let y of ee(o.latest,t))l[y.name]=y.latest;return D({...o,declined:l,promptedPpid:r},s),"continue"}let a=ee(o.latest,t,o.declined??{});if(a.length===0)return"continue";if(e.agent)return Ue(a),"agent-block";if(!e.tty||o.promptedPpid===r)return"continue";let _=a.map(l=>`${l.name} ${l.current} \u2192 ${l.latest}`).join(`
|
|
19
|
+
`),S=await Le(`${i("prompt","update_ask")}
|
|
20
|
+
${_}`,"Y");if(D({...o,promptedPpid:r},s),/^(n|no|否)$/i.test(S)){let l={...o.declined};for(let y of a)l[y.name]=y.latest;return D({...o,declined:l,promptedPpid:r},s),"continue"}return te(o.latest,t)}function te(e,t){let n=A.join(t,"package.json");if(!N.existsSync(n))return console.error(i("err","update_use_latest")),"updated-exit";let r=[];for(let s of["@66rpg/cgmaker","@66rpg/cgmaker-create",...Me()]){let o=e[s];r.push(o?`${s}@${o}`:`${s}@latest`)}console.error(i("ok","update_installing"));try{if(C(["install","-D",...r],{cwd:t,stdio:"inherit"}).status!==0)return console.error(i("err","update_failed")),"continue"}catch{return console.error(i("err","update_failed")),"continue"}return console.error(i("ok","update_done")),"updated-exit"}var $e=[{id:"workbuddy",tokens:["workbuddy"]},{id:"codebuddy",tokens:["codebuddy"]},{id:"cursor",tokens:["cursor"]},{id:"opencode",tokens:["opencode"]},{id:"claude",tokens:["claudecode","claude"]},{id:"codex",tokens:["codex"]},{id:"trae",tokens:["trae"]},{id:"kimi",tokens:["kimi"]},{id:"qwen",tokens:["qwen"]}],se=["agents","cursor","claude","codex","opencode","codebuddy","workbuddy","trae","kimi","qwen"];function Ge(e){let t=[" "];for(let n of e){let r="";for(let s of n.toLowerCase())s>="a"&&s<="z"||s>="0"&&s<="9"?r+=s:r?(t.push(r," "),r=""):t[t.length-1]!==" "&&t.push(" ");r&&t.push(r," ")}return t.join("")}function Ke(e){let t=[];for(let[n,r]of Object.entries(e))n&&t.push(n),typeof r=="string"&&r&&t.push(r);return t}function oe(e=process.env){let t=Ge(Ke(e));for(let{id:n,tokens:r}of $e)if(r.some(s=>t.includes(` ${s} `)))return n}function ie(e,t){return!t||!e.includes(t)?[...e]:[t,...e.filter(n=>n!==t)]}var B={CliCreateResult:"CliCreateResult"},Je=new Set(["usage","need_input","update","dest_exists","from_dir_invalid","npm_install","bin_missing","init_failed","fail"]);function ae(e){if(e)return Je.has(e)?e:void 0}function Y(e){return e===0?"ok":e===10?"update":e===11?"need_input":e===12?"login_required":e===2?"usage":"fail"}import I from"node:fs";import nt from"node:os";import ue from"node:path";import M from"node:fs";import Be from"node:os";import O from"node:path";import{fileURLToPath as Ye}from"node:url";var U="huanguang",ce="cgmaker_npm",le="cgmaker_create",Ve=`https://fx-it.66rpg.com:8206/sa?project=${U}`;function V(e,t=U){try{let n=new URL(e);return n.protocol==="https:"&&n.hostname==="fx-it.66rpg.com"&&n.port==="8206"&&n.pathname==="/sa"&&n.searchParams.get("project")===t&&!n.username&&!n.password}catch{return!1}}function F(e,t){return String(e[t]??"").trim().toLowerCase()}function qe(e){let t=F(e,"CGMAKER_NO_ANALYTICS");if(t==="1"||t==="true")return!0;let n=F(e,"CGMAKER_ANALYTICS");if(n==="0"||n==="false")return!0;let r=F(e,"CI");return!!(r==="true"||r==="1"||e.NODE_TEST_CONTEXT)}function ze(){let e=O.dirname(Ye(import.meta.url));for(;;){if(M.existsSync(O.join(e,"package.json")))return e;let t=O.dirname(e);if(t===e)return e;e=t}}function He(){try{let e=JSON.parse(M.readFileSync(O.join(ze(),"package.json"),"utf8"));return typeof e.version=="string"?e.version:""}catch{return""}}function We(e){try{let t=O.join(e,".cgmaker","config.json");if(!M.existsSync(t))return;let n=JSON.parse(M.readFileSync(t,"utf8"));return n&&typeof n=="object"?n:void 0}catch{return}}function Xe(e){let t=e?.web_config,n=typeof t?.type=="string"?t.type:"",r=typeof t?.base_cg=="string"?t.base_cg:"";return n&&n!=="1"||r.toLowerCase().includes("test")?"test":"release"}function Ze(e){let t=e?.env??process.env,n=e?.homeDir??Be.homedir(),r=e?.fileConfig??(e?.skipFile?void 0:We(n)),s=Xe(r),o=r?.sensorsAnalytics,a=!0;typeof o?.enabled=="boolean"&&(a=o.enabled),qe(t)&&(a=!1);let _=Ve,S=typeof o?.serverUrl=="string"?o.serverUrl.trim():"";S&&V(S)&&(_=S);let l=typeof t.CGMAKER_SENSORS_URL=="string"?t.CGMAKER_SENSORS_URL.trim():"";l&&V(l)&&(_=l),V(_)||(a=!1);let y=F(t,"CGMAKER_ANALYTICS_LOG"),d=s!=="release"&&(o?.showLog===!0||y==="1"||y==="true");return{enabled:a,serverUrl:_,showLog:d,deployEnv:s,releaseId:e?.releaseId??He()}}var q;function L(){return q||(q=Ze()),q}var Qe=/^\$?[A-Za-z][A-Za-z0-9_]{0,99}$/,et=new Set(["access_token","token","cookie","authorization","phone","mobile","wechat","qq","content","body","draft_title","search","query","error","message","stack","order_no","password","refresh_token","nick_name","nickname","username","lumi_username","dest","dest_dir","cwd","argv","from_dir","path","filepath"]);function tt(e){if(e!=null){if(typeof e=="string")return e.slice(0,256);if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(typeof e=="boolean"||e instanceof Date)return e;if(Array.isArray(e))return e.slice(0,20).map(t=>t.slice(0,256))}}function de(e){let t={};for(let[n,r]of Object.entries(e)){if(!Qe.test(n)||et.has(n.toLowerCase()))continue;let s=tt(r);s!==void 0&&(t[n]=s)}return t}var rt=100,st=600,ot=700,it="analytics-device-id",$=[],G=new Set,v,z=!1;function pe(e){try{return`${e}-${crypto.randomUUID()}`}catch{return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,12)}`}}function fe(e=nt.homedir()){if(v)return v;let t=ue.join(e,".cgmaker"),n=ue.join(t,it);try{if(I.existsSync(n)){let s=I.readFileSync(n,"utf8").trim();if(s)return v=s,s}let r=pe("cli");return I.mkdirSync(t,{recursive:!0}),I.writeFileSync(n,`${r}
|
|
21
|
+
`,{encoding:"utf8",flag:"wx"}),v=r,r}catch{try{if(I.existsSync(n)){let r=I.readFileSync(n,"utf8").trim();if(r)return v=r,r}}catch{}return v=pe("session"),v}}function at(){let e=Number.parseInt(process.versions.node,10);return Number.isFinite(e)?e:void 0}function ct(){let e=L();return{product:ce,app_id:le,deploy_env:e.deployEnv,env:e.deployEnv==="release"?"production":"development",release_id:e.releaseId,surface:"cli",device_type:"desktop",device_code:fe(),event_schema_version:1,os_platform:process.platform,os_arch:process.arch,node_major:at()}}function lt(e){G.add(e),e.finally(()=>G.delete(e))}async function dt(e,t){let n=L();if(!n.enabled)return;let r={distinct_id:fe(),time:Date.now(),type:"track",event:e,project:U,properties:{$lib:"Node",$lib_version:n.releaseId||"0",$lib_method:"code",...de({...ct(),...t})}};n.showLog&&console.error(`[cgmaker analytics] ${e}`);let s=Buffer.from(JSON.stringify(r),"utf8").toString("base64"),o=`data=${encodeURIComponent(s)}&gzip=0`,a=await fetch(n.serverUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:o,redirect:"error",signal:AbortSignal.timeout(st)});n.showLog&&console.error(`[cgmaker analytics] ${e} ${a.status}`)}function me(){if(z)return;z=!0;let e=$.splice(0);for(let t of e)lt(dt(t.name,t.properties).catch(()=>{}));z=!1}function ge(e,t={}){try{if(!L().enabled)return;$.length>=rt&&$.shift(),$.push({name:e,properties:t}),me()}catch{}}async function _e(e=ot){try{if(me(),G.size===0)return;await Promise.race([Promise.allSettled([...G]),new Promise(t=>{setTimeout(t,e).unref?.()})])}catch{}}function ut(e){return!!(e&&/^[a-zA-Z0-9]+$/.test(e))}function pt(e,t={}){let n=t.outcome??Y(e),r=t.success??(e===0&&n==="ok");ge(B.CliCreateResult,{package:"cgmaker-create",success:r,outcome:n,reason:ae(t.reason)??(n==="ok"?void 0:n),source:t.source,has_data_id:t.has_data_id,skill:t.skill,agent:!!t.agent,content_id:ut(t.content_id)?t.content_id:void 0})}async function K(e,t={}){try{t.skip||pt(e,t),await _e()}catch{}process.exit(e)}function T(){return i("help","body")}function _t(){return u.resolve(u.dirname(mt(import.meta.url)),"..")}function he(e=process.cwd()){let t=e;for(;;){let n=u.join(t,"templates"),r=u.join(t,"package.json");if(p.existsSync(n)&&p.existsSync(r))try{if(JSON.parse(p.readFileSync(r,"utf8")).workspaces?.some(a=>a.includes("templates")))return t}catch{}let s=u.dirname(t);if(s===t)return null;t=s}}function yt(){return JSON.parse(p.readFileSync(u.join(_t(),"package.json"),"utf8"))}function Ee(){let e=he();if(e){let t=u.join(e,"packages/cgmaker");if(p.existsSync(t))return`file:${t.replace(/\\/g,"/")}`}return`^${yt().version}`}function kt(e){let t=e.split("@")[0]??e;return((t.includes("/")?t.split("/").pop():t)||"game").replace(/^tmpl_/,"tmpl-")}function ye(e){return/^[a-zA-Z0-9]+$/.test(e)}function ht(e){let t=e.filter(d=>d!=="--"),n,r,s,o=!1,a=!1,_=!1,S=!1,l=!1,y=[];for(let d=0;d<t.length;d++){let c=t[d];if(c==="--from-dir"){let m=t[++d];if(!m||m.startsWith("-"))throw new Error(i("err","from_dir_need_path"));n=m;continue}if(c.startsWith("--from-dir=")){if(n=c.slice(11),!n)throw new Error(i("err","from_dir_need_path"));continue}if(c==="--data-id"||c==="--data-ver-id"){let m=t[++d];if(!m||m.startsWith("-"))throw new Error(i("err","data_id_need"));r=m;continue}if(c.startsWith("--data-id=")){if(r=c.slice(10),!r)throw new Error(i("err","data_id_need"));continue}if(c.startsWith("--data-ver-id=")){if(r=c.slice(14),!r)throw new Error(i("err","data_id_need"));continue}if(c==="--skill-all"){o=!0;continue}if(c==="--skill-skip"||c==="--skip-skill"){a=!0;continue}if(c==="--agent"){_=!0;continue}if(c==="--apply-update"){S=!0;continue}if(c==="--skip-update"){l=!0;continue}if(c!=="--json"){if(c==="--skill-platform"){let m=t[++d];if(!m||m.startsWith("-"))throw new Error(i("err","skill_platform_need"));s=m;continue}if(c.startsWith("--skill-platform=")){if(s=c.slice(17),!s)throw new Error(i("err","skill_platform_need"));continue}y.push(c)}}if(o&&s)throw new Error(i("err","skill_conflict"));if(a&&(o||s))throw new Error(i("err","skill_conflict"));return{rest:y,fromDir:n,dataId:r,skillPlatform:s,skillAll:o,skillSkip:a,agent:_,applyUpdate:S,skipUpdateFlag:l}}function Et(e,t){process.stdout.write(`${JSON.stringify({success:!1,code:11,command:"need-input",message:e,data:{questions:t}},null,2)}
|
|
22
|
+
`)}function St(e){return process.env.CI==="true"||process.env.CGMAKER_NO_INTERACTIVE==="1"?!1:e||process.env.CGMAKER_AGENT==="1"}function H(e,t){try{if(!p.existsSync(e))return;if(!t)p.rmSync(e,{recursive:!0,force:!0});else for(let n of p.readdirSync(e))p.rmSync(u.join(e,n),{recursive:!0,force:!0});console.error(i("err","cleared",{dir:e}))}catch(n){console.error(i("err","clear_failed",{dir:e,e:R(n)}))}}function wt(e,t){let n=ft.createInterface({input:process.stdin,output:process.stdout});return new Promise(r=>{n.question(i("prompt","ask",{question:e,fallback:t}),s=>{n.close(),r(s.trim()||t)})})}function ke(){return!!(process.stdin.isTTY&&process.stdout.isTTY)}function xt(e,t){p.mkdirSync(e,{recursive:!0});let n={name:t,private:!0,type:"module",engines:{node:">=20"},devDependencies:{"@66rpg/cgmaker":Ee()}};p.writeFileSync(u.join(e,"package.json"),`${JSON.stringify(n,null,2)}
|
|
23
|
+
`),p.writeFileSync(u.join(e,".gitignore"),`node_modules/
|
|
23
24
|
dist/
|
|
24
25
|
.DS_Store
|
|
25
|
-
`);let n
|
|
26
|
-
`)}function
|
|
27
|
-
`)}function
|
|
26
|
+
`);let r=n.devDependencies["@66rpg/cgmaker"],s=process.env.CGMAKER_NPM_SCOPE_REGISTRY?.trim();s&&typeof r=="string"&&!r.startsWith("file:")&&p.writeFileSync(u.join(e,".npmrc"),`@66rpg:registry=${s}
|
|
27
|
+
`)}function At(e,t){let n=u.join(e,"package.json"),r=JSON.parse(p.readFileSync(n,"utf8"));r.name=t,r.devDependencies=r.devDependencies??{},r.devDependencies["@66rpg/cgmaker"]||(r.devDependencies["@66rpg/cgmaker"]=Ee()),p.writeFileSync(n,`${JSON.stringify(r,null,2)}
|
|
28
|
+
`)}function vt(){return process.platform==="win32"?"cgmaker.exe":"cgmaker"}function bt(){let e=process.platform,t=process.arch;return e==="darwin"&&t==="arm64"?["aarch64-apple-darwin"]:e==="darwin"&&t==="x64"?["x86_64-apple-darwin"]:e==="win32"&&t==="x64"?["x86_64-pc-windows-gnu","x86_64-pc-windows-msvc"]:e==="linux"&&t==="x64"?["x86_64-unknown-linux-gnu","x86_64-unknown-linux-musl"]:e==="linux"&&t==="arm64"?["aarch64-unknown-linux-gnu","aarch64-unknown-linux-musl"]:[]}function Rt(e){let t=vt(),n=[];for(let r of["release","debug"]){for(let s of bt())n.push(u.join(e,s,r,t));n.push(u.join(e,r,t))}return n}function Ct(){if(process.env.CG_MAKER_CLI_BIN&&p.existsSync(process.env.CG_MAKER_CLI_BIN))return process.env.CG_MAKER_CLI_BIN;if(process.env.CGMAKER_BIN&&p.existsSync(process.env.CGMAKER_BIN))return process.env.CGMAKER_BIN;let e=[];process.env.CARGO_TARGET_DIR&&e.push(process.env.CARGO_TARGET_DIR);let t=he();t&&e.push(u.join(t,"target"));for(let n of e)for(let r of Rt(n))if(p.existsSync(r))return r}async function Nt(){let{rest:e,fromDir:t,dataId:n,skillPlatform:r,skillAll:s,skillSkip:o,agent:a,applyUpdate:_,skipUpdateFlag:S}=ht(process.argv.slice(2));if(e.includes("-h")||e.includes("--help")){process.stdout.write(T());return}let l=St(a);l&&(process.env.CGMAKER_AGENT="1");let y={agent:l,source:t?"from_dir":"template_id",has_data_id:!!n,skill:s?"all":o?"skip":r?"platform":"none",content_id:void 0},d=(f,h={})=>K(f,{...y,...h});if(_||S||e.length>0){let f=await re({apply:_,skip:S,agent:l,tty:ke()});if(f==="updated-exit")return d(0,{reason:"update",outcome:"update"});if(f==="agent-block")return d(10,{reason:"update"})}if(e.length===0)return process.stdout.write(T()),d(1,{reason:"usage"});let c=e[0],m=e[1],x=n??e[2];if(ye(c)&&!t&&(y.content_id=c),y.has_data_id=!!x,e.length>3)return process.stderr.write(T()),d(1,{reason:"usage"});if(!c||c.startsWith("-"))return process.stderr.write(T()),d(1,{reason:"usage"});if(c.includes("/"))return console.error(i("err","owner_slug")),d(1,{reason:"usage"});if(m?.startsWith("-"))return process.stderr.write(T()),d(1,{reason:"usage"});if(t&&x)return console.error(i("err","data_id_from_dir")),d(1,{reason:"usage"});if(x&&x!=="0"&&!ye(x))return console.error(i("err","invalid_data_id",{id:x})),d(1,{reason:"usage"});if(l){let f=[];if(m||f.push({id:"create.dest",kind:"text",question:i("prompt","dest_dir")}),!r&&!s&&!o){let h=[...se],E=oe(),w=E&&h.includes(E)?E:void 0,b=i("prompt","skill_current_suffix");f.push({id:"create.skill",kind:"select",question:w?i("prompt","skill_detected",{id:w}):i("prompt","skill"),recommended:!0,default:w,options:[...ie(h,w).map(g=>({value:g,label:g===w?`${g}${b}`:g,flag:`--skill-platform ${g}`,recommended:g===w})),{value:"__all__",label:"all",flag:"--skill-all"},{value:"skip",label:"skip",flag:"--skill-skip",optional:!0}]})}if(f.some(h=>h.optional!==!0))return Et(i("err","need_input"),f),d(11,{reason:"need_input"})}if(t){let f=u.resolve(t);if(!p.existsSync(u.join(f,"package.json")))return console.error(i("err","from_dir_not_template",{dir:f})),d(1,{reason:"from_dir_invalid"})}if(!m){let f=kt(c);if(!ke())return console.error(i("err","need_dest_no_tty")),process.stderr.write(T()),d(1,{reason:"usage"});m=await wt(i("prompt","dest_dir"),f)}let k=u.resolve(m),j=p.existsSync(k);if(j&&p.readdirSync(k).length)return console.error(i("err","dest_exists",{dir:k})),d(1,{reason:"dest_exists"});let P=async(f,h=1,E="fail")=>(H(k,j),console.error(f),d(h,{reason:E}));try{xt(k,u.basename(k));let f=C(["install"],{cwd:k,stdio:"inherit"});f.status!==0&&await P(i("err","npm_install"),f.status??1,"npm_install");let h=u.join(k,"node_modules/@66rpg/cgmaker/bin/cgmaker.js");p.existsSync(h)||await P(i("err","bin_missing",{js:h}),1,"bin_missing");let E=[h,"init",c];t&&E.push("--from-dir",u.resolve(t)),x&&E.push("--data-id",x),s&&E.push("--all"),r&&E.push("--platform",r),o&&E.push("--skip-skill"),l&&E.push("--agent","--json");let w=Ct(),b={...process.env};w&&(b.CGMAKER_BIN=w),l&&(b.CGMAKER_AGENT="1"),b.CGMAKER_SKIP_UPDATE="1";let g=gt(process.execPath,E,{cwd:k,stdio:"inherit",windowsHide:!0,env:b});if(g.error&&await P(i("err","run_js",{js:h,e:R(g.error)}),1,"init_failed"),g.status===10||g.status===11||g.status===12)return H(k,j),d(g.status,{reason:g.status===10?"update":g.status===11?"need_input":"fail"});g.status!==0&&await P(i("err","init_failed"),g.status??1,"init_failed"),At(k,u.basename(k));let W=C(["install"],{cwd:k,stdio:"inherit"});W.status!==0&&await P(i("err","npm_install_again"),W.status??1,"npm_install")}catch(f){throw H(k,j),f}return console.log(i("ok","written",{dir:k})),console.log(i("ok","installed")),t&&console.log(i("ok","local_origin")),console.log(i("ok","next")),d(0,{success:!0,outcome:"ok"})}Nt().catch(async e=>{console.error(Z(e)),await K(1,{reason:"fail"})});
|