@nodaro/sdk 2.53.1 → 2.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/{chunk-BQAW4RX2.js → chunk-24JE54FQ.js} +24 -6
  2. package/dist/chunk-24JE54FQ.js.map +1 -0
  3. package/dist/{chunk-P6AM42UB.cjs → chunk-2KX5ZE6M.cjs} +2 -2
  4. package/dist/chunk-2KX5ZE6M.cjs.map +1 -0
  5. package/dist/{chunk-GW76IRQD.js → chunk-47ULSVO2.js} +2 -2
  6. package/dist/chunk-47ULSVO2.js.map +1 -0
  7. package/dist/{chunk-CR5E2SF3.cjs → chunk-57GANTLV.cjs} +11 -2
  8. package/dist/chunk-57GANTLV.cjs.map +1 -0
  9. package/dist/{chunk-HGCVWOGK.cjs → chunk-A3XA6UNM.cjs} +11 -2
  10. package/dist/chunk-A3XA6UNM.cjs.map +1 -0
  11. package/dist/chunk-BEQCU7YJ.js +3 -0
  12. package/dist/chunk-BEQCU7YJ.js.map +1 -0
  13. package/dist/{chunk-EJSGJDZY.js → chunk-CBDUHYTR.js} +11 -2
  14. package/dist/chunk-CBDUHYTR.js.map +1 -0
  15. package/dist/{chunk-V5MY46JA.js → chunk-CV2ZZAUO.js} +4 -4
  16. package/dist/chunk-CV2ZZAUO.js.map +1 -0
  17. package/dist/{chunk-7LSFG2AF.js → chunk-GIQDM2MH.js} +11 -2
  18. package/dist/chunk-GIQDM2MH.js.map +1 -0
  19. package/dist/{chunk-35CNQ3WW.js → chunk-HFYNZ4SO.js} +2 -2
  20. package/dist/chunk-HFYNZ4SO.js.map +1 -0
  21. package/dist/{chunk-THLTFB6I.js → chunk-HJLSOT5C.js} +2 -2
  22. package/dist/chunk-HJLSOT5C.js.map +1 -0
  23. package/dist/{chunk-76V6IQZ5.cjs → chunk-HRV3VX22.cjs} +4 -4
  24. package/dist/chunk-HRV3VX22.cjs.map +1 -0
  25. package/dist/{chunk-CK3AMMSC.js → chunk-HUYI5G3D.js} +11 -2
  26. package/dist/chunk-HUYI5G3D.js.map +1 -0
  27. package/dist/{chunk-GAD3QCMM.cjs → chunk-I6Q4UDS2.cjs} +27 -23
  28. package/dist/chunk-I6Q4UDS2.cjs.map +1 -0
  29. package/dist/{chunk-HLYRNWHW.js → chunk-LUHAB7UJ.js} +18 -14
  30. package/dist/chunk-LUHAB7UJ.js.map +1 -0
  31. package/dist/{chunk-MQ74AKA2.cjs → chunk-MIXRL6I2.cjs} +11 -2
  32. package/dist/chunk-MIXRL6I2.cjs.map +1 -0
  33. package/dist/chunk-MQWZFWHE.js +45 -0
  34. package/dist/chunk-MQWZFWHE.js.map +1 -0
  35. package/dist/chunk-NQF6UKND.cjs +4 -0
  36. package/dist/chunk-NQF6UKND.cjs.map +1 -0
  37. package/dist/{chunk-NWMO4MHE.cjs → chunk-PDX742CC.cjs} +2 -2
  38. package/dist/chunk-PDX742CC.cjs.map +1 -0
  39. package/dist/chunk-RR45WBME.cjs +48 -0
  40. package/dist/chunk-RR45WBME.cjs.map +1 -0
  41. package/dist/{chunk-TK2CEVSK.cjs → chunk-VHTDOACT.cjs} +2 -2
  42. package/dist/chunk-VHTDOACT.cjs.map +1 -0
  43. package/dist/{chunk-22P4X3N5.cjs → chunk-XALPYUZI.cjs} +24 -6
  44. package/dist/chunk-XALPYUZI.cjs.map +1 -0
  45. package/dist/{chunk-TVENC6PH.js → chunk-XZPSJG2X.js} +11 -2
  46. package/dist/chunk-XZPSJG2X.js.map +1 -0
  47. package/dist/{chunk-HAKYPZLB.cjs → chunk-XZQ6Z4T6.cjs} +11 -2
  48. package/dist/chunk-XZQ6Z4T6.cjs.map +1 -0
  49. package/dist/{developer-apps-zSQXWmEG.d.ts → developer-apps-CMUzKpE9.d.cts} +2 -0
  50. package/dist/{developer-apps-zSQXWmEG.d.cts → developer-apps-CMUzKpE9.d.ts} +2 -0
  51. package/dist/entries/apps.d.cts +1 -1
  52. package/dist/entries/apps.d.ts +1 -1
  53. package/dist/entries/audio.d.cts +1 -1
  54. package/dist/entries/audio.d.ts +1 -1
  55. package/dist/entries/billing.d.cts +1 -1
  56. package/dist/entries/billing.d.ts +1 -1
  57. package/dist/entries/cast-swap.d.cts +1 -1
  58. package/dist/entries/cast-swap.d.ts +1 -1
  59. package/dist/entries/catalogs.d.cts +1 -1
  60. package/dist/entries/catalogs.d.ts +1 -1
  61. package/dist/entries/characters.cjs +10 -10
  62. package/dist/entries/characters.d.cts +28 -3
  63. package/dist/entries/characters.d.ts +28 -3
  64. package/dist/entries/characters.js +1 -1
  65. package/dist/entries/client.cjs +19 -18
  66. package/dist/entries/client.d.cts +8 -5
  67. package/dist/entries/client.d.ts +8 -5
  68. package/dist/entries/client.js +14 -13
  69. package/dist/entries/collections.d.cts +1 -1
  70. package/dist/entries/collections.d.ts +1 -1
  71. package/dist/entries/community.d.cts +1 -1
  72. package/dist/entries/community.d.ts +1 -1
  73. package/dist/entries/competitors.d.cts +1 -1
  74. package/dist/entries/competitors.d.ts +1 -1
  75. package/dist/entries/copilot.d.cts +1 -1
  76. package/dist/entries/copilot.d.ts +1 -1
  77. package/dist/entries/core.cjs +5 -5
  78. package/dist/entries/core.d.cts +1 -1
  79. package/dist/entries/core.d.ts +1 -1
  80. package/dist/entries/core.js +1 -1
  81. package/dist/entries/creatures.cjs +6 -6
  82. package/dist/entries/creatures.d.cts +26 -3
  83. package/dist/entries/creatures.d.ts +26 -3
  84. package/dist/entries/creatures.js +1 -1
  85. package/dist/entries/credits.d.cts +1 -1
  86. package/dist/entries/credits.d.ts +1 -1
  87. package/dist/entries/developer-apps.d.cts +1 -1
  88. package/dist/entries/developer-apps.d.ts +1 -1
  89. package/dist/entries/edit.d.cts +1 -1
  90. package/dist/entries/edit.d.ts +1 -1
  91. package/dist/entries/errors.d.cts +2 -2
  92. package/dist/entries/errors.d.ts +2 -2
  93. package/dist/entries/executions.d.cts +1 -1
  94. package/dist/entries/executions.d.ts +1 -1
  95. package/dist/entries/gallery.d.cts +1 -1
  96. package/dist/entries/gallery.d.ts +1 -1
  97. package/dist/entries/jobs.cjs +2 -2
  98. package/dist/entries/jobs.d.cts +7 -4
  99. package/dist/entries/jobs.d.ts +7 -4
  100. package/dist/entries/jobs.js +1 -1
  101. package/dist/entries/keepers.cjs +17 -0
  102. package/dist/entries/keepers.cjs.map +1 -0
  103. package/dist/entries/keepers.d.cts +100 -0
  104. package/dist/entries/keepers.d.ts +100 -0
  105. package/dist/entries/keepers.js +4 -0
  106. package/dist/entries/keepers.js.map +1 -0
  107. package/dist/entries/library.d.cts +1 -1
  108. package/dist/entries/library.d.ts +1 -1
  109. package/dist/entries/llm.d.cts +1 -1
  110. package/dist/entries/llm.d.ts +1 -1
  111. package/dist/entries/locations.cjs +5 -5
  112. package/dist/entries/locations.d.cts +19 -3
  113. package/dist/entries/locations.d.ts +19 -3
  114. package/dist/entries/locations.js +1 -1
  115. package/dist/entries/media.cjs +2 -2
  116. package/dist/entries/media.d.cts +34 -5
  117. package/dist/entries/media.d.ts +34 -5
  118. package/dist/entries/media.js +1 -1
  119. package/dist/entries/models.d.cts +1 -1
  120. package/dist/entries/models.d.ts +1 -1
  121. package/dist/entries/moodboards.d.cts +1 -1
  122. package/dist/entries/moodboards.d.ts +1 -1
  123. package/dist/entries/node-presets.d.cts +1 -1
  124. package/dist/entries/node-presets.d.ts +1 -1
  125. package/dist/entries/nodes.cjs +2 -2
  126. package/dist/entries/nodes.d.cts +3 -3
  127. package/dist/entries/nodes.d.ts +3 -3
  128. package/dist/entries/nodes.js +1 -1
  129. package/dist/entries/oauth.d.cts +1 -1
  130. package/dist/entries/oauth.d.ts +1 -1
  131. package/dist/entries/objects.cjs +6 -6
  132. package/dist/entries/objects.d.cts +19 -3
  133. package/dist/entries/objects.d.ts +19 -3
  134. package/dist/entries/objects.js +1 -1
  135. package/dist/entries/organizations.d.cts +1 -1
  136. package/dist/entries/organizations.d.ts +1 -1
  137. package/dist/entries/palettes.d.cts +1 -1
  138. package/dist/entries/palettes.d.ts +1 -1
  139. package/dist/entries/picker-catalogs.d.cts +1 -1
  140. package/dist/entries/picker-catalogs.d.ts +1 -1
  141. package/dist/entries/pipelines.d.cts +1 -1
  142. package/dist/entries/pipelines.d.ts +1 -1
  143. package/dist/entries/projects.d.cts +1 -1
  144. package/dist/entries/projects.d.ts +1 -1
  145. package/dist/entries/prompt-helper.d.cts +1 -1
  146. package/dist/entries/prompt-helper.d.ts +1 -1
  147. package/dist/entries/recast.d.cts +1 -1
  148. package/dist/entries/recast.d.ts +1 -1
  149. package/dist/entries/reduce.d.cts +1 -1
  150. package/dist/entries/reduce.d.ts +1 -1
  151. package/dist/entries/saved-posts.d.cts +1 -1
  152. package/dist/entries/saved-posts.d.ts +1 -1
  153. package/dist/entries/scene3d.d.cts +4 -4
  154. package/dist/entries/scene3d.d.ts +4 -4
  155. package/dist/entries/sessions.d.cts +1 -1
  156. package/dist/entries/sessions.d.ts +1 -1
  157. package/dist/entries/shots.d.cts +1 -1
  158. package/dist/entries/shots.d.ts +1 -1
  159. package/dist/entries/studio.d.cts +3 -3
  160. package/dist/entries/studio.d.ts +3 -3
  161. package/dist/entries/templates.d.cts +1 -1
  162. package/dist/entries/templates.d.ts +1 -1
  163. package/dist/entries/trash.d.cts +1 -1
  164. package/dist/entries/trash.d.ts +1 -1
  165. package/dist/entries/trends.cjs +2 -2
  166. package/dist/entries/trends.d.cts +66 -16
  167. package/dist/entries/trends.d.ts +66 -16
  168. package/dist/entries/trends.js +1 -1
  169. package/dist/entries/tutorials.d.cts +1 -1
  170. package/dist/entries/tutorials.d.ts +1 -1
  171. package/dist/entries/uploads.d.cts +1 -1
  172. package/dist/entries/uploads.d.ts +1 -1
  173. package/dist/entries/user-settings.d.cts +1 -1
  174. package/dist/entries/user-settings.d.ts +1 -1
  175. package/dist/entries/video-pro.d.cts +1 -1
  176. package/dist/entries/video-pro.d.ts +1 -1
  177. package/dist/entries/voices.d.cts +1 -1
  178. package/dist/entries/voices.d.ts +1 -1
  179. package/dist/entries/webhooks.d.cts +3 -3
  180. package/dist/entries/webhooks.d.ts +3 -3
  181. package/dist/entries/workflows.d.cts +1 -1
  182. package/dist/entries/workflows.d.ts +1 -1
  183. package/dist/entries/workspaces.d.cts +1 -1
  184. package/dist/entries/workspaces.d.ts +1 -1
  185. package/dist/index.cjs +88 -78
  186. package/dist/index.d.cts +6 -5
  187. package/dist/index.d.ts +6 -5
  188. package/dist/index.js +19 -17
  189. package/dist/{nodes-C9j0PFto.d.ts → nodes-B74WaY9r.d.ts} +10 -2
  190. package/dist/{nodes-DGIefTze.d.cts → nodes-Ceetyyh0.d.cts} +10 -2
  191. package/dist/{studio-productions-r2-VZsKj.d.cts → studio-productions-CMiS827q.d.cts} +1 -1
  192. package/dist/{studio-productions-DtTE8mdl.d.ts → studio-productions-DkI51Z9M.d.ts} +1 -1
  193. package/dist/{webhooks-BJawEIz8.d.ts → webhooks-C2DZTK4n.d.ts} +1 -1
  194. package/dist/{webhooks-Dn_DtNTD.d.cts → webhooks-tg3VN39V.d.cts} +1 -1
  195. package/package.json +8 -3
  196. package/dist/chunk-22P4X3N5.cjs.map +0 -1
  197. package/dist/chunk-35CNQ3WW.js.map +0 -1
  198. package/dist/chunk-76V6IQZ5.cjs.map +0 -1
  199. package/dist/chunk-7LSFG2AF.js.map +0 -1
  200. package/dist/chunk-BQAW4RX2.js.map +0 -1
  201. package/dist/chunk-CK3AMMSC.js.map +0 -1
  202. package/dist/chunk-CR5E2SF3.cjs.map +0 -1
  203. package/dist/chunk-EJSGJDZY.js.map +0 -1
  204. package/dist/chunk-GAD3QCMM.cjs.map +0 -1
  205. package/dist/chunk-GW76IRQD.js.map +0 -1
  206. package/dist/chunk-HAKYPZLB.cjs.map +0 -1
  207. package/dist/chunk-HGCVWOGK.cjs.map +0 -1
  208. package/dist/chunk-HLYRNWHW.js.map +0 -1
  209. package/dist/chunk-MQ74AKA2.cjs.map +0 -1
  210. package/dist/chunk-NWMO4MHE.cjs.map +0 -1
  211. package/dist/chunk-P6AM42UB.cjs.map +0 -1
  212. package/dist/chunk-THLTFB6I.js.map +0 -1
  213. package/dist/chunk-TK2CEVSK.cjs.map +0 -1
  214. package/dist/chunk-TVENC6PH.js.map +0 -1
  215. package/dist/chunk-V5MY46JA.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
2
2
  import { CastSwapEngine } from './cast-swap.cjs';
3
3
  import '@nodaro/shared/apps';
4
4
  import '@nodaro/shared/organizations';
@@ -47,6 +47,31 @@ interface TrendCard {
47
47
  width: number;
48
48
  height: number;
49
49
  };
50
+ /**
51
+ * The original's display copy, the same address as {@link TrendDetail.original}
52
+ * (without its length and preview start). Absent on a version without a
53
+ * display copy (and from an older server). On a trend that hides its
54
+ * original, its first example instead (then the same as {@link cover}).
55
+ */
56
+ original?: {
57
+ videoUrl: string;
58
+ posterUrl?: string;
59
+ width: number;
60
+ height: number;
61
+ };
62
+ /**
63
+ * Every example's video, in the page's order, so a list can show each clip
64
+ * without reading the trend's page. Empty on a trend with only its original;
65
+ * absent from an older server. The pictures each slot used are on the page
66
+ * ({@link TrendDetail.examples}). On a trend that hides its original, from
67
+ * its second example (the first is {@link original}).
68
+ */
69
+ examples?: Array<{
70
+ videoUrl: string;
71
+ posterUrl?: string;
72
+ width: number;
73
+ height: number;
74
+ }>;
50
75
  /** How many slots of each kind the trend has. */
51
76
  needs: Record<TrendSlotKind, number>;
52
77
  /** The length of a full run, in seconds. */
@@ -61,7 +86,9 @@ interface TrendDetailSlot {
61
86
  kind: TrendSlotKind;
62
87
  /**
63
88
  * A required slot needs pictures; an optional one left empty takes the
64
- * chosen example's, or, on a trend with no example, stays as in the original.
89
+ * chosen example's, or, on a trend with no example (or when that example has
90
+ * none for it), stays as in the original;
91
+ * except in Full depth trends, where it uses the trend's default image for that role if one is set, otherwise the original's look.
65
92
  */
66
93
  required: boolean;
67
94
  hint?: string;
@@ -86,20 +113,25 @@ interface TrendExample {
86
113
  posterUrl?: string;
87
114
  width: number;
88
115
  height: number;
89
- /** Slot key → the pictures this example used for it. */
116
+ /**
117
+ * Slot key → the pictures this example used for it. An optional slot the
118
+ * example kept as in the original has no key; a run that leaves that slot
119
+ * empty with this example keeps it as in the original too.
120
+ */
90
121
  slots: Record<string, string[]>;
91
122
  }
92
123
  /**
93
124
  * The clip a trend recasts, as you may show it: a browser-safe copy (H.264
94
- * MP4) of the clip every run starts from. Its fields parallel
95
- * {@link TrendExample}'s.
125
+ * MP4) of the clip every run starts from. On a trend that hides its original,
126
+ * its first example instead (the original clip is then never sent). Its fields
127
+ * parallel {@link TrendExample}'s.
96
128
  */
97
129
  interface TrendOriginal {
98
130
  videoUrl: string;
99
131
  posterUrl?: string;
100
132
  width: number;
101
133
  height: number;
102
- /** The copy's length, in seconds. */
134
+ /** The copy's length (on a trend that hides its original, the first example's), in seconds. */
103
135
  durationSec: number;
104
136
  /**
105
137
  * Where the 4-second preview starts in the clip, in seconds (`0` included),
@@ -117,6 +149,7 @@ interface TrendDetail extends TrendCard {
117
149
  /**
118
150
  * The original clip every run starts from, to show beside the examples.
119
151
  * Absent only on a version without a display copy (and from an older server).
152
+ * On a trend that hides its original, its first example (see {@link TrendOriginal}).
120
153
  */
121
154
  original?: TrendOriginal;
122
155
  /** The engine every run of this trend uses. Absent (an older server) = `"motion-prism"`. */
@@ -130,7 +163,11 @@ interface TrendDetail extends TrendCard {
130
163
  */
131
164
  resolutions: TrendResolution[];
132
165
  slots: TrendDetailSlot[];
133
- /** Finished runs to show beside the original; may be empty (a trend with only its original). */
166
+ /**
167
+ * Finished runs to show beside the original; may be empty (a trend with only
168
+ * its original). On a trend that hides its original, from its second example
169
+ * (the first is {@link original}).
170
+ */
134
171
  examples: TrendExample[];
135
172
  }
136
173
  /** What you put in one slot of a run: 1–3 pictures, and the chips the slot offers ({@link TrendDetailSlot.chips}). */
@@ -142,13 +179,18 @@ interface TrendRunRequest {
142
179
  /**
143
180
  * Slot key → what you put in it. Every required slot needs pictures; an
144
181
  * optional slot left out takes the chosen example's, or, on a trend with no
145
- * example, stays as in the original. 1–3 pictures per slot.
182
+ * example (or when that example has none for it), stays as in the original; except in Full depth trends, where it uses the trend's default image for that role if one is set, otherwise the original's look.
183
+ * 1–3 pictures per slot.
146
184
  */
147
185
  slots: Record<string, TrendRunSlot>;
148
186
  /**
149
- * 1-based example whose pictures fill the optional slots you leave empty.
150
- * Default 1. Leave it out on a trend with no examples: sending one there
151
- * answers 400 `example_out_of_range` (and `0` is a `validation_error`).
187
+ * 1-based example whose pictures fill the optional slots you leave empty
188
+ * (never in a Full depth trend, which records `example: 0`), numbering the
189
+ * examples as {@link TrendDetail.examples} lists them. Default 1. Leave it out on a trend with no examples: sending one there
190
+ * answers 400 `example_out_of_range` (and `0` is a `validation_error`). On a
191
+ * trend that hides its original ({@link TrendDetail.original} is its first
192
+ * example), `1` is still the first entry of `examples`, and leaving it out
193
+ * fills the slots from the example shown as the original.
152
194
  */
153
195
  example?: number;
154
196
  /** Your own words, at most 1,000 characters. Mention a slot as `{slot:<key>}`. */
@@ -230,10 +272,15 @@ interface TrendRunDisplaySlot extends TrendChips {
230
272
  images: string[];
231
273
  /**
232
274
  * `true` when the slot was left empty and the example's pictures filled it.
233
- * `false` with no `images`: left empty on a trend with no example, so it
234
- * stayed as in the original.
275
+ * `false` with no `images`: left empty on a trend with no example, or the
276
+ * chosen example has no pictures for it, so it stayed as in the original.
235
277
  */
236
278
  fromExample: boolean;
279
+ /**
280
+ * `true` when the slot was left empty and the trend's own default pictures
281
+ * filled it (`fromExample` is then `false`). Absent otherwise.
282
+ */
283
+ fromDefault?: true;
237
284
  }
238
285
  /**
239
286
  * One of your trend runs (`runs()`, `getRun()`). Stays readable after the
@@ -268,10 +315,13 @@ interface TrendRun {
268
315
  name: string;
269
316
  };
270
317
  /**
271
- * The 1-based example used for empty optional slots; `0` = the trend had no
272
- * example (none was used: never show it as "Example 0").
318
+ * The 1-based example used for empty optional slots, numbered as the trend's
319
+ * page listed its examples for the version the run ran on ({@link trend}'s
320
+ * `version`); `0` = none was used (the trend had no example, or is a Full
321
+ * depth trend): never show it as "Example 0". Absent when the run used the
322
+ * example a trend that hides its original shows as its original.
273
323
  */
274
- example: number;
324
+ example?: number;
275
325
  slots: TrendRunDisplaySlot[];
276
326
  details?: string;
277
327
  preview: boolean;
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
2
2
  import { CastSwapEngine } from './cast-swap.js';
3
3
  import '@nodaro/shared/apps';
4
4
  import '@nodaro/shared/organizations';
@@ -47,6 +47,31 @@ interface TrendCard {
47
47
  width: number;
48
48
  height: number;
49
49
  };
50
+ /**
51
+ * The original's display copy, the same address as {@link TrendDetail.original}
52
+ * (without its length and preview start). Absent on a version without a
53
+ * display copy (and from an older server). On a trend that hides its
54
+ * original, its first example instead (then the same as {@link cover}).
55
+ */
56
+ original?: {
57
+ videoUrl: string;
58
+ posterUrl?: string;
59
+ width: number;
60
+ height: number;
61
+ };
62
+ /**
63
+ * Every example's video, in the page's order, so a list can show each clip
64
+ * without reading the trend's page. Empty on a trend with only its original;
65
+ * absent from an older server. The pictures each slot used are on the page
66
+ * ({@link TrendDetail.examples}). On a trend that hides its original, from
67
+ * its second example (the first is {@link original}).
68
+ */
69
+ examples?: Array<{
70
+ videoUrl: string;
71
+ posterUrl?: string;
72
+ width: number;
73
+ height: number;
74
+ }>;
50
75
  /** How many slots of each kind the trend has. */
51
76
  needs: Record<TrendSlotKind, number>;
52
77
  /** The length of a full run, in seconds. */
@@ -61,7 +86,9 @@ interface TrendDetailSlot {
61
86
  kind: TrendSlotKind;
62
87
  /**
63
88
  * A required slot needs pictures; an optional one left empty takes the
64
- * chosen example's, or, on a trend with no example, stays as in the original.
89
+ * chosen example's, or, on a trend with no example (or when that example has
90
+ * none for it), stays as in the original;
91
+ * except in Full depth trends, where it uses the trend's default image for that role if one is set, otherwise the original's look.
65
92
  */
66
93
  required: boolean;
67
94
  hint?: string;
@@ -86,20 +113,25 @@ interface TrendExample {
86
113
  posterUrl?: string;
87
114
  width: number;
88
115
  height: number;
89
- /** Slot key → the pictures this example used for it. */
116
+ /**
117
+ * Slot key → the pictures this example used for it. An optional slot the
118
+ * example kept as in the original has no key; a run that leaves that slot
119
+ * empty with this example keeps it as in the original too.
120
+ */
90
121
  slots: Record<string, string[]>;
91
122
  }
92
123
  /**
93
124
  * The clip a trend recasts, as you may show it: a browser-safe copy (H.264
94
- * MP4) of the clip every run starts from. Its fields parallel
95
- * {@link TrendExample}'s.
125
+ * MP4) of the clip every run starts from. On a trend that hides its original,
126
+ * its first example instead (the original clip is then never sent). Its fields
127
+ * parallel {@link TrendExample}'s.
96
128
  */
97
129
  interface TrendOriginal {
98
130
  videoUrl: string;
99
131
  posterUrl?: string;
100
132
  width: number;
101
133
  height: number;
102
- /** The copy's length, in seconds. */
134
+ /** The copy's length (on a trend that hides its original, the first example's), in seconds. */
103
135
  durationSec: number;
104
136
  /**
105
137
  * Where the 4-second preview starts in the clip, in seconds (`0` included),
@@ -117,6 +149,7 @@ interface TrendDetail extends TrendCard {
117
149
  /**
118
150
  * The original clip every run starts from, to show beside the examples.
119
151
  * Absent only on a version without a display copy (and from an older server).
152
+ * On a trend that hides its original, its first example (see {@link TrendOriginal}).
120
153
  */
121
154
  original?: TrendOriginal;
122
155
  /** The engine every run of this trend uses. Absent (an older server) = `"motion-prism"`. */
@@ -130,7 +163,11 @@ interface TrendDetail extends TrendCard {
130
163
  */
131
164
  resolutions: TrendResolution[];
132
165
  slots: TrendDetailSlot[];
133
- /** Finished runs to show beside the original; may be empty (a trend with only its original). */
166
+ /**
167
+ * Finished runs to show beside the original; may be empty (a trend with only
168
+ * its original). On a trend that hides its original, from its second example
169
+ * (the first is {@link original}).
170
+ */
134
171
  examples: TrendExample[];
135
172
  }
136
173
  /** What you put in one slot of a run: 1–3 pictures, and the chips the slot offers ({@link TrendDetailSlot.chips}). */
@@ -142,13 +179,18 @@ interface TrendRunRequest {
142
179
  /**
143
180
  * Slot key → what you put in it. Every required slot needs pictures; an
144
181
  * optional slot left out takes the chosen example's, or, on a trend with no
145
- * example, stays as in the original. 1–3 pictures per slot.
182
+ * example (or when that example has none for it), stays as in the original; except in Full depth trends, where it uses the trend's default image for that role if one is set, otherwise the original's look.
183
+ * 1–3 pictures per slot.
146
184
  */
147
185
  slots: Record<string, TrendRunSlot>;
148
186
  /**
149
- * 1-based example whose pictures fill the optional slots you leave empty.
150
- * Default 1. Leave it out on a trend with no examples: sending one there
151
- * answers 400 `example_out_of_range` (and `0` is a `validation_error`).
187
+ * 1-based example whose pictures fill the optional slots you leave empty
188
+ * (never in a Full depth trend, which records `example: 0`), numbering the
189
+ * examples as {@link TrendDetail.examples} lists them. Default 1. Leave it out on a trend with no examples: sending one there
190
+ * answers 400 `example_out_of_range` (and `0` is a `validation_error`). On a
191
+ * trend that hides its original ({@link TrendDetail.original} is its first
192
+ * example), `1` is still the first entry of `examples`, and leaving it out
193
+ * fills the slots from the example shown as the original.
152
194
  */
153
195
  example?: number;
154
196
  /** Your own words, at most 1,000 characters. Mention a slot as `{slot:<key>}`. */
@@ -230,10 +272,15 @@ interface TrendRunDisplaySlot extends TrendChips {
230
272
  images: string[];
231
273
  /**
232
274
  * `true` when the slot was left empty and the example's pictures filled it.
233
- * `false` with no `images`: left empty on a trend with no example, so it
234
- * stayed as in the original.
275
+ * `false` with no `images`: left empty on a trend with no example, or the
276
+ * chosen example has no pictures for it, so it stayed as in the original.
235
277
  */
236
278
  fromExample: boolean;
279
+ /**
280
+ * `true` when the slot was left empty and the trend's own default pictures
281
+ * filled it (`fromExample` is then `false`). Absent otherwise.
282
+ */
283
+ fromDefault?: true;
237
284
  }
238
285
  /**
239
286
  * One of your trend runs (`runs()`, `getRun()`). Stays readable after the
@@ -268,10 +315,13 @@ interface TrendRun {
268
315
  name: string;
269
316
  };
270
317
  /**
271
- * The 1-based example used for empty optional slots; `0` = the trend had no
272
- * example (none was used: never show it as "Example 0").
318
+ * The 1-based example used for empty optional slots, numbered as the trend's
319
+ * page listed its examples for the version the run ran on ({@link trend}'s
320
+ * `version`); `0` = none was used (the trend had no example, or is a Full
321
+ * depth trend): never show it as "Example 0". Absent when the run used the
322
+ * example a trend that hides its original shows as its original.
273
323
  */
274
- example: number;
324
+ example?: number;
275
325
  slots: TrendRunDisplaySlot[];
276
326
  details?: string;
277
327
  preview: boolean;
@@ -1,4 +1,4 @@
1
1
  import '../chunk-YCVRQZT3.js';
2
- export { TrendsResource } from '../chunk-35CNQ3WW.js';
2
+ export { TrendsResource } from '../chunk-HFYNZ4SO.js';
3
3
  //# sourceMappingURL=trends.js.map
4
4
  //# sourceMappingURL=trends.js.map
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -1,4 +1,4 @@
1
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
1
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
2
2
  import '@nodaro/shared/apps';
3
3
  import '@nodaro/shared/organizations';
4
4
 
@@ -3,7 +3,7 @@ export { SharedVoice, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryRespons
3
3
  import { AudioFxPreset } from '@nodaro/shared/media';
4
4
  export { AudioFxPreset } from '@nodaro/shared/media';
5
5
  import { DialogueProvider } from '@nodaro/shared/models';
6
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
6
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
7
7
  import '@nodaro/shared/apps';
8
8
  import '@nodaro/shared/organizations';
9
9
 
@@ -3,7 +3,7 @@ export { SharedVoice, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryRespons
3
3
  import { AudioFxPreset } from '@nodaro/shared/media';
4
4
  export { AudioFxPreset } from '@nodaro/shared/media';
5
5
  import { DialogueProvider } from '@nodaro/shared/models';
6
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
6
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
7
7
  import '@nodaro/shared/apps';
8
8
  import '@nodaro/shared/organizations';
9
9
 
@@ -1,6 +1,6 @@
1
- import { f as WebhookEvent } from '../webhooks-Dn_DtNTD.cjs';
2
- export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from '../webhooks-Dn_DtNTD.cjs';
3
- import '../developer-apps-zSQXWmEG.cjs';
1
+ import { f as WebhookEvent } from '../webhooks-tg3VN39V.cjs';
2
+ export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from '../webhooks-tg3VN39V.cjs';
3
+ import '../developer-apps-CMUzKpE9.cjs';
4
4
  import '@nodaro/shared/apps';
5
5
  import '@nodaro/shared/organizations';
6
6
  import './jobs.cjs';
@@ -1,6 +1,6 @@
1
- import { f as WebhookEvent } from '../webhooks-BJawEIz8.js';
2
- export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from '../webhooks-BJawEIz8.js';
3
- import '../developer-apps-zSQXWmEG.js';
1
+ import { f as WebhookEvent } from '../webhooks-C2DZTK4n.js';
2
+ export { C as CreateWebhookEndpointInput, a as CreatedWebhookEndpoint, J as JobWebhookEvent, L as ListWebhookDeliveriesParams, P as PingWebhookEvent, R as RotateWebhookSecretInput, b as RotatedWebhookSecret, U as UpdateWebhookEndpointInput, W as WebhookDelivery, c as WebhookDeliveryPage, d as WebhookDeliveryStatus, e as WebhookEndpoint, g as WebhookEventType, h as WebhookJobEvent, i as WebhooksResource } from '../webhooks-C2DZTK4n.js';
3
+ import '../developer-apps-CMUzKpE9.js';
4
4
  import '@nodaro/shared/apps';
5
5
  import '@nodaro/shared/organizations';
6
6
  import './jobs.js';
@@ -2,7 +2,7 @@ import { GenericNode, GenericEdge } from '@nodaro/shared/types';
2
2
  export { GenericEdge, GenericNode } from '@nodaro/shared/types';
3
3
  import { WorkflowExport, WorkflowImportReport } from '@nodaro/shared/workflow';
4
4
  export { WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject } from '@nodaro/shared/workflow';
5
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
5
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
6
6
  import { CollaboratorRole, WorkflowVisibility } from '@nodaro/shared/organizations';
7
7
  import '@nodaro/shared/apps';
8
8
 
@@ -2,7 +2,7 @@ import { GenericNode, GenericEdge } from '@nodaro/shared/types';
2
2
  export { GenericEdge, GenericNode } from '@nodaro/shared/types';
3
3
  import { WorkflowExport, WorkflowImportReport } from '@nodaro/shared/workflow';
4
4
  export { WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject } from '@nodaro/shared/workflow';
5
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
5
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
6
6
  import { CollaboratorRole, WorkflowVisibility } from '@nodaro/shared/organizations';
7
7
  import '@nodaro/shared/apps';
8
8
 
@@ -1,5 +1,5 @@
1
1
  import { WorkspaceSettings, WorkspaceSummary, WorkspaceView, OrgPage, WorkspaceMemberView, WorkspaceRole, MemberStatus, JoinCodeView, UsageQuery, UsageReport, UsageLogEntry } from '@nodaro/shared/organizations';
2
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
2
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.cjs';
3
3
  import '@nodaro/shared/apps';
4
4
 
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { WorkspaceSettings, WorkspaceSummary, WorkspaceView, OrgPage, WorkspaceMemberView, WorkspaceRole, MemberStatus, JoinCodeView, UsageQuery, UsageReport, UsageLogEntry } from '@nodaro/shared/organizations';
2
- import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
2
+ import { N as NodaroClientCore } from '../developer-apps-CMUzKpE9.js';
3
3
  import '@nodaro/shared/apps';
4
4
 
5
5
  /**