@lovrabet/rabetbase-cli 2.5.2-beta.3 → 2.5.2-beta.4

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 (349) hide show
  1. package/README.md +1 -1
  2. package/lib/api/api-doc.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/auth/auth-server-ui.js +1 -1
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-restore.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.js +1 -1
  95. package/lib/commands/db/table-diff-shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/deployment/auto-sync.js +1 -1
  100. package/lib/commands/deployment/index.js +1 -1
  101. package/lib/commands/deployment/sync-all.js +1 -1
  102. package/lib/commands/deployment/sync-jobs.js +1 -1
  103. package/lib/commands/deployment/sync-status.js +1 -1
  104. package/lib/commands/deployment/sync.js +1 -1
  105. package/lib/commands/doctor.js +1 -1
  106. package/lib/commands/file/index.js +1 -1
  107. package/lib/commands/instant-api-policy/current.js +1 -1
  108. package/lib/commands/instant-api-policy/index.js +1 -1
  109. package/lib/commands/instant-api-policy/init.js +1 -1
  110. package/lib/commands/instant-api-policy/publish.js +1 -1
  111. package/lib/commands/instant-api-policy/pull.js +1 -1
  112. package/lib/commands/instant-api-policy/revision.js +1 -1
  113. package/lib/commands/instant-api-policy/revisions.js +1 -1
  114. package/lib/commands/instant-api-policy/rollback.js +1 -1
  115. package/lib/commands/instant-api-policy/shared.js +1 -1
  116. package/lib/commands/instant-api-policy/validate.js +1 -1
  117. package/lib/commands/issue/index.js +1 -1
  118. package/lib/commands/issue/nudge.js +1 -1
  119. package/lib/commands/issue/report.js +1 -1
  120. package/lib/commands/issue/shared.js +1 -1
  121. package/lib/commands/kb/create.js +1 -1
  122. package/lib/commands/kb/delete.js +1 -1
  123. package/lib/commands/kb/detail.js +1 -1
  124. package/lib/commands/kb/index.js +1 -1
  125. package/lib/commands/kb/list.js +1 -1
  126. package/lib/commands/kb/search.js +1 -1
  127. package/lib/commands/kb/shared.js +1 -1
  128. package/lib/commands/kb/update.js +1 -1
  129. package/lib/commands/logs/index.js +1 -1
  130. package/lib/commands/menu/asset-update.js +1 -1
  131. package/lib/commands/menu/delete.js +1 -1
  132. package/lib/commands/menu/external-link-create.js +1 -1
  133. package/lib/commands/menu/external-link-update.js +1 -1
  134. package/lib/commands/menu/group-create.js +1 -1
  135. package/lib/commands/menu/group-update.js +1 -1
  136. package/lib/commands/menu/index.js +1 -1
  137. package/lib/commands/menu/list.js +1 -1
  138. package/lib/commands/menu/move.js +1 -1
  139. package/lib/commands/menu/regroup-start.js +1 -1
  140. package/lib/commands/menu/rename.js +1 -1
  141. package/lib/commands/menu/shared/compare-table.js +1 -1
  142. package/lib/commands/menu/shared/delete-plan.js +1 -1
  143. package/lib/commands/menu/shared/facts.js +1 -1
  144. package/lib/commands/menu/shared/index.js +1 -1
  145. package/lib/commands/menu/shared/inquirer.js +1 -1
  146. package/lib/commands/menu/shared/local-pages.js +1 -1
  147. package/lib/commands/menu/shared/logic.js +1 -1
  148. package/lib/commands/menu/shared/mutations.js +1 -1
  149. package/lib/commands/menu/shared/service.js +1 -1
  150. package/lib/commands/menu/shared/sync-core.js +1 -1
  151. package/lib/commands/menu/shared/update-core.js +1 -1
  152. package/lib/commands/menu/shared/valid-url.js +1 -1
  153. package/lib/commands/menu/sync.js +1 -1
  154. package/lib/commands/menu/visibility-update.js +1 -1
  155. package/lib/commands/notification/config-create.js +1 -1
  156. package/lib/commands/notification/config-delete.js +1 -1
  157. package/lib/commands/notification/config-list.js +1 -1
  158. package/lib/commands/notification/config-update.js +1 -1
  159. package/lib/commands/notification/index.js +1 -1
  160. package/lib/commands/notification/shared.js +1 -1
  161. package/lib/commands/ocr/index.js +1 -1
  162. package/lib/commands/page/create.js +1 -1
  163. package/lib/commands/page/custom/detail.js +1 -1
  164. package/lib/commands/page/custom/list.js +1 -1
  165. package/lib/commands/page/custom/publish.js +1 -1
  166. package/lib/commands/page/custom/shared.d.ts +0 -8
  167. package/lib/commands/page/custom/shared.js +1 -1
  168. package/lib/commands/page/custom/syntax.js +1 -1
  169. package/lib/commands/page/custom/update.js +1 -1
  170. package/lib/commands/page/data-list-status.js +1 -1
  171. package/lib/commands/page/generate-start.js +1 -1
  172. package/lib/commands/page/generate-status.js +1 -1
  173. package/lib/commands/page/index.js +1 -1
  174. package/lib/commands/page/pull.js +1 -1
  175. package/lib/commands/page/push.js +1 -1
  176. package/lib/commands/page/relation-audit.js +1 -1
  177. package/lib/commands/page/restore.js +1 -1
  178. package/lib/commands/page/shared.js +1 -1
  179. package/lib/commands/page/sync.js +1 -1
  180. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  181. package/lib/commands/project/create/format-elapsed.js +1 -1
  182. package/lib/commands/project/create/main.js +1 -1
  183. package/lib/commands/project/create/materialize-project-template.js +1 -1
  184. package/lib/commands/project/create/project-name.js +1 -1
  185. package/lib/commands/project/create/project-template-archive.js +1 -1
  186. package/lib/commands/project/create/project-template-path.js +1 -1
  187. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  188. package/lib/commands/project/create/use-format-code.js +1 -1
  189. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  190. package/lib/commands/project/domain-routing-sync.js +1 -1
  191. package/lib/commands/project/index.js +1 -1
  192. package/lib/commands/project/upgrade.js +1 -1
  193. package/lib/commands/registry.js +1 -1
  194. package/lib/commands/role/delete.js +1 -1
  195. package/lib/commands/role/detail.js +1 -1
  196. package/lib/commands/role/index.js +1 -1
  197. package/lib/commands/role/list.js +1 -1
  198. package/lib/commands/role/shared.js +1 -1
  199. package/lib/commands/role/update.js +1 -1
  200. package/lib/commands/role/user-add.js +1 -1
  201. package/lib/commands/role/user-remove.js +1 -1
  202. package/lib/commands/role/user-resolve.js +1 -1
  203. package/lib/commands/rule/get.js +1 -1
  204. package/lib/commands/rule/index.js +1 -1
  205. package/lib/commands/rule/list.js +1 -1
  206. package/lib/commands/rule/set.js +1 -1
  207. package/lib/commands/rule/shared.js +1 -1
  208. package/lib/commands/run/index.d.ts +4 -0
  209. package/lib/commands/run/index.js +1 -1
  210. package/lib/commands/schema.js +1 -1
  211. package/lib/commands/sql/create.js +1 -1
  212. package/lib/commands/sql/delete.js +1 -1
  213. package/lib/commands/sql/detail.js +1 -1
  214. package/lib/commands/sql/exec.js +1 -1
  215. package/lib/commands/sql/index.js +1 -1
  216. package/lib/commands/sql/list.js +1 -1
  217. package/lib/commands/sql/pull.js +1 -1
  218. package/lib/commands/sql/push.js +1 -1
  219. package/lib/commands/sql/shared.js +1 -1
  220. package/lib/commands/sql/status.js +1 -1
  221. package/lib/commands/sql/validate.js +1 -1
  222. package/lib/commands/task/index.js +1 -1
  223. package/lib/commands/task/status.js +1 -1
  224. package/lib/commands/tenant/index.js +1 -1
  225. package/lib/commands/tenant/members-list.js +1 -1
  226. package/lib/commands/tenant/shared.js +1 -1
  227. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  228. package/lib/commands/user-account/index.js +1 -1
  229. package/lib/commands/workspace/add.js +1 -1
  230. package/lib/commands/workspace/index.js +1 -1
  231. package/lib/commands/workspace/remove.js +1 -1
  232. package/lib/config/domain-config.js +1 -1
  233. package/lib/config/project-domain-routing.d.ts +5 -1
  234. package/lib/config/project-domain-routing.js +1 -1
  235. package/lib/config/schema.js +1 -1
  236. package/lib/constant/cdn.js +1 -1
  237. package/lib/constant/cli.js +1 -1
  238. package/lib/constant/defaults.js +1 -1
  239. package/lib/constant/domain.js +1 -1
  240. package/lib/constant/env.js +1 -1
  241. package/lib/constant/output.js +1 -1
  242. package/lib/constant/paths.js +1 -1
  243. package/lib/constant/region.js +1 -1
  244. package/lib/constant/risk.js +1 -1
  245. package/lib/constant/routing-profile.js +1 -1
  246. package/lib/context/app-resolver.js +1 -1
  247. package/lib/context/auth-resolver.js +1 -1
  248. package/lib/context/config-loader.js +1 -1
  249. package/lib/context.js +1 -1
  250. package/lib/core/alias-resolver.js +1 -1
  251. package/lib/core/api-client.d.ts +0 -26
  252. package/lib/core/api-client.js +1 -1
  253. package/lib/core/bff/config.js +1 -1
  254. package/lib/core/bff/file-system.js +1 -1
  255. package/lib/core/bff/hash.js +1 -1
  256. package/lib/core/bff/lock.js +1 -1
  257. package/lib/core/bff/utils.js +1 -1
  258. package/lib/core/db-resolver.js +1 -1
  259. package/lib/core/instant-api-policy/config.js +1 -1
  260. package/lib/core/kb-search-client.js +1 -1
  261. package/lib/core/page/file-system.d.ts +43 -0
  262. package/lib/core/page/file-system.js +1 -1
  263. package/lib/core/page/hash.js +1 -1
  264. package/lib/core/page/lock.js +1 -1
  265. package/lib/core/sql-index-auditor.js +1 -1
  266. package/lib/core/sql-sync/config.js +1 -1
  267. package/lib/core/sql-sync/file-system.js +1 -1
  268. package/lib/core/sql-sync/hash.js +1 -1
  269. package/lib/core/sql-sync/lock.js +1 -1
  270. package/lib/core/sql-sync/utils.js +1 -1
  271. package/lib/core/sql-validator.js +1 -1
  272. package/lib/errors.js +1 -1
  273. package/lib/framework/build-all-flags.js +1 -1
  274. package/lib/framework/error-output.js +1 -1
  275. package/lib/framework/explicit-yes.js +1 -1
  276. package/lib/framework/flags.js +1 -1
  277. package/lib/framework/help.js +1 -1
  278. package/lib/framework/index.js +1 -1
  279. package/lib/framework/output.js +1 -1
  280. package/lib/framework/response.js +1 -1
  281. package/lib/framework/runner-alias.js +1 -1
  282. package/lib/framework/runner.js +1 -1
  283. package/lib/framework/schema-export.js +1 -1
  284. package/lib/framework/supported-flags.js +1 -1
  285. package/lib/framework/types.js +1 -1
  286. package/lib/generated/build-info.d.ts +4 -4
  287. package/lib/generated/build-info.js +1 -1
  288. package/lib/generated/official-routing.js +1 -1
  289. package/lib/generated/routing-contract.js +1 -1
  290. package/lib/help.js +1 -1
  291. package/lib/postinstall.js +1 -1
  292. package/lib/runtime/confirmation.js +1 -1
  293. package/lib/runtime/event.js +1 -1
  294. package/lib/runtime/index.js +1 -1
  295. package/lib/runtime/queue.js +1 -1
  296. package/lib/runtime/resolve.js +1 -1
  297. package/lib/skills/builtin-skill.js +1 -1
  298. package/lib/skills/main.js +1 -1
  299. package/lib/skills/npx-skills-add.js +1 -1
  300. package/lib/skills/skill-presence.js +1 -1
  301. package/lib/telemetry/cli-command-trace.js +1 -1
  302. package/lib/telemetry/cli-help-trace.js +1 -1
  303. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  304. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  305. package/lib/telemetry/send-cli-trace-log.js +1 -1
  306. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  307. package/lib/utils/ai_config.js +1 -1
  308. package/lib/utils/apply-jq-filter.js +1 -1
  309. package/lib/utils/cdn-config.js +1 -1
  310. package/lib/utils/check-sdk-version.js +1 -1
  311. package/lib/utils/cli-version-check.js +1 -1
  312. package/lib/utils/cli-version-policy.js +1 -1
  313. package/lib/utils/config.js +1 -1
  314. package/lib/utils/entity-with-id.js +1 -1
  315. package/lib/utils/file-utils.js +1 -1
  316. package/lib/utils/guides-cdn.js +1 -1
  317. package/lib/utils/http-client.js +1 -1
  318. package/lib/utils/is-non-interactive.js +1 -1
  319. package/lib/utils/logger.js +1 -1
  320. package/lib/utils/params.js +1 -1
  321. package/lib/utils/platform.js +1 -1
  322. package/lib/utils/sleep.js +1 -1
  323. package/lib/utils/template-replacer.js +1 -1
  324. package/lib/utils/update-notice.js +1 -1
  325. package/lib/utils/version.js +1 -1
  326. package/lib/utils/with-active-cookie.js +1 -1
  327. package/lib/utils/write-cli-side-channel.js +1 -1
  328. package/package.json +2 -1
  329. package/skills/rabetbase/SKILL.md +5 -5
  330. package/skills/rabetbase/guides/custom-page-workflow.md +35 -17
  331. package/skills/rabetbase/guides/page-development-workflow.md +1 -1
  332. package/skills/rabetbase/knowledge/components.md +292 -0
  333. package/skills/rabetbase/knowledge/custom-page/generation-standards.md +74 -4
  334. package/skills/rabetbase/knowledge/custom-page/page-templates.md +68 -0
  335. package/skills/rabetbase/references/rabetbase-page-create.md +21 -9
  336. package/skills/rabetbase/references/rabetbase-page-custom-detail.md +1 -1
  337. package/skills/rabetbase/references/rabetbase-page-custom-update.md +13 -9
  338. package/skills/rabetbase/references/rabetbase-project-create.md +5 -2
  339. package/skills/rabetbase/references/rabetbase-project-domain-routing-sync.md +2 -2
  340. package/skills/rabetbase/references/rabetbase-run.md +1 -0
  341. package/skills/rabetbase.manifest.json +5 -4
  342. package/templates/README.md +10 -4
  343. package/templates/custom-pages/blank.json +5 -0
  344. package/templates/custom-pages/dashboard.json +5 -0
  345. package/templates/custom-pages/onepage.json +5 -0
  346. package/templates/generate-api/api.ts.tpl +1 -1
  347. package/lib/commands/page/custom/template.d.ts +0 -8
  348. package/lib/commands/page/custom/template.js +0 -1
  349. package/skills/rabetbase/knowledge/custom-page/components.md +0 -225
@@ -1 +1 @@
1
- (function(_0x37684b,_0x5954a6){const _0x2049a8=a311_0x2735,_0xd23ff5=_0x37684b();while(!![]){try{const _0x2560ee=-parseInt(_0x2049a8(0x188))/0x1+-parseInt(_0x2049a8(0x180))/0x2*(-parseInt(_0x2049a8(0x17b))/0x3)+-parseInt(_0x2049a8(0x179))/0x4*(parseInt(_0x2049a8(0x185))/0x5)+-parseInt(_0x2049a8(0x17e))/0x6+-parseInt(_0x2049a8(0x17a))/0x7+-parseInt(_0x2049a8(0x17c))/0x8+-parseInt(_0x2049a8(0x181))/0x9*(-parseInt(_0x2049a8(0x175))/0xa);if(_0x2560ee===_0x5954a6)break;else _0xd23ff5['push'](_0xd23ff5['shift']());}catch(_0x5c4912){_0xd23ff5['push'](_0xd23ff5['shift']());}}}(a311_0x2108,0xda8f1));import{CLI_VERSION_POLICY_URL}from'../constant/cdn.js';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;function pickString(_0x1b23a2){const _0x641d44=a311_0x2735;return typeof _0x1b23a2===_0x641d44(0x174)&&_0x1b23a2[_0x641d44(0x184)]()[_0x641d44(0x178)]>0x0?_0x1b23a2[_0x641d44(0x184)]():null;}function normalizeCliVersionPolicy(_0x4b0a9c){const _0x3376d4=a311_0x2735;if(!_0x4b0a9c||typeof _0x4b0a9c!==_0x3376d4(0x183))return null;const _0x165dab=_0x4b0a9c,_0x4a0938=_0x165dab[_0x3376d4(0x187)]&&typeof _0x165dab[_0x3376d4(0x187)]===_0x3376d4(0x183)?_0x165dab[_0x3376d4(0x187)]:_0x165dab,_0x2fd1da=pickString(_0x4a0938['stableVersion'])||pickString(_0x4a0938[_0x3376d4(0x177)])||pickString(_0x4a0938[_0x3376d4(0x186)]),_0xb731e8=pickString(_0x4a0938[_0x3376d4(0x173)])||pickString(_0x4a0938[_0x3376d4(0x17d)]);if(!_0x2fd1da&&!_0xb731e8)return null;return{'stableVersion':_0x2fd1da,'minimumVersion':_0xb731e8,'upgradeMessage':pickString(_0x4a0938[_0x3376d4(0x17f)])||undefined,'minimumVersionMessage':pickString(_0x4a0938[_0x3376d4(0x182)])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0x2fb9bb=a311_0x2735,_0xef4a0e=new AbortController(),_0x37c9ba=setTimeout(()=>_0xef4a0e[_0x2fb9bb(0x189)](),FETCH_TIMEOUT_MS);try{const _0x128a3a=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x2fb9bb(0x176)},'signal':_0xef4a0e[_0x2fb9bb(0x172)]});if(!_0x128a3a['ok'])return null;const _0x21dc57=await _0x128a3a['json']();return _0x21dc57&&typeof _0x21dc57===_0x2fb9bb(0x183)?_0x21dc57:null;}catch{return null;}finally{clearTimeout(_0x37c9ba);}}function a311_0x2735(_0x2a9b46,_0x542e3b){_0x2a9b46=_0x2a9b46-0x172;const _0x210861=a311_0x2108();let _0x273599=_0x210861[_0x2a9b46];return _0x273599;}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}function a311_0x2108(){const _0x357eae=['minimumVersion','string','31360610VixqpC','application/json','latestVersion','length','4501968VrbZse','11067553UMCnNW','27IqtDly','7168040DcYPrj','minVersion','5900430TEVsSX','upgradeMessage','100236yPkIrZ','18sRKvNm','minimumVersionMessage','object','trim','5uuWMOy','recommendedVersion','cli','1241986mhMVPb','abort','signal'];a311_0x2108=function(){return _0x357eae;};return a311_0x2108();}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x58be33=Date['now']();if(hasCachedConfig){const _0x384987=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x58be33-cacheTime<_0x384987)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x58be33,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
1
+ (function(_0x4a69e9,_0x36479e){const _0x1d0b62=a310_0x4f36,_0xda212e=_0x4a69e9();while(!![]){try{const _0x32abe9=-parseInt(_0x1d0b62(0x1c8))/0x1*(parseInt(_0x1d0b62(0x1d1))/0x2)+-parseInt(_0x1d0b62(0x1cb))/0x3*(parseInt(_0x1d0b62(0x1ca))/0x4)+-parseInt(_0x1d0b62(0x1ce))/0x5+parseInt(_0x1d0b62(0x1d3))/0x6*(-parseInt(_0x1d0b62(0x1bd))/0x7)+parseInt(_0x1d0b62(0x1c3))/0x8*(-parseInt(_0x1d0b62(0x1bc))/0x9)+parseInt(_0x1d0b62(0x1bb))/0xa+parseInt(_0x1d0b62(0x1be))/0xb*(parseInt(_0x1d0b62(0x1cd))/0xc);if(_0x32abe9===_0x36479e)break;else _0xda212e['push'](_0xda212e['shift']());}catch(_0xc3f0ed){_0xda212e['push'](_0xda212e['shift']());}}}(a310_0x1096,0x9da5b));import{CLI_VERSION_POLICY_URL}from'../constant/cdn.js';const CACHE_TTL=0x5*0x3c*0x3e8,FAILURE_CACHE_TTL=0x3c*0x3e8,FETCH_TIMEOUT_MS=0xbb8;function pickString(_0x5d0fe7){const _0x417584=a310_0x4f36;return typeof _0x5d0fe7===_0x417584(0x1c7)&&_0x5d0fe7['trim']()['length']>0x0?_0x5d0fe7[_0x417584(0x1c9)]():null;}function a310_0x1096(){const _0x295dad=['31836krurlr','2146190oCbPlr','application/json','latestVersion','464586GYAlUT','minimumVersion','989622wKSKdp','now','7484710tYhqam','63zbKGHk','49ruFXGz','11110vACxvA','recommendedVersion','json','object','stableVersion','46056FYJumV','upgradeMessage','cli','signal','string','2axKVpX','trim','2774384MgMLim','3evqrML','abort'];a310_0x1096=function(){return _0x295dad;};return a310_0x1096();}function normalizeCliVersionPolicy(_0x4e23ef){const _0x3cbc6d=a310_0x4f36;if(!_0x4e23ef||typeof _0x4e23ef!==_0x3cbc6d(0x1c1))return null;const _0x5e38c0=_0x4e23ef,_0x16b94f=_0x5e38c0[_0x3cbc6d(0x1c5)]&&typeof _0x5e38c0[_0x3cbc6d(0x1c5)]===_0x3cbc6d(0x1c1)?_0x5e38c0[_0x3cbc6d(0x1c5)]:_0x5e38c0,_0x3e57ab=pickString(_0x16b94f[_0x3cbc6d(0x1c2)])||pickString(_0x16b94f[_0x3cbc6d(0x1d0)])||pickString(_0x16b94f[_0x3cbc6d(0x1bf)]),_0x229e97=pickString(_0x16b94f[_0x3cbc6d(0x1d2)])||pickString(_0x16b94f['minVersion']);if(!_0x3e57ab&&!_0x229e97)return null;return{'stableVersion':_0x3e57ab,'minimumVersion':_0x229e97,'upgradeMessage':pickString(_0x16b94f[_0x3cbc6d(0x1c4)])||undefined,'minimumVersionMessage':pickString(_0x16b94f['minimumVersionMessage'])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0xeebcfc=a310_0x4f36,_0xbf868=new AbortController(),_0x520642=setTimeout(()=>_0xbf868[_0xeebcfc(0x1cc)](),FETCH_TIMEOUT_MS);try{const _0x508441=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0xeebcfc(0x1cf)},'signal':_0xbf868[_0xeebcfc(0x1c6)]});if(!_0x508441['ok'])return null;const _0x121a61=await _0x508441[_0xeebcfc(0x1c0)]();return _0x121a61&&typeof _0x121a61===_0xeebcfc(0x1c1)?_0x121a61:null;}catch{return null;}finally{clearTimeout(_0x520642);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}function a310_0x4f36(_0x5e7d58,_0x5e5910){_0x5e7d58=_0x5e7d58-0x1bb;const _0x1096b3=a310_0x1096();let _0x4f3653=_0x1096b3[_0x5e7d58];return _0x4f3653;}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x115957=a310_0x4f36,_0x1a5bf9=Date[_0x115957(0x1d4)]();if(hasCachedConfig){const _0x2a1612=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x1a5bf9-cacheTime<_0x2a1612)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x1a5bf9,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
@@ -1 +1 @@
1
- (function(_0xd61744,_0x487bd2){const _0xd4a13e=a312_0x2aa9,_0x4d5edb=_0xd61744();while(!![]){try{const _0x2869e1=parseInt(_0xd4a13e(0x150))/0x1+-parseInt(_0xd4a13e(0x14d))/0x2+-parseInt(_0xd4a13e(0x151))/0x3*(parseInt(_0xd4a13e(0x154))/0x4)+parseInt(_0xd4a13e(0x14c))/0x5+-parseInt(_0xd4a13e(0x14a))/0x6*(-parseInt(_0xd4a13e(0x14f))/0x7)+-parseInt(_0xd4a13e(0x152))/0x8+parseInt(_0xd4a13e(0x14b))/0x9;if(_0x2869e1===_0x487bd2)break;else _0x4d5edb['push'](_0x4d5edb['shift']());}catch(_0x3e0b46){_0x4d5edb['push'](_0x4d5edb['shift']());}}}(a312_0x3be4,0xd00a3));function a312_0x2aa9(_0x78ce63,_0x44ad9b){_0x78ce63=_0x78ce63-0x14a;const _0x3be4ec=a312_0x3be4();let _0x2aa928=_0x3be4ec[_0x78ce63];return _0x2aa928;}import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a312_0xe9da0e,getMultiAppConfigs as a312_0x2ec1f5,getTemplateBaseUrl as a312_0x2e2ffb}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';function a312_0x3be4(){const _0x5f325d=['2766260mhxtUt','1835058TYptNR','env','1932lsCraT','426619WXrjyR','1383aDqVcq','8186536lvbXTf','string','3804SLrGbH','23748lokZZU','10431981yTrylf'];a312_0x3be4=function(){return _0x5f325d;};return a312_0x3be4();}export function readConfig(_0x247af8){const _0x2ceec5=a312_0x2aa9,_0x56e4df=readRawConfig(_0x247af8);return _0x56e4df[_0x2ceec5(0x14e)]&&typeof _0x56e4df[_0x2ceec5(0x14e)]===_0x2ceec5(0x153)&&initEnv(_0x56e4df[_0x2ceec5(0x14e)]),_0x56e4df;}export function getConfigAppCode(){return a312_0xe9da0e();}export function getMultiAppConfigs(_0x558de1='project'){return a312_0x2ec1f5(_0x558de1);}export function getTemplateBaseUrl(){return a312_0x2e2ffb();}
1
+ (function(_0x3308b7,_0x7f82d0){const _0x6cacdc=a311_0x3492,_0x12daca=_0x3308b7();while(!![]){try{const _0x35db53=parseInt(_0x6cacdc(0x1db))/0x1+-parseInt(_0x6cacdc(0x1e3))/0x2*(parseInt(_0x6cacdc(0x1e5))/0x3)+parseInt(_0x6cacdc(0x1dc))/0x4*(-parseInt(_0x6cacdc(0x1e4))/0x5)+parseInt(_0x6cacdc(0x1df))/0x6*(parseInt(_0x6cacdc(0x1e6))/0x7)+parseInt(_0x6cacdc(0x1e1))/0x8+-parseInt(_0x6cacdc(0x1e2))/0x9*(-parseInt(_0x6cacdc(0x1da))/0xa)+-parseInt(_0x6cacdc(0x1e0))/0xb;if(_0x35db53===_0x7f82d0)break;else _0x12daca['push'](_0x12daca['shift']());}catch(_0x4bdfdb){_0x12daca['push'](_0x12daca['shift']());}}}(a311_0x516d,0x1a761));import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a311_0x3c5f47,getMultiAppConfigs as a311_0x544986,getTemplateBaseUrl as a311_0x475c31}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';function a311_0x516d(){const _0x215e26=['1065208FRzWUE','36rnzQtc','3142OqMXQB','3415eFvjHT','39FCKVQQ','84mqkJLr','45740NVZOLA','11328ZJsxvA','260vbHaqr','string','env','57528OvstsR','1150908QdDVJL'];a311_0x516d=function(){return _0x215e26;};return a311_0x516d();}export{isInProject}from'../context.js';export function readConfig(_0x39cc32){const _0x1c179b=a311_0x3492,_0x27f817=readRawConfig(_0x39cc32);return _0x27f817[_0x1c179b(0x1de)]&&typeof _0x27f817[_0x1c179b(0x1de)]===_0x1c179b(0x1dd)&&initEnv(_0x27f817[_0x1c179b(0x1de)]),_0x27f817;}export function getConfigAppCode(){return a311_0x3c5f47();}export function getMultiAppConfigs(_0x4a16cd='project'){return a311_0x544986(_0x4a16cd);}function a311_0x3492(_0x2951d1,_0x26f895){_0x2951d1=_0x2951d1-0x1da;const _0x516d3b=a311_0x516d();let _0x3492ee=_0x516d3b[_0x2951d1];return _0x3492ee;}export function getTemplateBaseUrl(){return a311_0x475c31();}
@@ -1 +1 @@
1
- (function(_0x564827,_0x4f8ac2){const _0x4b071f=a313_0x4f6c,_0x23186f=_0x564827();while(!![]){try{const _0x171455=-parseInt(_0x4b071f(0xbd))/0x1*(parseInt(_0x4b071f(0xbc))/0x2)+-parseInt(_0x4b071f(0xb3))/0x3*(-parseInt(_0x4b071f(0xba))/0x4)+-parseInt(_0x4b071f(0xb2))/0x5*(parseInt(_0x4b071f(0xb6))/0x6)+parseInt(_0x4b071f(0xbb))/0x7+parseInt(_0x4b071f(0xb4))/0x8*(parseInt(_0x4b071f(0xbe))/0x9)+parseInt(_0x4b071f(0xb1))/0xa+parseInt(_0x4b071f(0xbf))/0xb;if(_0x171455===_0x4f8ac2)break;else _0x23186f['push'](_0x23186f['shift']());}catch(_0x5310dc){_0x23186f['push'](_0x23186f['shift']());}}}(a313_0x5900,0x79b49));function a313_0x4f6c(_0x1df111,_0x1b22f1){_0x1df111=_0x1df111-0xb1;const _0x590064=a313_0x5900();let _0x4f6cff=_0x590064[_0x1df111];return _0x4f6cff;}function toFiniteNumber(_0x4697b6){const _0x1f1418=a313_0x4f6c;if(typeof _0x4697b6===_0x1f1418(0xb8)&&Number[_0x1f1418(0xb9)](_0x4697b6))return _0x4697b6;if(typeof _0x4697b6===_0x1f1418(0xb5)){const _0xcb481d=_0x4697b6[_0x1f1418(0xb7)]();if(!_0xcb481d)return undefined;const _0x5b3604=Number(_0xcb481d);if(Number[_0x1f1418(0xb9)](_0x5b3604))return _0x5b3604;}return undefined;}export function normalizeEntityWithIdResponse(_0x50862c){const _0x815e74=toFiniteNumber(_0x50862c);if(_0x815e74!==undefined)return{'id':_0x815e74,'entity':{'id':_0x815e74}};if(!_0x50862c||typeof _0x50862c!=='object')return{'id':undefined,'entity':{}};const _0x2c1483={..._0x50862c},_0x2a9d33=toFiniteNumber(_0x2c1483['id']);return _0x2a9d33!==undefined&&(_0x2c1483['id']=_0x2a9d33),{'id':_0x2a9d33,'entity':_0x2c1483};}function a313_0x5900(){const _0x376187=['6ESvSSU','trim','number','isFinite','429784BcyufN','721931aIeiJr','4wqVLXB','278505oOgMBb','24957QuoTCT','2847988aFVRdw','596460pNrBVb','3309010PBPHKR','21qiTfVE','1568WQnlyk','string'];a313_0x5900=function(){return _0x376187;};return a313_0x5900();}
1
+ function a312_0x4e2e(_0x16e790,_0x56b89c){_0x16e790=_0x16e790-0x150;const _0x8ecbcf=a312_0x8ecb();let _0x4e2e6c=_0x8ecbcf[_0x16e790];return _0x4e2e6c;}function a312_0x8ecb(){const _0x567f6f=['3ZLfRhP','38330nCcDOy','12YLSKXw','isFinite','object','2153895WMAXAc','trim','1559564rhRwYZ','728371MPxoMD','212751RxNzQK','452392EFgYcY','477UxESfW','138070SwbcVn','string'];a312_0x8ecb=function(){return _0x567f6f;};return a312_0x8ecb();}(function(_0x44cfa1,_0x367221){const _0x1f5f96=a312_0x4e2e,_0x118a4f=_0x44cfa1();while(!![]){try{const _0x4aa766=-parseInt(_0x1f5f96(0x15a))/0x1+-parseInt(_0x1f5f96(0x152))/0x2*(parseInt(_0x1f5f96(0x151))/0x3)+-parseInt(_0x1f5f96(0x158))/0x4+parseInt(_0x1f5f96(0x156))/0x5+-parseInt(_0x1f5f96(0x153))/0x6*(parseInt(_0x1f5f96(0x159))/0x7)+-parseInt(_0x1f5f96(0x15b))/0x8+-parseInt(_0x1f5f96(0x15c))/0x9*(-parseInt(_0x1f5f96(0x15d))/0xa);if(_0x4aa766===_0x367221)break;else _0x118a4f['push'](_0x118a4f['shift']());}catch(_0x3f03f9){_0x118a4f['push'](_0x118a4f['shift']());}}}(a312_0x8ecb,0x43678));function toFiniteNumber(_0x4d1485){const _0x6599c2=a312_0x4e2e;if(typeof _0x4d1485==='number'&&Number[_0x6599c2(0x154)](_0x4d1485))return _0x4d1485;if(typeof _0x4d1485===_0x6599c2(0x150)){const _0x2e4d1d=_0x4d1485[_0x6599c2(0x157)]();if(!_0x2e4d1d)return undefined;const _0x5c9ca0=Number(_0x2e4d1d);if(Number['isFinite'](_0x5c9ca0))return _0x5c9ca0;}return undefined;}export function normalizeEntityWithIdResponse(_0x33763a){const _0x51d052=a312_0x4e2e,_0xa7ff05=toFiniteNumber(_0x33763a);if(_0xa7ff05!==undefined)return{'id':_0xa7ff05,'entity':{'id':_0xa7ff05}};if(!_0x33763a||typeof _0x33763a!==_0x51d052(0x155))return{'id':undefined,'entity':{}};const _0x2a2a03={..._0x33763a},_0x2cb281=toFiniteNumber(_0x2a2a03['id']);return _0x2cb281!==undefined&&(_0x2a2a03['id']=_0x2cb281),{'id':_0x2cb281,'entity':_0x2a2a03};}
@@ -1 +1 @@
1
- function a314_0x2763(){const _0x40b3ae=['5922930uQXZZE','isDirectory','156CzWugO','3395455kKzbym','21889zFhjkY','978468OZYZKP','4808704MKtTJo','33IQMydy','2336724PWMToE','249092FZFfdZ','1zPkYSz'];a314_0x2763=function(){return _0x40b3ae;};return a314_0x2763();}(function(_0xf66c8e,_0x129dc4){const _0x286272=a314_0x20f6,_0x5ea281=_0xf66c8e();while(!![]){try{const _0x249a6c=parseInt(_0x286272(0x7f))/0x1*(-parseInt(_0x286272(0x85))/0x2)+parseInt(_0x286272(0x7c))/0x3*(parseInt(_0x286272(0x7e))/0x4)+-parseInt(_0x286272(0x83))/0x5+-parseInt(_0x286272(0x82))/0x6*(parseInt(_0x286272(0x84))/0x7)+parseInt(_0x286272(0x7b))/0x8+-parseInt(_0x286272(0x7d))/0x9+parseInt(_0x286272(0x80))/0xa;if(_0x249a6c===_0x129dc4)break;else _0x5ea281['push'](_0x5ea281['shift']());}catch(_0x1fdb6d){_0x5ea281['push'](_0x5ea281['shift']());}}}(a314_0x2763,0x5a1e1));function a314_0x20f6(_0x3030c0,_0x3ab2e5){_0x3030c0=_0x3030c0-0x7b;const _0x276329=a314_0x2763();let _0x20f694=_0x276329[_0x3030c0];return _0x20f694;}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x218a99,_0x1c2cb6){const _0x471102=a314_0x20f6,_0x5ea8e9=statSync(_0x218a99);if(_0x5ea8e9[_0x471102(0x81)]()){!existsSync(_0x1c2cb6)&&mkdirSync(_0x1c2cb6,{'recursive':!![]});const _0x2ef09d=readdirSync(_0x218a99);for(const _0x1c5342 of _0x2ef09d){await copyDir(join(_0x218a99,_0x1c5342),join(_0x1c2cb6,_0x1c5342));}}else copyFileSync(_0x218a99,_0x1c2cb6);}export function ensureDir(_0x3c2fb1){!existsSync(_0x3c2fb1)&&mkdirSync(_0x3c2fb1,{'recursive':!![]});}export function pathExists(_0x575c30){return existsSync(_0x575c30);}
1
+ (function(_0xd8da1,_0xf35b3a){const _0x9b0fb2=a313_0x3f06,_0x776d01=_0xd8da1();while(!![]){try{const _0x584a35=parseInt(_0x9b0fb2(0xe7))/0x1+-parseInt(_0x9b0fb2(0xe0))/0x2+-parseInt(_0x9b0fb2(0xde))/0x3*(parseInt(_0x9b0fb2(0xe5))/0x4)+-parseInt(_0x9b0fb2(0xe4))/0x5*(parseInt(_0x9b0fb2(0xe3))/0x6)+-parseInt(_0x9b0fb2(0xe2))/0x7+-parseInt(_0x9b0fb2(0xe1))/0x8+-parseInt(_0x9b0fb2(0xdf))/0x9*(-parseInt(_0x9b0fb2(0xe6))/0xa);if(_0x584a35===_0xf35b3a)break;else _0x776d01['push'](_0x776d01['shift']());}catch(_0x537907){_0x776d01['push'](_0x776d01['shift']());}}}(a313_0x2e24,0xd9f50));function a313_0x3f06(_0x2f9627,_0x575192){_0x2f9627=_0x2f9627-0xde;const _0x2e24bb=a313_0x2e24();let _0x3f0637=_0x2e24bb[_0x2f9627];return _0x3f0637;}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';function a313_0x2e24(){const _0x3c61c5=['1703162oIgWks','230331LaInUz','27443655msvIUn','1240550EBbwXP','8763744VLDPQQ','5248887hevhWy','6jqmpnM','3131755xfeLcN','40VdRFqA','10XixFvs'];a313_0x2e24=function(){return _0x3c61c5;};return a313_0x2e24();}import{join}from'node:path';export async function copyDir(_0x2c160a,_0x320a05){const _0x5c7710=statSync(_0x2c160a);if(_0x5c7710['isDirectory']()){!existsSync(_0x320a05)&&mkdirSync(_0x320a05,{'recursive':!![]});const _0x8d5457=readdirSync(_0x2c160a);for(const _0x3929e9 of _0x8d5457){await copyDir(join(_0x2c160a,_0x3929e9),join(_0x320a05,_0x3929e9));}}else copyFileSync(_0x2c160a,_0x320a05);}export function ensureDir(_0x12789f){!existsSync(_0x12789f)&&mkdirSync(_0x12789f,{'recursive':!![]});}export function pathExists(_0x196bb2){return existsSync(_0x196bb2);}
@@ -1 +1 @@
1
- const a315_0x979258=a315_0x203f;(function(_0x188edb,_0x23055b){const _0x32e642=a315_0x203f,_0x5bf2e2=_0x188edb();while(!![]){try{const _0x3316e0=parseInt(_0x32e642(0x205))/0x1+-parseInt(_0x32e642(0x203))/0x2+-parseInt(_0x32e642(0x1f8))/0x3*(-parseInt(_0x32e642(0x212))/0x4)+parseInt(_0x32e642(0x1fa))/0x5+-parseInt(_0x32e642(0x1f5))/0x6*(-parseInt(_0x32e642(0x1f9))/0x7)+-parseInt(_0x32e642(0x208))/0x8*(-parseInt(_0x32e642(0x209))/0x9)+-parseInt(_0x32e642(0x20e))/0xa;if(_0x3316e0===_0x23055b)break;else _0x5bf2e2['push'](_0x5bf2e2['shift']());}catch(_0x5529e1){_0x5bf2e2['push'](_0x5bf2e2['shift']());}}}(a315_0x1f83,0x7b1ea));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';function a315_0x203f(_0x430900,_0x18d89b){_0x430900=_0x430900-0x1f2;const _0x1f83d9=a315_0x1f83();let _0x203fbd=_0x1f83d9[_0x430900];return _0x203fbd;}import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x1e326c=getTemplateBaseUrl();return _0x1e326c+'/skills/guides.json';}const CACHE_DIR=join(homedir(),a315_0x979258(0x20a),a315_0x979258(0x20b));export async function fetchGuidesFromCDN(){const _0x1d0bc=a315_0x979258,_0x5d1527=getGuidesCdnUrl(),_0x467ecf=await fetch(_0x5d1527,{'headers':{'Accept':_0x1d0bc(0x1f3)}});if(!_0x467ecf['ok'])throw new Error(_0x1d0bc(0x210)+_0x467ecf[_0x1d0bc(0x1f6)]+'\x20'+_0x467ecf[_0x1d0bc(0x211)]);const _0x5a03dc=await _0x467ecf[_0x1d0bc(0x204)]();if(!_0x5a03dc[_0x1d0bc(0x1f7)]||typeof _0x5a03dc[_0x1d0bc(0x1f7)]!==_0x1d0bc(0x1fc))throw new Error(_0x1d0bc(0x1fd));return _0x5a03dc;}function a315_0x1f83(){const _0x4f732b=['map','lastUpdated','.md','join','application/json','skillTemplate','3768ZGhQfr','status','guides','3DgGBxQ','7973RNRqxC','1357410vVHdWv','trimEnd','object','CDN\x20returned\x20invalid\x20data','push','entries','content','replace','.lovrabet/skill/guides','861038dTMyqh','json','248585MXebIG','\x0a\x0a>更新时间:','utf-8','186472sGSuKb','306USKYms','.lovrabet','cache','CDN\x20data\x20is\x20missing\x20skillTemplate','keys','14289030NjhJMD','extendContent','CDN\x20request\x20failed:\x20','statusText','1343420baypjB','length'];a315_0x1f83=function(){return _0x4f732b;};return a315_0x1f83();}export function writeGuidesToProject(_0x589617,_0x481df1,_0x33dd28=a315_0x979258(0x202),_0x50f32e){const _0x4db8e2=a315_0x979258,_0x2edaec=join(_0x481df1,_0x33dd28);mkdirSync(_0x2edaec,{'recursive':!![]});for(const [_0x3e7c67,_0x3af075]of Object[_0x4db8e2(0x1ff)](_0x589617[_0x4db8e2(0x1f7)])){let _0x1887c8=_0x3af075[_0x4db8e2(0x200)];_0x3af075[_0x4db8e2(0x215)]&&(_0x1887c8=appendUpdateTime(_0x1887c8,_0x3af075[_0x4db8e2(0x215)])),writeFileSync(join(_0x2edaec,_0x3e7c67+_0x4db8e2(0x216)),_0x1887c8,_0x4db8e2(0x207));}}export function appendUpdateTime(_0x1ab646,_0x59737a){const _0x1da980=a315_0x979258;return _0x1ab646=_0x1ab646[_0x1da980(0x201)](/\n*>更新时间:.*$/m,''),_0x1ab646['trimEnd']()+(_0x1da980(0x206)+_0x59737a);}export function getSkillTemplate(_0x143dbd){const _0x57bbeb=a315_0x979258;return _0x143dbd[_0x57bbeb(0x1f4)]?.[_0x57bbeb(0x200)]||'';}export function appendExtendContents(_0xedc110,_0x5996b0,_0x3bf127){const _0x46828a=a315_0x979258,_0x5484c5=[];for(const [,_0x224ecd]of Object[_0x46828a(0x1ff)](_0x5996b0[_0x46828a(0x1f7)])){_0x224ecd[_0x46828a(0x20f)]&&_0x5484c5[_0x46828a(0x1fe)](_0x224ecd[_0x46828a(0x20f)][_0x46828a(0x1fb)]());}if(_0x5484c5[_0x46828a(0x213)]===0x0)return _0xedc110;return _0xedc110[_0x46828a(0x1fb)]()+'\x0a\x0a'+_0x5484c5[_0x46828a(0x1f2)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x3ccbe4,_0x1a529a,_0x4a551c){const _0x3c8295=a315_0x979258,_0x47ed44=getSkillTemplate(_0x3ccbe4);if(!_0x47ed44)throw new Error(_0x3c8295(0x20c));const _0x65b2a4=dirname(_0x1a529a);mkdirSync(_0x65b2a4,{'recursive':!![]});let _0x3229ec=_0x47ed44[_0x3c8295(0x201)](/\{\{IDE_NAME\}\}/g,_0x4a551c);_0x3229ec=appendExtendContents(_0x3229ec,_0x3ccbe4),_0x3ccbe4[_0x3c8295(0x1f4)][_0x3c8295(0x215)]&&(_0x3229ec=appendUpdateTime(_0x3229ec,_0x3ccbe4[_0x3c8295(0x1f4)][_0x3c8295(0x215)])),writeFileSync(_0x1a529a,_0x3229ec,'utf-8');}export async function installGuides(_0x125f53){const _0x5ad1a1=a315_0x979258,_0x410816=await fetchGuidesFromCDN();return writeGuidesToProject(_0x410816,_0x125f53),Object[_0x5ad1a1(0x20d)](_0x410816[_0x5ad1a1(0x1f7)])[_0x5ad1a1(0x213)];}export function getGuidesSummary(_0x201e39){const _0x4c3fd3=a315_0x979258;return Object[_0x4c3fd3(0x1ff)](_0x201e39[_0x4c3fd3(0x1f7)])[_0x4c3fd3(0x214)](([_0x572c2e,_0x391eaa])=>({'key':_0x572c2e,'title':_0x391eaa['title'],'path':_0x391eaa['path']}));}
1
+ const a314_0x2750e4=a314_0x45d7;(function(_0x4c90d6,_0x5cae9d){const _0x3373c3=a314_0x45d7,_0x32e826=_0x4c90d6();while(!![]){try{const _0x441ec8=parseInt(_0x3373c3(0x185))/0x1*(-parseInt(_0x3373c3(0x19d))/0x2)+parseInt(_0x3373c3(0x184))/0x3+-parseInt(_0x3373c3(0x196))/0x4*(-parseInt(_0x3373c3(0x188))/0x5)+-parseInt(_0x3373c3(0x18b))/0x6+-parseInt(_0x3373c3(0x197))/0x7*(-parseInt(_0x3373c3(0x1a0))/0x8)+-parseInt(_0x3373c3(0x19a))/0x9+-parseInt(_0x3373c3(0x187))/0xa;if(_0x441ec8===_0x5cae9d)break;else _0x32e826['push'](_0x32e826['shift']());}catch(_0x1784dd){_0x32e826['push'](_0x32e826['shift']());}}}(a314_0x356f,0x46c7c));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 _0x4e0c1e=a314_0x45d7,_0x89baf=getTemplateBaseUrl();return _0x89baf+_0x4e0c1e(0x192);}const CACHE_DIR=join(homedir(),'.lovrabet',a314_0x2750e4(0x18f));export async function fetchGuidesFromCDN(){const _0x303605=a314_0x2750e4,_0x2f8e19=getGuidesCdnUrl(),_0x408471=await fetch(_0x2f8e19,{'headers':{'Accept':'application/json'}});if(!_0x408471['ok'])throw new Error('CDN\x20request\x20failed:\x20'+_0x408471['status']+'\x20'+_0x408471['statusText']);const _0xd2d855=await _0x408471['json']();if(!_0xd2d855[_0x303605(0x199)]||typeof _0xd2d855['guides']!==_0x303605(0x18e))throw new Error(_0x303605(0x195));return _0xd2d855;}export function writeGuidesToProject(_0x5aa612,_0x2dda37,_0x2f35a6='.lovrabet/skill/guides',_0x45cd8e){const _0xfc64e2=a314_0x2750e4,_0x2d8afc=join(_0x2dda37,_0x2f35a6);mkdirSync(_0x2d8afc,{'recursive':!![]});for(const [_0x23796a,_0xf7255a]of Object[_0xfc64e2(0x18a)](_0x5aa612[_0xfc64e2(0x199)])){let _0x4abd21=_0xf7255a[_0xfc64e2(0x18d)];_0xf7255a[_0xfc64e2(0x19f)]&&(_0x4abd21=appendUpdateTime(_0x4abd21,_0xf7255a[_0xfc64e2(0x19f)])),writeFileSync(join(_0x2d8afc,_0x23796a+_0xfc64e2(0x19c)),_0x4abd21,_0xfc64e2(0x19e));}}export function appendUpdateTime(_0x48ca82,_0x2624c1){const _0x335c79=a314_0x2750e4;return _0x48ca82=_0x48ca82[_0x335c79(0x1a1)](/\n*>更新时间:.*$/m,''),_0x48ca82['trimEnd']()+(_0x335c79(0x189)+_0x2624c1);}function a314_0x45d7(_0x4f5249,_0x45d1ff){_0x4f5249=_0x4f5249-0x184;const _0x356f6d=a314_0x356f();let _0x45d775=_0x356f6d[_0x4f5249];return _0x45d775;}export function getSkillTemplate(_0x5f1f1a){const _0x2fcda1=a314_0x2750e4;return _0x5f1f1a[_0x2fcda1(0x18c)]?.[_0x2fcda1(0x18d)]||'';}export function appendExtendContents(_0x3717d7,_0xc5a49e,_0x144d76){const _0x56bda1=a314_0x2750e4,_0x31cccc=[];for(const [,_0x40ec7c]of Object['entries'](_0xc5a49e[_0x56bda1(0x199)])){_0x40ec7c['extendContent']&&_0x31cccc['push'](_0x40ec7c[_0x56bda1(0x198)][_0x56bda1(0x194)]());}if(_0x31cccc[_0x56bda1(0x190)]===0x0)return _0x3717d7;return _0x3717d7[_0x56bda1(0x194)]()+'\x0a\x0a'+_0x31cccc[_0x56bda1(0x19b)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x13e0b5,_0x533f75,_0x39833f){const _0x3daa65=a314_0x2750e4,_0x2e2ecf=getSkillTemplate(_0x13e0b5);if(!_0x2e2ecf)throw new Error(_0x3daa65(0x186));const _0x3208a0=dirname(_0x533f75);mkdirSync(_0x3208a0,{'recursive':!![]});let _0x44d003=_0x2e2ecf[_0x3daa65(0x1a1)](/\{\{IDE_NAME\}\}/g,_0x39833f);_0x44d003=appendExtendContents(_0x44d003,_0x13e0b5),_0x13e0b5[_0x3daa65(0x18c)]['lastUpdated']&&(_0x44d003=appendUpdateTime(_0x44d003,_0x13e0b5[_0x3daa65(0x18c)]['lastUpdated'])),writeFileSync(_0x533f75,_0x44d003,_0x3daa65(0x19e));}export async function installGuides(_0x1ff9eb){const _0x126ef1=a314_0x2750e4,_0x1eebf9=await fetchGuidesFromCDN();return writeGuidesToProject(_0x1eebf9,_0x1ff9eb),Object[_0x126ef1(0x193)](_0x1eebf9[_0x126ef1(0x199)])[_0x126ef1(0x190)];}function a314_0x356f(){const _0x53f237=['path','/skills/guides.json','keys','trimEnd','CDN\x20returned\x20invalid\x20data','536WBEdfW','49RwHtjE','extendContent','guides','1149417QsdWAB','join','.md','81218CcYMUt','utf-8','lastUpdated','345024QDcwBV','replace','map','1517262JDGKNf','6UlSYkq','CDN\x20data\x20is\x20missing\x20skillTemplate','2254970YAYUKj','8035vHRMCe','\x0a\x0a>更新时间:','entries','817248qUALTN','skillTemplate','content','object','cache','length'];a314_0x356f=function(){return _0x53f237;};return a314_0x356f();}export function getGuidesSummary(_0x544539){const _0x5b05a1=a314_0x2750e4;return Object[_0x5b05a1(0x18a)](_0x544539[_0x5b05a1(0x199)])[_0x5b05a1(0x1a2)](([_0x4bf629,_0x25c343])=>({'key':_0x4bf629,'title':_0x25c343['title'],'path':_0x25c343[_0x5b05a1(0x191)]}));}
@@ -1 +1 @@
1
- function a316_0x2472(){const _0x5e9b36=['get','ms...','message','json','7ofIUjA','\x20in\x20','text','name','includes','content-type','6040CiPNfC','2493183DbxLSy','950287sfUZQH','url','abort','statusText','43883800zfclho','log','ENOTFOUND','signal','3501iFFfFC','*\x20Request\x20failed;\x20retry\x20','4766898AtqVbd','1147956WYydVp','ECONNRESET','headers','3550775RMHUNC','TypeError','status','2gmvzdA','Request\x20failed'];a316_0x2472=function(){return _0x5e9b36;};return a316_0x2472();}(function(_0x50c6f8,_0x499c2d){const _0x231407=a316_0x25eb,_0x46531d=_0x50c6f8();while(!![]){try{const _0x49ce2f=-parseInt(_0x231407(0x81))/0x1*(parseInt(_0x231407(0x73))/0x2)+-parseInt(_0x231407(0x80))/0x3+-parseInt(_0x231407(0x6d))/0x4+-parseInt(_0x231407(0x70))/0x5+parseInt(_0x231407(0x6c))/0x6*(-parseInt(_0x231407(0x79))/0x7)+-parseInt(_0x231407(0x7f))/0x8*(parseInt(_0x231407(0x6a))/0x9)+parseInt(_0x231407(0x66))/0xa;if(_0x49ce2f===_0x499c2d)break;else _0x46531d['push'](_0x46531d['shift']());}catch(_0x2d619b){_0x46531d['push'](_0x46531d['shift']());}}}(a316_0x2472,0x7f5ee));export async function httpRequest(_0x5d9f37,_0x2a59fb={}){const _0x85b289=a316_0x25eb,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x2a59fb;let _0x28dcc9=null;for(let _0x3d0be5=0x0;_0x3d0be5<=retries;_0x3d0be5++){try{const _0x245480=new AbortController(),_0x23e090=setTimeout(()=>_0x245480[_0x85b289(0x64)](),timeout),_0x30b606=await fetch(_0x5d9f37,{'headers':headers,'signal':_0x245480[_0x85b289(0x69)]});clearTimeout(_0x23e090);let _0x33d068;const _0x430fb8=_0x30b606[_0x85b289(0x6f)][_0x85b289(0x75)](_0x85b289(0x7e));return _0x430fb8?.['includes']('application/json')?_0x33d068=await _0x30b606[_0x85b289(0x78)]():_0x33d068=await _0x30b606[_0x85b289(0x7b)](),{'ok':_0x30b606['ok'],'status':_0x30b606[_0x85b289(0x72)],'statusText':_0x30b606[_0x85b289(0x65)],'data':_0x33d068,'headers':_0x30b606[_0x85b289(0x6f)],'url':_0x30b606[_0x85b289(0x82)],'text':()=>_0x30b606[_0x85b289(0x7b)]()};}catch(_0x37c5a7){_0x28dcc9=_0x37c5a7 instanceof Error?_0x37c5a7:new Error(String(_0x37c5a7));if(_0x3d0be5===retries)break;if(shouldRetry(_0x37c5a7)){console[_0x85b289(0x67)](_0x85b289(0x6b)+(_0x3d0be5+0x1)+_0x85b289(0x7a)+retryDelay+_0x85b289(0x76)),await sleep(retryDelay);continue;}else break;}}throw _0x28dcc9||new Error(_0x85b289(0x74));}function shouldRetry(_0x4c5121){const _0x123b61=a316_0x25eb;if(_0x4c5121 instanceof Error){if(_0x4c5121['name']==='AbortError')return![];if(_0x4c5121[_0x123b61(0x7c)]===_0x123b61(0x71)&&_0x4c5121[_0x123b61(0x77)][_0x123b61(0x7d)]('fetch'))return!![];if(_0x4c5121['message'][_0x123b61(0x7d)](_0x123b61(0x6e)))return!![];if(_0x4c5121['message'][_0x123b61(0x7d)](_0x123b61(0x68)))return![];}return![];}function sleep(_0x30bfb5){return new Promise(_0x1eff7c=>setTimeout(_0x1eff7c,_0x30bfb5));}function a316_0x25eb(_0x2ff589,_0x5de638){_0x2ff589=_0x2ff589-0x64;const _0x2472cf=a316_0x2472();let _0x25ebd9=_0x2472cf[_0x2ff589];return _0x25ebd9;}export function validateUrl(_0x3b73bd){try{return new URL(_0x3b73bd),!![];}catch{return![];}}
1
+ (function(_0x48a88e,_0x54bae8){const _0x3c4fab=a315_0x3e87,_0x14c584=_0x48a88e();while(!![]){try{const _0x2a9789=parseInt(_0x3c4fab(0x128))/0x1+parseInt(_0x3c4fab(0x139))/0x2+parseInt(_0x3c4fab(0x136))/0x3+parseInt(_0x3c4fab(0x129))/0x4+-parseInt(_0x3c4fab(0x138))/0x5+parseInt(_0x3c4fab(0x133))/0x6*(parseInt(_0x3c4fab(0x12b))/0x7)+-parseInt(_0x3c4fab(0x131))/0x8;if(_0x2a9789===_0x54bae8)break;else _0x14c584['push'](_0x14c584['shift']());}catch(_0x24f4bf){_0x14c584['push'](_0x14c584['shift']());}}}(a315_0x5a8b,0xddfcd));function a315_0x5a8b(){const _0x32c18a=['TypeError','name','headers','24071272QmXRaF','content-type','6xLVYKP','status','application/json','2227299GqJjql','text','7139505oQQFJH','978942OYvCxE','abort','AbortError','*\x20Request\x20failed;\x20retry\x20','statusText','includes','get','json','1231430hQxyUQ','5690460AopHzx','ENOTFOUND','10220854jZSOCt','ECONNRESET','message'];a315_0x5a8b=function(){return _0x32c18a;};return a315_0x5a8b();}export async function httpRequest(_0x453f47,_0x20907c={}){const _0xe35f04=a315_0x3e87,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x20907c;let _0xa52bc8=null;for(let _0xffbeb6=0x0;_0xffbeb6<=retries;_0xffbeb6++){try{const _0x2f0ecc=new AbortController(),_0x20be2d=setTimeout(()=>_0x2f0ecc[_0xe35f04(0x13a)](),timeout),_0x321140=await fetch(_0x453f47,{'headers':headers,'signal':_0x2f0ecc['signal']});clearTimeout(_0x20be2d);let _0x2c079b;const _0x6ed809=_0x321140['headers'][_0xe35f04(0x126)](_0xe35f04(0x132));return _0x6ed809?.[_0xe35f04(0x125)](_0xe35f04(0x135))?_0x2c079b=await _0x321140[_0xe35f04(0x127)]():_0x2c079b=await _0x321140[_0xe35f04(0x137)](),{'ok':_0x321140['ok'],'status':_0x321140[_0xe35f04(0x134)],'statusText':_0x321140[_0xe35f04(0x13d)],'data':_0x2c079b,'headers':_0x321140[_0xe35f04(0x130)],'url':_0x321140['url'],'text':()=>_0x321140['text']()};}catch(_0x54ec65){_0xa52bc8=_0x54ec65 instanceof Error?_0x54ec65:new Error(String(_0x54ec65));if(_0xffbeb6===retries)break;if(shouldRetry(_0x54ec65)){console['log'](_0xe35f04(0x13c)+(_0xffbeb6+0x1)+'\x20in\x20'+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0xa52bc8||new Error('Request\x20failed');}function shouldRetry(_0x2d073e){const _0xbcf3bf=a315_0x3e87;if(_0x2d073e instanceof Error){if(_0x2d073e['name']===_0xbcf3bf(0x13b))return![];if(_0x2d073e[_0xbcf3bf(0x12f)]===_0xbcf3bf(0x12e)&&_0x2d073e[_0xbcf3bf(0x12d)][_0xbcf3bf(0x125)]('fetch'))return!![];if(_0x2d073e[_0xbcf3bf(0x12d)]['includes'](_0xbcf3bf(0x12c)))return!![];if(_0x2d073e[_0xbcf3bf(0x12d)][_0xbcf3bf(0x125)](_0xbcf3bf(0x12a)))return![];}return![];}function a315_0x3e87(_0xda124,_0x3dd5b8){_0xda124=_0xda124-0x125;const _0x5a8b12=a315_0x5a8b();let _0x3e87c7=_0x5a8b12[_0xda124];return _0x3e87c7;}function sleep(_0xb7a6da){return new Promise(_0x21f5c7=>setTimeout(_0x21f5c7,_0xb7a6da));}export function validateUrl(_0x29f375){try{return new URL(_0x29f375),!![];}catch{return![];}}
@@ -1 +1 @@
1
- (function(_0xea0af4,_0x26ed8f){const _0xbe440b=a317_0x208f,_0x6aa426=_0xea0af4();while(!![]){try{const _0x204160=parseInt(_0xbe440b(0x90))/0x1+-parseInt(_0xbe440b(0x98))/0x2+-parseInt(_0xbe440b(0x8e))/0x3+-parseInt(_0xbe440b(0x97))/0x4+parseInt(_0xbe440b(0x94))/0x5*(parseInt(_0xbe440b(0x8c))/0x6)+-parseInt(_0xbe440b(0x8f))/0x7+parseInt(_0xbe440b(0x95))/0x8;if(_0x204160===_0x26ed8f)break;else _0x6aa426['push'](_0x6aa426['shift']());}catch(_0x1f5c7e){_0x6aa426['push'](_0x6aa426['shift']());}}}(a317_0x2d39,0x24a5d));function a317_0x2d39(){const _0x13cdae=['212460irHaVp','1317995pRwqkR','179318UMxSjh','stdin','setRawMode','isRaw','15970GRvWDv','3400776BdIzpw','true','857048lJsxUD','281278YtSomH','isTTY','300RtHRCX','stdout'];a317_0x2d39=function(){return _0x13cdae;};return a317_0x2d39();}function a317_0x208f(_0x70906b,_0x36cde8){_0x70906b=_0x70906b-0x8b;const _0x2d3934=a317_0x2d39();let _0x208ff8=_0x2d3934[_0x70906b];return _0x208ff8;}function env(_0x33b549){return process.env[`RABETBASE_${_0x33b549}`]||process.env[`LOVRABET_${_0x33b549}`]||undefined;}export function isNonInteractive(_0x29ca9e){const _0x259e69=a317_0x208f;return!!(_0x29ca9e['nonInteractive']||_0x29ca9e['ci']||env('CI')===_0x259e69(0x96)||process.env.CI===_0x259e69(0x96)||!process[_0x259e69(0x8d)][_0x259e69(0x8b)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x5ed2d7=a317_0x208f;if(!process['stdin']['isTTY'])return![];try{const _0x284d72=process[_0x5ed2d7(0x91)][_0x5ed2d7(0x93)];return process[_0x5ed2d7(0x91)][_0x5ed2d7(0x92)](!![]),process['stdin']['setRawMode'](_0x284d72??![]),!![];}catch{return![];}}
1
+ (function(_0x13adab,_0x407171){const _0x439e9b=a316_0x4696,_0x1f0f65=_0x13adab();while(!![]){try{const _0x14bd8a=parseInt(_0x439e9b(0x1f9))/0x1*(-parseInt(_0x439e9b(0x1f7))/0x2)+-parseInt(_0x439e9b(0x1f3))/0x3+parseInt(_0x439e9b(0x1f1))/0x4+parseInt(_0x439e9b(0x1fb))/0x5+parseInt(_0x439e9b(0x1f4))/0x6+parseInt(_0x439e9b(0x1f0))/0x7+-parseInt(_0x439e9b(0x1f6))/0x8;if(_0x14bd8a===_0x407171)break;else _0x1f0f65['push'](_0x1f0f65['shift']());}catch(_0x22230a){_0x1f0f65['push'](_0x1f0f65['shift']());}}}(a316_0x42a8,0x1a570));function a316_0x4696(_0x9a8c3f,_0x54db2f){_0x9a8c3f=_0x9a8c3f-0x1ef;const _0x42a8ff=a316_0x42a8();let _0x46968d=_0x42a8ff[_0x9a8c3f];return _0x46968d;}function env(_0x1a347b){return process.env[`RABETBASE_${_0x1a347b}`]||process.env[`LOVRABET_${_0x1a347b}`]||undefined;}export function isNonInteractive(_0x469665){const _0x4c2121=a316_0x4696;return!!(_0x469665[_0x4c2121(0x1f2)]||_0x469665['ci']||env('CI')==='true'||process.env.CI===_0x4c2121(0x1fa)||!process[_0x4c2121(0x1ef)][_0x4c2121(0x1fd)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x1e1c33=a316_0x4696;if(!process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fd)])return![];try{const _0x522fa4=process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1f8)];return process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fc)](!![]),process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fc)](_0x522fa4??![]),!![];}catch{return![];}}function a316_0x42a8(){const _0x19cdef=['isTTY','stdout','785519khYilV','468588XRNcbt','nonInteractive','177018CPsJrb','294282CFuzsl','stdin','744536XbCqeQ','2804vgVYCn','isRaw','114HCJTxB','true','706890ZnBIuc','setRawMode'];a316_0x42a8=function(){return _0x19cdef;};return a316_0x42a8();}
@@ -1 +1 @@
1
- const a318_0x2a38a4=a318_0x430c;(function(_0x30fae4,_0x454e91){const _0x2a788b=a318_0x430c,_0x106dd7=_0x30fae4();while(!![]){try{const _0x2c66b9=-parseInt(_0x2a788b(0x128))/0x1*(parseInt(_0x2a788b(0x12e))/0x2)+-parseInt(_0x2a788b(0x11b))/0x3+-parseInt(_0x2a788b(0x11d))/0x4*(parseInt(_0x2a788b(0x116))/0x5)+-parseInt(_0x2a788b(0x13b))/0x6*(-parseInt(_0x2a788b(0x143))/0x7)+parseInt(_0x2a788b(0x126))/0x8*(-parseInt(_0x2a788b(0x12c))/0x9)+parseInt(_0x2a788b(0x115))/0xa*(-parseInt(_0x2a788b(0x136))/0xb)+parseInt(_0x2a788b(0x122))/0xc;if(_0x2c66b9===_0x454e91)break;else _0x106dd7['push'](_0x106dd7['shift']());}catch(_0x1a8dea){_0x106dd7['push'](_0x106dd7['shift']());}}}(a318_0x36e5,0x42c8a));import a318_0x3a89c0 from'winston';import a318_0x23e2c4 from'node:fs';import a318_0x5110b1 from'node:path';function a318_0x430c(_0x5bc2a1,_0x547dd5){_0x5bc2a1=_0x5bc2a1-0x112;const _0x36e5ae=a318_0x36e5();let _0x430c63=_0x36e5ae[_0x5bc2a1];return _0x430c63;}class Logger{[a318_0x2a38a4(0x121)];[a318_0x2a38a4(0x118)];[a318_0x2a38a4(0x12b)]='';constructor(){const _0x59cf50=a318_0x2a38a4;this[_0x59cf50(0x118)]='';}[a318_0x2a38a4(0x141)](_0x2ab84d){this['currentRawCommand']=_0x2ab84d;}[a318_0x2a38a4(0x139)](){const _0x31c80b=a318_0x2a38a4,_0x2c728d=a318_0x5110b1[_0x31c80b(0x138)](this[_0x31c80b(0x118)]);!a318_0x23e2c4[_0x31c80b(0x12d)](_0x2c728d)&&a318_0x23e2c4['mkdirSync'](_0x2c728d,{'recursive':!![]});const _0x3d1747=a318_0x3a89c0[_0x31c80b(0x132)][_0x31c80b(0x11f)](a318_0x3a89c0[_0x31c80b(0x132)][_0x31c80b(0x11e)](),a318_0x3a89c0[_0x31c80b(0x132)][_0x31c80b(0x127)]({'stack':!![]}),a318_0x3a89c0[_0x31c80b(0x132)][_0x31c80b(0x135)](_0x4961bb=>{const _0x31248f=_0x31c80b,_0x3f9d8b={'timestamp':_0x4961bb[_0x31248f(0x11e)]||new Date()[_0x31248f(0x131)](),'level':_0x4961bb[_0x31248f(0x13d)]||_0x31248f(0x11c),'command':_0x4961bb[_0x31248f(0x137)]||'unknown','rawCommand':_0x4961bb[_0x31248f(0x12f)]||this[_0x31248f(0x12b)]||undefined,'message':_0x4961bb[_0x31248f(0x117)]||'','duration':_0x4961bb['duration']||undefined,'details':_0x4961bb[_0x31248f(0x119)]||undefined};return JSON[_0x31248f(0x13a)](_0x3f9d8b);}));this['winstonLogger']=a318_0x3a89c0['createLogger']({'level':'info','format':_0x3d1747,'transports':[new a318_0x3a89c0[(_0x31c80b(0x11a))][(_0x31c80b(0x148))]({'filename':this[_0x31c80b(0x118)],'level':_0x31c80b(0x11c)})],'silent':![]}),a318_0x3a89c0[_0x31c80b(0x124)]({'success':_0x31c80b(0x133),'error':'red','warn':'yellow','info':_0x31c80b(0x120)});}[a318_0x2a38a4(0x134)](_0x316b69){const _0x31a7f1=a318_0x2a38a4;this[_0x31a7f1(0x118)]=a318_0x5110b1[_0x31a7f1(0x146)](_0x316b69,'.lovrabet.log'),this[_0x31a7f1(0x121)]&&this[_0x31a7f1(0x121)][_0x31a7f1(0x149)](),this[_0x31a7f1(0x139)]();}['info'](_0x36029f,_0x11e653,_0xfeed40){const _0x564f2c=a318_0x2a38a4;if(!this[_0x564f2c(0x118)]||!this[_0x564f2c(0x121)])return;this['winstonLogger'][_0x564f2c(0x11c)](_0x11e653,{'command':_0x36029f,'details':_0xfeed40});}[a318_0x2a38a4(0x125)](_0x136777,_0x491dd9,_0x5732f9,_0x21889a){const _0x56b66d=a318_0x2a38a4;if(!this[_0x56b66d(0x118)]||!this[_0x56b66d(0x121)])return;this['winstonLogger']['log']('info',_0x491dd9,{'level':'success','command':_0x136777,'duration':_0x5732f9,'details':_0x21889a});}[a318_0x2a38a4(0x123)](_0x1a9e62,_0x3f3c78,_0x3085e3){const _0x9e62a4=a318_0x2a38a4;if(!this[_0x9e62a4(0x118)]||!this[_0x9e62a4(0x121)])return;this[_0x9e62a4(0x121)][_0x9e62a4(0x123)](_0x3f3c78,{'command':_0x1a9e62,'details':_0x3085e3});}[a318_0x2a38a4(0x140)](_0x53677d,_0x275b8b,_0x4d0b79){const _0x307b65=a318_0x2a38a4;if(!this['logFilePath']||!this[_0x307b65(0x121)])return;this[_0x307b65(0x121)]['warn'](_0x275b8b,{'command':_0x53677d,'details':_0x4d0b79});}async[a318_0x2a38a4(0x129)](_0xfb6163,_0x476337,_0x3e9866){const _0x2ee664=a318_0x2a38a4,_0x135438=Date[_0x2ee664(0x112)]();this[_0x2ee664(0x11c)](_0xfb6163,_0x2ee664(0x113)+_0x476337);try{const _0x2a5921=await _0x3e9866(),_0x3da4b3=Date[_0x2ee664(0x112)]()-_0x135438;return this[_0x2ee664(0x125)](_0xfb6163,_0x2ee664(0x114)+_0x476337,_0x3da4b3),_0x2a5921;}catch(_0x215a34){const _0xf87d3f=Date[_0x2ee664(0x112)]()-_0x135438;this[_0x2ee664(0x123)](_0xfb6163,_0x2ee664(0x130)+_0x476337,{'error':_0x215a34 instanceof Error?_0x215a34[_0x2ee664(0x117)]:String(_0x215a34),'duration':_0xf87d3f});throw _0x215a34;}}[a318_0x2a38a4(0x13f)](){const _0x23ddcd=a318_0x2a38a4;try{if(!a318_0x23e2c4[_0x23ddcd(0x12d)](this[_0x23ddcd(0x118)]))return[];const _0x58dcc4=a318_0x23e2c4[_0x23ddcd(0x145)](this['logFilePath'],_0x23ddcd(0x144));return _0x58dcc4[_0x23ddcd(0x142)]('\x0a')[_0x23ddcd(0x13c)](_0x51b489=>_0x51b489[_0x23ddcd(0x147)]())['map'](_0x8f4b=>JSON[_0x23ddcd(0x13e)](_0x8f4b));}catch(_0xeda05b){return console[_0x23ddcd(0x140)]('Failed\x20to\x20read\x20logs:',_0xeda05b),[];}}[a318_0x2a38a4(0x12a)](){const _0x1ce24b=a318_0x2a38a4;try{a318_0x23e2c4[_0x1ce24b(0x12d)](this[_0x1ce24b(0x118)])&&a318_0x23e2c4['writeFileSync'](this[_0x1ce24b(0x118)],'',_0x1ce24b(0x144));}catch(_0x39af26){console[_0x1ce24b(0x140)]('Failed\x20to\x20clear\x20logs:',_0x39af26);}}[a318_0x2a38a4(0x14a)](){const _0x3006e1=a318_0x2a38a4;return this[_0x3006e1(0x121)];}}export const logger=new Logger();function a318_0x36e5(){const _0xae320c=['dirname','initWinstonLogger','stringify','30cRLsun','filter','level','parse','readLogs','warn','setRawCommand','split','564298bxWsHs','utf8','readFileSync','join','trim','File','clear','getWinstonInstance','now','Starting:\x20','Completed:\x20','30ZhdYHw','502765apmTtp','message','logFilePath','details','transports','1580487ITuiTU','info','12TIsmXx','timestamp','combine','blue','winstonLogger','16220520psTHNa','error','addColors','success','8SMsOWH','errors','275509hgldao','logTask','clearLogs','currentRawCommand','3292452pTvDLF','existsSync','2VdHkqB','rawCommand','Failed:\x20','toISOString','format','green','setLogPath','printf','41833Ohdjsa','command'];a318_0x36e5=function(){return _0xae320c;};return a318_0x36e5();}
1
+ const a317_0x5af645=a317_0x2db4;function a317_0x2db4(_0x373f64,_0x33e70f){_0x373f64=_0x373f64-0xaf;const _0x5ef6e1=a317_0x5ef6();let _0x2db41a=_0x5ef6e1[_0x373f64];return _0x2db41a;}(function(_0x2eb8e0,_0x2cdf1a){const _0x1a9d3f=a317_0x2db4,_0x3e2a16=_0x2eb8e0();while(!![]){try{const _0x31157c=-parseInt(_0x1a9d3f(0xd6))/0x1*(parseInt(_0x1a9d3f(0xb5))/0x2)+parseInt(_0x1a9d3f(0xce))/0x3+-parseInt(_0x1a9d3f(0xd4))/0x4+-parseInt(_0x1a9d3f(0xb4))/0x5*(-parseInt(_0x1a9d3f(0xc6))/0x6)+parseInt(_0x1a9d3f(0xeb))/0x7+parseInt(_0x1a9d3f(0xd0))/0x8+-parseInt(_0x1a9d3f(0xe5))/0x9;if(_0x31157c===_0x2cdf1a)break;else _0x3e2a16['push'](_0x3e2a16['shift']());}catch(_0x4d98fd){_0x3e2a16['push'](_0x3e2a16['shift']());}}}(a317_0x5ef6,0xf245b));import a317_0x506102 from'winston';import a317_0x1fa2ad from'node:fs';import a317_0x4b5fa6 from'node:path';function a317_0x5ef6(){const _0x29ea68=['21306096FfZQgz','winstonLogger','command','Failed:\x20','existsSync','dirname','5322457jSLCNI','logFilePath','format','readFileSync','timestamp','Completed:\x20','775985YUdjkA','38HnoWQQ','errors','stringify','map','yellow','join','initWinstonLogger','readLogs','parse','now','success','trim','currentRawCommand','mkdirSync','details','red','error','48yaVSoa','clear','message','log','combine','writeFileSync','toISOString','split','5377620ZxXFqv','transports','10483320qwdPtE','Starting:\x20','getWinstonInstance','warn','353032mJFHPP','info','87207cywLnz','blue','green','File','utf8','logTask','setRawCommand','.lovrabet.log','setLogPath','rawCommand','level','unknown','duration','printf','addColors'];a317_0x5ef6=function(){return _0x29ea68;};return a317_0x5ef6();}class Logger{['winstonLogger'];[a317_0x5af645(0xaf)];[a317_0x5af645(0xc1)]='';constructor(){this['logFilePath']='';}[a317_0x5af645(0xdc)](_0x35d6ce){const _0x1ff736=a317_0x5af645;this[_0x1ff736(0xc1)]=_0x35d6ce;}[a317_0x5af645(0xbb)](){const _0x2e014c=a317_0x5af645,_0x4487dc=a317_0x4b5fa6[_0x2e014c(0xea)](this['logFilePath']);!a317_0x1fa2ad['existsSync'](_0x4487dc)&&a317_0x1fa2ad[_0x2e014c(0xc2)](_0x4487dc,{'recursive':!![]});const _0x5cfb62=a317_0x506102[_0x2e014c(0xb0)][_0x2e014c(0xca)](a317_0x506102[_0x2e014c(0xb0)]['timestamp'](),a317_0x506102['format'][_0x2e014c(0xb6)]({'stack':!![]}),a317_0x506102['format'][_0x2e014c(0xe3)](_0x2b0c1d=>{const _0x17ef4a=_0x2e014c,_0x10f747={'timestamp':_0x2b0c1d[_0x17ef4a(0xb2)]||new Date()[_0x17ef4a(0xcc)](),'level':_0x2b0c1d[_0x17ef4a(0xe0)]||_0x17ef4a(0xd5),'command':_0x2b0c1d[_0x17ef4a(0xe7)]||_0x17ef4a(0xe1),'rawCommand':_0x2b0c1d[_0x17ef4a(0xdf)]||this[_0x17ef4a(0xc1)]||undefined,'message':_0x2b0c1d[_0x17ef4a(0xc8)]||'','duration':_0x2b0c1d[_0x17ef4a(0xe2)]||undefined,'details':_0x2b0c1d[_0x17ef4a(0xc3)]||undefined};return JSON[_0x17ef4a(0xb7)](_0x10f747);}));this[_0x2e014c(0xe6)]=a317_0x506102['createLogger']({'level':'info','format':_0x5cfb62,'transports':[new a317_0x506102[(_0x2e014c(0xcf))][(_0x2e014c(0xd9))]({'filename':this['logFilePath'],'level':'info'})],'silent':![]}),a317_0x506102[_0x2e014c(0xe4)]({'success':_0x2e014c(0xd8),'error':_0x2e014c(0xc4),'warn':_0x2e014c(0xb9),'info':_0x2e014c(0xd7)});}[a317_0x5af645(0xde)](_0x17ab7d){const _0x31dedd=a317_0x5af645;this[_0x31dedd(0xaf)]=a317_0x4b5fa6[_0x31dedd(0xba)](_0x17ab7d,_0x31dedd(0xdd)),this[_0x31dedd(0xe6)]&&this[_0x31dedd(0xe6)][_0x31dedd(0xc7)](),this['initWinstonLogger']();}['info'](_0x1506ba,_0x22af82,_0x53e5e5){const _0x141a91=a317_0x5af645;if(!this['logFilePath']||!this[_0x141a91(0xe6)])return;this[_0x141a91(0xe6)][_0x141a91(0xd5)](_0x22af82,{'command':_0x1506ba,'details':_0x53e5e5});}[a317_0x5af645(0xbf)](_0x3704dc,_0x19bb1b,_0x3d35ec,_0x32de03){const _0x203ff7=a317_0x5af645;if(!this[_0x203ff7(0xaf)]||!this['winstonLogger'])return;this[_0x203ff7(0xe6)][_0x203ff7(0xc9)](_0x203ff7(0xd5),_0x19bb1b,{'level':_0x203ff7(0xbf),'command':_0x3704dc,'duration':_0x3d35ec,'details':_0x32de03});}[a317_0x5af645(0xc5)](_0x57e0c3,_0x5b3bc3,_0x5bb641){const _0x22d04d=a317_0x5af645;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x22d04d(0xe6)][_0x22d04d(0xc5)](_0x5b3bc3,{'command':_0x57e0c3,'details':_0x5bb641});}['warn'](_0x33523e,_0x301764,_0x3d56ee){const _0xc4186f=a317_0x5af645;if(!this[_0xc4186f(0xaf)]||!this[_0xc4186f(0xe6)])return;this[_0xc4186f(0xe6)][_0xc4186f(0xd3)](_0x301764,{'command':_0x33523e,'details':_0x3d56ee});}async[a317_0x5af645(0xdb)](_0x1b5c0f,_0xcd90ca,_0x718db5){const _0xa0cd51=a317_0x5af645,_0x4dbc2f=Date[_0xa0cd51(0xbe)]();this[_0xa0cd51(0xd5)](_0x1b5c0f,_0xa0cd51(0xd1)+_0xcd90ca);try{const _0x4d176d=await _0x718db5(),_0x5295a4=Date[_0xa0cd51(0xbe)]()-_0x4dbc2f;return this['success'](_0x1b5c0f,_0xa0cd51(0xb3)+_0xcd90ca,_0x5295a4),_0x4d176d;}catch(_0x478546){const _0x597558=Date[_0xa0cd51(0xbe)]()-_0x4dbc2f;this[_0xa0cd51(0xc5)](_0x1b5c0f,_0xa0cd51(0xe8)+_0xcd90ca,{'error':_0x478546 instanceof Error?_0x478546[_0xa0cd51(0xc8)]:String(_0x478546),'duration':_0x597558});throw _0x478546;}}[a317_0x5af645(0xbc)](){const _0x173996=a317_0x5af645;try{if(!a317_0x1fa2ad[_0x173996(0xe9)](this['logFilePath']))return[];const _0x88faa0=a317_0x1fa2ad[_0x173996(0xb1)](this[_0x173996(0xaf)],_0x173996(0xda));return _0x88faa0[_0x173996(0xcd)]('\x0a')['filter'](_0x1a3121=>_0x1a3121[_0x173996(0xc0)]())[_0x173996(0xb8)](_0xd5a21c=>JSON[_0x173996(0xbd)](_0xd5a21c));}catch(_0x18c5e3){return console[_0x173996(0xd3)]('Failed\x20to\x20read\x20logs:',_0x18c5e3),[];}}['clearLogs'](){const _0x28a75b=a317_0x5af645;try{a317_0x1fa2ad['existsSync'](this[_0x28a75b(0xaf)])&&a317_0x1fa2ad[_0x28a75b(0xcb)](this[_0x28a75b(0xaf)],'',_0x28a75b(0xda));}catch(_0x1e455a){console['warn']('Failed\x20to\x20clear\x20logs:',_0x1e455a);}}[a317_0x5af645(0xd2)](){const _0x3ce408=a317_0x5af645;return this[_0x3ce408(0xe6)];}}export const logger=new Logger();
@@ -1 +1 @@
1
- (function(_0x27950c,_0x35f142){const _0x43514d=a319_0x5a76,_0x3047c6=_0x27950c();while(!![]){try{const _0x43abaa=-parseInt(_0x43514d(0x148))/0x1*(-parseInt(_0x43514d(0x153))/0x2)+-parseInt(_0x43514d(0x14f))/0x3*(parseInt(_0x43514d(0x145))/0x4)+parseInt(_0x43514d(0x146))/0x5*(parseInt(_0x43514d(0x14b))/0x6)+parseInt(_0x43514d(0x14c))/0x7+-parseInt(_0x43514d(0x149))/0x8*(-parseInt(_0x43514d(0x14d))/0x9)+parseInt(_0x43514d(0x151))/0xa+-parseInt(_0x43514d(0x147))/0xb;if(_0x43abaa===_0x35f142)break;else _0x3047c6['push'](_0x3047c6['shift']());}catch(_0x2e9915){_0x3047c6['push'](_0x3047c6['shift']());}}}(a319_0x20de,0x42abd));function a319_0x20de(){const _0x11fa1c=['40swQWGU','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','12osmofQ','2341997YgtsNQ','218133eZPJaA','Invalid\x20JSON\x20for\x20--params:\x20','45mHPsOi','validation','1319410JcodlM','object','112dbWcRy','28312ZoPsMC','326855orvWpS','9116712iZqdzO','8743OphUuP'];a319_0x20de=function(){return _0x11fa1c;};return a319_0x20de();}import{CliErrors}from'../errors.js';function a319_0x5a76(_0x2e8dbf,_0x37fbd9){_0x2e8dbf=_0x2e8dbf-0x145;const _0x20dec4=a319_0x20de();let _0x5a76ef=_0x20dec4[_0x2e8dbf];return _0x5a76ef;}export function parseJsonParams(_0x1f3596){const _0x47f1ae=a319_0x5a76;if(!_0x1f3596)return undefined;let _0x4ac1a2;try{_0x4ac1a2=JSON['parse'](_0x1f3596);}catch{throw CliErrors[_0x47f1ae(0x150)](_0x47f1ae(0x14e)+_0x1f3596);}if(!_0x4ac1a2||typeof _0x4ac1a2!==_0x47f1ae(0x152)||Array['isArray'](_0x4ac1a2))throw CliErrors[_0x47f1ae(0x150)]('--params\x20must\x20be\x20a\x20JSON\x20object',_0x47f1ae(0x14a));return _0x4ac1a2;}
1
+ function a318_0x90a7(_0x53376b,_0x82b1d4){_0x53376b=_0x53376b-0x1ba;const _0x1cb665=a318_0x1cb6();let _0x90a7ac=_0x1cb665[_0x53376b];return _0x90a7ac;}(function(_0x504158,_0x1f327d){const _0xf9561a=a318_0x90a7,_0x4067d3=_0x504158();while(!![]){try{const _0x25dd6c=parseInt(_0xf9561a(0x1c8))/0x1+-parseInt(_0xf9561a(0x1bf))/0x2*(-parseInt(_0xf9561a(0x1c5))/0x3)+-parseInt(_0xf9561a(0x1c4))/0x4*(-parseInt(_0xf9561a(0x1bc))/0x5)+-parseInt(_0xf9561a(0x1c7))/0x6+parseInt(_0xf9561a(0x1c6))/0x7*(-parseInt(_0xf9561a(0x1bd))/0x8)+parseInt(_0xf9561a(0x1be))/0x9+-parseInt(_0xf9561a(0x1c3))/0xa;if(_0x25dd6c===_0x1f327d)break;else _0x4067d3['push'](_0x4067d3['shift']());}catch(_0xed0f97){_0x4067d3['push'](_0x4067d3['shift']());}}}(a318_0x1cb6,0x2e92c));import{CliErrors}from'../errors.js';function a318_0x1cb6(){const _0x25cdf1=['104EAoMhj','161163HJEwSH','173734DZxnjx','object','Invalid\x20JSON\x20for\x20--params:\x20','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','876060uvuVHZ','1027084iDvbjk','9DPiBKs','171899CUVQZt','495162okSHTI','144859oDLbuH','validation','parse','isArray','5JgIOff'];a318_0x1cb6=function(){return _0x25cdf1;};return a318_0x1cb6();}export function parseJsonParams(_0x3208df){const _0x29106c=a318_0x90a7;if(!_0x3208df)return undefined;let _0x46dc56;try{_0x46dc56=JSON[_0x29106c(0x1ba)](_0x3208df);}catch{throw CliErrors[_0x29106c(0x1c9)](_0x29106c(0x1c1)+_0x3208df);}if(!_0x46dc56||typeof _0x46dc56!==_0x29106c(0x1c0)||Array[_0x29106c(0x1bb)](_0x46dc56))throw CliErrors[_0x29106c(0x1c9)]('--params\x20must\x20be\x20a\x20JSON\x20object',_0x29106c(0x1c2));return _0x46dc56;}
@@ -1 +1 @@
1
- function a320_0x3655(){const _0x39e7c2=['144qphIpL','9142164OmkdMI','104KUsrZk','1184335yDFlUj','4395upBxmP','6941SMeuIQ','59206oUTEWw','17410tlzHKc','4kFRwKK','386085JKRhaS','6byopOV','3168IqThwF','.cmd','2410031ZlAFJk','platform'];a320_0x3655=function(){return _0x39e7c2;};return a320_0x3655();}function a320_0x1f58(_0x223032,_0x4df0ad){_0x223032=_0x223032-0x8d;const _0x365503=a320_0x3655();let _0x1f5843=_0x365503[_0x223032];return _0x1f5843;}const a320_0x45a62e=a320_0x1f58;(function(_0x139238,_0x443757){const _0xd0415c=a320_0x1f58,_0x15de66=_0x139238();while(!![]){try{const _0x2b1f6c=-parseInt(_0xd0415c(0x9b))/0x1*(-parseInt(_0xd0415c(0x99))/0x2)+parseInt(_0xd0415c(0x97))/0x3*(-parseInt(_0xd0415c(0x8f))/0x4)+-parseInt(_0xd0415c(0x96))/0x5*(-parseInt(_0xd0415c(0x8e))/0x6)+-parseInt(_0xd0415c(0x8d))/0x7*(parseInt(_0xd0415c(0x95))/0x8)+parseInt(_0xd0415c(0x94))/0x9+parseInt(_0xd0415c(0x9a))/0xa*(-parseInt(_0xd0415c(0x98))/0xb)+parseInt(_0xd0415c(0x93))/0xc*(parseInt(_0xd0415c(0x91))/0xd);if(_0x2b1f6c===_0x443757)break;else _0x15de66['push'](_0x15de66['shift']());}catch(_0x163d42){_0x15de66['push'](_0x15de66['shift']());}}}(a320_0x3655,0x9754d));export const isWindows=process[a320_0x45a62e(0x92)]==='win32';export function resolveNpmBin(_0x467be8){const _0x3a077e=a320_0x45a62e;return isWindows?_0x467be8+_0x3a077e(0x90):_0x467be8;}
1
+ function a319_0x1861(_0x45c2c7,_0x3e3608){_0x45c2c7=_0x45c2c7-0x121;const _0x35f362=a319_0x35f3();let _0x18614f=_0x35f362[_0x45c2c7];return _0x18614f;}const a319_0x234ae5=a319_0x1861;(function(_0x110d5b,_0x51f6be){const _0x1d8498=a319_0x1861,_0x4d3573=_0x110d5b();while(!![]){try{const _0x59de37=-parseInt(_0x1d8498(0x129))/0x1*(parseInt(_0x1d8498(0x127))/0x2)+parseInt(_0x1d8498(0x128))/0x3*(parseInt(_0x1d8498(0x121))/0x4)+-parseInt(_0x1d8498(0x12c))/0x5*(-parseInt(_0x1d8498(0x12b))/0x6)+parseInt(_0x1d8498(0x12a))/0x7+parseInt(_0x1d8498(0x123))/0x8*(parseInt(_0x1d8498(0x12d))/0x9)+-parseInt(_0x1d8498(0x124))/0xa+parseInt(_0x1d8498(0x125))/0xb*(parseInt(_0x1d8498(0x122))/0xc);if(_0x59de37===_0x51f6be)break;else _0x4d3573['push'](_0x4d3573['shift']());}catch(_0x488688){_0x4d3573['push'](_0x4d3573['shift']());}}}(a319_0x35f3,0xe5598));function a319_0x35f3(){const _0x36179f=['2123TdzLcs','platform','526hYeVvw','6ncnLkQ','3129MbtfqZ','1102626ozBjEm','304038CIXryw','5mGHqhV','9EMVFHU','1435944jhFnnh','16908fQzxSF','13217592VvVxzh','10879560oZQgzP'];a319_0x35f3=function(){return _0x36179f;};return a319_0x35f3();}export const isWindows=process[a319_0x234ae5(0x126)]==='win32';export function resolveNpmBin(_0x3d5188){return isWindows?_0x3d5188+'.cmd':_0x3d5188;}
@@ -1 +1 @@
1
- export function sleep(_0x52ab7f){return new Promise(_0x362c0f=>setTimeout(_0x362c0f,_0x52ab7f));}
1
+ export function sleep(_0x520144){return new Promise(_0x172108=>setTimeout(_0x172108,_0x520144));}
@@ -1 +1 @@
1
- const a322_0x560fb4=a322_0x4084;(function(_0x22318d,_0x557fe8){const _0x3f6fc4=a322_0x4084,_0xe7edaa=_0x22318d();while(!![]){try{const _0x2e9317=parseInt(_0x3f6fc4(0x15a))/0x1*(-parseInt(_0x3f6fc4(0x15d))/0x2)+-parseInt(_0x3f6fc4(0x181))/0x3*(parseInt(_0x3f6fc4(0x18d))/0x4)+-parseInt(_0x3f6fc4(0x152))/0x5+-parseInt(_0x3f6fc4(0x18e))/0x6*(-parseInt(_0x3f6fc4(0x18b))/0x7)+-parseInt(_0x3f6fc4(0x175))/0x8*(parseInt(_0x3f6fc4(0x18a))/0x9)+-parseInt(_0x3f6fc4(0x17c))/0xa+parseInt(_0x3f6fc4(0x17e))/0xb*(parseInt(_0x3f6fc4(0x167))/0xc);if(_0x2e9317===_0x557fe8)break;else _0xe7edaa['push'](_0xe7edaa['shift']());}catch(_0x99cf87){_0xe7edaa['push'](_0xe7edaa['shift']());}}}(a322_0x3519,0xa36fe));import a322_0x490603 from'node:fs';import a322_0x116d4c from'node:path';import{logger}from'../utils/logger.js';function a322_0x4084(_0x418619,_0x4c8ad2){_0x418619=_0x418619-0x14c;const _0x351918=a322_0x3519();let _0x408439=_0x351918[_0x418619];return _0x408439;}import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a322_0x560fb4(0x157)](_0x2e5df4){const _0xb633f3=a322_0x560fb4;return String(_0x2e5df4)[_0xb633f3(0x14f)](0x2,'0');}static['formatLocalTimestamp'](_0x5c6480){const _0x8b2d54=a322_0x560fb4,_0x323ada=_0x5c6480[_0x8b2d54(0x188)](),_0x5659b5=this[_0x8b2d54(0x157)](_0x5c6480[_0x8b2d54(0x184)]()+0x1),_0x480aa7=this['pad'](_0x5c6480['getDate']()),_0x4277ba=this[_0x8b2d54(0x157)](_0x5c6480['getHours']()),_0x37931e=this[_0x8b2d54(0x157)](_0x5c6480[_0x8b2d54(0x160)]()),_0x2c7c91=this[_0x8b2d54(0x157)](_0x5c6480['getSeconds']());return{'createdAt':_0x323ada+'-'+_0x5659b5+'-'+_0x480aa7+'\x20'+_0x4277ba+':'+_0x37931e+':'+_0x2c7c91,'createdDate':_0x323ada+'-'+_0x5659b5+'-'+_0x480aa7,'createdTime':_0x4277ba+':'+_0x37931e+':'+_0x2c7c91};}static[a322_0x560fb4(0x159)](_0x2dd4c8){const _0x151483=a322_0x560fb4,_0x25e14c=_0x2dd4c8[_0x151483(0x17f)]('/')['pop']()||_0x2dd4c8;return _0x25e14c[_0x151483(0x17f)]('-')[_0x151483(0x178)](_0xa81fc0=>_0xa81fc0[_0x151483(0x161)](0x0)[_0x151483(0x168)]()+_0xa81fc0['slice'](0x1)['toLowerCase']())[_0x151483(0x16c)]('');}static['toDisplayTitle'](_0x6c9d5){const _0x1b8174=a322_0x560fb4,_0x270025=_0x6c9d5[_0x1b8174(0x17f)]('/')[_0x1b8174(0x151)]()||_0x6c9d5;return _0x270025[_0x1b8174(0x17f)]('-')[_0x1b8174(0x178)](_0x48f63a=>_0x48f63a[_0x1b8174(0x161)](0x0)[_0x1b8174(0x168)]()+_0x48f63a[_0x1b8174(0x183)](0x1)['toLowerCase']())[_0x1b8174(0x16c)]('\x20');}static[a322_0x560fb4(0x177)](_0x5dae0b,_0x4f947d,_0x359227){const _0x515d8f=a322_0x560fb4,_0x14a28=this[_0x515d8f(0x159)](_0x4f947d),_0x1fac87=this[_0x515d8f(0x17b)](_0x4f947d),{createdAt:_0x56cae5,createdDate:_0x21150f,createdTime:_0x40c7e1}=this['formatLocalTimestamp'](new Date());let _0x491b66=_0x5dae0b[_0x515d8f(0x171)](/\{CliVersion\}/g,CLI_VERSION)[_0x515d8f(0x171)](/\{ComponentName\}/g,_0x14a28)[_0x515d8f(0x171)](/\{DisplayTitle\}/g,_0x1fac87)[_0x515d8f(0x171)](/\{PageName\}/g,_0x4f947d)[_0x515d8f(0x171)](/\{TemplateName\}/g,_0x359227)[_0x515d8f(0x171)](/\{CreatedAt\}/g,_0x56cae5)[_0x515d8f(0x171)](/\{CreatedDate\}/g,_0x21150f)['replace'](/\{CreatedTime\}/g,_0x40c7e1);return _0x491b66;}static['replaceApiContent'](_0x35e714,_0x21b8e3,_0x57847c,_0x339e35,_0x47e92e,_0x41a9d9,_0x4f6077,_0x2185da){const _0x234703=a322_0x560fb4,_0x1dbf5b=new Date(),_0x254e01=_0x1dbf5b[_0x234703(0x189)](),_0x8b0176=_0x57847c['map'](_0x1c9303=>{const _0x5cfe8f=_0x234703,_0x549aaa=['datasetCode:\x20\x22'+_0x1c9303[_0x5cfe8f(0x190)]+'\x22',_0x5cfe8f(0x16d)+_0x1c9303[_0x5cfe8f(0x163)]+'\x22',_0x5cfe8f(0x169)+_0x1c9303[_0x5cfe8f(0x165)]+'\x22'];return _0x1c9303['alias']&&_0x549aaa[_0x5cfe8f(0x166)]('alias:\x20\x22'+_0x1c9303[_0x5cfe8f(0x158)]+'\x22'),_0x5cfe8f(0x15f)+_0x549aaa[_0x5cfe8f(0x16c)](',\x20')+_0x5cfe8f(0x182);})['join'](''),_0x564796=_0x339e35||_0x57847c[0x0]?.[_0x234703(0x158)]||_0x234703(0x172);let _0x3e4c37=_0x35e714[_0x234703(0x171)](/\{AppCode\}/g,_0x21b8e3)['replace'](/\{ModelConfigs\}/g,_0x8b0176)['replace'](/\{ExampleModelName\}/g,_0x564796)['replace'](/\{ApiFileName\}/g,_0x47e92e||_0x234703(0x155))[_0x234703(0x171)](/\{ConfigName\}/g,_0x41a9d9||'default')['replace'](/\{ClientConfigParam\}/g,_0x4f6077||'')[_0x234703(0x171)](/\{VarPrefix\}/g,_0x2185da||_0x234703(0x154))[_0x234703(0x171)](/\{CreatedAt\}/g,_0x254e01);return _0x3e4c37;}static async[a322_0x560fb4(0x16e)](_0x109acb,_0x1af103,_0x369236,_0xdb0c41,_0x92c71=!![]){const _0x1f2a78=a322_0x560fb4,_0x13a1c3=Date[_0x1f2a78(0x174)]();try{_0x92c71&&logger['info'](_0x1f2a78(0x156),_0x1f2a78(0x15c),{'templatePath':_0x109acb,'targetPath':_0x1af103,'pageName':_0x369236,'templateName':_0xdb0c41});await a322_0x490603[_0x1f2a78(0x17a)]['mkdir'](_0x1af103,{'recursive':!![]}),await this[_0x1f2a78(0x179)](_0x109acb,_0x1af103,_0x369236,_0xdb0c41);if(_0x92c71){const _0x2b3006=Date[_0x1f2a78(0x174)]()-_0x13a1c3;logger[_0x1f2a78(0x153)](_0x1f2a78(0x156),_0x1f2a78(0x164),_0x2b3006,{'pageName':_0x369236,'templateName':_0xdb0c41});}}catch(_0x3e1425){if(_0x92c71){const _0xf12279=Date[_0x1f2a78(0x174)]()-_0x13a1c3;logger[_0x1f2a78(0x15b)](_0x1f2a78(0x156),_0x1f2a78(0x18c),{'templatePath':_0x109acb,'targetPath':_0x1af103,'pageName':_0x369236,'templateName':_0xdb0c41,'error':_0x3e1425 instanceof Error?_0x3e1425[_0x1f2a78(0x150)]:String(_0x3e1425),'duration':_0xf12279});}throw _0x3e1425;}}static async[a322_0x560fb4(0x179)](_0x3eba84,_0x51b66b,_0x529cc4,_0x53e6e0){const _0x4ef58a=a322_0x560fb4,_0x128bf5=await a322_0x490603[_0x4ef58a(0x17a)][_0x4ef58a(0x14d)](_0x3eba84,{'withFileTypes':!![]});for(const _0x26d899 of _0x128bf5){const _0x2e0381=a322_0x116d4c[_0x4ef58a(0x16c)](_0x3eba84,_0x26d899[_0x4ef58a(0x165)]);let _0x2fdd02=a322_0x116d4c[_0x4ef58a(0x16c)](_0x51b66b,_0x26d899[_0x4ef58a(0x165)]);_0x26d899['name'][_0x4ef58a(0x17d)](_0x4ef58a(0x180))&&(_0x2fdd02=a322_0x116d4c['join'](_0x51b66b,_0x26d899['name']['replace'](/\.tpl$/,'')));if(_0x26d899[_0x4ef58a(0x186)]())await a322_0x490603[_0x4ef58a(0x17a)][_0x4ef58a(0x14e)](_0x2fdd02,{'recursive':!![]}),await this['processDirectory'](_0x2e0381,_0x2fdd02,_0x529cc4,_0x53e6e0);else _0x26d899[_0x4ef58a(0x170)]()&&await this[_0x4ef58a(0x16b)](_0x2e0381,_0x2fdd02,_0x529cc4,_0x53e6e0);}}static async[a322_0x560fb4(0x16b)](_0x2a0f0d,_0x3bc276,_0x34cfce,_0x3a6623){const _0x4cb6a0=a322_0x560fb4,_0x1432ad=a322_0x116d4c[_0x4cb6a0(0x16f)](_0x2a0f0d)[_0x4cb6a0(0x173)]();_0x2a0f0d[_0x4cb6a0(0x17d)]('.tpl')&&(_0x3bc276=_0x3bc276[_0x4cb6a0(0x171)](/\.tpl$/,''));const _0x20116d=[_0x4cb6a0(0x14c),'.ts',_0x4cb6a0(0x162),_0x4cb6a0(0x16a),_0x4cb6a0(0x18f),_0x4cb6a0(0x187),'.css','.scss',_0x4cb6a0(0x180)];if(_0x20116d[_0x4cb6a0(0x176)](_0x1432ad)||_0x2a0f0d['endsWith']('.tpl')){const _0x46c8c0=await a322_0x490603['promises'][_0x4cb6a0(0x191)](_0x2a0f0d,_0x4cb6a0(0x185)),_0x8b2bd1=this['replaceContent'](_0x46c8c0,_0x34cfce,_0x3a6623);await a322_0x490603[_0x4cb6a0(0x17a)][_0x4cb6a0(0x15e)](_0x3bc276,_0x8b2bd1,_0x4cb6a0(0x185));}else await a322_0x490603[_0x4cb6a0(0x17a)]['copyFile'](_0x2a0f0d,_0x3bc276);}}function a322_0x3519(){const _0x4d797b=['success','LOVRABET','api','template','pad','alias','toComponentName','19328tshCJf','error','Starting\x20template\x20content\x20replacement','82xzZyVT','writeFile','\x0a\x20\x20\x20\x20{\x20','getMinutes','charAt','.jsx','tableName','Template\x20content\x20replacement\x20completed','name','push','7131864anNtQL','toUpperCase','name:\x20\x22','.js','processFile','join','tableName:\x20\x22','processTemplate','extname','isFile','replace','YourModel','toLowerCase','now','8ZDzuwd','includes','replaceContent','map','processDirectory','promises','toDisplayTitle','2027100zPcVtp','endsWith','55XmUCVy','split','.tpl','3024OxXTru','\x20},','slice','getMonth','utf8','isDirectory','.md','getFullYear','toISOString','6750468kLVQDC','217OSVGap','Template\x20content\x20replacement\x20failed','724uEDJoR','45798bRUJla','.json','datasetCode','readFile','.tsx','readdir','mkdir','padStart','message','pop','3055685WteIXV'];a322_0x3519=function(){return _0x4d797b;};return a322_0x3519();}
1
+ const a321_0x596c0f=a321_0x38d2;(function(_0x487a89,_0x118bba){const _0x140626=a321_0x38d2,_0x22f7c8=_0x487a89();while(!![]){try{const _0x5b00cf=-parseInt(_0x140626(0x1a0))/0x1*(parseInt(_0x140626(0x18c))/0x2)+-parseInt(_0x140626(0x196))/0x3*(-parseInt(_0x140626(0x1a3))/0x4)+-parseInt(_0x140626(0x198))/0x5*(parseInt(_0x140626(0x185))/0x6)+-parseInt(_0x140626(0x177))/0x7+-parseInt(_0x140626(0x17e))/0x8+parseInt(_0x140626(0x19d))/0x9+parseInt(_0x140626(0x1a4))/0xa;if(_0x5b00cf===_0x118bba)break;else _0x22f7c8['push'](_0x22f7c8['shift']());}catch(_0x171174){_0x22f7c8['push'](_0x22f7c8['shift']());}}}(a321_0x46b5,0xb88ee));import a321_0x512d7b from'node:fs';function a321_0x46b5(){const _0x32f8d1=['includes','name','replace','getDate','.md','readFile','replaceApiContent','3dhXkqY','isFile','10040ZOcUQl','getHours','.ts','copyFile','message','6051870WTVMli','pad','utf8','1007UCpdZe','padStart','tableName:\x20\x22','5167028QepbSu','17111760HtDpVQ','getFullYear','slice','Template\x20content\x20replacement\x20failed','toUpperCase','.scss','extname','getMonth','toComponentName','endsWith','pop','.css','.tpl','alias:\x20\x22','YourModel','\x0a\x20\x20\x20\x20{\x20','template','toDisplayTitle','Starting\x20template\x20content\x20replacement','map','name:\x20\x22','join','datasetCode:\x20\x22','getMinutes','toISOString','mkdir','4381944nCBAop','replaceContent','promises','.js','.tsx','push','formatLocalTimestamp','6007640PTXOYx','default','alias','toLowerCase','success','now','info','258AFWKto','datasetCode','tableName','processDirectory','processFile','getSeconds','isDirectory','2892cIIsem','error','split'];a321_0x46b5=function(){return _0x32f8d1;};return a321_0x46b5();}import a321_0x30d407 from'node:path';import{logger}from'../utils/logger.js';function a321_0x38d2(_0x1d1af5,_0x21fa8d){_0x1d1af5=_0x1d1af5-0x16c;const _0x46b5be=a321_0x46b5();let _0x38d2b4=_0x46b5be[_0x1d1af5];return _0x38d2b4;}import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static['pad'](_0x47af24){const _0x4fd84a=a321_0x38d2;return String(_0x47af24)[_0x4fd84a(0x1a1)](0x2,'0');}static['formatLocalTimestamp'](_0x1e03f3){const _0x2d14e2=a321_0x38d2,_0x33135b=_0x1e03f3[_0x2d14e2(0x1a5)](),_0x1f3165=this['pad'](_0x1e03f3[_0x2d14e2(0x1ab)]()+0x1),_0x457438=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x192)]()),_0x4b0d84=this['pad'](_0x1e03f3[_0x2d14e2(0x199)]()),_0x4792ca=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x174)]()),_0x5a6186=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x18a)]());return{'createdAt':_0x33135b+'-'+_0x1f3165+'-'+_0x457438+'\x20'+_0x4b0d84+':'+_0x4792ca+':'+_0x5a6186,'createdDate':_0x33135b+'-'+_0x1f3165+'-'+_0x457438,'createdTime':_0x4b0d84+':'+_0x4792ca+':'+_0x5a6186};}static['toComponentName'](_0x5f1264){const _0x1109ac=a321_0x38d2,_0x40ed05=_0x5f1264[_0x1109ac(0x18e)]('/')[_0x1109ac(0x1ae)]()||_0x5f1264;return _0x40ed05[_0x1109ac(0x18e)]('-')[_0x1109ac(0x170)](_0x431443=>_0x431443['charAt'](0x0)[_0x1109ac(0x1a8)]()+_0x431443['slice'](0x1)[_0x1109ac(0x181)]())[_0x1109ac(0x172)]('');}static[a321_0x596c0f(0x16e)](_0x34b9f7){const _0x34ce6f=a321_0x596c0f,_0x89621d=_0x34b9f7[_0x34ce6f(0x18e)]('/')[_0x34ce6f(0x1ae)]()||_0x34b9f7;return _0x89621d[_0x34ce6f(0x18e)]('-')[_0x34ce6f(0x170)](_0x542a45=>_0x542a45['charAt'](0x0)[_0x34ce6f(0x1a8)]()+_0x542a45[_0x34ce6f(0x1a6)](0x1)[_0x34ce6f(0x181)]())['join']('\x20');}static[a321_0x596c0f(0x178)](_0x11a42f,_0x12b3bc,_0x1d53f8){const _0x534842=a321_0x596c0f,_0x47d534=this[_0x534842(0x1ac)](_0x12b3bc),_0x51fc95=this[_0x534842(0x16e)](_0x12b3bc),{createdAt:_0x395fe4,createdDate:_0x5e2e41,createdTime:_0x374136}=this[_0x534842(0x17d)](new Date());let _0x1d4648=_0x11a42f[_0x534842(0x191)](/\{CliVersion\}/g,CLI_VERSION)[_0x534842(0x191)](/\{ComponentName\}/g,_0x47d534)[_0x534842(0x191)](/\{DisplayTitle\}/g,_0x51fc95)[_0x534842(0x191)](/\{PageName\}/g,_0x12b3bc)[_0x534842(0x191)](/\{TemplateName\}/g,_0x1d53f8)[_0x534842(0x191)](/\{CreatedAt\}/g,_0x395fe4)[_0x534842(0x191)](/\{CreatedDate\}/g,_0x5e2e41)[_0x534842(0x191)](/\{CreatedTime\}/g,_0x374136);return _0x1d4648;}static[a321_0x596c0f(0x195)](_0x2ceb8d,_0x5ee60f,_0xfb9abe,_0x5d01c8,_0x414470,_0x1bad75,_0x3dc617,_0x4640f9){const _0x18064b=a321_0x596c0f,_0x317ffc=new Date(),_0x2e3e3d=_0x317ffc[_0x18064b(0x175)](),_0x1210d1=_0xfb9abe[_0x18064b(0x170)](_0xff2f88=>{const _0xa9d322=_0x18064b,_0x53f2ff=[_0xa9d322(0x173)+_0xff2f88[_0xa9d322(0x186)]+'\x22',_0xa9d322(0x1a2)+_0xff2f88[_0xa9d322(0x187)]+'\x22',_0xa9d322(0x171)+_0xff2f88[_0xa9d322(0x190)]+'\x22'];return _0xff2f88[_0xa9d322(0x180)]&&_0x53f2ff[_0xa9d322(0x17c)](_0xa9d322(0x1b1)+_0xff2f88['alias']+'\x22'),_0xa9d322(0x16c)+_0x53f2ff[_0xa9d322(0x172)](',\x20')+'\x20},';})[_0x18064b(0x172)](''),_0x238a56=_0x5d01c8||_0xfb9abe[0x0]?.['alias']||_0x18064b(0x1b2);let _0x607b79=_0x2ceb8d['replace'](/\{AppCode\}/g,_0x5ee60f)[_0x18064b(0x191)](/\{ModelConfigs\}/g,_0x1210d1)[_0x18064b(0x191)](/\{ExampleModelName\}/g,_0x238a56)[_0x18064b(0x191)](/\{ApiFileName\}/g,_0x414470||'api')[_0x18064b(0x191)](/\{ConfigName\}/g,_0x1bad75||_0x18064b(0x17f))[_0x18064b(0x191)](/\{ClientConfigParam\}/g,_0x3dc617||'')[_0x18064b(0x191)](/\{VarPrefix\}/g,_0x4640f9||'LOVRABET')['replace'](/\{CreatedAt\}/g,_0x2e3e3d);return _0x607b79;}static async['processTemplate'](_0x576822,_0x5ae9eb,_0x5a8022,_0x516beb,_0x159499=!![]){const _0x25042d=a321_0x596c0f,_0x1cce03=Date[_0x25042d(0x183)]();try{_0x159499&&logger[_0x25042d(0x184)](_0x25042d(0x16d),_0x25042d(0x16f),{'templatePath':_0x576822,'targetPath':_0x5ae9eb,'pageName':_0x5a8022,'templateName':_0x516beb});await a321_0x512d7b[_0x25042d(0x179)][_0x25042d(0x176)](_0x5ae9eb,{'recursive':!![]}),await this['processDirectory'](_0x576822,_0x5ae9eb,_0x5a8022,_0x516beb);if(_0x159499){const _0x372da6=Date[_0x25042d(0x183)]()-_0x1cce03;logger[_0x25042d(0x182)](_0x25042d(0x16d),'Template\x20content\x20replacement\x20completed',_0x372da6,{'pageName':_0x5a8022,'templateName':_0x516beb});}}catch(_0x3155f0){if(_0x159499){const _0x45d8e5=Date[_0x25042d(0x183)]()-_0x1cce03;logger[_0x25042d(0x18d)](_0x25042d(0x16d),_0x25042d(0x1a7),{'templatePath':_0x576822,'targetPath':_0x5ae9eb,'pageName':_0x5a8022,'templateName':_0x516beb,'error':_0x3155f0 instanceof Error?_0x3155f0[_0x25042d(0x19c)]:String(_0x3155f0),'duration':_0x45d8e5});}throw _0x3155f0;}}static async['processDirectory'](_0x3bab39,_0x871fea,_0x21b010,_0xaf1248){const _0x3007d3=a321_0x596c0f,_0x57b5a8=await a321_0x512d7b[_0x3007d3(0x179)]['readdir'](_0x3bab39,{'withFileTypes':!![]});for(const _0x48530f of _0x57b5a8){const _0x3dc429=a321_0x30d407['join'](_0x3bab39,_0x48530f[_0x3007d3(0x190)]);let _0x4ce179=a321_0x30d407[_0x3007d3(0x172)](_0x871fea,_0x48530f[_0x3007d3(0x190)]);_0x48530f[_0x3007d3(0x190)][_0x3007d3(0x1ad)](_0x3007d3(0x1b0))&&(_0x4ce179=a321_0x30d407['join'](_0x871fea,_0x48530f[_0x3007d3(0x190)][_0x3007d3(0x191)](/\.tpl$/,'')));if(_0x48530f[_0x3007d3(0x18b)]())await a321_0x512d7b[_0x3007d3(0x179)]['mkdir'](_0x4ce179,{'recursive':!![]}),await this[_0x3007d3(0x188)](_0x3dc429,_0x4ce179,_0x21b010,_0xaf1248);else _0x48530f[_0x3007d3(0x197)]()&&await this[_0x3007d3(0x189)](_0x3dc429,_0x4ce179,_0x21b010,_0xaf1248);}}static async[a321_0x596c0f(0x189)](_0x42384b,_0x5d46f5,_0x40e5f4,_0x58f755){const _0x20e7c3=a321_0x596c0f,_0xd02dcb=a321_0x30d407[_0x20e7c3(0x1aa)](_0x42384b)['toLowerCase']();_0x42384b[_0x20e7c3(0x1ad)]('.tpl')&&(_0x5d46f5=_0x5d46f5[_0x20e7c3(0x191)](/\.tpl$/,''));const _0x3f7701=[_0x20e7c3(0x17b),_0x20e7c3(0x19a),'.jsx',_0x20e7c3(0x17a),'.json',_0x20e7c3(0x193),_0x20e7c3(0x1af),_0x20e7c3(0x1a9),_0x20e7c3(0x1b0)];if(_0x3f7701[_0x20e7c3(0x18f)](_0xd02dcb)||_0x42384b[_0x20e7c3(0x1ad)](_0x20e7c3(0x1b0))){const _0x24159c=await a321_0x512d7b[_0x20e7c3(0x179)][_0x20e7c3(0x194)](_0x42384b,'utf8'),_0x12223e=this[_0x20e7c3(0x178)](_0x24159c,_0x40e5f4,_0x58f755);await a321_0x512d7b[_0x20e7c3(0x179)]['writeFile'](_0x5d46f5,_0x12223e,_0x20e7c3(0x19f));}else await a321_0x512d7b[_0x20e7c3(0x179)][_0x20e7c3(0x19b)](_0x42384b,_0x5d46f5);}}
@@ -1 +1 @@
1
- (function(_0x41c129,_0x261b18){const _0x446787=a323_0x3ae5,_0x22c8b9=_0x41c129();while(!![]){try{const _0xa094de=parseInt(_0x446787(0x95))/0x1*(parseInt(_0x446787(0x94))/0x2)+parseInt(_0x446787(0x9b))/0x3*(parseInt(_0x446787(0xa9))/0x4)+parseInt(_0x446787(0xa1))/0x5*(-parseInt(_0x446787(0xb0))/0x6)+-parseInt(_0x446787(0x99))/0x7*(-parseInt(_0x446787(0xb4))/0x8)+parseInt(_0x446787(0xa8))/0x9+-parseInt(_0x446787(0x97))/0xa*(-parseInt(_0x446787(0xa6))/0xb)+-parseInt(_0x446787(0xad))/0xc;if(_0xa094de===_0x261b18)break;else _0x22c8b9['push'](_0x22c8b9['shift']());}catch(_0x2c50d7){_0x22c8b9['push'](_0x22c8b9['shift']());}}}(a323_0x4b86,0xedfaf));import{mkdir,readFile,writeFile}from'node:fs/promises';function a323_0x3ae5(_0x149779,_0x744749){_0x149779=_0x149779-0x94;const _0x4b860d=a323_0x4b86();let _0x3ae514=_0x4b860d[_0x149779];return _0x3ae514;}import{homedir}from'node:os';import{dirname,join}from'node:path';import a323_0x1f164b from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';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 _0x3f367d=a323_0x3ae5,_0x20691e=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x3f367d(0xac)]()[_0x3f367d(0xb1)]();return _0x20691e==='1'||_0x20691e===_0x3f367d(0x9d)||_0x20691e===_0x3f367d(0xa5);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x158ee0=a323_0x3ae5;return join(cacheRoot(),_0x158ee0(0x98),_0x158ee0(0xaf));}function a323_0x4b86(){const _0x26e160=['36757548mJieSg','parse','update-check.json','213594tPblqq','toLowerCase','lastNotifiedAt','checkedAt','273816RYalKt','latest','805762JLDOvv','3ixjyyH','stableVersion','13313430XqcdkL','rabetbase-cli','63DlolBr','now','3InoLiJ','object','true','valid','gte','\x20available,\x20current\x20','190KavgiU','lastNotifiedVersion','\x20update','number','yes','11fKfjUI','https://www.npmjs.com/package/','12284073mAsZmM','4710928ERuUOU',',\x20run:\x20','stringify','trim'];a323_0x4b86=function(){return _0x26e160;};return a323_0x4b86();}async function readUpdateNoticeCache(){const _0x454121=a323_0x3ae5;try{const _0x446dd6=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x59b5cc=JSON[_0x454121(0xae)](_0x446dd6);if(!_0x59b5cc||typeof _0x59b5cc!==_0x454121(0x9c))return{};return _0x59b5cc;}catch{return{};}}async function writeUpdateNoticeCache(_0x43e6dd){const _0x42ff95=a323_0x3ae5;try{const _0x5c791c=getUpdateNoticeCachePath();await mkdir(dirname(_0x5c791c),{'recursive':!![]}),await writeFile(_0x5c791c,JSON[_0x42ff95(0xab)](_0x43e6dd,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x22c12a,_0xf916a0){const _0x11186f=a323_0x3ae5;return typeof _0x22c12a[_0x11186f(0xb3)]==='number'&&_0xf916a0-_0x22c12a['checkedAt']<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x312b78,_0x2d7abe,_0x3ca124){const _0xd39d98=a323_0x3ae5;return _0x312b78[_0xd39d98(0xa2)]===_0x2d7abe&&typeof _0x312b78[_0xd39d98(0xb2)]===_0xd39d98(0xa4)&&_0x3ca124-_0x312b78[_0xd39d98(0xb2)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x574bce){const _0x22a8ae=a323_0x3ae5;return _0x22a8ae(0xa7)+NPM_PACKAGE_NAME+'/v/'+_0x574bce;}export async function resolveLatestUpdateNotice(){const _0x4e3336=a323_0x3ae5;if(isUpdateNoticeDisabled())return null;try{const _0x46bce5=Date[_0x4e3336(0x9a)](),_0x403e64=getCliVersion(),_0x4942d3=await readUpdateNoticeCache();let _0x3c47fa=isFreshCheck(_0x4942d3,_0x46bce5)?_0x4942d3[_0x4e3336(0xb5)]?.[_0x4e3336(0xac)]():undefined;if(!_0x3c47fa&&!isFreshCheck(_0x4942d3,_0x46bce5)){const _0x54a78a=await getCliVersionPolicy();_0x3c47fa=_0x54a78a?.[_0x4e3336(0x96)]?.[_0x4e3336(0xac)]()||undefined,await writeUpdateNoticeCache({..._0x4942d3,'checkedAt':_0x46bce5,'latest':_0x3c47fa,'failed':!_0x3c47fa});}if(!_0x3c47fa||!a323_0x1f164b[_0x4e3336(0x9e)](_0x403e64)||!a323_0x1f164b['valid'](_0x3c47fa))return null;if(a323_0x1f164b[_0x4e3336(0x9f)](_0x403e64,_0x3c47fa))return null;if(isRecentlyNotified(_0x4942d3,_0x3c47fa,_0x46bce5))return null;const _0x134274=CLI_BIN_NAME+_0x4e3336(0xa3);return await writeUpdateNoticeCache({..._0x4942d3,'checkedAt':isFreshCheck(_0x4942d3,_0x46bce5)?_0x4942d3['checkedAt']:_0x46bce5,'latest':_0x3c47fa,'failed':![],'lastNotifiedVersion':_0x3c47fa,'lastNotifiedAt':_0x46bce5}),{'command':_0x134274,'current':_0x403e64,'latest':_0x3c47fa,'url':buildNpmVersionUrl(_0x3c47fa),'message':CLI_BIN_NAME+'\x20'+_0x3c47fa+_0x4e3336(0xa0)+_0x403e64+_0x4e3336(0xaa)+_0x134274};}catch{return null;}}
1
+ (function(_0x4b139f,_0x1783ab){const _0x30f7a4=a322_0x1774,_0x591570=_0x4b139f();while(!![]){try{const _0xdf70be=-parseInt(_0x30f7a4(0x170))/0x1+parseInt(_0x30f7a4(0x179))/0x2*(-parseInt(_0x30f7a4(0x175))/0x3)+-parseInt(_0x30f7a4(0x177))/0x4*(-parseInt(_0x30f7a4(0x180))/0x5)+parseInt(_0x30f7a4(0x172))/0x6+-parseInt(_0x30f7a4(0x16e))/0x7*(-parseInt(_0x30f7a4(0x167))/0x8)+parseInt(_0x30f7a4(0x178))/0x9+parseInt(_0x30f7a4(0x17e))/0xa*(-parseInt(_0x30f7a4(0x164))/0xb);if(_0xdf70be===_0x1783ab)break;else _0x591570['push'](_0x591570['shift']());}catch(_0xa4dce3){_0x591570['push'](_0x591570['shift']());}}}(a322_0x26ba,0x2a8b1));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a322_0x59bc4e from'semver';function a322_0x1774(_0x12286e,_0x1cc5d1){_0x12286e=_0x12286e-0x161;const _0x26ba6c=a322_0x26ba();let _0x17740e=_0x26ba6c[_0x12286e];return _0x17740e;}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';function a322_0x26ba(){const _0x2aad62=['10484grCqhU','982206sqKnpg','40LgvZqq','lastNotifiedAt','object','stringify','gte','20bwTbLo','latest','140gmmldC','yes','https://www.npmjs.com/package/','rabetbase-cli','valid','1034099CbruEz',',\x20run:\x20','toLowerCase','5016FnlkUi','number','lastNotifiedVersion','trim','update-check.json','utf8','\x20update','3633MttCfe','true','125552HgIuIm','now','1459512KnhIvR','.cache','parse','39504JwWZlH','checkedAt'];a322_0x26ba=function(){return _0x2aad62;};return a322_0x26ba();}import{getCliVersionPolicy}from'../utils/cli-version-policy.js';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 _0x4f0a4d=a322_0x1774,_0x24f445=process.env.RABETBASE_NO_UPDATE_NOTICE?.['trim']()[_0x4f0a4d(0x166)]();return _0x24f445==='1'||_0x24f445===_0x4f0a4d(0x16f)||_0x24f445===_0x4f0a4d(0x181);}function cacheRoot(){const _0x26e338=a322_0x1774;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x26e338(0x173));}export function getUpdateNoticeCachePath(){const _0x67618f=a322_0x1774;return join(cacheRoot(),_0x67618f(0x162),_0x67618f(0x16b));}async function readUpdateNoticeCache(){const _0x132c08=a322_0x1774;try{const _0xeaddc2=await readFile(getUpdateNoticeCachePath(),_0x132c08(0x16c)),_0x5e1ec5=JSON[_0x132c08(0x174)](_0xeaddc2);if(!_0x5e1ec5||typeof _0x5e1ec5!==_0x132c08(0x17b))return{};return _0x5e1ec5;}catch{return{};}}async function writeUpdateNoticeCache(_0x29b828){const _0x2df3bf=a322_0x1774;try{const _0xe8ed0a=getUpdateNoticeCachePath();await mkdir(dirname(_0xe8ed0a),{'recursive':!![]}),await writeFile(_0xe8ed0a,JSON[_0x2df3bf(0x17c)](_0x29b828,null,0x2)+'\x0a',_0x2df3bf(0x16c));}catch{}}function isFreshCheck(_0x568580,_0x309a14){const _0x1b72c7=a322_0x1774;return typeof _0x568580[_0x1b72c7(0x176)]===_0x1b72c7(0x168)&&_0x309a14-_0x568580[_0x1b72c7(0x176)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x4e4a7a,_0x3d1b68,_0x54f8cf){const _0xeb8525=a322_0x1774;return _0x4e4a7a[_0xeb8525(0x169)]===_0x3d1b68&&typeof _0x4e4a7a[_0xeb8525(0x17a)]===_0xeb8525(0x168)&&_0x54f8cf-_0x4e4a7a[_0xeb8525(0x17a)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x31e363){const _0x1676d9=a322_0x1774;return _0x1676d9(0x161)+NPM_PACKAGE_NAME+'/v/'+_0x31e363;}export async function resolveLatestUpdateNotice(){const _0x438880=a322_0x1774;if(isUpdateNoticeDisabled())return null;try{const _0x154bce=Date[_0x438880(0x171)](),_0x3fcd78=getCliVersion(),_0x2be4ee=await readUpdateNoticeCache();let _0x3c9b8a=isFreshCheck(_0x2be4ee,_0x154bce)?_0x2be4ee[_0x438880(0x17f)]?.[_0x438880(0x16a)]():undefined;if(!_0x3c9b8a&&!isFreshCheck(_0x2be4ee,_0x154bce)){const _0x505f70=await getCliVersionPolicy();_0x3c9b8a=_0x505f70?.['stableVersion']?.[_0x438880(0x16a)]()||undefined,await writeUpdateNoticeCache({..._0x2be4ee,'checkedAt':_0x154bce,'latest':_0x3c9b8a,'failed':!_0x3c9b8a});}if(!_0x3c9b8a||!a322_0x59bc4e[_0x438880(0x163)](_0x3fcd78)||!a322_0x59bc4e['valid'](_0x3c9b8a))return null;if(a322_0x59bc4e[_0x438880(0x17d)](_0x3fcd78,_0x3c9b8a))return null;if(isRecentlyNotified(_0x2be4ee,_0x3c9b8a,_0x154bce))return null;const _0x172cb4=CLI_BIN_NAME+_0x438880(0x16d);return await writeUpdateNoticeCache({..._0x2be4ee,'checkedAt':isFreshCheck(_0x2be4ee,_0x154bce)?_0x2be4ee[_0x438880(0x176)]:_0x154bce,'latest':_0x3c9b8a,'failed':![],'lastNotifiedVersion':_0x3c9b8a,'lastNotifiedAt':_0x154bce}),{'command':_0x172cb4,'current':_0x3fcd78,'latest':_0x3c9b8a,'url':buildNpmVersionUrl(_0x3c9b8a),'message':CLI_BIN_NAME+'\x20'+_0x3c9b8a+'\x20available,\x20current\x20'+_0x3fcd78+_0x438880(0x165)+_0x172cb4};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x4f1f48,_0x852c23){var _0x4f017d=a324_0x39cd,_0x5c79a5=_0x4f1f48();while(!![]){try{var _0x457b74=-parseInt(_0x4f017d(0x1ac))/0x1*(parseInt(_0x4f017d(0x1aa))/0x2)+-parseInt(_0x4f017d(0x1a8))/0x3+-parseInt(_0x4f017d(0x1a7))/0x4*(-parseInt(_0x4f017d(0x1ae))/0x5)+-parseInt(_0x4f017d(0x1ab))/0x6+-parseInt(_0x4f017d(0x1ad))/0x7+-parseInt(_0x4f017d(0x1a9))/0x8+parseInt(_0x4f017d(0x1af))/0x9;if(_0x457b74===_0x852c23)break;else _0x5c79a5['push'](_0x5c79a5['shift']());}catch(_0x117901){_0x5c79a5['push'](_0x5c79a5['shift']());}}}(a324_0x3181,0x4c9a3));import{VERSION}from'../generated/build-info.js';function a324_0x39cd(_0x3a6cbd,_0x5924ec){_0x3a6cbd=_0x3a6cbd-0x1a7;var _0x3181f3=a324_0x3181();var _0x39cdeb=_0x3181f3[_0x3a6cbd];return _0x39cdeb;}export function getCliVersion(){return VERSION;}function a324_0x3181(){var _0xc4dec5=['151805ESToUl','19334619FOzqHv','44nSwOTT','1743927rhCXPX','4612232qsKtLc','4460DduKSB','1450890SDaIBP','223HHNTBf','1900892VaVNVu'];a324_0x3181=function(){return _0xc4dec5;};return a324_0x3181();}
1
+ (function(_0x302517,_0x25114a){var _0x3d27a3=a323_0x375b,_0x2f731c=_0x302517();while(!![]){try{var _0x22577c=parseInt(_0x3d27a3(0x188))/0x1*(parseInt(_0x3d27a3(0x18b))/0x2)+-parseInt(_0x3d27a3(0x192))/0x3+parseInt(_0x3d27a3(0x190))/0x4+parseInt(_0x3d27a3(0x18c))/0x5*(parseInt(_0x3d27a3(0x18d))/0x6)+-parseInt(_0x3d27a3(0x18f))/0x7*(parseInt(_0x3d27a3(0x191))/0x8)+-parseInt(_0x3d27a3(0x189))/0x9*(-parseInt(_0x3d27a3(0x18a))/0xa)+parseInt(_0x3d27a3(0x18e))/0xb;if(_0x22577c===_0x25114a)break;else _0x2f731c['push'](_0x2f731c['shift']());}catch(_0x3ad065){_0x2f731c['push'](_0x2f731c['shift']());}}}(a323_0x4ec0,0x80358));function a323_0x4ec0(){var _0x5468d8=['1841HxDpYn','2443444vTkCLv','25016VAWpEe','618567afzbzz','7TXNeki','2315583Wmbumb','10jKFyWU','67406coHpqu','40DNCEdO','152076mtjJgK','2715867bpsElS'];a323_0x4ec0=function(){return _0x5468d8;};return a323_0x4ec0();}import{VERSION}from'../generated/build-info.js';function a323_0x375b(_0x3ccf5e,_0x16c171){_0x3ccf5e=_0x3ccf5e-0x188;var _0x4ec031=a323_0x4ec0();var _0x375bb4=_0x4ec031[_0x3ccf5e];return _0x375bb4;}export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- (function(_0x508464,_0x2d2dda){var _0x191e8b=a325_0x1db4,_0x4d9a68=_0x508464();while(!![]){try{var _0x4bf5fc=parseInt(_0x191e8b(0x17d))/0x1*(parseInt(_0x191e8b(0x182))/0x2)+-parseInt(_0x191e8b(0x181))/0x3+parseInt(_0x191e8b(0x17f))/0x4+parseInt(_0x191e8b(0x183))/0x5*(parseInt(_0x191e8b(0x17b))/0x6)+-parseInt(_0x191e8b(0x17a))/0x7*(parseInt(_0x191e8b(0x17e))/0x8)+-parseInt(_0x191e8b(0x180))/0x9+-parseInt(_0x191e8b(0x179))/0xa*(-parseInt(_0x191e8b(0x17c))/0xb);if(_0x4bf5fc===_0x2d2dda)break;else _0x4d9a68['push'](_0x4d9a68['shift']());}catch(_0x110637){_0x4d9a68['push'](_0x4d9a68['shift']());}}}(a325_0x29d8,0x4f2de));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a325_0x1db4(_0x384e7d,_0x1d1ac6){_0x384e7d=_0x384e7d-0x179;var _0x29d83f=a325_0x29d8();var _0x1db4cc=_0x29d83f[_0x384e7d];return _0x1db4cc;}export async function withActiveCookie(_0x2a23f1,_0x293b81){setActiveCookie(_0x2a23f1);try{return await _0x293b81();}finally{clearActiveCookie();}}function a325_0x29d8(){var _0x79431b=['58715uZYzDw','42472roLtkR','1519632jmwnSv','4452696wpCWbv','1445502FSKkUT','8kXLxQy','115OOYdRf','1019680aiMoQC','133VOFNcB','45702zSzKKr','66igkuTN'];a325_0x29d8=function(){return _0x79431b;};return a325_0x29d8();}
1
+ (function(_0x5e5adc,_0x5d8e46){var _0x50a60d=a324_0x230e,_0x5bd948=_0x5e5adc();while(!![]){try{var _0x1720a2=-parseInt(_0x50a60d(0x1b6))/0x1*(-parseInt(_0x50a60d(0x1b7))/0x2)+parseInt(_0x50a60d(0x1b4))/0x3*(parseInt(_0x50a60d(0x1b1))/0x4)+parseInt(_0x50a60d(0x1b0))/0x5+-parseInt(_0x50a60d(0x1b2))/0x6+-parseInt(_0x50a60d(0x1b3))/0x7+-parseInt(_0x50a60d(0x1af))/0x8+-parseInt(_0x50a60d(0x1b5))/0x9;if(_0x1720a2===_0x5d8e46)break;else _0x5bd948['push'](_0x5bd948['shift']());}catch(_0x2ba4f6){_0x5bd948['push'](_0x5bd948['shift']());}}}(a324_0x15f1,0xa7406));function a324_0x230e(_0x7412e0,_0x1bfc52){_0x7412e0=_0x7412e0-0x1af;var _0x15f11d=a324_0x15f1();var _0x230ed4=_0x15f11d[_0x7412e0];return _0x230ed4;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a324_0x15f1(){var _0x144f88=['7144792pzLwoD','4266045uTsHao','1753676KKjASw','1747764LlLaNz','1489068OXidRm','3kyXewu','2620647fYdqhg','540867bSNcXZ','4SIeViF'];a324_0x15f1=function(){return _0x144f88;};return a324_0x15f1();}export async function withActiveCookie(_0x131887,_0x2065aa){setActiveCookie(_0x131887);try{return await _0x2065aa();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- (function(_0x1e6d65,_0x5cf31b){var _0x39a3e4=a326_0x1cf6,_0x54e352=_0x1e6d65();while(!![]){try{var _0x30976e=-parseInt(_0x39a3e4(0x93))/0x1+-parseInt(_0x39a3e4(0x95))/0x2+parseInt(_0x39a3e4(0x8f))/0x3*(parseInt(_0x39a3e4(0x90))/0x4)+parseInt(_0x39a3e4(0x8d))/0x5*(-parseInt(_0x39a3e4(0x94))/0x6)+-parseInt(_0x39a3e4(0x8c))/0x7*(-parseInt(_0x39a3e4(0x92))/0x8)+-parseInt(_0x39a3e4(0x91))/0x9*(parseInt(_0x39a3e4(0x8b))/0xa)+parseInt(_0x39a3e4(0x8e))/0xb;if(_0x30976e===_0x5cf31b)break;else _0x54e352['push'](_0x54e352['shift']());}catch(_0x26d72c){_0x54e352['push'](_0x54e352['shift']());}}}(a326_0x1912,0x204db));export function writeCliSideChannelLine(_0x36c014){process['stderr']['write'](_0x36c014+'\x0a');}function a326_0x1cf6(_0x590acf,_0x54b24d){_0x590acf=_0x590acf-0x8b;var _0x191210=a326_0x1912();var _0x1cf603=_0x191210[_0x590acf];return _0x1cf603;}function a326_0x1912(){var _0x43cde0=['20BHRUyL','7NVWWfr','1006795HfCImF','5446771CLXEzj','145107PHKXRr','4CZnzvY','292374cypTkw','834064HXZNDk','28691BgfKWr','6OSGLOj','440902rAecXX'];a326_0x1912=function(){return _0x43cde0;};return a326_0x1912();}
1
+ function a325_0x2919(_0x128299,_0x334d44){_0x128299=_0x128299-0xe2;var _0xd965e=a325_0xd965();var _0x29192a=_0xd965e[_0x128299];return _0x29192a;}function a325_0xd965(){var _0x5f1ab1=['19374jlHxVO','1349000bJZSjf','5370fvzExw','97706vINqWr','537468NCQLfT','3573qHVXEZ','2aFqtda','205084FRUMhz','stderr','14BFbbcX','182008tUYgRM'];a325_0xd965=function(){return _0x5f1ab1;};return a325_0xd965();}(function(_0x51c7cd,_0x5ac9a0){var _0x4e9702=a325_0x2919,_0x31b0b4=_0x51c7cd();while(!![]){try{var _0x45b34d=-parseInt(_0x4e9702(0xe8))/0x1*(parseInt(_0x4e9702(0xe5))/0x2)+parseInt(_0x4e9702(0xe2))/0x3+-parseInt(_0x4e9702(0xe9))/0x4+parseInt(_0x4e9702(0xe3))/0x5+-parseInt(_0x4e9702(0xe6))/0x6*(parseInt(_0x4e9702(0xeb))/0x7)+-parseInt(_0x4e9702(0xec))/0x8+parseInt(_0x4e9702(0xe7))/0x9*(parseInt(_0x4e9702(0xe4))/0xa);if(_0x45b34d===_0x5ac9a0)break;else _0x31b0b4['push'](_0x31b0b4['shift']());}catch(_0x37aabe){_0x31b0b4['push'](_0x31b0b4['shift']());}}}(a325_0xd965,0x21d43));export function writeCliSideChannelLine(_0x38fe56){var _0x6c0291=a325_0x2919;process[_0x6c0291(0xea)]['write'](_0x38fe56+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.2-beta.3",
3
+ "version": "2.5.2-beta.4",
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": [
@@ -83,6 +83,7 @@
83
83
  "skills/rabetbase",
84
84
  "skills/rabetbase.manifest.json",
85
85
  "scripts/postinstall.mjs",
86
+ "templates/custom-pages",
86
87
  "templates/generate-api",
87
88
  "sidecar",
88
89
  "README.md",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.2-beta.3
3
+ version: 2.5.2-beta.4
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:
@@ -89,7 +89,7 @@ metadata:
89
89
  7. **自定义页面工作流**
90
90
  - 自定义页面与数据列表页是两类独立页面能力,不混用两类页面的命令
91
91
  - 创建、修改或发布前,必须先阅读 [`custom-page-workflow.md`](guides/custom-page-workflow.md),再按其中的编排读取对应原子命令 reference
92
- - 编写 JSX、CSS 或词包前,必须阅读 [`generation-standards.md`](knowledge/custom-page/generation-standards.md);选择 UI 组件时阅读 [`components.md`](knowledge/custom-page/components.md)
92
+ - 编写 JSX、CSS 或词包前,必须阅读 [`generation-standards.md`](knowledge/custom-page/generation-standards.md);选择 UI 组件时阅读 [`components.md`](knowledge/components.md)
93
93
  8. **Legacy modernization / Application Blueprint 工作流**
94
94
  - 当用户要把无人交接老项目、外包接手项目或遗留系统翻新到 Lovrabet 体系时,先阅读 [`guides/legacy-application-blueprint-workflow.md`](guides/legacy-application-blueprint-workflow.md)
95
95
  - 主产物是 `.rabetbase/blueprint/<appCode>/application-blueprint.md`,不是直接生成或推送 SQL/Backend Function
@@ -161,7 +161,7 @@ metadata:
161
161
  - **写操作默认当前项目**(包括 `config init`、`workspace add`、`config set`、`project create` 等),除非用户**显式**传 `--global`。
162
162
  - **不要**在用户未要求时给命令加 `--global`** — 默认行为已是「项目优先」;只有用户明确要改全局配置或不在项目内且意图写全局时才使用。
163
163
  - **`config set`**:在**没有**项目配置文件(当前目录未解析到 `.rabetbase.json`)且**未**传 `--global` 时,CLI **拒绝执行**并提示使用 `--global` 或先 `rabetbase workspace init --appcode <code>`,**不会**静默写入全局。
164
- - **`project create`** 生成的新项目 `.rabetbase.json` **只继承**少量全局偏好(如 `cookie` / `locale` / `format` / `riskLevel` 等),**不会**把全局 `apps` / `defaultApp` 带入新项目文件;同时生成浏览器安全的 `src/api/sdk-config.ts` 与 `rabetbase.domain-routing.json`。每个官方节点直接声明自己的第三方库 CDN 与 Lovrabet 自有资源 Domain;项目文件始终包含解析后的完整地址,企业独立部署从共用清单读取显式 CDN。两个生成文件都不下发认证配置;Domain 配置变化后用 `project domain-routing-sync` 刷新项目快照,`api pull` 只刷新 SDK/API 文件。
164
+ - **`project create`** 生成的新项目 `.rabetbase.json` **只继承**少量全局偏好(如 `cookie` / `locale` / `format` / `riskLevel` 等),**不会**把全局 `apps` / `defaultApp` 带入新项目文件;同时生成浏览器安全的 `src/api/sdk-config.ts` 与 `rabetbase.domain-routing.json`。每个官方节点直接声明自己的第三方库 CDN 与 Lovrabet 自有资源 Domain;项目文件始终包含解析后的完整地址,企业独立部署从共用清单读取显式 CDN。两个生成文件都不下发认证配置;`rabetbase run start|dev|build|preview` 会在执行脚本前刷新公开 Domain 快照,也可用 `project domain-routing-sync` 立即显式刷新;`api pull` 只刷新 SDK/API 文件。
165
165
  - **`api pull` / `api list`**:默认仅针对**项目** `apps`;需要合并全局已登记应用时加 `--global`(见各命令 reference)。
166
166
  - **`app list`**:默认展示**合并**后的全量;`--global` 仅全局、`--project` 仅项目(见 [`rabetbase app list`](references/rabetbase-app-list.md))。
167
167
 
@@ -358,10 +358,10 @@ const result = await client.bff.execute<DashboardData>({
358
358
  | 审计数据集关联关系 | [`rabetbase dataset relation-audit`](references/rabetbase-dataset-relation-audit.md) | 只读审计关系事实结构错误、风险和人工复核项 |
359
359
  | 管理单条数据集关联关系 | [`rabetbase dataset relation-create/update/delete`](references/rabetbase-dataset-relation-mutations.md) | 单条关系写入;写入前用 `relations` 确认 `datasetCode + field` 关系事实,DB_TABLE 写入所需表名来自显式参数或物理表事实 |
360
360
  | 首次生成数据列表页 | [`rabetbase page generate-start --datasetcode <code>`](references/rabetbase-page-generate-start.md) | 提交或复用服务端异步任务 |
361
- | 创建自定义页面 | [`rabetbase page create --page-pattern BLANK --name "客户看板"`](references/rabetbase-page-create.md) | 当前只发布 `BLANK` 模式;创建 JSX/CSS/词包及菜单;先 dry-run |
361
+ | 创建自定义页面 | [`rabetbase page create --page-pattern BLANK --name "客户看板"`](references/rabetbase-page-create.md) | 综合操作页面优先使用 `ONEPAGE`,业务数据可视化使用 `DASHBOARD`,基础页面使用 `BLANK`;模板详情见 [`page-templates.md`](knowledge/custom-page/page-templates.md),也可通过 `--page-dir` 创建完整页面;先 dry-run |
362
362
  | 查询自定义页面 | [`rabetbase page custom-list`](references/rabetbase-page-custom-list.md) | 返回页面 ID、页面名称、`pageUrl`(查看最新保存内容)和 `editPageUrl`(打开编辑器) |
363
363
  | 查看自定义页面详情 | [`rabetbase page custom-detail --id <pageId>`](references/rabetbase-page-custom-detail.md) | 查询页面详情,`codeContent` 包含可修改后整体提交的完整页面文件 |
364
- | 更新自定义页面 | [`rabetbase page custom-update --id <pageId> --page-content <json>`](references/rabetbase-page-custom-update.md) | 保存完整页面文件并创建新版本;先 dry-run |
364
+ | 更新自定义页面 | [`rabetbase page custom-update --id <pageId> --page-dir <dir>`](references/rabetbase-page-custom-update.md) | 以最新完整页面内容为基线更新,可参考 `BLANK`、`ONEPAGE` 或 `DASHBOARD` 的页面和交互模式;先 dry-run |
365
365
  | 发布自定义页面 | [`rabetbase page custom-publish --id <pageId>`](references/rabetbase-page-custom-publish.md) | `write`;发布当前保存内容,先 dry-run 并审阅预览 |
366
366
  | 查询数据列表页生成任务状态 | [`rabetbase page generate-status --datasetcode <code> --operation-id <id>`](references/rabetbase-page-generate-status.md) | 查询 job 状态,支持 `operationId` / `clientOperationId` |
367
367
  | 查询数据列表页生成任务状态 | [`rabetbase page generate-status --datasetcode <code> --task-id <id>`](references/rabetbase-page-generate-status.md) | 查询 job 状态;taskId 首选,operationId/clientOperationId 兼容。成功后仍读取数据列表页事实,未知状态不得自动重提 |
@@ -20,10 +20,24 @@
20
20
  ### 新建页面
21
21
 
22
22
  1. 先阅读 [`rabetbase-page-create.md`](../references/rabetbase-page-create.md)
23
- 2. 使用基础模板时传 `--page-pattern BLANK`;已有完整源码时只传 `--page-content`。先执行 `page create --dry-run`,确认页面名称、父菜单和最终页面文件
24
- 3. 经用户确认后创建页面,记录 `data.after.pageId`。新页面默认尚未发布
25
- 4. 执行 `page custom-detail --id <pageId>`,以 `data.codeContent` 中的完整页面文件为修改基线
26
- 5. 需要定制初始文件时,再按“更新页面”流程保存完整页面文件
23
+ 2. 阅读 [`page-templates.md`](../knowledge/custom-page/page-templates.md),先判断内置模板能否作为页面的主要结构和交互起点;适合时选择 `BLANK`、`ONEPAGE` `DASHBOARD`,不适合时按完整页面内容创建。模板也可在创建或更新页面时作为布局、主题和交互实现参考
24
+ 3. 根据模板判断和本地内容情况选择创建方式:
25
+
26
+ | 内容来源 | 处理方式 |
27
+ |---|---|
28
+ | 使用内置模板 | 直接传 `--page-pattern <BLANK|ONEPAGE|DASHBOARD>`,由 CLI 读取对应模板 |
29
+ | 不使用内置模板,且没有本地已有内容 | 在当前工作目录创建临时专用页面目录,生成完整 JSX、样式、词包和组件文件,再将该目录传给 `--page-dir <dir>` |
30
+ | 本地已有完整页面目录 | 直接将该目录传给 `--page-dir <dir>`,无需创建临时目录或重新生成内容 |
31
+
32
+ 模板只能作为局部实现参考,或创建后需要替换其中大部分文件时,按不使用内置模板处理,直接准备完整页面目录并使用 `--page-dir`。
33
+
34
+ `--page-pattern` 与 `--page-dir` 必须且只能选择一个;两者同时提供、均未提供,或 `--page-dir` 指向空目录时,本地校验失败。CLI 会递归读取 `--page-dir` 指向的目录并转换为页面请求内容,Agent 不得自行拼接或转码 `page-content` JSON
35
+ 4. 先使用与正式创建相同的 `--page-pattern` 或 `--page-dir` 参数执行 `page create --dry-run`,确认页面名称、父菜单和最终页面文件
36
+ 5. 经用户确认后执行正式创建命令
37
+ 6. 仅当步骤 2 为从零生成内容而创建了临时目录时,流程成功、失败、中断或用户取消后都删除该目录;删除范围仅限本次创建的临时目录,不得删除用户已有页面目录
38
+ 7. 创建成功时记录 `data.after.pageId`。新页面默认尚未发布
39
+ 8. 执行 `page custom-detail --id <pageId>`,以 `data.codeContent` 中的完整页面文件为修改基线
40
+ 9. 需要定制初始文件时,再按“更新页面”流程保存完整页面文件
27
41
 
28
42
  创建页面会同时创建菜单入口。不得额外调用菜单创建命令重复创建入口。
29
43
 
@@ -37,15 +51,18 @@
37
51
  ### 更新页面
38
52
 
39
53
  1. 阅读 [`rabetbase-page-custom-update.md`](../references/rabetbase-page-custom-update.md)
40
- 2. 将新增、修改和保留的所有文件整理为完整 `page-content` JSON
41
- 3. 先执行 `page custom-update --dry-run` 审阅完整页面文件
42
- 4. 经用户确认后执行更新
43
- 5. 再执行 `page custom-detail --id <pageId>`,确认 `codeContent` 已包含预期文件和内容
44
- 6. 已发布页面更新后,最新保存内容需要再次发布,用户访问的已发布页面才能看到本次修改
54
+ 2. `page custom-detail` 返回的最新完整页面内容为修改基线
55
+ 3. 需要调整页面模式或交互时,可参考 `BLANK`、`ONEPAGE` `DASHBOARD` 的布局、主题和交互实现,按实际需求选择性合并;模板仅作为实现参考,不直接覆盖已有页面
56
+ 4. 将新增、修改和保留的所有文件整理到一个专用本地目录
57
+ 5. 先执行 `page custom-update --page-dir <dir> --dry-run` 审阅完整页面文件
58
+ 6. 经用户确认后执行更新
59
+ 7. 正式更新命令结束后,无论成功、失败或中断,都删除步骤 4 创建的临时页面目录,删除范围仅限该目录
60
+ 8. 再执行 `page custom-detail --id <pageId>`,确认 `codeContent` 已包含预期文件和内容
61
+ 9. 已发布页面更新后,最新保存内容需要再次发布,用户访问的已发布页面才能看到本次修改
45
62
 
46
- `page custom-update` 会完整保存页面文件:未提交的文件会被删除。不得仅提交本次修改的单个文件,也不得为删除文件再调用不存在的独立删除命令。
63
+ `page custom-update` 会完整保存页面文件:传入目录中未包含的文件会被删除。不得只保留本次修改的单个文件,也不得为删除文件再调用不存在的独立删除命令。
47
64
 
48
- 当前 CLI 没有逐文件新增、编辑或删除命令。将本地文件操作整理为完整 `codeContent` 后再调用 `custom-update`;每次更新都会创建一个新的保存版本,`custom-detail` 默认读取最新页面内容。
65
+ 当前 CLI 没有逐文件新增、编辑或删除命令。将本地文件操作整理到完整目录后再调用 `custom-update`;每次更新都会创建一个新的保存版本,`custom-detail` 默认读取最新页面内容。
49
66
 
50
67
  ### 发布页面
51
68
 
@@ -62,7 +79,8 @@
62
79
  自定义页面的 React JSX 实现有“未发布”和“已发布”两种状态。未发布的修改可通过 `pageUrl` 或编辑器查看,已发布页面只展示最近一次发布的内容。
63
80
 
64
81
  ```text
65
- page create --page-pattern BLANK
82
+ page create --page-pattern <BLANK|ONEPAGE|DASHBOARD>
83
+ 或 page create --page-dir <dir>
66
84
  → 未发布
67
85
  → 生成或更新完整页面文件
68
86
  → 未发布
@@ -139,7 +157,7 @@ page create --page-pattern BLANK
139
157
 
140
158
  编写页面内容前,先阅读 [`generation-standards.md`](../knowledge/custom-page/generation-standards.md)。
141
159
 
142
- - 选择、组合或新增 UI 组件时,按需阅读 [`components.md`](../knowledge/custom-page/components.md)
160
+ - 选择、组合或新增 UI 组件时,按需阅读 [`components.md`](../knowledge/components.md)
143
161
  - 调用页面上下文、国际化、路由或数据客户端时,按需阅读 `generation-standards.md` 中的“页面上下文内置能力”
144
162
  - 未登记的组件、方法、参数和返回结构不得猜测,先补充确认后的规范再复用
145
163
 
@@ -157,14 +175,14 @@ src/components/*.jsx
157
175
  代码遵循以下约束:
158
176
 
159
177
  - 仅导入 [`generation-standards.md`](../knowledge/custom-page/generation-standards.md)“依赖白名单”中的包及其子路径
160
- - 使用页面上下文时,从 `@/context/app-context` 导入 `useSdkClient`、`useI18n`、`useNavigate`、`useLocation`
178
+ - 使用页面上下文时,从 `@/context/app-context` 导入 `useSdkClient`、`useI18n`、`useNavigate`、`useLocation`、`useAppTheme`
161
179
  - 数据读取或写入前,先确认数据集及 SDK 用法;接口或字段无法从现有事实确认时,不得猜测请求协议
162
180
  - 所有用户可见文案通过 `$i18n.t("key")` 获取,并在 `src/locales/index.js` 提供有效翻译
163
181
  - 路由跳转使用 `navigate`,读取地址信息使用 `location`;关联页面优先使用 `navigate("/pagecode", { onePage: true })`
164
182
  - CSS 使用 Ant Design CSS 变量,不写死颜色或其他样式常量
165
183
  - 不新增白名单外依赖,不使用 `window.location`
166
184
 
167
- `--page-pattern BLANK` 时,`page create` 生成基础 JSX、样式和词包。首次自定义时,将初始文案和样式一并调整为上述约束后再发布,不把初始化模板视为最终页面实现。
185
+ 内置模板的本地文件、内容边界、mock 数据替换方式以及 `ONEPAGE`、`DASHBOARD` 交互设计统一见 [`page-templates.md`](../knowledge/custom-page/page-templates.md)。页面通过 `client` 访问真实业务数据的方式仍按 [`generation-standards.md`](../knowledge/custom-page/generation-standards.md) 执行。
168
186
 
169
187
  ## 页面内容自检
170
188
 
@@ -183,7 +201,7 @@ src/components/*.jsx
183
201
  ## 最小验证闭环
184
202
 
185
203
  ```text
186
- 新建:create --page-pattern BLANK --dry-run → create --page-pattern BLANK → custom-detail → [按需] custom-update --dry-run → custom-update → custom-detail → [尚未发布(status 非 FORMAL)且经确认] custom-publish --dry-run → custom-publish
204
+ 新建:选择 --page-pattern <BLANK|ONEPAGE|DASHBOARD> --page-dir <dir> 使用相同来源参数执行 create --dry-run create → custom-detail → [按需] custom-update --dry-run → custom-update → custom-detail → [尚未发布(status 非 FORMAL)且经确认] custom-publish --dry-run → custom-publish
187
205
 
188
206
  修改:custom-list(按需)→ custom-detail → custom-update --dry-run → custom-update → custom-detail → [尚未发布(status 非 FORMAL)且经确认] custom-publish --dry-run → custom-publish
189
207
  ```
@@ -198,5 +216,5 @@ CLI 当前不提供本地预览或独立删除命令。
198
216
  - [`rabetbase-page-custom-update.md`](../references/rabetbase-page-custom-update.md)
199
217
  - [`rabetbase-page-custom-publish.md`](../references/rabetbase-page-custom-publish.md)
200
218
  - [`generation-standards.md`](../knowledge/custom-page/generation-standards.md)
201
- - [`components.md`](../knowledge/custom-page/components.md)
219
+ - [`components.md`](../knowledge/components.md)
202
220
  - [`rabetbase-codegen-sdk.md`](../references/rabetbase-codegen-sdk.md)
@@ -39,7 +39,7 @@
39
39
  - 标准管理后台
40
40
  - 单数据集或轻度关联数据集
41
41
 
42
- 如果目标是工作台、看板、时间轴或复杂协作视图,它不属于数据列表页工作流,但仍然属于页面需求,应使用 `rabetbase page create --page-pattern BLANK` 或 `--page-content` 创建 CUSTOM JSX 页面。`rabetbase project` 表达的是独立子应用工程,不是页面类型,也不是复杂页面的兜底入口。
42
+ 综合操作页面、工作台、时间轴和复杂协作视图不走数据列表页工作流,应使用自定义页面。内置模板的选型、内容边界和交互模式见 [`page-templates.md`](../knowledge/custom-page/page-templates.md);已有完整页面文件时使用 `--page-dir <dir>`。`rabetbase project` 用于独立子应用工程,不作为自定义页面类型或复杂页面的兜底入口。
43
43
 
44
44
  ### 2. 校验数据集与关联页
45
45