flow-frame-core 0.1.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 (416) hide show
  1. package/README.md +64 -0
  2. package/dist/Dockerfile +86 -0
  3. package/dist/GPU_DEPLOYMENT_README.md +324 -0
  4. package/dist/OPS_AGENT_README.md +174 -0
  5. package/dist/README-H100-VM.md +192 -0
  6. package/dist/README-worker-pools.md +231 -0
  7. package/dist/README.md +8 -0
  8. package/dist/WEB-ELEMENT-REQUESTS-README.md +302 -0
  9. package/dist/append.d.ts +3 -0
  10. package/dist/append.d.ts.map +1 -0
  11. package/dist/append.js +42 -0
  12. package/dist/append.js.map +1 -0
  13. package/dist/audioRoutes.d.ts +2 -0
  14. package/dist/audioRoutes.d.ts.map +1 -0
  15. package/dist/audioRoutes.js +97 -0
  16. package/dist/audioRoutes.js.map +1 -0
  17. package/dist/augment-parallel.d.ts +6 -0
  18. package/dist/augment-parallel.d.ts.map +1 -0
  19. package/dist/augment-parallel.js +128 -0
  20. package/dist/augment-parallel.js.map +1 -0
  21. package/dist/augment-worker.d.ts +2 -0
  22. package/dist/augment-worker.d.ts.map +1 -0
  23. package/dist/augment-worker.js +100 -0
  24. package/dist/augment-worker.js.map +1 -0
  25. package/dist/browerRoutes.d.ts +2 -0
  26. package/dist/browerRoutes.d.ts.map +1 -0
  27. package/dist/browerRoutes.js +323 -0
  28. package/dist/browerRoutes.js.map +1 -0
  29. package/dist/browser-utils/utils.d.ts +6 -0
  30. package/dist/browser-utils/utils.d.ts.map +1 -0
  31. package/dist/browser-utils/utils.js +133 -0
  32. package/dist/browser-utils/utils.js.map +1 -0
  33. package/dist/capture_training_data_endpoints.d.ts +158 -0
  34. package/dist/capture_training_data_endpoints.d.ts.map +1 -0
  35. package/dist/capture_training_data_endpoints.js +1812 -0
  36. package/dist/capture_training_data_endpoints.js.map +1 -0
  37. package/dist/config.json +28 -0
  38. package/dist/configEndpoints.d.ts +2 -0
  39. package/dist/configEndpoints.d.ts.map +1 -0
  40. package/dist/configEndpoints.js +459 -0
  41. package/dist/configEndpoints.js.map +1 -0
  42. package/dist/constants.d.ts +109 -0
  43. package/dist/constants.d.ts.map +1 -0
  44. package/dist/constants.js +110 -0
  45. package/dist/constants.js.map +1 -0
  46. package/dist/docs/workflow_nodes.md +257 -0
  47. package/dist/download.d.ts +11 -0
  48. package/dist/download.d.ts.map +1 -0
  49. package/dist/download.js +31 -0
  50. package/dist/download.js.map +1 -0
  51. package/dist/download.py +61 -0
  52. package/dist/ecosystem.config.json +63 -0
  53. package/dist/email-body-extractor.d.ts +20 -0
  54. package/dist/email-body-extractor.d.ts.map +1 -0
  55. package/dist/email-body-extractor.js +103 -0
  56. package/dist/email-body-extractor.js.map +1 -0
  57. package/dist/express_util.d.ts +2 -0
  58. package/dist/express_util.d.ts.map +1 -0
  59. package/dist/express_util.js +30 -0
  60. package/dist/express_util.js.map +1 -0
  61. package/dist/extension/background.d.ts +2 -0
  62. package/dist/extension/background.d.ts.map +1 -0
  63. package/dist/extension/background.js +268 -0
  64. package/dist/extension/background.js.map +1 -0
  65. package/dist/extension/manifest.json +19 -0
  66. package/dist/extensionUtils.d.ts +2 -0
  67. package/dist/extensionUtils.d.ts.map +1 -0
  68. package/dist/extensionUtils.js +48 -0
  69. package/dist/extensionUtils.js.map +1 -0
  70. package/dist/filter-gmail-poller/README.md +320 -0
  71. package/dist/filter-gmail-poller/demo.d.ts +2 -0
  72. package/dist/filter-gmail-poller/demo.d.ts.map +1 -0
  73. package/dist/filter-gmail-poller/demo.js +79 -0
  74. package/dist/filter-gmail-poller/demo.js.map +1 -0
  75. package/dist/filter-gmail-poller/example-existing-app.d.ts +2 -0
  76. package/dist/filter-gmail-poller/example-existing-app.d.ts.map +1 -0
  77. package/dist/filter-gmail-poller/example-existing-app.js +72 -0
  78. package/dist/filter-gmail-poller/example-existing-app.js.map +1 -0
  79. package/dist/filter-gmail-poller/filter-gmail-poller.d.ts +160 -0
  80. package/dist/filter-gmail-poller/filter-gmail-poller.d.ts.map +1 -0
  81. package/dist/filter-gmail-poller/filter-gmail-poller.js +1048 -0
  82. package/dist/filter-gmail-poller/filter-gmail-poller.js.map +1 -0
  83. package/dist/filter-gmail-poller/index.d.ts +3 -0
  84. package/dist/filter-gmail-poller/index.d.ts.map +1 -0
  85. package/dist/filter-gmail-poller/index.js +18 -0
  86. package/dist/filter-gmail-poller/index.js.map +1 -0
  87. package/dist/filter-gmail-poller/manual-test.d.ts +2 -0
  88. package/dist/filter-gmail-poller/manual-test.d.ts.map +1 -0
  89. package/dist/filter-gmail-poller/manual-test.js +70 -0
  90. package/dist/filter-gmail-poller/manual-test.js.map +1 -0
  91. package/dist/filter-gmail-poller/poller-prompts.d.ts +12 -0
  92. package/dist/filter-gmail-poller/poller-prompts.d.ts.map +1 -0
  93. package/dist/filter-gmail-poller/poller-prompts.js +330 -0
  94. package/dist/filter-gmail-poller/poller-prompts.js.map +1 -0
  95. package/dist/filter-gmail-poller/test.js +69 -0
  96. package/dist/flowframe-auto-firebase-adminsdk.json +13 -0
  97. package/dist/gmail-poller/README-microsoft-email-poller.md +203 -0
  98. package/dist/gmail-poller/README.md +129 -0
  99. package/dist/gmail-poller/example.d.ts +5 -0
  100. package/dist/gmail-poller/example.d.ts.map +1 -0
  101. package/dist/gmail-poller/example.js +83 -0
  102. package/dist/gmail-poller/example.js.map +1 -0
  103. package/dist/gmail-poller/gmail-poller.d.ts +82 -0
  104. package/dist/gmail-poller/gmail-poller.d.ts.map +1 -0
  105. package/dist/gmail-poller/gmail-poller.js +455 -0
  106. package/dist/gmail-poller/gmail-poller.js.map +1 -0
  107. package/dist/gmail-poller/manual-test.d.ts +2 -0
  108. package/dist/gmail-poller/manual-test.d.ts.map +1 -0
  109. package/dist/gmail-poller/manual-test.js +37 -0
  110. package/dist/gmail-poller/manual-test.js.map +1 -0
  111. package/dist/gmail-poller/microsoft-email-example.d.ts +8 -0
  112. package/dist/gmail-poller/microsoft-email-example.d.ts.map +1 -0
  113. package/dist/gmail-poller/microsoft-email-example.js +58 -0
  114. package/dist/gmail-poller/microsoft-email-example.js.map +1 -0
  115. package/dist/gmail-poller/microsoft-email-poller.d.ts +73 -0
  116. package/dist/gmail-poller/microsoft-email-poller.d.ts.map +1 -0
  117. package/dist/gmail-poller/microsoft-email-poller.js +346 -0
  118. package/dist/gmail-poller/microsoft-email-poller.js.map +1 -0
  119. package/dist/gmail-poller/setup-auth.d.ts +3 -0
  120. package/dist/gmail-poller/setup-auth.d.ts.map +1 -0
  121. package/dist/gmail-poller/setup-auth.js +36 -0
  122. package/dist/gmail-poller/setup-auth.js.map +1 -0
  123. package/dist/gmail-poller/test.js +36 -0
  124. package/dist/index.d.ts +10 -0
  125. package/dist/index.d.ts.map +1 -0
  126. package/dist/index.js +28 -0
  127. package/dist/index.js.map +1 -0
  128. package/dist/inference/augment_levels.d.ts +2 -0
  129. package/dist/inference/augment_levels.d.ts.map +1 -0
  130. package/dist/inference/augment_levels.js +1 -0
  131. package/dist/inference/augment_levels.js.map +1 -0
  132. package/dist/inference/capture-overlay.d.ts +13 -0
  133. package/dist/inference/capture-overlay.d.ts.map +1 -0
  134. package/dist/inference/capture-overlay.js +355 -0
  135. package/dist/inference/capture-overlay.js.map +1 -0
  136. package/dist/inference/capturescreenshot.d.ts +12 -0
  137. package/dist/inference/capturescreenshot.d.ts.map +1 -0
  138. package/dist/inference/capturescreenshot.js +157 -0
  139. package/dist/inference/capturescreenshot.js.map +1 -0
  140. package/dist/jsonHandler.d.ts +37 -0
  141. package/dist/jsonHandler.d.ts.map +1 -0
  142. package/dist/jsonHandler.js +191 -0
  143. package/dist/jsonHandler.js.map +1 -0
  144. package/dist/localStorage.json +11 -0
  145. package/dist/media_data_endpoints.d.ts +2 -0
  146. package/dist/media_data_endpoints.d.ts.map +1 -0
  147. package/dist/media_data_endpoints.js +102 -0
  148. package/dist/media_data_endpoints.js.map +1 -0
  149. package/dist/operations/blender-ops.d.ts +4 -0
  150. package/dist/operations/blender-ops.d.ts.map +1 -0
  151. package/dist/operations/blender-ops.js +55 -0
  152. package/dist/operations/blender-ops.js.map +1 -0
  153. package/dist/operations.d.ts +34 -0
  154. package/dist/operations.d.ts.map +1 -0
  155. package/dist/operations.js +1514 -0
  156. package/dist/operations.js.map +1 -0
  157. package/dist/pdfRoutes.d.ts +2 -0
  158. package/dist/pdfRoutes.d.ts.map +1 -0
  159. package/dist/pdfRoutes.js +56 -0
  160. package/dist/pdfRoutes.js.map +1 -0
  161. package/dist/peers.d.ts +9 -0
  162. package/dist/peers.d.ts.map +1 -0
  163. package/dist/peers.js +70 -0
  164. package/dist/peers.js.map +1 -0
  165. package/dist/playparser.d.ts +2 -0
  166. package/dist/playparser.d.ts.map +1 -0
  167. package/dist/playparser.js +281 -0
  168. package/dist/playparser.js.map +1 -0
  169. package/dist/process.d.ts +4 -0
  170. package/dist/process.d.ts.map +1 -0
  171. package/dist/process.js +375 -0
  172. package/dist/process.js.map +1 -0
  173. package/dist/promptRoutes.d.ts +7 -0
  174. package/dist/promptRoutes.d.ts.map +1 -0
  175. package/dist/promptRoutes.js +68 -0
  176. package/dist/promptRoutes.js.map +1 -0
  177. package/dist/queueManager.d.ts +23 -0
  178. package/dist/queueManager.d.ts.map +1 -0
  179. package/dist/queueManager.js +96 -0
  180. package/dist/queueManager.js.map +1 -0
  181. package/dist/run-flow.d.ts +8 -0
  182. package/dist/run-flow.d.ts.map +1 -0
  183. package/dist/run-flow.js +220 -0
  184. package/dist/run-flow.js.map +1 -0
  185. package/dist/scraper.d.ts +2 -0
  186. package/dist/scraper.d.ts.map +1 -0
  187. package/dist/scraper.js +75 -0
  188. package/dist/scraper.js.map +1 -0
  189. package/dist/scraper_endpoints.d.ts +2 -0
  190. package/dist/scraper_endpoints.d.ts.map +1 -0
  191. package/dist/scraper_endpoints.js +40 -0
  192. package/dist/scraper_endpoints.js.map +1 -0
  193. package/dist/server.d.ts +2 -0
  194. package/dist/server.d.ts.map +1 -0
  195. package/dist/server.js +528 -0
  196. package/dist/server.js.map +1 -0
  197. package/dist/services/ModelContext.d.ts +7 -0
  198. package/dist/services/ModelContext.d.ts.map +1 -0
  199. package/dist/services/ModelContext.js +7 -0
  200. package/dist/services/ModelContext.js.map +1 -0
  201. package/dist/services/agenticUiPlanner.d.ts +27 -0
  202. package/dist/services/agenticUiPlanner.d.ts.map +1 -0
  203. package/dist/services/agenticUiPlanner.js +161 -0
  204. package/dist/services/agenticUiPlanner.js.map +1 -0
  205. package/dist/services/apiKeyService.d.ts +3 -0
  206. package/dist/services/apiKeyService.d.ts.map +1 -0
  207. package/dist/services/apiKeyService.js +7 -0
  208. package/dist/services/apiKeyService.js.map +1 -0
  209. package/dist/services/audioService.d.ts +10 -0
  210. package/dist/services/audioService.d.ts.map +1 -0
  211. package/dist/services/audioService.js +140 -0
  212. package/dist/services/audioService.js.map +1 -0
  213. package/dist/services/autoPromptOptimizer.d.ts +44 -0
  214. package/dist/services/autoPromptOptimizer.d.ts.map +1 -0
  215. package/dist/services/autoPromptOptimizer.js +344 -0
  216. package/dist/services/autoPromptOptimizer.js.map +1 -0
  217. package/dist/services/autoPromptOptimizer.manual-test.d.ts +2 -0
  218. package/dist/services/autoPromptOptimizer.manual-test.d.ts.map +1 -0
  219. package/dist/services/autoPromptOptimizer.manual-test.js +27 -0
  220. package/dist/services/autoPromptOptimizer.manual-test.js.map +1 -0
  221. package/dist/services/chainExecutor.d.ts +26 -0
  222. package/dist/services/chainExecutor.d.ts.map +1 -0
  223. package/dist/services/chainExecutor.js +399 -0
  224. package/dist/services/chainExecutor.js.map +1 -0
  225. package/dist/services/classifyImageQuestion.d.ts +55 -0
  226. package/dist/services/classifyImageQuestion.d.ts.map +1 -0
  227. package/dist/services/classifyImageQuestion.js +428 -0
  228. package/dist/services/classifyImageQuestion.js.map +1 -0
  229. package/dist/services/configuration/executor.d.ts +3 -0
  230. package/dist/services/configuration/executor.d.ts.map +1 -0
  231. package/dist/services/configuration/executor.js +795 -0
  232. package/dist/services/configuration/executor.js.map +1 -0
  233. package/dist/services/error.d.ts +13 -0
  234. package/dist/services/error.d.ts.map +1 -0
  235. package/dist/services/error.js +34 -0
  236. package/dist/services/error.js.map +1 -0
  237. package/dist/services/executor.d.ts +11 -0
  238. package/dist/services/executor.d.ts.map +1 -0
  239. package/dist/services/executor.js +1587 -0
  240. package/dist/services/executor.js.map +1 -0
  241. package/dist/services/extractPdf.d.ts +26 -0
  242. package/dist/services/extractPdf.d.ts.map +1 -0
  243. package/dist/services/extractPdf.js +256 -0
  244. package/dist/services/extractPdf.js.map +1 -0
  245. package/dist/services/generateJsTransformFromPrompt.d.ts +11 -0
  246. package/dist/services/generateJsTransformFromPrompt.d.ts.map +1 -0
  247. package/dist/services/generateJsTransformFromPrompt.js +328 -0
  248. package/dist/services/generateJsTransformFromPrompt.js.map +1 -0
  249. package/dist/services/localizeFirebaseMedia.d.ts +20 -0
  250. package/dist/services/localizeFirebaseMedia.d.ts.map +1 -0
  251. package/dist/services/localizeFirebaseMedia.js +135 -0
  252. package/dist/services/localizeFirebaseMedia.js.map +1 -0
  253. package/dist/services/polyfill_canvas.d.ts +2 -0
  254. package/dist/services/polyfill_canvas.d.ts.map +1 -0
  255. package/dist/services/polyfill_canvas.js +19 -0
  256. package/dist/services/polyfill_canvas.js.map +1 -0
  257. package/dist/services/promptRoutes.d.ts +7 -0
  258. package/dist/services/promptRoutes.d.ts.map +1 -0
  259. package/dist/services/promptRoutes.js +70 -0
  260. package/dist/services/promptRoutes.js.map +1 -0
  261. package/dist/services/runPrompt.d.ts +29 -0
  262. package/dist/services/runPrompt.d.ts.map +1 -0
  263. package/dist/services/runPrompt.js +232 -0
  264. package/dist/services/runPrompt.js.map +1 -0
  265. package/dist/services/schemaInference.d.ts +2 -0
  266. package/dist/services/schemaInference.d.ts.map +1 -0
  267. package/dist/services/schemaInference.js +17 -0
  268. package/dist/services/schemaInference.js.map +1 -0
  269. package/dist/services/self-learning/api.d.ts +2 -0
  270. package/dist/services/self-learning/api.d.ts.map +1 -0
  271. package/dist/services/self-learning/api.js +84 -0
  272. package/dist/services/self-learning/api.js.map +1 -0
  273. package/dist/services/self-learning/autolearn.d.ts +23 -0
  274. package/dist/services/self-learning/autolearn.d.ts.map +1 -0
  275. package/dist/services/self-learning/autolearn.js +308 -0
  276. package/dist/services/self-learning/autolearn.js.map +1 -0
  277. package/dist/services/self-learning/discover.d.ts +11 -0
  278. package/dist/services/self-learning/discover.d.ts.map +1 -0
  279. package/dist/services/self-learning/discover.js +446 -0
  280. package/dist/services/self-learning/discover.js.map +1 -0
  281. package/dist/services/self-learning/image.d.ts +10 -0
  282. package/dist/services/self-learning/image.d.ts.map +1 -0
  283. package/dist/services/self-learning/image.js +38 -0
  284. package/dist/services/self-learning/image.js.map +1 -0
  285. package/dist/services/self-learning/injest.d.ts +25 -0
  286. package/dist/services/self-learning/injest.d.ts.map +1 -0
  287. package/dist/services/self-learning/injest.js +110 -0
  288. package/dist/services/self-learning/injest.js.map +1 -0
  289. package/dist/services/self-learning/learn.d.ts +2 -0
  290. package/dist/services/self-learning/learn.d.ts.map +1 -0
  291. package/dist/services/self-learning/learn.js +145 -0
  292. package/dist/services/self-learning/learn.js.map +1 -0
  293. package/dist/services/self-learning/matcher.d.ts +2 -0
  294. package/dist/services/self-learning/matcher.d.ts.map +1 -0
  295. package/dist/services/self-learning/matcher.js +38 -0
  296. package/dist/services/self-learning/matcher.js.map +1 -0
  297. package/dist/services/self-learning/openai.d.ts +8 -0
  298. package/dist/services/self-learning/openai.d.ts.map +1 -0
  299. package/dist/services/self-learning/openai.js +97 -0
  300. package/dist/services/self-learning/openai.js.map +1 -0
  301. package/dist/services/self-learning/phash.d.ts +5 -0
  302. package/dist/services/self-learning/phash.d.ts.map +1 -0
  303. package/dist/services/self-learning/phash.js +68 -0
  304. package/dist/services/self-learning/phash.js.map +1 -0
  305. package/dist/services/self-learning/recognize.d.ts +17 -0
  306. package/dist/services/self-learning/recognize.d.ts.map +1 -0
  307. package/dist/services/self-learning/recognize.js +116 -0
  308. package/dist/services/self-learning/recognize.js.map +1 -0
  309. package/dist/services/self-learning/record_transition.d.ts +8 -0
  310. package/dist/services/self-learning/record_transition.d.ts.map +1 -0
  311. package/dist/services/self-learning/record_transition.js +20 -0
  312. package/dist/services/self-learning/record_transition.js.map +1 -0
  313. package/dist/services/self-learning/registry.d.ts +4 -0
  314. package/dist/services/self-learning/registry.d.ts.map +1 -0
  315. package/dist/services/self-learning/registry.js +19 -0
  316. package/dist/services/self-learning/registry.js.map +1 -0
  317. package/dist/services/self-learning/schema.d.ts +114 -0
  318. package/dist/services/self-learning/schema.d.ts.map +1 -0
  319. package/dist/services/self-learning/schema.js +70 -0
  320. package/dist/services/self-learning/schema.js.map +1 -0
  321. package/dist/services/self-learning/schemaStrictify.d.ts +2 -0
  322. package/dist/services/self-learning/schemaStrictify.d.ts.map +1 -0
  323. package/dist/services/self-learning/schemaStrictify.js +34 -0
  324. package/dist/services/self-learning/schemaStrictify.js.map +1 -0
  325. package/dist/services/self-learning/transition_graph.d.ts +6 -0
  326. package/dist/services/self-learning/transition_graph.d.ts.map +1 -0
  327. package/dist/services/self-learning/transition_graph.js +83 -0
  328. package/dist/services/self-learning/transition_graph.js.map +1 -0
  329. package/dist/services/self-learning/transition_log.d.ts +3 -0
  330. package/dist/services/self-learning/transition_log.d.ts.map +1 -0
  331. package/dist/services/self-learning/transition_log.js +42 -0
  332. package/dist/services/self-learning/transition_log.js.map +1 -0
  333. package/dist/services/self-learning/util.d.ts +3 -0
  334. package/dist/services/self-learning/util.d.ts.map +1 -0
  335. package/dist/services/self-learning/util.js +11 -0
  336. package/dist/services/self-learning/util.js.map +1 -0
  337. package/dist/services/stepByStepAiPlanner.d.ts +39 -0
  338. package/dist/services/stepByStepAiPlanner.d.ts.map +1 -0
  339. package/dist/services/stepByStepAiPlanner.js +379 -0
  340. package/dist/services/stepByStepAiPlanner.js.map +1 -0
  341. package/dist/services/test-genjs.js +39 -0
  342. package/dist/services/test-genjs.manual-test.d.ts +2 -0
  343. package/dist/services/test-genjs.manual-test.d.ts.map +1 -0
  344. package/dist/services/test-genjs.manual-test.js +40 -0
  345. package/dist/services/test-genjs.manual-test.js.map +1 -0
  346. package/dist/services/uiMapPathFinder.d.ts +13 -0
  347. package/dist/services/uiMapPathFinder.d.ts.map +1 -0
  348. package/dist/services/uiMapPathFinder.js +79 -0
  349. package/dist/services/uiMapPathFinder.js.map +1 -0
  350. package/dist/services/uiMapService.d.ts +26 -0
  351. package/dist/services/uiMapService.d.ts.map +1 -0
  352. package/dist/services/uiMapService.js +275 -0
  353. package/dist/services/uiMapService.js.map +1 -0
  354. package/dist/services/uiPlanner.d.ts +54 -0
  355. package/dist/services/uiPlanner.d.ts.map +1 -0
  356. package/dist/services/uiPlanner.js +558 -0
  357. package/dist/services/uiPlanner.js.map +1 -0
  358. package/dist/services/utilityFunctions.d.ts +80 -0
  359. package/dist/services/utilityFunctions.d.ts.map +1 -0
  360. package/dist/services/utilityFunctions.js +352 -0
  361. package/dist/services/utilityFunctions.js.map +1 -0
  362. package/dist/services/variableGenerator.d.ts +39 -0
  363. package/dist/services/variableGenerator.d.ts.map +1 -0
  364. package/dist/services/variableGenerator.js +157 -0
  365. package/dist/services/variableGenerator.js.map +1 -0
  366. package/dist/services/workflow/build-workflow.d.ts +49 -0
  367. package/dist/services/workflow/build-workflow.d.ts.map +1 -0
  368. package/dist/services/workflow/build-workflow.js +119 -0
  369. package/dist/services/workflow/build-workflow.js.map +1 -0
  370. package/dist/standardRoutes.d.ts +2 -0
  371. package/dist/standardRoutes.d.ts.map +1 -0
  372. package/dist/standardRoutes.js +1495 -0
  373. package/dist/standardRoutes.js.map +1 -0
  374. package/dist/stepWorkflowRoutes.d.ts +2 -0
  375. package/dist/stepWorkflowRoutes.d.ts.map +1 -0
  376. package/dist/stepWorkflowRoutes.js +1007 -0
  377. package/dist/stepWorkflowRoutes.js.map +1 -0
  378. package/dist/storage.d.ts +19 -0
  379. package/dist/storage.d.ts.map +1 -0
  380. package/dist/storage.docker.json +61 -0
  381. package/dist/storage.js +131 -0
  382. package/dist/storage.js.map +1 -0
  383. package/dist/storage.json +78 -0
  384. package/dist/storage_cache/boxes.json +48 -0
  385. package/dist/storage_cache/suno_state.json +3 -0
  386. package/dist/suno_download.d.ts +11 -0
  387. package/dist/suno_download.d.ts.map +1 -0
  388. package/dist/suno_download.js +33 -0
  389. package/dist/suno_download.js.map +1 -0
  390. package/dist/suno_download.py +119 -0
  391. package/dist/test-web-element-requests.d.ts +6 -0
  392. package/dist/test-web-element-requests.d.ts.map +1 -0
  393. package/dist/test-web-element-requests.js +114 -0
  394. package/dist/test-web-element-requests.js.map +1 -0
  395. package/dist/test_pdf_render.d.ts +2 -0
  396. package/dist/test_pdf_render.d.ts.map +1 -0
  397. package/dist/test_pdf_render.js +50 -0
  398. package/dist/test_pdf_render.js.map +1 -0
  399. package/dist/training_data_viewer_endpoints.d.ts +2 -0
  400. package/dist/training_data_viewer_endpoints.d.ts.map +1 -0
  401. package/dist/training_data_viewer_endpoints.js +141 -0
  402. package/dist/training_data_viewer_endpoints.js.map +1 -0
  403. package/dist/utils.d.ts +353 -0
  404. package/dist/utils.d.ts.map +1 -0
  405. package/dist/utils.js +1517 -0
  406. package/dist/utils.js.map +1 -0
  407. package/dist/vm-h100.env.template +55 -0
  408. package/dist/web-element-requests.d.ts +102 -0
  409. package/dist/web-element-requests.d.ts.map +1 -0
  410. package/dist/web-element-requests.js +278 -0
  411. package/dist/web-element-requests.js.map +1 -0
  412. package/dist/workflowRoutes.d.ts +2 -0
  413. package/dist/workflowRoutes.d.ts.map +1 -0
  414. package/dist/workflowRoutes.js +441 -0
  415. package/dist/workflowRoutes.js.map +1 -0
  416. package/package.json +109 -0
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Extracts JSON from a string or returns the object as-is
3
+ * @param {string|object} input - The input to process
4
+ * @returns {object|null} - The parsed JSON object or null if parsing fails
5
+ */
6
+ function extractJSON(input) {
7
+ // If input is already an object, return it as-is
8
+ if (typeof input === 'object' && input !== null) {
9
+ return input;
10
+ }
11
+ // If input is not a string, try to convert it
12
+ if (typeof input !== 'string') {
13
+ try {
14
+ return JSON.parse(String(input));
15
+ }
16
+ catch (error) {
17
+ console.warn('Failed to parse non-string input:', error.message);
18
+ return null;
19
+ }
20
+ }
21
+ // Clean the string and extract JSON
22
+ try {
23
+ const cleaned = cleanJSONString(input);
24
+ return JSON.parse(cleaned);
25
+ }
26
+ catch (error) {
27
+ console.warn('Failed to extract JSON:', error.message);
28
+ return null;
29
+ }
30
+ }
31
+ /**
32
+ * Cleans a string to extract pure JSON
33
+ * @param {string} str - The string to clean
34
+ * @returns {string} - The cleaned JSON string
35
+ */
36
+ function cleanJSONString(str) {
37
+ // Remove leading/trailing whitespace
38
+ str = str.trim();
39
+ // Pattern to match JSON wrapped in markdown code blocks
40
+ const markdownPatterns = [
41
+ /```json\s*\n?([\s\S]*?)\n?\s*```/i, // ```json ... ```
42
+ /```\s*\n?([\s\S]*?)\n?\s*```/i, // ``` ... ```
43
+ /`([^`]+)`/ // `...`
44
+ ];
45
+ // Try to extract from markdown patterns
46
+ for (const pattern of markdownPatterns) {
47
+ const match = str.match(pattern);
48
+ if (match && match[1]) {
49
+ str = match[1].trim();
50
+ break;
51
+ }
52
+ }
53
+ // Remove common text wrappers
54
+ const textWrappers = [
55
+ /^Here's the JSON:\s*/i,
56
+ /^JSON:\s*/i,
57
+ /^Response:\s*/i,
58
+ /^Result:\s*/i,
59
+ /^Output:\s*/i,
60
+ /\s*$/ // trailing whitespace
61
+ ];
62
+ for (const wrapper of textWrappers) {
63
+ str = str.replace(wrapper, '');
64
+ }
65
+ // Find JSON object boundaries
66
+ const jsonStart = Math.max(str.indexOf('{'), str.indexOf('['));
67
+ const jsonEnd = Math.max(str.lastIndexOf('}'), str.lastIndexOf(']'));
68
+ if (jsonStart !== -1 && jsonEnd !== -1 && jsonEnd > jsonStart) {
69
+ str = str.substring(jsonStart, jsonEnd + 1);
70
+ }
71
+ // Clean up escaped characters and fix common issues
72
+ str = str
73
+ .replace(/\\\"/g, '"') // Fix escaped quotes
74
+ .replace(/\\\n/g, '\\n') // Fix escaped newlines
75
+ .replace(/\\\t/g, '\\t') // Fix escaped tabs
76
+ .replace(/\\\r/g, '\\r') // Fix escaped carriage returns
77
+ .replace(/\n\s*\n/g, '\\n') // Convert actual newlines to escaped
78
+ .replace(/\r\n/g, '\\n') // Convert CRLF to escaped newlines
79
+ .replace(/\r/g, '\\n') // Convert CR to escaped newlines
80
+ .replace(/\t/g, '\\t'); // Convert tabs to escaped tabs
81
+ return str.trim();
82
+ }
83
+ /**
84
+ * Safe JSON extraction with fallback options
85
+ * @param {string|object} input - The input to process
86
+ * @param {object} options - Options for extraction
87
+ * @returns {object} - The result object
88
+ */
89
+ function safeExtractJSON(input, options = {}) {
90
+ const { returnOriginalOnFail = false, defaultValue = null, throwOnError = false } = options;
91
+ try {
92
+ const result = extractJSON(input);
93
+ if (result !== null) {
94
+ return result;
95
+ }
96
+ // If extraction failed, handle based on options
97
+ if (returnOriginalOnFail) {
98
+ return input;
99
+ }
100
+ if (throwOnError) {
101
+ throw new Error('Failed to extract valid JSON');
102
+ }
103
+ return defaultValue;
104
+ }
105
+ catch (error) {
106
+ if (throwOnError) {
107
+ throw error;
108
+ }
109
+ console.warn('JSON extraction failed:', error?.message || error);
110
+ if (returnOriginalOnFail) {
111
+ return input;
112
+ }
113
+ return defaultValue;
114
+ }
115
+ }
116
+ /**
117
+ * Validates if a string contains valid JSON
118
+ * @param {string} str - The string to validate
119
+ * @returns {boolean} - True if contains valid JSON
120
+ */
121
+ function containsJSON(str) {
122
+ if (typeof str !== 'string') {
123
+ return false;
124
+ }
125
+ try {
126
+ const cleaned = cleanJSONString(str);
127
+ JSON.parse(cleaned);
128
+ return true;
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ }
134
+ /**
135
+ * Extracts multiple JSON objects from a string
136
+ * @param {string} str - The string to process
137
+ * @returns {array} - Array of JSON objects found
138
+ */
139
+ function extractMultipleJSON(str) {
140
+ if (typeof str !== 'string') {
141
+ return [];
142
+ }
143
+ const results = [];
144
+ const jsonObjects = [];
145
+ // Find all potential JSON objects/arrays
146
+ let depth = 0;
147
+ let start = -1;
148
+ let inString = false;
149
+ let escaped = false;
150
+ for (let i = 0; i < str.length; i++) {
151
+ const char = str[i];
152
+ if (escaped) {
153
+ escaped = false;
154
+ continue;
155
+ }
156
+ if (char === '\\') {
157
+ escaped = true;
158
+ continue;
159
+ }
160
+ if (char === '"') {
161
+ inString = !inString;
162
+ continue;
163
+ }
164
+ if (inString) {
165
+ continue;
166
+ }
167
+ if (char === '{' || char === '[') {
168
+ if (depth === 0) {
169
+ start = i;
170
+ }
171
+ depth++;
172
+ }
173
+ else if (char === '}' || char === ']') {
174
+ depth--;
175
+ if (depth === 0 && start !== -1) {
176
+ const jsonStr = str.substring(start, i + 1);
177
+ try {
178
+ const parsed = JSON.parse(jsonStr);
179
+ results.push(parsed);
180
+ }
181
+ catch {
182
+ // Invalid JSON, skip
183
+ }
184
+ start = -1;
185
+ }
186
+ }
187
+ }
188
+ return results;
189
+ }
190
+ export { extractJSON, cleanJSONString, safeExtractJSON, containsJSON, extractMultipleJSON };
191
+ //# sourceMappingURL=jsonHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonHandler.js","sourceRoot":"","sources":["../src/jsonHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ {
2
+ "sourceFile": "Happy_Birthday_song_for_Christine_6ffee839-2250-4f6f-9c04-3a0bad8d0ad3.json",
3
+ "mode": "MIDJOURNEY",
4
+ "current_folder": "/Users/andrewporter/Documents/ai/repository",
5
+ "jobs_folder": "/Users/andrewporter/Documents/ai/jobs",
6
+ "images_folder": "/Users/andrewporter/Documents/ai/images",
7
+ "text_images_folder": "/Users/andrewporter/Documents/ai/text_images",
8
+ "animation_folder": "/Users/andrewporter/Documents/ai/animation",
9
+ "audio_folder": "/Users/andrewporter/Documents/ai/audio",
10
+ "video_folder": "/Users/andrewporter/Documents/ai/video"
11
+ }
@@ -0,0 +1,2 @@
1
+ export declare function media_data_endpoints(app: any): Promise<void>;
2
+ //# sourceMappingURL=media_data_endpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media_data_endpoints.d.ts","sourceRoot":"","sources":["../src/media_data_endpoints.ts"],"names":[],"mappings":"AAMA,wBAAsB,oBAAoB,CAAC,GAAG,KAAA,iBAiH7C"}
@@ -0,0 +1,102 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { console_log_it, get } from './utils.js';
4
+ import { KEYS } from './constants.js';
5
+ import { imageSize } from 'image-size';
6
+ export async function media_data_endpoints(app) {
7
+ // Add this new endpoint function inside the capture_training_data_endpoints function
8
+ app.get('/image-dimensions/:imageName', async (req, res) => {
9
+ const { imageName } = req.params;
10
+ console_log_it(`Getting dimensions for image: ${imageName}`, 'image_dimensions');
11
+ try {
12
+ // Construct the image path
13
+ const imagePath = path.join(get(KEYS.media_folder), imageName);
14
+ // Check if image exists
15
+ if (!fs.existsSync(imagePath)) {
16
+ console_log_it(`Image ${imagePath} does not exist`, 'image_dimensions');
17
+ return res.status(404).json({ error: 'Image not found' });
18
+ }
19
+ // Check if it's actually a file
20
+ const imageStats = fs.statSync(imagePath);
21
+ if (!imageStats.isFile()) {
22
+ console_log_it(`${imagePath} is not a file`, 'image_dimensions');
23
+ return res.status(404).json({ error: 'Path is not a file' });
24
+ }
25
+ // Get image dimensions
26
+ const { width, height } = imageSize(fs.readFileSync(imagePath));
27
+ console_log_it(`Image ${imageName} dimensions: ${width}x${height}`, 'image_dimensions');
28
+ res.json({
29
+ success: true,
30
+ imageName,
31
+ width,
32
+ height,
33
+ path: imagePath
34
+ });
35
+ }
36
+ catch (error) {
37
+ console.error('Error getting image dimensions:', error);
38
+ console_log_it(`Error getting dimensions for ${imageName}: ${error.message}`, 'image_dimensions');
39
+ res.status(500).json({
40
+ error: 'Failed to get image dimensions',
41
+ details: error.message
42
+ });
43
+ }
44
+ });
45
+ // Alternative POST endpoint for more flexibility (supports both image and video frame)
46
+ app.post('/get-media-dimensions', async (req, res) => {
47
+ const { imageName, videoName, timestamp } = req.body;
48
+ console_log_it(`Getting media dimensions`, 'media_dimensions');
49
+ try {
50
+ let imagePath = '';
51
+ // Handle video frame extraction
52
+ if (videoName && timestamp !== undefined) {
53
+ imagePath = path.join(get(KEYS.media_folder), `temp_dimensions_${Date.now()}.png`);
54
+ await extractVideoFrame(path.join(get(KEYS.media_folder), videoName), timestamp, imagePath);
55
+ console_log_it(`Extracted frame for dimensions: ${imagePath}`, 'media_dimensions');
56
+ }
57
+ // Handle direct image
58
+ else if (imageName) {
59
+ imagePath = path.join(get(KEYS.media_folder), imageName);
60
+ }
61
+ else {
62
+ return res.status(400).json({
63
+ error: 'Either imageName or videoName with timestamp required'
64
+ });
65
+ }
66
+ // Check if file exists
67
+ if (!fs.existsSync(imagePath)) {
68
+ console_log_it(`Media file ${imagePath} does not exist`, 'media_dimensions');
69
+ return res.status(404).json({ error: 'Media file not found' });
70
+ }
71
+ // Get dimensions
72
+ const { width, height } = imageSize(fs.readFileSync(imagePath));
73
+ console_log_it(`Media dimensions: ${width}x${height}`, 'media_dimensions');
74
+ // Clean up temporary frame if it was created
75
+ if (videoName && timestamp !== undefined) {
76
+ try {
77
+ fs.unlinkSync(imagePath);
78
+ console_log_it(`Cleaned up temporary frame: ${imagePath}`, 'media_dimensions');
79
+ }
80
+ catch (cleanupError) {
81
+ console_log_it(`Warning: Could not clean up temp file: ${cleanupError.message}`, 'media_dimensions');
82
+ }
83
+ }
84
+ res.json({
85
+ success: true,
86
+ sourceFile: imageName || videoName,
87
+ width,
88
+ height,
89
+ extractedFromVideo: !!videoName
90
+ });
91
+ }
92
+ catch (error) {
93
+ console.error('Error getting media dimensions:', error);
94
+ console_log_it(`Error getting media dimensions: ${error.message}`, 'media_dimensions');
95
+ res.status(500).json({
96
+ error: 'Failed to get media dimensions',
97
+ details: error.message
98
+ });
99
+ }
100
+ });
101
+ }
102
+ //# sourceMappingURL=media_data_endpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media_data_endpoints.js","sourceRoot":"","sources":["../src/media_data_endpoints.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function blender_operations(app: any, screen_shot_folder_function: any): Promise<void>;
2
+ export declare function levenshtein(a: any, b: any): any;
3
+ export declare function similarityScore(a: any, b: any): number;
4
+ //# sourceMappingURL=blender-ops.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blender-ops.d.ts","sourceRoot":"","sources":["../../src/operations/blender-ops.ts"],"names":[],"mappings":"AAiDA,wBAAsB,kBAAkB,CAAC,GAAG,KAAA,EAAE,2BAA2B,KAAA,iBAaxE;AAED,wBAAgB,WAAW,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,OA+B/B;AACD,wBAAgB,eAAe,CAAC,CAAC,KAAA,EAAE,CAAC,KAAA,UAWnC"}
@@ -0,0 +1,55 @@
1
+ import { ensureDir } from '../utils.js';
2
+
3
+ export async function blender_operations(app, screen_shot_folder_function) {
4
+ // This function is a placeholder for future capture endpoints
5
+ // Currently, it does not implement any specific functionality
6
+ console.warn('blender_operations is not yet implemented');
7
+ // You can implement your capture endpoints here in the future
8
+ // For example, you might want to add endpoints for uploading images or labels
9
+ // or for starting/stopping capture sessions.
10
+ // 2) Serve your YAML and images statically
11
+ // URL: http://localhost:3000/training_data/<folder>/<file>
12
+ if (!screen_shot_folder_function()) {
13
+ return;
14
+ }
15
+ await ensureDir(screen_shot_folder_function());
16
+ }
17
+ export function levenshtein(a, b) {
18
+ // Ensure a is the shorter string to use less space
19
+ if (a.length > b.length)
20
+ [a, b] = [b, a];
21
+ const m = a.length;
22
+ const n = b.length;
23
+ // previous and current rows of the DP table
24
+ let prev = Array(m + 1).fill(0);
25
+ let curr = Array(m + 1).fill(0);
26
+ // Base case: distance from empty string to prefixes of a
27
+ for (let i = 0; i <= m; i++) {
28
+ prev[i] = i;
29
+ }
30
+ for (let j = 1; j <= n; j++) {
31
+ curr[0] = j; // distance from empty a to prefix of b of length j
32
+ for (let i = 1; i <= m; i++) {
33
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
34
+ curr[i] = Math.min(prev[i] + 1, // deletion
35
+ curr[i - 1] + 1, // insertion
36
+ prev[i - 1] + cost // substitution
37
+ );
38
+ }
39
+ // swap rows for next iteration
40
+ [prev, curr] = [curr, prev];
41
+ }
42
+ // The last entry of the “prev” row is the distance
43
+ return prev[m];
44
+ }
45
+ export function similarityScore(a, b) {
46
+ // both empty → perfect match
47
+ if (a.length === 0 && b.length === 0)
48
+ return 100;
49
+ const distance = levenshtein(a, b);
50
+ const maxDistance = Math.max(a.length, b.length);
51
+ const score = (1 - distance / maxDistance) * 100;
52
+ // clamp just in case of floating point weirdness
53
+ return Math.max(0, Math.min(100, score));
54
+ }
55
+ //# sourceMappingURL=blender-ops.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blender-ops.js","sourceRoot":"","sources":["../../src/operations/blender-ops.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export declare function moveMouse(position: any): Promise<void>;
2
+ export declare function mouseClick(): Promise<void>;
3
+ export declare function pressEscapeAsync(): Promise<void>;
4
+ export declare function moveMouseDesktop(position: any): Promise<void>;
5
+ export declare function moveMouseRelative(relative: any): Promise<void>;
6
+ /**
7
+ * Returns true if the current platform is Windows.
8
+ * @returns {boolean}
9
+ */
10
+ export declare function isWindows(): boolean;
11
+ export declare function operateMidjourneyDownloadPublicMedia(): Promise<void>;
12
+ export declare function operateMidjourneyDownloadMedia(): Promise<void>;
13
+ export declare function operateMidjourneyToImages(): Promise<void>;
14
+ export declare function typeText(params: any): Promise<void>;
15
+ export declare function pressKey(params: any): Promise<void>;
16
+ export declare function openMidjourneyImagePanel(): Promise<void>;
17
+ export declare function clearMidjourneyImages(all?: boolean): Promise<void>;
18
+ export declare function operateYoutubeMouse(): Promise<void>;
19
+ export declare function fileModalOperate(filePath: any): Promise<void>;
20
+ /**
21
+ * Immediately scrolls the mouse wheel.
22
+ *
23
+ * @param {number} x — horizontal scroll amount (positive → right, negative → left)
24
+ * @param {number} y — vertical scroll amount (positive → down, negative → up)
25
+ */
26
+ export declare function scroll(x?: number, y?: number): void;
27
+ export declare function operateSunoFilmMouse(): Promise<void>;
28
+ export declare function operateSunoMouse(body: any): Promise<void>;
29
+ export declare function isNoCharacterMode(): boolean;
30
+ export declare function ignoreCharacters(): boolean;
31
+ export declare function operateMouse(position: any, signal: any, progress: any): Promise<void>;
32
+ export declare function getSunoCompletedSongs(name: any): string;
33
+ export declare function getSunoRequestedSongs(name: any): string;
34
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAgDA,wBAAsB,SAAS,CAAC,QAAQ,KAAA,iBAmBvC;AACD,wBAAsB,UAAU,kBAI/B;AAMD,wBAAsB,gBAAgB,kBAIrC;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,KAAA,iBAmB9C;AACD,wBAAsB,iBAAiB,CAAC,QAAQ,KAAA,iBAkB/C;AAED;;;GAGG;AACH,wBAAgB,SAAS,YAGxB;AAcD,wBAAsB,oCAAoC,kBAgIzD;AAED,wBAAsB,8BAA8B,kBAyGnD;AAID,wBAAsB,yBAAyB,kBAqH9C;AAqFD,wBAAsB,QAAQ,CAAC,MAAM,KAAA,iBAoBpC;AAGD,wBAAsB,QAAQ,CAAC,MAAM,KAAA,iBAepC;AA0BD,wBAAsB,wBAAwB,kBAa7C;AAED,wBAAsB,qBAAqB,CAAC,GAAG,UAAO,iBA0BrD;AAwCD,wBAAsB,mBAAmB,kBAmVxC;AAGD,wBAAsB,gBAAgB,CAAC,QAAQ,KAAA,iBAc9C;AA0BD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI,QAElC;AAiBD,wBAAsB,oBAAoB,kBA4QzC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,KAAA,iBAyH1C;AAqBD,wBAAgB,iBAAiB,YAEhC;AAED,wBAAgB,gBAAgB,YAE/B;AAGD,wBAAsB,YAAY,CAAC,QAAQ,KAAA,EAAE,MAAM,KAAA,EAAE,QAAQ,KAAA,iBA+G5D;AAgBD,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,UAGzC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,UAGzC"}