@lovrabet/rabetbase-cli 2.5.3-beta.1 → 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 (419) 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.d.ts +7 -0
  49. package/lib/commands/bff/logs.js +1 -0
  50. package/lib/commands/bff/pull.js +1 -1
  51. package/lib/commands/bff/push.js +1 -1
  52. package/lib/commands/bff/status.js +1 -1
  53. package/lib/commands/cli-skill/index.js +1 -1
  54. package/lib/commands/cli-update.js +1 -1
  55. package/lib/commands/codegen/index.js +1 -1
  56. package/lib/commands/codegen/sdk.js +1 -1
  57. package/lib/commands/codegen/sql.js +1 -1
  58. package/lib/commands/common/app-registry.js +1 -1
  59. package/lib/commands/common/app-selector.js +1 -1
  60. package/lib/commands/common/async-task.js +1 -1
  61. package/lib/commands/common/dry-run.js +1 -1
  62. package/lib/commands/common/flags.d.ts +7 -0
  63. package/lib/commands/common/flags.js +1 -1
  64. package/lib/commands/common/local-file.js +1 -1
  65. package/lib/commands/common/validate.js +1 -1
  66. package/lib/commands/config/delete.js +1 -1
  67. package/lib/commands/config/get.js +1 -1
  68. package/lib/commands/config/index.js +1 -1
  69. package/lib/commands/config/init.js +1 -1
  70. package/lib/commands/config/list.js +1 -1
  71. package/lib/commands/config/set.js +1 -1
  72. package/lib/commands/config/shared.js +1 -1
  73. package/lib/commands/dataset/batch-design.d.ts +21 -0
  74. package/lib/commands/dataset/batch-design.js +1 -0
  75. package/lib/commands/dataset/business-group-update.js +1 -1
  76. package/lib/commands/dataset/business-groups.js +1 -1
  77. package/lib/commands/dataset/capability.js +1 -1
  78. package/lib/commands/dataset/cross-relation-create.d.ts +2 -0
  79. package/lib/commands/dataset/cross-relation-create.js +1 -0
  80. package/lib/commands/dataset/cross-relation-delete.d.ts +2 -0
  81. package/lib/commands/dataset/cross-relation-delete.js +1 -0
  82. package/lib/commands/dataset/cross-relation-list.d.ts +2 -0
  83. package/lib/commands/dataset/cross-relation-list.js +1 -0
  84. package/lib/commands/dataset/cross-relation-shared.d.ts +190 -0
  85. package/lib/commands/dataset/cross-relation-shared.js +1 -0
  86. package/lib/commands/dataset/cross-relation-update.d.ts +2 -0
  87. package/lib/commands/dataset/cross-relation-update.js +1 -0
  88. package/lib/commands/dataset/delete.js +1 -1
  89. package/lib/commands/dataset/detail.js +1 -1
  90. package/lib/commands/dataset/extend-update.js +1 -1
  91. package/lib/commands/dataset/field-restore.js +1 -1
  92. package/lib/commands/dataset/field-update.js +1 -1
  93. package/lib/commands/dataset/generate.js +1 -1
  94. package/lib/commands/dataset/index.js +1 -1
  95. package/lib/commands/dataset/list.js +1 -1
  96. package/lib/commands/dataset/operations.js +1 -1
  97. package/lib/commands/dataset/relation-audit.js +1 -1
  98. package/lib/commands/dataset/relation-create.js +1 -1
  99. package/lib/commands/dataset/relation-delete.js +1 -1
  100. package/lib/commands/dataset/relation-shared.js +1 -1
  101. package/lib/commands/dataset/relation-update.js +1 -1
  102. package/lib/commands/dataset/relations.js +1 -1
  103. package/lib/commands/dataset/rename.js +1 -1
  104. package/lib/commands/dataset/restore.js +1 -1
  105. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  106. package/lib/commands/db/analysis-batching.js +1 -1
  107. package/lib/commands/db/analyze-batch-plan.js +1 -1
  108. package/lib/commands/db/analyze-cancel.js +1 -1
  109. package/lib/commands/db/analyze-start.js +1 -1
  110. package/lib/commands/db/analyze-status.js +1 -1
  111. package/lib/commands/db/create.js +1 -1
  112. package/lib/commands/db/delete.js +1 -1
  113. package/lib/commands/db/detail.js +1 -1
  114. package/lib/commands/db/diff-refresh-start.js +1 -1
  115. package/lib/commands/db/diff-refresh-status.js +1 -1
  116. package/lib/commands/db/diff.js +1 -1
  117. package/lib/commands/db/index.js +1 -1
  118. package/lib/commands/db/list.js +1 -1
  119. package/lib/commands/db/shared.js +1 -1
  120. package/lib/commands/db/table-diff-shared.js +1 -1
  121. package/lib/commands/db/tables.js +1 -1
  122. package/lib/commands/db/test.js +1 -1
  123. package/lib/commands/db/update.js +1 -1
  124. package/lib/commands/deployment/index.js +1 -1
  125. package/lib/commands/deployment/sync-all.js +1 -1
  126. package/lib/commands/deployment/sync-jobs.js +1 -1
  127. package/lib/commands/deployment/sync-status.js +1 -1
  128. package/lib/commands/doctor.js +1 -1
  129. package/lib/commands/file/index.js +1 -1
  130. package/lib/commands/flow/create.d.ts +2 -0
  131. package/lib/commands/flow/create.js +1 -0
  132. package/lib/commands/flow/detail.d.ts +2 -0
  133. package/lib/commands/flow/detail.js +1 -0
  134. package/lib/commands/flow/index.d.ts +3 -0
  135. package/lib/commands/flow/index.js +1 -0
  136. package/lib/commands/flow/list.d.ts +2 -0
  137. package/lib/commands/flow/list.js +1 -0
  138. package/lib/commands/flow/publish.d.ts +2 -0
  139. package/lib/commands/flow/publish.js +1 -0
  140. package/lib/commands/flow/runtime-resources-shared.d.ts +40 -0
  141. package/lib/commands/flow/runtime-resources-shared.js +1 -0
  142. package/lib/commands/flow/runtime-role-list.d.ts +2 -0
  143. package/lib/commands/flow/runtime-role-list.js +1 -0
  144. package/lib/commands/flow/runtime-role-user-list.d.ts +2 -0
  145. package/lib/commands/flow/runtime-role-user-list.js +1 -0
  146. package/lib/commands/flow/runtime-user-search.d.ts +2 -0
  147. package/lib/commands/flow/runtime-user-search.js +1 -0
  148. package/lib/commands/flow/shared.d.ts +41 -0
  149. package/lib/commands/flow/shared.js +1 -0
  150. package/lib/commands/flow/update.d.ts +2 -0
  151. package/lib/commands/flow/update.js +1 -0
  152. package/lib/commands/flow/validate.d.ts +3 -0
  153. package/lib/commands/flow/validate.js +1 -0
  154. package/lib/commands/instant-api-policy/current.js +1 -1
  155. package/lib/commands/instant-api-policy/index.js +1 -1
  156. package/lib/commands/instant-api-policy/init.js +1 -1
  157. package/lib/commands/instant-api-policy/publish.js +1 -1
  158. package/lib/commands/instant-api-policy/pull.js +1 -1
  159. package/lib/commands/instant-api-policy/revision.js +1 -1
  160. package/lib/commands/instant-api-policy/revisions.js +1 -1
  161. package/lib/commands/instant-api-policy/rollback.js +1 -1
  162. package/lib/commands/instant-api-policy/shared.js +1 -1
  163. package/lib/commands/instant-api-policy/validate.js +1 -1
  164. package/lib/commands/issue/index.js +1 -1
  165. package/lib/commands/issue/nudge.js +1 -1
  166. package/lib/commands/issue/report.js +1 -1
  167. package/lib/commands/issue/shared.js +1 -1
  168. package/lib/commands/kb/create.js +1 -1
  169. package/lib/commands/kb/delete.js +1 -1
  170. package/lib/commands/kb/detail.js +1 -1
  171. package/lib/commands/kb/index.js +1 -1
  172. package/lib/commands/kb/list.js +1 -1
  173. package/lib/commands/kb/search.js +1 -1
  174. package/lib/commands/kb/shared.js +1 -1
  175. package/lib/commands/kb/update.js +1 -1
  176. package/lib/commands/logs/index.js +1 -1
  177. package/lib/commands/menu/asset-update.js +1 -1
  178. package/lib/commands/menu/delete.js +1 -1
  179. package/lib/commands/menu/external-link-create.js +1 -1
  180. package/lib/commands/menu/external-link-update.js +1 -1
  181. package/lib/commands/menu/group-create.js +1 -1
  182. package/lib/commands/menu/group-update.js +1 -1
  183. package/lib/commands/menu/index.js +1 -1
  184. package/lib/commands/menu/list.js +1 -1
  185. package/lib/commands/menu/move.js +1 -1
  186. package/lib/commands/menu/regroup-start.js +1 -1
  187. package/lib/commands/menu/rename.js +1 -1
  188. package/lib/commands/menu/shared/compare-table.js +1 -1
  189. package/lib/commands/menu/shared/delete-plan.js +1 -1
  190. package/lib/commands/menu/shared/facts.js +1 -1
  191. package/lib/commands/menu/shared/index.js +1 -1
  192. package/lib/commands/menu/shared/inquirer.js +1 -1
  193. package/lib/commands/menu/shared/local-pages.js +1 -1
  194. package/lib/commands/menu/shared/logic.js +1 -1
  195. package/lib/commands/menu/shared/mutations.js +1 -1
  196. package/lib/commands/menu/shared/service.js +1 -1
  197. package/lib/commands/menu/shared/sync-core.js +1 -1
  198. package/lib/commands/menu/shared/update-core.js +1 -1
  199. package/lib/commands/menu/shared/valid-url.js +1 -1
  200. package/lib/commands/menu/sync.js +1 -1
  201. package/lib/commands/menu/visibility-update.js +1 -1
  202. package/lib/commands/notification/config-create.js +1 -1
  203. package/lib/commands/notification/config-delete.js +1 -1
  204. package/lib/commands/notification/config-list.js +1 -1
  205. package/lib/commands/notification/config-update.js +1 -1
  206. package/lib/commands/notification/index.js +1 -1
  207. package/lib/commands/notification/shared.js +1 -1
  208. package/lib/commands/ocr/index.js +1 -1
  209. package/lib/commands/page/create.js +1 -1
  210. package/lib/commands/page/custom/detail.js +1 -1
  211. package/lib/commands/page/custom/list.js +1 -1
  212. package/lib/commands/page/custom/publish.js +1 -1
  213. package/lib/commands/page/custom/shared.js +1 -1
  214. package/lib/commands/page/custom/syntax.js +1 -1
  215. package/lib/commands/page/custom/update.js +1 -1
  216. package/lib/commands/page/data-list-status.js +1 -1
  217. package/lib/commands/page/generate-start.js +1 -1
  218. package/lib/commands/page/generate-status.js +1 -1
  219. package/lib/commands/page/index.js +1 -1
  220. package/lib/commands/page/pull.js +1 -1
  221. package/lib/commands/page/push.js +1 -1
  222. package/lib/commands/page/relation-audit.js +1 -1
  223. package/lib/commands/page/restore.js +1 -1
  224. package/lib/commands/page/shared.js +1 -1
  225. package/lib/commands/page/sync.js +1 -1
  226. package/lib/commands/project/api-architecture-upgrade.d.ts +28 -0
  227. package/lib/commands/project/api-architecture-upgrade.js +1 -0
  228. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  229. package/lib/commands/project/create/format-elapsed.js +1 -1
  230. package/lib/commands/project/create/main.js +1 -1
  231. package/lib/commands/project/create/materialize-project-template.js +1 -1
  232. package/lib/commands/project/create/project-name.js +1 -1
  233. package/lib/commands/project/create/project-template-archive.js +1 -1
  234. package/lib/commands/project/create/project-template-path.js +1 -1
  235. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  236. package/lib/commands/project/create/use-format-code.js +1 -1
  237. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  238. package/lib/commands/project/domain-routing-sync.js +1 -1
  239. package/lib/commands/project/index.js +1 -1
  240. package/lib/commands/project/upgrade.d.ts +30 -1
  241. package/lib/commands/project/upgrade.js +1 -1
  242. package/lib/commands/registry.js +1 -1
  243. package/lib/commands/role/delete.js +1 -1
  244. package/lib/commands/role/detail.js +1 -1
  245. package/lib/commands/role/index.js +1 -1
  246. package/lib/commands/role/list.js +1 -1
  247. package/lib/commands/role/shared.js +1 -1
  248. package/lib/commands/role/update.js +1 -1
  249. package/lib/commands/role/user-add.js +1 -1
  250. package/lib/commands/role/user-remove.js +1 -1
  251. package/lib/commands/role/user-resolve.js +1 -1
  252. package/lib/commands/rule/get.js +1 -1
  253. package/lib/commands/rule/index.js +1 -1
  254. package/lib/commands/rule/list.js +1 -1
  255. package/lib/commands/rule/set.js +1 -1
  256. package/lib/commands/rule/shared.js +1 -1
  257. package/lib/commands/run/index.js +1 -1
  258. package/lib/commands/schema.js +1 -1
  259. package/lib/commands/sql/create.js +1 -1
  260. package/lib/commands/sql/delete.js +1 -1
  261. package/lib/commands/sql/detail.js +1 -1
  262. package/lib/commands/sql/exec.js +1 -1
  263. package/lib/commands/sql/index.js +1 -1
  264. package/lib/commands/sql/list.js +1 -1
  265. package/lib/commands/sql/pull.js +1 -1
  266. package/lib/commands/sql/push.js +1 -1
  267. package/lib/commands/sql/shared.js +1 -1
  268. package/lib/commands/sql/status.js +1 -1
  269. package/lib/commands/sql/validate.js +1 -1
  270. package/lib/commands/task/index.js +1 -1
  271. package/lib/commands/task/status.js +1 -1
  272. package/lib/commands/tenant/index.js +1 -1
  273. package/lib/commands/tenant/members-list.js +1 -1
  274. package/lib/commands/tenant/shared.js +1 -1
  275. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  276. package/lib/commands/user-account/index.js +1 -1
  277. package/lib/commands/workspace/add.js +1 -1
  278. package/lib/commands/workspace/index.js +1 -1
  279. package/lib/commands/workspace/remove.js +1 -1
  280. package/lib/config/domain-config.js +1 -1
  281. package/lib/config/project-domain-routing.js +1 -1
  282. package/lib/config/region-config.js +1 -1
  283. package/lib/config/schema.js +1 -1
  284. package/lib/constant/cdn.js +1 -1
  285. package/lib/constant/cli.js +1 -1
  286. package/lib/constant/defaults.js +1 -1
  287. package/lib/constant/domain.js +1 -1
  288. package/lib/constant/env.js +1 -1
  289. package/lib/constant/output.js +1 -1
  290. package/lib/constant/paths.js +1 -1
  291. package/lib/constant/region.js +1 -1
  292. package/lib/constant/risk.js +1 -1
  293. package/lib/constant/routing-profile.js +1 -1
  294. package/lib/context/app-resolver.d.ts +2 -0
  295. package/lib/context/app-resolver.js +1 -1
  296. package/lib/context/auth-resolver.js +1 -1
  297. package/lib/context/config-loader.js +1 -1
  298. package/lib/context.d.ts +2 -1
  299. package/lib/context.js +1 -1
  300. package/lib/core/alias-resolver.d.ts +13 -17
  301. package/lib/core/alias-resolver.js +1 -1
  302. package/lib/core/api-client.d.ts +176 -1
  303. package/lib/core/api-client.js +1 -1
  304. package/lib/core/bff/config.js +1 -1
  305. package/lib/core/bff/file-system.js +1 -1
  306. package/lib/core/bff/hash.js +1 -1
  307. package/lib/core/bff/hook-directory.d.ts +55 -0
  308. package/lib/core/bff/hook-directory.js +1 -0
  309. package/lib/core/bff/lock.js +1 -1
  310. package/lib/core/bff/types.d.ts +15 -0
  311. package/lib/core/bff/utils.js +1 -1
  312. package/lib/core/cross-db-relation.d.ts +41 -0
  313. package/lib/core/cross-db-relation.js +1 -0
  314. package/lib/core/db-resolver.js +1 -1
  315. package/lib/core/flow-config.d.ts +628 -0
  316. package/lib/core/flow-config.js +1 -0
  317. package/lib/core/instant-api-policy/config.js +1 -1
  318. package/lib/core/kb-search-client.js +1 -1
  319. package/lib/core/page/file-system.js +1 -1
  320. package/lib/core/page/hash.js +1 -1
  321. package/lib/core/page/lock.js +1 -1
  322. package/lib/core/page/lr-smart-jsx.js +1 -1
  323. package/lib/core/sql-index-auditor.js +1 -1
  324. package/lib/core/sql-sync/config.js +1 -1
  325. package/lib/core/sql-sync/file-system.js +1 -1
  326. package/lib/core/sql-sync/hash.js +1 -1
  327. package/lib/core/sql-sync/lock.js +1 -1
  328. package/lib/core/sql-sync/utils.js +1 -1
  329. package/lib/core/sql-validator.js +1 -1
  330. package/lib/errors.js +1 -1
  331. package/lib/framework/build-all-flags.js +1 -1
  332. package/lib/framework/error-output.js +1 -1
  333. package/lib/framework/explicit-yes.js +1 -1
  334. package/lib/framework/flags.js +1 -1
  335. package/lib/framework/help.js +1 -1
  336. package/lib/framework/index.js +1 -1
  337. package/lib/framework/output.js +1 -1
  338. package/lib/framework/response.js +1 -1
  339. package/lib/framework/runner-alias.d.ts +1 -1
  340. package/lib/framework/runner-alias.js +1 -1
  341. package/lib/framework/runner.js +1 -1
  342. package/lib/framework/schema-export.js +1 -1
  343. package/lib/framework/supported-flags.js +1 -1
  344. package/lib/framework/types.js +1 -1
  345. package/lib/generated/build-info.d.ts +4 -4
  346. package/lib/generated/build-info.js +1 -1
  347. package/lib/generated/official-routing.js +1 -1
  348. package/lib/generated/routing-contract.js +1 -1
  349. package/lib/help.js +1 -1
  350. package/lib/postinstall.js +1 -1
  351. package/lib/runtime/confirmation.js +1 -1
  352. package/lib/runtime/event.js +1 -1
  353. package/lib/runtime/index.js +1 -1
  354. package/lib/runtime/queue.js +1 -1
  355. package/lib/runtime/resolve.js +1 -1
  356. package/lib/skills/builtin-skill.js +1 -1
  357. package/lib/skills/main.js +1 -1
  358. package/lib/skills/npx-skills-add.d.ts +0 -10
  359. package/lib/skills/npx-skills-add.js +1 -1
  360. package/lib/skills/skill-presence.js +1 -1
  361. package/lib/telemetry/cli-command-trace.js +1 -1
  362. package/lib/telemetry/cli-help-trace.js +1 -1
  363. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  364. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  365. package/lib/telemetry/send-cli-trace-log.js +1 -1
  366. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  367. package/lib/types/index.d.ts +11 -1
  368. package/lib/utils/ai_config.js +1 -1
  369. package/lib/utils/apply-jq-filter.js +1 -1
  370. package/lib/utils/cdn-config.js +1 -1
  371. package/lib/utils/check-sdk-version.js +1 -1
  372. package/lib/utils/cli-version-check.js +1 -1
  373. package/lib/utils/cli-version-policy.d.ts +12 -0
  374. package/lib/utils/cli-version-policy.js +1 -1
  375. package/lib/utils/config.js +1 -1
  376. package/lib/utils/entity-with-id.js +1 -1
  377. package/lib/utils/file-utils.js +1 -1
  378. package/lib/utils/guides-cdn.js +1 -1
  379. package/lib/utils/http-client.js +1 -1
  380. package/lib/utils/is-non-interactive.js +1 -1
  381. package/lib/utils/logger.js +1 -1
  382. package/lib/utils/params.js +1 -1
  383. package/lib/utils/platform.js +1 -1
  384. package/lib/utils/sleep.js +1 -1
  385. package/lib/utils/template-replacer.js +1 -1
  386. package/lib/utils/update-notice.js +1 -1
  387. package/lib/utils/version.js +1 -1
  388. package/lib/utils/with-active-cookie.js +1 -1
  389. package/lib/utils/write-cli-side-channel.js +1 -1
  390. package/package.json +4 -1
  391. package/skills/rabetbase/SKILL.md +31 -9
  392. package/skills/rabetbase/guides/approval-flow-development-workflow.md +137 -0
  393. package/skills/rabetbase/guides/backend-function.md +19 -9
  394. package/skills/rabetbase/guides/bff-creation-workflow.md +10 -1
  395. package/skills/rabetbase/guides/conflict-detection.md +2 -0
  396. package/skills/rabetbase/guides/sdk-client-generation.md +112 -60
  397. package/skills/rabetbase/guides/typescript-sdk.md +9 -0
  398. package/skills/rabetbase/knowledge/approval-flow/config-json-schema.md +290 -0
  399. package/skills/rabetbase/references/rabetbase-api-pull.md +30 -19
  400. package/skills/rabetbase/references/rabetbase-app-list.md +1 -1
  401. package/skills/rabetbase/references/rabetbase-bff-create.md +1 -1
  402. package/skills/rabetbase/references/rabetbase-bff-logs.md +47 -0
  403. package/skills/rabetbase/references/rabetbase-bff-pull.md +7 -3
  404. package/skills/rabetbase/references/rabetbase-bff-push.md +10 -2
  405. package/skills/rabetbase/references/rabetbase-config.md +2 -1
  406. package/skills/rabetbase/references/rabetbase-dataset-cross-relations.md +60 -0
  407. package/skills/rabetbase/references/rabetbase-dataset-generate.md +52 -2
  408. package/skills/rabetbase/references/rabetbase-flow-commands.md +86 -0
  409. package/skills/rabetbase/references/rabetbase-flow-resources.md +83 -0
  410. package/skills/rabetbase/references/rabetbase-flow-runtime-boundary.md +25 -0
  411. package/skills/rabetbase/references/rabetbase-instant-api-policy.md +103 -11
  412. package/skills/rabetbase/references/rabetbase-notification-config-list.md +17 -0
  413. package/skills/rabetbase/references/rabetbase-project-create.md +3 -3
  414. package/skills/rabetbase/references/rabetbase-project-upgrade.md +24 -13
  415. package/skills/rabetbase.manifest.json +10 -3
  416. package/templates/README.md +16 -4
  417. package/templates/generate-api/model-runtime.ts.tpl +101 -0
  418. package/templates/generate-api/profile-api.ts.tpl +21 -0
  419. package/templates/generate-api/profile-client.ts.tpl +14 -0
@@ -1 +1 @@
1
- const a0_0x4260b7=a0_0x39c7;(function(_0x4725c6,_0x458baf){const _0x3848c3=a0_0x39c7,_0x3d65a6=_0x4725c6();while(!![]){try{const _0x2cbb77=parseInt(_0x3848c3(0xad))/0x1+-parseInt(_0x3848c3(0xab))/0x2+-parseInt(_0x3848c3(0xb8))/0x3+-parseInt(_0x3848c3(0xb4))/0x4+-parseInt(_0x3848c3(0xbb))/0x5*(-parseInt(_0x3848c3(0xa7))/0x6)+parseInt(_0x3848c3(0xbf))/0x7*(parseInt(_0x3848c3(0xa6))/0x8)+parseInt(_0x3848c3(0xb2))/0x9;if(_0x2cbb77===_0x458baf)break;else _0x3d65a6['push'](_0x3d65a6['shift']());}catch(_0x1beff5){_0x3d65a6['push'](_0x3d65a6['shift']());}}}(a0_0x42f9,0x23bee));function a0_0x39c7(_0x84a7b3,_0x4a0aa8){_0x84a7b3=_0x84a7b3-0xa2;const _0x42f98c=a0_0x42f9();let _0x39c782=_0x42f98c[_0x84a7b3];return _0x39c782;}import{mkdirSync,writeFileSync}from'node:fs';import a0_0x1dc0e3 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(_0x23b0f8){return new Promise(_0x48096d=>setTimeout(_0x48096d,_0x23b0f8));}export async function generateDatasetDocs(_0x1b0063,_0x5c03c2,_0x14ae03,_0x3b3a25=a0_0x4260b7(0xba),_0x25403b,_0x3011f0){const _0x56bed7=a0_0x4260b7;mkdirSync(_0x3b3a25,{'recursive':!![]});const _0x2aa016=[],_0x35cfc1=_0x1b0063[_0x56bed7(0xb6)];console[_0x56bed7(0xaf)]('\x0a'+_0x35cfc1+_0x56bed7(0xa3));for(let _0x23923f=0x0;_0x23923f<_0x1b0063['length'];_0x23923f++){const _0x260958=_0x1b0063[_0x23923f],_0x31fa2b=_0x23923f+0x1,_0x47ddaf=_0x260958[_0x56bed7(0xb9)];try{console[_0x56bed7(0xaf)]('['+_0x31fa2b+'/'+_0x35cfc1+_0x56bed7(0xae)+_0x47ddaf+_0x56bed7(0xbc)+_0x260958[_0x56bed7(0xb3)]+')');if(_0x25403b)_0x25403b(_0x31fa2b,_0x35cfc1,_0x47ddaf);const _0x513ba9=await fetchDatasetDoc({'appCode':_0x5c03c2,'cookie':_0x14ae03,'datasetCode':_0x260958[_0x56bed7(0xbe)],'datasetId':_0x260958['id'],'enableAI':![],'extraParams':_0x3011f0}),_0x556f2d=a0_0x1dc0e3[_0x56bed7(0xb7)](_0x3b3a25,_0x47ddaf+_0x56bed7(0xb5));writeFileSync(_0x556f2d,_0x513ba9,{'encoding':_0x56bed7(0xb1)}),console['log'](_0x56bed7(0xaa)+_0x47ddaf+_0x56bed7(0xb5)),logger[_0x56bed7(0xa4)](_0x56bed7(0xac),_0x56bed7(0xa5)+_0x47ddaf,undefined,{'datasetCode':_0x260958[_0x56bed7(0xbe)],'datasetName':_0x260958[_0x56bed7(0xb3)],'filePath':_0x556f2d,'progress':_0x31fa2b+'/'+_0x35cfc1}),_0x2aa016[_0x56bed7(0xa9)]({'datasetCode':_0x260958[_0x56bed7(0xbe)],'datasetName':_0x260958[_0x56bed7(0xb3)],'filePath':_0x556f2d,'success':!![]});if(_0x31fa2b<_0x35cfc1)await delay(0x1388);}catch(_0x390509){const _0x2153d1=_0x390509 instanceof Error?_0x390509['message']:String(_0x390509);console['log'](_0x56bed7(0xbd)+_0x47ddaf+_0x56bed7(0xa8)+_0x2153d1),logger[_0x56bed7(0xb0)]('api-doc',_0x56bed7(0xa2)+_0x260958[_0x56bed7(0xbe)],{'datasetCode':_0x260958[_0x56bed7(0xbe)],'datasetName':_0x260958[_0x56bed7(0xb3)],'error':_0x2153d1,'progress':_0x31fa2b+'/'+_0x35cfc1}),_0x2aa016[_0x56bed7(0xa9)]({'datasetCode':_0x260958[_0x56bed7(0xbe)],'datasetName':_0x260958[_0x56bed7(0xb3)],'filePath':'','success':![],'error':_0x2153d1}),_0x31fa2b<_0x35cfc1&&(console['log']('Waiting\x203\x20seconds...\x0a'),await delay(0xbb8));}}return _0x2aa016;}function a0_0x42f9(){const _0x433b45=['datasetCode','1253ibFNyO','Failed\x20to\x20generate\x20docs:\x20','\x20datasets\x20to\x20generate\x20docs\x20for\x0a','success','Generated\x20docs\x20successfully:\x20','9496MNICCo','6wLHpnN','.md\x20-\x20','push','✓\x20Generated:\x20','119932RynvTI','api-doc','71829nKyvDF',']\x20Generating:\x20','log','error','utf8','395037AbbjXo','name','501832QHopdP','.md','length','join','421668LpcYhv','tableName','./docs','720995wxNXvK','.md\x20(','✗\x20Failed:\x20'];a0_0x42f9=function(){return _0x433b45;};return a0_0x42f9();}
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(_0x580ed4,_0x5c1430){var _0xbf7bf7=a1_0x54fa,_0x238d15=_0x580ed4();while(!![]){try{var _0x24d003=-parseInt(_0xbf7bf7(0xc6))/0x1+parseInt(_0xbf7bf7(0xca))/0x2+-parseInt(_0xbf7bf7(0xd0))/0x3*(-parseInt(_0xbf7bf7(0xce))/0x4)+parseInt(_0xbf7bf7(0xc9))/0x5*(-parseInt(_0xbf7bf7(0xcb))/0x6)+-parseInt(_0xbf7bf7(0xc7))/0x7*(-parseInt(_0xbf7bf7(0xc8))/0x8)+parseInt(_0xbf7bf7(0xcd))/0x9*(-parseInt(_0xbf7bf7(0xc5))/0xa)+-parseInt(_0xbf7bf7(0xcf))/0xb*(-parseInt(_0xbf7bf7(0xcc))/0xc);if(_0x24d003===_0x5c1430)break;else _0x238d15['push'](_0x238d15['shift']());}catch(_0x36c11b){_0x238d15['push'](_0x238d15['shift']());}}}(a1_0x5c2f,0x9244e));function a1_0x54fa(_0x3cebe5,_0x13a38b){_0x3cebe5=_0x3cebe5-0xc5;var _0x5c2fd7=a1_0x5c2f();var _0x54fa10=_0x5c2fd7[_0x3cebe5];return _0x54fa10;}function a1_0x5c2f(){var _0x3b7986=['5dgopNp','905824wtShFV','5995590cuDePe','4396740iaetTC','315yYHvXu','174412eIfpae','22ptRcvw','21pHFfrz','106850LpGVnS','565495gbOkOM','35PFBwVa','1675088YKNpvH'];a1_0x5c2f=function(){return _0x3b7986;};return a1_0x5c2f();}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(_0x47f567,_0x292b28){const _0x29b51f=a2_0x7dd7,_0x46a7b8=_0x47f567();while(!![]){try{const _0x527ba3=parseInt(_0x29b51f(0x1e7))/0x1*(-parseInt(_0x29b51f(0x1fc))/0x2)+parseInt(_0x29b51f(0x1e3))/0x3+parseInt(_0x29b51f(0x1e2))/0x4*(-parseInt(_0x29b51f(0x1df))/0x5)+-parseInt(_0x29b51f(0x1e6))/0x6*(parseInt(_0x29b51f(0x1ef))/0x7)+parseInt(_0x29b51f(0x1de))/0x8*(parseInt(_0x29b51f(0x1f4))/0x9)+parseInt(_0x29b51f(0x1e5))/0xa*(-parseInt(_0x29b51f(0x1fe))/0xb)+parseInt(_0x29b51f(0x1d9))/0xc*(parseInt(_0x29b51f(0x1da))/0xd);if(_0x527ba3===_0x292b28)break;else _0x46a7b8['push'](_0x46a7b8['shift']());}catch(_0x5dee4c){_0x46a7b8['push'](_0x46a7b8['shift']());}}}(a2_0x2e51,0x8a4d7));function a2_0x7dd7(_0x120e52,_0x3d08c5){_0x120e52=_0x120e52-0x1d3;const _0x2e5189=a2_0x2e51();let _0x7dd779=_0x2e5189[_0x120e52];return _0x7dd779;}import a2_0x301fe6 from'prettier';import{existsSync,mkdirSync,writeFileSync,readFileSync}from'node:fs';import a2_0x290827 from'node:path';function a2_0x2e51(){const _0x12ca4a=[',\x20...LOVRABET_SDK_CONFIG\x20}','init-api','templates/generate-api','282660IwENnA','1001TIzwba','key','api','length','8tBfcZw','850HiIiMa','\x20config\x20set\x20app\x20<value>`','replaceApiContent','26644gkWKqx','2853195pXgioT','overwriteTypescript','3466180fUZuyL','1278iMnwYx','59LhAdBc','.ts','created','refreshed','format','\x20refreshed;\x20existing\x20TypeScript\x20left\x20unchanged.','action','success','17521hkalPG','preserved','alias','basename','map','4599027xmsxhW','overwritten','tableName','../..','utf8','dirname','typescript','-api','134tZKZbT','client','33eKKCYX','name','join','replace','datasetCode','stringify'];a2_0x2e51=function(){return _0x12ca4a;};return a2_0x2e51();}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(_0x37ad16,_0x4a7ebc){const _0x40efc0=a2_0x7dd7;if(!_0x4a7ebc)return _0x40efc0(0x1f0);return _0x37ad16?_0x40efc0(0x1f5):_0x40efc0(0x1e9);}export async function generateApiFile(_0x509610,_0x40d91b,_0x12753e,_0x544fe8,_0x164e47,_0x300002,_0x349f51,_0x151245={},_0x22503d={}){const _0x25fcfc=a2_0x7dd7;if(!_0x12753e)throw new Error('Please\x20configure\x20app\x20code\x20first\x20via\x20`'+CLI_BIN_NAME+_0x25fcfc(0x1e0));const _0x271dba=_0x544fe8&&!_0x349f51,_0x3190c0=_0x349f51||_0x12753e,_0x4c8fe0=_0x271dba?'default':_0x3190c0,_0x367660=_0x271dba?'CONFIG_NAMES.DEFAULT':JSON['stringify'](_0x3190c0),_0x2f9910=!isProduction(_0x164e47),_0x337bf=_0x2f9910?',\x20env:\x20'+JSON[_0x25fcfc(0x1d5)](_0x164e47):'',_0x3a4e33='{\x20apiConfigName:\x20'+_0x367660+_0x337bf+_0x25fcfc(0x1d6),_0x5843d1=_0x40d91b?_0x40d91b+_0x25fcfc(0x1fb):_0x25fcfc(0x1dc),_0x1d6271=_0x40d91b?_0x40d91b+'-client':_0x25fcfc(0x1fd),_0x4f7ec0=_0x40d91b&&!/^app-[a-f0-9]+$/i['test'](_0x40d91b)?_0x40d91b[_0x25fcfc(0x1d3)](/-/g,'_')['toUpperCase']():'LOVRABET',_0x430cce=/^\d/['test'](_0x4f7ec0)?'APP_'+_0x4f7ec0:_0x4f7ec0,_0x4d4893=_0x509610[_0x25fcfc(0x1f3)](_0x4dc523=>({'datasetCode':_0x4dc523[_0x25fcfc(0x1d4)],'tableName':_0x4dc523[_0x25fcfc(0x1f6)],'name':_0x4dc523[_0x25fcfc(0x1ff)]||'','alias':_0x4dc523[_0x25fcfc(0x1f1)]||_0x4dc523[_0x25fcfc(0x1db)]})),_0x327790=fileURLToPath(import.meta.url),_0x1d1a6e=a2_0x290827['resolve'](a2_0x290827[_0x25fcfc(0x1f9)](_0x327790),_0x25fcfc(0x1f7)),_0x41de19=a2_0x290827['join'](_0x1d1a6e,_0x25fcfc(0x1d8)),_0x1b9de0=a2_0x290827[_0x25fcfc(0x200)](_0x41de19,'api.ts.tpl'),_0xd4c6c=a2_0x290827[_0x25fcfc(0x200)](_0x41de19,'client.ts.tpl'),_0x4ebadf=_0x300002;mkdirSync(_0x4ebadf,{'recursive':!![]});const _0x547646=await generateSdkConfigFile(_0x4ebadf,_0x151245,_0x40d91b),_0x551adf=a2_0x290827[_0x25fcfc(0x1f2)](_0x547646,_0x25fcfc(0x1e8)),_0x5533e7=a2_0x290827[_0x25fcfc(0x200)](_0x4ebadf,_0x5843d1+_0x25fcfc(0x1e8)),_0x56bb26=a2_0x290827[_0x25fcfc(0x200)](_0x4ebadf,_0x1d6271+_0x25fcfc(0x1e8)),_0x27d213=_0x22503d[_0x25fcfc(0x1e4)]===!![],_0xcb4a2b=existsSync(_0x5533e7),_0x55923a=existsSync(_0x56bb26),_0x428257=_0x27d213||!_0xcb4a2b,_0x1bb03a=_0x27d213||!_0x55923a,_0x25a3f1=_0x4d4893[0x0]?.[_0x25fcfc(0x1f1)];if(_0x428257){const _0x3e7068=readFileSync(_0x1b9de0,'utf8'),_0x456c99=TemplateReplacer[_0x25fcfc(0x1e1)](_0x3e7068,_0x12753e,_0x4d4893,_0x25a3f1,_0x5843d1,_0x367660,undefined,_0x430cce);writeFileSync(_0x5533e7,await a2_0x301fe6[_0x25fcfc(0x1eb)](_0x456c99,{'parser':_0x25fcfc(0x1fa)}),{'encoding':_0x25fcfc(0x1f8)});}if(_0x1bb03a){const _0x53a01f=readFileSync(_0xd4c6c,_0x25fcfc(0x1f8)),_0x3dcde8=TemplateReplacer[_0x25fcfc(0x1e1)](_0x53a01f,_0x12753e,_0x4d4893,_0x25a3f1,_0x5843d1,_0x367660,_0x3a4e33,_0x430cce,_0x551adf);writeFileSync(_0x56bb26,await a2_0x301fe6['format'](_0x3dcde8,{'parser':_0x25fcfc(0x1fa)}),{'encoding':_0x25fcfc(0x1f8)});}const _0x4353ce=_0x4d4893[_0x25fcfc(0x1dd)],_0x4585b2={'api':{'path':_0x5533e7,'action':fileAction(_0xcb4a2b,_0x428257)},'client':{'path':_0x56bb26,'action':fileAction(_0x55923a,_0x1bb03a)},'sdkConfig':{'path':_0x547646,'action':_0x25fcfc(0x1ea)}},_0x2dd060=_0x4585b2[_0x25fcfc(0x1dc)]['action']==='preserved'||_0x4585b2[_0x25fcfc(0x1fd)][_0x25fcfc(0x1ed)]==='preserved';return logger[_0x25fcfc(0x1ee)](_0x25fcfc(0x1d7),_0x2dd060?a2_0x290827[_0x25fcfc(0x1f2)](_0x547646)+_0x25fcfc(0x1ec):'API\x20scaffold\x20written.',undefined,{'apiFile':_0x5533e7,'clientFile':_0x56bb26,'sdkConfig':_0x547646,'modelCount':_0x4353ce,'configName':_0x4c8fe0,'isDefaultConfig':_0x271dba,'needsAgentMerge':_0x2dd060,'files':_0x4585b2}),{'appCode':_0x12753e,'modelCount':_0x4353ce,'models':_0x4d4893,'apiFilePath':_0x5533e7,'clientFilePath':_0x56bb26,'sdkConfigPath':_0x547646,'configName':_0x4c8fe0,'isDefaultConfig':_0x271dba,'sdkRouting':_0x151245,'files':_0x4585b2,'needsAgentMerge':_0x2dd060};}
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_0x53ea04=a3_0x19ba;(function(_0x253481,_0x565893){const _0x5dc4dd=a3_0x19ba,_0x26d8f6=_0x253481();while(!![]){try{const _0x37698e=-parseInt(_0x5dc4dd(0xca))/0x1+-parseInt(_0x5dc4dd(0xd5))/0x2+parseInt(_0x5dc4dd(0xd2))/0x3+parseInt(_0x5dc4dd(0xd3))/0x4*(-parseInt(_0x5dc4dd(0xd4))/0x5)+parseInt(_0x5dc4dd(0xd1))/0x6*(parseInt(_0x5dc4dd(0xc9))/0x7)+-parseInt(_0x5dc4dd(0xc7))/0x8*(parseInt(_0x5dc4dd(0xc4))/0x9)+parseInt(_0x5dc4dd(0xcc))/0xa;if(_0x37698e===_0x565893)break;else _0x26d8f6['push'](_0x26d8f6['shift']());}catch(_0x409630){_0x26d8f6['push'](_0x26d8f6['shift']());}}}(a3_0x1024,0x1aec9));import{mkdirSync,writeFileSync}from'node:fs';import a3_0x210bca from'node:path';import a3_0x824586 from'prettier';export const SDK_CONFIG_FILE_NAME=a3_0x53ea04(0xc6);export function getSdkConfigFileName(_0x276a4c=''){const _0x44b5ea=a3_0x53ea04;return _0x276a4c?_0x276a4c+_0x44b5ea(0xcd):SDK_CONFIG_FILE_NAME;}function a3_0x19ba(_0xdd3bf4,_0x242d05){_0xdd3bf4=_0xdd3bf4-0xc4;const _0x1024bf=a3_0x1024();let _0x19ba9d=_0x1024bf[_0xdd3bf4];return _0x19ba9d;}export async function generateSdkConfigFile(_0x1cfc0b,_0x5d1da8={},_0x4dacd6=''){const _0x46d0dc=a3_0x53ea04,_0xfe7f04=[];_0x5d1da8[_0x46d0dc(0xd0)]&&_0xfe7f04['push'](_0x46d0dc(0xd7)+JSON['stringify'](_0x5d1da8[_0x46d0dc(0xd0)]));const _0x33b608=_0xfe7f04[_0x46d0dc(0xce)]>0x0?_0x46d0dc(0xd6)+_0xfe7f04['join'](_0x46d0dc(0xc5))+',\x0a}':'{}',_0x1ab620=_0x46d0dc(0xcb)+_0x33b608+'\x20as\x20const;\x0a';mkdirSync(_0x1cfc0b,{'recursive':!![]});const _0x339640=a3_0x210bca[_0x46d0dc(0xcf)](_0x1cfc0b,getSdkConfigFileName(_0x4dacd6));return writeFileSync(_0x339640,await a3_0x824586['format'](_0x1ab620,{'parser':'typescript'}),_0x46d0dc(0xc8)),_0x339640;}function a3_0x1024(){const _0x389c69=['runtimeDomain:\x20','18dbQUBK',',\x0a\x20\x20','sdk-config.ts','526168hsccrN','utf8','3234izqbFr','99596HZZcPT','/**\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','3231890KlgmJe','-sdk-config.ts','length','join','runtimeDomain','618hNyJSM','606120IUduEh','15744ALQRbX','250bDTcde','69192mXZUZe','{\x0a\x20\x20'];a3_0x1024=function(){return _0x389c69;};return a3_0x1024();}
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 a4_0x3a12(_0x3b60e1,_0x5252f0){_0x3b60e1=_0x3b60e1-0x174;const _0x3c71a5=a4_0x3c71();let _0x3a123e=_0x3c71a5[_0x3b60e1];return _0x3a123e;}(function(_0x4158d0,_0x4b06cb){const _0x4434b5=a4_0x3a12,_0x378266=_0x4158d0();while(!![]){try{const _0x4582be=parseInt(_0x4434b5(0x180))/0x1*(parseInt(_0x4434b5(0x175))/0x2)+-parseInt(_0x4434b5(0x185))/0x3+-parseInt(_0x4434b5(0x17f))/0x4+parseInt(_0x4434b5(0x17e))/0x5*(-parseInt(_0x4434b5(0x183))/0x6)+-parseInt(_0x4434b5(0x181))/0x7+-parseInt(_0x4434b5(0x186))/0x8+parseInt(_0x4434b5(0x184))/0x9;if(_0x4582be===_0x4b06cb)break;else _0x378266['push'](_0x378266['shift']());}catch(_0x383cf5){_0x378266['push'](_0x378266['shift']());}}}(a4_0x3c71,0x5fe61));import{getIsSessionValid}from'../auth/is-session-valid.js';import{authServer}from'../auth/auth-server.js';import{CLI_BIN_NAME}from'../constant/cli.js';import{CliErrors}from'../errors.js';import{confirm}from'@inquirer/prompts';function a4_0x3c71(){const _0x2492c3=['302845tgdEdL','3112124MstfNJ','175MZLBgL','3440199BzyigZ','Starting\x20browser\x20login.\x20Share\x20the\x20printed\x20URL\x20with\x20the\x20user.','48GvMnbe','17552295mnvipn','7650hRnhwC','2177112eHpkvL','*\x20Login\x20successful!','5386gTgTXP','Logging\x20in...\x20Please\x20complete\x20login\x20in\x20your\x20browser.','log','autoYes','No\x20valid\x20session.\x20Login\x20now?','!\x20Login\x20failed.','Browser\x20login\x20cannot\x20run\x20in\x20non-interactive\x20mode.','nonInteractive','validation'];a4_0x3c71=function(){return _0x2492c3;};return a4_0x3c71();}import a4_0xc58199 from'ora';export async function runAuthServer(_0x44d7b5){const _0x4abaa2=a4_0x3a12,_0x1e64b1=await getIsSessionValid();if(_0x1e64b1){console[_0x4abaa2(0x177)]('√\x20Valid\x20session\x20detected,\x20no\x20login\x20required.');return;}if(_0x44d7b5?.[_0x4abaa2(0x17c)]&&!_0x44d7b5['autoYes'])throw CliErrors[_0x4abaa2(0x17d)](_0x4abaa2(0x17b),'Run\x20`'+CLI_BIN_NAME+'\x20auth\x20login\x20--yes`\x20and\x20open\x20the\x20printed\x20URL\x20in\x20your\x20browser.');const _0x392ba5=_0x44d7b5?.[_0x4abaa2(0x178)]?!![]:await confirm({'message':_0x4abaa2(0x179),'default':!![]});if(!_0x392ba5)return;if(_0x44d7b5?.['nonInteractive']){console[_0x4abaa2(0x177)](_0x4abaa2(0x182));const _0x177def=await authServer({'silent':![],'openBrowser':![]});_0x177def?console['log']('*\x20Login\x20successful!'):console[_0x4abaa2(0x177)](_0x4abaa2(0x17a));return;}const _0x5bdede=a4_0xc58199(_0x4abaa2(0x176))['start'](),_0x360a14=await authServer({'silent':!![],'openBrowser':!![]});_0x5bdede['stop'](),_0x360a14?console[_0x4abaa2(0x177)](_0x4abaa2(0x174)):console['log'](_0x4abaa2(0x17a));}
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_0x502df7=a5_0x3657;(function(_0x3f28e9,_0x40464c){const _0x261599=a5_0x3657,_0x275e65=_0x3f28e9();while(!![]){try{const _0x57c01f=parseInt(_0x261599(0x112))/0x1+parseInt(_0x261599(0x111))/0x2+parseInt(_0x261599(0x133))/0x3+-parseInt(_0x261599(0x122))/0x4+parseInt(_0x261599(0x129))/0x5*(-parseInt(_0x261599(0x121))/0x6)+parseInt(_0x261599(0x10f))/0x7+-parseInt(_0x261599(0x134))/0x8*(parseInt(_0x261599(0x120))/0x9);if(_0x57c01f===_0x40464c)break;else _0x275e65['push'](_0x275e65['shift']());}catch(_0x2ae101){_0x275e65['push'](_0x275e65['shift']());}}}(a5_0x4c9c,0xe61ff));import{writeFileSync}from'node:fs';import a5_0x5037e9 from'node:http';import a5_0x358a73 from'node:https';import{getUserDomain}from'../constant/domain.js';import{getOfficialRoutingCdn,getOfficialRoutingProfile}from'../constant/routing-profile.js';import{getProjectDomainRoutingManifest}from'../config/project-domain-routing.js';import{exec}from'node:child_process';import{getIsSessionValid}from'../auth/is-session-valid.js';import{cookieFile}from'../auth/constant.js';import{buildLoginSuccessHtml}from'../auth/login-success-html.js';function a5_0x4c9c(){const _0x4935aa=['Auth\x20server\x20error:','5eqsBGg','json','port','🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:','/api/auth/get-session','utf-8','user','headers','text/html;\x20charset=utf-8','!\x20Login\x20URL\x20expired\x20after\x2010\x20minutes.\x20Run\x20the\x20login\x20command\x20again\x20to\x20get\x20a\x20new\x20URL.','379068wyUkvj','328oqnmiw','writeHead','createServer','open\x20\x22','address','✅\x20Browser\x20opened.\x20Please\x20complete\x20login\x20in\x20the\x20browser.','then','win32','💡\x20If\x20the\x20browser\x20does\x20not\x20open\x20automatically,\x20copy\x20the\x20login\x20URL\x20above\x20into\x20your\x20browser.','openBrowser','6020147EMVDcl','log','699132ATozQL','1773782socadq','error','/sign-in?redirect=','🌐\x20Attempting\x20to\x20open\x20browser\x20automatically...','📍\x20Login\x20URL:','object','local','close','lovrabet','🔐\x20Starting\x20login\x20service...','catch','timeoutMs','certificateUrl','origin','61227AlWCAx','9941394VDxxDk','925248fJsJSU','end','platform','xdg-open\x20\x22','💡\x20Open\x20the\x20login\x20URL\x20above\x20in\x20your\x20browser\x20to\x20complete\x20authorization.','isAuth'];a5_0x4c9c=function(){return _0x4935aa;};return a5_0x4c9c();}export const AUTH_LOGIN_TIMEOUT_MS=0xa*0x3c*0x3e8;export function resolveAuthCallbackRouting(_0x29996){const _0x5f1873=a5_0x3657;if(!_0x29996)return getProjectDomainRoutingManifest()[_0x5f1873(0x118)];const _0x282958=getOfficialRoutingProfile(_0x29996),_0x193259=getOfficialRoutingCdn(_0x29996);return{'origin':_0x282958['local'][_0x5f1873(0x11f)],'certificateUrl':_0x193259[_0x5f1873(0x11a)]+'/cert/lovrabet-dev.json'};}function a5_0x3657(_0x4429c1,_0x2b33f2){_0x4429c1=_0x4429c1-0x10b;const _0x4c9cc4=a5_0x4c9c();let _0x3657ce=_0x4c9cc4[_0x4429c1];return _0x3657ce;}function withPort(_0x294f02,_0x238a38){const _0x197bee=a5_0x3657,_0x329551=new URL(_0x294f02);return _0x329551[_0x197bee(0x12b)]=String(_0x238a38),_0x329551[_0x197bee(0x11f)];}export async function authServer(_0x41e541){const _0x12922a=a5_0x3657,_0x3ba286=_0x41e541?.['silent']||![],_0x4a5b0d=_0x41e541?.[_0x12922a(0x10e)]??!![],_0x50b489=_0x41e541?.[_0x12922a(0x11d)]??AUTH_LOGIN_TIMEOUT_MS;if(await getIsSessionValid())return!![];const _0x2a7124=resolveAuthCallbackRouting(),_0x1966bd=_0x2a7124['certificateUrl']?await(await fetch(_0x2a7124[_0x12922a(0x11e)]))[_0x12922a(0x12a)]():undefined;return new Promise(async(_0x485a12,_0x405cc5)=>{const _0x227935=_0x12922a;let _0x4e2328=0x0,_0x509309=![],_0x3c1273;const _0x507ce8=async(_0x1b7e74,_0x2d401f)=>{const _0x38971f=a5_0x3657,_0x5124f3=getUserDomain(),_0x293ef0=_0x1b7e74[_0x38971f(0x130)]['cookie']||'',_0x3397fe=await fetch(_0x5124f3+_0x38971f(0x12d),{'headers':{'cookie':_0x293ef0}})[_0x38971f(0x10b)](_0x564285=>_0x564285[_0x38971f(0x12a)]()),_0x2d28d0=_0x3397fe&&_0x3397fe['session']&&_0x3397fe[_0x38971f(0x12f)];if(_0x2d28d0){writeFileSync(cookieFile,_0x293ef0,_0x38971f(0x12e));const _0x4fb3c8=buildLoginSuccessHtml();_0x2d401f[_0x38971f(0x135)](0xc8,{'Content-Type':_0x38971f(0x131)}),_0x2d401f[_0x38971f(0x123)](_0x4fb3c8),_0x214486(!![]);}else{const _0x36c350=encodeURIComponent(withPort(_0x2a7124['origin'],_0x4e2328));_0x2d401f[_0x38971f(0x135)](0x12e,{'location':_0x5124f3+_0x38971f(0x114)+_0x36c350}),_0x2d401f[_0x38971f(0x123)]();return;}},_0x4bf0d1=_0x1966bd?a5_0x358a73[_0x227935(0x136)](_0x1966bd,_0x507ce8):a5_0x5037e9[_0x227935(0x136)](_0x507ce8);function _0x214486(_0x35124a){const _0x4b676a=_0x227935;if(_0x509309)return;_0x509309=!![],_0x3c1273&&clearTimeout(_0x3c1273),_0x4bf0d1[_0x4b676a(0x119)](),_0x485a12(_0x35124a);}_0x4bf0d1['listen'](0x0,'127.0.0.1',()=>{const _0x2aa87c=_0x227935,_0x1b3e50=_0x4bf0d1[_0x2aa87c(0x138)]();_0x4e2328=typeof _0x1b3e50===_0x2aa87c(0x117)&&_0x1b3e50?_0x1b3e50['port']:Number(_0x1b3e50);const _0x399f4f=withPort(_0x2a7124['origin'],_0x4e2328);_0x3c1273=setTimeout(()=>{const _0x52b067=_0x2aa87c;!_0x3ba286&&console['log'](_0x52b067(0x132)),_0x214486(![]);},_0x50b489);!_0x3ba286&&(console[_0x2aa87c(0x110)](_0x2aa87c(0x11b)),console[_0x2aa87c(0x110)](_0x2aa87c(0x116),_0x399f4f),_0x4a5b0d?(console[_0x2aa87c(0x110)](_0x2aa87c(0x115)),console[_0x2aa87c(0x110)](''),console[_0x2aa87c(0x110)](_0x2aa87c(0x10d))):console['log'](_0x2aa87c(0x126)),console['log'](''));if(!_0x4a5b0d)return;openInBrowser(_0x399f4f)['then'](_0x28c4e8=>{const _0x50587f=_0x2aa87c;!_0x3ba286&&(_0x28c4e8?console[_0x50587f(0x110)](_0x50587f(0x139)):(console[_0x50587f(0x110)]('⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console[_0x50587f(0x110)](_0x50587f(0x12c),_0x399f4f)),console[_0x50587f(0x110)](''));})[_0x2aa87c(0x11c)](()=>{const _0x29872d=_0x2aa87c;!_0x3ba286&&(console['log']('⚠️\x20\x20Failed\x20to\x20open\x20browser\x20automatically'),console['log']('🔗\x20Please\x20copy\x20the\x20login\x20URL\x20into\x20your\x20browser:',_0x399f4f),console[_0x29872d(0x110)](''));});}),_0x4bf0d1['on'](_0x227935(0x113),_0x46d1a5=>{const _0x1aa4c2=_0x227935;if(_0x509309)return;_0x509309=!![],_0x3c1273&&clearTimeout(_0x3c1273),!_0x3ba286&&console[_0x1aa4c2(0x113)](_0x1aa4c2(0x128),_0x46d1a5),_0x4bf0d1[_0x1aa4c2(0x119)](),_0x405cc5(_0x46d1a5);});});}function openInBrowser(_0x58c93d){return new Promise(_0x73d157=>{const _0x251614=a5_0x3657,_0x52334f=process[_0x251614(0x124)];let _0x34be67;if(_0x52334f===_0x251614(0x10c))_0x34be67='cmd\x20/c\x20start\x20\x22\x22\x20\x22'+_0x58c93d+'\x22';else _0x52334f==='darwin'?_0x34be67=_0x251614(0x137)+_0x58c93d+'\x22':_0x34be67=_0x251614(0x125)+_0x58c93d+'\x22';exec(_0x34be67,_0x133690=>{_0x133690?_0x73d157(![]):_0x73d157(!![]);});});}if(import.meta.main){const isAuth=await authServer();console[a5_0x502df7(0x110)](a5_0x502df7(0x127),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_0x1435c1=a6_0x3c00;(function(_0x17d495,_0x3fec58){const _0x10637f=a6_0x3c00,_0x1083d8=_0x17d495();while(!![]){try{const _0x340203=parseInt(_0x10637f(0x1b3))/0x1+-parseInt(_0x10637f(0x1af))/0x2*(-parseInt(_0x10637f(0x1ab))/0x3)+parseInt(_0x10637f(0x1b5))/0x4+parseInt(_0x10637f(0x1ac))/0x5+-parseInt(_0x10637f(0x1b1))/0x6+parseInt(_0x10637f(0x1ae))/0x7*(parseInt(_0x10637f(0x1b2))/0x8)+-parseInt(_0x10637f(0x1b0))/0x9;if(_0x340203===_0x3fec58)break;else _0x1083d8['push'](_0x1083d8['shift']());}catch(_0x163d64){_0x1083d8['push'](_0x1083d8['shift']());}}}(a6_0x5016,0xc424e));import{mkdirSync}from'node:fs';import{homedir}from'node:os';import{join}from'node:path';export const configDir=join(homedir(),a6_0x1435c1(0x1b4));function a6_0x3c00(_0x526131,_0x3e6454){_0x526131=_0x526131-0x1ab;const _0x50163c=a6_0x5016();let _0x3c001d=_0x50163c[_0x526131];return _0x3c001d;}export const cookieFile=join(configDir,a6_0x1435c1(0x1ad));mkdirSync(configDir,{'recursive':!![]});function a6_0x5016(){const _0x2c4c0b=['8754234FduFkV','2497128gxFjaj','452440JkGVol','.lovrabet','5780228gBmCjm','294327WzUZxC','5641475gMJBsY','cookie','7tKyAxZ','4gyETJA','11445354uGQIKP'];a6_0x5016=function(){return _0x2c4c0b;};return a6_0x5016();}
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_0x5275(){var _0x212e4a=['1586599PmuenM','66vbNnpi','2604020UNjiUs','1797262embHjE','4860495LfJTig','1192446glKwYp','1saDsYa','1202976SgjUMU','40PyVbii','15eHAMEi','3057284bMOKuh'];a7_0x5275=function(){return _0x212e4a;};return a7_0x5275();}(function(_0x58d233,_0xe0cb26){var _0x5cb0d8=a7_0x3fac,_0x22bcc5=_0x58d233();while(!![]){try{var _0x5507ec=parseInt(_0x5cb0d8(0x163))/0x1*(-parseInt(_0x5cb0d8(0x160))/0x2)+-parseInt(_0x5cb0d8(0x162))/0x3+-parseInt(_0x5cb0d8(0x167))/0x4+-parseInt(_0x5cb0d8(0x166))/0x5*(-parseInt(_0x5cb0d8(0x164))/0x6)+parseInt(_0x5cb0d8(0x168))/0x7*(parseInt(_0x5cb0d8(0x165))/0x8)+-parseInt(_0x5cb0d8(0x161))/0x9+parseInt(_0x5cb0d8(0x15f))/0xa*(parseInt(_0x5cb0d8(0x169))/0xb);if(_0x5507ec===_0xe0cb26)break;else _0x22bcc5['push'](_0x22bcc5['shift']());}catch(_0xd04cff){_0x22bcc5['push'](_0x22bcc5['shift']());}}}(a7_0x5275,0xaa178));import{readFileSync}from'node:fs';import{cookieFile}from'../auth/constant.js';function a7_0x3fac(_0x4701db,_0x4f10bf){_0x4701db=_0x4701db-0x15f;var _0x52758e=a7_0x5275();var _0x3fac94=_0x52758e[_0x4701db];return _0x3fac94;}export function getCookie(){try{return readFileSync(cookieFile,'utf-8');}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 a8_0x3906(){const _0x36aaa6=['session','275812gCPQXA','267762httbNJ','215767GIOXre','2bPUodI','206211DgSsWp','user','90hHVGiW','utf-8','920310VFabcb','77rWEbRw','5566pCZiBl','json','26930blxlfk','63864RpTQNl'];a8_0x3906=function(){return _0x36aaa6;};return a8_0x3906();}(function(_0x2522c6,_0x3b90a9){const _0x59cfa0=a8_0x137c,_0x4e4134=_0x2522c6();while(!![]){try{const _0x467720=-parseInt(_0x59cfa0(0x86))/0x1*(parseInt(_0x59cfa0(0x87))/0x2)+parseInt(_0x59cfa0(0x88))/0x3+-parseInt(_0x59cfa0(0x84))/0x4+-parseInt(_0x59cfa0(0x8c))/0x5+parseInt(_0x59cfa0(0x85))/0x6*(-parseInt(_0x59cfa0(0x8d))/0x7)+parseInt(_0x59cfa0(0x82))/0x8*(parseInt(_0x59cfa0(0x8a))/0x9)+-parseInt(_0x59cfa0(0x81))/0xa*(-parseInt(_0x59cfa0(0x8e))/0xb);if(_0x467720===_0x3b90a9)break;else _0x4e4134['push'](_0x4e4134['shift']());}catch(_0x3a2431){_0x4e4134['push'](_0x4e4134['shift']());}}}(a8_0x3906,0x86a7a));import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';function a8_0x137c(_0x3f697e,_0x5af7f1){_0x3f697e=_0x3f697e-0x80;const _0x3906d4=a8_0x3906();let _0x137cc4=_0x3906d4[_0x3f697e];return _0x137cc4;}export async function getSessionUserInfo(){const _0x3200da=a8_0x137c;try{if(!existsSync(cookieFile))return null;const _0x46c77d=readFileSync(cookieFile,_0x3200da(0x8b)),_0x1a135=await fetch(getUserDomain()+'/api/auth/get-session',{'headers':{'cookie':_0x46c77d}});if(!_0x1a135['ok'])return null;const _0x955953=await _0x1a135[_0x3200da(0x80)]();if(!_0x955953[_0x3200da(0x83)]||!_0x955953[_0x3200da(0x89)])return null;return _0x955953;}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(_0x1aa459,_0x5db6fc){const _0x673749=a9_0x1967,_0x1a312d=_0x1aa459();while(!![]){try{const _0xc80926=-parseInt(_0x673749(0x9e))/0x1+-parseInt(_0x673749(0x95))/0x2*(parseInt(_0x673749(0x99))/0x3)+-parseInt(_0x673749(0x98))/0x4*(parseInt(_0x673749(0x96))/0x5)+-parseInt(_0x673749(0x9b))/0x6*(parseInt(_0x673749(0x9c))/0x7)+parseInt(_0x673749(0xa4))/0x8+-parseInt(_0x673749(0x9a))/0x9*(-parseInt(_0x673749(0xa5))/0xa)+parseInt(_0x673749(0xa2))/0xb*(parseInt(_0x673749(0xa0))/0xc);if(_0xc80926===_0x5db6fc)break;else _0x1a312d['push'](_0x1a312d['shift']());}catch(_0x132713){_0x1a312d['push'](_0x1a312d['shift']());}}}(a9_0x1d1a,0x74883));import{existsSync,readFileSync}from'node:fs';import{getUserDomain}from'../constant/domain.js';import{cookieFile}from'../auth/constant.js';function a9_0x1d1a(){const _0x386f51=['189694lgpcMc','5BQRNmY','then','312344jOmBQw','18UZAcSg','558gAPZiY','18XsyoPJ','268667jGwTXI','json','707164vxATZv','user','24DMCXPj','/api/auth/get-session','7638334vUJUmD','session','1355088SWAjUU','62680iAEsxW'];a9_0x1d1a=function(){return _0x386f51;};return a9_0x1d1a();}function a9_0x1967(_0x17a2dd,_0x31e9c2){_0x17a2dd=_0x17a2dd-0x95;const _0x1d1a51=a9_0x1d1a();let _0x196767=_0x1d1a51[_0x17a2dd];return _0x196767;}export async function getIsSessionValid(){const _0x2096e0=a9_0x1967;try{if(!existsSync(cookieFile))return![];const _0x4af4d6=readFileSync(cookieFile,'utf-8'),_0x4bf175=await fetch(getUserDomain()+_0x2096e0(0xa1),{'headers':{'cookie':_0x4af4d6}})[_0x2096e0(0x97)](_0x4f6ee6=>_0x4f6ee6[_0x2096e0(0x9d)]());return _0x4bf175&&_0x4bf175[_0x2096e0(0xa3)]&&_0x4bf175[_0x2096e0(0x9f)];}catch{}return![];}
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 a10_0x30f7(_0x356f74,_0x24fc70){_0x356f74=_0x356f74-0x162;const _0x4ee9a8=a10_0x4ee9();let _0x30f7d7=_0x4ee9a8[_0x356f74];return _0x30f7d7;}function a10_0x4ee9(){const _0x5f0420=['678128WBEupx','2233uFnepW','1572459WYcGPD','616740koNzgt','1jmuaoW','5950cMtvpf','6CNKEMD','Unable\x20to\x20close\x20automatically.\x20Please\x20close\x20this\x20tab\x20or\x20window\x20manually.','36815pmHuoM','148VoJOfh','</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>','221FCkFKB','1343128VdgIsE','90SuWnIj','2569427NsXNrr'];a10_0x4ee9=function(){return _0x5f0420;};return a10_0x4ee9();}(function(_0x79278e,_0x562c8b){const _0x3e0f60=a10_0x30f7,_0x11de47=_0x79278e();while(!![]){try{const _0x216626=-parseInt(_0x3e0f60(0x16e))/0x1*(-parseInt(_0x3e0f60(0x167))/0x2)+-parseInt(_0x3e0f60(0x16c))/0x3+parseInt(_0x3e0f60(0x164))/0x4*(parseInt(_0x3e0f60(0x163))/0x5)+-parseInt(_0x3e0f60(0x170))/0x6*(-parseInt(_0x3e0f60(0x169))/0x7)+parseInt(_0x3e0f60(0x16a))/0x8*(parseInt(_0x3e0f60(0x168))/0x9)+-parseInt(_0x3e0f60(0x16f))/0xa*(-parseInt(_0x3e0f60(0x16b))/0xb)+-parseInt(_0x3e0f60(0x16d))/0xc*(parseInt(_0x3e0f60(0x166))/0xd);if(_0x216626===_0x562c8b)break;else _0x11de47['push'](_0x11de47['shift']());}catch(_0x2acd41){_0x11de47['push'](_0x11de47['shift']());}}}(a10_0x4ee9,0xd73e1));export function buildLoginSuccessHtml(){const _0x11f9b1=a10_0x30f7,_0x513edc=_0x11f9b1(0x162);return'<!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>'+_0x513edc+_0x11f9b1(0x165);}
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(_0x1754ec,_0x1498ab){var _0x82d9a2=a11_0x1a67,_0x2409f8=_0x1754ec();while(!![]){try{var _0x5bf98f=parseInt(_0x82d9a2(0x14a))/0x1+-parseInt(_0x82d9a2(0x155))/0x2*(parseInt(_0x82d9a2(0x152))/0x3)+parseInt(_0x82d9a2(0x154))/0x4+-parseInt(_0x82d9a2(0x149))/0x5+-parseInt(_0x82d9a2(0x14d))/0x6*(-parseInt(_0x82d9a2(0x14b))/0x7)+parseInt(_0x82d9a2(0x150))/0x8*(-parseInt(_0x82d9a2(0x14c))/0x9)+-parseInt(_0x82d9a2(0x148))/0xa*(-parseInt(_0x82d9a2(0x153))/0xb);if(_0x5bf98f===_0x1498ab)break;else _0x2409f8['push'](_0x2409f8['shift']());}catch(_0x4dee38){_0x2409f8['push'](_0x2409f8['shift']());}}}(a11_0x2649,0x96158));function a11_0x2649(){var _0x11a636=['10ewTUbD','4819590cSUsWF','442039lZkjSI','8308489cTpkZJ','9yKMslk','6WMDgaZ','log','✓\x20Logged\x20out','164272fBFHFT','!\x20Not\x20logged\x20in','3IjxXkS','3774518IwPgxJ','2861356PtBdAT','2176494wVrLdf'];a11_0x2649=function(){return _0x11a636;};return a11_0x2649();}import{unlinkSync,existsSync}from'node:fs';import{cookieFile}from'../auth/constant.js';function a11_0x1a67(_0x3304aa,_0x38f3fe){_0x3304aa=_0x3304aa-0x148;var _0x264962=a11_0x2649();var _0x1a6782=_0x264962[_0x3304aa];return _0x1a6782;}export function logout(){var _0x4bb6cb=a11_0x1a67;existsSync(cookieFile)?(unlinkSync(cookieFile),console[_0x4bb6cb(0x14e)](_0x4bb6cb(0x14f))):console[_0x4bb6cb(0x14e)](_0x4bb6cb(0x151));}
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
- const a12_0x5f2056=a12_0x2845;(function(_0x288d2f,_0x5c2177){const _0x637df7=a12_0x2845,_0x491d5f=_0x288d2f();while(!![]){try{const _0x44d408=parseInt(_0x637df7(0xac))/0x1*(-parseInt(_0x637df7(0xb0))/0x2)+parseInt(_0x637df7(0xad))/0x3*(-parseInt(_0x637df7(0xb2))/0x4)+parseInt(_0x637df7(0xb1))/0x5+-parseInt(_0x637df7(0xb7))/0x6*(parseInt(_0x637df7(0xb3))/0x7)+parseInt(_0x637df7(0xb6))/0x8+parseInt(_0x637df7(0xb4))/0x9*(-parseInt(_0x637df7(0xaf))/0xa)+parseInt(_0x637df7(0xb5))/0xb;if(_0x44d408===_0x5c2177)break;else _0x491d5f['push'](_0x491d5f['shift']());}catch(_0x428f48){_0x491d5f['push'](_0x491d5f['shift']());}}}(a12_0x2d15,0x76b3f));function a12_0x2d15(){const _0x219215=['15485052MDvkJR','1875704XcLGaz','282780WMvyKy','179hEZeHE','272034IIrPjz','boolean','285910oSfgCi','9898hYBhqk','2905555kDIhhC','8caVUms','91JSeXSx','18EcsHGu'];a12_0x2d15=function(){return _0x219215;};return a12_0x2d15();}function a12_0x2845(_0x17b9bb,_0x179ef2){_0x17b9bb=_0x17b9bb-0xac;const _0x2d157a=a12_0x2d15();let _0x284533=_0x2d157a[_0x17b9bb];return _0x284533;}export const dynamicCliFlags={'enableBffSave':{'type':a12_0x5f2056(0xae)}};
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)}};