@nxtedition/types 23.1.2 → 23.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.d.ts +7 -1
- package/dist/common/index.d.ts +3 -0
- package/dist/common/index.js +3 -0
- package/dist/common/json-schema.d.ts +95 -0
- package/dist/common/json-schema.js +1 -0
- package/dist/common/nxtpression.d.ts +1 -1
- package/dist/common/panel-property.d.ts +2 -29
- package/dist/common/print.d.ts +30 -0
- package/dist/common/print.js +1 -0
- package/dist/common/render-scene.d.ts +73 -12
- package/dist/common/schema-property.d.ts +36 -4
- package/dist/common/settings.d.ts +72 -43
- package/dist/common/settings.js +18 -1
- package/dist/common/widget.d.ts +16 -0
- package/dist/common/widget.js +1 -0
- package/dist/nxtpression.d.ts +745 -170
- package/dist/records/domains/condition.d.ts +1 -1
- package/dist/records/domains/connection/file/smb.d.ts +2 -0
- package/dist/records/domains/event.d.ts +10 -3
- package/dist/records/domains/gallery.d.ts +8 -0
- package/dist/records/domains/gallery.js +1 -0
- package/dist/records/domains/index.d.ts +9 -1
- package/dist/records/domains/index.js +4 -0
- package/dist/records/domains/ingestschedule.d.ts +1 -1
- package/dist/records/domains/media.d.ts +4 -0
- package/dist/records/domains/panel.d.ts +7 -19
- package/dist/records/domains/publish/file-legacy.d.ts +1 -1
- package/dist/records/domains/render.d.ts +54 -3
- package/dist/records/domains/role.d.ts +8 -0
- package/dist/records/domains/schema.d.ts +21 -0
- package/dist/records/domains/schema.js +1 -0
- package/dist/records/domains/search.d.ts +1 -1
- package/dist/records/domains/storage.d.ts +87 -0
- package/dist/records/domains/storage.js +1 -0
- package/dist/records/domains/stream.d.ts +80 -0
- package/dist/records/domains/stream.js +1 -0
- package/dist/records/domains/template.d.ts +34 -0
- package/dist/records/exact/asset.d.ts +17 -7
- package/dist/records/exact/index.d.ts +6 -0
- package/dist/records/exact/monitor.d.ts +1 -0
- package/dist/records/index.d.ts +1 -1
- package/dist/records/utils.d.ts +5 -1
- package/dist/records/validate/assert-guard.js +9235 -4387
- package/dist/records/validate/assert.js +9359 -4496
- package/dist/records/validate/is.js +224 -115
- package/dist/records/validate/schemas.d.ts +3 -10
- package/dist/records/validate/schemas.js +5652 -1454
- package/dist/records/validate/stringify.js +853 -180
- package/dist/records/validate/utils.d.ts +1 -1
- package/dist/records/validate/utils.js +2 -2
- package/dist/records/validate/validate-equals.js +11393 -5018
- package/dist/records/validate/validate.js +10257 -6113
- package/package.json +1 -1
|
@@ -10,11 +10,13 @@ export interface EventDomainRecords {
|
|
|
10
10
|
":event.duration?": EventDurationRecord;
|
|
11
11
|
":event.children?": EventChildrenRecord;
|
|
12
12
|
":event.props?": EventPropsRecord;
|
|
13
|
+
":event.stats?": EventStatsRecord;
|
|
13
14
|
}
|
|
14
15
|
export interface EventRecord {
|
|
15
|
-
start?: number;
|
|
16
|
-
end?: number;
|
|
17
|
-
duration?: number;
|
|
16
|
+
start?: number | null;
|
|
17
|
+
end?: number | null;
|
|
18
|
+
duration?: number | null;
|
|
19
|
+
position?: string;
|
|
18
20
|
text?: string;
|
|
19
21
|
lang?: string;
|
|
20
22
|
style?: string;
|
|
@@ -26,6 +28,7 @@ export interface EventTemplateRecord {
|
|
|
26
28
|
layout?: {
|
|
27
29
|
title?: string;
|
|
28
30
|
};
|
|
31
|
+
controller?: string;
|
|
29
32
|
}
|
|
30
33
|
export interface EventDurationRecord {
|
|
31
34
|
scheduled?: number;
|
|
@@ -39,11 +42,15 @@ export interface EventChildrenRecord {
|
|
|
39
42
|
type EventProps = {
|
|
40
43
|
source?: string;
|
|
41
44
|
cueCard?: boolean | string;
|
|
45
|
+
printRundownColor?: string;
|
|
42
46
|
startTime?: number;
|
|
43
47
|
shotboxGroup?: string | string[];
|
|
44
48
|
shotboxVisible?: boolean;
|
|
45
49
|
};
|
|
46
50
|
export type EventPropsRecord = EventProps & Record<Exclude<string, keyof EventProps>, JsonValue>;
|
|
51
|
+
export interface EventStatsRecord {
|
|
52
|
+
type?: string;
|
|
53
|
+
}
|
|
47
54
|
export interface EventOverlayRecord {
|
|
48
55
|
[eventId: string]: {
|
|
49
56
|
data: EventPropsRecord;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -16,6 +16,7 @@ import type { EditDomainRecords } from './edit.ts';
|
|
|
16
16
|
import type { EventDomainRecords } from './event.ts';
|
|
17
17
|
import type { FileDomainRecords } from './file.ts';
|
|
18
18
|
import type { FolderDomainRecords } from './folder.ts';
|
|
19
|
+
import type { GalleryDomainRecords } from './gallery.ts';
|
|
19
20
|
import type { GeneralDomainRecords } from './general.ts';
|
|
20
21
|
import type { HarvestDomainRecords } from './harvest.ts';
|
|
21
22
|
import type { IngestclipDomainRecords } from './ingestclip.ts';
|
|
@@ -35,11 +36,14 @@ import type { RenderPresetDomainRecords } from './render-preset.ts';
|
|
|
35
36
|
import type { RenderDomainRecords } from './render.ts';
|
|
36
37
|
import type { RevsDomainRecords } from './revs.ts';
|
|
37
38
|
import type { RoleDomainRecords } from './role.ts';
|
|
39
|
+
import type { SchemaDomainRecords } from './schema.ts';
|
|
38
40
|
import type { ScriptDomainRecords } from './script.ts';
|
|
39
41
|
import type { SearchDomainRecords } from './search.ts';
|
|
40
42
|
import type { SettingsDomainRecords } from './settings.ts';
|
|
41
43
|
import type { ShotboxDomainRecords } from './shotbox.ts';
|
|
44
|
+
import type { StorageDomainRecords } from './storage.ts';
|
|
42
45
|
import type { StoryboardDomainRecords } from './storyboard.ts';
|
|
46
|
+
import type { StreamDomainRecords } from './stream.ts';
|
|
43
47
|
import type { SubtitleStyleDomainRecords } from './subtitle-style.ts';
|
|
44
48
|
import type { SubtitleDomainRecords } from './subtitle.ts';
|
|
45
49
|
import type { TemplateDomainRecords } from './template.ts';
|
|
@@ -65,6 +69,7 @@ export * from './edit.ts';
|
|
|
65
69
|
export * from './event.ts';
|
|
66
70
|
export * from './file.ts';
|
|
67
71
|
export * from './folder.ts';
|
|
72
|
+
export * from './gallery.ts';
|
|
68
73
|
export * from './general.ts';
|
|
69
74
|
export * from './harvest.ts';
|
|
70
75
|
export * from './ingestclip.ts';
|
|
@@ -84,11 +89,14 @@ export * from './render-preset.ts';
|
|
|
84
89
|
export * from './render.ts';
|
|
85
90
|
export * from './revs.ts';
|
|
86
91
|
export * from './role.ts';
|
|
92
|
+
export * from './schema.ts';
|
|
87
93
|
export * from './script.ts';
|
|
88
94
|
export * from './search.ts';
|
|
89
95
|
export * from './settings.ts';
|
|
90
96
|
export * from './shotbox.ts';
|
|
97
|
+
export * from './storage.ts';
|
|
91
98
|
export * from './storyboard.ts';
|
|
99
|
+
export * from './stream.ts';
|
|
92
100
|
export * from './subtitle-style.ts';
|
|
93
101
|
export * from './subtitle.ts';
|
|
94
102
|
export * from './template.ts';
|
|
@@ -96,5 +104,5 @@ export * from './user-notification-status.ts';
|
|
|
96
104
|
export * from './user-notification.ts';
|
|
97
105
|
export * from './user.ts';
|
|
98
106
|
export * from './username.ts';
|
|
99
|
-
export interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, 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 {
|
|
107
|
+
export interface DomainRecords extends AssetDomainRecords, AuthDomainRecords, BundleDomainRecords, CalendarEventDomainRecords, CloneDomainRecords, CommentReactionDomainRecords, CommentReadMarkDomainRecords, CommentDomainRecords, ConditionDomainRecords, ConnectionDomainRecords, ContactDomainRecords, DeepstreamDomainRecords, DesignDomainRecords, DeviceDomainRecords, EditDomainRecords, EventDomainRecords, FileDomainRecords, FolderDomainRecords, GalleryDomainRecords, GeneralDomainRecords, HarvestDomainRecords, IngestclipDomainRecords, IngestScheduleDomainRecords, MediaDomainRecords, MonitorDomainRecords, NoteDomainRecords, PanelDomainRecords, PermissionDomainRecords, PipelinePresetDomainRecords, PipelineDomainRecords, PlanningDomainRecords, PrompterDomainRecords, PublishDomainRecords, PublishedDomainRecords, RenderPresetDomainRecords, RenderDomainRecords, RevsDomainRecords, RoleDomainRecords, SchemaDomainRecords, ScriptDomainRecords, SearchDomainRecords, SettingsDomainRecords, ShotboxDomainRecords, StorageDomainRecords, StoryboardDomainRecords, StreamDomainRecords, SubtitleStyleDomainRecords, SubtitleDomainRecords, TemplateDomainRecords, UserNotificationStatusDomainRecords, UserNotificationDomainRecords, UserDomainRecords, UsernameDomainRecords {
|
|
100
108
|
}
|
|
@@ -16,6 +16,7 @@ export * from "./edit.js";
|
|
|
16
16
|
export * from "./event.js";
|
|
17
17
|
export * from "./file.js";
|
|
18
18
|
export * from "./folder.js";
|
|
19
|
+
export * from "./gallery.js";
|
|
19
20
|
export * from "./general.js";
|
|
20
21
|
export * from "./harvest.js";
|
|
21
22
|
export * from "./ingestclip.js";
|
|
@@ -35,11 +36,14 @@ export * from "./render-preset.js";
|
|
|
35
36
|
export * from "./render.js";
|
|
36
37
|
export * from "./revs.js";
|
|
37
38
|
export * from "./role.js";
|
|
39
|
+
export * from "./schema.js";
|
|
38
40
|
export * from "./script.js";
|
|
39
41
|
export * from "./search.js";
|
|
40
42
|
export * from "./settings.js";
|
|
41
43
|
export * from "./shotbox.js";
|
|
44
|
+
export * from "./storage.js";
|
|
42
45
|
export * from "./storyboard.js";
|
|
46
|
+
export * from "./stream.js";
|
|
43
47
|
export * from "./subtitle-style.js";
|
|
44
48
|
export * from "./subtitle.js";
|
|
45
49
|
export * from "./template.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Nxtpression } from '../../common';
|
|
1
|
+
import type { Nxtpression } from '../../common/nxtpression.ts';
|
|
2
2
|
export interface IngestScheduleDomainRecords {
|
|
3
3
|
":ingestschedule": IngestScheduleDomainRecord;
|
|
4
4
|
":ingestschedule.stats?": IngestScheduleDomainStatsRecord;
|
|
@@ -11,6 +11,7 @@ export interface MediaDomainRecords {
|
|
|
11
11
|
":media.probe?": MediaProbeRecord;
|
|
12
12
|
":media.updateSubtitles?": MediaDomainUpdateSubtitlesRecord;
|
|
13
13
|
":media.updateGraphics?": MediaDomainUpdateGraphicsRecord;
|
|
14
|
+
":media.revisions": MediaDomainRevisionsRecord;
|
|
14
15
|
}
|
|
15
16
|
export type MediaSourceRecord = RenderSceneObject;
|
|
16
17
|
export interface MediaDomainConsolidateRecord {
|
|
@@ -68,3 +69,6 @@ export interface MediaDomainUpdateSubtitlesRecord {
|
|
|
68
69
|
export interface MediaDomainUpdateGraphicsRecord {
|
|
69
70
|
[key: string]: unknown;
|
|
70
71
|
}
|
|
72
|
+
export interface MediaDomainRevisionsRecord {
|
|
73
|
+
[revisionId: string]: RenderSceneObject;
|
|
74
|
+
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import type { Nxtpression, PanelProperty } from '../../common/index.ts';
|
|
1
|
+
import type { Nxtpression, PanelProperty, WidgetLayout } from '../../common/index.ts';
|
|
2
2
|
export interface PanelDomainRecords {
|
|
3
3
|
":panel": PanelDomainPanelRecord;
|
|
4
4
|
}
|
|
5
5
|
export interface PanelDomainPanelRecord {
|
|
6
6
|
title?: string;
|
|
7
|
+
/**
|
|
8
|
+
* - If an array: interpreted as a list of supported asset types
|
|
9
|
+
* - If a string: interpreted as the ID of a search which contains supported assets
|
|
10
|
+
*/
|
|
7
11
|
supports?: string[] | string;
|
|
8
12
|
priority?: number;
|
|
9
13
|
editorPriority?: number;
|
|
@@ -11,25 +15,9 @@ export interface PanelDomainPanelRecord {
|
|
|
11
15
|
[key: string]: PanelProperty;
|
|
12
16
|
};
|
|
13
17
|
layout?: {
|
|
14
|
-
panel?:
|
|
15
|
-
editor?:
|
|
18
|
+
panel?: WidgetLayout;
|
|
19
|
+
editor?: WidgetLayout;
|
|
16
20
|
};
|
|
17
21
|
filter?: Nxtpression;
|
|
18
22
|
expand?: Nxtpression;
|
|
19
23
|
}
|
|
20
|
-
export type PanelLayout = string | PanelLayoutDivider | PanelLayoutItem | PanelLayout[];
|
|
21
|
-
export interface PanelLayoutItem {
|
|
22
|
-
property: string;
|
|
23
|
-
width?: string | number;
|
|
24
|
-
widget?: LayoutWidget;
|
|
25
|
-
}
|
|
26
|
-
export interface PanelLayoutDivider {
|
|
27
|
-
type: "divider";
|
|
28
|
-
title?: string;
|
|
29
|
-
}
|
|
30
|
-
export type LayoutWidget = WidgetType | WidgetItem;
|
|
31
|
-
export type WidgetType = "default" | "assetTypes" | "assetTags" | "geopoint" | "poster" | "textarea" | "tags";
|
|
32
|
-
export interface WidgetItem {
|
|
33
|
-
type: WidgetType;
|
|
34
|
-
readOnly?: boolean;
|
|
35
|
-
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FilePublishDraft, FilePublishPublished } from './file';
|
|
1
|
+
import type { FilePublishDraft, FilePublishPublished } from './file.ts';
|
|
2
2
|
import type { PublishDef, PublishRecordBase } from './index.ts';
|
|
3
3
|
export interface FileLegacyPublishDef extends PublishDef<"file"> {
|
|
4
4
|
publish: FilePublishRecordLegacy;
|
|
@@ -61,13 +61,14 @@ export interface RenderDomainStatsRecord {
|
|
|
61
61
|
netTransferTotal?: number | null;
|
|
62
62
|
cpu?: number | null;
|
|
63
63
|
memory?: number | null;
|
|
64
|
-
activeCount
|
|
65
|
-
totalCount
|
|
64
|
+
activeCount?: number | null;
|
|
65
|
+
totalCount?: number | null;
|
|
66
66
|
gpuStat?: RenderDomainGpuStats | null;
|
|
67
67
|
cpuStat?: RenderDomainCpuStats | null;
|
|
68
68
|
netStat?: RenderDomainNetStats | null;
|
|
69
69
|
limits?: unknown;
|
|
70
70
|
taskset?: string;
|
|
71
|
+
end?: number | null;
|
|
71
72
|
}
|
|
72
73
|
export interface RenderDomainGpuStats {
|
|
73
74
|
[key: string]: unknown;
|
|
@@ -105,10 +106,60 @@ export interface RenderDomainQueryRecord {
|
|
|
105
106
|
};
|
|
106
107
|
}
|
|
107
108
|
export interface RenderDomainResultRecord {
|
|
108
|
-
|
|
109
|
+
id?: string;
|
|
109
110
|
url?: string;
|
|
111
|
+
files?: string[];
|
|
112
|
+
refs?: Array<{
|
|
113
|
+
file?: string;
|
|
114
|
+
offset?: number;
|
|
115
|
+
start?: number | null;
|
|
116
|
+
end?: number | null;
|
|
117
|
+
}>;
|
|
110
118
|
result?: unknown;
|
|
111
119
|
error?: null | Record<string, unknown> | Array<Record<string, unknown>>;
|
|
120
|
+
extension?: string;
|
|
121
|
+
extensions?: string[];
|
|
122
|
+
type?: string;
|
|
123
|
+
format?: string;
|
|
124
|
+
formatName?: string;
|
|
125
|
+
mimeType?: string;
|
|
126
|
+
duration?: number;
|
|
127
|
+
estimatedDuration?: number | null;
|
|
128
|
+
video?: {
|
|
129
|
+
codec?: string;
|
|
130
|
+
width?: number;
|
|
131
|
+
height?: number;
|
|
132
|
+
interlaced?: boolean;
|
|
133
|
+
alpha?: boolean | string;
|
|
134
|
+
sar?: string | null;
|
|
135
|
+
dar?: string;
|
|
136
|
+
framerate?: number;
|
|
137
|
+
format?: string;
|
|
138
|
+
encoder?: string;
|
|
139
|
+
codecName?: string;
|
|
140
|
+
} | null;
|
|
141
|
+
audio?: {
|
|
142
|
+
codec?: string;
|
|
143
|
+
codecName?: string;
|
|
144
|
+
format?: string;
|
|
145
|
+
channels?: number;
|
|
146
|
+
samplerate?: number;
|
|
147
|
+
peaksPerSecond?: number;
|
|
148
|
+
streams?: number;
|
|
149
|
+
encoder?: string;
|
|
150
|
+
} | null;
|
|
151
|
+
language?: string;
|
|
152
|
+
transcribe?: {
|
|
153
|
+
engine?: string;
|
|
154
|
+
version?: string;
|
|
155
|
+
language?: string;
|
|
156
|
+
} | null;
|
|
157
|
+
pan?: number[];
|
|
158
|
+
translate?: {
|
|
159
|
+
engine?: string;
|
|
160
|
+
source?: string;
|
|
161
|
+
target?: string;
|
|
162
|
+
} | null;
|
|
112
163
|
}
|
|
113
164
|
export interface RenderDomainSchedulersRecord {
|
|
114
165
|
[key: string]: number[];
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
export interface RoleDomainRecords {
|
|
2
|
+
":role": RoleRecord;
|
|
3
|
+
":role.users?": RoleUsersRecord;
|
|
2
4
|
":role.tags": RoleTagsRecord;
|
|
3
5
|
}
|
|
6
|
+
export type RoleRecord = {
|
|
7
|
+
permissions?: Record<string, string[]>;
|
|
8
|
+
};
|
|
4
9
|
export interface RoleTagsRecord {
|
|
5
10
|
value: string[];
|
|
6
11
|
}
|
|
12
|
+
export type RoleUsersRecord = {
|
|
13
|
+
value?: string[];
|
|
14
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SchemaProperty, WidgetLayout } from '../../common/index.ts';
|
|
2
|
+
export interface SchemaDomainRecords {
|
|
3
|
+
":schema": SchemaDomainPanelRecord;
|
|
4
|
+
}
|
|
5
|
+
export interface SchemaDomainPanelRecord {
|
|
6
|
+
title?: string;
|
|
7
|
+
/**
|
|
8
|
+
* - If an array: interpreted as a list of supported asset types
|
|
9
|
+
* - If a string: interpreted as the ID of a search which contains supported assets
|
|
10
|
+
*/
|
|
11
|
+
supports?: string[] | string;
|
|
12
|
+
domain?: string;
|
|
13
|
+
priority?: number;
|
|
14
|
+
properties?: {
|
|
15
|
+
[key: string]: SchemaProperty;
|
|
16
|
+
};
|
|
17
|
+
layout?: {
|
|
18
|
+
panel?: WidgetLayout;
|
|
19
|
+
editor?: WidgetLayout;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SearchCalendarView, SearchCondition, SearchType, SearchView } from '../../common';
|
|
1
|
+
import type { SearchCalendarView, SearchCondition, SearchType, SearchView } from '../../common/search.ts';
|
|
2
2
|
export interface SearchDomainRecords {
|
|
3
3
|
":search": SearchRecord;
|
|
4
4
|
":search?": SearchRecordProvided;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export interface StorageDomainRecords {
|
|
2
|
+
":storage": StorageDomainRecord;
|
|
3
|
+
":storage.stats": StorageStatsDomainRecord;
|
|
4
|
+
":storage-zone": StorageZoneDomainRecord;
|
|
5
|
+
}
|
|
6
|
+
export interface StorageZoneDomainRecord {
|
|
7
|
+
priority?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface StorageFsStats {
|
|
10
|
+
concurrency?: number;
|
|
11
|
+
path?: string;
|
|
12
|
+
snapshot?: number | null;
|
|
13
|
+
available?: number;
|
|
14
|
+
free?: number;
|
|
15
|
+
used?: number;
|
|
16
|
+
size?: number;
|
|
17
|
+
state?: string;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface StorageS3Stats {
|
|
21
|
+
bucket?: string;
|
|
22
|
+
region?: string;
|
|
23
|
+
endpoint?: string;
|
|
24
|
+
path?: string;
|
|
25
|
+
storageClass?: string;
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
}
|
|
28
|
+
export interface StorageStatsDomainRecord {
|
|
29
|
+
id: string;
|
|
30
|
+
location: string;
|
|
31
|
+
timestamp: string;
|
|
32
|
+
type: string;
|
|
33
|
+
zone: string;
|
|
34
|
+
origin: string;
|
|
35
|
+
free: number | null;
|
|
36
|
+
size: number | null;
|
|
37
|
+
available: number | null;
|
|
38
|
+
cache: boolean | null;
|
|
39
|
+
capacity: number | null;
|
|
40
|
+
limiter: {
|
|
41
|
+
readBytesPerSecond: number | undefined;
|
|
42
|
+
writeBytesPerSecond: number | undefined;
|
|
43
|
+
};
|
|
44
|
+
http: {
|
|
45
|
+
downstreamConnected: number;
|
|
46
|
+
upstreamConnected: number;
|
|
47
|
+
pending: number;
|
|
48
|
+
completed: number;
|
|
49
|
+
failed: number;
|
|
50
|
+
};
|
|
51
|
+
io: {
|
|
52
|
+
read: {
|
|
53
|
+
bytesPerSecond: number;
|
|
54
|
+
pending: number;
|
|
55
|
+
queues: StorageIoQueues;
|
|
56
|
+
};
|
|
57
|
+
write: {
|
|
58
|
+
bytesPerSecond: number;
|
|
59
|
+
pending: number;
|
|
60
|
+
queues: StorageIoQueues;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
fs?: StorageFsStats;
|
|
64
|
+
s3?: StorageS3Stats;
|
|
65
|
+
}
|
|
66
|
+
export interface StorageIoQueues {
|
|
67
|
+
highest: number;
|
|
68
|
+
higher: number;
|
|
69
|
+
high: number;
|
|
70
|
+
normal: number;
|
|
71
|
+
low: number;
|
|
72
|
+
lower: number;
|
|
73
|
+
lowest: number;
|
|
74
|
+
}
|
|
75
|
+
export interface StorageDomainRecord {
|
|
76
|
+
zone: string;
|
|
77
|
+
hostname: string | null;
|
|
78
|
+
port?: number | null;
|
|
79
|
+
location?: string;
|
|
80
|
+
cache?: boolean | null;
|
|
81
|
+
allows?: string[];
|
|
82
|
+
capacity?: number | null;
|
|
83
|
+
rxBytesSecMax?: number | null;
|
|
84
|
+
txBytesSecMax?: number | null;
|
|
85
|
+
rxBytesSecLimit?: number | null;
|
|
86
|
+
txBytesSecLimit?: number | null;
|
|
87
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export interface StreamDomainRecords {
|
|
2
|
+
":stream": StreamDomainRecord;
|
|
3
|
+
":stream.stats?": StreamDomainStatsRecord;
|
|
4
|
+
":stream.ingest": StreamDomainIngestRecord;
|
|
5
|
+
":stream.ingest.stats?": StreamDomainIngestStatsRecord;
|
|
6
|
+
}
|
|
7
|
+
export interface StreamDomainRecord {
|
|
8
|
+
input?: "webcam" | "screen" | "url" | "push" | `ingest:${string}` | "srt-listener" | "srt-caller";
|
|
9
|
+
url?: string;
|
|
10
|
+
enabled?: boolean;
|
|
11
|
+
endpoints?: {
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
url?: string;
|
|
14
|
+
asset?: string;
|
|
15
|
+
}[];
|
|
16
|
+
}
|
|
17
|
+
export interface StreamDomainStatsRecord {
|
|
18
|
+
status?: "stopped" | "broadcasting" | "error";
|
|
19
|
+
proxyStatus?: "stopped" | "broadcasting" | "error";
|
|
20
|
+
rtmpUrl?: string;
|
|
21
|
+
rtmpPublishUrl?: string;
|
|
22
|
+
endpoints?: {
|
|
23
|
+
rtmpUrl?: string;
|
|
24
|
+
status?: "broadcasting" | "failed" | "created" | "stopped" | "finished";
|
|
25
|
+
}[];
|
|
26
|
+
error?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface StreamDomainIngestRecord {
|
|
29
|
+
server?: string;
|
|
30
|
+
enabled?: boolean;
|
|
31
|
+
input?: {
|
|
32
|
+
raw_format?: string;
|
|
33
|
+
video_format?: string;
|
|
34
|
+
};
|
|
35
|
+
encoding?: {
|
|
36
|
+
[preset: string]: Record<string, unknown>;
|
|
37
|
+
};
|
|
38
|
+
record?: {
|
|
39
|
+
hls_time?: number;
|
|
40
|
+
hls_list_size?: number;
|
|
41
|
+
mainPreset?: string | {
|
|
42
|
+
video: string;
|
|
43
|
+
audio: string;
|
|
44
|
+
};
|
|
45
|
+
proxyPreset?: string | {
|
|
46
|
+
video: string;
|
|
47
|
+
audio: string;
|
|
48
|
+
};
|
|
49
|
+
main?: Record<string, unknown>;
|
|
50
|
+
proxy?: Record<string, unknown>;
|
|
51
|
+
};
|
|
52
|
+
stream?: {
|
|
53
|
+
mainPreset?: {
|
|
54
|
+
video: string;
|
|
55
|
+
audio: string;
|
|
56
|
+
};
|
|
57
|
+
proxyPreset?: {
|
|
58
|
+
video: string;
|
|
59
|
+
audio: string;
|
|
60
|
+
};
|
|
61
|
+
main?: Record<string, unknown>;
|
|
62
|
+
proxy?: Record<string, unknown>;
|
|
63
|
+
};
|
|
64
|
+
subtitle?: {
|
|
65
|
+
driver?: string;
|
|
66
|
+
template?: string;
|
|
67
|
+
};
|
|
68
|
+
video?: string;
|
|
69
|
+
audio?: string;
|
|
70
|
+
channels?: number;
|
|
71
|
+
audioDelay?: number;
|
|
72
|
+
interlaced?: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface StreamDomainIngestStatsRecord {
|
|
75
|
+
status?: "starting" | "recording" | "streaming" | "stopping" | "stopped" | "restarting" | "stalled" | "deleted" | "exited" | "not configured" | "initializing" | "error";
|
|
76
|
+
server?: string;
|
|
77
|
+
hostname?: string;
|
|
78
|
+
port?: number;
|
|
79
|
+
error?: string;
|
|
80
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,10 +2,44 @@ export interface TemplateDomainRecords {
|
|
|
2
2
|
":template": TemplateRecord;
|
|
3
3
|
}
|
|
4
4
|
export interface TemplateRecord {
|
|
5
|
+
source?: string;
|
|
5
6
|
controller?: string;
|
|
7
|
+
type?: string;
|
|
6
8
|
mixin?: string[];
|
|
7
9
|
properties?: Record<string, TemplateProperty>;
|
|
8
10
|
}
|
|
9
11
|
export interface TemplateProperty {
|
|
10
12
|
path?: string;
|
|
13
|
+
type?: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
defaultValue?: string;
|
|
16
|
+
widget?: {
|
|
17
|
+
type: string;
|
|
18
|
+
};
|
|
19
|
+
properties?: object;
|
|
20
|
+
items?: {
|
|
21
|
+
properties?: Record<string, TemplatePropertySchema>;
|
|
22
|
+
};
|
|
23
|
+
render?: {
|
|
24
|
+
type: "image";
|
|
25
|
+
profile?: {
|
|
26
|
+
format?: string;
|
|
27
|
+
video?: {
|
|
28
|
+
width: number;
|
|
29
|
+
height: number;
|
|
30
|
+
fit: "cover";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export interface TemplatePropertySchema {
|
|
36
|
+
path?: string;
|
|
37
|
+
type?: string;
|
|
38
|
+
label?: string;
|
|
39
|
+
defaultValue?: string;
|
|
40
|
+
widget?: {
|
|
41
|
+
type: string;
|
|
42
|
+
};
|
|
43
|
+
items?: TemplatePropertySchema;
|
|
44
|
+
properties?: Record<string, TemplatePropertySchema>;
|
|
11
45
|
}
|
|
@@ -12,6 +12,7 @@ export interface AssetRecords {
|
|
|
12
12
|
"asset.tags": AssetTagsRecord;
|
|
13
13
|
"asset.title": AssetTitleRecord;
|
|
14
14
|
"asset.types": AssetTypesRecord;
|
|
15
|
+
"asset.http": AssetHttpRecord;
|
|
15
16
|
}
|
|
16
17
|
export interface AssetAssigneesRecord {
|
|
17
18
|
value?: Nxtpression<string[], {
|
|
@@ -80,6 +81,11 @@ export interface AssetTypesRecord {
|
|
|
80
81
|
icon?: string;
|
|
81
82
|
};
|
|
82
83
|
}
|
|
84
|
+
export interface AssetHttpRecord {
|
|
85
|
+
whitelist?: string[] | null;
|
|
86
|
+
blacklist?: string[] | null;
|
|
87
|
+
allowImport?: boolean;
|
|
88
|
+
}
|
|
83
89
|
export interface AssetDynamicPropertiesProvidedRecord {
|
|
84
90
|
value?: DynamicProperty[];
|
|
85
91
|
}
|
|
@@ -87,14 +93,18 @@ export interface AssetDynamicPropertiesProvidedRecord {
|
|
|
87
93
|
* Dynamic property definition.
|
|
88
94
|
* Properties come from :panel assets or :schema assets.
|
|
89
95
|
*/
|
|
90
|
-
export
|
|
91
|
-
|
|
92
|
-
panel?: string;
|
|
93
|
-
/** ID of the schema asset that defines this property (for schema-sourced properties) */
|
|
94
|
-
schema?: string;
|
|
95
|
-
/** List of asset types this property supports */
|
|
96
|
-
supports: string[];
|
|
96
|
+
export type DynamicProperty = DynamicPanelProperty | DynamicSchemaProperty;
|
|
97
|
+
interface DynamicPropertyBase {
|
|
97
98
|
path: string;
|
|
99
|
+
domain: string;
|
|
100
|
+
}
|
|
101
|
+
interface DynamicPanelProperty extends DynamicPropertyBase, Omit<PanelProperty, "path" | "domain"> {
|
|
102
|
+
/** ID of the panel asset that defines this property */
|
|
103
|
+
panel: string;
|
|
104
|
+
}
|
|
105
|
+
interface DynamicSchemaProperty extends DynamicPropertyBase, Omit<SchemaProperty, "path" | "domain"> {
|
|
106
|
+
/** ID of the schema asset that defines this property */
|
|
107
|
+
schema: string;
|
|
98
108
|
}
|
|
99
109
|
type Dynamic = false | string[];
|
|
100
110
|
export {};
|
|
@@ -9,11 +9,16 @@ export * from './media.ts';
|
|
|
9
9
|
export type ExactRecords = MiscRecords & MediaRecords & AssetRecords & MonitorRecords & StorageRecords;
|
|
10
10
|
export interface AssetDaemonRecord {
|
|
11
11
|
"user-notify"?: boolean;
|
|
12
|
+
validate?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export interface AssetDaemonUserNotifyStateRecord {
|
|
14
15
|
since?: string | 0 | null;
|
|
15
16
|
version?: number;
|
|
16
17
|
}
|
|
18
|
+
export interface AssetDaemonValidateStateRecord {
|
|
19
|
+
since?: string | 0 | null;
|
|
20
|
+
version?: number;
|
|
21
|
+
}
|
|
17
22
|
export interface DeepstreamReplicatorStatsRecord {
|
|
18
23
|
replicators?: Record<string, {
|
|
19
24
|
to: {
|
|
@@ -29,6 +34,7 @@ export interface DeepstreamReplicatorStatsRecord {
|
|
|
29
34
|
export interface MiscRecords {
|
|
30
35
|
"asset-daemon": AssetDaemonRecord;
|
|
31
36
|
"asset-daemon:user-notify.state": AssetDaemonUserNotifyStateRecord;
|
|
37
|
+
"asset-daemon:validate.state": AssetDaemonValidateStateRecord;
|
|
32
38
|
"deepstream-replicator.stats?": DeepstreamReplicatorStatsRecord;
|
|
33
39
|
}
|
|
34
40
|
export interface DomainRows {
|
package/dist/records/index.d.ts
CHANGED
package/dist/records/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SingleKeyObject } from 'type-fest';
|
|
2
2
|
import type { DomainRecords, DomainRows, ExactRecords } from './index.ts';
|
|
3
3
|
type ProvidedDomainKeys = keyof DomainRecords & `${string}?`;
|
|
4
4
|
type DbDomainKeys = Exclude<keyof DomainRecords, ProvidedDomainKeys>;
|
|
@@ -16,6 +16,10 @@ type DbExactRecords = {
|
|
|
16
16
|
type DbProvidedRecord = {
|
|
17
17
|
[Name in ProvidedExactKeys as `${Name}${string}`]: GettablePossibleEmpty<ExactRecords[Name]>;
|
|
18
18
|
};
|
|
19
|
+
declare const emptyObjectSymbol: unique symbol;
|
|
20
|
+
export type EmptyObject = {
|
|
21
|
+
[emptyObjectSymbol]?: never;
|
|
22
|
+
};
|
|
19
23
|
export interface Records extends KeyedDomainRecords, KeyedProvidedDomainRecords, DbExactRecords, DbProvidedRecord {
|
|
20
24
|
[key: string]: unknown;
|
|
21
25
|
}
|