@lovrabet/rabetbase-cli 2.5.3-beta.3 → 2.5.3

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 (361) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/api-group.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.js +1 -1
  6. package/lib/api/legacy-api-file.js +1 -1
  7. package/lib/api/model-registry-file.js +1 -1
  8. package/lib/api/model-registry-scaffold.js +1 -1
  9. package/lib/api/model-source.js +1 -1
  10. package/lib/auth/auth-server-ui.js +1 -1
  11. package/lib/auth/auth-server.js +1 -1
  12. package/lib/auth/constant.js +1 -1
  13. package/lib/auth/get-cookie.js +1 -1
  14. package/lib/auth/get-session-user.js +1 -1
  15. package/lib/auth/is-session-valid.js +1 -1
  16. package/lib/auth/login-success-html.js +1 -1
  17. package/lib/auth/logout.js +1 -1
  18. package/lib/cli-flags.js +1 -1
  19. package/lib/cli.js +1 -1
  20. package/lib/commands/api/generate.js +1 -1
  21. package/lib/commands/api/index.js +1 -1
  22. package/lib/commands/api/list.js +1 -1
  23. package/lib/commands/api/pull.js +1 -1
  24. package/lib/commands/api/shared.js +1 -1
  25. package/lib/commands/app/index.js +1 -1
  26. package/lib/commands/app/list.js +1 -1
  27. package/lib/commands/app/members-list.js +1 -1
  28. package/lib/commands/app/remote-directory.js +1 -1
  29. package/lib/commands/app/shared.js +1 -1
  30. package/lib/commands/app-config/delete.js +1 -1
  31. package/lib/commands/app-config/get.js +1 -1
  32. package/lib/commands/app-config/index.js +1 -1
  33. package/lib/commands/app-config/list.js +1 -1
  34. package/lib/commands/app-config/set.js +1 -1
  35. package/lib/commands/app-config/shared.js +1 -1
  36. package/lib/commands/auth/index.js +1 -1
  37. package/lib/commands/bff/create.js +1 -1
  38. package/lib/commands/bff/delete.js +1 -1
  39. package/lib/commands/bff/detail.js +1 -1
  40. package/lib/commands/bff/index.js +1 -1
  41. package/lib/commands/bff/list.js +1 -1
  42. package/lib/commands/bff/logs.js +1 -1
  43. package/lib/commands/bff/pull.js +1 -1
  44. package/lib/commands/bff/push.js +1 -1
  45. package/lib/commands/bff/status.js +1 -1
  46. package/lib/commands/cli-skill/index.js +1 -1
  47. package/lib/commands/cli-update.js +1 -1
  48. package/lib/commands/codegen/index.js +1 -1
  49. package/lib/commands/codegen/sdk.js +1 -1
  50. package/lib/commands/codegen/sql.js +1 -1
  51. package/lib/commands/common/app-registry.js +1 -1
  52. package/lib/commands/common/app-selector.js +1 -1
  53. package/lib/commands/common/async-task.js +1 -1
  54. package/lib/commands/common/dry-run.js +1 -1
  55. package/lib/commands/common/flags.js +1 -1
  56. package/lib/commands/common/local-file.js +1 -1
  57. package/lib/commands/common/validate.js +1 -1
  58. package/lib/commands/config/delete.js +1 -1
  59. package/lib/commands/config/get.js +1 -1
  60. package/lib/commands/config/index.js +1 -1
  61. package/lib/commands/config/init.js +1 -1
  62. package/lib/commands/config/list.js +1 -1
  63. package/lib/commands/config/set.js +1 -1
  64. package/lib/commands/config/shared.js +1 -1
  65. package/lib/commands/dataset/batch-design.js +1 -1
  66. package/lib/commands/dataset/business-group-update.js +1 -1
  67. package/lib/commands/dataset/business-groups.js +1 -1
  68. package/lib/commands/dataset/capability.js +1 -1
  69. package/lib/commands/dataset/cross-relation-create.js +1 -1
  70. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  71. package/lib/commands/dataset/cross-relation-list.js +1 -1
  72. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  73. package/lib/commands/dataset/cross-relation-update.js +1 -1
  74. package/lib/commands/dataset/delete.js +1 -1
  75. package/lib/commands/dataset/detail.js +1 -1
  76. package/lib/commands/dataset/extend-update.js +1 -1
  77. package/lib/commands/dataset/field-restore.js +1 -1
  78. package/lib/commands/dataset/field-update.js +1 -1
  79. package/lib/commands/dataset/generate.js +1 -1
  80. package/lib/commands/dataset/index.js +1 -1
  81. package/lib/commands/dataset/list.js +1 -1
  82. package/lib/commands/dataset/operations.js +1 -1
  83. package/lib/commands/dataset/relation-audit.js +1 -1
  84. package/lib/commands/dataset/relation-create.js +1 -1
  85. package/lib/commands/dataset/relation-delete.js +1 -1
  86. package/lib/commands/dataset/relation-shared.js +1 -1
  87. package/lib/commands/dataset/relation-update.js +1 -1
  88. package/lib/commands/dataset/relations.js +1 -1
  89. package/lib/commands/dataset/rename.js +1 -1
  90. package/lib/commands/dataset/restore.js +1 -1
  91. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  92. package/lib/commands/db/analysis-batching.js +1 -1
  93. package/lib/commands/db/analyze-batch-plan.js +1 -1
  94. package/lib/commands/db/analyze-cancel.js +1 -1
  95. package/lib/commands/db/analyze-start.js +1 -1
  96. package/lib/commands/db/analyze-status.js +1 -1
  97. package/lib/commands/db/create.js +1 -1
  98. package/lib/commands/db/delete.js +1 -1
  99. package/lib/commands/db/detail.js +1 -1
  100. package/lib/commands/db/diff-refresh-start.js +1 -1
  101. package/lib/commands/db/diff-refresh-status.js +1 -1
  102. package/lib/commands/db/diff.js +1 -1
  103. package/lib/commands/db/index.js +1 -1
  104. package/lib/commands/db/list.js +1 -1
  105. package/lib/commands/db/shared.js +1 -1
  106. package/lib/commands/db/table-diff-shared.js +1 -1
  107. package/lib/commands/db/tables.js +1 -1
  108. package/lib/commands/db/test.js +1 -1
  109. package/lib/commands/db/update.js +1 -1
  110. package/lib/commands/deployment/index.js +1 -1
  111. package/lib/commands/deployment/sync-all.js +1 -1
  112. package/lib/commands/deployment/sync-jobs.js +1 -1
  113. package/lib/commands/deployment/sync-status.js +1 -1
  114. package/lib/commands/doctor.js +1 -1
  115. package/lib/commands/file/index.js +1 -1
  116. package/lib/commands/flow/create.js +1 -1
  117. package/lib/commands/flow/detail.js +1 -1
  118. package/lib/commands/flow/index.js +1 -1
  119. package/lib/commands/flow/list.js +1 -1
  120. package/lib/commands/flow/publish.js +1 -1
  121. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  122. package/lib/commands/flow/runtime-role-list.js +1 -1
  123. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  124. package/lib/commands/flow/runtime-user-search.js +1 -1
  125. package/lib/commands/flow/shared.js +1 -1
  126. package/lib/commands/flow/update.js +1 -1
  127. package/lib/commands/flow/validate.js +1 -1
  128. package/lib/commands/instant-api-policy/current.js +1 -1
  129. package/lib/commands/instant-api-policy/index.js +1 -1
  130. package/lib/commands/instant-api-policy/init.js +1 -1
  131. package/lib/commands/instant-api-policy/publish.js +1 -1
  132. package/lib/commands/instant-api-policy/pull.js +1 -1
  133. package/lib/commands/instant-api-policy/revision.js +1 -1
  134. package/lib/commands/instant-api-policy/revisions.js +1 -1
  135. package/lib/commands/instant-api-policy/rollback.js +1 -1
  136. package/lib/commands/instant-api-policy/shared.js +1 -1
  137. package/lib/commands/instant-api-policy/validate.js +1 -1
  138. package/lib/commands/issue/index.js +1 -1
  139. package/lib/commands/issue/nudge.js +1 -1
  140. package/lib/commands/issue/report.js +1 -1
  141. package/lib/commands/issue/shared.js +1 -1
  142. package/lib/commands/kb/create.js +1 -1
  143. package/lib/commands/kb/delete.js +1 -1
  144. package/lib/commands/kb/detail.js +1 -1
  145. package/lib/commands/kb/index.js +1 -1
  146. package/lib/commands/kb/list.js +1 -1
  147. package/lib/commands/kb/search.js +1 -1
  148. package/lib/commands/kb/shared.js +1 -1
  149. package/lib/commands/kb/update.js +1 -1
  150. package/lib/commands/logs/index.js +1 -1
  151. package/lib/commands/menu/asset-update.js +1 -1
  152. package/lib/commands/menu/delete.js +1 -1
  153. package/lib/commands/menu/external-link-create.js +1 -1
  154. package/lib/commands/menu/external-link-update.js +1 -1
  155. package/lib/commands/menu/group-create.js +1 -1
  156. package/lib/commands/menu/group-update.js +1 -1
  157. package/lib/commands/menu/index.js +1 -1
  158. package/lib/commands/menu/list.js +1 -1
  159. package/lib/commands/menu/move.js +1 -1
  160. package/lib/commands/menu/regroup-start.js +1 -1
  161. package/lib/commands/menu/rename.js +1 -1
  162. package/lib/commands/menu/shared/compare-table.js +1 -1
  163. package/lib/commands/menu/shared/delete-plan.js +1 -1
  164. package/lib/commands/menu/shared/facts.js +1 -1
  165. package/lib/commands/menu/shared/index.js +1 -1
  166. package/lib/commands/menu/shared/inquirer.js +1 -1
  167. package/lib/commands/menu/shared/local-pages.js +1 -1
  168. package/lib/commands/menu/shared/logic.js +1 -1
  169. package/lib/commands/menu/shared/mutations.js +1 -1
  170. package/lib/commands/menu/shared/service.js +1 -1
  171. package/lib/commands/menu/shared/sync-core.js +1 -1
  172. package/lib/commands/menu/shared/update-core.js +1 -1
  173. package/lib/commands/menu/shared/valid-url.js +1 -1
  174. package/lib/commands/menu/sync.js +1 -1
  175. package/lib/commands/menu/visibility-update.js +1 -1
  176. package/lib/commands/notification/config-create.js +1 -1
  177. package/lib/commands/notification/config-delete.js +1 -1
  178. package/lib/commands/notification/config-list.js +1 -1
  179. package/lib/commands/notification/config-update.js +1 -1
  180. package/lib/commands/notification/index.js +1 -1
  181. package/lib/commands/notification/shared.js +1 -1
  182. package/lib/commands/ocr/index.js +1 -1
  183. package/lib/commands/page/create.js +1 -1
  184. package/lib/commands/page/custom/detail.js +1 -1
  185. package/lib/commands/page/custom/list.js +1 -1
  186. package/lib/commands/page/custom/publish.js +1 -1
  187. package/lib/commands/page/custom/shared.js +1 -1
  188. package/lib/commands/page/custom/syntax.js +1 -1
  189. package/lib/commands/page/custom/update.js +1 -1
  190. package/lib/commands/page/data-list-status.js +1 -1
  191. package/lib/commands/page/generate-start.js +1 -1
  192. package/lib/commands/page/generate-status.js +1 -1
  193. package/lib/commands/page/index.js +1 -1
  194. package/lib/commands/page/pull.js +1 -1
  195. package/lib/commands/page/push.js +1 -1
  196. package/lib/commands/page/relation-audit.js +1 -1
  197. package/lib/commands/page/restore.js +1 -1
  198. package/lib/commands/page/shared.js +1 -1
  199. package/lib/commands/page/sync.js +1 -1
  200. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  201. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  202. package/lib/commands/project/create/format-elapsed.js +1 -1
  203. package/lib/commands/project/create/main.js +1 -1
  204. package/lib/commands/project/create/materialize-project-template.js +1 -1
  205. package/lib/commands/project/create/project-name.js +1 -1
  206. package/lib/commands/project/create/project-template-archive.js +1 -1
  207. package/lib/commands/project/create/project-template-path.js +1 -1
  208. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  209. package/lib/commands/project/create/use-format-code.js +1 -1
  210. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  211. package/lib/commands/project/domain-routing-sync.js +1 -1
  212. package/lib/commands/project/index.js +1 -1
  213. package/lib/commands/project/upgrade.js +1 -1
  214. package/lib/commands/registry.js +1 -1
  215. package/lib/commands/role/delete.js +1 -1
  216. package/lib/commands/role/detail.js +1 -1
  217. package/lib/commands/role/index.js +1 -1
  218. package/lib/commands/role/list.js +1 -1
  219. package/lib/commands/role/shared.js +1 -1
  220. package/lib/commands/role/update.js +1 -1
  221. package/lib/commands/role/user-add.js +1 -1
  222. package/lib/commands/role/user-remove.js +1 -1
  223. package/lib/commands/role/user-resolve.js +1 -1
  224. package/lib/commands/rule/get.js +1 -1
  225. package/lib/commands/rule/index.js +1 -1
  226. package/lib/commands/rule/list.js +1 -1
  227. package/lib/commands/rule/set.js +1 -1
  228. package/lib/commands/rule/shared.js +1 -1
  229. package/lib/commands/run/index.js +1 -1
  230. package/lib/commands/schema.js +1 -1
  231. package/lib/commands/sql/create.js +1 -1
  232. package/lib/commands/sql/delete.js +1 -1
  233. package/lib/commands/sql/detail.js +1 -1
  234. package/lib/commands/sql/exec.js +1 -1
  235. package/lib/commands/sql/index.js +1 -1
  236. package/lib/commands/sql/list.js +1 -1
  237. package/lib/commands/sql/pull.js +1 -1
  238. package/lib/commands/sql/push.js +1 -1
  239. package/lib/commands/sql/shared.js +1 -1
  240. package/lib/commands/sql/status.js +1 -1
  241. package/lib/commands/sql/validate.js +1 -1
  242. package/lib/commands/task/index.js +1 -1
  243. package/lib/commands/task/status.js +1 -1
  244. package/lib/commands/tenant/index.js +1 -1
  245. package/lib/commands/tenant/members-list.js +1 -1
  246. package/lib/commands/tenant/shared.js +1 -1
  247. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  248. package/lib/commands/user-account/index.js +1 -1
  249. package/lib/commands/workspace/add.js +1 -1
  250. package/lib/commands/workspace/index.js +1 -1
  251. package/lib/commands/workspace/remove.js +1 -1
  252. package/lib/config/domain-config.js +1 -1
  253. package/lib/config/project-domain-routing.js +1 -1
  254. package/lib/config/region-config.js +1 -1
  255. package/lib/config/schema.js +1 -1
  256. package/lib/constant/cdn.d.ts +5 -3
  257. package/lib/constant/cdn.js +1 -1
  258. package/lib/constant/cli.js +1 -1
  259. package/lib/constant/defaults.js +1 -1
  260. package/lib/constant/domain.js +1 -1
  261. package/lib/constant/env.js +1 -1
  262. package/lib/constant/output.js +1 -1
  263. package/lib/constant/paths.js +1 -1
  264. package/lib/constant/region.js +1 -1
  265. package/lib/constant/risk.js +1 -1
  266. package/lib/constant/routing-profile.js +1 -1
  267. package/lib/context/app-resolver.js +1 -1
  268. package/lib/context/auth-resolver.js +1 -1
  269. package/lib/context/config-loader.js +1 -1
  270. package/lib/context.js +1 -1
  271. package/lib/core/alias-resolver.js +1 -1
  272. package/lib/core/api-client.js +1 -1
  273. package/lib/core/bff/config.js +1 -1
  274. package/lib/core/bff/file-system.js +1 -1
  275. package/lib/core/bff/hash.js +1 -1
  276. package/lib/core/bff/hook-directory.js +1 -1
  277. package/lib/core/bff/lock.js +1 -1
  278. package/lib/core/bff/utils.js +1 -1
  279. package/lib/core/cross-db-relation.js +1 -1
  280. package/lib/core/db-resolver.js +1 -1
  281. package/lib/core/flow-config.js +1 -1
  282. package/lib/core/instant-api-policy/config.js +1 -1
  283. package/lib/core/kb-search-client.js +1 -1
  284. package/lib/core/page/file-system.js +1 -1
  285. package/lib/core/page/hash.js +1 -1
  286. package/lib/core/page/lock.js +1 -1
  287. package/lib/core/page/lr-smart-jsx.js +1 -1
  288. package/lib/core/sql-index-auditor.js +1 -1
  289. package/lib/core/sql-sync/config.js +1 -1
  290. package/lib/core/sql-sync/file-system.js +1 -1
  291. package/lib/core/sql-sync/hash.js +1 -1
  292. package/lib/core/sql-sync/lock.js +1 -1
  293. package/lib/core/sql-sync/utils.js +1 -1
  294. package/lib/core/sql-validator.js +1 -1
  295. package/lib/errors.js +1 -1
  296. package/lib/framework/build-all-flags.js +1 -1
  297. package/lib/framework/error-output.js +1 -1
  298. package/lib/framework/explicit-yes.js +1 -1
  299. package/lib/framework/flags.js +1 -1
  300. package/lib/framework/help.js +1 -1
  301. package/lib/framework/index.js +1 -1
  302. package/lib/framework/output.js +1 -1
  303. package/lib/framework/response.js +1 -1
  304. package/lib/framework/runner-alias.js +1 -1
  305. package/lib/framework/runner.js +1 -1
  306. package/lib/framework/schema-export.js +1 -1
  307. package/lib/framework/supported-flags.js +1 -1
  308. package/lib/framework/types.js +1 -1
  309. package/lib/generated/build-info.d.ts +4 -4
  310. package/lib/generated/build-info.js +1 -1
  311. package/lib/generated/official-routing.js +1 -1
  312. package/lib/generated/routing-contract.js +1 -1
  313. package/lib/help.js +1 -1
  314. package/lib/postinstall.js +1 -1
  315. package/lib/runtime/confirmation.js +1 -1
  316. package/lib/runtime/event.js +1 -1
  317. package/lib/runtime/index.js +1 -1
  318. package/lib/runtime/queue.js +1 -1
  319. package/lib/runtime/resolve.js +1 -1
  320. package/lib/skills/builtin-skill.js +1 -1
  321. package/lib/skills/main.js +1 -1
  322. package/lib/skills/npx-skills-add.js +1 -1
  323. package/lib/skills/skill-presence.js +1 -1
  324. package/lib/telemetry/cli-command-trace.js +1 -1
  325. package/lib/telemetry/cli-help-trace.js +1 -1
  326. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  327. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  328. package/lib/telemetry/send-cli-trace-log.js +1 -1
  329. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  330. package/lib/utils/ai_config.js +1 -1
  331. package/lib/utils/apply-jq-filter.js +1 -1
  332. package/lib/utils/cdn-config.js +1 -1
  333. package/lib/utils/check-sdk-version.js +1 -1
  334. package/lib/utils/cli-version-check.js +1 -1
  335. package/lib/utils/cli-version-policy.d.ts +7 -0
  336. package/lib/utils/cli-version-policy.js +1 -1
  337. package/lib/utils/config.js +1 -1
  338. package/lib/utils/entity-with-id.js +1 -1
  339. package/lib/utils/file-utils.js +1 -1
  340. package/lib/utils/guides-cdn.js +1 -1
  341. package/lib/utils/http-client.js +1 -1
  342. package/lib/utils/is-non-interactive.js +1 -1
  343. package/lib/utils/logger.js +1 -1
  344. package/lib/utils/params.js +1 -1
  345. package/lib/utils/platform.js +1 -1
  346. package/lib/utils/sleep.js +1 -1
  347. package/lib/utils/template-replacer.js +1 -1
  348. package/lib/utils/update-notice.js +1 -1
  349. package/lib/utils/version.js +1 -1
  350. package/lib/utils/with-active-cookie.js +1 -1
  351. package/lib/utils/write-cli-side-channel.js +1 -1
  352. package/package.json +3 -1
  353. package/skills/rabetbase/SKILL.md +7 -5
  354. package/skills/rabetbase/guides/backend-function.md +5 -1
  355. package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
  356. package/skills/rabetbase/guides/cross-database-bff.md +70 -0
  357. package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
  358. package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
  359. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +5 -1
  360. package/skills/rabetbase.manifest.json +4 -3
  361. package/templates/README.md +41 -13
@@ -1 +1 @@
1
- (function(_0xb3df4b,_0x4403f2){const _0x33499c=a337_0x2cc7,_0x4920c3=_0xb3df4b();while(!![]){try{const _0x3cb617=parseInt(_0x33499c(0x94))/0x1+parseInt(_0x33499c(0xa3))/0x2*(-parseInt(_0x33499c(0xa8))/0x3)+-parseInt(_0x33499c(0x96))/0x4*(-parseInt(_0x33499c(0x8f))/0x5)+-parseInt(_0x33499c(0x9b))/0x6*(-parseInt(_0x33499c(0x97))/0x7)+parseInt(_0x33499c(0x8b))/0x8+parseInt(_0x33499c(0x91))/0x9+parseInt(_0x33499c(0x93))/0xa*(-parseInt(_0x33499c(0x95))/0xb);if(_0x3cb617===_0x4403f2)break;else _0x4920c3['push'](_0x4920c3['shift']());}catch(_0x1ff458){_0x4920c3['push'](_0x4920c3['shift']());}}}(a337_0x494b,0x98a70));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a337_0x1d6470 from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x584cf2){const _0xc6a021=a337_0x2cc7,_0x3a6394=_0x584cf2['stableVersion']||_0xc6a021(0x8c);return _0xc6a021(0x9c)+NPM_PACKAGE_NAME+'@'+_0x3a6394;}function a337_0x2cc7(_0x1dd184,_0x3488b2){_0x1dd184=_0x1dd184-0x86;const _0x494b25=a337_0x494b();let _0x2cc717=_0x494b25[_0x1dd184];return _0x2cc717;}function getCurrentCliVersion(){const _0x4d4d74=a337_0x2cc7;try{const _0x33ece8=fileURLToPath(import.meta.url),_0x22d78c=resolve(dirname(_0x33ece8),_0x4d4d74(0xa6)),_0x62fe9b=resolve(_0x22d78c,_0x4d4d74(0x98)),_0x1e4bea=JSON['parse'](readFileSync(_0x62fe9b,'utf-8'));return _0x1e4bea[_0x4d4d74(0x8d)]||'1.0.0';}catch{return _0x4d4d74(0x89);}}export async function checkCliVersion(){const _0x1e39f5=a337_0x2cc7,_0x4cd31e=getCurrentCliVersion(),_0x4d8562=await getCliVersionPolicy(),_0x20f7a9=_0x4d8562?.['stableVersion']||null,_0x129025=_0x4d8562?.[_0x1e39f5(0x87)]||null;let _0x31cb83=![],_0x494810=![];const _0x11a8e1=a337_0x1d6470[_0x1e39f5(0x8e)](_0x4cd31e);if(_0x11a8e1&&_0x20f7a9)try{const _0x3d733d=a337_0x1d6470[_0x1e39f5(0x8e)](_0x20f7a9);if(_0x3d733d)_0x31cb83=a337_0x1d6470['lt'](_0x11a8e1,_0x3d733d);}catch{}if(_0x11a8e1&&_0x129025)try{const _0x555ef4=a337_0x1d6470[_0x1e39f5(0x8e)](_0x129025);if(_0x555ef4)_0x494810=a337_0x1d6470['lt'](_0x11a8e1,_0x555ef4);}catch{}return _0x494810&&(_0x31cb83=!![]),{'currentVersion':_0x4cd31e,'stableVersion':_0x20f7a9,'minimumVersion':_0x129025,'needsUpgrade':_0x31cb83,'belowMinimum':_0x494810,'isPreRelease':![],'upgradeMessage':_0x4d8562?.['upgradeMessage'],'minimumVersionMessage':_0x4d8562?.[_0x1e39f5(0x8a)]};}export function printCliUpgradeWarning(_0x56624a){const _0x32adb6=a337_0x2cc7;if(!_0x56624a['needsUpgrade']&&!_0x56624a[_0x32adb6(0x86)])return;const _0x2b25b7='\x1b[31m',_0x238ed0=_0x32adb6(0xa2),_0x4cda9d=_0x32adb6(0xac),_0x59aa13='\x1b[1m',_0x4b6567=getCliUpgradeCommand(_0x56624a);console[_0x32adb6(0xa5)](),_0x56624a['belowMinimum']?(console[_0x32adb6(0xa5)](''+_0x2b25b7+_0x59aa13+_0x32adb6(0xa0)+_0x4cda9d),console[_0x32adb6(0xa5)](_0x2b25b7+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0x56624a[_0x32adb6(0x9d)]+_0x4cda9d),_0x56624a[_0x32adb6(0x87)]&&console['log'](_0x2b25b7+'\x20\x20\x20Minimum\x20supported:\x20'+_0x56624a['minimumVersion']+_0x4cda9d),_0x56624a['stableVersion']&&_0x56624a['stableVersion']!==_0x56624a['minimumVersion']&&console[_0x32adb6(0xa5)](_0x2b25b7+_0x32adb6(0x88)+_0x56624a['stableVersion']+_0x4cda9d),_0x56624a[_0x32adb6(0x8a)]&&console[_0x32adb6(0xa5)](_0x2b25b7+_0x32adb6(0x99)+_0x56624a[_0x32adb6(0x8a)]+_0x4cda9d),console[_0x32adb6(0xa5)](_0x2b25b7+_0x32adb6(0x9a)+_0x4b6567+_0x4cda9d)):(console[_0x32adb6(0xa5)](''+_0x238ed0+_0x59aa13+_0x32adb6(0xa7)+_0x4cda9d),console[_0x32adb6(0xa5)](_0x238ed0+_0x32adb6(0xa4)+_0x56624a[_0x32adb6(0x9d)]+_0x4cda9d),console[_0x32adb6(0xa5)](_0x238ed0+_0x32adb6(0xab)+_0x56624a[_0x32adb6(0xa1)]+_0x4cda9d),_0x56624a[_0x32adb6(0x9f)]&&console[_0x32adb6(0xa5)](_0x238ed0+_0x32adb6(0x99)+_0x56624a[_0x32adb6(0x9f)]+_0x4cda9d),console[_0x32adb6(0xa5)](_0x238ed0+_0x32adb6(0x9a)+_0x4b6567+_0x4cda9d)),console[_0x32adb6(0xa5)]();}function a337_0x494b(){const _0x4f7220=['filter','Upgrade\x20command:\x20','\x20\x20\x20Stable\x20version:\x20','\x1b[0m','belowMinimum','minimumVersion','\x20\x20\x20Recommended\x20stable:\x20','1.0.0','minimumVersionMessage','8728752CHovtL','latest','version','coerce','35dXUAAi','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','9876465dqWHag','validation','610OsqKJq','959933rbgcou','622127CToOHw','435124rJqRbE','7ptunpO','package.json','\x20\x20\x20','\x20\x20\x20Upgrade\x20command:\x20','5589714YxzrVl','npm\x20install\x20-g\x20','currentVersion','join','upgradeMessage','↪\x20Critical\x20CLI\x20upgrade\x20required','stableVersion','\x1b[33m','6NdFYMo','\x20\x20\x20Current\x20CLI\x20version:\x20','log','../..','↪\x20New\x20version\x20available','766257XinHrJ'];a337_0x494b=function(){return _0x4f7220;};return a337_0x494b();}export function assertCliVersionSupported(_0x16440c){const _0x27bfd5=a337_0x2cc7;if(!_0x16440c['belowMinimum'])return;const _0x487c65=[_0x16440c['minimumVersionMessage'],'Current\x20version:\x20'+_0x16440c[_0x27bfd5(0x9d)],_0x16440c[_0x27bfd5(0x87)]?'Minimum\x20supported:\x20'+_0x16440c[_0x27bfd5(0x87)]:null,_0x27bfd5(0xaa)+getCliUpgradeCommand(_0x16440c)][_0x27bfd5(0xa9)](Boolean)[_0x27bfd5(0x9e)]('\x0a');throw CliErrors[_0x27bfd5(0x92)](_0x27bfd5(0x90),_0x487c65);}
1
+ (function(_0x5dfbec,_0x7315ff){const _0xa72758=a337_0x239f,_0x37a21e=_0x5dfbec();while(!![]){try{const _0x43e5c7=parseInt(_0xa72758(0x76))/0x1+-parseInt(_0xa72758(0x6f))/0x2*(-parseInt(_0xa72758(0x7c))/0x3)+parseInt(_0xa72758(0x72))/0x4*(-parseInt(_0xa72758(0x78))/0x5)+-parseInt(_0xa72758(0x8d))/0x6*(parseInt(_0xa72758(0x69))/0x7)+parseInt(_0xa72758(0x7f))/0x8*(-parseInt(_0xa72758(0x6d))/0x9)+-parseInt(_0xa72758(0x68))/0xa*(parseInt(_0xa72758(0x7a))/0xb)+parseInt(_0xa72758(0x8b))/0xc;if(_0x43e5c7===_0x7315ff)break;else _0x37a21e['push'](_0x37a21e['shift']());}catch(_0x18ecf5){_0x37a21e['push'](_0x37a21e['shift']());}}}(a337_0x24a7,0x37bd7));import{readFileSync}from'node:fs';function a337_0x24a7(){const _0x393f21=['latest','560328XvQfHB','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','\x1b[31m','\x20\x20\x20Upgrade\x20command:\x20','belowMinimum','minimumVersion','needsUpgrade','minimumVersionMessage','filter','parse','1.0.0','log','7813164XDjkfE','npm\x20install\x20-g\x20','4584OGavlc','package.json','join','263690cqoduz','3934TfeICZ','\x20\x20\x20Recommended\x20stable:\x20','coerce','\x20\x20\x20','9GwteNO','\x1b[1m','332yMnicb','Minimum\x20supported:\x20','upgradeMessage','297268nRvRQk','\x20\x20\x20Current\x20CLI\x20version:\x20','↪\x20New\x20version\x20available','\x20\x20\x20Stable\x20version:\x20','72462wabnNI','stableVersion','10KmxFcY','Current\x20version:\x20','33xguOVo','\x1b[33m','4191KxOLiz','currentVersion'];a337_0x24a7=function(){return _0x393f21;};return a337_0x24a7();}import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a337_0x28f546 from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';function a337_0x239f(_0x45de17,_0x28bd17){_0x45de17=_0x45de17-0x68;const _0x24a748=a337_0x24a7();let _0x239f06=_0x24a748[_0x45de17];return _0x239f06;}import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x4a128a){const _0x37ce04=a337_0x239f,_0x4f3572=_0x4a128a[_0x37ce04(0x77)]||_0x37ce04(0x7e);return _0x37ce04(0x8c)+NPM_PACKAGE_NAME+'@'+_0x4f3572;}function getCurrentCliVersion(){const _0x39de62=a337_0x239f;try{const _0x9b415e=fileURLToPath(import.meta.url),_0x4718f3=resolve(dirname(_0x9b415e),'../..'),_0x483880=resolve(_0x4718f3,_0x39de62(0x8e)),_0x2bcc97=JSON[_0x39de62(0x88)](readFileSync(_0x483880,'utf-8'));return _0x2bcc97['version']||_0x39de62(0x89);}catch{return _0x39de62(0x89);}}export async function checkCliVersion(){const _0x3ea75f=a337_0x239f,_0x73a109=getCurrentCliVersion(),_0x26444f=await getCliVersionPolicy(),_0x11aafb=_0x26444f?.[_0x3ea75f(0x77)]||null,_0x45a633=_0x26444f?.['minimumVersion']||null;let _0x3f855f=![],_0x39d752=![];const _0x47de67=a337_0x28f546[_0x3ea75f(0x6b)](_0x73a109);if(_0x47de67&&_0x11aafb)try{const _0x50c913=a337_0x28f546[_0x3ea75f(0x6b)](_0x11aafb);if(_0x50c913)_0x3f855f=a337_0x28f546['lt'](_0x47de67,_0x50c913);}catch{}if(_0x47de67&&_0x45a633)try{const _0x1cdd40=a337_0x28f546[_0x3ea75f(0x6b)](_0x45a633);if(_0x1cdd40)_0x39d752=a337_0x28f546['lt'](_0x47de67,_0x1cdd40);}catch{}return _0x39d752&&(_0x3f855f=!![]),{'currentVersion':_0x73a109,'stableVersion':_0x11aafb,'minimumVersion':_0x45a633,'needsUpgrade':_0x3f855f,'belowMinimum':_0x39d752,'isPreRelease':![],'upgradeMessage':_0x26444f?.[_0x3ea75f(0x71)],'minimumVersionMessage':_0x26444f?.[_0x3ea75f(0x86)]};}export function printCliUpgradeWarning(_0x47afa0){const _0x16a957=a337_0x239f;if(!_0x47afa0[_0x16a957(0x85)]&&!_0x47afa0[_0x16a957(0x83)])return;const _0x3e24e7=_0x16a957(0x81),_0x1aac6e=_0x16a957(0x7b),_0x1d263a='\x1b[0m',_0x45d733=_0x16a957(0x6e),_0x48487f=getCliUpgradeCommand(_0x47afa0);console['log'](),_0x47afa0[_0x16a957(0x83)]?(console[_0x16a957(0x8a)](''+_0x3e24e7+_0x45d733+'↪\x20Critical\x20CLI\x20upgrade\x20required'+_0x1d263a),console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x73)+_0x47afa0['currentVersion']+_0x1d263a),_0x47afa0[_0x16a957(0x84)]&&console[_0x16a957(0x8a)](_0x3e24e7+'\x20\x20\x20Minimum\x20supported:\x20'+_0x47afa0[_0x16a957(0x84)]+_0x1d263a),_0x47afa0[_0x16a957(0x77)]&&_0x47afa0[_0x16a957(0x77)]!==_0x47afa0[_0x16a957(0x84)]&&console['log'](_0x3e24e7+_0x16a957(0x6a)+_0x47afa0[_0x16a957(0x77)]+_0x1d263a),_0x47afa0[_0x16a957(0x86)]&&console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x6c)+_0x47afa0['minimumVersionMessage']+_0x1d263a),console[_0x16a957(0x8a)](_0x3e24e7+_0x16a957(0x82)+_0x48487f+_0x1d263a)):(console[_0x16a957(0x8a)](''+_0x1aac6e+_0x45d733+_0x16a957(0x74)+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0x47afa0[_0x16a957(0x7d)]+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+_0x16a957(0x75)+_0x47afa0[_0x16a957(0x77)]+_0x1d263a),_0x47afa0['upgradeMessage']&&console[_0x16a957(0x8a)](_0x1aac6e+'\x20\x20\x20'+_0x47afa0[_0x16a957(0x71)]+_0x1d263a),console[_0x16a957(0x8a)](_0x1aac6e+_0x16a957(0x82)+_0x48487f+_0x1d263a)),console['log']();}export function assertCliVersionSupported(_0x3aa644){const _0xe11ca=a337_0x239f;if(!_0x3aa644[_0xe11ca(0x83)])return;const _0x365da1=[_0x3aa644['minimumVersionMessage'],_0xe11ca(0x79)+_0x3aa644['currentVersion'],_0x3aa644[_0xe11ca(0x84)]?_0xe11ca(0x70)+_0x3aa644[_0xe11ca(0x84)]:null,'Upgrade\x20command:\x20'+getCliUpgradeCommand(_0x3aa644)][_0xe11ca(0x87)](Boolean)[_0xe11ca(0x8f)]('\x0a');throw CliErrors['validation'](_0xe11ca(0x80),_0x365da1);}
@@ -7,6 +7,7 @@ export interface CliVersionPolicy {
7
7
  export interface ProjectTemplateCdnDescriptor {
8
8
  version: string;
9
9
  name: string;
10
+ url?: string;
10
11
  sha256: string;
11
12
  size: number;
12
13
  }
@@ -20,6 +21,11 @@ export interface RabetbaseCdnConfig {
20
21
  };
21
22
  [key: string]: unknown;
22
23
  }
24
+ export interface ProjectTemplateCdnConfigResolution {
25
+ config: RabetbaseCdnConfig;
26
+ assetBaseUrl: string;
27
+ legacyAssetBaseUrl: string;
28
+ }
23
29
  export declare function isBetaCliVersion(version: string): boolean;
24
30
  /**
25
31
  * Resolve the project template channel without changing the legacy contract:
@@ -28,6 +34,7 @@ export declare function isBetaCliVersion(version: string): boolean;
28
34
  */
29
35
  export declare function resolveProjectTemplateDescriptor(config: RabetbaseCdnConfig, cliVersion: string): ProjectTemplateCdnDescriptor | undefined;
30
36
  export declare function fetchRabetbaseCdnConfig(): Promise<RabetbaseCdnConfig | null>;
37
+ export declare function fetchProjectTemplateCdnConfig(): Promise<ProjectTemplateCdnConfigResolution | null>;
31
38
  export declare function fetchCliVersionPolicy(): Promise<CliVersionPolicy | null>;
32
39
  export declare function getRabetbaseCdnConfig(): Promise<RabetbaseCdnConfig | null>;
33
40
  export declare function getCliVersionPolicy(): Promise<CliVersionPolicy | null>;
@@ -1 +1 @@
1
- (function(_0x10f0cb,_0x41e307){const _0x7493f=a338_0x4e3e,_0x165fad=_0x10f0cb();while(!![]){try{const _0x562494=parseInt(_0x7493f(0x1a7))/0x1*(-parseInt(_0x7493f(0x1a9))/0x2)+parseInt(_0x7493f(0x1ae))/0x3+parseInt(_0x7493f(0x1b5))/0x4*(parseInt(_0x7493f(0x1a8))/0x5)+parseInt(_0x7493f(0x1b1))/0x6*(parseInt(_0x7493f(0x1bb))/0x7)+parseInt(_0x7493f(0x1bd))/0x8+-parseInt(_0x7493f(0x1b4))/0x9*(parseInt(_0x7493f(0x1b6))/0xa)+-parseInt(_0x7493f(0x1b3))/0xb;if(_0x562494===_0x41e307)break;else _0x165fad['push'](_0x165fad['shift']());}catch(_0x2626ae){_0x165fad['push'](_0x165fad['shift']());}}}(a338_0x2baa,0x32161));import{CLI_VERSION_POLICY_URL}from'../constant/cdn.js';import a338_0x5027f6 from'semver';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;export function isBetaCliVersion(_0x580689){const _0x40cfb9=a338_0x4e3e,_0x195495=a338_0x5027f6[_0x40cfb9(0x1bc)](_0x580689);return _0x195495?a338_0x5027f6[_0x40cfb9(0x1b8)](_0x195495)?.[0x0]==='beta':![];}export function resolveProjectTemplateDescriptor(_0x5f04f7,_0x221624){const _0x18e59a=a338_0x4e3e;if(isBetaCliVersion(_0x221624))return _0x5f04f7[_0x18e59a(0x1a6)]?.['projectTemplate']??_0x5f04f7[_0x18e59a(0x1a5)];return _0x5f04f7[_0x18e59a(0x1a5)];}function pickString(_0x305bc1){const _0x2c8d22=a338_0x4e3e;return typeof _0x305bc1===_0x2c8d22(0x1ad)&&_0x305bc1[_0x2c8d22(0x1b2)]()[_0x2c8d22(0x1a3)]>0x0?_0x305bc1[_0x2c8d22(0x1b2)]():null;}function normalizeCliVersionPolicy(_0x4d6d65){const _0x5ce57c=a338_0x4e3e;if(!_0x4d6d65||typeof _0x4d6d65!=='object')return null;const _0x90969b=_0x4d6d65,_0x30f729=_0x90969b['cli']&&typeof _0x90969b[_0x5ce57c(0x1b7)]===_0x5ce57c(0x1aa)?_0x90969b[_0x5ce57c(0x1b7)]:_0x90969b,_0x3f1680=pickString(_0x30f729['stableVersion'])||pickString(_0x30f729['latestVersion'])||pickString(_0x30f729['recommendedVersion']),_0x49eae2=pickString(_0x30f729[_0x5ce57c(0x1b0)])||pickString(_0x30f729[_0x5ce57c(0x1ac)]);if(!_0x3f1680&&!_0x49eae2)return null;return{'stableVersion':_0x3f1680,'minimumVersion':_0x49eae2,'upgradeMessage':pickString(_0x30f729[_0x5ce57c(0x1b9)])||undefined,'minimumVersionMessage':pickString(_0x30f729[_0x5ce57c(0x1af)])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0x4d29a1=a338_0x4e3e,_0xcb6b86=new AbortController(),_0x48125a=setTimeout(()=>_0xcb6b86[_0x4d29a1(0x1ba)](),FETCH_TIMEOUT_MS);try{const _0x1d6d06=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x4d29a1(0x1a2)},'signal':_0xcb6b86[_0x4d29a1(0x1a4)]});if(!_0x1d6d06['ok'])return null;const _0x2068d7=await _0x1d6d06[_0x4d29a1(0x1ab)]();return _0x2068d7&&typeof _0x2068d7===_0x4d29a1(0x1aa)?_0x2068d7:null;}catch{return null;}finally{clearTimeout(_0x48125a);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];function a338_0x4e3e(_0x469238,_0x56149a){_0x469238=_0x469238-0x1a2;const _0x2baaeb=a338_0x2baa();let _0x4e3e0b=_0x2baaeb[_0x469238];return _0x4e3e0b;}function a338_0x2baa(){const _0x5ab609=['3142840fDmXwp','cli','prerelease','upgradeMessage','abort','6076jBsLVA','valid','2213920jEpbKU','application/json','length','signal','projectTemplate','beta','14020ywAsld','76185OVGeLr','26rfLKAM','object','json','minVersion','string','839313pFOjGf','minimumVersionMessage','minimumVersion','2172VzSyYE','trim','5043863eyotJY','9IwRiIi','76ggSWNv'];a338_0x2baa=function(){return _0x5ab609;};return a338_0x2baa();}export async function getRabetbaseCdnConfig(){const _0x2ca347=Date['now']();if(hasCachedConfig){const _0x15c981=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x2ca347-cacheTime<_0x15c981)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x2ca347,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
1
+ function a338_0xe175(_0x34687b,_0x3a1021){_0x34687b=_0x34687b-0xc6;const _0x1a6006=a338_0x1a60();let _0xe1757b=_0x1a6006[_0x34687b];return _0xe1757b;}(function(_0x4a0b2b,_0x4bcbc3){const _0x35d147=a338_0xe175,_0x700a04=_0x4a0b2b();while(!![]){try{const _0x10e8e0=parseInt(_0x35d147(0xd3))/0x1*(parseInt(_0x35d147(0xde))/0x2)+-parseInt(_0x35d147(0xd9))/0x3+-parseInt(_0x35d147(0xca))/0x4*(-parseInt(_0x35d147(0xcf))/0x5)+-parseInt(_0x35d147(0xc7))/0x6+parseInt(_0x35d147(0xda))/0x7*(parseInt(_0x35d147(0xd2))/0x8)+parseInt(_0x35d147(0xcb))/0x9+parseInt(_0x35d147(0xd1))/0xa*(-parseInt(_0x35d147(0xdc))/0xb);if(_0x10e8e0===_0x4bcbc3)break;else _0x700a04['push'](_0x700a04['shift']());}catch(_0x445d99){_0x700a04['push'](_0x700a04['shift']());}}}(a338_0x1a60,0x34fb0));import{getCliVersionPolicyUrl,getProjectTemplateAssetBaseUrl,getProjectTemplateLegacyAssetBaseUrl}from'../constant/cdn.js';import a338_0x136be4 from'semver';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;export function isBetaCliVersion(_0x17fe9b){const _0x4e39db=a338_0xe175,_0x4c0cea=a338_0x136be4[_0x4e39db(0xd7)](_0x17fe9b);return _0x4c0cea?a338_0x136be4['prerelease'](_0x4c0cea)?.[0x0]===_0x4e39db(0xdf):![];}export function resolveProjectTemplateDescriptor(_0x1d2062,_0x155b32){const _0xf16342=a338_0xe175;if(isBetaCliVersion(_0x155b32))return _0x1d2062[_0xf16342(0xdf)]?.['projectTemplate']??_0x1d2062[_0xf16342(0xc9)];return _0x1d2062['projectTemplate'];}function pickString(_0x560692){const _0x38955e=a338_0xe175;return typeof _0x560692===_0x38955e(0xcc)&&_0x560692[_0x38955e(0xc8)]()['length']>0x0?_0x560692[_0x38955e(0xc8)]():null;}function normalizeCliVersionPolicy(_0x20e1fd){const _0x304aab=a338_0xe175;if(!_0x20e1fd||typeof _0x20e1fd!==_0x304aab(0xce))return null;const _0x1249cb=_0x20e1fd,_0x3c0b35=_0x1249cb[_0x304aab(0xd6)]&&typeof _0x1249cb['cli']===_0x304aab(0xce)?_0x1249cb[_0x304aab(0xd6)]:_0x1249cb,_0x38b8ba=pickString(_0x3c0b35['stableVersion'])||pickString(_0x3c0b35[_0x304aab(0xd0)])||pickString(_0x3c0b35['recommendedVersion']),_0x389c9f=pickString(_0x3c0b35[_0x304aab(0xc6)])||pickString(_0x3c0b35['minVersion']);if(!_0x38b8ba&&!_0x389c9f)return null;return{'stableVersion':_0x38b8ba,'minimumVersion':_0x389c9f,'upgradeMessage':pickString(_0x3c0b35[_0x304aab(0xd4)])||undefined,'minimumVersionMessage':pickString(_0x3c0b35['minimumVersionMessage'])||undefined};}function a338_0x1a60(){const _0x57c34b=['3671820aJuQuO','663704BsXGAY','102001kyAvsq','upgradeMessage','now','cli','valid','application/json','215868rHGHaw','35VRvPuP','signal','11VlfkUa','abort','2cPFqIv','beta','minimumVersion','2237706afeCUY','trim','projectTemplate','4552PpKaEA','3063987uTHSLa','string','json','object','755dlOzGE','latestVersion'];a338_0x1a60=function(){return _0x57c34b;};return a338_0x1a60();}async function fetchRabetbaseCdnConfigAt(_0x4f0ce9){const _0x1f6218=a338_0xe175,_0x18e757=new AbortController(),_0x3b6019=setTimeout(()=>_0x18e757[_0x1f6218(0xdd)](),FETCH_TIMEOUT_MS);try{const _0x1a79f9=await fetch(_0x4f0ce9,{'headers':{'Accept':_0x1f6218(0xd8)},'signal':_0x18e757[_0x1f6218(0xdb)]});if(!_0x1a79f9['ok'])return null;const _0x451200=await _0x1a79f9[_0x1f6218(0xcd)]();return _0x451200&&typeof _0x451200==='object'?_0x451200:null;}catch{return null;}finally{clearTimeout(_0x3b6019);}}export async function fetchRabetbaseCdnConfig(){return fetchRabetbaseCdnConfigAt(getCliVersionPolicyUrl());}export async function fetchProjectTemplateCdnConfig(){const _0xd2f01b=await getRabetbaseCdnConfig();return _0xd2f01b?{'config':_0xd2f01b,'assetBaseUrl':getProjectTemplateAssetBaseUrl(),'legacyAssetBaseUrl':getProjectTemplateLegacyAssetBaseUrl()}:null;}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x56e05f=a338_0xe175,_0x25eaf4=Date[_0x56e05f(0xd5)]();if(hasCachedConfig){const _0x2d3620=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x25eaf4-cacheTime<_0x2d3620)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x25eaf4,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
@@ -1 +1 @@
1
- const a339_0x1a332a=a339_0x286b;(function(_0x400efd,_0x3fcf5e){const _0x559d57=a339_0x286b,_0x5a6fde=_0x400efd();while(!![]){try{const _0x43e6c7=parseInt(_0x559d57(0x1d8))/0x1*(parseInt(_0x559d57(0x1d3))/0x2)+-parseInt(_0x559d57(0x1d7))/0x3*(-parseInt(_0x559d57(0x1ce))/0x4)+parseInt(_0x559d57(0x1d5))/0x5*(parseInt(_0x559d57(0x1d4))/0x6)+-parseInt(_0x559d57(0x1cd))/0x7+-parseInt(_0x559d57(0x1db))/0x8+parseInt(_0x559d57(0x1d0))/0x9*(-parseInt(_0x559d57(0x1d6))/0xa)+-parseInt(_0x559d57(0x1da))/0xb*(-parseInt(_0x559d57(0x1cf))/0xc);if(_0x43e6c7===_0x3fcf5e)break;else _0x5a6fde['push'](_0x5a6fde['shift']());}catch(_0xf358c5){_0x5a6fde['push'](_0x5a6fde['shift']());}}}(a339_0xb1b1,0xe5961));import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a339_0x50c915,getMultiAppConfigs as a339_0x549cdb,getTemplateBaseUrl as a339_0xbb1234}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';function a339_0x286b(_0x7b0f8a,_0x31e260){_0x7b0f8a=_0x7b0f8a-0x1cd;const _0xb1b14a=a339_0xb1b1();let _0x286b68=_0xb1b14a[_0x7b0f8a];return _0x286b68;}export{isInProject}from'../context.js';export function readConfig(_0x44849b){const _0x491232=a339_0x286b,_0xb15184=readRawConfig(_0x44849b);return _0xb15184[_0x491232(0x1d1)]&&typeof _0xb15184[_0x491232(0x1d1)]===_0x491232(0x1d9)&&initEnv(_0xb15184[_0x491232(0x1d1)]),_0xb15184;}export function getConfigAppCode(){return a339_0x50c915();}export function getMultiAppConfigs(_0xe29288=a339_0x1a332a(0x1d2)){return a339_0x549cdb(_0xe29288);}function a339_0xb1b1(){const _0xdee32d=['440712AfpkUQ','8575317TuBZLM','env','project','2OdOuEM','24wFkrxT','1229270EHjgTG','10vyTslI','590931SIEoml','906553ksbInf','string','143eTtTMH','6032296Psqgqd','7693077puqhet','28DGToZW'];a339_0xb1b1=function(){return _0xdee32d;};return a339_0xb1b1();}export function getTemplateBaseUrl(){return a339_0xbb1234();}
1
+ (function(_0x193453,_0x2d7f97){const _0x26654d=a339_0x1924,_0x306319=_0x193453();while(!![]){try{const _0x19e3a6=parseInt(_0x26654d(0x9c))/0x1*(-parseInt(_0x26654d(0xa2))/0x2)+-parseInt(_0x26654d(0xa1))/0x3+-parseInt(_0x26654d(0xa8))/0x4*(parseInt(_0x26654d(0xa3))/0x5)+-parseInt(_0x26654d(0xa4))/0x6*(-parseInt(_0x26654d(0x9e))/0x7)+-parseInt(_0x26654d(0xa7))/0x8*(-parseInt(_0x26654d(0xa6))/0x9)+parseInt(_0x26654d(0x9f))/0xa*(parseInt(_0x26654d(0xa0))/0xb)+parseInt(_0x26654d(0x9d))/0xc;if(_0x19e3a6===_0x2d7f97)break;else _0x306319['push'](_0x306319['shift']());}catch(_0x229775){_0x306319['push'](_0x306319['shift']());}}}(a339_0x3730,0xac8bd));function a339_0x1924(_0x410aaa,_0x584e9e){_0x410aaa=_0x410aaa-0x9b;const _0x373083=a339_0x3730();let _0x19244e=_0x373083[_0x410aaa];return _0x19244e;}import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a339_0x3ce79d,getMultiAppConfigs as a339_0x55d139,getTemplateBaseUrl as a339_0x30cbce}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';export function readConfig(_0x3b5aa8){const _0x3a5f83=a339_0x1924,_0x524d18=readRawConfig(_0x3b5aa8);return _0x524d18['env']&&typeof _0x524d18[_0x3a5f83(0xa5)]===_0x3a5f83(0x9b)&&initEnv(_0x524d18['env']),_0x524d18;}export function getConfigAppCode(){return a339_0x3ce79d();}function a339_0x3730(){const _0x30ce4b=['7cioypt','183000wTuaEx','275nuoZfz','3851490akrywx','2olwIwY','5096335AUDRsO','2335314wANghJ','env','250308fSKFIl','152CtFygg','4aYmshC','string','1321399StHCmU','35473176JgMmmj'];a339_0x3730=function(){return _0x30ce4b;};return a339_0x3730();}export function getMultiAppConfigs(_0xba2ccd='project'){return a339_0x55d139(_0xba2ccd);}export function getTemplateBaseUrl(){return a339_0x30cbce();}
@@ -1 +1 @@
1
- (function(_0x308ea7,_0x188662){const _0x4c3716=a340_0x3872,_0x3bd3df=_0x308ea7();while(!![]){try{const _0x3613f1=-parseInt(_0x4c3716(0x128))/0x1+parseInt(_0x4c3716(0x12a))/0x2*(parseInt(_0x4c3716(0x131))/0x3)+-parseInt(_0x4c3716(0x134))/0x4+parseInt(_0x4c3716(0x130))/0x5+parseInt(_0x4c3716(0x133))/0x6*(-parseInt(_0x4c3716(0x12c))/0x7)+parseInt(_0x4c3716(0x12e))/0x8*(-parseInt(_0x4c3716(0x132))/0x9)+-parseInt(_0x4c3716(0x135))/0xa*(-parseInt(_0x4c3716(0x12f))/0xb);if(_0x3613f1===_0x188662)break;else _0x3bd3df['push'](_0x3bd3df['shift']());}catch(_0xba22e1){_0x3bd3df['push'](_0x3bd3df['shift']());}}}(a340_0x244c,0x68c00));function toFiniteNumber(_0x48565e){const _0x3303bb=a340_0x3872;if(typeof _0x48565e===_0x3303bb(0x12d)&&Number[_0x3303bb(0x129)](_0x48565e))return _0x48565e;if(typeof _0x48565e==='string'){const _0x72bfd4=_0x48565e[_0x3303bb(0x127)]();if(!_0x72bfd4)return undefined;const _0x1aa4cc=Number(_0x72bfd4);if(Number[_0x3303bb(0x129)](_0x1aa4cc))return _0x1aa4cc;}return undefined;}function a340_0x3872(_0x8fe285,_0x5a8800){_0x8fe285=_0x8fe285-0x127;const _0x244c9d=a340_0x244c();let _0x387219=_0x244c9d[_0x8fe285];return _0x387219;}function a340_0x244c(){const _0x551ef3=['33lHQljd','3782095DTkVde','6eETsdw','195309jxKEPw','252ncqSTO','813792BFUHdV','2091510MEEFHI','trim','94400XxxBwi','isFinite','320154XOoMIH','object','90517OxYUIy','number','160KvIPnM'];a340_0x244c=function(){return _0x551ef3;};return a340_0x244c();}export function normalizeEntityWithIdResponse(_0x30ae12){const _0x25031e=a340_0x3872,_0x4d2c69=toFiniteNumber(_0x30ae12);if(_0x4d2c69!==undefined)return{'id':_0x4d2c69,'entity':{'id':_0x4d2c69}};if(!_0x30ae12||typeof _0x30ae12!==_0x25031e(0x12b))return{'id':undefined,'entity':{}};const _0x53ddaa={..._0x30ae12},_0x51ed71=toFiniteNumber(_0x53ddaa['id']);return _0x51ed71!==undefined&&(_0x53ddaa['id']=_0x51ed71),{'id':_0x51ed71,'entity':_0x53ddaa};}
1
+ (function(_0x2770b3,_0x438322){const _0x52b027=a340_0xeb69,_0x8340ed=_0x2770b3();while(!![]){try{const _0x213ee0=parseInt(_0x52b027(0x198))/0x1+parseInt(_0x52b027(0x194))/0x2+-parseInt(_0x52b027(0x191))/0x3+parseInt(_0x52b027(0x190))/0x4*(parseInt(_0x52b027(0x195))/0x5)+parseInt(_0x52b027(0x18f))/0x6*(parseInt(_0x52b027(0x18c))/0x7)+parseInt(_0x52b027(0x196))/0x8*(-parseInt(_0x52b027(0x18d))/0x9)+parseInt(_0x52b027(0x197))/0xa*(-parseInt(_0x52b027(0x18e))/0xb);if(_0x213ee0===_0x438322)break;else _0x8340ed['push'](_0x8340ed['shift']());}catch(_0x4735ef){_0x8340ed['push'](_0x8340ed['shift']());}}}(a340_0x3370,0x6a036));function a340_0x3370(){const _0x24fb84=['22UcrILt','3291420MBEyrm','11924axmvoF','1306161PYgUWf','object','number','455426DiuyvU','485ydydRb','48304vKpODu','1194880kiRRza','157875luTQpw','trim','7GhrFxv','171UKAhna'];a340_0x3370=function(){return _0x24fb84;};return a340_0x3370();}function a340_0xeb69(_0x47e56d,_0x354a26){_0x47e56d=_0x47e56d-0x18b;const _0x3370fb=a340_0x3370();let _0xeb69ce=_0x3370fb[_0x47e56d];return _0xeb69ce;}function toFiniteNumber(_0x4366b4){const _0x11b2db=a340_0xeb69;if(typeof _0x4366b4===_0x11b2db(0x193)&&Number['isFinite'](_0x4366b4))return _0x4366b4;if(typeof _0x4366b4==='string'){const _0x4e2df4=_0x4366b4[_0x11b2db(0x18b)]();if(!_0x4e2df4)return undefined;const _0x5c62aa=Number(_0x4e2df4);if(Number['isFinite'](_0x5c62aa))return _0x5c62aa;}return undefined;}export function normalizeEntityWithIdResponse(_0x1e8b67){const _0x154af7=a340_0xeb69,_0x21f5c8=toFiniteNumber(_0x1e8b67);if(_0x21f5c8!==undefined)return{'id':_0x21f5c8,'entity':{'id':_0x21f5c8}};if(!_0x1e8b67||typeof _0x1e8b67!==_0x154af7(0x192))return{'id':undefined,'entity':{}};const _0x4c6b87={..._0x1e8b67},_0x1ceed5=toFiniteNumber(_0x4c6b87['id']);return _0x1ceed5!==undefined&&(_0x4c6b87['id']=_0x1ceed5),{'id':_0x1ceed5,'entity':_0x4c6b87};}
@@ -1 +1 @@
1
- (function(_0x3e7721,_0x376f5c){const _0x564ac1=a341_0x5c35,_0x13f619=_0x3e7721();while(!![]){try{const _0x19ae26=-parseInt(_0x564ac1(0x86))/0x1*(parseInt(_0x564ac1(0x7e))/0x2)+parseInt(_0x564ac1(0x84))/0x3+parseInt(_0x564ac1(0x83))/0x4+parseInt(_0x564ac1(0x80))/0x5+parseInt(_0x564ac1(0x7f))/0x6*(-parseInt(_0x564ac1(0x82))/0x7)+parseInt(_0x564ac1(0x81))/0x8*(parseInt(_0x564ac1(0x7d))/0x9)+parseInt(_0x564ac1(0x7c))/0xa;if(_0x19ae26===_0x376f5c)break;else _0x13f619['push'](_0x13f619['shift']());}catch(_0x2a4a61){_0x13f619['push'](_0x13f619['shift']());}}}(a341_0x5e70,0x1f944));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x5c01d1,_0x4c60a2){const _0x5680f1=a341_0x5c35,_0x2a23d6=statSync(_0x5c01d1);if(_0x2a23d6[_0x5680f1(0x85)]()){!existsSync(_0x4c60a2)&&mkdirSync(_0x4c60a2,{'recursive':!![]});const _0x125666=readdirSync(_0x5c01d1);for(const _0x1db64f of _0x125666){await copyDir(join(_0x5c01d1,_0x1db64f),join(_0x4c60a2,_0x1db64f));}}else copyFileSync(_0x5c01d1,_0x4c60a2);}function a341_0x5c35(_0x3ae9c3,_0x1db546){_0x3ae9c3=_0x3ae9c3-0x7c;const _0x5e7036=a341_0x5e70();let _0x5c35be=_0x5e7036[_0x3ae9c3];return _0x5c35be;}export function ensureDir(_0x4520fb){!existsSync(_0x4520fb)&&mkdirSync(_0x4520fb,{'recursive':!![]});}function a341_0x5e70(){const _0x28df29=['21728geCGsS','452625ufhodk','isDirectory','105977PgRUQt','122510KHRiqV','9yipPGP','4vrisIm','47298LCNVyg','797870prahbO','1555832DqChfz','161FKllTF'];a341_0x5e70=function(){return _0x28df29;};return a341_0x5e70();}export function pathExists(_0x1e6f24){return existsSync(_0x1e6f24);}
1
+ (function(_0x51774d,_0x459e1c){const _0x185b96=a341_0x25c5,_0x154b54=_0x51774d();while(!![]){try{const _0x3fd25e=-parseInt(_0x185b96(0x17c))/0x1+parseInt(_0x185b96(0x174))/0x2+parseInt(_0x185b96(0x17a))/0x3*(-parseInt(_0x185b96(0x178))/0x4)+-parseInt(_0x185b96(0x171))/0x5+-parseInt(_0x185b96(0x179))/0x6*(-parseInt(_0x185b96(0x177))/0x7)+parseInt(_0x185b96(0x17b))/0x8*(-parseInt(_0x185b96(0x172))/0x9)+-parseInt(_0x185b96(0x175))/0xa*(-parseInt(_0x185b96(0x176))/0xb);if(_0x3fd25e===_0x459e1c)break;else _0x154b54['push'](_0x154b54['shift']());}catch(_0x535e2b){_0x154b54['push'](_0x154b54['shift']());}}}(a341_0xd8c5,0x6fa8d));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x557f74,_0x2ebb1b){const _0x1a0e5c=a341_0x25c5,_0xf4f7a1=statSync(_0x557f74);if(_0xf4f7a1[_0x1a0e5c(0x173)]()){!existsSync(_0x2ebb1b)&&mkdirSync(_0x2ebb1b,{'recursive':!![]});const _0x3619ec=readdirSync(_0x557f74);for(const _0x7cf7fe of _0x3619ec){await copyDir(join(_0x557f74,_0x7cf7fe),join(_0x2ebb1b,_0x7cf7fe));}}else copyFileSync(_0x557f74,_0x2ebb1b);}function a341_0xd8c5(){const _0x1f3922=['11OPgPyh','1855jiKqWO','2080MpyXBQ','732yLCwXA','516XqUdSF','432uYiXGu','795126QtfUqP','1216490oUSULC','47655ZhojtP','isDirectory','158944mHXAvr','17593490UBrqMF'];a341_0xd8c5=function(){return _0x1f3922;};return a341_0xd8c5();}export function ensureDir(_0x2b6f17){!existsSync(_0x2b6f17)&&mkdirSync(_0x2b6f17,{'recursive':!![]});}function a341_0x25c5(_0x29f827,_0x52ba87){_0x29f827=_0x29f827-0x171;const _0xd8c5e0=a341_0xd8c5();let _0x25c536=_0xd8c5e0[_0x29f827];return _0x25c536;}export function pathExists(_0x2c5a47){return existsSync(_0x2c5a47);}
@@ -1 +1 @@
1
- const a342_0x58878f=a342_0x4563;(function(_0x405527,_0x2ca249){const _0x3239f3=a342_0x4563,_0x3113ee=_0x405527();while(!![]){try{const _0x47f89f=parseInt(_0x3239f3(0xa5))/0x1*(parseInt(_0x3239f3(0x97))/0x2)+-parseInt(_0x3239f3(0x9c))/0x3*(parseInt(_0x3239f3(0xa1))/0x4)+-parseInt(_0x3239f3(0x94))/0x5+-parseInt(_0x3239f3(0x93))/0x6*(-parseInt(_0x3239f3(0xaa))/0x7)+-parseInt(_0x3239f3(0x90))/0x8+parseInt(_0x3239f3(0x99))/0x9+-parseInt(_0x3239f3(0x95))/0xa*(-parseInt(_0x3239f3(0x8b))/0xb);if(_0x47f89f===_0x2ca249)break;else _0x3113ee['push'](_0x3113ee['shift']());}catch(_0x53f622){_0x3113ee['push'](_0x3113ee['shift']());}}}(a342_0x394f,0x9f826));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x274753=a342_0x4563,_0x5cab9e=getTemplateBaseUrl();return _0x5cab9e+_0x274753(0x9f);}const CACHE_DIR=join(homedir(),a342_0x58878f(0x91),'cache');export async function fetchGuidesFromCDN(){const _0x526618=a342_0x58878f,_0x27f03f=getGuidesCdnUrl(),_0xc27b1a=await fetch(_0x27f03f,{'headers':{'Accept':'application/json'}});if(!_0xc27b1a['ok'])throw new Error(_0x526618(0x92)+_0xc27b1a[_0x526618(0xa9)]+'\x20'+_0xc27b1a[_0x526618(0x9e)]);const _0x4537b8=await _0xc27b1a[_0x526618(0xa6)]();if(!_0x4537b8[_0x526618(0x9d)]||typeof _0x4537b8[_0x526618(0x9d)]!=='object')throw new Error(_0x526618(0x9a));return _0x4537b8;}export function writeGuidesToProject(_0x3e4105,_0x278ef4,_0x12c83d=a342_0x58878f(0xa3),_0x273a33){const _0x389cd9=a342_0x58878f,_0x500a3c=join(_0x278ef4,_0x12c83d);mkdirSync(_0x500a3c,{'recursive':!![]});for(const [_0x25ef00,_0x1db369]of Object[_0x389cd9(0xa2)](_0x3e4105[_0x389cd9(0x9d)])){let _0x1a5207=_0x1db369[_0x389cd9(0x8d)];_0x1db369[_0x389cd9(0x98)]&&(_0x1a5207=appendUpdateTime(_0x1a5207,_0x1db369[_0x389cd9(0x98)])),writeFileSync(join(_0x500a3c,_0x25ef00+'.md'),_0x1a5207,_0x389cd9(0x8f));}}export function appendUpdateTime(_0x434508,_0x288346){const _0x5f3cb5=a342_0x58878f;return _0x434508=_0x434508[_0x5f3cb5(0xa7)](/\n*>更新时间:.*$/m,''),_0x434508[_0x5f3cb5(0x8c)]()+(_0x5f3cb5(0x9b)+_0x288346);}export function getSkillTemplate(_0x4e8336){const _0x4abe20=a342_0x58878f;return _0x4e8336[_0x4abe20(0xac)]?.[_0x4abe20(0x8d)]||'';}export function appendExtendContents(_0x485e93,_0xe3cb61,_0x131f54){const _0x7e4dcc=a342_0x58878f,_0x12e4f3=[];for(const [,_0x391063]of Object[_0x7e4dcc(0xa2)](_0xe3cb61[_0x7e4dcc(0x9d)])){_0x391063[_0x7e4dcc(0xa8)]&&_0x12e4f3[_0x7e4dcc(0xab)](_0x391063[_0x7e4dcc(0xa8)][_0x7e4dcc(0x8c)]());}if(_0x12e4f3[_0x7e4dcc(0x8e)]===0x0)return _0x485e93;return _0x485e93[_0x7e4dcc(0x8c)]()+'\x0a\x0a'+_0x12e4f3[_0x7e4dcc(0x96)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x5fa697,_0x3b8bd8,_0xf8eef7){const _0x44eef7=a342_0x58878f,_0x3d9fd8=getSkillTemplate(_0x5fa697);if(!_0x3d9fd8)throw new Error('CDN\x20data\x20is\x20missing\x20skillTemplate');const _0x37e6df=dirname(_0x3b8bd8);mkdirSync(_0x37e6df,{'recursive':!![]});let _0x593343=_0x3d9fd8[_0x44eef7(0xa7)](/\{\{IDE_NAME\}\}/g,_0xf8eef7);_0x593343=appendExtendContents(_0x593343,_0x5fa697),_0x5fa697[_0x44eef7(0xac)]['lastUpdated']&&(_0x593343=appendUpdateTime(_0x593343,_0x5fa697[_0x44eef7(0xac)][_0x44eef7(0x98)])),writeFileSync(_0x3b8bd8,_0x593343,_0x44eef7(0x8f));}function a342_0x394f(){const _0x2cb0c2=['extendContent','status','666323rsHhrD','push','skillTemplate','2683241muiZJF','trimEnd','content','length','utf-8','8545672AVMOBv','.lovrabet','CDN\x20request\x20failed:\x20','78OTMQYG','1631045AHZZHr','20MzVXHH','join','350418xWCxTf','lastUpdated','532107jmnxZO','CDN\x20returned\x20invalid\x20data','\x0a\x0a>更新时间:','3SZRiXi','guides','statusText','/skills/guides.json','map','2450876KqUCIf','entries','.lovrabet/skill/guides','title','5btiOyU','json','replace'];a342_0x394f=function(){return _0x2cb0c2;};return a342_0x394f();}function a342_0x4563(_0x4bb3a8,_0x17eba5){_0x4bb3a8=_0x4bb3a8-0x8b;const _0x394f89=a342_0x394f();let _0x456398=_0x394f89[_0x4bb3a8];return _0x456398;}export async function installGuides(_0x2c46d3){const _0x358be4=a342_0x58878f,_0x43eb1d=await fetchGuidesFromCDN();return writeGuidesToProject(_0x43eb1d,_0x2c46d3),Object['keys'](_0x43eb1d[_0x358be4(0x9d)])[_0x358be4(0x8e)];}export function getGuidesSummary(_0x556aa1){const _0x5e4a2e=a342_0x58878f;return Object[_0x5e4a2e(0xa2)](_0x556aa1['guides'])[_0x5e4a2e(0xa0)](([_0x1f4171,_0x2bff81])=>({'key':_0x1f4171,'title':_0x2bff81[_0x5e4a2e(0xa4)],'path':_0x2bff81['path']}));}
1
+ const a342_0x2b4e90=a342_0xacad;(function(_0xb54a87,_0x21a66a){const _0x7e1089=a342_0xacad,_0x12d45a=_0xb54a87();while(!![]){try{const _0x36baf5=-parseInt(_0x7e1089(0x1ed))/0x1+parseInt(_0x7e1089(0x1d9))/0x2*(-parseInt(_0x7e1089(0x1e3))/0x3)+-parseInt(_0x7e1089(0x1d8))/0x4+parseInt(_0x7e1089(0x1ec))/0x5*(parseInt(_0x7e1089(0x1e2))/0x6)+-parseInt(_0x7e1089(0x1e7))/0x7+-parseInt(_0x7e1089(0x1e5))/0x8+parseInt(_0x7e1089(0x1ea))/0x9*(parseInt(_0x7e1089(0x1f3))/0xa);if(_0x36baf5===_0x21a66a)break;else _0x12d45a['push'](_0x12d45a['shift']());}catch(_0x7c2ad6){_0x12d45a['push'](_0x12d45a['shift']());}}}(a342_0x385d,0xba1b6));function a342_0xacad(_0x5a9c89,_0x5c79ca){_0x5a9c89=_0x5a9c89-0x1cf;const _0x385d1f=a342_0x385d();let _0xacadba=_0x385d1f[_0x5a9c89];return _0xacadba;}import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';function a342_0x385d(){const _0x340cab=['push','json','lastUpdated','.md','CDN\x20data\x20is\x20missing\x20skillTemplate','replace','statusText','12XdZTbW','33ykioJP','.lovrabet/skill/guides','10263000AwyhGH','guides','4006639kyhLHd','utf-8','status','26487pUrQOK','join','1331060JTwizR','713041muHVEW','\x0a\x0a>更新时间:','application/json','CDN\x20returned\x20invalid\x20data','map','trimEnd','17870KyphOV','title','skillTemplate','extendContent','length','entries','cache','.lovrabet','/skills/guides.json','CDN\x20request\x20failed:\x20','4983584KvUUKB','220924jHuktS','keys'];a342_0x385d=function(){return _0x340cab;};return a342_0x385d();}import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0xefba2e=a342_0xacad,_0x583f3a=getTemplateBaseUrl();return _0x583f3a+_0xefba2e(0x1d6);}const CACHE_DIR=join(homedir(),a342_0x2b4e90(0x1d5),a342_0x2b4e90(0x1d4));export async function fetchGuidesFromCDN(){const _0x408d0f=a342_0x2b4e90,_0x78eb07=getGuidesCdnUrl(),_0x17c350=await fetch(_0x78eb07,{'headers':{'Accept':_0x408d0f(0x1ef)}});if(!_0x17c350['ok'])throw new Error(_0x408d0f(0x1d7)+_0x17c350[_0x408d0f(0x1e9)]+'\x20'+_0x17c350[_0x408d0f(0x1e1)]);const _0x120f52=await _0x17c350[_0x408d0f(0x1dc)]();if(!_0x120f52[_0x408d0f(0x1e6)]||typeof _0x120f52[_0x408d0f(0x1e6)]!=='object')throw new Error(_0x408d0f(0x1f0));return _0x120f52;}export function writeGuidesToProject(_0x9634e,_0x1cda11,_0x1a12b5=a342_0x2b4e90(0x1e4),_0x4889bd){const _0x47f38b=a342_0x2b4e90,_0x1553c7=join(_0x1cda11,_0x1a12b5);mkdirSync(_0x1553c7,{'recursive':!![]});for(const [_0x379dea,_0x41f29f]of Object['entries'](_0x9634e['guides'])){let _0x55eced=_0x41f29f['content'];_0x41f29f[_0x47f38b(0x1dd)]&&(_0x55eced=appendUpdateTime(_0x55eced,_0x41f29f[_0x47f38b(0x1dd)])),writeFileSync(join(_0x1553c7,_0x379dea+_0x47f38b(0x1de)),_0x55eced,_0x47f38b(0x1e8));}}export function appendUpdateTime(_0x4be6e4,_0x544d8a){const _0x264b38=a342_0x2b4e90;return _0x4be6e4=_0x4be6e4[_0x264b38(0x1e0)](/\n*>更新时间:.*$/m,''),_0x4be6e4[_0x264b38(0x1f2)]()+(_0x264b38(0x1ee)+_0x544d8a);}export function getSkillTemplate(_0x339930){const _0x313d42=a342_0x2b4e90;return _0x339930[_0x313d42(0x1d0)]?.['content']||'';}export function appendExtendContents(_0x4bb115,_0x4976e8,_0x16fd4d){const _0x168fe8=a342_0x2b4e90,_0x4da592=[];for(const [,_0x5b1762]of Object[_0x168fe8(0x1d3)](_0x4976e8[_0x168fe8(0x1e6)])){_0x5b1762[_0x168fe8(0x1d1)]&&_0x4da592[_0x168fe8(0x1db)](_0x5b1762[_0x168fe8(0x1d1)]['trimEnd']());}if(_0x4da592[_0x168fe8(0x1d2)]===0x0)return _0x4bb115;return _0x4bb115[_0x168fe8(0x1f2)]()+'\x0a\x0a'+_0x4da592[_0x168fe8(0x1eb)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x4fcc5c,_0x5961ff,_0x4fa174){const _0x3b4363=a342_0x2b4e90,_0x2b570c=getSkillTemplate(_0x4fcc5c);if(!_0x2b570c)throw new Error(_0x3b4363(0x1df));const _0x57889d=dirname(_0x5961ff);mkdirSync(_0x57889d,{'recursive':!![]});let _0x42e046=_0x2b570c[_0x3b4363(0x1e0)](/\{\{IDE_NAME\}\}/g,_0x4fa174);_0x42e046=appendExtendContents(_0x42e046,_0x4fcc5c),_0x4fcc5c[_0x3b4363(0x1d0)][_0x3b4363(0x1dd)]&&(_0x42e046=appendUpdateTime(_0x42e046,_0x4fcc5c[_0x3b4363(0x1d0)][_0x3b4363(0x1dd)])),writeFileSync(_0x5961ff,_0x42e046,_0x3b4363(0x1e8));}export async function installGuides(_0x1893c1){const _0x45ff29=a342_0x2b4e90,_0x1a8750=await fetchGuidesFromCDN();return writeGuidesToProject(_0x1a8750,_0x1893c1),Object[_0x45ff29(0x1da)](_0x1a8750[_0x45ff29(0x1e6)])[_0x45ff29(0x1d2)];}export function getGuidesSummary(_0x4e68ab){const _0x245239=a342_0x2b4e90;return Object[_0x245239(0x1d3)](_0x4e68ab[_0x245239(0x1e6)])[_0x245239(0x1f1)](([_0x137736,_0x39f902])=>({'key':_0x137736,'title':_0x39f902[_0x245239(0x1cf)],'path':_0x39f902['path']}));}
@@ -1 +1 @@
1
- function a343_0xd8ee(_0x130b0d,_0x47d66d){_0x130b0d=_0x130b0d-0x6d;const _0x5eaf5d=a343_0x5eaf();let _0xd8eeb5=_0x5eaf5d[_0x130b0d];return _0xd8eeb5;}(function(_0x42922,_0xfd6786){const _0x393f63=a343_0xd8ee,_0x154d25=_0x42922();while(!![]){try{const _0x30b12e=-parseInt(_0x393f63(0x72))/0x1*(-parseInt(_0x393f63(0x78))/0x2)+-parseInt(_0x393f63(0x84))/0x3*(parseInt(_0x393f63(0x86))/0x4)+-parseInt(_0x393f63(0x87))/0x5+-parseInt(_0x393f63(0x80))/0x6*(parseInt(_0x393f63(0x7c))/0x7)+parseInt(_0x393f63(0x6e))/0x8+-parseInt(_0x393f63(0x8a))/0x9+parseInt(_0x393f63(0x7a))/0xa;if(_0x30b12e===_0xfd6786)break;else _0x154d25['push'](_0x154d25['shift']());}catch(_0x590bed){_0x154d25['push'](_0x154d25['shift']());}}}(a343_0x5eaf,0x864ae));export async function httpRequest(_0x3c6212,_0x5a495d={}){const _0x1ea567=a343_0xd8ee,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x5a495d;let _0x79572a=null;for(let _0x34cebb=0x0;_0x34cebb<=retries;_0x34cebb++){try{const _0x471112=new AbortController(),_0x2b281=setTimeout(()=>_0x471112[_0x1ea567(0x71)](),timeout),_0x266c5a=await fetch(_0x3c6212,{'headers':headers,'signal':_0x471112['signal']});clearTimeout(_0x2b281);let _0x4e414f;const _0xd1611a=_0x266c5a['headers'][_0x1ea567(0x6d)](_0x1ea567(0x77));return _0xd1611a?.[_0x1ea567(0x73)](_0x1ea567(0x82))?_0x4e414f=await _0x266c5a[_0x1ea567(0x7e)]():_0x4e414f=await _0x266c5a[_0x1ea567(0x81)](),{'ok':_0x266c5a['ok'],'status':_0x266c5a[_0x1ea567(0x7b)],'statusText':_0x266c5a[_0x1ea567(0x88)],'data':_0x4e414f,'headers':_0x266c5a[_0x1ea567(0x70)],'url':_0x266c5a['url'],'text':()=>_0x266c5a[_0x1ea567(0x81)]()};}catch(_0x250f7f){_0x79572a=_0x250f7f instanceof Error?_0x250f7f:new Error(String(_0x250f7f));if(_0x34cebb===retries)break;if(shouldRetry(_0x250f7f)){console[_0x1ea567(0x7d)](_0x1ea567(0x79)+(_0x34cebb+0x1)+_0x1ea567(0x83)+retryDelay+_0x1ea567(0x7f)),await sleep(retryDelay);continue;}else break;}}throw _0x79572a||new Error('Request\x20failed');}function shouldRetry(_0x2f658f){const _0x464e0d=a343_0xd8ee;if(_0x2f658f instanceof Error){if(_0x2f658f['name']===_0x464e0d(0x76))return![];if(_0x2f658f[_0x464e0d(0x74)]===_0x464e0d(0x85)&&_0x2f658f[_0x464e0d(0x89)][_0x464e0d(0x73)](_0x464e0d(0x6f)))return!![];if(_0x2f658f[_0x464e0d(0x89)]['includes']('ECONNRESET'))return!![];if(_0x2f658f[_0x464e0d(0x89)][_0x464e0d(0x73)](_0x464e0d(0x75)))return![];}return![];}function a343_0x5eaf(){const _0x53dbc0=['75714iNCPtI','text','application/json','\x20in\x20','4737YitUyN','TypeError','2780wgnBhp','3290070cMuZiZ','statusText','message','7164846TcEgbA','get','8075368pVcRyU','fetch','headers','abort','137413QmvKrR','includes','name','ENOTFOUND','AbortError','content-type','16TllufA','*\x20Request\x20failed;\x20retry\x20','11568970wnALxF','status','91aumotE','log','json','ms...'];a343_0x5eaf=function(){return _0x53dbc0;};return a343_0x5eaf();}function sleep(_0x11bada){return new Promise(_0x10b645=>setTimeout(_0x10b645,_0x11bada));}export function validateUrl(_0x104cc3){try{return new URL(_0x104cc3),!![];}catch{return![];}}
1
+ function a343_0x2a1a(){const _0x3f619f=['name','\x20in\x20','abort','TypeError','log','172182cqRRKv','status','statusText','71796MdvTqg','application/json','7966742SGsKHY','fetch','includes','1392960jYdouj','ENOTFOUND','json','text','363873LbXZqe','url','get','8OsaUJg','content-type','474035bEmbQc','639876gSvITR','ECONNRESET','headers','message'];a343_0x2a1a=function(){return _0x3f619f;};return a343_0x2a1a();}(function(_0xfb60ca,_0x1223aa){const _0xf8897f=a343_0x1758,_0x43893e=_0xfb60ca();while(!![]){try{const _0x4370e6=-parseInt(_0xf8897f(0x125))/0x1+-parseInt(_0xf8897f(0x12b))/0x2+-parseInt(_0xf8897f(0x11c))/0x3+-parseInt(_0xf8897f(0x121))/0x4+parseInt(_0xf8897f(0x12a))/0x5+parseInt(_0xf8897f(0x134))/0x6+parseInt(_0xf8897f(0x11e))/0x7*(parseInt(_0xf8897f(0x128))/0x8);if(_0x4370e6===_0x1223aa)break;else _0x43893e['push'](_0x43893e['shift']());}catch(_0x61159e){_0x43893e['push'](_0x43893e['shift']());}}}(a343_0x2a1a,0x3233b));export async function httpRequest(_0x4ca2aa,_0x3bcaac={}){const _0x3d2f74=a343_0x1758,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x3bcaac;let _0x334b12=null;for(let _0x4c12a1=0x0;_0x4c12a1<=retries;_0x4c12a1++){try{const _0x195fad=new AbortController(),_0x1c65e0=setTimeout(()=>_0x195fad[_0x3d2f74(0x131)](),timeout),_0x2801ba=await fetch(_0x4ca2aa,{'headers':headers,'signal':_0x195fad['signal']});clearTimeout(_0x1c65e0);let _0x348bdf;const _0xe4ace=_0x2801ba[_0x3d2f74(0x12d)][_0x3d2f74(0x127)](_0x3d2f74(0x129));return _0xe4ace?.[_0x3d2f74(0x120)](_0x3d2f74(0x11d))?_0x348bdf=await _0x2801ba[_0x3d2f74(0x123)]():_0x348bdf=await _0x2801ba[_0x3d2f74(0x124)](),{'ok':_0x2801ba['ok'],'status':_0x2801ba[_0x3d2f74(0x11a)],'statusText':_0x2801ba[_0x3d2f74(0x11b)],'data':_0x348bdf,'headers':_0x2801ba[_0x3d2f74(0x12d)],'url':_0x2801ba[_0x3d2f74(0x126)],'text':()=>_0x2801ba[_0x3d2f74(0x124)]()};}catch(_0x409ed5){_0x334b12=_0x409ed5 instanceof Error?_0x409ed5:new Error(String(_0x409ed5));if(_0x4c12a1===retries)break;if(shouldRetry(_0x409ed5)){console[_0x3d2f74(0x133)]('*\x20Request\x20failed;\x20retry\x20'+(_0x4c12a1+0x1)+_0x3d2f74(0x130)+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0x334b12||new Error('Request\x20failed');}function shouldRetry(_0x43a2f9){const _0x2dadbf=a343_0x1758;if(_0x43a2f9 instanceof Error){if(_0x43a2f9[_0x2dadbf(0x12f)]==='AbortError')return![];if(_0x43a2f9[_0x2dadbf(0x12f)]===_0x2dadbf(0x132)&&_0x43a2f9[_0x2dadbf(0x12e)][_0x2dadbf(0x120)](_0x2dadbf(0x11f)))return!![];if(_0x43a2f9[_0x2dadbf(0x12e)]['includes'](_0x2dadbf(0x12c)))return!![];if(_0x43a2f9[_0x2dadbf(0x12e)][_0x2dadbf(0x120)](_0x2dadbf(0x122)))return![];}return![];}function a343_0x1758(_0x4131b0,_0x18321a){_0x4131b0=_0x4131b0-0x11a;const _0x2a1a97=a343_0x2a1a();let _0x17587d=_0x2a1a97[_0x4131b0];return _0x17587d;}function sleep(_0xada532){return new Promise(_0xce0951=>setTimeout(_0xce0951,_0xada532));}export function validateUrl(_0x41fc7c){try{return new URL(_0x41fc7c),!![];}catch{return![];}}
@@ -1 +1 @@
1
- (function(_0x21468d,_0x3c5c48){const _0x41cb9e=a344_0x45a1,_0x1030aa=_0x21468d();while(!![]){try{const _0x17b7a7=parseInt(_0x41cb9e(0x167))/0x1*(parseInt(_0x41cb9e(0x16e))/0x2)+parseInt(_0x41cb9e(0x16f))/0x3+-parseInt(_0x41cb9e(0x172))/0x4*(-parseInt(_0x41cb9e(0x176))/0x5)+-parseInt(_0x41cb9e(0x16a))/0x6+-parseInt(_0x41cb9e(0x175))/0x7*(-parseInt(_0x41cb9e(0x173))/0x8)+parseInt(_0x41cb9e(0x16d))/0x9+-parseInt(_0x41cb9e(0x169))/0xa;if(_0x17b7a7===_0x3c5c48)break;else _0x1030aa['push'](_0x1030aa['shift']());}catch(_0x8e217c){_0x1030aa['push'](_0x1030aa['shift']());}}}(a344_0x5e31,0x6969b));function env(_0x47df5c){return process.env[`RABETBASE_${_0x47df5c}`]||process.env[`LOVRABET_${_0x47df5c}`]||undefined;}export function isNonInteractive(_0x2da682){const _0x58fca3=a344_0x45a1;return!!(_0x2da682[_0x58fca3(0x168)]||_0x2da682['ci']||env('CI')===_0x58fca3(0x170)||process.env.CI===_0x58fca3(0x170)||!process[_0x58fca3(0x174)][_0x58fca3(0x16c)]||!isStdinRawModeSupported());}function a344_0x45a1(_0x420944,_0x12a101){_0x420944=_0x420944-0x166;const _0x5e31de=a344_0x5e31();let _0x45a145=_0x5e31de[_0x420944];return _0x45a145;}function a344_0x5e31(){const _0x419efe=['stdout','7VCWIaZ','13270qLlGXw','stdin','346YMJsMG','nonInteractive','6714110BATxiB','4166640OErmTl','setRawMode','isTTY','1004940dnlJSW','3036dOVsPb','1024290IsxpNt','true','isRaw','628kFxlYd','3221008CXJbSY'];a344_0x5e31=function(){return _0x419efe;};return a344_0x5e31();}function isStdinRawModeSupported(){const _0x2f315a=a344_0x45a1;if(!process[_0x2f315a(0x166)]['isTTY'])return![];try{const _0x26eb65=process[_0x2f315a(0x166)][_0x2f315a(0x171)];return process['stdin'][_0x2f315a(0x16b)](!![]),process[_0x2f315a(0x166)][_0x2f315a(0x16b)](_0x26eb65??![]),!![];}catch{return![];}}
1
+ (function(_0x2a6e40,_0x2dee29){const _0x4e3e09=a344_0x340f,_0x2a2e69=_0x2a6e40();while(!![]){try{const _0x2c976a=-parseInt(_0x4e3e09(0x191))/0x1+parseInt(_0x4e3e09(0x190))/0x2*(-parseInt(_0x4e3e09(0x198))/0x3)+parseInt(_0x4e3e09(0x194))/0x4*(parseInt(_0x4e3e09(0x18c))/0x5)+-parseInt(_0x4e3e09(0x18d))/0x6*(-parseInt(_0x4e3e09(0x196))/0x7)+parseInt(_0x4e3e09(0x193))/0x8+-parseInt(_0x4e3e09(0x192))/0x9*(parseInt(_0x4e3e09(0x19a))/0xa)+-parseInt(_0x4e3e09(0x197))/0xb*(-parseInt(_0x4e3e09(0x199))/0xc);if(_0x2c976a===_0x2dee29)break;else _0x2a2e69['push'](_0x2a2e69['shift']());}catch(_0xf13ea9){_0x2a2e69['push'](_0x2a2e69['shift']());}}}(a344_0x17c0,0x96f85));function a344_0x17c0(){const _0x56b039=['406040dXhxRG','495LXETwx','7626136Ucjczn','327268yFQQmw','stdin','56DrPIQD','979TSHhuV','3gzqvFs','42132XPHbml','52090qywLvO','true','isTTY','5EGRfSq','795720HVfuSW','isRaw','setRawMode','2195230fHYPgV'];a344_0x17c0=function(){return _0x56b039;};return a344_0x17c0();}function env(_0x37b5d7){return process.env[`RABETBASE_${_0x37b5d7}`]||process.env[`LOVRABET_${_0x37b5d7}`]||undefined;}export function isNonInteractive(_0x31604c){const _0x2175b0=a344_0x340f;return!!(_0x31604c['nonInteractive']||_0x31604c['ci']||env('CI')===_0x2175b0(0x19b)||process.env.CI===_0x2175b0(0x19b)||!process['stdout'][_0x2175b0(0x19c)]||!isStdinRawModeSupported());}function a344_0x340f(_0x24390d,_0x35bc46){_0x24390d=_0x24390d-0x18c;const _0x17c02d=a344_0x17c0();let _0x340fd8=_0x17c02d[_0x24390d];return _0x340fd8;}function isStdinRawModeSupported(){const _0x31d8e6=a344_0x340f;if(!process[_0x31d8e6(0x195)][_0x31d8e6(0x19c)])return![];try{const _0x4524a7=process[_0x31d8e6(0x195)][_0x31d8e6(0x18e)];return process[_0x31d8e6(0x195)][_0x31d8e6(0x18f)](!![]),process[_0x31d8e6(0x195)][_0x31d8e6(0x18f)](_0x4524a7??![]),!![];}catch{return![];}}
@@ -1 +1 @@
1
- const a345_0x51c9fe=a345_0x46e1;function a345_0x288b(){const _0x5db7d4=['error','File','split','details','warn','8918872eYAnmb','readFileSync','command','winstonLogger','green','clearLogs','duration','25eRQAnS','logFilePath','filter','message','213191pgmwuu','clear','569408VeTQCT','existsSync','689661PZBrgt','join','combine','info','rawCommand','addColors','readLogs','success','printf','Failed:\x20','Starting:\x20','481134NoXgUo','createLogger','log','dirname','writeFileSync','initWinstonLogger','now','233908BiJrZW','logTask','1449028mXPezB','getWinstonInstance','errors','mkdirSync','trim','map','yellow','parse','transports','currentRawCommand','timestamp','Completed:\x20','setRawCommand','stringify','.lovrabet.log','format','utf8'];a345_0x288b=function(){return _0x5db7d4;};return a345_0x288b();}(function(_0x2fa785,_0x6671a1){const _0x5b7f7e=a345_0x46e1,_0x1bf926=_0x2fa785();while(!![]){try{const _0x4d48a2=parseInt(_0x5b7f7e(0xee))/0x1+parseInt(_0x5b7f7e(0xf0))/0x2+parseInt(_0x5b7f7e(0xf2))/0x3+parseInt(_0x5b7f7e(0x104))/0x4*(parseInt(_0x5b7f7e(0xea))/0x5)+parseInt(_0x5b7f7e(0xfd))/0x6+parseInt(_0x5b7f7e(0x106))/0x7+-parseInt(_0x5b7f7e(0xe3))/0x8;if(_0x4d48a2===_0x6671a1)break;else _0x1bf926['push'](_0x1bf926['shift']());}catch(_0x388638){_0x1bf926['push'](_0x1bf926['shift']());}}}(a345_0x288b,0x2eff5));function a345_0x46e1(_0xe93a07,_0x58007){_0xe93a07=_0xe93a07-0xe0;const _0x288bb4=a345_0x288b();let _0x46e189=_0x288bb4[_0xe93a07];return _0x46e189;}import a345_0x158ce1 from'winston';import a345_0x2a0059 from'node:fs';import a345_0x2fedb6 from'node:path';class Logger{[a345_0x51c9fe(0xe6)];[a345_0x51c9fe(0xeb)];[a345_0x51c9fe(0x10f)]='';constructor(){const _0x599c01=a345_0x51c9fe;this[_0x599c01(0xeb)]='';}[a345_0x51c9fe(0x112)](_0x72da20){const _0x57c4ca=a345_0x51c9fe;this[_0x57c4ca(0x10f)]=_0x72da20;}[a345_0x51c9fe(0x102)](){const _0xeadbb6=a345_0x51c9fe,_0x1947cc=a345_0x2fedb6[_0xeadbb6(0x100)](this[_0xeadbb6(0xeb)]);!a345_0x2a0059[_0xeadbb6(0xf1)](_0x1947cc)&&a345_0x2a0059[_0xeadbb6(0x109)](_0x1947cc,{'recursive':!![]});const _0x29e28c=a345_0x158ce1[_0xeadbb6(0x115)][_0xeadbb6(0xf4)](a345_0x158ce1['format'][_0xeadbb6(0x110)](),a345_0x158ce1[_0xeadbb6(0x115)][_0xeadbb6(0x108)]({'stack':!![]}),a345_0x158ce1[_0xeadbb6(0x115)][_0xeadbb6(0xfa)](_0x581358=>{const _0x587083=_0xeadbb6,_0x4cd786={'timestamp':_0x581358[_0x587083(0x110)]||new Date()['toISOString'](),'level':_0x581358['level']||'info','command':_0x581358[_0x587083(0xe5)]||'unknown','rawCommand':_0x581358[_0x587083(0xf6)]||this['currentRawCommand']||undefined,'message':_0x581358[_0x587083(0xed)]||'','duration':_0x581358[_0x587083(0xe9)]||undefined,'details':_0x581358[_0x587083(0xe1)]||undefined};return JSON[_0x587083(0x113)](_0x4cd786);}));this[_0xeadbb6(0xe6)]=a345_0x158ce1[_0xeadbb6(0xfe)]({'level':'info','format':_0x29e28c,'transports':[new a345_0x158ce1[(_0xeadbb6(0x10e))][(_0xeadbb6(0x118))]({'filename':this[_0xeadbb6(0xeb)],'level':_0xeadbb6(0xf5)})],'silent':![]}),a345_0x158ce1[_0xeadbb6(0xf7)]({'success':_0xeadbb6(0xe7),'error':'red','warn':_0xeadbb6(0x10c),'info':'blue'});}['setLogPath'](_0x39f304){const _0x570f3f=a345_0x51c9fe;this['logFilePath']=a345_0x2fedb6[_0x570f3f(0xf3)](_0x39f304,_0x570f3f(0x114)),this[_0x570f3f(0xe6)]&&this[_0x570f3f(0xe6)][_0x570f3f(0xef)](),this[_0x570f3f(0x102)]();}[a345_0x51c9fe(0xf5)](_0x466438,_0x35b810,_0x193269){const _0x128141=a345_0x51c9fe;if(!this[_0x128141(0xeb)]||!this[_0x128141(0xe6)])return;this[_0x128141(0xe6)]['info'](_0x35b810,{'command':_0x466438,'details':_0x193269});}[a345_0x51c9fe(0xf9)](_0x162820,_0x117b51,_0xd36b9e,_0x322349){const _0x557f14=a345_0x51c9fe;if(!this[_0x557f14(0xeb)]||!this['winstonLogger'])return;this[_0x557f14(0xe6)][_0x557f14(0xff)](_0x557f14(0xf5),_0x117b51,{'level':_0x557f14(0xf9),'command':_0x162820,'duration':_0xd36b9e,'details':_0x322349});}['error'](_0x1275b0,_0x354cec,_0x3c4799){const _0x5bce4a=a345_0x51c9fe;if(!this[_0x5bce4a(0xeb)]||!this['winstonLogger'])return;this['winstonLogger'][_0x5bce4a(0x117)](_0x354cec,{'command':_0x1275b0,'details':_0x3c4799});}[a345_0x51c9fe(0xe2)](_0x4ddaff,_0x585bd9,_0x66fc27){const _0x5a5f84=a345_0x51c9fe;if(!this['logFilePath']||!this[_0x5a5f84(0xe6)])return;this[_0x5a5f84(0xe6)][_0x5a5f84(0xe2)](_0x585bd9,{'command':_0x4ddaff,'details':_0x66fc27});}async[a345_0x51c9fe(0x105)](_0x4caaf1,_0x353514,_0x5a68f2){const _0x46dedd=a345_0x51c9fe,_0x2fd600=Date['now']();this[_0x46dedd(0xf5)](_0x4caaf1,_0x46dedd(0xfc)+_0x353514);try{const _0x2ba1a1=await _0x5a68f2(),_0x53dc93=Date[_0x46dedd(0x103)]()-_0x2fd600;return this[_0x46dedd(0xf9)](_0x4caaf1,_0x46dedd(0x111)+_0x353514,_0x53dc93),_0x2ba1a1;}catch(_0x4083e1){const _0x4268b7=Date[_0x46dedd(0x103)]()-_0x2fd600;this['error'](_0x4caaf1,_0x46dedd(0xfb)+_0x353514,{'error':_0x4083e1 instanceof Error?_0x4083e1[_0x46dedd(0xed)]:String(_0x4083e1),'duration':_0x4268b7});throw _0x4083e1;}}[a345_0x51c9fe(0xf8)](){const _0x4d2011=a345_0x51c9fe;try{if(!a345_0x2a0059['existsSync'](this[_0x4d2011(0xeb)]))return[];const _0xa29306=a345_0x2a0059[_0x4d2011(0xe4)](this[_0x4d2011(0xeb)],_0x4d2011(0x116));return _0xa29306[_0x4d2011(0xe0)]('\x0a')[_0x4d2011(0xec)](_0x2a3b23=>_0x2a3b23[_0x4d2011(0x10a)]())[_0x4d2011(0x10b)](_0x3a6754=>JSON[_0x4d2011(0x10d)](_0x3a6754));}catch(_0x5d375f){return console[_0x4d2011(0xe2)]('Failed\x20to\x20read\x20logs:',_0x5d375f),[];}}[a345_0x51c9fe(0xe8)](){const _0x1b6a3c=a345_0x51c9fe;try{a345_0x2a0059['existsSync'](this[_0x1b6a3c(0xeb)])&&a345_0x2a0059[_0x1b6a3c(0x101)](this[_0x1b6a3c(0xeb)],'',_0x1b6a3c(0x116));}catch(_0x2cdc1b){console[_0x1b6a3c(0xe2)]('Failed\x20to\x20clear\x20logs:',_0x2cdc1b);}}[a345_0x51c9fe(0x107)](){const _0x4348cd=a345_0x51c9fe;return this[_0x4348cd(0xe6)];}}export const logger=new Logger();
1
+ const a345_0x10e0e5=a345_0xc334;function a345_0xc334(_0x20e871,_0x1f45df){_0x20e871=_0x20e871-0x15e;const _0x27df78=a345_0x27df();let _0xc3348a=_0x27df78[_0x20e871];return _0xc3348a;}(function(_0x2401c7,_0x35e2d2){const _0xfbd7aa=a345_0xc334,_0x28164f=_0x2401c7();while(!![]){try{const _0x339f18=parseInt(_0xfbd7aa(0x165))/0x1*(-parseInt(_0xfbd7aa(0x162))/0x2)+parseInt(_0xfbd7aa(0x182))/0x3*(parseInt(_0xfbd7aa(0x15f))/0x4)+parseInt(_0xfbd7aa(0x187))/0x5+parseInt(_0xfbd7aa(0x169))/0x6+parseInt(_0xfbd7aa(0x17b))/0x7+parseInt(_0xfbd7aa(0x172))/0x8+-parseInt(_0xfbd7aa(0x163))/0x9;if(_0x339f18===_0x35e2d2)break;else _0x28164f['push'](_0x28164f['shift']());}catch(_0x2ae269){_0x28164f['push'](_0x28164f['shift']());}}}(a345_0x27df,0xe10e8));import a345_0x2305c9 from'winston';import a345_0x482b71 from'node:fs';import a345_0x119fd4 from'node:path';class Logger{[a345_0x10e0e5(0x175)];['logFilePath'];[a345_0x10e0e5(0x17a)]='';constructor(){this['logFilePath']='';}['setRawCommand'](_0x326d9f){const _0x3d86e3=a345_0x10e0e5;this[_0x3d86e3(0x17a)]=_0x326d9f;}[a345_0x10e0e5(0x181)](){const _0x31078e=a345_0x10e0e5,_0x75fafc=a345_0x119fd4[_0x31078e(0x16c)](this['logFilePath']);!a345_0x482b71[_0x31078e(0x183)](_0x75fafc)&&a345_0x482b71[_0x31078e(0x178)](_0x75fafc,{'recursive':!![]});const _0x16bb64=a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x16e)](a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x173)](),a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x160)]({'stack':!![]}),a345_0x2305c9[_0x31078e(0x167)][_0x31078e(0x186)](_0x34b611=>{const _0x2fe422=_0x31078e,_0x4b864d={'timestamp':_0x34b611['timestamp']||new Date()['toISOString'](),'level':_0x34b611['level']||_0x2fe422(0x189),'command':_0x34b611[_0x2fe422(0x171)]||_0x2fe422(0x177),'rawCommand':_0x34b611[_0x2fe422(0x18b)]||this[_0x2fe422(0x17a)]||undefined,'message':_0x34b611[_0x2fe422(0x174)]||'','duration':_0x34b611['duration']||undefined,'details':_0x34b611[_0x2fe422(0x17e)]||undefined};return JSON['stringify'](_0x4b864d);}));this['winstonLogger']=a345_0x2305c9[_0x31078e(0x170)]({'level':_0x31078e(0x189),'format':_0x16bb64,'transports':[new a345_0x2305c9['transports'][(_0x31078e(0x192))]({'filename':this[_0x31078e(0x17f)],'level':_0x31078e(0x189)})],'silent':![]}),a345_0x2305c9[_0x31078e(0x161)]({'success':'green','error':_0x31078e(0x179),'warn':_0x31078e(0x164),'info':'blue'});}[a345_0x10e0e5(0x18c)](_0x504ff5){const _0x40e224=a345_0x10e0e5;this[_0x40e224(0x17f)]=a345_0x119fd4[_0x40e224(0x191)](_0x504ff5,_0x40e224(0x185)),this[_0x40e224(0x175)]&&this['winstonLogger'][_0x40e224(0x18f)](),this[_0x40e224(0x181)]();}[a345_0x10e0e5(0x189)](_0x1ed2a2,_0x4c372a,_0x4da0fd){const _0x5ec54e=a345_0x10e0e5;if(!this[_0x5ec54e(0x17f)]||!this['winstonLogger'])return;this[_0x5ec54e(0x175)]['info'](_0x4c372a,{'command':_0x1ed2a2,'details':_0x4da0fd});}[a345_0x10e0e5(0x17d)](_0x163fe6,_0x9731e5,_0x420f31,_0x28d8bd){const _0x246567=a345_0x10e0e5;if(!this[_0x246567(0x17f)]||!this[_0x246567(0x175)])return;this['winstonLogger'][_0x246567(0x180)](_0x246567(0x189),_0x9731e5,{'level':'success','command':_0x163fe6,'duration':_0x420f31,'details':_0x28d8bd});}[a345_0x10e0e5(0x190)](_0x289b36,_0x96ea97,_0x3c2661){const _0x4099db=a345_0x10e0e5;if(!this['logFilePath']||!this[_0x4099db(0x175)])return;this['winstonLogger'][_0x4099db(0x190)](_0x96ea97,{'command':_0x289b36,'details':_0x3c2661});}[a345_0x10e0e5(0x184)](_0xd671c9,_0x3b3ba7,_0x5c87ca){const _0x4d3de7=a345_0x10e0e5;if(!this[_0x4d3de7(0x17f)]||!this[_0x4d3de7(0x175)])return;this[_0x4d3de7(0x175)][_0x4d3de7(0x184)](_0x3b3ba7,{'command':_0xd671c9,'details':_0x5c87ca});}async['logTask'](_0xa2c28d,_0x33d92f,_0x1685d6){const _0xcd5957=a345_0x10e0e5,_0x1248b0=Date[_0xcd5957(0x188)]();this['info'](_0xa2c28d,_0xcd5957(0x18e)+_0x33d92f);try{const _0x498685=await _0x1685d6(),_0x4d53aa=Date['now']()-_0x1248b0;return this[_0xcd5957(0x17d)](_0xa2c28d,'Completed:\x20'+_0x33d92f,_0x4d53aa),_0x498685;}catch(_0x24175f){const _0x3a30b5=Date['now']()-_0x1248b0;this[_0xcd5957(0x190)](_0xa2c28d,_0xcd5957(0x15e)+_0x33d92f,{'error':_0x24175f instanceof Error?_0x24175f[_0xcd5957(0x174)]:String(_0x24175f),'duration':_0x3a30b5});throw _0x24175f;}}[a345_0x10e0e5(0x16d)](){const _0x54d8a2=a345_0x10e0e5;try{if(!a345_0x482b71['existsSync'](this[_0x54d8a2(0x17f)]))return[];const _0x4a4fe2=a345_0x482b71[_0x54d8a2(0x16b)](this[_0x54d8a2(0x17f)],'utf8');return _0x4a4fe2[_0x54d8a2(0x168)]('\x0a')[_0x54d8a2(0x166)](_0x3f1878=>_0x3f1878['trim']())[_0x54d8a2(0x16f)](_0x16b44c=>JSON['parse'](_0x16b44c));}catch(_0x176449){return console[_0x54d8a2(0x184)](_0x54d8a2(0x18a),_0x176449),[];}}[a345_0x10e0e5(0x16a)](){const _0x3c77ce=a345_0x10e0e5;try{a345_0x482b71[_0x3c77ce(0x183)](this['logFilePath'])&&a345_0x482b71['writeFileSync'](this['logFilePath'],'',_0x3c77ce(0x18d));}catch(_0x3991d2){console['warn'](_0x3c77ce(0x17c),_0x3991d2);}}[a345_0x10e0e5(0x176)](){const _0x3babb8=a345_0x10e0e5;return this[_0x3babb8(0x175)];}}export const logger=new Logger();function a345_0x27df(){const _0x3ce053=['Starting:\x20','clear','error','join','File','Failed:\x20','1544oXDOjE','errors','addColors','4yKenJA','12451122LSjzhj','yellow','800948CKAXYI','filter','format','split','8006568nwgNpW','clearLogs','readFileSync','dirname','readLogs','combine','map','createLogger','command','144776scxABJ','timestamp','message','winstonLogger','getWinstonInstance','unknown','mkdirSync','red','currentRawCommand','10870307XpfqMk','Failed\x20to\x20clear\x20logs:','success','details','logFilePath','log','initWinstonLogger','4173HwGqzy','existsSync','warn','.lovrabet.log','printf','2324170fVnZOi','now','info','Failed\x20to\x20read\x20logs:','rawCommand','setLogPath','utf8'];a345_0x27df=function(){return _0x3ce053;};return a345_0x27df();}
@@ -1 +1 @@
1
- (function(_0x2abf10,_0x296788){const _0x1fd82d=a346_0x48c5,_0x2c87e5=_0x2abf10();while(!![]){try{const _0x4bc610=parseInt(_0x1fd82d(0x1e4))/0x1*(-parseInt(_0x1fd82d(0x1d8))/0x2)+-parseInt(_0x1fd82d(0x1dd))/0x3*(-parseInt(_0x1fd82d(0x1df))/0x4)+parseInt(_0x1fd82d(0x1da))/0x5+parseInt(_0x1fd82d(0x1e3))/0x6+-parseInt(_0x1fd82d(0x1e2))/0x7+parseInt(_0x1fd82d(0x1e1))/0x8+-parseInt(_0x1fd82d(0x1d9))/0x9;if(_0x4bc610===_0x296788)break;else _0x2c87e5['push'](_0x2c87e5['shift']());}catch(_0x5be161){_0x2c87e5['push'](_0x2c87e5['shift']());}}}(a346_0x4ae9,0x47e55));function a346_0x48c5(_0x4ed6d7,_0x1bec1a){_0x4ed6d7=_0x4ed6d7-0x1d6;const _0x4ae97b=a346_0x4ae9();let _0x48c573=_0x4ae97b[_0x4ed6d7];return _0x48c573;}import{CliErrors}from'../errors.js';export function parseJsonParams(_0x162837){const _0xe8eafb=a346_0x48c5;if(!_0x162837)return undefined;let _0x5cece9;try{_0x5cece9=JSON[_0xe8eafb(0x1e0)](_0x162837);}catch{throw CliErrors[_0xe8eafb(0x1d6)](_0xe8eafb(0x1e5)+_0x162837);}if(!_0x5cece9||typeof _0x5cece9!==_0xe8eafb(0x1dc)||Array[_0xe8eafb(0x1de)](_0x5cece9))throw CliErrors[_0xe8eafb(0x1d6)](_0xe8eafb(0x1db),_0xe8eafb(0x1d7));return _0x5cece9;}function a346_0x4ae9(){const _0x22bfaf=['Example:\x20--params\x20\x27{\x22id\x22:123}\x27','6qdswkV','1720053tqazWk','1574260qONAhi','--params\x20must\x20be\x20a\x20JSON\x20object','object','102369UzhdRN','isArray','44vveAuR','parse','3515448LKRORb','1349677pVfjvn','483756fSkJTN','177283OIpnOq','Invalid\x20JSON\x20for\x20--params:\x20','validation'];a346_0x4ae9=function(){return _0x22bfaf;};return a346_0x4ae9();}
1
+ (function(_0x4e5bb4,_0x3d0f2c){const _0x2b3d6d=a346_0x45ed,_0x4bafb5=_0x4e5bb4();while(!![]){try{const _0x4a37c9=parseInt(_0x2b3d6d(0x124))/0x1+-parseInt(_0x2b3d6d(0x123))/0x2*(-parseInt(_0x2b3d6d(0x122))/0x3)+-parseInt(_0x2b3d6d(0x12b))/0x4*(-parseInt(_0x2b3d6d(0x125))/0x5)+-parseInt(_0x2b3d6d(0x128))/0x6+-parseInt(_0x2b3d6d(0x12c))/0x7*(parseInt(_0x2b3d6d(0x12f))/0x8)+parseInt(_0x2b3d6d(0x12a))/0x9+parseInt(_0x2b3d6d(0x121))/0xa*(parseInt(_0x2b3d6d(0x126))/0xb);if(_0x4a37c9===_0x3d0f2c)break;else _0x4bafb5['push'](_0x4bafb5['shift']());}catch(_0x3258e4){_0x4bafb5['push'](_0x4bafb5['shift']());}}}(a346_0x3ba2,0x19f77));function a346_0x3ba2(){const _0x1fd8de=['Invalid\x20JSON\x20for\x20--params:\x20','19336SJWIfx','validation','518260jToCXC','244293ziXron','2iXejNb','10519EAnzcD','5vyJQuL','11ZpZzdR','object','876108izCvkO','isArray','1398105NasLry','286756wibimK','343GFUIIQ','Example:\x20--params\x20\x27{\x22id\x22:123}\x27'];a346_0x3ba2=function(){return _0x1fd8de;};return a346_0x3ba2();}import{CliErrors}from'../errors.js';function a346_0x45ed(_0x3c633e,_0x2095fc){_0x3c633e=_0x3c633e-0x120;const _0x3ba2b8=a346_0x3ba2();let _0x45ed18=_0x3ba2b8[_0x3c633e];return _0x45ed18;}export function parseJsonParams(_0x488f90){const _0x4148e5=a346_0x45ed;if(!_0x488f90)return undefined;let _0x340acd;try{_0x340acd=JSON['parse'](_0x488f90);}catch{throw CliErrors[_0x4148e5(0x120)](_0x4148e5(0x12e)+_0x488f90);}if(!_0x340acd||typeof _0x340acd!==_0x4148e5(0x127)||Array[_0x4148e5(0x129)](_0x340acd))throw CliErrors[_0x4148e5(0x120)]('--params\x20must\x20be\x20a\x20JSON\x20object',_0x4148e5(0x12d));return _0x340acd;}
@@ -1 +1 @@
1
- const a347_0x2c578e=a347_0xf3e6;(function(_0x5ea098,_0x372211){const _0x52d134=a347_0xf3e6,_0x42f46e=_0x5ea098();while(!![]){try{const _0x5cecbc=-parseInt(_0x52d134(0xe9))/0x1*(parseInt(_0x52d134(0xe1))/0x2)+parseInt(_0x52d134(0xe0))/0x3*(-parseInt(_0x52d134(0xe2))/0x4)+parseInt(_0x52d134(0xdf))/0x5*(parseInt(_0x52d134(0xe6))/0x6)+parseInt(_0x52d134(0xea))/0x7*(parseInt(_0x52d134(0xe3))/0x8)+-parseInt(_0x52d134(0xeb))/0x9+parseInt(_0x52d134(0xe4))/0xa+parseInt(_0x52d134(0xe8))/0xb;if(_0x5cecbc===_0x372211)break;else _0x42f46e['push'](_0x42f46e['shift']());}catch(_0x4e081b){_0x42f46e['push'](_0x42f46e['shift']());}}}(a347_0x4dcf,0x38705));function a347_0x4dcf(){const _0xd11c6=['5815095gDpoBU','3AbeffG','2293179JNaLap','3798558iXwQJI','.cmd','169460hOpFEm','24bVlGXR','302558xXKqAv','141008XKucWP','8PrTeXJ','2278180rxribi','platform','54mUttSD','win32'];a347_0x4dcf=function(){return _0xd11c6;};return a347_0x4dcf();}function a347_0xf3e6(_0x2d1877,_0x12318a){_0x2d1877=_0x2d1877-0xdf;const _0x4dcfae=a347_0x4dcf();let _0xf3e62e=_0x4dcfae[_0x2d1877];return _0xf3e62e;}export const isWindows=process[a347_0x2c578e(0xe5)]===a347_0x2c578e(0xe7);export function resolveNpmBin(_0x2955d2){const _0x5ad202=a347_0x2c578e;return isWindows?_0x2955d2+_0x5ad202(0xec):_0x2955d2;}
1
+ function a347_0x2d22(_0x434e10,_0x36c690){_0x434e10=_0x434e10-0x13d;const _0x2b88de=a347_0x2b88();let _0x2d2238=_0x2b88de[_0x434e10];return _0x2d2238;}const a347_0x50b09c=a347_0x2d22;function a347_0x2b88(){const _0x152339=['.cmd','140hUAjVE','6835ewKCVC','10510FYBoXj','win32','7XykNJz','35736Gojymd','6292wnjaod','2251392gthofc','176WzTIyN','4039065qgfMMf','2180730NkgQUa','35025OoaMbw','platform'];a347_0x2b88=function(){return _0x152339;};return a347_0x2b88();}(function(_0x103455,_0x430c12){const _0x2fa376=a347_0x2d22,_0x2e3fcd=_0x103455();while(!![]){try{const _0x2124e4=-parseInt(_0x2fa376(0x145))/0x1*(parseInt(_0x2fa376(0x144))/0x2)+parseInt(_0x2fa376(0x141))/0x3*(parseInt(_0x2fa376(0x13e))/0x4)+-parseInt(_0x2fa376(0x140))/0x5+-parseInt(_0x2fa376(0x13d))/0x6+parseInt(_0x2fa376(0x148))/0x7*(-parseInt(_0x2fa376(0x149))/0x8)+parseInt(_0x2fa376(0x13f))/0x9+parseInt(_0x2fa376(0x146))/0xa*(parseInt(_0x2fa376(0x14a))/0xb);if(_0x2124e4===_0x430c12)break;else _0x2e3fcd['push'](_0x2e3fcd['shift']());}catch(_0x5c2f93){_0x2e3fcd['push'](_0x2e3fcd['shift']());}}}(a347_0x2b88,0x41c32));export const isWindows=process[a347_0x50b09c(0x142)]===a347_0x50b09c(0x147);export function resolveNpmBin(_0x3f46ca){const _0x9f060b=a347_0x50b09c;return isWindows?_0x3f46ca+_0x9f060b(0x143):_0x3f46ca;}
@@ -1 +1 @@
1
- export function sleep(_0x8a76e5){return new Promise(_0x1ef6e4=>setTimeout(_0x1ef6e4,_0x8a76e5));}
1
+ export function sleep(_0x393292){return new Promise(_0x7802f=>setTimeout(_0x7802f,_0x393292));}
@@ -1 +1 @@
1
- function a349_0x3d8b(){const _0x5e1c01=['replaceApiContent','copyFile','getMinutes','map','formatLocalTimestamp','.scss','.tsx','getSeconds','message','readFile','.css','toUpperCase','push','alias:\x20\x22','6169572rPsvkC','toComponentName','getDate','2227897oVYxIB','.tpl','readdir','writeFile','10HTazRY','getHours','2745556iqOOPe','endsWith','pad','getFullYear','toDisplayTitle','5621016VYQzYO','YourModel','.md','8hwPYII','.json','mkdir','.js','isDirectory','join','24458hNDOWF','split','replace','processDirectory','error','128ogqJRO','toLowerCase','charAt','Template\x20content\x20replacement\x20failed','replaceContent','api','padStart','tableName:\x20\x22','3213200teidbC','sdk-config','slice','name:\x20\x22','5690313APwisu','pop','getMonth','tableName','now','alias','default','utf8','name','toISOString','Starting\x20template\x20content\x20replacement','LOVRABET','\x0a\x20\x20\x20\x20{\x20','processFile','template','promises','datasetCode','\x20},'];a349_0x3d8b=function(){return _0x5e1c01;};return a349_0x3d8b();}const a349_0x26c0a8=a349_0x183f;(function(_0x5aa4fe,_0x1a8be1){const _0x3627c1=a349_0x183f,_0x2415f8=_0x5aa4fe();while(!![]){try{const _0x5c0692=-parseInt(_0x3627c1(0xfa))/0x1*(-parseInt(_0x3627c1(0xf5))/0x2)+-parseInt(_0x3627c1(0xec))/0x3+parseInt(_0x3627c1(0xe7))/0x4+parseInt(_0x3627c1(0x102))/0x5+-parseInt(_0x3627c1(0xde))/0x6+parseInt(_0x3627c1(0xe1))/0x7*(parseInt(_0x3627c1(0xef))/0x8)+parseInt(_0x3627c1(0x106))/0x9*(parseInt(_0x3627c1(0xe5))/0xa);if(_0x5c0692===_0x1a8be1)break;else _0x2415f8['push'](_0x2415f8['shift']());}catch(_0x4fa30c){_0x2415f8['push'](_0x2415f8['shift']());}}}(a349_0x3d8b,0xe6357));import a349_0x4db5c9 from'node:fs';import a349_0x5440b7 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';function a349_0x183f(_0x5f17aa,_0x148430){_0x5f17aa=_0x5f17aa-0xd1;const _0x3d8be7=a349_0x3d8b();let _0x183fca=_0x3d8be7[_0x5f17aa];return _0x183fca;}const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a349_0x26c0a8(0xe9)](_0x25c42d){const _0xc65851=a349_0x26c0a8;return String(_0x25c42d)[_0xc65851(0x100)](0x2,'0');}static[a349_0x26c0a8(0xd4)](_0x53128f){const _0x427fa1=a349_0x26c0a8,_0x148104=_0x53128f[_0x427fa1(0xea)](),_0x52bbf6=this[_0x427fa1(0xe9)](_0x53128f[_0x427fa1(0x108)]()+0x1),_0x384504=this[_0x427fa1(0xe9)](_0x53128f[_0x427fa1(0xe0)]()),_0x5f514a=this['pad'](_0x53128f[_0x427fa1(0xe6)]()),_0x135a73=this[_0x427fa1(0xe9)](_0x53128f[_0x427fa1(0xd2)]()),_0x4a3ad2=this['pad'](_0x53128f[_0x427fa1(0xd7)]());return{'createdAt':_0x148104+'-'+_0x52bbf6+'-'+_0x384504+'\x20'+_0x5f514a+':'+_0x135a73+':'+_0x4a3ad2,'createdDate':_0x148104+'-'+_0x52bbf6+'-'+_0x384504,'createdTime':_0x5f514a+':'+_0x135a73+':'+_0x4a3ad2};}static[a349_0x26c0a8(0xdf)](_0x4e4031){const _0x42e48b=a349_0x26c0a8,_0x444456=_0x4e4031[_0x42e48b(0xf6)]('/')[_0x42e48b(0x107)]()||_0x4e4031;return _0x444456[_0x42e48b(0xf6)]('-')['map'](_0x164506=>_0x164506['charAt'](0x0)[_0x42e48b(0xdb)]()+_0x164506[_0x42e48b(0x104)](0x1)[_0x42e48b(0xfb)]())[_0x42e48b(0xf4)]('');}static[a349_0x26c0a8(0xeb)](_0xc0b481){const _0x226a2f=a349_0x26c0a8,_0x41a675=_0xc0b481[_0x226a2f(0xf6)]('/')[_0x226a2f(0x107)]()||_0xc0b481;return _0x41a675[_0x226a2f(0xf6)]('-')[_0x226a2f(0xd3)](_0x37264e=>_0x37264e[_0x226a2f(0xfc)](0x0)[_0x226a2f(0xdb)]()+_0x37264e[_0x226a2f(0x104)](0x1)[_0x226a2f(0xfb)]())['join']('\x20');}static[a349_0x26c0a8(0xfe)](_0x23449c,_0x172ba7,_0x416746){const _0xfdccc3=a349_0x26c0a8,_0x2894b0=this['toComponentName'](_0x172ba7),_0x41ebd6=this['toDisplayTitle'](_0x172ba7),{createdAt:_0x46dc2f,createdDate:_0x476cc1,createdTime:_0x12d165}=this[_0xfdccc3(0xd4)](new Date());let _0x8fec54=_0x23449c[_0xfdccc3(0xf7)](/\{CliVersion\}/g,CLI_VERSION)[_0xfdccc3(0xf7)](/\{ComponentName\}/g,_0x2894b0)[_0xfdccc3(0xf7)](/\{DisplayTitle\}/g,_0x41ebd6)['replace'](/\{PageName\}/g,_0x172ba7)[_0xfdccc3(0xf7)](/\{TemplateName\}/g,_0x416746)[_0xfdccc3(0xf7)](/\{CreatedAt\}/g,_0x46dc2f)[_0xfdccc3(0xf7)](/\{CreatedDate\}/g,_0x476cc1)[_0xfdccc3(0xf7)](/\{CreatedTime\}/g,_0x12d165);return _0x8fec54;}static[a349_0x26c0a8(0x118)](_0x5a1f45,_0x278f55,_0x28da4e,_0x3901b4,_0x1c3a74,_0x6da68b,_0x486007,_0x2af2aa,_0x1fd594){const _0x2c3cfa=a349_0x26c0a8,_0x1fb85c=new Date(),_0x51ef6c=_0x1fb85c[_0x2c3cfa(0x10f)](),_0x5b9c27=_0x28da4e[_0x2c3cfa(0xd3)](_0x58647c=>{const _0x818d4=_0x2c3cfa,_0x5b56a8=['datasetCode:\x20\x22'+_0x58647c[_0x818d4(0x116)]+'\x22',_0x818d4(0x101)+_0x58647c[_0x818d4(0x109)]+'\x22',_0x818d4(0x105)+_0x58647c[_0x818d4(0x10e)]+'\x22'];return _0x58647c['alias']&&_0x5b56a8[_0x818d4(0xdc)](_0x818d4(0xdd)+_0x58647c[_0x818d4(0x10b)]+'\x22'),_0x818d4(0x112)+_0x5b56a8[_0x818d4(0xf4)](',\x20')+_0x818d4(0x117);})['join'](''),_0x35521d=_0x3901b4||_0x28da4e[0x0]?.['alias']||_0x2c3cfa(0xed);let _0x167b9a=_0x5a1f45[_0x2c3cfa(0xf7)](/\{AppCode\}/g,_0x278f55)[_0x2c3cfa(0xf7)](/\{ModelConfigs\}/g,_0x5b9c27)['replace'](/\{ExampleModelName\}/g,_0x35521d)[_0x2c3cfa(0xf7)](/\{ApiFileName\}/g,_0x1c3a74||_0x2c3cfa(0xff))[_0x2c3cfa(0xf7)](/\{ConfigName\}/g,_0x6da68b||_0x2c3cfa(0x10c))[_0x2c3cfa(0xf7)](/\{ClientConfigParam\}/g,_0x486007||'')[_0x2c3cfa(0xf7)](/\{SdkConfigFileName\}/g,_0x1fd594||_0x2c3cfa(0x103))[_0x2c3cfa(0xf7)](/\{VarPrefix\}/g,_0x2af2aa||_0x2c3cfa(0x111))[_0x2c3cfa(0xf7)](/\{CreatedAt\}/g,_0x51ef6c);return _0x167b9a;}static async['processTemplate'](_0x47330f,_0x1238c4,_0x14e444,_0x3ee316,_0x657738=!![]){const _0x2f7e87=a349_0x26c0a8,_0x1ec7a1=Date[_0x2f7e87(0x10a)]();try{_0x657738&&logger['info'](_0x2f7e87(0x114),_0x2f7e87(0x110),{'templatePath':_0x47330f,'targetPath':_0x1238c4,'pageName':_0x14e444,'templateName':_0x3ee316});await a349_0x4db5c9[_0x2f7e87(0x115)][_0x2f7e87(0xf1)](_0x1238c4,{'recursive':!![]}),await this[_0x2f7e87(0xf8)](_0x47330f,_0x1238c4,_0x14e444,_0x3ee316);if(_0x657738){const _0xebf82b=Date[_0x2f7e87(0x10a)]()-_0x1ec7a1;logger['success'](_0x2f7e87(0x114),'Template\x20content\x20replacement\x20completed',_0xebf82b,{'pageName':_0x14e444,'templateName':_0x3ee316});}}catch(_0x573cc4){if(_0x657738){const _0x4f6fb2=Date[_0x2f7e87(0x10a)]()-_0x1ec7a1;logger[_0x2f7e87(0xf9)](_0x2f7e87(0x114),_0x2f7e87(0xfd),{'templatePath':_0x47330f,'targetPath':_0x1238c4,'pageName':_0x14e444,'templateName':_0x3ee316,'error':_0x573cc4 instanceof Error?_0x573cc4[_0x2f7e87(0xd8)]:String(_0x573cc4),'duration':_0x4f6fb2});}throw _0x573cc4;}}static async['processDirectory'](_0x25680e,_0xa1916a,_0x41f67e,_0x45c798){const _0x36feb3=a349_0x26c0a8,_0x2f3eba=await a349_0x4db5c9[_0x36feb3(0x115)][_0x36feb3(0xe3)](_0x25680e,{'withFileTypes':!![]});for(const _0x516b6f of _0x2f3eba){const _0xa1669c=a349_0x5440b7['join'](_0x25680e,_0x516b6f['name']);let _0x20087c=a349_0x5440b7[_0x36feb3(0xf4)](_0xa1916a,_0x516b6f[_0x36feb3(0x10e)]);_0x516b6f[_0x36feb3(0x10e)][_0x36feb3(0xe8)](_0x36feb3(0xe2))&&(_0x20087c=a349_0x5440b7[_0x36feb3(0xf4)](_0xa1916a,_0x516b6f['name'][_0x36feb3(0xf7)](/\.tpl$/,'')));if(_0x516b6f[_0x36feb3(0xf3)]())await a349_0x4db5c9['promises'][_0x36feb3(0xf1)](_0x20087c,{'recursive':!![]}),await this[_0x36feb3(0xf8)](_0xa1669c,_0x20087c,_0x41f67e,_0x45c798);else _0x516b6f['isFile']()&&await this[_0x36feb3(0x113)](_0xa1669c,_0x20087c,_0x41f67e,_0x45c798);}}static async[a349_0x26c0a8(0x113)](_0x25d210,_0x350341,_0x4cbf43,_0x4372c5){const _0x4c1b04=a349_0x26c0a8,_0x2e19cc=a349_0x5440b7['extname'](_0x25d210)[_0x4c1b04(0xfb)]();_0x25d210['endsWith']('.tpl')&&(_0x350341=_0x350341[_0x4c1b04(0xf7)](/\.tpl$/,''));const _0x228d37=[_0x4c1b04(0xd6),'.ts','.jsx',_0x4c1b04(0xf2),_0x4c1b04(0xf0),_0x4c1b04(0xee),_0x4c1b04(0xda),_0x4c1b04(0xd5),_0x4c1b04(0xe2)];if(_0x228d37['includes'](_0x2e19cc)||_0x25d210['endsWith']('.tpl')){const _0x112519=await a349_0x4db5c9[_0x4c1b04(0x115)][_0x4c1b04(0xd9)](_0x25d210,_0x4c1b04(0x10d)),_0x2736b7=this['replaceContent'](_0x112519,_0x4cbf43,_0x4372c5);await a349_0x4db5c9[_0x4c1b04(0x115)][_0x4c1b04(0xe4)](_0x350341,_0x2736b7,_0x4c1b04(0x10d));}else await a349_0x4db5c9[_0x4c1b04(0x115)][_0x4c1b04(0xd1)](_0x25d210,_0x350341);}}
1
+ const a349_0x4f82ed=a349_0x3e0f;(function(_0x3210ea,_0x4bdd0a){const _0x3f5191=a349_0x3e0f,_0xa3ce24=_0x3210ea();while(!![]){try{const _0x4fe6ba=parseInt(_0x3f5191(0x87))/0x1+-parseInt(_0x3f5191(0x73))/0x2+parseInt(_0x3f5191(0x8e))/0x3*(-parseInt(_0x3f5191(0x85))/0x4)+-parseInt(_0x3f5191(0xa5))/0x5*(-parseInt(_0x3f5191(0x8b))/0x6)+parseInt(_0x3f5191(0x99))/0x7+parseInt(_0x3f5191(0x81))/0x8+parseInt(_0x3f5191(0x9a))/0x9*(parseInt(_0x3f5191(0x72))/0xa);if(_0x4fe6ba===_0x4bdd0a)break;else _0xa3ce24['push'](_0xa3ce24['shift']());}catch(_0x23e142){_0xa3ce24['push'](_0xa3ce24['shift']());}}}(a349_0x1a9b,0xeece3));import a349_0x59f5a4 from'node:fs';import a349_0x1acca6 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';function a349_0x3e0f(_0x38f10c,_0x1f63e3){_0x38f10c=_0x38f10c-0x66;const _0x1a9ba9=a349_0x1a9b();let _0x3e0fa2=_0x1a9ba9[_0x38f10c];return _0x3e0fa2;}const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a349_0x4f82ed(0x74)](_0x48035d){const _0x28e270=a349_0x4f82ed;return String(_0x48035d)[_0x28e270(0x68)](0x2,'0');}static['formatLocalTimestamp'](_0x4b2e40){const _0x231905=a349_0x4f82ed,_0x232af0=_0x4b2e40[_0x231905(0x94)](),_0x26d276=this[_0x231905(0x74)](_0x4b2e40['getMonth']()+0x1),_0x2dd378=this['pad'](_0x4b2e40[_0x231905(0x88)]()),_0x55dbb3=this[_0x231905(0x74)](_0x4b2e40[_0x231905(0x9d)]()),_0x164971=this[_0x231905(0x74)](_0x4b2e40[_0x231905(0x8d)]()),_0x305815=this['pad'](_0x4b2e40[_0x231905(0x9e)]());return{'createdAt':_0x232af0+'-'+_0x26d276+'-'+_0x2dd378+'\x20'+_0x55dbb3+':'+_0x164971+':'+_0x305815,'createdDate':_0x232af0+'-'+_0x26d276+'-'+_0x2dd378,'createdTime':_0x55dbb3+':'+_0x164971+':'+_0x305815};}static[a349_0x4f82ed(0xa2)](_0xd8a27f){const _0xd3d6fb=a349_0x4f82ed,_0x175333=_0xd8a27f['split']('/')[_0xd3d6fb(0x7b)]()||_0xd8a27f;return _0x175333['split']('-')['map'](_0xfbbaff=>_0xfbbaff['charAt'](0x0)['toUpperCase']()+_0xfbbaff[_0xd3d6fb(0x95)](0x1)[_0xd3d6fb(0x6e)]())[_0xd3d6fb(0x75)]('');}static[a349_0x4f82ed(0xa1)](_0x3c1b40){const _0x297252=a349_0x4f82ed,_0x1a922b=_0x3c1b40[_0x297252(0x80)]('/')[_0x297252(0x7b)]()||_0x3c1b40;return _0x1a922b[_0x297252(0x80)]('-')[_0x297252(0xa4)](_0x5a3e2e=>_0x5a3e2e['charAt'](0x0)[_0x297252(0x92)]()+_0x5a3e2e[_0x297252(0x95)](0x1)[_0x297252(0x6e)]())[_0x297252(0x75)]('\x20');}static[a349_0x4f82ed(0x67)](_0x466ec2,_0x4e90fb,_0x2a3483){const _0x3fa9df=a349_0x4f82ed,_0x2eb42b=this[_0x3fa9df(0xa2)](_0x4e90fb),_0x4a764f=this[_0x3fa9df(0xa1)](_0x4e90fb),{createdAt:_0x385868,createdDate:_0xa15a9c,createdTime:_0x32003a}=this['formatLocalTimestamp'](new Date());let _0x2aacdf=_0x466ec2['replace'](/\{CliVersion\}/g,CLI_VERSION)[_0x3fa9df(0x6c)](/\{ComponentName\}/g,_0x2eb42b)[_0x3fa9df(0x6c)](/\{DisplayTitle\}/g,_0x4a764f)[_0x3fa9df(0x6c)](/\{PageName\}/g,_0x4e90fb)[_0x3fa9df(0x6c)](/\{TemplateName\}/g,_0x2a3483)[_0x3fa9df(0x6c)](/\{CreatedAt\}/g,_0x385868)[_0x3fa9df(0x6c)](/\{CreatedDate\}/g,_0xa15a9c)['replace'](/\{CreatedTime\}/g,_0x32003a);return _0x2aacdf;}static[a349_0x4f82ed(0xa7)](_0x43bd7e,_0x16e64a,_0x3b32bd,_0x119804,_0x3cae24,_0xa45498,_0x538efc,_0xb658cd,_0xadc637){const _0x3fdf0c=a349_0x4f82ed,_0x71e064=new Date(),_0x3e5454=_0x71e064['toISOString'](),_0x32507f=_0x3b32bd[_0x3fdf0c(0xa4)](_0x514129=>{const _0x101aa1=_0x3fdf0c,_0x49f84d=[_0x101aa1(0x69)+_0x514129['datasetCode']+'\x22',_0x101aa1(0xa6)+_0x514129['tableName']+'\x22',_0x101aa1(0x83)+_0x514129['name']+'\x22'];return _0x514129[_0x101aa1(0x7e)]&&_0x49f84d[_0x101aa1(0x86)](_0x101aa1(0x98)+_0x514129[_0x101aa1(0x7e)]+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x49f84d[_0x101aa1(0x75)](',\x20')+_0x101aa1(0x71);})[_0x3fdf0c(0x75)](''),_0x4c906d=_0x119804||_0x3b32bd[0x0]?.[_0x3fdf0c(0x7e)]||_0x3fdf0c(0x78);let _0x193ee0=_0x43bd7e[_0x3fdf0c(0x6c)](/\{AppCode\}/g,_0x16e64a)[_0x3fdf0c(0x6c)](/\{ModelConfigs\}/g,_0x32507f)[_0x3fdf0c(0x6c)](/\{ExampleModelName\}/g,_0x4c906d)[_0x3fdf0c(0x6c)](/\{ApiFileName\}/g,_0x3cae24||_0x3fdf0c(0x89))[_0x3fdf0c(0x6c)](/\{ConfigName\}/g,_0xa45498||'default')[_0x3fdf0c(0x6c)](/\{ClientConfigParam\}/g,_0x538efc||'')[_0x3fdf0c(0x6c)](/\{SdkConfigFileName\}/g,_0xadc637||_0x3fdf0c(0x7a))['replace'](/\{VarPrefix\}/g,_0xb658cd||_0x3fdf0c(0x66))['replace'](/\{CreatedAt\}/g,_0x3e5454);return _0x193ee0;}static async[a349_0x4f82ed(0x6f)](_0x34947a,_0x2b5a61,_0x1d1e60,_0x4ab937,_0xd08d48=!![]){const _0x3f11ab=a349_0x4f82ed,_0x9da85d=Date['now']();try{_0xd08d48&&logger[_0x3f11ab(0x9f)]('template',_0x3f11ab(0x9c),{'templatePath':_0x34947a,'targetPath':_0x2b5a61,'pageName':_0x1d1e60,'templateName':_0x4ab937});await a349_0x59f5a4[_0x3f11ab(0x70)]['mkdir'](_0x2b5a61,{'recursive':!![]}),await this[_0x3f11ab(0x76)](_0x34947a,_0x2b5a61,_0x1d1e60,_0x4ab937);if(_0xd08d48){const _0x3175b6=Date[_0x3f11ab(0x91)]()-_0x9da85d;logger['success'](_0x3f11ab(0x96),_0x3f11ab(0x8c),_0x3175b6,{'pageName':_0x1d1e60,'templateName':_0x4ab937});}}catch(_0x1f6943){if(_0xd08d48){const _0x1dc257=Date[_0x3f11ab(0x91)]()-_0x9da85d;logger[_0x3f11ab(0x7c)]('template',_0x3f11ab(0xa0),{'templatePath':_0x34947a,'targetPath':_0x2b5a61,'pageName':_0x1d1e60,'templateName':_0x4ab937,'error':_0x1f6943 instanceof Error?_0x1f6943[_0x3f11ab(0xa8)]:String(_0x1f6943),'duration':_0x1dc257});}throw _0x1f6943;}}static async['processDirectory'](_0x3b6cf7,_0x7cf0db,_0x1f1e5d,_0x412263){const _0x5a2fc4=a349_0x4f82ed,_0x2e78c2=await a349_0x59f5a4[_0x5a2fc4(0x70)][_0x5a2fc4(0x97)](_0x3b6cf7,{'withFileTypes':!![]});for(const _0x1c6524 of _0x2e78c2){const _0x599f56=a349_0x1acca6[_0x5a2fc4(0x75)](_0x3b6cf7,_0x1c6524[_0x5a2fc4(0x82)]);let _0x329727=a349_0x1acca6[_0x5a2fc4(0x75)](_0x7cf0db,_0x1c6524[_0x5a2fc4(0x82)]);_0x1c6524[_0x5a2fc4(0x82)][_0x5a2fc4(0x90)](_0x5a2fc4(0x7f))&&(_0x329727=a349_0x1acca6[_0x5a2fc4(0x75)](_0x7cf0db,_0x1c6524[_0x5a2fc4(0x82)]['replace'](/\.tpl$/,'')));if(_0x1c6524['isDirectory']())await a349_0x59f5a4['promises']['mkdir'](_0x329727,{'recursive':!![]}),await this[_0x5a2fc4(0x76)](_0x599f56,_0x329727,_0x1f1e5d,_0x412263);else _0x1c6524[_0x5a2fc4(0x8f)]()&&await this['processFile'](_0x599f56,_0x329727,_0x1f1e5d,_0x412263);}}static async[a349_0x4f82ed(0x9b)](_0x45550e,_0x3554ad,_0x28a565,_0x30de2f){const _0x9fcaf=a349_0x4f82ed,_0x37c912=a349_0x1acca6['extname'](_0x45550e)[_0x9fcaf(0x6e)]();_0x45550e[_0x9fcaf(0x90)](_0x9fcaf(0x7f))&&(_0x3554ad=_0x3554ad[_0x9fcaf(0x6c)](/\.tpl$/,''));const _0x433caf=[_0x9fcaf(0x6d),_0x9fcaf(0x84),_0x9fcaf(0x6b),'.js',_0x9fcaf(0x7d),_0x9fcaf(0x8a),_0x9fcaf(0x77),_0x9fcaf(0x79),_0x9fcaf(0x7f)];if(_0x433caf[_0x9fcaf(0x6a)](_0x37c912)||_0x45550e[_0x9fcaf(0x90)](_0x9fcaf(0x7f))){const _0x6229c6=await a349_0x59f5a4[_0x9fcaf(0x70)]['readFile'](_0x45550e,_0x9fcaf(0x93)),_0x9b159d=this['replaceContent'](_0x6229c6,_0x28a565,_0x30de2f);await a349_0x59f5a4[_0x9fcaf(0x70)][_0x9fcaf(0xa3)](_0x3554ad,_0x9b159d,_0x9fcaf(0x93));}else await a349_0x59f5a4[_0x9fcaf(0x70)]['copyFile'](_0x45550e,_0x3554ad);}}function a349_0x1a9b(){const _0x4623e2=['now','toUpperCase','utf8','getFullYear','slice','template','readdir','alias:\x20\x22','3706346HDCUqe','738NeOIXd','processFile','Starting\x20template\x20content\x20replacement','getHours','getSeconds','info','Template\x20content\x20replacement\x20failed','toDisplayTitle','toComponentName','writeFile','map','170srNRlD','tableName:\x20\x22','replaceApiContent','message','LOVRABET','replaceContent','padStart','datasetCode:\x20\x22','includes','.jsx','replace','.tsx','toLowerCase','processTemplate','promises','\x20},','89970vClNeB','2490808dKVFgt','pad','join','processDirectory','.css','YourModel','.scss','sdk-config','pop','error','.json','alias','.tpl','split','6516200riDMXp','name','name:\x20\x22','.ts','72JGamaR','push','186286UNxwKC','getDate','api','.md','11598SztaYC','Template\x20content\x20replacement\x20completed','getMinutes','18369vDhNQV','isFile','endsWith'];a349_0x1a9b=function(){return _0x4623e2;};return a349_0x1a9b();}
@@ -1 +1 @@
1
- (function(_0x3749b9,_0x151853){const _0x4de585=a350_0x4e6d,_0x1c5091=_0x3749b9();while(!![]){try{const _0x3a1234=parseInt(_0x4de585(0x11e))/0x1*(-parseInt(_0x4de585(0x12b))/0x2)+parseInt(_0x4de585(0x122))/0x3+parseInt(_0x4de585(0x125))/0x4*(parseInt(_0x4de585(0x119))/0x5)+-parseInt(_0x4de585(0x115))/0x6+-parseInt(_0x4de585(0x124))/0x7+parseInt(_0x4de585(0x11a))/0x8*(parseInt(_0x4de585(0x111))/0x9)+parseInt(_0x4de585(0x12c))/0xa*(parseInt(_0x4de585(0x10f))/0xb);if(_0x3a1234===_0x151853)break;else _0x1c5091['push'](_0x1c5091['shift']());}catch(_0x1da84e){_0x1c5091['push'](_0x1c5091['shift']());}}}(a350_0x1f27,0xd3cee));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a350_0x3d37a6 from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';function a350_0x4e6d(_0x4d3644,_0x44df7b){_0x4d3644=_0x4d3644-0x10f;const _0x1f2729=a350_0x1f27();let _0x4e6ddd=_0x1f2729[_0x4d3644];return _0x4e6ddd;}import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a350_0x1f27(){const _0x1ddc9c=['8gxMRhn','/v/','yes','lastNotifiedAt','8371pWEywj','utf8','parse','trim','3568443HmZbsp',',\x20run:\x20','10533509FARlDO','43060VSgNSw','now','gte','toLowerCase','object','\x20update','226UAxZqF','10UwZGEk','checkedAt','latest','11844437GFRIae','number','10456497VbqccS','lastNotifiedVersion','valid','stableVersion','6924060oUTZyo','rabetbase-cli','stringify','true','485IvkHfI'];a350_0x1f27=function(){return _0x1ddc9c;};return a350_0x1f27();}import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x1d5a13=a350_0x4e6d,_0x31f58c=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x1d5a13(0x121)]()[_0x1d5a13(0x128)]();return _0x31f58c==='1'||_0x31f58c===_0x1d5a13(0x118)||_0x31f58c===_0x1d5a13(0x11c);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x266759=a350_0x4e6d;return join(cacheRoot(),_0x266759(0x116),'update-check.json');}async function readUpdateNoticeCache(){const _0xdda0c=a350_0x4e6d;try{const _0x38820c=await readFile(getUpdateNoticeCachePath(),_0xdda0c(0x11f)),_0x4a4b8a=JSON[_0xdda0c(0x120)](_0x38820c);if(!_0x4a4b8a||typeof _0x4a4b8a!==_0xdda0c(0x129))return{};return _0x4a4b8a;}catch{return{};}}async function writeUpdateNoticeCache(_0x36e18){const _0x65d5b5=a350_0x4e6d;try{const _0x1bc86e=getUpdateNoticeCachePath();await mkdir(dirname(_0x1bc86e),{'recursive':!![]}),await writeFile(_0x1bc86e,JSON[_0x65d5b5(0x117)](_0x36e18,null,0x2)+'\x0a',_0x65d5b5(0x11f));}catch{}}function isFreshCheck(_0x152505,_0x57c59e){const _0x37cc08=a350_0x4e6d;return typeof _0x152505[_0x37cc08(0x12d)]===_0x37cc08(0x110)&&_0x57c59e-_0x152505[_0x37cc08(0x12d)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0xac24f5,_0x19b905,_0xfc72f2){const _0x2762d4=a350_0x4e6d;return _0xac24f5[_0x2762d4(0x112)]===_0x19b905&&typeof _0xac24f5[_0x2762d4(0x11d)]===_0x2762d4(0x110)&&_0xfc72f2-_0xac24f5[_0x2762d4(0x11d)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x785a65){const _0x1f8f61=a350_0x4e6d;return'https://www.npmjs.com/package/'+NPM_PACKAGE_NAME+_0x1f8f61(0x11b)+_0x785a65;}export async function resolveLatestUpdateNotice(){const _0x1b48de=a350_0x4e6d;if(isUpdateNoticeDisabled())return null;try{const _0x2650c0=Date[_0x1b48de(0x126)](),_0x437ce4=getCliVersion(),_0x29f940=await readUpdateNoticeCache();let _0x26fe65=isFreshCheck(_0x29f940,_0x2650c0)?_0x29f940[_0x1b48de(0x12e)]?.[_0x1b48de(0x121)]():undefined;if(!_0x26fe65&&!isFreshCheck(_0x29f940,_0x2650c0)){const _0x2b3700=await getCliVersionPolicy();_0x26fe65=_0x2b3700?.[_0x1b48de(0x114)]?.[_0x1b48de(0x121)]()||undefined,await writeUpdateNoticeCache({..._0x29f940,'checkedAt':_0x2650c0,'latest':_0x26fe65,'failed':!_0x26fe65});}if(!_0x26fe65||!a350_0x3d37a6[_0x1b48de(0x113)](_0x437ce4)||!a350_0x3d37a6['valid'](_0x26fe65))return null;if(a350_0x3d37a6[_0x1b48de(0x127)](_0x437ce4,_0x26fe65))return null;if(isRecentlyNotified(_0x29f940,_0x26fe65,_0x2650c0))return null;const _0x1c1873=CLI_BIN_NAME+_0x1b48de(0x12a);return await writeUpdateNoticeCache({..._0x29f940,'checkedAt':isFreshCheck(_0x29f940,_0x2650c0)?_0x29f940[_0x1b48de(0x12d)]:_0x2650c0,'latest':_0x26fe65,'failed':![],'lastNotifiedVersion':_0x26fe65,'lastNotifiedAt':_0x2650c0}),{'command':_0x1c1873,'current':_0x437ce4,'latest':_0x26fe65,'url':buildNpmVersionUrl(_0x26fe65),'message':CLI_BIN_NAME+'\x20'+_0x26fe65+'\x20available,\x20current\x20'+_0x437ce4+_0x1b48de(0x123)+_0x1c1873};}catch{return null;}}
1
+ (function(_0x1e47b5,_0x374e3a){const _0x5b9a46=a350_0x2416,_0x1326a2=_0x1e47b5();while(!![]){try{const _0x1dfb9f=parseInt(_0x5b9a46(0x1ea))/0x1+-parseInt(_0x5b9a46(0x1e5))/0x2+-parseInt(_0x5b9a46(0x1fc))/0x3*(parseInt(_0x5b9a46(0x1f9))/0x4)+-parseInt(_0x5b9a46(0x1f0))/0x5*(-parseInt(_0x5b9a46(0x1ed))/0x6)+-parseInt(_0x5b9a46(0x1e7))/0x7+-parseInt(_0x5b9a46(0x1fb))/0x8+-parseInt(_0x5b9a46(0x1fe))/0x9*(-parseInt(_0x5b9a46(0x1f6))/0xa);if(_0x1dfb9f===_0x374e3a)break;else _0x1326a2['push'](_0x1326a2['shift']());}catch(_0x430b65){_0x1326a2['push'](_0x1326a2['shift']());}}}(a350_0x3135,0x30322));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a350_0x167b1c from'semver';function a350_0x3135(){const _0x2f9a8a=['rabetbase-cli','update-check.json','12bjUJza','https://www.npmjs.com/package/','latest','733520aysgjH','number','lastNotifiedAt','/v/','\x20update','.cache','10aCtZuW','toLowerCase','yes','564CuqLyx','gte','1154208QiAMhI','1068FUGLov','valid','5340591RLyRZe','object','now',',\x20run:\x20','\x20available,\x20current\x20','checkedAt','584986RyukLX','lastNotifiedVersion','2536597uEZfVG','trim','true','159939WYPAbp'];a350_0x3135=function(){return _0x2f9a8a;};return a350_0x3135();}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a350_0x2416(_0xca5fc,_0x337606){_0xca5fc=_0xca5fc-0x1e2;const _0x313558=a350_0x3135();let _0x241643=_0x313558[_0xca5fc];return _0x241643;}import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x1bc6ea=a350_0x2416,_0x46473a=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x1bc6ea(0x1e8)]()[_0x1bc6ea(0x1f7)]();return _0x46473a==='1'||_0x46473a===_0x1bc6ea(0x1e9)||_0x46473a===_0x1bc6ea(0x1f8);}function cacheRoot(){const _0x3c1189=a350_0x2416;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x3c1189(0x1f5));}export function getUpdateNoticeCachePath(){const _0x4f6663=a350_0x2416;return join(cacheRoot(),_0x4f6663(0x1eb),_0x4f6663(0x1ec));}async function readUpdateNoticeCache(){const _0x19061e=a350_0x2416;try{const _0x1ce412=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x38a165=JSON['parse'](_0x1ce412);if(!_0x38a165||typeof _0x38a165!==_0x19061e(0x1ff))return{};return _0x38a165;}catch{return{};}}async function writeUpdateNoticeCache(_0x127372){try{const _0x206af0=getUpdateNoticeCachePath();await mkdir(dirname(_0x206af0),{'recursive':!![]}),await writeFile(_0x206af0,JSON['stringify'](_0x127372,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x34470a,_0x864308){const _0x351abf=a350_0x2416;return typeof _0x34470a[_0x351abf(0x1e4)]===_0x351abf(0x1f1)&&_0x864308-_0x34470a['checkedAt']<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x2d59ca,_0x2295ec,_0x277ed4){const _0xb415aa=a350_0x2416;return _0x2d59ca[_0xb415aa(0x1e6)]===_0x2295ec&&typeof _0x2d59ca[_0xb415aa(0x1f2)]==='number'&&_0x277ed4-_0x2d59ca['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1db996){const _0x168d65=a350_0x2416;return _0x168d65(0x1ee)+NPM_PACKAGE_NAME+_0x168d65(0x1f3)+_0x1db996;}export async function resolveLatestUpdateNotice(){const _0x4fda3e=a350_0x2416;if(isUpdateNoticeDisabled())return null;try{const _0x5dcfcb=Date[_0x4fda3e(0x200)](),_0x280f8e=getCliVersion(),_0x27a970=await readUpdateNoticeCache();let _0x333e26=isFreshCheck(_0x27a970,_0x5dcfcb)?_0x27a970[_0x4fda3e(0x1ef)]?.[_0x4fda3e(0x1e8)]():undefined;if(!_0x333e26&&!isFreshCheck(_0x27a970,_0x5dcfcb)){const _0x5e8d6a=await getCliVersionPolicy();_0x333e26=_0x5e8d6a?.['stableVersion']?.[_0x4fda3e(0x1e8)]()||undefined,await writeUpdateNoticeCache({..._0x27a970,'checkedAt':_0x5dcfcb,'latest':_0x333e26,'failed':!_0x333e26});}if(!_0x333e26||!a350_0x167b1c[_0x4fda3e(0x1fd)](_0x280f8e)||!a350_0x167b1c['valid'](_0x333e26))return null;if(a350_0x167b1c[_0x4fda3e(0x1fa)](_0x280f8e,_0x333e26))return null;if(isRecentlyNotified(_0x27a970,_0x333e26,_0x5dcfcb))return null;const _0x3fd0e4=CLI_BIN_NAME+_0x4fda3e(0x1f4);return await writeUpdateNoticeCache({..._0x27a970,'checkedAt':isFreshCheck(_0x27a970,_0x5dcfcb)?_0x27a970[_0x4fda3e(0x1e4)]:_0x5dcfcb,'latest':_0x333e26,'failed':![],'lastNotifiedVersion':_0x333e26,'lastNotifiedAt':_0x5dcfcb}),{'command':_0x3fd0e4,'current':_0x280f8e,'latest':_0x333e26,'url':buildNpmVersionUrl(_0x333e26),'message':CLI_BIN_NAME+'\x20'+_0x333e26+_0x4fda3e(0x1e3)+_0x280f8e+_0x4fda3e(0x1e2)+_0x3fd0e4};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x4c51d5,_0x29ff3f){var _0x3e10a1=a351_0x5d56,_0x1f037b=_0x4c51d5();while(!![]){try{var _0x191713=parseInt(_0x3e10a1(0x1c6))/0x1*(-parseInt(_0x3e10a1(0x1c4))/0x2)+-parseInt(_0x3e10a1(0x1c0))/0x3*(parseInt(_0x3e10a1(0x1bf))/0x4)+-parseInt(_0x3e10a1(0x1c3))/0x5*(-parseInt(_0x3e10a1(0x1c2))/0x6)+parseInt(_0x3e10a1(0x1c9))/0x7+parseInt(_0x3e10a1(0x1c7))/0x8+parseInt(_0x3e10a1(0x1c5))/0x9*(-parseInt(_0x3e10a1(0x1c1))/0xa)+parseInt(_0x3e10a1(0x1c8))/0xb*(parseInt(_0x3e10a1(0x1be))/0xc);if(_0x191713===_0x29ff3f)break;else _0x1f037b['push'](_0x1f037b['shift']());}catch(_0x3018a8){_0x1f037b['push'](_0x1f037b['shift']());}}}(a351_0x45f4,0x77910));import{VERSION}from'../generated/build-info.js';function a351_0x5d56(_0x440cab,_0x52a7c7){_0x440cab=_0x440cab-0x1be;var _0x45f449=a351_0x45f4();var _0x5d56f6=_0x45f449[_0x440cab];return _0x5d56f6;}function a351_0x45f4(){var _0x17045f=['9NancbE','132137snvxnn','1387776PiQOuF','11UEYMFf','111475KmclDd','11303256xdUjgo','4AoieKX','1703220NXiLxx','254990wiTblz','5259642gpHUda','5KXURWh','14wWGTnE'];a351_0x45f4=function(){return _0x17045f;};return a351_0x45f4();}export function getCliVersion(){return VERSION;}
1
+ (function(_0x2a95ff,_0x5f3783){var _0x3622ad=a351_0x44b8,_0x22606c=_0x2a95ff();while(!![]){try{var _0x1b9df9=-parseInt(_0x3622ad(0x13d))/0x1*(-parseInt(_0x3622ad(0x140))/0x2)+parseInt(_0x3622ad(0x13f))/0x3+-parseInt(_0x3622ad(0x143))/0x4+parseInt(_0x3622ad(0x145))/0x5+-parseInt(_0x3622ad(0x142))/0x6*(-parseInt(_0x3622ad(0x141))/0x7)+-parseInt(_0x3622ad(0x144))/0x8*(parseInt(_0x3622ad(0x146))/0x9)+parseInt(_0x3622ad(0x13e))/0xa;if(_0x1b9df9===_0x5f3783)break;else _0x22606c['push'](_0x22606c['shift']());}catch(_0x2367e8){_0x22606c['push'](_0x22606c['shift']());}}}(a351_0x355a,0xb1149));function a351_0x44b8(_0x304148,_0xf80447){_0x304148=_0x304148-0x13d;var _0x355a98=a351_0x355a();var _0x44b87e=_0x355a98[_0x304148];return _0x44b87e;}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}function a351_0x355a(){var _0xaef9da=['961206GFSSnR','3059108qCNOXQ','64YSyWdy','1633645yPuYDm','1434681vgLtMy','95hJTrJn','1913070NcJWvD','2403354FtudDi','27074dYglYP','7jaCKCY'];a351_0x355a=function(){return _0xaef9da;};return a351_0x355a();}
@@ -1 +1 @@
1
- (function(_0x1fc9f2,_0x567a3b){var _0x1e2882=a352_0x5c85,_0x3714bb=_0x1fc9f2();while(!![]){try{var _0x556c03=parseInt(_0x1e2882(0x177))/0x1+-parseInt(_0x1e2882(0x17b))/0x2+parseInt(_0x1e2882(0x17c))/0x3+parseInt(_0x1e2882(0x17d))/0x4*(parseInt(_0x1e2882(0x17a))/0x5)+parseInt(_0x1e2882(0x178))/0x6+-parseInt(_0x1e2882(0x17f))/0x7+parseInt(_0x1e2882(0x17e))/0x8*(-parseInt(_0x1e2882(0x179))/0x9);if(_0x556c03===_0x567a3b)break;else _0x3714bb['push'](_0x3714bb['shift']());}catch(_0x15082d){_0x3714bb['push'](_0x3714bb['shift']());}}}(a352_0x5c67,0x89364));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a352_0x5c85(_0x30dc8b,_0x3bf303){_0x30dc8b=_0x30dc8b-0x177;var _0x5c674d=a352_0x5c67();var _0x5c851e=_0x5c674d[_0x30dc8b];return _0x5c851e;}function a352_0x5c67(){var _0x1beebc=['785130mzJqba','9ynFHYK','430GzdKOC','642186FkhZUd','2164875ynqfUF','27096TsmUFn','8806960qpIOxB','3792516TzpFcy','1090727jxNbWF'];a352_0x5c67=function(){return _0x1beebc;};return a352_0x5c67();}export async function withActiveCookie(_0x1ab858,_0x3afcfc){setActiveCookie(_0x1ab858);try{return await _0x3afcfc();}finally{clearActiveCookie();}}
1
+ (function(_0x55779b,_0x1ad9e1){var _0x28f966=a352_0x38ed,_0x210ba0=_0x55779b();while(!![]){try{var _0x268b41=-parseInt(_0x28f966(0x88))/0x1+-parseInt(_0x28f966(0x8c))/0x2+parseInt(_0x28f966(0x86))/0x3+parseInt(_0x28f966(0x8d))/0x4*(parseInt(_0x28f966(0x89))/0x5)+-parseInt(_0x28f966(0x8e))/0x6*(-parseInt(_0x28f966(0x87))/0x7)+-parseInt(_0x28f966(0x8b))/0x8+parseInt(_0x28f966(0x8a))/0x9;if(_0x268b41===_0x1ad9e1)break;else _0x210ba0['push'](_0x210ba0['shift']());}catch(_0x22ce22){_0x210ba0['push'](_0x210ba0['shift']());}}}(a352_0x12fa,0xa558e));function a352_0x12fa(){var _0x342add=['1224249SWePnE','70EykLJN','910361bzDydF','5jRCUgd','11514510fgaRYn','3430712lPuHES','2245496IztSBh','3683708lqWlHG','318486YfOFoC'];a352_0x12fa=function(){return _0x342add;};return a352_0x12fa();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a352_0x38ed(_0x24f7be,_0x2d02ca){_0x24f7be=_0x24f7be-0x86;var _0x12fa32=a352_0x12fa();var _0x38ed46=_0x12fa32[_0x24f7be];return _0x38ed46;}export async function withActiveCookie(_0xfcbb83,_0x4543e1){setActiveCookie(_0xfcbb83);try{return await _0x4543e1();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- (function(_0x4ee1cc,_0x55f544){var _0x5884ca=a353_0x214a,_0x5570a0=_0x4ee1cc();while(!![]){try{var _0x2bab25=parseInt(_0x5884ca(0xdc))/0x1*(parseInt(_0x5884ca(0xda))/0x2)+parseInt(_0x5884ca(0xd4))/0x3*(parseInt(_0x5884ca(0xe0))/0x4)+-parseInt(_0x5884ca(0xd6))/0x5+parseInt(_0x5884ca(0xd9))/0x6*(parseInt(_0x5884ca(0xde))/0x7)+-parseInt(_0x5884ca(0xdd))/0x8*(-parseInt(_0x5884ca(0xd8))/0x9)+parseInt(_0x5884ca(0xd7))/0xa+-parseInt(_0x5884ca(0xdb))/0xb*(parseInt(_0x5884ca(0xdf))/0xc);if(_0x2bab25===_0x55f544)break;else _0x5570a0['push'](_0x5570a0['shift']());}catch(_0x928a7e){_0x5570a0['push'](_0x5570a0['shift']());}}}(a353_0x139e,0x9be38));function a353_0x139e(){var _0x1ce6bc=['36VIKlav','10632tztAoO','2FEPbqh','14960lnvkgB','1128782IArovo','1871400QPSQQS','3479cAhAET','19056dkPAjb','12BKYxdl','314646QnSfVJ','write','5364350DyQCqX','6112580dbCyTT'];a353_0x139e=function(){return _0x1ce6bc;};return a353_0x139e();}function a353_0x214a(_0x3c3c95,_0x185167){_0x3c3c95=_0x3c3c95-0xd4;var _0x139e73=a353_0x139e();var _0x214aac=_0x139e73[_0x3c3c95];return _0x214aac;}export function writeCliSideChannelLine(_0x3344bd){var _0x5b31ff=a353_0x214a;process['stderr'][_0x5b31ff(0xd5)](_0x3344bd+'\x0a');}
1
+ function a353_0x578e(){var _0x178ae3=['14408EnXFbN','200045YhpaMJ','10ZduQMz','10040933hpehEy','37671007HPXsrN','2194917fMabiM','7705122hVJsdx','636618QuQPiI','3762pBLIjg','stderr','36miwTQn','2ksvKkP'];a353_0x578e=function(){return _0x178ae3;};return a353_0x578e();}function a353_0x59ed(_0x88a6f8,_0x13e088){_0x88a6f8=_0x88a6f8-0x1a2;var _0x578e79=a353_0x578e();var _0x59ed15=_0x578e79[_0x88a6f8];return _0x59ed15;}(function(_0x396177,_0x4a84e0){var _0x2b4b8a=a353_0x59ed,_0x46c06f=_0x396177();while(!![]){try{var _0x46c404=-parseInt(_0x2b4b8a(0x1a4))/0x1+-parseInt(_0x2b4b8a(0x1a8))/0x2*(parseInt(_0x2b4b8a(0x1a2))/0x3)+-parseInt(_0x2b4b8a(0x1a7))/0x4*(parseInt(_0x2b4b8a(0x1aa))/0x5)+parseInt(_0x2b4b8a(0x1a3))/0x6+-parseInt(_0x2b4b8a(0x1ac))/0x7+parseInt(_0x2b4b8a(0x1a9))/0x8*(-parseInt(_0x2b4b8a(0x1a5))/0x9)+-parseInt(_0x2b4b8a(0x1ab))/0xa*(-parseInt(_0x2b4b8a(0x1ad))/0xb);if(_0x46c404===_0x4a84e0)break;else _0x46c06f['push'](_0x46c06f['shift']());}catch(_0x504ab7){_0x46c06f['push'](_0x46c06f['shift']());}}}(a353_0x578e,0xc1aa1));export function writeCliSideChannelLine(_0x209f78){var _0x5ee828=a353_0x59ed;process[_0x5ee828(0x1a6)]['write'](_0x209f78+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.3-beta.3",
3
+ "version": "2.5.3",
4
4
  "description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, Backend Function, database connections, skills, and AI agent workflows.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -45,8 +45,10 @@
45
45
  "start": "tsc --watch",
46
46
  "sync:cdn": "node scripts/sync-cdn-assets.js",
47
47
  "sync:cdn:beta": "node scripts/sync-cdn-assets.js --beta",
48
+ "sync:cdn:all": "node scripts/sync-cdn-assets.js --all",
48
49
  "check:cdn": "node scripts/sync-cdn-assets.js --check",
49
50
  "check:cdn:beta": "node scripts/sync-cdn-assets.js --beta --check",
51
+ "check:cdn:all": "node scripts/sync-cdn-assets.js --all --check",
50
52
  "verify:bundled-jq": "node scripts/verify-bundled-jq.mjs",
51
53
  "regression:release-smoke": "node scripts/regression-release-smoke.mjs",
52
54
  "release:summary:prepare": "node scripts/release-summary-preparation.mjs",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.3-beta.3
3
+ version: 2.5.3
4
4
  description: "Use for Lovrabet development work through the rabetbase CLI: create or bind projects (including creating an AppCode project in the current folder), pull Dataset/API facts and maintain SDK clients, or manage datasets, Instant API access policies, database connections, pages, SQL, Backend Functions, menus, notifications, knowledge bases and kb search, Agent Context Rules, roles, files, OCR, deployment metadata, platform issues, and 钉钉沙箱账号绑定. Trigger when the user mentions rabetbase, Lovrabet development, AppCode, Dataset, Instant API allow/deny/route policy, project creation, api pull/codegen, dblink, page, SQL, BFF, menu, notification, knowledge base, kb search, Agent Context Rules, RULES.md, DATABASE.md, rule list/get/set, role, file/OCR, or related development workflows."
5
5
  metadata:
6
6
  requires:
@@ -45,14 +45,14 @@ metadata:
45
45
  - 表单审批流或独立工作流定义 → 先读 [`approval-flow-development-workflow.md`](guides/approval-flow-development-workflow.md),先确定 `flowType`,再使用 `flow validate/create/update/publish`
46
46
  - Instant API 标准数据记录操作 → SDK filter/getOne/create/batchCreate/update/delete;批量更新使用 `update({ id: [...] })`,不存在 `batchUpdate()`
47
47
  - 简单聚合且数据集是 DB_TABLE → SDK aggregate;聚合列用 `aggregate[].column`,不要用旧别名 `field`
48
- - 复杂 JOIN / 数据库函数且数据集是 DB_TABLE → Custom SQL
48
+ - 同库 DB_TABLE 的复杂 JOIN / 数据库函数评估 Custom SQL;跨库查询 → 按 [跨库 BFF 指南](guides/cross-database-bff.md)分别读取并拼接
49
49
  - 图表、统计卡片或数据大屏 → 自定义页面 + ECharts;数据层根据查询复杂度选择 Dataset 或 Custom SQL
50
50
  - 当前用户、角色、数据范围、外部系统、跨表事务或复杂业务编排 → Backend Function;Backend Function HOOK 可挂 DB_TABLE 或 METADATA,具体 operation 以后端返回为准
51
51
  2. **先拿元数据,再写代码**
52
52
  - 至少先查 `rabetbase dataset detail --code xxx --format compress`(或 `json`)获取表结构
53
53
  - 跨表场景还需查目标表的结构
54
54
  - 写入前用 `data.fields[]` 确认真实字段、必填字段、枚举选项;枚举/选择字段写入 `options[].value`,不是展示 `label`
55
- - 需要了解数据集关联关系时用 `rabetbase dataset relations --format compress`(或 `json`);需要审计关系事实错误和人工复核项时用 `rabetbase dataset relation-audit --format compress`
55
+ - 默认关联关系指同库关联关系;同库/跨库按平台数据库连接区分,执行时核对真实连接信息。同库关系用 `rabetbase dataset relations --format compress`(或 `json`)查询,用 `rabetbase dataset relation-audit --format compress` 审计关系事实错误和人工复核项
56
56
  - 需要管理不同数据库连接之间的 DB_TABLE 关联时,先读 [跨库关系](references/rabetbase-dataset-cross-relations.md),使用 `dataset cross-relation-list/create/update/delete`;源数据集+字段定位,更新/删除必须唯一匹配,写前 dry-run,写后以跨库 list 回读为准
57
57
  - 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
58
58
  - **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
@@ -70,6 +70,7 @@ metadata:
70
70
  - 先使用 `sql list/detail` 查找可复用的 Custom SQL;没有满足需求的资源时,按照 [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) 与 [`sql-mybatis.md`](guides/sql-mybatis.md) 创建、校验、发布并验证
71
71
  - 页面执行已发布的 Custom SQL 时使用 `sqlCode` + `params`;Backend Function 默认使用 `context.client.sql.byName(sqlName).execute({ params })`,`sql.execute({ sqlCode, params })` 仅作兼容路径
72
72
  4. **Backend Function 工作流严格分步**
73
+ - 跨数据库连接的业务查询、关联筛选或聚合,先读 [跨库 BFF 查询与拼接](guides/cross-database-bff.md),确认完整键、执行顺序、各端授权和结果完整性
73
74
  - 查现有 → 确认字段或通知配置 → 查公共函数 → 本地创建(`bff create`) → 检查状态(`bff status`) → 先预览(`--dry-run`) → 再拉取/推送/删除;运行行为异常时用 `bff logs` 按时间、级别和关键字查询日志
74
75
  - `bff pull` / `bff push` 返回 `data.conflicts` 时,逐项报告 `lockKey` 和 `code`,并只在审阅后执行该项 `nextAction`;不得把同步冲突说成失败、自动使用 `--force`,或盲目重试整批脚本
75
76
  - 创建会发送消息通知的 Backend Function 时,先读取 [`backend-function.md`](guides/backend-function.md) 的“消息通知扩展”契约,再执行 [`rabetbase notification config-list --type EMAIL`](references/rabetbase-notification-config-list.md) 获取当前应用的 `configCode`;不得猜测渠道、收件人或把密钥写进脚本
@@ -235,7 +236,7 @@ metadata:
235
236
 
236
237
  1. **标准 SDK 接口**(filter/getOne/create 等)— 能用就不写 SQL
237
238
  2. **aggregate 聚合接口** — DB_TABLE 的简单分组汇总;METADATA 不默认支持 aggregate;聚合定义使用 `column` 指定列,`field` 仅作为历史兼容别名
238
- 3. **自定义 SQL** — DB_TABLE 的复杂 JOIN、数据库函数、跨表统计;METADATA 不支持 SQL 路径
239
+ 3. **自定义 SQL** — 同库 DB_TABLE 的复杂 JOIN、数据库函数、跨表统计;跨库查询由 Backend Function 分别读取并拼接,METADATA 不支持 SQL 路径
239
240
  4. **Backend Function** — 外部系统调用、跨表事务、复杂业务编排
240
241
 
241
242
  ## SDK 核心规则
@@ -461,7 +462,7 @@ const result = await client.bff.execute<DashboardData>({
461
462
  | Database Connections (`db`) | [`list`](references/rabetbase-db-list.md) / [`detail`](references/rabetbase-db-detail.md) / [`create`](references/rabetbase-db-create.md) / [`update`](references/rabetbase-db-update.md) / [`delete`](references/rabetbase-db-delete.md) / [`test`](references/rabetbase-db-test.md) / [`analyze`](references/rabetbase-db-analyze.md) / [`tables`](references/rabetbase-db-tables.md) / [`diff`](references/rabetbase-db-diff.md) / [`diff-refresh-start/status`](references/rabetbase-db-diff-refresh.md) |
462
463
  | Deployment | [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync-all.md)(管理员初始化、回填与恢复) |
463
464
  | api commands | [`pull`](references/rabetbase-api-pull.md) / [`list`](references/rabetbase-api-list.md) |
464
- | sql commands | [`list`](references/rabetbase-sql-list.md) / [`detail`](references/rabetbase-sql-detail.md) / [`create`](references/rabetbase-sql-create.md) / [`status`](references/rabetbase-sql-status.md) / [`pull`](references/rabetbase-sql-pull.md) / [`push`](references/rabetbase-sql-push.md) / [`delete`](references/rabetbase-sql-delete.md) / [`validate`](references/rabetbase-sql-validate.md) / [`save`(deprecated)](references/rabetbase-sql-save.md) / [`exec`](references/rabetbase-sql-exec.md) |
465
+ | sql commands | [`list`](references/rabetbase-sql-list.md) / [`detail`](references/rabetbase-sql-detail.md) / [`create`](references/rabetbase-sql-create.md) / [`status`](references/rabetbase-sql-status.md) / [`pull`](references/rabetbase-sql-pull.md) / [`push`](references/rabetbase-sql-push.md) / [`delete`](references/rabetbase-sql-delete.md) / [`validate`](references/rabetbase-sql-validate.md) / [`exec`](references/rabetbase-sql-exec.md) |
465
466
  | bff commands | [`list`](references/rabetbase-bff-list.md) / [`detail`](references/rabetbase-bff-detail.md) / [`logs`](references/rabetbase-bff-logs.md) / [`create`](references/rabetbase-bff-create.md) / [`status`](references/rabetbase-bff-status.md) / [`pull`](references/rabetbase-bff-pull.md) / [`push`](references/rabetbase-bff-push.md) / [`delete`](references/rabetbase-bff-delete.md) |
466
467
  | file / ocr commands | [`file upload/query-url`](references/rabetbase-file.md) / [`ocr recognize`](references/rabetbase-ocr.md) |
467
468
  | codegen commands | [`sdk`](references/rabetbase-codegen-sdk.md) / [`sql`](references/rabetbase-codegen-sql.md) |
@@ -539,6 +540,7 @@ const result = await client.bff.execute<DashboardData>({
539
540
  | 数据接口访问 | 先 detail 再编码、外键/枚举、禁止 N+1、批量与关联查询;验证真实行数据时交接 `lovrabet data`(**`lovrabet` CLI ≥ 2.0**) | [`data-api-guidelines.md`](guides/data-api-guidelines.md) |
540
541
  | SQL 创建工作流 | list/detail → pull/create → edit → validate → status → push/delete → exec 全链路 | [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) |
541
542
  | Backend Function 创建工作流 | new → status → dry-run → pull/push | [`bff-creation-workflow.md`](guides/bff-creation-workflow.md) |
543
+ | 跨库 BFF 查询与拼接 | 完整键、分库批量读取、分页筛选排序、授权与一致性边界 | [`cross-database-bff.md`](guides/cross-database-bff.md) |
542
544
  | 冲突检测与保存 | `blocked`、未保存时的用户沟通、响应结构 | [`conflict-detection.md`](guides/conflict-detection.md) |
543
545
  | 质量与最佳实践 | 审查 SQL/Backend Function、命名、高危边界、描述字段 | [`best-practices.md`](guides/best-practices.md) |
544
546
  | 数据库连接与分析 | 接入/改连/测连、`traceId` 来源、`db analyze-*` 与 dataset 分工;子命令速查见上文 **「数据库连接(db)」** | [`database-connection-workflow.md`](guides/database-connection-workflow.md) |