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
package/README.md ADDED
@@ -0,0 +1,64 @@
1
+ # Flow-Frame
2
+
3
+ **Flow-Frame** is an advanced automation platform designed to orchestrate complex workflows involving AI, media processing, browser interactions, and email management.
4
+
5
+ It acts as a central nervous system for automation, connecting LLMs (OpenAI) with real-world interfaces (Gmail, Chrome, File System) and heavy computation tasks (Image/Audio processing).
6
+
7
+ ## 🚀 Quick Start
8
+
9
+ 1. **Install Dependencies**:
10
+ ```bash
11
+ npm install
12
+ ```
13
+ 2. **Setup Environment**:
14
+ Create a `.env` file with your API keys.
15
+ 3. **Start Server**:
16
+ ```bash
17
+ npm start
18
+ ```
19
+
20
+ ## 🧪 Testing
21
+
22
+ This project uses **Jest** for unit and integration testing.
23
+
24
+ ### Running Tests
25
+ To run the automated test suite:
26
+ ```bash
27
+ npm test
28
+ ```
29
+
30
+ ### Writing Tests
31
+ - Place unit tests alongside source files (e.g., `src/utils.test.ts`).
32
+ - Tests should use `import` syntax (ESM).
33
+ - Existing manual testing scripts (e.g. `*.manual-test.ts`) are excluded from the automated runner.
34
+
35
+ ## 📚 Documentation
36
+
37
+ Detailed documentation is available in the `docs/` folder:
38
+
39
+ - **[Setup & Installation](docs/setup.md)**: Configuration including `src/config.json` and GCP.
40
+ - **[Architecture](docs/architecture.md)**: System design, services, and resiliency.
41
+ - **[API Reference](docs/api.md)**: Endpoints for workflows, config files, media.
42
+ - **[Browser Automation](docs/browser_automation.md)**: `robotjs` integration and extension details.
43
+ - **[Email Automation](docs/email_automation.md)**: Gmail polling and filtering.
44
+ - **[Workflows](docs/workflows.md)**: How to build and run workflows.
45
+
46
+ ## 🌟 Key Features
47
+
48
+ - **Agentic UI Planning**: Deeply integrated AI that maps web pages and uses `robotjs` to simulate human clicks and typing.
49
+ - **Dynamic Workflows**: Can materialize file structures from JSON and execute them (`build-workflow.js`).
50
+ - **Production Resilience**: Global error handlers prevent server crashes (`server.js`).
51
+ - **Media Pipeline**: Native support for processing Audio, Images, and PDFs.
52
+
53
+ ## 📂 Project Structure
54
+
55
+ - `src/server.js`: Main entry point with error handling.
56
+ - `src/operations.js`: Low-level OS automation (mouse/keyboard).
57
+ - `src/configEndpoints.js`: API for managing file-based configs.
58
+ - `src/services/`: Business logic and AI services.
59
+ - `src/extension/`: Chrome extension for browser integration.
60
+ - `src/gmail-poller/`: Email automation tools.
61
+
62
+ ## License
63
+
64
+ Private / Proprietary.
@@ -0,0 +1,86 @@
1
+ ###############################
2
+ # Base image with system libs #
3
+ ###############################
4
+ FROM node:20-slim AS base
5
+
6
+ ENV DEBIAN_FRONTEND=noninteractive \
7
+ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
8
+ PYTHONUNBUFFERED=1
9
+
10
+ ARG WITH_ROBOTJS=0
11
+ # System packages for native deps (canvas, sharp, tesseract, etc.)
12
+ RUN apt-get update && apt-get install -y --no-install-recommends \
13
+ build-essential \
14
+ python3 \
15
+ python3-pip \
16
+ python3-venv \
17
+ git \
18
+ pkg-config \
19
+ libpixman-1-dev libcairo2-dev libpango1.0-dev libjpeg62-turbo-dev libgif-dev librsvg2-dev \
20
+ libvips42 \
21
+ tesseract-ocr \
22
+ libgl1 libglib2.0-0 libsm6 libxrender1 libxext6 \
23
+ ffmpeg \
24
+ ${WITH_ROBOTJS:+libxtst-dev libx11-dev} \
25
+ && ln -s /usr/bin/python3 /usr/bin/python \
26
+ && rm -rf /var/lib/apt/lists/*
27
+
28
+ # Torch channel can be: cpu | cu121 | cu124 | rocm6.2 (etc.)
29
+ ARG TORCH_CHANNEL=cu126
30
+
31
+ RUN python3 -m pip install --upgrade pip --break-system-packages && \
32
+ if [ "$TORCH_CHANNEL" = "cpu" ]; then \
33
+ python3 -m pip install --no-cache-dir --break-system-packages \
34
+ torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu ; \
35
+ else \
36
+ python3 -m pip install --no-cache-dir --break-system-packages \
37
+ torch torchvision torchaudio --index-url https://download.pytorch.org/whl/${TORCH_CHANNEL} ; \
38
+ fi && \
39
+ python3 -m pip install --no-cache-dir --break-system-packages ultralytics
40
+
41
+ # Copy and install trainer requirements
42
+ COPY trainer/requirements.txt /app/trainer/requirements.txt
43
+ RUN python3 -m pip install --no-cache-dir --break-system-packages -r /app/trainer/requirements.txt
44
+
45
+ WORKDIR /app
46
+
47
+ ###############################
48
+ # Dev dependencies layer #
49
+ ###############################
50
+ FROM base AS deps-dev
51
+ COPY package*.json ./
52
+ RUN npm install
53
+
54
+ ###############################
55
+ # Production deps layer #
56
+ ###############################
57
+ FROM base AS deps-prod
58
+ COPY package*.json ./
59
+ RUN npm install --omit=dev && npm cache clean --force
60
+
61
+ ###############################
62
+ # Development image #
63
+ ###############################
64
+ FROM base AS dev
65
+ ENV NODE_ENV=development PORT=8080
66
+ COPY --from=deps-dev /app/node_modules ./node_modules
67
+ COPY . .
68
+ EXPOSE 8080
69
+ # Use nodemon for autoreload (mounted volume will overlay source code)
70
+ CMD ["npm", "run", "dev"]
71
+
72
+ ###############################
73
+ # Production build image #
74
+ ###############################
75
+ FROM base AS prod
76
+ ENV NODE_ENV=production PORT=8080 NODE_OPTIONS="--max-old-space-size=4096"
77
+ COPY --from=deps-prod /app/node_modules ./node_modules
78
+ COPY . .
79
+ RUN chmod +x start.sh
80
+ EXPOSE 8080
81
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \
82
+ CMD node -e 'fetch(`http://localhost:${process.env.PORT||8080}/health`).then(r=>{if(!r.ok)process.exit(1)}).catch(()=>process.exit(1))' 2>/dev/null || exit 1
83
+ CMD ["./start.sh"]
84
+
85
+ # Default stage (can be overridden):
86
+ FROM prod AS default
@@ -0,0 +1,324 @@
1
+ # GPU-Enabled VM Deployment Documentation
2
+
3
+ ## Overview
4
+
5
+ This documentation covers the deployment of a GPU-accelerated virtual machine on Google Cloud Platform with NVIDIA A100 GPU support for machine learning workloads, specifically optimized for YOLO training and computer vision tasks.
6
+
7
+ ## Architecture
8
+
9
+ ### Components
10
+ - **VM Instance**: `a2-highgpu-1g` (A100 GPU, 12 vCPUs, 85GB RAM)
11
+ - **OS**: Ubuntu 22.04 LTS
12
+ - **GPU**: NVIDIA A100-SXM4-40GB
13
+ - **Container Runtime**: Docker with NVIDIA Container Toolkit
14
+ - **Application**: midjourney-worker container with GPU acceleration
15
+
16
+ ### Network Configuration
17
+ - **Zone**: us-central1-f
18
+ - **Project**: flowframe-auto
19
+ - **Container Registry**: us-central1-docker.pkg.dev/flowframe-auto/worker-images/midjourney-worker:latest
20
+
21
+ ## Prerequisites
22
+
23
+ ### Google Cloud Setup
24
+ 1. **Project**: Ensure `flowframe-auto` project exists
25
+ 2. **Billing**: GPU-enabled VMs require billing to be enabled
26
+ 3. **APIs**: Enable Compute Engine API and Container Registry API
27
+ 4. **Service Account**: Service account with appropriate permissions
28
+ 5. **Authentication**: `gcloud auth login` and `gcloud config set project flowframe-auto`
29
+
30
+ ### Local Environment
31
+ - **gcloud CLI**: Latest version installed
32
+ - **Docker**: For local testing (optional)
33
+ - **Node.js**: For running npm scripts
34
+ - **Git**: For repository access
35
+
36
+ ## Quick Start
37
+
38
+ ### Deploy GPU VM
39
+ ```bash
40
+ npm run deploy-gpu-vm
41
+ ```
42
+
43
+ ### Check Status
44
+ ```bash
45
+ npm run gpu-vm-status
46
+ ```
47
+
48
+ ### SSH Access
49
+ ```bash
50
+ npm run gpu-vm-ssh
51
+ ```
52
+
53
+ ## Available Commands
54
+
55
+ ### Deployment Commands
56
+ ```bash
57
+ # Deploy the GPU VM
58
+ npm run deploy-gpu-vm
59
+
60
+ # Build and deploy (combined)
61
+ npm run build-deploy
62
+
63
+ # Check VM status
64
+ npm run gpu-vm-status
65
+ ```
66
+
67
+ ### Management Commands
68
+ ```bash
69
+ # SSH into the VM
70
+ npm run gpu-vm-ssh
71
+
72
+ # View startup logs
73
+ npm run gpu-vm-logs
74
+
75
+ # Stop the VM
76
+ npm run gpu-vm-stop
77
+
78
+ # Start the VM
79
+ npm run gpu-vm-start
80
+
81
+ # Delete the VM
82
+ npm run gpu-vm-delete
83
+ ```
84
+
85
+ ## Detailed Deployment Process
86
+
87
+ ### 1. VM Creation
88
+ The deployment script creates an Ubuntu 22.04 VM with:
89
+ - A100 GPU attached
90
+ - 400GB boot disk
91
+ - NVIDIA GPU Cloud image
92
+ - Startup script for GPU driver installation
93
+
94
+ ### 2. GPU Driver Installation
95
+ The startup script automatically:
96
+ - Updates the system
97
+ - Installs NVIDIA drivers (version 550)
98
+ - Configures Docker with NVIDIA Container Toolkit
99
+ - Sets up GPU runtime for containers
100
+
101
+ ### 3. Container Deployment
102
+ Once the VM is ready:
103
+ - Docker daemon is configured for GPU access
104
+ - midjourney-worker container is pulled and started
105
+ - GPU acceleration is enabled via `--gpus all` flag
106
+
107
+ ### 4. Service Configuration
108
+ The container runs with:
109
+ - Port 8080 exposed
110
+ - Automatic restart on failure
111
+ - GPU memory access
112
+ - CUDA runtime support
113
+
114
+ ## Performance Specifications
115
+
116
+ ### Hardware
117
+ - **GPU**: NVIDIA A100-SXM4-40GB
118
+ - **GPU Memory**: 40GB HBM2e
119
+ - **CUDA Cores**: 6,912
120
+ - **Tensor Cores**: 432
121
+ - **Memory Bandwidth**: 1,555 GB/s
122
+ - **CPU**: 12 vCPUs (AMD EPYC)
123
+ - **RAM**: 85GB
124
+
125
+ ### Expected Performance
126
+ - **YOLO Training**: ~10-50x faster than CPU
127
+ - **Image Processing**: ~20-100x faster than CPU
128
+ - **Memory Usage**: 0-40GB depending on model size
129
+ - **Power Consumption**: 45-400W depending on load
130
+
131
+ ## Monitoring and Troubleshooting
132
+
133
+ ### Check GPU Status
134
+ ```bash
135
+ # SSH into VM and run
136
+ nvidia-smi
137
+ ```
138
+
139
+ ### View Container Logs
140
+ ```bash
141
+ # From local machine
142
+ npm run gpu-vm-ssh
143
+ # Then inside VM
144
+ sudo docker logs midjourney-worker-gpu
145
+ ```
146
+
147
+ ### Common Issues
148
+
149
+ #### 1. Authentication Errors
150
+ ```
151
+ Error: denied: Unauthenticated request
152
+ ```
153
+ **Solution**: Ensure service account has Artifact Registry permissions
154
+
155
+ #### 2. GPU Not Detected
156
+ ```
157
+ nvidia-smi: command not found
158
+ ```
159
+ **Solution**: Wait for startup script completion (5-10 minutes)
160
+
161
+ #### 3. Container Won't Start
162
+ ```
163
+ docker: Error response from daemon: could not select device driver
164
+ ```
165
+ **Solution**: Restart Docker daemon after NVIDIA driver installation
166
+
167
+ #### 4. Out of Memory
168
+ ```
169
+ CUDA out of memory
170
+ ```
171
+ **Solution**: Reduce batch size or use mixed precision training
172
+
173
+ ### Startup Script Logs
174
+ ```bash
175
+ # View startup script progress
176
+ npm run gpu-vm-logs
177
+ ```
178
+
179
+ ## Cost Optimization
180
+
181
+ ### VM Pricing (us-central1-f)
182
+ - **A100 GPU**: $2.93/hour
183
+ - **vCPUs**: $0.034/hour × 12 = $0.408/hour
184
+ - **RAM**: $0.0048/hour × 85GB = $0.408/hour
185
+ - **Disk**: $0.040/hour × 400GB = $0.016/hour
186
+ - **Total**: ~$3.75/hour
187
+
188
+ ### Usage Tips
189
+ - Stop VM when not in use: `npm run gpu-vm-stop`
190
+ - Use preemptible instances for cost savings (if acceptable)
191
+ - Monitor usage with `nvidia-smi` to optimize workloads
192
+
193
+ ## Security Considerations
194
+
195
+ ### Network Security
196
+ - VM is accessible via SSH with gcloud authentication
197
+ - Container registry access requires service account authentication
198
+ - No public IP by default (access via gcloud proxy)
199
+
200
+ ### Service Account Permissions
201
+ Required permissions:
202
+ - `compute.instances.*`
203
+ - `artifactregistry.repositories.downloadArtifacts`
204
+ - `storage.objects.get` (for data access)
205
+
206
+ ## Advanced Configuration
207
+
208
+ ### Custom Startup Script
209
+ Modify `gpu-startup.sh` for additional setup:
210
+ ```bash
211
+ # Add custom packages
212
+ apt install -y python3-pip
213
+ pip install torch torchvision torchaudio
214
+
215
+ # Mount additional disks
216
+ # Configure monitoring
217
+ # Set up logging
218
+ ```
219
+
220
+ ### Environment Variables
221
+ ```bash
222
+ # Inside container
223
+ export CUDA_VISIBLE_DEVICES=0
224
+ export TORCH_USE_CUDA_DSA=1
225
+ ```
226
+
227
+ ### GPU Memory Management
228
+ ```python
229
+ # In Python code
230
+ torch.cuda.set_per_process_memory_fraction(0.8) # Use 80% of GPU memory
231
+ torch.cuda.empty_cache() # Clear cache when needed
232
+ ```
233
+
234
+ ## Integration with Existing Workflows
235
+
236
+ ### YOLO Training Integration
237
+ The GPU VM is optimized for YOLO model training:
238
+ - Automatic GPU detection
239
+ - Mixed precision support
240
+ - Batch size optimization
241
+ - Multi-GPU support (if scaled)
242
+
243
+ ### API Access
244
+ Once deployed, access the service at:
245
+ ```
246
+ http://[VM_EXTERNAL_IP]:8080
247
+ ```
248
+
249
+ ### Data Pipeline
250
+ - Upload training data to Google Cloud Storage
251
+ - Mount GCS buckets in container
252
+ - Process data with GPU acceleration
253
+
254
+ ## Support and Maintenance
255
+
256
+ ### Regular Maintenance
257
+ ```bash
258
+ # Update NVIDIA drivers
259
+ sudo ubuntu-drivers autoinstall
260
+
261
+ # Update Docker
262
+ sudo apt update && sudo apt upgrade docker-ce
263
+
264
+ # Restart services
265
+ sudo systemctl restart docker
266
+ ```
267
+
268
+ ### Backup Strategy
269
+ - Container images stored in Artifact Registry
270
+ - Training data in Cloud Storage
271
+ - VM disks can be snapshotted
272
+
273
+ ### Monitoring
274
+ - Use `nvidia-smi` for GPU monitoring
275
+ - Docker stats for container performance
276
+ - Cloud Monitoring for VM metrics
277
+
278
+ ## Troubleshooting Checklist
279
+
280
+ 1. **VM won't start**: Check quota limits and billing
281
+ 2. **GPU not available**: Wait for startup script completion
282
+ 3. **Container fails**: Check authentication and image availability
283
+ 4. **Performance issues**: Monitor GPU utilization and memory usage
284
+ 5. **Network issues**: Verify firewall rules and service account permissions
285
+
286
+ ## Future Enhancements
287
+
288
+ ### Planned Features
289
+ - Auto-scaling based on workload
290
+ - Multi-GPU support
291
+ - Cost optimization with spot instances
292
+ - Integration with Vertex AI
293
+ - Automated backup and recovery
294
+
295
+ ### Performance Optimizations
296
+ - TensorRT integration
297
+ - Mixed precision training
298
+ - GPU memory optimization
299
+ - Distributed training support
300
+
301
+ ---
302
+
303
+ ## Quick Reference
304
+
305
+ ### Deploy Everything
306
+ ```bash
307
+ npm run deploy-gpu-vm
308
+ ```
309
+
310
+ ### Check Everything is Working
311
+ ```bash
312
+ npm run gpu-vm-status
313
+ npm run gpu-vm-ssh
314
+ nvidia-smi
315
+ sudo docker ps
316
+ ```
317
+
318
+ ### Clean Up
319
+ ```bash
320
+ npm run gpu-vm-stop # When done
321
+ npm run gpu-vm-delete # When finished
322
+ ```
323
+
324
+ For additional support, check the startup script logs or contact the development team.
@@ -0,0 +1,174 @@
1
+ # Google Cloud Ops Agent Integration
2
+
3
+ ## Overview
4
+ The Google Cloud Ops Agent has been integrated into your startup script (`start.sh`) to provide comprehensive monitoring and logging for your VM.
5
+
6
+ ## What It Monitors
7
+
8
+ ### System Metrics
9
+ - **CPU utilization** (per core and overall)
10
+ - **Memory usage** (RAM, swap)
11
+ - **Disk I/O** (read/write operations, latency)
12
+ - **Network traffic** (bytes in/out, packets)
13
+ - **GPU metrics** (if GPU present - utilization, memory, temperature)
14
+
15
+ ### System Logs
16
+ - **Syslog** (`/var/log/syslog`)
17
+ - **Authentication logs** (`/var/log/auth.log`)
18
+ - **Kernel messages** (`/var/log/kern.log`)
19
+ - **Application logs** (configurable)
20
+
21
+ ### Process Metrics
22
+ - **Process count and status**
23
+ - **Resource usage per process**
24
+ - **Custom application metrics** (can be added)
25
+
26
+ ## Integration Details
27
+
28
+ ### Automatic Installation Process
29
+ The Ops Agent installation in `start.sh` follows this robust logic:
30
+
31
+ 1. **Check Status**: Verify if Ops Agent is already installed and running
32
+ 2. **Start if Stopped**: If installed but not running, attempt to restart it
33
+ 3. **Install if Missing**: If not installed, download and install the latest version
34
+ 4. **Verify Installation**: Confirm the agent is working after installation
35
+ 5. **Continue Always**: Your application starts regardless of Ops Agent status
36
+
37
+ ### Benefits
38
+ - ✅ **Always Available**: Installs automatically every time your VM starts
39
+ - ✅ **Self-Healing**: Restarts the agent if it's stopped
40
+ - ✅ **Non-Blocking**: Your app continues even if monitoring fails
41
+ - ✅ **Latest Version**: Always installs the most recent Ops Agent
42
+ - ✅ **Cross-Platform**: Works on Ubuntu/Debian and CentOS/RHEL
43
+
44
+ ### Error Handling
45
+ - Installation failures don't stop your application startup
46
+ - Graceful fallback if Ops Agent is unavailable
47
+ - Detailed logging of installation process
48
+ - Automatic retry mechanisms
49
+
50
+ ## Verification
51
+
52
+ ### Check Ops Agent Status
53
+ Run the verification script:
54
+ ```bash
55
+ ./check-ops-agent.sh
56
+ ```
57
+
58
+ This will show:
59
+ - Service status
60
+ - Configuration files
61
+ - Recent log entries
62
+ - What metrics are being collected
63
+
64
+ ### Cloud Monitoring Console
65
+ View metrics in Google Cloud Console:
66
+ 1. Go to **Cloud Monitoring** > **Metrics Explorer**
67
+ 2. Filter by your VM instance
68
+ 3. Look for metrics like:
69
+ - `compute.googleapis.com/instance/cpu/utilization`
70
+ - `compute.googleapis.com/instance/memory/balloon/ram_used`
71
+ - `compute.googleapis.com/instance/disk/read_bytes_count`
72
+
73
+ ## Manual Installation (If Needed)
74
+
75
+ If you need to manually install or reinstall the Ops Agent:
76
+
77
+ ```bash
78
+ # Run the manual installer (recommended)
79
+ ./install-ops-agent.sh
80
+
81
+ # Or use the direct Google method
82
+ curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
83
+ sudo bash add-google-cloud-ops-agent-repo.sh --also-install
84
+ ```
85
+
86
+ The manual installer script (`install-ops-agent.sh`) provides:
87
+ - Interactive prompts and status checks
88
+ - Automatic OS detection
89
+ - Service restart capabilities
90
+ - Comprehensive verification
91
+ - Better error handling than the direct method
92
+
93
+ ## Custom Configuration
94
+
95
+ ### Adding Application Logs
96
+ Edit `/etc/google-cloud-ops-agent/config.yaml` to add custom log collection:
97
+ ```yaml
98
+ logging:
99
+ receivers:
100
+ my-app:
101
+ type: files
102
+ include_paths:
103
+ - /var/log/app/*.log
104
+ record_log_file_path: true
105
+ service:
106
+ pipelines:
107
+ my-app-logs:
108
+ receivers: [my-app]
109
+ ```
110
+
111
+ ### Custom Metrics
112
+ Add Prometheus-style metrics collection:
113
+ ```yaml
114
+ metrics:
115
+ receivers:
116
+ prometheus:
117
+ type: prometheus
118
+ config:
119
+ scrape_configs:
120
+ - job_name: 'my-app'
121
+ static_configs:
122
+ - targets: ['localhost:8080']
123
+ service:
124
+ pipelines:
125
+ prometheus:
126
+ receivers: [prometheus]
127
+ ```
128
+
129
+ ## Troubleshooting
130
+
131
+ ### Ops Agent Not Starting
132
+ ```bash
133
+ # Check service status
134
+ sudo systemctl status google-cloud-ops-agent
135
+
136
+ # View logs
137
+ sudo journalctl -u google-cloud-ops-agent -f
138
+
139
+ # Restart service
140
+ sudo systemctl restart google-cloud-ops-agent
141
+ ```
142
+
143
+ ### Metrics Not Appearing
144
+ - Wait 5-10 minutes after installation
145
+ - Check VM has proper IAM permissions for Monitoring
146
+ - Verify Ops Agent service is running
147
+ - Check `/var/log/google-cloud-ops-agent/` for errors
148
+
149
+ ### High Resource Usage
150
+ The Ops Agent is lightweight but you can adjust collection intervals in the config file if needed.
151
+
152
+ ## Files Overview
153
+
154
+ - **`start.sh`**: Main startup script with automatic Ops Agent installation
155
+ - **`check-ops-agent.sh`**: Comprehensive verification script
156
+ - **`install-ops-agent.sh`**: Manual installation/reinstallation script
157
+ - **`/etc/google-cloud-ops-agent/config.yaml`**: Ops Agent configuration file
158
+ - **`/var/log/google-cloud-ops-agent/`**: Ops Agent log files
159
+
160
+ ## Benefits
161
+
162
+ ✅ **Automatic monitoring** - No manual setup required
163
+ ✅ **Comprehensive coverage** - System, GPU, and application metrics
164
+ ✅ **Cloud integration** - Direct integration with Cloud Monitoring
165
+ ✅ **Alerting ready** - Set up alerts on metrics thresholds
166
+ ✅ **Historical data** - Metrics retained for analysis
167
+ ✅ **Multi-environment** - Works across dev, staging, and production
168
+
169
+ ## Next Steps
170
+
171
+ 1. **Set up alerts** in Cloud Monitoring for critical metrics
172
+ 2. **Create dashboards** for your key performance indicators
173
+ 3. **Configure log-based metrics** for application-specific monitoring
174
+ 4. **Set up uptime checks** for your application endpoints