@us-all/datadog-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/LICENSE +21 -0
- package/README.md +275 -0
- package/dist/client.d.ts +21 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +37 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +100 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/account.d.ts +48 -0
- package/dist/tools/account.d.ts.map +1 -0
- package/dist/tools/account.js +64 -0
- package/dist/tools/account.js.map +1 -0
- package/dist/tools/apm.d.ts +36 -0
- package/dist/tools/apm.d.ts.map +1 -0
- package/dist/tools/apm.js +40 -0
- package/dist/tools/apm.js.map +1 -0
- package/dist/tools/dashboards.d.ts +82 -0
- package/dist/tools/dashboards.d.ts.map +1 -0
- package/dist/tools/dashboards.js +124 -0
- package/dist/tools/dashboards.js.map +1 -0
- package/dist/tools/downtimes.d.ts +51 -0
- package/dist/tools/downtimes.d.ts.map +1 -0
- package/dist/tools/downtimes.js +96 -0
- package/dist/tools/downtimes.js.map +1 -0
- package/dist/tools/events.d.ts +52 -0
- package/dist/tools/events.d.ts.map +1 -0
- package/dist/tools/events.js +70 -0
- package/dist/tools/events.js.map +1 -0
- package/dist/tools/hosts.d.ts +38 -0
- package/dist/tools/hosts.d.ts.map +1 -0
- package/dist/tools/hosts.js +55 -0
- package/dist/tools/hosts.js.map +1 -0
- package/dist/tools/incidents.d.ts +23 -0
- package/dist/tools/incidents.d.ts.map +1 -0
- package/dist/tools/incidents.js +29 -0
- package/dist/tools/incidents.js.map +1 -0
- package/dist/tools/logs.d.ts +67 -0
- package/dist/tools/logs.d.ts.map +1 -0
- package/dist/tools/logs.js +98 -0
- package/dist/tools/logs.js.map +1 -0
- package/dist/tools/metrics.d.ts +61 -0
- package/dist/tools/metrics.d.ts.map +1 -0
- package/dist/tools/metrics.js +94 -0
- package/dist/tools/metrics.js.map +1 -0
- package/dist/tools/monitors.d.ts +92 -0
- package/dist/tools/monitors.d.ts.map +1 -0
- package/dist/tools/monitors.js +157 -0
- package/dist/tools/monitors.js.map +1 -0
- package/dist/tools/notebooks.d.ts +41 -0
- package/dist/tools/notebooks.d.ts.map +1 -0
- package/dist/tools/notebooks.js +60 -0
- package/dist/tools/notebooks.js.map +1 -0
- package/dist/tools/oncall.d.ts +18 -0
- package/dist/tools/oncall.d.ts.map +1 -0
- package/dist/tools/oncall.js +31 -0
- package/dist/tools/oncall.js.map +1 -0
- package/dist/tools/rum.d.ts +50 -0
- package/dist/tools/rum.d.ts.map +1 -0
- package/dist/tools/rum.js +65 -0
- package/dist/tools/rum.js.map +1 -0
- package/dist/tools/security.d.ts +25 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +37 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/slos.d.ts +59 -0
- package/dist/tools/slos.d.ts.map +1 -0
- package/dist/tools/slos.js +82 -0
- package/dist/tools/slos.js.map +1 -0
- package/dist/tools/synthetics.d.ts +115 -0
- package/dist/tools/synthetics.d.ts.map +1 -0
- package/dist/tools/synthetics.js +185 -0
- package/dist/tools/synthetics.js.map +1 -0
- package/dist/tools/utils.d.ts +18 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +97 -0
- package/dist/tools/utils.js.map +1 -0
- package/package.json +54 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/tools/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const searchSpansSchema: z.ZodObject<{
|
|
3
|
+
query: z.ZodString;
|
|
4
|
+
from: z.ZodString;
|
|
5
|
+
to: z.ZodString;
|
|
6
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
+
sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
timestamp: "timestamp";
|
|
9
|
+
"-timestamp": "-timestamp";
|
|
10
|
+
}>>>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
export declare function searchSpans(params: z.infer<typeof searchSpansSchema>): Promise<{
|
|
13
|
+
count: number;
|
|
14
|
+
spans: {
|
|
15
|
+
id: string | undefined;
|
|
16
|
+
traceId: string | undefined;
|
|
17
|
+
spanId: string | undefined;
|
|
18
|
+
parentId: string | undefined;
|
|
19
|
+
service: string | undefined;
|
|
20
|
+
resourceName: string | undefined;
|
|
21
|
+
type: string | undefined;
|
|
22
|
+
env: string | undefined;
|
|
23
|
+
host: string | undefined;
|
|
24
|
+
startTimestamp: string | undefined;
|
|
25
|
+
endTimestamp: string | undefined;
|
|
26
|
+
ingestionReason: string | undefined;
|
|
27
|
+
tags: string[] | undefined;
|
|
28
|
+
custom: {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
} | undefined;
|
|
31
|
+
attributes: {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
} | undefined;
|
|
34
|
+
}[];
|
|
35
|
+
}>;
|
|
36
|
+
//# sourceMappingURL=apm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,iBAAiB;;;;;;;;;iBAM5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;GA8B1E"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { spansApi } from "../client.js";
|
|
3
|
+
export const searchSpansSchema = z.object({
|
|
4
|
+
query: z.string().describe("Span search query. Example: service:api-server resource_name:GET_/users @duration:>5s"),
|
|
5
|
+
from: z.string().describe("Start time (ISO 8601 or relative). Example: 2026-02-26T00:00:00Z or now-1h"),
|
|
6
|
+
to: z.string().describe("End time (ISO 8601 or relative). Example: 2026-02-26T23:59:59Z or now"),
|
|
7
|
+
limit: z.number().optional().default(50).describe("Max results (default 50, max 1000)"),
|
|
8
|
+
sort: z.enum(["timestamp", "-timestamp"]).optional().default("-timestamp").describe("Sort order: -timestamp (newest first) or timestamp (oldest first)"),
|
|
9
|
+
});
|
|
10
|
+
export async function searchSpans(params) {
|
|
11
|
+
const response = await spansApi.listSpansGet({
|
|
12
|
+
filterQuery: params.query,
|
|
13
|
+
filterFrom: params.from,
|
|
14
|
+
filterTo: params.to,
|
|
15
|
+
pageLimit: params.limit,
|
|
16
|
+
sort: params.sort === "timestamp" ? "timestamp" : "-timestamp",
|
|
17
|
+
});
|
|
18
|
+
const spans = response.data ?? [];
|
|
19
|
+
return {
|
|
20
|
+
count: spans.length,
|
|
21
|
+
spans: spans.map((s) => ({
|
|
22
|
+
id: s.id,
|
|
23
|
+
traceId: s.attributes?.traceId,
|
|
24
|
+
spanId: s.attributes?.spanId,
|
|
25
|
+
parentId: s.attributes?.parentId,
|
|
26
|
+
service: s.attributes?.service,
|
|
27
|
+
resourceName: s.attributes?.resourceName,
|
|
28
|
+
type: s.attributes?.type,
|
|
29
|
+
env: s.attributes?.env,
|
|
30
|
+
host: s.attributes?.host,
|
|
31
|
+
startTimestamp: s.attributes?.startTimestamp?.toISOString(),
|
|
32
|
+
endTimestamp: s.attributes?.endTimestamp?.toISOString(),
|
|
33
|
+
ingestionReason: s.attributes?.ingestionReason,
|
|
34
|
+
tags: s.attributes?.tags,
|
|
35
|
+
custom: s.attributes?.custom,
|
|
36
|
+
attributes: s.attributes?.attributes,
|
|
37
|
+
})),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=apm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apm.js","sourceRoot":"","sources":["../../src/tools/apm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uFAAuF,CAAC;IACnH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IACvG,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAChG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACvF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;CACzJ,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyC;IACzE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC;QAC3C,WAAW,EAAE,MAAM,CAAC,KAAK;QACzB,UAAU,EAAE,MAAM,CAAC,IAAI;QACvB,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC,KAAK;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;KAC/D,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO;YAC9B,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM;YAC5B,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,QAAQ;YAChC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO;YAC9B,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,YAAY;YACxC,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;YACxB,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,GAAG;YACtB,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;YACxB,cAAc,EAAE,CAAC,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE;YAC3D,YAAY,EAAE,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE;YACvD,eAAe,EAAE,CAAC,CAAC,UAAU,EAAE,eAAe;YAC9C,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;YACxB,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM;YAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU;SACrC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const getDashboardsSchema: z.ZodObject<{
|
|
3
|
+
filterShared: z.ZodOptional<z.ZodBoolean>;
|
|
4
|
+
count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
5
|
+
start: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export declare function getDashboards(params: z.infer<typeof getDashboardsSchema>): Promise<{
|
|
8
|
+
total: number;
|
|
9
|
+
dashboards: {
|
|
10
|
+
id: string | undefined;
|
|
11
|
+
title: string | undefined;
|
|
12
|
+
description: string | undefined;
|
|
13
|
+
layoutType: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").DashboardLayoutType | undefined;
|
|
14
|
+
url: string | undefined;
|
|
15
|
+
author: string | undefined;
|
|
16
|
+
created: string | undefined;
|
|
17
|
+
modified: string | undefined;
|
|
18
|
+
}[];
|
|
19
|
+
}>;
|
|
20
|
+
export declare const getDashboardSchema: z.ZodObject<{
|
|
21
|
+
dashboardId: z.ZodString;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
export declare function getDashboard(params: z.infer<typeof getDashboardSchema>): Promise<{
|
|
24
|
+
id: string | undefined;
|
|
25
|
+
title: string;
|
|
26
|
+
description: string | undefined;
|
|
27
|
+
layoutType: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").DashboardLayoutType;
|
|
28
|
+
url: string | undefined;
|
|
29
|
+
author: string | undefined;
|
|
30
|
+
created: string | undefined;
|
|
31
|
+
modified: string | undefined;
|
|
32
|
+
widgets: {
|
|
33
|
+
id: number | undefined;
|
|
34
|
+
definition: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").WidgetDefinition;
|
|
35
|
+
}[];
|
|
36
|
+
templateVariables: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").DashboardTemplateVariable[] | undefined;
|
|
37
|
+
notifyList: string[] | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
export declare const createDashboardSchema: z.ZodObject<{
|
|
40
|
+
title: z.ZodString;
|
|
41
|
+
layoutType: z.ZodEnum<{
|
|
42
|
+
ordered: "ordered";
|
|
43
|
+
free: "free";
|
|
44
|
+
}>;
|
|
45
|
+
description: z.ZodOptional<z.ZodString>;
|
|
46
|
+
widgets: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
47
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
48
|
+
templateVariables: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
|
|
49
|
+
}, z.core.$strip>;
|
|
50
|
+
export declare function createDashboard(params: z.infer<typeof createDashboardSchema>): Promise<{
|
|
51
|
+
id: string | undefined;
|
|
52
|
+
title: string;
|
|
53
|
+
layoutType: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").DashboardLayoutType;
|
|
54
|
+
url: string | undefined;
|
|
55
|
+
created: string | undefined;
|
|
56
|
+
}>;
|
|
57
|
+
export declare const updateDashboardSchema: z.ZodObject<{
|
|
58
|
+
dashboardId: z.ZodString;
|
|
59
|
+
title: z.ZodString;
|
|
60
|
+
layoutType: z.ZodEnum<{
|
|
61
|
+
ordered: "ordered";
|
|
62
|
+
free: "free";
|
|
63
|
+
}>;
|
|
64
|
+
description: z.ZodOptional<z.ZodString>;
|
|
65
|
+
widgets: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
66
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
67
|
+
templateVariables: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodAny>>>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
export declare function updateDashboard(params: z.infer<typeof updateDashboardSchema>): Promise<{
|
|
70
|
+
id: string | undefined;
|
|
71
|
+
title: string;
|
|
72
|
+
layoutType: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").DashboardLayoutType;
|
|
73
|
+
url: string | undefined;
|
|
74
|
+
modified: string | undefined;
|
|
75
|
+
}>;
|
|
76
|
+
export declare const deleteDashboardSchema: z.ZodObject<{
|
|
77
|
+
dashboardId: z.ZodString;
|
|
78
|
+
}, z.core.$strip>;
|
|
79
|
+
export declare function deleteDashboard(params: z.infer<typeof deleteDashboardSchema>): Promise<{
|
|
80
|
+
deletedDashboardId: string | undefined;
|
|
81
|
+
}>;
|
|
82
|
+
//# sourceMappingURL=dashboards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.d.ts","sourceRoot":"","sources":["../../src/tools/dashboards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,mBAAmB;;;;iBAI9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;;;;;;GAqB9E;AAED,eAAO,MAAM,kBAAkB;;iBAE7B,CAAC;AAEH,wBAAsB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;;;;;;;;;;;;;GAqB5E;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAOhC,CAAC;AAEH,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;GAoBlF;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAQhC,CAAC;AAEH,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;GAqBlF;AAED,eAAO,MAAM,qBAAqB;;iBAEhC,CAAC;AAEH,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;GASlF"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { dashboardsApi } from "../client.js";
|
|
3
|
+
import { assertWriteAllowed } from "./utils.js";
|
|
4
|
+
export const getDashboardsSchema = z.object({
|
|
5
|
+
filterShared: z.boolean().optional().describe("Filter shared dashboards only"),
|
|
6
|
+
count: z.number().optional().default(100).describe("Number of dashboards to return"),
|
|
7
|
+
start: z.number().optional().default(0).describe("Pagination offset"),
|
|
8
|
+
});
|
|
9
|
+
export async function getDashboards(params) {
|
|
10
|
+
const response = await dashboardsApi.listDashboards({
|
|
11
|
+
filterShared: params.filterShared,
|
|
12
|
+
count: params.count,
|
|
13
|
+
start: params.start,
|
|
14
|
+
});
|
|
15
|
+
const dashboards = response.dashboards ?? [];
|
|
16
|
+
return {
|
|
17
|
+
total: dashboards.length,
|
|
18
|
+
dashboards: dashboards.map((d) => ({
|
|
19
|
+
id: d.id,
|
|
20
|
+
title: d.title,
|
|
21
|
+
description: d.description,
|
|
22
|
+
layoutType: d.layoutType,
|
|
23
|
+
url: d.url,
|
|
24
|
+
author: d.authorHandle,
|
|
25
|
+
created: d.createdAt?.toISOString(),
|
|
26
|
+
modified: d.modifiedAt?.toISOString(),
|
|
27
|
+
})),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export const getDashboardSchema = z.object({
|
|
31
|
+
dashboardId: z.string().describe("Dashboard ID. Example: abc-def-ghi"),
|
|
32
|
+
});
|
|
33
|
+
export async function getDashboard(params) {
|
|
34
|
+
const response = await dashboardsApi.getDashboard({
|
|
35
|
+
dashboardId: params.dashboardId,
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
id: response.id,
|
|
39
|
+
title: response.title,
|
|
40
|
+
description: response.description,
|
|
41
|
+
layoutType: response.layoutType,
|
|
42
|
+
url: response.url,
|
|
43
|
+
author: response.authorHandle,
|
|
44
|
+
created: response.createdAt?.toISOString(),
|
|
45
|
+
modified: response.modifiedAt?.toISOString(),
|
|
46
|
+
widgets: response.widgets?.map((w) => ({
|
|
47
|
+
id: w.id,
|
|
48
|
+
definition: w.definition,
|
|
49
|
+
})),
|
|
50
|
+
templateVariables: response.templateVariables,
|
|
51
|
+
notifyList: response.notifyList,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export const createDashboardSchema = z.object({
|
|
55
|
+
title: z.string().describe("Dashboard title. Example: Production Overview"),
|
|
56
|
+
layoutType: z.enum(["ordered", "free"]).describe("Layout type: ordered (auto-arranged) or free (manual placement)"),
|
|
57
|
+
description: z.string().optional().describe("Dashboard description"),
|
|
58
|
+
widgets: z.array(z.record(z.string(), z.any())).describe("Array of widget definitions (each with a 'definition' key)"),
|
|
59
|
+
tags: z.array(z.string()).optional().describe("Tags for the dashboard. Example: [\"env:prod\"]"),
|
|
60
|
+
templateVariables: z.array(z.record(z.string(), z.any())).optional().describe("Template variables for dynamic filtering"),
|
|
61
|
+
});
|
|
62
|
+
export async function createDashboard(params) {
|
|
63
|
+
assertWriteAllowed();
|
|
64
|
+
const response = await dashboardsApi.createDashboard({
|
|
65
|
+
body: {
|
|
66
|
+
title: params.title,
|
|
67
|
+
layoutType: params.layoutType,
|
|
68
|
+
description: params.description,
|
|
69
|
+
widgets: params.widgets,
|
|
70
|
+
tags: params.tags,
|
|
71
|
+
templateVariables: params.templateVariables,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
return {
|
|
75
|
+
id: response.id,
|
|
76
|
+
title: response.title,
|
|
77
|
+
layoutType: response.layoutType,
|
|
78
|
+
url: response.url,
|
|
79
|
+
created: response.createdAt?.toISOString(),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export const updateDashboardSchema = z.object({
|
|
83
|
+
dashboardId: z.string().describe("Dashboard ID to update. Example: abc-def-ghi"),
|
|
84
|
+
title: z.string().describe("Dashboard title"),
|
|
85
|
+
layoutType: z.enum(["ordered", "free"]).describe("Layout type"),
|
|
86
|
+
description: z.string().optional().describe("Dashboard description"),
|
|
87
|
+
widgets: z.array(z.record(z.string(), z.any())).describe("Array of widget definitions"),
|
|
88
|
+
tags: z.array(z.string()).optional().describe("Tags"),
|
|
89
|
+
templateVariables: z.array(z.record(z.string(), z.any())).optional().describe("Template variables"),
|
|
90
|
+
});
|
|
91
|
+
export async function updateDashboard(params) {
|
|
92
|
+
assertWriteAllowed();
|
|
93
|
+
const response = await dashboardsApi.updateDashboard({
|
|
94
|
+
dashboardId: params.dashboardId,
|
|
95
|
+
body: {
|
|
96
|
+
title: params.title,
|
|
97
|
+
layoutType: params.layoutType,
|
|
98
|
+
description: params.description,
|
|
99
|
+
widgets: params.widgets,
|
|
100
|
+
tags: params.tags,
|
|
101
|
+
templateVariables: params.templateVariables,
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
id: response.id,
|
|
106
|
+
title: response.title,
|
|
107
|
+
layoutType: response.layoutType,
|
|
108
|
+
url: response.url,
|
|
109
|
+
modified: response.modifiedAt?.toISOString(),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export const deleteDashboardSchema = z.object({
|
|
113
|
+
dashboardId: z.string().describe("Dashboard ID to delete. Example: abc-def-ghi"),
|
|
114
|
+
});
|
|
115
|
+
export async function deleteDashboard(params) {
|
|
116
|
+
assertWriteAllowed();
|
|
117
|
+
const response = await dashboardsApi.deleteDashboard({
|
|
118
|
+
dashboardId: params.dashboardId,
|
|
119
|
+
});
|
|
120
|
+
return {
|
|
121
|
+
deletedDashboardId: response.deletedDashboardId,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=dashboards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboards.js","sourceRoot":"","sources":["../../src/tools/dashboards.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const listDowntimesSchema: z.ZodObject<{
|
|
3
|
+
currentOnly: z.ZodOptional<z.ZodBoolean>;
|
|
4
|
+
include: z.ZodOptional<z.ZodString>;
|
|
5
|
+
pageLimit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
6
|
+
pageOffset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export declare function listDowntimes(params: z.infer<typeof listDowntimesSchema>): Promise<{
|
|
9
|
+
count: number;
|
|
10
|
+
downtimes: {
|
|
11
|
+
id: string | undefined;
|
|
12
|
+
type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeResourceType | undefined;
|
|
13
|
+
displayTimezone: string | undefined;
|
|
14
|
+
message: string | undefined;
|
|
15
|
+
muteFirstRecoveryNotification: boolean | undefined;
|
|
16
|
+
scope: string | undefined;
|
|
17
|
+
status: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeStatus | undefined;
|
|
18
|
+
schedule: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeScheduleResponse | undefined;
|
|
19
|
+
canceled: string | undefined;
|
|
20
|
+
created: string | undefined;
|
|
21
|
+
modified: string | undefined;
|
|
22
|
+
monitorIdentifier: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeMonitorIdentifier | undefined;
|
|
23
|
+
}[];
|
|
24
|
+
}>;
|
|
25
|
+
export declare const createDowntimeSchema: z.ZodObject<{
|
|
26
|
+
scope: z.ZodString;
|
|
27
|
+
start: z.ZodNumber;
|
|
28
|
+
end: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
message: z.ZodOptional<z.ZodString>;
|
|
30
|
+
monitorId: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
monitorTags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
timezone: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
33
|
+
notifyEndStates: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export declare function createDowntime(params: z.infer<typeof createDowntimeSchema>): Promise<{
|
|
36
|
+
id: string | undefined;
|
|
37
|
+
type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeResourceType | undefined;
|
|
38
|
+
scope: string | undefined;
|
|
39
|
+
status: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeStatus | undefined;
|
|
40
|
+
schedule: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").DowntimeScheduleResponse | undefined;
|
|
41
|
+
message: string | undefined;
|
|
42
|
+
created: string | undefined;
|
|
43
|
+
}>;
|
|
44
|
+
export declare const cancelDowntimeSchema: z.ZodObject<{
|
|
45
|
+
downtimeId: z.ZodString;
|
|
46
|
+
}, z.core.$strip>;
|
|
47
|
+
export declare function cancelDowntime(params: z.infer<typeof cancelDowntimeSchema>): Promise<{
|
|
48
|
+
success: boolean;
|
|
49
|
+
downtimeId: string;
|
|
50
|
+
}>;
|
|
51
|
+
//# sourceMappingURL=downtimes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downtimes.d.ts","sourceRoot":"","sources":["../../src/tools/downtimes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;;;;;;;;;;GA0B9E;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;iBAS/B,CAAC;AAEH,wBAAsB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;;;;;;GAuChF;AAED,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,wBAAsB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC;;;GAOhF"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { downtimesApi } from "../client.js";
|
|
3
|
+
import { assertWriteAllowed } from "./utils.js";
|
|
4
|
+
export const listDowntimesSchema = z.object({
|
|
5
|
+
currentOnly: z.boolean().optional().describe("Return only currently active downtimes"),
|
|
6
|
+
include: z.string().optional().describe("Comma-separated related resources to include. Example: created_by,monitor"),
|
|
7
|
+
pageLimit: z.number().optional().default(50).describe("Max results per page (default 50)"),
|
|
8
|
+
pageOffset: z.number().optional().default(0).describe("Pagination offset"),
|
|
9
|
+
});
|
|
10
|
+
export async function listDowntimes(params) {
|
|
11
|
+
const response = await downtimesApi.listDowntimes({
|
|
12
|
+
currentOnly: params.currentOnly,
|
|
13
|
+
include: params.include,
|
|
14
|
+
pageLimit: params.pageLimit,
|
|
15
|
+
pageOffset: params.pageOffset,
|
|
16
|
+
});
|
|
17
|
+
const downtimes = response.data ?? [];
|
|
18
|
+
return {
|
|
19
|
+
count: downtimes.length,
|
|
20
|
+
downtimes: downtimes.map((d) => ({
|
|
21
|
+
id: d.id,
|
|
22
|
+
type: d.type,
|
|
23
|
+
displayTimezone: d.attributes?.displayTimezone,
|
|
24
|
+
message: d.attributes?.message,
|
|
25
|
+
muteFirstRecoveryNotification: d.attributes?.muteFirstRecoveryNotification,
|
|
26
|
+
scope: d.attributes?.scope,
|
|
27
|
+
status: d.attributes?.status,
|
|
28
|
+
schedule: d.attributes?.schedule,
|
|
29
|
+
canceled: d.attributes?.canceled?.toISOString(),
|
|
30
|
+
created: d.attributes?.created?.toISOString(),
|
|
31
|
+
modified: d.attributes?.modified?.toISOString(),
|
|
32
|
+
monitorIdentifier: d.attributes?.monitorIdentifier,
|
|
33
|
+
})),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export const createDowntimeSchema = z.object({
|
|
37
|
+
scope: z.string().describe("Downtime scope. Example: env:prod or host:web-01 or * (all)"),
|
|
38
|
+
start: z.number().describe("Start time as Unix epoch seconds. Example: 1740000000"),
|
|
39
|
+
end: z.number().optional().describe("End time as Unix epoch seconds (omit for indefinite). Example: 1740003600"),
|
|
40
|
+
message: z.string().optional().describe("Notification message. Example: Scheduled maintenance window"),
|
|
41
|
+
monitorId: z.number().optional().describe("Specific monitor ID to mute. Example: 12345678"),
|
|
42
|
+
monitorTags: z.array(z.string()).optional().describe("Mute monitors matching these tags. Example: [\"service:api\"]"),
|
|
43
|
+
timezone: z.string().optional().default("UTC").describe("IANA timezone. Example: UTC or America/New_York"),
|
|
44
|
+
notifyEndStates: z.array(z.string()).optional().describe("States to notify on end. Example: [\"alert\", \"warn\"]"),
|
|
45
|
+
});
|
|
46
|
+
export async function createDowntime(params) {
|
|
47
|
+
assertWriteAllowed();
|
|
48
|
+
let monitorIdentifier;
|
|
49
|
+
if (params.monitorId) {
|
|
50
|
+
monitorIdentifier = { monitorId: params.monitorId };
|
|
51
|
+
}
|
|
52
|
+
else if (params.monitorTags && params.monitorTags.length > 0) {
|
|
53
|
+
monitorIdentifier = { monitorTags: params.monitorTags };
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
monitorIdentifier = { monitorTags: ["*"] };
|
|
57
|
+
}
|
|
58
|
+
const response = await downtimesApi.createDowntime({
|
|
59
|
+
body: {
|
|
60
|
+
data: {
|
|
61
|
+
attributes: {
|
|
62
|
+
scope: params.scope,
|
|
63
|
+
monitorIdentifier,
|
|
64
|
+
schedule: {
|
|
65
|
+
start: new Date(params.start * 1000).toISOString(),
|
|
66
|
+
...(params.end ? { end: new Date(params.end * 1000).toISOString() } : {}),
|
|
67
|
+
},
|
|
68
|
+
message: params.message,
|
|
69
|
+
displayTimezone: params.timezone,
|
|
70
|
+
...(params.notifyEndStates ? { notifyEndStates: params.notifyEndStates } : {}),
|
|
71
|
+
},
|
|
72
|
+
type: "downtime",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
return {
|
|
77
|
+
id: response.data?.id,
|
|
78
|
+
type: response.data?.type,
|
|
79
|
+
scope: response.data?.attributes?.scope,
|
|
80
|
+
status: response.data?.attributes?.status,
|
|
81
|
+
schedule: response.data?.attributes?.schedule,
|
|
82
|
+
message: response.data?.attributes?.message,
|
|
83
|
+
created: response.data?.attributes?.created?.toISOString(),
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export const cancelDowntimeSchema = z.object({
|
|
87
|
+
downtimeId: z.string().describe("Downtime ID to cancel. Example: abc123def456"),
|
|
88
|
+
});
|
|
89
|
+
export async function cancelDowntime(params) {
|
|
90
|
+
assertWriteAllowed();
|
|
91
|
+
await downtimesApi.cancelDowntime({
|
|
92
|
+
downtimeId: params.downtimeId,
|
|
93
|
+
});
|
|
94
|
+
return { success: true, downtimeId: params.downtimeId };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=downtimes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downtimes.js","sourceRoot":"","sources":["../../src/tools/downtimes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
export declare const getEventsSchema: z.ZodObject<{
|
|
3
|
+
start: z.ZodNumber;
|
|
4
|
+
end: z.ZodNumber;
|
|
5
|
+
priority: z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
low: "low";
|
|
7
|
+
normal: "normal";
|
|
8
|
+
}>>;
|
|
9
|
+
sources: z.ZodOptional<z.ZodString>;
|
|
10
|
+
tags: z.ZodOptional<z.ZodString>;
|
|
11
|
+
unaggregated: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare function getEvents(params: z.infer<typeof getEventsSchema>): Promise<{
|
|
15
|
+
count: number;
|
|
16
|
+
events: {
|
|
17
|
+
id: number | undefined;
|
|
18
|
+
title: string | undefined;
|
|
19
|
+
text: string | undefined;
|
|
20
|
+
dateHappened: string | undefined;
|
|
21
|
+
host: string | undefined;
|
|
22
|
+
priority: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").EventPriority | undefined;
|
|
23
|
+
source: any;
|
|
24
|
+
tags: string[] | undefined;
|
|
25
|
+
alertType: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").EventAlertType | undefined;
|
|
26
|
+
}[];
|
|
27
|
+
}>;
|
|
28
|
+
export declare const postEventSchema: z.ZodObject<{
|
|
29
|
+
title: z.ZodString;
|
|
30
|
+
text: z.ZodString;
|
|
31
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
+
alertType: z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
success: "success";
|
|
34
|
+
error: "error";
|
|
35
|
+
warning: "warning";
|
|
36
|
+
info: "info";
|
|
37
|
+
}>>;
|
|
38
|
+
priority: z.ZodOptional<z.ZodEnum<{
|
|
39
|
+
low: "low";
|
|
40
|
+
normal: "normal";
|
|
41
|
+
}>>;
|
|
42
|
+
host: z.ZodOptional<z.ZodString>;
|
|
43
|
+
aggregationKey: z.ZodOptional<z.ZodString>;
|
|
44
|
+
sourceTypeName: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export declare function postEvent(params: z.infer<typeof postEventSchema>): Promise<{
|
|
47
|
+
id: number | undefined;
|
|
48
|
+
title: string | undefined;
|
|
49
|
+
url: string | undefined;
|
|
50
|
+
status: string | undefined;
|
|
51
|
+
}>;
|
|
52
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/tools/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,eAAO,MAAM,eAAe;;;;;;;;;;;iBAQ1B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;;GA0BtE;AAED,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;iBAS1B,CAAC;AAEH,wBAAsB,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;GAqBtE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
import { eventsApi } from "../client.js";
|
|
3
|
+
import { assertWriteAllowed } from "./utils.js";
|
|
4
|
+
export const getEventsSchema = z.object({
|
|
5
|
+
start: z.number().describe("Start time as Unix epoch seconds. Example: 1740000000"),
|
|
6
|
+
end: z.number().describe("End time as Unix epoch seconds. Example: 1740003600"),
|
|
7
|
+
priority: z.enum(["low", "normal"]).optional().describe("Event priority filter"),
|
|
8
|
+
sources: z.string().optional().describe("Comma-separated event sources. Example: datadog,nginx"),
|
|
9
|
+
tags: z.string().optional().describe("Comma-separated tags to filter. Example: env:prod,service:api"),
|
|
10
|
+
unaggregated: z.boolean().optional().describe("Return unaggregated events"),
|
|
11
|
+
page: z.number().optional().describe("Page number for pagination"),
|
|
12
|
+
});
|
|
13
|
+
export async function getEvents(params) {
|
|
14
|
+
const response = await eventsApi.listEvents({
|
|
15
|
+
start: params.start,
|
|
16
|
+
end: params.end,
|
|
17
|
+
priority: params.priority,
|
|
18
|
+
sources: params.sources,
|
|
19
|
+
tags: params.tags,
|
|
20
|
+
unaggregated: params.unaggregated,
|
|
21
|
+
page: params.page,
|
|
22
|
+
});
|
|
23
|
+
const events = response.events ?? [];
|
|
24
|
+
return {
|
|
25
|
+
count: events.length,
|
|
26
|
+
events: events.map((e) => ({
|
|
27
|
+
id: e.id,
|
|
28
|
+
title: e.title,
|
|
29
|
+
text: e.text,
|
|
30
|
+
dateHappened: e.dateHappened ? new Date(e.dateHappened * 1000).toISOString() : undefined,
|
|
31
|
+
host: e.host,
|
|
32
|
+
priority: e.priority,
|
|
33
|
+
source: e.source,
|
|
34
|
+
tags: e.tags,
|
|
35
|
+
alertType: e.alertType,
|
|
36
|
+
})),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export const postEventSchema = z.object({
|
|
40
|
+
title: z.string().describe("Event title. Example: Deployment completed"),
|
|
41
|
+
text: z.string().describe("Event body (supports markdown, max 4000 chars). Example: Deployed v1.2.3 to production"),
|
|
42
|
+
tags: z.array(z.string()).optional().describe("Tags for the event. Example: [\"env:prod\", \"deploy\"]"),
|
|
43
|
+
alertType: z.enum(["error", "warning", "info", "success"]).optional().describe("Alert type"),
|
|
44
|
+
priority: z.enum(["low", "normal"]).optional().describe("Event priority"),
|
|
45
|
+
host: z.string().optional().describe("Associated host name"),
|
|
46
|
+
aggregationKey: z.string().optional().describe("Aggregation key for grouping events"),
|
|
47
|
+
sourceTypeName: z.string().optional().describe("Source type name. Example: my_app"),
|
|
48
|
+
});
|
|
49
|
+
export async function postEvent(params) {
|
|
50
|
+
assertWriteAllowed();
|
|
51
|
+
const response = await eventsApi.createEvent({
|
|
52
|
+
body: {
|
|
53
|
+
title: params.title,
|
|
54
|
+
text: params.text,
|
|
55
|
+
tags: params.tags,
|
|
56
|
+
alertType: params.alertType,
|
|
57
|
+
priority: params.priority,
|
|
58
|
+
host: params.host,
|
|
59
|
+
aggregationKey: params.aggregationKey,
|
|
60
|
+
sourceTypeName: params.sourceTypeName,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
id: response.event?.id,
|
|
65
|
+
title: response.event?.title,
|
|
66
|
+
url: response.event?.url,
|
|
67
|
+
status: response.status,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/tools/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACnF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IAC/E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IAChG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;IACrG,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC3E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuC;IACrE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC;QAC1C,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,QAAQ,EAAE,MAAM,CAAC,QAAe;QAChC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM;QACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACxF,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAG,CAAS,CAAC,MAAM;YACzB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,SAAS;SACvB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACxE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;IACnH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;IACxG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC5F,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IAC5D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACrF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAuC;IACrE,kBAAkB,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC;QAC3C,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,SAAgB;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAe;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE;QACtB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK;QAC5B,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,GAAG;QACxB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC"}
|