@reveldigital/mcp-graphql-proxy 2.2.0 → 2.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,29 @@ const QUERY_OPERATIONS = {
159
159
  limit: { type: 'Int', description: 'Maximum number of results' },
160
160
  },
161
161
  },
162
+ alertRule: {
163
+ returnType: '[AlertRule]',
164
+ filterInputType: 'AlertRuleFilterInput',
165
+ requiresDateRange: false,
166
+ description: 'Query alert rules — the conditions that trigger alerts (device offline, connectivity, etc.). Rules define which devices are evaluated and which users are notified.',
167
+ arguments: {
168
+ id: { type: '[String!]', description: 'Filter by alert rule ID(s)' },
169
+ orgId: { type: 'String', description: 'Filter by organization ID' },
170
+ limit: { type: 'Int', description: 'Maximum number of results' },
171
+ },
172
+ },
173
+ // Connector Data (broker-normalized external datasets)
174
+ connectorData: {
175
+ returnType: 'ConnectorData',
176
+ filterInputType: '',
177
+ requiresDateRange: false,
178
+ description: 'Fetch a normalized dataset from a registered connector data source via the broker. References a datasetId on a datasourceId plus validated params — never raw SQL.',
179
+ arguments: {
180
+ datasourceId: { type: 'String', description: 'The registered data source identifier' },
181
+ datasetId: { type: 'String', description: 'The registered dataset identifier on that source' },
182
+ params: { type: '[Any]', description: 'Optional validated parameters for the dataset' },
183
+ },
184
+ },
162
185
  // Display Commands (device command catalog)
163
186
  displayCommands: {
164
187
  returnType: '[DisplayCommand]',
@@ -432,6 +455,17 @@ const FIELD_PRESETS = {
432
455
  full: ['id', 'isActive', 'createdOn', 'updatedOn', 'resolvedOn', 'snoozedUntil',
433
456
  'alertRule { id name ruleSet isEnabled }', 'devices { id name }'],
434
457
  },
458
+ alertRule: {
459
+ minimal: ['id', 'name', 'isEnabled'],
460
+ basic: ['id', 'name', 'isEnabled', 'period', 'allDevices', 'allUsers', 'createdOn', 'updatedOn'],
461
+ full: ['id', 'name', 'ruleSet', 'isEnabled', 'period', 'threshold', 'webhookUrl',
462
+ 'allDevices', 'allUsers', 'deviceIds', 'userIds', 'createdOn', 'updatedOn'],
463
+ },
464
+ connectorData: {
465
+ minimal: ['columns { name type }', 'rows'],
466
+ basic: ['columns { name type }', 'rows', 'fetchedAt', 'stale'],
467
+ full: ['columns { name type }', 'rows', 'fetchedAt', 'stale'],
468
+ },
435
469
  user: {
436
470
  minimal: ['id', 'username', 'email'],
437
471
  basic: ['id', 'firstName', 'lastName', 'email', 'username', 'role', 'createdOn', 'lastActivity'],
@@ -694,6 +728,9 @@ query ${this.capitalizeFirst(operation)}Query${varDefsStr} {
694
728
  continuationToken: 'String',
695
729
  // Data table arguments
696
730
  tableId: 'String',
731
+ // Connector data arguments (params is a list type; a single JSON object is
732
+ // coerced by GraphQL into a one-element list)
733
+ params: '[Any]',
697
734
  // Numeric arguments
698
735
  eventDepthLevel: 'Int!',
699
736
  minDwellThreshold: 'Long!',
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA8hBxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA0HzE"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA0kBxE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA4HzE"}
@@ -63,6 +63,12 @@ The API provides these types. **You MUST use \`introspect_schema({ typeName: "X"
63
63
  | Type | Operation | Description |
64
64
  |------|-----------|-------------|
65
65
  | \`Alert\` | \`alert\` | System alerts for device issues, connectivity problems, and rule violations. Supports filtering by active/resolved state and affected devices. |
66
+ | \`AlertRule\` | \`alertRule\` | The rules that trigger alerts. Each rule has a \`ruleSet\` (JSON string of conditions), an \`isEnabled\` flag, a \`period\` (look-back window), an optional \`webhookUrl\`, and device/user scoping (\`allDevices\`/\`deviceIds\`, \`allUsers\`/\`userIds\`). |
67
+
68
+ ## Connector Data Types
69
+ | Type | Operation | Description |
70
+ |------|-----------|-------------|
71
+ | \`ConnectorData\` | \`connectorData\` | A normalized dataset fetched from a registered connector data source via the broker. Reference a \`datasetId\` on a \`datasourceId\` plus optional validated \`params\` — you never send SQL. Returns \`columns\` (\`{name, type}\`), row-major \`rows\`, \`fetchedAt\` (epoch ms), and \`stale\` (true when a cached copy was served while revalidating). |
66
72
 
67
73
  ## Device Commands & Permissions Types
68
74
  | Type | Operation | Description |
@@ -219,6 +225,40 @@ Dedicated tools for managing structured data tables (e.g., menu boards, pricing,
219
225
  | \`send_device_command\` | Send one or more commands to a specific device. Params: \`deviceId\`, \`commands\` (array of \`{name, arg?}\`). Known commands: restart, reboot, screenshot, refresh, display_on, display_off, volume (arg: 0-100), clear_cache, update. |
220
226
  | \`send_bulk_device_commands\` | Send commands to multiple devices at once. Params: \`deviceIds\` (array), \`commands\` (array of \`{name, arg?}\`). |
221
227
 
228
+ ### Alert Rule Management
229
+ Alert rules define the conditions that raise alerts. Read existing rules with \`build_query({ operation: "alertRule" })\`. Scoping is either-or: when \`allDevices\` is true \`deviceIds\` is ignored, and when \`allUsers\` is true \`userIds\` is ignored.
230
+
231
+ | Tool | Description |
232
+ |------|-------------|
233
+ | \`create_alert_rule\` | Create a new alert rule. Params: \`name\`, plus any of \`ruleSet?\` (JSON string — see below), \`isEnabled?\`, \`period?\` (**minutes** — the look-back window for time-window conditions such as \`NoContent\`; ignored by conditions that read the current value, e.g. \`CpuUsage\`), \`threshold?\` (legacy — prefer thresholds inside \`ruleSet\`), \`webhookUrl?\`, \`allDevices?\`, \`allUsers?\`, \`deviceIds?\`, \`userIds?\`. |
234
+ | \`update_alert_rule\` | Update an existing rule (partial — only provided fields change). Params: \`id\`, plus any create field. |
235
+ | \`delete_alert_rule\` | Delete a rule permanently. Params: \`id\`. Prefer \`update_alert_rule\` with \`isEnabled: false\` if the rule may be needed later. |
236
+
237
+ #### The \`ruleSet\` format
238
+ \`ruleSet\` is a **serialized JSON string**, not a nested object — \`JSON.stringify\` the structure before passing it.
239
+
240
+ A rule set is an **array of condition groups**. Groups are combined with logical **AND**; the \`items\` within a group are combined with logical **OR**.
241
+
242
+ \`\`\`json
243
+ [{"items":[{"type":"CpuUsage","op":"GTE","value":[90]}]}]
244
+ \`\`\`
245
+
246
+ Each item is \`{"type", "op", "value"}\`:
247
+
248
+ | Field | Required | Notes |
249
+ |-------|----------|-------|
250
+ | \`type\` | yes | **Case-sensitive.** One of: \`TimeOffline\`, \`LastUpdate\`, \`MemoryUsage\`, \`CpuUsage\`, \`DiskUsage\`, \`NoContent\`, \`BytesTxDay\`, \`BytesRxDay\`, \`BytesTotalDay\`, \`BytesTxPeriod\`, \`BytesRxPeriod\`, \`BytesTotalPeriod\`, \`ClockSkew\`, \`DisplayDetected\`, \`BatteryVoltage\`, \`BatteryPercentage\`, \`SystemTemperature\` |
251
+ | \`op\` | no | \`EQ\`, \`NE\`, \`GT\`, \`LT\`, \`GTE\`, \`LTE\`. Defaults to \`EQ\`. |
252
+ | \`value\` | yes | A **non-empty array of numbers**. |
253
+
254
+ **AND across groups, OR within a group** — e.g. "CPU ≥ 90 OR memory ≥ 90" *and* "offline > 300":
255
+ \`\`\`json
256
+ [{"items":[{"type":"CpuUsage","op":"GTE","value":[90]},{"type":"MemoryUsage","op":"GTE","value":[90]}]},
257
+ {"items":[{"type":"TimeOffline","op":"GT","value":[300]}]}]
258
+ \`\`\`
259
+
260
+ Invalid rule sets are rejected by the API. A null or empty \`ruleSet\` leaves the rule unevaluated (it never fires).
261
+
222
262
  ### Group Management
223
263
  Organizational folders for each resource type. All five tools take the same params: \`name\`, \`parentId?\` (encrypted id of an existing group to nest under; omit to create at the root). Each returns the new \`Group\` (\`id\`, \`name\`, \`parentId\`).
224
264
 
@@ -336,6 +376,7 @@ Playlist sources support optional \`conditions\` to control when/where they play
336
376
  | \`contains\`, \`notContains\` | \`value\` | String substring match |
337
377
  | \`gt\`, \`gte\`, \`lt\`, \`lte\` | \`value\` | Numbers and dates |
338
378
  | \`inRange\`, \`outOfRange\` | \`from\`, \`to\` | Inclusive range |
379
+ | \`in\`, \`notIn\` | \`values\` | Set membership — \`values\` must be a non-empty array |
339
380
  | \`isEmpty\`, \`isNotEmpty\` | — | Null / empty check |
340
381
  | \`positive\`, \`negative\` | — | Numeric sign |
341
382
  | \`beforeNow\`, \`afterNow\`, \`isToday\` | — | Date columns, evaluated in UTC |
@@ -345,6 +386,7 @@ Playlist sources support optional \`conditions\` to control when/where they play
345
386
  - \`{"price": {"op": "gte", "value": 25}}\` — comparison
346
387
  - \`{"name": {"op": "contains", "value": "pizza"}}\` — substring
347
388
  - \`{"score": {"op": "inRange", "from": 0, "to": 100}}\` — range
389
+ - \`{"category": {"op": "in", "values": ["Entree", "Dessert"]}}\` — set membership
348
390
  - \`{"deletedAt": {"op": "isEmpty"}}\` — null check
349
391
  - \`{"publishAt": {"op": "beforeNow"}}\` — date relative to now (UTC)
350
392
  - \`{"$or": [{"category": "Entree"}, {"price": {"op": "lt", "value": 10}}]}\` — disjunction
@@ -541,7 +583,9 @@ send_device_command({ "deviceId": "abc123", "commands": [{ "name": "reboot" }] }
541
583
  3. **Canonical object** (what the CMS UI writes) — \`{ "url": "<absolute CDN URL>", "thumbnailUrl": "<absolute thumb URL>", "name": "<display name>", "mimeType": "<MIME type, e.g. image/jpeg or video/mp4>" }\`. Passed through unchanged when \`url\` is already populated.
542
584
  After normalization the stored object has \`url\` (what the player fetches), \`thumbnailUrl\` (what the grid renders), \`name\`, \`mimeType\`, and \`mediaId\`. For Revel-hosted videos \`url\` is the \`.zc.mp4\` transcoded variant. If an id cannot be resolved (asset not found / not in account) the original value is left as-is and required-field validation will surface the failure. \`null\` or \`{}\` clears the cell.
543
585
  - **Row Versioning**: Data table rows track version history. Each change creates a new version recording the action, changed fields, and previous values. Rows can be rolled back to any previous version.
544
- - **Row ETag**: Each \`DataTableRowModel\` carries an \`eTag\` value used for optimistic concurrency. Pass the latest \`eTag\` to \`update_data_table_row\` to fail fast if another writer changed the row in between read and write.
586
+ - **Row ETag**: Each \`DataTableRowModel\` carries an \`eTag\` value used for optimistic concurrency. Pass the latest \`eTag\` to \`update_data_table_row\` to fail fast if another writer changed the row in between read and write. A stale token fails the mutation. (Over REST the same token is sent as the \`If-Match\` **header** — the REST endpoint does not read an \`eTag\` body property — and a stale token returns \`409 Conflict\`.)
587
+ - **Alert Rule**: The definition that raises an \`Alert\`. Holds a \`ruleSet\` (serialized JSON string of trigger conditions — groups AND-ed, items within a group OR-ed; see **The \`ruleSet\` format**), an \`isEnabled\` flag, a \`period\` look-back window (in **minutes**, used only by time-window conditions such as \`NoContent\`), an optional \`webhookUrl\` (HTTP POST on trigger), and scoping — \`allDevices\`/\`deviceIds\` for what is evaluated, \`allUsers\`/\`userIds\` for who is notified. Read via the \`alertRule\` operation; write via \`create_alert_rule\` / \`update_alert_rule\` / \`delete_alert_rule\`.
588
+ - **Connector Data**: A normalized dataset pulled from a registered external data source through the broker (\`connectorData\` operation). You reference a \`datasetId\` on a \`datasourceId\` with optional validated \`params\` — never raw SQL. The tenant is resolved from your API key, never supplied by you. Returns \`columns\` + row-major \`rows\`, plus \`fetchedAt\` and a \`stale\` flag.
545
589
  - **Structured Validation Errors**: Data table row mutations return a \`structuredValidationErrors\` list alongside the legacy \`validationErrors\` strings. Each entry has \`field\`, \`code\` (\`Required\` / \`InvalidType\` / \`OutOfRange\` / \`InvalidFormat\` / \`Invalid\`), and \`message\`. Use the structured form when surfacing actionable per-field feedback to the user.
546
590
  - **Media Approval**: Media assets carry an approval state — \`isApproved\` (true=approved, false=declined, null=pending). Use \`approve_media\` / \`decline_media\` (reversible) to set state; declines may include a \`reason\` recorded for audit.
547
591
  - **Display Command**: A named command that can be sent to devices (e.g., reboot, screenshot, volume)
@@ -626,6 +670,8 @@ Types: \`device\`, \`template\`, \`schedule\`, \`playlist\`, \`media\`, \`device
626
670
  **CRITICAL: Never execute a mutation without first describing the action to the user and receiving explicit approval.** Mutations modify live data affecting devices and content.
627
671
 
628
672
  **Device Commands**: \`send_device_command\` (single device), \`send_bulk_device_commands\` (multiple devices)
673
+ **Alert Rules**: \`create_alert_rule\` (name + \`ruleSet\`, \`isEnabled\`, \`period\` sec, \`webhookUrl\`, \`allDevices\`/\`deviceIds\`, \`allUsers\`/\`userIds\`), \`update_alert_rule\` (id + partial), \`delete_alert_rule\` (id). Read rules via the \`alertRule\` query operation. \`allDevices\`/\`allUsers\` override the explicit id lists.
674
+ \`ruleSet\` is a **serialized JSON string** (not an object): an array of groups AND-ed together, \`items\` within a group OR-ed. Item = \`{"type","op","value"}\` — \`type\` (case-sensitive): \`TimeOffline\`, \`LastUpdate\`, \`MemoryUsage\`, \`CpuUsage\`, \`DiskUsage\`, \`NoContent\`, \`BytesTxDay\`, \`BytesRxDay\`, \`BytesTotalDay\`, \`BytesTxPeriod\`, \`BytesRxPeriod\`, \`BytesTotalPeriod\`, \`ClockSkew\`, \`DisplayDetected\`, \`BatteryVoltage\`, \`BatteryPercentage\`, \`SystemTemperature\`; \`op\` (optional, default \`EQ\`): \`EQ\`/\`NE\`/\`GT\`/\`LT\`/\`GTE\`/\`LTE\`; \`value\`: non-empty number array. Example: \`[{"items":[{"type":"CpuUsage","op":"GTE","value":[90]}]}]\`
629
675
  **Groups**: \`create_device_group\`, \`create_media_group\`, \`create_playlist_group\`, \`create_schedule_group\`, \`create_template_group\` — params: \`name\`, optional \`parentId\` to nest.
630
676
  **Media**: \`create_media_from_url\`, \`update_media\`, \`approve_media\` (id), \`decline_media\` (id, reason?) — both reversible — \`delete_media\` (currently no-op)
631
677
  **Playlists**: \`add_playlist_source\`, \`update_playlist_source\`, \`remove_playlist_source\`, \`reorder_playlist_sources\`
@@ -642,7 +688,7 @@ Playlist sources support optional \`conditions\` (array) to control when/where t
642
688
 
643
689
  Example: \`{ "isOnline": { "eq": true }, "name": { "contains": "store" } }\`
644
690
 
645
- **Data table row filter (different syntax)**: \`list_data_table_rows\` takes a JSON-string \`filter\` with \`{column: {op, value|from,to}}\` shape. Ops: \`eq\`, \`neq\`, \`contains\`, \`notContains\`, \`gt\`/\`gte\`/\`lt\`/\`lte\`, \`inRange\`/\`outOfRange\` (from+to), \`isEmpty\`, \`isNotEmpty\`, \`positive\`, \`negative\`, \`beforeNow\`/\`afterNow\`/\`isToday\` (UTC). Equality shortcut: \`{"status":"active"}\`. Use top-level \`$or\` for disjunction. Example with mix: \`{"status":"active","price":{"op":"gte","value":25}}\`. Invalid filter → GraphQL \`BAD_REQUEST\` with plain-English message.
691
+ **Data table row filter (different syntax)**: \`list_data_table_rows\` takes a JSON-string \`filter\` with \`{column: {op, value|from,to|values}}\` shape. Ops: \`eq\`, \`neq\`, \`contains\`, \`notContains\`, \`gt\`/\`gte\`/\`lt\`/\`lte\`, \`inRange\`/\`outOfRange\` (from+to), \`in\`/\`notIn\` (non-empty \`values\` array), \`isEmpty\`, \`isNotEmpty\`, \`positive\`, \`negative\`, \`beforeNow\`/\`afterNow\`/\`isToday\` (UTC). Equality shortcut: \`{"status":"active"}\`. Use top-level \`$or\` for disjunction. Example with mix: \`{"status":"active","price":{"op":"gte","value":25},"category":{"op":"in","values":["Entree","Dessert"]}}\`. Invalid filter → GraphQL \`BAD_REQUEST\` with plain-English message.
646
692
 
647
693
  **MEDIA column value**: accepts 3 forms — (1) encrypted media id string (recommended), (2) \`{"mediaId":"..."}\`, (3) canonical \`{url,thumbnailUrl,name,mimeType}\`. Server normalizes to canonical with \`mediaId\`. \`null\`/\`{}\` clears.
648
694
 
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/core/system-prompt.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -119,9 +119,11 @@ server.tool('build_query', 'Build an optimized GraphQL query with field selectio
119
119
  'playlist', 'playlistGroups', 'schedule', 'scheduleGroups',
120
120
  'template', 'templateGroups', 'user',
121
121
  // Alerts & Monitoring
122
- 'alert',
122
+ 'alert', 'alertRule',
123
123
  // Audit & Compliance
124
124
  'auditEvent',
125
+ // Connector Data
126
+ 'connectorData',
125
127
  // Data Tables
126
128
  'dataTables', 'dataTable',
127
129
  // Device Commands & Permissions
@@ -159,6 +161,11 @@ server.tool('build_query', 'Build an optimized GraphQL query with field selectio
159
161
  // Alert-specific arguments
160
162
  activeOnly: z.boolean().optional().describe('Filter to show only active alerts (alert only)'),
161
163
  resolved: z.boolean().optional().describe('Filter by resolved state (alert only)'),
164
+ orgId: z.string().optional().describe('Filter by organization ID (alert, alertRule)'),
165
+ // Connector data arguments
166
+ datasourceId: z.string().optional().describe('Registered data source identifier (connectorData only)'),
167
+ datasetId: z.string().optional().describe('Registered dataset identifier on that source (connectorData only)'),
168
+ params: z.record(z.unknown()).optional().describe('Optional validated parameters for the dataset (connectorData only)'),
162
169
  }, async (args) => {
163
170
  try {
164
171
  const queryArgs = {};
@@ -197,6 +204,15 @@ server.tool('build_query', 'Build an optimized GraphQL query with field selectio
197
204
  queryArgs.activeOnly = args.activeOnly;
198
205
  if (args.resolved !== undefined)
199
206
  queryArgs.resolved = args.resolved;
207
+ if (args.orgId !== undefined)
208
+ queryArgs.orgId = args.orgId;
209
+ // Connector data arguments
210
+ if (args.datasourceId !== undefined)
211
+ queryArgs.datasourceId = args.datasourceId;
212
+ if (args.datasetId !== undefined)
213
+ queryArgs.datasetId = args.datasetId;
214
+ if (args.params !== undefined)
215
+ queryArgs.params = args.params;
200
216
  const { query, variables } = QueryBuilder.build({
201
217
  operation: args.operation,
202
218
  fields: args.fields ?? [],
@@ -1709,6 +1725,197 @@ mutation RemoveModuleOption($input: RemoveModuleOptionInput) {
1709
1725
  }
1710
1726
  });
1711
1727
  // ============================================================================
1728
+ // Tools: Alert Rules (create / update / delete)
1729
+ // ============================================================================
1730
+ // The API takes ruleSet as a serialized JSON string, not a nested object. Condition
1731
+ // types and operators are case-sensitive and validated server-side.
1732
+ const ALERT_RULE_CONDITION_TYPES = [
1733
+ 'TimeOffline', 'LastUpdate', 'MemoryUsage', 'CpuUsage', 'DiskUsage', 'NoContent',
1734
+ 'BytesTxDay', 'BytesRxDay', 'BytesTotalDay', 'BytesTxPeriod', 'BytesRxPeriod',
1735
+ 'BytesTotalPeriod', 'ClockSkew', 'DisplayDetected', 'BatteryVoltage',
1736
+ 'BatteryPercentage', 'SystemTemperature',
1737
+ ];
1738
+ const RULE_SET_DESCRIPTION = [
1739
+ 'Rule set configuration as a SERIALIZED JSON STRING (not a nested object).',
1740
+ 'Shape: an array of condition groups combined with logical AND; the `items` within each group are combined with logical OR.',
1741
+ 'Each item is {"type", "op", "value"}:',
1742
+ `\`type\` (required, case-sensitive) one of: ${ALERT_RULE_CONDITION_TYPES.join(', ')}.`,
1743
+ '`op` (optional) one of EQ, NE, GT, LT, GTE, LTE (defaults to EQ).',
1744
+ '`value` (required) a non-empty array of numbers.',
1745
+ 'Example: [{"items":[{"type":"CpuUsage","op":"GTE","value":[90]}]}]',
1746
+ 'Invalid rule sets are rejected. Null or empty leaves the rule unevaluated.',
1747
+ ].join(' ');
1748
+ const ALERT_RULE_SELECTION = `
1749
+ success
1750
+ alertRule {
1751
+ id
1752
+ name
1753
+ ruleSet
1754
+ isEnabled
1755
+ period
1756
+ threshold
1757
+ webhookUrl
1758
+ allDevices
1759
+ allUsers
1760
+ deviceIds
1761
+ userIds
1762
+ createdOn
1763
+ updatedOn
1764
+ }
1765
+ error`;
1766
+ server.tool('create_alert_rule', 'Create a new alert rule — the conditions that trigger alerts. Example: create a rule that fires when a lobby display goes offline. Use build_query with the alertRule operation to read existing rules first.', {
1767
+ name: z.string().describe('The name of the alert rule'),
1768
+ ruleSet: z.string().optional().describe(RULE_SET_DESCRIPTION),
1769
+ isEnabled: z.boolean().optional().describe('Whether the rule is enabled and will be evaluated. Disabled rules are stored but never trigger.'),
1770
+ period: z.number().optional().describe('The look-back / evaluation period, in MINUTES, used by time-window based conditions such as NoContent. Ignored by conditions that read the current value (e.g. CpuUsage).'),
1771
+ threshold: z.number().optional().describe('Legacy scalar threshold. Prefer expressing thresholds inside ruleSet.'),
1772
+ webhookUrl: z.string().optional().describe('Optional HTTPS webhook URL invoked (HTTP POST) when the rule triggers'),
1773
+ allDevices: z.boolean().optional().describe('If true, the rule is evaluated against every device in the account and deviceIds is ignored'),
1774
+ allUsers: z.boolean().optional().describe('If true, all users in the account are notified and userIds is ignored'),
1775
+ deviceIds: z.array(z.string()).optional().describe('Devices to associate with the rule. Ignored when allDevices is true.'),
1776
+ userIds: z.array(z.string()).optional().describe('Users to notify. Ignored when allUsers is true.'),
1777
+ }, async (args) => {
1778
+ try {
1779
+ const mutation = `
1780
+ mutation CreateAlertRule($input: AlertRuleInput) {
1781
+ createAlertRule(input: $input) {${ALERT_RULE_SELECTION}
1782
+ }
1783
+ }`;
1784
+ const input = { name: args.name };
1785
+ if (args.ruleSet !== undefined)
1786
+ input.ruleSet = args.ruleSet;
1787
+ if (args.isEnabled !== undefined)
1788
+ input.isEnabled = args.isEnabled;
1789
+ if (args.period !== undefined)
1790
+ input.period = args.period;
1791
+ if (args.threshold !== undefined)
1792
+ input.threshold = args.threshold;
1793
+ if (args.webhookUrl !== undefined)
1794
+ input.webhookUrl = args.webhookUrl;
1795
+ if (args.allDevices !== undefined)
1796
+ input.allDevices = args.allDevices;
1797
+ if (args.allUsers !== undefined)
1798
+ input.allUsers = args.allUsers;
1799
+ if (args.deviceIds !== undefined)
1800
+ input.deviceIds = args.deviceIds;
1801
+ if (args.userIds !== undefined)
1802
+ input.userIds = args.userIds;
1803
+ const response = await graphqlClient.query(mutation, { input });
1804
+ if (response.errors && response.errors.length > 0) {
1805
+ const result = {
1806
+ success: false,
1807
+ error: response.errors.map((e) => e.message).join('; '),
1808
+ };
1809
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1810
+ }
1811
+ const result = {
1812
+ success: true,
1813
+ data: response.data,
1814
+ };
1815
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1816
+ }
1817
+ catch (error) {
1818
+ const result = {
1819
+ success: false,
1820
+ error: error instanceof Error ? error.message : 'Unknown error',
1821
+ };
1822
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1823
+ }
1824
+ });
1825
+ server.tool('update_alert_rule', 'Update an existing alert rule. Only provided fields are changed. Example: disable a noisy rule, or widen its device scope.', {
1826
+ id: z.string().describe('The alert rule ID to update'),
1827
+ name: z.string().optional().describe('The name of the alert rule'),
1828
+ ruleSet: z.string().optional().describe(RULE_SET_DESCRIPTION),
1829
+ isEnabled: z.boolean().optional().describe('Whether the rule is enabled and will be evaluated'),
1830
+ period: z.number().optional().describe('The look-back / evaluation period, in MINUTES, used by time-window based conditions such as NoContent. Ignored by conditions that read the current value (e.g. CpuUsage).'),
1831
+ threshold: z.number().optional().describe('Legacy scalar threshold. Prefer expressing thresholds inside ruleSet.'),
1832
+ webhookUrl: z.string().optional().describe('Optional HTTPS webhook URL invoked when the rule triggers'),
1833
+ allDevices: z.boolean().optional().describe('If true, the rule is evaluated against every device and deviceIds is ignored'),
1834
+ allUsers: z.boolean().optional().describe('If true, all users are notified and userIds is ignored'),
1835
+ deviceIds: z.array(z.string()).optional().describe('Devices to associate with the rule. Ignored when allDevices is true.'),
1836
+ userIds: z.array(z.string()).optional().describe('Users to notify. Ignored when allUsers is true.'),
1837
+ }, async (args) => {
1838
+ try {
1839
+ const mutation = `
1840
+ mutation UpdateAlertRule($input: AlertRuleInput) {
1841
+ updateAlertRule(input: $input) {${ALERT_RULE_SELECTION}
1842
+ }
1843
+ }`;
1844
+ const input = { id: args.id };
1845
+ if (args.name !== undefined)
1846
+ input.name = args.name;
1847
+ if (args.ruleSet !== undefined)
1848
+ input.ruleSet = args.ruleSet;
1849
+ if (args.isEnabled !== undefined)
1850
+ input.isEnabled = args.isEnabled;
1851
+ if (args.period !== undefined)
1852
+ input.period = args.period;
1853
+ if (args.threshold !== undefined)
1854
+ input.threshold = args.threshold;
1855
+ if (args.webhookUrl !== undefined)
1856
+ input.webhookUrl = args.webhookUrl;
1857
+ if (args.allDevices !== undefined)
1858
+ input.allDevices = args.allDevices;
1859
+ if (args.allUsers !== undefined)
1860
+ input.allUsers = args.allUsers;
1861
+ if (args.deviceIds !== undefined)
1862
+ input.deviceIds = args.deviceIds;
1863
+ if (args.userIds !== undefined)
1864
+ input.userIds = args.userIds;
1865
+ const response = await graphqlClient.query(mutation, { input });
1866
+ if (response.errors && response.errors.length > 0) {
1867
+ const result = {
1868
+ success: false,
1869
+ error: response.errors.map((e) => e.message).join('; '),
1870
+ };
1871
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1872
+ }
1873
+ const result = {
1874
+ success: true,
1875
+ data: response.data,
1876
+ };
1877
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1878
+ }
1879
+ catch (error) {
1880
+ const result = {
1881
+ success: false,
1882
+ error: error instanceof Error ? error.message : 'Unknown error',
1883
+ };
1884
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1885
+ }
1886
+ });
1887
+ server.tool('delete_alert_rule', 'Delete an alert rule by ID. This stops the rule from ever triggering again — consider update_alert_rule with isEnabled=false if the rule may be needed later.', {
1888
+ id: z.string().describe('The alert rule ID to delete'),
1889
+ }, async (args) => {
1890
+ try {
1891
+ const mutation = `
1892
+ mutation DeleteAlertRule($id: String) {
1893
+ deleteAlertRule(id: $id) {${ALERT_RULE_SELECTION}
1894
+ }
1895
+ }`;
1896
+ const response = await graphqlClient.query(mutation, { id: args.id });
1897
+ if (response.errors && response.errors.length > 0) {
1898
+ const result = {
1899
+ success: false,
1900
+ error: response.errors.map((e) => e.message).join('; '),
1901
+ };
1902
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1903
+ }
1904
+ const result = {
1905
+ success: true,
1906
+ data: response.data,
1907
+ };
1908
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1909
+ }
1910
+ catch (error) {
1911
+ const result = {
1912
+ success: false,
1913
+ error: error instanceof Error ? error.message : 'Unknown error',
1914
+ };
1915
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
1916
+ }
1917
+ });
1918
+ // ============================================================================
1712
1919
  // Tool: List Data Tables
1713
1920
  // ============================================================================
1714
1921
  server.tool('list_data_tables', 'List data tables in the account. Returns table summaries with pagination. Use to discover available tables before querying rows.', {
@@ -2698,6 +2905,10 @@ server.resource('schema://reveldigital/graphql', 'Revel Digital GraphQL Schema',
2698
2905
 
2699
2906
  ### Alerts & Monitoring
2700
2907
  - alert - Query system alerts for device issues and rule violations
2908
+ - alertRule - Query alert rules (the conditions that trigger alerts)
2909
+
2910
+ ### Connector Data
2911
+ - connectorData - Fetch a normalized dataset from a registered connector data source (datasourceId + datasetId + params)
2701
2912
 
2702
2913
  ### Analytics (require date range)
2703
2914
  Aggregated metrics optimized for AI context windows:
@@ -2727,6 +2938,11 @@ Raw logs return too much data for AI context windows.
2727
2938
  - send_device_command - Send commands to a specific device
2728
2939
  - send_bulk_device_commands - Send commands to multiple devices at once
2729
2940
 
2941
+ ### Alert Rule Management
2942
+ - create_alert_rule - Create a new alert rule (conditions that trigger alerts)
2943
+ - update_alert_rule - Update an existing alert rule (partial update)
2944
+ - delete_alert_rule - Delete an alert rule
2945
+
2730
2946
  ### Group Management
2731
2947
  - create_device_group - Create a new device group (optional parentId for nesting)
2732
2948
  - create_media_group - Create a new media group (optional parentId for nesting)