@lovrabet/rabetbase-cli 2.3.16-beta.7 → 2.4.1

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 (435) hide show
  1. package/README.md +4 -10
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/fetch-model-list.js +1 -1
  4. package/lib/api/generate-api-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/get.js +1 -1
  53. package/lib/commands/config/index.js +1 -1
  54. package/lib/commands/config/list.js +1 -1
  55. package/lib/commands/config/set.js +1 -1
  56. package/lib/commands/config/shared.js +1 -1
  57. package/lib/commands/data/filter.js +1 -1
  58. package/lib/commands/data/getOne.js +1 -1
  59. package/lib/commands/data/index.js +1 -1
  60. package/lib/commands/data/shared.js +1 -1
  61. package/lib/commands/dataset/business-group-update.js +1 -1
  62. package/lib/commands/dataset/capability.js +1 -1
  63. package/lib/commands/dataset/delete.js +1 -1
  64. package/lib/commands/dataset/detail.js +1 -1
  65. package/lib/commands/dataset/extend-update.js +1 -1
  66. package/lib/commands/dataset/field-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff.js +1 -1
  88. package/lib/commands/db/index.js +1 -1
  89. package/lib/commands/db/list.js +1 -1
  90. package/lib/commands/db/shared.js +1 -1
  91. package/lib/commands/db/tables.js +1 -1
  92. package/lib/commands/db/test.js +1 -1
  93. package/lib/commands/db/update.js +1 -1
  94. package/lib/commands/doctor.js +1 -1
  95. package/lib/commands/file/index.js +1 -1
  96. package/lib/commands/init/index.js +1 -1
  97. package/lib/commands/issue/index.js +1 -1
  98. package/lib/commands/issue/nudge.js +1 -1
  99. package/lib/commands/issue/report.js +1 -1
  100. package/lib/commands/issue/shared.js +1 -1
  101. package/lib/commands/kb/create.js +1 -1
  102. package/lib/commands/kb/delete.js +1 -1
  103. package/lib/commands/kb/detail.js +1 -1
  104. package/lib/commands/kb/index.js +1 -1
  105. package/lib/commands/kb/list.js +1 -1
  106. package/lib/commands/kb/shared.js +1 -1
  107. package/lib/commands/kb/update.js +1 -1
  108. package/lib/commands/logs/index.js +1 -1
  109. package/lib/commands/menu/asset-update.js +1 -1
  110. package/lib/commands/menu/delete.js +1 -1
  111. package/lib/commands/menu/external-link-create.js +1 -1
  112. package/lib/commands/menu/external-link-update.js +1 -1
  113. package/lib/commands/menu/group-create.js +1 -1
  114. package/lib/commands/menu/group-update.js +1 -1
  115. package/lib/commands/menu/index.js +1 -1
  116. package/lib/commands/menu/list.js +1 -1
  117. package/lib/commands/menu/move.js +1 -1
  118. package/lib/commands/menu/regroup-start.js +1 -1
  119. package/lib/commands/menu/rename.js +1 -1
  120. package/lib/commands/menu/shared/compare-table.js +1 -1
  121. package/lib/commands/menu/shared/delete-plan.js +1 -1
  122. package/lib/commands/menu/shared/facts.js +1 -1
  123. package/lib/commands/menu/shared/index.js +1 -1
  124. package/lib/commands/menu/shared/inquirer.js +1 -1
  125. package/lib/commands/menu/shared/local-pages.js +1 -1
  126. package/lib/commands/menu/shared/logic.js +1 -1
  127. package/lib/commands/menu/shared/mutations.js +1 -1
  128. package/lib/commands/menu/shared/service.js +1 -1
  129. package/lib/commands/menu/shared/sync-core.js +1 -1
  130. package/lib/commands/menu/shared/update-core.js +1 -1
  131. package/lib/commands/menu/shared/valid-url.js +1 -1
  132. package/lib/commands/menu/sync.js +1 -1
  133. package/lib/commands/notification/config-list.js +1 -1
  134. package/lib/commands/notification/index.js +1 -1
  135. package/lib/commands/ocr/index.js +1 -1
  136. package/lib/commands/page/generate-start.js +1 -1
  137. package/lib/commands/page/generate-status.js +1 -1
  138. package/lib/commands/page/index.js +1 -1
  139. package/lib/commands/page/pull.js +1 -1
  140. package/lib/commands/page/push.js +1 -1
  141. package/lib/commands/page/react/create.d.ts +2 -0
  142. package/lib/commands/page/react/create.js +1 -0
  143. package/lib/commands/page/react/detail.d.ts +2 -0
  144. package/lib/commands/page/react/detail.js +1 -0
  145. package/lib/commands/page/react/list.d.ts +2 -0
  146. package/lib/commands/page/react/list.js +1 -0
  147. package/lib/commands/page/react/publish.d.ts +2 -0
  148. package/lib/commands/page/react/publish.js +1 -0
  149. package/lib/commands/page/react/shared.d.ts +78 -0
  150. package/lib/commands/page/react/shared.js +1 -0
  151. package/lib/commands/page/react/syntax.d.ts +18 -0
  152. package/lib/commands/page/react/syntax.js +1 -0
  153. package/lib/commands/page/react/template.d.ts +8 -0
  154. package/lib/commands/page/react/template.js +1 -0
  155. package/lib/commands/page/react/update.d.ts +2 -0
  156. package/lib/commands/page/react/update.js +1 -0
  157. package/lib/commands/page/relation-audit.js +1 -1
  158. package/lib/commands/page/restore.js +1 -1
  159. package/lib/commands/page/shared.d.ts +1 -0
  160. package/lib/commands/page/shared.js +1 -1
  161. package/lib/commands/page/standard-page-status.js +1 -1
  162. package/lib/commands/page/sync.js +1 -1
  163. package/lib/commands/permit/index.js +1 -1
  164. package/lib/commands/permit/page-get.js +1 -1
  165. package/lib/commands/permit/page-set.js +1 -1
  166. package/lib/commands/permit/role-apis-set.js +1 -1
  167. package/lib/commands/permit/role-menus-set.js +1 -1
  168. package/lib/commands/permit/role-menus.js +1 -1
  169. package/lib/commands/permit/shared.js +1 -1
  170. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  171. package/lib/commands/project/create/format-elapsed.js +1 -1
  172. package/lib/commands/project/create/main.js +1 -1
  173. package/lib/commands/project/create/non-interactive.js +1 -1
  174. package/lib/commands/project/create/project-template-path.js +1 -1
  175. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  176. package/lib/commands/project/create/use-format-code.js +1 -1
  177. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  178. package/lib/commands/project/index.js +1 -1
  179. package/lib/commands/project/upgrade.js +1 -1
  180. package/lib/commands/registry.js +1 -1
  181. package/lib/commands/role/create.js +1 -1
  182. package/lib/commands/role/delete.js +1 -1
  183. package/lib/commands/role/detail.js +1 -1
  184. package/lib/commands/role/index.js +1 -1
  185. package/lib/commands/role/list.js +1 -1
  186. package/lib/commands/role/shared.js +1 -1
  187. package/lib/commands/role/update.js +1 -1
  188. package/lib/commands/role/user-add.js +1 -1
  189. package/lib/commands/role/user-remove.js +1 -1
  190. package/lib/commands/role/user-resolve.js +1 -1
  191. package/lib/commands/run/index.js +1 -1
  192. package/lib/commands/schema.js +1 -1
  193. package/lib/commands/sql/create.js +1 -1
  194. package/lib/commands/sql/delete.js +1 -1
  195. package/lib/commands/sql/detail.js +1 -1
  196. package/lib/commands/sql/exec.js +1 -1
  197. package/lib/commands/sql/index.js +1 -1
  198. package/lib/commands/sql/list.js +1 -1
  199. package/lib/commands/sql/pull.js +1 -1
  200. package/lib/commands/sql/push.js +1 -1
  201. package/lib/commands/sql/shared.js +1 -1
  202. package/lib/commands/sql/status.js +1 -1
  203. package/lib/commands/sql/validate.js +1 -1
  204. package/lib/commands/task/index.js +1 -1
  205. package/lib/commands/task/status.js +1 -1
  206. package/lib/commands/tenant/index.js +1 -1
  207. package/lib/commands/tenant/members-list.js +1 -1
  208. package/lib/commands/tenant/shared.js +1 -1
  209. package/lib/commands/user-account/dingding-sandbox-bind.d.ts +2 -0
  210. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -0
  211. package/lib/commands/user-account/index.d.ts +2 -0
  212. package/lib/commands/user-account/index.js +1 -0
  213. package/lib/commands/workspace/add.js +1 -1
  214. package/lib/commands/workspace/index.js +1 -1
  215. package/lib/commands/workspace/remove.js +1 -1
  216. package/lib/config/schema.js +1 -1
  217. package/lib/constant/cdn.js +1 -1
  218. package/lib/constant/cli.js +1 -1
  219. package/lib/constant/defaults.js +1 -1
  220. package/lib/constant/domain.js +1 -1
  221. package/lib/constant/env.js +1 -1
  222. package/lib/constant/output.js +1 -1
  223. package/lib/constant/paths.js +1 -1
  224. package/lib/constant/risk.js +1 -1
  225. package/lib/context/app-resolver.js +1 -1
  226. package/lib/context/auth-resolver.js +1 -1
  227. package/lib/context/config-loader.js +1 -1
  228. package/lib/context.js +1 -1
  229. package/lib/core/alias-resolver.js +1 -1
  230. package/lib/core/api-client.d.ts +117 -0
  231. package/lib/core/api-client.js +1 -1
  232. package/lib/core/bff/config.js +1 -1
  233. package/lib/core/bff/file-system.js +1 -1
  234. package/lib/core/bff/hash.js +1 -1
  235. package/lib/core/bff/lock.js +1 -1
  236. package/lib/core/bff/utils.js +1 -1
  237. package/lib/core/db-resolver.js +1 -1
  238. package/lib/core/page/file-system.js +1 -1
  239. package/lib/core/page/hash.js +1 -1
  240. package/lib/core/page/lock.js +1 -1
  241. package/lib/core/sql-index-auditor.js +1 -1
  242. package/lib/core/sql-sync/config.js +1 -1
  243. package/lib/core/sql-sync/file-system.js +1 -1
  244. package/lib/core/sql-sync/hash.js +1 -1
  245. package/lib/core/sql-sync/lock.js +1 -1
  246. package/lib/core/sql-sync/utils.js +1 -1
  247. package/lib/core/sql-validator.js +1 -1
  248. package/lib/errors.js +1 -1
  249. package/lib/framework/build-all-flags.js +1 -1
  250. package/lib/framework/error-output.js +1 -1
  251. package/lib/framework/explicit-yes.js +1 -1
  252. package/lib/framework/flags.js +1 -1
  253. package/lib/framework/help.js +1 -1
  254. package/lib/framework/index.js +1 -1
  255. package/lib/framework/output.js +1 -1
  256. package/lib/framework/response.js +1 -1
  257. package/lib/framework/runner-alias.js +1 -1
  258. package/lib/framework/runner.js +1 -1
  259. package/lib/framework/schema-export.js +1 -1
  260. package/lib/framework/types.js +1 -1
  261. package/lib/generated/build-info.d.ts +4 -4
  262. package/lib/generated/build-info.js +1 -1
  263. package/lib/help.js +1 -1
  264. package/lib/postinstall.d.ts +3 -0
  265. package/lib/postinstall.js +1 -0
  266. package/lib/runtime/confirmation.js +1 -1
  267. package/lib/runtime/event.js +1 -1
  268. package/lib/runtime/index.js +1 -1
  269. package/lib/runtime/queue.js +1 -1
  270. package/lib/runtime/resolve.js +1 -1
  271. package/lib/skills/builtin-skill.d.ts +37 -0
  272. package/lib/skills/builtin-skill.js +1 -0
  273. package/lib/skills/main.js +1 -1
  274. package/lib/skills/npx-skills-add.d.ts +4 -2
  275. package/lib/skills/npx-skills-add.js +1 -1
  276. package/lib/skills/skill-presence.js +1 -1
  277. package/lib/telemetry/cli-command-trace.js +1 -1
  278. package/lib/telemetry/cli-help-trace.js +1 -1
  279. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  280. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  281. package/lib/telemetry/send-cli-trace-log.js +1 -1
  282. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  283. package/lib/utils/ai_config.js +1 -1
  284. package/lib/utils/apply-jq-filter.js +1 -1
  285. package/lib/utils/cdn-config.js +1 -1
  286. package/lib/utils/check-sdk-version.js +1 -1
  287. package/lib/utils/cli-version-check.js +1 -1
  288. package/lib/utils/cli-version-policy.js +1 -1
  289. package/lib/utils/config.js +1 -1
  290. package/lib/utils/copy-directory.js +1 -1
  291. package/lib/utils/entity-with-id.js +1 -1
  292. package/lib/utils/file-utils.js +1 -1
  293. package/lib/utils/guides-cdn.js +1 -1
  294. package/lib/utils/http-client.js +1 -1
  295. package/lib/utils/is-non-interactive.js +1 -1
  296. package/lib/utils/logger.js +1 -1
  297. package/lib/utils/params.js +1 -1
  298. package/lib/utils/platform.js +1 -1
  299. package/lib/utils/rules-cdn.js +1 -1
  300. package/lib/utils/sleep.js +1 -1
  301. package/lib/utils/template-replacer.js +1 -1
  302. package/lib/utils/update-notice.js +1 -1
  303. package/lib/utils/version.js +1 -1
  304. package/lib/utils/with-active-cookie.js +1 -1
  305. package/lib/utils/write-cli-side-channel.js +1 -1
  306. package/package.json +9 -3
  307. package/scripts/postinstall.mjs +24 -0
  308. package/skills/rabetbase/SKILL.md +493 -0
  309. package/skills/rabetbase/guides/backend-function.md +835 -0
  310. package/skills/rabetbase/guides/best-practices.md +137 -0
  311. package/skills/rabetbase/guides/bff-creation-workflow.md +148 -0
  312. package/skills/rabetbase/guides/conflict-detection.md +119 -0
  313. package/skills/rabetbase/guides/data-api-guidelines.md +414 -0
  314. package/skills/rabetbase/guides/database-connection-workflow.md +169 -0
  315. package/skills/rabetbase/guides/frontend-development.md +179 -0
  316. package/skills/rabetbase/guides/legacy-application-blueprint-workflow.md +495 -0
  317. package/skills/rabetbase/guides/menu-anomaly-manual-cleanup.md +137 -0
  318. package/skills/rabetbase/guides/page-development-workflow.md +187 -0
  319. package/skills/rabetbase/guides/react-custom-page-workflow.md +184 -0
  320. package/skills/rabetbase/guides/role-permit-workflow.md +127 -0
  321. package/skills/rabetbase/guides/sql-creation-workflow.md +173 -0
  322. package/skills/rabetbase/guides/sql-mybatis.md +126 -0
  323. package/skills/rabetbase/guides/troubleshooting.md +67 -0
  324. package/skills/rabetbase/guides/typescript-sdk.md +227 -0
  325. package/skills/rabetbase/knowledge/page-schema/LrSmartCreate.md +367 -0
  326. package/skills/rabetbase/knowledge/page-schema/LrSmartDetail.md +153 -0
  327. package/skills/rabetbase/knowledge/page-schema/LrSmartEcharts.md +291 -0
  328. package/skills/rabetbase/knowledge/page-schema/LrSmartFilter.md +478 -0
  329. package/skills/rabetbase/knowledge/page-schema/LrSmartJsx.md +119 -0
  330. package/skills/rabetbase/knowledge/page-schema/LrSmartStatistic.md +223 -0
  331. package/skills/rabetbase/knowledge/page-schema/LrSmartTable.md +632 -0
  332. package/skills/rabetbase/knowledge/page-schema/YtPage.md +172 -0
  333. package/skills/rabetbase/knowledge/page-schema/dataset-relations.md +126 -0
  334. package/skills/rabetbase/knowledge/page-schema/external-resources-usage.md +232 -0
  335. package/skills/rabetbase/knowledge/page-schema/field-components.md +312 -0
  336. package/skills/rabetbase/knowledge/page-schema/syntax-reference.md +278 -0
  337. package/skills/rabetbase/knowledge/react-page/components.md +225 -0
  338. package/skills/rabetbase/knowledge/react-page/generation-standards.md +385 -0
  339. package/skills/rabetbase/references/rabetbase-api-list.md +58 -0
  340. package/skills/rabetbase/references/rabetbase-api-pull.md +82 -0
  341. package/skills/rabetbase/references/rabetbase-app-config.md +95 -0
  342. package/skills/rabetbase/references/rabetbase-app-list.md +79 -0
  343. package/skills/rabetbase/references/rabetbase-app-members-list.md +64 -0
  344. package/skills/rabetbase/references/rabetbase-auth-login.md +53 -0
  345. package/skills/rabetbase/references/rabetbase-auth-logout.md +29 -0
  346. package/skills/rabetbase/references/rabetbase-bff-create.md +59 -0
  347. package/skills/rabetbase/references/rabetbase-bff-delete.md +42 -0
  348. package/skills/rabetbase/references/rabetbase-bff-detail.md +38 -0
  349. package/skills/rabetbase/references/rabetbase-bff-list.md +61 -0
  350. package/skills/rabetbase/references/rabetbase-bff-pull.md +42 -0
  351. package/skills/rabetbase/references/rabetbase-bff-push.md +65 -0
  352. package/skills/rabetbase/references/rabetbase-bff-save.md +63 -0
  353. package/skills/rabetbase/references/rabetbase-bff-status.md +37 -0
  354. package/skills/rabetbase/references/rabetbase-cli-skill-install.md +42 -0
  355. package/skills/rabetbase/references/rabetbase-codegen-sdk.md +35 -0
  356. package/skills/rabetbase/references/rabetbase-codegen-sql.md +33 -0
  357. package/skills/rabetbase/references/rabetbase-config.md +296 -0
  358. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +84 -0
  359. package/skills/rabetbase/references/rabetbase-dataset-delete.md +54 -0
  360. package/skills/rabetbase/references/rabetbase-dataset-detail.md +106 -0
  361. package/skills/rabetbase/references/rabetbase-dataset-extend-update.md +70 -0
  362. package/skills/rabetbase/references/rabetbase-dataset-field-update.md +117 -0
  363. package/skills/rabetbase/references/rabetbase-dataset-generate.md +206 -0
  364. package/skills/rabetbase/references/rabetbase-dataset-list.md +42 -0
  365. package/skills/rabetbase/references/rabetbase-dataset-operations.md +34 -0
  366. package/skills/rabetbase/references/rabetbase-dataset-relation-audit.md +63 -0
  367. package/skills/rabetbase/references/rabetbase-dataset-relation-mutations.md +141 -0
  368. package/skills/rabetbase/references/rabetbase-dataset-relations.md +71 -0
  369. package/skills/rabetbase/references/rabetbase-dataset-rename.md +107 -0
  370. package/skills/rabetbase/references/rabetbase-dataset-restore.md +54 -0
  371. package/skills/rabetbase/references/rabetbase-db-analyze.md +135 -0
  372. package/skills/rabetbase/references/rabetbase-db-create.md +54 -0
  373. package/skills/rabetbase/references/rabetbase-db-delete.md +26 -0
  374. package/skills/rabetbase/references/rabetbase-db-detail.md +27 -0
  375. package/skills/rabetbase/references/rabetbase-db-diff.md +57 -0
  376. package/skills/rabetbase/references/rabetbase-db-list.md +37 -0
  377. package/skills/rabetbase/references/rabetbase-db-tables.md +25 -0
  378. package/skills/rabetbase/references/rabetbase-db-test.md +29 -0
  379. package/skills/rabetbase/references/rabetbase-db-update.md +29 -0
  380. package/skills/rabetbase/references/rabetbase-doctor.md +62 -0
  381. package/skills/rabetbase/references/rabetbase-file.md +35 -0
  382. package/skills/rabetbase/references/rabetbase-init.md +70 -0
  383. package/skills/rabetbase/references/rabetbase-issue-report.md +132 -0
  384. package/skills/rabetbase/references/rabetbase-kb.md +62 -0
  385. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +135 -0
  386. package/skills/rabetbase/references/rabetbase-menu-delete.md +54 -0
  387. package/skills/rabetbase/references/rabetbase-menu-external-link-create.md +63 -0
  388. package/skills/rabetbase/references/rabetbase-menu-external-link-update.md +74 -0
  389. package/skills/rabetbase/references/rabetbase-menu-group-create.md +33 -0
  390. package/skills/rabetbase/references/rabetbase-menu-group-update.md +38 -0
  391. package/skills/rabetbase/references/rabetbase-menu-list.md +144 -0
  392. package/skills/rabetbase/references/rabetbase-menu-move.md +54 -0
  393. package/skills/rabetbase/references/rabetbase-menu-regroup-start.md +45 -0
  394. package/skills/rabetbase/references/rabetbase-menu-rename.md +48 -0
  395. package/skills/rabetbase/references/rabetbase-menu-sync.md +60 -0
  396. package/skills/rabetbase/references/rabetbase-notification-config-list.md +80 -0
  397. package/skills/rabetbase/references/rabetbase-ocr.md +86 -0
  398. package/skills/rabetbase/references/rabetbase-page-generate-start.md +32 -0
  399. package/skills/rabetbase/references/rabetbase-page-generate-status.md +32 -0
  400. package/skills/rabetbase/references/rabetbase-page-pull.md +47 -0
  401. package/skills/rabetbase/references/rabetbase-page-push.md +45 -0
  402. package/skills/rabetbase/references/rabetbase-page-react-create.md +29 -0
  403. package/skills/rabetbase/references/rabetbase-page-react-detail.md +26 -0
  404. package/skills/rabetbase/references/rabetbase-page-react-list.md +23 -0
  405. package/skills/rabetbase/references/rabetbase-page-react-publish.md +23 -0
  406. package/skills/rabetbase/references/rabetbase-page-react-update.md +24 -0
  407. package/skills/rabetbase/references/rabetbase-page-relation-binding.md +72 -0
  408. package/skills/rabetbase/references/rabetbase-page-restore.md +45 -0
  409. package/skills/rabetbase/references/rabetbase-page-sync.md +36 -0
  410. package/skills/rabetbase/references/rabetbase-permit-page-set.md +69 -0
  411. package/skills/rabetbase/references/rabetbase-permit-role-apis-set.md +53 -0
  412. package/skills/rabetbase/references/rabetbase-permit-role-menus-set.md +57 -0
  413. package/skills/rabetbase/references/rabetbase-project-create.md +46 -0
  414. package/skills/rabetbase/references/rabetbase-project-upgrade.md +57 -0
  415. package/skills/rabetbase/references/rabetbase-role-list.md +68 -0
  416. package/skills/rabetbase/references/rabetbase-role-user-add.md +54 -0
  417. package/skills/rabetbase/references/rabetbase-role-user-resolve.md +27 -0
  418. package/skills/rabetbase/references/rabetbase-run.md +53 -0
  419. package/skills/rabetbase/references/rabetbase-schema.md +22 -0
  420. package/skills/rabetbase/references/rabetbase-sql-create.md +41 -0
  421. package/skills/rabetbase/references/rabetbase-sql-delete.md +37 -0
  422. package/skills/rabetbase/references/rabetbase-sql-detail.md +32 -0
  423. package/skills/rabetbase/references/rabetbase-sql-exec.md +34 -0
  424. package/skills/rabetbase/references/rabetbase-sql-list.md +54 -0
  425. package/skills/rabetbase/references/rabetbase-sql-pull.md +54 -0
  426. package/skills/rabetbase/references/rabetbase-sql-push.md +46 -0
  427. package/skills/rabetbase/references/rabetbase-sql-status.md +39 -0
  428. package/skills/rabetbase/references/rabetbase-sql-validate.md +73 -0
  429. package/skills/rabetbase/references/rabetbase-standard-page-status.md +31 -0
  430. package/skills/rabetbase/references/rabetbase-task-status.md +40 -0
  431. package/skills/rabetbase/references/rabetbase-tenant-members-list.md +69 -0
  432. package/skills/rabetbase/references/rabetbase-update.md +56 -0
  433. package/skills/rabetbase/references/rabetbase-user-account.md +45 -0
  434. package/skills/rabetbase/references/rabetbase-workspace.md +60 -0
  435. package/skills/rabetbase.manifest.json +137 -0
@@ -1 +1 @@
1
- const a275_0x34bfad=a275_0x17b7;(function(_0x19e5d1,_0x335770){const _0xb94586=a275_0x17b7,_0x4d22d3=_0x19e5d1();while(!![]){try{const _0x41c3a9=parseInt(_0xb94586(0x11b))/0x1+-parseInt(_0xb94586(0x10e))/0x2+-parseInt(_0xb94586(0x119))/0x3+parseInt(_0xb94586(0x115))/0x4+parseInt(_0xb94586(0x112))/0x5*(parseInt(_0xb94586(0x116))/0x6)+-parseInt(_0xb94586(0x10f))/0x7+parseInt(_0xb94586(0x122))/0x8*(parseInt(_0xb94586(0x121))/0x9);if(_0x41c3a9===_0x335770)break;else _0x4d22d3['push'](_0x4d22d3['shift']());}catch(_0x2c61c8){_0x4d22d3['push'](_0x4d22d3['shift']());}}}(a275_0xc4cd,0x7289c));import{existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname,join,resolve}from'node:path';import{fileURLToPath}from'node:url';function a275_0xc4cd(){const _0x3c04ac=['../../templates/rules/lovrabet_rules.mdc.tpl','211146FNVYza','json','status','utf-8','本地模板文件不存在:\x20','lastUpdated','1250829VkyUSc','24dcfygn','application/json','lovrabet_rules.mdc','catch','CDN\x20返回数据格式错误','1164828ALqimx','922320vyctYC','.cursor/rules','agents.md','111405zskwpI','CDN\x20请求失败:\x20','content','1519676GuaoQp','234UCQGaW','string','statusText','2080935egsxOw'];a275_0xc4cd=function(){return _0x3c04ac;};return a275_0xc4cd();}import{getTemplateBaseUrl}from'../utils/config.js';function a275_0x17b7(_0x303e42,_0xed8c11){_0x303e42=_0x303e42-0x10a;const _0xc4cdfd=a275_0xc4cd();let _0x17b744=_0xc4cdfd[_0x303e42];return _0x17b744;}import{appendUpdateTime}from'../utils/guides-cdn.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function getRulesCdnUrl(){const _0x1addfa=getTemplateBaseUrl();return _0x1addfa+'/rules/rules.json';}const LOCAL_TEMPLATE_PATH=resolve(__dirname,a275_0x34bfad(0x11a));export async function fetchRulesFromCDN(){const _0x390ec9=a275_0x34bfad,_0x215fe5=getRulesCdnUrl(),_0x58b56b=await fetch(_0x215fe5,{'headers':{'Accept':_0x390ec9(0x10a)}});if(!_0x58b56b['ok'])throw new Error(_0x390ec9(0x113)+_0x58b56b[_0x390ec9(0x11d)]+'\x20'+_0x58b56b[_0x390ec9(0x118)]);const _0x3bbe77=await _0x58b56b[_0x390ec9(0x11c)]();if(!_0x3bbe77[_0x390ec9(0x114)]||typeof _0x3bbe77[_0x390ec9(0x114)]!==_0x390ec9(0x117))throw new Error(_0x390ec9(0x10d));return _0x3bbe77;}export async function getRulesContent(){const _0x8d6efa=a275_0x34bfad;try{const _0x22fcce=await fetchRulesFromCDN();return _0x22fcce[_0x8d6efa(0x114)];}catch{return readLocalTemplate();}}export function readLocalTemplate(){const _0x577a5e=a275_0x34bfad;if(existsSync(LOCAL_TEMPLATE_PATH))return readFileSync(LOCAL_TEMPLATE_PATH,_0x577a5e(0x11e));throw new Error(_0x577a5e(0x11f)+LOCAL_TEMPLATE_PATH);}export async function writeRulesFile(_0x5da690){const _0x548e14=a275_0x34bfad,_0x3bc5ed=await fetchRulesFromCDN()[_0x548e14(0x10c)](()=>null);let _0x59c537;_0x3bc5ed?(_0x59c537=_0x3bc5ed[_0x548e14(0x114)],_0x3bc5ed[_0x548e14(0x120)]&&(_0x59c537=appendUpdateTime(_0x59c537,_0x3bc5ed[_0x548e14(0x120)]))):_0x59c537=readLocalTemplate();const _0x281bd2=dirname(_0x5da690);!existsSync(_0x281bd2)&&mkdirSync(_0x281bd2,{'recursive':!![]}),writeFileSync(_0x5da690,_0x59c537,_0x548e14(0x11e));}export async function copyRulesToCursor(_0x5964c6){const _0x35b9ed=a275_0x34bfad,_0x54fa2e=join(_0x5964c6,_0x35b9ed(0x110)),_0x1e8c7f=join(_0x54fa2e,_0x35b9ed(0x10b));if(existsSync(_0x1e8c7f))return![];return await writeRulesFile(_0x1e8c7f),!![];}export async function copyRulesToAgentsMd(_0x3a0101){const _0x2e34f9=a275_0x34bfad,_0x2563ca=join(_0x3a0101,_0x2e34f9(0x111));if(existsSync(_0x2563ca))return![];return await writeRulesFile(_0x2563ca),!![];}
1
+ function a287_0x3e71(){const _0x167714=['CDN\x20请求失败:\x20','597060JaayDr','../../templates/rules/lovrabet_rules.mdc.tpl','content','本地模板文件不存在:\x20','/rules/rules.json','lastUpdated','7CHHScw','5STOeBA','12893780WyqTba','116wFTZhq','lovrabet_rules.mdc','status','.cursor/rules','1151656ZYNYot','json','635442PhCzLf','94305qPlCph','355136GHbQUW','104940uMPTEl','string'];a287_0x3e71=function(){return _0x167714;};return a287_0x3e71();}const a287_0x3bc9f8=a287_0x92b2;(function(_0x4e16af,_0x47e4b0){const _0x2efb16=a287_0x92b2,_0x52a981=_0x4e16af();while(!![]){try{const _0x51cef6=-parseInt(_0x2efb16(0x82))/0x1+parseInt(_0x2efb16(0x81))/0x2+-parseInt(_0x2efb16(0x80))/0x3*(parseInt(_0x2efb16(0x8e))/0x4)+-parseInt(_0x2efb16(0x8c))/0x5*(-parseInt(_0x2efb16(0x7f))/0x6)+parseInt(_0x2efb16(0x8b))/0x7*(-parseInt(_0x2efb16(0x92))/0x8)+parseInt(_0x2efb16(0x85))/0x9+parseInt(_0x2efb16(0x8d))/0xa;if(_0x51cef6===_0x47e4b0)break;else _0x52a981['push'](_0x52a981['shift']());}catch(_0x5464d4){_0x52a981['push'](_0x52a981['shift']());}}}(a287_0x3e71,0x74dd9));import{existsSync,mkdirSync,readFileSync,writeFileSync}from'node:fs';import{dirname,join,resolve}from'node:path';function a287_0x92b2(_0x3482a8,_0xa0c3a9){_0x3482a8=_0x3482a8-0x7e;const _0x3e7121=a287_0x3e71();let _0x92b283=_0x3e7121[_0x3482a8];return _0x92b283;}import{fileURLToPath}from'node:url';import{getTemplateBaseUrl}from'../utils/config.js';import{appendUpdateTime}from'../utils/guides-cdn.js';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function getRulesCdnUrl(){const _0xbccaee=a287_0x92b2,_0x33504a=getTemplateBaseUrl();return _0x33504a+_0xbccaee(0x89);}const LOCAL_TEMPLATE_PATH=resolve(__dirname,a287_0x3bc9f8(0x86));export async function fetchRulesFromCDN(){const _0x5307b7=a287_0x3bc9f8,_0x202325=getRulesCdnUrl(),_0x42b6d9=await fetch(_0x202325,{'headers':{'Accept':'application/json'}});if(!_0x42b6d9['ok'])throw new Error(_0x5307b7(0x84)+_0x42b6d9[_0x5307b7(0x90)]+'\x20'+_0x42b6d9['statusText']);const _0x17b64c=await _0x42b6d9[_0x5307b7(0x7e)]();if(!_0x17b64c[_0x5307b7(0x87)]||typeof _0x17b64c[_0x5307b7(0x87)]!==_0x5307b7(0x83))throw new Error('CDN\x20返回数据格式错误');return _0x17b64c;}export async function getRulesContent(){try{const _0x32e6e9=await fetchRulesFromCDN();return _0x32e6e9['content'];}catch{return readLocalTemplate();}}export function readLocalTemplate(){const _0x108c5b=a287_0x3bc9f8;if(existsSync(LOCAL_TEMPLATE_PATH))return readFileSync(LOCAL_TEMPLATE_PATH,'utf-8');throw new Error(_0x108c5b(0x88)+LOCAL_TEMPLATE_PATH);}export async function writeRulesFile(_0x46fe85){const _0x326f70=a287_0x3bc9f8,_0x3d7054=await fetchRulesFromCDN()['catch'](()=>null);let _0x2c9527;_0x3d7054?(_0x2c9527=_0x3d7054['content'],_0x3d7054[_0x326f70(0x8a)]&&(_0x2c9527=appendUpdateTime(_0x2c9527,_0x3d7054[_0x326f70(0x8a)]))):_0x2c9527=readLocalTemplate();const _0x382d62=dirname(_0x46fe85);!existsSync(_0x382d62)&&mkdirSync(_0x382d62,{'recursive':!![]}),writeFileSync(_0x46fe85,_0x2c9527,'utf-8');}export async function copyRulesToCursor(_0x4bd83d){const _0x5965b7=a287_0x3bc9f8,_0x1230a4=join(_0x4bd83d,_0x5965b7(0x91)),_0x34ac41=join(_0x1230a4,_0x5965b7(0x8f));if(existsSync(_0x34ac41))return![];return await writeRulesFile(_0x34ac41),!![];}export async function copyRulesToAgentsMd(_0x4e6067){const _0x2571d8=join(_0x4e6067,'agents.md');if(existsSync(_0x2571d8))return![];return await writeRulesFile(_0x2571d8),!![];}
@@ -1 +1 @@
1
- export function sleep(_0x4bc48b){return new Promise(_0x145cb1=>setTimeout(_0x145cb1,_0x4bc48b));}
1
+ export function sleep(_0x5d95f7){return new Promise(_0x4720f0=>setTimeout(_0x4720f0,_0x5d95f7));}
@@ -1 +1 @@
1
- function a277_0x45e6(_0xd686a8,_0x5e3dd8){_0xd686a8=_0xd686a8-0x132;const _0x1525cc=a277_0x1525();let _0x45e684=_0x1525cc[_0xd686a8];return _0x45e684;}function a277_0x1525(){const _0xb32085=['split','模板内容替换失败','replace','copyFile','isDirectory','LOVRABET','map','success','.tpl','processFile','readFile','api','开始处理模板内容替换','getMinutes','\x20},','replaceContent','name:\x20\x22','263244IlhmlW','now','345232olQmXS','info','8839910ZMIMtF','formatLocalTimestamp','toComponentName','utf8','33330176gzQICL','getHours','.js','.jsx','alias:\x20\x22','.json','9YSeMqf','.scss','YourModel','模板内容替换完成','name','415jDWvgH','toUpperCase','58524VciEoP','toDisplayTitle','push','replaceApiContent','includes','error','join','.tsx','template','21qrvfIn','slice','getFullYear','pad','processTemplate','toISOString','tableName','.css','getSeconds','8ooAArz','padStart','pop','readdir','6040006rCtjkO','toLowerCase','.md','alias','promises','\x0a\x20\x20\x20\x20{\x20','endsWith','114132dmYbOR','datasetCode:\x20\x22','processDirectory','tableName:\x20\x22','mkdir','charAt','extname','message'];a277_0x1525=function(){return _0xb32085;};return a277_0x1525();}const a277_0x45b823=a277_0x45e6;(function(_0x132fbb,_0x509303){const _0xeefffd=a277_0x45e6,_0x3daad4=_0x132fbb();while(!![]){try{const _0x4ed210=parseInt(_0xeefffd(0x136))/0x1*(parseInt(_0xeefffd(0x141))/0x2)+parseInt(_0xeefffd(0x178))/0x3*(parseInt(_0xeefffd(0x15a))/0x4)+-parseInt(_0xeefffd(0x16d))/0x5*(-parseInt(_0xeefffd(0x16f))/0x6)+parseInt(_0xeefffd(0x13a))/0x7+parseInt(_0xeefffd(0x15c))/0x8*(parseInt(_0xeefffd(0x168))/0x9)+parseInt(_0xeefffd(0x15e))/0xa+-parseInt(_0xeefffd(0x162))/0xb;if(_0x4ed210===_0x509303)break;else _0x3daad4['push'](_0x3daad4['shift']());}catch(_0x2750d5){_0x3daad4['push'](_0x3daad4['shift']());}}}(a277_0x1525,0x76d76));import a277_0x247214 from'node:fs';import a277_0x5d7d97 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a277_0x45b823(0x17b)](_0x477cfc){const _0x51077a=a277_0x45b823;return String(_0x477cfc)[_0x51077a(0x137)](0x2,'0');}static[a277_0x45b823(0x15f)](_0x18e835){const _0x1328ed=a277_0x45b823,_0xae02b0=_0x18e835[_0x1328ed(0x17a)](),_0x303b05=this['pad'](_0x18e835['getMonth']()+0x1),_0x59a822=this[_0x1328ed(0x17b)](_0x18e835['getDate']()),_0x30e497=this[_0x1328ed(0x17b)](_0x18e835[_0x1328ed(0x163)]()),_0x3aae79=this[_0x1328ed(0x17b)](_0x18e835[_0x1328ed(0x156)]()),_0x57f2bc=this[_0x1328ed(0x17b)](_0x18e835[_0x1328ed(0x135)]());return{'createdAt':_0xae02b0+'-'+_0x303b05+'-'+_0x59a822+'\x20'+_0x30e497+':'+_0x3aae79+':'+_0x57f2bc,'createdDate':_0xae02b0+'-'+_0x303b05+'-'+_0x59a822,'createdTime':_0x30e497+':'+_0x3aae79+':'+_0x57f2bc};}static[a277_0x45b823(0x160)](_0x20d4ad){const _0x5d8a07=a277_0x45b823,_0x5c4e59=_0x20d4ad[_0x5d8a07(0x149)]('/')['pop']()||_0x20d4ad;return _0x5c4e59[_0x5d8a07(0x149)]('-')[_0x5d8a07(0x14f)](_0x451645=>_0x451645[_0x5d8a07(0x146)](0x0)[_0x5d8a07(0x16e)]()+_0x451645[_0x5d8a07(0x179)](0x1)[_0x5d8a07(0x13b)]())[_0x5d8a07(0x175)]('');}static[a277_0x45b823(0x170)](_0x4c03d1){const _0x511ea2=a277_0x45b823,_0x16417a=_0x4c03d1[_0x511ea2(0x149)]('/')[_0x511ea2(0x138)]()||_0x4c03d1;return _0x16417a[_0x511ea2(0x149)]('-')[_0x511ea2(0x14f)](_0x519737=>_0x519737[_0x511ea2(0x146)](0x0)[_0x511ea2(0x16e)]()+_0x519737[_0x511ea2(0x179)](0x1)[_0x511ea2(0x13b)]())[_0x511ea2(0x175)]('\x20');}static[a277_0x45b823(0x158)](_0x111b12,_0x533657,_0x5bbd89){const _0x5ac30d=a277_0x45b823,_0x261bc0=this['toComponentName'](_0x533657),_0x178b3c=this[_0x5ac30d(0x170)](_0x533657),{createdAt:_0x2a51c1,createdDate:_0x149dc5,createdTime:_0x2581eb}=this[_0x5ac30d(0x15f)](new Date());let _0xee05ac=_0x111b12['replace'](/\{CliVersion\}/g,CLI_VERSION)[_0x5ac30d(0x14b)](/\{ComponentName\}/g,_0x261bc0)[_0x5ac30d(0x14b)](/\{DisplayTitle\}/g,_0x178b3c)['replace'](/\{PageName\}/g,_0x533657)[_0x5ac30d(0x14b)](/\{TemplateName\}/g,_0x5bbd89)[_0x5ac30d(0x14b)](/\{CreatedAt\}/g,_0x2a51c1)[_0x5ac30d(0x14b)](/\{CreatedDate\}/g,_0x149dc5)[_0x5ac30d(0x14b)](/\{CreatedTime\}/g,_0x2581eb);return _0xee05ac;}static[a277_0x45b823(0x172)](_0x46ca48,_0xf6795f,_0x157187,_0xff2f40,_0xd22b12,_0x2b6dab,_0x8184c7,_0x4dbb93){const _0x493aff=a277_0x45b823,_0xe9018c=new Date(),_0x5ab71a=_0xe9018c[_0x493aff(0x132)](),_0xa49430=_0x157187[_0x493aff(0x14f)](_0x4af915=>{const _0x33c059=_0x493aff,_0x1cfe26=[_0x33c059(0x142)+_0x4af915['datasetCode']+'\x22',_0x33c059(0x144)+_0x4af915[_0x33c059(0x133)]+'\x22',_0x33c059(0x159)+_0x4af915[_0x33c059(0x16c)]+'\x22'];return _0x4af915[_0x33c059(0x13d)]&&_0x1cfe26[_0x33c059(0x171)](_0x33c059(0x166)+_0x4af915[_0x33c059(0x13d)]+'\x22'),_0x33c059(0x13f)+_0x1cfe26[_0x33c059(0x175)](',\x20')+_0x33c059(0x157);})['join'](''),_0xe9da54=_0xff2f40||_0x157187[0x0]?.[_0x493aff(0x13d)]||_0x493aff(0x16a);let _0x109635=_0x46ca48['replace'](/\{AppCode\}/g,_0xf6795f)[_0x493aff(0x14b)](/\{ModelConfigs\}/g,_0xa49430)['replace'](/\{ExampleModelName\}/g,_0xe9da54)[_0x493aff(0x14b)](/\{ApiFileName\}/g,_0xd22b12||_0x493aff(0x154))[_0x493aff(0x14b)](/\{ConfigName\}/g,_0x2b6dab||'default')['replace'](/\{ClientConfigParam\}/g,_0x8184c7||'')[_0x493aff(0x14b)](/\{VarPrefix\}/g,_0x4dbb93||_0x493aff(0x14e))['replace'](/\{CreatedAt\}/g,_0x5ab71a);return _0x109635;}static async[a277_0x45b823(0x17c)](_0x29b920,_0x5cc8cb,_0x4f3db6,_0xf33036,_0x33e595=!![]){const _0x32ffaa=a277_0x45b823,_0x4b3f84=Date[_0x32ffaa(0x15b)]();try{_0x33e595&&logger[_0x32ffaa(0x15d)](_0x32ffaa(0x177),_0x32ffaa(0x155),{'templatePath':_0x29b920,'targetPath':_0x5cc8cb,'pageName':_0x4f3db6,'templateName':_0xf33036});await a277_0x247214['promises'][_0x32ffaa(0x145)](_0x5cc8cb,{'recursive':!![]}),await this[_0x32ffaa(0x143)](_0x29b920,_0x5cc8cb,_0x4f3db6,_0xf33036);if(_0x33e595){const _0x5f08fb=Date[_0x32ffaa(0x15b)]()-_0x4b3f84;logger[_0x32ffaa(0x150)](_0x32ffaa(0x177),_0x32ffaa(0x16b),_0x5f08fb,{'pageName':_0x4f3db6,'templateName':_0xf33036});}}catch(_0x20fa24){if(_0x33e595){const _0x11b697=Date[_0x32ffaa(0x15b)]()-_0x4b3f84;logger[_0x32ffaa(0x174)]('template',_0x32ffaa(0x14a),{'templatePath':_0x29b920,'targetPath':_0x5cc8cb,'pageName':_0x4f3db6,'templateName':_0xf33036,'error':_0x20fa24 instanceof Error?_0x20fa24[_0x32ffaa(0x148)]:String(_0x20fa24),'duration':_0x11b697});}throw _0x20fa24;}}static async[a277_0x45b823(0x143)](_0x19a126,_0x1096af,_0x528340,_0x5d428a){const _0x44da5d=a277_0x45b823,_0x10c7bb=await a277_0x247214['promises'][_0x44da5d(0x139)](_0x19a126,{'withFileTypes':!![]});for(const _0x60eb99 of _0x10c7bb){const _0x170ec7=a277_0x5d7d97[_0x44da5d(0x175)](_0x19a126,_0x60eb99[_0x44da5d(0x16c)]);let _0xa19969=a277_0x5d7d97[_0x44da5d(0x175)](_0x1096af,_0x60eb99[_0x44da5d(0x16c)]);_0x60eb99[_0x44da5d(0x16c)][_0x44da5d(0x140)](_0x44da5d(0x151))&&(_0xa19969=a277_0x5d7d97[_0x44da5d(0x175)](_0x1096af,_0x60eb99[_0x44da5d(0x16c)]['replace'](/\.tpl$/,'')));if(_0x60eb99[_0x44da5d(0x14d)]())await a277_0x247214[_0x44da5d(0x13e)][_0x44da5d(0x145)](_0xa19969,{'recursive':!![]}),await this[_0x44da5d(0x143)](_0x170ec7,_0xa19969,_0x528340,_0x5d428a);else _0x60eb99['isFile']()&&await this[_0x44da5d(0x152)](_0x170ec7,_0xa19969,_0x528340,_0x5d428a);}}static async[a277_0x45b823(0x152)](_0x4ea256,_0x4524d4,_0x5f1cfc,_0xa411f0){const _0x26f67c=a277_0x45b823,_0xceb207=a277_0x5d7d97[_0x26f67c(0x147)](_0x4ea256)['toLowerCase']();_0x4ea256[_0x26f67c(0x140)](_0x26f67c(0x151))&&(_0x4524d4=_0x4524d4[_0x26f67c(0x14b)](/\.tpl$/,''));const _0x336e1b=[_0x26f67c(0x176),'.ts',_0x26f67c(0x165),_0x26f67c(0x164),_0x26f67c(0x167),_0x26f67c(0x13c),_0x26f67c(0x134),_0x26f67c(0x169),_0x26f67c(0x151)];if(_0x336e1b[_0x26f67c(0x173)](_0xceb207)||_0x4ea256[_0x26f67c(0x140)](_0x26f67c(0x151))){const _0x465750=await a277_0x247214[_0x26f67c(0x13e)][_0x26f67c(0x153)](_0x4ea256,'utf8'),_0x66e175=this['replaceContent'](_0x465750,_0x5f1cfc,_0xa411f0);await a277_0x247214[_0x26f67c(0x13e)]['writeFile'](_0x4524d4,_0x66e175,_0x26f67c(0x161));}else await a277_0x247214[_0x26f67c(0x13e)][_0x26f67c(0x14c)](_0x4ea256,_0x4524d4);}}
1
+ const a289_0x4c656=a289_0x67f2;function a289_0x67f2(_0x2d10e0,_0xb47088){_0x2d10e0=_0x2d10e0-0x115;const _0x34693f=a289_0x3469();let _0x67f220=_0x34693f[_0x2d10e0];return _0x67f220;}(function(_0x348352,_0x28640f){const _0x25209c=a289_0x67f2,_0x2530e7=_0x348352();while(!![]){try{const _0xdd024d=parseInt(_0x25209c(0x125))/0x1*(parseInt(_0x25209c(0x147))/0x2)+-parseInt(_0x25209c(0x138))/0x3+-parseInt(_0x25209c(0x11a))/0x4+-parseInt(_0x25209c(0x159))/0x5+parseInt(_0x25209c(0x139))/0x6*(parseInt(_0x25209c(0x14d))/0x7)+-parseInt(_0x25209c(0x117))/0x8+-parseInt(_0x25209c(0x13c))/0x9*(-parseInt(_0x25209c(0x132))/0xa);if(_0xdd024d===_0x28640f)break;else _0x2530e7['push'](_0x2530e7['shift']());}catch(_0x541ffa){_0x2530e7['push'](_0x2530e7['shift']());}}}(a289_0x3469,0xf1a1b));function a289_0x3469(){const _0x407a81=['6850990bOljTi','mkdir','error','15123168rdkrSl','pad','processFile','2026592RBRXNc','message','alias','tableName:\x20\x22','copyFile','.jsx','name','模板内容替换失败','.tsx','getDate','now','255364UuQNTZ','replace','datasetCode:\x20\x22','toComponentName','toISOString','isFile','getFullYear','pop','default','toUpperCase','\x20},','.tpl','slice','1850JJGesD','alias:\x20\x22','replaceApiContent','formatLocalTimestamp','toDisplayTitle','endsWith','27573lcFJRI','11487738aIHGoy','.ts','模板内容替换完成','113877rlASLj','toLowerCase','getMonth','getSeconds','template','isDirectory','processDirectory','getHours','readdir','开始处理模板内容替换','promises','4TniFHu','map','success','.scss','readFile','name:\x20\x22','7WxrKUB','datasetCode','join','charAt','.css','utf8','.js','includes','YourModel','LOVRABET','split','padStart'];a289_0x3469=function(){return _0x407a81;};return a289_0x3469();}import a289_0x413aaf from'node:fs';import a289_0x2341dc from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a289_0x4c656(0x118)](_0x504096){const _0x3ea52f=a289_0x4c656;return String(_0x504096)[_0x3ea52f(0x158)](0x2,'0');}static['formatLocalTimestamp'](_0x31b1d8){const _0x15ad84=a289_0x4c656,_0x1aecda=_0x31b1d8[_0x15ad84(0x12b)](),_0x37afa3=this[_0x15ad84(0x118)](_0x31b1d8[_0x15ad84(0x13e)]()+0x1),_0x813314=this[_0x15ad84(0x118)](_0x31b1d8[_0x15ad84(0x123)]()),_0x442c47=this[_0x15ad84(0x118)](_0x31b1d8[_0x15ad84(0x143)]()),_0x31624f=this[_0x15ad84(0x118)](_0x31b1d8['getMinutes']()),_0x4c56c3=this[_0x15ad84(0x118)](_0x31b1d8[_0x15ad84(0x13f)]());return{'createdAt':_0x1aecda+'-'+_0x37afa3+'-'+_0x813314+'\x20'+_0x442c47+':'+_0x31624f+':'+_0x4c56c3,'createdDate':_0x1aecda+'-'+_0x37afa3+'-'+_0x813314,'createdTime':_0x442c47+':'+_0x31624f+':'+_0x4c56c3};}static[a289_0x4c656(0x128)](_0x29f7ac){const _0x122cb2=a289_0x4c656,_0x562c84=_0x29f7ac[_0x122cb2(0x157)]('/')['pop']()||_0x29f7ac;return _0x562c84['split']('-')[_0x122cb2(0x148)](_0x4a69df=>_0x4a69df[_0x122cb2(0x150)](0x0)['toUpperCase']()+_0x4a69df[_0x122cb2(0x131)](0x1)['toLowerCase']())[_0x122cb2(0x14f)]('');}static[a289_0x4c656(0x136)](_0x1815fd){const _0x374aa0=a289_0x4c656,_0x47cf2b=_0x1815fd[_0x374aa0(0x157)]('/')[_0x374aa0(0x12c)]()||_0x1815fd;return _0x47cf2b[_0x374aa0(0x157)]('-')[_0x374aa0(0x148)](_0x75a082=>_0x75a082['charAt'](0x0)[_0x374aa0(0x12e)]()+_0x75a082[_0x374aa0(0x131)](0x1)[_0x374aa0(0x13d)]())[_0x374aa0(0x14f)]('\x20');}static['replaceContent'](_0x12c10c,_0x6e375f,_0x210845){const _0x26c512=a289_0x4c656,_0x2825ca=this['toComponentName'](_0x6e375f),_0x2667ea=this['toDisplayTitle'](_0x6e375f),{createdAt:_0x59c67d,createdDate:_0x1e7a24,createdTime:_0x24c2de}=this[_0x26c512(0x135)](new Date());let _0x259664=_0x12c10c[_0x26c512(0x126)](/\{CliVersion\}/g,CLI_VERSION)[_0x26c512(0x126)](/\{ComponentName\}/g,_0x2825ca)[_0x26c512(0x126)](/\{DisplayTitle\}/g,_0x2667ea)[_0x26c512(0x126)](/\{PageName\}/g,_0x6e375f)[_0x26c512(0x126)](/\{TemplateName\}/g,_0x210845)[_0x26c512(0x126)](/\{CreatedAt\}/g,_0x59c67d)[_0x26c512(0x126)](/\{CreatedDate\}/g,_0x1e7a24)['replace'](/\{CreatedTime\}/g,_0x24c2de);return _0x259664;}static[a289_0x4c656(0x134)](_0x250b71,_0x5cc4eb,_0x468e22,_0x8450ed,_0x4d2585,_0x3da56d,_0x389f51,_0x56c819){const _0x44d2d0=a289_0x4c656,_0x2fc081=new Date(),_0x2ca2f7=_0x2fc081[_0x44d2d0(0x129)](),_0x354a00=_0x468e22[_0x44d2d0(0x148)](_0x4baadd=>{const _0x37e83b=_0x44d2d0,_0x1a65ef=[_0x37e83b(0x127)+_0x4baadd[_0x37e83b(0x14e)]+'\x22',_0x37e83b(0x11d)+_0x4baadd['tableName']+'\x22',_0x37e83b(0x14c)+_0x4baadd[_0x37e83b(0x120)]+'\x22'];return _0x4baadd[_0x37e83b(0x11c)]&&_0x1a65ef['push'](_0x37e83b(0x133)+_0x4baadd[_0x37e83b(0x11c)]+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x1a65ef['join'](',\x20')+_0x37e83b(0x12f);})[_0x44d2d0(0x14f)](''),_0x444c07=_0x8450ed||_0x468e22[0x0]?.[_0x44d2d0(0x11c)]||_0x44d2d0(0x155);let _0x3e9269=_0x250b71['replace'](/\{AppCode\}/g,_0x5cc4eb)['replace'](/\{ModelConfigs\}/g,_0x354a00)['replace'](/\{ExampleModelName\}/g,_0x444c07)[_0x44d2d0(0x126)](/\{ApiFileName\}/g,_0x4d2585||'api')['replace'](/\{ConfigName\}/g,_0x3da56d||_0x44d2d0(0x12d))['replace'](/\{ClientConfigParam\}/g,_0x389f51||'')['replace'](/\{VarPrefix\}/g,_0x56c819||_0x44d2d0(0x156))[_0x44d2d0(0x126)](/\{CreatedAt\}/g,_0x2ca2f7);return _0x3e9269;}static async['processTemplate'](_0x3b025c,_0x5ef435,_0x4671be,_0xbb5e2a,_0x4a3b16=!![]){const _0x4fbc33=a289_0x4c656,_0x4bfb28=Date[_0x4fbc33(0x124)]();try{_0x4a3b16&&logger['info'](_0x4fbc33(0x140),_0x4fbc33(0x145),{'templatePath':_0x3b025c,'targetPath':_0x5ef435,'pageName':_0x4671be,'templateName':_0xbb5e2a});await a289_0x413aaf[_0x4fbc33(0x146)][_0x4fbc33(0x115)](_0x5ef435,{'recursive':!![]}),await this[_0x4fbc33(0x142)](_0x3b025c,_0x5ef435,_0x4671be,_0xbb5e2a);if(_0x4a3b16){const _0x5a4e0c=Date['now']()-_0x4bfb28;logger[_0x4fbc33(0x149)](_0x4fbc33(0x140),_0x4fbc33(0x13b),_0x5a4e0c,{'pageName':_0x4671be,'templateName':_0xbb5e2a});}}catch(_0x56666b){if(_0x4a3b16){const _0x3e9e52=Date[_0x4fbc33(0x124)]()-_0x4bfb28;logger[_0x4fbc33(0x116)]('template',_0x4fbc33(0x121),{'templatePath':_0x3b025c,'targetPath':_0x5ef435,'pageName':_0x4671be,'templateName':_0xbb5e2a,'error':_0x56666b instanceof Error?_0x56666b[_0x4fbc33(0x11b)]:String(_0x56666b),'duration':_0x3e9e52});}throw _0x56666b;}}static async[a289_0x4c656(0x142)](_0x22ecd6,_0x1e4265,_0x59a9c9,_0xa94c7d){const _0x30ffef=a289_0x4c656,_0x4d81f5=await a289_0x413aaf[_0x30ffef(0x146)][_0x30ffef(0x144)](_0x22ecd6,{'withFileTypes':!![]});for(const _0x5f5bda of _0x4d81f5){const _0x13b55c=a289_0x2341dc[_0x30ffef(0x14f)](_0x22ecd6,_0x5f5bda['name']);let _0x47b3e3=a289_0x2341dc[_0x30ffef(0x14f)](_0x1e4265,_0x5f5bda['name']);_0x5f5bda[_0x30ffef(0x120)][_0x30ffef(0x137)](_0x30ffef(0x130))&&(_0x47b3e3=a289_0x2341dc[_0x30ffef(0x14f)](_0x1e4265,_0x5f5bda[_0x30ffef(0x120)][_0x30ffef(0x126)](/\.tpl$/,'')));if(_0x5f5bda[_0x30ffef(0x141)]())await a289_0x413aaf[_0x30ffef(0x146)][_0x30ffef(0x115)](_0x47b3e3,{'recursive':!![]}),await this[_0x30ffef(0x142)](_0x13b55c,_0x47b3e3,_0x59a9c9,_0xa94c7d);else _0x5f5bda[_0x30ffef(0x12a)]()&&await this[_0x30ffef(0x119)](_0x13b55c,_0x47b3e3,_0x59a9c9,_0xa94c7d);}}static async[a289_0x4c656(0x119)](_0xced2b8,_0x173cf4,_0x288bf3,_0x467788){const _0x199b21=a289_0x4c656,_0x3aa990=a289_0x2341dc['extname'](_0xced2b8)[_0x199b21(0x13d)]();_0xced2b8[_0x199b21(0x137)](_0x199b21(0x130))&&(_0x173cf4=_0x173cf4[_0x199b21(0x126)](/\.tpl$/,''));const _0x1e72a2=[_0x199b21(0x122),_0x199b21(0x13a),_0x199b21(0x11f),_0x199b21(0x153),'.json','.md',_0x199b21(0x151),_0x199b21(0x14a),_0x199b21(0x130)];if(_0x1e72a2[_0x199b21(0x154)](_0x3aa990)||_0xced2b8[_0x199b21(0x137)](_0x199b21(0x130))){const _0x39f2bc=await a289_0x413aaf[_0x199b21(0x146)][_0x199b21(0x14b)](_0xced2b8,_0x199b21(0x152)),_0x4d6244=this['replaceContent'](_0x39f2bc,_0x288bf3,_0x467788);await a289_0x413aaf[_0x199b21(0x146)]['writeFile'](_0x173cf4,_0x4d6244,_0x199b21(0x152));}else await a289_0x413aaf[_0x199b21(0x146)][_0x199b21(0x11e)](_0xced2b8,_0x173cf4);}}
@@ -1 +1 @@
1
- (function(_0x32eba1,_0x726ce8){const _0x23c862=a278_0x4a0b,_0x3d192e=_0x32eba1();while(!![]){try{const _0x354d97=-parseInt(_0x23c862(0x16a))/0x1*(-parseInt(_0x23c862(0x153))/0x2)+parseInt(_0x23c862(0x170))/0x3*(parseInt(_0x23c862(0x164))/0x4)+parseInt(_0x23c862(0x15b))/0x5+-parseInt(_0x23c862(0x15c))/0x6*(-parseInt(_0x23c862(0x168))/0x7)+-parseInt(_0x23c862(0x154))/0x8*(parseInt(_0x23c862(0x159))/0x9)+-parseInt(_0x23c862(0x163))/0xa+-parseInt(_0x23c862(0x160))/0xb;if(_0x354d97===_0x726ce8)break;else _0x3d192e['push'](_0x3d192e['shift']());}catch(_0x587989){_0x3d192e['push'](_0x3d192e['shift']());}}}(a278_0x113a,0xb9c05));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';function a278_0x113a(){const _0x2c76ae=['\x20available,\x20current\x20','trim','parse','21WCtwVB','rabetbase-cli','2szNzfC','2064784ooArBX','true','/v/','yes','valid','9zIzjRL','lastNotifiedAt','2030505paEVyJ','182292pXqmPm','number','checkedAt','latest','4116112NumptF','now','stableVersion','7668640pWujFX','443012CkgIRD','\x20update',',\x20run:\x20','object','140uhOafv','utf8','370979EjuRKA','https://www.npmjs.com/package/','stringify'];a278_0x113a=function(){return _0x2c76ae;};return a278_0x113a();}import a278_0x1f3fdc from'semver';function a278_0x4a0b(_0x1996fa,_0x5b4574){_0x1996fa=_0x1996fa-0x153;const _0x113a40=a278_0x113a();let _0x4a0ba5=_0x113a40[_0x1996fa];return _0x4a0ba5;}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x242bf0=a278_0x4a0b,_0x3970b7=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x242bf0(0x16e)]()['toLowerCase']();return _0x3970b7==='1'||_0x3970b7===_0x242bf0(0x155)||_0x3970b7===_0x242bf0(0x157);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x4fb862=a278_0x4a0b;return join(cacheRoot(),_0x4fb862(0x171),'update-check.json');}async function readUpdateNoticeCache(){const _0x148b1b=a278_0x4a0b;try{const _0x241a87=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x2f383d=JSON[_0x148b1b(0x16f)](_0x241a87);if(!_0x2f383d||typeof _0x2f383d!==_0x148b1b(0x167))return{};return _0x2f383d;}catch{return{};}}async function writeUpdateNoticeCache(_0x2aa303){const _0x5e58df=a278_0x4a0b;try{const _0x40bccf=getUpdateNoticeCachePath();await mkdir(dirname(_0x40bccf),{'recursive':!![]}),await writeFile(_0x40bccf,JSON[_0x5e58df(0x16c)](_0x2aa303,null,0x2)+'\x0a',_0x5e58df(0x169));}catch{}}function isFreshCheck(_0x905803,_0x475a50){const _0x22884a=a278_0x4a0b;return typeof _0x905803[_0x22884a(0x15e)]==='number'&&_0x475a50-_0x905803[_0x22884a(0x15e)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x13284f,_0x55f281,_0x19e504){const _0x28ede3=a278_0x4a0b;return _0x13284f['lastNotifiedVersion']===_0x55f281&&typeof _0x13284f[_0x28ede3(0x15a)]===_0x28ede3(0x15d)&&_0x19e504-_0x13284f[_0x28ede3(0x15a)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x405644){const _0x3a64f6=a278_0x4a0b;return _0x3a64f6(0x16b)+NPM_PACKAGE_NAME+_0x3a64f6(0x156)+_0x405644;}export async function resolveLatestUpdateNotice(){const _0x149486=a278_0x4a0b;if(isUpdateNoticeDisabled())return null;try{const _0x2cbf73=Date[_0x149486(0x161)](),_0x596445=getCliVersion(),_0x13c39a=await readUpdateNoticeCache();let _0x3c134d=isFreshCheck(_0x13c39a,_0x2cbf73)?_0x13c39a[_0x149486(0x15f)]?.[_0x149486(0x16e)]():undefined;if(!_0x3c134d&&!isFreshCheck(_0x13c39a,_0x2cbf73)){const _0x146565=await getCliVersionPolicy();_0x3c134d=_0x146565?.[_0x149486(0x162)]?.[_0x149486(0x16e)]()||undefined,await writeUpdateNoticeCache({..._0x13c39a,'checkedAt':_0x2cbf73,'latest':_0x3c134d,'failed':!_0x3c134d});}if(!_0x3c134d||!a278_0x1f3fdc[_0x149486(0x158)](_0x596445)||!a278_0x1f3fdc['valid'](_0x3c134d))return null;if(a278_0x1f3fdc['gte'](_0x596445,_0x3c134d))return null;if(isRecentlyNotified(_0x13c39a,_0x3c134d,_0x2cbf73))return null;const _0x4cd93e=CLI_BIN_NAME+_0x149486(0x165);return await writeUpdateNoticeCache({..._0x13c39a,'checkedAt':isFreshCheck(_0x13c39a,_0x2cbf73)?_0x13c39a[_0x149486(0x15e)]:_0x2cbf73,'latest':_0x3c134d,'failed':![],'lastNotifiedVersion':_0x3c134d,'lastNotifiedAt':_0x2cbf73}),{'command':_0x4cd93e,'current':_0x596445,'latest':_0x3c134d,'url':buildNpmVersionUrl(_0x3c134d),'message':CLI_BIN_NAME+'\x20'+_0x3c134d+_0x149486(0x16d)+_0x596445+_0x149486(0x166)+_0x4cd93e};}catch{return null;}}
1
+ (function(_0x5a309d,_0x575e98){const _0x43bdf1=a290_0x73f7,_0x2ef44d=_0x5a309d();while(!![]){try{const _0x1ecde9=-parseInt(_0x43bdf1(0x166))/0x1*(parseInt(_0x43bdf1(0x176))/0x2)+-parseInt(_0x43bdf1(0x15c))/0x3+-parseInt(_0x43bdf1(0x165))/0x4*(-parseInt(_0x43bdf1(0x177))/0x5)+-parseInt(_0x43bdf1(0x178))/0x6*(parseInt(_0x43bdf1(0x162))/0x7)+parseInt(_0x43bdf1(0x164))/0x8*(parseInt(_0x43bdf1(0x17b))/0x9)+-parseInt(_0x43bdf1(0x16c))/0xa*(parseInt(_0x43bdf1(0x15e))/0xb)+parseInt(_0x43bdf1(0x15f))/0xc;if(_0x1ecde9===_0x575e98)break;else _0x2ef44d['push'](_0x2ef44d['shift']());}catch(_0x4cc0ec){_0x2ef44d['push'](_0x2ef44d['shift']());}}}(a290_0x3e4e,0x8ea01));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a290_0x257341 from'semver';function a290_0x73f7(_0x533972,_0x5250f2){_0x533972=_0x533972-0x15b;const _0x3e4ef6=a290_0x3e4e();let _0x73f7=_0x3e4ef6[_0x533972];return _0x73f7;}import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x2b7290=a290_0x73f7,_0x415b97=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x2b7290(0x16e)]()[_0x2b7290(0x167)]();return _0x415b97==='1'||_0x415b97===_0x2b7290(0x17a)||_0x415b97===_0x2b7290(0x169);}function a290_0x3e4e(){const _0x18277e=['object','valid','rabetbase-cli','2wKMgSI','15VLcOmJ','6467802AtQEdu','/v/','true','9uvhDTh','utf8','3166959bfUcLM',',\x20run:\x20','10392382dAfdEC','35510568gYkhXC','number','lastNotifiedAt','7yOUBij','lastNotifiedVersion','5208552EbDBLo','1141612bbxgWM','803917rPoTCS','toLowerCase','.cache','yes','checkedAt','parse','10RIUPfN','https://www.npmjs.com/package/','trim','now','\x20available,\x20current\x20','\x20update','gte'];a290_0x3e4e=function(){return _0x18277e;};return a290_0x3e4e();}function cacheRoot(){const _0x46961c=a290_0x73f7;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x46961c(0x168));}export function getUpdateNoticeCachePath(){const _0x1e0c43=a290_0x73f7;return join(cacheRoot(),_0x1e0c43(0x175),'update-check.json');}async function readUpdateNoticeCache(){const _0x5a0135=a290_0x73f7;try{const _0x2f7761=await readFile(getUpdateNoticeCachePath(),_0x5a0135(0x15b)),_0x408b43=JSON[_0x5a0135(0x16b)](_0x2f7761);if(!_0x408b43||typeof _0x408b43!==_0x5a0135(0x173))return{};return _0x408b43;}catch{return{};}}async function writeUpdateNoticeCache(_0x5be913){try{const _0x48b5d2=getUpdateNoticeCachePath();await mkdir(dirname(_0x48b5d2),{'recursive':!![]}),await writeFile(_0x48b5d2,JSON['stringify'](_0x5be913,null,0x2)+'\x0a','utf8');}catch{}}function isFreshCheck(_0x585909,_0x3ec960){const _0x129408=a290_0x73f7;return typeof _0x585909['checkedAt']===_0x129408(0x160)&&_0x3ec960-_0x585909[_0x129408(0x16a)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x80e91,_0x7d5c5a,_0x46a34f){const _0x1ae8d0=a290_0x73f7;return _0x80e91[_0x1ae8d0(0x163)]===_0x7d5c5a&&typeof _0x80e91[_0x1ae8d0(0x161)]==='number'&&_0x46a34f-_0x80e91[_0x1ae8d0(0x161)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x5252cd){const _0x132d1a=a290_0x73f7;return _0x132d1a(0x16d)+NPM_PACKAGE_NAME+_0x132d1a(0x179)+_0x5252cd;}export async function resolveLatestUpdateNotice(){const _0x127f23=a290_0x73f7;if(isUpdateNoticeDisabled())return null;try{const _0x527a3d=Date[_0x127f23(0x16f)](),_0x199c30=getCliVersion(),_0x3a1de7=await readUpdateNoticeCache();let _0x2c6ede=isFreshCheck(_0x3a1de7,_0x527a3d)?_0x3a1de7['latest']?.['trim']():undefined;if(!_0x2c6ede&&!isFreshCheck(_0x3a1de7,_0x527a3d)){const _0x352465=await getCliVersionPolicy();_0x2c6ede=_0x352465?.['stableVersion']?.[_0x127f23(0x16e)]()||undefined,await writeUpdateNoticeCache({..._0x3a1de7,'checkedAt':_0x527a3d,'latest':_0x2c6ede,'failed':!_0x2c6ede});}if(!_0x2c6ede||!a290_0x257341[_0x127f23(0x174)](_0x199c30)||!a290_0x257341[_0x127f23(0x174)](_0x2c6ede))return null;if(a290_0x257341[_0x127f23(0x172)](_0x199c30,_0x2c6ede))return null;if(isRecentlyNotified(_0x3a1de7,_0x2c6ede,_0x527a3d))return null;const _0x5abcf3=CLI_BIN_NAME+_0x127f23(0x171);return await writeUpdateNoticeCache({..._0x3a1de7,'checkedAt':isFreshCheck(_0x3a1de7,_0x527a3d)?_0x3a1de7[_0x127f23(0x16a)]:_0x527a3d,'latest':_0x2c6ede,'failed':![],'lastNotifiedVersion':_0x2c6ede,'lastNotifiedAt':_0x527a3d}),{'command':_0x5abcf3,'current':_0x199c30,'latest':_0x2c6ede,'url':buildNpmVersionUrl(_0x2c6ede),'message':CLI_BIN_NAME+'\x20'+_0x2c6ede+_0x127f23(0x170)+_0x199c30+_0x127f23(0x15d)+_0x5abcf3};}catch{return null;}}
@@ -1 +1 @@
1
- function a279_0xab98(_0x145201,_0x1616ef){_0x145201=_0x145201-0x13e;var _0x2e5c34=a279_0x2e5c();var _0xab9815=_0x2e5c34[_0x145201];return _0xab9815;}(function(_0x20dcec,_0x1f0163){var _0x3ff93e=a279_0xab98,_0x1f266a=_0x20dcec();while(!![]){try{var _0x458f8b=parseInt(_0x3ff93e(0x147))/0x1+parseInt(_0x3ff93e(0x146))/0x2+-parseInt(_0x3ff93e(0x13e))/0x3*(parseInt(_0x3ff93e(0x13f))/0x4)+parseInt(_0x3ff93e(0x141))/0x5*(parseInt(_0x3ff93e(0x145))/0x6)+-parseInt(_0x3ff93e(0x144))/0x7*(parseInt(_0x3ff93e(0x142))/0x8)+parseInt(_0x3ff93e(0x143))/0x9+parseInt(_0x3ff93e(0x140))/0xa;if(_0x458f8b===_0x1f0163)break;else _0x1f266a['push'](_0x1f266a['shift']());}catch(_0x2d3e1c){_0x1f266a['push'](_0x1f266a['shift']());}}}(a279_0x2e5c,0x1b472));function a279_0x2e5c(){var _0x4d48d5=['6RDgRVL','12186hMWDfZ','59187jpglOU','4287ExKXTW','588TptTJv','514140jTBQTG','680440wDZSns','8fWDXpv','1876590dDLQYF','976493JzZgsi'];a279_0x2e5c=function(){return _0x4d48d5;};return a279_0x2e5c();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
1
+ (function(_0xdd1277,_0x3c1ce7){var _0x357625=a291_0x49ec,_0x5c47b9=_0xdd1277();while(!![]){try{var _0x12ae4b=-parseInt(_0x357625(0x1c0))/0x1*(-parseInt(_0x357625(0x1bc))/0x2)+-parseInt(_0x357625(0x1b9))/0x3*(-parseInt(_0x357625(0x1bd))/0x4)+parseInt(_0x357625(0x1bb))/0x5+parseInt(_0x357625(0x1b6))/0x6+-parseInt(_0x357625(0x1ba))/0x7*(-parseInt(_0x357625(0x1b7))/0x8)+parseInt(_0x357625(0x1b5))/0x9*(-parseInt(_0x357625(0x1bf))/0xa)+-parseInt(_0x357625(0x1be))/0xb*(parseInt(_0x357625(0x1b8))/0xc);if(_0x12ae4b===_0x3c1ce7)break;else _0x5c47b9['push'](_0x5c47b9['shift']());}catch(_0x2fc75f){_0x5c47b9['push'](_0x5c47b9['shift']());}}}(a291_0x19e7,0x648f9));function a291_0x49ec(_0x2bfb02,_0xc35690){_0x2bfb02=_0x2bfb02-0x1b5;var _0x19e760=a291_0x19e7();var _0x49ecdc=_0x19e760[_0x2bfb02];return _0x49ecdc;}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}function a291_0x19e7(){var _0x3cdea3=['2999304ecQGfL','3PBAuGM','539JQwOGo','3686775yTSDDi','318748DMoubX','1408724QZFFPY','88FLxOyj','20YZRpzE','1jtLGfs','102429qsBUkm','2732412CXpDSa','75832gYFpHr'];a291_0x19e7=function(){return _0x3cdea3;};return a291_0x19e7();}
@@ -1 +1 @@
1
- (function(_0xc04bb8,_0x389385){var _0x2e0a40=a280_0x1df5,_0x538277=_0xc04bb8();while(!![]){try{var _0x1fa506=parseInt(_0x2e0a40(0x109))/0x1+parseInt(_0x2e0a40(0x107))/0x2*(-parseInt(_0x2e0a40(0x106))/0x3)+-parseInt(_0x2e0a40(0x102))/0x4*(parseInt(_0x2e0a40(0x104))/0x5)+parseInt(_0x2e0a40(0x10a))/0x6+-parseInt(_0x2e0a40(0x108))/0x7+-parseInt(_0x2e0a40(0x103))/0x8*(-parseInt(_0x2e0a40(0x100))/0x9)+parseInt(_0x2e0a40(0x101))/0xa*(-parseInt(_0x2e0a40(0x105))/0xb);if(_0x1fa506===_0x389385)break;else _0x538277['push'](_0x538277['shift']());}catch(_0x43d326){_0x538277['push'](_0x538277['shift']());}}}(a280_0x3492,0x41496));function a280_0x3492(){var _0xd81efa=['22BBDOkL','341442usrJSH','2XXXFld','1139138RBfgOC','166726ggDOzC','2809434OElDBe','279kemElu','501460gxnkzW','628612UdIdAk','124064UHbrBY','15cIdCsg'];a280_0x3492=function(){return _0xd81efa;};return a280_0x3492();}function a280_0x1df5(_0x9da9e,_0x33fbbc){_0x9da9e=_0x9da9e-0x100;var _0x34924c=a280_0x3492();var _0x1df555=_0x34924c[_0x9da9e];return _0x1df555;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x338b94,_0x2b695d){setActiveCookie(_0x338b94);try{return await _0x2b695d();}finally{clearActiveCookie();}}
1
+ (function(_0x54eb22,_0x32be2b){var _0x432b49=a292_0xe69b,_0x5707b1=_0x54eb22();while(!![]){try{var _0x284614=-parseInt(_0x432b49(0x144))/0x1+-parseInt(_0x432b49(0x143))/0x2*(parseInt(_0x432b49(0x146))/0x3)+-parseInt(_0x432b49(0x141))/0x4+-parseInt(_0x432b49(0x145))/0x5+parseInt(_0x432b49(0x13e))/0x6+-parseInt(_0x432b49(0x140))/0x7*(parseInt(_0x432b49(0x147))/0x8)+-parseInt(_0x432b49(0x142))/0x9*(-parseInt(_0x432b49(0x13f))/0xa);if(_0x284614===_0x32be2b)break;else _0x5707b1['push'](_0x5707b1['shift']());}catch(_0x5492af){_0x5707b1['push'](_0x5707b1['shift']());}}}(a292_0xbb08,0xc2809));function a292_0xbb08(){var _0x2bde10=['2pgFUsq','381190dXsBpG','7204980UzdbMB','1202037ONXVZx','8ZbsKDh','9111288dQUWbM','396860Uqnyzm','419699BDGzfQ','105940MERmBG','360UjvfPL'];a292_0xbb08=function(){return _0x2bde10;};return a292_0xbb08();}function a292_0xe69b(_0x26c255,_0x40e025){_0x26c255=_0x26c255-0x13e;var _0xbb08e9=a292_0xbb08();var _0xe69bb1=_0xbb08e9[_0x26c255];return _0xe69bb1;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x444e34,_0x4bfa64){setActiveCookie(_0x444e34);try{return await _0x4bfa64();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- function a281_0x52d9(_0x489afc,_0x38169b){_0x489afc=_0x489afc-0x1f2;var _0x171379=a281_0x1713();var _0x52d9f7=_0x171379[_0x489afc];return _0x52d9f7;}function a281_0x1713(){var _0x5ac27f=['11054414UVrGnO','220625DqcHed','2QgXakU','458289hUyqXZ','4hhCxuN','17159450LSrJcE','6qDgmqH','4790432KfPkta','1082266ktURrA','stderr','1167069dPcoFp','250IaVetd'];a281_0x1713=function(){return _0x5ac27f;};return a281_0x1713();}(function(_0x219ba9,_0x1536c7){var _0x223a09=a281_0x52d9,_0x3eeb4a=_0x219ba9();while(!![]){try{var _0x5a2235=parseInt(_0x223a09(0x1f4))/0x1*(parseInt(_0x223a09(0x1fa))/0x2)+parseInt(_0x223a09(0x1f6))/0x3*(parseInt(_0x223a09(0x1fc))/0x4)+parseInt(_0x223a09(0x1f9))/0x5+parseInt(_0x223a09(0x1f2))/0x6*(parseInt(_0x223a09(0x1f8))/0x7)+parseInt(_0x223a09(0x1f3))/0x8+-parseInt(_0x223a09(0x1fb))/0x9*(parseInt(_0x223a09(0x1f7))/0xa)+-parseInt(_0x223a09(0x1fd))/0xb;if(_0x5a2235===_0x1536c7)break;else _0x3eeb4a['push'](_0x3eeb4a['shift']());}catch(_0x566687){_0x3eeb4a['push'](_0x3eeb4a['shift']());}}}(a281_0x1713,0xd211d));export function writeCliSideChannelLine(_0x4efc09){var _0x1c33c1=a281_0x52d9;process[_0x1c33c1(0x1f5)]['write'](_0x4efc09+'\x0a');}
1
+ function a293_0x2181(_0xe283e2,_0x386e12){_0xe283e2=_0xe283e2-0x1cd;var _0x179a44=a293_0x179a();var _0x218144=_0x179a44[_0xe283e2];return _0x218144;}function a293_0x179a(){var _0x5f33f9=['152027UPWtQp','2ALnHWf','write','5635449almJFX','3906ddbBqw','stderr','3539870nolXlw','932224AwxcgY','1090716CXWGAU','8504WuBcri','2629818YkTRHR'];a293_0x179a=function(){return _0x5f33f9;};return a293_0x179a();}(function(_0x57b94b,_0x2ef693){var _0x9a2462=a293_0x2181,_0x4670ed=_0x57b94b();while(!![]){try{var _0x3a10f6=parseInt(_0x9a2462(0x1d5))/0x1*(parseInt(_0x9a2462(0x1d6))/0x2)+parseInt(_0x9a2462(0x1d2))/0x3+-parseInt(_0x9a2462(0x1d1))/0x4+-parseInt(_0x9a2462(0x1d0))/0x5+-parseInt(_0x9a2462(0x1d4))/0x6+parseInt(_0x9a2462(0x1ce))/0x7*(parseInt(_0x9a2462(0x1d3))/0x8)+parseInt(_0x9a2462(0x1cd))/0x9;if(_0x3a10f6===_0x2ef693)break;else _0x4670ed['push'](_0x4670ed['shift']());}catch(_0x583b8d){_0x4670ed['push'](_0x4670ed['shift']());}}}(a293_0x179a,0x56cfd));export function writeCliSideChannelLine(_0x4e4db7){var _0x44cc0b=a293_0x2181;process[_0x44cc0b(0x1cf)][_0x44cc0b(0x1d7)](_0x4e4db7+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.3.16-beta.7",
3
+ "version": "2.4.1",
4
4
  "description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, BFF, database connections, skills, and AI agent workflows.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -35,10 +35,10 @@
35
35
  }
36
36
  },
37
37
  "engines": {
38
- "node": ">=20"
38
+ "node": ">=22.20"
39
39
  },
40
40
  "scripts": {
41
- "prebuild": "node scripts/generate-build-info.js",
41
+ "prebuild": "node scripts/generate-build-info.js && node scripts/generate-builtin-skill-manifest.mjs --check",
42
42
  "build": "rm -rf lib && tsc && tsc-alias && javascript-obfuscator lib --output lib",
43
43
  "prebuild:dev": "node scripts/generate-build-info.js",
44
44
  "build:dev": "rm -rf lib && tsc && tsc-alias",
@@ -64,6 +64,9 @@
64
64
  "test:windows:integration": "node test/run-windows-tests.js integration",
65
65
  "typecheck": "tsc --noEmit",
66
66
  "publish:github": "node scripts/publish-github.mjs",
67
+ "generate:builtin-skill-manifest": "node scripts/generate-builtin-skill-manifest.mjs",
68
+ "check:builtin-skill-manifest": "node scripts/generate-builtin-skill-manifest.mjs --check",
69
+ "postinstall": "node scripts/postinstall.mjs",
67
70
  "lint": "echo 'No linter configured yet'",
68
71
  "check:skill-version": "node scripts/check-skill-version.mjs",
69
72
  "ci": "npm run typecheck && npm run check:skill-version && npm run test:run && npm run build"
@@ -73,6 +76,9 @@
73
76
  },
74
77
  "files": [
75
78
  "lib",
79
+ "skills/rabetbase",
80
+ "skills/rabetbase.manifest.json",
81
+ "scripts/postinstall.mjs",
76
82
  "templates",
77
83
  "sidecar",
78
84
  "README.md",
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ import { existsSync } from "node:fs";
3
+ import { dirname, join, resolve } from "node:path";
4
+ import { fileURLToPath, pathToFileURL } from "node:url";
5
+
6
+ const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
7
+ const entry = join(root, "lib", "postinstall.js");
8
+
9
+ if (!existsSync(entry)) {
10
+ if (existsSync(join(root, "src", "postinstall.ts"))) {
11
+ console.log("Skipping Built-in Skill postinstall in an unbuilt source checkout.");
12
+ } else {
13
+ console.error("[BUILTIN_SKILL_INSTALL_SOURCE_MISSING] Missing lib/postinstall.js");
14
+ process.exitCode = 1;
15
+ }
16
+ } else {
17
+ try {
18
+ const { runPostinstall } = await import(pathToFileURL(entry).href);
19
+ await runPostinstall();
20
+ } catch (error) {
21
+ console.error(error instanceof Error ? error.message : String(error));
22
+ process.exitCode = 1;
23
+ }
24
+ }