@blokjs/runner 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/dist/Blok.d.ts +19 -0
  2. package/dist/Blok.js +184 -0
  3. package/dist/Blok.js.map +1 -0
  4. package/dist/BlokResponse.d.ts +16 -0
  5. package/dist/BlokResponse.js +28 -0
  6. package/dist/BlokResponse.js.map +1 -0
  7. package/dist/Configuration.d.ts +37 -0
  8. package/dist/Configuration.js +248 -0
  9. package/dist/Configuration.js.map +1 -0
  10. package/dist/ConfigurationResolver.d.ts +7 -0
  11. package/dist/ConfigurationResolver.js +15 -0
  12. package/dist/ConfigurationResolver.js.map +1 -0
  13. package/dist/DefaultLogger.d.ts +65 -0
  14. package/dist/DefaultLogger.js +101 -0
  15. package/dist/DefaultLogger.js.map +1 -0
  16. package/dist/LocalStorage.d.ts +7 -0
  17. package/dist/LocalStorage.js +56 -0
  18. package/dist/LocalStorage.js.map +1 -0
  19. package/dist/MemoryUsage.d.ts +22 -0
  20. package/dist/MemoryUsage.js +83 -0
  21. package/dist/MemoryUsage.js.map +1 -0
  22. package/dist/NodeMap.d.ts +7 -0
  23. package/dist/NodeMap.js +13 -0
  24. package/dist/NodeMap.js.map +1 -0
  25. package/dist/ResolverBase.d.ts +8 -0
  26. package/dist/ResolverBase.js +18 -0
  27. package/dist/ResolverBase.js.map +1 -0
  28. package/dist/Runner.d.ts +25 -0
  29. package/dist/Runner.js +32 -0
  30. package/dist/Runner.js.map +1 -0
  31. package/dist/RunnerNode.d.ts +9 -0
  32. package/dist/RunnerNode.js +8 -0
  33. package/dist/RunnerNode.js.map +1 -0
  34. package/dist/RunnerNodeBase.d.ts +4 -0
  35. package/dist/RunnerNodeBase.js +3 -0
  36. package/dist/RunnerNodeBase.js.map +1 -0
  37. package/dist/RunnerSteps.d.ts +14 -0
  38. package/dist/RunnerSteps.js +110 -0
  39. package/dist/RunnerSteps.js.map +1 -0
  40. package/dist/RuntimeAdapterNode.d.ts +19 -0
  41. package/dist/RuntimeAdapterNode.js +87 -0
  42. package/dist/RuntimeAdapterNode.js.map +1 -0
  43. package/dist/RuntimeRegistry.d.ts +61 -0
  44. package/dist/RuntimeRegistry.js +87 -0
  45. package/dist/RuntimeRegistry.js.map +1 -0
  46. package/dist/TriggerBase.d.ts +119 -0
  47. package/dist/TriggerBase.js +413 -0
  48. package/dist/TriggerBase.js.map +1 -0
  49. package/dist/adapters/BunRuntimeAdapter.d.ts +38 -0
  50. package/dist/adapters/BunRuntimeAdapter.js +169 -0
  51. package/dist/adapters/BunRuntimeAdapter.js.map +1 -0
  52. package/dist/adapters/DockerRuntimeAdapter.d.ts +85 -0
  53. package/dist/adapters/DockerRuntimeAdapter.js +298 -0
  54. package/dist/adapters/DockerRuntimeAdapter.js.map +1 -0
  55. package/dist/adapters/HttpRuntimeAdapter.d.ts +58 -0
  56. package/dist/adapters/HttpRuntimeAdapter.js +152 -0
  57. package/dist/adapters/HttpRuntimeAdapter.js.map +1 -0
  58. package/dist/adapters/NodeJsRuntimeAdapter.d.ts +23 -0
  59. package/dist/adapters/NodeJsRuntimeAdapter.js +67 -0
  60. package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -0
  61. package/dist/adapters/RuntimeAdapter.d.ts +42 -0
  62. package/dist/adapters/RuntimeAdapter.js +2 -0
  63. package/dist/adapters/RuntimeAdapter.js.map +1 -0
  64. package/dist/adapters/WasmRuntimeAdapter.d.ts +69 -0
  65. package/dist/adapters/WasmRuntimeAdapter.js +279 -0
  66. package/dist/adapters/WasmRuntimeAdapter.js.map +1 -0
  67. package/dist/cache/NodeResultCache.d.ts +286 -0
  68. package/dist/cache/NodeResultCache.js +499 -0
  69. package/dist/cache/NodeResultCache.js.map +1 -0
  70. package/dist/cache/index.d.ts +1 -0
  71. package/dist/cache/index.js +2 -0
  72. package/dist/cache/index.js.map +1 -0
  73. package/dist/cost/CostEstimator.d.ts +57 -0
  74. package/dist/cost/CostEstimator.js +171 -0
  75. package/dist/cost/CostEstimator.js.map +1 -0
  76. package/dist/cost/index.d.ts +4 -0
  77. package/dist/cost/index.js +3 -0
  78. package/dist/cost/index.js.map +1 -0
  79. package/dist/cost/pricing.d.ts +24 -0
  80. package/dist/cost/pricing.js +169 -0
  81. package/dist/cost/pricing.js.map +1 -0
  82. package/dist/defineNode.d.ts +155 -0
  83. package/dist/defineNode.js +191 -0
  84. package/dist/defineNode.js.map +1 -0
  85. package/dist/graphql/GraphQLSchemaGenerator.d.ts +129 -0
  86. package/dist/graphql/GraphQLSchemaGenerator.js +425 -0
  87. package/dist/graphql/GraphQLSchemaGenerator.js.map +1 -0
  88. package/dist/hmr/FileWatcher.d.ts +62 -0
  89. package/dist/hmr/FileWatcher.js +185 -0
  90. package/dist/hmr/FileWatcher.js.map +1 -0
  91. package/dist/hmr/HmrDevConsole.d.ts +13 -0
  92. package/dist/hmr/HmrDevConsole.js +46 -0
  93. package/dist/hmr/HmrDevConsole.js.map +1 -0
  94. package/dist/hmr/HotReloadManager.d.ts +84 -0
  95. package/dist/hmr/HotReloadManager.js +195 -0
  96. package/dist/hmr/HotReloadManager.js.map +1 -0
  97. package/dist/hmr/index.d.ts +39 -0
  98. package/dist/hmr/index.js +38 -0
  99. package/dist/hmr/index.js.map +1 -0
  100. package/dist/index.d.ts +107 -0
  101. package/dist/index.js +107 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/integrations/APMIntegration.d.ts +141 -0
  104. package/dist/integrations/APMIntegration.js +212 -0
  105. package/dist/integrations/APMIntegration.js.map +1 -0
  106. package/dist/integrations/AzureMonitorIntegration.d.ts +118 -0
  107. package/dist/integrations/AzureMonitorIntegration.js +254 -0
  108. package/dist/integrations/AzureMonitorIntegration.js.map +1 -0
  109. package/dist/integrations/CloudWatchIntegration.d.ts +135 -0
  110. package/dist/integrations/CloudWatchIntegration.js +293 -0
  111. package/dist/integrations/CloudWatchIntegration.js.map +1 -0
  112. package/dist/integrations/SentryIntegration.d.ts +153 -0
  113. package/dist/integrations/SentryIntegration.js +200 -0
  114. package/dist/integrations/SentryIntegration.js.map +1 -0
  115. package/dist/integrations/index.d.ts +19 -0
  116. package/dist/integrations/index.js +16 -0
  117. package/dist/integrations/index.js.map +1 -0
  118. package/dist/marketplace/RuntimeAutoScaler.d.ts +148 -0
  119. package/dist/marketplace/RuntimeAutoScaler.js +366 -0
  120. package/dist/marketplace/RuntimeAutoScaler.js.map +1 -0
  121. package/dist/marketplace/RuntimeCatalog.d.ts +174 -0
  122. package/dist/marketplace/RuntimeCatalog.js +339 -0
  123. package/dist/marketplace/RuntimeCatalog.js.map +1 -0
  124. package/dist/marketplace/RuntimeDiscovery.d.ts +86 -0
  125. package/dist/marketplace/RuntimeDiscovery.js +219 -0
  126. package/dist/marketplace/RuntimeDiscovery.js.map +1 -0
  127. package/dist/marketplace/RuntimeHealthMonitor.d.ts +100 -0
  128. package/dist/marketplace/RuntimeHealthMonitor.js +241 -0
  129. package/dist/marketplace/RuntimeHealthMonitor.js.map +1 -0
  130. package/dist/marketplace/RuntimeMetricsDashboard.d.ts +113 -0
  131. package/dist/marketplace/RuntimeMetricsDashboard.js +293 -0
  132. package/dist/marketplace/RuntimeMetricsDashboard.js.map +1 -0
  133. package/dist/monitoring/CircuitBreaker.d.ts +107 -0
  134. package/dist/monitoring/CircuitBreaker.js +238 -0
  135. package/dist/monitoring/CircuitBreaker.js.map +1 -0
  136. package/dist/monitoring/DistributedTracer.d.ts +125 -0
  137. package/dist/monitoring/DistributedTracer.js +230 -0
  138. package/dist/monitoring/DistributedTracer.js.map +1 -0
  139. package/dist/monitoring/HealthCheck.d.ts +54 -0
  140. package/dist/monitoring/HealthCheck.js +102 -0
  141. package/dist/monitoring/HealthCheck.js.map +1 -0
  142. package/dist/monitoring/PerformanceProfiler.d.ts +63 -0
  143. package/dist/monitoring/PerformanceProfiler.js +229 -0
  144. package/dist/monitoring/PerformanceProfiler.js.map +1 -0
  145. package/dist/monitoring/PrometheusBootstrap.d.ts +30 -0
  146. package/dist/monitoring/PrometheusBootstrap.js +71 -0
  147. package/dist/monitoring/PrometheusBootstrap.js.map +1 -0
  148. package/dist/monitoring/PrometheusMetricsBridge.d.ts +60 -0
  149. package/dist/monitoring/PrometheusMetricsBridge.js +216 -0
  150. package/dist/monitoring/PrometheusMetricsBridge.js.map +1 -0
  151. package/dist/monitoring/RateLimiter.d.ts +58 -0
  152. package/dist/monitoring/RateLimiter.js +128 -0
  153. package/dist/monitoring/RateLimiter.js.map +1 -0
  154. package/dist/monitoring/StructuredLogger.d.ts +131 -0
  155. package/dist/monitoring/StructuredLogger.js +207 -0
  156. package/dist/monitoring/StructuredLogger.js.map +1 -0
  157. package/dist/monitoring/TracingBootstrap.d.ts +69 -0
  158. package/dist/monitoring/TracingBootstrap.js +129 -0
  159. package/dist/monitoring/TracingBootstrap.js.map +1 -0
  160. package/dist/monitoring/TriggerMetricsCollector.d.ts +94 -0
  161. package/dist/monitoring/TriggerMetricsCollector.js +174 -0
  162. package/dist/monitoring/TriggerMetricsCollector.js.map +1 -0
  163. package/dist/monitoring/index.d.ts +9 -0
  164. package/dist/monitoring/index.js +10 -0
  165. package/dist/monitoring/index.js.map +1 -0
  166. package/dist/openapi/OpenAPIGenerator.d.ts +192 -0
  167. package/dist/openapi/OpenAPIGenerator.js +373 -0
  168. package/dist/openapi/OpenAPIGenerator.js.map +1 -0
  169. package/dist/openapi/index.d.ts +20 -0
  170. package/dist/openapi/index.js +20 -0
  171. package/dist/openapi/index.js.map +1 -0
  172. package/dist/security/ABAC.d.ts +224 -0
  173. package/dist/security/ABAC.js +380 -0
  174. package/dist/security/ABAC.js.map +1 -0
  175. package/dist/security/AuditLogger.d.ts +242 -0
  176. package/dist/security/AuditLogger.js +317 -0
  177. package/dist/security/AuditLogger.js.map +1 -0
  178. package/dist/security/AuthMiddleware.d.ts +163 -0
  179. package/dist/security/AuthMiddleware.js +274 -0
  180. package/dist/security/AuthMiddleware.js.map +1 -0
  181. package/dist/security/EncryptionAtRest.d.ts +206 -0
  182. package/dist/security/EncryptionAtRest.js +236 -0
  183. package/dist/security/EncryptionAtRest.js.map +1 -0
  184. package/dist/security/OAuthProvider.d.ts +334 -0
  185. package/dist/security/OAuthProvider.js +719 -0
  186. package/dist/security/OAuthProvider.js.map +1 -0
  187. package/dist/security/PIIDetector.d.ts +233 -0
  188. package/dist/security/PIIDetector.js +354 -0
  189. package/dist/security/PIIDetector.js.map +1 -0
  190. package/dist/security/RBAC.d.ts +143 -0
  191. package/dist/security/RBAC.js +285 -0
  192. package/dist/security/RBAC.js.map +1 -0
  193. package/dist/security/SecretManager.d.ts +652 -0
  194. package/dist/security/SecretManager.js +1146 -0
  195. package/dist/security/SecretManager.js.map +1 -0
  196. package/dist/security/TLSConfig.d.ts +305 -0
  197. package/dist/security/TLSConfig.js +550 -0
  198. package/dist/security/TLSConfig.js.map +1 -0
  199. package/dist/security/index.d.ts +79 -0
  200. package/dist/security/index.js +80 -0
  201. package/dist/security/index.js.map +1 -0
  202. package/dist/testing/TestHarness.d.ts +189 -0
  203. package/dist/testing/TestHarness.js +272 -0
  204. package/dist/testing/TestHarness.js.map +1 -0
  205. package/dist/testing/TestLogger.d.ts +103 -0
  206. package/dist/testing/TestLogger.js +153 -0
  207. package/dist/testing/TestLogger.js.map +1 -0
  208. package/dist/testing/WorkflowTestRunner.d.ts +172 -0
  209. package/dist/testing/WorkflowTestRunner.js +355 -0
  210. package/dist/testing/WorkflowTestRunner.js.map +1 -0
  211. package/dist/testing/index.d.ts +21 -0
  212. package/dist/testing/index.js +22 -0
  213. package/dist/testing/index.js.map +1 -0
  214. package/dist/tracing/InMemoryRunStore.d.ts +44 -0
  215. package/dist/tracing/InMemoryRunStore.js +341 -0
  216. package/dist/tracing/InMemoryRunStore.js.map +1 -0
  217. package/dist/tracing/PostgresRunStore.d.ts +82 -0
  218. package/dist/tracing/PostgresRunStore.js +640 -0
  219. package/dist/tracing/PostgresRunStore.js.map +1 -0
  220. package/dist/tracing/RunStore.d.ts +38 -0
  221. package/dist/tracing/RunStore.js +2 -0
  222. package/dist/tracing/RunStore.js.map +1 -0
  223. package/dist/tracing/RunTracker.d.ts +75 -0
  224. package/dist/tracing/RunTracker.js +374 -0
  225. package/dist/tracing/RunTracker.js.map +1 -0
  226. package/dist/tracing/SqliteRunStore.d.ts +53 -0
  227. package/dist/tracing/SqliteRunStore.js +703 -0
  228. package/dist/tracing/SqliteRunStore.js.map +1 -0
  229. package/dist/tracing/TraceRouter.d.ts +47 -0
  230. package/dist/tracing/TraceRouter.js +904 -0
  231. package/dist/tracing/TraceRouter.js.map +1 -0
  232. package/dist/tracing/TracingLogger.d.ts +21 -0
  233. package/dist/tracing/TracingLogger.js +62 -0
  234. package/dist/tracing/TracingLogger.js.map +1 -0
  235. package/dist/tracing/createStore.d.ts +30 -0
  236. package/dist/tracing/createStore.js +75 -0
  237. package/dist/tracing/createStore.js.map +1 -0
  238. package/dist/tracing/index.d.ts +13 -0
  239. package/dist/tracing/index.js +9 -0
  240. package/dist/tracing/index.js.map +1 -0
  241. package/dist/tracing/sanitize.d.ts +7 -0
  242. package/dist/tracing/sanitize.js +95 -0
  243. package/dist/tracing/sanitize.js.map +1 -0
  244. package/dist/tracing/types.d.ts +178 -0
  245. package/dist/tracing/types.js +3 -0
  246. package/dist/tracing/types.js.map +1 -0
  247. package/dist/types/Average.d.ts +11 -0
  248. package/dist/types/Average.js +2 -0
  249. package/dist/types/Average.js.map +1 -0
  250. package/dist/types/Condition.d.ts +8 -0
  251. package/dist/types/Condition.js +2 -0
  252. package/dist/types/Condition.js.map +1 -0
  253. package/dist/types/Conditions.d.ts +5 -0
  254. package/dist/types/Conditions.js +2 -0
  255. package/dist/types/Conditions.js.map +1 -0
  256. package/dist/types/Config.d.ts +12 -0
  257. package/dist/types/Config.js +2 -0
  258. package/dist/types/Config.js.map +1 -0
  259. package/dist/types/Flow.d.ts +5 -0
  260. package/dist/types/Flow.js +2 -0
  261. package/dist/types/Flow.js.map +1 -0
  262. package/dist/types/GlobalOptions.d.ts +11 -0
  263. package/dist/types/GlobalOptions.js +2 -0
  264. package/dist/types/GlobalOptions.js.map +1 -0
  265. package/dist/types/Inputs.d.ts +5 -0
  266. package/dist/types/Inputs.js +2 -0
  267. package/dist/types/Inputs.js.map +1 -0
  268. package/dist/types/JsonLikeObject.d.ts +3 -0
  269. package/dist/types/JsonLikeObject.js +2 -0
  270. package/dist/types/JsonLikeObject.js.map +1 -0
  271. package/dist/types/Mapper.d.ts +5 -0
  272. package/dist/types/Mapper.js +2 -0
  273. package/dist/types/Mapper.js.map +1 -0
  274. package/dist/types/Node.d.ts +10 -0
  275. package/dist/types/Node.js +2 -0
  276. package/dist/types/Node.js.map +1 -0
  277. package/dist/types/ParamsDictionary.d.ts +3 -0
  278. package/dist/types/ParamsDictionary.js +2 -0
  279. package/dist/types/ParamsDictionary.js.map +1 -0
  280. package/dist/types/Properties.d.ts +5 -0
  281. package/dist/types/Properties.js +2 -0
  282. package/dist/types/Properties.js.map +1 -0
  283. package/dist/types/Targets.d.ts +5 -0
  284. package/dist/types/Targets.js +2 -0
  285. package/dist/types/Targets.js.map +1 -0
  286. package/dist/types/Trigger.d.ts +5 -0
  287. package/dist/types/Trigger.js +2 -0
  288. package/dist/types/Trigger.js.map +1 -0
  289. package/dist/types/TriggerHttp.d.ts +7 -0
  290. package/dist/types/TriggerHttp.js +2 -0
  291. package/dist/types/TriggerHttp.js.map +1 -0
  292. package/dist/types/TriggerResponse.d.ts +6 -0
  293. package/dist/types/TriggerResponse.js +2 -0
  294. package/dist/types/TriggerResponse.js.map +1 -0
  295. package/dist/types/Triggers.d.ts +5 -0
  296. package/dist/types/Triggers.js +2 -0
  297. package/dist/types/Triggers.js.map +1 -0
  298. package/dist/types/TryCatch.d.ts +6 -0
  299. package/dist/types/TryCatch.js +2 -0
  300. package/dist/types/TryCatch.js.map +1 -0
  301. package/dist/visualization/NodeDependencyGraph.d.ts +76 -0
  302. package/dist/visualization/NodeDependencyGraph.js +418 -0
  303. package/dist/visualization/NodeDependencyGraph.js.map +1 -0
  304. package/dist/visualization/WorkflowVisualizer.d.ts +144 -0
  305. package/dist/visualization/WorkflowVisualizer.js +446 -0
  306. package/dist/visualization/WorkflowVisualizer.js.map +1 -0
  307. package/package.json +95 -0
@@ -0,0 +1,65 @@
1
+ import { GlobalLogger } from "@blokjs/shared";
2
+ /**
3
+ * DefaultLogger class extends GlobalLogger to provide logging functionality
4
+ * with additional metadata such as workflow name, workflow path, request ID,
5
+ * environment, and application name.
6
+ */
7
+ export default class DefaultLogger extends GlobalLogger {
8
+ /**
9
+ * The name of the workflow.
10
+ */
11
+ workflowName: string | undefined;
12
+ /**
13
+ * The path of the workflow.
14
+ */
15
+ workflowPath: string | undefined;
16
+ /**
17
+ * The ID of the request.
18
+ */
19
+ requestId: string | undefined;
20
+ /**
21
+ * The environment in which the application is running.
22
+ */
23
+ env: string | undefined;
24
+ /**
25
+ * The name of the application.
26
+ */
27
+ appName: string | undefined;
28
+ /**
29
+ * Constructs a new DefaultLogger instance.
30
+ *
31
+ * @param workflowName - The name of the workflow.
32
+ * @param workflowPath - The path of the workflow.
33
+ * @param requestId - The ID of the request.
34
+ */
35
+ constructor(workflowName?: string, workflowPath?: string, requestId?: string);
36
+ /**
37
+ * Logs a message to the console with metadata.
38
+ *
39
+ * @param message - The message to log.
40
+ */
41
+ log(message: string): void;
42
+ /**
43
+ * Logs a message to the console with a specified log level and metadata.
44
+ *
45
+ * @param level - The log level (e.g., "info", "error").
46
+ * @param message - The message to log.
47
+ */
48
+ logLevel(level: string, message: string): void;
49
+ /**
50
+ * Logs an error message to the console with metadata.
51
+ *
52
+ * @param message - The error message to log.
53
+ * @param stack - The stack trace (optional).
54
+ */
55
+ error(message: string, stack?: string): void;
56
+ /**
57
+ * Injects metadata into a log message.
58
+ *
59
+ * @param message - The message to inject metadata into.
60
+ * @param level - The log level (default is "info").
61
+ * @param stack - The stack trace (optional).
62
+ * @returns The message with injected metadata.
63
+ */
64
+ injectMetadata(message: string, level?: string, stack?: string): string;
65
+ }
@@ -0,0 +1,101 @@
1
+ import { GlobalLogger } from "@blokjs/shared";
2
+ /**
3
+ * DefaultLogger class extends GlobalLogger to provide logging functionality
4
+ * with additional metadata such as workflow name, workflow path, request ID,
5
+ * environment, and application name.
6
+ */
7
+ export default class DefaultLogger extends GlobalLogger {
8
+ /**
9
+ * The name of the workflow.
10
+ */
11
+ workflowName = "";
12
+ /**
13
+ * The path of the workflow.
14
+ */
15
+ workflowPath = "";
16
+ /**
17
+ * The ID of the request.
18
+ */
19
+ requestId = "";
20
+ /**
21
+ * The environment in which the application is running.
22
+ */
23
+ env = "";
24
+ /**
25
+ * The name of the application.
26
+ */
27
+ appName = "";
28
+ /**
29
+ * Constructs a new DefaultLogger instance.
30
+ *
31
+ * @param workflowName - The name of the workflow.
32
+ * @param workflowPath - The path of the workflow.
33
+ * @param requestId - The ID of the request.
34
+ */
35
+ constructor(workflowName, workflowPath, requestId) {
36
+ super();
37
+ this.workflowName = workflowName;
38
+ this.workflowPath = workflowPath;
39
+ this.requestId = requestId;
40
+ this.env = process.env.NODE_ENV;
41
+ this.appName = process.env.APP_NAME;
42
+ }
43
+ /**
44
+ * Logs a message to the console with metadata.
45
+ *
46
+ * @param message - The message to log.
47
+ */
48
+ log(message) {
49
+ if (process.env.CONSOLE_LOG_ACTIVE === "false")
50
+ return;
51
+ console.log(this.injectMetadata(message));
52
+ }
53
+ /**
54
+ * Logs a message to the console with a specified log level and metadata.
55
+ *
56
+ * @param level - The log level (e.g., "info", "error").
57
+ * @param message - The message to log.
58
+ */
59
+ logLevel(level, message) {
60
+ if (process.env.CONSOLE_LOG_ACTIVE === "false")
61
+ return;
62
+ console.log(this.injectMetadata(message, level));
63
+ }
64
+ /**
65
+ * Logs an error message to the console with metadata.
66
+ *
67
+ * @param message - The error message to log.
68
+ * @param stack - The stack trace (optional).
69
+ */
70
+ error(message, stack = "") {
71
+ if (process.env.CONSOLE_LOG_ACTIVE === "false")
72
+ return;
73
+ console.error(this.injectMetadata(message, "error", stack));
74
+ }
75
+ /**
76
+ * Injects metadata into a log message.
77
+ *
78
+ * @param message - The message to inject metadata into.
79
+ * @param level - The log level (default is "info").
80
+ * @param stack - The stack trace (optional).
81
+ * @returns The message with injected metadata.
82
+ */
83
+ injectMetadata(message, level = "info", stack = "") {
84
+ const logEntry = {
85
+ level,
86
+ app: this.appName,
87
+ env: this.env,
88
+ message,
89
+ };
90
+ if (this.workflowName)
91
+ logEntry.workflow_name = this.workflowName;
92
+ if (this.workflowPath)
93
+ logEntry.workflow_path = this.workflowPath;
94
+ if (this.requestId)
95
+ logEntry.request_id = this.requestId;
96
+ if (stack !== "")
97
+ logEntry.stack = stack;
98
+ return JSON.stringify(logEntry);
99
+ }
100
+ }
101
+ //# sourceMappingURL=DefaultLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultLogger.js","sourceRoot":"","sources":["../src/DefaultLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACtD;;OAEG;IACH,YAAY,GAAuB,EAAE,CAAC;IAEtC;;OAEG;IACH,YAAY,GAAuB,EAAE,CAAC;IAEtC;;OAEG;IACH,SAAS,GAAuB,EAAE,CAAC;IAEnC;;OAEG;IACH,GAAG,GAAuB,EAAE,CAAC;IAE7B;;OAEG;IACH,OAAO,GAAuB,EAAE,CAAC;IAEjC;;;;;;OAMG;IACH,YAAY,YAAqB,EAAE,YAAqB,EAAE,SAAkB;QAC3E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAe;QAClB,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,OAAO;YAAE,OAAO;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAa,EAAE,OAAe;QACtC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,OAAO;YAAE,OAAO;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAe,EAAE,KAAK,GAAG,EAAE;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,OAAO;YAAE,OAAO;QACvD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,OAAe,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,GAAG,EAAE;QACzD,MAAM,QAAQ,GAA4B;YACzC,KAAK;YACL,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO;SACP,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY;YAAE,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QAClE,IAAI,IAAI,CAAC,YAAY;YAAE,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QAClE,IAAI,IAAI,CAAC,SAAS;YAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACzD,IAAI,KAAK,KAAK,EAAE;YAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QAEzC,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;CACD"}
@@ -0,0 +1,7 @@
1
+ import ResolverBase from "./ResolverBase";
2
+ import type Config from "./types/Config";
3
+ import type { WorkflowLocator } from "./types/GlobalOptions";
4
+ export default class LocalStorage extends ResolverBase {
5
+ protected fileTypes: string[];
6
+ get(name: string, workflowLocator: WorkflowLocator, fileType?: string): Promise<Config>;
7
+ }
@@ -0,0 +1,56 @@
1
+ // @ts-ignore
2
+ import fs from "node:fs";
3
+ import { XMLParser } from "fast-xml-parser";
4
+ import { parse } from "smol-toml";
5
+ import YAML from "yaml";
6
+ import ResolverBase from "./ResolverBase";
7
+ export default class LocalStorage extends ResolverBase {
8
+ fileTypes = ["json", "yaml", "xml", "toml"];
9
+ async get(name, workflowLocator, fileType) {
10
+ const rootPath = process.env.VITE_WORKFLOWS_PATH || process.env.WORKFLOWS_PATH;
11
+ let workflowFileType = fileType || process.env.VITE_WORKFLOWS_FILE_TYPE || process.env.WORKFLOWS_FILE_TYPE;
12
+ if (workflowFileType === undefined)
13
+ workflowFileType = "json";
14
+ let name_fixed = name;
15
+ if (name_fixed.indexOf(".") !== -1) {
16
+ // If the name contains a dot it is a file path
17
+ // and we should use the file type of the file path
18
+ const parts = name.split(".");
19
+ workflowFileType = parts[parts.length - 1].toLowerCase();
20
+ if (!this.fileTypes.includes(workflowFileType)) {
21
+ throw new Error(`File type not supported: ${workflowFileType}`);
22
+ }
23
+ name_fixed = parts.slice(0, -1).join(".");
24
+ }
25
+ const workflowPathJson = `${rootPath}/${workflowFileType}/${name_fixed}.${workflowFileType}`;
26
+ const fileExists = fs.existsSync(workflowPathJson);
27
+ if (fileExists) {
28
+ if (workflowFileType === "json") {
29
+ return JSON.parse(fs.readFileSync(workflowPathJson, "utf8"));
30
+ }
31
+ if (workflowFileType === "yaml") {
32
+ const yaml = fs.readFileSync(workflowPathJson, "utf8");
33
+ return YAML.parse(yaml);
34
+ }
35
+ if (workflowFileType === "xml") {
36
+ const xml = fs.readFileSync(workflowPathJson, "utf8");
37
+ const json = new XMLParser({ isArray: (tag) => tag === "steps" }).parse(xml);
38
+ return json;
39
+ }
40
+ if (workflowFileType === "toml") {
41
+ const toml = fs.readFileSync(workflowPathJson, "utf8");
42
+ const json = parse(toml);
43
+ return json;
44
+ }
45
+ }
46
+ if (workflowLocator !== undefined) {
47
+ const helperExists = workflowLocator[name] !== undefined;
48
+ if (helperExists) {
49
+ const json = JSON.parse(workflowLocator[name].toJson());
50
+ return json;
51
+ }
52
+ }
53
+ throw new Error(`Workflow not found: ${name}`);
54
+ }
55
+ }
56
+ //# sourceMappingURL=LocalStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalStorage.js","sourceRoot":"","sources":["../src/LocalStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type Average from "./types/Average";
2
+ export default class MemoryUsage {
3
+ usages: number[];
4
+ protected cpuUsages: number[];
5
+ timer: NodeJS.Timeout | undefined;
6
+ protected cpuStartMeasure: MeasureCpuType;
7
+ cpu_model: string;
8
+ constructor();
9
+ start(): Promise<void>;
10
+ stop(): void;
11
+ getUsages(): Promise<number[]>;
12
+ getAverage(): Promise<Average>;
13
+ clear(): void;
14
+ measureCpu(): MeasureCpuType;
15
+ }
16
+ type MeasureCpuType = {
17
+ idle: number;
18
+ total: number;
19
+ model: string;
20
+ cpus: number;
21
+ };
22
+ export {};
@@ -0,0 +1,83 @@
1
+ // @ts-ignore
2
+ import os from "node:os";
3
+ export default class MemoryUsage {
4
+ usages = [];
5
+ cpuUsages = [];
6
+ timer;
7
+ cpuStartMeasure = {};
8
+ cpu_model = "";
9
+ constructor() {
10
+ this.timer = undefined;
11
+ this.cpuUsages = [];
12
+ }
13
+ async start() {
14
+ this.cpuStartMeasure = this.measureCpu();
15
+ this.timer = await setInterval(async () => {
16
+ const usage = process.memoryUsage().heapUsed;
17
+ this.usages.push(usage / 1000000);
18
+ const endMeasure = this.measureCpu();
19
+ const idleDifference = endMeasure.idle - this.cpuStartMeasure.idle;
20
+ const totalDifference = endMeasure.total - this.cpuStartMeasure.total;
21
+ const percentageCpu = 100 - (100 * idleDifference) / totalDifference;
22
+ this.cpuUsages.push(percentageCpu);
23
+ this.cpu_model = endMeasure.model;
24
+ }, 1);
25
+ }
26
+ stop() {
27
+ clearInterval(this.timer);
28
+ }
29
+ async getUsages() {
30
+ return new Promise((resolve) => {
31
+ resolve(this.usages);
32
+ });
33
+ }
34
+ async getAverage() {
35
+ return new Promise((resolve) => {
36
+ let total = 0;
37
+ for (let i = 0; i < this.usages.length; i++) {
38
+ total += this.usages[i];
39
+ }
40
+ const max = Math.max(...this.usages);
41
+ const min = Math.min(...this.usages);
42
+ resolve({
43
+ total: total / this.usages.length,
44
+ min: min,
45
+ max: max,
46
+ global_memory: os.totalmem() / 1000000,
47
+ global_free_memory: os.freemem() / 1000000,
48
+ cpu_percentage: Math.max(...this.cpuUsages),
49
+ cpu_total: os.cpus().length,
50
+ cpu_usage: (Math.max(...this.cpuUsages) * os.cpus().length) / 100,
51
+ });
52
+ });
53
+ }
54
+ clear() {
55
+ this.usages = [];
56
+ this.cpuUsages = [];
57
+ if (global.gc) {
58
+ global.gc();
59
+ }
60
+ }
61
+ measureCpu() {
62
+ const cpus = os.cpus();
63
+ let idleMs = 0;
64
+ let totalMs = 0;
65
+ const total = cpus.length;
66
+ for (let i = 0, len = cpus.length; i < len; i++) {
67
+ const cpu = cpus[i];
68
+ totalMs += cpu.times.idle;
69
+ totalMs += cpu.times.irq;
70
+ totalMs += cpu.times.nice;
71
+ totalMs += cpu.times.sys;
72
+ totalMs += cpu.times.user;
73
+ idleMs += cpu.times.idle;
74
+ }
75
+ return {
76
+ idle: idleMs / cpus.length,
77
+ total: totalMs / cpus.length,
78
+ model: cpus[0].model,
79
+ cpus: total,
80
+ };
81
+ }
82
+ }
83
+ //# sourceMappingURL=MemoryUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryUsage.js","sourceRoot":"","sources":["../src/MemoryUsage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { NodeBase } from "@blokjs/shared";
2
+ export default class NodeMap {
3
+ nodes: Map<string, NodeBase>;
4
+ addNode(name: string, node: NodeBase): void;
5
+ getNode(name: string): NodeBase | undefined;
6
+ getNodes(): Map<string, NodeBase>;
7
+ }
@@ -0,0 +1,13 @@
1
+ export default class NodeMap {
2
+ nodes = new Map();
3
+ addNode(name, node) {
4
+ this.nodes.set(name, node);
5
+ }
6
+ getNode(name) {
7
+ return this.nodes.get(name);
8
+ }
9
+ getNodes() {
10
+ return this.nodes;
11
+ }
12
+ }
13
+ //# sourceMappingURL=NodeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeMap.js","sourceRoot":"","sources":["../src/NodeMap.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,OAAO;IACpB,KAAK,GAA0B,IAAI,GAAG,EAAoB,CAAC;IAE3D,OAAO,CAAC,IAAY,EAAE,IAAc;QAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,OAAO,CAAC,IAAY;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD"}
@@ -0,0 +1,8 @@
1
+ import type { Context, GlobalLogger } from "@blokjs/shared";
2
+ import type Config from "./types/Config";
3
+ import type { WorkflowLocator } from "./types/GlobalOptions";
4
+ declare abstract class ResolverBase {
5
+ abstract get(name: string, workflow: WorkflowLocator): Promise<Config>;
6
+ createContext(logger?: GlobalLogger): Context;
7
+ }
8
+ export default ResolverBase;
@@ -0,0 +1,18 @@
1
+ import DefaultLogger from "./DefaultLogger";
2
+ class ResolverBase {
3
+ createContext(logger) {
4
+ const ctx = {
5
+ id: "",
6
+ config: {},
7
+ request: { body: {} },
8
+ response: { data: "", contentType: "", success: true, error: null },
9
+ error: { message: [] },
10
+ logger: logger || new DefaultLogger(),
11
+ eventLogger: null,
12
+ _PRIVATE_: null,
13
+ };
14
+ return ctx;
15
+ }
16
+ }
17
+ export default ResolverBase;
18
+ //# sourceMappingURL=ResolverBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../src/ResolverBase.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAI5C,MAAe,YAAY;IAG1B,aAAa,CAAC,MAAqB;QAClC,MAAM,GAAG,GAAY;YACpB,EAAE,EAAE,EAAE;YACN,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACrB,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YACnE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YACtB,MAAM,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE;YACrC,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;SACf,CAAC;QAEF,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AAED,eAAe,YAAY,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { Context, NodeBase } from "@blokjs/shared";
2
+ import RunnerSteps from "./RunnerSteps";
3
+ /**
4
+ * Runner class that extends RunnerSteps to execute a series of BlokService steps.
5
+ */
6
+ export default class Runner extends RunnerSteps {
7
+ private steps;
8
+ /**
9
+ * Constructs a new Runner instance.
10
+ *
11
+ * @param steps - An array of BlokService steps to be executed.
12
+ */
13
+ constructor(steps?: NodeBase[]);
14
+ /**
15
+ * Returns the number of steps in this runner.
16
+ */
17
+ getStepCount(): number;
18
+ /**
19
+ * Executes the series of BlokService steps with the given context.
20
+ *
21
+ * @param ctx - The context to be passed through the steps.
22
+ * @returns A promise that resolves to the final context after all steps have been executed.
23
+ */
24
+ run(ctx: Context): Promise<Context>;
25
+ }
package/dist/Runner.js ADDED
@@ -0,0 +1,32 @@
1
+ import RunnerSteps from "./RunnerSteps";
2
+ /**
3
+ * Runner class that extends RunnerSteps to execute a series of BlokService steps.
4
+ */
5
+ export default class Runner extends RunnerSteps {
6
+ steps;
7
+ /**
8
+ * Constructs a new Runner instance.
9
+ *
10
+ * @param steps - An array of BlokService steps to be executed.
11
+ */
12
+ constructor(steps = []) {
13
+ super();
14
+ this.steps = steps;
15
+ }
16
+ /**
17
+ * Returns the number of steps in this runner.
18
+ */
19
+ getStepCount() {
20
+ return this.steps.length;
21
+ }
22
+ /**
23
+ * Executes the series of BlokService steps with the given context.
24
+ *
25
+ * @param ctx - The context to be passed through the steps.
26
+ * @returns A promise that resolves to the final context after all steps have been executed.
27
+ */
28
+ async run(ctx) {
29
+ return await this.runSteps(ctx, this.steps);
30
+ }
31
+ }
32
+ //# sourceMappingURL=Runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Runner.js","sourceRoot":"","sources":["../src/Runner.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IACtC,KAAK,CAAa;IAE1B;;;;OAIG;IACH,YAAY,QAAoB,EAAE;QACjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,YAAY;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAG,CAAC,GAAY;QACrB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;CACD"}
@@ -0,0 +1,9 @@
1
+ import { type Context, NodeBase, type ResponseContext, type Step } from "@blokjs/shared";
2
+ import type { RuntimeKind } from "./adapters/RuntimeAdapter";
3
+ export default abstract class RunnerNode extends NodeBase implements Step {
4
+ node: string;
5
+ type: string;
6
+ runtime?: RuntimeKind;
7
+ config?: Record<string, unknown>;
8
+ abstract run(ctx: Context): Promise<ResponseContext>;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { NodeBase } from "@blokjs/shared";
2
+ export default class RunnerNode extends NodeBase {
3
+ node = "";
4
+ type = "";
5
+ runtime;
6
+ config;
7
+ }
8
+ //# sourceMappingURL=RunnerNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunnerNode.js","sourceRoot":"","sources":["../src/RunnerNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,QAAQ,EAAmC,MAAM,gBAAgB,CAAC;AAGzF,MAAM,CAAC,OAAO,OAAgB,UAAW,SAAQ,QAAQ;IACjD,IAAI,GAAG,EAAE,CAAC;IACV,IAAI,GAAG,EAAE,CAAC;IACV,OAAO,CAAe;IACtB,MAAM,CAA2B;CAGxC"}
@@ -0,0 +1,4 @@
1
+ import type Node from "./types/Node";
2
+ export default abstract class RunnerNodeBase implements Node {
3
+ [key: string]: import(".").Flow | import(".").Properties | import(".").Conditions | import(".").Condition | import("./types/Mapper").default | import("./types/TryCatch").default;
4
+ }
@@ -0,0 +1,3 @@
1
+ export default class RunnerNodeBase {
2
+ }
3
+ //# sourceMappingURL=RunnerNodeBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunnerNodeBase.js","sourceRoot":"","sources":["../src/RunnerNodeBase.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAgB,cAAc;CAQ3C"}
@@ -0,0 +1,14 @@
1
+ import { type Context, type NodeBase } from "@blokjs/shared";
2
+ export default abstract class RunnerSteps {
3
+ /**
4
+ * Executes a series of steps in the given context.
5
+ *
6
+ * @param ctx - The context in which the steps are executed.
7
+ * @param steps - An array of BlokService steps to be executed.
8
+ * @param deep - A boolean indicating whether the function is being called recursively for flow steps.
9
+ * @param step_name - The name of the current step being processed in a flow.
10
+ * @returns A promise that resolves to the updated context after all steps have been executed.
11
+ * @throws {GlobalError} Throws a GlobalError if any step results in an error.
12
+ */
13
+ runSteps(ctx: Context, steps: NodeBase[], deep?: boolean, step_name?: string): Promise<Context>;
14
+ }
@@ -0,0 +1,110 @@
1
+ import { GlobalError } from "@blokjs/shared";
2
+ import { RunTracker } from "./tracing/RunTracker";
3
+ import { sanitize } from "./tracing/sanitize";
4
+ export default class RunnerSteps {
5
+ /**
6
+ * Executes a series of steps in the given context.
7
+ *
8
+ * @param ctx - The context in which the steps are executed.
9
+ * @param steps - An array of BlokService steps to be executed.
10
+ * @param deep - A boolean indicating whether the function is being called recursively for flow steps.
11
+ * @param step_name - The name of the current step being processed in a flow.
12
+ * @returns A promise that resolves to the updated context after all steps have been executed.
13
+ * @throws {GlobalError} Throws a GlobalError if any step results in an error.
14
+ */
15
+ async runSteps(ctx, steps, deep = false, step_name = "") {
16
+ ctx.config = { ...ctx.config };
17
+ const traceRunId = ctx._traceRunId;
18
+ const tracker = traceRunId ? RunTracker.getInstance() : null;
19
+ const depthLevel = deep ? 1 : 0;
20
+ try {
21
+ ctx.logger.log(`Starting runner for ${steps.length} steps ${!deep ? "(Parent)" : `(${step_name})`}`);
22
+ let flow = false;
23
+ let flow_steps = [];
24
+ let flow_step = 0;
25
+ let stepName = "";
26
+ for (let i = 0; i < steps.length; i++) {
27
+ const step = steps[i];
28
+ if (!step.active) {
29
+ // Track skipped nodes
30
+ if (tracker && traceRunId) {
31
+ tracker.skipNode(traceRunId, step.name, i, "inactive");
32
+ }
33
+ continue;
34
+ }
35
+ if (step.stop)
36
+ break;
37
+ ctx.response.contentType = step.contentType;
38
+ if (!step.flow) {
39
+ // --- Trace: start node ---
40
+ let nodeRunId;
41
+ if (tracker && traceRunId) {
42
+ const stepAny = step;
43
+ const configAny = ctx.config;
44
+ const nodeRun = tracker.startNode(traceRunId, {
45
+ nodeName: step.name,
46
+ nodeType: stepAny.type || "unknown",
47
+ runtimeKind: stepAny.runtime,
48
+ inputs: sanitize(configAny?.[step.name]?.inputs ?? stepAny.config),
49
+ depth: depthLevel,
50
+ stepIndex: i,
51
+ });
52
+ nodeRunId = nodeRun.id;
53
+ ctx._traceNodeId = nodeRunId;
54
+ }
55
+ try {
56
+ const model = await step.process(ctx, step);
57
+ ctx.response = model.data;
58
+ // --- Trace: complete or fail node ---
59
+ if (tracker && nodeRunId) {
60
+ if (ctx.response.error) {
61
+ const errMsg = typeof ctx.response.error === "string"
62
+ ? ctx.response.error
63
+ : ctx.response.error.message || "Node error";
64
+ tracker.failNode(nodeRunId, new Error(errMsg));
65
+ }
66
+ else {
67
+ tracker.completeNode(nodeRunId, sanitize(ctx.response.data));
68
+ }
69
+ }
70
+ if (ctx.response.error)
71
+ throw ctx.response.error;
72
+ }
73
+ catch (nodeErr) {
74
+ // --- Trace: fail node on exception ---
75
+ if (tracker && nodeRunId) {
76
+ const existing = tracker.getNodeRun(nodeRunId);
77
+ if (existing && existing.status === "running") {
78
+ tracker.failNode(nodeRunId, nodeErr instanceof Error ? nodeErr : new Error(String(nodeErr)));
79
+ }
80
+ }
81
+ throw nodeErr;
82
+ }
83
+ }
84
+ else {
85
+ stepName = step.name;
86
+ flow_steps = (await step.processFlow(ctx)).data;
87
+ flow = true;
88
+ flow_step = i;
89
+ break;
90
+ }
91
+ }
92
+ if (flow) {
93
+ const nextSteps = steps.length > flow_step + 1 ? steps.slice(flow_step + 1) : [];
94
+ return await this.runSteps(ctx, [...flow_steps, ...nextSteps], true, stepName);
95
+ }
96
+ }
97
+ catch (e) {
98
+ let error_context = {};
99
+ if (e instanceof GlobalError) {
100
+ error_context = e;
101
+ }
102
+ else {
103
+ error_context = new GlobalError(e.message);
104
+ }
105
+ throw error_context;
106
+ }
107
+ return ctx;
108
+ }
109
+ }
110
+ //# sourceMappingURL=RunnerSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunnerSteps.js","sourceRoot":"","sources":["../src/RunnerSteps.ts"],"names":[],"mappings":"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"}