@nodaro/sdk 2.34.0 → 2.39.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 (195) hide show
  1. package/dist/{chunk-JMOKD6ZP.js → chunk-7CUWAVWB.js} +3 -3
  2. package/dist/{chunk-JMOKD6ZP.js.map → chunk-7CUWAVWB.js.map} +1 -1
  3. package/dist/{chunk-E5BM4BLO.js → chunk-7IWVDWSP.js} +20 -3
  4. package/dist/chunk-7IWVDWSP.js.map +1 -0
  5. package/dist/{chunk-RHJRLXKY.cjs → chunk-7XOK277W.cjs} +9 -9
  6. package/dist/{chunk-RHJRLXKY.cjs.map → chunk-7XOK277W.cjs.map} +1 -1
  7. package/dist/{chunk-3QBH2VE2.cjs → chunk-A7QSOD2S.cjs} +20 -3
  8. package/dist/chunk-A7QSOD2S.cjs.map +1 -0
  9. package/dist/chunk-AQHU7EI5.js +54 -0
  10. package/dist/chunk-AQHU7EI5.js.map +1 -0
  11. package/dist/{chunk-VV4TZG5S.js → chunk-AUKHMT53.js} +3 -3
  12. package/dist/chunk-AUKHMT53.js.map +1 -0
  13. package/dist/{chunk-CWH642B2.js → chunk-CIUZMTER.js} +22 -18
  14. package/dist/chunk-CIUZMTER.js.map +1 -0
  15. package/dist/{chunk-I6CXC345.js → chunk-D2ILCSOQ.js} +3 -3
  16. package/dist/{chunk-I6CXC345.js.map → chunk-D2ILCSOQ.js.map} +1 -1
  17. package/dist/{chunk-4NLVBYMW.js → chunk-DQAYIVVS.js} +42 -8
  18. package/dist/chunk-DQAYIVVS.js.map +1 -0
  19. package/dist/{chunk-5ALNFATQ.cjs → chunk-EK672FFM.cjs} +2 -2
  20. package/dist/chunk-EK672FFM.cjs.map +1 -0
  21. package/dist/{chunk-OXQKE5EG.cjs → chunk-ETX3TLNB.cjs} +43 -9
  22. package/dist/{chunk-4NLVBYMW.js.map → chunk-ETX3TLNB.cjs.map} +1 -1
  23. package/dist/{chunk-BRV7Z4GD.cjs → chunk-FHVNTS4E.cjs} +2 -2
  24. package/dist/{chunk-BRV7Z4GD.cjs.map → chunk-FHVNTS4E.cjs.map} +1 -1
  25. package/dist/{chunk-N6GLZOE4.cjs → chunk-FM2KM5TY.cjs} +52 -10
  26. package/dist/chunk-FM2KM5TY.cjs.map +1 -0
  27. package/dist/{chunk-53SXNN3A.js → chunk-FQNCIP6K.js} +2 -2
  28. package/dist/chunk-FQNCIP6K.js.map +1 -0
  29. package/dist/{chunk-KNMW722T.cjs → chunk-FRQJNGJS.cjs} +5 -5
  30. package/dist/{chunk-KNMW722T.cjs.map → chunk-FRQJNGJS.cjs.map} +1 -1
  31. package/dist/{chunk-4CXB7RA6.js → chunk-IGMWFEFB.js} +6 -4
  32. package/dist/chunk-IGMWFEFB.js.map +1 -0
  33. package/dist/{chunk-6OGGJQVA.js → chunk-ILG5DHQQ.js} +2 -2
  34. package/dist/chunk-ILG5DHQQ.js.map +1 -0
  35. package/dist/{chunk-CFY6XXOT.cjs → chunk-IXCJ26F5.cjs} +37 -33
  36. package/dist/chunk-IXCJ26F5.cjs.map +1 -0
  37. package/dist/{chunk-ZQQABQMH.cjs → chunk-JTOEHQQJ.cjs} +12 -2
  38. package/dist/chunk-JTOEHQQJ.cjs.map +1 -0
  39. package/dist/{chunk-ZXJQSFIA.js → chunk-JUON5NXA.js} +2 -2
  40. package/dist/{chunk-ZXJQSFIA.js.map → chunk-JUON5NXA.js.map} +1 -1
  41. package/dist/{chunk-JGS6YBDW.js → chunk-L6T44A3G.js} +51 -11
  42. package/dist/chunk-L6T44A3G.js.map +1 -0
  43. package/dist/{chunk-U4T3Z3K7.cjs → chunk-NKH2UFSD.cjs} +5 -5
  44. package/dist/chunk-NKH2UFSD.cjs.map +1 -0
  45. package/dist/{chunk-VFMWBW2Q.js → chunk-NU4QSOMH.js} +4 -4
  46. package/dist/{chunk-VFMWBW2Q.js.map → chunk-NU4QSOMH.js.map} +1 -1
  47. package/dist/{chunk-E2ZXHS6E.js → chunk-OIPPTBW4.js} +2 -2
  48. package/dist/chunk-OIPPTBW4.js.map +1 -0
  49. package/dist/{chunk-DKEYSJCE.cjs → chunk-OIYMTGYN.cjs} +2 -2
  50. package/dist/chunk-OIYMTGYN.cjs.map +1 -0
  51. package/dist/{chunk-NLQQHJ25.cjs → chunk-OSMKIRKI.cjs} +4 -4
  52. package/dist/{chunk-NLQQHJ25.cjs.map → chunk-OSMKIRKI.cjs.map} +1 -1
  53. package/dist/chunk-PG2GBS3K.cjs +4 -0
  54. package/dist/chunk-PG2GBS3K.cjs.map +1 -0
  55. package/dist/{chunk-GB724HW2.cjs → chunk-PQ7OKM3E.cjs} +6 -4
  56. package/dist/chunk-PQ7OKM3E.cjs.map +1 -0
  57. package/dist/chunk-QGOEQGAE.js +102 -0
  58. package/dist/chunk-QGOEQGAE.js.map +1 -0
  59. package/dist/{chunk-EAGD6NEE.cjs → chunk-QZHRXPN5.cjs} +22 -22
  60. package/dist/chunk-QZHRXPN5.cjs.map +1 -0
  61. package/dist/{chunk-5MTCKWKA.cjs → chunk-QZMI7364.cjs} +5 -5
  62. package/dist/{chunk-5MTCKWKA.cjs.map → chunk-QZMI7364.cjs.map} +1 -1
  63. package/dist/chunk-SRBYCGRC.cjs +56 -0
  64. package/dist/chunk-SRBYCGRC.cjs.map +1 -0
  65. package/dist/{chunk-KGKCAGRD.cjs → chunk-TCLNSVYA.cjs} +2 -2
  66. package/dist/chunk-TCLNSVYA.cjs.map +1 -0
  67. package/dist/chunk-VCEYLJ2Q.cjs +104 -0
  68. package/dist/chunk-VCEYLJ2Q.cjs.map +1 -0
  69. package/dist/{chunk-VGWOIWRQ.cjs → chunk-VHSMOBU7.cjs} +2 -2
  70. package/dist/{chunk-VGWOIWRQ.cjs.map → chunk-VHSMOBU7.cjs.map} +1 -1
  71. package/dist/{chunk-T3SYREY4.js → chunk-WY4QRJZW.js} +12 -2
  72. package/dist/chunk-WY4QRJZW.js.map +1 -0
  73. package/dist/chunk-YCVRQZT3.js +3 -0
  74. package/dist/chunk-YCVRQZT3.js.map +1 -0
  75. package/dist/{chunk-DPSMVOM3.js → chunk-YSZM3N7Q.js} +2 -2
  76. package/dist/chunk-YSZM3N7Q.js.map +1 -0
  77. package/dist/{chunk-5A7J24LN.js → chunk-Z7UZ3FD3.js} +3 -3
  78. package/dist/{chunk-5A7J24LN.js.map → chunk-Z7UZ3FD3.js.map} +1 -1
  79. package/dist/{chunk-4JKI6JRC.js → chunk-ZDSC6KBT.js} +3 -3
  80. package/dist/chunk-ZDSC6KBT.js.map +1 -0
  81. package/dist/entries/apps.cjs +2 -2
  82. package/dist/entries/apps.d.cts +4 -0
  83. package/dist/entries/apps.d.ts +4 -0
  84. package/dist/entries/apps.js +1 -1
  85. package/dist/entries/cast-swap.cjs +2 -2
  86. package/dist/entries/cast-swap.d.cts +278 -18
  87. package/dist/entries/cast-swap.d.ts +278 -18
  88. package/dist/entries/cast-swap.js +1 -1
  89. package/dist/entries/characters.d.cts +2 -2
  90. package/dist/entries/characters.d.ts +2 -2
  91. package/dist/entries/client.cjs +25 -24
  92. package/dist/entries/client.d.cts +5 -2
  93. package/dist/entries/client.d.ts +5 -2
  94. package/dist/entries/client.js +20 -19
  95. package/dist/entries/copilot.cjs +4 -4
  96. package/dist/entries/copilot.js +3 -3
  97. package/dist/entries/core.cjs +6 -6
  98. package/dist/entries/core.js +2 -2
  99. package/dist/entries/creatures.d.cts +2 -2
  100. package/dist/entries/creatures.d.ts +2 -2
  101. package/dist/entries/credits.cjs +2 -2
  102. package/dist/entries/credits.d.cts +37 -2
  103. package/dist/entries/credits.d.ts +37 -2
  104. package/dist/entries/credits.js +1 -1
  105. package/dist/entries/edit.cjs +7 -7
  106. package/dist/entries/edit.d.cts +3 -0
  107. package/dist/entries/edit.d.ts +3 -0
  108. package/dist/entries/edit.js +2 -2
  109. package/dist/entries/errors.cjs +30 -22
  110. package/dist/entries/errors.d.cts +42 -4
  111. package/dist/entries/errors.d.ts +42 -4
  112. package/dist/entries/errors.js +1 -1
  113. package/dist/entries/jobs.cjs +2 -2
  114. package/dist/entries/jobs.d.cts +76 -4
  115. package/dist/entries/jobs.d.ts +76 -4
  116. package/dist/entries/jobs.js +1 -1
  117. package/dist/entries/locations.d.cts +2 -2
  118. package/dist/entries/locations.d.ts +2 -2
  119. package/dist/entries/media.cjs +4 -4
  120. package/dist/entries/media.d.cts +39 -5
  121. package/dist/entries/media.d.ts +39 -5
  122. package/dist/entries/media.js +3 -3
  123. package/dist/entries/nodes.cjs +3 -3
  124. package/dist/entries/nodes.d.cts +2 -2
  125. package/dist/entries/nodes.d.ts +2 -2
  126. package/dist/entries/nodes.js +2 -2
  127. package/dist/entries/objects.d.cts +2 -2
  128. package/dist/entries/objects.d.ts +2 -2
  129. package/dist/entries/prompt-helper.cjs +2 -2
  130. package/dist/entries/prompt-helper.d.cts +3 -1
  131. package/dist/entries/prompt-helper.d.ts +3 -1
  132. package/dist/entries/prompt-helper.js +1 -1
  133. package/dist/entries/scene3d.d.cts +3 -3
  134. package/dist/entries/scene3d.d.ts +3 -3
  135. package/dist/entries/studio.cjs +5 -5
  136. package/dist/entries/studio.d.cts +2 -2
  137. package/dist/entries/studio.d.ts +2 -2
  138. package/dist/entries/studio.js +2 -2
  139. package/dist/entries/templates.cjs +2 -2
  140. package/dist/entries/templates.d.cts +4 -0
  141. package/dist/entries/templates.d.ts +4 -0
  142. package/dist/entries/templates.js +1 -1
  143. package/dist/entries/trends.cjs +13 -0
  144. package/dist/entries/trends.cjs.map +1 -0
  145. package/dist/entries/trends.d.cts +295 -0
  146. package/dist/entries/trends.d.ts +295 -0
  147. package/dist/entries/trends.js +4 -0
  148. package/dist/entries/trends.js.map +1 -0
  149. package/dist/entries/tutorials.cjs +2 -2
  150. package/dist/entries/tutorials.d.cts +4 -0
  151. package/dist/entries/tutorials.d.ts +4 -0
  152. package/dist/entries/tutorials.js +1 -1
  153. package/dist/entries/uploads.cjs +2 -2
  154. package/dist/entries/uploads.d.cts +14 -1
  155. package/dist/entries/uploads.d.ts +14 -1
  156. package/dist/entries/uploads.js +1 -1
  157. package/dist/entries/workflows.cjs +2 -2
  158. package/dist/entries/workflows.d.cts +6 -0
  159. package/dist/entries/workflows.d.ts +6 -0
  160. package/dist/entries/workflows.js +1 -1
  161. package/dist/index.cjs +85 -71
  162. package/dist/index.d.cts +8 -7
  163. package/dist/index.d.ts +8 -7
  164. package/dist/index.js +22 -20
  165. package/dist/{nodes-D2tbtzt7.d.ts → nodes-9WpYNWtS.d.ts} +13 -1
  166. package/dist/{nodes-CTujw6Qd.d.cts → nodes-BDUk5Aej.d.cts} +13 -1
  167. package/dist/{studio-productions-vbCNSbtf.d.ts → studio-productions-DtTE8mdl.d.ts} +35 -1
  168. package/dist/{studio-productions-DUHvdSvk.d.cts → studio-productions-r2-VZsKj.d.cts} +35 -1
  169. package/package.json +7 -2
  170. package/dist/chunk-3QBH2VE2.cjs.map +0 -1
  171. package/dist/chunk-4CXB7RA6.js.map +0 -1
  172. package/dist/chunk-4JKI6JRC.js.map +0 -1
  173. package/dist/chunk-53SXNN3A.js.map +0 -1
  174. package/dist/chunk-5ALNFATQ.cjs.map +0 -1
  175. package/dist/chunk-6OGGJQVA.js.map +0 -1
  176. package/dist/chunk-CFY6XXOT.cjs.map +0 -1
  177. package/dist/chunk-CWH642B2.js.map +0 -1
  178. package/dist/chunk-DKEYSJCE.cjs.map +0 -1
  179. package/dist/chunk-DPSMVOM3.js.map +0 -1
  180. package/dist/chunk-E2ZXHS6E.js.map +0 -1
  181. package/dist/chunk-E5BM4BLO.js.map +0 -1
  182. package/dist/chunk-EAGD6NEE.cjs.map +0 -1
  183. package/dist/chunk-GB724HW2.cjs.map +0 -1
  184. package/dist/chunk-GDXS4EJ5.js +0 -28
  185. package/dist/chunk-GDXS4EJ5.js.map +0 -1
  186. package/dist/chunk-GVBSOZDI.cjs +0 -30
  187. package/dist/chunk-GVBSOZDI.cjs.map +0 -1
  188. package/dist/chunk-JGS6YBDW.js.map +0 -1
  189. package/dist/chunk-KGKCAGRD.cjs.map +0 -1
  190. package/dist/chunk-N6GLZOE4.cjs.map +0 -1
  191. package/dist/chunk-OXQKE5EG.cjs.map +0 -1
  192. package/dist/chunk-T3SYREY4.js.map +0 -1
  193. package/dist/chunk-U4T3Z3K7.cjs.map +0 -1
  194. package/dist/chunk-VV4TZG5S.js.map +0 -1
  195. package/dist/chunk-ZQQABQMH.cjs.map +0 -1
@@ -0,0 +1,295 @@
1
+ import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
2
+ import '@nodaro/shared/apps';
3
+ import '@nodaro/shared/organizations';
4
+
5
+ /** What a slot holds. */
6
+ type TrendSlotKind = "person" | "location" | "product" | "pet";
7
+ /** A chip: make this trait anew from your pictures (`"new"`), or keep the clip's (`"original"`). */
8
+ type TrendChoice = "new" | "original";
9
+ /**
10
+ * The chips a slot can take, by its kind: a person `body` / `outfit` / `hair`,
11
+ * a pet `body` / `coat`, a product `shape` / `finish`, a location none.
12
+ */
13
+ interface TrendChips {
14
+ body?: TrendChoice;
15
+ outfit?: TrendChoice;
16
+ hair?: TrendChoice;
17
+ coat?: TrendChoice;
18
+ shape?: TrendChoice;
19
+ finish?: TrendChoice;
20
+ }
21
+ type TrendResolution = "480p" | "720p" | "1080p";
22
+ /** A trend in the catalog (`list()`). Text is in the resolved locale. */
23
+ interface TrendCard {
24
+ id: string;
25
+ slug: string;
26
+ name: string;
27
+ description?: string;
28
+ tags: string[];
29
+ /** e.g. `"trending"`, `"new"`. */
30
+ badges: string[];
31
+ /** The trend's first example (never the clip it recasts). */
32
+ cover: {
33
+ videoUrl: string;
34
+ posterUrl?: string;
35
+ width: number;
36
+ height: number;
37
+ };
38
+ /** How many slots of each kind the trend has. */
39
+ needs: Record<TrendSlotKind, number>;
40
+ /** The length of a full run, in seconds. */
41
+ durationSec: number;
42
+ isFavorite: boolean;
43
+ }
44
+ /** One slot of a trend: what it asks you for. */
45
+ interface TrendDetailSlot {
46
+ /** The key to fill in {@link TrendRunRequest.slots}, and to mention in `details` as `{slot:<key>}`. */
47
+ key: string;
48
+ label: string;
49
+ kind: TrendSlotKind;
50
+ /** A required slot needs pictures; an optional one left empty takes the chosen example's. */
51
+ required: boolean;
52
+ hint?: string;
53
+ /** The chips this slot starts with (only its kind's own). */
54
+ defaults?: TrendChips;
55
+ }
56
+ /** A finished run shown on a trend's page, with the pictures it used per slot. */
57
+ interface TrendExample {
58
+ videoUrl: string;
59
+ posterUrl?: string;
60
+ width: number;
61
+ height: number;
62
+ /** Slot key → the pictures this example used for it. */
63
+ slots: Record<string, string[]>;
64
+ }
65
+ /** A trend's page (`get()`). */
66
+ interface TrendDetail extends TrendCard {
67
+ /** The published version this page shows. */
68
+ version: number;
69
+ /** `4` when the trend offers a 4-second preview run, else `null`. */
70
+ previewSec: 4 | null;
71
+ resolutions: TrendResolution[];
72
+ slots: TrendDetailSlot[];
73
+ examples: TrendExample[];
74
+ }
75
+ /** What you put in one slot of a run: 1–3 pictures, and the chips of the slot's kind. */
76
+ interface TrendRunSlot extends TrendChips {
77
+ images?: string[];
78
+ }
79
+ /** The body of `estimate()` and `run()`. */
80
+ interface TrendRunRequest {
81
+ /**
82
+ * Slot key → what you put in it. Every required slot needs pictures; an
83
+ * optional slot left out takes the chosen example's. 1–3 pictures per slot.
84
+ */
85
+ slots: Record<string, TrendRunSlot>;
86
+ /** 1-based example whose pictures fill the optional slots you leave empty. Default 1. */
87
+ example?: number;
88
+ /** Your own words, at most 1,000 characters. Mention a slot as `{slot:<key>}`. */
89
+ details?: string;
90
+ /** `true` runs a 4-second preview (only when the trend's `previewSec` is `4`). */
91
+ preview?: boolean;
92
+ /** Default `"480p"`. */
93
+ resolution?: TrendResolution;
94
+ /** A draft run, only at 480p. Default `true` at 480p. */
95
+ draft?: boolean;
96
+ /**
97
+ * A generation session of yours. Accepted (and checked: one you may not use
98
+ * is a 404), but not yet applied: trend runs are not filed into sessions yet.
99
+ */
100
+ sessionId?: string;
101
+ /** Accepted, but not used by the run today. */
102
+ projectId?: string;
103
+ /**
104
+ * A full run's own preview: the `jobId` of a completed preview run of this
105
+ * trend that you started. When the trend masks faces only as needed and that
106
+ * preview needed it, the full run masks them from the start (the quote
107
+ * includes it). Any other job is ignored, without an error. Must be a uuid
108
+ * (else 400 `validation_error`).
109
+ */
110
+ previewJobId?: string;
111
+ /**
112
+ * `run()`: your client app's slug (e.g. `"tools"`: lowercase letters,
113
+ * digits and `-`, 1–40 characters, starting with a letter or digit), as on
114
+ * any job: the run's job carries it as `input_data.origin`, so
115
+ * `client.jobs.list({ origin })` finds it. Not a slug is a 400
116
+ * `validation_error`; without it the run has no origin. `estimate()`
117
+ * ignores it.
118
+ */
119
+ origin?: string;
120
+ }
121
+ /** What a run would cost, in credits (`estimate()`). */
122
+ interface TrendEstimate {
123
+ /** The charge the run is expected to come to. */
124
+ expectedCredits: number;
125
+ /** What is reserved when the run starts; the run is charged what it actually costs. */
126
+ holdCredits: number;
127
+ /**
128
+ * The parts of the quote, by name. With `maskingCredits`, `masking` is
129
+ * listed here too but is not part of `holdCredits` or `expectedCredits`.
130
+ */
131
+ breakdown: Record<string, number>;
132
+ /**
133
+ * Only for a trend that masks faces only as needed: the extra credits
134
+ * charged if the video model refuses the clip and the run is retried with
135
+ * the faces masked. Not included in `expectedCredits` or `holdCredits`.
136
+ */
137
+ maskingCredits?: number;
138
+ }
139
+ /** Per-call options for {@link TrendsResource.run}. */
140
+ interface TrendRunOptions {
141
+ /**
142
+ * Sent as the `Idempotency-Key` header, unchanged (an empty string sends no
143
+ * header). The server takes 8–200 characters and answers 400 for any other
144
+ * length. Reuse it when retrying the same run.
145
+ */
146
+ idempotencyKey?: string;
147
+ }
148
+ /** One slot of a past run, as it was run. Labels are English. */
149
+ interface TrendRunDisplaySlot extends TrendChips {
150
+ key: string;
151
+ label: string;
152
+ kind: TrendSlotKind;
153
+ images: string[];
154
+ /** `true` when the slot was left empty and the example's pictures filled it. */
155
+ fromExample: boolean;
156
+ }
157
+ /**
158
+ * One of your trend runs (`runs()`, `getRun()`). Stays readable after the
159
+ * trend moves on or is unpublished.
160
+ *
161
+ * A Full Quality version of a draft is a run of its own, with its own status,
162
+ * result and charge: `fullQualityOf` names the draft it was made from, and it
163
+ * stays listed after that draft is deleted.
164
+ */
165
+ interface TrendRun {
166
+ jobId: string;
167
+ status: string;
168
+ progress: number | null;
169
+ /**
170
+ * Why a failed or cancelled run did not finish; `null` otherwise. `code` is
171
+ * `safety-block` or `policy-block` when the job was blocked, `credits` when
172
+ * it ran out of credits partway (it was refunded: ask the person to top up,
173
+ * then run it again), else `cancelled` or `failed`. `message` is the same
174
+ * fixed sentence for every code — branch on `code`, not on the text.
175
+ */
176
+ error: {
177
+ code?: string;
178
+ message: string;
179
+ } | null;
180
+ createdAt: string;
181
+ completedAt: string | null;
182
+ /** The trend and version it ran (name in English). */
183
+ trend: {
184
+ id: string;
185
+ slug: string;
186
+ version: number;
187
+ name: string;
188
+ };
189
+ /** The 1-based example used for empty optional slots. */
190
+ example: number;
191
+ slots: TrendRunDisplaySlot[];
192
+ details?: string;
193
+ preview: boolean;
194
+ resolution: string;
195
+ draft: boolean;
196
+ /** The result, once completed. */
197
+ videoUrl: string | null;
198
+ posterUrl: string | null;
199
+ creditsCharged: number | null;
200
+ /** A Full Quality version: the job id of the draft run it was made from. `null` for any other run. */
201
+ fullQualityOf: string | null;
202
+ /**
203
+ * A draft's newest Full Quality try, if one was started: a pointer only,
204
+ * to know an upgrade exists and how it is going. Its video and charge are on
205
+ * that run, listed on its own (its `fullQualityOf` is this run's `jobId`) —
206
+ * read it there (`getRun(fullQuality.jobId)`). Older tries of the draft (a
207
+ * failed or cancelled one tried again) are not listed by `runs()`;
208
+ * `getRun()` still reads one by its id.
209
+ */
210
+ fullQuality: {
211
+ jobId: string;
212
+ status: string;
213
+ } | null;
214
+ /** Until when a completed draft can be redone in Full Quality; `null` otherwise. */
215
+ fullQualityUntil: string | null;
216
+ }
217
+ interface ListTrendsParams {
218
+ /** Search text. */
219
+ q?: string;
220
+ tag?: string;
221
+ /** `true` lists only your favorites. */
222
+ favorites?: boolean;
223
+ /** A platform language for names and descriptions; default your profile's, then English. */
224
+ locale?: string;
225
+ /** The previous page's `next`. */
226
+ cursor?: string;
227
+ /** Page size, 1–60 (server default 30). */
228
+ limit?: number;
229
+ }
230
+ interface ListTrendRunsParams {
231
+ /** Only runs of this trend (its slug). */
232
+ trend?: string;
233
+ /** The previous page's `next`. */
234
+ cursor?: string;
235
+ /** Page size, 1–60 (server default 30). */
236
+ limit?: number;
237
+ }
238
+ /** A tag in use on the published catalog (`tags()`). */
239
+ interface TrendTag {
240
+ /** The tag itself: pass it as `list({ tag })`. */
241
+ tag: string;
242
+ /** The tag's label in the resolved locale; the tag itself when it has none. */
243
+ label: string;
244
+ /** How many published trends carry it. */
245
+ count: number;
246
+ }
247
+ interface TrendPage<T> {
248
+ data: T[];
249
+ /** Pass back as `cursor` for the next page; `null` on the last one. */
250
+ next: string | null;
251
+ }
252
+ declare class TrendsResource {
253
+ private client;
254
+ constructor(client: NodaroClientCore);
255
+ /** The published catalog in its curated order (`GET /v1/trends`), a page at a time. */
256
+ list(params?: ListTrendsParams): Promise<TrendPage<TrendCard>>;
257
+ /** A published trend's page (`GET /v1/trends/:slug`). */
258
+ get(slug: string, params?: {
259
+ locale?: string;
260
+ }): Promise<TrendDetail>;
261
+ /** Quote a run before starting it (`POST /v1/trends/:slug/estimate`); spends nothing. */
262
+ estimate(slug: string, request: TrendRunRequest): Promise<TrendEstimate>;
263
+ /**
264
+ * Start a run (`POST /v1/trends/:slug/runs`, 202). Returns the job to follow.
265
+ * With `options.idempotencyKey` (sent as the `Idempotency-Key` header) a
266
+ * repeat with the same key answers with the first run's `jobId`.
267
+ */
268
+ run(slug: string, request: TrendRunRequest, options?: TrendRunOptions): Promise<{
269
+ jobId: string;
270
+ }>;
271
+ /**
272
+ * Your trend runs, newest first (`GET /v1/trends/runs`). A Full Quality
273
+ * version of a draft is listed as its own run (`fullQualityOf`).
274
+ */
275
+ runs(params?: ListTrendRunsParams): Promise<TrendPage<TrendRun>>;
276
+ /**
277
+ * One of your trend runs by its job id (`GET /v1/trends/runs/:jobId`), in
278
+ * the same shape as `runs()`. A job that is not your own trend run is a
279
+ * `NotFoundError`.
280
+ */
281
+ getRun(jobId: string): Promise<TrendRun>;
282
+ /**
283
+ * The tags in use on the published catalog, each with its label in the
284
+ * resolved locale (`GET /v1/trends/tags`), most used first.
285
+ */
286
+ tags(params?: {
287
+ locale?: string;
288
+ }): Promise<TrendTag[]>;
289
+ /** Add a trend to your favorites (`PUT /v1/trends/:slug/favorite`). */
290
+ favorite(slug: string): Promise<void>;
291
+ /** Remove a trend from your favorites (`DELETE /v1/trends/:slug/favorite`). */
292
+ unfavorite(slug: string): Promise<void>;
293
+ }
294
+
295
+ export { type ListTrendRunsParams, type ListTrendsParams, type TrendCard, type TrendChips, type TrendChoice, type TrendDetail, type TrendDetailSlot, type TrendEstimate, type TrendExample, type TrendPage, type TrendResolution, type TrendRun, type TrendRunDisplaySlot, type TrendRunOptions, type TrendRunRequest, type TrendRunSlot, type TrendSlotKind, type TrendTag, TrendsResource };
@@ -0,0 +1,4 @@
1
+ import '../chunk-YCVRQZT3.js';
2
+ export { TrendsResource } from '../chunk-QGOEQGAE.js';
3
+ //# sourceMappingURL=trends.js.map
4
+ //# sourceMappingURL=trends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"trends.js"}
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-VLCNNA76.cjs');
4
- var chunkBRV7Z4GD_cjs = require('../chunk-BRV7Z4GD.cjs');
4
+ var chunkFHVNTS4E_cjs = require('../chunk-FHVNTS4E.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "TutorialsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkBRV7Z4GD_cjs.TutorialsResource; }
10
+ get: function () { return chunkFHVNTS4E_cjs.TutorialsResource; }
11
11
  });
12
12
  //# sourceMappingURL=tutorials.cjs.map
13
13
  //# sourceMappingURL=tutorials.cjs.map
@@ -33,6 +33,10 @@ interface TutorialFlowItem {
33
33
  complexity: string;
34
34
  /** The listed price; when `estimatedPerMinuteCredits` is above 0, its fixed part. */
35
35
  estimatedCredits: number;
36
+ /** The listed price holds a metered LLM call's ESTIMATE (its model's typical
37
+ * call, charged its actual usage per token): show it `~N`. Absent for a
38
+ * fixed price, and on a deployment running the tier-pricing rollback. */
39
+ estimatedCreditsIsEstimate?: true;
36
40
  /** Credits per minute of the recording the template is given (see `TemplateBrowseCard`); 0 or absent when none. */
37
41
  estimatedPerMinuteCredits?: number;
38
42
  nodeTypesUsed: string[];
@@ -33,6 +33,10 @@ interface TutorialFlowItem {
33
33
  complexity: string;
34
34
  /** The listed price; when `estimatedPerMinuteCredits` is above 0, its fixed part. */
35
35
  estimatedCredits: number;
36
+ /** The listed price holds a metered LLM call's ESTIMATE (its model's typical
37
+ * call, charged its actual usage per token): show it `~N`. Absent for a
38
+ * fixed price, and on a deployment running the tier-pricing rollback. */
39
+ estimatedCreditsIsEstimate?: true;
36
40
  /** Credits per minute of the recording the template is given (see `TemplateBrowseCard`); 0 or absent when none. */
37
41
  estimatedPerMinuteCredits?: number;
38
42
  nodeTypesUsed: string[];
@@ -1,4 +1,4 @@
1
1
  import '../chunk-VT237QF2.js';
2
- export { TutorialsResource } from '../chunk-DPSMVOM3.js';
2
+ export { TutorialsResource } from '../chunk-YSZM3N7Q.js';
3
3
  //# sourceMappingURL=tutorials.js.map
4
4
  //# sourceMappingURL=tutorials.js.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-ZE5RISBZ.cjs');
4
- var chunkZQQABQMH_cjs = require('../chunk-ZQQABQMH.cjs');
4
+ var chunkJTOEHQQJ_cjs = require('../chunk-JTOEHQQJ.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "UploadsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkZQQABQMH_cjs.UploadsResource; }
10
+ get: function () { return chunkJTOEHQQJ_cjs.UploadsResource; }
11
11
  });
12
12
  //# sourceMappingURL=uploads.cjs.map
13
13
  //# sourceMappingURL=uploads.cjs.map
@@ -39,6 +39,19 @@ declare class UploadsResource {
39
39
  * errors on the usual statuses.
40
40
  */
41
41
  upload(file: File): Promise<UploadResult>;
42
+ /**
43
+ * Store a JSON document (`POST /v1/upload-json`, up to 25 MB) and get its
44
+ * public URL — e.g. an image editor's design state, passed to
45
+ * `client.jobs.fromUpload` as `editStateUrl` so the edit can be reopened.
46
+ * The URL is unguessable but public: never store a secret in it. Creates no
47
+ * library item.
48
+ */
49
+ uploadJson(json: Record<string, unknown> | readonly unknown[]): Promise<UploadJsonResult>;
50
+ }
51
+ /** Result of {@link UploadsResource.uploadJson}. */
52
+ interface UploadJsonResult {
53
+ /** Public URL of the stored JSON document. */
54
+ readonly url: string;
42
55
  }
43
56
 
44
- export { type UploadResult, UploadsResource };
57
+ export { type UploadJsonResult, type UploadResult, UploadsResource };
@@ -39,6 +39,19 @@ declare class UploadsResource {
39
39
  * errors on the usual statuses.
40
40
  */
41
41
  upload(file: File): Promise<UploadResult>;
42
+ /**
43
+ * Store a JSON document (`POST /v1/upload-json`, up to 25 MB) and get its
44
+ * public URL — e.g. an image editor's design state, passed to
45
+ * `client.jobs.fromUpload` as `editStateUrl` so the edit can be reopened.
46
+ * The URL is unguessable but public: never store a secret in it. Creates no
47
+ * library item.
48
+ */
49
+ uploadJson(json: Record<string, unknown> | readonly unknown[]): Promise<UploadJsonResult>;
50
+ }
51
+ /** Result of {@link UploadsResource.uploadJson}. */
52
+ interface UploadJsonResult {
53
+ /** Public URL of the stored JSON document. */
54
+ readonly url: string;
42
55
  }
43
56
 
44
- export { type UploadResult, UploadsResource };
57
+ export { type UploadJsonResult, type UploadResult, UploadsResource };
@@ -1,4 +1,4 @@
1
1
  import '../chunk-CGNVHN4V.js';
2
- export { UploadsResource } from '../chunk-T3SYREY4.js';
2
+ export { UploadsResource } from '../chunk-WY4QRJZW.js';
3
3
  //# sourceMappingURL=uploads.js.map
4
4
  //# sourceMappingURL=uploads.js.map
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-45CK55BH.cjs');
4
- var chunkVGWOIWRQ_cjs = require('../chunk-VGWOIWRQ.cjs');
4
+ var chunkVHSMOBU7_cjs = require('../chunk-VHSMOBU7.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "WorkflowsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkVGWOIWRQ_cjs.WorkflowsResource; }
10
+ get: function () { return chunkVHSMOBU7_cjs.WorkflowsResource; }
11
11
  });
12
12
  //# sourceMappingURL=workflows.cjs.map
13
13
  //# sourceMappingURL=workflows.cjs.map
@@ -196,6 +196,12 @@ interface RenderFinalQuote {
196
196
  inputOverrides: Record<string, Record<string, unknown>>;
197
197
  /** Estimated credits; `null` in an edition without credits. */
198
198
  estimatedCredits: number | null;
199
+ /**
200
+ * Present (`true`) when `estimatedCredits` includes an LLM node's estimate:
201
+ * an LLM call is charged its actual usage after it runs, so show `~N`.
202
+ * Absent for a fixed price.
203
+ */
204
+ estimatedCreditsIsEstimate?: true;
199
205
  /**
200
206
  * Whether the payer can cover `estimatedCredits`; `null` in an edition
201
207
  * without credits. When `false`, {@link WorkflowsResource.renderFinal} is
@@ -196,6 +196,12 @@ interface RenderFinalQuote {
196
196
  inputOverrides: Record<string, Record<string, unknown>>;
197
197
  /** Estimated credits; `null` in an edition without credits. */
198
198
  estimatedCredits: number | null;
199
+ /**
200
+ * Present (`true`) when `estimatedCredits` includes an LLM node's estimate:
201
+ * an LLM call is charged its actual usage after it runs, so show `~N`.
202
+ * Absent for a fixed price.
203
+ */
204
+ estimatedCreditsIsEstimate?: true;
199
205
  /**
200
206
  * Whether the payer can cover `estimatedCredits`; `null` in an edition
201
207
  * without credits. When `false`, {@link WorkflowsResource.renderFinal} is
@@ -1,4 +1,4 @@
1
1
  import '../chunk-PGYQ754I.js';
2
- export { WorkflowsResource } from '../chunk-ZXJQSFIA.js';
2
+ export { WorkflowsResource } from '../chunk-JUON5NXA.js';
3
3
  //# sourceMappingURL=workflows.js.map
4
4
  //# sourceMappingURL=workflows.js.map