@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
package/dist/Blok.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { type Context, NodeBase, type ResponseContext } from "@blokjs/shared";
2
+ import { type Schema } from "jsonschema";
3
+ import type { IBlokResponse } from "./BlokResponse";
4
+ import type Condition from "./types/Condition";
5
+ import type JsonLikeObject from "./types/JsonLikeObject";
6
+ export default abstract class BlokService<T> extends NodeBase {
7
+ inputSchema: Schema;
8
+ outputSchema: Schema;
9
+ private v;
10
+ constructor();
11
+ setSchemas(input: Schema, output: Schema): void;
12
+ getSchemas(): {
13
+ input: Schema;
14
+ output: Schema;
15
+ };
16
+ run(ctx: Context): Promise<ResponseContext>;
17
+ abstract handle(ctx: Context, inputs: T | JsonLikeObject | Condition[]): Promise<IBlokResponse | BlokService<T>[]>;
18
+ validate(obj: JsonLikeObject, schema: Schema): Promise<void>;
19
+ }
package/dist/Blok.js ADDED
@@ -0,0 +1,184 @@
1
+ import { Metrics, NodeBase } from "@blokjs/shared";
2
+ import { metrics } from "@opentelemetry/api";
3
+ import { Validator } from "jsonschema";
4
+ import _ from "lodash";
5
+ export default class BlokService extends NodeBase {
6
+ inputSchema;
7
+ outputSchema;
8
+ v;
9
+ constructor() {
10
+ super();
11
+ this.inputSchema = {};
12
+ this.outputSchema = {};
13
+ this.v = new Validator();
14
+ }
15
+ setSchemas(input, output) {
16
+ this.inputSchema = input;
17
+ this.outputSchema = output;
18
+ }
19
+ getSchemas() {
20
+ return {
21
+ input: this.inputSchema,
22
+ output: this.outputSchema,
23
+ };
24
+ }
25
+ async run(ctx) {
26
+ const defaultMeter = metrics.getMeter("default");
27
+ const globalMetrics = new Metrics();
28
+ globalMetrics.start();
29
+ const response = { success: true, data: {}, error: null };
30
+ const start = performance.now();
31
+ ctx.logger.log(`Running node: ${this.name} [${JSON.stringify(this.originalConfig)}]`);
32
+ const node_execution = defaultMeter.createCounter("node", {
33
+ description: "Node requests",
34
+ });
35
+ const node_time = defaultMeter.createGauge("node_time", {
36
+ description: "Node elapsed time",
37
+ });
38
+ const node_mem = defaultMeter.createGauge("node_memory", {
39
+ description: "Node memory usage",
40
+ });
41
+ const node_mem_average = defaultMeter.createGauge("node_memory_average", {
42
+ description: "Node memory average",
43
+ });
44
+ const node_memory_usage_min = defaultMeter.createGauge("node_memory_usage_min", {
45
+ description: "Node memory usage min",
46
+ });
47
+ const node_memory_total = defaultMeter.createGauge("node_memory_total", {
48
+ description: "Node memory total",
49
+ });
50
+ const node_memory_free = defaultMeter.createGauge("node_memory_free", {
51
+ description: "Node memory free",
52
+ });
53
+ const node_cpu = defaultMeter.createGauge("node_cpu", {
54
+ description: "Node cpu usage",
55
+ });
56
+ const node_cpu_average = defaultMeter.createGauge("node_cpu_average", {
57
+ description: "Node cpu average",
58
+ });
59
+ const node_cpu_total = defaultMeter.createGauge("node_cpu_total", {
60
+ description: "Node cpu total",
61
+ });
62
+ const config = _.cloneDeep(ctx.config);
63
+ let opts = config[this.name];
64
+ const data = ctx.response?.data || ctx.request?.body;
65
+ const inputs = opts.inputs || opts.conditions;
66
+ opts = this.blueprintMapper(opts, ctx, data);
67
+ await this.validate(inputs, this.inputSchema);
68
+ // Process node custom logic
69
+ const result = await this.handle(ctx, inputs);
70
+ this.v.validate(result, this.outputSchema);
71
+ const end = performance.now();
72
+ node_execution.add(1, {
73
+ env: process.env.NODE_ENV,
74
+ workflow_path: `${ctx.workflow_path}`,
75
+ workflow_name: `${ctx.workflow_name}`,
76
+ node_name: `${this.name}`,
77
+ node: this.node,
78
+ });
79
+ node_time.record(end - start, {
80
+ env: process.env.NODE_ENV,
81
+ workflow_path: `${ctx.workflow_path}`,
82
+ workflow_name: `${ctx.workflow_name}`,
83
+ node_name: `${this.name}`,
84
+ node: this.node,
85
+ });
86
+ ctx.logger.log(`Executed node: ${this.name} in ${(end - start).toFixed(2)}ms`);
87
+ if (this.set_var) {
88
+ const vars = {
89
+ [this.name]: result.data,
90
+ };
91
+ this.setVar(ctx, vars);
92
+ response.data = ctx.response || {};
93
+ }
94
+ else {
95
+ response.data = result;
96
+ response.data.contentType = this.contentType;
97
+ }
98
+ globalMetrics.retry();
99
+ globalMetrics.stop();
100
+ const average = await globalMetrics.getMetrics();
101
+ node_mem.record(average.memory.max, {
102
+ env: process.env.NODE_ENV,
103
+ workflow_path: `${ctx.workflow_path}`,
104
+ workflow_name: `${ctx.workflow_name}`,
105
+ node_name: `${this.name}`,
106
+ node: this.node,
107
+ });
108
+ node_mem_average.record(average.memory.total, {
109
+ env: process.env.NODE_ENV,
110
+ workflow_path: `${ctx.workflow_path}`,
111
+ workflow_name: `${ctx.workflow_name}`,
112
+ node_name: `${this.name}`,
113
+ node: this.node,
114
+ });
115
+ node_memory_usage_min.record(average.memory.min, {
116
+ env: process.env.NODE_ENV,
117
+ workflow_path: `${ctx.workflow_path}`,
118
+ workflow_name: `${ctx.workflow_name}`,
119
+ node_name: `${this.name}`,
120
+ node: this.node,
121
+ });
122
+ node_memory_total.record(average.memory.global_memory, {
123
+ env: process.env.NODE_ENV,
124
+ workflow_path: `${ctx.workflow_path}`,
125
+ workflow_name: `${ctx.workflow_name}`,
126
+ node_name: `${this.name}`,
127
+ node: this.node,
128
+ });
129
+ node_memory_free.record(average.memory.global_free_memory, {
130
+ env: process.env.NODE_ENV,
131
+ workflow_path: `${ctx.workflow_path}`,
132
+ workflow_name: `${ctx.workflow_name}`,
133
+ node_name: `${this.name}`,
134
+ node: this.node,
135
+ });
136
+ node_cpu.record(average.cpu.usage, {
137
+ env: process.env.NODE_ENV,
138
+ workflow_path: `${ctx.workflow_path}`,
139
+ workflow_name: `${ctx.workflow_name}`,
140
+ node_name: `${this.name}`,
141
+ node: this.node,
142
+ });
143
+ node_cpu_average.record(average.cpu.average, {
144
+ env: process.env.NODE_ENV,
145
+ workflow_path: `${ctx.workflow_path}`,
146
+ workflow_name: `${ctx.workflow_name}`,
147
+ node_name: `${this.name}`,
148
+ node: this.node,
149
+ });
150
+ node_cpu_total.record(average.cpu.total, {
151
+ env: process.env.NODE_ENV,
152
+ workflow_path: `${ctx.workflow_path}`,
153
+ workflow_name: `${ctx.workflow_name}`,
154
+ node_name: `${this.name}`,
155
+ node: this.node,
156
+ });
157
+ globalMetrics.clear();
158
+ if (response.success === false) {
159
+ const node_errors = defaultMeter.createCounter("node_errors", {
160
+ description: "Node errors",
161
+ });
162
+ node_errors.add(1, {
163
+ env: process.env.NODE_ENV,
164
+ workflow_path: `${ctx.workflow_path}`,
165
+ workflow_name: `${ctx.workflow_name}`,
166
+ node_name: `${this.name}`,
167
+ node: this.node,
168
+ });
169
+ }
170
+ return response;
171
+ }
172
+ async validate(obj, schema) {
173
+ const result = this.v.validate(obj, schema);
174
+ if (result.valid === false) {
175
+ const errors = [];
176
+ for (let i = 0; i < result.errors.length; i++) {
177
+ const error = result.errors[i];
178
+ errors.push(`${error.property} ${error.message}`);
179
+ }
180
+ throw new Error(errors.join(", "));
181
+ }
182
+ }
183
+ }
184
+ //# sourceMappingURL=Blok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Blok.js","sourceRoot":"","sources":["../src/Blok.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { GlobalError, NodeBase, ResponseContext } from "@blokjs/shared";
2
+ import type JsonLikeObject from "./types/JsonLikeObject";
3
+ export interface IBlokResponse extends ResponseContext {
4
+ steps: NodeBase[];
5
+ }
6
+ export default class BlokResponse implements IBlokResponse {
7
+ steps: NodeBase[];
8
+ data: string | JsonLikeObject | JsonLikeObject[];
9
+ error: GlobalError | null;
10
+ success?: boolean | undefined;
11
+ contentType?: string | undefined;
12
+ constructor();
13
+ setError(error: GlobalError): void;
14
+ setSuccess(data: string | JsonLikeObject | JsonLikeObject[]): void;
15
+ setSteps(steps: NodeBase[]): void;
16
+ }
@@ -0,0 +1,28 @@
1
+ export default class BlokResponse {
2
+ steps;
3
+ data;
4
+ error;
5
+ success;
6
+ contentType;
7
+ constructor() {
8
+ this.steps = [];
9
+ this.data = {};
10
+ this.error = null;
11
+ this.success = true;
12
+ this.contentType = "application/json";
13
+ }
14
+ setError(error) {
15
+ this.error = error;
16
+ this.success = false;
17
+ this.data = {};
18
+ }
19
+ setSuccess(data) {
20
+ this.data = data;
21
+ this.error = null;
22
+ this.success = true;
23
+ }
24
+ setSteps(steps) {
25
+ this.steps = steps;
26
+ }
27
+ }
28
+ //# sourceMappingURL=BlokResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlokResponse.js","sourceRoot":"","sources":["../src/BlokResponse.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,KAAK,CAAa;IAClB,IAAI,CAA6C;IACjD,KAAK,CAAqB;IAC1B,OAAO,CAAuB;IAC9B,WAAW,CAAsB;IAExC;QACC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;IACvC,CAAC;IAED,QAAQ,CAAC,KAAkB;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,IAAgD;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,QAAQ,CAAC,KAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;CACD"}
@@ -0,0 +1,37 @@
1
+ import type { NodeBase } from "@blokjs/shared";
2
+ import RunnerNode from "./RunnerNode";
3
+ import type Config from "./types/Config";
4
+ import type Flow from "./types/Flow";
5
+ import type GlobalOptions from "./types/GlobalOptions";
6
+ import type Node from "./types/Node";
7
+ import type Trigger from "./types/Trigger";
8
+ export default class Configuration implements Config {
9
+ workflow: Config;
10
+ name: string;
11
+ version: string;
12
+ steps: NodeBase[];
13
+ nodes: Node;
14
+ trigger: Trigger;
15
+ static loaded_nodes: Node;
16
+ globalOptions: GlobalOptions | undefined;
17
+ constructor();
18
+ /**
19
+ * Initialize the RuntimeRegistry with built-in adapters
20
+ */
21
+ private initializeRuntimeRegistry;
22
+ init(workflowNameInPath: string, opts?: GlobalOptions): Promise<void>;
23
+ protected getSteps(blueprint_steps: RunnerNode[]): Promise<NodeBase[]>;
24
+ protected getNodes(workflow_nodes: Node): Promise<Node>;
25
+ protected getFlow(steps: RunnerNode[]): Promise<Flow>;
26
+ protected nodeResolver(node: RunnerNode): Promise<RunnerNode>;
27
+ protected nodeTypes(): NodeResolverTypes;
28
+ runtimeResolver(node: RunnerNode): Promise<RunnerNode>;
29
+ protected moduleResolver(node: RunnerNode, opts: GlobalOptions): Promise<RunnerNode>;
30
+ protected localResolver(node: RunnerNode): Promise<RunnerNode>;
31
+ }
32
+ type NodeResolverTypes = {
33
+ [key: string]: {
34
+ resolver: (node: RunnerNode, opts: GlobalOptions) => Promise<RunnerNode>;
35
+ };
36
+ };
37
+ export {};
@@ -0,0 +1,248 @@
1
+ import ConfigurationResolver from "./ConfigurationResolver";
2
+ import RunnerNode from "./RunnerNode";
3
+ import { RuntimeAdapterNode } from "./RuntimeAdapterNode";
4
+ import { RuntimeRegistry } from "./RuntimeRegistry";
5
+ import { HttpRuntimeAdapter } from "./adapters/HttpRuntimeAdapter";
6
+ import { NodeJsRuntimeAdapter } from "./adapters/NodeJsRuntimeAdapter";
7
+ export default class Configuration {
8
+ workflow = {};
9
+ name;
10
+ version;
11
+ steps;
12
+ nodes;
13
+ trigger;
14
+ static loaded_nodes = {};
15
+ globalOptions;
16
+ constructor() {
17
+ this.steps = [];
18
+ this.nodes = {};
19
+ this.version = "";
20
+ this.name = "";
21
+ this.trigger = {};
22
+ this.initializeRuntimeRegistry();
23
+ }
24
+ /**
25
+ * Initialize the RuntimeRegistry with built-in adapters
26
+ */
27
+ initializeRuntimeRegistry() {
28
+ const registry = RuntimeRegistry.getInstance();
29
+ // Register NodeJS runtime adapter if not already registered
30
+ if (!registry.has("nodejs")) {
31
+ registry.register(new NodeJsRuntimeAdapter());
32
+ }
33
+ // Register HTTP-based runtime adapters for all SDK languages
34
+ // Python3 now uses HttpRuntimeAdapter (same as Go/Rust/Java/C#/PHP/Ruby)
35
+ const httpRuntimes = [
36
+ { kind: "go", hostEnv: "RUNTIME_GO_HOST", portEnv: "RUNTIME_GO_PORT", defaultPort: 9001 },
37
+ { kind: "rust", hostEnv: "RUNTIME_RUST_HOST", portEnv: "RUNTIME_RUST_PORT", defaultPort: 9002 },
38
+ { kind: "java", hostEnv: "RUNTIME_JAVA_HOST", portEnv: "RUNTIME_JAVA_PORT", defaultPort: 9003 },
39
+ { kind: "csharp", hostEnv: "RUNTIME_CSHARP_HOST", portEnv: "RUNTIME_CSHARP_PORT", defaultPort: 9004 },
40
+ { kind: "php", hostEnv: "RUNTIME_PHP_HOST", portEnv: "RUNTIME_PHP_PORT", defaultPort: 9005 },
41
+ { kind: "ruby", hostEnv: "RUNTIME_RUBY_HOST", portEnv: "RUNTIME_RUBY_PORT", defaultPort: 9006 },
42
+ { kind: "python3", hostEnv: "RUNTIME_PYTHON3_HOST", portEnv: "RUNTIME_PYTHON3_PORT", defaultPort: 9007 },
43
+ ];
44
+ for (const rt of httpRuntimes) {
45
+ if (!registry.has(rt.kind)) {
46
+ const host = process.env[rt.hostEnv] || "localhost";
47
+ const port = process.env[rt.portEnv] ? Number.parseInt(process.env[rt.portEnv]) : rt.defaultPort;
48
+ registry.register(new HttpRuntimeAdapter(rt.kind, host, port));
49
+ }
50
+ }
51
+ }
52
+ async init(workflowNameInPath, opts) {
53
+ if (this.globalOptions === undefined && opts !== undefined) {
54
+ this.globalOptions = opts;
55
+ }
56
+ if (workflowNameInPath === undefined)
57
+ throw new Error("Workflow name must be provided");
58
+ const resolver = new ConfigurationResolver(opts);
59
+ this.workflow = await resolver.get("local", workflowNameInPath);
60
+ if (!this.workflow)
61
+ throw new Error(`No workflow found with path '${workflowNameInPath}'`);
62
+ // Instances of the Blok Services
63
+ this.steps = await this.getSteps(this.workflow.steps);
64
+ // Configuration of the Blok Services
65
+ this.nodes = await this.getNodes(this.workflow.nodes);
66
+ this.version = this.workflow.version;
67
+ this.name = this.workflow.name;
68
+ this.trigger = this.workflow.trigger;
69
+ }
70
+ async getSteps(blueprint_steps) {
71
+ const nodes = [];
72
+ if (blueprint_steps === undefined) {
73
+ throw new Error("Workflow must have at least one step");
74
+ }
75
+ if (blueprint_steps.length === 0) {
76
+ throw new Error("Workflow must have at least one step");
77
+ }
78
+ for (let i = 0; i < blueprint_steps.length; i++) {
79
+ const step = blueprint_steps[i];
80
+ const node = await this.nodeResolver(step);
81
+ // const validator = z.instanceof(NodeBase);
82
+ // validator.parse(node);
83
+ node.node = step.node;
84
+ node.name = step.name;
85
+ node.active = step.active !== undefined ? step.active : true;
86
+ node.stop = step.stop !== undefined ? step.stop : false;
87
+ node.set_var = step.set_var !== undefined ? step.set_var : false;
88
+ nodes.push(node);
89
+ }
90
+ return nodes;
91
+ }
92
+ async getNodes(workflow_nodes) {
93
+ const nodes = {};
94
+ if (workflow_nodes !== undefined) {
95
+ const keys = Object.keys(workflow_nodes);
96
+ for (let i = 0; i < keys.length; i++) {
97
+ const key = keys[i];
98
+ const currentNode = workflow_nodes[key];
99
+ const isFlow = currentNode.steps !== undefined && Array.isArray(currentNode.steps);
100
+ const isConditions = currentNode.conditions !== undefined && Array.isArray(currentNode.conditions);
101
+ const isFlowWithProperties = isFlow && Object.keys(workflow_nodes[key]).length > 1;
102
+ const hasOutputs = currentNode.mapper !== undefined;
103
+ if (isFlowWithProperties) {
104
+ const steps = currentNode.steps;
105
+ nodes[key] = await this.getFlow(steps);
106
+ const copyBlueprintNode = { ...workflow_nodes[key] };
107
+ copyBlueprintNode.steps = [];
108
+ nodes[key] = { ...nodes[key], ...copyBlueprintNode };
109
+ }
110
+ else if (isFlow) {
111
+ const steps = currentNode.steps;
112
+ nodes[key] = await this.getFlow(steps);
113
+ }
114
+ else if (isConditions) {
115
+ const conditions = currentNode.conditions;
116
+ for (let j = 0; j < conditions.length; j++) {
117
+ const condition = conditions[j];
118
+ const steps = condition.steps;
119
+ const tempSteps = (await this.getFlow(steps)).steps;
120
+ conditions[j].steps = [...tempSteps];
121
+ }
122
+ nodes[key] = { conditions };
123
+ }
124
+ else if (typeof workflow_nodes[key] === "object" &&
125
+ currentNode.try &&
126
+ currentNode.try.steps &&
127
+ currentNode.catch &&
128
+ currentNode.catch.steps) {
129
+ nodes[key] = {
130
+ try: await this.getFlow(currentNode.try.steps),
131
+ catch: await this.getFlow(currentNode.catch.steps),
132
+ };
133
+ }
134
+ else {
135
+ nodes[key] = { ...workflow_nodes[key] };
136
+ }
137
+ // Resolves the internal mapper
138
+ if (hasOutputs) {
139
+ const step = currentNode.mapper;
140
+ if (typeof step === "object" && step.name && step.node && step.type && step.node.startsWith("mapper@")) {
141
+ nodes[key].mapper = (await this.getFlow([step])).steps[0];
142
+ }
143
+ }
144
+ }
145
+ }
146
+ return nodes;
147
+ }
148
+ async getFlow(steps) {
149
+ const flows = {
150
+ steps: [],
151
+ };
152
+ for (let j = 0; j < steps.length; j++) {
153
+ const step = steps[j];
154
+ const node = await this.nodeResolver(step);
155
+ node.node = step.node;
156
+ node.name = step.name;
157
+ node.active = step.active !== undefined ? step.active : true;
158
+ node.stop = step.stop !== undefined ? step.stop : false;
159
+ node.set_var = step.set_var !== undefined ? step.set_var : false;
160
+ // const validator = z.instanceof(NodeBase);
161
+ // validator.parse(node);
162
+ flows.steps.push(node);
163
+ }
164
+ return flows;
165
+ }
166
+ async nodeResolver(node) {
167
+ const node_types = this.nodeTypes();
168
+ if (node_types[node.type]) {
169
+ return await node_types[node.type].resolver(node, this.globalOptions);
170
+ }
171
+ throw new Error(`Node type ${node.type} not found`);
172
+ }
173
+ nodeTypes() {
174
+ return {
175
+ module: {
176
+ resolver: async (node, opts) => await this.moduleResolver(node, opts),
177
+ },
178
+ local: {
179
+ resolver: async (node, opts) => await this.localResolver(node),
180
+ },
181
+ "runtime.python3": {
182
+ resolver: async (node) => await this.runtimeResolver(node),
183
+ },
184
+ "runtime.go": {
185
+ resolver: async (node) => await this.runtimeResolver(node),
186
+ },
187
+ "runtime.rust": {
188
+ resolver: async (node) => await this.runtimeResolver(node),
189
+ },
190
+ "runtime.java": {
191
+ resolver: async (node) => await this.runtimeResolver(node),
192
+ },
193
+ "runtime.csharp": {
194
+ resolver: async (node) => await this.runtimeResolver(node),
195
+ },
196
+ "runtime.php": {
197
+ resolver: async (node) => await this.runtimeResolver(node),
198
+ },
199
+ "runtime.ruby": {
200
+ resolver: async (node) => await this.runtimeResolver(node),
201
+ },
202
+ };
203
+ }
204
+ async runtimeResolver(node) {
205
+ // Determine the runtime kind from explicit field or type string
206
+ // e.g., "runtime.go" → "go", "runtime.python3" → "python3"
207
+ let runtimeKind = node.runtime;
208
+ if (!runtimeKind && node.type?.startsWith("runtime.")) {
209
+ runtimeKind = node.type.substring("runtime.".length);
210
+ }
211
+ // Backward compatibility: default to "python3" if nothing specified
212
+ if (!runtimeKind) {
213
+ runtimeKind = "python3";
214
+ }
215
+ // Get the runtime adapter from registry
216
+ const registry = RuntimeRegistry.getInstance();
217
+ const adapter = registry.get(runtimeKind);
218
+ // Create a minimal node instance to pass to the adapter
219
+ // The adapter will execute this node
220
+ const targetNode = new (class extends RunnerNode {
221
+ async run() {
222
+ return { success: false, data: null, error: null };
223
+ }
224
+ })();
225
+ targetNode.node = node.node;
226
+ targetNode.name = node.name;
227
+ targetNode.type = node.type;
228
+ targetNode.runtime = runtimeKind;
229
+ targetNode.active = node.active !== undefined ? node.active : true;
230
+ targetNode.stop = node.stop !== undefined ? node.stop : false;
231
+ targetNode.set_var = node.set_var !== undefined ? node.set_var : false;
232
+ // Wrap in RuntimeAdapterNode to integrate with existing Runner
233
+ return new RuntimeAdapterNode(adapter, targetNode);
234
+ }
235
+ async moduleResolver(node, opts) {
236
+ const nodeHandler = opts?.nodes?.getNode(node.node);
237
+ if (!nodeHandler) {
238
+ throw new Error(`Node ${node.node} not found`);
239
+ }
240
+ const clone = Object.assign(Object.create(Object.getPrototypeOf(nodeHandler)), nodeHandler);
241
+ return clone;
242
+ }
243
+ async localResolver(node) {
244
+ const path = `${process.env.NODES_PATH}/${node.node}`;
245
+ return new (await import(path)).default();
246
+ }
247
+ }
248
+ //# sourceMappingURL=Configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../src/Configuration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type GlobalOptions from "./types/GlobalOptions";
2
+ export default class ConfigurationResolver {
3
+ private targets;
4
+ private globalOptions;
5
+ constructor(opts: GlobalOptions);
6
+ get(target: string, name: string): Promise<import(".").Config>;
7
+ }
@@ -0,0 +1,15 @@
1
+ import LocalStorage from "./LocalStorage";
2
+ export default class ConfigurationResolver {
3
+ targets = {};
4
+ globalOptions = {};
5
+ constructor(opts) {
6
+ this.targets = {
7
+ local: new LocalStorage(),
8
+ };
9
+ this.globalOptions = opts;
10
+ }
11
+ async get(target, name) {
12
+ return await this.targets[target].get(name, this.globalOptions.workflows);
13
+ }
14
+ }
15
+ //# sourceMappingURL=ConfigurationResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationResolver.js","sourceRoot":"","sources":["../src/ConfigurationResolver.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAI1C,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACjC,OAAO,GAAY,EAAE,CAAC;IACtB,aAAa,GAAiC,EAAE,CAAC;IAEzD,YAAY,IAAmB;QAC9B,IAAI,CAAC,OAAO,GAAG;YACd,KAAK,EAAE,IAAI,YAAY,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,IAAY;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;CACD"}