digitalsee-ai-flow-cli 0.1.0

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 (75) hide show
  1. package/README.md +631 -0
  2. package/dist/api/client.d.ts.map +1 -0
  3. package/dist/api/client.js +87 -0
  4. package/dist/api/client.js.map +1 -0
  5. package/dist/api/flow.d.ts.map +1 -0
  6. package/dist/api/flow.js +61 -0
  7. package/dist/api/flow.js.map +1 -0
  8. package/dist/api/knowledge.d.ts.map +1 -0
  9. package/dist/api/knowledge.js +32 -0
  10. package/dist/api/knowledge.js.map +1 -0
  11. package/dist/api/node.d.ts.map +1 -0
  12. package/dist/api/node.js +65 -0
  13. package/dist/api/node.js.map +1 -0
  14. package/dist/api/variables.d.ts.map +1 -0
  15. package/dist/api/variables.js +24 -0
  16. package/dist/api/variables.js.map +1 -0
  17. package/dist/commands/config.d.ts.map +1 -0
  18. package/dist/commands/config.js +73 -0
  19. package/dist/commands/config.js.map +1 -0
  20. package/dist/commands/flow/account.d.ts.map +1 -0
  21. package/dist/commands/flow/account.js +41 -0
  22. package/dist/commands/flow/account.js.map +1 -0
  23. package/dist/commands/flow/analyze.d.ts.map +1 -0
  24. package/dist/commands/flow/analyze.js +109 -0
  25. package/dist/commands/flow/analyze.js.map +1 -0
  26. package/dist/commands/flow/edge.d.ts.map +1 -0
  27. package/dist/commands/flow/edge.js +167 -0
  28. package/dist/commands/flow/edge.js.map +1 -0
  29. package/dist/commands/flow/helpers.d.ts.map +1 -0
  30. package/dist/commands/flow/helpers.js +213 -0
  31. package/dist/commands/flow/helpers.js.map +1 -0
  32. package/dist/commands/flow/list.d.ts.map +1 -0
  33. package/dist/commands/flow/list.js +40 -0
  34. package/dist/commands/flow/list.js.map +1 -0
  35. package/dist/commands/flow/node.d.ts.map +1 -0
  36. package/dist/commands/flow/node.js +425 -0
  37. package/dist/commands/flow/node.js.map +1 -0
  38. package/dist/commands/flow/test.d.ts.map +1 -0
  39. package/dist/commands/flow/test.js +55 -0
  40. package/dist/commands/flow/test.js.map +1 -0
  41. package/dist/commands/flow/variables.d.ts.map +1 -0
  42. package/dist/commands/flow/variables.js +177 -0
  43. package/dist/commands/flow/variables.js.map +1 -0
  44. package/dist/commands/flow.d.ts.map +1 -0
  45. package/dist/commands/flow.js +23 -0
  46. package/dist/commands/flow.js.map +1 -0
  47. package/dist/commands/knowledge.d.ts.map +1 -0
  48. package/dist/commands/knowledge.js +196 -0
  49. package/dist/commands/knowledge.js.map +1 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +74 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/services/flowAnalyzer.d.ts.map +1 -0
  54. package/dist/services/flowAnalyzer.js +366 -0
  55. package/dist/services/flowAnalyzer.js.map +1 -0
  56. package/dist/services/skillGenerator.d.ts.map +1 -0
  57. package/dist/services/skillGenerator.js +241 -0
  58. package/dist/services/skillGenerator.js.map +1 -0
  59. package/dist/types/index.d.ts.map +1 -0
  60. package/dist/types/index.js +3 -0
  61. package/dist/types/index.js.map +1 -0
  62. package/dist/utils/config.d.ts.map +1 -0
  63. package/dist/utils/config.js +114 -0
  64. package/dist/utils/config.js.map +1 -0
  65. package/dist/utils/encoding.d.ts.map +1 -0
  66. package/dist/utils/encoding.js +21 -0
  67. package/dist/utils/encoding.js.map +1 -0
  68. package/dist/utils/format.d.ts.map +1 -0
  69. package/dist/utils/format.js +375 -0
  70. package/dist/utils/format.js.map +1 -0
  71. package/dist/utils/output.d.ts.map +1 -0
  72. package/dist/utils/output.js +115 -0
  73. package/dist/utils/output.js.map +1 -0
  74. package/package.json +27 -0
  75. package/tsconfig.json +22 -0
@@ -0,0 +1,425 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerFlowNode = registerFlowNode;
37
+ const fs = __importStar(require("fs"));
38
+ const flow_1 = require("@/api/flow");
39
+ const node_1 = require("@/api/node");
40
+ const flowAnalyzer_1 = require("@/services/flowAnalyzer");
41
+ const format_1 = require("@/utils/format");
42
+ const helpers_1 = require("@/commands/flow/helpers");
43
+ const output_1 = require("@/utils/output");
44
+ function registerFlowNode(flowCmd) {
45
+ const nodeCmd = flowCmd
46
+ .command("node")
47
+ .description("节点操作");
48
+ nodeCmd
49
+ .command("show <nodeId>")
50
+ .description("获取节点详细信息")
51
+ .option("--format <format>", "输出格式: table | json", "table")
52
+ .action(async (nodeId, options) => {
53
+ try {
54
+ (0, output_1.printInfo)(`正在获取节点 ${nodeId} 的详情...`);
55
+ const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
56
+ if (!nodeDetail) {
57
+ (0, output_1.printError)(`未找到节点 ${nodeId}`);
58
+ return;
59
+ }
60
+ if (options.format === "json") {
61
+ (0, output_1.printJson)(nodeDetail);
62
+ return;
63
+ }
64
+ (0, output_1.printHeader)(`节点详情: ${nodeDetail.id || nodeId}`);
65
+ (0, output_1.printKeyValue)([
66
+ ["节点 ID", nodeDetail.n_id || nodeDetail.id || "-"],
67
+ ["节点类型", (0, flowAnalyzer_1.formatNodeType)(nodeDetail.node_type)],
68
+ ["连接器", nodeDetail.connector_name || nodeDetail.connector_id || "-"],
69
+ ["动作", nodeDetail.action_name || nodeDetail.action_id || "-"],
70
+ ["状态", nodeDetail.closed === 1 ? "已禁用" : nodeDetail.status || "正常"],
71
+ ["位置", nodeDetail.position ? `(${nodeDetail.position.x}, ${nodeDetail.position.y})` : "-"],
72
+ ["备注", nodeDetail.note || "(无)"],
73
+ ["描述", nodeDetail.description || "(无)"],
74
+ ["账号 ID", nodeDetail.account_id || "(无)"],
75
+ ["账号 Schema ID", nodeDetail.config_schema?.account_schema_id || nodeDetail.account_schema_id || "(无)"],
76
+ ]);
77
+ const configSchema = nodeDetail.config_schema;
78
+ if (configSchema?.sub_params && configSchema.sub_params.length > 0) {
79
+ (0, output_1.printSubHeader)(`配置参数 (${configSchema.sub_params.length})`);
80
+ const headers = ["字段名", "显示名", "类型", "必填", "当前值", "可选值"];
81
+ const rows = configSchema.sub_params.map((p) => {
82
+ const options = p.option_value_objects ?? p.option_values;
83
+ const optionStr = options && Array.isArray(options) && options.length > 0
84
+ ? options.map((o) => typeof o === "string" ? o : (0, helpers_1.formatOptionLabel)(o)).join(", ")
85
+ : "-";
86
+ const val = p.value !== undefined && p.value !== null
87
+ ? typeof p.value === "object" ? JSON.stringify(p.value) : String(p.value)
88
+ : "-";
89
+ return [
90
+ p.name || "-",
91
+ p.display_name || "-",
92
+ p.page_control || p.type || "string",
93
+ p.required ? "是" : "否",
94
+ val,
95
+ optionStr,
96
+ ];
97
+ });
98
+ (0, output_1.printTable)(headers, rows);
99
+ }
100
+ if (nodeDetail.properties && Object.keys(nodeDetail.properties).length > 0) {
101
+ (0, output_1.printSubHeader)("当前属性值");
102
+ (0, output_1.printJson)(nodeDetail.properties);
103
+ }
104
+ if (nodeDetail.error_handler) {
105
+ (0, output_1.printSubHeader)("错误处理配置");
106
+ (0, output_1.printJson)(nodeDetail.error_handler);
107
+ }
108
+ (0, output_1.printSuccess)("节点信息获取完成");
109
+ }
110
+ catch (error) {
111
+ (0, output_1.printError)(`获取节点信息失败: ${error.message}`);
112
+ }
113
+ });
114
+ nodeCmd
115
+ .command("create")
116
+ .description("在连接流中创建新节点")
117
+ .requiredOption("--flow-id <flowId>", "连接流 ID")
118
+ .requiredOption("--connector-id <connectorId>", "连接器 ID")
119
+ .requiredOption("--action-id <actionId>", "动作 ID")
120
+ .option("--trigger", "作为触发器节点(流中第一个节点建议启用)", false)
121
+ .option("--node-type <type>", "节点类型或动作类型")
122
+ .option("--account-id <id>", "账号实例 ID(需要账号鉴权时指定)")
123
+ .option("--error-handler-file <path>", "错误处理配置 JSON 文件")
124
+ .option("--data-file <path>", "JSON 文件路径,用于覆盖节点配置值")
125
+ .option("--data <json>", "JSON 字符串,用于覆盖节点配置值")
126
+ .option("--position-x <number>", "节点 X 坐标(默认根据已有节点自动计算)")
127
+ .option("--position-y <number>", "节点 Y 坐标(默认根据已有节点自动计算)")
128
+ .action(async (options) => {
129
+ try {
130
+ const flowId = options.flowId;
131
+ const connectorId = options.connectorId;
132
+ const actionId = options.actionId;
133
+ (0, output_1.printInfo)(`获取连接流 ${flowId} 的详情...`);
134
+ const flow = await (0, flow_1.getFlowDetail)(flowId);
135
+ const nodes = flow.nodes || [];
136
+ const isFirstNode = nodes.length === 0;
137
+ if (isFirstNode && !options.trigger) {
138
+ (0, output_1.printWarning)("流中尚无节点,建议添加 --trigger 标志创建触发器节点");
139
+ }
140
+ const defaultPos = (0, helpers_1.calcDefaultPosition)(nodes);
141
+ let posX = options.positionX !== undefined
142
+ ? Number(options.positionX)
143
+ : defaultPos.x;
144
+ let posY = options.positionY !== undefined
145
+ ? Number(options.positionY)
146
+ : defaultPos.y;
147
+ const trigger = options.trigger || false;
148
+ (0, output_1.printInfo)(`获取连接器 ${connectorId} 的动作列表...`);
149
+ const actions = await (0, node_1.getActions)({
150
+ linkId: connectorId,
151
+ flowId,
152
+ trigger,
153
+ });
154
+ const action = actions.find((a) => a.id === actionId);
155
+ if (!action) {
156
+ (0, output_1.printError)(`未找到动作 ${actionId}`);
157
+ return;
158
+ }
159
+ let accountId = options.accountId || null;
160
+ const accountSchemaId = action.config_schema?.account_schema_id;
161
+ if (accountSchemaId && !accountId) {
162
+ (0, output_1.printWarning)(`该动作需要配置账号 (account_schema_id: ${accountSchemaId})`);
163
+ try {
164
+ const accounts = await (0, node_1.getAccountInstances)(connectorId, accountSchemaId);
165
+ if (accounts.length > 0) {
166
+ (0, output_1.printInfo)("可用账号实例:");
167
+ const headers = ["ID", "名称", "认证类型"];
168
+ const rows = accounts.map((a) => [
169
+ a.id || "-",
170
+ a.name || "-",
171
+ a.auth_type || "-",
172
+ ]);
173
+ (0, output_1.printTable)(headers, rows);
174
+ }
175
+ else {
176
+ (0, output_1.printWarning)("未找到可用账号实例,请先创建账号");
177
+ }
178
+ }
179
+ catch {
180
+ (0, output_1.printWarning)("获取账号实例失败");
181
+ }
182
+ (0, output_1.printError)("请通过 --account-id <id> 指定账号实例 ID");
183
+ return;
184
+ }
185
+ let configSchema = action.config_schema || {};
186
+ const overrideValues = (0, helpers_1.resolveDataOption)(options);
187
+ if (overrideValues) {
188
+ if (overrideValues.properties !== undefined) {
189
+ configSchema = (0, format_1.deepMergeValues)(configSchema, overrideValues.properties);
190
+ if (overrideValues.position) {
191
+ posX = Number(overrideValues.position.x) || posX;
192
+ posY = Number(overrideValues.position.y) || posY;
193
+ }
194
+ }
195
+ else {
196
+ configSchema = (0, format_1.deepMergeValues)(configSchema, overrideValues);
197
+ }
198
+ }
199
+ else {
200
+ configSchema = (0, format_1.fillConfigSchemaDefaults)(configSchema);
201
+ }
202
+ let defaultNodeType = "ActionNode";
203
+ const node_type = options.nodeType || action.action_type || defaultNodeType;
204
+ if (isFirstNode && node_type !== "StartEventNode") {
205
+ defaultNodeType = "StartEventNode";
206
+ (0, output_1.printError)("首个节点 nodeType 应该是 StartEventNode");
207
+ return;
208
+ }
209
+ const payload = {
210
+ flow_id: flowId,
211
+ node_type: node_type,
212
+ action_id: action.id,
213
+ properties: configSchema,
214
+ position: {
215
+ x: posX,
216
+ y: posY,
217
+ },
218
+ };
219
+ if (accountId) {
220
+ payload.account_id = accountId;
221
+ }
222
+ if (options.errorHandlerFile) {
223
+ const ehPath = options.errorHandlerFile;
224
+ if (!fs.existsSync(ehPath)) {
225
+ (0, output_1.printError)(`文件不存在: ${ehPath}`);
226
+ return;
227
+ }
228
+ try {
229
+ payload.error_handler = JSON.parse(fs.readFileSync(ehPath, "utf-8"));
230
+ }
231
+ catch {
232
+ (0, output_1.printError)(`错误处理 JSON 文件格式无效: ${ehPath}`);
233
+ return;
234
+ }
235
+ }
236
+ (0, output_1.printInfo)("正在创建节点...");
237
+ const result = await (0, node_1.createNode)(payload);
238
+ (0, output_1.printSuccess)("节点创建成功");
239
+ const pairs = [
240
+ ["节点 ID", result.id || "-"],
241
+ ["动作名称", action.name],
242
+ ["连接器", action.connector_id],
243
+ ["节点类型", payload.node_type],
244
+ ["触发器", trigger ? "是" : "否"],
245
+ ["位置", `(${payload.position.x}, ${payload.position.y})`],
246
+ ];
247
+ if (accountId) {
248
+ pairs.push(["账号 ID", accountId]);
249
+ }
250
+ if (options.errorHandlerFile) {
251
+ pairs.push(["错误处理", options.errorHandlerFile]);
252
+ }
253
+ if (options.dataFile)
254
+ pairs.push(["配置文件", options.dataFile]);
255
+ else if (options.data)
256
+ pairs.push(["配置数据", "--data"]);
257
+ (0, output_1.printKeyValue)(pairs);
258
+ }
259
+ catch (error) {
260
+ (0, output_1.printError)(`创建节点失败: ${error.message}`);
261
+ }
262
+ });
263
+ nodeCmd
264
+ .command("update <nodeId>")
265
+ .description("更新连接流中的节点配置")
266
+ .requiredOption("--flow-id <flowId>", "连接流 ID")
267
+ .option("--data-file <path>", "JSON 文件路径,用于更新节点配置值")
268
+ .option("--data <json>", "JSON 字符串,用于更新节点配置值")
269
+ .option("--position-x <number>", "节点 X 坐标")
270
+ .option("--position-y <number>", "节点 Y 坐标")
271
+ .option("--note <text>", "节点备注")
272
+ .option("--connector-id <connectorId>", "更换连接器 ID")
273
+ .option("--action-id <actionId>", "更换动作 ID")
274
+ .option("--account-id <id>", "更换账号实例 ID")
275
+ .option("--error-handler-file <path>", "错误处理配置 JSON 文件")
276
+ .action(async (nodeId, options) => {
277
+ try {
278
+ const flowId = options.flowId;
279
+ (0, output_1.printInfo)(`正在获取节点 ${nodeId} 的详情...`);
280
+ const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
281
+ if (!nodeDetail) {
282
+ (0, output_1.printError)(`未找到节点 ${nodeId}`);
283
+ return;
284
+ }
285
+ // 以 nodeDetail 为基准初始化 updateData
286
+ const updateData = {
287
+ flow_id: flowId,
288
+ };
289
+ if (nodeDetail.position)
290
+ updateData.position = { ...nodeDetail.position };
291
+ if (nodeDetail.action_id)
292
+ updateData.action_id = nodeDetail.action_id;
293
+ if (nodeDetail.connector_id)
294
+ updateData.connector_id = nodeDetail.connector_id;
295
+ if (nodeDetail.account_id)
296
+ updateData.account_id = nodeDetail.account_id;
297
+ if (nodeDetail.note != null)
298
+ updateData.note = nodeDetail.note;
299
+ const configValues = (0, helpers_1.resolveDataOption)(options);
300
+ if (configValues) {
301
+ const existingProps = nodeDetail.properties || {};
302
+ if (configValues.properties !== undefined) {
303
+ updateData.properties = (0, helpers_1.deepMergePlain)(existingProps, configValues.properties);
304
+ if (configValues.position)
305
+ updateData.position = configValues.position;
306
+ if (configValues.action_id !== undefined)
307
+ updateData.action_id = configValues.action_id;
308
+ if (configValues.connector_id)
309
+ updateData.connector_id = configValues.connector_id;
310
+ if (configValues.account_id !== undefined)
311
+ updateData.account_id = configValues.account_id;
312
+ if (configValues.note !== undefined)
313
+ updateData.note = configValues.note;
314
+ if (configValues.flow_id)
315
+ updateData.flow_id = configValues.flow_id;
316
+ }
317
+ else {
318
+ updateData.properties = (0, helpers_1.deepMergePlain)(existingProps, configValues);
319
+ }
320
+ }
321
+ // CLI options 覆盖
322
+ if (options.positionX !== undefined || options.positionY !== undefined) {
323
+ updateData.position = {
324
+ x: options.positionX !== undefined ? Number(options.positionX) : (updateData.position?.x ?? 0),
325
+ y: options.positionY !== undefined ? Number(options.positionY) : (updateData.position?.y ?? 0),
326
+ };
327
+ }
328
+ if (options.note !== undefined)
329
+ updateData.note = options.note;
330
+ if (options.connectorId)
331
+ updateData.connector_id = options.connectorId;
332
+ if (options.actionId)
333
+ updateData.action_id = options.actionId;
334
+ if (options.accountId)
335
+ updateData.account_id = options.accountId;
336
+ if (options.errorHandlerFile) {
337
+ const ehPath = options.errorHandlerFile;
338
+ if (!fs.existsSync(ehPath)) {
339
+ (0, output_1.printError)(`文件不存在: ${ehPath}`);
340
+ return;
341
+ }
342
+ try {
343
+ updateData.error_handler = JSON.parse(fs.readFileSync(ehPath, "utf-8"));
344
+ }
345
+ catch {
346
+ (0, output_1.printError)(`错误处理 JSON 文件格式无效: ${ehPath}`);
347
+ return;
348
+ }
349
+ }
350
+ if (Object.keys(updateData).length === 0) {
351
+ (0, output_1.printWarning)("未指定任何更新参数");
352
+ return;
353
+ }
354
+ // 校验 properties 中各字段值与 page_control 类型匹配
355
+ if (updateData.properties) {
356
+ const validationErrors = (0, format_1.validateNodePropertyValues)(updateData.properties);
357
+ if (validationErrors.length > 0) {
358
+ (0, output_1.printWarning)(`节点配置值校验发现 ${validationErrors.length} 个问题:`);
359
+ for (const err of validationErrors) {
360
+ const ruleLabel = err.rule === "required" ? "必填" : "类型";
361
+ (0, output_1.printWarning)(` [${ruleLabel}] ${err.message}`);
362
+ }
363
+ }
364
+ }
365
+ (0, output_1.printInfo)("正在更新节点...");
366
+ const result = await (0, node_1.updateNode)(nodeId, updateData);
367
+ (0, output_1.printSuccess)("节点更新成功");
368
+ const pairs = [["节点 ID", nodeId]];
369
+ if (options.dataFile)
370
+ pairs.push(["配置文件", options.dataFile]);
371
+ else if (options.data)
372
+ pairs.push(["配置数据", "--data"]);
373
+ if (updateData.position) {
374
+ pairs.push(["位置", `(${updateData.position.x}, ${updateData.position.y})`]);
375
+ }
376
+ if (options.note !== undefined)
377
+ pairs.push(["备注", options.note]);
378
+ if (options.connectorId)
379
+ pairs.push(["连接器", options.connectorId]);
380
+ if (options.actionId)
381
+ pairs.push(["动作", options.actionId]);
382
+ if (options.accountId)
383
+ pairs.push(["账号 ID", options.accountId]);
384
+ if (options.errorHandlerFile)
385
+ pairs.push(["错误处理", options.errorHandlerFile]);
386
+ (0, output_1.printKeyValue)(pairs);
387
+ }
388
+ catch (error) {
389
+ (0, output_1.printError)(`更新节点失败: ${error.message}`);
390
+ }
391
+ });
392
+ nodeCmd
393
+ .command("delete <nodeId>")
394
+ .description("删除连接流中的节点")
395
+ .requiredOption("--flow-id <flowId>", "连接流 ID")
396
+ .option("--force", "跳过确认提示,直接删除", false)
397
+ .action(async (nodeId, options) => {
398
+ try {
399
+ if (!options.force) {
400
+ (0, output_1.printWarning)(`确认删除节点 ${nodeId}?`);
401
+ const readline = require("readline").createInterface({
402
+ input: process.stdin,
403
+ output: process.stdout,
404
+ });
405
+ const answer = await new Promise((resolve) => {
406
+ readline.question("输入 y 确认: ", (ans) => {
407
+ readline.close();
408
+ resolve(ans);
409
+ });
410
+ });
411
+ if (answer.toLowerCase() !== "y") {
412
+ (0, output_1.printInfo)("已取消删除");
413
+ return;
414
+ }
415
+ }
416
+ (0, output_1.printInfo)(`正在删除节点 ${nodeId}...`);
417
+ await (0, node_1.deleteNode)(nodeId);
418
+ (0, output_1.printSuccess)(`节点 ${nodeId} 已删除`);
419
+ }
420
+ catch (error) {
421
+ (0, output_1.printError)(`删除节点失败: ${error.message}`);
422
+ }
423
+ });
424
+ }
425
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/commands/flow/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiDvD"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFlowTest = registerFlowTest;
4
+ const node_1 = require("@/api/node");
5
+ const helpers_1 = require("@/commands/flow/helpers");
6
+ const output_1 = require("@/utils/output");
7
+ function registerFlowTest(flowCmd) {
8
+ flowCmd
9
+ .command("test <nodeId>")
10
+ .description("测试指定连接流的指定节点")
11
+ .option("--flow-id <flowId>", "连接流 ID")
12
+ .option("--data-file <path>", "JSON 文件路径,用于覆盖节点配置")
13
+ .option("--data <json>", "JSON 字符串,用于覆盖节点配置")
14
+ .action(async (nodeId, options) => {
15
+ try {
16
+ const configValues = (0, helpers_1.resolveDataOption)(options);
17
+ if (configValues) {
18
+ (0, output_1.printInfo)("正在获取节点详情...");
19
+ const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
20
+ if (!nodeDetail) {
21
+ (0, output_1.printError)(`未找到节点 ${nodeId}`);
22
+ return;
23
+ }
24
+ const existingProps = nodeDetail.properties || {};
25
+ const mergeValues = configValues.properties !== undefined ? configValues.properties : configValues;
26
+ const mergedProperties = (0, helpers_1.deepMergePlain)(existingProps, mergeValues);
27
+ (0, output_1.printInfo)("正在更新节点配置...");
28
+ await (0, node_1.updateNode)(nodeId, { properties: mergedProperties });
29
+ (0, output_1.printSuccess)("节点配置已更新");
30
+ }
31
+ if (options.flowId) {
32
+ (0, output_1.printInfo)(`在连接流 ${options.flowId} 中测试节点 ${nodeId}`);
33
+ }
34
+ (0, output_1.printInfo)(`正在测试运行节点 ${nodeId}...`);
35
+ const result = await (0, node_1.testRunNode)(nodeId);
36
+ if (result.success) {
37
+ (0, output_1.printSuccess)("节点测试成功");
38
+ (0, output_1.printHeader)("测试结果");
39
+ if (typeof result.data === "object") {
40
+ (0, output_1.printJson)(result.data);
41
+ }
42
+ else {
43
+ console.log(result.data);
44
+ }
45
+ }
46
+ else {
47
+ (0, output_1.printError)(`节点测试失败: ${result.error}`);
48
+ }
49
+ }
50
+ catch (error) {
51
+ (0, output_1.printError)(`测试失败: ${error.message}`);
52
+ }
53
+ });
54
+ }
55
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":";;AAWA,4CAiDC;AA3DD,qCAAoE;AACpE,qDAA4E;AAC5E,2CAMwB;AAExB,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,cAAc,CAAC;SAC3B,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC;SACtC,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;SAClD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC5C,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,2BAAiB,EAAC,OAAO,CAAC,CAAC;YAChD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;gBACzB,MAAM,UAAU,GAAG,MAAM,IAAA,oBAAa,EAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAA,mBAAU,EAAC,SAAS,MAAM,EAAE,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClD,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;gBACnG,MAAM,gBAAgB,GAAG,IAAA,wBAAc,EAAC,aAAa,EAAE,WAAW,CAAC,CAAC;gBAEpE,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;gBACzB,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBAC3D,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAA,kBAAS,EAAC,QAAQ,OAAO,CAAC,MAAM,UAAU,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,IAAA,kBAAS,EAAC,YAAY,MAAM,KAAK,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAW,EAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAA,qBAAY,EAAC,QAAQ,CAAC,CAAC;gBACvB,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;gBACpB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,IAAA,kBAAS,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,mBAAU,EAAC,WAAW,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAA,mBAAU,EAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyL5D"}