@cloudbase/cli 2.11.0-beta.0 → 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/bin/ccr +2 -0
  2. package/bin/cloudbase +2 -0
  3. package/bin/cloudbase-mcp +2 -0
  4. package/bin/tcb +2 -0
  5. package/dist/standalone/cli.js +413 -89
  6. package/package.json +15 -132
  7. package/.augment-guidelines +0 -119
  8. package/.claude/settings.local.json +0 -6
  9. package/.clinerules/cloudbase-rules.mdc +0 -119
  10. package/.cursor/rules/cloudbase-rules.mdc +0 -119
  11. package/.editorconfig +0 -10
  12. package/.eslintignore +0 -8
  13. package/.eslintrc +0 -35
  14. package/.mcp.json +0 -11
  15. package/.prettierignore +0 -1
  16. package/.prettierrc.js +0 -29
  17. package/.vscode/launch.json +0 -26
  18. package/.yarnrc.yml +0 -1
  19. package/CLAUDE.md +0 -119
  20. package/LICENSE +0 -6
  21. package/bin/ccr.js +0 -3
  22. package/bin/cloudbase.js +0 -7
  23. package/bin/tcb.js +0 -339
  24. package/changelog.md +0 -6
  25. package/cloudbase-cli-2.7.8.tgz +0 -0
  26. package/cloudbaserc.json +0 -13
  27. package/jest.config.js +0 -17
  28. package/lib/auth/index.js +0 -18
  29. package/lib/auth/login.js +0 -97
  30. package/lib/auth/logout.js +0 -9
  31. package/lib/commands/account/index.js +0 -18
  32. package/lib/commands/account/login.js +0 -239
  33. package/lib/commands/account/logout.js +0 -45
  34. package/lib/commands/ag/base.js +0 -203
  35. package/lib/commands/ag/create.js +0 -301
  36. package/lib/commands/ag/debug/index.html +0 -699
  37. package/lib/commands/ag/delete.js +0 -200
  38. package/lib/commands/ag/deploy.js +0 -185
  39. package/lib/commands/ag/detail.js +0 -113
  40. package/lib/commands/ag/index.js +0 -22
  41. package/lib/commands/ag/list.js +0 -155
  42. package/lib/commands/ag/run.js +0 -644
  43. package/lib/commands/ai/index.js +0 -181
  44. package/lib/commands/cloudfunction/base.js +0 -348
  45. package/lib/commands/cloudfunction/index.js +0 -17
  46. package/lib/commands/cloudrun/base.js +0 -1015
  47. package/lib/commands/cloudrun/cloudrun-run-ui/index.html +0 -193
  48. package/lib/commands/cloudrun/index.js +0 -17
  49. package/lib/commands/common.js +0 -210
  50. package/lib/commands/config/delete.js +0 -61
  51. package/lib/commands/config/get.js +0 -58
  52. package/lib/commands/config/index.js +0 -21
  53. package/lib/commands/config/interface.js +0 -25
  54. package/lib/commands/config/list.js +0 -61
  55. package/lib/commands/config/set.js +0 -78
  56. package/lib/commands/constants.js +0 -11
  57. package/lib/commands/db/base.js +0 -377
  58. package/lib/commands/db/index.js +0 -17
  59. package/lib/commands/env/base.js +0 -116
  60. package/lib/commands/env/domain.js +0 -207
  61. package/lib/commands/env/index.js +0 -19
  62. package/lib/commands/env/login.js +0 -256
  63. package/lib/commands/framework/index.js +0 -179
  64. package/lib/commands/fun/base.js +0 -413
  65. package/lib/commands/fun/index.js +0 -17
  66. package/lib/commands/functions/alias/getRoute.js +0 -88
  67. package/lib/commands/functions/alias/index.js +0 -18
  68. package/lib/commands/functions/alias/setRoute.js +0 -90
  69. package/lib/commands/functions/code-download.js +0 -112
  70. package/lib/commands/functions/code-update.js +0 -85
  71. package/lib/commands/functions/concurrency/delete.js +0 -60
  72. package/lib/commands/functions/concurrency/index.js +0 -19
  73. package/lib/commands/functions/concurrency/list.js +0 -71
  74. package/lib/commands/functions/concurrency/set.js +0 -62
  75. package/lib/commands/functions/config-update.js +0 -92
  76. package/lib/commands/functions/copy.js +0 -71
  77. package/lib/commands/functions/delete.js +0 -91
  78. package/lib/commands/functions/deploy.js +0 -313
  79. package/lib/commands/functions/detail.js +0 -155
  80. package/lib/commands/functions/index.js +0 -33
  81. package/lib/commands/functions/invoke.js +0 -134
  82. package/lib/commands/functions/layer/bind.js +0 -188
  83. package/lib/commands/functions/layer/common.js +0 -13
  84. package/lib/commands/functions/layer/create.js +0 -82
  85. package/lib/commands/functions/layer/delete.js +0 -86
  86. package/lib/commands/functions/layer/download.js +0 -106
  87. package/lib/commands/functions/layer/index.js +0 -23
  88. package/lib/commands/functions/layer/list.js +0 -99
  89. package/lib/commands/functions/layer/sort.js +0 -92
  90. package/lib/commands/functions/list.js +0 -81
  91. package/lib/commands/functions/log.js +0 -148
  92. package/lib/commands/functions/run.js +0 -247
  93. package/lib/commands/functions/trigger-create.js +0 -88
  94. package/lib/commands/functions/trigger-delete.js +0 -110
  95. package/lib/commands/functions/version/index.js +0 -18
  96. package/lib/commands/functions/version/list.js +0 -86
  97. package/lib/commands/functions/version/publish.js +0 -60
  98. package/lib/commands/gateway/create.js +0 -114
  99. package/lib/commands/gateway/delete.js +0 -100
  100. package/lib/commands/gateway/domain.js +0 -187
  101. package/lib/commands/gateway/index.js +0 -21
  102. package/lib/commands/gateway/list.js +0 -96
  103. package/lib/commands/gateway/switch.js +0 -131
  104. package/lib/commands/helpers/index.js +0 -19
  105. package/lib/commands/helpers/init.js +0 -372
  106. package/lib/commands/helpers/new.js +0 -119
  107. package/lib/commands/helpers/open.js +0 -79
  108. package/lib/commands/hosting/hosting.js +0 -357
  109. package/lib/commands/hosting/index.js +0 -17
  110. package/lib/commands/index.js +0 -39
  111. package/lib/commands/lowcode/app.js +0 -385
  112. package/lib/commands/lowcode/comps.js +0 -382
  113. package/lib/commands/lowcode/index.js +0 -18
  114. package/lib/commands/lowcode/utils.js +0 -72
  115. package/lib/commands/pull/index.js +0 -17
  116. package/lib/commands/pull/pull.js +0 -94
  117. package/lib/commands/run/delete.js +0 -91
  118. package/lib/commands/run/image/common.js +0 -13
  119. package/lib/commands/run/image/delete.js +0 -84
  120. package/lib/commands/run/image/download.js +0 -79
  121. package/lib/commands/run/image/index.js +0 -21
  122. package/lib/commands/run/image/list.js +0 -97
  123. package/lib/commands/run/image/upload.js +0 -107
  124. package/lib/commands/run/index.js +0 -21
  125. package/lib/commands/run/list.js +0 -93
  126. package/lib/commands/run/service/config.js +0 -102
  127. package/lib/commands/run/service/deploy.js +0 -144
  128. package/lib/commands/run/service/index.js +0 -20
  129. package/lib/commands/run/service/list.js +0 -105
  130. package/lib/commands/run/service/update.js +0 -130
  131. package/lib/commands/run/standalonegateway/common.js +0 -13
  132. package/lib/commands/run/standalonegateway/create.js +0 -99
  133. package/lib/commands/run/standalonegateway/destroy.js +0 -75
  134. package/lib/commands/run/standalonegateway/index.js +0 -21
  135. package/lib/commands/run/standalonegateway/list.js +0 -71
  136. package/lib/commands/run/standalonegateway/package.js +0 -80
  137. package/lib/commands/run/standalonegateway/turn.js +0 -80
  138. package/lib/commands/run/version/common.js +0 -13
  139. package/lib/commands/run/version/create.js +0 -322
  140. package/lib/commands/run/version/delete.js +0 -83
  141. package/lib/commands/run/version/index.js +0 -21
  142. package/lib/commands/run/version/list.js +0 -102
  143. package/lib/commands/run/version/modify.js +0 -135
  144. package/lib/commands/run/version/update.js +0 -346
  145. package/lib/commands/runf/base.js +0 -432
  146. package/lib/commands/runf/index.js +0 -17
  147. package/lib/commands/self-update.js +0 -121
  148. package/lib/commands/smart.js +0 -111
  149. package/lib/commands/storage/index.js +0 -17
  150. package/lib/commands/storage/storage.js +0 -488
  151. package/lib/commands/third/index.js +0 -17
  152. package/lib/commands/third/thirdAttach.js +0 -67
  153. package/lib/commands/utils.js +0 -167
  154. package/lib/completion/index.js +0 -15
  155. package/lib/constant.js +0 -142
  156. package/lib/db/index.js +0 -66
  157. package/lib/decorators/captureError.js +0 -19
  158. package/lib/decorators/constants.js +0 -15
  159. package/lib/decorators/deprecate.js +0 -18
  160. package/lib/decorators/guard.js +0 -24
  161. package/lib/decorators/index.js +0 -25
  162. package/lib/decorators/injectParams.js +0 -47
  163. package/lib/decorators/params/common.js +0 -19
  164. package/lib/decorators/params/index.js +0 -25
  165. package/lib/env/domain.js +0 -27
  166. package/lib/env/index.js +0 -61
  167. package/lib/env/login.js +0 -63
  168. package/lib/error.js +0 -17
  169. package/lib/function/alias.js +0 -41
  170. package/lib/function/base.js +0 -238
  171. package/lib/function/code.js +0 -17
  172. package/lib/function/concurrency.js +0 -55
  173. package/lib/function/create.js +0 -62
  174. package/lib/function/delete.js +0 -40
  175. package/lib/function/index.js +0 -27
  176. package/lib/function/layer/attach.js +0 -50
  177. package/lib/function/layer/create.js +0 -52
  178. package/lib/function/layer/delete.js +0 -13
  179. package/lib/function/layer/download.js +0 -26
  180. package/lib/function/layer/index.js +0 -23
  181. package/lib/function/layer/list.js +0 -23
  182. package/lib/function/layer/sort.js +0 -14
  183. package/lib/function/trigger.js +0 -89
  184. package/lib/function/update.js +0 -33
  185. package/lib/function/version.js +0 -39
  186. package/lib/function/vpc.js +0 -22
  187. package/lib/gateway/index.js +0 -109
  188. package/lib/help.js +0 -44
  189. package/lib/hosting.js +0 -213
  190. package/lib/i18n/index.js +0 -73
  191. package/lib/index.js +0 -13
  192. package/lib/logger.js +0 -19
  193. package/lib/run/delete.js +0 -13
  194. package/lib/run/image/build.js +0 -28
  195. package/lib/run/image/delete.js +0 -13
  196. package/lib/run/image/index.js +0 -20
  197. package/lib/run/image/info.js +0 -20
  198. package/lib/run/image/list.js +0 -21
  199. package/lib/run/index.js +0 -23
  200. package/lib/run/list.js +0 -28
  201. package/lib/run/repo.js +0 -22
  202. package/lib/run/service/common.js +0 -258
  203. package/lib/run/service/config.js +0 -57
  204. package/lib/run/service/deployPackage.js +0 -72
  205. package/lib/run/service/index.js +0 -22
  206. package/lib/run/service/list.js +0 -25
  207. package/lib/run/service/showLogs.js +0 -96
  208. package/lib/run/service/update.js +0 -71
  209. package/lib/run/standalonegateway/create.js +0 -23
  210. package/lib/run/standalonegateway/destroy.js +0 -19
  211. package/lib/run/standalonegateway/index.js +0 -21
  212. package/lib/run/standalonegateway/list.js +0 -39
  213. package/lib/run/standalonegateway/package/index.js +0 -17
  214. package/lib/run/standalonegateway/package/list.js +0 -23
  215. package/lib/run/standalonegateway/turn/index.js +0 -18
  216. package/lib/run/standalonegateway/turn/off.js +0 -19
  217. package/lib/run/standalonegateway/turn/on.js +0 -19
  218. package/lib/run/version/create.js +0 -60
  219. package/lib/run/version/delete.js +0 -14
  220. package/lib/run/version/index.js +0 -22
  221. package/lib/run/version/list.js +0 -15
  222. package/lib/run/version/modify.js +0 -15
  223. package/lib/run/version/repo.js +0 -24
  224. package/lib/run/version/update.js +0 -50
  225. package/lib/storage.js +0 -94
  226. package/lib/third/index.js +0 -14
  227. package/lib/types.js +0 -12
  228. package/lib/utils/ai/banner.js +0 -91
  229. package/lib/utils/ai/claudeWindows.js +0 -64
  230. package/lib/utils/ai/config.js +0 -253
  231. package/lib/utils/ai/const.js +0 -178
  232. package/lib/utils/ai/ensureFiles.js +0 -16
  233. package/lib/utils/ai/env.js +0 -26
  234. package/lib/utils/ai/envLocalManager.js +0 -128
  235. package/lib/utils/ai/nodeVersion.js +0 -19
  236. package/lib/utils/ai/router.js +0 -1228
  237. package/lib/utils/ai/setup.js +0 -671
  238. package/lib/utils/auth.js +0 -17
  239. package/lib/utils/checkTcbrEnv.js +0 -65
  240. package/lib/utils/cli-table.js +0 -24
  241. package/lib/utils/commonParamsCheck.js +0 -49
  242. package/lib/utils/config.js +0 -50
  243. package/lib/utils/debug-logger.js +0 -31
  244. package/lib/utils/dts.js +0 -139
  245. package/lib/utils/env.js +0 -201
  246. package/lib/utils/fs/del.js +0 -11
  247. package/lib/utils/fs/index.js +0 -94
  248. package/lib/utils/function-packer.js +0 -74
  249. package/lib/utils/index.js +0 -38
  250. package/lib/utils/log.js +0 -74
  251. package/lib/utils/mcp-config-modifier.js +0 -220
  252. package/lib/utils/net/cloud-api-request.js +0 -56
  253. package/lib/utils/net/credential.js +0 -48
  254. package/lib/utils/net/http-request.js +0 -91
  255. package/lib/utils/net/index.js +0 -21
  256. package/lib/utils/net/manager-service.js +0 -38
  257. package/lib/utils/net/proxy.js +0 -9
  258. package/lib/utils/notice.js +0 -26
  259. package/lib/utils/output/highlight.js +0 -11
  260. package/lib/utils/output/index.js +0 -19
  261. package/lib/utils/output/link.js +0 -16
  262. package/lib/utils/output/loading.js +0 -59
  263. package/lib/utils/parallel.js +0 -54
  264. package/lib/utils/platform/index.js +0 -19
  265. package/lib/utils/platform/mac.js +0 -26
  266. package/lib/utils/platform/os.js +0 -59
  267. package/lib/utils/platform/port.js +0 -15
  268. package/lib/utils/progress-bar.js +0 -44
  269. package/lib/utils/prompt/index.js +0 -17
  270. package/lib/utils/prompt/select.js +0 -45
  271. package/lib/utils/report.js +0 -73
  272. package/lib/utils/reporter/agree.js +0 -20
  273. package/lib/utils/reporter/download.js +0 -26
  274. package/lib/utils/reporter/index.js +0 -19
  275. package/lib/utils/reporter/usage.js +0 -21
  276. package/lib/utils/store/auth.js +0 -46
  277. package/lib/utils/store/common.js +0 -8
  278. package/lib/utils/store/config.js +0 -35
  279. package/lib/utils/store/db.js +0 -65
  280. package/lib/utils/store/index.js +0 -21
  281. package/lib/utils/store/usage.js +0 -9
  282. package/lib/utils/tcbrApi/callTcbrApi.js +0 -30
  283. package/lib/utils/tcbrApi/index.js +0 -17
  284. package/lib/utils/template-manager.js +0 -431
  285. package/lib/utils/template.js +0 -116
  286. package/lib/utils/tools/common.js +0 -63
  287. package/lib/utils/tools/encoding.js +0 -13
  288. package/lib/utils/tools/index.js +0 -20
  289. package/lib/utils/tools/object.js +0 -28
  290. package/lib/utils/tools/time.js +0 -38
  291. package/lib/utils/tools/uid.js +0 -25
  292. package/lib/utils/url.js +0 -25
  293. package/lib/utils/validator.js +0 -72
  294. package/locales/README.md +0 -160
  295. package/locales/i18next-scanner.config.js +0 -206
  296. package/locales/index.js +0 -5
  297. package/locales/langs/en.json +0 -1235
  298. package/locales/langs/zh.json +0 -1235
  299. package/locales/mapping.json +0 -1235
  300. package/patches/@musistudio+claude-code-router+1.0.36.patch +0 -40
  301. package/post-install.js +0 -63
  302. package/rules/cloudbase-platform.mdc +0 -44
  303. package/rules/database.mdc +0 -25
  304. package/rules/miniprogram-development.mdc +0 -61
  305. package/rules/ui-design.mdc +0 -24
  306. package/rules/web-development.mdc +0 -44
  307. package/rules/workflows.mdc +0 -30
  308. package/runtime/nodejs/bootstrap.js +0 -255
  309. package/runtime/nodejs/runtime.js +0 -183
  310. package/specs/ag-command/design.md +0 -421
  311. package/specs/ag-command/doc.md +0 -204
  312. package/specs/ag-command/requirements.md +0 -173
  313. package/specs/ag-command/summary.md +0 -174
  314. package/specs/ag-command/tasks.md +0 -197
  315. package/specs/ag-command/usage-guide.md +0 -420
  316. package/specs/ai-cli-bootstrap/QWEN.md +0 -196
  317. package/specs/ai-cli-bootstrap/design.md +0 -185
  318. package/specs/ai-cli-bootstrap/requirements.md +0 -51
  319. package/specs/ai-cli-bootstrap/tasks.md +0 -70
  320. package/specs/ai-cli-bootstrap/technical-docs.md +0 -421
  321. package/specs/cli-install-upgrade/design.md +0 -207
  322. package/specs/cli-install-upgrade/requirements.md +0 -315
  323. package/specs/cli-install-upgrade/tasks.md +0 -120
  324. package/specs/codebuddy-integration/design.md +0 -152
  325. package/specs/codebuddy-integration/requirements.md +0 -85
  326. package/specs/codebuddy-integration/tasks.md +0 -159
  327. package/specs/mcp-global-bin/design.md +0 -57
  328. package/specs/mcp-global-bin/requirements.md +0 -43
  329. package/specs/mcp-global-bin/tasks.md +0 -54
  330. package/specs/ssl-fix/design.md +0 -93
  331. package/specs/ssl-fix/requirements.md +0 -47
  332. package/specs/ssl-fix/tasks.md +0 -65
  333. package/specs/tcb-pull-cnb-support/design.md +0 -137
  334. package/specs/tcb-pull-cnb-support/requirements.md +0 -56
  335. package/specs/tcb-pull-cnb-support/tasks.md +0 -101
  336. package/specs/tcb-pull-mcp-integration/design.md +0 -153
  337. package/specs/tcb-pull-mcp-integration/implementation-summary.md +0 -127
  338. package/specs/tcb-pull-mcp-integration/requirements.md +0 -68
  339. package/specs/tcb-pull-mcp-integration/tasks.md +0 -125
  340. package/specs/template-pull-command/design.md +0 -135
  341. package/specs/template-pull-command/implementation-summary.md +0 -160
  342. package/specs/template-pull-command/requirements.md +0 -73
  343. package/specs/template-pull-command/tasks.md +0 -101
  344. package/templates/html/loginFail.html +0 -90
  345. package/templates/html/loginSuccess.html +0 -86
  346. package/templates/server/node/_gitignore +0 -54
  347. package/templates/server/node/cloudbaserc.json +0 -10
  348. package/templates/server/node/index.js +0 -6
  349. package/templates/server/node/package.json +0 -9
  350. package/test-mcp-integration.js +0 -68
  351. package/tsconfig.json +0 -20
  352. package/tsconfig.test.json +0 -13
  353. package/types/auth/index.d.ts +0 -2
  354. package/types/auth/login.d.ts +0 -25
  355. package/types/auth/logout.d.ts +0 -1
  356. package/types/commands/account/index.d.ts +0 -2
  357. package/types/commands/account/login.d.ts +0 -15
  358. package/types/commands/account/logout.d.ts +0 -12
  359. package/types/commands/ag/base.d.ts +0 -44
  360. package/types/commands/ag/create.d.ts +0 -25
  361. package/types/commands/ag/delete.d.ts +0 -32
  362. package/types/commands/ag/deploy.d.ts +0 -31
  363. package/types/commands/ag/detail.d.ts +0 -28
  364. package/types/commands/ag/index.d.ts +0 -6
  365. package/types/commands/ag/list.d.ts +0 -35
  366. package/types/commands/ag/run.d.ts +0 -52
  367. package/types/commands/ai/index.d.ts +0 -23
  368. package/types/commands/cloudfunction/base.d.ts +0 -43
  369. package/types/commands/cloudfunction/index.d.ts +0 -1
  370. package/types/commands/cloudrun/base.d.ts +0 -170
  371. package/types/commands/cloudrun/index.d.ts +0 -1
  372. package/types/commands/common.d.ts +0 -38
  373. package/types/commands/config/delete.d.ts +0 -13
  374. package/types/commands/config/get.d.ts +0 -13
  375. package/types/commands/config/index.d.ts +0 -5
  376. package/types/commands/config/interface.d.ts +0 -17
  377. package/types/commands/config/list.d.ts +0 -13
  378. package/types/commands/config/set.d.ts +0 -13
  379. package/types/commands/constants.d.ts +0 -8
  380. package/types/commands/db/base.d.ts +0 -44
  381. package/types/commands/db/index.d.ts +0 -1
  382. package/types/commands/env/base.d.ts +0 -27
  383. package/types/commands/env/domain.d.ts +0 -53
  384. package/types/commands/env/index.d.ts +0 -3
  385. package/types/commands/env/login.d.ts +0 -47
  386. package/types/commands/framework/index.d.ts +0 -42
  387. package/types/commands/fun/base.d.ts +0 -43
  388. package/types/commands/fun/index.d.ts +0 -1
  389. package/types/commands/functions/alias/getRoute.d.ts +0 -13
  390. package/types/commands/functions/alias/index.d.ts +0 -2
  391. package/types/commands/functions/alias/setRoute.d.ts +0 -13
  392. package/types/commands/functions/code-download.d.ts +0 -18
  393. package/types/commands/functions/code-update.d.ts +0 -18
  394. package/types/commands/functions/concurrency/delete.d.ts +0 -13
  395. package/types/commands/functions/concurrency/index.d.ts +0 -3
  396. package/types/commands/functions/concurrency/list.d.ts +0 -13
  397. package/types/commands/functions/concurrency/set.d.ts +0 -13
  398. package/types/commands/functions/config-update.d.ts +0 -19
  399. package/types/commands/functions/copy.d.ts +0 -15
  400. package/types/commands/functions/delete.d.ts +0 -14
  401. package/types/commands/functions/deploy.d.ts +0 -22
  402. package/types/commands/functions/detail.d.ts +0 -16
  403. package/types/commands/functions/index.d.ts +0 -17
  404. package/types/commands/functions/invoke.d.ts +0 -15
  405. package/types/commands/functions/layer/bind.d.ts +0 -35
  406. package/types/commands/functions/layer/common.d.ts +0 -8
  407. package/types/commands/functions/layer/create.d.ts +0 -18
  408. package/types/commands/functions/layer/delete.d.ts +0 -18
  409. package/types/commands/functions/layer/download.d.ts +0 -18
  410. package/types/commands/functions/layer/index.d.ts +0 -7
  411. package/types/commands/functions/layer/list.d.ts +0 -19
  412. package/types/commands/functions/layer/sort.d.ts +0 -18
  413. package/types/commands/functions/list.d.ts +0 -14
  414. package/types/commands/functions/log.d.ts +0 -15
  415. package/types/commands/functions/run.d.ts +0 -17
  416. package/types/commands/functions/trigger-create.d.ts +0 -18
  417. package/types/commands/functions/trigger-delete.d.ts +0 -18
  418. package/types/commands/functions/version/index.d.ts +0 -2
  419. package/types/commands/functions/version/list.d.ts +0 -13
  420. package/types/commands/functions/version/publish.d.ts +0 -13
  421. package/types/commands/gateway/create.d.ts +0 -14
  422. package/types/commands/gateway/delete.d.ts +0 -14
  423. package/types/commands/gateway/domain.d.ts +0 -47
  424. package/types/commands/gateway/index.d.ts +0 -5
  425. package/types/commands/gateway/list.d.ts +0 -15
  426. package/types/commands/gateway/switch.d.ts +0 -31
  427. package/types/commands/helpers/index.d.ts +0 -3
  428. package/types/commands/helpers/init.d.ts +0 -22
  429. package/types/commands/helpers/new.d.ts +0 -17
  430. package/types/commands/helpers/open.d.ts +0 -11
  431. package/types/commands/hosting/hosting.d.ts +0 -66
  432. package/types/commands/hosting/index.d.ts +0 -1
  433. package/types/commands/index.d.ts +0 -23
  434. package/types/commands/lowcode/app.d.ts +0 -81
  435. package/types/commands/lowcode/comps.d.ts +0 -77
  436. package/types/commands/lowcode/index.d.ts +0 -2
  437. package/types/commands/lowcode/utils.d.ts +0 -9
  438. package/types/commands/pull/index.d.ts +0 -1
  439. package/types/commands/pull/pull.d.ts +0 -16
  440. package/types/commands/run/delete.d.ts +0 -13
  441. package/types/commands/run/image/common.d.ts +0 -8
  442. package/types/commands/run/image/delete.d.ts +0 -17
  443. package/types/commands/run/image/download.d.ts +0 -17
  444. package/types/commands/run/image/index.d.ts +0 -5
  445. package/types/commands/run/image/list.d.ts +0 -17
  446. package/types/commands/run/image/upload.d.ts +0 -17
  447. package/types/commands/run/index.d.ts +0 -5
  448. package/types/commands/run/list.d.ts +0 -13
  449. package/types/commands/run/service/config.d.ts +0 -14
  450. package/types/commands/run/service/deploy.d.ts +0 -13
  451. package/types/commands/run/service/index.d.ts +0 -4
  452. package/types/commands/run/service/list.d.ts +0 -13
  453. package/types/commands/run/service/update.d.ts +0 -13
  454. package/types/commands/run/standalonegateway/common.d.ts +0 -8
  455. package/types/commands/run/standalonegateway/create.d.ts +0 -17
  456. package/types/commands/run/standalonegateway/destroy.d.ts +0 -17
  457. package/types/commands/run/standalonegateway/index.d.ts +0 -5
  458. package/types/commands/run/standalonegateway/list.d.ts +0 -17
  459. package/types/commands/run/standalonegateway/package.d.ts +0 -17
  460. package/types/commands/run/standalonegateway/turn.d.ts +0 -17
  461. package/types/commands/run/version/common.d.ts +0 -8
  462. package/types/commands/run/version/create.d.ts +0 -17
  463. package/types/commands/run/version/delete.d.ts +0 -17
  464. package/types/commands/run/version/index.d.ts +0 -5
  465. package/types/commands/run/version/list.d.ts +0 -17
  466. package/types/commands/run/version/modify.d.ts +0 -17
  467. package/types/commands/run/version/update.d.ts +0 -17
  468. package/types/commands/runf/base.d.ts +0 -43
  469. package/types/commands/runf/index.d.ts +0 -1
  470. package/types/commands/self-update.d.ts +0 -24
  471. package/types/commands/smart.d.ts +0 -1
  472. package/types/commands/storage/index.d.ts +0 -1
  473. package/types/commands/storage/storage.d.ts +0 -106
  474. package/types/commands/third/index.d.ts +0 -1
  475. package/types/commands/third/thirdAttach.d.ts +0 -15
  476. package/types/commands/utils.d.ts +0 -28
  477. package/types/completion/index.d.ts +0 -4
  478. package/types/constant.d.ts +0 -71
  479. package/types/db/index.d.ts +0 -24
  480. package/types/decorators/captureError.d.ts +0 -1
  481. package/types/decorators/constants.d.ts +0 -11
  482. package/types/decorators/deprecate.d.ts +0 -4
  483. package/types/decorators/guard.d.ts +0 -5
  484. package/types/decorators/index.d.ts +0 -7
  485. package/types/decorators/injectParams.d.ts +0 -1
  486. package/types/decorators/params/common.d.ts +0 -4
  487. package/types/decorators/params/index.d.ts +0 -8
  488. package/types/env/domain.d.ts +0 -11
  489. package/types/env/index.d.ts +0 -12
  490. package/types/env/login.d.ts +0 -16
  491. package/types/error.d.ts +0 -20
  492. package/types/function/alias.d.ts +0 -3
  493. package/types/function/base.d.ts +0 -32
  494. package/types/function/code.d.ts +0 -8
  495. package/types/function/concurrency.d.ts +0 -4
  496. package/types/function/create.d.ts +0 -3
  497. package/types/function/delete.d.ts +0 -8
  498. package/types/function/index.d.ts +0 -11
  499. package/types/function/layer/attach.d.ts +0 -9
  500. package/types/function/layer/create.d.ts +0 -8
  501. package/types/function/layer/delete.d.ts +0 -5
  502. package/types/function/layer/download.d.ts +0 -7
  503. package/types/function/layer/index.d.ts +0 -7
  504. package/types/function/layer/list.d.ts +0 -10
  505. package/types/function/layer/sort.d.ts +0 -10
  506. package/types/function/trigger.d.ts +0 -5
  507. package/types/function/update.d.ts +0 -2
  508. package/types/function/version.d.ts +0 -3
  509. package/types/function/vpc.d.ts +0 -2
  510. package/types/gateway/index.d.ts +0 -18
  511. package/types/help.d.ts +0 -1
  512. package/types/hosting.d.ts +0 -35
  513. package/types/i18n/index.d.ts +0 -3
  514. package/types/index.d.ts +0 -4
  515. package/types/logger.d.ts +0 -3
  516. package/types/run/delete.d.ts +0 -2
  517. package/types/run/image/build.d.ts +0 -10
  518. package/types/run/image/delete.d.ts +0 -2
  519. package/types/run/image/index.d.ts +0 -4
  520. package/types/run/image/info.d.ts +0 -1
  521. package/types/run/image/list.d.ts +0 -3
  522. package/types/run/index.d.ts +0 -7
  523. package/types/run/list.d.ts +0 -2
  524. package/types/run/repo.d.ts +0 -5
  525. package/types/run/service/common.d.ts +0 -42
  526. package/types/run/service/config.d.ts +0 -23
  527. package/types/run/service/deployPackage.d.ts +0 -11
  528. package/types/run/service/index.d.ts +0 -6
  529. package/types/run/service/list.d.ts +0 -2
  530. package/types/run/service/showLogs.d.ts +0 -2
  531. package/types/run/service/update.d.ts +0 -3
  532. package/types/run/standalonegateway/create.d.ts +0 -2
  533. package/types/run/standalonegateway/destroy.d.ts +0 -2
  534. package/types/run/standalonegateway/index.d.ts +0 -5
  535. package/types/run/standalonegateway/list.d.ts +0 -2
  536. package/types/run/standalonegateway/package/index.d.ts +0 -1
  537. package/types/run/standalonegateway/package/list.d.ts +0 -2
  538. package/types/run/standalonegateway/turn/index.d.ts +0 -2
  539. package/types/run/standalonegateway/turn/off.d.ts +0 -2
  540. package/types/run/standalonegateway/turn/on.d.ts +0 -2
  541. package/types/run/version/create.d.ts +0 -10
  542. package/types/run/version/delete.d.ts +0 -2
  543. package/types/run/version/index.d.ts +0 -6
  544. package/types/run/version/list.d.ts +0 -2
  545. package/types/run/version/modify.d.ts +0 -2
  546. package/types/run/version/repo.d.ts +0 -10
  547. package/types/run/version/update.d.ts +0 -6
  548. package/types/storage.d.ts +0 -34
  549. package/types/third/index.d.ts +0 -1
  550. package/types/types.d.ts +0 -590
  551. package/types/utils/ai/banner.d.ts +0 -2
  552. package/types/utils/ai/claudeWindows.d.ts +0 -2
  553. package/types/utils/ai/config.d.ts +0 -89
  554. package/types/utils/ai/const.d.ts +0 -401
  555. package/types/utils/ai/ensureFiles.d.ts +0 -1
  556. package/types/utils/ai/env.d.ts +0 -2
  557. package/types/utils/ai/envLocalManager.d.ts +0 -23
  558. package/types/utils/ai/nodeVersion.d.ts +0 -2
  559. package/types/utils/ai/router.d.ts +0 -55
  560. package/types/utils/ai/setup.d.ts +0 -26
  561. package/types/utils/auth.d.ts +0 -3
  562. package/types/utils/checkTcbrEnv.d.ts +0 -3
  563. package/types/utils/cli-table.d.ts +0 -2
  564. package/types/utils/commonParamsCheck.d.ts +0 -3
  565. package/types/utils/config.d.ts +0 -27
  566. package/types/utils/debug-logger.d.ts +0 -1
  567. package/types/utils/dts.d.ts +0 -6
  568. package/types/utils/env.d.ts +0 -5
  569. package/types/utils/fs/del.d.ts +0 -1
  570. package/types/utils/fs/index.d.ts +0 -7
  571. package/types/utils/function-packer.d.ts +0 -18
  572. package/types/utils/index.d.ts +0 -22
  573. package/types/utils/log.d.ts +0 -22
  574. package/types/utils/mcp-config-modifier.d.ts +0 -7
  575. package/types/utils/net/cloud-api-request.d.ts +0 -9
  576. package/types/utils/net/credential.d.ts +0 -5
  577. package/types/utils/net/http-request.d.ts +0 -8
  578. package/types/utils/net/index.d.ts +0 -5
  579. package/types/utils/net/manager-service.d.ts +0 -4
  580. package/types/utils/net/proxy.d.ts +0 -1
  581. package/types/utils/notice.d.ts +0 -1
  582. package/types/utils/output/highlight.d.ts +0 -1
  583. package/types/utils/output/index.d.ts +0 -3
  584. package/types/utils/output/link.d.ts +0 -1
  585. package/types/utils/output/loading.d.ts +0 -18
  586. package/types/utils/parallel.d.ts +0 -11
  587. package/types/utils/platform/index.d.ts +0 -3
  588. package/types/utils/platform/mac.d.ts +0 -2
  589. package/types/utils/platform/os.d.ts +0 -2
  590. package/types/utils/platform/port.d.ts +0 -1
  591. package/types/utils/progress-bar.d.ts +0 -1
  592. package/types/utils/prompt/index.d.ts +0 -1
  593. package/types/utils/prompt/select.d.ts +0 -4
  594. package/types/utils/report.d.ts +0 -16
  595. package/types/utils/reporter/agree.d.ts +0 -1
  596. package/types/utils/reporter/download.d.ts +0 -1
  597. package/types/utils/reporter/index.d.ts +0 -3
  598. package/types/utils/reporter/usage.d.ts +0 -1
  599. package/types/utils/store/auth.d.ts +0 -8
  600. package/types/utils/store/common.d.ts +0 -2
  601. package/types/utils/store/config.d.ts +0 -8
  602. package/types/utils/store/db.d.ts +0 -17
  603. package/types/utils/store/index.d.ts +0 -5
  604. package/types/utils/store/usage.d.ts +0 -2
  605. package/types/utils/tcbrApi/callTcbrApi.d.ts +0 -1
  606. package/types/utils/tcbrApi/index.d.ts +0 -1
  607. package/types/utils/template-manager.d.ts +0 -27
  608. package/types/utils/template.d.ts +0 -8
  609. package/types/utils/tools/common.d.ts +0 -1
  610. package/types/utils/tools/encoding.d.ts +0 -1
  611. package/types/utils/tools/index.d.ts +0 -4
  612. package/types/utils/tools/object.d.ts +0 -1
  613. package/types/utils/tools/time.d.ts +0 -2
  614. package/types/utils/tools/uid.d.ts +0 -2
  615. package/types/utils/url.d.ts +0 -18
  616. package/types/utils/validator.d.ts +0 -9
@@ -1,431 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.TemplateManager = void 0;
30
- const fs_extra_1 = __importDefault(require("fs-extra"));
31
- const path_1 = __importDefault(require("path"));
32
- const simple_git_1 = require("simple-git");
33
- const error_1 = require("../error");
34
- const mcp_config_modifier_1 = require("./mcp-config-modifier");
35
- const i18n_1 = require("../i18n");
36
- const BUILTIN_TEMPLATES = {
37
- miniprogram: {
38
- url: 'https://static.cloudbase.net/cloudbase-examples/miniprogram-cloudbase-miniprogram-template.zip',
39
- name: `${(0, i18n_1.t)('微信小程序')} + CloudBase`
40
- },
41
- react: {
42
- url: 'https://static.cloudbase.net/cloudbase-examples/web-cloudbase-react-template.zip',
43
- name: `${(0, i18n_1.t)('Web 应用')} - React + CloudBase`
44
- },
45
- vue: {
46
- url: 'https://static.cloudbase.net/cloudbase-examples/web-cloudbase-vue-template.zip',
47
- name: `${(0, i18n_1.t)('Web 应用')} - Vue + CloudBase`
48
- },
49
- uniapp: {
50
- url: 'https://static.cloudbase.net/cloudbase-examples/universal-cloudbase-uniapp-template.zip',
51
- name: `${(0, i18n_1.t)('跨端应用')} - UniApp + CloudBase`
52
- },
53
- rules: {
54
- url: 'https://static.cloudbase.net/cloudbase-examples/web-cloudbase-project.zip',
55
- name: `${(0, i18n_1.t)('AI 规则和配置')}`
56
- }
57
- };
58
- class TemplateManager {
59
- constructor() {
60
- this.git = (0, simple_git_1.simpleGit)();
61
- this.mcpConfigModifier = new mcp_config_modifier_1.MCPConfigModifier();
62
- }
63
- async pullTemplate(source, options = {}, log) {
64
- const targetPath = options.output || process.cwd();
65
- const { force = false } = options;
66
- await fs_extra_1.default.ensureDir(targetPath);
67
- const tempDir = path_1.default.join(process.cwd(), '.temp-template-' + Date.now());
68
- try {
69
- if (this.isBuiltinTemplate(source)) {
70
- await this.downloadBuiltinTemplateToTemp(source, tempDir, log);
71
- }
72
- else if (this.isZipUrl(source)) {
73
- await this.downloadZipTemplateToTemp(source, tempDir, log);
74
- }
75
- else if (this.isGitUrl(source)) {
76
- const gitInfo = this.parseGitUrl(source);
77
- await this.downloadGitTemplateToTemp(gitInfo, tempDir, log);
78
- }
79
- else {
80
- throw new error_1.CloudBaseError((0, i18n_1.t)('不支持的模板来源: {{source}}', { source: typeof source === 'string' ? source : JSON.stringify(source) }));
81
- }
82
- await this.copyFromTempToTarget(tempDir, targetPath, force, log);
83
- log.info((0, i18n_1.t)('✅ 模板拉取完成: {{targetPath}}', { targetPath }));
84
- }
85
- finally {
86
- await fs_extra_1.default.remove(tempDir);
87
- }
88
- }
89
- isBuiltinTemplate(source) {
90
- return Object.keys(BUILTIN_TEMPLATES).includes(source);
91
- }
92
- isZipUrl(source) {
93
- console.log('zip source', source);
94
- if (!source || typeof source !== 'string') {
95
- return false;
96
- }
97
- if (!(source.startsWith('http://') || source.startsWith('https://'))) {
98
- return false;
99
- }
100
- try {
101
- const url = new URL(source);
102
- const pathname = url.pathname.toLowerCase();
103
- return pathname.endsWith('.zip');
104
- }
105
- catch (error) {
106
- return source.toLowerCase().endsWith('.zip');
107
- }
108
- }
109
- isGitUrl(source) {
110
- if (!source || typeof source !== 'string') {
111
- return false;
112
- }
113
- return source.startsWith('http') || source.startsWith('git@') ||
114
- source.includes('github.com') || source.includes('gitee.com') || source.includes('cnb.cool');
115
- }
116
- parseGitUrl(url) {
117
- const githubMatch = url.match(/https?:\/\/github\.com\/([^\/]+)\/([^\/]+)(?:\/tree\/([^\/]+)\/(.+))?/);
118
- if (githubMatch) {
119
- return {
120
- platform: 'github',
121
- owner: githubMatch[1],
122
- repo: githubMatch[2].replace('.git', ''),
123
- branch: githubMatch[3] || 'master',
124
- subpath: githubMatch[4]
125
- };
126
- }
127
- const giteeMatch = url.match(/https?:\/\/gitee\.com\/([^\/]+)\/([^\/]+)(?:\/tree\/([^\/]+)\/(.+))?/);
128
- if (giteeMatch) {
129
- return {
130
- platform: 'gitee',
131
- owner: giteeMatch[1],
132
- repo: giteeMatch[2].replace('.git', ''),
133
- branch: giteeMatch[3] || 'master',
134
- subpath: giteeMatch[4]
135
- };
136
- }
137
- const cnbMatchWithDash = url.match(/https?:\/\/cnb\.cool\/(.+?)\/-\/tree\/([^\/]+)\/(.+)$/);
138
- if (cnbMatchWithDash) {
139
- const pathParts = cnbMatchWithDash[1].split('/').filter(p => p.length > 0);
140
- if (pathParts.length >= 2) {
141
- return {
142
- platform: 'cnb',
143
- owner: pathParts[0],
144
- repo: pathParts.slice(1).join('/'),
145
- branch: cnbMatchWithDash[2] || 'main',
146
- subpath: cnbMatchWithDash[3]
147
- };
148
- }
149
- }
150
- const cnbMatch = url.match(/https?:\/\/cnb\.cool\/(.+?)(?:\/tree\/([^\/]+)\/(.+))?$/);
151
- if (cnbMatch) {
152
- const pathParts = cnbMatch[1].split('/').filter(p => p.length > 0);
153
- if (pathParts.length >= 2) {
154
- return {
155
- platform: 'cnb',
156
- owner: pathParts[0],
157
- repo: pathParts.slice(1).join('/'),
158
- branch: cnbMatch[2] || 'main',
159
- subpath: cnbMatch[3]
160
- };
161
- }
162
- }
163
- const sshMatch = url.match(/git@([^:]+):([^\/]+)\/([^\/]+)\.git/);
164
- if (sshMatch) {
165
- return {
166
- platform: sshMatch[1] === 'github.com' ? 'github' : (sshMatch[1] === 'cnb.cool' ? 'cnb' : 'gitee'),
167
- owner: sshMatch[2],
168
- repo: sshMatch[3],
169
- branch: 'main'
170
- };
171
- }
172
- throw new error_1.CloudBaseError((0, i18n_1.t)('无法解析 Git URL: {{url}}', { url }));
173
- }
174
- buildGitUrl(gitInfo) {
175
- if (gitInfo.platform === 'github') {
176
- return `https://github.com/${gitInfo.owner}/${gitInfo.repo}.git`;
177
- }
178
- else if (gitInfo.platform === 'gitee') {
179
- return `https://gitee.com/${gitInfo.owner}/${gitInfo.repo}.git`;
180
- }
181
- else if (gitInfo.platform === 'cnb') {
182
- return `https://cnb.cool/${gitInfo.owner}/${gitInfo.repo}.git`;
183
- }
184
- throw new error_1.CloudBaseError((0, i18n_1.t)('不支持的 Git 平台: {{platform}}', { platform: gitInfo.platform }));
185
- }
186
- async cloneWithSubpathOptimized(gitUrl, tempDir, gitInfo, log) {
187
- try {
188
- await this.git.clone(gitUrl, tempDir, [
189
- '--depth', '1',
190
- '--single-branch',
191
- '--branch', gitInfo.branch,
192
- '--filter=blob:none'
193
- ]);
194
- const subpathFull = path_1.default.join(tempDir, gitInfo.subpath);
195
- if (!await fs_extra_1.default.pathExists(subpathFull)) {
196
- throw new error_1.CloudBaseError((0, i18n_1.t)('子目录不存在: {{subpath}}', { subpath: gitInfo.subpath }));
197
- }
198
- const tempContentDir = path_1.default.join(tempDir, '.temp-content-' + Date.now());
199
- await fs_extra_1.default.move(subpathFull, tempContentDir);
200
- const tempFiles = await fs_extra_1.default.readdir(tempDir);
201
- for (const file of tempFiles) {
202
- if (file !== path_1.default.basename(tempContentDir)) {
203
- await fs_extra_1.default.remove(path_1.default.join(tempDir, file));
204
- }
205
- }
206
- const contentFiles = await fs_extra_1.default.readdir(tempContentDir);
207
- for (const file of contentFiles) {
208
- await fs_extra_1.default.move(path_1.default.join(tempContentDir, file), path_1.default.join(tempDir, file));
209
- }
210
- await fs_extra_1.default.remove(tempContentDir);
211
- }
212
- catch (error) {
213
- throw new error_1.CloudBaseError((0, i18n_1.t)('克隆子目录失败: {{error}}', { error: error.message }), { original: error });
214
- }
215
- }
216
- async cloneWithSubpath(gitUrl, tempDir, gitInfo, log) {
217
- try {
218
- await this.git.clone(gitUrl, tempDir);
219
- const tempGit = (0, simple_git_1.simpleGit)(tempDir);
220
- await tempGit.checkout(gitInfo.branch);
221
- const subpathFull = path_1.default.join(tempDir, gitInfo.subpath);
222
- if (!await fs_extra_1.default.pathExists(subpathFull)) {
223
- throw new error_1.CloudBaseError((0, i18n_1.t)('子目录不存在: {{subpath}}', { subpath: gitInfo.subpath }));
224
- }
225
- const tempContentDir = path_1.default.join(tempDir, '.temp-content-' + Date.now());
226
- await fs_extra_1.default.move(subpathFull, tempContentDir);
227
- const tempFiles = await fs_extra_1.default.readdir(tempDir);
228
- for (const file of tempFiles) {
229
- if (file !== path_1.default.basename(tempContentDir)) {
230
- await fs_extra_1.default.remove(path_1.default.join(tempDir, file));
231
- }
232
- }
233
- const contentFiles = await fs_extra_1.default.readdir(tempContentDir);
234
- for (const file of contentFiles) {
235
- await fs_extra_1.default.move(path_1.default.join(tempContentDir, file), path_1.default.join(tempDir, file));
236
- }
237
- await fs_extra_1.default.remove(tempContentDir);
238
- }
239
- catch (error) {
240
- throw new error_1.CloudBaseError((0, i18n_1.t)('克隆子目录失败: {{error}}', { error: error.message }), { original: error });
241
- }
242
- }
243
- async downloadBuiltinTemplateToTemp(templateId, tempDir, log) {
244
- const template = BUILTIN_TEMPLATES[templateId];
245
- if (!template) {
246
- throw new error_1.CloudBaseError((0, i18n_1.t)('未知的内置模板: {{templateId}}', { templateId }));
247
- }
248
- log.info((0, i18n_1.t)('📦 正在下载 {{templateName}} 模板到临时目录...', { templateName: template.name }));
249
- try {
250
- const { downloadAndExtractRemoteZip } = await Promise.resolve().then(() => __importStar(require('./tools/common')));
251
- await downloadAndExtractRemoteZip(template.url, tempDir);
252
- log.info((0, i18n_1.t)('✅ {{templateName}} 模板下载完成到临时目录', { templateName: template.name }));
253
- }
254
- catch (error) {
255
- throw new error_1.CloudBaseError((0, i18n_1.t)('下载内置模板失败: {{error}}', { error: error.message }), { original: error });
256
- }
257
- }
258
- async downloadZipTemplateToTemp(zipUrl, tempDir, log) {
259
- log.info((0, i18n_1.t)('📦 正在下载 zip 文件模板到临时目录: {{zipUrl}}', { zipUrl }));
260
- try {
261
- const { downloadAndExtractRemoteZip } = await Promise.resolve().then(() => __importStar(require('./tools/common')));
262
- await downloadAndExtractRemoteZip(zipUrl, tempDir);
263
- log.info((0, i18n_1.t)('✅ zip 文件模板下载完成到临时目录'));
264
- }
265
- catch (error) {
266
- throw new error_1.CloudBaseError((0, i18n_1.t)('下载 zip 文件模板失败: {{error}}', { error: error.message }), { original: error });
267
- }
268
- }
269
- async downloadGitTemplateToTemp(gitInfo, tempDir, log) {
270
- const gitUrl = this.buildGitUrl(gitInfo);
271
- log.info((0, i18n_1.t)('📦 正在从 {{platform}} 下载模板到临时目录...', { platform: gitInfo.platform }));
272
- try {
273
- if (gitInfo.subpath) {
274
- await this.cloneWithSubpathOptimized(gitUrl, tempDir, gitInfo, log);
275
- }
276
- else {
277
- await this.git.clone(gitUrl, tempDir, ['--depth', '1', '--single-branch', '--branch', gitInfo.branch]);
278
- }
279
- log.info((0, i18n_1.t)('✅ Git 模板下载完成到临时目录'));
280
- }
281
- catch (error) {
282
- throw new error_1.CloudBaseError((0, i18n_1.t)('Git 模板下载失败: {{error}}', { error: error.message }), { original: error });
283
- }
284
- }
285
- async copyFromTempToTarget(tempDir, targetPath, force, log) {
286
- log.info((0, i18n_1.t)('📦 正在从临时目录复制到目标目录 {{targetPath}}...', { targetPath }));
287
- try {
288
- if (force) {
289
- if (await fs_extra_1.default.pathExists(targetPath)) {
290
- const files = await fs_extra_1.default.readdir(targetPath);
291
- if (files.length > 0) {
292
- log.info((0, i18n_1.t)('⚠️ 使用 --force 参数,将覆盖目标目录中的现有文件'));
293
- }
294
- }
295
- await this.copyFilesWithOverwrite(tempDir, targetPath, log);
296
- }
297
- else {
298
- if (await fs_extra_1.default.pathExists(targetPath)) {
299
- const files = await fs_extra_1.default.readdir(targetPath);
300
- if (files.length > 0) {
301
- log.info((0, i18n_1.t)('ℹ️ 目标目录不为空,将跳过已存在的文件,只复制新文件'));
302
- }
303
- }
304
- await this.copyFilesSkipExisting(tempDir, targetPath, log);
305
- }
306
- log.info((0, i18n_1.t)('✅ 模板复制完成'));
307
- try {
308
- log.debug((0, i18n_1.t)('🔧 开始调用 MCP 配置修改器...'));
309
- await this.mcpConfigModifier.modifyMCPConfigs(targetPath, log);
310
- log.debug((0, i18n_1.t)('✅ MCP 配置修改器调用完成'));
311
- }
312
- catch (error) {
313
- log.warn((0, i18n_1.t)('⚠️ MCP 配置修改失败: {{error}}', { error: error.message }));
314
- }
315
- }
316
- catch (error) {
317
- throw new error_1.CloudBaseError((0, i18n_1.t)('复制模板失败: {{error}}', { error: error.message }), { original: error });
318
- }
319
- }
320
- async copyFilesWithOverwrite(sourceDir, targetDir, log) {
321
- let copiedCount = 0;
322
- let overwrittenCount = 0;
323
- const copyFile = async (srcPath, destPath) => {
324
- try {
325
- const stat = await fs_extra_1.default.stat(srcPath);
326
- if (stat.isDirectory()) {
327
- await fs_extra_1.default.ensureDir(destPath);
328
- const entries = await fs_extra_1.default.readdir(srcPath, { withFileTypes: true });
329
- const copyPromises = entries.map(entry => {
330
- const entrySrcPath = path_1.default.join(srcPath, entry.name);
331
- const entryDestPath = path_1.default.join(destPath, entry.name);
332
- return copyFile(entrySrcPath, entryDestPath);
333
- });
334
- const chunks = this.chunkArray(copyPromises, 10);
335
- for (const chunk of chunks) {
336
- await Promise.all(chunk);
337
- }
338
- }
339
- else {
340
- const exists = await fs_extra_1.default.pathExists(destPath);
341
- await fs_extra_1.default.ensureDir(path_1.default.dirname(destPath));
342
- await fs_extra_1.default.copy(srcPath, destPath);
343
- const relativePath = path_1.default.relative(sourceDir, srcPath);
344
- if (exists) {
345
- overwrittenCount++;
346
- }
347
- else {
348
- copiedCount++;
349
- }
350
- }
351
- }
352
- catch (error) {
353
- log.warn((0, i18n_1.t)('⚠️ 复制失败: {{path}} - {{error}}', { path: path_1.default.relative(sourceDir, srcPath), error: error.message }));
354
- }
355
- };
356
- const entries = await fs_extra_1.default.readdir(sourceDir, { withFileTypes: true });
357
- const copyPromises = entries.map(entry => {
358
- const srcPath = path_1.default.join(sourceDir, entry.name);
359
- const destPath = path_1.default.join(targetDir, entry.name);
360
- return copyFile(srcPath, destPath);
361
- });
362
- const chunks = this.chunkArray(copyPromises, 5);
363
- for (const chunk of chunks) {
364
- await Promise.all(chunk);
365
- }
366
- log.info((0, i18n_1.t)('📊 复制统计: {{copiedCount}} 个新文件复制, {{overwrittenCount}} 个文件覆盖', { copiedCount, overwrittenCount }));
367
- }
368
- async copyFilesSkipExisting(sourceDir, targetDir, log) {
369
- let copiedCount = 0;
370
- let skippedCount = 0;
371
- const copyFile = async (srcPath, destPath) => {
372
- try {
373
- const stat = await fs_extra_1.default.stat(srcPath);
374
- if (stat.isDirectory()) {
375
- await fs_extra_1.default.ensureDir(destPath);
376
- const entries = await fs_extra_1.default.readdir(srcPath, { withFileTypes: true });
377
- const copyPromises = entries.map(entry => {
378
- const entrySrcPath = path_1.default.join(srcPath, entry.name);
379
- const entryDestPath = path_1.default.join(destPath, entry.name);
380
- return copyFile(entrySrcPath, entryDestPath);
381
- });
382
- const chunks = this.chunkArray(copyPromises, 10);
383
- for (const chunk of chunks) {
384
- await Promise.all(chunk);
385
- }
386
- }
387
- else {
388
- if (!await fs_extra_1.default.pathExists(destPath)) {
389
- await fs_extra_1.default.ensureDir(path_1.default.dirname(destPath));
390
- await fs_extra_1.default.copy(srcPath, destPath);
391
- const relativePath = path_1.default.relative(sourceDir, srcPath);
392
- copiedCount++;
393
- }
394
- else {
395
- const relativePath = path_1.default.relative(sourceDir, srcPath);
396
- skippedCount++;
397
- }
398
- }
399
- }
400
- catch (error) {
401
- log.warn((0, i18n_1.t)('⚠️ 复制失败: {{path}} - {{error}}', { path: path_1.default.relative(sourceDir, srcPath), error: error.message }));
402
- }
403
- };
404
- const entries = await fs_extra_1.default.readdir(sourceDir, { withFileTypes: true });
405
- const copyPromises = entries.map(entry => {
406
- const srcPath = path_1.default.join(sourceDir, entry.name);
407
- const destPath = path_1.default.join(targetDir, entry.name);
408
- return copyFile(srcPath, destPath);
409
- });
410
- const chunks = this.chunkArray(copyPromises, 5);
411
- for (const chunk of chunks) {
412
- await Promise.all(chunk);
413
- }
414
- log.info((0, i18n_1.t)('📊 复制统计: {{copiedCount}} 个文件复制完成, {{skippedCount}} 个文件跳过', { copiedCount, skippedCount }));
415
- }
416
- chunkArray(array, chunkSize) {
417
- const chunks = [];
418
- for (let i = 0; i < array.length; i += chunkSize) {
419
- chunks.push(array.slice(i, i + chunkSize));
420
- }
421
- return chunks;
422
- }
423
- getBuiltinTemplates() {
424
- const templates = {};
425
- for (const [key, template] of Object.entries(BUILTIN_TEMPLATES)) {
426
- templates[key] = template.name;
427
- }
428
- return templates;
429
- }
430
- }
431
- exports.TemplateManager = TemplateManager;
@@ -1,116 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.initProjectConfig = exports.extractTemplate = exports.downloadTemplate = void 0;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const enquirer_1 = require("enquirer");
11
- const toolbox_1 = require("@cloudbase/toolbox");
12
- const error_1 = require("../error");
13
- const net_1 = require("./net");
14
- const log_1 = require("./log");
15
- const fs_2 = require("./fs");
16
- const output_1 = require("./output");
17
- const reporter_1 = require("./reporter");
18
- const i18n_1 = require("../i18n");
19
- const listUrl = 'https://tcli.service.tcloudbase.com/templates';
20
- const getTemplateAddress = (templatePath) => `https://7463-tcli-1258016615.tcb.qcloud.la/cloudbase-templates/${templatePath}.zip`;
21
- async function downloadTemplate(options = {}) {
22
- let { templateUri, appName, newProject, projectPath = process.cwd() } = options;
23
- const templates = await (0, output_1.execWithLoading)(() => (0, net_1.fetch)(listUrl), {
24
- startTip: (0, i18n_1.t)('获取应用模板列表中')
25
- });
26
- let templateName;
27
- let tempateId;
28
- if (templateUri) {
29
- tempateId = templateUri;
30
- }
31
- else {
32
- const { selectTemplateName } = await (0, enquirer_1.prompt)({
33
- type: 'select',
34
- name: 'selectTemplateName',
35
- message: (0, i18n_1.t)('请选择应用模板'),
36
- choices: templates.map((item) => item.name)
37
- });
38
- templateName = selectTemplateName;
39
- }
40
- const selectedTemplate = templateName
41
- ? templates.find((item) => item.name === templateName)
42
- : templates.find((item) => item.path === tempateId);
43
- if (!selectedTemplate) {
44
- log_1.logger.info((0, i18n_1.t)('模板 `{{template}}` 不存在', { template: templateName || tempateId }));
45
- return;
46
- }
47
- if (newProject) {
48
- if (!appName) {
49
- const { projectName } = await (0, enquirer_1.prompt)({
50
- type: 'input',
51
- name: 'projectName',
52
- message: (0, i18n_1.t)('请输入项目名称'),
53
- initial: selectedTemplate.path
54
- });
55
- appName = projectName;
56
- }
57
- projectPath = path_1.default.join(process.cwd(), appName);
58
- if ((0, fs_2.checkFullAccess)(projectPath)) {
59
- const { cover } = await (0, enquirer_1.prompt)({
60
- type: 'confirm',
61
- name: 'cover',
62
- message: (0, i18n_1.t)('已存在同名文件夹:{{name}},是否覆盖?', { name: appName }),
63
- initial: false
64
- });
65
- if (!cover) {
66
- throw new error_1.CloudBaseError((0, i18n_1.t)('操作终止!'));
67
- }
68
- else {
69
- fs_extra_1.default.removeSync(projectPath);
70
- }
71
- }
72
- }
73
- await (0, output_1.execWithLoading)(async () => {
74
- await (0, reporter_1.templateDownloadReport)(selectedTemplate.path, selectedTemplate.name);
75
- await extractTemplate(projectPath, selectedTemplate.path, selectedTemplate.url);
76
- }, {
77
- startTip: (0, i18n_1.t)('下载文件中')
78
- });
79
- return projectPath;
80
- }
81
- exports.downloadTemplate = downloadTemplate;
82
- async function extractTemplate(projectPath, templatePath, remoteUrl) {
83
- const url = remoteUrl || getTemplateAddress(templatePath);
84
- return (0, net_1.fetchStream)(url).then(async (res) => {
85
- if (!res) {
86
- throw new error_1.CloudBaseError((0, i18n_1.t)('请求异常'));
87
- }
88
- if (res.status !== 200) {
89
- throw new error_1.CloudBaseError((0, i18n_1.t)('未找到文件'));
90
- }
91
- await (0, toolbox_1.unzipStream)(res.body, projectPath);
92
- });
93
- }
94
- exports.extractTemplate = extractTemplate;
95
- async function initProjectConfig(envId, region, projectPath = process.cwd()) {
96
- var _a;
97
- let filepath = (_a = (await (0, toolbox_1.searchConfig)(projectPath))) === null || _a === void 0 ? void 0 : _a.filepath;
98
- if (!filepath) {
99
- fs_1.default.writeFileSync(path_1.default.join(projectPath, 'cloudbaserc.json'), JSON.stringify({
100
- envId,
101
- region,
102
- version: '2.0',
103
- $schema: 'https://framework-1258016615.tcloudbaseapp.com/schema/latest.json'
104
- }));
105
- }
106
- else {
107
- const configContent = fs_1.default.readFileSync(filepath).toString();
108
- fs_1.default.writeFileSync(filepath, configContent.replace('{{envId}}', envId));
109
- const configPath = filepath || path_1.default.join(projectPath, 'cloudbaserc.json');
110
- const parser = new toolbox_1.ConfigParser({
111
- configPath
112
- });
113
- parser.update('region', region);
114
- }
115
- }
116
- exports.initProjectConfig = initProjectConfig;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.downloadAndExtractRemoteZip = void 0;
7
- const toolbox_1 = require("@cloudbase/toolbox");
8
- const path_1 = __importDefault(require("path"));
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const unzipper_1 = __importDefault(require("unzipper"));
11
- const i18n_1 = require("../../i18n");
12
- async function downloadAndExtractRemoteZip(downloadUrl, targetPath) {
13
- const downloadResponse = await (0, toolbox_1.fetchStream)(downloadUrl);
14
- if (!downloadResponse.ok) {
15
- throw new Error((0, i18n_1.t)('下载失败,状态码: {{status}}', { status: downloadResponse.status }));
16
- }
17
- if (!downloadResponse.body) {
18
- throw new Error((0, i18n_1.t)('下载响应中没有数据流'));
19
- }
20
- const dirPath = path_1.default.resolve(targetPath);
21
- await fs_extra_1.default.ensureDir(dirPath);
22
- await new Promise((resolve, reject) => {
23
- let totalEntries = 0;
24
- let processedEntries = 0;
25
- downloadResponse
26
- .body.pipe(unzipper_1.default.Parse())
27
- .on('error', reject)
28
- .on('entry', async (entry) => {
29
- const filePath = path_1.default.join(dirPath, entry.path);
30
- totalEntries++;
31
- try {
32
- await fs_extra_1.default.ensureDir(path_1.default.dirname(filePath));
33
- if (entry.type === 'Directory') {
34
- await fs_extra_1.default.ensureDir(filePath);
35
- processedEntries++;
36
- }
37
- else {
38
- entry
39
- .pipe(fs_extra_1.default.createWriteStream(filePath))
40
- .on('error', reject)
41
- .on('finish', () => {
42
- processedEntries++;
43
- });
44
- }
45
- }
46
- catch (err) {
47
- reject(err);
48
- }
49
- })
50
- .on('close', () => {
51
- const checkProcessed = () => {
52
- if (processedEntries === totalEntries) {
53
- resolve('');
54
- }
55
- else {
56
- setTimeout(checkProcessed, 10);
57
- }
58
- };
59
- checkProcessed();
60
- });
61
- });
62
- }
63
- exports.downloadAndExtractRemoteZip = downloadAndExtractRemoteZip;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.md5 = void 0;
7
- const crypto_1 = __importDefault(require("crypto"));
8
- function md5(str = '') {
9
- const hash = crypto_1.default.createHash('md5');
10
- hash.update(str);
11
- return hash.digest('hex');
12
- }
13
- exports.md5 = md5;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./uid"), exports);
18
- __exportStar(require("./time"), exports);
19
- __exportStar(require("./object"), exports);
20
- __exportStar(require("./encoding"), exports);
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.firstLetterToLowerCase = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- lodash_1.default.mixin({
9
- deep: function (obj, mapper) {
10
- return mapper(lodash_1.default.mapValues(obj, function (v) {
11
- if (lodash_1.default.isPlainObject(v)) {
12
- return lodash_1.default.deep(v, mapper);
13
- }
14
- if (lodash_1.default.isArray(v)) {
15
- return lodash_1.default.map(v, val => lodash_1.default.deep(val, mapper));
16
- }
17
- return v;
18
- }));
19
- }
20
- });
21
- function firstLetterToLowerCase(data) {
22
- return lodash_1.default.deep(data, function (x) {
23
- return lodash_1.default.mapKeys(x, function (val, key) {
24
- return key.charAt(0).toLowerCase() + key.slice(1);
25
- });
26
- });
27
- }
28
- exports.firstLetterToLowerCase = firstLetterToLowerCase;