cloudcc-cli 2.2.5 → 2.2.7
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.
- package/.cloudcc-cache.json +38 -0
- package/README.md +1435 -522
- package/bin/cc.js +7 -2
- package/bin/index.js +4 -0
- package/java/com/cloudcc/core/BaseException.java +100 -0
- package/java/com/cloudcc/core/BusiException.java +43 -0
- package/java/com/cloudcc/core/CCService.java +3 -1
- package/java/com/cloudcc/core/StringUtils.java +7 -0
- package/java/com/cloudcc/core/TimeUtil.java +33 -0
- package/java/com/cloudcc/core/UserInfo.java +9 -0
- package/package.json +7 -1
- package/pom.xml +1 -1
- package/skill/BACKEND_CODE.md +114 -0
- package/skill/CLI_CHEATSHEET.md +90 -0
- package/skill/INSTALL_AND_BOOTSTRAP.md +59 -0
- package/skill/OBJECTS_AND_FIELDS.md +120 -0
- package/skill/REQUIREMENTS_BREAKDOWN.md +98 -0
- package/skill/SKILL.md +33 -0
- package/skill/VUE_CUSTOM_COMPONENT.md +50 -0
- package/src/api/backend-sdk-java.md +427 -0
- package/src/api/ccdk-sdk.md +1039 -0
- package/src/application/create.js +114 -0
- package/src/application/get.js +13 -0
- package/src/application/index.js +8 -0
- package/src/classes/doc.js +486 -0
- package/src/classes/index.js +1 -0
- package/src/mcp/cliRunner.js +61 -0
- package/src/mcp/index.js +84 -12
- package/src/mcp/readme.md +6 -3
- package/src/mcp/tools/Application Creator/handler.js +78 -0
- package/src/mcp/tools/Approval/handler.js +34 -151
- package/src/mcp/tools/Class Creator/handler.js +18 -15
- package/src/mcp/tools/Class Detail Retriever/handler.js +8 -9
- package/src/mcp/tools/Class Editor Guide/handler.js +5 -19
- package/src/mcp/tools/Class List Retriever/handler.js +8 -3
- package/src/mcp/tools/Class Publisher/handler.js +7 -9
- package/src/mcp/tools/Class Puller/handler.js +6 -65
- package/src/mcp/tools/Client Script Detail Retriever/handler.js +12 -18
- package/src/mcp/tools/Client Script Editor Guide/handler.js +9 -605
- package/src/mcp/tools/Client Script List Retriever/handler.js +30 -33
- package/src/mcp/tools/Client Script Publisher/handler.js +12 -11
- package/src/mcp/tools/Client Script Puller/handler.js +23 -30
- package/src/mcp/tools/CloudCC Development Overview/handler.js +11 -5
- package/src/mcp/tools/Component Creator/handler.js +12 -11
- package/src/mcp/tools/Component Detail Retriever/handler.js +12 -9
- package/src/mcp/tools/Component Editor Guide/handler.js +5 -22
- package/src/mcp/tools/Component List Retriever/handler.js +21 -18
- package/src/mcp/tools/Component Publisher/handler.js +25 -3
- package/src/mcp/tools/Component Puller/handler.js +13 -16
- package/src/mcp/tools/Dev Environment Creator/handler.js +5 -72
- package/src/mcp/tools/Dev Environment Validator/handler.js +5 -66
- package/src/mcp/tools/Developer Key Setup Guide/handler.js +11 -20
- package/src/mcp/tools/JSP Migrator/handler.js +842 -0
- package/src/mcp/tools/Menu Creator/handler.js +86 -0
- package/src/mcp/tools/Object Creator/handler.js +14 -6
- package/src/mcp/tools/Object Fields Creator/handler.js +9 -10
- package/src/mcp/tools/Object Fields Retriever/handler.js +6 -3
- package/src/mcp/tools/Object List Retriever/handler.js +10 -7
- package/src/mcp/tools/Scheduled Class Creator/handler.js +12 -16
- package/src/mcp/tools/Scheduled Class Detail Retriever/handler.js +7 -9
- package/src/mcp/tools/Scheduled Class List Retriever/handler.js +21 -23
- package/src/mcp/tools/Scheduled Class Publisher/handler.js +7 -9
- package/src/mcp/tools/Scheduled Class Puller/handler.js +6 -70
- package/src/mcp/tools/Trigger Creator/handler.js +12 -20
- package/src/mcp/tools/Trigger Detail Retriever/handler.js +7 -9
- package/src/mcp/tools/Trigger Editor Guide/handler.js +10 -35
- package/src/mcp/tools/Trigger List Retriever/handler.js +12 -4
- package/src/mcp/tools/Trigger Publisher/handler.js +8 -11
- package/src/mcp/tools/Trigger Puller/handler.js +12 -17
- package/src/menu/common.js +16 -0
- package/src/menu/create-object.js +94 -0
- package/src/menu/create-page.js +108 -0
- package/src/menu/create-script.js +108 -0
- package/src/menu/create-site.js +108 -0
- package/src/menu/create.js +54 -0
- package/src/menu/index.js +7 -0
- package/src/plugin/doc.js +801 -0
- package/src/plugin/index.js +1 -0
- package/src/plugin/pull.js +3 -0
- package/src/project/doc.js +378 -0
- package/src/project/index.js +1 -0
- package/src/script/doc.js +259 -0
- package/src/script/index.js +1 -0
- package/src/timer/index.js +1 -0
- package/src/triggers/doc.js +342 -0
- package/src/triggers/index.js +5 -0
- package/target/classes/com/cloudcc/core/BaseException.class +0 -0
- package/target/classes/com/cloudcc/core/BusiException.class +0 -0
- package/target/classes/com/cloudcc/core/CCService.class +0 -0
- package/target/classes/com/cloudcc/core/StringUtils.class +0 -0
- package/target/classes/com/cloudcc/core/TimeUtil.class +0 -0
- package/target/classes/com/cloudcc/core/UserInfo.class +0 -0
- package/template/lib/ccopenapi-0.0.4.jar +0 -0
- package/test/application.cli.test.js +30 -0
- package/test/classes.cli.test.js +121 -0
- package/test/fields.cli.test.js +69 -0
- package/test/mcp.cli.test.js +21 -0
- package/test/menu.cli.test.js +41 -0
- package/test/object.cli.test.js +64 -0
- package/test/plugin.cli.test.js +109 -0
- package/test/script.cli.test.js +101 -0
- package/test/timer.cli.test.js +107 -0
- package/test/trigger.cli.test.js +146 -0
- package/.vscode/settings.json +0 -3
- package/bin/mcp-svc.js +0 -13
- package/src/mcp/MCP/345/234/272/346/231/257/346/250/241/346/213/237.md +0 -8
- package/src/mcp/index-sse-svc.js +0 -126
- package/src/mcp/index-streamable-svc.js +0 -180
- package/src/mcp/tools/Class Detail Retriever/prompt.js +0 -37
- package/src/mcp/tools/Class Editor Guide/prompt.js +0 -468
- package/src/mcp/tools/Class Publisher/prompt.js +0 -40
- package/src/mcp/tools/Class Puller/prompt.js +0 -49
- package/src/mcp/tools/Client Script Creator/handler.js +0 -179
- package/src/mcp/tools/CloudCC Development Overview/prompt.js +0 -870
- package/src/mcp/tools/Component Editor Guide/prompt.js +0 -519
- package/src/mcp/tools/Component Publisher/prompt.js +0 -659
- package/src/mcp/tools/Dev Environment Creator/prompt.js +0 -273
- package/src/mcp/tools/Dev Environment Validator/prompt.js +0 -193
- package/src/mcp/tools/Developer Key Setup Guide/prompt.js +0 -71
- package/src/mcp/tools/Object Fields Retriever/prompt.js +0 -10
- package/src/mcp/tools/Object List Retriever/prompt.js +0 -10
- package/src/mcp/tools/ccdk/fetcher.js +0 -18
- package/src/mcp/tools/ccdk/handler.js +0 -98
- package/src/mcp/tools/ccdk/prompt.js +0 -453
- package/target/ccopenapi-0.0.3-classes.jar +0 -0
- package/target/ccopenapi-0.0.3.jar +0 -0
- package/target/maven-archiver/pom.properties +0 -3
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -18
- package/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -19
- package/template/lib/ccopenapi-0.0.3.jar +0 -0
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client Script Creator 工具处理器
|
|
3
|
-
* 提供客户端脚本的创建功能
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
const path = require('path');
|
|
7
|
-
const createScriptModule = require('../../../script/create');
|
|
8
|
-
|
|
9
|
-
// pageId 选项定义
|
|
10
|
-
const PAGE_ID_OPTIONS = [
|
|
11
|
-
{ label: 'List View', id: 'list' },
|
|
12
|
-
{ label: 'Detail View', id: 'detail' },
|
|
13
|
-
{ label: 'Edit View', id: 'edit' },
|
|
14
|
-
{ label: 'New View', id: 'add' }
|
|
15
|
-
];
|
|
16
|
-
|
|
17
|
-
// usageScenario 选项定义
|
|
18
|
-
const USAGE_SCENARIO_OPTIONS = [
|
|
19
|
-
{ label: 'All', id: '' },
|
|
20
|
-
{ label: 'PC', id: 'PC' },
|
|
21
|
-
{ label: 'H5', id: 'H5' },
|
|
22
|
-
{ label: 'App', id: 'App' }
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
// event 选择范围根据 pageId 决定
|
|
26
|
-
const PAGE_EVENT_MAP = {
|
|
27
|
-
list: ['onCreated', 'onLoad', 'onDestroy'],
|
|
28
|
-
detail: ['onLoad'],
|
|
29
|
-
edit: ['onCreated', 'onLoad', 'onDestroy', 'beforeSave', 'afterSave'],
|
|
30
|
-
add: ['onCreated', 'onLoad', 'onDestroy', 'beforeSave', 'afterSave']
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* 验证 event 是否在 pageId 对应的有效事件列表中
|
|
35
|
-
* @param {string} pageId - 页面ID
|
|
36
|
-
* @param {string} event - 事件名称
|
|
37
|
-
* @returns {boolean} 是否有效
|
|
38
|
-
*/
|
|
39
|
-
function validateEvent(pageId, event) {
|
|
40
|
-
if (!pageId || !event) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
const validEvents = PAGE_EVENT_MAP[pageId];
|
|
44
|
-
return validEvents && validEvents.includes(event);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* 创建客户端脚本
|
|
49
|
-
* @param {Object} params - 参数对象
|
|
50
|
-
* @param {string} params.scriptName - 脚本名称(必填)
|
|
51
|
-
* @param {string} params.scriptDesc - 脚本描述(可选)
|
|
52
|
-
* @param {string} params.objId - 对象ID(必填)
|
|
53
|
-
* @param {string} params.objName - 对象名称(必填)
|
|
54
|
-
* @param {string} params.schemetableName - 对象表名(必填)
|
|
55
|
-
* @param {string} params.recordTypeId - 记录类型ID(可选)
|
|
56
|
-
* @param {string} params.recordTypeName - 记录类型名称(可选)
|
|
57
|
-
* @param {string} params.pageId - 页面ID:'list' | 'detail' | 'edit' | 'add'(必填)
|
|
58
|
-
* @param {string} params.eventType - 事件类型,默认为 'pageType'(可选)
|
|
59
|
-
* @param {string} params.event - 事件名称,根据 pageId 决定可选值(必填)
|
|
60
|
-
* @param {string} params.fieldId - 字段ID(可选)
|
|
61
|
-
* @param {string} params.usageScenario - 使用场景:'' | 'PC' | 'H5' | 'App'(可选)
|
|
62
|
-
* @param {string} params.projectPath - 项目根目录路径(可选)
|
|
63
|
-
*/
|
|
64
|
-
async function createClientScript({
|
|
65
|
-
scriptName,
|
|
66
|
-
scriptDesc = '',
|
|
67
|
-
objId,
|
|
68
|
-
objName,
|
|
69
|
-
schemetableName,
|
|
70
|
-
recordTypeId = '',
|
|
71
|
-
recordTypeName = '',
|
|
72
|
-
pageId,
|
|
73
|
-
eventType = 'pageType',
|
|
74
|
-
event,
|
|
75
|
-
fieldId = '',
|
|
76
|
-
usageScenario = '',
|
|
77
|
-
projectPath = process.cwd()
|
|
78
|
-
}) {
|
|
79
|
-
try {
|
|
80
|
-
// 验证必填参数
|
|
81
|
-
if (!scriptName || !objId || !objName || !schemetableName || !pageId || !event) {
|
|
82
|
-
return {
|
|
83
|
-
content: [{
|
|
84
|
-
type: 'text',
|
|
85
|
-
text: '✗ 创建失败: 缺少必填参数\n\n必填参数:\n- scriptName: 脚本名称\n- objId: 对象ID\n- objName: 对象名称\n- schemetableName: 对象表名\n- pageId: 页面ID (list/detail/edit/add)\n- event: 事件名称'
|
|
86
|
-
}]
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// 验证 pageId 是否有效
|
|
91
|
-
const validPageIds = PAGE_ID_OPTIONS.map(opt => opt.id);
|
|
92
|
-
if (!validPageIds.includes(pageId)) {
|
|
93
|
-
return {
|
|
94
|
-
content: [{
|
|
95
|
-
type: 'text',
|
|
96
|
-
text: `✗ 创建失败: pageId 无效\n\n有效的 pageId 值:\n${PAGE_ID_OPTIONS.map(opt => `- ${opt.id} (${opt.label})`).join('\n')}`
|
|
97
|
-
}]
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// 验证 event 是否在 pageId 对应的有效事件列表中
|
|
102
|
-
if (!validateEvent(pageId, event)) {
|
|
103
|
-
const validEvents = PAGE_EVENT_MAP[pageId];
|
|
104
|
-
return {
|
|
105
|
-
content: [{
|
|
106
|
-
type: 'text',
|
|
107
|
-
text: `✗ 创建失败: event 无效\n\n对于 pageId="${pageId}",有效的 event 值:\n${validEvents.map(e => `- ${e}`).join('\n')}`
|
|
108
|
-
}]
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// 验证 usageScenario 是否有效(如果提供)
|
|
113
|
-
if (usageScenario) {
|
|
114
|
-
const validScenarios = USAGE_SCENARIO_OPTIONS.map(opt => opt.id);
|
|
115
|
-
if (!validScenarios.includes(usageScenario)) {
|
|
116
|
-
return {
|
|
117
|
-
content: [{
|
|
118
|
-
type: 'text',
|
|
119
|
-
text: `✗ 创建失败: usageScenario 无效\n\n有效的 usageScenario 值:\n${USAGE_SCENARIO_OPTIONS.map(opt => `- ${opt.id} (${opt.label})`).join('\n')}`
|
|
120
|
-
}]
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// 临时改变工作目录以兼容原有模块
|
|
126
|
-
const originalCwd = process.cwd();
|
|
127
|
-
process.chdir(projectPath);
|
|
128
|
-
|
|
129
|
-
try {
|
|
130
|
-
// 构建完整的 ScriptInfo 配置对象
|
|
131
|
-
const scriptInfo = {
|
|
132
|
-
scriptName,
|
|
133
|
-
scriptDesc,
|
|
134
|
-
objId,
|
|
135
|
-
objName,
|
|
136
|
-
schemetableName,
|
|
137
|
-
recordTypeId,
|
|
138
|
-
recordTypeName,
|
|
139
|
-
pageId,
|
|
140
|
-
eventType,
|
|
141
|
-
event,
|
|
142
|
-
fieldId,
|
|
143
|
-
usageScenario
|
|
144
|
-
};
|
|
145
|
-
|
|
146
|
-
// 将配置对象编码为 URI 格式(create.js 期望的格式)
|
|
147
|
-
const encodedBody = encodeURI(JSON.stringify(scriptInfo));
|
|
148
|
-
|
|
149
|
-
// 调用原有的 create 模块
|
|
150
|
-
await createScriptModule([null, null, encodedBody]);
|
|
151
|
-
|
|
152
|
-
const scriptPath = path.join(projectPath, `script/${objName}/${scriptName}`);
|
|
153
|
-
return {
|
|
154
|
-
content: [{
|
|
155
|
-
type: 'text',
|
|
156
|
-
text: `✓ 客户端脚本创建成功!\n\n脚本路径: ${scriptPath}\n生成的文件:\n - ${scriptName}.js (脚本文件)\n - config.json (配置文件)\n\n配置信息:\n${JSON.stringify(scriptInfo, null, 2)}\n\n下一步:\n1. 编辑 ${scriptName}.js 实现你的脚本逻辑\n2. 使用 publish_client_script 发布到服务器`
|
|
157
|
-
}]
|
|
158
|
-
};
|
|
159
|
-
} finally {
|
|
160
|
-
process.chdir(originalCwd);
|
|
161
|
-
}
|
|
162
|
-
} catch (error) {
|
|
163
|
-
return {
|
|
164
|
-
content: [{
|
|
165
|
-
type: 'text',
|
|
166
|
-
text: `✗ 创建失败: ${error.message}\n\n可能的原因:\n- 脚本名称已存在\n- 权限不足\n- 磁盘空间不足\n- 配置数据格式错误`
|
|
167
|
-
}]
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
module.exports = {
|
|
173
|
-
createClientScript,
|
|
174
|
-
PAGE_ID_OPTIONS,
|
|
175
|
-
USAGE_SCENARIO_OPTIONS,
|
|
176
|
-
PAGE_EVENT_MAP,
|
|
177
|
-
validateEvent
|
|
178
|
-
};
|
|
179
|
-
|