@nxtedition/types 23.0.40 → 23.0.41

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.
Files changed (243) hide show
  1. package/dist/app.d.ts +0 -33
  2. package/dist/app.js +1 -655
  3. package/dist/common/block.d.ts +6 -13
  4. package/dist/common/block.js +597 -1607
  5. package/dist/common/clone.d.ts +0 -19
  6. package/dist/common/clone.js +1 -602
  7. package/dist/common/date.d.ts +0 -7
  8. package/dist/common/date.js +1 -59
  9. package/dist/common/error.d.ts +0 -7
  10. package/dist/common/error.js +1 -404
  11. package/dist/common/file.d.ts +1 -21
  12. package/dist/common/file.js +782 -2521
  13. package/dist/common/index.d.ts +20 -26
  14. package/dist/common/index.js +20 -134
  15. package/dist/common/location.d.ts +0 -6
  16. package/dist/common/location.js +73 -238
  17. package/dist/common/lock.d.ts +1 -8
  18. package/dist/common/lock.js +1 -211
  19. package/dist/common/media.d.ts +0 -7
  20. package/dist/common/media.js +1 -83
  21. package/dist/common/nxtpression.d.ts +2 -9
  22. package/dist/common/nxtpression.js +1 -277
  23. package/dist/common/pipeline.d.ts +0 -7
  24. package/dist/common/pipeline.js +1 -97
  25. package/dist/common/promoted-tag.d.ts +0 -7
  26. package/dist/common/promoted-tag.js +1 -147
  27. package/dist/common/render-preset.d.ts +2 -15
  28. package/dist/common/render-preset.js +1 -1202
  29. package/dist/common/render-profile.d.ts +0 -19
  30. package/dist/common/render-profile.js +1 -1052
  31. package/dist/common/render-query.d.ts +2 -9
  32. package/dist/common/render-query.js +1 -1843
  33. package/dist/common/render-scene.d.ts +2 -15
  34. package/dist/common/render-scene.js +1 -2408
  35. package/dist/common/rule.d.ts +1 -7
  36. package/dist/common/rule.js +84 -254
  37. package/dist/common/search.d.ts +0 -25
  38. package/dist/common/search.js +1 -1591
  39. package/dist/common/settings.d.ts +113 -125
  40. package/dist/common/settings.js +1 -7504
  41. package/dist/common/subtitle-style.d.ts +25 -0
  42. package/dist/common/user-notification.d.ts +0 -7
  43. package/dist/common/user-notification.js +1 -85
  44. package/dist/index.d.ts +5 -108
  45. package/dist/index.js +5 -469
  46. package/dist/nxtpression.d.ts +507 -331
  47. package/dist/nxtpression.js +1 -323
  48. package/dist/records/domains/asset.d.ts +106 -0
  49. package/dist/records/domains/bundle.d.ts +12 -0
  50. package/dist/records/domains/bundle.js +1 -0
  51. package/dist/records/domains/clone.d.ts +7 -0
  52. package/dist/records/domains/clone.js +1 -0
  53. package/dist/records/domains/comment-reaction.d.ts +8 -0
  54. package/dist/records/domains/comment-reaction.js +1 -0
  55. package/dist/records/domains/comment-read-mark.d.ts +8 -0
  56. package/dist/records/domains/comment-read-mark.js +1 -0
  57. package/dist/records/domains/comment.d.ts +81 -0
  58. package/dist/records/domains/comment.js +19 -0
  59. package/dist/records/domains/connection.d.ts +77 -0
  60. package/dist/records/domains/connection.js +1 -0
  61. package/dist/records/domains/contact.d.ts +9 -0
  62. package/dist/records/domains/contact.js +1 -0
  63. package/dist/records/domains/deepstream.d.ts +7 -0
  64. package/dist/records/domains/deepstream.js +1 -0
  65. package/dist/records/domains/design.d.ts +11 -0
  66. package/dist/records/domains/design.js +1 -0
  67. package/dist/records/domains/edit.d.ts +10 -0
  68. package/dist/records/domains/edit.js +1 -0
  69. package/dist/records/domains/event.d.ts +66 -0
  70. package/dist/records/domains/event.js +1 -0
  71. package/dist/records/domains/file.d.ts +26 -0
  72. package/dist/records/domains/file.js +1 -0
  73. package/dist/records/domains/general.d.ts +41 -0
  74. package/dist/records/domains/general.js +1 -0
  75. package/dist/records/domains/index.d.ts +77 -0
  76. package/dist/records/domains/index.js +38 -0
  77. package/dist/records/domains/media.d.ts +64 -0
  78. package/dist/records/domains/media.js +1 -0
  79. package/dist/records/domains/monitor.d.ts +116 -0
  80. package/dist/records/domains/monitor.js +1 -0
  81. package/dist/records/domains/panel.d.ts +55 -0
  82. package/dist/records/domains/panel.js +1 -0
  83. package/dist/records/domains/permission.d.ts +25 -0
  84. package/dist/records/domains/permission.js +2 -0
  85. package/dist/records/domains/pipeline-preset.d.ts +10 -0
  86. package/dist/records/domains/pipeline-preset.js +1 -0
  87. package/dist/records/domains/pipeline.d.ts +17 -0
  88. package/dist/records/domains/pipeline.js +1 -0
  89. package/dist/records/domains/planning.d.ts +14 -0
  90. package/dist/records/domains/planning.js +1 -0
  91. package/dist/records/domains/prompter.d.ts +18 -0
  92. package/dist/records/domains/prompter.js +1 -0
  93. package/dist/records/domains/publish.d.ts +145 -0
  94. package/dist/records/domains/publish.js +1 -0
  95. package/dist/records/domains/published.d.ts +12 -0
  96. package/dist/records/domains/published.js +1 -0
  97. package/dist/records/domains/render-preset.d.ts +5 -0
  98. package/dist/records/domains/render-preset.js +1 -0
  99. package/dist/records/domains/render.d.ts +115 -0
  100. package/dist/records/domains/render.js +1 -0
  101. package/dist/records/domains/revs.d.ts +6 -0
  102. package/dist/records/domains/revs.js +1 -0
  103. package/dist/records/domains/role.d.ts +6 -0
  104. package/dist/records/domains/role.js +1 -0
  105. package/dist/records/domains/script.d.ts +101 -0
  106. package/dist/records/domains/script.js +1 -0
  107. package/dist/records/domains/search.d.ts +9 -0
  108. package/dist/records/domains/search.js +1 -0
  109. package/dist/records/domains/settings.d.ts +5 -0
  110. package/dist/records/domains/settings.js +1 -0
  111. package/dist/records/domains/storyboard.d.ts +10 -0
  112. package/dist/records/domains/storyboard.js +1 -0
  113. package/dist/records/domains/subtitle-style.d.ts +13 -0
  114. package/dist/records/domains/subtitle-style.js +1 -0
  115. package/dist/records/domains/subtitle.d.ts +12 -0
  116. package/dist/records/domains/subtitle.js +1 -0
  117. package/dist/records/domains/template.d.ts +10 -0
  118. package/dist/records/domains/template.js +1 -0
  119. package/dist/records/domains/user-notification-status.d.ts +30 -0
  120. package/dist/records/domains/user-notification-status.js +1 -0
  121. package/dist/records/domains/user-notification.d.ts +69 -0
  122. package/dist/records/domains/user-notification.js +1 -0
  123. package/dist/records/domains/user.d.ts +23 -0
  124. package/dist/records/domains/user.js +1 -0
  125. package/dist/records/exact/asset.d.ts +83 -0
  126. package/dist/records/exact/asset.js +1 -0
  127. package/dist/records/exact/index.d.ts +36 -0
  128. package/dist/records/exact/index.js +4 -0
  129. package/dist/records/exact/media.d.ts +52 -0
  130. package/dist/records/exact/media.js +1 -0
  131. package/dist/records/exact/monitor.d.ts +46 -0
  132. package/dist/records/exact/monitor.js +1 -0
  133. package/dist/records/exact/storage.d.ts +32 -0
  134. package/dist/records/exact/storage.js +1 -0
  135. package/dist/records/index.d.ts +10 -0
  136. package/dist/records/index.js +2 -0
  137. package/dist/records/utils.d.ts +7 -0
  138. package/dist/records/utils.js +1 -0
  139. package/dist/records/utils.tds.d.ts +1 -0
  140. package/dist/records/utils.tds.js +7 -0
  141. package/dist/records/validate/assert-guard.d.ts +4 -0
  142. package/dist/records/validate/assert-guard.js +15861 -0
  143. package/dist/records/validate/assert.d.ts +4 -0
  144. package/dist/records/validate/assert.js +15990 -0
  145. package/dist/records/validate/is.d.ts +4 -0
  146. package/dist/records/validate/is.js +1017 -0
  147. package/dist/records/validate/schemas.d.ts +9 -0
  148. package/dist/records/validate/schemas.js +12613 -0
  149. package/dist/records/validate/stringify.d.ts +4 -0
  150. package/dist/records/validate/stringify.js +1904 -0
  151. package/dist/records/validate/utils.d.ts +15 -0
  152. package/dist/records/validate/utils.js +18 -0
  153. package/dist/records/validate/utils.test.d.ts +1 -0
  154. package/dist/records/validate/utils.test.js +35 -0
  155. package/dist/records/validate/validate.d.ts +5 -0
  156. package/dist/records/validate/validate.js +14943 -0
  157. package/dist/rpc.d.ts +5 -15
  158. package/dist/rpc.js +126 -511
  159. package/dist/tsdoc-metadata.json +1 -1
  160. package/package.json +25 -15
  161. package/dist/asset.d.ts +0 -72
  162. package/dist/domains/asset.d.ts +0 -227
  163. package/dist/domains/asset.js +0 -2672
  164. package/dist/domains/bundle.d.ts +0 -25
  165. package/dist/domains/bundle.js +0 -512
  166. package/dist/domains/clone.d.ts +0 -14
  167. package/dist/domains/clone.js +0 -192
  168. package/dist/domains/comment-reaction.d.ts +0 -15
  169. package/dist/domains/comment-reaction.js +0 -115
  170. package/dist/domains/comment-read-mark.d.ts +0 -15
  171. package/dist/domains/comment-read-mark.js +0 -115
  172. package/dist/domains/comment.d.ts +0 -153
  173. package/dist/domains/comment.js +0 -5906
  174. package/dist/domains/connection.d.ts +0 -141
  175. package/dist/domains/connection.js +0 -5860
  176. package/dist/domains/contact.d.ts +0 -16
  177. package/dist/domains/contact.js +0 -149
  178. package/dist/domains/deepstream.d.ts +0 -14
  179. package/dist/domains/deepstream.js +0 -139
  180. package/dist/domains/design.d.ts +0 -24
  181. package/dist/domains/design.js +0 -303
  182. package/dist/domains/edit.d.ts +0 -17
  183. package/dist/domains/edit.js +0 -224
  184. package/dist/domains/event.d.ts +0 -170
  185. package/dist/domains/event.js +0 -2779
  186. package/dist/domains/file.d.ts +0 -51
  187. package/dist/domains/file.js +0 -2506
  188. package/dist/domains/general.d.ts +0 -84
  189. package/dist/domains/general.js +0 -906
  190. package/dist/domains/index.d.ts +0 -75
  191. package/dist/domains/index.js +0 -37
  192. package/dist/domains/media.d.ts +0 -113
  193. package/dist/domains/media.js +0 -4642
  194. package/dist/domains/monitor.d.ts +0 -416
  195. package/dist/domains/monitor.js +0 -6382
  196. package/dist/domains/panel.d.ts +0 -371
  197. package/dist/domains/panel.js +0 -3198
  198. package/dist/domains/permission.d.ts +0 -61
  199. package/dist/domains/permission.js +0 -1926
  200. package/dist/domains/pipeline-preset.d.ts +0 -17
  201. package/dist/domains/pipeline-preset.js +0 -236
  202. package/dist/domains/pipeline.d.ts +0 -30
  203. package/dist/domains/pipeline.js +0 -460
  204. package/dist/domains/planning.d.ts +0 -33
  205. package/dist/domains/planning.js +0 -324
  206. package/dist/domains/publish.d.ts +0 -1452
  207. package/dist/domains/publish.js +0 -35415
  208. package/dist/domains/published.d.ts +0 -19
  209. package/dist/domains/published.js +0 -204
  210. package/dist/domains/render-preset.d.ts +0 -4
  211. package/dist/domains/render.d.ts +0 -158
  212. package/dist/domains/render.js +0 -4452
  213. package/dist/domains/revs.d.ts +0 -13
  214. package/dist/domains/revs.js +0 -125
  215. package/dist/domains/role.d.ts +0 -13
  216. package/dist/domains/role.js +0 -119
  217. package/dist/domains/script.d.ts +0 -263
  218. package/dist/domains/script.js +0 -6777
  219. package/dist/domains/search.d.ts +0 -16
  220. package/dist/domains/search.js +0 -168
  221. package/dist/domains/settings.d.ts +0 -12
  222. package/dist/domains/settings.js +0 -7180
  223. package/dist/domains/storyboard.d.ts +0 -14
  224. package/dist/domains/storyboard.js +0 -125
  225. package/dist/domains/subtitle-style.d.ts +0 -42
  226. package/dist/domains/subtitle-style.js +0 -574
  227. package/dist/domains/subtitle.d.ts +0 -19
  228. package/dist/domains/subtitle.js +0 -212
  229. package/dist/domains/template.d.ts +0 -23
  230. package/dist/domains/template.js +0 -372
  231. package/dist/domains/user-notification-status.d.ts +0 -55
  232. package/dist/domains/user-notification-status.js +0 -715
  233. package/dist/domains/user-notification.d.ts +0 -118
  234. package/dist/domains/user-notification.js +0 -3040
  235. package/dist/domains/user.d.ts +0 -48
  236. package/dist/domains/user.js +0 -481
  237. package/dist/monitor.d.ts +0 -71
  238. package/dist/monitor.js +0 -1942
  239. package/dist/schema.json +0 -9836
  240. package/dist/storage.d.ts +0 -51
  241. package/dist/storage.js +0 -1036
  242. /package/dist/{asset.js → common/subtitle-style.js} +0 -0
  243. /package/dist/{domains/render-preset.js → records/domains/asset.js} +0 -0
@@ -28,24 +28,21 @@ declare interface AddOperation {
28
28
  value: any;
29
29
  }
30
30
 
31
- export declare const assertGuardNxtpressionFetch: AssertionGuard<NxtpressionFetch>;
32
-
33
- export declare const assertGuardNxtpressionNxt: AssertionGuard<NxtpressionNxt>;
34
-
35
- declare type AssertionGuard<T> = (input: unknown) => asserts input is T;
36
-
37
- export declare const assertNxtpressionFetch: (input: unknown) => NxtpressionFetch;
38
-
39
- export declare const assertNxtpressionNxt: (input: unknown) => NxtpressionNxt;
40
-
41
- export declare const assertStringifyNxtpressionFetch: (input: unknown) => string;
42
-
43
- export declare const assertStringifyNxtpressionNxt: (input: unknown) => string;
44
-
45
31
  declare interface AssetAssigneesProvidedRecord {
46
32
  value?: string[];
47
33
  }
48
34
 
35
+ declare interface AssetAssigneesRecord {
36
+ value?: Nxtpression<string[], {
37
+ id: string;
38
+ }>;
39
+ dynamic?: Dynamic;
40
+ }
41
+
42
+ declare interface AssetCloneRecord {
43
+ rules: CloneRule[];
44
+ }
45
+
49
46
  declare interface AssetCommentsRecord {
50
47
  /**
51
48
  * IDs of comment assets associated with the asset.
@@ -59,6 +56,22 @@ declare interface AssetCreatedProvidedRecord {
59
56
  origin?: string;
60
57
  }
61
58
 
59
+ declare interface AssetDaemonRecord {
60
+ "user-notify"?: boolean;
61
+ }
62
+
63
+ declare interface AssetDaemonUserNotifyStateRecord {
64
+ since?: string | 0 | null;
65
+ version?: number;
66
+ }
67
+
68
+ declare interface AssetDeadlinesRecord {
69
+ value?: Nxtpression<string, {
70
+ id: string;
71
+ }>;
72
+ dynamic?: Dynamic;
73
+ }
74
+
62
75
  declare interface AssetDomainControllersProvidedRecord {
63
76
  value?: string[];
64
77
  }
@@ -68,7 +81,7 @@ declare interface AssetDomainDeadlinesProvidedRecord {
68
81
  }
69
82
 
70
83
  declare interface AssetDomainDurationProvidedRecord {
71
- value?: number;
84
+ value?: number | null;
72
85
  }
73
86
 
74
87
  declare interface AssetDomainEmbeddingProvidedRecord {
@@ -76,7 +89,7 @@ declare interface AssetDomainEmbeddingProvidedRecord {
76
89
  }
77
90
 
78
91
  declare interface AssetDomainIconProvidedRecord {
79
- value?: string;
92
+ value?: string | null;
80
93
  }
81
94
 
82
95
  declare interface AssetDomainLocationsProvidedRecord {
@@ -126,20 +139,58 @@ declare interface AssetDomainRecords {
126
139
  }
127
140
 
128
141
  declare interface AssetDomainStatusProvidedRecord {
129
- messages: Array<{
142
+ messages?: Array<{
130
143
  id: string;
131
144
  msg: string;
132
145
  level: number;
133
- code: string;
146
+ code?: string;
134
147
  expose?: boolean | null;
135
148
  index?: number | null;
136
149
  }>;
137
150
  }
138
151
 
152
+ declare interface AssetDurationRecord {
153
+ value?: Nxtpression<number, {
154
+ id: string;
155
+ }>;
156
+ dynamic?: Dynamic;
157
+ }
158
+
159
+ declare interface AssetEmbeddingRecord {
160
+ value?: Nxtpression<string, {
161
+ id: string;
162
+ }>;
163
+ dynamic?: Dynamic;
164
+ }
165
+
139
166
  declare interface AssetFileRefsProvidedRecord {
140
167
  value?: string[];
141
168
  }
142
169
 
170
+ declare interface AssetIconRecord {
171
+ value?: Nxtpression<string, {
172
+ id: string;
173
+ }>;
174
+ dynamic?: Dynamic;
175
+ }
176
+
177
+ declare interface AssetLocationsRecord {
178
+ value?: Nxtpression<Array<{
179
+ lat: number;
180
+ lon: number;
181
+ }>, {
182
+ id: string;
183
+ }>;
184
+ dynamic?: Dynamic;
185
+ }
186
+
187
+ declare interface AssetMediaRecord {
188
+ value?: Nxtpression<Record<string, unknown>, {
189
+ id: string;
190
+ }>;
191
+ dynamic?: Dynamic;
192
+ }
193
+
143
194
  declare interface AssetModifiedProvidedRecord {
144
195
  time?: string;
145
196
  user?: string;
@@ -153,73 +204,17 @@ declare interface AssetPermission {
153
204
  }
154
205
 
155
206
  declare interface AssetRecords {
156
- "asset.assignees": {
157
- value?: Nxtpression<string[], {
158
- id: string;
159
- }>;
160
- dynamic?: Dynamic;
161
- };
162
- "asset.clone": {
163
- rules: CloneRule[];
164
- };
165
- "asset.deadlines": {
166
- value?: Nxtpression<string, {
167
- id: string;
168
- }>;
169
- dynamic?: Dynamic;
170
- };
171
- "asset.duration": {
172
- value?: Nxtpression<number, {
173
- id: string;
174
- }>;
175
- dynamic?: Dynamic;
176
- };
177
- "asset.embedding": {
178
- value?: Nxtpression<string, {
179
- id: string;
180
- }>;
181
- dynamic?: Dynamic;
182
- };
183
- "asset.icon": {
184
- value?: Nxtpression<string, {
185
- id: string;
186
- }>;
187
- dynamic?: Dynamic;
188
- };
189
- "asset.locations": {
190
- value?: Nxtpression<Array<{
191
- lat: number;
192
- lon: number;
193
- }>, {
194
- id: string;
195
- }>;
196
- dynamic?: Dynamic;
197
- };
198
- "asset.media": {
199
- value?: Nxtpression<Record<string, unknown>, {
200
- id: string;
201
- }>;
202
- dynamic?: Dynamic;
203
- };
204
- "asset.tags": {
205
- value?: Nxtpression<string[], {
206
- id: string;
207
- }>;
208
- dynamic?: Dynamic;
209
- };
210
- "asset.title": {
211
- value?: Nxtpression<string, {
212
- id: string;
213
- }>;
214
- dynamic?: Dynamic;
215
- };
216
- "asset.types": {
217
- [type: string]: null | string | {
218
- priority?: number;
219
- label: string;
220
- icon?: string;
221
- };
222
- };
207
+ "asset.assignees": AssetAssigneesRecord;
208
+ "asset.clone": AssetCloneRecord;
209
+ "asset.deadlines": AssetDeadlinesRecord;
210
+ "asset.duration": AssetDurationRecord;
211
+ "asset.embedding": AssetEmbeddingRecord;
212
+ "asset.icon": AssetIconRecord;
213
+ "asset.locations": AssetLocationsRecord;
214
+ "asset.media": AssetMediaRecord;
215
+ "asset.tags": AssetTagsRecord;
216
+ "asset.title": AssetTitleRecord;
217
+ "asset.types": AssetTypesRecord;
223
218
  }
224
219
 
225
220
  declare interface AssetRef {
@@ -236,14 +231,36 @@ declare interface AssetTagsProvidedRecord {
236
231
  value?: string[];
237
232
  }
238
233
 
234
+ declare interface AssetTagsRecord {
235
+ value?: Nxtpression<string[], {
236
+ id: string;
237
+ }>;
238
+ dynamic?: Dynamic;
239
+ }
240
+
239
241
  declare interface AssetTitleProvidedRecord {
240
242
  value?: string;
241
243
  }
242
244
 
245
+ declare interface AssetTitleRecord {
246
+ value?: Nxtpression<string, {
247
+ id: string;
248
+ }>;
249
+ dynamic?: Dynamic;
250
+ }
251
+
243
252
  declare interface AssetTypesProvidedRecord {
244
253
  value?: string[];
245
254
  }
246
255
 
256
+ declare interface AssetTypesRecord {
257
+ [type: string]: null | string | {
258
+ priority?: number;
259
+ label: string;
260
+ icon?: string;
261
+ };
262
+ }
263
+
247
264
  declare interface BundleDomainRecords {
248
265
  [":bundle"]: BundleRecord;
249
266
  [":bundle.revisions"]: BundleRevisionsRecord;
@@ -259,6 +276,10 @@ declare interface BundleRevisionsRecord {
259
276
  [revisionId: string]: BundleRecord;
260
277
  }
261
278
 
279
+ declare type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
280
+
281
+ declare type Cast_2<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
282
+
262
283
  declare interface CloneDomainCloneRecord {
263
284
  rules: CloneRule[];
264
285
  }
@@ -310,7 +331,7 @@ declare interface CommentReactionDomainRecord {
310
331
  }
311
332
 
312
333
  declare interface CommentReactionDomainRecords {
313
- "comment-reaction": CommentReactionDomainRecord;
334
+ ":comment-reaction": CommentReactionDomainRecord;
314
335
  }
315
336
 
316
337
  declare interface CommentReactionsProvidedRecord {
@@ -327,12 +348,16 @@ declare interface CommentReadMarkDomainRecord {
327
348
  }
328
349
 
329
350
  declare interface CommentReadMarkDomainRecords {
330
- "comment-read-mark": CommentReadMarkDomainRecord;
351
+ ":comment-read-mark": CommentReadMarkDomainRecord;
352
+ }
353
+
354
+ declare interface ConnectionDomainMethodsRecord {
355
+ [key: string]: object;
331
356
  }
332
357
 
333
358
  declare interface ConnectionDomainRecords {
334
359
  [":connection"]: ConnectionRecord;
335
- [":connection.methods?"]: Record<string, object>;
360
+ [":connection.methods?"]: ConnectionDomainMethodsRecord;
336
361
  [":connection.stats?"]: ConnectionStatsRecord;
337
362
  }
338
363
 
@@ -377,6 +402,19 @@ declare interface DeepstreamDomainReplicateRecord {
377
402
  since?: string | 0 | null;
378
403
  }
379
404
 
405
+ declare interface DeepstreamReplicatorStatsRecord {
406
+ replicators?: Record<string, {
407
+ to: {
408
+ synced?: boolean;
409
+ since?: string | 0 | null;
410
+ };
411
+ from: {
412
+ since?: string | 0 | null;
413
+ };
414
+ }>;
415
+ synced?: boolean;
416
+ }
417
+
380
418
  declare interface DesignDomainRecord<Id = string, Key = string, Value = unknown> {
381
419
  rows: DesignViewRow<Id, Key, Value>[];
382
420
  }
@@ -391,11 +429,7 @@ declare interface DesignViewRow<Id = string, Key = string, Value = void> {
391
429
  value: Value;
392
430
  }
393
431
 
394
- declare type DomainRecords = AssetDomainRecords & BundleDomainRecords & CloneDomainRecords & CommentReactionDomainRecords & CommentReadMarkDomainRecords & CommentDomainRecords & ConnectionDomainRecords & ContactDomainRecords & DeepstreamDomainRecords & DesignDomainRecords & EditDomainRecords & EventDomainRecords & FileDomainRecords & GeneralDomainRecords & MediaDomainRecords & MonitorDomainRecords & PanelDomainRecords & PermissionDomainRecords & PipelinePresetDomainRecords & PipelineDomainRecords & PlanningDomainRecords & PublishDomainRecords & PublishedDomainRecords & RenderPresetDomainRecords & RenderDomainRecords & RevsDomainRecords & RoleDomainRecords & ScriptDomainRecords & SearchDomainRecords & SettingsDomainRecords & StoryboardDomainRecords & SubtitleStyleDomainRecords & SubtitleDomainRecords & TemplateDomainRecords & UserNotificationStatusDomainRecords & UserNotificationDomainRecords & UserDomainRecords;
395
-
396
- declare interface DomainRows {
397
- rows: string[];
398
- }
432
+ declare type DomainRecords = AssetDomainRecords & BundleDomainRecords & CloneDomainRecords & CommentReactionDomainRecords & CommentReadMarkDomainRecords & CommentDomainRecords & ConnectionDomainRecords & ContactDomainRecords & DeepstreamDomainRecords & DesignDomainRecords & EditDomainRecords & EventDomainRecords & FileDomainRecords & GeneralDomainRecords & MediaDomainRecords & MonitorDomainRecords & PanelDomainRecords & PermissionDomainRecords & PipelinePresetDomainRecords & PipelineDomainRecords & PlanningDomainRecords & PrompterDomainRecords & PublishDomainRecords & PublishedDomainRecords & RenderPresetDomainRecords & RenderDomainRecords & RevsDomainRecords & RoleDomainRecords & ScriptDomainRecords & SearchDomainRecords & SettingsDomainRecords & StoryboardDomainRecords & SubtitleStyleDomainRecords & SubtitleDomainRecords & TemplateDomainRecords & UserNotificationStatusDomainRecords & UserNotificationDomainRecords & UserDomainRecords;
399
433
 
400
434
  declare type Domains = Exclude<keyof DomainRecords, ":design">;
401
435
 
@@ -420,12 +454,27 @@ declare interface ElementNodeContent {
420
454
  children: TextNodeContent[];
421
455
  }
422
456
 
457
+ declare type Escaper = {
458
+ '"': '\\"';
459
+ "\\": "\\\\";
460
+ "\b": "\\b";
461
+ "\f": "\\f";
462
+ "\n": "\\n";
463
+ "\r": "\\r";
464
+ "\t": "\\t";
465
+ };
466
+
467
+ declare interface EventChildrenRecord {
468
+ value: string[];
469
+ }
470
+
423
471
  declare interface EventDomainRecords {
424
472
  ":event": EventRecord;
425
473
  ":event._template?": EventTemplateRecord;
426
474
  ":event.overlay?": EventOverlayRecord;
427
475
  ":event.template?": EventTemplateRecord;
428
476
  ":event.duration?": EventDurationRecord;
477
+ ":event.children?": EventChildrenRecord;
429
478
  ":event.props?": EventPropsRecord;
430
479
  }
431
480
 
@@ -452,6 +501,7 @@ declare interface EventOverlayRecord {
452
501
  declare type EventProps = {
453
502
  source?: string;
454
503
  cueCard?: boolean | string;
504
+ startTime?: number;
455
505
  };
456
506
 
457
507
  declare type EventPropsRecord = EventProps & Record<Exclude<string, keyof EventProps>, JsonValue>;
@@ -474,6 +524,8 @@ declare interface EventTemplateRecord {
474
524
  };
475
525
  }
476
526
 
527
+ declare type ExactRecords = MiscRecords & MediaRecords & AssetRecords & MonitorRecords & StorageRecords;
528
+
477
529
  declare interface FacebookConnectionRecord extends ConnectionRecordCommon {
478
530
  type: "facebook";
479
531
  grantedScopes?: string[];
@@ -757,10 +809,6 @@ declare interface HorizontalRuleContent {
757
809
  type: "horizontalrule";
758
810
  }
759
811
 
760
- export declare const isNxtpressionFetch: (input: unknown) => input is NxtpressionFetch;
761
-
762
- export declare const isNxtpressionNxt: (input: unknown) => input is NxtpressionNxt;
763
-
764
812
  declare type IsoTimestamp = string;
765
813
 
766
814
  declare type JsonPrimitive = string | number | boolean | null;
@@ -770,7 +818,7 @@ declare type JsonValue = JsonPrimitive | JsonValue[] | {
770
818
  };
771
819
 
772
820
  declare interface KeymapSetting {
773
- title: string;
821
+ title?: string;
774
822
  sequence?: string;
775
823
  }
776
824
 
@@ -790,18 +838,46 @@ declare interface ListNodeContent {
790
838
  children: ListItemNodeContent[];
791
839
  }
792
840
 
841
+ /**
842
+ * Maximum value constraint tag.
843
+ *
844
+ * Enforces that a numeric value must be less than or equal to the specified
845
+ * maximum. This constraint validates that the input value satisfies: input <=
846
+ * maximum.
847
+ *
848
+ * Example usage:
849
+ *
850
+ * ```typescript
851
+ * type Percentage = number & tags.Maximum<100>; // Must be <= 100
852
+ * type SmallInt = bigint & tags.Maximum<255n>; // BigInt must be <= 255
853
+ * ```
854
+ *
855
+ * Note: This tag is mutually exclusive with ExclusiveMaximum. You cannot apply
856
+ * both Maximum and ExclusiveMaximum constraints to the same property.
857
+ *
858
+ * @author Jeongho Nam - https://github.com/samchon
859
+ * @template Value - The maximum value constraint (number or bigint literal)
860
+ */
793
861
  declare type Maximum<Value extends number | bigint> = TagBase<{
794
- target: Value extends number ? "number" : "bigint";
862
+ target: Value extends bigint ? "bigint" : "number";
795
863
  kind: "maximum";
796
864
  value: Value;
797
- validate: `$input <= ${Numeric_2<Value>}`;
865
+ validate: `$input <= ${Cast_2<Value>}`;
798
866
  exclusive: ["maximum", "exclusiveMaximum"];
799
- schema: Value extends number ? {
867
+ schema: Value extends bigint ? {
868
+ maximum: Numeric_2<Value>;
869
+ } : {
800
870
  maximum: Value;
801
- } : undefined;
871
+ };
802
872
  }>;
803
873
 
804
874
  declare interface MediaConsolidateRecord {
875
+ presets?: {
876
+ [type in MediaType]: RenderPreset;
877
+ };
878
+ }
879
+
880
+ declare interface MediaDomainConsolidateRecord {
805
881
  source?: unknown;
806
882
  target?: unknown;
807
883
  preset?: RenderPreset;
@@ -810,20 +886,33 @@ declare interface MediaConsolidateRecord {
810
886
 
811
887
  declare interface MediaDomainRecords {
812
888
  ":media.source": MediaSourceRecord;
813
- ":media.consolidate": MediaConsolidateRecord;
889
+ ":media.consolidate": MediaDomainConsolidateRecord;
814
890
  ":media.renders?": MediaRendersRecord;
815
891
  ":media.transcriptChanges": MediaTranscriptChangesRecord;
816
892
  ":media.font": MediaFontRecord;
817
893
  ":media.restrictions?": MediaRestrictionsRecord;
818
894
  ":media.probe?": MediaProbeRecord;
819
- ":media.updateSubtitles?": Record<string, unknown>;
820
- ":media.updateGraphics?": Record<string, unknown>;
895
+ ":media.updateSubtitles?": MediaDomainUpdateSubtitlesRecord;
896
+ ":media.updateGraphics?": MediaDomainUpdateGraphicsRecord;
897
+ }
898
+
899
+ declare interface MediaDomainUpdateGraphicsRecord {
900
+ [key: string]: unknown;
901
+ }
902
+
903
+ declare interface MediaDomainUpdateSubtitlesRecord {
904
+ [key: string]: unknown;
821
905
  }
822
906
 
823
907
  declare interface MediaFontRecord {
824
908
  sampleText?: string;
825
909
  }
826
910
 
911
+ declare interface MediaFonts {
912
+ fontFaces?: FontFace_2[];
913
+ fontFamilyNames?: Array<FontFace_2["family"]>;
914
+ }
915
+
827
916
  declare interface MediaProbeRecord {
828
917
  duration?: number | null;
829
918
  error: NxtError | null;
@@ -835,6 +924,14 @@ declare interface MediaProbeRecord {
835
924
  };
836
925
  }
837
926
 
927
+ declare interface MediaRecords {
928
+ "media.subtitles": MediaSubtitlesRecord;
929
+ "media.subtitles?": MediaSubtitlesProvidedRecord;
930
+ "media.transcribe?": MediaTranscribeProvidedRecord;
931
+ "media.fonts?": MediaFonts;
932
+ "media.consolidate": MediaConsolidateRecord;
933
+ }
934
+
838
935
  declare interface MediaRenderRecordValue {
839
936
  id?: string;
840
937
  title?: string;
@@ -859,6 +956,24 @@ declare interface MediaRestrictionsRecord {
859
956
 
860
957
  declare type MediaSourceRecord = RenderSceneObject;
861
958
 
959
+ declare interface MediaSubtitlesProvidedRecord {
960
+ languages?: Record<string, string>;
961
+ fontFaces?: SubtitleFontFace[];
962
+ }
963
+
964
+ declare interface MediaSubtitlesRecord {
965
+ languages?: Record<string, string>;
966
+ fontFaces?: SubtitleFontFace[];
967
+ }
968
+
969
+ declare interface MediaTranscribeProvidedRecord {
970
+ engines: Record<string, string>;
971
+ languages: Record<string, string>;
972
+ translate?: {
973
+ languages: Record<string, string>;
974
+ };
975
+ }
976
+
862
977
  declare type MediaTranscriptChangesRecord = {
863
978
  [patchKey: string]: MediaTranscriptChangesRecordValue;
864
979
  };
@@ -875,24 +990,52 @@ declare interface Message {
875
990
  msg: string;
876
991
  }
877
992
 
993
+ /**
994
+ * Minimum value constraint tag.
995
+ *
996
+ * Enforces that a numeric value must be greater than or equal to the specified
997
+ * minimum. This constraint validates that the input value satisfies: input >=
998
+ * minimum.
999
+ *
1000
+ * Example usage:
1001
+ *
1002
+ * ```typescript
1003
+ * type Age = number & tags.Minimum<0>; // Age must be 0 or greater
1004
+ * type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
1005
+ * ```
1006
+ *
1007
+ * Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply
1008
+ * both Minimum and ExclusiveMinimum constraints to the same property.
1009
+ *
1010
+ * @author Jeongho Nam - https://github.com/samchon
1011
+ * @template Value - The minimum value constraint (number or bigint literal)
1012
+ */
878
1013
  declare type Minimum<Value extends number | bigint> = TagBase<{
879
- target: Value extends number ? "number" : "bigint";
1014
+ target: Value extends bigint ? "bigint" : "number";
880
1015
  kind: "minimum";
881
1016
  value: Value;
882
- validate: `${Numeric<Value>} <= $input`;
1017
+ validate: `${Cast<Value>} <= $input`;
883
1018
  exclusive: ["minimum", "exclusiveMinimum"];
884
- schema: Value extends number ? {
1019
+ schema: Value extends bigint ? {
1020
+ minimum: Numeric<Value>;
1021
+ } : {
885
1022
  minimum: Value;
886
- } : undefined;
1023
+ };
887
1024
  }>;
888
1025
 
1026
+ declare interface MiscRecords {
1027
+ "asset-daemon": AssetDaemonRecord;
1028
+ "asset-daemon:user-notify.state": AssetDaemonUserNotifyStateRecord;
1029
+ "deepstream-replicator.stats?": DeepstreamReplicatorStatsRecord;
1030
+ }
1031
+
889
1032
  declare interface ModuleTabs {
890
- [tabId: string]: ModuleTabsSettingsValue;
891
- settingsPanelStore: SettingsPanelStoreTab;
1033
+ [tabId: string]: ModuleTabsSettingsValue | undefined;
1034
+ settingsPanelStore?: SettingsPanelStoreTab;
892
1035
  }
893
1036
 
894
1037
  declare interface ModuleTabsSettingsValue {
895
- activeTab: string;
1038
+ activeTab?: string;
896
1039
  }
897
1040
 
898
1041
  declare interface MonitorDomainRecords {
@@ -900,7 +1043,7 @@ declare interface MonitorDomainRecords {
900
1043
  }
901
1044
 
902
1045
  declare interface MonitorRecords {
903
- "nxt.status?": NxtStatusRecord | null;
1046
+ "nxt.status?": NxtStatusRecord;
904
1047
  }
905
1048
 
906
1049
  declare interface MonitorStatsBuddyInfo {
@@ -1035,9 +1178,9 @@ declare type NodeContent = EventNodeContent | TextNodeContent | ParagraphNodeCon
1035
1178
 
1036
1179
  declare type NotificationReason = "mentioned" | "assigned" | "author" | "participated" | "always";
1037
1180
 
1038
- declare type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
1181
+ declare type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
1039
1182
 
1040
- declare type Numeric_2<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
1183
+ declare type Numeric_2<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
1041
1184
 
1042
1185
  declare interface NxtError {
1043
1186
  message: string;
@@ -1052,7 +1195,7 @@ declare interface NxtError {
1052
1195
  errors?: NxtError[] | null;
1053
1196
  }
1054
1197
 
1055
- declare type Nxtpression<ReturnValue = string, Context extends object = object> = (String & {
1198
+ declare type Nxtpression<ReturnValue = string, Context extends object = object> = {
1056
1199
  /**
1057
1200
  * TS-HACK: this property doesn't really exist on the nxtpression string,
1058
1201
  * it is only here to make sure the generic Context won't get stripped.
@@ -1063,7 +1206,7 @@ declare type Nxtpression<ReturnValue = string, Context extends object = object>
1063
1206
  * it is only here to make sure the generic Context won't get stripped.
1064
1207
  */
1065
1208
  __returnValue: ReturnValue;
1066
- }) | string | ReturnValue;
1209
+ } | string | ReturnValue;
1067
1210
 
1068
1211
  export declare interface NxtpressionFetch {
1069
1212
  body: string | null;
@@ -1383,11 +1526,29 @@ declare interface ParagraphNodeContent extends ElementNodeContent {
1383
1526
 
1384
1527
  declare type Paths<Data> = keyof Data & string;
1385
1528
 
1529
+ /**
1530
+ * String pattern (regular expression) constraint tag.
1531
+ *
1532
+ * Validates that a string matches a specified regular expression pattern. Use
1533
+ * this tag to enforce custom string formats through regex validation.
1534
+ *
1535
+ * Examples:
1536
+ *
1537
+ * ```ts
1538
+ * type PhoneNumber = string & Pattern<"^\d{3}-\d{3}-\d{4}$">; // 123-456-7890
1539
+ * type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
1540
+ * ```
1541
+ *
1542
+ * Note: This tag is mutually exclusive with the Format tag. You cannot use both
1543
+ * Pattern and Format on the same type.
1544
+ *
1545
+ * @author Jeongho Nam - https://github.com/samchon
1546
+ */
1386
1547
  declare type Pattern<Value extends string> = TagBase<{
1387
1548
  target: "string";
1388
1549
  kind: "pattern";
1389
1550
  value: Value;
1390
- validate: `/${Value}/.test($input)`;
1551
+ validate: `RegExp("${Serialize<Value>}").test($input)`;
1391
1552
  exclusive: ["format", "pattern"];
1392
1553
  schema: {
1393
1554
  pattern: Value;
@@ -1461,6 +1622,26 @@ declare interface PromotedTag {
1461
1622
  description: string | null;
1462
1623
  }
1463
1624
 
1625
+ declare interface PrompterDomainRecord {
1626
+ asset: string;
1627
+ primaryColor: string;
1628
+ secondaryColor: string;
1629
+ backgroundColor: string;
1630
+ fontFamily?: string;
1631
+ fontFamilies?: string[];
1632
+ genericFontFamily?: string;
1633
+ fontSize: number;
1634
+ lineHeight: number;
1635
+ markerPosition: number;
1636
+ padding: number;
1637
+ dummy?: boolean;
1638
+ showInfo?: boolean;
1639
+ }
1640
+
1641
+ declare interface PrompterDomainRecords {
1642
+ ":prompter": PrompterDomainRecord;
1643
+ }
1644
+
1464
1645
  declare interface ProvidedPermissionRecord {
1465
1646
  permissions: PermissionRecordPermisson[];
1466
1647
  }
@@ -1469,13 +1650,17 @@ declare interface PublishDomainAcceptsProvidedRecord {
1469
1650
  value?: unknown;
1470
1651
  }
1471
1652
 
1653
+ declare interface PublishDomainMethodsRecord {
1654
+ [key: string]: {
1655
+ rpcId: string;
1656
+ rpcData: Record<string, unknown>;
1657
+ };
1658
+ }
1659
+
1472
1660
  declare interface PublishDomainRecords {
1473
1661
  [":publish"]: PublishRecord;
1474
1662
  [":publish.stats?"]: PublishStatsRecord;
1475
- [":publish.methods?"]: Record<string, {
1476
- rpcId: string;
1477
- rpcData: Record<string, unknown>;
1478
- }>;
1663
+ [":publish.methods?"]: PublishDomainMethodsRecord;
1479
1664
  [":publish.accepts"]: PublishDomainAcceptsProvidedRecord;
1480
1665
  }
1481
1666
 
@@ -1533,21 +1718,6 @@ declare interface QuoteNodeContent extends ElementNodeContent {
1533
1718
  type: "quote";
1534
1719
  }
1535
1720
 
1536
- export declare const randomNxtpressionFetch: () => NxtpressionFetch;
1537
-
1538
- export declare const randomNxtpressionNxt: () => {
1539
- fetch: never;
1540
- observe: never;
1541
- then: never;
1542
- suspend: never;
1543
- asset: never;
1544
- ds: never;
1545
- get: never;
1546
- wrap: never;
1547
- timer: never;
1548
- hash: never;
1549
- };
1550
-
1551
1721
  declare type Range_2 = [
1552
1722
  number,
1553
1723
  number
@@ -1555,63 +1725,9 @@ number
1555
1725
 
1556
1726
  declare type Records = {
1557
1727
  [Property in Domains as `${string}${Property}`]: DomainRecords[Property];
1558
- } & {
1559
- ":permission": DomainRows;
1560
1728
  } & {
1561
1729
  [Property in keyof DesignDomainRecords as `${string}${Property}${string}`]: DesignDomainRecords[Property];
1562
- } & {
1563
- "media.subtitles": {
1564
- languages?: Record<string, string>;
1565
- fontFaces?: SubtitleFontFace[];
1566
- };
1567
- "media.subtitles?": {
1568
- languages?: Record<string, string>;
1569
- fontFaces?: SubtitleFontFace[];
1570
- };
1571
- "media.transcribe?": {
1572
- engines: Record<string, string>;
1573
- languages: Record<string, string>;
1574
- translate?: {
1575
- languages: Record<string, string>;
1576
- };
1577
- };
1578
- "media.fonts?": {
1579
- fontFaces?: FontFace_2[];
1580
- fontFamilyNames?: Array<FontFace_2["family"]>;
1581
- };
1582
- "media.consolidate": {
1583
- presets?: {
1584
- [type in MediaType]: RenderPreset;
1585
- };
1586
- };
1587
- "hub-transcribe:render-profile": {
1588
- format: string;
1589
- transcribe: {
1590
- engine: string;
1591
- };
1592
- pick: string[];
1593
- };
1594
- } & AssetRecords & {
1595
- "asset-daemon": {
1596
- "user-notify"?: boolean;
1597
- };
1598
- "asset-daemon:user-notify.state": {
1599
- since?: string | 0 | null;
1600
- version?: number;
1601
- };
1602
- "deepstream-replicator.stats?": {
1603
- replicators?: Record<string, {
1604
- to: {
1605
- synced?: boolean;
1606
- since?: string | 0 | null;
1607
- };
1608
- from: {
1609
- since?: string | 0 | null;
1610
- };
1611
- }>;
1612
- synced?: boolean;
1613
- };
1614
- } & MonitorRecords & StorageRecords;
1730
+ } & ExactRecords;
1615
1731
 
1616
1732
  declare type RecordState = RecordStateNumber | RecordStateString;
1617
1733
 
@@ -1748,8 +1864,10 @@ declare interface RenderDomainStatsRecord {
1748
1864
 
1749
1865
  declare type RenderPreset = RenderPresetObject | string;
1750
1866
 
1867
+ declare type RenderPresetDomainRecord = RenderPresetObject;
1868
+
1751
1869
  declare interface RenderPresetDomainRecords {
1752
- ":render-preset": RenderPresetObject;
1870
+ ":render-preset": RenderPresetDomainRecord;
1753
1871
  }
1754
1872
 
1755
1873
  declare interface RenderPresetObject {
@@ -1799,7 +1917,7 @@ declare interface RenderSceneObject {
1799
1917
  subtitleTracks?: {
1800
1918
  [trackId: string]: {
1801
1919
  style?: string | null;
1802
- styleOverrides?: Omit<SubtitleStyleDomainRecord, "scaledBorderAndShadow" | "futureWordWrapping">;
1920
+ styleOverrides?: SubtitleStyle;
1803
1921
  };
1804
1922
  };
1805
1923
  video?: {
@@ -1930,6 +2048,8 @@ declare interface SearchRecord {
1930
2048
  error?: string;
1931
2049
  }
1932
2050
 
2051
+ declare type Serialize<T extends string, Output extends string = ""> = string extends T ? never : T extends "" ? Output : T extends `${infer P}${infer R}` ? Serialize<R, `${Output}${P extends keyof Escaper ? Escaper[P] : P}`> : never;
2052
+
1933
2053
  declare interface SerializedAutoLinkNode {
1934
2054
  type: "autolink";
1935
2055
  version: 1;
@@ -2019,8 +2139,8 @@ declare interface SerializedTextNode {
2019
2139
  declare interface Settings {
2020
2140
  autoLogoutTime?: number;
2021
2141
  permission?: {
2022
- overrideUserContact: boolean;
2023
- overrideUserLogin: boolean;
2142
+ overrideUserContact?: boolean;
2143
+ overrideUserLogin?: boolean;
2024
2144
  };
2025
2145
  module?: {
2026
2146
  tabs?: ModuleTabs;
@@ -2039,20 +2159,20 @@ declare interface Settings {
2039
2159
  batchDownloadDialogMode?: "file" | "directory";
2040
2160
  };
2041
2161
  browser?: {
2042
- map: {
2162
+ map?: {
2043
2163
  clustering?: boolean;
2044
2164
  zoom?: number;
2045
2165
  center?: {
2046
- lat: number;
2047
- lon: number;
2166
+ lat?: number;
2167
+ lon?: number;
2048
2168
  };
2049
2169
  };
2050
- createMenu: {
2051
- sortOrder: string[];
2170
+ createMenu?: {
2171
+ sortOrder?: string[];
2052
2172
  };
2053
2173
  };
2054
2174
  toolbarTags?: {
2055
- exclude: string[];
2175
+ exclude?: string[];
2056
2176
  };
2057
2177
  /**
2058
2178
  * Controls which tags cannot be used together. When a tag from the group is
@@ -2060,11 +2180,11 @@ declare interface Settings {
2060
2180
  */
2061
2181
  exclusiveTagGroups?: string[][];
2062
2182
  deadlines?: {
2063
- include: string[];
2183
+ include?: string[];
2064
2184
  exclude?: string[];
2065
2185
  };
2066
2186
  assignees?: {
2067
- include: string[];
2187
+ include?: string[];
2068
2188
  exclude?: string[];
2069
2189
  };
2070
2190
  comments?: {
@@ -2072,12 +2192,12 @@ declare interface Settings {
2072
2192
  exclude?: string[];
2073
2193
  };
2074
2194
  clock?: {
2075
- enable: boolean;
2076
- show24Hours: boolean;
2077
- showAmPm: boolean;
2078
- showSeconds: boolean;
2079
- showDayOfWeek: boolean;
2080
- showDate: boolean;
2195
+ enable?: boolean;
2196
+ show24Hours?: boolean;
2197
+ showAmPm?: boolean;
2198
+ showSeconds?: boolean;
2199
+ showDayOfWeek?: boolean;
2200
+ showDate?: boolean;
2081
2201
  format?: string;
2082
2202
  };
2083
2203
  swarm?: {
@@ -2085,18 +2205,18 @@ declare interface Settings {
2085
2205
  name?: string;
2086
2206
  };
2087
2207
  dashboard?: {
2088
- maxMru: number;
2089
- maxTabs: number;
2208
+ maxMru?: number;
2209
+ maxTabs?: number;
2090
2210
  };
2091
2211
  script?: {
2092
- createMenu: {
2212
+ createMenu?: {
2093
2213
  sortBy?: "index" | "title";
2094
2214
  showPreview?: boolean;
2095
2215
  };
2096
- colorTags: PromotedTag[];
2097
- readType: "characters" | "words" | "wordsPerMinute";
2098
- readRate: number;
2099
- collapsedNodes: {
2216
+ colorTags?: PromotedTag[];
2217
+ readType?: "characters" | "words" | "wordsPerMinute";
2218
+ readRate?: number;
2219
+ collapsedNodes?: {
2100
2220
  [eventId: string]: {
2101
2221
  preview?: boolean;
2102
2222
  children?: boolean;
@@ -2107,82 +2227,83 @@ declare interface Settings {
2107
2227
  graphicBaseTemplate?: string;
2108
2228
  favorites?: string[];
2109
2229
  defaults?: Record<string, {
2110
- event: string;
2111
- property: string;
2230
+ event?: string;
2231
+ property?: string;
2112
2232
  }>;
2113
2233
  };
2114
2234
  rundown?: {
2115
- eventThumbnails: boolean;
2235
+ eventThumbnails?: boolean;
2116
2236
  };
2117
2237
  gallery?: {
2118
- dimOnBlur: boolean;
2238
+ dimOnBlur?: boolean;
2239
+ float?: "rundown" | "gallery" | "disabled";
2119
2240
  };
2120
2241
  history?: boolean;
2121
2242
  keymap?: {
2122
- display: {
2243
+ display?: {
2123
2244
  [actionKey: string]: KeymapSetting;
2124
2245
  };
2125
- browser: {
2246
+ browser?: {
2126
2247
  [actionKey: string]: KeymapSetting;
2127
2248
  };
2128
- gallery: {
2249
+ gallery?: {
2129
2250
  [actionKey: string]: KeymapSetting;
2130
2251
  };
2131
- global: {
2252
+ global?: {
2132
2253
  [actionKey: string]: KeymapSetting;
2133
2254
  };
2134
- player: {
2255
+ player?: {
2135
2256
  [actionKey: string]: KeymapSetting;
2136
2257
  };
2137
- script: {
2258
+ script?: {
2138
2259
  [actionKey: string]: KeymapSetting;
2139
2260
  };
2140
- codeEditor: {
2261
+ codeEditor?: {
2141
2262
  [actionKey: string]: KeymapSetting;
2142
2263
  };
2143
- bookmarks: {
2264
+ bookmarks?: {
2144
2265
  [actionKey: string]: KeymapSetting;
2145
2266
  };
2146
- edit: {
2267
+ edit?: {
2147
2268
  [actionKey: string]: KeymapSetting;
2148
2269
  };
2149
- rundown: {
2270
+ rundown?: {
2150
2271
  [actionKey: string]: KeymapSetting;
2151
2272
  };
2152
- segment: {
2273
+ segment?: {
2153
2274
  [actionKey: string]: KeymapSetting;
2154
2275
  };
2155
2276
  };
2156
2277
  media?: {
2157
- defaultFrameRate: number;
2278
+ defaultFrameRate?: number;
2158
2279
  placeholder?: string;
2159
2280
  guide?: {
2160
2281
  mask?: boolean;
2161
2282
  actionSafe?: boolean;
2162
2283
  titleSafe?: boolean;
2163
2284
  };
2164
- stepManyFrames: number;
2165
- liveZoomDuration: number;
2166
- importTitleTemplate: string;
2167
- tile: {
2168
- preview: boolean | "play" | "seek" | "seekplay" | "disabled";
2169
- showRenderProgress: boolean;
2285
+ stepManyFrames?: number;
2286
+ liveZoomDuration?: number;
2287
+ importTitleTemplate?: string;
2288
+ tile?: {
2289
+ preview?: boolean | "play" | "seek" | "seekplay" | "disabled";
2290
+ showRenderProgress?: boolean;
2170
2291
  };
2171
- timecodeReference: string;
2172
- maxSubclipDuration: number;
2173
- rewindStep: number;
2174
- forwardStep: number;
2175
- interlacedPlayback: string;
2176
- playbackRates: number[];
2177
- subtitles: {
2178
- spacing: number;
2179
- maxCharactersPerLine: number;
2292
+ timecodeReference?: string;
2293
+ maxSubclipDuration?: number;
2294
+ rewindStep?: number;
2295
+ forwardStep?: number;
2296
+ interlacedPlayback?: string;
2297
+ playbackRates?: number[];
2298
+ subtitles?: {
2299
+ spacing?: number;
2300
+ maxCharactersPerLine?: number;
2180
2301
  suggestions?: Array<{
2181
2302
  /** aspect ratio in the form of "width:height" */
2182
- ifAspectRatio?: string;
2183
- ifLang?: string;
2184
- thenStyle?: string;
2185
- thenMaxCharactersPerLine?: number;
2303
+ ifAspectRatio?: string | null;
2304
+ ifLang?: string | null;
2305
+ thenStyle?: string | null;
2306
+ thenMaxCharactersPerLine?: number | null;
2186
2307
  }>;
2187
2308
  colors?: Array<{
2188
2309
  label?: string | null;
@@ -2190,16 +2311,16 @@ declare interface Settings {
2190
2311
  }>;
2191
2312
  };
2192
2313
  subtitleTemplateId?: string;
2193
- initialVolume: string;
2194
- guides: Array<{
2195
- label: string;
2196
- aspectRatio: string;
2314
+ initialVolume?: string;
2315
+ guides?: Array<{
2316
+ label?: string;
2317
+ aspectRatio?: string;
2197
2318
  }>;
2198
- download: boolean;
2199
- editMode: {
2200
- enabled: boolean;
2201
- defaultEnterOption: "edit" | "createNew" | "none";
2202
- defaultExitOption: "update" | "leave" | "none";
2319
+ download?: boolean;
2320
+ editMode?: {
2321
+ enabled?: boolean;
2322
+ defaultEnterOption?: "edit" | "createNew" | "none";
2323
+ defaultExitOption?: "update" | "leave" | "none";
2203
2324
  };
2204
2325
  transcribe?: {
2205
2326
  subtitleDisclaimer?: {
@@ -2207,8 +2328,8 @@ declare interface Settings {
2207
2328
  defaultValue?: {
2208
2329
  enabled?: false;
2209
2330
  text?: Array<{
2210
- language: string;
2211
- value: string;
2331
+ language?: string;
2332
+ value?: string;
2212
2333
  }>;
2213
2334
  offset?: number;
2214
2335
  duration?: number;
@@ -2223,17 +2344,17 @@ declare interface Settings {
2223
2344
  } | string;
2224
2345
  };
2225
2346
  edit?: {
2226
- thumbnailView: "filmStrip" | "thumbnail" | "none";
2227
- voiceOver: {
2347
+ thumbnailView?: "filmStrip" | "thumbnail" | "none";
2348
+ voiceOver?: {
2228
2349
  inputDevice?: string;
2229
- inputGainDb: number;
2230
- backgroundReductionDb: number;
2231
- recordMode: "instant" | "punchAndRoll";
2232
- preRollDuration: number;
2350
+ inputGainDb?: number;
2351
+ backgroundReductionDb?: number;
2352
+ recordMode?: "instant" | "punchAndRoll";
2353
+ preRollDuration?: number;
2233
2354
  };
2234
2355
  };
2235
2356
  commands?: Array<{
2236
- title: string;
2357
+ title?: string;
2237
2358
  command?: string;
2238
2359
  args?: string[];
2239
2360
  }>;
@@ -2242,11 +2363,11 @@ declare interface Settings {
2242
2363
  folded?: {
2243
2364
  auto?: boolean;
2244
2365
  };
2245
- assets: {
2246
- story: {
2247
- excerpt: {
2248
- maxLines: number;
2249
- mode: string;
2366
+ assets?: {
2367
+ story?: {
2368
+ excerpt?: {
2369
+ maxLines?: number;
2370
+ mode?: string;
2250
2371
  comments?: boolean;
2251
2372
  };
2252
2373
  };
@@ -2254,26 +2375,26 @@ declare interface Settings {
2254
2375
  maxHeight?: number;
2255
2376
  };
2256
2377
  };
2257
- pipeline: {
2258
- search: {
2259
- maxItemsDisplayed: number;
2378
+ pipeline?: {
2379
+ search?: {
2380
+ maxItemsDisplayed?: number;
2260
2381
  };
2261
- sortMode: PipelineSortMode;
2382
+ sortMode?: PipelineSortMode;
2262
2383
  };
2263
- item: {
2264
- maxHeight: number;
2384
+ item?: {
2385
+ maxHeight?: number;
2265
2386
  };
2266
2387
  };
2267
2388
  print?: {
2268
2389
  fontFamilies?: string[];
2269
2390
  };
2270
2391
  hiddenPreviews?: Array<{
2271
- id: string;
2272
- folded: boolean;
2392
+ id?: string;
2393
+ folded?: boolean;
2273
2394
  }>;
2274
2395
  plugins?: {
2275
- adobe: {
2276
- useProxies: boolean;
2396
+ adobe?: {
2397
+ useProxies?: boolean;
2277
2398
  };
2278
2399
  rive?: {
2279
2400
  template?: string;
@@ -2287,14 +2408,14 @@ declare interface Settings {
2287
2408
  ameRemoteRendering?: boolean;
2288
2409
  };
2289
2410
  flags?: {
2290
- utils: boolean;
2291
- history: boolean;
2292
- refs: boolean;
2293
- access: boolean;
2294
- files: boolean;
2295
- export: boolean;
2296
- json: boolean;
2297
- hlsjs: boolean;
2411
+ utils?: boolean;
2412
+ history?: boolean;
2413
+ refs?: boolean;
2414
+ access?: boolean;
2415
+ files?: boolean;
2416
+ export?: boolean;
2417
+ json?: boolean;
2418
+ hlsjs?: boolean;
2298
2419
  resetRenders?: boolean;
2299
2420
  resetReplicas?: boolean;
2300
2421
  assetStatus?: boolean;
@@ -2305,11 +2426,11 @@ declare interface Settings {
2305
2426
  multiplexWebSockets?: boolean;
2306
2427
  };
2307
2428
  notifications?: {
2308
- events: {
2309
- comment: NotificationReason[];
2310
- assigned: NotificationReason[];
2311
- unassigned: NotificationReason[];
2312
- publishSucceeded: {
2429
+ events?: {
2430
+ comment?: NotificationReason[];
2431
+ assigned?: NotificationReason[];
2432
+ unassigned?: NotificationReason[];
2433
+ publishSucceeded?: {
2313
2434
  [connectionId: string]: NotificationReason[];
2314
2435
  };
2315
2436
  };
@@ -2318,13 +2439,15 @@ declare interface Settings {
2318
2439
  }
2319
2440
 
2320
2441
  declare interface SettingsDomainRecords {
2321
- ":settings": Settings;
2442
+ ":settings": SettingsRecord;
2322
2443
  }
2323
2444
 
2324
2445
  declare interface SettingsPanelStoreTab extends ModuleTabsSettingsValue {
2325
- activeSectionIndex: number;
2446
+ activeSectionIndex?: number;
2326
2447
  }
2327
2448
 
2449
+ declare type SettingsRecord = Settings;
2450
+
2328
2451
  declare type Spread<T1, T2> = Omit<T2, keyof T1> & T1;
2329
2452
 
2330
2453
  declare interface StorageLocationsRecord {
@@ -2367,15 +2490,15 @@ declare interface StoryboardDomainPipelinesRecord {
2367
2490
  value?: string[];
2368
2491
  }
2369
2492
 
2493
+ declare interface StoryboardDomainRecord {
2494
+ [key: string]: unknown;
2495
+ }
2496
+
2370
2497
  declare interface StoryboardDomainRecords {
2371
- ":storyboard": Record<string, unknown>;
2498
+ ":storyboard": StoryboardDomainRecord;
2372
2499
  ":storyboard.pipelines": StoryboardDomainPipelinesRecord;
2373
2500
  }
2374
2501
 
2375
- export declare const stringifyNxtpressionFetch: (input: NxtpressionFetch) => string;
2376
-
2377
- export declare const stringifyNxtpressionNxt: (input: NxtpressionNxt) => string;
2378
-
2379
2502
  /** OBSERVABLE INTERFACES */
2380
2503
  declare interface Subscribable<T> {
2381
2504
  subscribe(observer: Partial<Observer<T>>): Unsubscribable;
@@ -2593,7 +2716,7 @@ declare interface SubtitleProfile {
2593
2716
  style?: string;
2594
2717
  }
2595
2718
 
2596
- declare interface SubtitleStyleDomainRecord {
2719
+ declare interface SubtitleStyle {
2597
2720
  name?: string;
2598
2721
  fontname?: string;
2599
2722
  fontsize?: string;
@@ -2617,6 +2740,9 @@ declare interface SubtitleStyleDomainRecord {
2617
2740
  marginR?: string;
2618
2741
  marginV?: string;
2619
2742
  encoding?: string;
2743
+ }
2744
+
2745
+ declare interface SubtitleStyleDomainRecord extends SubtitleStyle {
2620
2746
  scaledBorderAndShadow?: boolean;
2621
2747
  futureWordWrapping?: boolean;
2622
2748
  previewSettings?: {
@@ -2630,6 +2756,27 @@ declare interface SubtitleStyleDomainRecords {
2630
2756
  ":subtitle-style": SubtitleStyleDomainRecord;
2631
2757
  }
2632
2758
 
2759
+ /**
2760
+ * Base type for all validation tags in typia.
2761
+ *
2762
+ * TagBase provides the foundation for all typia's validation tags. It attaches
2763
+ * metadata to TypeScript types that typia's transformer processes at
2764
+ * compile-time to generate optimized runtime validation code.
2765
+ *
2766
+ * @author Jeongho Nam - https://github.com/samchon
2767
+ * @example
2768
+ * ```typescript
2769
+ * // Custom tag example
2770
+ * type MyCustomTag<Value extends number> = TagBase<{
2771
+ * target: "number";
2772
+ * kind: "MyCustom";
2773
+ * value: Value;
2774
+ * validate: `$input === ${Value}`;
2775
+ * }>;
2776
+ * ```
2777
+ *
2778
+ * @template Props - Tag properties that define validation behavior
2779
+ */
2633
2780
  declare type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>> = {
2634
2781
  /**
2635
2782
  * This is a dummy property for compilation.
@@ -2640,37 +2787,38 @@ declare type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>>
2640
2787
  };
2641
2788
 
2642
2789
  declare namespace TagBase {
2643
- interface IProps<Target extends "boolean" | "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
2790
+ /**
2791
+ * Properties interface for validation tags.
2792
+ *
2793
+ * @author Jeongho Nam - https://github.com/samchon
2794
+ */
2795
+ interface IProps<Target extends "boolean" | "bigint" | "number" | "string" | "array" | "object", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
2644
2796
  [key in Target]?: string;
2645
2797
  }, Exclusive extends boolean | string[], Schema extends object | undefined> {
2646
2798
  /**
2647
2799
  * Target type.
2648
2800
  *
2649
- * If user tries to adapt this tag to a different type, it would be a compile
2650
- * error.
2801
+ * If user tries to adapt this tag to a different type, it would be a
2802
+ * compile error.
2651
2803
  *
2652
- * For example, you've configured target type as `string`, but user adapted it
2653
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
2654
- * blocked by TypeScript compiler.
2804
+ * For example, you've configured target type as `string`, but user adapted
2805
+ * it onto a `number` type (`number & YourCustomTag<Value>`), then it would
2806
+ * be blocked by TypeScript compiler.
2655
2807
  */
2656
2808
  target: Target;
2657
- /**
2658
- * What kind of tag is this?
2659
- */
2809
+ /** What kind of tag is this? */
2660
2810
  kind: Kind;
2661
- /**
2662
- * Value to be configured by user.
2663
- */
2811
+ /** Value to be configured by user. */
2664
2812
  value: Value;
2665
2813
  /**
2666
2814
  * Validation script.
2667
2815
  *
2668
- * This script would be inserted into the generated validation function.
2669
- * In here script, target variable name must be `$input`. The variable name
2816
+ * This script would be inserted into the generated validation function. In
2817
+ * here script, target variable name must be `$input`. The variable name
2670
2818
  * `$input` would be transformed to the suitable when compilation.
2671
2819
  *
2672
2820
  * Also, If you've take a mistake on this script, compile error would be
2673
- * occured. So, define it with confidence. Compiler will block all your
2821
+ * occurred. So, define it with confidence. Compiler will block all your
2674
2822
  * mistakes.
2675
2823
  */
2676
2824
  validate?: Validate;
@@ -2679,15 +2827,13 @@ declare namespace TagBase {
2679
2827
  *
2680
2828
  * If this property configured as `true`, same {@link kind} tag cannot be
2681
2829
  * duplicated in the target type. Otherwise, if you've configured this
2682
- * property as string array, all of the {@link kind} value assigned
2683
- * tags cannot be compatible in the target type.
2830
+ * property as string array, all of the {@link kind} value assigned tags
2831
+ * cannot be compatible in the target type.
2684
2832
  *
2685
2833
  * @default false
2686
2834
  */
2687
2835
  exclusive?: Exclusive | string[];
2688
- /**
2689
- * Additional schema info assigned to the {@link IJsonSchema} object.
2690
- */
2836
+ /** Additional schema info assigned to the {@link IJsonSchema} object. */
2691
2837
  schema?: Schema;
2692
2838
  }
2693
2839
  }
@@ -2726,19 +2872,49 @@ declare interface TextNodeContent {
2726
2872
  format?: number;
2727
2873
  }
2728
2874
 
2875
+ /**
2876
+ * Type tag for specifying numeric bit-width representations.
2877
+ *
2878
+ * Constrains numeric types to specific bit-width formats used in systems
2879
+ * programming and protocol buffers. Ensures numbers conform to
2880
+ * platform-specific representations.
2881
+ *
2882
+ * Supported types:
2883
+ *
2884
+ * - `int32`: 32-bit signed integer (-2^31 to 2^31-1)
2885
+ * - `uint32`: 32-bit unsigned integer (0 to 2^32-1)
2886
+ * - `int64`: 64-bit signed integer (supports both bigint and number)
2887
+ * - `uint64`: 64-bit unsigned integer (supports both bigint and number)
2888
+ * - `float`: 32-bit floating point (single precision)
2889
+ * - `double`: 64-bit floating point (double precision, default JS number)
2890
+ *
2891
+ * @author Jeongho Nam - https://github.com/samchon
2892
+ * @example
2893
+ * ```typescript
2894
+ * type Score = number & Type<"int32">; // -2,147,483,648 to 2,147,483,647
2895
+ * type UserId = number & Type<"uint32">; // 0 to 4,294,967,295
2896
+ * type FileSize = bigint & Type<"int64">; // Large file sizes
2897
+ * type Coordinate = number & Type<"double">; // High precision coordinates
2898
+ * ```
2899
+ *
2900
+ * @template Value - The numeric type representation
2901
+ */
2729
2902
  declare type Type<Value extends "int32" | "uint32" | "int64" | "uint64" | "float" | "double"> = TagBase<{
2730
2903
  target: Value extends "int64" | "uint64" ? "bigint" | "number" : "number";
2731
2904
  kind: "type";
2732
2905
  value: Value;
2733
- validate: Value extends "int32" ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647` : Value extends "uint32" ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295` : Value extends "int64" ? {
2734
- number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
2906
+ validate: Value extends "int32" ? `$importInternal("isTypeInt32")($input)` : Value extends "uint32" ? `$importInternal("isTypeUint32")($input)` : Value extends "int64" ? {
2907
+ number: `$importInternal("isTypeInt64")($input)`;
2735
2908
  bigint: `true`;
2736
2909
  } : Value extends "uint64" ? {
2737
- number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;
2910
+ number: `$importInternal("isTypeUint64")($input)`;
2738
2911
  bigint: `BigInt(0) <= $input`;
2739
- } : Value extends "float" ? `-1.175494351e38 <= $input && $input <= 3.4028235e38` : `true`;
2912
+ } : Value extends "float" ? `$importInternal("isTypeFloat")($input)` : `true`;
2740
2913
  exclusive: true;
2741
- schema: {
2914
+ schema: Value extends "uint32" | "uint64" ? {
2915
+ type: "integer";
2916
+ minimum: 0;
2917
+ } : {
2742
2918
  type: Value extends "int32" | "uint32" | "int64" | "uint64" ? "integer" : "number";
2743
2919
  };
2744
2920
  }>;