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

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 (330) 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/index.js +1 -1
  99. package/lib/commands/deployment/sync-all.js +1 -1
  100. package/lib/commands/deployment/sync-jobs.js +1 -1
  101. package/lib/commands/deployment/sync-status.js +1 -1
  102. package/lib/commands/doctor.js +1 -1
  103. package/lib/commands/file/index.js +1 -1
  104. package/lib/commands/instant-api-policy/current.js +1 -1
  105. package/lib/commands/instant-api-policy/index.js +1 -1
  106. package/lib/commands/instant-api-policy/init.js +1 -1
  107. package/lib/commands/instant-api-policy/publish.js +1 -1
  108. package/lib/commands/instant-api-policy/pull.js +1 -1
  109. package/lib/commands/instant-api-policy/revision.js +1 -1
  110. package/lib/commands/instant-api-policy/revisions.js +1 -1
  111. package/lib/commands/instant-api-policy/rollback.js +1 -1
  112. package/lib/commands/instant-api-policy/shared.js +1 -1
  113. package/lib/commands/instant-api-policy/validate.js +1 -1
  114. package/lib/commands/issue/index.js +1 -1
  115. package/lib/commands/issue/nudge.js +1 -1
  116. package/lib/commands/issue/report.js +1 -1
  117. package/lib/commands/issue/shared.js +1 -1
  118. package/lib/commands/kb/create.js +1 -1
  119. package/lib/commands/kb/delete.js +1 -1
  120. package/lib/commands/kb/detail.js +1 -1
  121. package/lib/commands/kb/index.js +1 -1
  122. package/lib/commands/kb/list.js +1 -1
  123. package/lib/commands/kb/search.js +1 -1
  124. package/lib/commands/kb/shared.js +1 -1
  125. package/lib/commands/kb/update.js +1 -1
  126. package/lib/commands/logs/index.js +1 -1
  127. package/lib/commands/menu/asset-update.js +1 -1
  128. package/lib/commands/menu/delete.js +1 -1
  129. package/lib/commands/menu/external-link-create.js +1 -1
  130. package/lib/commands/menu/external-link-update.js +1 -1
  131. package/lib/commands/menu/group-create.js +1 -1
  132. package/lib/commands/menu/group-update.js +1 -1
  133. package/lib/commands/menu/index.js +1 -1
  134. package/lib/commands/menu/list.js +1 -1
  135. package/lib/commands/menu/move.js +1 -1
  136. package/lib/commands/menu/regroup-start.js +1 -1
  137. package/lib/commands/menu/rename.js +1 -1
  138. package/lib/commands/menu/shared/compare-table.js +1 -1
  139. package/lib/commands/menu/shared/delete-plan.js +1 -1
  140. package/lib/commands/menu/shared/facts.js +1 -1
  141. package/lib/commands/menu/shared/index.js +1 -1
  142. package/lib/commands/menu/shared/inquirer.js +1 -1
  143. package/lib/commands/menu/shared/local-pages.js +1 -1
  144. package/lib/commands/menu/shared/logic.js +1 -1
  145. package/lib/commands/menu/shared/mutations.js +1 -1
  146. package/lib/commands/menu/shared/service.js +1 -1
  147. package/lib/commands/menu/shared/sync-core.js +1 -1
  148. package/lib/commands/menu/shared/update-core.js +1 -1
  149. package/lib/commands/menu/shared/valid-url.js +1 -1
  150. package/lib/commands/menu/sync.js +1 -1
  151. package/lib/commands/menu/visibility-update.js +1 -1
  152. package/lib/commands/notification/config-create.js +1 -1
  153. package/lib/commands/notification/config-delete.js +1 -1
  154. package/lib/commands/notification/config-list.js +1 -1
  155. package/lib/commands/notification/config-update.js +1 -1
  156. package/lib/commands/notification/index.js +1 -1
  157. package/lib/commands/notification/shared.js +1 -1
  158. package/lib/commands/ocr/index.js +1 -1
  159. package/lib/commands/page/create.js +1 -1
  160. package/lib/commands/page/custom/detail.js +1 -1
  161. package/lib/commands/page/custom/list.js +1 -1
  162. package/lib/commands/page/custom/publish.js +1 -1
  163. package/lib/commands/page/custom/shared.js +1 -1
  164. package/lib/commands/page/custom/syntax.js +1 -1
  165. package/lib/commands/page/custom/update.js +1 -1
  166. package/lib/commands/page/data-list-status.js +1 -1
  167. package/lib/commands/page/generate-start.js +1 -1
  168. package/lib/commands/page/generate-status.js +1 -1
  169. package/lib/commands/page/index.js +1 -1
  170. package/lib/commands/page/pull.js +1 -1
  171. package/lib/commands/page/push.js +1 -1
  172. package/lib/commands/page/relation-audit.js +1 -1
  173. package/lib/commands/page/restore.js +1 -1
  174. package/lib/commands/page/shared.js +1 -1
  175. package/lib/commands/page/sync.js +1 -1
  176. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  177. package/lib/commands/project/create/format-elapsed.js +1 -1
  178. package/lib/commands/project/create/main.js +1 -1
  179. package/lib/commands/project/create/materialize-project-template.js +1 -1
  180. package/lib/commands/project/create/project-name.js +1 -1
  181. package/lib/commands/project/create/project-template-archive.js +1 -1
  182. package/lib/commands/project/create/project-template-path.js +1 -1
  183. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  184. package/lib/commands/project/create/use-format-code.js +1 -1
  185. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  186. package/lib/commands/project/domain-routing-sync.js +1 -1
  187. package/lib/commands/project/index.js +1 -1
  188. package/lib/commands/project/upgrade.js +1 -1
  189. package/lib/commands/registry.js +1 -1
  190. package/lib/commands/role/delete.js +1 -1
  191. package/lib/commands/role/detail.js +1 -1
  192. package/lib/commands/role/index.js +1 -1
  193. package/lib/commands/role/list.js +1 -1
  194. package/lib/commands/role/shared.js +1 -1
  195. package/lib/commands/role/update.js +1 -1
  196. package/lib/commands/role/user-add.js +1 -1
  197. package/lib/commands/role/user-remove.js +1 -1
  198. package/lib/commands/role/user-resolve.js +1 -1
  199. package/lib/commands/rule/get.js +1 -1
  200. package/lib/commands/rule/index.js +1 -1
  201. package/lib/commands/rule/list.js +1 -1
  202. package/lib/commands/rule/set.js +1 -1
  203. package/lib/commands/rule/shared.js +1 -1
  204. package/lib/commands/run/index.js +1 -1
  205. package/lib/commands/schema.js +1 -1
  206. package/lib/commands/sql/create.js +1 -1
  207. package/lib/commands/sql/delete.js +1 -1
  208. package/lib/commands/sql/detail.js +1 -1
  209. package/lib/commands/sql/exec.js +1 -1
  210. package/lib/commands/sql/index.js +1 -1
  211. package/lib/commands/sql/list.js +1 -1
  212. package/lib/commands/sql/pull.js +1 -1
  213. package/lib/commands/sql/push.js +1 -1
  214. package/lib/commands/sql/shared.js +1 -1
  215. package/lib/commands/sql/status.js +1 -1
  216. package/lib/commands/sql/validate.js +1 -1
  217. package/lib/commands/task/index.js +1 -1
  218. package/lib/commands/task/status.js +1 -1
  219. package/lib/commands/tenant/index.js +1 -1
  220. package/lib/commands/tenant/members-list.js +1 -1
  221. package/lib/commands/tenant/shared.js +1 -1
  222. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  223. package/lib/commands/user-account/index.js +1 -1
  224. package/lib/commands/workspace/add.js +1 -1
  225. package/lib/commands/workspace/index.js +1 -1
  226. package/lib/commands/workspace/remove.js +1 -1
  227. package/lib/config/domain-config.js +1 -1
  228. package/lib/config/project-domain-routing.js +1 -1
  229. package/lib/config/schema.js +1 -1
  230. package/lib/constant/cdn.js +1 -1
  231. package/lib/constant/cli.js +1 -1
  232. package/lib/constant/defaults.js +1 -1
  233. package/lib/constant/domain.js +1 -1
  234. package/lib/constant/env.js +1 -1
  235. package/lib/constant/output.js +1 -1
  236. package/lib/constant/paths.js +1 -1
  237. package/lib/constant/region.js +1 -1
  238. package/lib/constant/risk.js +1 -1
  239. package/lib/constant/routing-profile.js +1 -1
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +0 -17
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/instant-api-policy/config.js +1 -1
  254. package/lib/core/kb-search-client.js +1 -1
  255. package/lib/core/page/file-system.js +1 -1
  256. package/lib/core/page/hash.js +1 -1
  257. package/lib/core/page/lock.js +1 -1
  258. package/lib/core/sql-index-auditor.js +1 -1
  259. package/lib/core/sql-sync/config.js +1 -1
  260. package/lib/core/sql-sync/file-system.js +1 -1
  261. package/lib/core/sql-sync/hash.js +1 -1
  262. package/lib/core/sql-sync/lock.js +1 -1
  263. package/lib/core/sql-sync/utils.js +1 -1
  264. package/lib/core/sql-validator.js +1 -1
  265. package/lib/errors.js +1 -1
  266. package/lib/framework/build-all-flags.js +1 -1
  267. package/lib/framework/error-output.js +1 -1
  268. package/lib/framework/explicit-yes.js +1 -1
  269. package/lib/framework/flags.js +1 -1
  270. package/lib/framework/help.js +1 -1
  271. package/lib/framework/index.js +1 -1
  272. package/lib/framework/output.js +1 -1
  273. package/lib/framework/response.js +1 -1
  274. package/lib/framework/runner-alias.js +1 -1
  275. package/lib/framework/runner.js +1 -1
  276. package/lib/framework/schema-export.js +1 -1
  277. package/lib/framework/supported-flags.js +1 -1
  278. package/lib/framework/types.js +1 -1
  279. package/lib/generated/build-info.d.ts +4 -4
  280. package/lib/generated/build-info.js +1 -1
  281. package/lib/generated/official-routing.js +1 -1
  282. package/lib/generated/routing-contract.js +1 -1
  283. package/lib/help.js +1 -1
  284. package/lib/postinstall.js +1 -1
  285. package/lib/runtime/confirmation.js +1 -1
  286. package/lib/runtime/event.js +1 -1
  287. package/lib/runtime/index.js +1 -1
  288. package/lib/runtime/queue.js +1 -1
  289. package/lib/runtime/resolve.js +1 -1
  290. package/lib/skills/builtin-skill.js +1 -1
  291. package/lib/skills/main.js +1 -1
  292. package/lib/skills/npx-skills-add.js +1 -1
  293. package/lib/skills/skill-presence.js +1 -1
  294. package/lib/telemetry/cli-command-trace.js +1 -1
  295. package/lib/telemetry/cli-help-trace.js +1 -1
  296. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  297. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  298. package/lib/telemetry/send-cli-trace-log.js +1 -1
  299. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  300. package/lib/utils/ai_config.js +1 -1
  301. package/lib/utils/apply-jq-filter.js +1 -1
  302. package/lib/utils/cdn-config.js +1 -1
  303. package/lib/utils/check-sdk-version.js +1 -1
  304. package/lib/utils/cli-version-check.js +1 -1
  305. package/lib/utils/cli-version-policy.js +1 -1
  306. package/lib/utils/config.js +1 -1
  307. package/lib/utils/entity-with-id.js +1 -1
  308. package/lib/utils/file-utils.js +1 -1
  309. package/lib/utils/guides-cdn.js +1 -1
  310. package/lib/utils/http-client.js +1 -1
  311. package/lib/utils/is-non-interactive.js +1 -1
  312. package/lib/utils/logger.js +1 -1
  313. package/lib/utils/params.js +1 -1
  314. package/lib/utils/platform.d.ts +6 -5
  315. package/lib/utils/platform.js +1 -1
  316. package/lib/utils/sleep.js +1 -1
  317. package/lib/utils/template-replacer.js +1 -1
  318. package/lib/utils/update-notice.js +1 -1
  319. package/lib/utils/version.js +1 -1
  320. package/lib/utils/with-active-cookie.js +1 -1
  321. package/lib/utils/write-cli-side-channel.js +1 -1
  322. package/package.json +1 -1
  323. package/skills/rabetbase/SKILL.md +5 -6
  324. package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +56 -0
  325. package/skills/rabetbase.manifest.json +4 -4
  326. package/lib/commands/deployment/auto-sync.d.ts +0 -20
  327. package/lib/commands/deployment/auto-sync.js +0 -1
  328. package/lib/commands/deployment/sync.d.ts +0 -2
  329. package/lib/commands/deployment/sync.js +0 -1
  330. package/skills/rabetbase/references/rabetbase-deployment-sync.md +0 -100
@@ -1 +1 @@
1
- const a314_0x2750e4=a314_0x45d7;(function(_0x4c90d6,_0x5cae9d){const _0x3373c3=a314_0x45d7,_0x32e826=_0x4c90d6();while(!![]){try{const _0x441ec8=parseInt(_0x3373c3(0x185))/0x1*(-parseInt(_0x3373c3(0x19d))/0x2)+parseInt(_0x3373c3(0x184))/0x3+-parseInt(_0x3373c3(0x196))/0x4*(-parseInt(_0x3373c3(0x188))/0x5)+-parseInt(_0x3373c3(0x18b))/0x6+-parseInt(_0x3373c3(0x197))/0x7*(-parseInt(_0x3373c3(0x1a0))/0x8)+-parseInt(_0x3373c3(0x19a))/0x9+-parseInt(_0x3373c3(0x187))/0xa;if(_0x441ec8===_0x5cae9d)break;else _0x32e826['push'](_0x32e826['shift']());}catch(_0x1784dd){_0x32e826['push'](_0x32e826['shift']());}}}(a314_0x356f,0x46c7c));import{mkdirSync,writeFileSync}from'node:fs';import{dirname,join}from'node:path';import{homedir}from'node:os';import{getTemplateBaseUrl}from'../utils/config.js';function getGuidesCdnUrl(){const _0x4e0c1e=a314_0x45d7,_0x89baf=getTemplateBaseUrl();return _0x89baf+_0x4e0c1e(0x192);}const CACHE_DIR=join(homedir(),'.lovrabet',a314_0x2750e4(0x18f));export async function fetchGuidesFromCDN(){const _0x303605=a314_0x2750e4,_0x2f8e19=getGuidesCdnUrl(),_0x408471=await fetch(_0x2f8e19,{'headers':{'Accept':'application/json'}});if(!_0x408471['ok'])throw new Error('CDN\x20request\x20failed:\x20'+_0x408471['status']+'\x20'+_0x408471['statusText']);const _0xd2d855=await _0x408471['json']();if(!_0xd2d855[_0x303605(0x199)]||typeof _0xd2d855['guides']!==_0x303605(0x18e))throw new Error(_0x303605(0x195));return _0xd2d855;}export function writeGuidesToProject(_0x5aa612,_0x2dda37,_0x2f35a6='.lovrabet/skill/guides',_0x45cd8e){const _0xfc64e2=a314_0x2750e4,_0x2d8afc=join(_0x2dda37,_0x2f35a6);mkdirSync(_0x2d8afc,{'recursive':!![]});for(const [_0x23796a,_0xf7255a]of Object[_0xfc64e2(0x18a)](_0x5aa612[_0xfc64e2(0x199)])){let _0x4abd21=_0xf7255a[_0xfc64e2(0x18d)];_0xf7255a[_0xfc64e2(0x19f)]&&(_0x4abd21=appendUpdateTime(_0x4abd21,_0xf7255a[_0xfc64e2(0x19f)])),writeFileSync(join(_0x2d8afc,_0x23796a+_0xfc64e2(0x19c)),_0x4abd21,_0xfc64e2(0x19e));}}export function appendUpdateTime(_0x48ca82,_0x2624c1){const _0x335c79=a314_0x2750e4;return _0x48ca82=_0x48ca82[_0x335c79(0x1a1)](/\n*>更新时间:.*$/m,''),_0x48ca82['trimEnd']()+(_0x335c79(0x189)+_0x2624c1);}function a314_0x45d7(_0x4f5249,_0x45d1ff){_0x4f5249=_0x4f5249-0x184;const _0x356f6d=a314_0x356f();let _0x45d775=_0x356f6d[_0x4f5249];return _0x45d775;}export function getSkillTemplate(_0x5f1f1a){const _0x2fcda1=a314_0x2750e4;return _0x5f1f1a[_0x2fcda1(0x18c)]?.[_0x2fcda1(0x18d)]||'';}export function appendExtendContents(_0x3717d7,_0xc5a49e,_0x144d76){const _0x56bda1=a314_0x2750e4,_0x31cccc=[];for(const [,_0x40ec7c]of Object['entries'](_0xc5a49e[_0x56bda1(0x199)])){_0x40ec7c['extendContent']&&_0x31cccc['push'](_0x40ec7c[_0x56bda1(0x198)][_0x56bda1(0x194)]());}if(_0x31cccc[_0x56bda1(0x190)]===0x0)return _0x3717d7;return _0x3717d7[_0x56bda1(0x194)]()+'\x0a\x0a'+_0x31cccc[_0x56bda1(0x19b)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x13e0b5,_0x533f75,_0x39833f){const _0x3daa65=a314_0x2750e4,_0x2e2ecf=getSkillTemplate(_0x13e0b5);if(!_0x2e2ecf)throw new Error(_0x3daa65(0x186));const _0x3208a0=dirname(_0x533f75);mkdirSync(_0x3208a0,{'recursive':!![]});let _0x44d003=_0x2e2ecf[_0x3daa65(0x1a1)](/\{\{IDE_NAME\}\}/g,_0x39833f);_0x44d003=appendExtendContents(_0x44d003,_0x13e0b5),_0x13e0b5[_0x3daa65(0x18c)]['lastUpdated']&&(_0x44d003=appendUpdateTime(_0x44d003,_0x13e0b5[_0x3daa65(0x18c)]['lastUpdated'])),writeFileSync(_0x533f75,_0x44d003,_0x3daa65(0x19e));}export async function installGuides(_0x1ff9eb){const _0x126ef1=a314_0x2750e4,_0x1eebf9=await fetchGuidesFromCDN();return writeGuidesToProject(_0x1eebf9,_0x1ff9eb),Object[_0x126ef1(0x193)](_0x1eebf9[_0x126ef1(0x199)])[_0x126ef1(0x190)];}function a314_0x356f(){const _0x53f237=['path','/skills/guides.json','keys','trimEnd','CDN\x20returned\x20invalid\x20data','536WBEdfW','49RwHtjE','extendContent','guides','1149417QsdWAB','join','.md','81218CcYMUt','utf-8','lastUpdated','345024QDcwBV','replace','map','1517262JDGKNf','6UlSYkq','CDN\x20data\x20is\x20missing\x20skillTemplate','2254970YAYUKj','8035vHRMCe','\x0a\x0a>更新时间:','entries','817248qUALTN','skillTemplate','content','object','cache','length'];a314_0x356f=function(){return _0x53f237;};return a314_0x356f();}export function getGuidesSummary(_0x544539){const _0x5b05a1=a314_0x2750e4;return Object[_0x5b05a1(0x18a)](_0x544539[_0x5b05a1(0x199)])[_0x5b05a1(0x1a2)](([_0x4bf629,_0x25c343])=>({'key':_0x4bf629,'title':_0x25c343['title'],'path':_0x25c343[_0x5b05a1(0x191)]}));}
1
+ function a312_0x528f(_0x314c47,_0xfc57d5){_0x314c47=_0x314c47-0x110;const _0x3583de=a312_0x3583();let _0x528f9b=_0x3583de[_0x314c47];return _0x528f9b;}const a312_0x74f0a9=a312_0x528f;(function(_0x594371,_0x3d3087){const _0x405cb6=a312_0x528f,_0x4996ac=_0x594371();while(!![]){try{const _0x3c79b4=parseInt(_0x405cb6(0x123))/0x1*(-parseInt(_0x405cb6(0x12a))/0x2)+parseInt(_0x405cb6(0x121))/0x3*(parseInt(_0x405cb6(0x110))/0x4)+parseInt(_0x405cb6(0x117))/0x5*(-parseInt(_0x405cb6(0x111))/0x6)+parseInt(_0x405cb6(0x118))/0x7*(-parseInt(_0x405cb6(0x131))/0x8)+parseInt(_0x405cb6(0x11f))/0x9*(-parseInt(_0x405cb6(0x115))/0xa)+parseInt(_0x405cb6(0x12b))/0xb*(parseInt(_0x405cb6(0x133))/0xc)+parseInt(_0x405cb6(0x11c))/0xd*(parseInt(_0x405cb6(0x134))/0xe);if(_0x3c79b4===_0x3d3087)break;else _0x4996ac['push'](_0x4996ac['shift']());}catch(_0x37db23){_0x4996ac['push'](_0x4996ac['shift']());}}}(a312_0x3583,0x57ef6));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 _0x4544f0=getTemplateBaseUrl();return _0x4544f0+'/skills/guides.json';}function a312_0x3583(){const _0x682d18=['title','trimEnd','object','2iOGUWh','11CssqnR','cache','status','lastUpdated','json','length','280GlqImM','join','4788804XIUuJY','16688ectAze','guides','application/json','1121556fIQIYc','3661212NRlxjy','.lovrabet','utf-8','statusText','20XgzRHP','skillTemplate','5rNrNGd','28973kDDoln','entries','.md','.lovrabet/skill/guides','10309DDpWvo','CDN\x20data\x20is\x20missing\x20skillTemplate','\x0a\x0a>更新时间:','2484018FcwrJH','content','6StDZOP','replace','237848ccZyWM','extendContent','CDN\x20returned\x20invalid\x20data','push'];a312_0x3583=function(){return _0x682d18;};return a312_0x3583();}const CACHE_DIR=join(homedir(),a312_0x74f0a9(0x112),a312_0x74f0a9(0x12c));export async function fetchGuidesFromCDN(){const _0x4c5de0=a312_0x74f0a9,_0xff9a4c=getGuidesCdnUrl(),_0x47936b=await fetch(_0xff9a4c,{'headers':{'Accept':_0x4c5de0(0x136)}});if(!_0x47936b['ok'])throw new Error('CDN\x20request\x20failed:\x20'+_0x47936b[_0x4c5de0(0x12d)]+'\x20'+_0x47936b[_0x4c5de0(0x114)]);const _0x2d5626=await _0x47936b[_0x4c5de0(0x12f)]();if(!_0x2d5626[_0x4c5de0(0x135)]||typeof _0x2d5626['guides']!==_0x4c5de0(0x129))throw new Error(_0x4c5de0(0x125));return _0x2d5626;}export function writeGuidesToProject(_0x3ab540,_0x4b3c57,_0x354dda=a312_0x74f0a9(0x11b),_0xffa963){const _0x374a04=a312_0x74f0a9,_0x280fc1=join(_0x4b3c57,_0x354dda);mkdirSync(_0x280fc1,{'recursive':!![]});for(const [_0x11efcd,_0x3375c2]of Object[_0x374a04(0x119)](_0x3ab540[_0x374a04(0x135)])){let _0x2f73fc=_0x3375c2[_0x374a04(0x120)];_0x3375c2[_0x374a04(0x12e)]&&(_0x2f73fc=appendUpdateTime(_0x2f73fc,_0x3375c2[_0x374a04(0x12e)])),writeFileSync(join(_0x280fc1,_0x11efcd+_0x374a04(0x11a)),_0x2f73fc,_0x374a04(0x113));}}export function appendUpdateTime(_0x3c819a,_0x132aaa){const _0x5254c1=a312_0x74f0a9;return _0x3c819a=_0x3c819a[_0x5254c1(0x122)](/\n*>更新时间:.*$/m,''),_0x3c819a[_0x5254c1(0x128)]()+(_0x5254c1(0x11e)+_0x132aaa);}export function getSkillTemplate(_0x21e8da){const _0x243ad8=a312_0x74f0a9;return _0x21e8da[_0x243ad8(0x116)]?.[_0x243ad8(0x120)]||'';}export function appendExtendContents(_0x327ffe,_0x4f1e0a,_0x4e766d){const _0x293e2e=a312_0x74f0a9,_0x4c19c2=[];for(const [,_0x5d1447]of Object[_0x293e2e(0x119)](_0x4f1e0a[_0x293e2e(0x135)])){_0x5d1447[_0x293e2e(0x124)]&&_0x4c19c2[_0x293e2e(0x126)](_0x5d1447[_0x293e2e(0x124)][_0x293e2e(0x128)]());}if(_0x4c19c2[_0x293e2e(0x130)]===0x0)return _0x327ffe;return _0x327ffe['trimEnd']()+'\x0a\x0a'+_0x4c19c2[_0x293e2e(0x132)]('\x0a\x0a')+'\x0a';}export function writeSkillFile(_0x270d90,_0x19ad84,_0x2bfadb){const _0x1debba=a312_0x74f0a9,_0x406b96=getSkillTemplate(_0x270d90);if(!_0x406b96)throw new Error(_0x1debba(0x11d));const _0x28f0cc=dirname(_0x19ad84);mkdirSync(_0x28f0cc,{'recursive':!![]});let _0x1cdc5d=_0x406b96['replace'](/\{\{IDE_NAME\}\}/g,_0x2bfadb);_0x1cdc5d=appendExtendContents(_0x1cdc5d,_0x270d90),_0x270d90[_0x1debba(0x116)][_0x1debba(0x12e)]&&(_0x1cdc5d=appendUpdateTime(_0x1cdc5d,_0x270d90[_0x1debba(0x116)]['lastUpdated'])),writeFileSync(_0x19ad84,_0x1cdc5d,'utf-8');}export async function installGuides(_0x3113b5){const _0x346cdc=a312_0x74f0a9,_0x28f1a8=await fetchGuidesFromCDN();return writeGuidesToProject(_0x28f1a8,_0x3113b5),Object['keys'](_0x28f1a8['guides'])[_0x346cdc(0x130)];}export function getGuidesSummary(_0x51d070){const _0x286cfa=a312_0x74f0a9;return Object[_0x286cfa(0x119)](_0x51d070['guides'])['map'](([_0x166a65,_0x37a346])=>({'key':_0x166a65,'title':_0x37a346[_0x286cfa(0x127)],'path':_0x37a346['path']}));}
@@ -1 +1 @@
1
- (function(_0x48a88e,_0x54bae8){const _0x3c4fab=a315_0x3e87,_0x14c584=_0x48a88e();while(!![]){try{const _0x2a9789=parseInt(_0x3c4fab(0x128))/0x1+parseInt(_0x3c4fab(0x139))/0x2+parseInt(_0x3c4fab(0x136))/0x3+parseInt(_0x3c4fab(0x129))/0x4+-parseInt(_0x3c4fab(0x138))/0x5+parseInt(_0x3c4fab(0x133))/0x6*(parseInt(_0x3c4fab(0x12b))/0x7)+-parseInt(_0x3c4fab(0x131))/0x8;if(_0x2a9789===_0x54bae8)break;else _0x14c584['push'](_0x14c584['shift']());}catch(_0x24f4bf){_0x14c584['push'](_0x14c584['shift']());}}}(a315_0x5a8b,0xddfcd));function a315_0x5a8b(){const _0x32c18a=['TypeError','name','headers','24071272QmXRaF','content-type','6xLVYKP','status','application/json','2227299GqJjql','text','7139505oQQFJH','978942OYvCxE','abort','AbortError','*\x20Request\x20failed;\x20retry\x20','statusText','includes','get','json','1231430hQxyUQ','5690460AopHzx','ENOTFOUND','10220854jZSOCt','ECONNRESET','message'];a315_0x5a8b=function(){return _0x32c18a;};return a315_0x5a8b();}export async function httpRequest(_0x453f47,_0x20907c={}){const _0xe35f04=a315_0x3e87,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x20907c;let _0xa52bc8=null;for(let _0xffbeb6=0x0;_0xffbeb6<=retries;_0xffbeb6++){try{const _0x2f0ecc=new AbortController(),_0x20be2d=setTimeout(()=>_0x2f0ecc[_0xe35f04(0x13a)](),timeout),_0x321140=await fetch(_0x453f47,{'headers':headers,'signal':_0x2f0ecc['signal']});clearTimeout(_0x20be2d);let _0x2c079b;const _0x6ed809=_0x321140['headers'][_0xe35f04(0x126)](_0xe35f04(0x132));return _0x6ed809?.[_0xe35f04(0x125)](_0xe35f04(0x135))?_0x2c079b=await _0x321140[_0xe35f04(0x127)]():_0x2c079b=await _0x321140[_0xe35f04(0x137)](),{'ok':_0x321140['ok'],'status':_0x321140[_0xe35f04(0x134)],'statusText':_0x321140[_0xe35f04(0x13d)],'data':_0x2c079b,'headers':_0x321140[_0xe35f04(0x130)],'url':_0x321140['url'],'text':()=>_0x321140['text']()};}catch(_0x54ec65){_0xa52bc8=_0x54ec65 instanceof Error?_0x54ec65:new Error(String(_0x54ec65));if(_0xffbeb6===retries)break;if(shouldRetry(_0x54ec65)){console['log'](_0xe35f04(0x13c)+(_0xffbeb6+0x1)+'\x20in\x20'+retryDelay+'ms...'),await sleep(retryDelay);continue;}else break;}}throw _0xa52bc8||new Error('Request\x20failed');}function shouldRetry(_0x2d073e){const _0xbcf3bf=a315_0x3e87;if(_0x2d073e instanceof Error){if(_0x2d073e['name']===_0xbcf3bf(0x13b))return![];if(_0x2d073e[_0xbcf3bf(0x12f)]===_0xbcf3bf(0x12e)&&_0x2d073e[_0xbcf3bf(0x12d)][_0xbcf3bf(0x125)]('fetch'))return!![];if(_0x2d073e[_0xbcf3bf(0x12d)]['includes'](_0xbcf3bf(0x12c)))return!![];if(_0x2d073e[_0xbcf3bf(0x12d)][_0xbcf3bf(0x125)](_0xbcf3bf(0x12a)))return![];}return![];}function a315_0x3e87(_0xda124,_0x3dd5b8){_0xda124=_0xda124-0x125;const _0x5a8b12=a315_0x5a8b();let _0x3e87c7=_0x5a8b12[_0xda124];return _0x3e87c7;}function sleep(_0xb7a6da){return new Promise(_0x21f5c7=>setTimeout(_0x21f5c7,_0xb7a6da));}export function validateUrl(_0x29f375){try{return new URL(_0x29f375),!![];}catch{return![];}}
1
+ function a313_0x4e47(_0x30efed,_0xd6c704){_0x30efed=_0x30efed-0x7d;const _0x16abaa=a313_0x16ab();let _0x4e4763=_0x16abaa[_0x30efed];return _0x4e4763;}(function(_0xc3babd,_0x173e10){const _0xc600d3=a313_0x4e47,_0x4aa2c0=_0xc3babd();while(!![]){try{const _0x3fa8b9=parseInt(_0xc600d3(0x83))/0x1+parseInt(_0xc600d3(0x86))/0x2*(parseInt(_0xc600d3(0x8d))/0x3)+parseInt(_0xc600d3(0x7e))/0x4+-parseInt(_0xc600d3(0x8a))/0x5*(parseInt(_0xc600d3(0x81))/0x6)+-parseInt(_0xc600d3(0x88))/0x7*(parseInt(_0xc600d3(0x92))/0x8)+-parseInt(_0xc600d3(0x7f))/0x9*(-parseInt(_0xc600d3(0x95))/0xa)+parseInt(_0xc600d3(0x87))/0xb*(parseInt(_0xc600d3(0x89))/0xc);if(_0x3fa8b9===_0x173e10)break;else _0x4aa2c0['push'](_0x4aa2c0['shift']());}catch(_0x19fa71){_0x4aa2c0['push'](_0x4aa2c0['shift']());}}}(a313_0x16ab,0x4eb17));export async function httpRequest(_0x157773,_0x368cd1={}){const _0xa227d9=a313_0x4e47,{timeout:timeout=0x7530,retries:retries=0x3,retryDelay:retryDelay=0x3e8,headers:headers={}}=_0x368cd1;let _0x29943b=null;for(let _0x1d57b0=0x0;_0x1d57b0<=retries;_0x1d57b0++){try{const _0x3c67fc=new AbortController(),_0x1e7dfc=setTimeout(()=>_0x3c67fc['abort'](),timeout),_0x450864=await fetch(_0x157773,{'headers':headers,'signal':_0x3c67fc[_0xa227d9(0x8f)]});clearTimeout(_0x1e7dfc);let _0x17b86c;const _0x43f81d=_0x450864[_0xa227d9(0x90)][_0xa227d9(0x96)]('content-type');return _0x43f81d?.['includes']('application/json')?_0x17b86c=await _0x450864[_0xa227d9(0x8c)]():_0x17b86c=await _0x450864[_0xa227d9(0x85)](),{'ok':_0x450864['ok'],'status':_0x450864[_0xa227d9(0x93)],'statusText':_0x450864[_0xa227d9(0x7d)],'data':_0x17b86c,'headers':_0x450864[_0xa227d9(0x90)],'url':_0x450864['url'],'text':()=>_0x450864[_0xa227d9(0x85)]()};}catch(_0x2ec7bc){_0x29943b=_0x2ec7bc instanceof Error?_0x2ec7bc:new Error(String(_0x2ec7bc));if(_0x1d57b0===retries)break;if(shouldRetry(_0x2ec7bc)){console['log']('*\x20Request\x20failed;\x20retry\x20'+(_0x1d57b0+0x1)+'\x20in\x20'+retryDelay+_0xa227d9(0x82)),await sleep(retryDelay);continue;}else break;}}throw _0x29943b||new Error('Request\x20failed');}function shouldRetry(_0x184f6a){const _0xdb52bb=a313_0x4e47;if(_0x184f6a instanceof Error){if(_0x184f6a['name']===_0xdb52bb(0x8b))return![];if(_0x184f6a[_0xdb52bb(0x94)]===_0xdb52bb(0x84)&&_0x184f6a[_0xdb52bb(0x8e)][_0xdb52bb(0x91)](_0xdb52bb(0x80)))return!![];if(_0x184f6a[_0xdb52bb(0x8e)]['includes']('ECONNRESET'))return!![];if(_0x184f6a['message'][_0xdb52bb(0x91)]('ENOTFOUND'))return![];}return![];}function sleep(_0x54831d){return new Promise(_0x39671b=>setTimeout(_0x39671b,_0x54831d));}function a313_0x16ab(){const _0x572975=['includes','3652424QQOQEj','status','name','10JeSCom','get','statusText','896956UjWPGo','2054799XjqLpD','fetch','66nDqenh','ms...','181211VQBrnd','TypeError','text','4JejzkQ','1259368qVupSP','7XicaEU','12YbfKgH','224355oZAbPv','AbortError','json','786318PlEglp','message','signal','headers'];a313_0x16ab=function(){return _0x572975;};return a313_0x16ab();}export function validateUrl(_0x84568d){try{return new URL(_0x84568d),!![];}catch{return![];}}
@@ -1 +1 @@
1
- (function(_0x13adab,_0x407171){const _0x439e9b=a316_0x4696,_0x1f0f65=_0x13adab();while(!![]){try{const _0x14bd8a=parseInt(_0x439e9b(0x1f9))/0x1*(-parseInt(_0x439e9b(0x1f7))/0x2)+-parseInt(_0x439e9b(0x1f3))/0x3+parseInt(_0x439e9b(0x1f1))/0x4+parseInt(_0x439e9b(0x1fb))/0x5+parseInt(_0x439e9b(0x1f4))/0x6+parseInt(_0x439e9b(0x1f0))/0x7+-parseInt(_0x439e9b(0x1f6))/0x8;if(_0x14bd8a===_0x407171)break;else _0x1f0f65['push'](_0x1f0f65['shift']());}catch(_0x22230a){_0x1f0f65['push'](_0x1f0f65['shift']());}}}(a316_0x42a8,0x1a570));function a316_0x4696(_0x9a8c3f,_0x54db2f){_0x9a8c3f=_0x9a8c3f-0x1ef;const _0x42a8ff=a316_0x42a8();let _0x46968d=_0x42a8ff[_0x9a8c3f];return _0x46968d;}function env(_0x1a347b){return process.env[`RABETBASE_${_0x1a347b}`]||process.env[`LOVRABET_${_0x1a347b}`]||undefined;}export function isNonInteractive(_0x469665){const _0x4c2121=a316_0x4696;return!!(_0x469665[_0x4c2121(0x1f2)]||_0x469665['ci']||env('CI')==='true'||process.env.CI===_0x4c2121(0x1fa)||!process[_0x4c2121(0x1ef)][_0x4c2121(0x1fd)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x1e1c33=a316_0x4696;if(!process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fd)])return![];try{const _0x522fa4=process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1f8)];return process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fc)](!![]),process[_0x1e1c33(0x1f5)][_0x1e1c33(0x1fc)](_0x522fa4??![]),!![];}catch{return![];}}function a316_0x42a8(){const _0x19cdef=['isTTY','stdout','785519khYilV','468588XRNcbt','nonInteractive','177018CPsJrb','294282CFuzsl','stdin','744536XbCqeQ','2804vgVYCn','isRaw','114HCJTxB','true','706890ZnBIuc','setRawMode'];a316_0x42a8=function(){return _0x19cdef;};return a316_0x42a8();}
1
+ function a314_0x29b3(_0x4aaa08,_0x4473f5){_0x4aaa08=_0x4aaa08-0x73;const _0x26dc9e=a314_0x26dc();let _0x29b3bf=_0x26dc9e[_0x4aaa08];return _0x29b3bf;}(function(_0x26c616,_0x53b268){const _0x7ab071=a314_0x29b3,_0x44309f=_0x26c616();while(!![]){try{const _0x20a11c=-parseInt(_0x7ab071(0x7b))/0x1*(parseInt(_0x7ab071(0x7d))/0x2)+parseInt(_0x7ab071(0x81))/0x3+-parseInt(_0x7ab071(0x7a))/0x4+-parseInt(_0x7ab071(0x77))/0x5+-parseInt(_0x7ab071(0x80))/0x6+parseInt(_0x7ab071(0x76))/0x7+-parseInt(_0x7ab071(0x78))/0x8*(-parseInt(_0x7ab071(0x7c))/0x9);if(_0x20a11c===_0x53b268)break;else _0x44309f['push'](_0x44309f['shift']());}catch(_0x25ead5){_0x44309f['push'](_0x44309f['shift']());}}}(a314_0x26dc,0xbee97));function a314_0x26dc(){const _0x2c7d85=['9308019lbbwCX','1359975wPOZfU','4376rCjnyg','stdin','4805640zDFTfS','2cWeBVj','39132WyMlKr','1140994MisHDk','isTTY','isRaw','5653836RKDmZL','1891821MVwfUJ','true','setRawMode','nonInteractive'];a314_0x26dc=function(){return _0x2c7d85;};return a314_0x26dc();}function env(_0x5bcca4){return process.env[`RABETBASE_${_0x5bcca4}`]||process.env[`LOVRABET_${_0x5bcca4}`]||undefined;}export function isNonInteractive(_0xb436f){const _0x38234f=a314_0x29b3;return!!(_0xb436f[_0x38234f(0x75)]||_0xb436f['ci']||env('CI')===_0x38234f(0x73)||process.env.CI===_0x38234f(0x73)||!process['stdout'][_0x38234f(0x7e)]||!isStdinRawModeSupported());}function isStdinRawModeSupported(){const _0x2ed7ce=a314_0x29b3;if(!process[_0x2ed7ce(0x79)][_0x2ed7ce(0x7e)])return![];try{const _0x371bb7=process[_0x2ed7ce(0x79)][_0x2ed7ce(0x7f)];return process[_0x2ed7ce(0x79)]['setRawMode'](!![]),process[_0x2ed7ce(0x79)][_0x2ed7ce(0x74)](_0x371bb7??![]),!![];}catch{return![];}}
@@ -1 +1 @@
1
- const a317_0x5af645=a317_0x2db4;function a317_0x2db4(_0x373f64,_0x33e70f){_0x373f64=_0x373f64-0xaf;const _0x5ef6e1=a317_0x5ef6();let _0x2db41a=_0x5ef6e1[_0x373f64];return _0x2db41a;}(function(_0x2eb8e0,_0x2cdf1a){const _0x1a9d3f=a317_0x2db4,_0x3e2a16=_0x2eb8e0();while(!![]){try{const _0x31157c=-parseInt(_0x1a9d3f(0xd6))/0x1*(parseInt(_0x1a9d3f(0xb5))/0x2)+parseInt(_0x1a9d3f(0xce))/0x3+-parseInt(_0x1a9d3f(0xd4))/0x4+-parseInt(_0x1a9d3f(0xb4))/0x5*(-parseInt(_0x1a9d3f(0xc6))/0x6)+parseInt(_0x1a9d3f(0xeb))/0x7+parseInt(_0x1a9d3f(0xd0))/0x8+-parseInt(_0x1a9d3f(0xe5))/0x9;if(_0x31157c===_0x2cdf1a)break;else _0x3e2a16['push'](_0x3e2a16['shift']());}catch(_0x4d98fd){_0x3e2a16['push'](_0x3e2a16['shift']());}}}(a317_0x5ef6,0xf245b));import a317_0x506102 from'winston';import a317_0x1fa2ad from'node:fs';import a317_0x4b5fa6 from'node:path';function a317_0x5ef6(){const _0x29ea68=['21306096FfZQgz','winstonLogger','command','Failed:\x20','existsSync','dirname','5322457jSLCNI','logFilePath','format','readFileSync','timestamp','Completed:\x20','775985YUdjkA','38HnoWQQ','errors','stringify','map','yellow','join','initWinstonLogger','readLogs','parse','now','success','trim','currentRawCommand','mkdirSync','details','red','error','48yaVSoa','clear','message','log','combine','writeFileSync','toISOString','split','5377620ZxXFqv','transports','10483320qwdPtE','Starting:\x20','getWinstonInstance','warn','353032mJFHPP','info','87207cywLnz','blue','green','File','utf8','logTask','setRawCommand','.lovrabet.log','setLogPath','rawCommand','level','unknown','duration','printf','addColors'];a317_0x5ef6=function(){return _0x29ea68;};return a317_0x5ef6();}class Logger{['winstonLogger'];[a317_0x5af645(0xaf)];[a317_0x5af645(0xc1)]='';constructor(){this['logFilePath']='';}[a317_0x5af645(0xdc)](_0x35d6ce){const _0x1ff736=a317_0x5af645;this[_0x1ff736(0xc1)]=_0x35d6ce;}[a317_0x5af645(0xbb)](){const _0x2e014c=a317_0x5af645,_0x4487dc=a317_0x4b5fa6[_0x2e014c(0xea)](this['logFilePath']);!a317_0x1fa2ad['existsSync'](_0x4487dc)&&a317_0x1fa2ad[_0x2e014c(0xc2)](_0x4487dc,{'recursive':!![]});const _0x5cfb62=a317_0x506102[_0x2e014c(0xb0)][_0x2e014c(0xca)](a317_0x506102[_0x2e014c(0xb0)]['timestamp'](),a317_0x506102['format'][_0x2e014c(0xb6)]({'stack':!![]}),a317_0x506102['format'][_0x2e014c(0xe3)](_0x2b0c1d=>{const _0x17ef4a=_0x2e014c,_0x10f747={'timestamp':_0x2b0c1d[_0x17ef4a(0xb2)]||new Date()[_0x17ef4a(0xcc)](),'level':_0x2b0c1d[_0x17ef4a(0xe0)]||_0x17ef4a(0xd5),'command':_0x2b0c1d[_0x17ef4a(0xe7)]||_0x17ef4a(0xe1),'rawCommand':_0x2b0c1d[_0x17ef4a(0xdf)]||this[_0x17ef4a(0xc1)]||undefined,'message':_0x2b0c1d[_0x17ef4a(0xc8)]||'','duration':_0x2b0c1d[_0x17ef4a(0xe2)]||undefined,'details':_0x2b0c1d[_0x17ef4a(0xc3)]||undefined};return JSON[_0x17ef4a(0xb7)](_0x10f747);}));this[_0x2e014c(0xe6)]=a317_0x506102['createLogger']({'level':'info','format':_0x5cfb62,'transports':[new a317_0x506102[(_0x2e014c(0xcf))][(_0x2e014c(0xd9))]({'filename':this['logFilePath'],'level':'info'})],'silent':![]}),a317_0x506102[_0x2e014c(0xe4)]({'success':_0x2e014c(0xd8),'error':_0x2e014c(0xc4),'warn':_0x2e014c(0xb9),'info':_0x2e014c(0xd7)});}[a317_0x5af645(0xde)](_0x17ab7d){const _0x31dedd=a317_0x5af645;this[_0x31dedd(0xaf)]=a317_0x4b5fa6[_0x31dedd(0xba)](_0x17ab7d,_0x31dedd(0xdd)),this[_0x31dedd(0xe6)]&&this[_0x31dedd(0xe6)][_0x31dedd(0xc7)](),this['initWinstonLogger']();}['info'](_0x1506ba,_0x22af82,_0x53e5e5){const _0x141a91=a317_0x5af645;if(!this['logFilePath']||!this[_0x141a91(0xe6)])return;this[_0x141a91(0xe6)][_0x141a91(0xd5)](_0x22af82,{'command':_0x1506ba,'details':_0x53e5e5});}[a317_0x5af645(0xbf)](_0x3704dc,_0x19bb1b,_0x3d35ec,_0x32de03){const _0x203ff7=a317_0x5af645;if(!this[_0x203ff7(0xaf)]||!this['winstonLogger'])return;this[_0x203ff7(0xe6)][_0x203ff7(0xc9)](_0x203ff7(0xd5),_0x19bb1b,{'level':_0x203ff7(0xbf),'command':_0x3704dc,'duration':_0x3d35ec,'details':_0x32de03});}[a317_0x5af645(0xc5)](_0x57e0c3,_0x5b3bc3,_0x5bb641){const _0x22d04d=a317_0x5af645;if(!this['logFilePath']||!this['winstonLogger'])return;this[_0x22d04d(0xe6)][_0x22d04d(0xc5)](_0x5b3bc3,{'command':_0x57e0c3,'details':_0x5bb641});}['warn'](_0x33523e,_0x301764,_0x3d56ee){const _0xc4186f=a317_0x5af645;if(!this[_0xc4186f(0xaf)]||!this[_0xc4186f(0xe6)])return;this[_0xc4186f(0xe6)][_0xc4186f(0xd3)](_0x301764,{'command':_0x33523e,'details':_0x3d56ee});}async[a317_0x5af645(0xdb)](_0x1b5c0f,_0xcd90ca,_0x718db5){const _0xa0cd51=a317_0x5af645,_0x4dbc2f=Date[_0xa0cd51(0xbe)]();this[_0xa0cd51(0xd5)](_0x1b5c0f,_0xa0cd51(0xd1)+_0xcd90ca);try{const _0x4d176d=await _0x718db5(),_0x5295a4=Date[_0xa0cd51(0xbe)]()-_0x4dbc2f;return this['success'](_0x1b5c0f,_0xa0cd51(0xb3)+_0xcd90ca,_0x5295a4),_0x4d176d;}catch(_0x478546){const _0x597558=Date[_0xa0cd51(0xbe)]()-_0x4dbc2f;this[_0xa0cd51(0xc5)](_0x1b5c0f,_0xa0cd51(0xe8)+_0xcd90ca,{'error':_0x478546 instanceof Error?_0x478546[_0xa0cd51(0xc8)]:String(_0x478546),'duration':_0x597558});throw _0x478546;}}[a317_0x5af645(0xbc)](){const _0x173996=a317_0x5af645;try{if(!a317_0x1fa2ad[_0x173996(0xe9)](this['logFilePath']))return[];const _0x88faa0=a317_0x1fa2ad[_0x173996(0xb1)](this[_0x173996(0xaf)],_0x173996(0xda));return _0x88faa0[_0x173996(0xcd)]('\x0a')['filter'](_0x1a3121=>_0x1a3121[_0x173996(0xc0)]())[_0x173996(0xb8)](_0xd5a21c=>JSON[_0x173996(0xbd)](_0xd5a21c));}catch(_0x18c5e3){return console[_0x173996(0xd3)]('Failed\x20to\x20read\x20logs:',_0x18c5e3),[];}}['clearLogs'](){const _0x28a75b=a317_0x5af645;try{a317_0x1fa2ad['existsSync'](this[_0x28a75b(0xaf)])&&a317_0x1fa2ad[_0x28a75b(0xcb)](this[_0x28a75b(0xaf)],'',_0x28a75b(0xda));}catch(_0x1e455a){console['warn']('Failed\x20to\x20clear\x20logs:',_0x1e455a);}}[a317_0x5af645(0xd2)](){const _0x3ce408=a317_0x5af645;return this[_0x3ce408(0xe6)];}}export const logger=new Logger();
1
+ function a315_0x378e(_0x38a580,_0x1fd960){_0x38a580=_0x38a580-0x1ce;const _0x5e5f51=a315_0x5e5f();let _0x378e0c=_0x5e5f51[_0x38a580];return _0x378e0c;}const a315_0x3f7ccf=a315_0x378e;(function(_0x33c1dc,_0x5ddf86){const _0xf7be17=a315_0x378e,_0x219903=_0x33c1dc();while(!![]){try{const _0x764eaf=parseInt(_0xf7be17(0x1d7))/0x1*(parseInt(_0xf7be17(0x206))/0x2)+-parseInt(_0xf7be17(0x208))/0x3+-parseInt(_0xf7be17(0x1e7))/0x4+-parseInt(_0xf7be17(0x1d0))/0x5+-parseInt(_0xf7be17(0x1e4))/0x6*(-parseInt(_0xf7be17(0x1d3))/0x7)+-parseInt(_0xf7be17(0x1d9))/0x8*(parseInt(_0xf7be17(0x1fb))/0x9)+parseInt(_0xf7be17(0x1f8))/0xa*(parseInt(_0xf7be17(0x1f0))/0xb);if(_0x764eaf===_0x5ddf86)break;else _0x219903['push'](_0x219903['shift']());}catch(_0x51ec9a){_0x219903['push'](_0x219903['shift']());}}}(a315_0x5e5f,0x9ff9b));import a315_0x58e18b from'winston';import a315_0x273d7b from'node:fs';import a315_0x5a0778 from'node:path';class Logger{[a315_0x3f7ccf(0x1fe)];[a315_0x3f7ccf(0x1f6)];[a315_0x3f7ccf(0x202)]='';constructor(){const _0x546b82=a315_0x3f7ccf;this[_0x546b82(0x1f6)]='';}[a315_0x3f7ccf(0x1cf)](_0x3d8c8c){this['currentRawCommand']=_0x3d8c8c;}['initWinstonLogger'](){const _0xfc1663=a315_0x3f7ccf,_0x327134=a315_0x5a0778[_0xfc1663(0x200)](this[_0xfc1663(0x1f6)]);!a315_0x273d7b[_0xfc1663(0x207)](_0x327134)&&a315_0x273d7b[_0xfc1663(0x1ce)](_0x327134,{'recursive':!![]});const _0xa8584d=a315_0x58e18b['format'][_0xfc1663(0x1ee)](a315_0x58e18b[_0xfc1663(0x1da)][_0xfc1663(0x1ed)](),a315_0x58e18b[_0xfc1663(0x1da)]['errors']({'stack':!![]}),a315_0x58e18b[_0xfc1663(0x1da)][_0xfc1663(0x1f3)](_0x4823db=>{const _0xa4c59e=_0xfc1663,_0x34ba50={'timestamp':_0x4823db['timestamp']||new Date()['toISOString'](),'level':_0x4823db[_0xa4c59e(0x1de)]||_0xa4c59e(0x1e2),'command':_0x4823db[_0xa4c59e(0x1d4)]||_0xa4c59e(0x1db),'rawCommand':_0x4823db[_0xa4c59e(0x1f5)]||this[_0xa4c59e(0x202)]||undefined,'message':_0x4823db['message']||'','duration':_0x4823db[_0xa4c59e(0x1e8)]||undefined,'details':_0x4823db[_0xa4c59e(0x1f1)]||undefined};return JSON[_0xa4c59e(0x201)](_0x34ba50);}));this['winstonLogger']=a315_0x58e18b[_0xfc1663(0x1ea)]({'level':_0xfc1663(0x1e2),'format':_0xa8584d,'transports':[new a315_0x58e18b['transports'][(_0xfc1663(0x1e3))]({'filename':this[_0xfc1663(0x1f6)],'level':_0xfc1663(0x1e2)})],'silent':![]}),a315_0x58e18b[_0xfc1663(0x1e5)]({'success':_0xfc1663(0x1fc),'error':_0xfc1663(0x1d2),'warn':'yellow','info':_0xfc1663(0x1fd)});}['setLogPath'](_0x5c76be){const _0x5de31a=a315_0x3f7ccf;this[_0x5de31a(0x1f6)]=a315_0x5a0778[_0x5de31a(0x1f2)](_0x5c76be,_0x5de31a(0x1ef)),this['winstonLogger']&&this['winstonLogger'][_0x5de31a(0x1ff)](),this[_0x5de31a(0x1f4)]();}[a315_0x3f7ccf(0x1e2)](_0x4d9373,_0x5d0428,_0x515e0f){const _0x4dc310=a315_0x3f7ccf;if(!this[_0x4dc310(0x1f6)]||!this[_0x4dc310(0x1fe)])return;this[_0x4dc310(0x1fe)][_0x4dc310(0x1e2)](_0x5d0428,{'command':_0x4d9373,'details':_0x515e0f});}['success'](_0x29fa0e,_0x54a313,_0x1c262d,_0x23b053){const _0x3a2fc9=a315_0x3f7ccf;if(!this['logFilePath']||!this[_0x3a2fc9(0x1fe)])return;this[_0x3a2fc9(0x1fe)][_0x3a2fc9(0x1d6)]('info',_0x54a313,{'level':'success','command':_0x29fa0e,'duration':_0x1c262d,'details':_0x23b053});}['error'](_0x1dfb81,_0x4fa917,_0x4b162a){const _0x505400=a315_0x3f7ccf;if(!this[_0x505400(0x1f6)]||!this[_0x505400(0x1fe)])return;this[_0x505400(0x1fe)][_0x505400(0x1dd)](_0x4fa917,{'command':_0x1dfb81,'details':_0x4b162a});}['warn'](_0x5ac6d8,_0x2d1454,_0xe41e01){const _0x550fc2=a315_0x3f7ccf;if(!this[_0x550fc2(0x1f6)]||!this[_0x550fc2(0x1fe)])return;this[_0x550fc2(0x1fe)]['warn'](_0x2d1454,{'command':_0x5ac6d8,'details':_0xe41e01});}async[a315_0x3f7ccf(0x1eb)](_0x32a553,_0x555ff8,_0x3945a9){const _0x5d29dd=a315_0x3f7ccf,_0x482df9=Date[_0x5d29dd(0x203)]();this[_0x5d29dd(0x1e2)](_0x32a553,_0x5d29dd(0x1e9)+_0x555ff8);try{const _0x30a4ee=await _0x3945a9(),_0x4c3eed=Date[_0x5d29dd(0x203)]()-_0x482df9;return this[_0x5d29dd(0x1e6)](_0x32a553,_0x5d29dd(0x1dc)+_0x555ff8,_0x4c3eed),_0x30a4ee;}catch(_0x4f9692){const _0x4699c8=Date['now']()-_0x482df9;this['error'](_0x32a553,'Failed:\x20'+_0x555ff8,{'error':_0x4f9692 instanceof Error?_0x4f9692['message']:String(_0x4f9692),'duration':_0x4699c8});throw _0x4f9692;}}[a315_0x3f7ccf(0x205)](){const _0x49f922=a315_0x3f7ccf;try{if(!a315_0x273d7b[_0x49f922(0x207)](this[_0x49f922(0x1f6)]))return[];const _0x441e11=a315_0x273d7b['readFileSync'](this['logFilePath'],_0x49f922(0x1ec));return _0x441e11['split']('\x0a')[_0x49f922(0x1f9)](_0xa67521=>_0xa67521[_0x49f922(0x1f7)]())[_0x49f922(0x1d1)](_0x4c6453=>JSON[_0x49f922(0x204)](_0x4c6453));}catch(_0x44ad5a){return console[_0x49f922(0x1fa)](_0x49f922(0x1df),_0x44ad5a),[];}}[a315_0x3f7ccf(0x1e0)](){const _0x28485f=a315_0x3f7ccf;try{a315_0x273d7b['existsSync'](this[_0x28485f(0x1f6)])&&a315_0x273d7b[_0x28485f(0x1d5)](this[_0x28485f(0x1f6)],'',_0x28485f(0x1ec));}catch(_0x5d1de0){console[_0x28485f(0x1fa)](_0x28485f(0x1d8),_0x5d1de0);}}[a315_0x3f7ccf(0x1e1)](){const _0x5ca7ae=a315_0x3f7ccf;return this[_0x5ca7ae(0x1fe)];}}function a315_0x5e5f(){const _0x302b90=['stringify','currentRawCommand','now','parse','readLogs','1873762vJUSlL','existsSync','1627698VdugkO','mkdirSync','setRawCommand','674600jElmYe','map','red','48328HmQyZD','command','writeFileSync','log','1qfzPRZ','Failed\x20to\x20clear\x20logs:','8WFHjWP','format','unknown','Completed:\x20','error','level','Failed\x20to\x20read\x20logs:','clearLogs','getWinstonInstance','info','File','42qNUfBl','addColors','success','5118876daMYEz','duration','Starting:\x20','createLogger','logTask','utf8','timestamp','combine','.lovrabet.log','258753SbwFbI','details','join','printf','initWinstonLogger','rawCommand','logFilePath','trim','1240NJvToB','filter','warn','11606373UBcECY','green','blue','winstonLogger','clear','dirname'];a315_0x5e5f=function(){return _0x302b90;};return a315_0x5e5f();}export const logger=new Logger();
@@ -1 +1 @@
1
- function a318_0x90a7(_0x53376b,_0x82b1d4){_0x53376b=_0x53376b-0x1ba;const _0x1cb665=a318_0x1cb6();let _0x90a7ac=_0x1cb665[_0x53376b];return _0x90a7ac;}(function(_0x504158,_0x1f327d){const _0xf9561a=a318_0x90a7,_0x4067d3=_0x504158();while(!![]){try{const _0x25dd6c=parseInt(_0xf9561a(0x1c8))/0x1+-parseInt(_0xf9561a(0x1bf))/0x2*(-parseInt(_0xf9561a(0x1c5))/0x3)+-parseInt(_0xf9561a(0x1c4))/0x4*(-parseInt(_0xf9561a(0x1bc))/0x5)+-parseInt(_0xf9561a(0x1c7))/0x6+parseInt(_0xf9561a(0x1c6))/0x7*(-parseInt(_0xf9561a(0x1bd))/0x8)+parseInt(_0xf9561a(0x1be))/0x9+-parseInt(_0xf9561a(0x1c3))/0xa;if(_0x25dd6c===_0x1f327d)break;else _0x4067d3['push'](_0x4067d3['shift']());}catch(_0xed0f97){_0x4067d3['push'](_0x4067d3['shift']());}}}(a318_0x1cb6,0x2e92c));import{CliErrors}from'../errors.js';function a318_0x1cb6(){const _0x25cdf1=['104EAoMhj','161163HJEwSH','173734DZxnjx','object','Invalid\x20JSON\x20for\x20--params:\x20','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','876060uvuVHZ','1027084iDvbjk','9DPiBKs','171899CUVQZt','495162okSHTI','144859oDLbuH','validation','parse','isArray','5JgIOff'];a318_0x1cb6=function(){return _0x25cdf1;};return a318_0x1cb6();}export function parseJsonParams(_0x3208df){const _0x29106c=a318_0x90a7;if(!_0x3208df)return undefined;let _0x46dc56;try{_0x46dc56=JSON[_0x29106c(0x1ba)](_0x3208df);}catch{throw CliErrors[_0x29106c(0x1c9)](_0x29106c(0x1c1)+_0x3208df);}if(!_0x46dc56||typeof _0x46dc56!==_0x29106c(0x1c0)||Array[_0x29106c(0x1bb)](_0x46dc56))throw CliErrors[_0x29106c(0x1c9)]('--params\x20must\x20be\x20a\x20JSON\x20object',_0x29106c(0x1c2));return _0x46dc56;}
1
+ (function(_0x4965c4,_0x1cb9c8){const _0x359b66=a316_0xa07d,_0x5d7462=_0x4965c4();while(!![]){try{const _0xc603f8=parseInt(_0x359b66(0x112))/0x1*(parseInt(_0x359b66(0x11e))/0x2)+parseInt(_0x359b66(0x10f))/0x3+-parseInt(_0x359b66(0x113))/0x4*(parseInt(_0x359b66(0x118))/0x5)+parseInt(_0x359b66(0x110))/0x6+-parseInt(_0x359b66(0x119))/0x7+parseInt(_0x359b66(0x11b))/0x8+-parseInt(_0x359b66(0x114))/0x9;if(_0xc603f8===_0x1cb9c8)break;else _0x5d7462['push'](_0x5d7462['shift']());}catch(_0x5055bf){_0x5d7462['push'](_0x5d7462['shift']());}}}(a316_0x1682,0xedaad));import{CliErrors}from'../errors.js';function a316_0xa07d(_0x4e99aa,_0x403aab){_0x4e99aa=_0x4e99aa-0x10f;const _0x1682f7=a316_0x1682();let _0xa07d21=_0x1682f7[_0x4e99aa];return _0xa07d21;}function a316_0x1682(){const _0x13a320=['isArray','33IFVLUo','32rqUgkz','35356869YQXreI','Example:\x20--params\x20\x27{\x22id\x22:123}\x27','Invalid\x20JSON\x20for\x20--params:\x20','--params\x20must\x20be\x20a\x20JSON\x20object','506645dmSwHS','1381639qCxIPW','object','11609168xDBQAI','parse','validation','105572gRRGZm','4297722gmFlhi','7706262HvPQCn'];a316_0x1682=function(){return _0x13a320;};return a316_0x1682();}export function parseJsonParams(_0x2708d1){const _0x6e4450=a316_0xa07d;if(!_0x2708d1)return undefined;let _0x2bfa1c;try{_0x2bfa1c=JSON[_0x6e4450(0x11c)](_0x2708d1);}catch{throw CliErrors['validation'](_0x6e4450(0x116)+_0x2708d1);}if(!_0x2bfa1c||typeof _0x2bfa1c!==_0x6e4450(0x11a)||Array[_0x6e4450(0x111)](_0x2bfa1c))throw CliErrors[_0x6e4450(0x11d)](_0x6e4450(0x117),_0x6e4450(0x115));return _0x2bfa1c;}
@@ -2,17 +2,18 @@
2
2
  * Platform-specific utilities for cross-platform CLI execution.
3
3
  *
4
4
  * On Windows, npm-installed CLIs (npm, npx, pnpm, yarn) are .cmd batch
5
- * wrappers. Node's spawn/spawnSync without `shell: true` cannot locate them
6
- * without the explicit .cmd extension. execa (via cross-spawn) handles this
7
- * automatically, but for spawn/spawnSync callers use resolveNpmBin explicitly.
5
+ * wrappers. Execa resolves these wrappers cross-platform when given the
6
+ * unmodified command name. Native spawn/spawnSync callers must not assume that
7
+ * appending `.cmd` makes a batch wrapper directly executable with shell disabled.
8
8
  *
9
9
  * NOTE: Native executables like bun.exe do NOT need this treatment.
10
10
  * Only use resolveNpmBin for npm-ecosystem batch wrappers.
11
11
  */
12
12
  export declare const isWindows: boolean;
13
13
  /**
14
- * Resolve the correct executable name for npm-ecosystem batch wrappers on Windows.
15
- * Use this whenever calling spawn/spawnSync (without shell: true) with npm, npx, etc.
14
+ * Resolve the historical executable name used by existing Execa callers.
15
+ * New cross-platform calls should prefer passing the unmodified command name
16
+ * directly to Execa. Do not use this helper with native spawn/spawnSync.
16
17
  *
17
18
  * @example
18
19
  * resolveNpmBin("npx") // "npx" on macOS/Linux, "npx.cmd" on Windows
@@ -1 +1 @@
1
- function a319_0x1861(_0x45c2c7,_0x3e3608){_0x45c2c7=_0x45c2c7-0x121;const _0x35f362=a319_0x35f3();let _0x18614f=_0x35f362[_0x45c2c7];return _0x18614f;}const a319_0x234ae5=a319_0x1861;(function(_0x110d5b,_0x51f6be){const _0x1d8498=a319_0x1861,_0x4d3573=_0x110d5b();while(!![]){try{const _0x59de37=-parseInt(_0x1d8498(0x129))/0x1*(parseInt(_0x1d8498(0x127))/0x2)+parseInt(_0x1d8498(0x128))/0x3*(parseInt(_0x1d8498(0x121))/0x4)+-parseInt(_0x1d8498(0x12c))/0x5*(-parseInt(_0x1d8498(0x12b))/0x6)+parseInt(_0x1d8498(0x12a))/0x7+parseInt(_0x1d8498(0x123))/0x8*(parseInt(_0x1d8498(0x12d))/0x9)+-parseInt(_0x1d8498(0x124))/0xa+parseInt(_0x1d8498(0x125))/0xb*(parseInt(_0x1d8498(0x122))/0xc);if(_0x59de37===_0x51f6be)break;else _0x4d3573['push'](_0x4d3573['shift']());}catch(_0x488688){_0x4d3573['push'](_0x4d3573['shift']());}}}(a319_0x35f3,0xe5598));function a319_0x35f3(){const _0x36179f=['2123TdzLcs','platform','526hYeVvw','6ncnLkQ','3129MbtfqZ','1102626ozBjEm','304038CIXryw','5mGHqhV','9EMVFHU','1435944jhFnnh','16908fQzxSF','13217592VvVxzh','10879560oZQgzP'];a319_0x35f3=function(){return _0x36179f;};return a319_0x35f3();}export const isWindows=process[a319_0x234ae5(0x126)]==='win32';export function resolveNpmBin(_0x3d5188){return isWindows?_0x3d5188+'.cmd':_0x3d5188;}
1
+ const a317_0x38b06c=a317_0x43e8;function a317_0xee28(){const _0x3a671f=['181128GcZQep','1265110dVAoKD','171Swtgue','platform','331095BZZuhr','70zpEkaq','103016YXSaSx','75SIJOWa','4259100hOLFxN','1733510apTpfH','.cmd','1059108pJbqaA'];a317_0xee28=function(){return _0x3a671f;};return a317_0xee28();}(function(_0x4be0bc,_0x42801f){const _0x2fc76d=a317_0x43e8,_0x4958f2=_0x4be0bc();while(!![]){try{const _0x579409=-parseInt(_0x2fc76d(0x1da))/0x1+-parseInt(_0x2fc76d(0x1e1))/0x2+parseInt(_0x2fc76d(0x1dd))/0x3*(-parseInt(_0x2fc76d(0x1dc))/0x4)+-parseInt(_0x2fc76d(0x1e3))/0x5+-parseInt(_0x2fc76d(0x1de))/0x6+-parseInt(_0x2fc76d(0x1db))/0x7*(parseInt(_0x2fc76d(0x1e2))/0x8)+-parseInt(_0x2fc76d(0x1e4))/0x9*(-parseInt(_0x2fc76d(0x1df))/0xa);if(_0x579409===_0x42801f)break;else _0x4958f2['push'](_0x4958f2['shift']());}catch(_0x2dae59){_0x4958f2['push'](_0x4958f2['shift']());}}}(a317_0xee28,0x92750));function a317_0x43e8(_0x44e343,_0xbeed1){_0x44e343=_0x44e343-0x1da;const _0xee2828=a317_0xee28();let _0x43e80d=_0xee2828[_0x44e343];return _0x43e80d;}export const isWindows=process[a317_0x38b06c(0x1e5)]==='win32';export function resolveNpmBin(_0x51269f){const _0x9ee8d9=a317_0x38b06c;return isWindows?_0x51269f+_0x9ee8d9(0x1e0):_0x51269f;}
@@ -1 +1 @@
1
- export function sleep(_0x520144){return new Promise(_0x172108=>setTimeout(_0x172108,_0x520144));}
1
+ export function sleep(_0x24126d){return new Promise(_0x5c45ed=>setTimeout(_0x5c45ed,_0x24126d));}
@@ -1 +1 @@
1
- const a321_0x596c0f=a321_0x38d2;(function(_0x487a89,_0x118bba){const _0x140626=a321_0x38d2,_0x22f7c8=_0x487a89();while(!![]){try{const _0x5b00cf=-parseInt(_0x140626(0x1a0))/0x1*(parseInt(_0x140626(0x18c))/0x2)+-parseInt(_0x140626(0x196))/0x3*(-parseInt(_0x140626(0x1a3))/0x4)+-parseInt(_0x140626(0x198))/0x5*(parseInt(_0x140626(0x185))/0x6)+-parseInt(_0x140626(0x177))/0x7+-parseInt(_0x140626(0x17e))/0x8+parseInt(_0x140626(0x19d))/0x9+parseInt(_0x140626(0x1a4))/0xa;if(_0x5b00cf===_0x118bba)break;else _0x22f7c8['push'](_0x22f7c8['shift']());}catch(_0x171174){_0x22f7c8['push'](_0x22f7c8['shift']());}}}(a321_0x46b5,0xb88ee));import a321_0x512d7b from'node:fs';function a321_0x46b5(){const _0x32f8d1=['includes','name','replace','getDate','.md','readFile','replaceApiContent','3dhXkqY','isFile','10040ZOcUQl','getHours','.ts','copyFile','message','6051870WTVMli','pad','utf8','1007UCpdZe','padStart','tableName:\x20\x22','5167028QepbSu','17111760HtDpVQ','getFullYear','slice','Template\x20content\x20replacement\x20failed','toUpperCase','.scss','extname','getMonth','toComponentName','endsWith','pop','.css','.tpl','alias:\x20\x22','YourModel','\x0a\x20\x20\x20\x20{\x20','template','toDisplayTitle','Starting\x20template\x20content\x20replacement','map','name:\x20\x22','join','datasetCode:\x20\x22','getMinutes','toISOString','mkdir','4381944nCBAop','replaceContent','promises','.js','.tsx','push','formatLocalTimestamp','6007640PTXOYx','default','alias','toLowerCase','success','now','info','258AFWKto','datasetCode','tableName','processDirectory','processFile','getSeconds','isDirectory','2892cIIsem','error','split'];a321_0x46b5=function(){return _0x32f8d1;};return a321_0x46b5();}import a321_0x30d407 from'node:path';import{logger}from'../utils/logger.js';function a321_0x38d2(_0x1d1af5,_0x21fa8d){_0x1d1af5=_0x1d1af5-0x16c;const _0x46b5be=a321_0x46b5();let _0x38d2b4=_0x46b5be[_0x1d1af5];return _0x38d2b4;}import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static['pad'](_0x47af24){const _0x4fd84a=a321_0x38d2;return String(_0x47af24)[_0x4fd84a(0x1a1)](0x2,'0');}static['formatLocalTimestamp'](_0x1e03f3){const _0x2d14e2=a321_0x38d2,_0x33135b=_0x1e03f3[_0x2d14e2(0x1a5)](),_0x1f3165=this['pad'](_0x1e03f3[_0x2d14e2(0x1ab)]()+0x1),_0x457438=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x192)]()),_0x4b0d84=this['pad'](_0x1e03f3[_0x2d14e2(0x199)]()),_0x4792ca=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x174)]()),_0x5a6186=this[_0x2d14e2(0x19e)](_0x1e03f3[_0x2d14e2(0x18a)]());return{'createdAt':_0x33135b+'-'+_0x1f3165+'-'+_0x457438+'\x20'+_0x4b0d84+':'+_0x4792ca+':'+_0x5a6186,'createdDate':_0x33135b+'-'+_0x1f3165+'-'+_0x457438,'createdTime':_0x4b0d84+':'+_0x4792ca+':'+_0x5a6186};}static['toComponentName'](_0x5f1264){const _0x1109ac=a321_0x38d2,_0x40ed05=_0x5f1264[_0x1109ac(0x18e)]('/')[_0x1109ac(0x1ae)]()||_0x5f1264;return _0x40ed05[_0x1109ac(0x18e)]('-')[_0x1109ac(0x170)](_0x431443=>_0x431443['charAt'](0x0)[_0x1109ac(0x1a8)]()+_0x431443['slice'](0x1)[_0x1109ac(0x181)]())[_0x1109ac(0x172)]('');}static[a321_0x596c0f(0x16e)](_0x34b9f7){const _0x34ce6f=a321_0x596c0f,_0x89621d=_0x34b9f7[_0x34ce6f(0x18e)]('/')[_0x34ce6f(0x1ae)]()||_0x34b9f7;return _0x89621d[_0x34ce6f(0x18e)]('-')[_0x34ce6f(0x170)](_0x542a45=>_0x542a45['charAt'](0x0)[_0x34ce6f(0x1a8)]()+_0x542a45[_0x34ce6f(0x1a6)](0x1)[_0x34ce6f(0x181)]())['join']('\x20');}static[a321_0x596c0f(0x178)](_0x11a42f,_0x12b3bc,_0x1d53f8){const _0x534842=a321_0x596c0f,_0x47d534=this[_0x534842(0x1ac)](_0x12b3bc),_0x51fc95=this[_0x534842(0x16e)](_0x12b3bc),{createdAt:_0x395fe4,createdDate:_0x5e2e41,createdTime:_0x374136}=this[_0x534842(0x17d)](new Date());let _0x1d4648=_0x11a42f[_0x534842(0x191)](/\{CliVersion\}/g,CLI_VERSION)[_0x534842(0x191)](/\{ComponentName\}/g,_0x47d534)[_0x534842(0x191)](/\{DisplayTitle\}/g,_0x51fc95)[_0x534842(0x191)](/\{PageName\}/g,_0x12b3bc)[_0x534842(0x191)](/\{TemplateName\}/g,_0x1d53f8)[_0x534842(0x191)](/\{CreatedAt\}/g,_0x395fe4)[_0x534842(0x191)](/\{CreatedDate\}/g,_0x5e2e41)[_0x534842(0x191)](/\{CreatedTime\}/g,_0x374136);return _0x1d4648;}static[a321_0x596c0f(0x195)](_0x2ceb8d,_0x5ee60f,_0xfb9abe,_0x5d01c8,_0x414470,_0x1bad75,_0x3dc617,_0x4640f9){const _0x18064b=a321_0x596c0f,_0x317ffc=new Date(),_0x2e3e3d=_0x317ffc[_0x18064b(0x175)](),_0x1210d1=_0xfb9abe[_0x18064b(0x170)](_0xff2f88=>{const _0xa9d322=_0x18064b,_0x53f2ff=[_0xa9d322(0x173)+_0xff2f88[_0xa9d322(0x186)]+'\x22',_0xa9d322(0x1a2)+_0xff2f88[_0xa9d322(0x187)]+'\x22',_0xa9d322(0x171)+_0xff2f88[_0xa9d322(0x190)]+'\x22'];return _0xff2f88[_0xa9d322(0x180)]&&_0x53f2ff[_0xa9d322(0x17c)](_0xa9d322(0x1b1)+_0xff2f88['alias']+'\x22'),_0xa9d322(0x16c)+_0x53f2ff[_0xa9d322(0x172)](',\x20')+'\x20},';})[_0x18064b(0x172)](''),_0x238a56=_0x5d01c8||_0xfb9abe[0x0]?.['alias']||_0x18064b(0x1b2);let _0x607b79=_0x2ceb8d['replace'](/\{AppCode\}/g,_0x5ee60f)[_0x18064b(0x191)](/\{ModelConfigs\}/g,_0x1210d1)[_0x18064b(0x191)](/\{ExampleModelName\}/g,_0x238a56)[_0x18064b(0x191)](/\{ApiFileName\}/g,_0x414470||'api')[_0x18064b(0x191)](/\{ConfigName\}/g,_0x1bad75||_0x18064b(0x17f))[_0x18064b(0x191)](/\{ClientConfigParam\}/g,_0x3dc617||'')[_0x18064b(0x191)](/\{VarPrefix\}/g,_0x4640f9||'LOVRABET')['replace'](/\{CreatedAt\}/g,_0x2e3e3d);return _0x607b79;}static async['processTemplate'](_0x576822,_0x5ae9eb,_0x5a8022,_0x516beb,_0x159499=!![]){const _0x25042d=a321_0x596c0f,_0x1cce03=Date[_0x25042d(0x183)]();try{_0x159499&&logger[_0x25042d(0x184)](_0x25042d(0x16d),_0x25042d(0x16f),{'templatePath':_0x576822,'targetPath':_0x5ae9eb,'pageName':_0x5a8022,'templateName':_0x516beb});await a321_0x512d7b[_0x25042d(0x179)][_0x25042d(0x176)](_0x5ae9eb,{'recursive':!![]}),await this['processDirectory'](_0x576822,_0x5ae9eb,_0x5a8022,_0x516beb);if(_0x159499){const _0x372da6=Date[_0x25042d(0x183)]()-_0x1cce03;logger[_0x25042d(0x182)](_0x25042d(0x16d),'Template\x20content\x20replacement\x20completed',_0x372da6,{'pageName':_0x5a8022,'templateName':_0x516beb});}}catch(_0x3155f0){if(_0x159499){const _0x45d8e5=Date[_0x25042d(0x183)]()-_0x1cce03;logger[_0x25042d(0x18d)](_0x25042d(0x16d),_0x25042d(0x1a7),{'templatePath':_0x576822,'targetPath':_0x5ae9eb,'pageName':_0x5a8022,'templateName':_0x516beb,'error':_0x3155f0 instanceof Error?_0x3155f0[_0x25042d(0x19c)]:String(_0x3155f0),'duration':_0x45d8e5});}throw _0x3155f0;}}static async['processDirectory'](_0x3bab39,_0x871fea,_0x21b010,_0xaf1248){const _0x3007d3=a321_0x596c0f,_0x57b5a8=await a321_0x512d7b[_0x3007d3(0x179)]['readdir'](_0x3bab39,{'withFileTypes':!![]});for(const _0x48530f of _0x57b5a8){const _0x3dc429=a321_0x30d407['join'](_0x3bab39,_0x48530f[_0x3007d3(0x190)]);let _0x4ce179=a321_0x30d407[_0x3007d3(0x172)](_0x871fea,_0x48530f[_0x3007d3(0x190)]);_0x48530f[_0x3007d3(0x190)][_0x3007d3(0x1ad)](_0x3007d3(0x1b0))&&(_0x4ce179=a321_0x30d407['join'](_0x871fea,_0x48530f[_0x3007d3(0x190)][_0x3007d3(0x191)](/\.tpl$/,'')));if(_0x48530f[_0x3007d3(0x18b)]())await a321_0x512d7b[_0x3007d3(0x179)]['mkdir'](_0x4ce179,{'recursive':!![]}),await this[_0x3007d3(0x188)](_0x3dc429,_0x4ce179,_0x21b010,_0xaf1248);else _0x48530f[_0x3007d3(0x197)]()&&await this[_0x3007d3(0x189)](_0x3dc429,_0x4ce179,_0x21b010,_0xaf1248);}}static async[a321_0x596c0f(0x189)](_0x42384b,_0x5d46f5,_0x40e5f4,_0x58f755){const _0x20e7c3=a321_0x596c0f,_0xd02dcb=a321_0x30d407[_0x20e7c3(0x1aa)](_0x42384b)['toLowerCase']();_0x42384b[_0x20e7c3(0x1ad)]('.tpl')&&(_0x5d46f5=_0x5d46f5[_0x20e7c3(0x191)](/\.tpl$/,''));const _0x3f7701=[_0x20e7c3(0x17b),_0x20e7c3(0x19a),'.jsx',_0x20e7c3(0x17a),'.json',_0x20e7c3(0x193),_0x20e7c3(0x1af),_0x20e7c3(0x1a9),_0x20e7c3(0x1b0)];if(_0x3f7701[_0x20e7c3(0x18f)](_0xd02dcb)||_0x42384b[_0x20e7c3(0x1ad)](_0x20e7c3(0x1b0))){const _0x24159c=await a321_0x512d7b[_0x20e7c3(0x179)][_0x20e7c3(0x194)](_0x42384b,'utf8'),_0x12223e=this[_0x20e7c3(0x178)](_0x24159c,_0x40e5f4,_0x58f755);await a321_0x512d7b[_0x20e7c3(0x179)]['writeFile'](_0x5d46f5,_0x12223e,_0x20e7c3(0x19f));}else await a321_0x512d7b[_0x20e7c3(0x179)][_0x20e7c3(0x19b)](_0x42384b,_0x5d46f5);}}
1
+ const a319_0x582160=a319_0x3ea8;function a319_0x19b3(){const _0x37f842=['push','join','name:\x20\x22','.tpl','.scss','8EWAqJq','formatLocalTimestamp','processFile','toUpperCase','getSeconds','29037700MSZyKS','writeFile','pop','extname','map','info','isDirectory','slice','Template\x20content\x20replacement\x20completed','getFullYear','toISOString','default','name','promises','readdir','\x20},','now','5015178uxknAQ','endsWith','replaceContent','message','7699531LRWrty','success','mkdir','\x0a\x20\x20\x20\x20{\x20','toComponentName','toLowerCase','4980580PGxQsk','datasetCode:\x20\x22','.md','6tvEoox','error','5425152MtpoGz','422teEpXj','datasetCode','.jsx','readFile','tableName:\x20\x22','processDirectory','getHours','replace','includes','copyFile','padStart','pad','.js','.ts','.tsx','alias','1445428AJocRO','alias:\x20\x22','4079bCmLEt','.json','Template\x20content\x20replacement\x20failed','isFile','getMonth','charAt','template','split','.css','utf8','getMinutes'];a319_0x19b3=function(){return _0x37f842;};return a319_0x19b3();}(function(_0x16ba16,_0x31e086){const _0x47260d=a319_0x3ea8,_0xcb7a65=_0x16ba16();while(!![]){try{const _0x1928bc=parseInt(_0x47260d(0x19e))/0x1*(-parseInt(_0x47260d(0x1d4))/0x2)+-parseInt(_0x47260d(0x1d1))/0x3*(parseInt(_0x47260d(0x19c))/0x4)+-parseInt(_0x47260d(0x1ce))/0x5+parseInt(_0x47260d(0x1d3))/0x6+parseInt(_0x47260d(0x1c8))/0x7*(-parseInt(_0x47260d(0x1ae))/0x8)+parseInt(_0x47260d(0x1c4))/0x9+parseInt(_0x47260d(0x1b3))/0xa;if(_0x1928bc===_0x31e086)break;else _0xcb7a65['push'](_0xcb7a65['shift']());}catch(_0x4ec77f){_0xcb7a65['push'](_0xcb7a65['shift']());}}}(a319_0x19b3,0xa76cc));import a319_0x361831 from'node:fs';import a319_0x4eb0c2 from'node:path';function a319_0x3ea8(_0x3155c7,_0x497e09){_0x3155c7=_0x3155c7-0x19b;const _0x19b33a=a319_0x19b3();let _0x3ea82b=_0x19b33a[_0x3155c7];return _0x3ea82b;}import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a319_0x582160(0x1df)](_0x256b5e){const _0x4e06f9=a319_0x582160;return String(_0x256b5e)[_0x4e06f9(0x1de)](0x2,'0');}static[a319_0x582160(0x1af)](_0x2955ec){const _0x3716fd=a319_0x582160,_0x22af8a=_0x2955ec[_0x3716fd(0x1bc)](),_0x2e9f36=this[_0x3716fd(0x1df)](_0x2955ec[_0x3716fd(0x1a2)]()+0x1),_0x398af1=this[_0x3716fd(0x1df)](_0x2955ec['getDate']()),_0x30a053=this[_0x3716fd(0x1df)](_0x2955ec[_0x3716fd(0x1da)]()),_0x3264db=this[_0x3716fd(0x1df)](_0x2955ec[_0x3716fd(0x1a8)]()),_0x458d04=this[_0x3716fd(0x1df)](_0x2955ec[_0x3716fd(0x1b2)]());return{'createdAt':_0x22af8a+'-'+_0x2e9f36+'-'+_0x398af1+'\x20'+_0x30a053+':'+_0x3264db+':'+_0x458d04,'createdDate':_0x22af8a+'-'+_0x2e9f36+'-'+_0x398af1,'createdTime':_0x30a053+':'+_0x3264db+':'+_0x458d04};}static[a319_0x582160(0x1cc)](_0x1fe942){const _0x1e09ad=a319_0x582160,_0x293405=_0x1fe942[_0x1e09ad(0x1a5)]('/')[_0x1e09ad(0x1b5)]()||_0x1fe942;return _0x293405[_0x1e09ad(0x1a5)]('-')['map'](_0x5472f7=>_0x5472f7['charAt'](0x0)[_0x1e09ad(0x1b1)]()+_0x5472f7['slice'](0x1)[_0x1e09ad(0x1cd)]())['join']('');}static['toDisplayTitle'](_0x29f235){const _0xf9f02f=a319_0x582160,_0x7d3b39=_0x29f235['split']('/')[_0xf9f02f(0x1b5)]()||_0x29f235;return _0x7d3b39['split']('-')[_0xf9f02f(0x1b7)](_0x4f6ce8=>_0x4f6ce8[_0xf9f02f(0x1a3)](0x0)[_0xf9f02f(0x1b1)]()+_0x4f6ce8[_0xf9f02f(0x1ba)](0x1)[_0xf9f02f(0x1cd)]())[_0xf9f02f(0x1aa)]('\x20');}static[a319_0x582160(0x1c6)](_0x2bb8b7,_0x588c01,_0x15b73b){const _0x567221=a319_0x582160,_0x571453=this['toComponentName'](_0x588c01),_0x4339a7=this['toDisplayTitle'](_0x588c01),{createdAt:_0x15154c,createdDate:_0x32649e,createdTime:_0xeab2cd}=this[_0x567221(0x1af)](new Date());let _0x6f9b6e=_0x2bb8b7[_0x567221(0x1db)](/\{CliVersion\}/g,CLI_VERSION)[_0x567221(0x1db)](/\{ComponentName\}/g,_0x571453)[_0x567221(0x1db)](/\{DisplayTitle\}/g,_0x4339a7)[_0x567221(0x1db)](/\{PageName\}/g,_0x588c01)['replace'](/\{TemplateName\}/g,_0x15b73b)[_0x567221(0x1db)](/\{CreatedAt\}/g,_0x15154c)[_0x567221(0x1db)](/\{CreatedDate\}/g,_0x32649e)[_0x567221(0x1db)](/\{CreatedTime\}/g,_0xeab2cd);return _0x6f9b6e;}static['replaceApiContent'](_0x581cb4,_0x1ec738,_0x49036b,_0x316261,_0x5535c4,_0x3e0dd1,_0x2fa7e7,_0x75b4df){const _0x25e046=a319_0x582160,_0x32075b=new Date(),_0x535b09=_0x32075b[_0x25e046(0x1bd)](),_0x18ff3f=_0x49036b[_0x25e046(0x1b7)](_0x37159e=>{const _0x572dce=_0x25e046,_0x8822cf=[_0x572dce(0x1cf)+_0x37159e[_0x572dce(0x1d5)]+'\x22',_0x572dce(0x1d8)+_0x37159e['tableName']+'\x22',_0x572dce(0x1ab)+_0x37159e[_0x572dce(0x1bf)]+'\x22'];return _0x37159e[_0x572dce(0x19b)]&&_0x8822cf[_0x572dce(0x1a9)](_0x572dce(0x19d)+_0x37159e[_0x572dce(0x19b)]+'\x22'),_0x572dce(0x1cb)+_0x8822cf[_0x572dce(0x1aa)](',\x20')+_0x572dce(0x1c2);})['join'](''),_0x49d26d=_0x316261||_0x49036b[0x0]?.[_0x25e046(0x19b)]||'YourModel';let _0x5d9f59=_0x581cb4[_0x25e046(0x1db)](/\{AppCode\}/g,_0x1ec738)[_0x25e046(0x1db)](/\{ModelConfigs\}/g,_0x18ff3f)[_0x25e046(0x1db)](/\{ExampleModelName\}/g,_0x49d26d)[_0x25e046(0x1db)](/\{ApiFileName\}/g,_0x5535c4||'api')[_0x25e046(0x1db)](/\{ConfigName\}/g,_0x3e0dd1||_0x25e046(0x1be))[_0x25e046(0x1db)](/\{ClientConfigParam\}/g,_0x2fa7e7||'')[_0x25e046(0x1db)](/\{VarPrefix\}/g,_0x75b4df||'LOVRABET')[_0x25e046(0x1db)](/\{CreatedAt\}/g,_0x535b09);return _0x5d9f59;}static async['processTemplate'](_0x42a200,_0x33ec8e,_0x1abd8d,_0x33abfa,_0x4c57e7=!![]){const _0x2fd691=a319_0x582160,_0x169f70=Date['now']();try{_0x4c57e7&&logger[_0x2fd691(0x1b8)](_0x2fd691(0x1a4),'Starting\x20template\x20content\x20replacement',{'templatePath':_0x42a200,'targetPath':_0x33ec8e,'pageName':_0x1abd8d,'templateName':_0x33abfa});await a319_0x361831['promises'][_0x2fd691(0x1ca)](_0x33ec8e,{'recursive':!![]}),await this['processDirectory'](_0x42a200,_0x33ec8e,_0x1abd8d,_0x33abfa);if(_0x4c57e7){const _0x52de49=Date['now']()-_0x169f70;logger[_0x2fd691(0x1c9)](_0x2fd691(0x1a4),_0x2fd691(0x1bb),_0x52de49,{'pageName':_0x1abd8d,'templateName':_0x33abfa});}}catch(_0x55da47){if(_0x4c57e7){const _0x10e927=Date[_0x2fd691(0x1c3)]()-_0x169f70;logger[_0x2fd691(0x1d2)]('template',_0x2fd691(0x1a0),{'templatePath':_0x42a200,'targetPath':_0x33ec8e,'pageName':_0x1abd8d,'templateName':_0x33abfa,'error':_0x55da47 instanceof Error?_0x55da47[_0x2fd691(0x1c7)]:String(_0x55da47),'duration':_0x10e927});}throw _0x55da47;}}static async[a319_0x582160(0x1d9)](_0x471573,_0x23ce06,_0x2419f3,_0xa21c39){const _0x5a0c56=a319_0x582160,_0x55eb6f=await a319_0x361831[_0x5a0c56(0x1c0)][_0x5a0c56(0x1c1)](_0x471573,{'withFileTypes':!![]});for(const _0x46c13b of _0x55eb6f){const _0x15a56d=a319_0x4eb0c2[_0x5a0c56(0x1aa)](_0x471573,_0x46c13b[_0x5a0c56(0x1bf)]);let _0x138113=a319_0x4eb0c2[_0x5a0c56(0x1aa)](_0x23ce06,_0x46c13b[_0x5a0c56(0x1bf)]);_0x46c13b[_0x5a0c56(0x1bf)]['endsWith'](_0x5a0c56(0x1ac))&&(_0x138113=a319_0x4eb0c2[_0x5a0c56(0x1aa)](_0x23ce06,_0x46c13b[_0x5a0c56(0x1bf)][_0x5a0c56(0x1db)](/\.tpl$/,'')));if(_0x46c13b[_0x5a0c56(0x1b9)]())await a319_0x361831[_0x5a0c56(0x1c0)]['mkdir'](_0x138113,{'recursive':!![]}),await this[_0x5a0c56(0x1d9)](_0x15a56d,_0x138113,_0x2419f3,_0xa21c39);else _0x46c13b[_0x5a0c56(0x1a1)]()&&await this[_0x5a0c56(0x1b0)](_0x15a56d,_0x138113,_0x2419f3,_0xa21c39);}}static async[a319_0x582160(0x1b0)](_0x30f10d,_0x2214f0,_0x57c4c4,_0x2e4b26){const _0x5858e9=a319_0x582160,_0x392268=a319_0x4eb0c2[_0x5858e9(0x1b6)](_0x30f10d)[_0x5858e9(0x1cd)]();_0x30f10d[_0x5858e9(0x1c5)](_0x5858e9(0x1ac))&&(_0x2214f0=_0x2214f0[_0x5858e9(0x1db)](/\.tpl$/,''));const _0x4fe3b9=[_0x5858e9(0x1e2),_0x5858e9(0x1e1),_0x5858e9(0x1d6),_0x5858e9(0x1e0),_0x5858e9(0x19f),_0x5858e9(0x1d0),_0x5858e9(0x1a6),_0x5858e9(0x1ad),_0x5858e9(0x1ac)];if(_0x4fe3b9[_0x5858e9(0x1dc)](_0x392268)||_0x30f10d[_0x5858e9(0x1c5)](_0x5858e9(0x1ac))){const _0x42d32f=await a319_0x361831['promises'][_0x5858e9(0x1d7)](_0x30f10d,_0x5858e9(0x1a7)),_0x21bf41=this[_0x5858e9(0x1c6)](_0x42d32f,_0x57c4c4,_0x2e4b26);await a319_0x361831['promises'][_0x5858e9(0x1b4)](_0x2214f0,_0x21bf41,_0x5858e9(0x1a7));}else await a319_0x361831[_0x5858e9(0x1c0)][_0x5858e9(0x1dd)](_0x30f10d,_0x2214f0);}}
@@ -1 +1 @@
1
- (function(_0x4b139f,_0x1783ab){const _0x30f7a4=a322_0x1774,_0x591570=_0x4b139f();while(!![]){try{const _0xdf70be=-parseInt(_0x30f7a4(0x170))/0x1+parseInt(_0x30f7a4(0x179))/0x2*(-parseInt(_0x30f7a4(0x175))/0x3)+-parseInt(_0x30f7a4(0x177))/0x4*(-parseInt(_0x30f7a4(0x180))/0x5)+parseInt(_0x30f7a4(0x172))/0x6+-parseInt(_0x30f7a4(0x16e))/0x7*(-parseInt(_0x30f7a4(0x167))/0x8)+parseInt(_0x30f7a4(0x178))/0x9+parseInt(_0x30f7a4(0x17e))/0xa*(-parseInt(_0x30f7a4(0x164))/0xb);if(_0xdf70be===_0x1783ab)break;else _0x591570['push'](_0x591570['shift']());}catch(_0xa4dce3){_0x591570['push'](_0x591570['shift']());}}}(a322_0x26ba,0x2a8b1));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a322_0x59bc4e from'semver';function a322_0x1774(_0x12286e,_0x1cc5d1){_0x12286e=_0x12286e-0x161;const _0x26ba6c=a322_0x26ba();let _0x17740e=_0x26ba6c[_0x12286e];return _0x17740e;}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';function a322_0x26ba(){const _0x2aad62=['10484grCqhU','982206sqKnpg','40LgvZqq','lastNotifiedAt','object','stringify','gte','20bwTbLo','latest','140gmmldC','yes','https://www.npmjs.com/package/','rabetbase-cli','valid','1034099CbruEz',',\x20run:\x20','toLowerCase','5016FnlkUi','number','lastNotifiedVersion','trim','update-check.json','utf8','\x20update','3633MttCfe','true','125552HgIuIm','now','1459512KnhIvR','.cache','parse','39504JwWZlH','checkedAt'];a322_0x26ba=function(){return _0x2aad62;};return a322_0x26ba();}import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x4f0a4d=a322_0x1774,_0x24f445=process.env.RABETBASE_NO_UPDATE_NOTICE?.['trim']()[_0x4f0a4d(0x166)]();return _0x24f445==='1'||_0x24f445===_0x4f0a4d(0x16f)||_0x24f445===_0x4f0a4d(0x181);}function cacheRoot(){const _0x26e338=a322_0x1774;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x26e338(0x173));}export function getUpdateNoticeCachePath(){const _0x67618f=a322_0x1774;return join(cacheRoot(),_0x67618f(0x162),_0x67618f(0x16b));}async function readUpdateNoticeCache(){const _0x132c08=a322_0x1774;try{const _0xeaddc2=await readFile(getUpdateNoticeCachePath(),_0x132c08(0x16c)),_0x5e1ec5=JSON[_0x132c08(0x174)](_0xeaddc2);if(!_0x5e1ec5||typeof _0x5e1ec5!==_0x132c08(0x17b))return{};return _0x5e1ec5;}catch{return{};}}async function writeUpdateNoticeCache(_0x29b828){const _0x2df3bf=a322_0x1774;try{const _0xe8ed0a=getUpdateNoticeCachePath();await mkdir(dirname(_0xe8ed0a),{'recursive':!![]}),await writeFile(_0xe8ed0a,JSON[_0x2df3bf(0x17c)](_0x29b828,null,0x2)+'\x0a',_0x2df3bf(0x16c));}catch{}}function isFreshCheck(_0x568580,_0x309a14){const _0x1b72c7=a322_0x1774;return typeof _0x568580[_0x1b72c7(0x176)]===_0x1b72c7(0x168)&&_0x309a14-_0x568580[_0x1b72c7(0x176)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x4e4a7a,_0x3d1b68,_0x54f8cf){const _0xeb8525=a322_0x1774;return _0x4e4a7a[_0xeb8525(0x169)]===_0x3d1b68&&typeof _0x4e4a7a[_0xeb8525(0x17a)]===_0xeb8525(0x168)&&_0x54f8cf-_0x4e4a7a[_0xeb8525(0x17a)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x31e363){const _0x1676d9=a322_0x1774;return _0x1676d9(0x161)+NPM_PACKAGE_NAME+'/v/'+_0x31e363;}export async function resolveLatestUpdateNotice(){const _0x438880=a322_0x1774;if(isUpdateNoticeDisabled())return null;try{const _0x154bce=Date[_0x438880(0x171)](),_0x3fcd78=getCliVersion(),_0x2be4ee=await readUpdateNoticeCache();let _0x3c9b8a=isFreshCheck(_0x2be4ee,_0x154bce)?_0x2be4ee[_0x438880(0x17f)]?.[_0x438880(0x16a)]():undefined;if(!_0x3c9b8a&&!isFreshCheck(_0x2be4ee,_0x154bce)){const _0x505f70=await getCliVersionPolicy();_0x3c9b8a=_0x505f70?.['stableVersion']?.[_0x438880(0x16a)]()||undefined,await writeUpdateNoticeCache({..._0x2be4ee,'checkedAt':_0x154bce,'latest':_0x3c9b8a,'failed':!_0x3c9b8a});}if(!_0x3c9b8a||!a322_0x59bc4e[_0x438880(0x163)](_0x3fcd78)||!a322_0x59bc4e['valid'](_0x3c9b8a))return null;if(a322_0x59bc4e[_0x438880(0x17d)](_0x3fcd78,_0x3c9b8a))return null;if(isRecentlyNotified(_0x2be4ee,_0x3c9b8a,_0x154bce))return null;const _0x172cb4=CLI_BIN_NAME+_0x438880(0x16d);return await writeUpdateNoticeCache({..._0x2be4ee,'checkedAt':isFreshCheck(_0x2be4ee,_0x154bce)?_0x2be4ee[_0x438880(0x176)]:_0x154bce,'latest':_0x3c9b8a,'failed':![],'lastNotifiedVersion':_0x3c9b8a,'lastNotifiedAt':_0x154bce}),{'command':_0x172cb4,'current':_0x3fcd78,'latest':_0x3c9b8a,'url':buildNpmVersionUrl(_0x3c9b8a),'message':CLI_BIN_NAME+'\x20'+_0x3c9b8a+'\x20available,\x20current\x20'+_0x3fcd78+_0x438880(0x165)+_0x172cb4};}catch{return null;}}
1
+ function a320_0x304c(){const _0x453337=['number','true','valid','410432wDsaGU','utf8','774300mteFyr','stableVersion','1515650xrKADf','gte','55uXcypZ','rabetbase-cli','/v/','latest','1gtXvSm','trim','object','stringify','5qNbjWW','88590uFJMKc','toLowerCase','28NJNiNe','410762jWGxtH','lastNotifiedAt','2226663UoCaBC','yes','\x20available,\x20current\x20','parse','update-check.json','lastNotifiedVersion','183828TPskdJ','checkedAt'];a320_0x304c=function(){return _0x453337;};return a320_0x304c();}(function(_0xccaa91,_0x58c516){const _0x3ad17d=a320_0x4f6a,_0x48f804=_0xccaa91();while(!![]){try{const _0x21b2d5=parseInt(_0x3ad17d(0x15a))/0x1*(-parseInt(_0x3ad17d(0x162))/0x2)+-parseInt(_0x3ad17d(0x15f))/0x3+parseInt(_0x3ad17d(0x171))/0x4*(-parseInt(_0x3ad17d(0x15e))/0x5)+parseInt(_0x3ad17d(0x16a))/0x6*(parseInt(_0x3ad17d(0x161))/0x7)+-parseInt(_0x3ad17d(0x16f))/0x8+-parseInt(_0x3ad17d(0x164))/0x9+-parseInt(_0x3ad17d(0x154))/0xa*(-parseInt(_0x3ad17d(0x156))/0xb);if(_0x21b2d5===_0x58c516)break;else _0x48f804['push'](_0x48f804['shift']());}catch(_0x3fb2c7){_0x48f804['push'](_0x48f804['shift']());}}}(a320_0x304c,0x2565c));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a320_0x1570b9 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 _0x2bc436=a320_0x4f6a,_0x2326b0=process.env.RABETBASE_NO_UPDATE_NOTICE?.['trim']()[_0x2bc436(0x160)]();return _0x2326b0==='1'||_0x2326b0===_0x2bc436(0x16d)||_0x2326b0===_0x2bc436(0x165);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x131d0c=a320_0x4f6a;return join(cacheRoot(),_0x131d0c(0x157),_0x131d0c(0x168));}async function readUpdateNoticeCache(){const _0x220972=a320_0x4f6a;try{const _0x2d203d=await readFile(getUpdateNoticeCachePath(),_0x220972(0x170)),_0x258f4=JSON[_0x220972(0x167)](_0x2d203d);if(!_0x258f4||typeof _0x258f4!==_0x220972(0x15c))return{};return _0x258f4;}catch{return{};}}function a320_0x4f6a(_0x39ffcd,_0x375573){_0x39ffcd=_0x39ffcd-0x153;const _0x304c78=a320_0x304c();let _0x4f6a88=_0x304c78[_0x39ffcd];return _0x4f6a88;}async function writeUpdateNoticeCache(_0x2ae0b8){const _0x2b17b1=a320_0x4f6a;try{const _0x5a711a=getUpdateNoticeCachePath();await mkdir(dirname(_0x5a711a),{'recursive':!![]}),await writeFile(_0x5a711a,JSON[_0x2b17b1(0x15d)](_0x2ae0b8,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0xc9be3d,_0x5c48dc){const _0x2ab7d0=a320_0x4f6a;return typeof _0xc9be3d['checkedAt']===_0x2ab7d0(0x16c)&&_0x5c48dc-_0xc9be3d[_0x2ab7d0(0x16b)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x401b9d,_0x3f70f3,_0x4284e4){const _0x557c62=a320_0x4f6a;return _0x401b9d[_0x557c62(0x169)]===_0x3f70f3&&typeof _0x401b9d[_0x557c62(0x163)]===_0x557c62(0x16c)&&_0x4284e4-_0x401b9d['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0xbc81f6){const _0x15b016=a320_0x4f6a;return'https://www.npmjs.com/package/'+NPM_PACKAGE_NAME+_0x15b016(0x158)+_0xbc81f6;}export async function resolveLatestUpdateNotice(){const _0x4f21e8=a320_0x4f6a;if(isUpdateNoticeDisabled())return null;try{const _0x474c51=Date['now'](),_0x11a4ff=getCliVersion(),_0xf43b69=await readUpdateNoticeCache();let _0x537d4e=isFreshCheck(_0xf43b69,_0x474c51)?_0xf43b69[_0x4f21e8(0x159)]?.[_0x4f21e8(0x15b)]():undefined;if(!_0x537d4e&&!isFreshCheck(_0xf43b69,_0x474c51)){const _0x1392fd=await getCliVersionPolicy();_0x537d4e=_0x1392fd?.[_0x4f21e8(0x153)]?.[_0x4f21e8(0x15b)]()||undefined,await writeUpdateNoticeCache({..._0xf43b69,'checkedAt':_0x474c51,'latest':_0x537d4e,'failed':!_0x537d4e});}if(!_0x537d4e||!a320_0x1570b9['valid'](_0x11a4ff)||!a320_0x1570b9[_0x4f21e8(0x16e)](_0x537d4e))return null;if(a320_0x1570b9[_0x4f21e8(0x155)](_0x11a4ff,_0x537d4e))return null;if(isRecentlyNotified(_0xf43b69,_0x537d4e,_0x474c51))return null;const _0x262104=CLI_BIN_NAME+'\x20update';return await writeUpdateNoticeCache({..._0xf43b69,'checkedAt':isFreshCheck(_0xf43b69,_0x474c51)?_0xf43b69['checkedAt']:_0x474c51,'latest':_0x537d4e,'failed':![],'lastNotifiedVersion':_0x537d4e,'lastNotifiedAt':_0x474c51}),{'command':_0x262104,'current':_0x11a4ff,'latest':_0x537d4e,'url':buildNpmVersionUrl(_0x537d4e),'message':CLI_BIN_NAME+'\x20'+_0x537d4e+_0x4f21e8(0x166)+_0x11a4ff+',\x20run:\x20'+_0x262104};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x302517,_0x25114a){var _0x3d27a3=a323_0x375b,_0x2f731c=_0x302517();while(!![]){try{var _0x22577c=parseInt(_0x3d27a3(0x188))/0x1*(parseInt(_0x3d27a3(0x18b))/0x2)+-parseInt(_0x3d27a3(0x192))/0x3+parseInt(_0x3d27a3(0x190))/0x4+parseInt(_0x3d27a3(0x18c))/0x5*(parseInt(_0x3d27a3(0x18d))/0x6)+-parseInt(_0x3d27a3(0x18f))/0x7*(parseInt(_0x3d27a3(0x191))/0x8)+-parseInt(_0x3d27a3(0x189))/0x9*(-parseInt(_0x3d27a3(0x18a))/0xa)+parseInt(_0x3d27a3(0x18e))/0xb;if(_0x22577c===_0x25114a)break;else _0x2f731c['push'](_0x2f731c['shift']());}catch(_0x3ad065){_0x2f731c['push'](_0x2f731c['shift']());}}}(a323_0x4ec0,0x80358));function a323_0x4ec0(){var _0x5468d8=['1841HxDpYn','2443444vTkCLv','25016VAWpEe','618567afzbzz','7TXNeki','2315583Wmbumb','10jKFyWU','67406coHpqu','40DNCEdO','152076mtjJgK','2715867bpsElS'];a323_0x4ec0=function(){return _0x5468d8;};return a323_0x4ec0();}import{VERSION}from'../generated/build-info.js';function a323_0x375b(_0x3ccf5e,_0x16c171){_0x3ccf5e=_0x3ccf5e-0x188;var _0x4ec031=a323_0x4ec0();var _0x375bb4=_0x4ec031[_0x3ccf5e];return _0x375bb4;}export function getCliVersion(){return VERSION;}
1
+ (function(_0x348c4a,_0x58742f){var _0x53f578=a321_0x453b,_0x1216e=_0x348c4a();while(!![]){try{var _0xab2c34=parseInt(_0x53f578(0xf7))/0x1+parseInt(_0x53f578(0xf5))/0x2*(-parseInt(_0x53f578(0xf2))/0x3)+parseInt(_0x53f578(0xf1))/0x4+parseInt(_0x53f578(0xf3))/0x5+parseInt(_0x53f578(0xf4))/0x6+parseInt(_0x53f578(0xf6))/0x7+-parseInt(_0x53f578(0xf8))/0x8;if(_0xab2c34===_0x58742f)break;else _0x1216e['push'](_0x1216e['shift']());}catch(_0x44c5c8){_0x1216e['push'](_0x1216e['shift']());}}}(a321_0x1ef8,0x5c277));import{VERSION}from'../generated/build-info.js';function a321_0x1ef8(){var _0x1fda22=['278hEbyUb','1621893ALrvJC','244272WPBqKt','4095952WgOBoc','470336JqpVGS','10089hXrBVU','385760ADPTuN','4117242bjUQKj'];a321_0x1ef8=function(){return _0x1fda22;};return a321_0x1ef8();}function a321_0x453b(_0x4a37c2,_0x4cb373){_0x4a37c2=_0x4a37c2-0xf1;var _0x1ef842=a321_0x1ef8();var _0x453b32=_0x1ef842[_0x4a37c2];return _0x453b32;}export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- (function(_0x5e5adc,_0x5d8e46){var _0x50a60d=a324_0x230e,_0x5bd948=_0x5e5adc();while(!![]){try{var _0x1720a2=-parseInt(_0x50a60d(0x1b6))/0x1*(-parseInt(_0x50a60d(0x1b7))/0x2)+parseInt(_0x50a60d(0x1b4))/0x3*(parseInt(_0x50a60d(0x1b1))/0x4)+parseInt(_0x50a60d(0x1b0))/0x5+-parseInt(_0x50a60d(0x1b2))/0x6+-parseInt(_0x50a60d(0x1b3))/0x7+-parseInt(_0x50a60d(0x1af))/0x8+-parseInt(_0x50a60d(0x1b5))/0x9;if(_0x1720a2===_0x5d8e46)break;else _0x5bd948['push'](_0x5bd948['shift']());}catch(_0x2ba4f6){_0x5bd948['push'](_0x5bd948['shift']());}}}(a324_0x15f1,0xa7406));function a324_0x230e(_0x7412e0,_0x1bfc52){_0x7412e0=_0x7412e0-0x1af;var _0x15f11d=a324_0x15f1();var _0x230ed4=_0x15f11d[_0x7412e0];return _0x230ed4;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a324_0x15f1(){var _0x144f88=['7144792pzLwoD','4266045uTsHao','1753676KKjASw','1747764LlLaNz','1489068OXidRm','3kyXewu','2620647fYdqhg','540867bSNcXZ','4SIeViF'];a324_0x15f1=function(){return _0x144f88;};return a324_0x15f1();}export async function withActiveCookie(_0x131887,_0x2065aa){setActiveCookie(_0x131887);try{return await _0x2065aa();}finally{clearActiveCookie();}}
1
+ (function(_0x2ae8dc,_0x3f7733){var _0x23379d=a322_0xa88e,_0x4a06b5=_0x2ae8dc();while(!![]){try{var _0x5e3173=-parseInt(_0x23379d(0xd3))/0x1+parseInt(_0x23379d(0xd0))/0x2*(-parseInt(_0x23379d(0xd1))/0x3)+parseInt(_0x23379d(0xd5))/0x4+parseInt(_0x23379d(0xd8))/0x5*(parseInt(_0x23379d(0xd9))/0x6)+-parseInt(_0x23379d(0xd7))/0x7+-parseInt(_0x23379d(0xd4))/0x8+-parseInt(_0x23379d(0xd6))/0x9*(-parseInt(_0x23379d(0xd2))/0xa);if(_0x5e3173===_0x3f7733)break;else _0x4a06b5['push'](_0x4a06b5['shift']());}catch(_0x107855){_0x4a06b5['push'](_0x4a06b5['shift']());}}}(a322_0x399e,0x46730));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x148538,_0x29c553){setActiveCookie(_0x148538);try{return await _0x29c553();}finally{clearActiveCookie();}}function a322_0xa88e(_0x5d2c16,_0x15074f){_0x5d2c16=_0x5d2c16-0xd0;var _0x399e77=a322_0x399e();var _0xa88e47=_0x399e77[_0x5d2c16];return _0xa88e47;}function a322_0x399e(){var _0x2fc6a8=['40249tcmEQW','3101832QFFcRk','534840MMdnBv','6640506pFZHxl','813106EvygDE','1045rwYQtx','2580TFlEFU','36iSrBlx','21453UFVTuL','10GhtvzK'];a322_0x399e=function(){return _0x2fc6a8;};return a322_0x399e();}
@@ -1 +1 @@
1
- function a325_0x2919(_0x128299,_0x334d44){_0x128299=_0x128299-0xe2;var _0xd965e=a325_0xd965();var _0x29192a=_0xd965e[_0x128299];return _0x29192a;}function a325_0xd965(){var _0x5f1ab1=['19374jlHxVO','1349000bJZSjf','5370fvzExw','97706vINqWr','537468NCQLfT','3573qHVXEZ','2aFqtda','205084FRUMhz','stderr','14BFbbcX','182008tUYgRM'];a325_0xd965=function(){return _0x5f1ab1;};return a325_0xd965();}(function(_0x51c7cd,_0x5ac9a0){var _0x4e9702=a325_0x2919,_0x31b0b4=_0x51c7cd();while(!![]){try{var _0x45b34d=-parseInt(_0x4e9702(0xe8))/0x1*(parseInt(_0x4e9702(0xe5))/0x2)+parseInt(_0x4e9702(0xe2))/0x3+-parseInt(_0x4e9702(0xe9))/0x4+parseInt(_0x4e9702(0xe3))/0x5+-parseInt(_0x4e9702(0xe6))/0x6*(parseInt(_0x4e9702(0xeb))/0x7)+-parseInt(_0x4e9702(0xec))/0x8+parseInt(_0x4e9702(0xe7))/0x9*(parseInt(_0x4e9702(0xe4))/0xa);if(_0x45b34d===_0x5ac9a0)break;else _0x31b0b4['push'](_0x31b0b4['shift']());}catch(_0x37aabe){_0x31b0b4['push'](_0x31b0b4['shift']());}}}(a325_0xd965,0x21d43));export function writeCliSideChannelLine(_0x38fe56){var _0x6c0291=a325_0x2919;process[_0x6c0291(0xea)]['write'](_0x38fe56+'\x0a');}
1
+ function a323_0x205e(){var _0x1fd3eb=['55901PUDAEL','7029285OmQdee','44402314DXvKLI','write','32aAfdju','4293855NWlMYz','21MGLHrL','2045907ftnobl','4QkGbXB','40jHUqIo','14011500UkPLcW','2983662cmDfZV'];a323_0x205e=function(){return _0x1fd3eb;};return a323_0x205e();}(function(_0x33fdae,_0x563cec){var _0x3cd1b7=a323_0x3b09,_0x4d5e=_0x33fdae();while(!![]){try{var _0x3b23fb=parseInt(_0x3cd1b7(0x179))/0x1*(parseInt(_0x3cd1b7(0x176))/0x2)+-parseInt(_0x3cd1b7(0x17e))/0x3+-parseInt(_0x3cd1b7(0x175))/0x4*(-parseInt(_0x3cd1b7(0x17a))/0x5)+parseInt(_0x3cd1b7(0x178))/0x6*(parseInt(_0x3cd1b7(0x17f))/0x7)+-parseInt(_0x3cd1b7(0x17d))/0x8*(-parseInt(_0x3cd1b7(0x180))/0x9)+parseInt(_0x3cd1b7(0x177))/0xa+-parseInt(_0x3cd1b7(0x17b))/0xb;if(_0x3b23fb===_0x563cec)break;else _0x4d5e['push'](_0x4d5e['shift']());}catch(_0x3af7bc){_0x4d5e['push'](_0x4d5e['shift']());}}}(a323_0x205e,0xd18b3));function a323_0x3b09(_0x2b3642,_0x40ea68){_0x2b3642=_0x2b3642-0x175;var _0x205e7b=a323_0x205e();var _0x3b0953=_0x205e7b[_0x2b3642];return _0x3b0953;}export function writeCliSideChannelLine(_0x5dc8ab){var _0x2d45d5=a323_0x3b09;process['stderr'][_0x2d45d5(0x17c)](_0x5dc8ab+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.2-beta.4",
3
+ "version": "2.5.2-beta.6",
4
4
  "description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, Backend Function, database connections, skills, and AI agent workflows.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.2-beta.4
3
+ version: 2.5.2-beta.6
4
4
  description: "Use for Lovrabet development work through the rabetbase CLI: create or bind projects (including creating an AppCode project in the current folder), pull Dataset/API facts and maintain SDK clients, or manage datasets, Instant API access policies, database connections, pages, SQL, Backend Functions, menus, notifications, knowledge bases and kb search, Agent Context Rules, roles, files, OCR, deployment metadata, platform issues, and 钉钉沙箱账号绑定. Trigger when the user mentions rabetbase, Lovrabet development, AppCode, Dataset, Instant API allow/deny/route policy, project creation, api pull/codegen, dblink, page, SQL, BFF, menu, notification, knowledge base, kb search, Agent Context Rules, RULES.md, DATABASE.md, rule list/get/set, role, file/OCR, or related development workflows."
5
5
  metadata:
6
6
  requires:
@@ -54,7 +54,7 @@ metadata:
54
54
  - 需要了解数据集关联关系时用 `rabetbase dataset relations --format compress`(或 `json`);需要审计关系事实错误和人工复核项时用 `rabetbase dataset relation-audit --format compress`
55
55
  - 需要从文本需求创建新的 `METADATA` 数据集时,先读 [`dataset generate-start/status`](references/rabetbase-dataset-generate.md),执行 preview 写出 design 文件,审阅后用 `generate-start --apply --design-file` 提交任务,再用 `generate-status` 查询到成功
56
56
  - **管理物理库连接 / 测连 / 同步表结构分析**时用 `rabetbase db …`(先 [`db list`](references/rabetbase-db-list.md),trace/plan id 见 [`database-connection-workflow.md`](guides/database-connection-workflow.md))
57
- - **为独立部署同步研发元数据**时读 [`deployment sync`](references/rabetbase-deployment-sync.md):局部同步使用精确 type/codes;需要同步当前应用全部已支持研发元数据时使用 `deployment sync-all`;提交成功后按 jobId 查询状态,提交结果未知时用 `sync-jobs` 恢复任务事实
57
+ - 研发资源保存后的增量同步由服务端自动处理;仅在管理员明确要求首次初始化、历史回填或故障恢复时读 [`deployment sync-all`](references/rabetbase-deployment-sync-all.md),在停止编辑的安静窗口执行;提交成功后按 jobId 查询状态,提交结果未知时用 `sync-jobs` 恢复任务事实
58
58
  - DBAgent 增量分析默认先执行一次异步差异刷新:调用 `db diff-refresh-start`,保存 traceId,并用 `db diff-refresh-status` 查询同一任务到终态;成功后按原始意图执行 `db diff --all`(差异表)或 `db tables`(全部表)。无论 `tableCount` 大小都执行刷新;只有用户明确表示“不需要分析”“不刷新”或“只看现有结果”时才跳过异步刷新,并说明结果可能不是最新事实
59
59
  - 需要查看全部表(含无差异表)或主动重新分析既有表时,用 `db tables`;它固定聚合全表分页。`db diff --all` 只聚合全部差异分页
60
60
  - DB 增量分析先对完整 `toAnalyzeTables` 执行 `db analyze-batch-plan`;它生成的是本地批次方案,不是服务端 `planId`,也不会创建任务。再严格按批次顺序启动;每批独立保存 `planId`(即 `analyze-start` 返回值),当前批次到达已知终态前不得启动下一批
@@ -197,7 +197,7 @@ metadata:
197
197
  - **不要猜字段名** — 必须从 `dataset detail` 返回值获取真实字段名、类型、枚举值
198
198
  - **不要跳过 validate 与 dry-run** — 修改已有 SQL 并准备 `sql push` 前,必须先跑 `sql validate`;创建 SQL 或执行高风险同步前至少确认过 `sql create --dry-run`、`sql push --dry-run` 或 `sql delete --dry-run` 的预览
199
199
  - **不要手动拼 API URL** — 所有操作通过 CLI 命令完成,不要直接调 HTTP 接口
200
- - **不要自动重提部署同步**局部同步部分失败时保留逐项结果;应用范围提交结果不确定时先用 `deployment sync-jobs` 恢复任务事实,不得把非零退出误报为全部成功或直接重试
200
+ - **不要把 `sync-all` 当成日常发布或精确镜像** 它只用于管理员首次初始化、历史回填或故障恢复,按源端现存记录 UPSERT,不删除目标端额外记录;在停止编辑的安静窗口执行,提交结果不确定时先用 `deployment sync-jobs` 恢复任务事实,不自动重提
201
201
  - **不要向产品用户展开研发实现** — 回答角色权限操作时,不输出工程仓库、Controller、数据库表、接口路径、MR 排查或迁移过程;只说明 CLI 命令、角色边界、风险和可验证结果
202
202
  - **不要臆测 sqlCode / id** — 从 `sql list` 或 `bff list` 获取真实标识
203
203
  - **不要臆测 dblink id 或分析 trace/plan id** — 从 `db list` / `db detail` / `db analyze-start` 的返回字段获取(见 [database-connection-workflow.md](guides/database-connection-workflow.md))
@@ -372,8 +372,7 @@ const result = await client.bff.execute<DashboardData>({
372
372
  | 推送本地数据列表页 schema | [`rabetbase page push --id <pageId>`](references/rabetbase-page-push.md) | 推送后自动回拉 canonical schema 覆盖本地 |
373
373
  | 恢复已删除页面 | [`rabetbase page restore --id <pageId>`](references/rabetbase-page-restore.md) | 支持 `DATA_LIST|CUSTOM` 自动识别;跨类型同 ID 时显式传 `--page-type` |
374
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` |
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` 恢复任务事实,不自动重提 |
375
+ | 独立部署应用范围补偿同步 | [`rabetbase deployment sync-all`](references/rabetbase-deployment-sync-all.md) | 管理员首次初始化、历史回填或故障恢复时使用;`write`,只提交 appCode;在停止编辑的安静窗口执行,保存 jobId 后查询状态,结果未知时用 `sync-jobs` 恢复任务事实,不自动重提;不是精确镜像 |
377
376
  | 生成 / 更新 API 客户端代码 | [`rabetbase api pull`](references/rabetbase-api-pull.md) → [`sdk-client-generation.md`](guides/sdk-client-generation.md) | `api pull` 拉 Dataset 事实并刷新 `sdk-config.ts`;已有 `api.ts`/`client.ts` 按 guide 合并更新 |
378
377
  | 查看生成的 API 模型 | [`rabetbase api list`](references/rabetbase-api-list.md) | 列出已生成的数据模型 |
379
378
  | 查看现有 SQL | [`rabetbase sql list --name "xxx"`](references/rabetbase-sql-list.md) | 分页,按名称过滤;默认查当前决议到的单个应用 |
@@ -438,7 +437,7 @@ const result = await client.bff.execute<DashboardData>({
438
437
  | 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) |
439
438
  | 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) |
440
439
  | 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) |
441
- | Deployment | [`sync`](references/rabetbase-deployment-sync.md) / [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync.md) |
440
+ | Deployment | [`sync-all` / `sync-status` / `sync-jobs`](references/rabetbase-deployment-sync-all.md)(管理员初始化、回填与恢复) |
442
441
  | api commands | [`pull`](references/rabetbase-api-pull.md) / [`list`](references/rabetbase-api-list.md) |
443
442
  | 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) |
444
443
  | 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) |
@@ -0,0 +1,56 @@
1
+ # rabetbase deployment sync-all
2
+
3
+ 研发资源保存后的增量同步由服务端自动处理。`deployment sync` 已移除,`bff push` 与 `sql push` 也不再追加客户端同步请求。
4
+
5
+ `sync-all` 是管理员补偿工具,仅用于以下场景:
6
+
7
+ - 独立部署环境首次初始化。
8
+ - 服务端自动同步启用前的历史数据回填。
9
+ - 已确认自动同步遗漏后的故障恢复。
10
+
11
+ 它不属于日常研发发布步骤,也不能证明目标环境与源环境完全一致。服务端对源端现存记录执行 UPSERT,不删除目标端额外存在的历史记录。
12
+
13
+ ## 使用前确认
14
+
15
+ - 已完成 rabetbase 认证,并明确目标应用的 `appCode`。
16
+ - 已确认属于初始化、回填或恢复场景,而不是普通资源保存或发布。
17
+ - 应用已停止编辑,当前处于安静窗口,避免全量任务与服务端自动增量同步并行。
18
+ - 已准备在任务结束后执行独立的业务验收。
19
+
20
+ ## 先预览
21
+
22
+ dry-run 只生成本地计划,不调用服务端,也不验证部署目标:
23
+
24
+ ```sh
25
+ rabetbase deployment sync-all \
26
+ --appcode <appCode> \
27
+ --dry-run \
28
+ --format compress
29
+ ```
30
+
31
+ ## 正式执行
32
+
33
+ 经用户确认后复用同一 appCode;CI 或非交互环境需要全局 `--yes`:
34
+
35
+ ```sh
36
+ rabetbase deployment sync-all \
37
+ --appcode <appCode> \
38
+ --confirm \
39
+ --yes \
40
+ --format compress
41
+ ```
42
+
43
+ - `outcome=not_needed`:服务端判定当前应用无需创建任务,属于正常完成。
44
+ - `outcome=submitted`:保存 `jobId`,再查询同一任务。
45
+ - 提交结果未知:不得再次执行 `sync-all`;先用 `sync-jobs` 恢复任务事实。
46
+
47
+ ## 查询任务
48
+
49
+ ```sh
50
+ rabetbase deployment sync-status --job-id <jobId> --format compress
51
+ rabetbase deployment sync-jobs --appcode <appCode> --format compress
52
+ ```
53
+
54
+ 只根据 `isTerminal` 判断是否为已知终态;若为 `null`,保留服务端状态并交给用户判断。逐项资源类型和 action 是服务端开放字符串,不建立枚举闭集,也不因新值自动重提。
55
+
56
+ 任务成功只表示服务端完成了当前支持范围内的 UPSERT。目标端额外记录不会被删除,且任务明细可能受服务端保留上限影响,因此完成后仍需按业务事实验收。
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.2-beta.4",
6
- "skillVersion": "2.5.2-beta.4",
5
+ "packageVersion": "2.5.2-beta.6",
6
+ "skillVersion": "2.5.2-beta.6",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/backend-function.md",
@@ -82,7 +82,7 @@
82
82
  "references/rabetbase-db-tables.md",
83
83
  "references/rabetbase-db-test.md",
84
84
  "references/rabetbase-db-update.md",
85
- "references/rabetbase-deployment-sync.md",
85
+ "references/rabetbase-deployment-sync-all.md",
86
86
  "references/rabetbase-doctor.md",
87
87
  "references/rabetbase-file.md",
88
88
  "references/rabetbase-init.md",
@@ -140,5 +140,5 @@
140
140
  "references/rabetbase-user-account.md",
141
141
  "references/rabetbase-workspace.md"
142
142
  ],
143
- "digest": "dffe4df9136a202fd8cb263d8c4c6e4cb4f0f50b18b59e8745eb2fc282a50f58"
143
+ "digest": "2179549731ba41ea874331d418e157fb27c71879a1b2584cc9baee7c224eb0d8"
144
144
  }
@@ -1,20 +0,0 @@
1
- import { type DeploymentSyncItem, type DeploymentSyncType } from "../../core/api-client.js";
2
- import type { RuntimeContext } from "../../framework/types.js";
3
- export type AutomaticDeploymentSyncStatus = "not_needed" | "skipped_primary_failed" | "succeeded" | "partial_failure" | "failed" | "outcome_unknown";
4
- export interface AutomaticDeploymentSyncResult {
5
- attempted: boolean;
6
- status: AutomaticDeploymentSyncStatus;
7
- bizType: DeploymentSyncType;
8
- bizCodes: string[];
9
- items?: DeploymentSyncItem[];
10
- recoveryCommand?: string;
11
- error?: string;
12
- }
13
- export interface AutomaticDeploymentSyncPreview {
14
- status: "not_needed" | "would_sync";
15
- bizType: DeploymentSyncType;
16
- bizCodes: string[];
17
- }
18
- export declare function buildAutomaticDeploymentSyncPreview(bizType: DeploymentSyncType, rawCodes: string[]): AutomaticDeploymentSyncPreview;
19
- export declare function runAutomaticDeploymentSync(ctx: RuntimeContext, bizType: DeploymentSyncType, rawCodes: string[], primarySucceeded: boolean): Promise<AutomaticDeploymentSyncResult>;
20
- export declare function automaticDeploymentSyncSucceeded(result: AutomaticDeploymentSyncResult): boolean;
@@ -1 +0,0 @@
1
- (function(_0x2f1e48,_0x1b3cf1){const _0x575ff5=a97_0xcd08,_0x2269be=_0x2f1e48();while(!![]){try{const _0xdc4da=-parseInt(_0x575ff5(0x78))/0x1+parseInt(_0x575ff5(0x89))/0x2*(-parseInt(_0x575ff5(0x80))/0x3)+parseInt(_0x575ff5(0x77))/0x4+-parseInt(_0x575ff5(0x81))/0x5+parseInt(_0x575ff5(0x90))/0x6*(parseInt(_0x575ff5(0x86))/0x7)+parseInt(_0x575ff5(0x88))/0x8*(-parseInt(_0x575ff5(0x83))/0x9)+parseInt(_0x575ff5(0x7b))/0xa;if(_0xdc4da===_0x1b3cf1)break;else _0x2269be['push'](_0x2269be['shift']());}catch(_0x1a2214){_0x2269be['push'](_0x2269be['shift']());}}}(a97_0x62ec,0x9261c));import{CLI_BIN_NAME}from'../../constant/cli.js';function a97_0x62ec(){const _0x57e178=['\x20codes;\x20run\x20deployment\x20sync\x20manually\x20in\x20batches.','length','failed','175173kvnHxI','382810nqigFX','has','214173Bdwvuc','filter','not_needed','7Gfeyac','FAILED','112tYgXjN','16NVvYUo','deployment','would_sync','skipped_primary_failed','action','replace','partial_failure','6443910KQCikv','--type','status','--appcode','succeeded','--codes','\x27\x5c\x27\x27','appCode','join','Automatic\x20deployment\x20sync\x20supports\x20at\x20most\x20','878184bzfCdO','910491tFdXmq','test','map','10933880ScwYxC','bizCode'];a97_0x62ec=function(){return _0x57e178;};return a97_0x62ec();}import{isPlatformTransportFailure,syncDeploymentMetadata}from'../../core/api-client.js';const MAX_SYNC_CODES=0x64;export function buildAutomaticDeploymentSyncPreview(_0x5b70e2,_0x5c807f){const _0x126a73=a97_0xcd08,_0x2fdaa2=normalizeCodes(_0x5c807f);if(_0x2fdaa2[_0x126a73(0x7e)]===0x0)return{'status':_0x126a73(0x85),'bizType':_0x5b70e2,'bizCodes':_0x2fdaa2};return{'status':_0x126a73(0x8b),'bizType':_0x5b70e2,'bizCodes':_0x2fdaa2};}export async function runAutomaticDeploymentSync(_0x4cb304,_0x867488,_0x43ba2e,_0x51fc84){const _0x47fcc6=a97_0xcd08,_0x3e6986=normalizeCodes(_0x43ba2e);if(!_0x51fc84)return{'attempted':![],'status':'skipped_primary_failed','bizType':_0x867488,'bizCodes':_0x3e6986};if(_0x3e6986[_0x47fcc6(0x7e)]===0x0)return{'attempted':![],'status':_0x47fcc6(0x85),'bizType':_0x867488,'bizCodes':_0x3e6986};const _0x522019={'bizType':_0x867488,'bizCodes':_0x3e6986};if(_0x3e6986[_0x47fcc6(0x7e)]>MAX_SYNC_CODES)return{..._0x522019,'attempted':![],'status':_0x47fcc6(0x7f),'error':_0x47fcc6(0x76)+MAX_SYNC_CODES+_0x47fcc6(0x7d)};try{const {items:_0x38fd14}=await syncDeploymentMetadata({'appCode':_0x4cb304[_0x47fcc6(0x74)],'bizType':_0x867488,'bizCodes':_0x3e6986}),_0x4b9148=_0x38fd14['some'](_0x23bdf9=>_0x23bdf9[_0x47fcc6(0x8d)]===_0x47fcc6(0x87)),_0x409f26=new Set(_0x38fd14[_0x47fcc6(0x84)](_0xac4f3c=>_0xac4f3c['action']===_0x47fcc6(0x87))[_0x47fcc6(0x7a)](_0x28da54=>_0x28da54[_0x47fcc6(0x7c)])),_0x41db33=_0x3e6986[_0x47fcc6(0x84)](_0x5ccf9f=>_0x409f26[_0x47fcc6(0x82)](_0x5ccf9f));return{..._0x522019,'attempted':!![],'status':_0x4b9148?_0x47fcc6(0x8f):_0x47fcc6(0x94),'items':_0x38fd14,..._0x4b9148&&_0x41db33[_0x47fcc6(0x7e)]>0x0?{'recoveryCommand':buildRecoveryCommand(_0x4cb304[_0x47fcc6(0x74)],_0x867488,_0x41db33)}:{}};}catch(_0x219d86){return{..._0x522019,'attempted':!![],'status':isPlatformTransportFailure(_0x219d86)?'outcome_unknown':_0x47fcc6(0x7f),'recoveryCommand':buildRecoveryCommand(_0x4cb304[_0x47fcc6(0x74)],_0x867488,_0x3e6986),'error':_0x219d86 instanceof Error?_0x219d86['message']:String(_0x219d86)};}}function normalizeCodes(_0x186f8f){const _0x394cb0=a97_0xcd08;return[...new Set(_0x186f8f[_0x394cb0(0x7a)](_0x51cedb=>_0x51cedb['trim']())[_0x394cb0(0x84)](Boolean))];}export function automaticDeploymentSyncSucceeded(_0x49325f){const _0x383e69=a97_0xcd08;return _0x49325f['status']==='not_needed'||_0x49325f['status']===_0x383e69(0x8c)||_0x49325f[_0x383e69(0x92)]===_0x383e69(0x94);}function buildRecoveryCommand(_0x12513d,_0x1015a7,_0x14887a){const _0x231625=a97_0xcd08;return[CLI_BIN_NAME,_0x231625(0x8a),'sync',_0x231625(0x93),shellArg(_0x12513d),_0x231625(0x91),shellArg(_0x1015a7),_0x231625(0x95),shellArg(_0x14887a[_0x231625(0x75)](',')),'--confirm'][_0x231625(0x75)]('\x20');}function a97_0xcd08(_0x5f468a,_0x4c625c){_0x5f468a=_0x5f468a-0x74;const _0x62ec49=a97_0x62ec();let _0xcd088f=_0x62ec49[_0x5f468a];return _0xcd088f;}function shellArg(_0x2b64a7){const _0x441200=a97_0xcd08;return/^[A-Za-z0-9._:/,-]+$/[_0x441200(0x79)](_0x2b64a7)?_0x2b64a7:'\x27'+_0x2b64a7[_0x441200(0x8e)](/'/g,_0x441200(0x96))+'\x27';}
@@ -1,2 +0,0 @@
1
- import type { CommandDefinition } from "../../framework/types.js";
2
- export declare const deploymentSync: CommandDefinition;
@@ -1 +0,0 @@
1
- const a102_0x1f34b9=a102_0x156e;(function(_0x38ce63,_0x4d4b29){const _0x2a9469=a102_0x156e,_0x113fb4=_0x38ce63();while(!![]){try{const _0x2260c1=parseInt(_0x2a9469(0x126))/0x1*(-parseInt(_0x2a9469(0x116))/0x2)+parseInt(_0x2a9469(0x127))/0x3+-parseInt(_0x2a9469(0x119))/0x4+parseInt(_0x2a9469(0x106))/0x5*(parseInt(_0x2a9469(0x111))/0x6)+-parseInt(_0x2a9469(0x11c))/0x7*(parseInt(_0x2a9469(0x139))/0x8)+parseInt(_0x2a9469(0x110))/0x9+-parseInt(_0x2a9469(0x12e))/0xa;if(_0x2260c1===_0x4d4b29)break;else _0x113fb4['push'](_0x113fb4['shift']());}catch(_0xf71183){_0x113fb4['push'](_0x113fb4['shift']());}}}(a102_0x40ff,0x52cd0));import{APPCODE_FLAG_OPTIONAL}from'../../commands/common/flags.js';import{asDryRunResult}from'../../commands/common/dry-run.js';import{isPlatformTransportFailure,syncDeploymentMetadata}from'../../core/api-client.js';import{CliError,CliErrors}from'../../errors.js';const SYNC_PATH='/smartapi/data-sync/sync',SYNC_TYPES=['dataset',a102_0x1f34b9(0x10e),a102_0x1f34b9(0x141)],TYPE_FLAG={'name':'type','type':a102_0x1f34b9(0x125),'required':!![],'enum':[...SYNC_TYPES],'description':a102_0x1f34b9(0x129)},CODES_FLAG={'name':a102_0x1f34b9(0x11a),'type':a102_0x1f34b9(0x125),'required':!![],'description':'Comma-separated\x20Dataset,\x20Backend\x20Function,\x20or\x20SQL\x20codes\x20(maximum\x20100)'},CONFIRM_FLAG={'name':a102_0x1f34b9(0x12c),'type':'boolean','description':'Confirm\x20the\x20metadata\x20codes\x20and\x20start\x20synchronization'};export const deploymentSync={'service':a102_0x1f34b9(0x115),'command':a102_0x1f34b9(0x113),'description':a102_0x1f34b9(0x117),'risk':a102_0x1f34b9(0x112),'strictFlags':!![],'structuredErrors':!![],'confirmationDescription':'Synchronize\x20selected\x20development\x20metadata\x20into\x20the\x20server-managed\x20deployment\x20target.','flags':[TYPE_FLAG,CODES_FLAG,CONFIRM_FLAG,APPCODE_FLAG_OPTIONAL],async 'validate'(_0x53cf60){buildSyncPlan(_0x53cf60);},async 'dryRun'(_0x177c7c){const _0x4567cf=a102_0x1f34b9,_0x31ac35=buildSyncPlan(_0x177c7c);return asDryRunResult(buildOutput(_0x31ac35,[],!![],_0x4567cf(0x122)),{'method':_0x4567cf(0x135),'url':SYNC_PATH,'description':_0x4567cf(0x114)+_0x31ac35[_0x4567cf(0x131)][_0x4567cf(0x10f)][_0x4567cf(0x10d)]+'\x20'+_0x31ac35[_0x4567cf(0x131)][_0x4567cf(0x12b)]+_0x4567cf(0x108)});},async 'execute'(_0x408620){const _0x88be4a=a102_0x1f34b9,_0x2afe75=buildSyncPlan(_0x408620);if(!_0x408620[_0x88be4a(0x13b)]('confirm'))throw CliErrors['validation'](_0x88be4a(0x13e),'Run\x20with\x20--dry-run\x20first,\x20verify\x20the\x20target\x20and\x20codes,\x20then\x20add\x20--confirm.');let _0x1a3b6e;try{_0x1a3b6e=(await syncDeploymentMetadata(_0x2afe75[_0x88be4a(0x131)]))['items'];}catch(_0x5e4d2b){if(!isPlatformTransportFailure(_0x5e4d2b))throw _0x5e4d2b;const _0x2697d8=new CliError(_0x88be4a(0x11d),0x2,'Deployment\x20sync\x20response\x20was\x20unavailable;\x20the\x20target\x20outcome\x20is\x20unknown.',_0x88be4a(0x11e));attachErrorData(_0x2697d8,buildOutput(_0x2afe75,[],![],'unknown'));throw _0x2697d8;}const _0x4d34de=_0x1a3b6e[_0x88be4a(0x12a)](_0x3994c5=>_0x3994c5[_0x88be4a(0x109)]===_0x88be4a(0x105)),_0x2bdf29=_0x4d34de['length']>0x0?_0x88be4a(0x13c):'succeeded',_0x465a5c=buildOutput(_0x2afe75,_0x1a3b6e,![],_0x2bdf29);if(_0x4d34de[_0x88be4a(0x10d)]>0x0){const _0x224ddb=new CliError(_0x88be4a(0x13d),0x1,_0x88be4a(0x12d)+_0x4d34de[_0x88be4a(0x10d)]+'/'+_0x1a3b6e['length']+_0x88be4a(0x140),_0x88be4a(0x138));attachErrorData(_0x224ddb,_0x465a5c);throw _0x224ddb;}return{'ok':!![],'data':_0x465a5c,'message':_0x88be4a(0x133)+_0x1a3b6e['length']+_0x88be4a(0x12f)};}};function buildSyncPlan(_0x2c0894){const _0x4a3d2a=a102_0x1f34b9,_0x15947f=_0x2c0894[_0x4a3d2a(0x13a)](_0x4a3d2a(0x123))[_0x4a3d2a(0x130)]();if(!SYNC_TYPES[_0x4a3d2a(0x132)](_0x15947f))throw CliErrors[_0x4a3d2a(0x10a)](_0x4a3d2a(0x124)+SYNC_TYPES['join'](',\x20')+'.');const _0x46f969=normalizeCodes(_0x2c0894[_0x4a3d2a(0x13a)](_0x4a3d2a(0x11a)));if(_0x46f969[_0x4a3d2a(0x10d)]===0x0)throw CliErrors[_0x4a3d2a(0x10a)](_0x4a3d2a(0x11b));if(_0x46f969[_0x4a3d2a(0x10d)]>0x64)throw CliErrors[_0x4a3d2a(0x10a)](_0x4a3d2a(0x107));const _0x565cf8={'appCode':_0x2c0894['appCode'],'bizType':_0x15947f,'bizCodes':_0x46f969},_0x22c12d=[_0x4a3d2a(0x118),_0x4a3d2a(0x128)];return _0x15947f===_0x4a3d2a(0x10b)&&_0x22c12d['unshift']('Dataset\x20sync\x20may\x20commit\x20target\x20connection\x20metadata\x20before\x20item\x20synchronization;\x20that\x20change\x20is\x20not\x20rolled\x20back\x20when\x20later\x20items\x20fail.'),{'input':_0x565cf8,'selector':{'appCode':_0x2c0894[_0x4a3d2a(0x120)],'bizType':_0x15947f,'bizCodes':_0x46f969},'warnings':_0x22c12d};}function normalizeCodes(_0x43d908){const _0x426dda=a102_0x1f34b9;return[...new Set(_0x43d908[_0x426dda(0x10c)](',')[_0x426dda(0x136)](_0x463aa5=>_0x463aa5['trim']())[_0x426dda(0x12a)](Boolean))];}function buildOutput(_0x456b78,_0x32106c,_0x3a3d0e,_0x19bc31){const _0x1741a8=a102_0x1f34b9,_0xb5baf2=_0x19bc31==='succeeded'||_0x19bc31===_0x1741a8(0x13c),_0x31c9a2=_0x32106c[_0x1741a8(0x134)]((_0xa75d8a,_0x10e67b)=>{const _0x5ee6f8=_0x1741a8;return _0xa75d8a[_0x10e67b[_0x5ee6f8(0x109)]]=(_0xa75d8a[_0x10e67b['action']]??0x0)+0x1,_0xa75d8a;},{});return{'operation':'deployment_metadata_sync','selector':_0x456b78[_0x1741a8(0x121)],'before':null,'after':null,'dryRun':_0x3a3d0e,'backend':{'submitted':_0x19bc31!==_0x1741a8(0x122),'method':'POST','path':SYNC_PATH,'outcome':_0x19bc31},'summary':{'requested':_0x456b78[_0x1741a8(0x131)][_0x1741a8(0x10f)][_0x1741a8(0x10d)],'total':_0xb5baf2?_0x32106c[_0x1741a8(0x10d)]:_0x456b78[_0x1741a8(0x131)][_0x1741a8(0x10f)][_0x1741a8(0x10d)],'created':_0x32106c[_0x1741a8(0x12a)](_0x56e374=>_0x56e374['action']==='CREATED')[_0x1741a8(0x10d)],'updated':_0x32106c[_0x1741a8(0x12a)](_0x5d00cb=>_0x5d00cb['action']==='UPDATED')[_0x1741a8(0x10d)],'failed':_0x32106c[_0x1741a8(0x12a)](_0x4d4106=>_0x4d4106[_0x1741a8(0x109)]===_0x1741a8(0x105))[_0x1741a8(0x10d)],'byAction':_0x31c9a2},'items':_0x32106c,'verification':{'performed':![],'reason':'target_read_api_unavailable'},'warnings':_0x456b78[_0x1741a8(0x11f)]};}function a102_0x156e(_0x1b3599,_0x59787f){_0x1b3599=_0x1b3599-0x105;const _0x40ffb2=a102_0x40ff();let _0x156ea3=_0x40ffb2[_0x1b3599];return _0x156ea3;}function attachErrorData(_0x594cdf,_0x8885fe){const _0x54aad9=a102_0x1f34b9;Object[_0x54aad9(0x137)](_0x594cdf,_0x54aad9(0x13f),{'value':_0x8885fe,'enumerable':!![]});}function a102_0x40ff(){const _0x19952b=['action','validation','dataset','split','length','bff','bizCodes','4164489sLQILQ','6TuYTOI','write','sync','Would\x20synchronize\x20','deployment','450122qbZcpp','Synchronize\x20selected\x20development\x20metadata\x20to\x20the\x20server-managed\x20deployment\x20target','Target\x20state\x20is\x20not\x20read\x20back\x20because\x20no\x20target\x20metadata\x20read\x20API\x20is\x20available.','842060DbtgXz','codes','--codes\x20must\x20contain\x20at\x20least\x20one\x20non-blank\x20code.','7nWoBPO','deployment_sync_outcome_unknown','Inspect\x20the\x20target\x20database\x20before\x20retrying.\x20Do\x20not\x20resubmit\x20automatically.','warnings','appCode','selector','not_submitted','type','--type\x20must\x20be\x20one\x20of:\x20','string','1wBRCGm','1472595xxRbGu','Do\x20not\x20retry\x20automatically\x20when\x20the\x20request\x20outcome\x20is\x20unknown.','Metadata\x20type\x20to\x20synchronize','filter','bizType','confirm','Deployment\x20sync\x20completed\x20with\x20','4253690rIOUjU','\x20deployment\x20metadata\x20item(s).','trim','input','includes','Synchronized\x20','reduce','POST','map','defineProperty','Review\x20data.items\x20with\x20--format\x20json\x20or\x20--format\x20compress\x20before\x20deciding\x20whether\x20to\x20retry\x20failed\x20codes.','3302360SOvZfB','str','bool','partial_failure','deployment_sync_partial_failure','--confirm\x20is\x20required\x20to\x20synchronize\x20deployment\x20metadata.','data','\x20failed\x20item(s).','sql','FAILED','3296530rNJPHx','--codes\x20supports\x20at\x20most\x20100\x20unique\x20codes.','\x20item(s).'];a102_0x40ff=function(){return _0x19952b;};return a102_0x40ff();}