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

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 (77) 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/http-client.js +1 -1
  71. package/lib/utils/logger.js +1 -1
  72. package/lib/utils/router-updater.js +1 -1
  73. package/lib/utils/sleep.js +1 -1
  74. package/lib/utils/template-replacer.js +1 -1
  75. package/package.json +1 -1
  76. package/templates/skills/.cursorrules +31 -2
  77. package/templates/skills/.shared/guides/07-backend-function/guide.md +274 -34
@@ -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(_0x40ef53,_0x471357){const _0x294970=a0_0x452e,_0x4ad8aa=_0x40ef53();while(!![]){try{const _0x344889=parseInt(_0x294970(0xde))/0x1*(parseInt(_0x294970(0xda))/0x2)+parseInt(_0x294970(0xd8))/0x3+-parseInt(_0x294970(0xce))/0x4+parseInt(_0x294970(0xc6))/0x5*(parseInt(_0x294970(0xc3))/0x6)+parseInt(_0x294970(0xcd))/0x7+-parseInt(_0x294970(0xc4))/0x8*(-parseInt(_0x294970(0xe3))/0x9)+-parseInt(_0x294970(0xdb))/0xa*(parseInt(_0x294970(0xd9))/0xb);if(_0x344889===_0x471357)break;else _0x4ad8aa['push'](_0x4ad8aa['shift']());}catch(_0x5cd0e0){_0x4ad8aa['push'](_0x4ad8aa['shift']());}}}(a0_0x412c,0x8da91));import{jsx as a0_0x420e18,jsxs as a0_0x48043a}from'react/jsx-runtime';import{useState}from'react';function a0_0x452e(_0x3b62d3,_0x16834c){_0x3b62d3=_0x3b62d3-0xc3;const _0x412cf8=a0_0x412c();let _0x452e44=_0x412cf8[_0x3b62d3];return _0x452e44;}function a0_0x412c(){const _0x167457=['test','路径不能包含连续的\x20/','页面路径长度不能超过\x20100\x20个字符','619086otnOJN','1826869MKMjyy','20RABdBO','70HSOwUQ','路径不能以\x20/\x20开头或结尾','delete','40097PfNJCw','slice','页面路径不合法','endsWith','startsWith','1442817qwhirV','1607646LMrfNW','56vnSpSp','split','5llaFuO','页面路径\x20','\x20已存在,请使用其他路径','length','trim','\x20←\x20','\x20Step2:\x20','4869018bOBGcF','3800976gDbSuq','\x20直接回车确认,或输入自定义路由地址','return','gray','red','includes','my-page'];a0_0x412c=function(){return _0x167457;};return a0_0x412c();}import{Text,Box,useInput}from'ink';import a0_0x3f8dd9 from'node:fs';export function InputProjectCode(_0x5c5f7f){const _0x283656=a0_0x452e,{onSubmit:_0x19707d,pagePath:_0x536c91}=_0x5c5f7f,[_0x1be5d3,_0x18c2a8]=useState(''),[_0x50150f,_0x3e964a]=useState(''),_0x3d1b1a=_0x283656(0xd4);function _0x4df319(_0x52261f){const _0x35e1cb=_0x283656;if(_0x52261f[_0x35e1cb(0xc9)]>0x64)return{'valid':![],'message':_0x35e1cb(0xd7)};if(_0x52261f[_0x35e1cb(0xe2)]('/')||_0x52261f[_0x35e1cb(0xe1)]('/'))return{'valid':![],'message':_0x35e1cb(0xdc)};if(_0x52261f[_0x35e1cb(0xd3)]('//'))return{'valid':![],'message':_0x35e1cb(0xd6)};const _0x5b0dcf=_0x52261f[_0x35e1cb(0xc5)]('/');for(const _0x93f596 of _0x5b0dcf){if(!_0x93f596)continue;const _0x1ee68b=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x1ee68b[_0x35e1cb(0xd5)](_0x93f596))return{'valid':![],'message':'路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_'};}return{'valid':!![]};}return useInput((_0x1361ec,_0x2eaea1)=>{const _0x2faed8=_0x283656;if(_0x2eaea1[_0x2faed8(0xd0)]){const _0xb7cc08=_0x1be5d3[_0x2faed8(0xca)]()||_0x3d1b1a;if(_0x50150f)return;const _0x231e38=_0x536c91+'/'+_0xb7cc08;if(a0_0x3f8dd9['existsSync'](_0x231e38)){_0x3e964a(_0x2faed8(0xc7)+_0xb7cc08+_0x2faed8(0xc8));return;}_0x19707d(_0xb7cc08),_0x18c2a8(''),_0x3e964a('');}else _0x2eaea1['backspace']||_0x2eaea1[_0x2faed8(0xdd)]?_0x18c2a8(_0x5903a7=>{const _0x3390f6=_0x2faed8,_0x3c1ef7=_0x5903a7[_0x3390f6(0xdf)](0x0,-0x1),{valid:_0xbedab3,message:_0x5b2769}=_0x4df319(_0x3c1ef7);return _0x3e964a(_0xbedab3?'':_0x5b2769||_0x3390f6(0xe0)),_0x3c1ef7;}):_0x18c2a8(_0x427ea7=>{const _0x23c0ef=_0x2faed8,_0x466fac=_0x427ea7+_0x1361ec,{valid:_0x360b8d,message:_0x521760}=_0x4df319(_0x466fac);return _0x3e964a(_0x360b8d?'':_0x521760||_0x23c0ef(0xe0)),_0x466fac;});}),a0_0x48043a(Box,{'flexDirection':'column','children':[a0_0x48043a(Box,{'children':[a0_0x420e18(Text,{'color':'gray','children':_0x283656(0xcc)}),a0_0x420e18(Text,{'children':'页面路由地址:\x20'}),_0x1be5d3?a0_0x420e18(Text,{'color':'green','children':_0x1be5d3}):a0_0x420e18(Text,{'color':'gray','children':_0x3d1b1a}),_0x50150f&&a0_0x48043a(Text,{'color':_0x283656(0xd2),'children':[_0x283656(0xcb),_0x50150f]})]}),!_0x50150f&&!_0x1be5d3&&a0_0x420e18(Box,{'children':a0_0x420e18(Text,{'color':_0x283656(0xd1),'children':_0x283656(0xcf)})})]});}
@@ -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_0xbd306c=a1_0x3393;(function(_0xd8208,_0x2ede4d){const _0x3ca48d=a1_0x3393,_0x2abab5=_0xd8208();while(!![]){try{const _0x504e2a=-parseInt(_0x3ca48d(0x94))/0x1+parseInt(_0x3ca48d(0xa8))/0x2*(-parseInt(_0x3ca48d(0xb3))/0x3)+parseInt(_0x3ca48d(0xa1))/0x4+parseInt(_0x3ca48d(0xb2))/0x5+parseInt(_0x3ca48d(0x93))/0x6*(-parseInt(_0x3ca48d(0xb4))/0x7)+parseInt(_0x3ca48d(0xa9))/0x8+parseInt(_0x3ca48d(0x9a))/0x9*(-parseInt(_0x3ca48d(0xa6))/0xa);if(_0x504e2a===_0x2ede4d)break;else _0x2abab5['push'](_0x2abab5['shift']());}catch(_0x402d94){_0x2abab5['push'](_0x2abab5['shift']());}}}(a1_0x4a26,0x2ec07));import{jsx as a1_0x51430a,jsxs as a1_0x46f386,Fragment as a1_0x317858}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x187bf9 from'node:path';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';function a1_0x3393(_0x4a77a8,_0x35c292){_0x4a77a8=_0x4a77a8-0x91;const _0x4a26a7=a1_0x4a26();let _0x339376=_0x4a26a7[_0x4a77a8];return _0x339376;}import{SelectPageTemplate}from'./select-page-template.js';function a1_0x4a26(){const _0x1ca087=['add-page','正在创建页面,请稍候…','页面添加成功:\x20','页面添加失败:\x20','1470920MdGFzg','723747AlEkgb','1071CyAHaO','message','cwd','setLogPath','2118kmPbJW','182746aPvPAk','cyan','gray','resolve','pages','error','2367UTPxot','now','green','\x20*\x20页面文件已创建,可直接通过路由访问','catch','info','finally','1127856mssLxp','已选择页面模板\x20','join','../../templates/pages','success','2770mUZoQd','\x20Step1:\x20','2OxSGBm','1329616JpyAiA','src','\x20*\x20页面路径:\x20','column','dirname'];a1_0x4a26=function(){return _0x1ca087;};return a1_0x4a26();}import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x187bf9[a1_0xbd306c(0xad)](fileURLToPath(import.meta.url)),pageTemplateDir=a1_0x187bf9[a1_0xbd306c(0x97)](__dirname,a1_0xbd306c(0xa4)),projectDir=process[a1_0xbd306c(0x91)]();export const AddPage=()=>{const _0x3b980a=a1_0xbd306c,{exit:_0x21a344}=useApp(),[_0x21944c,_0x6c075]=useState(''),[_0x47ae84,_0x2df4ff]=useState(''),[_0x6ccf3b,_0x4804ce]=useState(![]),[_0x600ee9,_0x4caa66]=useState(![]),_0x32bf02=a1_0x187bf9[_0x3b980a(0xa3)](projectDir,_0x3b980a(0xaa),_0x3b980a(0x98)),_0x344e0a=a1_0x187bf9[_0x3b980a(0xa3)](_0x32bf02,_0x47ae84),_0x466637=a1_0x187bf9['join'](_0x3b980a(0xaa),_0x3b980a(0x98),_0x47ae84);useEffect(()=>{const _0x15ce76=_0x3b980a,_0xd7c340=a1_0x187bf9[_0x15ce76(0x97)](pageTemplateDir,_0x21944c);if(_0x21944c&&_0x47ae84){_0x4804ce(!![]),logger[_0x15ce76(0x92)](process['cwd']());const _0x259753=Date[_0x15ce76(0x9b)]();logger[_0x15ce76(0x9f)](_0x15ce76(0xae),'开始添加页面:\x20'+_0x47ae84,{'template':_0x21944c,'targetPath':_0x466637}),TemplateReplacer['processTemplate'](_0xd7c340,a1_0x187bf9[_0x15ce76(0xa3)](_0x32bf02,_0x47ae84),_0x47ae84,_0x21944c)['then'](()=>{const _0x374db9=_0x15ce76,_0x454d20=Date['now']()-_0x259753;logger[_0x374db9(0xa5)](_0x374db9(0xae),_0x374db9(0xb0)+_0x47ae84,_0x454d20,{'template':_0x21944c,'targetPath':_0x466637,'routePath':_0x47ae84}),_0x4caa66(!![]);})[_0x15ce76(0x9e)](_0x4df995=>{const _0xf2e7a7=_0x15ce76,_0x974a77=Date[_0xf2e7a7(0x9b)]()-_0x259753;logger[_0xf2e7a7(0x99)](_0xf2e7a7(0xae),_0xf2e7a7(0xb1)+_0x47ae84,{'template':_0x21944c,'targetPath':_0x466637,'error':_0x4df995 instanceof Error?_0x4df995[_0xf2e7a7(0xb5)]:String(_0x4df995),'duration':_0x974a77});})[_0x15ce76(0xa0)](()=>{_0x4804ce(![]);});}},[_0x21944c,_0x47ae84]),useEffect(()=>{_0x600ee9&&setTimeout(()=>{_0x21a344();});},[_0x600ee9]);if(_0x21944c)return a1_0x46f386(Box,{'flexDirection':_0x3b980a(0xac),'paddingY':0x1,'children':[a1_0x46f386(Box,{'children':[a1_0x51430a(Text,{'color':_0x3b980a(0x96),'children':_0x3b980a(0xa7)}),a1_0x51430a(Text,{'children':_0x3b980a(0xa2)}),a1_0x51430a(Text,{'color':_0x3b980a(0x9c),'children':_0x21944c})]}),_0x47ae84?a1_0x46f386(Box,{'children':[a1_0x51430a(Text,{'color':'gray','children':'\x20Step2:\x20'}),a1_0x51430a(Text,{'children':'已输入的页面路由\x20'}),a1_0x51430a(Text,{'color':_0x3b980a(0x9c),'children':_0x47ae84})]}):a1_0x51430a(InputProjectCode,{'pagePath':_0x344e0a,'onSubmit':_0x2df4ff}),_0x47ae84&&_0x6ccf3b?a1_0x46f386(Box,{'marginTop':0x1,'children':[a1_0x51430a(Box,{'width':'4'}),a1_0x51430a(Text,{'children':_0x3b980a(0xaf)})]}):null,_0x600ee9?a1_0x46f386(a1_0x317858,{'children':[a1_0x51430a(Box,{'marginTop':0x1,'children':a1_0x51430a(Text,{'color':'gray','children':'\x20*\x20页面创建成功!'})}),a1_0x46f386(Box,{'children':[a1_0x51430a(Text,{'color':_0x3b980a(0x96),'children':_0x3b980a(0xab)}),a1_0x51430a(Text,{'color':_0x3b980a(0x9c),'children':_0x466637})]}),a1_0x46f386(Box,{'children':[a1_0x51430a(Text,{'color':'gray','children':'\x20*\x20路由地址:\x20'}),a1_0x46f386(Text,{'color':_0x3b980a(0x9c),'children':['/',_0x47ae84]})]}),a1_0x51430a(Box,{'marginTop':0x1,'children':a1_0x51430a(Text,{'color':_0x3b980a(0x95),'children':_0x3b980a(0x9d)})})]}):null]});return a1_0x51430a(SelectPageTemplate,{'onSelect':_0x6c075});};
@@ -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(_0x31e22b,_0x21134a){const _0xaefb2b=a2_0x4c03,_0x1b5bbf=_0x31e22b();while(!![]){try{const _0x3d7c49=parseInt(_0xaefb2b(0x13b))/0x1+-parseInt(_0xaefb2b(0x136))/0x2+-parseInt(_0xaefb2b(0x127))/0x3*(parseInt(_0xaefb2b(0x123))/0x4)+-parseInt(_0xaefb2b(0x13e))/0x5+-parseInt(_0xaefb2b(0x131))/0x6*(-parseInt(_0xaefb2b(0x139))/0x7)+-parseInt(_0xaefb2b(0x132))/0x8+parseInt(_0xaefb2b(0x135))/0x9*(parseInt(_0xaefb2b(0x133))/0xa);if(_0x3d7c49===_0x21134a)break;else _0x1b5bbf['push'](_0x1b5bbf['shift']());}catch(_0x340953){_0x1b5bbf['push'](_0x1b5bbf['shift']());}}}(a2_0x3761,0xb2a94));import{jsx as a2_0x3fa2a6,jsxs as a2_0x95f478}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';function a2_0x3761(){const _0x3b0149=['label','77JcRrnt','\x20\x20\x20\x20\x20\x20\x20\x20','441269vRsJGU','sdk-fetch','isDirectory','377460CTTjdU','dirname','sort','onSelect','\x20\x20\x20\x20\x20\x20>\x20','map','localeCompare','join','44xtoVCD','upArrow','return','name','302469nWuNEi','请选择您要创建的页面模板','\x20Step1:\x20','../..','blank','column','正在加载页面模板...','获取模板列表失败:','gray','error','72606nwFyah','5866912GCvTtp','16729510vKSDmL','resolve','18muesal','2541154agzCbx','length'];a2_0x3761=function(){return _0x3b0149;};return a2_0x3761();}import a2_0x25415f from'node:path';import{fileURLToPath}from'node:url';function a2_0x4c03(_0x198f24,_0x425dee){_0x198f24=_0x198f24-0x11c;const _0x37612a=a2_0x3761();let _0x4c033f=_0x37612a[_0x198f24];return _0x4c033f;}async function getTemplateList(){const _0x259e6f=a2_0x4c03;try{const _0x4a86f4=fileURLToPath(import.meta.url),_0x38e8fb=a2_0x25415f[_0x259e6f(0x134)](a2_0x25415f[_0x259e6f(0x11c)](_0x4a86f4),_0x259e6f(0x12a)),_0x71de00=a2_0x25415f[_0x259e6f(0x122)](_0x38e8fb,'templates/pages'),_0xd5b2e3=await readdir(_0x71de00,{'withFileTypes':!![]}),_0x145d34=_0xd5b2e3['filter'](_0x1272b9=>_0x1272b9[_0x259e6f(0x13d)]())[_0x259e6f(0x120)](_0x1b11a3=>({'label':_0x1b11a3[_0x259e6f(0x126)]}))[_0x259e6f(0x11d)]((_0x2fd930,_0x24c87e)=>_0x2fd930[_0x259e6f(0x138)][_0x259e6f(0x121)](_0x24c87e[_0x259e6f(0x138)]));return _0x145d34;}catch(_0x1c1163){return console[_0x259e6f(0x130)](_0x259e6f(0x12e),_0x1c1163),[{'label':_0x259e6f(0x12b)},{'label':_0x259e6f(0x13c)}];}}export function SelectPageTemplate(_0x1479e4){const _0x3f7bb1=a2_0x4c03,[_0x12d282,_0x44a8ec]=useState(0x0),[_0x2b92a0,_0x282db4]=useState([]),[_0x2959e3,_0x436280]=useState(!![]);useEffect(()=>{async function _0x8573e(){const _0x589099=await getTemplateList();_0x282db4(_0x589099),_0x436280(![]);}_0x8573e();},[]),useInput((_0x33b38b,_0x115d83)=>{const _0x2b0f8a=a2_0x4c03;if(_0x2959e3)return;if(_0x115d83[_0x2b0f8a(0x125)]){const _0x5adbac=_0x2b92a0[_0x12d282];_0x5adbac&&_0x1479e4[_0x2b0f8a(0x11e)](_0x5adbac[_0x2b0f8a(0x138)]);}_0x115d83[_0x2b0f8a(0x124)]&&_0x44a8ec(_0x4a0f70=>_0x4a0f70===0x0?_0x2b92a0[_0x2b0f8a(0x137)]-0x1:_0x4a0f70-0x1),_0x115d83['downArrow']&&_0x44a8ec(_0x4bcc99=>_0x4bcc99===_0x2b92a0[_0x2b0f8a(0x137)]-0x1?0x0:_0x4bcc99+0x1);});if(_0x2959e3)return a2_0x3fa2a6(Box,{'flexDirection':_0x3f7bb1(0x12c),'paddingY':0x1,'children':a2_0x95f478(Box,{'children':[a2_0x3fa2a6(Text,{'color':_0x3f7bb1(0x12f),'children':_0x3f7bb1(0x129)}),a2_0x3fa2a6(Text,{'children':_0x3f7bb1(0x12d)})]})});return a2_0x95f478(Box,{'flexDirection':'column','paddingY':0x1,'children':[a2_0x95f478(Box,{'children':[a2_0x3fa2a6(Text,{'color':_0x3f7bb1(0x12f),'children':_0x3f7bb1(0x129)}),a2_0x3fa2a6(Text,{'children':_0x3f7bb1(0x128)})]}),_0x2b92a0['map']((_0x44b0a5,_0x43a9ed)=>{const _0x2318ed=_0x3f7bb1,_0xb7fac7=_0x43a9ed===_0x12d282,_0x551158=_0xb7fac7?_0x2318ed(0x11f)+_0x44b0a5[_0x2318ed(0x138)]:_0x2318ed(0x13a)+_0x44b0a5[_0x2318ed(0x138)];return a2_0x3fa2a6(Box,{'children':a2_0x3fa2a6(Text,{'color':_0xb7fac7?'green':undefined,'children':_0x551158})},_0x551158);})]});}
@@ -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
+ function a3_0x30b4(){const _0x52456d=['cursor','push','map','appcode','windsurf','error','success','blue','antigravity','正在配置\x20AI\x20助手...','has','opencode','column','agent','trae','8565285anvltY','10898363qQWPsa','white','red','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','请至少选择一个配置项','done','是否同时配置\x20AI\x20助手?这将:','delete','[N]\x20跳过,稍后手动配置','Cursor','return','downArrow','yellow','confirming','add','projectRoot','name','qoder','技能包\x20(研发规范指南)','14593896torkgS','upArrow','[\x20]','9zRGrRP','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','1530QbRLze','6xTYzmM','gray','claude','742814colQwc','[✓]','filter','3782355XZMmgY','installing','dimColor','4RaFgGt','*\x20选择要配置的\x20IDE:','ide','selecting','message','skill-','length','•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范','316569QfAnGo','1376136ysFNOA','codebuddy'];a3_0x30b4=function(){return _0x52456d;};return a3_0x30b4();}const a3_0x27e57f=a3_0xecd6;function a3_0xecd6(_0x5218dc,_0x47b091){_0x5218dc=_0x5218dc-0xae;const _0x30b4e5=a3_0x30b4();let _0xecd645=_0x30b4e5[_0x5218dc];return _0xecd645;}(function(_0x2b24f1,_0x5607b9){const _0x199053=a3_0xecd6,_0x2a1fca=_0x2b24f1();while(!![]){try{const _0x141939=-parseInt(_0x199053(0xbe))/0x1+parseInt(_0x199053(0xaf))/0x2+parseInt(_0x199053(0xb2))/0x3+-parseInt(_0x199053(0xb5))/0x4*(-parseInt(_0x199053(0xcf))/0x5)+-parseInt(_0x199053(0xe9))/0x6*(-parseInt(_0x199053(0xd0))/0x7)+-parseInt(_0x199053(0xe3))/0x8*(-parseInt(_0x199053(0xe6))/0x9)+-parseInt(_0x199053(0xe8))/0xa*(parseInt(_0x199053(0xbd))/0xb);if(_0x141939===_0x5607b9)break;else _0x2a1fca['push'](_0x2a1fca['shift']());}catch(_0x5216b8){_0x2a1fca['push'](_0x2a1fca['shift']());}}}(a3_0x30b4,0xe7380));import{jsx as a3_0x506d14,jsxs as a3_0x24ef2c}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Box,Text,useInput,useApp}from'ink';import{configureMcp}from'./config.js';import{installSkill,copySharedSkills,createSkillManifest,SKILL_IDE_CONFIGS}from'./config.js';const MCP_IDE_LIST=['cursor',a3_0x27e57f(0xae)],SKILL_IDE_LIST=[a3_0x27e57f(0xc8),a3_0x27e57f(0xae),a3_0x27e57f(0xbf),'codex',a3_0x27e57f(0xc0),a3_0x27e57f(0xcb),a3_0x27e57f(0xe1),a3_0x27e57f(0xce),a3_0x27e57f(0xc4),a3_0x27e57f(0xcd)];export function AISetupUI({config:_0x35e1fa,onComplete:_0x15c3be}){const _0x163728=a3_0x27e57f,{exit:_0x863779}=useApp(),[_0x1f7080,_0x51021b]=useState('confirming'),[_0x3cf82e,_0x3409f8]=useState(0x0),[_0x12b444,_0x300237]=useState(new Set([0x0,0x1])),[_0x31234f,_0x3d67cf]=useState(new Set(SKILL_IDE_LIST[_0x163728(0xc2)]((_0x28161e,_0x16ab2a)=>_0x16ab2a))),[_0x532fb6,_0x38474b]=useState('');useEffect(()=>{!_0x35e1fa['appcode']&&_0x15c3be({'mcpResults':[],'skillResults':[]});},[_0x35e1fa[_0x163728(0xc3)],_0x15c3be]),useInput((_0x24d92d,_0x328e9c)=>{const _0x577bf9=_0x163728;if(_0x1f7080===_0x577bf9(0xdd)){if(_0x24d92d==='y'||_0x24d92d==='Y'||_0x328e9c[_0x577bf9(0xda)]){_0x156bc0();return;}if(_0x24d92d==='n'||_0x24d92d==='N'){_0x15c3be({'mcpResults':[],'skillResults':[]});return;}if(_0x328e9c['return']){_0x156bc0();return;}}if(_0x1f7080===_0x577bf9(0xb8)){if(_0x328e9c[_0x577bf9(0xe4)]){_0x3409f8(_0x191b39=>_0x191b39>0x0?_0x191b39-0x1:SKILL_IDE_LIST[_0x577bf9(0xbb)]-0x1);return;}if(_0x328e9c[_0x577bf9(0xdb)]){_0x3409f8(_0x35a65f=>_0x35a65f<SKILL_IDE_LIST[_0x577bf9(0xbb)]-0x1?_0x35a65f+0x1:0x0);return;}if(_0x24d92d==='\x20'){const _0x171a09=_0x3cf82e<MCP_IDE_LIST[_0x577bf9(0xbb)];if(_0x171a09){const _0x17ad67=new Set(_0x12b444);_0x17ad67['has'](_0x3cf82e)?_0x17ad67[_0x577bf9(0xd7)](_0x3cf82e):_0x17ad67[_0x577bf9(0xde)](_0x3cf82e),_0x300237(_0x17ad67);}else{const _0x508dc1=_0x3cf82e-MCP_IDE_LIST[_0x577bf9(0xbb)],_0x1154c7=new Set(_0x31234f);_0x1154c7[_0x577bf9(0xca)](_0x508dc1)?_0x1154c7['delete'](_0x508dc1):_0x1154c7['add'](_0x508dc1),_0x3d67cf(_0x1154c7);}return;}if(_0x24d92d==='a'||_0x24d92d==='A'){_0x300237(new Set(MCP_IDE_LIST[_0x577bf9(0xc2)]((_0x468db9,_0x249f17)=>_0x249f17))),_0x3d67cf(new Set(SKILL_IDE_LIST[_0x577bf9(0xc2)]((_0x4045ba,_0x1b5bd0)=>_0x1b5bd0)));return;}if(_0x24d92d==='q'||_0x24d92d==='Q'){_0x863779();return;}if(_0x328e9c[_0x577bf9(0xda)]){if(_0x12b444['size']===0x0&&_0x31234f['size']===0x0){_0x38474b(_0x577bf9(0xd4));return;}_0x156bc0();return;}}if(_0x1f7080===_0x577bf9(0xd5)){_0x863779();return;}});async function _0x156bc0(){const _0x40780e=_0x163728;_0x51021b(_0x40780e(0xb3));const _0x3f8c27=[],_0x61a2d2=[];for(const _0x2b1f35 of _0x12b444){const _0x120881=MCP_IDE_LIST[_0x2b1f35];if(!_0x120881)continue;try{const _0x39593b=await configureMcp(_0x120881,_0x35e1fa[_0x40780e(0xdf)]);_0x3f8c27[_0x40780e(0xc1)](_0x39593b);}catch(_0x52ddbe){_0x3f8c27[_0x40780e(0xc1)]({'ide':MCP_IDE_CONFIGS[_0x120881]?.['name']||_0x120881,'status':_0x40780e(0xc5),'message':_0x52ddbe instanceof Error?_0x52ddbe[_0x40780e(0xb9)]:String(_0x52ddbe)});}}await copySharedSkills(_0x35e1fa[_0x40780e(0xdf)]);for(const _0x1a2f11 of _0x31234f){const _0x1c191d=SKILL_IDE_LIST[_0x1a2f11];if(!_0x1c191d)continue;try{const _0x430930=await installSkill(_0x1c191d,_0x35e1fa[_0x40780e(0xdf)]);_0x61a2d2[_0x40780e(0xc1)](_0x430930);}catch(_0x406ad3){_0x61a2d2[_0x40780e(0xc1)]({'ide':SKILL_IDE_CONFIGS[_0x1c191d]?.[_0x40780e(0xe0)]||_0x1c191d,'status':_0x40780e(0xc5),'message':_0x406ad3 instanceof Error?_0x406ad3[_0x40780e(0xb9)]:String(_0x406ad3)});}}if(_0x61a2d2[_0x40780e(0xbb)]>0x0){const _0x393260=_0x61a2d2[_0x40780e(0xb1)](_0x3faf43=>_0x3faf43['status']===_0x40780e(0xc6))[_0x40780e(0xc2)](_0x3d3725=>_0x3d3725[_0x40780e(0xb7)]);_0x393260['length']>0x0&&createSkillManifest(_0x35e1fa[_0x40780e(0xdf)],_0x393260);}_0x51021b('done'),setTimeout(()=>{_0x15c3be({'mcpResults':_0x3f8c27,'skillResults':_0x61a2d2});},0xbb8);}if(_0x1f7080===_0x163728(0xdd))return a3_0x24ef2c(Box,{'flexDirection':_0x163728(0xcc),'marginTop':0x1,'children':[a3_0x506d14(Box,{'marginTop':0x1,'children':a3_0x506d14(Text,{'color':'white','children':_0x163728(0xd6)})}),a3_0x506d14(Box,{'marginLeft':0x2,'marginTop':0x1,'children':a3_0x506d14(Text,{'color':_0x163728(0xea),'children':_0x163728(0xe7)})}),a3_0x506d14(Box,{'marginLeft':0x2,'children':a3_0x506d14(Text,{'color':_0x163728(0xea),'children':_0x163728(0xbc)})}),a3_0x24ef2c(Box,{'marginTop':0x1,'flexDirection':'column','children':[a3_0x506d14(Box,{'children':a3_0x506d14(Text,{'color':'green','children':'[Y]\x20是,配置\x20AI\x20助手'})}),a3_0x506d14(Box,{'children':a3_0x506d14(Text,{'color':_0x163728(0xea),'children':_0x163728(0xd8)})}),a3_0x506d14(Box,{'children':a3_0x506d14(Text,{'color':_0x163728(0xb4),'children':'Enter\x20默认:\x20是'})})]}),_0x532fb6&&a3_0x506d14(Box,{'marginTop':0x1,'children':a3_0x24ef2c(Text,{'color':_0x163728(0xd2),'children':['✗\x20',_0x532fb6]})})]});if(_0x1f7080===_0x163728(0xb8))return a3_0x24ef2c(Box,{'flexDirection':'column','marginTop':0x1,'children':[a3_0x506d14(Box,{'children':a3_0x506d14(Text,{'color':'cyan','bold':!![],'children':_0x163728(0xb6)})}),_0x532fb6&&a3_0x506d14(Box,{'marginTop':0x1,'children':a3_0x24ef2c(Text,{'color':_0x163728(0xd2),'children':['✗\x20',_0x532fb6]})}),a3_0x24ef2c(Box,{'marginTop':0x1,'flexDirection':'column','children':[a3_0x506d14(Text,{'bold':!![],'color':_0x163728(0xdc),'children':'MCP\x20服务器\x20(AI\x20访问数据集)'}),MCP_IDE_LIST[_0x163728(0xc2)]((_0x4132c3,_0x5e7a2e)=>{const _0xddaa23=_0x163728,_0x5f24ff=_0x3cf82e===_0x5e7a2e,_0x292309=_0x12b444[_0xddaa23(0xca)](_0x5e7a2e);return a3_0x506d14(Box,{'children':a3_0x24ef2c(Text,{'backgroundColor':_0x5f24ff?_0xddaa23(0xc7):undefined,'color':_0x5f24ff?_0xddaa23(0xd1):undefined,'children':[_0x292309?_0xddaa23(0xb0):'[\x20]','\x20',_0x4132c3===_0xddaa23(0xc0)?_0xddaa23(0xd9):'Claude\x20Code']})},'mcp-'+_0x4132c3);}),a3_0x506d14(Box,{'marginTop':0x1,'children':a3_0x506d14(Text,{'bold':!![],'color':_0x163728(0xdc),'children':_0x163728(0xe2)})}),SKILL_IDE_LIST[_0x163728(0xc2)]((_0x2c6da1,_0x53685b)=>{const _0x1d5603=_0x163728,_0xf0a7f8=_0x53685b+MCP_IDE_LIST['length'],_0x278274=_0x3cf82e===_0xf0a7f8,_0x422b0f=_0x31234f[_0x1d5603(0xca)](_0xf0a7f8);return a3_0x506d14(Box,{'children':a3_0x24ef2c(Text,{'backgroundColor':_0x278274?_0x1d5603(0xc7):undefined,'color':_0x278274?_0x1d5603(0xd1):undefined,'children':[_0x422b0f?_0x1d5603(0xb0):_0x1d5603(0xe5),'\x20',SKILL_IDE_CONFIGS[_0x2c6da1]['name']]})},_0x1d5603(0xba)+_0x2c6da1);}),a3_0x506d14(Box,{'marginTop':0x1,'children':a3_0x506d14(Text,{'color':'gray','children':_0x163728(0xd3)})})]})]});if(_0x1f7080==='installing')return a3_0x506d14(Box,{'flexDirection':_0x163728(0xcc),'marginTop':0x1,'children':a3_0x506d14(Box,{'children':a3_0x506d14(Text,{'children':_0x163728(0xc9)})})});if(_0x1f7080===_0x163728(0xd5))return null;return null;}const MCP_IDE_CONFIGS={'cursor':{'name':'Cursor'},'claude':{'name':'Claude\x20Code'}};
@@ -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
+ function a4_0xeed7(_0x42c98a,_0x526b5a){_0x42c98a=_0x42c98a-0x1cd;const _0x2539b1=a4_0x2539();let _0xeed759=_0x2539b1[_0x42c98a];return _0xeed759;}const a4_0x2b96aa=a4_0xeed7;(function(_0x4098e8,_0x638b9c){const _0x4f3ea0=a4_0xeed7,_0x5d3740=_0x4098e8();while(!![]){try{const _0x1c8679=parseInt(_0x4f3ea0(0x1e2))/0x1*(-parseInt(_0x4f3ea0(0x20e))/0x2)+-parseInt(_0x4f3ea0(0x1da))/0x3+parseInt(_0x4f3ea0(0x1d5))/0x4+-parseInt(_0x4f3ea0(0x20f))/0x5*(parseInt(_0x4f3ea0(0x214))/0x6)+parseInt(_0x4f3ea0(0x1dc))/0x7*(-parseInt(_0x4f3ea0(0x1f2))/0x8)+parseInt(_0x4f3ea0(0x211))/0x9+-parseInt(_0x4f3ea0(0x209))/0xa*(-parseInt(_0x4f3ea0(0x1d9))/0xb);if(_0x1c8679===_0x638b9c)break;else _0x5d3740['push'](_0x5d3740['shift']());}catch(_0x5a982f){_0x5d3740['push'](_0x5d3740['shift']());}}}(a4_0x2539,0xdebf3));function a4_0x2539(){const _0x17607b=['agents.md','object','需要先配置\x20appcode','app','toISOString','\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22','\x20\x20\x20\x20\x22','\x20技能包安装失败','395824hbqALK','创建\x20Cursor\x20Rules\x20文件','\x20\x20\x22mcpServers\x22:\x20{','.lovrabet/skill/.shared','11ooHJKN','2936868tNZfcR','parse','8932070vRLiva','env','stringify','@lovrabet/dataset-mcp-server@latest','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_ENV\x22:\x20\x22','创建\x20agents.md\x20文件','1LGOVLf','mcp-install','Cursor','已写入\x20.cursor/mcp.json','skill-install','共享技能文件复制失败','lovrabet_rules.mdc','配置信息:','error','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','请手动执行:\x20','join','\x20\x20}','\x20\x20\x20\x20}','cwd','claude','8SfrKpG','node:fs','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','创建技能包\x20manifest','.cursor','online','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_APP_CODE\x22:\x20\x22','map','info','不支持的\x20MCP\x20IDE:\x20','log','LOVRABET_ENV','success','claude\x20mcp\x20add\x20','mcp.json','appcode','复制\x20Cursor\x20Rules\x20文件失败','\x22:\x20{','.shared','\x20技能包安装成功','\x20-e\x20LOVRABET_APP_CODE=','共享技能文件复制成功','message','47209330jkbBnN','已创建\x20','Claude\x20Code','Cursor\x20MCP\x20配置成功','.lovrabet','3103988PzoWvO','1865hzypKk','isDirectory','4838805xWJrZm','lovrabet-dataset','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','10266tgzBGl','utf-8','mcpServers','rules','manual','\x20\x20\x20\x20\x20\x20\x22args\x22:\x20['];a4_0x2539=function(){return _0x17607b;};return a4_0x2539();}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=a4_0x2b96aa(0x212),MCP_COMMAND='npx',MCP_ARGS=[a4_0x2b96aa(0x1df)];export function buildEnvConfig(_0x50aa8e,_0x5a4ed4){const _0x44c9fb=a4_0x2b96aa,_0x5e149a={'LOVRABET_APP_CODE':String(_0x50aa8e)};return _0x5a4ed4!==_0x44c9fb(0x1f7)&&(_0x5e149a[_0x44c9fb(0x1fd)]=String(_0x5a4ed4)),_0x5e149a;}export async function configureCursorMcp(_0x96ee34){const _0x4eb155=a4_0x2b96aa,_0x2caeb4=_0x96ee34||process['cwd'](),_0x5f4d93=readConfig(_0x2caeb4),_0x492a7c=_0x5f4d93[_0x4eb155(0x201)]||_0x5f4d93['app'],_0x5aeb9e=_0x5f4d93['env']||_0x4eb155(0x1f7);if(!_0x492a7c)return{'ide':'Cursor','status':_0x4eb155(0x1ea),'message':'需要先配置\x20appcode'};const _0xc3d31f=buildEnvConfig(_0x492a7c,_0x5aeb9e),_0x4c95e8={'command':MCP_COMMAND,'args':MCP_ARGS,'env':_0xc3d31f},_0x397d7b=join(_0x2caeb4,'.cursor',_0x4eb155(0x200)),_0x2e3cdf=join(_0x2caeb4,_0x4eb155(0x1f6));try{!existsSync(_0x2e3cdf)&&mkdirSync(_0x2e3cdf,{'recursive':!![]});let _0x1bd2b0={'mcpServers':{}};if(existsSync(_0x397d7b)){const _0x303949=readFileSync(_0x397d7b,_0x4eb155(0x215));_0x1bd2b0=JSON[_0x4eb155(0x1db)](_0x303949);}return(!_0x1bd2b0[_0x4eb155(0x216)]||typeof _0x1bd2b0[_0x4eb155(0x216)]!==_0x4eb155(0x1ce))&&(_0x1bd2b0[_0x4eb155(0x216)]={}),_0x1bd2b0['mcpServers'][MCP_SERVER_NAME]=_0x4c95e8,writeFileSync(_0x397d7b,JSON[_0x4eb155(0x1de)](_0x1bd2b0,null,0x2),_0x4eb155(0x215)),logger[_0x4eb155(0x1fa)](_0x4eb155(0x1e3),_0x4eb155(0x20c),{'appcode':_0x492a7c,'env':_0x5aeb9e,'path':_0x397d7b}),await copyCursorRules(_0x2e3cdf),{'ide':_0x4eb155(0x1e4),'status':_0x4eb155(0x1fe),'message':_0x4eb155(0x1e5)};}catch(_0x2f05c8){return logger['error']('mcp-install','Cursor\x20MCP\x20配置失败',{'error':_0x2f05c8 instanceof Error?_0x2f05c8[_0x4eb155(0x208)]:String(_0x2f05c8)}),{'ide':_0x4eb155(0x1e4),'status':'error','message':_0x2f05c8 instanceof Error?_0x2f05c8['message']:String(_0x2f05c8)};}}export async function configureClaudeMcp(_0x15ff0f){const _0x2559be=a4_0x2b96aa,_0x50cfc0=_0x15ff0f||process[_0x2559be(0x1f0)](),_0x23b0c1=readConfig(_0x50cfc0),_0x4820f7=_0x23b0c1[_0x2559be(0x201)]||_0x23b0c1[_0x2559be(0x1d0)],_0x43c50e=_0x23b0c1['env']||_0x2559be(0x1f7);if(!_0x4820f7)return{'ide':_0x2559be(0x20b),'status':'error','message':_0x2559be(0x1cf)};let _0x25fe0e=_0x2559be(0x1ff)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+MCP_ARGS[_0x2559be(0x1ed)]('\x20')+_0x2559be(0x206)+_0x4820f7;return _0x43c50e!=='online'&&(_0x25fe0e+='\x20-e\x20LOVRABET_ENV='+_0x43c50e),await copyAgentsMd(_0x50cfc0),logger[_0x2559be(0x1fa)](_0x2559be(0x1e3),'Claude\x20Code\x20MCP\x20命令已生成',{'command':_0x25fe0e,'appcode':_0x4820f7,'env':_0x43c50e}),console[_0x2559be(0x1fc)](_0x2559be(0x213)),console[_0x2559be(0x1fc)]('\x20\x20'+_0x25fe0e+'\x0a'),console[_0x2559be(0x1fc)](_0x2559be(0x1e9)),console[_0x2559be(0x1fc)]('\x20\x20AppCode:\x20'+_0x4820f7),_0x43c50e!==_0x2559be(0x1f7)&&console[_0x2559be(0x1fc)]('\x20\x20环境:\x20'+_0x43c50e),console[_0x2559be(0x1fc)](_0x2559be(0x1eb)),{'ide':'Claude\x20Code','status':'manual','message':_0x2559be(0x1ec)+_0x25fe0e};}export async function showOtherGuide(_0x2fba84){const _0x8c1cb7=a4_0x2b96aa,_0x503b2a=_0x2fba84||process[_0x8c1cb7(0x1f0)](),_0x4fb2ce=readConfig(_0x503b2a),_0x26ee04=_0x4fb2ce[_0x8c1cb7(0x201)]||_0x4fb2ce[_0x8c1cb7(0x1d0)],_0x17b3f9=_0x4fb2ce[_0x8c1cb7(0x1dd)]||_0x8c1cb7(0x1f7);if(!_0x26ee04)return{'ide':'其他','status':'error','message':'需要先配置\x20appcode'};return console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1f4)),console[_0x8c1cb7(0x1fc)]('{'),console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1d7)),console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1d3)+MCP_SERVER_NAME+_0x8c1cb7(0x203)),console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1d2)+MCP_COMMAND+'\x22,'),console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x219)+MCP_ARGS[_0x8c1cb7(0x1f9)](_0x122f54=>'\x22'+_0x122f54+'\x22')[_0x8c1cb7(0x1ed)](',\x20')+'],'),console[_0x8c1cb7(0x1fc)]('\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{'),console['log'](_0x8c1cb7(0x1f8)+_0x26ee04+'\x22,'),_0x17b3f9!==_0x8c1cb7(0x1f7)&&console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1e0)+_0x17b3f9+'\x22,'),console[_0x8c1cb7(0x1fc)]('\x20\x20\x20\x20\x20\x20}'),console[_0x8c1cb7(0x1fc)](_0x8c1cb7(0x1ef)),console['log'](_0x8c1cb7(0x1ee)),console[_0x8c1cb7(0x1fc)]('}\x0a'),logger[_0x8c1cb7(0x1fa)]('mcp-install','其他\x20IDE\x20配置指引已显示',{'appcode':_0x26ee04,'env':_0x17b3f9}),{'ide':'其他','status':_0x8c1cb7(0x218),'message':'配置指引已显示'};}export async function configureMcp(_0x55a515,_0x1276f5){const _0x304ef1=a4_0x2b96aa;switch(_0x55a515){case'cursor':return await configureCursorMcp(_0x1276f5);case _0x304ef1(0x1f1):return await configureClaudeMcp(_0x1276f5);default:throw new Error(_0x304ef1(0x1fb)+_0x55a515);}}async function copyCursorRules(_0x259722){const _0x341ea3=a4_0x2b96aa,_0x7c2f89=join(_0x259722,_0x341ea3(0x217)),_0x4ecac0=join(_0x7c2f89,_0x341ea3(0x1e8));if(existsSync(_0x4ecac0))return;try{!existsSync(_0x7c2f89)&&mkdirSync(_0x7c2f89,{'recursive':!![]});const _0x2164f0=resolve(__dirname,'../../templates/rules/lovrabet_rules.mdc.tpl');existsSync(_0x2164f0)&&(copyFileSync(_0x2164f0,_0x4ecac0),logger[_0x341ea3(0x1fa)](_0x341ea3(0x1e3),_0x341ea3(0x1d6),{'from':_0x2164f0,'to':_0x4ecac0}));}catch(_0x42be20){logger['error'](_0x341ea3(0x1e3),_0x341ea3(0x202),{'error':_0x42be20 instanceof Error?_0x42be20[_0x341ea3(0x208)]:String(_0x42be20)});}}async function copyAgentsMd(_0x10583c){const _0x3c3271=a4_0x2b96aa,_0x3e0c04=join(_0x10583c,_0x3c3271(0x1cd));if(existsSync(_0x3e0c04))return;try{const _0x18e832=resolve(__dirname,'../../templates/rules/lovrabet_rules.mdc.tpl');if(existsSync(_0x18e832)){const _0x111daa=readFileSync(_0x18e832,_0x3c3271(0x215));writeFileSync(_0x3e0c04,_0x111daa,_0x3c3271(0x215)),logger[_0x3c3271(0x1fa)](_0x3c3271(0x1e3),_0x3c3271(0x1e1),{'from':_0x18e832,'to':_0x3e0c04});}}catch(_0x25759b){logger['error']('mcp-install','复制\x20agents.md\x20文件失败',{'error':_0x25759b instanceof Error?_0x25759b[_0x3c3271(0x208)]:String(_0x25759b)});}}export const SKILL_IDE_CONFIGS=IDE_CONFIGS;export async function installSkill(_0x31620d,_0x56d6fc){const _0x1ba03d=a4_0x2b96aa,_0x3d2562=_0x56d6fc||process[_0x1ba03d(0x1f0)](),_0xc72d9=resolve(__dirname,'../../templates/skills'),_0x32eddb=SKILL_IDE_CONFIGS[_0x31620d];if(!_0x32eddb)return{'ide':_0x31620d,'status':'error','message':'未知的\x20IDE:\x20'+_0x31620d};const _0x35b88f=_0x32eddb['name'];try{const _0x5a2b65=await installSingleIDE(_0x31620d,_0x32eddb,_0x3d2562,_0xc72d9);return logger[_0x1ba03d(0x1fa)](_0x1ba03d(0x1e6),_0x35b88f+_0x1ba03d(0x205),{'ide':_0x31620d,'filesCount':_0x5a2b65}),{'ide':_0x35b88f,'status':_0x1ba03d(0x1fe),'message':_0x1ba03d(0x20a)+_0x5a2b65+'\x20项'};}catch(_0x772dcc){return logger[_0x1ba03d(0x1ea)]('skill-install',_0x35b88f+_0x1ba03d(0x1d4),{'error':_0x772dcc instanceof Error?_0x772dcc[_0x1ba03d(0x208)]:String(_0x772dcc)}),{'ide':_0x35b88f,'status':'error','message':_0x772dcc instanceof Error?_0x772dcc['message']:String(_0x772dcc)};}}async function copyDir(_0x1fd383,_0xf1c41c){const _0x457d1e=a4_0x2b96aa,{statSync:_0x16e9a5}=await import(_0x457d1e(0x1f3)),{readdirSync:_0x4d10bd}=await import(_0x457d1e(0x1f3)),_0x1b1c72=_0x16e9a5(_0x1fd383);if(_0x1b1c72[_0x457d1e(0x210)]()){!existsSync(_0xf1c41c)&&mkdirSync(_0xf1c41c,{'recursive':!![]});const _0x4e076b=_0x4d10bd(_0x1fd383);for(const _0x64ffd0 of _0x4e076b){await copyDir(join(_0x1fd383,_0x64ffd0),join(_0xf1c41c,_0x64ffd0));}}else copyFileSync(_0x1fd383,_0xf1c41c);}export async function copySharedSkills(_0x403049){const _0x5b0106=a4_0x2b96aa,_0x398350=_0x403049||process['cwd'](),_0x4d5877=resolve(__dirname,'../../templates/skills'),_0x4fc6e9=join(_0x4d5877,_0x5b0106(0x204)),_0x1c4d71=join(_0x398350,_0x5b0106(0x1d8));if(!existsSync(_0x4fc6e9))return![];try{return await copyDir(_0x4fc6e9,_0x1c4d71),logger['info'](_0x5b0106(0x1e6),_0x5b0106(0x207),{'path':_0x1c4d71}),!![];}catch(_0x56bcae){return logger[_0x5b0106(0x1ea)](_0x5b0106(0x1e6),_0x5b0106(0x1e7),{'error':_0x56bcae instanceof Error?_0x56bcae[_0x5b0106(0x208)]:String(_0x56bcae)}),![];}}export function createSkillManifest(_0x2b1681,_0x365eeb){const _0x19ed81=a4_0x2b96aa,_0x548e07={'version':'2.0.0','installedAt':new Date()[_0x19ed81(0x1d1)](),'platforms':_0x365eeb},_0x177454=join(_0x2b1681,'.lovrabet/skill-manifest.json'),_0x449d04=join(_0x2b1681,_0x19ed81(0x20d));!existsSync(_0x449d04)&&mkdirSync(_0x449d04,{'recursive':!![]}),writeFileSync(_0x177454,JSON[_0x19ed81(0x1de)](_0x548e07,null,0x2),_0x19ed81(0x215)),logger[_0x19ed81(0x1fa)](_0x19ed81(0x1e6),_0x19ed81(0x1f5),{'path':_0x177454});}
@@ -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(_0x337978,_0x5eec20){const _0x489de5=a5_0x4ebd,_0x56a172=_0x337978();while(!![]){try{const _0x3d0cd7=parseInt(_0x489de5(0xea))/0x1*(parseInt(_0x489de5(0x109))/0x2)+parseInt(_0x489de5(0xf2))/0x3+-parseInt(_0x489de5(0xec))/0x4*(parseInt(_0x489de5(0xd5))/0x5)+parseInt(_0x489de5(0xeb))/0x6+-parseInt(_0x489de5(0x106))/0x7+-parseInt(_0x489de5(0xfc))/0x8+parseInt(_0x489de5(0x10a))/0x9*(parseInt(_0x489de5(0xfd))/0xa);if(_0x3d0cd7===_0x5eec20)break;else _0x56a172['push'](_0x56a172['shift']());}catch(_0x2bd8ed){_0x56a172['push'](_0x56a172['shift']());}}}(a5_0xf60c,0x9dc2f));import{jsx as a5_0x4b135e,jsxs as a5_0x5dddab,Fragment as a5_0x4f8e13}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';function a5_0x4ebd(_0x1ff350,_0x3f477e){_0x1ff350=_0x1ff350-0xd2;const _0xf60cbe=a5_0xf60c();let _0x4ebd2d=_0xf60cbe[_0x1ff350];return _0x4ebd2d;}import{fetchModelList}from'./fetch-model-list.js';import{generateDatasetDocs}from'./api-doc.js';function a5_0xf60c(){const _0x5f45c5=['1760274mYZIbi','正在生成\x20','map','💡\x20请使用\x20','datasetName','使用指定的应用AppCode:\x20','cwd','online','filter','gray','9440280DYVFxe','10jCYzzl','指定的数据集代码都不存在:\x20','\x20个数据集','env','error','string','\x20重新登录后再试','datasetCode','未提供应用AppCode,且配置中也没有默认值','8875034WDURnZ','log','\x20-\x20','173474sHCmPh','19072017SeIoZC','green','文档生成失败:\x20','success','includes','yellow','53830tqVaqa','filePath','cyan','*\x20输出目录:\x20','\x20个数据集的文档...','length','√\x20文档生成完成!成功\x20','lovrabet\x20auth','使用配置的应用AppCode:\x20','未找到任何数据集','red','dim','join','.md\x20(','🚀\x20','⚠️\x20以下数据集生成失败:','正在获取数据集列表...','\x1b[0m','文档生成完成','column','*\x20共处理\x20','14cHqlNl','1632186yNdAoN','408mKEBTk','\x20个匹配的数据集\x1b[0m','message','api-doc',',\x20失败\x20','\x1b[90m*\x20从\x20'];a5_0xf60c=function(){return _0x5f45c5;};return a5_0xf60c();}import{logger}from'../utils/logger.js';export const ApiDocUI=({appCode:_0x12b587,env:_0x10c8c6,output:_0x26164b,extraParams:_0x113f93,datasetCodes:_0x5aadb3})=>{const _0x48fefd=a5_0x4ebd,{exit:_0x17e503}=useApp(),[_0x214d33,_0x4eecf8]=useState(![]),[_0x5a088e,_0x1d57f5]=useState(''),[_0x2f41a4,_0x27176e]=useState(![]),[_0x4fbb13,_0x8efebd]=useState(null),[_0x1360d3,_0x10403a]=useState(null),[_0x57aac9,_0x32482b]=useState(0x0),_0x376bdf=readConfig(),_0x53db49=getConfigAppCode(),_0x380908=_0x12b587||_0x53db49,_0xab51b4=typeof _0x376bdf?.[_0x48fefd(0x100)]===_0x48fefd(0x102)?_0x376bdf['env']:undefined,_0x4f8eb6=_0x10c8c6||_0xab51b4||_0x48fefd(0xf9);initEnv(_0x4f8eb6);const _0x21120f=_0x26164b||'./docs',_0x593722=_0x12b587?_0x48fefd(0xf7)+_0x380908:_0x48fefd(0xdd)+_0x380908;useEffect(()=>{_0x4eecf8(!![]),_0x590b3e();},[]),useEffect(()=>{(_0x2f41a4||_0x4fbb13)&&_0x17e503();},[_0x2f41a4,_0x4fbb13,_0x17e503]);async function _0x590b3e(){const _0x2b1ac4=_0x48fefd;if(!_0x380908){_0x8efebd(_0x2b1ac4(0x105));return;}try{logger['setLogPath'](process[_0x2b1ac4(0xf8)]()),_0x1d57f5(_0x2b1ac4(0xe5));const {configArray:_0x1c4f1c}=await fetchModelList(_0x380908);_0x32482b(_0x1c4f1c[_0x2b1ac4(0xda)]);if(_0x1c4f1c[_0x2b1ac4(0xda)]===0x0){_0x8efebd(_0x2b1ac4(0xde));return;}let _0x2b5fda=_0x1c4f1c;if(_0x5aadb3&&_0x5aadb3['length']>0x0){_0x2b5fda=_0x1c4f1c['filter'](_0x592676=>_0x5aadb3[_0x2b1ac4(0xd3)](_0x592676[_0x2b1ac4(0x104)]));const _0x3fefe5=_0x2b5fda[_0x2b1ac4(0xf4)](_0xaa953a=>_0xaa953a[_0x2b1ac4(0x104)]),_0x2c2b11=_0x5aadb3[_0x2b1ac4(0xfa)](_0x182e7a=>!_0x3fefe5['includes'](_0x182e7a));_0x2c2b11['length']>0x0&&console[_0x2b1ac4(0x107)]('\x1b[33m!\x20以下数据集代码不存在:\x20'+_0x2c2b11[_0x2b1ac4(0xe1)](',\x20')+_0x2b1ac4(0xe6));if(_0x2b5fda[_0x2b1ac4(0xda)]===0x0){_0x8efebd(_0x2b1ac4(0xfe)+_0x5aadb3[_0x2b1ac4(0xe1)](',\x20'));return;}console[_0x2b1ac4(0x107)](_0x2b1ac4(0xf1)+_0x1c4f1c['length']+'\x20个数据集中筛选出\x20'+_0x2b5fda[_0x2b1ac4(0xda)]+_0x2b1ac4(0xed));}_0x1d57f5(_0x2b1ac4(0xf3)+_0x2b5fda[_0x2b1ac4(0xda)]+_0x2b1ac4(0xd9));const _0x3d761a=await generateDatasetDocs(_0x2b5fda,_0x380908,_0x21120f,(_0x1895e8,_0x2b29fe,_0x11c453)=>{const _0x2236b4=_0x2b1ac4;_0x1d57f5(_0x2236b4(0xf3)+_0x11c453+_0x2236b4(0xe2)+_0x1895e8+'/'+_0x2b29fe+')');},_0x113f93);_0x10403a(_0x3d761a),_0x27176e(!![]);const _0x5b8140=_0x3d761a[_0x2b1ac4(0xfa)](_0x56ca34=>_0x56ca34[_0x2b1ac4(0xd2)])[_0x2b1ac4(0xda)],_0x56a414=_0x3d761a[_0x2b1ac4(0xfa)](_0x5bcee3=>!_0x5bcee3[_0x2b1ac4(0xd2)])['length'];logger[_0x2b1ac4(0xd2)](_0x2b1ac4(0xef),_0x2b1ac4(0xe7),undefined,{'totalCount':_0x3d761a[_0x2b1ac4(0xda)],'successCount':_0x5b8140,'failCount':_0x56a414,'outputDir':_0x21120f});}catch(_0x717791){const _0x337c33=_0x717791 instanceof Error?_0x717791[_0x2b1ac4(0xee)]:String(_0x717791);logger[_0x2b1ac4(0x101)]('api-doc','文档生成失败:\x20'+_0x337c33,{'appCode':_0x380908,'outputDir':_0x21120f}),_0x8efebd(_0x2b1ac4(0x10c)+_0x337c33);}finally{_0x4eecf8(![]);}}const _0xcd464b=_0x1360d3?.[_0x48fefd(0xfa)](_0x427868=>_0x427868[_0x48fefd(0xd2)])['length']||0x0,_0x1023db=_0x1360d3?.[_0x48fefd(0xfa)](_0x66fe52=>!_0x66fe52[_0x48fefd(0xd2)])[_0x48fefd(0xda)]||0x0;return a5_0x5dddab(Box,{'flexDirection':_0x48fefd(0xe8),'children':[(_0x214d33||_0x2f41a4)&&a5_0x5dddab(Box,{'children':[a5_0x4b135e(Text,{'color':_0x48fefd(0xfb),'children':'*\x20'}),a5_0x4b135e(Text,{'color':_0x12b587?'white':_0x48fefd(0xe0),'children':_0x593722})]}),_0x214d33&&a5_0x4b135e(Box,{'children':a5_0x5dddab(Text,{'children':[_0x48fefd(0xe3),_0x5a088e,'\x20(环境:\x20',_0x4f8eb6,')']})}),_0x2f41a4&&_0x1360d3&&a5_0x5dddab(Box,{'flexDirection':_0x48fefd(0xe8),'children':[a5_0x4b135e(Box,{'children':a5_0x5dddab(Text,{'color':_0x48fefd(0x10b),'children':[_0x48fefd(0xdb),_0xcd464b,'\x20个',_0x1023db>0x0&&_0x48fefd(0xf0)+_0x1023db+'\x20个']})}),a5_0x4b135e(Box,{'marginTop':0x1,'children':a5_0x5dddab(Text,{'color':'gray','children':[_0x48fefd(0xe9),_0x57aac9,_0x48fefd(0xff)]})}),a5_0x5dddab(Box,{'marginTop':0x1,'children':[a5_0x4b135e(Text,{'color':_0x48fefd(0xfb),'children':_0x48fefd(0xd8)}),a5_0x4b135e(Text,{'color':'cyan','children':_0x21120f})]}),_0xcd464b>0x0&&a5_0x5dddab(a5_0x4f8e13,{'children':[a5_0x4b135e(Box,{'marginTop':0x1,'children':a5_0x4b135e(Text,{'color':_0x48fefd(0xfb),'children':'*\x20生成的文档文件:'})}),_0x1360d3[_0x48fefd(0xfa)](_0x2f495f=>_0x2f495f[_0x48fefd(0xd2)])[_0x48fefd(0xf4)]((_0x30e3e1,_0x4a275a)=>a5_0x5dddab(Box,{'marginLeft':0x2,'children':[a5_0x5dddab(Text,{'color':_0x48fefd(0xd7),'children':['•\x20',_0x30e3e1[_0x48fefd(0xd6)]]}),a5_0x5dddab(Text,{'color':_0x48fefd(0xe0),'children':[_0x48fefd(0x108),_0x30e3e1[_0x48fefd(0xf6)]]})]},_0x4a275a))]}),_0x1023db>0x0&&a5_0x5dddab(a5_0x4f8e13,{'children':[a5_0x4b135e(Box,{'marginTop':0x1,'children':a5_0x4b135e(Text,{'color':'yellow','children':_0x48fefd(0xe4)})}),_0x1360d3['filter'](_0x5395a5=>!_0x5395a5[_0x48fefd(0xd2)])[_0x48fefd(0xf4)]((_0x12bf94,_0x358908)=>a5_0x5dddab(Box,{'marginLeft':0x2,'flexDirection':_0x48fefd(0xe8),'children':[a5_0x5dddab(Text,{'color':_0x48fefd(0xdf),'children':['•\x20',_0x12bf94['datasetName'],'\x20(',_0x12bf94[_0x48fefd(0x104)],')']}),_0x12bf94[_0x48fefd(0x101)]&&a5_0x4b135e(Box,{'marginLeft':0x2,'children':a5_0x4b135e(Text,{'color':_0x48fefd(0xe0),'children':_0x12bf94[_0x48fefd(0x101)]})})]},_0x358908))]})]}),_0x4fbb13&&a5_0x5dddab(Box,{'flexDirection':'column','children':[a5_0x4b135e(Box,{'children':a5_0x5dddab(Text,{'color':_0x48fefd(0xdf),'children':['❌\x20',_0x4fbb13]})}),_0x4fbb13['includes']('登录')&&a5_0x5dddab(Box,{'marginTop':0x1,'children':[a5_0x4b135e(Text,{'color':'yellow','children':_0x48fefd(0xf5)}),a5_0x4b135e(Text,{'color':_0x48fefd(0xd7),'children':_0x48fefd(0xdc)}),a5_0x4b135e(Text,{'color':_0x48fefd(0xd4),'children':_0x48fefd(0x103)})]})]})]});};
@@ -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
+ const a6_0x392258=a6_0x4d94;(function(_0x5138c9,_0x15357d){const _0x10263d=a6_0x4d94,_0x357c7d=_0x5138c9();while(!![]){try{const _0x5c5431=-parseInt(_0x10263d(0x128))/0x1*(parseInt(_0x10263d(0x111))/0x2)+-parseInt(_0x10263d(0x112))/0x3+parseInt(_0x10263d(0x10f))/0x4+-parseInt(_0x10263d(0x129))/0x5+parseInt(_0x10263d(0x11a))/0x6*(-parseInt(_0x10263d(0x12a))/0x7)+parseInt(_0x10263d(0x10c))/0x8+parseInt(_0x10263d(0x11b))/0x9;if(_0x5c5431===_0x15357d)break;else _0x357c7d['push'](_0x357c7d['shift']());}catch(_0x5d94be){_0x357c7d['push'](_0x357c7d['shift']());}}}(a6_0x31ae,0x45467));import{mkdirSync,writeFileSync}from'node:fs';function a6_0x4d94(_0x44e81c,_0x2f2f28){_0x44e81c=_0x44e81c-0x108;const _0x31ae6c=a6_0x31ae();let _0x4d94a3=_0x31ae6c[_0x44e81c];return _0x4d94a3;}import a6_0x5c4e91 from'node:path';import{getCookie}from'../auth/get-cookie.js';import{getApiDomain}from'../constant/domain.js';import{logger}from'../utils/logger.js';function a6_0x31ae(){const _0x4aa21d=['tableName','markdown','application/json','datasetCode','./docs','data','push','join','6077pFdZKu','1940200ljPcTq','14JmaGYP','.md','length',']\x20正在生成:\x20','):缺少\x20data.markdown\x20字段','log','status','name','utf8','✗\x20失败:\x20','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','),HTTP状态码:\x20','.md\x20(','374360BrflHn','获取文档失败\x20(','生成文档成功:\x20','1212412WACNmz','error','26CdokJb','888378Qbnexk','POST','stringify','响应数据格式错误\x20(','生成文档失败:\x20','.md\x20-\x20','message','api-doc','160194wYBjSI','6753762YWxioG','success','text','等待\x203\x20秒...\x0a','\x0a共有\x20'];a6_0x31ae=function(){return _0x4aa21d;};return a6_0x31ae();}export async function fetchDatasetDoc(_0xa9d65d){const _0x5979ef=a6_0x4d94,{appCode:_0x3b1954,datasetCode:_0x39d667,datasetId:_0x2b0923,extraParams:_0x3a9777}=_0xa9d65d,_0xa8468b=getApiDomain(),_0xa6b4a6=_0xa8468b+'/api/node-toolbox/api-doc-generator',_0x3a7654={'appCode':_0x3b1954,'datasetCode':_0x39d667,'datasetId':_0x2b0923,..._0x3a9777||{}},_0x13e5cb=await fetch(_0xa6b4a6,{'method':_0x5979ef(0x113),'headers':{'Content-Type':_0x5979ef(0x122),'Cookie':getCookie()},'body':JSON[_0x5979ef(0x114)](_0x3a7654)});if(!_0x13e5cb['ok']){if(_0x13e5cb['status']===0x191)throw new Error(_0x5979ef(0x109));let _0x3f5c91='';try{_0x3f5c91=await _0x13e5cb[_0x5979ef(0x11d)]();}catch(_0x3d8a44){}throw new Error(_0x5979ef(0x10d)+_0x39d667+_0x5979ef(0x10a)+_0x13e5cb[_0x5979ef(0x130)]+(_0x3f5c91?'\x0a'+_0x3f5c91:''));}const _0x3ce53d=await _0x13e5cb['json']();if(!_0x3ce53d[_0x5979ef(0x125)]||typeof _0x3ce53d[_0x5979ef(0x125)][_0x5979ef(0x121)]!=='string')throw new Error(_0x5979ef(0x115)+_0x39d667+_0x5979ef(0x12e));return _0x3ce53d[_0x5979ef(0x125)][_0x5979ef(0x121)];}function delay(_0x40be66){return new Promise(_0x37bf4c=>setTimeout(_0x37bf4c,_0x40be66));}export async function generateDatasetDocs(_0x31cf8a,_0x2d58e2,_0x5eeb6b=a6_0x392258(0x124),_0xa58394,_0x2d4b58){const _0xcf9959=a6_0x392258;mkdirSync(_0x5eeb6b,{'recursive':!![]});const _0x949754=[],_0x58057b=_0x31cf8a[_0xcf9959(0x12c)];console[_0xcf9959(0x12f)](_0xcf9959(0x11f)+_0x58057b+'\x20个数据集需要生成文档\x0a');for(let _0x2ffe50=0x0;_0x2ffe50<_0x31cf8a[_0xcf9959(0x12c)];_0x2ffe50++){const _0xee8579=_0x31cf8a[_0x2ffe50],_0x2f1c4e=_0x2ffe50+0x1,_0x39b35f=_0xee8579[_0xcf9959(0x120)];try{console[_0xcf9959(0x12f)]('['+_0x2f1c4e+'/'+_0x58057b+_0xcf9959(0x12d)+_0x39b35f+_0xcf9959(0x10b)+_0xee8579['name']+')');_0xa58394&&_0xa58394(_0x2f1c4e,_0x58057b,_0x39b35f);const _0x498039=await fetchDatasetDoc({'appCode':_0x2d58e2,'datasetCode':_0xee8579[_0xcf9959(0x123)],'datasetId':_0xee8579['id'],'enableAI':![],'extraParams':_0x2d4b58}),_0x2c832c=a6_0x5c4e91[_0xcf9959(0x127)](_0x5eeb6b,_0x39b35f+_0xcf9959(0x12b));writeFileSync(_0x2c832c,_0x498039,{'encoding':_0xcf9959(0x132)}),console[_0xcf9959(0x12f)]('✓\x20成功生成:\x20'+_0x39b35f+'.md'),logger[_0xcf9959(0x11c)]('api-doc',_0xcf9959(0x10e)+_0x39b35f,undefined,{'datasetCode':_0xee8579[_0xcf9959(0x123)],'datasetName':_0xee8579[_0xcf9959(0x131)],'filePath':_0x2c832c,'progress':_0x2f1c4e+'/'+_0x58057b}),_0x949754['push']({'datasetCode':_0xee8579[_0xcf9959(0x123)],'datasetName':_0xee8579[_0xcf9959(0x131)],'filePath':_0x2c832c,'success':!![]}),_0x2f1c4e<_0x58057b&&await delay(0x1388);}catch(_0x55f464){const _0x5ab636=_0x55f464 instanceof Error?_0x55f464[_0xcf9959(0x118)]:String(_0x55f464);console[_0xcf9959(0x12f)](_0xcf9959(0x108)+_0x39b35f+_0xcf9959(0x117)+_0x5ab636+'\x0a'),logger[_0xcf9959(0x110)](_0xcf9959(0x119),_0xcf9959(0x116)+_0xee8579['datasetCode'],{'datasetCode':_0xee8579[_0xcf9959(0x123)],'datasetName':_0xee8579[_0xcf9959(0x131)],'error':_0x5ab636,'progress':_0x2f1c4e+'/'+_0x58057b}),_0x949754[_0xcf9959(0x126)]({'datasetCode':_0xee8579[_0xcf9959(0x123)],'datasetName':_0xee8579[_0xcf9959(0x131)],'filePath':'','success':![],'error':_0x5ab636}),_0x2f1c4e<_0x58057b&&(console[_0xcf9959(0x12f)](_0xcf9959(0x11e)),await delay(0xbb8));}}return _0x949754;}
@@ -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(_0x3c68f3,_0x472417){const _0x5d6a0a=a7_0x4b9e,_0xa15c5c=_0x3c68f3();while(!![]){try{const _0x9fb6b8=-parseInt(_0x5d6a0a(0x11f))/0x1*(parseInt(_0x5d6a0a(0x129))/0x2)+-parseInt(_0x5d6a0a(0x135))/0x3+-parseInt(_0x5d6a0a(0x10b))/0x4*(-parseInt(_0x5d6a0a(0x130))/0x5)+-parseInt(_0x5d6a0a(0x131))/0x6+parseInt(_0x5d6a0a(0x12d))/0x7+-parseInt(_0x5d6a0a(0x13f))/0x8*(-parseInt(_0x5d6a0a(0x13a))/0x9)+parseInt(_0x5d6a0a(0x11a))/0xa;if(_0x9fb6b8===_0x472417)break;else _0xa15c5c['push'](_0xa15c5c['shift']());}catch(_0x5c47e3){_0xa15c5c['push'](_0xa15c5c['shift']());}}}(a7_0x36b9,0x9e747));import{jsx as a7_0x397fae,jsxs as a7_0x4f1b34}from'react/jsx-runtime';import{useEffect,useState}from'react';function a7_0x4b9e(_0x73d489,_0x321a7e){_0x73d489=_0x73d489-0x10a;const _0x36b9bb=a7_0x36b9();let _0x4b9e92=_0x36b9bb[_0x73d489];return _0x4b9e92;}import{Box,Text,useApp}from'ink';import{readConfig,getConfigAppCode}from'../utils/config.js';import{initEnv}from'../constant/env.js';function a7_0x36b9(){const _0x508617=['includes','slice','datasetCount','import\x20','3538azrrgs','\x20个数据集,生成','length','\x20from\x20\x27@/','💡\x20请使用\x20','modelCount','env','column','*\x20已生成文件:','online','254oHLCAV','red','lovrabet\x20auth','*\x20导入方式:','7167286wPlcfW','-client','client','64925OSYyme','4554420FtwRCN','拉取\x20API\x20配置失败:\x20','\x20-\x20客户端实例文件','endsWith','205656ilmbfe','join','api','\x20重新登录后再试','originalCount','2357325Dhztoq','√\x20成功拉取\x20','duplicateCount','cyan','setLogPath','16lBukVc','replace','error','8gMGlEK','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','gray','dim','.ts','\x20个模型)','\x20个模型','message','\x20个,过滤重复','split','yellow','api-pull','green','./src/api/','使用指定的应用AppCode:\x20','3522610jPakgM'];a7_0x36b9=function(){return _0x508617;};return a7_0x36b9();}import{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';import{fetchModelList}from'./fetch-model-list.js';export const ApiPullUI=({appCode:_0x11ffc6,env:_0xcd7e78,output:_0xfc8f13})=>{const _0x29519a=a7_0x4b9e,{exit:_0x5a6105}=useApp(),[_0x236db5,_0x598b73]=useState(![]),[_0x38ae33,_0x19bbbf]=useState(![]),[_0x5083fb,_0x241d16]=useState(null),[_0x213aee,_0x1d7ee6]=useState(null),_0x5dff5c=readConfig(),_0x30c975=getConfigAppCode(),_0x2afbde=_0x11ffc6||_0x30c975,_0x52482a=typeof _0x5dff5c?.[_0x29519a(0x125)]==='string'?_0x5dff5c[_0x29519a(0x125)]:undefined,_0x352c19=_0xcd7e78||_0x52482a||_0x29519a(0x128);initEnv(_0x352c19);const _0x14c60d=_0xfc8f13||_0x29519a(0x118),_0x3cc964=_0x11ffc6&&_0x11ffc6[_0x29519a(0x11b)]('-')?_0x11ffc6[_0x29519a(0x114)]('-')[_0x29519a(0x11c)](0x1)[_0x29519a(0x136)]('-'):'',_0x136d2e=_0x11ffc6?_0x29519a(0x119)+_0x2afbde:'使用配置的应用AppCode:\x20'+_0x2afbde,_0x2e7f33=_0x3cc964?_0x3cc964+'-api':'api',_0x4b23ab=_0x3cc964?_0x3cc964+_0x29519a(0x12e):_0x29519a(0x12f);useEffect(()=>{_0x598b73(!![]),_0x306b6d();},[]),useEffect(()=>{(_0x38ae33||_0x5083fb)&&_0x5a6105();},[_0x38ae33,_0x5083fb,_0x5a6105]);async function _0x306b6d(){const _0xe374e2=_0x29519a;if(!_0x2afbde){_0x241d16('未提供应用AppCode,且配置中也没有默认值');return;}try{logger[_0xe374e2(0x13e)](process['cwd']());const {configArray:_0x61b281}=await fetchModelList(_0x2afbde),_0x3390c1=_0x61b281[_0xe374e2(0x121)],_0x4e541a=!_0x11ffc6,_0x55e15a=await generateApiFile(_0x61b281,_0x3cc964,_0x2afbde,_0x4e541a,_0x352c19,_0x14c60d),_0x522b42=_0x14c60d[_0xe374e2(0x134)]('/')?_0x14c60d:_0x14c60d+'/';_0x1d7ee6({'api':''+_0x522b42+_0x2e7f33+_0xe374e2(0x10f),'client':''+_0x522b42+_0x4b23ab+_0xe374e2(0x10f),'modelCount':_0x55e15a[_0xe374e2(0x124)],'datasetCount':_0x3390c1,'originalCount':_0x3390c1,'duplicateCount':0x0}),_0x19bbbf(!![]);}catch(_0x34d137){const _0x479094=_0x34d137 instanceof Error?_0x34d137[_0xe374e2(0x112)]:String(_0x34d137);logger[_0xe374e2(0x10a)](_0xe374e2(0x116),_0xe374e2(0x132)+_0x479094,{'appCode':_0x2afbde,'error':_0x479094}),_0x241d16('拉取\x20API\x20配置失败:\x20'+_0x479094);}finally{_0x598b73(![]);}}return a7_0x4f1b34(Box,{'flexDirection':'column','children':[(_0x236db5||_0x38ae33)&&a7_0x4f1b34(Box,{'children':[a7_0x397fae(Text,{'color':_0x29519a(0x10d),'children':'*\x20'}),a7_0x397fae(Text,{'color':_0x11ffc6?'white':_0x29519a(0x10e),'children':_0x136d2e})]}),_0x236db5&&a7_0x397fae(Box,{'children':a7_0x4f1b34(Text,{'children':[_0x29519a(0x10c),_0x352c19,')']})}),_0x38ae33&&_0x213aee&&a7_0x4f1b34(Box,{'flexDirection':'column','children':[a7_0x397fae(Box,{'children':a7_0x4f1b34(Text,{'color':_0x29519a(0x117),'children':[_0x29519a(0x13b),_0x213aee[_0x29519a(0x11d)],_0x29519a(0x120),'\x20',_0x213aee[_0x29519a(0x124)],_0x29519a(0x111)]})}),_0x213aee['duplicateCount']>0x0&&a7_0x397fae(Box,{'marginTop':0x1,'children':a7_0x4f1b34(Text,{'color':_0x29519a(0x115),'children':['!\x20原始数据集\x20',_0x213aee[_0x29519a(0x139)],_0x29519a(0x113),'\x20',_0x213aee[_0x29519a(0x13c)],'\x20个']})}),a7_0x397fae(Box,{'marginTop':0x1,'children':a7_0x397fae(Text,{'color':'gray','children':_0x29519a(0x127)})}),a7_0x4f1b34(Box,{'marginLeft':0x2,'children':[a7_0x4f1b34(Text,{'color':'cyan','children':['•\x20',_0x213aee[_0x29519a(0x137)]]}),a7_0x4f1b34(Text,{'color':_0x29519a(0x10e),'children':['\x20','-\x20模型配置文件\x20(',_0x213aee[_0x29519a(0x124)],_0x29519a(0x110)]})]}),a7_0x4f1b34(Box,{'marginLeft':0x2,'children':[a7_0x4f1b34(Text,{'color':_0x29519a(0x13d),'children':['•\x20',_0x213aee[_0x29519a(0x12f)]]}),a7_0x397fae(Text,{'color':_0x29519a(0x10e),'children':_0x29519a(0x133)})]}),a7_0x397fae(Box,{'marginTop':0x1,'children':a7_0x397fae(Text,{'color':_0x29519a(0x10d),'children':_0x29519a(0x12c)})}),a7_0x397fae(Box,{'marginLeft':0x2,'children':a7_0x4f1b34(Text,{'color':_0x29519a(0x115),'children':[_0x29519a(0x11e),'{\x20lovrabetClient\x20}',_0x29519a(0x122),_0x213aee['client'][_0x29519a(0x140)](/^\.\//,'')[_0x29519a(0x140)](_0x29519a(0x10f),''),'\x27']})})]}),_0x5083fb&&a7_0x4f1b34(Box,{'flexDirection':_0x29519a(0x126),'children':[a7_0x397fae(Box,{'children':a7_0x4f1b34(Text,{'color':_0x29519a(0x12a),'children':['❌\x20',_0x5083fb]})}),_0x5083fb['includes']('登录')&&a7_0x4f1b34(Box,{'marginTop':0x1,'children':[a7_0x397fae(Text,{'color':_0x29519a(0x115),'children':_0x29519a(0x123)}),a7_0x397fae(Text,{'color':_0x29519a(0x13d),'children':_0x29519a(0x12b)}),a7_0x397fae(Text,{'color':'yellow','children':_0x29519a(0x138)})]})]})]});};
@@ -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(_0x5af833,_0x1f6528){const _0x5e61f1=a8_0x3ebe,_0x5d7b3e=_0x5af833();while(!![]){try{const _0x40c3d3=parseInt(_0x5e61f1(0xf1))/0x1+-parseInt(_0x5e61f1(0xee))/0x2+-parseInt(_0x5e61f1(0xe6))/0x3+parseInt(_0x5e61f1(0xe0))/0x4*(parseInt(_0x5e61f1(0xde))/0x5)+parseInt(_0x5e61f1(0xe5))/0x6+parseInt(_0x5e61f1(0xea))/0x7*(-parseInt(_0x5e61f1(0xdf))/0x8)+-parseInt(_0x5e61f1(0xe2))/0x9*(-parseInt(_0x5e61f1(0xf5))/0xa);if(_0x40c3d3===_0x1f6528)break;else _0x5d7b3e['push'](_0x5d7b3e['shift']());}catch(_0x5ef666){_0x5d7b3e['push'](_0x5d7b3e['shift']());}}}(a8_0x2189,0x95ef6));function a8_0x3ebe(_0x2b720f,_0x3aa9c8){_0x2b720f=_0x2b720f-0xdc;const _0x218912=a8_0x2189();let _0x3ebec1=_0x218912[_0x2b720f];return _0x3ebec1;}function a8_0x2189(){const _0x1a658b=['Unauthorized','839804fcwONe','UNAUTHORIZED','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','1040725UULdEV','success','configArray','401','30UKFmfy','获取数据集失败:\x20','message','531515KLBlbU','5125048uROIHI','8fRWuTK','未知错误','3927447eYSxxx','获取数据集失败,HTTP状态码:\x20','data','585720NzJQez','2956299fHqoNY','errorCode','count','includes','7VMKozH','fetch-model-list','status'];a8_0x2189=function(){return _0x1a658b;};return a8_0x2189();}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';export async function fetchModelList(_0x4e60fd){const _0x43c247=a8_0x3ebe,_0x15af9c=getEnv(),_0x4cd1ca=getApiDomain()+'/api/node-toolbox/dataset/model-list?appcode='+_0x4e60fd+'&otype=array';logger['info'](_0x43c247(0xeb),'正在从服务器拉取模型列表...\x20(环境:\x20'+_0x15af9c+')',{'apiUrl':_0x4cd1ca});const _0x1f8e7b=await fetch(_0x4cd1ca,{'headers':{'Cookie':getCookie()}});if(!_0x1f8e7b['ok']){if(_0x1f8e7b[_0x43c247(0xec)]===0x191)throw new Error(_0x43c247(0xf0));throw new Error(_0x43c247(0xe3)+_0x1f8e7b[_0x43c247(0xec)]);}const _0x4b3ac3=await _0x1f8e7b['json']();if(!_0x4b3ac3[_0x43c247(0xf2)]){const _0x1c180e=_0x4b3ac3['errorMsg']||_0x4b3ac3[_0x43c247(0xdd)]||_0x4b3ac3[_0x43c247(0xe4)]?.[_0x43c247(0xdd)]||_0x4b3ac3['errorMessage']||_0x4b3ac3['error']||_0x43c247(0xe1);if(_0x1c180e[_0x43c247(0xe9)]('401')||_0x1c180e['includes'](_0x43c247(0xed))||_0x1c180e['includes']('登录')||_0x1c180e[_0x43c247(0xe9)]('认证')||_0x4b3ac3[_0x43c247(0xe7)]===_0x43c247(0xef)||_0x4b3ac3['code']===0x191||_0x4b3ac3['code']===_0x43c247(0xf4))throw new Error(_0x43c247(0xf0));throw new Error(_0x43c247(0xdc)+_0x1c180e);}return{'configArray':_0x4b3ac3[_0x43c247(0xe4)][_0x43c247(0xf3)],'count':_0x4b3ac3[_0x43c247(0xe4)][_0x43c247(0xe8)]};}
@@ -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
+ const a9_0x494e27=a9_0x3f19;(function(_0x54e54f,_0x1b9a39){const _0x150eee=a9_0x3f19,_0x312923=_0x54e54f();while(!![]){try{const _0x211b04=parseInt(_0x150eee(0x11a))/0x1*(-parseInt(_0x150eee(0x12b))/0x2)+-parseInt(_0x150eee(0x11d))/0x3+-parseInt(_0x150eee(0x13a))/0x4+-parseInt(_0x150eee(0x138))/0x5+parseInt(_0x150eee(0x126))/0x6+parseInt(_0x150eee(0x11b))/0x7+-parseInt(_0x150eee(0x140))/0x8*(-parseInt(_0x150eee(0x125))/0x9);if(_0x211b04===_0x1b9a39)break;else _0x312923['push'](_0x312923['shift']());}catch(_0x841465){_0x312923['push'](_0x312923['shift']());}}}(a9_0x5312,0x69046));import a9_0x20c469 from'prettier';function a9_0x5312(){const _0x2a1e22=['string','format','244826opUBIq','1227870ajPMft','resolve','2048406EKOQzD','app','\x22\x20}','client.ts.tpl','replaceApiContent','join','CONFIG_NAMES.DEFAULT','../..','4338GwSSXC','1838682MmkrGx','datasetCode','alias','name','online','2jpWnri','dirname','env','templates/generate-api','./src/api/','length','{\x20apiConfigName:\x20\x22','key','init-api','slice','API\x20文件生成成功!','typescript','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','2306430lANHhA','utf8','2962780bVyVuA','endsWith','{\x20apiConfigName:\x20','-client','forEach',',\x20env:\x20\x22','34488nVIHdG','.ts','-api'];a9_0x5312=function(){return _0x2a1e22;};return a9_0x5312();}function a9_0x3f19(_0x1bc9a3,_0x5199a0){_0x1bc9a3=_0x1bc9a3-0x119;const _0x5312ee=a9_0x5312();let _0x3f192c=_0x5312ee[_0x1bc9a3];return _0x3f192c;}import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a9_0x307bd9 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(_0x51a1b6,_0x1b8546='',_0x223664,_0x5ea8fa=![],_0x18a435,_0x2fca67=a9_0x494e27(0x12f)){const _0x4a4224=a9_0x494e27,_0x1cf046=readConfig(),_0x2a80b7=_0x223664||_0x1cf046?.[_0x4a4224(0x11e)];if(typeof _0x2a80b7!==_0x4a4224(0x143)||!_0x2a80b7)throw new Error(_0x4a4224(0x137));const _0x975824=_0x5ea8fa?_0x4a4224(0x123):'\x22'+_0x2a80b7+'\x22',_0x54bcfe=typeof _0x1cf046[_0x4a4224(0x12d)]===_0x4a4224(0x143)?_0x1cf046[_0x4a4224(0x12d)]:undefined,_0x1e62cf=_0x18a435||_0x54bcfe||_0x4a4224(0x12a),_0x568a69=_0x1e62cf!=='online';let _0x29a0d4;if(_0x5ea8fa)_0x568a69?_0x29a0d4=_0x4a4224(0x13c)+_0x975824+',\x20env:\x20\x22'+_0x1e62cf+_0x4a4224(0x11f):_0x29a0d4='';else{const _0x3cdd1c=_0x568a69?_0x4a4224(0x13f)+_0x1e62cf+'\x22':'';_0x29a0d4=_0x4a4224(0x131)+_0x2a80b7+'\x22'+_0x3cdd1c+'\x20}';}const _0x22ffe2=_0x1b8546?_0x1b8546+_0x4a4224(0x142):'api',_0x5aefd1=_0x1b8546?_0x1b8546+_0x4a4224(0x13d):'client',_0x1c42f3=[];_0x51a1b6[_0x4a4224(0x13e)](_0x58832e=>{const _0x394cce=_0x4a4224;_0x1c42f3['push']({'datasetCode':_0x58832e[_0x394cce(0x127)],'tableName':_0x58832e['tableName'],'name':_0x58832e[_0x394cce(0x129)]||'','alias':_0x58832e[_0x394cce(0x128)]||_0x58832e[_0x394cce(0x132)]});});const _0x5e8c6e=fileURLToPath(import.meta.url),_0xaa3915=a9_0x307bd9[_0x4a4224(0x11c)](a9_0x307bd9[_0x4a4224(0x12c)](_0x5e8c6e),_0x4a4224(0x124)),_0x1e8b8a=a9_0x307bd9['join'](_0xaa3915,_0x4a4224(0x12e)),_0x17538a=a9_0x307bd9[_0x4a4224(0x122)](_0x1e8b8a,'api.ts.tpl'),_0x33fdc1=a9_0x307bd9['join'](_0x1e8b8a,_0x4a4224(0x120)),_0xd8c68c=_0x2fca67[_0x4a4224(0x13b)]('/')?_0x2fca67[_0x4a4224(0x134)](0x0,-0x1):_0x2fca67;mkdirSync(_0xd8c68c,{'recursive':!![]});const _0x365fd4=_0x1c42f3[0x0]?.[_0x4a4224(0x128)],_0x2ec0b8=readFileSync(_0x17538a,_0x4a4224(0x139)),_0x4bec95=TemplateReplacer[_0x4a4224(0x121)](_0x2ec0b8,_0x2a80b7,_0x1c42f3,_0x365fd4,_0x22ffe2,_0x975824),_0x55347a=await a9_0x20c469[_0x4a4224(0x119)](_0x4bec95,{'parser':_0x4a4224(0x136)}),_0x277536=_0xd8c68c+'/'+_0x22ffe2+_0x4a4224(0x141);writeFileSync(_0x277536,_0x55347a,{'encoding':'utf8'});const _0x482d59=readFileSync(_0x33fdc1,'utf8'),_0x1bd271=TemplateReplacer[_0x4a4224(0x121)](_0x482d59,_0x2a80b7,_0x1c42f3,_0x365fd4,_0x22ffe2,_0x975824,_0x29a0d4),_0x5e4d57=await a9_0x20c469[_0x4a4224(0x119)](_0x1bd271,{'parser':'typescript'}),_0x929cb5=_0xd8c68c+'/'+_0x5aefd1+_0x4a4224(0x141);writeFileSync(_0x929cb5,_0x5e4d57,{'encoding':'utf8'});const _0x40f6b4=_0x1c42f3[_0x4a4224(0x130)];return logger['success'](_0x4a4224(0x133),_0x4a4224(0x135),undefined,{'apiFile':_0x277536,'clientFile':_0x929cb5,'modelCount':_0x40f6b4,'configName':_0x975824}),{'modelCount':_0x40f6b4,'apiFilePath':_0x277536,'clientFilePath':_0x929cb5,'configName':_0x975824};}
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 a10_0x4a9f(){const _0x139d91=['请使用\x20--appcode\x20参数,例如:','\x1b[90m\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)\x1b[0m','\x1b[90m*\x20使用配置的应用AppCode:\x20','exit','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20','input','message','❌\x20错误:不再支持位置参数方式','5KPHtjI','89901fQPwGI','doc','pull','parse','702ibTfpZ','×\x20未配置\x20AppCode','\x20\x20lovrabet\x20api\x20doc\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','filter','2199366AJoaUj','map','appcode','!\x20请使用以下方式之一:','isArray','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','\x1b[0m','join','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','split','length','3183372DJdelz','\x1b[90m*\x20仅生成指定数据集的文档:\x20','10OAmXSD','6043096xXIKji','error','3929372aSIsEc','env','string','flags','object','datasetcode','33111397mASDEf','log','9NSmtxO','912339SgSauK','×\x20--datasetcode\x20参数不能为空','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','trim','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>'];a10_0x4a9f=function(){return _0x139d91;};return a10_0x4a9f();}function a10_0x2eb6(_0x10b7bd,_0x41c2bc){_0x10b7bd=_0x10b7bd-0x1d0;const _0x4a9f28=a10_0x4a9f();let _0x2eb641=_0x4a9f28[_0x10b7bd];return _0x2eb641;}(function(_0x146af7,_0x2832ae){const _0x34b6b7=a10_0x2eb6,_0x5e9905=_0x146af7();while(!![]){try{const _0x17e461=-parseInt(_0x34b6b7(0x1f4))/0x1+-parseInt(_0x34b6b7(0x1da))/0x2+parseInt(_0x34b6b7(0x1e6))/0x3+parseInt(_0x34b6b7(0x1eb))/0x4*(parseInt(_0x34b6b7(0x1d1))/0x5)+parseInt(_0x34b6b7(0x1d6))/0x6*(-parseInt(_0x34b6b7(0x1d2))/0x7)+-parseInt(_0x34b6b7(0x1e9))/0x8*(parseInt(_0x34b6b7(0x1f3))/0x9)+parseInt(_0x34b6b7(0x1e8))/0xa*(parseInt(_0x34b6b7(0x1f1))/0xb);if(_0x17e461===_0x2832ae)break;else _0x5e9905['push'](_0x5e9905['shift']());}catch(_0x1833f6){_0x5e9905['push'](_0x5e9905['shift']());}}}(a10_0x4a9f,0xbf4c2));import{jsx as a10_0x60c857}from'react/jsx-runtime';import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';import{ApiDocUI}from'./api-doc-ui.js';import{getConfigAppCode}from'../utils/config.js';export async function apiCli(_0x640b1a){const _0x3c7f1c=a10_0x2eb6,_0x4387f2=_0x640b1a['input'][0x1];if(_0x640b1a[_0x3c7f1c(0x1ee)]['help']){console[_0x3c7f1c(0x1f2)]('\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');return;}if(_0x4387f2===_0x3c7f1c(0x1d4)){_0x640b1a['input'][0x2]&&(console[_0x3c7f1c(0x1ea)](_0x3c7f1c(0x1d0)),console[_0x3c7f1c(0x1f2)]('请使用\x20--appcode\x20参数,例如:'),console['log'](_0x3c7f1c(0x1e3)+_0x640b1a['input'][0x2]),process[_0x3c7f1c(0x1fc)](0x1));const _0x2208df=getConfigAppCode();let _0xce25c7=_0x640b1a[_0x3c7f1c(0x1ee)][_0x3c7f1c(0x1dc)];const _0x2c1f11=typeof _0x640b1a[_0x3c7f1c(0x1ee)]['env']===_0x3c7f1c(0x1ed)?_0x640b1a['flags']['env']:undefined,_0x28199b=_0x640b1a[_0x3c7f1c(0x1ee)]['output'];!_0xce25c7&&!_0x2208df&&(console[_0x3c7f1c(0x1ea)]('×\x20未配置\x20AppCode'),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1dd)),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1f6)),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1f8)),process[_0x3c7f1c(0x1fc)](0x1)),_0xce25c7&&_0x2208df&&_0xce25c7===_0x2208df&&(console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1fb)+_0xce25c7+'\x1b[0m'),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1fa)),_0xce25c7=undefined),render(a10_0x60c857(ApiPullUI,{'appCode':_0xce25c7,'env':_0x2c1f11,'output':_0x28199b}));}else{if(_0x4387f2===_0x3c7f1c(0x1d3)){_0x640b1a[_0x3c7f1c(0x1fe)][0x2]&&(console['error'](_0x3c7f1c(0x1d0)),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1f9)),console['log'](_0x3c7f1c(0x1fd)+_0x640b1a[_0x3c7f1c(0x1fe)][0x2]),process[_0x3c7f1c(0x1fc)](0x1));const _0x181a7b=getConfigAppCode();let _0x2ebe52=_0x640b1a[_0x3c7f1c(0x1ee)][_0x3c7f1c(0x1dc)];const _0x581ced=typeof _0x640b1a[_0x3c7f1c(0x1ee)][_0x3c7f1c(0x1ec)]===_0x3c7f1c(0x1ed)?_0x640b1a[_0x3c7f1c(0x1ee)][_0x3c7f1c(0x1ec)]:undefined,_0x2c7983=_0x640b1a[_0x3c7f1c(0x1ee)]['output'],_0x5c17e4=_0x640b1a[_0x3c7f1c(0x1ee)]['params'],_0x2cbb80=_0x640b1a[_0x3c7f1c(0x1ee)][_0x3c7f1c(0x1f0)];!_0x2ebe52&&!_0x181a7b&&(console[_0x3c7f1c(0x1ea)](_0x3c7f1c(0x1d7)),console['log'](_0x3c7f1c(0x1dd)),console['log'](_0x3c7f1c(0x1f6)),console['log'](_0x3c7f1c(0x1df)),process[_0x3c7f1c(0x1fc)](0x1));_0x2ebe52&&_0x181a7b&&_0x2ebe52===_0x181a7b&&(console[_0x3c7f1c(0x1f2)]('\x1b[90m*\x20使用配置的应用AppCode:\x20'+_0x2ebe52+_0x3c7f1c(0x1e0)),_0x2ebe52=undefined);let _0x4597f5;if(_0x5c17e4)try{_0x4597f5=JSON[_0x3c7f1c(0x1d5)](_0x5c17e4),(typeof _0x4597f5!==_0x3c7f1c(0x1ef)||_0x4597f5===null||Array[_0x3c7f1c(0x1de)](_0x4597f5))&&(console[_0x3c7f1c(0x1ea)]('×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象'),process['exit'](0x1));}catch(_0x589777){console[_0x3c7f1c(0x1ea)]('×\x20--params\x20参数不是有效的\x20JSON\x20格式'),console[_0x3c7f1c(0x1ea)]('\x20\x20错误:\x20'+(_0x589777 instanceof Error?_0x589777[_0x3c7f1c(0x1ff)]:String(_0x589777))),process[_0x3c7f1c(0x1fc)](0x1);}let _0x3c4e0f;_0x2cbb80&&(_0x3c4e0f=_0x2cbb80[_0x3c7f1c(0x1e4)](',')[_0x3c7f1c(0x1db)](_0xc30ca4=>_0xc30ca4[_0x3c7f1c(0x1f7)]())[_0x3c7f1c(0x1d9)](_0x3d3534=>_0x3d3534[_0x3c7f1c(0x1e5)]>0x0),_0x3c4e0f[_0x3c7f1c(0x1e5)]===0x0&&(console[_0x3c7f1c(0x1ea)](_0x3c7f1c(0x1f5)),process['exit'](0x1)),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1e7)+_0x3c4e0f[_0x3c7f1c(0x1e1)](',\x20')+'\x1b[0m')),render(a10_0x60c857(ApiDocUI,{'appCode':_0x2ebe52,'env':_0x581ced,'output':_0x2c7983,'extraParams':_0x4597f5,'datasetCodes':_0x3c4e0f}));}else console['error']('Unknown\x20api\x20command:\x20'+_0x4387f2),console[_0x3c7f1c(0x1f2)]('Available\x20commands:'),console[_0x3c7f1c(0x1f2)]('\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[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1e2)),console[_0x3c7f1c(0x1f2)]('\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)'),console[_0x3c7f1c(0x1f2)]('\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)'),console[_0x3c7f1c(0x1f2)](''),console[_0x3c7f1c(0x1f2)]('\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文档'),console['log']('\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode'),console['log']('\x20\x20lovrabet\x20api\x20doc\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录(默认:\x20./docs)'),console[_0x3c7f1c(0x1f2)](_0x3c7f1c(0x1d8)),process['exit'](0x1);}}