@lovrabet/rabetbase-cli 2.4.6-beta.2 → 2.4.6-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 (294) 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/auth/auth-server-ui.js +1 -1
  5. package/lib/auth/auth-server.js +1 -1
  6. package/lib/auth/constant.js +1 -1
  7. package/lib/auth/get-cookie.js +1 -1
  8. package/lib/auth/get-session-user.js +1 -1
  9. package/lib/auth/is-session-valid.js +1 -1
  10. package/lib/auth/login-success-html.js +1 -1
  11. package/lib/auth/logout.js +1 -1
  12. package/lib/cli-flags.js +1 -1
  13. package/lib/cli.js +1 -1
  14. package/lib/commands/api/generate.js +1 -1
  15. package/lib/commands/api/index.js +1 -1
  16. package/lib/commands/api/list.js +1 -1
  17. package/lib/commands/api/pull.js +1 -1
  18. package/lib/commands/api/shared.js +1 -1
  19. package/lib/commands/app/index.js +1 -1
  20. package/lib/commands/app/list.js +1 -1
  21. package/lib/commands/app/members-list.js +1 -1
  22. package/lib/commands/app/remote-directory.js +1 -1
  23. package/lib/commands/app/shared.js +1 -1
  24. package/lib/commands/app-config/delete.js +1 -1
  25. package/lib/commands/app-config/get.js +1 -1
  26. package/lib/commands/app-config/index.js +1 -1
  27. package/lib/commands/app-config/list.js +1 -1
  28. package/lib/commands/app-config/set.js +1 -1
  29. package/lib/commands/app-config/shared.js +1 -1
  30. package/lib/commands/auth/index.js +1 -1
  31. package/lib/commands/bff/create.js +1 -1
  32. package/lib/commands/bff/delete.js +1 -1
  33. package/lib/commands/bff/detail.js +1 -1
  34. package/lib/commands/bff/index.js +1 -1
  35. package/lib/commands/bff/list.js +1 -1
  36. package/lib/commands/bff/pull.js +1 -1
  37. package/lib/commands/bff/push.js +1 -1
  38. package/lib/commands/bff/status.js +1 -1
  39. package/lib/commands/cli-skill/index.js +1 -1
  40. package/lib/commands/cli-update.js +1 -1
  41. package/lib/commands/codegen/index.js +1 -1
  42. package/lib/commands/codegen/sdk.js +1 -1
  43. package/lib/commands/codegen/sql.js +1 -1
  44. package/lib/commands/common/app-registry.js +1 -1
  45. package/lib/commands/common/app-selector.js +1 -1
  46. package/lib/commands/common/async-task.js +1 -1
  47. package/lib/commands/common/dry-run.js +1 -1
  48. package/lib/commands/common/flags.js +1 -1
  49. package/lib/commands/common/local-file.js +1 -1
  50. package/lib/commands/common/validate.js +1 -1
  51. package/lib/commands/config/get.js +1 -1
  52. package/lib/commands/config/index.js +1 -1
  53. package/lib/commands/config/list.js +1 -1
  54. package/lib/commands/config/set.js +1 -1
  55. package/lib/commands/config/shared.js +1 -1
  56. package/lib/commands/data/filter.js +1 -1
  57. package/lib/commands/data/getOne.js +1 -1
  58. package/lib/commands/data/index.js +1 -1
  59. package/lib/commands/data/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-update.js +1 -1
  67. package/lib/commands/dataset/generate.js +1 -1
  68. package/lib/commands/dataset/index.js +1 -1
  69. package/lib/commands/dataset/list.js +1 -1
  70. package/lib/commands/dataset/operations.js +1 -1
  71. package/lib/commands/dataset/relation-audit.js +1 -1
  72. package/lib/commands/dataset/relation-create.js +1 -1
  73. package/lib/commands/dataset/relation-delete.js +1 -1
  74. package/lib/commands/dataset/relation-shared.js +1 -1
  75. package/lib/commands/dataset/relation-update.js +1 -1
  76. package/lib/commands/dataset/relations.js +1 -1
  77. package/lib/commands/dataset/rename.js +1 -1
  78. package/lib/commands/dataset/restore.js +1 -1
  79. package/lib/commands/db/analysis-batching.js +1 -1
  80. package/lib/commands/db/analyze-batch-plan.js +1 -1
  81. package/lib/commands/db/analyze-cancel.js +1 -1
  82. package/lib/commands/db/analyze-start.js +1 -1
  83. package/lib/commands/db/analyze-status.js +1 -1
  84. package/lib/commands/db/create.js +1 -1
  85. package/lib/commands/db/delete.js +1 -1
  86. package/lib/commands/db/detail.js +1 -1
  87. package/lib/commands/db/diff-refresh-start.js +1 -1
  88. package/lib/commands/db/diff-refresh-status.js +1 -1
  89. package/lib/commands/db/diff.js +1 -1
  90. package/lib/commands/db/index.js +1 -1
  91. package/lib/commands/db/list.js +1 -1
  92. package/lib/commands/db/shared.js +1 -1
  93. package/lib/commands/db/tables.js +1 -1
  94. package/lib/commands/db/test.js +1 -1
  95. package/lib/commands/db/update.js +1 -1
  96. package/lib/commands/doctor.js +1 -1
  97. package/lib/commands/file/index.js +1 -1
  98. package/lib/commands/init/index.js +1 -1
  99. package/lib/commands/issue/index.js +1 -1
  100. package/lib/commands/issue/nudge.js +1 -1
  101. package/lib/commands/issue/report.js +1 -1
  102. package/lib/commands/issue/shared.js +1 -1
  103. package/lib/commands/kb/create.js +1 -1
  104. package/lib/commands/kb/delete.js +1 -1
  105. package/lib/commands/kb/detail.js +1 -1
  106. package/lib/commands/kb/index.js +1 -1
  107. package/lib/commands/kb/list.js +1 -1
  108. package/lib/commands/kb/shared.js +1 -1
  109. package/lib/commands/kb/update.js +1 -1
  110. package/lib/commands/logs/index.js +1 -1
  111. package/lib/commands/menu/asset-update.js +1 -1
  112. package/lib/commands/menu/delete.js +1 -1
  113. package/lib/commands/menu/external-link-create.js +1 -1
  114. package/lib/commands/menu/external-link-update.js +1 -1
  115. package/lib/commands/menu/group-create.js +1 -1
  116. package/lib/commands/menu/group-update.js +1 -1
  117. package/lib/commands/menu/index.js +1 -1
  118. package/lib/commands/menu/list.js +1 -1
  119. package/lib/commands/menu/move.js +1 -1
  120. package/lib/commands/menu/regroup-start.js +1 -1
  121. package/lib/commands/menu/rename.js +1 -1
  122. package/lib/commands/menu/shared/compare-table.js +1 -1
  123. package/lib/commands/menu/shared/delete-plan.js +1 -1
  124. package/lib/commands/menu/shared/facts.js +1 -1
  125. package/lib/commands/menu/shared/index.js +1 -1
  126. package/lib/commands/menu/shared/inquirer.js +1 -1
  127. package/lib/commands/menu/shared/local-pages.js +1 -1
  128. package/lib/commands/menu/shared/logic.js +1 -1
  129. package/lib/commands/menu/shared/mutations.js +1 -1
  130. package/lib/commands/menu/shared/service.js +1 -1
  131. package/lib/commands/menu/shared/sync-core.js +1 -1
  132. package/lib/commands/menu/shared/update-core.js +1 -1
  133. package/lib/commands/menu/shared/valid-url.js +1 -1
  134. package/lib/commands/menu/sync.js +1 -1
  135. package/lib/commands/menu/visibility-update.js +1 -1
  136. package/lib/commands/notification/config-create.js +1 -1
  137. package/lib/commands/notification/config-delete.js +1 -1
  138. package/lib/commands/notification/config-list.js +1 -1
  139. package/lib/commands/notification/config-update.js +1 -1
  140. package/lib/commands/notification/index.js +1 -1
  141. package/lib/commands/notification/shared.js +1 -1
  142. package/lib/commands/ocr/index.js +1 -1
  143. package/lib/commands/page/create.js +1 -1
  144. package/lib/commands/page/custom/detail.js +1 -1
  145. package/lib/commands/page/custom/list.js +1 -1
  146. package/lib/commands/page/custom/publish.js +1 -1
  147. package/lib/commands/page/custom/shared.js +1 -1
  148. package/lib/commands/page/custom/syntax.js +1 -1
  149. package/lib/commands/page/custom/template.js +1 -1
  150. package/lib/commands/page/custom/update.js +1 -1
  151. package/lib/commands/page/data-list-status.js +1 -1
  152. package/lib/commands/page/generate-start.js +1 -1
  153. package/lib/commands/page/generate-status.js +1 -1
  154. package/lib/commands/page/index.js +1 -1
  155. package/lib/commands/page/pull.js +1 -1
  156. package/lib/commands/page/push.js +1 -1
  157. package/lib/commands/page/relation-audit.js +1 -1
  158. package/lib/commands/page/restore.js +1 -1
  159. package/lib/commands/page/shared.js +1 -1
  160. package/lib/commands/page/sync.js +1 -1
  161. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  162. package/lib/commands/project/create/format-elapsed.js +1 -1
  163. package/lib/commands/project/create/main.js +1 -1
  164. package/lib/commands/project/create/materialize-project-template.js +1 -1
  165. package/lib/commands/project/create/project-name.js +1 -1
  166. package/lib/commands/project/create/project-template-archive.js +1 -1
  167. package/lib/commands/project/create/project-template-path.js +1 -1
  168. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  169. package/lib/commands/project/create/use-format-code.js +1 -1
  170. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  171. package/lib/commands/project/index.js +1 -1
  172. package/lib/commands/project/upgrade.js +1 -1
  173. package/lib/commands/registry.js +1 -1
  174. package/lib/commands/role/delete.js +1 -1
  175. package/lib/commands/role/detail.js +1 -1
  176. package/lib/commands/role/index.js +1 -1
  177. package/lib/commands/role/list.js +1 -1
  178. package/lib/commands/role/shared.js +1 -1
  179. package/lib/commands/role/update.js +1 -1
  180. package/lib/commands/role/user-add.js +1 -1
  181. package/lib/commands/role/user-remove.js +1 -1
  182. package/lib/commands/role/user-resolve.js +1 -1
  183. package/lib/commands/run/index.js +1 -1
  184. package/lib/commands/schema.js +1 -1
  185. package/lib/commands/sql/create.js +1 -1
  186. package/lib/commands/sql/delete.js +1 -1
  187. package/lib/commands/sql/detail.js +1 -1
  188. package/lib/commands/sql/exec.js +1 -1
  189. package/lib/commands/sql/index.js +1 -1
  190. package/lib/commands/sql/list.js +1 -1
  191. package/lib/commands/sql/pull.js +1 -1
  192. package/lib/commands/sql/push.js +1 -1
  193. package/lib/commands/sql/shared.js +1 -1
  194. package/lib/commands/sql/status.js +1 -1
  195. package/lib/commands/sql/validate.js +1 -1
  196. package/lib/commands/task/index.js +1 -1
  197. package/lib/commands/task/status.js +1 -1
  198. package/lib/commands/tenant/index.js +1 -1
  199. package/lib/commands/tenant/members-list.js +1 -1
  200. package/lib/commands/tenant/shared.js +1 -1
  201. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  202. package/lib/commands/user-account/index.js +1 -1
  203. package/lib/commands/workspace/add.js +1 -1
  204. package/lib/commands/workspace/index.js +1 -1
  205. package/lib/commands/workspace/remove.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/risk.js +1 -1
  215. package/lib/context/app-resolver.js +1 -1
  216. package/lib/context/auth-resolver.js +1 -1
  217. package/lib/context/config-loader.js +1 -1
  218. package/lib/context.js +1 -1
  219. package/lib/core/alias-resolver.js +1 -1
  220. package/lib/core/api-client.js +1 -1
  221. package/lib/core/bff/config.js +1 -1
  222. package/lib/core/bff/file-system.js +1 -1
  223. package/lib/core/bff/hash.js +1 -1
  224. package/lib/core/bff/lock.js +1 -1
  225. package/lib/core/bff/utils.js +1 -1
  226. package/lib/core/db-resolver.js +1 -1
  227. package/lib/core/page/file-system.js +1 -1
  228. package/lib/core/page/hash.js +1 -1
  229. package/lib/core/page/lock.js +1 -1
  230. package/lib/core/sql-index-auditor.js +1 -1
  231. package/lib/core/sql-sync/config.js +1 -1
  232. package/lib/core/sql-sync/file-system.js +1 -1
  233. package/lib/core/sql-sync/hash.js +1 -1
  234. package/lib/core/sql-sync/lock.js +1 -1
  235. package/lib/core/sql-sync/utils.js +1 -1
  236. package/lib/core/sql-validator.js +1 -1
  237. package/lib/errors.js +1 -1
  238. package/lib/framework/build-all-flags.js +1 -1
  239. package/lib/framework/error-output.js +1 -1
  240. package/lib/framework/explicit-yes.js +1 -1
  241. package/lib/framework/flags.js +1 -1
  242. package/lib/framework/help.js +1 -1
  243. package/lib/framework/index.js +1 -1
  244. package/lib/framework/output.js +1 -1
  245. package/lib/framework/response.js +1 -1
  246. package/lib/framework/runner-alias.js +1 -1
  247. package/lib/framework/runner.js +1 -1
  248. package/lib/framework/schema-export.js +1 -1
  249. package/lib/framework/types.js +1 -1
  250. package/lib/generated/build-info.d.ts +4 -4
  251. package/lib/generated/build-info.js +1 -1
  252. package/lib/help.js +1 -1
  253. package/lib/postinstall.js +1 -1
  254. package/lib/runtime/confirmation.js +1 -1
  255. package/lib/runtime/event.js +1 -1
  256. package/lib/runtime/index.js +1 -1
  257. package/lib/runtime/queue.js +1 -1
  258. package/lib/runtime/resolve.js +1 -1
  259. package/lib/skills/builtin-skill.js +1 -1
  260. package/lib/skills/main.js +1 -1
  261. package/lib/skills/npx-skills-add.js +1 -1
  262. package/lib/skills/skill-presence.js +1 -1
  263. package/lib/telemetry/cli-command-trace.js +1 -1
  264. package/lib/telemetry/cli-help-trace.js +1 -1
  265. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  266. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  267. package/lib/telemetry/send-cli-trace-log.js +1 -1
  268. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  269. package/lib/utils/ai_config.js +1 -1
  270. package/lib/utils/apply-jq-filter.js +1 -1
  271. package/lib/utils/cdn-config.js +1 -1
  272. package/lib/utils/check-sdk-version.js +1 -1
  273. package/lib/utils/cli-version-check.js +1 -1
  274. package/lib/utils/cli-version-policy.js +1 -1
  275. package/lib/utils/config.js +1 -1
  276. package/lib/utils/entity-with-id.js +1 -1
  277. package/lib/utils/file-utils.js +1 -1
  278. package/lib/utils/guides-cdn.js +1 -1
  279. package/lib/utils/http-client.js +1 -1
  280. package/lib/utils/is-non-interactive.js +1 -1
  281. package/lib/utils/logger.js +1 -1
  282. package/lib/utils/params.js +1 -1
  283. package/lib/utils/platform.js +1 -1
  284. package/lib/utils/rules-cdn.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 +3 -3
  293. package/skills/rabetbase/references/rabetbase-ocr.md +17 -2
  294. package/skills/rabetbase.manifest.json +3 -3
@@ -1 +1 @@
1
- (function(_0x46a7ee,_0x55f486){const _0x9bffc8=a291_0x58de,_0x2e9959=_0x46a7ee();while(!![]){try{const _0x306f82=parseInt(_0x9bffc8(0x9c))/0x1*(-parseInt(_0x9bffc8(0x85))/0x2)+-parseInt(_0x9bffc8(0x81))/0x3*(-parseInt(_0x9bffc8(0x84))/0x4)+-parseInt(_0x9bffc8(0x95))/0x5+parseInt(_0x9bffc8(0x8e))/0x6+parseInt(_0x9bffc8(0x96))/0x7*(-parseInt(_0x9bffc8(0x88))/0x8)+-parseInt(_0x9bffc8(0x89))/0x9*(-parseInt(_0x9bffc8(0x9e))/0xa)+parseInt(_0x9bffc8(0x82))/0xb;if(_0x306f82===_0x55f486)break;else _0x2e9959['push'](_0x2e9959['shift']());}catch(_0xe42241){_0x2e9959['push'](_0x2e9959['shift']());}}}(a291_0x5386,0xa7600));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';function a291_0x58de(_0x5c364f,_0x13c0b6){_0x5c364f=_0x5c364f-0x81;const _0x5386f3=a291_0x5386();let _0x58de8c=_0x5386f3[_0x5c364f];return _0x58de8c;}import{dirname,join}from'node:path';function a291_0x5386(){const _0x4c6c4f=['parse','now','7026216HLoJKH','lastNotifiedVersion','toLowerCase','number','https://www.npmjs.com/package/','trim','utf8','3923345UggLUg','2268zkWobj','object','stringify','latest','stableVersion',',\x20run:\x20','121ACpsJX','checkedAt','325690yNiFak','2806539zytcmE','3943522ghqBJj','yes','4KPwfoJ','14054vmqkxY','\x20available,\x20current\x20','lastNotifiedAt','17240tWYWHu','153mUmjjz','rabetbase-cli','valid'];a291_0x5386=function(){return _0x4c6c4f;};return a291_0x5386();}import a291_0x274702 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 _0x41aaac=a291_0x58de,_0x17392f=process.env.RABETBASE_NO_UPDATE_NOTICE?.['trim']()[_0x41aaac(0x90)]();return _0x17392f==='1'||_0x17392f==='true'||_0x17392f===_0x41aaac(0x83);}function cacheRoot(){return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),'.cache');}export function getUpdateNoticeCachePath(){const _0x371386=a291_0x58de;return join(cacheRoot(),_0x371386(0x8a),'update-check.json');}async function readUpdateNoticeCache(){const _0x1ee928=a291_0x58de;try{const _0x43defc=await readFile(getUpdateNoticeCachePath(),_0x1ee928(0x94)),_0x50fce6=JSON[_0x1ee928(0x8c)](_0x43defc);if(!_0x50fce6||typeof _0x50fce6!==_0x1ee928(0x97))return{};return _0x50fce6;}catch{return{};}}async function writeUpdateNoticeCache(_0x874654){const _0x2d8eaf=a291_0x58de;try{const _0x561b1a=getUpdateNoticeCachePath();await mkdir(dirname(_0x561b1a),{'recursive':!![]}),await writeFile(_0x561b1a,JSON[_0x2d8eaf(0x98)](_0x874654,null,0x2)+'\x0a',_0x2d8eaf(0x94));}catch{}}function isFreshCheck(_0x559f02,_0x6ab614){const _0xe33e8c=a291_0x58de;return typeof _0x559f02['checkedAt']===_0xe33e8c(0x91)&&_0x6ab614-_0x559f02[_0xe33e8c(0x9d)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x5cd50f,_0x17689d,_0xbd5a13){const _0x406875=a291_0x58de;return _0x5cd50f[_0x406875(0x8f)]===_0x17689d&&typeof _0x5cd50f[_0x406875(0x87)]===_0x406875(0x91)&&_0xbd5a13-_0x5cd50f['lastNotifiedAt']<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x1ee93d){const _0x3036ab=a291_0x58de;return _0x3036ab(0x92)+NPM_PACKAGE_NAME+'/v/'+_0x1ee93d;}export async function resolveLatestUpdateNotice(){const _0x494798=a291_0x58de;if(isUpdateNoticeDisabled())return null;try{const _0x379b4c=Date[_0x494798(0x8d)](),_0x2a873b=getCliVersion(),_0x5037ca=await readUpdateNoticeCache();let _0x3a9df2=isFreshCheck(_0x5037ca,_0x379b4c)?_0x5037ca[_0x494798(0x99)]?.[_0x494798(0x93)]():undefined;if(!_0x3a9df2&&!isFreshCheck(_0x5037ca,_0x379b4c)){const _0x1b59d6=await getCliVersionPolicy();_0x3a9df2=_0x1b59d6?.[_0x494798(0x9a)]?.[_0x494798(0x93)]()||undefined,await writeUpdateNoticeCache({..._0x5037ca,'checkedAt':_0x379b4c,'latest':_0x3a9df2,'failed':!_0x3a9df2});}if(!_0x3a9df2||!a291_0x274702[_0x494798(0x8b)](_0x2a873b)||!a291_0x274702[_0x494798(0x8b)](_0x3a9df2))return null;if(a291_0x274702['gte'](_0x2a873b,_0x3a9df2))return null;if(isRecentlyNotified(_0x5037ca,_0x3a9df2,_0x379b4c))return null;const _0x50e823=CLI_BIN_NAME+'\x20update';return await writeUpdateNoticeCache({..._0x5037ca,'checkedAt':isFreshCheck(_0x5037ca,_0x379b4c)?_0x5037ca[_0x494798(0x9d)]:_0x379b4c,'latest':_0x3a9df2,'failed':![],'lastNotifiedVersion':_0x3a9df2,'lastNotifiedAt':_0x379b4c}),{'command':_0x50e823,'current':_0x2a873b,'latest':_0x3a9df2,'url':buildNpmVersionUrl(_0x3a9df2),'message':CLI_BIN_NAME+'\x20'+_0x3a9df2+_0x494798(0x86)+_0x2a873b+_0x494798(0x9b)+_0x50e823};}catch{return null;}}
1
+ (function(_0x110ea1,_0x5bb9a8){const _0x35774f=a291_0x4265,_0x36a8b2=_0x110ea1();while(!![]){try{const _0x48f975=-parseInt(_0x35774f(0xe3))/0x1+-parseInt(_0x35774f(0xde))/0x2*(-parseInt(_0x35774f(0xea))/0x3)+-parseInt(_0x35774f(0xd4))/0x4+parseInt(_0x35774f(0xf2))/0x5*(parseInt(_0x35774f(0xdb))/0x6)+parseInt(_0x35774f(0xda))/0x7+-parseInt(_0x35774f(0xdc))/0x8*(-parseInt(_0x35774f(0xee))/0x9)+-parseInt(_0x35774f(0xd8))/0xa;if(_0x48f975===_0x5bb9a8)break;else _0x36a8b2['push'](_0x36a8b2['shift']());}catch(_0x52d373){_0x36a8b2['push'](_0x36a8b2['shift']());}}}(a291_0x49ac,0x1afdb));import{mkdir,readFile,writeFile}from'node:fs/promises';import{homedir}from'node:os';import{dirname,join}from'node:path';import a291_0x1c56e4 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 a291_0x49ac(){const _0x3b4dc2=['18djdiuz','/v/','yes','trim','5UVdwNL','477688XFkSQu','now','update-check.json','lastNotifiedVersion','1378150CmZuHU','\x20available,\x20current\x20','872403weVCQD','658770fdepeO','412232amxLvx','utf8','4fAgPch','stringify','object','lastNotifiedAt','.cache','144202imMavn','checkedAt','number','latest','\x20update','gte','true','261768yAiiLz','stableVersion','valid','https://www.npmjs.com/package/'];a291_0x49ac=function(){return _0x3b4dc2;};return a291_0x49ac();}const UPDATE_CHECK_TTL_MS=0xc*0x3c*0x3c*0x3e8,UPDATE_NOTICE_TTL_MS=0x18*0x3c*0x3c*0x3e8;function isUpdateNoticeDisabled(){const _0x43d95e=a291_0x4265,_0x5b56eb=process.env.RABETBASE_NO_UPDATE_NOTICE?.[_0x43d95e(0xf1)]()['toLowerCase']();return _0x5b56eb==='1'||_0x5b56eb===_0x43d95e(0xe9)||_0x5b56eb===_0x43d95e(0xf0);}function a291_0x4265(_0x22f418,_0x278dc5){_0x22f418=_0x22f418-0xd4;const _0x49ac9a=a291_0x49ac();let _0x4265c2=_0x49ac9a[_0x22f418];return _0x4265c2;}function cacheRoot(){const _0x47ece3=a291_0x4265;return process.env.XDG_CACHE_HOME||process.env.LOCALAPPDATA||join(homedir(),_0x47ece3(0xe2));}export function getUpdateNoticeCachePath(){const _0x2f5528=a291_0x4265;return join(cacheRoot(),'rabetbase-cli',_0x2f5528(0xd6));}async function readUpdateNoticeCache(){const _0x363377=a291_0x4265;try{const _0x81e551=await readFile(getUpdateNoticeCachePath(),_0x363377(0xdd)),_0x4592a2=JSON['parse'](_0x81e551);if(!_0x4592a2||typeof _0x4592a2!==_0x363377(0xe0))return{};return _0x4592a2;}catch{return{};}}async function writeUpdateNoticeCache(_0x50a67a){const _0x4f9528=a291_0x4265;try{const _0x1cf1b1=getUpdateNoticeCachePath();await mkdir(dirname(_0x1cf1b1),{'recursive':!![]}),await writeFile(_0x1cf1b1,JSON[_0x4f9528(0xdf)](_0x50a67a,null,0x2)+'\x0a',_0x4f9528(0xdd));}catch{}}function isFreshCheck(_0x1c88ac,_0xbf4f13){const _0x41ba3b=a291_0x4265;return typeof _0x1c88ac[_0x41ba3b(0xe4)]===_0x41ba3b(0xe5)&&_0xbf4f13-_0x1c88ac[_0x41ba3b(0xe4)]<UPDATE_CHECK_TTL_MS;}function isRecentlyNotified(_0x599a4b,_0x5c6b24,_0x33ad44){const _0x21739d=a291_0x4265;return _0x599a4b[_0x21739d(0xd7)]===_0x5c6b24&&typeof _0x599a4b['lastNotifiedAt']===_0x21739d(0xe5)&&_0x33ad44-_0x599a4b[_0x21739d(0xe1)]<UPDATE_NOTICE_TTL_MS;}export function buildNpmVersionUrl(_0x17347b){const _0x3d2762=a291_0x4265;return _0x3d2762(0xed)+NPM_PACKAGE_NAME+_0x3d2762(0xef)+_0x17347b;}export async function resolveLatestUpdateNotice(){const _0xf82d11=a291_0x4265;if(isUpdateNoticeDisabled())return null;try{const _0x5b80ce=Date[_0xf82d11(0xd5)](),_0x546eac=getCliVersion(),_0x3d36a4=await readUpdateNoticeCache();let _0x1e9de3=isFreshCheck(_0x3d36a4,_0x5b80ce)?_0x3d36a4[_0xf82d11(0xe6)]?.['trim']():undefined;if(!_0x1e9de3&&!isFreshCheck(_0x3d36a4,_0x5b80ce)){const _0x480246=await getCliVersionPolicy();_0x1e9de3=_0x480246?.[_0xf82d11(0xeb)]?.[_0xf82d11(0xf1)]()||undefined,await writeUpdateNoticeCache({..._0x3d36a4,'checkedAt':_0x5b80ce,'latest':_0x1e9de3,'failed':!_0x1e9de3});}if(!_0x1e9de3||!a291_0x1c56e4['valid'](_0x546eac)||!a291_0x1c56e4[_0xf82d11(0xec)](_0x1e9de3))return null;if(a291_0x1c56e4[_0xf82d11(0xe8)](_0x546eac,_0x1e9de3))return null;if(isRecentlyNotified(_0x3d36a4,_0x1e9de3,_0x5b80ce))return null;const _0x2515ee=CLI_BIN_NAME+_0xf82d11(0xe7);return await writeUpdateNoticeCache({..._0x3d36a4,'checkedAt':isFreshCheck(_0x3d36a4,_0x5b80ce)?_0x3d36a4[_0xf82d11(0xe4)]:_0x5b80ce,'latest':_0x1e9de3,'failed':![],'lastNotifiedVersion':_0x1e9de3,'lastNotifiedAt':_0x5b80ce}),{'command':_0x2515ee,'current':_0x546eac,'latest':_0x1e9de3,'url':buildNpmVersionUrl(_0x1e9de3),'message':CLI_BIN_NAME+'\x20'+_0x1e9de3+_0xf82d11(0xd9)+_0x546eac+',\x20run:\x20'+_0x2515ee};}catch{return null;}}
@@ -1 +1 @@
1
- (function(_0x10e5b0,_0x49fd5a){var _0x74f010=a292_0x4fc9,_0x29a6f5=_0x10e5b0();while(!![]){try{var _0x73f443=-parseInt(_0x74f010(0xaf))/0x1*(parseInt(_0x74f010(0xae))/0x2)+-parseInt(_0x74f010(0xa6))/0x3+parseInt(_0x74f010(0xa7))/0x4+-parseInt(_0x74f010(0xaa))/0x5+-parseInt(_0x74f010(0xa8))/0x6*(parseInt(_0x74f010(0xab))/0x7)+parseInt(_0x74f010(0xa5))/0x8*(-parseInt(_0x74f010(0xac))/0x9)+-parseInt(_0x74f010(0xa9))/0xa*(-parseInt(_0x74f010(0xad))/0xb);if(_0x73f443===_0x49fd5a)break;else _0x29a6f5['push'](_0x29a6f5['shift']());}catch(_0x318769){_0x29a6f5['push'](_0x29a6f5['shift']());}}}(a292_0x1070,0xb5982));import{VERSION}from'../generated/build-info.js';function a292_0x4fc9(_0x138974,_0x239a32){_0x138974=_0x138974-0xa5;var _0x1070f3=a292_0x1070();var _0x4fc9dc=_0x1070f3[_0x138974];return _0x4fc9dc;}export function getCliVersion(){return VERSION;}function a292_0x1070(){var _0x4e50e0=['5108538mrplzm','3100210DtiwaI','4334305vbQiFl','7hVkozg','4140009OCMbOW','165twAnCH','34JNCUbR','54023QGPoVZ','24ooGNVP','1385607OdRatB','2288168bugoBN'];a292_0x1070=function(){return _0x4e50e0;};return a292_0x1070();}
1
+ (function(_0x3b2249,_0x2488d8){var _0x3454a5=a292_0x1832,_0x2ad79f=_0x3b2249();while(!![]){try{var _0x11e7b1=-parseInt(_0x3454a5(0x15c))/0x1+parseInt(_0x3454a5(0x159))/0x2+parseInt(_0x3454a5(0x15d))/0x3*(-parseInt(_0x3454a5(0x154))/0x4)+parseInt(_0x3454a5(0x15b))/0x5+-parseInt(_0x3454a5(0x155))/0x6*(parseInt(_0x3454a5(0x157))/0x7)+parseInt(_0x3454a5(0x158))/0x8+parseInt(_0x3454a5(0x156))/0x9*(parseInt(_0x3454a5(0x15a))/0xa);if(_0x11e7b1===_0x2488d8)break;else _0x2ad79f['push'](_0x2ad79f['shift']());}catch(_0x287e66){_0x2ad79f['push'](_0x2ad79f['shift']());}}}(a292_0x22d5,0xd196a));function a292_0x1832(_0x505391,_0x3815b7){_0x505391=_0x505391-0x154;var _0x22d582=a292_0x22d5();var _0x183263=_0x22d582[_0x505391];return _0x183263;}function a292_0x22d5(){var _0x2ddaf8=['35268174JlSugt','6002633NzINYt','1637752JvgwFK','1308918tVAwpU','10lMyNJx','458650IzSYCS','725079IAFpkE','673287hMLbXe','28mrBYRP','12uhEQNZ'];a292_0x22d5=function(){return _0x2ddaf8;};return a292_0x22d5();}import{VERSION}from'../generated/build-info.js';export function getCliVersion(){return VERSION;}
@@ -1 +1 @@
1
- (function(_0x26ce06,_0x164494){var _0x9d92c5=a293_0x290a,_0x1b2aaa=_0x26ce06();while(!![]){try{var _0x5ce123=-parseInt(_0x9d92c5(0x74))/0x1+parseInt(_0x9d92c5(0x79))/0x2+parseInt(_0x9d92c5(0x75))/0x3+parseInt(_0x9d92c5(0x7a))/0x4+-parseInt(_0x9d92c5(0x76))/0x5+parseInt(_0x9d92c5(0x77))/0x6+-parseInt(_0x9d92c5(0x7b))/0x7*(parseInt(_0x9d92c5(0x78))/0x8);if(_0x5ce123===_0x164494)break;else _0x1b2aaa['push'](_0x1b2aaa['shift']());}catch(_0x3bd8e9){_0x1b2aaa['push'](_0x1b2aaa['shift']());}}}(a293_0x4adc,0xbfd9b));import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a293_0x4adc(){var _0x476dbf=['5149728Bnfnpg','754016VLRICY','531284VIPImn','740988DRASht','7IHdVVH','212457muJPsN','2574147MxViWr','5373490ARGqGQ'];a293_0x4adc=function(){return _0x476dbf;};return a293_0x4adc();}function a293_0x290a(_0x5a795b,_0x4d12e4){_0x5a795b=_0x5a795b-0x74;var _0x4adc01=a293_0x4adc();var _0x290ab0=_0x4adc01[_0x5a795b];return _0x290ab0;}export async function withActiveCookie(_0x21ab3a,_0x59700f){setActiveCookie(_0x21ab3a);try{return await _0x59700f();}finally{clearActiveCookie();}}
1
+ (function(_0x4b846f,_0x28d539){var _0x1baaa1=a293_0x3213,_0x48eace=_0x4b846f();while(!![]){try{var _0x2d03f2=-parseInt(_0x1baaa1(0x15f))/0x1*(-parseInt(_0x1baaa1(0x15e))/0x2)+-parseInt(_0x1baaa1(0x159))/0x3*(-parseInt(_0x1baaa1(0x160))/0x4)+-parseInt(_0x1baaa1(0x15a))/0x5*(parseInt(_0x1baaa1(0x161))/0x6)+parseInt(_0x1baaa1(0x164))/0x7*(parseInt(_0x1baaa1(0x15b))/0x8)+-parseInt(_0x1baaa1(0x162))/0x9+parseInt(_0x1baaa1(0x163))/0xa*(parseInt(_0x1baaa1(0x15c))/0xb)+parseInt(_0x1baaa1(0x158))/0xc*(-parseInt(_0x1baaa1(0x15d))/0xd);if(_0x2d03f2===_0x28d539)break;else _0x48eace['push'](_0x48eace['shift']());}catch(_0x5738d4){_0x48eace['push'](_0x48eace['shift']());}}}(a293_0x2420,0x67bf7));function a293_0x2420(){var _0x2d78e8=['676AzRHJT','10XqjBwh','142015PRYRMj','48XbLTwO','6ImVCqr','4455747GumNrx','30JbuJkT','70SvGjdk','149532VDrVdh','141621LAwSUR','766030owRCbH','310528mmsvwo','207141RyDAxm'];a293_0x2420=function(){return _0x2d78e8;};return a293_0x2420();}import{setActiveCookie,clearActiveCookie}from'../core/api-client.js';function a293_0x3213(_0x5b0276,_0x3c0959){_0x5b0276=_0x5b0276-0x158;var _0x242043=a293_0x2420();var _0x3213b1=_0x242043[_0x5b0276];return _0x3213b1;}export async function withActiveCookie(_0x5e3a72,_0x24c567){setActiveCookie(_0x5e3a72);try{return await _0x24c567();}finally{clearActiveCookie();}}
@@ -1 +1 @@
1
- function a294_0x9dc0(){var _0x48a328=['206205vovCFo','2NOqaln','6HPikKi','1649301mWAALV','88RZOAdL','13707561ScblxW','12413552rWuAfP','2830509RzOfjg','write','3271581EVuGGd','152NeKYqQ','340570wOAFUw','stderr'];a294_0x9dc0=function(){return _0x48a328;};return a294_0x9dc0();}function a294_0x5eea(_0x50c956,_0x1682cf){_0x50c956=_0x50c956-0x1e5;var _0x9dc034=a294_0x9dc0();var _0x5eea2c=_0x9dc034[_0x50c956];return _0x5eea2c;}(function(_0x353bfc,_0x2a36de){var _0x18bf56=a294_0x5eea,_0x239f12=_0x353bfc();while(!![]){try{var _0x1dd5fa=-parseInt(_0x18bf56(0x1ef))/0x1*(-parseInt(_0x18bf56(0x1ed))/0x2)+parseInt(_0x18bf56(0x1e8))/0x3+-parseInt(_0x18bf56(0x1e9))/0x4*(parseInt(_0x18bf56(0x1ec))/0x5)+parseInt(_0x18bf56(0x1ee))/0x6*(parseInt(_0x18bf56(0x1f1))/0x7)+-parseInt(_0x18bf56(0x1e5))/0x8+-parseInt(_0x18bf56(0x1e6))/0x9+parseInt(_0x18bf56(0x1ea))/0xa*(-parseInt(_0x18bf56(0x1f0))/0xb);if(_0x1dd5fa===_0x2a36de)break;else _0x239f12['push'](_0x239f12['shift']());}catch(_0x56cf64){_0x239f12['push'](_0x239f12['shift']());}}}(a294_0x9dc0,0xf23f2));export function writeCliSideChannelLine(_0x12b290){var _0x9a11ad=a294_0x5eea;process[_0x9a11ad(0x1eb)][_0x9a11ad(0x1e7)](_0x12b290+'\x0a');}
1
+ function a294_0x3984(_0x3e3223,_0x30ddb5){_0x3e3223=_0x3e3223-0x16f;var _0x4b4693=a294_0x4b46();var _0x3984da=_0x4b4693[_0x3e3223];return _0x3984da;}function a294_0x4b46(){var _0x38d431=['1364652BNSXHc','228555vtXFzb','189SWVZfK','2486637kNlmoq','104592twvEzD','stderr','183966vwNbsp','10714970ZaJPmI','5ARcLdX','3QFtTPi','776494UskDFU'];a294_0x4b46=function(){return _0x38d431;};return a294_0x4b46();}(function(_0x50e033,_0x55864d){var _0x51b43f=a294_0x3984,_0x370174=_0x50e033();while(!![]){try{var _0x27be1a=-parseInt(_0x51b43f(0x179))/0x1+parseInt(_0x51b43f(0x177))/0x2+parseInt(_0x51b43f(0x176))/0x3*(-parseInt(_0x51b43f(0x178))/0x4)+-parseInt(_0x51b43f(0x175))/0x5*(parseInt(_0x51b43f(0x173))/0x6)+parseInt(_0x51b43f(0x16f))/0x7*(-parseInt(_0x51b43f(0x171))/0x8)+-parseInt(_0x51b43f(0x170))/0x9+parseInt(_0x51b43f(0x174))/0xa;if(_0x27be1a===_0x55864d)break;else _0x370174['push'](_0x370174['shift']());}catch(_0x4feddb){_0x370174['push'](_0x370174['shift']());}}}(a294_0x4b46,0x382ba));export function writeCliSideChannelLine(_0x4461fa){var _0x2d31f7=a294_0x3984;process[_0x2d31f7(0x172)]['write'](_0x4461fa+'\x0a');}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovrabet/rabetbase-cli",
3
- "version": "2.4.6-beta.2",
3
+ "version": "2.4.6-beta.3",
4
4
  "description": "Developer CLI for Lovrabet apps, datasets, pages, SQL, BFF, database connections, skills, and AI agent workflows.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: rabetbase
3
- version: 2.4.6-beta.2
4
- description: "Lovrabet 开发工作流 CLI — 通过 rabetbase 命令管理数据集、数据库连接(dblink)、数据列表页(Data List Page)、自定义页面(Custom Page)、SQL 查询、BFF 脚本、通知配置、菜单事实读取与同步、开发角色与协作者、应用文件、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 消息通知、BFF 消息通知、Backend Function 消息通知、notification config-list、EMAIL configCode、通知配置、notification.send、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、钉钉沙箱账号绑定。"
3
+ version: 2.4.6-beta.3
4
+ description: "Lovrabet 开发工作流 CLI — 通过 rabetbase 命令管理数据集、数据库连接(dblink)、数据列表页(Data List Page)、自定义页面(Custom Page)、SQL 查询、BFF 脚本、通知配置、菜单事实读取与同步、开发角色与协作者、应用文件、面向票证类业务材料文字与结构化字段提取的 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 消息通知、BFF 消息通知、Backend Function 消息通知、notification config-list、EMAIL configCode、通知配置、notification.send、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:
7
7
  bins: ["rabetbase"]
@@ -297,7 +297,7 @@ const result = await client.bff.execute<DashboardData>({
297
297
  | 上报平台问题 | [`rabetbase issue report`](references/rabetbase-issue-report.md) | 由 Skill 组织完整客观事实,禁止代替平台侧做根因判断或方案设计 |
298
298
  | 上传应用文件 | [`rabetbase file upload`](references/rabetbase-file.md) | 返回可持久保存的 `filePath` |
299
299
  | 获取文件访问链接 | [`rabetbase file query-url`](references/rabetbase-file.md) | 默认短效;Markdown/HTML URL-only 内容显式加 `--long-term` |
300
- | 识别图片、PDF 或发票文字 | [`rabetbase ocr recognize`](references/rabetbase-ocr.md) | 支持 URL 或本地文件;本地文件自动串联上传、短效 URL 与 OCR |
300
+ | 提取票证类业务材料的文字与结构化字段 | [`rabetbase ocr recognize`](references/rabetbase-ocr.md) | 发票、票据、证照等;不用于通用图片理解 |
301
301
  | 导出命令契约(flags/risk 等) | [`rabetbase schema`](references/rabetbase-schema.md) | 与 `--help` 同源;**无需登录**;大结果用 `--format compress` |
302
302
  | 更新 CLI 版本 | [`rabetbase update`](references/rabetbase-update.md) | 自动检测最新版本,CLI 与 Built-in Skill 一体升级 |
303
303
  | 初始化/切换当前工作目录应用 | [`rabetbase workspace`](references/rabetbase-workspace.md) | 写当前目录 `.rabetbase.json`;不从全局复制 cookie/accessKey |
@@ -1,6 +1,21 @@
1
1
  # ocr recognize
2
2
 
3
- 使用平台 OCR 服务识别远程 URL 或本地图片/PDF。适用于发票、证照、表格图片、合同附件和普通文字识别。
3
+ 使用平台 OCR 服务提取票证类业务材料中的文字与结构化字段。发票、票据、证照等是典型示例,不是票证类型的封闭白名单。
4
+
5
+ ## 使用边界
6
+
7
+ 图片本身不是 OCR 的触发条件。先判断用户处理的是否为票证类业务材料,再判断需要的是文字或结构化字段,还是通用画面理解。
8
+
9
+ | 任务 | 处理方式 |
10
+ |------|----------|
11
+ | 提取票证类材料的票面全文、关键字段或表格 | 使用 OCR;不要求用户必须说出“OCR” |
12
+ | 用户明确要求对票证材料执行 OCR 或文字识别 | 使用 OCR |
13
+ | 理解普通照片、UI 截图、商品图、设计稿或图表 | 当前模型支持多模态时由 Agent 直接处理,不调用 OCR |
14
+ | 当前模型不能读取通用图片,但用户只要求提取可见文字 | 仅将 OCR 作为明确的文字提取降级能力,并说明限制 |
15
+ | 当前模型不能读取图片,任务依赖物体、颜色、布局或视觉关系 | 不用 OCR 冒充视觉理解,向用户说明能力限制 |
16
+ | 图片只是附件,用户没有要求分析或提取 | 不调用 OCR |
17
+
18
+ 按业务对象和任务输出路由,不按文件名、扩展名、MIME、某组关键词或 `scene` 枚举路由。已明确需要精确票证提取时可以直接使用专业 OCR,不必先做一次重复的多模态识别。`general` 是兼容的通用文字识别 scene,可用于未被专用 scene 覆盖的票证材料或用户明确要求的纯文字降级;它不是通用图片理解入口。
4
19
 
5
20
  ## 风险边界
6
21
 
@@ -43,7 +58,7 @@ rabetbase ocr recognize \
43
58
  | scene | 服务端 type | 用途 |
44
59
  |-------|-------------|------|
45
60
  | `invoice` | `Invoice` | 发票 |
46
- | `general` | `General` | 通用文字 |
61
+ | `general` | `General` | 票证材料的通用文字识别;非通用图片理解 |
47
62
  | `form` | `Table` | 表格 |
48
63
  | `idCard` | `IdCard` | 身份证 |
49
64
 
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.4.6-beta.2",
6
- "skillVersion": "2.4.6-beta.2",
5
+ "packageVersion": "2.4.6-beta.3",
6
+ "skillVersion": "2.4.6-beta.3",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/backend-function.md",
@@ -131,5 +131,5 @@
131
131
  "references/rabetbase-user-account.md",
132
132
  "references/rabetbase-workspace.md"
133
133
  ],
134
- "digest": "299283de278e65f16331978753e25d0aa4db41adddfbcbb666903bf76942f352"
134
+ "digest": "c02f066f808e761aac2067a5eb9973eb6975b7a8a27afc19e1d8435ef11c0c37"
135
135
  }