@reveldigital/mcp-graphql-proxy 2.1.0 → 2.2.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.
@@ -779,6 +779,60 @@ type Mutation {
779
779
  """
780
780
  reorderPlaylistSources(input: ReorderPlaylistSourcesInput): PlaylistMutationResult
781
781
  @cost(weight: "10")
782
+ """
783
+ Update a template's properties (name, tags, dimensions, colors, etc.).
784
+ Example: AI adjusts template dimensions to optimize for a new display resolution.
785
+ """
786
+ updateTemplate(input: UpdateTemplateInput): TemplateMutationResult
787
+ @cost(weight: "10")
788
+ """
789
+ Add a new module to a template.
790
+ Example: AI adds a new weather module to show real-time conditions in the corner.
791
+ """
792
+ addTemplateModule(input: AddTemplateModuleInput): ModuleMutationResult
793
+ @cost(weight: "10")
794
+ """
795
+ Update a module within a template.
796
+ Example: AI repositions a module based on engagement analytics, or changes the assigned playlist.
797
+ """
798
+ updateTemplateModule(input: UpdateTemplateModuleInput): ModuleMutationResult
799
+ @cost(weight: "10")
800
+ """
801
+ Remove a module from a template.
802
+ Example: AI removes an underperforming ad module to optimize content flow.
803
+ """
804
+ removeTemplateModule(input: RemoveTemplateModuleInput): ModuleMutationResult
805
+ @cost(weight: "10")
806
+ """
807
+ Reorder modules within a template by updating their sequence/z-order.
808
+ Example: AI reorders modules to bring important content to the front based on viewer engagement.
809
+ """
810
+ reorderTemplateModules(input: ReorderTemplateModulesInput): TemplateMutationResult
811
+ @cost(weight: "10")
812
+ """
813
+ Batch update multiple modules in a template at once.
814
+ Example: AI repositions all modules to create a new layout optimized for viewer attention.
815
+ """
816
+ batchUpdateTemplateModules(input: BatchUpdateTemplateModulesInput): BatchModuleMutationResult
817
+ @cost(weight: "10")
818
+ """
819
+ Set all options for a module (replaces existing options).
820
+ Example: AI configures a weather module with location, units, and API key settings.
821
+ """
822
+ setModuleOptions(input: SetModuleOptionsInput): ModuleMutationResult
823
+ @cost(weight: "10")
824
+ """
825
+ Add or update a single module option.
826
+ Example: AI updates the refresh interval for a web module.
827
+ """
828
+ upsertModuleOption(input: UpsertModuleOptionInput): ModuleOptionMutationResult
829
+ @cost(weight: "10")
830
+ """
831
+ Remove a module option by name.
832
+ Example: AI removes an outdated configuration setting from a module.
833
+ """
834
+ removeModuleOption(input: RemoveModuleOptionInput): ModuleOptionMutationResult
835
+ @cost(weight: "10")
782
836
  }
783
837
 
784
838
  "Aggregated audience metrics for a device over a time period"
@@ -1299,6 +1353,18 @@ type BatchDeleteDataTableRowsResult {
1299
1353
  error: String
1300
1354
  }
1301
1355
 
1356
+ "Result from batch updating multiple modules."
1357
+ type BatchModuleMutationResult {
1358
+ "Total number of modules attempted."
1359
+ totalModules: Int!
1360
+ "Number of successful updates."
1361
+ successCount: Int!
1362
+ "Number of failed updates."
1363
+ failureCount: Int!
1364
+ "Per-module results."
1365
+ results: [ModuleMutationResult]
1366
+ }
1367
+
1302
1368
  type BatchRowResultModel {
1303
1369
  rowId: String
1304
1370
  success: Boolean!
@@ -1760,28 +1826,73 @@ type Media {
1760
1826
  }
1761
1827
 
1762
1828
  """
1763
- Represents a module (zone/region) within a template layout.
1764
- Modules define rectangular areas on screen where content from playlists is displayed.
1829
+ Represents a module (also called a zone or region) within a template layout.
1830
+ Modules/zones define rectangular areas on screen where content from playlists is displayed.
1831
+ The terms "module" and "zone" are used interchangeably throughout the API.
1765
1832
  """
1766
1833
  type Module {
1767
- "Module id"
1834
+ "Module/zone unique identifier"
1768
1835
  id: String
1769
- "Module name"
1836
+ "Module/zone name"
1770
1837
  name: String
1771
- "Module type"
1838
+ "Module/zone type (e.g., 'Playlist', 'Clock', 'Weather', 'Ticker', 'Web')"
1772
1839
  type: String
1773
- "Left position"
1840
+ "Left position in pixels from the top-left corner of the template"
1774
1841
  left: Int
1775
- "Top position"
1842
+ "Top position in pixels from the top-left corner of the template"
1776
1843
  top: Int
1777
- "Width"
1844
+ "Width of the module/zone in pixels"
1778
1845
  width: Int
1779
- "Height"
1846
+ "Height of the module/zone in pixels"
1780
1847
  height: Int
1781
- "Playlist assigned to this module"
1848
+ """
1849
+ Playlist ID assigned to this module/zone.
1850
+ Determines what content is displayed in this area of the screen.
1851
+ """
1782
1852
  playlistId: String
1783
- "Sequence or Z-Order"
1853
+ """
1854
+ Sequence or Z-order for overlapping modules/zones.
1855
+ Higher values appear in front of lower values.
1856
+ """
1784
1857
  sequence: Int
1858
+ """
1859
+ Module/zone configuration options (key-value pairs).
1860
+ Used to store type-specific settings like timezone for Clock zones, location for Weather zones, etc.
1861
+ """
1862
+ options: [ModuleOption]
1863
+ }
1864
+
1865
+ "Result from a module mutation within a template."
1866
+ type ModuleMutationResult {
1867
+ "Whether the operation was successful."
1868
+ success: Boolean!
1869
+ "The created or updated module."
1870
+ module: Module
1871
+ "Error message if the operation failed."
1872
+ error: String
1873
+ }
1874
+
1875
+ """
1876
+ Represents a configuration option for a module/zone (key-value pair).
1877
+ Module/zone options store settings specific to each module/zone type.
1878
+ """
1879
+ type ModuleOption {
1880
+ "Module/zone option unique identifier"
1881
+ id: String
1882
+ "Option name/key (e.g., 'timezone', 'location', 'refresh_interval')"
1883
+ name: String
1884
+ "Option value (stored as string, parse as needed for the specific option)"
1885
+ value: String
1886
+ }
1887
+
1888
+ "Result from a module option mutation."
1889
+ type ModuleOptionMutationResult {
1890
+ "Whether the operation was successful."
1891
+ success: Boolean!
1892
+ "The created or updated module option."
1893
+ option: ModuleOption
1894
+ "Error message if the operation failed."
1895
+ error: String
1785
1896
  }
1786
1897
 
1787
1898
  """
@@ -2126,12 +2237,26 @@ type Template {
2126
2237
  width: Int
2127
2238
  "Height"
2128
2239
  height: Int
2129
- "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
2240
+ "Display orientation: Landscape, Portrait, Landscape Reversed, or Portrait Reversed"
2130
2241
  orientation: Int
2131
- "Modules or zones"
2242
+ """
2243
+ Collection of modules/zones that define content areas within this template.
2244
+ Each module/zone represents a rectangular region where content from a playlist is displayed.
2245
+ The terms "module" and "zone" are used interchangeably.
2246
+ """
2132
2247
  modules: [Module]
2133
2248
  }
2134
2249
 
2250
+ "Result from a template mutation."
2251
+ type TemplateMutationResult {
2252
+ "Whether the operation was successful."
2253
+ success: Boolean!
2254
+ "The updated template."
2255
+ template: Template
2256
+ "Error message if the operation failed."
2257
+ error: String
2258
+ }
2259
+
2135
2260
  "Result from updating media metadata."
2136
2261
  type UpdateMediaResult {
2137
2262
  "Whether the operation was successful."
@@ -2211,6 +2336,14 @@ input AddPlaylistSourceInput {
2211
2336
  position: Int
2212
2337
  }
2213
2338
 
2339
+ "Input for adding a module to a template."
2340
+ input AddTemplateModuleInput {
2341
+ "The template ID to add the module to."
2342
+ templateId: String
2343
+ "The module to add."
2344
+ module: ModuleInput
2345
+ }
2346
+
2214
2347
  "Aggregated audience metrics for a device over a time period"
2215
2348
  input AdHawkAudienceMetricsFilterInput {
2216
2349
  and: [AdHawkAudienceMetricsFilterInput!]
@@ -3262,6 +3395,14 @@ input BatchDeleteDataTableRowsInput {
3262
3395
  rowIds: [String]
3263
3396
  }
3264
3397
 
3398
+ "Input for batch updating multiple modules in a template."
3399
+ input BatchUpdateTemplateModulesInput {
3400
+ "The template ID."
3401
+ templateId: String
3402
+ "List of module updates to apply."
3403
+ modules: [UpdateTemplateModuleInput]
3404
+ }
3405
+
3265
3406
  """
3266
3407
  Represents Bluetooth Low Energy (BLE) beacon configuration for a device.
3267
3408
  Beacons enable proximity-based interactions, allowing mobile devices to detect nearby digital signage
@@ -3956,6 +4097,13 @@ input ListFilterInputTypeOfModuleFilterInput {
3956
4097
  any: Boolean @cost(weight: "10")
3957
4098
  }
3958
4099
 
4100
+ input ListFilterInputTypeOfModuleOptionFilterInput {
4101
+ all: ModuleOptionFilterInput @cost(weight: "10")
4102
+ none: ModuleOptionFilterInput @cost(weight: "10")
4103
+ some: ModuleOptionFilterInput @cost(weight: "10")
4104
+ any: Boolean @cost(weight: "10")
4105
+ }
4106
+
3959
4107
  input ListFilterInputTypeOfScheduleDeviceFilterInput {
3960
4108
  all: ScheduleDeviceFilterInput @cost(weight: "10")
3961
4109
  none: ScheduleDeviceFilterInput @cost(weight: "10")
@@ -4148,30 +4296,96 @@ input MediaSortInput {
4148
4296
  }
4149
4297
 
4150
4298
  """
4151
- Represents a module (zone/region) within a template layout.
4152
- Modules define rectangular areas on screen where content from playlists is displayed.
4299
+ Represents a module (also called a zone or region) within a template layout.
4300
+ Modules/zones define rectangular areas on screen where content from playlists is displayed.
4301
+ The terms "module" and "zone" are used interchangeably throughout the API.
4153
4302
  """
4154
4303
  input ModuleFilterInput {
4155
4304
  and: [ModuleFilterInput!]
4156
4305
  or: [ModuleFilterInput!]
4157
- "Module id"
4306
+ "Module/zone unique identifier"
4158
4307
  id: StringOperationFilterInput
4159
- "Module name"
4308
+ "Module/zone name"
4160
4309
  name: StringOperationFilterInput
4161
- "Module type"
4310
+ "Module/zone type (e.g., 'Playlist', 'Clock', 'Weather', 'Ticker', 'Web')"
4162
4311
  type: StringOperationFilterInput
4163
- "Left position"
4312
+ "Left position in pixels from the top-left corner of the template"
4164
4313
  left: IntOperationFilterInput
4165
- "Top position"
4314
+ "Top position in pixels from the top-left corner of the template"
4166
4315
  top: IntOperationFilterInput
4167
- "Width"
4316
+ "Width of the module/zone in pixels"
4168
4317
  width: IntOperationFilterInput
4169
- "Height"
4318
+ "Height of the module/zone in pixels"
4170
4319
  height: IntOperationFilterInput
4171
- "Playlist assigned to this module"
4320
+ """
4321
+ Playlist ID assigned to this module/zone.
4322
+ Determines what content is displayed in this area of the screen.
4323
+ """
4172
4324
  playlistId: StringOperationFilterInput
4173
- "Sequence or Z-Order"
4325
+ """
4326
+ Sequence or Z-order for overlapping modules/zones.
4327
+ Higher values appear in front of lower values.
4328
+ """
4174
4329
  sequence: IntOperationFilterInput
4330
+ """
4331
+ Module/zone configuration options (key-value pairs).
4332
+ Used to store type-specific settings like timezone for Clock zones, location for Weather zones, etc.
4333
+ """
4334
+ options: ListFilterInputTypeOfModuleOptionFilterInput
4335
+ }
4336
+
4337
+ "Input for a module within a template - used when adding modules."
4338
+ input ModuleInput {
4339
+ "Module name."
4340
+ name: String
4341
+ "Module type (e.g., 'Playlist', 'Clock', 'Weather', 'Ticker', 'Web')."
4342
+ type: String
4343
+ "Left position in pixels."
4344
+ left: Int
4345
+ "Top position in pixels."
4346
+ top: Int
4347
+ "Width in pixels."
4348
+ width: Int
4349
+ "Height in pixels."
4350
+ height: Int
4351
+ "Playlist ID assigned to this module."
4352
+ playlistId: String
4353
+ "Z-order/sequence for overlapping modules."
4354
+ sequence: Int
4355
+ }
4356
+
4357
+ """
4358
+ Represents a configuration option for a module/zone (key-value pair).
4359
+ Module/zone options store settings specific to each module/zone type.
4360
+ """
4361
+ input ModuleOptionFilterInput {
4362
+ and: [ModuleOptionFilterInput!]
4363
+ or: [ModuleOptionFilterInput!]
4364
+ "Module/zone option unique identifier"
4365
+ id: StringOperationFilterInput
4366
+ "Option name/key (e.g., 'timezone', 'location', 'refresh_interval')"
4367
+ name: StringOperationFilterInput
4368
+ "Option value (stored as string, parse as needed for the specific option)"
4369
+ value: StringOperationFilterInput
4370
+ }
4371
+
4372
+ """
4373
+ Request model for creating or updating a module/zone option.
4374
+ Used to set configuration values for specific module/zone types.
4375
+ """
4376
+ input ModuleOptionRequestInput {
4377
+ "Option name/key (e.g., 'timezone', 'location', 'url')"
4378
+ name: String
4379
+ "Option value (string representation that will be parsed based on the option type)"
4380
+ value: String
4381
+ }
4382
+
4383
+ "Represents a module ID and its new sequence number for reordering."
4384
+ input ModuleSequenceInput {
4385
+ "The module ID."
4386
+ moduleId: String
4387
+ "The new sequence/z-order value."
4388
+ sequence: Int!
4175
4389
  }
4176
4390
 
4177
4391
  input NullableOfAdHawkAgeRangeOperationFilterInput {
@@ -4401,6 +4615,24 @@ input PlaylistTypeOperationFilterInput {
4401
4615
  nin: [PlaylistType!] @cost(weight: "10")
4402
4616
  }
4403
4617
 
4618
+ "Input for removing a module option by name."
4619
+ input RemoveModuleOptionInput {
4620
+ "The template ID."
4621
+ templateId: String
4622
+ "The module ID."
4623
+ moduleId: String
4624
+ "The option name to remove."
4625
+ optionName: String
4626
+ }
4627
+
4628
+ "Input for removing a module from a template."
4629
+ input RemoveTemplateModuleInput {
4630
+ "The template ID containing the module."
4631
+ templateId: String
4632
+ "The module ID to remove."
4633
+ moduleId: String
4634
+ }
4635
+
4404
4636
  "Input for reordering rows in a data table."
4405
4637
  input ReorderDataTableRowsInput {
4406
4638
  "The table ID containing the rows."
@@ -4417,6 +4649,14 @@ input ReorderPlaylistSourcesInput {
4417
4649
  sourceIds: [String]
4418
4650
  }
4419
4651
 
4652
+ "Input for reordering modules within a template."
4653
+ input ReorderTemplateModulesInput {
4654
+ "The template ID."
4655
+ templateId: String
4656
+ "List of module IDs with their new sequence numbers."
4657
+ moduleSequences: [ModuleSequenceInput]
4658
+ }
4659
+
4420
4660
  "Input for rolling back a row to a previous version."
4421
4661
  input RollbackDataTableRowInput {
4422
4662
  "The table ID containing the row."
@@ -4647,6 +4887,16 @@ input ScheduleTypeOperationFilterInput {
4647
4887
  nin: [ScheduleType!] @cost(weight: "10")
4648
4888
  }
4649
4889
 
4890
+ "Input for setting all options for a module (replaces existing)."
4891
+ input SetModuleOptionsInput {
4892
+ "The template ID."
4893
+ templateId: String
4894
+ "The module ID."
4895
+ moduleId: String
4896
+ "List of options to set (replaces all existing options)."
4897
+ options: [ModuleOptionRequestInput]
4898
+ }
4899
+
4650
4900
  """
4651
4901
  Represents a content item within a playlist. A source defines what content to display
4652
4902
  and for how long. Sources can reference media files, templates, embedded playlists, URLs, or other content types.
@@ -4764,9 +5014,13 @@ input TemplateFilterInput {
4764
5014
  width: IntOperationFilterInput
4765
5015
  "Height"
4766
5016
  height: IntOperationFilterInput
4767
- "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
5017
+ "Display orientation: Landscape, Portrait, Landscape Reversed, or Portrait Reversed"
4768
5018
  orientation: IntOperationFilterInput
4769
- "Modules or zones"
5019
+ """
5020
+ Collection of modules/zones that define content areas within this template.
5021
+ Each module/zone represents a rectangular region where content from a playlist is displayed.
5022
+ The terms "module" and "zone" are used interchangeably.
5023
+ """
4770
5024
  modules: ListFilterInputTypeOfModuleFilterInput
4771
5025
  }
4772
5026
 
@@ -4801,7 +5055,7 @@ input TemplateSortInput {
4801
5055
  width: SortEnumType @cost(weight: "10")
4802
5056
  "Height"
4803
5057
  height: SortEnumType @cost(weight: "10")
4804
- "Orientation (Landscape, Portrait, Landscape Reversed, Portrait Reversed)"
5058
+ "Display orientation: Landscape, Portrait, Landscape Reversed, or Portrait Reversed"
4805
5059
  orientation: SortEnumType @cost(weight: "10")
4806
5060
  }
4807
5061
 
@@ -4889,6 +5143,62 @@ input UpdatePlaylistSourceInput {
4889
5143
  source: SourceInput
4890
5144
  }
4891
5145
 
5146
+ "Input for updating a template's properties."
5147
+ input UpdateTemplateInput {
5148
+ "The template ID to update."
5149
+ templateId: String
5150
+ "Template name."
5151
+ name: String
5152
+ "Group ID to assign the template to."
5153
+ groupId: String
5154
+ "Tags (newline-delimited values stored in Description field)."
5155
+ tags: String
5156
+ "Template script for custom logic."
5157
+ script: String
5158
+ "Background color (e.g., '#000000')."
5159
+ backColor: String
5160
+ "Template width in pixels."
5161
+ width: Int
5162
+ "Template height in pixels."
5163
+ height: Int
5164
+ "Display orientation (0=Landscape, 1=Portrait, 2=Landscape Reversed, 3=Portrait Reversed)."
5165
+ orientation: Int
5166
+ }
5167
+
5168
+ "Input for updating an existing module within a template."
5169
+ input UpdateTemplateModuleInput {
5170
+ "The template ID containing the module."
5171
+ templateId: String
5172
+ "The module ID to update."
5173
+ moduleId: String
5174
+ "Module name."
5175
+ name: String
5176
+ "Module type."
5177
+ type: String
5178
+ "Left position in pixels."
5179
+ left: Int
5180
+ "Top position in pixels."
5181
+ top: Int
5182
+ "Width in pixels."
5183
+ width: Int
5184
+ "Height in pixels."
5185
+ height: Int
5186
+ "Playlist ID assigned to this module."
5187
+ playlistId: String
5188
+ "Z-order/sequence."
5189
+ sequence: Int
5190
+ }
5191
+
5192
+ "Input for upserting (create or update) a single module option."
5193
+ input UpsertModuleOptionInput {
5194
+ "The template ID."
5195
+ templateId: String
5196
+ "The module ID."
5197
+ moduleId: String
5198
+ "The option to create or update (matched by name)."
5199
+ option: ModuleOptionRequestInput
5200
+ }
5201
+
4892
5202
  "User model"
4893
5203
  input UserFilterInput {
4894
5204
  and: [UserFilterInput!]