flow-frame-core 0.1.0 → 0.1.6

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 (237) hide show
  1. package/dist/browerRoutes.d.ts.map +1 -1
  2. package/dist/browerRoutes.js.map +1 -1
  3. package/dist/browser-utils/utils.d.ts.map +1 -1
  4. package/dist/browser-utils/utils.js +1 -0
  5. package/dist/browser-utils/utils.js.map +1 -1
  6. package/dist/controllers/browserController.d.ts +28 -0
  7. package/dist/controllers/browserController.d.ts.map +1 -0
  8. package/dist/controllers/browserController.js +45 -0
  9. package/dist/controllers/browserController.js.map +1 -0
  10. package/dist/controllers/extensionController.d.ts +39 -0
  11. package/dist/controllers/extensionController.d.ts.map +1 -0
  12. package/dist/controllers/extensionController.js +29 -0
  13. package/dist/controllers/extensionController.js.map +1 -0
  14. package/dist/controllers/promptController.d.ts +22 -0
  15. package/dist/controllers/promptController.d.ts.map +1 -0
  16. package/dist/controllers/promptController.js +59 -0
  17. package/dist/controllers/promptController.js.map +1 -0
  18. package/dist/controllers/promptLibraryController.d.ts +16 -0
  19. package/dist/controllers/promptLibraryController.d.ts.map +1 -0
  20. package/dist/controllers/promptLibraryController.js +60 -0
  21. package/dist/controllers/promptLibraryController.js.map +1 -0
  22. package/dist/controllers/standardController.d.ts +38 -0
  23. package/dist/controllers/standardController.d.ts.map +1 -0
  24. package/dist/controllers/standardController.js +79 -0
  25. package/dist/controllers/standardController.js.map +1 -0
  26. package/dist/controllers/workflowController.d.ts +19 -0
  27. package/dist/controllers/workflowController.d.ts.map +1 -0
  28. package/dist/controllers/workflowController.js +94 -0
  29. package/dist/controllers/workflowController.js.map +1 -0
  30. package/dist/filter-gmail-poller/filter-gmail-poller.d.ts.map +1 -1
  31. package/dist/filter-gmail-poller/filter-gmail-poller.js +1 -0
  32. package/dist/filter-gmail-poller/filter-gmail-poller.js.map +1 -1
  33. package/dist/index.d.ts +8 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +46 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/operations/blender-ops.d.ts.map +1 -1
  38. package/dist/operations/blender-ops.js +0 -1
  39. package/dist/operations/blender-ops.js.map +1 -1
  40. package/dist/operations.d.ts +1 -1
  41. package/dist/operations.d.ts.map +1 -1
  42. package/dist/operations.js +1 -0
  43. package/dist/operations.js.map +1 -1
  44. package/dist/process.d.ts.map +1 -1
  45. package/dist/process.js +1 -0
  46. package/dist/process.js.map +1 -1
  47. package/dist/server.js +32 -1
  48. package/dist/services/audioService.js.map +1 -1
  49. package/dist/services/autoPromptOptimizer.d.ts.map +1 -1
  50. package/dist/services/autoPromptOptimizer.js +1 -0
  51. package/dist/services/autoPromptOptimizer.js.map +1 -1
  52. package/dist/services/chainExecutor.d.ts +2 -1
  53. package/dist/services/chainExecutor.d.ts.map +1 -1
  54. package/dist/services/chainExecutor.js +105 -129
  55. package/dist/services/chainExecutor.js.map +1 -1
  56. package/dist/services/configuration/executor.d.ts.map +1 -1
  57. package/dist/services/configuration/executor.js +1 -0
  58. package/dist/services/configuration/executor.js.map +1 -1
  59. package/dist/services/error.d.ts.map +1 -1
  60. package/dist/services/error.js +1 -0
  61. package/dist/services/error.js.map +1 -1
  62. package/dist/services/executor.d.ts.map +1 -1
  63. package/dist/services/executor.js +110 -51
  64. package/dist/services/executor.js.map +1 -1
  65. package/dist/services/extractPdf.d.ts.map +1 -1
  66. package/dist/services/extractPdf.js +1 -0
  67. package/dist/services/extractPdf.js.map +1 -1
  68. package/dist/services/polyfill_canvas.js +1 -0
  69. package/dist/services/polyfill_canvas.js.map +1 -1
  70. package/dist/services/runPrompt.d.ts +1 -1
  71. package/dist/services/runPrompt.d.ts.map +1 -1
  72. package/dist/services/runPrompt.js +1 -1
  73. package/dist/services/runPrompt.js.map +1 -1
  74. package/dist/services/self-learning/injest.d.ts.map +1 -1
  75. package/dist/services/self-learning/injest.js +1 -0
  76. package/dist/services/self-learning/injest.js.map +1 -1
  77. package/dist/services/self-learning/matcher.d.ts +1 -1
  78. package/dist/services/self-learning/recognize.d.ts.map +1 -1
  79. package/dist/services/self-learning/recognize.js +1 -0
  80. package/dist/services/self-learning/recognize.js.map +1 -1
  81. package/dist/services/stepByStepAiPlanner.d.ts.map +1 -1
  82. package/dist/services/stepByStepAiPlanner.js +1 -0
  83. package/dist/services/stepByStepAiPlanner.js.map +1 -1
  84. package/dist/services/uiMapPathFinder.d.ts.map +1 -1
  85. package/dist/services/uiMapPathFinder.js +1 -0
  86. package/dist/services/uiMapPathFinder.js.map +1 -1
  87. package/dist/services/uiMapService.d.ts.map +1 -1
  88. package/dist/services/uiMapService.js +1 -0
  89. package/dist/services/uiMapService.js.map +1 -1
  90. package/dist/services/uiPlanner.d.ts.map +1 -1
  91. package/dist/services/uiPlanner.js.map +1 -1
  92. package/dist/services/variableGenerator.d.ts +1 -1
  93. package/dist/services/variableGenerator.d.ts.map +1 -1
  94. package/dist/services/variableGenerator.js.map +1 -1
  95. package/dist/standardRoutes.d.ts.map +1 -1
  96. package/dist/standardRoutes.js +92 -108
  97. package/dist/standardRoutes.js.map +1 -1
  98. package/dist/storage.d.ts +6 -0
  99. package/dist/storage.d.ts.map +1 -1
  100. package/dist/storage.js +104 -23
  101. package/dist/storage.js.map +1 -1
  102. package/dist/storage.zachary.json +22 -0
  103. package/dist/suno_download.js +1 -1
  104. package/dist/suno_download.js.map +1 -1
  105. package/dist/utils.d.ts +8 -12
  106. package/dist/utils.d.ts.map +1 -1
  107. package/dist/utils.js +30 -1
  108. package/dist/utils.js.map +1 -1
  109. package/dist/workflowRoutes.d.ts.map +1 -1
  110. package/dist/workflowRoutes.js +28 -60
  111. package/dist/workflowRoutes.js.map +1 -1
  112. package/package.json +2 -2
  113. package/dist/augment-parallel.d.ts +0 -6
  114. package/dist/augment-parallel.d.ts.map +0 -1
  115. package/dist/augment-parallel.js +0 -128
  116. package/dist/augment-parallel.js.map +0 -1
  117. package/dist/augment-worker.d.ts +0 -2
  118. package/dist/augment-worker.d.ts.map +0 -1
  119. package/dist/augment-worker.js +0 -100
  120. package/dist/augment-worker.js.map +0 -1
  121. package/dist/capture_training_data_endpoints.d.ts +0 -158
  122. package/dist/capture_training_data_endpoints.d.ts.map +0 -1
  123. package/dist/capture_training_data_endpoints.js +0 -1812
  124. package/dist/capture_training_data_endpoints.js.map +0 -1
  125. package/dist/download.d.ts +0 -11
  126. package/dist/download.d.ts.map +0 -1
  127. package/dist/download.js +0 -31
  128. package/dist/download.js.map +0 -1
  129. package/dist/extension/background.d.ts +0 -2
  130. package/dist/extension/background.d.ts.map +0 -1
  131. package/dist/extension/background.js +0 -268
  132. package/dist/extension/background.js.map +0 -1
  133. package/dist/filter-gmail-poller/demo.d.ts +0 -2
  134. package/dist/filter-gmail-poller/demo.d.ts.map +0 -1
  135. package/dist/filter-gmail-poller/demo.js +0 -79
  136. package/dist/filter-gmail-poller/demo.js.map +0 -1
  137. package/dist/filter-gmail-poller/example-existing-app.d.ts +0 -2
  138. package/dist/filter-gmail-poller/example-existing-app.d.ts.map +0 -1
  139. package/dist/filter-gmail-poller/example-existing-app.js +0 -72
  140. package/dist/filter-gmail-poller/example-existing-app.js.map +0 -1
  141. package/dist/filter-gmail-poller/index.d.ts +0 -3
  142. package/dist/filter-gmail-poller/index.d.ts.map +0 -1
  143. package/dist/filter-gmail-poller/index.js +0 -18
  144. package/dist/filter-gmail-poller/index.js.map +0 -1
  145. package/dist/filter-gmail-poller/manual-test.d.ts +0 -2
  146. package/dist/filter-gmail-poller/manual-test.d.ts.map +0 -1
  147. package/dist/filter-gmail-poller/manual-test.js +0 -70
  148. package/dist/filter-gmail-poller/manual-test.js.map +0 -1
  149. package/dist/filter-gmail-poller/test.js +0 -69
  150. package/dist/gmail-poller/example.d.ts +0 -5
  151. package/dist/gmail-poller/example.d.ts.map +0 -1
  152. package/dist/gmail-poller/example.js +0 -83
  153. package/dist/gmail-poller/example.js.map +0 -1
  154. package/dist/gmail-poller/gmail-poller.d.ts +0 -82
  155. package/dist/gmail-poller/gmail-poller.d.ts.map +0 -1
  156. package/dist/gmail-poller/gmail-poller.js +0 -455
  157. package/dist/gmail-poller/gmail-poller.js.map +0 -1
  158. package/dist/gmail-poller/manual-test.d.ts +0 -2
  159. package/dist/gmail-poller/manual-test.d.ts.map +0 -1
  160. package/dist/gmail-poller/manual-test.js +0 -37
  161. package/dist/gmail-poller/manual-test.js.map +0 -1
  162. package/dist/gmail-poller/microsoft-email-example.d.ts +0 -8
  163. package/dist/gmail-poller/microsoft-email-example.d.ts.map +0 -1
  164. package/dist/gmail-poller/microsoft-email-example.js +0 -58
  165. package/dist/gmail-poller/microsoft-email-example.js.map +0 -1
  166. package/dist/gmail-poller/microsoft-email-poller.d.ts +0 -73
  167. package/dist/gmail-poller/microsoft-email-poller.d.ts.map +0 -1
  168. package/dist/gmail-poller/microsoft-email-poller.js +0 -346
  169. package/dist/gmail-poller/microsoft-email-poller.js.map +0 -1
  170. package/dist/gmail-poller/setup-auth.d.ts +0 -3
  171. package/dist/gmail-poller/setup-auth.d.ts.map +0 -1
  172. package/dist/gmail-poller/setup-auth.js +0 -36
  173. package/dist/gmail-poller/setup-auth.js.map +0 -1
  174. package/dist/gmail-poller/test.js +0 -36
  175. package/dist/inference/augment_levels.d.ts +0 -2
  176. package/dist/inference/augment_levels.d.ts.map +0 -1
  177. package/dist/inference/augment_levels.js.map +0 -1
  178. package/dist/inference/capture-overlay.d.ts +0 -13
  179. package/dist/inference/capture-overlay.d.ts.map +0 -1
  180. package/dist/inference/capture-overlay.js +0 -355
  181. package/dist/inference/capture-overlay.js.map +0 -1
  182. package/dist/playparser.d.ts +0 -2
  183. package/dist/playparser.d.ts.map +0 -1
  184. package/dist/playparser.js +0 -281
  185. package/dist/playparser.js.map +0 -1
  186. package/dist/services/agenticUiPlanner.d.ts +0 -27
  187. package/dist/services/agenticUiPlanner.d.ts.map +0 -1
  188. package/dist/services/agenticUiPlanner.js +0 -161
  189. package/dist/services/agenticUiPlanner.js.map +0 -1
  190. package/dist/services/autoPromptOptimizer.manual-test.d.ts +0 -2
  191. package/dist/services/autoPromptOptimizer.manual-test.d.ts.map +0 -1
  192. package/dist/services/autoPromptOptimizer.manual-test.js +0 -27
  193. package/dist/services/autoPromptOptimizer.manual-test.js.map +0 -1
  194. package/dist/services/generateJsTransformFromPrompt.d.ts +0 -11
  195. package/dist/services/generateJsTransformFromPrompt.d.ts.map +0 -1
  196. package/dist/services/generateJsTransformFromPrompt.js +0 -328
  197. package/dist/services/generateJsTransformFromPrompt.js.map +0 -1
  198. package/dist/services/promptRoutes.d.ts +0 -7
  199. package/dist/services/promptRoutes.d.ts.map +0 -1
  200. package/dist/services/promptRoutes.js.map +0 -1
  201. package/dist/services/schemaInference.d.ts +0 -2
  202. package/dist/services/schemaInference.d.ts.map +0 -1
  203. package/dist/services/schemaInference.js +0 -17
  204. package/dist/services/schemaInference.js.map +0 -1
  205. package/dist/services/self-learning/autolearn.d.ts +0 -23
  206. package/dist/services/self-learning/autolearn.d.ts.map +0 -1
  207. package/dist/services/self-learning/autolearn.js +0 -308
  208. package/dist/services/self-learning/autolearn.js.map +0 -1
  209. package/dist/services/self-learning/learn.d.ts +0 -2
  210. package/dist/services/self-learning/learn.d.ts.map +0 -1
  211. package/dist/services/self-learning/learn.js +0 -145
  212. package/dist/services/self-learning/learn.js.map +0 -1
  213. package/dist/services/self-learning/schemaStrictify.d.ts +0 -2
  214. package/dist/services/self-learning/schemaStrictify.d.ts.map +0 -1
  215. package/dist/services/self-learning/schemaStrictify.js +0 -34
  216. package/dist/services/self-learning/schemaStrictify.js.map +0 -1
  217. package/dist/services/self-learning/transition_graph.d.ts +0 -6
  218. package/dist/services/self-learning/transition_graph.d.ts.map +0 -1
  219. package/dist/services/self-learning/transition_graph.js +0 -83
  220. package/dist/services/self-learning/transition_graph.js.map +0 -1
  221. package/dist/services/test-genjs.js +0 -39
  222. package/dist/services/test-genjs.manual-test.d.ts +0 -2
  223. package/dist/services/test-genjs.manual-test.d.ts.map +0 -1
  224. package/dist/services/test-genjs.manual-test.js +0 -40
  225. package/dist/services/test-genjs.manual-test.js.map +0 -1
  226. package/dist/test-web-element-requests.d.ts +0 -6
  227. package/dist/test-web-element-requests.d.ts.map +0 -1
  228. package/dist/test-web-element-requests.js +0 -114
  229. package/dist/test-web-element-requests.js.map +0 -1
  230. package/dist/test_pdf_render.d.ts +0 -2
  231. package/dist/test_pdf_render.d.ts.map +0 -1
  232. package/dist/test_pdf_render.js +0 -50
  233. package/dist/test_pdf_render.js.map +0 -1
  234. package/dist/web-element-requests.d.ts +0 -102
  235. package/dist/web-element-requests.d.ts.map +0 -1
  236. package/dist/web-element-requests.js +0 -278
  237. package/dist/web-element-requests.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"playparser.js","sourceRoot":"","sources":["../src/playparser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,SAAS,SAAS,CAAC,KAAK;IACpB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnC,MAAM,IAAI,GAAG;QACT,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,EAAE;KACX,CAAC;IAEF,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,0FAA0F;IAC1F,SAAS,aAAa;QAClB,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY;YAAE,OAAO;QAC3C,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,YAAY,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,uBAAuB;IACvB,KAAK,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAE5B,mBAAmB;QACnB,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAE1B,iEAAiE;QACjE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,SAAS;QACb,CAAC;QAED,mGAAmG;QACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC5E,IAAI,QAAQ,EAAE,CAAC;YACX,sCAAsC;YACtC,aAAa,EAAE,CAAC;YAEhB,kBAAkB;YAClB,UAAU,GAAG;gBACT,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAQ,sBAAsB;gBAChD,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAI,sBAAsB;gBAChD,MAAM,EAAE,EAAE;aACb,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE3B,oDAAoD;YACpD,YAAY,GAAG;gBACX,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAClB,MAAM,EAAE,EAAE;aACb,CAAC;YACF,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,SAAS;QACb,CAAC;QAED,oFAAoF;QACpF,6FAA6F;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClE,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;YAEhB,YAAY,GAAG;gBACX,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,EAAE;aACb,CAAC;YACF,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACrC,SAAS;QACb,CAAC;QAED,iHAAiH;QACjH,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpF,IAAI,cAAc,IAAI,YAAY,EAAE,CAAC;YACjC,2BAA2B;YAC3B,aAAa,EAAE,CAAC;YAEhB,YAAY,GAAG;gBACX,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;aACb,CAAC;YACF,4CAA4C;YAC5C,aAAa,EAAE,CAAC;YAChB,SAAS;QACb,CAAC;QAED,oFAAoF;QACpF,2EAA2E;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxE,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YAC9B,yEAAyE;YACzE,aAAa,EAAE,CAAC;YAEhB,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAE5B,YAAY,GAAG;gBACX,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,CAAC,IAAI,CAAC;aAChB,CAAC;YACF,SAAS;QACb,CAAC;QAED,uEAAuE;QACvE,kDAAkD;QAClD,qDAAqD;QACrD,IAAI,YAAY,EAAE,CAAC;YACf,6CAA6C;YAC7C,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACjC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YACD,kHAAkH;YAClH,SAAS;QACb,CAAC;QAED,4GAA4G;QAC5G,IAAI,YAAY,EAAE,CAAC;YACf,YAAY,GAAG;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI;aACb,CAAC;YACF,aAAa,EAAE,CAAC;QACpB,CAAC;IACL,CAAC;IAED,8CAA8C;IAC9C,aAAa,EAAE,CAAC;IAEhB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,iBAAiB;AACjB,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8Jb,CAAC;AAEJ,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import { UiPlanner } from './uiPlanner.js';
2
- export declare class AgenticUiPlanner extends UiPlanner {
3
- /**
4
- * @param {Object} uiMap
5
- * @param {UiMapPathFinder} pathFinder
6
- * @param {Object} macroRegistry
7
- * @param {Array} automationFiles
8
- */
9
- constructor(uiMap: any, pathFinder: any, macroRegistry?: {}, automationFiles?: any[]);
10
- /**
11
- * Iteratively plans and executes steps to achieve the goal.
12
- * @param {string} request - User request.
13
- * @param {string} startStateId - Initial state.
14
- * @param {Object} context - Execution context.
15
- * @param {Object} executor - Interface to execute actions and perceive state.
16
- * @param {Function} executor.executeAction - (step) => Promise<result>
17
- * @param {Function} executor.captureScreen - () => Promise<base64Image>
18
- * @param {string} model - LLM model.
19
- */
20
- run(request: any, startStateId: any, context: any, executor: any, model?: string): Promise<{
21
- success: boolean;
22
- history: any[];
23
- }>;
24
- _decideNextStep(request: any, currentStateId: any, history: any, screenImage: any, context: any, model: any): Promise<any>;
25
- _getAvailableFieldsForState(stateId: any): any;
26
- }
27
- //# sourceMappingURL=agenticUiPlanner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agenticUiPlanner.d.ts","sourceRoot":"","sources":["../../src/services/agenticUiPlanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C;;;;;OAKG;gBACS,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,aAAa,KAAK,EAAE,eAAe,QAAK;IAIvE;;;;;;;;;OASG;IACG,GAAG,CAAC,OAAO,KAAA,EAAE,YAAY,KAAA,EAAE,OAAO,KAAA,EAAE,QAAQ,KAAA,EAAE,KAAK,SAAuB;;;;IA6F1E,eAAe,CAAC,OAAO,KAAA,EAAE,cAAc,KAAA,EAAE,OAAO,KAAA,EAAE,WAAW,KAAA,EAAE,OAAO,KAAA,EAAE,KAAK,KAAA;IA+DnF,2BAA2B,CAAC,OAAO,KAAA;CAYpC"}
@@ -1,161 +0,0 @@
1
- import { UiPlanner } from './uiPlanner.js';
2
- import { runPrompt, processLLMResponse } from './runPrompt.js';
3
- export class AgenticUiPlanner extends UiPlanner {
4
- /**
5
- * @param {Object} uiMap
6
- * @param {UiMapPathFinder} pathFinder
7
- * @param {Object} macroRegistry
8
- * @param {Array} automationFiles
9
- */
10
- constructor(uiMap, pathFinder, macroRegistry = {}, automationFiles = []) {
11
- super(uiMap, pathFinder, macroRegistry, automationFiles);
12
- }
13
- /**
14
- * Iteratively plans and executes steps to achieve the goal.
15
- * @param {string} request - User request.
16
- * @param {string} startStateId - Initial state.
17
- * @param {Object} context - Execution context.
18
- * @param {Object} executor - Interface to execute actions and perceive state.
19
- * @param {Function} executor.executeAction - (step) => Promise<result>
20
- * @param {Function} executor.captureScreen - () => Promise<base64Image>
21
- * @param {string} model - LLM model.
22
- */
23
- async run(request, startStateId, context, executor, model = 'gpt-5.2-2025-12-11') {
24
- let currentStateId = startStateId;
25
- let history = [];
26
- let taskComplete = false;
27
- const maxSteps = 30;
28
- let stepCount = 0;
29
- console.log(`[AgenticUiPlanner] Starting task: "${request}" from state: ${currentStateId}`);
30
- while (!taskComplete && stepCount < maxSteps) {
31
- // 1. Perceive
32
- let screenImage = null;
33
- try {
34
- screenImage = await executor.captureScreen();
35
- }
36
- catch (e) {
37
- console.warn("[AgenticUiPlanner] Failed to capture screen:", e);
38
- }
39
- // 2. Plan Next Step
40
- const decision = await this._decideNextStep(request, currentStateId, history, screenImage, context, model);
41
- if (decision.done) {
42
- console.log("[AgenticUiPlanner] Agent decided task is complete.");
43
- console.log("Reason:", decision.reason);
44
- taskComplete = true;
45
- break;
46
- }
47
- const stepDef = decision.step;
48
- if (!stepDef) {
49
- console.warn("[AgenticUiPlanner] Agent returned no step and not done. Aborting.");
50
- break;
51
- }
52
- console.log(`[AgenticUiPlanner] Agent decided to: ${stepDef.kind} -> ${stepDef.field || stepDef.target || stepDef.label}`);
53
- // 3. Compile to Executable Steps
54
- // We wrap the single step in a "goal" structure to reuse UiPlanner.compile
55
- const miniGoal = { steps: [stepDef] };
56
- // We use generatePlan to resolve target states and paths
57
- const planOps = this.generatePlan(miniGoal, currentStateId);
58
- // Compile into low-level steps (clicks, types, etc.)
59
- const compiled = this.compile(planOps, currentStateId);
60
- if (compiled.steps.length === 0) {
61
- console.warn("[AgenticUiPlanner] No executable steps generated for operation. Trying to force execution or skip.");
62
- // If it's a wait or check, maybe we just proceed?
63
- history.push({ step: stepDef, status: 'skipped', reason: 'no_low_level_steps' });
64
- }
65
- // 4. Execute
66
- for (const exeStep of compiled.steps) {
67
- console.log(`[AgenticUiPlanner] Executing low-level step: ${exeStep.description}`);
68
- try {
69
- await executor.executeAction(exeStep);
70
- }
71
- catch (err) {
72
- console.error(`[AgenticUiPlanner] Execution failed: ${err.message}`);
73
- history.push({ step: stepDef, status: 'failed', error: err.message });
74
- // Allow the agent to see the failure in the next iteration's history
75
- continue;
76
- }
77
- }
78
- // 5. Update State & History
79
- // We optimistically update the state if the planner thinks we moved.
80
- // In a real agent, we might verify this with the screen in the next loop.
81
- if (stepDef.kind === 'navigate') {
82
- currentStateId = stepDef.target;
83
- }
84
- else if (stepDef.targetStateId) {
85
- currentStateId = stepDef.targetStateId;
86
- }
87
- else {
88
- // If we didn't explicitly navigate, check if the compiled steps moved us
89
- // The compile() method updates 'currentState' internally, but doesn't return it.
90
- // We can infer it from the last step's location if available, or just trust the op.
91
- // For now, we keep currentStateId unless the op was a navigation.
92
- }
93
- history.push({ step: stepDef, status: 'success', stateAfter: currentStateId });
94
- stepCount++;
95
- }
96
- return { success: taskComplete, history };
97
- }
98
- async _decideNextStep(request, currentStateId, history, screenImage, context, model) {
99
- const knownFields = this._getAvailableFieldsForState(currentStateId);
100
- const allStates = Object.keys(this.uiMap.states);
101
- const historyStr = history.map((h, i) => `${i + 1}. ${h.step.kind} ${h.step.field || h.step.target || h.step.label} (${h.status})`).join('\n');
102
- const systemPrompt = `
103
- You are an intelligent UI Automation Agent.
104
- Your goal is to fulfill the USER REQUEST by executing a series of steps.
105
- You are currently at state: "${currentStateId}".
106
-
107
- AVAILABLE FIELDS in current state:
108
- ${knownFields.join(', ')}
109
-
110
- ALL STATES (for navigation):
111
- ${allStates.join(', ')}
112
-
113
- HISTORY:
114
- ${historyStr}
115
-
116
- INSTRUCTIONS:
117
- 1. Analyze the USER REQUEST and the HISTORY.
118
- 2. Look at the SCREENSHOT (if provided) to verify the current state and identify elements.
119
- 3. Decide the SINGLE NEXT STEP to take.
120
- 4. If the request is fully satisfied, set "done": true.
121
-
122
- OUTPUT SCHEMA:
123
- {
124
- "done": boolean,
125
- "reason": "Why you are done or what you are doing next",
126
- "step": {
127
- "kind": "setField" | "select" | "navigate" | "commit" | "wait",
128
- "field": "string", // For setField, select, wait
129
- "value": "any", // For setField
130
- "target": "string", // For navigate (must be a valid state ID)
131
- "label": "string", // For commit
132
- "condition": "string" // For wait
133
- }
134
- }
135
- `;
136
- const userMessage = `
137
- User Request: "${request}"
138
- Current State: ${currentStateId}
139
- Context: ${JSON.stringify(context)}
140
- `;
141
- const images = screenImage ? [screenImage] : [];
142
- const response = await runPrompt([
143
- { role: 'system', content: systemPrompt },
144
- { role: 'user', content: userMessage }
145
- ], model, images);
146
- return processLLMResponse(response, model, 'openai');
147
- }
148
- _getAvailableFieldsForState(stateId) {
149
- const state = this.uiMap.states[stateId];
150
- if (!state || !state.fields)
151
- return [];
152
- return state.fields.map(f => {
153
- let desc = f.name;
154
- if (f.type === 'wait_area' && f.description) {
155
- desc += ` (Wait Area: ${f.description})`;
156
- }
157
- return desc;
158
- });
159
- }
160
- }
161
- //# sourceMappingURL=agenticUiPlanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agenticUiPlanner.js","sourceRoot":"","sources":["../../src/services/agenticUiPlanner.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=autoPromptOptimizer.manual-test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoPromptOptimizer.manual-test.d.ts","sourceRoot":"","sources":["../../src/services/autoPromptOptimizer.manual-test.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import { runAutoPromptSearch, createTaskConfig, buildDatasetExample } from './autoPromptOptimizer.js';
2
- import dotenv from 'dotenv';
3
- dotenv.config();
4
- async function main() {
5
- const testConfig = createTaskConfig({
6
- name: 'demo_email_extraction',
7
- taskDescription: 'Extract a simple structured meeting request from an email body.',
8
- outputFormatDescription: 'Return a JSON object with keys action, person, and datetime. Output ONLY JSON.',
9
- dataset: [
10
- buildDatasetExample({
11
- id: 'demo-1',
12
- input: 'Hi there, can you schedule a meeting with John next Tuesday at 3pm? Thanks!',
13
- expectedOutput: {
14
- action: 'schedule_meeting',
15
- person: 'John',
16
- datetime: 'next Tuesday 3pm'
17
- }
18
- })
19
- ]
20
- });
21
- await runAutoPromptSearch(testConfig);
22
- }
23
- main().catch((err) => {
24
- console.error('autoPromptOptimizer test run failed:', err);
25
- process.exit(1);
26
- });
27
- //# sourceMappingURL=autoPromptOptimizer.manual-test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"autoPromptOptimizer.manual-test.js","sourceRoot":"","sources":["../../src/services/autoPromptOptimizer.manual-test.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAGhB,KAAK,UAAU,IAAI;IACf,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAChC,IAAI,EAAE,uBAAuB;QAC7B,eAAe,EAAE,iEAAiE;QAClF,uBAAuB,EAAE,gFAAgF;QACzG,OAAO,EAAE;YACL,mBAAmB,CAAC;gBAChB,EAAE,EAAE,QAAQ;gBACZ,KAAK,EAAE,6EAA6E;gBACpF,cAAc,EAAE;oBACZ,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,kBAAkB;iBAC/B;aACJ,CAAC;SACL;KACJ,CAAC,CAAC;IAEH,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- /** ---------- Main: generate + compile with repair loop ---------- */
2
- /** @param {GenOptions} opts */
3
- export declare function generateJsTransformFromPrompt(opts: any): Promise<{
4
- code: string;
5
- tests: string;
6
- notes: any;
7
- plan: any;
8
- attempts: number;
9
- transform: (input: any, ctx?: {}) => Promise<unknown>;
10
- }>;
11
- //# sourceMappingURL=generateJsTransformFromPrompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateJsTransformFromPrompt.d.ts","sourceRoot":"","sources":["../../src/services/generateJsTransformFromPrompt.ts"],"names":[],"mappings":"AA6OA,sEAAsE;AACtE,+BAA+B;AAC/B,wBAAsB,6BAA6B,CAAC,IAAI,KAAA;;;;;;;GAqGvD"}
@@ -1,328 +0,0 @@
1
- // generateJsTransformFromPrompt.js
2
- import Groq from "groq-sdk";
3
- import vm from "node:vm";
4
- import Ajv from "ajv";
5
- import * as nodeAssert from "node:assert";
6
- import dotenv from "dotenv";
7
- // Load environment variables from .env file
8
- dotenv.config();
9
- /** ---------- JSON schema for LLM response (all objects closed) ---------- */
10
- const CodePlanSchemaForGroq = {
11
- type: "object",
12
- additionalProperties: false,
13
- required: ["file"],
14
- properties: {
15
- file: {
16
- type: "object",
17
- additionalProperties: false,
18
- required: ["path", "content"],
19
- properties: {
20
- path: { type: "string" },
21
- content: { type: "string" }
22
- }
23
- },
24
- tests: {
25
- type: "object",
26
- additionalProperties: false,
27
- required: ["path", "content"],
28
- properties: {
29
- path: { type: "string" },
30
- content: { type: "string" }
31
- }
32
- },
33
- notes: { type: "string" }
34
- }
35
- };
36
- /** ---------- Public API types (JSDoc only) ----------
37
- * @typedef {{ input: any, output?: any }} ExamplePair
38
- * @typedef {{
39
- * prompt: string,
40
- * inputSchema?: object|string,
41
- * outputSchema?: object|string,
42
- * examples?: ExamplePair[],
43
- * allowNet?: boolean,
44
- * maxExecMs?: number,
45
- * model?: string,
46
- * retries?: number,
47
- * verbose?: boolean
48
- * }} GenOptions
49
- */
50
- /** ---------- Groq call (structured outputs with fallback) ---------- */
51
- async function groqStructuredCall(basePrompt, schema, model = "meta-llama/llama-4-maverick-17b-128e-instruct") {
52
- const client = new Groq({ apiKey: process.env.GROK_API_KEY });
53
- try {
54
- const res = await client.chat.completions.create({
55
- model,
56
- temperature: 0.1,
57
- response_format: { type: "json_schema", json_schema: { name: "JsCodePlan", schema, strict: true } },
58
- messages: [
59
- { role: "system", content: "Return ONLY a JSON object that satisfies the provided schema." },
60
- { role: "user", content: basePrompt }
61
- ]
62
- });
63
- return res.choices?.[0]?.message?.content ?? "";
64
- }
65
- catch {
66
- // Fallback: plain JSON mode
67
- const res = await client.chat.completions.create({
68
- model,
69
- temperature: 0.1,
70
- response_format: { type: "json_object" },
71
- messages: [
72
- { role: "system", content: "Return ONLY valid JSON. No code fences, no prose." },
73
- { role: "user", content: basePrompt }
74
- ]
75
- });
76
- return res.choices?.[0]?.message?.content ?? "";
77
- }
78
- }
79
- /** ---------- Prompt builder ---------- */
80
- function buildCodeGenPrompt(opts, repairContext) {
81
- const inputSchema = typeof opts.inputSchema === "string"
82
- ? opts.inputSchema
83
- : (opts.inputSchema ? JSON.stringify(opts.inputSchema) : "null");
84
- const outputSchema = typeof opts.outputSchema === "string"
85
- ? opts.outputSchema
86
- : (opts.outputSchema ? JSON.stringify(opts.outputSchema) : "null");
87
- const examples = JSON.stringify(opts.examples ?? []);
88
- return `
89
- You are a senior JavaScript engineer.
90
-
91
- GOAL
92
- Write a single-file JS module that exports a CommonJS transform function to satisfy the user request,
93
- constrained by the input/output schemas when provided.
94
-
95
- CONTRACT
96
- - Export exactly: module.exports = async function transform(input, ctx) { /* ... */ }
97
- - No external imports. Only JS built-ins and ctx.* helpers.
98
- - Must be deterministic and fast (<50ms typical). Avoid randomness and heavy loops.
99
- - If outputSchema is provided, the returned value must conform to it.
100
- - Use only data from "input" and "ctx"; no process/env/fs.
101
-
102
- ENV
103
- - ctx: { log: (...args) => void, now: () => string, helpers?: Record<string, any> }
104
- - ${opts.allowNet ? "ctx.fetch is available for limited network calls." : "No network available (ctx.fetch not provided)."}
105
-
106
- SCHEMAS
107
- inputSchema:
108
- \`\`\`json
109
- ${inputSchema}
110
- \`\`\`
111
-
112
- outputSchema:
113
- \`\`\`json
114
- ${outputSchema}
115
- \`\`\`
116
-
117
- EXAMPLES (may be empty):
118
- \`\`\`json
119
- ${examples}
120
- \`\`\`
121
-
122
- USER PROMPT
123
- """
124
- ${opts.prompt}
125
- """
126
-
127
- RETURN FORMAT (STRICT JSON):
128
- {
129
- "file": { "path": "transform.js", "content": "<JS code string>" },
130
- "tests": { "path": "selftest.js", "content": "<optional test code using ONLY the 'transform' function and built-in assert>" },
131
- "notes": "<brief rationale/assumptions>"
132
- }
133
-
134
- IMPORTANT
135
- - Do NOT return TypeScript. Only plain JavaScript.
136
- - Do NOT use ESM exports. Use: module.exports = async function transform(input, ctx) { ... }.
137
- - Test code MUST use the 'transform' function that is available in global scope - do NOT try to require() or import any files.
138
- - Test code can use assert.deepEqual() or similar built-in assertion methods.
139
- - Example test: (async () => { const result = await transform(input, {}); assert.deepEqual(result, expected); console.log('Tests passed'); })();
140
- ${repairContext ? `
141
-
142
- REPAIR CONTEXT
143
- The last attempt failed. Fix the problems listed below and return a corrected JSON object:
144
- ${repairContext}
145
- ` : ""}
146
- `;
147
- }
148
- /** ---------- Sandbox compiler ---------- */
149
- function compileTransform(code, timeoutMs) {
150
- // guardrails
151
- if (/require\s*\(/.test(code) || /import\s*\(/.test(code)) {
152
- throw new Error("Imports are not allowed in generated code.");
153
- }
154
- if (/\bprocess\./.test(code) || /\bfs\./.test(code)) {
155
- throw new Error("Access to process/fs is not allowed.");
156
- }
157
- const sandbox = {
158
- module: { exports: {} },
159
- exports: {},
160
- console,
161
- setTimeout,
162
- clearTimeout
163
- };
164
- const context = vm.createContext(sandbox, { codeGeneration: { strings: true, wasm: false } });
165
- const script = new vm.Script(code, { filename: "transform.js" });
166
- script.runInContext(context, { timeout: Math.max(50, timeoutMs) });
167
- const fn = sandbox.module?.exports;
168
- if (typeof fn !== "function") {
169
- throw new Error("Module must export a function via module.exports = async function transform(input, ctx) { ... }");
170
- }
171
- return fn;
172
- }
173
- /** ---------- Self-tests runner ---------- */
174
- async function runSelfTests(testsCode, transformFn, timeoutMs) {
175
- const sandbox = {
176
- console,
177
- assert: nodeAssert,
178
- // Provide a minimal require that supports 'assert'
179
- require: (m) => {
180
- if (m === "assert" || m === "node:assert")
181
- return nodeAssert;
182
- throw new Error(`Disallowed require: ${m}`);
183
- },
184
- module: { exports: transformFn },
185
- exports: {},
186
- transform: transformFn
187
- };
188
- const context = vm.createContext(sandbox);
189
- const script = new vm.Script(testsCode, { filename: "selftest.js" });
190
- script.runInContext(context, { timeout: Math.max(200, timeoutMs * 5) });
191
- }
192
- /** ---------- Helpers ---------- */
193
- const ajvLoose = new Ajv({ strict: false, allErrors: true });
194
- const validatePlan = ajvLoose.compile(CodePlanSchemaForGroq);
195
- function extractJson(s) {
196
- const m = s.match(/```json([\s\S]*?)```/i);
197
- if (m)
198
- return m[1].trim();
199
- const i = s.indexOf("{");
200
- const j = s.lastIndexOf("}");
201
- return i >= 0 && j > i ? s.slice(i, j + 1) : s;
202
- }
203
- function truncate(s, n) { return s && s.length > n ? s.slice(0, n) + " …(truncated)" : s; }
204
- function trimForPrompt(s) { return truncate(s, 4000); }
205
- function safeStr(v) { try {
206
- return JSON.stringify(v);
207
- }
208
- catch {
209
- return String(v);
210
- } }
211
- function jsonDeepEqual(a, b) { return safeStr(a) === safeStr(b); }
212
- function logVerbose(opts, msg) { if (opts && opts.verbose)
213
- console.log(msg); }
214
- function makeCtx(opts, extra = {}) {
215
- return {
216
- log: (...a) => console.log("[autogen]", ...a),
217
- now: () => new Date().toISOString(),
218
- ...(opts.allowNet ? { fetch } : {}),
219
- ...extra
220
- };
221
- }
222
- function callWithTimeout(fn, ms) {
223
- return new Promise((resolve, reject) => {
224
- let done = false;
225
- const t = setTimeout(() => { if (!done)
226
- reject(new Error("Transform timeout")); }, ms);
227
- Promise.resolve()
228
- .then(fn)
229
- .then(v => { done = true; clearTimeout(t); resolve(v); })
230
- .catch(e => { done = true; clearTimeout(t); reject(e); });
231
- });
232
- }
233
- /** ---------- Main: generate + compile with repair loop ---------- */
234
- /** @param {GenOptions} opts */
235
- export async function generateJsTransformFromPrompt(opts) {
236
- const model = opts.model ?? "meta-llama/llama-4-maverick-17b-128e-instruct";
237
- const maxExecMs = opts.maxExecMs ?? 200;
238
- const retries = Math.max(0, opts.retries ?? 2);
239
- let repairNotes = [];
240
- let attempt = 0;
241
- let lastCode = "";
242
- let lastTests = "";
243
- for (attempt = 0; attempt <= retries; attempt++) {
244
- const repairContext = repairNotes.length ? trimForPrompt(repairNotes.join("\n")) : undefined;
245
- const prompt = buildCodeGenPrompt(opts, repairContext);
246
- let raw = await groqStructuredCall(prompt, CodePlanSchemaForGroq, model);
247
- // Parse + validate plan JSON
248
- let plan;
249
- try {
250
- raw = extractJson(raw);
251
- plan = JSON.parse(raw);
252
- if (!validatePlan(plan)) {
253
- throw new Error("Plan JSON failed schema validation: " + ajvLoose.errorsText(validatePlan.errors));
254
- }
255
- }
256
- catch (e) {
257
- repairNotes.push(`PLAN_VALIDATION_ERROR: ${truncate(String(e.message || e), 800)}`);
258
- logVerbose(opts, `⛑️ Repairing (plan invalid): ${String(e.message || e)}`);
259
- continue;
260
- }
261
- lastPlan = plan;
262
- const code = String(plan.file?.content || "");
263
- const tests = plan.tests?.content ? String(plan.tests.content) : "";
264
- // Try to compile
265
- let transformFn;
266
- try {
267
- transformFn = compileTransform(code, maxExecMs);
268
- }
269
- catch (e) {
270
- repairNotes.push(`COMPILE_ERROR: ${truncate(String(e.message || e), 800)}\n--- CODE START ---\n${truncate(code, 1200)}\n--- CODE END ---`);
271
- logVerbose(opts, `⛑️ Repairing (compile): ${String(e.message || e)}`);
272
- continue;
273
- }
274
- // Run self-tests if present
275
- if (tests) {
276
- try {
277
- await runSelfTests(tests, transformFn, maxExecMs);
278
- }
279
- catch (e) {
280
- repairNotes.push(`TEST_ERROR: ${truncate(String(e), 800)}\n--- TESTS START ---\n${truncate(tests, 800)}\n--- TESTS END ---`);
281
- logVerbose(opts, `⛑️ Repairing (tests): ${String(e)}`);
282
- continue;
283
- }
284
- }
285
- // Validate examples if provided
286
- if (opts.examples?.length) {
287
- const mismatches = [];
288
- for (let i = 0; i < opts.examples.length; i++) {
289
- const ex = opts.examples[i];
290
- if (typeof ex.output === "undefined")
291
- continue;
292
- try {
293
- const got = await callWithTimeout(() => transformFn(ex.input, makeCtx(opts)), maxExecMs);
294
- if (!jsonDeepEqual(ex.output, got)) {
295
- mismatches.push(`Example #${i}: expected ${safeStr(ex.output)} but got ${safeStr(got)}`);
296
- }
297
- }
298
- catch (e) {
299
- mismatches.push(`Example #${i}: execution error: ${truncate(String(e.message || e), 400)}`);
300
- }
301
- }
302
- if (mismatches.length) {
303
- repairNotes.push(`EXAMPLE_MISMATCH:\n${mismatches.map(m => "- " + m).join("\n")}`);
304
- logVerbose(opts, `⛑️ Repairing (examples):\n${mismatches.join("\n")}`);
305
- continue;
306
- }
307
- }
308
- // SUCCESS
309
- lastCode = code;
310
- lastTests = tests || undefined;
311
- return {
312
- code: lastCode,
313
- tests: lastTests,
314
- notes: plan.notes,
315
- plan,
316
- attempts: attempt + 1,
317
- transform: async (input, ctx = {}) => {
318
- const tf = compileTransform(lastCode, maxExecMs); // recompile fresh
319
- const out = await callWithTimeout(() => tf(input, makeCtx(opts, ctx)), maxExecMs);
320
- return out;
321
- }
322
- };
323
- }
324
- // All attempts failed
325
- const errMsg = `Failed after ${attempt} attempt(s).\nReasons:\n${repairNotes.join("\n")}`;
326
- throw new Error(errMsg);
327
- }
328
- //# sourceMappingURL=generateJsTransformFromPrompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateJsTransformFromPrompt.js","sourceRoot":"","sources":["../../src/services/generateJsTransformFromPrompt.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export function promptRoutes(app: any): Promise<void>;
2
- export function analyzeImageForTextAndIcons(base64Image: any, model: any): Promise<{
3
- rawResponse: any;
4
- parsed: any;
5
- }>;
6
- export const IMAGE_TEXT_ICON_DETECTOR_PROMPT: "Prompt: Image Text & Icon Detector\n\nYou are a precise visual-analysis model.\n\nYou are given one image.\nYour task is to inspect the image and determine:\n\nWhether any text is present.\n\nIf so, extract the exact text (OCR-style, as accurately as possible).\n\nWhether the image contains any icon-like graphics (symbols, UI icons, logos, small vector shapes, emojis, etc.).\n\nOutput Format\n\nRespond only with valid JSON using this schema:\n\n{\n \"hasText\": boolean,\n \"text\": \"string of detected text, or empty string if none\",\n \"hasIcon\": boolean\n}\n\nRules\n\nhasText is true if any legible text appears in the image.\n\ntext must contain the text exactly as visible.\n\nhasIcon is true if the image contains any graphic element that is not a photo of a real object (e.g., UI icons, logos, stylized symbols, arrows, emoji-style graphics).\n\nIf values are unknown or not visible, treat them as false or empty string.\n\nNo explanations. No commentary. JSON only.";
7
- //# sourceMappingURL=promptRoutes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptRoutes.d.ts","sourceRoot":"","sources":["../../src/services/promptRoutes.js"],"names":[],"mappings":"AAEA,sDA0BC;AAED;;;GAIC;AAED,ygCAiC4C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"promptRoutes.js","sourceRoot":"","sources":["../../src/services/promptRoutes.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAE3G,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAG;IAEpC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACzE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACxE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC9B,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YACxE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,WAAW,EAAE,KAAK;IAClE,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,+BAA+B,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAClG,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,MAAM,+BAA+B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAiCJ,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare function inferSchema(prompt: any, model: any): Promise<any>;
2
- //# sourceMappingURL=schemaInference.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaInference.d.ts","sourceRoot":"","sources":["../../src/services/schemaInference.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAC7B,MAAM,KAAA,EACN,KAAK,KAAA,gBAcR"}