@lovrabet/rabetbase-cli 2.5.3-beta.2 โ†’ 2.5.3-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/api-group.d.ts +22 -0
  3. package/lib/api/api-group.js +1 -0
  4. package/lib/api/fetch-model-list.js +1 -1
  5. package/lib/api/generate-api-file.d.ts +18 -2
  6. package/lib/api/generate-api-file.js +1 -1
  7. package/lib/api/generate-sdk-config-file.js +1 -1
  8. package/lib/api/legacy-api-file.d.ts +11 -0
  9. package/lib/api/legacy-api-file.js +1 -0
  10. package/lib/api/model-registry-file.d.ts +36 -0
  11. package/lib/api/model-registry-file.js +1 -0
  12. package/lib/api/model-registry-scaffold.d.ts +7 -0
  13. package/lib/api/model-registry-scaffold.js +1 -0
  14. package/lib/api/model-source.d.ts +6 -0
  15. package/lib/api/model-source.js +1 -0
  16. package/lib/auth/auth-server-ui.js +1 -1
  17. package/lib/auth/auth-server.js +1 -1
  18. package/lib/auth/constant.js +1 -1
  19. package/lib/auth/get-cookie.js +1 -1
  20. package/lib/auth/get-session-user.js +1 -1
  21. package/lib/auth/is-session-valid.js +1 -1
  22. package/lib/auth/login-success-html.js +1 -1
  23. package/lib/auth/logout.js +1 -1
  24. package/lib/cli-flags.js +1 -1
  25. package/lib/cli.js +1 -1
  26. package/lib/commands/api/generate.js +1 -1
  27. package/lib/commands/api/index.js +1 -1
  28. package/lib/commands/api/list.js +1 -1
  29. package/lib/commands/api/pull.js +1 -1
  30. package/lib/commands/api/shared.js +1 -1
  31. package/lib/commands/app/index.js +1 -1
  32. package/lib/commands/app/list.js +1 -1
  33. package/lib/commands/app/members-list.js +1 -1
  34. package/lib/commands/app/remote-directory.js +1 -1
  35. package/lib/commands/app/shared.js +1 -1
  36. package/lib/commands/app-config/delete.js +1 -1
  37. package/lib/commands/app-config/get.js +1 -1
  38. package/lib/commands/app-config/index.js +1 -1
  39. package/lib/commands/app-config/list.js +1 -1
  40. package/lib/commands/app-config/set.js +1 -1
  41. package/lib/commands/app-config/shared.js +1 -1
  42. package/lib/commands/auth/index.js +1 -1
  43. package/lib/commands/bff/create.js +1 -1
  44. package/lib/commands/bff/delete.js +1 -1
  45. package/lib/commands/bff/detail.js +1 -1
  46. package/lib/commands/bff/index.js +1 -1
  47. package/lib/commands/bff/list.js +1 -1
  48. package/lib/commands/bff/logs.js +1 -1
  49. package/lib/commands/bff/pull.js +1 -1
  50. package/lib/commands/bff/push.js +1 -1
  51. package/lib/commands/bff/status.js +1 -1
  52. package/lib/commands/cli-skill/index.js +1 -1
  53. package/lib/commands/cli-update.js +1 -1
  54. package/lib/commands/codegen/index.js +1 -1
  55. package/lib/commands/codegen/sdk.js +1 -1
  56. package/lib/commands/codegen/sql.js +1 -1
  57. package/lib/commands/common/app-registry.js +1 -1
  58. package/lib/commands/common/app-selector.js +1 -1
  59. package/lib/commands/common/async-task.js +1 -1
  60. package/lib/commands/common/dry-run.js +1 -1
  61. package/lib/commands/common/flags.d.ts +7 -0
  62. package/lib/commands/common/flags.js +1 -1
  63. package/lib/commands/common/local-file.js +1 -1
  64. package/lib/commands/common/validate.js +1 -1
  65. package/lib/commands/config/delete.js +1 -1
  66. package/lib/commands/config/get.js +1 -1
  67. package/lib/commands/config/index.js +1 -1
  68. package/lib/commands/config/init.js +1 -1
  69. package/lib/commands/config/list.js +1 -1
  70. package/lib/commands/config/set.js +1 -1
  71. package/lib/commands/config/shared.js +1 -1
  72. package/lib/commands/dataset/batch-design.js +1 -1
  73. package/lib/commands/dataset/business-group-update.js +1 -1
  74. package/lib/commands/dataset/business-groups.js +1 -1
  75. package/lib/commands/dataset/capability.js +1 -1
  76. package/lib/commands/dataset/cross-relation-create.d.ts +2 -0
  77. package/lib/commands/dataset/cross-relation-create.js +1 -0
  78. package/lib/commands/dataset/cross-relation-delete.d.ts +2 -0
  79. package/lib/commands/dataset/cross-relation-delete.js +1 -0
  80. package/lib/commands/dataset/cross-relation-list.d.ts +2 -0
  81. package/lib/commands/dataset/cross-relation-list.js +1 -0
  82. package/lib/commands/dataset/cross-relation-shared.d.ts +190 -0
  83. package/lib/commands/dataset/cross-relation-shared.js +1 -0
  84. package/lib/commands/dataset/cross-relation-update.d.ts +2 -0
  85. package/lib/commands/dataset/cross-relation-update.js +1 -0
  86. package/lib/commands/dataset/delete.js +1 -1
  87. package/lib/commands/dataset/detail.js +1 -1
  88. package/lib/commands/dataset/extend-update.js +1 -1
  89. package/lib/commands/dataset/field-restore.js +1 -1
  90. package/lib/commands/dataset/field-update.js +1 -1
  91. package/lib/commands/dataset/generate.js +1 -1
  92. package/lib/commands/dataset/index.js +1 -1
  93. package/lib/commands/dataset/list.js +1 -1
  94. package/lib/commands/dataset/operations.js +1 -1
  95. package/lib/commands/dataset/relation-audit.js +1 -1
  96. package/lib/commands/dataset/relation-create.js +1 -1
  97. package/lib/commands/dataset/relation-delete.js +1 -1
  98. package/lib/commands/dataset/relation-shared.js +1 -1
  99. package/lib/commands/dataset/relation-update.js +1 -1
  100. package/lib/commands/dataset/relations.js +1 -1
  101. package/lib/commands/dataset/rename.js +1 -1
  102. package/lib/commands/dataset/restore.js +1 -1
  103. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  104. package/lib/commands/db/analysis-batching.js +1 -1
  105. package/lib/commands/db/analyze-batch-plan.js +1 -1
  106. package/lib/commands/db/analyze-cancel.js +1 -1
  107. package/lib/commands/db/analyze-start.js +1 -1
  108. package/lib/commands/db/analyze-status.js +1 -1
  109. package/lib/commands/db/create.js +1 -1
  110. package/lib/commands/db/delete.js +1 -1
  111. package/lib/commands/db/detail.js +1 -1
  112. package/lib/commands/db/diff-refresh-start.js +1 -1
  113. package/lib/commands/db/diff-refresh-status.js +1 -1
  114. package/lib/commands/db/diff.js +1 -1
  115. package/lib/commands/db/index.js +1 -1
  116. package/lib/commands/db/list.js +1 -1
  117. package/lib/commands/db/shared.js +1 -1
  118. package/lib/commands/db/table-diff-shared.js +1 -1
  119. package/lib/commands/db/tables.js +1 -1
  120. package/lib/commands/db/test.js +1 -1
  121. package/lib/commands/db/update.js +1 -1
  122. package/lib/commands/deployment/index.js +1 -1
  123. package/lib/commands/deployment/sync-all.js +1 -1
  124. package/lib/commands/deployment/sync-jobs.js +1 -1
  125. package/lib/commands/deployment/sync-status.js +1 -1
  126. package/lib/commands/doctor.js +1 -1
  127. package/lib/commands/file/index.js +1 -1
  128. package/lib/commands/flow/create.js +1 -1
  129. package/lib/commands/flow/detail.js +1 -1
  130. package/lib/commands/flow/index.js +1 -1
  131. package/lib/commands/flow/list.js +1 -1
  132. package/lib/commands/flow/publish.js +1 -1
  133. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  134. package/lib/commands/flow/runtime-role-list.js +1 -1
  135. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  136. package/lib/commands/flow/runtime-user-search.js +1 -1
  137. package/lib/commands/flow/shared.js +1 -1
  138. package/lib/commands/flow/update.js +1 -1
  139. package/lib/commands/flow/validate.js +1 -1
  140. package/lib/commands/instant-api-policy/current.js +1 -1
  141. package/lib/commands/instant-api-policy/index.js +1 -1
  142. package/lib/commands/instant-api-policy/init.js +1 -1
  143. package/lib/commands/instant-api-policy/publish.js +1 -1
  144. package/lib/commands/instant-api-policy/pull.js +1 -1
  145. package/lib/commands/instant-api-policy/revision.js +1 -1
  146. package/lib/commands/instant-api-policy/revisions.js +1 -1
  147. package/lib/commands/instant-api-policy/rollback.js +1 -1
  148. package/lib/commands/instant-api-policy/shared.js +1 -1
  149. package/lib/commands/instant-api-policy/validate.js +1 -1
  150. package/lib/commands/issue/index.js +1 -1
  151. package/lib/commands/issue/nudge.js +1 -1
  152. package/lib/commands/issue/report.js +1 -1
  153. package/lib/commands/issue/shared.js +1 -1
  154. package/lib/commands/kb/create.js +1 -1
  155. package/lib/commands/kb/delete.js +1 -1
  156. package/lib/commands/kb/detail.js +1 -1
  157. package/lib/commands/kb/index.js +1 -1
  158. package/lib/commands/kb/list.js +1 -1
  159. package/lib/commands/kb/search.js +1 -1
  160. package/lib/commands/kb/shared.js +1 -1
  161. package/lib/commands/kb/update.js +1 -1
  162. package/lib/commands/logs/index.js +1 -1
  163. package/lib/commands/menu/asset-update.js +1 -1
  164. package/lib/commands/menu/delete.js +1 -1
  165. package/lib/commands/menu/external-link-create.js +1 -1
  166. package/lib/commands/menu/external-link-update.js +1 -1
  167. package/lib/commands/menu/group-create.js +1 -1
  168. package/lib/commands/menu/group-update.js +1 -1
  169. package/lib/commands/menu/index.js +1 -1
  170. package/lib/commands/menu/list.js +1 -1
  171. package/lib/commands/menu/move.js +1 -1
  172. package/lib/commands/menu/regroup-start.js +1 -1
  173. package/lib/commands/menu/rename.js +1 -1
  174. package/lib/commands/menu/shared/compare-table.js +1 -1
  175. package/lib/commands/menu/shared/delete-plan.js +1 -1
  176. package/lib/commands/menu/shared/facts.js +1 -1
  177. package/lib/commands/menu/shared/index.js +1 -1
  178. package/lib/commands/menu/shared/inquirer.js +1 -1
  179. package/lib/commands/menu/shared/local-pages.js +1 -1
  180. package/lib/commands/menu/shared/logic.js +1 -1
  181. package/lib/commands/menu/shared/mutations.js +1 -1
  182. package/lib/commands/menu/shared/service.js +1 -1
  183. package/lib/commands/menu/shared/sync-core.js +1 -1
  184. package/lib/commands/menu/shared/update-core.js +1 -1
  185. package/lib/commands/menu/shared/valid-url.js +1 -1
  186. package/lib/commands/menu/sync.js +1 -1
  187. package/lib/commands/menu/visibility-update.js +1 -1
  188. package/lib/commands/notification/config-create.js +1 -1
  189. package/lib/commands/notification/config-delete.js +1 -1
  190. package/lib/commands/notification/config-list.js +1 -1
  191. package/lib/commands/notification/config-update.js +1 -1
  192. package/lib/commands/notification/index.js +1 -1
  193. package/lib/commands/notification/shared.js +1 -1
  194. package/lib/commands/ocr/index.js +1 -1
  195. package/lib/commands/page/create.js +1 -1
  196. package/lib/commands/page/custom/detail.js +1 -1
  197. package/lib/commands/page/custom/list.js +1 -1
  198. package/lib/commands/page/custom/publish.js +1 -1
  199. package/lib/commands/page/custom/shared.js +1 -1
  200. package/lib/commands/page/custom/syntax.js +1 -1
  201. package/lib/commands/page/custom/update.js +1 -1
  202. package/lib/commands/page/data-list-status.js +1 -1
  203. package/lib/commands/page/generate-start.js +1 -1
  204. package/lib/commands/page/generate-status.js +1 -1
  205. package/lib/commands/page/index.js +1 -1
  206. package/lib/commands/page/pull.js +1 -1
  207. package/lib/commands/page/push.js +1 -1
  208. package/lib/commands/page/relation-audit.js +1 -1
  209. package/lib/commands/page/restore.js +1 -1
  210. package/lib/commands/page/shared.js +1 -1
  211. package/lib/commands/page/sync.js +1 -1
  212. package/lib/commands/project/api-architecture-upgrade.d.ts +28 -0
  213. package/lib/commands/project/api-architecture-upgrade.js +1 -0
  214. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  215. package/lib/commands/project/create/format-elapsed.js +1 -1
  216. package/lib/commands/project/create/main.js +1 -1
  217. package/lib/commands/project/create/materialize-project-template.js +1 -1
  218. package/lib/commands/project/create/project-name.js +1 -1
  219. package/lib/commands/project/create/project-template-archive.js +1 -1
  220. package/lib/commands/project/create/project-template-path.js +1 -1
  221. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  222. package/lib/commands/project/create/use-format-code.js +1 -1
  223. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  224. package/lib/commands/project/domain-routing-sync.js +1 -1
  225. package/lib/commands/project/index.js +1 -1
  226. package/lib/commands/project/upgrade.d.ts +30 -1
  227. package/lib/commands/project/upgrade.js +1 -1
  228. package/lib/commands/registry.js +1 -1
  229. package/lib/commands/role/delete.js +1 -1
  230. package/lib/commands/role/detail.js +1 -1
  231. package/lib/commands/role/index.js +1 -1
  232. package/lib/commands/role/list.js +1 -1
  233. package/lib/commands/role/shared.js +1 -1
  234. package/lib/commands/role/update.js +1 -1
  235. package/lib/commands/role/user-add.js +1 -1
  236. package/lib/commands/role/user-remove.js +1 -1
  237. package/lib/commands/role/user-resolve.js +1 -1
  238. package/lib/commands/rule/get.js +1 -1
  239. package/lib/commands/rule/index.js +1 -1
  240. package/lib/commands/rule/list.js +1 -1
  241. package/lib/commands/rule/set.js +1 -1
  242. package/lib/commands/rule/shared.js +1 -1
  243. package/lib/commands/run/index.js +1 -1
  244. package/lib/commands/schema.js +1 -1
  245. package/lib/commands/sql/create.js +1 -1
  246. package/lib/commands/sql/delete.js +1 -1
  247. package/lib/commands/sql/detail.js +1 -1
  248. package/lib/commands/sql/exec.js +1 -1
  249. package/lib/commands/sql/index.js +1 -1
  250. package/lib/commands/sql/list.js +1 -1
  251. package/lib/commands/sql/pull.js +1 -1
  252. package/lib/commands/sql/push.js +1 -1
  253. package/lib/commands/sql/shared.js +1 -1
  254. package/lib/commands/sql/status.js +1 -1
  255. package/lib/commands/sql/validate.js +1 -1
  256. package/lib/commands/task/index.js +1 -1
  257. package/lib/commands/task/status.js +1 -1
  258. package/lib/commands/tenant/index.js +1 -1
  259. package/lib/commands/tenant/members-list.js +1 -1
  260. package/lib/commands/tenant/shared.js +1 -1
  261. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  262. package/lib/commands/user-account/index.js +1 -1
  263. package/lib/commands/workspace/add.js +1 -1
  264. package/lib/commands/workspace/index.js +1 -1
  265. package/lib/commands/workspace/remove.js +1 -1
  266. package/lib/config/domain-config.js +1 -1
  267. package/lib/config/project-domain-routing.js +1 -1
  268. package/lib/config/region-config.js +1 -1
  269. package/lib/config/schema.js +1 -1
  270. package/lib/constant/cdn.d.ts +5 -3
  271. package/lib/constant/cdn.js +1 -1
  272. package/lib/constant/cli.js +1 -1
  273. package/lib/constant/defaults.js +1 -1
  274. package/lib/constant/domain.js +1 -1
  275. package/lib/constant/env.js +1 -1
  276. package/lib/constant/output.js +1 -1
  277. package/lib/constant/paths.js +1 -1
  278. package/lib/constant/region.js +1 -1
  279. package/lib/constant/risk.js +1 -1
  280. package/lib/constant/routing-profile.js +1 -1
  281. package/lib/context/app-resolver.d.ts +2 -0
  282. package/lib/context/app-resolver.js +1 -1
  283. package/lib/context/auth-resolver.js +1 -1
  284. package/lib/context/config-loader.js +1 -1
  285. package/lib/context.d.ts +2 -1
  286. package/lib/context.js +1 -1
  287. package/lib/core/alias-resolver.d.ts +13 -17
  288. package/lib/core/alias-resolver.js +1 -1
  289. package/lib/core/api-client.d.ts +6 -0
  290. package/lib/core/api-client.js +1 -1
  291. package/lib/core/bff/config.js +1 -1
  292. package/lib/core/bff/file-system.js +1 -1
  293. package/lib/core/bff/hash.js +1 -1
  294. package/lib/core/bff/hook-directory.js +1 -1
  295. package/lib/core/bff/lock.js +1 -1
  296. package/lib/core/bff/utils.js +1 -1
  297. package/lib/core/cross-db-relation.d.ts +41 -0
  298. package/lib/core/cross-db-relation.js +1 -0
  299. package/lib/core/db-resolver.js +1 -1
  300. package/lib/core/flow-config.js +1 -1
  301. package/lib/core/instant-api-policy/config.js +1 -1
  302. package/lib/core/kb-search-client.js +1 -1
  303. package/lib/core/page/file-system.js +1 -1
  304. package/lib/core/page/hash.js +1 -1
  305. package/lib/core/page/lock.js +1 -1
  306. package/lib/core/page/lr-smart-jsx.js +1 -1
  307. package/lib/core/sql-index-auditor.js +1 -1
  308. package/lib/core/sql-sync/config.js +1 -1
  309. package/lib/core/sql-sync/file-system.js +1 -1
  310. package/lib/core/sql-sync/hash.js +1 -1
  311. package/lib/core/sql-sync/lock.js +1 -1
  312. package/lib/core/sql-sync/utils.js +1 -1
  313. package/lib/core/sql-validator.js +1 -1
  314. package/lib/errors.js +1 -1
  315. package/lib/framework/build-all-flags.js +1 -1
  316. package/lib/framework/error-output.js +1 -1
  317. package/lib/framework/explicit-yes.js +1 -1
  318. package/lib/framework/flags.js +1 -1
  319. package/lib/framework/help.js +1 -1
  320. package/lib/framework/index.js +1 -1
  321. package/lib/framework/output.js +1 -1
  322. package/lib/framework/response.js +1 -1
  323. package/lib/framework/runner-alias.d.ts +1 -1
  324. package/lib/framework/runner-alias.js +1 -1
  325. package/lib/framework/runner.js +1 -1
  326. package/lib/framework/schema-export.js +1 -1
  327. package/lib/framework/supported-flags.js +1 -1
  328. package/lib/framework/types.js +1 -1
  329. package/lib/generated/build-info.d.ts +4 -4
  330. package/lib/generated/build-info.js +1 -1
  331. package/lib/generated/official-routing.js +1 -1
  332. package/lib/generated/routing-contract.js +1 -1
  333. package/lib/help.js +1 -1
  334. package/lib/postinstall.js +1 -1
  335. package/lib/runtime/confirmation.js +1 -1
  336. package/lib/runtime/event.js +1 -1
  337. package/lib/runtime/index.js +1 -1
  338. package/lib/runtime/queue.js +1 -1
  339. package/lib/runtime/resolve.js +1 -1
  340. package/lib/skills/builtin-skill.js +1 -1
  341. package/lib/skills/main.js +1 -1
  342. package/lib/skills/npx-skills-add.d.ts +0 -10
  343. package/lib/skills/npx-skills-add.js +1 -1
  344. package/lib/skills/skill-presence.js +1 -1
  345. package/lib/telemetry/cli-command-trace.js +1 -1
  346. package/lib/telemetry/cli-help-trace.js +1 -1
  347. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  348. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  349. package/lib/telemetry/send-cli-trace-log.js +1 -1
  350. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  351. package/lib/types/index.d.ts +11 -1
  352. package/lib/utils/ai_config.js +1 -1
  353. package/lib/utils/apply-jq-filter.js +1 -1
  354. package/lib/utils/cdn-config.js +1 -1
  355. package/lib/utils/check-sdk-version.js +1 -1
  356. package/lib/utils/cli-version-check.js +1 -1
  357. package/lib/utils/cli-version-policy.d.ts +19 -0
  358. package/lib/utils/cli-version-policy.js +1 -1
  359. package/lib/utils/config.js +1 -1
  360. package/lib/utils/entity-with-id.js +1 -1
  361. package/lib/utils/file-utils.js +1 -1
  362. package/lib/utils/guides-cdn.js +1 -1
  363. package/lib/utils/http-client.js +1 -1
  364. package/lib/utils/is-non-interactive.js +1 -1
  365. package/lib/utils/logger.js +1 -1
  366. package/lib/utils/params.js +1 -1
  367. package/lib/utils/platform.js +1 -1
  368. package/lib/utils/sleep.js +1 -1
  369. package/lib/utils/template-replacer.js +1 -1
  370. package/lib/utils/update-notice.js +1 -1
  371. package/lib/utils/version.js +1 -1
  372. package/lib/utils/with-active-cookie.js +1 -1
  373. package/lib/utils/write-cli-side-channel.js +1 -1
  374. package/package.json +6 -1
  375. package/skills/rabetbase/SKILL.md +16 -10
  376. package/skills/rabetbase/guides/backend-function.md +5 -1
  377. package/skills/rabetbase/guides/bff-creation-workflow.md +3 -1
  378. package/skills/rabetbase/guides/cross-database-bff.md +70 -0
  379. package/skills/rabetbase/guides/data-api-guidelines.md +35 -33
  380. package/skills/rabetbase/guides/sdk-client-generation.md +112 -61
  381. package/skills/rabetbase/guides/sql-creation-workflow.md +2 -0
  382. package/skills/rabetbase/guides/typescript-sdk.md +9 -0
  383. package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
  384. package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
  385. package/skills/rabetbase/references/rabetbase-config.md +2 -1
  386. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +64 -0
  387. package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
  388. package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
  389. package/skills/rabetbase.manifest.json +5 -3
  390. package/templates/README.md +46 -6
  391. package/templates/generate-api/model-runtime.ts.tpl +101 -0
  392. package/templates/generate-api/profile-api.ts.tpl +21 -0
  393. package/templates/generate-api/profile-client.ts.tpl +14 -0
@@ -1 +1 @@
1
- (function(_0x1a18dd,_0x30962f){const _0x4a51b0=a0_0x291c,_0x505792=_0x1a18dd();while(!![]){try{const _0x90c806=parseInt(_0x4a51b0(0x11f))/0x1+parseInt(_0x4a51b0(0x11e))/0x2+-parseInt(_0x4a51b0(0x117))/0x3+parseInt(_0x4a51b0(0x113))/0x4*(-parseInt(_0x4a51b0(0x116))/0x5)+parseInt(_0x4a51b0(0x104))/0x6+-parseInt(_0x4a51b0(0x118))/0x7*(parseInt(_0x4a51b0(0x121))/0x8)+-parseInt(_0x4a51b0(0x122))/0x9*(-parseInt(_0x4a51b0(0x107))/0xa);if(_0x90c806===_0x30962f)break;else _0x505792['push'](_0x505792['shift']());}catch(_0x5a68b0){_0x505792['push'](_0x505792['shift']());}}}(a0_0x2212,0x9aabc));import{mkdirSync,writeFileSync}from'node:fs';function a0_0x291c(_0x2ec0a3,_0x56715d){_0x2ec0a3=_0x2ec0a3-0x104;const _0x221222=a0_0x2212();let _0x291c32=_0x221222[_0x2ec0a3];return _0x291c32;}function a0_0x2212(){const _0x3a3563=['length','.md','9552mWNFBU','Waiting\x203\x20seconds...\x0a','log','1660gGtzWN','2540265lLNGpI','297633qcdZNE',']\x20Generating:\x20','api-doc','name','success','message','755624mLkXBG','399009ekGbZa','โœ“\x20Generated:\x20','208Imvxls','54UaJvOx','1073712ajqSFW','utf8','push','4038040KFyZdf','join','.md\x20(','โœ—\x20Failed:\x20','.md\x20-\x20','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','error','Failed\x20to\x20generate\x20docs:\x20','tableName','datasetCode'];a0_0x2212=function(){return _0x3a3563;};return a0_0x2212();}import a0_0x5252a5 from'node:path';import{fetchDatasetDoc}from'../core/api-client.js';import{logger}from'../utils/logger.js';export{fetchDatasetDoc}from'../core/api-client.js';function delay(_0x58894e){return new Promise(_0xfb7492=>setTimeout(_0xfb7492,_0x58894e));}export async function generateDatasetDocs(_0x23a8c5,_0x2cd7c4,_0x2ea924,_0x48b1e2='./docs',_0x5ae2db,_0x14a89e){const _0x45fbc0=a0_0x291c;mkdirSync(_0x48b1e2,{'recursive':!![]});const _0x3973ac=[],_0x519bf5=_0x23a8c5[_0x45fbc0(0x111)];console[_0x45fbc0(0x115)]('\x0a'+_0x519bf5+_0x45fbc0(0x10c));for(let _0x36ee77=0x0;_0x36ee77<_0x23a8c5[_0x45fbc0(0x111)];_0x36ee77++){const _0x5b6351=_0x23a8c5[_0x36ee77],_0x3b5a16=_0x36ee77+0x1,_0x15e47a=_0x5b6351[_0x45fbc0(0x10f)];try{console['log']('['+_0x3b5a16+'/'+_0x519bf5+_0x45fbc0(0x119)+_0x15e47a+_0x45fbc0(0x109)+_0x5b6351[_0x45fbc0(0x11b)]+')');if(_0x5ae2db)_0x5ae2db(_0x3b5a16,_0x519bf5,_0x15e47a);const _0x22c2e2=await fetchDatasetDoc({'appCode':_0x2cd7c4,'cookie':_0x2ea924,'datasetCode':_0x5b6351[_0x45fbc0(0x110)],'datasetId':_0x5b6351['id'],'enableAI':![],'extraParams':_0x14a89e}),_0x1576ce=a0_0x5252a5[_0x45fbc0(0x108)](_0x48b1e2,_0x15e47a+_0x45fbc0(0x112));writeFileSync(_0x1576ce,_0x22c2e2,{'encoding':_0x45fbc0(0x105)}),console[_0x45fbc0(0x115)](_0x45fbc0(0x120)+_0x15e47a+_0x45fbc0(0x112)),logger[_0x45fbc0(0x11c)](_0x45fbc0(0x11a),'Generated\x20docs\x20successfully:\x20'+_0x15e47a,undefined,{'datasetCode':_0x5b6351['datasetCode'],'datasetName':_0x5b6351['name'],'filePath':_0x1576ce,'progress':_0x3b5a16+'/'+_0x519bf5}),_0x3973ac[_0x45fbc0(0x106)]({'datasetCode':_0x5b6351[_0x45fbc0(0x110)],'datasetName':_0x5b6351['name'],'filePath':_0x1576ce,'success':!![]});if(_0x3b5a16<_0x519bf5)await delay(0x1388);}catch(_0x255605){const _0x253b28=_0x255605 instanceof Error?_0x255605[_0x45fbc0(0x11d)]:String(_0x255605);console[_0x45fbc0(0x115)](_0x45fbc0(0x10a)+_0x15e47a+_0x45fbc0(0x10b)+_0x253b28),logger[_0x45fbc0(0x10d)]('api-doc',_0x45fbc0(0x10e)+_0x5b6351[_0x45fbc0(0x110)],{'datasetCode':_0x5b6351[_0x45fbc0(0x110)],'datasetName':_0x5b6351['name'],'error':_0x253b28,'progress':_0x3b5a16+'/'+_0x519bf5}),_0x3973ac[_0x45fbc0(0x106)]({'datasetCode':_0x5b6351[_0x45fbc0(0x110)],'datasetName':_0x5b6351[_0x45fbc0(0x11b)],'filePath':'','success':![],'error':_0x253b28}),_0x3b5a16<_0x519bf5&&(console[_0x45fbc0(0x115)](_0x45fbc0(0x114)),await delay(0xbb8));}}return _0x3973ac;}
1
+ const a0_0x53eb52=a0_0x39bc;(function(_0x3a2d37,_0x439dd9){const _0x3aa3bd=a0_0x39bc,_0x73d5b=_0x3a2d37();while(!![]){try{const _0x580f75=-parseInt(_0x3aa3bd(0x1ca))/0x1*(parseInt(_0x3aa3bd(0x1dc))/0x2)+-parseInt(_0x3aa3bd(0x1ce))/0x3*(parseInt(_0x3aa3bd(0x1d3))/0x4)+parseInt(_0x3aa3bd(0x1cc))/0x5*(parseInt(_0x3aa3bd(0x1db))/0x6)+parseInt(_0x3aa3bd(0x1d5))/0x7+parseInt(_0x3aa3bd(0x1d7))/0x8*(-parseInt(_0x3aa3bd(0x1e0))/0x9)+parseInt(_0x3aa3bd(0x1e6))/0xa*(-parseInt(_0x3aa3bd(0x1e5))/0xb)+-parseInt(_0x3aa3bd(0x1df))/0xc*(-parseInt(_0x3aa3bd(0x1dd))/0xd);if(_0x580f75===_0x439dd9)break;else _0x73d5b['push'](_0x73d5b['shift']());}catch(_0x26b7e2){_0x73d5b['push'](_0x73d5b['shift']());}}}(a0_0x28c5,0xa1614));function a0_0x28c5(){const _0x50dd1a=['โœ—\x20Failed:\x20','5coGtNU','Failed\x20to\x20generate\x20docs:\x20','3657261URZmgT','error','.md\x20-\x20','success','push','4RSDMxk','โœ“\x20Generated:\x20','7570003bMyQGm','length','8OZmbcX','log','./docs','Generated\x20docs\x20successfully:\x20','2512482DcPbZQ','3508WgskZp','1310777seADOO','api-doc','96UzZYyX','1221759pyMLSc','.md','datasetCode',']\x20Generating:\x20','utf8','121EsevSk','26920oleQji','.md\x20(','name','tableName','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','149oIhtHA'];a0_0x28c5=function(){return _0x50dd1a;};return a0_0x28c5();}import{mkdirSync,writeFileSync}from'node:fs';import a0_0x1d00b8 from'node:path';import{fetchDatasetDoc}from'../core/api-client.js';import{logger}from'../utils/logger.js';export{fetchDatasetDoc}from'../core/api-client.js';function a0_0x39bc(_0x3daaaa,_0x239d7a){_0x3daaaa=_0x3daaaa-0x1c9;const _0x28c59f=a0_0x28c5();let _0x39bcda=_0x28c59f[_0x3daaaa];return _0x39bcda;}function delay(_0x40b997){return new Promise(_0x43be6b=>setTimeout(_0x43be6b,_0x40b997));}export async function generateDatasetDocs(_0x529e2b,_0x583289,_0x43e426,_0x28352f=a0_0x53eb52(0x1d9),_0x6f85c4,_0x340b58){const _0x40dd96=a0_0x53eb52;mkdirSync(_0x28352f,{'recursive':!![]});const _0x2f77eb=[],_0x32f6fa=_0x529e2b[_0x40dd96(0x1d6)];console['log']('\x0a'+_0x32f6fa+_0x40dd96(0x1c9));for(let _0x361908=0x0;_0x361908<_0x529e2b[_0x40dd96(0x1d6)];_0x361908++){const _0x33c543=_0x529e2b[_0x361908],_0x320d85=_0x361908+0x1,_0x56798f=_0x33c543[_0x40dd96(0x1e9)];try{console[_0x40dd96(0x1d8)]('['+_0x320d85+'/'+_0x32f6fa+_0x40dd96(0x1e3)+_0x56798f+_0x40dd96(0x1e7)+_0x33c543['name']+')');if(_0x6f85c4)_0x6f85c4(_0x320d85,_0x32f6fa,_0x56798f);const _0x2eed45=await fetchDatasetDoc({'appCode':_0x583289,'cookie':_0x43e426,'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetId':_0x33c543['id'],'enableAI':![],'extraParams':_0x340b58}),_0xe8d2d1=a0_0x1d00b8['join'](_0x28352f,_0x56798f+_0x40dd96(0x1e1));writeFileSync(_0xe8d2d1,_0x2eed45,{'encoding':_0x40dd96(0x1e4)}),console[_0x40dd96(0x1d8)](_0x40dd96(0x1d4)+_0x56798f+_0x40dd96(0x1e1)),logger[_0x40dd96(0x1d1)](_0x40dd96(0x1de),_0x40dd96(0x1da)+_0x56798f,undefined,{'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543['name'],'filePath':_0xe8d2d1,'progress':_0x320d85+'/'+_0x32f6fa}),_0x2f77eb[_0x40dd96(0x1d2)]({'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'filePath':_0xe8d2d1,'success':!![]});if(_0x320d85<_0x32f6fa)await delay(0x1388);}catch(_0x38ab02){const _0x2145e9=_0x38ab02 instanceof Error?_0x38ab02['message']:String(_0x38ab02);console[_0x40dd96(0x1d8)](_0x40dd96(0x1cb)+_0x56798f+_0x40dd96(0x1d0)+_0x2145e9),logger[_0x40dd96(0x1cf)]('api-doc',_0x40dd96(0x1cd)+_0x33c543[_0x40dd96(0x1e2)],{'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'error':_0x2145e9,'progress':_0x320d85+'/'+_0x32f6fa}),_0x2f77eb['push']({'datasetCode':_0x33c543[_0x40dd96(0x1e2)],'datasetName':_0x33c543[_0x40dd96(0x1e8)],'filePath':'','success':![],'error':_0x2145e9}),_0x320d85<_0x32f6fa&&(console[_0x40dd96(0x1d8)]('Waiting\x203\x20seconds...\x0a'),await delay(0xbb8));}}return _0x2f77eb;}
@@ -0,0 +1,22 @@
1
+ import type { MultiAppConfig } from "../context.js";
2
+ export interface ApiProfileLayout {
3
+ app: MultiAppConfig;
4
+ outputDir: string;
5
+ normalizedApiDir: string;
6
+ apiGroup?: string;
7
+ }
8
+ /** Normalize API directory identity once for all grouping and conflict checks. */
9
+ export declare function normalizeApiDir(apiDir: string, baseDir?: string): string;
10
+ /**
11
+ * Validate the one-registry-group-per-directory contract before target filtering.
12
+ *
13
+ * Profiles without apiGroup remain compatible with the legacy multi-app layout
14
+ * when two or more of them share one API directory.
15
+ */
16
+ export declare function resolveApiProfileLayouts(apps: MultiAppConfig[], resolveOutputDir: (app: MultiAppConfig) => string, baseDir?: string): ApiProfileLayout[];
17
+ /**
18
+ * Return the profiles that share one generated registry with the selected app.
19
+ * A singleton directory is an implicit single-profile group. Multiple profiles
20
+ * without apiGroup deliberately stay on the legacy prefixed-file path.
21
+ */
22
+ export declare function getRegistryGroup(layouts: ApiProfileLayout[], selected: ApiProfileLayout): ApiProfileLayout[] | undefined;
@@ -0,0 +1 @@
1
+ function a1_0x477e(_0x751f59,_0x4208ae){_0x751f59=_0x751f59-0xd8;const _0x2ca70a=a1_0x2ca7();let _0x477e6d=_0x2ca70a[_0x751f59];return _0x477e6d;}const a1_0x3b8c32=a1_0x477e;(function(_0x1863ff,_0x3d2dd8){const _0x54be66=a1_0x477e,_0x180244=_0x1863ff();while(!![]){try{const _0x1528ef=parseInt(_0x54be66(0xdb))/0x1+-parseInt(_0x54be66(0xe4))/0x2*(-parseInt(_0x54be66(0xee))/0x3)+parseInt(_0x54be66(0xe7))/0x4*(parseInt(_0x54be66(0xea))/0x5)+parseInt(_0x54be66(0xf5))/0x6+-parseInt(_0x54be66(0xec))/0x7+-parseInt(_0x54be66(0xeb))/0x8+parseInt(_0x54be66(0xde))/0x9;if(_0x1528ef===_0x3d2dd8)break;else _0x180244['push'](_0x180244['shift']());}catch(_0x341dbc){_0x180244['push'](_0x180244['shift']());}}}(a1_0x2ca7,0xdc0ac));import a1_0x536c3a from'node:path';import{CliErrors}from'../errors.js';export function normalizeApiDir(_0x540a1d,_0x180bf7=process[a1_0x3b8c32(0xf0)]()){return a1_0x536c3a['resolve'](_0x180bf7,_0x540a1d);}function normalizedApiGroup(_0x58361d){const _0x4fbe2c=a1_0x3b8c32,_0x35d77e=_0x58361d?.[_0x4fbe2c(0xf7)]();return _0x35d77e||undefined;}function a1_0x2ca7(){const _0x15b39a=['API\x20directory\x20\x22','Profiles\x20in\x20the\x20same\x20API\x20group\x20must\x20use\x20the\x20same\x20apiDir.','app','get','1739076OGeBaS','filter','trim','API\x20group\x20\x22','size','values','810641QsspDJ','add','name','14000571pgvyRt','\x22\x20is\x20assigned\x20to\x20incompatible\x20API\x20groups.','.\x20Use\x20a\x20different\x20apiDir\x20for\x20a\x20separate\x20API.','join','apiGroup','set','99802haCVyu','outputDir','\x22\x20resolves\x20to\x20multiple\x20API\x20directories.','3504wvWnFI','normalizedApiDir','map','210ohHohv','5513160qqQWjh','12258218DTNWIp','validation','39URaKuy','length','cwd'];a1_0x2ca7=function(){return _0x15b39a;};return a1_0x2ca7();}export function resolveApiProfileLayouts(_0x281f87,_0x518ddc,_0xd1adb2=process[a1_0x3b8c32(0xf0)]()){const _0x35bf29=a1_0x3b8c32,_0x4fa21d=_0x281f87[_0x35bf29(0xe9)](_0x97fb8a=>{const _0x57f3c8=_0x35bf29,_0xc9a82f=_0x518ddc(_0x97fb8a);return{'app':_0x97fb8a,'outputDir':_0xc9a82f,'normalizedApiDir':normalizeApiDir(_0xc9a82f,_0xd1adb2),'apiGroup':normalizedApiGroup(_0x97fb8a[_0x57f3c8(0xe2)])};}),_0x3e81f2=new Map();for(const _0x5594bb of _0x4fa21d){if(!_0x5594bb['apiGroup'])continue;const _0x5a271e=_0x3e81f2['get'](_0x5594bb[_0x35bf29(0xe2)])??new Set();_0x5a271e[_0x35bf29(0xdc)](_0x5594bb[_0x35bf29(0xe8)]),_0x3e81f2[_0x35bf29(0xe3)](_0x5594bb[_0x35bf29(0xe2)],_0x5a271e);}for(const [_0x544e9d,_0x1ead0b]of _0x3e81f2){if(_0x1ead0b[_0x35bf29(0xd9)]>0x1)throw CliErrors[_0x35bf29(0xed)](_0x35bf29(0xd8)+_0x544e9d+_0x35bf29(0xe6),_0x35bf29(0xf2));}const _0x2616e1=new Map();for(const _0x23bb25 of _0x4fa21d){const _0x307f17=_0x2616e1[_0x35bf29(0xf4)](_0x23bb25[_0x35bf29(0xe8)])??[];_0x307f17['push'](_0x23bb25),_0x2616e1[_0x35bf29(0xe3)](_0x23bb25['normalizedApiDir'],_0x307f17);}for(const _0x5b0908 of _0x2616e1[_0x35bf29(0xda)]()){const _0x4675a3=new Set(_0x5b0908['flatMap'](_0x1d740b=>_0x1d740b[_0x35bf29(0xe2)]?[_0x1d740b['apiGroup']]:[]));if(_0x4675a3[_0x35bf29(0xd9)]===0x0)continue;if(_0x4675a3[_0x35bf29(0xd9)]>0x1||_0x5b0908['some'](_0x21ede8=>!_0x21ede8['apiGroup'])){const _0x3e2a41=_0x5b0908['map'](_0x519599=>_0x519599[_0x35bf29(0xf3)][_0x35bf29(0xdd)])[_0x35bf29(0xe1)](',\x20');throw CliErrors[_0x35bf29(0xed)](_0x35bf29(0xf1)+_0x5b0908[0x0][_0x35bf29(0xe5)]+_0x35bf29(0xdf),'Profiles\x20sharing\x20one\x20apiDir\x20must\x20use\x20the\x20same\x20explicit\x20apiGroup.\x20Conflicting\x20profiles:\x20'+_0x3e2a41+_0x35bf29(0xe0));}}return _0x4fa21d;}export function getRegistryGroup(_0x160dbc,_0x5d1c0d){const _0x1bc182=a1_0x3b8c32;if(_0x5d1c0d[_0x1bc182(0xe2)])return _0x160dbc[_0x1bc182(0xf6)](_0x3cc7be=>_0x3cc7be['apiGroup']===_0x5d1c0d['apiGroup']);const _0x56f1df=_0x160dbc[_0x1bc182(0xf6)](_0x1b5d9e=>_0x1b5d9e['normalizedApiDir']===_0x5d1c0d[_0x1bc182(0xe8)]);return _0x56f1df[_0x1bc182(0xef)]===0x1?_0x56f1df:undefined;}
@@ -1 +1 @@
1
- function a1_0x5535(){var _0x579195=['5551842ZlmMbc','6067064ruyzOB','200431GqRdcm','104cqviIU','453upPRgz','82AsCUxR','464981iLxoLh','290IMuVnr','10054AixVNQ','6209307JrvGnr','5aIcfVd'];a1_0x5535=function(){return _0x579195;};return a1_0x5535();}(function(_0x2e9fd0,_0xe91c8a){var _0x20edc8=a1_0xd0d5,_0xcf2d52=_0x2e9fd0();while(!![]){try{var _0x5dfeb8=-parseInt(_0x20edc8(0x7e))/0x1+-parseInt(_0x20edc8(0x76))/0x2*(-parseInt(_0x20edc8(0x7d))/0x3)+parseInt(_0x20edc8(0x7a))/0x4+parseInt(_0x20edc8(0x78))/0x5*(parseInt(_0x20edc8(0x79))/0x6)+-parseInt(_0x20edc8(0x7b))/0x7*(parseInt(_0x20edc8(0x7c))/0x8)+-parseInt(_0x20edc8(0x77))/0x9+-parseInt(_0x20edc8(0x75))/0xa*(parseInt(_0x20edc8(0x7f))/0xb);if(_0x5dfeb8===_0xe91c8a)break;else _0xcf2d52['push'](_0xcf2d52['shift']());}catch(_0x62c3f3){_0xcf2d52['push'](_0xcf2d52['shift']());}}}(a1_0x5535,0xdeea1));function a1_0xd0d5(_0x526d98,_0xcd2219){_0x526d98=_0x526d98-0x75;var _0x55350f=a1_0x5535();var _0xd0d5e=_0x55350f[_0x526d98];return _0xd0d5e;}export{fetchModelList}from'../core/api-client.js';
1
+ function a2_0x217a(_0xb11ba2,_0x3fb456){_0xb11ba2=_0xb11ba2-0x1d5;var _0x53c305=a2_0x53c3();var _0x217a9c=_0x53c305[_0xb11ba2];return _0x217a9c;}(function(_0x371952,_0x18e98a){var _0x135ad5=a2_0x217a,_0x5445f6=_0x371952();while(!![]){try{var _0x1a1af5=-parseInt(_0x135ad5(0x1dc))/0x1+-parseInt(_0x135ad5(0x1d8))/0x2+parseInt(_0x135ad5(0x1da))/0x3*(parseInt(_0x135ad5(0x1d9))/0x4)+-parseInt(_0x135ad5(0x1d7))/0x5+parseInt(_0x135ad5(0x1db))/0x6*(-parseInt(_0x135ad5(0x1d6))/0x7)+parseInt(_0x135ad5(0x1d5))/0x8+parseInt(_0x135ad5(0x1dd))/0x9;if(_0x1a1af5===_0x18e98a)break;else _0x5445f6['push'](_0x5445f6['shift']());}catch(_0x4c2ef8){_0x5445f6['push'](_0x5445f6['shift']());}}}(a2_0x53c3,0x9b2d7));function a2_0x53c3(){var _0x29ce39=['76AzSWfl','164163YMXqGj','4838868Yplxpf','804613MCqiEq','16317351hwdANA','2822152UOOtVt','7MBqjco','1278005MKUmZu','1406416uNrXZV'];a2_0x53c3=function(){return _0x29ce39;};return a2_0x53c3();}export{fetchModelList}from'../core/api-client.js';
@@ -8,11 +8,27 @@ export interface GenerateApiFileOptions {
8
8
  * `project create` passes true so the empty demo scaffold is filled with models.
9
9
  */
10
10
  overwriteTypescript?: boolean;
11
+ /** Allow an empty pull to replace an existing profile's model facts. */
12
+ allowEmptyModelReplacement?: boolean;
13
+ /**
14
+ * Control source scaffolding independently from model facts.
15
+ * `none` is used by api pull; project upgrade owns source migration.
16
+ */
17
+ scaffoldMode?: "missing" | "replace" | "none";
18
+ /**
19
+ * Keep the stable api.ts/client.ts entrypoints and update this generated
20
+ * profile instead of embedding node-local dataset codes in api.ts.
21
+ */
22
+ modelProfile?: {
23
+ name: string;
24
+ defaultName: string;
25
+ runtimeDomain: string;
26
+ };
11
27
  }
12
28
  /**
13
29
  * Refresh SDK routing facts and optionally write a TypeScript scaffold.
14
30
  *
15
- * Always writes the matching SDK routing file. Writes `api.ts` / `client.ts` only when the
16
- * file is missing, unless `overwriteTypescript` is set.
31
+ * Always writes the matching SDK routing file. Source scaffolding is controlled
32
+ * independently so api pull can refresh facts without performing architecture migration.
17
33
  */
18
34
  export declare function generateApiFile(configArray: ModelListItem[], filePrefix: string, appCode: string, isFromDefaultConfig: boolean, env: string, outputDir: string, appName?: string, sdkRouting?: SdkClientRoutingConfig, options?: GenerateApiFileOptions): Promise<GenerateApiFileResult>;
@@ -1 +1 @@
1
- (function(_0x30c6ea,_0x2b0000){const _0x4b512c=a2_0x191b,_0x5abd85=_0x30c6ea();while(!![]){try{const _0x403d99=-parseInt(_0x4b512c(0x1b3))/0x1+parseInt(_0x4b512c(0x1d6))/0x2*(-parseInt(_0x4b512c(0x1b0))/0x3)+-parseInt(_0x4b512c(0x1cf))/0x4+-parseInt(_0x4b512c(0x1d9))/0x5*(parseInt(_0x4b512c(0x1bb))/0x6)+parseInt(_0x4b512c(0x1c4))/0x7+-parseInt(_0x4b512c(0x1d0))/0x8+parseInt(_0x4b512c(0x1bc))/0x9*(parseInt(_0x4b512c(0x1dc))/0xa);if(_0x403d99===_0x2b0000)break;else _0x5abd85['push'](_0x5abd85['shift']());}catch(_0xa59196){_0x5abd85['push'](_0x5abd85['shift']());}}}(a2_0x3950,0x717d9));import a2_0x1854c7 from'prettier';function a2_0x191b(_0x222a55,_0x1a1829){_0x222a55=_0x222a55-0x1ae;const _0x395094=a2_0x3950();let _0x191b43=_0x395094[_0x222a55];return _0x191b43;}import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';function a2_0x3950(){const _0x24d376=['\x20config\x20set\x20app\x20<value>`','../..','707070QaTKbS','CONFIG_NAMES.DEFAULT','overwriteTypescript','typescript','test','tableName','created','map','221802YGeztR','9nQpBCT','APP_','templates/generate-api','api.ts.tpl','dirname','action','{\x20apiConfigName:\x20','API\x20scaffold\x20written.','4060532nYMSsx','length','replaceApiContent','format','init-api','utf8','toUpperCase',',\x20env:\x20','join','preserved','stringify','1576744crOOqx','2544632kxzwHg','-api','basename','name',',\x20...LOVRABET_SDK_CONFIG\x20}','alias','147166tXheoJ','-client','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','25GVNpNe','overwritten','key','22983640yDZKiC','.ts','replace','datasetCode','api','33GMqsdb'];a2_0x3950=function(){return _0x24d376;};return a2_0x3950();}import a2_0x13a76a from'node:path';import{fileURLToPath}from'node:url';import{TemplateReplacer}from'../utils/template-replacer.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{logger}from'../utils/logger.js';import{isProduction}from'../constant/env.js';import{generateSdkConfigFile}from'../api/generate-sdk-config-file.js';function fileAction(_0x4876a9,_0x4a8a46){const _0x35e32a=a2_0x191b;if(!_0x4a8a46)return _0x35e32a(0x1cd);return _0x4876a9?_0x35e32a(0x1da):_0x35e32a(0x1b9);}export async function generateApiFile(_0x24db47,_0x46fb45,_0x526163,_0x3c4468,_0x2547e5,_0x20b77f,_0x4ef92b,_0x2697b1={},_0x2eb460={}){const _0x122136=a2_0x191b;if(!_0x526163)throw new Error('Please\x20configure\x20app\x20code\x20first\x20via\x20`'+CLI_BIN_NAME+_0x122136(0x1b1));const _0x2c2ae0=_0x3c4468&&!_0x4ef92b,_0x33b414=_0x4ef92b||_0x526163,_0x58c3e9=_0x2c2ae0?'default':_0x33b414,_0x2988b0=_0x2c2ae0?_0x122136(0x1b4):JSON[_0x122136(0x1ce)](_0x33b414),_0x127894=!isProduction(_0x2547e5),_0x551b57=_0x127894?_0x122136(0x1cb)+JSON[_0x122136(0x1ce)](_0x2547e5):'',_0x50e59b=_0x122136(0x1c2)+_0x2988b0+_0x551b57+_0x122136(0x1d4),_0x355ac6=_0x46fb45?_0x46fb45+_0x122136(0x1d1):_0x122136(0x1af),_0xba0f47=_0x46fb45?_0x46fb45+_0x122136(0x1d7):'client',_0x2803d1=_0x46fb45&&!/^app-[a-f0-9]+$/i[_0x122136(0x1b7)](_0x46fb45)?_0x46fb45[_0x122136(0x1de)](/-/g,'_')[_0x122136(0x1ca)]():'LOVRABET',_0x31a7f3=/^\d/[_0x122136(0x1b7)](_0x2803d1)?_0x122136(0x1bd)+_0x2803d1:_0x2803d1,_0x51e7dc=_0x24db47[_0x122136(0x1ba)](_0x26c610=>({'datasetCode':_0x26c610[_0x122136(0x1ae)],'tableName':_0x26c610[_0x122136(0x1b8)],'name':_0x26c610[_0x122136(0x1d3)]||'','alias':_0x26c610[_0x122136(0x1d5)]||_0x26c610[_0x122136(0x1db)]})),_0x455bf2=fileURLToPath(import.meta.url),_0x2bd6bd=a2_0x13a76a['resolve'](a2_0x13a76a[_0x122136(0x1c0)](_0x455bf2),_0x122136(0x1b2)),_0x5c415f=a2_0x13a76a[_0x122136(0x1cc)](_0x2bd6bd,_0x122136(0x1be)),_0x43456a=a2_0x13a76a[_0x122136(0x1cc)](_0x5c415f,_0x122136(0x1bf)),_0x1b1e54=a2_0x13a76a['join'](_0x5c415f,'client.ts.tpl'),_0x4f9d0d=_0x20b77f;mkdirSync(_0x4f9d0d,{'recursive':!![]});const _0x3dba60=await generateSdkConfigFile(_0x4f9d0d,_0x2697b1,_0x46fb45),_0x4d17a5=a2_0x13a76a[_0x122136(0x1d2)](_0x3dba60,_0x122136(0x1dd)),_0x859cb9=a2_0x13a76a[_0x122136(0x1cc)](_0x4f9d0d,_0x355ac6+_0x122136(0x1dd)),_0x50ac38=a2_0x13a76a[_0x122136(0x1cc)](_0x4f9d0d,_0xba0f47+_0x122136(0x1dd)),_0xc9205e=_0x2eb460[_0x122136(0x1b5)]===!![],_0x1a42be=existsSync(_0x859cb9),_0x4cb511=existsSync(_0x50ac38),_0x2b540b=_0xc9205e||!_0x1a42be,_0x3d1fc2=_0xc9205e||!_0x4cb511,_0x1a530d=_0x51e7dc[0x0]?.[_0x122136(0x1d5)];if(_0x2b540b){const _0xd20643=readFileSync(_0x43456a,_0x122136(0x1c9)),_0x324abe=TemplateReplacer[_0x122136(0x1c6)](_0xd20643,_0x526163,_0x51e7dc,_0x1a530d,_0x355ac6,_0x2988b0,undefined,_0x31a7f3);writeFileSync(_0x859cb9,await a2_0x1854c7[_0x122136(0x1c7)](_0x324abe,{'parser':_0x122136(0x1b6)}),{'encoding':'utf8'});}if(_0x3d1fc2){const _0x3a07d9=readFileSync(_0x1b1e54,_0x122136(0x1c9)),_0x12d3e6=TemplateReplacer[_0x122136(0x1c6)](_0x3a07d9,_0x526163,_0x51e7dc,_0x1a530d,_0x355ac6,_0x2988b0,_0x50e59b,_0x31a7f3,_0x4d17a5);writeFileSync(_0x50ac38,await a2_0x1854c7[_0x122136(0x1c7)](_0x12d3e6,{'parser':_0x122136(0x1b6)}),{'encoding':_0x122136(0x1c9)});}const _0x595094=_0x51e7dc[_0x122136(0x1c5)],_0x997f2c={'api':{'path':_0x859cb9,'action':fileAction(_0x1a42be,_0x2b540b)},'client':{'path':_0x50ac38,'action':fileAction(_0x4cb511,_0x3d1fc2)},'sdkConfig':{'path':_0x3dba60,'action':'refreshed'}},_0x187973=_0x997f2c[_0x122136(0x1af)][_0x122136(0x1c1)]==='preserved'||_0x997f2c['client'][_0x122136(0x1c1)]==='preserved';return logger['success'](_0x122136(0x1c8),_0x187973?a2_0x13a76a[_0x122136(0x1d2)](_0x3dba60)+_0x122136(0x1d8):_0x122136(0x1c3),undefined,{'apiFile':_0x859cb9,'clientFile':_0x50ac38,'sdkConfig':_0x3dba60,'modelCount':_0x595094,'configName':_0x58c3e9,'isDefaultConfig':_0x2c2ae0,'needsAgentMerge':_0x187973,'files':_0x997f2c}),{'appCode':_0x526163,'modelCount':_0x595094,'models':_0x51e7dc,'apiFilePath':_0x859cb9,'clientFilePath':_0x50ac38,'sdkConfigPath':_0x3dba60,'configName':_0x58c3e9,'isDefaultConfig':_0x2c2ae0,'sdkRouting':_0x2697b1,'files':_0x997f2c,'needsAgentMerge':_0x187973};}
1
+ function a3_0x257d(){const _0x2d7a27=['overwriteTypescript','success','18617481pvXYER','allowEmptyModelReplacement','join','runtimeDomain','client.ts.tpl','api','{\x20apiConfigName:\x20','none','overwritten','Please\x20configure\x20app\x20code\x20first\x20via\x20`','2697870dVygsE','284168ntlDZT','modelProfile','-api','api.ts.tpl','init-api','datasetCode','preserved','4xfIJhA','utf8','../..','typescript','test','defaultName','LOVRABET','-client','10hmVHDC','resolve','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','map','length','.ts','384826sgZISr','created','\x20config\x20set\x20app\x20<value>`','replace','default','modelRuntime','APP_','stringify','dirname','path','28STPbDI',',\x20env:\x20','action','refreshed','scaffoldMode','toUpperCase','missing','2002776exKMkM','294158LHbdAM','client','name','replaceApiContent','format','includes','alias','API\x20scaffold\x20written.','basename','3777345dcftpx'];a3_0x257d=function(){return _0x2d7a27;};return a3_0x257d();}(function(_0x1795af,_0x348eb3){const _0x3b6308=a3_0x1543,_0x4b0ab8=_0x1795af();while(!![]){try{const _0x1174f8=parseInt(_0x3b6308(0x186))/0x1+parseInt(_0x3b6308(0x174))/0x2+parseInt(_0x3b6308(0x185))/0x3*(-parseInt(_0x3b6308(0x166))/0x4)+-parseInt(_0x3b6308(0x18f))/0x5+-parseInt(_0x3b6308(0x19c))/0x6+-parseInt(_0x3b6308(0x17e))/0x7*(parseInt(_0x3b6308(0x19d))/0x8)+-parseInt(_0x3b6308(0x192))/0x9*(-parseInt(_0x3b6308(0x16e))/0xa);if(_0x1174f8===_0x348eb3)break;else _0x4b0ab8['push'](_0x4b0ab8['shift']());}catch(_0x51cc7e){_0x4b0ab8['push'](_0x4b0ab8['shift']());}}}(a3_0x257d,0x83ee6));import a3_0x2a3982 from'prettier';import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import a3_0x9ff23e from'node:path';import{fileURLToPath}from'node:url';function a3_0x1543(_0x15c110,_0x457f01){_0x15c110=_0x15c110-0x161;const _0x257d2b=a3_0x257d();let _0x15436f=_0x257d2b[_0x15c110];return _0x15436f;}import{TemplateReplacer}from'../utils/template-replacer.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{logger}from'../utils/logger.js';import{isProduction}from'../constant/env.js';import{generateSdkConfigFile}from'../api/generate-sdk-config-file.js';import{MODEL_REGISTRY_FILE_NAME,MODEL_RUNTIME_FILE_NAME,updateModelRegistry}from'../api/model-registry-file.js';import{renderModelRegistryScaffold}from'../api/model-registry-scaffold.js';function fileAction(_0x503079,_0x45476f){const _0x363a7f=a3_0x1543;if(!_0x45476f)return _0x503079?_0x363a7f(0x165):_0x363a7f(0x184);return _0x503079?_0x363a7f(0x19a):'created';}export async function generateApiFile(_0xf4c136,_0x45ac3a,_0x30d6b8,_0x533aaf,_0x87548f,_0x402fb4,_0x556f0d,_0x3c5dbf={},_0x504d50={}){const _0x57abe5=a3_0x1543;if(!_0x30d6b8)throw new Error(_0x57abe5(0x19b)+CLI_BIN_NAME+_0x57abe5(0x176));const _0x456718=_0x533aaf&&!_0x556f0d,_0x251b3c=!!_0x504d50['modelProfile'],_0x1277c9=_0x251b3c||_0x456718,_0xa5d674=_0x556f0d||_0x30d6b8,_0x55180d=_0x251b3c||_0x456718?_0x57abe5(0x178):_0xa5d674,_0x4a5b08=_0x251b3c||_0x456718?'CONFIG_NAMES.DEFAULT':JSON[_0x57abe5(0x17b)](_0xa5d674),_0x320d52=!isProduction(_0x87548f),_0x15371e=_0x320d52?_0x57abe5(0x17f)+JSON[_0x57abe5(0x17b)](_0x87548f):'',_0x55cd24=_0x57abe5(0x198)+_0x4a5b08+_0x15371e+',\x20...LOVRABET_SDK_CONFIG\x20}',_0x28330b=_0x251b3c?'':_0x45ac3a,_0x1ad458=_0x28330b?_0x28330b+_0x57abe5(0x161):_0x57abe5(0x197),_0xe8e287=_0x28330b?_0x28330b+_0x57abe5(0x16d):'client',_0x359f8d=_0x28330b&&!/^app-[a-f0-9]+$/i['test'](_0x28330b)?_0x28330b[_0x57abe5(0x177)](/-/g,'_')[_0x57abe5(0x183)]():_0x57abe5(0x16c),_0x3cccad=/^\d/[_0x57abe5(0x16a)](_0x359f8d)?_0x57abe5(0x17a)+_0x359f8d:_0x359f8d,_0x434e15=_0xf4c136[_0x57abe5(0x171)](_0x49cf17=>({'datasetCode':_0x49cf17[_0x57abe5(0x164)],'tableName':_0x49cf17['tableName'],'name':_0x49cf17[_0x57abe5(0x188)]||'','alias':_0x49cf17[_0x57abe5(0x18c)]||_0x49cf17['key']})),_0x153ae3=fileURLToPath(import.meta.url),_0x5d8097=a3_0x9ff23e[_0x57abe5(0x16f)](a3_0x9ff23e[_0x57abe5(0x17c)](_0x153ae3),_0x57abe5(0x168)),_0x475d2e=a3_0x9ff23e[_0x57abe5(0x194)](_0x5d8097,'templates/generate-api'),_0x43bda0=a3_0x9ff23e['join'](_0x475d2e,_0x57abe5(0x162)),_0x3f7a03=a3_0x9ff23e[_0x57abe5(0x194)](_0x475d2e,_0x57abe5(0x196)),_0xcfcc2=_0x402fb4;mkdirSync(_0xcfcc2,{'recursive':!![]});const _0x37d55b=_0x251b3c?{}:_0x3c5dbf,_0x528189=await generateSdkConfigFile(_0xcfcc2,_0x37d55b,_0x28330b),_0x150a18=a3_0x9ff23e[_0x57abe5(0x18e)](_0x528189,_0x57abe5(0x173)),_0x37132b=a3_0x9ff23e[_0x57abe5(0x194)](_0xcfcc2,_0x1ad458+_0x57abe5(0x173)),_0x5dd382=a3_0x9ff23e['join'](_0xcfcc2,_0xe8e287+'.ts'),_0x2cf2d0=_0x504d50[_0x57abe5(0x190)]===!![],_0x17a4e7=existsSync(_0x37132b),_0x50a31a=existsSync(_0x5dd382),_0x4e61d6=_0x504d50[_0x57abe5(0x182)]??(_0x2cf2d0?_0x57abe5(0x177):_0x57abe5(0x184)),_0x4df1cb=_0x4e61d6===_0x57abe5(0x177)||_0x4e61d6===_0x57abe5(0x184)&&!_0x17a4e7,_0x4d715c=_0x4e61d6===_0x57abe5(0x177)||_0x4e61d6===_0x57abe5(0x184)&&!_0x50a31a,_0x355465=_0x504d50['modelProfile']?updateModelRegistry({'outputDir':_0xcfcc2,'profileName':_0x504d50[_0x57abe5(0x19e)][_0x57abe5(0x188)],'defaultProfile':_0x504d50['modelProfile'][_0x57abe5(0x16b)],'appCode':_0x30d6b8,'runtimeDomain':_0x504d50[_0x57abe5(0x19e)][_0x57abe5(0x195)],'models':_0x434e15,'allowEmptyReplacement':_0x504d50[_0x57abe5(0x193)]===!![]}):undefined,_0x21aca0=_0x355465?a3_0x9ff23e[_0x57abe5(0x194)](_0xcfcc2,MODEL_RUNTIME_FILE_NAME):undefined,_0x431414=_0x21aca0?existsSync(_0x21aca0):![],_0x23fbd1=_0x251b3c&&_0x4e61d6!==_0x57abe5(0x199)?await renderModelRegistryScaffold(_0xcfcc2):undefined;_0x21aca0&&_0x23fbd1&&writeFileSync(_0x21aca0,_0x23fbd1[_0x57abe5(0x179)],'utf8');const _0x552997=_0x434e15[0x0]?.[_0x57abe5(0x18c)];if(_0x4df1cb){const _0x352504=_0x23fbd1?.[_0x57abe5(0x197)]??readFileSync(_0x43bda0,_0x57abe5(0x167)),_0x5a3612=_0x251b3c?_0x352504:TemplateReplacer[_0x57abe5(0x189)](_0x352504,_0x30d6b8,_0x434e15,_0x552997,_0x1ad458,_0x4a5b08,undefined,_0x3cccad);writeFileSync(_0x37132b,await a3_0x2a3982[_0x57abe5(0x18a)](_0x5a3612,{'parser':_0x57abe5(0x169)}),{'encoding':_0x57abe5(0x167)});}if(_0x4d715c){const _0x2ca24f=_0x23fbd1?.[_0x57abe5(0x187)]??readFileSync(_0x3f7a03,_0x57abe5(0x167)),_0x57c5aa=_0x251b3c?_0x2ca24f:TemplateReplacer[_0x57abe5(0x189)](_0x2ca24f,_0x30d6b8,_0x434e15,_0x552997,_0x1ad458,_0x4a5b08,_0x55cd24,_0x3cccad,_0x150a18);writeFileSync(_0x5dd382,await a3_0x2a3982[_0x57abe5(0x18a)](_0x57c5aa,{'parser':_0x57abe5(0x169)}),{'encoding':'utf8'});}const _0x29b59c=_0x434e15[_0x57abe5(0x172)],_0x12d28a={'api':{'path':_0x37132b,'action':fileAction(_0x17a4e7,_0x4df1cb)},'client':{'path':_0x5dd382,'action':fileAction(_0x50a31a,_0x4d715c)},'sdkConfig':{'path':_0x528189,'action':_0x57abe5(0x181)},..._0x355465?{'modelRegistry':{'path':_0x355465[_0x57abe5(0x17d)],'action':_0x355465['existed']?_0x57abe5(0x181):_0x57abe5(0x175)},'modelRuntime':{'path':_0x21aca0,'action':_0x23fbd1?_0x431414?'refreshed':_0x57abe5(0x175):_0x431414?'preserved':_0x57abe5(0x184)}}:{}},_0x3e3b96=existsSync(_0x37132b)&&readFileSync(_0x37132b,_0x57abe5(0x167))[_0x57abe5(0x18b)](MODEL_REGISTRY_FILE_NAME['replace'](_0x57abe5(0x173),'')),_0x128969=existsSync(_0x5dd382)&&readFileSync(_0x5dd382,_0x57abe5(0x167))['includes']('LOVRABET_RUNTIME_DOMAIN'),_0x4cdc35=_0x251b3c?!_0x3e3b96||!_0x128969||!existsSync(_0x21aca0):![],_0x3b18e6=_0x251b3c?_0x4cdc35:_0x12d28a[_0x57abe5(0x197)][_0x57abe5(0x180)]==='preserved'||_0x12d28a[_0x57abe5(0x187)][_0x57abe5(0x180)]==='preserved';return logger[_0x57abe5(0x191)](_0x57abe5(0x163),_0x3b18e6?a3_0x9ff23e[_0x57abe5(0x18e)](_0x528189)+_0x57abe5(0x170):_0x251b3c?'Model\x20facts\x20refreshed.':_0x57abe5(0x18d),undefined,{'apiFile':_0x37132b,'clientFile':_0x5dd382,'sdkConfig':_0x528189,'modelCount':_0x29b59c,'configName':_0x55180d,'isDefaultConfig':_0x1277c9,'needsAgentMerge':_0x3b18e6,'needsProjectUpgrade':_0x4cdc35,'files':_0x12d28a}),{'appCode':_0x30d6b8,'modelCount':_0x29b59c,'models':_0x434e15,'apiFilePath':_0x37132b,'clientFilePath':_0x5dd382,'sdkConfigPath':_0x528189,'modelRegistryPath':_0x355465?.[_0x57abe5(0x17d)],'modelRuntimePath':_0x21aca0,'modelProfile':_0x504d50[_0x57abe5(0x19e)]?.[_0x57abe5(0x188)],'configName':_0x55180d,'isDefaultConfig':_0x1277c9,'sdkRouting':_0x37d55b,'files':_0x12d28a,'needsAgentMerge':_0x3b18e6,'needsProjectUpgrade':_0x4cdc35};}
@@ -1 +1 @@
1
- const a3_0x50fdf1=a3_0x5837;(function(_0x17fd59,_0x1c03ec){const _0x310ee7=a3_0x5837,_0x19323d=_0x17fd59();while(!![]){try{const _0x47f7fb=-parseInt(_0x310ee7(0x1a1))/0x1+parseInt(_0x310ee7(0x199))/0x2*(parseInt(_0x310ee7(0x190))/0x3)+-parseInt(_0x310ee7(0x196))/0x4*(-parseInt(_0x310ee7(0x18a))/0x5)+parseInt(_0x310ee7(0x19d))/0x6*(parseInt(_0x310ee7(0x193))/0x7)+parseInt(_0x310ee7(0x194))/0x8+parseInt(_0x310ee7(0x198))/0x9+parseInt(_0x310ee7(0x18b))/0xa*(-parseInt(_0x310ee7(0x19c))/0xb);if(_0x47f7fb===_0x1c03ec)break;else _0x19323d['push'](_0x19323d['shift']());}catch(_0x5aeb6a){_0x19323d['push'](_0x19323d['shift']());}}}(a3_0x5814,0x50e85));import{mkdirSync,writeFileSync}from'node:fs';import a3_0x3ddd57 from'node:path';import a3_0x1db967 from'prettier';export const SDK_CONFIG_FILE_NAME=a3_0x50fdf1(0x18e);function a3_0x5837(_0x27a5eb,_0x5821b0){_0x27a5eb=_0x27a5eb-0x18a;const _0x581461=a3_0x5814();let _0x58378d=_0x581461[_0x27a5eb];return _0x58378d;}function a3_0x5814(){const _0x80e293=['push','443286MoFkRE','572298lOptzU','stringify','typescript','2109811sKoVmd','534sPbPjN','runtimeDomain:\x20','{\x0a\x20\x20',',\x0a}','556651MMLaxd','5UJNnpE','10PzWVTp',',\x0a\x20\x20','utf8','sdk-config.ts','join','3jEugvL','format','length','1505PKEJyi','4548256dNsFTi','runtimeDomain','627116upRSyU'];a3_0x5814=function(){return _0x80e293;};return a3_0x5814();}export function getSdkConfigFileName(_0x1c6b2b=''){return _0x1c6b2b?_0x1c6b2b+'-sdk-config.ts':SDK_CONFIG_FILE_NAME;}export async function generateSdkConfigFile(_0xbde850,_0x3297c5={},_0x33ecb3=''){const _0x48f9d7=a3_0x50fdf1,_0x299946=[];_0x3297c5[_0x48f9d7(0x195)]&&_0x299946[_0x48f9d7(0x197)](_0x48f9d7(0x19e)+JSON[_0x48f9d7(0x19a)](_0x3297c5[_0x48f9d7(0x195)]));const _0x1dbcf8=_0x299946[_0x48f9d7(0x192)]>0x0?_0x48f9d7(0x19f)+_0x299946[_0x48f9d7(0x18f)](_0x48f9d7(0x18c))+_0x48f9d7(0x1a0):'{}',_0x310ff5='/**\x0a\x20*\x20Lovrabet\x20SDK\x20runtime\x20routing.\x0a\x20*\x20Generated\x20by\x20Rabetbase\x20CLI.\x20Do\x20not\x20add\x20credentials\x20to\x20this\x20file.\x0a\x20*/\x0aexport\x20const\x20LOVRABET_SDK_CONFIG\x20=\x20'+_0x1dbcf8+'\x20as\x20const;\x0a';mkdirSync(_0xbde850,{'recursive':!![]});const _0x12e013=a3_0x3ddd57[_0x48f9d7(0x18f)](_0xbde850,getSdkConfigFileName(_0x33ecb3));return writeFileSync(_0x12e013,await a3_0x1db967[_0x48f9d7(0x191)](_0x310ff5,{'parser':_0x48f9d7(0x19b)}),_0x48f9d7(0x18d)),_0x12e013;}
1
+ const a4_0x49f463=a4_0xf286;(function(_0x42a4d6,_0x3b9e4a){const _0x12b5ef=a4_0xf286,_0x22607f=_0x42a4d6();while(!![]){try{const _0x5cdadc=-parseInt(_0x12b5ef(0x11c))/0x1+-parseInt(_0x12b5ef(0x116))/0x2+-parseInt(_0x12b5ef(0x128))/0x3+parseInt(_0x12b5ef(0x117))/0x4*(parseInt(_0x12b5ef(0x125))/0x5)+parseInt(_0x12b5ef(0x119))/0x6*(parseInt(_0x12b5ef(0x11d))/0x7)+parseInt(_0x12b5ef(0x114))/0x8*(parseInt(_0x12b5ef(0x121))/0x9)+-parseInt(_0x12b5ef(0x129))/0xa*(-parseInt(_0x12b5ef(0x126))/0xb);if(_0x5cdadc===_0x3b9e4a)break;else _0x22607f['push'](_0x22607f['shift']());}catch(_0x18c0de){_0x22607f['push'](_0x22607f['shift']());}}}(a4_0x4644,0xc5894));function a4_0x4644(){const _0x544b4f=['join','typescript','sdk-config.ts','239661HLmiiw','utf8','stringify','runtimeDomain','5BdrVhH','5181sUxLxC',',\x0a}','4358922tpWTye','52310YeMZBm',',\x0a\x20\x20','-sdk-config.ts','112ZuHxXo','{\x0a\x20\x20','2909894iuIrpH','2660568SzziIq','/**\x0a\x20*\x20Lovrabet\x20SDK\x20runtime\x20routing.\x0a\x20*\x20Generated\x20by\x20Rabetbase\x20CLI.\x20Do\x20not\x20add\x20credentials\x20to\x20this\x20file.\x0a\x20*/\x0aexport\x20const\x20LOVRABET_SDK_CONFIG\x20=\x20','42ZWOOeY','runtimeDomain:\x20','\x20as\x20const;\x0a','1263113LPpQYe','1478393NlqrHP'];a4_0x4644=function(){return _0x544b4f;};return a4_0x4644();}import{mkdirSync,writeFileSync}from'node:fs';import a4_0x2fce4f from'node:path';import a4_0x21f5ba from'prettier';function a4_0xf286(_0x4a9b82,_0x1fcb94){_0x4a9b82=_0x4a9b82-0x114;const _0x464472=a4_0x4644();let _0xf286c5=_0x464472[_0x4a9b82];return _0xf286c5;}export const SDK_CONFIG_FILE_NAME=a4_0x49f463(0x120);export function getSdkConfigFileName(_0x29a481=''){const _0x2efcb3=a4_0x49f463;return _0x29a481?_0x29a481+_0x2efcb3(0x12b):SDK_CONFIG_FILE_NAME;}export async function generateSdkConfigFile(_0x1d071d,_0x49dc9d={},_0xda51e=''){const _0x1d4f4b=a4_0x49f463,_0x21e78d=[];_0x49dc9d['runtimeDomain']&&_0x21e78d['push'](_0x1d4f4b(0x11a)+JSON[_0x1d4f4b(0x123)](_0x49dc9d[_0x1d4f4b(0x124)]));const _0x2a4f41=_0x21e78d['length']>0x0?_0x1d4f4b(0x115)+_0x21e78d[_0x1d4f4b(0x11e)](_0x1d4f4b(0x12a))+_0x1d4f4b(0x127):'{}',_0x123eea=_0x1d4f4b(0x118)+_0x2a4f41+_0x1d4f4b(0x11b);mkdirSync(_0x1d071d,{'recursive':!![]});const _0x1e00e5=a4_0x2fce4f['join'](_0x1d071d,getSdkConfigFileName(_0xda51e));return writeFileSync(_0x1e00e5,await a4_0x21f5ba['format'](_0x123eea,{'parser':_0x1d4f4b(0x11f)}),_0x1d4f4b(0x122)),_0x1e00e5;}
@@ -0,0 +1,11 @@
1
+ import type { RegisterModelConfig } from "../types/index.js";
2
+ /** Parse model facts from the deterministic legacy api.ts scaffold without importing it. */
3
+ export declare function parseLegacyApiModels(content: string): RegisterModelConfig[];
4
+ export declare function parseLegacyApiAppCode(content: string): string | undefined;
5
+ /**
6
+ * Return true only for the small, generated legacy api.ts shape.
7
+ * Unknown statements make the file business-owned and therefore ineligible for replacement.
8
+ */
9
+ export declare function isLegacyGeneratedApiScaffold(content: string): boolean;
10
+ /** Return true only for the generated legacy client.ts shape. */
11
+ export declare function isLegacyGeneratedClientScaffold(content: string): boolean;
@@ -0,0 +1 @@
1
+ function a5_0x1c6d(_0x4da006,_0xf9ac2b){_0x4da006=_0x4da006-0x108;const _0x18b738=a5_0x18b7();let _0x18b7b6=_0x18b738[_0x4da006];return _0x18b7b6;}function a5_0x18b7(){const _0x32b24d=['2119887KDFrEs','381366rqbQPB','endsWith','APP_CODE','some','Generated\x20by\x20Rabetbase\x20CLI','matchAll','4663925mbivoB','includes','1604016NVnBSb','length','334296lRwhSa','150KjRFPY','replace','exec','map','test','121866uwuNCA','MODELS_CONFIG','2127828UcXKmG'];a5_0x18b7=function(){return _0x32b24d;};return a5_0x18b7();}(function(_0x282323,_0x33863c){const _0x3e4fd4=a5_0x1c6d,_0x22847f=_0x282323();while(!![]){try{const _0x1600c4=parseInt(_0x3e4fd4(0x114))/0x1+parseInt(_0x3e4fd4(0x10a))/0x2+-parseInt(_0x3e4fd4(0x109))/0x3+-parseInt(_0x3e4fd4(0x108))/0x4+parseInt(_0x3e4fd4(0x115))/0x5*(parseInt(_0x3e4fd4(0x11a))/0x6)+parseInt(_0x3e4fd4(0x110))/0x7+-parseInt(_0x3e4fd4(0x112))/0x8;if(_0x1600c4===_0x33863c)break;else _0x22847f['push'](_0x22847f['shift']());}catch(_0x897e13){_0x22847f['push'](_0x22847f['shift']());}}}(a5_0x18b7,0x58418));export function parseLegacyApiModels(_0x54d710){const _0x57f7f4=a5_0x1c6d,_0x44e1a5=[],_0xc43ac0=/\{\s*datasetCode:\s*"([^"]+)"\s*,\s*tableName:\s*"([^"]+)"\s*,\s*name:\s*"([^"]*?)"\s*,\s*alias:\s*"([^"]+)"\s*,?\s*\}/g;let _0x2b7d66;while((_0x2b7d66=_0xc43ac0[_0x57f7f4(0x117)](_0x54d710))!==null){_0x44e1a5['push']({'datasetCode':_0x2b7d66[0x1],'tableName':_0x2b7d66[0x2],'name':_0x2b7d66[0x3],'alias':_0x2b7d66[0x4]});}return _0x44e1a5;}export function parseLegacyApiAppCode(_0x5f0047){return _0x5f0047['match'](/export\s+const\s+[A-Z0-9_]*APP_CODE(?:\s*:\s*string)?\s*=\s*["']([^"']+)["']/)?.[0x1];}function stripComments(_0x4d008c){const _0x81b9ae=a5_0x1c6d;return _0x4d008c[_0x81b9ae(0x116)](/\/\*[\s\S]*?\*\//g,'')[_0x81b9ae(0x116)](/\/\/.*$/gm,'');}export function isLegacyGeneratedApiScaffold(_0x5a1a9b){const _0x5159b6=a5_0x1c6d;if(!_0x5a1a9b[_0x5159b6(0x111)](_0x5159b6(0x10e)))return![];const _0x5e2e2b=stripComments(_0x5a1a9b),_0x28f8bd=[..._0x5e2e2b['matchAll'](/^import[\s\S]*?from\s+["']([^"']+)["'];?$/gm)][_0x5159b6(0x118)](_0x30f1dc=>_0x30f1dc[0x1]);if(_0x28f8bd['length']!==0x1||_0x28f8bd[0x0]!=='@lovrabet/sdk')return![];const _0x8f5a1d=[..._0x5e2e2b[_0x5159b6(0x10f)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x5159b6(0x118)](_0x5e311a=>_0x5e311a[0x1]);if(_0x8f5a1d[_0x5159b6(0x113)]!==0x2||!_0x8f5a1d['some'](_0x55931b=>_0x55931b[_0x5159b6(0x10b)](_0x5159b6(0x10c)))||!_0x8f5a1d[_0x5159b6(0x10d)](_0x546587=>_0x546587[_0x5159b6(0x10b)](_0x5159b6(0x11b))))return![];const _0x3d889e=[..._0x5e2e2b[_0x5159b6(0x10f)](/^([A-Za-z_$][\w$]*)\s*\(/gm)]['map'](_0x2c5f80=>_0x2c5f80[0x1]);return _0x3d889e[_0x5159b6(0x113)]===0x1&&_0x3d889e[0x0]==='registerModels';}export function isLegacyGeneratedClientScaffold(_0x58d896){const _0x597127=a5_0x1c6d;if(!_0x58d896[_0x597127(0x111)](_0x597127(0x10e)))return![];const _0x11d90e=stripComments(_0x58d896),_0x5b6337=[..._0x11d90e[_0x597127(0x10f)](/^(?:import[\s\S]*?from\s+|import\s+)["']([^"']+)["'];?$/gm)][_0x597127(0x118)](_0x546d08=>_0x546d08[0x1]);if(_0x5b6337['some'](_0x13ad0b=>_0x13ad0b!=='@lovrabet/sdk'&&!/^\.\/(?:[\w-]+-)?(?:api|sdk-config)$/[_0x597127(0x119)](_0x13ad0b??'')))return![];const _0x1d061a=[..._0x11d90e[_0x597127(0x10f)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x597127(0x118)](_0x4e6be5=>_0x4e6be5[0x1]);return _0x1d061a[_0x597127(0x113)]===0x1&&_0x1d061a[0x0]==='lovrabetClient';}
@@ -0,0 +1,36 @@
1
+ import type { RegisterModelConfig } from "../types/index.js";
2
+ export declare const MODEL_REGISTRY_FILE_NAME = "models.generated.ts";
3
+ export declare const MODEL_RUNTIME_FILE_NAME = "model-runtime.ts";
4
+ export declare const MODEL_REGISTRY_VERSION_MARKER = "/* rabetbase-model-registry:v2 */";
5
+ export interface ModelRegistryProfile {
6
+ appCode: string;
7
+ runtimeDomain: string;
8
+ }
9
+ export interface ModelRegistryEntry {
10
+ alias: string;
11
+ tableName: string;
12
+ name: string;
13
+ datasetCodes: Record<string, string>;
14
+ }
15
+ export interface ModelRegistryData {
16
+ defaultProfile: string;
17
+ profiles: Record<string, ModelRegistryProfile>;
18
+ models: ModelRegistryEntry[];
19
+ }
20
+ export interface UpdateModelRegistryOptions {
21
+ outputDir: string;
22
+ profileName: string;
23
+ defaultProfile: string;
24
+ appCode: string;
25
+ runtimeDomain: string;
26
+ models: RegisterModelConfig[];
27
+ allowEmptyReplacement?: boolean;
28
+ }
29
+ export declare function parseModelRegistry(content: string): ModelRegistryData | undefined;
30
+ export declare function readModelRegistry(filePath: string): ModelRegistryData | undefined;
31
+ export declare function getProfileModels(registry: ModelRegistryData, profileName: string): RegisterModelConfig[];
32
+ export declare function updateModelRegistry(options: UpdateModelRegistryOptions): {
33
+ path: string;
34
+ registry: ModelRegistryData;
35
+ existed: boolean;
36
+ };
@@ -0,0 +1 @@
1
+ const a6_0x2ac0b6=a6_0x7971;(function(_0x5406ae,_0x39d1a8){const _0xff4cf2=a6_0x7971,_0x25f95f=_0x5406ae();while(!![]){try{const _0x5223a9=-parseInt(_0xff4cf2(0x6c))/0x1*(parseInt(_0xff4cf2(0x82))/0x2)+-parseInt(_0xff4cf2(0xa8))/0x3+-parseInt(_0xff4cf2(0x9e))/0x4+-parseInt(_0xff4cf2(0x6d))/0x5*(parseInt(_0xff4cf2(0x88))/0x6)+-parseInt(_0xff4cf2(0x91))/0x7+-parseInt(_0xff4cf2(0x9f))/0x8+-parseInt(_0xff4cf2(0x78))/0x9*(-parseInt(_0xff4cf2(0x6e))/0xa);if(_0x5223a9===_0x39d1a8)break;else _0x25f95f['push'](_0x25f95f['shift']());}catch(_0x4bc97c){_0x25f95f['push'](_0x25f95f['shift']());}}}(a6_0x5b9b,0xa3fdb));import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';function a6_0x5b9b(){const _0x1c8348=['split','444havGZf','\x22\x20maps\x20to\x20alias\x20\x22','map','string','fromEntries','models','includes','\x22\x20in\x20the\x20registry\x20but\x20\x22','\x22\x20with\x20an\x20empty\x20result.\x20','1934513RnpAfz','utf8','keys','trim','slice','filter','\x20model(s)\x20in\x20profile\x20\x22','alias','outputDir','Table\x20\x22','key','runtimeDomain','length','558512QHNWAZ','7493040FNInuJ','profileName','push','profiles','Refusing\x20to\x20replace\x20','now','join','values','\x22\x20and\x20\x22','3740322DfdtCT','lovrabet-model-registry/v2','name','value','/**\x0a\x20*\x20Dataset\x20model\x20facts\x20generated\x20by\x20Rabetbase\x20CLI.\x0a\x20*\x0a\x20*\x20This\x20file\x20is\x20safe\x20to\x20commit.\x20Do\x20not\x20edit\x20it\x20manually\x20and\x20never\x20add\x20credentials.\x0a\x20*/\x0a\x0aexport\x20interface\x20LovrabetModelProfile\x20{\x0a\x20\x20appCode:\x20string;\x0a\x20\x20runtimeDomain:\x20string;\x0a}\x0a\x0aexport\x20interface\x20LovrabetModelEntryMetadata\x20{\x0a\x20\x20alias:\x20string;\x0a\x20\x20tableName:\x20string;\x0a\x20\x20name:\x20string;\x0a}\x0a\x0aexport\x20type\x20LovrabetModelEntry\x20=\x20LovrabetModelEntryMetadata\x20&\x20(\x0a\x20\x20|\x20{\x20datasetCode:\x20string;\x20datasetCodes?:\x20never\x20}\x0a\x20\x20|\x20{\x20datasetCode?:\x20never;\x20datasetCodes:\x20Record<string,\x20string>\x20}\x0a);\x0a\x0aexport\x20interface\x20LovrabetModelRegistry\x20{\x0a\x20\x20defaultProfile:\x20string;\x0a\x20\x20profiles:\x20Record<string,\x20LovrabetModelProfile>;\x0a\x20\x20models:\x20LovrabetModelEntry[];\x0a}\x0a\x0a','NOT-SET','entries','isArray','\x22\x20in\x20profile\x20\x22','get','1WyQmon','52665KJYOSD','30JUsfJd','\x20is\x20not\x20a\x20valid\x20Rabetbase\x20generated\x20file.\x20Move\x20or\x20repair\x20it\x20before\x20pulling\x20models\x20again.','defaultProfile','datasetCode','lovrabet-model-registry/v1','stringify','replace','indexOf','tableName','object','12956742nmBCAl','\x20as\x20const\x20satisfies\x20LovrabetModelRegistry;\x0a','set','\x0aexport\x20const\x20LOVRABET_MODEL_REGISTRY\x20=\x0a\x20\x20','parse','appCode','\x22\x20maps\x20to\x20both\x20\x22','protocol','test','model-runtime.ts','536748LTBGRA','/*\x20rabetbase-model-registry:start\x20*/','find','datasetCodes','.tmp'];a6_0x5b9b=function(){return _0x1c8348;};return a6_0x5b9b();}import a6_0xeb4e8f from'node:path';export const MODEL_REGISTRY_FILE_NAME='models.generated.ts';export const MODEL_RUNTIME_FILE_NAME=a6_0x2ac0b6(0x81);export const MODEL_REGISTRY_VERSION_MARKER='/*\x20rabetbase-model-registry:v2\x20*/';const LEGACY_MODEL_REGISTRY_V2_PROTOCOL=a6_0x2ac0b6(0xa9),REGISTRY_START=a6_0x2ac0b6(0x83),REGISTRY_END='/*\x20rabetbase-model-registry:end\x20*/';function emptyRegistry(_0x4729b1){return{'defaultProfile':_0x4729b1,'profiles':{},'models':[]};}function extractRegistryJson(_0x2a44e7){const _0x116271=a6_0x2ac0b6,_0x4c3eb9=_0x2a44e7[_0x116271(0x75)](REGISTRY_START),_0x30be31=_0x2a44e7['indexOf'](REGISTRY_END);if(_0x4c3eb9<0x0||_0x30be31<=_0x4c3eb9)return undefined;return _0x2a44e7['slice'](_0x4c3eb9+REGISTRY_START[_0x116271(0x9d)],_0x30be31)[_0x116271(0x94)]()[_0x116271(0x74)](/\s+as const satisfies LovrabetModelRegistry;?$/,'')[_0x116271(0x74)](/;$/,'');}function migrateLegacyRegistry(_0x289530){const _0x396a0f=a6_0x2ac0b6,_0x2f52dc=emptyRegistry(_0x289530[_0x396a0f(0x70)]);for(const [_0x2c4d4c,_0x40f658]of Object[_0x396a0f(0xae)](_0x289530['profiles'])){_0x2f52dc[_0x396a0f(0xa2)][_0x2c4d4c]={'appCode':_0x40f658['appCode'],'runtimeDomain':_0x40f658['runtimeDomain']},mergeProfileModels(_0x2f52dc,_0x2c4d4c,_0x40f658[_0x396a0f(0x8d)]);}return _0x2f52dc;}function generatedObjectLiteralToJson(_0x3fa475){const _0x401560=a6_0x2ac0b6;let _0x4034e5='',_0x317e02,_0x5a82f3=![],_0x397aa;for(let _0x4c522d=0x0;_0x4c522d<_0x3fa475[_0x401560(0x9d)];_0x4c522d++){const _0xbfa5cc=_0x3fa475[_0x4c522d];if(_0x317e02){_0x4034e5+=_0xbfa5cc;if(_0x5a82f3)_0x5a82f3=![];else{if(_0xbfa5cc==='\x5c')_0x5a82f3=!![];else{if(_0xbfa5cc===_0x317e02)_0x317e02=undefined;}}continue;}if(_0xbfa5cc==='\x22'){_0x317e02=_0xbfa5cc,_0x4034e5+=_0xbfa5cc,_0x397aa='value';continue;}if(_0xbfa5cc===','){let _0x485948=_0x4c522d+0x1;while(/\s/[_0x401560(0x80)](_0x3fa475[_0x485948]??''))_0x485948++;if(_0x3fa475[_0x485948]==='}'||_0x3fa475[_0x485948]===']')continue;_0x4034e5+=_0xbfa5cc,_0x397aa=',';continue;}if(_0xbfa5cc==='{'||_0xbfa5cc==='['){_0x4034e5+=_0xbfa5cc,_0x397aa=_0xbfa5cc;continue;}if(_0xbfa5cc==='}'||_0xbfa5cc===']'){_0x4034e5+=_0xbfa5cc,_0x397aa=_0xbfa5cc;continue;}if((_0x397aa==='{'||_0x397aa===',')&&/[A-Za-z_$]/['test'](_0xbfa5cc)){let _0x54360f=_0x4c522d+0x1;while(/[A-Za-z0-9_$]/[_0x401560(0x80)](_0x3fa475[_0x54360f]??''))_0x54360f++;let _0x5cfed1=_0x54360f;while(/\s/['test'](_0x3fa475[_0x5cfed1]??''))_0x5cfed1++;if(_0x3fa475[_0x5cfed1]===':'){_0x4034e5+=JSON[_0x401560(0x73)](_0x3fa475[_0x401560(0x95)](_0x4c522d,_0x54360f)),_0x4c522d=_0x54360f-0x1,_0x397aa=_0x401560(0x9b);continue;}}_0x4034e5+=_0xbfa5cc;if(!/\s/[_0x401560(0x80)](_0xbfa5cc)&&_0xbfa5cc!==':')_0x397aa=_0x401560(0xab);}return _0x4034e5;}function parseGeneratedRegistryJson(_0x4597ec){const _0x202d51=a6_0x2ac0b6;try{return JSON['parse'](_0x4597ec);}catch{return JSON[_0x202d51(0x7c)](generatedObjectLiteralToJson(_0x4597ec));}}function normalizeModelEntries(_0xcda159,_0x579bc0){const _0xc25b66=a6_0x2ac0b6,_0x50a199=Object['keys'](_0xcda159),_0x142ed1=[];for(const _0x18f7a4 of _0x579bc0){if(!_0x18f7a4||typeof _0x18f7a4!==_0xc25b66(0x77)||Array[_0xc25b66(0xaf)](_0x18f7a4))return undefined;const _0x19e06e=_0x18f7a4;if(typeof _0x19e06e[_0xc25b66(0x98)]!==_0xc25b66(0x8b)||typeof _0x19e06e[_0xc25b66(0x76)]!=='string'||typeof _0x19e06e['name']!==_0xc25b66(0x8b))return undefined;let _0x173269;if(typeof _0x19e06e[_0xc25b66(0x71)]===_0xc25b66(0x8b)&&_0x19e06e[_0xc25b66(0x85)]===undefined)_0x173269=Object[_0xc25b66(0x8c)](_0x50a199[_0xc25b66(0x8a)](_0x256705=>[_0x256705,_0x19e06e['datasetCode']]));else{if(_0x19e06e['datasetCode']===undefined&&_0x19e06e[_0xc25b66(0x85)]&&typeof _0x19e06e[_0xc25b66(0x85)]===_0xc25b66(0x77)&&!Array['isArray'](_0x19e06e[_0xc25b66(0x85)])&&Object[_0xc25b66(0xa6)](_0x19e06e[_0xc25b66(0x85)])['every'](_0x11d3c3=>typeof _0x11d3c3==='string'))_0x173269={..._0x19e06e[_0xc25b66(0x85)]};else return undefined;}_0x142ed1[_0xc25b66(0xa1)]({'alias':_0x19e06e[_0xc25b66(0x98)],'tableName':_0x19e06e[_0xc25b66(0x76)],'name':_0x19e06e[_0xc25b66(0xaa)],'datasetCodes':_0x173269});}return _0x142ed1;}export function parseModelRegistry(_0x3051e8){const _0xa7d8dc=a6_0x2ac0b6,_0x30c9a8=extractRegistryJson(_0x3051e8);if(!_0x30c9a8)return undefined;try{const _0x190114=parseGeneratedRegistryJson(_0x30c9a8);if(typeof _0x190114[_0xa7d8dc(0x70)]!==_0xa7d8dc(0x8b)||!_0x190114[_0xa7d8dc(0xa2)]||typeof _0x190114[_0xa7d8dc(0xa2)]!=='object')return undefined;if(_0x190114[_0xa7d8dc(0x7f)]===_0xa7d8dc(0x72))return migrateLegacyRegistry(_0x190114);if(!(_0x190114[_0xa7d8dc(0x7f)]===LEGACY_MODEL_REGISTRY_V2_PROTOCOL||_0x190114[_0xa7d8dc(0x7f)]===undefined&&_0x3051e8[_0xa7d8dc(0x8e)](MODEL_REGISTRY_VERSION_MARKER))||!Array['isArray'](_0x190114['models']))return undefined;const _0x9e2ca7=_0x190114['profiles'],_0x17a354=normalizeModelEntries(_0x9e2ca7,_0x190114[_0xa7d8dc(0x8d)]);if(!_0x17a354)return undefined;return{'defaultProfile':_0x190114['defaultProfile'],'profiles':_0x9e2ca7,'models':_0x17a354};}catch{return undefined;}}export function readModelRegistry(_0x220713){if(!existsSync(_0x220713))return undefined;try{return parseModelRegistry(readFileSync(_0x220713,'utf8'));}catch{return undefined;}}function registrySource(_0x8955cf){const _0x142cf7=a6_0x2ac0b6,_0x44d539=Object['keys'](_0x8955cf['profiles']),_0x4f8fa9=_0x8955cf[_0x142cf7(0x8d)]['map'](_0x3c416b=>{const _0xaadaa1=_0x142cf7,_0x73ca1e=_0x44d539['map'](_0x485ef1=>_0x3c416b[_0xaadaa1(0x85)][_0x485ef1]),_0x3064a5=_0x73ca1e[0x0],_0x4179bf=_0x3064a5!==undefined&&_0x73ca1e['every'](_0x5467e5=>_0x5467e5===_0x3064a5),_0x417ed5={'alias':_0x3c416b[_0xaadaa1(0x98)],'tableName':_0x3c416b[_0xaadaa1(0x76)],'name':_0x3c416b['name']};return _0x4179bf?{..._0x417ed5,'datasetCode':_0x3064a5}:{..._0x417ed5,'datasetCodes':_0x3c416b[_0xaadaa1(0x85)]};}),_0x47bd4d=JSON['stringify']({'defaultProfile':_0x8955cf[_0x142cf7(0x70)],'profiles':_0x8955cf[_0x142cf7(0xa2)],'models':_0x4f8fa9},null,0x2)[_0x142cf7(0x87)]('\x0a')[_0x142cf7(0x8a)](_0x5f5425=>'\x20\x20'+_0x5f5425)[_0x142cf7(0xa5)]('\x0a');return _0x142cf7(0xac)+MODEL_REGISTRY_VERSION_MARKER+_0x142cf7(0x7b)+REGISTRY_START+'\x0a'+_0x47bd4d+_0x142cf7(0x79)+REGISTRY_END+'\x0a';}function mergeProfileModels(_0x1c77b0,_0x3a7ba9,_0x112536){const _0x415a4b=a6_0x2ac0b6,_0x7240ff=_0x112536[_0x415a4b(0x8a)](_0x5d3ea5=>({..._0x5d3ea5,'alias':_0x5d3ea5[_0x415a4b(0x98)]||_0x5d3ea5['tableName']})),_0x30c1de=new Map(),_0x4f1e37=new Map();for(const _0x3232d6 of _0x7240ff){const _0x43bc0b=_0x30c1de[_0x415a4b(0x6b)](_0x3232d6[_0x415a4b(0x98)]);if(_0x43bc0b&&_0x43bc0b!==_0x3232d6[_0x415a4b(0x76)])throw new Error('Model\x20alias\x20\x22'+_0x3232d6[_0x415a4b(0x98)]+_0x415a4b(0x7e)+_0x43bc0b+_0x415a4b(0xa7)+_0x3232d6[_0x415a4b(0x76)]+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');const _0x5cb9b3=_0x4f1e37[_0x415a4b(0x6b)](_0x3232d6['tableName']);if(_0x5cb9b3&&_0x5cb9b3!==_0x3232d6['alias'])throw new Error(_0x415a4b(0x9a)+_0x3232d6[_0x415a4b(0x76)]+'\x22\x20maps\x20to\x20both\x20aliases\x20\x22'+_0x5cb9b3+_0x415a4b(0xa7)+_0x3232d6[_0x415a4b(0x98)]+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');_0x30c1de[_0x415a4b(0x7a)](_0x3232d6['alias'],_0x3232d6['tableName']),_0x4f1e37[_0x415a4b(0x7a)](_0x3232d6[_0x415a4b(0x76)],_0x3232d6[_0x415a4b(0x98)]);const _0x158420=_0x1c77b0[_0x415a4b(0x8d)]['find'](_0x2092a4=>_0x2092a4[_0x415a4b(0x98)]===_0x3232d6['alias']);if(_0x158420&&_0x158420[_0x415a4b(0x76)]!==_0x3232d6['tableName'])throw new Error('Model\x20alias\x20\x22'+_0x3232d6[_0x415a4b(0x98)]+'\x22\x20maps\x20to\x20table\x20\x22'+_0x158420['tableName']+_0x415a4b(0x8f)+_0x3232d6['tableName']+'\x22\x20in\x20profile\x20\x22'+_0x3a7ba9+'\x22.');const _0xa6b104=_0x1c77b0['models'][_0x415a4b(0x84)](_0x273c7f=>_0x273c7f['tableName']===_0x3232d6['tableName']);if(_0xa6b104&&_0xa6b104['alias']!==_0x3232d6['alias'])throw new Error(_0x415a4b(0x9a)+_0x3232d6['tableName']+_0x415a4b(0x89)+_0xa6b104['alias']+_0x415a4b(0x8f)+_0x3232d6['alias']+_0x415a4b(0xb0)+_0x3a7ba9+'\x22.');}for(const _0x5180fb of _0x1c77b0[_0x415a4b(0x8d)]){delete _0x5180fb[_0x415a4b(0x85)][_0x3a7ba9];}for(const _0x4f035e of _0x7240ff){let _0x2d509f=_0x1c77b0[_0x415a4b(0x8d)][_0x415a4b(0x84)](_0x2e8044=>_0x2e8044[_0x415a4b(0x98)]===_0x4f035e[_0x415a4b(0x98)]);!_0x2d509f&&(_0x2d509f={'alias':_0x4f035e['alias'],'tableName':_0x4f035e[_0x415a4b(0x76)],'name':_0x4f035e[_0x415a4b(0xaa)],'datasetCodes':{}},_0x1c77b0[_0x415a4b(0x8d)][_0x415a4b(0xa1)](_0x2d509f)),(_0x3a7ba9===_0x1c77b0[_0x415a4b(0x70)]||!_0x2d509f[_0x415a4b(0x85)][_0x1c77b0[_0x415a4b(0x70)]])&&(_0x2d509f[_0x415a4b(0x98)]=_0x4f035e[_0x415a4b(0x98)],_0x2d509f[_0x415a4b(0x76)]=_0x4f035e[_0x415a4b(0x76)],_0x2d509f[_0x415a4b(0xaa)]=_0x4f035e[_0x415a4b(0xaa)]),_0x2d509f['datasetCodes'][_0x3a7ba9]=_0x4f035e[_0x415a4b(0x71)];}_0x1c77b0['models']=_0x1c77b0[_0x415a4b(0x8d)]['filter'](_0x361efd=>Object[_0x415a4b(0x93)](_0x361efd[_0x415a4b(0x85)])[_0x415a4b(0x9d)]>0x0);}function a6_0x7971(_0xd4df43,_0x18b9b4){_0xd4df43=_0xd4df43-0x6b;const _0x5b9bfc=a6_0x5b9b();let _0x79718a=_0x5b9bfc[_0xd4df43];return _0x79718a;}function removeUnboundProfiles(_0x2cbc47){const _0x459c4e=a6_0x2ac0b6,_0x510203=Object[_0x459c4e(0xae)](_0x2cbc47[_0x459c4e(0xa2)])[_0x459c4e(0x96)](([,_0x4128fb])=>_0x4128fb[_0x459c4e(0x7d)]===_0x459c4e(0xad))['map'](([_0x108225])=>_0x108225);if(_0x510203[_0x459c4e(0x9d)]===0x0)return;for(const _0x38a989 of _0x510203){delete _0x2cbc47[_0x459c4e(0xa2)][_0x38a989];for(const _0x428adb of _0x2cbc47[_0x459c4e(0x8d)]){delete _0x428adb[_0x459c4e(0x85)][_0x38a989];}}_0x2cbc47['models']=_0x2cbc47[_0x459c4e(0x8d)][_0x459c4e(0x96)](_0x43caf0=>Object['keys'](_0x43caf0[_0x459c4e(0x85)])[_0x459c4e(0x9d)]>0x0);}export function getProfileModels(_0x38e801,_0x164b93){const _0x31e0fe=a6_0x2ac0b6;return _0x38e801[_0x31e0fe(0x8d)]['flatMap'](_0x2c3e32=>{const _0x58d9a7=_0x31e0fe,_0x5623f7=_0x2c3e32['datasetCodes'][_0x164b93];return _0x5623f7?[{'datasetCode':_0x5623f7,'tableName':_0x2c3e32[_0x58d9a7(0x76)],'name':_0x2c3e32[_0x58d9a7(0xaa)],'alias':_0x2c3e32['alias']}]:[];});}export function updateModelRegistry(_0x4aad8f){const _0x23cb15=a6_0x2ac0b6,_0x467b60=a6_0xeb4e8f['join'](_0x4aad8f[_0x23cb15(0x99)],MODEL_REGISTRY_FILE_NAME),_0x4983a5=existsSync(_0x467b60),_0x2a5452=readModelRegistry(_0x467b60);if(_0x4983a5&&!_0x2a5452)throw new Error(MODEL_REGISTRY_FILE_NAME+_0x23cb15(0x6f));const _0x3a5864=_0x2a5452??emptyRegistry(_0x4aad8f[_0x23cb15(0x70)]);if(_0x4aad8f[_0x23cb15(0x7d)]!==_0x23cb15(0xad))removeUnboundProfiles(_0x3a5864);const _0x3860d1=_0x2a5452?getProfileModels(_0x2a5452,_0x4aad8f[_0x23cb15(0xa0)])['length']:0x0;if(_0x3860d1>0x0&&_0x4aad8f[_0x23cb15(0x8d)]['length']===0x0&&!_0x4aad8f['allowEmptyReplacement'])throw new Error(_0x23cb15(0xa3)+_0x3860d1+_0x23cb15(0x97)+_0x4aad8f[_0x23cb15(0xa0)]+_0x23cb15(0x90)+'Verify\x20the\x20selected\x20app\x20and\x20login,\x20or\x20rerun\x20with\x20--force\x20--yes\x20if\x20the\x20profile\x20is\x20intentionally\x20empty.');_0x3a5864[_0x23cb15(0x70)]=_0x4aad8f['defaultProfile'],_0x3a5864[_0x23cb15(0xa2)][_0x4aad8f[_0x23cb15(0xa0)]]={'appCode':_0x4aad8f[_0x23cb15(0x7d)],'runtimeDomain':_0x4aad8f[_0x23cb15(0x9c)]},mergeProfileModels(_0x3a5864,_0x4aad8f['profileName'],_0x4aad8f['models']),mkdirSync(_0x4aad8f[_0x23cb15(0x99)],{'recursive':!![]});const _0x20e8a7=_0x467b60+'.'+process['pid']+'.'+Date[_0x23cb15(0xa4)]()+_0x23cb15(0x86);try{writeFileSync(_0x20e8a7,registrySource(_0x3a5864),{'encoding':_0x23cb15(0x92),'mode':0x1a4}),renameSync(_0x20e8a7,_0x467b60);}catch(_0x3fd605){try{unlinkSync(_0x20e8a7);}catch{}throw _0x3fd605;}return{'path':_0x467b60,'registry':_0x3a5864,'existed':_0x4983a5};}
@@ -0,0 +1,7 @@
1
+ export interface ModelRegistryScaffold {
2
+ api: string;
3
+ client: string;
4
+ modelRuntime: string;
5
+ }
6
+ /** Render the CLI-owned stable entrypoints from the packaged templates. */
7
+ export declare function renderModelRegistryScaffold(outputDir: string, projectRoot?: string): Promise<ModelRegistryScaffold>;
@@ -0,0 +1 @@
1
+ const a7_0x1e3e5a=a7_0x1394;(function(_0xd7b5ef,_0xf6cff4){const _0x3b822f=a7_0x1394,_0x48c8ac=_0xd7b5ef();while(!![]){try{const _0x36140f=-parseInt(_0x3b822f(0xf2))/0x1*(parseInt(_0x3b822f(0xe3))/0x2)+-parseInt(_0x3b822f(0xde))/0x3+-parseInt(_0x3b822f(0xe7))/0x4*(-parseInt(_0x3b822f(0xea))/0x5)+-parseInt(_0x3b822f(0xe6))/0x6+parseInt(_0x3b822f(0xe5))/0x7+parseInt(_0x3b822f(0xef))/0x8*(parseInt(_0x3b822f(0xda))/0x9)+parseInt(_0x3b822f(0xe0))/0xa*(parseInt(_0x3b822f(0xeb))/0xb);if(_0x36140f===_0xf6cff4)break;else _0x48c8ac['push'](_0x48c8ac['shift']());}catch(_0x538203){_0x48c8ac['push'](_0x48c8ac['shift']());}}}(a7_0x2d83,0xa29a4));import{readFileSync}from'node:fs';function a7_0x2d83(){const _0x6e80ff=['utf8','resolve','3776922PXnbHS','typescript','70qGWHHY','cwd','format','1793532hSbRnq','join','9193023NyqyLj','961872okrMIe','661988gnEsRL','all','model-runtime.ts.tpl','10EtNgbP','469491SnocOh','relative','../../templates/generate-api','profile-api.ts.tpl','328naDEEV','startsWith','replace','1xojdIr','228078sAkdgf','{ProjectRoutingImport}'];a7_0x2d83=function(){return _0x6e80ff;};return a7_0x2d83();}import a7_0x367ad4 from'node:path';function a7_0x1394(_0x426723,_0x433779){_0x426723=_0x426723-0xda;const _0x2d834b=a7_0x2d83();let _0x139486=_0x2d834b[_0x426723];return _0x139486;}import{fileURLToPath}from'node:url';import a7_0x33d088 from'prettier';import{PROJECT_DOMAIN_ROUTING_FILE_NAME}from'../config/project-domain-routing.js';function relativeImport(_0x298bc7,_0x1cb7d2){const _0xb2f58f=a7_0x1394;let _0x5b0270=a7_0x367ad4[_0xb2f58f(0xec)](_0x298bc7,_0x1cb7d2)['replace'](/\\/g,'/');if(!_0x5b0270[_0xb2f58f(0xf0)]('.'))_0x5b0270='./'+_0x5b0270;return _0x5b0270;}export async function renderModelRegistryScaffold(_0x169841,_0x48b2b9=process[a7_0x1e3e5a(0xe1)]()){const _0x50c5e0=a7_0x1e3e5a,_0x14718d=fileURLToPath(import.meta.url),_0x193d51=a7_0x367ad4[_0x50c5e0(0xdd)](a7_0x367ad4['dirname'](_0x14718d),_0x50c5e0(0xed)),_0x3ee028=relativeImport(a7_0x367ad4[_0x50c5e0(0xdd)](_0x169841),a7_0x367ad4[_0x50c5e0(0xdd)](_0x48b2b9,PROJECT_DOMAIN_ROUTING_FILE_NAME)),_0x28ddd9=readFileSync(a7_0x367ad4[_0x50c5e0(0xe4)](_0x193d51,_0x50c5e0(0xee)),_0x50c5e0(0xdc))[_0x50c5e0(0xf1)](_0x50c5e0(0xdb),_0x3ee028),[_0x2dd89b,_0x3839f6,_0x312e26]=await Promise[_0x50c5e0(0xe8)]([a7_0x33d088[_0x50c5e0(0xe2)](_0x28ddd9,{'parser':_0x50c5e0(0xdf)}),a7_0x33d088['format'](readFileSync(a7_0x367ad4[_0x50c5e0(0xe4)](_0x193d51,'profile-client.ts.tpl'),'utf8'),{'parser':_0x50c5e0(0xdf)}),a7_0x33d088['format'](readFileSync(a7_0x367ad4['join'](_0x193d51,_0x50c5e0(0xe9)),'utf8'),{'parser':'typescript'})]);return{'api':_0x2dd89b,'client':_0x3839f6,'modelRuntime':_0x312e26};}
@@ -0,0 +1,6 @@
1
+ export interface ApiModelSource {
2
+ filePath: string;
3
+ profileName?: string;
4
+ }
5
+ /** Resolve generated model facts without guessing between duplicate AppCodes. */
6
+ export declare function resolveApiModelSource(apiDir: string, appCode?: string, selectedAppName?: string): ApiModelSource;
@@ -0,0 +1 @@
1
+ function a8_0x4037(){const _0x3e668c=['apiDir','api.ts','profiles','find','defaultApp','538376aVIpVs','8MrJsbE','cwd','10126930XmwYUc','\x22\x20is\x20missing\x20from\x20','string','map','\x20api\x20pull\x20--app\x20','Select\x20the\x20target\x20explicitly\x20with\x20--app\x20<profile>.','entries','apps','AppCode\x20\x22','validation','appCode','length','\x22\x20belongs\x20to\x20multiple\x20model\x20profiles:\x20','515sZdDCv','46809zmSFfg','1028016NGkUFx','resolve','568vYLOqm','613635oSFRUc','-api.ts','defaultProfile','join','131256TpeWhB','27516kofhcv'];a8_0x4037=function(){return _0x3e668c;};return a8_0x4037();}(function(_0x35850d,_0x4a8fc1){const _0x3cbdfb=a8_0x31c6,_0x3cca22=_0x35850d();while(!![]){try{const _0x39b3ae=-parseInt(_0x3cbdfb(0x81))/0x1+-parseInt(_0x3cbdfb(0x93))/0x2+parseInt(_0x3cbdfb(0x96))/0x3*(parseInt(_0x3cbdfb(0x82))/0x4)+parseInt(_0x3cbdfb(0x91))/0x5*(parseInt(_0x3cbdfb(0x7b))/0x6)+parseInt(_0x3cbdfb(0x92))/0x7*(-parseInt(_0x3cbdfb(0x95))/0x8)+-parseInt(_0x3cbdfb(0x9a))/0x9+parseInt(_0x3cbdfb(0x84))/0xa;if(_0x39b3ae===_0x4a8fc1)break;else _0x3cca22['push'](_0x3cca22['shift']());}catch(_0x4efd3f){_0x3cca22['push'](_0x3cca22['shift']());}}}(a8_0x4037,0x5608c));import{existsSync}from'node:fs';import a8_0x5ef9ba from'node:path';import{readRawConfig}from'../context/config-loader.js';function a8_0x31c6(_0x45bc66,_0x2c6357){_0x45bc66=_0x45bc66-0x7b;const _0x4037df=a8_0x4037();let _0x31c670=_0x4037df[_0x45bc66];return _0x31c670;}import{MODEL_REGISTRY_FILE_NAME,readModelRegistry}from'../api/model-registry-file.js';import{CliErrors}from'../errors.js';import{CLI_BIN_NAME}from'../constant/cli.js';export function resolveApiModelSource(_0x451aa9,_0x143bd4,_0x5287df){const _0x5461c9=a8_0x31c6,_0x43d410=a8_0x5ef9ba[_0x5461c9(0x94)](process[_0x5461c9(0x83)](),_0x451aa9),_0x295380=a8_0x5ef9ba['resolve'](_0x43d410,_0x5461c9(0x7d)),_0x2a5153=a8_0x5ef9ba[_0x5461c9(0x94)](_0x43d410,MODEL_REGISTRY_FILE_NAME),_0x19101e=readModelRegistry(_0x2a5153);if(_0x19101e){const _0x5c374c=_0x143bd4?Object[_0x5461c9(0x8a)](_0x19101e[_0x5461c9(0x7e)])['filter'](([,_0x171b16])=>_0x171b16[_0x5461c9(0x8e)]===_0x143bd4):[];if(_0x5287df){if(_0x19101e[_0x5461c9(0x7e)][_0x5287df])return{'filePath':_0x2a5153,'profileName':_0x5287df};if(_0x5c374c[_0x5461c9(0x8f)]>0x0)throw CliErrors[_0x5461c9(0x8d)]('Model\x20profile\x20\x22'+_0x5287df+_0x5461c9(0x85)+MODEL_REGISTRY_FILE_NAME+'.','Run\x20`'+CLI_BIN_NAME+_0x5461c9(0x88)+_0x5287df+'`\x20first.');}else{if(_0x5c374c[_0x5461c9(0x8f)]===0x1)return{'filePath':_0x2a5153,'profileName':_0x5c374c[0x0][0x0]};if(_0x5c374c[_0x5461c9(0x8f)]>0x1)throw new Error(_0x5461c9(0x8c)+_0x143bd4+_0x5461c9(0x90)+_0x5c374c[_0x5461c9(0x87)](([_0x48d08e])=>_0x48d08e)[_0x5461c9(0x99)](',\x20')+'.\x20'+_0x5461c9(0x89));if(_0x19101e['profiles'][_0x19101e[_0x5461c9(0x98)]]&&!_0x143bd4)return{'filePath':_0x2a5153,'profileName':_0x19101e[_0x5461c9(0x98)]};}}if(!_0x143bd4&&!_0x5287df)return{'filePath':_0x295380};const _0x4aaa7e=readRawConfig(),_0x3231fe=_0x4aaa7e[_0x5461c9(0x8b)]&&typeof _0x4aaa7e[_0x5461c9(0x8b)]==='object'?_0x4aaa7e['apps']:{},_0x44f5ae=_0x5287df&&_0x3231fe[_0x5287df]?[_0x5287df,_0x3231fe[_0x5287df]]:Object[_0x5461c9(0x8a)](_0x3231fe)[_0x5461c9(0x7f)](([,_0xa71501])=>_0xa71501?.['appcode']===_0x143bd4);if(!_0x44f5ae)return{'filePath':_0x295380};const [_0x172985,_0x250b35]=_0x44f5ae,_0x41fe46=typeof _0x4aaa7e[_0x5461c9(0x80)]===_0x5461c9(0x86)?_0x4aaa7e[_0x5461c9(0x80)]:undefined;if(_0x250b35?.[_0x5461c9(0x7c)])return{'filePath':_0x295380};if(_0x41fe46&&_0x172985!==_0x41fe46){const _0x54eefe=a8_0x5ef9ba[_0x5461c9(0x94)](_0x43d410,_0x172985+_0x5461c9(0x97));if(existsSync(_0x54eefe))return{'filePath':_0x54eefe};}return{'filePath':_0x295380};}
@@ -1 +1 @@
1
- (function(_0x2f475b,_0x3686f6){const _0x5790e4=a4_0x29bd,_0x296184=_0x2f475b();while(!![]){try{const _0x472d12=-parseInt(_0x5790e4(0x123))/0x1+parseInt(_0x5790e4(0x128))/0x2*(parseInt(_0x5790e4(0x11a))/0x3)+-parseInt(_0x5790e4(0x129))/0x4+parseInt(_0x5790e4(0x118))/0x5+-parseInt(_0x5790e4(0x11e))/0x6+-parseInt(_0x5790e4(0x121))/0x7+parseInt(_0x5790e4(0x124))/0x8*(parseInt(_0x5790e4(0x120))/0x9);if(_0x472d12===_0x3686f6)break;else _0x296184['push'](_0x296184['shift']());}catch(_0x72d5a9){_0x296184['push'](_0x296184['shift']());}}}(a4_0x4204,0x371f7));function a4_0x4204(){const _0x4384c1=['12804CVTPSh','Run\x20`','log','*\x20Login\x20successful!','1295370aZFPfG','autoYes','2587473DkuMFQ','2257388FpPPFW','โˆš\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','4934yfdpUc','8IwAEfX','stop','nonInteractive','!\x20Login\x20failed.','122UuBvJr','5804ytHNiB','Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.','1113510BkkRRo','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.'];a4_0x4204=function(){return _0x4384c1;};return a4_0x4204();}import{getIsSessionValid}from'../auth/is-session-valid.js';function a4_0x29bd(_0x261890,_0x2093d8){_0x261890=_0x261890-0x118;const _0x42049d=a4_0x4204();let _0x29bd8e=_0x42049d[_0x261890];return _0x29bd8e;}import{authServer}from'../auth/auth-server.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';import{confirm}from'@inquirer/prompts';import a4_0x5967ce from'ora';export async function runAuthServer(_0x1c89d6){const _0x425dd8=a4_0x29bd,_0x157b19=await getIsSessionValid();if(_0x157b19){console['log'](_0x425dd8(0x122));return;}if(_0x1c89d6?.[_0x425dd8(0x126)]&&!_0x1c89d6[_0x425dd8(0x11f)])throw CliErrors['validation'](_0x425dd8(0x119),_0x425dd8(0x11b)+CLI_BIN_NAME+'\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.');const _0x1918d2=_0x1c89d6?.[_0x425dd8(0x11f)]?!![]:await confirm({'message':'No\x20valid\x20session.\x20Login\x20now?','default':!![]});if(!_0x1918d2)return;if(_0x1c89d6?.[_0x425dd8(0x126)]){console[_0x425dd8(0x11c)](_0x425dd8(0x12a));const _0x461867=await authServer({'silent':![],'openBrowser':![]});_0x461867?console[_0x425dd8(0x11c)]('*\x20Login\x20successful!'):console[_0x425dd8(0x11c)]('!\x20Login\x20failed.');return;}const _0x5d0def=a4_0x5967ce('Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.')['start'](),_0x5d4be1=await authServer({'silent':!![],'openBrowser':!![]});_0x5d0def[_0x425dd8(0x125)](),_0x5d4be1?console[_0x425dd8(0x11c)](_0x425dd8(0x11d)):console[_0x425dd8(0x11c)](_0x425dd8(0x127));}
1
+ (function(_0x14d6ad,_0x246ec3){const _0x2b5da2=a9_0x5510,_0x13edbd=_0x14d6ad();while(!![]){try{const _0x478cbb=parseInt(_0x2b5da2(0xc1))/0x1+-parseInt(_0x2b5da2(0xbe))/0x2+parseInt(_0x2b5da2(0xb8))/0x3*(-parseInt(_0x2b5da2(0xbb))/0x4)+-parseInt(_0x2b5da2(0xb5))/0x5*(-parseInt(_0x2b5da2(0xc6))/0x6)+parseInt(_0x2b5da2(0xba))/0x7+-parseInt(_0x2b5da2(0xc7))/0x8*(parseInt(_0x2b5da2(0xb1))/0x9)+parseInt(_0x2b5da2(0xbc))/0xa*(parseInt(_0x2b5da2(0xb6))/0xb);if(_0x478cbb===_0x246ec3)break;else _0x13edbd['push'](_0x13edbd['shift']());}catch(_0xba19c2){_0x13edbd['push'](_0x13edbd['shift']());}}}(a9_0x2df1,0xe803c));function a9_0x5510(_0x4e2369,_0x251308){_0x4e2369=_0x4e2369-0xb1;const _0x2df169=a9_0x2df1();let _0x5510fd=_0x2df169[_0x4e2369];return _0x5510fd;}import{getIsSessionValid}from'../auth/is-session-valid.js';import{authServer}from'../auth/auth-server.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';import{confirm}from'@inquirer/prompts';import a9_0x414b0d from'ora';export async function runAuthServer(_0x203b13){const _0x394a12=a9_0x5510,_0x37fe63=await getIsSessionValid();if(_0x37fe63){console['log'](_0x394a12(0xb9));return;}if(_0x203b13?.[_0x394a12(0xc3)]&&!_0x203b13[_0x394a12(0xbf)])throw CliErrors[_0x394a12(0xc2)](_0x394a12(0xc9),_0x394a12(0xb4)+CLI_BIN_NAME+'\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.');const _0x2a42d4=_0x203b13?.[_0x394a12(0xbf)]?!![]:await confirm({'message':_0x394a12(0xc0),'default':!![]});if(!_0x2a42d4)return;if(_0x203b13?.['nonInteractive']){console['log'](_0x394a12(0xb3));const _0x225e12=await authServer({'silent':![],'openBrowser':![]});_0x225e12?console[_0x394a12(0xc5)]('*\x20Login\x20successful!'):console[_0x394a12(0xc5)](_0x394a12(0xbd));return;}const _0x37fcb5=a9_0x414b0d(_0x394a12(0xb2))[_0x394a12(0xc8)](),_0x285ec5=await authServer({'silent':!![],'openBrowser':!![]});_0x37fcb5[_0x394a12(0xb7)](),_0x285ec5?console[_0x394a12(0xc5)](_0x394a12(0xc4)):console['log']('!\x20Login\x20failed.');}function a9_0x2df1(){const _0x109e11=['Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.','Run\x20`','540745tCwwrn','2622653zlElOQ','stop','3lHePCe','โˆš\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','12041498KwKUkk','6214124hUkYuH','30uEJzqu','!\x20Login\x20failed.','618138izKErI','autoYes','No\x20valid\x20session.\x20Login\x20now?','479637JtcjRr','validation','nonInteractive','*\x20Login\x20successful!','log','78rAvvWd','1000rPxQtk','start','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.','108585MlEnlg','Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.'];a9_0x2df1=function(){return _0x109e11;};return a9_0x2df1();}
@@ -1 +1 @@
1
- const a5_0x315755=a5_0x3fdc;(function(_0x483aa8,_0x1ab620){const _0x69c70=a5_0x3fdc,_0x2dec5a=_0x483aa8();while(!![]){try{const _0x1298b5=parseInt(_0x69c70(0x171))/0x1*(parseInt(_0x69c70(0x167))/0x2)+parseInt(_0x69c70(0x18a))/0x3+-parseInt(_0x69c70(0x18c))/0x4*(parseInt(_0x69c70(0x17f))/0x5)+-parseInt(_0x69c70(0x162))/0x6*(-parseInt(_0x69c70(0x187))/0x7)+-parseInt(_0x69c70(0x178))/0x8+-parseInt(_0x69c70(0x173))/0x9+parseInt(_0x69c70(0x163))/0xa;if(_0x1298b5===_0x1ab620)break;else _0x2dec5a['push'](_0x2dec5a['shift']());}catch(_0x230c75){_0x2dec5a['push'](_0x2dec5a['shift']());}}}(a5_0x1ed6,0xaee4f));import{writeFileSync}from'node:fs';import a5_0x420d93 from'node:http';import a5_0x2e1e8c from'node:https';import{getUserDomain}from'../constant/domain.js';import{getOfficialRoutingCdn,getOfficialRoutingProfile}from'../constant/routing-profile.js';import{getProjectDomainRoutingManifest}from'../config/project-domain-routing.js';import{exec}from'node:child_process';import{getIsSessionValid}from'../auth/is-session-valid.js';function a5_0x3fdc(_0x23d5da,_0x5ca980){_0x23d5da=_0x23d5da-0x15b;const _0x1ed625=a5_0x1ed6();let _0x3fdc1a=_0x1ed625[_0x23d5da];return _0x3fdc1a;}import{cookieFile}from'../auth/constant.js';function a5_0x1ed6(){const _0x273e48=['Auth\x20server\x20error:','createServer','109vpQnOC','log','8143695zcFTth','end','text/html;\x20charset=utf-8','utf-8','address','5499448gsdryj','close','!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.','error','๐Ÿ’ก\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','โš ๏ธ\x20\x20Failed\x20to\x20open\x20browser\x20automatically','win32','5CnxaNN','certificateUrl','isAuth','lovrabet','xdg-open\x20\x22','๐Ÿ”—\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','๐Ÿ’ก\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','darwin','1874117ynGddO','session','platform','3889128vaUecP','then','1644152pnmqLt','openBrowser','/sign-in?redirect=','object','127.0.0.1','silent','user','catch','18JzPSmV','5439310IeUonB','origin','headers','timeoutMs','1398HBOusO','๐Ÿ”\x20Starting\x20login\x20service...','/api/auth/get-session','listen','writeHead','local','๐Ÿ“\x20Login\x20URL:','json'];a5_0x1ed6=function(){return _0x273e48;};return a5_0x1ed6();}import{buildLoginSuccessHtml}from'../auth/login-success-html.js';export const AUTH_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;export function resolveAuthCallbackRouting(_0x5352e1){const _0x96de77=a5_0x3fdc;if(!_0x5352e1)return getProjectDomainRoutingManifest()[_0x96de77(0x16c)];const _0x580b56=getOfficialRoutingProfile(_0x5352e1),_0x59db6c=getOfficialRoutingCdn(_0x5352e1);return{'origin':_0x580b56[_0x96de77(0x16c)][_0x96de77(0x164)],'certificateUrl':_0x59db6c[_0x96de77(0x182)]+'/cert/lovrabet-dev.json'};}function withPort(_0x5cbb4c,_0x48dd16){const _0x564668=a5_0x3fdc,_0x57ac21=new URL(_0x5cbb4c);return _0x57ac21['port']=String(_0x48dd16),_0x57ac21[_0x564668(0x164)];}export async function authServer(_0x3163d8){const _0x103dee=a5_0x3fdc,_0x3f2d5a=_0x3163d8?.[_0x103dee(0x15f)]||![],_0x1b1a5f=_0x3163d8?.[_0x103dee(0x15b)]??!![],_0x3a9689=_0x3163d8?.[_0x103dee(0x166)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x7acbfe=resolveAuthCallbackRouting(),_0x23435a=_0x7acbfe[_0x103dee(0x180)]?await(await fetch(_0x7acbfe[_0x103dee(0x180)]))[_0x103dee(0x16e)]():undefined;return new Promise(async(_0x28132b,_0x218f01)=>{const _0x3564be=_0x103dee;let _0x26a1c2=0x0,_0x3505c5=![],_0x5ea8e1;const _0x564e8b=async(_0x44c620,_0xd62b33)=>{const _0x52d867=a5_0x3fdc,_0x14a08f=getUserDomain(),_0x4c66ce=_0x44c620[_0x52d867(0x165)]['cookie']||'',_0x123726=await fetch(_0x14a08f+_0x52d867(0x169),{'headers':{'cookie':_0x4c66ce}})[_0x52d867(0x18b)](_0x39e5d1=>_0x39e5d1[_0x52d867(0x16e)]()),_0x5e5bee=_0x123726&&_0x123726[_0x52d867(0x188)]&&_0x123726[_0x52d867(0x160)];if(_0x5e5bee){writeFileSync(cookieFile,_0x4c66ce,_0x52d867(0x176));const _0x30d23e=buildLoginSuccessHtml();_0xd62b33[_0x52d867(0x16b)](0xc8,{'Content-Type':_0x52d867(0x175)}),_0xd62b33[_0x52d867(0x174)](_0x30d23e),_0x5cb5f7(!![]);}else{const _0x545253=encodeURIComponent(withPort(_0x7acbfe['origin'],_0x26a1c2));_0xd62b33[_0x52d867(0x16b)](0x12e,{'location':_0x14a08f+_0x52d867(0x15c)+_0x545253}),_0xd62b33['end']();return;}},_0x2dec8b=_0x23435a?a5_0x2e1e8c['createServer'](_0x23435a,_0x564e8b):a5_0x420d93[_0x3564be(0x170)](_0x564e8b);function _0x5cb5f7(_0xde7c){const _0x34756f=_0x3564be;if(_0x3505c5)return;_0x3505c5=!![],_0x5ea8e1&&clearTimeout(_0x5ea8e1),_0x2dec8b[_0x34756f(0x179)](),_0x28132b(_0xde7c);}_0x2dec8b[_0x3564be(0x16a)](0x0,_0x3564be(0x15e),()=>{const _0x2c7f7d=_0x3564be,_0x449afb=_0x2dec8b[_0x2c7f7d(0x177)]();_0x26a1c2=typeof _0x449afb===_0x2c7f7d(0x15d)&&_0x449afb?_0x449afb['port']:Number(_0x449afb);const _0x14928b=withPort(_0x7acbfe['origin'],_0x26a1c2);_0x5ea8e1=setTimeout(()=>{const _0x1cbdfe=_0x2c7f7d;!_0x3f2d5a&&console[_0x1cbdfe(0x172)](_0x1cbdfe(0x17a)),_0x5cb5f7(![]);},_0x3a9689);!_0x3f2d5a&&(console[_0x2c7f7d(0x172)](_0x2c7f7d(0x168)),console[_0x2c7f7d(0x172)](_0x2c7f7d(0x16d),_0x14928b),_0x1b1a5f?(console['log']('๐ŸŒ\x20Attempting\x20to\x20open\x20browser\x20automatically...'),console[_0x2c7f7d(0x172)](''),console[_0x2c7f7d(0x172)](_0x2c7f7d(0x17c))):console[_0x2c7f7d(0x172)](_0x2c7f7d(0x185)),console[_0x2c7f7d(0x172)](''));if(!_0x1b1a5f)return;openInBrowser(_0x14928b)['then'](_0x431f85=>{const _0x31104e=_0x2c7f7d;!_0x3f2d5a&&(_0x431f85?console[_0x31104e(0x172)]('โœ…\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.'):(console[_0x31104e(0x172)](_0x31104e(0x17d)),console[_0x31104e(0x172)](_0x31104e(0x184),_0x14928b)),console['log'](''));})[_0x2c7f7d(0x161)](()=>{const _0x2d2f12=_0x2c7f7d;!_0x3f2d5a&&(console[_0x2d2f12(0x172)](_0x2d2f12(0x17d)),console[_0x2d2f12(0x172)]('๐Ÿ”—\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:',_0x14928b),console[_0x2d2f12(0x172)](''));});}),_0x2dec8b['on'](_0x3564be(0x17b),_0x306814=>{const _0x4ab5f0=_0x3564be;if(_0x3505c5)return;_0x3505c5=!![],_0x5ea8e1&&clearTimeout(_0x5ea8e1),!_0x3f2d5a&&console[_0x4ab5f0(0x17b)](_0x4ab5f0(0x16f),_0x306814),_0x2dec8b['close'](),_0x218f01(_0x306814);});});}function openInBrowser(_0x5a9fc3){return new Promise(_0x17ce69=>{const _0x1eaaf6=a5_0x3fdc,_0x49d74d=process[_0x1eaaf6(0x189)];let _0x31a3fc;if(_0x49d74d===_0x1eaaf6(0x17e))_0x31a3fc='cmd\x20/c\x20start\x20\x22\x22\x20\x22'+_0x5a9fc3+'\x22';else _0x49d74d===_0x1eaaf6(0x186)?_0x31a3fc='open\x20\x22'+_0x5a9fc3+'\x22':_0x31a3fc=_0x1eaaf6(0x183)+_0x5a9fc3+'\x22';exec(_0x31a3fc,_0x5e18bc=>{_0x5e18bc?_0x17ce69(![]):_0x17ce69(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a5_0x315755(0x172)](a5_0x315755(0x181),isAuth);}
1
+ const a10_0x2a4c6f=a10_0x5602;(function(_0x572db2,_0x132075){const _0x4942e1=a10_0x5602,_0xd87b13=_0x572db2();while(!![]){try{const _0x3ebf77=parseInt(_0x4942e1(0x7b))/0x1+-parseInt(_0x4942e1(0x6a))/0x2+-parseInt(_0x4942e1(0x68))/0x3+-parseInt(_0x4942e1(0x6d))/0x4*(parseInt(_0x4942e1(0x78))/0x5)+parseInt(_0x4942e1(0x83))/0x6*(-parseInt(_0x4942e1(0x87))/0x7)+-parseInt(_0x4942e1(0x71))/0x8*(parseInt(_0x4942e1(0x67))/0x9)+parseInt(_0x4942e1(0x8a))/0xa*(parseInt(_0x4942e1(0x86))/0xb);if(_0x3ebf77===_0x132075)break;else _0xd87b13['push'](_0xd87b13['shift']());}catch(_0x48ddae){_0xd87b13['push'](_0xd87b13['shift']());}}}(a10_0xa76d,0xee98d));import{writeFileSync}from'node:fs';function a10_0x5602(_0x2e4b4f,_0x5b4e7a){_0x2e4b4f=_0x2e4b4f-0x64;const _0xa76d74=a10_0xa76d();let _0x5602ea=_0xa76d74[_0x2e4b4f];return _0x5602ea;}import a10_0xa66b7c from'node:http';import a10_0x2d0d4b from'node:https';import{getUserDomain}from'../constant/domain.js';import{getOfficialRoutingCdn,getOfficialRoutingProfile}from'../constant/routing-profile.js';import{getProjectDomainRoutingManifest}from'../config/project-domain-routing.js';import{exec}from'node:child_process';import{getIsSessionValid}from'../auth/is-session-valid.js';import{cookieFile}from'../auth/constant.js';import{buildLoginSuccessHtml}from'../auth/login-success-html.js';export const AUTH_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;export function resolveAuthCallbackRouting(_0x28c8ca){const _0x51183f=a10_0x5602;if(!_0x28c8ca)return getProjectDomainRoutingManifest()['local'];const _0x1766fa=getOfficialRoutingProfile(_0x28c8ca),_0x46fccf=getOfficialRoutingCdn(_0x28c8ca);return{'origin':_0x1766fa[_0x51183f(0x70)][_0x51183f(0x84)],'certificateUrl':_0x46fccf[_0x51183f(0x69)]+'/cert/lovrabet-dev.json'};}function withPort(_0x4833b6,_0x37fc0e){const _0x27b94a=new URL(_0x4833b6);return _0x27b94a['port']=String(_0x37fc0e),_0x27b94a['origin'];}export async function authServer(_0x48fac7){const _0x1cd598=a10_0x5602,_0x205b5c=_0x48fac7?.[_0x1cd598(0x79)]||![],_0x5669fb=_0x48fac7?.[_0x1cd598(0x7d)]??!![],_0x18971c=_0x48fac7?.[_0x1cd598(0x93)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x13cc92=resolveAuthCallbackRouting(),_0x5bcdd9=_0x13cc92[_0x1cd598(0x72)]?await(await fetch(_0x13cc92[_0x1cd598(0x72)]))[_0x1cd598(0x65)]():undefined;return new Promise(async(_0x321a45,_0x331918)=>{const _0x1def4c=_0x1cd598;let _0x35d3e8=0x0,_0x5305b7=![],_0x556075;const _0x2d6011=async(_0xc0d1e2,_0x3e2bef)=>{const _0x5a57fe=a10_0x5602,_0x333bca=getUserDomain(),_0x308427=_0xc0d1e2['headers'][_0x5a57fe(0x89)]||'',_0x4a34a8=await fetch(_0x333bca+_0x5a57fe(0x8c),{'headers':{'cookie':_0x308427}})['then'](_0x37b4d1=>_0x37b4d1[_0x5a57fe(0x65)]()),_0x48f95c=_0x4a34a8&&_0x4a34a8['session']&&_0x4a34a8[_0x5a57fe(0x8e)];if(_0x48f95c){writeFileSync(cookieFile,_0x308427,'utf-8');const _0x3da776=buildLoginSuccessHtml();_0x3e2bef[_0x5a57fe(0x82)](0xc8,{'Content-Type':_0x5a57fe(0x8b)}),_0x3e2bef['end'](_0x3da776),_0x55fcb8(!![]);}else{const _0x52f740=encodeURIComponent(withPort(_0x13cc92['origin'],_0x35d3e8));_0x3e2bef[_0x5a57fe(0x82)](0x12e,{'location':_0x333bca+_0x5a57fe(0x6c)+_0x52f740}),_0x3e2bef[_0x5a57fe(0x88)]();return;}},_0x1f1b81=_0x5bcdd9?a10_0x2d0d4b[_0x1def4c(0x77)](_0x5bcdd9,_0x2d6011):a10_0xa66b7c[_0x1def4c(0x77)](_0x2d6011);function _0x55fcb8(_0x1db668){if(_0x5305b7)return;_0x5305b7=!![],_0x556075&&clearTimeout(_0x556075),_0x1f1b81['close'](),_0x321a45(_0x1db668);}_0x1f1b81[_0x1def4c(0x94)](0x0,_0x1def4c(0x8f),()=>{const _0x4d3e3f=_0x1def4c,_0xc2ca35=_0x1f1b81['address']();_0x35d3e8=typeof _0xc2ca35===_0x4d3e3f(0x73)&&_0xc2ca35?_0xc2ca35['port']:Number(_0xc2ca35);const _0x200144=withPort(_0x13cc92[_0x4d3e3f(0x84)],_0x35d3e8);_0x556075=setTimeout(()=>{const _0x3a2ee8=_0x4d3e3f;!_0x205b5c&&console[_0x3a2ee8(0x7f)]('!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.'),_0x55fcb8(![]);},_0x18971c);!_0x205b5c&&(console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x6b)),console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x91),_0x200144),_0x5669fb?(console['log'](_0x4d3e3f(0x7a)),console[_0x4d3e3f(0x7f)](''),console[_0x4d3e3f(0x7f)](_0x4d3e3f(0x7c))):console['log'](_0x4d3e3f(0x85)),console[_0x4d3e3f(0x7f)](''));if(!_0x5669fb)return;openInBrowser(_0x200144)[_0x4d3e3f(0x76)](_0x280df2=>{const _0x54e8db=_0x4d3e3f;!_0x205b5c&&(_0x280df2?console['log'](_0x54e8db(0x66)):(console['log'](_0x54e8db(0x6f)),console[_0x54e8db(0x7f)](_0x54e8db(0x8d),_0x200144)),console[_0x54e8db(0x7f)](''));})[_0x4d3e3f(0x74)](()=>{const _0x356580=_0x4d3e3f;!_0x205b5c&&(console[_0x356580(0x7f)]('โš ๏ธ\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console[_0x356580(0x7f)](_0x356580(0x8d),_0x200144),console['log'](''));});}),_0x1f1b81['on'](_0x1def4c(0x6e),_0x4e9a0a=>{const _0x2dd15a=_0x1def4c;if(_0x5305b7)return;_0x5305b7=!![],_0x556075&&clearTimeout(_0x556075),!_0x205b5c&&console['error'](_0x2dd15a(0x92),_0x4e9a0a),_0x1f1b81[_0x2dd15a(0x81)](),_0x331918(_0x4e9a0a);});});}function a10_0xa76d(){const _0x998b2=['โœ…\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','4792329wNuPxl','3011640zcsijM','lovrabet','3313178LkXggs','๐Ÿ”\x20Starting\x20login\x20service...','/sign-in?redirect=','512XoqNxo','error','โš ๏ธ\x20\x20Failed\x20to\x20open\x20browser\x20automatically','local','8qcCZbI','certificateUrl','object','catch','platform','then','createServer','4345HRfbLz','silent','๐ŸŒ\x20Attempting\x20to\x20open\x20browser\x20automatically...','1166832SdInoL','๐Ÿ’ก\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','openBrowser','win32','log','cmd\x20/c\x20start\x20\x22\x22\x20\x22','close','writeHead','1087518NFosGx','origin','๐Ÿ’ก\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','47454nEzwwt','7WRWeqY','end','cookie','7640PuGIhz','text/html;\x20charset=utf-8','/api/auth/get-session','๐Ÿ”—\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','user','127.0.0.1','isAuth','๐Ÿ“\x20Login\x20URL:','Auth\x20server\x20error:','timeoutMs','listen','darwin','json'];a10_0xa76d=function(){return _0x998b2;};return a10_0xa76d();}function openInBrowser(_0x581951){return new Promise(_0x1a1aae=>{const _0xa7cd64=a10_0x5602,_0x143fec=process[_0xa7cd64(0x75)];let _0x5c2b81;if(_0x143fec===_0xa7cd64(0x7e))_0x5c2b81=_0xa7cd64(0x80)+_0x581951+'\x22';else _0x143fec===_0xa7cd64(0x64)?_0x5c2b81='open\x20\x22'+_0x581951+'\x22':_0x5c2b81='xdg-open\x20\x22'+_0x581951+'\x22';exec(_0x5c2b81,_0x51bbf6=>{_0x51bbf6?_0x1a1aae(![]):_0x1a1aae(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a10_0x2a4c6f(0x7f)](a10_0x2a4c6f(0x90),isAuth);}
@@ -1 +1 @@
1
- const a6_0x442380=a6_0x5bf4;(function(_0x144574,_0x393630){const _0x35ffc3=a6_0x5bf4,_0x490cba=_0x144574();while(!![]){try{const _0x4f1d1f=parseInt(_0x35ffc3(0x12a))/0x1*(-parseInt(_0x35ffc3(0x125))/0x2)+parseInt(_0x35ffc3(0x124))/0x3*(-parseInt(_0x35ffc3(0x128))/0x4)+-parseInt(_0x35ffc3(0x12b))/0x5+parseInt(_0x35ffc3(0x130))/0x6*(-parseInt(_0x35ffc3(0x12f))/0x7)+-parseInt(_0x35ffc3(0x126))/0x8*(-parseInt(_0x35ffc3(0x123))/0x9)+-parseInt(_0x35ffc3(0x127))/0xa*(-parseInt(_0x35ffc3(0x12e))/0xb)+parseInt(_0x35ffc3(0x12c))/0xc*(parseInt(_0x35ffc3(0x122))/0xd);if(_0x4f1d1f===_0x393630)break;else _0x490cba['push'](_0x490cba['shift']());}catch(_0x4a37cc){_0x490cba['push'](_0x490cba['shift']());}}}(a6_0xe058,0xb8094));function a6_0xe058(){const _0x10d2b1=['636vDasgu','cookie','10481603AAPABl','7637BliaNW','7446XUfYJC','349115Axzcqt','74781ltiNEj','34299vQkPpm','22IUAVrn','752HzjWKO','10ixtNsv','4NAqnfk','.lovrabet','33278zuKZfV','3360000foZaTX'];a6_0xe058=function(){return _0x10d2b1;};return a6_0xe058();}import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a6_0x442380(0x129));export const cookieFile=join(configDir,a6_0x442380(0x12d));function a6_0x5bf4(_0x107105,_0x44e096){_0x107105=_0x107105-0x122;const _0xe0588a=a6_0xe058();let _0x5bf4b4=_0xe0588a[_0x107105];return _0x5bf4b4;}mkdirSync(configDir,{'recursive':!![]});
1
+ const a11_0x583545=a11_0x4c44;function a11_0x4c44(_0x2c0cad,_0x13ff86){_0x2c0cad=_0x2c0cad-0xc4;const _0x4174c3=a11_0x4174();let _0x4c4451=_0x4174c3[_0x2c0cad];return _0x4c4451;}function a11_0x4174(){const _0x181fff=['cookie','143CrGuvh','2642761yqtgrd','5pYoGgh','9FofQkD','10IQXweu','.lovrabet','359364AqbtpD','150516TJAeIJ','35MhFgXb','1168365UHctWB','3bkfQeP','39118VWieTo','15684KoHNdO','1627352oyMKot'];a11_0x4174=function(){return _0x181fff;};return a11_0x4174();}(function(_0x3e425a,_0x49187c){const _0x55bdec=a11_0x4c44,_0x1c2f85=_0x3e425a();while(!![]){try{const _0x238e5b=parseInt(_0x55bdec(0xc6))/0x1*(-parseInt(_0x55bdec(0xcf))/0x2)+parseInt(_0x55bdec(0xce))/0x3*(-parseInt(_0x55bdec(0xd0))/0x4)+parseInt(_0x55bdec(0xcd))/0x5+parseInt(_0x55bdec(0xcb))/0x6*(-parseInt(_0x55bdec(0xcc))/0x7)+-parseInt(_0x55bdec(0xd1))/0x8*(-parseInt(_0x55bdec(0xc7))/0x9)+parseInt(_0x55bdec(0xc8))/0xa*(parseInt(_0x55bdec(0xc5))/0xb)+parseInt(_0x55bdec(0xca))/0xc*(-parseInt(_0x55bdec(0xc4))/0xd);if(_0x238e5b===_0x49187c)break;else _0x1c2f85['push'](_0x1c2f85['shift']());}catch(_0x29853e){_0x1c2f85['push'](_0x1c2f85['shift']());}}}(a11_0x4174,0x1d7cc));import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a11_0x583545(0xc9));export const cookieFile=join(configDir,a11_0x583545(0xd2));mkdirSync(configDir,{'recursive':!![]});
@@ -1 +1 @@
1
- function a7_0x112e(){var _0x347837=['693087dwaKhJ','6378960qLXXYH','2200230rKQRCr','62856FtRWyE','1855854vUkLmq','utf-8','17585336XXNaRG','52PBcvyj','564010FZUnUf'];a7_0x112e=function(){return _0x347837;};return a7_0x112e();}(function(_0x4e87f1,_0x228be7){var _0x5a8438=a7_0x488c,_0x1fcfae=_0x4e87f1();while(!![]){try{var _0xef3f27=parseInt(_0x5a8438(0x1dc))/0x1+parseInt(_0x5a8438(0x1db))/0x2+parseInt(_0x5a8438(0x1d9))/0x3+parseInt(_0x5a8438(0x1e0))/0x4*(-parseInt(_0x5a8438(0x1d8))/0x5)+-parseInt(_0x5a8438(0x1da))/0x6+-parseInt(_0x5a8438(0x1dd))/0x7+parseInt(_0x5a8438(0x1df))/0x8;if(_0xef3f27===_0x228be7)break;else _0x1fcfae['push'](_0x1fcfae['shift']());}catch(_0x1b85eb){_0x1fcfae['push'](_0x1fcfae['shift']());}}}(a7_0x112e,0xc2b13));function a7_0x488c(_0x2f0bd3,_0x5c2e9e){_0x2f0bd3=_0x2f0bd3-0x1d8;var _0x112ee5=a7_0x112e();var _0x488cd3=_0x112ee5[_0x2f0bd3];return _0x488cd3;}import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';export function getCookie(){var _0x4da564=a7_0x488c;try{return readFileSync(cookieFile,_0x4da564(0x1de));}catch{}return'';}
1
+ (function(_0x26eab9,_0x38310d){var _0x3e8724=a12_0x15d8,_0x19cb07=_0x26eab9();while(!![]){try{var _0x56658a=-parseInt(_0x3e8724(0xe9))/0x1+-parseInt(_0x3e8724(0xe5))/0x2+-parseInt(_0x3e8724(0xe4))/0x3*(-parseInt(_0x3e8724(0xe0))/0x4)+parseInt(_0x3e8724(0xe1))/0x5+parseInt(_0x3e8724(0xe7))/0x6+-parseInt(_0x3e8724(0xdf))/0x7*(-parseInt(_0x3e8724(0xe3))/0x8)+parseInt(_0x3e8724(0xe2))/0x9*(-parseInt(_0x3e8724(0xe6))/0xa);if(_0x56658a===_0x38310d)break;else _0x19cb07['push'](_0x19cb07['shift']());}catch(_0x5392ce){_0x19cb07['push'](_0x19cb07['shift']());}}}(a12_0x56f5,0x7640b));import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';export function getCookie(){var _0x439f96=a12_0x15d8;try{return readFileSync(cookieFile,_0x439f96(0xe8));}catch{}return'';}function a12_0x15d8(_0x34e17b,_0x43cb2c){_0x34e17b=_0x34e17b-0xdf;var _0x56f598=a12_0x56f5();var _0x15d8e0=_0x56f598[_0x34e17b];return _0x15d8e0;}function a12_0x56f5(){var _0x3f35f8=['1187602UToSLX','40930iwurhg','5560002veQdNL','utf-8','248123AIzKzT','133hWQSsN','118676zVADCe','1980595thSvQM','3033fLUkni','269944SoIJjt','75IEQEal'];a12_0x56f5=function(){return _0x3f35f8;};return a12_0x56f5();}
@@ -1 +1 @@
1
- (function(_0x1ab129,_0x25fcd7){const _0x494a22=a8_0x5590,_0x18027d=_0x1ab129();while(!![]){try{const _0x402fe0=parseInt(_0x494a22(0x65))/0x1+-parseInt(_0x494a22(0x72))/0x2*(parseInt(_0x494a22(0x6d))/0x3)+parseInt(_0x494a22(0x67))/0x4*(-parseInt(_0x494a22(0x68))/0x5)+parseInt(_0x494a22(0x6b))/0x6+-parseInt(_0x494a22(0x70))/0x7*(-parseInt(_0x494a22(0x6c))/0x8)+-parseInt(_0x494a22(0x69))/0x9+parseInt(_0x494a22(0x6a))/0xa;if(_0x402fe0===_0x25fcd7)break;else _0x18027d['push'](_0x18027d['shift']());}catch(_0x153ba1){_0x18027d['push'](_0x18027d['shift']());}}}(a8_0x17f1,0x9291e));function a8_0x17f1(){const _0x2b0f15=['34389gXMcgg','json','/api/auth/get-session','7NdzaLM','session','158QvJQpv','utf-8','181023ZRSYcZ','user','41924TkTtpe','265ovRDMp','2137689BpwrIa','9332220xRYZiy','6706482tjveXP','535592xdgLXz'];a8_0x17f1=function(){return _0x2b0f15;};return a8_0x17f1();}function a8_0x5590(_0x2a84b5,_0x24ccd2){_0x2a84b5=_0x2a84b5-0x64;const _0x17f159=a8_0x17f1();let _0x559018=_0x17f159[_0x2a84b5];return _0x559018;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getSessionUserInfo(){const _0x423a78=a8_0x5590;try{if(!existsSync(cookieFile))return null;const _0x3c843f=readFileSync(cookieFile,_0x423a78(0x64)),_0x59e069=await fetch(getUserDomain()+_0x423a78(0x6f),{'headers':{'cookie':_0x3c843f}});if(!_0x59e069['ok'])return null;const _0x2162f0=await _0x59e069[_0x423a78(0x6e)]();if(!_0x2162f0[_0x423a78(0x71)]||!_0x2162f0[_0x423a78(0x66)])return null;return _0x2162f0;}catch{return null;}}
1
+ (function(_0x34cf61,_0xf3d924){const _0x4b3f26=a13_0x4046,_0x1a7ccf=_0x34cf61();while(!![]){try{const _0x2e450e=-parseInt(_0x4b3f26(0xe3))/0x1*(-parseInt(_0x4b3f26(0xec))/0x2)+parseInt(_0x4b3f26(0xe9))/0x3*(-parseInt(_0x4b3f26(0xe5))/0x4)+parseInt(_0x4b3f26(0xea))/0x5+-parseInt(_0x4b3f26(0xeb))/0x6*(-parseInt(_0x4b3f26(0xe8))/0x7)+-parseInt(_0x4b3f26(0xed))/0x8+-parseInt(_0x4b3f26(0xe7))/0x9+-parseInt(_0x4b3f26(0xe6))/0xa*(-parseInt(_0x4b3f26(0xef))/0xb);if(_0x2e450e===_0xf3d924)break;else _0x1a7ccf['push'](_0x1a7ccf['shift']());}catch(_0x1da9e7){_0x1a7ccf['push'](_0x1a7ccf['shift']());}}}(a13_0x13c1,0x38ff5));function a13_0x4046(_0x50abc8,_0x216375){_0x50abc8=_0x50abc8-0xe1;const _0x13c15c=a13_0x13c1();let _0x404615=_0x13c15c[_0x50abc8];return _0x404615;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';function a13_0x13c1(){const _0x5001ed=['user','session','1kwHyHq','/api/auth/get-session','68616cttmcp','10koWRaR','2536056dyVDXW','17682TPBxQk','78uVNcYy','2225920xlSXWG','618rPsZty','607704kEuSKG','2141824LqPfbm','utf-8','2417393swKCfM','json'];a13_0x13c1=function(){return _0x5001ed;};return a13_0x13c1();}export async function getSessionUserInfo(){const _0x372c83=a13_0x4046;try{if(!existsSync(cookieFile))return null;const _0x52fc1b=readFileSync(cookieFile,_0x372c83(0xee)),_0x33c59c=await fetch(getUserDomain()+_0x372c83(0xe4),{'headers':{'cookie':_0x52fc1b}});if(!_0x33c59c['ok'])return null;const _0x27c334=await _0x33c59c[_0x372c83(0xf0)]();if(!_0x27c334[_0x372c83(0xe2)]||!_0x27c334[_0x372c83(0xe1)])return null;return _0x27c334;}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x35212b,_0x51f315){const _0x23ebbe=a9_0x1108,_0x75cc22=_0x35212b();while(!![]){try{const _0x4063cc=-parseInt(_0x23ebbe(0x1eb))/0x1*(-parseInt(_0x23ebbe(0x1e2))/0x2)+parseInt(_0x23ebbe(0x1e4))/0x3+parseInt(_0x23ebbe(0x1df))/0x4*(-parseInt(_0x23ebbe(0x1e1))/0x5)+-parseInt(_0x23ebbe(0x1e0))/0x6+-parseInt(_0x23ebbe(0x1e7))/0x7+-parseInt(_0x23ebbe(0x1e9))/0x8*(parseInt(_0x23ebbe(0x1e8))/0x9)+parseInt(_0x23ebbe(0x1e6))/0xa*(parseInt(_0x23ebbe(0x1ea))/0xb);if(_0x4063cc===_0x51f315)break;else _0x75cc22['push'](_0x75cc22['shift']());}catch(_0x30eca1){_0x75cc22['push'](_0x75cc22['shift']());}}}(a9_0x4418,0xd162f));import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';function a9_0x1108(_0x364aa7,_0x99adf9){_0x364aa7=_0x364aa7-0x1df;const _0x4418ec=a9_0x4418();let _0x110826=_0x4418ec[_0x364aa7];return _0x110826;}import{cookieFile}from'../auth/constant.js';export async function getIsSessionValid(){const _0x1e4b1f=a9_0x1108;try{if(!existsSync(cookieFile))return![];const _0x904bc=readFileSync(cookieFile,'utf-8'),_0x35cadd=await fetch(getUserDomain()+'/api/auth/get-session',{'headers':{'cookie':_0x904bc}})[_0x1e4b1f(0x1ec)](_0x448e3f=>_0x448e3f[_0x1e4b1f(0x1e5)]());return _0x35cadd&&_0x35cadd[_0x1e4b1f(0x1e3)]&&_0x35cadd['user'];}catch{}return![];}function a9_0x4418(){const _0x4ccfda=['2776082jroIbK','session','982308ZAHqlb','json','7017690kQmOhk','7824110NOqMVc','12723093YoMsqx','8YrHyWb','66ERMuan','1sazsdt','then','4dhWbik','8723748slyGsf','5415395bqilhK'];a9_0x4418=function(){return _0x4ccfda;};return a9_0x4418();}
1
+ function a14_0x5a3a(){const _0x36b815=['then','696UdxJyh','148HUmKoe','525209iKRqcO','session','84210Bkcuzc','utf-8','203ZDMTsc','1880568kidTuX','/api/auth/get-session','11670QchMSK','5718272xRLfcN','7584230lWIkJN','1893yBXPJc'];a14_0x5a3a=function(){return _0x36b815;};return a14_0x5a3a();}(function(_0x20b2b5,_0x3a3e2e){const _0x2ebddf=a14_0x1745,_0x32c87e=_0x20b2b5();while(!![]){try{const _0x1f2aeb=parseInt(_0x2ebddf(0x18e))/0x1+-parseInt(_0x2ebddf(0x18c))/0x2*(-parseInt(_0x2ebddf(0x18a))/0x3)+-parseInt(_0x2ebddf(0x18d))/0x4*(parseInt(_0x2ebddf(0x187))/0x5)+parseInt(_0x2ebddf(0x190))/0x6*(-parseInt(_0x2ebddf(0x192))/0x7)+parseInt(_0x2ebddf(0x188))/0x8+parseInt(_0x2ebddf(0x193))/0x9+-parseInt(_0x2ebddf(0x189))/0xa;if(_0x1f2aeb===_0x3a3e2e)break;else _0x32c87e['push'](_0x32c87e['shift']());}catch(_0x4ff834){_0x32c87e['push'](_0x32c87e['shift']());}}}(a14_0x5a3a,0x65be1));import{existsSync,readFileSync}from'node:fs';function a14_0x1745(_0x5a4c29,_0xc19b2a){_0x5a4c29=_0x5a4c29-0x186;const _0x5a3ab9=a14_0x5a3a();let _0x17458f=_0x5a3ab9[_0x5a4c29];return _0x17458f;}import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getIsSessionValid(){const _0x236d01=a14_0x1745;try{if(!existsSync(cookieFile))return![];const _0x5b7425=readFileSync(cookieFile,_0x236d01(0x191)),_0xeba0e5=await fetch(getUserDomain()+_0x236d01(0x186),{'headers':{'cookie':_0x5b7425}})[_0x236d01(0x18b)](_0x2a3951=>_0x2a3951['json']());return _0xeba0e5&&_0xeba0e5[_0x236d01(0x18f)]&&_0xeba0e5['user'];}catch{}return![];}
@@ -1 +1 @@
1
- (function(_0x13f6e3,_0x47f4a0){const _0x2a8af7=a10_0x1e2f,_0x14b2f0=_0x13f6e3();while(!![]){try{const _0x24d5b0=parseInt(_0x2a8af7(0x1e3))/0x1+parseInt(_0x2a8af7(0x1e2))/0x2*(parseInt(_0x2a8af7(0x1e8))/0x3)+parseInt(_0x2a8af7(0x1e1))/0x4+-parseInt(_0x2a8af7(0x1eb))/0x5*(-parseInt(_0x2a8af7(0x1e9))/0x6)+-parseInt(_0x2a8af7(0x1e5))/0x7+-parseInt(_0x2a8af7(0x1e6))/0x8+parseInt(_0x2a8af7(0x1ea))/0x9;if(_0x24d5b0===_0x47f4a0)break;else _0x14b2f0['push'](_0x14b2f0['shift']());}catch(_0x3d294d){_0x14b2f0['push'](_0x14b2f0['shift']());}}}(a10_0x908c,0x8f6dc));function a10_0x1e2f(_0x297224,_0x606634){_0x297224=_0x297224-0x1e1;const _0x908c39=a10_0x908c();let _0x1e2f3f=_0x908c39[_0x297224];return _0x1e2f3f;}function a10_0x908c(){const _0x5b5996=['605589NWNQDj','6OcNGxj','3234636PeAIxq','988710uwKTzl','1349128NgTmRl','6LiXMHU','160462cWDHBw','</div>\x0a\x20\x20\x20\x20<p\x20class=\x22cli-hint\x22>Rabetbase\x20CLI\x20ยท\x20session\x20saved\x20locally</p>\x0a\x20\x20</div>\x0a\x20\x20<script>\x0a\x20\x20(function(){\x0a\x20\x20\x20\x20var\x20t\x20=\x205;\x0a\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById(\x27t\x27);\x0a\x20\x20\x20\x20var\x20manual\x20=\x20document.getElementById(\x27manualMsg\x27);\x0a\x20\x20\x20\x20var\x20id\x20=\x20setInterval(function(){\x0a\x20\x20\x20\x20\x20\x20t--;\x0a\x20\x20\x20\x20\x20\x20if\x20(t\x20<=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearInterval(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20\x270\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20window.close();\x20}\x20catch(e)\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(function(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!window.closed)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20manual.style.display\x20=\x20\x27block\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x20300);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20String(t);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20},\x201000);\x0a\x20\x20})();\x0a\x20\x20</script>\x0a</body>\x0a</html>','2361401BYqMuH','5885216UqdUxf','<!doctype\x20html>\x0a<html\x20lang=\x22en\x22>\x0a<head>\x0a\x20\x20<meta\x20charset=\x22utf-8\x22>\x0a\x20\x20<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1\x22>\x0a\x20\x20<title>Login\x20successful\x20ยท\x20Rabetbase\x20CLI</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20:root\x20{\x0a\x20\x20\x20\x20\x20\x20--bg0:\x20#0f1419;\x0a\x20\x20\x20\x20\x20\x20--bg1:\x20#1a2332;\x0a\x20\x20\x20\x20\x20\x20--card:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20--text:\x20#1c2128;\x0a\x20\x20\x20\x20\x20\x20--muted:\x20#5c6570;\x0a\x20\x20\x20\x20\x20\x20--accent:\x20#2563eb;\x0a\x20\x20\x20\x20\x20\x20--accent-soft:\x20#eff6ff;\x0a\x20\x20\x20\x20\x20\x20--success:\x20#059669;\x0a\x20\x20\x20\x20\x20\x20--radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20--shadow:\x200\x2025px\x2050px\x20-12px\x20rgba(15,\x2020,\x2025,\x200.35);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20*\x20{\x20box-sizing:\x20border-box;\x20}\x0a\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20\x20\x20min-height:\x20100vh;\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20padding:\x2024px;\x0a\x20\x20\x20\x20\x20\x20font-family:\x20ui-sans-serif,\x20system-ui,\x20-apple-system,\x20\x22Segoe\x20UI\x22,\x20Roboto,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22Helvetica\x20Neue\x22,\x20Arial,\x20\x22Noto\x20Sans\x22,\x20\x22PingFang\x20SC\x22,\x20\x22Microsoft\x20YaHei\x22,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(160deg,\x20var(--bg0)\x200%,\x20var(--bg1)\x2045%,\x20#243047\x20100%);\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.card\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20max-width:\x20420px;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--card);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20var(--radius);\x0a\x20\x20\x20\x20\x20\x20box-shadow:\x20var(--shadow);\x0a\x20\x20\x20\x20\x20\x20padding:\x2040px\x2036px\x2032px;\x0a\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x2064px;\x0a\x20\x20\x20\x20\x20\x20height:\x2064px;\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x20auto\x2020px;\x0a\x20\x20\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20svg\x20{\x20width:\x2036px;\x20height:\x2036px;\x20}\x0a\x20\x20\x20\x20h1\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x2012px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x201.375rem;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20letter-spacing:\x20-0.02em;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20p.lead\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x208px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.9375rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--muted);\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.55;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.countdown\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2016px;\x0a\x20\x20\x20\x20\x20\x20padding:\x208px\x2014px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20\x20\x20\x20\x20font-variant-numeric:\x20tabular-nums;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--accent);\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20999px;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#manualMsg\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20none;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2020px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.8125rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#b91c1c;\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.45;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.cli-hint\x20{\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2028px;\x0a\x20\x20\x20\x20\x20\x20padding-top:\x2024px;\x0a\x20\x20\x20\x20\x20\x20border-top:\x201px\x20solid\x20#e8ecf0;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.75rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#8b949e;\x0a\x20\x20\x20\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22card\x22\x20role=\x22status\x22\x20aria-live=\x22polite\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22icon\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M8\x2012.5l2.5\x202.5L16\x209\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<h1>Login\x20successful</h1>\x0a\x20\x20\x20\x20<p\x20class=\x22lead\x22>You\x20can\x20return\x20to\x20the\x20terminal\x20to\x20continue.\x20This\x20window\x20will\x20try\x20to\x20close\x20automatically.</p>\x0a\x20\x20\x20\x20<div\x20class=\x22countdown\x22>\x0a\x20\x20\x20\x20\x20\x20Closing\x20in\x20<span\x20id=\x22t\x22>5</span>s\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20id=\x22manualMsg\x22>'];a10_0x908c=function(){return _0x5b5996;};return a10_0x908c();}export function buildLoginSuccessHtml(){const _0x3a32d7=a10_0x1e2f,_0x54e327='Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.';return _0x3a32d7(0x1e7)+_0x54e327+_0x3a32d7(0x1e4);}
1
+ (function(_0x272a33,_0x469369){const _0x3ea9fe=a15_0x46b1,_0x3aa3b3=_0x272a33();while(!![]){try{const _0x531f02=parseInt(_0x3ea9fe(0x107))/0x1*(parseInt(_0x3ea9fe(0x10b))/0x2)+-parseInt(_0x3ea9fe(0x105))/0x3*(parseInt(_0x3ea9fe(0x10e))/0x4)+-parseInt(_0x3ea9fe(0x109))/0x5*(parseInt(_0x3ea9fe(0x103))/0x6)+parseInt(_0x3ea9fe(0x10c))/0x7+-parseInt(_0x3ea9fe(0x104))/0x8+parseInt(_0x3ea9fe(0x10f))/0x9+-parseInt(_0x3ea9fe(0x10d))/0xa*(-parseInt(_0x3ea9fe(0x102))/0xb);if(_0x531f02===_0x469369)break;else _0x3aa3b3['push'](_0x3aa3b3['shift']());}catch(_0x44e5c0){_0x3aa3b3['push'](_0x3aa3b3['shift']());}}}(a15_0x1c90,0x7ff91));function a15_0x46b1(_0x50175e,_0x1e5437){_0x50175e=_0x50175e-0x102;const _0x1c9099=a15_0x1c90();let _0x46b1fb=_0x1c9099[_0x50175e];return _0x46b1fb;}function a15_0x1c90(){const _0x3fae8e=['</div>\x0a\x20\x20\x20\x20<p\x20class=\x22cli-hint\x22>Rabetbase\x20CLI\x20ยท\x20session\x20saved\x20locally</p>\x0a\x20\x20</div>\x0a\x20\x20<script>\x0a\x20\x20(function(){\x0a\x20\x20\x20\x20var\x20t\x20=\x205;\x0a\x20\x20\x20\x20var\x20el\x20=\x20document.getElementById(\x27t\x27);\x0a\x20\x20\x20\x20var\x20manual\x20=\x20document.getElementById(\x27manualMsg\x27);\x0a\x20\x20\x20\x20var\x20id\x20=\x20setInterval(function(){\x0a\x20\x20\x20\x20\x20\x20t--;\x0a\x20\x20\x20\x20\x20\x20if\x20(t\x20<=\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20clearInterval(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20\x270\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20try\x20{\x20window.close();\x20}\x20catch(e)\x20{}\x0a\x20\x20\x20\x20\x20\x20\x20\x20setTimeout(function(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!window.closed)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20manual.style.display\x20=\x20\x27block\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20},\x20300);\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20el.textContent\x20=\x20String(t);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20},\x201000);\x0a\x20\x20})();\x0a\x20\x20</script>\x0a</body>\x0a</html>','5AeyxMG','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','1649786yZDuZj','3179351GqicfR','386170UGLwuv','424828qGGfGf','8167716xFbDpW','11ejouFx','2564274NysSKy','6790744qNjCuZ','12YOiBya','<!doctype\x20html>\x0a<html\x20lang=\x22en\x22>\x0a<head>\x0a\x20\x20<meta\x20charset=\x22utf-8\x22>\x0a\x20\x20<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1\x22>\x0a\x20\x20<title>Login\x20successful\x20ยท\x20Rabetbase\x20CLI</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20:root\x20{\x0a\x20\x20\x20\x20\x20\x20--bg0:\x20#0f1419;\x0a\x20\x20\x20\x20\x20\x20--bg1:\x20#1a2332;\x0a\x20\x20\x20\x20\x20\x20--card:\x20#ffffff;\x0a\x20\x20\x20\x20\x20\x20--text:\x20#1c2128;\x0a\x20\x20\x20\x20\x20\x20--muted:\x20#5c6570;\x0a\x20\x20\x20\x20\x20\x20--accent:\x20#2563eb;\x0a\x20\x20\x20\x20\x20\x20--accent-soft:\x20#eff6ff;\x0a\x20\x20\x20\x20\x20\x20--success:\x20#059669;\x0a\x20\x20\x20\x20\x20\x20--radius:\x2016px;\x0a\x20\x20\x20\x20\x20\x20--shadow:\x200\x2025px\x2050px\x20-12px\x20rgba(15,\x2020,\x2025,\x200.35);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20*\x20{\x20box-sizing:\x20border-box;\x20}\x0a\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200;\x0a\x20\x20\x20\x20\x20\x20min-height:\x20100vh;\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20padding:\x2024px;\x0a\x20\x20\x20\x20\x20\x20font-family:\x20ui-sans-serif,\x20system-ui,\x20-apple-system,\x20\x22Segoe\x20UI\x22,\x20Roboto,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22Helvetica\x20Neue\x22,\x20Arial,\x20\x22Noto\x20Sans\x22,\x20\x22PingFang\x20SC\x22,\x20\x22Microsoft\x20YaHei\x22,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20background:\x20linear-gradient(160deg,\x20var(--bg0)\x200%,\x20var(--bg1)\x2045%,\x20#243047\x20100%);\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--text);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.card\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x20100%;\x0a\x20\x20\x20\x20\x20\x20max-width:\x20420px;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--card);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20var(--radius);\x0a\x20\x20\x20\x20\x20\x20box-shadow:\x20var(--shadow);\x0a\x20\x20\x20\x20\x20\x20padding:\x2040px\x2036px\x2032px;\x0a\x20\x20\x20\x20\x20\x20text-align:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20{\x0a\x20\x20\x20\x20\x20\x20width:\x2064px;\x0a\x20\x20\x20\x20\x20\x20height:\x2064px;\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x20auto\x2020px;\x0a\x20\x20\x20\x20\x20\x20border-radius:\x2050%;\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.icon\x20svg\x20{\x20width:\x2036px;\x20height:\x2036px;\x20}\x0a\x20\x20\x20\x20h1\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x2012px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x201.375rem;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20600;\x0a\x20\x20\x20\x20\x20\x20letter-spacing:\x20-0.02em;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20p.lead\x20{\x0a\x20\x20\x20\x20\x20\x20margin:\x200\x200\x208px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.9375rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--muted);\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.55;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.countdown\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20inline-flex;\x0a\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20gap:\x206px;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2016px;\x0a\x20\x20\x20\x20\x20\x20padding:\x208px\x2014px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.875rem;\x0a\x20\x20\x20\x20\x20\x20font-variant-numeric:\x20tabular-nums;\x0a\x20\x20\x20\x20\x20\x20color:\x20var(--accent);\x0a\x20\x20\x20\x20\x20\x20background:\x20var(--accent-soft);\x0a\x20\x20\x20\x20\x20\x20border-radius:\x20999px;\x0a\x20\x20\x20\x20\x20\x20font-weight:\x20500;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#manualMsg\x20{\x0a\x20\x20\x20\x20\x20\x20display:\x20none;\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2020px;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.8125rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#b91c1c;\x0a\x20\x20\x20\x20\x20\x20line-height:\x201.45;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20.cli-hint\x20{\x0a\x20\x20\x20\x20\x20\x20margin-top:\x2028px;\x0a\x20\x20\x20\x20\x20\x20padding-top:\x2024px;\x0a\x20\x20\x20\x20\x20\x20border-top:\x201px\x20solid\x20#e8ecf0;\x0a\x20\x20\x20\x20\x20\x20font-size:\x200.75rem;\x0a\x20\x20\x20\x20\x20\x20color:\x20#8b949e;\x0a\x20\x20\x20\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22card\x22\x20role=\x22status\x22\x20aria-live=\x22polite\x22>\x0a\x20\x20\x20\x20<div\x20class=\x22icon\x22\x20aria-hidden=\x22true\x22>\x0a\x20\x20\x20\x20\x20\x20<svg\x20viewBox=\x220\x200\x2024\x2024\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<circle\x20cx=\x2212\x22\x20cy=\x2212\x22\x20r=\x2210\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20fill=\x22none\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M8\x2012.5l2.5\x202.5L16\x209\x22\x20stroke=\x22#059669\x22\x20stroke-width=\x222\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<h1>Login\x20successful</h1>\x0a\x20\x20\x20\x20<p\x20class=\x22lead\x22>You\x20can\x20return\x20to\x20the\x20terminal\x20to\x20continue.\x20This\x20window\x20will\x20try\x20to\x20close\x20automatically.</p>\x0a\x20\x20\x20\x20<div\x20class=\x22countdown\x22>\x0a\x20\x20\x20\x20\x20\x20Closing\x20in\x20<span\x20id=\x22t\x22>5</span>s\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20id=\x22manualMsg\x22>','1dKgzlZ'];a15_0x1c90=function(){return _0x3fae8e;};return a15_0x1c90();}export function buildLoginSuccessHtml(){const _0xc6e4c2=a15_0x46b1,_0x2c5cbd=_0xc6e4c2(0x10a);return _0xc6e4c2(0x106)+_0x2c5cbd+_0xc6e4c2(0x108);}
@@ -1 +1 @@
1
- (function(_0x2f4da8,_0x467b86){var _0x3aa905=a11_0x535c,_0x27275b=_0x2f4da8();while(!![]){try{var _0x52ce02=parseInt(_0x3aa905(0x1ca))/0x1*(-parseInt(_0x3aa905(0x1bf))/0x2)+-parseInt(_0x3aa905(0x1be))/0x3*(-parseInt(_0x3aa905(0x1c1))/0x4)+-parseInt(_0x3aa905(0x1c7))/0x5*(parseInt(_0x3aa905(0x1c5))/0x6)+parseInt(_0x3aa905(0x1c3))/0x7+-parseInt(_0x3aa905(0x1c9))/0x8+parseInt(_0x3aa905(0x1c2))/0x9*(parseInt(_0x3aa905(0x1c8))/0xa)+parseInt(_0x3aa905(0x1c0))/0xb;if(_0x52ce02===_0x467b86)break;else _0x27275b['push'](_0x27275b['shift']());}catch(_0x570f50){_0x27275b['push'](_0x27275b['shift']());}}}(a11_0x4441,0x7e09e));function a11_0x535c(_0x871dfd,_0x22f64a){_0x871dfd=_0x871dfd-0x1be;var _0x4441e5=a11_0x4441();var _0x535cc7=_0x4441e5[_0x871dfd];return _0x535cc7;}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../auth/constant.js';function a11_0x4441(){var _0xb7633f=['874090QoJmgl','7767864DxnkaF','199yhuExU','96bvYFJq','6614UqsTXG','18658574yYOUve','81508BkmwHr','63YfrAvn','305529oYwvvp','โœ“\x20Logged\x20out','2082SzTeWJ','log','12370AlDOsa'];a11_0x4441=function(){return _0xb7633f;};return a11_0x4441();}export function logout(){var _0x2c9894=a11_0x535c;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x2c9894(0x1c6)](_0x2c9894(0x1c4))):console['log']('!\x20Not\x20logged\x20in');}
1
+ function a16_0x719c(_0xd332ae,_0x41f239){_0xd332ae=_0xd332ae-0x8c;var _0x12d5d9=a16_0x12d5();var _0x719c6f=_0x12d5d9[_0xd332ae];return _0x719c6f;}(function(_0x49f309,_0x2fd2bb){var _0x293f3b=a16_0x719c,_0x47041a=_0x49f309();while(!![]){try{var _0x5f5938=-parseInt(_0x293f3b(0x8f))/0x1*(parseInt(_0x293f3b(0x90))/0x2)+parseInt(_0x293f3b(0x8d))/0x3+parseInt(_0x293f3b(0x93))/0x4+parseInt(_0x293f3b(0x95))/0x5+-parseInt(_0x293f3b(0x94))/0x6+-parseInt(_0x293f3b(0x92))/0x7*(parseInt(_0x293f3b(0x97))/0x8)+-parseInt(_0x293f3b(0x96))/0x9;if(_0x5f5938===_0x2fd2bb)break;else _0x47041a['push'](_0x47041a['shift']());}catch(_0x2d5899){_0x47041a['push'](_0x47041a['shift']());}}}(a16_0x12d5,0x52894));import{unlinkSync,existsSync}from'node:fs';function a16_0x12d5(){var _0x35501d=['1467092SpkHgx','1003200LvnhcG','2121150ZxGdRD','2951820LjvcZp','174904eOuEAT','โœ“\x20Logged\x20out','495558mebUvj','!\x20Not\x20logged\x20in','15843zpQgRm','10bmnYNi','log','14uAJYSX'];a16_0x12d5=function(){return _0x35501d;};return a16_0x12d5();}import{cookieFile}from'../auth/constant.js';export function logout(){var _0x5a67b8=a16_0x719c;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x5a67b8(0x91)](_0x5a67b8(0x8c))):console[_0x5a67b8(0x91)](_0x5a67b8(0x8e));}
package/lib/cli-flags.js CHANGED
@@ -1 +1 @@
1
- function a12_0x5b50(){const _0x4739e5=['4279hekmEI','40epCuGZ','456838nKjNpL','33590hHGIvR','10188KWiaXS','2104eODADU','337923PIWWCJ','boolean','22628GjEcAT','858347QCSIWj','12gIhuAJ','265604oPICeb'];a12_0x5b50=function(){return _0x4739e5;};return a12_0x5b50();}function a12_0x3f1b(_0xbcbcda,_0x160abe){_0xbcbcda=_0xbcbcda-0x14c;const _0x5b507d=a12_0x5b50();let _0x3f1b49=_0x5b507d[_0xbcbcda];return _0x3f1b49;}const a12_0x5cf1a5=a12_0x3f1b;(function(_0x203af4,_0x2eb5e1){const _0x4c27d2=a12_0x3f1b,_0x16841c=_0x203af4();while(!![]){try{const _0x168ccf=-parseInt(_0x4c27d2(0x154))/0x1+parseInt(_0x4c27d2(0x151))/0x2+parseInt(_0x4c27d2(0x14c))/0x3+-parseInt(_0x4c27d2(0x14e))/0x4*(parseInt(_0x4c27d2(0x153))/0x5)+parseInt(_0x4c27d2(0x150))/0x6*(-parseInt(_0x4c27d2(0x14f))/0x7)+parseInt(_0x4c27d2(0x157))/0x8*(-parseInt(_0x4c27d2(0x156))/0x9)+parseInt(_0x4c27d2(0x155))/0xa*(parseInt(_0x4c27d2(0x152))/0xb);if(_0x168ccf===_0x2eb5e1)break;else _0x16841c['push'](_0x16841c['shift']());}catch(_0xc8ca66){_0x16841c['push'](_0x16841c['shift']());}}}(a12_0x5b50,0x7bca2));export const dynamicCliFlags={'enableBffSave':{'type':a12_0x5cf1a5(0x14d)}};
1
+ function a17_0x2609(){const _0x59a3ca=['40BGSaNT','7273HdGqRy','588782rtTFXM','536264fAQhZw','558639vbhpEx','8760411BTRsfZ','9920sorUis','293880EGjwBw','436172oQcZhX'];a17_0x2609=function(){return _0x59a3ca;};return a17_0x2609();}function a17_0x2006(_0x4b8867,_0xf94b20){_0x4b8867=_0x4b8867-0x189;const _0x26092a=a17_0x2609();let _0x2006a4=_0x26092a[_0x4b8867];return _0x2006a4;}(function(_0x3b59e2,_0x10dc66){const _0x3b5e0b=a17_0x2006,_0x481bca=_0x3b59e2();while(!![]){try{const _0x55ab53=-parseInt(_0x3b5e0b(0x18f))/0x1+-parseInt(_0x3b5e0b(0x190))/0x2+parseInt(_0x3b5e0b(0x191))/0x3+parseInt(_0x3b5e0b(0x18c))/0x4*(-parseInt(_0x3b5e0b(0x18d))/0x5)+-parseInt(_0x3b5e0b(0x18b))/0x6+parseInt(_0x3b5e0b(0x18e))/0x7*(parseInt(_0x3b5e0b(0x18a))/0x8)+parseInt(_0x3b5e0b(0x189))/0x9;if(_0x55ab53===_0x10dc66)break;else _0x481bca['push'](_0x481bca['shift']());}catch(_0x4a46c7){_0x481bca['push'](_0x481bca['shift']());}}}(a17_0x2609,0xa3812));export const dynamicCliFlags={'enableBffSave':{'type':'boolean'}};