@lovrabet/rabetbase-cli 2.5.0 → 2.5.1-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 (332) 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.d.ts +7 -0
  7. package/lib/auth/auth-server.js +1 -1
  8. package/lib/auth/constant.js +1 -1
  9. package/lib/auth/get-cookie.js +1 -1
  10. package/lib/auth/get-session-user.js +1 -1
  11. package/lib/auth/is-session-valid.js +1 -1
  12. package/lib/auth/login-success-html.js +1 -1
  13. package/lib/auth/logout.js +1 -1
  14. package/lib/cli-flags.js +1 -1
  15. package/lib/cli.js +1 -1
  16. package/lib/commands/api/generate.js +1 -1
  17. package/lib/commands/api/index.js +1 -1
  18. package/lib/commands/api/list.js +1 -1
  19. package/lib/commands/api/pull.js +1 -1
  20. package/lib/commands/api/shared.js +1 -1
  21. package/lib/commands/app/index.js +1 -1
  22. package/lib/commands/app/list.js +1 -1
  23. package/lib/commands/app/members-list.js +1 -1
  24. package/lib/commands/app/remote-directory.js +1 -1
  25. package/lib/commands/app/shared.js +1 -1
  26. package/lib/commands/app-config/delete.js +1 -1
  27. package/lib/commands/app-config/get.js +1 -1
  28. package/lib/commands/app-config/index.js +1 -1
  29. package/lib/commands/app-config/list.js +1 -1
  30. package/lib/commands/app-config/set.js +1 -1
  31. package/lib/commands/app-config/shared.js +1 -1
  32. package/lib/commands/auth/index.js +1 -1
  33. package/lib/commands/bff/create.js +1 -1
  34. package/lib/commands/bff/delete.js +1 -1
  35. package/lib/commands/bff/detail.js +1 -1
  36. package/lib/commands/bff/index.js +1 -1
  37. package/lib/commands/bff/list.js +1 -1
  38. package/lib/commands/bff/pull.js +1 -1
  39. package/lib/commands/bff/push.js +1 -1
  40. package/lib/commands/bff/status.js +1 -1
  41. package/lib/commands/cli-skill/index.js +1 -1
  42. package/lib/commands/cli-update.js +1 -1
  43. package/lib/commands/codegen/index.js +1 -1
  44. package/lib/commands/codegen/sdk.js +1 -1
  45. package/lib/commands/codegen/sql.js +1 -1
  46. package/lib/commands/common/app-registry.js +1 -1
  47. package/lib/commands/common/app-selector.js +1 -1
  48. package/lib/commands/common/async-task.js +1 -1
  49. package/lib/commands/common/dry-run.js +1 -1
  50. package/lib/commands/common/flags.js +1 -1
  51. package/lib/commands/common/local-file.js +1 -1
  52. package/lib/commands/common/validate.js +1 -1
  53. package/lib/commands/config/delete.js +1 -1
  54. package/lib/commands/config/get.js +1 -1
  55. package/lib/commands/config/index.js +1 -1
  56. package/lib/commands/config/init.d.ts +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/business-group-update.js +1 -1
  62. package/lib/commands/dataset/business-groups.js +1 -1
  63. package/lib/commands/dataset/capability.js +1 -1
  64. package/lib/commands/dataset/delete.js +1 -1
  65. package/lib/commands/dataset/detail.js +1 -1
  66. package/lib/commands/dataset/extend-update.js +1 -1
  67. package/lib/commands/dataset/field-restore.d.ts +107 -0
  68. package/lib/commands/dataset/field-restore.js +1 -0
  69. package/lib/commands/dataset/field-update.js +1 -1
  70. package/lib/commands/dataset/generate.js +1 -1
  71. package/lib/commands/dataset/index.js +1 -1
  72. package/lib/commands/dataset/list.js +1 -1
  73. package/lib/commands/dataset/operations.js +1 -1
  74. package/lib/commands/dataset/relation-audit.js +1 -1
  75. package/lib/commands/dataset/relation-create.js +1 -1
  76. package/lib/commands/dataset/relation-delete.js +1 -1
  77. package/lib/commands/dataset/relation-shared.js +1 -1
  78. package/lib/commands/dataset/relation-update.js +1 -1
  79. package/lib/commands/dataset/relations.js +1 -1
  80. package/lib/commands/dataset/rename.js +1 -1
  81. package/lib/commands/dataset/restore.js +1 -1
  82. package/lib/commands/dataset/user-deleted-field-list.d.ts +36 -0
  83. package/lib/commands/dataset/user-deleted-field-list.js +1 -0
  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/auto-sync.d.ts +28 -0
  103. package/lib/commands/deployment/auto-sync.js +1 -0
  104. package/lib/commands/deployment/index.d.ts +2 -0
  105. package/lib/commands/deployment/index.js +1 -0
  106. package/lib/commands/deployment/sync.d.ts +2 -0
  107. package/lib/commands/deployment/sync.js +1 -0
  108. package/lib/commands/doctor.js +1 -1
  109. package/lib/commands/file/index.js +1 -1
  110. package/lib/commands/issue/index.js +1 -1
  111. package/lib/commands/issue/nudge.js +1 -1
  112. package/lib/commands/issue/report.js +1 -1
  113. package/lib/commands/issue/shared.js +1 -1
  114. package/lib/commands/kb/create.js +1 -1
  115. package/lib/commands/kb/delete.js +1 -1
  116. package/lib/commands/kb/detail.js +1 -1
  117. package/lib/commands/kb/index.js +1 -1
  118. package/lib/commands/kb/list.js +1 -1
  119. package/lib/commands/kb/search.js +1 -1
  120. package/lib/commands/kb/shared.js +1 -1
  121. package/lib/commands/kb/update.js +1 -1
  122. package/lib/commands/logs/index.js +1 -1
  123. package/lib/commands/menu/asset-update.js +1 -1
  124. package/lib/commands/menu/delete.js +1 -1
  125. package/lib/commands/menu/external-link-create.js +1 -1
  126. package/lib/commands/menu/external-link-update.js +1 -1
  127. package/lib/commands/menu/group-create.js +1 -1
  128. package/lib/commands/menu/group-update.js +1 -1
  129. package/lib/commands/menu/index.js +1 -1
  130. package/lib/commands/menu/list.js +1 -1
  131. package/lib/commands/menu/move.js +1 -1
  132. package/lib/commands/menu/regroup-start.js +1 -1
  133. package/lib/commands/menu/rename.js +1 -1
  134. package/lib/commands/menu/shared/compare-table.js +1 -1
  135. package/lib/commands/menu/shared/delete-plan.js +1 -1
  136. package/lib/commands/menu/shared/facts.js +1 -1
  137. package/lib/commands/menu/shared/index.js +1 -1
  138. package/lib/commands/menu/shared/inquirer.js +1 -1
  139. package/lib/commands/menu/shared/local-pages.js +1 -1
  140. package/lib/commands/menu/shared/logic.js +1 -1
  141. package/lib/commands/menu/shared/mutations.js +1 -1
  142. package/lib/commands/menu/shared/service.js +1 -1
  143. package/lib/commands/menu/shared/sync-core.js +1 -1
  144. package/lib/commands/menu/shared/update-core.js +1 -1
  145. package/lib/commands/menu/shared/valid-url.js +1 -1
  146. package/lib/commands/menu/sync.js +1 -1
  147. package/lib/commands/menu/visibility-update.js +1 -1
  148. package/lib/commands/notification/config-create.js +1 -1
  149. package/lib/commands/notification/config-delete.js +1 -1
  150. package/lib/commands/notification/config-list.js +1 -1
  151. package/lib/commands/notification/config-update.js +1 -1
  152. package/lib/commands/notification/index.js +1 -1
  153. package/lib/commands/notification/shared.js +1 -1
  154. package/lib/commands/ocr/index.js +1 -1
  155. package/lib/commands/page/create.js +1 -1
  156. package/lib/commands/page/custom/detail.js +1 -1
  157. package/lib/commands/page/custom/list.js +1 -1
  158. package/lib/commands/page/custom/publish.js +1 -1
  159. package/lib/commands/page/custom/shared.js +1 -1
  160. package/lib/commands/page/custom/syntax.js +1 -1
  161. package/lib/commands/page/custom/template.js +1 -1
  162. package/lib/commands/page/custom/update.js +1 -1
  163. package/lib/commands/page/data-list-status.js +1 -1
  164. package/lib/commands/page/generate-start.js +1 -1
  165. package/lib/commands/page/generate-status.js +1 -1
  166. package/lib/commands/page/index.js +1 -1
  167. package/lib/commands/page/pull.js +1 -1
  168. package/lib/commands/page/push.js +1 -1
  169. package/lib/commands/page/relation-audit.js +1 -1
  170. package/lib/commands/page/restore.js +1 -1
  171. package/lib/commands/page/shared.js +1 -1
  172. package/lib/commands/page/sync.js +1 -1
  173. package/lib/commands/project/create/enhanced-guided-create.js +1 -1
  174. package/lib/commands/project/create/format-elapsed.js +1 -1
  175. package/lib/commands/project/create/main.js +1 -1
  176. package/lib/commands/project/create/materialize-project-template.js +1 -1
  177. package/lib/commands/project/create/project-name.js +1 -1
  178. package/lib/commands/project/create/project-template-archive.js +1 -1
  179. package/lib/commands/project/create/project-template-path.js +1 -1
  180. package/lib/commands/project/create/use-copy-project-template.js +1 -1
  181. package/lib/commands/project/create/use-format-code.js +1 -1
  182. package/lib/commands/project/create/use-install-dependencies.js +1 -1
  183. package/lib/commands/project/index.js +1 -1
  184. package/lib/commands/project/upgrade.js +1 -1
  185. package/lib/commands/registry.js +1 -1
  186. package/lib/commands/role/delete.js +1 -1
  187. package/lib/commands/role/detail.js +1 -1
  188. package/lib/commands/role/index.js +1 -1
  189. package/lib/commands/role/list.js +1 -1
  190. package/lib/commands/role/shared.js +1 -1
  191. package/lib/commands/role/update.js +1 -1
  192. package/lib/commands/role/user-add.js +1 -1
  193. package/lib/commands/role/user-remove.js +1 -1
  194. package/lib/commands/role/user-resolve.js +1 -1
  195. package/lib/commands/run/index.js +1 -1
  196. package/lib/commands/schema.js +1 -1
  197. package/lib/commands/sql/create.js +1 -1
  198. package/lib/commands/sql/delete.js +1 -1
  199. package/lib/commands/sql/detail.js +1 -1
  200. package/lib/commands/sql/exec.js +1 -1
  201. package/lib/commands/sql/index.js +1 -1
  202. package/lib/commands/sql/list.js +1 -1
  203. package/lib/commands/sql/pull.js +1 -1
  204. package/lib/commands/sql/push.js +1 -1
  205. package/lib/commands/sql/shared.js +1 -1
  206. package/lib/commands/sql/status.js +1 -1
  207. package/lib/commands/sql/validate.js +1 -1
  208. package/lib/commands/task/index.js +1 -1
  209. package/lib/commands/task/status.js +1 -1
  210. package/lib/commands/tenant/index.js +1 -1
  211. package/lib/commands/tenant/members-list.js +1 -1
  212. package/lib/commands/tenant/shared.js +1 -1
  213. package/lib/commands/user-account/dingding-sandbox-bind.js +1 -1
  214. package/lib/commands/user-account/index.js +1 -1
  215. package/lib/commands/workspace/add.js +1 -1
  216. package/lib/commands/workspace/index.js +1 -1
  217. package/lib/commands/workspace/remove.js +1 -1
  218. package/lib/config/deployment-sync.d.ts +10 -0
  219. package/lib/config/deployment-sync.js +1 -0
  220. package/lib/config/domain-config.d.ts +1 -1
  221. package/lib/config/domain-config.js +1 -1
  222. package/lib/config/project-routing.d.ts +30 -0
  223. package/lib/config/project-routing.js +1 -0
  224. package/lib/config/schema.d.ts +1 -1
  225. package/lib/config/schema.js +1 -1
  226. package/lib/constant/cdn.js +1 -1
  227. package/lib/constant/cli.js +1 -1
  228. package/lib/constant/defaults.js +1 -1
  229. package/lib/constant/domain.d.ts +7 -2
  230. package/lib/constant/domain.js +1 -1
  231. package/lib/constant/env.js +1 -1
  232. package/lib/constant/output.js +1 -1
  233. package/lib/constant/paths.js +1 -1
  234. package/lib/constant/region.d.ts +2 -2
  235. package/lib/constant/region.js +1 -1
  236. package/lib/constant/risk.js +1 -1
  237. package/lib/constant/routing-profile.d.ts +115 -0
  238. package/lib/constant/routing-profile.js +1 -0
  239. package/lib/context/app-resolver.d.ts +2 -0
  240. package/lib/context/app-resolver.js +1 -1
  241. package/lib/context/auth-resolver.js +1 -1
  242. package/lib/context/config-loader.js +1 -1
  243. package/lib/context.js +1 -1
  244. package/lib/core/alias-resolver.js +1 -1
  245. package/lib/core/api-client.d.ts +35 -0
  246. package/lib/core/api-client.js +1 -1
  247. package/lib/core/bff/config.js +1 -1
  248. package/lib/core/bff/file-system.js +1 -1
  249. package/lib/core/bff/hash.js +1 -1
  250. package/lib/core/bff/lock.js +1 -1
  251. package/lib/core/bff/utils.js +1 -1
  252. package/lib/core/db-resolver.js +1 -1
  253. package/lib/core/page/file-system.js +1 -1
  254. package/lib/core/page/hash.js +1 -1
  255. package/lib/core/page/lock.js +1 -1
  256. package/lib/core/sql-index-auditor.js +1 -1
  257. package/lib/core/sql-sync/config.js +1 -1
  258. package/lib/core/sql-sync/file-system.js +1 -1
  259. package/lib/core/sql-sync/hash.js +1 -1
  260. package/lib/core/sql-sync/lock.js +1 -1
  261. package/lib/core/sql-sync/utils.js +1 -1
  262. package/lib/core/sql-validator.js +1 -1
  263. package/lib/errors.js +1 -1
  264. package/lib/framework/build-all-flags.js +1 -1
  265. package/lib/framework/error-output.js +1 -1
  266. package/lib/framework/explicit-yes.js +1 -1
  267. package/lib/framework/flags.js +1 -1
  268. package/lib/framework/help.js +1 -1
  269. package/lib/framework/index.js +1 -1
  270. package/lib/framework/output.js +1 -1
  271. package/lib/framework/response.js +1 -1
  272. package/lib/framework/runner-alias.js +1 -1
  273. package/lib/framework/runner.js +1 -1
  274. package/lib/framework/schema-export.js +1 -1
  275. package/lib/framework/types.d.ts +4 -0
  276. package/lib/framework/types.js +1 -1
  277. package/lib/generated/build-info.d.ts +4 -4
  278. package/lib/generated/build-info.js +1 -1
  279. package/lib/help.js +1 -1
  280. package/lib/postinstall.js +1 -1
  281. package/lib/runtime/confirmation.js +1 -1
  282. package/lib/runtime/event.js +1 -1
  283. package/lib/runtime/index.js +1 -1
  284. package/lib/runtime/queue.js +1 -1
  285. package/lib/runtime/resolve.js +1 -1
  286. package/lib/skills/builtin-skill.js +1 -1
  287. package/lib/skills/main.js +1 -1
  288. package/lib/skills/npx-skills-add.js +1 -1
  289. package/lib/skills/skill-presence.js +1 -1
  290. package/lib/telemetry/cli-command-trace.js +1 -1
  291. package/lib/telemetry/cli-help-trace.js +1 -1
  292. package/lib/telemetry/ensure-cli-otel-config.js +1 -1
  293. package/lib/telemetry/register-otel-exit-shutdown.js +1 -1
  294. package/lib/telemetry/send-cli-trace-log.js +1 -1
  295. package/lib/telemetry/send-platform-issue-collect-log.js +1 -1
  296. package/lib/utils/ai_config.js +1 -1
  297. package/lib/utils/apply-jq-filter.js +1 -1
  298. package/lib/utils/cdn-config.js +1 -1
  299. package/lib/utils/check-sdk-version.js +1 -1
  300. package/lib/utils/cli-version-check.js +1 -1
  301. package/lib/utils/cli-version-policy.js +1 -1
  302. package/lib/utils/config.js +1 -1
  303. package/lib/utils/entity-with-id.js +1 -1
  304. package/lib/utils/file-utils.js +1 -1
  305. package/lib/utils/guides-cdn.js +1 -1
  306. package/lib/utils/http-client.js +1 -1
  307. package/lib/utils/is-non-interactive.js +1 -1
  308. package/lib/utils/logger.js +1 -1
  309. package/lib/utils/params.js +1 -1
  310. package/lib/utils/platform.js +1 -1
  311. package/lib/utils/sleep.js +1 -1
  312. package/lib/utils/template-replacer.js +1 -1
  313. package/lib/utils/update-notice.js +1 -1
  314. package/lib/utils/version.js +1 -1
  315. package/lib/utils/with-active-cookie.js +1 -1
  316. package/lib/utils/write-cli-side-channel.js +1 -1
  317. package/package.json +1 -2
  318. package/skills/rabetbase/SKILL.md +20 -9
  319. package/skills/rabetbase/guides/frontend-development.md +2 -0
  320. package/skills/rabetbase/guides/sdk-client-generation.md +3 -2
  321. package/skills/rabetbase/guides/typescript-sdk.md +42 -0
  322. package/skills/rabetbase/references/rabetbase-api-pull.md +5 -3
  323. package/skills/rabetbase/references/rabetbase-config.md +9 -5
  324. package/skills/rabetbase/references/rabetbase-dataset-business-group-update.md +9 -9
  325. package/skills/rabetbase/references/rabetbase-dataset-business-groups.md +1 -1
  326. package/skills/rabetbase/references/rabetbase-dataset-field-restore.md +59 -0
  327. package/skills/rabetbase/references/rabetbase-dataset-user-deleted-field-list.md +47 -0
  328. package/skills/rabetbase/references/rabetbase-deployment-sync.md +92 -0
  329. package/skills/rabetbase/references/rabetbase-init.md +11 -5
  330. package/skills/rabetbase/references/rabetbase-project-create.md +6 -5
  331. package/skills/rabetbase.manifest.json +6 -3
  332. package/templates/README.md +13 -17
@@ -0,0 +1,92 @@
1
+ # rabetbase deployment sync
2
+
3
+ 将当前应用中指定数据库连接下的少量研发元数据同步到独立部署目标。命令只同步显式给出的业务编码,支持 `dataset`、`bff`、`sql`。
4
+
5
+ ## 使用前确认
6
+
7
+ - 已完成 rabetbase 认证,并明确目标应用的 `appCode`。
8
+ - 从可信事实中取得基础 dblink/环境连接组 ID 和业务编码,不猜测 ID 或编码。
9
+ - `--target-env` 只选择服务端维护的环境连接映射;CLI 不保存数据库 URL、账号、密码或环境到连接 ID 的映射。
10
+ - 服务端同步接口会检查目标 appCode 的一键部署开关;未开启时正常跳过,不属于异常或无权限。
11
+ - 同一批最多 100 个编码;需要分批时逐批确认结果,不并发执行。
12
+
13
+ ## 先预览
14
+
15
+ 环境部署:
16
+
17
+ ```sh
18
+ rabetbase deployment sync \
19
+ --appcode <appCode> \
20
+ --db-id <dbLinkId> \
21
+ --target-env test \
22
+ --type dataset \
23
+ --codes <code1,code2> \
24
+ --dry-run \
25
+ --format compress
26
+ ```
27
+
28
+ 直连部署:
29
+
30
+ ```sh
31
+ rabetbase deployment sync \
32
+ --appcode <appCode> \
33
+ --db-id <dbLinkId> \
34
+ --direct \
35
+ --type bff \
36
+ --codes <code1> \
37
+ --dry-run \
38
+ --format compress
39
+ ```
40
+
41
+ 检查输出中的 `data.selector.targetMode`、`data.selector.targetEnv`、`data.selector.bizType`、`data.selector.bizCodes` 和 `data.selector.dbLinkId`。dry-run 不发起同步请求。
42
+
43
+ ## 正式执行
44
+
45
+ 复用已审阅的参数,移除 `--dry-run` 并追加 `--confirm`。CI 或非交互环境还需要全局 `--yes`:
46
+
47
+ ```sh
48
+ rabetbase deployment sync \
49
+ --appcode <appCode> \
50
+ --db-id <dbLinkId> \
51
+ --target-env test \
52
+ --type dataset \
53
+ --codes <code1,code2> \
54
+ --confirm \
55
+ --yes \
56
+ --format compress
57
+ ```
58
+
59
+ ## 参数约束
60
+
61
+ - `--db-id`:正整数基础 dblink/环境连接组 ID;不是某个环境的最终连接 ID。
62
+ - `--target-env dev|test|pre|prod`:服务端环境连接映射选择器;与 `--direct` 必须且只能选择一个。
63
+ - `--type dataset|bff|sql`:同步资源类型。
64
+ - `--codes`:逗号分隔;命令 trim、过滤空项并按首次出现顺序去重,最多 100 个。
65
+ - 全局 `--env production|daily` 只决定 CLI 服务域,不是部署目标;不要用它替代 `--target-env`。
66
+
67
+ ## 结果与失败处理
68
+
69
+ - 退出码 `0`:服务端没有返回 `FAILED`;`SKIPPED`、`UNCHANGED` 等 no-op action 或空 items 均表示无需执行,不作为异常。
70
+ - 退出码 `1`:至少一个条目为 `FAILED`。读取结构化输出的 `data.items[]`,保留成功项和失败项的完整事实,不要把整批误报为失败或成功,也不要自动重提整批。
71
+ - 退出码 `2`:写请求响应丢失或响应无法证明结果。同步可能已经生效;先人工核对目标部署,再决定是否处理未完成项,禁止直接重试。
72
+
73
+ Dataset 同步会先确保目标数据库连接存在,再逐项同步 Dataset,不是跨资源原子事务。命令当前不提供目标端只读回查;部署后的业务可用性仍需单独验收。
74
+
75
+ ## 日常 BFF / SQL push 自动同步
76
+
77
+ 只有用户明确要求将日常开发变更持续同步到独立部署测试环境时,才写入 app profile:
78
+
79
+ ```sh
80
+ rabetbase workspace use --app <appName> --appcode <appCode> \
81
+ --deployment-db-id <dbLinkId> --deployment-target-env dev
82
+ ```
83
+
84
+ - 自动目标仅允许 `dev`、`test`、`pre`;生产和直连仍用显式命令并要求确认。
85
+ - 每个 app profile 只保存一个明确的自动目标,不根据 Git 分支、CLI 服务域或登录状态推断环境。
86
+ - 存在实际变更且主 push 成功后调用一次同步接口,由服务端检查 appCode 开关并按 `(dbLinkId, targetEnv)` 解析真实连接;未开启时正常 no-op,环境映射缺失则是配置错误。
87
+ - `bff push` 只同步本次上传成功且完成缓存清理的 function name。
88
+ - `sql push` 只同步本次 pushed sqlCode;未变化项不触发同步。
89
+ - Dataset 没有统一 push 入口,暂不自动同步。
90
+ - dry-run 展示配置目标和精确 code,但不发请求。
91
+ - 主 push 成功但后置同步失败时,不声称回滚主操作;只有同步请求已提交后才按 `data.deploymentSync.recoveryCommand` 人工处理。
92
+ - `partial_failure`、`failed`、`outcome_unknown` 均不得自动重试。
@@ -19,21 +19,23 @@ rabetbase config init \
19
19
  --runtime-domain https://runtime.customer.example.com \
20
20
  --skill-domain https://skills.customer.example.com \
21
21
  --kb-domain https://kb.customer.example.com \
22
- --app-domain https://app.customer.example.com
22
+ --app-domain https://app.customer.example.com \
23
+ --local-domain https://local.customer.example.com \
24
+ --certificate-domain https://cert.customer.example.com
23
25
  ```
24
26
 
25
27
  ## 交互与默认行为
26
28
 
27
29
  - 交互执行时选择 `Mainland China (cn)` 或 `Indonesia (id)`,默认选中 `cn`
28
30
  - 非交互执行时应显式传 `--region cn|id`;未传 region/Domain 时回退 `cn`
29
- - 当前只开放 `cn`、`id`;`global` 不可选择
31
+ - 当前只开放 `cn`、`id`;尚未发布的 `global` 不可选择
30
32
 
31
33
  ## 写入行为
32
34
 
33
35
  - 固定写入全局 `~/.rabetbase.json`
34
36
  - 不使用也不需要 `--global`,不能写入项目配置
35
37
  - 默认中国节点 `cn` 不写冗余 `region` 字段
36
- - 官方节点模式会清除六个显式 Domain,以及遗留的 `agentDomain` / `platformDomain` / `skillHubDomain`
38
+ - 官方节点模式会清除所有显式 Domain,以及遗留的 `agentDomain` / `platformDomain` / `skillHubDomain`
37
39
  - 独立部署模式会清除旧 `region`、显式 Domain 和遗留 Domain,再写入本次提供的 Domain
38
40
  - 保留 Cookie、AccessKey、format、locale、apps 等无关配置
39
41
  - 不负责登录,也不绑定当前项目应用
@@ -49,12 +51,16 @@ rabetbase config init \
49
51
  "runtimeDomain": "https://runtime.customer.example.com",
50
52
  "skillDomain": "https://skills.customer.example.com",
51
53
  "kbDomain": "https://kb.customer.example.com",
52
- "appDomain": "https://app.customer.example.com"
54
+ "appDomain": "https://app.customer.example.com",
55
+ "localDomain": "https://local.customer.example.com",
56
+ "certificateDomain": "https://cert.customer.example.com"
53
57
  }
54
58
  ```
55
59
 
56
60
  - 每个值必须是 HTTPS origin,不能包含账号、密码、path、query 或 fragment
57
- - 文件至少提供一个受支持 Domain;企业完整独立部署建议显式提供全部六个
61
+ - 文件至少提供一个受支持 Domain;完整独立部署应提供实际由客户部署的全部服务 Domain
62
+ - 当前所有官方节点和独立部署统一使用中国大陆 CDN 配置;User/App/Runtime 等 Lovrabet 服务 Domain 仍按节点或客户配置分别解析
63
+ - 未提供 `localDomain` / `certificateDomain` 时,本地回调使用 `http://localhost`;自定义 HTTPS 本地回调时两者必须同时提供
58
64
  - 同名 `--*-domain` flag 覆盖文件中的值
59
65
  - `--region` 与任意独立部署 Domain 互斥,不能混用
60
66
  - 未提供的 Domain 会按默认 `cn` 映射回退,因此完整独立部署不要遗漏实际由客户部署的服务入口
@@ -42,15 +42,16 @@ rabetbase project create my-project --appcode <code> --env production
42
42
  - 交互与非交互模式使用同一创建流程,都会安装依赖、格式化代码并写入项目配置
43
43
  - 项目模板从 CDN 下载并校验 SHA-256;CDN 不可用、模板不兼容或校验失败时命令停止,修复后重试
44
44
  - 新项目中的 `.rabetbase.json` **只继承**全局中的少量偏好及 `region` / Domain 路由配置,**不会**把全局的 `apps` / `defaultApp` 复制进新项目
45
- - `src/api/sdk-config.ts` 只生成浏览器可公开的非默认 SDK 路由,不会写入 `cookie`、`accessKey` 等认证配置;后续执行 `rabetbase api pull` 会按当前有效配置刷新该文件。`api.ts` / `client.ts` 仅在缺失时由 CLI 写脚手架,已有文件按 [`sdk-client-generation.md`](../guides/sdk-client-generation.md) 更新
45
+ - `src/api/sdk-config.ts` `rabetbase.routing.json` 只生成浏览器可公开的最终路由,不会写入 `cookie`、`accessKey` 等认证配置;后续执行 `rabetbase api pull` 会按当前有效配置刷新。`api.ts` / `client.ts` 仅在缺失时由 CLI 写脚手架,已有文件按 [`sdk-client-generation.md`](../guides/sdk-client-generation.md) 更新
46
46
 
47
47
  | 当前有效路由 | `src/api/sdk-config.ts` |
48
48
  |--------------|-------------------------|
49
- | 默认 CN,且没有非默认 `runtimeDomain` | `{}`,由 SDK 使用默认 CN 映射 |
50
- | ID,且没有非默认 `runtimeDomain` | `{ region: "id" }`,由 SDK 结合项目 env 选择 ID Runtime |
51
- | 非默认企业 `runtimeDomain` | `{ runtimeDomain: "https://…" }`,不再冗余写 region |
49
+ | 默认中国大陆节点 | `{}`,由 SDK 使用默认映射 |
50
+ | ID | `{ region: "id" }`,由 SDK 1.5.3+ 选择 ID Runtime |
51
+ | Global | `{ runtimeDomain: "https://runtime.lovrabet.ai" }`,兼容 SDK 1.5.3 |
52
+ | 独立部署 | `{ runtimeDomain: "https://…" }` |
52
53
 
53
- 如果显式 `runtimeDomain` 恰好等于当前 region/env SDK 内置地址,CLI 会把它视为默认值:CN 不写路由,ID 仍只写 `region: "id"`。这样生成项目不会固定当前的具体公共 URL,后续仍可跟随 SDK 的内置映射升级。
54
+ 模板依赖 SDK 1.5.3+。CLI 从统一 Routing Profile 生成 `rabetbase.routing.json`,其中只包含最终 User/App/Runtime Domain、资源策略、本地地址和证书 URL,不复制节点注册表。当前所有官方节点和独立部署统一使用中国大陆 CDN 配置,Lovrabet 服务 Domain 仍分别解析。后续执行 `rabetbase api pull` 会刷新两个路由文件。
54
55
 
55
56
  ## 参考
56
57
 
@@ -2,8 +2,8 @@
2
2
  "schemaVersion": 1,
3
3
  "name": "rabetbase",
4
4
  "packageName": "@lovrabet/rabetbase-cli",
5
- "packageVersion": "2.5.0",
6
- "skillVersion": "2.5.0",
5
+ "packageVersion": "2.5.1-beta.2",
6
+ "skillVersion": "2.5.1-beta.2",
7
7
  "files": [
8
8
  "SKILL.md",
9
9
  "guides/backend-function.md",
@@ -59,6 +59,7 @@
59
59
  "references/rabetbase-dataset-delete.md",
60
60
  "references/rabetbase-dataset-detail.md",
61
61
  "references/rabetbase-dataset-extend-update.md",
62
+ "references/rabetbase-dataset-field-restore.md",
62
63
  "references/rabetbase-dataset-field-update.md",
63
64
  "references/rabetbase-dataset-generate.md",
64
65
  "references/rabetbase-dataset-list.md",
@@ -68,6 +69,7 @@
68
69
  "references/rabetbase-dataset-relations.md",
69
70
  "references/rabetbase-dataset-rename.md",
70
71
  "references/rabetbase-dataset-restore.md",
72
+ "references/rabetbase-dataset-user-deleted-field-list.md",
71
73
  "references/rabetbase-db-analyze.md",
72
74
  "references/rabetbase-db-create.md",
73
75
  "references/rabetbase-db-delete.md",
@@ -78,6 +80,7 @@
78
80
  "references/rabetbase-db-tables.md",
79
81
  "references/rabetbase-db-test.md",
80
82
  "references/rabetbase-db-update.md",
83
+ "references/rabetbase-deployment-sync.md",
81
84
  "references/rabetbase-doctor.md",
82
85
  "references/rabetbase-file.md",
83
86
  "references/rabetbase-init.md",
@@ -132,5 +135,5 @@
132
135
  "references/rabetbase-user-account.md",
133
136
  "references/rabetbase-workspace.md"
134
137
  ],
135
- "digest": "dca9ab8c944c37266a62b08c870f666f5a3646bcc01098f2750f9b318456a477"
138
+ "digest": "11bce5b48dd571defc4c17a16fe89045ec5d55e8988f91220676c8bcb3efd2c0"
136
139
  }
@@ -9,7 +9,7 @@ templates/
9
9
  ├── README.md # 本说明文档
10
10
  ├── generate-api/ # API 生成模板
11
11
  └── projects/ # 项目模板,用于 `rabetbase project create` 命令
12
- └── sub-app-react-demo/ # React 微前端项目模板快照
12
+ └── sub-app-react-demo/ # React 微前端项目模板真源
13
13
  ```
14
14
 
15
15
  ## API 生成模板
@@ -18,33 +18,29 @@ templates/
18
18
 
19
19
  ## 项目模板
20
20
 
21
- ### 远程模板同步
21
+ ### 模板真源与 CDN 资产
22
22
 
23
- `projects/sub-app-react-demo/` 目录是从模板真源仓同步来的 CDN 构建源:
24
- **仓库地址**: https://github.com/lovrabet/sub-app-react-demo
23
+ `projects/sub-app-react-demo/` Rabetbase React 项目的仓内模板真源,也是 CDN ZIP 的唯一构建输入。
24
+ 模板能力最终沉淀到该目录;不维护额外的外部 `sub-app-react-demo` 真源或同步链路。
25
25
 
26
- #### 开发者:同步模板
26
+ #### 开发者:维护与验证模板
27
27
 
28
- 更新项目模板到最新版本:
28
+ 需要新增页面、组件或示例能力时,先从当前正式模板创建一个临时实例:
29
29
 
30
30
  ```bash
31
- npm run sync-template
31
+ npm run build:dev
32
+ node lib/cli.js project create template-test --template-source templates/projects/sub-app-react-demo
32
33
  ```
33
34
 
34
- 在提交、推送和生成 CDN ZIP 前,可先把本地工作区(包含未提交修改)转换到独立目录:
35
+ 在实例中完成开发、运行和构建验证后,明确告诉 AI 要沉淀的页面、组件、样式、依赖或配置范围。AI 仅提取这些经过确认的变更,过滤具体 AppCode、应用模型、认证信息、项目路由和本地状态,再合入正式模板。
35
36
 
36
- ```bash
37
- npm run sync-template -- --source ../sub-app-react-demo --output /tmp/sub-app-react-template
38
- ```
39
-
40
- 再使用已经准备好的模板创建调试项目:
37
+ 正式模板更新后,必须重新创建一个干净实例复验,不能把原开发实例整体覆盖回模板:
41
38
 
42
39
  ```bash
43
- node lib/cli.js project create template-test --template-source /tmp/sub-app-react-template
40
+ node lib/cli.js project create template-verify --template-source templates/projects/sub-app-react-demo
44
41
  ```
45
42
 
46
- `sync-template` 负责“原始项目 → 标准模板”,`project create --template-source` 负责
47
- “标准模板 → 新项目”,并保留普通创建的认证、AppCode、依赖安装和格式化流程。
43
+ `project create --template-source` 保留普通创建的认证、AppCode、依赖安装、格式化和项目配置流程。
48
44
  使用尚未发布的 CLI 时,先执行 `npm run build:dev`;
49
45
  使用已安装版本时,可把第二条命令换成 `rabetbase project create ...`。
50
46
 
@@ -78,7 +74,7 @@ npm run sync:cdn
78
74
 
79
75
  ## 注意事项
80
76
 
81
- - `templates/projects/sub-app-react-demo/` 是项目模板快照,不是独立 Git
77
+ - `templates/projects/sub-app-react-demo/` 是项目模板真源,不是独立 Git 仓,也不是外部仓快照
82
78
  - `rabetbase project create` 从 CDN 下载 ZIP,然后更新 `package.json` 与 `.rabetbase.json`;此仓库模板不进入 npm 发布包
83
79
  - 模板文件名必须兼容 Windows、macOS 和 Linux;禁止符号链接、大小写冲突路径和 Windows 保留名称
84
80
  - 有 AppCode 时,CLI 会重新生成 `src/api/api.ts` 和 `src/api/client.ts`