@nxtedition/types 23.0.60 → 23.0.62
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/common/asset-indexer.d.ts +98 -0
- package/dist/common/asset-indexer.js +1 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/index.js +4 -0
- package/dist/common/panel-property.d.ts +29 -0
- package/dist/common/panel-property.js +1 -0
- package/dist/common/schema-property.d.ts +12 -0
- package/dist/common/schema-property.js +1 -0
- package/dist/common/settings.d.ts +16 -0
- package/dist/common/subtitle.d.ts +4 -0
- package/dist/common/subtitle.js +1 -0
- package/dist/nxtpression.d.ts +295 -6
- package/dist/records/domains/asset.d.ts +11 -2
- package/dist/records/domains/device.d.ts +16 -0
- package/dist/records/domains/device.js +1 -0
- package/dist/records/domains/folder.d.ts +6 -0
- package/dist/records/domains/folder.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 +45 -0
- package/dist/records/domains/ingestschedule.js +1 -0
- package/dist/records/domains/note.d.ts +6 -0
- package/dist/records/domains/note.js +1 -0
- package/dist/records/domains/panel.d.ts +1 -28
- package/dist/records/domains/settings.d.ts +5 -0
- package/dist/records/exact/asset.d.ts +18 -1
- package/dist/records/exact/media.d.ts +40 -1
- package/dist/records/validate/assert-guard.js +3018 -1066
- package/dist/records/validate/assert.js +3030 -1068
- package/dist/records/validate/is.js +89 -8
- package/dist/records/validate/schemas.js +1932 -530
- package/dist/records/validate/stringify.js +252 -13
- package/dist/records/validate/utils.js +2 -2
- package/dist/records/validate/validate-equals.js +4737 -1738
- package/dist/records/validate/validate.js +1968 -230
- package/dist/rpc.d.ts +3 -2
- package/package.json +1 -1
|
@@ -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,9 +21,10 @@ 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
|
-
value?: string;
|
|
27
|
+
value?: string | null;
|
|
27
28
|
}
|
|
28
29
|
export interface AssetRawTypesProvidedRecord {
|
|
29
30
|
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 {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -11,14 +11,18 @@ 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';
|
|
18
|
+
import type { FolderDomainRecords } from './folder.ts';
|
|
17
19
|
import type { GeneralDomainRecords } from './general.ts';
|
|
18
20
|
import type { HarvestDomainRecords } from './harvest.ts';
|
|
19
21
|
import type { IngestclipDomainRecords } from './ingestclip.ts';
|
|
22
|
+
import type { IngestScheduleDomainRecords } from './ingestschedule.ts';
|
|
20
23
|
import type { MediaDomainRecords } from './media.ts';
|
|
21
24
|
import type { MonitorDomainRecords } from './monitor.ts';
|
|
25
|
+
import type { NoteDomainRecords } from './note.ts';
|
|
22
26
|
import type { PanelDomainRecords } from './panel.ts';
|
|
23
27
|
import type { PermissionDomainRecords } from './permission.ts';
|
|
24
28
|
import type { PipelinePresetDomainRecords } from './pipeline-preset.ts';
|
|
@@ -56,14 +60,18 @@ export * from './connection/index.ts';
|
|
|
56
60
|
export * from './contact.ts';
|
|
57
61
|
export * from './deepstream.ts';
|
|
58
62
|
export * from './design.ts';
|
|
63
|
+
export * from './device.ts';
|
|
59
64
|
export * from './edit.ts';
|
|
60
65
|
export * from './event.ts';
|
|
61
66
|
export * from './file.ts';
|
|
67
|
+
export * from './folder.ts';
|
|
62
68
|
export * from './general.ts';
|
|
63
69
|
export * from './harvest.ts';
|
|
64
70
|
export * from './ingestclip.ts';
|
|
71
|
+
export * from './ingestschedule.ts';
|
|
65
72
|
export * from './media.ts';
|
|
66
73
|
export * from './monitor.ts';
|
|
74
|
+
export * from './note.ts';
|
|
67
75
|
export * from './panel.ts';
|
|
68
76
|
export * from './permission.ts';
|
|
69
77
|
export * from './pipeline-preset.ts';
|
|
@@ -88,5 +96,5 @@ export * from './user-notification-status.ts';
|
|
|
88
96
|
export * from './user-notification.ts';
|
|
89
97
|
export * from './user.ts';
|
|
90
98
|
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 {
|
|
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 {
|
|
92
100
|
}
|
|
@@ -11,14 +11,18 @@ 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";
|
|
18
|
+
export * from "./folder.js";
|
|
17
19
|
export * from "./general.js";
|
|
18
20
|
export * from "./harvest.js";
|
|
19
21
|
export * from "./ingestclip.js";
|
|
22
|
+
export * from "./ingestschedule.js";
|
|
20
23
|
export * from "./media.js";
|
|
21
24
|
export * from "./monitor.js";
|
|
25
|
+
export * from "./note.js";
|
|
22
26
|
export * from "./panel.js";
|
|
23
27
|
export * from "./permission.js";
|
|
24
28
|
export * from "./pipeline-preset.js";
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Nxtpression } from '../../common';
|
|
2
|
+
export interface IngestScheduleDomainRecords {
|
|
3
|
+
":ingestschedule": IngestScheduleDomainRecord;
|
|
4
|
+
":ingestschedule.stats?": IngestScheduleDomainStatsRecord;
|
|
5
|
+
}
|
|
6
|
+
export interface IngestScheduleDomainRecord {
|
|
7
|
+
io?: {
|
|
8
|
+
[id: string]: IngestIo;
|
|
9
|
+
};
|
|
10
|
+
sourcesHint?: string;
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
clipname?: Nxtpression<string>;
|
|
13
|
+
autoTags?: string[];
|
|
14
|
+
storyboard?: string | null;
|
|
15
|
+
pipeline?: string | null;
|
|
16
|
+
type?: "instant" | "repeat" | "salami";
|
|
17
|
+
salami?: {
|
|
18
|
+
gallery?: string | null;
|
|
19
|
+
tag?: string;
|
|
20
|
+
};
|
|
21
|
+
repeat?: IngestScheduleRepeat;
|
|
22
|
+
}
|
|
23
|
+
interface IngestIo {
|
|
24
|
+
route?: string;
|
|
25
|
+
/** List of connection IDs */
|
|
26
|
+
publish?: string[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 0 = Monthly
|
|
30
|
+
* 2 = Weekly
|
|
31
|
+
* 3 = Daily
|
|
32
|
+
*/
|
|
33
|
+
type RepeatFreq = 0 | 2 | 3;
|
|
34
|
+
interface IngestScheduleRepeat {
|
|
35
|
+
freq?: RepeatFreq;
|
|
36
|
+
until?: string;
|
|
37
|
+
start?: string;
|
|
38
|
+
tzid?: string;
|
|
39
|
+
duration?: number;
|
|
40
|
+
byweekday?: number[];
|
|
41
|
+
}
|
|
42
|
+
export interface IngestScheduleDomainStatsRecord {
|
|
43
|
+
error?: unknown;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Nxtpression } from '../../common/
|
|
1
|
+
import type { Nxtpression, PanelProperty } from '../../common/index.ts';
|
|
2
2
|
export interface PanelDomainRecords {
|
|
3
3
|
":panel": PanelDomainPanelRecord;
|
|
4
4
|
}
|
|
@@ -17,33 +17,6 @@ export interface PanelDomainPanelRecord {
|
|
|
17
17
|
filter?: Nxtpression;
|
|
18
18
|
expand?: Nxtpression;
|
|
19
19
|
}
|
|
20
|
-
export interface PanelProperty {
|
|
21
|
-
/** Specifying what type of data will be entered into the field. */
|
|
22
|
-
type: "array" | "asset" | "boolean" | "datetime" | "number" | "string" | "object" | "rpc";
|
|
23
|
-
/** User-friendly title of the property. This will be used as the field's label in the UI. */
|
|
24
|
-
title?: string;
|
|
25
|
-
description?: string;
|
|
26
|
-
domain?: string;
|
|
27
|
-
path?: string;
|
|
28
|
-
computed?: Nxtpression<unknown>;
|
|
29
|
-
/** An object specifying where to index the data. Adding this will effectively make the data searchable. */
|
|
30
|
-
index?: {
|
|
31
|
-
/** A string specifying the user-friendly title of the search property. This is what users will see when creating search filters and bookmarks. */
|
|
32
|
-
label: string;
|
|
33
|
-
/** 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 */
|
|
34
|
-
path: string;
|
|
35
|
-
};
|
|
36
|
-
/** If present, indicates that the user must specify a value for the asset to be treated as valid. */
|
|
37
|
-
required?: boolean;
|
|
38
|
-
oneOf?: Array<{
|
|
39
|
-
const?: unknown;
|
|
40
|
-
title?: string;
|
|
41
|
-
}>;
|
|
42
|
-
anyOf?: Array<{
|
|
43
|
-
const?: unknown;
|
|
44
|
-
title?: string;
|
|
45
|
-
}>;
|
|
46
|
-
}
|
|
47
20
|
export type PanelLayout = string | PanelLayoutDivider | PanelLayoutItem | PanelLayout[];
|
|
48
21
|
export interface PanelLayoutItem {
|
|
49
22
|
property: string;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Settings } from '../../common/index.ts';
|
|
2
2
|
export interface SettingsDomainRecords {
|
|
3
3
|
":settings": SettingsRecord;
|
|
4
|
+
":settings.node": SettingsNodeRecord;
|
|
4
5
|
}
|
|
5
6
|
export type SettingsRecord = Settings;
|
|
7
|
+
export type SettingsNodeRecord = Record<string, {
|
|
8
|
+
collapsed: boolean;
|
|
9
|
+
hidden: boolean;
|
|
10
|
+
}>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import type { CloneRule, Nxtpression } from '../../common/index.ts';
|
|
1
|
+
import type { CloneRule, Nxtpression, PanelProperty, SchemaProperty } from '../../common/index.ts';
|
|
2
2
|
export interface AssetRecords {
|
|
3
3
|
"asset.assignees": AssetAssigneesRecord;
|
|
4
4
|
"asset.clone": AssetCloneRecord;
|
|
5
5
|
"asset.deadlines": AssetDeadlinesRecord;
|
|
6
6
|
"asset.duration": AssetDurationRecord;
|
|
7
|
+
"asset.dynamicProperties?": AssetDynamicPropertiesProvidedRecord;
|
|
7
8
|
"asset.embedding": AssetEmbeddingRecord;
|
|
8
9
|
"asset.icon": AssetIconRecord;
|
|
9
10
|
"asset.locations": AssetLocationsRecord;
|
|
@@ -79,5 +80,21 @@ export interface AssetTypesRecord {
|
|
|
79
80
|
icon?: string;
|
|
80
81
|
};
|
|
81
82
|
}
|
|
83
|
+
export interface AssetDynamicPropertiesProvidedRecord {
|
|
84
|
+
value?: DynamicProperty[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Dynamic property definition.
|
|
88
|
+
* Properties come from :panel assets or :schema assets.
|
|
89
|
+
*/
|
|
90
|
+
export interface DynamicProperty extends Omit<PanelProperty, "path">, Omit<SchemaProperty, "path"> {
|
|
91
|
+
/** ID of the panel asset that defines this property (for panel-sourced properties) */
|
|
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[];
|
|
97
|
+
path: string;
|
|
98
|
+
}
|
|
82
99
|
type Dynamic = false | string[];
|
|
83
100
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { MediaType, RenderPreset } from '../../common/index.ts';
|
|
1
|
+
import type { MediaType, Nxtpression, RenderPreset } from '../../common/index.ts';
|
|
2
2
|
export interface MediaRecords {
|
|
3
3
|
"media.subtitles": MediaSubtitlesRecord;
|
|
4
4
|
"media.subtitles?": MediaSubtitlesProvidedRecord;
|
|
5
|
+
"media.transcribe": MediaTranscribeRecord;
|
|
5
6
|
"media.transcribe?": MediaTranscribeProvidedRecord;
|
|
6
7
|
"media.fonts?": MediaFonts;
|
|
7
8
|
"media.consolidate": MediaConsolidateRecord;
|
|
@@ -14,12 +15,50 @@ export interface MediaSubtitlesProvidedRecord {
|
|
|
14
15
|
languages?: Record<string, string>;
|
|
15
16
|
fontFaces?: SubtitleFontFace[];
|
|
16
17
|
}
|
|
18
|
+
export interface MediaTranscribeRecord {
|
|
19
|
+
engines: Record<string, string>;
|
|
20
|
+
languages: Record<string, string>;
|
|
21
|
+
translate?: {
|
|
22
|
+
languages: Record<string, string>;
|
|
23
|
+
};
|
|
24
|
+
replacers?: Record<string, TranscribeReplacer | TranscribeReplacer[]>;
|
|
25
|
+
}
|
|
17
26
|
export interface MediaTranscribeProvidedRecord {
|
|
18
27
|
engines: Record<string, string>;
|
|
19
28
|
languages: Record<string, string>;
|
|
20
29
|
translate?: {
|
|
21
30
|
languages: Record<string, string>;
|
|
22
31
|
};
|
|
32
|
+
replacers?: Record<string, TranscribeReplacer | TranscribeReplacer[]>;
|
|
33
|
+
}
|
|
34
|
+
export type TranscribeReplacer = TranscribeReplaceReplacer | TranscribeForEachWordReplacer;
|
|
35
|
+
export interface TranscribeReplaceReplacer {
|
|
36
|
+
type?: "replace";
|
|
37
|
+
/** Expression that should return RegExp or string arg to new RegExp */
|
|
38
|
+
pattern: Nxtpression<unknown, {
|
|
39
|
+
item: string;
|
|
40
|
+
}>;
|
|
41
|
+
replacement: Nxtpression<string | ((...args: unknown[]) => string), {
|
|
42
|
+
item: string;
|
|
43
|
+
}>;
|
|
44
|
+
flags?: string;
|
|
45
|
+
_comment?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface TranscribeForEachWordReplacer {
|
|
48
|
+
type: "items";
|
|
49
|
+
items: string[];
|
|
50
|
+
_comment?: string;
|
|
51
|
+
replacers: Array<{
|
|
52
|
+
/** Expression that should return RegExp or string arg to new RegExp */
|
|
53
|
+
pattern: Nxtpression<unknown, {
|
|
54
|
+
item: string;
|
|
55
|
+
}>;
|
|
56
|
+
replacement: Nxtpression<string | ((...args: unknown[]) => string), {
|
|
57
|
+
item: string;
|
|
58
|
+
}>;
|
|
59
|
+
flags?: string;
|
|
60
|
+
_comment?: string;
|
|
61
|
+
}>;
|
|
23
62
|
}
|
|
24
63
|
export interface MediaConsolidateRecord {
|
|
25
64
|
presets?: {
|