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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) 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/logs.d.ts +7 -0
  38. package/lib/commands/bff/logs.js +1 -0
  39. package/lib/commands/bff/pull.js +1 -1
  40. package/lib/commands/bff/push.js +1 -1
  41. package/lib/commands/bff/status.js +1 -1
  42. package/lib/commands/cli-skill/index.js +1 -1
  43. package/lib/commands/cli-update.js +1 -1
  44. package/lib/commands/codegen/index.js +1 -1
  45. package/lib/commands/codegen/sdk.js +1 -1
  46. package/lib/commands/codegen/sql.js +1 -1
  47. package/lib/commands/common/app-registry.js +1 -1
  48. package/lib/commands/common/app-selector.js +1 -1
  49. package/lib/commands/common/async-task.js +1 -1
  50. package/lib/commands/common/dry-run.js +1 -1
  51. package/lib/commands/common/flags.js +1 -1
  52. package/lib/commands/common/local-file.js +1 -1
  53. package/lib/commands/common/validate.js +1 -1
  54. package/lib/commands/config/delete.js +1 -1
  55. package/lib/commands/config/get.js +1 -1
  56. package/lib/commands/config/index.js +1 -1
  57. package/lib/commands/config/init.js +1 -1
  58. package/lib/commands/config/list.js +1 -1
  59. package/lib/commands/config/set.js +1 -1
  60. package/lib/commands/config/shared.js +1 -1
  61. package/lib/commands/dataset/batch-design.d.ts +21 -0
  62. package/lib/commands/dataset/batch-design.js +1 -0
  63. package/lib/commands/dataset/business-group-update.js +1 -1
  64. package/lib/commands/dataset/business-groups.js +1 -1
  65. package/lib/commands/dataset/capability.js +1 -1
  66. package/lib/commands/dataset/delete.js +1 -1
  67. package/lib/commands/dataset/detail.js +1 -1
  68. package/lib/commands/dataset/extend-update.js +1 -1
  69. package/lib/commands/dataset/field-restore.js +1 -1
  70. package/lib/commands/dataset/field-update.js +1 -1
  71. package/lib/commands/dataset/generate.js +1 -1
  72. package/lib/commands/dataset/index.js +1 -1
  73. package/lib/commands/dataset/list.js +1 -1
  74. package/lib/commands/dataset/operations.js +1 -1
  75. package/lib/commands/dataset/relation-audit.js +1 -1
  76. package/lib/commands/dataset/relation-create.js +1 -1
  77. package/lib/commands/dataset/relation-delete.js +1 -1
  78. package/lib/commands/dataset/relation-shared.js +1 -1
  79. package/lib/commands/dataset/relation-update.js +1 -1
  80. package/lib/commands/dataset/relations.js +1 -1
  81. package/lib/commands/dataset/rename.js +1 -1
  82. package/lib/commands/dataset/restore.js +1 -1
  83. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  84. package/lib/commands/db/analysis-batching.js +1 -1
  85. package/lib/commands/db/analyze-batch-plan.js +1 -1
  86. package/lib/commands/db/analyze-cancel.js +1 -1
  87. package/lib/commands/db/analyze-start.js +1 -1
  88. package/lib/commands/db/analyze-status.js +1 -1
  89. package/lib/commands/db/create.js +1 -1
  90. package/lib/commands/db/delete.js +1 -1
  91. package/lib/commands/db/detail.js +1 -1
  92. package/lib/commands/db/diff-refresh-start.js +1 -1
  93. package/lib/commands/db/diff-refresh-status.js +1 -1
  94. package/lib/commands/db/diff.js +1 -1
  95. package/lib/commands/db/index.js +1 -1
  96. package/lib/commands/db/list.js +1 -1
  97. package/lib/commands/db/shared.js +1 -1
  98. package/lib/commands/db/table-diff-shared.js +1 -1
  99. package/lib/commands/db/tables.js +1 -1
  100. package/lib/commands/db/test.js +1 -1
  101. package/lib/commands/db/update.js +1 -1
  102. package/lib/commands/deployment/index.js +1 -1
  103. package/lib/commands/deployment/sync-all.js +1 -1
  104. package/lib/commands/deployment/sync-jobs.js +1 -1
  105. package/lib/commands/deployment/sync-status.js +1 -1
  106. package/lib/commands/doctor.js +1 -1
  107. package/lib/commands/file/index.js +1 -1
  108. package/lib/commands/flow/create.d.ts +2 -0
  109. package/lib/commands/flow/create.js +1 -0
  110. package/lib/commands/flow/detail.d.ts +2 -0
  111. package/lib/commands/flow/detail.js +1 -0
  112. package/lib/commands/flow/index.d.ts +3 -0
  113. package/lib/commands/flow/index.js +1 -0
  114. package/lib/commands/flow/list.d.ts +2 -0
  115. package/lib/commands/flow/list.js +1 -0
  116. package/lib/commands/flow/publish.d.ts +2 -0
  117. package/lib/commands/flow/publish.js +1 -0
  118. package/lib/commands/flow/runtime-resources-shared.d.ts +40 -0
  119. package/lib/commands/flow/runtime-resources-shared.js +1 -0
  120. package/lib/commands/flow/runtime-role-list.d.ts +2 -0
  121. package/lib/commands/flow/runtime-role-list.js +1 -0
  122. package/lib/commands/flow/runtime-role-user-list.d.ts +2 -0
  123. package/lib/commands/flow/runtime-role-user-list.js +1 -0
  124. package/lib/commands/flow/runtime-user-search.d.ts +2 -0
  125. package/lib/commands/flow/runtime-user-search.js +1 -0
  126. package/lib/commands/flow/shared.d.ts +41 -0
  127. package/lib/commands/flow/shared.js +1 -0
  128. package/lib/commands/flow/update.d.ts +2 -0
  129. package/lib/commands/flow/update.js +1 -0
  130. package/lib/commands/flow/validate.d.ts +3 -0
  131. package/lib/commands/flow/validate.js +1 -0
  132. package/lib/commands/instant-api-policy/current.js +1 -1
  133. package/lib/commands/instant-api-policy/index.js +1 -1
  134. package/lib/commands/instant-api-policy/init.js +1 -1
  135. package/lib/commands/instant-api-policy/publish.js +1 -1
  136. package/lib/commands/instant-api-policy/pull.js +1 -1
  137. package/lib/commands/instant-api-policy/revision.js +1 -1
  138. package/lib/commands/instant-api-policy/revisions.js +1 -1
  139. package/lib/commands/instant-api-policy/rollback.js +1 -1
  140. package/lib/commands/instant-api-policy/shared.js +1 -1
  141. package/lib/commands/instant-api-policy/validate.js +1 -1
  142. package/lib/commands/issue/index.js +1 -1
  143. package/lib/commands/issue/nudge.js +1 -1
  144. package/lib/commands/issue/report.js +1 -1
  145. package/lib/commands/issue/shared.js +1 -1
  146. package/lib/commands/kb/create.js +1 -1
  147. package/lib/commands/kb/delete.js +1 -1
  148. package/lib/commands/kb/detail.js +1 -1
  149. package/lib/commands/kb/index.js +1 -1
  150. package/lib/commands/kb/list.js +1 -1
  151. package/lib/commands/kb/search.js +1 -1
  152. package/lib/commands/kb/shared.js +1 -1
  153. package/lib/commands/kb/update.js +1 -1
  154. package/lib/commands/logs/index.js +1 -1
  155. package/lib/commands/menu/asset-update.js +1 -1
  156. package/lib/commands/menu/delete.js +1 -1
  157. package/lib/commands/menu/external-link-create.js +1 -1
  158. package/lib/commands/menu/external-link-update.js +1 -1
  159. package/lib/commands/menu/group-create.js +1 -1
  160. package/lib/commands/menu/group-update.js +1 -1
  161. package/lib/commands/menu/index.js +1 -1
  162. package/lib/commands/menu/list.js +1 -1
  163. package/lib/commands/menu/move.js +1 -1
  164. package/lib/commands/menu/regroup-start.js +1 -1
  165. package/lib/commands/menu/rename.js +1 -1
  166. package/lib/commands/menu/shared/compare-table.js +1 -1
  167. package/lib/commands/menu/shared/delete-plan.js +1 -1
  168. package/lib/commands/menu/shared/facts.js +1 -1
  169. package/lib/commands/menu/shared/index.js +1 -1
  170. package/lib/commands/menu/shared/inquirer.js +1 -1
  171. package/lib/commands/menu/shared/local-pages.js +1 -1
  172. package/lib/commands/menu/shared/logic.js +1 -1
  173. package/lib/commands/menu/shared/mutations.js +1 -1
  174. package/lib/commands/menu/shared/service.js +1 -1
  175. package/lib/commands/menu/shared/sync-core.js +1 -1
  176. package/lib/commands/menu/shared/update-core.js +1 -1
  177. package/lib/commands/menu/shared/valid-url.js +1 -1
  178. package/lib/commands/menu/sync.js +1 -1
  179. package/lib/commands/menu/visibility-update.js +1 -1
  180. package/lib/commands/notification/config-create.js +1 -1
  181. package/lib/commands/notification/config-delete.js +1 -1
  182. package/lib/commands/notification/config-list.js +1 -1
  183. package/lib/commands/notification/config-update.js +1 -1
  184. package/lib/commands/notification/index.js +1 -1
  185. package/lib/commands/notification/shared.js +1 -1
  186. package/lib/commands/ocr/index.js +1 -1
  187. package/lib/commands/page/create.js +1 -1
  188. package/lib/commands/page/custom/detail.js +1 -1
  189. package/lib/commands/page/custom/list.js +1 -1
  190. package/lib/commands/page/custom/publish.js +1 -1
  191. package/lib/commands/page/custom/shared.js +1 -1
  192. package/lib/commands/page/custom/syntax.js +1 -1
  193. package/lib/commands/page/custom/update.js +1 -1
  194. package/lib/commands/page/data-list-status.js +1 -1
  195. package/lib/commands/page/generate-start.js +1 -1
  196. package/lib/commands/page/generate-status.js +1 -1
  197. package/lib/commands/page/index.js +1 -1
  198. package/lib/commands/page/pull.js +1 -1
  199. package/lib/commands/page/push.js +1 -1
  200. package/lib/commands/page/relation-audit.js +1 -1
  201. package/lib/commands/page/restore.js +1 -1
  202. package/lib/commands/page/shared.js +1 -1
  203. package/lib/commands/page/sync.js +1 -1
  204. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  205. package/lib/commands/project/create/format-elapsed.js +1 -1
  206. package/lib/commands/project/create/main.js +1 -1
  207. package/lib/commands/project/create/materialize-project-template.js +1 -1
  208. package/lib/commands/project/create/project-name.js +1 -1
  209. package/lib/commands/project/create/project-template-archive.js +1 -1
  210. package/lib/commands/project/create/project-template-path.js +1 -1
  211. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  212. package/lib/commands/project/create/use-format-code.js +1 -1
  213. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  214. package/lib/commands/project/domain-routing-sync.js +1 -1
  215. package/lib/commands/project/index.js +1 -1
  216. package/lib/commands/project/upgrade.js +1 -1
  217. package/lib/commands/registry.js +1 -1
  218. package/lib/commands/role/delete.js +1 -1
  219. package/lib/commands/role/detail.js +1 -1
  220. package/lib/commands/role/index.js +1 -1
  221. package/lib/commands/role/list.js +1 -1
  222. package/lib/commands/role/shared.js +1 -1
  223. package/lib/commands/role/update.js +1 -1
  224. package/lib/commands/role/user-add.js +1 -1
  225. package/lib/commands/role/user-remove.js +1 -1
  226. package/lib/commands/role/user-resolve.js +1 -1
  227. package/lib/commands/rule/get.js +1 -1
  228. package/lib/commands/rule/index.js +1 -1
  229. package/lib/commands/rule/list.js +1 -1
  230. package/lib/commands/rule/set.js +1 -1
  231. package/lib/commands/rule/shared.js +1 -1
  232. package/lib/commands/run/index.js +1 -1
  233. package/lib/commands/schema.js +1 -1
  234. package/lib/commands/sql/create.js +1 -1
  235. package/lib/commands/sql/delete.js +1 -1
  236. package/lib/commands/sql/detail.js +1 -1
  237. package/lib/commands/sql/exec.js +1 -1
  238. package/lib/commands/sql/index.js +1 -1
  239. package/lib/commands/sql/list.js +1 -1
  240. package/lib/commands/sql/pull.js +1 -1
  241. package/lib/commands/sql/push.js +1 -1
  242. package/lib/commands/sql/shared.js +1 -1
  243. package/lib/commands/sql/status.js +1 -1
  244. package/lib/commands/sql/validate.js +1 -1
  245. package/lib/commands/task/index.js +1 -1
  246. package/lib/commands/task/status.js +1 -1
  247. package/lib/commands/tenant/index.js +1 -1
  248. package/lib/commands/tenant/members-list.js +1 -1
  249. package/lib/commands/tenant/shared.js +1 -1
  250. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  251. package/lib/commands/user-account/index.js +1 -1
  252. package/lib/commands/workspace/add.js +1 -1
  253. package/lib/commands/workspace/index.js +1 -1
  254. package/lib/commands/workspace/remove.js +1 -1
  255. package/lib/config/domain-config.js +1 -1
  256. package/lib/config/project-domain-routing.js +1 -1
  257. package/lib/config/region-config.js +1 -1
  258. package/lib/config/schema.js +1 -1
  259. package/lib/constant/cdn.js +1 -1
  260. package/lib/constant/cli.js +1 -1
  261. package/lib/constant/defaults.js +1 -1
  262. package/lib/constant/domain.js +1 -1
  263. package/lib/constant/env.js +1 -1
  264. package/lib/constant/output.js +1 -1
  265. package/lib/constant/paths.js +1 -1
  266. package/lib/constant/region.js +1 -1
  267. package/lib/constant/risk.js +1 -1
  268. package/lib/constant/routing-profile.js +1 -1
  269. package/lib/context/app-resolver.js +1 -1
  270. package/lib/context/auth-resolver.js +1 -1
  271. package/lib/context/config-loader.js +1 -1
  272. package/lib/context.js +1 -1
  273. package/lib/core/alias-resolver.js +1 -1
  274. package/lib/core/api-client.d.ts +170 -1
  275. package/lib/core/api-client.js +1 -1
  276. package/lib/core/bff/config.js +1 -1
  277. package/lib/core/bff/file-system.js +1 -1
  278. package/lib/core/bff/hash.js +1 -1
  279. package/lib/core/bff/hook-directory.d.ts +55 -0
  280. package/lib/core/bff/hook-directory.js +1 -0
  281. package/lib/core/bff/lock.js +1 -1
  282. package/lib/core/bff/types.d.ts +15 -0
  283. package/lib/core/bff/utils.js +1 -1
  284. package/lib/core/db-resolver.js +1 -1
  285. package/lib/core/flow-config.d.ts +628 -0
  286. package/lib/core/flow-config.js +1 -0
  287. package/lib/core/instant-api-policy/config.js +1 -1
  288. package/lib/core/kb-search-client.js +1 -1
  289. package/lib/core/page/file-system.js +1 -1
  290. package/lib/core/page/hash.js +1 -1
  291. package/lib/core/page/lock.js +1 -1
  292. package/lib/core/page/lr-smart-jsx.js +1 -1
  293. package/lib/core/sql-index-auditor.js +1 -1
  294. package/lib/core/sql-sync/config.js +1 -1
  295. package/lib/core/sql-sync/file-system.js +1 -1
  296. package/lib/core/sql-sync/hash.js +1 -1
  297. package/lib/core/sql-sync/lock.js +1 -1
  298. package/lib/core/sql-sync/utils.js +1 -1
  299. package/lib/core/sql-validator.js +1 -1
  300. package/lib/errors.js +1 -1
  301. package/lib/framework/build-all-flags.js +1 -1
  302. package/lib/framework/error-output.js +1 -1
  303. package/lib/framework/explicit-yes.js +1 -1
  304. package/lib/framework/flags.js +1 -1
  305. package/lib/framework/help.js +1 -1
  306. package/lib/framework/index.js +1 -1
  307. package/lib/framework/output.js +1 -1
  308. package/lib/framework/response.js +1 -1
  309. package/lib/framework/runner-alias.js +1 -1
  310. package/lib/framework/runner.js +1 -1
  311. package/lib/framework/schema-export.js +1 -1
  312. package/lib/framework/supported-flags.js +1 -1
  313. package/lib/framework/types.js +1 -1
  314. package/lib/generated/build-info.d.ts +4 -4
  315. package/lib/generated/build-info.js +1 -1
  316. package/lib/generated/official-routing.js +1 -1
  317. package/lib/generated/routing-contract.js +1 -1
  318. package/lib/help.js +1 -1
  319. package/lib/postinstall.js +1 -1
  320. package/lib/runtime/confirmation.js +1 -1
  321. package/lib/runtime/event.js +1 -1
  322. package/lib/runtime/index.js +1 -1
  323. package/lib/runtime/queue.js +1 -1
  324. package/lib/runtime/resolve.js +1 -1
  325. package/lib/skills/builtin-skill.js +1 -1
  326. package/lib/skills/main.js +1 -1
  327. package/lib/skills/npx-skills-add.js +1 -1
  328. package/lib/skills/skill-presence.js +1 -1
  329. package/lib/telemetry/cli-command-trace.js +1 -1
  330. package/lib/telemetry/cli-help-trace.js +1 -1
  331. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  332. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  333. package/lib/telemetry/send-cli-trace-log.js +1 -1
  334. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  335. package/lib/utils/ai_config.js +1 -1
  336. package/lib/utils/apply-jq-filter.js +1 -1
  337. package/lib/utils/cdn-config.js +1 -1
  338. package/lib/utils/check-sdk-version.js +1 -1
  339. package/lib/utils/cli-version-check.js +1 -1
  340. package/lib/utils/cli-version-policy.js +1 -1
  341. package/lib/utils/config.js +1 -1
  342. package/lib/utils/entity-with-id.js +1 -1
  343. package/lib/utils/file-utils.js +1 -1
  344. package/lib/utils/guides-cdn.js +1 -1
  345. package/lib/utils/http-client.js +1 -1
  346. package/lib/utils/is-non-interactive.js +1 -1
  347. package/lib/utils/logger.js +1 -1
  348. package/lib/utils/params.js +1 -1
  349. package/lib/utils/platform.js +1 -1
  350. package/lib/utils/sleep.js +1 -1
  351. package/lib/utils/template-replacer.js +1 -1
  352. package/lib/utils/update-notice.js +1 -1
  353. package/lib/utils/version.js +1 -1
  354. package/lib/utils/with-active-cookie.js +1 -1
  355. package/lib/utils/write-cli-side-channel.js +1 -1
  356. package/package.json +1 -1
  357. package/skills/rabetbase/SKILL.md +22 -4
  358. package/skills/rabetbase/guides/approval-flow-development-workflow.md +137 -0
  359. package/skills/rabetbase/guides/backend-function.md +19 -9
  360. package/skills/rabetbase/guides/bff-creation-workflow.md +10 -1
  361. package/skills/rabetbase/guides/conflict-detection.md +2 -0
  362. package/skills/rabetbase/guides/sdk-client-generation.md +1 -0
  363. package/skills/rabetbase/knowledge/approval-flow/config-json-schema.md +290 -0
  364. package/skills/rabetbase/references/rabetbase-bff-create.md +1 -1
  365. package/skills/rabetbase/references/rabetbase-bff-logs.md +47 -0
  366. package/skills/rabetbase/references/rabetbase-bff-pull.md +7 -3
  367. package/skills/rabetbase/references/rabetbase-bff-push.md +10 -2
  368. package/skills/rabetbase/references/rabetbase-dataset-generate.md +52 -2
  369. package/skills/rabetbase/references/rabetbase-flow-commands.md +86 -0
  370. package/skills/rabetbase/references/rabetbase-flow-resources.md +83 -0
  371. package/skills/rabetbase/references/rabetbase-flow-runtime-boundary.md +25 -0
  372. package/skills/rabetbase/references/rabetbase-instant-api-policy.md +103 -11
  373. package/skills/rabetbase/references/rabetbase-notification-config-list.md +17 -0
  374. package/skills/rabetbase.manifest.json +9 -3
@@ -0,0 +1,83 @@
1
+ # 流程定义资源发现
2
+
3
+ FlowConfig 中的真实标识必须来自 CLI 查询,不得由 Agent 猜测。
4
+
5
+ ## 映射
6
+
7
+ | FlowConfig 字段 | 发现命令 | 选中值 |
8
+ |---|---|---|
9
+ | 外层 `datasetCode` | `dataset list`、`dataset detail` | Dataset `code` |
10
+ | 外层 `pageId` | `menu list` | 与目标页面对应的 `pageId` |
11
+ | `flowJson.startPageId` | `page custom-list`、`page custom-detail` | 自定义页面 `pageId` |
12
+ | `APPROVAL.pageId` | `page custom-list`、`page custom-detail` | 自定义页面 `pageId` |
13
+ | `APPROVAL.assignee.userIds` | `flow runtime-user-search` | 运行态 `users[].userId` |
14
+ | `APPROVAL.assignee.roleId` | `flow runtime-role-list` | 运行态角色 `id` |
15
+ | 角色成员核对 | `flow runtime-role-user-list` | 运行态只读成员清单 |
16
+ | `transferCandidates.userIds` | `flow runtime-user-search` | 运行态 `users[].userId` |
17
+ | `APPROVAL.cc.recipientUserIds` / `END.cc.recipientUserIds` | `flow runtime-user-search` | 运行态 `users[].userId` |
18
+ | `SCRIPT.scriptName` | `bff list --type ENDPOINT` | Endpoint `functionName` |
19
+ | `APPROVAL.timeout.scriptName` | `bff list --type ENDPOINT` | Endpoint `functionName` |
20
+ | `NOTIFICATION.config.configCode` | `notification config-list --all` | `configs[].configCode` |
21
+ | `NOTIFICATION.config.recipients[].value`(固定 USER) | `flow runtime-user-search` | 运行态 `users[].userId` |
22
+ | `NOTIFICATION.config.recipients[].value`(固定 ROLE) | `flow runtime-role-list` | 运行态角色 `id` |
23
+
24
+ `startPageId` 和节点 `pageId` 只选择自定义页面事实,不使用菜单名称、URL 或编辑器地址代替数值 `pageId`。占位符形式的通知收件人来自运行态变量,不需要资源查询;固定 EMAIL 收件人由用户明确提供,不推断邮箱地址。
25
+
26
+ ## 搜索运行态应用用户
27
+
28
+ ```bash
29
+ rabetbase flow runtime-user-search --keyword <text> [--page <n>] [--page-size <n>] --format compress
30
+ ```
31
+
32
+ - 只查询当前运行态应用已关联的用户,对 userId、nickname、username、displayName、email 做不区分大小写的包含匹配。
33
+ - 输出 `scope: "runtime"`、安全字段 `userId`、`username`、`nickname`、`displayName`、`email`、`status` 和分页信息。
34
+ - 不输出手机号、访问密钥或无关身份字段。
35
+ - 多个候选时必须由用户确认;不要默认取第一项。
36
+
37
+ 不要用 `role`、`app members-list` 或 `tenant members-list` 的人员结果填写审批 FlowConfig。
38
+
39
+ ## 查询运行态角色
40
+
41
+ ```bash
42
+ rabetbase flow runtime-role-list [--keyword <role-name>] [--page <n>] [--page-size <n>] --format compress
43
+ ```
44
+
45
+ - 查询当前应用运行态 `env=RUNTIME` 角色,`--keyword` 由服务端按角色名模糊过滤。
46
+ - 输出 `scope: "runtime"`、角色 `id/name/type`、备注和人数/权限数安全摘要,不输出权限矩阵。
47
+ - `APPROVAL.assignee.roleId` 只能使用这里返回的运行态角色 ID;不要使用 `role list/detail` 的配置端角色 ID。
48
+
49
+ ## 查看运行态角色成员
50
+
51
+ ```bash
52
+ rabetbase flow runtime-role-user-list --role <role-id-or-name> [--page <n>] [--page-size <n>] --format compress
53
+ ```
54
+
55
+ - 在当前应用运行态角色成员分组中按 ID 或精确名称解析角色。
56
+ - 角色名称不唯一时要求改用角色 ID。
57
+ - 输出 `scope: "runtime"`;只读,不修改成员关系。
58
+
59
+ ## 查询通知配置
60
+
61
+ ```bash
62
+ rabetbase notification config-list --all --format compress
63
+ rabetbase notification config-list --type EMAIL --format compress
64
+ ```
65
+
66
+ - `--all` 查询 `EMAIL`、`FEISHU`、`DINGTALK`、`WECOM`、`WEBHOOK` 的安全摘要。
67
+ - `--all` 与 `--type` 互斥;未指定时继续默认查询 `EMAIL`。
68
+ - 只使用同一条记录的 `configCode`,不要用渠道名、URL、dataset code 或凭据代替。
69
+
70
+ ## 查询脚本
71
+
72
+ ```bash
73
+ rabetbase bff list --type ENDPOINT --name <keyword> --format compress
74
+ ```
75
+
76
+ 只把确认后的 Endpoint `functionName` 写入 `SCRIPT.scriptName` 或 `APPROVAL.timeout.scriptName`。COMMON、HOOK 或展示名称不能替代 Endpoint 函数名。
77
+
78
+ ## 确认规则
79
+
80
+ - 无候选:返回 `NEEDS_USER_CONFIRMATION` 并请求更精确关键词。
81
+ - 多候选:展示稳定 ID、名称和必要上下文,请用户选择。
82
+ - 唯一候选:可以推荐,但身份、角色、脚本和通知配置仍需用户确认。
83
+ - 当前 DSL 无法表达需求:返回 `NEEDS_DSL_EXTENSION`,不要伪造配置。
@@ -0,0 +1,25 @@
1
+ # 流程定义设计态与运行态边界
2
+
3
+ `rabetbase flow` 管理 SmartCode 中的表单审批流与独立工作流定义;运行态待办和任务办理不属于本仓 CLI。
4
+
5
+ ## rabetbase 负责
6
+
7
+ - 查询、导出和校验 FlowConfig。
8
+ - 创建或更新设计态流程定义。
9
+ - 发布流程定义。
10
+ - 通过 dataset、menu、BFF、notification 命令发现设计资源;通过 `flow runtime-user-search/runtime-role-list/runtime-role-user-list` 只读发现审批所需的运行态人员和角色。
11
+
12
+ ## Runtime CLI 负责
13
+
14
+ - 查询当前用户待办和任务详情。
15
+ - 审批、拒绝和转交已有运行态任务。
16
+ - 验证流程实例、业务状态和任务权限。
17
+
18
+ `rabetbase` 只调用已核实的运行态人员/角色只读接口来生成 FlowConfig,不查询或办理任务。需要办理待办时,显式交接到 Runtime CLI 仓库及其公开 Skill。
19
+
20
+ ## 完成口径
21
+
22
+ - `flow validate` 成功只表示本地结构和已实现的拓扑规则通过。
23
+ - `flow create/update` 成功只表示服务端保存了设计态定义。
24
+ - `flow publish` 是同步服务端操作;只有成功响应才表示发布完成,dry-run 不表示发布成功。
25
+ - Runtime 最终行为仍需在 Runtime 环境中验证,不能用设计态查询代替。
@@ -12,29 +12,114 @@
12
12
 
13
13
  `init`、`pull`、`validate` 和 `publish` 只使用该路径,不提供 `--file`。目标应用来自当前工作区、`--app <name>` 或 `--appcode <code>`。策略不存入 `.rabetbase.json` 或运行态 app-config。
14
14
 
15
- `version` 固定为字符串 `"1"`,表示 JSON 结构版本。`revision` 是服务端发布历史版本,首次发布为 1,后续发布和回滚递增;两者含义不同。
15
+ `version` 是 JSON 结构版本:`"1"` 保持精确匹配兼容,`"2"` 支持通配选择和排除项;新版 CLI 的 `init` 默认创建版本 2。`revision` 是服务端发布历史版本,首次发布为 1,后续发布和回滚递增;两者含义不同。
16
16
 
17
17
  ## 配置结构
18
18
 
19
+ ### 先取得真实 Dataset 选择器
20
+
21
+ 策略匹配的是平台 Dataset,不是前端 SDK 的变量名。编辑前按下面顺序取得当前应用的事实:
22
+
23
+ ```bash
24
+ # 更新当前应用的本地模型事实;多应用项目显式选择目标
25
+ rabetbase api pull --appcode <appCode> --yes --format compress
26
+
27
+ # 对将被规则覆盖的 Dataset 确认真实 code、字段和支持的操作
28
+ rabetbase dataset detail --appcode <appCode> --code <datasetCode> --format compress
29
+ ```
30
+
31
+ `api pull` 生成的模型条目包含 `datasetCode`、可选 `tableName` 和 SDK `alias`。规则中优先只写这个 `datasetCode`;**不能**写 `alias`。例如模型中的 `alias: "brand"` 只是 SDK 调用名,不是策略选择器。只有无法取得 code 的兼容场景才使用 `tableName`;若两者同时填写,服务端要求它们解析为同一个 Dataset。
32
+
33
+ 认证不可用、`api pull` 失败或模型文件明显过期时,停止配置并先恢复认证;不要根据业务名称、SDK alias 或旧截图猜测 `datasetCode`。
34
+
35
+ ### Dataset 选择器规则
36
+
37
+ | 场景 | 合法写法 | 约束 |
38
+ | --- | --- | --- |
39
+ | v1/v2 的精确 Dataset | `{ "datasetCode": "<real-dataset-code>" }` | 首选;code 来自当前应用的 `api pull` 或 `dataset detail` |
40
+ | v1/v2 的精确物理表 | `{ "tableName": "<real-table-name>" }` | 可用作兼容选择器;不能填 SDK alias |
41
+ | v1/v2 双字段精确选择 | `{ "datasetCode": "…", "tableName": "…" }` | 两值必须解析为同一个 Dataset;已知 code 时不要冗余填写 tableName |
42
+ | 仅 v2 的全部 Dataset | `{ "datasetCode": "*" }` | `datasets` 的唯一元素;不能附带 `tableName`,也不能与精确选择器混用 |
43
+
44
+ `{ "tableName": "*" }` 在任何版本都不支持。版本 1 只接受上面的精确选择器,不能使用 Dataset/API 通配或 `excludes`。
45
+
46
+ ### 顶层字段
47
+
48
+ | 字段 | 必填 | 取值 / 约束 | 作用 |
49
+ | --- | --- | --- | --- |
50
+ | `version` | 是 | `"1"` 或 `"2"`;新文件使用 `"2"` | JSON 结构版本,不是服务端发布 revision |
51
+ | `appCode` | 是 | 必须等于当前命令解析出的应用 | 防止跨应用误发布 |
52
+ | `defaults.instantApi` | 是 | `"allow"` 或 `"deny"` | 没有任何规则命中时的最终动作;不能是 `"route"` |
53
+ | `rules` | 否 | 规则数组;缺省或空数组表示全部使用默认动作 | 对特定 Dataset + API 组合覆盖默认动作 |
54
+
55
+ ### 规则字段
56
+
57
+ | 字段 | 必填 | 取值 / 约束 |
58
+ | --- | --- | --- |
59
+ | `name` | 是 | 稳定、可读的规则标识,方便审阅和版本回溯 |
60
+ | `description` | 否 | 说明规则的业务目的和影响范围 |
61
+ | `datasets` | 是 | 非空数组;每项优先仅 `{ "datasetCode": "<real-dataset-code>" }` |
62
+ | `apis` | 是 | 非空数组,每项是独立 API 名;不能把多个 API 拼为一个逗号字符串 |
63
+ | `action` | 是 | `"allow"`、`"deny"` 或 `"route"` |
64
+ | `backendFunction` | 条件必填 | 仅 `action: "route"` 时填写;必须是同一应用的普通 `ENDPOINT`,不能是 Personal Backend Function |
65
+ | `excludes` | 仅 v2 可用 | 从本规则的 Dataset × API 匹配集合中扣除的数组;每项都要有 `datasets` 和 `apis`,且不得超出父规则范围 |
66
+
67
+ 支持的 API 名称为:`getSelectOptions`、`getList`、`excelExport`、`filter`、`aggregate`、`getOne`、`getOneOrigin`、`create`、`batchCreate`、`update`、`delete`。
68
+
69
+ 规则数组**没有优先级**。服务端会先按每条规则的 Dataset × API 组合(扣除 `excludes` 后)计算覆盖范围;仍有重叠就校验失败,而不是“后一条覆盖前一条”。未被任何规则覆盖的组合回退到 `defaults.instantApi`。
70
+
71
+ ### 精确匹配示例
72
+
73
+ 下面的 `<real-dataset-code>` 必须替换为刚由 `api pull` 得到的 code,不能替换成 alias 或展示名称:
74
+
75
+ ```json
76
+ {
77
+ "version": "2",
78
+ "appCode": "app-example",
79
+ "defaults": { "instantApi": "allow" },
80
+ "rules": [
81
+ {
82
+ "name": "deny-sensitive-export",
83
+ "description": "禁止敏感数据集通过 Instant API 导出",
84
+ "datasets": [{ "datasetCode": "<real-dataset-code>" }],
85
+ "apis": ["excelExport"],
86
+ "action": "deny"
87
+ }
88
+ ]
89
+ }
90
+ ```
91
+
92
+ 这是默认放行下的最小收紧方式:仅该 Dataset 的 `excelExport` 被禁止,其他组合继续由默认动作处理。
93
+
94
+ ### 版本 2 通配与排除示例
95
+
19
96
  ```json
20
97
  {
21
- "version": "1",
98
+ "version": "2",
22
99
  "appCode": "app-example",
23
100
  "defaults": {
24
101
  "instantApi": "allow"
25
102
  },
26
103
  "rules": [
27
104
  {
28
- "name": "route-student-filter",
29
- "description": "学生筛选交给业务 Backend Function",
30
- "datasets": [
105
+ "name": "route-all-except-student-create",
106
+ "description": "除学生新增外,全部数据集操作交给统一 Backend Function",
107
+ "datasets": [{"datasetCode": "*"}],
108
+ "apis": ["*"],
109
+ "excludes": [
31
110
  {
32
- "datasetCode": "student23"
111
+ "datasets": [{"datasetCode": "student23"}],
112
+ "apis": ["create"]
33
113
  }
34
114
  ],
35
- "apis": ["filter"],
36
115
  "action": "route",
37
- "backendFunction": "filterStudents"
116
+ "backendFunction": "unifiedGateway"
117
+ },
118
+ {
119
+ "name": "allow-student-create",
120
+ "datasets": [{"datasetCode": "student23"}],
121
+ "apis": ["create"],
122
+ "action": "allow"
38
123
  }
39
124
  ]
40
125
  }
@@ -43,8 +128,13 @@
43
128
  - `defaults.instantApi` 只允许 `allow` 或 `deny`,不能是 `route`。
44
129
  - `rules[].action` 允许 `allow`、`deny`、`route`。
45
130
  - `route` 必须填写 `backendFunction`;其他 action 禁止填写。
46
- - `datasets[]` 至少填写 `datasetCode` 或 `tableName`;建议优先使用稳定的 `datasetCode`。两者同时填写时必须指向同一 Dataset。
47
- - 同一个 `datasetCode + api` 只能命中一条规则;重复覆盖会校验失败。
131
+ - `datasets[]` 至少填写 `datasetCode` 或 `tableName`;已知 code 时只填写稳定的 `datasetCode`。两者同时填写时必须指向同一 Dataset。
132
+ - 版本 1 只支持精确匹配,不允许 `*` 或 `excludes`。
133
+ - 版本 2 的全部数据集写为 `datasets: [{"datasetCode":"*"}]`。通配项必须是数组唯一元素且不能包含 `tableName`;不支持 `tableName: "*"`。
134
+ - 版本 2 的全部 API 写为 `apis: ["*"]`,`"*"` 必须是数组唯一元素。
135
+ - `excludes[]` 每项包含 `datasets` 和 `apis`,表示从父规则中扣除两者笛卡尔积;排除范围不能超出父规则。
136
+ - 被排除的组合可以由后续其他规则处理;没有其他规则时执行 `defaults.instantApi`。
137
+ - 排除后仍重复的 `datasetCode + api` 会校验失败,规则数组顺序不表示优先级。
48
138
  - `apis` 的每个元素是一个独立值。`["filter,create"]` 或包含中文逗号的 `["filter,create"]` 都不是两个 API。
49
139
  - 支持的 API:`getSelectOptions`、`getList`、`excelExport`、`filter`、`aggregate`、`getOne`、`getOneOrigin`、`create`、`batchCreate`、`update`、`delete`。
50
140
 
@@ -70,7 +160,7 @@ rabetbase instant-api-policy publish --expected-revision 0 --change-summary "ini
70
160
  rabetbase instant-api-policy publish --expected-revision 0 --change-summary "initial policy" --yes --format compress
71
161
  ```
72
162
 
73
- `init --default-action deny` 可以创建默认禁止草稿。`init` 和 `pull` 遇到不同的既有文件时停止;只有 `--force --yes` 可以替换。
163
+ `init --default-action deny` 可以创建版本 2 的默认禁止草稿。`init` 和 `pull` 遇到不同的既有文件时停止;只有 `--force --yes` 可以替换。已有版本 1 文件仍可继续校验和发布。
74
164
 
75
165
  `validate` 调用服务端完整校验,返回 `configHash` 和 `normalizedConfig`,但不发布、不生成 revision。Dataset、API、规则重叠以及 Backend Function 合法性以该结果为准。
76
166
 
@@ -90,3 +180,5 @@ rabetbase instant-api-policy rollback --revision 2 --expected-revision 5 --chang
90
180
  回滚不会把 revision 倒退,也不会覆盖历史。例如当前 revision 为 5,恢复 revision 2 后会生成新的 revision 6。
91
181
 
92
182
  发布和回滚最多提交一次。CLI 随后读取当前策略,要求 configHash 匹配且 revision 推进。响应丢失但回读可以证明结果时返回 verified;证据不足时停止并提示执行 `current`,不得自动重提。Runtime 最迟约 30 秒感知新策略。
183
+
184
+ 数据集通配项按应用当前有效数据集展开;应用新增数据集后,会在 Runtime 策略缓存刷新时自动进入通配规则范围。
@@ -7,6 +7,7 @@
7
7
  ```bash
8
8
  rabetbase notification config-list --format compress
9
9
  rabetbase notification config-list --type EMAIL --format compress
10
+ rabetbase notification config-list --all --format compress
10
11
  rabetbase notification config-list --type EMAIL --appcode app-xxxxx --format json
11
12
  ```
12
13
 
@@ -20,6 +21,8 @@ rabetbase notification config-list --type EMAIL --appcode app-xxxxx --format jso
20
21
 
21
22
  类型值使用大写。
22
23
 
24
+ `--all` 会分别查询 `EMAIL`、`FEISHU`、`DINGTALK`、`WECOM`、`WEBHOOK`,合并为同一份安全摘要。`--all` 与 `--type` 互斥;不传二者时继续保持默认 `EMAIL` 行为。
25
+
23
26
  ## 输出
24
27
 
25
28
  ```json
@@ -45,6 +48,20 @@ rabetbase notification config-list --type EMAIL --appcode app-xxxxx --format jso
45
48
  }
46
49
  ```
47
50
 
51
+ `--all` 输出使用 `data.channelTypes` 代替单个 `data.channelType`,`configs` 为五种类型结果的合并列表:
52
+
53
+ ```json
54
+ {
55
+ "ok": true,
56
+ "data": {
57
+ "appCode": "app-xxxxx",
58
+ "channelTypes": ["EMAIL", "FEISHU", "DINGTALK", "WECOM", "WEBHOOK"],
59
+ "count": 2,
60
+ "configs": []
61
+ }
62
+ }
63
+ ```
64
+
48
65
  CLI 只输出用于选择配置的安全字段,不输出:
49
66
 
50
67
  * `channelConfig`
@@ -2,10 +2,11 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.3-beta.1",
6
- "skillVersion": "2.5.3-beta.1",
5
+ "packageVersion": "2.5.3-beta.2",
6
+ "skillVersion": "2.5.3-beta.2",
7
7
  "files": [
8
8
  "SKILL.md",
9
+ "guides/approval-flow-development-workflow.md",
9
10
  "guides/backend-function.md",
10
11
  "guides/best-practices.md",
11
12
  "guides/bff-creation-workflow.md",
@@ -22,6 +23,7 @@
22
23
  "guides/sql-mybatis.md",
23
24
  "guides/troubleshooting.md",
24
25
  "guides/typescript-sdk.md",
26
+ "knowledge/approval-flow/config-json-schema.md",
25
27
  "knowledge/components.md",
26
28
  "knowledge/custom-page/generation-standards.md",
27
29
  "knowledge/custom-page/page-templates.md",
@@ -46,6 +48,7 @@
46
48
  "references/rabetbase-bff-delete.md",
47
49
  "references/rabetbase-bff-detail.md",
48
50
  "references/rabetbase-bff-list.md",
51
+ "references/rabetbase-bff-logs.md",
49
52
  "references/rabetbase-bff-pull.md",
50
53
  "references/rabetbase-bff-push.md",
51
54
  "references/rabetbase-bff-save.md",
@@ -85,6 +88,9 @@
85
88
  "references/rabetbase-deployment-sync-all.md",
86
89
  "references/rabetbase-doctor.md",
87
90
  "references/rabetbase-file.md",
91
+ "references/rabetbase-flow-commands.md",
92
+ "references/rabetbase-flow-resources.md",
93
+ "references/rabetbase-flow-runtime-boundary.md",
88
94
  "references/rabetbase-init.md",
89
95
  "references/rabetbase-instant-api-policy.md",
90
96
  "references/rabetbase-issue-report.md",
@@ -140,5 +146,5 @@
140
146
  "references/rabetbase-user-account.md",
141
147
  "references/rabetbase-workspace.md"
142
148
  ],
143
- "digest": "737d15dee0512e879514bb4ab5e657b2e817656ba483dd285f5fbfe59adabc05"
149
+ "digest": "bdb1237d11f707a54a1a189d00c313b8cf7f4ac4f41e9ec7d2aec7e187edbaa9"
144
150
  }