@lovrabet/cli 1.2.5-beta.6 → 1.2.5-beta.7

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 (81) 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/.shared/SKILL.md.tpl +2 -2
  77. package/templates/skills/.shared/guides/01-typescript-sdk/guide.md +382 -0
  78. package/templates/skills/.shared/guides/02-mcp-sql-workflow/guide.md +3 -3
  79. package/templates/skills/.shared/guides/04-troubleshooting/guide.md +2 -2
  80. package/templates/skills/.shared/guides/07-backend-function/guide.md +82 -28
  81. package/templates/skills/.shared/guides/01-filter-query/guide.md +0 -299
@@ -1 +1 @@
1
- (function(_0x1a05b9,_0xf68da9){const _0x597180=a0_0xfb1a,_0x3676c3=_0x1a05b9();while(!![]){try{const _0x1aa826=-parseInt(_0x597180(0x10c))/0x1*(parseInt(_0x597180(0x105))/0x2)+parseInt(_0x597180(0x113))/0x3*(parseInt(_0x597180(0x110))/0x4)+-parseInt(_0x597180(0x11e))/0x5+-parseInt(_0x597180(0x10a))/0x6+parseInt(_0x597180(0x115))/0x7+parseInt(_0x597180(0x108))/0x8*(-parseInt(_0x597180(0x11a))/0x9)+parseInt(_0x597180(0x11c))/0xa;if(_0x1aa826===_0xf68da9)break;else _0x3676c3['push'](_0x3676c3['shift']());}catch(_0x1f6f04){_0x3676c3['push'](_0x3676c3['shift']());}}}(a0_0x492d,0xb9599));import{jsx as a0_0x59d81a,jsxs as a0_0x15d8ab}from'react/jsx-runtime';import{useState}from'react';function a0_0xfb1a(_0x4f3795,_0x46f67b){_0x4f3795=_0x4f3795-0x105;const _0x492dc5=a0_0x492d();let _0xfb1a17=_0x492dc5[_0x4f3795];return _0xfb1a17;}import{Text,Box,useInput}from'ink';import a0_0x189be5 from'node:fs';function a0_0x492d(){const _0x491608=['return','路径不能以\x20/\x20开头或结尾','5949CnHXsT','页面路径不合法','16429630EalQjk','\x20Step2:\x20','2008750sPClQI','trim','页面路径长度不能超过\x20100\x20个字符','106xbWyoe','green','test','200uZvNwJ','slice','5882442QAToZu','existsSync','18498TOETGw','split','red','路径不能包含连续的\x20/','4ZbfBnI','页面路径\x20','endsWith','1025142XWcyFZ','includes','8075144eQbHiK','gray','\x20已存在,请使用其他路径'];a0_0x492d=function(){return _0x491608;};return a0_0x492d();}export function InputProjectCode(_0x7e9a25){const _0x20e3ec=a0_0xfb1a,{onSubmit:_0x18e8ec,pagePath:_0x5c073b}=_0x7e9a25,[_0x4ddf6c,_0x4aff9e]=useState(''),[_0xf8e459,_0x58850d]=useState(''),_0xd8bb9d='my-page';function _0x129a2a(_0x5c528c){const _0x88ef80=a0_0xfb1a;if(_0x5c528c['length']>0x64)return{'valid':![],'message':_0x88ef80(0x120)};if(_0x5c528c['startsWith']('/')||_0x5c528c[_0x88ef80(0x112)]('/'))return{'valid':![],'message':_0x88ef80(0x119)};if(_0x5c528c[_0x88ef80(0x114)]('//'))return{'valid':![],'message':_0x88ef80(0x10f)};const _0x52f790=_0x5c528c[_0x88ef80(0x10d)]('/');for(const _0x52f022 of _0x52f790){if(!_0x52f022)continue;const _0x41b2f7=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;if(!_0x41b2f7[_0x88ef80(0x107)](_0x52f022))return{'valid':![],'message':'路径中的每个段只能以字母或数字开头,且只包含字母、数字、-\x20和\x20_'};}return{'valid':!![]};}return useInput((_0x7a3323,_0x566180)=>{const _0x5d2aa9=a0_0xfb1a;if(_0x566180[_0x5d2aa9(0x118)]){const _0x59724a=_0x4ddf6c[_0x5d2aa9(0x11f)]()||_0xd8bb9d;if(_0xf8e459)return;const _0x4f330e=_0x5c073b+'/'+_0x59724a;if(a0_0x189be5[_0x5d2aa9(0x10b)](_0x4f330e)){_0x58850d(_0x5d2aa9(0x111)+_0x59724a+_0x5d2aa9(0x117));return;}_0x18e8ec(_0x59724a),_0x4aff9e(''),_0x58850d('');}else _0x566180['backspace']||_0x566180['delete']?_0x4aff9e(_0x5af399=>{const _0x13bddb=_0x5d2aa9,_0x42a07f=_0x5af399[_0x13bddb(0x109)](0x0,-0x1),{valid:_0x20bd8d,message:_0x100e89}=_0x129a2a(_0x42a07f);return _0x58850d(_0x20bd8d?'':_0x100e89||_0x13bddb(0x11b)),_0x42a07f;}):_0x4aff9e(_0x4bde38=>{const _0x32101e=_0x4bde38+_0x7a3323,{valid:_0x249732,message:_0x588e52}=_0x129a2a(_0x32101e);return _0x58850d(_0x249732?'':_0x588e52||'页面路径不合法'),_0x32101e;});}),a0_0x15d8ab(Box,{'flexDirection':'column','children':[a0_0x15d8ab(Box,{'children':[a0_0x59d81a(Text,{'color':_0x20e3ec(0x116),'children':_0x20e3ec(0x11d)}),a0_0x59d81a(Text,{'children':'页面路由地址:\x20'}),_0x4ddf6c?a0_0x59d81a(Text,{'color':_0x20e3ec(0x106),'children':_0x4ddf6c}):a0_0x59d81a(Text,{'color':_0x20e3ec(0x116),'children':_0xd8bb9d}),_0xf8e459&&a0_0x15d8ab(Text,{'color':_0x20e3ec(0x10e),'children':['\x20←\x20',_0xf8e459]})]}),!_0xf8e459&&!_0x4ddf6c&&a0_0x59d81a(Box,{'children':a0_0x59d81a(Text,{'color':_0x20e3ec(0x116),'children':'\x20直接回车确认,或输入自定义路由地址'})})]});}
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 +1 @@
1
- const a1_0x1ae621=a1_0x5729;(function(_0x1b92f1,_0x3f61ca){const _0x4880c0=a1_0x5729,_0x1ef317=_0x1b92f1();while(!![]){try{const _0x5527fb=parseInt(_0x4880c0(0x205))/0x1*(parseInt(_0x4880c0(0x1f8))/0x2)+parseInt(_0x4880c0(0x1fe))/0x3+parseInt(_0x4880c0(0x1ec))/0x4+parseInt(_0x4880c0(0x1f6))/0x5*(parseInt(_0x4880c0(0x1f9))/0x6)+-parseInt(_0x4880c0(0x204))/0x7+-parseInt(_0x4880c0(0x1e5))/0x8*(parseInt(_0x4880c0(0x1ee))/0x9)+-parseInt(_0x4880c0(0x1eb))/0xa;if(_0x5527fb===_0x3f61ca)break;else _0x1ef317['push'](_0x1ef317['shift']());}catch(_0x509cf2){_0x1ef317['push'](_0x1ef317['shift']());}}}(a1_0x1344,0xd1b64));import{jsx as a1_0x4ac368,jsxs as a1_0x447f82,Fragment as a1_0x255696}from'react/jsx-runtime';import{fileURLToPath}from'node:url';import a1_0x26a2d5 from'node:path';import{useEffect,useState}from'react';import{Box,Text,useApp}from'ink';function a1_0x5729(_0x1dcedc,_0x533b77){_0x1dcedc=_0x1dcedc-0x1e0;const _0x1344d3=a1_0x1344();let _0x5729e5=_0x1344d3[_0x1dcedc];return _0x5729e5;}import{SelectPageTemplate}from'./select-page-template.js';function a1_0x1344(){const _0x5550e4=['\x20*\x20页面创建成功!','green','开始添加页面:\x20','resolve','页面添加失败:\x20','78655shMefD','join','10xTHRHz','318NrJdNY','pages','cyan','error','src','4185063GnQCvg','已选择页面模板\x20','catch','\x20*\x20路由地址:\x20','processTemplate','now','11918991xqzJMQ','240490QyJBiR','\x20Step1:\x20','cwd','then','add-page','success','53968lnMPsA','已输入的页面路由\x20','message','finally','setLogPath','gray','12315700fUVknu','6359284hhJJkT','info','1638qwWgQW','../../templates/pages','页面添加成功:\x20'];a1_0x1344=function(){return _0x5550e4;};return a1_0x1344();}import{InputProjectCode}from'./input-page-router.js';import{logger}from'../utils/logger.js';import{TemplateReplacer}from'../utils/template-replacer.js';const __dirname=a1_0x26a2d5['dirname'](fileURLToPath(import.meta.url)),pageTemplateDir=a1_0x26a2d5['resolve'](__dirname,a1_0x1ae621(0x1ef)),projectDir=process[a1_0x1ae621(0x1e1)]();export const AddPage=()=>{const _0x4823ed=a1_0x1ae621,{exit:_0x210e9f}=useApp(),[_0x2a7dfc,_0x5dcef4]=useState(''),[_0x36ade7,_0x112768]=useState(''),[_0x41926b,_0x27c20e]=useState(![]),[_0x15488f,_0x5c03ae]=useState(![]),_0x157830=a1_0x26a2d5[_0x4823ed(0x1f7)](projectDir,_0x4823ed(0x1fd),_0x4823ed(0x1fa)),_0x4e642c=a1_0x26a2d5[_0x4823ed(0x1f7)](_0x157830,_0x36ade7),_0x3ef2e3=a1_0x26a2d5['join'](_0x4823ed(0x1fd),_0x4823ed(0x1fa),_0x36ade7);useEffect(()=>{const _0x175f57=_0x4823ed,_0x2cccaf=a1_0x26a2d5[_0x175f57(0x1f4)](pageTemplateDir,_0x2a7dfc);if(_0x2a7dfc&&_0x36ade7){_0x27c20e(!![]),logger[_0x175f57(0x1e9)](process[_0x175f57(0x1e1)]());const _0x6f792c=Date['now']();logger[_0x175f57(0x1ed)]('add-page',_0x175f57(0x1f3)+_0x36ade7,{'template':_0x2a7dfc,'targetPath':_0x3ef2e3}),TemplateReplacer[_0x175f57(0x202)](_0x2cccaf,a1_0x26a2d5[_0x175f57(0x1f7)](_0x157830,_0x36ade7),_0x36ade7,_0x2a7dfc)[_0x175f57(0x1e2)](()=>{const _0x19c046=_0x175f57,_0x10c7f4=Date[_0x19c046(0x203)]()-_0x6f792c;logger[_0x19c046(0x1e4)](_0x19c046(0x1e3),_0x19c046(0x1f0)+_0x36ade7,_0x10c7f4,{'template':_0x2a7dfc,'targetPath':_0x3ef2e3,'routePath':_0x36ade7}),_0x5c03ae(!![]);})[_0x175f57(0x200)](_0x14f5e7=>{const _0x783934=_0x175f57,_0x5c9b6e=Date[_0x783934(0x203)]()-_0x6f792c;logger[_0x783934(0x1fc)]('add-page',_0x783934(0x1f5)+_0x36ade7,{'template':_0x2a7dfc,'targetPath':_0x3ef2e3,'error':_0x14f5e7 instanceof Error?_0x14f5e7[_0x783934(0x1e7)]:String(_0x14f5e7),'duration':_0x5c9b6e});})[_0x175f57(0x1e8)](()=>{_0x27c20e(![]);});}},[_0x2a7dfc,_0x36ade7]),useEffect(()=>{_0x15488f&&setTimeout(()=>{_0x210e9f();});},[_0x15488f]);if(_0x2a7dfc)return a1_0x447f82(Box,{'flexDirection':'column','paddingY':0x1,'children':[a1_0x447f82(Box,{'children':[a1_0x4ac368(Text,{'color':_0x4823ed(0x1ea),'children':_0x4823ed(0x1e0)}),a1_0x4ac368(Text,{'children':_0x4823ed(0x1ff)}),a1_0x4ac368(Text,{'color':_0x4823ed(0x1f2),'children':_0x2a7dfc})]}),_0x36ade7?a1_0x447f82(Box,{'children':[a1_0x4ac368(Text,{'color':_0x4823ed(0x1ea),'children':'\x20Step2:\x20'}),a1_0x4ac368(Text,{'children':_0x4823ed(0x1e6)}),a1_0x4ac368(Text,{'color':_0x4823ed(0x1f2),'children':_0x36ade7})]}):a1_0x4ac368(InputProjectCode,{'pagePath':_0x4e642c,'onSubmit':_0x112768}),_0x36ade7&&_0x41926b?a1_0x447f82(Box,{'marginTop':0x1,'children':[a1_0x4ac368(Box,{'width':'4'}),a1_0x4ac368(Text,{'children':'正在创建页面,请稍候…'})]}):null,_0x15488f?a1_0x447f82(a1_0x255696,{'children':[a1_0x4ac368(Box,{'marginTop':0x1,'children':a1_0x4ac368(Text,{'color':_0x4823ed(0x1ea),'children':_0x4823ed(0x1f1)})}),a1_0x447f82(Box,{'children':[a1_0x4ac368(Text,{'color':'gray','children':'\x20*\x20页面路径:\x20'}),a1_0x4ac368(Text,{'color':_0x4823ed(0x1f2),'children':_0x3ef2e3})]}),a1_0x447f82(Box,{'children':[a1_0x4ac368(Text,{'color':'gray','children':_0x4823ed(0x201)}),a1_0x447f82(Text,{'color':'green','children':['/',_0x36ade7]})]}),a1_0x4ac368(Box,{'marginTop':0x1,'children':a1_0x4ac368(Text,{'color':_0x4823ed(0x1fb),'children':'\x20*\x20页面文件已创建,可直接通过路由访问'})})]}):null]});return a1_0x4ac368(SelectPageTemplate,{'onSelect':_0x5dcef4});};
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 +1 @@
1
- (function(_0x3c55e1,_0x2c4610){const _0x325a10=a2_0x4631,_0x543a5b=_0x3c55e1();while(!![]){try{const _0x556178=parseInt(_0x325a10(0x15a))/0x1*(-parseInt(_0x325a10(0x162))/0x2)+parseInt(_0x325a10(0x169))/0x3+-parseInt(_0x325a10(0x151))/0x4*(parseInt(_0x325a10(0x16b))/0x5)+parseInt(_0x325a10(0x164))/0x6*(-parseInt(_0x325a10(0x159))/0x7)+parseInt(_0x325a10(0x167))/0x8*(-parseInt(_0x325a10(0x160))/0x9)+-parseInt(_0x325a10(0x15e))/0xa+-parseInt(_0x325a10(0x152))/0xb*(-parseInt(_0x325a10(0x16c))/0xc);if(_0x556178===_0x2c4610)break;else _0x543a5b['push'](_0x543a5b['shift']());}catch(_0x58ffb6){_0x543a5b['push'](_0x543a5b['shift']());}}}(a2_0x5cd9,0x9dd83));import{jsx as a2_0x51f01d,jsxs as a2_0x3ffdda}from'react/jsx-runtime';import{useState,useEffect}from'react';import{Text,Box,useInput}from'ink';import{readdir}from'node:fs/promises';function a2_0x5cd9(){const _0x409c6e=['4085772xBwRVk','110pPCMEa','请选择您要创建的页面模板','upArrow','正在加载页面模板...','green','\x20\x20\x20\x20\x20\x20>\x20','column','21WVbodB','1QIXApF','filter','onSelect','error','5349010FRoHWn','join','135XWRWqS','length','2018764jjfaZs','../..','1295718fnEwKE','获取模板列表失败:','isDirectory','627992JDSQTm','templates/pages','2783853NoIQXV','label','5KJTqOW','4931580CXmFGA','return','downArrow','resolve'];a2_0x5cd9=function(){return _0x409c6e;};return a2_0x5cd9();}import a2_0x2ad898 from'node:path';import{fileURLToPath}from'node:url';function a2_0x4631(_0x1673c2,_0x46fd43){_0x1673c2=_0x1673c2-0x150;const _0x5cd92b=a2_0x5cd9();let _0x46313a=_0x5cd92b[_0x1673c2];return _0x46313a;}async function getTemplateList(){const _0x42547c=a2_0x4631;try{const _0x269f3f=fileURLToPath(import.meta.url),_0x2708f0=a2_0x2ad898[_0x42547c(0x150)](a2_0x2ad898['dirname'](_0x269f3f),_0x42547c(0x163)),_0x420bba=a2_0x2ad898[_0x42547c(0x15f)](_0x2708f0,_0x42547c(0x168)),_0x1fd6d3=await readdir(_0x420bba,{'withFileTypes':!![]}),_0x1f074d=_0x1fd6d3[_0x42547c(0x15b)](_0x5be40e=>_0x5be40e[_0x42547c(0x166)]())['map'](_0x2bb884=>({'label':_0x2bb884['name']}))['sort']((_0x3bdefa,_0x5935f4)=>_0x3bdefa['label']['localeCompare'](_0x5935f4[_0x42547c(0x16a)]));return _0x1f074d;}catch(_0x11bb2d){return console[_0x42547c(0x15d)](_0x42547c(0x165),_0x11bb2d),[{'label':'blank'},{'label':'sdk-fetch'}];}}export function SelectPageTemplate(_0x377683){const _0x517a9e=a2_0x4631,[_0x2b345b,_0x400e8f]=useState(0x0),[_0x107838,_0x2fd59c]=useState([]),[_0x14ab53,_0x29b5c6]=useState(!![]);useEffect(()=>{async function _0x24e173(){const _0x1d12a1=await getTemplateList();_0x2fd59c(_0x1d12a1),_0x29b5c6(![]);}_0x24e173();},[]),useInput((_0x186f6d,_0x1d95e3)=>{const _0x19904f=a2_0x4631;if(_0x14ab53)return;if(_0x1d95e3[_0x19904f(0x16d)]){const _0x841911=_0x107838[_0x2b345b];_0x841911&&_0x377683[_0x19904f(0x15c)](_0x841911[_0x19904f(0x16a)]);}_0x1d95e3[_0x19904f(0x154)]&&_0x400e8f(_0x38a060=>_0x38a060===0x0?_0x107838[_0x19904f(0x161)]-0x1:_0x38a060-0x1),_0x1d95e3[_0x19904f(0x16e)]&&_0x400e8f(_0x21d132=>_0x21d132===_0x107838[_0x19904f(0x161)]-0x1?0x0:_0x21d132+0x1);});if(_0x14ab53)return a2_0x51f01d(Box,{'flexDirection':_0x517a9e(0x158),'paddingY':0x1,'children':a2_0x3ffdda(Box,{'children':[a2_0x51f01d(Text,{'color':'gray','children':'\x20Step1:\x20'}),a2_0x51f01d(Text,{'children':_0x517a9e(0x155)})]})});return a2_0x3ffdda(Box,{'flexDirection':_0x517a9e(0x158),'paddingY':0x1,'children':[a2_0x3ffdda(Box,{'children':[a2_0x51f01d(Text,{'color':'gray','children':'\x20Step1:\x20'}),a2_0x51f01d(Text,{'children':_0x517a9e(0x153)})]}),_0x107838['map']((_0x5e85cb,_0x5ee00f)=>{const _0x3512ac=_0x517a9e,_0x44fd15=_0x5ee00f===_0x2b345b,_0xe8a45e=_0x44fd15?_0x3512ac(0x157)+_0x5e85cb[_0x3512ac(0x16a)]:'\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5e85cb['label'];return a2_0x51f01d(Box,{'children':a2_0x51f01d(Text,{'color':_0x44fd15?_0x3512ac(0x156):undefined,'children':_0xe8a45e})},_0xe8a45e);})]});}
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 +1 @@
1
- const a3_0x149922=a3_0x3828;(function(_0x533300,_0x41f433){const _0x107ce6=a3_0x3828,_0x5a81c6=_0x533300();while(!![]){try{const _0x296dec=parseInt(_0x107ce6(0x1d8))/0x1+-parseInt(_0x107ce6(0x1c6))/0x2+-parseInt(_0x107ce6(0x1d1))/0x3+-parseInt(_0x107ce6(0x1f7))/0x4*(parseInt(_0x107ce6(0x1ea))/0x5)+-parseInt(_0x107ce6(0x1e4))/0x6*(-parseInt(_0x107ce6(0x1c1))/0x7)+parseInt(_0x107ce6(0x1e2))/0x8*(-parseInt(_0x107ce6(0x1ca))/0x9)+parseInt(_0x107ce6(0x1e3))/0xa;if(_0x296dec===_0x41f433)break;else _0x5a81c6['push'](_0x5a81c6['shift']());}catch(_0x199d38){_0x5a81c6['push'](_0x5a81c6['shift']());}}}(a3_0x3f96,0x9e8e5));import{jsx as a3_0x89b1ca,jsxs as a3_0x32a96c}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';function a3_0x3f96(){const _0x409f25=['upArrow','cursor','blue','117DKXfKS','name','codebuddy','Claude\x20Code','windsurf','gray','qoder','2450508HoCbwK','filter','white','confirming','正在配置\x20AI\x20助手...','*\x20选择要配置的\x20IDE:','是否同时配置\x20AI\x20助手?这将:','1162987eeRZxL','error','[Y]\x20是,配置\x20AI\x20助手','codex','red','Cursor','opencode','length','green','[\x20]','614904xOkKtu','25762500hUBAij','2004DQvIhF','skill-','↑/↓:\x20移动\x20空格:\x20切换\x20a:\x20全选\x20q:\x20退出\x20Enter:\x20确认','projectRoot','请至少选择一个配置项','mcp-','20QAeSLj','技能包\x20(研发规范指南)','yellow','appcode','map','agent','downArrow','done','add','delete','•\x20MCP:\x20让\x20AI\x20直接访问\x20Lovrabet\x20数据集','column','[✓]','1119740lMDaJy','status','installing','has','message','return','9170WpAwqi','size','cyan','push','selecting','1183074fCRazu'];a3_0x3f96=function(){return _0x409f25;};return a3_0x3f96();}const MCP_IDE_LIST=[a3_0x149922(0x1c8),'claude'],SKILL_IDE_LIST=['antigravity','claude',a3_0x149922(0x1cc),a3_0x149922(0x1db),a3_0x149922(0x1c8),a3_0x149922(0x1de),a3_0x149922(0x1d0),'trae',a3_0x149922(0x1ce),a3_0x149922(0x1ef)];function a3_0x3828(_0x433279,_0x4cb78d){_0x433279=_0x433279-0x1c1;const _0x3f9635=a3_0x3f96();let _0x38287f=_0x3f9635[_0x433279];return _0x38287f;}export function AISetupUI({config:_0x237b96,onComplete:_0x30aa0c}){const _0x3240ca=a3_0x149922,{exit:_0x5c8d1b}=useApp(),[_0x3c6b0e,_0x141923]=useState('confirming'),[_0x3856d2,_0x52a7a8]=useState(0x0),[_0x4081c9,_0x25182d]=useState(new Set([0x0,0x1])),[_0x1c8618,_0x1de939]=useState(new Set(SKILL_IDE_LIST[_0x3240ca(0x1ee)]((_0x4ac10d,_0x11c92d)=>_0x11c92d))),[_0x3f3a64,_0x553461]=useState('');useEffect(()=>{!_0x237b96['appcode']&&_0x30aa0c({'mcpResults':[],'skillResults':[]});},[_0x237b96[_0x3240ca(0x1ed)],_0x30aa0c]),useInput((_0x18049f,_0x338897)=>{const _0x1837d1=_0x3240ca;if(_0x3c6b0e===_0x1837d1(0x1d4)){if(_0x18049f==='y'||_0x18049f==='Y'||_0x338897['return']){_0x3d6261();return;}if(_0x18049f==='n'||_0x18049f==='N'){_0x30aa0c({'mcpResults':[],'skillResults':[]});return;}if(_0x338897[_0x1837d1(0x1fc)]){_0x3d6261();return;}}if(_0x3c6b0e===_0x1837d1(0x1c5)){if(_0x338897[_0x1837d1(0x1c7)]){_0x52a7a8(_0xfb6bdd=>_0xfb6bdd>0x0?_0xfb6bdd-0x1:SKILL_IDE_LIST[_0x1837d1(0x1df)]-0x1);return;}if(_0x338897[_0x1837d1(0x1f0)]){_0x52a7a8(_0x37b34e=>_0x37b34e<SKILL_IDE_LIST[_0x1837d1(0x1df)]-0x1?_0x37b34e+0x1:0x0);return;}if(_0x18049f==='\x20'){const _0x4bdd4b=_0x3856d2<MCP_IDE_LIST['length'];if(_0x4bdd4b){const _0x15c2b0=new Set(_0x4081c9);_0x15c2b0[_0x1837d1(0x1fa)](_0x3856d2)?_0x15c2b0[_0x1837d1(0x1f3)](_0x3856d2):_0x15c2b0[_0x1837d1(0x1f2)](_0x3856d2),_0x25182d(_0x15c2b0);}else{const _0x418766=_0x3856d2-MCP_IDE_LIST['length'],_0x5e4414=new Set(_0x1c8618);_0x5e4414[_0x1837d1(0x1fa)](_0x418766)?_0x5e4414['delete'](_0x418766):_0x5e4414[_0x1837d1(0x1f2)](_0x418766),_0x1de939(_0x5e4414);}return;}if(_0x18049f==='a'||_0x18049f==='A'){_0x25182d(new Set(MCP_IDE_LIST[_0x1837d1(0x1ee)]((_0x8c79f1,_0x41db9b)=>_0x41db9b))),_0x1de939(new Set(SKILL_IDE_LIST[_0x1837d1(0x1ee)]((_0xb6dac6,_0x15cab1)=>_0x15cab1)));return;}if(_0x18049f==='q'||_0x18049f==='Q'){_0x5c8d1b();return;}if(_0x338897[_0x1837d1(0x1fc)]){if(_0x4081c9[_0x1837d1(0x1c2)]===0x0&&_0x1c8618['size']===0x0){_0x553461(_0x1837d1(0x1e8));return;}_0x3d6261();return;}}if(_0x3c6b0e===_0x1837d1(0x1f1)){_0x5c8d1b();return;}});async function _0x3d6261(){const _0x326e72=_0x3240ca;_0x141923(_0x326e72(0x1f9));const _0x2aa935=[],_0x18266e=[];for(const _0x3d8f39 of _0x4081c9){const _0x37ed3a=MCP_IDE_LIST[_0x3d8f39];if(!_0x37ed3a)continue;try{const _0x144b6f=await configureMcp(_0x37ed3a,_0x237b96[_0x326e72(0x1e7)]);_0x2aa935[_0x326e72(0x1c4)](_0x144b6f);}catch(_0x3e20c5){_0x2aa935[_0x326e72(0x1c4)]({'ide':MCP_IDE_CONFIGS[_0x37ed3a]?.[_0x326e72(0x1cb)]||_0x37ed3a,'status':'error','message':_0x3e20c5 instanceof Error?_0x3e20c5[_0x326e72(0x1fb)]:String(_0x3e20c5)});}}await copySharedSkills(_0x237b96[_0x326e72(0x1e7)]);for(const _0x260d80 of _0x1c8618){const _0x3f34c5=SKILL_IDE_LIST[_0x260d80];if(!_0x3f34c5)continue;try{const _0x4af55a=await installSkill(_0x3f34c5,_0x237b96[_0x326e72(0x1e7)]);_0x18266e['push'](_0x4af55a);}catch(_0x3f09f2){_0x18266e[_0x326e72(0x1c4)]({'ide':SKILL_IDE_CONFIGS[_0x3f34c5]?.[_0x326e72(0x1cb)]||_0x3f34c5,'status':_0x326e72(0x1d9),'message':_0x3f09f2 instanceof Error?_0x3f09f2['message']:String(_0x3f09f2)});}}if(_0x18266e[_0x326e72(0x1df)]>0x0){const _0x294ab1=_0x18266e[_0x326e72(0x1d2)](_0x30c582=>_0x30c582[_0x326e72(0x1f8)]==='success')[_0x326e72(0x1ee)](_0x508fe8=>_0x508fe8['ide']);_0x294ab1[_0x326e72(0x1df)]>0x0&&createSkillManifest(_0x237b96[_0x326e72(0x1e7)],_0x294ab1);}_0x141923(_0x326e72(0x1f1)),setTimeout(()=>{_0x30aa0c({'mcpResults':_0x2aa935,'skillResults':_0x18266e});},0xbb8);}if(_0x3c6b0e==='confirming')return a3_0x32a96c(Box,{'flexDirection':_0x3240ca(0x1f5),'marginTop':0x1,'children':[a3_0x89b1ca(Box,{'marginTop':0x1,'children':a3_0x89b1ca(Text,{'color':_0x3240ca(0x1d3),'children':_0x3240ca(0x1d7)})}),a3_0x89b1ca(Box,{'marginLeft':0x2,'marginTop':0x1,'children':a3_0x89b1ca(Text,{'color':_0x3240ca(0x1cf),'children':_0x3240ca(0x1f4)})}),a3_0x89b1ca(Box,{'marginLeft':0x2,'children':a3_0x89b1ca(Text,{'color':'gray','children':'•\x20Skill:\x20安装研发最佳实践、Backend\x20Function\x20规范'})}),a3_0x32a96c(Box,{'marginTop':0x1,'flexDirection':_0x3240ca(0x1f5),'children':[a3_0x89b1ca(Box,{'children':a3_0x89b1ca(Text,{'color':_0x3240ca(0x1e0),'children':_0x3240ca(0x1da)})}),a3_0x89b1ca(Box,{'children':a3_0x89b1ca(Text,{'color':'gray','children':'[N]\x20跳过,稍后手动配置'})}),a3_0x89b1ca(Box,{'children':a3_0x89b1ca(Text,{'color':'dimColor','children':'Enter\x20默认:\x20是'})})]}),_0x3f3a64&&a3_0x89b1ca(Box,{'marginTop':0x1,'children':a3_0x32a96c(Text,{'color':_0x3240ca(0x1dc),'children':['✗\x20',_0x3f3a64]})})]});if(_0x3c6b0e===_0x3240ca(0x1c5))return a3_0x32a96c(Box,{'flexDirection':_0x3240ca(0x1f5),'marginTop':0x1,'children':[a3_0x89b1ca(Box,{'children':a3_0x89b1ca(Text,{'color':_0x3240ca(0x1c3),'bold':!![],'children':_0x3240ca(0x1d6)})}),_0x3f3a64&&a3_0x89b1ca(Box,{'marginTop':0x1,'children':a3_0x32a96c(Text,{'color':_0x3240ca(0x1dc),'children':['✗\x20',_0x3f3a64]})}),a3_0x32a96c(Box,{'marginTop':0x1,'flexDirection':_0x3240ca(0x1f5),'children':[a3_0x89b1ca(Text,{'bold':!![],'color':_0x3240ca(0x1ec),'children':'MCP\x20服务器\x20(AI\x20访问数据集)'}),MCP_IDE_LIST[_0x3240ca(0x1ee)]((_0x4e6e0a,_0x103094)=>{const _0x235e39=_0x3240ca,_0x484ff4=_0x3856d2===_0x103094,_0x439bd7=_0x4081c9[_0x235e39(0x1fa)](_0x103094);return a3_0x89b1ca(Box,{'children':a3_0x32a96c(Text,{'backgroundColor':_0x484ff4?_0x235e39(0x1c9):undefined,'color':_0x484ff4?_0x235e39(0x1d3):undefined,'children':[_0x439bd7?_0x235e39(0x1f6):_0x235e39(0x1e1),'\x20',_0x4e6e0a===_0x235e39(0x1c8)?_0x235e39(0x1dd):_0x235e39(0x1cd)]})},_0x235e39(0x1e9)+_0x4e6e0a);}),a3_0x89b1ca(Box,{'marginTop':0x1,'children':a3_0x89b1ca(Text,{'bold':!![],'color':'yellow','children':_0x3240ca(0x1eb)})}),SKILL_IDE_LIST[_0x3240ca(0x1ee)]((_0x4af50f,_0x36525d)=>{const _0x56736f=_0x3240ca,_0x97ea7c=_0x36525d+MCP_IDE_LIST[_0x56736f(0x1df)],_0x5a567d=_0x3856d2===_0x97ea7c,_0x11e6af=_0x1c8618[_0x56736f(0x1fa)](_0x97ea7c);return a3_0x89b1ca(Box,{'children':a3_0x32a96c(Text,{'backgroundColor':_0x5a567d?'blue':undefined,'color':_0x5a567d?_0x56736f(0x1d3):undefined,'children':[_0x11e6af?_0x56736f(0x1f6):'[\x20]','\x20',SKILL_IDE_CONFIGS[_0x4af50f]['name']]})},_0x56736f(0x1e5)+_0x4af50f);}),a3_0x89b1ca(Box,{'marginTop':0x1,'children':a3_0x89b1ca(Text,{'color':_0x3240ca(0x1cf),'children':_0x3240ca(0x1e6)})})]})]});if(_0x3c6b0e==='installing')return a3_0x89b1ca(Box,{'flexDirection':_0x3240ca(0x1f5),'marginTop':0x1,'children':a3_0x89b1ca(Box,{'children':a3_0x89b1ca(Text,{'children':_0x3240ca(0x1d5)})})});if(_0x3c6b0e===_0x3240ca(0x1f1))return null;return null;}const MCP_IDE_CONFIGS={'cursor':{'name':a3_0x149922(0x1dd)},'claude':{'name':a3_0x149922(0x1cd)}};
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 +1 @@
1
- const a4_0x24b823=a4_0x1a83;(function(_0x264f5d,_0x1781ac){const _0x306648=a4_0x1a83,_0x4b226e=_0x264f5d();while(!![]){try{const _0x36f6d7=-parseInt(_0x306648(0x16b))/0x1+-parseInt(_0x306648(0x162))/0x2*(parseInt(_0x306648(0x13d))/0x3)+-parseInt(_0x306648(0x16a))/0x4+-parseInt(_0x306648(0x180))/0x5*(parseInt(_0x306648(0x165))/0x6)+-parseInt(_0x306648(0x17b))/0x7*(-parseInt(_0x306648(0x150))/0x8)+parseInt(_0x306648(0x151))/0x9*(-parseInt(_0x306648(0x166))/0xa)+parseInt(_0x306648(0x143))/0xb;if(_0x36f6d7===_0x1781ac)break;else _0x4b226e['push'](_0x4b226e['shift']());}catch(_0x276aa8){_0x4b226e['push'](_0x4b226e['shift']());}}}(a4_0x1125,0xee2e7));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_0x24b823(0x15f),MCP_COMMAND=a4_0x24b823(0x169),MCP_ARGS=['@lovrabet/dataset-mcp-server@latest'];export function buildEnvConfig(_0xf22a43,_0x236a60){const _0x69c403={'LOVRABET_APP_CODE':String(_0xf22a43)};return _0x236a60!=='online'&&(_0x69c403['LOVRABET_ENV']=String(_0x236a60)),_0x69c403;}function a4_0x1125(){const _0x745aaf=['stringify','error','.lovrabet/skill/.shared','rules','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_APP_CODE\x22:\x20\x22','\x0a📋\x20其他\x20IDE\x20MCP\x20配置:\x0a','.lovrabet/skill-manifest.json','\x20\x20重启\x20Claude\x20Code\x20后生效\x0a','parse','mcpServers','claude\x20mcp\x20add\x20','21tJPMqF','\x20\x20\x20\x20\x20\x20\x20\x20\x22LOVRABET_ENV\x22:\x20\x22','\x0a📋\x20请执行以下命令配置\x20Claude\x20Code\x20MCP:\x0a','skill-install','\x20\x20\x22mcpServers\x22:\x20{','6774795ssNpPt','\x20\x20\x20\x20\x20\x20\x22env\x22:\x20{','env','复制\x20Cursor\x20Rules\x20文件失败','创建技能包\x20manifest','message','object','\x20技能包安装失败','配置信息:','不支持的\x20MCP\x20IDE:\x20','isDirectory','69oOvivR','Cursor\x20MCP\x20配置成功','cursor','\x20\x20}','manual','../../templates/rules/lovrabet_rules.mdc.tpl','82177381SDXWMS','\x20-e\x20LOVRABET_ENV=','lovrabet_rules.mdc','未知的\x20IDE:\x20','\x20\x20\x20\x20\x22','.lovrabet','mcp.json','app','mcp-install','claude','utf-8','共享技能文件复制失败','\x20-e\x20LOVRABET_APP_CODE=','2419240WgAKwg','73386gpQdHZ','.cursor','Claude\x20Code','\x20\x20\x20\x20}','Cursor','\x20\x20\x20\x20\x20\x20\x22command\x22:\x20\x22','info','2.0.0','已创建\x20','log','success','创建\x20Cursor\x20Rules\x20文件','../../templates/skills','appcode','lovrabet-dataset','cwd','需要先配置\x20appcode','129966LZzhKI','已写入\x20.cursor/mcp.json','online','6vlvcSw','1920EsYsox','map','join','npx','5916932UDsuwk','1507926YqQhDZ','\x20\x20AppCode:\x20','复制\x20agents.md\x20文件失败','\x22:\x20{','node:fs'];a4_0x1125=function(){return _0x745aaf;};return a4_0x1125();}export async function configureCursorMcp(_0x204d34){const _0x4dc991=a4_0x24b823,_0x2afce2=_0x204d34||process[_0x4dc991(0x160)](),_0x8508a1=readConfig(_0x2afce2),_0x4b4272=_0x8508a1[_0x4dc991(0x15e)]||_0x8508a1['app'],_0x4d8259=_0x8508a1['env']||'online';if(!_0x4b4272)return{'ide':_0x4dc991(0x155),'status':'error','message':_0x4dc991(0x161)};const _0x3da183=buildEnvConfig(_0x4b4272,_0x4d8259),_0x5b3c82={'command':MCP_COMMAND,'args':MCP_ARGS,'env':_0x3da183},_0x1a9ac2=join(_0x2afce2,_0x4dc991(0x152),_0x4dc991(0x149)),_0xdaf7f2=join(_0x2afce2,_0x4dc991(0x152));try{!existsSync(_0xdaf7f2)&&mkdirSync(_0xdaf7f2,{'recursive':!![]});let _0x5deb50={'mcpServers':{}};if(existsSync(_0x1a9ac2)){const _0x78b8e4=readFileSync(_0x1a9ac2,'utf-8');_0x5deb50=JSON[_0x4dc991(0x178)](_0x78b8e4);}return(!_0x5deb50[_0x4dc991(0x179)]||typeof _0x5deb50[_0x4dc991(0x179)]!==_0x4dc991(0x138))&&(_0x5deb50[_0x4dc991(0x179)]={}),_0x5deb50[_0x4dc991(0x179)][MCP_SERVER_NAME]=_0x5b3c82,writeFileSync(_0x1a9ac2,JSON[_0x4dc991(0x170)](_0x5deb50,null,0x2),'utf-8'),logger['info']('mcp-install',_0x4dc991(0x13e),{'appcode':_0x4b4272,'env':_0x4d8259,'path':_0x1a9ac2}),await copyCursorRules(_0xdaf7f2),{'ide':_0x4dc991(0x155),'status':'success','message':_0x4dc991(0x163)};}catch(_0x1fa85c){return logger['error'](_0x4dc991(0x14b),'Cursor\x20MCP\x20配置失败',{'error':_0x1fa85c instanceof Error?_0x1fa85c[_0x4dc991(0x137)]:String(_0x1fa85c)}),{'ide':_0x4dc991(0x155),'status':_0x4dc991(0x171),'message':_0x1fa85c instanceof Error?_0x1fa85c[_0x4dc991(0x137)]:String(_0x1fa85c)};}}export async function configureClaudeMcp(_0x5de674){const _0x25ebe7=a4_0x24b823,_0x4f0bcd=_0x5de674||process[_0x25ebe7(0x160)](),_0x39c10a=readConfig(_0x4f0bcd),_0x23dc19=_0x39c10a[_0x25ebe7(0x15e)]||_0x39c10a[_0x25ebe7(0x14a)],_0x3217d4=_0x39c10a['env']||_0x25ebe7(0x164);if(!_0x23dc19)return{'ide':_0x25ebe7(0x153),'status':_0x25ebe7(0x171),'message':'需要先配置\x20appcode'};let _0x1d57e5=_0x25ebe7(0x17a)+MCP_SERVER_NAME+'\x20'+MCP_COMMAND+'\x20'+MCP_ARGS[_0x25ebe7(0x168)]('\x20')+_0x25ebe7(0x14f)+_0x23dc19;return _0x3217d4!==_0x25ebe7(0x164)&&(_0x1d57e5+=_0x25ebe7(0x144)+_0x3217d4),await copyAgentsMd(_0x4f0bcd),logger['info'](_0x25ebe7(0x14b),'Claude\x20Code\x20MCP\x20命令已生成',{'command':_0x1d57e5,'appcode':_0x23dc19,'env':_0x3217d4}),console['log'](_0x25ebe7(0x17d)),console[_0x25ebe7(0x15a)]('\x20\x20'+_0x1d57e5+'\x0a'),console[_0x25ebe7(0x15a)](_0x25ebe7(0x13a)),console[_0x25ebe7(0x15a)](_0x25ebe7(0x16c)+_0x23dc19),_0x3217d4!==_0x25ebe7(0x164)&&console['log']('\x20\x20环境:\x20'+_0x3217d4),console[_0x25ebe7(0x15a)](_0x25ebe7(0x177)),{'ide':_0x25ebe7(0x153),'status':_0x25ebe7(0x141),'message':'请手动执行:\x20'+_0x1d57e5};}export async function showOtherGuide(_0xfb72cd){const _0xb8e870=a4_0x24b823,_0x329413=_0xfb72cd||process[_0xb8e870(0x160)](),_0xd6cc60=readConfig(_0x329413),_0x35f1aa=_0xd6cc60['appcode']||_0xd6cc60[_0xb8e870(0x14a)],_0x42ddd9=_0xd6cc60[_0xb8e870(0x182)]||_0xb8e870(0x164);if(!_0x35f1aa)return{'ide':'其他','status':_0xb8e870(0x171),'message':_0xb8e870(0x161)};return console[_0xb8e870(0x15a)](_0xb8e870(0x175)),console[_0xb8e870(0x15a)]('{'),console[_0xb8e870(0x15a)](_0xb8e870(0x17f)),console[_0xb8e870(0x15a)](_0xb8e870(0x147)+MCP_SERVER_NAME+_0xb8e870(0x16e)),console[_0xb8e870(0x15a)](_0xb8e870(0x156)+MCP_COMMAND+'\x22,'),console[_0xb8e870(0x15a)]('\x20\x20\x20\x20\x20\x20\x22args\x22:\x20['+MCP_ARGS[_0xb8e870(0x167)](_0x520416=>'\x22'+_0x520416+'\x22')['join'](',\x20')+'],'),console[_0xb8e870(0x15a)](_0xb8e870(0x181)),console['log'](_0xb8e870(0x174)+_0x35f1aa+'\x22,'),_0x42ddd9!==_0xb8e870(0x164)&&console['log'](_0xb8e870(0x17c)+_0x42ddd9+'\x22,'),console['log']('\x20\x20\x20\x20\x20\x20}'),console[_0xb8e870(0x15a)](_0xb8e870(0x154)),console[_0xb8e870(0x15a)](_0xb8e870(0x140)),console[_0xb8e870(0x15a)]('}\x0a'),logger[_0xb8e870(0x157)](_0xb8e870(0x14b),'其他\x20IDE\x20配置指引已显示',{'appcode':_0x35f1aa,'env':_0x42ddd9}),{'ide':'其他','status':_0xb8e870(0x141),'message':'配置指引已显示'};}export async function configureMcp(_0x1a24a7,_0x52dff0){const _0x31e886=a4_0x24b823;switch(_0x1a24a7){case _0x31e886(0x13f):return await configureCursorMcp(_0x52dff0);case _0x31e886(0x14c):return await configureClaudeMcp(_0x52dff0);default:throw new Error(_0x31e886(0x13b)+_0x1a24a7);}}function a4_0x1a83(_0x28a175,_0x49edae){_0x28a175=_0x28a175-0x135;const _0x112574=a4_0x1125();let _0x1a83de=_0x112574[_0x28a175];return _0x1a83de;}async function copyCursorRules(_0x2b519d){const _0x23a738=a4_0x24b823,_0x587b70=join(_0x2b519d,_0x23a738(0x173)),_0x381005=join(_0x587b70,_0x23a738(0x145));if(existsSync(_0x381005))return;try{!existsSync(_0x587b70)&&mkdirSync(_0x587b70,{'recursive':!![]});const _0x3b04c0=resolve(__dirname,_0x23a738(0x142));existsSync(_0x3b04c0)&&(copyFileSync(_0x3b04c0,_0x381005),logger[_0x23a738(0x157)](_0x23a738(0x14b),_0x23a738(0x15c),{'from':_0x3b04c0,'to':_0x381005}));}catch(_0x324e33){logger['error'](_0x23a738(0x14b),_0x23a738(0x135),{'error':_0x324e33 instanceof Error?_0x324e33['message']:String(_0x324e33)});}}async function copyAgentsMd(_0x59c106){const _0x5a5cc6=a4_0x24b823,_0x20026c=join(_0x59c106,'agents.md');if(existsSync(_0x20026c))return;try{const _0x4945ba=resolve(__dirname,_0x5a5cc6(0x142));if(existsSync(_0x4945ba)){const _0x20aa36=readFileSync(_0x4945ba,_0x5a5cc6(0x14d));writeFileSync(_0x20026c,_0x20aa36,_0x5a5cc6(0x14d)),logger[_0x5a5cc6(0x157)]('mcp-install','创建\x20agents.md\x20文件',{'from':_0x4945ba,'to':_0x20026c});}}catch(_0x59e984){logger[_0x5a5cc6(0x171)](_0x5a5cc6(0x14b),_0x5a5cc6(0x16d),{'error':_0x59e984 instanceof Error?_0x59e984[_0x5a5cc6(0x137)]:String(_0x59e984)});}}export const SKILL_IDE_CONFIGS=IDE_CONFIGS;export async function installSkill(_0x4a055e,_0x5b0f07){const _0x41559d=a4_0x24b823,_0x15ce4d=_0x5b0f07||process[_0x41559d(0x160)](),_0x43d34f=resolve(__dirname,_0x41559d(0x15d)),_0x4532b0=SKILL_IDE_CONFIGS[_0x4a055e];if(!_0x4532b0)return{'ide':_0x4a055e,'status':_0x41559d(0x171),'message':_0x41559d(0x146)+_0x4a055e};const _0x55aa6b=_0x4532b0['name'];try{const _0x22683e=await installSingleIDE(_0x4a055e,_0x4532b0,_0x15ce4d,_0x43d34f);return logger[_0x41559d(0x157)](_0x41559d(0x17e),_0x55aa6b+'\x20技能包安装成功',{'ide':_0x4a055e,'filesCount':_0x22683e}),{'ide':_0x55aa6b,'status':_0x41559d(0x15b),'message':_0x41559d(0x159)+_0x22683e+'\x20项'};}catch(_0x23b1f7){return logger['error'](_0x41559d(0x17e),_0x55aa6b+_0x41559d(0x139),{'error':_0x23b1f7 instanceof Error?_0x23b1f7['message']:String(_0x23b1f7)}),{'ide':_0x55aa6b,'status':'error','message':_0x23b1f7 instanceof Error?_0x23b1f7[_0x41559d(0x137)]:String(_0x23b1f7)};}}async function copyDir(_0x31e97a,_0x4150ab){const _0x28c163=a4_0x24b823,{statSync:_0x141ed0}=await import(_0x28c163(0x16f)),{readdirSync:_0x2cf5be}=await import(_0x28c163(0x16f)),_0x930777=_0x141ed0(_0x31e97a);if(_0x930777[_0x28c163(0x13c)]()){!existsSync(_0x4150ab)&&mkdirSync(_0x4150ab,{'recursive':!![]});const _0x473729=_0x2cf5be(_0x31e97a);for(const _0x56ae2c of _0x473729){await copyDir(join(_0x31e97a,_0x56ae2c),join(_0x4150ab,_0x56ae2c));}}else copyFileSync(_0x31e97a,_0x4150ab);}export async function copySharedSkills(_0x24960d){const _0x4f0c95=a4_0x24b823,_0x88dc07=_0x24960d||process['cwd'](),_0x6f0625=resolve(__dirname,'../../templates/skills'),_0x38c2cc=join(_0x6f0625,'.shared'),_0x2d1b6c=join(_0x88dc07,_0x4f0c95(0x172));if(!existsSync(_0x38c2cc))return![];try{return await copyDir(_0x38c2cc,_0x2d1b6c),logger[_0x4f0c95(0x157)]('skill-install','共享技能文件复制成功',{'path':_0x2d1b6c}),!![];}catch(_0x3f1e6f){return logger['error'](_0x4f0c95(0x17e),_0x4f0c95(0x14e),{'error':_0x3f1e6f instanceof Error?_0x3f1e6f['message']:String(_0x3f1e6f)}),![];}}export function createSkillManifest(_0x304025,_0x428f36){const _0x21c75e=a4_0x24b823,_0x66f24e={'version':_0x21c75e(0x158),'installedAt':new Date()['toISOString'](),'platforms':_0x428f36},_0x57d43c=join(_0x304025,_0x21c75e(0x176)),_0xf6ba7f=join(_0x304025,_0x21c75e(0x148));!existsSync(_0xf6ba7f)&&mkdirSync(_0xf6ba7f,{'recursive':!![]}),writeFileSync(_0x57d43c,JSON[_0x21c75e(0x170)](_0x66f24e,null,0x2),_0x21c75e(0x14d)),logger[_0x21c75e(0x157)](_0x21c75e(0x17e),_0x21c75e(0x136),{'path':_0x57d43c});}
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 +1 @@
1
- (function(_0x6dacf4,_0x4d55db){const _0x2ccb80=a5_0x8cc8,_0x2be50c=_0x6dacf4();while(!![]){try{const _0x543237=-parseInt(_0x2ccb80(0x214))/0x1+-parseInt(_0x2ccb80(0x217))/0x2+-parseInt(_0x2ccb80(0x206))/0x3*(parseInt(_0x2ccb80(0x213))/0x4)+parseInt(_0x2ccb80(0x1f6))/0x5*(parseInt(_0x2ccb80(0x20b))/0x6)+-parseInt(_0x2ccb80(0x215))/0x7+-parseInt(_0x2ccb80(0x1f8))/0x8*(parseInt(_0x2ccb80(0x1f2))/0x9)+parseInt(_0x2ccb80(0x1ed))/0xa;if(_0x543237===_0x4d55db)break;else _0x2be50c['push'](_0x2be50c['shift']());}catch(_0x3a0c39){_0x2be50c['push'](_0x2be50c['shift']());}}}(a5_0x33a1,0x3ebf3));import{jsx as a5_0x28871c,jsxs as a5_0x32d645,Fragment as a5_0x12c4c0}from'react/jsx-runtime';function a5_0x8cc8(_0x5d8bfc,_0x4920bc){_0x5d8bfc=_0x5d8bfc-0x1e2;const _0x33a14b=a5_0x33a1();let _0x8cc835=_0x33a14b[_0x5d8bfc];return _0x8cc835;}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_0x33a1(){const _0x13d74d=['\x1b[0m','online','error','filter','env','setLogPath','16902500wpbftk','datasetName','文档生成完成','green','api-doc','4041279ECUhGJ','map','gray','💡\x20请使用\x20','335emIvgl','*\x20生成的文档文件:','8guAEFb','\x20个数据集中筛选出\x20','使用指定的应用AppCode:\x20','未提供应用AppCode,且配置中也没有默认值','column','未找到任何数据集','*\x20共处理\x20',',\x20失败\x20','\x20(环境:\x20','join','使用配置的应用AppCode:\x20','正在生成\x20','log','指定的数据集代码都不存在:\x20','1719irdXIK','.md\x20(','dim','\x20个数据集','\x1b[90m*\x20从\x20','8130RIwxoU','*\x20输出目录:\x20','./docs','yellow','length','cwd','datasetCode','正在获取数据集列表...','2104xsnfaD','272751MoGkHl','290290sWXROt','white','918748KvDaYW','filePath','文档生成失败:\x20','message','success','\x20重新登录后再试','cyan','red','√\x20文档生成完成!成功\x20','\x20个数据集的文档...','includes','\x1b[33m!\x20以下数据集代码不存在:\x20'];a5_0x33a1=function(){return _0x13d74d;};return a5_0x33a1();}import{generateDatasetDocs}from'./api-doc.js';import{logger}from'../utils/logger.js';export const ApiDocUI=({appCode:_0x310415,env:_0x4d7ab5,output:_0x37d46a,extraParams:_0x9600d1,datasetCodes:_0x51a5bd})=>{const _0xd8f92a=a5_0x8cc8,{exit:_0x5060fb}=useApp(),[_0x2fea48,_0x4439b7]=useState(![]),[_0x49e49c,_0xbfa52c]=useState(''),[_0xb50ca0,_0x3cc928]=useState(![]),[_0x24104e,_0x347620]=useState(null),[_0x39c6cc,_0x3e6dc8]=useState(null),[_0x3abe94,_0x327d79]=useState(0x0),_0x517e6d=readConfig(),_0x45627a=getConfigAppCode(),_0x19fa9e=_0x310415||_0x45627a,_0xe8f796=typeof _0x517e6d?.['env']==='string'?_0x517e6d[_0xd8f92a(0x1eb)]:undefined,_0x1a77bf=_0x4d7ab5||_0xe8f796||_0xd8f92a(0x1e8);initEnv(_0x1a77bf);const _0x55c7ee=_0x37d46a||_0xd8f92a(0x20d),_0x3e562a=_0x310415?_0xd8f92a(0x1fa)+_0x19fa9e:_0xd8f92a(0x202)+_0x19fa9e;useEffect(()=>{_0x4439b7(!![]),_0x1d25c0();},[]),useEffect(()=>{(_0xb50ca0||_0x24104e)&&_0x5060fb();},[_0xb50ca0,_0x24104e,_0x5060fb]);async function _0x1d25c0(){const _0x1bcaf3=_0xd8f92a;if(!_0x19fa9e){_0x347620(_0x1bcaf3(0x1fb));return;}try{logger[_0x1bcaf3(0x1ec)](process[_0x1bcaf3(0x210)]()),_0xbfa52c(_0x1bcaf3(0x212));const {configArray:_0x4b072c}=await fetchModelList(_0x19fa9e);_0x327d79(_0x4b072c[_0x1bcaf3(0x20f)]);if(_0x4b072c[_0x1bcaf3(0x20f)]===0x0){_0x347620(_0x1bcaf3(0x1fd));return;}let _0x2dd899=_0x4b072c;if(_0x51a5bd&&_0x51a5bd['length']>0x0){_0x2dd899=_0x4b072c[_0x1bcaf3(0x1ea)](_0x143d99=>_0x51a5bd['includes'](_0x143d99[_0x1bcaf3(0x211)]));const _0x2863a7=_0x2dd899[_0x1bcaf3(0x1f3)](_0x4bd0c0=>_0x4bd0c0['datasetCode']),_0x594fab=_0x51a5bd[_0x1bcaf3(0x1ea)](_0x3ec555=>!_0x2863a7['includes'](_0x3ec555));_0x594fab[_0x1bcaf3(0x20f)]>0x0&&console[_0x1bcaf3(0x204)](_0x1bcaf3(0x1e6)+_0x594fab[_0x1bcaf3(0x201)](',\x20')+_0x1bcaf3(0x1e7));if(_0x2dd899[_0x1bcaf3(0x20f)]===0x0){_0x347620(_0x1bcaf3(0x205)+_0x51a5bd[_0x1bcaf3(0x201)](',\x20'));return;}console['log'](_0x1bcaf3(0x20a)+_0x4b072c[_0x1bcaf3(0x20f)]+_0x1bcaf3(0x1f9)+_0x2dd899[_0x1bcaf3(0x20f)]+'\x20个匹配的数据集\x1b[0m');}_0xbfa52c(_0x1bcaf3(0x203)+_0x2dd899['length']+_0x1bcaf3(0x1e4));const _0x15534e=await generateDatasetDocs(_0x2dd899,_0x19fa9e,_0x55c7ee,(_0x21e6cc,_0x441a45,_0x4c36b9)=>{const _0x5a56a7=_0x1bcaf3;_0xbfa52c('正在生成\x20'+_0x4c36b9+_0x5a56a7(0x207)+_0x21e6cc+'/'+_0x441a45+')');},_0x9600d1);_0x3e6dc8(_0x15534e),_0x3cc928(!![]);const _0x9509f2=_0x15534e[_0x1bcaf3(0x1ea)](_0x481711=>_0x481711[_0x1bcaf3(0x21b)])[_0x1bcaf3(0x20f)],_0x24a5cb=_0x15534e[_0x1bcaf3(0x1ea)](_0x2f353f=>!_0x2f353f[_0x1bcaf3(0x21b)])['length'];logger[_0x1bcaf3(0x21b)](_0x1bcaf3(0x1f1),_0x1bcaf3(0x1ef),undefined,{'totalCount':_0x15534e['length'],'successCount':_0x9509f2,'failCount':_0x24a5cb,'outputDir':_0x55c7ee});}catch(_0x17c77d){const _0x4d3c86=_0x17c77d instanceof Error?_0x17c77d[_0x1bcaf3(0x21a)]:String(_0x17c77d);logger[_0x1bcaf3(0x1e9)](_0x1bcaf3(0x1f1),_0x1bcaf3(0x219)+_0x4d3c86,{'appCode':_0x19fa9e,'outputDir':_0x55c7ee}),_0x347620(_0x1bcaf3(0x219)+_0x4d3c86);}finally{_0x4439b7(![]);}}const _0x9bbc11=_0x39c6cc?.[_0xd8f92a(0x1ea)](_0x39b908=>_0x39b908[_0xd8f92a(0x21b)])[_0xd8f92a(0x20f)]||0x0,_0x5ad30a=_0x39c6cc?.[_0xd8f92a(0x1ea)](_0x18761f=>!_0x18761f[_0xd8f92a(0x21b)])[_0xd8f92a(0x20f)]||0x0;return a5_0x32d645(Box,{'flexDirection':'column','children':[(_0x2fea48||_0xb50ca0)&&a5_0x32d645(Box,{'children':[a5_0x28871c(Text,{'color':_0xd8f92a(0x1f4),'children':'*\x20'}),a5_0x28871c(Text,{'color':_0x310415?_0xd8f92a(0x216):'dim','children':_0x3e562a})]}),_0x2fea48&&a5_0x28871c(Box,{'children':a5_0x32d645(Text,{'children':['🚀\x20',_0x49e49c,_0xd8f92a(0x200),_0x1a77bf,')']})}),_0xb50ca0&&_0x39c6cc&&a5_0x32d645(Box,{'flexDirection':_0xd8f92a(0x1fc),'children':[a5_0x28871c(Box,{'children':a5_0x32d645(Text,{'color':_0xd8f92a(0x1f0),'children':[_0xd8f92a(0x1e3),_0x9bbc11,'\x20个',_0x5ad30a>0x0&&_0xd8f92a(0x1ff)+_0x5ad30a+'\x20个']})}),a5_0x28871c(Box,{'marginTop':0x1,'children':a5_0x32d645(Text,{'color':_0xd8f92a(0x1f4),'children':[_0xd8f92a(0x1fe),_0x3abe94,_0xd8f92a(0x209)]})}),a5_0x32d645(Box,{'marginTop':0x1,'children':[a5_0x28871c(Text,{'color':_0xd8f92a(0x1f4),'children':_0xd8f92a(0x20c)}),a5_0x28871c(Text,{'color':_0xd8f92a(0x21d),'children':_0x55c7ee})]}),_0x9bbc11>0x0&&a5_0x32d645(a5_0x12c4c0,{'children':[a5_0x28871c(Box,{'marginTop':0x1,'children':a5_0x28871c(Text,{'color':_0xd8f92a(0x1f4),'children':_0xd8f92a(0x1f7)})}),_0x39c6cc[_0xd8f92a(0x1ea)](_0x497f4f=>_0x497f4f['success'])[_0xd8f92a(0x1f3)]((_0x1abb95,_0x2e7f0f)=>a5_0x32d645(Box,{'marginLeft':0x2,'children':[a5_0x32d645(Text,{'color':'cyan','children':['•\x20',_0x1abb95[_0xd8f92a(0x218)]]}),a5_0x32d645(Text,{'color':_0xd8f92a(0x208),'children':['\x20-\x20',_0x1abb95['datasetName']]})]},_0x2e7f0f))]}),_0x5ad30a>0x0&&a5_0x32d645(a5_0x12c4c0,{'children':[a5_0x28871c(Box,{'marginTop':0x1,'children':a5_0x28871c(Text,{'color':'yellow','children':'⚠️\x20以下数据集生成失败:'})}),_0x39c6cc[_0xd8f92a(0x1ea)](_0xc6a8df=>!_0xc6a8df['success'])[_0xd8f92a(0x1f3)]((_0xe5c9e5,_0x485208)=>a5_0x32d645(Box,{'marginLeft':0x2,'flexDirection':_0xd8f92a(0x1fc),'children':[a5_0x32d645(Text,{'color':_0xd8f92a(0x1e2),'children':['•\x20',_0xe5c9e5[_0xd8f92a(0x1ee)],'\x20(',_0xe5c9e5['datasetCode'],')']}),_0xe5c9e5['error']&&a5_0x28871c(Box,{'marginLeft':0x2,'children':a5_0x28871c(Text,{'color':_0xd8f92a(0x208),'children':_0xe5c9e5[_0xd8f92a(0x1e9)]})})]},_0x485208))]})]}),_0x24104e&&a5_0x32d645(Box,{'flexDirection':_0xd8f92a(0x1fc),'children':[a5_0x28871c(Box,{'children':a5_0x32d645(Text,{'color':_0xd8f92a(0x1e2),'children':['❌\x20',_0x24104e]})}),_0x24104e[_0xd8f92a(0x1e5)]('登录')&&a5_0x32d645(Box,{'marginTop':0x1,'children':[a5_0x28871c(Text,{'color':_0xd8f92a(0x20e),'children':_0xd8f92a(0x1f5)}),a5_0x28871c(Text,{'color':_0xd8f92a(0x21d),'children':'lovrabet\x20auth'}),a5_0x28871c(Text,{'color':_0xd8f92a(0x20e),'children':_0xd8f92a(0x21c)})]})]})]});};
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 +1 @@
1
- const a6_0x3cb070=a6_0x5d13;(function(_0x248146,_0x56a539){const _0xc8f0d1=a6_0x5d13,_0x464c95=_0x248146();while(!![]){try{const _0x53c4f1=parseInt(_0xc8f0d1(0x161))/0x1*(parseInt(_0xc8f0d1(0x15e))/0x2)+parseInt(_0xc8f0d1(0x13a))/0x3+-parseInt(_0xc8f0d1(0x148))/0x4+-parseInt(_0xc8f0d1(0x13e))/0x5*(-parseInt(_0xc8f0d1(0x156))/0x6)+parseInt(_0xc8f0d1(0x14c))/0x7+parseInt(_0xc8f0d1(0x146))/0x8*(parseInt(_0xc8f0d1(0x14b))/0x9)+-parseInt(_0xc8f0d1(0x15d))/0xa;if(_0x53c4f1===_0x56a539)break;else _0x464c95['push'](_0x464c95['shift']());}catch(_0x453d90){_0x464c95['push'](_0x464c95['shift']());}}}(a6_0xb922,0xdfcb9));function a6_0xb922(){const _0x5d014b=['4304823DLBiTk','markdown','success','生成文档成功:\x20','20ziteyg','push',']\x20正在生成:\x20','./docs','.md','.md\x20-\x20','stringify','text','1296jyslty','error','381408SFoHHE','datasetCode','log','50067IwAtRs','12586035VOHfkR','message','json','tableName','),HTTP状态码:\x20','join','等待\x203\x20秒...\x0a','/api/node-toolbox/api-doc-generator','✓\x20成功生成:\x20','name','860736VdUnXU','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','生成文档失败:\x20','length','✗\x20失败:\x20','data','status','42836720RCnqac','14OVlFWW','string','):缺少\x20data.markdown\x20字段','83959IirVqU','api-doc','utf8','获取文档失败\x20(','POST'];a6_0xb922=function(){return _0x5d014b;};return a6_0xb922();}import{mkdirSync,writeFileSync}from'node:fs';import a6_0x21d42f 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(_0x5b034a){const _0x5b4eee=a6_0x5d13,{appCode:_0xf2197c,datasetCode:_0x32b691,datasetId:_0x4476ee,extraParams:_0x1dc4a9}=_0x5b034a,_0x947c20=getApiDomain(),_0x2a5664=_0x947c20+_0x5b4eee(0x153),_0x6bcf65={'appCode':_0xf2197c,'datasetCode':_0x32b691,'datasetId':_0x4476ee,..._0x1dc4a9||{}},_0x72bcf2=await fetch(_0x2a5664,{'method':_0x5b4eee(0x139),'headers':{'Content-Type':'application/json','Cookie':getCookie()},'body':JSON[_0x5b4eee(0x144)](_0x6bcf65)});if(!_0x72bcf2['ok']){if(_0x72bcf2[_0x5b4eee(0x15c)]===0x191)throw new Error(_0x5b4eee(0x157));let _0x588351='';try{_0x588351=await _0x72bcf2[_0x5b4eee(0x145)]();}catch(_0x4627c6){}throw new Error(_0x5b4eee(0x164)+_0x32b691+_0x5b4eee(0x150)+_0x72bcf2[_0x5b4eee(0x15c)]+(_0x588351?'\x0a'+_0x588351:''));}const _0x4b14c2=await _0x72bcf2[_0x5b4eee(0x14e)]();if(!_0x4b14c2[_0x5b4eee(0x15b)]||typeof _0x4b14c2[_0x5b4eee(0x15b)]['markdown']!==_0x5b4eee(0x15f))throw new Error('响应数据格式错误\x20('+_0x32b691+_0x5b4eee(0x160));return _0x4b14c2['data'][_0x5b4eee(0x13b)];}function delay(_0x2a3ec9){return new Promise(_0x1ac2a7=>setTimeout(_0x1ac2a7,_0x2a3ec9));}function a6_0x5d13(_0x4a2fb8,_0x530422){_0x4a2fb8=_0x4a2fb8-0x139;const _0xb922b7=a6_0xb922();let _0x5d13dc=_0xb922b7[_0x4a2fb8];return _0x5d13dc;}export async function generateDatasetDocs(_0x406428,_0x4096ee,_0x1cb19e=a6_0x3cb070(0x141),_0x118400,_0x49f22e){const _0x2a8ae2=a6_0x3cb070;mkdirSync(_0x1cb19e,{'recursive':!![]});const _0xc43b52=[],_0x3471df=_0x406428['length'];console[_0x2a8ae2(0x14a)]('\x0a共有\x20'+_0x3471df+'\x20个数据集需要生成文档\x0a');for(let _0x345120=0x0;_0x345120<_0x406428[_0x2a8ae2(0x159)];_0x345120++){const _0x2e8450=_0x406428[_0x345120],_0x170066=_0x345120+0x1,_0x57112c=_0x2e8450[_0x2a8ae2(0x14f)];try{console[_0x2a8ae2(0x14a)]('['+_0x170066+'/'+_0x3471df+_0x2a8ae2(0x140)+_0x57112c+'.md\x20('+_0x2e8450[_0x2a8ae2(0x155)]+')');_0x118400&&_0x118400(_0x170066,_0x3471df,_0x57112c);const _0x1f593f=await fetchDatasetDoc({'appCode':_0x4096ee,'datasetCode':_0x2e8450[_0x2a8ae2(0x149)],'datasetId':_0x2e8450['id'],'enableAI':![],'extraParams':_0x49f22e}),_0x5b2a93=a6_0x21d42f[_0x2a8ae2(0x151)](_0x1cb19e,_0x57112c+_0x2a8ae2(0x142));writeFileSync(_0x5b2a93,_0x1f593f,{'encoding':_0x2a8ae2(0x163)}),console[_0x2a8ae2(0x14a)](_0x2a8ae2(0x154)+_0x57112c+'.md'),logger[_0x2a8ae2(0x13c)](_0x2a8ae2(0x162),_0x2a8ae2(0x13d)+_0x57112c,undefined,{'datasetCode':_0x2e8450[_0x2a8ae2(0x149)],'datasetName':_0x2e8450[_0x2a8ae2(0x155)],'filePath':_0x5b2a93,'progress':_0x170066+'/'+_0x3471df}),_0xc43b52['push']({'datasetCode':_0x2e8450[_0x2a8ae2(0x149)],'datasetName':_0x2e8450[_0x2a8ae2(0x155)],'filePath':_0x5b2a93,'success':!![]}),_0x170066<_0x3471df&&await delay(0x1388);}catch(_0x3f203b){const _0x4e45d2=_0x3f203b instanceof Error?_0x3f203b[_0x2a8ae2(0x14d)]:String(_0x3f203b);console[_0x2a8ae2(0x14a)](_0x2a8ae2(0x15a)+_0x57112c+_0x2a8ae2(0x143)+_0x4e45d2+'\x0a'),logger[_0x2a8ae2(0x147)](_0x2a8ae2(0x162),_0x2a8ae2(0x158)+_0x2e8450['datasetCode'],{'datasetCode':_0x2e8450[_0x2a8ae2(0x149)],'datasetName':_0x2e8450['name'],'error':_0x4e45d2,'progress':_0x170066+'/'+_0x3471df}),_0xc43b52[_0x2a8ae2(0x13f)]({'datasetCode':_0x2e8450['datasetCode'],'datasetName':_0x2e8450[_0x2a8ae2(0x155)],'filePath':'','success':![],'error':_0x4e45d2}),_0x170066<_0x3471df&&(console[_0x2a8ae2(0x14a)](_0x2a8ae2(0x152)),await delay(0xbb8));}}return _0xc43b52;}
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 +1 @@
1
- (function(_0x292f99,_0x58d351){const _0x48c168=a7_0x10ac,_0x505c2d=_0x292f99();while(!![]){try{const _0x5687f3=parseInt(_0x48c168(0xc2))/0x1*(parseInt(_0x48c168(0xed))/0x2)+parseInt(_0x48c168(0xc4))/0x3*(parseInt(_0x48c168(0xf1))/0x4)+-parseInt(_0x48c168(0xe0))/0x5+parseInt(_0x48c168(0xd9))/0x6*(parseInt(_0x48c168(0xd6))/0x7)+parseInt(_0x48c168(0xd5))/0x8*(parseInt(_0x48c168(0xd8))/0x9)+parseInt(_0x48c168(0xcc))/0xa+parseInt(_0x48c168(0xc3))/0xb*(-parseInt(_0x48c168(0xc9))/0xc);if(_0x5687f3===_0x58d351)break;else _0x505c2d['push'](_0x505c2d['shift']());}catch(_0x437c45){_0x505c2d['push'](_0x505c2d['shift']());}}}(a7_0x26f1,0x5ed4e));import{jsx as a7_0x477d06,jsxs as a7_0x3a9db2}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{generateApiFile}from'./generate-api-file.js';import{logger}from'../utils/logger.js';function a7_0x10ac(_0x848882,_0x2c88f9){_0x848882=_0x848882-0xbf;const _0x26f15c=a7_0x26f1();let _0x10ac78=_0x26f15c[_0x848882];return _0x10ac78;}import{fetchModelList}from'./fetch-model-list.js';function a7_0x26f1(){const _0xdfcdd4=['join','setLogPath','dim','拉取\x20API\x20配置失败:\x20','11300880gpTosK','duplicateCount','!\x20原始数据集\x20','449420vEftVn','-client','使用配置的应用AppCode:\x20','*\x20已生成文件:','modelCount','white','cwd','cyan','env','46160XvXdAu','249319gdcMfn','error','999TRaPjM','78OXiJDa','.ts','gray','string','column','*\x20导入方式:','\x20from\x20\x27@/','1735265qgthPO','yellow','{\x20lovrabetClient\x20}','client','未提供应用AppCode,且配置中也没有默认值','length','./src/api/','green','slice','originalCount','\x20个模型)','datasetCount','\x20个数据集,生成','1094DIpYrH','💡\x20请使用\x20','import\x20','api','348qeoPLV','replace','includes','\x20个模型','🚀\x20正在从服务器拉取\x20API\x20配置...\x20(环境:\x20','\x20-\x20客户端实例文件','\x20重新登录后再试','289YXSFGp','11fBnMfJ','12783VluqAQ'];a7_0x26f1=function(){return _0xdfcdd4;};return a7_0x26f1();}export const ApiPullUI=({appCode:_0x5c42f1,env:_0xd7b602,output:_0x211295})=>{const _0xf8cd16=a7_0x10ac,{exit:_0x55fd97}=useApp(),[_0x213ec1,_0x5ba92f]=useState(![]),[_0x26f435,_0x29d30f]=useState(![]),[_0x2aea71,_0x1233de]=useState(null),[_0x358a16,_0x345f7c]=useState(null),_0x119c33=readConfig(),_0x17f057=getConfigAppCode(),_0x1f2d64=_0x5c42f1||_0x17f057,_0x1bedd9=typeof _0x119c33?.['env']===_0xf8cd16(0xdc)?_0x119c33[_0xf8cd16(0xd4)]:undefined,_0x2d7cf3=_0xd7b602||_0x1bedd9||'online';initEnv(_0x2d7cf3);const _0x29472c=_0x211295||_0xf8cd16(0xe6),_0x85c6f5=_0x5c42f1&&_0x5c42f1[_0xf8cd16(0xf3)]('-')?_0x5c42f1['split']('-')[_0xf8cd16(0xe8)](0x1)[_0xf8cd16(0xc5)]('-'):'',_0x4ccb01=_0x5c42f1?'使用指定的应用AppCode:\x20'+_0x1f2d64:_0xf8cd16(0xce)+_0x1f2d64,_0x128e1b=_0x85c6f5?_0x85c6f5+'-api':_0xf8cd16(0xf0),_0x104803=_0x85c6f5?_0x85c6f5+_0xf8cd16(0xcd):_0xf8cd16(0xe3);useEffect(()=>{_0x5ba92f(!![]),_0x11b45f();},[]),useEffect(()=>{(_0x26f435||_0x2aea71)&&_0x55fd97();},[_0x26f435,_0x2aea71,_0x55fd97]);async function _0x11b45f(){const _0x17ab45=_0xf8cd16;if(!_0x1f2d64){_0x1233de(_0x17ab45(0xe4));return;}try{logger[_0x17ab45(0xc6)](process[_0x17ab45(0xd2)]());const {configArray:_0x3dc900}=await fetchModelList(_0x1f2d64),_0x5e4809=_0x3dc900[_0x17ab45(0xe5)],_0x10a70c=!_0x5c42f1,_0x271df1=await generateApiFile(_0x3dc900,_0x85c6f5,_0x1f2d64,_0x10a70c,_0x2d7cf3,_0x29472c),_0x2dc130=_0x29472c['endsWith']('/')?_0x29472c:_0x29472c+'/';_0x345f7c({'api':''+_0x2dc130+_0x128e1b+'.ts','client':''+_0x2dc130+_0x104803+_0x17ab45(0xda),'modelCount':_0x271df1[_0x17ab45(0xd0)],'datasetCount':_0x5e4809,'originalCount':_0x5e4809,'duplicateCount':0x0}),_0x29d30f(!![]);}catch(_0x817285){const _0x24f665=_0x817285 instanceof Error?_0x817285['message']:String(_0x817285);logger[_0x17ab45(0xd7)]('api-pull',_0x17ab45(0xc8)+_0x24f665,{'appCode':_0x1f2d64,'error':_0x24f665}),_0x1233de(_0x17ab45(0xc8)+_0x24f665);}finally{_0x5ba92f(![]);}}return a7_0x3a9db2(Box,{'flexDirection':'column','children':[(_0x213ec1||_0x26f435)&&a7_0x3a9db2(Box,{'children':[a7_0x477d06(Text,{'color':'gray','children':'*\x20'}),a7_0x477d06(Text,{'color':_0x5c42f1?_0xf8cd16(0xd1):'dim','children':_0x4ccb01})]}),_0x213ec1&&a7_0x477d06(Box,{'children':a7_0x3a9db2(Text,{'children':[_0xf8cd16(0xbf),_0x2d7cf3,')']})}),_0x26f435&&_0x358a16&&a7_0x3a9db2(Box,{'flexDirection':_0xf8cd16(0xdd),'children':[a7_0x477d06(Box,{'children':a7_0x3a9db2(Text,{'color':_0xf8cd16(0xe7),'children':['√\x20成功拉取\x20',_0x358a16[_0xf8cd16(0xeb)],_0xf8cd16(0xec),'\x20',_0x358a16[_0xf8cd16(0xd0)],_0xf8cd16(0xf4)]})}),_0x358a16[_0xf8cd16(0xca)]>0x0&&a7_0x477d06(Box,{'marginTop':0x1,'children':a7_0x3a9db2(Text,{'color':_0xf8cd16(0xe1),'children':[_0xf8cd16(0xcb),_0x358a16[_0xf8cd16(0xe9)],'\x20个,过滤重复','\x20',_0x358a16[_0xf8cd16(0xca)],'\x20个']})}),a7_0x477d06(Box,{'marginTop':0x1,'children':a7_0x477d06(Text,{'color':'gray','children':_0xf8cd16(0xcf)})}),a7_0x3a9db2(Box,{'marginLeft':0x2,'children':[a7_0x3a9db2(Text,{'color':'cyan','children':['•\x20',_0x358a16[_0xf8cd16(0xf0)]]}),a7_0x3a9db2(Text,{'color':'dim','children':['\x20','-\x20模型配置文件\x20(',_0x358a16[_0xf8cd16(0xd0)],_0xf8cd16(0xea)]})]}),a7_0x3a9db2(Box,{'marginLeft':0x2,'children':[a7_0x3a9db2(Text,{'color':_0xf8cd16(0xd3),'children':['•\x20',_0x358a16['client']]}),a7_0x477d06(Text,{'color':_0xf8cd16(0xc7),'children':_0xf8cd16(0xc0)})]}),a7_0x477d06(Box,{'marginTop':0x1,'children':a7_0x477d06(Text,{'color':_0xf8cd16(0xdb),'children':_0xf8cd16(0xde)})}),a7_0x477d06(Box,{'marginLeft':0x2,'children':a7_0x3a9db2(Text,{'color':_0xf8cd16(0xe1),'children':[_0xf8cd16(0xef),_0xf8cd16(0xe2),_0xf8cd16(0xdf),_0x358a16[_0xf8cd16(0xe3)][_0xf8cd16(0xf2)](/^\.\//,'')[_0xf8cd16(0xf2)](_0xf8cd16(0xda),''),'\x27']})})]}),_0x2aea71&&a7_0x3a9db2(Box,{'flexDirection':_0xf8cd16(0xdd),'children':[a7_0x477d06(Box,{'children':a7_0x3a9db2(Text,{'color':'red','children':['❌\x20',_0x2aea71]})}),_0x2aea71['includes']('登录')&&a7_0x3a9db2(Box,{'marginTop':0x1,'children':[a7_0x477d06(Text,{'color':_0xf8cd16(0xe1),'children':_0xf8cd16(0xee)}),a7_0x477d06(Text,{'color':'cyan','children':'lovrabet\x20auth'}),a7_0x477d06(Text,{'color':'yellow','children':_0xf8cd16(0xc1)})]})]})]});};
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 +1 @@
1
- (function(_0x5af338,_0x2abb1b){const _0x3cbc71=a8_0x2657,_0x330361=_0x5af338();while(!![]){try{const _0xdddc86=parseInt(_0x3cbc71(0x9f))/0x1+parseInt(_0x3cbc71(0xa5))/0x2*(parseInt(_0x3cbc71(0x9b))/0x3)+-parseInt(_0x3cbc71(0xa4))/0x4*(parseInt(_0x3cbc71(0x90))/0x5)+-parseInt(_0x3cbc71(0x99))/0x6+parseInt(_0x3cbc71(0x8d))/0x7+parseInt(_0x3cbc71(0x8b))/0x8+-parseInt(_0x3cbc71(0x94))/0x9;if(_0xdddc86===_0x2abb1b)break;else _0x330361['push'](_0x330361['shift']());}catch(_0x132efc){_0x330361['push'](_0x330361['shift']());}}}(a8_0x4c67,0x30dba));function a8_0x2657(_0x3b4931,_0x28390f){_0x3b4931=_0x3b4931-0x8b;const _0x4c673e=a8_0x4c67();let _0x26571e=_0x4c673e[_0x3b4931];return _0x26571e;}function a8_0x4c67(){const _0x4c5c8b=['3eEspvq','error','data','info','252159LnVMZX','count','fetch-model-list','未知错误','获取数据集失败,HTTP状态码:\x20','8AVzEQV','723546DanhJu','configArray','获取数据集失败:\x20','401','正在从服务器拉取模型列表...\x20(环境:\x20','860016RroAjQ','登录鉴权失败,登录已过期,请使用\x20lovrabet\x20auth\x20重新登录','1022392qeLNSK','includes','status','25965eFbomZ','errorCode','success','message','5739246UMuUhw','errorMsg','code','/api/node-toolbox/dataset/model-list?appcode=','&otype=array','115728HXsINL','json'];a8_0x4c67=function(){return _0x4c5c8b;};return a8_0x4c67();}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(_0x2b46cc){const _0x162051=a8_0x2657,_0x4283a8=getEnv(),_0x420e3f=getApiDomain()+_0x162051(0x97)+_0x2b46cc+_0x162051(0x98);logger[_0x162051(0x9e)](_0x162051(0xa1),_0x162051(0xa9)+_0x4283a8+')',{'apiUrl':_0x420e3f});const _0xc9f10b=await fetch(_0x420e3f,{'headers':{'Cookie':getCookie()}});if(!_0xc9f10b['ok']){if(_0xc9f10b[_0x162051(0x8f)]===0x191)throw new Error(_0x162051(0x8c));throw new Error(_0x162051(0xa3)+_0xc9f10b[_0x162051(0x8f)]);}const _0xccbda6=await _0xc9f10b[_0x162051(0x9a)]();if(!_0xccbda6[_0x162051(0x92)]){const _0x104f46=_0xccbda6[_0x162051(0x95)]||_0xccbda6[_0x162051(0x93)]||_0xccbda6[_0x162051(0x9d)]?.[_0x162051(0x93)]||_0xccbda6['errorMessage']||_0xccbda6[_0x162051(0x9c)]||_0x162051(0xa2);if(_0x104f46[_0x162051(0x8e)](_0x162051(0xa8))||_0x104f46['includes']('Unauthorized')||_0x104f46[_0x162051(0x8e)]('登录')||_0x104f46[_0x162051(0x8e)]('认证')||_0xccbda6[_0x162051(0x91)]==='UNAUTHORIZED'||_0xccbda6[_0x162051(0x96)]===0x191||_0xccbda6[_0x162051(0x96)]===_0x162051(0xa8))throw new Error(_0x162051(0x8c));throw new Error(_0x162051(0xa7)+_0x104f46);}return{'configArray':_0xccbda6[_0x162051(0x9d)][_0x162051(0xa6)],'count':_0xccbda6['data'][_0x162051(0xa0)]};}
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 +1 @@
1
- function a9_0x2ba4(){const _0x51eee7=['endsWith','3083853YUPpkA','.ts','25GXkPIs','-client','346973dpODSr','28856BXUTJC','api.ts.tpl','forEach','{\x20apiConfigName:\x20\x22','name','2359978URZYbw','api','250OAcUOb','typescript','string','success','templates/generate-api','9837716zvBGeq','-api','client.ts.tpl','replaceApiContent','length','2041350zAiwFs','join','client','51450168zGbFQl','app','请先通过\x20`lovrabet\x20config\x20set\x20app\x20<value>`\x20配置应用\x20Code','key','\x22\x20}','4nEwjed','push','4167xnJHOd',',\x20env:\x20\x22','datasetCode','1vZaOXd','env','utf8','online','CONFIG_NAMES.DEFAULT'];a9_0x2ba4=function(){return _0x51eee7;};return a9_0x2ba4();}(function(_0x4b0db2,_0x834ee2){const _0x22dda7=a9_0x26cd,_0x52a44a=_0x4b0db2();while(!![]){try{const _0x23cdbd=parseInt(_0x22dda7(0x10b))/0x1*(-parseInt(_0x22dda7(0xf2))/0x2)+-parseInt(_0x22dda7(0x111))/0x3*(parseInt(_0x22dda7(0x106))/0x4)+parseInt(_0x22dda7(0x113))/0x5*(-parseInt(_0x22dda7(0xfe))/0x6)+parseInt(_0x22dda7(0xf9))/0x7+-parseInt(_0x22dda7(0x116))/0x8*(parseInt(_0x22dda7(0x108))/0x9)+parseInt(_0x22dda7(0xf4))/0xa*(parseInt(_0x22dda7(0x115))/0xb)+parseInt(_0x22dda7(0x101))/0xc;if(_0x23cdbd===_0x834ee2)break;else _0x52a44a['push'](_0x52a44a['shift']());}catch(_0x72f79d){_0x52a44a['push'](_0x52a44a['shift']());}}}(a9_0x2ba4,0xdc4e3));import a9_0x325f8 from'prettier';function a9_0x26cd(_0x3117f5,_0x3df4b9){_0x3117f5=_0x3117f5-0xf2;const _0x2ba40e=a9_0x2ba4();let _0x26cd17=_0x2ba40e[_0x3117f5];return _0x26cd17;}import{mkdirSync,writeFileSync,readFileSync}from'node:fs';import a9_0x3ef38f 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(_0x54cee1,_0x578a36='',_0x178840,_0x449904=![],_0x1335ad,_0x3a8a66='./src/api/'){const _0x5abcf9=a9_0x26cd,_0x2cfb10=readConfig(),_0x1e9746=_0x178840||_0x2cfb10?.[_0x5abcf9(0x102)];if(typeof _0x1e9746!==_0x5abcf9(0xf6)||!_0x1e9746)throw new Error(_0x5abcf9(0x103));const _0x340267=_0x449904?_0x5abcf9(0x10f):'\x22'+_0x1e9746+'\x22',_0x46d37b=typeof _0x2cfb10[_0x5abcf9(0x10c)]===_0x5abcf9(0xf6)?_0x2cfb10[_0x5abcf9(0x10c)]:undefined,_0x56956f=_0x1335ad||_0x46d37b||_0x5abcf9(0x10e),_0x2fe189=_0x56956f!==_0x5abcf9(0x10e);let _0xe1c09c;if(_0x449904)_0x2fe189?_0xe1c09c='{\x20apiConfigName:\x20'+_0x340267+',\x20env:\x20\x22'+_0x56956f+_0x5abcf9(0x105):_0xe1c09c='';else{const _0x186f64=_0x2fe189?_0x5abcf9(0x109)+_0x56956f+'\x22':'';_0xe1c09c=_0x5abcf9(0x119)+_0x1e9746+'\x22'+_0x186f64+'\x20}';}const _0x7c2790=_0x578a36?_0x578a36+_0x5abcf9(0xfa):_0x5abcf9(0xf3),_0x1d188d=_0x578a36?_0x578a36+_0x5abcf9(0x114):_0x5abcf9(0x100),_0x57cc21=[];_0x54cee1[_0x5abcf9(0x118)](_0x332a07=>{const _0x12406f=_0x5abcf9;_0x57cc21[_0x12406f(0x107)]({'datasetCode':_0x332a07[_0x12406f(0x10a)],'tableName':_0x332a07['tableName'],'name':_0x332a07[_0x12406f(0x11a)]||'','alias':_0x332a07['alias']||_0x332a07[_0x12406f(0x104)]});});const _0x8c2d14=fileURLToPath(import.meta.url),_0x2a371a=a9_0x3ef38f['resolve'](a9_0x3ef38f['dirname'](_0x8c2d14),'../..'),_0x21b82d=a9_0x3ef38f[_0x5abcf9(0xff)](_0x2a371a,_0x5abcf9(0xf8)),_0x13cd82=a9_0x3ef38f[_0x5abcf9(0xff)](_0x21b82d,_0x5abcf9(0x117)),_0x4ba087=a9_0x3ef38f[_0x5abcf9(0xff)](_0x21b82d,_0x5abcf9(0xfb)),_0x5b4793=_0x3a8a66[_0x5abcf9(0x110)]('/')?_0x3a8a66['slice'](0x0,-0x1):_0x3a8a66;mkdirSync(_0x5b4793,{'recursive':!![]});const _0xdae983=_0x57cc21[0x0]?.['alias'],_0x15038d=readFileSync(_0x13cd82,_0x5abcf9(0x10d)),_0x59d452=TemplateReplacer[_0x5abcf9(0xfc)](_0x15038d,_0x1e9746,_0x57cc21,_0xdae983,_0x7c2790,_0x340267),_0x314ea1=await a9_0x325f8['format'](_0x59d452,{'parser':_0x5abcf9(0xf5)}),_0x57fd2c=_0x5b4793+'/'+_0x7c2790+_0x5abcf9(0x112);writeFileSync(_0x57fd2c,_0x314ea1,{'encoding':_0x5abcf9(0x10d)});const _0x4946c0=readFileSync(_0x4ba087,'utf8'),_0x192436=TemplateReplacer[_0x5abcf9(0xfc)](_0x4946c0,_0x1e9746,_0x57cc21,_0xdae983,_0x7c2790,_0x340267,_0xe1c09c),_0x5967af=await a9_0x325f8['format'](_0x192436,{'parser':'typescript'}),_0x3f142a=_0x5b4793+'/'+_0x1d188d+'.ts';writeFileSync(_0x3f142a,_0x5967af,{'encoding':_0x5abcf9(0x10d)});const _0x1b7e77=_0x57cc21[_0x5abcf9(0xfd)];return logger[_0x5abcf9(0xf7)]('init-api','API\x20文件生成成功!',undefined,{'apiFile':_0x57fd2c,'clientFile':_0x3f142a,'modelCount':_0x1b7e77,'configName':_0x340267}),{'modelCount':_0x1b7e77,'apiFilePath':_0x57fd2c,'clientFilePath':_0x3f142a,'configName':_0x340267};}
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};}
package/lib/api/main.js CHANGED
@@ -1 +1 @@
1
- (function(_0x3d6773,_0x374f4d){const _0x16b40b=a10_0x4ecb,_0x28e526=_0x3d6773();while(!![]){try{const _0x43ab76=-parseInt(_0x16b40b(0x131))/0x1*(-parseInt(_0x16b40b(0x138))/0x2)+parseInt(_0x16b40b(0x122))/0x3+-parseInt(_0x16b40b(0x142))/0x4+-parseInt(_0x16b40b(0x149))/0x5+-parseInt(_0x16b40b(0x129))/0x6+-parseInt(_0x16b40b(0x128))/0x7*(-parseInt(_0x16b40b(0x13b))/0x8)+-parseInt(_0x16b40b(0x12c))/0x9*(-parseInt(_0x16b40b(0x147))/0xa);if(_0x43ab76===_0x374f4d)break;else _0x28e526['push'](_0x28e526['shift']());}catch(_0x5c853c){_0x28e526['push'](_0x28e526['shift']());}}}(a10_0x3207,0x97593));function a10_0x3207(){const _0x3af066=['\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20pull\x20--appcode\x20<app-code>','log','\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配置文件','\x1b[90m*\x20仅生成指定数据集的文档:\x20','flags','349374HdVLic','help','\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','\x20\x20\x202.\x20使用参数:\x20lovrabet\x20api\x20doc\x20--appcode\x20<app-code>','filter','length','7RylpfY','6198858STiYif','doc','env','72gNrUaI','\x1b[90m\x20\x20(注:\x20--appcode\x20参数与配置一致,将使用默认配置)\x1b[0m','string','exit','trim','66395KOkoGp','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20','pull','\x20\x20lovrabet\x20api\x20doc\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定文档输出目录(默认:\x20./docs)','\x1b[0m','\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','object','2nYsfTP','\x1b[90m*\x20使用配置的应用AppCode:\x20','❌\x20错误:不再支持位置参数方式','8569304KvyOhC','map','请使用\x20--appcode\x20参数,例如:','parse','error','\x20\x20lovrabet\x20api\x20pull\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)','\x20\x20lovrabet\x20api\x20pull\x20--appcode\x20<code>\x20\x20\x20\x20\x20\x20//\x20使用指定的\x20appcode','3491940pWLAeo','input','params','Unknown\x20api\x20command:\x20','datasetcode','1698190LlYfDK','!\x20请使用以下方式之一:','432585QMGpcV','output','appcode','Available\x20commands:','\x20\x20\x201.\x20配置默认值:\x20lovrabet\x20config\x20set\x20appcode\x20<app-code>','×\x20未配置\x20AppCode','\x20\x20lovrabet\x20api\x20pull\x20--output\x20<dir>\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定输出目录(默认:\x20./src/api/)','message'];a10_0x3207=function(){return _0x3af066;};return a10_0x3207();}import{jsx as a10_0x3d34a8}from'react/jsx-runtime';import{render}from'ink';import{ApiPullUI}from'./api-pull-ui.js';function a10_0x4ecb(_0x34f124,_0x1abd05){_0x34f124=_0x34f124-0x122;const _0x3207a5=a10_0x3207();let _0x4ecb73=_0x3207a5[_0x34f124];return _0x4ecb73;}import{ApiDocUI}from'./api-doc-ui.js';import{getConfigAppCode}from'../utils/config.js';export async function apiCli(_0x5e8fe2){const _0x5745fe=a10_0x4ecb,_0x41a128=_0x5e8fe2[_0x5745fe(0x143)][0x1];if(_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x123)]){console[_0x5745fe(0x152)](_0x5745fe(0x136));return;}if(_0x41a128===_0x5745fe(0x133)){_0x5e8fe2['input'][0x2]&&(console[_0x5745fe(0x13f)](_0x5745fe(0x13a)),console[_0x5745fe(0x152)](_0x5745fe(0x13d)),console[_0x5745fe(0x152)](_0x5745fe(0x132)+_0x5e8fe2[_0x5745fe(0x143)][0x2]),process[_0x5745fe(0x12f)](0x1));const _0x2f7985=getConfigAppCode();let _0x5554e0=_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x14b)];const _0x126fbe=typeof _0x5e8fe2[_0x5745fe(0x155)]['env']===_0x5745fe(0x12e)?_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x12b)]:undefined,_0xfa09a7=_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x14a)];!_0x5554e0&&!_0x2f7985&&(console[_0x5745fe(0x13f)]('×\x20未配置\x20AppCode'),console[_0x5745fe(0x152)](_0x5745fe(0x148)),console[_0x5745fe(0x152)](_0x5745fe(0x14d)),console[_0x5745fe(0x152)](_0x5745fe(0x151)),process[_0x5745fe(0x12f)](0x1)),_0x5554e0&&_0x2f7985&&_0x5554e0===_0x2f7985&&(console['log'](_0x5745fe(0x139)+_0x5554e0+_0x5745fe(0x135)),console['log'](_0x5745fe(0x12d)),_0x5554e0=undefined),render(a10_0x3d34a8(ApiPullUI,{'appCode':_0x5554e0,'env':_0x126fbe,'output':_0xfa09a7}));}else{if(_0x41a128===_0x5745fe(0x12a)){_0x5e8fe2[_0x5745fe(0x143)][0x2]&&(console[_0x5745fe(0x13f)](_0x5745fe(0x13a)),console[_0x5745fe(0x152)]('请使用\x20--appcode\x20参数,例如:'),console[_0x5745fe(0x152)]('\x20\x20lovrabet\x20api\x20doc\x20--appcode\x20'+_0x5e8fe2[_0x5745fe(0x143)][0x2]),process['exit'](0x1));const _0x20c472=getConfigAppCode();let _0x39b511=_0x5e8fe2['flags']['appcode'];const _0x1e5a46=typeof _0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x12b)]===_0x5745fe(0x12e)?_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x12b)]:undefined,_0x4cf2e0=_0x5e8fe2[_0x5745fe(0x155)]['output'],_0x5cc844=_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x144)],_0x290a32=_0x5e8fe2[_0x5745fe(0x155)][_0x5745fe(0x146)];!_0x39b511&&!_0x20c472&&(console[_0x5745fe(0x13f)](_0x5745fe(0x14e)),console['log'](_0x5745fe(0x148)),console[_0x5745fe(0x152)](_0x5745fe(0x14d)),console[_0x5745fe(0x152)](_0x5745fe(0x125)),process[_0x5745fe(0x12f)](0x1));_0x39b511&&_0x20c472&&_0x39b511===_0x20c472&&(console[_0x5745fe(0x152)]('\x1b[90m*\x20使用配置的应用AppCode:\x20'+_0x39b511+'\x1b[0m'),_0x39b511=undefined);let _0x56233d;if(_0x5cc844)try{_0x56233d=JSON[_0x5745fe(0x13e)](_0x5cc844),(typeof _0x56233d!==_0x5745fe(0x137)||_0x56233d===null||Array['isArray'](_0x56233d))&&(console[_0x5745fe(0x13f)]('×\x20--params\x20参数必须是一个有效的\x20JSON\x20对象'),process['exit'](0x1));}catch(_0x3457ad){console[_0x5745fe(0x13f)]('×\x20--params\x20参数不是有效的\x20JSON\x20格式'),console[_0x5745fe(0x13f)]('\x20\x20错误:\x20'+(_0x3457ad instanceof Error?_0x3457ad[_0x5745fe(0x150)]:String(_0x3457ad))),process[_0x5745fe(0x12f)](0x1);}let _0x32ad91;_0x290a32&&(_0x32ad91=_0x290a32['split'](',')[_0x5745fe(0x13c)](_0x3aa556=>_0x3aa556[_0x5745fe(0x130)]())[_0x5745fe(0x126)](_0x1169ed=>_0x1169ed[_0x5745fe(0x127)]>0x0),_0x32ad91[_0x5745fe(0x127)]===0x0&&(console[_0x5745fe(0x13f)]('×\x20--datasetcode\x20参数不能为空'),process[_0x5745fe(0x12f)](0x1)),console['log'](_0x5745fe(0x154)+_0x32ad91['join'](',\x20')+_0x5745fe(0x135))),render(a10_0x3d34a8(ApiDocUI,{'appCode':_0x39b511,'env':_0x1e5a46,'output':_0x4cf2e0,'extraParams':_0x56233d,'datasetCodes':_0x32ad91}));}else console[_0x5745fe(0x13f)](_0x5745fe(0x145)+_0x41a128),console['log'](_0x5745fe(0x14c)),console[_0x5745fe(0x152)](_0x5745fe(0x153)),console[_0x5745fe(0x152)](_0x5745fe(0x141)),console['log'](_0x5745fe(0x14f)),console[_0x5745fe(0x152)](_0x5745fe(0x140)),console['log'](''),console[_0x5745fe(0x152)]('\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[_0x5745fe(0x152)](_0x5745fe(0x124)),console[_0x5745fe(0x152)](_0x5745fe(0x134)),console['log']('\x20\x20lovrabet\x20api\x20doc\x20--env\x20<env>\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20指定环境(如:\x20daily,\x20online)'),process[_0x5745fe(0x12f)](0x1);}}
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);}}