@lovrabet/rabetbase-cli 2.5.3-beta.2 → 2.5.3-beta.3

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 (387) 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.js +1 -1
  271. package/lib/constant/cli.js +1 -1
  272. package/lib/constant/defaults.js +1 -1
  273. package/lib/constant/domain.js +1 -1
  274. package/lib/constant/env.js +1 -1
  275. package/lib/constant/output.js +1 -1
  276. package/lib/constant/paths.js +1 -1
  277. package/lib/constant/region.js +1 -1
  278. package/lib/constant/risk.js +1 -1
  279. package/lib/constant/routing-profile.js +1 -1
  280. package/lib/context/app-resolver.d.ts +2 -0
  281. package/lib/context/app-resolver.js +1 -1
  282. package/lib/context/auth-resolver.js +1 -1
  283. package/lib/context/config-loader.js +1 -1
  284. package/lib/context.d.ts +2 -1
  285. package/lib/context.js +1 -1
  286. package/lib/core/alias-resolver.d.ts +13 -17
  287. package/lib/core/alias-resolver.js +1 -1
  288. package/lib/core/api-client.d.ts +6 -0
  289. package/lib/core/api-client.js +1 -1
  290. package/lib/core/bff/config.js +1 -1
  291. package/lib/core/bff/file-system.js +1 -1
  292. package/lib/core/bff/hash.js +1 -1
  293. package/lib/core/bff/hook-directory.js +1 -1
  294. package/lib/core/bff/lock.js +1 -1
  295. package/lib/core/bff/utils.js +1 -1
  296. package/lib/core/cross-db-relation.d.ts +41 -0
  297. package/lib/core/cross-db-relation.js +1 -0
  298. package/lib/core/db-resolver.js +1 -1
  299. package/lib/core/flow-config.js +1 -1
  300. package/lib/core/instant-api-policy/config.js +1 -1
  301. package/lib/core/kb-search-client.js +1 -1
  302. package/lib/core/page/file-system.js +1 -1
  303. package/lib/core/page/hash.js +1 -1
  304. package/lib/core/page/lock.js +1 -1
  305. package/lib/core/page/lr-smart-jsx.js +1 -1
  306. package/lib/core/sql-index-auditor.js +1 -1
  307. package/lib/core/sql-sync/config.js +1 -1
  308. package/lib/core/sql-sync/file-system.js +1 -1
  309. package/lib/core/sql-sync/hash.js +1 -1
  310. package/lib/core/sql-sync/lock.js +1 -1
  311. package/lib/core/sql-sync/utils.js +1 -1
  312. package/lib/core/sql-validator.js +1 -1
  313. package/lib/errors.js +1 -1
  314. package/lib/framework/build-all-flags.js +1 -1
  315. package/lib/framework/error-output.js +1 -1
  316. package/lib/framework/explicit-yes.js +1 -1
  317. package/lib/framework/flags.js +1 -1
  318. package/lib/framework/help.js +1 -1
  319. package/lib/framework/index.js +1 -1
  320. package/lib/framework/output.js +1 -1
  321. package/lib/framework/response.js +1 -1
  322. package/lib/framework/runner-alias.d.ts +1 -1
  323. package/lib/framework/runner-alias.js +1 -1
  324. package/lib/framework/runner.js +1 -1
  325. package/lib/framework/schema-export.js +1 -1
  326. package/lib/framework/supported-flags.js +1 -1
  327. package/lib/framework/types.js +1 -1
  328. package/lib/generated/build-info.d.ts +4 -4
  329. package/lib/generated/build-info.js +1 -1
  330. package/lib/generated/official-routing.js +1 -1
  331. package/lib/generated/routing-contract.js +1 -1
  332. package/lib/help.js +1 -1
  333. package/lib/postinstall.js +1 -1
  334. package/lib/runtime/confirmation.js +1 -1
  335. package/lib/runtime/event.js +1 -1
  336. package/lib/runtime/index.js +1 -1
  337. package/lib/runtime/queue.js +1 -1
  338. package/lib/runtime/resolve.js +1 -1
  339. package/lib/skills/builtin-skill.js +1 -1
  340. package/lib/skills/main.js +1 -1
  341. package/lib/skills/npx-skills-add.d.ts +0 -10
  342. package/lib/skills/npx-skills-add.js +1 -1
  343. package/lib/skills/skill-presence.js +1 -1
  344. package/lib/telemetry/cli-command-trace.js +1 -1
  345. package/lib/telemetry/cli-help-trace.js +1 -1
  346. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  347. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  348. package/lib/telemetry/send-cli-trace-log.js +1 -1
  349. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  350. package/lib/types/index.d.ts +11 -1
  351. package/lib/utils/ai_config.js +1 -1
  352. package/lib/utils/apply-jq-filter.js +1 -1
  353. package/lib/utils/cdn-config.js +1 -1
  354. package/lib/utils/check-sdk-version.js +1 -1
  355. package/lib/utils/cli-version-check.js +1 -1
  356. package/lib/utils/cli-version-policy.d.ts +12 -0
  357. package/lib/utils/cli-version-policy.js +1 -1
  358. package/lib/utils/config.js +1 -1
  359. package/lib/utils/entity-with-id.js +1 -1
  360. package/lib/utils/file-utils.js +1 -1
  361. package/lib/utils/guides-cdn.js +1 -1
  362. package/lib/utils/http-client.js +1 -1
  363. package/lib/utils/is-non-interactive.js +1 -1
  364. package/lib/utils/logger.js +1 -1
  365. package/lib/utils/params.js +1 -1
  366. package/lib/utils/platform.js +1 -1
  367. package/lib/utils/sleep.js +1 -1
  368. package/lib/utils/template-replacer.js +1 -1
  369. package/lib/utils/update-notice.js +1 -1
  370. package/lib/utils/version.js +1 -1
  371. package/lib/utils/with-active-cookie.js +1 -1
  372. package/lib/utils/write-cli-side-channel.js +1 -1
  373. package/package.json +4 -1
  374. package/skills/rabetbase/SKILL.md +10 -6
  375. package/skills/rabetbase/guides/sdk-client-generation.md +112 -61
  376. package/skills/rabetbase/guides/typescript-sdk.md +9 -0
  377. package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
  378. package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
  379. package/skills/rabetbase/references/rabetbase-config.md +2 -1
  380. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +60 -0
  381. package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
  382. package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
  383. package/skills/rabetbase.manifest.json +4 -3
  384. package/templates/README.md +16 -4
  385. package/templates/generate-api/model-runtime.ts.tpl +101 -0
  386. package/templates/generate-api/profile-api.ts.tpl +21 -0
  387. 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
+ (function(_0x119e5d,_0x133956){const _0x3c4c4a=a0_0x5db0,_0x70e54f=_0x119e5d();while(!![]){try{const _0xe68222=parseInt(_0x3c4c4a(0x19c))/0x1*(parseInt(_0x3c4c4a(0x194))/0x2)+parseInt(_0x3c4c4a(0x18c))/0x3*(-parseInt(_0x3c4c4a(0x197))/0x4)+-parseInt(_0x3c4c4a(0x182))/0x5*(-parseInt(_0x3c4c4a(0x187))/0x6)+-parseInt(_0x3c4c4a(0x17e))/0x7*(-parseInt(_0x3c4c4a(0x18b))/0x8)+parseInt(_0x3c4c4a(0x185))/0x9*(-parseInt(_0x3c4c4a(0x198))/0xa)+parseInt(_0x3c4c4a(0x19a))/0xb*(parseInt(_0x3c4c4a(0x180))/0xc)+-parseInt(_0x3c4c4a(0x18e))/0xd*(parseInt(_0x3c4c4a(0x199))/0xe);if(_0xe68222===_0x133956)break;else _0x70e54f['push'](_0x70e54f['shift']());}catch(_0x25ae4f){_0x70e54f['push'](_0x70e54f['shift']());}}}(a0_0x3158,0xbdd70));function a0_0x5db0(_0x52f4d0,_0x5499c3){_0x52f4d0=_0x52f4d0-0x17d;const _0x3158f6=a0_0x3158();let _0x5db090=_0x3158f6[_0x52f4d0];return _0x5db090;}import{mkdirSync,writeFileSync}from'node:fs';import a0_0x2cc60d from'node:path';import{fetchDatasetDoc}from'../core/api-client.js';function a0_0x3158(){const _0x33b716=['api-doc','Generated\x20docs\x20successfully:\x20','name','38472NJtGGK','5961JPBIqE','.md\x20(','35113NQhLOi','datasetCode','length','✗\x20Failed:\x20','.md','error','27498RGeREj','.md\x20-\x20','success','2692snIRvo','240tktSGt','5068lNSYdg','22ZjFkGB','message','22SMlaWd','log','1869pjFeKg','✓\x20Generated:\x20','3740316SaZvJW','push','536590DvGzVT','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','Waiting\x203\x20seconds...\x0a','111663BsSmga',']\x20Generating:\x20','66IcsrrF'];a0_0x3158=function(){return _0x33b716;};return a0_0x3158();}import{logger}from'../utils/logger.js';export{fetchDatasetDoc}from'../core/api-client.js';function delay(_0x1dcb8a){return new Promise(_0x345f87=>setTimeout(_0x345f87,_0x1dcb8a));}export async function generateDatasetDocs(_0x9d9f22,_0x516a50,_0x45f65e,_0x3f1049='./docs',_0x49a2b2,_0x47650c){const _0x4fa8a3=a0_0x5db0;mkdirSync(_0x3f1049,{'recursive':!![]});const _0x5e144d=[],_0x504a91=_0x9d9f22[_0x4fa8a3(0x190)];console['log']('\x0a'+_0x504a91+_0x4fa8a3(0x183));for(let _0x527d56=0x0;_0x527d56<_0x9d9f22['length'];_0x527d56++){const _0x28a9b6=_0x9d9f22[_0x527d56],_0x1a367d=_0x527d56+0x1,_0x99859f=_0x28a9b6['tableName'];try{console[_0x4fa8a3(0x17d)]('['+_0x1a367d+'/'+_0x504a91+_0x4fa8a3(0x186)+_0x99859f+_0x4fa8a3(0x18d)+_0x28a9b6[_0x4fa8a3(0x18a)]+')');if(_0x49a2b2)_0x49a2b2(_0x1a367d,_0x504a91,_0x99859f);const _0x5cd972=await fetchDatasetDoc({'appCode':_0x516a50,'cookie':_0x45f65e,'datasetCode':_0x28a9b6['datasetCode'],'datasetId':_0x28a9b6['id'],'enableAI':![],'extraParams':_0x47650c}),_0x1a1acd=a0_0x2cc60d['join'](_0x3f1049,_0x99859f+_0x4fa8a3(0x192));writeFileSync(_0x1a1acd,_0x5cd972,{'encoding':'utf8'}),console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x17f)+_0x99859f+'.md'),logger[_0x4fa8a3(0x196)](_0x4fa8a3(0x188),_0x4fa8a3(0x189)+_0x99859f,undefined,{'datasetCode':_0x28a9b6[_0x4fa8a3(0x18f)],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':_0x1a1acd,'progress':_0x1a367d+'/'+_0x504a91}),_0x5e144d[_0x4fa8a3(0x181)]({'datasetCode':_0x28a9b6['datasetCode'],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':_0x1a1acd,'success':!![]});if(_0x1a367d<_0x504a91)await delay(0x1388);}catch(_0x374148){const _0x38344c=_0x374148 instanceof Error?_0x374148[_0x4fa8a3(0x19b)]:String(_0x374148);console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x191)+_0x99859f+_0x4fa8a3(0x195)+_0x38344c),logger[_0x4fa8a3(0x193)](_0x4fa8a3(0x188),'Failed\x20to\x20generate\x20docs:\x20'+_0x28a9b6[_0x4fa8a3(0x18f)],{'datasetCode':_0x28a9b6[_0x4fa8a3(0x18f)],'datasetName':_0x28a9b6['name'],'error':_0x38344c,'progress':_0x1a367d+'/'+_0x504a91}),_0x5e144d['push']({'datasetCode':_0x28a9b6['datasetCode'],'datasetName':_0x28a9b6[_0x4fa8a3(0x18a)],'filePath':'','success':![],'error':_0x38344c}),_0x1a367d<_0x504a91&&(console[_0x4fa8a3(0x17d)](_0x4fa8a3(0x184)),await delay(0xbb8));}}return _0x5e144d;}
@@ -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_0x17ed(){const _0x58b2ef=['1168uKsoUP','map','get','normalizedApiDir','some','32795WjPiyA','app','1146vjDynD','23971ENacTv','.\x20Use\x20a\x20different\x20apiDir\x20for\x20a\x20separate\x20API.','\x22\x20resolves\x20to\x20multiple\x20API\x20directories.','cwd','36549ChRygY','add','20295720uYGyit','flatMap','filter','join','10803415qEjdJa','apiGroup','outputDir','5094092vuBQJr','1966LcQGdX','set','size','\x22\x20is\x20assigned\x20to\x20incompatible\x20API\x20groups.','Profiles\x20in\x20the\x20same\x20API\x20group\x20must\x20use\x20the\x20same\x20apiDir.','1947KaweBA','push'];a1_0x17ed=function(){return _0x58b2ef;};return a1_0x17ed();}function a1_0x1b6d(_0x930b67,_0x36325b){_0x930b67=_0x930b67-0x13d;const _0x17ed02=a1_0x17ed();let _0x1b6d7b=_0x17ed02[_0x930b67];return _0x1b6d7b;}const a1_0x83bacf=a1_0x1b6d;(function(_0x1b896d,_0x2ad63e){const _0x4f8f4c=a1_0x1b6d,_0x5459cb=_0x1b896d();while(!![]){try{const _0x4e62ac=parseInt(_0x4f8f4c(0x142))/0x1+-parseInt(_0x4f8f4c(0x150))/0x2*(-parseInt(_0x4f8f4c(0x155))/0x3)+parseInt(_0x4f8f4c(0x14f))/0x4+parseInt(_0x4f8f4c(0x13f))/0x5*(-parseInt(_0x4f8f4c(0x141))/0x6)+parseInt(_0x4f8f4c(0x14c))/0x7+parseInt(_0x4f8f4c(0x157))/0x8*(parseInt(_0x4f8f4c(0x146))/0x9)+-parseInt(_0x4f8f4c(0x148))/0xa;if(_0x4e62ac===_0x2ad63e)break;else _0x5459cb['push'](_0x5459cb['shift']());}catch(_0x6d3115){_0x5459cb['push'](_0x5459cb['shift']());}}}(a1_0x17ed,0xc0b7b));import a1_0x2f8555 from'node:path';import{CliErrors}from'../errors.js';export function normalizeApiDir(_0x3dca78,_0x12bab1=process[a1_0x83bacf(0x145)]()){return a1_0x2f8555['resolve'](_0x12bab1,_0x3dca78);}function normalizedApiGroup(_0x5679e2){const _0x4c586a=_0x5679e2?.['trim']();return _0x4c586a||undefined;}export function resolveApiProfileLayouts(_0x241977,_0x44c18f,_0x5ee074=process[a1_0x83bacf(0x145)]()){const _0x44282b=a1_0x83bacf,_0x78dac4=_0x241977[_0x44282b(0x158)](_0x1c2d83=>{const _0x6f50f2=_0x44282b,_0x6b4ba8=_0x44c18f(_0x1c2d83);return{'app':_0x1c2d83,'outputDir':_0x6b4ba8,'normalizedApiDir':normalizeApiDir(_0x6b4ba8,_0x5ee074),'apiGroup':normalizedApiGroup(_0x1c2d83[_0x6f50f2(0x14d)])};}),_0x465301=new Map();for(const _0x32eed9 of _0x78dac4){if(!_0x32eed9[_0x44282b(0x14d)])continue;const _0x105124=_0x465301[_0x44282b(0x159)](_0x32eed9['apiGroup'])??new Set();_0x105124[_0x44282b(0x147)](_0x32eed9['normalizedApiDir']),_0x465301[_0x44282b(0x151)](_0x32eed9[_0x44282b(0x14d)],_0x105124);}for(const [_0x455e88,_0x17fc39]of _0x465301){if(_0x17fc39[_0x44282b(0x152)]>0x1)throw CliErrors['validation']('API\x20group\x20\x22'+_0x455e88+_0x44282b(0x144),_0x44282b(0x154));}const _0x63dde=new Map();for(const _0x1aaef9 of _0x78dac4){const _0x394c5f=_0x63dde['get'](_0x1aaef9[_0x44282b(0x13d)])??[];_0x394c5f[_0x44282b(0x156)](_0x1aaef9),_0x63dde['set'](_0x1aaef9['normalizedApiDir'],_0x394c5f);}for(const _0x164407 of _0x63dde['values']()){const _0x4e1b8e=new Set(_0x164407[_0x44282b(0x149)](_0xc4e54d=>_0xc4e54d['apiGroup']?[_0xc4e54d[_0x44282b(0x14d)]]:[]));if(_0x4e1b8e[_0x44282b(0x152)]===0x0)continue;if(_0x4e1b8e[_0x44282b(0x152)]>0x1||_0x164407[_0x44282b(0x13e)](_0x5263fa=>!_0x5263fa['apiGroup'])){const _0x27774a=_0x164407['map'](_0x3ccdbc=>_0x3ccdbc[_0x44282b(0x140)]['name'])[_0x44282b(0x14b)](',\x20');throw CliErrors['validation']('API\x20directory\x20\x22'+_0x164407[0x0][_0x44282b(0x14e)]+_0x44282b(0x153),'Profiles\x20sharing\x20one\x20apiDir\x20must\x20use\x20the\x20same\x20explicit\x20apiGroup.\x20Conflicting\x20profiles:\x20'+_0x27774a+_0x44282b(0x143));}}return _0x78dac4;}export function getRegistryGroup(_0x2967d9,_0x39fe72){const _0x5e2af6=a1_0x83bacf;if(_0x39fe72['apiGroup'])return _0x2967d9[_0x5e2af6(0x14a)](_0x3f6b81=>_0x3f6b81[_0x5e2af6(0x14d)]===_0x39fe72[_0x5e2af6(0x14d)]);const _0x504a0d=_0x2967d9[_0x5e2af6(0x14a)](_0x36743b=>_0x36743b[_0x5e2af6(0x13d)]===_0x39fe72[_0x5e2af6(0x13d)]);return _0x504a0d['length']===0x1?_0x504a0d: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(_0x13042c,_0x14a6b1){var _0x50589a=a2_0x4bcd,_0x58f129=_0x13042c();while(!![]){try{var _0x2f8609=parseInt(_0x50589a(0x12d))/0x1+parseInt(_0x50589a(0x128))/0x2*(parseInt(_0x50589a(0x129))/0x3)+-parseInt(_0x50589a(0x12a))/0x4+-parseInt(_0x50589a(0x127))/0x5*(parseInt(_0x50589a(0x126))/0x6)+parseInt(_0x50589a(0x123))/0x7+-parseInt(_0x50589a(0x125))/0x8*(parseInt(_0x50589a(0x12c))/0x9)+-parseInt(_0x50589a(0x12b))/0xa*(-parseInt(_0x50589a(0x124))/0xb);if(_0x2f8609===_0x14a6b1)break;else _0x58f129['push'](_0x58f129['shift']());}catch(_0xdfa603){_0x58f129['push'](_0x58f129['shift']());}}}(a2_0x5e6d,0x95384));function a2_0x4bcd(_0x37c92d,_0x1e3e51){_0x37c92d=_0x37c92d-0x123;var _0x5e6da0=a2_0x5e6d();var _0x4bcd3c=_0x5e6da0[_0x37c92d];return _0x4bcd3c;}export{fetchModelList}from'../core/api-client.js';function a2_0x5e6d(){var _0x30731c=['752703TjApnH','4102154eGebDv','46981VJRqOm','56UsJAHp','276ZVNXSV','121015ZhTPmM','1636454WkKWED','3ogTvhk','3544000KmzTaW','3470AdHbhq','1322289aTXbFL'];a2_0x5e6d=function(){return _0x30731c;};return a2_0x5e6d();}
@@ -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(_0x2eca1c,_0x4111b4){const _0x3f62fa=a3_0x498a,_0x31170b=_0x2eca1c();while(!![]){try{const _0x4a8399=-parseInt(_0x3f62fa(0x83))/0x1+parseInt(_0x3f62fa(0x8f))/0x2*(-parseInt(_0x3f62fa(0x97))/0x3)+-parseInt(_0x3f62fa(0x7d))/0x4+parseInt(_0x3f62fa(0x77))/0x5*(parseInt(_0x3f62fa(0x69))/0x6)+-parseInt(_0x3f62fa(0x6d))/0x7+parseInt(_0x3f62fa(0x7b))/0x8+-parseInt(_0x3f62fa(0x9f))/0x9*(parseInt(_0x3f62fa(0x72))/0xa);if(_0x4a8399===_0x4111b4)break;else _0x31170b['push'](_0x31170b['shift']());}catch(_0x2ac105){_0x31170b['push'](_0x31170b['shift']());}}}(a3_0xe21b,0x26203));import a3_0x82989b from'prettier';import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import a3_0x5696d9 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';import{MODEL_REGISTRY_FILE_NAME,MODEL_RUNTIME_FILE_NAME,updateModelRegistry}from'../api/model-registry-file.js';function a3_0x498a(_0x4d4566,_0x223622){_0x4d4566=_0x4d4566-0x69;const _0xe21b52=a3_0xe21b();let _0x498a86=_0xe21b52[_0x4d4566];return _0x498a86;}import{renderModelRegistryScaffold}from'../api/model-registry-scaffold.js';function fileAction(_0x217326,_0xf554df){const _0x1c9374=a3_0x498a;if(!_0xf554df)return _0x217326?'preserved':_0x1c9374(0x94);return _0x217326?_0x1c9374(0x90):_0x1c9374(0x9d);}function a3_0xe21b(){const _0x45dede=['43770oFxNEU','test','defaultName','replace','path','10bOBJsR','API\x20scaffold\x20written.','Model\x20facts\x20refreshed.','join','2275480yrHaRw','stringify','19096OQJlbm','tableName',',\x20...LOVRABET_SDK_CONFIG\x20}','alias','-api','dirname','14242JjUHLz','Please\x20configure\x20app\x20code\x20first\x20via\x20`','.ts','LOVRABET','name','CONFIG_NAMES.DEFAULT','success','api','preserved','../..','modelRuntime','LOVRABET_RUNTIME_DOMAIN','12882hwCKto','overwritten','{\x20apiConfigName:\x20','map','basename','missing','none','modelProfile','3fvicex','length','action','includes','\x20config\x20set\x20app\x20<value>`','resolve','created','templates/generate-api','126MHdKhO','format','existed','APP_','scaffoldMode','631374xiVNfw','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','utf8','refreshed','1763965qTtKVN','key','client',',\x20env:\x20','-client'];a3_0xe21b=function(){return _0x45dede;};return a3_0xe21b();}export async function generateApiFile(_0x4ed06e,_0x46da30,_0x479272,_0x31bd37,_0x4cfbd3,_0x5e7532,_0x17682f,_0x26d6bd={},_0x6d74e1={}){const _0x23b97f=a3_0x498a;if(!_0x479272)throw new Error(_0x23b97f(0x84)+CLI_BIN_NAME+_0x23b97f(0x9b));const _0x821bdb=_0x31bd37&&!_0x17682f,_0x40be9a=!!_0x6d74e1[_0x23b97f(0x96)],_0x17035a=_0x40be9a||_0x821bdb,_0x4e2480=_0x17682f||_0x479272,_0x421985=_0x40be9a||_0x821bdb?'default':_0x4e2480,_0x1a1f0c=_0x40be9a||_0x821bdb?_0x23b97f(0x88):JSON['stringify'](_0x4e2480),_0x1a7f37=!isProduction(_0x4cfbd3),_0x4da708=_0x1a7f37?_0x23b97f(0x70)+JSON[_0x23b97f(0x7c)](_0x4cfbd3):'',_0x5b00c5=_0x23b97f(0x91)+_0x1a1f0c+_0x4da708+_0x23b97f(0x7f),_0x52146c=_0x40be9a?'':_0x46da30,_0x4f5df2=_0x52146c?_0x52146c+_0x23b97f(0x81):_0x23b97f(0x8a),_0x4508fd=_0x52146c?_0x52146c+_0x23b97f(0x71):_0x23b97f(0x6f),_0x3bd795=_0x52146c&&!/^app-[a-f0-9]+$/i['test'](_0x52146c)?_0x52146c['replace'](/-/g,'_')['toUpperCase']():_0x23b97f(0x86),_0x326ec6=/^\d/[_0x23b97f(0x73)](_0x3bd795)?_0x23b97f(0xa2)+_0x3bd795:_0x3bd795,_0x5d7b96=_0x4ed06e[_0x23b97f(0x92)](_0x11d180=>({'datasetCode':_0x11d180['datasetCode'],'tableName':_0x11d180[_0x23b97f(0x7e)],'name':_0x11d180['name']||'','alias':_0x11d180['alias']||_0x11d180[_0x23b97f(0x6e)]})),_0x2582a8=fileURLToPath(import.meta.url),_0x5834b0=a3_0x5696d9[_0x23b97f(0x9c)](a3_0x5696d9[_0x23b97f(0x82)](_0x2582a8),_0x23b97f(0x8c)),_0x5a8e59=a3_0x5696d9[_0x23b97f(0x7a)](_0x5834b0,_0x23b97f(0x9e)),_0x253263=a3_0x5696d9[_0x23b97f(0x7a)](_0x5a8e59,'api.ts.tpl'),_0x57205f=a3_0x5696d9[_0x23b97f(0x7a)](_0x5a8e59,'client.ts.tpl'),_0x4b4ec8=_0x5e7532;mkdirSync(_0x4b4ec8,{'recursive':!![]});const _0xb0605e=_0x40be9a?{}:_0x26d6bd,_0x49ab8c=await generateSdkConfigFile(_0x4b4ec8,_0xb0605e,_0x52146c),_0x11fa76=a3_0x5696d9[_0x23b97f(0x93)](_0x49ab8c,_0x23b97f(0x85)),_0x1cd48b=a3_0x5696d9[_0x23b97f(0x7a)](_0x4b4ec8,_0x4f5df2+'.ts'),_0x18924f=a3_0x5696d9['join'](_0x4b4ec8,_0x4508fd+'.ts'),_0x2c2629=_0x6d74e1['overwriteTypescript']===!![],_0x3808ad=existsSync(_0x1cd48b),_0x291198=existsSync(_0x18924f),_0x14eed1=_0x6d74e1[_0x23b97f(0xa3)]??(_0x2c2629?_0x23b97f(0x75):'missing'),_0x269872=_0x14eed1===_0x23b97f(0x75)||_0x14eed1===_0x23b97f(0x94)&&!_0x3808ad,_0x3eb5f6=_0x14eed1===_0x23b97f(0x75)||_0x14eed1===_0x23b97f(0x94)&&!_0x291198,_0x272315=_0x6d74e1[_0x23b97f(0x96)]?updateModelRegistry({'outputDir':_0x4b4ec8,'profileName':_0x6d74e1[_0x23b97f(0x96)][_0x23b97f(0x87)],'defaultProfile':_0x6d74e1[_0x23b97f(0x96)][_0x23b97f(0x74)],'appCode':_0x479272,'runtimeDomain':_0x6d74e1[_0x23b97f(0x96)]['runtimeDomain'],'models':_0x5d7b96,'allowEmptyReplacement':_0x6d74e1['allowEmptyModelReplacement']===!![]}):undefined,_0x3c32b2=_0x272315?a3_0x5696d9[_0x23b97f(0x7a)](_0x4b4ec8,MODEL_RUNTIME_FILE_NAME):undefined,_0x1ef815=_0x3c32b2?existsSync(_0x3c32b2):![],_0x212e8b=_0x40be9a&&_0x14eed1!==_0x23b97f(0x95)?await renderModelRegistryScaffold(_0x4b4ec8):undefined;_0x3c32b2&&_0x212e8b&&writeFileSync(_0x3c32b2,_0x212e8b[_0x23b97f(0x8d)],'utf8');const _0x357e96=_0x5d7b96[0x0]?.[_0x23b97f(0x80)];if(_0x269872){const _0x40407b=_0x212e8b?.[_0x23b97f(0x8a)]??readFileSync(_0x253263,_0x23b97f(0x6b)),_0x1435cc=_0x40be9a?_0x40407b:TemplateReplacer['replaceApiContent'](_0x40407b,_0x479272,_0x5d7b96,_0x357e96,_0x4f5df2,_0x1a1f0c,undefined,_0x326ec6);writeFileSync(_0x1cd48b,await a3_0x82989b[_0x23b97f(0xa0)](_0x1435cc,{'parser':'typescript'}),{'encoding':_0x23b97f(0x6b)});}if(_0x3eb5f6){const _0x228592=_0x212e8b?.[_0x23b97f(0x6f)]??readFileSync(_0x57205f,_0x23b97f(0x6b)),_0x4d0b61=_0x40be9a?_0x228592:TemplateReplacer['replaceApiContent'](_0x228592,_0x479272,_0x5d7b96,_0x357e96,_0x4f5df2,_0x1a1f0c,_0x5b00c5,_0x326ec6,_0x11fa76);writeFileSync(_0x18924f,await a3_0x82989b[_0x23b97f(0xa0)](_0x4d0b61,{'parser':'typescript'}),{'encoding':'utf8'});}const _0x59dc56=_0x5d7b96[_0x23b97f(0x98)],_0x3b1249={'api':{'path':_0x1cd48b,'action':fileAction(_0x3808ad,_0x269872)},'client':{'path':_0x18924f,'action':fileAction(_0x291198,_0x3eb5f6)},'sdkConfig':{'path':_0x49ab8c,'action':_0x23b97f(0x6c)},..._0x272315?{'modelRegistry':{'path':_0x272315[_0x23b97f(0x76)],'action':_0x272315[_0x23b97f(0xa1)]?_0x23b97f(0x6c):_0x23b97f(0x9d)},'modelRuntime':{'path':_0x3c32b2,'action':_0x212e8b?_0x1ef815?_0x23b97f(0x6c):_0x23b97f(0x9d):_0x1ef815?_0x23b97f(0x8b):_0x23b97f(0x94)}}:{}},_0x3b19ed=existsSync(_0x1cd48b)&&readFileSync(_0x1cd48b,_0x23b97f(0x6b))[_0x23b97f(0x9a)](MODEL_REGISTRY_FILE_NAME[_0x23b97f(0x75)]('.ts','')),_0x5810d9=existsSync(_0x18924f)&&readFileSync(_0x18924f,_0x23b97f(0x6b))['includes'](_0x23b97f(0x8e)),_0x3ca070=_0x40be9a?!_0x3b19ed||!_0x5810d9||!existsSync(_0x3c32b2):![],_0x3bbbe0=_0x40be9a?_0x3ca070:_0x3b1249[_0x23b97f(0x8a)][_0x23b97f(0x99)]===_0x23b97f(0x8b)||_0x3b1249['client'][_0x23b97f(0x99)]===_0x23b97f(0x8b);return logger[_0x23b97f(0x89)]('init-api',_0x3bbbe0?a3_0x5696d9[_0x23b97f(0x93)](_0x49ab8c)+_0x23b97f(0x6a):_0x40be9a?_0x23b97f(0x79):_0x23b97f(0x78),undefined,{'apiFile':_0x1cd48b,'clientFile':_0x18924f,'sdkConfig':_0x49ab8c,'modelCount':_0x59dc56,'configName':_0x421985,'isDefaultConfig':_0x17035a,'needsAgentMerge':_0x3bbbe0,'needsProjectUpgrade':_0x3ca070,'files':_0x3b1249}),{'appCode':_0x479272,'modelCount':_0x59dc56,'models':_0x5d7b96,'apiFilePath':_0x1cd48b,'clientFilePath':_0x18924f,'sdkConfigPath':_0x49ab8c,'modelRegistryPath':_0x272315?.['path'],'modelRuntimePath':_0x3c32b2,'modelProfile':_0x6d74e1[_0x23b97f(0x96)]?.[_0x23b97f(0x87)],'configName':_0x421985,'isDefaultConfig':_0x17035a,'sdkRouting':_0xb0605e,'files':_0x3b1249,'needsAgentMerge':_0x3bbbe0,'needsProjectUpgrade':_0x3ca070};}
@@ -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_0x4409d6=a4_0xd0c6;(function(_0x7e6bf0,_0x546ab1){const _0x187a6c=a4_0xd0c6,_0x18372c=_0x7e6bf0();while(!![]){try{const _0x12adcd=parseInt(_0x187a6c(0x11c))/0x1*(-parseInt(_0x187a6c(0x118))/0x2)+-parseInt(_0x187a6c(0x11f))/0x3*(parseInt(_0x187a6c(0x116))/0x4)+parseInt(_0x187a6c(0x127))/0x5*(-parseInt(_0x187a6c(0x125))/0x6)+-parseInt(_0x187a6c(0x110))/0x7+parseInt(_0x187a6c(0x115))/0x8+-parseInt(_0x187a6c(0x121))/0x9*(-parseInt(_0x187a6c(0x123))/0xa)+parseInt(_0x187a6c(0x11d))/0xb;if(_0x12adcd===_0x546ab1)break;else _0x18372c['push'](_0x18372c['shift']());}catch(_0x5e319d){_0x18372c['push'](_0x18372c['shift']());}}}(a4_0x5a30,0xed546));function a4_0xd0c6(_0x1b1170,_0x66244c){_0x1b1170=_0x1b1170-0x110;const _0x5a30bb=a4_0x5a30();let _0xd0c6dd=_0x5a30bb[_0x1b1170];return _0xd0c6dd;}import{mkdirSync,writeFileSync}from'node:fs';function a4_0x5a30(){const _0xd04b89=['44049038vHCNjk','stringify','2805723KpWEMA','typescript','9DGqgnJ','utf8','9373890SIpVqh','\x20as\x20const;\x0a','6xccShK','sdk-config.ts','7837985YKMytN','9184399PaISRj','runtimeDomain','push','join','-sdk-config.ts','7310192IkXhye','4GGbIEF',',\x0a\x20\x20','246mjNVKG','{\x0a\x20\x20','length','format','8688FFhUKz'];a4_0x5a30=function(){return _0xd04b89;};return a4_0x5a30();}import a4_0x52fe3c from'node:path';import a4_0x45f293 from'prettier';export const SDK_CONFIG_FILE_NAME=a4_0x4409d6(0x126);export function getSdkConfigFileName(_0x1b9c1c=''){const _0x3e5f91=a4_0x4409d6;return _0x1b9c1c?_0x1b9c1c+_0x3e5f91(0x114):SDK_CONFIG_FILE_NAME;}export async function generateSdkConfigFile(_0x204ab6,_0x8a8052={},_0x5bbf04=''){const _0x4c7a01=a4_0x4409d6,_0x11e74c=[];_0x8a8052[_0x4c7a01(0x111)]&&_0x11e74c[_0x4c7a01(0x112)]('runtimeDomain:\x20'+JSON[_0x4c7a01(0x11e)](_0x8a8052[_0x4c7a01(0x111)]));const _0x12788e=_0x11e74c[_0x4c7a01(0x11a)]>0x0?_0x4c7a01(0x119)+_0x11e74c['join'](_0x4c7a01(0x117))+',\x0a}':'{}',_0x42ac61='/**\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'+_0x12788e+_0x4c7a01(0x124);mkdirSync(_0x204ab6,{'recursive':!![]});const _0x5d565f=a4_0x52fe3c[_0x4c7a01(0x113)](_0x204ab6,getSdkConfigFileName(_0x5bbf04));return writeFileSync(_0x5d565f,await a4_0x45f293[_0x4c7a01(0x11b)](_0x42ac61,{'parser':_0x4c7a01(0x120)}),_0x4c7a01(0x122)),_0x5d565f;}
@@ -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(_0x80268d,_0x1b4a39){const _0x27c9c7=a5_0x1458,_0x543b9b=_0x80268d();while(!![]){try{const _0x4efb48=-parseInt(_0x27c9c7(0x19d))/0x1+parseInt(_0x27c9c7(0x1a3))/0x2+-parseInt(_0x27c9c7(0x199))/0x3+-parseInt(_0x27c9c7(0x1a0))/0x4*(-parseInt(_0x27c9c7(0x19e))/0x5)+-parseInt(_0x27c9c7(0x19b))/0x6*(-parseInt(_0x27c9c7(0x1b0))/0x7)+-parseInt(_0x27c9c7(0x1b1))/0x8+parseInt(_0x27c9c7(0x1ae))/0x9*(parseInt(_0x27c9c7(0x1ab))/0xa);if(_0x4efb48===_0x1b4a39)break;else _0x543b9b['push'](_0x543b9b['shift']());}catch(_0x21ecde){_0x543b9b['push'](_0x543b9b['shift']());}}}(a5_0x12c4,0x95033));export function parseLegacyApiModels(_0x19a466){const _0x77b351=a5_0x1458,_0x49939f=[],_0x5d771c=/\{\s*datasetCode:\s*"([^"]+)"\s*,\s*tableName:\s*"([^"]+)"\s*,\s*name:\s*"([^"]*?)"\s*,\s*alias:\s*"([^"]+)"\s*,?\s*\}/g;let _0x270dea;while((_0x270dea=_0x5d771c[_0x77b351(0x1a2)](_0x19a466))!==null){_0x49939f[_0x77b351(0x1a4)]({'datasetCode':_0x270dea[0x1],'tableName':_0x270dea[0x2],'name':_0x270dea[0x3],'alias':_0x270dea[0x4]});}return _0x49939f;}export function parseLegacyApiAppCode(_0x404afc){const _0x1f2aaa=a5_0x1458;return _0x404afc[_0x1f2aaa(0x1a7)](/export\s+const\s+[A-Z0-9_]*APP_CODE(?:\s*:\s*string)?\s*=\s*["']([^"']+)["']/)?.[0x1];}function stripComments(_0x426342){const _0x1dc10b=a5_0x1458;return _0x426342[_0x1dc10b(0x19a)](/\/\*[\s\S]*?\*\//g,'')[_0x1dc10b(0x19a)](/\/\/.*$/gm,'');}export function isLegacyGeneratedApiScaffold(_0x5205ed){const _0x438994=a5_0x1458;if(!_0x5205ed['includes'](_0x438994(0x198)))return![];const _0xd4b45d=stripComments(_0x5205ed),_0x201c74=[..._0xd4b45d[_0x438994(0x1ac)](/^import[\s\S]*?from\s+["']([^"']+)["'];?$/gm)][_0x438994(0x1ad)](_0x552c70=>_0x552c70[0x1]);if(_0x201c74[_0x438994(0x1af)]!==0x1||_0x201c74[0x0]!==_0x438994(0x19c))return![];const _0x297ca2=[..._0xd4b45d[_0x438994(0x1ac)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)][_0x438994(0x1ad)](_0x2929e4=>_0x2929e4[0x1]);if(_0x297ca2[_0x438994(0x1af)]!==0x2||!_0x297ca2[_0x438994(0x1a5)](_0x4833b4=>_0x4833b4[_0x438994(0x19f)](_0x438994(0x1aa)))||!_0x297ca2[_0x438994(0x1a5)](_0x513f83=>_0x513f83[_0x438994(0x19f)](_0x438994(0x1a6))))return![];const _0x1ecd17=[..._0xd4b45d[_0x438994(0x1ac)](/^([A-Za-z_$][\w$]*)\s*\(/gm)]['map'](_0x44355e=>_0x44355e[0x1]);return _0x1ecd17[_0x438994(0x1af)]===0x1&&_0x1ecd17[0x0]==='registerModels';}function a5_0x12c4(){const _0x54fab8=['484227eSrGIp','length','301DdgtxG','3199000mUpGrm','Generated\x20by\x20Rabetbase\x20CLI','3190518TwQXYK','replace','141096eBpRPq','@lovrabet/sdk','294945zzSwvu','24600dzzESO','endsWith','4jaEjRu','test','exec','14996oLrTej','push','some','MODELS_CONFIG','match','lovrabetClient','includes','APP_CODE','250fUPJNW','matchAll','map'];a5_0x12c4=function(){return _0x54fab8;};return a5_0x12c4();}function a5_0x1458(_0x3330a6,_0x36ac2c){_0x3330a6=_0x3330a6-0x198;const _0x12c4f6=a5_0x12c4();let _0x1458af=_0x12c4f6[_0x3330a6];return _0x1458af;}export function isLegacyGeneratedClientScaffold(_0x52558c){const _0x49dbb9=a5_0x1458;if(!_0x52558c[_0x49dbb9(0x1a9)](_0x49dbb9(0x198)))return![];const _0x51be65=stripComments(_0x52558c),_0x3a859b=[..._0x51be65[_0x49dbb9(0x1ac)](/^(?:import[\s\S]*?from\s+|import\s+)["']([^"']+)["'];?$/gm)][_0x49dbb9(0x1ad)](_0x811d13=>_0x811d13[0x1]);if(_0x3a859b[_0x49dbb9(0x1a5)](_0x7bcc1b=>_0x7bcc1b!==_0x49dbb9(0x19c)&&!/^\.\/(?:[\w-]+-)?(?:api|sdk-config)$/[_0x49dbb9(0x1a1)](_0x7bcc1b??'')))return![];const _0xa80fec=[..._0x51be65[_0x49dbb9(0x1ac)](/^(?:export\s+)?const\s+([A-Za-z_$][\w$]*)/gm)]['map'](_0x56ba44=>_0x56ba44[0x1]);return _0xa80fec[_0x49dbb9(0x1af)]===0x1&&_0xa80fec[0x0]===_0x49dbb9(0x1a8);}
@@ -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
+ function a6_0x4205(_0x13a4fd,_0x1bebd8){_0x13a4fd=_0x13a4fd-0x1dc;const _0x5cf08f=a6_0x5cf0();let _0x420519=_0x5cf08f[_0x13a4fd];return _0x420519;}const a6_0x4ea499=a6_0x4205;(function(_0x5e05dc,_0x1b0224){const _0x2b68a0=a6_0x4205,_0x4155d1=_0x5e05dc();while(!![]){try{const _0x3ba0c2=parseInt(_0x2b68a0(0x1f2))/0x1+-parseInt(_0x2b68a0(0x221))/0x2+-parseInt(_0x2b68a0(0x1e0))/0x3*(parseInt(_0x2b68a0(0x218))/0x4)+parseInt(_0x2b68a0(0x222))/0x5+-parseInt(_0x2b68a0(0x1fc))/0x6+parseInt(_0x2b68a0(0x213))/0x7*(parseInt(_0x2b68a0(0x216))/0x8)+parseInt(_0x2b68a0(0x203))/0x9*(parseInt(_0x2b68a0(0x211))/0xa);if(_0x3ba0c2===_0x1b0224)break;else _0x4155d1['push'](_0x4155d1['shift']());}catch(_0x1b8980){_0x4155d1['push'](_0x4155d1['shift']());}}}(a6_0x5cf0,0x7cf92));import{existsSync,mkdirSync,readFileSync,renameSync,unlinkSync,writeFileSync}from'node:fs';import a6_0x5a609a from'node:path';export const MODEL_REGISTRY_FILE_NAME=a6_0x4ea499(0x20b);export const MODEL_RUNTIME_FILE_NAME=a6_0x4ea499(0x201);export const MODEL_REGISTRY_VERSION_MARKER=a6_0x4ea499(0x1ed);const LEGACY_MODEL_REGISTRY_V2_PROTOCOL=a6_0x4ea499(0x1ea),REGISTRY_START=a6_0x4ea499(0x1dd),REGISTRY_END=a6_0x4ea499(0x1e2);function emptyRegistry(_0x1b2012){return{'defaultProfile':_0x1b2012,'profiles':{},'models':[]};}function extractRegistryJson(_0x5d7d3c){const _0x5cecdc=a6_0x4ea499,_0x179771=_0x5d7d3c[_0x5cecdc(0x206)](REGISTRY_START),_0x18d7c8=_0x5d7d3c[_0x5cecdc(0x206)](REGISTRY_END);if(_0x179771<0x0||_0x18d7c8<=_0x179771)return undefined;return _0x5d7d3c[_0x5cecdc(0x207)](_0x179771+REGISTRY_START[_0x5cecdc(0x1f8)],_0x18d7c8)[_0x5cecdc(0x1ee)]()[_0x5cecdc(0x1f3)](/\s+as const satisfies LovrabetModelRegistry;?$/,'')[_0x5cecdc(0x1f3)](/;$/,'');}function migrateLegacyRegistry(_0x3eea2a){const _0xed6bbf=a6_0x4ea499,_0x3f2fd3=emptyRegistry(_0x3eea2a['defaultProfile']);for(const [_0xcc44d4,_0x2ffb68]of Object[_0xed6bbf(0x219)](_0x3eea2a['profiles'])){_0x3f2fd3[_0xed6bbf(0x20f)][_0xcc44d4]={'appCode':_0x2ffb68['appCode'],'runtimeDomain':_0x2ffb68[_0xed6bbf(0x1fe)]},mergeProfileModels(_0x3f2fd3,_0xcc44d4,_0x2ffb68[_0xed6bbf(0x1df)]);}return _0x3f2fd3;}function generatedObjectLiteralToJson(_0x8cc61d){const _0x18e478=a6_0x4ea499;let _0x31bd03='',_0x12b215,_0x2bb9be=![],_0xfc7a21;for(let _0x44c6f7=0x0;_0x44c6f7<_0x8cc61d['length'];_0x44c6f7++){const _0x20fc3e=_0x8cc61d[_0x44c6f7];if(_0x12b215){_0x31bd03+=_0x20fc3e;if(_0x2bb9be)_0x2bb9be=![];else{if(_0x20fc3e==='\x5c')_0x2bb9be=!![];else{if(_0x20fc3e===_0x12b215)_0x12b215=undefined;}}continue;}if(_0x20fc3e==='\x22'){_0x12b215=_0x20fc3e,_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x18e478(0x200);continue;}if(_0x20fc3e===','){let _0x3803e1=_0x44c6f7+0x1;while(/\s/[_0x18e478(0x225)](_0x8cc61d[_0x3803e1]??''))_0x3803e1++;if(_0x8cc61d[_0x3803e1]==='}'||_0x8cc61d[_0x3803e1]===']')continue;_0x31bd03+=_0x20fc3e,_0xfc7a21=',';continue;}if(_0x20fc3e==='{'||_0x20fc3e==='['){_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x20fc3e;continue;}if(_0x20fc3e==='}'||_0x20fc3e===']'){_0x31bd03+=_0x20fc3e,_0xfc7a21=_0x20fc3e;continue;}if((_0xfc7a21==='{'||_0xfc7a21===',')&&/[A-Za-z_$]/[_0x18e478(0x225)](_0x20fc3e)){let _0x4b0227=_0x44c6f7+0x1;while(/[A-Za-z0-9_$]/[_0x18e478(0x225)](_0x8cc61d[_0x4b0227]??''))_0x4b0227++;let _0x5dff11=_0x4b0227;while(/\s/[_0x18e478(0x225)](_0x8cc61d[_0x5dff11]??''))_0x5dff11++;if(_0x8cc61d[_0x5dff11]===':'){_0x31bd03+=JSON[_0x18e478(0x224)](_0x8cc61d[_0x18e478(0x207)](_0x44c6f7,_0x4b0227)),_0x44c6f7=_0x4b0227-0x1,_0xfc7a21=_0x18e478(0x21a);continue;}}_0x31bd03+=_0x20fc3e;if(!/\s/[_0x18e478(0x225)](_0x20fc3e)&&_0x20fc3e!==':')_0xfc7a21='value';}return _0x31bd03;}function parseGeneratedRegistryJson(_0x484465){const _0x12a09c=a6_0x4ea499;try{return JSON[_0x12a09c(0x1e5)](_0x484465);}catch{return JSON[_0x12a09c(0x1e5)](generatedObjectLiteralToJson(_0x484465));}}function normalizeModelEntries(_0x58827f,_0x20d89c){const _0x4fb406=a6_0x4ea499,_0x58d4b8=Object[_0x4fb406(0x21c)](_0x58827f),_0x525738=[];for(const _0x2c0144 of _0x20d89c){if(!_0x2c0144||typeof _0x2c0144!==_0x4fb406(0x1fa)||Array['isArray'](_0x2c0144))return undefined;const _0xe2cca1=_0x2c0144;if(typeof _0xe2cca1[_0x4fb406(0x1f6)]!==_0x4fb406(0x1e6)||typeof _0xe2cca1[_0x4fb406(0x20a)]!==_0x4fb406(0x1e6)||typeof _0xe2cca1['name']!==_0x4fb406(0x1e6))return undefined;let _0x2984ca;if(typeof _0xe2cca1[_0x4fb406(0x1fb)]===_0x4fb406(0x1e6)&&_0xe2cca1[_0x4fb406(0x1f5)]===undefined)_0x2984ca=Object['fromEntries'](_0x58d4b8[_0x4fb406(0x1ec)](_0x25fd58=>[_0x25fd58,_0xe2cca1[_0x4fb406(0x1fb)]]));else{if(_0xe2cca1[_0x4fb406(0x1fb)]===undefined&&_0xe2cca1['datasetCodes']&&typeof _0xe2cca1[_0x4fb406(0x1f5)]===_0x4fb406(0x1fa)&&!Array[_0x4fb406(0x1e4)](_0xe2cca1[_0x4fb406(0x1f5)])&&Object[_0x4fb406(0x205)](_0xe2cca1['datasetCodes'])['every'](_0x247037=>typeof _0x247037==='string'))_0x2984ca={..._0xe2cca1[_0x4fb406(0x1f5)]};else return undefined;}_0x525738[_0x4fb406(0x1ef)]({'alias':_0xe2cca1['alias'],'tableName':_0xe2cca1[_0x4fb406(0x20a)],'name':_0xe2cca1[_0x4fb406(0x226)],'datasetCodes':_0x2984ca});}return _0x525738;}export function parseModelRegistry(_0x2e0a3b){const _0x29474d=a6_0x4ea499,_0x1476cc=extractRegistryJson(_0x2e0a3b);if(!_0x1476cc)return undefined;try{const _0x5ac6e4=parseGeneratedRegistryJson(_0x1476cc);if(typeof _0x5ac6e4['defaultProfile']!==_0x29474d(0x1e6)||!_0x5ac6e4[_0x29474d(0x20f)]||typeof _0x5ac6e4[_0x29474d(0x20f)]!==_0x29474d(0x1fa))return undefined;if(_0x5ac6e4['protocol']===_0x29474d(0x1e7))return migrateLegacyRegistry(_0x5ac6e4);if(!(_0x5ac6e4['protocol']===LEGACY_MODEL_REGISTRY_V2_PROTOCOL||_0x5ac6e4['protocol']===undefined&&_0x2e0a3b[_0x29474d(0x1f4)](MODEL_REGISTRY_VERSION_MARKER))||!Array[_0x29474d(0x1e4)](_0x5ac6e4[_0x29474d(0x1df)]))return undefined;const _0x11d394=_0x5ac6e4[_0x29474d(0x20f)],_0x2bbd17=normalizeModelEntries(_0x11d394,_0x5ac6e4[_0x29474d(0x1df)]);if(!_0x2bbd17)return undefined;return{'defaultProfile':_0x5ac6e4['defaultProfile'],'profiles':_0x11d394,'models':_0x2bbd17};}catch{return undefined;}}function a6_0x5cf0(){const _0x20ae15=['datasetCode','1186908QpVvOl','now','runtimeDomain','get','value','model-runtime.ts','\x22\x20maps\x20to\x20both\x20\x22','684jbqwpQ','NOT-SET','values','indexOf','slice','allowEmptyReplacement','profileName','tableName','models.generated.ts','utf8','appCode','join','profiles','\x22\x20in\x20profile\x20\x22','178970hQbAiS','\x22\x20maps\x20to\x20table\x20\x22','7WLdZnw','set','find','2718088Ffgihl','\x0aexport\x20const\x20LOVRABET_MODEL_REGISTRY\x20=\x0a\x20\x20','6872mplDHl','entries','key','\x22\x20and\x20\x22','keys','Model\x20alias\x20\x22','\x20is\x20not\x20a\x20valid\x20Rabetbase\x20generated\x20file.\x20Move\x20or\x20repair\x20it\x20before\x20pulling\x20models\x20again.','/**\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','.tmp','1555682sszUnF','1463160IKUkoA','\x22\x20in\x20the\x20registry\x20but\x20\x22','stringify','test','name','flatMap','/*\x20rabetbase-model-registry:start\x20*/','outputDir','models','921YRtZgD','Verify\x20the\x20selected\x20app\x20and\x20login,\x20or\x20rerun\x20with\x20--force\x20--yes\x20if\x20the\x20profile\x20is\x20intentionally\x20empty.','/*\x20rabetbase-model-registry:end\x20*/','filter','isArray','parse','string','lovrabet-model-registry/v1','Refusing\x20to\x20replace\x20','defaultProfile','lovrabet-model-registry/v2','Table\x20\x22','map','/*\x20rabetbase-model-registry:v2\x20*/','trim','push','pid','every','22410hdtLop','replace','includes','datasetCodes','alias','split','length','\x22\x20with\x20an\x20empty\x20result.\x20','object'];a6_0x5cf0=function(){return _0x20ae15;};return a6_0x5cf0();}export function readModelRegistry(_0x30a3ba){const _0x26a2c7=a6_0x4ea499;if(!existsSync(_0x30a3ba))return undefined;try{return parseModelRegistry(readFileSync(_0x30a3ba,_0x26a2c7(0x20c)));}catch{return undefined;}}function registrySource(_0x2bab1b){const _0x1310d0=a6_0x4ea499,_0x19d2b2=Object[_0x1310d0(0x21c)](_0x2bab1b[_0x1310d0(0x20f)]),_0x40a4e3=_0x2bab1b[_0x1310d0(0x1df)][_0x1310d0(0x1ec)](_0x2e019b=>{const _0x3a95fe=_0x1310d0,_0x5374dd=_0x19d2b2[_0x3a95fe(0x1ec)](_0x24a7fd=>_0x2e019b[_0x3a95fe(0x1f5)][_0x24a7fd]),_0x238c37=_0x5374dd[0x0],_0x40f422=_0x238c37!==undefined&&_0x5374dd[_0x3a95fe(0x1f1)](_0x2db435=>_0x2db435===_0x238c37),_0x581a75={'alias':_0x2e019b[_0x3a95fe(0x1f6)],'tableName':_0x2e019b['tableName'],'name':_0x2e019b['name']};return _0x40f422?{..._0x581a75,'datasetCode':_0x238c37}:{..._0x581a75,'datasetCodes':_0x2e019b[_0x3a95fe(0x1f5)]};}),_0xdd6687=JSON[_0x1310d0(0x224)]({'defaultProfile':_0x2bab1b[_0x1310d0(0x1e9)],'profiles':_0x2bab1b[_0x1310d0(0x20f)],'models':_0x40a4e3},null,0x2)[_0x1310d0(0x1f7)]('\x0a')[_0x1310d0(0x1ec)](_0x2eef7c=>'\x20\x20'+_0x2eef7c)['join']('\x0a');return _0x1310d0(0x21f)+MODEL_REGISTRY_VERSION_MARKER+_0x1310d0(0x217)+REGISTRY_START+'\x0a'+_0xdd6687+'\x20as\x20const\x20satisfies\x20LovrabetModelRegistry;\x0a'+REGISTRY_END+'\x0a';}function mergeProfileModels(_0x988489,_0x3e6943,_0x7892ae){const _0x13da57=a6_0x4ea499,_0xeb5a52=_0x7892ae[_0x13da57(0x1ec)](_0x98142e=>({..._0x98142e,'alias':_0x98142e['alias']||_0x98142e['tableName']})),_0x2784ed=new Map(),_0x1513cc=new Map();for(const _0xf73642 of _0xeb5a52){const _0xde0754=_0x2784ed[_0x13da57(0x1ff)](_0xf73642[_0x13da57(0x1f6)]);if(_0xde0754&&_0xde0754!==_0xf73642[_0x13da57(0x20a)])throw new Error(_0x13da57(0x21d)+_0xf73642['alias']+_0x13da57(0x202)+_0xde0754+_0x13da57(0x21b)+_0xf73642['tableName']+_0x13da57(0x210)+_0x3e6943+'\x22.');const _0x5be2ac=_0x1513cc[_0x13da57(0x1ff)](_0xf73642[_0x13da57(0x20a)]);if(_0x5be2ac&&_0x5be2ac!==_0xf73642[_0x13da57(0x1f6)])throw new Error('Table\x20\x22'+_0xf73642[_0x13da57(0x20a)]+'\x22\x20maps\x20to\x20both\x20aliases\x20\x22'+_0x5be2ac+_0x13da57(0x21b)+_0xf73642['alias']+'\x22\x20in\x20profile\x20\x22'+_0x3e6943+'\x22.');_0x2784ed[_0x13da57(0x214)](_0xf73642[_0x13da57(0x1f6)],_0xf73642['tableName']),_0x1513cc[_0x13da57(0x214)](_0xf73642[_0x13da57(0x20a)],_0xf73642[_0x13da57(0x1f6)]);const _0x1c204d=_0x988489['models'][_0x13da57(0x215)](_0x29a103=>_0x29a103[_0x13da57(0x1f6)]===_0xf73642[_0x13da57(0x1f6)]);if(_0x1c204d&&_0x1c204d['tableName']!==_0xf73642[_0x13da57(0x20a)])throw new Error(_0x13da57(0x21d)+_0xf73642[_0x13da57(0x1f6)]+_0x13da57(0x212)+_0x1c204d[_0x13da57(0x20a)]+_0x13da57(0x223)+_0xf73642[_0x13da57(0x20a)]+'\x22\x20in\x20profile\x20\x22'+_0x3e6943+'\x22.');const _0x4396e0=_0x988489[_0x13da57(0x1df)][_0x13da57(0x215)](_0x38ec01=>_0x38ec01[_0x13da57(0x20a)]===_0xf73642['tableName']);if(_0x4396e0&&_0x4396e0[_0x13da57(0x1f6)]!==_0xf73642[_0x13da57(0x1f6)])throw new Error(_0x13da57(0x1eb)+_0xf73642['tableName']+'\x22\x20maps\x20to\x20alias\x20\x22'+_0x4396e0[_0x13da57(0x1f6)]+_0x13da57(0x223)+_0xf73642[_0x13da57(0x1f6)]+_0x13da57(0x210)+_0x3e6943+'\x22.');}for(const _0x4e7a58 of _0x988489[_0x13da57(0x1df)]){delete _0x4e7a58['datasetCodes'][_0x3e6943];}for(const _0x19bb28 of _0xeb5a52){let _0x88ebf0=_0x988489['models'][_0x13da57(0x215)](_0x456821=>_0x456821[_0x13da57(0x1f6)]===_0x19bb28[_0x13da57(0x1f6)]);!_0x88ebf0&&(_0x88ebf0={'alias':_0x19bb28[_0x13da57(0x1f6)],'tableName':_0x19bb28[_0x13da57(0x20a)],'name':_0x19bb28[_0x13da57(0x226)],'datasetCodes':{}},_0x988489[_0x13da57(0x1df)][_0x13da57(0x1ef)](_0x88ebf0)),(_0x3e6943===_0x988489[_0x13da57(0x1e9)]||!_0x88ebf0[_0x13da57(0x1f5)][_0x988489[_0x13da57(0x1e9)]])&&(_0x88ebf0[_0x13da57(0x1f6)]=_0x19bb28[_0x13da57(0x1f6)],_0x88ebf0[_0x13da57(0x20a)]=_0x19bb28['tableName'],_0x88ebf0[_0x13da57(0x226)]=_0x19bb28[_0x13da57(0x226)]),_0x88ebf0[_0x13da57(0x1f5)][_0x3e6943]=_0x19bb28['datasetCode'];}_0x988489[_0x13da57(0x1df)]=_0x988489['models'][_0x13da57(0x1e3)](_0x258a5d=>Object['keys'](_0x258a5d['datasetCodes'])[_0x13da57(0x1f8)]>0x0);}function removeUnboundProfiles(_0x5cfd66){const _0x238245=a6_0x4ea499,_0x2c5922=Object[_0x238245(0x219)](_0x5cfd66[_0x238245(0x20f)])[_0x238245(0x1e3)](([,_0xab1a20])=>_0xab1a20[_0x238245(0x20d)]===_0x238245(0x204))[_0x238245(0x1ec)](([_0x285530])=>_0x285530);if(_0x2c5922['length']===0x0)return;for(const _0xb4046a of _0x2c5922){delete _0x5cfd66[_0x238245(0x20f)][_0xb4046a];for(const _0x48f73e of _0x5cfd66['models']){delete _0x48f73e['datasetCodes'][_0xb4046a];}}_0x5cfd66[_0x238245(0x1df)]=_0x5cfd66[_0x238245(0x1df)][_0x238245(0x1e3)](_0x3446a5=>Object[_0x238245(0x21c)](_0x3446a5[_0x238245(0x1f5)])[_0x238245(0x1f8)]>0x0);}export function getProfileModels(_0x4dcb91,_0x3cfed0){const _0x15fb4f=a6_0x4ea499;return _0x4dcb91[_0x15fb4f(0x1df)][_0x15fb4f(0x1dc)](_0x287d45=>{const _0xcbaf00=_0x15fb4f,_0x142ded=_0x287d45['datasetCodes'][_0x3cfed0];return _0x142ded?[{'datasetCode':_0x142ded,'tableName':_0x287d45['tableName'],'name':_0x287d45[_0xcbaf00(0x226)],'alias':_0x287d45['alias']}]:[];});}export function updateModelRegistry(_0x56a148){const _0x18f2e6=a6_0x4ea499,_0x549143=a6_0x5a609a[_0x18f2e6(0x20e)](_0x56a148[_0x18f2e6(0x1de)],MODEL_REGISTRY_FILE_NAME),_0x5c143e=existsSync(_0x549143),_0x16af96=readModelRegistry(_0x549143);if(_0x5c143e&&!_0x16af96)throw new Error(MODEL_REGISTRY_FILE_NAME+_0x18f2e6(0x21e));const _0x1f0d2e=_0x16af96??emptyRegistry(_0x56a148['defaultProfile']);if(_0x56a148['appCode']!==_0x18f2e6(0x204))removeUnboundProfiles(_0x1f0d2e);const _0x226436=_0x16af96?getProfileModels(_0x16af96,_0x56a148[_0x18f2e6(0x209)])[_0x18f2e6(0x1f8)]:0x0;if(_0x226436>0x0&&_0x56a148['models']['length']===0x0&&!_0x56a148[_0x18f2e6(0x208)])throw new Error(_0x18f2e6(0x1e8)+_0x226436+'\x20model(s)\x20in\x20profile\x20\x22'+_0x56a148[_0x18f2e6(0x209)]+_0x18f2e6(0x1f9)+_0x18f2e6(0x1e1));_0x1f0d2e['defaultProfile']=_0x56a148[_0x18f2e6(0x1e9)],_0x1f0d2e['profiles'][_0x56a148[_0x18f2e6(0x209)]]={'appCode':_0x56a148[_0x18f2e6(0x20d)],'runtimeDomain':_0x56a148['runtimeDomain']},mergeProfileModels(_0x1f0d2e,_0x56a148[_0x18f2e6(0x209)],_0x56a148[_0x18f2e6(0x1df)]),mkdirSync(_0x56a148['outputDir'],{'recursive':!![]});const _0x207dfa=_0x549143+'.'+process[_0x18f2e6(0x1f0)]+'.'+Date[_0x18f2e6(0x1fd)]()+_0x18f2e6(0x220);try{writeFileSync(_0x207dfa,registrySource(_0x1f0d2e),{'encoding':_0x18f2e6(0x20c),'mode':0x1a4}),renameSync(_0x207dfa,_0x549143);}catch(_0x445d50){try{unlinkSync(_0x207dfa);}catch{}throw _0x445d50;}return{'path':_0x549143,'registry':_0x1f0d2e,'existed':_0x5c143e};}
@@ -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
+ function a7_0x3669(){const _0xcd3150=['profile-api.ts.tpl','68186MEQmon','dirname','replace','15mrOodE','model-runtime.ts.tpl','all','36sdiXtE','cwd','525063QQNGGB','typescript','374555SCgabn','utf8','2540GCKCFv','startsWith','join','8ePYrUZ','{ProjectRoutingImport}','150552OHeTiD','format','2519KuwYgf','673284dhfEZl','profile-client.ts.tpl','resolve','626128xTdQYe'];a7_0x3669=function(){return _0xcd3150;};return a7_0x3669();}const a7_0x1bd580=a7_0x28a1;(function(_0x13f677,_0x118ff2){const _0x30211e=a7_0x28a1,_0x26f1f4=_0x13f677();while(!![]){try{const _0x12d134=-parseInt(_0x30211e(0x183))/0x1+parseInt(_0x30211e(0x18b))/0x2*(parseInt(_0x30211e(0x18e))/0x3)+parseInt(_0x30211e(0x181))/0x4*(-parseInt(_0x30211e(0x17c))/0x5)+parseInt(_0x30211e(0x186))/0x6+-parseInt(_0x30211e(0x17a))/0x7+-parseInt(_0x30211e(0x189))/0x8*(-parseInt(_0x30211e(0x178))/0x9)+-parseInt(_0x30211e(0x17e))/0xa*(parseInt(_0x30211e(0x185))/0xb);if(_0x12d134===_0x118ff2)break;else _0x26f1f4['push'](_0x26f1f4['shift']());}catch(_0x27e367){_0x26f1f4['push'](_0x26f1f4['shift']());}}}(a7_0x3669,0x27992));import{readFileSync}from'node:fs';import a7_0x72364d from'node:path';import{fileURLToPath}from'node:url';import a7_0xe22286 from'prettier';import{PROJECT_DOMAIN_ROUTING_FILE_NAME}from'../config/project-domain-routing.js';function a7_0x28a1(_0x49b482,_0x5593b0){_0x49b482=_0x49b482-0x178;const _0x36699a=a7_0x3669();let _0x28a18c=_0x36699a[_0x49b482];return _0x28a18c;}function relativeImport(_0x1c3fd3,_0x3893df){const _0x11629d=a7_0x28a1;let _0x58685a=a7_0x72364d['relative'](_0x1c3fd3,_0x3893df)[_0x11629d(0x18d)](/\\/g,'/');if(!_0x58685a[_0x11629d(0x17f)]('.'))_0x58685a='./'+_0x58685a;return _0x58685a;}export async function renderModelRegistryScaffold(_0x510980,_0x52540a=process[a7_0x1bd580(0x179)]()){const _0x12ceac=a7_0x1bd580,_0x3b3fd=fileURLToPath(import.meta.url),_0x4e2c28=a7_0x72364d[_0x12ceac(0x188)](a7_0x72364d[_0x12ceac(0x18c)](_0x3b3fd),'../../templates/generate-api'),_0x5bd424=relativeImport(a7_0x72364d[_0x12ceac(0x188)](_0x510980),a7_0x72364d['resolve'](_0x52540a,PROJECT_DOMAIN_ROUTING_FILE_NAME)),_0x2ca062=readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x18a)),_0x12ceac(0x17d))[_0x12ceac(0x18d)](_0x12ceac(0x182),_0x5bd424),[_0x260baf,_0x283674,_0x41ca6d]=await Promise[_0x12ceac(0x190)]([a7_0xe22286[_0x12ceac(0x184)](_0x2ca062,{'parser':_0x12ceac(0x17b)}),a7_0xe22286[_0x12ceac(0x184)](readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x187)),_0x12ceac(0x17d)),{'parser':_0x12ceac(0x17b)}),a7_0xe22286[_0x12ceac(0x184)](readFileSync(a7_0x72364d[_0x12ceac(0x180)](_0x4e2c28,_0x12ceac(0x18f)),'utf8'),{'parser':_0x12ceac(0x17b)})]);return{'api':_0x260baf,'client':_0x283674,'modelRuntime':_0x41ca6d};}
@@ -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(_0x16173c,_0xe1dbb5){const _0x4883b8=a8_0x2cac,_0x5a215e=_0x16173c();while(!![]){try{const _0xf46843=parseInt(_0x4883b8(0x83))/0x1+parseInt(_0x4883b8(0x8f))/0x2*(-parseInt(_0x4883b8(0x76))/0x3)+parseInt(_0x4883b8(0x81))/0x4+-parseInt(_0x4883b8(0x86))/0x5*(-parseInt(_0x4883b8(0x90))/0x6)+parseInt(_0x4883b8(0x80))/0x7+-parseInt(_0x4883b8(0x82))/0x8+-parseInt(_0x4883b8(0x92))/0x9;if(_0xf46843===_0xe1dbb5)break;else _0x5a215e['push'](_0x5a215e['shift']());}catch(_0x143b13){_0x5a215e['push'](_0x5a215e['shift']());}}}(a8_0x1020,0xda361));import{existsSync}from'node:fs';import a8_0x5b800d from'node:path';function a8_0x1020(){const _0x182749=['map','find','appCode','resolve','string','\x22\x20is\x20missing\x20from\x20','Model\x20profile\x20\x22','3165904gvsHkY','3151800MjfNpd','6627472JROJbr','206861zCtuCX','defaultProfile','apps','2845190trVwuF','Select\x20the\x20target\x20explicitly\x20with\x20--app\x20<profile>.','apiDir','object','-api.ts','\x20api\x20pull\x20--app\x20','defaultApp','\x22\x20belongs\x20to\x20multiple\x20model\x20profiles:\x20','filter','61750HEzwfU','18RvSITd','entries','7330230DlgOLY','Run\x20`','`\x20first.','60cwfPnR','length','api.ts'];a8_0x1020=function(){return _0x182749;};return a8_0x1020();}import{readRawConfig}from'../context/config-loader.js';import{MODEL_REGISTRY_FILE_NAME,readModelRegistry}from'../api/model-registry-file.js';import{CliErrors}from'../errors.js';function a8_0x2cac(_0x5e3698,_0x5e4507){_0x5e3698=_0x5e3698-0x74;const _0x10201f=a8_0x1020();let _0x2cacbc=_0x10201f[_0x5e3698];return _0x2cacbc;}import{CLI_BIN_NAME}from'../constant/cli.js';export function resolveApiModelSource(_0x136d12,_0x4ba833,_0x518076){const _0x47ba16=a8_0x2cac,_0x31c52d=a8_0x5b800d['resolve'](process['cwd'](),_0x136d12),_0x221ab3=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,_0x47ba16(0x78)),_0xc88d5c=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,MODEL_REGISTRY_FILE_NAME),_0xbd293e=readModelRegistry(_0xc88d5c);if(_0xbd293e){const _0xb96b1e=_0x4ba833?Object[_0x47ba16(0x91)](_0xbd293e['profiles'])[_0x47ba16(0x8e)](([,_0x4ac82b])=>_0x4ac82b[_0x47ba16(0x7b)]===_0x4ba833):[];if(_0x518076){if(_0xbd293e['profiles'][_0x518076])return{'filePath':_0xc88d5c,'profileName':_0x518076};if(_0xb96b1e['length']>0x0)throw CliErrors['validation'](_0x47ba16(0x7f)+_0x518076+_0x47ba16(0x7e)+MODEL_REGISTRY_FILE_NAME+'.',_0x47ba16(0x74)+CLI_BIN_NAME+_0x47ba16(0x8b)+_0x518076+_0x47ba16(0x75));}else{if(_0xb96b1e[_0x47ba16(0x77)]===0x1)return{'filePath':_0xc88d5c,'profileName':_0xb96b1e[0x0][0x0]};if(_0xb96b1e[_0x47ba16(0x77)]>0x1)throw new Error('AppCode\x20\x22'+_0x4ba833+_0x47ba16(0x8d)+_0xb96b1e[_0x47ba16(0x79)](([_0x5bcc2f])=>_0x5bcc2f)['join'](',\x20')+'.\x20'+_0x47ba16(0x87));if(_0xbd293e['profiles'][_0xbd293e[_0x47ba16(0x84)]]&&!_0x4ba833)return{'filePath':_0xc88d5c,'profileName':_0xbd293e['defaultProfile']};}}if(!_0x4ba833&&!_0x518076)return{'filePath':_0x221ab3};const _0x1fe0e7=readRawConfig(),_0x23ba21=_0x1fe0e7[_0x47ba16(0x85)]&&typeof _0x1fe0e7[_0x47ba16(0x85)]===_0x47ba16(0x89)?_0x1fe0e7['apps']:{},_0x2da9f4=_0x518076&&_0x23ba21[_0x518076]?[_0x518076,_0x23ba21[_0x518076]]:Object['entries'](_0x23ba21)[_0x47ba16(0x7a)](([,_0x2a7479])=>_0x2a7479?.['appcode']===_0x4ba833);if(!_0x2da9f4)return{'filePath':_0x221ab3};const [_0x43e9bd,_0xb293bb]=_0x2da9f4,_0x92fe0a=typeof _0x1fe0e7[_0x47ba16(0x8c)]===_0x47ba16(0x7d)?_0x1fe0e7['defaultApp']:undefined;if(_0xb293bb?.[_0x47ba16(0x88)])return{'filePath':_0x221ab3};if(_0x92fe0a&&_0x43e9bd!==_0x92fe0a){const _0x5f409f=a8_0x5b800d[_0x47ba16(0x7c)](_0x31c52d,_0x43e9bd+_0x47ba16(0x8a));if(existsSync(_0x5f409f))return{'filePath':_0x5f409f};}return{'filePath':_0x221ab3};}
@@ -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(_0x34b771,_0x86c528){const _0x58ce70=a9_0x5197,_0x58a7d1=_0x34b771();while(!![]){try{const _0x54bf1f=parseInt(_0x58ce70(0x1d6))/0x1*(parseInt(_0x58ce70(0x1c2))/0x2)+parseInt(_0x58ce70(0x1d2))/0x3*(-parseInt(_0x58ce70(0x1c6))/0x4)+parseInt(_0x58ce70(0x1cb))/0x5*(-parseInt(_0x58ce70(0x1d0))/0x6)+parseInt(_0x58ce70(0x1c4))/0x7+parseInt(_0x58ce70(0x1c3))/0x8*(-parseInt(_0x58ce70(0x1c5))/0x9)+-parseInt(_0x58ce70(0x1cf))/0xa+parseInt(_0x58ce70(0x1ce))/0xb;if(_0x54bf1f===_0x86c528)break;else _0x58a7d1['push'](_0x58a7d1['shift']());}catch(_0x1a7f0b){_0x58a7d1['push'](_0x58a7d1['shift']());}}}(a9_0x14e7,0x4bbb0));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';function a9_0x5197(_0x4e9b3a,_0x2882fa){_0x4e9b3a=_0x4e9b3a-0x1c2;const _0x14e7d9=a9_0x14e7();let _0x519731=_0x14e7d9[_0x4e9b3a];return _0x519731;}function a9_0x14e7(){const _0x2e091c=['√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.','autoYes','11463122LvYBRG','4109600NFHWIq','126PFhOTO','No\x20valid\x20session.\x20Login\x20now?','9sKACum','stop','nonInteractive','!\x20Login\x20failed.','2rdYYnG','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.','log','113822JOkudP','2185528WXimgy','2833852DFTAYN','18UFiKWL','13668yGhQGN','start','\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.','Run\x20`','*\x20Login\x20successful!','67375AfXnYv'];a9_0x14e7=function(){return _0x2e091c;};return a9_0x14e7();}import{confirm}from'@inquirer/prompts';import a9_0x2a47fd from'ora';export async function runAuthServer(_0x83f78e){const _0x28dc59=a9_0x5197,_0x385021=await getIsSessionValid();if(_0x385021){console[_0x28dc59(0x1d8)](_0x28dc59(0x1cc));return;}if(_0x83f78e?.[_0x28dc59(0x1d4)]&&!_0x83f78e[_0x28dc59(0x1cd)])throw CliErrors['validation'](_0x28dc59(0x1d7),_0x28dc59(0x1c9)+CLI_BIN_NAME+_0x28dc59(0x1c8));const _0x39d2ce=_0x83f78e?.[_0x28dc59(0x1cd)]?!![]:await confirm({'message':_0x28dc59(0x1d1),'default':!![]});if(!_0x39d2ce)return;if(_0x83f78e?.[_0x28dc59(0x1d4)]){console[_0x28dc59(0x1d8)]('Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.');const _0x298742=await authServer({'silent':![],'openBrowser':![]});_0x298742?console[_0x28dc59(0x1d8)](_0x28dc59(0x1ca)):console[_0x28dc59(0x1d8)](_0x28dc59(0x1d5));return;}const _0x5e3a4e=a9_0x2a47fd('Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.')[_0x28dc59(0x1c7)](),_0x54ef6=await authServer({'silent':!![],'openBrowser':!![]});_0x5e3a4e[_0x28dc59(0x1d3)](),_0x54ef6?console['log'](_0x28dc59(0x1ca)):console[_0x28dc59(0x1d8)](_0x28dc59(0x1d5));}
@@ -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_0x42a31b=a10_0x359a;(function(_0x4508c5,_0x93fde2){const _0x1a871b=a10_0x359a,_0x192991=_0x4508c5();while(!![]){try{const _0x2c2955=-parseInt(_0x1a871b(0x196))/0x1*(-parseInt(_0x1a871b(0x193))/0x2)+parseInt(_0x1a871b(0x18b))/0x3*(parseInt(_0x1a871b(0x192))/0x4)+parseInt(_0x1a871b(0x187))/0x5*(-parseInt(_0x1a871b(0x1a6))/0x6)+-parseInt(_0x1a871b(0x191))/0x7*(-parseInt(_0x1a871b(0x198))/0x8)+parseInt(_0x1a871b(0x1ab))/0x9+parseInt(_0x1a871b(0x197))/0xa*(parseInt(_0x1a871b(0x1a4))/0xb)+-parseInt(_0x1a871b(0x1b5))/0xc;if(_0x2c2955===_0x93fde2)break;else _0x192991['push'](_0x192991['shift']());}catch(_0x3b1115){_0x192991['push'](_0x192991['shift']());}}}(a10_0x1112,0xa8a5e));import{writeFileSync}from'node:fs';function a10_0x359a(_0x146d7e,_0x53b925){_0x146d7e=_0x146d7e-0x186;const _0x1112cb=a10_0x1112();let _0x359a5c=_0x1112cb[_0x146d7e];return _0x359a5c;}import a10_0x22f00e from'node:http';import a10_0x1c5301 from'node:https';function a10_0x1112(){const _0x2cd66b=['44LSkMbO','utf-8','42ZgBrta','timeoutMs','🔐\x20Starting\x20login\x20service...','text/html;\x20charset=utf-8','end','3161988PgrGcw','!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.','/sign-in?redirect=','/api/auth/get-session','cookie','port','headers','xdg-open\x20\x22','catch','silent','15154020GXFFns','isAuth','⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically','💡\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','Auth\x20server\x20error:','822215BYoqas','json','address','then','225LiLOMP','/cert/lovrabet-dev.json','origin','📍\x20Login\x20URL:','win32','cmd\x20/c\x20start\x20\x22\x22\x20\x22','154kytflN','45268ccvEGN','7042VtIAyg','log','writeHead','205YRUEXY','2247130KLLRJd','103256GsmBaF','darwin','local','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','listen','close','openBrowser','createServer','certificateUrl','🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','lovrabet','error'];a10_0x1112=function(){return _0x2cd66b;};return a10_0x1112();}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(_0x3576fa){const _0x2db9de=a10_0x359a;if(!_0x3576fa)return getProjectDomainRoutingManifest()[_0x2db9de(0x19a)];const _0x51adf9=getOfficialRoutingProfile(_0x3576fa),_0x32f905=getOfficialRoutingCdn(_0x3576fa);return{'origin':_0x51adf9[_0x2db9de(0x19a)][_0x2db9de(0x18d)],'certificateUrl':_0x32f905[_0x2db9de(0x1a2)]+_0x2db9de(0x18c)};}function withPort(_0x4c6011,_0x46dd57){const _0x321a0d=a10_0x359a,_0x5ee667=new URL(_0x4c6011);return _0x5ee667[_0x321a0d(0x1b0)]=String(_0x46dd57),_0x5ee667[_0x321a0d(0x18d)];}export async function authServer(_0x3d4007){const _0x9d2130=a10_0x359a,_0x45c274=_0x3d4007?.[_0x9d2130(0x1b4)]||![],_0x6a8b2b=_0x3d4007?.[_0x9d2130(0x19e)]??!![],_0x2ec87c=_0x3d4007?.[_0x9d2130(0x1a7)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x22a67e=resolveAuthCallbackRouting(),_0x5bdd43=_0x22a67e['certificateUrl']?await(await fetch(_0x22a67e[_0x9d2130(0x1a0)]))[_0x9d2130(0x188)]():undefined;return new Promise(async(_0x13c622,_0x903771)=>{const _0x410e40=_0x9d2130;let _0x3f4589=0x0,_0xc5238c=![],_0x5bdf4a;const _0x118af4=async(_0x5b94f9,_0x5647fe)=>{const _0x4264bf=a10_0x359a,_0x14fa0d=getUserDomain(),_0x493d88=_0x5b94f9[_0x4264bf(0x1b1)][_0x4264bf(0x1af)]||'',_0x1a3149=await fetch(_0x14fa0d+_0x4264bf(0x1ae),{'headers':{'cookie':_0x493d88}})['then'](_0xf4ecd0=>_0xf4ecd0[_0x4264bf(0x188)]()),_0x5a8e56=_0x1a3149&&_0x1a3149['session']&&_0x1a3149['user'];if(_0x5a8e56){writeFileSync(cookieFile,_0x493d88,_0x4264bf(0x1a5));const _0x3ad754=buildLoginSuccessHtml();_0x5647fe['writeHead'](0xc8,{'Content-Type':_0x4264bf(0x1a9)}),_0x5647fe['end'](_0x3ad754),_0x41180a(!![]);}else{const _0x56debd=encodeURIComponent(withPort(_0x22a67e[_0x4264bf(0x18d)],_0x3f4589));_0x5647fe[_0x4264bf(0x195)](0x12e,{'location':_0x14fa0d+_0x4264bf(0x1ad)+_0x56debd}),_0x5647fe[_0x4264bf(0x1aa)]();return;}},_0x483ae2=_0x5bdd43?a10_0x1c5301[_0x410e40(0x19f)](_0x5bdd43,_0x118af4):a10_0x22f00e[_0x410e40(0x19f)](_0x118af4);function _0x41180a(_0x1b1f90){const _0x24566e=_0x410e40;if(_0xc5238c)return;_0xc5238c=!![],_0x5bdf4a&&clearTimeout(_0x5bdf4a),_0x483ae2[_0x24566e(0x19d)](),_0x13c622(_0x1b1f90);}_0x483ae2[_0x410e40(0x19c)](0x0,'127.0.0.1',()=>{const _0x5cdb3e=_0x410e40,_0x5e7338=_0x483ae2[_0x5cdb3e(0x189)]();_0x3f4589=typeof _0x5e7338==='object'&&_0x5e7338?_0x5e7338[_0x5cdb3e(0x1b0)]:Number(_0x5e7338);const _0x229571=withPort(_0x22a67e[_0x5cdb3e(0x18d)],_0x3f4589);_0x5bdf4a=setTimeout(()=>{const _0x26b44e=_0x5cdb3e;!_0x45c274&&console[_0x26b44e(0x194)](_0x26b44e(0x1ac)),_0x41180a(![]);},_0x2ec87c);!_0x45c274&&(console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1a8)),console['log'](_0x5cdb3e(0x18e),_0x229571),_0x6a8b2b?(console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1a1)),console[_0x5cdb3e(0x194)](''),console[_0x5cdb3e(0x194)]('💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.')):console[_0x5cdb3e(0x194)](_0x5cdb3e(0x1b8)),console[_0x5cdb3e(0x194)](''));if(!_0x6a8b2b)return;openInBrowser(_0x229571)[_0x5cdb3e(0x18a)](_0x59b4e9=>{const _0x1f2440=_0x5cdb3e;!_0x45c274&&(_0x59b4e9?console[_0x1f2440(0x194)](_0x1f2440(0x19b)):(console[_0x1f2440(0x194)](_0x1f2440(0x1b7)),console[_0x1f2440(0x194)](_0x1f2440(0x1b9),_0x229571)),console['log'](''));})[_0x5cdb3e(0x1b3)](()=>{const _0x2196f6=_0x5cdb3e;!_0x45c274&&(console[_0x2196f6(0x194)]('⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console[_0x2196f6(0x194)]('🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:',_0x229571),console[_0x2196f6(0x194)](''));});}),_0x483ae2['on'](_0x410e40(0x1a3),_0x4bfab7=>{const _0x307582=_0x410e40;if(_0xc5238c)return;_0xc5238c=!![],_0x5bdf4a&&clearTimeout(_0x5bdf4a),!_0x45c274&&console['error'](_0x307582(0x186),_0x4bfab7),_0x483ae2[_0x307582(0x19d)](),_0x903771(_0x4bfab7);});});}function openInBrowser(_0x428be9){return new Promise(_0x242822=>{const _0x4cf975=a10_0x359a,_0x5d781f=process['platform'];let _0x70ab2c;if(_0x5d781f===_0x4cf975(0x18f))_0x70ab2c=_0x4cf975(0x190)+_0x428be9+'\x22';else _0x5d781f===_0x4cf975(0x199)?_0x70ab2c='open\x20\x22'+_0x428be9+'\x22':_0x70ab2c=_0x4cf975(0x1b2)+_0x428be9+'\x22';exec(_0x70ab2c,_0x33cd07=>{_0x33cd07?_0x242822(![]):_0x242822(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a10_0x42a31b(0x194)](a10_0x42a31b(0x1b6),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_0x4b9ea8=a11_0x4669;function a11_0x4669(_0x2b0d9b,_0x13f637){_0x2b0d9b=_0x2b0d9b-0x173;const _0x33139d=a11_0x3313();let _0x4669c2=_0x33139d[_0x2b0d9b];return _0x4669c2;}(function(_0x5b418d,_0x3441e4){const _0x568d0c=a11_0x4669,_0x25a07f=_0x5b418d();while(!![]){try{const _0x225649=-parseInt(_0x568d0c(0x177))/0x1*(parseInt(_0x568d0c(0x174))/0x2)+parseInt(_0x568d0c(0x17e))/0x3+parseInt(_0x568d0c(0x175))/0x4*(parseInt(_0x568d0c(0x17b))/0x5)+-parseInt(_0x568d0c(0x17c))/0x6+parseInt(_0x568d0c(0x176))/0x7*(parseInt(_0x568d0c(0x178))/0x8)+parseInt(_0x568d0c(0x17a))/0x9+-parseInt(_0x568d0c(0x17d))/0xa;if(_0x225649===_0x3441e4)break;else _0x25a07f['push'](_0x25a07f['shift']());}catch(_0x2d7de3){_0x25a07f['push'](_0x25a07f['shift']());}}}(a11_0x3313,0x8fb18));import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a11_0x4b9ea8(0x179));function a11_0x3313(){const _0x2c35bc=['2123538VtNkPy','cookie','1707944FlvEcF','12WUvbYl','35zopflz','1euWwgj','1449464iWoeVG','.lovrabet','4290093ugyQFP','734755JwMsIo','4597026TikuFS','3225800xOMBtw'];a11_0x3313=function(){return _0x2c35bc;};return a11_0x3313();}export const cookieFile=join(configDir,a11_0x4b9ea8(0x173));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(_0x47191f,_0x1f8eea){var _0x10d231=a12_0x5076,_0x32d34a=_0x47191f();while(!![]){try{var _0x4a8101=-parseInt(_0x10d231(0x1ec))/0x1+parseInt(_0x10d231(0x1e9))/0x2+parseInt(_0x10d231(0x1e8))/0x3*(parseInt(_0x10d231(0x1e3))/0x4)+-parseInt(_0x10d231(0x1ee))/0x5+parseInt(_0x10d231(0x1ed))/0x6*(-parseInt(_0x10d231(0x1eb))/0x7)+parseInt(_0x10d231(0x1e5))/0x8*(parseInt(_0x10d231(0x1ea))/0x9)+-parseInt(_0x10d231(0x1e6))/0xa*(parseInt(_0x10d231(0x1e7))/0xb);if(_0x4a8101===_0x1f8eea)break;else _0x32d34a['push'](_0x32d34a['shift']());}catch(_0x5215f6){_0x32d34a['push'](_0x32d34a['shift']());}}}(a12_0x1cf1,0x42ff6));import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';function a12_0x5076(_0x1b2ac3,_0xbff144){_0x1b2ac3=_0x1b2ac3-0x1e3;var _0x1cf121=a12_0x1cf1();var _0x5076bc=_0x1cf121[_0x1b2ac3];return _0x5076bc;}export function getCookie(){var _0x5c85e7=a12_0x5076;try{return readFileSync(cookieFile,_0x5c85e7(0x1e4));}catch{}return'';}function a12_0x1cf1(){var _0x308fd5=['873116qDXane','36akZAcU','14mcmhJF','484332NTGdFf','501648vzDjzJ','1172230gFhPUt','15640YPhbfz','utf-8','1057328QceIVm','902360WQgiNV','11UsDiUL','219irRewC'];a12_0x1cf1=function(){return _0x308fd5;};return a12_0x1cf1();}
@@ -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 a13_0x9f41(){const _0x1bb5a3=['27350yoNIlI','65lDjlal','11148TlPXlj','/api/auth/get-session','user','session','4124600IdJFyH','utf-8','1254TvAKtZ','15427200PsHISi','13306086lsbuYN','20nbkZyd','4217433vllmeh','7swlfDk','1011lHdZzf','18770LijtQp'];a13_0x9f41=function(){return _0x1bb5a3;};return a13_0x9f41();}(function(_0x4984e0,_0x5c7973){const _0x321126=a13_0x24f8,_0x1c8f66=_0x4984e0();while(!![]){try{const _0x526402=-parseInt(_0x321126(0xe4))/0x1*(parseInt(_0x321126(0xe3))/0x2)+parseInt(_0x321126(0xe1))/0x3*(parseInt(_0x321126(0xe5))/0x4)+-parseInt(_0x321126(0xe2))/0x5*(-parseInt(_0x321126(0xeb))/0x6)+-parseInt(_0x321126(0xf0))/0x7*(parseInt(_0x321126(0xe9))/0x8)+-parseInt(_0x321126(0xed))/0x9+-parseInt(_0x321126(0xee))/0xa*(-parseInt(_0x321126(0xef))/0xb)+parseInt(_0x321126(0xec))/0xc;if(_0x526402===_0x5c7973)break;else _0x1c8f66['push'](_0x1c8f66['shift']());}catch(_0x3ea1ca){_0x1c8f66['push'](_0x1c8f66['shift']());}}}(a13_0x9f41,0xda17b));function a13_0x24f8(_0x174dbb,_0x2ed50d){_0x174dbb=_0x174dbb-0xe1;const _0x9f412b=a13_0x9f41();let _0x24f883=_0x9f412b[_0x174dbb];return _0x24f883;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getSessionUserInfo(){const _0x3f55de=a13_0x24f8;try{if(!existsSync(cookieFile))return null;const _0x34f73e=readFileSync(cookieFile,_0x3f55de(0xea)),_0x490d32=await fetch(getUserDomain()+_0x3f55de(0xe6),{'headers':{'cookie':_0x34f73e}});if(!_0x490d32['ok'])return null;const _0x485e9b=await _0x490d32['json']();if(!_0x485e9b[_0x3f55de(0xe8)]||!_0x485e9b[_0x3f55de(0xe7)])return null;return _0x485e9b;}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_0xd63a(){const _0x4a4cb4=['57uCCaDM','13joqdeH','json','/api/auth/get-session','3nhYXcH','7sxuyhU','user','12192TAKxiU','3801919UfDtYe','10wElhzX','session','6gBUptW','1114328cwrYVF','utf-8','294648LEFwel','137435gJgYai','10071156BAQmxn','3065571aoKYAk'];a14_0xd63a=function(){return _0x4a4cb4;};return a14_0xd63a();}(function(_0x116e52,_0x3ac2d5){const _0x116f5d=a14_0xa34d,_0x756f10=_0x116e52();while(!![]){try{const _0x166c21=parseInt(_0x116f5d(0x1b8))/0x1*(-parseInt(_0x116f5d(0x1ad))/0x2)+parseInt(_0x116f5d(0x1aa))/0x3*(-parseInt(_0x116f5d(0x1b2))/0x4)+parseInt(_0x116f5d(0x1b5))/0x5*(parseInt(_0x116f5d(0x1b1))/0x6)+parseInt(_0x116f5d(0x1ab))/0x7*(-parseInt(_0x116f5d(0x1b4))/0x8)+-parseInt(_0x116f5d(0x1b7))/0x9*(parseInt(_0x116f5d(0x1af))/0xa)+parseInt(_0x116f5d(0x1ae))/0xb+-parseInt(_0x116f5d(0x1b6))/0xc*(-parseInt(_0x116f5d(0x1b9))/0xd);if(_0x166c21===_0x3ac2d5)break;else _0x756f10['push'](_0x756f10['shift']());}catch(_0x2c8e54){_0x756f10['push'](_0x756f10['shift']());}}}(a14_0xd63a,0x32feb));function a14_0xa34d(_0x53b86b,_0x33ebe2){_0x53b86b=_0x53b86b-0x1a8;const _0xd63aaa=a14_0xd63a();let _0xa34d71=_0xd63aaa[_0x53b86b];return _0xa34d71;}import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';export async function getIsSessionValid(){const _0x184bcc=a14_0xa34d;try{if(!existsSync(cookieFile))return![];const _0x7ffe33=readFileSync(cookieFile,_0x184bcc(0x1b3)),_0x3af185=await fetch(getUserDomain()+_0x184bcc(0x1a9),{'headers':{'cookie':_0x7ffe33}})['then'](_0x4b66f2=>_0x4b66f2[_0x184bcc(0x1a8)]());return _0x3af185&&_0x3af185[_0x184bcc(0x1b0)]&&_0x3af185[_0x184bcc(0x1ac)];}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(_0x4159f0,_0x264a8d){const _0x26bc38=a15_0x52e0,_0x25f20f=_0x4159f0();while(!![]){try{const _0x2f2e7c=-parseInt(_0x26bc38(0x12a))/0x1+-parseInt(_0x26bc38(0x12e))/0x2+parseInt(_0x26bc38(0x12c))/0x3+-parseInt(_0x26bc38(0x126))/0x4*(parseInt(_0x26bc38(0x12d))/0x5)+-parseInt(_0x26bc38(0x127))/0x6+parseInt(_0x26bc38(0x128))/0x7+parseInt(_0x26bc38(0x129))/0x8;if(_0x2f2e7c===_0x264a8d)break;else _0x25f20f['push'](_0x25f20f['shift']());}catch(_0x161f52){_0x25f20f['push'](_0x25f20f['shift']());}}}(a15_0x10dd,0x712f3));function a15_0x52e0(_0x4054d9,_0x3a0639){_0x4054d9=_0x4054d9-0x126;const _0x10ddf2=a15_0x10dd();let _0x52e044=_0x10ddf2[_0x4054d9];return _0x52e044;}function a15_0x10dd(){const _0x583581=['4147668zKsitF','973518cEJQHJ','14340704zdSdtD','117327CbxPnm','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','2442246SBIphp','40CmWbPL','1269888dCBKrY','<!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>','</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>','419296bbgZwQ'];a15_0x10dd=function(){return _0x583581;};return a15_0x10dd();}export function buildLoginSuccessHtml(){const _0x1f65e4=a15_0x52e0,_0x4ce269=_0x1f65e4(0x12b);return _0x1f65e4(0x12f)+_0x4ce269+_0x1f65e4(0x130);}
@@ -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(_0x4b9342,_0x1eeffb){var _0x1ac6ef=a16_0x5f5c,_0x432571=_0x4b9342();while(!![]){try{var _0x4b9d20=parseInt(_0x1ac6ef(0xd2))/0x1*(parseInt(_0x1ac6ef(0xde))/0x2)+parseInt(_0x1ac6ef(0xd5))/0x3+parseInt(_0x1ac6ef(0xdb))/0x4+parseInt(_0x1ac6ef(0xdd))/0x5+parseInt(_0x1ac6ef(0xd7))/0x6*(-parseInt(_0x1ac6ef(0xd4))/0x7)+parseInt(_0x1ac6ef(0xd6))/0x8*(-parseInt(_0x1ac6ef(0xdc))/0x9)+-parseInt(_0x1ac6ef(0xd9))/0xa;if(_0x4b9d20===_0x1eeffb)break;else _0x432571['push'](_0x432571['shift']());}catch(_0x21ee36){_0x432571['push'](_0x432571['shift']());}}}(a16_0x4020,0x24077));import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../auth/constant.js';export function logout(){var _0x280501=a16_0x5f5c;existsSync(cookieFile)?(unlinkSync(cookieFile),console['log'](_0x280501(0xd3))):console[_0x280501(0xda)](_0x280501(0xd8));}function a16_0x5f5c(_0x54e311,_0x2d6ee8){_0x54e311=_0x54e311-0xd2;var _0x402019=a16_0x4020();var _0x5f5cfc=_0x402019[_0x54e311];return _0x5f5cfc;}function a16_0x4020(){var _0x28d275=['444648RnQcAX','32ORUbuA','216qbqsBq','!\x20Not\x20logged\x20in','2803500RpeBZq','log','694652hcgyqP','524565dSmYLl','1435125MWBDSM','14658bfzzLA','29ckZINT','✓\x20Logged\x20out','31185eWxirm'];a16_0x4020=function(){return _0x28d275;};return a16_0x4020();}
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_0x2e04(){const _0x243f8d=['30772emWsRz','48744pvYiDn','900197wxKKpp','897666yWmasq','175iFIihk','79965qVlVfp','boolean','3066648pcPpuF','517622uelAiL','1570iJsvAC','217DAGfKa'];a17_0x2e04=function(){return _0x243f8d;};return a17_0x2e04();}function a17_0x158e(_0x3aea92,_0x49610d){_0x3aea92=_0x3aea92-0x196;const _0x2e04fb=a17_0x2e04();let _0x158ee5=_0x2e04fb[_0x3aea92];return _0x158ee5;}const a17_0x1bfc76=a17_0x158e;(function(_0x475013,_0x5eb537){const _0x6345f7=a17_0x158e,_0x36e403=_0x475013();while(!![]){try{const _0x25963f=parseInt(_0x6345f7(0x196))/0x1+parseInt(_0x6345f7(0x19c))/0x2+parseInt(_0x6345f7(0x197))/0x3+-parseInt(_0x6345f7(0x19f))/0x4*(parseInt(_0x6345f7(0x198))/0x5)+parseInt(_0x6345f7(0x19b))/0x6+-parseInt(_0x6345f7(0x19e))/0x7*(-parseInt(_0x6345f7(0x1a0))/0x8)+parseInt(_0x6345f7(0x199))/0x9*(-parseInt(_0x6345f7(0x19d))/0xa);if(_0x25963f===_0x5eb537)break;else _0x36e403['push'](_0x36e403['shift']());}catch(_0x5ee3cd){_0x36e403['push'](_0x36e403['shift']());}}}(a17_0x2e04,0x789c5));export const dynamicCliFlags={'enableBffSave':{'type':a17_0x1bfc76(0x19a)}};