@jaypie/mcp 0.7.9 → 0.7.10

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.
@@ -23,20 +23,64 @@ Access AWS services through the AWS CLI. Requires AWS CLI installed and configur
23
23
  | `sqs_receive_message` | Peek at messages | `queueUrl` |
24
24
  | `sqs_purge_queue` | Delete all messages | `queueUrl` |
25
25
 
26
- ## Common Options
26
+ ## Parameters
27
27
 
28
- All commands accept:
29
- - `profile` - AWS profile to use
30
- - `region` - AWS region
28
+ All parameters are passed at the top level (flat structure):
29
+
30
+ | Parameter | Type | Description |
31
+ |-----------|------|-------------|
32
+ | `command` | string | Command to execute (omit for help) |
33
+ | `profile` | string | AWS profile name |
34
+ | `region` | string | AWS region (e.g., us-east-1) |
35
+ | `functionName` | string | Lambda function name |
36
+ | `functionNamePrefix` | string | Lambda function name prefix filter |
37
+ | `stateMachineArn` | string | Step Functions state machine ARN |
38
+ | `executionArn` | string | Step Functions execution ARN |
39
+ | `statusFilter` | string | Step Functions status: RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED, PENDING_REDRIVE |
40
+ | `cause` | string | Cause for stopping Step Functions execution |
41
+ | `logGroupName` | string | CloudWatch Logs group name |
42
+ | `filterPattern` | string | CloudWatch Logs filter pattern |
43
+ | `startTime` | string | Start time (e.g., now-15m) |
44
+ | `endTime` | string | End time (e.g., now) |
45
+ | `bucket` | string | S3 bucket name |
46
+ | `prefix` | string | S3 object prefix filter |
47
+ | `stackName` | string | CloudFormation stack name |
48
+ | `tableName` | string | DynamoDB table name |
49
+ | `keyConditionExpression` | string | DynamoDB key condition expression |
50
+ | `expressionAttributeValues` | string | DynamoDB expression attribute values (JSON string) |
51
+ | `filterExpression` | string | DynamoDB filter expression |
52
+ | `indexName` | string | DynamoDB index name |
53
+ | `key` | string | DynamoDB item key (JSON string) |
54
+ | `scanIndexForward` | boolean | DynamoDB scan direction (true=ascending) |
55
+ | `queueUrl` | string | SQS queue URL |
56
+ | `queueNamePrefix` | string | SQS queue name prefix filter |
57
+ | `maxNumberOfMessages` | number | SQS max messages to receive |
58
+ | `visibilityTimeout` | number | SQS message visibility timeout in seconds |
59
+ | `limit` | number | Maximum number of results |
60
+ | `maxResults` | number | Maximum number of results |
31
61
 
32
62
  ## Examples
33
63
 
34
64
  ```
35
- aws("list_profiles")
36
- aws("lambda_list_functions", { region: "us-east-1", functionNamePrefix: "my-app" })
37
- aws("dynamodb_query", {
65
+ # List AWS profiles
66
+ aws({ command: "list_profiles" })
67
+
68
+ # List Lambda functions in a region
69
+ aws({ command: "lambda_list_functions", region: "us-east-1", functionNamePrefix: "my-app" })
70
+
71
+ # Query DynamoDB
72
+ aws({
73
+ command: "dynamodb_query",
38
74
  tableName: "my-table",
39
75
  keyConditionExpression: "pk = :pk",
40
76
  expressionAttributeValues: "{\":pk\":{\"S\":\"user#123\"}}"
41
77
  })
78
+
79
+ # Filter CloudWatch Logs
80
+ aws({
81
+ command: "logs_filter_log_events",
82
+ logGroupName: "/aws/lambda/my-function",
83
+ filterPattern: "ERROR",
84
+ startTime: "now-1h"
85
+ })
42
86
  ```
@@ -1,38 +1,4 @@
1
- interface AwsInput {
2
- bucket?: string;
3
- cause?: string;
4
- command?: string;
5
- endTime?: string;
6
- executionArn?: string;
7
- expressionAttributeValues?: string;
8
- filterExpression?: string;
9
- filterPattern?: string;
10
- functionName?: string;
11
- functionNamePrefix?: string;
12
- indexName?: string;
13
- key?: string;
14
- keyConditionExpression?: string;
15
- limit?: number;
16
- logGroupName?: string;
17
- maxNumberOfMessages?: number;
18
- maxResults?: number;
19
- prefix?: string;
20
- profile?: string;
21
- queueNamePrefix?: string;
22
- queueUrl?: string;
23
- region?: string;
24
- scanIndexForward?: boolean;
25
- stackName?: string;
26
- startTime?: string;
27
- stateMachineArn?: string;
28
- statusFilter?: "RUNNING" | "SUCCEEDED" | "FAILED" | "TIMED_OUT" | "ABORTED" | "PENDING_REDRIVE";
29
- tableName?: string;
30
- visibilityTimeout?: number;
31
- }
32
- export declare const awsService: import("@jaypie/fabric").Service<{
33
- command?: string;
34
- input?: AwsInput;
35
- }, string | import("./aws.js").AwsProfile[] | {
1
+ export declare const awsService: import("@jaypie/fabric").Service<Record<string, unknown>, string | import("./aws.js").AwsProfile[] | {
36
2
  executions: import("./aws.js").StepFunctionExecution[];
37
3
  } | {
38
4
  stopDate: string;
@@ -21,22 +21,158 @@ const awsService = fabricService({
21
21
  alias: "aws",
22
22
  description: "Access AWS services via CLI. Commands: list_profiles, lambda_*, stepfunctions_*, logs_*, s3_*, cloudformation_*, dynamodb_*, sqs_*. Call with no args for help.",
23
23
  input: {
24
+ bucket: {
25
+ description: "S3 bucket name",
26
+ required: false,
27
+ type: String,
28
+ },
29
+ cause: {
30
+ description: "Cause for stopping Step Functions execution",
31
+ required: false,
32
+ type: String,
33
+ },
24
34
  command: {
25
35
  description: "Command to execute (omit for help)",
26
36
  required: false,
27
37
  type: String,
28
38
  },
29
- input: {
30
- description: "Command parameters",
39
+ endTime: {
40
+ description: "End time for log filtering (e.g., now)",
41
+ required: false,
42
+ type: String,
43
+ },
44
+ executionArn: {
45
+ description: "Step Functions execution ARN",
46
+ required: false,
47
+ type: String,
48
+ },
49
+ expressionAttributeValues: {
50
+ description: "DynamoDB expression attribute values (JSON string)",
51
+ required: false,
52
+ type: String,
53
+ },
54
+ filterExpression: {
55
+ description: "DynamoDB filter expression",
56
+ required: false,
57
+ type: String,
58
+ },
59
+ filterPattern: {
60
+ description: "CloudWatch Logs filter pattern",
61
+ required: false,
62
+ type: String,
63
+ },
64
+ functionName: {
65
+ description: "Lambda function name",
66
+ required: false,
67
+ type: String,
68
+ },
69
+ functionNamePrefix: {
70
+ description: "Lambda function name prefix filter",
71
+ required: false,
72
+ type: String,
73
+ },
74
+ indexName: {
75
+ description: "DynamoDB index name",
76
+ required: false,
77
+ type: String,
78
+ },
79
+ key: {
80
+ description: "DynamoDB item key (JSON string)",
81
+ required: false,
82
+ type: String,
83
+ },
84
+ keyConditionExpression: {
85
+ description: "DynamoDB key condition expression",
86
+ required: false,
87
+ type: String,
88
+ },
89
+ limit: {
90
+ description: "Maximum number of results",
91
+ required: false,
92
+ type: Number,
93
+ },
94
+ logGroupName: {
95
+ description: "CloudWatch Logs group name",
96
+ required: false,
97
+ type: String,
98
+ },
99
+ maxNumberOfMessages: {
100
+ description: "SQS max messages to receive",
101
+ required: false,
102
+ type: Number,
103
+ },
104
+ maxResults: {
105
+ description: "Maximum number of results",
106
+ required: false,
107
+ type: Number,
108
+ },
109
+ prefix: {
110
+ description: "S3 object prefix filter",
111
+ required: false,
112
+ type: String,
113
+ },
114
+ profile: {
115
+ description: "AWS profile name",
116
+ required: false,
117
+ type: String,
118
+ },
119
+ queueNamePrefix: {
120
+ description: "SQS queue name prefix filter",
121
+ required: false,
122
+ type: String,
123
+ },
124
+ queueUrl: {
125
+ description: "SQS queue URL",
126
+ required: false,
127
+ type: String,
128
+ },
129
+ region: {
130
+ description: "AWS region (e.g., us-east-1)",
131
+ required: false,
132
+ type: String,
133
+ },
134
+ scanIndexForward: {
135
+ description: "DynamoDB scan direction (true=ascending)",
136
+ required: false,
137
+ type: Boolean,
138
+ },
139
+ stackName: {
140
+ description: "CloudFormation stack name",
141
+ required: false,
142
+ type: String,
143
+ },
144
+ startTime: {
145
+ description: "Start time for log filtering (e.g., now-15m)",
146
+ required: false,
147
+ type: String,
148
+ },
149
+ stateMachineArn: {
150
+ description: "Step Functions state machine ARN",
151
+ required: false,
152
+ type: String,
153
+ },
154
+ statusFilter: {
155
+ description: "Step Functions status filter: RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED, PENDING_REDRIVE",
156
+ required: false,
157
+ type: String,
158
+ },
159
+ tableName: {
160
+ description: "DynamoDB table name",
161
+ required: false,
162
+ type: String,
163
+ },
164
+ visibilityTimeout: {
165
+ description: "SQS message visibility timeout in seconds",
31
166
  required: false,
32
- type: Object,
167
+ type: Number,
33
168
  },
34
169
  },
35
- service: async ({ command, input: params, }) => {
170
+ service: async (params) => {
171
+ const { command } = params;
36
172
  if (!command || command === "help") {
37
173
  return getHelp();
38
174
  }
39
- const p = params || {};
175
+ const p = params;
40
176
  switch (command) {
41
177
  case "list_profiles": {
42
178
  const result = await listAwsProfiles(log);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/suites/aws/index.ts"],"sourcesContent":["/**\n * AWS Suite - Unified AWS CLI access\n */\nimport { fabricService } from \"@jaypie/fabric\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport {\n describeDynamoDBTable,\n describeStack,\n filterLogEvents,\n getDynamoDBItem,\n getLambdaFunction,\n getSQSQueueAttributes,\n listAwsProfiles,\n listLambdaFunctions,\n listS3Objects,\n listSQSQueues,\n listStepFunctionExecutions,\n purgeSQSQueue,\n queryDynamoDB,\n receiveSQSMessage,\n scanDynamoDB,\n stopStepFunctionExecution,\n} from \"./aws.js\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\n// Silent logger for direct execution\nconst log = {\n error: () => {},\n info: () => {},\n};\n\nasync function getHelp(): Promise<string> {\n return fs.readFile(path.join(__dirname, \"help.md\"), \"utf-8\");\n}\n\n// Input type for the unified AWS service\ninterface AwsInput {\n bucket?: string;\n cause?: string;\n command?: string;\n endTime?: string;\n executionArn?: string;\n expressionAttributeValues?: string;\n filterExpression?: string;\n filterPattern?: string;\n functionName?: string;\n functionNamePrefix?: string;\n indexName?: string;\n key?: string;\n keyConditionExpression?: string;\n limit?: number;\n logGroupName?: string;\n maxNumberOfMessages?: number;\n maxResults?: number;\n prefix?: string;\n profile?: string;\n queueNamePrefix?: string;\n queueUrl?: string;\n region?: string;\n scanIndexForward?: boolean;\n stackName?: string;\n startTime?: string;\n stateMachineArn?: string;\n statusFilter?:\n | \"RUNNING\"\n | \"SUCCEEDED\"\n | \"FAILED\"\n | \"TIMED_OUT\"\n | \"ABORTED\"\n | \"PENDING_REDRIVE\";\n tableName?: string;\n visibilityTimeout?: number;\n}\n\nexport const awsService = fabricService({\n alias: \"aws\",\n description:\n \"Access AWS services via CLI. Commands: list_profiles, lambda_*, stepfunctions_*, logs_*, s3_*, cloudformation_*, dynamodb_*, sqs_*. Call with no args for help.\",\n input: {\n command: {\n description: \"Command to execute (omit for help)\",\n required: false,\n type: String,\n },\n input: {\n description: \"Command parameters\",\n required: false,\n type: Object,\n },\n },\n service: async ({\n command,\n input: params,\n }: {\n command?: string;\n input?: AwsInput;\n }) => {\n if (!command || command === \"help\") {\n return getHelp();\n }\n\n const p = params || {};\n\n switch (command) {\n case \"list_profiles\": {\n const result = await listAwsProfiles(log);\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"lambda_list_functions\": {\n const result = await listLambdaFunctions(\n {\n functionNamePrefix: p.functionNamePrefix,\n maxResults: p.maxResults,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"lambda_get_function\": {\n if (!p.functionName) throw new Error(\"functionName is required\");\n const result = await getLambdaFunction(\n {\n functionName: p.functionName,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"stepfunctions_list_executions\": {\n if (!p.stateMachineArn) throw new Error(\"stateMachineArn is required\");\n const result = await listStepFunctionExecutions(\n {\n maxResults: p.maxResults,\n profile: p.profile,\n region: p.region,\n stateMachineArn: p.stateMachineArn,\n statusFilter: p.statusFilter,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"stepfunctions_stop_execution\": {\n if (!p.executionArn) throw new Error(\"executionArn is required\");\n const result = await stopStepFunctionExecution(\n {\n cause: p.cause,\n executionArn: p.executionArn,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"logs_filter_log_events\": {\n if (!p.logGroupName) throw new Error(\"logGroupName is required\");\n const result = await filterLogEvents(\n {\n endTime: p.endTime || \"now\",\n filterPattern: p.filterPattern,\n limit: p.limit || 100,\n logGroupName: p.logGroupName,\n profile: p.profile,\n region: p.region,\n startTime: p.startTime || \"now-15m\",\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"s3_list_objects\": {\n if (!p.bucket) throw new Error(\"bucket is required\");\n const result = await listS3Objects(\n {\n bucket: p.bucket,\n maxResults: p.maxResults,\n prefix: p.prefix,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"cloudformation_describe_stack\": {\n if (!p.stackName) throw new Error(\"stackName is required\");\n const result = await describeStack(\n {\n profile: p.profile,\n region: p.region,\n stackName: p.stackName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_describe_table\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n const result = await describeDynamoDBTable(\n {\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_scan\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n const result = await scanDynamoDB(\n {\n expressionAttributeValues: p.expressionAttributeValues,\n filterExpression: p.filterExpression,\n limit: p.limit || 25,\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_query\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n if (!p.keyConditionExpression)\n throw new Error(\"keyConditionExpression is required\");\n if (!p.expressionAttributeValues)\n throw new Error(\"expressionAttributeValues is required\");\n const result = await queryDynamoDB(\n {\n expressionAttributeValues: p.expressionAttributeValues,\n filterExpression: p.filterExpression,\n indexName: p.indexName,\n keyConditionExpression: p.keyConditionExpression,\n limit: p.limit,\n profile: p.profile,\n region: p.region,\n scanIndexForward: p.scanIndexForward,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_get_item\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n if (!p.key) throw new Error(\"key is required\");\n const result = await getDynamoDBItem(\n {\n key: p.key,\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_list_queues\": {\n const result = await listSQSQueues(\n {\n profile: p.profile,\n queueNamePrefix: p.queueNamePrefix,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_get_queue_attributes\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await getSQSQueueAttributes(\n {\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_receive_message\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await receiveSQSMessage(\n {\n maxNumberOfMessages: p.maxNumberOfMessages || 1,\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n visibilityTimeout: p.visibilityTimeout || 30,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_purge_queue\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await purgeSQSQueue(\n {\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return { success: true };\n }\n\n default:\n throw new Error(`Unknown command: ${command}. Use aws() for help.`);\n }\n },\n});\n\n// Re-export types and functions for testing\nexport * from \"./aws.js\";\n"],"names":["__dirname"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/suites/aws/index.ts"],"sourcesContent":["/**\n * AWS Suite - Unified AWS CLI access\n */\nimport { fabricService } from \"@jaypie/fabric\";\nimport * as fs from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nimport {\n describeDynamoDBTable,\n describeStack,\n filterLogEvents,\n getDynamoDBItem,\n getLambdaFunction,\n getSQSQueueAttributes,\n listAwsProfiles,\n listLambdaFunctions,\n listS3Objects,\n listSQSQueues,\n listStepFunctionExecutions,\n purgeSQSQueue,\n queryDynamoDB,\n receiveSQSMessage,\n scanDynamoDB,\n stopStepFunctionExecution,\n} from \"./aws.js\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\n// Silent logger for direct execution\nconst log = {\n error: () => {},\n info: () => {},\n};\n\nasync function getHelp(): Promise<string> {\n return fs.readFile(path.join(__dirname, \"help.md\"), \"utf-8\");\n}\n\n// Flattened input type for the unified AWS service\ninterface AwsInput {\n bucket?: string;\n cause?: string;\n command?: string;\n endTime?: string;\n executionArn?: string;\n expressionAttributeValues?: string;\n filterExpression?: string;\n filterPattern?: string;\n functionName?: string;\n functionNamePrefix?: string;\n indexName?: string;\n key?: string;\n keyConditionExpression?: string;\n limit?: number;\n logGroupName?: string;\n maxNumberOfMessages?: number;\n maxResults?: number;\n prefix?: string;\n profile?: string;\n queueNamePrefix?: string;\n queueUrl?: string;\n region?: string;\n scanIndexForward?: boolean;\n stackName?: string;\n startTime?: string;\n stateMachineArn?: string;\n statusFilter?: string;\n tableName?: string;\n visibilityTimeout?: number;\n}\n\nexport const awsService = fabricService({\n alias: \"aws\",\n description:\n \"Access AWS services via CLI. Commands: list_profiles, lambda_*, stepfunctions_*, logs_*, s3_*, cloudformation_*, dynamodb_*, sqs_*. Call with no args for help.\",\n input: {\n bucket: {\n description: \"S3 bucket name\",\n required: false,\n type: String,\n },\n cause: {\n description: \"Cause for stopping Step Functions execution\",\n required: false,\n type: String,\n },\n command: {\n description: \"Command to execute (omit for help)\",\n required: false,\n type: String,\n },\n endTime: {\n description: \"End time for log filtering (e.g., now)\",\n required: false,\n type: String,\n },\n executionArn: {\n description: \"Step Functions execution ARN\",\n required: false,\n type: String,\n },\n expressionAttributeValues: {\n description: \"DynamoDB expression attribute values (JSON string)\",\n required: false,\n type: String,\n },\n filterExpression: {\n description: \"DynamoDB filter expression\",\n required: false,\n type: String,\n },\n filterPattern: {\n description: \"CloudWatch Logs filter pattern\",\n required: false,\n type: String,\n },\n functionName: {\n description: \"Lambda function name\",\n required: false,\n type: String,\n },\n functionNamePrefix: {\n description: \"Lambda function name prefix filter\",\n required: false,\n type: String,\n },\n indexName: {\n description: \"DynamoDB index name\",\n required: false,\n type: String,\n },\n key: {\n description: \"DynamoDB item key (JSON string)\",\n required: false,\n type: String,\n },\n keyConditionExpression: {\n description: \"DynamoDB key condition expression\",\n required: false,\n type: String,\n },\n limit: {\n description: \"Maximum number of results\",\n required: false,\n type: Number,\n },\n logGroupName: {\n description: \"CloudWatch Logs group name\",\n required: false,\n type: String,\n },\n maxNumberOfMessages: {\n description: \"SQS max messages to receive\",\n required: false,\n type: Number,\n },\n maxResults: {\n description: \"Maximum number of results\",\n required: false,\n type: Number,\n },\n prefix: {\n description: \"S3 object prefix filter\",\n required: false,\n type: String,\n },\n profile: {\n description: \"AWS profile name\",\n required: false,\n type: String,\n },\n queueNamePrefix: {\n description: \"SQS queue name prefix filter\",\n required: false,\n type: String,\n },\n queueUrl: {\n description: \"SQS queue URL\",\n required: false,\n type: String,\n },\n region: {\n description: \"AWS region (e.g., us-east-1)\",\n required: false,\n type: String,\n },\n scanIndexForward: {\n description: \"DynamoDB scan direction (true=ascending)\",\n required: false,\n type: Boolean,\n },\n stackName: {\n description: \"CloudFormation stack name\",\n required: false,\n type: String,\n },\n startTime: {\n description: \"Start time for log filtering (e.g., now-15m)\",\n required: false,\n type: String,\n },\n stateMachineArn: {\n description: \"Step Functions state machine ARN\",\n required: false,\n type: String,\n },\n statusFilter: {\n description:\n \"Step Functions status filter: RUNNING, SUCCEEDED, FAILED, TIMED_OUT, ABORTED, PENDING_REDRIVE\",\n required: false,\n type: String,\n },\n tableName: {\n description: \"DynamoDB table name\",\n required: false,\n type: String,\n },\n visibilityTimeout: {\n description: \"SQS message visibility timeout in seconds\",\n required: false,\n type: Number,\n },\n },\n service: async (params: AwsInput) => {\n const { command } = params;\n\n if (!command || command === \"help\") {\n return getHelp();\n }\n\n const p = params;\n\n switch (command) {\n case \"list_profiles\": {\n const result = await listAwsProfiles(log);\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"lambda_list_functions\": {\n const result = await listLambdaFunctions(\n {\n functionNamePrefix: p.functionNamePrefix,\n maxResults: p.maxResults,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"lambda_get_function\": {\n if (!p.functionName) throw new Error(\"functionName is required\");\n const result = await getLambdaFunction(\n {\n functionName: p.functionName,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"stepfunctions_list_executions\": {\n if (!p.stateMachineArn) throw new Error(\"stateMachineArn is required\");\n const result = await listStepFunctionExecutions(\n {\n maxResults: p.maxResults,\n profile: p.profile,\n region: p.region,\n stateMachineArn: p.stateMachineArn,\n statusFilter: p.statusFilter as\n | \"RUNNING\"\n | \"SUCCEEDED\"\n | \"FAILED\"\n | \"TIMED_OUT\"\n | \"ABORTED\"\n | \"PENDING_REDRIVE\"\n | undefined,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"stepfunctions_stop_execution\": {\n if (!p.executionArn) throw new Error(\"executionArn is required\");\n const result = await stopStepFunctionExecution(\n {\n cause: p.cause,\n executionArn: p.executionArn,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"logs_filter_log_events\": {\n if (!p.logGroupName) throw new Error(\"logGroupName is required\");\n const result = await filterLogEvents(\n {\n endTime: p.endTime || \"now\",\n filterPattern: p.filterPattern,\n limit: p.limit || 100,\n logGroupName: p.logGroupName,\n profile: p.profile,\n region: p.region,\n startTime: p.startTime || \"now-15m\",\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"s3_list_objects\": {\n if (!p.bucket) throw new Error(\"bucket is required\");\n const result = await listS3Objects(\n {\n bucket: p.bucket,\n maxResults: p.maxResults,\n prefix: p.prefix,\n profile: p.profile,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"cloudformation_describe_stack\": {\n if (!p.stackName) throw new Error(\"stackName is required\");\n const result = await describeStack(\n {\n profile: p.profile,\n region: p.region,\n stackName: p.stackName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_describe_table\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n const result = await describeDynamoDBTable(\n {\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_scan\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n const result = await scanDynamoDB(\n {\n expressionAttributeValues: p.expressionAttributeValues,\n filterExpression: p.filterExpression,\n limit: p.limit || 25,\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_query\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n if (!p.keyConditionExpression)\n throw new Error(\"keyConditionExpression is required\");\n if (!p.expressionAttributeValues)\n throw new Error(\"expressionAttributeValues is required\");\n const result = await queryDynamoDB(\n {\n expressionAttributeValues: p.expressionAttributeValues,\n filterExpression: p.filterExpression,\n indexName: p.indexName,\n keyConditionExpression: p.keyConditionExpression,\n limit: p.limit,\n profile: p.profile,\n region: p.region,\n scanIndexForward: p.scanIndexForward,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"dynamodb_get_item\": {\n if (!p.tableName) throw new Error(\"tableName is required\");\n if (!p.key) throw new Error(\"key is required\");\n const result = await getDynamoDBItem(\n {\n key: p.key,\n profile: p.profile,\n region: p.region,\n tableName: p.tableName,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_list_queues\": {\n const result = await listSQSQueues(\n {\n profile: p.profile,\n queueNamePrefix: p.queueNamePrefix,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_get_queue_attributes\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await getSQSQueueAttributes(\n {\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_receive_message\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await receiveSQSMessage(\n {\n maxNumberOfMessages: p.maxNumberOfMessages || 1,\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n visibilityTimeout: p.visibilityTimeout || 30,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return result.data;\n }\n\n case \"sqs_purge_queue\": {\n if (!p.queueUrl) throw new Error(\"queueUrl is required\");\n const result = await purgeSQSQueue(\n {\n profile: p.profile,\n queueUrl: p.queueUrl,\n region: p.region,\n },\n log,\n );\n if (!result.success) throw new Error(result.error);\n return { success: true };\n }\n\n default:\n throw new Error(`Unknown command: ${command}. Use aws() for help.`);\n }\n },\n});\n\n// Re-export types and functions for testing\nexport * from \"./aws.js\";\n"],"names":["__dirname"],"mappings":"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"}
@@ -7,12 +7,33 @@ Access Datadog observability data. Requires `DATADOG_API_KEY` and `DATADOG_APP_K
7
7
  | Command | Description | Required Parameters |
8
8
  |---------|-------------|---------------------|
9
9
  | `logs` | Search individual log entries | - |
10
- | `log_analytics` | Aggregate logs by fields | `groupBy` (array) |
10
+ | `log_analytics` | Aggregate logs by fields | `groupBy` (comma-separated) |
11
11
  | `monitors` | List and filter monitors | - |
12
12
  | `synthetics` | List synthetic tests or get results | - |
13
13
  | `metrics` | Query timeseries metrics | `query` |
14
14
  | `rum` | Search Real User Monitoring events | - |
15
15
 
16
+ ## Parameters
17
+
18
+ All parameters are passed at the top level (no nested objects):
19
+
20
+ | Parameter | Type | Description |
21
+ |-----------|------|-------------|
22
+ | `command` | string | Command to execute (logs, log_analytics, monitors, synthetics, metrics, rum) |
23
+ | `query` | string | Datadog query string (e.g., `status:error`, `@lambda.arn:"arn:..."`) |
24
+ | `from` | string | Start time (e.g., now-1h, now-15m, now-1d) |
25
+ | `to` | string | End time (e.g., now) |
26
+ | `limit` | number | Maximum results to return |
27
+ | `env` | string | Environment filter |
28
+ | `service` | string | Service name filter |
29
+ | `source` | string | Log source filter (default: lambda) |
30
+ | `groupBy` | string | Fields to group by, comma-separated (for log_analytics) |
31
+ | `aggregation` | string | Aggregation type: count, avg, sum, min, max, cardinality |
32
+ | `status` | string | Monitor status filter, comma-separated: Alert, Warn, No Data, OK |
33
+ | `tags` | string | Tags filter, comma-separated |
34
+ | `testId` | string | Synthetic test ID for getting results |
35
+ | `type` | string | Synthetic test type: api or browser |
36
+
16
37
  ## Environment Variables
17
38
 
18
39
  | Variable | Description |
@@ -26,10 +47,20 @@ Access Datadog observability data. Requires `DATADOG_API_KEY` and `DATADOG_APP_K
26
47
  ## Examples
27
48
 
28
49
  ```
29
- datadog("logs", { query: "status:error", from: "now-1h" })
30
- datadog("log_analytics", { groupBy: ["service", "status"], from: "now-24h" })
31
- datadog("monitors", { status: ["Alert", "Warn"] })
32
- datadog("metrics", { query: "avg:system.cpu.user{*}", from: "1h" })
50
+ # Search error logs
51
+ datadog({ command: "logs", query: "status:error", from: "now-1h" })
52
+
53
+ # Search by Lambda ARN
54
+ datadog({ command: "logs", query: "@lambda.arn:\"arn:aws:lambda:...\"", from: "now-1h" })
55
+
56
+ # Aggregate logs by service
57
+ datadog({ command: "log_analytics", groupBy: "service,status", from: "now-24h" })
58
+
59
+ # List alerting monitors
60
+ datadog({ command: "monitors", status: "Alert,Warn" })
61
+
62
+ # Query metrics
63
+ datadog({ command: "metrics", query: "avg:system.cpu.user{*}", from: "1h" })
33
64
  ```
34
65
 
35
66
  ## Time Formats
@@ -1,24 +1,2 @@
1
- interface DatadogInput {
2
- aggregation?: "count" | "avg" | "sum" | "min" | "max" | "cardinality";
3
- env?: string;
4
- from?: string;
5
- groupBy?: string[];
6
- limit?: number;
7
- metric?: string;
8
- monitorTags?: string[];
9
- name?: string;
10
- query?: string;
11
- service?: string;
12
- sort?: "timestamp" | "-timestamp";
13
- source?: string;
14
- status?: ("Alert" | "Warn" | "No Data" | "OK")[];
15
- tags?: string[];
16
- testId?: string;
17
- to?: string;
18
- type?: "api" | "browser";
19
- }
20
- export declare const datadogService: import("@jaypie/fabric").Service<{
21
- command?: string;
22
- input?: DatadogInput;
23
- }, string | import("./datadog.js").DatadogMonitorsResult | import("./datadog.js").DatadogSyntheticsResult | import("./datadog.js").DatadogSyntheticResultsResult | import("./datadog.js").DatadogMetricsResult | import("./datadog.js").DatadogRumResult | import("./datadog.js").DatadogSearchResult | import("./datadog.js").DatadogAnalyticsResult, string | import("./datadog.js").DatadogMonitorsResult | import("./datadog.js").DatadogSyntheticsResult | import("./datadog.js").DatadogSyntheticResultsResult | import("./datadog.js").DatadogMetricsResult | import("./datadog.js").DatadogRumResult | import("./datadog.js").DatadogSearchResult | import("./datadog.js").DatadogAnalyticsResult>;
1
+ export declare const datadogService: import("@jaypie/fabric").Service<Record<string, unknown>, string | import("./datadog.js").DatadogMonitorsResult | import("./datadog.js").DatadogSyntheticsResult | import("./datadog.js").DatadogSyntheticResultsResult | import("./datadog.js").DatadogMetricsResult | import("./datadog.js").DatadogRumResult | import("./datadog.js").DatadogSearchResult | import("./datadog.js").DatadogAnalyticsResult, string | import("./datadog.js").DatadogMonitorsResult | import("./datadog.js").DatadogSyntheticsResult | import("./datadog.js").DatadogSyntheticResultsResult | import("./datadog.js").DatadogMetricsResult | import("./datadog.js").DatadogRumResult | import("./datadog.js").DatadogSearchResult | import("./datadog.js").DatadogAnalyticsResult>;
24
2
  export * from "./datadog.js";