@reveldigital/mcp-graphql-proxy 1.2.0 → 1.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.
@@ -2,15 +2,61 @@
2
2
  * GraphQL Query Builder for Revel Digital API
3
3
  * Helps agents construct optimized queries with proper field selection and filtering
4
4
  */
5
- declare const QUERY_OPERATIONS: Record<string, {
5
+ /**
6
+ * Argument definition for operation parameters
7
+ */
8
+ interface ArgumentDef {
9
+ type: string;
10
+ description: string;
11
+ required?: boolean;
12
+ }
13
+ /**
14
+ * Operation metadata including return type, filter type, and available arguments
15
+ */
16
+ interface OperationConfig {
6
17
  returnType: string;
7
18
  filterInputType: string;
8
19
  requiresDateRange: boolean;
9
- }>;
20
+ description: string;
21
+ arguments: Record<string, ArgumentDef>;
22
+ }
23
+ declare const QUERY_OPERATIONS: Record<string, OperationConfig>;
24
+ /**
25
+ * Arguments supported by content operations (device, media, etc.)
26
+ */
27
+ export interface ContentQueryArguments {
28
+ id?: string | string[];
29
+ groupId?: string | string[];
30
+ groupName?: string | string[];
31
+ orgId?: string;
32
+ limit?: number;
33
+ deviceTypeId?: string | string[];
34
+ includeSnap?: boolean;
35
+ tree?: boolean;
36
+ deviceId?: string | string[];
37
+ }
38
+ /**
39
+ * Arguments supported by analytics operations
40
+ */
41
+ export interface AnalyticsQueryArguments {
42
+ startDate: string;
43
+ endDate: string;
44
+ deviceId?: string | string[];
45
+ limit?: number;
46
+ fileId?: string | string[];
47
+ type?: number | number[];
48
+ minCpuUsage?: number;
49
+ minMemoryUsage?: number;
50
+ eventName?: string | string[];
51
+ sessionId?: string;
52
+ gender?: 'MALE' | 'FEMALE' | 'UNKNOWN';
53
+ minDwellTime?: number;
54
+ interval?: 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' | 'MONTH';
55
+ }
10
56
  export interface QueryBuilderOptions {
11
57
  operation: string;
12
58
  fields: string[];
13
- arguments?: Record<string, unknown>;
59
+ arguments?: ContentQueryArguments | AnalyticsQueryArguments | Record<string, unknown>;
14
60
  filter?: Record<string, unknown>;
15
61
  orderBy?: {
16
62
  field: string;
@@ -35,6 +81,10 @@ export declare class QueryBuilder {
35
81
  * Build filter input from simple object
36
82
  */
37
83
  private static buildFilterInput;
84
+ /**
85
+ * Argument type mappings based on GraphQL schema
86
+ */
87
+ private static readonly ARGUMENT_TYPES;
38
88
  /**
39
89
  * Infer GraphQL type from variable name and value
40
90
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,QAAA,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CAsBjH,CAAC;AAwCF,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,mBAAmB,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE;IA0EjG;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IA2BlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAgB/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAyB/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;IAIhC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI;IAIlF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAI1E;;OAEG;IACH,MAAM,CAAC,KAAK;QACV,kCAAkC;;mBAvLiB,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QA6L7F,8BAA8B;;mBA7LqB,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QAoM7F,iDAAiD;;mBApME,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QA2M7F,qDAAqD;;mBA3MF,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QAkN7F,uBAAuB;;mBAlN4B,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QA0N7F,2BAA2B;;mBA1NwB,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;QAiO7F,mCAAmC;8BACb,MAAM,WAAW,MAAM,aAAa,MAAM,EAAE;mBAlOf,MAAM;uBAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;MAuO7F;CACH"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../../src/core/query-builder.ts"],"names":[],"mappings":"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"}
@@ -2,31 +2,240 @@
2
2
  * GraphQL Query Builder for Revel Digital API
3
3
  * Helps agents construct optimized queries with proper field selection and filtering
4
4
  */
5
- // Available query operations and their return types
6
- // All operations support 'where: XxxFilterInput' argument for advanced filtering
7
- // Additionally, operations support parameter-based filtering (id, groupId, groupName, etc.)
8
- // See schema.graphql for full filter input types
5
+ // Available query operations with full metadata
6
+ // All operations support 'where: XxxFilterInput' and 'order: [XxxSortInput!]' for filtering/sorting
9
7
  const QUERY_OPERATIONS = {
10
- // Content Management - all support where filtering per schema.graphql
11
- device: { returnType: '[Device]', filterInputType: 'DeviceFilterInput', requiresDateRange: false },
12
- deviceGroups: { returnType: '[Group]', filterInputType: 'GroupFilterInput', requiresDateRange: false },
13
- media: { returnType: '[Media]', filterInputType: 'MediaFilterInput', requiresDateRange: false },
14
- mediaGroups: { returnType: '[Group]', filterInputType: 'GroupFilterInput', requiresDateRange: false },
15
- playlist: { returnType: '[Playlist]', filterInputType: 'PlaylistFilterInput', requiresDateRange: false },
16
- playlistGroups: { returnType: '[Group]', filterInputType: 'GroupFilterInput', requiresDateRange: false },
17
- schedule: { returnType: '[Schedule]', filterInputType: 'ScheduleFilterInput', requiresDateRange: false },
18
- scheduleGroups: { returnType: '[Group]', filterInputType: 'GroupFilterInput', requiresDateRange: false },
19
- template: { returnType: '[Template]', filterInputType: 'TemplateFilterInput', requiresDateRange: false },
20
- templateGroups: { returnType: '[Group]', filterInputType: 'GroupFilterInput', requiresDateRange: false },
21
- user: { returnType: '[User]', filterInputType: 'UserFilterInput', requiresDateRange: false },
22
- // Analytics (require date range) - all support where filtering per schema.graphql
23
- playLogs: { returnType: '[AdHawkPlayLog]', filterInputType: 'AdHawkPlayLogFilterInput', requiresDateRange: true },
24
- pingLogs: { returnType: '[AdHawkPingLog]', filterInputType: 'AdHawkPingLogFilterInput', requiresDateRange: true },
25
- eventLogs: { returnType: '[AdHawkEventLog]', filterInputType: 'AdHawkEventLogFilterInput', requiresDateRange: true },
26
- impressions: { returnType: '[AdHawkImpression]', filterInputType: 'AdHawkImpressionFilterInput', requiresDateRange: true },
27
- deviceMetrics: { returnType: '[AdHawkDeviceMetrics]', filterInputType: 'AdHawkDeviceMetricsFilterInput', requiresDateRange: true },
28
- audienceMetrics: { returnType: '[AdHawkAudienceMetrics]', filterInputType: 'AdHawkAudienceMetricsFilterInput', requiresDateRange: true },
29
- mediaPlayStats: { returnType: '[AdHawkMediaPlayStats]', filterInputType: 'AdHawkMediaPlayStatsFilterInput', requiresDateRange: true },
8
+ // Content Management Operations
9
+ device: {
10
+ returnType: '[Device]',
11
+ filterInputType: 'DeviceFilterInput',
12
+ requiresDateRange: false,
13
+ description: 'Query devices (media players) with status, location, and health data',
14
+ arguments: {
15
+ id: { type: '[String!]', description: 'Filter by device ID(s)' },
16
+ groupId: { type: '[String!]', description: 'Filter by group ID(s)' },
17
+ groupName: { type: '[String!]', description: 'Filter by group name(s)' },
18
+ deviceTypeId: { type: '[String!]', description: 'Filter by device type ID(s)' },
19
+ includeSnap: { type: 'Boolean', description: 'Include device snapshot data' },
20
+ orgId: { type: 'String', description: 'Filter by organization ID' },
21
+ limit: { type: 'Int', description: 'Maximum number of results' },
22
+ },
23
+ },
24
+ deviceGroups: {
25
+ returnType: '[Group]',
26
+ filterInputType: 'GroupFilterInput',
27
+ requiresDateRange: false,
28
+ description: 'Query device group hierarchy',
29
+ arguments: {
30
+ id: { type: 'String', description: 'Filter by group ID' },
31
+ tree: { type: 'Boolean', description: 'Return as hierarchical tree structure' },
32
+ limit: { type: 'Int', description: 'Maximum number of results' },
33
+ },
34
+ },
35
+ media: {
36
+ returnType: '[Media]',
37
+ filterInputType: 'MediaFilterInput',
38
+ requiresDateRange: false,
39
+ description: 'Query media files (images, videos, web content)',
40
+ arguments: {
41
+ id: { type: '[String!]', description: 'Filter by media ID(s)' },
42
+ groupId: { type: '[String!]', description: 'Filter by group ID(s)' },
43
+ groupName: { type: '[String!]', description: 'Filter by group name(s)' },
44
+ orgId: { type: 'String', description: 'Filter by organization ID' },
45
+ limit: { type: 'Int', description: 'Maximum number of results' },
46
+ },
47
+ },
48
+ mediaGroups: {
49
+ returnType: '[Group]',
50
+ filterInputType: 'GroupFilterInput',
51
+ requiresDateRange: false,
52
+ description: 'Query media group hierarchy',
53
+ arguments: {
54
+ id: { type: 'String', description: 'Filter by group ID' },
55
+ tree: { type: 'Boolean', description: 'Return as hierarchical tree structure' },
56
+ limit: { type: 'Int', description: 'Maximum number of results' },
57
+ },
58
+ },
59
+ playlist: {
60
+ returnType: '[Playlist]',
61
+ filterInputType: 'PlaylistFilterInput',
62
+ requiresDateRange: false,
63
+ description: 'Query playlists (ordered media collections)',
64
+ arguments: {
65
+ id: { type: '[String!]', description: 'Filter by playlist ID(s)' },
66
+ groupId: { type: '[String!]', description: 'Filter by group ID(s)' },
67
+ groupName: { type: '[String!]', description: 'Filter by group name(s)' },
68
+ orgId: { type: 'String', description: 'Filter by organization ID' },
69
+ limit: { type: 'Int', description: 'Maximum number of results' },
70
+ },
71
+ },
72
+ playlistGroups: {
73
+ returnType: '[Group]',
74
+ filterInputType: 'GroupFilterInput',
75
+ requiresDateRange: false,
76
+ description: 'Query playlist group hierarchy',
77
+ arguments: {
78
+ id: { type: 'String', description: 'Filter by group ID' },
79
+ tree: { type: 'Boolean', description: 'Return as hierarchical tree structure' },
80
+ limit: { type: 'Int', description: 'Maximum number of results' },
81
+ },
82
+ },
83
+ schedule: {
84
+ returnType: '[Schedule]',
85
+ filterInputType: 'ScheduleFilterInput',
86
+ requiresDateRange: false,
87
+ description: 'Query schedules (content timing rules for devices)',
88
+ arguments: {
89
+ id: { type: '[String!]', description: 'Filter by schedule ID(s)' },
90
+ groupId: { type: '[String!]', description: 'Filter by group ID(s)' },
91
+ groupName: { type: '[String!]', description: 'Filter by group name(s)' },
92
+ deviceId: { type: 'String', description: 'Filter by assigned device ID' },
93
+ orgId: { type: 'String', description: 'Filter by organization ID' },
94
+ limit: { type: 'Int', description: 'Maximum number of results' },
95
+ },
96
+ },
97
+ scheduleGroups: {
98
+ returnType: '[Group]',
99
+ filterInputType: 'GroupFilterInput',
100
+ requiresDateRange: false,
101
+ description: 'Query schedule group hierarchy',
102
+ arguments: {
103
+ id: { type: 'String', description: 'Filter by group ID' },
104
+ tree: { type: 'Boolean', description: 'Return as hierarchical tree structure' },
105
+ limit: { type: 'Int', description: 'Maximum number of results' },
106
+ },
107
+ },
108
+ template: {
109
+ returnType: '[Template]',
110
+ filterInputType: 'TemplateFilterInput',
111
+ requiresDateRange: false,
112
+ description: 'Query templates (visual layouts with zones)',
113
+ arguments: {
114
+ id: { type: '[String!]', description: 'Filter by template ID(s)' },
115
+ groupId: { type: '[String!]', description: 'Filter by group ID(s)' },
116
+ groupName: { type: '[String!]', description: 'Filter by group name(s)' },
117
+ orgId: { type: 'String', description: 'Filter by organization ID' },
118
+ limit: { type: 'Int', description: 'Maximum number of results' },
119
+ },
120
+ },
121
+ templateGroups: {
122
+ returnType: '[Group]',
123
+ filterInputType: 'GroupFilterInput',
124
+ requiresDateRange: false,
125
+ description: 'Query template group hierarchy',
126
+ arguments: {
127
+ id: { type: 'String', description: 'Filter by group ID' },
128
+ tree: { type: 'Boolean', description: 'Return as hierarchical tree structure' },
129
+ limit: { type: 'Int', description: 'Maximum number of results' },
130
+ },
131
+ },
132
+ user: {
133
+ returnType: '[User]',
134
+ filterInputType: 'UserFilterInput',
135
+ requiresDateRange: false,
136
+ description: 'Query account users',
137
+ arguments: {
138
+ id: { type: '[String!]', description: 'Filter by user ID(s)' },
139
+ limit: { type: 'Int', description: 'Maximum number of results' },
140
+ },
141
+ },
142
+ // Analytics Operations (require date range)
143
+ playLogs: {
144
+ returnType: '[AdHawkPlayLog]',
145
+ filterInputType: 'AdHawkPlayLogFilterInput',
146
+ requiresDateRange: true,
147
+ description: 'Query playback history - what content played when and where',
148
+ arguments: {
149
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
150
+ fileId: { type: '[String!]', description: 'Filter by file/media ID(s)' },
151
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
152
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
153
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
154
+ },
155
+ },
156
+ pingLogs: {
157
+ returnType: '[AdHawkPingLog]',
158
+ filterInputType: 'AdHawkPingLogFilterInput',
159
+ requiresDateRange: true,
160
+ description: 'Query device health logs - CPU, memory, disk usage over time',
161
+ arguments: {
162
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
163
+ type: { type: '[Int!]', description: 'Filter by ping type: 1=alive, 2=downloading, 4=playing' },
164
+ minCpuUsage: { type: 'Float', description: 'Filter by minimum CPU usage percentage' },
165
+ minMemoryUsage: { type: 'Float', description: 'Filter by minimum memory usage percentage' },
166
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
167
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
168
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
169
+ },
170
+ },
171
+ eventLogs: {
172
+ returnType: '[AdHawkEventLog]',
173
+ filterInputType: 'AdHawkEventLogFilterInput',
174
+ requiresDateRange: true,
175
+ description: 'Query custom events - user interactions, button clicks, etc.',
176
+ arguments: {
177
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
178
+ eventName: { type: '[String!]', description: 'Filter by event name(s)' },
179
+ sessionId: { type: 'String', description: 'Filter by session ID' },
180
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
181
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
182
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
183
+ },
184
+ },
185
+ impressions: {
186
+ returnType: '[AdHawkImpression]',
187
+ filterInputType: 'AdHawkImpressionFilterInput',
188
+ requiresDateRange: true,
189
+ description: 'Query audience detection data - motion, face detection, BLE, WiFi',
190
+ arguments: {
191
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
192
+ type: { type: '[Int!]', description: 'Filter by type: 8=motion, 64=audience, 128=ble, 256=wifi' },
193
+ gender: { type: 'AdHawkGender', description: 'Filter by gender: MALE, FEMALE, UNKNOWN' },
194
+ minDwellTime: { type: 'Long', description: 'Filter by minimum dwell time in milliseconds' },
195
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
196
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
197
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
198
+ },
199
+ },
200
+ deviceMetrics: {
201
+ returnType: '[AdHawkDeviceMetrics]',
202
+ filterInputType: 'AdHawkDeviceMetricsFilterInput',
203
+ requiresDateRange: true,
204
+ description: 'Query aggregated device health metrics over time',
205
+ arguments: {
206
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
207
+ interval: { type: 'AdHawkIntervalType!', description: 'Aggregation interval: MINUTE, HOUR, DAY, WEEK, MONTH (default: DAY)' },
208
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
209
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
210
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
211
+ },
212
+ },
213
+ audienceMetrics: {
214
+ returnType: '[AdHawkAudienceMetrics]',
215
+ filterInputType: 'AdHawkAudienceMetricsFilterInput',
216
+ requiresDateRange: true,
217
+ description: 'Query aggregated audience analytics - demographics, traffic patterns',
218
+ arguments: {
219
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
220
+ interval: { type: 'AdHawkIntervalType!', description: 'Aggregation interval: MINUTE, HOUR, DAY, WEEK, MONTH (default: DAY)' },
221
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
222
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
223
+ limit: { type: 'Int!', description: 'Max results (default: 1000, max: 10000)' },
224
+ },
225
+ },
226
+ mediaPlayStats: {
227
+ returnType: '[AdHawkMediaPlayStats]',
228
+ filterInputType: 'AdHawkMediaPlayStatsFilterInput',
229
+ requiresDateRange: true,
230
+ description: 'Query media play statistics - play counts and durations',
231
+ arguments: {
232
+ deviceId: { type: '[String!]', description: 'Filter by device ID(s)' },
233
+ fileId: { type: '[String!]', description: 'Filter by file/media ID(s)' },
234
+ startDate: { type: 'DateTime!', description: 'Start date (required)', required: true },
235
+ endDate: { type: 'DateTime!', description: 'End date (required)', required: true },
236
+ limit: { type: 'Int!', description: 'Max results (default: 100, max: 10000)' },
237
+ },
238
+ },
30
239
  };
31
240
  // Common field sets for quick selection
32
241
  const FIELD_PRESETS = {
@@ -81,15 +290,16 @@ export class QueryBuilder {
81
290
  if (options.preset && FIELD_PRESETS[operation]?.[options.preset]) {
82
291
  fields = FIELD_PRESETS[operation][options.preset];
83
292
  }
84
- // Validate date range requirement
85
- if (opConfig.requiresDateRange && (!args.startDate || !args.endDate)) {
293
+ // Validate date range requirement for analytics operations
294
+ const argsRecord = args;
295
+ if (opConfig.requiresDateRange && (!argsRecord.startDate || !argsRecord.endDate)) {
86
296
  throw new Error(`Operation ${operation} requires startDate and endDate arguments`);
87
297
  }
88
298
  // Build arguments
89
299
  const queryArgs = [];
90
300
  const variables = {};
91
- // Add direct arguments
92
- for (const [key, value] of Object.entries(args)) {
301
+ // Add direct arguments from options.arguments
302
+ for (const [key, value] of Object.entries(argsRecord)) {
93
303
  if (value !== undefined) {
94
304
  const varName = `$${key}`;
95
305
  queryArgs.push(`${key}: ${varName}`);
@@ -107,7 +317,7 @@ export class QueryBuilder {
107
317
  variables.order = [{ [orderBy.field]: orderBy.direction }];
108
318
  }
109
319
  // Add limit if not already in args
110
- if (limit && !args.limit) {
320
+ if (limit && !argsRecord.limit) {
111
321
  queryArgs.push('limit: $limit');
112
322
  variables.limit = limit;
113
323
  }
@@ -175,28 +385,67 @@ query ${this.capitalizeFirst(operation)}Query${varDefsStr} {
175
385
  }
176
386
  return result;
177
387
  }
388
+ /**
389
+ * Argument type mappings based on GraphQL schema
390
+ */
391
+ static ARGUMENT_TYPES = {
392
+ // Date/time arguments
393
+ startDate: 'DateTime!',
394
+ endDate: 'DateTime!',
395
+ // Limit arguments
396
+ limit: 'Int!',
397
+ // ID arguments (can be single or array)
398
+ id: (v) => Array.isArray(v) ? '[String!]' : 'String',
399
+ groupId: (v) => Array.isArray(v) ? '[String!]' : 'String',
400
+ deviceId: (v) => Array.isArray(v) ? '[String!]' : 'String',
401
+ fileId: (v) => Array.isArray(v) ? '[String!]' : 'String',
402
+ deviceTypeId: (v) => Array.isArray(v) ? '[String!]' : 'String',
403
+ // String arguments (can be single or array)
404
+ groupName: (v) => Array.isArray(v) ? '[String!]' : 'String',
405
+ eventName: (v) => Array.isArray(v) ? '[String!]' : 'String',
406
+ orgId: 'String',
407
+ sessionId: 'String',
408
+ // Boolean arguments
409
+ includeSnap: 'Boolean',
410
+ tree: 'Boolean',
411
+ // Numeric arguments
412
+ minCpuUsage: 'Float',
413
+ minMemoryUsage: 'Float',
414
+ minDwellTime: 'Long',
415
+ // Integer array arguments
416
+ type: (v) => Array.isArray(v) ? '[Int!]' : 'Int', // pingLogs type, impressions type
417
+ // Enum arguments
418
+ gender: 'AdHawkGender',
419
+ interval: 'AdHawkIntervalType!',
420
+ // Sort/filter arguments
421
+ order: '[SortInput!]',
422
+ };
178
423
  /**
179
424
  * Infer GraphQL type from variable name and value
180
425
  */
181
426
  static inferGraphQLType(name, value, operation) {
182
- // Special cases by name
183
- if (name === 'startDate' || name === 'endDate')
184
- return 'DateTime!';
185
- if (name === 'limit')
186
- return 'Int!';
427
+ // Check for 'where' filter input type
187
428
  if (name === 'where' && operation) {
188
- // Use the exact filter input type from schema.graphql
189
429
  const opConfig = QUERY_OPERATIONS[operation];
190
430
  return opConfig?.filterInputType ?? `${this.capitalizeFirst(operation)}FilterInput`;
191
431
  }
192
- if (name === 'order')
193
- return '[SortInput!]';
194
- if (name.endsWith('Id'))
432
+ // Check argument type mappings
433
+ const typeMapping = this.ARGUMENT_TYPES[name];
434
+ if (typeMapping) {
435
+ return typeof typeMapping === 'function' ? typeMapping(value) : typeMapping;
436
+ }
437
+ // Generic ID pattern
438
+ if (name.endsWith('Id')) {
195
439
  return Array.isArray(value) ? '[String!]' : 'String';
196
- // Infer from value
440
+ }
441
+ // Infer from value type
197
442
  if (Array.isArray(value)) {
198
- if (value.length > 0 && typeof value[0] === 'string')
199
- return '[String!]';
443
+ if (value.length > 0) {
444
+ if (typeof value[0] === 'string')
445
+ return '[String!]';
446
+ if (typeof value[0] === 'number')
447
+ return Number.isInteger(value[0]) ? '[Int!]' : '[Float!]';
448
+ }
200
449
  return '[String]';
201
450
  }
202
451
  if (typeof value === 'string')
@@ -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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"}
@@ -115,43 +115,94 @@ export declare const ExecuteQuerySchema: z.ZodObject<{
115
115
  }>;
116
116
  /**
117
117
  * Schema for build_query tool arguments
118
+ *
119
+ * Exposes all GraphQL query operations and their arguments for maximum flexibility.
120
+ * AI agents should use these arguments to minimize data returned.
118
121
  */
119
122
  export declare const BuildQuerySchema: z.ZodObject<{
120
- operation: z.ZodEnum<["device", "media", "schedule", "audienceMetrics", "playLogs"]>;
123
+ operation: z.ZodEnum<["device", "deviceGroups", "media", "mediaGroups", "playlist", "playlistGroups", "schedule", "scheduleGroups", "template", "templateGroups", "user", "playLogs", "pingLogs", "eventLogs", "impressions", "deviceMetrics", "audienceMetrics", "mediaPlayStats"]>;
121
124
  fields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
122
- preset: z.ZodOptional<z.ZodEnum<["basic", "detailed", "location", "metrics", "minimal"]>>;
123
- filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
124
- orderBy: z.ZodOptional<z.ZodString>;
125
- orderDirection: z.ZodOptional<z.ZodEnum<["ASC", "DESC"]>>;
125
+ preset: z.ZodOptional<z.ZodEnum<["minimal", "basic", "status", "location", "full"]>>;
126
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
127
+ groupId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
128
+ groupName: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
129
+ orgId: z.ZodOptional<z.ZodString>;
126
130
  limit: z.ZodOptional<z.ZodNumber>;
127
- offset: z.ZodOptional<z.ZodNumber>;
131
+ deviceTypeId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
132
+ includeSnap: z.ZodOptional<z.ZodBoolean>;
133
+ tree: z.ZodOptional<z.ZodBoolean>;
134
+ deviceId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
128
135
  startDate: z.ZodOptional<z.ZodString>;
129
136
  endDate: z.ZodOptional<z.ZodString>;
130
- deviceId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
137
+ fileId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
138
+ pingType: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">]>>;
139
+ minCpuUsage: z.ZodOptional<z.ZodNumber>;
140
+ minMemoryUsage: z.ZodOptional<z.ZodNumber>;
141
+ eventName: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
142
+ sessionId: z.ZodOptional<z.ZodString>;
143
+ impressionType: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">]>>;
144
+ gender: z.ZodOptional<z.ZodEnum<["MALE", "FEMALE", "UNKNOWN"]>>;
145
+ minDwellTime: z.ZodOptional<z.ZodNumber>;
146
+ interval: z.ZodOptional<z.ZodEnum<["MINUTE", "HOUR", "DAY", "WEEK", "MONTH"]>>;
147
+ filter: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
148
+ orderBy: z.ZodOptional<z.ZodString>;
149
+ orderDirection: z.ZodOptional<z.ZodEnum<["ASC", "DESC"]>>;
131
150
  }, "strip", z.ZodTypeAny, {
132
- operation: "device" | "media" | "schedule" | "audienceMetrics" | "playLogs";
151
+ operation: "device" | "deviceGroups" | "media" | "mediaGroups" | "playlist" | "playlistGroups" | "schedule" | "scheduleGroups" | "template" | "templateGroups" | "user" | "playLogs" | "pingLogs" | "eventLogs" | "impressions" | "deviceMetrics" | "audienceMetrics" | "mediaPlayStats";
133
152
  filter?: Record<string, unknown> | undefined;
134
153
  fields?: string[] | undefined;
135
- preset?: "basic" | "detailed" | "location" | "metrics" | "minimal" | undefined;
136
- orderBy?: string | undefined;
137
- orderDirection?: "ASC" | "DESC" | undefined;
154
+ preset?: "status" | "minimal" | "basic" | "location" | "full" | undefined;
155
+ id?: string | string[] | undefined;
156
+ groupId?: string | string[] | undefined;
157
+ groupName?: string | string[] | undefined;
158
+ orgId?: string | undefined;
138
159
  limit?: number | undefined;
139
- offset?: number | undefined;
160
+ deviceTypeId?: string | string[] | undefined;
161
+ includeSnap?: boolean | undefined;
162
+ tree?: boolean | undefined;
163
+ deviceId?: string | string[] | undefined;
140
164
  startDate?: string | undefined;
141
165
  endDate?: string | undefined;
142
- deviceId?: string | string[] | undefined;
166
+ fileId?: string | string[] | undefined;
167
+ pingType?: number | number[] | undefined;
168
+ minCpuUsage?: number | undefined;
169
+ minMemoryUsage?: number | undefined;
170
+ eventName?: string | string[] | undefined;
171
+ sessionId?: string | undefined;
172
+ impressionType?: number | number[] | undefined;
173
+ gender?: "MALE" | "FEMALE" | "UNKNOWN" | undefined;
174
+ minDwellTime?: number | undefined;
175
+ interval?: "MINUTE" | "HOUR" | "DAY" | "WEEK" | "MONTH" | undefined;
176
+ orderBy?: string | undefined;
177
+ orderDirection?: "ASC" | "DESC" | undefined;
143
178
  }, {
144
- operation: "device" | "media" | "schedule" | "audienceMetrics" | "playLogs";
179
+ operation: "device" | "deviceGroups" | "media" | "mediaGroups" | "playlist" | "playlistGroups" | "schedule" | "scheduleGroups" | "template" | "templateGroups" | "user" | "playLogs" | "pingLogs" | "eventLogs" | "impressions" | "deviceMetrics" | "audienceMetrics" | "mediaPlayStats";
145
180
  filter?: Record<string, unknown> | undefined;
146
181
  fields?: string[] | undefined;
147
- preset?: "basic" | "detailed" | "location" | "metrics" | "minimal" | undefined;
148
- orderBy?: string | undefined;
149
- orderDirection?: "ASC" | "DESC" | undefined;
182
+ preset?: "status" | "minimal" | "basic" | "location" | "full" | undefined;
183
+ id?: string | string[] | undefined;
184
+ groupId?: string | string[] | undefined;
185
+ groupName?: string | string[] | undefined;
186
+ orgId?: string | undefined;
150
187
  limit?: number | undefined;
151
- offset?: number | undefined;
188
+ deviceTypeId?: string | string[] | undefined;
189
+ includeSnap?: boolean | undefined;
190
+ tree?: boolean | undefined;
191
+ deviceId?: string | string[] | undefined;
152
192
  startDate?: string | undefined;
153
193
  endDate?: string | undefined;
154
- deviceId?: string | string[] | undefined;
194
+ fileId?: string | string[] | undefined;
195
+ pingType?: number | number[] | undefined;
196
+ minCpuUsage?: number | undefined;
197
+ minMemoryUsage?: number | undefined;
198
+ eventName?: string | string[] | undefined;
199
+ sessionId?: string | undefined;
200
+ impressionType?: number | number[] | undefined;
201
+ gender?: "MALE" | "FEMALE" | "UNKNOWN" | undefined;
202
+ minDwellTime?: number | undefined;
203
+ interval?: "MINUTE" | "HOUR" | "DAY" | "WEEK" | "MONTH" | undefined;
204
+ orderBy?: string | undefined;
205
+ orderDirection?: "ASC" | "DESC" | undefined;
155
206
  }>;
156
207
  /**
157
208
  * Schema for introspect_schema tool arguments
@@ -171,23 +222,29 @@ export declare const IntrospectSchemaSchema: z.ZodObject<{
171
222
  }>;
172
223
  /**
173
224
  * Schema for quick_query tool arguments
225
+ *
226
+ * Pre-built queries for common operations. Use these for efficiency
227
+ * before building custom queries with build_query.
174
228
  */
175
229
  export declare const QuickQuerySchema: z.ZodObject<{
176
- queryType: z.ZodEnum<["devices_status", "online_devices", "offline_devices", "recent_media", "active_schedules", "play_logs"]>;
177
- limit: z.ZodDefault<z.ZodNumber>;
230
+ queryType: z.ZodEnum<["devices_status", "online_devices", "offline_devices", "in_sync_devices", "out_of_sync_devices", "recent_media", "active_schedules", "play_logs"]>;
231
+ limit: z.ZodOptional<z.ZodNumber>;
178
232
  startDate: z.ZodOptional<z.ZodString>;
179
233
  endDate: z.ZodOptional<z.ZodString>;
234
+ deviceId: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
180
235
  authHeader: z.ZodOptional<z.ZodString>;
181
236
  }, "strip", z.ZodTypeAny, {
182
- limit: number;
183
- queryType: "devices_status" | "online_devices" | "offline_devices" | "recent_media" | "active_schedules" | "play_logs";
237
+ queryType: "devices_status" | "online_devices" | "offline_devices" | "in_sync_devices" | "out_of_sync_devices" | "recent_media" | "active_schedules" | "play_logs";
184
238
  authHeader?: string | undefined;
239
+ limit?: number | undefined;
240
+ deviceId?: string | string[] | undefined;
185
241
  startDate?: string | undefined;
186
242
  endDate?: string | undefined;
187
243
  }, {
188
- queryType: "devices_status" | "online_devices" | "offline_devices" | "recent_media" | "active_schedules" | "play_logs";
244
+ queryType: "devices_status" | "online_devices" | "offline_devices" | "in_sync_devices" | "out_of_sync_devices" | "recent_media" | "active_schedules" | "play_logs";
189
245
  authHeader?: string | undefined;
190
246
  limit?: number | undefined;
247
+ deviceId?: string | string[] | undefined;
191
248
  startDate?: string | undefined;
192
249
  endDate?: string | undefined;
193
250
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-proxy.d.ts","sourceRoot":"","sources":["../../src/types/graphql-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-proxy.d.ts","sourceRoot":"","sources":["../../src/types/graphql-proxy.ts"],"names":[],"mappings":"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"}
@@ -55,30 +55,86 @@ export const ExecuteQuerySchema = z.object({
55
55
  });
56
56
  /**
57
57
  * Schema for build_query tool arguments
58
+ *
59
+ * Exposes all GraphQL query operations and their arguments for maximum flexibility.
60
+ * AI agents should use these arguments to minimize data returned.
58
61
  */
59
62
  export const BuildQuerySchema = z.object({
60
- operation: z.enum(['device', 'media', 'schedule', 'audienceMetrics', 'playLogs'])
61
- .describe('The GraphQL operation type'),
63
+ // Operation selection - all available GraphQL queries
64
+ operation: z.enum([
65
+ // Content Management
66
+ 'device', 'deviceGroups', 'media', 'mediaGroups',
67
+ 'playlist', 'playlistGroups', 'schedule', 'scheduleGroups',
68
+ 'template', 'templateGroups', 'user',
69
+ // Analytics (require startDate/endDate)
70
+ 'playLogs', 'pingLogs', 'eventLogs', 'impressions',
71
+ 'deviceMetrics', 'audienceMetrics', 'mediaPlayStats',
72
+ ]).describe('The GraphQL operation/query to execute'),
73
+ // Field selection
62
74
  fields: z.array(z.string()).optional()
63
- .describe('Specific fields to include (defaults to preset)'),
64
- preset: z.enum(['basic', 'detailed', 'location', 'metrics', 'minimal']).optional()
65
- .describe('Field preset to use'),
75
+ .describe('Specific fields to include. Use introspect_schema to discover available fields.'),
76
+ preset: z.enum(['minimal', 'basic', 'status', 'location', 'full']).optional()
77
+ .describe('Field preset: minimal (id,name), basic (common fields), status (health data), location (geo data), full (all fields)'),
78
+ // Common arguments (supported by most operations)
79
+ id: z.union([z.string(), z.array(z.string())]).optional()
80
+ .describe('Filter by specific ID(s)'),
81
+ groupId: z.union([z.string(), z.array(z.string())]).optional()
82
+ .describe('Filter by group ID(s)'),
83
+ groupName: z.union([z.string(), z.array(z.string())]).optional()
84
+ .describe('Filter by group name(s)'),
85
+ orgId: z.string().optional()
86
+ .describe('Filter by organization ID'),
87
+ limit: z.number().min(1).max(10000).optional()
88
+ .describe('Maximum number of results (analytics default: 1000, max: 10000)'),
89
+ // Device-specific arguments
90
+ deviceTypeId: z.union([z.string(), z.array(z.string())]).optional()
91
+ .describe('[device only] Filter by device type ID(s)'),
92
+ includeSnap: z.boolean().optional()
93
+ .describe('[device only] Include device snapshot data'),
94
+ // Group-specific arguments
95
+ tree: z.boolean().optional()
96
+ .describe('[*Groups only] Return groups as hierarchical tree structure'),
97
+ // Schedule-specific arguments
98
+ deviceId: z.union([z.string(), z.array(z.string())]).optional()
99
+ .describe('Filter by device ID(s) - used by schedule, analytics operations'),
100
+ // Analytics date range (REQUIRED for analytics operations)
101
+ startDate: z.string().optional()
102
+ .describe('[analytics REQUIRED] Start date in ISO 8601 format (e.g., "2024-01-01")'),
103
+ endDate: z.string().optional()
104
+ .describe('[analytics REQUIRED] End date in ISO 8601 format (e.g., "2024-01-31")'),
105
+ // playLogs arguments
106
+ fileId: z.union([z.string(), z.array(z.string())]).optional()
107
+ .describe('[playLogs, mediaPlayStats] Filter by file/media ID(s)'),
108
+ // pingLogs arguments
109
+ pingType: z.union([z.number(), z.array(z.number())]).optional()
110
+ .describe('[pingLogs] Filter by ping type: 1=alive, 2=downloading, 4=playing'),
111
+ minCpuUsage: z.number().min(0).max(100).optional()
112
+ .describe('[pingLogs] Filter devices with CPU usage >= this percentage'),
113
+ minMemoryUsage: z.number().min(0).max(100).optional()
114
+ .describe('[pingLogs] Filter devices with memory usage >= this percentage'),
115
+ // eventLogs arguments
116
+ eventName: z.union([z.string(), z.array(z.string())]).optional()
117
+ .describe('[eventLogs] Filter by event name(s)'),
118
+ sessionId: z.string().optional()
119
+ .describe('[eventLogs] Filter by session ID'),
120
+ // impressions arguments
121
+ impressionType: z.union([z.number(), z.array(z.number())]).optional()
122
+ .describe('[impressions] Filter by type: 8=motion, 64=audience, 128=ble, 256=wifi'),
123
+ gender: z.enum(['MALE', 'FEMALE', 'UNKNOWN']).optional()
124
+ .describe('[impressions] Filter by detected gender'),
125
+ minDwellTime: z.number().optional()
126
+ .describe('[impressions] Filter by minimum dwell time in milliseconds'),
127
+ // deviceMetrics/audienceMetrics arguments
128
+ interval: z.enum(['MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH']).optional()
129
+ .describe('[deviceMetrics, audienceMetrics] Time interval for aggregation (default: DAY)'),
130
+ // Advanced filtering via where clause
66
131
  filter: z.record(z.unknown()).optional()
67
- .describe('Filter conditions'),
132
+ .describe('Advanced filter conditions using operators: eq, neq, contains, startsWith, endsWith, in, gt, gte, lt, lte'),
133
+ // Sorting
68
134
  orderBy: z.string().optional()
69
135
  .describe('Field to order results by'),
70
136
  orderDirection: z.enum(['ASC', 'DESC']).optional()
71
- .describe('Order direction'),
72
- limit: z.number().min(1).max(1000).optional()
73
- .describe('Maximum number of results'),
74
- offset: z.number().min(0).optional()
75
- .describe('Results offset for pagination'),
76
- startDate: z.string().optional()
77
- .describe('Start date for date-range queries (ISO 8601)'),
78
- endDate: z.string().optional()
79
- .describe('End date for date-range queries (ISO 8601)'),
80
- deviceId: z.union([z.string(), z.array(z.string())]).optional()
81
- .describe('Device ID(s) for device-specific queries'),
137
+ .describe('Order direction: ASC (ascending) or DESC (descending)'),
82
138
  });
83
139
  /**
84
140
  * Schema for introspect_schema tool arguments
@@ -93,22 +149,29 @@ export const IntrospectSchemaSchema = z.object({
93
149
  });
94
150
  /**
95
151
  * Schema for quick_query tool arguments
152
+ *
153
+ * Pre-built queries for common operations. Use these for efficiency
154
+ * before building custom queries with build_query.
96
155
  */
97
156
  export const QuickQuerySchema = z.object({
98
157
  queryType: z.enum([
99
- 'devices_status',
100
- 'online_devices',
101
- 'offline_devices',
102
- 'recent_media',
103
- 'active_schedules',
104
- 'play_logs',
105
- ]).describe('Pre-built query type'),
106
- limit: z.number().min(1).max(500).default(100)
158
+ 'devices_status', // All devices with health/ping data
159
+ 'online_devices', // Currently connected devices
160
+ 'offline_devices', // Currently disconnected devices
161
+ 'in_sync_devices', // Devices with synced content
162
+ 'out_of_sync_devices', // Devices needing content updates
163
+ 'recent_media', // Recently uploaded media files
164
+ 'active_schedules', // Currently active schedules
165
+ 'play_logs', // Playback history (requires startDate, endDate)
166
+ ]).describe('Pre-built query type for common operations'),
167
+ limit: z.number().min(1).max(10000).optional()
107
168
  .describe('Maximum results to return'),
108
169
  startDate: z.string().optional()
109
- .describe('Start date for time-based queries'),
170
+ .describe('[play_logs REQUIRED] Start date in ISO 8601 format'),
110
171
  endDate: z.string().optional()
111
- .describe('End date for time-based queries'),
172
+ .describe('[play_logs REQUIRED] End date in ISO 8601 format'),
173
+ deviceId: z.union([z.string(), z.array(z.string())]).optional()
174
+ .describe('[play_logs] Filter by specific device ID(s)'),
112
175
  authHeader: z.string().optional()
113
176
  .describe('Optional auth header override'),
114
177
  });
@@ -1 +1 @@
1
- {"version":3,"file":"graphql-proxy.js","sourceRoot":"","sources":["../../src/types/graphql-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql-proxy.js","sourceRoot":"","sources":["../../src/types/graphql-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reveldigital/mcp-graphql-proxy",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "MCP Server for proxying GraphQL queries to Revel Digital API with authentication, query optimization, and context window management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -482,17 +482,17 @@ type Playlist {
482
482
  }
483
483
 
484
484
  type Query @authorize {
485
- device(id: [String!] groupId: [String!] groupName: [String!] deviceTypeId: [String!] includeSnap: Boolean orgId: String where: DeviceFilterInput @cost(weight: "10") order: [DeviceSortInput!] @cost(weight: "10")): [Device] @authorize(policy: "Devices_View") @cost(weight: "10")
486
- deviceGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Devices_View") @cost(weight: "10")
487
- media(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: MediaFilterInput @cost(weight: "10") order: [MediaSortInput!] @cost(weight: "10")): [Media] @authorize(policy: "Files_View") @cost(weight: "10")
488
- mediaGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Files_View") @cost(weight: "10")
489
- playlist(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: PlaylistFilterInput @cost(weight: "10") order: [PlaylistSortInput!] @cost(weight: "10")): [Playlist] @authorize(policy: "Playlists_View") @cost(weight: "10")
490
- playlistGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Playlists_View") @cost(weight: "10")
491
- schedule(id: [String!] groupId: [String!] groupName: [String!] deviceId: String orgId: String where: ScheduleFilterInput @cost(weight: "10") order: [ScheduleSortInput!] @cost(weight: "10")): [Schedule] @authorize(policy: "Schedules_View") @cost(weight: "10")
492
- scheduleGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Schedules_View") @cost(weight: "10")
493
- template(id: [String!] groupId: [String!] groupName: [String!] orgId: String where: TemplateFilterInput @cost(weight: "10") order: [TemplateSortInput!] @cost(weight: "10")): [Template] @authorize(policy: "Templates_View") @cost(weight: "10")
494
- templateGroups(id: String tree: Boolean where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Templates_View") @cost(weight: "10")
495
- user(id: [String!] where: UserFilterInput @cost(weight: "10") order: [UserSortInput!] @cost(weight: "10")): [User] @authorize(policy: "Account_ManageUsers_View") @cost(weight: "10")
485
+ device(id: [String!] groupId: [String!] groupName: [String!] deviceTypeId: [String!] includeSnap: Boolean orgId: String limit: Int where: DeviceFilterInput @cost(weight: "10") order: [DeviceSortInput!] @cost(weight: "10")): [Device] @authorize(policy: "Devices_View") @cost(weight: "10")
486
+ deviceGroups(id: String tree: Boolean limit: Int where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Devices_View") @cost(weight: "10")
487
+ media(id: [String!] groupId: [String!] groupName: [String!] orgId: String limit: Int where: MediaFilterInput @cost(weight: "10") order: [MediaSortInput!] @cost(weight: "10")): [Media] @authorize(policy: "Files_View") @cost(weight: "10")
488
+ mediaGroups(id: String tree: Boolean limit: Int where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Files_View") @cost(weight: "10")
489
+ playlist(id: [String!] groupId: [String!] groupName: [String!] orgId: String limit: Int where: PlaylistFilterInput @cost(weight: "10") order: [PlaylistSortInput!] @cost(weight: "10")): [Playlist] @authorize(policy: "Playlists_View") @cost(weight: "10")
490
+ playlistGroups(id: String tree: Boolean limit: Int where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Playlists_View") @cost(weight: "10")
491
+ schedule(id: [String!] groupId: [String!] groupName: [String!] deviceId: String orgId: String limit: Int where: ScheduleFilterInput @cost(weight: "10") order: [ScheduleSortInput!] @cost(weight: "10")): [Schedule] @authorize(policy: "Schedules_View") @cost(weight: "10")
492
+ scheduleGroups(id: String tree: Boolean limit: Int where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Schedules_View") @cost(weight: "10")
493
+ template(id: [String!] groupId: [String!] groupName: [String!] orgId: String limit: Int where: TemplateFilterInput @cost(weight: "10") order: [TemplateSortInput!] @cost(weight: "10")): [Template] @authorize(policy: "Templates_View") @cost(weight: "10")
494
+ templateGroups(id: String tree: Boolean limit: Int where: GroupFilterInput @cost(weight: "10") order: [GroupSortInput!] @cost(weight: "10")): [Group] @authorize(policy: "Templates_View") @cost(weight: "10")
495
+ user(id: [String!] limit: Int where: UserFilterInput @cost(weight: "10") order: [UserSortInput!] @cost(weight: "10")): [User] @authorize(policy: "Account_ManageUsers_View") @cost(weight: "10")
496
496
  """
497
497
  Get play logs - records of when media content was played on devices.
498
498
  Useful for tracking content playback history and calculating media impressions.