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,352 @@
1
+ // Add this above the executeFlow function in executor.js:
2
+ export const deepMerge = (target, source) => {
3
+ const result = { ...target };
4
+ for (const key in source) {
5
+ if (source[key] && typeof source[key] === 'object' && !Array.isArray(source[key])) {
6
+ result[key] = deepMerge(result[key] || {}, source[key]);
7
+ }
8
+ else {
9
+ result[key] = source[key];
10
+ }
11
+ }
12
+ return result;
13
+ };
14
+ /**
15
+ * Extracts JSON from a string or returns the object as-is
16
+ * @param {string|object} input - The input to process
17
+ * @returns {object|null} - The parsed JSON object or null if parsing fails
18
+ */
19
+ export function extractJSON(input) {
20
+ // If input is already an object, return it as-is
21
+ if (typeof input === 'object' && input !== null) {
22
+ return input;
23
+ }
24
+ // If input is not a string, try to convert it
25
+ if (typeof input !== 'string') {
26
+ try {
27
+ return JSON.parse(String(input));
28
+ }
29
+ catch (error) {
30
+ console.warn('Failed to parse non-string input:', error.message);
31
+ return null;
32
+ }
33
+ }
34
+ // Clean the string and extract JSON
35
+ try {
36
+ const cleaned = cleanJSONString(input);
37
+ return JSON.parse(cleaned);
38
+ }
39
+ catch (error) {
40
+ console.warn('Failed to extract JSON:', error.message);
41
+ return null;
42
+ }
43
+ }
44
+ /**
45
+ * Cleans a string to extract pure JSON
46
+ * @param {string} str - The string to clean
47
+ * @returns {string} - The cleaned JSON string
48
+ */
49
+ function cleanJSONString(str, options) {
50
+ // Remove leading/trailing whitespace
51
+ str = str.trim();
52
+ // Pattern to match JSON wrapped in markdown code blocks
53
+ const markdownPatterns = [
54
+ /```json\s*\n?([\s\S]*?)\n?\s*```/i, // ```json ... ```
55
+ /```\s*\n?([\s\S]*?)\n?\s*```/i, // ``` ... ```
56
+ /`([^`]+)`/ // `...`
57
+ ];
58
+ // Try to extract from markdown patterns
59
+ for (const pattern of markdownPatterns) {
60
+ const match = str.match(pattern);
61
+ if (match && match[1]) {
62
+ str = match[1].trim();
63
+ break;
64
+ }
65
+ }
66
+ // Remove common text wrappers
67
+ const textWrappers = [
68
+ /^Here's the JSON:\s*/i,
69
+ /^JSON:\s*/i,
70
+ /^Response:\s*/i,
71
+ /^Result:\s*/i,
72
+ /^Output:\s*/i,
73
+ /\s*$/ // trailing whitespace
74
+ ];
75
+ for (const wrapper of textWrappers) {
76
+ str = str.replace(wrapper, '');
77
+ }
78
+ // Find JSON object boundaries
79
+ const jsonStart = Math.max(str.indexOf('{'), str.indexOf('['));
80
+ const jsonEnd = Math.max(str.lastIndexOf('}'), str.lastIndexOf(']'));
81
+ if (jsonStart !== -1 && jsonEnd !== -1 && jsonEnd > jsonStart) {
82
+ str = str.substring(jsonStart, jsonEnd + 1);
83
+ }
84
+ // Clean up escaped characters and fix common issues
85
+ str = str
86
+ .replace(/\\\"/g, '"') // Fix escaped quotes
87
+ .replace(/\\\n/g, '\\n') // Fix escaped newlines
88
+ .replace(/\\\t/g, '\\t') // Fix escaped tabs
89
+ .replace(/\\\r/g, '\\r') // Fix escaped carriage returns
90
+ .replace(/\n\s*\n/g, '\\n') // Convert actual newlines to escaped
91
+ .replace(/\r\n/g, '\\n') // Convert CRLF to escaped newlines
92
+ .replace(/\r/g, '\\n') // Convert CR to escaped newlines
93
+ .replace(/\t/g, '\\t'); // Convert tabs to escaped tabs
94
+ return str.trim();
95
+ }
96
+ /**
97
+ * Safe JSON extraction with fallback options
98
+ * @param {string|object} input - The input to process
99
+ * @param {object} options - Options for extraction
100
+ * @returns {object} - The result object
101
+ */
102
+ function safeExtractJSON(input, options = {}) {
103
+ const { returnOriginalOnFail = false, defaultValue = null, throwOnError = false } = options;
104
+ try {
105
+ const result = extractJSON(input);
106
+ if (result !== null) {
107
+ return result;
108
+ }
109
+ // If extraction failed, handle based on options
110
+ if (returnOriginalOnFail) {
111
+ return input;
112
+ }
113
+ if (throwOnError) {
114
+ throw new Error('Failed to extract valid JSON');
115
+ }
116
+ return defaultValue;
117
+ }
118
+ catch (error) {
119
+ if (throwOnError) {
120
+ throw error;
121
+ }
122
+ console.warn('JSON extraction failed:', error?.message || error);
123
+ if (returnOriginalOnFail) {
124
+ return input;
125
+ }
126
+ return defaultValue;
127
+ }
128
+ }
129
+ /**
130
+ * Validates if a string contains valid JSON
131
+ * @param {string} str - The string to validate
132
+ * @returns {boolean} - True if contains valid JSON
133
+ */
134
+ function containsJSON(str, options) {
135
+ if (typeof str !== 'string') {
136
+ return false;
137
+ }
138
+ try {
139
+ const cleaned = cleanJSONString(str);
140
+ JSON.parse(cleaned);
141
+ return true;
142
+ }
143
+ catch {
144
+ return false;
145
+ }
146
+ }
147
+ /**
148
+ * Extracts multiple JSON objects from a string
149
+ * @param {string} str - The string to process
150
+ * @returns {array} - Array of JSON objects found
151
+ */
152
+ function extractMultipleJSON(str) {
153
+ if (typeof str !== 'string') {
154
+ return [];
155
+ }
156
+ const results = [];
157
+ const jsonObjects = [];
158
+ // Find all potential JSON objects/arrays
159
+ let depth = 0;
160
+ let start = -1;
161
+ let inString = false;
162
+ let escaped = false;
163
+ for (let i = 0; i < str.length; i++) {
164
+ const char = str[i];
165
+ if (escaped) {
166
+ escaped = false;
167
+ continue;
168
+ }
169
+ if (char === '\\') {
170
+ escaped = true;
171
+ continue;
172
+ }
173
+ if (char === '"') {
174
+ inString = !inString;
175
+ continue;
176
+ }
177
+ if (inString) {
178
+ continue;
179
+ }
180
+ if (char === '{' || char === '[') {
181
+ if (depth === 0) {
182
+ start = i;
183
+ }
184
+ depth++;
185
+ }
186
+ else if (char === '}' || char === ']') {
187
+ depth--;
188
+ if (depth === 0 && start !== -1) {
189
+ const jsonStr = str.substring(start, i + 1);
190
+ try {
191
+ const parsed = JSON.parse(jsonStr);
192
+ results.push(parsed);
193
+ }
194
+ catch {
195
+ // Invalid JSON, skip
196
+ }
197
+ start = -1;
198
+ }
199
+ }
200
+ }
201
+ return results;
202
+ }
203
+ /**
204
+ * Predefined utility functions available in ExecJSNode execution context
205
+ */
206
+ export const getUtilityFunctions = () => {
207
+ return {
208
+ // String utilities
209
+ capitalize: (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase(),
210
+ titleCase: (str) => str.replace(/\w\S*/g, (txt) => txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase()),
211
+ slugify: (str) => str
212
+ .toLowerCase()
213
+ .replace(/[^\w\s-]/g, '')
214
+ .replace(/[\s_-]+/g, '-')
215
+ .replace(/^-+|-+$/g, ''),
216
+ truncate: (str, length, suffix = '...') => str.length > length ? str.substring(0, length) + suffix : str,
217
+ // Array utilities
218
+ chunk: (array, size) => {
219
+ const chunks = [];
220
+ for (let i = 0; i < array.length; i += size) {
221
+ chunks.push(array.slice(i, i + size));
222
+ }
223
+ return chunks;
224
+ },
225
+ unique: (array) => [...new Set(array)],
226
+ flatten: (array) => array.flat(Infinity),
227
+ groupBy: (array, key) => {
228
+ return array.reduce((groups, item) => {
229
+ const group = item[key];
230
+ groups[group] = groups[group] || [];
231
+ groups[group].push(item);
232
+ return groups;
233
+ }, {});
234
+ },
235
+ // Object utilities
236
+ pick: (obj, keys) => {
237
+ return keys.reduce((result, key) => {
238
+ if (key in obj) {
239
+ result[key] = obj[key];
240
+ }
241
+ return result;
242
+ }, {});
243
+ },
244
+ omit: (obj, keys) => {
245
+ const result = { ...obj };
246
+ keys.forEach(key => delete result[key]);
247
+ return result;
248
+ },
249
+ // Date utilities
250
+ formatDate: (datestring, format = 'YYYY-MM-DD') => {
251
+ const d = new Date(datestring);
252
+ const formats = {
253
+ 'YYYY': d.getFullYear(),
254
+ 'MM': String(d.getMonth() + 1).padStart(2, '0'),
255
+ 'DD': String(d.getDate()).padStart(2, '0'),
256
+ 'HH': String(d.getHours()).padStart(2, '0'),
257
+ 'mm': String(d.getMinutes()).padStart(2, '0'),
258
+ 'ss': String(d.getSeconds()).padStart(2, '0')
259
+ };
260
+ return format.replace(/YYYY|MM|DD|HH|mm|ss/g, match => formats[match]);
261
+ },
262
+ extractJSON,
263
+ cleanJSONString,
264
+ safeExtractJSON,
265
+ containsJSON,
266
+ extractMultipleJSON,
267
+ timeAgo: (datestring) => {
268
+ const now = new Date();
269
+ const past = new Date(datestring);
270
+ const diffMs = now.getTime() - past.getTime();
271
+ const diffMins = Math.floor(diffMs / 60000);
272
+ const diffHours = Math.floor(diffMins / 60);
273
+ const diffDays = Math.floor(diffHours / 24);
274
+ if (diffMins < 1)
275
+ return 'just now';
276
+ if (diffMins < 60)
277
+ return `${diffMins}m ago`;
278
+ if (diffHours < 24)
279
+ return `${diffHours}h ago`;
280
+ return `${diffDays}d ago`;
281
+ },
282
+ // Number utilities
283
+ clamp: (num, min, max) => Math.min(Math.max(num, min), max),
284
+ round: (num, decimals = 0) => {
285
+ const factor = Math.pow(10, decimals);
286
+ return Math.round(num * factor) / factor;
287
+ },
288
+ deepMerge,
289
+ randomBetween: (min, max) => Math.random() * (max - min) + min,
290
+ formatNumber: (num, locale = 'en-US') => {
291
+ return new Intl.NumberFormat(locale).format(num);
292
+ },
293
+ // Validation utilities
294
+ isEmail: (str) => /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(str),
295
+ isUrl: (str) => {
296
+ try {
297
+ new URL(str);
298
+ return true;
299
+ }
300
+ catch {
301
+ return false;
302
+ }
303
+ },
304
+ isEmpty: (value) => {
305
+ if (value == null)
306
+ return true;
307
+ if (typeof value === 'string')
308
+ return value.trim().length === 0;
309
+ if (Array.isArray(value))
310
+ return value.length === 0;
311
+ if (typeof value === 'object')
312
+ return Object.keys(value).length === 0;
313
+ return false;
314
+ },
315
+ // HTTP utilities
316
+ fetchJSON: async (url, options = {}) => {
317
+ const response = await fetch(url, {
318
+ headers: { 'Content-Type': 'application/json', ...options.headers },
319
+ ...options
320
+ });
321
+ return response.json();
322
+ },
323
+ // Async utilities
324
+ delay: (ms) => new Promise(resolve => setTimeout(resolve, ms)),
325
+ retry: async (fn, maxAttempts = 3, delayMs = 1000) => {
326
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
327
+ try {
328
+ return await fn();
329
+ }
330
+ catch (error) {
331
+ if (attempt === maxAttempts)
332
+ throw error;
333
+ await new Promise(resolve => setTimeout(resolve, delayMs));
334
+ }
335
+ }
336
+ },
337
+ // Template utilities
338
+ template: (str, data) => {
339
+ return str.replace(/\{\{(\w+)\}\}/g, (match, key) => data[key] || match);
340
+ },
341
+ // Debug utilities
342
+ log: (...args) => {
343
+ console.log('[ExecJS]', ...args);
344
+ return args.length === 1 ? args[0] : args;
345
+ },
346
+ inspect: (obj) => {
347
+ console.log('[ExecJS Inspect]', JSON.stringify(obj, null, 2));
348
+ return obj;
349
+ }
350
+ };
351
+ };
352
+ //# sourceMappingURL=utilityFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilityFunctions.js","sourceRoot":"","sources":["../../src/services/utilityFunctions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Load stored pools (if file exists)
3
+ */
4
+ export declare function loadPools(poolPath?: string): Promise<any>;
5
+ /**
6
+ * Save pools to disk
7
+ */
8
+ export declare function savePools(pools: any, poolPath?: string): Promise<void>;
9
+ /**
10
+ * Seed initial values from the provided email's original entities
11
+ */
12
+ export declare function seedPoolsFromEntities(entities: any, pools: any): void;
13
+ /**
14
+ * Generate one new value from the LLM
15
+ */
16
+ export declare function generateValueForEntity(entity: any, pools: any, options?: {}): Promise<any>;
17
+ /**
18
+ * Generate values for all entities, using pools + LLM
19
+ */
20
+ export declare function generateEntityValues(entities: any, options?: {
21
+ model?: string;
22
+ reuseProbability?: number;
23
+ poolPath?: string;
24
+ }): Promise<{
25
+ valuesByKey: {};
26
+ pools: any;
27
+ }>;
28
+ /**
29
+ * Replace {{KEY}} placeholders
30
+ */
31
+ export declare function fillTemplate(template: any, valuesByKey: any): any;
32
+ /**
33
+ * Full pipeline
34
+ */
35
+ export declare function generateTextFromTemplate(template: any, entities: any, options?: {}): Promise<{
36
+ email: any;
37
+ valuesByKey: {};
38
+ }>;
39
+ //# sourceMappingURL=variableGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableGenerator.d.ts","sourceRoot":"","sources":["../../src/services/variableGenerator.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,SAAoB,gBAQ3D;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,KAAK,KAAA,EAAE,QAAQ,SAAoB,iBAGlE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAA,QAQpD;AAMD;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,KAAA,EAAE,KAAK,KAAA,EAAE,OAAO,KAAK,gBAoDvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,QAAQ,KAAA,EACR,OAAO,GAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CAChB;;;GAkDT;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,KAAA,EAAE,WAAW,KAAA,OAIjD;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC1C,QAAQ,KAAA,EACR,QAAQ,KAAA,EACR,OAAO,KAAK;;;GASf"}
@@ -0,0 +1,157 @@
1
+ // emailGenerator.js (ESM)
2
+ // Core logic for:
3
+ // - Reusing / generating entity values via LLM
4
+ // - Storing pools in a JSON file
5
+ // - Filling {{KEY}} placeholders in your email template
6
+ import { promises as fs } from "fs";
7
+ import path from "path";
8
+ // Import your runPrompt (must be an ESM export)
9
+ import { ensureDir, get } from "../utils.js";
10
+ import { KEYS } from "../constants.js";
11
+ import { runPrompt } from "./runPrompt.js";
12
+ const DEFAULT_POOL_PATH = path.join(process.cwd(), "entityPools.json");
13
+ /**
14
+ * Load stored pools (if file exists)
15
+ */
16
+ export async function loadPools(poolPath = DEFAULT_POOL_PATH) {
17
+ try {
18
+ const raw = await fs.readFile(poolPath, "utf8");
19
+ return JSON.parse(raw);
20
+ }
21
+ catch (err) {
22
+ if (err.code === "ENOENT")
23
+ return {};
24
+ throw err;
25
+ }
26
+ }
27
+ /**
28
+ * Save pools to disk
29
+ */
30
+ export async function savePools(pools, poolPath = DEFAULT_POOL_PATH) {
31
+ const json = JSON.stringify(pools, null, 2);
32
+ await fs.writeFile(poolPath, json, "utf8");
33
+ }
34
+ /**
35
+ * Seed initial values from the provided email's original entities
36
+ */
37
+ export function seedPoolsFromEntities(entities, pools) {
38
+ for (const e of entities) {
39
+ const type = e.type || "other";
40
+ if (!pools[type])
41
+ pools[type] = [];
42
+ if (!pools[type].includes(e.original)) {
43
+ pools[type].push(e.original);
44
+ }
45
+ }
46
+ }
47
+ function pickRandom(arr) {
48
+ return arr[Math.floor(Math.random() * arr.length)];
49
+ }
50
+ /**
51
+ * Generate one new value from the LLM
52
+ */
53
+ export async function generateValueForEntity(entity, pools, options = {}) {
54
+ const context = options.context ||
55
+ "business emails about vendor credentialing, insurance certificates, and property management workflows.";
56
+ const model = options.model || "gpt-5.2-2025-12-11";
57
+ const exampleValues = (pools[entity.type] || []).slice(0, 10);
58
+ const systemMsg = `
59
+ You generate realistic but fictional business data used in templated emails.
60
+
61
+ Rules:
62
+ - Output ONLY JSON.
63
+ - Make details realistic but fictional.
64
+ - Fit the entity's type: name, company, email, phone, date, address, etc.
65
+ - Fit the context provided.
66
+ `.trim();
67
+ const userMsg = `
68
+ Context:
69
+ ${context}
70
+
71
+ Entity:
72
+ ${JSON.stringify(entity, null, 2)}
73
+
74
+ Example values for this type:
75
+ ${JSON.stringify(exampleValues, null, 2)}
76
+
77
+ Task:
78
+ Generate ONE NEW value of type "${entity.type}" appropriate for the context.
79
+
80
+ Return ONLY JSON:
81
+ { "value": "..." }
82
+ `.trim();
83
+ const raw = await runPrompt([
84
+ { role: "system", content: systemMsg },
85
+ { role: "user", content: userMsg },
86
+ ], model);
87
+ try {
88
+ const out = JSON.parse(raw);
89
+ if (out && typeof out.value === "string") {
90
+ return out.value.trim();
91
+ }
92
+ }
93
+ catch (_) { }
94
+ return String(raw).trim();
95
+ }
96
+ /**
97
+ * Generate values for all entities, using pools + LLM
98
+ */
99
+ export async function generateEntityValues(entities, options = {}) {
100
+ const model = options.model || "gpt-5.2-2025-12-11";
101
+ const reuseProbability = typeof options.reuseProbability === "number"
102
+ ? options.reuseProbability
103
+ : 0.7;
104
+ const poolPath = options.poolPath || get(KEYS.VARIABLE_POOL_PATH) || DEFAULT_POOL_PATH;
105
+ try {
106
+ await ensureDir(path.dirname(poolPath));
107
+ if (!(await fs.stat(poolPath)).isFile()) {
108
+ await fs.writeFile(poolPath, JSON.stringify({}), "utf8");
109
+ }
110
+ }
111
+ catch {
112
+ await fs.writeFile(poolPath, JSON.stringify({}), "utf8");
113
+ }
114
+ const pools = await loadPools(poolPath);
115
+ seedPoolsFromEntities(entities, pools);
116
+ const valuesByKey = {};
117
+ for (const entity of entities) {
118
+ const type = entity.type || "other";
119
+ if (!pools[type])
120
+ pools[type] = [];
121
+ const pool = pools[type];
122
+ let value;
123
+ const shouldReuse = pool.length > 0 && Math.random() < reuseProbability;
124
+ if (shouldReuse) {
125
+ value = pickRandom(pool);
126
+ }
127
+ else {
128
+ value = await generateValueForEntity(entity, pools, options);
129
+ if (value && !pool.includes(value)) {
130
+ pool.push(value);
131
+ }
132
+ }
133
+ valuesByKey[entity.key] = value;
134
+ }
135
+ await savePools(pools, poolPath);
136
+ return { valuesByKey, pools };
137
+ }
138
+ /**
139
+ * Replace {{KEY}} placeholders
140
+ */
141
+ export function fillTemplate(template, valuesByKey) {
142
+ return template.replace(/\{\{([A-Z0-9_]+)\}\}/g, (_, key) => {
143
+ return valuesByKey[key] ?? `{{${key}}}`;
144
+ });
145
+ }
146
+ /**
147
+ * Full pipeline
148
+ */
149
+ export async function generateTextFromTemplate(template, entities, options = {}) {
150
+ const { valuesByKey } = await generateEntityValues(entities, options);
151
+ const email = fillTemplate(template, valuesByKey);
152
+ return {
153
+ email,
154
+ valuesByKey,
155
+ };
156
+ }
157
+ //# sourceMappingURL=variableGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variableGenerator.js","sourceRoot":"","sources":["../../src/services/variableGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Builds a directory structure from a JSON input containing file paths and contents.
3
+ *
4
+ * @param {string|object} jsonInput - The JSON string or object containing the files structure.
5
+ * Expected format: { "files": [ { "path": "...", "content": "..." }, ... ] }
6
+ * @param {string} targetDir - The root directory where files should be created.
7
+ * @returns {Promise<{success: boolean, count: number}>}
8
+ */
9
+ export declare function buildWorkflowDirectory(jsonInput: any, targetDir: any): Promise<{
10
+ success: boolean;
11
+ count: any;
12
+ }>;
13
+ /**
14
+ * Executes the workflow CLI validator in the target directory.
15
+ *
16
+ * @param {string} targetDir - The directory where the project is built.
17
+ * @param {string} [workflowJsonPath] - The path to the workflow JSON file to validate (relative to targetDir or absolute).
18
+ * @param {object} [parameters={}] - Optional dictionary of named parameters to pass to the CLI.
19
+ * @returns {Promise<{stdout: string, stderr: string}>}
20
+ */
21
+ export declare function runWorkflowCLI(targetDir: any, workflowJsonPath: any, parameters?: {}): Promise<{
22
+ stdout: string;
23
+ stderr: string;
24
+ error?: undefined;
25
+ code?: undefined;
26
+ } | {
27
+ stdout: any;
28
+ stderr: any;
29
+ error: any;
30
+ code: any;
31
+ }>;
32
+ /**
33
+ * Installs dependencies in the target directory using npm install.
34
+ *
35
+ * @param {string} targetDir - The directory where package.json is located.
36
+ * @returns {Promise<{stdout: string, stderr: string}>}
37
+ */
38
+ export declare function installDependencies(targetDir: any): Promise<{
39
+ stdout: string;
40
+ stderr: string;
41
+ error?: undefined;
42
+ code?: undefined;
43
+ } | {
44
+ stdout: any;
45
+ stderr: any;
46
+ error: any;
47
+ code: any;
48
+ }>;
49
+ //# sourceMappingURL=build-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-workflow.d.ts","sourceRoot":"","sources":["../../../src/services/workflow/build-workflow.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAAC,SAAS,KAAA,EAAE,SAAS,KAAA;;;GA0ChE;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,SAAS,KAAA,EAAE,gBAAgB,KAAA,EAAE,UAAU,KAAK;;;;;;;;;;GAoChF;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,SAAS,KAAA;;;;;;;;;;GAclD"}