@cloudbase/cli 2.10.0-beta.0 → 2.10.1-alpha.0

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