@loopstack/core 0.24.0 → 0.25.1

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 (335) hide show
  1. package/dist/common/common.module.d.ts.map +1 -1
  2. package/dist/common/common.module.js +2 -13
  3. package/dist/common/common.module.js.map +1 -1
  4. package/dist/common/dtos/client-message.dto.d.ts +0 -2
  5. package/dist/common/dtos/client-message.dto.d.ts.map +1 -1
  6. package/dist/common/dtos/client-message.dto.js +0 -2
  7. package/dist/common/dtos/client-message.dto.js.map +1 -1
  8. package/dist/common/services/client-message.service.d.ts.map +1 -1
  9. package/dist/common/services/client-message.service.js +1 -2
  10. package/dist/common/services/client-message.service.js.map +1 -1
  11. package/dist/common/services/index.d.ts +1 -7
  12. package/dist/common/services/index.d.ts.map +1 -1
  13. package/dist/common/services/index.js +1 -7
  14. package/dist/common/services/index.js.map +1 -1
  15. package/dist/documents/error-document.d.ts +3 -5
  16. package/dist/documents/error-document.d.ts.map +1 -1
  17. package/dist/documents/error-document.js +5 -17
  18. package/dist/documents/error-document.js.map +1 -1
  19. package/dist/documents/error-document.yaml +2 -2
  20. package/dist/documents/link-document.d.ts +14 -9
  21. package/dist/documents/link-document.d.ts.map +1 -1
  22. package/dist/documents/link-document.js +11 -21
  23. package/dist/documents/link-document.js.map +1 -1
  24. package/dist/documents/link-document.yaml +2 -2
  25. package/dist/documents/markdown-document.d.ts +3 -5
  26. package/dist/documents/markdown-document.d.ts.map +1 -1
  27. package/dist/documents/markdown-document.js +5 -17
  28. package/dist/documents/markdown-document.js.map +1 -1
  29. package/dist/documents/markdown-document.yaml +2 -2
  30. package/dist/documents/message-document.d.ts +4 -5
  31. package/dist/documents/message-document.d.ts.map +1 -1
  32. package/dist/documents/message-document.js +5 -16
  33. package/dist/documents/message-document.js.map +1 -1
  34. package/dist/documents/message-document.yaml +2 -2
  35. package/dist/documents/plain-document.d.ts +3 -5
  36. package/dist/documents/plain-document.d.ts.map +1 -1
  37. package/dist/documents/plain-document.js +5 -17
  38. package/dist/documents/plain-document.js.map +1 -1
  39. package/dist/documents/plain-document.yaml +2 -2
  40. package/dist/documents/secret-request-document.d.ts +6 -5
  41. package/dist/documents/secret-request-document.d.ts.map +1 -1
  42. package/dist/documents/secret-request-document.js +5 -13
  43. package/dist/documents/secret-request-document.js.map +1 -1
  44. package/dist/documents/secret-request-document.yaml +3 -19
  45. package/dist/loop-core.module.d.ts.map +1 -1
  46. package/dist/loop-core.module.js +0 -6
  47. package/dist/loop-core.module.js.map +1 -1
  48. package/dist/persistence/persistence.module.d.ts.map +1 -1
  49. package/dist/persistence/persistence.module.js +3 -28
  50. package/dist/persistence/persistence.module.js.map +1 -1
  51. package/dist/persistence/services/index.d.ts +1 -5
  52. package/dist/persistence/services/index.d.ts.map +1 -1
  53. package/dist/persistence/services/index.js +1 -5
  54. package/dist/persistence/services/index.js.map +1 -1
  55. package/dist/persistence/services/workflow-checkpoint.service.d.ts +23 -0
  56. package/dist/persistence/services/workflow-checkpoint.service.d.ts.map +1 -0
  57. package/dist/persistence/services/workflow-checkpoint.service.js +59 -0
  58. package/dist/persistence/services/workflow-checkpoint.service.js.map +1 -0
  59. package/dist/persistence/services/workflow.service.d.ts +10 -5
  60. package/dist/persistence/services/workflow.service.d.ts.map +1 -1
  61. package/dist/persistence/services/workflow.service.js +53 -14
  62. package/dist/persistence/services/workflow.service.js.map +1 -1
  63. package/dist/persistence/services/workspace.service.d.ts.map +1 -1
  64. package/dist/persistence/services/workspace.service.js +1 -0
  65. package/dist/persistence/services/workspace.service.js.map +1 -1
  66. package/dist/scheduler/scheduler.module.d.ts.map +1 -1
  67. package/dist/scheduler/scheduler.module.js +7 -9
  68. package/dist/scheduler/scheduler.module.js.map +1 -1
  69. package/dist/scheduler/services/run.service.d.ts +4 -4
  70. package/dist/scheduler/services/run.service.js +12 -12
  71. package/dist/scheduler/services/run.service.js.map +1 -1
  72. package/dist/scheduler/services/task-processor/cleanup-workflow-task-processor.service.d.ts +4 -0
  73. package/dist/scheduler/services/task-processor/cleanup-workflow-task-processor.service.d.ts.map +1 -0
  74. package/dist/scheduler/services/task-processor/{cleanup-pipeline-task-processor.service.js → cleanup-workflow-task-processor.service.js} +8 -8
  75. package/dist/scheduler/services/task-processor/cleanup-workflow-task-processor.service.js.map +1 -0
  76. package/dist/scheduler/services/task-processor/create-run-workflow-task-processor.service.d.ts +8 -0
  77. package/dist/scheduler/services/task-processor/{create-run-pipeline-task-processor.service.d.ts.map → create-run-workflow-task-processor.service.d.ts.map} +1 -1
  78. package/dist/scheduler/services/task-processor/{create-run-pipeline-task-processor.service.js → create-run-workflow-task-processor.service.js} +12 -12
  79. package/dist/scheduler/services/task-processor/{create-run-pipeline-task-processor.service.js.map → create-run-workflow-task-processor.service.js.map} +1 -1
  80. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts +13 -0
  81. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.d.ts.map +1 -0
  82. package/dist/scheduler/services/task-processor/{run-pipeline-task-processor.service.js → run-workflow-task-processor.service.js} +30 -24
  83. package/dist/scheduler/services/task-processor/run-workflow-task-processor.service.js.map +1 -0
  84. package/dist/scheduler/services/task-processor.service.d.ts +3 -3
  85. package/dist/scheduler/services/task-processor.service.d.ts.map +1 -1
  86. package/dist/scheduler/services/task-processor.service.js +7 -7
  87. package/dist/scheduler/services/task-processor.service.js.map +1 -1
  88. package/dist/tools/get-secret-keys.tool.d.ts +4 -3
  89. package/dist/tools/get-secret-keys.tool.d.ts.map +1 -1
  90. package/dist/tools/get-secret-keys.tool.js +11 -4
  91. package/dist/tools/get-secret-keys.tool.js.map +1 -1
  92. package/dist/tools/index.d.ts +0 -2
  93. package/dist/tools/index.d.ts.map +1 -1
  94. package/dist/tools/index.js +0 -2
  95. package/dist/tools/index.js.map +1 -1
  96. package/dist/tools/request-secrets-task.tool.d.ts +5 -8
  97. package/dist/tools/request-secrets-task.tool.d.ts.map +1 -1
  98. package/dist/tools/request-secrets-task.tool.js +28 -63
  99. package/dist/tools/request-secrets-task.tool.js.map +1 -1
  100. package/dist/tools/request-secrets.tool.d.ts +3 -4
  101. package/dist/tools/request-secrets.tool.d.ts.map +1 -1
  102. package/dist/tools/request-secrets.tool.js +4 -11
  103. package/dist/tools/request-secrets.tool.js.map +1 -1
  104. package/dist/tools/secrets-request.ui.yaml +5 -0
  105. package/dist/tools/secrets-request.workflow.d.ts +9 -12
  106. package/dist/tools/secrets-request.workflow.d.ts.map +1 -1
  107. package/dist/tools/secrets-request.workflow.js +22 -41
  108. package/dist/tools/secrets-request.workflow.js.map +1 -1
  109. package/dist/workflow-processor/services/block-discovery.service.d.ts +4 -1
  110. package/dist/workflow-processor/services/block-discovery.service.d.ts.map +1 -1
  111. package/dist/workflow-processor/services/block-discovery.service.js +31 -1
  112. package/dist/workflow-processor/services/block-discovery.service.js.map +1 -1
  113. package/dist/workflow-processor/services/create-workflow.service.d.ts +14 -0
  114. package/dist/workflow-processor/services/create-workflow.service.d.ts.map +1 -0
  115. package/dist/workflow-processor/services/{create-pipeline.service.js → create-workflow.service.js} +26 -36
  116. package/dist/workflow-processor/services/create-workflow.service.js.map +1 -0
  117. package/dist/workflow-processor/services/document-persistence.service.d.ts +13 -0
  118. package/dist/workflow-processor/services/document-persistence.service.d.ts.map +1 -0
  119. package/dist/workflow-processor/services/document-persistence.service.js +132 -0
  120. package/dist/workflow-processor/services/document-persistence.service.js.map +1 -0
  121. package/dist/workflow-processor/services/document-repository.service.d.ts +14 -0
  122. package/dist/workflow-processor/services/document-repository.service.d.ts.map +1 -0
  123. package/dist/workflow-processor/services/document-repository.service.js +71 -0
  124. package/dist/workflow-processor/services/document-repository.service.js.map +1 -0
  125. package/dist/workflow-processor/services/index.d.ts +8 -8
  126. package/dist/workflow-processor/services/index.d.ts.map +1 -1
  127. package/dist/workflow-processor/services/index.js +8 -8
  128. package/dist/workflow-processor/services/index.js.map +1 -1
  129. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts +16 -9
  130. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts.map +1 -1
  131. package/dist/workflow-processor/services/processors/workflow-processor.service.js +173 -57
  132. package/dist/workflow-processor/services/processors/workflow-processor.service.js.map +1 -1
  133. package/dist/workflow-processor/services/root-processor.service.d.ts +8 -13
  134. package/dist/workflow-processor/services/root-processor.service.d.ts.map +1 -1
  135. package/dist/workflow-processor/services/root-processor.service.js +45 -91
  136. package/dist/workflow-processor/services/root-processor.service.js.map +1 -1
  137. package/dist/workflow-processor/services/tool-execution.service.d.ts +16 -0
  138. package/dist/workflow-processor/services/tool-execution.service.d.ts.map +1 -0
  139. package/dist/workflow-processor/services/tool-execution.service.js +82 -0
  140. package/dist/workflow-processor/services/tool-execution.service.js.map +1 -0
  141. package/dist/workflow-processor/services/tool-logging.interceptor.d.ts +6 -0
  142. package/dist/workflow-processor/services/tool-logging.interceptor.d.ts.map +1 -0
  143. package/dist/workflow-processor/services/tool-logging.interceptor.js +37 -0
  144. package/dist/workflow-processor/services/tool-logging.interceptor.js.map +1 -0
  145. package/dist/workflow-processor/services/transition-resolver.service.d.ts +8 -0
  146. package/dist/workflow-processor/services/transition-resolver.service.d.ts.map +1 -0
  147. package/dist/workflow-processor/services/transition-resolver.service.js +85 -0
  148. package/dist/workflow-processor/services/transition-resolver.service.js.map +1 -0
  149. package/dist/workflow-processor/services/workflow-memory-monitor.service.d.ts +25 -0
  150. package/dist/workflow-processor/services/workflow-memory-monitor.service.d.ts.map +1 -0
  151. package/dist/workflow-processor/services/workflow-memory-monitor.service.js +86 -0
  152. package/dist/workflow-processor/services/workflow-memory-monitor.service.js.map +1 -0
  153. package/dist/workflow-processor/services/workflow-orchestration.service.d.ts +17 -0
  154. package/dist/workflow-processor/services/workflow-orchestration.service.d.ts.map +1 -0
  155. package/dist/workflow-processor/services/workflow-orchestration.service.js +125 -0
  156. package/dist/workflow-processor/services/workflow-orchestration.service.js.map +1 -0
  157. package/dist/workflow-processor/services/workflow-state.service.d.ts +8 -6
  158. package/dist/workflow-processor/services/workflow-state.service.d.ts.map +1 -1
  159. package/dist/workflow-processor/services/workflow-state.service.js +26 -34
  160. package/dist/workflow-processor/services/workflow-state.service.js.map +1 -1
  161. package/dist/workflow-processor/utils/execution-context-manager.d.ts +6 -10
  162. package/dist/workflow-processor/utils/execution-context-manager.d.ts.map +1 -1
  163. package/dist/workflow-processor/utils/execution-context-manager.js +7 -15
  164. package/dist/workflow-processor/utils/execution-context-manager.js.map +1 -1
  165. package/dist/workflow-processor/utils/execution-scope.d.ts +9 -0
  166. package/dist/workflow-processor/utils/execution-scope.d.ts.map +1 -0
  167. package/dist/workflow-processor/utils/execution-scope.js +32 -0
  168. package/dist/workflow-processor/utils/execution-scope.js.map +1 -0
  169. package/dist/workflow-processor/utils/index.d.ts +3 -1
  170. package/dist/workflow-processor/utils/index.d.ts.map +1 -1
  171. package/dist/workflow-processor/utils/index.js +3 -1
  172. package/dist/workflow-processor/utils/index.js.map +1 -1
  173. package/dist/workflow-processor/utils/state/state-manager.d.ts +8 -6
  174. package/dist/workflow-processor/utils/state/state-manager.d.ts.map +1 -1
  175. package/dist/workflow-processor/utils/state/state-manager.js +11 -26
  176. package/dist/workflow-processor/utils/state/state-manager.js.map +1 -1
  177. package/dist/workflow-processor/utils/workflow-templates.d.ts +6 -0
  178. package/dist/workflow-processor/utils/workflow-templates.d.ts.map +1 -0
  179. package/dist/workflow-processor/utils/workflow-templates.js +52 -0
  180. package/dist/workflow-processor/utils/workflow-templates.js.map +1 -0
  181. package/dist/workflow-processor/utils/wrap-block-proxy.d.ts +2 -3
  182. package/dist/workflow-processor/utils/wrap-block-proxy.d.ts.map +1 -1
  183. package/dist/workflow-processor/utils/wrap-block-proxy.js +28 -52
  184. package/dist/workflow-processor/utils/wrap-block-proxy.js.map +1 -1
  185. package/dist/workflow-processor/utils/wrap-tool-proxy.d.ts +3 -0
  186. package/dist/workflow-processor/utils/wrap-tool-proxy.d.ts.map +1 -0
  187. package/dist/workflow-processor/utils/wrap-tool-proxy.js +55 -0
  188. package/dist/workflow-processor/utils/wrap-tool-proxy.js.map +1 -0
  189. package/dist/workflow-processor/workflow-processor.module.d.ts.map +1 -1
  190. package/dist/workflow-processor/workflow-processor.module.js +56 -16
  191. package/dist/workflow-processor/workflow-processor.module.js.map +1 -1
  192. package/package.json +14 -12
  193. package/dist/common/errors/jexl-expression.error.d.ts +0 -5
  194. package/dist/common/errors/jexl-expression.error.d.ts.map +0 -1
  195. package/dist/common/errors/jexl-expression.error.js +0 -13
  196. package/dist/common/errors/jexl-expression.error.js.map +0 -1
  197. package/dist/common/errors/object-expression.error.d.ts +0 -5
  198. package/dist/common/errors/object-expression.error.d.ts.map +0 -1
  199. package/dist/common/errors/object-expression.error.js +0 -13
  200. package/dist/common/errors/object-expression.error.js.map +0 -1
  201. package/dist/common/errors/template-expression.error.d.ts +0 -5
  202. package/dist/common/errors/template-expression.error.d.ts.map +0 -1
  203. package/dist/common/errors/template-expression.error.js +0 -13
  204. package/dist/common/errors/template-expression.error.js.map +0 -1
  205. package/dist/common/services/expression-handler/jexl-expression.handler.d.ts +0 -16
  206. package/dist/common/services/expression-handler/jexl-expression.handler.d.ts.map +0 -1
  207. package/dist/common/services/expression-handler/jexl-expression.handler.js +0 -80
  208. package/dist/common/services/expression-handler/jexl-expression.handler.js.map +0 -1
  209. package/dist/common/services/expression-handler/object-expression.handler.d.ts +0 -14
  210. package/dist/common/services/expression-handler/object-expression.handler.d.ts.map +0 -1
  211. package/dist/common/services/expression-handler/object-expression.handler.js +0 -77
  212. package/dist/common/services/expression-handler/object-expression.handler.js.map +0 -1
  213. package/dist/common/services/expression-handler/template-expression.handler.d.ts +0 -17
  214. package/dist/common/services/expression-handler/template-expression.handler.d.ts.map +0 -1
  215. package/dist/common/services/expression-handler/template-expression.handler.js +0 -59
  216. package/dist/common/services/expression-handler/template-expression.handler.js.map +0 -1
  217. package/dist/common/services/handlebars-helpers/date-formatter-helper.service.d.ts +0 -10
  218. package/dist/common/services/handlebars-helpers/date-formatter-helper.service.d.ts.map +0 -1
  219. package/dist/common/services/handlebars-helpers/date-formatter-helper.service.js +0 -124
  220. package/dist/common/services/handlebars-helpers/date-formatter-helper.service.js.map +0 -1
  221. package/dist/common/services/handlebars-helpers/index.d.ts +0 -3
  222. package/dist/common/services/handlebars-helpers/index.d.ts.map +0 -1
  223. package/dist/common/services/handlebars-helpers/index.js +0 -19
  224. package/dist/common/services/handlebars-helpers/index.js.map +0 -1
  225. package/dist/common/services/handlebars-helpers/operators-helper.service.d.ts +0 -42
  226. package/dist/common/services/handlebars-helpers/operators-helper.service.d.ts.map +0 -1
  227. package/dist/common/services/handlebars-helpers/operators-helper.service.js +0 -437
  228. package/dist/common/services/handlebars-helpers/operators-helper.service.js.map +0 -1
  229. package/dist/common/services/handlebars-processor.service.d.ts +0 -24
  230. package/dist/common/services/handlebars-processor.service.d.ts.map +0 -1
  231. package/dist/common/services/handlebars-processor.service.js +0 -100
  232. package/dist/common/services/handlebars-processor.service.js.map +0 -1
  233. package/dist/common/services/template-expression-evaluator.service.d.ts +0 -12
  234. package/dist/common/services/template-expression-evaluator.service.d.ts.map +0 -1
  235. package/dist/common/services/template-expression-evaluator.service.js +0 -51
  236. package/dist/common/services/template-expression-evaluator.service.js.map +0 -1
  237. package/dist/common/services/template.service.d.ts +0 -17
  238. package/dist/common/services/template.service.d.ts.map +0 -1
  239. package/dist/common/services/template.service.js +0 -64
  240. package/dist/common/services/template.service.js.map +0 -1
  241. package/dist/migrations/1742827301075-EnableLtreeExtension.d.ts +0 -6
  242. package/dist/migrations/1742827301075-EnableLtreeExtension.d.ts.map +0 -1
  243. package/dist/migrations/1742827301075-EnableLtreeExtension.js +0 -13
  244. package/dist/migrations/1742827301075-EnableLtreeExtension.js.map +0 -1
  245. package/dist/persistence/services/document.service.d.ts +0 -8
  246. package/dist/persistence/services/document.service.d.ts.map +0 -1
  247. package/dist/persistence/services/document.service.js +0 -51
  248. package/dist/persistence/services/document.service.js.map +0 -1
  249. package/dist/persistence/services/event-subscriber.service.d.ts +0 -23
  250. package/dist/persistence/services/event-subscriber.service.d.ts.map +0 -1
  251. package/dist/persistence/services/event-subscriber.service.js +0 -75
  252. package/dist/persistence/services/event-subscriber.service.js.map +0 -1
  253. package/dist/persistence/services/migrations.service.d.ts +0 -10
  254. package/dist/persistence/services/migrations.service.d.ts.map +0 -1
  255. package/dist/persistence/services/migrations.service.js +0 -89
  256. package/dist/persistence/services/migrations.service.js.map +0 -1
  257. package/dist/persistence/services/namespace.service.d.ts +0 -11
  258. package/dist/persistence/services/namespace.service.d.ts.map +0 -1
  259. package/dist/persistence/services/namespace.service.js +0 -75
  260. package/dist/persistence/services/namespace.service.js.map +0 -1
  261. package/dist/persistence/services/pipeline.service.d.ts +0 -11
  262. package/dist/persistence/services/pipeline.service.d.ts.map +0 -1
  263. package/dist/persistence/services/pipeline.service.js +0 -66
  264. package/dist/persistence/services/pipeline.service.js.map +0 -1
  265. package/dist/scheduler/services/event-processor.service.d.ts +0 -10
  266. package/dist/scheduler/services/event-processor.service.d.ts.map +0 -1
  267. package/dist/scheduler/services/event-processor.service.js +0 -75
  268. package/dist/scheduler/services/event-processor.service.js.map +0 -1
  269. package/dist/scheduler/services/task-processor/cleanup-pipeline-task-processor.service.d.ts +0 -4
  270. package/dist/scheduler/services/task-processor/cleanup-pipeline-task-processor.service.d.ts.map +0 -1
  271. package/dist/scheduler/services/task-processor/cleanup-pipeline-task-processor.service.js.map +0 -1
  272. package/dist/scheduler/services/task-processor/create-run-pipeline-task-processor.service.d.ts +0 -8
  273. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts +0 -12
  274. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts.map +0 -1
  275. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.js.map +0 -1
  276. package/dist/tools/create-document.tool.d.ts +0 -73
  277. package/dist/tools/create-document.tool.d.ts.map +0 -1
  278. package/dist/tools/create-document.tool.js +0 -151
  279. package/dist/tools/create-document.tool.js.map +0 -1
  280. package/dist/tools/secrets-request.workflow.yaml +0 -22
  281. package/dist/tools/task.tool.d.ts +0 -26
  282. package/dist/tools/task.tool.d.ts.map +0 -1
  283. package/dist/tools/task.tool.js +0 -109
  284. package/dist/tools/task.tool.js.map +0 -1
  285. package/dist/workflow-processor/services/create-pipeline.service.d.ts +0 -14
  286. package/dist/workflow-processor/services/create-pipeline.service.d.ts.map +0 -1
  287. package/dist/workflow-processor/services/create-pipeline.service.js.map +0 -1
  288. package/dist/workflow-processor/services/namespace-processor.service.d.ts +0 -9
  289. package/dist/workflow-processor/services/namespace-processor.service.d.ts.map +0 -1
  290. package/dist/workflow-processor/services/namespace-processor.service.js +0 -40
  291. package/dist/workflow-processor/services/namespace-processor.service.js.map +0 -1
  292. package/dist/workflow-processor/services/state-machine-processor.service.d.ts +0 -16
  293. package/dist/workflow-processor/services/state-machine-processor.service.d.ts.map +0 -1
  294. package/dist/workflow-processor/services/state-machine-processor.service.js +0 -137
  295. package/dist/workflow-processor/services/state-machine-processor.service.js.map +0 -1
  296. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts +0 -21
  297. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts.map +0 -1
  298. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js +0 -206
  299. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js.map +0 -1
  300. package/dist/workflow-processor/services/state-machine-validator.registry.d.ts +0 -12
  301. package/dist/workflow-processor/services/state-machine-validator.registry.d.ts.map +0 -1
  302. package/dist/workflow-processor/services/state-machine-validator.registry.js +0 -53
  303. package/dist/workflow-processor/services/state-machine-validator.registry.js.map +0 -1
  304. package/dist/workflow-processor/services/state-machine-validator.service.d.ts +0 -10
  305. package/dist/workflow-processor/services/state-machine-validator.service.d.ts.map +0 -1
  306. package/dist/workflow-processor/services/state-machine-validator.service.js +0 -45
  307. package/dist/workflow-processor/services/state-machine-validator.service.js.map +0 -1
  308. package/dist/workflow-processor/services/tool-execution-interceptor.service.d.ts +0 -9
  309. package/dist/workflow-processor/services/tool-execution-interceptor.service.d.ts.map +0 -1
  310. package/dist/workflow-processor/services/tool-execution-interceptor.service.js +0 -52
  311. package/dist/workflow-processor/services/tool-execution-interceptor.service.js.map +0 -1
  312. package/dist/workflow-processor/utils/state/state-caretaker.d.ts +0 -11
  313. package/dist/workflow-processor/utils/state/state-caretaker.d.ts.map +0 -1
  314. package/dist/workflow-processor/utils/state/state-caretaker.js +0 -37
  315. package/dist/workflow-processor/utils/state/state-caretaker.js.map +0 -1
  316. package/dist/workflow-processor/utils/template-helper.d.ts +0 -3
  317. package/dist/workflow-processor/utils/template-helper.d.ts.map +0 -1
  318. package/dist/workflow-processor/utils/template-helper.js +0 -25
  319. package/dist/workflow-processor/utils/template-helper.js.map +0 -1
  320. package/dist/workflow-processor/validators/index.d.ts +0 -4
  321. package/dist/workflow-processor/validators/index.d.ts.map +0 -1
  322. package/dist/workflow-processor/validators/index.js +0 -20
  323. package/dist/workflow-processor/validators/index.js.map +0 -1
  324. package/dist/workflow-processor/validators/initial-run.validator.d.ts +0 -11
  325. package/dist/workflow-processor/validators/initial-run.validator.d.ts.map +0 -1
  326. package/dist/workflow-processor/validators/initial-run.validator.js +0 -28
  327. package/dist/workflow-processor/validators/initial-run.validator.js.map +0 -1
  328. package/dist/workflow-processor/validators/workflow-dependencies.validator.d.ts +0 -12
  329. package/dist/workflow-processor/validators/workflow-dependencies.validator.d.ts.map +0 -1
  330. package/dist/workflow-processor/validators/workflow-dependencies.validator.js +0 -39
  331. package/dist/workflow-processor/validators/workflow-dependencies.validator.js.map +0 -1
  332. package/dist/workflow-processor/validators/workflow-option.validator.d.ts +0 -11
  333. package/dist/workflow-processor/validators/workflow-option.validator.d.ts.map +0 -1
  334. package/dist/workflow-processor/validators/workflow-option.validator.js +0 -31
  335. package/dist/workflow-processor/validators/workflow-option.validator.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapToolProxy = wrapToolProxy;
4
+ const constants_1 = require("@nestjs/common/constants");
5
+ const common_1 = require("@loopstack/common");
6
+ function wrapToolProxy(tool, toolName, executionScope, executeCall) {
7
+ const passThroughProps = new Set();
8
+ (0, common_1.getPassThroughProperties)(tool.constructor).forEach((name) => passThroughProps.add(name));
9
+ const nestedToolProps = new Set((0, common_1.getBlockTools)(tool.constructor));
10
+ nestedToolProps.forEach((name) => passThroughProps.add(name));
11
+ let proto = Object.getPrototypeOf(tool);
12
+ while (proto && proto !== Object.prototype) {
13
+ Object.getOwnPropertyNames(proto).forEach((name) => {
14
+ if (typeof proto[name] === 'function' && name !== 'call') {
15
+ passThroughProps.add(name);
16
+ }
17
+ });
18
+ proto = Object.getPrototypeOf(proto);
19
+ }
20
+ const propertyDeps = Reflect.getMetadata(constants_1.PROPERTY_DEPS_METADATA, tool.constructor) ?? [];
21
+ propertyDeps.forEach((dep) => passThroughProps.add(dep.key));
22
+ const originalCall = tool.call;
23
+ return new Proxy(tool, {
24
+ get(target, prop, receiver) {
25
+ if (prop === 'call') {
26
+ return (args, options) => executeCall(target, originalCall, args, receiver, options);
27
+ }
28
+ if (passThroughProps.has(prop)) {
29
+ return Reflect.get(target, prop, receiver);
30
+ }
31
+ const ctx = executionScope.getOptional();
32
+ if (!ctx)
33
+ return Reflect.get(target, prop, receiver);
34
+ const tools = ctx.getManager().getData('tools');
35
+ const stateValue = tools?.[toolName]?.[prop];
36
+ if (stateValue === undefined) {
37
+ return Reflect.get(target, prop, receiver);
38
+ }
39
+ return stateValue;
40
+ },
41
+ set(_target, prop, value) {
42
+ if (passThroughProps.has(prop) || prop === 'call') {
43
+ throw new Error(`Cannot reassign property "${String(prop)}"`);
44
+ }
45
+ const ctx = executionScope.get();
46
+ const tools = ctx.getManager().getData('tools') ?? {};
47
+ if (!tools[toolName])
48
+ tools[toolName] = {};
49
+ tools[toolName][prop] = value;
50
+ ctx.getManager().setData('tools', tools);
51
+ return true;
52
+ },
53
+ });
54
+ }
55
+ //# sourceMappingURL=wrap-tool-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-tool-proxy.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/wrap-tool-proxy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-processor.module.d.ts","sourceRoot":"","sources":["../../src/workflow-processor/workflow-processor.module.ts"],"names":[],"mappings":"AA8BA,qBAqDa,uBAAuB;CAAG"}
1
+ {"version":3,"file":"workflow-processor.module.d.ts","sourceRoot":"","sources":["../../src/workflow-processor/workflow-processor.module.ts"],"names":[],"mappings":"AAmCA,qBAuFa,uBAAuB;CAAG"}
@@ -13,24 +13,25 @@ const typeorm_1 = require("@nestjs/typeorm");
13
13
  const common_2 = require("@loopstack/common");
14
14
  const common_3 = require("../common");
15
15
  const persistence_1 = require("../persistence");
16
+ const scheduler_1 = require("../scheduler");
16
17
  const services_1 = require("./services");
17
- const services_2 = require("./services");
18
- const validators_1 = require("./validators");
18
+ const utils_1 = require("./utils");
19
19
  let WorkflowProcessorModule = class WorkflowProcessorModule {
20
20
  };
21
21
  exports.WorkflowProcessorModule = WorkflowProcessorModule;
22
22
  exports.WorkflowProcessorModule = WorkflowProcessorModule = __decorate([
23
+ (0, common_1.Global)(),
23
24
  (0, common_1.Module)({
24
25
  imports: [
25
26
  typeorm_1.TypeOrmModule.forFeature([
26
- common_2.PipelineEntity,
27
27
  common_2.WorkflowEntity,
28
28
  common_2.DocumentEntity,
29
29
  common_2.WorkspaceEntity,
30
30
  common_2.WorkspaceEnvironmentEntity,
31
- common_2.NamespaceEntity,
31
+ common_2.WorkflowCheckpointEntity,
32
32
  ]),
33
33
  persistence_1.PersistenceModule,
34
+ (0, common_1.forwardRef)(() => scheduler_1.SchedulerModule),
34
35
  core_1.DiscoveryModule,
35
36
  common_3.CommonModule,
36
37
  ],
@@ -41,25 +42,64 @@ exports.WorkflowProcessorModule = WorkflowProcessorModule = __decorate([
41
42
  services_1.WorkflowProcessorService,
42
43
  services_1.BlockDiscoveryService,
43
44
  services_1.WorkflowStateService,
44
- services_1.NamespaceProcessorService,
45
- validators_1.InitialRunValidator,
46
- validators_1.WorkflowDependenciesValidator,
47
- validators_1.WorkflowOptionValidator,
48
- services_1.StateMachineValidatorRegistry,
49
- services_1.StateMachineValidatorService,
50
- services_1.StateMachineProcessorService,
51
- services_1.StateMachineToolCallProcessorService,
52
- services_1.ToolExecutionInterceptorService,
53
- services_2.CreatePipelineService,
45
+ services_1.WorkflowMemoryMonitorService,
46
+ services_1.CreateWorkflowService,
47
+ utils_1.ExecutionScope,
48
+ services_1.ToolExecutionService,
49
+ services_1.DocumentPersistenceService,
50
+ services_1.DocumentRepositoryService,
51
+ services_1.WorkflowOrchestrationService,
52
+ services_1.TransitionResolverService,
53
+ services_1.ToolLoggingInterceptor,
54
+ {
55
+ provide: common_2.DOCUMENT_REPOSITORY,
56
+ useExisting: services_1.DocumentRepositoryService,
57
+ },
58
+ {
59
+ provide: common_2.WORKFLOW_ORCHESTRATOR,
60
+ useExisting: services_1.WorkflowOrchestrationService,
61
+ },
62
+ {
63
+ provide: common_2.TEMPLATE_RENDERER,
64
+ useFactory: () => new utils_1.TemplateRenderer().render,
65
+ },
66
+ {
67
+ provide: common_2.FRAMEWORK_CONTEXT,
68
+ useFactory: (scope) => ({
69
+ get context() {
70
+ return scope.get().getContext();
71
+ },
72
+ get runtime() {
73
+ return scope.get().getData();
74
+ },
75
+ get args() {
76
+ return scope.get().getArgs();
77
+ },
78
+ get parent() {
79
+ return scope.get().getInstance();
80
+ },
81
+ }),
82
+ inject: [utils_1.ExecutionScope],
83
+ },
54
84
  ],
55
85
  exports: [
56
86
  persistence_1.PersistenceModule,
57
87
  services_1.RootProcessorService,
58
- services_2.CreatePipelineService,
88
+ services_1.CreateWorkflowService,
59
89
  services_1.BlockProcessor,
60
90
  services_1.WorkflowProcessorService,
61
91
  services_1.BlockDiscoveryService,
62
- services_1.StateMachineToolCallProcessorService,
92
+ services_1.WorkflowMemoryMonitorService,
93
+ utils_1.ExecutionScope,
94
+ services_1.ToolExecutionService,
95
+ services_1.DocumentPersistenceService,
96
+ services_1.DocumentRepositoryService,
97
+ services_1.WorkflowOrchestrationService,
98
+ services_1.TransitionResolverService,
99
+ common_2.DOCUMENT_REPOSITORY,
100
+ common_2.FRAMEWORK_CONTEXT,
101
+ common_2.WORKFLOW_ORCHESTRATOR,
102
+ common_2.TEMPLATE_RENDERER,
63
103
  ],
64
104
  })
65
105
  ], WorkflowProcessorModule);
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-processor.module.js","sourceRoot":"","sources":["../../src/workflow-processor/workflow-processor.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uCAA+C;AAC/C,6CAAgD;AAChD,8CAO2B;AAC3B,sCAAyC;AACzC,gDAAmD;AACnD,yCAaoB;AACpB,yCAAmD;AACnD,6CAA2G;AAuDpG,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,0DAAuB;kCAAvB,uBAAuB;IArDnC,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,uBAAc;gBACd,uBAAc;gBACd,uBAAc;gBACd,wBAAe;gBACf,mCAA0B;gBAC1B,wBAAe;aAChB,CAAC;YACF,+BAAiB;YACjB,sBAAe;YACf,qBAAY;SACb;QACD,SAAS,EAAE;YAWT,+BAAoB;YACpB,yBAAc;YACd,2BAAgB;YAChB,mCAAwB;YACxB,gCAAqB;YAErB,+BAAoB;YACpB,oCAAyB;YACzB,gCAAmB;YACnB,0CAA6B;YAC7B,oCAAuB;YACvB,wCAA6B;YAC7B,uCAA4B;YAC5B,uCAA4B;YAC5B,+CAAoC;YACpC,0CAA+B;YAC/B,gCAAqB;SACtB;QACD,OAAO,EAAE;YACP,+BAAiB;YACjB,+BAAoB;YACpB,gCAAqB;YACrB,yBAAc;YACd,mCAAwB;YACxB,gCAAqB;YACrB,+CAAoC;SACrC;KACF,CAAC;GACW,uBAAuB,CAAG"}
1
+ {"version":3,"file":"workflow-processor.module.js","sourceRoot":"","sources":["../../src/workflow-processor/workflow-processor.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4D;AAC5D,uCAA+C;AAC/C,6CAAgD;AAChD,8CAU2B;AAC3B,sCAAyC;AACzC,gDAAmD;AACnD,4CAA+C;AAC/C,yCAeoB;AACpB,mCAA2D;AAyFpD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;CAAG,CAAA;AAA1B,0DAAuB;kCAAvB,uBAAuB;IAvFnC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,uBAAc;gBACd,uBAAc;gBACd,wBAAe;gBACf,mCAA0B;gBAC1B,iCAAwB;aACzB,CAAC;YACF,+BAAiB;YACjB,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,2BAAe,CAAC;YACjC,sBAAe;YACf,qBAAY;SACb;QACD,SAAS,EAAE;YACT,+BAAoB;YACpB,yBAAc;YACd,2BAAgB;YAChB,mCAAwB;YACxB,gCAAqB;YAErB,+BAAoB;YACpB,uCAA4B;YAC5B,gCAAqB;YACrB,sBAAc;YACd,+BAAoB;YACpB,qCAA0B;YAC1B,oCAAyB;YACzB,uCAA4B;YAC5B,oCAAyB;YAGzB,iCAAsB;YAGtB;gBACE,OAAO,EAAE,4BAAmB;gBAC5B,WAAW,EAAE,oCAAyB;aACvC;YACD;gBACE,OAAO,EAAE,8BAAqB;gBAC9B,WAAW,EAAE,uCAA4B;aAC1C;YACD;gBACE,OAAO,EAAE,0BAAiB;gBAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,wBAAgB,EAAE,CAAC,MAAM;aAChD;YACD;gBACE,OAAO,EAAE,0BAAiB;gBAC1B,UAAU,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,OAAO;wBACT,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;oBAClC,CAAC;oBACD,IAAI,OAAO;wBACT,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC/B,CAAC;oBACD,IAAI,IAAI;wBACN,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;oBAC/B,CAAC;oBACD,IAAI,MAAM;wBACR,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnC,CAAC;iBACF,CAAC;gBACF,MAAM,EAAE,CAAC,sBAAc,CAAC;aACzB;SACF;QACD,OAAO,EAAE;YACP,+BAAiB;YACjB,+BAAoB;YACpB,gCAAqB;YACrB,yBAAc;YACd,mCAAwB;YACxB,gCAAqB;YACrB,uCAA4B;YAC5B,sBAAc;YACd,+BAAoB;YACpB,qCAA0B;YAC1B,oCAAyB;YACzB,uCAA4B;YAC5B,oCAAyB;YACzB,4BAAmB;YACnB,0BAAiB;YACjB,8BAAqB;YACrB,0BAAiB;SAClB;KACF,CAAC;GACW,uBAAuB,CAAG"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@loopstack/core",
3
3
  "displayName": "Loopstack Core Module",
4
4
  "description": "The core module of the loopstack automation framework",
5
- "version": "0.24.0",
5
+ "version": "0.25.1",
6
6
  "repository": "loopstack-ai/core",
7
7
  "license": "BSL",
8
8
  "author": {
@@ -24,20 +24,17 @@
24
24
  "watch": "nest build --watch"
25
25
  },
26
26
  "dependencies": {
27
- "@loopstack/common": "^0.24.0",
27
+ "@loopstack/common": "^0.25.1",
28
28
  "@nestjs/bullmq": "^11.0.4",
29
- "@nestjs/config": "^4.0.3",
29
+ "@nestjs/config": "^4.0.4",
30
30
  "@nestjs/event-emitter": "^3.0.1",
31
31
  "@nestjs/schedule": "^6.1.1",
32
- "@types/jexl": "^2.3.4",
33
- "bullmq": "^5.69.3",
32
+ "bullmq": "^5.73.5",
34
33
  "class-transformer": "^0.5.1",
35
- "class-validator": "^0.14.3",
36
- "date-fns": "^4.1.0",
37
- "handlebars": "^4.7.8",
38
- "jexl": "^2.3.0",
39
- "lodash": "^4.17.23",
40
- "yaml": "^2.8.2",
34
+ "class-validator": "^0.15.1",
35
+ "handlebars": "^4.7.9",
36
+ "lodash": "^4.18.1",
37
+ "yaml": "^2.8.3",
41
38
  "zod": "^4.3.6"
42
39
  },
43
40
  "files": [
@@ -52,7 +49,12 @@
52
49
  "rootDir": "src",
53
50
  "testRegex": ".*\\.spec\\.ts$",
54
51
  "transform": {
55
- "^.+\\.ts$": "ts-jest"
52
+ "^.+\\.ts$": [
53
+ "ts-jest",
54
+ {
55
+ "tsconfig": "tsconfig.spec.json"
56
+ }
57
+ ]
56
58
  },
57
59
  "collectCoverageFrom": [
58
60
  "**/*.(t|j)s"
@@ -1,5 +0,0 @@
1
- export declare class JexlExpressionError extends Error {
2
- readonly code: string;
3
- constructor(message: string, code: string);
4
- }
5
- //# sourceMappingURL=jexl-expression.error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jexl-expression.error.d.ts","sourceRoot":"","sources":["../../../src/common/errors/jexl-expression.error.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;aAG1B,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JexlExpressionError = void 0;
4
- class JexlExpressionError extends Error {
5
- code;
6
- constructor(message, code) {
7
- super(message);
8
- this.code = code;
9
- this.name = 'JexlExpressionError';
10
- }
11
- }
12
- exports.JexlExpressionError = JexlExpressionError;
13
- //# sourceMappingURL=jexl-expression.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jexl-expression.error.js","sourceRoot":"","sources":["../../../src/common/errors/jexl-expression.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAoB,SAAQ,KAAK;IAG1B;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AARD,kDAQC"}
@@ -1,5 +0,0 @@
1
- export declare class ObjectExpressionError extends Error {
2
- readonly code: string;
3
- constructor(message: string, code: string);
4
- }
5
- //# sourceMappingURL=object-expression.error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-expression.error.d.ts","sourceRoot":"","sources":["../../../src/common/errors/object-expression.error.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObjectExpressionError = void 0;
4
- class ObjectExpressionError extends Error {
5
- code;
6
- constructor(message, code) {
7
- super(message);
8
- this.code = code;
9
- this.name = 'ObjectExpressionError';
10
- }
11
- }
12
- exports.ObjectExpressionError = ObjectExpressionError;
13
- //# sourceMappingURL=object-expression.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-expression.error.js","sourceRoot":"","sources":["../../../src/common/errors/object-expression.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,qBAAsB,SAAQ,KAAK;IAG5B;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AARD,sDAQC"}
@@ -1,5 +0,0 @@
1
- export declare class TemplateExpressionError extends Error {
2
- readonly code: string;
3
- constructor(message: string, code: string);
4
- }
5
- //# sourceMappingURL=template-expression.error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-expression.error.d.ts","sourceRoot":"","sources":["../../../src/common/errors/template-expression.error.ts"],"names":[],"mappings":"AAAA,qBAAa,uBAAwB,SAAQ,KAAK;aAG9B,IAAI,EAAE,MAAM;gBAD5B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM;CAK/B"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TemplateExpressionError = void 0;
4
- class TemplateExpressionError extends Error {
5
- code;
6
- constructor(message, code) {
7
- super(message);
8
- this.code = code;
9
- this.name = 'ObjectExpressionError';
10
- }
11
- }
12
- exports.TemplateExpressionError = TemplateExpressionError;
13
- //# sourceMappingURL=template-expression.error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-expression.error.js","sourceRoot":"","sources":["../../../src/common/errors/template-expression.error.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;IAG9B;IAFlB,YACE,OAAe,EACC,IAAY;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AARD,0DAQC"}
@@ -1,16 +0,0 @@
1
- import { TemplateDetector, TemplateProcessor } from '../template.service';
2
- import { TemplateExOptions } from './template-expression.handler';
3
- export declare class JexlExpressionHandler implements TemplateDetector, TemplateProcessor {
4
- private readonly logger;
5
- private readonly EXPRESSION_PATTERN;
6
- private readonly MAX_EXPRESSION_LENGTH;
7
- private readonly FORBIDDEN_PATTERNS;
8
- private readonly defaultInstance;
9
- canHandle(value: unknown): boolean;
10
- process(content: string, data: Record<string, unknown>, options?: TemplateExOptions): unknown;
11
- private createInstance;
12
- private extractExpression;
13
- private validateExpression;
14
- private evaluateExpression;
15
- }
16
- //# sourceMappingURL=jexl-expression.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jexl-expression.handler.d.ts","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/jexl-expression.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAOlE,qBACa,qBAAsB,YAAW,gBAAgB,EAAE,iBAAiB;IAC/E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuB;IAC1D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAG9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAyE;IAE5G,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;IAEjE,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO;IAkB7F,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var JexlExpressionHandler_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.JexlExpressionHandler = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const jexl_expression_error_1 = require("../../errors/jexl-expression.error");
13
- const jexl = require("jexl");
14
- let JexlExpressionHandler = JexlExpressionHandler_1 = class JexlExpressionHandler {
15
- logger = new common_1.Logger(JexlExpressionHandler_1.name);
16
- EXPRESSION_PATTERN = /^\$\{\{(.+)\}\}$/s;
17
- MAX_EXPRESSION_LENGTH = 2000;
18
- FORBIDDEN_PATTERNS = [/__proto__/, /constructor\s*\(/, /prototype\s*\./, /prototype\s*\[/];
19
- defaultInstance = new jexl.Jexl();
20
- canHandle(value) {
21
- return typeof value === 'string' && this.EXPRESSION_PATTERN.test(value.trim());
22
- }
23
- process(content, data, options) {
24
- try {
25
- const expression = this.extractExpression(content);
26
- this.validateExpression(expression);
27
- const instance = this.createInstance(options);
28
- return this.evaluateExpression(instance, expression, data);
29
- }
30
- catch (error) {
31
- if (error instanceof jexl_expression_error_1.JexlExpressionError) {
32
- throw error;
33
- }
34
- const message = error instanceof Error ? error.message : String(error);
35
- this.logger.error(`JEXL expression processing failed: ${message}`);
36
- throw new jexl_expression_error_1.JexlExpressionError('JEXL expression evaluation failed', 'EVALUATION_ERROR');
37
- }
38
- }
39
- createInstance(options) {
40
- if (!options?.helpers?.length) {
41
- return this.defaultInstance;
42
- }
43
- const instance = new jexl.Jexl();
44
- for (const helper of options.helpers) {
45
- instance.addFunction(helper.name, helper.fn);
46
- }
47
- return instance;
48
- }
49
- extractExpression(content) {
50
- const match = content.trim().match(this.EXPRESSION_PATTERN);
51
- if (!match?.[1]?.trim()) {
52
- throw new jexl_expression_error_1.JexlExpressionError('Invalid expression format', 'INVALID_FORMAT');
53
- }
54
- return match[1].trim();
55
- }
56
- validateExpression(expression) {
57
- if (expression.length > this.MAX_EXPRESSION_LENGTH) {
58
- throw new jexl_expression_error_1.JexlExpressionError(`Expression too long (max: ${this.MAX_EXPRESSION_LENGTH} characters)`, 'EXPRESSION_TOO_LONG');
59
- }
60
- for (const pattern of this.FORBIDDEN_PATTERNS) {
61
- if (pattern.test(expression)) {
62
- throw new jexl_expression_error_1.JexlExpressionError('Expression contains forbidden property access', 'FORBIDDEN_PROPERTY');
63
- }
64
- }
65
- }
66
- evaluateExpression(instance, expression, data) {
67
- try {
68
- return instance.evalSync(expression, data);
69
- }
70
- catch (error) {
71
- const message = error instanceof Error ? error.message : String(error);
72
- throw new jexl_expression_error_1.JexlExpressionError(`Failed to evaluate expression: ${message}`, 'EVALUATION_FAILED');
73
- }
74
- }
75
- };
76
- exports.JexlExpressionHandler = JexlExpressionHandler;
77
- exports.JexlExpressionHandler = JexlExpressionHandler = JexlExpressionHandler_1 = __decorate([
78
- (0, common_1.Injectable)()
79
- ], JexlExpressionHandler);
80
- //# sourceMappingURL=jexl-expression.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jexl-expression.handler.js","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/jexl-expression.handler.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import { TemplateDetector, TemplateProcessor } from '../template.service';
2
- export declare class ObjectExpressionHandler implements TemplateDetector, TemplateProcessor {
3
- private readonly logger;
4
- private readonly EXPRESSION_PATTERN;
5
- private readonly MAX_EXPRESSION_LENGTH;
6
- private readonly MAX_DEPTH;
7
- private readonly FORBIDDEN_PROPERTIES;
8
- canHandle(value: unknown): boolean;
9
- process(content: string, data: Record<string, unknown>): unknown;
10
- private extractExpression;
11
- private validateExpression;
12
- private evaluateExpression;
13
- }
14
- //# sourceMappingURL=object-expression.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-expression.handler.d.ts","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/object-expression.handler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,qBACa,uBAAwB,YAAW,gBAAgB,EAAE,iBAAiB;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAEnE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAM;IAGhC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAsD;IAE3F,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO;IAgBhE,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,kBAAkB;CAc3B"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var ObjectExpressionHandler_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.ObjectExpressionHandler = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const lodash_1 = require("lodash");
13
- const object_expression_error_1 = require("../../errors/object-expression.error");
14
- let ObjectExpressionHandler = ObjectExpressionHandler_1 = class ObjectExpressionHandler {
15
- logger = new common_1.Logger(ObjectExpressionHandler_1.name);
16
- EXPRESSION_PATTERN = /^\$\{(.+)\}$/;
17
- MAX_EXPRESSION_LENGTH = 1000;
18
- MAX_DEPTH = 10;
19
- FORBIDDEN_PROPERTIES = new Set(['__proto__', 'constructor', 'prototype']);
20
- canHandle(value) {
21
- return typeof value === 'string' && this.EXPRESSION_PATTERN.test(value.trim());
22
- }
23
- process(content, data) {
24
- try {
25
- const expression = this.extractExpression(content);
26
- this.validateExpression(expression);
27
- return this.evaluateExpression(expression, data);
28
- }
29
- catch (error) {
30
- if (error instanceof object_expression_error_1.ObjectExpressionError) {
31
- throw error;
32
- }
33
- const message = error instanceof Error ? error.message : String(error);
34
- this.logger.error(`Expression processing failed: ${message}`);
35
- throw new object_expression_error_1.ObjectExpressionError('Object expression evaluation failed', 'EVALUATION_ERROR');
36
- }
37
- }
38
- extractExpression(content) {
39
- const match = content.trim().match(this.EXPRESSION_PATTERN);
40
- if (!match?.[1]?.trim()) {
41
- throw new object_expression_error_1.ObjectExpressionError('Invalid expression format', 'INVALID_FORMAT');
42
- }
43
- return match[1].trim();
44
- }
45
- validateExpression(expression) {
46
- if (expression.length > this.MAX_EXPRESSION_LENGTH) {
47
- throw new object_expression_error_1.ObjectExpressionError(`Expression too long (max: ${this.MAX_EXPRESSION_LENGTH} characters)`, 'EXPRESSION_TOO_LONG');
48
- }
49
- const segments = expression.split('.').filter((s) => s.length > 0);
50
- if (segments.length > this.MAX_DEPTH) {
51
- throw new object_expression_error_1.ObjectExpressionError(`Expression depth too high (max: ${this.MAX_DEPTH} levels)`, 'DEPTH_EXCEEDED');
52
- }
53
- for (const segment of segments) {
54
- const cleanSegment = segment.replace(/\[\d+\]$/, '');
55
- if (this.FORBIDDEN_PROPERTIES.has(cleanSegment)) {
56
- throw new object_expression_error_1.ObjectExpressionError('Expression contains forbidden property access', 'FORBIDDEN_PROPERTY');
57
- }
58
- }
59
- }
60
- evaluateExpression(expression, data) {
61
- try {
62
- const value = (0, lodash_1.get)(data, expression);
63
- if (typeof value === 'function') {
64
- return value();
65
- }
66
- return value;
67
- }
68
- catch {
69
- throw new object_expression_error_1.ObjectExpressionError('Failed to evaluate expression', 'EVALUATION_FAILED');
70
- }
71
- }
72
- };
73
- exports.ObjectExpressionHandler = ObjectExpressionHandler;
74
- exports.ObjectExpressionHandler = ObjectExpressionHandler = ObjectExpressionHandler_1 = __decorate([
75
- (0, common_1.Injectable)()
76
- ], ObjectExpressionHandler);
77
- //# sourceMappingURL=object-expression.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object-expression.handler.js","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/object-expression.handler.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { z } from 'zod';
2
- import { CustomHelper, HandlebarsProcessor } from '../handlebars-processor.service';
3
- import { TemplateDetector, TemplateProcessor } from '../template.service';
4
- export interface TemplateExOptions {
5
- cacheKey?: string;
6
- schema?: z.ZodType;
7
- helpers?: CustomHelper[];
8
- }
9
- export declare class TemplateExpressionHandler implements TemplateDetector, TemplateProcessor {
10
- private readonly handlebarsProcessor;
11
- private readonly logger;
12
- private static readonly MAX_TEMPLATE_SIZE;
13
- constructor(handlebarsProcessor: HandlebarsProcessor);
14
- canHandle(value: unknown): boolean;
15
- process(content: string, data: Record<string, unknown>, options: TemplateExOptions): unknown;
16
- }
17
- //# sourceMappingURL=template-expression.handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-expression.handler.d.ts","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/template-expression.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO1E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,qBACa,yBAA0B,YAAW,gBAAgB,EAAE,iBAAiB;IAKvE,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IAJhD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8C;IAErE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAS;gBAErB,mBAAmB,EAAE,mBAAmB;IAErE,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIlC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;CA4B7F"}
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var TemplateExpressionHandler_1;
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.TemplateExpressionHandler = void 0;
14
- const common_1 = require("@nestjs/common");
15
- const template_expression_error_1 = require("../../errors/template-expression.error");
16
- const handlebars_processor_service_1 = require("../handlebars-processor.service");
17
- let TemplateExpressionHandler = class TemplateExpressionHandler {
18
- static { TemplateExpressionHandler_1 = this; }
19
- handlebarsProcessor;
20
- logger = new common_1.Logger(TemplateExpressionHandler_1.name);
21
- static MAX_TEMPLATE_SIZE = 50000;
22
- constructor(handlebarsProcessor) {
23
- this.handlebarsProcessor = handlebarsProcessor;
24
- }
25
- canHandle(value) {
26
- return typeof value === 'string' && value.includes('{{') && value.includes('}}') && !value.trim().startsWith('${{');
27
- }
28
- process(content, data, options) {
29
- try {
30
- const context = {
31
- data,
32
- depth: 0,
33
- };
34
- if (content.length > TemplateExpressionHandler_1.MAX_TEMPLATE_SIZE) {
35
- throw new template_expression_error_1.TemplateExpressionError('Template too large', 'EVALUATION_ERROR');
36
- }
37
- return this.handlebarsProcessor.render(content, context.data, {
38
- cacheKeyPrefix: options.cacheKey,
39
- helpers: options.helpers,
40
- });
41
- }
42
- catch (error) {
43
- const message = error instanceof Error ? error.message : String(error);
44
- this.logger.error(`Failed to process template expression: ${message}`, {
45
- expression: content,
46
- });
47
- if (error instanceof template_expression_error_1.TemplateExpressionError) {
48
- throw error;
49
- }
50
- throw new template_expression_error_1.TemplateExpressionError('Template expression evaluation failed', 'EVALUATION_ERROR');
51
- }
52
- }
53
- };
54
- exports.TemplateExpressionHandler = TemplateExpressionHandler;
55
- exports.TemplateExpressionHandler = TemplateExpressionHandler = TemplateExpressionHandler_1 = __decorate([
56
- (0, common_1.Injectable)(),
57
- __metadata("design:paramtypes", [handlebars_processor_service_1.HandlebarsProcessor])
58
- ], TemplateExpressionHandler);
59
- //# sourceMappingURL=template-expression.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-expression.handler.js","sourceRoot":"","sources":["../../../../src/common/services/expression-handler/template-expression.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,sFAAiF;AACjF,kFAAoF;AAe7E,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;;IAKP;IAJZ,MAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,CAAU,iBAAiB,GAAG,KAAK,CAAC;IAElD,YAA6B,mBAAwC;QAAxC,wBAAmB,GAAnB,mBAAmB,CAAqB;IAAG,CAAC;IAEzE,SAAS,CAAC,KAAc;QACtB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACtH,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,IAA6B,EAAE,OAA0B;QAChF,IAAI,CAAC;YACH,MAAM,OAAO,GAAsB;gBACjC,IAAI;gBACJ,KAAK,EAAE,CAAC;aACT,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,2BAAyB,CAAC,iBAAiB,EAAE,CAAC;gBACjE,MAAM,IAAI,mDAAuB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;YAC9E,CAAC;YAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;gBAC5D,cAAc,EAAE,OAAO,CAAC,QAAQ;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,OAAO,EAAE,EAAE;gBACrE,UAAU,EAAE,OAAO;aACpB,CAAC,CAAC;YAEH,IAAI,KAAK,YAAY,mDAAuB,EAAE,CAAC;gBAC7C,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,mDAAuB,CAAC,uCAAuC,EAAE,kBAAkB,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;;AAtCU,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAMuC,kDAAmB;GAL1D,yBAAyB,CAuCrC"}