@rnsk/toolkits 0.0.5 → 0.0.6

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 (52) hide show
  1. package/README.md +13 -8
  2. package/dist/core/index.d.ts +1 -1
  3. package/dist/core/types.d.ts +43 -1
  4. package/dist/core/validate.d.ts +1 -1
  5. package/dist/core/validate.js +14 -2
  6. package/dist/index.d.ts +3 -1
  7. package/dist/index.js +5 -1
  8. package/dist/toolkits/aws/icon.d.ts +5 -0
  9. package/dist/toolkits/aws/icon.js +41 -0
  10. package/dist/toolkits/aws/manifest.d.ts +3 -0
  11. package/dist/toolkits/aws/manifest.js +27 -0
  12. package/dist/toolkits/aws/tools/client.d.ts +13 -0
  13. package/dist/toolkits/aws/tools/client.js +25 -0
  14. package/dist/toolkits/aws/tools/cloudwatch/filter-log-events.d.ts +26 -0
  15. package/dist/toolkits/aws/tools/cloudwatch/filter-log-events.js +45 -0
  16. package/dist/toolkits/aws/tools/cloudwatch/get-metric-data.d.ts +35 -0
  17. package/dist/toolkits/aws/tools/cloudwatch/get-metric-data.js +62 -0
  18. package/dist/toolkits/aws/tools/cloudwatch/list-alarms.d.ts +29 -0
  19. package/dist/toolkits/aws/tools/cloudwatch/list-alarms.js +46 -0
  20. package/dist/toolkits/aws/tools/cloudwatch/list-log-groups.d.ts +25 -0
  21. package/dist/toolkits/aws/tools/cloudwatch/list-log-groups.js +38 -0
  22. package/dist/toolkits/aws/tools/ec2/get-instance.d.ts +65 -0
  23. package/dist/toolkits/aws/tools/ec2/get-instance.js +46 -0
  24. package/dist/toolkits/aws/tools/ec2/list-instances.d.ts +30 -0
  25. package/dist/toolkits/aws/tools/ec2/list-instances.js +46 -0
  26. package/dist/toolkits/aws/tools/ec2/start-instance.d.ts +24 -0
  27. package/dist/toolkits/aws/tools/ec2/start-instance.js +31 -0
  28. package/dist/toolkits/aws/tools/ec2/stop-instance.d.ts +24 -0
  29. package/dist/toolkits/aws/tools/ec2/stop-instance.js +31 -0
  30. package/dist/toolkits/aws/tools/index.d.ts +273 -0
  31. package/dist/toolkits/aws/tools/index.js +68 -0
  32. package/dist/toolkits/gcp/icon.d.ts +5 -0
  33. package/dist/toolkits/gcp/icon.js +5 -0
  34. package/dist/toolkits/gcp/manifest.d.ts +3 -0
  35. package/dist/toolkits/gcp/manifest.js +27 -0
  36. package/dist/toolkits/gcp/tools/client.d.ts +12 -0
  37. package/dist/toolkits/gcp/tools/client.js +24 -0
  38. package/dist/toolkits/gcp/tools/compute/get-instance.d.ts +36 -0
  39. package/dist/toolkits/gcp/tools/compute/get-instance.js +37 -0
  40. package/dist/toolkits/gcp/tools/compute/list-instances.d.ts +20 -0
  41. package/dist/toolkits/gcp/tools/compute/list-instances.js +62 -0
  42. package/dist/toolkits/gcp/tools/compute/start-instance.d.ts +27 -0
  43. package/dist/toolkits/gcp/tools/compute/start-instance.js +29 -0
  44. package/dist/toolkits/gcp/tools/compute/stop-instance.d.ts +27 -0
  45. package/dist/toolkits/gcp/tools/compute/stop-instance.js +29 -0
  46. package/dist/toolkits/gcp/tools/index.d.ts +162 -0
  47. package/dist/toolkits/gcp/tools/index.js +52 -0
  48. package/dist/toolkits/gcp/tools/monitoring/get-metrics.d.ts +26 -0
  49. package/dist/toolkits/gcp/tools/monitoring/get-metrics.js +53 -0
  50. package/dist/toolkits/gcp/tools/monitoring/list-metric-descriptors.d.ts +24 -0
  51. package/dist/toolkits/gcp/tools/monitoring/list-metric-descriptors.js +40 -0
  52. package/package.json +6 -1
@@ -0,0 +1,65 @@
1
+ export declare const awsGetEc2Instance: import("ai").Tool<{
2
+ instanceId: string;
3
+ region?: string | undefined;
4
+ awsCredentials?: string | undefined;
5
+ }, {
6
+ error: string;
7
+ instanceId?: undefined;
8
+ instanceType?: undefined;
9
+ state?: undefined;
10
+ privateIpAddress?: undefined;
11
+ publicIpAddress?: undefined;
12
+ launchTime?: undefined;
13
+ availabilityZone?: undefined;
14
+ vpcId?: undefined;
15
+ subnetId?: undefined;
16
+ securityGroups?: undefined;
17
+ tags?: undefined;
18
+ message?: undefined;
19
+ } | {
20
+ error: string;
21
+ instanceId: string;
22
+ instanceType?: undefined;
23
+ state?: undefined;
24
+ privateIpAddress?: undefined;
25
+ publicIpAddress?: undefined;
26
+ launchTime?: undefined;
27
+ availabilityZone?: undefined;
28
+ vpcId?: undefined;
29
+ subnetId?: undefined;
30
+ securityGroups?: undefined;
31
+ tags?: undefined;
32
+ message?: undefined;
33
+ } | {
34
+ instanceId: string | undefined;
35
+ instanceType: import("@aws-sdk/client-ec2")._InstanceType | undefined;
36
+ state: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
37
+ privateIpAddress: string | undefined;
38
+ publicIpAddress: string | undefined;
39
+ launchTime: Date | undefined;
40
+ availabilityZone: string | undefined;
41
+ vpcId: string | undefined;
42
+ subnetId: string | undefined;
43
+ securityGroups: {
44
+ id: string | undefined;
45
+ name: string | undefined;
46
+ }[];
47
+ tags: Record<string, string>;
48
+ error?: undefined;
49
+ message?: undefined;
50
+ } | {
51
+ error: string;
52
+ message: string;
53
+ instanceId?: undefined;
54
+ instanceType?: undefined;
55
+ state?: undefined;
56
+ privateIpAddress?: undefined;
57
+ publicIpAddress?: undefined;
58
+ launchTime?: undefined;
59
+ availabilityZone?: undefined;
60
+ vpcId?: undefined;
61
+ subnetId?: undefined;
62
+ securityGroups?: undefined;
63
+ tags?: undefined;
64
+ }>;
65
+ //# sourceMappingURL=get-instance.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ import { DescribeInstancesCommand } from '@aws-sdk/client-ec2';
4
+ import { createEc2Client } from '../client.js';
5
+ export const awsGetEc2Instance = tool({
6
+ description: 'Get detailed information about a specific EC2 instance by instance ID.',
7
+ inputSchema: z.object({
8
+ awsCredentials: z.string().optional().describe('Injected by system; do not provide'),
9
+ region: z.string().optional().describe('AWS region to query (default: us-east-1)'),
10
+ instanceId: z.string().describe('The EC2 instance ID (e.g. i-0123456789abcdef0)'),
11
+ }),
12
+ execute: async ({ awsCredentials, region, instanceId }) => {
13
+ if (!awsCredentials) {
14
+ return { error: 'AWS credentials are required. Connect AWS first.' };
15
+ }
16
+ try {
17
+ const client = createEc2Client(awsCredentials, region);
18
+ const response = await client.send(new DescribeInstancesCommand({ InstanceIds: [instanceId] }));
19
+ const instance = response.Reservations?.[0]?.Instances?.[0];
20
+ if (!instance) {
21
+ return { error: 'Instance not found', instanceId };
22
+ }
23
+ return {
24
+ instanceId: instance.InstanceId,
25
+ instanceType: instance.InstanceType,
26
+ state: instance.State?.Name,
27
+ privateIpAddress: instance.PrivateIpAddress,
28
+ publicIpAddress: instance.PublicIpAddress,
29
+ launchTime: instance.LaunchTime,
30
+ availabilityZone: instance.Placement?.AvailabilityZone,
31
+ vpcId: instance.VpcId,
32
+ subnetId: instance.SubnetId,
33
+ securityGroups: (instance.SecurityGroups ?? []).map((sg) => ({ id: sg.GroupId, name: sg.GroupName })),
34
+ tags: (instance.Tags ?? []).reduce((acc, tag) => {
35
+ if (tag.Key && tag.Value)
36
+ acc[tag.Key] = tag.Value;
37
+ return acc;
38
+ }, {}),
39
+ };
40
+ }
41
+ catch (err) {
42
+ return { error: 'Failed to get EC2 instance', message: err instanceof Error ? err.message : 'Unknown error' };
43
+ }
44
+ },
45
+ });
46
+ //# sourceMappingURL=get-instance.js.map
@@ -0,0 +1,30 @@
1
+ export declare const awsListEc2Instances: import("ai").Tool<{
2
+ maxResults?: number | undefined;
3
+ region?: string | undefined;
4
+ awsCredentials?: string | undefined;
5
+ stateFilter?: "pending" | "running" | "shutting-down" | "terminated" | "stopping" | "stopped" | undefined;
6
+ }, {
7
+ error: string;
8
+ count?: undefined;
9
+ instances?: undefined;
10
+ message?: undefined;
11
+ } | {
12
+ count: number;
13
+ instances: {
14
+ instanceId: string | undefined;
15
+ instanceType: import("@aws-sdk/client-ec2")._InstanceType | undefined;
16
+ state: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
17
+ privateIpAddress: string | undefined;
18
+ publicIpAddress: string | undefined;
19
+ launchTime: Date | undefined;
20
+ tags: Record<string, string>;
21
+ }[];
22
+ error?: undefined;
23
+ message?: undefined;
24
+ } | {
25
+ error: string;
26
+ message: string;
27
+ count?: undefined;
28
+ instances?: undefined;
29
+ }>;
30
+ //# sourceMappingURL=list-instances.d.ts.map
@@ -0,0 +1,46 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ import { DescribeInstancesCommand } from '@aws-sdk/client-ec2';
4
+ import { createEc2Client } from '../client.js';
5
+ export const awsListEc2Instances = tool({
6
+ description: 'List EC2 instances in the connected AWS account, optionally filtered by instance state. Returns instance ID, type, state, IPs, and tags.',
7
+ inputSchema: z.object({
8
+ awsCredentials: z.string().optional().describe('Injected by system; do not provide'),
9
+ region: z.string().optional().describe('AWS region to query (default: us-east-1)'),
10
+ stateFilter: z
11
+ .enum(['pending', 'running', 'shutting-down', 'terminated', 'stopping', 'stopped'])
12
+ .optional()
13
+ .describe('Only return instances in this state'),
14
+ maxResults: z.number().min(5).max(1000).optional().describe('Maximum number of instances to return'),
15
+ }),
16
+ execute: async ({ awsCredentials, region, stateFilter, maxResults }) => {
17
+ if (!awsCredentials) {
18
+ return { error: 'AWS credentials are required. Connect AWS first.' };
19
+ }
20
+ try {
21
+ const client = createEc2Client(awsCredentials, region);
22
+ const response = await client.send(new DescribeInstancesCommand({
23
+ Filters: stateFilter ? [{ Name: 'instance-state-name', Values: [stateFilter] }] : undefined,
24
+ MaxResults: maxResults,
25
+ }));
26
+ const instances = (response.Reservations ?? []).flatMap((reservation) => (reservation.Instances ?? []).map((instance) => ({
27
+ instanceId: instance.InstanceId,
28
+ instanceType: instance.InstanceType,
29
+ state: instance.State?.Name,
30
+ privateIpAddress: instance.PrivateIpAddress,
31
+ publicIpAddress: instance.PublicIpAddress,
32
+ launchTime: instance.LaunchTime,
33
+ tags: (instance.Tags ?? []).reduce((acc, tag) => {
34
+ if (tag.Key && tag.Value)
35
+ acc[tag.Key] = tag.Value;
36
+ return acc;
37
+ }, {}),
38
+ })));
39
+ return { count: instances.length, instances };
40
+ }
41
+ catch (err) {
42
+ return { error: 'Failed to list EC2 instances', message: err instanceof Error ? err.message : 'Unknown error' };
43
+ }
44
+ },
45
+ });
46
+ //# sourceMappingURL=list-instances.js.map
@@ -0,0 +1,24 @@
1
+ export declare const awsStartEc2Instance: import("ai").Tool<{
2
+ instanceId: string;
3
+ region?: string | undefined;
4
+ awsCredentials?: string | undefined;
5
+ }, {
6
+ error: string;
7
+ instanceId?: undefined;
8
+ currentState?: undefined;
9
+ previousState?: undefined;
10
+ message?: undefined;
11
+ } | {
12
+ instanceId: string;
13
+ currentState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
14
+ previousState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
15
+ error?: undefined;
16
+ message?: undefined;
17
+ } | {
18
+ error: string;
19
+ message: string;
20
+ instanceId?: undefined;
21
+ currentState?: undefined;
22
+ previousState?: undefined;
23
+ }>;
24
+ //# sourceMappingURL=start-instance.d.ts.map
@@ -0,0 +1,31 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ import { StartInstancesCommand } from '@aws-sdk/client-ec2';
4
+ import { createEc2Client } from '../client.js';
5
+ export const awsStartEc2Instance = tool({
6
+ description: 'Start a stopped EC2 instance.',
7
+ inputSchema: z.object({
8
+ awsCredentials: z.string().optional().describe('Injected by system; do not provide'),
9
+ region: z.string().optional().describe('AWS region the instance is in (default: us-east-1)'),
10
+ instanceId: z.string().describe('The EC2 instance ID to start'),
11
+ }),
12
+ execute: async ({ awsCredentials, region, instanceId }) => {
13
+ if (!awsCredentials) {
14
+ return { error: 'AWS credentials are required. Connect AWS first.' };
15
+ }
16
+ try {
17
+ const client = createEc2Client(awsCredentials, region);
18
+ const response = await client.send(new StartInstancesCommand({ InstanceIds: [instanceId] }));
19
+ const status = response.StartingInstances?.[0];
20
+ return {
21
+ instanceId,
22
+ currentState: status?.CurrentState?.Name,
23
+ previousState: status?.PreviousState?.Name,
24
+ };
25
+ }
26
+ catch (err) {
27
+ return { error: 'Failed to start EC2 instance', message: err instanceof Error ? err.message : 'Unknown error' };
28
+ }
29
+ },
30
+ });
31
+ //# sourceMappingURL=start-instance.js.map
@@ -0,0 +1,24 @@
1
+ export declare const awsStopEc2Instance: import("ai").Tool<{
2
+ instanceId: string;
3
+ region?: string | undefined;
4
+ awsCredentials?: string | undefined;
5
+ }, {
6
+ error: string;
7
+ instanceId?: undefined;
8
+ currentState?: undefined;
9
+ previousState?: undefined;
10
+ message?: undefined;
11
+ } | {
12
+ instanceId: string;
13
+ currentState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
14
+ previousState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
15
+ error?: undefined;
16
+ message?: undefined;
17
+ } | {
18
+ error: string;
19
+ message: string;
20
+ instanceId?: undefined;
21
+ currentState?: undefined;
22
+ previousState?: undefined;
23
+ }>;
24
+ //# sourceMappingURL=stop-instance.d.ts.map
@@ -0,0 +1,31 @@
1
+ import { tool } from 'ai';
2
+ import { z } from 'zod';
3
+ import { StopInstancesCommand } from '@aws-sdk/client-ec2';
4
+ import { createEc2Client } from '../client.js';
5
+ export const awsStopEc2Instance = tool({
6
+ description: 'Stop a running EC2 instance.',
7
+ inputSchema: z.object({
8
+ awsCredentials: z.string().optional().describe('Injected by system; do not provide'),
9
+ region: z.string().optional().describe('AWS region the instance is in (default: us-east-1)'),
10
+ instanceId: z.string().describe('The EC2 instance ID to stop'),
11
+ }),
12
+ execute: async ({ awsCredentials, region, instanceId }) => {
13
+ if (!awsCredentials) {
14
+ return { error: 'AWS credentials are required. Connect AWS first.' };
15
+ }
16
+ try {
17
+ const client = createEc2Client(awsCredentials, region);
18
+ const response = await client.send(new StopInstancesCommand({ InstanceIds: [instanceId] }));
19
+ const status = response.StoppingInstances?.[0];
20
+ return {
21
+ instanceId,
22
+ currentState: status?.CurrentState?.Name,
23
+ previousState: status?.PreviousState?.Name,
24
+ };
25
+ }
26
+ catch (err) {
27
+ return { error: 'Failed to stop EC2 instance', message: err instanceof Error ? err.message : 'Unknown error' };
28
+ }
29
+ },
30
+ });
31
+ //# sourceMappingURL=stop-instance.js.map
@@ -0,0 +1,273 @@
1
+ import { awsListEc2Instances } from './ec2/list-instances.js';
2
+ import { awsGetEc2Instance } from './ec2/get-instance.js';
3
+ import { awsStartEc2Instance } from './ec2/start-instance.js';
4
+ import { awsStopEc2Instance } from './ec2/stop-instance.js';
5
+ import { awsGetCloudwatchMetricData } from './cloudwatch/get-metric-data.js';
6
+ import { awsListCloudwatchAlarms } from './cloudwatch/list-alarms.js';
7
+ import { awsListCloudwatchLogGroups } from './cloudwatch/list-log-groups.js';
8
+ import { awsFilterCloudwatchLogEvents } from './cloudwatch/filter-log-events.js';
9
+ export { awsListEc2Instances, awsGetEc2Instance, awsStartEc2Instance, awsStopEc2Instance, awsGetCloudwatchMetricData, awsListCloudwatchAlarms, awsListCloudwatchLogGroups, awsFilterCloudwatchLogEvents, };
10
+ export declare const awsTools: ({
11
+ name: string;
12
+ description: string;
13
+ tool: import("ai").Tool<{
14
+ maxResults?: number | undefined;
15
+ region?: string | undefined;
16
+ awsCredentials?: string | undefined;
17
+ stateFilter?: "pending" | "running" | "shutting-down" | "terminated" | "stopping" | "stopped" | undefined;
18
+ }, {
19
+ error: string;
20
+ count?: undefined;
21
+ instances?: undefined;
22
+ message?: undefined;
23
+ } | {
24
+ count: number;
25
+ instances: {
26
+ instanceId: string | undefined;
27
+ instanceType: import("@aws-sdk/client-ec2")._InstanceType | undefined;
28
+ state: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
29
+ privateIpAddress: string | undefined;
30
+ publicIpAddress: string | undefined;
31
+ launchTime: Date | undefined;
32
+ tags: Record<string, string>;
33
+ }[];
34
+ error?: undefined;
35
+ message?: undefined;
36
+ } | {
37
+ error: string;
38
+ message: string;
39
+ count?: undefined;
40
+ instances?: undefined;
41
+ }>;
42
+ requiredAuth: "awsCredentials";
43
+ scope: "read";
44
+ } | {
45
+ name: string;
46
+ description: string;
47
+ tool: import("ai").Tool<{
48
+ instanceId: string;
49
+ region?: string | undefined;
50
+ awsCredentials?: string | undefined;
51
+ }, {
52
+ error: string;
53
+ instanceId?: undefined;
54
+ instanceType?: undefined;
55
+ state?: undefined;
56
+ privateIpAddress?: undefined;
57
+ publicIpAddress?: undefined;
58
+ launchTime?: undefined;
59
+ availabilityZone?: undefined;
60
+ vpcId?: undefined;
61
+ subnetId?: undefined;
62
+ securityGroups?: undefined;
63
+ tags?: undefined;
64
+ message?: undefined;
65
+ } | {
66
+ error: string;
67
+ instanceId: string;
68
+ instanceType?: undefined;
69
+ state?: undefined;
70
+ privateIpAddress?: undefined;
71
+ publicIpAddress?: undefined;
72
+ launchTime?: undefined;
73
+ availabilityZone?: undefined;
74
+ vpcId?: undefined;
75
+ subnetId?: undefined;
76
+ securityGroups?: undefined;
77
+ tags?: undefined;
78
+ message?: undefined;
79
+ } | {
80
+ instanceId: string | undefined;
81
+ instanceType: import("@aws-sdk/client-ec2")._InstanceType | undefined;
82
+ state: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
83
+ privateIpAddress: string | undefined;
84
+ publicIpAddress: string | undefined;
85
+ launchTime: Date | undefined;
86
+ availabilityZone: string | undefined;
87
+ vpcId: string | undefined;
88
+ subnetId: string | undefined;
89
+ securityGroups: {
90
+ id: string | undefined;
91
+ name: string | undefined;
92
+ }[];
93
+ tags: Record<string, string>;
94
+ error?: undefined;
95
+ message?: undefined;
96
+ } | {
97
+ error: string;
98
+ message: string;
99
+ instanceId?: undefined;
100
+ instanceType?: undefined;
101
+ state?: undefined;
102
+ privateIpAddress?: undefined;
103
+ publicIpAddress?: undefined;
104
+ launchTime?: undefined;
105
+ availabilityZone?: undefined;
106
+ vpcId?: undefined;
107
+ subnetId?: undefined;
108
+ securityGroups?: undefined;
109
+ tags?: undefined;
110
+ }>;
111
+ requiredAuth: "awsCredentials";
112
+ scope: "read";
113
+ } | {
114
+ name: string;
115
+ description: string;
116
+ tool: import("ai").Tool<{
117
+ instanceId: string;
118
+ region?: string | undefined;
119
+ awsCredentials?: string | undefined;
120
+ }, {
121
+ error: string;
122
+ instanceId?: undefined;
123
+ currentState?: undefined;
124
+ previousState?: undefined;
125
+ message?: undefined;
126
+ } | {
127
+ instanceId: string;
128
+ currentState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
129
+ previousState: import("@aws-sdk/client-ec2").InstanceStateName | undefined;
130
+ error?: undefined;
131
+ message?: undefined;
132
+ } | {
133
+ error: string;
134
+ message: string;
135
+ instanceId?: undefined;
136
+ currentState?: undefined;
137
+ previousState?: undefined;
138
+ }>;
139
+ requiredAuth: "awsCredentials";
140
+ scope: "write";
141
+ } | {
142
+ name: string;
143
+ description: string;
144
+ tool: import("ai").Tool<{
145
+ namespace: string;
146
+ metricName: string;
147
+ region?: string | undefined;
148
+ awsCredentials?: string | undefined;
149
+ dimensions?: Record<string, string> | undefined;
150
+ startTime?: string | undefined;
151
+ endTime?: string | undefined;
152
+ period?: number | undefined;
153
+ statistic?: "Average" | "Sum" | "Minimum" | "Maximum" | "SampleCount" | undefined;
154
+ }, {
155
+ error: string;
156
+ label?: undefined;
157
+ datapoints?: undefined;
158
+ message?: undefined;
159
+ } | {
160
+ label: string | undefined;
161
+ datapoints: {
162
+ timestamp: Date | undefined;
163
+ average: number | undefined;
164
+ sum: number | undefined;
165
+ minimum: number | undefined;
166
+ maximum: number | undefined;
167
+ sampleCount: number | undefined;
168
+ unit: import("@aws-sdk/client-cloudwatch").StandardUnit | undefined;
169
+ }[];
170
+ error?: undefined;
171
+ message?: undefined;
172
+ } | {
173
+ error: string;
174
+ message: string;
175
+ label?: undefined;
176
+ datapoints?: undefined;
177
+ }>;
178
+ requiredAuth: "awsCredentials";
179
+ scope: "read";
180
+ } | {
181
+ name: string;
182
+ description: string;
183
+ tool: import("ai").Tool<{
184
+ region?: string | undefined;
185
+ awsCredentials?: string | undefined;
186
+ alarmNamePrefix?: string | undefined;
187
+ stateValue?: "OK" | "ALARM" | "INSUFFICIENT_DATA" | undefined;
188
+ maxRecords?: number | undefined;
189
+ }, {
190
+ error: string;
191
+ alarms?: undefined;
192
+ message?: undefined;
193
+ } | {
194
+ alarms: {
195
+ alarmName: string | undefined;
196
+ alarmArn: string | undefined;
197
+ stateValue: import("@aws-sdk/client-cloudwatch").StateValue | undefined;
198
+ stateReason: string | undefined;
199
+ metricName: string | undefined;
200
+ namespace: string | undefined;
201
+ threshold: number | undefined;
202
+ comparisonOperator: import("@aws-sdk/client-cloudwatch").ComparisonOperator | undefined;
203
+ }[];
204
+ error?: undefined;
205
+ message?: undefined;
206
+ } | {
207
+ error: string;
208
+ message: string;
209
+ alarms?: undefined;
210
+ }>;
211
+ requiredAuth: "awsCredentials";
212
+ scope: "read";
213
+ } | {
214
+ name: string;
215
+ description: string;
216
+ tool: import("ai").Tool<{
217
+ limit?: number | undefined;
218
+ region?: string | undefined;
219
+ awsCredentials?: string | undefined;
220
+ logGroupNamePrefix?: string | undefined;
221
+ }, {
222
+ error: string;
223
+ logGroups?: undefined;
224
+ message?: undefined;
225
+ } | {
226
+ logGroups: {
227
+ logGroupName: string | undefined;
228
+ creationTime: number | undefined;
229
+ retentionInDays: number | undefined;
230
+ storedBytes: number | undefined;
231
+ arn: string | undefined;
232
+ }[];
233
+ error?: undefined;
234
+ message?: undefined;
235
+ } | {
236
+ error: string;
237
+ message: string;
238
+ logGroups?: undefined;
239
+ }>;
240
+ requiredAuth: "awsCredentials";
241
+ scope: "read";
242
+ } | {
243
+ name: string;
244
+ description: string;
245
+ tool: import("ai").Tool<{
246
+ logGroupName: string;
247
+ limit?: number | undefined;
248
+ region?: string | undefined;
249
+ awsCredentials?: string | undefined;
250
+ startTime?: number | undefined;
251
+ endTime?: number | undefined;
252
+ filterPattern?: string | undefined;
253
+ }, {
254
+ error: string;
255
+ events?: undefined;
256
+ message?: undefined;
257
+ } | {
258
+ events: {
259
+ logStreamName: string | undefined;
260
+ timestamp: number | undefined;
261
+ message: string | undefined;
262
+ }[];
263
+ error?: undefined;
264
+ message?: undefined;
265
+ } | {
266
+ error: string;
267
+ message: string;
268
+ events?: undefined;
269
+ }>;
270
+ requiredAuth: "awsCredentials";
271
+ scope: "read";
272
+ })[];
273
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,68 @@
1
+ import { awsListEc2Instances } from './ec2/list-instances.js';
2
+ import { awsGetEc2Instance } from './ec2/get-instance.js';
3
+ import { awsStartEc2Instance } from './ec2/start-instance.js';
4
+ import { awsStopEc2Instance } from './ec2/stop-instance.js';
5
+ import { awsGetCloudwatchMetricData } from './cloudwatch/get-metric-data.js';
6
+ import { awsListCloudwatchAlarms } from './cloudwatch/list-alarms.js';
7
+ import { awsListCloudwatchLogGroups } from './cloudwatch/list-log-groups.js';
8
+ import { awsFilterCloudwatchLogEvents } from './cloudwatch/filter-log-events.js';
9
+ export { awsListEc2Instances, awsGetEc2Instance, awsStartEc2Instance, awsStopEc2Instance, awsGetCloudwatchMetricData, awsListCloudwatchAlarms, awsListCloudwatchLogGroups, awsFilterCloudwatchLogEvents, };
10
+ export const awsTools = [
11
+ {
12
+ name: 'awsListEc2Instances',
13
+ description: 'List EC2 instances, optionally filtered by state.',
14
+ tool: awsListEc2Instances,
15
+ requiredAuth: 'awsCredentials',
16
+ scope: 'read',
17
+ },
18
+ {
19
+ name: 'awsGetEc2Instance',
20
+ description: 'Get detailed information about a specific EC2 instance.',
21
+ tool: awsGetEc2Instance,
22
+ requiredAuth: 'awsCredentials',
23
+ scope: 'read',
24
+ },
25
+ {
26
+ name: 'awsStartEc2Instance',
27
+ description: 'Start a stopped EC2 instance.',
28
+ tool: awsStartEc2Instance,
29
+ requiredAuth: 'awsCredentials',
30
+ scope: 'write',
31
+ },
32
+ {
33
+ name: 'awsStopEc2Instance',
34
+ description: 'Stop a running EC2 instance.',
35
+ tool: awsStopEc2Instance,
36
+ requiredAuth: 'awsCredentials',
37
+ scope: 'write',
38
+ },
39
+ {
40
+ name: 'awsGetCloudwatchMetricData',
41
+ description: 'Retrieve CloudWatch metric statistics for a namespace and metric name.',
42
+ tool: awsGetCloudwatchMetricData,
43
+ requiredAuth: 'awsCredentials',
44
+ scope: 'read',
45
+ },
46
+ {
47
+ name: 'awsListCloudwatchAlarms',
48
+ description: 'List CloudWatch alarms, optionally filtered by name prefix or state.',
49
+ tool: awsListCloudwatchAlarms,
50
+ requiredAuth: 'awsCredentials',
51
+ scope: 'read',
52
+ },
53
+ {
54
+ name: 'awsListCloudwatchLogGroups',
55
+ description: 'List CloudWatch log groups, optionally filtered by name prefix.',
56
+ tool: awsListCloudwatchLogGroups,
57
+ requiredAuth: 'awsCredentials',
58
+ scope: 'read',
59
+ },
60
+ {
61
+ name: 'awsFilterCloudwatchLogEvents',
62
+ description: 'Search CloudWatch log events with an optional filter pattern and time range.',
63
+ tool: awsFilterCloudwatchLogEvents,
64
+ requiredAuth: 'awsCredentials',
65
+ scope: 'read',
66
+ },
67
+ ];
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,5 @@
1
+ export declare const GCP_ICON: {
2
+ kind: "svg";
3
+ dataUri: string;
4
+ };
5
+ //# sourceMappingURL=icon.d.ts.map