digitalsee-ai-flow-cli 0.1.9 → 0.2.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 (114) hide show
  1. package/README.md +349 -66
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +93 -17
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/dip.d.ts.map +1 -0
  6. package/dist/api/dip.js +14 -0
  7. package/dist/api/dip.js.map +1 -0
  8. package/dist/api/flow-log.d.ts.map +1 -0
  9. package/dist/api/flow-log.js +34 -0
  10. package/dist/api/flow-log.js.map +1 -0
  11. package/dist/api/link.d.ts.map +1 -0
  12. package/dist/api/link.js +42 -0
  13. package/dist/api/link.js.map +1 -0
  14. package/dist/api/sync.d.ts.map +1 -0
  15. package/dist/api/sync.js +42 -0
  16. package/dist/api/sync.js.map +1 -0
  17. package/dist/commands/flow/account.d.ts.map +1 -1
  18. package/dist/commands/flow/account.js +10 -3
  19. package/dist/commands/flow/account.js.map +1 -1
  20. package/dist/commands/flow/analyze.d.ts.map +1 -1
  21. package/dist/commands/flow/analyze.js +40 -3
  22. package/dist/commands/flow/analyze.js.map +1 -1
  23. package/dist/commands/flow/create.d.ts.map +1 -1
  24. package/dist/commands/flow/create.js +33 -2
  25. package/dist/commands/flow/create.js.map +1 -1
  26. package/dist/commands/flow/draft.d.ts.map +1 -0
  27. package/dist/commands/flow/draft.js +173 -0
  28. package/dist/commands/flow/draft.js.map +1 -0
  29. package/dist/commands/flow/edge.d.ts.map +1 -1
  30. package/dist/commands/flow/edge.js +71 -12
  31. package/dist/commands/flow/edge.js.map +1 -1
  32. package/dist/commands/flow/helpers.d.ts.map +1 -1
  33. package/dist/commands/flow/helpers.js +99 -2
  34. package/dist/commands/flow/helpers.js.map +1 -1
  35. package/dist/commands/flow/log.d.ts.map +1 -0
  36. package/dist/commands/flow/log.js +325 -0
  37. package/dist/commands/flow/log.js.map +1 -0
  38. package/dist/commands/flow/node.d.ts.map +1 -1
  39. package/dist/commands/flow/node.js +292 -185
  40. package/dist/commands/flow/node.js.map +1 -1
  41. package/dist/commands/flow/test.d.ts.map +1 -1
  42. package/dist/commands/flow/test.js +58 -18
  43. package/dist/commands/flow/test.js.map +1 -1
  44. package/dist/commands/flow/validate.d.ts.map +1 -0
  45. package/dist/commands/flow/validate.js +85 -0
  46. package/dist/commands/flow/validate.js.map +1 -0
  47. package/dist/commands/flow/variables.d.ts.map +1 -1
  48. package/dist/commands/flow/variables.js +18 -5
  49. package/dist/commands/flow/variables.js.map +1 -1
  50. package/dist/commands/flow.d.ts.map +1 -1
  51. package/dist/commands/flow.js +6 -0
  52. package/dist/commands/flow.js.map +1 -1
  53. package/dist/commands/knowledge.d.ts.map +1 -1
  54. package/dist/commands/knowledge.js +17 -2
  55. package/dist/commands/knowledge.js.map +1 -1
  56. package/dist/commands/link/create.d.ts.map +1 -0
  57. package/dist/commands/link/create.js +38 -0
  58. package/dist/commands/link/create.js.map +1 -0
  59. package/dist/commands/link/helpers.d.ts.map +1 -0
  60. package/dist/commands/link/helpers.js +176 -0
  61. package/dist/commands/link/helpers.js.map +1 -0
  62. package/dist/commands/link/list.d.ts.map +1 -0
  63. package/dist/commands/link/list.js +42 -0
  64. package/dist/commands/link/list.js.map +1 -0
  65. package/dist/commands/link/log.d.ts.map +1 -0
  66. package/dist/commands/link/log.js +208 -0
  67. package/dist/commands/link/log.js.map +1 -0
  68. package/dist/commands/link/reset.d.ts.map +1 -0
  69. package/dist/commands/link/reset.js +23 -0
  70. package/dist/commands/link/reset.js.map +1 -0
  71. package/dist/commands/link/templates-cmd.d.ts.map +1 -0
  72. package/dist/commands/link/templates-cmd.js +26 -0
  73. package/dist/commands/link/templates-cmd.js.map +1 -0
  74. package/dist/commands/link/templates.d.ts.map +1 -0
  75. package/dist/commands/link/templates.js +104 -0
  76. package/dist/commands/link/templates.js.map +1 -0
  77. package/dist/commands/link.d.ts.map +1 -0
  78. package/dist/commands/link.js +17 -0
  79. package/dist/commands/link.js.map +1 -0
  80. package/dist/commands/sync/create.d.ts.map +1 -0
  81. package/dist/commands/sync/create.js +38 -0
  82. package/dist/commands/sync/create.js.map +1 -0
  83. package/dist/commands/sync/list.d.ts.map +1 -0
  84. package/dist/commands/sync/list.js +42 -0
  85. package/dist/commands/sync/list.js.map +1 -0
  86. package/dist/commands/sync/log.d.ts.map +1 -0
  87. package/dist/commands/sync/log.js +207 -0
  88. package/dist/commands/sync/log.js.map +1 -0
  89. package/dist/commands/sync/reset.d.ts.map +1 -0
  90. package/dist/commands/sync/reset.js +23 -0
  91. package/dist/commands/sync/reset.js.map +1 -0
  92. package/dist/commands/sync/templates-cmd.d.ts.map +1 -0
  93. package/dist/commands/sync/templates-cmd.js +26 -0
  94. package/dist/commands/sync/templates-cmd.js.map +1 -0
  95. package/dist/commands/sync.d.ts.map +1 -0
  96. package/dist/commands/sync.js +17 -0
  97. package/dist/commands/sync.js.map +1 -0
  98. package/dist/index.js +44 -0
  99. package/dist/index.js.map +1 -1
  100. package/dist/types/index.d.ts.map +1 -1
  101. package/dist/utils/common.d.ts.map +1 -0
  102. package/dist/utils/common.js +14 -0
  103. package/dist/utils/common.js.map +1 -0
  104. package/dist/utils/format.d.ts.map +1 -1
  105. package/dist/utils/format.js +24 -3
  106. package/dist/utils/format.js.map +1 -1
  107. package/dist/utils/mask.d.ts.map +1 -0
  108. package/dist/utils/mask.js +102 -0
  109. package/dist/utils/mask.js.map +1 -0
  110. package/dist/utils/output.d.ts.map +1 -1
  111. package/dist/utils/output.js +132 -27
  112. package/dist/utils/output.js.map +1 -1
  113. package/package.json +1 -1
  114. package/CHANGELOG.md +0 -84
@@ -0,0 +1,176 @@
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.formatSyncStatus = formatSyncStatus;
7
+ exports.formatPeriod = formatPeriod;
8
+ exports.formatConnectorStatus = formatConnectorStatus;
9
+ exports.formatLogStatus = formatLogStatus;
10
+ exports.formatLogType = formatLogType;
11
+ exports.formatSyncDetailType = formatSyncDetailType;
12
+ exports.formatSyncDetailOp = formatSyncDetailOp;
13
+ exports.formatSyncDetailStatus = formatSyncDetailStatus;
14
+ exports.formatFlowRunStatus = formatFlowRunStatus;
15
+ exports.formatDuration = formatDuration;
16
+ const chalk_1 = __importDefault(require("chalk"));
17
+ const SYNC_STATUS_MAP = {
18
+ SUCCESS: '成功',
19
+ FAILED: '失败',
20
+ IN_PROGRESS: '同步中',
21
+ EXCEED: '已超出',
22
+ PREVENT: '已阻止',
23
+ EXCEPTION: '异常',
24
+ };
25
+ function formatSyncStatus(status) {
26
+ if (!status)
27
+ return '-';
28
+ const label = SYNC_STATUS_MAP[status] || status;
29
+ if (status === 'SUCCESS')
30
+ return chalk_1.default.green(label);
31
+ if (status === 'FAILED' || status === 'EXCEPTION')
32
+ return chalk_1.default.red(label);
33
+ if (status === 'IN_PROGRESS')
34
+ return chalk_1.default.blue(label);
35
+ if (status === 'EXCEED' || status === 'PREVENT')
36
+ return chalk_1.default.yellow(label);
37
+ return label;
38
+ }
39
+ function formatPeriod(period, importType) {
40
+ if (importType === 2)
41
+ return '手动同步';
42
+ if (!period && period !== 0)
43
+ return '-';
44
+ if (period === 0)
45
+ return '手动';
46
+ const hours = Math.floor(period / 60);
47
+ const mins = period % 60;
48
+ if (hours > 0 && mins > 0)
49
+ return `每 ${hours} 小时 ${mins} 分钟`;
50
+ if (hours > 0)
51
+ return `每 ${hours} 小时`;
52
+ if (mins > 0)
53
+ return `每 ${mins} 分钟`;
54
+ return `${period} 分钟`;
55
+ }
56
+ const STATUS_MAP = {
57
+ ACTIVE: '已启用',
58
+ INACTIVE: '已禁用',
59
+ };
60
+ function formatConnectorStatus(status) {
61
+ if (!status)
62
+ return '-';
63
+ const label = STATUS_MAP[status] || status;
64
+ if (status === 'ACTIVE')
65
+ return chalk_1.default.green(label);
66
+ if (status === 'INACTIVE')
67
+ return chalk_1.default.gray(label);
68
+ return label;
69
+ }
70
+ // Sync log formatters
71
+ const LOG_STATUS_MAP = {
72
+ 1: '成功',
73
+ 0: '失败',
74
+ 2: '进行中',
75
+ '-1': '警告阈值',
76
+ 3: '部分异常',
77
+ 5: '超出限制',
78
+ };
79
+ function formatLogStatus(viewStatus) {
80
+ if (viewStatus === undefined || viewStatus === null)
81
+ return '-';
82
+ const key = String(viewStatus);
83
+ const label = LOG_STATUS_MAP[viewStatus] || key;
84
+ if (viewStatus === 1)
85
+ return chalk_1.default.green(label);
86
+ if (viewStatus === 0 || viewStatus === 5)
87
+ return chalk_1.default.red(label);
88
+ if (viewStatus === 2)
89
+ return chalk_1.default.blue(label);
90
+ if (viewStatus === -1 || viewStatus === 3)
91
+ return chalk_1.default.yellow(label);
92
+ return label;
93
+ }
94
+ const LOG_TYPE_MAP = {
95
+ '0': '定时任务',
96
+ '1': '手动',
97
+ '2': '事件触发',
98
+ };
99
+ function formatLogType(type) {
100
+ if (type === undefined || type === null)
101
+ return '-';
102
+ return LOG_TYPE_MAP[String(type)] || type;
103
+ }
104
+ const SYNC_DETAIL_TYPE_MAP = {
105
+ USER: '用户',
106
+ ORG: '组织',
107
+ ROLE: '角色',
108
+ };
109
+ function formatSyncDetailType(type) {
110
+ if (!type)
111
+ return '-';
112
+ return SYNC_DETAIL_TYPE_MAP[type] || type;
113
+ }
114
+ const SYNC_DETAIL_OP_MAP = {
115
+ CREATED: '创建',
116
+ UPDATED: '更新',
117
+ DELETED: '删除',
118
+ };
119
+ function formatSyncDetailOp(op) {
120
+ if (!op)
121
+ return '-';
122
+ const label = SYNC_DETAIL_OP_MAP[op] || op;
123
+ if (op === 'CREATED')
124
+ return chalk_1.default.green(label);
125
+ if (op === 'UPDATED')
126
+ return chalk_1.default.yellow(label);
127
+ if (op === 'DELETED')
128
+ return chalk_1.default.red(label);
129
+ return label;
130
+ }
131
+ function formatSyncDetailStatus(status) {
132
+ if (!status)
133
+ return '-';
134
+ if (status === 'SUCCESS')
135
+ return chalk_1.default.green('成功');
136
+ if (status === 'FAILED')
137
+ return chalk_1.default.red('失败');
138
+ return status;
139
+ }
140
+ const FLOW_RUN_STATUS_MAP = {
141
+ 0: '失败',
142
+ 1: '成功',
143
+ 2: '警告',
144
+ 3: '运行中',
145
+ 4: '手动停止',
146
+ 5: '超时终止',
147
+ 6: '超限终止',
148
+ };
149
+ function formatFlowRunStatus(status) {
150
+ if (status === undefined || status === null)
151
+ return '-';
152
+ const label = FLOW_RUN_STATUS_MAP[status] || String(status);
153
+ if (status === 1)
154
+ return chalk_1.default.green(label);
155
+ if (status === 0 || status === 6)
156
+ return chalk_1.default.red(label);
157
+ if (status === 2 || status === 5)
158
+ return chalk_1.default.yellow(label);
159
+ if (status === 3)
160
+ return chalk_1.default.blue(label);
161
+ if (status === 4)
162
+ return chalk_1.default.gray(label);
163
+ return label;
164
+ }
165
+ function formatDuration(ms) {
166
+ if (!ms && ms !== 0)
167
+ return '-';
168
+ if (ms < 1000)
169
+ return `${ms}ms`;
170
+ if (ms < 60000)
171
+ return `${(ms / 1000).toFixed(1)}s`;
172
+ if (ms < 3600000)
173
+ return `${Math.floor(ms / 60000)}m ${Math.round((ms % 60000) / 1000)}s`;
174
+ return `${(ms / 3600000).toFixed(1)}h`;
175
+ }
176
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/commands/link/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/link/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2CvD"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerLinkList = registerLinkList;
4
+ const link_1 = require("@/api/link");
5
+ const output_1 = require("@/utils/output");
6
+ const helpers_1 = require("@/commands/flow/helpers");
7
+ const helpers_2 = require("@/commands/link/helpers");
8
+ function registerLinkList(linkCmd) {
9
+ linkCmd
10
+ .command('list')
11
+ .description('列出已创建的身份上游自动化连接器')
12
+ .option('--page <number>', '页码', '1')
13
+ .option('--size <number>', '每页条数', '20')
14
+ .option('--filter <text>', '按名称筛选')
15
+ .action(async (_options) => {
16
+ try {
17
+ const rawData = await (0, link_1.getLinkConnectorList)();
18
+ const items = Array.isArray(rawData) ? rawData : [];
19
+ const total = items.length;
20
+ if (total === 0) {
21
+ (0, output_1.printInfo)('暂无上游连接器');
22
+ return;
23
+ }
24
+ (0, output_1.printHeader)(`身份上游连接器列表 (共 ${total} 条)`);
25
+ const rows = items.map((item) => [
26
+ String(item.id ?? '-'),
27
+ String(item.profile_name ?? '-'),
28
+ String(item.ds_type ?? '-'),
29
+ (0, helpers_2.formatPeriod)(item.import_period, item.import_type),
30
+ (0, helpers_1.formatDate)(item.last_import_start_datetime, false),
31
+ (0, helpers_1.formatDate)(item.last_import_finish_datetime, false),
32
+ (0, helpers_2.formatSyncStatus)(item.import_status),
33
+ (0, helpers_2.formatConnectorStatus)(item.status),
34
+ ]);
35
+ (0, output_1.printTable)(['ID', '名称', '类型', '同步周期', '开始时间', '结束时间', '同步状态', '连接器状态'], rows, { wrapCols: [0] });
36
+ }
37
+ catch (error) {
38
+ (0, output_1.printError)(`获取上游连接器列表失败: ${error.message}`);
39
+ }
40
+ });
41
+ }
42
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/link/list.ts"],"names":[],"mappings":";;AAMA,4CA2CC;AAhDD,qCAAkD;AAClD,2CAAgF;AAChF,qDAAqD;AACrD,qDAAgG;AAEhG,SAAgB,gBAAgB,CAAC,OAAgB;IAC/C,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,iBAAiB,EAAE,IAAI,EAAE,GAAG,CAAC;SACpC,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC;SACvC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,2BAAoB,GAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;YAE3B,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,IAAA,kBAAS,EAAC,SAAS,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,IAAA,oBAAW,EAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC;YAExC,MAAM,IAAI,GAAI,KAAmC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC;gBAC3B,IAAA,sBAAY,EACV,IAAI,CAAC,aAAmC,EACxC,IAAI,CAAC,WAAiC,CACvC;gBACD,IAAA,oBAAU,EAAC,IAAI,CAAC,0BAAgD,EAAE,KAAK,CAAC;gBACxE,IAAA,oBAAU,EAAC,IAAI,CAAC,2BAAiD,EAAE,KAAK,CAAC;gBACzE,IAAA,0BAAgB,EAAC,IAAI,CAAC,aAAmC,CAAC;gBAC1D,IAAA,+BAAqB,EAAC,IAAI,CAAC,MAA4B,CAAC;aACzD,CAAC,CAAC;YAEH,IAAA,mBAAU,EACR,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,EACJ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,mBAAU,EAAC,gBAAiB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/commands/link/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoCpC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAKtD"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerLinkLog = registerLinkLog;
4
+ const link_1 = require("@/api/link");
5
+ const output_1 = require("@/utils/output");
6
+ const helpers_1 = require("@/commands/flow/helpers");
7
+ const helpers_2 = require("@/commands/link/helpers");
8
+ const common_1 = require("@/utils/common");
9
+ const mask_1 = require("@/utils/mask");
10
+ const TIME_RANGE_MS = {
11
+ '1h': 60 * 60 * 1000,
12
+ '12h': 12 * 60 * 60 * 1000,
13
+ '1d': 24 * 60 * 60 * 1000,
14
+ '7d': 7 * 24 * 60 * 60 * 1000,
15
+ '1m': 30 * 24 * 60 * 60 * 1000,
16
+ };
17
+ function registerLinkLog(linkCmd) {
18
+ const logCmd = linkCmd.command('log').description('同步日志');
19
+ registerLinkLogList(logCmd);
20
+ registerLinkLogDetail(logCmd);
21
+ }
22
+ function registerLinkLogList(logCmd) {
23
+ logCmd
24
+ .command('list')
25
+ .description('列出上游连接器的同步日志')
26
+ .requiredOption('--connector-id <id>', '连接器 ID')
27
+ .option('--page <n>', '页码', '1')
28
+ .option('--size <n>', '每页条数', '20')
29
+ .option('--status <n>', '同步结果: 0=失败, 1=成功, 2=进行中, -1=警告, 3=部分异常')
30
+ .option('--type <n>', '事件类型: 0=定时任务, 1=手动, 2=事件触发')
31
+ .option('--time-range <r>', '时间范围: 1h, 12h, 1d, 7d, 1m')
32
+ .option('--json', '以 JSON 格式输出')
33
+ .action(async (options) => {
34
+ try {
35
+ const connectorId = options.connectorId;
36
+ // 前置检查:仅提醒
37
+ const connectors = await (0, link_1.getLinkConnectorList)();
38
+ const found = Array.isArray(connectors)
39
+ ? connectors.find((c) => String(c.id) === connectorId)
40
+ : undefined;
41
+ if (!found && !options.json) {
42
+ (0, output_1.printWarning)(`未找到连接器: ${connectorId}`);
43
+ }
44
+ else if (!options.json &&
45
+ (!found?.sync_batch_no || found?.sync_batch_no <= 0)) {
46
+ (0, output_1.printWarning)('该连接器尚未执行过同步,可能无日志');
47
+ }
48
+ const params = {
49
+ page: Number(options.page),
50
+ size: Number(options.size),
51
+ };
52
+ if (options.status !== undefined)
53
+ params.status = Number(options.status);
54
+ if (options.type !== undefined)
55
+ params.type = Number(options.type);
56
+ if (options.timeRange) {
57
+ const ms = TIME_RANGE_MS[options.timeRange];
58
+ if (ms) {
59
+ params.startTime = Date.now() - ms;
60
+ }
61
+ }
62
+ const data = await (0, link_1.getLinkSyncLogList)(connectorId, params);
63
+ if (options.json) {
64
+ (0, output_1.printJson)((0, mask_1.maskJson)(data, { maskPatterns: false }));
65
+ return;
66
+ }
67
+ const items = data?.items ?? [];
68
+ const total = data?.total ?? items.length;
69
+ if (items.length === 0) {
70
+ (0, output_1.printInfo)('暂无同步日志');
71
+ return;
72
+ }
73
+ (0, output_1.printHeader)(`上游连接器同步日志 (共 ${total} 条)`);
74
+ const rows = items.map((item) => [
75
+ String(item.id ?? '-'),
76
+ (0, helpers_1.formatDate)(item.start_time),
77
+ (0, helpers_1.formatDate)(item.end_time),
78
+ (0, helpers_2.formatLogType)(item.type),
79
+ (0, helpers_2.formatLogStatus)(item.view_status),
80
+ ]);
81
+ (0, output_1.printTable)(['ID', '开始时间', '结束时间', '事件类型', '状态'], rows, { wrapCols: [0] });
82
+ }
83
+ catch (error) {
84
+ if (options.json) {
85
+ (0, output_1.printJson)({ error: error.message });
86
+ }
87
+ else {
88
+ (0, output_1.printError)(`获取同步日志失败: ${error.message}`);
89
+ }
90
+ }
91
+ });
92
+ }
93
+ function registerLinkLogDetail(logCmd) {
94
+ logCmd
95
+ .command('show')
96
+ .description('查看同步日志详情')
97
+ .requiredOption('--id <logId>', '日志 ID')
98
+ .option('--detail-size <n>', '同步明细每页条数', '10')
99
+ .option('--detail-page <n>', '同步明细页码', '1')
100
+ .option('--detail-type <t>', '资源类型: USER / ORG / ROLE')
101
+ .option('--detail-status <s>', '同步状态: SUCCESS / FAILED')
102
+ .option('--detail-op <o>', '操作类型: CREATED / UPDATED / DELETED')
103
+ .option('--detail-name <n>', '资源名称(模糊匹配)')
104
+ .option('--json', '以 JSON 格式输出')
105
+ .action(async (options) => {
106
+ const logId = options.id;
107
+ try {
108
+ (0, output_1.printInfo)(`正在获取日志详情: ${logId}`);
109
+ const detail = (await (0, link_1.getLinkSyncLogDetail)(logId));
110
+ // 同步明细
111
+ const connectorId = String(detail.connector_id ?? '');
112
+ const detailPage = Number(options.detailPage) || 1;
113
+ const detailSize = Number(options.detailSize) || 10;
114
+ if (options.json) {
115
+ const result = { detail };
116
+ if (connectorId && connectorId !== 'undefined') {
117
+ const contentData = await (0, link_1.getLinkSyncLogContent)(connectorId, logId, detailPage, detailSize, {
118
+ name: options.detailName,
119
+ type: options.detailType,
120
+ status: options.detailStatus,
121
+ operateType: options.detailOp,
122
+ });
123
+ result.content = contentData;
124
+ }
125
+ (0, output_1.printJson)((0, mask_1.maskJson)(result, { maskPatterns: false }));
126
+ return;
127
+ }
128
+ (0, output_1.printHeader)('日志详情');
129
+ const pairs = [
130
+ ['事件 ID', String(detail.id ?? '-')],
131
+ ['开始时间', (0, helpers_1.formatDate)(detail.start_time)],
132
+ ['结束时间', (0, helpers_1.formatDate)(detail.end_time)],
133
+ ['事件类型', (0, helpers_2.formatLogType)(detail.type)],
134
+ ['状态', (0, helpers_2.formatLogStatus)(detail.view_status)],
135
+ ];
136
+ (0, output_1.printKeyValue)(pairs);
137
+ const statsObj = (0, common_1.safeParseJSON)(detail.stats, {});
138
+ if (statsObj) {
139
+ if (statsObj.fail_reason) {
140
+ (0, output_1.printWarning)(`错误原因: ${statsObj.fail_reason}`);
141
+ }
142
+ (0, output_1.printSubHeader)('影响统计');
143
+ const statHeaders = ['类型', '用户', '组织', '角色'];
144
+ const statRows = [
145
+ [
146
+ '创建',
147
+ String(statsObj.created_user ?? 0),
148
+ String(statsObj.created_org ?? 0),
149
+ String(statsObj.created_role ?? 0),
150
+ ],
151
+ [
152
+ '更新',
153
+ String(statsObj.updated_user ?? 0),
154
+ String(statsObj.updated_org ?? 0),
155
+ String(statsObj.updated_role ?? 0),
156
+ ],
157
+ [
158
+ '删除',
159
+ String(statsObj.deleted_user ?? 0),
160
+ String(statsObj.deleted_org ?? 0),
161
+ String(statsObj.deleted_role ?? 0),
162
+ ],
163
+ [
164
+ '异常',
165
+ String(statsObj.failed_user ?? 0),
166
+ String(statsObj.failed_org ?? 0),
167
+ String(statsObj.failed_role ?? 0),
168
+ ],
169
+ ['待处理', String(statsObj.to_delete_limit ?? 0), '-', '-'],
170
+ ];
171
+ (0, output_1.printTable)(statHeaders, statRows);
172
+ }
173
+ if (connectorId && connectorId !== 'undefined') {
174
+ const contentData = await (0, link_1.getLinkSyncLogContent)(connectorId, logId, detailPage, detailSize, {
175
+ name: options.detailName,
176
+ type: options.detailType,
177
+ status: options.detailStatus,
178
+ operateType: options.detailOp,
179
+ });
180
+ const detailItems = contentData?.items ?? [];
181
+ const detailTotal = contentData?.total ?? detailItems.length;
182
+ if (detailItems.length > 0) {
183
+ (0, output_1.printSubHeader)(`同步明细 (第 ${detailPage} 页,共 ${detailTotal} 条)`);
184
+ const detailRows = detailItems.map((item) => [
185
+ String(item.external_name ?? '-'),
186
+ (0, helpers_2.formatSyncDetailType)(item.type),
187
+ (0, helpers_2.formatSyncDetailOp)(item.operate_type),
188
+ (0, helpers_2.formatSyncDetailStatus)(item.status),
189
+ item.error_content ? String(item.error_content) : '(无)',
190
+ ]);
191
+ (0, output_1.printTable)(['资源名称', '资源类型', '操作类型', '同步状态', '异常原因'], detailRows, {
192
+ maxColWidth: 100,
193
+ wrapCols: [4],
194
+ });
195
+ }
196
+ }
197
+ }
198
+ catch (error) {
199
+ if (options.json) {
200
+ (0, output_1.printJson)({ error: error.message });
201
+ }
202
+ else {
203
+ (0, output_1.printError)(`获取日志详情失败: ${error.message}`);
204
+ }
205
+ }
206
+ });
207
+ }
208
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/commands/link/log.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.d.ts","sourceRoot":"","sources":["../../../src/commands/link/reset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAexD"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerLinkReset = registerLinkReset;
4
+ const link_1 = require("@/api/link");
5
+ const output_1 = require("@/utils/output");
6
+ function registerLinkReset(linkCmd) {
7
+ linkCmd
8
+ .command('reset')
9
+ .description('重置上游连接器为模板初始状态')
10
+ .requiredOption('--id <connectorId>', '连接器 ID')
11
+ .action(async (options) => {
12
+ try {
13
+ const id = options.id;
14
+ (0, output_1.printInfo)(`正在重置上游连接器: ${id}`);
15
+ await (0, link_1.resetLinkFlow)(id);
16
+ (0, output_1.printSuccess)('上游连接器已重置为模板初始状态');
17
+ }
18
+ catch (error) {
19
+ (0, output_1.printError)(`重置上游连接器失败: ${error.message}`);
20
+ }
21
+ });
22
+ }
23
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/commands/link/reset.ts"],"names":[],"mappings":";;AAIA,8CAeC;AAlBD,qCAA2C;AAC3C,2CAAqE;AAErE,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,cAAc,CAAC,oBAAoB,EAAE,QAAQ,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;YACtB,IAAA,kBAAS,EAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC9B,MAAM,IAAA,oBAAa,EAAC,EAAE,CAAC,CAAC;YACxB,IAAA,qBAAY,EAAC,iBAAiB,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAA,mBAAU,EAAC,cAAe,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-cmd.d.ts","sourceRoot":"","sources":["../../../src/commands/link/templates-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoB5D"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerLinkTemplates = registerLinkTemplates;
4
+ const templates_1 = require("@/commands/link/templates");
5
+ const output_1 = require("@/utils/output");
6
+ function registerLinkTemplates(linkCmd) {
7
+ linkCmd
8
+ .command('templates')
9
+ .description('列出可用的身份上游自动化模板类型(供 create --type 参考)')
10
+ .action(() => {
11
+ const grouped = new Map();
12
+ for (const tpl of templates_1.LINK_FLOW_TEMPLATES) {
13
+ const group = grouped.get(tpl.linkFlowType) || [];
14
+ group.push([tpl.ds_type, tpl.name, tpl.description]);
15
+ grouped.set(tpl.linkFlowType, group);
16
+ }
17
+ for (const [key, label] of Object.entries(templates_1.FLOW_TYPE_LABELS)) {
18
+ const rows = grouped.get(key);
19
+ if (!rows || rows.length === 0)
20
+ continue;
21
+ (0, output_1.printSubHeader)(`${label} (${key})`);
22
+ (0, output_1.printTable)(['类型', '名称', '描述'], rows);
23
+ }
24
+ });
25
+ }
26
+ //# sourceMappingURL=templates-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates-cmd.js","sourceRoot":"","sources":["../../../src/commands/link/templates-cmd.ts"],"names":[],"mappings":";;AAIA,sDAoBC;AAvBD,yDAAkF;AAClF,2CAA4D;AAE5D,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;QAE9C,KAAK,MAAM,GAAG,IAAI,+BAAmB,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,4BAAgB,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACzC,IAAA,uBAAc,EAAC,GAAG,KAAK,KAAK,GAAG,GAAG,CAAC,CAAC;YACpC,IAAA,mBAAU,EAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/commands/link/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAqFjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAOjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FLOW_TYPE_LABELS = exports.SYNC_FLOW_TEMPLATES = exports.LINK_FLOW_TEMPLATES = void 0;
4
+ exports.LINK_FLOW_TEMPLATES = [
5
+ {
6
+ ds_type: 'DINGDING',
7
+ name: '钉钉',
8
+ description: '阿里巴巴集团打造的智能移动办公平台',
9
+ linkFlowType: 'enterprise',
10
+ },
11
+ {
12
+ ds_type: 'WEWORK',
13
+ name: '企业微信',
14
+ description: '腾讯推出的企业通讯与办公协作平台',
15
+ linkFlowType: 'enterprise',
16
+ },
17
+ {
18
+ ds_type: 'FEISHU',
19
+ name: '飞书',
20
+ description: '字节跳动旗下的新一代企业协作平台',
21
+ linkFlowType: 'enterprise',
22
+ },
23
+ {
24
+ ds_type: 'EHR',
25
+ name: '用友EHR',
26
+ description: '用友网络的人力资源管理系统',
27
+ linkFlowType: 'enterprise',
28
+ },
29
+ {
30
+ ds_type: 'SEEYON',
31
+ name: '致远OA',
32
+ description: '致远互联的协同办公自动化系统',
33
+ linkFlowType: 'enterprise',
34
+ },
35
+ {
36
+ ds_type: 'EDOC',
37
+ name: 'EDOC电子公文',
38
+ description: '文档管理系统',
39
+ linkFlowType: 'enterprise',
40
+ },
41
+ {
42
+ ds_type: 'RRS',
43
+ name: '睿人事',
44
+ description: '智能人力资源管理系统',
45
+ linkFlowType: 'enterprise',
46
+ },
47
+ {
48
+ ds_type: 'BEISEN',
49
+ name: '北森',
50
+ description: '人才管理云服务',
51
+ linkFlowType: 'enterprise',
52
+ },
53
+ {
54
+ ds_type: 'MOKA',
55
+ name: 'MOKA招聘',
56
+ description: '智能招聘管理系统',
57
+ linkFlowType: 'enterprise',
58
+ },
59
+ {
60
+ ds_type: 'SIMPLEHR',
61
+ name: '锦江HR',
62
+ description: '锦江国际集团人力资源管理系统',
63
+ linkFlowType: 'enterprise',
64
+ },
65
+ {
66
+ ds_type: 'AD',
67
+ name: 'Windows AD',
68
+ description: '微软活动目录',
69
+ linkFlowType: 'enterprise',
70
+ },
71
+ {
72
+ ds_type: 'HTTPFLOW',
73
+ name: 'REST API',
74
+ description: '通用HTTP上游接口,通过流程编排实现上游组织数据集成',
75
+ linkFlowType: 'http',
76
+ },
77
+ {
78
+ ds_type: 'DBFLOW',
79
+ name: '数据库',
80
+ description: '支持常见关系型数据库,包括:DB2、MySQL、SQL Server、Oracle',
81
+ linkFlowType: 'database',
82
+ },
83
+ {
84
+ ds_type: 'LDAPFLOW',
85
+ name: 'LDAP',
86
+ description: 'LDAP是轻量级目录访问协议,用于访问和维护分布式目录信息服务',
87
+ linkFlowType: 'ldap',
88
+ },
89
+ ];
90
+ exports.SYNC_FLOW_TEMPLATES = [
91
+ {
92
+ ds_type: 'HTTPPUSHFLOW',
93
+ name: 'REST API',
94
+ description: '通用HTTP下游推送,通过流程编排实现下游组织数据同步',
95
+ linkFlowType: 'http',
96
+ },
97
+ ];
98
+ exports.FLOW_TYPE_LABELS = {
99
+ enterprise: '企业身份源',
100
+ http: '通用HTTP',
101
+ database: '数据库',
102
+ ldap: 'LDAP',
103
+ };
104
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/commands/link/templates.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAuB;IACrD;QACE,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,mBAAmB;QAChC,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,MAAM;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gBAAgB;QAC7B,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,YAAY;KAC3B;IACD;QACE,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6BAA6B;QAC1C,YAAY,EAAE,MAAM;KACrB;IACD;QACE,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,2CAA2C;QACxD,YAAY,EAAE,UAAU;KACzB;IACD;QACE,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iCAAiC;QAC9C,YAAY,EAAE,MAAM;KACrB;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAuB;IACrD;QACE,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,6BAA6B;QAC1C,YAAY,EAAE,MAAM;KACrB;CACF,CAAC;AAEW,QAAA,gBAAgB,GAA2B;IACtD,UAAU,EAAE,OAAO;IACnB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,MAAM;CACb,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D"}