@tunnelhub/mcp 1.0.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.
- package/CONTRIBUTING.md +70 -0
- package/LICENSE +21 -0
- package/README.md +322 -0
- package/dist/auth/browser-auth.d.ts +16 -0
- package/dist/auth/browser-auth.d.ts.map +1 -0
- package/dist/auth/browser-auth.js +144 -0
- package/dist/auth/browser-auth.js.map +1 -0
- package/dist/auth/cognito-client.d.ts +14 -0
- package/dist/auth/cognito-client.d.ts.map +1 -0
- package/dist/auth/cognito-client.js +69 -0
- package/dist/auth/cognito-client.js.map +1 -0
- package/dist/auth/session-manager.d.ts +17 -0
- package/dist/auth/session-manager.d.ts.map +1 -0
- package/dist/auth/session-manager.js +152 -0
- package/dist/auth/session-manager.js.map +1 -0
- package/dist/auth/token-manager.d.ts +50 -0
- package/dist/auth/token-manager.d.ts.map +1 -0
- package/dist/auth/token-manager.js +107 -0
- package/dist/auth/token-manager.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +3 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +7 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/index.d.ts +3 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +7 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/server.d.ts +12 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +46 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/api-gateway/index.d.ts +3 -0
- package/dist/tools/api-gateway/index.d.ts.map +1 -0
- package/dist/tools/api-gateway/index.js +9 -0
- package/dist/tools/api-gateway/index.js.map +1 -0
- package/dist/tools/automations/index.d.ts +3 -0
- package/dist/tools/automations/index.d.ts.map +1 -0
- package/dist/tools/automations/index.js +201 -0
- package/dist/tools/automations/index.js.map +1 -0
- package/dist/tools/integrations/index.d.ts +3 -0
- package/dist/tools/integrations/index.d.ts.map +1 -0
- package/dist/tools/integrations/index.js +10 -0
- package/dist/tools/integrations/index.js.map +1 -0
- package/dist/tools/monitoring/index.d.ts +3 -0
- package/dist/tools/monitoring/index.d.ts.map +1 -0
- package/dist/tools/monitoring/index.js +331 -0
- package/dist/tools/monitoring/index.js.map +1 -0
- package/dist/tools/packages/index.d.ts +3 -0
- package/dist/tools/packages/index.d.ts.map +1 -0
- package/dist/tools/packages/index.js +7 -0
- package/dist/tools/packages/index.js.map +1 -0
- package/dist/tools/session/current-session.d.ts +35 -0
- package/dist/tools/session/current-session.d.ts.map +1 -0
- package/dist/tools/session/current-session.js +32 -0
- package/dist/tools/session/current-session.js.map +1 -0
- package/dist/tools/session/index.d.ts +3 -0
- package/dist/tools/session/index.d.ts.map +1 -0
- package/dist/tools/session/index.js +16 -0
- package/dist/tools/session/index.js.map +1 -0
- package/dist/tools/session/list-environments.d.ts +35 -0
- package/dist/tools/session/list-environments.d.ts.map +1 -0
- package/dist/tools/session/list-environments.js +36 -0
- package/dist/tools/session/list-environments.js.map +1 -0
- package/dist/tools/session/list-sessions.d.ts +35 -0
- package/dist/tools/session/list-sessions.d.ts.map +1 -0
- package/dist/tools/session/list-sessions.js +37 -0
- package/dist/tools/session/list-sessions.js.map +1 -0
- package/dist/tools/session/login.d.ts +34 -0
- package/dist/tools/session/login.d.ts.map +1 -0
- package/dist/tools/session/login.js +27 -0
- package/dist/tools/session/login.js.map +1 -0
- package/dist/tools/session/logout.d.ts +42 -0
- package/dist/tools/session/logout.d.ts.map +1 -0
- package/dist/tools/session/logout.js +32 -0
- package/dist/tools/session/logout.js.map +1 -0
- package/dist/tools/session/switch-session.d.ts +42 -0
- package/dist/tools/session/switch-session.d.ts.map +1 -0
- package/dist/tools/session/switch-session.js +27 -0
- package/dist/tools/session/switch-session.js.map +1 -0
- package/dist/tools/tenants/index.d.ts +3 -0
- package/dist/tools/tenants/index.d.ts.map +1 -0
- package/dist/tools/tenants/index.js +61 -0
- package/dist/tools/tenants/index.js.map +1 -0
- package/dist/tools/users/index.d.ts +3 -0
- package/dist/tools/users/index.d.ts.map +1 -0
- package/dist/tools/users/index.js +7 -0
- package/dist/tools/users/index.js.map +1 -0
- package/dist/types/api.d.ts +108 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +2 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/dynamodb.d.ts +54 -0
- package/dist/types/dynamodb.d.ts.map +1 -0
- package/dist/types/dynamodb.js +55 -0
- package/dist/types/dynamodb.js.map +1 -0
- package/dist/types/mcp.d.ts +271 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +62 -0
- package/dist/types/mcp.js.map +1 -0
- package/dist/utils/api-client.d.ts +44 -0
- package/dist/utils/api-client.d.ts.map +1 -0
- package/dist/utils/api-client.js +201 -0
- package/dist/utils/api-client.js.map +1 -0
- package/dist/utils/error-handler.d.ts +28 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +58 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { AutomationActionLogsParamsSchema, AutomationIdParamsSchema, AutomationListParamsSchema, ExecuteAutomationParamsSchema, } from '../../types/mcp.js';
|
|
2
|
+
import { errorResult, requireSession, textResult } from '../../utils/error-handler.js';
|
|
3
|
+
function summarizeAutomation(automation) {
|
|
4
|
+
return [
|
|
5
|
+
`Automation ID: ${String(automation.uuid || automation.id || 'n/a')}`,
|
|
6
|
+
`Name: ${String(automation.name || 'n/a')}`,
|
|
7
|
+
`Status: ${String(automation.status || 'n/a')}`,
|
|
8
|
+
`Description: ${String(automation.description || 'n/a')}`,
|
|
9
|
+
`Created At: ${String(automation.createdAt || 'n/a')}`,
|
|
10
|
+
`Updated At: ${String(automation.updatedAt || 'n/a')}`,
|
|
11
|
+
].join('\n');
|
|
12
|
+
}
|
|
13
|
+
function summarizeAutomationList(response) {
|
|
14
|
+
const items = Array.isArray(response)
|
|
15
|
+
? response
|
|
16
|
+
: response && typeof response === 'object' && Array.isArray(response.data)
|
|
17
|
+
? (response.data || [])
|
|
18
|
+
: [];
|
|
19
|
+
if (items.length === 0) {
|
|
20
|
+
return 'No automations found.';
|
|
21
|
+
}
|
|
22
|
+
return items
|
|
23
|
+
.slice(0, 10)
|
|
24
|
+
.map((item) => {
|
|
25
|
+
const automation = item;
|
|
26
|
+
return `${String(automation.name || automation.uuid || 'n/a')} | ${String(automation.status || 'n/a')} | ${String(automation.uuid || 'n/a')}`;
|
|
27
|
+
})
|
|
28
|
+
.join('\n');
|
|
29
|
+
}
|
|
30
|
+
function extractAutomations(response) {
|
|
31
|
+
if (Array.isArray(response)) {
|
|
32
|
+
return response;
|
|
33
|
+
}
|
|
34
|
+
if (response && typeof response === 'object' && Array.isArray(response.data)) {
|
|
35
|
+
return (response.data || []);
|
|
36
|
+
}
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const listAutomationsTool = {
|
|
40
|
+
name: 'list_automations_tunnelhub',
|
|
41
|
+
schema: {
|
|
42
|
+
title: 'List TunnelHub Automations',
|
|
43
|
+
description: 'List automations from integrations-service using the current environment.',
|
|
44
|
+
inputSchema: AutomationListParamsSchema,
|
|
45
|
+
annotations: {
|
|
46
|
+
readOnlyHint: true,
|
|
47
|
+
destructiveHint: false,
|
|
48
|
+
idempotentHint: true,
|
|
49
|
+
openWorldHint: false,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
handler: async (params, context) => {
|
|
53
|
+
try {
|
|
54
|
+
const session = await requireSession(context);
|
|
55
|
+
context.apiClient.setSession(session);
|
|
56
|
+
const apiClient = context.apiClient;
|
|
57
|
+
const response = await apiClient.listAutomations(params);
|
|
58
|
+
const items = extractAutomations(response);
|
|
59
|
+
const filteredItems = params.status
|
|
60
|
+
? items.filter((item) => String(item.status || '') === params.status)
|
|
61
|
+
: items;
|
|
62
|
+
const summary = summarizeAutomationList(filteredItems);
|
|
63
|
+
const activeCount = items.filter((item) => String(item.status || '') === 'ACTIVE').length;
|
|
64
|
+
const inactiveCount = items.filter((item) => String(item.status || '') === 'INACTIVE').length;
|
|
65
|
+
return textResult(`Automations:\n\n${summary}\n\nReturned: ${items.length} | Active: ${activeCount} | Inactive: ${inactiveCount}`, {
|
|
66
|
+
automations: filteredItems,
|
|
67
|
+
rawResponse: response,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return errorResult(error);
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
const getAutomationTool = {
|
|
76
|
+
name: 'get_automation_tunnelhub',
|
|
77
|
+
schema: {
|
|
78
|
+
title: 'Get TunnelHub Automation',
|
|
79
|
+
description: 'Get automation details by id.',
|
|
80
|
+
inputSchema: AutomationIdParamsSchema,
|
|
81
|
+
annotations: {
|
|
82
|
+
readOnlyHint: true,
|
|
83
|
+
destructiveHint: false,
|
|
84
|
+
idempotentHint: true,
|
|
85
|
+
openWorldHint: false,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
handler: async (params, context) => {
|
|
89
|
+
try {
|
|
90
|
+
const session = await requireSession(context);
|
|
91
|
+
context.apiClient.setSession(session);
|
|
92
|
+
const apiClient = context.apiClient;
|
|
93
|
+
const automation = await apiClient.getAutomation(params.automationId);
|
|
94
|
+
return textResult(`Automation details:\n\n${summarizeAutomation(automation)}`, automation);
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
return errorResult(error);
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
const listAutomationDeploysTool = {
|
|
102
|
+
name: 'list_automation_deploys_tunnelhub',
|
|
103
|
+
schema: {
|
|
104
|
+
title: 'List Automation Deploys',
|
|
105
|
+
description: 'List deploy history for a TunnelHub automation.',
|
|
106
|
+
inputSchema: AutomationIdParamsSchema,
|
|
107
|
+
annotations: {
|
|
108
|
+
readOnlyHint: true,
|
|
109
|
+
destructiveHint: false,
|
|
110
|
+
idempotentHint: true,
|
|
111
|
+
openWorldHint: false,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
handler: async (params, context) => {
|
|
115
|
+
try {
|
|
116
|
+
const session = await requireSession(context);
|
|
117
|
+
context.apiClient.setSession(session);
|
|
118
|
+
const apiClient = context.apiClient;
|
|
119
|
+
const deploys = await apiClient.listAutomationDeploys(params.automationId);
|
|
120
|
+
const items = Array.isArray(deploys) ? deploys : [];
|
|
121
|
+
const summary = items.length === 0
|
|
122
|
+
? 'No deploys found.'
|
|
123
|
+
: items.slice(0, 5).map((item) => {
|
|
124
|
+
const deploy = item;
|
|
125
|
+
return `${String(deploy.deployId || deploy.internalSequence || 'n/a')} | ${String(deploy.createdAt || 'n/a')} | ${String(deploy.message || 'n/a')}`;
|
|
126
|
+
}).join('\n');
|
|
127
|
+
return textResult(`Deploy history for ${params.automationId}:\n\n${summary}`, { deploys });
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return errorResult(error);
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
const getAutomationActionLogsTool = {
|
|
135
|
+
name: 'get_automation_action_logs_tunnelhub',
|
|
136
|
+
schema: {
|
|
137
|
+
title: 'Get Automation Action Logs',
|
|
138
|
+
description: 'Read action logs for a TunnelHub automation.',
|
|
139
|
+
inputSchema: AutomationActionLogsParamsSchema,
|
|
140
|
+
annotations: {
|
|
141
|
+
readOnlyHint: true,
|
|
142
|
+
destructiveHint: false,
|
|
143
|
+
idempotentHint: true,
|
|
144
|
+
openWorldHint: false,
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
handler: async (params, context) => {
|
|
148
|
+
try {
|
|
149
|
+
const session = await requireSession(context);
|
|
150
|
+
context.apiClient.setSession(session);
|
|
151
|
+
const apiClient = context.apiClient;
|
|
152
|
+
const logs = await apiClient.getAutomationActionLogs(params.automationId, params);
|
|
153
|
+
const items = Array.isArray(logs)
|
|
154
|
+
? logs
|
|
155
|
+
: logs && typeof logs === 'object' && Array.isArray(logs.data)
|
|
156
|
+
? (logs.data || [])
|
|
157
|
+
: [];
|
|
158
|
+
return textResult(`Action logs for ${params.automationId}: ${items.length} item(s).`, {
|
|
159
|
+
logs,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
return errorResult(error);
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
const executeAutomationTool = {
|
|
168
|
+
name: 'execute_automation_tunnelhub',
|
|
169
|
+
schema: {
|
|
170
|
+
title: 'Execute Automation',
|
|
171
|
+
description: 'Dispatch a TunnelHub automation manually, same flow used by the UI.',
|
|
172
|
+
inputSchema: ExecuteAutomationParamsSchema,
|
|
173
|
+
annotations: {
|
|
174
|
+
readOnlyHint: false,
|
|
175
|
+
destructiveHint: false,
|
|
176
|
+
idempotentHint: false,
|
|
177
|
+
openWorldHint: true,
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
handler: async (params, context) => {
|
|
181
|
+
try {
|
|
182
|
+
const session = await requireSession(context);
|
|
183
|
+
context.apiClient.setSession(session);
|
|
184
|
+
const apiClient = context.apiClient;
|
|
185
|
+
const result = await apiClient.executeAutomation(params.automationId, params.payload);
|
|
186
|
+
return textResult(`Manual dispatch triggered for automation ${params.automationId}.`, result);
|
|
187
|
+
}
|
|
188
|
+
catch (error) {
|
|
189
|
+
return errorResult(error);
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
export function registerAutomationTools(server, context) {
|
|
194
|
+
const toolContext = context;
|
|
195
|
+
server.registerTool(listAutomationsTool.name, listAutomationsTool.schema, (params) => listAutomationsTool.handler(params, toolContext));
|
|
196
|
+
server.registerTool(getAutomationTool.name, getAutomationTool.schema, (params) => getAutomationTool.handler(params, toolContext));
|
|
197
|
+
server.registerTool(listAutomationDeploysTool.name, listAutomationDeploysTool.schema, (params) => listAutomationDeploysTool.handler(params, toolContext));
|
|
198
|
+
server.registerTool(getAutomationActionLogsTool.name, getAutomationActionLogsTool.schema, (params) => getAutomationActionLogsTool.handler(params, toolContext));
|
|
199
|
+
server.registerTool(executeAutomationTool.name, executeAutomationTool.schema, (params) => executeAutomationTool.handler(params, toolContext));
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/automations/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/integrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAQpF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function registerIntegrationTools(_server, _context) {
|
|
2
|
+
// TODO: Implement integration tools
|
|
3
|
+
// - list_integrations
|
|
4
|
+
// - get_integration
|
|
5
|
+
// - create_integration
|
|
6
|
+
// - update_integration
|
|
7
|
+
// - delete_integration
|
|
8
|
+
// - get_integration_versions
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/integrations/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CAAC,OAAkB,EAAE,QAAiB;IAC5E,oCAAoC;IACpC,sBAAsB;IACtB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,6BAA6B;AAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/monitoring/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAqYzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAQjF"}
|
|
@@ -0,0 +1,331 @@
|
|
|
1
|
+
import { ExecutionDetailsParamsSchema, ExecutionListParamsSchema, ExecutionLogsParamsSchema, ExecutionTracesParamsSchema, FindExecutionParamsSchema, } from '../../types/mcp.js';
|
|
2
|
+
import { errorResult, requireSession, textResult } from '../../utils/error-handler.js';
|
|
3
|
+
function extractExecutions(response) {
|
|
4
|
+
if (Array.isArray(response)) {
|
|
5
|
+
return response;
|
|
6
|
+
}
|
|
7
|
+
if (response && typeof response === 'object' && Array.isArray(response.data)) {
|
|
8
|
+
return response.data || [];
|
|
9
|
+
}
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
function executionIdOf(execution) {
|
|
13
|
+
return execution.executionId || execution.uuid || 'n/a';
|
|
14
|
+
}
|
|
15
|
+
function executionPeriodOf(execution) {
|
|
16
|
+
return execution.executionPeriod || execution.execPeriod || execution.period || (execution.createdAt ? execution.createdAt.slice(0, 7) : 'unknown');
|
|
17
|
+
}
|
|
18
|
+
function formatInTimeZone(value, timeZone) {
|
|
19
|
+
if (!value) {
|
|
20
|
+
return 'n/a';
|
|
21
|
+
}
|
|
22
|
+
const date = new Date(value);
|
|
23
|
+
if (Number.isNaN(date.getTime())) {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
return new Intl.DateTimeFormat('pt-BR', {
|
|
27
|
+
timeZone,
|
|
28
|
+
year: 'numeric',
|
|
29
|
+
month: '2-digit',
|
|
30
|
+
day: '2-digit',
|
|
31
|
+
hour: '2-digit',
|
|
32
|
+
minute: '2-digit',
|
|
33
|
+
second: '2-digit',
|
|
34
|
+
hour12: false,
|
|
35
|
+
}).format(date);
|
|
36
|
+
}
|
|
37
|
+
function summarizeExecutionRow(execution, timeZone) {
|
|
38
|
+
return [
|
|
39
|
+
`${executionIdOf(execution)} | ${execution.status || 'n/a'} | ${formatInTimeZone(execution.createdAt, timeZone)}`,
|
|
40
|
+
`automation=${execution.automationId || 'n/a'} | period=${executionPeriodOf(execution)} | processed=${String(execution.processedItems ?? 'n/a')}`,
|
|
41
|
+
].join('\n');
|
|
42
|
+
}
|
|
43
|
+
function summarizeExecutionList(executions, timeZone) {
|
|
44
|
+
if (executions.length === 0) {
|
|
45
|
+
return 'No executions found for the selected range.';
|
|
46
|
+
}
|
|
47
|
+
return executions.slice(0, 10).map((execution) => summarizeExecutionRow(execution, timeZone)).join('\n\n');
|
|
48
|
+
}
|
|
49
|
+
function summarizeExecutionDetails(details, timeZone) {
|
|
50
|
+
const execution = details.execution;
|
|
51
|
+
const automation = details.automation;
|
|
52
|
+
if (!execution) {
|
|
53
|
+
return 'Execution details returned no execution payload.';
|
|
54
|
+
}
|
|
55
|
+
return [
|
|
56
|
+
`Automation: ${automation?.name || execution.automationName || automation?.uuid || execution.automationId || 'n/a'}`,
|
|
57
|
+
`Automation ID: ${execution.automationId || automation?.uuid || 'n/a'}`,
|
|
58
|
+
`Execution ID: ${executionIdOf(execution)}`,
|
|
59
|
+
`Execution Period: ${executionPeriodOf(execution)}`,
|
|
60
|
+
`Status: ${execution.status || 'n/a'}`,
|
|
61
|
+
`Created At: ${formatInTimeZone(execution.createdAt, timeZone)} (${execution.createdAt || 'n/a'} UTC)`,
|
|
62
|
+
`Finished At: ${formatInTimeZone(execution.finishedAt, timeZone)} (${execution.finishedAt || 'n/a'} UTC)`,
|
|
63
|
+
`Processed Items: ${String(execution.processedItems ?? 'n/a')}`,
|
|
64
|
+
`Success: ${String(execution.totalSuccess ?? 'n/a')}`,
|
|
65
|
+
`Fail: ${String(execution.totalFail ?? 'n/a')}`,
|
|
66
|
+
`Neutral: ${String(execution.totalNeutral ?? 'n/a')}`,
|
|
67
|
+
`Message: ${String(execution.message ?? 'n/a')}`,
|
|
68
|
+
].join('\n');
|
|
69
|
+
}
|
|
70
|
+
function tracePreview(traces, timeZone, limit = 20, fromEnd = false) {
|
|
71
|
+
if (traces.length === 0) {
|
|
72
|
+
return 'No trace lines returned.';
|
|
73
|
+
}
|
|
74
|
+
const selectedTraces = fromEnd ? traces.slice(-limit) : traces.slice(0, limit);
|
|
75
|
+
return selectedTraces.map((trace, index) => {
|
|
76
|
+
const rawTimestamp = trace.timestamp ?? trace.ingestionTime;
|
|
77
|
+
const timestamp = typeof rawTimestamp === 'string'
|
|
78
|
+
? formatInTimeZone(rawTimestamp, timeZone)
|
|
79
|
+
: String(rawTimestamp ?? 'n/a');
|
|
80
|
+
const level = trace.level ? `[${String(trace.level)}] ` : '';
|
|
81
|
+
const status = trace.status ? `(${String(trace.status)}) ` : '';
|
|
82
|
+
const message = String(trace.message ?? trace.eventMessage ?? trace.msg ?? JSON.stringify(trace));
|
|
83
|
+
return `${index + 1}. ${timestamp} ${level}${status}${message}`;
|
|
84
|
+
}).join('\n');
|
|
85
|
+
}
|
|
86
|
+
function extractTraces(response) {
|
|
87
|
+
if (Array.isArray(response.traces)) {
|
|
88
|
+
return response.traces;
|
|
89
|
+
}
|
|
90
|
+
if (Array.isArray(response.items)) {
|
|
91
|
+
return response.items;
|
|
92
|
+
}
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
function logsPreview(response, limit = 20) {
|
|
96
|
+
const rows = Array.isArray(response.data) ? response.data : [];
|
|
97
|
+
if (rows.length === 0) {
|
|
98
|
+
return 'No execution logs returned.';
|
|
99
|
+
}
|
|
100
|
+
return rows.slice(0, limit).map((row, index) => {
|
|
101
|
+
const jsonItem = row.jsonItem;
|
|
102
|
+
const createdAt = String(row.createdAt ?? 'n/a');
|
|
103
|
+
const action = String(row.action ?? 'n/a');
|
|
104
|
+
const status = String(row.status ?? 'n/a');
|
|
105
|
+
const message = String(row.message ?? jsonItem?.message ?? '');
|
|
106
|
+
return `${index + 1}. ${createdAt} [${action}/${status}] ${message}`.trim();
|
|
107
|
+
}).join('\n');
|
|
108
|
+
}
|
|
109
|
+
function traceIssueSummary(traces) {
|
|
110
|
+
const warns = traces.filter((trace) => String(trace.level || '').toUpperCase() === 'WARN').length;
|
|
111
|
+
const errors = traces.filter((trace) => String(trace.level || '').toUpperCase() === 'ERROR').length;
|
|
112
|
+
return `WARN: ${warns} | ERROR: ${errors}`;
|
|
113
|
+
}
|
|
114
|
+
const summarizeExecutionTool = {
|
|
115
|
+
name: 'summarize_execution_tunnelhub',
|
|
116
|
+
schema: {
|
|
117
|
+
title: 'Summarize Execution',
|
|
118
|
+
description: 'Summarize one execution with details, logs, and traces.',
|
|
119
|
+
inputSchema: ExecutionDetailsParamsSchema,
|
|
120
|
+
annotations: {
|
|
121
|
+
readOnlyHint: true,
|
|
122
|
+
destructiveHint: false,
|
|
123
|
+
idempotentHint: true,
|
|
124
|
+
openWorldHint: false,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
handler: async (params, context) => {
|
|
128
|
+
try {
|
|
129
|
+
const session = await requireSession(context);
|
|
130
|
+
context.apiClient.setSession(session);
|
|
131
|
+
const apiClient = context.apiClient;
|
|
132
|
+
const [details, logs, traces] = await Promise.all([
|
|
133
|
+
apiClient.getExecutionDetails(params),
|
|
134
|
+
apiClient.getExecutionLogs({
|
|
135
|
+
executionId: params.executionId,
|
|
136
|
+
automationId: params.automationId,
|
|
137
|
+
period: params.executionPeriod,
|
|
138
|
+
current: 1,
|
|
139
|
+
pageSize: 20,
|
|
140
|
+
}),
|
|
141
|
+
apiClient.getExecutionTraces({
|
|
142
|
+
executionId: params.executionId,
|
|
143
|
+
automationId: params.automationId,
|
|
144
|
+
period: params.executionPeriod,
|
|
145
|
+
pageSize: 100,
|
|
146
|
+
}),
|
|
147
|
+
]);
|
|
148
|
+
const traceLines = extractTraces(traces);
|
|
149
|
+
const logCount = Array.isArray(logs.data) ? logs.data.length : 0;
|
|
150
|
+
const timeZone = session.user.timezone;
|
|
151
|
+
return textResult(`Execution summary:\n\n${summarizeExecutionDetails(details, timeZone)}\n\nTrace summary: ${traceIssueSummary(traceLines)} | Total traces: ${traceLines.length} | Logs: ${logCount}\n\nFirst traces:\n${tracePreview(traceLines, timeZone, 5)}\n\nLast traces:\n${tracePreview(traceLines, timeZone, 5, true)}\n\nLogs:\n${logsPreview(logs, 10)}`, { details, logs, traces });
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
return errorResult(error);
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
const listExecutionsTool = {
|
|
159
|
+
name: 'list_automation_executions_tunnelhub',
|
|
160
|
+
schema: {
|
|
161
|
+
title: 'List Automation Executions',
|
|
162
|
+
description: 'List automation executions for a required date range. startDate and endDate are mandatory.',
|
|
163
|
+
inputSchema: ExecutionListParamsSchema,
|
|
164
|
+
annotations: {
|
|
165
|
+
readOnlyHint: true,
|
|
166
|
+
destructiveHint: false,
|
|
167
|
+
idempotentHint: true,
|
|
168
|
+
openWorldHint: false,
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
handler: async (params, context) => {
|
|
172
|
+
try {
|
|
173
|
+
const session = await requireSession(context);
|
|
174
|
+
context.apiClient.setSession(session);
|
|
175
|
+
const apiClient = context.apiClient;
|
|
176
|
+
const response = await apiClient.listExecutions(params);
|
|
177
|
+
const executions = extractExecutions(response);
|
|
178
|
+
const timeZone = session.user.timezone;
|
|
179
|
+
return textResult(`Executions from ${params.startDate} to ${params.endDate} (${timeZone}):\n\n${summarizeExecutionList(executions, timeZone)}`, { response, executions });
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
return errorResult(error);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
};
|
|
186
|
+
const findExecutionTool = {
|
|
187
|
+
name: 'find_execution_tunnelhub',
|
|
188
|
+
schema: {
|
|
189
|
+
title: 'Find Execution',
|
|
190
|
+
description: 'Find an execution within a required date range and resolve its execution period.',
|
|
191
|
+
inputSchema: FindExecutionParamsSchema,
|
|
192
|
+
annotations: {
|
|
193
|
+
readOnlyHint: true,
|
|
194
|
+
destructiveHint: false,
|
|
195
|
+
idempotentHint: true,
|
|
196
|
+
openWorldHint: false,
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
handler: async (params, context) => {
|
|
200
|
+
try {
|
|
201
|
+
const session = await requireSession(context);
|
|
202
|
+
context.apiClient.setSession(session);
|
|
203
|
+
const apiClient = context.apiClient;
|
|
204
|
+
const execution = await apiClient.findExecution(params);
|
|
205
|
+
if (!execution) {
|
|
206
|
+
return textResult(`No execution found from ${params.startDate} to ${params.endDate}.`);
|
|
207
|
+
}
|
|
208
|
+
return textResult(`Execution found:\n\n${summarizeExecutionRow(execution, session.user.timezone)}`, {
|
|
209
|
+
...execution,
|
|
210
|
+
executionId: executionIdOf(execution),
|
|
211
|
+
executionPeriod: executionPeriodOf(execution),
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
return errorResult(error);
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
};
|
|
219
|
+
const getExecutionTool = {
|
|
220
|
+
name: 'get_execution_tunnelhub',
|
|
221
|
+
schema: {
|
|
222
|
+
title: 'Get Execution',
|
|
223
|
+
description: 'Get execution summary details for one automation execution. Requires automationId, executionId, and executionPeriod.',
|
|
224
|
+
inputSchema: ExecutionDetailsParamsSchema,
|
|
225
|
+
annotations: {
|
|
226
|
+
readOnlyHint: true,
|
|
227
|
+
destructiveHint: false,
|
|
228
|
+
idempotentHint: true,
|
|
229
|
+
openWorldHint: false,
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
handler: async (params, context) => {
|
|
233
|
+
try {
|
|
234
|
+
const session = await requireSession(context);
|
|
235
|
+
context.apiClient.setSession(session);
|
|
236
|
+
const apiClient = context.apiClient;
|
|
237
|
+
const details = await apiClient.getExecutionDetails(params);
|
|
238
|
+
return textResult(`Execution details:\n\n${summarizeExecutionDetails(details, session.user.timezone)}`, details);
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
return errorResult(error);
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
const getExecutionTracesTool = {
|
|
246
|
+
name: 'get_execution_traces_tunnelhub',
|
|
247
|
+
schema: {
|
|
248
|
+
title: 'Get Execution Traces',
|
|
249
|
+
description: 'Get execution traces for one automation execution.',
|
|
250
|
+
inputSchema: ExecutionTracesParamsSchema,
|
|
251
|
+
annotations: {
|
|
252
|
+
readOnlyHint: true,
|
|
253
|
+
destructiveHint: false,
|
|
254
|
+
idempotentHint: true,
|
|
255
|
+
openWorldHint: false,
|
|
256
|
+
},
|
|
257
|
+
},
|
|
258
|
+
handler: async (params, context) => {
|
|
259
|
+
try {
|
|
260
|
+
const session = await requireSession(context);
|
|
261
|
+
context.apiClient.setSession(session);
|
|
262
|
+
const apiClient = context.apiClient;
|
|
263
|
+
const requestParams = {
|
|
264
|
+
executionId: params.executionId,
|
|
265
|
+
automationId: params.automationId,
|
|
266
|
+
period: params.executionPeriod,
|
|
267
|
+
nextToken: params.nextToken,
|
|
268
|
+
cursor: params.cursor,
|
|
269
|
+
pageSize: params.pageSize,
|
|
270
|
+
message: params.message,
|
|
271
|
+
level: params.level,
|
|
272
|
+
status: params.status,
|
|
273
|
+
};
|
|
274
|
+
if (params.timestampStart && params.timestampEnd) {
|
|
275
|
+
requestParams.timestampRange = `${params.timestampStart},${params.timestampEnd}`;
|
|
276
|
+
}
|
|
277
|
+
const traces = await apiClient.getExecutionTraces(requestParams);
|
|
278
|
+
const lines = extractTraces(traces);
|
|
279
|
+
return textResult(`Traces for execution ${params.executionId}: ${lines.length} item(s).\n${traceIssueSummary(lines)}\n\n${tracePreview(lines, session.user.timezone)}`, traces);
|
|
280
|
+
}
|
|
281
|
+
catch (error) {
|
|
282
|
+
return errorResult(error);
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
};
|
|
286
|
+
const getExecutionLogsTool = {
|
|
287
|
+
name: 'get_execution_logs_tunnelhub',
|
|
288
|
+
schema: {
|
|
289
|
+
title: 'Get Execution Logs',
|
|
290
|
+
description: 'Get execution logs for one automation execution.',
|
|
291
|
+
inputSchema: ExecutionLogsParamsSchema,
|
|
292
|
+
annotations: {
|
|
293
|
+
readOnlyHint: true,
|
|
294
|
+
destructiveHint: false,
|
|
295
|
+
idempotentHint: true,
|
|
296
|
+
openWorldHint: false,
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
handler: async (params, context) => {
|
|
300
|
+
try {
|
|
301
|
+
const session = await requireSession(context);
|
|
302
|
+
context.apiClient.setSession(session);
|
|
303
|
+
const apiClient = context.apiClient;
|
|
304
|
+
const requestParams = {
|
|
305
|
+
executionId: params.executionId,
|
|
306
|
+
automationId: params.automationId,
|
|
307
|
+
period: params.executionPeriod,
|
|
308
|
+
current: params.current,
|
|
309
|
+
pageSize: params.pageSize,
|
|
310
|
+
totalPreCalculated: params.totalPreCalculated,
|
|
311
|
+
LastEvaluatedKey: params.lastEvaluatedKey,
|
|
312
|
+
};
|
|
313
|
+
const logs = await apiClient.getExecutionLogs(requestParams);
|
|
314
|
+
const count = Array.isArray(logs.data) ? logs.data.length : 0;
|
|
315
|
+
return textResult(`Execution logs for ${params.executionId}: ${count} item(s).\n\n${logsPreview(logs)}`, logs);
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
return errorResult(error);
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
};
|
|
322
|
+
export function registerMonitoringTools(server, context) {
|
|
323
|
+
const toolContext = context;
|
|
324
|
+
server.registerTool(listExecutionsTool.name, listExecutionsTool.schema, (params) => listExecutionsTool.handler(params, toolContext));
|
|
325
|
+
server.registerTool(findExecutionTool.name, findExecutionTool.schema, (params) => findExecutionTool.handler(params, toolContext));
|
|
326
|
+
server.registerTool(getExecutionTool.name, getExecutionTool.schema, (params) => getExecutionTool.handler(params, toolContext));
|
|
327
|
+
server.registerTool(summarizeExecutionTool.name, summarizeExecutionTool.schema, (params) => summarizeExecutionTool.handler(params, toolContext));
|
|
328
|
+
server.registerTool(getExecutionTracesTool.name, getExecutionTracesTool.schema, (params) => getExecutionTracesTool.handler(params, toolContext));
|
|
329
|
+
server.registerTool(getExecutionLogsTool.name, getExecutionLogsTool.schema, (params) => getExecutionLogsTool.handler(params, toolContext));
|
|
330
|
+
}
|
|
331
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/monitoring/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/packages/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAKhF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/packages/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,OAAkB,EAAE,QAAiB;IACxE,gCAAgC;IAChC,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;AACvB,CAAC"}
|