@alertee/cli 0.14.2 → 0.16.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/dist/api.d.ts +23 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/commands/checks/create.d.ts +21 -3
- package/dist/commands/checks/create.d.ts.map +1 -1
- package/dist/commands/checks/create.js +149 -21
- package/dist/commands/checks/create.js.map +1 -1
- package/dist/commands/checks/payload.d.ts +24 -0
- package/dist/commands/checks/payload.d.ts.map +1 -0
- package/dist/commands/checks/payload.js +22 -0
- package/dist/commands/checks/payload.js.map +1 -0
- package/dist/commands/checks/update.d.ts +2 -1
- package/dist/commands/checks/update.d.ts.map +1 -1
- package/dist/commands/checks/update.js +2 -0
- package/dist/commands/checks/update.js.map +1 -1
- package/dist/index.js +48 -6
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +282 -37
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -119,16 +119,30 @@ checks
|
|
|
119
119
|
.action((id) => openCheck(id));
|
|
120
120
|
checks
|
|
121
121
|
.command('create')
|
|
122
|
-
.description('Create a new check (single-value or grid). Pass flags, or omit them to be prompted.')
|
|
122
|
+
.description('Create a new check. Default is a SQL check (single-value or grid); use --type http or --type heartbeat for uptime / dead-man\'s-switch checks. Pass flags, or omit them to be prompted.')
|
|
123
123
|
.option('--name <name>', 'check name')
|
|
124
|
-
.option('--
|
|
125
|
-
.option('--
|
|
126
|
-
.option('--
|
|
124
|
+
.option('--type <type>', 'check type: sql (default), http, or heartbeat')
|
|
125
|
+
.option('--connection <name|id>', 'sql: database connection (name or ID)')
|
|
126
|
+
.option('--query <sql>', 'sql: SQL query')
|
|
127
|
+
.option('--grid', 'sql: create a multi-dimensional (grid) check')
|
|
127
128
|
.option('--evaluation-type <type>', 'grid: all_cells, any_cell, dimension_missing, dimension_added')
|
|
128
|
-
.option('--condition <type>', '
|
|
129
|
-
.option('--threshold <number>', 'value
|
|
129
|
+
.option('--condition <type>', 'single-value condition: greater_than, less_than, greater_or_equal, less_or_equal, equals, not_equals, between, not_between, contains, regex, timestamp_age, is_null, is_not_null, exists')
|
|
130
|
+
.option('--threshold <number>', 'comparison value, or max age in minutes for timestamp_age', parseFloat)
|
|
131
|
+
.option('--match-value <text>', 'substring (contains), pattern (regex), or string comparison value')
|
|
132
|
+
.option('--min <number>', 'lower bound for between / not_between', parseFloat)
|
|
133
|
+
.option('--max <number>', 'upper bound for between / not_between', parseFloat)
|
|
130
134
|
.option('--severity <level>', 'grid cell severity: info, warning, critical')
|
|
131
135
|
.option('--label-query <sql>', 'grid: query mapping `name` to display `label`')
|
|
136
|
+
.option('--url <url>', 'http: URL to monitor')
|
|
137
|
+
.option('--http-method <method>', 'http: GET (default), HEAD, POST, PUT, PATCH, DELETE')
|
|
138
|
+
.option('--expected-status <code>', 'http: status code that means healthy (default any 2xx)', (v) => parseInt(v, 10))
|
|
139
|
+
.option('--timeout <seconds>', 'http: request timeout in seconds (default 30)', (v) => parseInt(v, 10))
|
|
140
|
+
.option('--max-response-time <ms>', 'http: alert if the response is slower than this many ms', (v) => parseInt(v, 10))
|
|
141
|
+
.option('--body-contains <text>', 'http: alert unless the response body contains this string')
|
|
142
|
+
.option('--ssl-expiry-days <days>', 'http (https): alert if the TLS cert expires within this many days', (v) => parseInt(v, 10))
|
|
143
|
+
.option('--expected-interval <minutes>', 'heartbeat: alert if no ping arrives within this many minutes (default 60)', (v) => parseInt(v, 10))
|
|
144
|
+
.option('--heartbeat-grace <minutes>', 'heartbeat: extra minutes to wait past the interval before alerting', (v) => parseInt(v, 10))
|
|
145
|
+
.option('--last-ping-status <status>', 'heartbeat: required status of the latest ping (default success)')
|
|
132
146
|
.option('--interval <interval>', 'minute, five_minutes, fifteen_minutes, thirty_minutes, hourly')
|
|
133
147
|
.option('--alert-level <level>', 'info, warning, error, or critical')
|
|
134
148
|
.option('--alert-group <name|id>', 'route alerts to a specific alert group (defaults to the org default)')
|
|
@@ -137,16 +151,33 @@ checks
|
|
|
137
151
|
.option('--grace <count>', 'tolerate this many failures before alerting (for spiky metrics)', (v) => parseInt(v, 10))
|
|
138
152
|
.option('--grace-type <type>', 'consecutive (in a row, default) or within_window (in a rolling window)')
|
|
139
153
|
.option('--grace-window <minutes>', 'window in minutes for within_window grace', (v) => parseInt(v, 10))
|
|
154
|
+
.option('--exclude-query', 'webhook alerts: omit the SQL query (it is included by default)')
|
|
155
|
+
.option('--include-rows', 'webhook alerts: include raw failing rows (off by default; may contain sensitive data)')
|
|
156
|
+
.option('--max-rows <count>', 'webhook alerts: cap on failing rows sent when --include-rows (default 20)', (v) => parseInt(v, 10))
|
|
140
157
|
.action((opts) => createCheck({
|
|
141
158
|
name: opts.name,
|
|
159
|
+
type: opts.type,
|
|
142
160
|
connection: opts.connection,
|
|
143
161
|
query: opts.query,
|
|
144
162
|
grid: opts.grid,
|
|
145
163
|
evaluationType: opts.evaluationType,
|
|
146
164
|
condition: opts.condition,
|
|
147
165
|
threshold: opts.threshold,
|
|
166
|
+
matchValue: opts.matchValue,
|
|
167
|
+
min: opts.min,
|
|
168
|
+
max: opts.max,
|
|
148
169
|
severity: opts.severity,
|
|
149
170
|
labelQuery: opts.labelQuery,
|
|
171
|
+
url: opts.url,
|
|
172
|
+
httpMethod: opts.httpMethod,
|
|
173
|
+
expectedStatus: opts.expectedStatus,
|
|
174
|
+
timeout: opts.timeout,
|
|
175
|
+
maxResponseTime: opts.maxResponseTime,
|
|
176
|
+
bodyContains: opts.bodyContains,
|
|
177
|
+
sslExpiryDays: opts.sslExpiryDays,
|
|
178
|
+
expectedInterval: opts.expectedInterval,
|
|
179
|
+
heartbeatGrace: opts.heartbeatGrace,
|
|
180
|
+
lastPingStatus: opts.lastPingStatus,
|
|
150
181
|
interval: opts.interval,
|
|
151
182
|
alertLevel: opts.alertLevel,
|
|
152
183
|
alertGroup: opts.alertGroup,
|
|
@@ -155,6 +186,9 @@ checks
|
|
|
155
186
|
grace: opts.grace,
|
|
156
187
|
graceType: opts.graceType,
|
|
157
188
|
graceWindow: opts.graceWindow,
|
|
189
|
+
includeQuery: opts.excludeQuery ? false : undefined,
|
|
190
|
+
includeRows: opts.includeRows ? true : undefined,
|
|
191
|
+
maxRows: opts.maxRows,
|
|
158
192
|
}));
|
|
159
193
|
checks
|
|
160
194
|
.command('update <check>')
|
|
@@ -175,6 +209,11 @@ checks
|
|
|
175
209
|
.option('--calendar <name>', 'follow a calendar (NYSE, LSE, TSX, XETRA, EURONEXT, UK); quiet on its holidays/weekends')
|
|
176
210
|
.option('--clear-calendar', 'stop following a calendar')
|
|
177
211
|
.option('--tz <zone>', 'timezone for the calendar (defaults to the calendar\'s home zone)')
|
|
212
|
+
.option('--include-query', 'webhook alerts: include the SQL query')
|
|
213
|
+
.option('--exclude-query', 'webhook alerts: omit the SQL query')
|
|
214
|
+
.option('--include-rows', 'webhook alerts: include raw failing rows (may contain sensitive data)')
|
|
215
|
+
.option('--exclude-rows', 'webhook alerts: omit raw failing rows')
|
|
216
|
+
.option('--max-rows <count>', 'webhook alerts: cap on failing rows sent when rows are included', (v) => parseInt(v, 10))
|
|
178
217
|
.action((check, opts) => updateCheck(check, {
|
|
179
218
|
name: opts.name,
|
|
180
219
|
query: opts.query,
|
|
@@ -192,6 +231,9 @@ checks
|
|
|
192
231
|
calendar: opts.calendar,
|
|
193
232
|
clearCalendar: opts.clearCalendar,
|
|
194
233
|
tz: opts.tz,
|
|
234
|
+
includeQuery: opts.includeQuery ? true : opts.excludeQuery ? false : undefined,
|
|
235
|
+
includeRows: opts.includeRows ? true : opts.excludeRows ? false : undefined,
|
|
236
|
+
maxRows: opts.maxRows,
|
|
195
237
|
}));
|
|
196
238
|
checks
|
|
197
239
|
.command('delete <check>')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAszCH,wBAAgB,cAAc,IAAI,IAAI,CAuBrC"}
|
package/dist/mcp.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Start via: alertee mcp (or npx @alertee/cli mcp)
|
|
5
5
|
*/
|
|
6
6
|
import { createClient } from './api.js';
|
|
7
|
-
import { loadConfig, resolveOrgId, resolveToken, saveConfig, usingEnvToken } from './config.js';
|
|
7
|
+
import { loadConfig, resolveApiUrl, resolveOrgId, resolveToken, saveConfig, usingEnvToken } from './config.js';
|
|
8
8
|
import { MINUTES_TO_INTERVAL } from './intervals.js';
|
|
9
9
|
import { VERSION } from './version.js';
|
|
10
10
|
/**
|
|
@@ -62,6 +62,61 @@ function graceFields(a) {
|
|
|
62
62
|
}
|
|
63
63
|
return out;
|
|
64
64
|
}
|
|
65
|
+
// Outbound-payload JSON-schema props shared by create_check and update_check.
|
|
66
|
+
// These control what a webhook alert sends to external tools (e.g. a coding
|
|
67
|
+
// agent). Metadata (name, status, level, message, AI diagnosis, values) always
|
|
68
|
+
// rides along; only the SQL query and raw rows are gated, since they can leak
|
|
69
|
+
// schema/data.
|
|
70
|
+
const PAYLOAD_PROPS = {
|
|
71
|
+
include_query: {
|
|
72
|
+
type: 'boolean',
|
|
73
|
+
description: "Include the check's SQL query in webhook alerts. Default: true.",
|
|
74
|
+
},
|
|
75
|
+
include_result_rows: {
|
|
76
|
+
type: 'boolean',
|
|
77
|
+
description: 'Include the raw failing rows in webhook alerts. Default: false — rows may contain sensitive/PII data, so opt in deliberately.',
|
|
78
|
+
},
|
|
79
|
+
max_rows: {
|
|
80
|
+
type: 'number',
|
|
81
|
+
description: 'Cap on failing rows included when include_result_rows is true (default 20).',
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
// Build the webhook_payload_config to send, only when at least one field was
|
|
85
|
+
// provided (so an unrelated update doesn't overwrite the check's config).
|
|
86
|
+
function payloadFields(a) {
|
|
87
|
+
if (a.include_query === undefined &&
|
|
88
|
+
a.include_result_rows === undefined &&
|
|
89
|
+
a.max_rows === undefined) {
|
|
90
|
+
return {};
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
webhook_payload_config: {
|
|
94
|
+
include_query: a.include_query ?? true,
|
|
95
|
+
include_result_rows: a.include_result_rows ?? false,
|
|
96
|
+
max_rows: a.max_rows ?? 20,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// Decode the stored webhook_payload_config (a NullRawMessage on the check row)
|
|
101
|
+
// into its effective form, applying the conservative default when unset.
|
|
102
|
+
function decodeWebhookPayloadConfig(field) {
|
|
103
|
+
const def = { include_query: true, include_result_rows: false, max_rows: 20 };
|
|
104
|
+
if (!field?.Valid || !field.RawMessage)
|
|
105
|
+
return def;
|
|
106
|
+
try {
|
|
107
|
+
const raw = typeof field.RawMessage === 'string'
|
|
108
|
+
? JSON.parse(field.RawMessage)
|
|
109
|
+
: field.RawMessage;
|
|
110
|
+
return {
|
|
111
|
+
include_query: raw.include_query ?? true,
|
|
112
|
+
include_result_rows: raw.include_result_rows ?? false,
|
|
113
|
+
max_rows: raw.max_rows ?? 20,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
catch {
|
|
117
|
+
return def;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
65
120
|
const TOOLS = [
|
|
66
121
|
{
|
|
67
122
|
name: 'list_checks',
|
|
@@ -79,15 +134,23 @@ const TOOLS = [
|
|
|
79
134
|
},
|
|
80
135
|
{
|
|
81
136
|
name: 'create_check',
|
|
82
|
-
description: 'Create a new Alertee check.
|
|
137
|
+
description: 'Create a new Alertee check. Pick check_type: ' +
|
|
138
|
+
'"sql" (default) watches a database query — single-value (returns one number; set condition_type) or grid (returns `name`+`value` columns, one row per dimension; set evaluation_type). ' +
|
|
139
|
+
'"http" watches a URL/API endpoint (set url; alerts if it stops responding, returns the wrong status, gets slow, or its TLS cert is expiring). ' +
|
|
140
|
+
'"heartbeat" is a dead-man\'s-switch for a cron job / pipeline (set expected_interval_mins; you get back a ping URL the job calls on success, and the check alerts if a ping is missed). http and heartbeat need no connection and no condition.',
|
|
83
141
|
inputSchema: {
|
|
84
142
|
type: 'object',
|
|
85
143
|
properties: {
|
|
86
144
|
name: { type: 'string', description: 'Human-readable name for the check' },
|
|
87
|
-
|
|
145
|
+
check_type: {
|
|
146
|
+
type: 'string',
|
|
147
|
+
enum: ['sql', 'heartbeat', 'http'],
|
|
148
|
+
description: 'What kind of check (default "sql"). "heartbeat" = ping-based dead-man\'s-switch; "http" = website/API uptime.',
|
|
149
|
+
},
|
|
150
|
+
connection_id: { type: 'string', description: 'sql checks only: ID of the database connection to query.' },
|
|
88
151
|
query: {
|
|
89
152
|
type: 'string',
|
|
90
|
-
description: '
|
|
153
|
+
description: 'sql checks only. Single-value: returns one number. Grid: returns `name` and `value` columns, one row per dimension. (http/heartbeat config is set via their own fields, not here.)',
|
|
91
154
|
},
|
|
92
155
|
evaluation_type: {
|
|
93
156
|
type: 'string',
|
|
@@ -100,13 +163,45 @@ const TOOLS = [
|
|
|
100
163
|
},
|
|
101
164
|
condition_type: {
|
|
102
165
|
type: 'string',
|
|
103
|
-
enum: [
|
|
104
|
-
|
|
105
|
-
'
|
|
166
|
+
enum: [
|
|
167
|
+
'exists', 'greater_than', 'less_than', 'greater_or_equal', 'less_or_equal',
|
|
168
|
+
'equals', 'not_equals', 'between', 'not_between', 'contains', 'regex',
|
|
169
|
+
'timestamp_age', 'is_null', 'is_not_null',
|
|
170
|
+
],
|
|
171
|
+
description: 'sql checks: the condition describing the HEALTHY value — the check ALERTS when the value violates it (e.g. greater_than 0 alerts when <= 0). ' +
|
|
172
|
+
'Value-based types use these fields: greater_than/less_than/greater_or_equal/less_or_equal/equals/not_equals → threshold (or match_value for a string); ' +
|
|
173
|
+
'between/not_between → min_value + max_value; contains/regex → match_value; timestamp_age → threshold (max data age in MINUTES, query must return a timestamp); ' +
|
|
174
|
+
'exists/is_null/is_not_null → no value. ' +
|
|
175
|
+
'For a GRID check set evaluation_type instead; any_cell/all_cells use condition_type+threshold as the per-cell comparison and only support the numeric comparisons.',
|
|
106
176
|
},
|
|
107
177
|
threshold: {
|
|
108
178
|
type: 'number',
|
|
109
|
-
description: '
|
|
179
|
+
description: 'Comparison value for numeric condition_types, or the max age in minutes for timestamp_age.',
|
|
180
|
+
},
|
|
181
|
+
match_value: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'String to look for: the substring (contains), the regex pattern (regex), or a string comparison value (equals/not_equals).',
|
|
184
|
+
},
|
|
185
|
+
min_value: { type: 'number', description: 'Lower bound for between / not_between.' },
|
|
186
|
+
max_value: { type: 'number', description: 'Upper bound for between / not_between.' },
|
|
187
|
+
url: { type: 'string', description: 'http checks: the URL to request (e.g. https://example.com/health).' },
|
|
188
|
+
http_method: {
|
|
189
|
+
type: 'string',
|
|
190
|
+
enum: ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'],
|
|
191
|
+
description: 'http checks: HTTP method (default GET).',
|
|
192
|
+
},
|
|
193
|
+
expected_status: { type: 'number', description: 'http checks: status code that means healthy (default: any 2xx).' },
|
|
194
|
+
timeout_seconds: { type: 'number', description: 'http checks: request timeout in seconds (default 30).' },
|
|
195
|
+
max_response_time_ms: { type: 'number', description: 'http checks: alert if the response takes longer than this many ms.' },
|
|
196
|
+
body_contains: { type: 'string', description: 'http checks: alert unless the response body contains this string.' },
|
|
197
|
+
ssl_expiry_days: { type: 'number', description: 'http checks (https): alert if the TLS certificate expires within this many days.' },
|
|
198
|
+
headers: { type: 'object', description: 'http checks: optional request headers (string values).' },
|
|
199
|
+
request_body: { type: 'string', description: 'http checks: optional request body (for POST/PUT/PATCH).' },
|
|
200
|
+
expected_interval_mins: { type: 'number', description: 'heartbeat checks: alert if no ping arrives within this many minutes (default 60).' },
|
|
201
|
+
grace_period_mins: { type: 'number', description: 'heartbeat checks: extra minutes to wait past the expected interval before alerting.' },
|
|
202
|
+
last_ping_status_to_require: {
|
|
203
|
+
type: 'string',
|
|
204
|
+
description: 'heartbeat checks: required status of the most recent ping (default "success"); a ping reporting another status counts as a failure.',
|
|
110
205
|
},
|
|
111
206
|
severity: {
|
|
112
207
|
type: 'string',
|
|
@@ -137,8 +232,9 @@ const TOOLS = [
|
|
|
137
232
|
description: 'Set false to create the check muted — it runs and updates status but sends no alerts until unmuted. Default: alerts on.',
|
|
138
233
|
},
|
|
139
234
|
...GRACE_PROPS,
|
|
235
|
+
...PAYLOAD_PROPS,
|
|
140
236
|
},
|
|
141
|
-
required: ['name', '
|
|
237
|
+
required: ['name', 'interval_minutes'],
|
|
142
238
|
},
|
|
143
239
|
},
|
|
144
240
|
{
|
|
@@ -185,10 +281,19 @@ const TOOLS = [
|
|
|
185
281
|
},
|
|
186
282
|
condition_type: {
|
|
187
283
|
type: 'string',
|
|
188
|
-
enum: [
|
|
189
|
-
|
|
284
|
+
enum: [
|
|
285
|
+
'exists', 'greater_than', 'less_than', 'greater_or_equal', 'less_or_equal',
|
|
286
|
+
'equals', 'not_equals', 'between', 'not_between', 'contains', 'regex',
|
|
287
|
+
'timestamp_age', 'is_null', 'is_not_null',
|
|
288
|
+
],
|
|
289
|
+
description: 'Comparison/condition describing the HEALTHY value for the replacement condition — the check ALERTS when a value violates it. ' +
|
|
290
|
+
'Uses threshold (numeric/timestamp_age minutes), match_value (contains/regex/string equals), or min_value+max_value (between/not_between); exists/is_null/is_not_null take no value. ' +
|
|
291
|
+
'(Grid evaluation_type only supports the numeric comparisons.)',
|
|
190
292
|
},
|
|
191
|
-
threshold: { type: 'number', description: '
|
|
293
|
+
threshold: { type: 'number', description: 'Comparison value, or max age in minutes for timestamp_age.' },
|
|
294
|
+
match_value: { type: 'string', description: 'String to look for (contains/regex substring or pattern, or a string comparison value).' },
|
|
295
|
+
min_value: { type: 'number', description: 'Lower bound for between / not_between.' },
|
|
296
|
+
max_value: { type: 'number', description: 'Upper bound for between / not_between.' },
|
|
192
297
|
severity: {
|
|
193
298
|
type: 'string',
|
|
194
299
|
enum: ['info', 'warning', 'critical'],
|
|
@@ -207,6 +312,7 @@ const TOOLS = [
|
|
|
207
312
|
},
|
|
208
313
|
clear_calendar: { type: 'boolean', description: 'Stop following a calendar' },
|
|
209
314
|
...GRACE_PROPS,
|
|
315
|
+
...PAYLOAD_PROPS,
|
|
210
316
|
},
|
|
211
317
|
required: ['id'],
|
|
212
318
|
},
|
|
@@ -592,32 +698,131 @@ for (const tool of TOOLS) {
|
|
|
592
698
|
*/
|
|
593
699
|
function buildConditionFromArgs(args) {
|
|
594
700
|
const evaluationType = args.evaluation_type;
|
|
595
|
-
const
|
|
596
|
-
if (!evaluationType && !
|
|
701
|
+
const conditionType = args.condition_type;
|
|
702
|
+
if (!evaluationType && !conditionType) {
|
|
597
703
|
return null;
|
|
598
704
|
}
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
if (needsComparison && !hasComparison) {
|
|
602
|
-
return {
|
|
603
|
-
error: evaluationType
|
|
604
|
-
? `${evaluationType} requires condition_type and threshold (the per-cell comparison).`
|
|
605
|
-
: 'A single-value condition requires condition_type and threshold.',
|
|
606
|
-
};
|
|
607
|
-
}
|
|
608
|
-
const condition = {};
|
|
705
|
+
// Grid condition: any_cell/all_cells need a per-cell comparison; the
|
|
706
|
+
// dimension_* types don't.
|
|
609
707
|
if (evaluationType) {
|
|
610
|
-
|
|
708
|
+
const needsComparison = evaluationType === 'any_cell' || evaluationType === 'all_cells';
|
|
709
|
+
if (needsComparison && (!conditionType || args.threshold === undefined)) {
|
|
710
|
+
return {
|
|
711
|
+
error: `${evaluationType} requires condition_type and threshold (the per-cell comparison).`,
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
const condition = { evaluation_type: evaluationType };
|
|
611
715
|
if (args.severity)
|
|
612
716
|
condition.severity = args.severity;
|
|
613
717
|
if (args.custom_message)
|
|
614
718
|
condition.custom_message = args.custom_message;
|
|
719
|
+
if (needsComparison) {
|
|
720
|
+
condition.type = conditionType;
|
|
721
|
+
condition.value = String(args.threshold);
|
|
722
|
+
}
|
|
723
|
+
return condition;
|
|
724
|
+
}
|
|
725
|
+
return buildSingleValueCondition(conditionType, args);
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Build a single-value ConditionBody, picking the right value fields for the
|
|
729
|
+
* condition type: range bounds for between, a string for contains/regex, the
|
|
730
|
+
* minutes threshold for timestamp_age, nothing for exists / is_null.
|
|
731
|
+
*/
|
|
732
|
+
function buildSingleValueCondition(type, args) {
|
|
733
|
+
const condition = { type };
|
|
734
|
+
switch (type) {
|
|
735
|
+
case 'exists':
|
|
736
|
+
case 'is_null':
|
|
737
|
+
case 'is_not_null':
|
|
738
|
+
return condition;
|
|
739
|
+
case 'between':
|
|
740
|
+
case 'not_between':
|
|
741
|
+
if (args.min_value === undefined || args.max_value === undefined) {
|
|
742
|
+
return { error: `${type} requires min_value and max_value.` };
|
|
743
|
+
}
|
|
744
|
+
condition.min_value = args.min_value;
|
|
745
|
+
condition.max_value = args.max_value;
|
|
746
|
+
return condition;
|
|
747
|
+
case 'contains':
|
|
748
|
+
case 'regex': {
|
|
749
|
+
const v = args.match_value;
|
|
750
|
+
if (!v) {
|
|
751
|
+
return { error: `${type} requires match_value (the substring or regex pattern to look for).` };
|
|
752
|
+
}
|
|
753
|
+
condition.value = v;
|
|
754
|
+
return condition;
|
|
755
|
+
}
|
|
756
|
+
case 'timestamp_age':
|
|
757
|
+
if (args.threshold === undefined) {
|
|
758
|
+
return { error: 'timestamp_age requires threshold (the maximum data age in minutes).' };
|
|
759
|
+
}
|
|
760
|
+
condition.value = String(args.threshold);
|
|
761
|
+
return condition;
|
|
762
|
+
default: {
|
|
763
|
+
// Numeric or string comparison (greater_than, equals, …).
|
|
764
|
+
const v = args.match_value !== undefined
|
|
765
|
+
? String(args.match_value)
|
|
766
|
+
: args.threshold !== undefined
|
|
767
|
+
? String(args.threshold)
|
|
768
|
+
: undefined;
|
|
769
|
+
if (v === undefined) {
|
|
770
|
+
return { error: `${type} requires threshold (or match_value for a string comparison).` };
|
|
771
|
+
}
|
|
772
|
+
condition.value = v;
|
|
773
|
+
return condition;
|
|
774
|
+
}
|
|
615
775
|
}
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
776
|
+
}
|
|
777
|
+
/** Placeholder connection id for checks that don't use a database (http/heartbeat). */
|
|
778
|
+
const NO_CONNECTION_UUID = '00000000-0000-0000-0000-000000000000';
|
|
779
|
+
/** Assemble the `query` payload (stored config) for an http check. */
|
|
780
|
+
function buildHttpCheckQuery(args) {
|
|
781
|
+
const url = (args.url || '').trim();
|
|
782
|
+
if (!url) {
|
|
783
|
+
return { error: 'http checks require a url (e.g. https://example.com/health).' };
|
|
784
|
+
}
|
|
785
|
+
const payload = { url, method: args.http_method || 'GET' };
|
|
786
|
+
if (args.expected_status !== undefined)
|
|
787
|
+
payload.expected_status = args.expected_status;
|
|
788
|
+
if (args.timeout_seconds !== undefined)
|
|
789
|
+
payload.timeout_seconds = args.timeout_seconds;
|
|
790
|
+
if (args.max_response_time_ms !== undefined)
|
|
791
|
+
payload.max_response_time_ms = args.max_response_time_ms;
|
|
792
|
+
if (args.body_contains)
|
|
793
|
+
payload.body_contains = args.body_contains;
|
|
794
|
+
if (args.ssl_expiry_days !== undefined)
|
|
795
|
+
payload.ssl_expiry_days = args.ssl_expiry_days;
|
|
796
|
+
if (args.headers)
|
|
797
|
+
payload.headers = args.headers;
|
|
798
|
+
if (args.request_body)
|
|
799
|
+
payload.body = args.request_body;
|
|
800
|
+
return JSON.stringify(payload);
|
|
801
|
+
}
|
|
802
|
+
/** Assemble the `query` payload (stored config) for a heartbeat check. */
|
|
803
|
+
function buildHeartbeatCheckQuery(args) {
|
|
804
|
+
const payload = {
|
|
805
|
+
expected_interval_mins: args.expected_interval_mins || 60,
|
|
806
|
+
};
|
|
807
|
+
if (args.grace_period_mins !== undefined)
|
|
808
|
+
payload.grace_period_mins = args.grace_period_mins;
|
|
809
|
+
if (args.last_ping_status_to_require) {
|
|
810
|
+
payload.last_ping_status_to_require = args.last_ping_status_to_require;
|
|
811
|
+
}
|
|
812
|
+
return JSON.stringify(payload);
|
|
813
|
+
}
|
|
814
|
+
/** Pull the auto-generated ping token out of a created heartbeat check. */
|
|
815
|
+
function heartbeatPingURL(check) {
|
|
816
|
+
const query = check?.Query;
|
|
817
|
+
if (!query)
|
|
818
|
+
return undefined;
|
|
819
|
+
try {
|
|
820
|
+
const token = JSON.parse(query).token;
|
|
821
|
+
return token ? `${resolveApiUrl()}/heartbeat/${token}` : undefined;
|
|
822
|
+
}
|
|
823
|
+
catch {
|
|
824
|
+
return undefined;
|
|
619
825
|
}
|
|
620
|
-
return condition;
|
|
621
826
|
}
|
|
622
827
|
// ---- Dispatch ----
|
|
623
828
|
async function callTool(name, args) {
|
|
@@ -842,7 +1047,11 @@ async function callTool(name, args) {
|
|
|
842
1047
|
catch {
|
|
843
1048
|
// best-effort; never fail get_check because the schedule read errored
|
|
844
1049
|
}
|
|
845
|
-
|
|
1050
|
+
// Decode the per-check outbound-payload config (a raw JSON column) into its
|
|
1051
|
+
// effective form so an agent can read back what webhook alerts will include.
|
|
1052
|
+
const webhook_payload_config = decodeWebhookPayloadConfig(data.check
|
|
1053
|
+
?.WebhookPayloadConfig);
|
|
1054
|
+
return JSON.stringify({ ...data.check, schedule, webhook_payload_config }, null, 2);
|
|
846
1055
|
}
|
|
847
1056
|
case 'get_check_history': {
|
|
848
1057
|
{
|
|
@@ -892,17 +1101,40 @@ async function callTool(name, args) {
|
|
|
892
1101
|
if (!interval) {
|
|
893
1102
|
return `Invalid interval_minutes: ${args.interval_minutes}. Allowed: 1, 5, 15, 30, 60.`;
|
|
894
1103
|
}
|
|
895
|
-
const
|
|
896
|
-
|
|
897
|
-
|
|
1104
|
+
const checkType = args.check_type || 'sql';
|
|
1105
|
+
let query;
|
|
1106
|
+
let condition;
|
|
1107
|
+
let connectionId = args.connection_id;
|
|
1108
|
+
if (checkType === 'http') {
|
|
1109
|
+
const q = buildHttpCheckQuery(args);
|
|
1110
|
+
if (typeof q !== 'string')
|
|
1111
|
+
return q.error;
|
|
1112
|
+
query = q;
|
|
1113
|
+
connectionId = connectionId || NO_CONNECTION_UUID;
|
|
898
1114
|
}
|
|
899
|
-
if ('
|
|
900
|
-
|
|
1115
|
+
else if (checkType === 'heartbeat') {
|
|
1116
|
+
query = buildHeartbeatCheckQuery(args);
|
|
1117
|
+
connectionId = connectionId || NO_CONNECTION_UUID;
|
|
1118
|
+
}
|
|
1119
|
+
else {
|
|
1120
|
+
if (!connectionId)
|
|
1121
|
+
return 'sql checks require connection_id (the database connection to query).';
|
|
1122
|
+
if (!args.query)
|
|
1123
|
+
return 'sql checks require a query.';
|
|
1124
|
+
query = args.query;
|
|
1125
|
+
const cond = buildConditionFromArgs(args);
|
|
1126
|
+
if (cond === null) {
|
|
1127
|
+
return 'A condition is required: provide condition_type (single-value) or evaluation_type (grid).';
|
|
1128
|
+
}
|
|
1129
|
+
if ('error' in cond)
|
|
1130
|
+
return cond.error;
|
|
1131
|
+
condition = cond;
|
|
901
1132
|
}
|
|
902
1133
|
const resp = await client.createCheck({
|
|
903
1134
|
name: args.name,
|
|
904
|
-
connection_id:
|
|
905
|
-
query
|
|
1135
|
+
connection_id: connectionId,
|
|
1136
|
+
query,
|
|
1137
|
+
check_type: checkType,
|
|
906
1138
|
condition,
|
|
907
1139
|
interval,
|
|
908
1140
|
alert_group_id: args.alert_group_id,
|
|
@@ -910,7 +1142,19 @@ async function callTool(name, args) {
|
|
|
910
1142
|
calendar: args.calendar,
|
|
911
1143
|
alerts_enabled: args.alerts_enabled,
|
|
912
1144
|
...graceFields(args),
|
|
1145
|
+
...payloadFields(args),
|
|
913
1146
|
});
|
|
1147
|
+
if (checkType === 'heartbeat') {
|
|
1148
|
+
const url = heartbeatPingURL(resp.check);
|
|
1149
|
+
if (url) {
|
|
1150
|
+
const mins = args.expected_interval_mins || 60;
|
|
1151
|
+
return JSON.stringify({
|
|
1152
|
+
check: resp.check,
|
|
1153
|
+
heartbeat_url: url,
|
|
1154
|
+
instructions: `Have the job POST (or GET) ${url} on success at least every ${mins} minutes, e.g. \`curl -fsS ${url}\`. The check fails if no ping arrives in time.`,
|
|
1155
|
+
}, null, 2);
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
914
1158
|
return JSON.stringify(resp.check, null, 2);
|
|
915
1159
|
}
|
|
916
1160
|
case 'update_check': {
|
|
@@ -940,6 +1184,7 @@ async function callTool(name, args) {
|
|
|
940
1184
|
body.interval = interval;
|
|
941
1185
|
}
|
|
942
1186
|
Object.assign(body, graceFields(args));
|
|
1187
|
+
Object.assign(body, payloadFields(args));
|
|
943
1188
|
const condition = buildConditionFromArgs(args);
|
|
944
1189
|
if (condition && 'error' in condition) {
|
|
945
1190
|
return condition.error;
|