@nxtedition/types 23.0.59 → 23.0.61

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.
@@ -0,0 +1,98 @@
1
+ import type { IsoTimestamp } from './index.ts';
2
+ export interface AssetIndexerCoreFields {
3
+ id: string;
4
+ title?: string;
5
+ description?: string;
6
+ created?: IsoTimestamp;
7
+ createdBy?: string;
8
+ createdByTitle?: string;
9
+ origin?: string;
10
+ modified?: IsoTimestamp;
11
+ modifiedBy?: string;
12
+ modifiedByAll?: string[];
13
+ modifiedByTitle?: string;
14
+ duration?: number;
15
+ tags?: string[];
16
+ deadlines?: IsoTimestamp[];
17
+ deadlinesCount?: number;
18
+ deadlines_date_range?: Array<{
19
+ gte: IsoTimestamp;
20
+ lte: IsoTimestamp;
21
+ }>;
22
+ assignees?: string[];
23
+ assigneesCount?: number;
24
+ locations?: Array<{
25
+ lat: number;
26
+ lon: number;
27
+ }>;
28
+ locationsCount?: number;
29
+ types?: string[];
30
+ primaryType?: string;
31
+ rawTypes?: string[];
32
+ status?: {
33
+ messages?: Array<{
34
+ code?: string;
35
+ level?: number;
36
+ }>;
37
+ };
38
+ published?: IsoTimestamp[];
39
+ publishedCount?: number;
40
+ storage?: {
41
+ files?: string[];
42
+ replicas?: string[];
43
+ locations?: string[];
44
+ zones?: string[];
45
+ uploading?: boolean;
46
+ size?: number;
47
+ filesCount?: number;
48
+ replicasCount?: number;
49
+ locationsCount?: number;
50
+ };
51
+ refs?: number;
52
+ refsByType?: Record<string, number>;
53
+ recurrence_date_range?: {
54
+ gte: IsoTimestamp;
55
+ lte: IsoTimestamp | null;
56
+ };
57
+ media_date_range?: {
58
+ gte: IsoTimestamp;
59
+ lte: IsoTimestamp;
60
+ };
61
+ ingestschedule_date_range?: {
62
+ gte: IsoTimestamp;
63
+ lte: IsoTimestamp | null;
64
+ };
65
+ ingestschedule?: {
66
+ type?: string;
67
+ sources?: string[];
68
+ routes?: string[];
69
+ };
70
+ username?: string;
71
+ user?: string;
72
+ "note.text"?: string;
73
+ subtitles?: string;
74
+ graphics?: string;
75
+ story?: {
76
+ content?: string;
77
+ graphics?: string[];
78
+ };
79
+ storyboard?: {
80
+ content?: unknown[];
81
+ };
82
+ /**
83
+ * These fields are populated from the provided `{id}:asset.media?` record as
84
+ * configured in the `asset.media` record. Due to the dynamic nature of that record,
85
+ * it's hard to type these fields more specifically. For now we only list a few
86
+ * (probably) expected fields.
87
+ */
88
+ media?: {
89
+ audio?: unknown;
90
+ video?: unknown;
91
+ timecode?: unknown;
92
+ language?: unknown;
93
+ transcribe?: unknown;
94
+ };
95
+ embedding?: Array<{
96
+ vector: number[];
97
+ }>;
98
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,4 @@
1
+ export * from './asset-indexer.ts';
1
2
  export * from './block.ts';
2
3
  export * from './clone.ts';
3
4
  export * from './date.ts';
@@ -6,6 +7,7 @@ export * from './location.ts';
6
7
  export * from './nxtpression.ts';
7
8
  export * from './lock.ts';
8
9
  export * from './media.ts';
10
+ export * from './panel-property.ts';
9
11
  export * from './pipeline.ts';
10
12
  export * from './promoted-tag.ts';
11
13
  export * from './render-preset.ts';
@@ -13,6 +15,7 @@ export * from './render-profile.ts';
13
15
  export * from './render-query.ts';
14
16
  export * from './render-scene.ts';
15
17
  export * from './rule.ts';
18
+ export * from './schema-property.ts';
16
19
  export * from './search.ts';
17
20
  export * from './settings.ts';
18
21
  export * from './subtitle-style.ts';
@@ -1,3 +1,4 @@
1
+ export * from "./asset-indexer.js";
1
2
  export * from "./block.js";
2
3
  export * from "./clone.js";
3
4
  export * from "./date.js";
@@ -6,6 +7,7 @@ export * from "./location.js";
6
7
  export * from "./nxtpression.js";
7
8
  export * from "./lock.js";
8
9
  export * from "./media.js";
10
+ export * from "./panel-property.js";
9
11
  export * from "./pipeline.js";
10
12
  export * from "./promoted-tag.js";
11
13
  export * from "./render-preset.js";
@@ -13,6 +15,7 @@ export * from "./render-profile.js";
13
15
  export * from "./render-query.js";
14
16
  export * from "./render-scene.js";
15
17
  export * from "./rule.js";
18
+ export * from "./schema-property.js";
16
19
  export * from "./search.js";
17
20
  export * from "./settings.js";
18
21
  export * from "./subtitle-style.js";
@@ -0,0 +1,29 @@
1
+ import type { Nxtpression } from './nxtpression.ts';
2
+ export interface PanelProperty<Value = unknown> {
3
+ /** Specifying what type of data will be entered into the field. */
4
+ type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
5
+ /** User-friendly title of the property. This will be used as the field's label in the UI. */
6
+ title?: string;
7
+ description?: string;
8
+ domain?: string;
9
+ path?: string;
10
+ computed?: Nxtpression<Value>;
11
+ /** An object specifying where to index the data. Adding this will effectively make the data searchable. */
12
+ index?: {
13
+ /** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
14
+ label: string;
15
+ /** A string specifying where to store the data in the search index. Note that this should be a globally unique value in the system. Typically you'd use `{domain}.{path}` and you should prefer English in camel case */
16
+ path: string;
17
+ };
18
+ /** If present, indicates that the user must specify a value for the asset to be treated as valid. */
19
+ required?: boolean;
20
+ oneOf?: Array<{
21
+ const?: Value;
22
+ title?: string;
23
+ }>;
24
+ anyOf?: Array<{
25
+ const?: Value;
26
+ title?: string;
27
+ }>;
28
+ enum?: Value[];
29
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import type { PanelProperty, Nxtpression } from '../';
2
+ export interface SchemaProperty extends PanelProperty {
3
+ recordName?: Nxtpression<string, {
4
+ id: string;
5
+ }>;
6
+ setter?: Nxtpression<(value: unknown) => void, {
7
+ id: string;
8
+ value: unknown;
9
+ }>;
10
+ default?: unknown;
11
+ const?: unknown;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -329,6 +329,12 @@ export interface Settings {
329
329
  subscribeSearchHits?: boolean;
330
330
  parseRegex?: boolean;
331
331
  };
332
+ display?: {
333
+ disableHotArea?: boolean;
334
+ };
335
+ bookmarks?: {
336
+ refreshInterval?: number;
337
+ };
332
338
  }
333
339
  export type SettingsPaths = Paths<Settings>;
334
340
  interface ModuleTabs {
@@ -338,6 +344,7 @@ interface ModuleTabs {
338
344
  interface ModuleTabsSettingsValue {
339
345
  activeTab?: string | null;
340
346
  priority?: number;
347
+ height?: number | null;
341
348
  }
342
349
  interface SettingsPanelStoreTab extends ModuleTabsSettingsValue {
343
350
  activeSectionIndex?: number;
@@ -137,6 +137,7 @@ declare interface AssetDomainRecords {
137
137
  ":asset.media?": AssetDomainMediaProvidedRecord;
138
138
  ":asset.presence?": AssetDomainPresenceProvidedRecord;
139
139
  ":asset.comments?": AssetCommentsRecord;
140
+ ":asset.record?": AssetRecordProvidedRecord;
140
141
  }
141
142
 
142
143
  declare interface AssetDomainStatusProvidedRecord {
@@ -157,6 +158,10 @@ declare interface AssetDurationRecord {
157
158
  dynamic?: Dynamic;
158
159
  }
159
160
 
161
+ declare interface AssetDynamicPropertiesProvidedRecord {
162
+ value?: DynamicProperty[];
163
+ }
164
+
160
165
  declare interface AssetEmbeddingRecord {
161
166
  value?: Nxtpression<string, {
162
167
  id: string;
@@ -175,6 +180,104 @@ declare interface AssetIconRecord {
175
180
  dynamic?: Dynamic;
176
181
  }
177
182
 
183
+ declare interface AssetIndexerCoreFields {
184
+ id: string;
185
+ title?: string;
186
+ description?: string;
187
+ created?: IsoTimestamp;
188
+ createdBy?: string;
189
+ createdByTitle?: string;
190
+ origin?: string;
191
+ modified?: IsoTimestamp;
192
+ modifiedBy?: string;
193
+ modifiedByAll?: string[];
194
+ modifiedByTitle?: string;
195
+ duration?: number;
196
+ tags?: string[];
197
+ deadlines?: IsoTimestamp[];
198
+ deadlinesCount?: number;
199
+ deadlines_date_range?: Array<{
200
+ gte: IsoTimestamp;
201
+ lte: IsoTimestamp;
202
+ }>;
203
+ assignees?: string[];
204
+ assigneesCount?: number;
205
+ locations?: Array<{
206
+ lat: number;
207
+ lon: number;
208
+ }>;
209
+ locationsCount?: number;
210
+ types?: string[];
211
+ primaryType?: string;
212
+ rawTypes?: string[];
213
+ status?: {
214
+ messages?: Array<{
215
+ code?: string;
216
+ level?: number;
217
+ }>;
218
+ };
219
+ published?: IsoTimestamp[];
220
+ publishedCount?: number;
221
+ storage?: {
222
+ files?: string[];
223
+ replicas?: string[];
224
+ locations?: string[];
225
+ zones?: string[];
226
+ uploading?: boolean;
227
+ size?: number;
228
+ filesCount?: number;
229
+ replicasCount?: number;
230
+ locationsCount?: number;
231
+ };
232
+ refs?: number;
233
+ refsByType?: Record<string, number>;
234
+ recurrence_date_range?: {
235
+ gte: IsoTimestamp;
236
+ lte: IsoTimestamp | null;
237
+ };
238
+ media_date_range?: {
239
+ gte: IsoTimestamp;
240
+ lte: IsoTimestamp;
241
+ };
242
+ ingestschedule_date_range?: {
243
+ gte: IsoTimestamp;
244
+ lte: IsoTimestamp | null;
245
+ };
246
+ ingestschedule?: {
247
+ type?: string;
248
+ sources?: string[];
249
+ routes?: string[];
250
+ };
251
+ username?: string;
252
+ user?: string;
253
+ "note.text"?: string;
254
+ subtitles?: string;
255
+ graphics?: string;
256
+ story?: {
257
+ content?: string;
258
+ graphics?: string[];
259
+ };
260
+ storyboard?: {
261
+ content?: unknown[];
262
+ };
263
+ /**
264
+ * These fields are populated from the provided `{id}:asset.media?` record as
265
+ * configured in the `asset.media` record. Due to the dynamic nature of that record,
266
+ * it's hard to type these fields more specifically. For now we only list a few
267
+ * (probably) expected fields.
268
+ */
269
+ media?: {
270
+ audio?: unknown;
271
+ video?: unknown;
272
+ timecode?: unknown;
273
+ language?: unknown;
274
+ transcribe?: unknown;
275
+ };
276
+ embedding?: Array<{
277
+ vector: number[];
278
+ }>;
279
+ }
280
+
178
281
  declare interface AssetLocationsRecord {
179
282
  value?: Nxtpression<Array<{
180
283
  lat: number;
@@ -208,11 +311,21 @@ declare interface AssetRawTypesProvidedRecord {
208
311
  value?: string[];
209
312
  }
210
313
 
314
+ /**
315
+ * Elasticsearch indexed record for an asset.
316
+ * Extends core fields with dynamic properties from panels and schemas.
317
+ */
318
+ declare interface AssetRecordProvidedRecord extends AssetIndexerCoreFields {
319
+ /** Dynamic properties from panels and schemas (keys defined by property.index.path) */
320
+ [dynamicProperty: string]: unknown;
321
+ }
322
+
211
323
  declare interface AssetRecords {
212
324
  "asset.assignees": AssetAssigneesRecord;
213
325
  "asset.clone": AssetCloneRecord;
214
326
  "asset.deadlines": AssetDeadlinesRecord;
215
327
  "asset.duration": AssetDurationRecord;
328
+ "asset.dynamicProperties?": AssetDynamicPropertiesProvidedRecord;
216
329
  "asset.embedding": AssetEmbeddingRecord;
217
330
  "asset.icon": AssetIconRecord;
218
331
  "asset.locations": AssetLocationsRecord;
@@ -505,11 +618,44 @@ declare interface DesignViewRow<Id = string, Key = string, Value = void> {
505
618
  value: Value;
506
619
  }
507
620
 
508
- declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, MediaDomainRecords, MonitorDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
621
+ declare interface DeviceDomainRecord {
622
+ type?: "display";
623
+ display?: {
624
+ activeAsset?: string;
625
+ editor?: string;
626
+ };
627
+ }
628
+
629
+ declare interface DeviceDomainRecords {
630
+ ":device": DeviceDomainRecord;
631
+ ":device.status?": DeviceDomainStatusRecord;
632
+ }
633
+
634
+ declare interface DeviceDomainStatusRecord {
635
+ since?: string;
636
+ heartbeat?: string;
637
+ version?: string;
638
+ }
639
+
640
+ declare interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
509
641
  }
510
642
 
511
643
  declare type Dynamic = false | string[];
512
644
 
645
+ /**
646
+ * Dynamic property definition.
647
+ * Properties come from :panel assets or :schema assets.
648
+ */
649
+ declare interface DynamicProperty extends Omit<PanelProperty, "path">, Omit<SchemaProperty, "path"> {
650
+ /** ID of the panel asset that defines this property (for panel-sourced properties) */
651
+ panel?: string;
652
+ /** ID of the schema asset that defines this property (for schema-sourced properties) */
653
+ schema?: string;
654
+ /** List of asset types this property supports */
655
+ supports: string[];
656
+ path: string;
657
+ }
658
+
513
659
  declare interface EditDomainRecords {
514
660
  ":edit": EditRecord;
515
661
  }
@@ -1027,7 +1173,10 @@ declare interface GeneralTitleRecord {
1027
1173
 
1028
1174
  declare type Get<Data, Path extends string> = Path extends keyof Data ? Data[Path] : unknown;
1029
1175
 
1030
- declare type GettablePossibleEmpty<Data> = keyof Data extends never ? EmptyObject : Partial<Data> extends Data ? Data : SingleKeyObject<Data> extends never ? Data | EmptyObject : {
1176
+ declare type GettablePossibleEmpty<Data> = keyof Data extends never ? EmptyObject : // eslint-disable-next-line @typescript-eslint/no-explicit-any
1177
+ Partial<Data> & {
1178
+ [key: string]: any;
1179
+ } extends Data ? Data : SingleKeyObject<Data> extends never ? Data | EmptyObject : {
1031
1180
  [K in keyof Data]+?: Data[K];
1032
1181
  };
1033
1182
 
@@ -1204,6 +1353,48 @@ declare interface IngestclipDomainRecords {
1204
1353
  ":ingestclip": IngestclipDomainRecord;
1205
1354
  }
1206
1355
 
1356
+ declare interface IngestIo {
1357
+ route?: string;
1358
+ /** List of connection IDs */
1359
+ publish?: string[];
1360
+ }
1361
+
1362
+ declare interface IngestScheduleDomainRecord {
1363
+ io?: {
1364
+ [id: string]: IngestIo;
1365
+ };
1366
+ sourcesHint?: string;
1367
+ enabled?: boolean;
1368
+ clipname?: Nxtpression<string>;
1369
+ autoTags?: string[];
1370
+ storyboard?: string | null;
1371
+ pipeline?: string | null;
1372
+ type?: "instant" | "repeat" | "salami";
1373
+ salami?: {
1374
+ gallery?: string | null;
1375
+ tag?: string;
1376
+ };
1377
+ repeat?: IngestScheduleRepeat;
1378
+ }
1379
+
1380
+ declare interface IngestScheduleDomainRecords {
1381
+ ":ingestschedule": IngestScheduleDomainRecord;
1382
+ ":ingestschedule.stats?": IngestScheduleDomainStatsRecord;
1383
+ }
1384
+
1385
+ declare interface IngestScheduleDomainStatsRecord {
1386
+ error?: unknown;
1387
+ }
1388
+
1389
+ declare interface IngestScheduleRepeat {
1390
+ freq?: RepeatFreq;
1391
+ until?: string;
1392
+ start?: string;
1393
+ tzid?: string;
1394
+ duration?: number;
1395
+ byweekday?: number[];
1396
+ }
1397
+
1207
1398
  /**
1208
1399
  The actual implementation of `IsUnion`.
1209
1400
  */
@@ -1538,6 +1729,7 @@ declare interface ModuleTabs {
1538
1729
  declare interface ModuleTabsSettingsValue {
1539
1730
  activeTab?: string | null;
1540
1731
  priority?: number;
1732
+ height?: number | null;
1541
1733
  }
1542
1734
 
1543
1735
  declare interface MonitorDomainRecords {
@@ -1678,6 +1870,14 @@ declare const NODE_STATE_KEY = "$";
1678
1870
 
1679
1871
  declare type NodeContent = EventNodeContent | TextNodeContent | ParagraphNodeContent | CommentNodeContent | ListNodeContent | ListItemNodeContent | HeadingNodeContent | HorizontalRuleContent | QuoteNodeContent;
1680
1872
 
1873
+ declare interface NoteDomainRecord {
1874
+ value: string;
1875
+ }
1876
+
1877
+ declare interface NoteDomainRecords {
1878
+ ":note": NoteDomainRecord;
1879
+ }
1880
+
1681
1881
  declare type NotificationReason = "mentioned" | "assigned" | "author" | "participated" | "always";
1682
1882
 
1683
1883
  declare type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
@@ -2001,7 +2201,7 @@ declare interface PanelLayoutItem {
2001
2201
  widget?: LayoutWidget;
2002
2202
  }
2003
2203
 
2004
- declare interface PanelProperty {
2204
+ declare interface PanelProperty<Value = unknown> {
2005
2205
  /** Specifying what type of data will be entered into the field. */
2006
2206
  type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
2007
2207
  /** User-friendly title of the property. This will be used as the field's label in the UI. */
@@ -2009,7 +2209,7 @@ declare interface PanelProperty {
2009
2209
  description?: string;
2010
2210
  domain?: string;
2011
2211
  path?: string;
2012
- computed?: Nxtpression<unknown>;
2212
+ computed?: Nxtpression<Value>;
2013
2213
  /** An object specifying where to index the data. Adding this will effectively make the data searchable. */
2014
2214
  index?: {
2015
2215
  /** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
@@ -2020,13 +2220,14 @@ declare interface PanelProperty {
2020
2220
  /** If present, indicates that the user must specify a value for the asset to be treated as valid. */
2021
2221
  required?: boolean;
2022
2222
  oneOf?: Array<{
2023
- const?: unknown;
2223
+ const?: Value;
2024
2224
  title?: string;
2025
2225
  }>;
2026
2226
  anyOf?: Array<{
2027
- const?: unknown;
2227
+ const?: Value;
2028
2228
  title?: string;
2029
2229
  }>;
2230
+ enum?: Value[];
2030
2231
  }
2031
2232
 
2032
2233
  declare interface ParagraphNodeContent extends ElementNodeContent {
@@ -2466,6 +2667,13 @@ declare interface RenderSceneObject {
2466
2667
  };
2467
2668
  }
2468
2669
 
2670
+ /**
2671
+ * 0 = Monthly
2672
+ * 2 = Weekly
2673
+ * 3 = Daily
2674
+ */
2675
+ declare type RepeatFreq = 0 | 2 | 3;
2676
+
2469
2677
  declare interface ReplaceOperation {
2470
2678
  op: 'replace';
2471
2679
  path: string;
@@ -2512,6 +2720,18 @@ declare interface RpcPermission {
2512
2720
  tags?: undefined;
2513
2721
  }
2514
2722
 
2723
+ declare interface SchemaProperty extends PanelProperty {
2724
+ recordName?: Nxtpression<string, {
2725
+ id: string;
2726
+ }>;
2727
+ setter?: Nxtpression<(value: unknown) => void, {
2728
+ id: string;
2729
+ value: unknown;
2730
+ }>;
2731
+ default?: unknown;
2732
+ const?: unknown;
2733
+ }
2734
+
2515
2735
  /**
2516
2736
  * A record for non-script automation assets that can have child events.
2517
2737
  */
@@ -3049,6 +3269,12 @@ declare interface Settings {
3049
3269
  subscribeSearchHits?: boolean;
3050
3270
  parseRegex?: boolean;
3051
3271
  };
3272
+ display?: {
3273
+ disableHotArea?: boolean;
3274
+ };
3275
+ bookmarks?: {
3276
+ refreshInterval?: number;
3277
+ };
3052
3278
  }
3053
3279
 
3054
3280
  declare interface SettingsDomainRecords {
@@ -1,4 +1,4 @@
1
- import type { IsoTimestamp } from '../../common/index.ts';
1
+ import type { IsoTimestamp, AssetIndexerCoreFields } from '../../common/index.ts';
2
2
  export interface AssetDomainRecords {
3
3
  ":asset.title?": AssetTitleProvidedRecord;
4
4
  ":asset.rawTypes?": AssetRawTypesProvidedRecord;
@@ -21,6 +21,7 @@ export interface AssetDomainRecords {
21
21
  ":asset.media?": AssetDomainMediaProvidedRecord;
22
22
  ":asset.presence?": AssetDomainPresenceProvidedRecord;
23
23
  ":asset.comments?": AssetCommentsRecord;
24
+ ":asset.record?": AssetRecordProvidedRecord;
24
25
  }
25
26
  export interface AssetTitleProvidedRecord {
26
27
  value?: string;
@@ -107,4 +108,12 @@ export interface AssetCommentsRecord {
107
108
  */
108
109
  value?: string[];
109
110
  }
111
+ /**
112
+ * Elasticsearch indexed record for an asset.
113
+ * Extends core fields with dynamic properties from panels and schemas.
114
+ */
115
+ export interface AssetRecordProvidedRecord extends AssetIndexerCoreFields {
116
+ /** Dynamic properties from panels and schemas (keys defined by property.index.path) */
117
+ [dynamicProperty: string]: unknown;
118
+ }
110
119
  export {};
@@ -0,0 +1,16 @@
1
+ export interface DeviceDomainRecords {
2
+ ":device": DeviceDomainRecord;
3
+ ":device.status?": DeviceDomainStatusRecord;
4
+ }
5
+ export interface DeviceDomainRecord {
6
+ type?: "display";
7
+ display?: {
8
+ activeAsset?: string;
9
+ editor?: string;
10
+ };
11
+ }
12
+ export interface DeviceDomainStatusRecord {
13
+ since?: string;
14
+ heartbeat?: string;
15
+ version?: string;
16
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -11,14 +11,17 @@ import type { ConnectionDomainRecords } from './connection/index.ts';
11
11
  import type { ContactDomainRecords } from './contact.ts';
12
12
  import type { DeepstreamDomainRecords } from './deepstream.ts';
13
13
  import type { DesignDomainRecords } from './design.ts';
14
+ import type { DeviceDomainRecords } from './device.ts';
14
15
  import type { EditDomainRecords } from './edit.ts';
15
16
  import type { EventDomainRecords } from './event.ts';
16
17
  import type { FileDomainRecords } from './file.ts';
17
18
  import type { GeneralDomainRecords } from './general.ts';
18
19
  import type { HarvestDomainRecords } from './harvest.ts';
19
20
  import type { IngestclipDomainRecords } from './ingestclip.ts';
21
+ import type { IngestScheduleDomainRecords } from './ingestschedule.ts';
20
22
  import type { MediaDomainRecords } from './media.ts';
21
23
  import type { MonitorDomainRecords } from './monitor.ts';
24
+ import type { NoteDomainRecords } from './note.ts';
22
25
  import type { PanelDomainRecords } from './panel.ts';
23
26
  import type { PermissionDomainRecords } from './permission.ts';
24
27
  import type { PipelinePresetDomainRecords } from './pipeline-preset.ts';
@@ -56,14 +59,17 @@ export * from './connection/index.ts';
56
59
  export * from './contact.ts';
57
60
  export * from './deepstream.ts';
58
61
  export * from './design.ts';
62
+ export * from './device.ts';
59
63
  export * from './edit.ts';
60
64
  export * from './event.ts';
61
65
  export * from './file.ts';
62
66
  export * from './general.ts';
63
67
  export * from './harvest.ts';
64
68
  export * from './ingestclip.ts';
69
+ export * from './ingestschedule.ts';
65
70
  export * from './media.ts';
66
71
  export * from './monitor.ts';
72
+ export * from './note.ts';
67
73
  export * from './panel.ts';
68
74
  export * from './permission.ts';
69
75
  export * from './pipeline-preset.ts';
@@ -88,5 +94,5 @@ export * from './user-notification-status.ts';
88
94
  export * from './user-notification.ts';
89
95
  export * from './user.ts';
90
96
  export * from './username.ts';
91
- export interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, MediaDomainRecords, MonitorDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
97
+ export interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StoryboardDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
92
98
  }
@@ -11,14 +11,17 @@ export * from "./connection/index.js";
11
11
  export * from "./contact.js";
12
12
  export * from "./deepstream.js";
13
13
  export * from "./design.js";
14
+ export * from "./device.js";
14
15
  export * from "./edit.js";
15
16
  export * from "./event.js";
16
17
  export * from "./file.js";
17
18
  export * from "./general.js";
18
19
  export * from "./harvest.js";
19
20
  export * from "./ingestclip.js";
21
+ export * from "./ingestschedule.js";
20
22
  export * from "./media.js";
21
23
  export * from "./monitor.js";
24
+ export * from "./note.js";
22
25
  export * from "./panel.js";
23
26
  export * from "./permission.js";
24
27
  export * from "./pipeline-preset.js";