@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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +275 -0
  3. package/dist/client.d.ts +21 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +37 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/config.d.ts +8 -0
  8. package/dist/config.d.ts.map +1 -0
  9. package/dist/config.js +17 -0
  10. package/dist/config.js.map +1 -0
  11. package/dist/index.d.ts +3 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +100 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/tools/account.d.ts +48 -0
  16. package/dist/tools/account.d.ts.map +1 -0
  17. package/dist/tools/account.js +64 -0
  18. package/dist/tools/account.js.map +1 -0
  19. package/dist/tools/apm.d.ts +36 -0
  20. package/dist/tools/apm.d.ts.map +1 -0
  21. package/dist/tools/apm.js +40 -0
  22. package/dist/tools/apm.js.map +1 -0
  23. package/dist/tools/dashboards.d.ts +82 -0
  24. package/dist/tools/dashboards.d.ts.map +1 -0
  25. package/dist/tools/dashboards.js +124 -0
  26. package/dist/tools/dashboards.js.map +1 -0
  27. package/dist/tools/downtimes.d.ts +51 -0
  28. package/dist/tools/downtimes.d.ts.map +1 -0
  29. package/dist/tools/downtimes.js +96 -0
  30. package/dist/tools/downtimes.js.map +1 -0
  31. package/dist/tools/events.d.ts +52 -0
  32. package/dist/tools/events.d.ts.map +1 -0
  33. package/dist/tools/events.js +70 -0
  34. package/dist/tools/events.js.map +1 -0
  35. package/dist/tools/hosts.d.ts +38 -0
  36. package/dist/tools/hosts.d.ts.map +1 -0
  37. package/dist/tools/hosts.js +55 -0
  38. package/dist/tools/hosts.js.map +1 -0
  39. package/dist/tools/incidents.d.ts +23 -0
  40. package/dist/tools/incidents.d.ts.map +1 -0
  41. package/dist/tools/incidents.js +29 -0
  42. package/dist/tools/incidents.js.map +1 -0
  43. package/dist/tools/logs.d.ts +67 -0
  44. package/dist/tools/logs.d.ts.map +1 -0
  45. package/dist/tools/logs.js +98 -0
  46. package/dist/tools/logs.js.map +1 -0
  47. package/dist/tools/metrics.d.ts +61 -0
  48. package/dist/tools/metrics.d.ts.map +1 -0
  49. package/dist/tools/metrics.js +94 -0
  50. package/dist/tools/metrics.js.map +1 -0
  51. package/dist/tools/monitors.d.ts +92 -0
  52. package/dist/tools/monitors.d.ts.map +1 -0
  53. package/dist/tools/monitors.js +157 -0
  54. package/dist/tools/monitors.js.map +1 -0
  55. package/dist/tools/notebooks.d.ts +41 -0
  56. package/dist/tools/notebooks.d.ts.map +1 -0
  57. package/dist/tools/notebooks.js +60 -0
  58. package/dist/tools/notebooks.js.map +1 -0
  59. package/dist/tools/oncall.d.ts +18 -0
  60. package/dist/tools/oncall.d.ts.map +1 -0
  61. package/dist/tools/oncall.js +31 -0
  62. package/dist/tools/oncall.js.map +1 -0
  63. package/dist/tools/rum.d.ts +50 -0
  64. package/dist/tools/rum.d.ts.map +1 -0
  65. package/dist/tools/rum.js +65 -0
  66. package/dist/tools/rum.js.map +1 -0
  67. package/dist/tools/security.d.ts +25 -0
  68. package/dist/tools/security.d.ts.map +1 -0
  69. package/dist/tools/security.js +37 -0
  70. package/dist/tools/security.js.map +1 -0
  71. package/dist/tools/slos.d.ts +59 -0
  72. package/dist/tools/slos.d.ts.map +1 -0
  73. package/dist/tools/slos.js +82 -0
  74. package/dist/tools/slos.js.map +1 -0
  75. package/dist/tools/synthetics.d.ts +115 -0
  76. package/dist/tools/synthetics.d.ts.map +1 -0
  77. package/dist/tools/synthetics.js +185 -0
  78. package/dist/tools/synthetics.js.map +1 -0
  79. package/dist/tools/utils.d.ts +18 -0
  80. package/dist/tools/utils.d.ts.map +1 -0
  81. package/dist/tools/utils.js +97 -0
  82. package/dist/tools/utils.js.map +1 -0
  83. package/package.json +54 -0
@@ -0,0 +1,157 @@
1
+ import { z } from "zod/v4";
2
+ import { monitorsApi } from "../client.js";
3
+ import { assertWriteAllowed } from "./utils.js";
4
+ export const getMonitorsSchema = z.object({
5
+ name: z.string().optional().describe("Filter monitors by name substring. Example: CPU Alert"),
6
+ tags: z.string().optional().describe("Comma-separated tags to filter. Example: env:prod,team:backend"),
7
+ monitorTags: z.string().optional().describe("Comma-separated service/custom tags. Example: service:web-app"),
8
+ groupStates: z.string().optional().describe("Filter by group states: all, alert, warn, no data. Example: alert"),
9
+ pageSize: z.number().optional().default(50).describe("Number of results per page (default 50)"),
10
+ page: z.number().optional().default(0).describe("Page number (0-based)"),
11
+ });
12
+ export async function getMonitors(params) {
13
+ const response = await monitorsApi.listMonitors({
14
+ name: params.name,
15
+ tags: params.tags,
16
+ monitorTags: params.monitorTags,
17
+ groupStates: params.groupStates,
18
+ pageSize: params.pageSize,
19
+ page: params.page,
20
+ });
21
+ return response.map((m) => ({
22
+ id: m.id,
23
+ name: m.name,
24
+ type: m.type,
25
+ query: m.query,
26
+ message: m.message,
27
+ overallState: m.overallState,
28
+ tags: m.tags,
29
+ created: m.created?.toISOString(),
30
+ modified: m.modified?.toISOString(),
31
+ creator: m.creator?.email,
32
+ }));
33
+ }
34
+ export const getMonitorSchema = z.object({
35
+ monitorId: z.number().describe("Monitor ID. Example: 12345678"),
36
+ groupStates: z.string().optional().describe("Filter by group states. Example: alert,warn"),
37
+ });
38
+ export async function getMonitor(params) {
39
+ const response = await monitorsApi.getMonitor({
40
+ monitorId: params.monitorId,
41
+ groupStates: params.groupStates,
42
+ });
43
+ return {
44
+ id: response.id,
45
+ name: response.name,
46
+ type: response.type,
47
+ query: response.query,
48
+ message: response.message,
49
+ overallState: response.overallState,
50
+ tags: response.tags,
51
+ options: response.options,
52
+ created: response.created?.toISOString(),
53
+ modified: response.modified?.toISOString(),
54
+ creator: response.creator?.email,
55
+ state: response.state,
56
+ };
57
+ }
58
+ export const createMonitorSchema = z.object({
59
+ name: z.string().describe("Monitor name. Example: High CPU on production"),
60
+ type: z.string().describe("Monitor type. Example: metric alert, log alert, query alert, service check"),
61
+ query: z.string().describe("Monitor query string. Example: avg(last_5m):avg:system.cpu.user{env:prod} > 90"),
62
+ message: z.string().optional().describe("Notification message (supports @mentions). Example: CPU is high @slack-alerts"),
63
+ tags: z.array(z.string()).optional().describe("Tags for the monitor. Example: [\"env:prod\", \"team:infra\"]"),
64
+ priority: z.number().optional().describe("Priority 1-5 (1=highest). Example: 2"),
65
+ options: z.record(z.string(), z.any()).optional().describe("Advanced monitor options (thresholds, etc.)"),
66
+ });
67
+ export async function createMonitor(params) {
68
+ assertWriteAllowed();
69
+ const response = await monitorsApi.createMonitor({
70
+ body: {
71
+ name: params.name,
72
+ type: params.type,
73
+ query: params.query,
74
+ message: params.message,
75
+ tags: params.tags,
76
+ priority: params.priority != null ? params.priority : undefined,
77
+ options: params.options,
78
+ },
79
+ });
80
+ return {
81
+ id: response.id,
82
+ name: response.name,
83
+ type: response.type,
84
+ query: response.query,
85
+ overallState: response.overallState,
86
+ created: response.created?.toISOString(),
87
+ };
88
+ }
89
+ export const updateMonitorSchema = z.object({
90
+ monitorId: z.number().describe("Monitor ID to update. Example: 12345678"),
91
+ name: z.string().optional().describe("New monitor name"),
92
+ query: z.string().optional().describe("New query string"),
93
+ message: z.string().optional().describe("New notification message"),
94
+ tags: z.array(z.string()).optional().describe("New tags"),
95
+ priority: z.number().optional().describe("New priority 1-5"),
96
+ options: z.record(z.string(), z.any()).optional().describe("New monitor options"),
97
+ });
98
+ export async function updateMonitor(params) {
99
+ assertWriteAllowed();
100
+ const { monitorId, ...body } = params;
101
+ const response = await monitorsApi.updateMonitor({
102
+ monitorId,
103
+ body: {
104
+ name: body.name,
105
+ query: body.query,
106
+ message: body.message,
107
+ tags: body.tags,
108
+ priority: body.priority != null ? body.priority : undefined,
109
+ options: body.options,
110
+ },
111
+ });
112
+ return {
113
+ id: response.id,
114
+ name: response.name,
115
+ type: response.type,
116
+ query: response.query,
117
+ overallState: response.overallState,
118
+ modified: response.modified?.toISOString(),
119
+ };
120
+ }
121
+ export const deleteMonitorSchema = z.object({
122
+ monitorId: z.number().describe("Monitor ID to delete. Example: 12345678"),
123
+ force: z.boolean().optional().describe("Force delete even if referenced by other resources"),
124
+ });
125
+ export async function deleteMonitor(params) {
126
+ assertWriteAllowed();
127
+ const response = await monitorsApi.deleteMonitor({
128
+ monitorId: params.monitorId,
129
+ force: params.force ? "true" : undefined,
130
+ });
131
+ return {
132
+ deletedMonitorId: response.deletedMonitorId,
133
+ };
134
+ }
135
+ export const muteMonitorSchema = z.object({
136
+ monitorId: z.number().describe("Monitor ID to mute. Example: 12345678"),
137
+ scope: z.string().optional().describe("Scope to mute. Example: host:myhost or env:staging"),
138
+ end: z.number().optional().describe("Unix epoch seconds when mute should end. Example: 1740003600"),
139
+ });
140
+ export async function muteMonitor(params) {
141
+ assertWriteAllowed();
142
+ const response = await monitorsApi.updateMonitor({
143
+ monitorId: params.monitorId,
144
+ body: {
145
+ options: {
146
+ silenced: { [params.scope ?? "*"]: params.end ?? null },
147
+ },
148
+ },
149
+ });
150
+ return {
151
+ id: response.id,
152
+ name: response.name,
153
+ overallState: response.overallState,
154
+ options: response.options,
155
+ };
156
+ }
157
+ //# sourceMappingURL=monitors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../src/tools/monitors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { z } from "zod/v4";
2
+ export declare const listNotebooksSchema: z.ZodObject<{
3
+ query: z.ZodOptional<z.ZodString>;
4
+ authorHandle: z.ZodOptional<z.ZodString>;
5
+ count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ start: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
+ sortField: z.ZodDefault<z.ZodOptional<z.ZodString>>;
8
+ sortDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
9
+ includeCells: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
10
+ }, z.core.$strip>;
11
+ export declare function listNotebooks(params: z.infer<typeof listNotebooksSchema>): Promise<{
12
+ total: number | undefined;
13
+ count: number;
14
+ notebooks: {
15
+ id: number;
16
+ name: string;
17
+ author: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookAuthor | undefined;
18
+ status: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookStatus | undefined;
19
+ created: string | undefined;
20
+ modified: string | undefined;
21
+ cellCount: number | undefined;
22
+ }[];
23
+ }>;
24
+ export declare const getNotebookSchema: z.ZodObject<{
25
+ notebookId: z.ZodNumber;
26
+ }, z.core.$strip>;
27
+ export declare function getNotebook(params: z.infer<typeof getNotebookSchema>): Promise<{
28
+ id: number | undefined;
29
+ name: string | undefined;
30
+ author: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookAuthor | undefined;
31
+ status: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookStatus | undefined;
32
+ created: string | undefined;
33
+ modified: string | undefined;
34
+ cells: {
35
+ id: string;
36
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookCellResourceType;
37
+ attributes: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookCellResponseAttributes;
38
+ }[] | undefined;
39
+ metadata: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").NotebookMetadata | undefined;
40
+ }>;
41
+ //# sourceMappingURL=notebooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebooks.d.ts","sourceRoot":"","sources":["../../src/tools/notebooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;;;;;;GAyB9E;AAED,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,wBAAsB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;;;;;;;;;GAoB1E"}
@@ -0,0 +1,60 @@
1
+ import { z } from "zod/v4";
2
+ import { notebooksApi } from "../client.js";
3
+ export const listNotebooksSchema = z.object({
4
+ query: z.string().optional().describe("Search query to filter notebooks by name. Example: incident postmortem"),
5
+ authorHandle: z.string().optional().describe("Filter by author handle (email). Example: user@example.com"),
6
+ count: z.number().optional().default(50).describe("Number of results to return (default 50)"),
7
+ start: z.number().optional().default(0).describe("Pagination offset"),
8
+ sortField: z.string().optional().default("modified").describe("Sort field: modified, name, created"),
9
+ sortDir: z.string().optional().default("desc").describe("Sort direction: asc or desc"),
10
+ includeCells: z.boolean().optional().default(false).describe("Include notebook cell contents in response"),
11
+ });
12
+ export async function listNotebooks(params) {
13
+ const response = await notebooksApi.listNotebooks({
14
+ query: params.query,
15
+ authorHandle: params.authorHandle,
16
+ count: params.count,
17
+ start: params.start,
18
+ sortField: params.sortField,
19
+ sortDir: params.sortDir,
20
+ includeCells: params.includeCells,
21
+ });
22
+ const notebooks = response.data ?? [];
23
+ return {
24
+ total: response.meta?.page?.totalCount,
25
+ count: notebooks.length,
26
+ notebooks: notebooks.map((n) => ({
27
+ id: n.id,
28
+ name: n.attributes?.name,
29
+ author: n.attributes?.author,
30
+ status: n.attributes?.status,
31
+ created: n.attributes?.created?.toISOString(),
32
+ modified: n.attributes?.modified?.toISOString(),
33
+ cellCount: n.attributes?.cells?.length,
34
+ })),
35
+ };
36
+ }
37
+ export const getNotebookSchema = z.object({
38
+ notebookId: z.number().describe("Notebook ID. Example: 1234567"),
39
+ });
40
+ export async function getNotebook(params) {
41
+ const response = await notebooksApi.getNotebook({
42
+ notebookId: params.notebookId,
43
+ });
44
+ const n = response.data;
45
+ return {
46
+ id: n?.id,
47
+ name: n?.attributes?.name,
48
+ author: n?.attributes?.author,
49
+ status: n?.attributes?.status,
50
+ created: n?.attributes?.created?.toISOString(),
51
+ modified: n?.attributes?.modified?.toISOString(),
52
+ cells: n?.attributes?.cells?.map((c) => ({
53
+ id: c.id,
54
+ type: c.type,
55
+ attributes: c.attributes,
56
+ })),
57
+ metadata: n?.attributes?.metadata,
58
+ };
59
+ }
60
+ //# sourceMappingURL=notebooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notebooks.js","sourceRoot":"","sources":["../../src/tools/notebooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from "zod/v4";
2
+ export declare const getTeamOnCallSchema: z.ZodObject<{
3
+ teamId: z.ZodString;
4
+ include: z.ZodOptional<z.ZodString>;
5
+ }, z.core.$strip>;
6
+ export declare function getTeamOnCall(params: z.infer<typeof getTeamOnCallSchema>): Promise<{
7
+ data: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").TeamOnCallRespondersData | undefined;
8
+ included: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").TeamOnCallRespondersIncluded[] | undefined;
9
+ }>;
10
+ export declare const getOnCallScheduleSchema: z.ZodObject<{
11
+ scheduleId: z.ZodString;
12
+ include: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ export declare function getOnCallSchedule(params: z.infer<typeof getOnCallScheduleSchema>): Promise<{
15
+ data: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").ScheduleData | undefined;
16
+ included: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").ScheduleDataIncludedItem[] | undefined;
17
+ }>;
18
+ //# sourceMappingURL=oncall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oncall.d.ts","sourceRoot":"","sources":["../../src/tools/oncall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;GAU9E;AAED,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC;;;GAUtF"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod/v4";
2
+ import { onCallApi } from "../client.js";
3
+ export const getTeamOnCallSchema = z.object({
4
+ teamId: z.string().describe("The Datadog team ID. Example: abc123-def456-ghi789"),
5
+ include: z.string().optional().describe("Comma-separated included relationships. Example: responders,escalations,escalations.responders"),
6
+ });
7
+ export async function getTeamOnCall(params) {
8
+ const response = await onCallApi.getTeamOnCallUsers({
9
+ teamId: params.teamId,
10
+ include: params.include,
11
+ });
12
+ return {
13
+ data: response.data,
14
+ included: response.included,
15
+ };
16
+ }
17
+ export const getOnCallScheduleSchema = z.object({
18
+ scheduleId: z.string().describe("The on-call schedule ID. Example: abc123-def456-ghi789"),
19
+ include: z.string().optional().describe("Comma-separated included relationships. Example: teams,layers,layers.members,layers.members.user"),
20
+ });
21
+ export async function getOnCallSchedule(params) {
22
+ const response = await onCallApi.getOnCallSchedule({
23
+ scheduleId: params.scheduleId,
24
+ include: params.include,
25
+ });
26
+ return {
27
+ data: response.data,
28
+ included: response.included,
29
+ };
30
+ }
31
+ //# sourceMappingURL=oncall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oncall.js","sourceRoot":"","sources":["../../src/tools/oncall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;CAC1I,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAA2C;IAC7E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC;QAClD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kGAAkG,CAAC;CAC5I,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAA+C;IACrF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,iBAAiB,CAAC;QACjD,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { z } from "zod/v4";
2
+ import { v2 } from "@datadog/datadog-api-client";
3
+ export declare const searchRumEventsSchema: z.ZodObject<{
4
+ query: z.ZodString;
5
+ from: z.ZodString;
6
+ to: z.ZodString;
7
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
+ sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
9
+ timestamp: "timestamp";
10
+ "-timestamp": "-timestamp";
11
+ }>>>;
12
+ }, z.core.$strip>;
13
+ export declare function searchRumEvents(params: z.infer<typeof searchRumEventsSchema>): Promise<{
14
+ count: number;
15
+ events: {
16
+ id: string | undefined;
17
+ type: v2.RUMEventType | undefined;
18
+ timestamp: string | undefined;
19
+ service: string | undefined;
20
+ attributes: {
21
+ [key: string]: any;
22
+ } | undefined;
23
+ tags: string[] | undefined;
24
+ }[];
25
+ }>;
26
+ export declare const aggregateRumSchema: z.ZodObject<{
27
+ query: z.ZodString;
28
+ from: z.ZodString;
29
+ to: z.ZodString;
30
+ aggregation: z.ZodEnum<{
31
+ count: "count";
32
+ cardinality: "cardinality";
33
+ avg: "avg";
34
+ sum: "sum";
35
+ min: "min";
36
+ max: "max";
37
+ pc75: "pc75";
38
+ pc90: "pc90";
39
+ pc95: "pc95";
40
+ pc98: "pc98";
41
+ pc99: "pc99";
42
+ }>;
43
+ metric: z.ZodOptional<z.ZodString>;
44
+ groupBy: z.ZodOptional<z.ZodString>;
45
+ }, z.core.$strip>;
46
+ export declare function aggregateRum(params: z.infer<typeof aggregateRumSchema>): Promise<{
47
+ buckets: v2.RUMBucketResponse[];
48
+ meta: v2.RUMResponseMetadata | undefined;
49
+ }>;
50
+ //# sourceMappingURL=rum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum.d.ts","sourceRoot":"","sources":["../../src/tools/rum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAGjD,eAAO,MAAM,qBAAqB;;;;;;;;;iBAMhC,CAAC;AAEH,wBAAsB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;;;;;;;;GAqBlF;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAO7B,CAAC;AAEH,wBAAsB,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC;;;GA8B5E"}
@@ -0,0 +1,65 @@
1
+ import { z } from "zod/v4";
2
+ import { v2 } from "@datadog/datadog-api-client";
3
+ import { rumApi } from "../client.js";
4
+ export const searchRumEventsSchema = z.object({
5
+ query: z.string().describe("RUM search query. Example: service:us-app-prod @type:error @session.type:user"),
6
+ from: z.string().describe("Start time (ISO 8601). Example: 2026-02-26T00:00:00Z"),
7
+ to: z.string().describe("End time (ISO 8601). Example: 2026-02-26T23:59:59Z"),
8
+ limit: z.number().optional().default(50).describe("Max results (default 50, max 1000)"),
9
+ sort: z.enum(["timestamp", "-timestamp"]).optional().default("-timestamp").describe("Sort order: -timestamp (newest first) or timestamp (oldest first)"),
10
+ });
11
+ export async function searchRumEvents(params) {
12
+ const response = await rumApi.listRUMEvents({
13
+ filterQuery: params.query,
14
+ filterFrom: new Date(params.from),
15
+ filterTo: new Date(params.to),
16
+ pageLimit: params.limit,
17
+ sort: params.sort === "timestamp" ? "timestamp" : "-timestamp",
18
+ });
19
+ const events = response.data ?? [];
20
+ return {
21
+ count: events.length,
22
+ events: events.map((e) => ({
23
+ id: e.id,
24
+ type: e.type,
25
+ timestamp: e.attributes?.timestamp?.toISOString(),
26
+ service: e.attributes?.service,
27
+ attributes: e.attributes?.attributes,
28
+ tags: e.attributes?.tags,
29
+ })),
30
+ };
31
+ }
32
+ export const aggregateRumSchema = z.object({
33
+ query: z.string().describe("RUM filter query. Example: service:us-app-prod @type:view"),
34
+ from: z.string().describe("Start time (ISO 8601). Example: 2026-02-26T00:00:00Z"),
35
+ to: z.string().describe("End time (ISO 8601). Example: 2026-02-26T23:59:59Z"),
36
+ aggregation: z.enum(["count", "cardinality", "avg", "sum", "min", "max", "pc75", "pc90", "pc95", "pc98", "pc99"]).describe("Aggregation function. Example: count or avg"),
37
+ metric: z.string().optional().describe("Metric field for non-count aggregations. Example: @view.loading_time or @action.loading_time"),
38
+ groupBy: z.string().optional().describe("Field to group by. Example: @application.id or @view.url_path or @geo.country"),
39
+ });
40
+ export async function aggregateRum(params) {
41
+ const compute = new v2.RUMCompute();
42
+ compute.aggregation = params.aggregation;
43
+ if (params.metric) {
44
+ compute.metric = params.metric;
45
+ }
46
+ const filter = new v2.RUMQueryFilter();
47
+ filter.query = params.query;
48
+ filter.from = params.from;
49
+ filter.to = params.to;
50
+ const body = new v2.RUMAggregateRequest();
51
+ body.compute = [compute];
52
+ body.filter = filter;
53
+ if (params.groupBy) {
54
+ const groupBy = new v2.RUMGroupBy();
55
+ groupBy.facet = params.groupBy;
56
+ groupBy.limit = 10;
57
+ body.groupBy = [groupBy];
58
+ }
59
+ const response = await rumApi.aggregateRUMEvents({ body });
60
+ return {
61
+ buckets: response.data?.buckets ?? [],
62
+ meta: response.meta,
63
+ };
64
+ }
65
+ //# sourceMappingURL=rum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rum.js","sourceRoot":"","sources":["../../src/tools/rum.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { z } from "zod/v4";
2
+ export declare const searchSecuritySignalsSchema: z.ZodObject<{
3
+ query: z.ZodDefault<z.ZodOptional<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 searchSecuritySignals(params: z.infer<typeof searchSecuritySignalsSchema>): Promise<{
13
+ count: number;
14
+ signals: {
15
+ id: string | undefined;
16
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v2/index.js").SecurityMonitoringSignalType | undefined;
17
+ message: string | undefined;
18
+ timestamp: string | undefined;
19
+ tags: string[] | undefined;
20
+ custom: {
21
+ [key: string]: any;
22
+ } | undefined;
23
+ }[];
24
+ }>;
25
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,2BAA2B;;;;;;;;;iBAMtC,CAAC;AAEH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;GA2B9F"}
@@ -0,0 +1,37 @@
1
+ import { z } from "zod/v4";
2
+ import { securityMonitoringApi } from "../client.js";
3
+ export const searchSecuritySignalsSchema = z.object({
4
+ query: z.string().optional().default("*").describe("Security signal search query. Example: type:log_detection status:high or *"),
5
+ from: z.string().describe("Start time (ISO 8601). Example: 2026-02-26T00:00:00Z"),
6
+ to: z.string().describe("End time (ISO 8601). Example: 2026-02-26T23:59:59Z"),
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 searchSecuritySignals(params) {
11
+ const response = await securityMonitoringApi.searchSecurityMonitoringSignals({
12
+ body: {
13
+ filter: {
14
+ query: params.query,
15
+ from: new Date(params.from),
16
+ to: new Date(params.to),
17
+ },
18
+ page: {
19
+ limit: params.limit,
20
+ },
21
+ sort: params.sort === "timestamp" ? "timestamp" : "-timestamp",
22
+ },
23
+ });
24
+ const signals = response.data ?? [];
25
+ return {
26
+ count: signals.length,
27
+ signals: signals.map((s) => ({
28
+ id: s.id,
29
+ type: s.type,
30
+ message: s.attributes?.message,
31
+ timestamp: s.attributes?.timestamp?.toISOString(),
32
+ tags: s.attributes?.tags,
33
+ custom: s.attributes?.custom,
34
+ })),
35
+ };
36
+ }
37
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/tools/security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4EAA4E,CAAC;IAChI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACjF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC7E,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,qBAAqB,CAAC,MAAmD;IAC7F,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,+BAA+B,CAAC;QAC3E,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3B,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;aACxB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;YACD,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY;SAC/D;KACF,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,OAAO;YAC9B,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE;YACjD,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI;YACxB,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { z } from "zod/v4";
2
+ export declare const listSlosSchema: z.ZodObject<{
3
+ ids: z.ZodOptional<z.ZodString>;
4
+ query: z.ZodOptional<z.ZodString>;
5
+ tagsQuery: z.ZodOptional<z.ZodString>;
6
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
+ offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
8
+ }, z.core.$strip>;
9
+ export declare function listSlos(params: z.infer<typeof listSlosSchema>): Promise<{
10
+ count: number;
11
+ slos: {
12
+ id: string | undefined;
13
+ name: string;
14
+ description: string | undefined;
15
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOType;
16
+ tags: string[] | undefined;
17
+ thresholds: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOThreshold[];
18
+ targetThreshold: number | undefined;
19
+ warningThreshold: number | undefined;
20
+ monitorIds: number[] | undefined;
21
+ created: number | undefined;
22
+ modified: number | undefined;
23
+ creator: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").Creator | undefined;
24
+ }[];
25
+ }>;
26
+ export declare const getSloSchema: z.ZodObject<{
27
+ sloId: z.ZodString;
28
+ }, z.core.$strip>;
29
+ export declare function getSlo(params: z.infer<typeof getSloSchema>): Promise<{
30
+ id: string | undefined;
31
+ name: string | undefined;
32
+ description: string | undefined;
33
+ type: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOType | undefined;
34
+ tags: string[] | undefined;
35
+ thresholds: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOThreshold[] | undefined;
36
+ targetThreshold: number | undefined;
37
+ warningThreshold: number | undefined;
38
+ monitorIds: number[] | undefined;
39
+ groups: string[] | undefined;
40
+ query: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").ServiceLevelObjectiveQuery | undefined;
41
+ created: number | undefined;
42
+ modified: number | undefined;
43
+ creator: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").Creator | undefined;
44
+ }>;
45
+ export declare const getSloHistorySchema: z.ZodObject<{
46
+ sloId: z.ZodString;
47
+ fromTs: z.ZodNumber;
48
+ toTs: z.ZodNumber;
49
+ target: z.ZodOptional<z.ZodNumber>;
50
+ }, z.core.$strip>;
51
+ export declare function getSloHistory(params: z.infer<typeof getSloHistorySchema>): Promise<{
52
+ thresholds: {
53
+ [key: string]: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOThreshold;
54
+ } | undefined;
55
+ overall: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOHistorySLIData | undefined;
56
+ series: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOHistoryMetrics | undefined;
57
+ errors: import("@datadog/datadog-api-client/dist/packages/datadog-api-client-v1/index.js").SLOHistoryResponseError[] | undefined;
58
+ }>;
59
+ //# sourceMappingURL=slos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slos.d.ts","sourceRoot":"","sources":["../../src/tools/slos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,eAAO,MAAM,cAAc;;;;;;iBAMzB,CAAC;AAEH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC;;;;;;;;;;;;;;;;GA2BpE;AAED,eAAO,MAAM,YAAY;;iBAEvB,CAAC;AAEH,wBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC;;;;;;;;;;;;;;;GAsBhE;AAED,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AAEH,wBAAsB,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC;;;;;;;GAc9E"}