digitalsee-ai-flow-cli 0.1.7 → 0.1.8

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 (91) hide show
  1. package/.github/workflows/ci.yml +24 -0
  2. package/.github/workflows/publish.yml +21 -0
  3. package/CHANGELOG.md +72 -0
  4. package/dist/api/client.d.ts.map +1 -1
  5. package/dist/api/client.js +4 -4
  6. package/dist/api/client.js.map +1 -1
  7. package/dist/api/flow.d.ts.map +1 -1
  8. package/dist/api/flow.js +16 -13
  9. package/dist/api/flow.js.map +1 -1
  10. package/dist/api/knowledge.d.ts.map +1 -1
  11. package/dist/api/knowledge.js +3 -3
  12. package/dist/api/knowledge.js.map +1 -1
  13. package/dist/api/node.d.ts.map +1 -1
  14. package/dist/api/node.js +4 -4
  15. package/dist/api/node.js.map +1 -1
  16. package/dist/api/variables.d.ts.map +1 -1
  17. package/dist/api/variables.js +1 -1
  18. package/dist/api/variables.js.map +1 -1
  19. package/dist/commands/auth.d.ts.map +1 -1
  20. package/dist/commands/auth.js +44 -34
  21. package/dist/commands/auth.js.map +1 -1
  22. package/dist/commands/config.d.ts.map +1 -1
  23. package/dist/commands/config.js +24 -26
  24. package/dist/commands/config.js.map +1 -1
  25. package/dist/commands/flow/account.d.ts.map +1 -1
  26. package/dist/commands/flow/account.js +17 -16
  27. package/dist/commands/flow/account.js.map +1 -1
  28. package/dist/commands/flow/analyze.d.ts.map +1 -1
  29. package/dist/commands/flow/analyze.js +42 -42
  30. package/dist/commands/flow/analyze.js.map +1 -1
  31. package/dist/commands/flow/create.d.ts.map +1 -1
  32. package/dist/commands/flow/create.js +7 -6
  33. package/dist/commands/flow/create.js.map +1 -1
  34. package/dist/commands/flow/edge.d.ts.map +1 -1
  35. package/dist/commands/flow/edge.js +36 -35
  36. package/dist/commands/flow/edge.js.map +1 -1
  37. package/dist/commands/flow/helpers.d.ts.map +1 -1
  38. package/dist/commands/flow/helpers.js +84 -74
  39. package/dist/commands/flow/helpers.js.map +1 -1
  40. package/dist/commands/flow/list.d.ts.map +1 -1
  41. package/dist/commands/flow/list.js +7 -7
  42. package/dist/commands/flow/list.js.map +1 -1
  43. package/dist/commands/flow/node.d.ts.map +1 -1
  44. package/dist/commands/flow/node.js +150 -137
  45. package/dist/commands/flow/node.js.map +1 -1
  46. package/dist/commands/flow/test.d.ts.map +1 -1
  47. package/dist/commands/flow/test.js +14 -14
  48. package/dist/commands/flow/test.js.map +1 -1
  49. package/dist/commands/flow/update.js +5 -5
  50. package/dist/commands/flow/update.js.map +1 -1
  51. package/dist/commands/flow/variables.d.ts.map +1 -1
  52. package/dist/commands/flow/variables.js +45 -43
  53. package/dist/commands/flow/variables.js.map +1 -1
  54. package/dist/commands/flow.d.ts.map +1 -1
  55. package/dist/commands/flow.js +1 -3
  56. package/dist/commands/flow.js.map +1 -1
  57. package/dist/commands/knowledge.d.ts.map +1 -1
  58. package/dist/commands/knowledge.js +68 -70
  59. package/dist/commands/knowledge.js.map +1 -1
  60. package/dist/index.js +31 -20
  61. package/dist/index.js.map +1 -1
  62. package/dist/services/flowAnalyzer.d.ts.map +1 -1
  63. package/dist/services/flowAnalyzer.js +256 -203
  64. package/dist/services/flowAnalyzer.js.map +1 -1
  65. package/dist/services/skillGenerator.d.ts.map +1 -1
  66. package/dist/services/skillGenerator.js +31 -31
  67. package/dist/services/skillGenerator.js.map +1 -1
  68. package/dist/types/index.d.ts.map +1 -1
  69. package/dist/utils/config.d.ts.map +1 -1
  70. package/dist/utils/config.js +12 -10
  71. package/dist/utils/config.js.map +1 -1
  72. package/dist/utils/encoding.d.ts.map +1 -1
  73. package/dist/utils/encoding.js +3 -3
  74. package/dist/utils/encoding.js.map +1 -1
  75. package/dist/utils/format.d.ts.map +1 -1
  76. package/dist/utils/format.js +234 -220
  77. package/dist/utils/format.js.map +1 -1
  78. package/dist/utils/oauth.d.ts.map +1 -1
  79. package/dist/utils/oauth.js +54 -78
  80. package/dist/utils/oauth.js.map +1 -1
  81. package/dist/utils/output.d.ts.map +1 -1
  82. package/dist/utils/output.js +20 -16
  83. package/dist/utils/output.js.map +1 -1
  84. package/dist/utils/updateCheck.d.ts.map +1 -0
  85. package/dist/utils/updateCheck.js +138 -0
  86. package/dist/utils/updateCheck.js.map +1 -0
  87. package/package.json +15 -7
  88. package/tsconfig.json +1 -1
  89. package/dist/utils/auth.d.ts.map +0 -1
  90. package/dist/utils/auth.js +0 -213
  91. package/dist/utils/auth.js.map +0 -1
@@ -7,16 +7,16 @@ const format_1 = require("@/utils/format");
7
7
  const output_1 = require("@/utils/output");
8
8
  function registerFlowTest(flowCmd) {
9
9
  flowCmd
10
- .command("test <nodeId>")
11
- .description("测试指定连接流的指定节点")
12
- .option("--flow-id <flowId>", "连接流 ID")
13
- .option("--data-file <path>", "JSON 文件路径,格式 {\"properties\": {...}},用于覆盖节点配置")
14
- .option("--data <json>", "JSON 字符串,格式 {\"properties\": {...}},用于覆盖节点配置")
10
+ .command('test <nodeId>')
11
+ .description('测试指定连接流的指定节点')
12
+ .option('--flow-id <flowId>', '连接流 ID')
13
+ .option('--data-file <path>', 'JSON 文件路径,格式 {"properties": {...}},用于覆盖节点配置')
14
+ .option('--data <json>', 'JSON 字符串,格式 {"properties": {...}},用于覆盖节点配置')
15
15
  .action(async (nodeId, options) => {
16
16
  try {
17
17
  const configValues = (0, helpers_1.resolveDataOption)(options, helpers_1.NODE_CONFIG_DATA_SCHEMA);
18
18
  if (configValues) {
19
- (0, output_1.printInfo)("正在获取节点详情...");
19
+ (0, output_1.printInfo)('正在获取节点详情...');
20
20
  const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
21
21
  if (!nodeDetail) {
22
22
  (0, output_1.printError)(`未找到节点 ${nodeId}`);
@@ -28,23 +28,23 @@ function registerFlowTest(flowCmd) {
28
28
  if (validationErrors.length > 0) {
29
29
  (0, output_1.printWarning)(`节点配置值校验发现 ${validationErrors.length} 个问题:`);
30
30
  for (const err of validationErrors) {
31
- const ruleLabel = err.rule === "required" ? "必填" : "类型";
31
+ const ruleLabel = err.rule === 'required' ? '必填' : '类型';
32
32
  (0, output_1.printWarning)(` [${ruleLabel}] ${err.message}`);
33
33
  }
34
34
  }
35
35
  }
36
- const specialErrors = (0, format_1.validateSpecialNodeType)(nodeDetail.node_type, nodeDetail);
36
+ const specialErrors = (0, format_1.validateSpecialNodeType)(String(nodeDetail.node_type), nodeDetail);
37
37
  if (specialErrors.length > 0) {
38
38
  (0, output_1.printWarning)(`特殊节点参数校验发现 ${specialErrors.length} 个问题:`);
39
39
  for (const err of specialErrors) {
40
- const ruleLabel = err.rule === "required" ? "必填" : "类型";
40
+ const ruleLabel = err.rule === 'required' ? '必填' : '类型';
41
41
  (0, output_1.printWarning)(` [${ruleLabel}] ${err.message}`);
42
42
  }
43
43
  }
44
44
  const updatePayload = (0, format_1.deepMerge)(nodeDetail, configValues);
45
- (0, output_1.printInfo)("正在更新节点配置...");
45
+ (0, output_1.printInfo)('正在更新节点配置...');
46
46
  await (0, node_1.updateNode)(nodeId, updatePayload);
47
- (0, output_1.printSuccess)("节点配置已更新");
47
+ (0, output_1.printSuccess)('节点配置已更新');
48
48
  }
49
49
  if (options.flowId) {
50
50
  (0, output_1.printInfo)(`在连接流 ${options.flowId} 中测试节点 ${nodeId}`);
@@ -52,9 +52,9 @@ function registerFlowTest(flowCmd) {
52
52
  (0, output_1.printInfo)(`正在测试运行节点 ${nodeId}...`);
53
53
  const result = await (0, node_1.testRunNode)(nodeId);
54
54
  if (result.success) {
55
- (0, output_1.printSuccess)("节点测试成功");
56
- (0, output_1.printHeader)("测试结果");
57
- if (typeof result.data === "object") {
55
+ (0, output_1.printSuccess)('节点测试成功');
56
+ (0, output_1.printHeader)('测试结果');
57
+ if (typeof result.data === 'object') {
58
58
  (0, output_1.printJson)(result.data);
59
59
  }
60
60
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":";;AAaA,4CAoEC;AAhFD,qCAAoE;AACpE,qDAAqF;AACrF,2CAAmH;AACnH,2CAOwB;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,+CAA+C,CAAC;SAC7E,MAAM,CAAC,eAAe,EAAE,8CAA8C,CAAC;SACvE,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAA,2BAAiB,EAAC,OAAO,EAAE,iCAAuB,CAAC,CAAC;YACzE,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,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;oBAC7B,MAAM,YAAY,GAAG,IAAA,0BAAiB,EAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;oBAC1F,MAAM,gBAAgB,GAAG,IAAA,mCAA0B,EAAC,YAAY,CAAC,CAAC;oBAClE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChC,IAAA,qBAAY,EAAC,aAAa,gBAAgB,CAAC,MAAM,OAAO,CAAC,CAAC;wBAC1D,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;4BACnC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;4BACxD,IAAA,qBAAY,EAAC,MAAM,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,aAAa,GAAG,IAAA,gCAAuB,EAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAChF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAA,qBAAY,EAAC,cAAc,aAAa,CAAC,MAAM,OAAO,CAAC,CAAC;oBACxD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;wBAChC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACxD,IAAA,qBAAY,EAAC,MAAM,SAAS,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAED,MAAM,aAAa,GAAG,IAAA,kBAAS,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAE1D,IAAA,kBAAS,EAAC,aAAa,CAAC,CAAC;gBACzB,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACxC,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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/commands/flow/test.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,9 @@ const flow_1 = require("@/api/flow");
5
5
  const output_1 = require("@/utils/output");
6
6
  function registerFlowUpdate(flowCmd) {
7
7
  flowCmd
8
- .command("update <flowId>")
9
- .description("更新连接流")
10
- .option("--name <name>", "新的连接流名称")
8
+ .command('update <flowId>')
9
+ .description('更新连接流')
10
+ .option('--name <name>', '新的连接流名称')
11
11
  .action(async (flowId, options) => {
12
12
  try {
13
13
  const updateData = {};
@@ -15,12 +15,12 @@ function registerFlowUpdate(flowCmd) {
15
15
  updateData.name = options.name;
16
16
  }
17
17
  if (Object.keys(updateData).length === 0) {
18
- (0, output_1.printError)("请至少指定一个要更新的字段(如 --name)");
18
+ (0, output_1.printError)('请至少指定一个要更新的字段(如 --name)');
19
19
  return;
20
20
  }
21
21
  (0, output_1.printInfo)(`正在更新连接流 ${flowId}...`);
22
22
  await (0, flow_1.updateFlow)(flowId, updateData);
23
- (0, output_1.printSuccess)("连接流更新成功");
23
+ (0, output_1.printSuccess)('连接流更新成功');
24
24
  }
25
25
  catch (error) {
26
26
  (0, output_1.printError)(`更新连接流失败: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/flow/update.ts"],"names":[],"mappings":";;AAIA,gDAyBC;AA5BD,qCAAwC;AACxC,2CAAqE;AAErE,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,UAAU,GAAwB,EAAE,CAAC;YAE3C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAA,mBAAU,EAAC,yBAAyB,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAA,kBAAS,EAAC,WAAW,MAAM,KAAK,CAAC,CAAC;YAClC,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrC,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAA,mBAAU,EAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/flow/update.ts"],"names":[],"mappings":";;AAIA,gDAyBC;AA5BD,qCAAwC;AACxC,2CAAqE;AAErE,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,OAAO,CAAC;SACpB,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,MAAc,EAAE,OAAO,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,UAAU,GAA4B,EAAE,CAAC;YAE/C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/B,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAA,mBAAU,EAAC,yBAAyB,CAAC,CAAC;gBACtC,OAAO;YACT,CAAC;YAED,IAAA,kBAAS,EAAC,WAAW,MAAM,KAAK,CAAC,CAAC;YAClC,MAAM,IAAA,iBAAU,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACrC,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,mBAAU,EAAC,YAAa,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +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,CAwL5D"}
1
+ {"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/commands/flow/variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgL5D"}
@@ -12,22 +12,20 @@ const format_1 = require("@/utils/format");
12
12
  const helpers_1 = require("@/commands/flow/helpers");
13
13
  const output_1 = require("@/utils/output");
14
14
  function registerFlowVariables(flowCmd) {
15
- const varCmd = flowCmd
16
- .command("variables")
17
- .description("变量操作");
15
+ const varCmd = flowCmd.command('variables').description('变量操作');
18
16
  varCmd
19
- .command("show <flowId>")
20
- .description("获取连接流中可用的节点变量")
21
- .option("--node-id <nodeId>", "指定目标节点 ID")
22
- .option("--global", "同时显示全局变量")
23
- .option("--format <format>", "输出格式: table | json", "table")
17
+ .command('show <flowId>')
18
+ .description('获取连接流中可用的节点变量')
19
+ .option('--node-id <nodeId>', '指定目标节点 ID')
20
+ .option('--global', '同时显示全局变量')
21
+ .option('--format <format>', '输出格式: table | json', 'table')
24
22
  .action(async (flowId, options) => {
25
23
  try {
26
24
  (0, output_1.printInfo)(`获取连接流 ${flowId} 的详情...`);
27
25
  const flow = await (0, flow_1.getFlowDetail)(flowId);
28
26
  const targetNodeId = options.nodeId || flow.nodes[0]?.n_id || flow.nodes[0]?.id;
29
27
  if (!targetNodeId) {
30
- (0, output_1.printWarning)("连接流中没有节点");
28
+ (0, output_1.printWarning)('连接流中没有节点');
31
29
  return;
32
30
  }
33
31
  const edges = flow.edges || [];
@@ -38,14 +36,18 @@ function registerFlowVariables(flowCmd) {
38
36
  };
39
37
  (0, output_1.printInfo)(`获取节点 ${targetNodeId} 的上游变量...`);
40
38
  const outputTree = await (0, variables_1.getFlowOutputTree)(flowId, treeReq);
41
- if (options.format === "json") {
42
- const result = { flowId, targetNodeId, upstreamNodes: outputTree };
39
+ if (options.format === 'json') {
40
+ const result = {
41
+ flowId,
42
+ targetNodeId,
43
+ upstreamNodes: outputTree,
44
+ };
43
45
  if (options.global) {
44
46
  try {
45
47
  result.globalVariables = await (0, variables_1.getGlobalVariables)();
46
48
  }
47
49
  catch {
48
- result.globalVariables = { error: "获取全局变量失败" };
50
+ result.globalVariables = { error: '获取全局变量失败' };
49
51
  }
50
52
  }
51
53
  (0, output_1.printJson)(result);
@@ -53,12 +55,12 @@ function registerFlowVariables(flowCmd) {
53
55
  }
54
56
  (0, output_1.printHeader)(`节点变量: ${flow.name || flowId}`);
55
57
  (0, output_1.printKeyValue)([
56
- ["Flow ID", flowId],
57
- ["目标节点", targetNodeId],
58
- ["上游节点数", String(outputTree.length)],
58
+ ['Flow ID', flowId],
59
+ ['目标节点', targetNodeId],
60
+ ['上游节点数', String(outputTree.length)],
59
61
  ]);
60
62
  if (outputTree.length === 0) {
61
- (0, output_1.printInfo)("没有上游节点输出变量");
63
+ (0, output_1.printInfo)('没有上游节点输出变量');
62
64
  }
63
65
  else {
64
66
  for (const nodeOutput of outputTree) {
@@ -68,20 +70,20 @@ function registerFlowVariables(flowCmd) {
68
70
  }
69
71
  }
70
72
  if (options.global) {
71
- (0, output_1.printSubHeader)("全局变量");
73
+ (0, output_1.printSubHeader)('全局变量');
72
74
  try {
73
75
  const globalResult = await (0, variables_1.getGlobalVariables)();
74
76
  const globalVars = globalResult.items || [];
75
77
  if (globalVars.length === 0) {
76
- (0, output_1.printInfo)("无全局变量");
78
+ (0, output_1.printInfo)('无全局变量');
77
79
  }
78
80
  else {
79
- const headers = ["变量名", "Key", "类型", "值"];
81
+ const headers = ['变量名', 'Key', '类型', '值'];
80
82
  const rows = globalVars.map((v) => [
81
- v.name || "-",
82
- v.key || "-",
83
- v.type || "-",
84
- JSON.stringify(v.value) ?? "-",
83
+ v.name || '-',
84
+ v.key || '-',
85
+ v.type || '-',
86
+ JSON.stringify(v.value) ?? '-',
85
87
  ]);
86
88
  (0, output_1.printTable)(headers, rows);
87
89
  }
@@ -90,37 +92,37 @@ function registerFlowVariables(flowCmd) {
90
92
  (0, output_1.printError)(`获取全局变量失败: ${error.message}`);
91
93
  }
92
94
  }
93
- (0, output_1.printSuccess)("变量查询完成");
95
+ (0, output_1.printSuccess)('变量查询完成');
94
96
  }
95
97
  catch (error) {
96
98
  (0, output_1.printError)(`获取变量失败: ${error.message}`);
97
99
  }
98
100
  });
99
101
  varCmd
100
- .command("inject <flowId> <nodeId>")
101
- .description("在节点配置中注入变量引用")
102
- .option("--data-file <path>", "JSON 文件路径,格式 {\"properties\": {...}},包含变量占位符")
103
- .option("--data <json>", "JSON 字符串,格式 {\"properties\": {...}},包含变量占位符")
104
- .option("--dry-run", "仅预览替换结果,不实际更新节点", false)
102
+ .command('inject <flowId> <nodeId>')
103
+ .description('在节点配置中注入变量引用')
104
+ .option('--data-file <path>', 'JSON 文件路径,格式 {"properties": {...}},包含变量占位符')
105
+ .option('--data <json>', 'JSON 字符串,格式 {"properties": {...}},包含变量占位符')
106
+ .option('--dry-run', '仅预览替换结果,不实际更新节点', false)
105
107
  .action(async (flowId, nodeId, options) => {
106
108
  try {
107
109
  const configValues = (0, helpers_1.resolveDataOption)(options, helpers_1.NODE_CONFIG_DATA_SCHEMA);
108
110
  if (!configValues) {
109
- (0, output_1.printError)("需要提供 --data <json> 或 --data-file <path>");
111
+ (0, output_1.printError)('需要提供 --data <json> 或 --data-file <path>');
110
112
  return;
111
113
  }
112
114
  const configStr = JSON.stringify(configValues);
113
115
  const refs = (0, format_1.parseVariableRefs)(configStr);
114
116
  if (refs.length === 0) {
115
- (0, output_1.printWarning)("未在配置中发现变量引用(格式: {{N<nodeId>.<fieldPath>}})");
117
+ (0, output_1.printWarning)('未在配置中发现变量引用(格式: {{N<nodeId>.<fieldPath>}})');
116
118
  }
117
119
  else {
118
120
  (0, output_1.printInfo)(`发现 ${refs.length} 个变量引用:`);
119
121
  for (const ref of refs) {
120
- console.log(` ${chalk_1.default.cyan(ref.raw)} → 节点${ref.nodeId}的${ref.path || "输出"}`);
122
+ console.log(` ${chalk_1.default.cyan(ref.raw)} → 节点${ref.nodeId}的${ref.path || '输出'}`);
121
123
  }
122
124
  }
123
- (0, output_1.printInfo)("获取上游节点变量以验证引用...");
125
+ (0, output_1.printInfo)('获取上游节点变量以验证引用...');
124
126
  const flow = await (0, flow_1.getFlowDetail)(flowId);
125
127
  const edges = flow.edges || [];
126
128
  const treeReq = {
@@ -137,7 +139,7 @@ function registerFlowVariables(flowCmd) {
137
139
  }
138
140
  }
139
141
  if (unresolvedRefs.length > 0) {
140
- (0, output_1.printWarning)(`以下变量引用无法在上游节点中找到: ${unresolvedRefs.join(", ")}`);
142
+ (0, output_1.printWarning)(`以下变量引用无法在上游节点中找到: ${unresolvedRefs.join(', ')}`);
141
143
  }
142
144
  (0, output_1.printInfo)(`获取节点 ${nodeId} 的详情...`);
143
145
  const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
@@ -147,25 +149,25 @@ function registerFlowVariables(flowCmd) {
147
149
  }
148
150
  const updatePayload = (0, format_1.deepMerge)(nodeDetail, configValues);
149
151
  if (options.dryRun) {
150
- (0, output_1.printHeader)("预览: 带变量注入的配置");
151
- (0, output_1.printSubHeader)("变量引用列表");
152
+ (0, output_1.printHeader)('预览: 带变量注入的配置');
153
+ (0, output_1.printSubHeader)('变量引用列表');
152
154
  for (const ref of refs) {
153
155
  const resolved = availableNodes.has(ref.nodeId)
154
- ? chalk_1.default.green("✓ 可解析")
155
- : chalk_1.default.red("✗ 无法解析");
156
+ ? chalk_1.default.green('✓ 可解析')
157
+ : chalk_1.default.red('✗ 无法解析');
156
158
  console.log(` ${resolved} ${ref.raw}`);
157
159
  }
158
- (0, output_1.printSubHeader)("待提交的配置");
160
+ (0, output_1.printSubHeader)('待提交的配置');
159
161
  (0, output_1.printJson)(updatePayload);
160
- (0, output_1.printInfo)("dry-run 模式,未实际更新节点");
162
+ (0, output_1.printInfo)('dry-run 模式,未实际更新节点');
161
163
  return;
162
164
  }
163
165
  if (unresolvedRefs.length > 0) {
164
- (0, output_1.printWarning)("存在无法解析的变量引用,继续更新节点...");
166
+ (0, output_1.printWarning)('存在无法解析的变量引用,继续更新节点...');
165
167
  }
166
- (0, output_1.printInfo)("正在更新节点配置...");
168
+ (0, output_1.printInfo)('正在更新节点配置...');
167
169
  await (0, node_1.updateNode)(nodeId, updatePayload);
168
- (0, output_1.printSuccess)("节点配置已更新(含变量引用)");
170
+ (0, output_1.printSuccess)('节点配置已更新(含变量引用)');
169
171
  }
170
172
  catch (error) {
171
173
  (0, output_1.printError)(`变量注入失败: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/commands/flow/variables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/commands/flow/variables.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc1D"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAY1D"}
@@ -11,9 +11,7 @@ const variables_1 = require("@/commands/flow/variables");
11
11
  const create_1 = require("@/commands/flow/create");
12
12
  const update_1 = require("@/commands/flow/update");
13
13
  function registerFlowCommand(program) {
14
- const flowCmd = program
15
- .command("flow")
16
- .description("连接流操作");
14
+ const flowCmd = program.command('flow').description('连接流操作');
17
15
  (0, create_1.registerFlowCreate)(flowCmd);
18
16
  (0, update_1.registerFlowUpdate)(flowCmd);
19
17
  (0, list_1.registerFlowList)(flowCmd);
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":";;AAWA,kDAcC;AAxBD,+CAAwD;AACxD,qDAA8D;AAC9D,+CAAwD;AACxD,+CAAwD;AACxD,qDAA8D;AAC9D,+CAAwD;AACxD,yDAAkE;AAClE,mDAA4D;AAC5D,mDAA4D;AAE5D,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":";;AAWA,kDAYC;AAtBD,+CAAwD;AACxD,qDAA8D;AAC9D,+CAAwD;AACxD,+CAAwD;AACxD,qDAA8D;AAC9D,+CAAwD;AACxD,yDAAkE;AAClE,mDAA4D;AAC5D,mDAA4D;AAE5D,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7D,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAC;IAC5B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,6BAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,IAAA,uBAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,IAAA,iCAAqB,EAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4N/D"}
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgN/D"}
@@ -11,28 +11,26 @@ const output_1 = require("@/utils/output");
11
11
  const format_1 = require("@/utils/format");
12
12
  const chalk_1 = __importDefault(require("chalk"));
13
13
  function registerKnowledgeCommand(program) {
14
- const knowledgeCmd = program
15
- .command("knowledge")
16
- .description("获取节点类型知识");
14
+ const knowledgeCmd = program.command('knowledge').description('获取节点类型知识');
17
15
  knowledgeCmd
18
- .command("categories")
19
- .description("列出所有节点分类")
20
- .option("--type <type>", "分类类型: trigger|action|tool|mcp|model|memory")
16
+ .command('categories')
17
+ .description('列出所有节点分类')
18
+ .option('--type <type>', '分类类型: trigger|action|tool|mcp|model|memory')
21
19
  .action(async (options) => {
22
20
  try {
23
21
  const categories = await (0, knowledge_1.getNodeCategories)({ type: options.type });
24
22
  (0, output_1.printHeader)(`节点分类 (共 ${categories.length} 个)`);
25
23
  for (const cat of categories) {
26
- const key = String(cat.name || "");
24
+ const key = String(cat.name || '');
27
25
  const label = String(cat.label || cat.name || key);
28
- const desc = String(cat.desc || "");
26
+ const desc = String(cat.desc || '');
29
27
  console.log(` ${chalk_1.default.cyan(key.padEnd(20))} ${chalk_1.default.white(label)} ${chalk_1.default.gray(desc)}`);
30
28
  const children = cat.next;
31
29
  if (children && Array.isArray(children) && children.length > 0) {
32
30
  for (const child of children) {
33
- const childKey = String(child.name || "");
31
+ const childKey = String(child.name || '');
34
32
  const childLabel = String(child.label || childKey);
35
- console.log(` ${chalk_1.default.gray("└─")} ${chalk_1.default.dim(childKey)} ${chalk_1.default.dim(childLabel)}`);
33
+ console.log(` ${chalk_1.default.gray('└─')} ${chalk_1.default.dim(childKey)} ${chalk_1.default.dim(childLabel)}`);
36
34
  }
37
35
  }
38
36
  }
@@ -42,48 +40,49 @@ function registerKnowledgeCommand(program) {
42
40
  }
43
41
  });
44
42
  knowledgeCmd
45
- .command("nodes [category]")
46
- .description("搜索节点,展示匹配的 connector 及 actions(含 nodeType)")
47
- .option("--name <name>", "按名称搜索")
48
- .option("--trigger", "仅触发器")
49
- .option("--flow-id <flowId>", "连接流 ID")
50
- .option("--page <number>", "页码", "1")
51
- .option("--size <number>", "每页数量", "50")
52
- .option("--json", "以 JSON 格式输出")
43
+ .command('nodes [category]')
44
+ .description('搜索节点,展示匹配的 connector 及 actions(含 nodeType)')
45
+ .option('--name <name>', '按名称搜索')
46
+ .option('--trigger', '仅触发器')
47
+ .option('--flow-id <flowId>', '连接流 ID')
48
+ .option('--page <number>', '页码', '1')
49
+ .option('--size <number>', '每页数量', '50')
50
+ .option('--json', '以 JSON 格式输出')
53
51
  .action(async (category, options) => {
52
+ const opts = options || {};
54
53
  try {
55
54
  const result = await (0, knowledge_1.searchNodesByCategory)({
56
55
  app_domain_category: category,
57
- name: options?.name,
58
- trigger: options?.trigger || false,
59
- flow_id: options?.flowId,
60
- page: Number(options?.page),
61
- size: Number(options?.size),
56
+ name: opts.name,
57
+ trigger: opts.trigger || false,
58
+ flow_id: opts.flowId,
59
+ page: Number(opts.page),
60
+ size: Number(opts.size),
62
61
  });
63
- if (options?.json) {
62
+ if (opts.json) {
64
63
  (0, output_1.printJson)(result);
65
64
  return;
66
65
  }
67
66
  const items = result.items || [];
68
- (0, output_1.printHeader)(`节点列表${category ? ` [${category}]` : ""} (共 ${result.total} 个)`);
67
+ (0, output_1.printHeader)(`节点列表${category ? ` [${category}]` : ''} (共 ${result.total} 个)`);
69
68
  for (const item of items) {
70
69
  const c = item.connector;
71
- console.log(`\n${chalk_1.default.bold.blue("▸")} ${chalk_1.default.bold.white(c.name)} ${chalk_1.default.gray(`(${c.id})`)}`);
70
+ console.log(`\n${chalk_1.default.bold.blue('▸')} ${chalk_1.default.bold.white(c.name)} ${chalk_1.default.gray(`(${c.id})`)}`);
72
71
  const pairs = [
73
- ["描述", (c.description || "-").substring(0, 80)],
74
- ["类型", c.build_type || c.deployment_type || "-"],
72
+ ['描述', (c.description || '-').substring(0, 80)],
73
+ ['类型', c.build_type || c.deployment_type || '-'],
75
74
  ];
76
75
  if (item.match_type) {
77
- pairs.push(["匹配方式", item.match_type]);
76
+ pairs.push(['匹配方式', item.match_type]);
78
77
  }
79
- (0, output_1.printKeyValue)(pairs, " ");
80
- let actions = item.matched_actions;
81
- if (options?.name) {
78
+ (0, output_1.printKeyValue)(pairs, ' ');
79
+ let actions = item.matched_actions || [];
80
+ if (opts.name) {
82
81
  try {
83
82
  actions = await (0, node_1.getActions)({
84
83
  linkId: c.id,
85
- name: options.name,
86
- trigger: options?.trigger || false,
84
+ name: opts.name,
85
+ trigger: opts.trigger || false,
87
86
  });
88
87
  }
89
88
  catch {
@@ -92,10 +91,11 @@ function registerKnowledgeCommand(program) {
92
91
  }
93
92
  if (actions && actions.length > 0) {
94
93
  console.log(chalk_1.default.gray(` 匹配动作 (${actions.length}):`));
95
- for (const action of actions) {
96
- const triggerTag = action.is_trigger ? chalk_1.default.yellow(" [trigger]") : "";
97
- const nodeType = action.action_type || "-";
98
- console.log(` ${chalk_1.default.cyan(action.action_key || action.id)} ${action.name} ${chalk_1.default.gray("nodeType:")} ${chalk_1.default.green(nodeType)}${triggerTag} ${chalk_1.default.gray("nodeId:")} ${action.id} ${chalk_1.default.gray("connectorId:")} ${action.connector_id}`);
94
+ for (const a of actions) {
95
+ const action = a;
96
+ const triggerTag = action.is_trigger ? chalk_1.default.yellow(' [trigger]') : '';
97
+ const nodeType = action.action_type || '-';
98
+ console.log(` ${chalk_1.default.cyan(String(action.action_key || action.id))} ${action.name} ${chalk_1.default.gray('nodeType:')} ${chalk_1.default.green(String(nodeType))}${triggerTag} ${chalk_1.default.gray('nodeId:')} ${action.id} ${chalk_1.default.gray('connectorId:')} ${action.connector_id}`);
99
99
  }
100
100
  }
101
101
  }
@@ -108,10 +108,10 @@ function registerKnowledgeCommand(program) {
108
108
  }
109
109
  });
110
110
  knowledgeCmd
111
- .command("actions <linkId>")
112
- .description("列出连接器的所有动作及配置 schema")
113
- .option("--trigger", "仅触发器")
114
- .option("--json", "以 JSON 格式输出")
111
+ .command('actions <linkId>')
112
+ .description('列出连接器的所有动作及配置 schema')
113
+ .option('--trigger', '仅触发器')
114
+ .option('--json', '以 JSON 格式输出')
115
115
  .action(async (linkId, options) => {
116
116
  try {
117
117
  const actions = await (0, node_1.getActions)({
@@ -124,32 +124,30 @@ function registerKnowledgeCommand(program) {
124
124
  }
125
125
  (0, output_1.printHeader)(`连接器动作 (共 ${actions.length} 个) — Link: ${linkId}`);
126
126
  for (const action of actions) {
127
- console.log(`\n${chalk_1.default.bold.blue("▸")} ${chalk_1.default.bold.white(action.name)} ${chalk_1.default.gray(`[${action.action_key}]`)}`);
127
+ console.log(`\n${chalk_1.default.bold.blue('▸')} ${chalk_1.default.bold.white(action.name)} ${chalk_1.default.gray(`[${action.action_key}]`)}`);
128
128
  const pairs = [
129
- ["ID", action.id],
130
- ["描述", action.description || "(无)"],
131
- ["Trigger", action.is_trigger ? "是" : "否"],
132
- ["nodeType", action.action_type || "-"],
133
- ["协议", action.protocol || "-"],
134
- ["状态", action.status],
129
+ ['ID', action.id],
130
+ ['描述', action.description || '(无)'],
131
+ ['Trigger', action.is_trigger ? '是' : '否'],
132
+ ['nodeType', action.action_type || '-'],
133
+ ['协议', action.protocol || '-'],
134
+ ['状态', action.status],
135
135
  ];
136
- (0, output_1.printKeyValue)(pairs, " ");
136
+ (0, output_1.printKeyValue)(pairs, ' ');
137
137
  const params = (0, format_1.configSchemaToParams)(action.config_schema?.sub_params);
138
138
  if (params.length > 0) {
139
139
  console.log(chalk_1.default.gray(` 配置参数 (${params.length}):`));
140
140
  for (const p of params) {
141
- const required = p.required ? chalk_1.default.red(" *") : " ";
142
- console.log(` ${required} ${chalk_1.default.cyan(p.name)} ${chalk_1.default.gray(`[${p.type}]`)} ${p.display_name} — ${p.description || "-"}`);
141
+ const required = p.required ? chalk_1.default.red(' *') : ' ';
142
+ console.log(` ${required} ${chalk_1.default.cyan(p.name)} ${chalk_1.default.gray(`[${p.type}]`)} ${p.display_name} — ${p.description || '-'}`);
143
143
  if (p.options && p.options.length > 0) {
144
- const optStr = p.options
145
- .map((o) => `${o.key}:${o.label}`)
146
- .join(", ");
147
- console.log(` ${chalk_1.default.dim("可选值:")} ${chalk_1.default.dim(optStr)}`);
144
+ const optStr = p.options.map((o) => `${o.key}:${o.label}`).join(', ');
145
+ console.log(` ${chalk_1.default.dim('可选值:')} ${chalk_1.default.dim(optStr)}`);
148
146
  }
149
147
  }
150
148
  }
151
149
  else {
152
- (0, output_1.printInfo)(" 无配置参数");
150
+ (0, output_1.printInfo)(' 无配置参数');
153
151
  }
154
152
  }
155
153
  }
@@ -158,24 +156,24 @@ function registerKnowledgeCommand(program) {
158
156
  }
159
157
  });
160
158
  knowledgeCmd
161
- .command("generate-skills [outDir]")
162
- .description("为所有节点生成 skills 文件(.md + .json)")
159
+ .command('generate-skills [outDir]')
160
+ .description('为所有节点生成 skills 文件(.md + .json)')
163
161
  .action(async (outDir) => {
164
- const outputDir = outDir || "./skills";
165
- (0, output_1.printHeader)("生成 Skills 文件");
162
+ const outputDir = outDir || './skills';
163
+ (0, output_1.printHeader)('生成 Skills 文件');
166
164
  (0, output_1.printInfo)(`输出目录: ${outputDir}`);
167
- (0, output_1.printInfo)("正在获取所有节点分类、节点和动作信息...");
168
- (0, output_1.printInfo)("这可能需要一些时间,请耐心等待...\n");
165
+ (0, output_1.printInfo)('正在获取所有节点分类、节点和动作信息...');
166
+ (0, output_1.printInfo)('这可能需要一些时间,请耐心等待...\n');
169
167
  try {
170
168
  const progress = await (0, skillGenerator_1.generateAllSkills)(outputDir);
171
- (0, output_1.printHeader)("生成完成");
169
+ (0, output_1.printHeader)('生成完成');
172
170
  (0, output_1.printKeyValue)([
173
- ["分类数", `${progress.processedCategories}/${progress.totalCategories}`],
174
- ["节点数", `${progress.processedNodes}/${progress.totalNodes}`],
175
- ["动作数", `${progress.processedActions}/${progress.totalActions}`],
176
- ["生成 Skills", String(progress.skillsGenerated)],
177
- ["Markdown 目录", `${outputDir}/markdown/`],
178
- ["JSON 目录", `${outputDir}/json/`],
171
+ ['分类数', `${progress.processedCategories}/${progress.totalCategories}`],
172
+ ['节点数', `${progress.processedNodes}/${progress.totalNodes}`],
173
+ ['动作数', `${progress.processedActions}/${progress.totalActions}`],
174
+ ['生成 Skills', String(progress.skillsGenerated)],
175
+ ['Markdown 目录', `${outputDir}/markdown/`],
176
+ ['JSON 目录', `${outputDir}/json/`],
179
177
  ]);
180
178
  if (progress.errors.length > 0) {
181
179
  (0, output_1.printWarning)(`\n遇到 ${progress.errors.length} 个错误:`);