cloudcc-cli 2.3.4 → 2.3.6

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 (244) hide show
  1. package/.claude/settings.json +22 -1
  2. package/.cursor/skills/cloudcc-cli-dev/SKILL.md +175 -0
  3. package/.cursor/skills/cloudcc-dev-skill/SKILL.md +71 -0
  4. package/README.md +81 -6
  5. package/bin/cc.js +106 -28
  6. package/bin/index.js +54 -55
  7. package/mcp/cliRunner.js +11 -4
  8. package/mcp/index.js +12 -2
  9. package/mcp/tools/Application Creator/handler.js +1 -1
  10. package/mcp/tools/Approval/handler.js +3 -3
  11. package/mcp/tools/Class Creator/handler.js +2 -2
  12. package/mcp/tools/Class Detail Retriever/handler.js +1 -1
  13. package/mcp/tools/Class Editor Guide/handler.js +1 -1
  14. package/mcp/tools/Class List Retriever/handler.js +1 -1
  15. package/mcp/tools/Class Publisher/handler.js +1 -1
  16. package/mcp/tools/Class Puller/handler.js +1 -1
  17. package/mcp/tools/Client Script Detail Retriever/handler.js +1 -1
  18. package/mcp/tools/Client Script Editor Guide/handler.js +1 -1
  19. package/mcp/tools/Client Script List Retriever/handler.js +1 -1
  20. package/mcp/tools/Client Script Publisher/handler.js +1 -1
  21. package/mcp/tools/Client Script Puller/handler.js +2 -2
  22. package/mcp/tools/CloudCC Development Overview/handler.js +2 -2
  23. package/mcp/tools/Component Creator/handler.js +1 -1
  24. package/mcp/tools/Component Detail Retriever/handler.js +1 -1
  25. package/mcp/tools/Component Editor Guide/handler.js +1 -1
  26. package/mcp/tools/Component List Retriever/handler.js +1 -1
  27. package/mcp/tools/Component Publisher/handler.js +2 -2
  28. package/mcp/tools/Component Puller/handler.js +1 -1
  29. package/mcp/tools/Dev Environment Creator/handler.js +1 -1
  30. package/mcp/tools/Dev Environment Validator/handler.js +1 -1
  31. package/mcp/tools/Developer Key Setup Guide/handler.js +1 -1
  32. package/mcp/tools/JSP Migrator/handler.js +46 -0
  33. package/mcp/tools/Menu Creator/handler.js +1 -1
  34. package/mcp/tools/Object Creator/handler.js +2 -2
  35. package/mcp/tools/Object Fields Creator/handler.js +1 -1
  36. package/mcp/tools/Object Fields Retriever/handler.js +1 -1
  37. package/mcp/tools/Object List Retriever/handler.js +1 -1
  38. package/mcp/tools/Scheduled Class Creator/handler.js +1 -1
  39. package/mcp/tools/Scheduled Class Detail Retriever/handler.js +1 -1
  40. package/mcp/tools/Scheduled Class List Retriever/handler.js +1 -1
  41. package/mcp/tools/Scheduled Class Publisher/handler.js +1 -1
  42. package/mcp/tools/Scheduled Class Puller/handler.js +1 -1
  43. package/mcp/tools/Trigger Creator/handler.js +1 -1
  44. package/mcp/tools/Trigger Detail Retriever/handler.js +1 -1
  45. package/mcp/tools/Trigger Editor Guide/handler.js +1 -1
  46. package/mcp/tools/Trigger List Retriever/handler.js +1 -1
  47. package/mcp/tools/Trigger Publisher/handler.js +1 -1
  48. package/mcp/tools/Trigger Puller/handler.js +1 -1
  49. package/package.json +3 -3
  50. package/src/application/create.js +2 -2
  51. package/src/application/delete.js +2 -2
  52. package/src/application/doc.js +2 -2
  53. package/src/application/docs/devguide.md +25 -25
  54. package/src/application/docs/introduction.md +2 -2
  55. package/src/button/create.js +169 -0
  56. package/src/button/delete.js +35 -0
  57. package/src/button/doc.js +36 -0
  58. package/src/button/docs/devguide.md +133 -0
  59. package/src/button/docs/introduction.md +60 -0
  60. package/src/button/get.js +60 -0
  61. package/src/button/index.js +20 -0
  62. package/src/classes/create.js +1 -1
  63. package/src/classes/delete.js +1 -1
  64. package/src/classes/detail.js +1 -1
  65. package/src/classes/doc.js +2 -2
  66. package/src/classes/docs/devguide.md +21 -21
  67. package/src/classes/docs/introduction.md +0 -20
  68. package/src/classes/get.js +1 -1
  69. package/src/classes/publish.js +1 -1
  70. package/src/classes/pull.js +1 -1
  71. package/src/classes/pullList.js +1 -1
  72. package/src/config/doc.js +2 -2
  73. package/src/config/docs/devguide.md +15 -15
  74. package/src/customPage/create.js +2 -2
  75. package/src/customPage/delete.js +2 -2
  76. package/src/customPage/doc.js +2 -2
  77. package/src/customPage/docs/devguide.md +27 -27
  78. package/src/customPage/get.js +1 -1
  79. package/src/customSetting/create.js +1 -1
  80. package/src/customSetting/delete.js +1 -1
  81. package/src/customSetting/deleteCustomSettingField.js +1 -1
  82. package/src/customSetting/detail.js +1 -1
  83. package/src/customSetting/docs/devguide.md +9 -9
  84. package/src/customSetting/editCustomSettingField.js +1 -1
  85. package/src/customSetting/get.js +1 -1
  86. package/src/customSetting/modify.js +1 -1
  87. package/src/customSetting/saveCustomSettingField.js +1 -1
  88. package/src/fields/delete.js +2 -2
  89. package/src/fields/docs/devguide.md +14 -14
  90. package/src/fields/docs/introduction.md +3 -3
  91. package/src/globalSelectList/create.js +1 -1
  92. package/src/globalSelectList/delete.js +1 -1
  93. package/src/globalSelectList/detail.js +1 -1
  94. package/src/globalSelectList/doc.js +2 -2
  95. package/src/globalSelectList/docs/devguide.md +7 -7
  96. package/src/globalSelectList/get.js +1 -1
  97. package/src/identityProvider/create.js +78 -0
  98. package/src/identityProvider/delete.js +61 -0
  99. package/src/identityProvider/doc.js +46 -0
  100. package/src/identityProvider/docs/devguide.md +107 -0
  101. package/src/identityProvider/docs/introduction.md +31 -0
  102. package/src/identityProvider/download.js +105 -0
  103. package/src/identityProvider/get.js +70 -0
  104. package/src/identityProvider/index.js +12 -0
  105. package/src/menu/create-object.js +2 -2
  106. package/src/menu/create-page.js +2 -2
  107. package/src/menu/create-script.js +2 -2
  108. package/src/menu/create-site.js +2 -2
  109. package/src/menu/create.js +11 -11
  110. package/src/menu/delete.js +2 -2
  111. package/src/menu/doc.js +2 -2
  112. package/src/menu/docs/devguide.md +13 -13
  113. package/src/menu/docs/introduction.md +3 -3
  114. package/src/menu/get.js +1 -1
  115. package/src/object/create.js +2 -2
  116. package/src/object/delete.js +2 -2
  117. package/src/object/docs/devguide.md +11 -11
  118. package/src/pagelayout/create.js +6 -6
  119. package/src/pagelayout/delete.js +4 -4
  120. package/src/pagelayout/doc.js +2 -2
  121. package/src/pagelayout/docs/devguide.md +9 -9
  122. package/src/pagelayout/docs/introduction.md +1 -1
  123. package/src/pagelayout/get.js +4 -4
  124. package/src/permission/add.js +164 -0
  125. package/src/permission/assign.js +84 -0
  126. package/src/permission/docs/devguide.md +238 -0
  127. package/src/permission/docs/introduction.md +200 -0
  128. package/src/permission/get.js +107 -0
  129. package/src/permission/index.js +10 -0
  130. package/src/permission/remove.js +145 -0
  131. package/src/plugin/delete.js +2 -2
  132. package/src/plugin/doc.js +2 -2
  133. package/src/plugin/docs/devguide.md +29 -29
  134. package/src/profile/create.js +5 -5
  135. package/src/profile/delete.js +2 -2
  136. package/src/profile/doc.js +2 -2
  137. package/src/profile/docs/devguide.md +8 -8
  138. package/src/profile/docs/introduction.md +12 -12
  139. package/src/profile/get.js +1 -1
  140. package/src/project/docs/devguide.md +9 -8
  141. package/src/recordType/create.js +1 -1
  142. package/src/recordType/delete.js +1 -1
  143. package/src/recordType/doc.js +2 -2
  144. package/src/recordType/docs/devguide.md +10 -10
  145. package/src/recordType/editInfo.js +1 -1
  146. package/src/recordType/editSave.js +1 -1
  147. package/src/recordType/getList.js +1 -1
  148. package/src/recordType/newInfo.js +1 -1
  149. package/src/recordType/validDelete.js +1 -1
  150. package/src/res.md +1 -1
  151. package/src/role/create.js +6 -6
  152. package/src/role/delete.js +2 -2
  153. package/src/role/doc.js +2 -2
  154. package/src/role/docs/devguide.md +9 -9
  155. package/src/role/docs/introduction.md +13 -13
  156. package/src/role/get.js +1 -1
  157. package/src/scheduleJob/doc.js +1 -1
  158. package/src/scheduleJob/docs/devguide.md +6 -6
  159. package/src/scheduleJob/docs/introduction.md +6 -6
  160. package/src/script/docs/devguide.md +18 -18
  161. package/src/singleSignOn/delete.js +61 -0
  162. package/src/singleSignOn/doc.js +46 -0
  163. package/src/singleSignOn/docs/devguide.md +61 -0
  164. package/src/singleSignOn/docs/introduction.md +3 -0
  165. package/src/singleSignOn/get.js +70 -0
  166. package/src/singleSignOn/index.js +10 -0
  167. package/src/staticResource/count.js +1 -1
  168. package/src/staticResource/create.js +1 -1
  169. package/src/staticResource/delete.js +1 -1
  170. package/src/staticResource/detail.js +1 -1
  171. package/src/staticResource/docs/devguide.md +11 -11
  172. package/src/staticResource/docs/introduction.md +44 -1
  173. package/src/staticResource/get.js +1 -1
  174. package/src/timer/create.js +1 -1
  175. package/src/timer/delete.js +1 -1
  176. package/src/timer/detail.js +1 -1
  177. package/src/timer/doc.js +2 -2
  178. package/src/timer/docs/devguide.md +19 -19
  179. package/src/timer/get.js +1 -1
  180. package/src/timer/publish.js +1 -1
  181. package/src/timer/pull.js +1 -1
  182. package/src/timer/pullList.js +1 -1
  183. package/src/triggers/detail.js +1 -1
  184. package/src/triggers/doc.js +2 -2
  185. package/src/triggers/docs/devguide.md +23 -23
  186. package/src/triggers/get.js +1 -1
  187. package/src/triggers/pullList.js +1 -1
  188. package/src/user/create.js +2 -2
  189. package/src/user/delete.js +2 -2
  190. package/src/user/doc.js +2 -2
  191. package/src/user/docs/devguide.md +13 -13
  192. package/src/user/docs/introduction.md +12 -12
  193. package/src/user/get.js +1 -1
  194. package/src/user/update.js +3 -3
  195. package/src/user/view.js +2 -2
  196. package/src/validationRule/create.js +7 -7
  197. package/src/validationRule/delete.js +2 -2
  198. package/src/validationRule/doc.js +2 -2
  199. package/src/validationRule/docs/devguide.md +7 -7
  200. package/src/validationRule/docs/introduction.md +11 -11
  201. package/src/validationRule/get.js +1 -1
  202. package/src/version/actionHelp.js +25 -0
  203. package/src/version/docs.js +26 -0
  204. package/src/version/doctor.js +25 -0
  205. package/src/version/get.js +1 -1
  206. package/src/version/help.js +48 -0
  207. package/src/version/index.js +9 -2
  208. package/src/version/initHelp.js +13 -0
  209. package/src/version/listModuleCommands.js +241 -0
  210. package/src/version/stats.js +44 -0
  211. package/src/version/uninstall.js +30 -0
  212. package/src/version/update.js +13 -0
  213. package/test/application.cli.test.js +1 -1
  214. package/test/classes.cli.test.js +1 -1
  215. package/test/customSetting.cli.test.js +1 -1
  216. package/test/fields.cli.test.js +2 -2
  217. package/test/globalSelectList.cli.test.js +1 -1
  218. package/test/menu-script.cli.test.js +1 -1
  219. package/test/menu.cli.test.js +1 -1
  220. package/test/object.cli.test.js +1 -1
  221. package/test/plugin.cli.test.js +1 -1
  222. package/test/scheduleJob.cli.test.js +1 -1
  223. package/test/script.cli.test.js +1 -1
  224. package/test/staticResource.cli.test.js +1 -1
  225. package/test/timer.cli.test.js +1 -1
  226. package/test/trigger.cli.test.js +1 -1
  227. package/utils/checkVersion.js +27 -2
  228. package/utils/commandStats.js +94 -0
  229. package/utils/formatReleaseNotes.js +312 -0
  230. package/utils/readmeReleases.js +69 -0
  231. package/.cloudcc-cache.json +0 -54
  232. package/.cursor/skills/cloudcc-cli-dev.zip +0 -0
  233. package/.cursor/skills/cloudcc-dev-usage/SKILL.md +0 -68
  234. package/build/component-cc-cc-dd.common.js +0 -831
  235. package/build/component-cc-cc-dd.common.js.map +0 -1
  236. package/build/component-cc-cc-dd.css +0 -1
  237. package/build/component-cc-cc-dd.umd.js +0 -874
  238. package/build/component-cc-cc-dd.umd.js.map +0 -1
  239. package/build/component-cc-cc-dd.umd.min.js +0 -8
  240. package/build/component-cc-cc-dd.umd.min.js.map +0 -1
  241. package/build/demo.html +0 -1
  242. package/plugins/cc-cc-dd/cc-cc-dd.vue +0 -32
  243. package/plugins/cc-cc-dd/components/HelloWorld.vue +0 -11
  244. package/plugins/cc-cc-dd/config.json +0 -6
@@ -5,7 +5,7 @@ const { getPackageJson } = require("../../utils/config")
5
5
  const { postClass } = require("../../utils/http")
6
6
 
7
7
  /**
8
- * cc detail timer <name> <id>
8
+ * cloudcc detail timer <name> <id>
9
9
  * @param {string[]} argvs
10
10
  */
11
11
  async function detail(argvs) {
package/src/timer/doc.js CHANGED
@@ -32,14 +32,14 @@ function getDevGuideDoc() {
32
32
  }
33
33
 
34
34
  /**
35
- * cc doc timer <introduction|devguide>
35
+ * cloudcc doc timer <introduction|devguide>
36
36
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
37
37
  */
38
38
  function doc(argvs) {
39
39
  const subType = argvs[2];
40
40
  const key = String(subType || "").trim().toLowerCase();
41
41
  if (!key) {
42
- throw new Error("cc doc timer 需要子命令:introduction 或 devguide");
42
+ throw new Error("cloudcc doc timer 需要子命令:introduction 或 devguide");
43
43
  }
44
44
  if (key === "introduction") {
45
45
  const content = getIntroductionDoc();
@@ -10,20 +10,20 @@
10
10
 
11
11
  **允许的做法**:在 CLI 已生成的主类中,仅在上述 SOURCE 标记之间编写业务逻辑;与云端列表、详情、拉取、删除、发布相关的操作一律走命令。
12
12
 
13
- 执行命令前请确认:已完成 `cc doc project devguide` 中的环境初始化,项目根目录配置可用且包含 `accessToken`。
13
+ 执行命令前请确认:已完成 `cloudcc doc project devguide` 中的环境初始化,项目根目录配置可用且包含 `accessToken`。
14
14
 
15
15
  ### 命令总览(以代码实现为准)
16
16
 
17
17
  ```bash
18
- cc create timer <name>
19
- cc publish timer <name>
20
- cc pull timer <name>
21
- cc get timer [listQueryJson] [projectPath]
22
- cc detail timer <name>
23
- cc detail timer "" <id>
24
- cc pullList timer <id> <projectPath>
25
- cc delete timer <nameOrId> [projectPath]
26
- cc doc timer <introduction|devguide>
18
+ cloudcc create timer <name>
19
+ cloudcc publish timer <name>
20
+ cloudcc pull timer <name>
21
+ cloudcc get timer [listQueryJson] [projectPath]
22
+ cloudcc detail timer <name>
23
+ cloudcc detail timer "" <id>
24
+ cloudcc pullList timer <id> <projectPath>
25
+ cloudcc delete timer <nameOrId> [projectPath]
26
+ cloudcc doc timer <introduction|devguide>
27
27
  ```
28
28
 
29
29
  参数约定:
@@ -31,7 +31,7 @@ cc doc timer <introduction|devguide>
31
31
  - `name`:定时类名,与 `schedule/<name>/` 目录名一致。
32
32
  - `listQueryJson`:可选;列表查询 JSON 经 `encodeURI(JSON.stringify(...))` 编码后传入;不传则使用默认分页参数。
33
33
  - `projectPath`:项目根路径,可选。
34
- - `id`:线上定时类 ID。`detail` 仅查服务器时:`cc detail timer "" <id>`。`pullList` 必填。
34
+ - `id`:线上定时类 ID。`detail` 仅查服务器时:`cloudcc detail timer "" <id>`。`pullList` 必填。
35
35
  - `nameOrId`:本地目录名或类 ID;若本地 `config.json` 含 `id`,删除时优先使用该 ID。
36
36
 
37
37
  ### 命令作用摘要
@@ -51,29 +51,29 @@ cc doc timer <introduction|devguide>
51
51
 
52
52
  ```bash
53
53
  # 1) 查看线上已有定时类(可选)
54
- cc get timer
54
+ cloudcc get timer
55
55
 
56
56
  # 2) 新建定时类(仅通过 create 生成目录与模板)
57
- cc create timer MySchedule
57
+ cloudcc create timer MySchedule
58
58
 
59
59
  # 3) 编辑 schedule/MySchedule/MySchedule.java 中 SOURCE 区域后发布
60
- cc publish timer MySchedule
60
+ cloudcc publish timer MySchedule
61
61
 
62
62
  # 4) 与服务器对齐时拉取
63
- cc pull timer MySchedule
63
+ cloudcc pull timer MySchedule
64
64
 
65
65
  # 5) 按已知线上 ID 拉到指定项目
66
- cc pullList timer <线上类ID> <projectPath>
66
+ cloudcc pullList timer <线上类ID> <projectPath>
67
67
 
68
68
  # 6) 删除
69
- cc delete timer MySchedule
69
+ cloudcc delete timer MySchedule
70
70
  ```
71
71
 
72
72
  ### 文档子命令
73
73
 
74
74
  ```bash
75
- cc doc timer introduction
76
- cc doc timer devguide
75
+ cloudcc doc timer introduction
76
+ cloudcc doc timer devguide
77
77
  ```
78
78
 
79
79
  仅支持 `introduction` 与 `devguide`。
package/src/timer/get.js CHANGED
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config")
2
2
  const { postClass } = require("../../utils/http")
3
3
 
4
4
  /**
5
- * cc get timer [listQueryJson] [projectPath]
5
+ * cloudcc get timer [listQueryJson] [projectPath]
6
6
  * @param {string[]} argvs
7
7
  */
8
8
  async function get(argvs, isMcp = false) {
@@ -8,7 +8,7 @@ const { javaContentRegular } = require("../../utils/utils")
8
8
  const { getPackageJson } = require("../../utils/config")
9
9
  const { postClass } = require("../../utils/http")
10
10
  /**
11
- * cc publish timer <name>
11
+ * cloudcc publish timer <name>
12
12
  * @param {string[]} argvs
13
13
  */
14
14
  async function publish(argvs) {
package/src/timer/pull.js CHANGED
@@ -9,7 +9,7 @@ const { getPackageJson } = require("../../utils/config")
9
9
  const { postClass } = require("../../utils/http")
10
10
 
11
11
  /**
12
- * cc pull timer <name>
12
+ * cloudcc pull timer <name>
13
13
  * @param {string[]} argvs
14
14
  */
15
15
  async function pull(argvs) {
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
4
4
  const { postClass } = require("../../utils/http");
5
5
 
6
6
  /**
7
- * cc pullList timer <id> <projectPath>
7
+ * cloudcc pullList timer <id> <projectPath>
8
8
  * @param {string[]} argvs
9
9
  */
10
10
  async function pullList(argvs, isMcp = false) {
@@ -5,7 +5,7 @@ const { getPackageJson } = require("../../utils/config")
5
5
  const { postClass } = require("../../utils/http")
6
6
 
7
7
  /**
8
- * cc detail triggers <namePath> <id>
8
+ * cloudcc detail triggers <namePath> <id>
9
9
  * @param {string[]} argvs [detail, type, namePath?, id?]
10
10
  */
11
11
  async function detail(argvs) {
@@ -38,14 +38,14 @@ function getDevGuideDoc() {
38
38
  }
39
39
 
40
40
  /**
41
- * cc doc triggers <introduction|devguide>
41
+ * cloudcc doc triggers <introduction|devguide>
42
42
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
43
43
  */
44
44
  function doc(argvs) {
45
45
  const subType = argvs[2];
46
46
  const key = String(subType || "").trim().toLowerCase();
47
47
  if (!key) {
48
- throw new Error("cc doc triggers 需要子命令:introduction 或 devguide");
48
+ throw new Error("cloudcc doc triggers 需要子命令:introduction 或 devguide");
49
49
  }
50
50
  if (key === "introduction") {
51
51
  const content = getIntroductionDoc();
@@ -12,20 +12,20 @@
12
12
 
13
13
  **允许的做法**:在 CLI 已生成的主类中,仅在上述 SOURCE 标记之间编写业务逻辑;与云端列表、详情、拉取、删除、发布相关的操作一律走命令。
14
14
 
15
- 执行命令前请确认:已完成 `cc doc project devguide` 中的环境初始化,项目根目录配置可用且包含 `accessToken`。创建触发器前通常需要先通过 `cc get object ...` 等拿到目标对象的 `schemetableName`、`targetObjectId`(见下文物「创建」示例)。
15
+ 执行命令前请确认:已完成 `cloudcc doc project devguide` 中的环境初始化,项目根目录配置可用且包含 `accessToken`。创建触发器前通常需要先通过 `cloudcc get object ...` 等拿到目标对象的 `schemetableName`、`targetObjectId`(见下文物「创建」示例)。
16
16
 
17
17
  ### 命令总览(以代码实现为准)
18
18
 
19
19
  ```bash
20
- cc create triggers <encodedCreateJson>
21
- cc publish triggers <namePath>
22
- cc pull triggers <namePath>
23
- cc get triggers <listQueryJson> [projectPath]
24
- cc detail triggers <namePath>
25
- cc detail triggers "" <id>
26
- cc pullList triggers <id> <projectPath>
27
- cc delete triggers <namePathOrId> [projectPath]
28
- cc doc triggers <introduction|devguide>
20
+ cloudcc create triggers <encodedCreateJson>
21
+ cloudcc publish triggers <namePath>
22
+ cloudcc pull triggers <namePath>
23
+ cloudcc get triggers <listQueryJson> [projectPath]
24
+ cloudcc detail triggers <namePath>
25
+ cloudcc detail triggers "" <id>
26
+ cloudcc pullList triggers <id> <projectPath>
27
+ cloudcc delete triggers <namePathOrId> [projectPath]
28
+ cloudcc doc triggers <introduction|devguide>
29
29
  ```
30
30
 
31
31
  参数约定:
@@ -39,7 +39,7 @@ cc doc triggers <introduction|devguide>
39
39
  - `namePath`:**对象目录/触发器名**,与本地路径一致,例如 `account/MyTrigger`(`schemetableName` 小写 + `/` + `name`)。`publish`、`pull`、`delete`(按路径删除时)均使用该形式。
40
40
  - `listQueryJson`:列表查询 JSON,经 `encodeURI(JSON.stringify(...))` 编码后传入(**必填**,实现上无默认空查询)。
41
41
  - `projectPath`:项目根路径,可选。
42
- - `id`:线上触发器 ID。`detail` 仅查服务器:`cc detail triggers "" <id>`。
42
+ - `id`:线上触发器 ID。`detail` 仅查服务器:`cloudcc detail triggers "" <id>`。
43
43
  - `namePathOrId`:可为 `对象小写/触发器名` 形式的路径;若本地 `config.json` 含 `id`,删除时优先用该 ID。
44
44
 
45
45
  ### 命令作用摘要
@@ -57,7 +57,7 @@ cc doc triggers <introduction|devguide>
57
57
 
58
58
  ### 创建示例(需先准备对象信息)
59
59
 
60
- 先构造对象(字段与平台约定一致),再整段做 `encodeURI(JSON.stringify(...))`,作为 `cc create triggers` 的**唯一参数**:
60
+ 先构造对象(字段与平台约定一致),再整段做 `encodeURI(JSON.stringify(...))`,作为 `cloudcc create triggers` 的**唯一参数**:
61
61
 
62
62
  ```json
63
63
  {
@@ -75,38 +75,38 @@ cc doc triggers <introduction|devguide>
75
75
  node -p "encodeURI(JSON.stringify({schemetableName:'Account',targetObjectId:'<对象ID>',triggerTime:'beforeInsert',name:'MyTrigger',apiname:'NTrigger_xxx'}))"
76
76
  ```
77
77
 
78
- 将命令输出的**一整行**传给:`cc create triggers '<粘贴>'`。
78
+ 将命令输出的**一整行**传给:`cloudcc create triggers '<粘贴>'`。
79
79
 
80
80
  ### 推荐操作顺序
81
81
 
82
82
  ```bash
83
83
  # 1) 查询自定义对象,取得 schemetableName、targetObjectId(示例)
84
- cc get object . custom
84
+ cloudcc get object . custom
85
85
 
86
86
  # 2) 创建本地触发器目录与模板(encodedCreateJson 见上文)
87
- cc create triggers '<encodedCreateJson>'
87
+ cloudcc create triggers '<encodedCreateJson>'
88
88
 
89
89
  # 3) 编辑 triggers/<对象小写>/<name>/<name>.java 中 SOURCE 后发布
90
- cc publish triggers account/MyTrigger
90
+ cloudcc publish triggers account/MyTrigger
91
91
 
92
92
  # 4) 与服务器对齐
93
- cc pull triggers account/MyTrigger
93
+ cloudcc pull triggers account/MyTrigger
94
94
 
95
95
  # 5) 列表(查询 JSON 需 encodeURI)
96
- cc get triggers '<listQueryJson>' .
96
+ cloudcc get triggers '<listQueryJson>' .
97
97
 
98
98
  # 6) 按线上 ID 拉到指定项目
99
- cc pullList triggers <线上触发器ID> <projectPath>
99
+ cloudcc pullList triggers <线上触发器ID> <projectPath>
100
100
 
101
101
  # 7) 删除
102
- cc delete triggers account/MyTrigger
102
+ cloudcc delete triggers account/MyTrigger
103
103
  ```
104
104
 
105
105
  ### 文档子命令
106
106
 
107
107
  ```bash
108
- cc doc triggers introduction
109
- cc doc triggers devguide
108
+ cloudcc doc triggers introduction
109
+ cloudcc doc triggers devguide
110
110
  ```
111
111
 
112
112
  仅支持 `introduction` 与 `devguide`。
@@ -399,7 +399,7 @@ System.out.println("记录 ID:" + record.get("id"));
399
399
 
400
400
  ### 8.3 触发器开发 Checklist
401
401
 
402
- - [ ] 本地 `triggers/` 目录仅通过 `cc create` / `cc pull` / `cc pullList` / `cc publish` / `cc delete` 等命令维护,不手造路径、不手改 `config.json` 的 `id`
402
+ - [ ] 本地 `triggers/` 目录仅通过 `cloudcc create` / `cloudcc pull` / `cloudcc pullList` / `cloudcc publish` / `cloudcc delete` 等命令维护,不手造路径、不手改 `config.json` 的 `id`
403
403
  - [ ] 明确触发时机(before/after/approval)
404
404
  - [ ] 评估并规避递归触发风险
405
405
  - [ ] 添加异常处理与关键日志
@@ -2,7 +2,7 @@ const { getPackageJson } = require("../../utils/config")
2
2
  const { postClass } = require("../../utils/http")
3
3
 
4
4
  /**
5
- * cc get triggers <listQueryJson> [projectPath]
5
+ * cloudcc get triggers <listQueryJson> [projectPath]
6
6
  * @param {string[]} argvs
7
7
  */
8
8
  async function get(argvs, isMcp = false) {
@@ -7,7 +7,7 @@ const { getPackageJson } = require("../../utils/config");
7
7
  const { postClass } = require("../../utils/http");
8
8
 
9
9
  /**
10
- * cc pullList triggers <id> <projectPath>
10
+ * cloudcc pullList triggers <id> <projectPath>
11
11
  * @param {string[]} argvs
12
12
  */
13
13
  async function pullList(argvs, isMcp = false) {
@@ -462,13 +462,13 @@ async function quickCreate(userName, profileId, email, config, fieldConfig) {
462
462
 
463
463
  /**
464
464
  * 创建用户
465
- * 用法:cc create user <path> [userName] [profileId] [email]
465
+ * 用法:cloudcc create user <path> [userName] [profileId] [email]
466
466
  * @param {Array} argvs - 命令行参数数组
467
467
  * @returns {Promise<Object>} 创建结果
468
468
  */
469
469
  async function create(argvs) {
470
470
  try {
471
- // 命令行参数格式:cc create user <path> [userName] [profileId] [email]
471
+ // 命令行参数格式:cloudcc create user <path> [userName] [profileId] [email]
472
472
  const projectPath = argvs[2] || process.cwd();
473
473
  const userName = argvs[3];
474
474
  const profileId = argvs[4];
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
4
4
 
5
5
  /**
6
6
  * 删除用户
7
- * 用法:cc delete user <projectPath> <userId>
7
+ * 用法:cloudcc delete user <projectPath> <userId>
8
8
  */
9
9
  async function remove(argvs) {
10
10
  try {
@@ -14,7 +14,7 @@ async function remove(argvs) {
14
14
  if (!userId) {
15
15
  console.error();
16
16
  console.error(chalk.red("Error: 缺少用户 ID"));
17
- console.error(chalk.yellow("用法: cc delete user <projectPath> <userId>"));
17
+ console.error(chalk.yellow("用法: cloudcc delete user <projectPath> <userId>"));
18
18
  console.error();
19
19
  throw new Error("缺少必需参数: userId");
20
20
  }
package/src/user/doc.js CHANGED
@@ -21,14 +21,14 @@ function getDevGuideDoc() {
21
21
  }
22
22
 
23
23
  /**
24
- * cc doc user <introduction|devguide>
24
+ * cloudcc doc user <introduction|devguide>
25
25
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
26
26
  */
27
27
  function doc(argvs) {
28
28
  const subType = argvs[2];
29
29
  const key = String(subType || "").trim().toLowerCase();
30
30
  if (!key) {
31
- throw new Error("cc doc user 需要子命令:introduction 或 devguide");
31
+ throw new Error("cloudcc doc user 需要子命令:introduction 或 devguide");
32
32
  }
33
33
  if (key === "introduction") {
34
34
  const content = getIntroductionDoc();
@@ -15,7 +15,7 @@
15
15
  ### 创建用户
16
16
 
17
17
  ```bash
18
- cc create user <path> <userName> <profileId> [email]
18
+ cloudcc create user <path> <userName> <profileId> [email]
19
19
  ```
20
20
 
21
21
  **参数说明:**
@@ -31,16 +31,16 @@ cc create user <path> <userName> <profileId> [email]
31
31
 
32
32
  ```bash
33
33
  # 创建用户
34
- cc create user . "张三" a0I9D000000XXXXUAI
34
+ cloudcc create user . "张三" a0I9D000000XXXXUAI
35
35
 
36
36
  # 创建带邮箱的用户
37
- cc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
37
+ cloudcc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
38
38
  ```
39
39
 
40
40
  ### 查询用户列表
41
41
 
42
42
  ```bash
43
- cc get user <projectPath> [encodedCondJson]
43
+ cloudcc get user <projectPath> [encodedCondJson]
44
44
  ```
45
45
 
46
46
  **参数说明:**
@@ -62,28 +62,28 @@ cc get user <projectPath> [encodedCondJson]
62
62
 
63
63
  ```bash
64
64
  # 获取所有用户
65
- cc get user .
65
+ cloudcc get user .
66
66
 
67
67
  # 带查询条件(搜索关键词)
68
- cc get user . '%7B%22keyword%22%3A%22张三%22%2C%22limit%22%3A50%7D'
68
+ cloudcc get user . '%7B%22keyword%22%3A%22张三%22%2C%22limit%22%3A50%7D'
69
69
  ```
70
70
 
71
71
  ### 查看单个用户详情
72
72
 
73
73
  ```bash
74
- cc view user <projectPath> <userId>
74
+ cloudcc view user <projectPath> <userId>
75
75
  ```
76
76
 
77
77
  **示例:**
78
78
 
79
79
  ```bash
80
- cc view user . 00520260C00C6FEfsMnT
80
+ cloudcc view user . 00520260C00C6FEfsMnT
81
81
  ```
82
82
 
83
83
  ### 编辑/禁用用户
84
84
 
85
85
  ```bash
86
- cc update user <projectPath> <userDataJson>
86
+ cloudcc update user <projectPath> <userDataJson>
87
87
  ```
88
88
 
89
89
  **userDataJson 关键字段:**
@@ -103,20 +103,20 @@ cc update user <projectPath> <userDataJson>
103
103
 
104
104
  ```bash
105
105
  # 禁用用户
106
- cc update user . '%7B%22id%22%3A%22xxx%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22false%22%7D'
106
+ cloudcc update user . '%7B%22id%22%3A%22xxx%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22false%22%7D'
107
107
 
108
108
  # 启用用户
109
- cc update user . '%7B%22id%22%3A%22xxx%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22true%22%7D'
109
+ cloudcc update user . '%7B%22id%22%3A%22xxx%22%2C%22loginName%22%3A%22test%40cloudcc.com%22%2C%22isusing%22%3A%22true%22%7D'
110
110
  ```
111
111
 
112
112
  ### 删除用户
113
113
 
114
114
  ```bash
115
- cc delete user <projectPath> <userId>
115
+ cloudcc delete user <projectPath> <userId>
116
116
  ```
117
117
 
118
118
  **示例:**
119
119
 
120
120
  ```bash
121
- cc delete user . 00520260C00C6FEfsMnT
121
+ cloudcc delete user . 00520260C00C6FEfsMnT
122
122
  ```
@@ -23,7 +23,7 @@
23
23
  创建一个新的 CloudCC 用户。
24
24
 
25
25
  ```bash
26
- cc create user <path> <userName> <profileId> [email]
26
+ cloudcc create user <path> <userName> <profileId> [email]
27
27
  ```
28
28
 
29
29
  **参数说明:**
@@ -39,10 +39,10 @@ cc create user <path> <userName> <profileId> [email]
39
39
 
40
40
  ```bash
41
41
  # 创建用户
42
- cc create user . "张三" a0I9D000000XXXXUAI
42
+ cloudcc create user . "张三" a0I9D000000XXXXUAI
43
43
 
44
44
  # 创建带邮箱的用户
45
- cc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
45
+ cloudcc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
46
46
  ```
47
47
 
48
48
  ---
@@ -52,7 +52,7 @@ cc create user . "李四" a0I9D000000XXXXUAI "lisi@example.com"
52
52
  获取当前环境中的所有用户列表。
53
53
 
54
54
  ```bash
55
- cc get user <projectPath> [encodedCondJson]
55
+ cloudcc get user <projectPath> [encodedCondJson]
56
56
  ```
57
57
 
58
58
  **参数说明:**
@@ -66,10 +66,10 @@ cc get user <projectPath> [encodedCondJson]
66
66
 
67
67
  ```bash
68
68
  # 获取所有用户
69
- cc get user .
69
+ cloudcc get user .
70
70
 
71
71
  # 带查询条件
72
- cc get user . '%7B%22status%22%3A%22active%22%7D'
72
+ cloudcc get user . '%7B%22status%22%3A%22active%22%7D'
73
73
  ```
74
74
 
75
75
  ---
@@ -79,7 +79,7 @@ cc get user . '%7B%22status%22%3A%22active%22%7D'
79
79
  删除指定的用户。
80
80
 
81
81
  ```bash
82
- cc delete user <projectPath> <userId>
82
+ cloudcc delete user <projectPath> <userId>
83
83
  ```
84
84
 
85
85
  **参数说明:**
@@ -93,7 +93,7 @@ cc delete user <projectPath> <userId>
93
93
 
94
94
  ```bash
95
95
  # 删除指定用户
96
- cc delete user . a0I9D000000XXXXUAI
96
+ cloudcc delete user . a0I9D000000XXXXUAI
97
97
  ```
98
98
 
99
99
  ---
@@ -107,16 +107,16 @@ cc delete user . a0I9D000000XXXXUAI
107
107
  cat cloudcc-cli.config.js
108
108
 
109
109
  # 2. 查询可用简档,确定要分配的权限
110
- cc get profile .
110
+ cloudcc get profile .
111
111
 
112
112
  # 3. 创建新用户
113
- cc create user . "王五" a0I9D000000XXXXUAI "wangwu@example.com"
113
+ cloudcc create user . "王五" a0I9D000000XXXXUAI "wangwu@example.com"
114
114
 
115
115
  # 4. 验证用户创建成功
116
- cc get user .
116
+ cloudcc get user .
117
117
 
118
118
  # 5. 如需删除
119
- # cc delete user . <userId>
119
+ # cloudcc delete user . <userId>
120
120
  ```
121
121
 
122
122
  ---
package/src/user/get.js CHANGED
@@ -41,7 +41,7 @@ async function getUserViewId(config) {
41
41
 
42
42
  /**
43
43
  * 查询用户列表
44
- * 用法:cc get user <projectPath> [encodedCondJson]
44
+ * 用法:cloudcc get user <projectPath> [encodedCondJson]
45
45
  */
46
46
  async function get(argvs, isMcp = false) {
47
47
  const projectPath = argvs[2] || process.cwd();
@@ -4,7 +4,7 @@ const chalk = require("chalk");
4
4
 
5
5
  /**
6
6
  * 编辑/禁用用户
7
- * 用法:cc update user <projectPath> <userDataJson>
7
+ * 用法:cloudcc update user <projectPath> <userDataJson>
8
8
  * @param {Array} argvs - 命令行参数数组
9
9
  * @returns {Promise<Object>} 更新结果
10
10
  */
@@ -16,8 +16,8 @@ async function update(argvs) {
16
16
  if (!userDataArg) {
17
17
  console.error();
18
18
  console.error(chalk.red("Error: 缺少用户数据"));
19
- console.error(chalk.yellow("用法: cc update user <projectPath> <userDataJson>"));
20
- console.error(chalk.yellow("示例: cc update user . '{\"id\":\"xxx\",\"loginName\":\"test@example.com\",\"isusing\":\"false\"}'"));
19
+ console.error(chalk.yellow("用法: cloudcc update user <projectPath> <userDataJson>"));
20
+ console.error(chalk.yellow("示例: cloudcc update user . '{\"id\":\"xxx\",\"loginName\":\"test@example.com\",\"isusing\":\"false\"}'"));
21
21
  console.error();
22
22
  throw new Error("缺少必需参数: userDataJson");
23
23
  }
package/src/user/view.js CHANGED
@@ -4,7 +4,7 @@ const chalk = require("chalk");
4
4
 
5
5
  /**
6
6
  * 查看单个用户详情
7
- * 用法:cc view user <projectPath> <userId>
7
+ * 用法:cloudcc view user <projectPath> <userId>
8
8
  */
9
9
  async function view(argvs, isMcp = false) {
10
10
  try {
@@ -14,7 +14,7 @@ async function view(argvs, isMcp = false) {
14
14
  if (!userId) {
15
15
  console.error();
16
16
  console.error(chalk.red("Error: 缺少用户 ID"));
17
- console.error(chalk.yellow("用法: cc view user <projectPath> <userId>"));
17
+ console.error(chalk.yellow("用法: cloudcc view user <projectPath> <userId>"));
18
18
  console.error();
19
19
  throw new Error("缺少必需参数: userId");
20
20
  }
@@ -5,7 +5,7 @@ const { getPackageJson } = require("../../utils/config");
5
5
 
6
6
  /**
7
7
  * 创建验证规则
8
- * 用法:cc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]
8
+ * 用法:cloudcc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]
9
9
  * 流程:
10
10
  * 1. 调用 validateRule/queryByPrefix 获取对象ID和现有规则列表
11
11
  * 2. 交互式输入规则名称、规则内容、错误信息(未指定时)
@@ -15,7 +15,7 @@ const { getPackageJson } = require("../../utils/config");
15
15
  */
16
16
  async function create(argvs) {
17
17
  try {
18
- // 命令行参数格式:cc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]
18
+ // 命令行参数格式:cloudcc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]
19
19
  const projectPath = argvs[2] || process.cwd();
20
20
  const objectPrefix = argvs[3];
21
21
  let ruleName = argvs[4] || '';
@@ -25,10 +25,10 @@ async function create(argvs) {
25
25
  if (!objectPrefix) {
26
26
  console.error();
27
27
  console.error(chalk.red('Error: 缺少对象前缀'));
28
- console.error('用法: cc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]');
28
+ console.error('用法: cloudcc create validationRule <path> <objectPrefix> [ruleName] [ruleContent] [errorMessage]');
29
29
  console.error('示例:');
30
- console.error(' cc create validationRule . "b00" # 交互式输入所有信息');
31
- console.error(' cc create validationRule . "b00" "规则1" "Batch_Size__c__f==5" "数量必须是5"');
30
+ console.error(' cloudcc create validationRule . "b00" # 交互式输入所有信息');
31
+ console.error(' cloudcc create validationRule . "b00" "规则1" "Batch_Size__c__f==5" "数量必须是5"');
32
32
  console.error();
33
33
  throw new Error('缺少必需参数: objectPrefix');
34
34
  }
@@ -121,12 +121,12 @@ async function create(argvs) {
121
121
  };
122
122
 
123
123
  const saveRes = await postClass(
124
- config.setupSvc + "/api/validateRule/validateFunction",
124
+ config.setupSvc + "/api/validateRule/save",
125
125
  validateData,
126
126
  config.accessToken
127
127
  );
128
128
 
129
- if (saveRes && saveRes.result) {
129
+ if (saveRes && (saveRes.result === true || saveRes.result === "true" || saveRes.returnCode === "1")) {
130
130
  console.error();
131
131
  console.error(chalk.green('Success! Validation rule created.'));
132
132
  console.error(` 规则名称: ${ruleName}`);
@@ -4,7 +4,7 @@ const { getPackageJson } = require("../../utils/config");
4
4
 
5
5
  /**
6
6
  * 删除验证规则
7
- * 用法:cc delete validationRule <projectPath> <ruleId>
7
+ * 用法:cloudcc delete validationRule <projectPath> <ruleId>
8
8
  */
9
9
  async function remove(argvs) {
10
10
  try {
@@ -14,7 +14,7 @@ async function remove(argvs) {
14
14
  if (!ruleId) {
15
15
  console.error();
16
16
  console.error(chalk.red("Error: 缺少规则 ID"));
17
- console.error(chalk.yellow("用法: cc delete validationRule <projectPath> <ruleId>"));
17
+ console.error(chalk.yellow("用法: cloudcc delete validationRule <projectPath> <ruleId>"));
18
18
  console.error();
19
19
  throw new Error("缺少必需参数: ruleId");
20
20
  }
@@ -21,14 +21,14 @@ function getDevGuideDoc() {
21
21
  }
22
22
 
23
23
  /**
24
- * cc doc validationRule <introduction|devguide>
24
+ * cloudcc doc validationRule <introduction|devguide>
25
25
  * @param {string[]} argvs [doc, type, introduction|devguide, ...]
26
26
  */
27
27
  function doc(argvs) {
28
28
  const subType = argvs[2];
29
29
  const key = String(subType || "").trim().toLowerCase();
30
30
  if (!key) {
31
- throw new Error("cc doc validationRule 需要子命令:introduction 或 devguide");
31
+ throw new Error("cloudcc doc validationRule 需要子命令:introduction 或 devguide");
32
32
  }
33
33
  if (key === "introduction") {
34
34
  const content = getIntroductionDoc();