@lovrabet/rabetbase-cli 2.5.4-beta.4 → 2.5.4-beta.5

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 (388) hide show
  1. package/README.md +8 -2
  2. package/lib/api/api-doc.js +1 -1
  3. package/lib/api/api-group.js +1 -1
  4. package/lib/api/fetch-model-list.js +1 -1
  5. package/lib/api/generate-api-file.js +1 -1
  6. package/lib/api/generate-sdk-config-file.js +1 -1
  7. package/lib/api/legacy-api-file.js +1 -1
  8. package/lib/api/model-registry-file.js +1 -1
  9. package/lib/api/model-registry-scaffold.js +1 -1
  10. package/lib/api/model-source.js +1 -1
  11. package/lib/auth/auth-server-ui.js +1 -1
  12. package/lib/auth/auth-server.js +1 -1
  13. package/lib/auth/constant.js +1 -1
  14. package/lib/auth/get-cookie.js +1 -1
  15. package/lib/auth/get-session-user.js +1 -1
  16. package/lib/auth/is-session-valid.js +1 -1
  17. package/lib/auth/login-success-html.js +1 -1
  18. package/lib/auth/logout.js +1 -1
  19. package/lib/cli-flags.js +1 -1
  20. package/lib/cli.js +1 -1
  21. package/lib/commands/api/generate.js +1 -1
  22. package/lib/commands/api/index.js +1 -1
  23. package/lib/commands/api/list.js +1 -1
  24. package/lib/commands/api/pull.js +1 -1
  25. package/lib/commands/api/shared.js +1 -1
  26. package/lib/commands/app/detail.d.ts +2 -0
  27. package/lib/commands/app/detail.js +1 -0
  28. package/lib/commands/app/index.js +1 -1
  29. package/lib/commands/app/list.js +1 -1
  30. package/lib/commands/app/members-list.js +1 -1
  31. package/lib/commands/app/remote-directory.js +1 -1
  32. package/lib/commands/app/shared.js +1 -1
  33. package/lib/commands/app-config/delete.js +1 -1
  34. package/lib/commands/app-config/get.js +1 -1
  35. package/lib/commands/app-config/index.js +1 -1
  36. package/lib/commands/app-config/list.js +1 -1
  37. package/lib/commands/app-config/set.js +1 -1
  38. package/lib/commands/app-config/shared.js +1 -1
  39. package/lib/commands/auth/index.js +1 -1
  40. package/lib/commands/bff/create.js +1 -1
  41. package/lib/commands/bff/delete.js +1 -1
  42. package/lib/commands/bff/detail.js +1 -1
  43. package/lib/commands/bff/index.js +1 -1
  44. package/lib/commands/bff/list.js +1 -1
  45. package/lib/commands/bff/logs.js +1 -1
  46. package/lib/commands/bff/pull.js +1 -1
  47. package/lib/commands/bff/push.js +1 -1
  48. package/lib/commands/bff/status.js +1 -1
  49. package/lib/commands/cli-skill/index.js +1 -1
  50. package/lib/commands/cli-update.js +1 -1
  51. package/lib/commands/codegen/index.js +1 -1
  52. package/lib/commands/codegen/sdk.js +1 -1
  53. package/lib/commands/codegen/sql.js +1 -1
  54. package/lib/commands/common/app-registry.js +1 -1
  55. package/lib/commands/common/app-selector.js +1 -1
  56. package/lib/commands/common/async-task.js +1 -1
  57. package/lib/commands/common/dry-run.js +1 -1
  58. package/lib/commands/common/flags.js +1 -1
  59. package/lib/commands/common/local-file.js +1 -1
  60. package/lib/commands/common/validate.js +1 -1
  61. package/lib/commands/config/delete.js +1 -1
  62. package/lib/commands/config/get.js +1 -1
  63. package/lib/commands/config/index.js +1 -1
  64. package/lib/commands/config/init.js +1 -1
  65. package/lib/commands/config/list.js +1 -1
  66. package/lib/commands/config/set.js +1 -1
  67. package/lib/commands/config/shared.js +1 -1
  68. package/lib/commands/dataset/batch-design.js +1 -1
  69. package/lib/commands/dataset/business-group-update.js +1 -1
  70. package/lib/commands/dataset/business-groups.js +1 -1
  71. package/lib/commands/dataset/capability.js +1 -1
  72. package/lib/commands/dataset/cross-relation-create.js +1 -1
  73. package/lib/commands/dataset/cross-relation-delete.js +1 -1
  74. package/lib/commands/dataset/cross-relation-list.js +1 -1
  75. package/lib/commands/dataset/cross-relation-shared.js +1 -1
  76. package/lib/commands/dataset/cross-relation-update.js +1 -1
  77. package/lib/commands/dataset/delete.js +1 -1
  78. package/lib/commands/dataset/detail.js +1 -1
  79. package/lib/commands/dataset/extend-update.js +1 -1
  80. package/lib/commands/dataset/field-restore.js +1 -1
  81. package/lib/commands/dataset/field-update.js +1 -1
  82. package/lib/commands/dataset/generate.js +1 -1
  83. package/lib/commands/dataset/index.js +1 -1
  84. package/lib/commands/dataset/list.js +1 -1
  85. package/lib/commands/dataset/operations.js +1 -1
  86. package/lib/commands/dataset/relation-audit.js +1 -1
  87. package/lib/commands/dataset/relation-create.js +1 -1
  88. package/lib/commands/dataset/relation-delete.js +1 -1
  89. package/lib/commands/dataset/relation-shared.js +1 -1
  90. package/lib/commands/dataset/relation-update.js +1 -1
  91. package/lib/commands/dataset/relations.js +1 -1
  92. package/lib/commands/dataset/rename.js +1 -1
  93. package/lib/commands/dataset/restore.js +1 -1
  94. package/lib/commands/dataset/user-deleted-field-list.js +1 -1
  95. package/lib/commands/db/analysis-batching.js +1 -1
  96. package/lib/commands/db/analyze-batch-plan.js +1 -1
  97. package/lib/commands/db/analyze-cancel.js +1 -1
  98. package/lib/commands/db/analyze-start.js +1 -1
  99. package/lib/commands/db/analyze-status.js +1 -1
  100. package/lib/commands/db/create.js +1 -1
  101. package/lib/commands/db/delete.js +1 -1
  102. package/lib/commands/db/detail.js +1 -1
  103. package/lib/commands/db/diff-refresh-start.js +1 -1
  104. package/lib/commands/db/diff-refresh-status.js +1 -1
  105. package/lib/commands/db/diff.js +1 -1
  106. package/lib/commands/db/index.js +1 -1
  107. package/lib/commands/db/list.js +1 -1
  108. package/lib/commands/db/shared.js +1 -1
  109. package/lib/commands/db/table-diff-shared.js +1 -1
  110. package/lib/commands/db/tables.js +1 -1
  111. package/lib/commands/db/test.js +1 -1
  112. package/lib/commands/db/update.js +1 -1
  113. package/lib/commands/deployment/index.js +1 -1
  114. package/lib/commands/deployment/sync-all.js +1 -1
  115. package/lib/commands/deployment/sync-jobs.js +1 -1
  116. package/lib/commands/deployment/sync-status.js +1 -1
  117. package/lib/commands/doctor.js +1 -1
  118. package/lib/commands/file/index.js +1 -1
  119. package/lib/commands/flow/create.js +1 -1
  120. package/lib/commands/flow/detail.js +1 -1
  121. package/lib/commands/flow/index.js +1 -1
  122. package/lib/commands/flow/list.js +1 -1
  123. package/lib/commands/flow/publish.js +1 -1
  124. package/lib/commands/flow/runtime-resources-shared.js +1 -1
  125. package/lib/commands/flow/runtime-role-list.js +1 -1
  126. package/lib/commands/flow/runtime-role-user-list.js +1 -1
  127. package/lib/commands/flow/runtime-user-search.js +1 -1
  128. package/lib/commands/flow/shared.js +1 -1
  129. package/lib/commands/flow/update.js +1 -1
  130. package/lib/commands/flow/validate.js +1 -1
  131. package/lib/commands/instant-api-policy/current.js +1 -1
  132. package/lib/commands/instant-api-policy/index.js +1 -1
  133. package/lib/commands/instant-api-policy/init.js +1 -1
  134. package/lib/commands/instant-api-policy/publish.js +1 -1
  135. package/lib/commands/instant-api-policy/pull.js +1 -1
  136. package/lib/commands/instant-api-policy/revision.js +1 -1
  137. package/lib/commands/instant-api-policy/revisions.js +1 -1
  138. package/lib/commands/instant-api-policy/rollback.js +1 -1
  139. package/lib/commands/instant-api-policy/shared.js +1 -1
  140. package/lib/commands/instant-api-policy/validate.js +1 -1
  141. package/lib/commands/issue/index.js +1 -1
  142. package/lib/commands/issue/nudge.js +1 -1
  143. package/lib/commands/issue/report.js +1 -1
  144. package/lib/commands/issue/shared.js +1 -1
  145. package/lib/commands/kb/create.js +1 -1
  146. package/lib/commands/kb/delete.js +1 -1
  147. package/lib/commands/kb/detail.js +1 -1
  148. package/lib/commands/kb/index.js +1 -1
  149. package/lib/commands/kb/list.js +1 -1
  150. package/lib/commands/kb/search.js +1 -1
  151. package/lib/commands/kb/shared.js +1 -1
  152. package/lib/commands/kb/update.js +1 -1
  153. package/lib/commands/logs/index.js +1 -1
  154. package/lib/commands/menu/asset-update.js +1 -1
  155. package/lib/commands/menu/delete.js +1 -1
  156. package/lib/commands/menu/external-link-create.js +1 -1
  157. package/lib/commands/menu/external-link-update.js +1 -1
  158. package/lib/commands/menu/group-create.js +1 -1
  159. package/lib/commands/menu/group-update.js +1 -1
  160. package/lib/commands/menu/index.js +1 -1
  161. package/lib/commands/menu/list.js +1 -1
  162. package/lib/commands/menu/move.js +1 -1
  163. package/lib/commands/menu/regroup-start.js +1 -1
  164. package/lib/commands/menu/rename.js +1 -1
  165. package/lib/commands/menu/shared/compare-table.js +1 -1
  166. package/lib/commands/menu/shared/delete-plan.js +1 -1
  167. package/lib/commands/menu/shared/facts.js +1 -1
  168. package/lib/commands/menu/shared/index.js +1 -1
  169. package/lib/commands/menu/shared/inquirer.js +1 -1
  170. package/lib/commands/menu/shared/local-pages.d.ts +1 -1
  171. package/lib/commands/menu/shared/local-pages.js +1 -1
  172. package/lib/commands/menu/shared/logic.d.ts +3 -1
  173. package/lib/commands/menu/shared/logic.js +1 -1
  174. package/lib/commands/menu/shared/mutations.js +1 -1
  175. package/lib/commands/menu/shared/path.d.ts +2 -0
  176. package/lib/commands/menu/shared/path.js +1 -0
  177. package/lib/commands/menu/shared/service.d.ts +6 -1
  178. package/lib/commands/menu/shared/service.js +1 -1
  179. package/lib/commands/menu/shared/subapp-assets.d.ts +28 -0
  180. package/lib/commands/menu/shared/subapp-assets.js +1 -0
  181. package/lib/commands/menu/shared/sync-core.d.ts +2 -1
  182. package/lib/commands/menu/shared/sync-core.js +1 -1
  183. package/lib/commands/menu/shared/types.d.ts +14 -4
  184. package/lib/commands/menu/shared/update-core.js +1 -1
  185. package/lib/commands/menu/shared/valid-url.js +1 -1
  186. package/lib/commands/menu/subapp-assets-status.d.ts +2 -0
  187. package/lib/commands/menu/subapp-assets-status.js +1 -0
  188. package/lib/commands/menu/subapp-assets-update.d.ts +2 -0
  189. package/lib/commands/menu/subapp-assets-update.js +1 -0
  190. package/lib/commands/menu/sync.js +1 -1
  191. package/lib/commands/menu/visibility-update.js +1 -1
  192. package/lib/commands/notification/config-create.js +1 -1
  193. package/lib/commands/notification/config-delete.js +1 -1
  194. package/lib/commands/notification/config-list.js +1 -1
  195. package/lib/commands/notification/config-update.js +1 -1
  196. package/lib/commands/notification/index.js +1 -1
  197. package/lib/commands/notification/shared.js +1 -1
  198. package/lib/commands/ocr/index.js +1 -1
  199. package/lib/commands/page/create.js +1 -1
  200. package/lib/commands/page/custom/detail.js +1 -1
  201. package/lib/commands/page/custom/list.js +1 -1
  202. package/lib/commands/page/custom/publish.js +1 -1
  203. package/lib/commands/page/custom/shared.js +1 -1
  204. package/lib/commands/page/custom/syntax.js +1 -1
  205. package/lib/commands/page/custom/update.js +1 -1
  206. package/lib/commands/page/data-list-status.js +1 -1
  207. package/lib/commands/page/generate-start.js +1 -1
  208. package/lib/commands/page/generate-status.js +1 -1
  209. package/lib/commands/page/index.js +1 -1
  210. package/lib/commands/page/pull.js +1 -1
  211. package/lib/commands/page/push.js +1 -1
  212. package/lib/commands/page/relation-audit.js +1 -1
  213. package/lib/commands/page/restore.js +1 -1
  214. package/lib/commands/page/shared.js +1 -1
  215. package/lib/commands/page/sync.js +1 -1
  216. package/lib/commands/project/api-architecture-upgrade.js +1 -1
  217. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  218. package/lib/commands/project/create/format-elapsed.js +1 -1
  219. package/lib/commands/project/create/main.js +1 -1
  220. package/lib/commands/project/create/materialize-project-template.js +1 -1
  221. package/lib/commands/project/create/project-name.js +1 -1
  222. package/lib/commands/project/create/project-template-archive.js +1 -1
  223. package/lib/commands/project/create/project-template-path.js +1 -1
  224. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  225. package/lib/commands/project/create/use-format-code.js +1 -1
  226. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  227. package/lib/commands/project/domain-routing-sync.js +1 -1
  228. package/lib/commands/project/index.js +1 -1
  229. package/lib/commands/project/upgrade.js +1 -1
  230. package/lib/commands/registry.js +1 -1
  231. package/lib/commands/role/delete.js +1 -1
  232. package/lib/commands/role/detail.js +1 -1
  233. package/lib/commands/role/index.js +1 -1
  234. package/lib/commands/role/list.js +1 -1
  235. package/lib/commands/role/shared.js +1 -1
  236. package/lib/commands/role/update.js +1 -1
  237. package/lib/commands/role/user-add.js +1 -1
  238. package/lib/commands/role/user-remove.js +1 -1
  239. package/lib/commands/role/user-resolve.js +1 -1
  240. package/lib/commands/rule/get.js +1 -1
  241. package/lib/commands/rule/index.js +1 -1
  242. package/lib/commands/rule/list.js +1 -1
  243. package/lib/commands/rule/set.js +1 -1
  244. package/lib/commands/rule/shared.js +1 -1
  245. package/lib/commands/run/index.js +1 -1
  246. package/lib/commands/schema.js +1 -1
  247. package/lib/commands/sql/create.js +1 -1
  248. package/lib/commands/sql/delete.js +1 -1
  249. package/lib/commands/sql/detail.js +1 -1
  250. package/lib/commands/sql/exec.js +1 -1
  251. package/lib/commands/sql/index.js +1 -1
  252. package/lib/commands/sql/list.js +1 -1
  253. package/lib/commands/sql/pull.js +1 -1
  254. package/lib/commands/sql/push.js +1 -1
  255. package/lib/commands/sql/shared.js +1 -1
  256. package/lib/commands/sql/status.js +1 -1
  257. package/lib/commands/sql/validate.js +1 -1
  258. package/lib/commands/task/index.js +1 -1
  259. package/lib/commands/task/status.js +1 -1
  260. package/lib/commands/tenant/index.js +1 -1
  261. package/lib/commands/tenant/members-list.js +1 -1
  262. package/lib/commands/tenant/shared.js +1 -1
  263. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  264. package/lib/commands/user-account/feishu-bind.js +1 -1
  265. package/lib/commands/user-account/index.js +1 -1
  266. package/lib/commands/workspace/add.js +1 -1
  267. package/lib/commands/workspace/index.js +1 -1
  268. package/lib/commands/workspace/remove.js +1 -1
  269. package/lib/config/domain-config.js +1 -1
  270. package/lib/config/project-domain-routing.js +1 -1
  271. package/lib/config/region-config.js +1 -1
  272. package/lib/config/schema.js +1 -1
  273. package/lib/constant/cdn.js +1 -1
  274. package/lib/constant/cli.js +1 -1
  275. package/lib/constant/defaults.js +1 -1
  276. package/lib/constant/domain.js +1 -1
  277. package/lib/constant/env.js +1 -1
  278. package/lib/constant/output.js +1 -1
  279. package/lib/constant/paths.js +1 -1
  280. package/lib/constant/region.js +1 -1
  281. package/lib/constant/risk.js +1 -1
  282. package/lib/constant/routing-profile.js +1 -1
  283. package/lib/context/app-resolver.js +1 -1
  284. package/lib/context/auth-resolver.js +1 -1
  285. package/lib/context/config-loader.js +1 -1
  286. package/lib/context.js +1 -1
  287. package/lib/core/alias-resolver.js +1 -1
  288. package/lib/core/api-client.d.ts +15 -0
  289. package/lib/core/api-client.js +1 -1
  290. package/lib/core/bff/config.js +1 -1
  291. package/lib/core/bff/file-system.js +1 -1
  292. package/lib/core/bff/hash.js +1 -1
  293. package/lib/core/bff/hook-directory.js +1 -1
  294. package/lib/core/bff/lock.js +1 -1
  295. package/lib/core/bff/utils.js +1 -1
  296. package/lib/core/cross-db-relation.js +1 -1
  297. package/lib/core/db-resolver.js +1 -1
  298. package/lib/core/flow-config.js +1 -1
  299. package/lib/core/instant-api-policy/config.js +1 -1
  300. package/lib/core/kb-search-client.js +1 -1
  301. package/lib/core/page/file-system.js +1 -1
  302. package/lib/core/page/hash.js +1 -1
  303. package/lib/core/page/lock.js +1 -1
  304. package/lib/core/page/lr-smart-jsx.js +1 -1
  305. package/lib/core/sql-index-auditor.js +1 -1
  306. package/lib/core/sql-sync/config.js +1 -1
  307. package/lib/core/sql-sync/file-system.js +1 -1
  308. package/lib/core/sql-sync/hash.js +1 -1
  309. package/lib/core/sql-sync/lock.js +1 -1
  310. package/lib/core/sql-sync/utils.js +1 -1
  311. package/lib/core/sql-validator.js +1 -1
  312. package/lib/errors.js +1 -1
  313. package/lib/framework/build-all-flags.js +1 -1
  314. package/lib/framework/error-output.js +1 -1
  315. package/lib/framework/explicit-yes.js +1 -1
  316. package/lib/framework/flags.js +1 -1
  317. package/lib/framework/help.js +1 -1
  318. package/lib/framework/index.js +1 -1
  319. package/lib/framework/output.js +1 -1
  320. package/lib/framework/response.js +1 -1
  321. package/lib/framework/runner-alias.js +1 -1
  322. package/lib/framework/runner.js +1 -1
  323. package/lib/framework/schema-export.js +1 -1
  324. package/lib/framework/supported-flags.js +1 -1
  325. package/lib/framework/types.js +1 -1
  326. package/lib/generated/build-info.d.ts +4 -4
  327. package/lib/generated/build-info.js +1 -1
  328. package/lib/generated/official-routing.js +1 -1
  329. package/lib/generated/routing-contract.js +1 -1
  330. package/lib/help.js +1 -1
  331. package/lib/postinstall.js +1 -1
  332. package/lib/runtime/confirmation.js +1 -1
  333. package/lib/runtime/event.js +1 -1
  334. package/lib/runtime/index.js +1 -1
  335. package/lib/runtime/queue.js +1 -1
  336. package/lib/runtime/resolve.js +1 -1
  337. package/lib/skills/builtin-skill.js +1 -1
  338. package/lib/skills/main.js +1 -1
  339. package/lib/skills/npx-skills-add.js +1 -1
  340. package/lib/skills/skill-presence.js +1 -1
  341. package/lib/telemetry/cli-command-trace.js +1 -1
  342. package/lib/telemetry/cli-help-trace.js +1 -1
  343. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  344. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  345. package/lib/telemetry/send-cli-trace-log.js +1 -1
  346. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  347. package/lib/utils/ai_config.js +1 -1
  348. package/lib/utils/apply-jq-filter.js +1 -1
  349. package/lib/utils/cdn-config.js +1 -1
  350. package/lib/utils/check-sdk-version.js +1 -1
  351. package/lib/utils/cli-version-check.js +1 -1
  352. package/lib/utils/cli-version-policy.js +1 -1
  353. package/lib/utils/config.js +1 -1
  354. package/lib/utils/entity-with-id.js +1 -1
  355. package/lib/utils/file-utils.js +1 -1
  356. package/lib/utils/guides-cdn.js +1 -1
  357. package/lib/utils/http-client.js +1 -1
  358. package/lib/utils/is-non-interactive.js +1 -1
  359. package/lib/utils/logger.js +1 -1
  360. package/lib/utils/params.js +1 -1
  361. package/lib/utils/platform.js +1 -1
  362. package/lib/utils/sleep.js +1 -1
  363. package/lib/utils/template-replacer.js +1 -1
  364. package/lib/utils/update-notice.js +1 -1
  365. package/lib/utils/version.js +1 -1
  366. package/lib/utils/with-active-cookie.js +1 -1
  367. package/lib/utils/write-cli-side-channel.js +1 -1
  368. package/package.json +1 -1
  369. package/skills/rabetbase/SKILL.md +21 -12
  370. package/skills/rabetbase/guides/backend-function.md +2 -7
  371. package/skills/rabetbase/guides/bff-creation-workflow.md +24 -23
  372. package/skills/rabetbase/guides/host-frontend-integration.md +62 -0
  373. package/skills/rabetbase/guides/independent-deployment.md +45 -0
  374. package/skills/rabetbase/guides/troubleshooting.md +9 -1
  375. package/skills/rabetbase/references/rabetbase-app-detail.md +31 -0
  376. package/skills/rabetbase/references/rabetbase-bff-detail.md +1 -1
  377. package/skills/rabetbase/references/rabetbase-bff-push.md +2 -2
  378. package/skills/rabetbase/references/rabetbase-data-list-status.md +1 -0
  379. package/skills/rabetbase/references/rabetbase-deployment-sync-all.md +5 -1
  380. package/skills/rabetbase/references/rabetbase-menu-asset-update.md +9 -7
  381. package/skills/rabetbase/references/rabetbase-menu-list.md +2 -2
  382. package/skills/rabetbase/references/rabetbase-menu-subapp-assets-status.md +19 -0
  383. package/skills/rabetbase/references/rabetbase-menu-subapp-assets-update.md +27 -0
  384. package/skills/rabetbase/references/rabetbase-menu-sync.md +40 -14
  385. package/skills/rabetbase/references/rabetbase-page-create.md +1 -1
  386. package/skills/rabetbase/references/rabetbase-page-generate-start.md +5 -3
  387. package/skills/rabetbase/references/rabetbase-page-generate-status.md +1 -0
  388. package/skills/rabetbase.manifest.json +8 -3
@@ -63,8 +63,8 @@ rabetbase bff push --type HOOK --name beforeFilter --format json
63
63
  - 预演中无法确认目标的脚本显示 `status: failed` 与 `error`,不会上传或更改 lock
64
64
  - alias 与 Dataset code 命名空间碰撞、Dataset 映射漂移或同一 Dataset 出现多个本地目录会在首次远端写入前阻断
65
65
  - HOOK 可挂载 `DB_TABLE` 或 `METADATA` 数据集;METADATA 不支持 SQL / aggregate 路径,脚本中使用平台返回的标准数据操作
66
- - 推送成功只代表脚本配置已同步到平台;如需确认最终运行效果,使用运行验证(例如 `lovrabet bff exec --name <functionName> --params '<json>' --format compress`)
67
- - 管理态已同步但运行态仍旧版本时,按传播延迟 / 缓存延迟处理:等待后重试,必要时对目标脚本精确执行 `--force` 推送;仍不生效时记录平台运行态缓存风险
66
+ - 推送成功只代表脚本配置已同步到平台;需要运行验证时,按[创建流程的运行验证步骤](../guides/bff-creation-workflow.md#9-运行态-smoke按需)确认目标、权限及函数副作用后执行
67
+ - 已确认独立部署并需验证,或出现平台到业务环境的同步疑点时,读取[独立部署指南](../guides/independent-deployment.md);普通 push 不额外查询部署标识
68
68
 
69
69
  ## 参考
70
70
 
@@ -18,6 +18,7 @@ rabetbase page data-list-status --alias order --format json
18
18
  - 菜单事实
19
19
  - 它不返回异步任务的执行进度,也不负责表达 job 状态。
20
20
  - 这是 `page generate-start` 的前置判定与终态回查依据,属于事实接口,不是任务状态接口。
21
+ - 数据列表页生成流程会自动创建菜单入口。生成后核对页面组及其对应的 `hasMenu`、`menuPath`、`menuVisible`:菜单存在与是否可见是不同事实,不要求每个辅助页面都有可见菜单。预期入口缺失时报告并核查,不自动使用 `menu sync` 补建或绑定子应用 appName。
21
22
 
22
23
  ## 适用场景
23
24
 
@@ -1,6 +1,6 @@
1
1
  # rabetbase deployment sync-all
2
2
 
3
- 研发资源保存后的增量同步由服务端自动处理。`deployment sync` 已移除,`bff push` 与 `sql push` 也不再追加客户端同步请求。
3
+ `sync-all` 提交应用范围的显式补偿任务。自动同步与项目后续发布步骤的区别见[独立部署指南](../guides/independent-deployment.md)。`deployment sync` 已移除,`bff push` 与 `sql push` 不追加客户端同步请求。
4
4
 
5
5
  `sync-all` 是管理员补偿工具,仅用于以下场景:
6
6
 
@@ -13,7 +13,9 @@
13
13
  ## 使用前确认
14
14
 
15
15
  - 已完成 rabetbase 认证,并明确目标应用的 `appCode`。
16
+ - 已按[独立部署指南](../guides/independent-deployment.md)确认平台同步的实际目标及本次操作所处环节。
16
17
  - 已确认属于初始化、回填或恢复场景,而不是普通资源保存或发布。
18
+ - [`app detail`](rabetbase-app-detail.md) 已确认 `vipDeploy=true`,并具备相应权限与执行授权;未确认能力时不提交任务。
17
19
  - 应用已停止编辑,当前处于安静窗口,避免全量任务与服务端自动增量同步并行。
18
20
  - 已准备在任务结束后执行独立的业务验收。
19
21
 
@@ -51,6 +53,8 @@ rabetbase deployment sync-status --job-id <jobId> --format compress
51
53
  rabetbase deployment sync-jobs --appcode <appCode> --format compress
52
54
  ```
53
55
 
56
+ 这些查询用于显式提交的同步任务,不包含保存后自动产生的增量同步任务;不能用空列表判断自动同步是否运行或失败。
57
+
54
58
  只根据 `isTerminal` 判断是否为已知终态;若为 `null`,保留服务端状态并交给用户判断。逐项资源类型和 action 是服务端开放字符串,不建立枚举闭集,也不因新值自动重提。
55
59
 
56
60
  任务成功只表示服务端完成了当前支持范围内的 UPSERT。目标端额外记录不会被删除,且任务明细可能受服务端保留上限影响,因此完成后仍需按业务事实验收。
@@ -1,8 +1,10 @@
1
1
  # menu asset-update
2
2
 
3
- 更新指定线上微前端菜单的 CDN 资源 URL。
3
+ 更新指定线上菜单自身的 CDN 资源 URL。宿主可同时集成多个前端子应用和平台页面(数据列表页、自定义页面)。平台页面按其配置与发布流程管理,需要菜单资源时,该资源是正常加载配置,无需绑定 appName;本命令不修改页面内容或代替页面发布。绑定有效子应用共享资源时,支持该机制的宿主优先加载对应子应用的共享资源,菜单资源才作为兜底。
4
4
 
5
- > **风险等级:write** — 修改线上菜单运行资源;建议先 dry-run,正式执行复用相同参数并移除 `--dry-run`。
5
+ 仅在明确需要调整菜单资源时,平台页面才按菜单 ID/path 使用本命令。例如,自定义页面通过 [`page create`](rabetbase-page-create.md) 同时创建页面与菜单,后续按 pageId 使用 [`page custom-update`](rabetbase-page-custom-update.md)、[`page custom-publish`](rabetbase-page-custom-publish.md) 保存和发布,无需额外绑定 appName 或用 `menu sync` 注册菜单。前端子应用先用 `rabetbase menu subapp-assets-status --appcode <host-appcode> --app-name <name>` 核查,升级使用 `menu subapp-assets-update`;只有明确维护菜单自身的兜底配置时才使用本命令。
6
+
7
+ > **风险等级:write** — 修改菜单自身的资源配置;建议先 dry-run,正式执行复用相同参数并移除 `--dry-run`。
6
8
 
7
9
  ## 命令
8
10
 
@@ -17,13 +19,13 @@ rabetbase menu asset-update --paths "<menu-path>" --params '{"cssUrl":"https://.
17
19
  # 按菜单 ID 精确更新,并显式切换加载方式
18
20
  rabetbase menu asset-update --menu-ids "<menu-id>" --load-mode fetch --params '{"jsUrl":"https://...js"}' --dry-run --format compress
19
21
 
20
- # 明确需要全量发布时显式选择全部
22
+ # 仅当明确要更新当前宿主所有已有 resources 的菜单时使用,不用于子应用版本升级
21
23
  rabetbase menu asset-update --all --params '{"jsUrl":"https://...js","cssUrl":"https://...css"}' --dry-run --format compress
22
24
  ```
23
25
 
24
26
  ## 高频 SOP:修改菜单资源 URL
25
27
 
26
- 修改菜单中的 JS / CSS 资源 URL 是 `menu asset-update` 的主路径,不需要 `menu detail` 或其他配置更新命令。
28
+ 修改菜单自己的 JS / CSS 资源 URL 使用 `menu asset-update`:包括平台页面的正常资源配置,以及明确维护的子应用菜单兜底配置。不需要 `menu detail` 或其他配置更新命令。
27
29
 
28
30
  1. **先确认资源现状**,只看已配置资源的菜单:
29
31
 
@@ -73,7 +75,7 @@ rabetbase menu asset-update --paths "<menu-path>" --params '{"cssUrl":"https://c
73
75
  rabetbase menu asset-update --menu-ids "<menu-id>" --params '{"jsUrl":"https://cdn.example.com/app.js"}' --dry-run --format compress
74
76
  rabetbase menu asset-update --menu-ids "<menu-id>" --params '{"jsUrl":"https://cdn.example.com/app.js"}' --format compress
75
77
 
76
- # 显式更新全部菜单的 JS + CSS
78
+ # 显式更新当前宿主全部已有 resources 的菜单,不限定为某个子应用
77
79
  rabetbase menu asset-update --all --params '{"jsUrl":"https://cdn.example.com/app.js","cssUrl":"https://cdn.example.com/app.css"}' --dry-run --format compress
78
80
  rabetbase menu asset-update --all --params '{"jsUrl":"https://cdn.example.com/app.js","cssUrl":"https://cdn.example.com/app.css"}' --format compress
79
81
  ```
@@ -113,7 +115,7 @@ rabetbase menu asset-update --all --params '{"jsUrl":"https://cdn.example.com/ap
113
115
  - 只有显式传 `--load-mode` 才修改加载方式
114
116
  - 默认 `patch`;使用 `replace` 时仍会阻止无意删除已有 JS
115
117
  - patch 被更新类型已有多个资源时会拒绝,不通过 `--force` 猜测替换目标
116
- - 典型场景:新版本构建后批量更新 CDN 地址
118
+ - 典型场景:更新选定平台页面的 CDN 地址,或明确维护菜单兜底 URL;前端子应用升级优先更新共享资源
117
119
  - 交互模式会展示受影响菜单的摘要表
118
120
 
119
121
  ## 常见错误
@@ -124,7 +126,7 @@ rabetbase menu asset-update --all --params '{"jsUrl":"https://cdn.example.com/ap
124
126
  - 只想换 CSS 却显式使用 `replace`,导致已有 JS 被删除风险。
125
127
  - dry-run 已出现删除 JS warning,仍未取得用户明确确认就继续执行。
126
128
  - patch 报告同类型资源不唯一时尝试用 `--force` 绕过;应先确认完整资源集合,只有明确重写时才改用 `replace`。
127
- - 把资源 URL 修改误判为需要 `menu detail` / `config-update`;资源 URL 变更统一使用 `menu asset-update`。
129
+ - 修改菜单自己的资源 URL 时误用 `menu detail` / `config-update`;此类变更使用 `menu asset-update`。同名子应用共享资源版本另行管理。
128
130
 
129
131
  ## 参考
130
132
 
@@ -119,7 +119,7 @@ rabetbase menu list --verbose --format json
119
119
  - 修改菜单名称前确认 `id/label`;所有菜单类型统一使用 `menu rename`。
120
120
  - 显示或隐藏菜单前确认 `id/path/visible`;批量写入统一使用 `menu visibility-update`。
121
121
  - 修改 iframe/link 页面 URL 前确认 `id/url/parentId`;写入入口使用 `menu external-link-update`。
122
- - 修改微前端 JS/CSS 资源前确认当前 resources;写入入口使用 `menu asset-update`。
122
+ - 前端子应用优先用 `menu subapp-assets-status` 核查共享资源,升级使用 `menu subapp-assets-update`;平台页面或明确维护的菜单兜底资源使用 `menu asset-update`。
123
123
  - 提供稳定的菜单事实入口,避免使用底层数据源查询菜单配置。
124
124
 
125
125
  ## 不负责
@@ -127,7 +127,7 @@ rabetbase menu list --verbose --format json
127
127
  - 不做本地 `src/pages` 与线上菜单 diff;这类对比使用 `menu sync`。
128
128
  - 不做数据列表页菜单审计;dataset-scoped 页面事实使用 `page data-list-status`。
129
129
  - 不修改外链 URL;使用 `menu external-link-update`,并带旧 URL 与父级断言。
130
- - 不修改菜单资源;更新 JS / CSS 资源 URL 使用 `menu asset-update`,并先执行 dry-run。
130
+ - 不修改资源;共享子应用与独立菜单资源分别使用对应更新命令,并先执行 dry-run。
131
131
  - 不修改菜单;显示隐藏使用 `menu visibility-update`,改名使用 `menu rename`,空 folder 删除使用计划化的 `menu delete`,分组生命周期使用 `group-create/group-update/regroup-start`,写操作都必须先 dry-run。
132
132
 
133
133
  ## 参考
@@ -0,0 +1,19 @@
1
+ # menu subapp-assets-status
2
+
3
+ 只读核查指定菜单宿主中一个前端子应用的共享资源、关联菜单及回退资源。
4
+
5
+ 查询需要目标宿主应用的应用开发者或应用管理员权限;更新共享资源需要该应用的应用管理员权限。系统管理员、所属租户管理员沿用平台现有权限规则。“宿主”只表示目标应用,不是独立权限角色;其他业务应用的权限不能替代目标宿主应用的权限。
6
+
7
+ ```bash
8
+ rabetbase menu subapp-assets-status --app-name store-app --format json
9
+ ```
10
+
11
+ `--app-name` 必填,去除首尾空白后精确匹配宿主 `extend.assets[].appName` 和菜单 `extend.appName`。CLI 不从包名、目录名或应用 profile 自动推导该值;标识来源与冲突处理见[宿主前端集成指南](../guides/host-frontend-integration.md)。菜单宿主沿用 CLI 的应用选择:可用 `--appcode` / `--app` 指定,否则使用工作区默认应用或唯一应用;多应用未选定目标时提示选择。`defaultApp` 是默认应用上下文,在本命令中作为菜单宿主。前端子应用访问哪些业务 appCode 是独立关系,不根据业务应用列表遍历或批量操作。默认应用与目标宿主不同时,用参数覆盖。
12
+
13
+ 输出 `data.appCode` 是本次查询的菜单宿主,`data.appName` 是输入标识去除首尾空白后的回显,即使未匹配到配置也会返回。`sharedConfigured` 表示同名共享配置条目是否存在,`boundMenus` 表示关联菜单数量;条目存在不代表资源非空。`sharedResources` 返回该子应用共享资源;`menus[].menuFallbackResources` 返回每个关联菜单自己的资源。菜单回退资源格式异常时,该值及 `fallbackDiffers` 为 `null`,`menuFallbackError` 返回原因,不阻断有效共享资源的核查;无共享资源可用时,该菜单的 `preferredResourcesIfSupported` 也为 `null`,应报告无法判断,不能当成版本一致或空资源。
14
+
15
+ 检测资源版本时,先读取子应用共享资源;共享资源非空时优先使用,否则逐菜单使用回退资源。按 `menus[].preferredSourceIfSupported` 和 `preferredResourcesIfSupported` 与目标资源 URL 比较。`staleMenuFallbacks` 只表示菜单回退配置与共享资源有差异,不代表当前优先资源版本不一致。没有关联菜单时仍可核查 `sharedResources`,但不能据此声称页面已挂载。
16
+
17
+ 比较本地发布版本时,先按[资源版本核验](../guides/host-frontend-integration.md#子应用资源版本核验)取得可信发布记录或构建上传结果中的完整资源 URL 列表;不能仅凭 `package.json.version` 判断发布一致。缺少资源对应关系时报告无法判断,并展示已查到的配置。URL 列表相同只表示配置一致。
18
+
19
+ `hostCapabilityVerified=false` 表示未验证目标宿主的加载能力;优先级字段描述支持共享资源的宿主。不同宿主版本可能只支持菜单资源,发布前需核实目标宿主的加载行为。本命令不校验 CDN 文件内容,不更新配置;URL 一致不能代替发布验证。
@@ -0,0 +1,27 @@
1
+ # menu subapp-assets-update
2
+
3
+ 更新指定菜单宿主中一个已存在的前端子应用共享资源 URL。只替换该条目的 `resources`,保留读取到的加载方式、基础路径、其他条目以及 `extend` 中的其他配置(包括直连数据库设置)。通过 `--resources` 提供完整资源 URL 列表。
4
+
5
+ 正式写入需要目标宿主应用的应用管理员权限。系统管理员、所属租户管理员沿用平台现有权限规则。“宿主”只表示目标应用,不是独立权限角色;其他业务应用的权限不能替代目标宿主应用的权限。仅具有该应用的应用开发者权限时可以查询和预演,但不能更新;预演成功不代表具有写权限。遇到权限不足时说明所需权限,不通过逐菜单更新或切换业务 appCode 绕过。
6
+
7
+ ```bash
8
+ rabetbase menu subapp-assets-update --app-name store --resources '["https://cdn.example.com/store/2/app.js","https://cdn.example.com/store/2/app.css"]' --dry-run --format json
9
+ rabetbase menu subapp-assets-update --app-name store --resources '["https://cdn.example.com/store/2/app.js","https://cdn.example.com/store/2/app.css"]' --expected-hash <data.body.preview.expectedHash> --format json
10
+ rabetbase menu subapp-assets-status --app-name store --format json
11
+ ```
12
+
13
+ `--app-name` 必填,去除首尾空白后精确匹配宿主中已有的 `extend.assets[].appName`。标识沿用平台已有绑定,不随包名或版本变化;CLI 不自动从工程推导,来源与冲突处理见[宿主前端集成指南](../guides/host-frontend-integration.md)。菜单宿主沿用 CLI 的应用选择:可用 `--appcode` / `--app` 指定,否则使用工作区默认应用或唯一应用;多应用未选定目标时提示选择。`defaultApp` 是默认应用上下文,在本命令中作为菜单宿主。前端子应用访问哪些业务 appCode 是独立关系,不根据业务应用列表批量更新。默认应用与目标宿主不同时,用参数覆盖。
14
+
15
+ 本命令不创建子应用条目、不改名、不修改菜单绑定。已有菜单绑定但缺少共享条目时,保留原绑定和菜单资源,使用平台已有配置入口建立同名共享条目,再查询核对;不能因为共享配置缺失就自动改成逐菜单更新。
16
+
17
+ 用户要求更新“子应用版本/子应用资源”时使用本命令;只有明确要求修改菜单自身资源时才使用 `menu asset-update`。同名子应用在不同宿主下分别配置,本次只修改选中的宿主。预演与正式写入必须保持同一宿主、子应用和目标 URL 列表;修改其中任何一项后应重新预演。
18
+
19
+ 用户只给版本号或要求“从 A 升到 B”时,先按[资源版本核验](../guides/host-frontend-integration.md#子应用资源版本核验)确认完整资源 URL 和当前起点;不猜测目标 URL。起始版本不符或无法确认时先澄清,当前配置已匹配目标 URL 时不重复写入。预演指纹用于检测配置漂移,不证明当前配置对应用户指定的起始版本。
20
+
21
+ `--resources` 必填,值为资源 URL 的 JSON 字符串数组。JSON/compress 预演结果位于 `data.body.preview`,返回 `preview.appCode`、`preview.appName`、`preview.before`、`preview.after`、`preview.expectedHash`,不写入。正式结果返回 `data.appCode` 与 `data.appName` 标明实际目标。指纹同时绑定宿主、子应用、目标 URL 列表和当前应用配置;正式执行要求 `--expected-hash` 与本次输入及写前回读配置匹配,写后再次读取管理端应用并核对资源和扩展字段;URL 未变化时不重复写入。命令要求目标子应用条目唯一、应用发布状态可读、资源 URL 为绝对 HTTPS 地址且至少包含一个 JS 入口。
22
+
23
+ 现有应用更新接口整列替换 `extend`,不提供原子并发比较;预演摘要只能阻止已发生的变化,不能消除写前检查与实际写入之间的竞争窗口。更新期间应避免并发修改同一宿主配置。
24
+
25
+ CLI 的保留和回读校验范围是应用读取接口返回的配置,无法证明数据库中未被接口返回的字段得到保留。直接访问数据库不是日常更新的通用前置条件;若发现未知扩展字段或有具体证据表明接口遗漏字段,应单独协调有权限的维护人员进行只读核查,核清后再决定是否更新,不得据管理端回读声称所有数据库字段均已保留。
26
+
27
+ 服务端保存应用时可能触发独立部署自动同步,但命令仅确认管理端回读,`independentDeploymentVerified=false` 不表示目标已生效。本命令不上传文件,也不校验 CDN 文件字节;写入前需确认 CDN 资源已就绪。若写入结果或回读验证不确定,先用 `menu subapp-assets-status` 按相同宿主和子应用核查,不要直接重试。
@@ -1,33 +1,56 @@
1
1
  # menu sync
2
2
 
3
- 扫描本地 `src/pages/**/*.tsx`,把线上缺失的路由注册为平台 `procode` 菜单。
3
+ 将前端子应用工程中平台缺失的页面路由注册为 `procode` 菜单。优先读取 `src/features/routing/routes.json` 中声明的页面路由,包括 `visible: false`;没有该清单时沿用 `src/pages/**/*.tsx` 扫描。命令只注册菜单与资源引用,不上传页面源码或构建资源。
4
+
5
+ 数据列表页和自定义页面走各自的页面创建与发布流程,不使用本命令接入;操作入口见[宿主前端集成指南](../guides/host-frontend-integration.md)。
4
6
 
5
7
  > **风险等级:write** — 修改平台菜单配置。
6
8
 
7
- ## 命令
9
+ ## 默认引导:Agent 按菜单树注册
10
+
11
+ 前端子应用优先由 Agent 按业务菜单树规划,再调用 `menu sync` 注册页面并引用子应用共享资源。`menu sync` 是新旧流程共用的注册命令;作为兼容兜底保留的是手动扫描、逐菜单填写资源及原有批量操作方式。交互向导、`--yes` 全量同步、`--paths` 精确选择及默认根级创建均保持兼容,不增加 CLI 参数门禁。
12
+
13
+ 1. 读取项目路由和 `menu list --verbose` 的 `id / parentId / type / path / extend.appName`,核实菜单宿主,按[宿主前端集成指南](../guides/host-frontend-integration.md) 确定本工程的绑定,优先复用现有分组。源码目录和 URL 层次不等于业务菜单层次。
14
+ 2. 展示拟创建的菜单树,注明新增分组、页面显隐和子应用绑定。只有业务归属不明确时才询问用户;已明确的根级页面可正常创建。
15
+ 3. 缺失分组用 `menu group-create` 按父子顺序创建并回读,取得真实 ID。分组重名时按父链定位,不猜测名称对应关系。
16
+ 4. 用 `menu subapp-assets-status` 核查共享资源。子应用页面优先传 `appName`,通常不传菜单 JS/CSS。查询失败或共享资源缺失不等于用户选择了旧路径,不自动改写成逐菜单资源。
17
+ 5. Agent 默认按明确 `--paths`、`parentId` 或路由清单里的 `group` 预演和创建。不同父节点分批处理,或复用清单中能唯一匹配的分组;不要给跨组页面统一覆盖一个父节点。用户明确采用原有全量或交互流程时,沿用其选择。
18
+ 6. 用 `menu list --verbose` 回读父节点、排序、显隐及 `extend.appName` 绑定,不只按创建数量报告成功。请求结果未知时先回读,不盲目重试。已有菜单默认保留层次,移动或重组是独立操作。
19
+
20
+ 子应用版本升级使用 `menu subapp-assets-update`,不批量更新菜单 URL。共享资源与菜单兜底 URL 不同,应分别报告,不能直接判断子应用版本不一致。
21
+
22
+ ```bash
23
+ # 示例中的 42 应替换为已核实的目录 ID
24
+ rabetbase menu list --appcode <host-appcode> --verbose --format compress
25
+ rabetbase menu subapp-assets-status --appcode <host-appcode> --app-name store-app --format compress
26
+ rabetbase menu sync --appcode <host-appcode> --paths "/record-detail" --params '{"appName":"store-app","parentId":42,"visible":false}' --dry-run --format compress
27
+ rabetbase menu sync --appcode <host-appcode> --paths "/record-detail" --params '{"appName":"store-app","parentId":42,"visible":false}' --yes --format compress
28
+ ```
29
+
30
+ ## 兜底:原有终端与脚本路径
31
+
32
+ 这些用法保持兼容。没有分组信息的新页面按原行为创建到根级,不会把已有菜单打平或移动。涉及业务分组时先核对预演结果,避免误把新页面全部放到根级。
8
33
 
9
34
  ```bash
10
- # 交互模式(TTY)
35
+ # 交互向导仍可使用
11
36
  rabetbase menu sync
12
37
 
13
- # 发现待同步页面的真实 path,不写入
38
+ # 查看全部待同步页面,不写入
14
39
  rabetbase menu sync --dry-run --format json
15
40
 
16
- # 按 targetPages[].path 精确预览
17
- rabetbase menu sync --paths "<local-page-path>" --params '{"jsUrl":"https://cdn.example.com/app.js"}' --dry-run --format compress
18
-
19
- # 静默全量同步
41
+ # 原有全量同步仍可使用
20
42
  rabetbase menu sync --yes
21
43
 
22
- # 静默部分同步(预填 URL 和精确 path)
23
- rabetbase menu sync --paths "<local-page-path-1>,<local-page-path-2>" --params '{"jsUrl":"https://...js","cssUrl":"https://...css"}' --yes
44
+ # 原有指定路径、菜单资源用法仍可使用
45
+ rabetbase menu sync --paths "<local-page-path>" --params '{"jsUrl":"https://cdn.example.com/app.js"}' --dry-run --format compress
46
+ rabetbase menu sync --paths "<local-page-path>" --params '{"jsUrl":"https://cdn.example.com/app.js"}' --yes --format compress
24
47
  ```
25
48
 
26
49
  ## 参数
27
50
 
28
51
  | Flag | 类型 | 必填 | 默认 | 说明 |
29
52
  |------|------|------|------|------|
30
- | `--params <json>` | string | 否 | — | 预填 JS/CSS URL。JSON 格式:`{"jsUrl":"...","cssUrl":"..."}` |
53
+ | `--params <json>` | string | 否 | — | 可填 `jsUrl`、`cssUrl`、`appName`、`visible`、`parentId`。`visible` 为布尔值,`parentId` 为非负整数 |
31
54
  | `--paths <csv>` | string | 否 | — | 按本地页面 path 精确选择;值来自 dry-run 的 `targetPages[].path` |
32
55
  | `--yes` | boolean | 否 | — | 确认非交互执行;未传 `--paths` 时创建全部本地未上线页面 |
33
56
  | `--dry-run` | boolean | 否 | `false` | 复用真实扫描、线上 diff 和 URL 校验,返回计划但不创建菜单 |
@@ -37,7 +60,7 @@ rabetbase menu sync --paths "<local-page-path-1>,<local-page-path-2>" --params '
37
60
 
38
61
  1. **`--yes`** — 非交互同步;未传 `--paths` 时创建全部本地未在平台上的页面
39
62
  2. **`--paths` + `--yes`** — 按本地 path 精确同步指定页面
40
- 3. **TTY 交互式** — 展示名称、path 与线上状态 → checkbox 选择未注册页面 → 输入 JS/CSS URL → 确认 → 执行创建
63
+ 3. **TTY 交互式** — 展示名称、path 与线上状态 → checkbox 选择未注册页面 → 填写 JS/CSS URL 或使用已配置子应用 → 确认 → 执行创建
41
64
 
42
65
  ## 输出
43
66
 
@@ -47,12 +70,15 @@ rabetbase menu sync --paths "<local-page-path-1>,<local-page-path-2>" --params '
47
70
 
48
71
  ## 提示
49
72
 
50
- - 本地页面扫描 `src/pages` 目录
73
+ - 有 `src/features/routing/routes.json` 时只同步清单中的有效页面;每项必须有存在的 `pageFile`、一致的 `path`、非空 `label` 和布尔 `visible`。隐藏页面也必须注册菜单,`visible: false` 只控制导航显隐
74
+ - 清单可选 `group` 与 `order`。显式 `--params.parentId` 优先于清单 `group`:非零 ID 指向的节点不存在或不是当前宿主中的 folder 时拒绝,`0` 表示根节点。未指定 `parentId` 时,若提供了 `group`,则必须匹配宿主中唯一的 folder;两者均未提供时,保留原有根级创建行为
75
+ - 无清单时扫描 `src/pages`,保持原有项目兼容
51
76
  - 同步前会获取线上菜单列表做 diff
52
77
  - path 是稳定选择器,名称只用于展示;多个 path 必须全部匹配
53
- - 已在平台存在的 path 不会重复创建
78
+ - path 比较统一忽略首尾斜杠,重复选择同一路径只创建一次;已在平台存在的 path 不会重复创建
54
79
  - 交互模式下会展示 compare table(名称、path、本地与线上状态)
55
80
  - CLI 只注册菜单和资源引用,不构建、不上传源码或静态资源
81
+ - `--params.appName` 将页面绑定到菜单宿主的同名前端子应用共享资源。菜单宿主使用 CLI 当前选中的应用,支持工作区默认应用或唯一应用,也可用 `--appcode` / `--app` 覆盖;子应用访问的业务 appCode 是独立关系。子应用资源在支持该机制的宿主中优先生效;不填 JS/CSS 时 CLI 会先确认同名共享资源非空,菜单资源留空。仍须核对目标宿主支持共享资源
56
82
  - 当前 React/Vite 模板使用 `loadScriptMode=import`;资源 URL 指向已部署的 CDN 构建产物
57
83
 
58
84
  ## 参考
@@ -1,6 +1,6 @@
1
1
  # page create
2
2
 
3
- 创建 JSX 自定义页面,并同时创建菜单入口。命令固定返回 `pageType=CUSTOM`。
3
+ 创建自定义页面,并同时创建菜单入口。命令固定返回 `pageType=CUSTOM`。
4
4
 
5
5
  该命令不接受 `--page-type`。工作台、看板、门户或复杂交互仍然属于 CUSTOM 页面;`rabetbase project` 管理独立子应用工程,不是页面类型或复杂页面的兜底入口。
6
6
 
@@ -2,10 +2,12 @@
2
2
 
3
3
  异步提交或复用数据列表页(Data List Page)生成任务。
4
4
 
5
+ 生成流程会在生成页面后自动创建菜单入口,无需额外绑定子应用 appName 或执行 `menu sync`。提交成功仅表示任务已受理;跟进原任务,并核对完整页面组及对应菜单事实后,再报告页面和菜单已就绪。
6
+
5
7
  ## 命令
6
8
 
7
9
  ```bash
8
- # 默认行为:仅预览,不调用平台 API
10
+ # 默认行为:仅预览,会读取前置事实,不提交生成任务
9
11
  rabetbase page generate-start --datasetcode 097b7361b76c42bcb12b923fa5a08861 --format json
10
12
  rabetbase page generate-start --alias order --format json
11
13
  rabetbase page generate-start --datasetcode 097b7361b76c42bcb12b923fa5a08861 --dry-run --format json
@@ -22,8 +24,8 @@ rabetbase page generate-start --alias order --apply --format json
22
24
  - CLI 会先执行 `page data-list-status` 做前置判定;底层仍调用既有服务端 `standard-page-status` 接口。
23
25
  - 若允许生成且传入 `--apply`,CLI 会自动生成 `clientOperationId`,并调用 Java 侧 `generate-standard-pages/start`。
24
26
  - 提交结果固定返回 `pageType=DATA_LIST` 与 `pagePattern=CRUD_PAGE_SET`;命令不接受 `--page-type` 或 `--page-pattern`。
25
- - 返回结果里的 `operationId` 是服务端 job 主标识;`clientOperationId` 是调用方恢复 / 幂等锚点。
26
- - `query.command` 默认给出 `operationId` 查询;调用方若只保留了 `clientOperationId`,也可以用它恢复到同一条任务查询。
27
+ - 返回结果里的 `taskId` 是首选查询标识;`operationId` 用于兼容旧响应,`clientOperationId` 是调用方恢复 / 幂等锚点。
28
+ - `query.command` 优先使用 `taskId`,缺失时使用 `operationId`,再回退到 `clientOperationId`,查询时只携带其中一个标识。
27
29
  - Agent / 自动化编排优先直接复用返回值里的 `query.command`,不要自己重新拼接恢复查询命令。
28
30
  - Agent 自动化场景下,编排器应先跑一次默认预览校验候选数据集,再带 `--apply` 提交;不应直接对所有数据集跑 `--apply`。
29
31
 
@@ -21,6 +21,7 @@ rabetbase page generate-status --datasetcode 097b7361b76c42bcb12b923fa5a08861 --
21
21
 
22
22
  - 命令查询的是**任务状态**,不是页面事实。
23
23
  - 当任务进入成功终态时,CLI 会补查 `page data-list-status`,把页面事实一并附在结果里,方便你直接判断是否形成完整数据列表页组。
24
+ - 生成流程自动创建菜单入口;成功终态仍需核对完整页面组及对应菜单事实。预期菜单入口缺失时如实报告并核查,不报告整体就绪,也不自动用 `menu sync` 补建。
24
25
  - 若任务仍在 `PENDING/PROCESSING/RUNNING`,结果会保持机器可读的 `status / nextAction / query`。
25
26
  - 提交生成后保存 `taskId`、`operationId` 与 `clientOperationId`;超时、未知状态或网络失败时复用原标识查询,不重新执行 `generate-start --apply`,不得自动重提。
26
27
  - 成功终态时,页面组锚点位于 `data.dataListPageStatus.pageSets[].versionTag`。存在多个完整组、残留页或冲突时交给用户确认,不猜测 `versionTag`。
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.4-beta.4",
6
- "skillVersion": "2.5.4-beta.4",
5
+ "packageVersion": "2.5.4-beta.5",
6
+ "skillVersion": "2.5.4-beta.5",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/approval-flow-development-workflow.md",
@@ -18,6 +18,8 @@
18
18
  "guides/data-api-guidelines.md",
19
19
  "guides/database-connection-workflow.md",
20
20
  "guides/frontend-development.md",
21
+ "guides/host-frontend-integration.md",
22
+ "guides/independent-deployment.md",
21
23
  "guides/legacy-application-blueprint-workflow.md",
22
24
  "guides/menu-anomaly-manual-cleanup.md",
23
25
  "guides/page-development-workflow.md",
@@ -43,6 +45,7 @@
43
45
  "references/rabetbase-api-list.md",
44
46
  "references/rabetbase-api-pull.md",
45
47
  "references/rabetbase-app-config.md",
48
+ "references/rabetbase-app-detail.md",
46
49
  "references/rabetbase-app-list.md",
47
50
  "references/rabetbase-app-members-list.md",
48
51
  "references/rabetbase-auth-login.md",
@@ -109,6 +112,8 @@
109
112
  "references/rabetbase-menu-move.md",
110
113
  "references/rabetbase-menu-regroup-start.md",
111
114
  "references/rabetbase-menu-rename.md",
115
+ "references/rabetbase-menu-subapp-assets-status.md",
116
+ "references/rabetbase-menu-subapp-assets-update.md",
112
117
  "references/rabetbase-menu-sync.md",
113
118
  "references/rabetbase-menu-visibility-update.md",
114
119
  "references/rabetbase-notification-config-list.md",
@@ -150,5 +155,5 @@
150
155
  "references/rabetbase-user-account.md",
151
156
  "references/rabetbase-workspace.md"
152
157
  ],
153
- "digest": "e1381f35f9285560710dd0866fe6a155b9c0fed7ed937c8da8f723eafd12eaa1"
158
+ "digest": "29391368de80e9469389f4d839ddb9163d68fdb445babf794b62f90dea4ccccf"
154
159
  }