@lovrabet/rabetbase-cli 2.5.0-beta.1 → 2.5.0-beta.2

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 (296) hide show
  1. package/lib/api/api-doc.js +1 -1
  2. package/lib/api/fetch-model-list.js +1 -1
  3. package/lib/api/generate-api-file.js +1 -1
  4. package/lib/api/generate-sdk-config-file.js +1 -1
  5. package/lib/auth/auth-server-ui.js +1 -1
  6. package/lib/auth/auth-server.js +1 -1
  7. package/lib/auth/constant.js +1 -1
  8. package/lib/auth/get-cookie.js +1 -1
  9. package/lib/auth/get-session-user.js +1 -1
  10. package/lib/auth/is-session-valid.js +1 -1
  11. package/lib/auth/login-success-html.js +1 -1
  12. package/lib/auth/logout.js +1 -1
  13. package/lib/cli-flags.js +1 -1
  14. package/lib/cli.js +1 -1
  15. package/lib/commands/api/generate.js +1 -1
  16. package/lib/commands/api/index.js +1 -1
  17. package/lib/commands/api/list.js +1 -1
  18. package/lib/commands/api/pull.js +1 -1
  19. package/lib/commands/api/shared.js +1 -1
  20. package/lib/commands/app/index.js +1 -1
  21. package/lib/commands/app/list.js +1 -1
  22. package/lib/commands/app/members-list.js +1 -1
  23. package/lib/commands/app/remote-directory.js +1 -1
  24. package/lib/commands/app/shared.js +1 -1
  25. package/lib/commands/app-config/delete.js +1 -1
  26. package/lib/commands/app-config/get.js +1 -1
  27. package/lib/commands/app-config/index.js +1 -1
  28. package/lib/commands/app-config/list.js +1 -1
  29. package/lib/commands/app-config/set.js +1 -1
  30. package/lib/commands/app-config/shared.js +1 -1
  31. package/lib/commands/auth/index.js +1 -1
  32. package/lib/commands/bff/create.js +1 -1
  33. package/lib/commands/bff/delete.js +1 -1
  34. package/lib/commands/bff/detail.js +1 -1
  35. package/lib/commands/bff/index.js +1 -1
  36. package/lib/commands/bff/list.js +1 -1
  37. package/lib/commands/bff/pull.js +1 -1
  38. package/lib/commands/bff/push.js +1 -1
  39. package/lib/commands/bff/status.js +1 -1
  40. package/lib/commands/cli-skill/index.js +1 -1
  41. package/lib/commands/cli-update.js +1 -1
  42. package/lib/commands/codegen/index.js +1 -1
  43. package/lib/commands/codegen/sdk.js +1 -1
  44. package/lib/commands/codegen/sql.js +1 -1
  45. package/lib/commands/common/app-registry.js +1 -1
  46. package/lib/commands/common/app-selector.js +1 -1
  47. package/lib/commands/common/async-task.js +1 -1
  48. package/lib/commands/common/dry-run.js +1 -1
  49. package/lib/commands/common/flags.js +1 -1
  50. package/lib/commands/common/local-file.js +1 -1
  51. package/lib/commands/common/validate.js +1 -1
  52. package/lib/commands/config/delete.js +1 -1
  53. package/lib/commands/config/get.js +1 -1
  54. package/lib/commands/config/index.js +1 -1
  55. package/lib/commands/config/init.js +1 -1
  56. package/lib/commands/config/list.js +1 -1
  57. package/lib/commands/config/set.js +1 -1
  58. package/lib/commands/config/shared.js +1 -1
  59. package/lib/commands/dataset/business-group-update.js +1 -1
  60. package/lib/commands/dataset/business-groups.js +1 -1
  61. package/lib/commands/dataset/capability.js +1 -1
  62. package/lib/commands/dataset/delete.js +1 -1
  63. package/lib/commands/dataset/detail.js +1 -1
  64. package/lib/commands/dataset/extend-update.js +1 -1
  65. package/lib/commands/dataset/field-update.js +1 -1
  66. package/lib/commands/dataset/generate.js +1 -1
  67. package/lib/commands/dataset/index.js +1 -1
  68. package/lib/commands/dataset/list.js +1 -1
  69. package/lib/commands/dataset/operations.js +1 -1
  70. package/lib/commands/dataset/relation-audit.js +1 -1
  71. package/lib/commands/dataset/relation-create.js +1 -1
  72. package/lib/commands/dataset/relation-delete.js +1 -1
  73. package/lib/commands/dataset/relation-shared.js +1 -1
  74. package/lib/commands/dataset/relation-update.js +1 -1
  75. package/lib/commands/dataset/relations.js +1 -1
  76. package/lib/commands/dataset/rename.js +1 -1
  77. package/lib/commands/dataset/restore.js +1 -1
  78. package/lib/commands/db/analysis-batching.js +1 -1
  79. package/lib/commands/db/analyze-batch-plan.js +1 -1
  80. package/lib/commands/db/analyze-cancel.js +1 -1
  81. package/lib/commands/db/analyze-start.js +1 -1
  82. package/lib/commands/db/analyze-status.js +1 -1
  83. package/lib/commands/db/create.js +1 -1
  84. package/lib/commands/db/delete.js +1 -1
  85. package/lib/commands/db/detail.js +1 -1
  86. package/lib/commands/db/diff-refresh-start.js +1 -1
  87. package/lib/commands/db/diff-refresh-status.js +1 -1
  88. package/lib/commands/db/diff.js +1 -1
  89. package/lib/commands/db/index.js +1 -1
  90. package/lib/commands/db/list.js +1 -1
  91. package/lib/commands/db/shared.js +1 -1
  92. package/lib/commands/db/tables.js +1 -1
  93. package/lib/commands/db/test.js +1 -1
  94. package/lib/commands/db/update.js +1 -1
  95. package/lib/commands/doctor.js +1 -1
  96. package/lib/commands/file/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/search.js +1 -1
  107. package/lib/commands/kb/shared.js +1 -1
  108. package/lib/commands/kb/update.js +1 -1
  109. package/lib/commands/logs/index.js +1 -1
  110. package/lib/commands/menu/asset-update.js +1 -1
  111. package/lib/commands/menu/delete.js +1 -1
  112. package/lib/commands/menu/external-link-create.js +1 -1
  113. package/lib/commands/menu/external-link-update.js +1 -1
  114. package/lib/commands/menu/group-create.js +1 -1
  115. package/lib/commands/menu/group-update.js +1 -1
  116. package/lib/commands/menu/index.js +1 -1
  117. package/lib/commands/menu/list.js +1 -1
  118. package/lib/commands/menu/move.js +1 -1
  119. package/lib/commands/menu/regroup-start.js +1 -1
  120. package/lib/commands/menu/rename.js +1 -1
  121. package/lib/commands/menu/shared/compare-table.js +1 -1
  122. package/lib/commands/menu/shared/delete-plan.js +1 -1
  123. package/lib/commands/menu/shared/facts.js +1 -1
  124. package/lib/commands/menu/shared/index.js +1 -1
  125. package/lib/commands/menu/shared/inquirer.js +1 -1
  126. package/lib/commands/menu/shared/local-pages.js +1 -1
  127. package/lib/commands/menu/shared/logic.js +1 -1
  128. package/lib/commands/menu/shared/mutations.js +1 -1
  129. package/lib/commands/menu/shared/service.js +1 -1
  130. package/lib/commands/menu/shared/sync-core.js +1 -1
  131. package/lib/commands/menu/shared/update-core.js +1 -1
  132. package/lib/commands/menu/shared/valid-url.js +1 -1
  133. package/lib/commands/menu/sync.js +1 -1
  134. package/lib/commands/menu/visibility-update.js +1 -1
  135. package/lib/commands/notification/config-create.js +1 -1
  136. package/lib/commands/notification/config-delete.js +1 -1
  137. package/lib/commands/notification/config-list.js +1 -1
  138. package/lib/commands/notification/config-update.js +1 -1
  139. package/lib/commands/notification/index.js +1 -1
  140. package/lib/commands/notification/shared.js +1 -1
  141. package/lib/commands/ocr/index.js +1 -1
  142. package/lib/commands/page/create.js +1 -1
  143. package/lib/commands/page/custom/detail.js +1 -1
  144. package/lib/commands/page/custom/list.js +1 -1
  145. package/lib/commands/page/custom/publish.js +1 -1
  146. package/lib/commands/page/custom/shared.js +1 -1
  147. package/lib/commands/page/custom/syntax.js +1 -1
  148. package/lib/commands/page/custom/template.js +1 -1
  149. package/lib/commands/page/custom/update.js +1 -1
  150. package/lib/commands/page/data-list-status.js +1 -1
  151. package/lib/commands/page/generate-start.js +1 -1
  152. package/lib/commands/page/generate-status.js +1 -1
  153. package/lib/commands/page/index.js +1 -1
  154. package/lib/commands/page/pull.js +1 -1
  155. package/lib/commands/page/push.js +1 -1
  156. package/lib/commands/page/relation-audit.js +1 -1
  157. package/lib/commands/page/restore.js +1 -1
  158. package/lib/commands/page/shared.js +1 -1
  159. package/lib/commands/page/sync.js +1 -1
  160. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  161. package/lib/commands/project/create/format-elapsed.js +1 -1
  162. package/lib/commands/project/create/main.js +1 -1
  163. package/lib/commands/project/create/materialize-project-template.js +1 -1
  164. package/lib/commands/project/create/project-name.js +1 -1
  165. package/lib/commands/project/create/project-template-archive.js +1 -1
  166. package/lib/commands/project/create/project-template-path.js +1 -1
  167. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  168. package/lib/commands/project/create/use-format-code.js +1 -1
  169. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  170. package/lib/commands/project/index.js +1 -1
  171. package/lib/commands/project/upgrade.js +1 -1
  172. package/lib/commands/registry.js +1 -1
  173. package/lib/commands/role/delete.js +1 -1
  174. package/lib/commands/role/detail.js +1 -1
  175. package/lib/commands/role/index.js +1 -1
  176. package/lib/commands/role/list.js +1 -1
  177. package/lib/commands/role/shared.js +1 -1
  178. package/lib/commands/role/update.js +1 -1
  179. package/lib/commands/role/user-add.js +1 -1
  180. package/lib/commands/role/user-remove.js +1 -1
  181. package/lib/commands/role/user-resolve.js +1 -1
  182. package/lib/commands/run/index.js +1 -1
  183. package/lib/commands/schema.js +1 -1
  184. package/lib/commands/sql/create.js +1 -1
  185. package/lib/commands/sql/delete.js +1 -1
  186. package/lib/commands/sql/detail.js +1 -1
  187. package/lib/commands/sql/exec.js +1 -1
  188. package/lib/commands/sql/index.js +1 -1
  189. package/lib/commands/sql/list.js +1 -1
  190. package/lib/commands/sql/pull.js +1 -1
  191. package/lib/commands/sql/push.js +1 -1
  192. package/lib/commands/sql/shared.js +1 -1
  193. package/lib/commands/sql/status.js +1 -1
  194. package/lib/commands/sql/validate.js +1 -1
  195. package/lib/commands/task/index.js +1 -1
  196. package/lib/commands/task/status.js +1 -1
  197. package/lib/commands/tenant/index.js +1 -1
  198. package/lib/commands/tenant/members-list.js +1 -1
  199. package/lib/commands/tenant/shared.js +1 -1
  200. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  201. package/lib/commands/user-account/index.js +1 -1
  202. package/lib/commands/workspace/add.js +1 -1
  203. package/lib/commands/workspace/index.js +1 -1
  204. package/lib/commands/workspace/remove.js +1 -1
  205. package/lib/config/domain-config.js +1 -1
  206. package/lib/config/schema.js +1 -1
  207. package/lib/constant/cdn.js +1 -1
  208. package/lib/constant/cli.js +1 -1
  209. package/lib/constant/defaults.js +1 -1
  210. package/lib/constant/domain.js +1 -1
  211. package/lib/constant/env.js +1 -1
  212. package/lib/constant/output.js +1 -1
  213. package/lib/constant/paths.js +1 -1
  214. package/lib/constant/region.js +1 -1
  215. package/lib/constant/risk.js +1 -1
  216. package/lib/context/app-resolver.js +1 -1
  217. package/lib/context/auth-resolver.js +1 -1
  218. package/lib/context/config-loader.js +1 -1
  219. package/lib/context.js +1 -1
  220. package/lib/core/alias-resolver.js +1 -1
  221. package/lib/core/api-client.js +1 -1
  222. package/lib/core/bff/config.js +1 -1
  223. package/lib/core/bff/file-system.js +1 -1
  224. package/lib/core/bff/hash.js +1 -1
  225. package/lib/core/bff/lock.js +1 -1
  226. package/lib/core/bff/utils.js +1 -1
  227. package/lib/core/db-resolver.js +1 -1
  228. package/lib/core/page/file-system.js +1 -1
  229. package/lib/core/page/hash.js +1 -1
  230. package/lib/core/page/lock.js +1 -1
  231. package/lib/core/sql-index-auditor.js +1 -1
  232. package/lib/core/sql-sync/config.js +1 -1
  233. package/lib/core/sql-sync/file-system.js +1 -1
  234. package/lib/core/sql-sync/hash.js +1 -1
  235. package/lib/core/sql-sync/lock.js +1 -1
  236. package/lib/core/sql-sync/utils.js +1 -1
  237. package/lib/core/sql-validator.js +1 -1
  238. package/lib/errors.js +1 -1
  239. package/lib/framework/build-all-flags.js +1 -1
  240. package/lib/framework/error-output.js +1 -1
  241. package/lib/framework/explicit-yes.js +1 -1
  242. package/lib/framework/flags.js +1 -1
  243. package/lib/framework/help.js +1 -1
  244. package/lib/framework/index.js +1 -1
  245. package/lib/framework/output.js +1 -1
  246. package/lib/framework/response.js +1 -1
  247. package/lib/framework/runner-alias.js +1 -1
  248. package/lib/framework/runner.js +1 -1
  249. package/lib/framework/schema-export.js +1 -1
  250. package/lib/framework/types.js +1 -1
  251. package/lib/generated/build-info.d.ts +4 -4
  252. package/lib/generated/build-info.js +1 -1
  253. package/lib/help.js +1 -1
  254. package/lib/postinstall.js +1 -1
  255. package/lib/runtime/confirmation.js +1 -1
  256. package/lib/runtime/event.js +1 -1
  257. package/lib/runtime/index.js +1 -1
  258. package/lib/runtime/queue.js +1 -1
  259. package/lib/runtime/resolve.js +1 -1
  260. package/lib/skills/builtin-skill.js +1 -1
  261. package/lib/skills/main.js +1 -1
  262. package/lib/skills/npx-skills-add.js +1 -1
  263. package/lib/skills/skill-presence.js +1 -1
  264. package/lib/telemetry/cli-command-trace.js +1 -1
  265. package/lib/telemetry/cli-help-trace.js +1 -1
  266. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  267. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  268. package/lib/telemetry/send-cli-trace-log.js +1 -1
  269. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  270. package/lib/utils/ai_config.js +1 -1
  271. package/lib/utils/apply-jq-filter.js +1 -1
  272. package/lib/utils/cdn-config.js +1 -1
  273. package/lib/utils/check-sdk-version.js +1 -1
  274. package/lib/utils/cli-version-check.js +1 -1
  275. package/lib/utils/cli-version-policy.js +1 -1
  276. package/lib/utils/config.js +1 -1
  277. package/lib/utils/entity-with-id.js +1 -1
  278. package/lib/utils/file-utils.js +1 -1
  279. package/lib/utils/guides-cdn.js +1 -1
  280. package/lib/utils/http-client.js +1 -1
  281. package/lib/utils/is-non-interactive.js +1 -1
  282. package/lib/utils/logger.js +1 -1
  283. package/lib/utils/params.js +1 -1
  284. package/lib/utils/platform.js +1 -1
  285. package/lib/utils/sleep.js +1 -1
  286. package/lib/utils/template-replacer.js +1 -1
  287. package/lib/utils/update-notice.js +1 -1
  288. package/lib/utils/version.js +1 -1
  289. package/lib/utils/with-active-cookie.js +1 -1
  290. package/lib/utils/write-cli-side-channel.js +1 -1
  291. package/package.json +1 -1
  292. package/skills/rabetbase/SKILL.md +1 -1
  293. package/skills/rabetbase/references/rabetbase-config.md +1 -1
  294. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +17 -6
  295. package/skills/rabetbase/references/rabetbase-kb.md +1 -1
  296. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a290_0x54bf67=a290_0x56ce;function a290_0x56ce(_0x1b1cda,_0x107c45){_0x1b1cda=_0x1b1cda-0x1c6;const _0x2bbe2d=a290_0x2bbe();let _0x56ce65=_0x2bbe2d[_0x1b1cda];return _0x56ce65;}(function(_0x163344,_0x125690){const _0x55b29c=a290_0x56ce,_0x81dc64=_0x163344();while(!![]){try{const _0xbf1e3a=parseInt(_0x55b29c(0x1fe))/0x1*(-parseInt(_0x55b29c(0x1d3))/0x2)+-parseInt(_0x55b29c(0x1e3))/0x3+parseInt(_0x55b29c(0x206))/0x4+parseInt(_0x55b29c(0x1fa))/0x5+-parseInt(_0x55b29c(0x1cc))/0x6*(parseInt(_0x55b29c(0x1e5))/0x7)+parseInt(_0x55b29c(0x204))/0x8*(-parseInt(_0x55b29c(0x1ce))/0x9)+parseInt(_0x55b29c(0x201))/0xa;if(_0xbf1e3a===_0x125690)break;else _0x81dc64['push'](_0x81dc64['shift']());}catch(_0x34dc16){_0x81dc64['push'](_0x81dc64['shift']());}}}(a290_0x2bbe,0x4ce09));function a290_0x2bbe(){const _0x46f54e=['readdir','name','writeFile','toComponentName','readFile','\x0a\x20\x20\x20\x20{\x20','666830RFAQzb','.tpl','alias','isFile','167WKbwPs','.md','Starting\x20template\x20content\x20replacement','12792630lbstZs','join','datasetCode:\x20\x22','2888mGWheT','default','520752AdzWXY','processDirectory','processFile','getMinutes','.js','.ts','promises','formatLocalTimestamp','getDate','endsWith','18WvvLtt','mkdir','5517RmXwAx','extname','Template\x20content\x20replacement\x20completed','padStart','toUpperCase','3730kZmVVp','getHours','getFullYear','datasetCode','slice','.scss','tableName:\x20\x22','pad','toISOString','LOVRABET','toLowerCase','split','alias:\x20\x22','api','tableName','\x20},','830103BgPqVq','name:\x20\x22','976451FmLgHZ','map','push','now','copyFile','toDisplayTitle','.css','replace','replaceApiContent','template','replaceContent','includes','YourModel','charAt','pop'];a290_0x2bbe=function(){return _0x46f54e;};return a290_0x2bbe();}import a290_0x219ca9 from'node:fs';import a290_0x569288 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a290_0x54bf67(0x1da)](_0x5eb184){const _0x5c4a38=a290_0x54bf67;return String(_0x5eb184)[_0x5c4a38(0x1d1)](0x2,'0');}static[a290_0x54bf67(0x1c9)](_0x243bcb){const _0x123c36=a290_0x54bf67,_0x328a0c=_0x243bcb[_0x123c36(0x1d5)](),_0x5d1339=this[_0x123c36(0x1da)](_0x243bcb['getMonth']()+0x1),_0x52087f=this[_0x123c36(0x1da)](_0x243bcb[_0x123c36(0x1ca)]()),_0x1b7e32=this[_0x123c36(0x1da)](_0x243bcb[_0x123c36(0x1d4)]()),_0x52697b=this['pad'](_0x243bcb[_0x123c36(0x209)]()),_0x37aa6a=this[_0x123c36(0x1da)](_0x243bcb['getSeconds']());return{'createdAt':_0x328a0c+'-'+_0x5d1339+'-'+_0x52087f+'\x20'+_0x1b7e32+':'+_0x52697b+':'+_0x37aa6a,'createdDate':_0x328a0c+'-'+_0x5d1339+'-'+_0x52087f,'createdTime':_0x1b7e32+':'+_0x52697b+':'+_0x37aa6a};}static[a290_0x54bf67(0x1f7)](_0x532f81){const _0x1790ef=a290_0x54bf67,_0x40d85d=_0x532f81[_0x1790ef(0x1de)]('/')[_0x1790ef(0x1f3)]()||_0x532f81;return _0x40d85d[_0x1790ef(0x1de)]('-')['map'](_0x20b73a=>_0x20b73a['charAt'](0x0)[_0x1790ef(0x1d2)]()+_0x20b73a[_0x1790ef(0x1d7)](0x1)[_0x1790ef(0x1dd)]())[_0x1790ef(0x202)]('');}static[a290_0x54bf67(0x1ea)](_0x21b755){const _0x1a4fd1=a290_0x54bf67,_0x4a9699=_0x21b755['split']('/')[_0x1a4fd1(0x1f3)]()||_0x21b755;return _0x4a9699[_0x1a4fd1(0x1de)]('-')[_0x1a4fd1(0x1e6)](_0x1da091=>_0x1da091[_0x1a4fd1(0x1f2)](0x0)['toUpperCase']()+_0x1da091['slice'](0x1)[_0x1a4fd1(0x1dd)]())['join']('\x20');}static[a290_0x54bf67(0x1ef)](_0x549cc8,_0x496481,_0xd154e5){const _0x925ff2=a290_0x54bf67,_0x932045=this[_0x925ff2(0x1f7)](_0x496481),_0x6273a3=this[_0x925ff2(0x1ea)](_0x496481),{createdAt:_0x3cc41d,createdDate:_0x6ce231,createdTime:_0x43534a}=this['formatLocalTimestamp'](new Date());let _0x5af553=_0x549cc8[_0x925ff2(0x1ec)](/\{CliVersion\}/g,CLI_VERSION)[_0x925ff2(0x1ec)](/\{ComponentName\}/g,_0x932045)[_0x925ff2(0x1ec)](/\{DisplayTitle\}/g,_0x6273a3)[_0x925ff2(0x1ec)](/\{PageName\}/g,_0x496481)['replace'](/\{TemplateName\}/g,_0xd154e5)['replace'](/\{CreatedAt\}/g,_0x3cc41d)[_0x925ff2(0x1ec)](/\{CreatedDate\}/g,_0x6ce231)['replace'](/\{CreatedTime\}/g,_0x43534a);return _0x5af553;}static[a290_0x54bf67(0x1ed)](_0x228cfd,_0xaa6c9c,_0x3768a6,_0xd467ae,_0x93a7ac,_0x9fa689,_0x38c6ce,_0x45bce5){const _0x2c6ed7=a290_0x54bf67,_0x1da3a2=new Date(),_0x31d6fa=_0x1da3a2[_0x2c6ed7(0x1db)](),_0x2820df=_0x3768a6[_0x2c6ed7(0x1e6)](_0xd2fd51=>{const _0x2bbb3a=_0x2c6ed7,_0x2f9bf5=[_0x2bbb3a(0x203)+_0xd2fd51[_0x2bbb3a(0x1d6)]+'\x22',_0x2bbb3a(0x1d9)+_0xd2fd51[_0x2bbb3a(0x1e1)]+'\x22',_0x2bbb3a(0x1e4)+_0xd2fd51[_0x2bbb3a(0x1f5)]+'\x22'];return _0xd2fd51[_0x2bbb3a(0x1fc)]&&_0x2f9bf5[_0x2bbb3a(0x1e7)](_0x2bbb3a(0x1df)+_0xd2fd51[_0x2bbb3a(0x1fc)]+'\x22'),_0x2bbb3a(0x1f9)+_0x2f9bf5['join'](',\x20')+_0x2bbb3a(0x1e2);})['join'](''),_0x6d8418=_0xd467ae||_0x3768a6[0x0]?.[_0x2c6ed7(0x1fc)]||_0x2c6ed7(0x1f1);let _0x376300=_0x228cfd[_0x2c6ed7(0x1ec)](/\{AppCode\}/g,_0xaa6c9c)[_0x2c6ed7(0x1ec)](/\{ModelConfigs\}/g,_0x2820df)[_0x2c6ed7(0x1ec)](/\{ExampleModelName\}/g,_0x6d8418)['replace'](/\{ApiFileName\}/g,_0x93a7ac||_0x2c6ed7(0x1e0))[_0x2c6ed7(0x1ec)](/\{ConfigName\}/g,_0x9fa689||_0x2c6ed7(0x205))[_0x2c6ed7(0x1ec)](/\{ClientConfigParam\}/g,_0x38c6ce||'')[_0x2c6ed7(0x1ec)](/\{VarPrefix\}/g,_0x45bce5||_0x2c6ed7(0x1dc))[_0x2c6ed7(0x1ec)](/\{CreatedAt\}/g,_0x31d6fa);return _0x376300;}static async['processTemplate'](_0xc7b85b,_0x3ca4e7,_0x3a87aa,_0x10998e,_0x2067ad=!![]){const _0x30e382=a290_0x54bf67,_0x4fdb98=Date[_0x30e382(0x1e8)]();try{_0x2067ad&&logger['info'](_0x30e382(0x1ee),_0x30e382(0x200),{'templatePath':_0xc7b85b,'targetPath':_0x3ca4e7,'pageName':_0x3a87aa,'templateName':_0x10998e});await a290_0x219ca9[_0x30e382(0x1c8)][_0x30e382(0x1cd)](_0x3ca4e7,{'recursive':!![]}),await this[_0x30e382(0x207)](_0xc7b85b,_0x3ca4e7,_0x3a87aa,_0x10998e);if(_0x2067ad){const _0x205cd7=Date[_0x30e382(0x1e8)]()-_0x4fdb98;logger['success'](_0x30e382(0x1ee),_0x30e382(0x1d0),_0x205cd7,{'pageName':_0x3a87aa,'templateName':_0x10998e});}}catch(_0x23958a){if(_0x2067ad){const _0x3787bb=Date[_0x30e382(0x1e8)]()-_0x4fdb98;logger['error'](_0x30e382(0x1ee),'Template\x20content\x20replacement\x20failed',{'templatePath':_0xc7b85b,'targetPath':_0x3ca4e7,'pageName':_0x3a87aa,'templateName':_0x10998e,'error':_0x23958a instanceof Error?_0x23958a['message']:String(_0x23958a),'duration':_0x3787bb});}throw _0x23958a;}}static async[a290_0x54bf67(0x207)](_0x316d96,_0xc531d2,_0x49cce9,_0x1cd512){const _0x4c0213=a290_0x54bf67,_0x2f1073=await a290_0x219ca9[_0x4c0213(0x1c8)][_0x4c0213(0x1f4)](_0x316d96,{'withFileTypes':!![]});for(const _0x2b9395 of _0x2f1073){const _0x3ea506=a290_0x569288[_0x4c0213(0x202)](_0x316d96,_0x2b9395[_0x4c0213(0x1f5)]);let _0x1a24f7=a290_0x569288[_0x4c0213(0x202)](_0xc531d2,_0x2b9395[_0x4c0213(0x1f5)]);_0x2b9395[_0x4c0213(0x1f5)][_0x4c0213(0x1cb)](_0x4c0213(0x1fb))&&(_0x1a24f7=a290_0x569288[_0x4c0213(0x202)](_0xc531d2,_0x2b9395[_0x4c0213(0x1f5)][_0x4c0213(0x1ec)](/\.tpl$/,'')));if(_0x2b9395['isDirectory']())await a290_0x219ca9[_0x4c0213(0x1c8)]['mkdir'](_0x1a24f7,{'recursive':!![]}),await this[_0x4c0213(0x207)](_0x3ea506,_0x1a24f7,_0x49cce9,_0x1cd512);else _0x2b9395[_0x4c0213(0x1fd)]()&&await this[_0x4c0213(0x208)](_0x3ea506,_0x1a24f7,_0x49cce9,_0x1cd512);}}static async[a290_0x54bf67(0x208)](_0x5bcc6b,_0x11e269,_0x450cdf,_0x5668eb){const _0x496adb=a290_0x54bf67,_0x38d180=a290_0x569288[_0x496adb(0x1cf)](_0x5bcc6b)[_0x496adb(0x1dd)]();_0x5bcc6b[_0x496adb(0x1cb)](_0x496adb(0x1fb))&&(_0x11e269=_0x11e269['replace'](/\.tpl$/,''));const _0x340797=['.tsx',_0x496adb(0x1c7),'.jsx',_0x496adb(0x1c6),'.json',_0x496adb(0x1ff),_0x496adb(0x1eb),_0x496adb(0x1d8),_0x496adb(0x1fb)];if(_0x340797[_0x496adb(0x1f0)](_0x38d180)||_0x5bcc6b[_0x496adb(0x1cb)](_0x496adb(0x1fb))){const _0x1039e3=await a290_0x219ca9[_0x496adb(0x1c8)][_0x496adb(0x1f8)](_0x5bcc6b,'utf8'),_0xb46ff5=this[_0x496adb(0x1ef)](_0x1039e3,_0x450cdf,_0x5668eb);await a290_0x219ca9[_0x496adb(0x1c8)][_0x496adb(0x1f6)](_0x11e269,_0xb46ff5,'utf8');}else await a290_0x219ca9[_0x496adb(0x1c8)][_0x496adb(0x1e9)](_0x5bcc6b,_0x11e269);}}
1
+ const a290_0x379beb=a290_0x3549;(function(_0x57440f,_0x4844c7){const _0x2a73b1=a290_0x3549,_0x4cc44a=_0x57440f();while(!![]){try{const _0x14fff0=-parseInt(_0x2a73b1(0x164))/0x1+parseInt(_0x2a73b1(0x170))/0x2+-parseInt(_0x2a73b1(0x188))/0x3+parseInt(_0x2a73b1(0x169))/0x4*(parseInt(_0x2a73b1(0x161))/0x5)+parseInt(_0x2a73b1(0x156))/0x6+parseInt(_0x2a73b1(0x15f))/0x7+-parseInt(_0x2a73b1(0x177))/0x8*(parseInt(_0x2a73b1(0x181))/0x9);if(_0x14fff0===_0x4844c7)break;else _0x4cc44a['push'](_0x4cc44a['shift']());}catch(_0x2f3bb2){_0x4cc44a['push'](_0x4cc44a['shift']());}}}(a290_0x4ad1,0xa642d));import a290_0x5b77c9 from'node:fs';import a290_0x30b013 from'node:path';function a290_0x3549(_0x33ad00,_0x39d0c1){_0x33ad00=_0x33ad00-0x156;const _0x4ad140=a290_0x4ad1();let _0x35499a=_0x4ad140[_0x33ad00];return _0x35499a;}import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';function a290_0x4ad1(){const _0x25b4b6=['split','toISOString','datasetCode:\x20\x22','toLowerCase','readFile','tableName','error','includes','replaceContent','getDate','2840490bjSQeP','\x20},','writeFile','getFullYear','replace','pad','alias','formatLocalTimestamp','isFile','3386404DiHojs','replaceApiContent','774255tywlXA','default','getHours','71773kGkuaR','utf8','name:\x20\x22','pop','mkdir','32lXCxzo','map','processFile','Template\x20content\x20replacement\x20completed','now','promises','charAt','567550UXVcfY','.jsx','isDirectory','tableName:\x20\x22','success','padStart','.json','2919352DwVcFP','toUpperCase','YourModel','join','.css','processTemplate','.scss','alias:\x20\x22','endsWith','info','27ilZUAN','Starting\x20template\x20content\x20replacement','LOVRABET','.tsx','Template\x20content\x20replacement\x20failed','name','getMonth','1896705RDhSNv','.tpl','getMinutes','template','processDirectory','toDisplayTitle','copyFile','slice','push'];a290_0x4ad1=function(){return _0x25b4b6;};return a290_0x4ad1();}const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a290_0x379beb(0x15b)](_0x4d7e09){const _0xe3786b=a290_0x379beb;return String(_0x4d7e09)[_0xe3786b(0x175)](0x2,'0');}static[a290_0x379beb(0x15d)](_0x937b8f){const _0x2a5d9f=a290_0x379beb,_0x1a37f0=_0x937b8f[_0x2a5d9f(0x159)](),_0x31d37a=this[_0x2a5d9f(0x15b)](_0x937b8f[_0x2a5d9f(0x187)]()+0x1),_0x57e303=this[_0x2a5d9f(0x15b)](_0x937b8f[_0x2a5d9f(0x19a)]()),_0x2a9a44=this['pad'](_0x937b8f[_0x2a5d9f(0x163)]()),_0x3694f4=this[_0x2a5d9f(0x15b)](_0x937b8f[_0x2a5d9f(0x18a)]()),_0x8f60bc=this['pad'](_0x937b8f['getSeconds']());return{'createdAt':_0x1a37f0+'-'+_0x31d37a+'-'+_0x57e303+'\x20'+_0x2a9a44+':'+_0x3694f4+':'+_0x8f60bc,'createdDate':_0x1a37f0+'-'+_0x31d37a+'-'+_0x57e303,'createdTime':_0x2a9a44+':'+_0x3694f4+':'+_0x8f60bc};}static['toComponentName'](_0x476bad){const _0x632410=a290_0x379beb,_0x5e5c2c=_0x476bad[_0x632410(0x191)]('/')[_0x632410(0x167)]()||_0x476bad;return _0x5e5c2c[_0x632410(0x191)]('-')['map'](_0x3db934=>_0x3db934[_0x632410(0x16f)](0x0)[_0x632410(0x178)]()+_0x3db934[_0x632410(0x18f)](0x1)['toLowerCase']())[_0x632410(0x17a)]('');}static[a290_0x379beb(0x18d)](_0x1fceb1){const _0x50ae13=a290_0x379beb,_0x941bf7=_0x1fceb1[_0x50ae13(0x191)]('/')[_0x50ae13(0x167)]()||_0x1fceb1;return _0x941bf7[_0x50ae13(0x191)]('-')[_0x50ae13(0x16a)](_0x2c76e9=>_0x2c76e9[_0x50ae13(0x16f)](0x0)[_0x50ae13(0x178)]()+_0x2c76e9[_0x50ae13(0x18f)](0x1)[_0x50ae13(0x194)]())[_0x50ae13(0x17a)]('\x20');}static['replaceContent'](_0x4c2724,_0xc7b50a,_0x3349d6){const _0x13eb9e=a290_0x379beb,_0x18fcf6=this['toComponentName'](_0xc7b50a),_0xeefce6=this[_0x13eb9e(0x18d)](_0xc7b50a),{createdAt:_0x56af26,createdDate:_0x1829fb,createdTime:_0x241130}=this[_0x13eb9e(0x15d)](new Date());let _0x4a3cf0=_0x4c2724[_0x13eb9e(0x15a)](/\{CliVersion\}/g,CLI_VERSION)[_0x13eb9e(0x15a)](/\{ComponentName\}/g,_0x18fcf6)[_0x13eb9e(0x15a)](/\{DisplayTitle\}/g,_0xeefce6)[_0x13eb9e(0x15a)](/\{PageName\}/g,_0xc7b50a)['replace'](/\{TemplateName\}/g,_0x3349d6)[_0x13eb9e(0x15a)](/\{CreatedAt\}/g,_0x56af26)[_0x13eb9e(0x15a)](/\{CreatedDate\}/g,_0x1829fb)[_0x13eb9e(0x15a)](/\{CreatedTime\}/g,_0x241130);return _0x4a3cf0;}static[a290_0x379beb(0x160)](_0x340f2e,_0x5d16bd,_0x232cdd,_0x56303a,_0x5cc71a,_0xf07541,_0x3703da,_0x176d35){const _0x271916=a290_0x379beb,_0x17c351=new Date(),_0x3c7473=_0x17c351[_0x271916(0x192)](),_0x17579a=_0x232cdd['map'](_0x4c01fb=>{const _0x10a5a0=_0x271916,_0x2533a1=[_0x10a5a0(0x193)+_0x4c01fb['datasetCode']+'\x22',_0x10a5a0(0x173)+_0x4c01fb[_0x10a5a0(0x196)]+'\x22',_0x10a5a0(0x166)+_0x4c01fb[_0x10a5a0(0x186)]+'\x22'];return _0x4c01fb[_0x10a5a0(0x15c)]&&_0x2533a1[_0x10a5a0(0x190)](_0x10a5a0(0x17e)+_0x4c01fb[_0x10a5a0(0x15c)]+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x2533a1[_0x10a5a0(0x17a)](',\x20')+_0x10a5a0(0x157);})[_0x271916(0x17a)](''),_0x1b6093=_0x56303a||_0x232cdd[0x0]?.[_0x271916(0x15c)]||_0x271916(0x179);let _0x322064=_0x340f2e[_0x271916(0x15a)](/\{AppCode\}/g,_0x5d16bd)['replace'](/\{ModelConfigs\}/g,_0x17579a)[_0x271916(0x15a)](/\{ExampleModelName\}/g,_0x1b6093)['replace'](/\{ApiFileName\}/g,_0x5cc71a||'api')['replace'](/\{ConfigName\}/g,_0xf07541||_0x271916(0x162))['replace'](/\{ClientConfigParam\}/g,_0x3703da||'')[_0x271916(0x15a)](/\{VarPrefix\}/g,_0x176d35||_0x271916(0x183))[_0x271916(0x15a)](/\{CreatedAt\}/g,_0x3c7473);return _0x322064;}static async[a290_0x379beb(0x17c)](_0x8f5dc5,_0x284b2c,_0x43fef7,_0x3ada1f,_0x5730a4=!![]){const _0xa650fa=a290_0x379beb,_0x293192=Date[_0xa650fa(0x16d)]();try{_0x5730a4&&logger[_0xa650fa(0x180)](_0xa650fa(0x18b),_0xa650fa(0x182),{'templatePath':_0x8f5dc5,'targetPath':_0x284b2c,'pageName':_0x43fef7,'templateName':_0x3ada1f});await a290_0x5b77c9[_0xa650fa(0x16e)][_0xa650fa(0x168)](_0x284b2c,{'recursive':!![]}),await this['processDirectory'](_0x8f5dc5,_0x284b2c,_0x43fef7,_0x3ada1f);if(_0x5730a4){const _0xbadfdd=Date['now']()-_0x293192;logger[_0xa650fa(0x174)](_0xa650fa(0x18b),_0xa650fa(0x16c),_0xbadfdd,{'pageName':_0x43fef7,'templateName':_0x3ada1f});}}catch(_0xc11bca){if(_0x5730a4){const _0x54d32a=Date[_0xa650fa(0x16d)]()-_0x293192;logger[_0xa650fa(0x197)]('template',_0xa650fa(0x185),{'templatePath':_0x8f5dc5,'targetPath':_0x284b2c,'pageName':_0x43fef7,'templateName':_0x3ada1f,'error':_0xc11bca instanceof Error?_0xc11bca['message']:String(_0xc11bca),'duration':_0x54d32a});}throw _0xc11bca;}}static async['processDirectory'](_0x548f11,_0xaa182d,_0x5bb958,_0x3d3dee){const _0x1011f8=a290_0x379beb,_0x78602f=await a290_0x5b77c9[_0x1011f8(0x16e)]['readdir'](_0x548f11,{'withFileTypes':!![]});for(const _0x4bb1c2 of _0x78602f){const _0xe10e46=a290_0x30b013[_0x1011f8(0x17a)](_0x548f11,_0x4bb1c2['name']);let _0x579bb3=a290_0x30b013[_0x1011f8(0x17a)](_0xaa182d,_0x4bb1c2[_0x1011f8(0x186)]);_0x4bb1c2['name']['endsWith']('.tpl')&&(_0x579bb3=a290_0x30b013[_0x1011f8(0x17a)](_0xaa182d,_0x4bb1c2[_0x1011f8(0x186)][_0x1011f8(0x15a)](/\.tpl$/,'')));if(_0x4bb1c2[_0x1011f8(0x172)]())await a290_0x5b77c9[_0x1011f8(0x16e)][_0x1011f8(0x168)](_0x579bb3,{'recursive':!![]}),await this[_0x1011f8(0x18c)](_0xe10e46,_0x579bb3,_0x5bb958,_0x3d3dee);else _0x4bb1c2[_0x1011f8(0x15e)]()&&await this['processFile'](_0xe10e46,_0x579bb3,_0x5bb958,_0x3d3dee);}}static async[a290_0x379beb(0x16b)](_0x1b28d3,_0x4775c7,_0x2f7024,_0x585bbb){const _0xc2b0ce=a290_0x379beb,_0x50f833=a290_0x30b013['extname'](_0x1b28d3)[_0xc2b0ce(0x194)]();_0x1b28d3['endsWith'](_0xc2b0ce(0x189))&&(_0x4775c7=_0x4775c7['replace'](/\.tpl$/,''));const _0xb90a39=[_0xc2b0ce(0x184),'.ts',_0xc2b0ce(0x171),'.js',_0xc2b0ce(0x176),'.md',_0xc2b0ce(0x17b),_0xc2b0ce(0x17d),_0xc2b0ce(0x189)];if(_0xb90a39[_0xc2b0ce(0x198)](_0x50f833)||_0x1b28d3[_0xc2b0ce(0x17f)](_0xc2b0ce(0x189))){const _0xff4ab4=await a290_0x5b77c9[_0xc2b0ce(0x16e)][_0xc2b0ce(0x195)](_0x1b28d3,_0xc2b0ce(0x165)),_0x42d94c=this[_0xc2b0ce(0x199)](_0xff4ab4,_0x2f7024,_0x585bbb);await a290_0x5b77c9[_0xc2b0ce(0x16e)][_0xc2b0ce(0x158)](_0x4775c7,_0x42d94c,_0xc2b0ce(0x165));}else await a290_0x5b77c9[_0xc2b0ce(0x16e)][_0xc2b0ce(0x18e)](_0x1b28d3,_0x4775c7);}}
@@ -1 +1 @@
1
- (function(_0x144973,_0x18cf78){const _0x304e1a=a291_0x1c10,_0x96e965=_0x144973();while(!![]){try{const _0x5a3abb=parseInt(_0x304e1a(0x135))/0x1+parseInt(_0x304e1a(0x134))/0x2+parseInt(_0x304e1a(0x12a))/0x3+parseInt(_0x304e1a(0x131))/0x4*(parseInt(_0x304e1a(0x13a))/0x5)+parseInt(_0x304e1a(0x145))/0x6+parseInt(_0x304e1a(0x12c))/0x7*(parseInt(_0x304e1a(0x141))/0x8)+-parseInt(_0x304e1a(0x146))/0x9;if(_0x5a3abb===_0x18cf78)break;else _0x96e965['push'](_0x96e965['shift']());}catch(_0x284efb){_0x96e965['push'](_0x96e965['shift']());}}}(a291_0x2762,0x4d304));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a291_0x3cb076 from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x37df46=a291_0x1c10,_0x91e904=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x37df46(0x12d)]()['toLowerCase']();return _0x91e904==='1'||_0x91e904===_0x37df46(0x144)||_0x91e904===_0x37df46(0x13f);}function cacheRoot(){const _0x117d49=a291_0x1c10;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x117d49(0x132));}export function getUpdateNoticeCachePath(){const _0x24dd75=a291_0x1c10;return join(cacheRoot(),_0x24dd75(0x12e),'update-check.json');}async function readUpdateNoticeCache(){const _0x59fbac=a291_0x1c10;try{const _0x2654f1=await readFile(getUpdateNoticeCachePath(),_0x59fbac(0x130)),_0x2e4caa=JSON['parse'](_0x2654f1);if(!_0x2e4caa||typeof _0x2e4caa!==_0x59fbac(0x138))return{};return _0x2e4caa;}catch{return{};}}async function writeUpdateNoticeCache(_0x12275e){const _0x49cf44=a291_0x1c10;try{const _0x4a88c0=getUpdateNoticeCachePath();await mkdir(dirname(_0x4a88c0),{'recursive':!![]}),await writeFile(_0x4a88c0,JSON[_0x49cf44(0x140)](_0x12275e,null,0x2)+'\x0a',_0x49cf44(0x130));}catch{}}function isFreshCheck(_0x4d156a,_0x46d09d){const _0x1819f8=a291_0x1c10;return typeof _0x4d156a[_0x1819f8(0x13c)]===_0x1819f8(0x12f)&&_0x46d09d-_0x4d156a[_0x1819f8(0x13c)]<UPDATE_CHECK_TTL_MS;}function a291_0x1c10(_0x5b293b,_0x10b495){_0x5b293b=_0x5b293b-0x129;const _0x276215=a291_0x2762();let _0x1c108a=_0x276215[_0x5b293b];return _0x1c108a;}function a291_0x2762(){const _0x52f12a=['object','stableVersion','5VBUcNg','lastNotifiedAt','checkedAt',',\x20run:\x20','valid','yes','stringify','8puEOIb','\x20update','/v/','true','1098546ZnfRNO','17975826OqoxpZ','now','1234812ouXgkn','\x20available,\x20current\x20','2609579RgvcEE','trim','rabetbase-cli','number','utf8','1235716aZyZXU','.cache','gte','840046GHzPyG','617034xSsyOW','latest','https://www.npmjs.com/package/'];a291_0x2762=function(){return _0x52f12a;};return a291_0x2762();}function isRecentlyNotified(_0x2a450f,_0x53e657,_0x1aa2f4){const _0x35db59=a291_0x1c10;return _0x2a450f['lastNotifiedVersion']===_0x53e657&&typeof _0x2a450f['lastNotifiedAt']==='number'&&_0x1aa2f4-_0x2a450f[_0x35db59(0x13b)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1a2579){const _0x367138=a291_0x1c10;return _0x367138(0x137)+NPM_PACKAGE_NAME+_0x367138(0x143)+_0x1a2579;}export async function resolveLatestUpdateNotice(){const _0x4d09d0=a291_0x1c10;if(isUpdateNoticeDisabled())return null;try{const _0x5449b0=Date[_0x4d09d0(0x129)](),_0x50a817=getCliVersion(),_0x1322a3=await readUpdateNoticeCache();let _0x17486f=isFreshCheck(_0x1322a3,_0x5449b0)?_0x1322a3[_0x4d09d0(0x136)]?.[_0x4d09d0(0x12d)]():undefined;if(!_0x17486f&&!isFreshCheck(_0x1322a3,_0x5449b0)){const _0x4aa0dc=await getCliVersionPolicy();_0x17486f=_0x4aa0dc?.[_0x4d09d0(0x139)]?.[_0x4d09d0(0x12d)]()||undefined,await writeUpdateNoticeCache({..._0x1322a3,'checkedAt':_0x5449b0,'latest':_0x17486f,'failed':!_0x17486f});}if(!_0x17486f||!a291_0x3cb076[_0x4d09d0(0x13e)](_0x50a817)||!a291_0x3cb076[_0x4d09d0(0x13e)](_0x17486f))return null;if(a291_0x3cb076[_0x4d09d0(0x133)](_0x50a817,_0x17486f))return null;if(isRecentlyNotified(_0x1322a3,_0x17486f,_0x5449b0))return null;const _0x22dede=CLI_BIN_NAME+_0x4d09d0(0x142);return await writeUpdateNoticeCache({..._0x1322a3,'checkedAt':isFreshCheck(_0x1322a3,_0x5449b0)?_0x1322a3[_0x4d09d0(0x13c)]:_0x5449b0,'latest':_0x17486f,'failed':![],'lastNotifiedVersion':_0x17486f,'lastNotifiedAt':_0x5449b0}),{'command':_0x22dede,'current':_0x50a817,'latest':_0x17486f,'url':buildNpmVersionUrl(_0x17486f),'message':CLI_BIN_NAME+'\x20'+_0x17486f+_0x4d09d0(0x12b)+_0x50a817+_0x4d09d0(0x13d)+_0x22dede};}catch{return null;}}
1
+ (function(_0x137671,_0x203371){const _0x410548=a291_0xed11,_0x219e7e=_0x137671();while(!![]){try{const _0x50b5e7=-parseInt(_0x410548(0x15f))/0x1+parseInt(_0x410548(0x175))/0x2*(parseInt(_0x410548(0x16c))/0x3)+-parseInt(_0x410548(0x167))/0x4+parseInt(_0x410548(0x168))/0x5*(-parseInt(_0x410548(0x160))/0x6)+-parseInt(_0x410548(0x16d))/0x7*(-parseInt(_0x410548(0x172))/0x8)+-parseInt(_0x410548(0x158))/0x9*(parseInt(_0x410548(0x16b))/0xa)+parseInt(_0x410548(0x157))/0xb;if(_0x50b5e7===_0x203371)break;else _0x219e7e['push'](_0x219e7e['shift']());}catch(_0x2ebf55){_0x219e7e['push'](_0x219e7e['shift']());}}}(a291_0x17a8,0x9469b));function a291_0xed11(_0x156163,_0x8bf335){_0x156163=_0x156163-0x157;const _0x17a888=a291_0x17a8();let _0xed11ed=_0x17a888[_0x156163];return _0xed11ed;}import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a291_0x2d8251 from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';import{getCliVersion}from'../utils/version.js';const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x4a204d=a291_0xed11,_0x4b81af=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x4a204d(0x159)]()[_0x4a204d(0x173)]();return _0x4b81af==='1'||_0x4b81af===_0x4a204d(0x163)||_0x4b81af===_0x4a204d(0x15c);}function cacheRoot(){const _0x15fbf7=a291_0xed11;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x15fbf7(0x174));}export function getUpdateNoticeCachePath(){return join(cacheRoot(),'rabetbase-cli','update-check.json');}async function readUpdateNoticeCache(){const _0xd4e63b=a291_0xed11;try{const _0x38ac33=await readFile(getUpdateNoticeCachePath(),_0xd4e63b(0x16e)),_0x5c72bf=JSON[_0xd4e63b(0x15e)](_0x38ac33);if(!_0x5c72bf||typeof _0x5c72bf!==_0xd4e63b(0x162))return{};return _0x5c72bf;}catch{return{};}}async function writeUpdateNoticeCache(_0x435f25){const _0x14507e=a291_0xed11;try{const _0xb48be3=getUpdateNoticeCachePath();await mkdir(dirname(_0xb48be3),{'recursive':!![]}),await writeFile(_0xb48be3,JSON[_0x14507e(0x176)](_0x435f25,null,0x2)+'\x0a',_0x14507e(0x16e));}catch{}}function isFreshCheck(_0x5c967e,_0x47cfbc){const _0x192312=a291_0xed11;return typeof _0x5c967e[_0x192312(0x166)]===_0x192312(0x16f)&&_0x47cfbc-_0x5c967e[_0x192312(0x166)]<UPDATE_CHECK_TTL_MS;}function a291_0x17a8(){const _0x4d8d21=['valid','\x20available,\x20current\x20','yes','stableVersion','parse','207440Ijuxvz','5220hffQYY',',\x20run:\x20','object','true','\x20update','/v/','checkedAt','1207940YqsXHJ','4930rcBDPq','gte','https://www.npmjs.com/package/','11134810HqjJtg','2040216URvway','21yNDaUO','utf8','number','latest','lastNotifiedAt','1873896oLKXuQ','toLowerCase','.cache','2sMqFFJ','stringify','18764262GHyLdN','9eDlXpH','trim'];a291_0x17a8=function(){return _0x4d8d21;};return a291_0x17a8();}function isRecentlyNotified(_0x27888e,_0xd1212f,_0x255271){const _0x752807=a291_0xed11;return _0x27888e['lastNotifiedVersion']===_0xd1212f&&typeof _0x27888e['lastNotifiedAt']===_0x752807(0x16f)&&_0x255271-_0x27888e[_0x752807(0x171)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x172caa){const _0x4637a1=a291_0xed11;return _0x4637a1(0x16a)+NPM_PACKAGE_NAME+_0x4637a1(0x165)+_0x172caa;}export async function resolveLatestUpdateNotice(){const _0x42c46d=a291_0xed11;if(isUpdateNoticeDisabled())return null;try{const _0xafee2a=Date['now'](),_0x2e44fb=getCliVersion(),_0x1c8c6b=await readUpdateNoticeCache();let _0xe50eb8=isFreshCheck(_0x1c8c6b,_0xafee2a)?_0x1c8c6b[_0x42c46d(0x170)]?.[_0x42c46d(0x159)]():undefined;if(!_0xe50eb8&&!isFreshCheck(_0x1c8c6b,_0xafee2a)){const _0x448aed=await getCliVersionPolicy();_0xe50eb8=_0x448aed?.[_0x42c46d(0x15d)]?.['trim']()||undefined,await writeUpdateNoticeCache({..._0x1c8c6b,'checkedAt':_0xafee2a,'latest':_0xe50eb8,'failed':!_0xe50eb8});}if(!_0xe50eb8||!a291_0x2d8251[_0x42c46d(0x15a)](_0x2e44fb)||!a291_0x2d8251[_0x42c46d(0x15a)](_0xe50eb8))return null;if(a291_0x2d8251[_0x42c46d(0x169)](_0x2e44fb,_0xe50eb8))return null;if(isRecentlyNotified(_0x1c8c6b,_0xe50eb8,_0xafee2a))return null;const _0x3ef7e9=CLI_BIN_NAME+_0x42c46d(0x164);return await writeUpdateNoticeCache({..._0x1c8c6b,'checkedAt':isFreshCheck(_0x1c8c6b,_0xafee2a)?_0x1c8c6b[_0x42c46d(0x166)]:_0xafee2a,'latest':_0xe50eb8,'failed':![],'lastNotifiedVersion':_0xe50eb8,'lastNotifiedAt':_0xafee2a}),{'command':_0x3ef7e9,'current':_0x2e44fb,'latest':_0xe50eb8,'url':buildNpmVersionUrl(_0xe50eb8),'message':CLI_BIN_NAME+'\x20'+_0xe50eb8+_0x42c46d(0x15b)+_0x2e44fb+_0x42c46d(0x161)+_0x3ef7e9};}catch{return null;}}
@@ -1 +1 @@
1
- function a292_0x4ffb(_0x302cc9,_0x2a06b8){_0x302cc9=_0x302cc9-0x9b;var _0xb92673=a292_0xb926();var _0x4ffb7b=_0xb92673[_0x302cc9];return _0x4ffb7b;}(function(_0x5f00c0,_0x37088d){var _0x18e599=a292_0x4ffb,_0x1d625c=_0x5f00c0();while(!![]){try{var _0x58bf5d=parseInt(_0x18e599(0xa2))/0x1*(-parseInt(_0x18e599(0x9f))/0x2)+parseInt(_0x18e599(0x9c))/0x3+-parseInt(_0x18e599(0x9b))/0x4+parseInt(_0x18e599(0x9e))/0x5*(parseInt(_0x18e599(0xa3))/0x6)+parseInt(_0x18e599(0xa0))/0x7*(parseInt(_0x18e599(0xa1))/0x8)+-parseInt(_0x18e599(0x9d))/0x9+parseInt(_0x18e599(0xa4))/0xa;if(_0x58bf5d===_0x37088d)break;else _0x1d625c['push'](_0x1d625c['shift']());}catch(_0x3e0665){_0x1d625c['push'](_0x1d625c['shift']());}}}(a292_0xb926,0x510c9));import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}function a292_0xb926(){var _0xc3aca7=['1253272FyGKaL','35JEAgre','117832jNfjDy','1iLTqYW','3370134oBQyvu','446630yOCuks','480604ZKbiSz','1297776yvoRVn','304425uvWnTm','5XpJfah'];a292_0xb926=function(){return _0xc3aca7;};return a292_0xb926();}
1
+ (function(_0x594097,_0x4d89c3){var _0x4a2cc9=a292_0x4655,_0x47c703=_0x594097();while(!![]){try{var _0xf83b22=-parseInt(_0x4a2cc9(0xab))/0x1*(-parseInt(_0x4a2cc9(0xa9))/0x2)+-parseInt(_0x4a2cc9(0xaa))/0x3+-parseInt(_0x4a2cc9(0xa8))/0x4*(-parseInt(_0x4a2cc9(0xae))/0x5)+parseInt(_0x4a2cc9(0xa7))/0x6+-parseInt(_0x4a2cc9(0xb0))/0x7*(-parseInt(_0x4a2cc9(0xad))/0x8)+-parseInt(_0x4a2cc9(0xaf))/0x9+parseInt(_0x4a2cc9(0xac))/0xa*(-parseInt(_0x4a2cc9(0xb1))/0xb);if(_0xf83b22===_0x4d89c3)break;else _0x47c703['push'](_0x47c703['shift']());}catch(_0x32c7cc){_0x47c703['push'](_0x47c703['shift']());}}}(a292_0x4bc1,0x9d295));function a292_0x4bc1(){var _0x9cff65=['6ShDVaO','559341VMNIkH','342807rEchlK','40sGaTlv','10091240SdSoUi','3920WGTmDR','7707474ppeGzp','7QVwFxk','5025614EApYey','3789192akiUVa','3024JHQNJC'];a292_0x4bc1=function(){return _0x9cff65;};return a292_0x4bc1();}function a292_0x4655(_0xc817a9,_0x4137fe){_0xc817a9=_0xc817a9-0xa7;var _0x4bc1b0=a292_0x4bc1();var _0x465560=_0x4bc1b0[_0xc817a9];return _0x465560;}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- function a293_0x3539(){var _0x49254c=['18diqIOV','4458872pCPhIV','6503FcbIPv','12yxKxVn','958064pUyvmO','19895300oHEbUP','4104CQawPV','5858545pqrZoT','14437116jJXRZS','128526zmsYPc'];a293_0x3539=function(){return _0x49254c;};return a293_0x3539();}function a293_0x3b17(_0x2797ac,_0x3ea49a){_0x2797ac=_0x2797ac-0x180;var _0x3539e9=a293_0x3539();var _0x3b17de=_0x3539e9[_0x2797ac];return _0x3b17de;}(function(_0x7e89fe,_0x722032){var _0xcb8c0a=a293_0x3b17,_0x1a0d59=_0x7e89fe();while(!![]){try{var _0x29ec8b=-parseInt(_0xcb8c0a(0x189))/0x1*(-parseInt(_0xcb8c0a(0x180))/0x2)+-parseInt(_0xcb8c0a(0x183))/0x3*(-parseInt(_0xcb8c0a(0x184))/0x4)+parseInt(_0xcb8c0a(0x187))/0x5+-parseInt(_0xcb8c0a(0x186))/0x6*(-parseInt(_0xcb8c0a(0x182))/0x7)+parseInt(_0xcb8c0a(0x181))/0x8+-parseInt(_0xcb8c0a(0x188))/0x9+-parseInt(_0xcb8c0a(0x185))/0xa;if(_0x29ec8b===_0x722032)break;else _0x1a0d59['push'](_0x1a0d59['shift']());}catch(_0x51b3eb){_0x1a0d59['push'](_0x1a0d59['shift']());}}}(a293_0x3539,0xd8390));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0x3a7562,_0x102c4a){setActiveCookie(_0x3a7562);try{return await _0x102c4a();}finally{clearActiveCookie();}}
1
+ (function(_0x27b718,_0x32563a){var _0xa9f0e7=a293_0x57fb,_0x50e77a=_0x27b718();while(!![]){try{var _0x2c39ec=parseInt(_0xa9f0e7(0x194))/0x1*(parseInt(_0xa9f0e7(0x18c))/0x2)+parseInt(_0xa9f0e7(0x18d))/0x3+-parseInt(_0xa9f0e7(0x191))/0x4*(parseInt(_0xa9f0e7(0x192))/0x5)+parseInt(_0xa9f0e7(0x18e))/0x6*(parseInt(_0xa9f0e7(0x18f))/0x7)+parseInt(_0xa9f0e7(0x190))/0x8+-parseInt(_0xa9f0e7(0x195))/0x9+parseInt(_0xa9f0e7(0x193))/0xa;if(_0x2c39ec===_0x32563a)break;else _0x50e77a['push'](_0x50e77a['shift']());}catch(_0x50e6a4){_0x50e77a['push'](_0x50e77a['shift']());}}}(a293_0x2fd4,0x2d974));function a293_0x57fb(_0xe435cc,_0x138405){_0xe435cc=_0xe435cc-0x18c;var _0x2fd458=a293_0x2fd4();var _0x57fb28=_0x2fd458[_0xe435cc];return _0x57fb28;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a293_0x2fd4(){var _0x2c2846=['188jsjUTO','323184Gojxeq','6siljVm','595777sLqaih','82776HzhNcc','1186924jlPjaP','5uCjYYN','933570EWLxRD','3013oEsOaH','866646aieQRK'];a293_0x2fd4=function(){return _0x2c2846;};return a293_0x2fd4();}export async function withActiveCookie(_0x4e509d,_0x1082b6){setActiveCookie(_0x4e509d);try{return await _0x1082b6();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- function a294_0x5dbe(){var _0x6e5c07=['82993igFaNg','21JROjub','20AhiKjD','6119120XSFmtc','5781663oYlTmU','16TRhLRx','stderr','5195040onGlyH','525772yPKrFr','8138608vOrAlf','434880dOBolA'];a294_0x5dbe=function(){return _0x6e5c07;};return a294_0x5dbe();}function a294_0x4cb4(_0x3ca267,_0x418655){_0x3ca267=_0x3ca267-0x128;var _0x5dbe71=a294_0x5dbe();var _0x4cb4f6=_0x5dbe71[_0x3ca267];return _0x4cb4f6;}(function(_0x31b649,_0x2f5e31){var _0x16361d=a294_0x4cb4,_0x3d37b5=_0x31b649();while(!![]){try{var _0x3676fd=-parseInt(_0x16361d(0x132))/0x1*(parseInt(_0x16361d(0x12c))/0x2)+parseInt(_0x16361d(0x128))/0x3*(parseInt(_0x16361d(0x12f))/0x4)+-parseInt(_0x16361d(0x12e))/0x5+parseInt(_0x16361d(0x131))/0x6+-parseInt(_0x16361d(0x12a))/0x7+parseInt(_0x16361d(0x130))/0x8+parseInt(_0x16361d(0x12b))/0x9*(parseInt(_0x16361d(0x129))/0xa);if(_0x3676fd===_0x2f5e31)break;else _0x3d37b5['push'](_0x3d37b5['shift']());}catch(_0x1f5ff9){_0x3d37b5['push'](_0x3d37b5['shift']());}}}(a294_0x5dbe,0xaf329));export function writeCliSideChannelLine(_0x674df2){var _0x3a83e3=a294_0x4cb4;process[_0x3a83e3(0x12d)]['write'](_0x674df2+'\x0a');}
1
+ function a294_0x27ca(_0x6fec0e,_0x5ccef4){_0x6fec0e=_0x6fec0e-0x15e;var _0x3efb79=a294_0x3efb();var _0x27ca74=_0x3efb79[_0x6fec0e];return _0x27ca74;}function a294_0x3efb(){var _0x1a8f98=['4uskQOI','606TNZOXs','86499eIbnRb','4379967uEUsIV','1514127qMuZWD','55870kkTcQV','28202779ugwZpD','7525150WjMBCy','1753558aqNkht','1XhjRTg','16ovTlEv'];a294_0x3efb=function(){return _0x1a8f98;};return a294_0x3efb();}(function(_0x529efd,_0x29047b){var _0x5c4f19=a294_0x27ca,_0x1daf12=_0x529efd();while(!![]){try{var _0x2793b2=-parseInt(_0x5c4f19(0x15e))/0x1*(-parseInt(_0x5c4f19(0x168))/0x2)+-parseInt(_0x5c4f19(0x164))/0x3*(parseInt(_0x5c4f19(0x160))/0x4)+-parseInt(_0x5c4f19(0x165))/0x5*(parseInt(_0x5c4f19(0x161))/0x6)+-parseInt(_0x5c4f19(0x162))/0x7*(-parseInt(_0x5c4f19(0x15f))/0x8)+-parseInt(_0x5c4f19(0x163))/0x9+-parseInt(_0x5c4f19(0x167))/0xa+parseInt(_0x5c4f19(0x166))/0xb;if(_0x2793b2===_0x29047b)break;else _0x1daf12['push'](_0x1daf12['shift']());}catch(_0x45c42b){_0x1daf12['push'](_0x1daf12['shift']());}}}(a294_0x3efb,0x90c19));export function writeCliSideChannelLine(_0x588a21){process['stderr']['write'](_0x588a21+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.0-beta.1",
3
+ "version": "2.5.0-beta.2",
4
4
  "description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, Backend Function, database connections, skills, and AI agent workflows.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.5.0-beta.1
3
+ version: 2.5.0-beta.2
4
4
  description: "Lovrabet 开发工作流 CLI — 通过 rabetbase 命令管理数据集、数据库连接(dblink)、数据列表页(Data List Page)、自定义页面(Custom Page)、SQL 查询、Backend Function 脚本、通知配置、企业知识库、菜单事实读取与同步、开发角色与协作者、应用文件、面向票证类业务材料文字与结构化字段提取的 OCR、代码生成,以及平台问题上报。触发词:数据集、数据表、dataset relation-audit、dataset delete、dataset restore、废弃数据集、恢复数据集、dataset rename、dataset field-update、dataset extend-update、dataset business-groups、dataset business-group-update、businessGroup、字段对象更新、doType、options、数据列表页、Data List Page、自定义页面、Custom Page、page create、page custom-list、page custom-detail、page custom-update、page custom-publish、page generate-start、page generate-status、page relation-audit、page sync、page pull、page push、page restore、恢复已删除页面、dblink、数据库连接、schema 分析、db list、db detail、db create、db update、db delete、db test、db tables、db diff、db diff --view all、db diff-refresh-start、db diff-refresh-status、db analyze-batch-plan、db analyze-start、analyze-cancel、analyze-status、traceId、自定义 SQL、sql.execute、bff.execute、BF 消息通知、Backend Function 消息通知、notification config-list、EMAIL configCode、通知配置、notification.send、企业知识库、公司知识、公共知识、kb search、get_dataset_detail、validate_sql_content、save_or_update_custom_sql、@lovrabet/sdk、lovrabet 开发、rabetbase、filter、codegen、init、appcode、app list、app members-list、tenant members-list、应用人员列表、租户人员列表、workspace、workspace init、workspace use、workspace add、workspace remove、多应用、默认应用、menu list、menu visibility-update、菜单显示、菜单隐藏、visible、menu external-link-create、menu external-link-update、menu rename、菜单改名、外链菜单创建、外链 URL 更新、菜单异常审计、菜单手动删除清单、menu sync、menu asset-update、菜单资源更新、menu move、菜单移动、开发角色、开发协作者、role、role list、role user-add、role user-remove、user-resolve、加入开发者、ADMIN、DEV、OWNER、CUSTOM、project create、project upgrade、schema、jq、compress、file upload、file query-url、ocr recognize、文件上传、OCR 识别、票证文字提取、票证字段提取、发票识别、票据识别、证照识别、长期链接、issue report、平台问题、platform issue、问题上报、user-account dingding-sandbox-bind、钉钉沙箱账号绑定。"
5
5
  metadata:
6
6
  requires:
@@ -134,7 +134,7 @@ rabetbase workspace remove product --yes
134
134
  | `userDomain` | string | 平台默认 | 自定义用户域名 |
135
135
  | `runtimeDomain` | string | 平台默认 | 自定义运行时域名 |
136
136
  | `skillDomain` | string | 节点默认 | SkillHub HTTPS origin 覆盖 |
137
- | `kbDomain` | string | 节点默认 | 企业知识库 HTTPS origin 覆盖 |
137
+ | `kbDomain` | string | 跟随 `apiDomain` / 节点 API 默认值 | 企业知识库 HTTPS origin 覆盖;显式配置时优先,`runtimeDomain` 不参与回退 |
138
138
  | `appDomain` | string | 节点默认 | 工作台、页面编辑器和发布页面域名 |
139
139
 
140
140
  ### AppProfile 字段(`apps.*` 内的每个应用)
@@ -18,14 +18,25 @@ rabetbase dataset business-group-update \
18
18
 
19
19
  确认 dry-run 结果无误后再去掉 `--dry-run` 执行。
20
20
 
21
+ 清空当前业务场景分组:
22
+
23
+ ```bash
24
+ rabetbase dataset business-group-update \
25
+ --code 1a90dbff5f094a9a89936fa99b10984c \
26
+ --business-group ungrouped \
27
+ --expect-business-group "旧分组" \
28
+ --dry-run \
29
+ --format compress
30
+ ```
31
+
21
32
  ## 参数
22
33
 
23
34
  | Flag | 必填 | 说明 |
24
35
  | --- | --- | --- |
25
36
  | `--appcode <code>` | 否 | 目标应用编码;未配置默认 app 时必填 |
26
37
  | `--code <code>` | 是 | Dataset code,32 位 hex UUID |
27
- | `--business-group <name>` | 是 | 目标业务场景分组;空字符串表示清空 |
28
- | `--expect-business-group <name>` | 否 | 当前业务场景分组保护;不匹配即中止且不写入 |
38
+ | `--business-group <name>` | 是 | 目标业务场景分组;保留值 `ungrouped` 表示清空 |
39
+ | `--expect-business-group <name>` | 否 | 当前业务场景分组保护;使用 `ungrouped` 表示期望当前未分组;不匹配即中止且不写入 |
29
40
  | `--dry-run` | 否 | 只返回 before/after 预览,不执行写入 |
30
41
  | `--format <fmt>` | 否 | 输出格式,AI Agent 优先用 `compress` |
31
42
 
@@ -33,9 +44,9 @@ rabetbase dataset business-group-update \
33
44
 
34
45
  - 命令用 `--code` 定位 Dataset。
35
46
  - 当前值和写后校验都按 Dataset code 读取业务场景分组;不需要 `dblinkId`、`tableName` 或 `sourceType`。
36
- - `--business-group` 为空字符串时表示清空业务场景分组。
37
- - 回读到 `businessGroup` 为空字符串时表示未分组,是合法当前值。
38
- - `--expect-business-group` 用于保护当前值;不匹配时中止且不写入。
47
+ - `--business-group ungrouped` 表示清空业务场景分组;`ungrouped` 是保留值,不能作为分组名称使用。
48
+ - 平台原始详情可能以空字符串返回 `businessGroup`,也可能省略 `extend.businessGroup`;CLI 会将这两种形态统一归一化为空字符串,表示未分组。
49
+ - `--expect-business-group` 用于保护当前值;当前未分组时传 `ungrouped`,不匹配时中止且不写入。
39
50
  - `--dry-run` 只预览 before/after,不执行写入。
40
51
  - 正式写入后会校验目标值已生效。
41
52
  - 当目标值和当前值一致时,命令返回 `changed=false`,不会执行写入。
@@ -70,7 +81,7 @@ rabetbase dataset business-group-update \
70
81
  ## 提示
71
82
 
72
83
  - 写入前必须先运行 `--dry-run`。
73
- - `businessGroup` 用于按业务场景组织 Dataset,而不是按数据库、表类型或服务名等技术结构分组。优先按业务场景命名并复用当前应用已有分组;需要跨领域消歧或沿用既有两级分组体系时,可使用 `<业务领域>---<业务场景>`,否则使用 `<业务场景>`。表数量不决定是否拆分层级。建议最多两级,层级不得为空或带首尾空白;空字符串表示清空。CLI 仅描述推荐格式并保持兼容,不额外拒绝历史非标准值。
84
+ - `businessGroup` 用于按业务场景组织 Dataset,而不是按数据库、表类型或服务名等技术结构分组。优先按业务场景命名并复用当前应用已有分组;需要跨领域消歧或沿用既有两级分组体系时,可使用 `<业务领域>---<业务场景>`,否则使用 `<业务场景>`。表数量不决定是否拆分层级。建议最多两级,层级不得为空或带首尾空白;使用保留值 `ungrouped` 清空。CLI 仅描述推荐格式并保持兼容,不额外拒绝历史非标准值。
74
85
  - 推荐用 `--expect-business-group` 保护当前值。
75
86
  - 不确定 Dataset code 时,先用 `rabetbase dataset list --name <name> --format compress` 定位。
76
87
  - 业务场景分组只能使用本命令更新,不要通过 `dataset extend-update` 或 `/smartapi/dataset/update-driven-data` 修改。
@@ -2,7 +2,7 @@
2
2
 
3
3
  管理开发者侧当前解析应用下的 `company` 知识库,并检索当前应用可访问的公司与公共知识。所有命令都通过标准工作区、`--app <name>` 或 `--appcode <code>` 解析目标应用。
4
4
 
5
- 企业知识库请求使用 `kbDomain`;普通研发平台接口仍使用 `apiDomain`。当前 rabetbase-cli 没有调用 SkillHub 业务 API,未来新增时必须使用独立的 `skillDomain`。
5
+ 企业知识库请求使用独立的 `kbDomain`。当前官方节点的 KB 仍由平台 API 服务承载,因此未显式配置 `kbDomain` 时跟随 `apiDomain`;KB 服务拆分或企业独立部署时可单独覆盖 `kbDomain`。`runtimeDomain` 不参与 rabetbase 企业 KB 路由。当前 rabetbase-cli 没有调用 SkillHub 业务 API,未来新增时必须使用独立的 `skillDomain`。
6
6
 
7
7
  > 边界:`lovrabet kb` 使用运行态 AK/当前应用/当前用户,面向个人知识库和可见知识搜索;`rabetbase kb` 使用开发者登录态,面向公司知识库管理以及公司/公共知识检索。不要用其中一个替代另一个。
8
8
 
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.0-beta.1",
6
- "skillVersion": "2.5.0-beta.1",
5
+ "packageVersion": "2.5.0-beta.2",
6
+ "skillVersion": "2.5.0-beta.2",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/backend-function.md",
@@ -132,5 +132,5 @@
132
132
  "references/rabetbase-user-account.md",
133
133
  "references/rabetbase-workspace.md"
134
134
  ],
135
- "digest": "f8905b3969e94a98cbc8a676aeee553f7f1f5258dd2ff9988306210b00246de9"
135
+ "digest": "a617fe33ba67f284c9ce0b59ede606a8c6f8536f54b3708a4b123c446745cc25"
136
136
  }