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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) 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.d.ts +1 -1
  56. package/lib/commands/config/init.js +1 -1
  57. package/lib/commands/config/list.js +1 -1
  58. package/lib/commands/config/set.js +1 -1
  59. package/lib/commands/config/shared.js +1 -1
  60. package/lib/commands/dataset/business-group-update.js +1 -1
  61. package/lib/commands/dataset/business-groups.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-restore.js +1 -1
  67. package/lib/commands/dataset/field-update.js +1 -1
  68. package/lib/commands/dataset/generate.js +1 -1
  69. package/lib/commands/dataset/index.js +1 -1
  70. package/lib/commands/dataset/list.js +1 -1
  71. package/lib/commands/dataset/operations.js +1 -1
  72. package/lib/commands/dataset/relation-audit.js +1 -1
  73. package/lib/commands/dataset/relation-create.js +1 -1
  74. package/lib/commands/dataset/relation-delete.js +1 -1
  75. package/lib/commands/dataset/relation-shared.js +1 -1
  76. package/lib/commands/dataset/relation-update.js +1 -1
  77. package/lib/commands/dataset/relations.js +1 -1
  78. package/lib/commands/dataset/rename.js +1 -1
  79. package/lib/commands/dataset/restore.js +1 -1
  80. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  81. package/lib/commands/db/analysis-batching.js +1 -1
  82. package/lib/commands/db/analyze-batch-plan.js +1 -1
  83. package/lib/commands/db/analyze-cancel.js +1 -1
  84. package/lib/commands/db/analyze-start.js +1 -1
  85. package/lib/commands/db/analyze-status.js +1 -1
  86. package/lib/commands/db/create.js +1 -1
  87. package/lib/commands/db/delete.js +1 -1
  88. package/lib/commands/db/detail.js +1 -1
  89. package/lib/commands/db/diff-refresh-start.js +1 -1
  90. package/lib/commands/db/diff-refresh-status.js +1 -1
  91. package/lib/commands/db/diff.js +1 -1
  92. package/lib/commands/db/index.js +1 -1
  93. package/lib/commands/db/list.js +1 -1
  94. package/lib/commands/db/shared.js +1 -1
  95. package/lib/commands/db/table-diff-shared.js +1 -1
  96. package/lib/commands/db/tables.js +1 -1
  97. package/lib/commands/db/test.js +1 -1
  98. package/lib/commands/db/update.js +1 -1
  99. package/lib/commands/deployment/auto-sync.js +1 -1
  100. package/lib/commands/deployment/index.js +1 -1
  101. package/lib/commands/deployment/sync.js +1 -1
  102. package/lib/commands/doctor.js +1 -1
  103. package/lib/commands/file/index.js +1 -1
  104. package/lib/commands/issue/index.js +1 -1
  105. package/lib/commands/issue/nudge.js +1 -1
  106. package/lib/commands/issue/report.js +1 -1
  107. package/lib/commands/issue/shared.js +1 -1
  108. package/lib/commands/kb/create.js +1 -1
  109. package/lib/commands/kb/delete.js +1 -1
  110. package/lib/commands/kb/detail.js +1 -1
  111. package/lib/commands/kb/index.js +1 -1
  112. package/lib/commands/kb/list.js +1 -1
  113. package/lib/commands/kb/search.js +1 -1
  114. package/lib/commands/kb/shared.js +1 -1
  115. package/lib/commands/kb/update.js +1 -1
  116. package/lib/commands/logs/index.js +1 -1
  117. package/lib/commands/menu/asset-update.js +1 -1
  118. package/lib/commands/menu/delete.js +1 -1
  119. package/lib/commands/menu/external-link-create.js +1 -1
  120. package/lib/commands/menu/external-link-update.js +1 -1
  121. package/lib/commands/menu/group-create.js +1 -1
  122. package/lib/commands/menu/group-update.js +1 -1
  123. package/lib/commands/menu/index.js +1 -1
  124. package/lib/commands/menu/list.js +1 -1
  125. package/lib/commands/menu/move.js +1 -1
  126. package/lib/commands/menu/regroup-start.js +1 -1
  127. package/lib/commands/menu/rename.js +1 -1
  128. package/lib/commands/menu/shared/compare-table.js +1 -1
  129. package/lib/commands/menu/shared/delete-plan.js +1 -1
  130. package/lib/commands/menu/shared/facts.js +1 -1
  131. package/lib/commands/menu/shared/index.js +1 -1
  132. package/lib/commands/menu/shared/inquirer.js +1 -1
  133. package/lib/commands/menu/shared/local-pages.js +1 -1
  134. package/lib/commands/menu/shared/logic.js +1 -1
  135. package/lib/commands/menu/shared/mutations.js +1 -1
  136. package/lib/commands/menu/shared/service.js +1 -1
  137. package/lib/commands/menu/shared/sync-core.js +1 -1
  138. package/lib/commands/menu/shared/update-core.js +1 -1
  139. package/lib/commands/menu/shared/valid-url.js +1 -1
  140. package/lib/commands/menu/sync.js +1 -1
  141. package/lib/commands/menu/visibility-update.js +1 -1
  142. package/lib/commands/notification/config-create.js +1 -1
  143. package/lib/commands/notification/config-delete.js +1 -1
  144. package/lib/commands/notification/config-list.js +1 -1
  145. package/lib/commands/notification/config-update.js +1 -1
  146. package/lib/commands/notification/index.js +1 -1
  147. package/lib/commands/notification/shared.js +1 -1
  148. package/lib/commands/ocr/index.js +1 -1
  149. package/lib/commands/page/create.js +1 -1
  150. package/lib/commands/page/custom/detail.js +1 -1
  151. package/lib/commands/page/custom/list.js +1 -1
  152. package/lib/commands/page/custom/publish.js +1 -1
  153. package/lib/commands/page/custom/shared.js +1 -1
  154. package/lib/commands/page/custom/syntax.js +1 -1
  155. package/lib/commands/page/custom/template.js +1 -1
  156. package/lib/commands/page/custom/update.js +1 -1
  157. package/lib/commands/page/data-list-status.js +1 -1
  158. package/lib/commands/page/generate-start.js +1 -1
  159. package/lib/commands/page/generate-status.js +1 -1
  160. package/lib/commands/page/index.js +1 -1
  161. package/lib/commands/page/pull.js +1 -1
  162. package/lib/commands/page/push.js +1 -1
  163. package/lib/commands/page/relation-audit.js +1 -1
  164. package/lib/commands/page/restore.js +1 -1
  165. package/lib/commands/page/shared.js +1 -1
  166. package/lib/commands/page/sync.js +1 -1
  167. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  168. package/lib/commands/project/create/format-elapsed.js +1 -1
  169. package/lib/commands/project/create/main.js +1 -1
  170. package/lib/commands/project/create/materialize-project-template.js +1 -1
  171. package/lib/commands/project/create/project-name.js +1 -1
  172. package/lib/commands/project/create/project-template-archive.js +1 -1
  173. package/lib/commands/project/create/project-template-path.js +1 -1
  174. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  175. package/lib/commands/project/create/use-format-code.js +1 -1
  176. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  177. package/lib/commands/project/index.js +1 -1
  178. package/lib/commands/project/upgrade.js +1 -1
  179. package/lib/commands/registry.js +1 -1
  180. package/lib/commands/role/delete.js +1 -1
  181. package/lib/commands/role/detail.js +1 -1
  182. package/lib/commands/role/index.js +1 -1
  183. package/lib/commands/role/list.js +1 -1
  184. package/lib/commands/role/shared.js +1 -1
  185. package/lib/commands/role/update.js +1 -1
  186. package/lib/commands/role/user-add.js +1 -1
  187. package/lib/commands/role/user-remove.js +1 -1
  188. package/lib/commands/role/user-resolve.js +1 -1
  189. package/lib/commands/run/index.js +1 -1
  190. package/lib/commands/schema.js +1 -1
  191. package/lib/commands/sql/create.js +1 -1
  192. package/lib/commands/sql/delete.js +1 -1
  193. package/lib/commands/sql/detail.js +1 -1
  194. package/lib/commands/sql/exec.js +1 -1
  195. package/lib/commands/sql/index.js +1 -1
  196. package/lib/commands/sql/list.js +1 -1
  197. package/lib/commands/sql/pull.js +1 -1
  198. package/lib/commands/sql/push.js +1 -1
  199. package/lib/commands/sql/shared.js +1 -1
  200. package/lib/commands/sql/status.js +1 -1
  201. package/lib/commands/sql/validate.js +1 -1
  202. package/lib/commands/task/index.js +1 -1
  203. package/lib/commands/task/status.js +1 -1
  204. package/lib/commands/tenant/index.js +1 -1
  205. package/lib/commands/tenant/members-list.js +1 -1
  206. package/lib/commands/tenant/shared.js +1 -1
  207. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  208. package/lib/commands/user-account/index.js +1 -1
  209. package/lib/commands/workspace/add.js +1 -1
  210. package/lib/commands/workspace/index.js +1 -1
  211. package/lib/commands/workspace/remove.js +1 -1
  212. package/lib/config/deployment-sync.js +1 -1
  213. package/lib/config/domain-config.d.ts +1 -1
  214. package/lib/config/domain-config.js +1 -1
  215. package/lib/config/project-routing.js +1 -1
  216. package/lib/config/schema.d.ts +1 -1
  217. package/lib/config/schema.js +1 -1
  218. package/lib/constant/cdn.js +1 -1
  219. package/lib/constant/cli.js +1 -1
  220. package/lib/constant/defaults.js +1 -1
  221. package/lib/constant/domain.d.ts +2 -0
  222. package/lib/constant/domain.js +1 -1
  223. package/lib/constant/env.js +1 -1
  224. package/lib/constant/output.js +1 -1
  225. package/lib/constant/paths.js +1 -1
  226. package/lib/constant/region.js +1 -1
  227. package/lib/constant/risk.js +1 -1
  228. package/lib/constant/routing-profile.js +1 -1
  229. package/lib/context/app-resolver.js +1 -1
  230. package/lib/context/auth-resolver.js +1 -1
  231. package/lib/context/config-loader.js +1 -1
  232. package/lib/context.js +1 -1
  233. package/lib/core/alias-resolver.js +1 -1
  234. package/lib/core/api-client.d.ts +0 -16
  235. package/lib/core/api-client.js +1 -1
  236. package/lib/core/bff/config.js +1 -1
  237. package/lib/core/bff/file-system.js +1 -1
  238. package/lib/core/bff/hash.js +1 -1
  239. package/lib/core/bff/lock.js +1 -1
  240. package/lib/core/bff/utils.js +1 -1
  241. package/lib/core/db-resolver.js +1 -1
  242. package/lib/core/kb-search-client.d.ts +30 -0
  243. package/lib/core/kb-search-client.js +1 -0
  244. package/lib/core/page/file-system.js +1 -1
  245. package/lib/core/page/hash.js +1 -1
  246. package/lib/core/page/lock.js +1 -1
  247. package/lib/core/sql-index-auditor.js +1 -1
  248. package/lib/core/sql-sync/config.js +1 -1
  249. package/lib/core/sql-sync/file-system.js +1 -1
  250. package/lib/core/sql-sync/hash.js +1 -1
  251. package/lib/core/sql-sync/lock.js +1 -1
  252. package/lib/core/sql-sync/utils.js +1 -1
  253. package/lib/core/sql-validator.js +1 -1
  254. package/lib/errors.js +1 -1
  255. package/lib/framework/build-all-flags.js +1 -1
  256. package/lib/framework/error-output.js +1 -1
  257. package/lib/framework/explicit-yes.js +1 -1
  258. package/lib/framework/flags.js +1 -1
  259. package/lib/framework/help.js +1 -1
  260. package/lib/framework/index.js +1 -1
  261. package/lib/framework/output.js +1 -1
  262. package/lib/framework/response.js +1 -1
  263. package/lib/framework/runner-alias.js +1 -1
  264. package/lib/framework/runner.js +1 -1
  265. package/lib/framework/schema-export.js +1 -1
  266. package/lib/framework/types.d.ts +1 -0
  267. package/lib/framework/types.js +1 -1
  268. package/lib/generated/build-info.d.ts +4 -4
  269. package/lib/generated/build-info.js +1 -1
  270. package/lib/help.js +1 -1
  271. package/lib/postinstall.js +1 -1
  272. package/lib/runtime/confirmation.js +1 -1
  273. package/lib/runtime/event.js +1 -1
  274. package/lib/runtime/index.js +1 -1
  275. package/lib/runtime/queue.js +1 -1
  276. package/lib/runtime/resolve.js +1 -1
  277. package/lib/skills/builtin-skill.js +1 -1
  278. package/lib/skills/main.js +1 -1
  279. package/lib/skills/npx-skills-add.js +1 -1
  280. package/lib/skills/skill-presence.js +1 -1
  281. package/lib/telemetry/cli-command-trace.js +1 -1
  282. package/lib/telemetry/cli-help-trace.js +1 -1
  283. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  284. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  285. package/lib/telemetry/send-cli-trace-log.js +1 -1
  286. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  287. package/lib/utils/ai_config.js +1 -1
  288. package/lib/utils/apply-jq-filter.js +1 -1
  289. package/lib/utils/cdn-config.js +1 -1
  290. package/lib/utils/check-sdk-version.js +1 -1
  291. package/lib/utils/cli-version-check.js +1 -1
  292. package/lib/utils/cli-version-policy.js +1 -1
  293. package/lib/utils/config.js +1 -1
  294. package/lib/utils/entity-with-id.js +1 -1
  295. package/lib/utils/file-utils.js +1 -1
  296. package/lib/utils/guides-cdn.js +1 -1
  297. package/lib/utils/http-client.js +1 -1
  298. package/lib/utils/is-non-interactive.js +1 -1
  299. package/lib/utils/logger.js +1 -1
  300. package/lib/utils/params.js +1 -1
  301. package/lib/utils/platform.js +1 -1
  302. package/lib/utils/sleep.js +1 -1
  303. package/lib/utils/template-replacer.js +1 -1
  304. package/lib/utils/update-notice.js +1 -1
  305. package/lib/utils/version.js +1 -1
  306. package/lib/utils/with-active-cookie.js +1 -1
  307. package/lib/utils/write-cli-side-channel.js +1 -1
  308. package/package.json +1 -1
  309. package/skills/rabetbase/SKILL.md +2 -2
  310. package/skills/rabetbase/references/rabetbase-config.md +4 -1
  311. package/skills/rabetbase/references/rabetbase-doctor.md +1 -1
  312. package/skills/rabetbase/references/rabetbase-init.md +2 -0
  313. package/skills/rabetbase/references/rabetbase-kb.md +7 -7
  314. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- const a299_0x3d3eeb=a299_0x3040;(function(_0x24548b,_0x4935cc){const _0x2f3c50=a299_0x3040,_0x3e02de=_0x24548b();while(!![]){try{const _0x570d12=parseInt(_0x2f3c50(0x18c))/0x1+parseInt(_0x2f3c50(0x197))/0x2+parseInt(_0x2f3c50(0x17f))/0x3+parseInt(_0x2f3c50(0x18d))/0x4*(-parseInt(_0x2f3c50(0x17c))/0x5)+parseInt(_0x2f3c50(0x199))/0x6*(parseInt(_0x2f3c50(0x170))/0x7)+-parseInt(_0x2f3c50(0x181))/0x8+parseInt(_0x2f3c50(0x19f))/0x9*(-parseInt(_0x2f3c50(0x180))/0xa);if(_0x570d12===_0x4935cc)break;else _0x3e02de['push'](_0x3e02de['shift']());}catch(_0x5caadf){_0x3e02de['push'](_0x3e02de['shift']());}}}(a299_0x339f,0x35bc2));function a299_0x3040(_0x216d54,_0x3f7c08){_0x216d54=_0x216d54-0x15f;const _0x339f62=a299_0x339f();let _0x3040cc=_0x339f62[_0x216d54];return _0x3040cc;}import a299_0x2ee1f9 from'node:fs';import a299_0x253faa from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();function a299_0x339f(){const _0x2e1c55=['pop','.scss','extname','getMonth','.js','getHours','error','datasetCode:\x20\x22','Template\x20content\x20replacement\x20completed','.json','.jsx','isFile','replace','Starting\x20template\x20content\x20replacement','toComponentName','1807932XOIAkg','toLowerCase','push','template','processTemplate','utf8','alias:\x20\x22','alias','join','toUpperCase','charAt','getFullYear','633210sFbDkm','\x20},','.tsx','648981laMaTW','10gkHwgh','1148672LjIsGf','isDirectory','pad','includes','info','split','processFile','copyFile','.md','endsWith','.tpl','388065TsAiHN','4MsTANS','tableName:\x20\x22','toISOString','.ts','name','toDisplayTitle','slice','now','map','tableName','2538Yftzpd','promises','6KanbXK','getDate','message','mkdir','api','readFile','3362517bKaeXZ','processDirectory','success','replaceContent','Template\x20content\x20replacement\x20failed'];a299_0x339f=function(){return _0x2e1c55;};return a299_0x339f();}export class TemplateReplacer{static[a299_0x3d3eeb(0x183)](_0xacb304){return String(_0xacb304)['padStart'](0x2,'0');}static['formatLocalTimestamp'](_0x363163){const _0xc3372f=a299_0x3d3eeb,_0x22c017=_0x363163[_0xc3372f(0x17b)](),_0x2be68c=this[_0xc3372f(0x183)](_0x363163[_0xc3372f(0x164)]()+0x1),_0x500e7a=this[_0xc3372f(0x183)](_0x363163[_0xc3372f(0x19a)]()),_0x4b60e5=this[_0xc3372f(0x183)](_0x363163[_0xc3372f(0x166)]()),_0x46c390=this[_0xc3372f(0x183)](_0x363163['getMinutes']()),_0x355611=this['pad'](_0x363163['getSeconds']());return{'createdAt':_0x22c017+'-'+_0x2be68c+'-'+_0x500e7a+'\x20'+_0x4b60e5+':'+_0x46c390+':'+_0x355611,'createdDate':_0x22c017+'-'+_0x2be68c+'-'+_0x500e7a,'createdTime':_0x4b60e5+':'+_0x46c390+':'+_0x355611};}static[a299_0x3d3eeb(0x16f)](_0xcd1401){const _0x19b398=a299_0x3d3eeb,_0x72831e=_0xcd1401[_0x19b398(0x186)]('/')[_0x19b398(0x161)]()||_0xcd1401;return _0x72831e[_0x19b398(0x186)]('-')[_0x19b398(0x195)](_0x35e725=>_0x35e725['charAt'](0x0)[_0x19b398(0x179)]()+_0x35e725['slice'](0x1)[_0x19b398(0x171)]())['join']('');}static[a299_0x3d3eeb(0x192)](_0x5b6e65){const _0x29c120=a299_0x3d3eeb,_0x48bcd5=_0x5b6e65[_0x29c120(0x186)]('/')[_0x29c120(0x161)]()||_0x5b6e65;return _0x48bcd5[_0x29c120(0x186)]('-')[_0x29c120(0x195)](_0x23673b=>_0x23673b[_0x29c120(0x17a)](0x0)[_0x29c120(0x179)]()+_0x23673b[_0x29c120(0x193)](0x1)['toLowerCase']())[_0x29c120(0x178)]('\x20');}static[a299_0x3d3eeb(0x15f)](_0x17fea5,_0x2c629d,_0x204536){const _0x28c3d7=a299_0x3d3eeb,_0x478356=this['toComponentName'](_0x2c629d),_0x506ca1=this[_0x28c3d7(0x192)](_0x2c629d),{createdAt:_0x4628f6,createdDate:_0x1cbe86,createdTime:_0x48f0fb}=this['formatLocalTimestamp'](new Date());let _0x4fd1b2=_0x17fea5[_0x28c3d7(0x16d)](/\{CliVersion\}/g,CLI_VERSION)['replace'](/\{ComponentName\}/g,_0x478356)[_0x28c3d7(0x16d)](/\{DisplayTitle\}/g,_0x506ca1)['replace'](/\{PageName\}/g,_0x2c629d)[_0x28c3d7(0x16d)](/\{TemplateName\}/g,_0x204536)[_0x28c3d7(0x16d)](/\{CreatedAt\}/g,_0x4628f6)[_0x28c3d7(0x16d)](/\{CreatedDate\}/g,_0x1cbe86)['replace'](/\{CreatedTime\}/g,_0x48f0fb);return _0x4fd1b2;}static['replaceApiContent'](_0x3b68bf,_0x5273ca,_0x88ef3d,_0x1affab,_0x438e56,_0x278859,_0x50d0d3,_0x463747){const _0x1d5f0e=a299_0x3d3eeb,_0x3c9536=new Date(),_0x2189a4=_0x3c9536[_0x1d5f0e(0x18f)](),_0x132f8b=_0x88ef3d[_0x1d5f0e(0x195)](_0x1b053f=>{const _0x139972=_0x1d5f0e,_0x217384=[_0x139972(0x168)+_0x1b053f['datasetCode']+'\x22',_0x139972(0x18e)+_0x1b053f[_0x139972(0x196)]+'\x22','name:\x20\x22'+_0x1b053f[_0x139972(0x191)]+'\x22'];return _0x1b053f[_0x139972(0x177)]&&_0x217384[_0x139972(0x172)](_0x139972(0x176)+_0x1b053f[_0x139972(0x177)]+'\x22'),'\x0a\x20\x20\x20\x20{\x20'+_0x217384['join'](',\x20')+_0x139972(0x17d);})['join'](''),_0x479922=_0x1affab||_0x88ef3d[0x0]?.[_0x1d5f0e(0x177)]||'YourModel';let _0x461b58=_0x3b68bf[_0x1d5f0e(0x16d)](/\{AppCode\}/g,_0x5273ca)[_0x1d5f0e(0x16d)](/\{ModelConfigs\}/g,_0x132f8b)[_0x1d5f0e(0x16d)](/\{ExampleModelName\}/g,_0x479922)[_0x1d5f0e(0x16d)](/\{ApiFileName\}/g,_0x438e56||_0x1d5f0e(0x19d))[_0x1d5f0e(0x16d)](/\{ConfigName\}/g,_0x278859||'default')[_0x1d5f0e(0x16d)](/\{ClientConfigParam\}/g,_0x50d0d3||'')[_0x1d5f0e(0x16d)](/\{VarPrefix\}/g,_0x463747||'LOVRABET')[_0x1d5f0e(0x16d)](/\{CreatedAt\}/g,_0x2189a4);return _0x461b58;}static async[a299_0x3d3eeb(0x174)](_0x2837ea,_0xddab9d,_0x4026b1,_0x730cab,_0x5c23b7=!![]){const _0x27bf60=a299_0x3d3eeb,_0x98322e=Date[_0x27bf60(0x194)]();try{_0x5c23b7&&logger[_0x27bf60(0x185)](_0x27bf60(0x173),_0x27bf60(0x16e),{'templatePath':_0x2837ea,'targetPath':_0xddab9d,'pageName':_0x4026b1,'templateName':_0x730cab});await a299_0x2ee1f9[_0x27bf60(0x198)]['mkdir'](_0xddab9d,{'recursive':!![]}),await this[_0x27bf60(0x1a0)](_0x2837ea,_0xddab9d,_0x4026b1,_0x730cab);if(_0x5c23b7){const _0x2bdb51=Date[_0x27bf60(0x194)]()-_0x98322e;logger[_0x27bf60(0x1a1)](_0x27bf60(0x173),_0x27bf60(0x169),_0x2bdb51,{'pageName':_0x4026b1,'templateName':_0x730cab});}}catch(_0x4e813d){if(_0x5c23b7){const _0x87d1c5=Date['now']()-_0x98322e;logger[_0x27bf60(0x167)](_0x27bf60(0x173),_0x27bf60(0x160),{'templatePath':_0x2837ea,'targetPath':_0xddab9d,'pageName':_0x4026b1,'templateName':_0x730cab,'error':_0x4e813d instanceof Error?_0x4e813d[_0x27bf60(0x19b)]:String(_0x4e813d),'duration':_0x87d1c5});}throw _0x4e813d;}}static async[a299_0x3d3eeb(0x1a0)](_0x4c3ef0,_0x1375a3,_0x5befb7,_0x5ab7cc){const _0x1612c3=a299_0x3d3eeb,_0x27d206=await a299_0x2ee1f9[_0x1612c3(0x198)]['readdir'](_0x4c3ef0,{'withFileTypes':!![]});for(const _0x4c3edd of _0x27d206){const _0x13cf72=a299_0x253faa[_0x1612c3(0x178)](_0x4c3ef0,_0x4c3edd[_0x1612c3(0x191)]);let _0x4b11d1=a299_0x253faa[_0x1612c3(0x178)](_0x1375a3,_0x4c3edd[_0x1612c3(0x191)]);_0x4c3edd['name'][_0x1612c3(0x18a)](_0x1612c3(0x18b))&&(_0x4b11d1=a299_0x253faa[_0x1612c3(0x178)](_0x1375a3,_0x4c3edd['name']['replace'](/\.tpl$/,'')));if(_0x4c3edd[_0x1612c3(0x182)]())await a299_0x2ee1f9[_0x1612c3(0x198)][_0x1612c3(0x19c)](_0x4b11d1,{'recursive':!![]}),await this[_0x1612c3(0x1a0)](_0x13cf72,_0x4b11d1,_0x5befb7,_0x5ab7cc);else _0x4c3edd[_0x1612c3(0x16c)]()&&await this[_0x1612c3(0x187)](_0x13cf72,_0x4b11d1,_0x5befb7,_0x5ab7cc);}}static async['processFile'](_0x58ded6,_0x1b067e,_0x3f91eb,_0x52d64c){const _0x531f09=a299_0x3d3eeb,_0x56408b=a299_0x253faa[_0x531f09(0x163)](_0x58ded6)['toLowerCase']();_0x58ded6['endsWith']('.tpl')&&(_0x1b067e=_0x1b067e['replace'](/\.tpl$/,''));const _0x9d710f=[_0x531f09(0x17e),_0x531f09(0x190),_0x531f09(0x16b),_0x531f09(0x165),_0x531f09(0x16a),_0x531f09(0x189),'.css',_0x531f09(0x162),_0x531f09(0x18b)];if(_0x9d710f[_0x531f09(0x184)](_0x56408b)||_0x58ded6[_0x531f09(0x18a)](_0x531f09(0x18b))){const _0x4464cd=await a299_0x2ee1f9[_0x531f09(0x198)][_0x531f09(0x19e)](_0x58ded6,'utf8'),_0x1af412=this[_0x531f09(0x15f)](_0x4464cd,_0x3f91eb,_0x52d64c);await a299_0x2ee1f9['promises']['writeFile'](_0x1b067e,_0x1af412,_0x531f09(0x175));}else await a299_0x2ee1f9[_0x531f09(0x198)][_0x531f09(0x188)](_0x58ded6,_0x1b067e);}}
1
+ const a300_0x49fa45=a300_0x1bc3;function a300_0x131c(){const _0x2330e4=['formatLocalTimestamp','.tpl','processDirectory','datasetCode:\x20\x22','info','.json','.scss','writeFile','tableName','utf8','getFullYear','LOVRABET','now','1041920XJPuVt','Template\x20content\x20replacement\x20completed','slice','push','Template\x20content\x20replacement\x20failed','.js','4XvtDbg','replace','success','padStart','api','isDirectory','toUpperCase','2617059EVFBYU','readFile','\x20},','\x0a\x20\x20\x20\x20{\x20','YourModel','replaceApiContent','isFile','.jsx','processFile','split','tableName:\x20\x22','pad','promises','toLowerCase','toDisplayTitle','charAt','default','1259290CNRGiq','1770741wEGiJb','getDate','1oerFiy','replaceContent','template','endsWith','includes','.css','Starting\x20template\x20content\x20replacement','toISOString','getMinutes','6564186URJTZJ','map','readdir','.tsx','message','toComponentName','join','alias','name','getHours','10377968ynYzHu','copyFile','1460165RbmqwU','mkdir'];a300_0x131c=function(){return _0x2330e4;};return a300_0x131c();}(function(_0x38d852,_0x5e15fc){const _0x4172cf=a300_0x1bc3,_0x1b3d35=_0x38d852();while(!![]){try{const _0x3e284f=-parseInt(_0x4172cf(0x219))/0x1*(parseInt(_0x4172cf(0x216))/0x2)+parseInt(_0x4172cf(0x205))/0x3*(parseInt(_0x4172cf(0x1fe))/0x4)+parseInt(_0x4172cf(0x1f8))/0x5+parseInt(_0x4172cf(0x222))/0x6+parseInt(_0x4172cf(0x22e))/0x7+-parseInt(_0x4172cf(0x22c))/0x8+parseInt(_0x4172cf(0x217))/0x9;if(_0x3e284f===_0x5e15fc)break;else _0x1b3d35['push'](_0x1b3d35['shift']());}catch(_0x1f471a){_0x1b3d35['push'](_0x1b3d35['shift']());}}}(a300_0x131c,0x9f7a5));import a300_0x39c260 from'node:fs';function a300_0x1bc3(_0x118089,_0x4ea8ad){_0x118089=_0x118089-0x1ed;const _0x131c21=a300_0x131c();let _0x1bc3f1=_0x131c21[_0x118089];return _0x1bc3f1;}import a300_0xf500c1 from'node:path';import{logger}from'../utils/logger.js';import{getCliVersion}from'../utils/version.js';const CLI_VERSION=getCliVersion();export class TemplateReplacer{static[a300_0x49fa45(0x210)](_0x56481b){const _0x4c3df3=a300_0x49fa45;return String(_0x56481b)[_0x4c3df3(0x201)](0x2,'0');}static[a300_0x49fa45(0x230)](_0x32344b){const _0x1de078=a300_0x49fa45,_0x2a4de3=_0x32344b[_0x1de078(0x1f5)](),_0x384715=this['pad'](_0x32344b['getMonth']()+0x1),_0x8da1e9=this[_0x1de078(0x210)](_0x32344b[_0x1de078(0x218)]()),_0x1d9ea8=this[_0x1de078(0x210)](_0x32344b[_0x1de078(0x22b)]()),_0x31a303=this[_0x1de078(0x210)](_0x32344b[_0x1de078(0x221)]()),_0x1d9d7c=this[_0x1de078(0x210)](_0x32344b['getSeconds']());return{'createdAt':_0x2a4de3+'-'+_0x384715+'-'+_0x8da1e9+'\x20'+_0x1d9ea8+':'+_0x31a303+':'+_0x1d9d7c,'createdDate':_0x2a4de3+'-'+_0x384715+'-'+_0x8da1e9,'createdTime':_0x1d9ea8+':'+_0x31a303+':'+_0x1d9d7c};}static[a300_0x49fa45(0x227)](_0x5cd08b){const _0x5a0999=a300_0x49fa45,_0x142fb7=_0x5cd08b[_0x5a0999(0x20e)]('/')['pop']()||_0x5cd08b;return _0x142fb7[_0x5a0999(0x20e)]('-')[_0x5a0999(0x223)](_0x495fb8=>_0x495fb8[_0x5a0999(0x214)](0x0)[_0x5a0999(0x204)]()+_0x495fb8[_0x5a0999(0x1fa)](0x1)[_0x5a0999(0x212)]())['join']('');}static[a300_0x49fa45(0x213)](_0x503620){const _0x3c6693=a300_0x49fa45,_0x3154ec=_0x503620[_0x3c6693(0x20e)]('/')['pop']()||_0x503620;return _0x3154ec['split']('-')[_0x3c6693(0x223)](_0x7ee2a0=>_0x7ee2a0[_0x3c6693(0x214)](0x0)[_0x3c6693(0x204)]()+_0x7ee2a0[_0x3c6693(0x1fa)](0x1)[_0x3c6693(0x212)]())[_0x3c6693(0x228)]('\x20');}static[a300_0x49fa45(0x21a)](_0x2f655d,_0x24f7dd,_0x56abaa){const _0x296b20=a300_0x49fa45,_0x486320=this[_0x296b20(0x227)](_0x24f7dd),_0x1e9c70=this['toDisplayTitle'](_0x24f7dd),{createdAt:_0x498f8f,createdDate:_0x41de8b,createdTime:_0x14654c}=this[_0x296b20(0x230)](new Date());let _0x1fcf18=_0x2f655d[_0x296b20(0x1ff)](/\{CliVersion\}/g,CLI_VERSION)[_0x296b20(0x1ff)](/\{ComponentName\}/g,_0x486320)[_0x296b20(0x1ff)](/\{DisplayTitle\}/g,_0x1e9c70)[_0x296b20(0x1ff)](/\{PageName\}/g,_0x24f7dd)[_0x296b20(0x1ff)](/\{TemplateName\}/g,_0x56abaa)['replace'](/\{CreatedAt\}/g,_0x498f8f)['replace'](/\{CreatedDate\}/g,_0x41de8b)[_0x296b20(0x1ff)](/\{CreatedTime\}/g,_0x14654c);return _0x1fcf18;}static[a300_0x49fa45(0x20a)](_0x36e9eb,_0x175410,_0x363f7b,_0x1a8f2f,_0x12700e,_0x1ddf19,_0x50ef17,_0x2e42fe){const _0x3e9345=a300_0x49fa45,_0x278fcd=new Date(),_0x557309=_0x278fcd[_0x3e9345(0x220)](),_0xd72bd0=_0x363f7b[_0x3e9345(0x223)](_0x1fa3a3=>{const _0x5bd345=_0x3e9345,_0x48dbc2=[_0x5bd345(0x1ee)+_0x1fa3a3['datasetCode']+'\x22',_0x5bd345(0x20f)+_0x1fa3a3[_0x5bd345(0x1f3)]+'\x22','name:\x20\x22'+_0x1fa3a3['name']+'\x22'];return _0x1fa3a3[_0x5bd345(0x229)]&&_0x48dbc2[_0x5bd345(0x1fb)]('alias:\x20\x22'+_0x1fa3a3[_0x5bd345(0x229)]+'\x22'),_0x5bd345(0x208)+_0x48dbc2['join'](',\x20')+_0x5bd345(0x207);})['join'](''),_0x3b96d6=_0x1a8f2f||_0x363f7b[0x0]?.[_0x3e9345(0x229)]||_0x3e9345(0x209);let _0xd0c11e=_0x36e9eb[_0x3e9345(0x1ff)](/\{AppCode\}/g,_0x175410)[_0x3e9345(0x1ff)](/\{ModelConfigs\}/g,_0xd72bd0)[_0x3e9345(0x1ff)](/\{ExampleModelName\}/g,_0x3b96d6)['replace'](/\{ApiFileName\}/g,_0x12700e||_0x3e9345(0x202))[_0x3e9345(0x1ff)](/\{ConfigName\}/g,_0x1ddf19||_0x3e9345(0x215))['replace'](/\{ClientConfigParam\}/g,_0x50ef17||'')[_0x3e9345(0x1ff)](/\{VarPrefix\}/g,_0x2e42fe||_0x3e9345(0x1f6))[_0x3e9345(0x1ff)](/\{CreatedAt\}/g,_0x557309);return _0xd0c11e;}static async['processTemplate'](_0x188519,_0x191136,_0x9c76e1,_0x40e1db,_0x3d383f=!![]){const _0x381395=a300_0x49fa45,_0x1ff5d1=Date[_0x381395(0x1f7)]();try{_0x3d383f&&logger[_0x381395(0x1ef)](_0x381395(0x21b),_0x381395(0x21f),{'templatePath':_0x188519,'targetPath':_0x191136,'pageName':_0x9c76e1,'templateName':_0x40e1db});await a300_0x39c260[_0x381395(0x211)][_0x381395(0x22f)](_0x191136,{'recursive':!![]}),await this[_0x381395(0x1ed)](_0x188519,_0x191136,_0x9c76e1,_0x40e1db);if(_0x3d383f){const _0x3521a7=Date[_0x381395(0x1f7)]()-_0x1ff5d1;logger[_0x381395(0x200)]('template',_0x381395(0x1f9),_0x3521a7,{'pageName':_0x9c76e1,'templateName':_0x40e1db});}}catch(_0x97af1){if(_0x3d383f){const _0x244014=Date[_0x381395(0x1f7)]()-_0x1ff5d1;logger['error']('template',_0x381395(0x1fc),{'templatePath':_0x188519,'targetPath':_0x191136,'pageName':_0x9c76e1,'templateName':_0x40e1db,'error':_0x97af1 instanceof Error?_0x97af1[_0x381395(0x226)]:String(_0x97af1),'duration':_0x244014});}throw _0x97af1;}}static async[a300_0x49fa45(0x1ed)](_0x6838b5,_0x54ca57,_0x56be9e,_0xe8ca77){const _0x4fa4d4=a300_0x49fa45,_0x33d686=await a300_0x39c260[_0x4fa4d4(0x211)][_0x4fa4d4(0x224)](_0x6838b5,{'withFileTypes':!![]});for(const _0x2143d1 of _0x33d686){const _0x46ac65=a300_0xf500c1[_0x4fa4d4(0x228)](_0x6838b5,_0x2143d1[_0x4fa4d4(0x22a)]);let _0x46892e=a300_0xf500c1[_0x4fa4d4(0x228)](_0x54ca57,_0x2143d1['name']);_0x2143d1[_0x4fa4d4(0x22a)][_0x4fa4d4(0x21c)](_0x4fa4d4(0x231))&&(_0x46892e=a300_0xf500c1[_0x4fa4d4(0x228)](_0x54ca57,_0x2143d1[_0x4fa4d4(0x22a)][_0x4fa4d4(0x1ff)](/\.tpl$/,'')));if(_0x2143d1[_0x4fa4d4(0x203)]())await a300_0x39c260[_0x4fa4d4(0x211)][_0x4fa4d4(0x22f)](_0x46892e,{'recursive':!![]}),await this['processDirectory'](_0x46ac65,_0x46892e,_0x56be9e,_0xe8ca77);else _0x2143d1[_0x4fa4d4(0x20b)]()&&await this[_0x4fa4d4(0x20d)](_0x46ac65,_0x46892e,_0x56be9e,_0xe8ca77);}}static async[a300_0x49fa45(0x20d)](_0xe18016,_0x3837d0,_0x215670,_0xa8dd15){const _0x206564=a300_0x49fa45,_0xeac763=a300_0xf500c1['extname'](_0xe18016)[_0x206564(0x212)]();_0xe18016['endsWith'](_0x206564(0x231))&&(_0x3837d0=_0x3837d0[_0x206564(0x1ff)](/\.tpl$/,''));const _0x4f4fcf=[_0x206564(0x225),'.ts',_0x206564(0x20c),_0x206564(0x1fd),_0x206564(0x1f0),'.md',_0x206564(0x21e),_0x206564(0x1f1),'.tpl'];if(_0x4f4fcf[_0x206564(0x21d)](_0xeac763)||_0xe18016[_0x206564(0x21c)](_0x206564(0x231))){const _0x1a9bc5=await a300_0x39c260[_0x206564(0x211)][_0x206564(0x206)](_0xe18016,'utf8'),_0xd9795=this['replaceContent'](_0x1a9bc5,_0x215670,_0xa8dd15);await a300_0x39c260[_0x206564(0x211)][_0x206564(0x1f2)](_0x3837d0,_0xd9795,_0x206564(0x1f4));}else await a300_0x39c260['promises'][_0x206564(0x22d)](_0xe18016,_0x3837d0);}}
@@ -1 +1 @@
1
- (function(_0x2d7633,_0x55ebf7){const _0x54bde7=a300_0x49a6,_0x4e2dac=_0x2d7633();while(!![]){try{const _0x2efe7e=parseInt(_0x54bde7(0x1ce))/0x1+-parseInt(_0x54bde7(0x1d0))/0x2+-parseInt(_0x54bde7(0x1c8))/0x3*(parseInt(_0x54bde7(0x1c9))/0x4)+parseInt(_0x54bde7(0x1d2))/0x5+-parseInt(_0x54bde7(0x1d6))/0x6+-parseInt(_0x54bde7(0x1c6))/0x7+parseInt(_0x54bde7(0x1d5))/0x8*(parseInt(_0x54bde7(0x1cb))/0x9);if(_0x2efe7e===_0x55ebf7)break;else _0x4e2dac['push'](_0x4e2dac['shift']());}catch(_0x12b6fc){_0x4e2dac['push'](_0x4e2dac['shift']());}}}(a300_0xd12d,0x5fa94));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';function a300_0x49a6(_0x2d0dc4,_0x44024a){_0x2d0dc4=_0x2d0dc4-0x1c1;const _0xd12d1f=a300_0xd12d();let _0x49a609=_0xd12d1f[_0x2d0dc4];return _0x49a609;}import a300_0x23dcb7 from'semver';import{CLI_BIN_NAME,NPM_PACKAGE_NAME}from'../constant/cli.js';import{getCliVersionPolicy}from'../utils/cli-version-policy.js';function a300_0xd12d(){const _0x16c827=['lastNotifiedVersion','latest','lastNotifiedAt','true','utf8','trim','parse','valid','now','4358214aLtdES','/v/','6JUonAF','558084YDqngO','object','783fRlQTQ','\x20update','stringify','769824jApLBF','gte','1315486kBhwyN','checkedAt','281835oCLeKs','number',',\x20run:\x20','125792bzNUaL','1457784KEItVV','stableVersion','toLowerCase','rabetbase-cli'];a300_0xd12d=function(){return _0x16c827;};return a300_0xd12d();}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 _0x4129f8=a300_0x49a6,_0x4a37b8=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x4129f8(0x1c2)]()[_0x4129f8(0x1d8)]();return _0x4a37b8==='1'||_0x4a37b8===_0x4129f8(0x1dd)||_0x4a37b8==='yes';}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x10f18c=a300_0x49a6;return join(cacheRoot(),_0x10f18c(0x1d9),'update-check.json');}async function readUpdateNoticeCache(){const _0x27ec24=a300_0x49a6;try{const _0x5a6b06=await readFile(getUpdateNoticeCachePath(),_0x27ec24(0x1c1)),_0x130fdc=JSON[_0x27ec24(0x1c3)](_0x5a6b06);if(!_0x130fdc||typeof _0x130fdc!==_0x27ec24(0x1ca))return{};return _0x130fdc;}catch{return{};}}async function writeUpdateNoticeCache(_0x4578e7){const _0x25923a=a300_0x49a6;try{const _0x1c8235=getUpdateNoticeCachePath();await mkdir(dirname(_0x1c8235),{'recursive':!![]}),await writeFile(_0x1c8235,JSON[_0x25923a(0x1cd)](_0x4578e7,null,0x2)+'\x0a',_0x25923a(0x1c1));}catch{}}function isFreshCheck(_0x31021e,_0x51c0f3){const _0x1e8ae9=a300_0x49a6;return typeof _0x31021e[_0x1e8ae9(0x1d1)]===_0x1e8ae9(0x1d3)&&_0x51c0f3-_0x31021e['checkedAt']<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x563b88,_0x336b97,_0x11671d){const _0x416501=a300_0x49a6;return _0x563b88[_0x416501(0x1da)]===_0x336b97&&typeof _0x563b88[_0x416501(0x1dc)]===_0x416501(0x1d3)&&_0x11671d-_0x563b88['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1cd07c){const _0x46c9b9=a300_0x49a6;return'https://www.npmjs.com/package/'+NPM_PACKAGE_NAME+_0x46c9b9(0x1c7)+_0x1cd07c;}export async function resolveLatestUpdateNotice(){const _0x6f0d4=a300_0x49a6;if(isUpdateNoticeDisabled())return null;try{const _0x25b564=Date[_0x6f0d4(0x1c5)](),_0x402cf3=getCliVersion(),_0x50ccd9=await readUpdateNoticeCache();let _0x29ac69=isFreshCheck(_0x50ccd9,_0x25b564)?_0x50ccd9[_0x6f0d4(0x1db)]?.['trim']():undefined;if(!_0x29ac69&&!isFreshCheck(_0x50ccd9,_0x25b564)){const _0xdf01d=await getCliVersionPolicy();_0x29ac69=_0xdf01d?.[_0x6f0d4(0x1d7)]?.[_0x6f0d4(0x1c2)]()||undefined,await writeUpdateNoticeCache({..._0x50ccd9,'checkedAt':_0x25b564,'latest':_0x29ac69,'failed':!_0x29ac69});}if(!_0x29ac69||!a300_0x23dcb7[_0x6f0d4(0x1c4)](_0x402cf3)||!a300_0x23dcb7['valid'](_0x29ac69))return null;if(a300_0x23dcb7[_0x6f0d4(0x1cf)](_0x402cf3,_0x29ac69))return null;if(isRecentlyNotified(_0x50ccd9,_0x29ac69,_0x25b564))return null;const _0x58d19f=CLI_BIN_NAME+_0x6f0d4(0x1cc);return await writeUpdateNoticeCache({..._0x50ccd9,'checkedAt':isFreshCheck(_0x50ccd9,_0x25b564)?_0x50ccd9[_0x6f0d4(0x1d1)]:_0x25b564,'latest':_0x29ac69,'failed':![],'lastNotifiedVersion':_0x29ac69,'lastNotifiedAt':_0x25b564}),{'command':_0x58d19f,'current':_0x402cf3,'latest':_0x29ac69,'url':buildNpmVersionUrl(_0x29ac69),'message':CLI_BIN_NAME+'\x20'+_0x29ac69+'\x20available,\x20current\x20'+_0x402cf3+_0x6f0d4(0x1d4)+_0x58d19f};}catch{return null;}}
1
+ (function(_0xd08fcd,_0x2d9e86){const _0x4983bd=a301_0x2126,_0x4de5e4=_0xd08fcd();while(!![]){try{const _0xbe79fc=-parseInt(_0x4983bd(0xe5))/0x1*(-parseInt(_0x4983bd(0xef))/0x2)+-parseInt(_0x4983bd(0xf5))/0x3+parseInt(_0x4983bd(0xea))/0x4+-parseInt(_0x4983bd(0xeb))/0x5*(parseInt(_0x4983bd(0xed))/0x6)+parseInt(_0x4983bd(0xe6))/0x7+-parseInt(_0x4983bd(0xdd))/0x8+parseInt(_0x4983bd(0xe1))/0x9;if(_0xbe79fc===_0x2d9e86)break;else _0x4de5e4['push'](_0x4de5e4['shift']());}catch(_0x38814d){_0x4de5e4['push'](_0x4de5e4['shift']());}}}(a301_0x1747,0xe0e08));import{mkdir,readFile,writeFile}from'node:fs/promises';function a301_0x1747(){const _0x4595b8=['\x20available,\x20current\x20','yes','latest','20623851CWRdaT','checkedAt','update-check.json','utf8','21259DjqWpK','3505264JGTFTA','stableVersion','\x20update','stringify','2570396HFihGV','25vZUcDZ','object','1380930TGGqHf','lastNotifiedAt','38WFhJnJ','true','rabetbase-cli','parse','/v/','trim','2064855asmHTl','number','valid','gte','8629240RRFnlK'];a301_0x1747=function(){return _0x4595b8;};return a301_0x1747();}import{homedir}from'node:os';import{dirname,join}from'node:path';import a301_0xd5250f 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';function a301_0x2126(_0x2325c7,_0x273df0){_0x2325c7=_0x2325c7-0xda;const _0x1747a2=a301_0x1747();let _0x212620=_0x1747a2[_0x2325c7];return _0x212620;}const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x4d9864=a301_0x2126,_0x2f2a1a=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x4d9864(0xf4)]()['toLowerCase']();return _0x2f2a1a==='1'||_0x2f2a1a===_0x4d9864(0xf0)||_0x2f2a1a===_0x4d9864(0xdf);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x56d72c=a301_0x2126;return join(cacheRoot(),_0x56d72c(0xf1),_0x56d72c(0xe3));}async function readUpdateNoticeCache(){const _0x546d04=a301_0x2126;try{const _0xc80be7=await readFile(getUpdateNoticeCachePath(),'utf8'),_0x1cb03e=JSON[_0x546d04(0xf2)](_0xc80be7);if(!_0x1cb03e||typeof _0x1cb03e!==_0x546d04(0xec))return{};return _0x1cb03e;}catch{return{};}}async function writeUpdateNoticeCache(_0x2fd94f){const _0x53489d=a301_0x2126;try{const _0x307127=getUpdateNoticeCachePath();await mkdir(dirname(_0x307127),{'recursive':!![]}),await writeFile(_0x307127,JSON[_0x53489d(0xe9)](_0x2fd94f,null,0x2)+'\x0a',_0x53489d(0xe4));}catch{}}function isFreshCheck(_0x456271,_0x318a22){const _0x35b56f=a301_0x2126;return typeof _0x456271['checkedAt']===_0x35b56f(0xda)&&_0x318a22-_0x456271[_0x35b56f(0xe2)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x5aad8f,_0x2a4e24,_0x981f50){const _0x12764e=a301_0x2126;return _0x5aad8f['lastNotifiedVersion']===_0x2a4e24&&typeof _0x5aad8f[_0x12764e(0xee)]==='number'&&_0x981f50-_0x5aad8f['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x93a27b){const _0x2dc2b5=a301_0x2126;return'https://www.npmjs.com/package/'+NPM_PACKAGE_NAME+_0x2dc2b5(0xf3)+_0x93a27b;}export async function resolveLatestUpdateNotice(){const _0x3810d5=a301_0x2126;if(isUpdateNoticeDisabled())return null;try{const _0xda791f=Date['now'](),_0x12708e=getCliVersion(),_0x4f907d=await readUpdateNoticeCache();let _0x8284ef=isFreshCheck(_0x4f907d,_0xda791f)?_0x4f907d[_0x3810d5(0xe0)]?.['trim']():undefined;if(!_0x8284ef&&!isFreshCheck(_0x4f907d,_0xda791f)){const _0x39baf1=await getCliVersionPolicy();_0x8284ef=_0x39baf1?.[_0x3810d5(0xe7)]?.[_0x3810d5(0xf4)]()||undefined,await writeUpdateNoticeCache({..._0x4f907d,'checkedAt':_0xda791f,'latest':_0x8284ef,'failed':!_0x8284ef});}if(!_0x8284ef||!a301_0xd5250f[_0x3810d5(0xdb)](_0x12708e)||!a301_0xd5250f[_0x3810d5(0xdb)](_0x8284ef))return null;if(a301_0xd5250f[_0x3810d5(0xdc)](_0x12708e,_0x8284ef))return null;if(isRecentlyNotified(_0x4f907d,_0x8284ef,_0xda791f))return null;const _0x599694=CLI_BIN_NAME+_0x3810d5(0xe8);return await writeUpdateNoticeCache({..._0x4f907d,'checkedAt':isFreshCheck(_0x4f907d,_0xda791f)?_0x4f907d[_0x3810d5(0xe2)]:_0xda791f,'latest':_0x8284ef,'failed':![],'lastNotifiedVersion':_0x8284ef,'lastNotifiedAt':_0xda791f}),{'command':_0x599694,'current':_0x12708e,'latest':_0x8284ef,'url':buildNpmVersionUrl(_0x8284ef),'message':CLI_BIN_NAME+'\x20'+_0x8284ef+_0x3810d5(0xde)+_0x12708e+',\x20run:\x20'+_0x599694};}catch{return null;}}
@@ -1 +1 @@
1
- function a301_0x28c8(){var _0x577f53=['178426PXZcrG','2DoIopM','6583653dsnUHn','6nPmiGC','3649555SXNLwf','5185026PdVtDg','2400732AJHegp','1815908ynPRMA','8gFGsnP','22137930jmhfDr'];a301_0x28c8=function(){return _0x577f53;};return a301_0x28c8();}(function(_0x2cad59,_0x5dd866){var _0x2976a3=a301_0x191e,_0x510b5d=_0x2cad59();while(!![]){try{var _0x415bd9=-parseInt(_0x2976a3(0x9d))/0x1*(-parseInt(_0x2976a3(0x94))/0x2)+-parseInt(_0x2976a3(0x99))/0x3+-parseInt(_0x2976a3(0x9a))/0x4+parseInt(_0x2976a3(0x97))/0x5*(-parseInt(_0x2976a3(0x96))/0x6)+parseInt(_0x2976a3(0x98))/0x7+-parseInt(_0x2976a3(0x9b))/0x8*(parseInt(_0x2976a3(0x95))/0x9)+parseInt(_0x2976a3(0x9c))/0xa;if(_0x415bd9===_0x5dd866)break;else _0x510b5d['push'](_0x510b5d['shift']());}catch(_0x3b1d69){_0x510b5d['push'](_0x510b5d['shift']());}}}(a301_0x28c8,0x65e08));import{VERSION}from'../generated/build-info.js';function a301_0x191e(_0x55bd31,_0xc7f04b){_0x55bd31=_0x55bd31-0x94;var _0x28c861=a301_0x28c8();var _0x191e9f=_0x28c861[_0x55bd31];return _0x191e9f;}export function getCliVersion(){return VERSION;}
1
+ function a302_0x262d(_0x201927,_0x97bf4f){_0x201927=_0x201927-0xe4;var _0x490a34=a302_0x490a();var _0x262da2=_0x490a34[_0x201927];return _0x262da2;}(function(_0x1a342c,_0x5e380c){var _0x2ecd66=a302_0x262d,_0x54877d=_0x1a342c();while(!![]){try{var _0x2a5cba=-parseInt(_0x2ecd66(0xea))/0x1*(parseInt(_0x2ecd66(0xe4))/0x2)+-parseInt(_0x2ecd66(0xee))/0x3*(-parseInt(_0x2ecd66(0xe5))/0x4)+parseInt(_0x2ecd66(0xef))/0x5*(parseInt(_0x2ecd66(0xe7))/0x6)+parseInt(_0x2ecd66(0xec))/0x7*(parseInt(_0x2ecd66(0xe9))/0x8)+parseInt(_0x2ecd66(0xe8))/0x9+parseInt(_0x2ecd66(0xe6))/0xa*(-parseInt(_0x2ecd66(0xed))/0xb)+-parseInt(_0x2ecd66(0xeb))/0xc;if(_0x2a5cba===_0x5e380c)break;else _0x54877d['push'](_0x54877d['shift']());}catch(_0x441e80){_0x54877d['push'](_0x54877d['shift']());}}}(a302_0x490a,0xba835));function a302_0x490a(){var _0x238548=['2345474fwDPtb','11268yEZnZJ','10wwEhqn','135648yctxLf','3601296NZKFrD','8CzTMRh','1fnVmEx','15317052OIuEep','10012499FIenqu','5603323GJpNbw','1413tfIdrf','125kSvrFS'];a302_0x490a=function(){return _0x238548;};return a302_0x490a();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- function a302_0x4e60(){var _0x1248c5=['356KfutEO','784869LcPgVo','930lIDYIT','86090Pzlabo','1164MxHUXw','10221632drTTIv','4Casich','30468qJTdBw','12122UmmJDe','92763CMjJBd','61817KTxJDQ','4293381NZviHv'];a302_0x4e60=function(){return _0x1248c5;};return a302_0x4e60();}(function(_0x22c3f7,_0x3a0a11){var _0x4c1f97=a302_0x1b2d,_0x23f4f6=_0x22c3f7();while(!![]){try{var _0x24bba7=-parseInt(_0x4c1f97(0x17e))/0x1*(-parseInt(_0x4c1f97(0x183))/0x2)+-parseInt(_0x4c1f97(0x17c))/0x3+parseInt(_0x4c1f97(0x17d))/0x4*(-parseInt(_0x4c1f97(0x180))/0x5)+parseInt(_0x4c1f97(0x181))/0x6*(parseInt(_0x4c1f97(0x17b))/0x7)+-parseInt(_0x4c1f97(0x182))/0x8+parseInt(_0x4c1f97(0x17a))/0x9*(-parseInt(_0x4c1f97(0x17f))/0xa)+-parseInt(_0x4c1f97(0x179))/0xb*(-parseInt(_0x4c1f97(0x178))/0xc);if(_0x24bba7===_0x3a0a11)break;else _0x23f4f6['push'](_0x23f4f6['shift']());}catch(_0x80c01d){_0x23f4f6['push'](_0x23f4f6['shift']());}}}(a302_0x4e60,0xd71fa));function a302_0x1b2d(_0x492c00,_0x442990){_0x492c00=_0x492c00-0x178;var _0x4e6035=a302_0x4e60();var _0x1b2d56=_0x4e6035[_0x492c00];return _0x1b2d56;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0xd32e3f,_0x18f9cf){setActiveCookie(_0xd32e3f);try{return await _0x18f9cf();}finally{clearActiveCookie();}}
1
+ (function(_0xa438e5,_0x5eb39a){var _0x322092=a303_0x5bdd,_0x464ef2=_0xa438e5();while(!![]){try{var _0xcb5a39=-parseInt(_0x322092(0x75))/0x1+parseInt(_0x322092(0x74))/0x2+-parseInt(_0x322092(0x77))/0x3*(parseInt(_0x322092(0x72))/0x4)+-parseInt(_0x322092(0x6f))/0x5*(parseInt(_0x322092(0x73))/0x6)+parseInt(_0x322092(0x78))/0x7+-parseInt(_0x322092(0x71))/0x8+parseInt(_0x322092(0x76))/0x9*(parseInt(_0x322092(0x70))/0xa);if(_0xcb5a39===_0x5eb39a)break;else _0x464ef2['push'](_0x464ef2['shift']());}catch(_0x1bbf05){_0x464ef2['push'](_0x464ef2['shift']());}}}(a303_0x3146,0xe44b7));function a303_0x3146(){var _0x43e4c3=['72TMeWdp','50118sfEeGO','447562fEWOKL','1654308AqNvpq','9WkQAiT','278538BLcbsc','11288550GApGrp','535WpJNhb','47911990DBdBiV','11785824jIbjlm'];a303_0x3146=function(){return _0x43e4c3;};return a303_0x3146();}function a303_0x5bdd(_0x4f628e,_0x25f5d4){_0x4f628e=_0x4f628e-0x6f;var _0x314606=a303_0x3146();var _0x5bdd5a=_0x314606[_0x4f628e];return _0x5bdd5a;}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';export async function withActiveCookie(_0xda01f3,_0x57c2ea){setActiveCookie(_0xda01f3);try{return await _0x57c2ea();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- function a303_0x2a47(_0x2c4609,_0x262771){_0x2c4609=_0x2c4609-0xaf;var _0x4364a9=a303_0x4364();var _0x2a47c6=_0x4364a9[_0x2c4609];return _0x2a47c6;}(function(_0x3bba14,_0x2eea3d){var _0x1efc06=a303_0x2a47,_0x2c7481=_0x3bba14();while(!![]){try{var _0x59ab68=parseInt(_0x1efc06(0xb2))/0x1+-parseInt(_0x1efc06(0xb0))/0x2*(-parseInt(_0x1efc06(0xb3))/0x3)+-parseInt(_0x1efc06(0xb7))/0x4+parseInt(_0x1efc06(0xb6))/0x5+parseInt(_0x1efc06(0xb9))/0x6+-parseInt(_0x1efc06(0xaf))/0x7+-parseInt(_0x1efc06(0xb4))/0x8*(parseInt(_0x1efc06(0xb1))/0x9);if(_0x59ab68===_0x2eea3d)break;else _0x2c7481['push'](_0x2c7481['shift']());}catch(_0x314f7e){_0x2c7481['push'](_0x2c7481['shift']());}}}(a303_0x4364,0x67911));export function writeCliSideChannelLine(_0x29ce77){var _0x5cfca6=a303_0x2a47;process[_0x5cfca6(0xb8)][_0x5cfca6(0xb5)](_0x29ce77+'\x0a');}function a303_0x4364(){var _0x2562e5=['write','2051660CyZNlq','907548CMcCYI','stderr','4174944OalGAq','2403534Looivw','7700qKdFFF','99ojhIlv','82991zWnwjb','534BBYSsx','639992rviUho'];a303_0x4364=function(){return _0x2562e5;};return a303_0x4364();}
1
+ (function(_0x107206,_0x456e19){var _0x516cca=a304_0x3913,_0x154125=_0x107206();while(!![]){try{var _0x11bd2d=-parseInt(_0x516cca(0x11e))/0x1*(parseInt(_0x516cca(0x120))/0x2)+parseInt(_0x516cca(0x119))/0x3*(-parseInt(_0x516cca(0x11c))/0x4)+parseInt(_0x516cca(0x11d))/0x5*(-parseInt(_0x516cca(0x121))/0x6)+-parseInt(_0x516cca(0x11f))/0x7+-parseInt(_0x516cca(0x117))/0x8+-parseInt(_0x516cca(0x11b))/0x9*(parseInt(_0x516cca(0x122))/0xa)+parseInt(_0x516cca(0x118))/0xb*(parseInt(_0x516cca(0x116))/0xc);if(_0x11bd2d===_0x456e19)break;else _0x154125['push'](_0x154125['shift']());}catch(_0x8d9ca2){_0x154125['push'](_0x154125['shift']());}}}(a304_0x4b68,0x6a15b));export function writeCliSideChannelLine(_0x277a53){var _0x36d923=a304_0x3913;process[_0x36d923(0x11a)]['write'](_0x277a53+'\x0a');}function a304_0x3913(_0x45068b,_0x549bb2){_0x45068b=_0x45068b-0x116;var _0x4b68b8=a304_0x4b68();var _0x3913a7=_0x4b68b8[_0x45068b];return _0x3913a7;}function a304_0x4b68(){var _0x4ea295=['78265KIzNAA','36ZJjTrS','stderr','1521SZplcG','60936iRpBjB','814965CZSiUU','4hODshZ','1841357IxLLID','32218cTdWtI','30uKyYxf','430juATcY','3048dopWFb','321280opwXQJ'];a304_0x4b68=function(){return _0x4ea295;};return a304_0x4b68();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.5.1-beta.2",
3
+ "version": "2.5.1-beta.3",
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.1-beta.2
3
+ version: 2.5.1-beta.3
4
4
  description: "Lovrabet 开发工作流 CLI — 通过 rabetbase 命令管理数据集、数据库连接(dblink)、局部部署研发元数据同步、数据列表页(Data List Page)、自定义页面(Custom Page)、SQL 查询、Backend Function 脚本、通知配置、企业知识库、菜单事实读取与同步、开发角色与协作者、应用文件、面向票证类业务材料文字与结构化字段提取的 OCR、代码生成,以及平台问题上报。触发词:数据集、数据表、dataset relation-audit、dataset delete、dataset restore、dataset user-deleted-field-list、dataset field-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-refresh-start、db diff-refresh-status、db analyze-batch-plan、db analyze-start、analyze-cancel、analyze-status、traceId、deployment sync、局部部署、研发元数据同步、target-env、direct、自定义 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:
@@ -315,7 +315,7 @@ const result = await client.bff.execute<DashboardData>({
315
315
  | 修改配置文件 | [`rabetbase config set <key> <value>`](references/rabetbase-config.md) | 默认写项目;无项目配置且未 `--global` 会拒绝;`--global` 写 `~/.rabetbase.json` |
316
316
  | 列出配置 | [`rabetbase config list`](references/rabetbase-config.md) | 查看当前生效的配置 |
317
317
  | 管理运行态 app-config | [`rabetbase app-config list/get/set/delete`](references/rabetbase-app-config.md) | 运行态 app-config 管理面;默认不输出明文 value;`set` 为 `write`,`delete` 保持 `high-risk-write` |
318
- | 管理和检索当前研发应用的企业知识库 | [`rabetbase kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) | 管理仅 company scope;search 仅 COMPANY/PUBLIC;`create/update` 为 `write`,`delete` 保持 `high-risk-write` |
318
+ | 管理和检索当前研发应用的企业知识库 | [`rabetbase kb list/detail/search/create/update/delete`](references/rabetbase-kb.md) | 管理仅 company scope;search 固定 Development 且仅 `public/company`;`create/update` 为 `write`,`delete` 保持 `high-risk-write` |
319
319
  | 查询或管理应用级通知配置 | [`rabetbase notification config-list`](references/rabetbase-notification-config-list.md) / [`rabetbase notification config-create`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-update`](references/rabetbase-notification-config-mutations.md) / [`rabetbase notification config-delete`](references/rabetbase-notification-config-mutations.md) | list 获取 Backend Function 所需 `configCode`;写入只接收单一敏感 JSON 源,先 dry-run;update/delete 必须 `--yes` |
320
320
  | 查看线上菜单事实 / 菜单异常审计 | [`rabetbase menu list`](references/rabetbase-menu-list.md) | 返回 DFS 事实、children/page、URL、最近更新人/时间和 snapshotHash;异常治理先读 [`menu-anomaly-manual-cleanup`](guides/menu-anomaly-manual-cleanup.md) |
321
321
  | 批量显示或隐藏菜单 | [`rabetbase menu visibility-update`](references/rabetbase-menu-visibility-update.md) | 用精确 ID/path 选择目标;先 dry-run,使用 `--expect-visible` / `--expected-count` 防漂移,正式执行必须 `--yes` |
@@ -73,6 +73,7 @@ CLI 对旧版顶层 `appcode` 仍兼容读取,但它已经不是推荐主模
73
73
  "runtimeDomain": "https://custom-runtime.example.com",
74
74
  "skillDomain": "https://custom-skills.example.com",
75
75
  "kbDomain": "https://custom-kb.example.com",
76
+ "kbSearchDomain": "https://custom-kb-search.example.com",
76
77
  "appDomain": "https://custom-app.example.com",
77
78
  "localDomain": "https://custom-local.example.com",
78
79
  "certificateDomain": "https://custom-cert.example.com"
@@ -137,6 +138,7 @@ rabetbase workspace remove product --yes
137
138
  | `runtimeDomain` | string | 平台默认 | 自定义运行时域名 |
138
139
  | `skillDomain` | string | 节点默认 | SkillHub HTTPS origin 覆盖 |
139
140
  | `kbDomain` | string | 跟随 `apiDomain` / 节点 API 默认值 | 企业知识库 HTTPS origin 覆盖;显式配置时优先,`runtimeDomain` 不参与回退 |
141
+ | `kbSearchDomain` | string | CN 已登记 KB Service;其他区域无默认值 | `kb search` 专用 HTTPS origin;与 KB 管理域独立,未登记区域不回退 |
140
142
  | `appDomain` | string | 节点默认 | 工作台、页面编辑器和发布页面域名 |
141
143
  | `localDomain` | string | 独立部署默认 `http://localhost` | 自定义 HTTPS 本地回调 origin;与 `certificateDomain` 同时配置 |
142
144
  | `certificateDomain` | string | 节点默认;独立部署无 | 本地 HTTPS 证书服务 origin;与 `localDomain` 同时配置 |
@@ -327,7 +329,7 @@ rabetbase config set --key region --value id --global
327
329
  rabetbase config init --domain-config ./lovrabet-domains.json
328
330
  ```
329
331
 
330
- 该文件接收六个服务 Domain,以及可选的 `localDomain`、`certificateDomain`;值必须是无 path/query/fragment 的 HTTPS origin。自定义 HTTPS 本地回调必须同时提供 `localDomain` 与 `certificateDomain`。完整行为与命令行 flags 见 [`rabetbase config init`](rabetbase-init.md)。
332
+ 该文件接收七个服务 Domain,以及可选的 `localDomain`、`certificateDomain`;值必须是无 path/query/fragment 的 HTTPS origin。自定义 HTTPS 本地回调必须同时提供 `localDomain` 与 `certificateDomain`。完整行为与命令行 flags 见 [`rabetbase config init`](rabetbase-init.md)。
331
333
 
332
334
  也可以逐项覆盖:
333
335
 
@@ -338,6 +340,7 @@ rabetbase config set --key userDomain --value https://your-user.example.com --gl
338
340
  rabetbase config set --key runtimeDomain --value https://your-runtime.example.com --global
339
341
  rabetbase config set --key skillDomain --value https://your-skills.example.com --global
340
342
  rabetbase config set --key kbDomain --value https://your-kb.example.com --global
343
+ rabetbase config set --key kbSearchDomain --value https://your-kb-search.example.com --global
341
344
  rabetbase config set --key appDomain --value https://your-app.example.com --global
342
345
  ```
343
346
 
@@ -24,7 +24,7 @@ rabetbase doctor check
24
24
  | Config JSON | 分别检测全局/项目配置文件是否为**合法 JSON**;非法时标红并给出解析错误(常见于尾随逗号、注释等,会导致该侧配置在合并时被忽略) |
25
25
  | Merged Config | 合并后的所有配置项(appCode / env / cookie / apiDir 等) |
26
26
  | Apps | 多应用模式下的应用列表及各自配置 |
27
- | API Endpoints | 最终生效的 region 与六个域名(user / api / runtime / skill / kb / app) |
27
+ | API Endpoints | 最终生效的 region 与域名(user / api / runtime / skill / kb 管理 / kb search / app);未登记 search 显示 `not registered` |
28
28
  | Auth | 登录状态及 cookie 有效性 |
29
29
 
30
30
  ## 典型场景
@@ -19,6 +19,7 @@ rabetbase config init \
19
19
  --runtime-domain https://runtime.customer.example.com \
20
20
  --skill-domain https://skills.customer.example.com \
21
21
  --kb-domain https://kb.customer.example.com \
22
+ --kb-search-domain https://kb-search.customer.example.com \
22
23
  --app-domain https://app.customer.example.com \
23
24
  --local-domain https://local.customer.example.com \
24
25
  --certificate-domain https://cert.customer.example.com
@@ -51,6 +52,7 @@ rabetbase config init \
51
52
  "runtimeDomain": "https://runtime.customer.example.com",
52
53
  "skillDomain": "https://skills.customer.example.com",
53
54
  "kbDomain": "https://kb.customer.example.com",
55
+ "kbSearchDomain": "https://kb-search.customer.example.com",
54
56
  "appDomain": "https://app.customer.example.com",
55
57
  "localDomain": "https://local.customer.example.com",
56
58
  "certificateDomain": "https://cert.customer.example.com"
@@ -2,7 +2,7 @@
2
2
 
3
3
  管理开发者侧当前解析应用下的 `company` 知识库,并检索当前应用可访问的公司与公共知识。所有命令都通过标准工作区、`--app <name>` 或 `--appcode <code>` 解析目标应用。
4
4
 
5
- 企业知识库请求使用独立的 `kbDomain`。当前官方节点的 KB 仍由平台 API 服务承载,因此未显式配置 `kbDomain` 时跟随 `apiDomain`;KB 服务拆分或企业独立部署时可单独覆盖 `kbDomain`。`runtimeDomain` 不参与 rabetbase 企业 KB 路由。当前 rabetbase-cli 没有调用 SkillHub 业务 API,未来新增时必须使用独立的 `skillDomain`。
5
+ 企业知识库管理使用独立 `kbDomain`;未显式配置时跟随 `apiDomain`,`runtimeDomain` 不参与。`kb search` 使用另一条独立 `kbSearchDomain`,Cookie-only 直连 KB Service。中国大陆 daily/production 已登记内置地址;其他区域只有显式配置独立搜索域才可用,否则失败关闭。Search 不回退到管理域、普通 API、Runtime 或 SmartCode Java。
6
6
 
7
7
  > 边界:`lovrabet kb` 使用运行态 AK/当前应用/当前用户,面向个人知识库和可见知识搜索;`rabetbase kb` 使用开发者登录态,面向公司知识库管理以及公司/公共知识检索。不要用其中一个替代另一个。
8
8
 
@@ -37,11 +37,11 @@ rabetbase kb delete --id 60 --yes
37
37
 
38
38
  ## search
39
39
 
40
- - 调用 `POST /smartapi/knowledge/company-public/search`,请求仅包含 `query`、解析后的 `appCode` 和可选 `topK`。
41
- - 不传 `userId`,不查询个人知识库;命中 `scope` 只可能为 `COMPANY` 或 `PUBLIC`。
42
- - `--query` 必填且不能是纯空白;`--topk` 可选,必须是正整数。不传时沿用服务端缺省规则。
43
- - 输出 `total` 与 `hits`,命中字段为 `scope/title/docId/score/weightedScore/content/jsonPath/jsonData`;无命中时返回空数组。
44
- - 同时判断 HTTP 状态和平台业务结果;未登录、无权限、参数错误、检索异常或响应字段漂移都会以结构化错误失败。
40
+ - Cookie-only 调用 `POST /v1/development/apps/{appCode}/knowledge/search`,请求体仅包含 `query` 和可选 `topK`;不发送 AK、`userId`、profile 或 scope。
41
+ - Development profile 在检索前固定限制为 `public/company`;任何 `personal` 命中都按协议错误失败关闭。
42
+ - `--query` 必填且不能是纯空白;`--topk` 可选,必须为 1–50 的整数。不传时沿用服务端缺省规则。
43
+ - 结构化输出固定为 `data: { schemaVersion:2, profile:"development", total, strategyFingerprint, timingsMs, hits }`。`total` 等于命中数;每个命中完整保留 `documentId/revision/chunkId/scope/title/text/tags/rank/rawScore/finalScore/scoreKind` 的服务端顺序和值,无 legacy 别名。
44
+ - 无命中是 `total:0/hits:[]` 的成功。HTTP、`no-store`、JSON、字段、rank、score、timing、TopK 或 scope 漂移均以脱敏结构化错误失败;错误不包含查询、正文或后端 body。
45
45
 
46
46
  ## create
47
47
 
@@ -73,4 +73,4 @@ rabetbase kb delete --id 60 --yes
73
73
 
74
74
  - 使用 `--env daily` 或 `--env production` 选择 Profile 环境,不通过 URL 参数切换。
75
75
  - Production 写操作必须单独取得授权;需求、dry-run 或命令可用不等于写入授权。
76
- - 输出和错误不得包含 Cookie、Token、AccessKey 或知识正文。
76
+ - 输出和错误不得包含 Cookie、Token 或 AccessKey。只有成功的 `search` 按上述 V2 合同返回知识正文;失败输出不得包含查询、正文、后端 body 或原始异常。
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.1-beta.2",
6
- "skillVersion": "2.5.1-beta.2",
5
+ "packageVersion": "2.5.1-beta.3",
6
+ "skillVersion": "2.5.1-beta.3",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/backend-function.md",
@@ -135,5 +135,5 @@
135
135
  "references/rabetbase-user-account.md",
136
136
  "references/rabetbase-workspace.md"
137
137
  ],
138
- "digest": "11bce5b48dd571defc4c17a16fe89045ec5d55e8988f91220676c8bcb3efd2c0"
138
+ "digest": "4ad6d48c85fa638f9a3c5d3cc4e1ec3e6c8e1bfa61a4903407f7f9b20da48088"
139
139
  }