@nodaro/sdk 2.33.0 → 2.38.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 (197) hide show
  1. package/dist/{chunk-GKQSA24K.cjs → chunk-3WNEIBTH.cjs} +43 -35
  2. package/dist/chunk-3WNEIBTH.cjs.map +1 -0
  3. package/dist/{chunk-JMOKD6ZP.js → chunk-7CUWAVWB.js} +3 -3
  4. package/dist/{chunk-JMOKD6ZP.js.map → chunk-7CUWAVWB.js.map} +1 -1
  5. package/dist/{chunk-E5BM4BLO.js → chunk-7IWVDWSP.js} +20 -3
  6. package/dist/chunk-7IWVDWSP.js.map +1 -0
  7. package/dist/{chunk-RHJRLXKY.cjs → chunk-7XOK277W.cjs} +9 -9
  8. package/dist/{chunk-RHJRLXKY.cjs.map → chunk-7XOK277W.cjs.map} +1 -1
  9. package/dist/{chunk-3QBH2VE2.cjs → chunk-A7QSOD2S.cjs} +20 -3
  10. package/dist/chunk-A7QSOD2S.cjs.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-JSCC2N7N.js → chunk-AVOQ5DG4.js} +29 -21
  14. package/dist/chunk-AVOQ5DG4.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-ED3ZOX3M.js +54 -0
  20. package/dist/chunk-ED3ZOX3M.js.map +1 -0
  21. package/dist/{chunk-5ALNFATQ.cjs → chunk-EK672FFM.cjs} +2 -2
  22. package/dist/chunk-EK672FFM.cjs.map +1 -0
  23. package/dist/{chunk-OXQKE5EG.cjs → chunk-ETX3TLNB.cjs} +43 -9
  24. package/dist/{chunk-4NLVBYMW.js.map → chunk-ETX3TLNB.cjs.map} +1 -1
  25. package/dist/{chunk-BRV7Z4GD.cjs → chunk-FHVNTS4E.cjs} +2 -2
  26. package/dist/{chunk-BRV7Z4GD.cjs.map → chunk-FHVNTS4E.cjs.map} +1 -1
  27. package/dist/{chunk-N6GLZOE4.cjs → chunk-FM2KM5TY.cjs} +52 -10
  28. package/dist/chunk-FM2KM5TY.cjs.map +1 -0
  29. package/dist/{chunk-53SXNN3A.js → chunk-FQNCIP6K.js} +2 -2
  30. package/dist/chunk-FQNCIP6K.js.map +1 -0
  31. package/dist/{chunk-KNMW722T.cjs → chunk-FRQJNGJS.cjs} +5 -5
  32. package/dist/{chunk-KNMW722T.cjs.map → chunk-FRQJNGJS.cjs.map} +1 -1
  33. package/dist/{chunk-4CXB7RA6.js → chunk-IGMWFEFB.js} +6 -4
  34. package/dist/chunk-IGMWFEFB.js.map +1 -0
  35. package/dist/{chunk-56NJIP7P.cjs → chunk-IISVYX5J.cjs} +5 -5
  36. package/dist/{chunk-56NJIP7P.cjs.map → chunk-IISVYX5J.cjs.map} +1 -1
  37. package/dist/{chunk-6OGGJQVA.js → chunk-ILG5DHQQ.js} +2 -2
  38. package/dist/chunk-ILG5DHQQ.js.map +1 -0
  39. package/dist/{chunk-ZQQABQMH.cjs → chunk-JTOEHQQJ.cjs} +12 -2
  40. package/dist/chunk-JTOEHQQJ.cjs.map +1 -0
  41. package/dist/{chunk-ZXJQSFIA.js → chunk-JUON5NXA.js} +2 -2
  42. package/dist/{chunk-ZXJQSFIA.js.map → chunk-JUON5NXA.js.map} +1 -1
  43. package/dist/chunk-KARJ7P7Y.js +3 -0
  44. package/dist/chunk-KARJ7P7Y.js.map +1 -0
  45. package/dist/{chunk-JGS6YBDW.js → chunk-L6T44A3G.js} +51 -11
  46. package/dist/chunk-L6T44A3G.js.map +1 -0
  47. package/dist/{chunk-U4T3Z3K7.cjs → chunk-NKH2UFSD.cjs} +5 -5
  48. package/dist/chunk-NKH2UFSD.cjs.map +1 -0
  49. package/dist/{chunk-E2ZXHS6E.js → chunk-OIPPTBW4.js} +2 -2
  50. package/dist/chunk-OIPPTBW4.js.map +1 -0
  51. package/dist/{chunk-DKEYSJCE.cjs → chunk-OIYMTGYN.cjs} +2 -2
  52. package/dist/chunk-OIYMTGYN.cjs.map +1 -0
  53. package/dist/{chunk-NLQQHJ25.cjs → chunk-OSMKIRKI.cjs} +4 -4
  54. package/dist/{chunk-NLQQHJ25.cjs.map → chunk-OSMKIRKI.cjs.map} +1 -1
  55. package/dist/chunk-PG2GBS3K.cjs +4 -0
  56. package/dist/chunk-PG2GBS3K.cjs.map +1 -0
  57. package/dist/{chunk-GB724HW2.cjs → chunk-PQ7OKM3E.cjs} +6 -4
  58. package/dist/chunk-PQ7OKM3E.cjs.map +1 -0
  59. package/dist/{chunk-Y5CYFNNW.js → chunk-Q6HY2Q5V.js} +4 -4
  60. package/dist/{chunk-Y5CYFNNW.js.map → chunk-Q6HY2Q5V.js.map} +1 -1
  61. package/dist/chunk-QGOEQGAE.js +102 -0
  62. package/dist/chunk-QGOEQGAE.js.map +1 -0
  63. package/dist/{chunk-B7RG6AUQ.cjs → chunk-QZHRXPN5.cjs} +22 -22
  64. package/dist/chunk-QZHRXPN5.cjs.map +1 -0
  65. package/dist/chunk-RQSGS7ZK.cjs +4 -0
  66. package/dist/chunk-RQSGS7ZK.cjs.map +1 -0
  67. package/dist/{chunk-KGKCAGRD.cjs → chunk-TCLNSVYA.cjs} +2 -2
  68. package/dist/chunk-TCLNSVYA.cjs.map +1 -0
  69. package/dist/chunk-U2B7YQ2N.cjs +56 -0
  70. package/dist/chunk-U2B7YQ2N.cjs.map +1 -0
  71. package/dist/chunk-VCEYLJ2Q.cjs +104 -0
  72. package/dist/chunk-VCEYLJ2Q.cjs.map +1 -0
  73. package/dist/{chunk-VGWOIWRQ.cjs → chunk-VHSMOBU7.cjs} +2 -2
  74. package/dist/{chunk-VGWOIWRQ.cjs.map → chunk-VHSMOBU7.cjs.map} +1 -1
  75. package/dist/{chunk-T3SYREY4.js → chunk-WY4QRJZW.js} +12 -2
  76. package/dist/chunk-WY4QRJZW.js.map +1 -0
  77. package/dist/chunk-YCVRQZT3.js +3 -0
  78. package/dist/chunk-YCVRQZT3.js.map +1 -0
  79. package/dist/{chunk-DPSMVOM3.js → chunk-YSZM3N7Q.js} +2 -2
  80. package/dist/chunk-YSZM3N7Q.js.map +1 -0
  81. package/dist/{chunk-5A7J24LN.js → chunk-Z7UZ3FD3.js} +3 -3
  82. package/dist/{chunk-5A7J24LN.js.map → chunk-Z7UZ3FD3.js.map} +1 -1
  83. package/dist/{chunk-6ECW23GA.js → chunk-ZDSC6KBT.js} +3 -3
  84. package/dist/chunk-ZDSC6KBT.js.map +1 -0
  85. package/dist/entries/apps.cjs +2 -2
  86. package/dist/entries/apps.d.cts +4 -0
  87. package/dist/entries/apps.d.ts +4 -0
  88. package/dist/entries/apps.js +1 -1
  89. package/dist/entries/cast-swap.cjs +13 -0
  90. package/dist/entries/cast-swap.cjs.map +1 -0
  91. package/dist/entries/cast-swap.d.cts +380 -0
  92. package/dist/entries/cast-swap.d.ts +380 -0
  93. package/dist/entries/cast-swap.js +4 -0
  94. package/dist/entries/cast-swap.js.map +1 -0
  95. package/dist/entries/characters.d.cts +2 -2
  96. package/dist/entries/characters.d.ts +2 -2
  97. package/dist/entries/client.cjs +29 -27
  98. package/dist/entries/client.d.cts +8 -2
  99. package/dist/entries/client.d.ts +8 -2
  100. package/dist/entries/client.js +24 -22
  101. package/dist/entries/copilot.cjs +4 -4
  102. package/dist/entries/copilot.js +3 -3
  103. package/dist/entries/core.cjs +6 -6
  104. package/dist/entries/core.js +2 -2
  105. package/dist/entries/creatures.d.cts +2 -2
  106. package/dist/entries/creatures.d.ts +2 -2
  107. package/dist/entries/credits.cjs +2 -2
  108. package/dist/entries/credits.d.cts +37 -2
  109. package/dist/entries/credits.d.ts +37 -2
  110. package/dist/entries/credits.js +1 -1
  111. package/dist/entries/edit.cjs +7 -7
  112. package/dist/entries/edit.d.cts +3 -0
  113. package/dist/entries/edit.d.ts +3 -0
  114. package/dist/entries/edit.js +2 -2
  115. package/dist/entries/errors.cjs +30 -22
  116. package/dist/entries/errors.d.cts +42 -4
  117. package/dist/entries/errors.d.ts +42 -4
  118. package/dist/entries/errors.js +1 -1
  119. package/dist/entries/jobs.cjs +2 -2
  120. package/dist/entries/jobs.d.cts +76 -4
  121. package/dist/entries/jobs.d.ts +76 -4
  122. package/dist/entries/jobs.js +1 -1
  123. package/dist/entries/locations.d.cts +2 -2
  124. package/dist/entries/locations.d.ts +2 -2
  125. package/dist/entries/media.cjs +4 -4
  126. package/dist/entries/media.d.cts +39 -5
  127. package/dist/entries/media.d.ts +39 -5
  128. package/dist/entries/media.js +3 -3
  129. package/dist/entries/nodes.cjs +3 -3
  130. package/dist/entries/nodes.d.cts +2 -2
  131. package/dist/entries/nodes.d.ts +2 -2
  132. package/dist/entries/nodes.js +2 -2
  133. package/dist/entries/objects.d.cts +2 -2
  134. package/dist/entries/objects.d.ts +2 -2
  135. package/dist/entries/prompt-helper.cjs +2 -2
  136. package/dist/entries/prompt-helper.d.cts +3 -1
  137. package/dist/entries/prompt-helper.d.ts +3 -1
  138. package/dist/entries/prompt-helper.js +1 -1
  139. package/dist/entries/scene3d.d.cts +3 -3
  140. package/dist/entries/scene3d.d.ts +3 -3
  141. package/dist/entries/studio.cjs +5 -5
  142. package/dist/entries/studio.d.cts +2 -2
  143. package/dist/entries/studio.d.ts +2 -2
  144. package/dist/entries/studio.js +2 -2
  145. package/dist/entries/templates.cjs +2 -2
  146. package/dist/entries/templates.d.cts +4 -0
  147. package/dist/entries/templates.d.ts +4 -0
  148. package/dist/entries/templates.js +1 -1
  149. package/dist/entries/trends.cjs +13 -0
  150. package/dist/entries/trends.cjs.map +1 -0
  151. package/dist/entries/trends.d.cts +295 -0
  152. package/dist/entries/trends.d.ts +295 -0
  153. package/dist/entries/trends.js +4 -0
  154. package/dist/entries/trends.js.map +1 -0
  155. package/dist/entries/tutorials.cjs +2 -2
  156. package/dist/entries/tutorials.d.cts +4 -0
  157. package/dist/entries/tutorials.d.ts +4 -0
  158. package/dist/entries/tutorials.js +1 -1
  159. package/dist/entries/uploads.cjs +2 -2
  160. package/dist/entries/uploads.d.cts +14 -1
  161. package/dist/entries/uploads.d.ts +14 -1
  162. package/dist/entries/uploads.js +1 -1
  163. package/dist/entries/workflows.cjs +2 -2
  164. package/dist/entries/workflows.d.cts +6 -0
  165. package/dist/entries/workflows.d.ts +6 -0
  166. package/dist/entries/workflows.js +1 -1
  167. package/dist/index.cjs +158 -138
  168. package/dist/index.d.cts +8 -6
  169. package/dist/index.d.ts +8 -6
  170. package/dist/index.js +33 -29
  171. package/dist/{nodes-C-wrO6Sg.d.ts → nodes-9WpYNWtS.d.ts} +35 -1
  172. package/dist/{nodes-J8ByUN8z.d.cts → nodes-BDUk5Aej.d.cts} +35 -1
  173. package/dist/{studio-productions-vbCNSbtf.d.ts → studio-productions-DtTE8mdl.d.ts} +35 -1
  174. package/dist/{studio-productions-DUHvdSvk.d.cts → studio-productions-r2-VZsKj.d.cts} +35 -1
  175. package/package.json +12 -2
  176. package/dist/chunk-3QBH2VE2.cjs.map +0 -1
  177. package/dist/chunk-4CXB7RA6.js.map +0 -1
  178. package/dist/chunk-53SXNN3A.js.map +0 -1
  179. package/dist/chunk-5ALNFATQ.cjs.map +0 -1
  180. package/dist/chunk-6ECW23GA.js.map +0 -1
  181. package/dist/chunk-6OGGJQVA.js.map +0 -1
  182. package/dist/chunk-B7RG6AUQ.cjs.map +0 -1
  183. package/dist/chunk-DKEYSJCE.cjs.map +0 -1
  184. package/dist/chunk-DPSMVOM3.js.map +0 -1
  185. package/dist/chunk-E2ZXHS6E.js.map +0 -1
  186. package/dist/chunk-E5BM4BLO.js.map +0 -1
  187. package/dist/chunk-GB724HW2.cjs.map +0 -1
  188. package/dist/chunk-GKQSA24K.cjs.map +0 -1
  189. package/dist/chunk-JGS6YBDW.js.map +0 -1
  190. package/dist/chunk-JSCC2N7N.js.map +0 -1
  191. package/dist/chunk-KGKCAGRD.cjs.map +0 -1
  192. package/dist/chunk-N6GLZOE4.cjs.map +0 -1
  193. package/dist/chunk-OXQKE5EG.cjs.map +0 -1
  194. package/dist/chunk-T3SYREY4.js.map +0 -1
  195. package/dist/chunk-U4T3Z3K7.cjs.map +0 -1
  196. package/dist/chunk-VV4TZG5S.js.map +0 -1
  197. package/dist/chunk-ZQQABQMH.cjs.map +0 -1
@@ -1,53 +1,55 @@
1
- export { NodaroClient, createClient } from '../chunk-JSCC2N7N.js';
1
+ export { NodaroClient, createClient } from '../chunk-AVOQ5DG4.js';
2
+ import '../chunk-ERLXU47J.js';
3
+ import '../chunk-T7N7DFQJ.js';
2
4
  import '../chunk-YN6CBIIB.js';
3
- import '../chunk-ZXJQSFIA.js';
5
+ import '../chunk-JUON5NXA.js';
4
6
  import '../chunk-Z5GLY4R3.js';
7
+ import '../chunk-NNHWH7ER.js';
5
8
  import '../chunk-Y6VDCZPB.js';
6
9
  import '../chunk-WVFAQBS7.js';
7
- import '../chunk-VV4TZG5S.js';
8
- import '../chunk-6OGGJQVA.js';
9
- import '../chunk-DPSMVOM3.js';
10
- import '../chunk-T3SYREY4.js';
11
- import '../chunk-ERLXU47J.js';
12
- import '../chunk-T7N7DFQJ.js';
10
+ import '../chunk-AUKHMT53.js';
11
+ import '../chunk-ILG5DHQQ.js';
12
+ import '../chunk-QGOEQGAE.js';
13
+ import '../chunk-YSZM3N7Q.js';
14
+ import '../chunk-WY4QRJZW.js';
15
+ import '../chunk-WEQWU2IC.js';
13
16
  import '../chunk-BLA44UCM.js';
14
17
  import '../chunk-K4RQOSJH.js';
15
18
  import '../chunk-H7VQTG4M.js';
16
- import '../chunk-E2ZXHS6E.js';
19
+ import '../chunk-OIPPTBW4.js';
17
20
  import '../chunk-AJVSMNPZ.js';
18
21
  import '../chunk-IHKIYVZQ.js';
19
22
  import '../chunk-NCCBS6GU.js';
20
- import '../chunk-NNHWH7ER.js';
23
+ import '../chunk-DQAYIVVS.js';
21
24
  import '../chunk-Y6V6CBY5.js';
22
25
  import '../chunk-YVU2M7MI.js';
23
26
  import '../chunk-JTAW54UM.js';
24
- import '../chunk-6ECW23GA.js';
27
+ import '../chunk-ZDSC6KBT.js';
25
28
  import '../chunk-Z7LGWNI7.js';
26
29
  import '../chunk-7LSFG2AF.js';
27
30
  import '../chunk-ALSLZG3U.js';
28
- import '../chunk-WEQWU2IC.js';
31
+ import '../chunk-Z7UZ3FD3.js';
29
32
  import '../chunk-Z3ZKFI2M.js';
30
33
  import '../chunk-JDEZHITT.js';
31
- import '../chunk-E5BM4BLO.js';
34
+ import '../chunk-7IWVDWSP.js';
32
35
  import '../chunk-P6E4QDJN.js';
33
36
  import '../chunk-E37CVHWW.js';
34
37
  import '../chunk-TVENC6PH.js';
35
- import '../chunk-4NLVBYMW.js';
38
+ import '../chunk-4WRDR4GN.js';
36
39
  import '../chunk-SFB4YLCS.js';
37
40
  import '../chunk-BU5A6K4C.js';
38
- import '../chunk-I6CXC345.js';
39
- import '../chunk-JMOKD6ZP.js';
40
- export { CallbackAuth, StaticTokenAuth, supabaseAuth } from '../chunk-Y5CYFNNW.js';
41
+ import '../chunk-D2ILCSOQ.js';
42
+ import '../chunk-7CUWAVWB.js';
43
+ export { CallbackAuth, StaticTokenAuth, supabaseAuth } from '../chunk-Q6HY2Q5V.js';
44
+ import '../chunk-L6T44A3G.js';
41
45
  import '../chunk-CK3AMMSC.js';
42
- import '../chunk-4CXB7RA6.js';
46
+ import '../chunk-IGMWFEFB.js';
43
47
  import '../chunk-65E3JBFZ.js';
44
- import '../chunk-5A7J24LN.js';
45
- import '../chunk-JGS6YBDW.js';
46
- import '../chunk-53SXNN3A.js';
48
+ import '../chunk-FQNCIP6K.js';
47
49
  import '../chunk-3QFTP5P5.js';
48
50
  import '../chunk-J4WFSKY6.js';
51
+ import '../chunk-ED3ZOX3M.js';
49
52
  import '../chunk-KG4R454Z.js';
50
53
  import '../chunk-EJSGJDZY.js';
51
- import '../chunk-4WRDR4GN.js';
52
54
  //# sourceMappingURL=client.js.map
53
55
  //# sourceMappingURL=client.js.map
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-W33CKW6Q.cjs');
4
- var chunkNLQQHJ25_cjs = require('../chunk-NLQQHJ25.cjs');
5
- require('../chunk-KNMW722T.cjs');
6
- require('../chunk-N6GLZOE4.cjs');
4
+ var chunkOSMKIRKI_cjs = require('../chunk-OSMKIRKI.cjs');
5
+ require('../chunk-FRQJNGJS.cjs');
6
+ require('../chunk-FM2KM5TY.cjs');
7
7
 
8
8
 
9
9
 
10
10
  Object.defineProperty(exports, "CopilotResource", {
11
11
  enumerable: true,
12
- get: function () { return chunkNLQQHJ25_cjs.CopilotResource; }
12
+ get: function () { return chunkOSMKIRKI_cjs.CopilotResource; }
13
13
  });
14
14
  //# sourceMappingURL=copilot.cjs.map
15
15
  //# sourceMappingURL=copilot.cjs.map
@@ -1,6 +1,6 @@
1
1
  import '../chunk-ELSOVJPF.js';
2
- export { CopilotResource } from '../chunk-I6CXC345.js';
3
- import '../chunk-JMOKD6ZP.js';
4
- import '../chunk-JGS6YBDW.js';
2
+ export { CopilotResource } from '../chunk-D2ILCSOQ.js';
3
+ import '../chunk-7CUWAVWB.js';
4
+ import '../chunk-L6T44A3G.js';
5
5
  //# sourceMappingURL=copilot.js.map
6
6
  //# sourceMappingURL=copilot.js.map
@@ -1,26 +1,26 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-X7XP5WBP.cjs');
4
- var chunk56NJIP7P_cjs = require('../chunk-56NJIP7P.cjs');
5
- require('../chunk-N6GLZOE4.cjs');
4
+ var chunkIISVYX5J_cjs = require('../chunk-IISVYX5J.cjs');
5
+ require('../chunk-FM2KM5TY.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "CallbackAuth", {
10
10
  enumerable: true,
11
- get: function () { return chunk56NJIP7P_cjs.CallbackAuth; }
11
+ get: function () { return chunkIISVYX5J_cjs.CallbackAuth; }
12
12
  });
13
13
  Object.defineProperty(exports, "NodaroClientCore", {
14
14
  enumerable: true,
15
- get: function () { return chunk56NJIP7P_cjs.NodaroClientCore; }
15
+ get: function () { return chunkIISVYX5J_cjs.NodaroClientCore; }
16
16
  });
17
17
  Object.defineProperty(exports, "StaticTokenAuth", {
18
18
  enumerable: true,
19
- get: function () { return chunk56NJIP7P_cjs.StaticTokenAuth; }
19
+ get: function () { return chunkIISVYX5J_cjs.StaticTokenAuth; }
20
20
  });
21
21
  Object.defineProperty(exports, "supabaseAuth", {
22
22
  enumerable: true,
23
- get: function () { return chunk56NJIP7P_cjs.supabaseAuth; }
23
+ get: function () { return chunkIISVYX5J_cjs.supabaseAuth; }
24
24
  });
25
25
  //# sourceMappingURL=core.cjs.map
26
26
  //# sourceMappingURL=core.cjs.map
@@ -1,5 +1,5 @@
1
1
  import '../chunk-AUDHV3OE.js';
2
- export { CallbackAuth, NodaroClientCore, StaticTokenAuth, supabaseAuth } from '../chunk-Y5CYFNNW.js';
3
- import '../chunk-JGS6YBDW.js';
2
+ export { CallbackAuth, NodaroClientCore, StaticTokenAuth, supabaseAuth } from '../chunk-Q6HY2Q5V.js';
3
+ import '../chunk-L6T44A3G.js';
4
4
  //# sourceMappingURL=core.js.map
5
5
  //# sourceMappingURL=core.js.map
@@ -2,7 +2,7 @@ import { CreatureAttachColumn, ObjectAspectRatio } from '@nodaro/shared/entities
2
2
  export { OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn } from '@nodaro/shared/entities';
3
3
  import { TtsProvider } from '@nodaro/shared/models';
4
4
  import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.cjs';
5
- import { l as GenerationSessionParams } from '../nodes-J8ByUN8z.cjs';
5
+ import { l as GenerationSessionParams } from '../nodes-BDUk5Aej.cjs';
6
6
  import '@nodaro/shared/apps';
7
7
  import '@nodaro/shared/organizations';
8
8
  import '@nodaro/shared/types';
@@ -14,7 +14,7 @@ import '@nodaro/shared/scene3d';
14
14
  import '@nodaro/shared/credits';
15
15
  import './jobs.cjs';
16
16
  import './errors.cjs';
17
- import '../studio-productions-DUHvdSvk.cjs';
17
+ import '../studio-productions-r2-VZsKj.cjs';
18
18
  import '@nodaro/shared/model-catalog';
19
19
  import '@nodaro/prompts/prompt-builder';
20
20
 
@@ -2,7 +2,7 @@ import { CreatureAttachColumn, ObjectAspectRatio } from '@nodaro/shared/entities
2
2
  export { OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn } from '@nodaro/shared/entities';
3
3
  import { TtsProvider } from '@nodaro/shared/models';
4
4
  import { N as NodaroClientCore } from '../developer-apps-zSQXWmEG.js';
5
- import { l as GenerationSessionParams } from '../nodes-C-wrO6Sg.js';
5
+ import { l as GenerationSessionParams } from '../nodes-9WpYNWtS.js';
6
6
  import '@nodaro/shared/apps';
7
7
  import '@nodaro/shared/organizations';
8
8
  import '@nodaro/shared/types';
@@ -14,7 +14,7 @@ import '@nodaro/shared/scene3d';
14
14
  import '@nodaro/shared/credits';
15
15
  import './jobs.js';
16
16
  import './errors.js';
17
- import '../studio-productions-vbCNSbtf.js';
17
+ import '../studio-productions-DtTE8mdl.js';
18
18
  import '@nodaro/shared/model-catalog';
19
19
  import '@nodaro/prompts/prompt-builder';
20
20
 
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-ALUUBPDG.cjs');
4
- var chunkGB724HW2_cjs = require('../chunk-GB724HW2.cjs');
4
+ var chunkPQ7OKM3E_cjs = require('../chunk-PQ7OKM3E.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "CreditsResource", {
9
9
  enumerable: true,
10
- get: function () { return chunkGB724HW2_cjs.CreditsResource; }
10
+ get: function () { return chunkPQ7OKM3E_cjs.CreditsResource; }
11
11
  });
12
12
  //# sourceMappingURL=credits.cjs.map
13
13
  //# sourceMappingURL=credits.cjs.map
@@ -107,6 +107,40 @@ interface ModelCostsResult {
107
107
  data: Record<string, number>;
108
108
  missing: string[];
109
109
  errors: string[];
110
+ /**
111
+ * Why each identifier in `errors` has no price — today only
112
+ * `llm_model_unpriced`: a metered LLM price key whose model has no rate on
113
+ * the lane it would be served on (it cannot be run). Omitted when `errors`
114
+ * is empty.
115
+ */
116
+ errorCodes?: Record<string, ModelCostError>;
117
+ /**
118
+ * The identifiers in `data` whose figure is an ESTIMATE, not a fixed price:
119
+ * metered LLM price keys (`llmPriceKey` from `@nodaro/shared/llm-models`,
120
+ * `<feature>:<model>[:direct]`), charged on what the call actually uses.
121
+ * Show these as `~N`. Omitted when there are none, so a batch of fixed ids
122
+ * answers exactly as it always has. A metered key that lands in `missing`
123
+ * instead means the server is not pricing LLM calls per model — show no
124
+ * price for it.
125
+ */
126
+ estimates?: string[];
127
+ }
128
+ /** {@link ModelCostsResult.errorCodes} — why an identifier has no price. */
129
+ interface ModelCostError {
130
+ /** Today only `llm_model_unpriced`; open to codes a newer server may add. */
131
+ code: "llm_model_unpriced" | (string & {});
132
+ /** A sentence to show the user. */
133
+ message: string;
134
+ }
135
+ /**
136
+ * Result of `GET /v1/credits/model-cost?model=<id>` (`data`): the credits one
137
+ * identifier is charged. `estimate: true` marks a metered LLM price key's
138
+ * figure as an estimate (show it as `~N`); such an answer is never cached.
139
+ */
140
+ interface ModelCostResult {
141
+ model: string;
142
+ creditCost: number;
143
+ estimate?: true;
110
144
  }
111
145
  /**
112
146
  * The two browser signals a claim reports — SHA-256 hex digests computed by
@@ -189,7 +223,8 @@ declare class CreditsResource {
189
223
  * `POST /v1/credits/model-costs` → per-identifier credit cost, for editor
190
224
  * cost previews. Capped at the first {@link MODEL_COSTS_LIMIT} identifiers
191
225
  * (the route's request limit). Preserves the `{ data, missing, errors }`
192
- * fault-isolation shape verbatim (see {@link ModelCostsResult}).
226
+ * fault-isolation shape verbatim, plus `estimates` / `errorCodes` when a
227
+ * metered LLM price key was asked (see {@link ModelCostsResult}).
193
228
  */
194
229
  modelCosts(ids: string[]): Promise<ModelCostsResult>;
195
230
  /**
@@ -234,4 +269,4 @@ declare class CreditsResource {
234
269
  markWelcomeOfferSeen(): Promise<WelcomeOfferSeenResult>;
235
270
  }
236
271
 
237
- export { type CreditTransaction, type CreditTransactionsOptions, type CreditTransactionsPage, CreditsResource, type FreeGrantState, type ModelCostsResult, type SignupGrantClaimResult, type SignupKeys, type UserBalance, type WelcomeOfferClaimInput, type WelcomeOfferClaimResult, type WelcomeOfferSeenResult, type WelcomeOfferState };
272
+ export { type CreditTransaction, type CreditTransactionsOptions, type CreditTransactionsPage, CreditsResource, type FreeGrantState, type ModelCostError, type ModelCostResult, type ModelCostsResult, type SignupGrantClaimResult, type SignupKeys, type UserBalance, type WelcomeOfferClaimInput, type WelcomeOfferClaimResult, type WelcomeOfferSeenResult, type WelcomeOfferState };
@@ -107,6 +107,40 @@ interface ModelCostsResult {
107
107
  data: Record<string, number>;
108
108
  missing: string[];
109
109
  errors: string[];
110
+ /**
111
+ * Why each identifier in `errors` has no price — today only
112
+ * `llm_model_unpriced`: a metered LLM price key whose model has no rate on
113
+ * the lane it would be served on (it cannot be run). Omitted when `errors`
114
+ * is empty.
115
+ */
116
+ errorCodes?: Record<string, ModelCostError>;
117
+ /**
118
+ * The identifiers in `data` whose figure is an ESTIMATE, not a fixed price:
119
+ * metered LLM price keys (`llmPriceKey` from `@nodaro/shared/llm-models`,
120
+ * `<feature>:<model>[:direct]`), charged on what the call actually uses.
121
+ * Show these as `~N`. Omitted when there are none, so a batch of fixed ids
122
+ * answers exactly as it always has. A metered key that lands in `missing`
123
+ * instead means the server is not pricing LLM calls per model — show no
124
+ * price for it.
125
+ */
126
+ estimates?: string[];
127
+ }
128
+ /** {@link ModelCostsResult.errorCodes} — why an identifier has no price. */
129
+ interface ModelCostError {
130
+ /** Today only `llm_model_unpriced`; open to codes a newer server may add. */
131
+ code: "llm_model_unpriced" | (string & {});
132
+ /** A sentence to show the user. */
133
+ message: string;
134
+ }
135
+ /**
136
+ * Result of `GET /v1/credits/model-cost?model=<id>` (`data`): the credits one
137
+ * identifier is charged. `estimate: true` marks a metered LLM price key's
138
+ * figure as an estimate (show it as `~N`); such an answer is never cached.
139
+ */
140
+ interface ModelCostResult {
141
+ model: string;
142
+ creditCost: number;
143
+ estimate?: true;
110
144
  }
111
145
  /**
112
146
  * The two browser signals a claim reports — SHA-256 hex digests computed by
@@ -189,7 +223,8 @@ declare class CreditsResource {
189
223
  * `POST /v1/credits/model-costs` → per-identifier credit cost, for editor
190
224
  * cost previews. Capped at the first {@link MODEL_COSTS_LIMIT} identifiers
191
225
  * (the route's request limit). Preserves the `{ data, missing, errors }`
192
- * fault-isolation shape verbatim (see {@link ModelCostsResult}).
226
+ * fault-isolation shape verbatim, plus `estimates` / `errorCodes` when a
227
+ * metered LLM price key was asked (see {@link ModelCostsResult}).
193
228
  */
194
229
  modelCosts(ids: string[]): Promise<ModelCostsResult>;
195
230
  /**
@@ -234,4 +269,4 @@ declare class CreditsResource {
234
269
  markWelcomeOfferSeen(): Promise<WelcomeOfferSeenResult>;
235
270
  }
236
271
 
237
- export { type CreditTransaction, type CreditTransactionsOptions, type CreditTransactionsPage, CreditsResource, type FreeGrantState, type ModelCostsResult, type SignupGrantClaimResult, type SignupKeys, type UserBalance, type WelcomeOfferClaimInput, type WelcomeOfferClaimResult, type WelcomeOfferSeenResult, type WelcomeOfferState };
272
+ export { type CreditTransaction, type CreditTransactionsOptions, type CreditTransactionsPage, CreditsResource, type FreeGrantState, type ModelCostError, type ModelCostResult, type ModelCostsResult, type SignupGrantClaimResult, type SignupKeys, type UserBalance, type WelcomeOfferClaimInput, type WelcomeOfferClaimResult, type WelcomeOfferSeenResult, type WelcomeOfferState };
@@ -1,4 +1,4 @@
1
1
  import '../chunk-V4GPQ6Y2.js';
2
- export { CreditsResource } from '../chunk-4CXB7RA6.js';
2
+ export { CreditsResource } from '../chunk-IGMWFEFB.js';
3
3
  //# sourceMappingURL=credits.js.map
4
4
  //# sourceMappingURL=credits.js.map
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunk6T54F65Q_cjs = require('../chunk-6T54F65Q.cjs');
4
- var chunkRHJRLXKY_cjs = require('../chunk-RHJRLXKY.cjs');
5
- require('../chunk-N6GLZOE4.cjs');
4
+ var chunk7XOK277W_cjs = require('../chunk-7XOK277W.cjs');
5
+ require('../chunk-FM2KM5TY.cjs');
6
6
 
7
7
 
8
8
 
@@ -12,23 +12,23 @@ Object.defineProperty(exports, "unwrapEditPlanOutput", {
12
12
  });
13
13
  Object.defineProperty(exports, "CLIP_PACK_MAX_TARGET_SEC", {
14
14
  enumerable: true,
15
- get: function () { return chunkRHJRLXKY_cjs.CLIP_PACK_MAX_TARGET_SEC; }
15
+ get: function () { return chunk7XOK277W_cjs.CLIP_PACK_MAX_TARGET_SEC; }
16
16
  });
17
17
  Object.defineProperty(exports, "CLIP_PACK_MIN_TARGET_SEC", {
18
18
  enumerable: true,
19
- get: function () { return chunkRHJRLXKY_cjs.CLIP_PACK_MIN_TARGET_SEC; }
19
+ get: function () { return chunk7XOK277W_cjs.CLIP_PACK_MIN_TARGET_SEC; }
20
20
  });
21
21
  Object.defineProperty(exports, "EditResource", {
22
22
  enumerable: true,
23
- get: function () { return chunkRHJRLXKY_cjs.EditResource; }
23
+ get: function () { return chunk7XOK277W_cjs.EditResource; }
24
24
  });
25
25
  Object.defineProperty(exports, "TRAILER_FORMATS", {
26
26
  enumerable: true,
27
- get: function () { return chunkRHJRLXKY_cjs.TRAILER_FORMATS; }
27
+ get: function () { return chunk7XOK277W_cjs.TRAILER_FORMATS; }
28
28
  });
29
29
  Object.defineProperty(exports, "USE_CASE_NODE_TYPES", {
30
30
  enumerable: true,
31
- get: function () { return chunkRHJRLXKY_cjs.USE_CASE_NODE_TYPES; }
31
+ get: function () { return chunk7XOK277W_cjs.USE_CASE_NODE_TYPES; }
32
32
  });
33
33
  //# sourceMappingURL=edit.cjs.map
34
34
  //# sourceMappingURL=edit.cjs.map
@@ -545,6 +545,9 @@ interface UseCaseEstimate {
545
545
  stepsCredits: number;
546
546
  /** The per-run fee. */
547
547
  feeCredits: number;
548
+ /** A step is a metered LLM call's ESTIMATE (charged its actual usage), so the
549
+ * total is one: show it `~N`. Absent for a fixed figure. */
550
+ estimate?: true;
548
551
  /** The recording's length, in seconds. */
549
552
  durationSec: number | null;
550
553
  }
@@ -545,6 +545,9 @@ interface UseCaseEstimate {
545
545
  stepsCredits: number;
546
546
  /** The per-run fee. */
547
547
  feeCredits: number;
548
+ /** A step is a metered LLM call's ESTIMATE (charged its actual usage), so the
549
+ * total is one: show it `~N`. Absent for a fixed figure. */
550
+ estimate?: true;
548
551
  /** The recording's length, in seconds. */
549
552
  durationSec: number | null;
550
553
  }
@@ -1,5 +1,5 @@
1
1
  export { unwrapEditPlanOutput } from '../chunk-UKB64254.js';
2
- export { CLIP_PACK_MAX_TARGET_SEC, CLIP_PACK_MIN_TARGET_SEC, EditResource, TRAILER_FORMATS, USE_CASE_NODE_TYPES } from '../chunk-5A7J24LN.js';
3
- import '../chunk-JGS6YBDW.js';
2
+ export { CLIP_PACK_MAX_TARGET_SEC, CLIP_PACK_MIN_TARGET_SEC, EditResource, TRAILER_FORMATS, USE_CASE_NODE_TYPES } from '../chunk-Z7UZ3FD3.js';
3
+ import '../chunk-L6T44A3G.js';
4
4
  //# sourceMappingURL=edit.js.map
5
5
  //# sourceMappingURL=edit.js.map
@@ -1,93 +1,101 @@
1
1
  'use strict';
2
2
 
3
3
  require('../chunk-A2ZAFAWC.cjs');
4
- var chunkN6GLZOE4_cjs = require('../chunk-N6GLZOE4.cjs');
4
+ var chunkFM2KM5TY_cjs = require('../chunk-FM2KM5TY.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "AlreadyRunningError", {
9
9
  enumerable: true,
10
- get: function () { return chunkN6GLZOE4_cjs.AlreadyRunningError; }
10
+ get: function () { return chunkFM2KM5TY_cjs.AlreadyRunningError; }
11
11
  });
12
12
  Object.defineProperty(exports, "AppRunVersionChangedError", {
13
13
  enumerable: true,
14
- get: function () { return chunkN6GLZOE4_cjs.AppRunVersionChangedError; }
14
+ get: function () { return chunkFM2KM5TY_cjs.AppRunVersionChangedError; }
15
+ });
16
+ Object.defineProperty(exports, "CREDIT_CAP_CODES", {
17
+ enumerable: true,
18
+ get: function () { return chunkFM2KM5TY_cjs.CREDIT_CAP_CODES; }
15
19
  });
16
20
  Object.defineProperty(exports, "ContinuationPreviewPendingError", {
17
21
  enumerable: true,
18
- get: function () { return chunkN6GLZOE4_cjs.ContinuationPreviewPendingError; }
22
+ get: function () { return chunkFM2KM5TY_cjs.ContinuationPreviewPendingError; }
19
23
  });
20
24
  Object.defineProperty(exports, "ContinuationRefusedError", {
21
25
  enumerable: true,
22
- get: function () { return chunkN6GLZOE4_cjs.ContinuationRefusedError; }
26
+ get: function () { return chunkFM2KM5TY_cjs.ContinuationRefusedError; }
27
+ });
28
+ Object.defineProperty(exports, "CreditCapExceededError", {
29
+ enumerable: true,
30
+ get: function () { return chunkFM2KM5TY_cjs.CreditCapExceededError; }
23
31
  });
24
32
  Object.defineProperty(exports, "ForbiddenError", {
25
33
  enumerable: true,
26
- get: function () { return chunkN6GLZOE4_cjs.ForbiddenError; }
34
+ get: function () { return chunkFM2KM5TY_cjs.ForbiddenError; }
27
35
  });
28
36
  Object.defineProperty(exports, "InsufficientCreditsError", {
29
37
  enumerable: true,
30
- get: function () { return chunkN6GLZOE4_cjs.InsufficientCreditsError; }
38
+ get: function () { return chunkFM2KM5TY_cjs.InsufficientCreditsError; }
31
39
  });
32
40
  Object.defineProperty(exports, "JobAbortedError", {
33
41
  enumerable: true,
34
- get: function () { return chunkN6GLZOE4_cjs.JobAbortedError; }
42
+ get: function () { return chunkFM2KM5TY_cjs.JobAbortedError; }
35
43
  });
36
44
  Object.defineProperty(exports, "JobBlockedError", {
37
45
  enumerable: true,
38
- get: function () { return chunkN6GLZOE4_cjs.JobBlockedError; }
46
+ get: function () { return chunkFM2KM5TY_cjs.JobBlockedError; }
39
47
  });
40
48
  Object.defineProperty(exports, "JobFailedError", {
41
49
  enumerable: true,
42
- get: function () { return chunkN6GLZOE4_cjs.JobFailedError; }
50
+ get: function () { return chunkFM2KM5TY_cjs.JobFailedError; }
43
51
  });
44
52
  Object.defineProperty(exports, "JobHeldError", {
45
53
  enumerable: true,
46
- get: function () { return chunkN6GLZOE4_cjs.JobHeldError; }
54
+ get: function () { return chunkFM2KM5TY_cjs.JobHeldError; }
47
55
  });
48
56
  Object.defineProperty(exports, "JobTimeoutError", {
49
57
  enumerable: true,
50
- get: function () { return chunkN6GLZOE4_cjs.JobTimeoutError; }
58
+ get: function () { return chunkFM2KM5TY_cjs.JobTimeoutError; }
51
59
  });
52
60
  Object.defineProperty(exports, "NodaroError", {
53
61
  enumerable: true,
54
- get: function () { return chunkN6GLZOE4_cjs.NodaroError; }
62
+ get: function () { return chunkFM2KM5TY_cjs.NodaroError; }
55
63
  });
56
64
  Object.defineProperty(exports, "NotFoundError", {
57
65
  enumerable: true,
58
- get: function () { return chunkN6GLZOE4_cjs.NotFoundError; }
66
+ get: function () { return chunkFM2KM5TY_cjs.NotFoundError; }
59
67
  });
60
68
  Object.defineProperty(exports, "RateLimitedError", {
61
69
  enumerable: true,
62
- get: function () { return chunkN6GLZOE4_cjs.RateLimitedError; }
70
+ get: function () { return chunkFM2KM5TY_cjs.RateLimitedError; }
63
71
  });
64
72
  Object.defineProperty(exports, "StorageExceededError", {
65
73
  enumerable: true,
66
- get: function () { return chunkN6GLZOE4_cjs.StorageExceededError; }
74
+ get: function () { return chunkFM2KM5TY_cjs.StorageExceededError; }
67
75
  });
68
76
  Object.defineProperty(exports, "StudioOpError", {
69
77
  enumerable: true,
70
- get: function () { return chunkN6GLZOE4_cjs.StudioOpError; }
78
+ get: function () { return chunkFM2KM5TY_cjs.StudioOpError; }
71
79
  });
72
80
  Object.defineProperty(exports, "StudioPreviewAppliedError", {
73
81
  enumerable: true,
74
- get: function () { return chunkN6GLZOE4_cjs.StudioPreviewAppliedError; }
82
+ get: function () { return chunkFM2KM5TY_cjs.StudioPreviewAppliedError; }
75
83
  });
76
84
  Object.defineProperty(exports, "StudioPreviewUnavailable", {
77
85
  enumerable: true,
78
- get: function () { return chunkN6GLZOE4_cjs.StudioPreviewUnavailable; }
86
+ get: function () { return chunkFM2KM5TY_cjs.StudioPreviewUnavailable; }
79
87
  });
80
88
  Object.defineProperty(exports, "UnauthorizedError", {
81
89
  enumerable: true,
82
- get: function () { return chunkN6GLZOE4_cjs.UnauthorizedError; }
90
+ get: function () { return chunkFM2KM5TY_cjs.UnauthorizedError; }
83
91
  });
84
92
  Object.defineProperty(exports, "WorkflowConflictError", {
85
93
  enumerable: true,
86
- get: function () { return chunkN6GLZOE4_cjs.WorkflowConflictError; }
94
+ get: function () { return chunkFM2KM5TY_cjs.WorkflowConflictError; }
87
95
  });
88
96
  Object.defineProperty(exports, "throwFromResponse", {
89
97
  enumerable: true,
90
- get: function () { return chunkN6GLZOE4_cjs.throwFromResponse; }
98
+ get: function () { return chunkFM2KM5TY_cjs.throwFromResponse; }
91
99
  });
92
100
  //# sourceMappingURL=errors.cjs.map
93
101
  //# sourceMappingURL=errors.cjs.map
@@ -1,4 +1,4 @@
1
- import { x as StudioOpsResponse } from '../studio-productions-DUHvdSvk.cjs';
1
+ import { x as StudioOpsResponse } from '../studio-productions-r2-VZsKj.cjs';
2
2
  import '../developer-apps-zSQXWmEG.cjs';
3
3
  import '@nodaro/shared/apps';
4
4
  import '@nodaro/shared/organizations';
@@ -6,7 +6,15 @@ import '@nodaro/shared/organizations';
6
6
  declare class NodaroError extends Error {
7
7
  readonly code: string;
8
8
  readonly status: number;
9
- constructor(message: string, code: string, status: number);
9
+ /**
10
+ * Every other field of the server's error envelope (`{ error: { code,
11
+ * message, … } }`), as it was sent: for example a trend refusal's `slot`, a
12
+ * publish refusal's `reasons`, a validation error's `issues`. Empty when the
13
+ * envelope had nothing else, or for an error the SDK made itself. A copy —
14
+ * changing it changes nothing else.
15
+ */
16
+ readonly details: Readonly<Record<string, unknown>>;
17
+ constructor(message: string, code: string, status: number, details?: Readonly<Record<string, unknown>>);
10
18
  }
11
19
  declare class UnauthorizedError extends NodaroError {
12
20
  constructor(message?: string);
@@ -21,10 +29,38 @@ declare class NotFoundError extends NodaroError {
21
29
  declare class RateLimitedError extends NodaroError {
22
30
  constructor(message?: string);
23
31
  }
32
+ /**
33
+ * HTTP 402: the run costs more than the caller may spend. `code` is the
34
+ * refusal's own code — `insufficient_credits` for the caller's own balance, or
35
+ * another 402 code such as `free_video_limit`. A spending cap someone else set
36
+ * (a workspace budget, a member cap, a per-user allowance) is the subclass
37
+ * {@link CreditCapExceededError}, so `instanceof InsufficientCreditsError`
38
+ * still catches every 402.
39
+ */
24
40
  declare class InsufficientCreditsError extends NodaroError {
25
41
  readonly required?: number | undefined;
26
42
  readonly available?: number | undefined;
27
- constructor(message?: string, required?: number | undefined, available?: number | undefined);
43
+ constructor(message?: string, required?: number | undefined, available?: number | undefined, code?: string);
44
+ }
45
+ /** The 402 codes of a spending cap set by someone other than the caller. */
46
+ type CreditCapCode = "budget_exceeded" | "member_cap_exceeded" | "user_allowance_exceeded";
47
+ /**
48
+ * The 402 codes {@link CreditCapExceededError} carries: the workspace's budget
49
+ * (`budget_exceeded`), the caller's cap in that workspace
50
+ * (`member_cap_exceeded`), the deployment's per-user allowance
51
+ * (`user_allowance_exceeded`).
52
+ */
53
+ declare const CREDIT_CAP_CODES: ReadonlySet<CreditCapCode>;
54
+ /**
55
+ * HTTP 402 from a spending cap, not from the caller's own balance: topping up
56
+ * does not help — whoever set the cap (the workspace's owner, the deployment's
57
+ * operator) has to raise it. An {@link InsufficientCreditsError}, so existing
58
+ * catches keep working; `code` says which cap. `available`, when sent, is what
59
+ * the cap has left.
60
+ */
61
+ declare class CreditCapExceededError extends InsufficientCreditsError {
62
+ readonly code: CreditCapCode;
63
+ constructor(code: CreditCapCode, message?: string, required?: number, available?: number);
28
64
  }
29
65
  declare class StorageExceededError extends NodaroError {
30
66
  readonly limitBytes?: number | undefined;
@@ -329,10 +365,12 @@ interface ApiErrorBody {
329
365
  required?: unknown;
330
366
  /** …and what the caller has (withheld on a deployment-paid instance). */
331
367
  balance?: unknown;
368
+ /** A per-user allowance's 402: what the allowance has left. */
369
+ remaining?: unknown;
332
370
  /** `app_run_version_changed`: the version the run ran, and the one the caller is on. */
333
371
  runVersion?: unknown;
334
372
  appVersion?: unknown;
335
373
  }
336
374
  declare function throwFromResponse(status: number, body: ApiErrorBody): never;
337
375
 
338
- export { AlreadyRunningError, AppRunVersionChangedError, ContinuationPreviewPendingError, ContinuationRefusedError, ForbiddenError, type HeldFinalRun, InsufficientCreditsError, JobAbortedError, JobBlockedError, JobFailedError, JobHeldError, JobTimeoutError, NodaroError, NotFoundError, RateLimitedError, StorageExceededError, StudioOpError, StudioPreviewAppliedError, StudioPreviewUnavailable, UnauthorizedError, type WorkflowConflictCode, WorkflowConflictError, throwFromResponse };
376
+ export { AlreadyRunningError, AppRunVersionChangedError, CREDIT_CAP_CODES, ContinuationPreviewPendingError, ContinuationRefusedError, type CreditCapCode, CreditCapExceededError, ForbiddenError, type HeldFinalRun, InsufficientCreditsError, JobAbortedError, JobBlockedError, JobFailedError, JobHeldError, JobTimeoutError, NodaroError, NotFoundError, RateLimitedError, StorageExceededError, StudioOpError, StudioPreviewAppliedError, StudioPreviewUnavailable, UnauthorizedError, type WorkflowConflictCode, WorkflowConflictError, throwFromResponse };