@sogni-ai/expo-client 1.0.0-alpha.10

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 (262) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +411 -0
  3. package/dist/cjs/Account/index.d.ts +60 -0
  4. package/dist/cjs/Account/index.d.ts.map +1 -0
  5. package/dist/cjs/Account/index.js +188 -0
  6. package/dist/cjs/Account/index.js.map +1 -0
  7. package/dist/cjs/Account/types.d.ts +43 -0
  8. package/dist/cjs/Account/types.d.ts.map +1 -0
  9. package/dist/cjs/Account/types.js +18 -0
  10. package/dist/cjs/Account/types.js.map +1 -0
  11. package/dist/cjs/ApiClient/WebSocketClient/events.d.ts +139 -0
  12. package/dist/cjs/ApiClient/WebSocketClient/events.d.ts.map +1 -0
  13. package/dist/cjs/ApiClient/WebSocketClient/events.js +3 -0
  14. package/dist/cjs/ApiClient/WebSocketClient/events.js.map +1 -0
  15. package/dist/cjs/ApiClient/WebSocketClient/index.d.ts +45 -0
  16. package/dist/cjs/ApiClient/WebSocketClient/index.d.ts.map +1 -0
  17. package/dist/cjs/ApiClient/WebSocketClient/index.js +283 -0
  18. package/dist/cjs/ApiClient/WebSocketClient/index.js.map +1 -0
  19. package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts +45 -0
  20. package/dist/cjs/ApiClient/WebSocketClient/normalize.d.ts.map +1 -0
  21. package/dist/cjs/ApiClient/WebSocketClient/normalize.js +245 -0
  22. package/dist/cjs/ApiClient/WebSocketClient/normalize.js.map +1 -0
  23. package/dist/cjs/ApiClient/WebSocketClient/types.d.ts +9 -0
  24. package/dist/cjs/ApiClient/WebSocketClient/types.d.ts.map +1 -0
  25. package/dist/cjs/ApiClient/WebSocketClient/types.js +3 -0
  26. package/dist/cjs/ApiClient/WebSocketClient/types.js.map +1 -0
  27. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts +161 -0
  28. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.d.ts.map +1 -0
  29. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js +11 -0
  30. package/dist/cjs/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
  31. package/dist/cjs/ApiClient/index.d.ts +60 -0
  32. package/dist/cjs/ApiClient/index.d.ts.map +1 -0
  33. package/dist/cjs/ApiClient/index.js +87 -0
  34. package/dist/cjs/ApiClient/index.js.map +1 -0
  35. package/dist/cjs/Chat/ChatStream.d.ts +42 -0
  36. package/dist/cjs/Chat/ChatStream.d.ts.map +1 -0
  37. package/dist/cjs/Chat/ChatStream.js +146 -0
  38. package/dist/cjs/Chat/ChatStream.js.map +1 -0
  39. package/dist/cjs/Chat/index.d.ts +61 -0
  40. package/dist/cjs/Chat/index.d.ts.map +1 -0
  41. package/dist/cjs/Chat/index.js +179 -0
  42. package/dist/cjs/Chat/index.js.map +1 -0
  43. package/dist/cjs/Chat/tools.d.ts +13 -0
  44. package/dist/cjs/Chat/tools.d.ts.map +1 -0
  45. package/dist/cjs/Chat/tools.js +22 -0
  46. package/dist/cjs/Chat/tools.js.map +1 -0
  47. package/dist/cjs/Chat/types.d.ts +153 -0
  48. package/dist/cjs/Chat/types.d.ts.map +1 -0
  49. package/dist/cjs/Chat/types.js +3 -0
  50. package/dist/cjs/Chat/types.js.map +1 -0
  51. package/dist/cjs/Projects/ControlNet.d.ts +30 -0
  52. package/dist/cjs/Projects/ControlNet.d.ts.map +1 -0
  53. package/dist/cjs/Projects/ControlNet.js +45 -0
  54. package/dist/cjs/Projects/ControlNet.js.map +1 -0
  55. package/dist/cjs/Projects/createJobRequestMessage.d.ts +11 -0
  56. package/dist/cjs/Projects/createJobRequestMessage.d.ts.map +1 -0
  57. package/dist/cjs/Projects/createJobRequestMessage.js +239 -0
  58. package/dist/cjs/Projects/createJobRequestMessage.js.map +1 -0
  59. package/dist/cjs/Projects/index.d.ts +96 -0
  60. package/dist/cjs/Projects/index.d.ts.map +1 -0
  61. package/dist/cjs/Projects/index.js +536 -0
  62. package/dist/cjs/Projects/index.js.map +1 -0
  63. package/dist/cjs/Projects/restNormalize.d.ts +60 -0
  64. package/dist/cjs/Projects/restNormalize.d.ts.map +1 -0
  65. package/dist/cjs/Projects/restNormalize.js +89 -0
  66. package/dist/cjs/Projects/restNormalize.js.map +1 -0
  67. package/dist/cjs/Projects/types.d.ts +233 -0
  68. package/dist/cjs/Projects/types.d.ts.map +1 -0
  69. package/dist/cjs/Projects/types.js +3 -0
  70. package/dist/cjs/Projects/types.js.map +1 -0
  71. package/dist/cjs/Projects/utils.d.ts +23 -0
  72. package/dist/cjs/Projects/utils.d.ts.map +1 -0
  73. package/dist/cjs/Projects/utils.js +65 -0
  74. package/dist/cjs/Projects/utils.js.map +1 -0
  75. package/dist/cjs/index.d.ts +63 -0
  76. package/dist/cjs/index.d.ts.map +1 -0
  77. package/dist/cjs/index.js +116 -0
  78. package/dist/cjs/index.js.map +1 -0
  79. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts +15 -0
  80. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.d.ts.map +1 -0
  81. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js +47 -0
  82. package/dist/cjs/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  83. package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts +23 -0
  84. package/dist/cjs/lib/AuthManager/AuthManagerBase.d.ts.map +1 -0
  85. package/dist/cjs/lib/AuthManager/AuthManagerBase.js +14 -0
  86. package/dist/cjs/lib/AuthManager/AuthManagerBase.js.map +1 -0
  87. package/dist/cjs/lib/AuthManager/AuthStorage.d.ts +11 -0
  88. package/dist/cjs/lib/AuthManager/AuthStorage.d.ts.map +1 -0
  89. package/dist/cjs/lib/AuthManager/AuthStorage.js +50 -0
  90. package/dist/cjs/lib/AuthManager/AuthStorage.js.map +1 -0
  91. package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts +35 -0
  92. package/dist/cjs/lib/AuthManager/TokenAuthManager.d.ts.map +1 -0
  93. package/dist/cjs/lib/AuthManager/TokenAuthManager.js +164 -0
  94. package/dist/cjs/lib/AuthManager/TokenAuthManager.js.map +1 -0
  95. package/dist/cjs/lib/AuthManager/index.d.ts +7 -0
  96. package/dist/cjs/lib/AuthManager/index.d.ts.map +1 -0
  97. package/dist/cjs/lib/AuthManager/index.js +13 -0
  98. package/dist/cjs/lib/AuthManager/index.js.map +1 -0
  99. package/dist/cjs/lib/Cache.d.ts +12 -0
  100. package/dist/cjs/lib/Cache.d.ts.map +1 -0
  101. package/dist/cjs/lib/Cache.js +36 -0
  102. package/dist/cjs/lib/Cache.js.map +1 -0
  103. package/dist/cjs/lib/DefaultLogger.d.ts +17 -0
  104. package/dist/cjs/lib/DefaultLogger.d.ts.map +1 -0
  105. package/dist/cjs/lib/DefaultLogger.js +36 -0
  106. package/dist/cjs/lib/DefaultLogger.js.map +1 -0
  107. package/dist/cjs/lib/RestClient.d.ts +18 -0
  108. package/dist/cjs/lib/RestClient.d.ts.map +1 -0
  109. package/dist/cjs/lib/RestClient.js +67 -0
  110. package/dist/cjs/lib/RestClient.js.map +1 -0
  111. package/dist/cjs/lib/TypedEventEmitter.d.ts +16 -0
  112. package/dist/cjs/lib/TypedEventEmitter.d.ts.map +1 -0
  113. package/dist/cjs/lib/TypedEventEmitter.js +46 -0
  114. package/dist/cjs/lib/TypedEventEmitter.js.map +1 -0
  115. package/dist/cjs/lib/base64.d.ts +3 -0
  116. package/dist/cjs/lib/base64.d.ts.map +1 -0
  117. package/dist/cjs/lib/base64.js +21 -0
  118. package/dist/cjs/lib/base64.js.map +1 -0
  119. package/dist/cjs/lib/getUUID.d.ts +12 -0
  120. package/dist/cjs/lib/getUUID.d.ts.map +1 -0
  121. package/dist/cjs/lib/getUUID.js +29 -0
  122. package/dist/cjs/lib/getUUID.js.map +1 -0
  123. package/dist/cjs/lib/mediaInput.d.ts +33 -0
  124. package/dist/cjs/lib/mediaInput.d.ts.map +1 -0
  125. package/dist/cjs/lib/mediaInput.js +32 -0
  126. package/dist/cjs/lib/mediaInput.js.map +1 -0
  127. package/dist/cjs/lib/utils.d.ts +10 -0
  128. package/dist/cjs/lib/utils.d.ts.map +1 -0
  129. package/dist/cjs/lib/utils.js +24 -0
  130. package/dist/cjs/lib/utils.js.map +1 -0
  131. package/dist/cjs/types/ErrorData.d.ts +7 -0
  132. package/dist/cjs/types/ErrorData.d.ts.map +1 -0
  133. package/dist/cjs/types/ErrorData.js +3 -0
  134. package/dist/cjs/types/ErrorData.js.map +1 -0
  135. package/dist/cjs/types/json.d.ts +6 -0
  136. package/dist/cjs/types/json.d.ts.map +1 -0
  137. package/dist/cjs/types/json.js +3 -0
  138. package/dist/cjs/types/json.js.map +1 -0
  139. package/dist/cjs/types/token.d.ts +2 -0
  140. package/dist/cjs/types/token.d.ts.map +1 -0
  141. package/dist/cjs/types/token.js +3 -0
  142. package/dist/cjs/types/token.js.map +1 -0
  143. package/dist/cjs/version.d.ts +2 -0
  144. package/dist/cjs/version.d.ts.map +1 -0
  145. package/dist/cjs/version.js +5 -0
  146. package/dist/cjs/version.js.map +1 -0
  147. package/dist/cjs/wallet.d.ts +59 -0
  148. package/dist/cjs/wallet.d.ts.map +1 -0
  149. package/dist/cjs/wallet.js +125 -0
  150. package/dist/cjs/wallet.js.map +1 -0
  151. package/dist/esm/Account/index.js +183 -0
  152. package/dist/esm/Account/index.js.map +1 -0
  153. package/dist/esm/Account/types.js +15 -0
  154. package/dist/esm/Account/types.js.map +1 -0
  155. package/dist/esm/ApiClient/WebSocketClient/events.js +2 -0
  156. package/dist/esm/ApiClient/WebSocketClient/events.js.map +1 -0
  157. package/dist/esm/ApiClient/WebSocketClient/index.js +278 -0
  158. package/dist/esm/ApiClient/WebSocketClient/index.js.map +1 -0
  159. package/dist/esm/ApiClient/WebSocketClient/normalize.js +229 -0
  160. package/dist/esm/ApiClient/WebSocketClient/normalize.js.map +1 -0
  161. package/dist/esm/ApiClient/WebSocketClient/types.js +2 -0
  162. package/dist/esm/ApiClient/WebSocketClient/types.js.map +1 -0
  163. package/dist/esm/ApiClient/WebSocketClient/wireTypes.js +10 -0
  164. package/dist/esm/ApiClient/WebSocketClient/wireTypes.js.map +1 -0
  165. package/dist/esm/ApiClient/index.js +80 -0
  166. package/dist/esm/ApiClient/index.js.map +1 -0
  167. package/dist/esm/Chat/ChatStream.js +144 -0
  168. package/dist/esm/Chat/ChatStream.js.map +1 -0
  169. package/dist/esm/Chat/index.js +174 -0
  170. package/dist/esm/Chat/index.js.map +1 -0
  171. package/dist/esm/Chat/tools.js +19 -0
  172. package/dist/esm/Chat/tools.js.map +1 -0
  173. package/dist/esm/Chat/types.js +2 -0
  174. package/dist/esm/Chat/types.js.map +1 -0
  175. package/dist/esm/Projects/ControlNet.js +41 -0
  176. package/dist/esm/Projects/ControlNet.js.map +1 -0
  177. package/dist/esm/Projects/createJobRequestMessage.js +236 -0
  178. package/dist/esm/Projects/createJobRequestMessage.js.map +1 -0
  179. package/dist/esm/Projects/index.js +531 -0
  180. package/dist/esm/Projects/index.js.map +1 -0
  181. package/dist/esm/Projects/restNormalize.js +86 -0
  182. package/dist/esm/Projects/restNormalize.js.map +1 -0
  183. package/dist/esm/Projects/types.js +2 -0
  184. package/dist/esm/Projects/types.js.map +1 -0
  185. package/dist/esm/Projects/utils.js +55 -0
  186. package/dist/esm/Projects/utils.js.map +1 -0
  187. package/dist/esm/index.js +72 -0
  188. package/dist/esm/index.js.map +1 -0
  189. package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js +42 -0
  190. package/dist/esm/lib/AuthManager/ApiKeyAuthManager.js.map +1 -0
  191. package/dist/esm/lib/AuthManager/AuthManagerBase.js +9 -0
  192. package/dist/esm/lib/AuthManager/AuthManagerBase.js.map +1 -0
  193. package/dist/esm/lib/AuthManager/AuthStorage.js +13 -0
  194. package/dist/esm/lib/AuthManager/AuthStorage.js.map +1 -0
  195. package/dist/esm/lib/AuthManager/TokenAuthManager.js +159 -0
  196. package/dist/esm/lib/AuthManager/TokenAuthManager.js.map +1 -0
  197. package/dist/esm/lib/AuthManager/index.js +5 -0
  198. package/dist/esm/lib/AuthManager/index.js.map +1 -0
  199. package/dist/esm/lib/Cache.js +33 -0
  200. package/dist/esm/lib/Cache.js.map +1 -0
  201. package/dist/esm/lib/DefaultLogger.js +32 -0
  202. package/dist/esm/lib/DefaultLogger.js.map +1 -0
  203. package/dist/esm/lib/RestClient.js +62 -0
  204. package/dist/esm/lib/RestClient.js.map +1 -0
  205. package/dist/esm/lib/TypedEventEmitter.js +44 -0
  206. package/dist/esm/lib/TypedEventEmitter.js.map +1 -0
  207. package/dist/esm/lib/base64.js +17 -0
  208. package/dist/esm/lib/base64.js.map +1 -0
  209. package/dist/esm/lib/getUUID.js +26 -0
  210. package/dist/esm/lib/getUUID.js.map +1 -0
  211. package/dist/esm/lib/mediaInput.js +28 -0
  212. package/dist/esm/lib/mediaInput.js.map +1 -0
  213. package/dist/esm/lib/utils.js +19 -0
  214. package/dist/esm/lib/utils.js.map +1 -0
  215. package/dist/esm/types/ErrorData.js +2 -0
  216. package/dist/esm/types/ErrorData.js.map +1 -0
  217. package/dist/esm/types/json.js +2 -0
  218. package/dist/esm/types/json.js.map +1 -0
  219. package/dist/esm/types/token.js +2 -0
  220. package/dist/esm/types/token.js.map +1 -0
  221. package/dist/esm/version.js +2 -0
  222. package/dist/esm/version.js.map +1 -0
  223. package/dist/esm/wallet.js +117 -0
  224. package/dist/esm/wallet.js.map +1 -0
  225. package/package.json +92 -0
  226. package/src/Account/index.ts +214 -0
  227. package/src/Account/types.ts +61 -0
  228. package/src/ApiClient/WebSocketClient/events.ts +168 -0
  229. package/src/ApiClient/WebSocketClient/index.ts +345 -0
  230. package/src/ApiClient/WebSocketClient/normalize.ts +287 -0
  231. package/src/ApiClient/WebSocketClient/types.ts +10 -0
  232. package/src/ApiClient/WebSocketClient/wireTypes.ts +183 -0
  233. package/src/ApiClient/index.ts +147 -0
  234. package/src/Chat/ChatStream.ts +164 -0
  235. package/src/Chat/index.ts +224 -0
  236. package/src/Chat/tools.ts +23 -0
  237. package/src/Chat/types.ts +165 -0
  238. package/src/Projects/ControlNet.ts +84 -0
  239. package/src/Projects/createJobRequestMessage.ts +241 -0
  240. package/src/Projects/index.ts +608 -0
  241. package/src/Projects/restNormalize.ts +154 -0
  242. package/src/Projects/types.ts +266 -0
  243. package/src/Projects/utils.ts +60 -0
  244. package/src/index.ts +217 -0
  245. package/src/lib/AuthManager/ApiKeyAuthManager.ts +52 -0
  246. package/src/lib/AuthManager/AuthManagerBase.ts +35 -0
  247. package/src/lib/AuthManager/AuthStorage.ts +21 -0
  248. package/src/lib/AuthManager/TokenAuthManager.ts +179 -0
  249. package/src/lib/AuthManager/index.ts +8 -0
  250. package/src/lib/Cache.ts +45 -0
  251. package/src/lib/DefaultLogger.ts +47 -0
  252. package/src/lib/RestClient.ts +77 -0
  253. package/src/lib/TypedEventEmitter.ts +52 -0
  254. package/src/lib/base64.ts +17 -0
  255. package/src/lib/getUUID.ts +27 -0
  256. package/src/lib/mediaInput.ts +54 -0
  257. package/src/lib/utils.ts +21 -0
  258. package/src/types/ErrorData.ts +7 -0
  259. package/src/types/json.ts +5 -0
  260. package/src/types/token.ts +1 -0
  261. package/src/version.ts +1 -0
  262. package/src/wallet.ts +158 -0
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = createJobRequestMessage;
4
+ const ControlNet_1 = require("./ControlNet");
5
+ const utils_1 = require("./utils");
6
+ /**
7
+ * Build the wire-level `jobRequest` payload from public ProjectParams.
8
+ *
9
+ * The template includes a lot of fields that look video/animation-specific
10
+ * because the server validates the full shape regardless of project type. We
11
+ * send everything verbatim and the server picks what it needs based on the
12
+ * model family.
13
+ */
14
+ function createJobRequestMessage(id, params) {
15
+ const type = params.type ?? 'image';
16
+ switch (type) {
17
+ case 'video':
18
+ return buildVideoRequest(id, params);
19
+ case 'audio':
20
+ return buildAudioRequest(id, params);
21
+ case 'image':
22
+ default:
23
+ return buildImageRequest(id, params);
24
+ }
25
+ }
26
+ function buildImageRequest(id, params) {
27
+ const keyFrame = baseKeyFrame(params);
28
+ if ((0, utils_1.isComfyModel)(params.modelId)) {
29
+ if (params.sampler !== undefined)
30
+ keyFrame.comfySampler = params.sampler;
31
+ if (params.scheduler !== undefined)
32
+ keyFrame.comfyScheduler = params.scheduler;
33
+ }
34
+ else {
35
+ if (params.sampler !== undefined)
36
+ keyFrame.scheduler = params.sampler;
37
+ if (params.scheduler !== undefined)
38
+ keyFrame.timeStepSpacing = params.scheduler;
39
+ }
40
+ const effectiveSizePreset = params.sizePreset || (params.width && params.height ? 'custom' : undefined);
41
+ if (effectiveSizePreset) {
42
+ keyFrame.sizePreset = effectiveSizePreset;
43
+ if (effectiveSizePreset === 'custom' && params.width && params.height) {
44
+ keyFrame.width = params.width;
45
+ keyFrame.height = params.height;
46
+ }
47
+ }
48
+ if (params.startingImage) {
49
+ keyFrame.hasStartingImage = true;
50
+ keyFrame.strengthIsEnabled = true;
51
+ keyFrame.strength = 1 - (params.startingImageStrength ?? 0.5);
52
+ }
53
+ const contextImages = params.contextImages || [];
54
+ for (let i = 1; i <= 16; i += 1) {
55
+ keyFrame[`hasContextImage${i}`] = !!contextImages[i - 1];
56
+ }
57
+ if (params.controlNet) {
58
+ keyFrame.currentControlNetsJob = [(0, ControlNet_1.toControlNetRaw)(params.controlNet)];
59
+ }
60
+ return wrapJobRequest(id, keyFrame, params, {
61
+ previews: params.numberOfPreviews ?? 0,
62
+ outputFormat: params.outputFormat || 'png'
63
+ });
64
+ }
65
+ function buildVideoRequest(id, params) {
66
+ const keyFrame = baseKeyFrame(params);
67
+ keyFrame.comfySampler = params.sampler;
68
+ keyFrame.comfyScheduler = params.scheduler;
69
+ if (params.fps !== undefined)
70
+ keyFrame.fps = params.fps;
71
+ if (params.frames !== undefined) {
72
+ keyFrame.frames = params.frames;
73
+ }
74
+ else if (params.duration !== undefined) {
75
+ const fps = params.fps ?? 24;
76
+ keyFrame.frames = (0, utils_1.calculateVideoFrames)(params.modelId, params.duration, fps);
77
+ }
78
+ if (params.shift !== undefined)
79
+ keyFrame.shift = params.shift;
80
+ if (params.width && params.height) {
81
+ keyFrame.width = params.width;
82
+ keyFrame.height = params.height;
83
+ }
84
+ if (params.referenceImage)
85
+ keyFrame.hasReferenceImage = true;
86
+ if (params.referenceImageEnd)
87
+ keyFrame.hasReferenceImageEnd = true;
88
+ if (params.referenceAudio)
89
+ keyFrame.hasReferenceAudio = true;
90
+ if (params.referenceVideo)
91
+ keyFrame.hasReferenceVideo = true;
92
+ if (params.firstFrameStrength !== undefined) {
93
+ keyFrame.firstFrameStrength = params.firstFrameStrength;
94
+ }
95
+ if (params.lastFrameStrength !== undefined) {
96
+ keyFrame.lastFrameStrength = params.lastFrameStrength;
97
+ }
98
+ return wrapJobRequest(id, keyFrame, params, {
99
+ previews: 0,
100
+ outputFormat: params.outputFormat || 'mp4'
101
+ });
102
+ }
103
+ function buildAudioRequest(id, params) {
104
+ const keyFrame = baseKeyFrame(params);
105
+ // Audio models are all comfy
106
+ keyFrame.comfySampler = params.sampler;
107
+ keyFrame.comfyScheduler = params.scheduler;
108
+ if (params.duration !== undefined)
109
+ keyFrame.duration = params.duration;
110
+ if (params.bpm !== undefined)
111
+ keyFrame.bpm = params.bpm;
112
+ if (params.timesignature !== undefined)
113
+ keyFrame.timesignature = params.timesignature;
114
+ if (params.language !== undefined)
115
+ keyFrame.language = params.language;
116
+ if (params.lyrics !== undefined)
117
+ keyFrame.lyrics = params.lyrics;
118
+ if (params.keyscale !== undefined)
119
+ keyFrame.keyscale = params.keyscale;
120
+ if (params.composerMode !== undefined)
121
+ keyFrame.composerMode = params.composerMode;
122
+ if (params.promptStrength !== undefined)
123
+ keyFrame.promptStrength = params.promptStrength;
124
+ if (params.creativity !== undefined)
125
+ keyFrame.creativity = params.creativity;
126
+ if (params.shift !== undefined)
127
+ keyFrame.shift = params.shift;
128
+ // Audio doesn't use negativePrompt — strip it from the base keyFrame to avoid
129
+ // accidentally sending one if the user supplied an audio params object that
130
+ // happened to include the field via type widening.
131
+ delete keyFrame.negativePrompt;
132
+ return wrapJobRequest(id, keyFrame, params, {
133
+ previews: 0,
134
+ outputFormat: params.outputFormat || 'mp3'
135
+ });
136
+ }
137
+ function baseKeyFrame(params) {
138
+ return {
139
+ ...buildBaseKeyFrame(),
140
+ modelID: params.modelId,
141
+ positivePrompt: params.positivePrompt,
142
+ steps: params.steps,
143
+ guidanceScale: params.guidance,
144
+ seed: params.seed,
145
+ ...('negativePrompt' in params && params.negativePrompt
146
+ ? { negativePrompt: params.negativePrompt }
147
+ : {}),
148
+ ...('stylePrompt' in params && params.stylePrompt ? { stylePrompt: params.stylePrompt } : {}),
149
+ ...('loras' in params && params.loras && params.loras.length ? { loras: params.loras } : {}),
150
+ ...('loraStrengths' in params && params.loraStrengths && params.loraStrengths.length
151
+ ? { loraStrengths: params.loraStrengths }
152
+ : {})
153
+ };
154
+ }
155
+ function wrapJobRequest(id, keyFrame, params, extras) {
156
+ const jobRequest = {
157
+ ...buildTemplate(),
158
+ keyFrames: [keyFrame],
159
+ previews: extras.previews,
160
+ numberOfImages: params.numberOfMedia || 1,
161
+ jobID: id,
162
+ disableSafety: 'disableNSFWFilter' in params
163
+ ? !!params.disableNSFWFilter
164
+ : false,
165
+ outputFormat: extras.outputFormat
166
+ };
167
+ if (params.tokenType)
168
+ jobRequest.tokenType = params.tokenType;
169
+ if (params.network)
170
+ jobRequest.network = params.network;
171
+ if (params.appSource)
172
+ jobRequest.appSource = params.appSource;
173
+ return jobRequest;
174
+ }
175
+ function buildBaseKeyFrame() {
176
+ return {
177
+ stepsIsEnabled: true,
178
+ siRotation: 0,
179
+ siDragOffsetIsEnabled: true,
180
+ strength: 0.5,
181
+ siZoomScaleIsEnabled: true,
182
+ isEnabled: true,
183
+ processing: 'CPU, GPU',
184
+ useLastImageAsGuideImageInAnimation: true,
185
+ guidanceScaleIsEnabled: true,
186
+ siImageBackgroundColor: 'black',
187
+ cnDragOffset: [0, 0],
188
+ scheduler: null,
189
+ timeStepSpacing: null,
190
+ steps: 20,
191
+ cnRotation: 0,
192
+ guidanceScale: 7.5,
193
+ siZoomScale: 1,
194
+ modelID: '',
195
+ cnRotationIsEnabled: true,
196
+ negativePrompt: '',
197
+ startingImageZoomPanIsOn: false,
198
+ seed: undefined,
199
+ siRotationIsEnabled: true,
200
+ cnImageBackgroundColor: 'clear',
201
+ strengthIsEnabled: true,
202
+ siDragOffset: [0, 0],
203
+ useLastImageAsCNImageInAnimation: false,
204
+ positivePrompt: '',
205
+ controlNetZoomPanIsOn: false,
206
+ cnZoomScaleIsEnabled: true,
207
+ currentControlNets: null,
208
+ stylePrompt: '',
209
+ cnDragOffsetIsEnabled: true,
210
+ frameIndex: 0,
211
+ startingImage: null,
212
+ cnZoomScale: 1
213
+ };
214
+ }
215
+ function buildTemplate() {
216
+ return {
217
+ selectedUpscalingModel: 'OFF',
218
+ cnVideoFramesSketch: [],
219
+ cnVideoFramesSegmentedSubject: [],
220
+ cnVideoFramesFace: [],
221
+ doCanvasBlending: false,
222
+ animationIsOn: false,
223
+ cnVideoFramesBoth: [],
224
+ cnVideoFramesDepth: [],
225
+ previews: 5,
226
+ frameRate: 24,
227
+ generatedVideoSeconds: 10,
228
+ canvasIsOn: false,
229
+ cnVideoFrames: [],
230
+ disableSafety: false,
231
+ cnVideoFramesSegmentedBackground: [],
232
+ cnVideoFramesSegmented: [],
233
+ numberOfImages: 1,
234
+ cnVideoFramesPose: [],
235
+ jobID: '',
236
+ siVideoFrames: []
237
+ };
238
+ }
239
+ //# sourceMappingURL=createJobRequestMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createJobRequestMessage.js","sourceRoot":"","sources":["../../../src/Projects/createJobRequestMessage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ import ApiClient from '../ApiClient';
2
+ import { SupernetType } from '../ApiClient/WebSocketClient/types';
3
+ import TypedEventEmitter from '../lib/TypedEventEmitter';
4
+ import { AvailableModel, Project, ProjectParams } from './types';
5
+ interface ProjectsApiEvents {
6
+ /** Fired for any project state change (status, progress, jobs, etc.). */
7
+ changed: Project;
8
+ /** Progress tick on any project. */
9
+ progress: {
10
+ project: Project;
11
+ jobId: string;
12
+ };
13
+ /** Project reached terminal state 'completed' with all result URLs populated. */
14
+ completed: Project;
15
+ /** Project reached terminal state 'failed' or 'canceled'. */
16
+ failed: Project;
17
+ }
18
+ declare class ProjectsApi extends TypedEventEmitter<ProjectsApiEvents> {
19
+ private _client;
20
+ private _projects;
21
+ private _subscribers;
22
+ private _gcTimers;
23
+ constructor(client: ApiClient);
24
+ /** List models available on the given network. Defaults to the client's current network. */
25
+ getAvailableModels(network?: SupernetType): Promise<AvailableModel[]>;
26
+ /**
27
+ * Create a generation project (image, video, or audio).
28
+ *
29
+ * Returns the initial Project snapshot immediately; subscribe via
30
+ * `subscribe(id, cb)` or `waitForCompletion(id)` to observe state changes as
31
+ * the server processes it.
32
+ *
33
+ * For image projects, `startingImage`, `contextImages[]`, and
34
+ * `controlNet.image` are uploaded first. For video projects, `referenceImage`,
35
+ * `referenceImageEnd`, `referenceAudio`, and `referenceVideo` are uploaded
36
+ * first. Reference uploads happen in parallel; the WS `jobRequest` is sent
37
+ * once all uploads complete.
38
+ */
39
+ create(params: ProjectParams): Promise<Project>;
40
+ private _uploadImageRefs;
41
+ private _uploadVideoRefs;
42
+ private _uploadMedia;
43
+ private _getUploadUrl;
44
+ /** Get the cached snapshot for a project, or undefined if unknown. */
45
+ get(projectId: string): Project | undefined;
46
+ /**
47
+ * Fetch a project's current state from REST and cache it.
48
+ *
49
+ * Use this on cold launch when you have a persisted project ID but no
50
+ * in-memory snapshot (e.g., the app was killed mid-generation). The server
51
+ * returns the latest known state; if the project is still in flight, the
52
+ * SDK will keep updating the snapshot via socket events.
53
+ *
54
+ * @param projectId Server project ID.
55
+ * @param paramsOverride Optional. The original ProjectParams used to create
56
+ * the project. The REST response only includes a subset of generation
57
+ * settings; pass the original params if you persisted them (e.g., in MMKV)
58
+ * so the returned snapshot's `params` field is fully populated.
59
+ */
60
+ fetch(projectId: string, paramsOverride?: ProjectParams): Promise<Project>;
61
+ /** Subscribe to changes for a specific project. Returns an unsubscribe function. */
62
+ subscribe(projectId: string, listener: (project: Project) => void): () => void;
63
+ /**
64
+ * Resolve when the project reaches a terminal state. On success, returns the
65
+ * downloadable result URLs (fetched from the server). On failure or cancel,
66
+ * rejects with an Error describing the reason.
67
+ */
68
+ waitForCompletion(projectId: string): Promise<string[]>;
69
+ /** Request a download URL for a specific job's result image. */
70
+ getResultUrl(projectId: string, jobId: string): Promise<string>;
71
+ /**
72
+ * Request cancellation of a project. Server confirms via
73
+ * `artistCancelConfirmation`; the project's status flips to 'canceled' if
74
+ * accepted, otherwise stays in its current state.
75
+ */
76
+ cancel(projectId: string): Promise<void>;
77
+ private _wireSocketHandlers;
78
+ private _onJobStarted;
79
+ private _onJobInitiatingModel;
80
+ private _onJobLifecycleCompleted;
81
+ private _onJobProgress;
82
+ private _onJobResult;
83
+ private _onJobError;
84
+ private _onJobETA;
85
+ private _onCancelConfirmation;
86
+ private _withJobMutation;
87
+ private _emptyJob;
88
+ private _setStatusIfPending;
89
+ private _computeOverallProgress;
90
+ private _maybeFinalizeProject;
91
+ private _fetchResultUrls;
92
+ private _notifyChanged;
93
+ private _scheduleGC;
94
+ }
95
+ export default ProjectsApi;
96
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Projects/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAoC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAWlE,OAAO,iBAAiB,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,cAAc,EAId,OAAO,EACP,aAAa,EAGd,MAAM,SAAS,CAAC;AAIjB,UAAU,iBAAiB;IACzB,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,MAAM,EAAE,OAAO,CAAC;CACjB;AAMD,cAAM,WAAY,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,SAAS,CAAoD;gBAEzD,MAAM,EAAE,SAAS;IAM7B,4FAA4F;IACtF,kBAAkB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa3E;;;;;;;;;;;;OAYG;IACG,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YAkCvC,gBAAgB;YAsBhB,gBAAgB;YAiBhB,YAAY;YA0BZ,aAAa;IAc3B,sEAAsE;IACtE,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI3C;;;;;;;;;;;;;OAaG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAShF,oFAAoF;IACpF,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAgB9E;;;;OAIG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0B7D,gEAAgE;IAC1D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrE;;;;OAIG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,WAAW;IA8BnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,qBAAqB;YAuCf,gBAAgB;IAsB9B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,WAAW;CAUpB;AAED,eAAe,WAAW,CAAC"}