@lovrabet/cli 1.2.5-beta.7 → 1.3.0-beta.11

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 (86) hide show
  1. package/lib/add-page/input-page-router.js +1 -1
  2. package/lib/add-page/main.js +1 -1
  3. package/lib/add-page/select-page-template.js +1 -1
  4. package/lib/ai-setup/AISetupUI.js +1 -1
  5. package/lib/ai-setup/config.js +1 -1
  6. package/lib/api/api-doc-ui.js +1 -1
  7. package/lib/api/api-doc.js +1 -1
  8. package/lib/api/api-pull-ui.js +1 -1
  9. package/lib/api/fetch-model-list.js +1 -1
  10. package/lib/api/generate-api-file.js +1 -1
  11. package/lib/api/main.js +1 -1
  12. package/lib/api/pull-silent.js +1 -1
  13. package/lib/app-menu/app-menu-sync-ui.js +1 -1
  14. package/lib/app-menu/create-menu.js +1 -1
  15. package/lib/app-menu/get-local-pages.js +1 -1
  16. package/lib/app-menu/get-online-menu-list.js +1 -1
  17. package/lib/app-menu/use-get-online-menu-list.js +1 -1
  18. package/lib/app-menu/utils.js +1 -1
  19. package/lib/app-menu/valid-url.js +1 -1
  20. package/lib/app-menu-update-cdn/current-content.js +1 -1
  21. package/lib/app-menu-update-cdn/input-cdn-asset.js +1 -1
  22. package/lib/app-menu-update-cdn/main.js +1 -1
  23. package/lib/app-menu-update-cdn/update-menu-cdn-url.js +1 -1
  24. package/lib/auth/auth-server-ui.js +1 -1
  25. package/lib/auth/auth-server.js +1 -1
  26. package/lib/auth/constant.js +1 -1
  27. package/lib/auth/get-cookie.js +1 -1
  28. package/lib/auth/is-session-valid.js +1 -1
  29. package/lib/auth/logout.js +1 -1
  30. package/lib/cli.js +1 -1
  31. package/lib/cmd/build-watch.js +1 -1
  32. package/lib/cmd/build.js +1 -1
  33. package/lib/cmd/logs.js +1 -1
  34. package/lib/cmd/preview.js +1 -1
  35. package/lib/cmd/start.js +1 -1
  36. package/lib/config/config-help.js +1 -1
  37. package/lib/config/main.js +1 -1
  38. package/lib/constant/domain.js +1 -1
  39. package/lib/constant/env.js +1 -1
  40. package/lib/create-app/enhanced-guided-create.js +1 -1
  41. package/lib/create-app/format-elapsed.js +1 -1
  42. package/lib/create-app/main.js +1 -1
  43. package/lib/create-app/non-interactive.js +1 -1
  44. package/lib/create-app/task-finished.js +1 -1
  45. package/lib/create-app/task-loading.js +1 -1
  46. package/lib/create-app/task-running.js +1 -1
  47. package/lib/create-app/task-time.js +1 -1
  48. package/lib/create-app/use-copy-project-template.js +1 -1
  49. package/lib/create-app/use-format-code.js +1 -1
  50. package/lib/create-app/use-install-dependencies.js +1 -1
  51. package/lib/help.js +1 -1
  52. package/lib/init/main.js +1 -1
  53. package/lib/mcp/McpInstallUI.js +1 -1
  54. package/lib/mcp/claude.js +1 -1
  55. package/lib/mcp/cursor.js +1 -1
  56. package/lib/mcp/main.js +1 -1
  57. package/lib/mcp/mcp-install-non-interactive.js +1 -1
  58. package/lib/mcp/mcp-installer.js +1 -1
  59. package/lib/skills/SkillInstallUI.js +1 -1
  60. package/lib/skills/main.js +1 -1
  61. package/lib/skills/skill-install-non-interactive.js +1 -1
  62. package/lib/skills/skill-installer.js +1 -1
  63. package/lib/ui/IDESelector.js +1 -1
  64. package/lib/ui/useIDESelection.js +1 -1
  65. package/lib/utils/ai_config.js +1 -1
  66. package/lib/utils/check-sdk-version.js +1 -1
  67. package/lib/utils/config.js +1 -1
  68. package/lib/utils/copy-directory.js +1 -1
  69. package/lib/utils/file-utils.js +1 -1
  70. package/lib/utils/guides-cdn.js +1 -0
  71. package/lib/utils/http-client.js +1 -1
  72. package/lib/utils/logger.js +1 -1
  73. package/lib/utils/router-updater.js +1 -1
  74. package/lib/utils/sleep.js +1 -1
  75. package/lib/utils/template-replacer.js +1 -1
  76. package/package.json +4 -3
  77. package/templates/skills/.cursorrules +0 -109
  78. package/templates/skills/.shared/README.md +0 -20
  79. package/templates/skills/.shared/SKILL.md.tpl +0 -119
  80. package/templates/skills/.shared/guides/01-typescript-sdk/guide.md +0 -382
  81. package/templates/skills/.shared/guides/02-mcp-sql-workflow/guide.md +0 -272
  82. package/templates/skills/.shared/guides/03-antd-style/guide.md +0 -282
  83. package/templates/skills/.shared/guides/04-troubleshooting/guide.md +0 -426
  84. package/templates/skills/.shared/guides/05-api-integration/guide.md +0 -329
  85. package/templates/skills/.shared/guides/06-menu-management/guide.md +0 -307
  86. package/templates/skills/.shared/guides/07-backend-function/guide.md +0 -600
@@ -1 +1 @@
1
- function a0_0x2a1d(_0x2ec114,_0x4c4c71){_0x2ec114=_0x2ec114-0xaf;const _0x516f65=a0_0x516f();let _0x2a1dc7=_0x516f65[_0x2ec114];return _0x2a1dc7;}(function(_0x26a57a,_0x3b47f0){const _0x35579a=a0_0x2a1d,_0x1bab06=_0x26a57a();while(!![]){try{const _0x173766=parseInt(_0x35579a(0xb7))/0x1+parseInt(_0x35579a(0xc8))/0x2*(-parseInt(_0x35579a(0xcd))/0x3)+parseInt(_0x35579a(0xbe))/0x4*(-parseInt(_0x35579a(0xb9))/0x5)+-parseInt(_0x35579a(0xc5))/0x6*(parseInt(_0x35579a(0xaf))/0x7)+parseInt(_0x35579a(0xbd))/0x8*(parseInt(_0x35579a(0xb8))/0x9)+-parseInt(_0x35579a(0xcf))/0xa+-parseInt(_0x35579a(0xc1))/0xb*(-parseInt(_0x35579a(0xc4))/0xc);if(_0x173766===_0x3b47f0)break;else _0x1bab06['push'](_0x1bab06['shift']());}catch(_0x7e5c1d){_0x1bab06['push'](_0x1bab06['shift']());}}}(a0_0x516f,0x60f07));function a0_0x516f(){const _0x41e5f3=['7LgVzSQ','green','路径不能包含连续的\x20/','column','slice','length','endsWith','my-page','774896mRUIwR','18qBBFbl','515980BpFVjO','red','\x20已存在,请使用其他路径','页面路径不合法','325664nHanYw','8YZHtev','trim','includes','44jwbanq','页面路由地址:\x20','路径不能以\x20/\x20开头或结尾','2311896yvwVqu','1201260yObxNJ','return','页面路径\x20','184006sAPdKZ','existsSync','\x20←\x20','backspace','\x20直接回车确认,或输入自定义路由地址','12kORTzu','startsWith','4552670owpCJz','gray'];a0_0x516f=function(){return _0x41e5f3;};return a0_0x516f();}import{jsx as a0_0x2bb625,jsxs as a0_0x2e0b76}from'react/jsx-runtime';import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0x587cf8 from'node:fs';export function InputProjectCode(_0x2d4e18){const _0x37177b=a0_0x2a1d,{onSubmit:_0x243a62,pagePath:_0x1577ed}=_0x2d4e18,[_0x26f064,_0x2af658]=useState(''),[_0x2977eb,_0x5648bb]=useState(''),_0x351627=_0x37177b(0xb6);function _0x4e549b(_0x12efdb){const _0xfefc01=_0x37177b;if(_0x12efdb[_0xfefc01(0xb4)]>0x64)return{'valid':![],'message':'页面路径长度不能超过\x20100\x20个字符'};if(_0x12efdb[_0xfefc01(0xce)]('/')||_0x12efdb[_0xfefc01(0xb5)]('/'))return{'valid':![],'message':_0xfefc01(0xc3)};if(_0x12efdb[_0xfefc01(0xc0)]('//'))return{'valid':![],'message':_0xfefc01(0xb1)};const _0x448fb4=_0x12efdb['split']('/');for(const _0x270f9b of _0x448fb4){if(!_0x270f9b)continue;const _0x9451d3=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x9451d3['test'](_0x270f9b))return{'valid':![],'message':'路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_'};}return{'valid':!![]};}return useInput((_0x43a5ec,_0x12d6d5)=>{const _0x1db935=_0x37177b;if(_0x12d6d5[_0x1db935(0xc6)]){const _0x47e7c9=_0x26f064[_0x1db935(0xbf)]()||_0x351627;if(_0x2977eb)return;const _0x3809f5=_0x1577ed+'/'+_0x47e7c9;if(a0_0x587cf8[_0x1db935(0xc9)](_0x3809f5)){_0x5648bb(_0x1db935(0xc7)+_0x47e7c9+_0x1db935(0xbb));return;}_0x243a62(_0x47e7c9),_0x2af658(''),_0x5648bb('');}else _0x12d6d5[_0x1db935(0xcb)]||_0x12d6d5['delete']?_0x2af658(_0x400605=>{const _0x5b17a3=_0x1db935,_0x20030f=_0x400605[_0x5b17a3(0xb3)](0x0,-0x1),{valid:_0x10c604,message:_0x357fe5}=_0x4e549b(_0x20030f);return _0x5648bb(_0x10c604?'':_0x357fe5||_0x5b17a3(0xbc)),_0x20030f;}):_0x2af658(_0x5528d5=>{const _0x2ffe13=_0x1db935,_0xd0d81f=_0x5528d5+_0x43a5ec,{valid:_0x407dab,message:_0x1befeb}=_0x4e549b(_0xd0d81f);return _0x5648bb(_0x407dab?'':_0x1befeb||_0x2ffe13(0xbc)),_0xd0d81f;});}),a0_0x2e0b76(Box,{'flexDirection':_0x37177b(0xb2),'children':[a0_0x2e0b76(Box,{'children':[a0_0x2bb625(Text,{'color':'gray','children':'\x20Step2:\x20'}),a0_0x2bb625(Text,{'children':_0x37177b(0xc2)}),_0x26f064?a0_0x2bb625(Text,{'color':_0x37177b(0xb0),'children':_0x26f064}):a0_0x2bb625(Text,{'color':'gray','children':_0x351627}),_0x2977eb&&a0_0x2e0b76(Text,{'color':_0x37177b(0xba),'children':[_0x37177b(0xca),_0x2977eb]})]}),!_0x2977eb&&!_0x26f064&&a0_0x2bb625(Box,{'children':a0_0x2bb625(Text,{'color':_0x37177b(0xd0),'children':_0x37177b(0xcc)})})]});}
1
+ (function(_0x16849f,_0x2da5a8){const _0xe2c5a6=a0_0x48bb,_0x36fd91=_0x16849f();while(!![]){try{const _0x2a5d23=parseInt(_0xe2c5a6(0x142))/0x1+parseInt(_0xe2c5a6(0x13a))/0x2*(-parseInt(_0xe2c5a6(0x128))/0x3)+-parseInt(_0xe2c5a6(0x139))/0x4*(parseInt(_0xe2c5a6(0x135))/0x5)+parseInt(_0xe2c5a6(0x129))/0x6+parseInt(_0xe2c5a6(0x13c))/0x7*(-parseInt(_0xe2c5a6(0x140))/0x8)+-parseInt(_0xe2c5a6(0x13f))/0x9+parseInt(_0xe2c5a6(0x12e))/0xa;if(_0x2a5d23===_0x2da5a8)break;else _0x36fd91['push'](_0x36fd91['shift']());}catch(_0x4a87f7){_0x36fd91['push'](_0x36fd91['shift']());}}}(a0_0x33f7,0xca9dd));function a0_0x48bb(_0x5434ef,_0x9c0f8a){_0x5434ef=_0x5434ef-0x11e;const _0x33f783=a0_0x33f7();let _0x48bb51=_0x33f783[_0x5434ef];return _0x48bb51;}import{jsx as a0_0xf3cf64,jsxs as a0_0x31ed51}from'react/jsx-runtime';function a0_0x33f7(){const _0x8fa45=['backspace','\x20←\x20','includes','13013090mLOCcP','\x20直接回车确认,或输入自定义路由地址','\x20已存在,请使用其他路径','green','startsWith','\x20Step2:\x20','split','30nCtQCm','页面路径\x20','my-page','trim','51200sRxfxe','6KaWGuh','路径不能包含连续的\x20/','77maJmSZ','gray','页面路径长度不能超过\x20100\x20个字符','11566035GfHOPE','609368bvpOPE','length','668676jPObIw','路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_','return','路径不能以\x20/\x20开头或结尾','existsSync','页面路径不合法','column','delete','slice','red','页面路由地址:\x20','27210pkBkFV','6521628HSkNbj','test'];a0_0x33f7=function(){return _0x8fa45;};return a0_0x33f7();}import{useState}from'react';import{Text,Box,useInput}from'ink';import a0_0x15b7af from'node:fs';export function InputProjectCode(_0x1f20bb){const _0x16f5e1=a0_0x48bb,{onSubmit:_0x47b1bc,pagePath:_0x368233}=_0x1f20bb,[_0x3600e,_0x1d29c4]=useState(''),[_0x4fbfc9,_0x40e6b2]=useState(''),_0x3d6bcc=_0x16f5e1(0x137);function _0x4d8cf4(_0x2c2256){const _0x7ebdd1=_0x16f5e1;if(_0x2c2256[_0x7ebdd1(0x141)]>0x64)return{'valid':![],'message':_0x7ebdd1(0x13e)};if(_0x2c2256[_0x7ebdd1(0x132)]('/')||_0x2c2256['endsWith']('/'))return{'valid':![],'message':_0x7ebdd1(0x120)};if(_0x2c2256[_0x7ebdd1(0x12d)]('//'))return{'valid':![],'message':_0x7ebdd1(0x13b)};const _0x5232a3=_0x2c2256[_0x7ebdd1(0x134)]('/');for(const _0x45667e of _0x5232a3){if(!_0x45667e)continue;const _0x409743=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x409743[_0x7ebdd1(0x12a)](_0x45667e))return{'valid':![],'message':_0x7ebdd1(0x11e)};}return{'valid':!![]};}return useInput((_0x6276b6,_0x4df9d3)=>{const _0x3aabda=_0x16f5e1;if(_0x4df9d3[_0x3aabda(0x11f)]){const _0x32da19=_0x3600e[_0x3aabda(0x138)]()||_0x3d6bcc;if(_0x4fbfc9)return;const _0x1ea785=_0x368233+'/'+_0x32da19;if(a0_0x15b7af[_0x3aabda(0x121)](_0x1ea785)){_0x40e6b2(_0x3aabda(0x136)+_0x32da19+_0x3aabda(0x130));return;}_0x47b1bc(_0x32da19),_0x1d29c4(''),_0x40e6b2('');}else _0x4df9d3[_0x3aabda(0x12b)]||_0x4df9d3[_0x3aabda(0x124)]?_0x1d29c4(_0x1cbf2c=>{const _0x3127de=_0x3aabda,_0x290071=_0x1cbf2c[_0x3127de(0x125)](0x0,-0x1),{valid:_0x298220,message:_0x49e6dd}=_0x4d8cf4(_0x290071);return _0x40e6b2(_0x298220?'':_0x49e6dd||_0x3127de(0x122)),_0x290071;}):_0x1d29c4(_0x3e2733=>{const _0x2a43a1=_0x3aabda,_0x182126=_0x3e2733+_0x6276b6,{valid:_0x1853cb,message:_0x732575}=_0x4d8cf4(_0x182126);return _0x40e6b2(_0x1853cb?'':_0x732575||_0x2a43a1(0x122)),_0x182126;});}),a0_0x31ed51(Box,{'flexDirection':_0x16f5e1(0x123),'children':[a0_0x31ed51(Box,{'children':[a0_0xf3cf64(Text,{'color':_0x16f5e1(0x13d),'children':_0x16f5e1(0x133)}),a0_0xf3cf64(Text,{'children':_0x16f5e1(0x127)}),_0x3600e?a0_0xf3cf64(Text,{'color':_0x16f5e1(0x131),'children':_0x3600e}):a0_0xf3cf64(Text,{'color':_0x16f5e1(0x13d),'children':_0x3d6bcc}),_0x4fbfc9&&a0_0x31ed51(Text,{'color':_0x16f5e1(0x126),'children':[_0x16f5e1(0x12c),_0x4fbfc9]})]}),!_0x4fbfc9&&!_0x3600e&&a0_0xf3cf64(Box,{'children':a0_0xf3cf64(Text,{'color':_0x16f5e1(0x13d),'children':_0x16f5e1(0x12f)})})]});}
@@ -1 +1 @@
1
- const a1_0x270d8a=a1_0x494b;(function(_0x32e4ab,_0x47a3f9){const _0x5bbbf9=a1_0x494b,_0x16af5e=_0x32e4ab();while(!![]){try{const _0x347c5e=parseInt(_0x5bbbf9(0xa9))/0x1*(parseInt(_0x5bbbf9(0xb4))/0x2)+parseInt(_0x5bbbf9(0x9e))/0x3+parseInt(_0x5bbbf9(0x9a))/0x4+parseInt(_0x5bbbf9(0x96))/0x5*(parseInt(_0x5bbbf9(0x9b))/0x6)+-parseInt(_0x5bbbf9(0xb9))/0x7+parseInt(_0x5bbbf9(0x9c))/0x8*(parseInt(_0x5bbbf9(0xa3))/0x9)+-parseInt(_0x5bbbf9(0xa7))/0xa;if(_0x347c5e===_0x47a3f9)break;else _0x16af5e['push'](_0x16af5e['shift']());}catch(_0x156a8a){_0x16af5e['push'](_0x16af5e['shift']());}}}(a1_0x3296,0x224f7));import{jsx as a1_0x5b3300,jsxs as a1_0x1bad4b,Fragment as a1_0x5a163e}from'react/jsx-runtime';import{fileURLToPath}from'node:url';function a1_0x3296(){const _0x3bd9a6=['页面添加失败:\x20','\x20*\x20页面文件已创建,可直接通过路由访问','3928890leDXob','add-page','1JLnMqN','success','now','cyan','../../templates/pages','\x20*\x20页面路径:\x20','processTemplate','\x20*\x20页面创建成功!','cwd','error','正在创建页面,请稍候…','503054AYpFZJ','catch','setLogPath','\x20Step2:\x20','info','1478603jEniLD','已输入的页面路由\x20','src','\x20Step1:\x20','开始添加页面:\x20','join','1940MMKMCD','gray','页面添加成功:\x20','\x20*\x20路由地址:\x20','739588IqEbLN','168tOrdsm','363712ljJQBu','resolve','619311KEvMFJ','message','已选择页面模板\x20','column','pages','18BbrcEw','green'];a1_0x3296=function(){return _0x3bd9a6;};return a1_0x3296();}import a1_0x11c314 from'node:path';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';function a1_0x494b(_0x1bddb9,_0x32c3b6){_0x1bddb9=_0x1bddb9-0x92;const _0x3296be=a1_0x3296();let _0x494bb3=_0x3296be[_0x1bddb9];return _0x494bb3;}import{SelectPageTemplate}from'./select-page-template.js';import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x11c314['dirname'](fileURLToPath(import.meta.url)),pageTemplateDir=a1_0x11c314[a1_0x270d8a(0x9d)](__dirname,a1_0x270d8a(0xad)),projectDir=process[a1_0x270d8a(0xb1)]();export const AddPage=()=>{const _0x47247e=a1_0x270d8a,{exit:_0x2e2038}=useApp(),[_0x47ad13,_0x6abcf1]=useState(''),[_0x1153c0,_0x4a3f9a]=useState(''),[_0x40dc0b,_0x117344]=useState(![]),[_0xe54132,_0x4767af]=useState(![]),_0x14aeeb=a1_0x11c314[_0x47247e(0x95)](projectDir,_0x47247e(0x92),'pages'),_0x18d64b=a1_0x11c314['join'](_0x14aeeb,_0x1153c0),_0x38b739=a1_0x11c314['join'](_0x47247e(0x92),_0x47247e(0xa2),_0x1153c0);useEffect(()=>{const _0x5b608c=_0x47247e,_0x5ab7b4=a1_0x11c314['resolve'](pageTemplateDir,_0x47ad13);if(_0x47ad13&&_0x1153c0){_0x117344(!![]),logger[_0x5b608c(0xb6)](process['cwd']());const _0x1a3541=Date[_0x5b608c(0xab)]();logger[_0x5b608c(0xb8)](_0x5b608c(0xa8),_0x5b608c(0x94)+_0x1153c0,{'template':_0x47ad13,'targetPath':_0x38b739}),TemplateReplacer[_0x5b608c(0xaf)](_0x5ab7b4,a1_0x11c314[_0x5b608c(0x95)](_0x14aeeb,_0x1153c0),_0x1153c0,_0x47ad13)['then'](()=>{const _0x160b7a=_0x5b608c,_0x5314f7=Date[_0x160b7a(0xab)]()-_0x1a3541;logger[_0x160b7a(0xaa)](_0x160b7a(0xa8),_0x160b7a(0x98)+_0x1153c0,_0x5314f7,{'template':_0x47ad13,'targetPath':_0x38b739,'routePath':_0x1153c0}),_0x4767af(!![]);})[_0x5b608c(0xb5)](_0x4acc43=>{const _0x4858f0=_0x5b608c,_0x1b823e=Date[_0x4858f0(0xab)]()-_0x1a3541;logger[_0x4858f0(0xb2)](_0x4858f0(0xa8),_0x4858f0(0xa5)+_0x1153c0,{'template':_0x47ad13,'targetPath':_0x38b739,'error':_0x4acc43 instanceof Error?_0x4acc43[_0x4858f0(0x9f)]:String(_0x4acc43),'duration':_0x1b823e});})['finally'](()=>{_0x117344(![]);});}},[_0x47ad13,_0x1153c0]),useEffect(()=>{_0xe54132&&setTimeout(()=>{_0x2e2038();});},[_0xe54132]);if(_0x47ad13)return a1_0x1bad4b(Box,{'flexDirection':_0x47247e(0xa1),'paddingY':0x1,'children':[a1_0x1bad4b(Box,{'children':[a1_0x5b3300(Text,{'color':_0x47247e(0x97),'children':_0x47247e(0x93)}),a1_0x5b3300(Text,{'children':_0x47247e(0xa0)}),a1_0x5b3300(Text,{'color':_0x47247e(0xa4),'children':_0x47ad13})]}),_0x1153c0?a1_0x1bad4b(Box,{'children':[a1_0x5b3300(Text,{'color':_0x47247e(0x97),'children':_0x47247e(0xb7)}),a1_0x5b3300(Text,{'children':_0x47247e(0xba)}),a1_0x5b3300(Text,{'color':_0x47247e(0xa4),'children':_0x1153c0})]}):a1_0x5b3300(InputProjectCode,{'pagePath':_0x18d64b,'onSubmit':_0x4a3f9a}),_0x1153c0&&_0x40dc0b?a1_0x1bad4b(Box,{'marginTop':0x1,'children':[a1_0x5b3300(Box,{'width':'4'}),a1_0x5b3300(Text,{'children':_0x47247e(0xb3)})]}):null,_0xe54132?a1_0x1bad4b(a1_0x5a163e,{'children':[a1_0x5b3300(Box,{'marginTop':0x1,'children':a1_0x5b3300(Text,{'color':'gray','children':_0x47247e(0xb0)})}),a1_0x1bad4b(Box,{'children':[a1_0x5b3300(Text,{'color':'gray','children':_0x47247e(0xae)}),a1_0x5b3300(Text,{'color':_0x47247e(0xa4),'children':_0x38b739})]}),a1_0x1bad4b(Box,{'children':[a1_0x5b3300(Text,{'color':_0x47247e(0x97),'children':_0x47247e(0x99)}),a1_0x1bad4b(Text,{'color':'green','children':['/',_0x1153c0]})]}),a1_0x5b3300(Box,{'marginTop':0x1,'children':a1_0x5b3300(Text,{'color':_0x47247e(0xac),'children':_0x47247e(0xa6)})})]}):null]});return a1_0x5b3300(SelectPageTemplate,{'onSelect':_0x6abcf1});};
1
+ const a1_0x5e2bfb=a1_0x277e;(function(_0x19dcd2,_0x41a120){const _0x3234fb=a1_0x277e,_0x5708fa=_0x19dcd2();while(!![]){try{const _0x2ae544=-parseInt(_0x3234fb(0x1be))/0x1*(-parseInt(_0x3234fb(0x1c0))/0x2)+parseInt(_0x3234fb(0x1a6))/0x3*(-parseInt(_0x3234fb(0x1bd))/0x4)+-parseInt(_0x3234fb(0x1a4))/0x5*(-parseInt(_0x3234fb(0x1bf))/0x6)+parseInt(_0x3234fb(0x1a7))/0x7+-parseInt(_0x3234fb(0x1c3))/0x8+parseInt(_0x3234fb(0x1c7))/0x9+-parseInt(_0x3234fb(0x1b6))/0xa;if(_0x2ae544===_0x41a120)break;else _0x5708fa['push'](_0x5708fa['shift']());}catch(_0x25e0f9){_0x5708fa['push'](_0x5708fa['shift']());}}}(a1_0x9182,0x791ec));import{jsx as a1_0x43441c,jsxs as a1_0x58e780,Fragment as a1_0x539e63}from'react/jsx-runtime';function a1_0x9182(){const _0x1e7775=['4059512buIMVq','add-page','已选择页面模板\x20','正在创建页面,请稍候…','4266810PWbFvP','finally','\x20*\x20页面创建成功!','13815xKrukE','success','22635Imokrb','40208ZSqiyP','error','green','\x20*\x20路由地址:\x20','\x20*\x20页面文件已创建,可直接通过路由访问','dirname','join','then','../../templates/pages','catch','info','message','processTemplate','pages','已输入的页面路由\x20','398590NmrgDT','\x20*\x20页面路径:\x20','now','src','cwd','column','resolve','516Xxjcwl','38YaEfvs','2070uWgsFK','30718NVJyOp','gray','setLogPath'];a1_0x9182=function(){return _0x1e7775;};return a1_0x9182();}import{fileURLToPath}from'node:url';import a1_0x30d710 from'node:path';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';function a1_0x277e(_0x1255bf,_0x43216e){_0x1255bf=_0x1255bf-0x1a4;const _0x9182e1=a1_0x9182();let _0x277ece=_0x9182e1[_0x1255bf];return _0x277ece;}import{SelectPageTemplate}from'./select-page-template.js';import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x30d710[a1_0x5e2bfb(0x1ac)](fileURLToPath(import.meta.url)),pageTemplateDir=a1_0x30d710['resolve'](__dirname,a1_0x5e2bfb(0x1af)),projectDir=process[a1_0x5e2bfb(0x1ba)]();export const AddPage=()=>{const _0x4982f2=a1_0x5e2bfb,{exit:_0x5b501a}=useApp(),[_0x50e6e5,_0x444d00]=useState(''),[_0x58e776,_0x35b254]=useState(''),[_0x4503ec,_0x35fe1d]=useState(![]),[_0x31004b,_0x3a918c]=useState(![]),_0x497c49=a1_0x30d710[_0x4982f2(0x1ad)](projectDir,_0x4982f2(0x1b9),_0x4982f2(0x1b4)),_0x3a9a6d=a1_0x30d710[_0x4982f2(0x1ad)](_0x497c49,_0x58e776),_0x2ac934=a1_0x30d710[_0x4982f2(0x1ad)](_0x4982f2(0x1b9),'pages',_0x58e776);useEffect(()=>{const _0x19aa7a=_0x4982f2,_0x32a9b9=a1_0x30d710[_0x19aa7a(0x1bc)](pageTemplateDir,_0x50e6e5);if(_0x50e6e5&&_0x58e776){_0x35fe1d(!![]),logger[_0x19aa7a(0x1c2)](process[_0x19aa7a(0x1ba)]());const _0x354615=Date[_0x19aa7a(0x1b8)]();logger[_0x19aa7a(0x1b1)](_0x19aa7a(0x1c4),'开始添加页面:\x20'+_0x58e776,{'template':_0x50e6e5,'targetPath':_0x2ac934}),TemplateReplacer[_0x19aa7a(0x1b3)](_0x32a9b9,a1_0x30d710['join'](_0x497c49,_0x58e776),_0x58e776,_0x50e6e5)[_0x19aa7a(0x1ae)](()=>{const _0x28af65=_0x19aa7a,_0x14103c=Date[_0x28af65(0x1b8)]()-_0x354615;logger[_0x28af65(0x1a5)](_0x28af65(0x1c4),'页面添加成功:\x20'+_0x58e776,_0x14103c,{'template':_0x50e6e5,'targetPath':_0x2ac934,'routePath':_0x58e776}),_0x3a918c(!![]);})[_0x19aa7a(0x1b0)](_0x2db374=>{const _0x2f602a=_0x19aa7a,_0x26d649=Date['now']()-_0x354615;logger[_0x2f602a(0x1a8)]('add-page','页面添加失败:\x20'+_0x58e776,{'template':_0x50e6e5,'targetPath':_0x2ac934,'error':_0x2db374 instanceof Error?_0x2db374[_0x2f602a(0x1b2)]:String(_0x2db374),'duration':_0x26d649});})[_0x19aa7a(0x1c8)](()=>{_0x35fe1d(![]);});}},[_0x50e6e5,_0x58e776]),useEffect(()=>{_0x31004b&&setTimeout(()=>{_0x5b501a();});},[_0x31004b]);if(_0x50e6e5)return a1_0x58e780(Box,{'flexDirection':_0x4982f2(0x1bb),'paddingY':0x1,'children':[a1_0x58e780(Box,{'children':[a1_0x43441c(Text,{'color':_0x4982f2(0x1c1),'children':'\x20Step1:\x20'}),a1_0x43441c(Text,{'children':_0x4982f2(0x1c5)}),a1_0x43441c(Text,{'color':_0x4982f2(0x1a9),'children':_0x50e6e5})]}),_0x58e776?a1_0x58e780(Box,{'children':[a1_0x43441c(Text,{'color':'gray','children':'\x20Step2:\x20'}),a1_0x43441c(Text,{'children':_0x4982f2(0x1b5)}),a1_0x43441c(Text,{'color':_0x4982f2(0x1a9),'children':_0x58e776})]}):a1_0x43441c(InputProjectCode,{'pagePath':_0x3a9a6d,'onSubmit':_0x35b254}),_0x58e776&&_0x4503ec?a1_0x58e780(Box,{'marginTop':0x1,'children':[a1_0x43441c(Box,{'width':'4'}),a1_0x43441c(Text,{'children':_0x4982f2(0x1c6)})]}):null,_0x31004b?a1_0x58e780(a1_0x539e63,{'children':[a1_0x43441c(Box,{'marginTop':0x1,'children':a1_0x43441c(Text,{'color':_0x4982f2(0x1c1),'children':_0x4982f2(0x1c9)})}),a1_0x58e780(Box,{'children':[a1_0x43441c(Text,{'color':_0x4982f2(0x1c1),'children':_0x4982f2(0x1b7)}),a1_0x43441c(Text,{'color':_0x4982f2(0x1a9),'children':_0x2ac934})]}),a1_0x58e780(Box,{'children':[a1_0x43441c(Text,{'color':'gray','children':_0x4982f2(0x1aa)}),a1_0x58e780(Text,{'color':_0x4982f2(0x1a9),'children':['/',_0x58e776]})]}),a1_0x43441c(Box,{'marginTop':0x1,'children':a1_0x43441c(Text,{'color':'cyan','children':_0x4982f2(0x1ab)})})]}):null]});return a1_0x43441c(SelectPageTemplate,{'onSelect':_0x444d00});};
@@ -1 +1 @@
1
- (function(_0x51743a,_0x386d71){const _0x276f4c=a2_0x44b6,_0x3d4ade=_0x51743a();while(!![]){try{const _0x384263=parseInt(_0x276f4c(0xcc))/0x1+parseInt(_0x276f4c(0xd5))/0x2*(parseInt(_0x276f4c(0xd8))/0x3)+-parseInt(_0x276f4c(0xdb))/0x4+-parseInt(_0x276f4c(0xbf))/0x5*(parseInt(_0x276f4c(0xc8))/0x6)+-parseInt(_0x276f4c(0xbc))/0x7+parseInt(_0x276f4c(0xba))/0x8*(-parseInt(_0x276f4c(0xc6))/0x9)+-parseInt(_0x276f4c(0xbd))/0xa*(-parseInt(_0x276f4c(0xd1))/0xb);if(_0x384263===_0x386d71)break;else _0x3d4ade['push'](_0x3d4ade['shift']());}catch(_0x4eec97){_0x3d4ade['push'](_0x3d4ade['shift']());}}}(a2_0x3765,0xa0399));import{jsx as a2_0x336dc6,jsxs as a2_0x3a9174}from'react/jsx-runtime';function a2_0x3765(){const _0x3f1c03=['localeCompare','blank','gray','isDirectory','12345443qJarxq','请选择您要创建的页面模板','downArrow','templates/pages','235178kVZEIe','upArrow','sdk-fetch','3yvuApN','green','length','4264048utNpNy','map','../..','error','43192lrMqeE','return','2549316JvirJx','30Siraic','label','10bIXUKs','正在加载页面模板...','获取模板列表失败:','column','sort','onSelect','resolve','1341FOwlwn','\x20Step1:\x20','2795322rrEaaf','join','name','\x20\x20\x20\x20\x20\x20\x20\x20','338178ZmglBh'];a2_0x3765=function(){return _0x3f1c03;};return a2_0x3765();}import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';function a2_0x44b6(_0x1d0fdf,_0xadc75){_0x1d0fdf=_0x1d0fdf-0xb7;const _0x3765b5=a2_0x3765();let _0x44b6b8=_0x3765b5[_0x1d0fdf];return _0x44b6b8;}import{readdir}from'node:fs/promises';import a2_0x5cd517 from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x2658be=a2_0x44b6;try{const _0x692d0e=fileURLToPath(import.meta.url),_0x1eecf4=a2_0x5cd517[_0x2658be(0xc5)](a2_0x5cd517['dirname'](_0x692d0e),_0x2658be(0xb8)),_0x5e573e=a2_0x5cd517[_0x2658be(0xc9)](_0x1eecf4,_0x2658be(0xd4)),_0x426682=await readdir(_0x5e573e,{'withFileTypes':!![]}),_0xd0516a=_0x426682['filter'](_0x7cacad=>_0x7cacad[_0x2658be(0xd0)]())[_0x2658be(0xb7)](_0x25b1ab=>({'label':_0x25b1ab[_0x2658be(0xca)]}))[_0x2658be(0xc3)]((_0x42f833,_0x56c6f2)=>_0x42f833[_0x2658be(0xbe)][_0x2658be(0xcd)](_0x56c6f2[_0x2658be(0xbe)]));return _0xd0516a;}catch(_0x4ef821){return console[_0x2658be(0xb9)](_0x2658be(0xc1),_0x4ef821),[{'label':_0x2658be(0xce)},{'label':_0x2658be(0xd7)}];}}export function SelectPageTemplate(_0x3eadc7){const _0x534f64=a2_0x44b6,[_0x4a33d1,_0x8a5241]=useState(0x0),[_0x5015c,_0x4b154a]=useState([]),[_0x529822,_0x40e093]=useState(!![]);useEffect(()=>{async function _0x357fdd(){const _0x520d03=await getTemplateList();_0x4b154a(_0x520d03),_0x40e093(![]);}_0x357fdd();},[]),useInput((_0x27eaca,_0x3b96fe)=>{const _0x46bb00=a2_0x44b6;if(_0x529822)return;if(_0x3b96fe[_0x46bb00(0xbb)]){const _0x26527e=_0x5015c[_0x4a33d1];_0x26527e&&_0x3eadc7[_0x46bb00(0xc4)](_0x26527e['label']);}_0x3b96fe[_0x46bb00(0xd6)]&&_0x8a5241(_0x457eb9=>_0x457eb9===0x0?_0x5015c[_0x46bb00(0xda)]-0x1:_0x457eb9-0x1),_0x3b96fe[_0x46bb00(0xd3)]&&_0x8a5241(_0x24c789=>_0x24c789===_0x5015c[_0x46bb00(0xda)]-0x1?0x0:_0x24c789+0x1);});if(_0x529822)return a2_0x336dc6(Box,{'flexDirection':_0x534f64(0xc2),'paddingY':0x1,'children':a2_0x3a9174(Box,{'children':[a2_0x336dc6(Text,{'color':'gray','children':_0x534f64(0xc7)}),a2_0x336dc6(Text,{'children':_0x534f64(0xc0)})]})});return a2_0x3a9174(Box,{'flexDirection':_0x534f64(0xc2),'paddingY':0x1,'children':[a2_0x3a9174(Box,{'children':[a2_0x336dc6(Text,{'color':_0x534f64(0xcf),'children':_0x534f64(0xc7)}),a2_0x336dc6(Text,{'children':_0x534f64(0xd2)})]}),_0x5015c[_0x534f64(0xb7)]((_0x45020b,_0x25cb53)=>{const _0x2b78af=_0x534f64,_0x120f67=_0x25cb53===_0x4a33d1,_0x2f6e85=_0x120f67?'\x20\x20\x20\x20\x20\x20>\x20'+_0x45020b[_0x2b78af(0xbe)]:_0x2b78af(0xcb)+_0x45020b[_0x2b78af(0xbe)];return a2_0x336dc6(Box,{'children':a2_0x336dc6(Text,{'color':_0x120f67?_0x2b78af(0xd9):undefined,'children':_0x2f6e85})},_0x2f6e85);})]});}
1
+ (function(_0x245d45,_0x430d80){const _0x40aea4=a2_0x3ac2,_0x1a2f4e=_0x245d45();while(!![]){try{const _0x114fcf=-parseInt(_0x40aea4(0x143))/0x1+parseInt(_0x40aea4(0x12d))/0x2*(parseInt(_0x40aea4(0x149))/0x3)+-parseInt(_0x40aea4(0x14c))/0x4*(parseInt(_0x40aea4(0x136))/0x5)+-parseInt(_0x40aea4(0x13f))/0x6*(-parseInt(_0x40aea4(0x137))/0x7)+-parseInt(_0x40aea4(0x13c))/0x8+-parseInt(_0x40aea4(0x12e))/0x9+parseInt(_0x40aea4(0x132))/0xa;if(_0x114fcf===_0x430d80)break;else _0x1a2f4e['push'](_0x1a2f4e['shift']());}catch(_0x26bb0b){_0x1a2f4e['push'](_0x1a2f4e['shift']());}}}(a2_0x5ca1,0xba043));import{jsx as a2_0x2dadc6,jsxs as a2_0x15e7fb}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';function a2_0x3ac2(_0xaad4e3,_0x3ac4a8){_0xaad4e3=_0xaad4e3-0x12d;const _0x5ca1ed=a2_0x5ca1();let _0x3ac25d=_0x5ca1ed[_0xaad4e3];return _0x3ac25d;}function a2_0x5ca1(){const _0x3c506a=['localeCompare','dirname','969400YyklcQ','column','\x20Step1:\x20','resolve','templates/pages','获取模板列表失败:','2215689uGTbZh','正在加载页面模板...','blank','8ZjkkOt','name','green','2qwXyRM','6045462ASUcNB','isDirectory','map','sdk-fetch','22622220LDITsf','\x20\x20\x20\x20\x20\x20\x20\x20','filter','gray','2296850lmcHQA','133BFkKLb','length','return','请选择您要创建的页面模板','join','3004808sItsvM','label','downArrow','219978gDibyc','sort'];a2_0x5ca1=function(){return _0x3c506a;};return a2_0x5ca1();}import a2_0x46aa12 from'node:path';import{fileURLToPath}from'node:url';async function getTemplateList(){const _0x52c1f7=a2_0x3ac2;try{const _0x437fb1=fileURLToPath(import.meta.url),_0xf50bee=a2_0x46aa12[_0x52c1f7(0x146)](a2_0x46aa12[_0x52c1f7(0x142)](_0x437fb1),'../..'),_0x529c7f=a2_0x46aa12[_0x52c1f7(0x13b)](_0xf50bee,_0x52c1f7(0x147)),_0x50cbf1=await readdir(_0x529c7f,{'withFileTypes':!![]}),_0x3ab7b5=_0x50cbf1[_0x52c1f7(0x134)](_0x117439=>_0x117439[_0x52c1f7(0x12f)]())['map'](_0xc4fe41=>({'label':_0xc4fe41[_0x52c1f7(0x14d)]}))[_0x52c1f7(0x140)]((_0x3d5a8a,_0xe14c5c)=>_0x3d5a8a[_0x52c1f7(0x13d)][_0x52c1f7(0x141)](_0xe14c5c[_0x52c1f7(0x13d)]));return _0x3ab7b5;}catch(_0x471475){return console['error'](_0x52c1f7(0x148),_0x471475),[{'label':_0x52c1f7(0x14b)},{'label':_0x52c1f7(0x131)}];}}export function SelectPageTemplate(_0x15818b){const _0x3058dc=a2_0x3ac2,[_0x38c6b1,_0xe33809]=useState(0x0),[_0xc32722,_0x2b5201]=useState([]),[_0x42a112,_0x36e019]=useState(!![]);useEffect(()=>{async function _0x30266f(){const _0x36930a=await getTemplateList();_0x2b5201(_0x36930a),_0x36e019(![]);}_0x30266f();},[]),useInput((_0x4196be,_0x3ce929)=>{const _0xd1188b=a2_0x3ac2;if(_0x42a112)return;if(_0x3ce929[_0xd1188b(0x139)]){const _0x46acc4=_0xc32722[_0x38c6b1];_0x46acc4&&_0x15818b['onSelect'](_0x46acc4[_0xd1188b(0x13d)]);}_0x3ce929['upArrow']&&_0xe33809(_0x549b1f=>_0x549b1f===0x0?_0xc32722[_0xd1188b(0x138)]-0x1:_0x549b1f-0x1),_0x3ce929[_0xd1188b(0x13e)]&&_0xe33809(_0x5c9c4a=>_0x5c9c4a===_0xc32722['length']-0x1?0x0:_0x5c9c4a+0x1);});if(_0x42a112)return a2_0x2dadc6(Box,{'flexDirection':_0x3058dc(0x144),'paddingY':0x1,'children':a2_0x15e7fb(Box,{'children':[a2_0x2dadc6(Text,{'color':_0x3058dc(0x135),'children':_0x3058dc(0x145)}),a2_0x2dadc6(Text,{'children':_0x3058dc(0x14a)})]})});return a2_0x15e7fb(Box,{'flexDirection':_0x3058dc(0x144),'paddingY':0x1,'children':[a2_0x15e7fb(Box,{'children':[a2_0x2dadc6(Text,{'color':_0x3058dc(0x135),'children':_0x3058dc(0x145)}),a2_0x2dadc6(Text,{'children':_0x3058dc(0x13a)})]}),_0xc32722[_0x3058dc(0x130)]((_0x4fc169,_0x2ea892)=>{const _0x43fcce=_0x3058dc,_0x39991c=_0x2ea892===_0x38c6b1,_0x655219=_0x39991c?'\x20\x20\x20\x20\x20\x20>\x20'+_0x4fc169['label']:_0x43fcce(0x133)+_0x4fc169['label'];return a2_0x2dadc6(Box,{'children':a2_0x2dadc6(Text,{'color':_0x39991c?_0x43fcce(0x14e):undefined,'children':_0x655219})},_0x655219);})]});}
@@ -1 +1 @@
1
- const a3_0x59a741=a3_0x2147;(function(_0xe6c814,_0x5f30a8){const _0x4525ad=a3_0x2147,_0x3183ae=_0xe6c814();while(!![]){try{const _0x50ccec=parseInt(_0x4525ad(0x16b))/0x1*(parseInt(_0x4525ad(0x172))/0x2)+-parseInt(_0x4525ad(0x188))/0x3*(-parseInt(_0x4525ad(0x19a))/0x4)+parseInt(_0x4525ad(0x15f))/0x5+parseInt(_0x4525ad(0x18d))/0x6+-parseInt(_0x4525ad(0x196))/0x7*(parseInt(_0x4525ad(0x177))/0x8)+parseInt(_0x4525ad(0x162))/0x9*(-parseInt(_0x4525ad(0x17e))/0xa)+parseInt(_0x4525ad(0x185))/0xb;if(_0x50ccec===_0x5f30a8)break;else _0x3183ae['push'](_0x3183ae['shift']());}catch(_0x54b178){_0x3183ae['push'](_0x3183ae['shift']());}}}(a3_0x3108,0x4d1cb));import{jsx as a3_0x89ee7,jsxs as a3_0x224764}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Box,Text,useInput,useApp}from'ink';import{configureMcp}from'./config.js';function a3_0x3108(){const _0x570c8b=['gray','column','success','[✓]','skill-','1240450iiixDc','red','Claude\x20Code','has','blue','codex','yellow','56760bzSYXk','codebuddy','size','5247qFSrfr','正在配置\x20AI\x20助手...','return','white','push','812550CtyKjR','dimColor','[N]\x20跳过,稍后手动配置','upArrow','windsurf','downArrow','map','name','Cursor','456337zygMkD','opencode','confirming','projectRoot','1164hueZUr','antigravity','done','957530XyBvrz','filter','[Y]\x20是,配置\x20AI\x20助手','9KKpSGA','status','MCP\x20服务器\x20(AI\x20访问数据集)','add','•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','length','ide','qoder','1oaGNJc','selecting','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','appcode','message','claude','cyan','110366wIzaWP','delete','技能包\x20(研发规范指南)','mcp-','cursor','56pjMxfi','trae'];a3_0x3108=function(){return _0x570c8b;};return a3_0x3108();}import{installSkill,copySharedSkills,createSkillManifest,SKILL_IDE_CONFIGS}from'./config.js';function a3_0x2147(_0x4636ba,_0x2ae5b6){_0x4636ba=_0x4636ba-0x15f;const _0x310874=a3_0x3108();let _0x2147e6=_0x310874[_0x4636ba];return _0x2147e6;}const MCP_IDE_LIST=['cursor','claude'],SKILL_IDE_LIST=[a3_0x59a741(0x19b),a3_0x59a741(0x170),a3_0x59a741(0x186),a3_0x59a741(0x183),a3_0x59a741(0x176),a3_0x59a741(0x197),a3_0x59a741(0x16a),a3_0x59a741(0x178),a3_0x59a741(0x191),'agent'];export function AISetupUI({config:_0x239371,onComplete:_0x47d4ef}){const _0x35b991=a3_0x59a741,{exit:_0x4750d0}=useApp(),[_0x558ed0,_0x33c171]=useState('confirming'),[_0x19d0e2,_0xda77d7]=useState(0x0),[_0x1ef523,_0x4ebd1b]=useState(new Set([0x0,0x1])),[_0x372442,_0xea6c2d]=useState(new Set(SKILL_IDE_LIST[_0x35b991(0x193)]((_0x3b77ac,_0x3b01d8)=>_0x3b01d8))),[_0x16a9ad,_0x4215c9]=useState('');useEffect(()=>{const _0xd3380a=_0x35b991;!_0x239371[_0xd3380a(0x16e)]&&_0x47d4ef({'mcpResults':[],'skillResults':[]});},[_0x239371[_0x35b991(0x16e)],_0x47d4ef]),useInput((_0x2b53f8,_0x2027db)=>{const _0x2b540d=_0x35b991;if(_0x558ed0===_0x2b540d(0x198)){if(_0x2b53f8==='y'||_0x2b53f8==='Y'||_0x2027db[_0x2b540d(0x18a)]){_0x2dc250();return;}if(_0x2b53f8==='n'||_0x2b53f8==='N'){_0x47d4ef({'mcpResults':[],'skillResults':[]});return;}if(_0x2027db['return']){_0x2dc250();return;}}if(_0x558ed0===_0x2b540d(0x16c)){if(_0x2027db[_0x2b540d(0x190)]){_0xda77d7(_0x3ec413=>_0x3ec413>0x0?_0x3ec413-0x1:SKILL_IDE_LIST[_0x2b540d(0x168)]-0x1);return;}if(_0x2027db[_0x2b540d(0x192)]){_0xda77d7(_0x211631=>_0x211631<SKILL_IDE_LIST[_0x2b540d(0x168)]-0x1?_0x211631+0x1:0x0);return;}if(_0x2b53f8==='\x20'){const _0x27e7de=_0x19d0e2<MCP_IDE_LIST[_0x2b540d(0x168)];if(_0x27e7de){const _0x52915c=new Set(_0x1ef523);_0x52915c[_0x2b540d(0x181)](_0x19d0e2)?_0x52915c[_0x2b540d(0x173)](_0x19d0e2):_0x52915c[_0x2b540d(0x165)](_0x19d0e2),_0x4ebd1b(_0x52915c);}else{const _0x48e91a=_0x19d0e2-MCP_IDE_LIST[_0x2b540d(0x168)],_0x5f13f9=new Set(_0x372442);_0x5f13f9[_0x2b540d(0x181)](_0x48e91a)?_0x5f13f9[_0x2b540d(0x173)](_0x48e91a):_0x5f13f9[_0x2b540d(0x165)](_0x48e91a),_0xea6c2d(_0x5f13f9);}return;}if(_0x2b53f8==='a'||_0x2b53f8==='A'){_0x4ebd1b(new Set(MCP_IDE_LIST[_0x2b540d(0x193)]((_0x10c087,_0x30c2db)=>_0x30c2db))),_0xea6c2d(new Set(SKILL_IDE_LIST[_0x2b540d(0x193)]((_0x445c75,_0x135a9f)=>_0x135a9f)));return;}if(_0x2b53f8==='q'||_0x2b53f8==='Q'){_0x4750d0();return;}if(_0x2027db[_0x2b540d(0x18a)]){if(_0x1ef523[_0x2b540d(0x187)]===0x0&&_0x372442[_0x2b540d(0x187)]===0x0){_0x4215c9('请至少选择一个配置项');return;}_0x2dc250();return;}}if(_0x558ed0===_0x2b540d(0x19c)){_0x4750d0();return;}});async function _0x2dc250(){const _0x17c176=_0x35b991;_0x33c171('installing');const _0x18c2f6=[],_0x4d363e=[];for(const _0x3b7802 of _0x1ef523){const _0x19372e=MCP_IDE_LIST[_0x3b7802];if(!_0x19372e)continue;try{const _0x13239c=await configureMcp(_0x19372e,_0x239371['projectRoot']);_0x18c2f6[_0x17c176(0x18c)](_0x13239c);}catch(_0x362dd1){_0x18c2f6[_0x17c176(0x18c)]({'ide':MCP_IDE_CONFIGS[_0x19372e]?.[_0x17c176(0x194)]||_0x19372e,'status':'error','message':_0x362dd1 instanceof Error?_0x362dd1[_0x17c176(0x16f)]:String(_0x362dd1)});}}await copySharedSkills(_0x239371[_0x17c176(0x199)]);for(const _0x184035 of _0x372442){const _0x352fd5=SKILL_IDE_LIST[_0x184035];if(!_0x352fd5)continue;try{const _0x1c1fe5=await installSkill(_0x352fd5,_0x239371['projectRoot']);_0x4d363e['push'](_0x1c1fe5);}catch(_0x48709c){_0x4d363e['push']({'ide':SKILL_IDE_CONFIGS[_0x352fd5]?.['name']||_0x352fd5,'status':'error','message':_0x48709c instanceof Error?_0x48709c[_0x17c176(0x16f)]:String(_0x48709c)});}}if(_0x4d363e[_0x17c176(0x168)]>0x0){const _0x25fda0=_0x4d363e[_0x17c176(0x160)](_0x167ba8=>_0x167ba8[_0x17c176(0x163)]===_0x17c176(0x17b))[_0x17c176(0x193)](_0x184538=>_0x184538[_0x17c176(0x169)]);_0x25fda0[_0x17c176(0x168)]>0x0&&createSkillManifest(_0x239371[_0x17c176(0x199)],_0x25fda0);}_0x33c171(_0x17c176(0x19c)),setTimeout(()=>{_0x47d4ef({'mcpResults':_0x18c2f6,'skillResults':_0x4d363e});},0xbb8);}if(_0x558ed0===_0x35b991(0x198))return a3_0x224764(Box,{'flexDirection':'column','marginTop':0x1,'children':[a3_0x89ee7(Box,{'marginTop':0x1,'children':a3_0x89ee7(Text,{'color':_0x35b991(0x18b),'children':'是否同时配置\x20AI\x20助手?这将:'})}),a3_0x89ee7(Box,{'marginLeft':0x2,'marginTop':0x1,'children':a3_0x89ee7(Text,{'color':_0x35b991(0x179),'children':_0x35b991(0x167)})}),a3_0x89ee7(Box,{'marginLeft':0x2,'children':a3_0x89ee7(Text,{'color':_0x35b991(0x179),'children':_0x35b991(0x166)})}),a3_0x224764(Box,{'marginTop':0x1,'flexDirection':_0x35b991(0x17a),'children':[a3_0x89ee7(Box,{'children':a3_0x89ee7(Text,{'color':'green','children':_0x35b991(0x161)})}),a3_0x89ee7(Box,{'children':a3_0x89ee7(Text,{'color':_0x35b991(0x179),'children':_0x35b991(0x18f)})}),a3_0x89ee7(Box,{'children':a3_0x89ee7(Text,{'color':_0x35b991(0x18e),'children':'Enter\x20默认:\x20是'})})]}),_0x16a9ad&&a3_0x89ee7(Box,{'marginTop':0x1,'children':a3_0x224764(Text,{'color':_0x35b991(0x17f),'children':['✗\x20',_0x16a9ad]})})]});if(_0x558ed0===_0x35b991(0x16c))return a3_0x224764(Box,{'flexDirection':_0x35b991(0x17a),'marginTop':0x1,'children':[a3_0x89ee7(Box,{'children':a3_0x89ee7(Text,{'color':_0x35b991(0x171),'bold':!![],'children':'*\x20选择要配置的\x20IDE:'})}),_0x16a9ad&&a3_0x89ee7(Box,{'marginTop':0x1,'children':a3_0x224764(Text,{'color':'red','children':['✗\x20',_0x16a9ad]})}),a3_0x224764(Box,{'marginTop':0x1,'flexDirection':_0x35b991(0x17a),'children':[a3_0x89ee7(Text,{'bold':!![],'color':_0x35b991(0x184),'children':_0x35b991(0x164)}),MCP_IDE_LIST[_0x35b991(0x193)]((_0x471878,_0x21a843)=>{const _0x176207=_0x35b991,_0x5a4f4a=_0x19d0e2===_0x21a843,_0xed5931=_0x1ef523[_0x176207(0x181)](_0x21a843);return a3_0x89ee7(Box,{'children':a3_0x224764(Text,{'backgroundColor':_0x5a4f4a?_0x176207(0x182):undefined,'color':_0x5a4f4a?_0x176207(0x18b):undefined,'children':[_0xed5931?_0x176207(0x17c):'[\x20]','\x20',_0x471878===_0x176207(0x176)?_0x176207(0x195):_0x176207(0x180)]})},_0x176207(0x175)+_0x471878);}),a3_0x89ee7(Box,{'marginTop':0x1,'children':a3_0x89ee7(Text,{'bold':!![],'color':_0x35b991(0x184),'children':_0x35b991(0x174)})}),SKILL_IDE_LIST[_0x35b991(0x193)]((_0x2a7f87,_0x1b18e0)=>{const _0x52c6e7=_0x35b991,_0x3cb3bc=_0x1b18e0+MCP_IDE_LIST[_0x52c6e7(0x168)],_0x2eb44a=_0x19d0e2===_0x3cb3bc,_0x63d05d=_0x372442[_0x52c6e7(0x181)](_0x3cb3bc);return a3_0x89ee7(Box,{'children':a3_0x224764(Text,{'backgroundColor':_0x2eb44a?_0x52c6e7(0x182):undefined,'color':_0x2eb44a?_0x52c6e7(0x18b):undefined,'children':[_0x63d05d?_0x52c6e7(0x17c):'[\x20]','\x20',SKILL_IDE_CONFIGS[_0x2a7f87][_0x52c6e7(0x194)]]})},_0x52c6e7(0x17d)+_0x2a7f87);}),a3_0x89ee7(Box,{'marginTop':0x1,'children':a3_0x89ee7(Text,{'color':_0x35b991(0x179),'children':_0x35b991(0x16d)})})]})]});if(_0x558ed0==='installing')return a3_0x89ee7(Box,{'flexDirection':'column','marginTop':0x1,'children':a3_0x89ee7(Box,{'children':a3_0x89ee7(Text,{'children':_0x35b991(0x189)})})});if(_0x558ed0===_0x35b991(0x19c))return null;return null;}const MCP_IDE_CONFIGS={'cursor':{'name':a3_0x59a741(0x195)},'claude':{'name':a3_0x59a741(0x180)}};
1
+ const a3_0x3c691e=a3_0x34fd;(function(_0x66926a,_0x402475){const _0x4d461e=a3_0x34fd,_0x33863a=_0x66926a();while(!![]){try{const _0x41244f=parseInt(_0x4d461e(0x167))/0x1*(-parseInt(_0x4d461e(0x15e))/0x2)+parseInt(_0x4d461e(0x174))/0x3*(-parseInt(_0x4d461e(0x13f))/0x4)+parseInt(_0x4d461e(0x178))/0x5*(parseInt(_0x4d461e(0x176))/0x6)+parseInt(_0x4d461e(0x140))/0x7*(-parseInt(_0x4d461e(0x15a))/0x8)+parseInt(_0x4d461e(0x16e))/0x9+parseInt(_0x4d461e(0x155))/0xa+parseInt(_0x4d461e(0x148))/0xb*(-parseInt(_0x4d461e(0x170))/0xc);if(_0x41244f===_0x402475)break;else _0x33863a['push'](_0x33863a['shift']());}catch(_0x3a0978){_0x33863a['push'](_0x33863a['shift']());}}}(a3_0x4486,0x4c819));import{jsx as a3_0x4da050,jsxs as a3_0xa8b700}from'react/jsx-runtime';function a3_0x34fd(_0x21be93,_0x5b5197){_0x21be93=_0x21be93-0x13b;const _0x448693=a3_0x4486();let _0x34fd23=_0x448693[_0x21be93];return _0x34fd23;}import{useState,useEffect}from'react';import{Box,Text,useInput,useApp}from'ink';import{configureMcp}from'./config.js';function a3_0x4486(){const _0x2a9a50=['add','push','2NgGmhC','cursor','error','blue','column','appcode','codex','projectRoot','green','200465pNsYhw','ide','MCP\x20服务器\x20(AI\x20访问数据集)','white','[N]\x20跳过,稍后手动配置','claude','yellow','2392380VSNZqi','[\x20]','782376pJKqDJ','opencode','installing','agent','456903CyVilZ','done','18CgbEly','[Y]\x20是,配置\x20AI\x20助手','660765MIdFkp','trae','red','gray','是否同时配置\x20AI\x20助手?这将:','4PUuVRy','7BYFgYf','name','success','length','confirming','技能包\x20(研发规范指南)','codebuddy','map','11rkjNMv','downArrow','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','message','正在配置\x20AI\x20助手...','filter','skill-','dimColor','Claude\x20Code','has','qoder','delete','upArrow','4345320ePCTOl','Cursor','return','[✓]','size','2923824GTSIPB','selecting'];a3_0x4486=function(){return _0x2a9a50;};return a3_0x4486();}import{installSkill,copySharedSkills,createSkillManifest,SKILL_IDE_CONFIGS}from'./config.js';const MCP_IDE_LIST=[a3_0x3c691e(0x15f),'claude'],SKILL_IDE_LIST=['antigravity',a3_0x3c691e(0x16c),a3_0x3c691e(0x146),a3_0x3c691e(0x164),'cursor',a3_0x3c691e(0x171),a3_0x3c691e(0x152),a3_0x3c691e(0x13b),'windsurf',a3_0x3c691e(0x173)];export function AISetupUI({config:_0x19dc08,onComplete:_0x46d5e6}){const _0x5ab42a=a3_0x3c691e,{exit:_0x448625}=useApp(),[_0x10cda9,_0x5af66b]=useState(_0x5ab42a(0x144)),[_0x4c2497,_0x573b48]=useState(0x0),[_0x29d035,_0xd4504c]=useState(new Set([0x0,0x1])),[_0x335bac,_0x3e7450]=useState(new Set(SKILL_IDE_LIST[_0x5ab42a(0x147)]((_0x370fad,_0x214879)=>_0x214879))),[_0xb1b857,_0xdc94ad]=useState('');useEffect(()=>{const _0x13c9b3=_0x5ab42a;!_0x19dc08[_0x13c9b3(0x163)]&&_0x46d5e6({'mcpResults':[],'skillResults':[]});},[_0x19dc08[_0x5ab42a(0x163)],_0x46d5e6]),useInput((_0x3addc2,_0x56f099)=>{const _0x550d8a=_0x5ab42a;if(_0x10cda9===_0x550d8a(0x144)){if(_0x3addc2==='y'||_0x3addc2==='Y'||_0x56f099['return']){_0x2882fb();return;}if(_0x3addc2==='n'||_0x3addc2==='N'){_0x46d5e6({'mcpResults':[],'skillResults':[]});return;}if(_0x56f099[_0x550d8a(0x157)]){_0x2882fb();return;}}if(_0x10cda9===_0x550d8a(0x15b)){if(_0x56f099[_0x550d8a(0x154)]){_0x573b48(_0x75e645=>_0x75e645>0x0?_0x75e645-0x1:SKILL_IDE_LIST[_0x550d8a(0x143)]-0x1);return;}if(_0x56f099[_0x550d8a(0x149)]){_0x573b48(_0x44f8e8=>_0x44f8e8<SKILL_IDE_LIST[_0x550d8a(0x143)]-0x1?_0x44f8e8+0x1:0x0);return;}if(_0x3addc2==='\x20'){const _0x205505=_0x4c2497<MCP_IDE_LIST[_0x550d8a(0x143)];if(_0x205505){const _0x451080=new Set(_0x29d035);_0x451080['has'](_0x4c2497)?_0x451080[_0x550d8a(0x153)](_0x4c2497):_0x451080[_0x550d8a(0x15c)](_0x4c2497),_0xd4504c(_0x451080);}else{const _0x1e7649=_0x4c2497-MCP_IDE_LIST[_0x550d8a(0x143)],_0xcd7d34=new Set(_0x335bac);_0xcd7d34['has'](_0x1e7649)?_0xcd7d34['delete'](_0x1e7649):_0xcd7d34[_0x550d8a(0x15c)](_0x1e7649),_0x3e7450(_0xcd7d34);}return;}if(_0x3addc2==='a'||_0x3addc2==='A'){_0xd4504c(new Set(MCP_IDE_LIST[_0x550d8a(0x147)]((_0x27092a,_0x547675)=>_0x547675))),_0x3e7450(new Set(SKILL_IDE_LIST[_0x550d8a(0x147)]((_0x44991e,_0x2f106c)=>_0x2f106c)));return;}if(_0x3addc2==='q'||_0x3addc2==='Q'){_0x448625();return;}if(_0x56f099['return']){if(_0x29d035[_0x550d8a(0x159)]===0x0&&_0x335bac['size']===0x0){_0xdc94ad('请至少选择一个配置项');return;}_0x2882fb();return;}}if(_0x10cda9===_0x550d8a(0x175)){_0x448625();return;}});async function _0x2882fb(){const _0x1d0eb2=_0x5ab42a;_0x5af66b(_0x1d0eb2(0x172));const _0x318b8a=[],_0xfc5a75=[];for(const _0x1d5b4e of _0x29d035){const _0x48f1e8=MCP_IDE_LIST[_0x1d5b4e];if(!_0x48f1e8)continue;try{const _0x598106=await configureMcp(_0x48f1e8,_0x19dc08[_0x1d0eb2(0x165)]);_0x318b8a[_0x1d0eb2(0x15d)](_0x598106);}catch(_0x405b44){_0x318b8a[_0x1d0eb2(0x15d)]({'ide':MCP_IDE_CONFIGS[_0x48f1e8]?.['name']||_0x48f1e8,'status':_0x1d0eb2(0x160),'message':_0x405b44 instanceof Error?_0x405b44[_0x1d0eb2(0x14b)]:String(_0x405b44)});}}await copySharedSkills(_0x19dc08[_0x1d0eb2(0x165)]);for(const _0x471234 of _0x335bac){const _0xd2c0ab=SKILL_IDE_LIST[_0x471234];if(!_0xd2c0ab)continue;try{const _0x3150d=await installSkill(_0xd2c0ab,_0x19dc08[_0x1d0eb2(0x165)]);_0xfc5a75[_0x1d0eb2(0x15d)](_0x3150d);}catch(_0x1ce2dc){_0xfc5a75['push']({'ide':SKILL_IDE_CONFIGS[_0xd2c0ab]?.[_0x1d0eb2(0x141)]||_0xd2c0ab,'status':_0x1d0eb2(0x160),'message':_0x1ce2dc instanceof Error?_0x1ce2dc['message']:String(_0x1ce2dc)});}}if(_0xfc5a75[_0x1d0eb2(0x143)]>0x0){const _0x4f45bc=_0xfc5a75[_0x1d0eb2(0x14d)](_0x42411e=>_0x42411e['status']===_0x1d0eb2(0x142))[_0x1d0eb2(0x147)](_0xdcf2bf=>_0xdcf2bf[_0x1d0eb2(0x168)]);_0x4f45bc['length']>0x0&&createSkillManifest(_0x19dc08[_0x1d0eb2(0x165)],_0x4f45bc);}_0x5af66b(_0x1d0eb2(0x175)),setTimeout(()=>{_0x46d5e6({'mcpResults':_0x318b8a,'skillResults':_0xfc5a75});},0xbb8);}if(_0x10cda9===_0x5ab42a(0x144))return a3_0xa8b700(Box,{'flexDirection':_0x5ab42a(0x162),'marginTop':0x1,'children':[a3_0x4da050(Box,{'marginTop':0x1,'children':a3_0x4da050(Text,{'color':'white','children':_0x5ab42a(0x13e)})}),a3_0x4da050(Box,{'marginLeft':0x2,'marginTop':0x1,'children':a3_0x4da050(Text,{'color':'gray','children':_0x5ab42a(0x14a)})}),a3_0x4da050(Box,{'marginLeft':0x2,'children':a3_0x4da050(Text,{'color':'gray','children':'•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范'})}),a3_0xa8b700(Box,{'marginTop':0x1,'flexDirection':_0x5ab42a(0x162),'children':[a3_0x4da050(Box,{'children':a3_0x4da050(Text,{'color':_0x5ab42a(0x166),'children':_0x5ab42a(0x177)})}),a3_0x4da050(Box,{'children':a3_0x4da050(Text,{'color':_0x5ab42a(0x13d),'children':_0x5ab42a(0x16b)})}),a3_0x4da050(Box,{'children':a3_0x4da050(Text,{'color':_0x5ab42a(0x14f),'children':'Enter\x20默认:\x20是'})})]}),_0xb1b857&&a3_0x4da050(Box,{'marginTop':0x1,'children':a3_0xa8b700(Text,{'color':_0x5ab42a(0x13c),'children':['✗\x20',_0xb1b857]})})]});if(_0x10cda9===_0x5ab42a(0x15b))return a3_0xa8b700(Box,{'flexDirection':_0x5ab42a(0x162),'marginTop':0x1,'children':[a3_0x4da050(Box,{'children':a3_0x4da050(Text,{'color':'cyan','bold':!![],'children':'*\x20选择要配置的\x20IDE:'})}),_0xb1b857&&a3_0x4da050(Box,{'marginTop':0x1,'children':a3_0xa8b700(Text,{'color':_0x5ab42a(0x13c),'children':['✗\x20',_0xb1b857]})}),a3_0xa8b700(Box,{'marginTop':0x1,'flexDirection':_0x5ab42a(0x162),'children':[a3_0x4da050(Text,{'bold':!![],'color':_0x5ab42a(0x16d),'children':_0x5ab42a(0x169)}),MCP_IDE_LIST[_0x5ab42a(0x147)]((_0x340942,_0x2fa328)=>{const _0x1692e4=_0x5ab42a,_0x2ac21e=_0x4c2497===_0x2fa328,_0x1c1254=_0x29d035['has'](_0x2fa328);return a3_0x4da050(Box,{'children':a3_0xa8b700(Text,{'backgroundColor':_0x2ac21e?_0x1692e4(0x161):undefined,'color':_0x2ac21e?'white':undefined,'children':[_0x1c1254?_0x1692e4(0x158):_0x1692e4(0x16f),'\x20',_0x340942===_0x1692e4(0x15f)?_0x1692e4(0x156):_0x1692e4(0x150)]})},'mcp-'+_0x340942);}),a3_0x4da050(Box,{'marginTop':0x1,'children':a3_0x4da050(Text,{'bold':!![],'color':'yellow','children':_0x5ab42a(0x145)})}),SKILL_IDE_LIST[_0x5ab42a(0x147)]((_0x5d6674,_0x29bc3a)=>{const _0x332fbd=_0x5ab42a,_0x3d950d=_0x29bc3a+MCP_IDE_LIST['length'],_0x11e14f=_0x4c2497===_0x3d950d,_0xe2454e=_0x335bac[_0x332fbd(0x151)](_0x3d950d);return a3_0x4da050(Box,{'children':a3_0xa8b700(Text,{'backgroundColor':_0x11e14f?_0x332fbd(0x161):undefined,'color':_0x11e14f?_0x332fbd(0x16a):undefined,'children':[_0xe2454e?_0x332fbd(0x158):_0x332fbd(0x16f),'\x20',SKILL_IDE_CONFIGS[_0x5d6674][_0x332fbd(0x141)]]})},_0x332fbd(0x14e)+_0x5d6674);}),a3_0x4da050(Box,{'marginTop':0x1,'children':a3_0x4da050(Text,{'color':_0x5ab42a(0x13d),'children':'↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认'})})]})]});if(_0x10cda9===_0x5ab42a(0x172))return a3_0x4da050(Box,{'flexDirection':'column','marginTop':0x1,'children':a3_0x4da050(Box,{'children':a3_0x4da050(Text,{'children':_0x5ab42a(0x14c)})})});if(_0x10cda9===_0x5ab42a(0x175))return null;return null;}const MCP_IDE_CONFIGS={'cursor':{'name':a3_0x3c691e(0x156)},'claude':{'name':a3_0x3c691e(0x150)}};
@@ -1 +1 @@
1
- const a4_0x59c374=a4_0x4594;(function(_0x529ecc,_0x13a3ef){const _0x1b633b=a4_0x4594,_0x1e318d=_0x529ecc();while(!![]){try{const _0x2074f2=parseInt(_0x1b633b(0x1ed))/0x1+-parseInt(_0x1b633b(0x22b))/0x2*(-parseInt(_0x1b633b(0x1e8))/0x3)+parseInt(_0x1b633b(0x1e1))/0x4+parseInt(_0x1b633b(0x21d))/0x5*(-parseInt(_0x1b633b(0x1fe))/0x6)+parseInt(_0x1b633b(0x1e9))/0x7+parseInt(_0x1b633b(0x224))/0x8+parseInt(_0x1b633b(0x209))/0x9*(-parseInt(_0x1b633b(0x222))/0xa);if(_0x2074f2===_0x13a3ef)break;else _0x1e318d['push'](_0x1e318d['shift']());}catch(_0x595f45){_0x1e318d['push'](_0x1e318d['shift']());}}}(a4_0x4921,0x75601));import{existsSync,mkdirSync,writeFileSync,readFileSync,copyFileSync}from'node:fs';import{join,resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{logger}from'../utils/logger.js';import{IDE_CONFIGS}from'../utils/ai_config.js';import{installSingleIDE}from'../skills/skill-installer.js';const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_SERVER_NAME='lovrabet-dataset',MCP_COMMAND=a4_0x59c374(0x20f),MCP_ARGS=['@lovrabet/dataset-mcp-server@latest'];function a4_0x4594(_0x584790,_0x463ab5){_0x584790=_0x584790-0x1de;const _0x4921fd=a4_0x4921();let _0x4594c8=_0x4921fd[_0x584790];return _0x4594c8;}function a4_0x4921(){const _0x1ca42e=['skill-install','复制\x20Cursor\x20Rules\x20文件失败','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','已写入\x20.cursor/mcp.json','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_APP_CODE\x22:\x20\x22','../../templates/skills','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_ENV\x22:\x20\x22','35wQOTwC','\x20\x20\x22mcpServers\x22:\x20{','manual','app','未知的\x20IDE:\x20','30foWxdF','\x20\x20环境:\x20','1554216NjCmLG','log','node:fs','map','stringify','message','Claude\x20Code','1906646pYSnMz','需要先配置\x20appcode','../../templates/rules/lovrabet_rules.mdc.tpl','rules','\x20\x20\x20\x20}','2055420aQwfEF','error','env','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','2.0.0','success','.shared','3fhqLOn','5777814axgOPR','创建\x20Cursor\x20Rules\x20文件','\x22:\x20{','utf-8','740300eLiOPM','其他\x20IDE\x20配置指引已显示','\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{','创建\x20agents.md\x20文件','创建技能包\x20manifest','\x20\x20}','Claude\x20Code\x20MCP\x20命令已生成','.cursor','.lovrabet','mcpServers','object','Cursor','cursor','cwd','共享技能文件复制成功','\x20\x20\x20\x20\x20\x20\x22args\x22:\x20[','\x20\x20AppCode:\x20','608862JjxdQa','不支持的\x20MCP\x20IDE:\x20','join','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','claude\x20mcp\x20add\x20','info','mcp.json','Cursor\x20MCP\x20配置失败','\x20技能包安装成功','.lovrabet/skill-manifest.json','复制\x20agents.md\x20文件失败','6108147qCzXhy','\x20技能包安装失败','lovrabet_rules.mdc','.lovrabet/skill/.shared','\x20\x20\x20\x20\x20\x20}','mcp-install','npx','\x20-e\x20LOVRABET_APP_CODE=','appcode','Cursor\x20MCP\x20配置成功','配置信息:','online','claude'];a4_0x4921=function(){return _0x1ca42e;};return a4_0x4921();}export function buildEnvConfig(_0x2f8650,_0x2d9e56){const _0x3aa0c6=a4_0x59c374,_0x789923={'LOVRABET_APP_CODE':String(_0x2f8650)};return _0x2d9e56!==_0x3aa0c6(0x214)&&(_0x789923['LOVRABET_ENV']=String(_0x2d9e56)),_0x789923;}export async function configureCursorMcp(_0x34ccc3){const _0x36cbe0=a4_0x59c374,_0x236969=_0x34ccc3||process[_0x36cbe0(0x1fa)](),_0x4af061=readConfig(_0x236969),_0x193044=_0x4af061[_0x36cbe0(0x211)]||_0x4af061['app'],_0x4e0899=_0x4af061[_0x36cbe0(0x1e3)]||_0x36cbe0(0x214);if(!_0x193044)return{'ide':'Cursor','status':_0x36cbe0(0x1e2),'message':'需要先配置\x20appcode'};const _0x1fc114=buildEnvConfig(_0x193044,_0x4e0899),_0x3f94a3={'command':MCP_COMMAND,'args':MCP_ARGS,'env':_0x1fc114},_0x44a8aa=join(_0x236969,_0x36cbe0(0x1f4),_0x36cbe0(0x204)),_0x46a44e=join(_0x236969,_0x36cbe0(0x1f4));try{!existsSync(_0x46a44e)&&mkdirSync(_0x46a44e,{'recursive':!![]});let _0x2a6217={'mcpServers':{}};if(existsSync(_0x44a8aa)){const _0x556227=readFileSync(_0x44a8aa,_0x36cbe0(0x1ec));_0x2a6217=JSON['parse'](_0x556227);}return(!_0x2a6217[_0x36cbe0(0x1f6)]||typeof _0x2a6217['mcpServers']!==_0x36cbe0(0x1f7))&&(_0x2a6217[_0x36cbe0(0x1f6)]={}),_0x2a6217[_0x36cbe0(0x1f6)][MCP_SERVER_NAME]=_0x3f94a3,writeFileSync(_0x44a8aa,JSON[_0x36cbe0(0x228)](_0x2a6217,null,0x2),_0x36cbe0(0x1ec)),logger[_0x36cbe0(0x203)]('mcp-install',_0x36cbe0(0x212),{'appcode':_0x193044,'env':_0x4e0899,'path':_0x44a8aa}),await copyCursorRules(_0x46a44e),{'ide':_0x36cbe0(0x1f8),'status':_0x36cbe0(0x1e6),'message':_0x36cbe0(0x219)};}catch(_0x52f431){return logger[_0x36cbe0(0x1e2)](_0x36cbe0(0x20e),_0x36cbe0(0x205),{'error':_0x52f431 instanceof Error?_0x52f431[_0x36cbe0(0x229)]:String(_0x52f431)}),{'ide':'Cursor','status':'error','message':_0x52f431 instanceof Error?_0x52f431[_0x36cbe0(0x229)]:String(_0x52f431)};}}export async function configureClaudeMcp(_0x46f111){const _0x5206b5=a4_0x59c374,_0x110768=_0x46f111||process[_0x5206b5(0x1fa)](),_0x9c5036=readConfig(_0x110768),_0x4b62b6=_0x9c5036[_0x5206b5(0x211)]||_0x9c5036[_0x5206b5(0x220)],_0x5af3e0=_0x9c5036[_0x5206b5(0x1e3)]||_0x5206b5(0x214);if(!_0x4b62b6)return{'ide':_0x5206b5(0x22a),'status':_0x5206b5(0x1e2),'message':_0x5206b5(0x22c)};let _0x31a4cb=_0x5206b5(0x202)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+MCP_ARGS[_0x5206b5(0x200)]('\x20')+_0x5206b5(0x210)+_0x4b62b6;return _0x5af3e0!==_0x5206b5(0x214)&&(_0x31a4cb+='\x20-e\x20LOVRABET_ENV='+_0x5af3e0),await copyAgentsMd(_0x110768),logger[_0x5206b5(0x203)]('mcp-install',_0x5206b5(0x1f3),{'command':_0x31a4cb,'appcode':_0x4b62b6,'env':_0x5af3e0}),console[_0x5206b5(0x225)](_0x5206b5(0x1e4)),console[_0x5206b5(0x225)]('\x20\x20'+_0x31a4cb+'\x0a'),console[_0x5206b5(0x225)](_0x5206b5(0x213)),console[_0x5206b5(0x225)](_0x5206b5(0x1fd)+_0x4b62b6),_0x5af3e0!==_0x5206b5(0x214)&&console[_0x5206b5(0x225)](_0x5206b5(0x223)+_0x5af3e0),console['log'](_0x5206b5(0x218)),{'ide':'Claude\x20Code','status':_0x5206b5(0x21f),'message':'请手动执行:\x20'+_0x31a4cb};}export async function showOtherGuide(_0x2c5dc9){const _0x283be4=a4_0x59c374,_0x2b94cd=_0x2c5dc9||process[_0x283be4(0x1fa)](),_0x323873=readConfig(_0x2b94cd),_0x1ad954=_0x323873[_0x283be4(0x211)]||_0x323873['app'],_0x4c16f9=_0x323873['env']||_0x283be4(0x214);if(!_0x1ad954)return{'ide':'其他','status':'error','message':'需要先配置\x20appcode'};return console[_0x283be4(0x225)](_0x283be4(0x201)),console[_0x283be4(0x225)]('{'),console[_0x283be4(0x225)](_0x283be4(0x21e)),console[_0x283be4(0x225)]('\x20\x20\x20\x20\x22'+MCP_SERVER_NAME+_0x283be4(0x1eb)),console[_0x283be4(0x225)]('\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22'+MCP_COMMAND+'\x22,'),console['log'](_0x283be4(0x1fc)+MCP_ARGS[_0x283be4(0x227)](_0x21f86b=>'\x22'+_0x21f86b+'\x22')[_0x283be4(0x200)](',\x20')+'],'),console[_0x283be4(0x225)](_0x283be4(0x1ef)),console[_0x283be4(0x225)](_0x283be4(0x21a)+_0x1ad954+'\x22,'),_0x4c16f9!==_0x283be4(0x214)&&console[_0x283be4(0x225)](_0x283be4(0x21c)+_0x4c16f9+'\x22,'),console['log'](_0x283be4(0x20d)),console[_0x283be4(0x225)](_0x283be4(0x1e0)),console['log'](_0x283be4(0x1f2)),console[_0x283be4(0x225)]('}\x0a'),logger[_0x283be4(0x203)](_0x283be4(0x20e),_0x283be4(0x1ee),{'appcode':_0x1ad954,'env':_0x4c16f9}),{'ide':'其他','status':_0x283be4(0x21f),'message':'配置指引已显示'};}export async function configureMcp(_0x4b7af5,_0x4a32f4){const _0x11529e=a4_0x59c374;switch(_0x4b7af5){case _0x11529e(0x1f9):return await configureCursorMcp(_0x4a32f4);case _0x11529e(0x215):return await configureClaudeMcp(_0x4a32f4);default:throw new Error(_0x11529e(0x1ff)+_0x4b7af5);}}async function copyCursorRules(_0x278d0f){const _0x465978=a4_0x59c374,_0x32d55c=join(_0x278d0f,_0x465978(0x1df)),_0xdd0c73=join(_0x32d55c,_0x465978(0x20b));if(existsSync(_0xdd0c73))return;try{!existsSync(_0x32d55c)&&mkdirSync(_0x32d55c,{'recursive':!![]});const _0x2f2c8f=resolve(__dirname,_0x465978(0x1de));existsSync(_0x2f2c8f)&&(copyFileSync(_0x2f2c8f,_0xdd0c73),logger['info'](_0x465978(0x20e),_0x465978(0x1ea),{'from':_0x2f2c8f,'to':_0xdd0c73}));}catch(_0x387c0b){logger[_0x465978(0x1e2)](_0x465978(0x20e),_0x465978(0x217),{'error':_0x387c0b instanceof Error?_0x387c0b[_0x465978(0x229)]:String(_0x387c0b)});}}async function copyAgentsMd(_0x5e53ff){const _0xe432bd=a4_0x59c374,_0x422806=join(_0x5e53ff,'agents.md');if(existsSync(_0x422806))return;try{const _0x3615a5=resolve(__dirname,_0xe432bd(0x1de));if(existsSync(_0x3615a5)){const _0xb645de=readFileSync(_0x3615a5,_0xe432bd(0x1ec));writeFileSync(_0x422806,_0xb645de,'utf-8'),logger[_0xe432bd(0x203)]('mcp-install',_0xe432bd(0x1f0),{'from':_0x3615a5,'to':_0x422806});}}catch(_0x17a0f0){logger[_0xe432bd(0x1e2)](_0xe432bd(0x20e),_0xe432bd(0x208),{'error':_0x17a0f0 instanceof Error?_0x17a0f0[_0xe432bd(0x229)]:String(_0x17a0f0)});}}export const SKILL_IDE_CONFIGS=IDE_CONFIGS;export async function installSkill(_0x4951af,_0x33973a){const _0x46c6b5=a4_0x59c374,_0x4ee52b=_0x33973a||process['cwd'](),_0x5eaf07=resolve(__dirname,_0x46c6b5(0x21b)),_0x177f12=SKILL_IDE_CONFIGS[_0x4951af];if(!_0x177f12)return{'ide':_0x4951af,'status':_0x46c6b5(0x1e2),'message':_0x46c6b5(0x221)+_0x4951af};const _0x3e271d=_0x177f12['name'];try{const _0x5def32=await installSingleIDE(_0x4951af,_0x177f12,_0x4ee52b,_0x5eaf07);return logger[_0x46c6b5(0x203)](_0x46c6b5(0x216),_0x3e271d+_0x46c6b5(0x206),{'ide':_0x4951af,'filesCount':_0x5def32}),{'ide':_0x3e271d,'status':'success','message':'已创建\x20'+_0x5def32+'\x20项'};}catch(_0x55a7e3){return logger[_0x46c6b5(0x1e2)]('skill-install',_0x3e271d+_0x46c6b5(0x20a),{'error':_0x55a7e3 instanceof Error?_0x55a7e3[_0x46c6b5(0x229)]:String(_0x55a7e3)}),{'ide':_0x3e271d,'status':_0x46c6b5(0x1e2),'message':_0x55a7e3 instanceof Error?_0x55a7e3[_0x46c6b5(0x229)]:String(_0x55a7e3)};}}async function copyDir(_0x2e03ee,_0x3923da){const _0x48579c=a4_0x59c374,{statSync:_0x1c6506}=await import(_0x48579c(0x226)),{readdirSync:_0xc2f286}=await import('node:fs'),_0x10d76b=_0x1c6506(_0x2e03ee);if(_0x10d76b['isDirectory']()){!existsSync(_0x3923da)&&mkdirSync(_0x3923da,{'recursive':!![]});const _0x520e55=_0xc2f286(_0x2e03ee);for(const _0x37dae0 of _0x520e55){await copyDir(join(_0x2e03ee,_0x37dae0),join(_0x3923da,_0x37dae0));}}else copyFileSync(_0x2e03ee,_0x3923da);}export async function copySharedSkills(_0x22795a){const _0xe19dc1=a4_0x59c374,_0x49661b=_0x22795a||process['cwd'](),_0x3829df=resolve(__dirname,_0xe19dc1(0x21b)),_0xddfd4c=join(_0x3829df,_0xe19dc1(0x1e7)),_0x509340=join(_0x49661b,_0xe19dc1(0x20c));if(!existsSync(_0xddfd4c))return![];try{return await copyDir(_0xddfd4c,_0x509340),logger[_0xe19dc1(0x203)](_0xe19dc1(0x216),_0xe19dc1(0x1fb),{'path':_0x509340}),!![];}catch(_0x54fdb8){return logger[_0xe19dc1(0x1e2)](_0xe19dc1(0x216),'共享技能文件复制失败',{'error':_0x54fdb8 instanceof Error?_0x54fdb8[_0xe19dc1(0x229)]:String(_0x54fdb8)}),![];}}export function createSkillManifest(_0x4b2725,_0x45f9ac){const _0xcc9a74=a4_0x59c374,_0x4d8a2b={'version':_0xcc9a74(0x1e5),'installedAt':new Date()['toISOString'](),'platforms':_0x45f9ac},_0x36ef0b=join(_0x4b2725,_0xcc9a74(0x207)),_0x48298b=join(_0x4b2725,_0xcc9a74(0x1f5));!existsSync(_0x48298b)&&mkdirSync(_0x48298b,{'recursive':!![]}),writeFileSync(_0x36ef0b,JSON[_0xcc9a74(0x228)](_0x4d8a2b,null,0x2),_0xcc9a74(0x1ec)),logger[_0xcc9a74(0x203)](_0xcc9a74(0x216),_0xcc9a74(0x1f1),{'path':_0x36ef0b});}
1
+ const a4_0x567442=a4_0x5237;(function(_0xf873e9,_0x128278){const _0x2ba114=a4_0x5237,_0x37dc04=_0xf873e9();while(!![]){try{const _0x2939fe=-parseInt(_0x2ba114(0xaf))/0x1+-parseInt(_0x2ba114(0x73))/0x2*(-parseInt(_0x2ba114(0xaa))/0x3)+-parseInt(_0x2ba114(0x98))/0x4+parseInt(_0x2ba114(0x9d))/0x5+parseInt(_0x2ba114(0x99))/0x6*(-parseInt(_0x2ba114(0x8e))/0x7)+-parseInt(_0x2ba114(0x7e))/0x8+-parseInt(_0x2ba114(0x9c))/0x9*(-parseInt(_0x2ba114(0x8a))/0xa);if(_0x2939fe===_0x128278)break;else _0x37dc04['push'](_0x37dc04['shift']());}catch(_0x535476){_0x37dc04['push'](_0x37dc04['shift']());}}}(a4_0x4758,0x7f6b2));import{existsSync,mkdirSync,writeFileSync,readFileSync,copyFileSync}from'node:fs';import{join,resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{logger}from'../utils/logger.js';import{IDE_CONFIGS}from'../utils/ai_config.js';import{installSingleIDE}from'../skills/skill-installer.js';import{fetchGuidesFromCDN,writeGuidesToProject}from'../utils/guides-cdn.js';function a4_0x4758(){const _0xc64167=['\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','success','\x20-e\x20LOVRABET_APP_CODE=','配置信息:','1160RqhGlA','创建\x20agents.md\x20文件','共享技能文件复制成功','info','329tKZcEu','\x20\x20}','.lovrabet','\x22:\x20{','Cursor','online','message','app','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_APP_CODE\x22:\x20\x22','object','1835148NXgHsL','66702xCkAOf','agents.md','配置指引已显示','167364CddLCk','1639740RSnskt','已创建\x20','共享技能文件复制失败','2.0.0','toISOString','appcode','\x20\x20AppCode:\x20','claude\x20mcp\x20add\x20','Claude\x20Code','.lovrabet/skill/.shared','env','error','已写入\x20.cursor/mcp.json','15OgPeYC','\x20技能包安装成功','join','复制\x20Cursor\x20Rules\x20文件失败','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','512073AWjYMc','Cursor\x20MCP\x20配置失败','\x20技能包安装失败','claude','.lovrabet/skill-manifest.json','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_ENV\x22:\x20\x22','lovrabet_rules.mdc','isDirectory','mcp.json','rules','\x20\x20\x20\x20\x20\x20}','请手动执行:\x20','utf-8','npx','.shared','创建技能包\x20manifest','mcpServers','mcp-install','parse','node:fs','\x20\x20\x20\x20}','cwd','skill-install','107788UJSNfn','name','\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22','.cursor','需要先配置\x20appcode','manual','map','\x20\x20\x22mcpServers\x22:\x20{','Cursor\x20MCP\x20配置成功','../../skills','\x20\x20\x20\x20\x20\x20\x22args\x22:\x20[','5914312rpmDAG','不支持的\x20MCP\x20IDE:\x20','\x20-e\x20LOVRABET_ENV=','@lovrabet/dataset-mcp-server@latest','其他\x20IDE\x20配置指引已显示','log','stringify','../../templates/rules/lovrabet_rules.mdc.tpl'];a4_0x4758=function(){return _0xc64167;};return a4_0x4758();}const __dirname=dirname(fileURLToPath(import.meta.url)),MCP_SERVER_NAME='lovrabet-dataset',MCP_COMMAND=a4_0x567442(0xbc),MCP_ARGS=[a4_0x567442(0x81)];function a4_0x5237(_0x4de52b,_0x1fd642){_0x4de52b=_0x4de52b-0x6e;const _0x4758d4=a4_0x4758();let _0x5237ae=_0x4758d4[_0x4de52b];return _0x5237ae;}export function buildEnvConfig(_0x506d08,_0x4cb254){const _0x4d743b=a4_0x567442,_0x343760={'LOVRABET_APP_CODE':String(_0x506d08)};return _0x4cb254!==_0x4d743b(0x93)&&(_0x343760['LOVRABET_ENV']=String(_0x4cb254)),_0x343760;}export async function configureCursorMcp(_0x3b5e46){const _0x7a1bb8=a4_0x567442,_0x44bcb0=_0x3b5e46||process[_0x7a1bb8(0x71)](),_0x49d540=readConfig(_0x44bcb0),_0x5469b4=_0x49d540[_0x7a1bb8(0xa2)]||_0x49d540[_0x7a1bb8(0x95)],_0x581e56=_0x49d540['env']||_0x7a1bb8(0x93);if(!_0x5469b4)return{'ide':_0x7a1bb8(0x92),'status':_0x7a1bb8(0xa8),'message':_0x7a1bb8(0x77)};const _0x5a8098=buildEnvConfig(_0x5469b4,_0x581e56),_0x214ab2={'command':MCP_COMMAND,'args':MCP_ARGS,'env':_0x5a8098},_0x47ab8a=join(_0x44bcb0,_0x7a1bb8(0x76),_0x7a1bb8(0xb7)),_0x38ff55=join(_0x44bcb0,_0x7a1bb8(0x76));try{!existsSync(_0x38ff55)&&mkdirSync(_0x38ff55,{'recursive':!![]});let _0x460c3c={'mcpServers':{}};if(existsSync(_0x47ab8a)){const _0x1f7bee=readFileSync(_0x47ab8a,_0x7a1bb8(0xbb));_0x460c3c=JSON[_0x7a1bb8(0x6e)](_0x1f7bee);}return(!_0x460c3c[_0x7a1bb8(0xbf)]||typeof _0x460c3c[_0x7a1bb8(0xbf)]!==_0x7a1bb8(0x97))&&(_0x460c3c['mcpServers']={}),_0x460c3c[_0x7a1bb8(0xbf)][MCP_SERVER_NAME]=_0x214ab2,writeFileSync(_0x47ab8a,JSON[_0x7a1bb8(0x84)](_0x460c3c,null,0x2),_0x7a1bb8(0xbb)),logger[_0x7a1bb8(0x8d)](_0x7a1bb8(0xc0),_0x7a1bb8(0x7b),{'appcode':_0x5469b4,'env':_0x581e56,'path':_0x47ab8a}),await copyCursorRules(_0x38ff55),{'ide':_0x7a1bb8(0x92),'status':_0x7a1bb8(0x87),'message':_0x7a1bb8(0xa9)};}catch(_0x33c5da){return logger[_0x7a1bb8(0xa8)](_0x7a1bb8(0xc0),_0x7a1bb8(0xb0),{'error':_0x33c5da instanceof Error?_0x33c5da[_0x7a1bb8(0x94)]:String(_0x33c5da)}),{'ide':_0x7a1bb8(0x92),'status':_0x7a1bb8(0xa8),'message':_0x33c5da instanceof Error?_0x33c5da[_0x7a1bb8(0x94)]:String(_0x33c5da)};}}export async function configureClaudeMcp(_0x3c5df6){const _0x408c66=a4_0x567442,_0x4168a7=_0x3c5df6||process['cwd'](),_0x596056=readConfig(_0x4168a7),_0x3dcea1=_0x596056[_0x408c66(0xa2)]||_0x596056[_0x408c66(0x95)],_0x3eeeeb=_0x596056[_0x408c66(0xa7)]||_0x408c66(0x93);if(!_0x3dcea1)return{'ide':'Claude\x20Code','status':_0x408c66(0xa8),'message':_0x408c66(0x77)};let _0x549585=_0x408c66(0xa4)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+MCP_ARGS[_0x408c66(0xac)]('\x20')+_0x408c66(0x88)+_0x3dcea1;return _0x3eeeeb!==_0x408c66(0x93)&&(_0x549585+=_0x408c66(0x80)+_0x3eeeeb),await copyAgentsMd(_0x4168a7),logger[_0x408c66(0x8d)]('mcp-install','Claude\x20Code\x20MCP\x20命令已生成',{'command':_0x549585,'appcode':_0x3dcea1,'env':_0x3eeeeb}),console[_0x408c66(0x83)](_0x408c66(0x86)),console[_0x408c66(0x83)]('\x20\x20'+_0x549585+'\x0a'),console[_0x408c66(0x83)](_0x408c66(0x89)),console[_0x408c66(0x83)](_0x408c66(0xa3)+_0x3dcea1),_0x3eeeeb!==_0x408c66(0x93)&&console[_0x408c66(0x83)]('\x20\x20环境:\x20'+_0x3eeeeb),console[_0x408c66(0x83)]('\x20\x20重启\x20Claude\x20Code\x20后生效\x0a'),{'ide':_0x408c66(0xa5),'status':'manual','message':_0x408c66(0xba)+_0x549585};}export async function showOtherGuide(_0xdbf7a9){const _0x44bb9b=a4_0x567442,_0x15e9ae=_0xdbf7a9||process[_0x44bb9b(0x71)](),_0x19a736=readConfig(_0x15e9ae),_0xf7aebc=_0x19a736['appcode']||_0x19a736[_0x44bb9b(0x95)],_0x214556=_0x19a736[_0x44bb9b(0xa7)]||_0x44bb9b(0x93);if(!_0xf7aebc)return{'ide':'其他','status':_0x44bb9b(0xa8),'message':'需要先配置\x20appcode'};return console[_0x44bb9b(0x83)](_0x44bb9b(0xae)),console[_0x44bb9b(0x83)]('{'),console[_0x44bb9b(0x83)](_0x44bb9b(0x7a)),console[_0x44bb9b(0x83)]('\x20\x20\x20\x20\x22'+MCP_SERVER_NAME+_0x44bb9b(0x91)),console[_0x44bb9b(0x83)](_0x44bb9b(0x75)+MCP_COMMAND+'\x22,'),console['log'](_0x44bb9b(0x7d)+MCP_ARGS[_0x44bb9b(0x79)](_0x4400fe=>'\x22'+_0x4400fe+'\x22')[_0x44bb9b(0xac)](',\x20')+'],'),console[_0x44bb9b(0x83)]('\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{'),console[_0x44bb9b(0x83)](_0x44bb9b(0x96)+_0xf7aebc+'\x22,'),_0x214556!==_0x44bb9b(0x93)&&console['log'](_0x44bb9b(0xb4)+_0x214556+'\x22,'),console[_0x44bb9b(0x83)](_0x44bb9b(0xb9)),console[_0x44bb9b(0x83)](_0x44bb9b(0x70)),console[_0x44bb9b(0x83)](_0x44bb9b(0x8f)),console[_0x44bb9b(0x83)]('}\x0a'),logger[_0x44bb9b(0x8d)]('mcp-install',_0x44bb9b(0x82),{'appcode':_0xf7aebc,'env':_0x214556}),{'ide':'其他','status':_0x44bb9b(0x78),'message':_0x44bb9b(0x9b)};}export async function configureMcp(_0x3ab4fd,_0x7bf3fe){const _0x16df19=a4_0x567442;switch(_0x3ab4fd){case'cursor':return await configureCursorMcp(_0x7bf3fe);case _0x16df19(0xb2):return await configureClaudeMcp(_0x7bf3fe);default:throw new Error(_0x16df19(0x7f)+_0x3ab4fd);}}async function copyCursorRules(_0x3bd544){const _0x2a4bbb=a4_0x567442,_0x1da004=join(_0x3bd544,_0x2a4bbb(0xb8)),_0x244771=join(_0x1da004,_0x2a4bbb(0xb5));if(existsSync(_0x244771))return;try{!existsSync(_0x1da004)&&mkdirSync(_0x1da004,{'recursive':!![]});const _0xaa3b93=resolve(__dirname,_0x2a4bbb(0x85));existsSync(_0xaa3b93)&&(copyFileSync(_0xaa3b93,_0x244771),logger['info'](_0x2a4bbb(0xc0),'创建\x20Cursor\x20Rules\x20文件',{'from':_0xaa3b93,'to':_0x244771}));}catch(_0x3dff52){logger[_0x2a4bbb(0xa8)](_0x2a4bbb(0xc0),_0x2a4bbb(0xad),{'error':_0x3dff52 instanceof Error?_0x3dff52[_0x2a4bbb(0x94)]:String(_0x3dff52)});}}async function copyAgentsMd(_0x26716b){const _0x3ef815=a4_0x567442,_0x55e8c5=join(_0x26716b,_0x3ef815(0x9a));if(existsSync(_0x55e8c5))return;try{const _0x2cee38=resolve(__dirname,_0x3ef815(0x85));if(existsSync(_0x2cee38)){const _0x179147=readFileSync(_0x2cee38,'utf-8');writeFileSync(_0x55e8c5,_0x179147,_0x3ef815(0xbb)),logger['info'](_0x3ef815(0xc0),_0x3ef815(0x8b),{'from':_0x2cee38,'to':_0x55e8c5});}}catch(_0x25b7e6){logger[_0x3ef815(0xa8)](_0x3ef815(0xc0),'复制\x20agents.md\x20文件失败',{'error':_0x25b7e6 instanceof Error?_0x25b7e6[_0x3ef815(0x94)]:String(_0x25b7e6)});}}export const SKILL_IDE_CONFIGS=IDE_CONFIGS;export async function installSkill(_0x325ccb,_0x2e0390){const _0x134048=a4_0x567442,_0x44816f=_0x2e0390||process[_0x134048(0x71)](),_0x129cf2=resolve(__dirname,_0x134048(0x7c)),_0xf7b376=SKILL_IDE_CONFIGS[_0x325ccb];if(!_0xf7b376)return{'ide':_0x325ccb,'status':_0x134048(0xa8),'message':'未知的\x20IDE:\x20'+_0x325ccb};const _0x56f9af=_0xf7b376[_0x134048(0x74)];try{let _0x54f769;try{_0x54f769=await fetchGuidesFromCDN();}catch{}const _0xc6b911=await installSingleIDE(_0x325ccb,_0xf7b376,_0x44816f,_0x129cf2,_0x54f769);return _0x54f769&&writeGuidesToProject(_0x54f769,_0x44816f),logger[_0x134048(0x8d)](_0x134048(0x72),_0x56f9af+_0x134048(0xab),{'ide':_0x325ccb,'filesCount':_0xc6b911}),{'ide':_0x56f9af,'status':_0x134048(0x87),'message':_0x134048(0x9e)+_0xc6b911+'\x20项'};}catch(_0x17cce2){return logger[_0x134048(0xa8)](_0x134048(0x72),_0x56f9af+_0x134048(0xb1),{'error':_0x17cce2 instanceof Error?_0x17cce2['message']:String(_0x17cce2)}),{'ide':_0x56f9af,'status':_0x134048(0xa8),'message':_0x17cce2 instanceof Error?_0x17cce2[_0x134048(0x94)]:String(_0x17cce2)};}}async function copyDir(_0x577e2a,_0x3f5008){const _0x2c621d=a4_0x567442,{statSync:_0x1d16ce}=await import('node:fs'),{readdirSync:_0x17b9c7}=await import(_0x2c621d(0x6f)),_0x1adee6=_0x1d16ce(_0x577e2a);if(_0x1adee6[_0x2c621d(0xb6)]()){!existsSync(_0x3f5008)&&mkdirSync(_0x3f5008,{'recursive':!![]});const _0x4aafaf=_0x17b9c7(_0x577e2a);for(const _0x28c764 of _0x4aafaf){await copyDir(join(_0x577e2a,_0x28c764),join(_0x3f5008,_0x28c764));}}else copyFileSync(_0x577e2a,_0x3f5008);}export async function copySharedSkills(_0xb3c225){const _0x475f1a=a4_0x567442,_0x1ecbc0=_0xb3c225||process[_0x475f1a(0x71)](),_0x4b422d=resolve(__dirname,_0x475f1a(0x7c)),_0x1cc5d8=join(_0x4b422d,_0x475f1a(0xbd)),_0x33e970=join(_0x1ecbc0,_0x475f1a(0xa6));if(!existsSync(_0x1cc5d8))return![];try{return await copyDir(_0x1cc5d8,_0x33e970),logger[_0x475f1a(0x8d)](_0x475f1a(0x72),_0x475f1a(0x8c),{'path':_0x33e970}),!![];}catch(_0x5c5764){return logger['error'](_0x475f1a(0x72),_0x475f1a(0x9f),{'error':_0x5c5764 instanceof Error?_0x5c5764[_0x475f1a(0x94)]:String(_0x5c5764)}),![];}}export function createSkillManifest(_0x28e758,_0x19dd61){const _0x5fa09e=a4_0x567442,_0x1c731c={'version':_0x5fa09e(0xa0),'installedAt':new Date()[_0x5fa09e(0xa1)](),'platforms':_0x19dd61},_0x37d292=join(_0x28e758,_0x5fa09e(0xb3)),_0x222939=join(_0x28e758,_0x5fa09e(0x90));!existsSync(_0x222939)&&mkdirSync(_0x222939,{'recursive':!![]}),writeFileSync(_0x37d292,JSON['stringify'](_0x1c731c,null,0x2),'utf-8'),logger[_0x5fa09e(0x8d)](_0x5fa09e(0x72),_0x5fa09e(0xbe),{'path':_0x37d292});}
@@ -1 +1 @@
1
- (function(_0x433e5a,_0x396f88){const _0x535d93=a5_0x598f,_0x263159=_0x433e5a();while(!![]){try{const _0x22480c=-parseInt(_0x535d93(0x89))/0x1+parseInt(_0x535d93(0xae))/0x2+-parseInt(_0x535d93(0xb7))/0x3+parseInt(_0x535d93(0xb5))/0x4*(-parseInt(_0x535d93(0xb2))/0x5)+parseInt(_0x535d93(0x9b))/0x6*(-parseInt(_0x535d93(0x8e))/0x7)+parseInt(_0x535d93(0xa8))/0x8+parseInt(_0x535d93(0x8c))/0x9*(parseInt(_0x535d93(0xb0))/0xa);if(_0x22480c===_0x396f88)break;else _0x263159['push'](_0x263159['shift']());}catch(_0x64c5b3){_0x263159['push'](_0x263159['shift']());}}}(a5_0x23f0,0x4f26f));import{jsx as a5_0x3e2b47,jsxs as a5_0x383369,Fragment as a5_0x2ef72e}from'react/jsx-runtime';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';import{initEnv}from'../constant/env.js';import{fetchModelList}from'./fetch-model-list.js';function a5_0x23f0(){const _0xe9002=['41157aoOlwQ','green','161GRidoZ','使用指定的应用AppCode:\x20','使用配置的应用AppCode:\x20','\x20个数据集','success','\x20个数据集的文档...','white','setLogPath','💡\x20请使用\x20','dim','join','正在生成\x20','env','52458HqfzrU','\x1b[33m!\x20以下数据集代码不存在:\x20','未找到任何数据集','\x1b[0m','length','red','⚠️\x20以下数据集生成失败:','未提供应用AppCode,且配置中也没有默认值','gray',',\x20失败\x20','error','string','*\x20生成的文档文件:','15072xJqPSR','datasetName','.md\x20(','*\x20输出目录:\x20','map','filePath','1016230oHhrlD','log','2440zbZIuK','datasetCode','745eXCMlq','includes','lovrabet\x20auth','4696LDxBUU','文档生成失败:\x20','1366128sYUFKP','yellow','文档生成完成','filter','指定的数据集代码都不存在:\x20','\x1b[90m*\x20从\x20','api-doc','./docs','470213xfkwgn','正在获取数据集列表...','column'];a5_0x23f0=function(){return _0xe9002;};return a5_0x23f0();}import{generateDatasetDocs}from'./api-doc.js';function a5_0x598f(_0x4a72ea,_0xff52a2){_0x4a72ea=_0x4a72ea-0x89;const _0x23f0be=a5_0x23f0();let _0x598faf=_0x23f0be[_0x4a72ea];return _0x598faf;}import{logger}from'../utils/logger.js';export const ApiDocUI=({appCode:_0x567f23,env:_0x43659d,output:_0x2dfcec,extraParams:_0x268d52,datasetCodes:_0x49ec16})=>{const _0x3b840d=a5_0x598f,{exit:_0x439ad3}=useApp(),[_0x31bc21,_0x533a64]=useState(![]),[_0x34bcf8,_0x2530b4]=useState(''),[_0xff1376,_0x4ea8e5]=useState(![]),[_0x201500,_0x3add96]=useState(null),[_0x5f258c,_0x2ddd82]=useState(null),[_0x3ddaaa,_0x3c4a6d]=useState(0x0),_0x225d5f=readConfig(),_0x368428=getConfigAppCode(),_0x4405f4=_0x567f23||_0x368428,_0x1d5a74=typeof _0x225d5f?.[_0x3b840d(0x9a)]===_0x3b840d(0xa6)?_0x225d5f[_0x3b840d(0x9a)]:undefined,_0xfd281d=_0x43659d||_0x1d5a74||'online';initEnv(_0xfd281d);const _0xbcb300=_0x2dfcec||_0x3b840d(0xbe),_0x4170e6=_0x567f23?_0x3b840d(0x8f)+_0x4405f4:_0x3b840d(0x90)+_0x4405f4;useEffect(()=>{_0x533a64(!![]),_0x27af7c();},[]),useEffect(()=>{(_0xff1376||_0x201500)&&_0x439ad3();},[_0xff1376,_0x201500,_0x439ad3]);async function _0x27af7c(){const _0xa2b415=_0x3b840d;if(!_0x4405f4){_0x3add96(_0xa2b415(0xa2));return;}try{logger[_0xa2b415(0x95)](process['cwd']()),_0x2530b4(_0xa2b415(0x8a));const {configArray:_0x217af0}=await fetchModelList(_0x4405f4);_0x3c4a6d(_0x217af0['length']);if(_0x217af0['length']===0x0){_0x3add96(_0xa2b415(0x9d));return;}let _0x19bc7b=_0x217af0;if(_0x49ec16&&_0x49ec16['length']>0x0){_0x19bc7b=_0x217af0[_0xa2b415(0xba)](_0x422b5e=>_0x49ec16[_0xa2b415(0xb3)](_0x422b5e['datasetCode']));const _0xf92b61=_0x19bc7b[_0xa2b415(0xac)](_0x321b20=>_0x321b20[_0xa2b415(0xb1)]),_0x5a1638=_0x49ec16[_0xa2b415(0xba)](_0x10748e=>!_0xf92b61['includes'](_0x10748e));_0x5a1638['length']>0x0&&console[_0xa2b415(0xaf)](_0xa2b415(0x9c)+_0x5a1638[_0xa2b415(0x98)](',\x20')+_0xa2b415(0x9e));if(_0x19bc7b[_0xa2b415(0x9f)]===0x0){_0x3add96(_0xa2b415(0xbb)+_0x49ec16[_0xa2b415(0x98)](',\x20'));return;}console['log'](_0xa2b415(0xbc)+_0x217af0[_0xa2b415(0x9f)]+'\x20个数据集中筛选出\x20'+_0x19bc7b[_0xa2b415(0x9f)]+'\x20个匹配的数据集\x1b[0m');}_0x2530b4(_0xa2b415(0x99)+_0x19bc7b[_0xa2b415(0x9f)]+_0xa2b415(0x93));const _0x3c08c4=await generateDatasetDocs(_0x19bc7b,_0x4405f4,_0xbcb300,(_0x2357fc,_0x1c7f35,_0x58acc5)=>{const _0x40981c=_0xa2b415;_0x2530b4('正在生成\x20'+_0x58acc5+_0x40981c(0xaa)+_0x2357fc+'/'+_0x1c7f35+')');},_0x268d52);_0x2ddd82(_0x3c08c4),_0x4ea8e5(!![]);const _0x4240d0=_0x3c08c4[_0xa2b415(0xba)](_0x2e1eb0=>_0x2e1eb0[_0xa2b415(0x92)])[_0xa2b415(0x9f)],_0x596721=_0x3c08c4['filter'](_0x376735=>!_0x376735['success'])[_0xa2b415(0x9f)];logger['success'](_0xa2b415(0xbd),_0xa2b415(0xb9),undefined,{'totalCount':_0x3c08c4[_0xa2b415(0x9f)],'successCount':_0x4240d0,'failCount':_0x596721,'outputDir':_0xbcb300});}catch(_0x3f848c){const _0x3a4573=_0x3f848c instanceof Error?_0x3f848c['message']:String(_0x3f848c);logger[_0xa2b415(0xa5)](_0xa2b415(0xbd),'文档生成失败:\x20'+_0x3a4573,{'appCode':_0x4405f4,'outputDir':_0xbcb300}),_0x3add96(_0xa2b415(0xb6)+_0x3a4573);}finally{_0x533a64(![]);}}const _0x1124b6=_0x5f258c?.[_0x3b840d(0xba)](_0x41e400=>_0x41e400['success'])[_0x3b840d(0x9f)]||0x0,_0x56efd8=_0x5f258c?.[_0x3b840d(0xba)](_0x48246f=>!_0x48246f['success'])[_0x3b840d(0x9f)]||0x0;return a5_0x383369(Box,{'flexDirection':_0x3b840d(0x8b),'children':[(_0x31bc21||_0xff1376)&&a5_0x383369(Box,{'children':[a5_0x3e2b47(Text,{'color':_0x3b840d(0xa3),'children':'*\x20'}),a5_0x3e2b47(Text,{'color':_0x567f23?_0x3b840d(0x94):_0x3b840d(0x97),'children':_0x4170e6})]}),_0x31bc21&&a5_0x3e2b47(Box,{'children':a5_0x383369(Text,{'children':['🚀\x20',_0x34bcf8,'\x20(环境:\x20',_0xfd281d,')']})}),_0xff1376&&_0x5f258c&&a5_0x383369(Box,{'flexDirection':_0x3b840d(0x8b),'children':[a5_0x3e2b47(Box,{'children':a5_0x383369(Text,{'color':_0x3b840d(0x8d),'children':['√\x20文档生成完成!成功\x20',_0x1124b6,'\x20个',_0x56efd8>0x0&&_0x3b840d(0xa4)+_0x56efd8+'\x20个']})}),a5_0x3e2b47(Box,{'marginTop':0x1,'children':a5_0x383369(Text,{'color':'gray','children':['*\x20共处理\x20',_0x3ddaaa,_0x3b840d(0x91)]})}),a5_0x383369(Box,{'marginTop':0x1,'children':[a5_0x3e2b47(Text,{'color':_0x3b840d(0xa3),'children':_0x3b840d(0xab)}),a5_0x3e2b47(Text,{'color':'cyan','children':_0xbcb300})]}),_0x1124b6>0x0&&a5_0x383369(a5_0x2ef72e,{'children':[a5_0x3e2b47(Box,{'marginTop':0x1,'children':a5_0x3e2b47(Text,{'color':_0x3b840d(0xa3),'children':_0x3b840d(0xa7)})}),_0x5f258c['filter'](_0x43e96d=>_0x43e96d[_0x3b840d(0x92)])[_0x3b840d(0xac)]((_0x3c4db8,_0x45fd2a)=>a5_0x383369(Box,{'marginLeft':0x2,'children':[a5_0x383369(Text,{'color':'cyan','children':['•\x20',_0x3c4db8[_0x3b840d(0xad)]]}),a5_0x383369(Text,{'color':_0x3b840d(0x97),'children':['\x20-\x20',_0x3c4db8['datasetName']]})]},_0x45fd2a))]}),_0x56efd8>0x0&&a5_0x383369(a5_0x2ef72e,{'children':[a5_0x3e2b47(Box,{'marginTop':0x1,'children':a5_0x3e2b47(Text,{'color':'yellow','children':_0x3b840d(0xa1)})}),_0x5f258c[_0x3b840d(0xba)](_0x4fc915=>!_0x4fc915[_0x3b840d(0x92)])[_0x3b840d(0xac)]((_0x4f267a,_0x28637a)=>a5_0x383369(Box,{'marginLeft':0x2,'flexDirection':'column','children':[a5_0x383369(Text,{'color':_0x3b840d(0xa0),'children':['•\x20',_0x4f267a[_0x3b840d(0xa9)],'\x20(',_0x4f267a[_0x3b840d(0xb1)],')']}),_0x4f267a[_0x3b840d(0xa5)]&&a5_0x3e2b47(Box,{'marginLeft':0x2,'children':a5_0x3e2b47(Text,{'color':_0x3b840d(0x97),'children':_0x4f267a[_0x3b840d(0xa5)]})})]},_0x28637a))]})]}),_0x201500&&a5_0x383369(Box,{'flexDirection':_0x3b840d(0x8b),'children':[a5_0x3e2b47(Box,{'children':a5_0x383369(Text,{'color':_0x3b840d(0xa0),'children':['❌\x20',_0x201500]})}),_0x201500['includes']('登录')&&a5_0x383369(Box,{'marginTop':0x1,'children':[a5_0x3e2b47(Text,{'color':_0x3b840d(0xb8),'children':_0x3b840d(0x96)}),a5_0x3e2b47(Text,{'color':'cyan','children':_0x3b840d(0xb4)}),a5_0x3e2b47(Text,{'color':_0x3b840d(0xb8),'children':'\x20重新登录后再试'})]})]})]});};
1
+ function a5_0x4e62(){const _0x26e837=['指定的数据集代码都不存在:\x20','*\x20输出目录:\x20','filter','正在生成\x20','env','\x1b[0m','*\x20生成的文档文件:','lovrabet\x20auth','log','white','yellow','string','383824qRGMgp','10516TPhSyA','cwd','map','filePath','column','datasetName','2176503YsEDaq','.md\x20(','gray','文档生成失败:\x20','cyan','使用配置的应用AppCode:\x20','error','red','\x1b[33m!\x20以下数据集代码不存在:\x20','join','\x1b[90m*\x20从\x20','\x20个数据集中筛选出\x20','includes','\x20个匹配的数据集\x1b[0m','setLogPath','427199FrxeyR','未找到任何数据集','\x20重新登录后再试','\x20(环境:\x20','\x20-\x20','\x20个数据集','message','dim','√\x20文档生成完成!成功\x20','*\x20共处理\x20','894490EKVXDU','datasetCode','9454104bCyvfP','success','🚀\x20','2089740cQdtWA','16MhUwHe','321jRXZNn','使用指定的应用AppCode:\x20','length','💡\x20请使用\x20','green','文档生成完成',',\x20失败\x20'];a5_0x4e62=function(){return _0x26e837;};return a5_0x4e62();}(function(_0x202e20,_0x34a3ec){const _0x8a61fc=a5_0x10a3,_0x18f6d0=_0x202e20();while(!![]){try{const _0x392923=parseInt(_0x8a61fc(0x81))/0x1+-parseInt(_0x8a61fc(0x6c))/0x2*(parseInt(_0x8a61fc(0x92))/0x3)+parseInt(_0x8a61fc(0x6b))/0x4+parseInt(_0x8a61fc(0x8b))/0x5+parseInt(_0x8a61fc(0x90))/0x6+parseInt(_0x8a61fc(0x72))/0x7*(-parseInt(_0x8a61fc(0x91))/0x8)+parseInt(_0x8a61fc(0x8d))/0x9;if(_0x392923===_0x34a3ec)break;else _0x18f6d0['push'](_0x18f6d0['shift']());}catch(_0x5ca0f3){_0x18f6d0['push'](_0x18f6d0['shift']());}}}(a5_0x4e62,0xdfb6f));import{jsx as a5_0x12e133,jsxs as a5_0x316794,Fragment as a5_0x363b2c}from'react/jsx-runtime';import{useEffect,useState}from'react';function a5_0x10a3(_0x70cdb7,_0xe55f3b){_0x70cdb7=_0x70cdb7-0x66;const _0x4e62da=a5_0x4e62();let _0x10a305=_0x4e62da[_0x70cdb7];return _0x10a305;}import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';import{initEnv}from'../constant/env.js';import{fetchModelList}from'./fetch-model-list.js';import{generateDatasetDocs}from'./api-doc.js';import{logger}from'../utils/logger.js';export const ApiDocUI=({appCode:_0x446aed,env:_0x85316c,output:_0xb0b667,extraParams:_0x276741,datasetCodes:_0x81cfa})=>{const _0x60e42e=a5_0x10a3,{exit:_0x10d117}=useApp(),[_0xf39f2b,_0x590916]=useState(![]),[_0x4e3c91,_0xe04d82]=useState(''),[_0x5585ba,_0x4558d3]=useState(![]),[_0x38ee4b,_0x11697e]=useState(null),[_0x13b1db,_0x1e7217]=useState(null),[_0x14fff7,_0x517f14]=useState(0x0),_0x5c4e0e=readConfig(),_0x559001=getConfigAppCode(),_0x299fc2=_0x446aed||_0x559001,_0x5031d2=typeof _0x5c4e0e?.[_0x60e42e(0x9d)]===_0x60e42e(0x6a)?_0x5c4e0e[_0x60e42e(0x9d)]:undefined,_0x22ba9=_0x85316c||_0x5031d2||'online';initEnv(_0x22ba9);const _0x4dfc44=_0xb0b667||'./docs',_0x4323f7=_0x446aed?_0x60e42e(0x93)+_0x299fc2:_0x60e42e(0x77)+_0x299fc2;useEffect(()=>{_0x590916(!![]),_0x351a3d();},[]),useEffect(()=>{(_0x5585ba||_0x38ee4b)&&_0x10d117();},[_0x5585ba,_0x38ee4b,_0x10d117]);async function _0x351a3d(){const _0x287a05=_0x60e42e;if(!_0x299fc2){_0x11697e('未提供应用AppCode,且配置中也没有默认值');return;}try{logger[_0x287a05(0x80)](process[_0x287a05(0x6d)]()),_0xe04d82('正在获取数据集列表...');const {configArray:_0x20a098}=await fetchModelList(_0x299fc2);_0x517f14(_0x20a098[_0x287a05(0x94)]);if(_0x20a098[_0x287a05(0x94)]===0x0){_0x11697e(_0x287a05(0x82));return;}let _0x58f9a2=_0x20a098;if(_0x81cfa&&_0x81cfa[_0x287a05(0x94)]>0x0){_0x58f9a2=_0x20a098[_0x287a05(0x9b)](_0x1e4c28=>_0x81cfa[_0x287a05(0x7e)](_0x1e4c28[_0x287a05(0x8c)]));const _0x4f6a0f=_0x58f9a2[_0x287a05(0x6e)](_0x1fc376=>_0x1fc376[_0x287a05(0x8c)]),_0x352747=_0x81cfa[_0x287a05(0x9b)](_0x39a3f6=>!_0x4f6a0f[_0x287a05(0x7e)](_0x39a3f6));_0x352747[_0x287a05(0x94)]>0x0&&console[_0x287a05(0x67)](_0x287a05(0x7a)+_0x352747['join'](',\x20')+_0x287a05(0x9e));if(_0x58f9a2[_0x287a05(0x94)]===0x0){_0x11697e(_0x287a05(0x99)+_0x81cfa[_0x287a05(0x7b)](',\x20'));return;}console[_0x287a05(0x67)](_0x287a05(0x7c)+_0x20a098[_0x287a05(0x94)]+_0x287a05(0x7d)+_0x58f9a2['length']+_0x287a05(0x7f));}_0xe04d82(_0x287a05(0x9c)+_0x58f9a2['length']+'\x20个数据集的文档...');const _0x927ec3=await generateDatasetDocs(_0x58f9a2,_0x299fc2,_0x4dfc44,(_0x5f530b,_0x14cce3,_0x226f7d)=>{const _0x3fe3fc=_0x287a05;_0xe04d82(_0x3fe3fc(0x9c)+_0x226f7d+_0x3fe3fc(0x73)+_0x5f530b+'/'+_0x14cce3+')');},_0x276741);_0x1e7217(_0x927ec3),_0x4558d3(!![]);const _0x5d8a58=_0x927ec3['filter'](_0x1a2d23=>_0x1a2d23[_0x287a05(0x8e)])['length'],_0x521b2e=_0x927ec3['filter'](_0x3b93cb=>!_0x3b93cb[_0x287a05(0x8e)])['length'];logger[_0x287a05(0x8e)]('api-doc',_0x287a05(0x97),undefined,{'totalCount':_0x927ec3[_0x287a05(0x94)],'successCount':_0x5d8a58,'failCount':_0x521b2e,'outputDir':_0x4dfc44});}catch(_0x154e17){const _0x39946d=_0x154e17 instanceof Error?_0x154e17[_0x287a05(0x87)]:String(_0x154e17);logger[_0x287a05(0x78)]('api-doc',_0x287a05(0x75)+_0x39946d,{'appCode':_0x299fc2,'outputDir':_0x4dfc44}),_0x11697e('文档生成失败:\x20'+_0x39946d);}finally{_0x590916(![]);}}const _0x246e05=_0x13b1db?.[_0x60e42e(0x9b)](_0x24cec0=>_0x24cec0['success'])['length']||0x0,_0x1f278a=_0x13b1db?.['filter'](_0x9cdb3f=>!_0x9cdb3f[_0x60e42e(0x8e)])['length']||0x0;return a5_0x316794(Box,{'flexDirection':_0x60e42e(0x70),'children':[(_0xf39f2b||_0x5585ba)&&a5_0x316794(Box,{'children':[a5_0x12e133(Text,{'color':'gray','children':'*\x20'}),a5_0x12e133(Text,{'color':_0x446aed?_0x60e42e(0x68):'dim','children':_0x4323f7})]}),_0xf39f2b&&a5_0x12e133(Box,{'children':a5_0x316794(Text,{'children':[_0x60e42e(0x8f),_0x4e3c91,_0x60e42e(0x84),_0x22ba9,')']})}),_0x5585ba&&_0x13b1db&&a5_0x316794(Box,{'flexDirection':_0x60e42e(0x70),'children':[a5_0x12e133(Box,{'children':a5_0x316794(Text,{'color':_0x60e42e(0x96),'children':[_0x60e42e(0x89),_0x246e05,'\x20个',_0x1f278a>0x0&&_0x60e42e(0x98)+_0x1f278a+'\x20个']})}),a5_0x12e133(Box,{'marginTop':0x1,'children':a5_0x316794(Text,{'color':_0x60e42e(0x74),'children':[_0x60e42e(0x8a),_0x14fff7,_0x60e42e(0x86)]})}),a5_0x316794(Box,{'marginTop':0x1,'children':[a5_0x12e133(Text,{'color':_0x60e42e(0x74),'children':_0x60e42e(0x9a)}),a5_0x12e133(Text,{'color':_0x60e42e(0x76),'children':_0x4dfc44})]}),_0x246e05>0x0&&a5_0x316794(a5_0x363b2c,{'children':[a5_0x12e133(Box,{'marginTop':0x1,'children':a5_0x12e133(Text,{'color':_0x60e42e(0x74),'children':_0x60e42e(0x9f)})}),_0x13b1db[_0x60e42e(0x9b)](_0x216600=>_0x216600['success'])[_0x60e42e(0x6e)]((_0x45c4b1,_0x1ec463)=>a5_0x316794(Box,{'marginLeft':0x2,'children':[a5_0x316794(Text,{'color':_0x60e42e(0x76),'children':['•\x20',_0x45c4b1[_0x60e42e(0x6f)]]}),a5_0x316794(Text,{'color':'dim','children':[_0x60e42e(0x85),_0x45c4b1['datasetName']]})]},_0x1ec463))]}),_0x1f278a>0x0&&a5_0x316794(a5_0x363b2c,{'children':[a5_0x12e133(Box,{'marginTop':0x1,'children':a5_0x12e133(Text,{'color':_0x60e42e(0x69),'children':'⚠️\x20以下数据集生成失败:'})}),_0x13b1db[_0x60e42e(0x9b)](_0x726b8e=>!_0x726b8e[_0x60e42e(0x8e)])['map']((_0x57477e,_0x30f2f4)=>a5_0x316794(Box,{'marginLeft':0x2,'flexDirection':_0x60e42e(0x70),'children':[a5_0x316794(Text,{'color':'red','children':['•\x20',_0x57477e[_0x60e42e(0x71)],'\x20(',_0x57477e['datasetCode'],')']}),_0x57477e[_0x60e42e(0x78)]&&a5_0x12e133(Box,{'marginLeft':0x2,'children':a5_0x12e133(Text,{'color':_0x60e42e(0x88),'children':_0x57477e[_0x60e42e(0x78)]})})]},_0x30f2f4))]})]}),_0x38ee4b&&a5_0x316794(Box,{'flexDirection':'column','children':[a5_0x12e133(Box,{'children':a5_0x316794(Text,{'color':_0x60e42e(0x79),'children':['❌\x20',_0x38ee4b]})}),_0x38ee4b[_0x60e42e(0x7e)]('登录')&&a5_0x316794(Box,{'marginTop':0x1,'children':[a5_0x12e133(Text,{'color':'yellow','children':_0x60e42e(0x95)}),a5_0x12e133(Text,{'color':_0x60e42e(0x76),'children':_0x60e42e(0x66)}),a5_0x12e133(Text,{'color':_0x60e42e(0x69),'children':_0x60e42e(0x83)})]})]})]});};
@@ -1 +1 @@
1
- function a6_0x268f(_0x4d8137,_0x47e65a){_0x4d8137=_0x4d8137-0xfc;const _0x302865=a6_0x3028();let _0x268f41=_0x302865[_0x4d8137];return _0x268f41;}const a6_0x150ec2=a6_0x268f;function a6_0x3028(){const _0x5a8df2=['130738aiStSS','2724124JiVEtC','text','✓\x20成功生成:\x20','datasetCode','生成文档失败:\x20','31495tYuzix','application/json','stringify','name','.md\x20(','生成文档成功:\x20',']\x20正在生成:\x20','api-doc','status','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','3ahTdrR','✗\x20失败:\x20','10IWGrNd','json','./docs','length','log','126DzukqI','.md\x20-\x20','/api/node-toolbox/api-doc-generator','),HTTP状态码:\x20','markdown','tableName','229256VBwVxb','182havPzT','1480380jksQGq','utf8','success','4376754kJVAHt','message','.md','push','获取文档失败\x20(','data','join','):缺少\x20data.markdown\x20字段','等待\x203\x20秒...\x0a','20673455TyRzfV'];a6_0x3028=function(){return _0x5a8df2;};return a6_0x3028();}(function(_0x40c76b,_0x25a27b){const _0x54d40b=a6_0x268f,_0x231bea=_0x40c76b();while(!![]){try{const _0x4c2a48=-parseInt(_0x54d40b(0x108))/0x1*(parseInt(_0x54d40b(0x124))/0x2)+-parseInt(_0x54d40b(0x117))/0x3+-parseInt(_0x54d40b(0x125))/0x4+parseInt(_0x54d40b(0xfe))/0x5*(parseInt(_0x54d40b(0x10f))/0x6)+parseInt(_0x54d40b(0x116))/0x7*(-parseInt(_0x54d40b(0x115))/0x8)+parseInt(_0x54d40b(0x11a))/0x9+-parseInt(_0x54d40b(0x10a))/0xa*(-parseInt(_0x54d40b(0x123))/0xb);if(_0x4c2a48===_0x25a27b)break;else _0x231bea['push'](_0x231bea['shift']());}catch(_0x575a63){_0x231bea['push'](_0x231bea['shift']());}}}(a6_0x3028,0x5d566));import{mkdirSync,writeFileSync}from'node:fs';import a6_0x150516 from'node:path';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{logger}from'../utils/logger.js';export async function fetchDatasetDoc(_0x525558){const _0x2af8a5=a6_0x268f,{appCode:_0xf1034d,datasetCode:_0x28aa5d,datasetId:_0x238332,extraParams:_0xe9db7f}=_0x525558,_0xaddda0=getApiDomain(),_0x589993=_0xaddda0+_0x2af8a5(0x111),_0x10b9cf={'appCode':_0xf1034d,'datasetCode':_0x28aa5d,'datasetId':_0x238332,..._0xe9db7f||{}},_0x5bb68a=await fetch(_0x589993,{'method':'POST','headers':{'Content-Type':_0x2af8a5(0xff),'Cookie':getCookie()},'body':JSON[_0x2af8a5(0x100)](_0x10b9cf)});if(!_0x5bb68a['ok']){if(_0x5bb68a[_0x2af8a5(0x106)]===0x191)throw new Error(_0x2af8a5(0x107));let _0x108663='';try{_0x108663=await _0x5bb68a[_0x2af8a5(0x126)]();}catch(_0x424b3a){}throw new Error(_0x2af8a5(0x11e)+_0x28aa5d+_0x2af8a5(0x112)+_0x5bb68a[_0x2af8a5(0x106)]+(_0x108663?'\x0a'+_0x108663:''));}const _0x3d812f=await _0x5bb68a[_0x2af8a5(0x10b)]();if(!_0x3d812f[_0x2af8a5(0x11f)]||typeof _0x3d812f[_0x2af8a5(0x11f)]['markdown']!=='string')throw new Error('响应数据格式错误\x20('+_0x28aa5d+_0x2af8a5(0x121));return _0x3d812f[_0x2af8a5(0x11f)][_0x2af8a5(0x113)];}function delay(_0x4cf927){return new Promise(_0x5b6391=>setTimeout(_0x5b6391,_0x4cf927));}export async function generateDatasetDocs(_0x331cd4,_0x101f8b,_0x530cc3=a6_0x150ec2(0x10c),_0x4a7279,_0x2e1163){const _0x273afa=a6_0x150ec2;mkdirSync(_0x530cc3,{'recursive':!![]});const _0x11e904=[],_0x2e7954=_0x331cd4[_0x273afa(0x10d)];console[_0x273afa(0x10e)]('\x0a共有\x20'+_0x2e7954+'\x20个数据集需要生成文档\x0a');for(let _0x270e30=0x0;_0x270e30<_0x331cd4[_0x273afa(0x10d)];_0x270e30++){const _0x229b18=_0x331cd4[_0x270e30],_0x63b6a4=_0x270e30+0x1,_0xb56252=_0x229b18[_0x273afa(0x114)];try{console['log']('['+_0x63b6a4+'/'+_0x2e7954+_0x273afa(0x104)+_0xb56252+_0x273afa(0x102)+_0x229b18[_0x273afa(0x101)]+')');_0x4a7279&&_0x4a7279(_0x63b6a4,_0x2e7954,_0xb56252);const _0x873560=await fetchDatasetDoc({'appCode':_0x101f8b,'datasetCode':_0x229b18[_0x273afa(0xfc)],'datasetId':_0x229b18['id'],'enableAI':![],'extraParams':_0x2e1163}),_0x279d20=a6_0x150516[_0x273afa(0x120)](_0x530cc3,_0xb56252+_0x273afa(0x11c));writeFileSync(_0x279d20,_0x873560,{'encoding':_0x273afa(0x118)}),console['log'](_0x273afa(0x127)+_0xb56252+_0x273afa(0x11c)),logger[_0x273afa(0x119)](_0x273afa(0x105),_0x273afa(0x103)+_0xb56252,undefined,{'datasetCode':_0x229b18[_0x273afa(0xfc)],'datasetName':_0x229b18[_0x273afa(0x101)],'filePath':_0x279d20,'progress':_0x63b6a4+'/'+_0x2e7954}),_0x11e904[_0x273afa(0x11d)]({'datasetCode':_0x229b18[_0x273afa(0xfc)],'datasetName':_0x229b18[_0x273afa(0x101)],'filePath':_0x279d20,'success':!![]}),_0x63b6a4<_0x2e7954&&await delay(0x1388);}catch(_0x34bf81){const _0x58f370=_0x34bf81 instanceof Error?_0x34bf81[_0x273afa(0x11b)]:String(_0x34bf81);console[_0x273afa(0x10e)](_0x273afa(0x109)+_0xb56252+_0x273afa(0x110)+_0x58f370+'\x0a'),logger['error'](_0x273afa(0x105),_0x273afa(0xfd)+_0x229b18[_0x273afa(0xfc)],{'datasetCode':_0x229b18[_0x273afa(0xfc)],'datasetName':_0x229b18[_0x273afa(0x101)],'error':_0x58f370,'progress':_0x63b6a4+'/'+_0x2e7954}),_0x11e904['push']({'datasetCode':_0x229b18['datasetCode'],'datasetName':_0x229b18[_0x273afa(0x101)],'filePath':'','success':![],'error':_0x58f370}),_0x63b6a4<_0x2e7954&&(console[_0x273afa(0x10e)](_0x273afa(0x122)),await delay(0xbb8));}}return _0x11e904;}
1
+ function a6_0x3227(){const _0x4b1bc8=['markdown','error','tableName','string','),HTTP状态码:\x20','生成文档失败:\x20','2507613xESoRP','join','):缺少\x20data.markdown\x20字段','json','message','6039719soSHqD','status','759192PHgaOl',']\x20正在生成:\x20','4076760zRNnom','响应数据格式错误\x20(','success','1048842mfsiwt','.md\x20-\x20','push','text','./docs','application/json','.md','3461328uAFiHQ','log','✓\x20成功生成:\x20','.md\x20(','data','stringify','获取文档失败\x20(','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','2131865OCTBrS','POST','utf8','api-doc','datasetCode','length','生成文档成功:\x20','name','6gRpDzu','\x20个数据集需要生成文档\x0a'];a6_0x3227=function(){return _0x4b1bc8;};return a6_0x3227();}function a6_0x546a(_0x5cb617,_0x1d3368){_0x5cb617=_0x5cb617-0x72;const _0x3227c5=a6_0x3227();let _0x546a26=_0x3227c5[_0x5cb617];return _0x546a26;}const a6_0x54d188=a6_0x546a;(function(_0x5be4aa,_0x5c1645){const _0x282a7c=a6_0x546a,_0x51d9cf=_0x5be4aa();while(!![]){try{const _0x427d34=parseInt(_0x282a7c(0x85))/0x1+parseInt(_0x282a7c(0x8a))/0x2+-parseInt(_0x282a7c(0x7e))/0x3+parseInt(_0x282a7c(0x91))/0x4+-parseInt(_0x282a7c(0x99))/0x5+parseInt(_0x282a7c(0x76))/0x6*(-parseInt(_0x282a7c(0x83))/0x7)+parseInt(_0x282a7c(0x87))/0x8;if(_0x427d34===_0x5c1645)break;else _0x51d9cf['push'](_0x51d9cf['shift']());}catch(_0x1c0754){_0x51d9cf['push'](_0x51d9cf['shift']());}}}(a6_0x3227,0x823e7));import{mkdirSync,writeFileSync}from'node:fs';import a6_0x1a3fb9 from'node:path';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{logger}from'../utils/logger.js';export async function fetchDatasetDoc(_0x475f21){const _0x3b726a=a6_0x546a,{appCode:_0x38d17f,datasetCode:_0x11a1f6,datasetId:_0x30825b,extraParams:_0x143870}=_0x475f21,_0x3d7b80=getApiDomain(),_0x2f8814=_0x3d7b80+'/api/node-toolbox/api-doc-generator',_0x5b094e={'appCode':_0x38d17f,'datasetCode':_0x11a1f6,'datasetId':_0x30825b,..._0x143870||{}},_0x287465=await fetch(_0x2f8814,{'method':_0x3b726a(0x9a),'headers':{'Content-Type':_0x3b726a(0x8f),'Cookie':getCookie()},'body':JSON[_0x3b726a(0x96)](_0x5b094e)});if(!_0x287465['ok']){if(_0x287465[_0x3b726a(0x84)]===0x191)throw new Error(_0x3b726a(0x98));let _0x55439d='';try{_0x55439d=await _0x287465[_0x3b726a(0x8d)]();}catch(_0x3d192d){}throw new Error(_0x3b726a(0x97)+_0x11a1f6+_0x3b726a(0x7c)+_0x287465['status']+(_0x55439d?'\x0a'+_0x55439d:''));}const _0x179af1=await _0x287465[_0x3b726a(0x81)]();if(!_0x179af1[_0x3b726a(0x95)]||typeof _0x179af1[_0x3b726a(0x95)][_0x3b726a(0x78)]!==_0x3b726a(0x7b))throw new Error(_0x3b726a(0x88)+_0x11a1f6+_0x3b726a(0x80));return _0x179af1[_0x3b726a(0x95)]['markdown'];}function delay(_0x32c3ab){return new Promise(_0xafac40=>setTimeout(_0xafac40,_0x32c3ab));}export async function generateDatasetDocs(_0x110eea,_0x151ca7,_0x59634b=a6_0x54d188(0x8e),_0x275f1f,_0x4ade3a){const _0x7a76d2=a6_0x54d188;mkdirSync(_0x59634b,{'recursive':!![]});const _0xac211=[],_0x757ee5=_0x110eea[_0x7a76d2(0x73)];console[_0x7a76d2(0x92)]('\x0a共有\x20'+_0x757ee5+_0x7a76d2(0x77));for(let _0x534850=0x0;_0x534850<_0x110eea[_0x7a76d2(0x73)];_0x534850++){const _0x2d3c51=_0x110eea[_0x534850],_0x131a43=_0x534850+0x1,_0x573e0d=_0x2d3c51[_0x7a76d2(0x7a)];try{console[_0x7a76d2(0x92)]('['+_0x131a43+'/'+_0x757ee5+_0x7a76d2(0x86)+_0x573e0d+_0x7a76d2(0x94)+_0x2d3c51['name']+')');_0x275f1f&&_0x275f1f(_0x131a43,_0x757ee5,_0x573e0d);const _0x4c6ce4=await fetchDatasetDoc({'appCode':_0x151ca7,'datasetCode':_0x2d3c51[_0x7a76d2(0x72)],'datasetId':_0x2d3c51['id'],'enableAI':![],'extraParams':_0x4ade3a}),_0xab8ced=a6_0x1a3fb9[_0x7a76d2(0x7f)](_0x59634b,_0x573e0d+'.md');writeFileSync(_0xab8ced,_0x4c6ce4,{'encoding':_0x7a76d2(0x9b)}),console[_0x7a76d2(0x92)](_0x7a76d2(0x93)+_0x573e0d+_0x7a76d2(0x90)),logger[_0x7a76d2(0x89)](_0x7a76d2(0x9c),_0x7a76d2(0x74)+_0x573e0d,undefined,{'datasetCode':_0x2d3c51[_0x7a76d2(0x72)],'datasetName':_0x2d3c51[_0x7a76d2(0x75)],'filePath':_0xab8ced,'progress':_0x131a43+'/'+_0x757ee5}),_0xac211[_0x7a76d2(0x8c)]({'datasetCode':_0x2d3c51['datasetCode'],'datasetName':_0x2d3c51[_0x7a76d2(0x75)],'filePath':_0xab8ced,'success':!![]}),_0x131a43<_0x757ee5&&await delay(0x1388);}catch(_0x37c021){const _0x32c10a=_0x37c021 instanceof Error?_0x37c021[_0x7a76d2(0x82)]:String(_0x37c021);console[_0x7a76d2(0x92)]('✗\x20失败:\x20'+_0x573e0d+_0x7a76d2(0x8b)+_0x32c10a+'\x0a'),logger[_0x7a76d2(0x79)](_0x7a76d2(0x9c),_0x7a76d2(0x7d)+_0x2d3c51[_0x7a76d2(0x72)],{'datasetCode':_0x2d3c51[_0x7a76d2(0x72)],'datasetName':_0x2d3c51[_0x7a76d2(0x75)],'error':_0x32c10a,'progress':_0x131a43+'/'+_0x757ee5}),_0xac211[_0x7a76d2(0x8c)]({'datasetCode':_0x2d3c51[_0x7a76d2(0x72)],'datasetName':_0x2d3c51[_0x7a76d2(0x75)],'filePath':'','success':![],'error':_0x32c10a}),_0x131a43<_0x757ee5&&(console['log']('等待\x203\x20秒...\x0a'),await delay(0xbb8));}}return _0xac211;}
@@ -1 +1 @@
1
- (function(_0x373339,_0x1b74a8){const _0x37f40a=a7_0x28dd,_0x4f2282=_0x373339();while(!![]){try{const _0x42bc4b=parseInt(_0x37f40a(0x16f))/0x1*(-parseInt(_0x37f40a(0x179))/0x2)+parseInt(_0x37f40a(0x17c))/0x3*(-parseInt(_0x37f40a(0x17b))/0x4)+parseInt(_0x37f40a(0x181))/0x5+-parseInt(_0x37f40a(0x175))/0x6*(parseInt(_0x37f40a(0x173))/0x7)+parseInt(_0x37f40a(0x160))/0x8*(-parseInt(_0x37f40a(0x15f))/0x9)+parseInt(_0x37f40a(0x165))/0xa+-parseInt(_0x37f40a(0x167))/0xb*(-parseInt(_0x37f40a(0x180))/0xc);if(_0x42bc4b===_0x1b74a8)break;else _0x4f2282['push'](_0x4f2282['shift']());}catch(_0x402b6b){_0x4f2282['push'](_0x4f2282['shift']());}}}(a7_0x2d93,0x5ff52));function a7_0x2d93(){const _0x18eeb4=['cwd','string','endsWith','\x20-\x20客户端实例文件','modelCount','message','9mVvJUR','575880nvjYIV','\x20个模型','💡\x20请使用\x20','split','online','135700eGrdTk','white','1793KVBIPm','拉取\x20API\x20配置失败:\x20','使用指定的应用AppCode:\x20','-\x20模型配置文件\x20(','import\x20','使用配置的应用AppCode:\x20','未提供应用AppCode,且配置中也没有默认值','api','783337wgDgOg','!\x20原始数据集\x20','-client','replace','441sLSHuG','client','54486NbEtCl','\x20个数据集,生成','yellow','{\x20lovrabetClient\x20}','2sxYyVw','\x20重新登录后再试','1552wccheb','2010hWudPX','error','duplicateCount','\x20from\x20\x27@/','105348ycINWc','3179400brYDgN','.ts','cyan','datasetCount','red','dim','lovrabet\x20auth','setLogPath','originalCount','\x20个模型)','column','includes','env'];a7_0x2d93=function(){return _0x18eeb4;};return a7_0x2d93();}import{jsx as a7_0x514a8a,jsxs as a7_0x1a3c62}from'react/jsx-runtime';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';function a7_0x28dd(_0x50114b,_0x290799){_0x50114b=_0x50114b-0x157;const _0x2d93fd=a7_0x2d93();let _0x28dd50=_0x2d93fd[_0x50114b];return _0x28dd50;}import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{fetchModelList}from'./fetch-model-list.js';export const ApiPullUI=({appCode:_0x20630f,env:_0x4159d7,output:_0x2f9eb7})=>{const _0x329b46=a7_0x28dd,{exit:_0x183eeb}=useApp(),[_0x14124b,_0x53c81a]=useState(![]),[_0x526afa,_0x8470a7]=useState(![]),[_0x4fde1b,_0x103835]=useState(null),[_0x4ec542,_0x48f2c4]=useState(null),_0x198f8c=readConfig(),_0x5de9da=getConfigAppCode(),_0xdf5eb4=_0x20630f||_0x5de9da,_0x52c2b6=typeof _0x198f8c?.[_0x329b46(0x158)]===_0x329b46(0x15a)?_0x198f8c['env']:undefined,_0x196148=_0x4159d7||_0x52c2b6||_0x329b46(0x164);initEnv(_0x196148);const _0x3dd42f=_0x2f9eb7||'./src/api/',_0x35b710=_0x20630f&&_0x20630f[_0x329b46(0x157)]('-')?_0x20630f[_0x329b46(0x163)]('-')['slice'](0x1)['join']('-'):'',_0x54ce14=_0x20630f?_0x329b46(0x169)+_0xdf5eb4:_0x329b46(0x16c)+_0xdf5eb4,_0x29557f=_0x35b710?_0x35b710+'-api':'api',_0x4fb7af=_0x35b710?_0x35b710+_0x329b46(0x171):_0x329b46(0x174);useEffect(()=>{_0x53c81a(!![]),_0x551d77();},[]),useEffect(()=>{(_0x526afa||_0x4fde1b)&&_0x183eeb();},[_0x526afa,_0x4fde1b,_0x183eeb]);async function _0x551d77(){const _0xf586d2=_0x329b46;if(!_0xdf5eb4){_0x103835(_0xf586d2(0x16d));return;}try{logger[_0xf586d2(0x188)](process[_0xf586d2(0x159)]());const {configArray:_0x2bf7f3}=await fetchModelList(_0xdf5eb4),_0x8fa2bf=_0x2bf7f3['length'],_0x19685a=!_0x20630f,_0x2b55f6=await generateApiFile(_0x2bf7f3,_0x35b710,_0xdf5eb4,_0x19685a,_0x196148,_0x3dd42f),_0x2f6073=_0x3dd42f[_0xf586d2(0x15b)]('/')?_0x3dd42f:_0x3dd42f+'/';_0x48f2c4({'api':''+_0x2f6073+_0x29557f+'.ts','client':''+_0x2f6073+_0x4fb7af+'.ts','modelCount':_0x2b55f6[_0xf586d2(0x15d)],'datasetCount':_0x8fa2bf,'originalCount':_0x8fa2bf,'duplicateCount':0x0}),_0x8470a7(!![]);}catch(_0x3f54b2){const _0x1208c1=_0x3f54b2 instanceof Error?_0x3f54b2[_0xf586d2(0x15e)]:String(_0x3f54b2);logger[_0xf586d2(0x17d)]('api-pull',_0xf586d2(0x168)+_0x1208c1,{'appCode':_0xdf5eb4,'error':_0x1208c1}),_0x103835(_0xf586d2(0x168)+_0x1208c1);}finally{_0x53c81a(![]);}}return a7_0x1a3c62(Box,{'flexDirection':'column','children':[(_0x14124b||_0x526afa)&&a7_0x1a3c62(Box,{'children':[a7_0x514a8a(Text,{'color':'gray','children':'*\x20'}),a7_0x514a8a(Text,{'color':_0x20630f?_0x329b46(0x166):'dim','children':_0x54ce14})]}),_0x14124b&&a7_0x514a8a(Box,{'children':a7_0x1a3c62(Text,{'children':['🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20',_0x196148,')']})}),_0x526afa&&_0x4ec542&&a7_0x1a3c62(Box,{'flexDirection':_0x329b46(0x18b),'children':[a7_0x514a8a(Box,{'children':a7_0x1a3c62(Text,{'color':'green','children':['√\x20成功拉取\x20',_0x4ec542[_0x329b46(0x184)],_0x329b46(0x176),'\x20',_0x4ec542[_0x329b46(0x15d)],_0x329b46(0x161)]})}),_0x4ec542[_0x329b46(0x17e)]>0x0&&a7_0x514a8a(Box,{'marginTop':0x1,'children':a7_0x1a3c62(Text,{'color':_0x329b46(0x177),'children':[_0x329b46(0x170),_0x4ec542[_0x329b46(0x189)],'\x20个,过滤重复','\x20',_0x4ec542[_0x329b46(0x17e)],'\x20个']})}),a7_0x514a8a(Box,{'marginTop':0x1,'children':a7_0x514a8a(Text,{'color':'gray','children':'*\x20已生成文件:'})}),a7_0x1a3c62(Box,{'marginLeft':0x2,'children':[a7_0x1a3c62(Text,{'color':_0x329b46(0x183),'children':['•\x20',_0x4ec542[_0x329b46(0x16e)]]}),a7_0x1a3c62(Text,{'color':_0x329b46(0x186),'children':['\x20',_0x329b46(0x16a),_0x4ec542[_0x329b46(0x15d)],_0x329b46(0x18a)]})]}),a7_0x1a3c62(Box,{'marginLeft':0x2,'children':[a7_0x1a3c62(Text,{'color':'cyan','children':['•\x20',_0x4ec542['client']]}),a7_0x514a8a(Text,{'color':_0x329b46(0x186),'children':_0x329b46(0x15c)})]}),a7_0x514a8a(Box,{'marginTop':0x1,'children':a7_0x514a8a(Text,{'color':'gray','children':'*\x20导入方式:'})}),a7_0x514a8a(Box,{'marginLeft':0x2,'children':a7_0x1a3c62(Text,{'color':_0x329b46(0x177),'children':[_0x329b46(0x16b),_0x329b46(0x178),_0x329b46(0x17f),_0x4ec542['client']['replace'](/^\.\//,'')[_0x329b46(0x172)](_0x329b46(0x182),''),'\x27']})})]}),_0x4fde1b&&a7_0x1a3c62(Box,{'flexDirection':_0x329b46(0x18b),'children':[a7_0x514a8a(Box,{'children':a7_0x1a3c62(Text,{'color':_0x329b46(0x185),'children':['❌\x20',_0x4fde1b]})}),_0x4fde1b[_0x329b46(0x157)]('登录')&&a7_0x1a3c62(Box,{'marginTop':0x1,'children':[a7_0x514a8a(Text,{'color':_0x329b46(0x177),'children':_0x329b46(0x162)}),a7_0x514a8a(Text,{'color':_0x329b46(0x183),'children':_0x329b46(0x187)}),a7_0x514a8a(Text,{'color':_0x329b46(0x177),'children':_0x329b46(0x17a)})]})]})]});};
1
+ (function(_0x1a69b2,_0x1b5141){const _0x4654db=a7_0x2ef2,_0x1fb084=_0x1a69b2();while(!![]){try{const _0x1607cf=parseInt(_0x4654db(0xce))/0x1*(parseInt(_0x4654db(0xac))/0x2)+-parseInt(_0x4654db(0xd9))/0x3*(parseInt(_0x4654db(0xd7))/0x4)+parseInt(_0x4654db(0xb8))/0x5*(parseInt(_0x4654db(0xc5))/0x6)+parseInt(_0x4654db(0xcf))/0x7+parseInt(_0x4654db(0xcd))/0x8*(-parseInt(_0x4654db(0xd5))/0x9)+-parseInt(_0x4654db(0xab))/0xa+-parseInt(_0x4654db(0xd4))/0xb*(-parseInt(_0x4654db(0xd3))/0xc);if(_0x1607cf===_0x1b5141)break;else _0x1fb084['push'](_0x1fb084['shift']());}catch(_0x1749df){_0x1fb084['push'](_0x1fb084['shift']());}}}(a7_0x4990,0xac428));import{jsx as a7_0x3ad5e2,jsxs as a7_0x4c3dba}from'react/jsx-runtime';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';function a7_0x2ef2(_0x5ef8c5,_0x4924fa){_0x5ef8c5=_0x5ef8c5-0xa5;const _0x499038=a7_0x4990();let _0x2ef2bc=_0x499038[_0x5ef8c5];return _0x2ef2bc;}import{initEnv}from'../constant/env.js';import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{fetchModelList}from'./fetch-model-list.js';function a7_0x4990(){const _0x48dce5=['328NCnMTB','28752CycxmC','210819HwsmWo','length','join','duplicateCount','12fFzvNL','2006015MnQxUq','102285UkUNXk','split','36haSiWs','column','398103EBxVOV','拉取\x20API\x20配置失败:\x20','*\x20导入方式:','\x20个模型','cyan','originalCount','-api','使用配置的应用AppCode:\x20','import\x20','api','\x20个模型)','white','\x20个数据集,生成','328220vYTKeh','70rtHLnR','datasetCount','!\x20原始数据集\x20','endsWith','dim','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','.ts','使用指定的应用AppCode:\x20','client','yellow','green','slice','1005YqPsJf','env','-client','modelCount','-\x20模型配置文件\x20(','replace','setLogPath','💡\x20请使用\x20','includes','error','cwd','red','lovrabet\x20auth','35220YLRZVq','\x20重新登录后再试','√\x20成功拉取\x20','{\x20lovrabetClient\x20}','未提供应用AppCode,且配置中也没有默认值','api-pull','*\x20已生成文件:','gray'];a7_0x4990=function(){return _0x48dce5;};return a7_0x4990();}export const ApiPullUI=({appCode:_0xeeb031,env:_0x4aa4e6,output:_0x50832c})=>{const _0x47ccea=a7_0x2ef2,{exit:_0x25333a}=useApp(),[_0x4440d5,_0x1b43f2]=useState(![]),[_0x26e285,_0x152b8b]=useState(![]),[_0x182e6b,_0x222010]=useState(null),[_0x1efeb1,_0x1bd9e7]=useState(null),_0x9fe528=readConfig(),_0x92f23b=getConfigAppCode(),_0x212cc3=_0xeeb031||_0x92f23b,_0x5a5f27=typeof _0x9fe528?.[_0x47ccea(0xb9)]==='string'?_0x9fe528[_0x47ccea(0xb9)]:undefined,_0x2ac8c8=_0x4aa4e6||_0x5a5f27||'online';initEnv(_0x2ac8c8);const _0x108779=_0x50832c||'./src/api/',_0x23bb30=_0xeeb031&&_0xeeb031[_0x47ccea(0xc0)]('-')?_0xeeb031[_0x47ccea(0xd6)]('-')[_0x47ccea(0xb7)](0x1)[_0x47ccea(0xd1)]('-'):'',_0x3baa93=_0xeeb031?_0x47ccea(0xb3)+_0x212cc3:_0x47ccea(0xa5)+_0x212cc3,_0x3e9f23=_0x23bb30?_0x23bb30+_0x47ccea(0xdf):_0x47ccea(0xa7),_0xc85cdb=_0x23bb30?_0x23bb30+_0x47ccea(0xba):_0x47ccea(0xb4);useEffect(()=>{_0x1b43f2(!![]),_0x23bdf2();},[]),useEffect(()=>{(_0x26e285||_0x182e6b)&&_0x25333a();},[_0x26e285,_0x182e6b,_0x25333a]);async function _0x23bdf2(){const _0x465c6b=_0x47ccea;if(!_0x212cc3){_0x222010(_0x465c6b(0xc9));return;}try{logger[_0x465c6b(0xbe)](process[_0x465c6b(0xc2)]());const {configArray:_0x44e869}=await fetchModelList(_0x212cc3),_0x5c48a3=_0x44e869[_0x465c6b(0xd0)],_0x19477f=!_0xeeb031,_0x3960a3=await generateApiFile(_0x44e869,_0x23bb30,_0x212cc3,_0x19477f,_0x2ac8c8,_0x108779),_0x3fb553=_0x108779[_0x465c6b(0xaf)]('/')?_0x108779:_0x108779+'/';_0x1bd9e7({'api':''+_0x3fb553+_0x3e9f23+_0x465c6b(0xb2),'client':''+_0x3fb553+_0xc85cdb+'.ts','modelCount':_0x3960a3[_0x465c6b(0xbb)],'datasetCount':_0x5c48a3,'originalCount':_0x5c48a3,'duplicateCount':0x0}),_0x152b8b(!![]);}catch(_0x57cd40){const _0x415dcb=_0x57cd40 instanceof Error?_0x57cd40['message']:String(_0x57cd40);logger[_0x465c6b(0xc1)](_0x465c6b(0xca),_0x465c6b(0xda)+_0x415dcb,{'appCode':_0x212cc3,'error':_0x415dcb}),_0x222010(_0x465c6b(0xda)+_0x415dcb);}finally{_0x1b43f2(![]);}}return a7_0x4c3dba(Box,{'flexDirection':_0x47ccea(0xd8),'children':[(_0x4440d5||_0x26e285)&&a7_0x4c3dba(Box,{'children':[a7_0x3ad5e2(Text,{'color':_0x47ccea(0xcc),'children':'*\x20'}),a7_0x3ad5e2(Text,{'color':_0xeeb031?_0x47ccea(0xa9):'dim','children':_0x3baa93})]}),_0x4440d5&&a7_0x3ad5e2(Box,{'children':a7_0x4c3dba(Text,{'children':[_0x47ccea(0xb1),_0x2ac8c8,')']})}),_0x26e285&&_0x1efeb1&&a7_0x4c3dba(Box,{'flexDirection':_0x47ccea(0xd8),'children':[a7_0x3ad5e2(Box,{'children':a7_0x4c3dba(Text,{'color':_0x47ccea(0xb6),'children':[_0x47ccea(0xc7),_0x1efeb1[_0x47ccea(0xad)],_0x47ccea(0xaa),'\x20',_0x1efeb1[_0x47ccea(0xbb)],_0x47ccea(0xdc)]})}),_0x1efeb1['duplicateCount']>0x0&&a7_0x3ad5e2(Box,{'marginTop':0x1,'children':a7_0x4c3dba(Text,{'color':_0x47ccea(0xb5),'children':[_0x47ccea(0xae),_0x1efeb1[_0x47ccea(0xde)],'\x20个,过滤重复','\x20',_0x1efeb1[_0x47ccea(0xd2)],'\x20个']})}),a7_0x3ad5e2(Box,{'marginTop':0x1,'children':a7_0x3ad5e2(Text,{'color':_0x47ccea(0xcc),'children':_0x47ccea(0xcb)})}),a7_0x4c3dba(Box,{'marginLeft':0x2,'children':[a7_0x4c3dba(Text,{'color':'cyan','children':['•\x20',_0x1efeb1[_0x47ccea(0xa7)]]}),a7_0x4c3dba(Text,{'color':_0x47ccea(0xb0),'children':['\x20',_0x47ccea(0xbc),_0x1efeb1[_0x47ccea(0xbb)],_0x47ccea(0xa8)]})]}),a7_0x4c3dba(Box,{'marginLeft':0x2,'children':[a7_0x4c3dba(Text,{'color':_0x47ccea(0xdd),'children':['•\x20',_0x1efeb1['client']]}),a7_0x3ad5e2(Text,{'color':_0x47ccea(0xb0),'children':'\x20-\x20客户端实例文件'})]}),a7_0x3ad5e2(Box,{'marginTop':0x1,'children':a7_0x3ad5e2(Text,{'color':_0x47ccea(0xcc),'children':_0x47ccea(0xdb)})}),a7_0x3ad5e2(Box,{'marginLeft':0x2,'children':a7_0x4c3dba(Text,{'color':_0x47ccea(0xb5),'children':[_0x47ccea(0xa6),_0x47ccea(0xc8),'\x20from\x20\x27@/',_0x1efeb1[_0x47ccea(0xb4)]['replace'](/^\.\//,'')[_0x47ccea(0xbd)](_0x47ccea(0xb2),''),'\x27']})})]}),_0x182e6b&&a7_0x4c3dba(Box,{'flexDirection':'column','children':[a7_0x3ad5e2(Box,{'children':a7_0x4c3dba(Text,{'color':_0x47ccea(0xc3),'children':['❌\x20',_0x182e6b]})}),_0x182e6b[_0x47ccea(0xc0)]('登录')&&a7_0x4c3dba(Box,{'marginTop':0x1,'children':[a7_0x3ad5e2(Text,{'color':_0x47ccea(0xb5),'children':_0x47ccea(0xbf)}),a7_0x3ad5e2(Text,{'color':_0x47ccea(0xdd),'children':_0x47ccea(0xc4)}),a7_0x3ad5e2(Text,{'color':_0x47ccea(0xb5),'children':_0x47ccea(0xc6)})]})]})]});};
@@ -1 +1 @@
1
- (function(_0x295061,_0x4193aa){const _0x1914b3=a8_0x5935,_0x5193cc=_0x295061();while(!![]){try{const _0x53964d=parseInt(_0x1914b3(0x1c9))/0x1*(-parseInt(_0x1914b3(0x1cc))/0x2)+-parseInt(_0x1914b3(0x1d8))/0x3*(parseInt(_0x1914b3(0x1e5))/0x4)+parseInt(_0x1914b3(0x1c5))/0x5*(parseInt(_0x1914b3(0x1cb))/0x6)+parseInt(_0x1914b3(0x1d5))/0x7+parseInt(_0x1914b3(0x1d2))/0x8+parseInt(_0x1914b3(0x1d1))/0x9*(parseInt(_0x1914b3(0x1c6))/0xa)+parseInt(_0x1914b3(0x1ce))/0xb*(-parseInt(_0x1914b3(0x1cf))/0xc);if(_0x53964d===_0x4193aa)break;else _0x5193cc['push'](_0x5193cc['shift']());}catch(_0x396ef0){_0x5193cc['push'](_0x5193cc['shift']());}}}(a8_0x2f32,0xd662c));function a8_0x2f32(){const _0x187453=['errorCode','&otype=array','includes','8884tRKbFX','正在从服务器拉取模型列表...\x20(环境:\x20','info','获取数据集失败:\x20','344475lLAyXs','620WFVtCQ','UNAUTHORIZED','errorMessage','249591GNmsxb','Unauthorized','54yzQmSX','10AMgEky','fetch-model-list','11WEurAq','10406532vwKjCD','data','195174RTqHLh','3415312nWQcqH','status','errorMsg','10602340mIVckL','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','error','1233lymmgm','configArray','message','count','获取数据集失败,HTTP状态码:\x20','401','未知错误','code','success','json'];a8_0x2f32=function(){return _0x187453;};return a8_0x2f32();}import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{logger}from'../utils/logger.js';function a8_0x5935(_0x53138c,_0xf75b94){_0x53138c=_0x53138c-0x1c2;const _0x2f3277=a8_0x2f32();let _0x593514=_0x2f3277[_0x53138c];return _0x593514;}import{getEnv}from'../constant/env.js';export async function fetchModelList(_0x12c6bd){const _0x146a04=a8_0x5935,_0x11775b=getEnv(),_0xfea9e5=getApiDomain()+'/api/node-toolbox/dataset/model-list?appcode='+_0x12c6bd+_0x146a04(0x1e3);logger[_0x146a04(0x1c3)](_0x146a04(0x1cd),_0x146a04(0x1c2)+_0x11775b+')',{'apiUrl':_0xfea9e5});const _0x34c5b7=await fetch(_0xfea9e5,{'headers':{'Cookie':getCookie()}});if(!_0x34c5b7['ok']){if(_0x34c5b7[_0x146a04(0x1d3)]===0x191)throw new Error(_0x146a04(0x1d6));throw new Error(_0x146a04(0x1dc)+_0x34c5b7['status']);}const _0x3fc51e=await _0x34c5b7[_0x146a04(0x1e1)]();if(!_0x3fc51e[_0x146a04(0x1e0)]){const _0x35d4d3=_0x3fc51e[_0x146a04(0x1d4)]||_0x3fc51e[_0x146a04(0x1da)]||_0x3fc51e['data']?.[_0x146a04(0x1da)]||_0x3fc51e[_0x146a04(0x1c8)]||_0x3fc51e[_0x146a04(0x1d7)]||_0x146a04(0x1de);if(_0x35d4d3['includes'](_0x146a04(0x1dd))||_0x35d4d3[_0x146a04(0x1e4)](_0x146a04(0x1ca))||_0x35d4d3['includes']('登录')||_0x35d4d3[_0x146a04(0x1e4)]('认证')||_0x3fc51e[_0x146a04(0x1e2)]===_0x146a04(0x1c7)||_0x3fc51e['code']===0x191||_0x3fc51e[_0x146a04(0x1df)]===_0x146a04(0x1dd))throw new Error(_0x146a04(0x1d6));throw new Error(_0x146a04(0x1c4)+_0x35d4d3);}return{'configArray':_0x3fc51e['data'][_0x146a04(0x1d9)],'count':_0x3fc51e[_0x146a04(0x1d0)][_0x146a04(0x1db)]};}
1
+ (function(_0x1c9608,_0x44f3d1){const _0x3e1c98=a8_0x2249,_0x27df5a=_0x1c9608();while(!![]){try{const _0x4c44aa=parseInt(_0x3e1c98(0x1a4))/0x1*(parseInt(_0x3e1c98(0x1ae))/0x2)+-parseInt(_0x3e1c98(0x199))/0x3+parseInt(_0x3e1c98(0x19d))/0x4+-parseInt(_0x3e1c98(0x1a5))/0x5+-parseInt(_0x3e1c98(0x1a7))/0x6*(-parseInt(_0x3e1c98(0x19b))/0x7)+parseInt(_0x3e1c98(0x193))/0x8+parseInt(_0x3e1c98(0x19c))/0x9*(-parseInt(_0x3e1c98(0x191))/0xa);if(_0x4c44aa===_0x44f3d1)break;else _0x27df5a['push'](_0x27df5a['shift']());}catch(_0x113a60){_0x27df5a['push'](_0x27df5a['shift']());}}}(a8_0x2fb2,0xdf426));import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{logger}from'../utils/logger.js';import{getEnv}from'../constant/env.js';function a8_0x2249(_0x33444e,_0x5d5d2e){_0x33444e=_0x33444e-0x18f;const _0x2fb2c4=a8_0x2fb2();let _0x224961=_0x2fb2c4[_0x33444e];return _0x224961;}export async function fetchModelList(_0x4b232b){const _0x5d7283=a8_0x2249,_0x4d077e=getEnv(),_0x541c8d=getApiDomain()+'/api/node-toolbox/dataset/model-list?appcode='+_0x4b232b+_0x5d7283(0x1ad);logger[_0x5d7283(0x1a2)](_0x5d7283(0x19f),_0x5d7283(0x1a9)+_0x4d077e+')',{'apiUrl':_0x541c8d});const _0xc3dd31=await fetch(_0x541c8d,{'headers':{'Cookie':getCookie()}});if(!_0xc3dd31['ok']){if(_0xc3dd31[_0x5d7283(0x18f)]===0x191)throw new Error(_0x5d7283(0x19e));throw new Error(_0x5d7283(0x1a3)+_0xc3dd31[_0x5d7283(0x18f)]);}const _0x4ee815=await _0xc3dd31[_0x5d7283(0x197)]();if(!_0x4ee815[_0x5d7283(0x198)]){const _0x686920=_0x4ee815[_0x5d7283(0x1a6)]||_0x4ee815['message']||_0x4ee815[_0x5d7283(0x1a0)]?.[_0x5d7283(0x1a1)]||_0x4ee815[_0x5d7283(0x19a)]||_0x4ee815[_0x5d7283(0x192)]||_0x5d7283(0x1ab);if(_0x686920[_0x5d7283(0x1a8)](_0x5d7283(0x190))||_0x686920['includes'](_0x5d7283(0x1aa))||_0x686920[_0x5d7283(0x1a8)]('登录')||_0x686920['includes']('认证')||_0x4ee815[_0x5d7283(0x195)]===_0x5d7283(0x1ac)||_0x4ee815['code']===0x191||_0x4ee815[_0x5d7283(0x194)]===_0x5d7283(0x190))throw new Error(_0x5d7283(0x19e));throw new Error(_0x5d7283(0x196)+_0x686920);}return{'configArray':_0x4ee815[_0x5d7283(0x1a0)]['configArray'],'count':_0x4ee815[_0x5d7283(0x1a0)]['count']};}function a8_0x2fb2(){const _0x3ed162=['data','message','info','获取数据集失败,HTTP状态码:\x20','10745YmwXQf','1492535gzrrBQ','errorMsg','6957636TMYjlx','includes','正在从服务器拉取模型列表...\x20(环境:\x20','Unauthorized','未知错误','UNAUTHORIZED','&otype=array','222vFqXwD','status','401','10LVuUBh','error','13246656jxnYOD','code','errorCode','获取数据集失败:\x20','json','success','3307977JalHbh','errorMessage','7MYRsuP','28622394ftNKYM','5951076pLBMux','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','fetch-model-list'];a8_0x2fb2=function(){return _0x3ed162;};return a8_0x2fb2();}
@@ -1 +1 @@
1
- const a9_0x22447e=a9_0x4968;(function(_0x1c2165,_0x4999d7){const _0xd2fa15=a9_0x4968,_0x15faa6=_0x1c2165();while(!![]){try{const _0x211f18=parseInt(_0xd2fa15(0xdc))/0x1*(-parseInt(_0xd2fa15(0xd5))/0x2)+parseInt(_0xd2fa15(0xeb))/0x3+-parseInt(_0xd2fa15(0xd1))/0x4+parseInt(_0xd2fa15(0xf2))/0x5+parseInt(_0xd2fa15(0xcf))/0x6*(-parseInt(_0xd2fa15(0xd0))/0x7)+-parseInt(_0xd2fa15(0xd3))/0x8*(parseInt(_0xd2fa15(0xe4))/0x9)+parseInt(_0xd2fa15(0xd8))/0xa;if(_0x211f18===_0x4999d7)break;else _0x15faa6['push'](_0x15faa6['shift']());}catch(_0x22a07e){_0x15faa6['push'](_0x15faa6['shift']());}}}(a9_0x2cc1,0xb585d));import a9_0x2114f0 from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';function a9_0x2cc1(){const _0x46ac51=['{\x20apiConfigName:\x20\x22','slice','alias','env','{\x20apiConfigName:\x20','4382577yDwXGU','templates/generate-api','api.ts.tpl','key','online','format','CONFIG_NAMES.DEFAULT','3074980TuwUew','resolve','push','tableName','api','replaceApiContent','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','length','954126IGGGrE','7tTeoDJ','1919672aDALEe','-api','4882096vAiMfj','join','2WqFhFj','typescript','./src/api/','18704340GjKMXt','utf8','-client','string','1343309kRqnZi','dirname','init-api','client.ts.tpl','success','\x22\x20}','endsWith','../..','18RFFEaL','forEach'];a9_0x2cc1=function(){return _0x46ac51;};return a9_0x2cc1();}import a9_0x367b07 from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{TemplateReplacer}from'../utils/template-replacer.js';import{logger}from'../utils/logger.js';function a9_0x4968(_0x5914b0,_0x259c1b){_0x5914b0=_0x5914b0-0xc8;const _0x2cc1c9=a9_0x2cc1();let _0x496841=_0x2cc1c9[_0x5914b0];return _0x496841;}export async function generateApiFile(_0x1f3d42,_0x5c7649='',_0x26f7ed,_0x6c173a=![],_0x1d9c52,_0x53b5fb=a9_0x22447e(0xd7)){const _0x16aed8=a9_0x22447e,_0x11e179=readConfig(),_0x417f04=_0x26f7ed||_0x11e179?.['app'];if(typeof _0x417f04!==_0x16aed8(0xdb)||!_0x417f04)throw new Error(_0x16aed8(0xcd));const _0x3eb1e1=_0x6c173a?_0x16aed8(0xf1):'\x22'+_0x417f04+'\x22',_0x334bce=typeof _0x11e179['env']===_0x16aed8(0xdb)?_0x11e179[_0x16aed8(0xe9)]:undefined,_0x3b1c08=_0x1d9c52||_0x334bce||_0x16aed8(0xef),_0x1291d7=_0x3b1c08!=='online';let _0xe7423a;if(_0x6c173a)_0x1291d7?_0xe7423a=_0x16aed8(0xea)+_0x3eb1e1+',\x20env:\x20\x22'+_0x3b1c08+_0x16aed8(0xe1):_0xe7423a='';else{const _0x3f05a9=_0x1291d7?',\x20env:\x20\x22'+_0x3b1c08+'\x22':'';_0xe7423a=_0x16aed8(0xe6)+_0x417f04+'\x22'+_0x3f05a9+'\x20}';}const _0x4901d5=_0x5c7649?_0x5c7649+_0x16aed8(0xd2):_0x16aed8(0xcb),_0x56bb94=_0x5c7649?_0x5c7649+_0x16aed8(0xda):'client',_0x365887=[];_0x1f3d42[_0x16aed8(0xe5)](_0x14047e=>{const _0x45336f=_0x16aed8;_0x365887[_0x45336f(0xc9)]({'datasetCode':_0x14047e['datasetCode'],'tableName':_0x14047e[_0x45336f(0xca)],'name':_0x14047e['name']||'','alias':_0x14047e[_0x45336f(0xe8)]||_0x14047e[_0x45336f(0xee)]});});const _0x1d4d6f=fileURLToPath(import.meta.url),_0xe7a5d=a9_0x367b07[_0x16aed8(0xc8)](a9_0x367b07[_0x16aed8(0xdd)](_0x1d4d6f),_0x16aed8(0xe3)),_0x47894b=a9_0x367b07['join'](_0xe7a5d,_0x16aed8(0xec)),_0x336e8d=a9_0x367b07[_0x16aed8(0xd4)](_0x47894b,_0x16aed8(0xed)),_0x3248b6=a9_0x367b07['join'](_0x47894b,_0x16aed8(0xdf)),_0x1a9448=_0x53b5fb[_0x16aed8(0xe2)]('/')?_0x53b5fb[_0x16aed8(0xe7)](0x0,-0x1):_0x53b5fb;mkdirSync(_0x1a9448,{'recursive':!![]});const _0x3b3a5b=_0x365887[0x0]?.[_0x16aed8(0xe8)],_0x4ef919=readFileSync(_0x336e8d,_0x16aed8(0xd9)),_0x29bd39=TemplateReplacer['replaceApiContent'](_0x4ef919,_0x417f04,_0x365887,_0x3b3a5b,_0x4901d5,_0x3eb1e1),_0x5a0627=await a9_0x2114f0[_0x16aed8(0xf0)](_0x29bd39,{'parser':'typescript'}),_0x56a576=_0x1a9448+'/'+_0x4901d5+'.ts';writeFileSync(_0x56a576,_0x5a0627,{'encoding':_0x16aed8(0xd9)});const _0x4ea8d6=readFileSync(_0x3248b6,_0x16aed8(0xd9)),_0x46125a=TemplateReplacer[_0x16aed8(0xcc)](_0x4ea8d6,_0x417f04,_0x365887,_0x3b3a5b,_0x4901d5,_0x3eb1e1,_0xe7423a),_0x757436=await a9_0x2114f0[_0x16aed8(0xf0)](_0x46125a,{'parser':_0x16aed8(0xd6)}),_0x553a77=_0x1a9448+'/'+_0x56bb94+'.ts';writeFileSync(_0x553a77,_0x757436,{'encoding':'utf8'});const _0x102b61=_0x365887[_0x16aed8(0xce)];return logger[_0x16aed8(0xe0)](_0x16aed8(0xde),'API\x20文件生成成功!',undefined,{'apiFile':_0x56a576,'clientFile':_0x553a77,'modelCount':_0x102b61,'configName':_0x3eb1e1}),{'modelCount':_0x102b61,'apiFilePath':_0x56a576,'clientFilePath':_0x553a77,'configName':_0x3eb1e1};}
1
+ function a9_0x337c(){const _0xa0125e=['api.ts.tpl','key','3567984YBbxtc','typescript','replaceApiContent','565WUZscY','1128312QtkcOn','templates/generate-api','format','1757LCYYjO','datasetCode','757648xGZSTE','name','env','api','app','\x22\x20}','length','712hiuCEh','130KeNNHA','success',',\x20env:\x20\x22','CONFIG_NAMES.DEFAULT','API\x20文件生成成功!','./src/api/','client','{\x20apiConfigName:\x20','utf8','string','alias','join','resolve','slice','client.ts.tpl','endsWith','init-api','-api','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','20856JWYFnX','dirname','1121448LmhqoP','-client','online','{\x20apiConfigName:\x20\x22','901656FonEdX'];a9_0x337c=function(){return _0xa0125e;};return a9_0x337c();}const a9_0x28a2a0=a9_0x453f;(function(_0xb554f7,_0x54bc8b){const _0xcf6376=a9_0x453f,_0x1b2617=_0xb554f7();while(!![]){try{const _0x26f5a8=-parseInt(_0xcf6376(0x1da))/0x1*(-parseInt(_0xcf6376(0x1e3))/0x2)+parseInt(_0xcf6376(0x1cc))/0x3+-parseInt(_0xcf6376(0x1d7))/0x4+-parseInt(_0xcf6376(0x1d6))/0x5*(-parseInt(_0xcf6376(0x1ca))/0x6)+parseInt(_0xcf6376(0x1d3))/0x7+parseInt(_0xcf6376(0x1dc))/0x8+-parseInt(_0xcf6376(0x1d0))/0x9*(parseInt(_0xcf6376(0x1e4))/0xa);if(_0x26f5a8===_0x54bc8b)break;else _0x1b2617['push'](_0x1b2617['shift']());}catch(_0xb13fb9){_0x1b2617['push'](_0x1b2617['shift']());}}}(a9_0x337c,0x6498c));import a9_0x1675ff from'prettier';import{mkdirSync,writeFileSync,readFileSync}from'node:fs';function a9_0x453f(_0xed8cad,_0x48756e){_0xed8cad=_0xed8cad-0x1bd;const _0x337c85=a9_0x337c();let _0x453fb3=_0x337c85[_0xed8cad];return _0x453fb3;}import a9_0x497d9e from'node:path';import{fileURLToPath}from'node:url';import{readConfig}from'../utils/config.js';import{TemplateReplacer}from'../utils/template-replacer.js';import{logger}from'../utils/logger.js';export async function generateApiFile(_0x19c920,_0x13c0c5='',_0x58c0a2,_0x4a9b27=![],_0x536432,_0x112e43=a9_0x28a2a0(0x1e9)){const _0x31c07e=a9_0x28a2a0,_0xf1f03f=readConfig(),_0x37c7f1=_0x58c0a2||_0xf1f03f?.[_0x31c07e(0x1e0)];if(typeof _0x37c7f1!==_0x31c07e(0x1c0)||!_0x37c7f1)throw new Error(_0x31c07e(0x1c9));const _0x243238=_0x4a9b27?_0x31c07e(0x1e7):'\x22'+_0x37c7f1+'\x22',_0x2909d2=typeof _0xf1f03f[_0x31c07e(0x1de)]===_0x31c07e(0x1c0)?_0xf1f03f[_0x31c07e(0x1de)]:undefined,_0x2bf168=_0x536432||_0x2909d2||_0x31c07e(0x1ce),_0x15091c=_0x2bf168!=='online';let _0x2b7eae;if(_0x4a9b27)_0x15091c?_0x2b7eae=_0x31c07e(0x1be)+_0x243238+_0x31c07e(0x1e6)+_0x2bf168+_0x31c07e(0x1e1):_0x2b7eae='';else{const _0x3f3db1=_0x15091c?_0x31c07e(0x1e6)+_0x2bf168+'\x22':'';_0x2b7eae=_0x31c07e(0x1cf)+_0x37c7f1+'\x22'+_0x3f3db1+'\x20}';}const _0x48057a=_0x13c0c5?_0x13c0c5+_0x31c07e(0x1c8):_0x31c07e(0x1df),_0x44d692=_0x13c0c5?_0x13c0c5+_0x31c07e(0x1cd):_0x31c07e(0x1bd),_0x27d9af=[];_0x19c920['forEach'](_0x4735e4=>{const _0x1d3e8a=_0x31c07e;_0x27d9af['push']({'datasetCode':_0x4735e4[_0x1d3e8a(0x1db)],'tableName':_0x4735e4['tableName'],'name':_0x4735e4[_0x1d3e8a(0x1dd)]||'','alias':_0x4735e4[_0x1d3e8a(0x1c1)]||_0x4735e4[_0x1d3e8a(0x1d2)]});});const _0x53c0e8=fileURLToPath(import.meta.url),_0x1ed921=a9_0x497d9e[_0x31c07e(0x1c3)](a9_0x497d9e[_0x31c07e(0x1cb)](_0x53c0e8),'../..'),_0x519fa8=a9_0x497d9e[_0x31c07e(0x1c2)](_0x1ed921,_0x31c07e(0x1d8)),_0x26c63e=a9_0x497d9e[_0x31c07e(0x1c2)](_0x519fa8,_0x31c07e(0x1d1)),_0x3ede82=a9_0x497d9e[_0x31c07e(0x1c2)](_0x519fa8,_0x31c07e(0x1c5)),_0x2767a3=_0x112e43[_0x31c07e(0x1c6)]('/')?_0x112e43[_0x31c07e(0x1c4)](0x0,-0x1):_0x112e43;mkdirSync(_0x2767a3,{'recursive':!![]});const _0x56d314=_0x27d9af[0x0]?.[_0x31c07e(0x1c1)],_0x4e109e=readFileSync(_0x26c63e,'utf8'),_0xe3c4d=TemplateReplacer[_0x31c07e(0x1d5)](_0x4e109e,_0x37c7f1,_0x27d9af,_0x56d314,_0x48057a,_0x243238),_0x5728a4=await a9_0x1675ff[_0x31c07e(0x1d9)](_0xe3c4d,{'parser':'typescript'}),_0x3fbc15=_0x2767a3+'/'+_0x48057a+'.ts';writeFileSync(_0x3fbc15,_0x5728a4,{'encoding':'utf8'});const _0x39fee6=readFileSync(_0x3ede82,_0x31c07e(0x1bf)),_0x4ec2a9=TemplateReplacer[_0x31c07e(0x1d5)](_0x39fee6,_0x37c7f1,_0x27d9af,_0x56d314,_0x48057a,_0x243238,_0x2b7eae),_0x4bf9b2=await a9_0x1675ff[_0x31c07e(0x1d9)](_0x4ec2a9,{'parser':_0x31c07e(0x1d4)}),_0x2ae4da=_0x2767a3+'/'+_0x44d692+'.ts';writeFileSync(_0x2ae4da,_0x4bf9b2,{'encoding':_0x31c07e(0x1bf)});const _0x42519d=_0x27d9af[_0x31c07e(0x1e2)];return logger[_0x31c07e(0x1e5)](_0x31c07e(0x1c7),_0x31c07e(0x1e8),undefined,{'apiFile':_0x3fbc15,'clientFile':_0x2ae4da,'modelCount':_0x42519d,'configName':_0x243238}),{'modelCount':_0x42519d,'apiFilePath':_0x3fbc15,'clientFilePath':_0x2ae4da,'configName':_0x243238};}
package/lib/api/main.js CHANGED
@@ -1 +1 @@
1
- (function(_0x26fbcb,_0x2b8952){const _0x568f6d=a10_0x4686,_0x31fc7c=_0x26fbcb();while(!![]){try{const _0x32fa5a=parseInt(_0x568f6d(0x217))/0x1*(parseInt(_0x568f6d(0x20f))/0x2)+-parseInt(_0x568f6d(0x209))/0x3+parseInt(_0x568f6d(0x218))/0x4+parseInt(_0x568f6d(0x1fe))/0x5*(parseInt(_0x568f6d(0x204))/0x6)+-parseInt(_0x568f6d(0x1fb))/0x7+-parseInt(_0x568f6d(0x201))/0x8+-parseInt(_0x568f6d(0x221))/0x9*(-parseInt(_0x568f6d(0x215))/0xa);if(_0x32fa5a===_0x2b8952)break;else _0x31fc7c['push'](_0x31fc7c['shift']());}catch(_0x2cc67d){_0x31fc7c['push'](_0x31fc7c['shift']());}}}(a10_0x1b71,0x72dae));import{jsx as a10_0x4c8dda}from'react/jsx-runtime';import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';import{ApiDocUI}from'./api-doc-ui.js';function a10_0x1b71(){const _0x184d5b=['2361248mzDSDM','filter','length','Available\x20commands:','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','×\x20未配置\x20AppCode','string','error','18rofDSH','help','\x20\x20lovrabet\x20api\x20doc\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录(默认:\x20./docs)','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','\x1b[90m*\x20仅生成指定数据集的文档:\x20','map','log','❌\x20错误:不再支持位置参数方式','flags','\x0alovrabet\x20api\x20-\x20API\x20相关操作\x0a\x0a用法:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20[options]\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20[options]\x0a\x0a选项:\x0a\x20\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20指定应用代码\x0a\x20\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20指定输出目录(pull:\x20./src/api/,doc:\x20./docs)\x0a\x20\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20指定环境(如:daily、online)\x0a\x20\x20--datasetcode\x20<codes>\x20指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)\x0a\x20\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示此帮助信息\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--output\x20./api\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境拉取\x20API\x0a\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20生成所有数据集的文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--output\x20./docs\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境生成文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--datasetcode\x20ds_001\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20只生成指定数据集的文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--datasetcode\x20ds_001,ds_002\x20\x20\x20\x20\x20\x20//\x20生成多个数据集的文档\x0a','Unknown\x20api\x20command:\x20','573314VtOYxq','×\x20--params\x20参数不是有效的\x20JSON\x20格式','请使用\x20--appcode\x20参数,例如:','1140TntmTi','\x1b[90m*\x20使用配置的应用AppCode:\x20','×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','6710544ukvaMC','!\x20请使用以下方式之一:','output','2616tCvNpA','datasetcode','params','\x1b[0m','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','32541ZmIipU','env','isArray','input','trim','\x20\x20lovrabet\x20api\x20doc\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','2PQTfRn','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','\x20\x20lovrabet\x20api\x20doc\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20生成\x20API\x20文档','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20','exit','1354090iMcSke','appcode','441475cqKqHi'];a10_0x1b71=function(){return _0x184d5b;};return a10_0x1b71();}function a10_0x4686(_0x52ceb2,_0x2df6a3){_0x52ceb2=_0x52ceb2-0x1f2;const _0x1b710f=a10_0x1b71();let _0x468662=_0x1b710f[_0x52ceb2];return _0x468662;}import{getConfigAppCode}from'../utils/config.js';export async function apiCli(_0x514aac){const _0xc91fee=a10_0x4686,_0x2cac56=_0x514aac['input'][0x1];if(_0x514aac['flags'][_0xc91fee(0x222)]){console[_0xc91fee(0x1f6)](_0xc91fee(0x1f9));return;}if(_0x2cac56==='pull'){_0x514aac[_0xc91fee(0x20c)][0x2]&&(console[_0xc91fee(0x220)](_0xc91fee(0x1f7)),console['log']('请使用\x20--appcode\x20参数,例如:'),console[_0xc91fee(0x1f6)]('\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20'+_0x514aac['input'][0x2]),process[_0xc91fee(0x214)](0x1));const _0xb2fba8=getConfigAppCode();let _0x402667=_0x514aac['flags']['appcode'];const _0x375205=typeof _0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x20a)]===_0xc91fee(0x21f)?_0x514aac['flags'][_0xc91fee(0x20a)]:undefined,_0x22b4f0=_0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x203)];!_0x402667&&!_0xb2fba8&&(console[_0xc91fee(0x220)](_0xc91fee(0x21e)),console[_0xc91fee(0x1f6)]('!\x20请使用以下方式之一:'),console[_0xc91fee(0x1f6)](_0xc91fee(0x211)),console[_0xc91fee(0x1f6)](_0xc91fee(0x210)),process[_0xc91fee(0x214)](0x1)),_0x402667&&_0xb2fba8&&_0x402667===_0xb2fba8&&(console[_0xc91fee(0x1f6)](_0xc91fee(0x1ff)+_0x402667+_0xc91fee(0x207)),console[_0xc91fee(0x1f6)]('\x1b[90m\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)\x1b[0m'),_0x402667=undefined),render(a10_0x4c8dda(ApiPullUI,{'appCode':_0x402667,'env':_0x375205,'output':_0x22b4f0}));}else{if(_0x2cac56==='doc'){_0x514aac[_0xc91fee(0x20c)][0x2]&&(console[_0xc91fee(0x220)](_0xc91fee(0x1f7)),console[_0xc91fee(0x1f6)](_0xc91fee(0x1fd)),console[_0xc91fee(0x1f6)](_0xc91fee(0x213)+_0x514aac['input'][0x2]),process['exit'](0x1));const _0x4c3082=getConfigAppCode();let _0x3b644f=_0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x216)];const _0x504139=typeof _0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x20a)]===_0xc91fee(0x21f)?_0x514aac[_0xc91fee(0x1f8)]['env']:undefined,_0x5144e9=_0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x203)],_0x52911c=_0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x206)],_0xfb52e0=_0x514aac[_0xc91fee(0x1f8)][_0xc91fee(0x205)];!_0x3b644f&&!_0x4c3082&&(console[_0xc91fee(0x220)]('×\x20未配置\x20AppCode'),console['log'](_0xc91fee(0x202)),console['log'](_0xc91fee(0x211)),console[_0xc91fee(0x1f6)](_0xc91fee(0x21c)),process['exit'](0x1));_0x3b644f&&_0x4c3082&&_0x3b644f===_0x4c3082&&(console[_0xc91fee(0x1f6)](_0xc91fee(0x1ff)+_0x3b644f+_0xc91fee(0x207)),_0x3b644f=undefined);let _0x2aa7c0;if(_0x52911c)try{_0x2aa7c0=JSON['parse'](_0x52911c),(typeof _0x2aa7c0!=='object'||_0x2aa7c0===null||Array[_0xc91fee(0x20b)](_0x2aa7c0))&&(console[_0xc91fee(0x220)](_0xc91fee(0x200)),process[_0xc91fee(0x214)](0x1));}catch(_0x1f71e7){console['error'](_0xc91fee(0x1fc)),console['error']('\x20\x20错误:\x20'+(_0x1f71e7 instanceof Error?_0x1f71e7['message']:String(_0x1f71e7))),process[_0xc91fee(0x214)](0x1);}let _0x213b81;_0xfb52e0&&(_0x213b81=_0xfb52e0['split'](',')[_0xc91fee(0x1f5)](_0x44cbe8=>_0x44cbe8[_0xc91fee(0x20d)]())[_0xc91fee(0x219)](_0x12273e=>_0x12273e[_0xc91fee(0x21a)]>0x0),_0x213b81[_0xc91fee(0x21a)]===0x0&&(console[_0xc91fee(0x220)]('×\x20--datasetcode\x20参数不能为空'),process[_0xc91fee(0x214)](0x1)),console[_0xc91fee(0x1f6)](_0xc91fee(0x1f4)+_0x213b81['join'](',\x20')+'\x1b[0m')),render(a10_0x4c8dda(ApiDocUI,{'appCode':_0x3b644f,'env':_0x504139,'output':_0x5144e9,'extraParams':_0x2aa7c0,'datasetCodes':_0x213b81}));}else console[_0xc91fee(0x220)](_0xc91fee(0x1fa)+_0x2cac56),console['log'](_0xc91fee(0x21b)),console[_0xc91fee(0x1f6)]('\x20\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件'),console[_0xc91fee(0x1f6)](_0xc91fee(0x208)),console[_0xc91fee(0x1f6)](_0xc91fee(0x21d)),console[_0xc91fee(0x1f6)]('\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)'),console[_0xc91fee(0x1f6)](''),console[_0xc91fee(0x1f6)](_0xc91fee(0x212)),console[_0xc91fee(0x1f6)](_0xc91fee(0x1f3)),console[_0xc91fee(0x1f6)](_0xc91fee(0x1f2)),console['log'](_0xc91fee(0x20e)),process[_0xc91fee(0x214)](0x1);}}
1
+ (function(_0x370ee9,_0x218bc9){const _0x5bca49=a10_0x1d9c,_0x274fdc=_0x370ee9();while(!![]){try{const _0x5d41e4=parseInt(_0x5bca49(0x1c0))/0x1+-parseInt(_0x5bca49(0x1c8))/0x2*(-parseInt(_0x5bca49(0x1ca))/0x3)+-parseInt(_0x5bca49(0x1cf))/0x4*(parseInt(_0x5bca49(0x1d4))/0x5)+-parseInt(_0x5bca49(0x1d0))/0x6*(-parseInt(_0x5bca49(0x1c4))/0x7)+parseInt(_0x5bca49(0x1c9))/0x8+parseInt(_0x5bca49(0x1f0))/0x9*(parseInt(_0x5bca49(0x1cc))/0xa)+-parseInt(_0x5bca49(0x1f6))/0xb;if(_0x5d41e4===_0x218bc9)break;else _0x274fdc['push'](_0x274fdc['shift']());}catch(_0x215105){_0x274fdc['push'](_0x274fdc['shift']());}}}(a10_0x44bc,0x6ba99));import{jsx as a10_0x409f34}from'react/jsx-runtime';import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';function a10_0x1d9c(_0x442316,_0x31c6be){_0x442316=_0x442316-0x1c0;const _0x44bc5c=a10_0x44bc();let _0x1d9c41=_0x44bc5c[_0x442316];return _0x1d9c41;}import{ApiDocUI}from'./api-doc-ui.js';import{getConfigAppCode}from'../utils/config.js';export async function apiCli(_0x2f2211){const _0x31bb41=a10_0x1d9c,_0x2f3607=_0x2f2211['input'][0x1];if(_0x2f2211[_0x31bb41(0x1db)]['help']){console[_0x31bb41(0x1c5)](_0x31bb41(0x1f7));return;}if(_0x2f3607===_0x31bb41(0x1e9)){_0x2f2211[_0x31bb41(0x1e4)][0x2]&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1eb)),console['log'](_0x31bb41(0x1c3)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1c6)+_0x2f2211['input'][0x2]),process[_0x31bb41(0x1f2)](0x1));const _0x25d04e=getConfigAppCode();let _0xa83c48=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1e2)];const _0x43da57=typeof _0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1c1)]===_0x31bb41(0x1d1)?_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1c1)]:undefined,_0x10496c=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1e0)];!_0xa83c48&&!_0x25d04e&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1ee)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1e7)),console['log'](_0x31bb41(0x1c7)),console['log'](_0x31bb41(0x1e1)),process[_0x31bb41(0x1f2)](0x1)),_0xa83c48&&_0x25d04e&&_0xa83c48===_0x25d04e&&(console[_0x31bb41(0x1c5)](_0x31bb41(0x1e5)+_0xa83c48+_0x31bb41(0x1c2)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1ea)),_0xa83c48=undefined),render(a10_0x409f34(ApiPullUI,{'appCode':_0xa83c48,'env':_0x43da57,'output':_0x10496c}));}else{if(_0x2f3607==='doc'){_0x2f2211['input'][0x2]&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1eb)),console['log'](_0x31bb41(0x1c3)),console[_0x31bb41(0x1c5)]('\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20'+_0x2f2211[_0x31bb41(0x1e4)][0x2]),process[_0x31bb41(0x1f2)](0x1));const _0x462beb=getConfigAppCode();let _0x77ce2f=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1e2)];const _0x4029a1=typeof _0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1c1)]==='string'?_0x2f2211['flags'][_0x31bb41(0x1c1)]:undefined,_0x4b1d77=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1e0)],_0x3546da=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1f4)],_0xaaf374=_0x2f2211[_0x31bb41(0x1db)][_0x31bb41(0x1d7)];!_0x77ce2f&&!_0x462beb&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1ee)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1e7)),console['log'](_0x31bb41(0x1c7)),console[_0x31bb41(0x1c5)]('\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>'),process[_0x31bb41(0x1f2)](0x1));_0x77ce2f&&_0x462beb&&_0x77ce2f===_0x462beb&&(console['log'](_0x31bb41(0x1e5)+_0x77ce2f+_0x31bb41(0x1c2)),_0x77ce2f=undefined);let _0x2556af;if(_0x3546da)try{_0x2556af=JSON['parse'](_0x3546da),(typeof _0x2556af!==_0x31bb41(0x1de)||_0x2556af===null||Array[_0x31bb41(0x1e6)](_0x2556af))&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1cb)),process[_0x31bb41(0x1f2)](0x1));}catch(_0x3cb2ba){console['error'](_0x31bb41(0x1d9)),console['error'](_0x31bb41(0x1cd)+(_0x3cb2ba instanceof Error?_0x3cb2ba['message']:String(_0x3cb2ba))),process['exit'](0x1);}let _0x3e3010;_0xaaf374&&(_0x3e3010=_0xaaf374['split'](',')[_0x31bb41(0x1ce)](_0x21a571=>_0x21a571[_0x31bb41(0x1da)]())[_0x31bb41(0x1f5)](_0x5ecd98=>_0x5ecd98[_0x31bb41(0x1d5)]>0x0),_0x3e3010[_0x31bb41(0x1d5)]===0x0&&(console[_0x31bb41(0x1d2)](_0x31bb41(0x1ed)),process['exit'](0x1)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1d6)+_0x3e3010[_0x31bb41(0x1f1)](',\x20')+_0x31bb41(0x1c2))),render(a10_0x409f34(ApiDocUI,{'appCode':_0x77ce2f,'env':_0x4029a1,'output':_0x4b1d77,'extraParams':_0x2556af,'datasetCodes':_0x3e3010}));}else console[_0x31bb41(0x1d2)](_0x31bb41(0x1ef)+_0x2f3607),console[_0x31bb41(0x1c5)](_0x31bb41(0x1dc)),console['log'](_0x31bb41(0x1d3)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1e8)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1f3)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1d8)),console['log'](''),console['log'](_0x31bb41(0x1e3)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1ec)),console['log'](_0x31bb41(0x1df)),console[_0x31bb41(0x1c5)](_0x31bb41(0x1dd)),process[_0x31bb41(0x1f2)](0x1);}}function a10_0x44bc(){const _0x195917=['×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象','8540pofysy','\x20\x20错误:\x20','map','876ozcjpd','210NsaADr','string','error','\x20\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件','2895ATluVf','length','\x1b[90m*\x20仅生成指定数据集的文档:\x20','datasetcode','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','×\x20--params\x20参数不是有效的\x20JSON\x20格式','trim','flags','Available\x20commands:','\x20\x20lovrabet\x20api\x20doc\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','object','\x20\x20lovrabet\x20api\x20doc\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录(默认:\x20./docs)','output','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','appcode','\x20\x20lovrabet\x20api\x20doc\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20生成\x20API\x20文档','input','\x1b[90m*\x20使用配置的应用AppCode:\x20','isArray','!\x20请使用以下方式之一:','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','pull','\x1b[90m\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)\x1b[0m','❌\x20错误:不再支持位置参数方式','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','×\x20--datasetcode\x20参数不能为空','×\x20未配置\x20AppCode','Unknown\x20api\x20command:\x20','9225PbfmIN','join','exit','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','params','filter','19735232mobjuq','\x0alovrabet\x20api\x20-\x20API\x20相关操作\x0a\x0a用法:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20[options]\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20[options]\x0a\x0a选项:\x0a\x20\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20指定应用代码\x0a\x20\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20指定输出目录(pull:\x20./src/api/,doc:\x20./docs)\x0a\x20\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20指定环境(如:daily、online)\x0a\x20\x20--datasetcode\x20<codes>\x20指定要生成文档的数据集代码(多个用逗号分隔,仅\x20doc\x20命令)\x0a\x20\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20显示此帮助信息\x0a\x0a示例:\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20拉取并生成\x20API\x20配置文件\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--output\x20./api\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20pull\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境拉取\x20API\x0a\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20生成所有数据集的文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--appcode\x20myapp\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--output\x20./docs\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--env\x20daily\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境生成文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--datasetcode\x20ds_001\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20只生成指定数据集的文档\x0a\x20\x20$\x20lovrabet\x20api\x20doc\x20--datasetcode\x20ds_001,ds_002\x20\x20\x20\x20\x20\x20//\x20生成多个数据集的文档\x0a','513935UgZNzW','env','\x1b[0m','请使用\x20--appcode\x20参数,例如:','4592xMpRHx','log','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','132zZYFMx','6413448FSbPgl','6726gSfrFc'];a10_0x44bc=function(){return _0x195917;};return a10_0x44bc();}