@lovrabet/rabetbase-cli 2.5.2 → 2.5.3-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.d.ts +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/api/generate-sdk-config-file.d.ts +2 -1
  6. package/lib/api/generate-sdk-config-file.js +1 -1
  7. package/lib/auth/auth-server-ui.js +1 -1
  8. package/lib/auth/auth-server.js +1 -1
  9. package/lib/auth/constant.js +1 -1
  10. package/lib/auth/get-cookie.js +1 -1
  11. package/lib/auth/get-session-user.js +1 -1
  12. package/lib/auth/is-session-valid.js +1 -1
  13. package/lib/auth/login-success-html.js +1 -1
  14. package/lib/auth/logout.js +1 -1
  15. package/lib/cli-flags.js +1 -1
  16. package/lib/cli.js +1 -1
  17. package/lib/commands/api/generate.js +1 -1
  18. package/lib/commands/api/index.js +1 -1
  19. package/lib/commands/api/list.js +1 -1
  20. package/lib/commands/api/pull.js +1 -1
  21. package/lib/commands/api/shared.js +1 -1
  22. package/lib/commands/app/index.js +1 -1
  23. package/lib/commands/app/list.js +1 -1
  24. package/lib/commands/app/members-list.js +1 -1
  25. package/lib/commands/app/remote-directory.js +1 -1
  26. package/lib/commands/app/shared.js +1 -1
  27. package/lib/commands/app-config/delete.js +1 -1
  28. package/lib/commands/app-config/get.js +1 -1
  29. package/lib/commands/app-config/index.js +1 -1
  30. package/lib/commands/app-config/list.js +1 -1
  31. package/lib/commands/app-config/set.js +1 -1
  32. package/lib/commands/app-config/shared.js +1 -1
  33. package/lib/commands/auth/index.js +1 -1
  34. package/lib/commands/bff/create.js +1 -1
  35. package/lib/commands/bff/delete.js +1 -1
  36. package/lib/commands/bff/detail.js +1 -1
  37. package/lib/commands/bff/index.js +1 -1
  38. package/lib/commands/bff/list.js +1 -1
  39. package/lib/commands/bff/pull.js +1 -1
  40. package/lib/commands/bff/push.js +1 -1
  41. package/lib/commands/bff/status.js +1 -1
  42. package/lib/commands/cli-skill/index.js +1 -1
  43. package/lib/commands/cli-update.js +1 -1
  44. package/lib/commands/codegen/index.js +1 -1
  45. package/lib/commands/codegen/sdk.js +1 -1
  46. package/lib/commands/codegen/sql.js +1 -1
  47. package/lib/commands/common/app-registry.js +1 -1
  48. package/lib/commands/common/app-selector.js +1 -1
  49. package/lib/commands/common/async-task.js +1 -1
  50. package/lib/commands/common/dry-run.js +1 -1
  51. package/lib/commands/common/flags.js +1 -1
  52. package/lib/commands/common/local-file.js +1 -1
  53. package/lib/commands/common/validate.js +1 -1
  54. package/lib/commands/config/delete.js +1 -1
  55. package/lib/commands/config/get.js +1 -1
  56. package/lib/commands/config/index.js +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.js +1 -1
  68. package/lib/commands/dataset/field-update.js +1 -1
  69. package/lib/commands/dataset/generate.js +1 -1
  70. package/lib/commands/dataset/index.js +1 -1
  71. package/lib/commands/dataset/list.js +1 -1
  72. package/lib/commands/dataset/operations.js +1 -1
  73. package/lib/commands/dataset/relation-audit.js +1 -1
  74. package/lib/commands/dataset/relation-create.js +1 -1
  75. package/lib/commands/dataset/relation-delete.js +1 -1
  76. package/lib/commands/dataset/relation-shared.js +1 -1
  77. package/lib/commands/dataset/relation-update.js +1 -1
  78. package/lib/commands/dataset/relations.js +1 -1
  79. package/lib/commands/dataset/rename.js +1 -1
  80. package/lib/commands/dataset/restore.js +1 -1
  81. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  82. package/lib/commands/db/analysis-batching.js +1 -1
  83. package/lib/commands/db/analyze-batch-plan.js +1 -1
  84. package/lib/commands/db/analyze-cancel.js +1 -1
  85. package/lib/commands/db/analyze-start.js +1 -1
  86. package/lib/commands/db/analyze-status.js +1 -1
  87. package/lib/commands/db/create.js +1 -1
  88. package/lib/commands/db/delete.js +1 -1
  89. package/lib/commands/db/detail.js +1 -1
  90. package/lib/commands/db/diff-refresh-start.js +1 -1
  91. package/lib/commands/db/diff-refresh-status.js +1 -1
  92. package/lib/commands/db/diff.js +1 -1
  93. package/lib/commands/db/index.js +1 -1
  94. package/lib/commands/db/list.js +1 -1
  95. package/lib/commands/db/shared.js +1 -1
  96. package/lib/commands/db/table-diff-shared.js +1 -1
  97. package/lib/commands/db/tables.js +1 -1
  98. package/lib/commands/db/test.js +1 -1
  99. package/lib/commands/db/update.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/doctor.js +1 -1
  105. package/lib/commands/file/index.js +1 -1
  106. package/lib/commands/instant-api-policy/current.js +1 -1
  107. package/lib/commands/instant-api-policy/index.js +1 -1
  108. package/lib/commands/instant-api-policy/init.js +1 -1
  109. package/lib/commands/instant-api-policy/publish.js +1 -1
  110. package/lib/commands/instant-api-policy/pull.js +1 -1
  111. package/lib/commands/instant-api-policy/revision.js +1 -1
  112. package/lib/commands/instant-api-policy/revisions.js +1 -1
  113. package/lib/commands/instant-api-policy/rollback.js +1 -1
  114. package/lib/commands/instant-api-policy/shared.js +1 -1
  115. package/lib/commands/instant-api-policy/validate.js +1 -1
  116. package/lib/commands/issue/index.js +1 -1
  117. package/lib/commands/issue/nudge.js +1 -1
  118. package/lib/commands/issue/report.js +1 -1
  119. package/lib/commands/issue/shared.js +1 -1
  120. package/lib/commands/kb/create.js +1 -1
  121. package/lib/commands/kb/delete.js +1 -1
  122. package/lib/commands/kb/detail.js +1 -1
  123. package/lib/commands/kb/index.js +1 -1
  124. package/lib/commands/kb/list.js +1 -1
  125. package/lib/commands/kb/search.js +1 -1
  126. package/lib/commands/kb/shared.js +1 -1
  127. package/lib/commands/kb/update.js +1 -1
  128. package/lib/commands/logs/index.js +1 -1
  129. package/lib/commands/menu/asset-update.js +1 -1
  130. package/lib/commands/menu/delete.js +1 -1
  131. package/lib/commands/menu/external-link-create.js +1 -1
  132. package/lib/commands/menu/external-link-update.js +1 -1
  133. package/lib/commands/menu/group-create.js +1 -1
  134. package/lib/commands/menu/group-update.js +1 -1
  135. package/lib/commands/menu/index.js +1 -1
  136. package/lib/commands/menu/list.js +1 -1
  137. package/lib/commands/menu/move.js +1 -1
  138. package/lib/commands/menu/regroup-start.js +1 -1
  139. package/lib/commands/menu/rename.js +1 -1
  140. package/lib/commands/menu/shared/compare-table.js +1 -1
  141. package/lib/commands/menu/shared/delete-plan.js +1 -1
  142. package/lib/commands/menu/shared/facts.js +1 -1
  143. package/lib/commands/menu/shared/index.js +1 -1
  144. package/lib/commands/menu/shared/inquirer.js +1 -1
  145. package/lib/commands/menu/shared/local-pages.js +1 -1
  146. package/lib/commands/menu/shared/logic.js +1 -1
  147. package/lib/commands/menu/shared/mutations.js +1 -1
  148. package/lib/commands/menu/shared/service.js +1 -1
  149. package/lib/commands/menu/shared/sync-core.js +1 -1
  150. package/lib/commands/menu/shared/update-core.js +1 -1
  151. package/lib/commands/menu/shared/valid-url.js +1 -1
  152. package/lib/commands/menu/sync.js +1 -1
  153. package/lib/commands/menu/visibility-update.js +1 -1
  154. package/lib/commands/notification/config-create.js +1 -1
  155. package/lib/commands/notification/config-delete.js +1 -1
  156. package/lib/commands/notification/config-list.js +1 -1
  157. package/lib/commands/notification/config-update.js +1 -1
  158. package/lib/commands/notification/index.js +1 -1
  159. package/lib/commands/notification/shared.js +1 -1
  160. package/lib/commands/ocr/index.js +1 -1
  161. package/lib/commands/page/create.js +1 -1
  162. package/lib/commands/page/custom/detail.js +1 -1
  163. package/lib/commands/page/custom/list.js +1 -1
  164. package/lib/commands/page/custom/publish.js +1 -1
  165. package/lib/commands/page/custom/shared.js +1 -1
  166. package/lib/commands/page/custom/syntax.js +1 -1
  167. package/lib/commands/page/custom/update.js +1 -1
  168. package/lib/commands/page/data-list-status.js +1 -1
  169. package/lib/commands/page/generate-start.js +1 -1
  170. package/lib/commands/page/generate-status.js +1 -1
  171. package/lib/commands/page/index.js +1 -1
  172. package/lib/commands/page/pull.js +1 -1
  173. package/lib/commands/page/push.js +1 -1
  174. package/lib/commands/page/relation-audit.js +1 -1
  175. package/lib/commands/page/restore.js +1 -1
  176. package/lib/commands/page/shared.js +1 -1
  177. package/lib/commands/page/sync.js +1 -1
  178. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  179. package/lib/commands/project/create/format-elapsed.js +1 -1
  180. package/lib/commands/project/create/main.js +1 -1
  181. package/lib/commands/project/create/materialize-project-template.js +1 -1
  182. package/lib/commands/project/create/project-name.js +1 -1
  183. package/lib/commands/project/create/project-template-archive.js +1 -1
  184. package/lib/commands/project/create/project-template-path.js +1 -1
  185. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  186. package/lib/commands/project/create/use-format-code.js +1 -1
  187. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  188. package/lib/commands/project/domain-routing-sync.js +1 -1
  189. package/lib/commands/project/index.js +1 -1
  190. package/lib/commands/project/upgrade.js +1 -1
  191. package/lib/commands/registry.js +1 -1
  192. package/lib/commands/role/delete.js +1 -1
  193. package/lib/commands/role/detail.js +1 -1
  194. package/lib/commands/role/index.js +1 -1
  195. package/lib/commands/role/list.js +1 -1
  196. package/lib/commands/role/shared.js +1 -1
  197. package/lib/commands/role/update.js +1 -1
  198. package/lib/commands/role/user-add.js +1 -1
  199. package/lib/commands/role/user-remove.js +1 -1
  200. package/lib/commands/role/user-resolve.js +1 -1
  201. package/lib/commands/rule/get.js +1 -1
  202. package/lib/commands/rule/index.js +1 -1
  203. package/lib/commands/rule/list.js +1 -1
  204. package/lib/commands/rule/set.js +1 -1
  205. package/lib/commands/rule/shared.js +1 -1
  206. package/lib/commands/run/index.js +1 -1
  207. package/lib/commands/schema.js +1 -1
  208. package/lib/commands/sql/create.js +1 -1
  209. package/lib/commands/sql/delete.js +1 -1
  210. package/lib/commands/sql/detail.js +1 -1
  211. package/lib/commands/sql/exec.js +1 -1
  212. package/lib/commands/sql/index.js +1 -1
  213. package/lib/commands/sql/list.js +1 -1
  214. package/lib/commands/sql/pull.js +1 -1
  215. package/lib/commands/sql/push.js +1 -1
  216. package/lib/commands/sql/shared.js +1 -1
  217. package/lib/commands/sql/status.js +1 -1
  218. package/lib/commands/sql/validate.js +1 -1
  219. package/lib/commands/task/index.js +1 -1
  220. package/lib/commands/task/status.js +1 -1
  221. package/lib/commands/tenant/index.js +1 -1
  222. package/lib/commands/tenant/members-list.js +1 -1
  223. package/lib/commands/tenant/shared.js +1 -1
  224. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  225. package/lib/commands/user-account/index.js +1 -1
  226. package/lib/commands/workspace/add.js +1 -1
  227. package/lib/commands/workspace/index.js +1 -1
  228. package/lib/commands/workspace/remove.js +1 -1
  229. package/lib/config/domain-config.js +1 -1
  230. package/lib/config/project-domain-routing.js +1 -1
  231. package/lib/config/region-config.d.ts +23 -0
  232. package/lib/config/region-config.js +1 -0
  233. package/lib/config/schema.d.ts +15 -0
  234. package/lib/config/schema.js +1 -1
  235. package/lib/constant/cdn.js +1 -1
  236. package/lib/constant/cli.js +1 -1
  237. package/lib/constant/defaults.js +1 -1
  238. package/lib/constant/domain.js +1 -1
  239. package/lib/constant/env.js +1 -1
  240. package/lib/constant/output.js +1 -1
  241. package/lib/constant/paths.js +1 -1
  242. package/lib/constant/region.js +1 -1
  243. package/lib/constant/risk.js +1 -1
  244. package/lib/constant/routing-profile.js +1 -1
  245. package/lib/context/app-resolver.d.ts +6 -0
  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.d.ts +13 -0
  250. package/lib/context.js +1 -1
  251. package/lib/core/alias-resolver.js +1 -1
  252. package/lib/core/api-client.d.ts +2 -0
  253. package/lib/core/api-client.js +1 -1
  254. package/lib/core/bff/config.js +1 -1
  255. package/lib/core/bff/file-system.js +1 -1
  256. package/lib/core/bff/hash.js +1 -1
  257. package/lib/core/bff/lock.js +1 -1
  258. package/lib/core/bff/utils.js +1 -1
  259. package/lib/core/db-resolver.js +1 -1
  260. package/lib/core/instant-api-policy/config.js +1 -1
  261. package/lib/core/kb-search-client.js +1 -1
  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/page/lr-smart-jsx.d.ts +6 -0
  266. package/lib/core/page/lr-smart-jsx.js +1 -0
  267. package/lib/core/sql-index-auditor.js +1 -1
  268. package/lib/core/sql-sync/config.js +1 -1
  269. package/lib/core/sql-sync/file-system.js +1 -1
  270. package/lib/core/sql-sync/hash.js +1 -1
  271. package/lib/core/sql-sync/lock.js +1 -1
  272. package/lib/core/sql-sync/utils.js +1 -1
  273. package/lib/core/sql-validator.js +1 -1
  274. package/lib/errors.js +1 -1
  275. package/lib/framework/build-all-flags.js +1 -1
  276. package/lib/framework/error-output.js +1 -1
  277. package/lib/framework/explicit-yes.js +1 -1
  278. package/lib/framework/flags.js +1 -1
  279. package/lib/framework/help.js +1 -1
  280. package/lib/framework/index.js +1 -1
  281. package/lib/framework/output.js +1 -1
  282. package/lib/framework/response.js +1 -1
  283. package/lib/framework/runner-alias.js +1 -1
  284. package/lib/framework/runner.js +1 -1
  285. package/lib/framework/schema-export.js +1 -1
  286. package/lib/framework/supported-flags.js +1 -1
  287. package/lib/framework/types.js +1 -1
  288. package/lib/generated/build-info.d.ts +4 -4
  289. package/lib/generated/build-info.js +1 -1
  290. package/lib/generated/official-routing.js +1 -1
  291. package/lib/generated/routing-contract.js +1 -1
  292. package/lib/help.js +1 -1
  293. package/lib/postinstall.js +1 -1
  294. package/lib/runtime/confirmation.js +1 -1
  295. package/lib/runtime/event.js +1 -1
  296. package/lib/runtime/index.js +1 -1
  297. package/lib/runtime/queue.js +1 -1
  298. package/lib/runtime/resolve.js +1 -1
  299. package/lib/skills/builtin-skill.js +1 -1
  300. package/lib/skills/main.js +1 -1
  301. package/lib/skills/npx-skills-add.js +1 -1
  302. package/lib/skills/skill-presence.js +1 -1
  303. package/lib/telemetry/cli-command-trace.js +1 -1
  304. package/lib/telemetry/cli-help-trace.js +1 -1
  305. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  306. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  307. package/lib/telemetry/send-cli-trace-log.js +1 -1
  308. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  309. package/lib/types/index.d.ts +1 -1
  310. package/lib/utils/ai_config.js +1 -1
  311. package/lib/utils/apply-jq-filter.js +1 -1
  312. package/lib/utils/cdn-config.js +1 -1
  313. package/lib/utils/check-sdk-version.js +1 -1
  314. package/lib/utils/cli-version-check.js +1 -1
  315. package/lib/utils/cli-version-policy.js +1 -1
  316. package/lib/utils/config.d.ts +2 -8
  317. package/lib/utils/config.js +1 -1
  318. package/lib/utils/entity-with-id.js +1 -1
  319. package/lib/utils/file-utils.js +1 -1
  320. package/lib/utils/guides-cdn.js +1 -1
  321. package/lib/utils/http-client.js +1 -1
  322. package/lib/utils/is-non-interactive.js +1 -1
  323. package/lib/utils/logger.js +1 -1
  324. package/lib/utils/params.js +1 -1
  325. package/lib/utils/platform.js +1 -1
  326. package/lib/utils/sleep.js +1 -1
  327. package/lib/utils/template-replacer.d.ts +2 -1
  328. package/lib/utils/template-replacer.js +1 -1
  329. package/lib/utils/update-notice.js +1 -1
  330. package/lib/utils/version.js +1 -1
  331. package/lib/utils/with-active-cookie.js +1 -1
  332. package/lib/utils/write-cli-side-channel.js +1 -1
  333. package/package.json +1 -1
  334. package/skills/rabetbase/SKILL.md +6 -5
  335. package/skills/rabetbase/guides/page-development-workflow.md +3 -0
  336. package/skills/rabetbase/guides/sdk-client-generation.md +5 -5
  337. package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +11 -3
  338. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -4
  339. package/skills/rabetbase/references/rabetbase-app-list.md +3 -0
  340. package/skills/rabetbase/references/rabetbase-bff-list.md +1 -1
  341. package/skills/rabetbase/references/rabetbase-bff-pull.md +2 -0
  342. package/skills/rabetbase/references/rabetbase-bff-status.md +2 -0
  343. package/skills/rabetbase/references/rabetbase-config.md +10 -9
  344. package/skills/rabetbase/references/rabetbase-doctor.md +2 -2
  345. package/skills/rabetbase/references/rabetbase-page-push.md +5 -1
  346. package/skills/rabetbase/references/rabetbase-workspace.md +4 -2
  347. package/skills/rabetbase.manifest.json +3 -3
  348. package/templates/generate-api/client.ts.tpl +1 -1
@@ -1 +1 @@
1
- function a307_0x179c(_0x44a07e,_0x582936){_0x44a07e=_0x44a07e-0xeb;const _0x494a1e=a307_0x494a();let _0x179cc3=_0x494a1e[_0x44a07e];return _0x179cc3;}(function(_0x358b51,_0x2f6e8c){const _0x96d222=a307_0x179c,_0x42d72f=_0x358b51();while(!![]){try{const _0x47d939=-parseInt(_0x96d222(0x10b))/0x1*(-parseInt(_0x96d222(0x10d))/0x2)+parseInt(_0x96d222(0xf9))/0x3*(parseInt(_0x96d222(0x100))/0x4)+-parseInt(_0x96d222(0xf0))/0x5+parseInt(_0x96d222(0xee))/0x6+-parseInt(_0x96d222(0xf3))/0x7*(-parseInt(_0x96d222(0xfd))/0x8)+-parseInt(_0x96d222(0xf6))/0x9+-parseInt(_0x96d222(0x113))/0xa;if(_0x47d939===_0x2f6e8c)break;else _0x42d72f['push'](_0x42d72f['shift']());}catch(_0x46a57c){_0x42d72f['push'](_0x42d72f['shift']());}}}(a307_0x494a,0x76a76));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a307_0x1c266f from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x444c48){const _0x1a7c71=a307_0x179c,_0x2371da=_0x444c48['stableVersion']||_0x1a7c71(0x106);return _0x1a7c71(0xfc)+NPM_PACKAGE_NAME+'@'+_0x2371da;}function getCurrentCliVersion(){const _0x3b15aa=a307_0x179c;try{const _0x170bf7=fileURLToPath(import.meta.url),_0x334c2f=resolve(dirname(_0x170bf7),_0x3b15aa(0x112)),_0x59b5ac=resolve(_0x334c2f,_0x3b15aa(0xf2)),_0x40edf2=JSON[_0x3b15aa(0xed)](readFileSync(_0x59b5ac,_0x3b15aa(0xfe)));return _0x40edf2[_0x3b15aa(0x103)]||_0x3b15aa(0x107);}catch{return _0x3b15aa(0x107);}}export async function checkCliVersion(){const _0x94ecc=a307_0x179c,_0x5c4eda=getCurrentCliVersion(),_0x2f4555=await getCliVersionPolicy(),_0x4faa79=_0x2f4555?.[_0x94ecc(0x10e)]||null,_0x4fe6c7=_0x2f4555?.[_0x94ecc(0x10c)]||null;let _0xa64e80=![],_0x284c6b=![];const _0x3f0c09=a307_0x1c266f[_0x94ecc(0xf4)](_0x5c4eda);if(_0x3f0c09&&_0x4faa79)try{const _0x540a1d=a307_0x1c266f[_0x94ecc(0xf4)](_0x4faa79);if(_0x540a1d)_0xa64e80=a307_0x1c266f['lt'](_0x3f0c09,_0x540a1d);}catch{}if(_0x3f0c09&&_0x4fe6c7)try{const _0x8bb66a=a307_0x1c266f['coerce'](_0x4fe6c7);if(_0x8bb66a)_0x284c6b=a307_0x1c266f['lt'](_0x3f0c09,_0x8bb66a);}catch{}return _0x284c6b&&(_0xa64e80=!![]),{'currentVersion':_0x5c4eda,'stableVersion':_0x4faa79,'minimumVersion':_0x4fe6c7,'needsUpgrade':_0xa64e80,'belowMinimum':_0x284c6b,'isPreRelease':![],'upgradeMessage':_0x2f4555?.[_0x94ecc(0xfa)],'minimumVersionMessage':_0x2f4555?.[_0x94ecc(0xec)]};}function a307_0x494a(){const _0x4ccb2e=['upgradeMessage','belowMinimum','npm\x20install\x20-g\x20','184KsFFUa','utf-8','\x20\x20\x20Current\x20CLI\x20version:\x20','284YyCalE','\x20\x20\x20','\x1b[31m','version','↪\x20Critical\x20CLI\x20upgrade\x20required','\x1b[33m','latest','1.0.0','log','join','Minimum\x20supported:\x20','858892uPoWXq','minimumVersion','2DbOcqi','stableVersion','\x20\x20\x20Recommended\x20stable:\x20','validation','\x1b[0m','../..','11234440TzzqMY','currentVersion','\x1b[1m','minimumVersionMessage','parse','1816776cXnehI','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','435700wAwIDx','needsUpgrade','package.json','123963fpfrgW','coerce','\x20\x20\x20Upgrade\x20command:\x20','911142GgdpJX','Upgrade\x20command:\x20','Current\x20version:\x20','9669CYuOBd'];a307_0x494a=function(){return _0x4ccb2e;};return a307_0x494a();}export function printCliUpgradeWarning(_0x178488){const _0x2c03c3=a307_0x179c;if(!_0x178488[_0x2c03c3(0xf1)]&&!_0x178488['belowMinimum'])return;const _0x438298=_0x2c03c3(0x102),_0x5f29fb=_0x2c03c3(0x105),_0x473b60=_0x2c03c3(0x111),_0x25fe4a=_0x2c03c3(0xeb),_0x42da67=getCliUpgradeCommand(_0x178488);console[_0x2c03c3(0x108)](),_0x178488[_0x2c03c3(0xfb)]?(console[_0x2c03c3(0x108)](''+_0x438298+_0x25fe4a+_0x2c03c3(0x104)+_0x473b60),console[_0x2c03c3(0x108)](_0x438298+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0x178488[_0x2c03c3(0x114)]+_0x473b60),_0x178488[_0x2c03c3(0x10c)]&&console['log'](_0x438298+'\x20\x20\x20Minimum\x20supported:\x20'+_0x178488['minimumVersion']+_0x473b60),_0x178488[_0x2c03c3(0x10e)]&&_0x178488['stableVersion']!==_0x178488[_0x2c03c3(0x10c)]&&console['log'](_0x438298+_0x2c03c3(0x10f)+_0x178488[_0x2c03c3(0x10e)]+_0x473b60),_0x178488[_0x2c03c3(0xec)]&&console[_0x2c03c3(0x108)](_0x438298+_0x2c03c3(0x101)+_0x178488[_0x2c03c3(0xec)]+_0x473b60),console[_0x2c03c3(0x108)](_0x438298+'\x20\x20\x20Upgrade\x20command:\x20'+_0x42da67+_0x473b60)):(console[_0x2c03c3(0x108)](''+_0x5f29fb+_0x25fe4a+'↪\x20New\x20version\x20available'+_0x473b60),console[_0x2c03c3(0x108)](_0x5f29fb+_0x2c03c3(0xff)+_0x178488[_0x2c03c3(0x114)]+_0x473b60),console[_0x2c03c3(0x108)](_0x5f29fb+'\x20\x20\x20Stable\x20version:\x20'+_0x178488[_0x2c03c3(0x10e)]+_0x473b60),_0x178488[_0x2c03c3(0xfa)]&&console[_0x2c03c3(0x108)](_0x5f29fb+_0x2c03c3(0x101)+_0x178488[_0x2c03c3(0xfa)]+_0x473b60),console[_0x2c03c3(0x108)](_0x5f29fb+_0x2c03c3(0xf5)+_0x42da67+_0x473b60)),console[_0x2c03c3(0x108)]();}export function assertCliVersionSupported(_0x44327b){const _0x1e68cf=a307_0x179c;if(!_0x44327b[_0x1e68cf(0xfb)])return;const _0x1edd5d=[_0x44327b['minimumVersionMessage'],_0x1e68cf(0xf8)+_0x44327b[_0x1e68cf(0x114)],_0x44327b['minimumVersion']?_0x1e68cf(0x10a)+_0x44327b['minimumVersion']:null,_0x1e68cf(0xf7)+getCliUpgradeCommand(_0x44327b)]['filter'](Boolean)[_0x1e68cf(0x109)]('\x0a');throw CliErrors[_0x1e68cf(0x110)](_0x1e68cf(0xef),_0x1edd5d);}
1
+ function a309_0x2044(_0xde91d5,_0x2b4d55){_0xde91d5=_0xde91d5-0x1ed;const _0x38982f=a309_0x3898();let _0x2044a3=_0x38982f[_0xde91d5];return _0x2044a3;}(function(_0x557df,_0xcc7392){const _0x1c4708=a309_0x2044,_0x4c1698=_0x557df();while(!![]){try{const _0x5b246c=parseInt(_0x1c4708(0x1fe))/0x1+parseInt(_0x1c4708(0x1f1))/0x2*(parseInt(_0x1c4708(0x20f))/0x3)+-parseInt(_0x1c4708(0x1fc))/0x4*(-parseInt(_0x1c4708(0x1ee))/0x5)+parseInt(_0x1c4708(0x1ef))/0x6*(-parseInt(_0x1c4708(0x1f9))/0x7)+-parseInt(_0x1c4708(0x1f0))/0x8*(parseInt(_0x1c4708(0x206))/0x9)+-parseInt(_0x1c4708(0x1f6))/0xa+-parseInt(_0x1c4708(0x1f2))/0xb;if(_0x5b246c===_0xcc7392)break;else _0x4c1698['push'](_0x4c1698['shift']());}catch(_0x1bd232){_0x4c1698['push'](_0x4c1698['shift']());}}}(a309_0x3898,0xcec11));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';function a309_0x3898(){const _0x21a8a7=['1224GsKJMB','belowMinimum','737031gvmWmk','currentVersion','../..','Upgrade\x20command:\x20','latest','log','version','\x20\x20\x20Current\x20CLI\x20version:\x20','18nngLHp','minimumVersionMessage','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','\x1b[1m','minimumVersion','stableVersion','npm\x20install\x20-g\x20','\x20\x20\x20Stable\x20version:\x20','validation','123NPieXX','utf-8','Minimum\x20supported:\x20','\x1b[33m','coerce','↪\x20New\x20version\x20available','filter','↪\x20Critical\x20CLI\x20upgrade\x20required','package.json','\x1b[0m','\x20\x20\x20','25735vVsKLM','18gRygbv','1596584XAfFIY','45394PYHbzq','14674033MXZspH','parse','upgradeMessage','needsUpgrade','5381900zWeifT','\x20\x20\x20Recommended\x20stable:\x20','1.0.0','290234UzlXai','\x20\x20\x20Minimum\x20supported:\x20','Current\x20version:\x20'];a309_0x3898=function(){return _0x21a8a7;};return a309_0x3898();}import a309_0x576376 from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x4437ff){const _0x209e05=a309_0x2044,_0x56550f=_0x4437ff[_0x209e05(0x20b)]||_0x209e05(0x202);return _0x209e05(0x20c)+NPM_PACKAGE_NAME+'@'+_0x56550f;}function getCurrentCliVersion(){const _0x53888d=a309_0x2044;try{const _0x2eb159=fileURLToPath(import.meta.url),_0x133125=resolve(dirname(_0x2eb159),_0x53888d(0x200)),_0x41e087=resolve(_0x133125,_0x53888d(0x217)),_0x2b0d9a=JSON[_0x53888d(0x1f3)](readFileSync(_0x41e087,_0x53888d(0x210)));return _0x2b0d9a[_0x53888d(0x204)]||_0x53888d(0x1f8);}catch{return _0x53888d(0x1f8);}}export async function checkCliVersion(){const _0x4309bb=a309_0x2044,_0x510c70=getCurrentCliVersion(),_0x706df3=await getCliVersionPolicy(),_0x44af7f=_0x706df3?.['stableVersion']||null,_0x7f378f=_0x706df3?.[_0x4309bb(0x20a)]||null;let _0x5898f8=![],_0x18617f=![];const _0x1a72c8=a309_0x576376[_0x4309bb(0x213)](_0x510c70);if(_0x1a72c8&&_0x44af7f)try{const _0x5d89fe=a309_0x576376[_0x4309bb(0x213)](_0x44af7f);if(_0x5d89fe)_0x5898f8=a309_0x576376['lt'](_0x1a72c8,_0x5d89fe);}catch{}if(_0x1a72c8&&_0x7f378f)try{const _0x84ce8f=a309_0x576376[_0x4309bb(0x213)](_0x7f378f);if(_0x84ce8f)_0x18617f=a309_0x576376['lt'](_0x1a72c8,_0x84ce8f);}catch{}return _0x18617f&&(_0x5898f8=!![]),{'currentVersion':_0x510c70,'stableVersion':_0x44af7f,'minimumVersion':_0x7f378f,'needsUpgrade':_0x5898f8,'belowMinimum':_0x18617f,'isPreRelease':![],'upgradeMessage':_0x706df3?.[_0x4309bb(0x1f4)],'minimumVersionMessage':_0x706df3?.[_0x4309bb(0x207)]};}export function printCliUpgradeWarning(_0x41a706){const _0x4e8a92=a309_0x2044;if(!_0x41a706[_0x4e8a92(0x1f5)]&&!_0x41a706[_0x4e8a92(0x1fd)])return;const _0x34085c='\x1b[31m',_0x18fdfd=_0x4e8a92(0x212),_0x4efe4a=_0x4e8a92(0x218),_0x1fd835=_0x4e8a92(0x209),_0x3ee099=getCliUpgradeCommand(_0x41a706);console[_0x4e8a92(0x203)](),_0x41a706[_0x4e8a92(0x1fd)]?(console[_0x4e8a92(0x203)](''+_0x34085c+_0x1fd835+_0x4e8a92(0x216)+_0x4efe4a),console[_0x4e8a92(0x203)](_0x34085c+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0x41a706['currentVersion']+_0x4efe4a),_0x41a706[_0x4e8a92(0x20a)]&&console[_0x4e8a92(0x203)](_0x34085c+_0x4e8a92(0x1fa)+_0x41a706['minimumVersion']+_0x4efe4a),_0x41a706[_0x4e8a92(0x20b)]&&_0x41a706['stableVersion']!==_0x41a706['minimumVersion']&&console[_0x4e8a92(0x203)](_0x34085c+_0x4e8a92(0x1f7)+_0x41a706['stableVersion']+_0x4efe4a),_0x41a706[_0x4e8a92(0x207)]&&console[_0x4e8a92(0x203)](_0x34085c+_0x4e8a92(0x1ed)+_0x41a706[_0x4e8a92(0x207)]+_0x4efe4a),console[_0x4e8a92(0x203)](_0x34085c+'\x20\x20\x20Upgrade\x20command:\x20'+_0x3ee099+_0x4efe4a)):(console[_0x4e8a92(0x203)](''+_0x18fdfd+_0x1fd835+_0x4e8a92(0x214)+_0x4efe4a),console[_0x4e8a92(0x203)](_0x18fdfd+_0x4e8a92(0x205)+_0x41a706['currentVersion']+_0x4efe4a),console[_0x4e8a92(0x203)](_0x18fdfd+_0x4e8a92(0x20d)+_0x41a706[_0x4e8a92(0x20b)]+_0x4efe4a),_0x41a706[_0x4e8a92(0x1f4)]&&console[_0x4e8a92(0x203)](_0x18fdfd+_0x4e8a92(0x1ed)+_0x41a706[_0x4e8a92(0x1f4)]+_0x4efe4a),console[_0x4e8a92(0x203)](_0x18fdfd+'\x20\x20\x20Upgrade\x20command:\x20'+_0x3ee099+_0x4efe4a)),console[_0x4e8a92(0x203)]();}export function assertCliVersionSupported(_0x27659c){const _0x17618a=a309_0x2044;if(!_0x27659c[_0x17618a(0x1fd)])return;const _0x485013=[_0x27659c['minimumVersionMessage'],_0x17618a(0x1fb)+_0x27659c[_0x17618a(0x1ff)],_0x27659c[_0x17618a(0x20a)]?_0x17618a(0x211)+_0x27659c[_0x17618a(0x20a)]:null,_0x17618a(0x201)+getCliUpgradeCommand(_0x27659c)][_0x17618a(0x215)](Boolean)['join']('\x0a');throw CliErrors[_0x17618a(0x20e)](_0x17618a(0x208),_0x485013);}
@@ -1 +1 @@
1
- (function(_0x368a5d,_0x2391d4){const _0x117b63=a308_0x3a99,_0x3d4265=_0x368a5d();while(!![]){try{const _0x53f729=-parseInt(_0x117b63(0x1d2))/0x1+parseInt(_0x117b63(0x1db))/0x2*(-parseInt(_0x117b63(0x1ce))/0x3)+parseInt(_0x117b63(0x1cd))/0x4+parseInt(_0x117b63(0x1c6))/0x5*(parseInt(_0x117b63(0x1ca))/0x6)+parseInt(_0x117b63(0x1da))/0x7+-parseInt(_0x117b63(0x1d5))/0x8+parseInt(_0x117b63(0x1d6))/0x9;if(_0x53f729===_0x2391d4)break;else _0x3d4265['push'](_0x3d4265['shift']());}catch(_0x1abe2f){_0x3d4265['push'](_0x3d4265['shift']());}}}(a308_0x5799,0x7d014));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(_0x46165a){const _0x30deb5=a308_0x3a99;return typeof _0x46165a===_0x30deb5(0x1d7)&&_0x46165a[_0x30deb5(0x1d0)]()[_0x30deb5(0x1d8)]>0x0?_0x46165a[_0x30deb5(0x1d0)]():null;}function normalizeCliVersionPolicy(_0x67859a){const _0x562ec1=a308_0x3a99;if(!_0x67859a||typeof _0x67859a!=='object')return null;const _0x4e6928=_0x67859a,_0x243441=_0x4e6928[_0x562ec1(0x1c8)]&&typeof _0x4e6928[_0x562ec1(0x1c8)]===_0x562ec1(0x1d1)?_0x4e6928[_0x562ec1(0x1c8)]:_0x4e6928,_0x5e031=pickString(_0x243441[_0x562ec1(0x1d4)])||pickString(_0x243441['latestVersion'])||pickString(_0x243441[_0x562ec1(0x1cc)]),_0x21267e=pickString(_0x243441[_0x562ec1(0x1c7)])||pickString(_0x243441[_0x562ec1(0x1d9)]);if(!_0x5e031&&!_0x21267e)return null;return{'stableVersion':_0x5e031,'minimumVersion':_0x21267e,'upgradeMessage':pickString(_0x243441['upgradeMessage'])||undefined,'minimumVersionMessage':pickString(_0x243441[_0x562ec1(0x1cf)])||undefined};}function a308_0x3a99(_0x2b35bd,_0x56f174){_0x2b35bd=_0x2b35bd-0x1c6;const _0x5799fe=a308_0x5799();let _0x3a9925=_0x5799fe[_0x2b35bd];return _0x3a9925;}export async function fetchRabetbaseCdnConfig(){const _0x2b63fe=a308_0x3a99,_0x41a29e=new AbortController(),_0x4e43bc=setTimeout(()=>_0x41a29e[_0x2b63fe(0x1c9)](),FETCH_TIMEOUT_MS);try{const _0x29a843=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x2b63fe(0x1d3)},'signal':_0x41a29e[_0x2b63fe(0x1cb)]});if(!_0x29a843['ok'])return null;const _0x22dbfb=await _0x29a843['json']();return _0x22dbfb&&typeof _0x22dbfb===_0x2b63fe(0x1d1)?_0x22dbfb:null;}catch{return null;}finally{clearTimeout(_0x4e43bc);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}function a308_0x5799(){const _0x5ece64=['minVersion','6870591CAuAmV','252718LfpdoU','2320dBSTWD','minimumVersion','cli','abort','5862vSbpRc','signal','recommendedVersion','270336aiqvOn','24cadwbd','minimumVersionMessage','trim','object','4556XEWhor','application/json','stableVersion','6180592TXyiGE','7178373KSwUil','string','length'];a308_0x5799=function(){return _0x5ece64;};return a308_0x5799();}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x519258=Date['now']();if(hasCachedConfig){const _0x112620=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x519258-cacheTime<_0x112620)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x519258,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
1
+ (function(_0x59d6e1,_0x41fb85){const _0x1984f1=a310_0xa7a1,_0x33dadd=_0x59d6e1();while(!![]){try{const _0x3161d7=parseInt(_0x1984f1(0x13c))/0x1+parseInt(_0x1984f1(0x137))/0x2*(parseInt(_0x1984f1(0x12e))/0x3)+-parseInt(_0x1984f1(0x13f))/0x4*(-parseInt(_0x1984f1(0x12f))/0x5)+parseInt(_0x1984f1(0x139))/0x6*(-parseInt(_0x1984f1(0x13b))/0x7)+-parseInt(_0x1984f1(0x135))/0x8+parseInt(_0x1984f1(0x130))/0x9*(parseInt(_0x1984f1(0x131))/0xa)+parseInt(_0x1984f1(0x134))/0xb*(-parseInt(_0x1984f1(0x13d))/0xc);if(_0x3161d7===_0x41fb85)break;else _0x33dadd['push'](_0x33dadd['shift']());}catch(_0x36824c){_0x33dadd['push'](_0x33dadd['shift']());}}}(a310_0xbdd8,0x5b75d));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(_0xebba04){const _0x2ed2be=a310_0xa7a1;return typeof _0xebba04===_0x2ed2be(0x141)&&_0xebba04[_0x2ed2be(0x136)]()['length']>0x0?_0xebba04['trim']():null;}function a310_0xa7a1(_0x3ed0fb,_0x141d41){_0x3ed0fb=_0x3ed0fb-0x12d;const _0xbdd8a8=a310_0xbdd8();let _0xa7a1b2=_0xbdd8a8[_0x3ed0fb];return _0xa7a1b2;}function normalizeCliVersionPolicy(_0x140ece){const _0x25a00b=a310_0xa7a1;if(!_0x140ece||typeof _0x140ece!==_0x25a00b(0x132))return null;const _0x5e558b=_0x140ece,_0xcf7bf1=_0x5e558b[_0x25a00b(0x133)]&&typeof _0x5e558b[_0x25a00b(0x133)]===_0x25a00b(0x132)?_0x5e558b[_0x25a00b(0x133)]:_0x5e558b,_0x251b53=pickString(_0xcf7bf1[_0x25a00b(0x138)])||pickString(_0xcf7bf1['latestVersion'])||pickString(_0xcf7bf1['recommendedVersion']),_0x43bbd8=pickString(_0xcf7bf1[_0x25a00b(0x13a)])||pickString(_0xcf7bf1[_0x25a00b(0x140)]);if(!_0x251b53&&!_0x43bbd8)return null;return{'stableVersion':_0x251b53,'minimumVersion':_0x43bbd8,'upgradeMessage':pickString(_0xcf7bf1[_0x25a00b(0x13e)])||undefined,'minimumVersionMessage':pickString(_0xcf7bf1['minimumVersionMessage'])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0x5d3bcd=a310_0xa7a1,_0x2126f5=new AbortController(),_0x285841=setTimeout(()=>_0x2126f5['abort'](),FETCH_TIMEOUT_MS);try{const _0x492310=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':'application/json'},'signal':_0x2126f5[_0x5d3bcd(0x12d)]});if(!_0x492310['ok'])return null;const _0x3512d9=await _0x492310['json']();return _0x3512d9&&typeof _0x3512d9==='object'?_0x3512d9:null;}catch{return null;}finally{clearTimeout(_0x285841);}}function a310_0xbdd8(){const _0x32d998=['object','cli','25157sTRvMV','4387152kvefur','trim','2024QhHnel','stableVersion','2817048FVqGaa','minimumVersion','7XPAeAN','57462ePxlgd','2568rjJtoQ','upgradeMessage','4BYaEAr','minVersion','string','signal','1914eslOAq','3394145NtRXRU','18ttPIua','2499970lTUrud'];a310_0xbdd8=function(){return _0x32d998;};return a310_0xbdd8();}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x508c6f=Date['now']();if(hasCachedConfig){const _0x3c2e45=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x508c6f-cacheTime<_0x3c2e45)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x508c6f,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
@@ -4,6 +4,7 @@
4
4
  * 所有配置文件读写的底层实现统一在 context.ts 中。
5
5
  * 本模块保留历史导出接口,供旧命令使用。
6
6
  */
7
+ import { type MultiAppConfig } from "../context.js";
7
8
  export { getProjectConfigPath, getGlobalConfigPath } from "../context.js";
8
9
  export { isInProject } from "../context.js";
9
10
  export declare function readConfig(projectRoot?: string): Record<string, any> & {
@@ -13,14 +14,7 @@ export declare function readConfig(projectRoot?: string): Record<string, any> &
13
14
  template_base_url?: string;
14
15
  locale?: string;
15
16
  };
16
- export interface MultiAppConfig {
17
- name: string;
18
- appcode: string;
19
- isDefault: boolean;
20
- env?: string;
21
- apiDir?: string;
22
- cookie?: string;
23
- }
17
+ export type { MultiAppConfig } from "../context.js";
24
18
  /**
25
19
  * 获取配置的 AppCode
26
20
  * 优先级:多应用 defaultApp > 项目 appcode > 项目 app > 全局 appcode > 全局 app
@@ -1 +1 @@
1
- (function(_0x17c4a0,_0xb97f00){const _0x5a7de7=a309_0x1bb3,_0x48671f=_0x17c4a0();while(!![]){try{const _0x31cee7=-parseInt(_0x5a7de7(0x1af))/0x1*(-parseInt(_0x5a7de7(0x1a2))/0x2)+parseInt(_0x5a7de7(0x1b0))/0x3*(parseInt(_0x5a7de7(0x1ae))/0x4)+parseInt(_0x5a7de7(0x1aa))/0x5*(parseInt(_0x5a7de7(0x1a8))/0x6)+parseInt(_0x5a7de7(0x1ad))/0x7+-parseInt(_0x5a7de7(0x1ab))/0x8*(-parseInt(_0x5a7de7(0x1a4))/0x9)+parseInt(_0x5a7de7(0x1a9))/0xa*(-parseInt(_0x5a7de7(0x1a3))/0xb)+-parseInt(_0x5a7de7(0x1a6))/0xc*(parseInt(_0x5a7de7(0x1a5))/0xd);if(_0x31cee7===_0xb97f00)break;else _0x48671f['push'](_0x48671f['shift']());}catch(_0x2bb2c9){_0x48671f['push'](_0x48671f['shift']());}}}(a309_0x14ee,0x3ec23));import{initEnv}from'../constant/env.js';function a309_0x1bb3(_0x2e4679,_0x22cad4){_0x2e4679=_0x2e4679-0x1a2;const _0x14ee7e=a309_0x14ee();let _0x1bb337=_0x14ee7e[_0x2e4679];return _0x1bb337;}import{readRawConfig,getConfigAppCode as a309_0x40e033,getMultiAppConfigs as a309_0x36ba9c,getTemplateBaseUrl as a309_0xf39cef}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';export function readConfig(_0x4dcfdd){const _0x2c90f3=a309_0x1bb3,_0x5bb95d=readRawConfig(_0x4dcfdd);return _0x5bb95d[_0x2c90f3(0x1a7)]&&typeof _0x5bb95d[_0x2c90f3(0x1a7)]===_0x2c90f3(0x1ac)&&initEnv(_0x5bb95d['env']),_0x5bb95d;}export function getConfigAppCode(){return a309_0x40e033();}function a309_0x14ee(){const _0x3ad7b7=['1756896fLezum','string','107758xPGAWU','4pRasVb','37swmZLk','564843qbZNrs','21734vpqtjx','77lkoRRu','9gBBOOO','65dJYcIj','1740768IPyjws','env','976782IPEHbt','240830qxVzEZ','10BtVJjC'];a309_0x14ee=function(){return _0x3ad7b7;};return a309_0x14ee();}export function getMultiAppConfigs(_0x1350cb='project'){return a309_0x36ba9c(_0x1350cb);}export function getTemplateBaseUrl(){return a309_0xf39cef();}
1
+ const a311_0x499c63=a311_0xd392;(function(_0x46530a,_0x528017){const _0x332864=a311_0xd392,_0x3aef18=_0x46530a();while(!![]){try{const _0x2cb09d=parseInt(_0x332864(0xf0))/0x1+parseInt(_0x332864(0xef))/0x2+-parseInt(_0x332864(0xf5))/0x3*(parseInt(_0x332864(0xf4))/0x4)+-parseInt(_0x332864(0xec))/0x5+parseInt(_0x332864(0xf3))/0x6*(-parseInt(_0x332864(0xeb))/0x7)+parseInt(_0x332864(0xee))/0x8+-parseInt(_0x332864(0xf1))/0x9*(-parseInt(_0x332864(0xea))/0xa);if(_0x2cb09d===_0x528017)break;else _0x3aef18['push'](_0x3aef18['shift']());}catch(_0x48a150){_0x3aef18['push'](_0x3aef18['shift']());}}}(a311_0x5ef4,0xb55f8));import{initEnv}from'../constant/env.js';function a311_0x5ef4(){const _0x33ab65=['env','1949336XvtnKR','548240nuRrIl','814915dXQTCB','45YeWgKg','string','1011804zlTqjp','12396cJXMxH','435XNEeGt','project','2776420jgeOHJ','7UJBAoF','6800095ahKHwW'];a311_0x5ef4=function(){return _0x33ab65;};return a311_0x5ef4();}import{readRawConfig,getConfigAppCode as a311_0x51ca35,getMultiAppConfigs as a311_0x4ff607,getTemplateBaseUrl as a311_0x30e844}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';function a311_0xd392(_0x38b90f,_0x41595a){_0x38b90f=_0x38b90f-0xea;const _0x5ef4b1=a311_0x5ef4();let _0xd392ff=_0x5ef4b1[_0x38b90f];return _0xd392ff;}export{isInProject}from'../context.js';export function readConfig(_0x17b66e){const _0x1cc422=a311_0xd392,_0x50dbfd=readRawConfig(_0x17b66e);return _0x50dbfd[_0x1cc422(0xed)]&&typeof _0x50dbfd[_0x1cc422(0xed)]===_0x1cc422(0xf2)&&initEnv(_0x50dbfd['env']),_0x50dbfd;}export function getConfigAppCode(){return a311_0x51ca35();}export function getMultiAppConfigs(_0x59302e=a311_0x499c63(0xf6)){return a311_0x4ff607(_0x59302e);}export function getTemplateBaseUrl(){return a311_0x30e844();}
@@ -1 +1 @@
1
- (function(_0x54d917,_0x10a0cd){const _0x39f59d=a310_0x3a5e,_0x27bfe9=_0x54d917();while(!![]){try{const _0x3f0e67=parseInt(_0x39f59d(0x1ea))/0x1*(parseInt(_0x39f59d(0x1f0))/0x2)+-parseInt(_0x39f59d(0x1e8))/0x3+parseInt(_0x39f59d(0x1eb))/0x4*(parseInt(_0x39f59d(0x1f1))/0x5)+parseInt(_0x39f59d(0x1ed))/0x6+parseInt(_0x39f59d(0x1f4))/0x7+parseInt(_0x39f59d(0x1e9))/0x8+-parseInt(_0x39f59d(0x1f2))/0x9;if(_0x3f0e67===_0x10a0cd)break;else _0x27bfe9['push'](_0x27bfe9['shift']());}catch(_0x228c74){_0x27bfe9['push'](_0x27bfe9['shift']());}}}(a310_0x8f06,0xe435f));function toFiniteNumber(_0x1a3f1f){const _0x58a16c=a310_0x3a5e;if(typeof _0x1a3f1f===_0x58a16c(0x1ec)&&Number[_0x58a16c(0x1ee)](_0x1a3f1f))return _0x1a3f1f;if(typeof _0x1a3f1f===_0x58a16c(0x1e7)){const _0x3bc489=_0x1a3f1f[_0x58a16c(0x1f3)]();if(!_0x3bc489)return undefined;const _0x22a5c6=Number(_0x3bc489);if(Number[_0x58a16c(0x1ee)](_0x22a5c6))return _0x22a5c6;}return undefined;}function a310_0x8f06(){const _0x4c8fda=['216019RHkMQm','4hXarZW','number','9526284uyHClg','isFinite','object','2HLWHlf','5806475OWJskW','34871967lrQPJf','trim','5671911PKPVJQ','string','574845JMVIki','9805824KyBFiv'];a310_0x8f06=function(){return _0x4c8fda;};return a310_0x8f06();}function a310_0x3a5e(_0x29036,_0x3ed546){_0x29036=_0x29036-0x1e7;const _0x8f0692=a310_0x8f06();let _0x3a5e35=_0x8f0692[_0x29036];return _0x3a5e35;}export function normalizeEntityWithIdResponse(_0x295e0b){const _0x94c343=a310_0x3a5e,_0xe7e8f4=toFiniteNumber(_0x295e0b);if(_0xe7e8f4!==undefined)return{'id':_0xe7e8f4,'entity':{'id':_0xe7e8f4}};if(!_0x295e0b||typeof _0x295e0b!==_0x94c343(0x1ef))return{'id':undefined,'entity':{}};const _0x4fbe5d={..._0x295e0b},_0x102b1c=toFiniteNumber(_0x4fbe5d['id']);return _0x102b1c!==undefined&&(_0x4fbe5d['id']=_0x102b1c),{'id':_0x102b1c,'entity':_0x4fbe5d};}
1
+ function a312_0xed85(){const _0x499bf1=['37548hdRhZk','1039635iCyBGQ','282808IynJGv','273YNLEpG','object','number','trim','574626atkmkK','403208PQtPrN','isFinite','8FflqQC','420333ZXrTLp','string','11976Czirwi'];a312_0xed85=function(){return _0x499bf1;};return a312_0xed85();}(function(_0x2d4681,_0x40745d){const _0x1d277b=a312_0x4edc,_0x2f8454=_0x2d4681();while(!![]){try{const _0x1dd12e=-parseInt(_0x1d277b(0x18d))/0x1+parseInt(_0x1d277b(0x185))/0x2+-parseInt(_0x1d277b(0x188))/0x3*(-parseInt(_0x1d277b(0x187))/0x4)+-parseInt(_0x1d277b(0x18c))/0x5+parseInt(_0x1d277b(0x184))/0x6+parseInt(_0x1d277b(0x18e))/0x7*(parseInt(_0x1d277b(0x18a))/0x8)+parseInt(_0x1d277b(0x18b))/0x9;if(_0x1dd12e===_0x40745d)break;else _0x2f8454['push'](_0x2f8454['shift']());}catch(_0x578503){_0x2f8454['push'](_0x2f8454['shift']());}}}(a312_0xed85,0x247a9));function toFiniteNumber(_0x31a43a){const _0x2e7eef=a312_0x4edc;if(typeof _0x31a43a===_0x2e7eef(0x190)&&Number[_0x2e7eef(0x186)](_0x31a43a))return _0x31a43a;if(typeof _0x31a43a===_0x2e7eef(0x189)){const _0x1a6dc0=_0x31a43a[_0x2e7eef(0x183)]();if(!_0x1a6dc0)return undefined;const _0x1230a9=Number(_0x1a6dc0);if(Number['isFinite'](_0x1230a9))return _0x1230a9;}return undefined;}function a312_0x4edc(_0x59d712,_0x2bf77c){_0x59d712=_0x59d712-0x183;const _0xed8514=a312_0xed85();let _0x4edc71=_0xed8514[_0x59d712];return _0x4edc71;}export function normalizeEntityWithIdResponse(_0x4007b9){const _0x528bd3=a312_0x4edc,_0x13ace8=toFiniteNumber(_0x4007b9);if(_0x13ace8!==undefined)return{'id':_0x13ace8,'entity':{'id':_0x13ace8}};if(!_0x4007b9||typeof _0x4007b9!==_0x528bd3(0x18f))return{'id':undefined,'entity':{}};const _0x283fe2={..._0x4007b9},_0x567e27=toFiniteNumber(_0x283fe2['id']);return _0x567e27!==undefined&&(_0x283fe2['id']=_0x567e27),{'id':_0x567e27,'entity':_0x283fe2};}
@@ -1 +1 @@
1
- (function(_0x337ade,_0x1f5146){const _0x50046b=a311_0x45a9,_0x416b07=_0x337ade();while(!![]){try{const _0x5b2e68=parseInt(_0x50046b(0xc8))/0x1+-parseInt(_0x50046b(0xd0))/0x2+-parseInt(_0x50046b(0xca))/0x3+parseInt(_0x50046b(0xc9))/0x4*(-parseInt(_0x50046b(0xcb))/0x5)+parseInt(_0x50046b(0xcf))/0x6*(-parseInt(_0x50046b(0xcd))/0x7)+-parseInt(_0x50046b(0xcc))/0x8*(-parseInt(_0x50046b(0xce))/0x9)+parseInt(_0x50046b(0xd1))/0xa;if(_0x5b2e68===_0x1f5146)break;else _0x416b07['push'](_0x416b07['shift']());}catch(_0x5cf586){_0x416b07['push'](_0x416b07['shift']());}}}(a311_0x3838,0x427d4));function a311_0x45a9(_0x2515cb,_0x177818){_0x2515cb=_0x2515cb-0xc8;const _0x383885=a311_0x3838();let _0x45a9e9=_0x383885[_0x2515cb];return _0x45a9e9;}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x9ae750,_0x517ed5){const _0x155b68=statSync(_0x9ae750);if(_0x155b68['isDirectory']()){!existsSync(_0x517ed5)&&mkdirSync(_0x517ed5,{'recursive':!![]});const _0x59c0e5=readdirSync(_0x9ae750);for(const _0x257818 of _0x59c0e5){await copyDir(join(_0x9ae750,_0x257818),join(_0x517ed5,_0x257818));}}else copyFileSync(_0x9ae750,_0x517ed5);}export function ensureDir(_0x50a8af){!existsSync(_0x50a8af)&&mkdirSync(_0x50a8af,{'recursive':!![]});}function a311_0x3838(){const _0x4f129f=['718696FKJMvz','10677870CTwAqj','88178FHXZeL','1025884HwlURF','69000oWyrqd','10bLRlME','184cgyaoZ','119UQeOIJ','208773VbOWLV','184188GyGQLe'];a311_0x3838=function(){return _0x4f129f;};return a311_0x3838();}export function pathExists(_0x2b36d1){return existsSync(_0x2b36d1);}
1
+ function a313_0x5d9c(){const _0xf354cd=['69772aTfmbm','17796JreADO','4619028TJkofz','isDirectory','470gaIxqM','178154VkgrAV','3108320QNsaCC','4419iMpFiL','3632HJHWVh','3zPchOG','9VBkWOZ','437353TkCwwV','11GBNuVy'];a313_0x5d9c=function(){return _0xf354cd;};return a313_0x5d9c();}(function(_0x402631,_0x1b9c2a){const _0x2b650f=a313_0x7dd5,_0x1890b6=_0x402631();while(!![]){try{const _0xad7dbd=-parseInt(_0x2b650f(0x1e8))/0x1*(parseInt(_0x2b650f(0x1e4))/0x2)+parseInt(_0x2b650f(0x1e9))/0x3*(-parseInt(_0x2b650f(0x1ec))/0x4)+-parseInt(_0x2b650f(0x1e3))/0x5*(-parseInt(_0x2b650f(0x1ed))/0x6)+parseInt(_0x2b650f(0x1ea))/0x7+parseInt(_0x2b650f(0x1e7))/0x8*(parseInt(_0x2b650f(0x1e6))/0x9)+-parseInt(_0x2b650f(0x1e5))/0xa*(-parseInt(_0x2b650f(0x1eb))/0xb)+-parseInt(_0x2b650f(0x1ee))/0xc;if(_0xad7dbd===_0x1b9c2a)break;else _0x1890b6['push'](_0x1890b6['shift']());}catch(_0xb950dd){_0x1890b6['push'](_0x1890b6['shift']());}}}(a313_0x5d9c,0x29a36));function a313_0x7dd5(_0x38b32a,_0x407744){_0x38b32a=_0x38b32a-0x1e2;const _0x5d9c07=a313_0x5d9c();let _0x7dd577=_0x5d9c07[_0x38b32a];return _0x7dd577;}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x2617b3,_0x6474a0){const _0x557fac=a313_0x7dd5,_0xbf6195=statSync(_0x2617b3);if(_0xbf6195[_0x557fac(0x1e2)]()){!existsSync(_0x6474a0)&&mkdirSync(_0x6474a0,{'recursive':!![]});const _0x3d3f62=readdirSync(_0x2617b3);for(const _0x482c18 of _0x3d3f62){await copyDir(join(_0x2617b3,_0x482c18),join(_0x6474a0,_0x482c18));}}else copyFileSync(_0x2617b3,_0x6474a0);}export function ensureDir(_0x49c790){!existsSync(_0x49c790)&&mkdirSync(_0x49c790,{'recursive':!![]});}export function pathExists(_0x40d86a){return existsSync(_0x40d86a);}
@@ -1 +1 @@
1
- const a312_0x644925=a312_0x7468;(function(_0x545c1f,_0x18d06b){const _0x2db3ea=a312_0x7468,_0x5b203c=_0x545c1f();while(!![]){try{const _0x4d792e=parseInt(_0x2db3ea(0xf5))/0x1+-parseInt(_0x2db3ea(0xe9))/0x2*(parseInt(_0x2db3ea(0x103))/0x3)+parseInt(_0x2db3ea(0xef))/0x4+parseInt(_0x2db3ea(0xf3))/0x5+parseInt(_0x2db3ea(0xfe))/0x6*(parseInt(_0x2db3ea(0xfa))/0x7)+parseInt(_0x2db3ea(0xee))/0x8*(-parseInt(_0x2db3ea(0xeb))/0x9)+-parseInt(_0x2db3ea(0xff))/0xa*(-parseInt(_0x2db3ea(0x101))/0xb);if(_0x4d792e===_0x18d06b)break;else _0x5b203c['push'](_0x5b203c['shift']());}catch(_0x1c0b56){_0x5b203c['push'](_0x5b203c['shift']());}}}(a312_0x4314,0x7f619));function a312_0x7468(_0x429dce,_0x52454c){_0x429dce=_0x429dce-0xe7;const _0x4314d6=a312_0x4314();let _0x74686d=_0x4314d6[_0x429dce];return _0x74686d;}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 _0x18c199=getTemplateBaseUrl();return _0x18c199+'/skills/guides.json';}const CACHE_DIR=join(homedir(),'.lovrabet',a312_0x644925(0xf4));function a312_0x4314(){const _0x44dab4=['path','10616yuMgDZ','359988XocIGm','json','status','keys','1362085CQFibA','cache','644836XiZOEL','object','title','.lovrabet/skill/guides','skillTemplate','28VJVXco','join','utf-8','length','1087206Tbplmo','10VtgOsL','entries','6480793wMyLvK','extendContent','446463kHtyRs','trimEnd','replace','guides','content','push','14ubNqDt','lastUpdated','5139vioRHu','CDN\x20returned\x20invalid\x20data'];a312_0x4314=function(){return _0x44dab4;};return a312_0x4314();}export async function fetchGuidesFromCDN(){const _0x254eb4=a312_0x644925,_0x532626=getGuidesCdnUrl(),_0x373c3d=await fetch(_0x532626,{'headers':{'Accept':'application/json'}});if(!_0x373c3d['ok'])throw new Error('CDN\x20request\x20failed:\x20'+_0x373c3d[_0x254eb4(0xf1)]+'\x20'+_0x373c3d['statusText']);const _0x46e48e=await _0x373c3d[_0x254eb4(0xf0)]();if(!_0x46e48e[_0x254eb4(0x106)]||typeof _0x46e48e[_0x254eb4(0x106)]!==_0x254eb4(0xf6))throw new Error(_0x254eb4(0xec));return _0x46e48e;}export function writeGuidesToProject(_0x54ff70,_0x4e62ac,_0x4b0999=a312_0x644925(0xf8),_0x4e542e){const _0x531d96=a312_0x644925,_0x185be5=join(_0x4e62ac,_0x4b0999);mkdirSync(_0x185be5,{'recursive':!![]});for(const [_0x18c015,_0x42a3bb]of Object[_0x531d96(0x100)](_0x54ff70['guides'])){let _0x3886a3=_0x42a3bb[_0x531d96(0xe7)];_0x42a3bb[_0x531d96(0xea)]&&(_0x3886a3=appendUpdateTime(_0x3886a3,_0x42a3bb[_0x531d96(0xea)])),writeFileSync(join(_0x185be5,_0x18c015+'.md'),_0x3886a3,_0x531d96(0xfc));}}export function appendUpdateTime(_0x54c676,_0x2b7e7e){const _0x29183e=a312_0x644925;return _0x54c676=_0x54c676[_0x29183e(0x105)](/\n*>更新时间:.*$/m,''),_0x54c676[_0x29183e(0x104)]()+('\x0a\x0a>更新时间:'+_0x2b7e7e);}export function getSkillTemplate(_0x3d6053){return _0x3d6053['skillTemplate']?.['content']||'';}export function appendExtendContents(_0x52a8cf,_0x253f26,_0x410b55){const _0x102a1a=a312_0x644925,_0x2608a6=[];for(const [,_0x61655e]of Object[_0x102a1a(0x100)](_0x253f26[_0x102a1a(0x106)])){_0x61655e[_0x102a1a(0x102)]&&_0x2608a6[_0x102a1a(0xe8)](_0x61655e[_0x102a1a(0x102)][_0x102a1a(0x104)]());}if(_0x2608a6[_0x102a1a(0xfd)]===0x0)return _0x52a8cf;return _0x52a8cf['trimEnd']()+'\x0a\x0a'+_0x2608a6[_0x102a1a(0xfb)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x27761c,_0x2dfb05,_0xb2ac52){const _0x452033=a312_0x644925,_0x4cb65f=getSkillTemplate(_0x27761c);if(!_0x4cb65f)throw new Error('CDN\x20data\x20is\x20missing\x20skillTemplate');const _0x24c5a3=dirname(_0x2dfb05);mkdirSync(_0x24c5a3,{'recursive':!![]});let _0x4e2ee0=_0x4cb65f[_0x452033(0x105)](/\{\{IDE_NAME\}\}/g,_0xb2ac52);_0x4e2ee0=appendExtendContents(_0x4e2ee0,_0x27761c),_0x27761c[_0x452033(0xf9)][_0x452033(0xea)]&&(_0x4e2ee0=appendUpdateTime(_0x4e2ee0,_0x27761c[_0x452033(0xf9)][_0x452033(0xea)])),writeFileSync(_0x2dfb05,_0x4e2ee0,_0x452033(0xfc));}export async function installGuides(_0x566f14){const _0x3fb62d=a312_0x644925,_0x5bb307=await fetchGuidesFromCDN();return writeGuidesToProject(_0x5bb307,_0x566f14),Object[_0x3fb62d(0xf2)](_0x5bb307[_0x3fb62d(0x106)])[_0x3fb62d(0xfd)];}export function getGuidesSummary(_0x492bfd){const _0x1576c8=a312_0x644925;return Object[_0x1576c8(0x100)](_0x492bfd[_0x1576c8(0x106)])['map'](([_0x295379,_0x2afc3b])=>({'key':_0x295379,'title':_0x2afc3b[_0x1576c8(0xf7)],'path':_0x2afc3b[_0x1576c8(0xed)]}));}
1
+ function a314_0x50f1(_0x3fe418,_0x27088c){_0x3fe418=_0x3fe418-0x16f;const _0x1e2906=a314_0x1e29();let _0x50f149=_0x1e2906[_0x3fe418];return _0x50f149;}const a314_0x741183=a314_0x50f1;(function(_0x589b23,_0xe8211f){const _0x221ee2=a314_0x50f1,_0x2ad510=_0x589b23();while(!![]){try{const _0x3267cd=-parseInt(_0x221ee2(0x173))/0x1+-parseInt(_0x221ee2(0x18a))/0x2+-parseInt(_0x221ee2(0x177))/0x3+-parseInt(_0x221ee2(0x171))/0x4+-parseInt(_0x221ee2(0x172))/0x5*(parseInt(_0x221ee2(0x190))/0x6)+-parseInt(_0x221ee2(0x179))/0x7*(parseInt(_0x221ee2(0x18d))/0x8)+-parseInt(_0x221ee2(0x180))/0x9*(-parseInt(_0x221ee2(0x178))/0xa);if(_0x3267cd===_0xe8211f)break;else _0x2ad510['push'](_0x2ad510['shift']());}catch(_0x36093f){_0x2ad510['push'](_0x2ad510['shift']());}}}(a314_0x1e29,0x9dab5));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 _0x95a56b=getTemplateBaseUrl();return _0x95a56b+'/skills/guides.json';}const CACHE_DIR=join(homedir(),'.lovrabet',a314_0x741183(0x176));export async function fetchGuidesFromCDN(){const _0x4da087=a314_0x741183,_0x21cb2d=getGuidesCdnUrl(),_0x242b84=await fetch(_0x21cb2d,{'headers':{'Accept':_0x4da087(0x16f)}});if(!_0x242b84['ok'])throw new Error(_0x4da087(0x184)+_0x242b84['status']+'\x20'+_0x242b84[_0x4da087(0x18f)]);const _0x1a5d62=await _0x242b84[_0x4da087(0x18b)]();if(!_0x1a5d62[_0x4da087(0x17c)]||typeof _0x1a5d62[_0x4da087(0x17c)]!==_0x4da087(0x189))throw new Error(_0x4da087(0x187));return _0x1a5d62;}export function writeGuidesToProject(_0x35634d,_0xaa14af,_0x2fe354=a314_0x741183(0x17d),_0x4d1941){const _0x59ddb3=a314_0x741183,_0xeb05b9=join(_0xaa14af,_0x2fe354);mkdirSync(_0xeb05b9,{'recursive':!![]});for(const [_0x2ea63,_0x5919df]of Object[_0x59ddb3(0x18e)](_0x35634d[_0x59ddb3(0x17c)])){let _0x313358=_0x5919df[_0x59ddb3(0x185)];_0x5919df['lastUpdated']&&(_0x313358=appendUpdateTime(_0x313358,_0x5919df[_0x59ddb3(0x188)])),writeFileSync(join(_0xeb05b9,_0x2ea63+_0x59ddb3(0x181)),_0x313358,_0x59ddb3(0x191));}}export function appendUpdateTime(_0x270889,_0x2a13f1){const _0x5b01fb=a314_0x741183;return _0x270889=_0x270889[_0x5b01fb(0x192)](/\n*>更新时间:.*$/m,''),_0x270889[_0x5b01fb(0x17a)]()+(_0x5b01fb(0x183)+_0x2a13f1);}export function getSkillTemplate(_0x32f67a){const _0x22e7d0=a314_0x741183;return _0x32f67a[_0x22e7d0(0x17e)]?.[_0x22e7d0(0x185)]||'';}export function appendExtendContents(_0x313646,_0x573b14,_0x491cbd){const _0x2eb392=a314_0x741183,_0x2f42d6=[];for(const [,_0x5650ee]of Object[_0x2eb392(0x18e)](_0x573b14[_0x2eb392(0x17c)])){_0x5650ee[_0x2eb392(0x18c)]&&_0x2f42d6[_0x2eb392(0x174)](_0x5650ee[_0x2eb392(0x18c)][_0x2eb392(0x17a)]());}if(_0x2f42d6['length']===0x0)return _0x313646;return _0x313646[_0x2eb392(0x17a)]()+'\x0a\x0a'+_0x2f42d6[_0x2eb392(0x17f)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x2400a9,_0x3f56d5,_0x3396b7){const _0xbcb8e5=a314_0x741183,_0x2ca19a=getSkillTemplate(_0x2400a9);if(!_0x2ca19a)throw new Error(_0xbcb8e5(0x175));const _0x33e79a=dirname(_0x3f56d5);mkdirSync(_0x33e79a,{'recursive':!![]});let _0x3665a1=_0x2ca19a[_0xbcb8e5(0x192)](/\{\{IDE_NAME\}\}/g,_0x3396b7);_0x3665a1=appendExtendContents(_0x3665a1,_0x2400a9),_0x2400a9['skillTemplate'][_0xbcb8e5(0x188)]&&(_0x3665a1=appendUpdateTime(_0x3665a1,_0x2400a9[_0xbcb8e5(0x17e)][_0xbcb8e5(0x188)])),writeFileSync(_0x3f56d5,_0x3665a1,'utf-8');}function a314_0x1e29(){const _0x121901=['entries','statusText','385044NylfSs','utf-8','replace','application/json','title','1854992XSIMqP','85jCXhYj','725866Pahjbp','push','CDN\x20data\x20is\x20missing\x20skillTemplate','cache','269958rAYsOF','10YsySuV','1621242soMQWl','trimEnd','length','guides','.lovrabet/skill/guides','skillTemplate','join','38763693ARhzmF','.md','keys','\x0a\x0a>更新时间:','CDN\x20request\x20failed:\x20','content','map','CDN\x20returned\x20invalid\x20data','lastUpdated','object','2118200NMgFQq','json','extendContent','8ygqrtz'];a314_0x1e29=function(){return _0x121901;};return a314_0x1e29();}export async function installGuides(_0x4f90c7){const _0x2a04f9=a314_0x741183,_0x5c3db2=await fetchGuidesFromCDN();return writeGuidesToProject(_0x5c3db2,_0x4f90c7),Object[_0x2a04f9(0x182)](_0x5c3db2[_0x2a04f9(0x17c)])[_0x2a04f9(0x17b)];}export function getGuidesSummary(_0x3eb4ce){const _0x42796e=a314_0x741183;return Object[_0x42796e(0x18e)](_0x3eb4ce[_0x42796e(0x17c)])[_0x42796e(0x186)](([_0x59e714,_0x3e229f])=>({'key':_0x59e714,'title':_0x3e229f[_0x42796e(0x170)],'path':_0x3e229f['path']}));}
@@ -1 +1 @@
1
- (function(_0xba70c6,_0x52271c){const _0x2e94e7=a313_0x3071,_0x4f18b7=_0xba70c6();while(!![]){try{const _0x378441=parseInt(_0x2e94e7(0x12f))/0x1*(parseInt(_0x2e94e7(0x133))/0x2)+-parseInt(_0x2e94e7(0x134))/0x3+parseInt(_0x2e94e7(0x137))/0x4+parseInt(_0x2e94e7(0x148))/0x5+parseInt(_0x2e94e7(0x136))/0x6+-parseInt(_0x2e94e7(0x135))/0x7+-parseInt(_0x2e94e7(0x13a))/0x8*(-parseInt(_0x2e94e7(0x13c))/0x9);if(_0x378441===_0x52271c)break;else _0x4f18b7['push'](_0x4f18b7['shift']());}catch(_0x4e6c4e){_0x4f18b7['push'](_0x4f18b7['shift']());}}}(a313_0x3e4a,0x2a612));export async function httpRequest(_0x4bf1c1,_0x257bec={}){const _0x327306=a313_0x3071,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x257bec;let _0x361fb0=null;for(let _0x13a91b=0x0;_0x13a91b<=retries;_0x13a91b++){try{const _0xef33de=new AbortController(),_0x3367cb=setTimeout(()=>_0xef33de[_0x327306(0x132)](),timeout),_0x4b6e96=await fetch(_0x4bf1c1,{'headers':headers,'signal':_0xef33de['signal']});clearTimeout(_0x3367cb);let _0x3a8c44;const _0x193601=_0x4b6e96['headers'][_0x327306(0x12e)](_0x327306(0x130));return _0x193601?.[_0x327306(0x12d)]('application/json')?_0x3a8c44=await _0x4b6e96['json']():_0x3a8c44=await _0x4b6e96[_0x327306(0x146)](),{'ok':_0x4b6e96['ok'],'status':_0x4b6e96['status'],'statusText':_0x4b6e96[_0x327306(0x147)],'data':_0x3a8c44,'headers':_0x4b6e96[_0x327306(0x140)],'url':_0x4b6e96[_0x327306(0x13b)],'text':()=>_0x4b6e96[_0x327306(0x146)]()};}catch(_0x28b1fc){_0x361fb0=_0x28b1fc instanceof Error?_0x28b1fc:new Error(String(_0x28b1fc));if(_0x13a91b===retries)break;if(shouldRetry(_0x28b1fc)){console[_0x327306(0x131)](_0x327306(0x143)+(_0x13a91b+0x1)+_0x327306(0x138)+retryDelay+_0x327306(0x13e)),await sleep(retryDelay);continue;}else break;}}throw _0x361fb0||new Error('Request\x20failed');}function a313_0x3071(_0x8b43a6,_0x331d91){_0x8b43a6=_0x8b43a6-0x12d;const _0x3e4a24=a313_0x3e4a();let _0x30715c=_0x3e4a24[_0x8b43a6];return _0x30715c;}function shouldRetry(_0x335924){const _0x210c36=a313_0x3071;if(_0x335924 instanceof Error){if(_0x335924[_0x210c36(0x13d)]===_0x210c36(0x141))return![];if(_0x335924['name']===_0x210c36(0x145)&&_0x335924['message'][_0x210c36(0x12d)](_0x210c36(0x142)))return!![];if(_0x335924[_0x210c36(0x144)][_0x210c36(0x12d)](_0x210c36(0x13f)))return!![];if(_0x335924['message'][_0x210c36(0x12d)](_0x210c36(0x139)))return![];}return![];}function sleep(_0x286baa){return new Promise(_0x40f7e2=>setTimeout(_0x40f7e2,_0x286baa));}export function validateUrl(_0x4381d2){try{return new URL(_0x4381d2),!![];}catch{return![];}}function a313_0x3e4a(){const _0x19d1a0=['\x20in\x20','ENOTFOUND','91360OUTdHY','url','135vGBqSh','name','ms...','ECONNRESET','headers','AbortError','fetch','*\x20Request\x20failed;\x20retry\x20','message','TypeError','text','statusText','130650KqKVCw','includes','get','1mUkbcR','content-type','log','abort','323942OCLDMF','679683KjLIJC','714224ZRJTEq','85560EnGuhW','514072TTAqpL'];a313_0x3e4a=function(){return _0x19d1a0;};return a313_0x3e4a();}
1
+ (function(_0x3ea5c2,_0xf0558c){const _0x132c7f=a315_0x5653,_0x41cdb1=_0x3ea5c2();while(!![]){try{const _0x47836e=-parseInt(_0x132c7f(0xdf))/0x1+-parseInt(_0x132c7f(0xd8))/0x2*(parseInt(_0x132c7f(0xd7))/0x3)+parseInt(_0x132c7f(0xdb))/0x4+parseInt(_0x132c7f(0xeb))/0x5+-parseInt(_0x132c7f(0xd3))/0x6+parseInt(_0x132c7f(0xd0))/0x7*(parseInt(_0x132c7f(0xd1))/0x8)+parseInt(_0x132c7f(0xe3))/0x9*(-parseInt(_0x132c7f(0xe7))/0xa);if(_0x47836e===_0xf0558c)break;else _0x41cdb1['push'](_0x41cdb1['shift']());}catch(_0x4eca3a){_0x41cdb1['push'](_0x41cdb1['shift']());}}}(a315_0x336f,0xae3be));function a315_0x5653(_0x5c6360,_0x3384fa){_0x5c6360=_0x5c6360-0xcd;const _0x336f4e=a315_0x336f();let _0x565319=_0x336f4e[_0x5c6360];return _0x565319;}export async function httpRequest(_0x37e102,_0x1eec41={}){const _0x1b7d51=a315_0x5653,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x1eec41;let _0x1f44ae=null;for(let _0x2c5ac0=0x0;_0x2c5ac0<=retries;_0x2c5ac0++){try{const _0x2e0f57=new AbortController(),_0x1abf6c=setTimeout(()=>_0x2e0f57[_0x1b7d51(0xcd)](),timeout),_0x85c95d=await fetch(_0x37e102,{'headers':headers,'signal':_0x2e0f57[_0x1b7d51(0xd2)]});clearTimeout(_0x1abf6c);let _0x25b393;const _0x1c4c6e=_0x85c95d[_0x1b7d51(0xd4)][_0x1b7d51(0xea)](_0x1b7d51(0xe4));return _0x1c4c6e?.[_0x1b7d51(0xe9)](_0x1b7d51(0xd6))?_0x25b393=await _0x85c95d[_0x1b7d51(0xe0)]():_0x25b393=await _0x85c95d[_0x1b7d51(0xe1)](),{'ok':_0x85c95d['ok'],'status':_0x85c95d['status'],'statusText':_0x85c95d[_0x1b7d51(0xe6)],'data':_0x25b393,'headers':_0x85c95d[_0x1b7d51(0xd4)],'url':_0x85c95d[_0x1b7d51(0xde)],'text':()=>_0x85c95d[_0x1b7d51(0xe1)]()};}catch(_0x10e0d8){_0x1f44ae=_0x10e0d8 instanceof Error?_0x10e0d8:new Error(String(_0x10e0d8));if(_0x2c5ac0===retries)break;if(shouldRetry(_0x10e0d8)){console[_0x1b7d51(0xd5)](_0x1b7d51(0xdc)+(_0x2c5ac0+0x1)+_0x1b7d51(0xe8)+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0x1f44ae||new Error(_0x1b7d51(0xe5));}function shouldRetry(_0xe28cc8){const _0xc9e8c7=a315_0x5653;if(_0xe28cc8 instanceof Error){if(_0xe28cc8[_0xc9e8c7(0xdd)]===_0xc9e8c7(0xe2))return![];if(_0xe28cc8['name']===_0xc9e8c7(0xcf)&&_0xe28cc8[_0xc9e8c7(0xce)][_0xc9e8c7(0xe9)](_0xc9e8c7(0xd9)))return!![];if(_0xe28cc8[_0xc9e8c7(0xce)]['includes']('ECONNRESET'))return!![];if(_0xe28cc8['message'][_0xc9e8c7(0xe9)](_0xc9e8c7(0xda)))return![];}return![];}function sleep(_0x356b62){return new Promise(_0x39c79d=>setTimeout(_0x39c79d,_0x356b62));}function a315_0x336f(){const _0x414f9f=['url','1104119xnDvlj','json','text','AbortError','1935VZyXSQ','content-type','Request\x20failed','statusText','35170kNntXK','\x20in\x20','includes','get','4721725aKxlCY','abort','message','TypeError','1352225ALKiqD','56CMOgpm','signal','5867160BbxraQ','headers','log','application/json','1509IHzyLW','308MlzEgn','fetch','ENOTFOUND','5330752ZoRcaR','*\x20Request\x20failed;\x20retry\x20','name'];a315_0x336f=function(){return _0x414f9f;};return a315_0x336f();}export function validateUrl(_0x329fe7){try{return new URL(_0x329fe7),!![];}catch{return![];}}
@@ -1 +1 @@
1
- (function(_0x4511b2,_0x56a502){const _0x5eb4c1=a314_0x3dad,_0x482af8=_0x4511b2();while(!![]){try{const _0x3d0c34=parseInt(_0x5eb4c1(0x8f))/0x1+-parseInt(_0x5eb4c1(0x8a))/0x2*(-parseInt(_0x5eb4c1(0x84))/0x3)+-parseInt(_0x5eb4c1(0x8b))/0x4+-parseInt(_0x5eb4c1(0x85))/0x5+parseInt(_0x5eb4c1(0x89))/0x6+-parseInt(_0x5eb4c1(0x83))/0x7+parseInt(_0x5eb4c1(0x86))/0x8;if(_0x3d0c34===_0x56a502)break;else _0x482af8['push'](_0x482af8['shift']());}catch(_0x5da295){_0x482af8['push'](_0x482af8['shift']());}}}(a314_0x5881,0x77fb1));function env(_0x334549){return process.env[`RABETBASE_${_0x334549}`]||process.env[`LOVRABET_${_0x334549}`]||undefined;}function a314_0x3dad(_0x3b8d99,_0x22c871){_0x3b8d99=_0x3b8d99-0x83;const _0x5881c0=a314_0x5881();let _0x3dad0a=_0x5881c0[_0x3b8d99];return _0x3dad0a;}function a314_0x5881(){const _0x4d1770=['187970xUKXUv','3805532PRjtOz','isTTY','stdin','setRawMode','96142MfAYaQ','5247242NZWUVl','9azsGIH','1082115HUzwMf','11594568cnudET','true','isRaw','3488610asyxaZ'];a314_0x5881=function(){return _0x4d1770;};return a314_0x5881();}export function isNonInteractive(_0x24f58f){const _0x338029=a314_0x3dad;return!!(_0x24f58f['nonInteractive']||_0x24f58f['ci']||env('CI')===_0x338029(0x87)||process.env.CI===_0x338029(0x87)||!process['stdout'][_0x338029(0x8c)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x22b55f=a314_0x3dad;if(!process['stdin']['isTTY'])return![];try{const _0x4bde4c=process['stdin'][_0x22b55f(0x88)];return process[_0x22b55f(0x8d)][_0x22b55f(0x8e)](!![]),process[_0x22b55f(0x8d)]['setRawMode'](_0x4bde4c??![]),!![];}catch{return![];}}
1
+ (function(_0x106429,_0x5c570f){const _0x1178ab=a316_0x2746,_0x10f75c=_0x106429();while(!![]){try{const _0x54b0a6=-parseInt(_0x1178ab(0x6d))/0x1*(-parseInt(_0x1178ab(0x6c))/0x2)+-parseInt(_0x1178ab(0x6f))/0x3+parseInt(_0x1178ab(0x75))/0x4+parseInt(_0x1178ab(0x71))/0x5+-parseInt(_0x1178ab(0x6a))/0x6+parseInt(_0x1178ab(0x6b))/0x7*(-parseInt(_0x1178ab(0x72))/0x8)+-parseInt(_0x1178ab(0x77))/0x9;if(_0x54b0a6===_0x5c570f)break;else _0x10f75c['push'](_0x10f75c['shift']());}catch(_0x518c17){_0x10f75c['push'](_0x10f75c['shift']());}}}(a316_0x2eb5,0x32220));function env(_0x5c2e33){return process.env[`RABETBASE_${_0x5c2e33}`]||process.env[`LOVRABET_${_0x5c2e33}`]||undefined;}export function isNonInteractive(_0x36e5ab){const _0x3e873a=a316_0x2746;return!!(_0x36e5ab[_0x3e873a(0x79)]||_0x36e5ab['ci']||env('CI')===_0x3e873a(0x74)||process.env.CI===_0x3e873a(0x74)||!process[_0x3e873a(0x78)][_0x3e873a(0x6e)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0xbebb2e=a316_0x2746;if(!process[_0xbebb2e(0x70)][_0xbebb2e(0x6e)])return![];try{const _0x27387c=process[_0xbebb2e(0x70)][_0xbebb2e(0x76)];return process[_0xbebb2e(0x70)][_0xbebb2e(0x73)](!![]),process[_0xbebb2e(0x70)][_0xbebb2e(0x73)](_0x27387c??![]),!![];}catch{return![];}}function a316_0x2746(_0x13afbb,_0x554ff8){_0x13afbb=_0x13afbb-0x6a;const _0x2eb5fe=a316_0x2eb5();let _0x27460d=_0x2eb5fe[_0x13afbb];return _0x27460d;}function a316_0x2eb5(){const _0x155009=['1776880xWyBac','1065752zfBLmI','setRawMode','true','1268516TEbKKw','isRaw','1185327nvmYFd','stdout','nonInteractive','844554pWIkUc','14CVvlhr','189346ymAjIR','1LCHgjY','isTTY','68802dgdlBF','stdin'];a316_0x2eb5=function(){return _0x155009;};return a316_0x2eb5();}
@@ -1 +1 @@
1
- const a315_0x530305=a315_0x4b8b;(function(_0x3dc7b3,_0x9f73b8){const _0xc5faa7=a315_0x4b8b,_0x39af6f=_0x3dc7b3();while(!![]){try{const _0x1a0915=parseInt(_0xc5faa7(0x97))/0x1+parseInt(_0xc5faa7(0xa2))/0x2*(parseInt(_0xc5faa7(0x9a))/0x3)+-parseInt(_0xc5faa7(0xb3))/0x4+parseInt(_0xc5faa7(0x96))/0x5*(parseInt(_0xc5faa7(0x90))/0x6)+parseInt(_0xc5faa7(0xa0))/0x7*(parseInt(_0xc5faa7(0xb7))/0x8)+parseInt(_0xc5faa7(0xbb))/0x9+-parseInt(_0xc5faa7(0xab))/0xa;if(_0x1a0915===_0x9f73b8)break;else _0x39af6f['push'](_0x39af6f['shift']());}catch(_0x1ae758){_0x39af6f['push'](_0x39af6f['shift']());}}}(a315_0x5b29,0x4d6ee));function a315_0x4b8b(_0x481811,_0x2b7e56){_0x481811=_0x481811-0x8e;const _0x5b2999=a315_0x5b29();let _0x4b8b24=_0x5b2999[_0x481811];return _0x4b8b24;}import a315_0x215278 from'winston';import a315_0x926f0f from'node:fs';import a315_0x1d8479 from'node:path';class Logger{[a315_0x530305(0xbd)];[a315_0x530305(0xac)];[a315_0x530305(0xa8)]='';constructor(){this['logFilePath']='';}[a315_0x530305(0x99)](_0x5e2e28){const _0x2d8842=a315_0x530305;this[_0x2d8842(0xa8)]=_0x5e2e28;}[a315_0x530305(0xb4)](){const _0x4c0897=a315_0x530305,_0x3655a3=a315_0x1d8479[_0x4c0897(0xa1)](this[_0x4c0897(0xac)]);!a315_0x926f0f[_0x4c0897(0x9e)](_0x3655a3)&&a315_0x926f0f[_0x4c0897(0xb0)](_0x3655a3,{'recursive':!![]});const _0x4c9eef=a315_0x215278[_0x4c0897(0x94)]['combine'](a315_0x215278['format'][_0x4c0897(0x9b)](),a315_0x215278[_0x4c0897(0x94)][_0x4c0897(0x92)]({'stack':!![]}),a315_0x215278['format'][_0x4c0897(0xbe)](_0x4c897c=>{const _0x46c5f3=_0x4c0897,_0x5d023d={'timestamp':_0x4c897c[_0x46c5f3(0x9b)]||new Date()['toISOString'](),'level':_0x4c897c[_0x46c5f3(0x8f)]||_0x46c5f3(0xa6),'command':_0x4c897c['command']||'unknown','rawCommand':_0x4c897c[_0x46c5f3(0x91)]||this[_0x46c5f3(0xa8)]||undefined,'message':_0x4c897c[_0x46c5f3(0xa4)]||'','duration':_0x4c897c[_0x46c5f3(0x9c)]||undefined,'details':_0x4c897c[_0x46c5f3(0xb8)]||undefined};return JSON['stringify'](_0x5d023d);}));this['winstonLogger']=a315_0x215278['createLogger']({'level':_0x4c0897(0xa6),'format':_0x4c9eef,'transports':[new a315_0x215278[(_0x4c0897(0xa9))]['File']({'filename':this[_0x4c0897(0xac)],'level':_0x4c0897(0xa6)})],'silent':![]}),a315_0x215278[_0x4c0897(0xc0)]({'success':_0x4c0897(0xb2),'error':_0x4c0897(0xba),'warn':_0x4c0897(0xb9),'info':_0x4c0897(0xc1)});}['setLogPath'](_0x4e5721){const _0x19e681=a315_0x530305;this['logFilePath']=a315_0x1d8479['join'](_0x4e5721,'.lovrabet.log'),this['winstonLogger']&&this['winstonLogger']['clear'](),this[_0x19e681(0xb4)]();}[a315_0x530305(0xa6)](_0x3ff987,_0x3ae56e,_0x372d03){const _0x15fafb=a315_0x530305;if(!this[_0x15fafb(0xac)]||!this[_0x15fafb(0xbd)])return;this['winstonLogger'][_0x15fafb(0xa6)](_0x3ae56e,{'command':_0x3ff987,'details':_0x372d03});}[a315_0x530305(0xb1)](_0x1fb22d,_0x29ee75,_0x5077e1,_0x5ac4f2){const _0x553876=a315_0x530305;if(!this[_0x553876(0xac)]||!this[_0x553876(0xbd)])return;this['winstonLogger']['log'](_0x553876(0xa6),_0x29ee75,{'level':_0x553876(0xb1),'command':_0x1fb22d,'duration':_0x5077e1,'details':_0x5ac4f2});}[a315_0x530305(0xa5)](_0x45abda,_0xaa5345,_0x442672){const _0xbc14dd=a315_0x530305;if(!this[_0xbc14dd(0xac)]||!this[_0xbc14dd(0xbd)])return;this[_0xbc14dd(0xbd)][_0xbc14dd(0xa5)](_0xaa5345,{'command':_0x45abda,'details':_0x442672});}[a315_0x530305(0xad)](_0x3a7715,_0x22749a,_0x425b20){const _0x590f99=a315_0x530305;if(!this[_0x590f99(0xac)]||!this[_0x590f99(0xbd)])return;this[_0x590f99(0xbd)][_0x590f99(0xad)](_0x22749a,{'command':_0x3a7715,'details':_0x425b20});}async[a315_0x530305(0xa3)](_0x16de0f,_0x54d043,_0x253833){const _0x12106a=a315_0x530305,_0xc9c08=Date['now']();this[_0x12106a(0xa6)](_0x16de0f,_0x12106a(0xb6)+_0x54d043);try{const _0x37ddc4=await _0x253833(),_0x116984=Date['now']()-_0xc9c08;return this[_0x12106a(0xb1)](_0x16de0f,_0x12106a(0xaa)+_0x54d043,_0x116984),_0x37ddc4;}catch(_0x30b744){const _0x302d3f=Date[_0x12106a(0x95)]()-_0xc9c08;this[_0x12106a(0xa5)](_0x16de0f,_0x12106a(0xb5)+_0x54d043,{'error':_0x30b744 instanceof Error?_0x30b744['message']:String(_0x30b744),'duration':_0x302d3f});throw _0x30b744;}}['readLogs'](){const _0xda963f=a315_0x530305;try{if(!a315_0x926f0f[_0xda963f(0x9e)](this['logFilePath']))return[];const _0x2d9e05=a315_0x926f0f['readFileSync'](this['logFilePath'],_0xda963f(0xae));return _0x2d9e05[_0xda963f(0xbc)]('\x0a')[_0xda963f(0xc2)](_0x12e3b0=>_0x12e3b0[_0xda963f(0xaf)]())[_0xda963f(0xbf)](_0x1fe951=>JSON[_0xda963f(0xa7)](_0x1fe951));}catch(_0x6af019){return console[_0xda963f(0xad)](_0xda963f(0x9d),_0x6af019),[];}}[a315_0x530305(0x98)](){const _0x565d75=a315_0x530305;try{a315_0x926f0f[_0x565d75(0x9e)](this[_0x565d75(0xac)])&&a315_0x926f0f[_0x565d75(0x93)](this[_0x565d75(0xac)],'',_0x565d75(0xae));}catch(_0x4a7a83){console[_0x565d75(0xad)](_0x565d75(0x9f),_0x4a7a83);}}[a315_0x530305(0x8e)](){const _0x316a72=a315_0x530305;return this[_0x316a72(0xbd)];}}export const logger=new Logger();function a315_0x5b29(){const _0x4fe5d4=['trim','mkdirSync','success','green','378208MYFXEZ','initWinstonLogger','Failed:\x20','Starting:\x20','8XHLSji','details','yellow','red','1811610mykUhI','split','winstonLogger','printf','map','addColors','blue','filter','getWinstonInstance','level','6CqrxGZ','rawCommand','errors','writeFileSync','format','now','42010CmzfgY','283254LOejcK','clearLogs','setRawCommand','59757aKtsSz','timestamp','duration','Failed\x20to\x20read\x20logs:','existsSync','Failed\x20to\x20clear\x20logs:','2000887eensYO','dirname','10Wbbfrw','logTask','message','error','info','parse','currentRawCommand','transports','Completed:\x20','4666640UfxgSg','logFilePath','warn','utf8'];a315_0x5b29=function(){return _0x4fe5d4;};return a315_0x5b29();}
1
+ function a317_0x3295(){const _0x55c265=['now','winstonLogger','Failed:\x20','98487RfSDVc','writeFileSync','222134KCooxi','6535ELgzDq','split','details','88ZKCCpa','Starting:\x20','addColors','parse','unknown','transports','combine','1561BUNQcb','File','blue','message','Failed\x20to\x20read\x20logs:','format','command','94563tNWZcZ','red','mkdirSync','setRawCommand','log','readLogs','utf8','initWinstonLogger','stringify','level','dirname','warn','green','rawCommand','setLogPath','duration','currentRawCommand','timestamp','toISOString','trim','logFilePath','readFileSync','success','createLogger','existsSync','error','logTask','252IpBIeD','getWinstonInstance','167461ajleac','3432BIMZrv','Completed:\x20','filter','16TxTiFQ','map','603220pXAIor','info'];a317_0x3295=function(){return _0x55c265;};return a317_0x3295();}const a317_0x15964d=a317_0x63ba;(function(_0x8798e3,_0xaab657){const _0x2a4b6b=a317_0x63ba,_0x2d007d=_0x8798e3();while(!![]){try{const _0x4935d0=-parseInt(_0x2a4b6b(0x1bb))/0x1+-parseInt(_0x2a4b6b(0x1c8))/0x2+-parseInt(_0x2a4b6b(0x1da))/0x3+-parseInt(_0x2a4b6b(0x1b9))/0x4*(-parseInt(_0x2a4b6b(0x1c9))/0x5)+parseInt(_0x2a4b6b(0x1bc))/0x6*(-parseInt(_0x2a4b6b(0x1d3))/0x7)+parseInt(_0x2a4b6b(0x1bf))/0x8*(-parseInt(_0x2a4b6b(0x1c6))/0x9)+parseInt(_0x2a4b6b(0x1c1))/0xa*(parseInt(_0x2a4b6b(0x1cc))/0xb);if(_0x4935d0===_0xaab657)break;else _0x2d007d['push'](_0x2d007d['shift']());}catch(_0x227aa0){_0x2d007d['push'](_0x2d007d['shift']());}}}(a317_0x3295,0x19bd2));import a317_0x3d4c6e from'winston';import a317_0x53b359 from'node:fs';function a317_0x63ba(_0x382dcc,_0x49af0f){_0x382dcc=_0x382dcc-0x1a2;const _0x329570=a317_0x3295();let _0x63ba20=_0x329570[_0x382dcc];return _0x63ba20;}import a317_0x109430 from'node:path';class Logger{['winstonLogger'];[a317_0x15964d(0x1b2)];['currentRawCommand']='';constructor(){const _0x3a7141=a317_0x15964d;this[_0x3a7141(0x1b2)]='';}[a317_0x15964d(0x1dd)](_0x5046cf){const _0x3778c4=a317_0x15964d;this[_0x3778c4(0x1ae)]=_0x5046cf;}[a317_0x15964d(0x1a5)](){const _0x17bb29=a317_0x15964d,_0x4f293e=a317_0x109430[_0x17bb29(0x1a8)](this['logFilePath']);!a317_0x53b359[_0x17bb29(0x1b6)](_0x4f293e)&&a317_0x53b359[_0x17bb29(0x1dc)](_0x4f293e,{'recursive':!![]});const _0x4dceb7=a317_0x3d4c6e[_0x17bb29(0x1d8)][_0x17bb29(0x1d2)](a317_0x3d4c6e[_0x17bb29(0x1d8)][_0x17bb29(0x1af)](),a317_0x3d4c6e['format']['errors']({'stack':!![]}),a317_0x3d4c6e['format']['printf'](_0x1f2512=>{const _0x2c9a5f=_0x17bb29,_0x26a7e6={'timestamp':_0x1f2512[_0x2c9a5f(0x1af)]||new Date()[_0x2c9a5f(0x1b0)](),'level':_0x1f2512[_0x2c9a5f(0x1a7)]||_0x2c9a5f(0x1c2),'command':_0x1f2512[_0x2c9a5f(0x1d9)]||_0x2c9a5f(0x1d0),'rawCommand':_0x1f2512[_0x2c9a5f(0x1ab)]||this[_0x2c9a5f(0x1ae)]||undefined,'message':_0x1f2512[_0x2c9a5f(0x1d6)]||'','duration':_0x1f2512[_0x2c9a5f(0x1ad)]||undefined,'details':_0x1f2512[_0x2c9a5f(0x1cb)]||undefined};return JSON[_0x2c9a5f(0x1a6)](_0x26a7e6);}));this[_0x17bb29(0x1c4)]=a317_0x3d4c6e[_0x17bb29(0x1b5)]({'level':'info','format':_0x4dceb7,'transports':[new a317_0x3d4c6e[(_0x17bb29(0x1d1))][(_0x17bb29(0x1d4))]({'filename':this[_0x17bb29(0x1b2)],'level':_0x17bb29(0x1c2)})],'silent':![]}),a317_0x3d4c6e[_0x17bb29(0x1ce)]({'success':_0x17bb29(0x1aa),'error':_0x17bb29(0x1db),'warn':'yellow','info':_0x17bb29(0x1d5)});}[a317_0x15964d(0x1ac)](_0x2e3416){const _0x530fd4=a317_0x15964d;this['logFilePath']=a317_0x109430['join'](_0x2e3416,'.lovrabet.log'),this[_0x530fd4(0x1c4)]&&this[_0x530fd4(0x1c4)]['clear'](),this[_0x530fd4(0x1a5)]();}[a317_0x15964d(0x1c2)](_0x2ff29d,_0x5ea352,_0x20905a){const _0x41d93e=a317_0x15964d;if(!this['logFilePath']||!this[_0x41d93e(0x1c4)])return;this['winstonLogger'][_0x41d93e(0x1c2)](_0x5ea352,{'command':_0x2ff29d,'details':_0x20905a});}[a317_0x15964d(0x1b4)](_0xe6d8f,_0x125d12,_0x293deb,_0x5edead){const _0x333e7d=a317_0x15964d;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x333e7d(0x1c4)][_0x333e7d(0x1a2)](_0x333e7d(0x1c2),_0x125d12,{'level':_0x333e7d(0x1b4),'command':_0xe6d8f,'duration':_0x293deb,'details':_0x5edead});}['error'](_0x470d9e,_0x9986ba,_0x2ec411){const _0x144615=a317_0x15964d;if(!this[_0x144615(0x1b2)]||!this[_0x144615(0x1c4)])return;this[_0x144615(0x1c4)][_0x144615(0x1b7)](_0x9986ba,{'command':_0x470d9e,'details':_0x2ec411});}[a317_0x15964d(0x1a9)](_0xe103f1,_0x409be9,_0x2e6a36){const _0x3fd35f=a317_0x15964d;if(!this['logFilePath']||!this[_0x3fd35f(0x1c4)])return;this[_0x3fd35f(0x1c4)][_0x3fd35f(0x1a9)](_0x409be9,{'command':_0xe103f1,'details':_0x2e6a36});}async[a317_0x15964d(0x1b8)](_0x950a35,_0x5985df,_0x39c4c4){const _0x4302af=a317_0x15964d,_0x38df80=Date[_0x4302af(0x1c3)]();this[_0x4302af(0x1c2)](_0x950a35,_0x4302af(0x1cd)+_0x5985df);try{const _0x3b665a=await _0x39c4c4(),_0x1565d9=Date['now']()-_0x38df80;return this[_0x4302af(0x1b4)](_0x950a35,_0x4302af(0x1bd)+_0x5985df,_0x1565d9),_0x3b665a;}catch(_0x2f2d3d){const _0x4437ec=Date[_0x4302af(0x1c3)]()-_0x38df80;this['error'](_0x950a35,_0x4302af(0x1c5)+_0x5985df,{'error':_0x2f2d3d instanceof Error?_0x2f2d3d[_0x4302af(0x1d6)]:String(_0x2f2d3d),'duration':_0x4437ec});throw _0x2f2d3d;}}[a317_0x15964d(0x1a3)](){const _0x27597b=a317_0x15964d;try{if(!a317_0x53b359[_0x27597b(0x1b6)](this[_0x27597b(0x1b2)]))return[];const _0x1af163=a317_0x53b359[_0x27597b(0x1b3)](this[_0x27597b(0x1b2)],_0x27597b(0x1a4));return _0x1af163[_0x27597b(0x1ca)]('\x0a')[_0x27597b(0x1be)](_0x3ccda5=>_0x3ccda5[_0x27597b(0x1b1)]())[_0x27597b(0x1c0)](_0x192e60=>JSON[_0x27597b(0x1cf)](_0x192e60));}catch(_0x3d1070){return console['warn'](_0x27597b(0x1d7),_0x3d1070),[];}}['clearLogs'](){const _0x476727=a317_0x15964d;try{a317_0x53b359['existsSync'](this[_0x476727(0x1b2)])&&a317_0x53b359[_0x476727(0x1c7)](this[_0x476727(0x1b2)],'',_0x476727(0x1a4));}catch(_0x263376){console[_0x476727(0x1a9)]('Failed\x20to\x20clear\x20logs:',_0x263376);}}[a317_0x15964d(0x1ba)](){const _0x2433c4=a317_0x15964d;return this[_0x2433c4(0x1c4)];}}export const logger=new Logger();
@@ -1 +1 @@
1
- (function(_0x491e02,_0x1f9932){const _0x2bff2a=a316_0x20d7,_0x5d03a3=_0x491e02();while(!![]){try{const _0x36c7f2=parseInt(_0x2bff2a(0x1e9))/0x1+parseInt(_0x2bff2a(0x1e3))/0x2+-parseInt(_0x2bff2a(0x1e2))/0x3+-parseInt(_0x2bff2a(0x1de))/0x4*(-parseInt(_0x2bff2a(0x1e6))/0x5)+parseInt(_0x2bff2a(0x1dd))/0x6+-parseInt(_0x2bff2a(0x1e1))/0x7+parseInt(_0x2bff2a(0x1e4))/0x8*(parseInt(_0x2bff2a(0x1e0))/0x9);if(_0x36c7f2===_0x1f9932)break;else _0x5d03a3['push'](_0x5d03a3['shift']());}catch(_0x10d246){_0x5d03a3['push'](_0x5d03a3['shift']());}}}(a316_0x680c,0xa9893));function a316_0x680c(){const _0x57676b=['261aGDgkt','4961173CvMpQe','3847089UZUPvn','1386664KxzwmA','100136hTwsGr','object','15WaDUDv','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','--params\x20must\x20be\x20a\x20JSON\x20object','1172233xVaWtu','validation','2335932cMoKgu','90188lOqzKi','parse'];a316_0x680c=function(){return _0x57676b;};return a316_0x680c();}function a316_0x20d7(_0x28fd4f,_0x5066ad){_0x28fd4f=_0x28fd4f-0x1dc;const _0x680cd9=a316_0x680c();let _0x20d793=_0x680cd9[_0x28fd4f];return _0x20d793;}import{CliErrors}from'../errors.js';export function parseJsonParams(_0x517604){const _0xb0c16c=a316_0x20d7;if(!_0x517604)return undefined;let _0x256f8e;try{_0x256f8e=JSON[_0xb0c16c(0x1df)](_0x517604);}catch{throw CliErrors[_0xb0c16c(0x1dc)]('Invalid\x20JSON\x20for\x20--params:\x20'+_0x517604);}if(!_0x256f8e||typeof _0x256f8e!==_0xb0c16c(0x1e5)||Array['isArray'](_0x256f8e))throw CliErrors[_0xb0c16c(0x1dc)](_0xb0c16c(0x1e8),_0xb0c16c(0x1e7));return _0x256f8e;}
1
+ (function(_0x3a91c4,_0x33f68f){const _0x1bcc98=a318_0x53b2,_0x3c5cdb=_0x3a91c4();while(!![]){try{const _0x432f11=parseInt(_0x1bcc98(0x11e))/0x1*(-parseInt(_0x1bcc98(0x11a))/0x2)+parseInt(_0x1bcc98(0x122))/0x3*(parseInt(_0x1bcc98(0x11c))/0x4)+-parseInt(_0x1bcc98(0x11f))/0x5*(-parseInt(_0x1bcc98(0x121))/0x6)+-parseInt(_0x1bcc98(0x117))/0x7+parseInt(_0x1bcc98(0x118))/0x8*(-parseInt(_0x1bcc98(0x124))/0x9)+-parseInt(_0x1bcc98(0x11b))/0xa+parseInt(_0x1bcc98(0x120))/0xb;if(_0x432f11===_0x33f68f)break;else _0x3c5cdb['push'](_0x3c5cdb['shift']());}catch(_0x365b63){_0x3c5cdb['push'](_0x3c5cdb['shift']());}}}(a318_0x1ada,0x628b5));import{CliErrors}from'../errors.js';function a318_0x53b2(_0x8ab3df,_0x415a6c){_0x8ab3df=_0x8ab3df-0x116;const _0x1ada74=a318_0x1ada();let _0x53b203=_0x1ada74[_0x8ab3df];return _0x53b203;}export function parseJsonParams(_0x4f4389){const _0x29ad14=a318_0x53b2;if(!_0x4f4389)return undefined;let _0x280d7b;try{_0x280d7b=JSON[_0x29ad14(0x11d)](_0x4f4389);}catch{throw CliErrors[_0x29ad14(0x119)]('Invalid\x20JSON\x20for\x20--params:\x20'+_0x4f4389);}if(!_0x280d7b||typeof _0x280d7b!==_0x29ad14(0x116)||Array[_0x29ad14(0x123)](_0x280d7b))throw CliErrors[_0x29ad14(0x119)]('--params\x20must\x20be\x20a\x20JSON\x20object','Example:\x20--params\x20\x27{\x22id\x22:123}\x27');return _0x280d7b;}function a318_0x1ada(){const _0x2e623b=['3908338QUmeuK','1118840TukKhy','validation','1040126tKVtlo','7604850EKkTLp','84ONKLlK','parse','1nJrHxw','5345KZAVAO','28729404bOWubQ','522RWELWG','33861ZEWHyS','isArray','45wCYiuP','object'];a318_0x1ada=function(){return _0x2e623b;};return a318_0x1ada();}
@@ -1 +1 @@
1
- const a317_0x59bf69=a317_0x46b6;function a317_0x27cb(){const _0x17a854=['12ApZmrT','1091192YMOMpy','10ESBFFA','361599kQiCsG','1235268gqTekm','774372AfHofN','103328OqIRAb','17254589mFqxBu','4cVoniF','10bteXdC','785462eCNcXV','platform','21uhLOAi','.cmd','win32'];a317_0x27cb=function(){return _0x17a854;};return a317_0x27cb();}function a317_0x46b6(_0x1b2f10,_0x274f32){_0x1b2f10=_0x1b2f10-0x1b7;const _0x27cb6b=a317_0x27cb();let _0x46b6ad=_0x27cb6b[_0x1b2f10];return _0x46b6ad;}(function(_0x52215c,_0x42bb54){const _0x18910e=a317_0x46b6,_0xb532a0=_0x52215c();while(!![]){try{const _0x1f170e=-parseInt(_0x18910e(0x1c3))/0x1+parseInt(_0x18910e(0x1bf))/0x2+parseInt(_0x18910e(0x1bc))/0x3*(parseInt(_0x18910e(0x1c1))/0x4)+-parseInt(_0x18910e(0x1c2))/0x5*(parseInt(_0x18910e(0x1be))/0x6)+-parseInt(_0x18910e(0x1c5))/0x7*(parseInt(_0x18910e(0x1ba))/0x8)+-parseInt(_0x18910e(0x1bd))/0x9*(-parseInt(_0x18910e(0x1bb))/0xa)+-parseInt(_0x18910e(0x1c0))/0xb*(-parseInt(_0x18910e(0x1b9))/0xc);if(_0x1f170e===_0x42bb54)break;else _0xb532a0['push'](_0xb532a0['shift']());}catch(_0x3969de){_0xb532a0['push'](_0xb532a0['shift']());}}}(a317_0x27cb,0x67d31));export const isWindows=process[a317_0x59bf69(0x1c4)]===a317_0x59bf69(0x1b8);export function resolveNpmBin(_0x4d7591){const _0x3bf77f=a317_0x59bf69;return isWindows?_0x4d7591+_0x3bf77f(0x1b7):_0x4d7591;}
1
+ const a319_0x1fd271=a319_0x4130;function a319_0x46a1(){const _0x1d48f3=['98698nPeLHC','win32','8godbHQ','341NxIlzY','10089QBwfXb','.cmd','100640ljuiyW','350128YsSbTS','209736zOKcXR','1856813gphDRm','10FLZVnl','606762Kkhtki','3iCjYkr'];a319_0x46a1=function(){return _0x1d48f3;};return a319_0x46a1();}(function(_0x4b013e,_0x23bd12){const _0x160322=a319_0x4130,_0x5e2986=_0x4b013e();while(!![]){try{const _0x57f8c9=parseInt(_0x160322(0x118))/0x1+parseInt(_0x160322(0x110))/0x2*(parseInt(_0x160322(0x10f))/0x3)+-parseInt(_0x160322(0x117))/0x4*(parseInt(_0x160322(0x11a))/0x5)+parseInt(_0x160322(0x11b))/0x6+parseInt(_0x160322(0x119))/0x7+parseInt(_0x160322(0x112))/0x8*(-parseInt(_0x160322(0x114))/0x9)+-parseInt(_0x160322(0x116))/0xa*(parseInt(_0x160322(0x113))/0xb);if(_0x57f8c9===_0x23bd12)break;else _0x5e2986['push'](_0x5e2986['shift']());}catch(_0x119bac){_0x5e2986['push'](_0x5e2986['shift']());}}}(a319_0x46a1,0x21856));export const isWindows=process['platform']===a319_0x1fd271(0x111);function a319_0x4130(_0x595815,_0x5da5e6){_0x595815=_0x595815-0x10f;const _0x46a131=a319_0x46a1();let _0x41308e=_0x46a131[_0x595815];return _0x41308e;}export function resolveNpmBin(_0x2cf22f){const _0xde51eb=a319_0x1fd271;return isWindows?_0x2cf22f+_0xde51eb(0x115):_0x2cf22f;}
@@ -1 +1 @@
1
- export function sleep(_0x4d9f2c){return new Promise(_0x475e71=>setTimeout(_0x475e71,_0x4d9f2c));}
1
+ export function sleep(_0x466f6f){return new Promise(_0x6f3d6e=>setTimeout(_0x6f3d6e,_0x466f6f));}
@@ -37,9 +37,10 @@ export declare class TemplateReplacer {
37
37
  * - {ApiFileName}: API 配置文件名(不含扩展名)
38
38
  * - {ConfigName}: 注册配置名称
39
39
  * - {ClientConfigParam}: createClient 的参数
40
+ * - {SdkConfigFileName}: SDK 路由配置文件名(不含扩展名)
40
41
  * - {CreatedAt}: ISO 时间戳格式
41
42
  */
42
- static replaceApiContent(content: string, appCode: string, modelConfigs: RegisterModelConfig[], exampleModelName?: string, apiFileName?: string, configName?: string, clientConfigParam?: string, varPrefix?: string): string;
43
+ static replaceApiContent(content: string, appCode: string, modelConfigs: RegisterModelConfig[], exampleModelName?: string, apiFileName?: string, configName?: string, clientConfigParam?: string, varPrefix?: string, sdkConfigFileName?: string): string;
43
44
  /**
44
45
  * 处理整个模板目录,复制并替换内容
45
46
  */
@@ -1 +1 @@
1
- function a319_0xf468(_0x2d9fec,_0x40b2e6){_0x2d9fec=_0x2d9fec-0x1b3;const _0x37117=a319_0x3711();let _0xf46860=_0x37117[_0x2d9fec];return _0xf46860;}const a319_0x5446cd=a319_0xf468;(function(_0x47d7ea,_0x63e505){const _0x3f78df=a319_0xf468,_0x412931=_0x47d7ea();while(!![]){try{const _0x2fee53=-parseInt(_0x3f78df(0x1f0))/0x1*(parseInt(_0x3f78df(0x1b4))/0x2)+parseInt(_0x3f78df(0x1e4))/0x3+parseInt(_0x3f78df(0x1b8))/0x4*(parseInt(_0x3f78df(0x1e3))/0x5)+parseInt(_0x3f78df(0x1e6))/0x6*(parseInt(_0x3f78df(0x1bf))/0x7)+parseInt(_0x3f78df(0x1c4))/0x8*(parseInt(_0x3f78df(0x1f4))/0x9)+-parseInt(_0x3f78df(0x1be))/0xa+-parseInt(_0x3f78df(0x1d0))/0xb*(-parseInt(_0x3f78df(0x1f5))/0xc);if(_0x2fee53===_0x63e505)break;else _0x412931['push'](_0x412931['shift']());}catch(_0x44f831){_0x412931['push'](_0x412931['shift']());}}}(a319_0x3711,0x691f5));function a319_0x3711(){const _0xcb96d0=['name','.css','\x20},','706157iRNZkM','now','tableName:\x20\x22','getSeconds','3312KrTyHV','514428MumScB','getMonth','template','.tpl','endsWith','tableName','2hxLahw','isDirectory','.tsx','info','77780vtSvxh','processDirectory','promises','readFile','pop','datasetCode','5535360ppdtnP','7hRAoux','YourModel','processTemplate','includes','padStart','4616pfmNSq','replaceContent','LOVRABET','Template\x20content\x20replacement\x20completed','split','utf8','isFile','join','message','getHours','toLowerCase','charAt','88KRQSAN','processFile','writeFile','replace','datasetCode:\x20\x22','.js','toUpperCase','Starting\x20template\x20content\x20replacement','slice','pad','alias','getFullYear','error','mkdir','.scss','.md','alias:\x20\x22','\x0a\x20\x20\x20\x20{\x20','name:\x20\x22','95cgijDK','1245555pzGYod','toComponentName','2102076DkYVxM','api','toDisplayTitle','.jsx','getDate','map','formatLocalTimestamp'];a319_0x3711=function(){return _0xcb96d0;};return a319_0x3711();}import a319_0x21425b from'node:fs';import a319_0x18ddda from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a319_0x5446cd(0x1d9)](_0x1ab89a){const _0xed164c=a319_0x5446cd;return String(_0x1ab89a)[_0xed164c(0x1c3)](0x2,'0');}static[a319_0x5446cd(0x1ec)](_0x41e8da){const _0x498eda=a319_0x5446cd,_0x4542a3=_0x41e8da[_0x498eda(0x1db)](),_0x3b6872=this[_0x498eda(0x1d9)](_0x41e8da[_0x498eda(0x1f6)]()+0x1),_0x2cc49e=this[_0x498eda(0x1d9)](_0x41e8da[_0x498eda(0x1ea)]()),_0x4ac9f3=this[_0x498eda(0x1d9)](_0x41e8da[_0x498eda(0x1cd)]()),_0x4c1fb5=this[_0x498eda(0x1d9)](_0x41e8da['getMinutes']()),_0x23f390=this[_0x498eda(0x1d9)](_0x41e8da[_0x498eda(0x1f3)]());return{'createdAt':_0x4542a3+'-'+_0x3b6872+'-'+_0x2cc49e+'\x20'+_0x4ac9f3+':'+_0x4c1fb5+':'+_0x23f390,'createdDate':_0x4542a3+'-'+_0x3b6872+'-'+_0x2cc49e,'createdTime':_0x4ac9f3+':'+_0x4c1fb5+':'+_0x23f390};}static[a319_0x5446cd(0x1e5)](_0x16fa3d){const _0x4acd76=a319_0x5446cd,_0x5c0df5=_0x16fa3d[_0x4acd76(0x1c8)]('/')[_0x4acd76(0x1bc)]()||_0x16fa3d;return _0x5c0df5['split']('-')[_0x4acd76(0x1eb)](_0x3bfb36=>_0x3bfb36[_0x4acd76(0x1cf)](0x0)[_0x4acd76(0x1d6)]()+_0x3bfb36['slice'](0x1)[_0x4acd76(0x1ce)]())[_0x4acd76(0x1cb)]('');}static[a319_0x5446cd(0x1e8)](_0x19ed68){const _0x332f0c=a319_0x5446cd,_0x421223=_0x19ed68[_0x332f0c(0x1c8)]('/')[_0x332f0c(0x1bc)]()||_0x19ed68;return _0x421223[_0x332f0c(0x1c8)]('-')[_0x332f0c(0x1eb)](_0x5ac8e9=>_0x5ac8e9['charAt'](0x0)[_0x332f0c(0x1d6)]()+_0x5ac8e9[_0x332f0c(0x1d8)](0x1)[_0x332f0c(0x1ce)]())[_0x332f0c(0x1cb)]('\x20');}static[a319_0x5446cd(0x1c5)](_0x1570af,_0x514f63,_0x43a28a){const _0x1b9961=a319_0x5446cd,_0x165293=this[_0x1b9961(0x1e5)](_0x514f63),_0xf9bc68=this['toDisplayTitle'](_0x514f63),{createdAt:_0x12220c,createdDate:_0x121b5f,createdTime:_0x5a9470}=this[_0x1b9961(0x1ec)](new Date());let _0x3ea45e=_0x1570af[_0x1b9961(0x1d3)](/\{CliVersion\}/g,CLI_VERSION)[_0x1b9961(0x1d3)](/\{ComponentName\}/g,_0x165293)[_0x1b9961(0x1d3)](/\{DisplayTitle\}/g,_0xf9bc68)[_0x1b9961(0x1d3)](/\{PageName\}/g,_0x514f63)[_0x1b9961(0x1d3)](/\{TemplateName\}/g,_0x43a28a)[_0x1b9961(0x1d3)](/\{CreatedAt\}/g,_0x12220c)[_0x1b9961(0x1d3)](/\{CreatedDate\}/g,_0x121b5f)[_0x1b9961(0x1d3)](/\{CreatedTime\}/g,_0x5a9470);return _0x3ea45e;}static['replaceApiContent'](_0x3b65ce,_0x41f4eb,_0x8dfc46,_0x4c745d,_0x2fd374,_0x153a83,_0x5cef0e,_0x4bdc6e){const _0x1e1368=a319_0x5446cd,_0x40e748=new Date(),_0xea824e=_0x40e748['toISOString'](),_0x6660ac=_0x8dfc46[_0x1e1368(0x1eb)](_0x52a4ab=>{const _0x2a3aab=_0x1e1368,_0x3c98d4=[_0x2a3aab(0x1d4)+_0x52a4ab[_0x2a3aab(0x1bd)]+'\x22',_0x2a3aab(0x1f2)+_0x52a4ab[_0x2a3aab(0x1b3)]+'\x22',_0x2a3aab(0x1e2)+_0x52a4ab['name']+'\x22'];return _0x52a4ab[_0x2a3aab(0x1da)]&&_0x3c98d4['push'](_0x2a3aab(0x1e0)+_0x52a4ab[_0x2a3aab(0x1da)]+'\x22'),_0x2a3aab(0x1e1)+_0x3c98d4[_0x2a3aab(0x1cb)](',\x20')+_0x2a3aab(0x1ef);})[_0x1e1368(0x1cb)](''),_0x455be8=_0x4c745d||_0x8dfc46[0x0]?.['alias']||_0x1e1368(0x1c0);let _0x2f2c16=_0x3b65ce[_0x1e1368(0x1d3)](/\{AppCode\}/g,_0x41f4eb)[_0x1e1368(0x1d3)](/\{ModelConfigs\}/g,_0x6660ac)[_0x1e1368(0x1d3)](/\{ExampleModelName\}/g,_0x455be8)[_0x1e1368(0x1d3)](/\{ApiFileName\}/g,_0x2fd374||_0x1e1368(0x1e7))[_0x1e1368(0x1d3)](/\{ConfigName\}/g,_0x153a83||'default')['replace'](/\{ClientConfigParam\}/g,_0x5cef0e||'')['replace'](/\{VarPrefix\}/g,_0x4bdc6e||_0x1e1368(0x1c6))[_0x1e1368(0x1d3)](/\{CreatedAt\}/g,_0xea824e);return _0x2f2c16;}static async[a319_0x5446cd(0x1c1)](_0x46f775,_0x54b82e,_0x59b9af,_0x1e62b1,_0x51b7bf=!![]){const _0x2b3534=a319_0x5446cd,_0x12fdf2=Date[_0x2b3534(0x1f1)]();try{_0x51b7bf&&logger[_0x2b3534(0x1b7)](_0x2b3534(0x1f7),_0x2b3534(0x1d7),{'templatePath':_0x46f775,'targetPath':_0x54b82e,'pageName':_0x59b9af,'templateName':_0x1e62b1});await a319_0x21425b[_0x2b3534(0x1ba)][_0x2b3534(0x1dd)](_0x54b82e,{'recursive':!![]}),await this[_0x2b3534(0x1b9)](_0x46f775,_0x54b82e,_0x59b9af,_0x1e62b1);if(_0x51b7bf){const _0x513567=Date['now']()-_0x12fdf2;logger['success'](_0x2b3534(0x1f7),_0x2b3534(0x1c7),_0x513567,{'pageName':_0x59b9af,'templateName':_0x1e62b1});}}catch(_0x4f6701){if(_0x51b7bf){const _0x1d92e7=Date['now']()-_0x12fdf2;logger[_0x2b3534(0x1dc)](_0x2b3534(0x1f7),'Template\x20content\x20replacement\x20failed',{'templatePath':_0x46f775,'targetPath':_0x54b82e,'pageName':_0x59b9af,'templateName':_0x1e62b1,'error':_0x4f6701 instanceof Error?_0x4f6701[_0x2b3534(0x1cc)]:String(_0x4f6701),'duration':_0x1d92e7});}throw _0x4f6701;}}static async[a319_0x5446cd(0x1b9)](_0x15fd5e,_0x25e57d,_0x56a16e,_0x269783){const _0x5e2e97=a319_0x5446cd,_0x36b230=await a319_0x21425b[_0x5e2e97(0x1ba)]['readdir'](_0x15fd5e,{'withFileTypes':!![]});for(const _0x53d62a of _0x36b230){const _0x468f7a=a319_0x18ddda['join'](_0x15fd5e,_0x53d62a['name']);let _0x137d61=a319_0x18ddda['join'](_0x25e57d,_0x53d62a[_0x5e2e97(0x1ed)]);_0x53d62a['name'][_0x5e2e97(0x1f9)](_0x5e2e97(0x1f8))&&(_0x137d61=a319_0x18ddda['join'](_0x25e57d,_0x53d62a[_0x5e2e97(0x1ed)]['replace'](/\.tpl$/,'')));if(_0x53d62a[_0x5e2e97(0x1b5)]())await a319_0x21425b[_0x5e2e97(0x1ba)][_0x5e2e97(0x1dd)](_0x137d61,{'recursive':!![]}),await this[_0x5e2e97(0x1b9)](_0x468f7a,_0x137d61,_0x56a16e,_0x269783);else _0x53d62a[_0x5e2e97(0x1ca)]()&&await this[_0x5e2e97(0x1d1)](_0x468f7a,_0x137d61,_0x56a16e,_0x269783);}}static async['processFile'](_0xb2abea,_0x14da00,_0x117560,_0x41c85d){const _0x1c97e6=a319_0x5446cd,_0x5df604=a319_0x18ddda['extname'](_0xb2abea)[_0x1c97e6(0x1ce)]();_0xb2abea[_0x1c97e6(0x1f9)](_0x1c97e6(0x1f8))&&(_0x14da00=_0x14da00['replace'](/\.tpl$/,''));const _0xd9cd73=[_0x1c97e6(0x1b6),'.ts',_0x1c97e6(0x1e9),_0x1c97e6(0x1d5),'.json',_0x1c97e6(0x1df),_0x1c97e6(0x1ee),_0x1c97e6(0x1de),_0x1c97e6(0x1f8)];if(_0xd9cd73[_0x1c97e6(0x1c2)](_0x5df604)||_0xb2abea[_0x1c97e6(0x1f9)](_0x1c97e6(0x1f8))){const _0x20569d=await a319_0x21425b['promises'][_0x1c97e6(0x1bb)](_0xb2abea,_0x1c97e6(0x1c9)),_0x47fb76=this[_0x1c97e6(0x1c5)](_0x20569d,_0x117560,_0x41c85d);await a319_0x21425b['promises'][_0x1c97e6(0x1d2)](_0x14da00,_0x47fb76,_0x1c97e6(0x1c9));}else await a319_0x21425b['promises']['copyFile'](_0xb2abea,_0x14da00);}}
1
+ const a321_0x548473=a321_0x5b5a;function a321_0x2ce1(){const _0x2d909a=['524312YwnVcq','success','Template\x20content\x20replacement\x20failed','includes','charAt','sdk-config','.jsx','replaceApiContent','template','promises','45673332VtIIPK','toUpperCase','5190AkoTnc','28eVmXnl','1Prohjx','processDirectory','getSeconds','.md','padStart','alias','split','4399236FPWSfp','tableName:\x20\x22','toLowerCase','name','getHours','.tsx','alias:\x20\x22','2413564xqGPWW','processFile','push','readFile','toDisplayTitle','.json','.scss','api','message','\x0a\x20\x20\x20\x20{\x20','LOVRABET','\x20},','81ohoZBX','313330WlZZBt','toISOString','.tpl','10cYFQdH','join','pad','map','readdir','mkdir','extname','36tbYdvL','.ts','info','copyFile','processTemplate','3818936XAPgxd','now','endsWith','utf8','datasetCode','formatLocalTimestamp','default','isDirectory','replace','getMonth','pop','writeFile','Template\x20content\x20replacement\x20completed','toComponentName','YourModel','name:\x20\x22','replaceContent'];a321_0x2ce1=function(){return _0x2d909a;};return a321_0x2ce1();}(function(_0x50577c,_0x37363f){const _0x2b87fa=a321_0x5b5a,_0xffde26=_0x50577c();while(!![]){try{const _0x20bfcc=parseInt(_0x2b87fa(0xdf))/0x1*(-parseInt(_0x2b87fa(0xed))/0x2)+-parseInt(_0x2b87fa(0xe6))/0x3+-parseInt(_0x2b87fa(0x104))/0x4*(-parseInt(_0x2b87fa(0xfa))/0x5)+-parseInt(_0x2b87fa(0xdd))/0x6*(parseInt(_0x2b87fa(0xde))/0x7)+-parseInt(_0x2b87fa(0x11a))/0x8*(parseInt(_0x2b87fa(0xf9))/0x9)+-parseInt(_0x2b87fa(0xfd))/0xa*(parseInt(_0x2b87fa(0x109))/0xb)+parseInt(_0x2b87fa(0xdb))/0xc;if(_0x20bfcc===_0x37363f)break;else _0xffde26['push'](_0xffde26['shift']());}catch(_0x3271a3){_0xffde26['push'](_0xffde26['shift']());}}}(a321_0x2ce1,0xb8ac8));import a321_0x299cc8 from'node:fs';import a321_0x2a8358 from'node:path';function a321_0x5b5a(_0x2178ba,_0xc3cc6c){_0x2178ba=_0x2178ba-0xd7;const _0x2ce10f=a321_0x2ce1();let _0x5b5a54=_0x2ce10f[_0x2178ba];return _0x5b5a54;}import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a321_0x548473(0xff)](_0x3ba0b6){const _0xa03c51=a321_0x548473;return String(_0x3ba0b6)[_0xa03c51(0xe3)](0x2,'0');}static[a321_0x548473(0x10e)](_0x53dc12){const _0x2b0905=a321_0x548473,_0x9222a6=_0x53dc12['getFullYear'](),_0x503006=this[_0x2b0905(0xff)](_0x53dc12[_0x2b0905(0x112)]()+0x1),_0x5508b0=this[_0x2b0905(0xff)](_0x53dc12['getDate']()),_0x1b4e8f=this[_0x2b0905(0xff)](_0x53dc12[_0x2b0905(0xea)]()),_0x1d8144=this[_0x2b0905(0xff)](_0x53dc12['getMinutes']()),_0x3f04f4=this[_0x2b0905(0xff)](_0x53dc12[_0x2b0905(0xe1)]());return{'createdAt':_0x9222a6+'-'+_0x503006+'-'+_0x5508b0+'\x20'+_0x1b4e8f+':'+_0x1d8144+':'+_0x3f04f4,'createdDate':_0x9222a6+'-'+_0x503006+'-'+_0x5508b0,'createdTime':_0x1b4e8f+':'+_0x1d8144+':'+_0x3f04f4};}static[a321_0x548473(0x116)](_0x2fb007){const _0x26b71f=a321_0x548473,_0x2ff45f=_0x2fb007[_0x26b71f(0xe5)]('/')[_0x26b71f(0x113)]()||_0x2fb007;return _0x2ff45f['split']('-')['map'](_0x2ea5be=>_0x2ea5be[_0x26b71f(0x11e)](0x0)[_0x26b71f(0xdc)]()+_0x2ea5be['slice'](0x1)['toLowerCase']())['join']('');}static['toDisplayTitle'](_0x1012b7){const _0x44753d=a321_0x548473,_0xae36d4=_0x1012b7[_0x44753d(0xe5)]('/')[_0x44753d(0x113)]()||_0x1012b7;return _0xae36d4[_0x44753d(0xe5)]('-')['map'](_0x5de6d9=>_0x5de6d9[_0x44753d(0x11e)](0x0)[_0x44753d(0xdc)]()+_0x5de6d9['slice'](0x1)[_0x44753d(0xe8)]())[_0x44753d(0xfe)]('\x20');}static[a321_0x548473(0x119)](_0x54c44b,_0x70499c,_0x392738){const _0x1b3b42=a321_0x548473,_0x25a38e=this[_0x1b3b42(0x116)](_0x70499c),_0x525bd7=this[_0x1b3b42(0xf1)](_0x70499c),{createdAt:_0x4bc7c9,createdDate:_0x95e483,createdTime:_0x389481}=this[_0x1b3b42(0x10e)](new Date());let _0x83ef96=_0x54c44b[_0x1b3b42(0x111)](/\{CliVersion\}/g,CLI_VERSION)[_0x1b3b42(0x111)](/\{ComponentName\}/g,_0x25a38e)['replace'](/\{DisplayTitle\}/g,_0x525bd7)[_0x1b3b42(0x111)](/\{PageName\}/g,_0x70499c)[_0x1b3b42(0x111)](/\{TemplateName\}/g,_0x392738)[_0x1b3b42(0x111)](/\{CreatedAt\}/g,_0x4bc7c9)[_0x1b3b42(0x111)](/\{CreatedDate\}/g,_0x95e483)[_0x1b3b42(0x111)](/\{CreatedTime\}/g,_0x389481);return _0x83ef96;}static[a321_0x548473(0xd8)](_0x17bda2,_0x16e800,_0x4cf2e1,_0x3a7392,_0x170eb6,_0x593b17,_0x3e28c4,_0x56d451,_0x150ecc){const _0x5b20e9=a321_0x548473,_0x1482d=new Date(),_0xc214f5=_0x1482d[_0x5b20e9(0xfb)](),_0x2804e5=_0x4cf2e1[_0x5b20e9(0x100)](_0x351a71=>{const _0x2ffbdb=_0x5b20e9,_0x1749f0=['datasetCode:\x20\x22'+_0x351a71[_0x2ffbdb(0x10d)]+'\x22',_0x2ffbdb(0xe7)+_0x351a71['tableName']+'\x22',_0x2ffbdb(0x118)+_0x351a71[_0x2ffbdb(0xe9)]+'\x22'];return _0x351a71['alias']&&_0x1749f0[_0x2ffbdb(0xef)](_0x2ffbdb(0xec)+_0x351a71[_0x2ffbdb(0xe4)]+'\x22'),_0x2ffbdb(0xf6)+_0x1749f0[_0x2ffbdb(0xfe)](',\x20')+_0x2ffbdb(0xf8);})[_0x5b20e9(0xfe)](''),_0x5b7c4d=_0x3a7392||_0x4cf2e1[0x0]?.[_0x5b20e9(0xe4)]||_0x5b20e9(0x117);let _0x4f8693=_0x17bda2[_0x5b20e9(0x111)](/\{AppCode\}/g,_0x16e800)['replace'](/\{ModelConfigs\}/g,_0x2804e5)['replace'](/\{ExampleModelName\}/g,_0x5b7c4d)[_0x5b20e9(0x111)](/\{ApiFileName\}/g,_0x170eb6||_0x5b20e9(0xf4))[_0x5b20e9(0x111)](/\{ConfigName\}/g,_0x593b17||_0x5b20e9(0x10f))[_0x5b20e9(0x111)](/\{ClientConfigParam\}/g,_0x3e28c4||'')[_0x5b20e9(0x111)](/\{SdkConfigFileName\}/g,_0x150ecc||_0x5b20e9(0x11f))[_0x5b20e9(0x111)](/\{VarPrefix\}/g,_0x56d451||_0x5b20e9(0xf7))[_0x5b20e9(0x111)](/\{CreatedAt\}/g,_0xc214f5);return _0x4f8693;}static async[a321_0x548473(0x108)](_0x51a00d,_0x10b9f3,_0x26ce31,_0x22775e,_0x4f2316=!![]){const _0x4babc8=a321_0x548473,_0x5c7999=Date[_0x4babc8(0x10a)]();try{_0x4f2316&&logger[_0x4babc8(0x106)](_0x4babc8(0xd9),'Starting\x20template\x20content\x20replacement',{'templatePath':_0x51a00d,'targetPath':_0x10b9f3,'pageName':_0x26ce31,'templateName':_0x22775e});await a321_0x299cc8[_0x4babc8(0xda)][_0x4babc8(0x102)](_0x10b9f3,{'recursive':!![]}),await this[_0x4babc8(0xe0)](_0x51a00d,_0x10b9f3,_0x26ce31,_0x22775e);if(_0x4f2316){const _0x2d060b=Date['now']()-_0x5c7999;logger[_0x4babc8(0x11b)](_0x4babc8(0xd9),_0x4babc8(0x115),_0x2d060b,{'pageName':_0x26ce31,'templateName':_0x22775e});}}catch(_0x3fe995){if(_0x4f2316){const _0x2b59f1=Date[_0x4babc8(0x10a)]()-_0x5c7999;logger['error'](_0x4babc8(0xd9),_0x4babc8(0x11c),{'templatePath':_0x51a00d,'targetPath':_0x10b9f3,'pageName':_0x26ce31,'templateName':_0x22775e,'error':_0x3fe995 instanceof Error?_0x3fe995[_0x4babc8(0xf5)]:String(_0x3fe995),'duration':_0x2b59f1});}throw _0x3fe995;}}static async[a321_0x548473(0xe0)](_0x5a77d4,_0x580539,_0x4a986f,_0x509f50){const _0x5e9eda=a321_0x548473,_0x4ce40f=await a321_0x299cc8[_0x5e9eda(0xda)][_0x5e9eda(0x101)](_0x5a77d4,{'withFileTypes':!![]});for(const _0x12da4b of _0x4ce40f){const _0x451ecc=a321_0x2a8358[_0x5e9eda(0xfe)](_0x5a77d4,_0x12da4b[_0x5e9eda(0xe9)]);let _0x447b7b=a321_0x2a8358[_0x5e9eda(0xfe)](_0x580539,_0x12da4b[_0x5e9eda(0xe9)]);_0x12da4b[_0x5e9eda(0xe9)][_0x5e9eda(0x10b)](_0x5e9eda(0xfc))&&(_0x447b7b=a321_0x2a8358[_0x5e9eda(0xfe)](_0x580539,_0x12da4b[_0x5e9eda(0xe9)][_0x5e9eda(0x111)](/\.tpl$/,'')));if(_0x12da4b[_0x5e9eda(0x110)]())await a321_0x299cc8[_0x5e9eda(0xda)]['mkdir'](_0x447b7b,{'recursive':!![]}),await this[_0x5e9eda(0xe0)](_0x451ecc,_0x447b7b,_0x4a986f,_0x509f50);else _0x12da4b['isFile']()&&await this[_0x5e9eda(0xee)](_0x451ecc,_0x447b7b,_0x4a986f,_0x509f50);}}static async['processFile'](_0x2bc047,_0x5905f1,_0x2614e9,_0x458e0f){const _0x4ace64=a321_0x548473,_0x4eada6=a321_0x2a8358[_0x4ace64(0x103)](_0x2bc047)[_0x4ace64(0xe8)]();_0x2bc047[_0x4ace64(0x10b)]('.tpl')&&(_0x5905f1=_0x5905f1[_0x4ace64(0x111)](/\.tpl$/,''));const _0x1e6884=[_0x4ace64(0xeb),_0x4ace64(0x105),_0x4ace64(0xd7),'.js',_0x4ace64(0xf2),_0x4ace64(0xe2),'.css',_0x4ace64(0xf3),'.tpl'];if(_0x1e6884[_0x4ace64(0x11d)](_0x4eada6)||_0x2bc047[_0x4ace64(0x10b)](_0x4ace64(0xfc))){const _0x3262c9=await a321_0x299cc8[_0x4ace64(0xda)][_0x4ace64(0xf0)](_0x2bc047,_0x4ace64(0x10c)),_0x4c6a09=this['replaceContent'](_0x3262c9,_0x2614e9,_0x458e0f);await a321_0x299cc8[_0x4ace64(0xda)][_0x4ace64(0x114)](_0x5905f1,_0x4c6a09,'utf8');}else await a321_0x299cc8['promises'][_0x4ace64(0x107)](_0x2bc047,_0x5905f1);}}
@@ -1 +1 @@
1
- (function(_0x522857,_0x165e91){const _0x5a3a07=a320_0xb8a9,_0x24bbc5=_0x522857();while(!![]){try{const _0x258e40=-parseInt(_0x5a3a07(0x176))/0x1*(-parseInt(_0x5a3a07(0x162))/0x2)+parseInt(_0x5a3a07(0x16b))/0x3*(parseInt(_0x5a3a07(0x168))/0x4)+parseInt(_0x5a3a07(0x172))/0x5*(parseInt(_0x5a3a07(0x171))/0x6)+parseInt(_0x5a3a07(0x16e))/0x7+-parseInt(_0x5a3a07(0x165))/0x8+-parseInt(_0x5a3a07(0x173))/0x9*(parseInt(_0x5a3a07(0x175))/0xa)+parseInt(_0x5a3a07(0x15c))/0xb*(-parseInt(_0x5a3a07(0x16f))/0xc);if(_0x258e40===_0x165e91)break;else _0x24bbc5['push'](_0x24bbc5['shift']());}catch(_0xe21513){_0x24bbc5['push'](_0x24bbc5['shift']());}}}(a320_0x529d,0x761b5));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a320_0x143f9e from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a320_0x529d(){const _0x24d02f=['364158wfhUOf','75FBhtaq','338346CaJNXJ','true','30upvFlx','3125QDgGka','https://www.npmjs.com/package/','update-check.json','stableVersion','number','parse','valid','lastNotifiedAt','now','113300AVthnW','object','.cache','\x20update',',\x20run:\x20','\x20available,\x20current\x20','122jNEWbh','checkedAt','rabetbase-cli','4621104vupZim','toLowerCase','trim','4LwYYCx','utf8','latest','2081901muhDeB','stringify','gte','3296986BlwdyX','1272gogvLs','lastNotifiedVersion'];a320_0x529d=function(){return _0x24d02f;};return a320_0x529d();}function a320_0xb8a9(_0x2cc3ca,_0x3c2d89){_0x2cc3ca=_0x2cc3ca-0x157;const _0x529d2d=a320_0x529d();let _0xb8a96c=_0x529d2d[_0x2cc3ca];return _0xb8a96c;}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 _0x48246d=a320_0xb8a9,_0x3ba2ce=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x48246d(0x167)]()[_0x48246d(0x166)]();return _0x3ba2ce==='1'||_0x3ba2ce===_0x48246d(0x174)||_0x3ba2ce==='yes';}function cacheRoot(){const _0x2bcd00=a320_0xb8a9;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x2bcd00(0x15e));}export function getUpdateNoticeCachePath(){const _0x17a1c3=a320_0xb8a9;return join(cacheRoot(),_0x17a1c3(0x164),_0x17a1c3(0x178));}async function readUpdateNoticeCache(){const _0x1ff7bc=a320_0xb8a9;try{const _0x8a89d=await readFile(getUpdateNoticeCachePath(),_0x1ff7bc(0x169)),_0x3a3269=JSON[_0x1ff7bc(0x158)](_0x8a89d);if(!_0x3a3269||typeof _0x3a3269!==_0x1ff7bc(0x15d))return{};return _0x3a3269;}catch{return{};}}async function writeUpdateNoticeCache(_0x2a7909){const _0x27250a=a320_0xb8a9;try{const _0x2d1604=getUpdateNoticeCachePath();await mkdir(dirname(_0x2d1604),{'recursive':!![]}),await writeFile(_0x2d1604,JSON[_0x27250a(0x16c)](_0x2a7909,null,0x2)+'\x0a',_0x27250a(0x169));}catch{}}function isFreshCheck(_0x1588cc,_0xa7ae73){const _0x34d55a=a320_0xb8a9;return typeof _0x1588cc['checkedAt']===_0x34d55a(0x157)&&_0xa7ae73-_0x1588cc[_0x34d55a(0x163)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x764ce9,_0xd44f8,_0x49dd79){const _0x397b6=a320_0xb8a9;return _0x764ce9[_0x397b6(0x170)]===_0xd44f8&&typeof _0x764ce9[_0x397b6(0x15a)]===_0x397b6(0x157)&&_0x49dd79-_0x764ce9['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x5cf15b){const _0x3f3cbf=a320_0xb8a9;return _0x3f3cbf(0x177)+NPM_PACKAGE_NAME+'/v/'+_0x5cf15b;}export async function resolveLatestUpdateNotice(){const _0x561bed=a320_0xb8a9;if(isUpdateNoticeDisabled())return null;try{const _0x14f098=Date[_0x561bed(0x15b)](),_0x1ea8b8=getCliVersion(),_0x637e94=await readUpdateNoticeCache();let _0x44c2e4=isFreshCheck(_0x637e94,_0x14f098)?_0x637e94[_0x561bed(0x16a)]?.[_0x561bed(0x167)]():undefined;if(!_0x44c2e4&&!isFreshCheck(_0x637e94,_0x14f098)){const _0x50d088=await getCliVersionPolicy();_0x44c2e4=_0x50d088?.[_0x561bed(0x179)]?.[_0x561bed(0x167)]()||undefined,await writeUpdateNoticeCache({..._0x637e94,'checkedAt':_0x14f098,'latest':_0x44c2e4,'failed':!_0x44c2e4});}if(!_0x44c2e4||!a320_0x143f9e[_0x561bed(0x159)](_0x1ea8b8)||!a320_0x143f9e[_0x561bed(0x159)](_0x44c2e4))return null;if(a320_0x143f9e[_0x561bed(0x16d)](_0x1ea8b8,_0x44c2e4))return null;if(isRecentlyNotified(_0x637e94,_0x44c2e4,_0x14f098))return null;const _0xd3676f=CLI_BIN_NAME+_0x561bed(0x15f);return await writeUpdateNoticeCache({..._0x637e94,'checkedAt':isFreshCheck(_0x637e94,_0x14f098)?_0x637e94['checkedAt']:_0x14f098,'latest':_0x44c2e4,'failed':![],'lastNotifiedVersion':_0x44c2e4,'lastNotifiedAt':_0x14f098}),{'command':_0xd3676f,'current':_0x1ea8b8,'latest':_0x44c2e4,'url':buildNpmVersionUrl(_0x44c2e4),'message':CLI_BIN_NAME+'\x20'+_0x44c2e4+_0x561bed(0x161)+_0x1ea8b8+_0x561bed(0x160)+_0xd3676f};}catch{return null;}}
1
+ (function(_0x3a2e30,_0x35105c){const _0x1b1df7=a322_0x26a0,_0x491424=_0x3a2e30();while(!![]){try{const _0x15db47=-parseInt(_0x1b1df7(0x11c))/0x1+-parseInt(_0x1b1df7(0x127))/0x2+parseInt(_0x1b1df7(0x124))/0x3*(-parseInt(_0x1b1df7(0x113))/0x4)+-parseInt(_0x1b1df7(0x11f))/0x5*(parseInt(_0x1b1df7(0x111))/0x6)+-parseInt(_0x1b1df7(0x11a))/0x7*(parseInt(_0x1b1df7(0x10e))/0x8)+-parseInt(_0x1b1df7(0x114))/0x9*(-parseInt(_0x1b1df7(0x118))/0xa)+parseInt(_0x1b1df7(0x11d))/0xb;if(_0x15db47===_0x35105c)break;else _0x491424['push'](_0x491424['shift']());}catch(_0x5121bc){_0x491424['push'](_0x491424['shift']());}}}(a322_0x56f7,0xcaff1));import{mkdir,readFile,writeFile}from'node:fs/promises';function a322_0x26a0(_0x1ee8d2,_0x5d3d58){_0x1ee8d2=_0x1ee8d2-0x10c;const _0x56f708=a322_0x56f7();let _0x26a005=_0x56f708[_0x1ee8d2];return _0x26a005;}import{homedir}from'node:os';import{dirname,join}from'node:path';import a322_0x3b02f2 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 a322_0x56f7(){const _0x9fbd64=['14659146UrMBxV','latest','checkedAt','stableVersion','10nXxZGA','now','38150ZxOEyZ','trim','265609bCbTlm','16264391DeTJLJ','lastNotifiedVersion','10gOehUx','stringify','parse','toLowerCase','valid','615oJCyYN','update-check.json','utf8','2513820duupgE','https://www.npmjs.com/package/','\x20available,\x20current\x20','number','24oLVVlS','object','lastNotifiedAt','1077654NwBUeE','\x20update','7372mbyzUr'];a322_0x56f7=function(){return _0x9fbd64;};return a322_0x56f7();}function isUpdateNoticeDisabled(){const _0x16409f=a322_0x26a0,_0x188378=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x16409f(0x11b)]()[_0x16409f(0x122)]();return _0x188378==='1'||_0x188378==='true'||_0x188378==='yes';}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x1ab0e9=a322_0x26a0;return join(cacheRoot(),'rabetbase-cli',_0x1ab0e9(0x125));}async function readUpdateNoticeCache(){const _0x5ea59e=a322_0x26a0;try{const _0x4828d5=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x36e91e=JSON[_0x5ea59e(0x121)](_0x4828d5);if(!_0x36e91e||typeof _0x36e91e!==_0x5ea59e(0x10f))return{};return _0x36e91e;}catch{return{};}}async function writeUpdateNoticeCache(_0x5aba12){const _0x2d5654=a322_0x26a0;try{const _0x1ba0ee=getUpdateNoticeCachePath();await mkdir(dirname(_0x1ba0ee),{'recursive':!![]}),await writeFile(_0x1ba0ee,JSON[_0x2d5654(0x120)](_0x5aba12,null,0x2)+'\x0a',_0x2d5654(0x126));}catch{}}function isFreshCheck(_0x7f2df3,_0x4e0580){const _0x1f0ff3=a322_0x26a0;return typeof _0x7f2df3['checkedAt']==='number'&&_0x4e0580-_0x7f2df3[_0x1f0ff3(0x116)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x5cd044,_0x2a3867,_0x41b66d){const _0xeb9f9=a322_0x26a0;return _0x5cd044[_0xeb9f9(0x11e)]===_0x2a3867&&typeof _0x5cd044[_0xeb9f9(0x110)]===_0xeb9f9(0x10d)&&_0x41b66d-_0x5cd044[_0xeb9f9(0x110)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x554fb1){const _0x55bf5c=a322_0x26a0;return _0x55bf5c(0x128)+NPM_PACKAGE_NAME+'/v/'+_0x554fb1;}export async function resolveLatestUpdateNotice(){const _0xb2c2f=a322_0x26a0;if(isUpdateNoticeDisabled())return null;try{const _0x55e0ad=Date[_0xb2c2f(0x119)](),_0x1d9111=getCliVersion(),_0x191432=await readUpdateNoticeCache();let _0x29bc34=isFreshCheck(_0x191432,_0x55e0ad)?_0x191432[_0xb2c2f(0x115)]?.[_0xb2c2f(0x11b)]():undefined;if(!_0x29bc34&&!isFreshCheck(_0x191432,_0x55e0ad)){const _0x500d02=await getCliVersionPolicy();_0x29bc34=_0x500d02?.[_0xb2c2f(0x117)]?.[_0xb2c2f(0x11b)]()||undefined,await writeUpdateNoticeCache({..._0x191432,'checkedAt':_0x55e0ad,'latest':_0x29bc34,'failed':!_0x29bc34});}if(!_0x29bc34||!a322_0x3b02f2[_0xb2c2f(0x123)](_0x1d9111)||!a322_0x3b02f2[_0xb2c2f(0x123)](_0x29bc34))return null;if(a322_0x3b02f2['gte'](_0x1d9111,_0x29bc34))return null;if(isRecentlyNotified(_0x191432,_0x29bc34,_0x55e0ad))return null;const _0x4b979c=CLI_BIN_NAME+_0xb2c2f(0x112);return await writeUpdateNoticeCache({..._0x191432,'checkedAt':isFreshCheck(_0x191432,_0x55e0ad)?_0x191432[_0xb2c2f(0x116)]:_0x55e0ad,'latest':_0x29bc34,'failed':![],'lastNotifiedVersion':_0x29bc34,'lastNotifiedAt':_0x55e0ad}),{'command':_0x4b979c,'current':_0x1d9111,'latest':_0x29bc34,'url':buildNpmVersionUrl(_0x29bc34),'message':CLI_BIN_NAME+'\x20'+_0x29bc34+_0xb2c2f(0x10c)+_0x1d9111+',\x20run:\x20'+_0x4b979c};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x459935,_0x3e5832){var _0x1889d6=a321_0x41a5,_0x3102a4=_0x459935();while(!![]){try{var _0x3cdcfe=-parseInt(_0x1889d6(0x1bd))/0x1*(-parseInt(_0x1889d6(0x1b4))/0x2)+parseInt(_0x1889d6(0x1bb))/0x3*(-parseInt(_0x1889d6(0x1ba))/0x4)+parseInt(_0x1889d6(0x1bc))/0x5*(-parseInt(_0x1889d6(0x1b7))/0x6)+parseInt(_0x1889d6(0x1b3))/0x7*(parseInt(_0x1889d6(0x1be))/0x8)+parseInt(_0x1889d6(0x1b5))/0x9+parseInt(_0x1889d6(0x1b8))/0xa*(parseInt(_0x1889d6(0x1b9))/0xb)+-parseInt(_0x1889d6(0x1b6))/0xc;if(_0x3cdcfe===_0x3e5832)break;else _0x3102a4['push'](_0x3102a4['shift']());}catch(_0x5e7441){_0x3102a4['push'](_0x3102a4['shift']());}}}(a321_0x34fe,0x5f305));function a321_0x41a5(_0x3c4292,_0xc5ed78){_0x3c4292=_0x3c4292-0x1b3;var _0x34fe2c=a321_0x34fe();var _0x41a5ad=_0x34fe2c[_0x3c4292];return _0x41a5ad;}import{VERSION}from'../generated/build-info.js';function a321_0x34fe(){var _0x38c046=['13349664zVrtrZ','14094VieMZg','12040NlmWzW','3355grouDZ','52pAJxHX','11541gMjoQt','155MnVpbp','1bmyEHJ','118264ZwbrrU','217BgcOpH','440938ZuDYfO','5213097QypeFW'];a321_0x34fe=function(){return _0x38c046;};return a321_0x34fe();}export function getCliVersion(){return VERSION;}
1
+ function a323_0x5c3a(_0x32a266,_0x5bef78){_0x32a266=_0x32a266-0xf7;var _0x338af1=a323_0x338a();var _0x5c3adc=_0x338af1[_0x32a266];return _0x5c3adc;}(function(_0x2a65d1,_0x36b28d){var _0x57e1d9=a323_0x5c3a,_0x29b68a=_0x2a65d1();while(!![]){try{var _0x113e51=-parseInt(_0x57e1d9(0x100))/0x1*(parseInt(_0x57e1d9(0xfc))/0x2)+-parseInt(_0x57e1d9(0xfb))/0x3+-parseInt(_0x57e1d9(0xfd))/0x4+-parseInt(_0x57e1d9(0xfe))/0x5+parseInt(_0x57e1d9(0xff))/0x6+-parseInt(_0x57e1d9(0xf7))/0x7*(-parseInt(_0x57e1d9(0xf8))/0x8)+parseInt(_0x57e1d9(0xfa))/0x9*(parseInt(_0x57e1d9(0xf9))/0xa);if(_0x113e51===_0x36b28d)break;else _0x29b68a['push'](_0x29b68a['shift']());}catch(_0x4f7658){_0x29b68a['push'](_0x29b68a['shift']());}}}(a323_0x338a,0x8e6d8));function a323_0x338a(){var _0x58f70f=['3959480wGjWfZ','3302196YzBxma','1076874YqOJCp','7oInVIy','6000328znVkzm','9633160uquJBR','18qrmJzz','919647vfMBel','2izEXck','1873344mUbNuv'];a323_0x338a=function(){return _0x58f70f;};return a323_0x338a();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- (function(_0x59bac3,_0x1feae0){var _0x2ac871=a322_0x5cec,_0x503a24=_0x59bac3();while(!![]){try{var _0x594da6=parseInt(_0x2ac871(0xbd))/0x1+parseInt(_0x2ac871(0xbb))/0x2*(-parseInt(_0x2ac871(0xbc))/0x3)+-parseInt(_0x2ac871(0xc3))/0x4*(-parseInt(_0x2ac871(0xc0))/0x5)+parseInt(_0x2ac871(0xc2))/0x6+parseInt(_0x2ac871(0xc1))/0x7*(parseInt(_0x2ac871(0xbe))/0x8)+-parseInt(_0x2ac871(0xbf))/0x9+-parseInt(_0x2ac871(0xc4))/0xa;if(_0x594da6===_0x1feae0)break;else _0x503a24['push'](_0x503a24['shift']());}catch(_0x28b18b){_0x503a24['push'](_0x503a24['shift']());}}}(a322_0x23c3,0xce95e));function a322_0x23c3(){var _0x307038=['101312UwncgI','3187494GEaUNm','15NWnmFj','203EyAesw','4673364YUroFQ','1731332DZChNO','1004540PNUzIn','4rKBBVx','1764696QJMdGO','32609NhdwWj'];a322_0x23c3=function(){return _0x307038;};return a322_0x23c3();}function a322_0x5cec(_0x5cfcdb,_0x5b68ea){_0x5cfcdb=_0x5cfcdb-0xbb;var _0x23c3bf=a322_0x23c3();var _0x5cec02=_0x23c3bf[_0x5cfcdb];return _0x5cec02;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x1483f4,_0x5f4786){setActiveCookie(_0x1483f4);try{return await _0x5f4786();}finally{clearActiveCookie();}}
1
+ function a324_0x35ad(_0x1e6a91,_0x3702c6){_0x1e6a91=_0x1e6a91-0x188;var _0x1535df=a324_0x1535();var _0x35adb9=_0x1535df[_0x1e6a91];return _0x35adb9;}(function(_0x2228fc,_0x22263e){var _0x51d8e1=a324_0x35ad,_0x4e5994=_0x2228fc();while(!![]){try{var _0x529dec=-parseInt(_0x51d8e1(0x190))/0x1*(parseInt(_0x51d8e1(0x191))/0x2)+parseInt(_0x51d8e1(0x18d))/0x3+parseInt(_0x51d8e1(0x18f))/0x4*(parseInt(_0x51d8e1(0x18a))/0x5)+parseInt(_0x51d8e1(0x18c))/0x6+parseInt(_0x51d8e1(0x18b))/0x7*(parseInt(_0x51d8e1(0x188))/0x8)+parseInt(_0x51d8e1(0x18e))/0x9*(parseInt(_0x51d8e1(0x189))/0xa)+-parseInt(_0x51d8e1(0x192))/0xb;if(_0x529dec===_0x22263e)break;else _0x4e5994['push'](_0x4e5994['shift']());}catch(_0x7d9a8f){_0x4e5994['push'](_0x4e5994['shift']());}}}(a324_0x1535,0x76aef));function a324_0x1535(){var _0x2874d9=['14qxmAPU','2003466xXWAhs','2870727UQGpwt','2067453VyEnlH','28GYXWfq','13355SZxJPq','2SMOUTR','24826549pYYToN','1201480FkfSYl','20Iuuyoa','504155zQCOVT'];a324_0x1535=function(){return _0x2874d9;};return a324_0x1535();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x2762a0,_0x3af75a){setActiveCookie(_0x2762a0);try{return await _0x3af75a();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- (function(_0x271fbe,_0x43109f){var _0x355b42=a323_0x3520,_0x2f650a=_0x271fbe();while(!![]){try{var _0x1e1d3d=-parseInt(_0x355b42(0x1f8))/0x1+-parseInt(_0x355b42(0x1f7))/0x2*(-parseInt(_0x355b42(0x1ed))/0x3)+-parseInt(_0x355b42(0x1ec))/0x4+-parseInt(_0x355b42(0x1f2))/0x5*(-parseInt(_0x355b42(0x1f3))/0x6)+parseInt(_0x355b42(0x1f6))/0x7+-parseInt(_0x355b42(0x1f5))/0x8*(-parseInt(_0x355b42(0x1f1))/0x9)+parseInt(_0x355b42(0x1ee))/0xa*(parseInt(_0x355b42(0x1ef))/0xb);if(_0x1e1d3d===_0x43109f)break;else _0x2f650a['push'](_0x2f650a['shift']());}catch(_0x595017){_0x2f650a['push'](_0x2f650a['shift']());}}}(a323_0x11aa,0x778ca));function a323_0x11aa(){var _0x4514de=['2380632kHMXyI','3736033XOBLJt','335014GKhfMf','973070DfAOvx','2512088uVbOhc','3TpGLUZ','1183730oTnnVf','11KADCZC','stderr','18egBKJp','3380045LcBPPx','6dXADNf','write'];a323_0x11aa=function(){return _0x4514de;};return a323_0x11aa();}function a323_0x3520(_0x4088f3,_0xbea7cc){_0x4088f3=_0x4088f3-0x1ec;var _0x11aa05=a323_0x11aa();var _0x3520a4=_0x11aa05[_0x4088f3];return _0x3520a4;}export function writeCliSideChannelLine(_0x30cf68){var _0x567845=a323_0x3520;process[_0x567845(0x1f0)][_0x567845(0x1f4)](_0x30cf68+'\x0a');}
1
+ function a325_0x9b7f(){var _0x154e28=['517CLRRfG','3cjVbQN','9071433PGleqa','27XDlRMy','958FtgBxD','stderr','418270NTqPzb','6089965sqKIjN','2196664oXZpuy','264hhARps','2171460YJZWNM','5744800UfdAwe'];a325_0x9b7f=function(){return _0x154e28;};return a325_0x9b7f();}function a325_0x40f2(_0x2dae63,_0x4d4273){_0x2dae63=_0x2dae63-0x1d7;var _0x9b7f61=a325_0x9b7f();var _0x40f2e0=_0x9b7f61[_0x2dae63];return _0x40f2e0;}(function(_0x47aefe,_0x5956e8){var _0x5cf7f1=a325_0x40f2,_0x16ce45=_0x47aefe();while(!![]){try{var _0x21c85b=parseInt(_0x5cf7f1(0x1d7))/0x1*(-parseInt(_0x5cf7f1(0x1de))/0x2)+-parseInt(_0x5cf7f1(0x1db))/0x3*(parseInt(_0x5cf7f1(0x1d9))/0x4)+parseInt(_0x5cf7f1(0x1e1))/0x5+-parseInt(_0x5cf7f1(0x1d8))/0x6+-parseInt(_0x5cf7f1(0x1dc))/0x7+-parseInt(_0x5cf7f1(0x1e2))/0x8*(-parseInt(_0x5cf7f1(0x1dd))/0x9)+-parseInt(_0x5cf7f1(0x1e0))/0xa*(-parseInt(_0x5cf7f1(0x1da))/0xb);if(_0x21c85b===_0x5956e8)break;else _0x16ce45['push'](_0x16ce45['shift']());}catch(_0x1bc4dc){_0x16ce45['push'](_0x16ce45['shift']());}}}(a325_0x9b7f,0xc02b6));export function writeCliSideChannelLine(_0x229f13){var _0x19e6c0=a325_0x40f2;process[_0x19e6c0(0x1df)]['write'](_0x229f13+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.2",
3
+ "version": "2.5.3-beta.1",
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": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.2
3
+ version: 2.5.3-beta.1
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:
@@ -22,7 +22,7 @@ metadata:
22
22
  2. **AppCode**:确保 `.rabetbase.json` 中设置了 `apps`(单应用自动选中;多应用再配 `defaultApp`),或兼容读取的顶层 `appcode`,或通过 `--appcode <code>` / `--app <name>` 传入。旧 `.lovrabet.json` 不会自动读取
23
23
  3. **配置文件**:`rabetbase config init` 默认写当前项目 `.rabetbase.json`,显式 `--global` 时写 `~/.rabetbase.json`;默认节点不落冗余 `region`。官方节点模式清理显式和遗留 Domain,独立部署模式清理旧 `region`/Domain 后写入路由配置。完整字段说明见 [`.rabetbase.json` 配置参考](references/rabetbase-config.md)。当前目录应用绑定使用下方 `workspace init`
24
24
  4. **工作目录应用绑定**:当前目录要固定使用某个应用时,使用 `rabetbase workspace init --appcode <code>` 或 `rabetbase workspace use --app <name>`(选型见「app vs workspace 职责边界」)
25
- 5. **多应用场景**:一个项目有多个应用时,先 `rabetbase workspace add <name> --appcode …` 登记各应用,再用 `--app <name>` 临时切换,或 `workspace use --app <name>` 修改当前工作目录默认应用
25
+ 5. **多应用场景**:一个项目有多个应用时,先 `rabetbase workspace add <name> --appcode [--region cn|id]` 登记各应用;profile 的 `region` 高于顶层国家/地区回退值。再用 `--app <name>` 临时切换,或 `workspace use --app <name>` 修改当前工作目录默认应用
26
26
  6. **平台发现**:当你不知道当前登录账号能访问哪些应用时,先 `rabetbase app list --remote`;它查询平台目录,不修改本地配置
27
27
  7. **本地配置视图**:当你要确认当前项目或全局已经登记了哪些应用、默认应用是谁时,用 `rabetbase app list`。`rabetbase app` 本身只显示帮助,不等价于 `app list`
28
28
  8. **人员目录查询**:查询某租户的人员用 `rabetbase tenant members-list --tenant-code <code>`;查询某应用的人员及其角色归属用 `rabetbase app members-list --appcode <code>`。两者均为只读全量查询,不提供分页、模糊搜索或写入能力。
@@ -84,6 +84,7 @@ metadata:
84
84
  - 遇到“关联数据带不出 / 数据列表页没有生成关联关系 / 页面关联绑定异常”类问题,固定顺序是:`dataset relations` 只读确认关系事实 → `dataset relation-audit` 审计关系事实风险 → `page data-list-status` 判断页面是否存在 → `page relation-audit` 审计页面绑定;若关系事实本身不对,先按 [`dataset relation-create/update/delete`](references/rabetbase-dataset-relation-mutations.md) 做 `--dry-run` 方案并等用户确认;已有页面再 `page sync --dry-run`,无页面走 `page generate-start --dry-run`
85
85
  - `page sync` 只负责同步已有数据列表页,不是数据集关系修复命令,也不能承诺自动修复所有 `wrong_code` / `wrong_label` / `missing`
86
86
  - 本地 schema 开发:[`page pull`](references/rabetbase-page-pull.md) → IDE 编辑 → [`page push`](references/rabetbase-page-push.md)
87
+ - 编辑 `LrSmartJsx` 时只维护 `props.render.source`,不要手写 `render.value` 或把运行时上下文改成自定义函数参数;`page push` 会使用平台正式编译器生成 `value` 并补齐 `_context`
87
88
  - 恢复已删除页面:先读 [`page restore`](references/rabetbase-page-restore.md),CLI 产品类型只使用 `DATA_LIST|CUSTOM`;默认按 ID 自动识别,存在跨类型同 ID 时显式传 `--page-type`
88
89
  - 需要理解 formal schema 组件语义时,再按需阅读 `knowledge/page-schema/` 下的 PageSchema 组件资料;不要把它与 `rabetbase page` 命令 reference 混淆
89
90
  7. **自定义页面工作流**
@@ -162,7 +163,7 @@ metadata:
162
163
  - **不要**在用户未要求时给命令加 `--global`** — 默认行为已是「项目优先」;只有用户明确要改全局配置或不在项目内且意图写全局时才使用。
163
164
  - **`config set`**:在**没有**项目配置文件(当前目录未解析到 `.rabetbase.json`)且**未**传 `--global` 时,CLI **拒绝执行**并提示使用 `--global` 或先 `rabetbase workspace init --appcode <code>`,**不会**静默写入全局。
164
165
  - **`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
- - **`api pull` / `api list`**:默认仅针对**项目** `apps`;需要合并全局已登记应用时加 `--global`(见各命令 reference)。
166
+ - **`api pull` / `api list`**:默认仅针对**项目** `apps`;需要合并全局已登记应用时加 `--global`。多应用遍历会在每个请求前应用该 profile 的有效 `region`;`api pull` 为非默认应用生成独立 `<name>-sdk-config.ts`(见各命令 reference)。
166
167
  - **`app list`**:默认展示**合并**后的全量;`--global` 仅全局、`--project` 仅项目(见 [`rabetbase app list`](references/rabetbase-app-list.md))。
167
168
 
168
169
  ## app vs workspace 职责边界
@@ -369,11 +370,11 @@ const result = await client.bff.execute<DashboardData>({
369
370
  | 审计数据列表页关系绑定 | [`rabetbase page relation-audit --datasetcode <code>`](references/rabetbase-page-relation-binding.md) | 只读检查数据列表页 options 绑定是否匹配 `dataset relations` |
370
371
  | 同步已有数据列表页 | [`rabetbase page sync --datasetcode <code>`](references/rabetbase-page-sync.md) | 数据集字段变更后同步到关联数据列表页 |
371
372
  | 拉取数据列表页 schema 到本地 | [`rabetbase page pull --id <pageId>`](references/rabetbase-page-pull.md) | 写入 `.rabetbase/page/<appCode>/`,进入本地编辑工作流 |
372
- | 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | 推送后自动回拉 canonical schema 覆盖本地 |
373
+ | 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | `LrSmartJsx` 只维护 `render.source`,CLI 写前生成 `render.value`;推送后自动回拉 canonical schema 覆盖本地 |
373
374
  | 恢复已删除页面 | [`rabetbase page restore --id <pageId>`](references/rabetbase-page-restore.md) | 支持 `DATA_LIST|CUSTOM` 自动识别;跨类型同 ID 时显式传 `--page-type` |
374
375
  | 数据库连接(dblink)/ 测连 / 结构分析 | [`rabetbase db list`](references/rabetbase-db-list.md) 起 | **`id`**、**trace/plan id** 与“终态 + 复跑 diff”完成口径见 [database-connection-workflow.md](guides/database-connection-workflow.md);各子命令见 `references/rabetbase-db-*.md` |
375
376
  | 独立部署应用范围补偿同步 | [`rabetbase deployment sync-all`](references/rabetbase-deployment-sync-all.md) | 管理员首次初始化、历史回填或故障恢复时使用;`write`,只提交 appCode;在停止编辑的安静窗口执行,保存 jobId 后查询状态,结果未知时用 `sync-jobs` 恢复任务事实,不自动重提;不是精确镜像 |
376
- | 生成 / 更新 API 客户端代码 | [`rabetbase api pull`](references/rabetbase-api-pull.md) → [`sdk-client-generation.md`](guides/sdk-client-generation.md) | `api pull` 拉 Dataset 事实并刷新 `sdk-config.ts`;已有 `api.ts`/`client.ts` 按 guide 合并更新 |
377
+ | 生成 / 更新 API 客户端代码 | [`rabetbase api pull`](references/rabetbase-api-pull.md) → [`sdk-client-generation.md`](guides/sdk-client-generation.md) | `api pull` 拉 Dataset 事实并刷新匹配应用的 SDK 路由文件;已有 `api.ts`/`client.ts` 按 guide 合并更新 |
377
378
  | 查看生成的 API 模型 | [`rabetbase api list`](references/rabetbase-api-list.md) | 列出已生成的数据模型 |
378
379
  | 查看现有 SQL | [`rabetbase sql list --name "xxx"`](references/rabetbase-sql-list.md) | 分页,按名称过滤;默认查当前决议到的单个应用 |
379
380
  | 查看 SQL 详情 | [`rabetbase sql detail --sqlcode xxx`](references/rabetbase-sql-detail.md) | 含完整 SQL 内容和参数定义 |
@@ -113,6 +113,8 @@ rabetbase page pull --datasetcode <datasetCode> --version-tag <versionTag> --for
113
113
  1. 先 `pull` 建立基线,不要手工从零伪造页面文件
114
114
  2. 如需理解 PageSchema 组件语义,再按需查看 `knowledge/page-schema/`;那是组件知识,不是 CLI 命令 reference
115
115
 
116
+ 若页面包含 `LrSmartJsx`,只编辑 `props.render.source`。不要手写 `render.value`,也不要把平台渲染函数的内部参数模型复制进源码;`page push` 会调用平台正式编译器生成 `value`,补齐 `_context`,并在编译失败时阻止页面更新。
117
+
116
118
  ### 6. 推送前先做 `push --dry-run`
117
119
 
118
120
  真实推送前,先执行 [`page push`](../references/rabetbase-page-push.md) 的预演:
@@ -127,6 +129,7 @@ rabetbase page push --datasetcode <datasetCode> --version-tag <tag> --dry-run --
127
129
  - 本地是否存在基线
128
130
  - 远端页面版本是否已变化
129
131
  - 批量模式下目标页面组是否正确
132
+ - `LrSmartJsx.render.source` 是否能被平台正式编译器成功编译
130
133
 
131
134
  若命令提示先重新 `pull`,不要盲推覆盖。
132
135