@newpeak/barista-cli 0.2.244 → 0.2.246
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/liberica/system/ai-conversation/get.d.ts +3 -0
- package/dist/commands/liberica/system/ai-conversation/get.d.ts.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/get.js +67 -0
- package/dist/commands/liberica/system/ai-conversation/get.js.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/index.d.ts +3 -0
- package/dist/commands/liberica/system/ai-conversation/index.d.ts.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/index.js +13 -0
- package/dist/commands/liberica/system/ai-conversation/index.js.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/list.d.ts +3 -0
- package/dist/commands/liberica/system/ai-conversation/list.d.ts.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/list.js +106 -0
- package/dist/commands/liberica/system/ai-conversation/list.js.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/overview.d.ts +3 -0
- package/dist/commands/liberica/system/ai-conversation/overview.d.ts.map +1 -0
- package/dist/commands/liberica/system/ai-conversation/overview.js +83 -0
- package/dist/commands/liberica/system/ai-conversation/overview.js.map +1 -0
- package/dist/commands/liberica/system/index.d.ts.map +1 -1
- package/dist/commands/liberica/system/index.js +2 -0
- package/dist/commands/liberica/system/index.js.map +1 -1
- package/dist/core/api/client.d.ts +15 -0
- package/dist/core/api/client.d.ts.map +1 -1
- package/dist/core/api/client.js +78 -0
- package/dist/core/api/client.js.map +1 -1
- package/dist/types/ai-conversation.d.ts +34 -0
- package/dist/types/ai-conversation.d.ts.map +1 -0
- package/dist/types/ai-conversation.js +2 -0
- package/dist/types/ai-conversation.js.map +1 -0
- package/package.json +1 -1
- package/skills/barista-cli/data/commands.json +19 -1
- package/skills/barista-cli/data/commands.yaml +14 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,8BAA8B,IAAI,OAAO,CAgExD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import Table from 'cli-table3';
|
|
4
|
+
import { configManager } from '../../../../core/config/manager.js';
|
|
5
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { shouldUseJson } from '../../../../utils/output.js';
|
|
7
|
+
export function createAiConversationGetCommand() {
|
|
8
|
+
const cmd = new Command('get');
|
|
9
|
+
cmd.description('Get AI conversation messages by conversation ID');
|
|
10
|
+
cmd.requiredOption('--conversation-id <id>', 'Conversation ID (BigInt as string)');
|
|
11
|
+
cmd.option('--json', 'Output as JSON');
|
|
12
|
+
cmd.action(async (options) => {
|
|
13
|
+
const context = configManager.getCurrentContext();
|
|
14
|
+
const environment = options.env || context.environment;
|
|
15
|
+
const tenant = options.tenant || context.tenant;
|
|
16
|
+
const outputJson = shouldUseJson(options);
|
|
17
|
+
const response = await apiClient.getAiConversationDetail(environment, tenant, options.conversationId);
|
|
18
|
+
if (!response.success) {
|
|
19
|
+
const errorMsg = response.error?.message || 'Failed to get AI conversation detail';
|
|
20
|
+
const errorCode = response.error?.code || 'UNKNOWN';
|
|
21
|
+
if (outputJson) {
|
|
22
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
console.error(chalk.red(`\n✗ Failed: ${errorMsg}`));
|
|
26
|
+
if (errorCode)
|
|
27
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
28
|
+
console.error();
|
|
29
|
+
}
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
const items = Array.isArray(response.data) ? response.data : (response.data?.data || response.data?.rows || []);
|
|
33
|
+
if (!items || items.length === 0) {
|
|
34
|
+
if (outputJson) {
|
|
35
|
+
console.log(JSON.stringify({ success: true, data: [], note: 'No messages found for this conversation' }));
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
console.log(chalk.yellow('\n⚠ No messages found for this conversation\n'));
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (outputJson) {
|
|
43
|
+
console.log(JSON.stringify({ success: true, data: items }, null, 2));
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
console.log(chalk.bold(`\n💬 AI Conversation ${options.conversationId} (${items.length} messages)\n`));
|
|
47
|
+
const table = new Table({
|
|
48
|
+
head: [chalk.bold('#'), chalk.bold('Role'), chalk.bold('Model'), chalk.bold('Tokens'), chalk.bold('Latency'), chalk.bold('Question / Response')],
|
|
49
|
+
style: { head: [] },
|
|
50
|
+
});
|
|
51
|
+
for (const item of items) {
|
|
52
|
+
const content = item.role === 'user' ? String(item.question || '') : String(item.aiResponse || '');
|
|
53
|
+
table.push([
|
|
54
|
+
String(item.messageIndex ?? '-'),
|
|
55
|
+
String(item.role || '-'),
|
|
56
|
+
String(item.model || '-').substring(0, 15),
|
|
57
|
+
String(item.tokenEstimate ?? '-'),
|
|
58
|
+
(item.latencyMs != null ? String(item.latencyMs) : '-') + 'ms',
|
|
59
|
+
content.replace(/\s+/g, ' ').substring(0, 50),
|
|
60
|
+
]);
|
|
61
|
+
}
|
|
62
|
+
console.log(table.toString());
|
|
63
|
+
console.log();
|
|
64
|
+
});
|
|
65
|
+
return cmd;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,2BAA2B,IAAI,OAAO,CASrD"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { createAiConversationListCommand } from './list.js';
|
|
3
|
+
import { createAiConversationGetCommand } from './get.js';
|
|
4
|
+
import { createAiConversationOverviewCommand } from './overview.js';
|
|
5
|
+
export function createAiConversationCommand() {
|
|
6
|
+
const cmd = new Command('ai-conversation');
|
|
7
|
+
cmd.description('AI conversation log and statistics');
|
|
8
|
+
cmd.addCommand(createAiConversationListCommand());
|
|
9
|
+
cmd.addCommand(createAiConversationGetCommand());
|
|
10
|
+
cmd.addCommand(createAiConversationOverviewCommand());
|
|
11
|
+
return cmd;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,eAAe,CAAC;AAEpE,MAAM,UAAU,2BAA2B;IACzC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3C,GAAG,CAAC,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAEtD,GAAG,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAClD,GAAG,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CAAC,mCAAmC,EAAE,CAAC,CAAC;IAEtD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,+BAA+B,IAAI,OAAO,CA6FzD"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import Table from 'cli-table3';
|
|
4
|
+
import { configManager } from '../../../../core/config/manager.js';
|
|
5
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { shouldUseJson } from '../../../../utils/output.js';
|
|
7
|
+
function toInstant(input) {
|
|
8
|
+
// Accept yyyy-MM-dd or full ISO-8601; backend binds Instant
|
|
9
|
+
return /^\d{4}-\d{2}-\d{2}$/.test(input) ? `${input}T00:00:00Z` : input;
|
|
10
|
+
}
|
|
11
|
+
export function createAiConversationListCommand() {
|
|
12
|
+
const cmd = new Command('list');
|
|
13
|
+
cmd.description('List AI conversation logs with pagination and filters');
|
|
14
|
+
cmd.option('--page <number>', 'Page number', '1');
|
|
15
|
+
cmd.option('--size <number>', 'Page size', '20');
|
|
16
|
+
cmd.option('--user-id <id>', 'Filter by user ID');
|
|
17
|
+
cmd.option('--conversation-id <id>', 'Filter by conversation ID');
|
|
18
|
+
cmd.option('--model <model>', 'Filter by model');
|
|
19
|
+
cmd.option('--role <role>', 'Filter by role (user/ai/tool)');
|
|
20
|
+
cmd.option('--keyword <text>', 'LIKE search on question or AI response');
|
|
21
|
+
cmd.option('--start-time <time>', 'Filter start time (yyyy-MM-dd or ISO-8601)');
|
|
22
|
+
cmd.option('--end-time <time>', 'Filter end time (yyyy-MM-dd or ISO-8601)');
|
|
23
|
+
cmd.option('--json', 'Output as JSON');
|
|
24
|
+
cmd.action(async (options) => {
|
|
25
|
+
const context = configManager.getCurrentContext();
|
|
26
|
+
const environment = options.env || context.environment;
|
|
27
|
+
const tenant = options.tenant || context.tenant;
|
|
28
|
+
const outputJson = shouldUseJson(options);
|
|
29
|
+
const params = {
|
|
30
|
+
pageNo: parseInt(options.page, 10),
|
|
31
|
+
pageSize: parseInt(options.size, 10),
|
|
32
|
+
};
|
|
33
|
+
if (options.userId)
|
|
34
|
+
params.userId = options.userId;
|
|
35
|
+
if (options.conversationId)
|
|
36
|
+
params.conversationId = options.conversationId;
|
|
37
|
+
if (options.model)
|
|
38
|
+
params.model = options.model;
|
|
39
|
+
if (options.role)
|
|
40
|
+
params.role = options.role;
|
|
41
|
+
if (options.keyword)
|
|
42
|
+
params.keyword = options.keyword;
|
|
43
|
+
if (options.startTime)
|
|
44
|
+
params.startTime = toInstant(options.startTime);
|
|
45
|
+
if (options.endTime)
|
|
46
|
+
params.endTime = toInstant(options.endTime);
|
|
47
|
+
const response = await apiClient.getAiConversationPage(environment, tenant, params);
|
|
48
|
+
if (!response.success) {
|
|
49
|
+
const errorMsg = response.error?.message || 'Failed to get AI conversation logs';
|
|
50
|
+
const errorCode = response.error?.code || 'UNKNOWN';
|
|
51
|
+
if (outputJson) {
|
|
52
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
console.error(chalk.red(`\n✗ Failed: ${errorMsg}`));
|
|
56
|
+
if (errorCode)
|
|
57
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
58
|
+
console.error();
|
|
59
|
+
}
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
const pageData = response.data;
|
|
63
|
+
const items = pageData?.rows || pageData?.data || [];
|
|
64
|
+
const total = pageData?.totalRows || pageData?.total || 0;
|
|
65
|
+
if (!items || items.length === 0) {
|
|
66
|
+
if (outputJson) {
|
|
67
|
+
console.log(JSON.stringify({ success: true, data: { items: [], pagination: { page: parseInt(options.page, 10), size: parseInt(options.size, 10), total: 0 } } }));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
console.log(chalk.yellow('\n⚠ No AI conversation logs found\n'));
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (outputJson) {
|
|
75
|
+
console.log(JSON.stringify({
|
|
76
|
+
success: true,
|
|
77
|
+
data: {
|
|
78
|
+
items,
|
|
79
|
+
pagination: { page: parseInt(options.page, 10), size: parseInt(options.size, 10), total },
|
|
80
|
+
},
|
|
81
|
+
}, null, 2));
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
console.log(chalk.bold(`\n📊 AI Conversation Logs (${total} total, page ${options.page})\n`));
|
|
85
|
+
const table = new Table({
|
|
86
|
+
head: [chalk.bold('Log ID'), chalk.bold('Conversation'), chalk.bold('Role'), chalk.bold('Model'), chalk.bold('Tokens'), chalk.bold('Latency'), chalk.bold('Question'), chalk.bold('Time')],
|
|
87
|
+
style: { head: [] },
|
|
88
|
+
});
|
|
89
|
+
for (const item of items) {
|
|
90
|
+
table.push([
|
|
91
|
+
String(item.logId || item.id || '').substring(0, 12) + '...',
|
|
92
|
+
String(item.conversationId || '-').substring(0, 12) + '...',
|
|
93
|
+
String(item.role || '-'),
|
|
94
|
+
String(item.model || '-').substring(0, 15),
|
|
95
|
+
String(item.tokenEstimate || 0),
|
|
96
|
+
(item.latencyMs != null ? String(item.latencyMs) : '-') + 'ms',
|
|
97
|
+
String((item.question || '').replace(/\s+/g, ' ')).substring(0, 30),
|
|
98
|
+
String(item.createTime || item.createdAt || '-').substring(0, 19),
|
|
99
|
+
]);
|
|
100
|
+
}
|
|
101
|
+
console.log(table.toString());
|
|
102
|
+
console.log();
|
|
103
|
+
});
|
|
104
|
+
return cmd;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,mCAAmC,IAAI,OAAO,CAyF7D"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import chalk from 'chalk';
|
|
3
|
+
import Table from 'cli-table3';
|
|
4
|
+
import { configManager } from '../../../../core/config/manager.js';
|
|
5
|
+
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { shouldUseJson } from '../../../../utils/output.js';
|
|
7
|
+
export function createAiConversationOverviewCommand() {
|
|
8
|
+
const cmd = new Command('overview');
|
|
9
|
+
cmd.description('Get AI dashboard overview statistics');
|
|
10
|
+
cmd.option('--days <number>', 'Number of days to look back (default 7)');
|
|
11
|
+
cmd.option('--json', 'Output as JSON');
|
|
12
|
+
cmd.action(async (options) => {
|
|
13
|
+
const context = configManager.getCurrentContext();
|
|
14
|
+
const environment = options.env || context.environment;
|
|
15
|
+
const tenant = options.tenant || context.tenant;
|
|
16
|
+
const outputJson = shouldUseJson(options);
|
|
17
|
+
const params = {};
|
|
18
|
+
if (options.days)
|
|
19
|
+
params.days = parseInt(options.days, 10);
|
|
20
|
+
const response = await apiClient.getAiConversationOverview(environment, tenant, params);
|
|
21
|
+
if (!response.success) {
|
|
22
|
+
const errorMsg = response.error?.message || 'Failed to get AI conversation overview';
|
|
23
|
+
const errorCode = response.error?.code || 'UNKNOWN';
|
|
24
|
+
if (outputJson) {
|
|
25
|
+
console.log(JSON.stringify({ success: false, error: { code: errorCode, message: errorMsg } }));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.error(chalk.red(`\n✗ Failed: ${errorMsg}`));
|
|
29
|
+
if (errorCode)
|
|
30
|
+
console.error(chalk.gray(` Error code: ${errorCode}`));
|
|
31
|
+
console.error();
|
|
32
|
+
}
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const overview = response.data;
|
|
36
|
+
if (!overview) {
|
|
37
|
+
if (outputJson) {
|
|
38
|
+
console.log(JSON.stringify({ success: true, data: null, note: 'No overview data available' }));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.log(chalk.yellow('\n⚠ No AI conversation overview data available\n'));
|
|
42
|
+
}
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
if (outputJson) {
|
|
46
|
+
console.log(JSON.stringify({ success: true, data: overview }, null, 2));
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
console.log(chalk.bold('\n📊 AI Dashboard Overview\n'));
|
|
50
|
+
const summaryTable = new Table({ style: { head: [] } });
|
|
51
|
+
summaryTable.push([chalk.gray('Total Conversations:'), String(overview.totalConversations ?? 0)], [chalk.gray('Satisfaction Rate:'), (overview.satisfactionRate != null ? String(overview.satisfactionRate) : '-') + '%'], [chalk.gray('Like Count:'), chalk.green(String(overview.likeCount ?? 0))], [chalk.gray('Dislike Count:'), chalk.red(String(overview.dislikeCount ?? 0))]);
|
|
52
|
+
console.log(summaryTable.toString());
|
|
53
|
+
if (overview.topDislikes && overview.topDislikes.length > 0) {
|
|
54
|
+
console.log(chalk.bold('\n Top Dislikes:\n'));
|
|
55
|
+
const dislikeTable = new Table({
|
|
56
|
+
head: [chalk.bold('Question'), chalk.bold('Reason'), chalk.bold('Time')],
|
|
57
|
+
style: { head: [] },
|
|
58
|
+
});
|
|
59
|
+
for (const d of overview.topDislikes.slice(0, 5)) {
|
|
60
|
+
dislikeTable.push([
|
|
61
|
+
String(d.question || '-').replace(/\s+/g, ' ').substring(0, 40),
|
|
62
|
+
String(d.reason || '-').substring(0, 30),
|
|
63
|
+
String(d.createTime || '-').substring(0, 19),
|
|
64
|
+
]);
|
|
65
|
+
}
|
|
66
|
+
console.log(dislikeTable.toString());
|
|
67
|
+
}
|
|
68
|
+
if (overview.dailyTrend && overview.dailyTrend.length > 0) {
|
|
69
|
+
console.log(chalk.bold('\n Daily Trend:\n'));
|
|
70
|
+
const trendTable = new Table({
|
|
71
|
+
head: [chalk.bold('Date'), chalk.bold('Conversations')],
|
|
72
|
+
style: { head: [] },
|
|
73
|
+
});
|
|
74
|
+
for (const t of overview.dailyTrend) {
|
|
75
|
+
trendTable.push([String(t.date || '-'), String(t.conversationCount ?? 0)]);
|
|
76
|
+
}
|
|
77
|
+
console.log(trendTable.toString());
|
|
78
|
+
}
|
|
79
|
+
console.log();
|
|
80
|
+
});
|
|
81
|
+
return cmd;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/system/ai-conversation/overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/liberica/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,mBAAmB,IAAI,OAAO,CAS7C"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Command } from 'commander';
|
|
2
|
+
import { createAiConversationCommand } from './ai-conversation/index.js';
|
|
2
3
|
import { createDruidCommand } from './druid/index.js';
|
|
3
4
|
import { createDeployInfoCommand } from './deploy-info.js';
|
|
4
5
|
export function createSystemCommand() {
|
|
5
6
|
const systemCommand = new Command('system');
|
|
6
7
|
systemCommand.description('System operations (platform admin only)');
|
|
8
|
+
systemCommand.addCommand(createAiConversationCommand());
|
|
7
9
|
systemCommand.addCommand(createDruidCommand());
|
|
8
10
|
systemCommand.addCommand(createDeployInfoCommand());
|
|
9
11
|
return systemCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,UAAU,mBAAmB;IACjC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAErE,aAAa,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEpD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/liberica/system/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,UAAU,mBAAmB;IACjC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAErE,aAAa,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IACxD,aAAa,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC/C,aAAa,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAEpD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -965,6 +965,21 @@ export declare const apiClient: {
|
|
|
965
965
|
getDruidDataSourceStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
|
|
966
966
|
getDruidSqlStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
|
|
967
967
|
getDruidUriStat(environment: Environment, tenant: string): Promise<APIResponse<any>>;
|
|
968
|
+
getAiConversationPage(environment: Environment, tenant: string, params: {
|
|
969
|
+
pageNo?: number;
|
|
970
|
+
pageSize?: number;
|
|
971
|
+
userId?: string;
|
|
972
|
+
conversationId?: string;
|
|
973
|
+
model?: string;
|
|
974
|
+
role?: string;
|
|
975
|
+
keyword?: string;
|
|
976
|
+
startTime?: string;
|
|
977
|
+
endTime?: string;
|
|
978
|
+
}): Promise<APIResponse<any>>;
|
|
979
|
+
getAiConversationDetail(environment: Environment, tenant: string, conversationId: string): Promise<APIResponse<any>>;
|
|
980
|
+
getAiConversationOverview(environment: Environment, tenant: string, params?: {
|
|
981
|
+
days?: number;
|
|
982
|
+
}): Promise<APIResponse<any>>;
|
|
968
983
|
getDeployInfo(environment: Environment, tenant: string): Promise<APIResponse<DeployInfo>>;
|
|
969
984
|
fpEstimate(environment: Environment, tenant: string, data: FpEstimateRequest): Promise<FpApiResponse>;
|
|
970
985
|
fpActual(environment: Environment, tenant: string, data: FpActualRequest): Promise<FpApiResponse>;
|