@lovrabet/rabetbase-cli 2.5.1 → 2.5.2-beta.2

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.js +1 -1
  4. package/lib/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/delete.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/init.js +1 -1
  56. package/lib/commands/config/list.js +1 -1
  57. package/lib/commands/config/set.js +1 -1
  58. package/lib/commands/config/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/business-groups.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-restore.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  80. package/lib/commands/db/analysis-batching.js +1 -1
  81. package/lib/commands/db/analyze-batch-plan.js +1 -1
  82. package/lib/commands/db/analyze-cancel.js +1 -1
  83. package/lib/commands/db/analyze-start.js +1 -1
  84. package/lib/commands/db/analyze-status.js +1 -1
  85. package/lib/commands/db/create.js +1 -1
  86. package/lib/commands/db/delete.js +1 -1
  87. package/lib/commands/db/detail.js +1 -1
  88. package/lib/commands/db/diff-refresh-start.js +1 -1
  89. package/lib/commands/db/diff-refresh-status.js +1 -1
  90. package/lib/commands/db/diff.js +1 -1
  91. package/lib/commands/db/index.js +1 -1
  92. package/lib/commands/db/list.js +1 -1
  93. package/lib/commands/db/shared.js +1 -1
  94. package/lib/commands/db/table-diff-shared.js +1 -1
  95. package/lib/commands/db/tables.js +1 -1
  96. package/lib/commands/db/test.js +1 -1
  97. package/lib/commands/db/update.js +1 -1
  98. package/lib/commands/deployment/auto-sync.d.ts +3 -11
  99. package/lib/commands/deployment/auto-sync.js +1 -1
  100. package/lib/commands/deployment/index.js +1 -1
  101. package/lib/commands/deployment/sync-all.d.ts +2 -0
  102. package/lib/commands/deployment/sync-all.js +1 -0
  103. package/lib/commands/deployment/sync-jobs.d.ts +2 -0
  104. package/lib/commands/deployment/sync-jobs.js +1 -0
  105. package/lib/commands/deployment/sync-status.d.ts +2 -0
  106. package/lib/commands/deployment/sync-status.js +1 -0
  107. package/lib/commands/deployment/sync.js +1 -1
  108. package/lib/commands/doctor.js +1 -1
  109. package/lib/commands/file/index.js +1 -1
  110. package/lib/commands/instant-api-policy/current.d.ts +2 -0
  111. package/lib/commands/instant-api-policy/current.js +1 -0
  112. package/lib/commands/instant-api-policy/index.d.ts +2 -0
  113. package/lib/commands/instant-api-policy/index.js +1 -0
  114. package/lib/commands/instant-api-policy/init.d.ts +2 -0
  115. package/lib/commands/instant-api-policy/init.js +1 -0
  116. package/lib/commands/instant-api-policy/publish.d.ts +2 -0
  117. package/lib/commands/instant-api-policy/publish.js +1 -0
  118. package/lib/commands/instant-api-policy/pull.d.ts +2 -0
  119. package/lib/commands/instant-api-policy/pull.js +1 -0
  120. package/lib/commands/instant-api-policy/revision.d.ts +2 -0
  121. package/lib/commands/instant-api-policy/revision.js +1 -0
  122. package/lib/commands/instant-api-policy/revisions.d.ts +2 -0
  123. package/lib/commands/instant-api-policy/revisions.js +1 -0
  124. package/lib/commands/instant-api-policy/rollback.d.ts +2 -0
  125. package/lib/commands/instant-api-policy/rollback.js +1 -0
  126. package/lib/commands/instant-api-policy/shared.d.ts +82 -0
  127. package/lib/commands/instant-api-policy/shared.js +1 -0
  128. package/lib/commands/instant-api-policy/validate.d.ts +2 -0
  129. package/lib/commands/instant-api-policy/validate.js +1 -0
  130. package/lib/commands/issue/index.js +1 -1
  131. package/lib/commands/issue/nudge.js +1 -1
  132. package/lib/commands/issue/report.js +1 -1
  133. package/lib/commands/issue/shared.js +1 -1
  134. package/lib/commands/kb/create.js +1 -1
  135. package/lib/commands/kb/delete.js +1 -1
  136. package/lib/commands/kb/detail.js +1 -1
  137. package/lib/commands/kb/index.js +1 -1
  138. package/lib/commands/kb/list.js +1 -1
  139. package/lib/commands/kb/search.js +1 -1
  140. package/lib/commands/kb/shared.js +1 -1
  141. package/lib/commands/kb/update.js +1 -1
  142. package/lib/commands/logs/index.js +1 -1
  143. package/lib/commands/menu/asset-update.js +1 -1
  144. package/lib/commands/menu/delete.js +1 -1
  145. package/lib/commands/menu/external-link-create.js +1 -1
  146. package/lib/commands/menu/external-link-update.js +1 -1
  147. package/lib/commands/menu/group-create.js +1 -1
  148. package/lib/commands/menu/group-update.js +1 -1
  149. package/lib/commands/menu/index.js +1 -1
  150. package/lib/commands/menu/list.js +1 -1
  151. package/lib/commands/menu/move.js +1 -1
  152. package/lib/commands/menu/regroup-start.js +1 -1
  153. package/lib/commands/menu/rename.js +1 -1
  154. package/lib/commands/menu/shared/compare-table.js +1 -1
  155. package/lib/commands/menu/shared/delete-plan.js +1 -1
  156. package/lib/commands/menu/shared/facts.js +1 -1
  157. package/lib/commands/menu/shared/index.js +1 -1
  158. package/lib/commands/menu/shared/inquirer.js +1 -1
  159. package/lib/commands/menu/shared/local-pages.js +1 -1
  160. package/lib/commands/menu/shared/logic.js +1 -1
  161. package/lib/commands/menu/shared/mutations.js +1 -1
  162. package/lib/commands/menu/shared/service.js +1 -1
  163. package/lib/commands/menu/shared/sync-core.js +1 -1
  164. package/lib/commands/menu/shared/update-core.js +1 -1
  165. package/lib/commands/menu/shared/valid-url.js +1 -1
  166. package/lib/commands/menu/sync.js +1 -1
  167. package/lib/commands/menu/visibility-update.js +1 -1
  168. package/lib/commands/notification/config-create.js +1 -1
  169. package/lib/commands/notification/config-delete.js +1 -1
  170. package/lib/commands/notification/config-list.js +1 -1
  171. package/lib/commands/notification/config-update.js +1 -1
  172. package/lib/commands/notification/index.js +1 -1
  173. package/lib/commands/notification/shared.js +1 -1
  174. package/lib/commands/ocr/index.js +1 -1
  175. package/lib/commands/page/create.js +1 -1
  176. package/lib/commands/page/custom/detail.js +1 -1
  177. package/lib/commands/page/custom/list.js +1 -1
  178. package/lib/commands/page/custom/publish.js +1 -1
  179. package/lib/commands/page/custom/shared.js +1 -1
  180. package/lib/commands/page/custom/syntax.js +1 -1
  181. package/lib/commands/page/custom/template.js +1 -1
  182. package/lib/commands/page/custom/update.js +1 -1
  183. package/lib/commands/page/data-list-status.js +1 -1
  184. package/lib/commands/page/generate-start.js +1 -1
  185. package/lib/commands/page/generate-status.js +1 -1
  186. package/lib/commands/page/index.js +1 -1
  187. package/lib/commands/page/pull.js +1 -1
  188. package/lib/commands/page/push.js +1 -1
  189. package/lib/commands/page/relation-audit.js +1 -1
  190. package/lib/commands/page/restore.js +1 -1
  191. package/lib/commands/page/shared.js +1 -1
  192. package/lib/commands/page/sync.js +1 -1
  193. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  194. package/lib/commands/project/create/format-elapsed.js +1 -1
  195. package/lib/commands/project/create/main.js +1 -1
  196. package/lib/commands/project/create/materialize-project-template.js +1 -1
  197. package/lib/commands/project/create/project-name.js +1 -1
  198. package/lib/commands/project/create/project-template-archive.js +1 -1
  199. package/lib/commands/project/create/project-template-path.js +1 -1
  200. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  201. package/lib/commands/project/create/use-format-code.js +1 -1
  202. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  203. package/lib/commands/project/domain-routing-sync.js +1 -1
  204. package/lib/commands/project/index.js +1 -1
  205. package/lib/commands/project/upgrade.js +1 -1
  206. package/lib/commands/registry.js +1 -1
  207. package/lib/commands/role/delete.js +1 -1
  208. package/lib/commands/role/detail.js +1 -1
  209. package/lib/commands/role/index.js +1 -1
  210. package/lib/commands/role/list.js +1 -1
  211. package/lib/commands/role/shared.js +1 -1
  212. package/lib/commands/role/update.js +1 -1
  213. package/lib/commands/role/user-add.js +1 -1
  214. package/lib/commands/role/user-remove.js +1 -1
  215. package/lib/commands/role/user-resolve.js +1 -1
  216. package/lib/commands/rule/get.js +1 -1
  217. package/lib/commands/rule/index.js +1 -1
  218. package/lib/commands/rule/list.js +1 -1
  219. package/lib/commands/rule/set.js +1 -1
  220. package/lib/commands/rule/shared.js +1 -1
  221. package/lib/commands/run/index.js +1 -1
  222. package/lib/commands/schema.js +1 -1
  223. package/lib/commands/sql/create.js +1 -1
  224. package/lib/commands/sql/delete.js +1 -1
  225. package/lib/commands/sql/detail.js +1 -1
  226. package/lib/commands/sql/exec.js +1 -1
  227. package/lib/commands/sql/index.js +1 -1
  228. package/lib/commands/sql/list.js +1 -1
  229. package/lib/commands/sql/pull.js +1 -1
  230. package/lib/commands/sql/push.js +1 -1
  231. package/lib/commands/sql/shared.js +1 -1
  232. package/lib/commands/sql/status.js +1 -1
  233. package/lib/commands/sql/validate.js +1 -1
  234. package/lib/commands/task/index.js +1 -1
  235. package/lib/commands/task/status.js +1 -1
  236. package/lib/commands/tenant/index.js +1 -1
  237. package/lib/commands/tenant/members-list.js +1 -1
  238. package/lib/commands/tenant/shared.js +1 -1
  239. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  240. package/lib/commands/user-account/index.js +1 -1
  241. package/lib/commands/workspace/add.js +1 -1
  242. package/lib/commands/workspace/index.js +1 -1
  243. package/lib/commands/workspace/remove.js +1 -1
  244. package/lib/config/domain-config.js +1 -1
  245. package/lib/config/project-domain-routing.js +1 -1
  246. package/lib/config/schema.js +1 -1
  247. package/lib/constant/cdn.js +1 -1
  248. package/lib/constant/cli.js +1 -1
  249. package/lib/constant/defaults.js +1 -1
  250. package/lib/constant/domain.js +1 -1
  251. package/lib/constant/env.js +1 -1
  252. package/lib/constant/output.js +1 -1
  253. package/lib/constant/paths.js +1 -1
  254. package/lib/constant/region.js +1 -1
  255. package/lib/constant/risk.js +1 -1
  256. package/lib/constant/routing-profile.js +1 -1
  257. package/lib/context/app-resolver.d.ts +0 -2
  258. package/lib/context/app-resolver.js +1 -1
  259. package/lib/context/auth-resolver.js +1 -1
  260. package/lib/context/config-loader.js +1 -1
  261. package/lib/context.js +1 -1
  262. package/lib/core/alias-resolver.js +1 -1
  263. package/lib/core/api-client.d.ts +113 -2
  264. package/lib/core/api-client.js +1 -1
  265. package/lib/core/bff/config.js +1 -1
  266. package/lib/core/bff/file-system.js +1 -1
  267. package/lib/core/bff/hash.js +1 -1
  268. package/lib/core/bff/lock.js +1 -1
  269. package/lib/core/bff/utils.js +1 -1
  270. package/lib/core/db-resolver.js +1 -1
  271. package/lib/core/instant-api-policy/config.d.ts +23 -0
  272. package/lib/core/instant-api-policy/config.js +1 -0
  273. package/lib/core/kb-search-client.js +1 -1
  274. package/lib/core/page/file-system.js +1 -1
  275. package/lib/core/page/hash.js +1 -1
  276. package/lib/core/page/lock.js +1 -1
  277. package/lib/core/sql-index-auditor.js +1 -1
  278. package/lib/core/sql-sync/config.js +1 -1
  279. package/lib/core/sql-sync/file-system.js +1 -1
  280. package/lib/core/sql-sync/hash.js +1 -1
  281. package/lib/core/sql-sync/lock.js +1 -1
  282. package/lib/core/sql-sync/utils.js +1 -1
  283. package/lib/core/sql-validator.js +1 -1
  284. package/lib/errors.js +1 -1
  285. package/lib/framework/build-all-flags.js +1 -1
  286. package/lib/framework/error-output.js +1 -1
  287. package/lib/framework/explicit-yes.js +1 -1
  288. package/lib/framework/flags.js +1 -1
  289. package/lib/framework/help.js +1 -1
  290. package/lib/framework/index.js +1 -1
  291. package/lib/framework/output.js +1 -1
  292. package/lib/framework/response.js +1 -1
  293. package/lib/framework/runner-alias.js +1 -1
  294. package/lib/framework/runner.js +1 -1
  295. package/lib/framework/schema-export.js +1 -1
  296. package/lib/framework/supported-flags.d.ts +2 -0
  297. package/lib/framework/supported-flags.js +1 -0
  298. package/lib/framework/types.d.ts +2 -4
  299. package/lib/framework/types.js +1 -1
  300. package/lib/generated/build-info.d.ts +4 -4
  301. package/lib/generated/build-info.js +1 -1
  302. package/lib/generated/official-routing.js +1 -1
  303. package/lib/generated/routing-contract.js +1 -1
  304. package/lib/help.js +1 -1
  305. package/lib/postinstall.js +1 -1
  306. package/lib/runtime/confirmation.js +1 -1
  307. package/lib/runtime/event.js +1 -1
  308. package/lib/runtime/index.js +1 -1
  309. package/lib/runtime/queue.js +1 -1
  310. package/lib/runtime/resolve.js +1 -1
  311. package/lib/skills/builtin-skill.js +1 -1
  312. package/lib/skills/main.js +1 -1
  313. package/lib/skills/npx-skills-add.js +1 -1
  314. package/lib/skills/skill-presence.js +1 -1
  315. package/lib/telemetry/cli-command-trace.js +1 -1
  316. package/lib/telemetry/cli-help-trace.js +1 -1
  317. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  318. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  319. package/lib/telemetry/send-cli-trace-log.js +1 -1
  320. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  321. package/lib/utils/ai_config.js +1 -1
  322. package/lib/utils/apply-jq-filter.js +1 -1
  323. package/lib/utils/cdn-config.js +1 -1
  324. package/lib/utils/check-sdk-version.js +1 -1
  325. package/lib/utils/cli-version-check.js +1 -1
  326. package/lib/utils/cli-version-policy.js +1 -1
  327. package/lib/utils/config.js +1 -1
  328. package/lib/utils/entity-with-id.js +1 -1
  329. package/lib/utils/file-utils.js +1 -1
  330. package/lib/utils/guides-cdn.js +1 -1
  331. package/lib/utils/http-client.js +1 -1
  332. package/lib/utils/is-non-interactive.js +1 -1
  333. package/lib/utils/logger.js +1 -1
  334. package/lib/utils/params.js +1 -1
  335. package/lib/utils/platform.js +1 -1
  336. package/lib/utils/sleep.js +1 -1
  337. package/lib/utils/template-replacer.js +1 -1
  338. package/lib/utils/update-notice.js +1 -1
  339. package/lib/utils/version.js +1 -1
  340. package/lib/utils/with-active-cookie.js +1 -1
  341. package/lib/utils/write-cli-side-channel.js +1 -1
  342. package/package.json +1 -1
  343. package/skills/rabetbase/SKILL.md +12 -6
  344. package/skills/rabetbase/references/rabetbase-deployment-sync.md +51 -43
  345. package/skills/rabetbase/references/rabetbase-instant-api-policy.md +92 -0
  346. package/skills/rabetbase.manifest.json +4 -3
  347. package/lib/config/deployment-sync.d.ts +0 -10
  348. package/lib/config/deployment-sync.js +0 -1
@@ -1 +1 @@
1
- (function(_0x155fc6,_0x4e2a21){const _0x2b1d13=a296_0xa334,_0x29e8db=_0x155fc6();while(!![]){try{const _0xae124a=-parseInt(_0x2b1d13(0x186))/0x1+-parseInt(_0x2b1d13(0x1a0))/0x2+-parseInt(_0x2b1d13(0x19a))/0x3*(-parseInt(_0x2b1d13(0x1a5))/0x4)+parseInt(_0x2b1d13(0x194))/0x5+parseInt(_0x2b1d13(0x197))/0x6+-parseInt(_0x2b1d13(0x19c))/0x7+parseInt(_0x2b1d13(0x18a))/0x8*(parseInt(_0x2b1d13(0x19b))/0x9);if(_0xae124a===_0x4e2a21)break;else _0x29e8db['push'](_0x29e8db['shift']());}catch(_0x4a97a8){_0x29e8db['push'](_0x29e8db['shift']());}}}(a296_0x3d23,0xb5170));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';function a296_0x3d23(){const _0x32e645=['minimumVersionMessage','package.json','filter','\x20\x20\x20Stable\x20version:\x20','needsUpgrade','belowMinimum','\x20\x20\x20Recommended\x20stable:\x20','version','443105HNsHEI','log','\x1b[0m','\x20\x20\x20','8zxtEBd','coerce','npm\x20install\x20-g\x20','\x20\x20\x20Current\x20CLI\x20version:\x20','parse','upgradeMessage','↪\x20New\x20version\x20available','../..','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','join','3279025xcilRL','\x20\x20\x20Minimum\x20supported:\x20','↪\x20Critical\x20CLI\x20upgrade\x20required','6358092EaYEgy','1.0.0','\x1b[1m','189597TtpSBW','2017782OSnHeX','6047440fTTBbg','Upgrade\x20command:\x20','currentVersion','Minimum\x20supported:\x20','793016tqZGVy','validation','utf-8','\x20\x20\x20Upgrade\x20command:\x20','minimumVersion','32wafvms','stableVersion'];a296_0x3d23=function(){return _0x32e645;};return a296_0x3d23();}import a296_0x1587e5 from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a296_0xa334(_0x587c6c,_0x1f066e){_0x587c6c=_0x587c6c-0x186;const _0x3d23be=a296_0x3d23();let _0xa33479=_0x3d23be[_0x587c6c];return _0xa33479;}import{NPM_PACKAGE_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x22c853){const _0x225f9b=a296_0xa334,_0x2c04f9=_0x22c853[_0x225f9b(0x1a6)]||'latest';return _0x225f9b(0x18c)+NPM_PACKAGE_NAME+'@'+_0x2c04f9;}function getCurrentCliVersion(){const _0x41f636=a296_0xa334;try{const _0x71224f=fileURLToPath(import.meta.url),_0x37adcd=resolve(dirname(_0x71224f),_0x41f636(0x191)),_0x218ddf=resolve(_0x37adcd,_0x41f636(0x1a8)),_0x1a5cd3=JSON[_0x41f636(0x18e)](readFileSync(_0x218ddf,_0x41f636(0x1a2)));return _0x1a5cd3[_0x41f636(0x1ae)]||_0x41f636(0x198);}catch{return _0x41f636(0x198);}}export async function checkCliVersion(){const _0xaeccd3=a296_0xa334,_0xe30fba=getCurrentCliVersion(),_0x5f5c7d=await getCliVersionPolicy(),_0x40575a=_0x5f5c7d?.[_0xaeccd3(0x1a6)]||null,_0x137402=_0x5f5c7d?.[_0xaeccd3(0x1a4)]||null;let _0x1dd0c2=![],_0x572102=![];const _0x37c069=a296_0x1587e5[_0xaeccd3(0x18b)](_0xe30fba);if(_0x37c069&&_0x40575a)try{const _0x52597d=a296_0x1587e5['coerce'](_0x40575a);if(_0x52597d)_0x1dd0c2=a296_0x1587e5['lt'](_0x37c069,_0x52597d);}catch{}if(_0x37c069&&_0x137402)try{const _0x50138b=a296_0x1587e5[_0xaeccd3(0x18b)](_0x137402);if(_0x50138b)_0x572102=a296_0x1587e5['lt'](_0x37c069,_0x50138b);}catch{}return _0x572102&&(_0x1dd0c2=!![]),{'currentVersion':_0xe30fba,'stableVersion':_0x40575a,'minimumVersion':_0x137402,'needsUpgrade':_0x1dd0c2,'belowMinimum':_0x572102,'isPreRelease':![],'upgradeMessage':_0x5f5c7d?.[_0xaeccd3(0x18f)],'minimumVersionMessage':_0x5f5c7d?.[_0xaeccd3(0x1a7)]};}export function printCliUpgradeWarning(_0x3f80f2){const _0x4622e4=a296_0xa334;if(!_0x3f80f2[_0x4622e4(0x1ab)]&&!_0x3f80f2['belowMinimum'])return;const _0xa13cbd='\x1b[31m',_0x1052ac='\x1b[33m',_0x463b46=_0x4622e4(0x188),_0x5ecfcf=_0x4622e4(0x199),_0x35c7d2=getCliUpgradeCommand(_0x3f80f2);console[_0x4622e4(0x187)](),_0x3f80f2[_0x4622e4(0x1ac)]?(console[_0x4622e4(0x187)](''+_0xa13cbd+_0x5ecfcf+_0x4622e4(0x196)+_0x463b46),console['log'](_0xa13cbd+_0x4622e4(0x18d)+_0x3f80f2['currentVersion']+_0x463b46),_0x3f80f2[_0x4622e4(0x1a4)]&&console[_0x4622e4(0x187)](_0xa13cbd+_0x4622e4(0x195)+_0x3f80f2[_0x4622e4(0x1a4)]+_0x463b46),_0x3f80f2['stableVersion']&&_0x3f80f2['stableVersion']!==_0x3f80f2['minimumVersion']&&console['log'](_0xa13cbd+_0x4622e4(0x1ad)+_0x3f80f2[_0x4622e4(0x1a6)]+_0x463b46),_0x3f80f2[_0x4622e4(0x1a7)]&&console[_0x4622e4(0x187)](_0xa13cbd+_0x4622e4(0x189)+_0x3f80f2['minimumVersionMessage']+_0x463b46),console[_0x4622e4(0x187)](_0xa13cbd+_0x4622e4(0x1a3)+_0x35c7d2+_0x463b46)):(console[_0x4622e4(0x187)](''+_0x1052ac+_0x5ecfcf+_0x4622e4(0x190)+_0x463b46),console[_0x4622e4(0x187)](_0x1052ac+_0x4622e4(0x18d)+_0x3f80f2[_0x4622e4(0x19e)]+_0x463b46),console['log'](_0x1052ac+_0x4622e4(0x1aa)+_0x3f80f2['stableVersion']+_0x463b46),_0x3f80f2['upgradeMessage']&&console[_0x4622e4(0x187)](_0x1052ac+_0x4622e4(0x189)+_0x3f80f2[_0x4622e4(0x18f)]+_0x463b46),console[_0x4622e4(0x187)](_0x1052ac+_0x4622e4(0x1a3)+_0x35c7d2+_0x463b46)),console[_0x4622e4(0x187)]();}export function assertCliVersionSupported(_0x4ea2c4){const _0x3ef337=a296_0xa334;if(!_0x4ea2c4[_0x3ef337(0x1ac)])return;const _0x4cd98e=[_0x4ea2c4[_0x3ef337(0x1a7)],'Current\x20version:\x20'+_0x4ea2c4[_0x3ef337(0x19e)],_0x4ea2c4[_0x3ef337(0x1a4)]?_0x3ef337(0x19f)+_0x4ea2c4[_0x3ef337(0x1a4)]:null,_0x3ef337(0x19d)+getCliUpgradeCommand(_0x4ea2c4)][_0x3ef337(0x1a9)](Boolean)[_0x3ef337(0x193)]('\x0a');throw CliErrors[_0x3ef337(0x1a1)](_0x3ef337(0x192),_0x4cd98e);}
1
+ (function(_0x51bbfa,_0x2e6e89){const _0xe8958=a310_0x4c8f,_0x550036=_0x51bbfa();while(!![]){try{const _0x1ff2e6=-parseInt(_0xe8958(0x76))/0x1*(-parseInt(_0xe8958(0x7f))/0x2)+-parseInt(_0xe8958(0x84))/0x3*(parseInt(_0xe8958(0x6e))/0x4)+-parseInt(_0xe8958(0x93))/0x5+parseInt(_0xe8958(0x8d))/0x6+parseInt(_0xe8958(0x8f))/0x7*(-parseInt(_0xe8958(0x7e))/0x8)+-parseInt(_0xe8958(0x89))/0x9*(parseInt(_0xe8958(0x82))/0xa)+-parseInt(_0xe8958(0x6c))/0xb*(-parseInt(_0xe8958(0x87))/0xc);if(_0x1ff2e6===_0x2e6e89)break;else _0x550036['push'](_0x550036['shift']());}catch(_0x221aba){_0x550036['push'](_0x550036['shift']());}}}(a310_0xd96e,0x67d28));import{readFileSync}from'node:fs';import{resolve,dirname}from'node:path';import{fileURLToPath}from'node:url';import a310_0x22adaf from'semver';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{NPM_PACKAGE_NAME}from'../constant/cli.js';function a310_0xd96e(){const _0x1004eb=['\x20\x20\x20Upgrade\x20command:\x20','11074BoqTOe','\x1b[31m','Current\x20CLI\x20version\x20is\x20below\x20the\x20service\x20compatibility\x20support\x20line.','\x1b[1m','3989615uLObPf','\x20\x20\x20Recommended\x20stable:\x20','15740791fBqeTs','\x1b[0m','4NWkCou','upgradeMessage','\x20\x20\x20','version','utf-8','\x1b[33m','minimumVersionMessage','Minimum\x20supported:\x20','23487ENNymK','validation','parse','\x20\x20\x20Stable\x20version:\x20','belowMinimum','\x20\x20\x20Current\x20CLI\x20version:\x20','1.0.0','../..','32MdHYwj','52ErcnKS','log','↪\x20New\x20version\x20available','31550NuJYzn','stableVersion','2068341NRnQrp','Current\x20version:\x20','coerce','12kKUVBd','needsUpgrade','1512oyzaXi','currentVersion','minimumVersion','↪\x20Critical\x20CLI\x20upgrade\x20required','2444106aQZXhG'];a310_0xd96e=function(){return _0x1004eb;};return a310_0xd96e();}import{CliErrors}from'../errors.js';export function getCliUpgradeCommand(_0x1cdddd){const _0x56074b=a310_0x4c8f,_0x2102db=_0x1cdddd[_0x56074b(0x83)]||'latest';return'npm\x20install\x20-g\x20'+NPM_PACKAGE_NAME+'@'+_0x2102db;}function a310_0x4c8f(_0x907bf1,_0x5e9dd7){_0x907bf1=_0x907bf1-0x6c;const _0xd96e08=a310_0xd96e();let _0x4c8f24=_0xd96e08[_0x907bf1];return _0x4c8f24;}function getCurrentCliVersion(){const _0x35b63e=a310_0x4c8f;try{const _0x1c42ab=fileURLToPath(import.meta.url),_0x166ac3=resolve(dirname(_0x1c42ab),_0x35b63e(0x7d)),_0x10a25f=resolve(_0x166ac3,'package.json'),_0x2cba42=JSON[_0x35b63e(0x78)](readFileSync(_0x10a25f,_0x35b63e(0x72)));return _0x2cba42[_0x35b63e(0x71)]||_0x35b63e(0x7c);}catch{return'1.0.0';}}export async function checkCliVersion(){const _0x53a191=a310_0x4c8f,_0x5dc23f=getCurrentCliVersion(),_0x538228=await getCliVersionPolicy(),_0x46fdaa=_0x538228?.[_0x53a191(0x83)]||null,_0xdba9b7=_0x538228?.['minimumVersion']||null;let _0x4172e6=![],_0x8c9a81=![];const _0x9572bb=a310_0x22adaf[_0x53a191(0x86)](_0x5dc23f);if(_0x9572bb&&_0x46fdaa)try{const _0x2ab7ae=a310_0x22adaf['coerce'](_0x46fdaa);if(_0x2ab7ae)_0x4172e6=a310_0x22adaf['lt'](_0x9572bb,_0x2ab7ae);}catch{}if(_0x9572bb&&_0xdba9b7)try{const _0x1cfd62=a310_0x22adaf['coerce'](_0xdba9b7);if(_0x1cfd62)_0x8c9a81=a310_0x22adaf['lt'](_0x9572bb,_0x1cfd62);}catch{}return _0x8c9a81&&(_0x4172e6=!![]),{'currentVersion':_0x5dc23f,'stableVersion':_0x46fdaa,'minimumVersion':_0xdba9b7,'needsUpgrade':_0x4172e6,'belowMinimum':_0x8c9a81,'isPreRelease':![],'upgradeMessage':_0x538228?.['upgradeMessage'],'minimumVersionMessage':_0x538228?.[_0x53a191(0x74)]};}export function printCliUpgradeWarning(_0xa1a9e0){const _0x22f997=a310_0x4c8f;if(!_0xa1a9e0[_0x22f997(0x88)]&&!_0xa1a9e0['belowMinimum'])return;const _0x516b0f=_0x22f997(0x90),_0x173279=_0x22f997(0x73),_0x4b2d30=_0x22f997(0x6d),_0x4b170e=_0x22f997(0x92),_0x245d0a=getCliUpgradeCommand(_0xa1a9e0);console[_0x22f997(0x80)](),_0xa1a9e0[_0x22f997(0x7a)]?(console[_0x22f997(0x80)](''+_0x516b0f+_0x4b170e+_0x22f997(0x8c)+_0x4b2d30),console['log'](_0x516b0f+_0x22f997(0x7b)+_0xa1a9e0[_0x22f997(0x8a)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x8b)]&&console[_0x22f997(0x80)](_0x516b0f+'\x20\x20\x20Minimum\x20supported:\x20'+_0xa1a9e0[_0x22f997(0x8b)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x83)]&&_0xa1a9e0['stableVersion']!==_0xa1a9e0[_0x22f997(0x8b)]&&console['log'](_0x516b0f+_0x22f997(0x94)+_0xa1a9e0[_0x22f997(0x83)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x74)]&&console[_0x22f997(0x80)](_0x516b0f+_0x22f997(0x70)+_0xa1a9e0[_0x22f997(0x74)]+_0x4b2d30),console['log'](_0x516b0f+_0x22f997(0x8e)+_0x245d0a+_0x4b2d30)):(console[_0x22f997(0x80)](''+_0x173279+_0x4b170e+_0x22f997(0x81)+_0x4b2d30),console['log'](_0x173279+'\x20\x20\x20Current\x20CLI\x20version:\x20'+_0xa1a9e0[_0x22f997(0x8a)]+_0x4b2d30),console[_0x22f997(0x80)](_0x173279+_0x22f997(0x79)+_0xa1a9e0[_0x22f997(0x83)]+_0x4b2d30),_0xa1a9e0[_0x22f997(0x6f)]&&console['log'](_0x173279+_0x22f997(0x70)+_0xa1a9e0[_0x22f997(0x6f)]+_0x4b2d30),console[_0x22f997(0x80)](_0x173279+_0x22f997(0x8e)+_0x245d0a+_0x4b2d30)),console[_0x22f997(0x80)]();}export function assertCliVersionSupported(_0x4c5fc9){const _0x2b46c5=a310_0x4c8f;if(!_0x4c5fc9['belowMinimum'])return;const _0x2fd823=[_0x4c5fc9[_0x2b46c5(0x74)],_0x2b46c5(0x85)+_0x4c5fc9[_0x2b46c5(0x8a)],_0x4c5fc9['minimumVersion']?_0x2b46c5(0x75)+_0x4c5fc9[_0x2b46c5(0x8b)]:null,'Upgrade\x20command:\x20'+getCliUpgradeCommand(_0x4c5fc9)]['filter'](Boolean)['join']('\x0a');throw CliErrors[_0x2b46c5(0x77)](_0x2b46c5(0x91),_0x2fd823);}
@@ -1 +1 @@
1
- (function(_0x3de087,_0x301ad4){const _0x5346ec=a297_0x397c,_0x4558e1=_0x3de087();while(!![]){try{const _0x4042bf=parseInt(_0x5346ec(0x16e))/0x1*(-parseInt(_0x5346ec(0x17a))/0x2)+-parseInt(_0x5346ec(0x181))/0x3*(-parseInt(_0x5346ec(0x17c))/0x4)+parseInt(_0x5346ec(0x17d))/0x5+parseInt(_0x5346ec(0x170))/0x6+-parseInt(_0x5346ec(0x171))/0x7*(parseInt(_0x5346ec(0x176))/0x8)+parseInt(_0x5346ec(0x180))/0x9*(-parseInt(_0x5346ec(0x17b))/0xa)+-parseInt(_0x5346ec(0x173))/0xb*(-parseInt(_0x5346ec(0x16d))/0xc);if(_0x4042bf===_0x301ad4)break;else _0x4558e1['push'](_0x4558e1['shift']());}catch(_0x4bdb6b){_0x4558e1['push'](_0x4558e1['shift']());}}}(a297_0x39fd,0x40afe));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(_0x1452e8){const _0x579789=a297_0x397c;return typeof _0x1452e8===_0x579789(0x17f)&&_0x1452e8[_0x579789(0x172)]()[_0x579789(0x16c)]>0x0?_0x1452e8['trim']():null;}function normalizeCliVersionPolicy(_0x5ac346){const _0x5c1616=a297_0x397c;if(!_0x5ac346||typeof _0x5ac346!==_0x5c1616(0x179))return null;const _0x1e48e4=_0x5ac346,_0x34f511=_0x1e48e4[_0x5c1616(0x16f)]&&typeof _0x1e48e4[_0x5c1616(0x16f)]===_0x5c1616(0x179)?_0x1e48e4['cli']:_0x1e48e4,_0x1690bb=pickString(_0x34f511[_0x5c1616(0x178)])||pickString(_0x34f511['latestVersion'])||pickString(_0x34f511['recommendedVersion']),_0x5d318f=pickString(_0x34f511[_0x5c1616(0x182)])||pickString(_0x34f511[_0x5c1616(0x174)]);if(!_0x1690bb&&!_0x5d318f)return null;return{'stableVersion':_0x1690bb,'minimumVersion':_0x5d318f,'upgradeMessage':pickString(_0x34f511['upgradeMessage'])||undefined,'minimumVersionMessage':pickString(_0x34f511[_0x5c1616(0x183)])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0xdd9532=a297_0x397c,_0x4ed496=new AbortController(),_0x15ea4e=setTimeout(()=>_0x4ed496['abort'](),FETCH_TIMEOUT_MS);try{const _0x1d96c6=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0xdd9532(0x175)},'signal':_0x4ed496[_0xdd9532(0x177)]});if(!_0x1d96c6['ok'])return null;const _0x3531ea=await _0x1d96c6[_0xdd9532(0x17e)]();return _0x3531ea&&typeof _0x3531ea===_0xdd9532(0x179)?_0x3531ea:null;}catch{return null;}finally{clearTimeout(_0x15ea4e);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];function a297_0x39fd(){const _0x461cec=['cli','931782thNFea','7329yMWXuB','trim','11VIJZik','minVersion','application/json','3704etdJId','signal','stableVersion','object','33898yMGFvG','1590QJNQji','52OozwlK','1696905KhVGHn','json','string','27036yTOvDA','14649nrRuuB','minimumVersion','minimumVersionMessage','length','12708300GBqjwf','23qMCijN'];a297_0x39fd=function(){return _0x461cec;};return a297_0x39fd();}function a297_0x397c(_0x2d8d1a,_0x5d1861){_0x2d8d1a=_0x2d8d1a-0x16c;const _0x39fd06=a297_0x39fd();let _0x397c48=_0x39fd06[_0x2d8d1a];return _0x397c48;}export async function getRabetbaseCdnConfig(){const _0x3d0b0c=Date['now']();if(hasCachedConfig){const _0x59015f=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x3d0b0c-cacheTime<_0x59015f)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x3d0b0c,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
1
+ (function(_0x4bed70,_0x239489){const _0x439233=a311_0x2d08,_0x37148c=_0x4bed70();while(!![]){try{const _0x5c7455=-parseInt(_0x439233(0x199))/0x1+-parseInt(_0x439233(0x187))/0x2+parseInt(_0x439233(0x192))/0x3+-parseInt(_0x439233(0x18b))/0x4*(-parseInt(_0x439233(0x19c))/0x5)+parseInt(_0x439233(0x191))/0x6*(parseInt(_0x439233(0x18c))/0x7)+parseInt(_0x439233(0x197))/0x8+-parseInt(_0x439233(0x18a))/0x9;if(_0x5c7455===_0x239489)break;else _0x37148c['push'](_0x37148c['shift']());}catch(_0x44da53){_0x37148c['push'](_0x37148c['shift']());}}}(a311_0x5dac,0x7842d));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(_0x2c9b9c){const _0x508dc4=a311_0x2d08;return typeof _0x2c9b9c==='string'&&_0x2c9b9c[_0x508dc4(0x188)]()[_0x508dc4(0x19a)]>0x0?_0x2c9b9c['trim']():null;}function normalizeCliVersionPolicy(_0x42cc7a){const _0x5a7628=a311_0x2d08;if(!_0x42cc7a||typeof _0x42cc7a!==_0x5a7628(0x190))return null;const _0x3216bd=_0x42cc7a,_0x2beb4c=_0x3216bd[_0x5a7628(0x198)]&&typeof _0x3216bd[_0x5a7628(0x198)]===_0x5a7628(0x190)?_0x3216bd[_0x5a7628(0x198)]:_0x3216bd,_0xadcd65=pickString(_0x2beb4c[_0x5a7628(0x195)])||pickString(_0x2beb4c[_0x5a7628(0x19b)])||pickString(_0x2beb4c['recommendedVersion']),_0x3a3bed=pickString(_0x2beb4c[_0x5a7628(0x18e)])||pickString(_0x2beb4c[_0x5a7628(0x194)]);if(!_0xadcd65&&!_0x3a3bed)return null;return{'stableVersion':_0xadcd65,'minimumVersion':_0x3a3bed,'upgradeMessage':pickString(_0x2beb4c[_0x5a7628(0x193)])||undefined,'minimumVersionMessage':pickString(_0x2beb4c[_0x5a7628(0x18d)])||undefined};}export async function fetchRabetbaseCdnConfig(){const _0x35d3f4=a311_0x2d08,_0x1bebf0=new AbortController(),_0x3d0911=setTimeout(()=>_0x1bebf0[_0x35d3f4(0x186)](),FETCH_TIMEOUT_MS);try{const _0x2de3e9=await fetch(CLI_VERSION_POLICY_URL,{'headers':{'Accept':_0x35d3f4(0x18f)},'signal':_0x1bebf0[_0x35d3f4(0x189)]});if(!_0x2de3e9['ok'])return null;const _0x107eb7=await _0x2de3e9['json']();return _0x107eb7&&typeof _0x107eb7===_0x35d3f4(0x190)?_0x107eb7:null;}catch{return null;}finally{clearTimeout(_0x3d0911);}}export async function fetchCliVersionPolicy(){return normalizeCliVersionPolicy(await fetchRabetbaseCdnConfig());}function a311_0x5dac(){const _0x251f62=['minimumVersionMessage','minimumVersion','application/json','object','413796tjTHee','2070795scUtBA','upgradeMessage','minVersion','stableVersion','now','7863288BCJTGP','cli','696801ypXDvp','length','latestVersion','10gyeAiy','abort','1308068AWNNiz','trim','signal','7153308HYbbYl','412868xaYdzB','77vKmvXo'];a311_0x5dac=function(){return _0x251f62;};return a311_0x5dac();}function a311_0x2d08(_0x1f16ac,_0xc363f7){_0x1f16ac=_0x1f16ac-0x186;const _0x5dacb1=a311_0x5dac();let _0x2d08b6=_0x5dacb1[_0x1f16ac];return _0x2d08b6;}let cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];export async function getRabetbaseCdnConfig(){const _0x416d7a=a311_0x2d08,_0x3b8eff=Date[_0x416d7a(0x196)]();if(hasCachedConfig){const _0xf1133e=cachedConfig?CACHE_TTL:FAILURE_CACHE_TTL;if(_0x3b8eff-cacheTime<_0xf1133e)return cachedConfig;}return cachedConfig=await fetchRabetbaseCdnConfig(),cacheTime=_0x3b8eff,hasCachedConfig=!![],cachedConfig;}export async function getCliVersionPolicy(){return normalizeCliVersionPolicy(await getRabetbaseCdnConfig());}export function clearCliVersionPolicyCache(){cachedConfig=null,cacheTime=0x0,hasCachedConfig=![];}
@@ -1 +1 @@
1
- function a298_0x19a0(_0x4fb28d,_0x31368e){_0x4fb28d=_0x4fb28d-0x144;const _0x2bb79b=a298_0x2bb7();let _0x19a0c1=_0x2bb79b[_0x4fb28d];return _0x19a0c1;}(function(_0x2f1b6d,_0x2b7a73){const _0x4d7bff=a298_0x19a0,_0xd760c0=_0x2f1b6d();while(!![]){try{const _0x2227bf=parseInt(_0x4d7bff(0x148))/0x1+parseInt(_0x4d7bff(0x14b))/0x2+parseInt(_0x4d7bff(0x14d))/0x3*(parseInt(_0x4d7bff(0x146))/0x4)+-parseInt(_0x4d7bff(0x145))/0x5+-parseInt(_0x4d7bff(0x14c))/0x6+-parseInt(_0x4d7bff(0x149))/0x7*(-parseInt(_0x4d7bff(0x14e))/0x8)+-parseInt(_0x4d7bff(0x147))/0x9;if(_0x2227bf===_0x2b7a73)break;else _0xd760c0['push'](_0xd760c0['shift']());}catch(_0x4c74cd){_0xd760c0['push'](_0xd760c0['shift']());}}}(a298_0x2bb7,0xd62b1));function a298_0x2bb7(){const _0x5d53f6=['env','2708640wGEnfC','10507314LdZnQt','405XTSOto','16ORuPpX','string','689445OTyxAp','26524wRKzEI','17021034TbAGiz','847196NhEqrp','5463031taImqT'];a298_0x2bb7=function(){return _0x5d53f6;};return a298_0x2bb7();}import{initEnv}from'../constant/env.js';import{readRawConfig,getConfigAppCode as a298_0x14b982,getMultiAppConfigs as a298_0x5680d5,getTemplateBaseUrl as a298_0x341960}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';export function readConfig(_0x25f3bf){const _0x2a379b=a298_0x19a0,_0x148cbe=readRawConfig(_0x25f3bf);return _0x148cbe[_0x2a379b(0x14a)]&&typeof _0x148cbe['env']===_0x2a379b(0x144)&&initEnv(_0x148cbe[_0x2a379b(0x14a)]),_0x148cbe;}export function getConfigAppCode(){return a298_0x14b982();}export function getMultiAppConfigs(_0x1029dc='project'){return a298_0x5680d5(_0x1029dc);}export function getTemplateBaseUrl(){return a298_0x341960();}
1
+ const a312_0x29a406=a312_0x5a4e;(function(_0x3d01dd,_0x591b67){const _0xab14ae=a312_0x5a4e,_0x40c9a3=_0x3d01dd();while(!![]){try{const _0x2491cf=-parseInt(_0xab14ae(0x106))/0x1+-parseInt(_0xab14ae(0x104))/0x2+parseInt(_0xab14ae(0x10d))/0x3+parseInt(_0xab14ae(0x10c))/0x4*(parseInt(_0xab14ae(0x110))/0x5)+-parseInt(_0xab14ae(0x10b))/0x6*(-parseInt(_0xab14ae(0x108))/0x7)+parseInt(_0xab14ae(0x10a))/0x8+-parseInt(_0xab14ae(0x107))/0x9*(parseInt(_0xab14ae(0x109))/0xa);if(_0x2491cf===_0x591b67)break;else _0x40c9a3['push'](_0x40c9a3['shift']());}catch(_0x32aacf){_0x40c9a3['push'](_0x40c9a3['shift']());}}}(a312_0x2235,0x7c583));import{initEnv}from'../constant/env.js';function a312_0x5a4e(_0x26bcab,_0xe8ee15){_0x26bcab=_0x26bcab-0x104;const _0x22353a=a312_0x2235();let _0x5a4e30=_0x22353a[_0x26bcab];return _0x5a4e30;}import{readRawConfig,getConfigAppCode as a312_0x2aca53,getMultiAppConfigs as a312_0x24f84a,getTemplateBaseUrl as a312_0x1e704b}from'../context.js';export{getProjectConfigPath,getGlobalConfigPath}from'../context.js';export{isInProject}from'../context.js';function a312_0x2235(){const _0x9b3173=['296124Nyokrq','30441QGISdU','project','env','25OvmEDF','703646nLoABS','string','669845hPXVmi','5535PNpiHY','13923sQEvOU','2620rNuAIr','6023216bvejZw','1686xuWrgf'];a312_0x2235=function(){return _0x9b3173;};return a312_0x2235();}export function readConfig(_0x41ebc7){const _0x1128fd=a312_0x5a4e,_0x136c8a=readRawConfig(_0x41ebc7);return _0x136c8a[_0x1128fd(0x10f)]&&typeof _0x136c8a[_0x1128fd(0x10f)]===_0x1128fd(0x105)&&initEnv(_0x136c8a[_0x1128fd(0x10f)]),_0x136c8a;}export function getConfigAppCode(){return a312_0x2aca53();}export function getMultiAppConfigs(_0x3f7c12=a312_0x29a406(0x10e)){return a312_0x24f84a(_0x3f7c12);}export function getTemplateBaseUrl(){return a312_0x1e704b();}
@@ -1 +1 @@
1
- (function(_0x3cbfc1,_0x172808){const _0x16d2fb=a299_0x11af,_0x1573ae=_0x3cbfc1();while(!![]){try{const _0x2463e9=parseInt(_0x16d2fb(0x8c))/0x1+-parseInt(_0x16d2fb(0x7d))/0x2*(-parseInt(_0x16d2fb(0x7e))/0x3)+-parseInt(_0x16d2fb(0x83))/0x4*(-parseInt(_0x16d2fb(0x80))/0x5)+parseInt(_0x16d2fb(0x87))/0x6*(parseInt(_0x16d2fb(0x81))/0x7)+-parseInt(_0x16d2fb(0x89))/0x8*(-parseInt(_0x16d2fb(0x86))/0x9)+-parseInt(_0x16d2fb(0x88))/0xa+-parseInt(_0x16d2fb(0x8b))/0xb;if(_0x2463e9===_0x172808)break;else _0x1573ae['push'](_0x1573ae['shift']());}catch(_0x4d4adf){_0x1573ae['push'](_0x1573ae['shift']());}}}(a299_0x3859,0xc8d71));function a299_0x3859(){const _0x56c358=['34864368UxMtxQ','836642zmEroA','28gxjduo','301134ytEmui','isFinite','3503645ZDFFNZ','7672413NtVIDv','trim','4ivJgnw','object','number','18dkJUaB','6GzVyGV','7606450iAdIOx','2856208eQImna','string'];a299_0x3859=function(){return _0x56c358;};return a299_0x3859();}function a299_0x11af(_0x1b57f8,_0x28b80e){_0x1b57f8=_0x1b57f8-0x7d;const _0x3859c4=a299_0x3859();let _0x11af0d=_0x3859c4[_0x1b57f8];return _0x11af0d;}function toFiniteNumber(_0x287eb4){const _0xb17371=a299_0x11af;if(typeof _0x287eb4===_0xb17371(0x85)&&Number[_0xb17371(0x7f)](_0x287eb4))return _0x287eb4;if(typeof _0x287eb4===_0xb17371(0x8a)){const _0x1b388b=_0x287eb4[_0xb17371(0x82)]();if(!_0x1b388b)return undefined;const _0x3f46fb=Number(_0x1b388b);if(Number[_0xb17371(0x7f)](_0x3f46fb))return _0x3f46fb;}return undefined;}export function normalizeEntityWithIdResponse(_0x4e539b){const _0x469dde=a299_0x11af,_0x3ba7e8=toFiniteNumber(_0x4e539b);if(_0x3ba7e8!==undefined)return{'id':_0x3ba7e8,'entity':{'id':_0x3ba7e8}};if(!_0x4e539b||typeof _0x4e539b!==_0x469dde(0x84))return{'id':undefined,'entity':{}};const _0x575a94={..._0x4e539b},_0x32b143=toFiniteNumber(_0x575a94['id']);return _0x32b143!==undefined&&(_0x575a94['id']=_0x32b143),{'id':_0x32b143,'entity':_0x575a94};}
1
+ (function(_0x3ea5bf,_0x5f4bcd){const _0x1163ef=a313_0x1f8b,_0x149b23=_0x3ea5bf();while(!![]){try{const _0x1ac846=-parseInt(_0x1163ef(0xfe))/0x1+-parseInt(_0x1163ef(0x104))/0x2+-parseInt(_0x1163ef(0x102))/0x3*(-parseInt(_0x1163ef(0xfc))/0x4)+parseInt(_0x1163ef(0x103))/0x5*(-parseInt(_0x1163ef(0x105))/0x6)+parseInt(_0x1163ef(0x107))/0x7*(-parseInt(_0x1163ef(0x106))/0x8)+parseInt(_0x1163ef(0xff))/0x9*(-parseInt(_0x1163ef(0x108))/0xa)+parseInt(_0x1163ef(0xfd))/0xb;if(_0x1ac846===_0x5f4bcd)break;else _0x149b23['push'](_0x149b23['shift']());}catch(_0x5d2cd7){_0x149b23['push'](_0x149b23['shift']());}}}(a313_0x1291,0xb4d70));function a313_0x1291(){const _0x1df7c2=['1476976QINFUl','35lBEMec','3564930URtSps','object','isFinite','2523308wOjyLC','39048867ugCWXD','346710iVhLOI','36KsXIZf','number','trim','6OHeYFt','5UBhaGA','765706bwfmCc','5953116psIrmG'];a313_0x1291=function(){return _0x1df7c2;};return a313_0x1291();}function a313_0x1f8b(_0x30da1f,_0x29f107){_0x30da1f=_0x30da1f-0xfa;const _0x129168=a313_0x1291();let _0x1f8b57=_0x129168[_0x30da1f];return _0x1f8b57;}function toFiniteNumber(_0x644053){const _0x2b2500=a313_0x1f8b;if(typeof _0x644053===_0x2b2500(0x100)&&Number['isFinite'](_0x644053))return _0x644053;if(typeof _0x644053==='string'){const _0x15d3e5=_0x644053[_0x2b2500(0x101)]();if(!_0x15d3e5)return undefined;const _0x21a57f=Number(_0x15d3e5);if(Number[_0x2b2500(0xfb)](_0x21a57f))return _0x21a57f;}return undefined;}export function normalizeEntityWithIdResponse(_0x5b0a3a){const _0x7e9a4b=a313_0x1f8b,_0x3041c5=toFiniteNumber(_0x5b0a3a);if(_0x3041c5!==undefined)return{'id':_0x3041c5,'entity':{'id':_0x3041c5}};if(!_0x5b0a3a||typeof _0x5b0a3a!==_0x7e9a4b(0xfa))return{'id':undefined,'entity':{}};const _0x158719={..._0x5b0a3a},_0x37e759=toFiniteNumber(_0x158719['id']);return _0x37e759!==undefined&&(_0x158719['id']=_0x37e759),{'id':_0x37e759,'entity':_0x158719};}
@@ -1 +1 @@
1
- (function(_0x4e2e0f,_0x5525db){const _0x2d95ed=a300_0x1634,_0x13b538=_0x4e2e0f();while(!![]){try{const _0x25a4b4=-parseInt(_0x2d95ed(0x18c))/0x1*(-parseInt(_0x2d95ed(0x18a))/0x2)+-parseInt(_0x2d95ed(0x18e))/0x3*(parseInt(_0x2d95ed(0x190))/0x4)+-parseInt(_0x2d95ed(0x192))/0x5+parseInt(_0x2d95ed(0x18b))/0x6+parseInt(_0x2d95ed(0x191))/0x7*(-parseInt(_0x2d95ed(0x188))/0x8)+parseInt(_0x2d95ed(0x193))/0x9*(-parseInt(_0x2d95ed(0x18d))/0xa)+parseInt(_0x2d95ed(0x18f))/0xb*(parseInt(_0x2d95ed(0x189))/0xc);if(_0x25a4b4===_0x5525db)break;else _0x13b538['push'](_0x13b538['shift']());}catch(_0x217cb9){_0x13b538['push'](_0x13b538['shift']());}}}(a300_0x3061,0x38204));import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';function a300_0x3061(){const _0xef7a5a=['393754NEkCHm','144330hswSlV','2rbtXjR','40CzmttG','33tLRGKb','2354xzeCts','155392gZFTqu','833098wzKhZG','422535bGNiCt','466614SBDYXH','16lDcvBT','43140gvaHkq'];a300_0x3061=function(){return _0xef7a5a;};return a300_0x3061();}function a300_0x1634(_0x3c1fa9,_0x4a7a08){_0x3c1fa9=_0x3c1fa9-0x188;const _0x30610f=a300_0x3061();let _0x163434=_0x30610f[_0x3c1fa9];return _0x163434;}export async function copyDir(_0xf93195,_0x44cf62){const _0x49036e=statSync(_0xf93195);if(_0x49036e['isDirectory']()){!existsSync(_0x44cf62)&&mkdirSync(_0x44cf62,{'recursive':!![]});const _0x321a58=readdirSync(_0xf93195);for(const _0x1cc576 of _0x321a58){await copyDir(join(_0xf93195,_0x1cc576),join(_0x44cf62,_0x1cc576));}}else copyFileSync(_0xf93195,_0x44cf62);}export function ensureDir(_0x5d01c1){!existsSync(_0x5d01c1)&&mkdirSync(_0x5d01c1,{'recursive':!![]});}export function pathExists(_0x1859af){return existsSync(_0x1859af);}
1
+ (function(_0x4274a3,_0xb5cdd1){const _0x28231e=a314_0x7850,_0x37a7ec=_0x4274a3();while(!![]){try{const _0x39ad80=-parseInt(_0x28231e(0x127))/0x1*(parseInt(_0x28231e(0x122))/0x2)+-parseInt(_0x28231e(0x120))/0x3*(-parseInt(_0x28231e(0x126))/0x4)+parseInt(_0x28231e(0x12b))/0x5*(parseInt(_0x28231e(0x129))/0x6)+parseInt(_0x28231e(0x121))/0x7+-parseInt(_0x28231e(0x123))/0x8+parseInt(_0x28231e(0x124))/0x9*(-parseInt(_0x28231e(0x128))/0xa)+parseInt(_0x28231e(0x12a))/0xb*(parseInt(_0x28231e(0x125))/0xc);if(_0x39ad80===_0xb5cdd1)break;else _0x37a7ec['push'](_0x37a7ec['shift']());}catch(_0x1d07f2){_0x37a7ec['push'](_0x37a7ec['shift']());}}}(a314_0x7115,0xbd938));function a314_0x7115(){const _0x4bf180=['11egVswm','243265kEghLH','3RWUlyZ','3584637biTZuF','270462ItegnD','119080tcdJpF','9AssGGJ','22943448OkLcfB','1723504AhjCKM','11qRXMHm','8679090RSVlWP','36cqBYGC'];a314_0x7115=function(){return _0x4bf180;};return a314_0x7115();}import{existsSync,mkdirSync,copyFileSync,readdirSync,statSync}from'node:fs';import{join}from'node:path';export async function copyDir(_0x1e6380,_0x31d036){const _0x312d2c=statSync(_0x1e6380);if(_0x312d2c['isDirectory']()){!existsSync(_0x31d036)&&mkdirSync(_0x31d036,{'recursive':!![]});const _0x1a32bd=readdirSync(_0x1e6380);for(const _0x3d0e50 of _0x1a32bd){await copyDir(join(_0x1e6380,_0x3d0e50),join(_0x31d036,_0x3d0e50));}}else copyFileSync(_0x1e6380,_0x31d036);}export function ensureDir(_0x23315a){!existsSync(_0x23315a)&&mkdirSync(_0x23315a,{'recursive':!![]});}function a314_0x7850(_0x3374b3,_0x27b7df){_0x3374b3=_0x3374b3-0x120;const _0x7115b2=a314_0x7115();let _0x7850d4=_0x7115b2[_0x3374b3];return _0x7850d4;}export function pathExists(_0x27896c){return existsSync(_0x27896c);}
@@ -1 +1 @@
1
- const a301_0x3ca9d1=a301_0x5304;(function(_0x5070af,_0x209929){const _0x59923c=a301_0x5304,_0x26b4fe=_0x5070af();while(!![]){try{const _0x4a9fdf=-parseInt(_0x59923c(0x17a))/0x1+parseInt(_0x59923c(0x177))/0x2+-parseInt(_0x59923c(0x179))/0x3*(parseInt(_0x59923c(0x165))/0x4)+parseInt(_0x59923c(0x178))/0x5*(parseInt(_0x59923c(0x16e))/0x6)+parseInt(_0x59923c(0x168))/0x7*(-parseInt(_0x59923c(0x16b))/0x8)+-parseInt(_0x59923c(0x173))/0x9*(parseInt(_0x59923c(0x15e))/0xa)+-parseInt(_0x59923c(0x160))/0xb*(-parseInt(_0x59923c(0x176))/0xc);if(_0x4a9fdf===_0x209929)break;else _0x26b4fe['push'](_0x26b4fe['shift']());}catch(_0x609675){_0x26b4fe['push'](_0x26b4fe['shift']());}}}(a301_0x2a98,0x33100));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';function a301_0x5304(_0x2b0cf7,_0x345f6c){_0x2b0cf7=_0x2b0cf7-0x158;const _0x2a98d3=a301_0x2a98();let _0x53043f=_0x2a98d3[_0x2b0cf7];return _0x53043f;}import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x5efc09=getTemplateBaseUrl();return _0x5efc09+'/skills/guides.json';}const CACHE_DIR=join(homedir(),a301_0x3ca9d1(0x17b),a301_0x3ca9d1(0x166));export async function fetchGuidesFromCDN(){const _0x25c37f=a301_0x3ca9d1,_0x599954=getGuidesCdnUrl(),_0x145dcc=await fetch(_0x599954,{'headers':{'Accept':_0x25c37f(0x170)}});if(!_0x145dcc['ok'])throw new Error(_0x25c37f(0x171)+_0x145dcc[_0x25c37f(0x161)]+'\x20'+_0x145dcc[_0x25c37f(0x167)]);const _0x2b3d12=await _0x145dcc[_0x25c37f(0x159)]();if(!_0x2b3d12[_0x25c37f(0x15c)]||typeof _0x2b3d12['guides']!==_0x25c37f(0x164))throw new Error('CDN\x20returned\x20invalid\x20data');return _0x2b3d12;}function a301_0x2a98(){const _0x1f4ce0=['json','entries','content','guides','\x0a\x0a>更新时间:','10rNsrma','lastUpdated','6604411MYAeIW','status','replace','trimEnd','object','14400xJrnAY','cache','statusText','3290WQmIWV','CDN\x20data\x20is\x20missing\x20skillTemplate','join','712ZvaBiz','utf-8','.md','6DLaNTB','length','application/json','CDN\x20request\x20failed:\x20','path','3455307WxsqkC','push','.lovrabet/skill/guides','12EjjRAV','17600xjWPMS','1391920mXOJxr','117RMDgCR','112280EXgLqR','.lovrabet','keys','skillTemplate','map','title','extendContent'];a301_0x2a98=function(){return _0x1f4ce0;};return a301_0x2a98();}export function writeGuidesToProject(_0x228e92,_0x486c90,_0x20a4c9=a301_0x3ca9d1(0x175),_0x57b1c1){const _0x4a90c6=a301_0x3ca9d1,_0x2a5bc3=join(_0x486c90,_0x20a4c9);mkdirSync(_0x2a5bc3,{'recursive':!![]});for(const [_0x3e8174,_0x5c86d2]of Object[_0x4a90c6(0x15a)](_0x228e92[_0x4a90c6(0x15c)])){let _0x28b101=_0x5c86d2[_0x4a90c6(0x15b)];_0x5c86d2['lastUpdated']&&(_0x28b101=appendUpdateTime(_0x28b101,_0x5c86d2[_0x4a90c6(0x15f)])),writeFileSync(join(_0x2a5bc3,_0x3e8174+_0x4a90c6(0x16d)),_0x28b101,'utf-8');}}export function appendUpdateTime(_0x593e5e,_0x1252c7){const _0x42adbc=a301_0x3ca9d1;return _0x593e5e=_0x593e5e['replace'](/\n*>更新时间:.*$/m,''),_0x593e5e[_0x42adbc(0x163)]()+(_0x42adbc(0x15d)+_0x1252c7);}export function getSkillTemplate(_0x1c56d4){return _0x1c56d4['skillTemplate']?.['content']||'';}export function appendExtendContents(_0x5291b1,_0x3de250,_0x19e499){const _0x17bf86=a301_0x3ca9d1,_0x303437=[];for(const [,_0x57e23a]of Object[_0x17bf86(0x15a)](_0x3de250[_0x17bf86(0x15c)])){_0x57e23a[_0x17bf86(0x158)]&&_0x303437[_0x17bf86(0x174)](_0x57e23a[_0x17bf86(0x158)]['trimEnd']());}if(_0x303437[_0x17bf86(0x16f)]===0x0)return _0x5291b1;return _0x5291b1[_0x17bf86(0x163)]()+'\x0a\x0a'+_0x303437[_0x17bf86(0x16a)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0xfd2529,_0x22d9c8,_0x1f85fe){const _0x5343a4=a301_0x3ca9d1,_0x5f4f15=getSkillTemplate(_0xfd2529);if(!_0x5f4f15)throw new Error(_0x5343a4(0x169));const _0x599ebc=dirname(_0x22d9c8);mkdirSync(_0x599ebc,{'recursive':!![]});let _0xdc37b5=_0x5f4f15[_0x5343a4(0x162)](/\{\{IDE_NAME\}\}/g,_0x1f85fe);_0xdc37b5=appendExtendContents(_0xdc37b5,_0xfd2529),_0xfd2529[_0x5343a4(0x17d)][_0x5343a4(0x15f)]&&(_0xdc37b5=appendUpdateTime(_0xdc37b5,_0xfd2529['skillTemplate'][_0x5343a4(0x15f)])),writeFileSync(_0x22d9c8,_0xdc37b5,_0x5343a4(0x16c));}export async function installGuides(_0x2a7f99){const _0x5b9338=a301_0x3ca9d1,_0x31ce67=await fetchGuidesFromCDN();return writeGuidesToProject(_0x31ce67,_0x2a7f99),Object[_0x5b9338(0x17c)](_0x31ce67[_0x5b9338(0x15c)])[_0x5b9338(0x16f)];}export function getGuidesSummary(_0x1e64e9){const _0x369cba=a301_0x3ca9d1;return Object[_0x369cba(0x15a)](_0x1e64e9[_0x369cba(0x15c)])[_0x369cba(0x17e)](([_0x494345,_0x377f79])=>({'key':_0x494345,'title':_0x377f79[_0x369cba(0x17f)],'path':_0x377f79[_0x369cba(0x172)]}));}
1
+ const a315_0x5591b0=a315_0x28b5;(function(_0xea9292,_0x519156){const _0x395c2a=a315_0x28b5,_0x4cf99e=_0xea9292();while(!![]){try{const _0x365b51=parseInt(_0x395c2a(0x1e5))/0x1*(parseInt(_0x395c2a(0x1e3))/0x2)+-parseInt(_0x395c2a(0x1df))/0x3+parseInt(_0x395c2a(0x1e8))/0x4+-parseInt(_0x395c2a(0x1ec))/0x5+parseInt(_0x395c2a(0x1d8))/0x6+-parseInt(_0x395c2a(0x1f2))/0x7*(parseInt(_0x395c2a(0x1ee))/0x8)+-parseInt(_0x395c2a(0x1f5))/0x9*(parseInt(_0x395c2a(0x1ed))/0xa);if(_0x365b51===_0x519156)break;else _0x4cf99e['push'](_0x4cf99e['shift']());}catch(_0x4aaa47){_0x4cf99e['push'](_0x4cf99e['shift']());}}}(a315_0x39f7,0x57c3a));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 _0x52190f=a315_0x28b5,_0xc39a16=getTemplateBaseUrl();return _0xc39a16+_0x52190f(0x1da);}function a315_0x39f7(){const _0x8302d5=['CDN\x20data\x20is\x20missing\x20skillTemplate','map','application/json','lastUpdated','trimEnd','length','3145758nowBYK','guides','/skills/guides.json','content','extendContent','skillTemplate','.lovrabet/skill/guides','1608444bcvKTj','status','\x0a\x0a>更新时间:','CDN\x20request\x20failed:\x20','50XhgfnJ','push','27273arxBqZ','keys','join','2136124pKmPhq','path','cache','replace','3379225WSCfFv','6430QovGmI','31072nBxSmD','utf-8','statusText','json','56Xoyfsn','.lovrabet','entries','1926VrQHNR','title'];a315_0x39f7=function(){return _0x8302d5;};return a315_0x39f7();}const CACHE_DIR=join(homedir(),a315_0x5591b0(0x1f3),a315_0x5591b0(0x1ea));export async function fetchGuidesFromCDN(){const _0xda7325=a315_0x5591b0,_0x56b536=getGuidesCdnUrl(),_0x38d72a=await fetch(_0x56b536,{'headers':{'Accept':_0xda7325(0x1f9)}});if(!_0x38d72a['ok'])throw new Error(_0xda7325(0x1e2)+_0x38d72a[_0xda7325(0x1e0)]+'\x20'+_0x38d72a[_0xda7325(0x1f0)]);const _0x4c0dae=await _0x38d72a[_0xda7325(0x1f1)]();if(!_0x4c0dae[_0xda7325(0x1d9)]||typeof _0x4c0dae[_0xda7325(0x1d9)]!=='object')throw new Error('CDN\x20returned\x20invalid\x20data');return _0x4c0dae;}export function writeGuidesToProject(_0x52153d,_0x35c630,_0x1fa4ce=a315_0x5591b0(0x1de),_0x2afe21){const _0x10f4a2=a315_0x5591b0,_0x4185c1=join(_0x35c630,_0x1fa4ce);mkdirSync(_0x4185c1,{'recursive':!![]});for(const [_0x43d35c,_0x4c4b77]of Object[_0x10f4a2(0x1f4)](_0x52153d[_0x10f4a2(0x1d9)])){let _0x2c9203=_0x4c4b77[_0x10f4a2(0x1db)];_0x4c4b77[_0x10f4a2(0x1fa)]&&(_0x2c9203=appendUpdateTime(_0x2c9203,_0x4c4b77['lastUpdated'])),writeFileSync(join(_0x4185c1,_0x43d35c+'.md'),_0x2c9203,_0x10f4a2(0x1ef));}}export function appendUpdateTime(_0x41307d,_0x1ccef1){const _0x5b5244=a315_0x5591b0;return _0x41307d=_0x41307d['replace'](/\n*>更新时间:.*$/m,''),_0x41307d['trimEnd']()+(_0x5b5244(0x1e1)+_0x1ccef1);}function a315_0x28b5(_0x4465e9,_0xa32a9d){_0x4465e9=_0x4465e9-0x1d6;const _0x39f7bb=a315_0x39f7();let _0x28b585=_0x39f7bb[_0x4465e9];return _0x28b585;}export function getSkillTemplate(_0x14b900){const _0x5c8953=a315_0x5591b0;return _0x14b900[_0x5c8953(0x1dd)]?.[_0x5c8953(0x1db)]||'';}export function appendExtendContents(_0x290e4d,_0x421fbe,_0x4cccbe){const _0x4fef20=a315_0x5591b0,_0x2b6fae=[];for(const [,_0x2c8587]of Object[_0x4fef20(0x1f4)](_0x421fbe[_0x4fef20(0x1d9)])){_0x2c8587[_0x4fef20(0x1dc)]&&_0x2b6fae[_0x4fef20(0x1e4)](_0x2c8587[_0x4fef20(0x1dc)][_0x4fef20(0x1d6)]());}if(_0x2b6fae[_0x4fef20(0x1d7)]===0x0)return _0x290e4d;return _0x290e4d[_0x4fef20(0x1d6)]()+'\x0a\x0a'+_0x2b6fae[_0x4fef20(0x1e7)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x3f33aa,_0x293849,_0x4baab4){const _0x7191ba=a315_0x5591b0,_0x2b675c=getSkillTemplate(_0x3f33aa);if(!_0x2b675c)throw new Error(_0x7191ba(0x1f7));const _0x44b2f8=dirname(_0x293849);mkdirSync(_0x44b2f8,{'recursive':!![]});let _0x5492e6=_0x2b675c[_0x7191ba(0x1eb)](/\{\{IDE_NAME\}\}/g,_0x4baab4);_0x5492e6=appendExtendContents(_0x5492e6,_0x3f33aa),_0x3f33aa[_0x7191ba(0x1dd)][_0x7191ba(0x1fa)]&&(_0x5492e6=appendUpdateTime(_0x5492e6,_0x3f33aa[_0x7191ba(0x1dd)][_0x7191ba(0x1fa)])),writeFileSync(_0x293849,_0x5492e6,_0x7191ba(0x1ef));}export async function installGuides(_0x3d0fe5){const _0x131ea9=a315_0x5591b0,_0x5e31f5=await fetchGuidesFromCDN();return writeGuidesToProject(_0x5e31f5,_0x3d0fe5),Object[_0x131ea9(0x1e6)](_0x5e31f5[_0x131ea9(0x1d9)])[_0x131ea9(0x1d7)];}export function getGuidesSummary(_0x44299d){const _0x222069=a315_0x5591b0;return Object[_0x222069(0x1f4)](_0x44299d[_0x222069(0x1d9)])[_0x222069(0x1f8)](([_0x408866,_0x368c42])=>({'key':_0x408866,'title':_0x368c42[_0x222069(0x1f6)],'path':_0x368c42[_0x222069(0x1e9)]}));}
@@ -1 +1 @@
1
- (function(_0x493626,_0x28e781){const _0x175f59=a302_0x43e1,_0x474ec7=_0x493626();while(!![]){try{const _0x43c55c=parseInt(_0x175f59(0x1a1))/0x1+parseInt(_0x175f59(0x1a7))/0x2*(parseInt(_0x175f59(0x1ac))/0x3)+parseInt(_0x175f59(0x1b9))/0x4+-parseInt(_0x175f59(0x1a5))/0x5+-parseInt(_0x175f59(0x1a0))/0x6+-parseInt(_0x175f59(0x1a4))/0x7+parseInt(_0x175f59(0x1b4))/0x8;if(_0x43c55c===_0x28e781)break;else _0x474ec7['push'](_0x474ec7['shift']());}catch(_0x7e61c1){_0x474ec7['push'](_0x474ec7['shift']());}}}(a302_0x2879,0xbc5c2));function a302_0x2879(){const _0x349ad9=['TypeError','statusText','*\x20Request\x20failed;\x20retry\x20','signal','3XKtyJv','status','ENOTFOUND','headers','text','application/json','includes','ECONNRESET','6989528Rmokng','name','\x20in\x20','ms...','abort','3310836HWKSpQ','url','json','2500440lITsel','271750bPwHcg','message','log','7861245JJCGBo','1757980kMRlAO','Request\x20failed','1379486cZasuR'];a302_0x2879=function(){return _0x349ad9;};return a302_0x2879();}export async function httpRequest(_0x4a2acf,_0x3caac2={}){const _0x4b9c8f=a302_0x43e1,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x3caac2;let _0x262e82=null;for(let _0x2de8da=0x0;_0x2de8da<=retries;_0x2de8da++){try{const _0x5bb0c3=new AbortController(),_0x575ead=setTimeout(()=>_0x5bb0c3[_0x4b9c8f(0x1b8)](),timeout),_0x29b382=await fetch(_0x4a2acf,{'headers':headers,'signal':_0x5bb0c3[_0x4b9c8f(0x1ab)]});clearTimeout(_0x575ead);let _0x8008fa;const _0x3a2ab5=_0x29b382[_0x4b9c8f(0x1af)]['get']('content-type');return _0x3a2ab5?.['includes'](_0x4b9c8f(0x1b1))?_0x8008fa=await _0x29b382[_0x4b9c8f(0x19f)]():_0x8008fa=await _0x29b382[_0x4b9c8f(0x1b0)](),{'ok':_0x29b382['ok'],'status':_0x29b382[_0x4b9c8f(0x1ad)],'statusText':_0x29b382[_0x4b9c8f(0x1a9)],'data':_0x8008fa,'headers':_0x29b382[_0x4b9c8f(0x1af)],'url':_0x29b382[_0x4b9c8f(0x19e)],'text':()=>_0x29b382[_0x4b9c8f(0x1b0)]()};}catch(_0x20d371){_0x262e82=_0x20d371 instanceof Error?_0x20d371:new Error(String(_0x20d371));if(_0x2de8da===retries)break;if(shouldRetry(_0x20d371)){console[_0x4b9c8f(0x1a3)](_0x4b9c8f(0x1aa)+(_0x2de8da+0x1)+_0x4b9c8f(0x1b6)+retryDelay+_0x4b9c8f(0x1b7)),await sleep(retryDelay);continue;}else break;}}throw _0x262e82||new Error(_0x4b9c8f(0x1a6));}function shouldRetry(_0x5a5aa5){const _0x2aef9e=a302_0x43e1;if(_0x5a5aa5 instanceof Error){if(_0x5a5aa5[_0x2aef9e(0x1b5)]==='AbortError')return![];if(_0x5a5aa5[_0x2aef9e(0x1b5)]===_0x2aef9e(0x1a8)&&_0x5a5aa5['message'][_0x2aef9e(0x1b2)]('fetch'))return!![];if(_0x5a5aa5[_0x2aef9e(0x1a2)]['includes'](_0x2aef9e(0x1b3)))return!![];if(_0x5a5aa5[_0x2aef9e(0x1a2)][_0x2aef9e(0x1b2)](_0x2aef9e(0x1ae)))return![];}return![];}function sleep(_0x2fd2dc){return new Promise(_0x16f4eb=>setTimeout(_0x16f4eb,_0x2fd2dc));}function a302_0x43e1(_0x1c416c,_0x55af7b){_0x1c416c=_0x1c416c-0x19e;const _0x287917=a302_0x2879();let _0x43e11c=_0x287917[_0x1c416c];return _0x43e11c;}export function validateUrl(_0x54410f){try{return new URL(_0x54410f),!![];}catch{return![];}}
1
+ (function(_0x45ba2b,_0x27224d){const _0x57c707=a316_0x240a,_0xbf4ddb=_0x45ba2b();while(!![]){try{const _0x4518da=-parseInt(_0x57c707(0x100))/0x1+-parseInt(_0x57c707(0xe9))/0x2*(-parseInt(_0x57c707(0xfd))/0x3)+parseInt(_0x57c707(0xf9))/0x4*(parseInt(_0x57c707(0xfc))/0x5)+parseInt(_0x57c707(0xee))/0x6*(parseInt(_0x57c707(0xed))/0x7)+parseInt(_0x57c707(0xfb))/0x8+-parseInt(_0x57c707(0xec))/0x9*(-parseInt(_0x57c707(0xff))/0xa)+parseInt(_0x57c707(0x102))/0xb*(-parseInt(_0x57c707(0x107))/0xc);if(_0x4518da===_0x27224d)break;else _0xbf4ddb['push'](_0xbf4ddb['shift']());}catch(_0x1c7032){_0xbf4ddb['push'](_0xbf4ddb['shift']());}}}(a316_0x14a4,0x868f7));export async function httpRequest(_0x5565e0,_0x44d5bc={}){const _0x13ac74=a316_0x240a,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x44d5bc;let _0x184d96=null;for(let _0x1eec8c=0x0;_0x1eec8c<=retries;_0x1eec8c++){try{const _0x1afd40=new AbortController(),_0x363a08=setTimeout(()=>_0x1afd40[_0x13ac74(0xef)](),timeout),_0xc8981f=await fetch(_0x5565e0,{'headers':headers,'signal':_0x1afd40[_0x13ac74(0x101)]});clearTimeout(_0x363a08);let _0xe51457;const _0x58e9a9=_0xc8981f[_0x13ac74(0xf0)]['get'](_0x13ac74(0x103));return _0x58e9a9?.[_0x13ac74(0x108)](_0x13ac74(0xf7))?_0xe51457=await _0xc8981f['json']():_0xe51457=await _0xc8981f[_0x13ac74(0xf3)](),{'ok':_0xc8981f['ok'],'status':_0xc8981f[_0x13ac74(0xfe)],'statusText':_0xc8981f[_0x13ac74(0xeb)],'data':_0xe51457,'headers':_0xc8981f[_0x13ac74(0xf0)],'url':_0xc8981f[_0x13ac74(0xf4)],'text':()=>_0xc8981f[_0x13ac74(0xf3)]()};}catch(_0x2a1f57){_0x184d96=_0x2a1f57 instanceof Error?_0x2a1f57:new Error(String(_0x2a1f57));if(_0x1eec8c===retries)break;if(shouldRetry(_0x2a1f57)){console[_0x13ac74(0xf1)](_0x13ac74(0x106)+(_0x1eec8c+0x1)+_0x13ac74(0xea)+retryDelay+_0x13ac74(0x109)),await sleep(retryDelay);continue;}else break;}}throw _0x184d96||new Error(_0x13ac74(0x105));}function shouldRetry(_0x59fbac){const _0x4abc3e=a316_0x240a;if(_0x59fbac instanceof Error){if(_0x59fbac['name']===_0x4abc3e(0xf6))return![];if(_0x59fbac['name']===_0x4abc3e(0xf2)&&_0x59fbac[_0x4abc3e(0x104)]['includes'](_0x4abc3e(0xfa)))return!![];if(_0x59fbac['message'][_0x4abc3e(0x108)](_0x4abc3e(0xf8)))return!![];if(_0x59fbac[_0x4abc3e(0x104)][_0x4abc3e(0x108)](_0x4abc3e(0xf5)))return![];}return![];}function sleep(_0x5b3a3d){return new Promise(_0xaad41=>setTimeout(_0xaad41,_0x5b3a3d));}function a316_0x240a(_0x2741c9,_0x47cb9a){_0x2741c9=_0x2741c9-0xe9;const _0x14a4b9=a316_0x14a4();let _0x240aa6=_0x14a4b9[_0x2741c9];return _0x240aa6;}function a316_0x14a4(){const _0x3a7b7a=['ENOTFOUND','AbortError','application/json','ECONNRESET','4bTCUKf','fetch','6065952KTWQfN','5129545JDjGcy','63957XRHoUd','status','1643540MSjcOS','1089200wMkgKE','signal','227348vnKrtT','content-type','message','Request\x20failed','*\x20Request\x20failed;\x20retry\x20','1260ezikyd','includes','ms...','30lQqyFA','\x20in\x20','statusText','45SbKyxt','7kLDHSw','5308746IMUNlF','abort','headers','log','TypeError','text','url'];a316_0x14a4=function(){return _0x3a7b7a;};return a316_0x14a4();}export function validateUrl(_0x55762d){try{return new URL(_0x55762d),!![];}catch{return![];}}
@@ -1 +1 @@
1
- (function(_0xedb29a,_0x5ad511){const _0x51d854=a303_0x1d53,_0x573d51=_0xedb29a();while(!![]){try{const _0x33f56d=-parseInt(_0x51d854(0x1ff))/0x1*(parseInt(_0x51d854(0x201))/0x2)+-parseInt(_0x51d854(0x1f2))/0x3+parseInt(_0x51d854(0x200))/0x4*(parseInt(_0x51d854(0x1fa))/0x5)+parseInt(_0x51d854(0x1fd))/0x6*(parseInt(_0x51d854(0x1f8))/0x7)+-parseInt(_0x51d854(0x1fb))/0x8*(-parseInt(_0x51d854(0x1f1))/0x9)+-parseInt(_0x51d854(0x1f4))/0xa+parseInt(_0x51d854(0x1f9))/0xb;if(_0x33f56d===_0x5ad511)break;else _0x573d51['push'](_0x573d51['shift']());}catch(_0x387fcc){_0x573d51['push'](_0x573d51['shift']());}}}(a303_0x1807,0x30923));function a303_0x1807(){const _0x49132d=['setRawMode','stdin','237223AxvYDm','3459115TCZQUR','700655BWIBac','72HswHNb','true','18hkcOLd','nonInteractive','4alHFgY','8HlYIQT','90422qgQxqh','90063yPKXCX','582879kXSYpX','stdout','2123730UqzeAr','isTTY'];a303_0x1807=function(){return _0x49132d;};return a303_0x1807();}function a303_0x1d53(_0x3464f2,_0x4a7ba7){_0x3464f2=_0x3464f2-0x1f1;const _0x18074a=a303_0x1807();let _0x1d5347=_0x18074a[_0x3464f2];return _0x1d5347;}function env(_0x50b02e){return process.env[`RABETBASE_${_0x50b02e}`]||process.env[`LOVRABET_${_0x50b02e}`]||undefined;}export function isNonInteractive(_0x4cf2de){const _0x490e4e=a303_0x1d53;return!!(_0x4cf2de[_0x490e4e(0x1fe)]||_0x4cf2de['ci']||env('CI')===_0x490e4e(0x1fc)||process.env.CI==='true'||!process[_0x490e4e(0x1f3)][_0x490e4e(0x1f5)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x10c480=a303_0x1d53;if(!process[_0x10c480(0x1f7)]['isTTY'])return![];try{const _0x52e15a=process[_0x10c480(0x1f7)]['isRaw'];return process['stdin'][_0x10c480(0x1f6)](!![]),process['stdin'][_0x10c480(0x1f6)](_0x52e15a??![]),!![];}catch{return![];}}
1
+ function a317_0x33b1(_0x3eb079,_0x2a7229){_0x3eb079=_0x3eb079-0x181;const _0x2692ec=a317_0x2692();let _0x33b1d8=_0x2692ec[_0x3eb079];return _0x33b1d8;}(function(_0x2f4492,_0x10a2fe){const _0x363a59=a317_0x33b1,_0x5a5680=_0x2f4492();while(!![]){try{const _0x1fe46c=parseInt(_0x363a59(0x18c))/0x1*(-parseInt(_0x363a59(0x18e))/0x2)+parseInt(_0x363a59(0x182))/0x3*(parseInt(_0x363a59(0x18a))/0x4)+-parseInt(_0x363a59(0x184))/0x5*(-parseInt(_0x363a59(0x187))/0x6)+parseInt(_0x363a59(0x189))/0x7*(-parseInt(_0x363a59(0x181))/0x8)+parseInt(_0x363a59(0x188))/0x9+parseInt(_0x363a59(0x186))/0xa+-parseInt(_0x363a59(0x18f))/0xb;if(_0x1fe46c===_0x10a2fe)break;else _0x5a5680['push'](_0x5a5680['shift']());}catch(_0x23850a){_0x5a5680['push'](_0x5a5680['shift']());}}}(a317_0x2692,0x73be4));function a317_0x2692(){const _0x277ac8=['18ANwbHS','10655183OzSHjR','isTTY','isRaw','37624nJQcjJ','1240812dHaZmg','stdin','220jnivUR','true','3425600QHIYaf','96144ERISQG','3971754vUlFJD','21nURTxv','8QGuXtw','stdout','95476MNbBCV','setRawMode'];a317_0x2692=function(){return _0x277ac8;};return a317_0x2692();}function env(_0x1d9684){return process.env[`RABETBASE_${_0x1d9684}`]||process.env[`LOVRABET_${_0x1d9684}`]||undefined;}export function isNonInteractive(_0x3e75d9){const _0x5d00c8=a317_0x33b1;return!!(_0x3e75d9['nonInteractive']||_0x3e75d9['ci']||env('CI')==='true'||process.env.CI===_0x5d00c8(0x185)||!process[_0x5d00c8(0x18b)][_0x5d00c8(0x190)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x74df3f=a317_0x33b1;if(!process['stdin'][_0x74df3f(0x190)])return![];try{const _0x19d244=process[_0x74df3f(0x183)][_0x74df3f(0x191)];return process['stdin'][_0x74df3f(0x18d)](!![]),process[_0x74df3f(0x183)][_0x74df3f(0x18d)](_0x19d244??![]),!![];}catch{return![];}}
@@ -1 +1 @@
1
- function a304_0xe2d2(_0x3f4020,_0x121e7d){_0x3f4020=_0x3f4020-0x6c;const _0x2ec923=a304_0x2ec9();let _0xe2d25c=_0x2ec923[_0x3f4020];return _0xe2d25c;}function a304_0x2ec9(){const _0x28b718=['Failed\x20to\x20read\x20logs:','currentRawCommand','existsSync','toISOString','format','error','22LnPxoA','command','393719VRjcfa','setRawCommand','clear','mkdirSync','errors','duration','2307352vHUiBt','3292584Afxwwk','combine','level','rawCommand','getWinstonInstance','printf','21YAWKuM','success','utf8','addColors','Starting:\x20','warn','113585idPXhA','4476060jyXNhS','Completed:\x20','clearLogs','logTask','unknown','11062770PgAZWG','split','log','readFileSync','188wDHApk','103881fkCMaT','winstonLogger','message','logFilePath','now','readLogs','timestamp','File','yellow','stringify','writeFileSync','Failed:\x20','transports','filter','trim','green','red','22GBelEY','map','createLogger','info'];a304_0x2ec9=function(){return _0x28b718;};return a304_0x2ec9();}const a304_0x41423d=a304_0xe2d2;(function(_0x1ad41d,_0x36a7cd){const _0x3d8493=a304_0xe2d2,_0x18e7d8=_0x1ad41d();while(!![]){try{const _0x358e3a=parseInt(_0x3d8493(0xa4))/0x1+-parseInt(_0x3d8493(0xa2))/0x2*(-parseInt(_0x3d8493(0x87))/0x3)+-parseInt(_0x3d8493(0x86))/0x4*(-parseInt(_0x3d8493(0x7c))/0x5)+parseInt(_0x3d8493(0x70))/0x6+parseInt(_0x3d8493(0x76))/0x7*(parseInt(_0x3d8493(0x6f))/0x8)+-parseInt(_0x3d8493(0x7d))/0x9+parseInt(_0x3d8493(0x82))/0xa*(-parseInt(_0x3d8493(0x98))/0xb);if(_0x358e3a===_0x36a7cd)break;else _0x18e7d8['push'](_0x18e7d8['shift']());}catch(_0x7dd4e6){_0x18e7d8['push'](_0x18e7d8['shift']());}}}(a304_0x2ec9,0x8568a));import a304_0x931b47 from'winston';import a304_0x253816 from'node:fs';import a304_0x43ddd6 from'node:path';class Logger{[a304_0x41423d(0x88)];[a304_0x41423d(0x8a)];[a304_0x41423d(0x9d)]='';constructor(){const _0x7378fe=a304_0x41423d;this[_0x7378fe(0x8a)]='';}[a304_0x41423d(0xa5)](_0x5a5454){this['currentRawCommand']=_0x5a5454;}['initWinstonLogger'](){const _0x21ce6c=a304_0x41423d,_0x3ac43d=a304_0x43ddd6['dirname'](this['logFilePath']);!a304_0x253816[_0x21ce6c(0x9e)](_0x3ac43d)&&a304_0x253816[_0x21ce6c(0x6c)](_0x3ac43d,{'recursive':!![]});const _0x4e9e5e=a304_0x931b47[_0x21ce6c(0xa0)][_0x21ce6c(0x71)](a304_0x931b47[_0x21ce6c(0xa0)][_0x21ce6c(0x8d)](),a304_0x931b47[_0x21ce6c(0xa0)][_0x21ce6c(0x6d)]({'stack':!![]}),a304_0x931b47[_0x21ce6c(0xa0)][_0x21ce6c(0x75)](_0x424495=>{const _0x1aef74=_0x21ce6c,_0x581c52={'timestamp':_0x424495['timestamp']||new Date()[_0x1aef74(0x9f)](),'level':_0x424495[_0x1aef74(0x72)]||_0x1aef74(0x9b),'command':_0x424495[_0x1aef74(0xa3)]||_0x1aef74(0x81),'rawCommand':_0x424495[_0x1aef74(0x73)]||this[_0x1aef74(0x9d)]||undefined,'message':_0x424495[_0x1aef74(0x89)]||'','duration':_0x424495[_0x1aef74(0x6e)]||undefined,'details':_0x424495['details']||undefined};return JSON[_0x1aef74(0x90)](_0x581c52);}));this[_0x21ce6c(0x88)]=a304_0x931b47[_0x21ce6c(0x9a)]({'level':_0x21ce6c(0x9b),'format':_0x4e9e5e,'transports':[new a304_0x931b47[(_0x21ce6c(0x93))][(_0x21ce6c(0x8e))]({'filename':this[_0x21ce6c(0x8a)],'level':_0x21ce6c(0x9b)})],'silent':![]}),a304_0x931b47[_0x21ce6c(0x79)]({'success':_0x21ce6c(0x96),'error':_0x21ce6c(0x97),'warn':_0x21ce6c(0x8f),'info':'blue'});}['setLogPath'](_0x384e47){const _0x460ab8=a304_0x41423d;this[_0x460ab8(0x8a)]=a304_0x43ddd6['join'](_0x384e47,'.lovrabet.log'),this[_0x460ab8(0x88)]&&this[_0x460ab8(0x88)][_0x460ab8(0xa6)](),this['initWinstonLogger']();}['info'](_0x1b6367,_0xec6d85,_0x14ef31){const _0x137294=a304_0x41423d;if(!this['logFilePath']||!this[_0x137294(0x88)])return;this[_0x137294(0x88)][_0x137294(0x9b)](_0xec6d85,{'command':_0x1b6367,'details':_0x14ef31});}[a304_0x41423d(0x77)](_0xf552f8,_0x23661d,_0x4afb7e,_0x4390b8){const _0xd7bd21=a304_0x41423d;if(!this['logFilePath']||!this[_0xd7bd21(0x88)])return;this['winstonLogger'][_0xd7bd21(0x84)]('info',_0x23661d,{'level':'success','command':_0xf552f8,'duration':_0x4afb7e,'details':_0x4390b8});}[a304_0x41423d(0xa1)](_0x1ec2e4,_0x34a545,_0x12e9c9){const _0x1be32d=a304_0x41423d;if(!this['logFilePath']||!this[_0x1be32d(0x88)])return;this[_0x1be32d(0x88)][_0x1be32d(0xa1)](_0x34a545,{'command':_0x1ec2e4,'details':_0x12e9c9});}[a304_0x41423d(0x7b)](_0x32d71b,_0x25f81a,_0x2efb2a){const _0x28f977=a304_0x41423d;if(!this[_0x28f977(0x8a)]||!this[_0x28f977(0x88)])return;this[_0x28f977(0x88)]['warn'](_0x25f81a,{'command':_0x32d71b,'details':_0x2efb2a});}async[a304_0x41423d(0x80)](_0x488025,_0x3c92d1,_0x2cee98){const _0x3d3bc4=a304_0x41423d,_0x3726cb=Date[_0x3d3bc4(0x8b)]();this[_0x3d3bc4(0x9b)](_0x488025,_0x3d3bc4(0x7a)+_0x3c92d1);try{const _0x17155c=await _0x2cee98(),_0x118f1c=Date[_0x3d3bc4(0x8b)]()-_0x3726cb;return this[_0x3d3bc4(0x77)](_0x488025,_0x3d3bc4(0x7e)+_0x3c92d1,_0x118f1c),_0x17155c;}catch(_0xa8b068){const _0x4b62a2=Date['now']()-_0x3726cb;this[_0x3d3bc4(0xa1)](_0x488025,_0x3d3bc4(0x92)+_0x3c92d1,{'error':_0xa8b068 instanceof Error?_0xa8b068[_0x3d3bc4(0x89)]:String(_0xa8b068),'duration':_0x4b62a2});throw _0xa8b068;}}[a304_0x41423d(0x8c)](){const _0x3956d2=a304_0x41423d;try{if(!a304_0x253816[_0x3956d2(0x9e)](this[_0x3956d2(0x8a)]))return[];const _0x3c3c93=a304_0x253816[_0x3956d2(0x85)](this[_0x3956d2(0x8a)],_0x3956d2(0x78));return _0x3c3c93[_0x3956d2(0x83)]('\x0a')[_0x3956d2(0x94)](_0x4b3c42=>_0x4b3c42[_0x3956d2(0x95)]())[_0x3956d2(0x99)](_0x311160=>JSON['parse'](_0x311160));}catch(_0x49000f){return console[_0x3956d2(0x7b)](_0x3956d2(0x9c),_0x49000f),[];}}[a304_0x41423d(0x7f)](){const _0x22cda4=a304_0x41423d;try{a304_0x253816[_0x22cda4(0x9e)](this['logFilePath'])&&a304_0x253816[_0x22cda4(0x91)](this[_0x22cda4(0x8a)],'',_0x22cda4(0x78));}catch(_0x137c21){console[_0x22cda4(0x7b)]('Failed\x20to\x20clear\x20logs:',_0x137c21);}}[a304_0x41423d(0x74)](){const _0x32918f=a304_0x41423d;return this[_0x32918f(0x88)];}}export const logger=new Logger();
1
+ const a318_0x1e5874=a318_0x19d5;(function(_0x321248,_0x4b9b82){const _0x2daf0c=a318_0x19d5,_0x304988=_0x321248();while(!![]){try{const _0x880251=-parseInt(_0x2daf0c(0x132))/0x1*(-parseInt(_0x2daf0c(0x13e))/0x2)+parseInt(_0x2daf0c(0x143))/0x3+parseInt(_0x2daf0c(0x138))/0x4+parseInt(_0x2daf0c(0x123))/0x5*(-parseInt(_0x2daf0c(0x137))/0x6)+parseInt(_0x2daf0c(0x11c))/0x7+-parseInt(_0x2daf0c(0x129))/0x8*(parseInt(_0x2daf0c(0x14d))/0x9)+-parseInt(_0x2daf0c(0x121))/0xa;if(_0x880251===_0x4b9b82)break;else _0x304988['push'](_0x304988['shift']());}catch(_0x32f6b9){_0x304988['push'](_0x304988['shift']());}}}(a318_0x1e72,0x75643));import a318_0x72e5ec from'winston';function a318_0x1e72(){const _0x5e5823=['unknown','toISOString','now','info','File','mkdirSync','4XPPwCg','clearLogs','red','Completed:\x20','yellow','3337266SyeAtG','3765564qJvDzA','clear','filter','Failed\x20to\x20read\x20logs:','writeFileSync','currentRawCommand','9136togdmH','error','logFilePath','Failed\x20to\x20clear\x20logs:','timestamp','1116033GHkogB','Failed:\x20','transports','format','parse','combine','warn','level','existsSync','split','99lPQHjG','readFileSync','duration','.lovrabet.log','join','winstonLogger','printf','readLogs','6518204EDsrxF','initWinstonLogger','rawCommand','details','message','10579290htDwGt','log','5yGmaOg','trim','dirname','setLogPath','setRawCommand','utf8','122088ZstqsU','success','map'];a318_0x1e72=function(){return _0x5e5823;};return a318_0x1e72();}function a318_0x19d5(_0x2bce3e,_0x3085ba){_0x2bce3e=_0x2bce3e-0x11b;const _0x1e72ca=a318_0x1e72();let _0x19d51e=_0x1e72ca[_0x2bce3e];return _0x19d51e;}import a318_0x202d01 from'node:fs';import a318_0x5befa0 from'node:path';class Logger{[a318_0x1e5874(0x152)];[a318_0x1e5874(0x140)];[a318_0x1e5874(0x13d)]='';constructor(){const _0x2f2bc6=a318_0x1e5874;this[_0x2f2bc6(0x140)]='';}[a318_0x1e5874(0x127)](_0x578ef3){const _0x1de407=a318_0x1e5874;this[_0x1de407(0x13d)]=_0x578ef3;}[a318_0x1e5874(0x11d)](){const _0x3c2989=a318_0x1e5874,_0x158f0f=a318_0x5befa0[_0x3c2989(0x125)](this[_0x3c2989(0x140)]);!a318_0x202d01[_0x3c2989(0x14b)](_0x158f0f)&&a318_0x202d01[_0x3c2989(0x131)](_0x158f0f,{'recursive':!![]});const _0x4ec47f=a318_0x72e5ec[_0x3c2989(0x146)][_0x3c2989(0x148)](a318_0x72e5ec['format']['timestamp'](),a318_0x72e5ec[_0x3c2989(0x146)]['errors']({'stack':!![]}),a318_0x72e5ec['format'][_0x3c2989(0x153)](_0x57d157=>{const _0x31640d=_0x3c2989,_0xa07a6e={'timestamp':_0x57d157[_0x31640d(0x142)]||new Date()[_0x31640d(0x12d)](),'level':_0x57d157[_0x31640d(0x14a)]||'info','command':_0x57d157['command']||_0x31640d(0x12c),'rawCommand':_0x57d157[_0x31640d(0x11e)]||this[_0x31640d(0x13d)]||undefined,'message':_0x57d157[_0x31640d(0x120)]||'','duration':_0x57d157[_0x31640d(0x14f)]||undefined,'details':_0x57d157[_0x31640d(0x11f)]||undefined};return JSON['stringify'](_0xa07a6e);}));this[_0x3c2989(0x152)]=a318_0x72e5ec['createLogger']({'level':_0x3c2989(0x12f),'format':_0x4ec47f,'transports':[new a318_0x72e5ec[(_0x3c2989(0x145))][(_0x3c2989(0x130))]({'filename':this['logFilePath'],'level':_0x3c2989(0x12f)})],'silent':![]}),a318_0x72e5ec['addColors']({'success':'green','error':_0x3c2989(0x134),'warn':_0x3c2989(0x136),'info':'blue'});}[a318_0x1e5874(0x126)](_0x16582d){const _0x2233ff=a318_0x1e5874;this['logFilePath']=a318_0x5befa0[_0x2233ff(0x151)](_0x16582d,_0x2233ff(0x150)),this[_0x2233ff(0x152)]&&this[_0x2233ff(0x152)][_0x2233ff(0x139)](),this[_0x2233ff(0x11d)]();}[a318_0x1e5874(0x12f)](_0x242f58,_0x3ec96e,_0x27997e){const _0x13c62e=a318_0x1e5874;if(!this['logFilePath']||!this[_0x13c62e(0x152)])return;this['winstonLogger']['info'](_0x3ec96e,{'command':_0x242f58,'details':_0x27997e});}[a318_0x1e5874(0x12a)](_0x548937,_0x51b83f,_0x4662de,_0x26d03f){const _0x3d9830=a318_0x1e5874;if(!this[_0x3d9830(0x140)]||!this['winstonLogger'])return;this[_0x3d9830(0x152)][_0x3d9830(0x122)]('info',_0x51b83f,{'level':_0x3d9830(0x12a),'command':_0x548937,'duration':_0x4662de,'details':_0x26d03f});}[a318_0x1e5874(0x13f)](_0x49d6b2,_0x439874,_0x5857f2){const _0x49d112=a318_0x1e5874;if(!this['logFilePath']||!this[_0x49d112(0x152)])return;this[_0x49d112(0x152)][_0x49d112(0x13f)](_0x439874,{'command':_0x49d6b2,'details':_0x5857f2});}['warn'](_0x3f185b,_0x4920fc,_0x1f9a0b){const _0x8e9f33=a318_0x1e5874;if(!this[_0x8e9f33(0x140)]||!this[_0x8e9f33(0x152)])return;this['winstonLogger'][_0x8e9f33(0x149)](_0x4920fc,{'command':_0x3f185b,'details':_0x1f9a0b});}async['logTask'](_0x4a85d8,_0x2723b9,_0x14157b){const _0x40ddf1=a318_0x1e5874,_0x2707c2=Date[_0x40ddf1(0x12e)]();this[_0x40ddf1(0x12f)](_0x4a85d8,'Starting:\x20'+_0x2723b9);try{const _0x2d0a51=await _0x14157b(),_0x12a049=Date['now']()-_0x2707c2;return this[_0x40ddf1(0x12a)](_0x4a85d8,_0x40ddf1(0x135)+_0x2723b9,_0x12a049),_0x2d0a51;}catch(_0x17f6ed){const _0x5989c2=Date[_0x40ddf1(0x12e)]()-_0x2707c2;this[_0x40ddf1(0x13f)](_0x4a85d8,_0x40ddf1(0x144)+_0x2723b9,{'error':_0x17f6ed instanceof Error?_0x17f6ed[_0x40ddf1(0x120)]:String(_0x17f6ed),'duration':_0x5989c2});throw _0x17f6ed;}}[a318_0x1e5874(0x11b)](){const _0x442ee4=a318_0x1e5874;try{if(!a318_0x202d01[_0x442ee4(0x14b)](this['logFilePath']))return[];const _0x4de173=a318_0x202d01[_0x442ee4(0x14e)](this[_0x442ee4(0x140)],_0x442ee4(0x128));return _0x4de173[_0x442ee4(0x14c)]('\x0a')[_0x442ee4(0x13a)](_0x5dabfc=>_0x5dabfc[_0x442ee4(0x124)]())[_0x442ee4(0x12b)](_0x2fdda6=>JSON[_0x442ee4(0x147)](_0x2fdda6));}catch(_0x4cfb71){return console[_0x442ee4(0x149)](_0x442ee4(0x13b),_0x4cfb71),[];}}[a318_0x1e5874(0x133)](){const _0x4e67af=a318_0x1e5874;try{a318_0x202d01[_0x4e67af(0x14b)](this[_0x4e67af(0x140)])&&a318_0x202d01[_0x4e67af(0x13c)](this[_0x4e67af(0x140)],'','utf8');}catch(_0x516f5a){console[_0x4e67af(0x149)](_0x4e67af(0x141),_0x516f5a);}}['getWinstonInstance'](){return this['winstonLogger'];}}export const logger=new Logger();
@@ -1 +1 @@
1
- (function(_0x77c7f5,_0x31c9aa){const _0x56148d=a305_0x5200,_0x46e155=_0x77c7f5();while(!![]){try{const _0x219e20=-parseInt(_0x56148d(0x186))/0x1*(parseInt(_0x56148d(0x183))/0x2)+parseInt(_0x56148d(0x18e))/0x3+parseInt(_0x56148d(0x18f))/0x4*(-parseInt(_0x56148d(0x18b))/0x5)+-parseInt(_0x56148d(0x184))/0x6+parseInt(_0x56148d(0x18a))/0x7*(parseInt(_0x56148d(0x188))/0x8)+-parseInt(_0x56148d(0x180))/0x9+parseInt(_0x56148d(0x18c))/0xa*(parseInt(_0x56148d(0x189))/0xb);if(_0x219e20===_0x31c9aa)break;else _0x46e155['push'](_0x46e155['shift']());}catch(_0x16de43){_0x46e155['push'](_0x46e155['shift']());}}}(a305_0x5115,0x46d25));function a305_0x5200(_0x4313b8,_0x5e7eb1){_0x4313b8=_0x4313b8-0x180;const _0x5115f1=a305_0x5115();let _0x520056=_0x5115f1[_0x4313b8];return _0x520056;}import{CliErrors}from'../errors.js';function a305_0x5115(){const _0x30bf13=['1016yWRxqw','11uzUTZX','9772XAKdDN','270ztimBF','9889270fOgohe','validation','486531SPSHwf','35204HmUbek','object','1625931PcUqDh','Invalid\x20JSON\x20for\x20--params:\x20','--params\x20must\x20be\x20a\x20JSON\x20object','8PjeMYk','730596cIdFom','parse','65158jVgFtZ','isArray'];a305_0x5115=function(){return _0x30bf13;};return a305_0x5115();}export function parseJsonParams(_0xbb26b5){const _0xd62404=a305_0x5200;if(!_0xbb26b5)return undefined;let _0x443a23;try{_0x443a23=JSON[_0xd62404(0x185)](_0xbb26b5);}catch{throw CliErrors[_0xd62404(0x18d)](_0xd62404(0x181)+_0xbb26b5);}if(!_0x443a23||typeof _0x443a23!==_0xd62404(0x190)||Array[_0xd62404(0x187)](_0x443a23))throw CliErrors['validation'](_0xd62404(0x182),'Example:\x20--params\x20\x27{\x22id\x22:123}\x27');return _0x443a23;}
1
+ function a319_0x968f(_0x1d7f49,_0x20660c){_0x1d7f49=_0x1d7f49-0x12b;const _0x49171b=a319_0x4917();let _0x968f74=_0x49171b[_0x1d7f49];return _0x968f74;}(function(_0x294adc,_0x11f104){const _0x217d4e=a319_0x968f,_0x17a872=_0x294adc();while(!![]){try{const _0x3235f0=parseInt(_0x217d4e(0x12b))/0x1+parseInt(_0x217d4e(0x12d))/0x2*(-parseInt(_0x217d4e(0x132))/0x3)+-parseInt(_0x217d4e(0x12f))/0x4+-parseInt(_0x217d4e(0x137))/0x5+parseInt(_0x217d4e(0x133))/0x6+parseInt(_0x217d4e(0x12c))/0x7*(parseInt(_0x217d4e(0x138))/0x8)+-parseInt(_0x217d4e(0x135))/0x9*(-parseInt(_0x217d4e(0x134))/0xa);if(_0x3235f0===_0x11f104)break;else _0x17a872['push'](_0x17a872['shift']());}catch(_0xfa4655){_0x17a872['push'](_0x17a872['shift']());}}}(a319_0x4917,0x70aba));import{CliErrors}from'../errors.js';export function parseJsonParams(_0x2e2764){const _0x5da0c0=a319_0x968f;if(!_0x2e2764)return undefined;let _0x428135;try{_0x428135=JSON['parse'](_0x2e2764);}catch{throw CliErrors[_0x5da0c0(0x139)](_0x5da0c0(0x131)+_0x2e2764);}if(!_0x428135||typeof _0x428135!==_0x5da0c0(0x136)||Array[_0x5da0c0(0x13a)](_0x428135))throw CliErrors[_0x5da0c0(0x139)](_0x5da0c0(0x130),_0x5da0c0(0x12e));return _0x428135;}function a319_0x4917(){const _0x2bd35c=['Example:\x20--params\x20\x27{\x22id\x22:123}\x27','1593228hwvMcL','--params\x20must\x20be\x20a\x20JSON\x20object','Invalid\x20JSON\x20for\x20--params:\x20','73257eTxkFM','3427458NUlIeT','10JqPrkn','7349850SrQDux','object','4433805ZuOMvP','264AYRJGA','validation','isArray','579118jGARUe','98273SXGSer','56ouNLUF'];a319_0x4917=function(){return _0x2bd35c;};return a319_0x4917();}
@@ -1 +1 @@
1
- function a306_0x2bc0(){const _0x45fd54=['3450235HIfJRK','210452mCYBlp','103HxqPgZ','15914zIDFpK','platform','win32','45eclQTm','9909180rqGnPa','2985120rUfZvL','2773260yoBfca','.cmd','538784EUpBpv'];a306_0x2bc0=function(){return _0x45fd54;};return a306_0x2bc0();}function a306_0x374a(_0x242395,_0x59ebe0){_0x242395=_0x242395-0x148;const _0x2bc069=a306_0x2bc0();let _0x374a7e=_0x2bc069[_0x242395];return _0x374a7e;}const a306_0x2c64da=a306_0x374a;(function(_0x4615c4,_0x251cb2){const _0x379616=a306_0x374a,_0x468058=_0x4615c4();while(!![]){try{const _0x2e50ca=parseInt(_0x379616(0x14a))/0x1*(parseInt(_0x379616(0x14b))/0x2)+-parseInt(_0x379616(0x150))/0x3+parseInt(_0x379616(0x149))/0x4+-parseInt(_0x379616(0x148))/0x5+parseInt(_0x379616(0x14f))/0x6+parseInt(_0x379616(0x151))/0x7+parseInt(_0x379616(0x153))/0x8*(-parseInt(_0x379616(0x14e))/0x9);if(_0x2e50ca===_0x251cb2)break;else _0x468058['push'](_0x468058['shift']());}catch(_0x354e62){_0x468058['push'](_0x468058['shift']());}}}(a306_0x2bc0,0xdb413));export const isWindows=process[a306_0x2c64da(0x14c)]===a306_0x2c64da(0x14d);export function resolveNpmBin(_0x5644a3){const _0x6a92fb=a306_0x2c64da;return isWindows?_0x5644a3+_0x6a92fb(0x152):_0x5644a3;}
1
+ const a320_0x3f487e=a320_0x5df2;function a320_0x83be(){const _0x659173=['110331MxrFTT','54pYaeBJ','820IjvMZr','1298895zfNCZe','1989168LdqlbN','platform','3488586GstQzw','15IvzFWj','740176wRtzlB','win32','3064593ZbavRw','.cmd','15469fDWaIP'];a320_0x83be=function(){return _0x659173;};return a320_0x83be();}function a320_0x5df2(_0x274086,_0x4e004a){_0x274086=_0x274086-0x95;const _0x83be2e=a320_0x83be();let _0x5df2c2=_0x83be2e[_0x274086];return _0x5df2c2;}(function(_0x239836,_0x2cfcdb){const _0x239154=a320_0x5df2,_0xf8a906=_0x239836();while(!![]){try{const _0x86551e=-parseInt(_0x239154(0x9f))/0x1*(parseInt(_0x239154(0xa1))/0x2)+parseInt(_0x239154(0x96))/0x3+-parseInt(_0x239154(0x9b))/0x4*(parseInt(_0x239154(0x9a))/0x5)+parseInt(_0x239154(0x99))/0x6+-parseInt(_0x239154(0x9d))/0x7+-parseInt(_0x239154(0x97))/0x8+-parseInt(_0x239154(0xa0))/0x9*(-parseInt(_0x239154(0x95))/0xa);if(_0x86551e===_0x2cfcdb)break;else _0xf8a906['push'](_0xf8a906['shift']());}catch(_0x113110){_0xf8a906['push'](_0xf8a906['shift']());}}}(a320_0x83be,0x57fca));export const isWindows=process[a320_0x3f487e(0x98)]===a320_0x3f487e(0x9c);export function resolveNpmBin(_0x488eae){const _0x1426a3=a320_0x3f487e;return isWindows?_0x488eae+_0x1426a3(0x9e):_0x488eae;}
@@ -1 +1 @@
1
- export function sleep(_0x1bbf77){return new Promise(_0x2fd309=>setTimeout(_0x2fd309,_0x1bbf77));}
1
+ export function sleep(_0x3795f1){return new Promise(_0x15bc64=>setTimeout(_0x15bc64,_0x3795f1));}
@@ -1 +1 @@
1
- const a308_0x4c5585=a308_0x2e05;(function(_0x549282,_0x4d72d8){const _0x3f889e=a308_0x2e05,_0x1890b0=_0x549282();while(!![]){try{const _0x537944=-parseInt(_0x3f889e(0x7e))/0x1*(-parseInt(_0x3f889e(0xa2))/0x2)+parseInt(_0x3f889e(0x89))/0x3*(-parseInt(_0x3f889e(0x70))/0x4)+parseInt(_0x3f889e(0xaf))/0x5+parseInt(_0x3f889e(0x99))/0x6*(-parseInt(_0x3f889e(0x97))/0x7)+-parseInt(_0x3f889e(0x76))/0x8+parseInt(_0x3f889e(0x6e))/0x9*(-parseInt(_0x3f889e(0x82))/0xa)+parseInt(_0x3f889e(0x9b))/0xb;if(_0x537944===_0x4d72d8)break;else _0x1890b0['push'](_0x1890b0['shift']());}catch(_0x5c3da7){_0x1890b0['push'](_0x1890b0['shift']());}}}(a308_0xc930,0x97b04));import a308_0x1a3b79 from'node:fs';function a308_0x2e05(_0x52c839,_0x34f724){_0x52c839=_0x52c839-0x6a;const _0xc930e0=a308_0xc930();let _0x2e0533=_0xc930e0[_0x52c839];return _0x2e0533;}import a308_0x1fd478 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();function a308_0xc930(){const _0x380d03=['promises','7cESevP','default','1360362fwxzgT','utf8','15273819FPLvzn','pad','extname','tableName','info','alias:\x20\x22','toUpperCase','4610cIhYGR','name','.tsx','datasetCode','formatLocalTimestamp','api','processTemplate','readdir','\x20},','.js','mkdir','Template\x20content\x20replacement\x20failed','.ts','2372590ruYqCL','writeFile','.scss','toComponentName','toDisplayTitle','9OfpdmF','readFile','3698068IUCXgf','isDirectory','copyFile','.md','alias','toLowerCase','2516320mDOUEL','\x0a\x20\x20\x20\x20{\x20','.json','replaceApiContent','.tpl','tableName:\x20\x22','pop','endsWith','235Teaixn','.css','replace','getMonth','3176220FSmxBG','toISOString','join','.jsx','datasetCode:\x20\x22','getMinutes','error','3pkROaa','now','getSeconds','padStart','slice','Starting\x20template\x20content\x20replacement','charAt','replaceContent','template','includes','split','processFile','message'];a308_0xc930=function(){return _0x380d03;};return a308_0xc930();}export class TemplateReplacer{static[a308_0x4c5585(0x9c)](_0x3f0167){const _0x183258=a308_0x4c5585;return String(_0x3f0167)[_0x183258(0x8c)](0x2,'0');}static[a308_0x4c5585(0xa6)](_0x18f9ed){const _0x3890e7=a308_0x4c5585,_0x33798b=_0x18f9ed['getFullYear'](),_0x409f5a=this[_0x3890e7(0x9c)](_0x18f9ed[_0x3890e7(0x81)]()+0x1),_0x58dab0=this[_0x3890e7(0x9c)](_0x18f9ed['getDate']()),_0x2850fd=this[_0x3890e7(0x9c)](_0x18f9ed['getHours']()),_0x57a48f=this[_0x3890e7(0x9c)](_0x18f9ed[_0x3890e7(0x87)]()),_0x43e1fa=this[_0x3890e7(0x9c)](_0x18f9ed[_0x3890e7(0x8b)]());return{'createdAt':_0x33798b+'-'+_0x409f5a+'-'+_0x58dab0+'\x20'+_0x2850fd+':'+_0x57a48f+':'+_0x43e1fa,'createdDate':_0x33798b+'-'+_0x409f5a+'-'+_0x58dab0,'createdTime':_0x2850fd+':'+_0x57a48f+':'+_0x43e1fa};}static['toComponentName'](_0x413c6f){const _0x4a171d=a308_0x4c5585,_0x565a8a=_0x413c6f[_0x4a171d(0x93)]('/')[_0x4a171d(0x7c)]()||_0x413c6f;return _0x565a8a[_0x4a171d(0x93)]('-')['map'](_0x246bd4=>_0x246bd4[_0x4a171d(0x8f)](0x0)[_0x4a171d(0xa1)]()+_0x246bd4['slice'](0x1)['toLowerCase']())[_0x4a171d(0x84)]('');}static[a308_0x4c5585(0x6d)](_0x412a06){const _0x441ce2=a308_0x4c5585,_0x710bea=_0x412a06[_0x441ce2(0x93)]('/')['pop']()||_0x412a06;return _0x710bea['split']('-')['map'](_0x3db81c=>_0x3db81c[_0x441ce2(0x8f)](0x0)['toUpperCase']()+_0x3db81c[_0x441ce2(0x8d)](0x1)[_0x441ce2(0x75)]())[_0x441ce2(0x84)]('\x20');}static[a308_0x4c5585(0x90)](_0x208ae0,_0x409dbc,_0x344aa6){const _0x230dd5=a308_0x4c5585,_0x29595b=this[_0x230dd5(0x6c)](_0x409dbc),_0x5f3c71=this[_0x230dd5(0x6d)](_0x409dbc),{createdAt:_0x1b7101,createdDate:_0x1771bc,createdTime:_0x2622f2}=this['formatLocalTimestamp'](new Date());let _0x51bd52=_0x208ae0[_0x230dd5(0x80)](/\{CliVersion\}/g,CLI_VERSION)['replace'](/\{ComponentName\}/g,_0x29595b)['replace'](/\{DisplayTitle\}/g,_0x5f3c71)[_0x230dd5(0x80)](/\{PageName\}/g,_0x409dbc)[_0x230dd5(0x80)](/\{TemplateName\}/g,_0x344aa6)[_0x230dd5(0x80)](/\{CreatedAt\}/g,_0x1b7101)[_0x230dd5(0x80)](/\{CreatedDate\}/g,_0x1771bc)['replace'](/\{CreatedTime\}/g,_0x2622f2);return _0x51bd52;}static[a308_0x4c5585(0x79)](_0x49451f,_0x3334d7,_0x25aa08,_0x2567b4,_0x4f9cb3,_0x569c13,_0x50a20f,_0x614178){const _0x3e57a=a308_0x4c5585,_0x153e5c=new Date(),_0x225ea7=_0x153e5c[_0x3e57a(0x83)](),_0x31a4ba=_0x25aa08['map'](_0x1cbb76=>{const _0x10629a=_0x3e57a,_0x3702a0=[_0x10629a(0x86)+_0x1cbb76[_0x10629a(0xa5)]+'\x22',_0x10629a(0x7b)+_0x1cbb76[_0x10629a(0x9e)]+'\x22','name:\x20\x22'+_0x1cbb76[_0x10629a(0xa3)]+'\x22'];return _0x1cbb76[_0x10629a(0x74)]&&_0x3702a0['push'](_0x10629a(0xa0)+_0x1cbb76[_0x10629a(0x74)]+'\x22'),_0x10629a(0x77)+_0x3702a0[_0x10629a(0x84)](',\x20')+_0x10629a(0xaa);})['join'](''),_0x55a662=_0x2567b4||_0x25aa08[0x0]?.[_0x3e57a(0x74)]||'YourModel';let _0x3cff91=_0x49451f[_0x3e57a(0x80)](/\{AppCode\}/g,_0x3334d7)[_0x3e57a(0x80)](/\{ModelConfigs\}/g,_0x31a4ba)[_0x3e57a(0x80)](/\{ExampleModelName\}/g,_0x55a662)[_0x3e57a(0x80)](/\{ApiFileName\}/g,_0x4f9cb3||_0x3e57a(0xa7))[_0x3e57a(0x80)](/\{ConfigName\}/g,_0x569c13||_0x3e57a(0x98))[_0x3e57a(0x80)](/\{ClientConfigParam\}/g,_0x50a20f||'')[_0x3e57a(0x80)](/\{VarPrefix\}/g,_0x614178||'LOVRABET')[_0x3e57a(0x80)](/\{CreatedAt\}/g,_0x225ea7);return _0x3cff91;}static async[a308_0x4c5585(0xa8)](_0x54da1c,_0x46d7c2,_0x1e47ea,_0x339457,_0x5b8d8b=!![]){const _0x47ddb3=a308_0x4c5585,_0x23c4e5=Date[_0x47ddb3(0x8a)]();try{_0x5b8d8b&&logger[_0x47ddb3(0x9f)](_0x47ddb3(0x91),_0x47ddb3(0x8e),{'templatePath':_0x54da1c,'targetPath':_0x46d7c2,'pageName':_0x1e47ea,'templateName':_0x339457});await a308_0x1a3b79[_0x47ddb3(0x96)][_0x47ddb3(0xac)](_0x46d7c2,{'recursive':!![]}),await this['processDirectory'](_0x54da1c,_0x46d7c2,_0x1e47ea,_0x339457);if(_0x5b8d8b){const _0x51a9ee=Date[_0x47ddb3(0x8a)]()-_0x23c4e5;logger['success'](_0x47ddb3(0x91),'Template\x20content\x20replacement\x20completed',_0x51a9ee,{'pageName':_0x1e47ea,'templateName':_0x339457});}}catch(_0x348c0a){if(_0x5b8d8b){const _0x290e14=Date[_0x47ddb3(0x8a)]()-_0x23c4e5;logger[_0x47ddb3(0x88)](_0x47ddb3(0x91),_0x47ddb3(0xad),{'templatePath':_0x54da1c,'targetPath':_0x46d7c2,'pageName':_0x1e47ea,'templateName':_0x339457,'error':_0x348c0a instanceof Error?_0x348c0a[_0x47ddb3(0x95)]:String(_0x348c0a),'duration':_0x290e14});}throw _0x348c0a;}}static async['processDirectory'](_0xaa0b80,_0x59637d,_0x5b2b00,_0x2eca9c){const _0x59503a=a308_0x4c5585,_0x583940=await a308_0x1a3b79[_0x59503a(0x96)][_0x59503a(0xa9)](_0xaa0b80,{'withFileTypes':!![]});for(const _0x167ffd of _0x583940){const _0x4f54d2=a308_0x1fd478['join'](_0xaa0b80,_0x167ffd['name']);let _0x4d0d05=a308_0x1fd478[_0x59503a(0x84)](_0x59637d,_0x167ffd['name']);_0x167ffd['name']['endsWith'](_0x59503a(0x7a))&&(_0x4d0d05=a308_0x1fd478['join'](_0x59637d,_0x167ffd['name'][_0x59503a(0x80)](/\.tpl$/,'')));if(_0x167ffd[_0x59503a(0x71)]())await a308_0x1a3b79[_0x59503a(0x96)][_0x59503a(0xac)](_0x4d0d05,{'recursive':!![]}),await this['processDirectory'](_0x4f54d2,_0x4d0d05,_0x5b2b00,_0x2eca9c);else _0x167ffd['isFile']()&&await this['processFile'](_0x4f54d2,_0x4d0d05,_0x5b2b00,_0x2eca9c);}}static async[a308_0x4c5585(0x94)](_0x3a48ef,_0x22e538,_0x5258e2,_0x49f4af){const _0x9a4aa3=a308_0x4c5585,_0x2ed6a1=a308_0x1fd478[_0x9a4aa3(0x9d)](_0x3a48ef)[_0x9a4aa3(0x75)]();_0x3a48ef[_0x9a4aa3(0x7d)](_0x9a4aa3(0x7a))&&(_0x22e538=_0x22e538[_0x9a4aa3(0x80)](/\.tpl$/,''));const _0x286de6=[_0x9a4aa3(0xa4),_0x9a4aa3(0xae),_0x9a4aa3(0x85),_0x9a4aa3(0xab),_0x9a4aa3(0x78),_0x9a4aa3(0x73),_0x9a4aa3(0x7f),_0x9a4aa3(0x6b),_0x9a4aa3(0x7a)];if(_0x286de6[_0x9a4aa3(0x92)](_0x2ed6a1)||_0x3a48ef['endsWith']('.tpl')){const _0x5f11b1=await a308_0x1a3b79[_0x9a4aa3(0x96)][_0x9a4aa3(0x6f)](_0x3a48ef,_0x9a4aa3(0x9a)),_0x5bd06d=this['replaceContent'](_0x5f11b1,_0x5258e2,_0x49f4af);await a308_0x1a3b79['promises'][_0x9a4aa3(0x6a)](_0x22e538,_0x5bd06d,_0x9a4aa3(0x9a));}else await a308_0x1a3b79[_0x9a4aa3(0x96)][_0x9a4aa3(0x72)](_0x3a48ef,_0x22e538);}}
1
+ function a322_0x3132(){const _0x10827d=['Template\x20content\x20replacement\x20failed','getDate','toUpperCase','info','formatLocalTimestamp','82anpZGE','.jsx','toLowerCase','replaceApiContent','copyFile','.js','processFile','3155336NBlgOk','19622pLVXzK','2050GKrXJs','tableName:\x20\x22','getHours','map','tableName','utf8','promises','getMinutes','9315559OQQNyN','.tsx','push','getSeconds','alias','380088fQnyMn','datasetCode:\x20\x22','2531805rbrcgH','toDisplayTitle','pop','pad','split','7nEgFDT','replace','template','getFullYear','api','toComponentName','.json','isFile','4mxEbbI','LOVRABET','now','name','extname','replaceContent','17793gUbkwJ','1115526NUsGEY','charAt','default','join','padStart','slice','.scss','mkdir','.md','12XYJYqN','toISOString','.tpl','.css','\x0a\x20\x20\x20\x20{\x20','includes','processDirectory'];a322_0x3132=function(){return _0x10827d;};return a322_0x3132();}const a322_0x10fd23=a322_0x410c;function a322_0x410c(_0x550353,_0xd18c30){_0x550353=_0x550353-0x18e;const _0x3132e8=a322_0x3132();let _0x410c67=_0x3132e8[_0x550353];return _0x410c67;}(function(_0xa776ca,_0x2ff033){const _0x5af1f9=a322_0x410c,_0x3c227c=_0xa776ca();while(!![]){try{const _0x17e8c4=-parseInt(_0x5af1f9(0x1b0))/0x1*(parseInt(_0x5af1f9(0x1b8))/0x2)+-parseInt(_0x5af1f9(0x1c6))/0x3+parseInt(_0x5af1f9(0x194))/0x4*(parseInt(_0x5af1f9(0x1c8))/0x5)+-parseInt(_0x5af1f9(0x19b))/0x6*(-parseInt(_0x5af1f9(0x1cd))/0x7)+-parseInt(_0x5af1f9(0x1b7))/0x8+-parseInt(_0x5af1f9(0x19a))/0x9*(-parseInt(_0x5af1f9(0x1b9))/0xa)+-parseInt(_0x5af1f9(0x1c1))/0xb*(-parseInt(_0x5af1f9(0x1a4))/0xc);if(_0x17e8c4===_0x2ff033)break;else _0x3c227c['push'](_0x3c227c['shift']());}catch(_0x1b3243){_0x3c227c['push'](_0x3c227c['shift']());}}}(a322_0x3132,0x97145));import a322_0x3e3caf from'node:fs';import a322_0x49b756 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a322_0x10fd23(0x1cb)](_0xee99d0){const _0x1336b6=a322_0x10fd23;return String(_0xee99d0)[_0x1336b6(0x19f)](0x2,'0');}static[a322_0x10fd23(0x1af)](_0x1f791f){const _0xe6381b=a322_0x10fd23,_0x37dfca=_0x1f791f[_0xe6381b(0x18f)](),_0x1b6d83=this['pad'](_0x1f791f['getMonth']()+0x1),_0x32332f=this['pad'](_0x1f791f[_0xe6381b(0x1ac)]()),_0x3d85b3=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1bb)]()),_0x71a54c=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1c0)]()),_0x37da9d=this[_0xe6381b(0x1cb)](_0x1f791f[_0xe6381b(0x1c4)]());return{'createdAt':_0x37dfca+'-'+_0x1b6d83+'-'+_0x32332f+'\x20'+_0x3d85b3+':'+_0x71a54c+':'+_0x37da9d,'createdDate':_0x37dfca+'-'+_0x1b6d83+'-'+_0x32332f,'createdTime':_0x3d85b3+':'+_0x71a54c+':'+_0x37da9d};}static['toComponentName'](_0x2ba54c){const _0x5216b4=a322_0x10fd23,_0x56ac21=_0x2ba54c[_0x5216b4(0x1cc)]('/')[_0x5216b4(0x1ca)]()||_0x2ba54c;return _0x56ac21[_0x5216b4(0x1cc)]('-')['map'](_0x3c1831=>_0x3c1831[_0x5216b4(0x19c)](0x0)[_0x5216b4(0x1ad)]()+_0x3c1831[_0x5216b4(0x1a0)](0x1)[_0x5216b4(0x1b2)]())[_0x5216b4(0x19e)]('');}static[a322_0x10fd23(0x1c9)](_0x5afbc5){const _0x1e24b3=a322_0x10fd23,_0x1c587a=_0x5afbc5[_0x1e24b3(0x1cc)]('/')[_0x1e24b3(0x1ca)]()||_0x5afbc5;return _0x1c587a[_0x1e24b3(0x1cc)]('-')[_0x1e24b3(0x1bc)](_0x2afd70=>_0x2afd70[_0x1e24b3(0x19c)](0x0)[_0x1e24b3(0x1ad)]()+_0x2afd70[_0x1e24b3(0x1a0)](0x1)[_0x1e24b3(0x1b2)]())[_0x1e24b3(0x19e)]('\x20');}static['replaceContent'](_0x1ff0d4,_0x70f474,_0x4e30a3){const _0x5def71=a322_0x10fd23,_0x290f9f=this[_0x5def71(0x191)](_0x70f474),_0xa49948=this[_0x5def71(0x1c9)](_0x70f474),{createdAt:_0x22c5e5,createdDate:_0x106cc4,createdTime:_0x1527d1}=this[_0x5def71(0x1af)](new Date());let _0x495855=_0x1ff0d4[_0x5def71(0x1ce)](/\{CliVersion\}/g,CLI_VERSION)[_0x5def71(0x1ce)](/\{ComponentName\}/g,_0x290f9f)['replace'](/\{DisplayTitle\}/g,_0xa49948)[_0x5def71(0x1ce)](/\{PageName\}/g,_0x70f474)[_0x5def71(0x1ce)](/\{TemplateName\}/g,_0x4e30a3)[_0x5def71(0x1ce)](/\{CreatedAt\}/g,_0x22c5e5)[_0x5def71(0x1ce)](/\{CreatedDate\}/g,_0x106cc4)['replace'](/\{CreatedTime\}/g,_0x1527d1);return _0x495855;}static[a322_0x10fd23(0x1b3)](_0x47ec8c,_0x489769,_0x586af1,_0x149414,_0x2657c8,_0x3488a6,_0x3edfcc,_0x2d850a){const _0x2ab628=a322_0x10fd23,_0x2312cf=new Date(),_0x5d8276=_0x2312cf[_0x2ab628(0x1a5)](),_0x1102fb=_0x586af1[_0x2ab628(0x1bc)](_0x2010d9=>{const _0x43cc59=_0x2ab628,_0x298015=[_0x43cc59(0x1c7)+_0x2010d9['datasetCode']+'\x22',_0x43cc59(0x1ba)+_0x2010d9[_0x43cc59(0x1bd)]+'\x22','name:\x20\x22'+_0x2010d9[_0x43cc59(0x197)]+'\x22'];return _0x2010d9['alias']&&_0x298015[_0x43cc59(0x1c3)]('alias:\x20\x22'+_0x2010d9[_0x43cc59(0x1c5)]+'\x22'),_0x43cc59(0x1a8)+_0x298015[_0x43cc59(0x19e)](',\x20')+'\x20},';})[_0x2ab628(0x19e)](''),_0x372442=_0x149414||_0x586af1[0x0]?.[_0x2ab628(0x1c5)]||'YourModel';let _0xbd92c7=_0x47ec8c['replace'](/\{AppCode\}/g,_0x489769)['replace'](/\{ModelConfigs\}/g,_0x1102fb)[_0x2ab628(0x1ce)](/\{ExampleModelName\}/g,_0x372442)['replace'](/\{ApiFileName\}/g,_0x2657c8||_0x2ab628(0x190))[_0x2ab628(0x1ce)](/\{ConfigName\}/g,_0x3488a6||_0x2ab628(0x19d))[_0x2ab628(0x1ce)](/\{ClientConfigParam\}/g,_0x3edfcc||'')['replace'](/\{VarPrefix\}/g,_0x2d850a||_0x2ab628(0x195))[_0x2ab628(0x1ce)](/\{CreatedAt\}/g,_0x5d8276);return _0xbd92c7;}static async['processTemplate'](_0x1dc3e4,_0x3aadd6,_0x32b91e,_0x104c44,_0x4d6494=!![]){const _0x5250ee=a322_0x10fd23,_0x1765cb=Date[_0x5250ee(0x196)]();try{_0x4d6494&&logger[_0x5250ee(0x1ae)](_0x5250ee(0x18e),'Starting\x20template\x20content\x20replacement',{'templatePath':_0x1dc3e4,'targetPath':_0x3aadd6,'pageName':_0x32b91e,'templateName':_0x104c44});await a322_0x3e3caf[_0x5250ee(0x1bf)][_0x5250ee(0x1a2)](_0x3aadd6,{'recursive':!![]}),await this['processDirectory'](_0x1dc3e4,_0x3aadd6,_0x32b91e,_0x104c44);if(_0x4d6494){const _0x2f35ed=Date[_0x5250ee(0x196)]()-_0x1765cb;logger['success'](_0x5250ee(0x18e),'Template\x20content\x20replacement\x20completed',_0x2f35ed,{'pageName':_0x32b91e,'templateName':_0x104c44});}}catch(_0x42b40d){if(_0x4d6494){const _0x4e8f93=Date[_0x5250ee(0x196)]()-_0x1765cb;logger['error'](_0x5250ee(0x18e),_0x5250ee(0x1ab),{'templatePath':_0x1dc3e4,'targetPath':_0x3aadd6,'pageName':_0x32b91e,'templateName':_0x104c44,'error':_0x42b40d instanceof Error?_0x42b40d['message']:String(_0x42b40d),'duration':_0x4e8f93});}throw _0x42b40d;}}static async[a322_0x10fd23(0x1aa)](_0x244b93,_0xfa1e56,_0x308423,_0x2aac10){const _0x3cfbd6=a322_0x10fd23,_0x1e8a1c=await a322_0x3e3caf[_0x3cfbd6(0x1bf)]['readdir'](_0x244b93,{'withFileTypes':!![]});for(const _0x326248 of _0x1e8a1c){const _0x4540a6=a322_0x49b756[_0x3cfbd6(0x19e)](_0x244b93,_0x326248[_0x3cfbd6(0x197)]);let _0x354c51=a322_0x49b756[_0x3cfbd6(0x19e)](_0xfa1e56,_0x326248[_0x3cfbd6(0x197)]);_0x326248['name']['endsWith']('.tpl')&&(_0x354c51=a322_0x49b756[_0x3cfbd6(0x19e)](_0xfa1e56,_0x326248['name'][_0x3cfbd6(0x1ce)](/\.tpl$/,'')));if(_0x326248['isDirectory']())await a322_0x3e3caf[_0x3cfbd6(0x1bf)][_0x3cfbd6(0x1a2)](_0x354c51,{'recursive':!![]}),await this[_0x3cfbd6(0x1aa)](_0x4540a6,_0x354c51,_0x308423,_0x2aac10);else _0x326248[_0x3cfbd6(0x193)]()&&await this[_0x3cfbd6(0x1b6)](_0x4540a6,_0x354c51,_0x308423,_0x2aac10);}}static async[a322_0x10fd23(0x1b6)](_0x24128d,_0x13bccd,_0x521641,_0x5b4827){const _0x150bcf=a322_0x10fd23,_0x115805=a322_0x49b756[_0x150bcf(0x198)](_0x24128d)[_0x150bcf(0x1b2)]();_0x24128d['endsWith'](_0x150bcf(0x1a6))&&(_0x13bccd=_0x13bccd['replace'](/\.tpl$/,''));const _0x49e6aa=[_0x150bcf(0x1c2),'.ts',_0x150bcf(0x1b1),_0x150bcf(0x1b5),_0x150bcf(0x192),_0x150bcf(0x1a3),_0x150bcf(0x1a7),_0x150bcf(0x1a1),_0x150bcf(0x1a6)];if(_0x49e6aa[_0x150bcf(0x1a9)](_0x115805)||_0x24128d['endsWith'](_0x150bcf(0x1a6))){const _0x4bf4b4=await a322_0x3e3caf[_0x150bcf(0x1bf)]['readFile'](_0x24128d,_0x150bcf(0x1be)),_0x534e1a=this[_0x150bcf(0x199)](_0x4bf4b4,_0x521641,_0x5b4827);await a322_0x3e3caf['promises']['writeFile'](_0x13bccd,_0x534e1a,'utf8');}else await a322_0x3e3caf[_0x150bcf(0x1bf)][_0x150bcf(0x1b4)](_0x24128d,_0x13bccd);}}
@@ -1 +1 @@
1
- function a309_0x2907(){const _0x45f6de=['114VnRjdd','latest','number','\x20update','yes','.cache','10JmYXbg','1107090auKMOU','toLowerCase','3517065yauRUC','64epdoOa','6314315fiUJfs','stringify','valid','14BkNyag','update-check.json','/v/','\x20available,\x20current\x20','lastNotifiedAt','lastNotifiedVersion','checkedAt','utf8','185591uaCTAN','true','5747088bnJYwM','object','stableVersion','295708idrlyo','14569357AmZMVt','https://www.npmjs.com/package/','trim','parse',',\x20run:\x20'];a309_0x2907=function(){return _0x45f6de;};return a309_0x2907();}(function(_0x49e95b,_0x42d56d){const _0x4f513c=a309_0x4368,_0x2465ab=_0x49e95b();while(!![]){try{const _0x30cd3a=parseInt(_0x4f513c(0x9a))/0x1*(parseInt(_0x4f513c(0x92))/0x2)+parseInt(_0x4f513c(0xae))/0x3+-parseInt(_0x4f513c(0x9c))/0x4+parseInt(_0x4f513c(0xb0))/0x5+-parseInt(_0x4f513c(0xa5))/0x6*(-parseInt(_0x4f513c(0x9f))/0x7)+-parseInt(_0x4f513c(0xaf))/0x8*(parseInt(_0x4f513c(0xac))/0x9)+parseInt(_0x4f513c(0xab))/0xa*(-parseInt(_0x4f513c(0xa0))/0xb);if(_0x30cd3a===_0x42d56d)break;else _0x2465ab['push'](_0x2465ab['shift']());}catch(_0x48936b){_0x2465ab['push'](_0x2465ab['shift']());}}}(a309_0x2907,0xc1464));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a309_0xd54da3 from'semver';function a309_0x4368(_0x3d5b93,_0x4bb829){_0x3d5b93=_0x3d5b93-0x90;const _0x2907f8=a309_0x2907();let _0x43683f=_0x2907f8[_0x3d5b93];return _0x43683f;}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x17a5f8=a309_0x4368,_0x24d5b5=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x17a5f8(0xa2)]()[_0x17a5f8(0xad)]();return _0x24d5b5==='1'||_0x24d5b5===_0x17a5f8(0x9b)||_0x24d5b5===_0x17a5f8(0xa9);}function cacheRoot(){const _0x48ece5=a309_0x4368;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x48ece5(0xaa));}export function getUpdateNoticeCachePath(){const _0x291537=a309_0x4368;return join(cacheRoot(),'rabetbase-cli',_0x291537(0x93));}async function readUpdateNoticeCache(){const _0x37c5ea=a309_0x4368;try{const _0x19a907=await readFile(getUpdateNoticeCachePath(),_0x37c5ea(0x99)),_0x23201e=JSON[_0x37c5ea(0xa3)](_0x19a907);if(!_0x23201e||typeof _0x23201e!==_0x37c5ea(0x9d))return{};return _0x23201e;}catch{return{};}}async function writeUpdateNoticeCache(_0x17f9d2){const _0x49755b=a309_0x4368;try{const _0x10e3b6=getUpdateNoticeCachePath();await mkdir(dirname(_0x10e3b6),{'recursive':!![]}),await writeFile(_0x10e3b6,JSON[_0x49755b(0x90)](_0x17f9d2,null,0x2)+'\x0a',_0x49755b(0x99));}catch{}}function isFreshCheck(_0x157fd4,_0x400c31){const _0x24d858=a309_0x4368;return typeof _0x157fd4[_0x24d858(0x98)]===_0x24d858(0xa7)&&_0x400c31-_0x157fd4[_0x24d858(0x98)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x592654,_0xb45f16,_0x24847b){const _0x39ba75=a309_0x4368;return _0x592654[_0x39ba75(0x97)]===_0xb45f16&&typeof _0x592654[_0x39ba75(0x96)]==='number'&&_0x24847b-_0x592654[_0x39ba75(0x96)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1102a2){const _0x41977b=a309_0x4368;return _0x41977b(0xa1)+NPM_PACKAGE_NAME+_0x41977b(0x94)+_0x1102a2;}export async function resolveLatestUpdateNotice(){const _0x46197a=a309_0x4368;if(isUpdateNoticeDisabled())return null;try{const _0x343b8f=Date['now'](),_0x3ea9f8=getCliVersion(),_0x145e31=await readUpdateNoticeCache();let _0x309561=isFreshCheck(_0x145e31,_0x343b8f)?_0x145e31[_0x46197a(0xa6)]?.[_0x46197a(0xa2)]():undefined;if(!_0x309561&&!isFreshCheck(_0x145e31,_0x343b8f)){const _0x232683=await getCliVersionPolicy();_0x309561=_0x232683?.[_0x46197a(0x9e)]?.[_0x46197a(0xa2)]()||undefined,await writeUpdateNoticeCache({..._0x145e31,'checkedAt':_0x343b8f,'latest':_0x309561,'failed':!_0x309561});}if(!_0x309561||!a309_0xd54da3['valid'](_0x3ea9f8)||!a309_0xd54da3[_0x46197a(0x91)](_0x309561))return null;if(a309_0xd54da3['gte'](_0x3ea9f8,_0x309561))return null;if(isRecentlyNotified(_0x145e31,_0x309561,_0x343b8f))return null;const _0xeb492=CLI_BIN_NAME+_0x46197a(0xa8);return await writeUpdateNoticeCache({..._0x145e31,'checkedAt':isFreshCheck(_0x145e31,_0x343b8f)?_0x145e31[_0x46197a(0x98)]:_0x343b8f,'latest':_0x309561,'failed':![],'lastNotifiedVersion':_0x309561,'lastNotifiedAt':_0x343b8f}),{'command':_0xeb492,'current':_0x3ea9f8,'latest':_0x309561,'url':buildNpmVersionUrl(_0x309561),'message':CLI_BIN_NAME+'\x20'+_0x309561+_0x46197a(0x95)+_0x3ea9f8+_0x46197a(0xa4)+_0xeb492};}catch{return null;}}
1
+ (function(_0x3d0c04,_0x23d411){const _0x37681e=a323_0x3a62,_0x655843=_0x3d0c04();while(!![]){try{const _0x45835c=parseInt(_0x37681e(0x155))/0x1+-parseInt(_0x37681e(0x147))/0x2*(-parseInt(_0x37681e(0x142))/0x3)+-parseInt(_0x37681e(0x15f))/0x4*(-parseInt(_0x37681e(0x154))/0x5)+-parseInt(_0x37681e(0x151))/0x6+-parseInt(_0x37681e(0x14e))/0x7*(-parseInt(_0x37681e(0x14d))/0x8)+parseInt(_0x37681e(0x156))/0x9*(-parseInt(_0x37681e(0x158))/0xa)+-parseInt(_0x37681e(0x152))/0xb*(parseInt(_0x37681e(0x15c))/0xc);if(_0x45835c===_0x23d411)break;else _0x655843['push'](_0x655843['shift']());}catch(_0x2ff533){_0x655843['push'](_0x655843['shift']());}}}(a323_0x5b14,0x7d77a));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a323_0x136e3b from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x21b41e=a323_0x3a62,_0x41c50c=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x21b41e(0x15b)]()[_0x21b41e(0x150)]();return _0x41c50c==='1'||_0x41c50c===_0x21b41e(0x15e)||_0x41c50c===_0x21b41e(0x145);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}function a323_0x3a62(_0x290a29,_0x13edc1){_0x290a29=_0x290a29-0x142;const _0x5b14ed=a323_0x5b14();let _0x3a6281=_0x5b14ed[_0x290a29];return _0x3a6281;}export function getUpdateNoticeCachePath(){const _0x18c0a3=a323_0x3a62;return join(cacheRoot(),'rabetbase-cli',_0x18c0a3(0x157));}async function readUpdateNoticeCache(){const _0x4eb87d=a323_0x3a62;try{const _0x3c416c=await readFile(getUpdateNoticeCachePath(),_0x4eb87d(0x14c)),_0x2b2c29=JSON['parse'](_0x3c416c);if(!_0x2b2c29||typeof _0x2b2c29!==_0x4eb87d(0x148))return{};return _0x2b2c29;}catch{return{};}}function a323_0x5b14(){const _0x4fb2fa=['756544MyieXY','49trSNZZ','now','toLowerCase','5269176YyvTVv','22xAgSHR','checkedAt','3995890wVrXjt','130160RWwXlR','36QmLawc','update-check.json','556340lPQQhp','latest','lastNotifiedVersion','trim','51036znEaVx','number','true','4Ygvusn','47757zTGmHk','lastNotifiedAt','valid','yes','stringify','4VqYsDK','object','https://www.npmjs.com/package/','stableVersion','\x20available,\x20current\x20','utf8'];a323_0x5b14=function(){return _0x4fb2fa;};return a323_0x5b14();}async function writeUpdateNoticeCache(_0x25583c){const _0x3e274e=a323_0x3a62;try{const _0x3ec760=getUpdateNoticeCachePath();await mkdir(dirname(_0x3ec760),{'recursive':!![]}),await writeFile(_0x3ec760,JSON[_0x3e274e(0x146)](_0x25583c,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x9ecead,_0x32bf94){const _0x13e223=a323_0x3a62;return typeof _0x9ecead[_0x13e223(0x153)]===_0x13e223(0x15d)&&_0x32bf94-_0x9ecead[_0x13e223(0x153)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x3dad05,_0x89fbb2,_0x27936f){const _0x4ab023=a323_0x3a62;return _0x3dad05[_0x4ab023(0x15a)]===_0x89fbb2&&typeof _0x3dad05[_0x4ab023(0x143)]===_0x4ab023(0x15d)&&_0x27936f-_0x3dad05['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x4357ef){const _0x54b592=a323_0x3a62;return _0x54b592(0x149)+NPM_PACKAGE_NAME+'/v/'+_0x4357ef;}export async function resolveLatestUpdateNotice(){const _0x447801=a323_0x3a62;if(isUpdateNoticeDisabled())return null;try{const _0x4ecda8=Date[_0x447801(0x14f)](),_0x2aff05=getCliVersion(),_0x262a88=await readUpdateNoticeCache();let _0xc60623=isFreshCheck(_0x262a88,_0x4ecda8)?_0x262a88[_0x447801(0x159)]?.['trim']():undefined;if(!_0xc60623&&!isFreshCheck(_0x262a88,_0x4ecda8)){const _0x3683d1=await getCliVersionPolicy();_0xc60623=_0x3683d1?.[_0x447801(0x14a)]?.[_0x447801(0x15b)]()||undefined,await writeUpdateNoticeCache({..._0x262a88,'checkedAt':_0x4ecda8,'latest':_0xc60623,'failed':!_0xc60623});}if(!_0xc60623||!a323_0x136e3b['valid'](_0x2aff05)||!a323_0x136e3b[_0x447801(0x144)](_0xc60623))return null;if(a323_0x136e3b['gte'](_0x2aff05,_0xc60623))return null;if(isRecentlyNotified(_0x262a88,_0xc60623,_0x4ecda8))return null;const _0x310e0e=CLI_BIN_NAME+'\x20update';return await writeUpdateNoticeCache({..._0x262a88,'checkedAt':isFreshCheck(_0x262a88,_0x4ecda8)?_0x262a88['checkedAt']:_0x4ecda8,'latest':_0xc60623,'failed':![],'lastNotifiedVersion':_0xc60623,'lastNotifiedAt':_0x4ecda8}),{'command':_0x310e0e,'current':_0x2aff05,'latest':_0xc60623,'url':buildNpmVersionUrl(_0xc60623),'message':CLI_BIN_NAME+'\x20'+_0xc60623+_0x447801(0x14b)+_0x2aff05+',\x20run:\x20'+_0x310e0e};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x20609c,_0x93d62e){var _0x50096c=a310_0x3c20,_0x5eee45=_0x20609c();while(!![]){try{var _0x21a3e9=parseInt(_0x50096c(0x91))/0x1*(parseInt(_0x50096c(0x90))/0x2)+parseInt(_0x50096c(0x8b))/0x3*(-parseInt(_0x50096c(0x8c))/0x4)+parseInt(_0x50096c(0x8f))/0x5+parseInt(_0x50096c(0x94))/0x6*(parseInt(_0x50096c(0x8a))/0x7)+-parseInt(_0x50096c(0x8d))/0x8*(-parseInt(_0x50096c(0x89))/0x9)+-parseInt(_0x50096c(0x88))/0xa*(parseInt(_0x50096c(0x93))/0xb)+parseInt(_0x50096c(0x92))/0xc*(parseInt(_0x50096c(0x8e))/0xd);if(_0x21a3e9===_0x93d62e)break;else _0x5eee45['push'](_0x5eee45['shift']());}catch(_0x4876fa){_0x5eee45['push'](_0x5eee45['shift']());}}}(a310_0x923e,0x6d82b));import{VERSION}from'../generated/build-info.js';function a310_0x3c20(_0x51dfb2,_0x2217b1){_0x51dfb2=_0x51dfb2-0x88;var _0x923ecb=a310_0x923e();var _0x3c20f8=_0x923ecb[_0x51dfb2];return _0x3c20f8;}function a310_0x923e(){var _0x16b703=['1588027oKdKiQ','2569743vYDkMJ','4GjnmnS','3056392GRHTEK','13lcUSDx','1110070uEQuKq','1738wbzPnk','649JufcOA','1735248KwJpSt','2266UMiPhQ','12fkDAOt','22390IRHBcL','9dRThlY'];a310_0x923e=function(){return _0x16b703;};return a310_0x923e();}export function getCliVersion(){return VERSION;}
1
+ function a324_0x46fb(_0x386b07,_0x3f702a){_0x386b07=_0x386b07-0x134;var _0x469e18=a324_0x469e();var _0x46fbfd=_0x469e18[_0x386b07];return _0x46fbfd;}(function(_0x3860a7,_0x5e2dd5){var _0x280f8f=a324_0x46fb,_0x1d167c=_0x3860a7();while(!![]){try{var _0x5045e4=parseInt(_0x280f8f(0x13b))/0x1*(-parseInt(_0x280f8f(0x137))/0x2)+parseInt(_0x280f8f(0x13d))/0x3+-parseInt(_0x280f8f(0x136))/0x4*(parseInt(_0x280f8f(0x13a))/0x5)+-parseInt(_0x280f8f(0x13e))/0x6*(parseInt(_0x280f8f(0x134))/0x7)+parseInt(_0x280f8f(0x138))/0x8+-parseInt(_0x280f8f(0x13c))/0x9*(-parseInt(_0x280f8f(0x139))/0xa)+parseInt(_0x280f8f(0x135))/0xb;if(_0x5045e4===_0x5e2dd5)break;else _0x1d167c['push'](_0x1d167c['shift']());}catch(_0x165290){_0x1d167c['push'](_0x1d167c['shift']());}}}(a324_0x469e,0x2745f));function a324_0x469e(){var _0x236b71=['10892yzPkru','1408869YBpTFS','111260IkNeBF','111898CgtKJV','2249392ZSzOtT','210xjsefL','55BlPwDU','3ChRIxV','95616XMrafy','539106lQRdSd','684ZhtSUV'];a324_0x469e=function(){return _0x236b71;};return a324_0x469e();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- (function(_0x3dac68,_0x571e9d){var _0x3a589c=a311_0x2c4d,_0x5c5d9b=_0x3dac68();while(!![]){try{var _0x3c1b94=parseInt(_0x3a589c(0x16d))/0x1+parseInt(_0x3a589c(0x16e))/0x2+-parseInt(_0x3a589c(0x168))/0x3+parseInt(_0x3a589c(0x16b))/0x4*(parseInt(_0x3a589c(0x167))/0x5)+-parseInt(_0x3a589c(0x16a))/0x6+parseInt(_0x3a589c(0x16f))/0x7*(parseInt(_0x3a589c(0x16c))/0x8)+-parseInt(_0x3a589c(0x169))/0x9;if(_0x3c1b94===_0x571e9d)break;else _0x5c5d9b['push'](_0x5c5d9b['shift']());}catch(_0x232221){_0x5c5d9b['push'](_0x5c5d9b['shift']());}}}(a311_0x622b,0x51def));function a311_0x2c4d(_0x13d1e5,_0x4f8e06){_0x13d1e5=_0x13d1e5-0x167;var _0x622bf8=a311_0x622b();var _0x2c4dda=_0x622bf8[_0x13d1e5];return _0x2c4dda;}function a311_0x622b(){var _0x2223da=['3338532kbhewE','1863908zqYjqW','19056UYYLJP','625404fkkmoj','915392MPuDzl','1953qFyiDR','5NWXKjo','1542900LkZfnz','7268310qcGETd'];a311_0x622b=function(){return _0x2223da;};return a311_0x622b();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x4fbbec,_0x3cdbf1){setActiveCookie(_0x4fbbec);try{return await _0x3cdbf1();}finally{clearActiveCookie();}}
1
+ (function(_0x454a39,_0x303fdb){var _0x14ddf6=a325_0x7d97,_0x394ab4=_0x454a39();while(!![]){try{var _0x11687a=parseInt(_0x14ddf6(0x108))/0x1*(parseInt(_0x14ddf6(0x10f))/0x2)+parseInt(_0x14ddf6(0x110))/0x3+parseInt(_0x14ddf6(0x10b))/0x4+-parseInt(_0x14ddf6(0x10e))/0x5*(-parseInt(_0x14ddf6(0x10a))/0x6)+parseInt(_0x14ddf6(0x10d))/0x7+parseInt(_0x14ddf6(0x109))/0x8+-parseInt(_0x14ddf6(0x10c))/0x9;if(_0x11687a===_0x303fdb)break;else _0x394ab4['push'](_0x394ab4['shift']());}catch(_0x34aedc){_0x394ab4['push'](_0x394ab4['shift']());}}}(a325_0x2ff5,0x8bf40));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a325_0x2ff5(){var _0x4b63de=['6421282OthXyy','3681270fFyAlM','495422rzgdqN','2842308rlSjno','2YcBpVA','366984yiwjfa','6wtvTVu','864516mvqIlq','25066728FjCCyw'];a325_0x2ff5=function(){return _0x4b63de;};return a325_0x2ff5();}function a325_0x7d97(_0x567ae1,_0x575486){_0x567ae1=_0x567ae1-0x108;var _0x2ff581=a325_0x2ff5();var _0x7d973e=_0x2ff581[_0x567ae1];return _0x7d973e;}export async function withActiveCookie(_0x27b3df,_0x3c46ff){setActiveCookie(_0x27b3df);try{return await _0x3c46ff();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- (function(_0x4b099a,_0x26e175){var _0x281bee=a312_0x675d,_0x5ebb20=_0x4b099a();while(!![]){try{var _0x503803=parseInt(_0x281bee(0x17b))/0x1*(-parseInt(_0x281bee(0x17d))/0x2)+-parseInt(_0x281bee(0x183))/0x3*(-parseInt(_0x281bee(0x185))/0x4)+-parseInt(_0x281bee(0x186))/0x5*(-parseInt(_0x281bee(0x182))/0x6)+-parseInt(_0x281bee(0x17c))/0x7+parseInt(_0x281bee(0x17f))/0x8*(parseInt(_0x281bee(0x188))/0x9)+parseInt(_0x281bee(0x181))/0xa*(-parseInt(_0x281bee(0x187))/0xb)+parseInt(_0x281bee(0x17e))/0xc;if(_0x503803===_0x26e175)break;else _0x5ebb20['push'](_0x5ebb20['shift']());}catch(_0xf19d87){_0x5ebb20['push'](_0x5ebb20['shift']());}}}(a312_0x3080,0x9659c));function a312_0x3080(){var _0x5b1fb1=['5329258IsetxL','7088751YWeaQX','1ZEsYMY','5149543rOqQGo','2316838tLrqtQ','18234816BAHeEO','8fTdnQV','stderr','20XvBzhg','89022WQLhTA','3SVUVYM','write','3440304jaBxIF','105GuvaAR'];a312_0x3080=function(){return _0x5b1fb1;};return a312_0x3080();}function a312_0x675d(_0x129ec1,_0x192bdc){_0x129ec1=_0x129ec1-0x17b;var _0x3080ce=a312_0x3080();var _0x675df7=_0x3080ce[_0x129ec1];return _0x675df7;}export function writeCliSideChannelLine(_0xd7f08c){var _0x239604=a312_0x675d;process[_0x239604(0x180)][_0x239604(0x184)](_0xd7f08c+'\x0a');}
1
+ (function(_0x22cb77,_0x534c09){var _0x38bee4=a326_0x5b54,_0x2923a9=_0x22cb77();while(!![]){try{var _0x25fd2c=parseInt(_0x38bee4(0x13c))/0x1+parseInt(_0x38bee4(0x139))/0x2+parseInt(_0x38bee4(0x138))/0x3+parseInt(_0x38bee4(0x13a))/0x4+parseInt(_0x38bee4(0x137))/0x5+parseInt(_0x38bee4(0x136))/0x6+-parseInt(_0x38bee4(0x135))/0x7;if(_0x25fd2c===_0x534c09)break;else _0x2923a9['push'](_0x2923a9['shift']());}catch(_0x482a12){_0x2923a9['push'](_0x2923a9['shift']());}}}(a326_0x3024,0x5d962));function a326_0x5b54(_0x33f6ac,_0xc099ad){_0x33f6ac=_0x33f6ac-0x135;var _0x302488=a326_0x3024();var _0x5b5487=_0x302488[_0x33f6ac];return _0x5b5487;}export function writeCliSideChannelLine(_0xd2f3d2){var _0xd97cfb=a326_0x5b54;process[_0xd97cfb(0x13d)][_0xd97cfb(0x13b)](_0xd2f3d2+'\x0a');}function a326_0x3024(){var _0x487371=['339044NTPBBa','stderr','17600128bDwWLI','1748226acTKaB','3776715wKxyth','2259438lrDypS','341144MApZIk','2352632xiVZYS','write'];a326_0x3024=function(){return _0x487371;};return a326_0x3024();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.1",
3
+ "version": "2.5.2-beta.2",
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,7 +1,7 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.1
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, 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, 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."
3
+ version: 2.5.2-beta.2
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:
7
7
  bins: ["rabetbase"]
@@ -29,6 +29,7 @@ metadata:
29
29
  9. **本地 SQL / Backend Function 目录**:新建或长期维护的源文件应落在 CLI 与 `bff status` / `sql pull` 一致的路径,避免写在 `src/`、`queries/` 等随意目录后再迁移。
30
30
  - **SQL**:项目根 **`.rabetbase/sql/<appCode>/<dbName|db-<id>>/<sqlCode>_<sqlName>.sql|xml`**;草稿或人工兜底可放 `.draft.sql`。`sql create` / `sql pull` / `sql push` / `sql status` 默认围绕这套目录与 `.rabetbase/sql.lock.json` 工作。
31
31
  - **Backend Function**:**`.rabetbase/bff/<appCode>/...`**(由 `bff create` 创建或 `bff pull` 同步;与 `bff status` / `bff push` 扫描范围一致)。详见 [`guides/sql-creation-workflow.md`](guides/sql-creation-workflow.md)、[`guides/bff-creation-workflow.md`](guides/bff-creation-workflow.md)。
32
+ - **Instant API Policy**:**`.rabetbase/instant-api-policy/<appCode>/policy.json`**。`instant-api-policy init/pull/validate/publish` 只读取或写入这一固定文件,不接受任意 `--file`。
32
33
  10. **运行态查数显式交接** — `rabetbase` 只负责 Dataset 结构与研发发布。不需要真实行数据时,`lovrabet` CLI 可以不装。一旦要验证真实业务行数据,必须交接给 **`lovrabet data filter/getOne`**;不可用时报告阻断并提示安装 `lovrabet` Skill 与 CLI。不要调用已移除的 `rabetbase data filter/getOne`,也不要由本 Skill 静默安装或修复运行态 CLI。`rabetbase sql exec` 只验证已发布 SQL,不是行数据查询的通用替代。详见 [`guides/data-api-guidelines.md`](guides/data-api-guidelines.md)。
33
34
 
34
35
  ## Skill Freshness
@@ -53,7 +54,7 @@ metadata:
53
54
  - 需要了解数据集关联关系时用 `rabetbase dataset relations --format compress`(或 `json`);需要审计关系事实错误和人工复核项时用 `rabetbase dataset relation-audit --format compress`
54
55
  - 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
55
56
  - **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
56
- - **为独立部署局部同步研发元数据**时用 [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md);CLI 只调用带 appCode 开关检查的同步接口,未开启时服务端正常跳过;日常非生产 BFF/SQL 变更可在用户明确要求后配置 push 后置同步,生产、直连和 Dataset 保持显式确认
57
+ - **为独立部署同步研发元数据**时读 [`deployment sync`](references/rabetbase-deployment-sync.md):局部同步使用精确 type/codes;需要同步当前应用全部已支持研发元数据时使用 `deployment sync-all`;提交成功后按 jobId 查询状态,提交结果未知时用 `sync-jobs` 恢复任务事实
57
58
  - DBAgent 增量分析默认先执行一次异步差异刷新:调用 `db diff-refresh-start`,保存 traceId,并用 `db diff-refresh-status` 查询同一任务到终态;成功后按原始意图执行 `db diff --all`(差异表)或 `db tables`(全部表)。无论 `tableCount` 大小都执行刷新;只有用户明确表示“不需要分析”“不刷新”或“只看现有结果”时才跳过异步刷新,并说明结果可能不是最新事实
58
59
  - 需要查看全部表(含无差异表)或主动重新分析既有表时,用 `db tables`;它固定聚合全表分页。`db diff --all` 只聚合全部差异分页
59
60
  - DB 增量分析先对完整 `toAnalyzeTables` 执行 `db analyze-batch-plan`;它生成的是本地批次方案,不是服务端 `planId`,也不会创建任务。再严格按批次顺序启动;每批独立保存 `planId`(即 `analyze-start` 返回值),当前批次到达已知终态前不得启动下一批
@@ -61,6 +62,7 @@ metadata:
61
62
  - 输出很大且只需子集时,在 `compress`/`json` 上加 `--jq '.data…'` 缩小结果
62
63
  - 需要真实业务行数据时必须交接给 `lovrabet data filter/getOne`;`lovrabet` 不可用时报告阻断并提示安装 Skill 与 CLI,不要静默安装或修复,也不要用 `rabetbase sql exec` 当行数据替代,见 [`guides/data-api-guidelines.md`](guides/data-api-guidelines.md)
63
64
  - 需要 `src/api/api.ts` / `client.ts` 时:先 `rabetbase api pull --format compress` 取 `data.models`、`data.files`、`data.needsAgentMerge`,再按 [`sdk-client-generation.md`](guides/sdk-client-generation.md) 更新 TypeScript。`api pull` 默认**不会覆盖已有** `api.ts`/`client.ts`;只有用户明确要求放弃本地定制并完整重建时才使用 `--force --yes`
65
+ - 需要按 Dataset + API 配置 Instant API 的 `allow`、`deny` 或 `route` 时,先读取 [`rabetbase-instant-api-policy.md`](references/rabetbase-instant-api-policy.md),只编辑固定 `policy.json`,随后依次执行 `validate`、`publish --dry-run`,经人工确认后再正式发布
64
66
  3. **SQL 工作流严格分步**
65
67
  - 推荐路径:查现有(`sql list/detail`) 或新建(`sql create`) → 拉/落本地(`sql pull` / `sql create`) → 编辑同步目录文件 → 可选校验(`sql validate`) → 检查状态(`sql status`) → 先预览(`sql push --dry-run` / `sql delete --dry-run`) → 再 `sql push` / `sql delete` → `sql detail` / `sql exec` 验证
66
68
  - 先使用 `sql list/detail` 查找可复用的 Custom SQL;没有满足需求的资源时,按照 [`sql-creation-workflow.md`](guides/sql-creation-workflow.md) 与 [`sql-mybatis.md`](guides/sql-mybatis.md) 创建、校验、发布并验证
@@ -195,7 +197,7 @@ metadata:
195
197
  - **不要猜字段名** — 必须从 `dataset detail` 返回值获取真实字段名、类型、枚举值
196
198
  - **不要跳过 validate 与 dry-run** — 修改已有 SQL 并准备 `sql push` 前,必须先跑 `sql validate`;创建 SQL 或执行高风险同步前至少确认过 `sql create --dry-run`、`sql push --dry-run` 或 `sql delete --dry-run` 的预览
197
199
  - **不要手动拼 API URL** — 所有操作通过 CLI 命令完成,不要直接调 HTTP 接口
198
- - **不要自动重提局部部署同步** — `deployment sync` 部分失败时保留逐项结果交给用户判断;结果不确定时先人工核对目标端,不得把非零退出误报为全部成功或直接重试
200
+ - **不要自动重提部署同步**局部同步部分失败时保留逐项结果;应用范围提交结果不确定时先用 `deployment sync-jobs` 恢复任务事实,不得把非零退出误报为全部成功或直接重试
199
201
  - **不要向产品用户展开研发实现** — 回答角色权限操作时,不输出工程仓库、Controller、数据库表、接口路径、MR 排查或迁移过程;只说明 CLI 命令、角色边界、风险和可验证结果
200
202
  - **不要臆测 sqlCode / id** — 从 `sql list` 或 `bff list` 获取真实标识
201
203
  - **不要臆测 dblink id 或分析 trace/plan id** — 从 `db list` / `db detail` / `db analyze-start` 的返回字段获取(见 [database-connection-workflow.md](guides/database-connection-workflow.md))
@@ -208,6 +210,7 @@ metadata:
208
210
  - **不要跳过 Dataset rename 最终线上回查** — 连续重命名后必须按 code 重新查询线上名称,不能只相信本地 plan 或 dry-run
209
211
  - **不要把 MCP 工具名当 CLI 命令** — 使用 `rabetbase sql list`,不是 `list_sql_queries`
210
212
  - **不要擅自加 `--global`** — 见上文「配置作用域原则」;默认写项目、读合并;仅在用户明确要求或文档说明的场景使用 `--global`。
213
+ - **不要为 Instant API Policy 传任意文件路径或写入 app-config** — 策略只使用 `.rabetbase/instant-api-policy/<appCode>/policy.json` 与独立策略接口;发布和回滚前必须校验并预览。
211
214
 
212
215
  ## 接口选型优先级
213
216
 
@@ -316,6 +319,7 @@ const result = await client.bff.execute<DashboardData>({
316
319
  | 修改配置文件 | [`rabetbase config set <key> <value>`](references/rabetbase-config.md) | 默认写项目;无项目配置且未 `--global` 会拒绝;`--global` 写 `~/.rabetbase.json` |
317
320
  | 列出配置 | [`rabetbase config list`](references/rabetbase-config.md) | 查看当前生效的配置 |
318
321
  | 管理运行态 app-config | [`rabetbase app-config list/get/set/delete`](references/rabetbase-app-config.md) | 运行态 app-config 管理面;默认不输出明文 value;`set` 为 `write`,`delete` 保持 `high-risk-write` |
322
+ | 管理 Instant API 数据集访问策略 | [`rabetbase instant-api-policy init/current/pull/validate/publish/revisions/revision/rollback`](references/rabetbase-instant-api-policy.md) | 固定文件 `.rabetbase/instant-api-policy/<appCode>/policy.json`;`version` 是 JSON 结构版本,`revision` 是发布历史版本;publish/rollback 为 high-risk-write |
319
323
  | 管理和检索当前研发应用的企业知识库 | [`rabetbase kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) | 管理仅 company scope;search 固定 Development 且仅 `public/company`;`create/update` 为 `write`,`delete` 保持 `high-risk-write` |
320
324
  | 管理当前研发应用的 Agent context 规则 | [`rabetbase rule list/get/set`](references/rabetbase-rule.md) | `RULES.md` 供页面、API 等研发 Agent 使用且排除 DB Agent;`DATABASE.md` 仅供数据库分析时 DB Agent 使用;两者在各自流程全程参与 context;set 为 `write`,先 dry-run |
321
325
  | 查询或管理应用级通知配置 | [`rabetbase notification config-list`](references/rabetbase-notification-config-list.md) / [`rabetbase notification config-create`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-update`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-delete`](references/rabetbase-notification-config-mutations.md) | list 获取 Backend Function 所需 `configCode`;写入只接收单一敏感 JSON 源,先 dry-run;update/delete 必须 `--yes` |
@@ -368,7 +372,8 @@ const result = await client.bff.execute<DashboardData>({
368
372
  | 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | 推送后自动回拉 canonical schema 覆盖本地 |
369
373
  | 恢复已删除页面 | [`rabetbase page restore --id <pageId>`](references/rabetbase-page-restore.md) | 支持 `DATA_LIST|CUSTOM` 自动识别;跨类型同 ID 时显式传 `--page-type` |
370
374
  | 数据库连接(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` |
371
- | 独立部署局部同步研发元数据 | [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md) | 显式命令为 `write`;服务端仅允许应用 Admin 操作并原子检查 appCode 开关,未开启时正常 no-op;非生产 BFF/SQL 可配置 push 后置同步;生产、直连、Dataset 保持显式确认;失败或结果不确定时不自动重试 |
375
+ | 独立部署局部同步研发元数据 | [`rabetbase deployment sync`](references/rabetbase-deployment-sync.md) | 显式命令为 `write`;日常 BFF/SQL push 自动同步当前 push 的实际变更,服务端负责能力检查与目标处理;Dataset 保持显式确认;失败或结果不确定时不自动重试 |
376
+ | 独立部署应用范围同步 | [`rabetbase deployment sync-all`](references/rabetbase-deployment-sync.md) | `write`;只提交 appCode;保存 jobId 后查询状态,结果未知时用 `sync-jobs` 恢复任务事实,不自动重提 |
372
377
  | 生成 / 更新 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 合并更新 |
373
378
  | 查看生成的 API 模型 | [`rabetbase api list`](references/rabetbase-api-list.md) | 列出已生成的数据模型 |
374
379
  | 查看现有 SQL | [`rabetbase sql list --name "xxx"`](references/rabetbase-sql-list.md) | 分页,按名称过滤;默认查当前决议到的单个应用 |
@@ -420,6 +425,7 @@ const result = await client.bff.execute<DashboardData>({
420
425
  | File | [`upload` / `query-url`](references/rabetbase-file.md) |
421
426
  | Configuration | [`config set/get/list/delete`](references/rabetbase-config.md) |
422
427
  | Runtime App Config Management | [`app-config list/get/set/delete`](references/rabetbase-app-config.md) |
428
+ | Instant API Policy | [`instant-api-policy init/current/pull/validate/publish/revisions/revision/rollback`](references/rabetbase-instant-api-policy.md) |
423
429
  | Company Knowledge Base | [`kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) |
424
430
  | Agent Context Rules | [`rule list/get/set`](references/rabetbase-rule.md) |
425
431
  | Menu | [`list`](references/rabetbase-menu-list.md) / [`external-link-create`](references/rabetbase-menu-external-link-create.md) / [`external-link-update`](references/rabetbase-menu-external-link-update.md) / [`rename`](references/rabetbase-menu-rename.md) / [`sync`](references/rabetbase-menu-sync.md) / [`asset-update`](references/rabetbase-menu-asset-update.md) / [`delete`](references/rabetbase-menu-delete.md) / [`group-create`](references/rabetbase-menu-group-create.md) / [`group-update`](references/rabetbase-menu-group-update.md) / [`move`](references/rabetbase-menu-move.md) / [`regroup-start`](references/rabetbase-menu-regroup-start.md) |
@@ -432,7 +438,7 @@ const result = await client.bff.execute<DashboardData>({
432
438
  | Data List Page commands | [`generate-start`](references/rabetbase-page-generate-start.md) / [`generate-status`](references/rabetbase-page-generate-status.md) / [`data-list-status`](references/rabetbase-data-list-status.md) / [`relation-audit`](references/rabetbase-page-relation-binding.md) / [`sync`](references/rabetbase-page-sync.md) / [`pull`](references/rabetbase-page-pull.md) / [`push`](references/rabetbase-page-push.md) |
433
439
  | Custom Page commands | [`create`](references/rabetbase-page-create.md) / [`custom-list`](references/rabetbase-page-custom-list.md) / [`custom-detail`](references/rabetbase-page-custom-detail.md) / [`custom-update`](references/rabetbase-page-custom-update.md) / [`custom-publish`](references/rabetbase-page-custom-publish.md) |
434
440
  | Database Connections (`db`) | [`list`](references/rabetbase-db-list.md) / [`detail`](references/rabetbase-db-detail.md) / [`create`](references/rabetbase-db-create.md) / [`update`](references/rabetbase-db-update.md) / [`delete`](references/rabetbase-db-delete.md) / [`test`](references/rabetbase-db-test.md) / [`analyze`](references/rabetbase-db-analyze.md) / [`tables`](references/rabetbase-db-tables.md) / [`diff`](references/rabetbase-db-diff.md) / [`diff-refresh-start/status`](references/rabetbase-db-diff-refresh.md) |
435
- | Deployment | [`sync`](references/rabetbase-deployment-sync.md) |
441
+ | Deployment | [`sync`](references/rabetbase-deployment-sync.md) / [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync.md) |
436
442
  | api commands | [`pull`](references/rabetbase-api-pull.md) / [`list`](references/rabetbase-api-list.md) |
437
443
  | sql commands | [`list`](references/rabetbase-sql-list.md) / [`detail`](references/rabetbase-sql-detail.md) / [`create`](references/rabetbase-sql-create.md) / [`status`](references/rabetbase-sql-status.md) / [`pull`](references/rabetbase-sql-pull.md) / [`push`](references/rabetbase-sql-push.md) / [`delete`](references/rabetbase-sql-delete.md) / [`validate`](references/rabetbase-sql-validate.md) / [`save`(deprecated)](references/rabetbase-sql-save.md) / [`exec`](references/rabetbase-sql-exec.md) |
438
444
  | bff commands | [`list`](references/rabetbase-bff-list.md) / [`detail`](references/rabetbase-bff-detail.md) / [`create`](references/rabetbase-bff-create.md) / [`status`](references/rabetbase-bff-status.md) / [`pull`](references/rabetbase-bff-pull.md) / [`push`](references/rabetbase-bff-push.md) / [`delete`](references/rabetbase-bff-delete.md) |