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,177 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerFlowVariables = registerFlowVariables;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const flow_1 = require("@/api/flow");
9
+ const node_1 = require("@/api/node");
10
+ const variables_1 = require("@/api/variables");
11
+ const format_1 = require("@/utils/format");
12
+ const helpers_1 = require("@/commands/flow/helpers");
13
+ const output_1 = require("@/utils/output");
14
+ function registerFlowVariables(flowCmd) {
15
+ const varCmd = flowCmd
16
+ .command("variables")
17
+ .description("变量操作");
18
+ varCmd
19
+ .command("show <flowId>")
20
+ .description("获取连接流中可用的节点变量")
21
+ .option("--node-id <nodeId>", "指定目标节点 ID")
22
+ .option("--global", "同时显示全局变量")
23
+ .option("--format <format>", "输出格式: table | json", "table")
24
+ .action(async (flowId, options) => {
25
+ try {
26
+ (0, output_1.printInfo)(`获取连接流 ${flowId} 的详情...`);
27
+ const flow = await (0, flow_1.getFlowDetail)(flowId);
28
+ const targetNodeId = options.nodeId || flow.nodes[0]?.n_id || flow.nodes[0]?.id;
29
+ if (!targetNodeId) {
30
+ (0, output_1.printWarning)("连接流中没有节点");
31
+ return;
32
+ }
33
+ const edges = flow.edges || [];
34
+ const treeReq = {
35
+ nodeId: targetNodeId,
36
+ node_id: targetNodeId,
37
+ edges,
38
+ };
39
+ (0, output_1.printInfo)(`获取节点 ${targetNodeId} 的上游变量...`);
40
+ const outputTree = await (0, variables_1.getFlowOutputTree)(flowId, treeReq);
41
+ if (options.format === "json") {
42
+ const result = { flowId, targetNodeId, upstreamNodes: outputTree };
43
+ if (options.global) {
44
+ try {
45
+ result.globalVariables = await (0, variables_1.getGlobalVariables)();
46
+ }
47
+ catch {
48
+ result.globalVariables = { error: "获取全局变量失败" };
49
+ }
50
+ }
51
+ (0, output_1.printJson)(result);
52
+ return;
53
+ }
54
+ (0, output_1.printHeader)(`节点变量: ${flow.name || flowId}`);
55
+ (0, output_1.printKeyValue)([
56
+ ["Flow ID", flowId],
57
+ ["目标节点", targetNodeId],
58
+ ["上游节点数", String(outputTree.length)],
59
+ ]);
60
+ if (outputTree.length === 0) {
61
+ (0, output_1.printInfo)("没有上游节点输出变量");
62
+ }
63
+ else {
64
+ for (const nodeOutput of outputTree) {
65
+ (0, output_1.printSubHeader)(`${nodeOutput.connector_name} / ${nodeOutput.action_name} (${nodeOutput.node_id})`);
66
+ console.log(chalk_1.default.gray(` 上游第 ${nodeOutput.seq} 个节点\n`));
67
+ (0, helpers_1.printOutputSchema)(nodeOutput.output, nodeOutput.node_id, 0);
68
+ }
69
+ }
70
+ if (options.global) {
71
+ (0, output_1.printSubHeader)("全局变量");
72
+ try {
73
+ const globalResult = await (0, variables_1.getGlobalVariables)();
74
+ const globalVars = globalResult.items || [];
75
+ if (globalVars.length === 0) {
76
+ (0, output_1.printInfo)("无全局变量");
77
+ }
78
+ else {
79
+ const headers = ["变量名", "Key", "类型", "值"];
80
+ const rows = globalVars.map((v) => [
81
+ v.name || "-",
82
+ v.key || "-",
83
+ v.type || "-",
84
+ JSON.stringify(v.value) ?? "-",
85
+ ]);
86
+ (0, output_1.printTable)(headers, rows);
87
+ }
88
+ }
89
+ catch (error) {
90
+ (0, output_1.printError)(`获取全局变量失败: ${error.message}`);
91
+ }
92
+ }
93
+ (0, output_1.printSuccess)("变量查询完成");
94
+ }
95
+ catch (error) {
96
+ (0, output_1.printError)(`获取变量失败: ${error.message}`);
97
+ }
98
+ });
99
+ varCmd
100
+ .command("inject <flowId> <nodeId>")
101
+ .description("在节点配置中注入变量引用")
102
+ .option("--data-file <path>", "包含变量占位符的 JSON 配置文件路径")
103
+ .option("--data <json>", "包含变量占位符的 JSON 字符串")
104
+ .option("--dry-run", "仅预览替换结果,不实际更新节点", false)
105
+ .action(async (flowId, nodeId, options) => {
106
+ try {
107
+ const configValues = (0, helpers_1.resolveDataOption)(options);
108
+ if (!configValues) {
109
+ (0, output_1.printError)("需要提供 --data <json> 或 --data-file <path>");
110
+ return;
111
+ }
112
+ const configStr = JSON.stringify(configValues);
113
+ const refs = (0, format_1.parseVariableRefs)(configStr);
114
+ if (refs.length === 0) {
115
+ (0, output_1.printWarning)("未在配置中发现变量引用(格式: {{N<nodeId>.<fieldPath>}})");
116
+ }
117
+ else {
118
+ (0, output_1.printInfo)(`发现 ${refs.length} 个变量引用:`);
119
+ for (const ref of refs) {
120
+ console.log(` ${chalk_1.default.cyan(ref.raw)} → 节点${ref.nodeId}的${ref.path || "输出"}`);
121
+ }
122
+ }
123
+ (0, output_1.printInfo)("获取上游节点变量以验证引用...");
124
+ const flow = await (0, flow_1.getFlowDetail)(flowId);
125
+ const edges = flow.edges || [];
126
+ const treeReq = {
127
+ nodeId: nodeId,
128
+ node_id: nodeId,
129
+ edges,
130
+ };
131
+ const outputTree = await (0, variables_1.getFlowOutputTree)(flowId, treeReq);
132
+ const availableNodes = new Set(outputTree.map((o) => o.node_id));
133
+ const unresolvedRefs = [];
134
+ for (const ref of refs) {
135
+ if (!availableNodes.has(ref.nodeId)) {
136
+ unresolvedRefs.push(ref.raw);
137
+ }
138
+ }
139
+ if (unresolvedRefs.length > 0) {
140
+ (0, output_1.printWarning)(`以下变量引用无法在上游节点中找到: ${unresolvedRefs.join(", ")}`);
141
+ }
142
+ (0, output_1.printInfo)(`获取节点 ${nodeId} 的详情...`);
143
+ const nodeDetail = await (0, node_1.getNodeDetail)(nodeId);
144
+ if (!nodeDetail) {
145
+ (0, output_1.printError)(`未找到节点 ${nodeId}`);
146
+ return;
147
+ }
148
+ const existingProps = nodeDetail.properties || {};
149
+ const mergeValues = configValues.properties !== undefined ? configValues.properties : configValues;
150
+ const mergedProperties = (0, helpers_1.deepMergePlain)(existingProps, mergeValues);
151
+ if (options.dryRun) {
152
+ (0, output_1.printHeader)("预览: 带变量注入的配置");
153
+ (0, output_1.printSubHeader)("变量引用列表");
154
+ for (const ref of refs) {
155
+ const resolved = availableNodes.has(ref.nodeId)
156
+ ? chalk_1.default.green("✓ 可解析")
157
+ : chalk_1.default.red("✗ 无法解析");
158
+ console.log(` ${resolved} ${ref.raw}`);
159
+ }
160
+ (0, output_1.printSubHeader)("待提交的配置");
161
+ (0, output_1.printJson)(mergedProperties);
162
+ (0, output_1.printInfo)("dry-run 模式,未实际更新节点");
163
+ return;
164
+ }
165
+ if (unresolvedRefs.length > 0) {
166
+ (0, output_1.printWarning)("存在无法解析的变量引用,继续更新节点...");
167
+ }
168
+ (0, output_1.printInfo)("正在更新节点配置...");
169
+ await (0, node_1.updateNode)(nodeId, { properties: mergedProperties });
170
+ (0, output_1.printSuccess)("节点配置已更新(含变量引用)");
171
+ }
172
+ catch (error) {
173
+ (0, output_1.printError)(`变量注入失败: ${error.message}`);
174
+ }
175
+ });
176
+ }
177
+ //# sourceMappingURL=variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/commands/flow/variables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAY1D"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerFlowCommand = registerFlowCommand;
4
+ const list_1 = require("./flow/list");
5
+ const analyze_1 = require("./flow/analyze");
6
+ const test_1 = require("./flow/test");
7
+ const node_1 = require("./flow/node");
8
+ const account_1 = require("./flow/account");
9
+ const edge_1 = require("./flow/edge");
10
+ const variables_1 = require("./flow/variables");
11
+ function registerFlowCommand(program) {
12
+ const flowCmd = program
13
+ .command("flow")
14
+ .description("连接流操作");
15
+ (0, list_1.registerFlowList)(flowCmd);
16
+ (0, analyze_1.registerFlowAnalyze)(flowCmd);
17
+ (0, test_1.registerFlowTest)(flowCmd);
18
+ (0, node_1.registerFlowNode)(flowCmd);
19
+ (0, account_1.registerFlowAccount)(flowCmd);
20
+ (0, edge_1.registerFlowEdge)(flowCmd);
21
+ (0, variables_1.registerFlowVariables)(flowCmd);
22
+ }
23
+ //# sourceMappingURL=flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/commands/flow.ts"],"names":[],"mappings":";;AASA,kDAYC;AApBD,sCAA+C;AAC/C,4CAAqD;AACrD,sCAA+C;AAC/C,sCAA+C;AAC/C,4CAAqD;AACrD,sCAA+C;AAC/C,gDAAyD;AAEzD,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,MAAM,OAAO,GAAG,OAAO;SACpB,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,OAAO,CAAC,CAAC;IAExB,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"}
@@ -0,0 +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"}
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerKnowledgeCommand = registerKnowledgeCommand;
7
+ const knowledge_1 = require("@/api/knowledge");
8
+ const node_1 = require("@/api/node");
9
+ const skillGenerator_1 = require("@/services/skillGenerator");
10
+ const output_1 = require("@/utils/output");
11
+ const format_1 = require("@/utils/format");
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ function registerKnowledgeCommand(program) {
14
+ const knowledgeCmd = program
15
+ .command("knowledge")
16
+ .description("获取节点类型知识");
17
+ knowledgeCmd
18
+ .command("categories")
19
+ .description("列出所有节点分类")
20
+ .option("--type <type>", "分类类型: trigger|action|tool|mcp|model|memory")
21
+ .action(async (options) => {
22
+ try {
23
+ const categories = await (0, knowledge_1.getNodeCategories)({ type: options.type });
24
+ (0, output_1.printHeader)(`节点分类 (共 ${categories.length} 个)`);
25
+ for (const cat of categories) {
26
+ const key = String(cat.name || "");
27
+ const label = String(cat.label || cat.name || key);
28
+ const desc = String(cat.desc || "");
29
+ console.log(` ${chalk_1.default.cyan(key.padEnd(20))} ${chalk_1.default.white(label)} ${chalk_1.default.gray(desc)}`);
30
+ const children = cat.next;
31
+ if (children && Array.isArray(children) && children.length > 0) {
32
+ for (const child of children) {
33
+ const childKey = String(child.name || "");
34
+ const childLabel = String(child.label || childKey);
35
+ console.log(` ${chalk_1.default.gray("└─")} ${chalk_1.default.dim(childKey)} ${chalk_1.default.dim(childLabel)}`);
36
+ }
37
+ }
38
+ }
39
+ }
40
+ catch (error) {
41
+ (0, output_1.printError)(`获取分类失败: ${error.message}`);
42
+ }
43
+ });
44
+ 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 格式输出")
53
+ .action(async (category, options) => {
54
+ try {
55
+ const result = await (0, knowledge_1.searchNodesByCategory)({
56
+ 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),
62
+ });
63
+ if (options?.json) {
64
+ (0, output_1.printJson)(result);
65
+ return;
66
+ }
67
+ const items = result.items || [];
68
+ (0, output_1.printHeader)(`节点列表${category ? ` [${category}]` : ""} (共 ${result.total} 个)`);
69
+ for (const item of items) {
70
+ 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})`)}`);
72
+ const pairs = [
73
+ ["描述", (c.description || "-").substring(0, 80)],
74
+ ["类型", c.build_type || c.deployment_type || "-"],
75
+ ];
76
+ if (item.match_type) {
77
+ pairs.push(["匹配方式", item.match_type]);
78
+ }
79
+ (0, output_1.printKeyValue)(pairs, " ");
80
+ let actions = item.matched_actions;
81
+ if (options?.name) {
82
+ try {
83
+ actions = await (0, node_1.getActions)({
84
+ linkId: c.id,
85
+ name: options.name,
86
+ trigger: options?.trigger || false,
87
+ });
88
+ }
89
+ catch {
90
+ // fallback to matched_actions
91
+ }
92
+ }
93
+ if (actions && actions.length > 0) {
94
+ 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}`);
99
+ }
100
+ }
101
+ }
102
+ if (result.total > items.length) {
103
+ (0, output_1.printInfo)(`\n第 ${result.page}/${Math.ceil(result.total / result.size)} 页`);
104
+ }
105
+ }
106
+ catch (error) {
107
+ (0, output_1.printError)(`获取节点失败: ${error.message}`);
108
+ }
109
+ });
110
+ knowledgeCmd
111
+ .command("actions <linkId>")
112
+ .description("列出连接器的所有动作及配置 schema")
113
+ .option("--trigger", "仅触发器")
114
+ .option("--json", "以 JSON 格式输出")
115
+ .action(async (linkId, options) => {
116
+ try {
117
+ const actions = await (0, node_1.getActions)({
118
+ linkId,
119
+ trigger: options.trigger,
120
+ });
121
+ if (options.json) {
122
+ (0, output_1.printJson)(actions);
123
+ return;
124
+ }
125
+ (0, output_1.printHeader)(`连接器动作 (共 ${actions.length} 个) — Link: ${linkId}`);
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}]`)}`);
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],
135
+ ];
136
+ (0, output_1.printKeyValue)(pairs, " ");
137
+ const params = (0, format_1.configSchemaToParams)(action.config_schema?.sub_params);
138
+ if (params.length > 0) {
139
+ console.log(chalk_1.default.gray(` 配置参数 (${params.length}):`));
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 || "-"}`);
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)}`);
148
+ }
149
+ }
150
+ }
151
+ else {
152
+ (0, output_1.printInfo)(" 无配置参数");
153
+ }
154
+ }
155
+ }
156
+ catch (error) {
157
+ (0, output_1.printError)(`获取动作失败: ${error.message}`);
158
+ }
159
+ });
160
+ knowledgeCmd
161
+ .command("generate-skills [outDir]")
162
+ .description("为所有节点生成 skills 文件(.md + .json)")
163
+ .action(async (outDir) => {
164
+ const outputDir = outDir || "./skills";
165
+ (0, output_1.printHeader)("生成 Skills 文件");
166
+ (0, output_1.printInfo)(`输出目录: ${outputDir}`);
167
+ (0, output_1.printInfo)("正在获取所有节点分类、节点和动作信息...");
168
+ (0, output_1.printInfo)("这可能需要一些时间,请耐心等待...\n");
169
+ try {
170
+ const progress = await (0, skillGenerator_1.generateAllSkills)(outputDir);
171
+ (0, output_1.printHeader)("生成完成");
172
+ (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/`],
179
+ ]);
180
+ if (progress.errors.length > 0) {
181
+ (0, output_1.printWarning)(`\n遇到 ${progress.errors.length} 个错误:`);
182
+ for (const err of progress.errors.slice(0, 10)) {
183
+ console.log(` - ${chalk_1.default.red(err)}`);
184
+ }
185
+ if (progress.errors.length > 10) {
186
+ console.log(` ... 以及 ${progress.errors.length - 10} 个其他错误`);
187
+ }
188
+ }
189
+ (0, output_1.printSuccess)(`已完成!生成了 ${chalk_1.default.bold(String(progress.skillsGenerated))} 个 Skills 文件`);
190
+ }
191
+ catch (error) {
192
+ (0, output_1.printError)(`生成失败: ${error.message}`);
193
+ }
194
+ });
195
+ }
196
+ //# sourceMappingURL=knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ // Resolve @/ path aliases at runtime
41
+ const path = __importStar(require("path"));
42
+ const Module = require("module");
43
+ const originalResolve = Module._resolveFilename;
44
+ const srcDir = path.resolve(__dirname);
45
+ Module._resolveFilename = function (request, parent, ...args) {
46
+ if (request.startsWith("@/")) {
47
+ return originalResolve.call(this, path.resolve(srcDir, request.slice(2)), parent, ...args);
48
+ }
49
+ return originalResolve.call(this, request, parent, ...args);
50
+ };
51
+ const commander_1 = require("commander");
52
+ const config_1 = require("./commands/config");
53
+ const flow_1 = require("./commands/flow");
54
+ const knowledge_1 = require("./commands/knowledge");
55
+ const chalk_1 = __importDefault(require("chalk"));
56
+ const program = new commander_1.Command();
57
+ program
58
+ .name("ai-flow")
59
+ .description("AI Flow CLI - 连接流管理工具")
60
+ .version("0.1.0");
61
+ (0, config_1.registerConfigCommand)(program);
62
+ (0, flow_1.registerFlowCommand)(program);
63
+ (0, knowledge_1.registerKnowledgeCommand)(program);
64
+ program.on("command:*", () => {
65
+ console.log(chalk_1.default.red(`未知命令: ${program.args.join(" ")}`));
66
+ console.log(`使用 ${chalk_1.default.cyan("ai-flow --help")} 查看可用命令`);
67
+ process.exit(1);
68
+ });
69
+ if (process.argv.length <= 2) {
70
+ program.outputHelp();
71
+ process.exit(0);
72
+ }
73
+ program.parse(process.argv);
74
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,qCAAqC;AACrC,2CAA6B;AAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACvC,MAAM,CAAC,gBAAgB,GAAG,UAExB,OAAe,EACf,MAAW,EACX,GAAG,IAAW;IAEd,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,eAAe,CAAC,IAAI,CACzB,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACtC,MAAM,EACN,GAAG,IAAI,CACR,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,yCAAoC;AACpC,8CAA0D;AAC1D,0CAAsD;AACtD,oDAAgE;AAChE,kDAA0B;AAE1B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,uBAAuB,CAAC;KACpC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;AAC/B,IAAA,0BAAmB,EAAC,OAAO,CAAC,CAAC;AAC7B,IAAA,oCAAwB,EAAC,OAAO,CAAC,CAAC;AAElC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,MAAM,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAC7B,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flowAnalyzer.d.ts","sourceRoot":"","sources":["../../src/services/flowAnalyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAWlE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,UAAU,EAAE;QACV,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,UAAU,EAAE,YAAY,EAAE,CAAC;QAC3B,KAAK,EAAE,YAAY,EAAE,CAAC;QACtB,OAAO,EAAE,YAAY,EAAE,CAAC;QACxB,MAAM,EAAE,YAAY,EAAE,CAAC;KACxB,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqBD,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAsD5D;AAuVD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}