@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.
- package/dist/Blok.d.ts +19 -0
- package/dist/Blok.js +184 -0
- package/dist/Blok.js.map +1 -0
- package/dist/BlokResponse.d.ts +16 -0
- package/dist/BlokResponse.js +28 -0
- package/dist/BlokResponse.js.map +1 -0
- package/dist/Configuration.d.ts +37 -0
- package/dist/Configuration.js +248 -0
- package/dist/Configuration.js.map +1 -0
- package/dist/ConfigurationResolver.d.ts +7 -0
- package/dist/ConfigurationResolver.js +15 -0
- package/dist/ConfigurationResolver.js.map +1 -0
- package/dist/DefaultLogger.d.ts +65 -0
- package/dist/DefaultLogger.js +101 -0
- package/dist/DefaultLogger.js.map +1 -0
- package/dist/LocalStorage.d.ts +7 -0
- package/dist/LocalStorage.js +56 -0
- package/dist/LocalStorage.js.map +1 -0
- package/dist/MemoryUsage.d.ts +22 -0
- package/dist/MemoryUsage.js +83 -0
- package/dist/MemoryUsage.js.map +1 -0
- package/dist/NodeMap.d.ts +7 -0
- package/dist/NodeMap.js +13 -0
- package/dist/NodeMap.js.map +1 -0
- package/dist/ResolverBase.d.ts +8 -0
- package/dist/ResolverBase.js +18 -0
- package/dist/ResolverBase.js.map +1 -0
- package/dist/Runner.d.ts +25 -0
- package/dist/Runner.js +32 -0
- package/dist/Runner.js.map +1 -0
- package/dist/RunnerNode.d.ts +9 -0
- package/dist/RunnerNode.js +8 -0
- package/dist/RunnerNode.js.map +1 -0
- package/dist/RunnerNodeBase.d.ts +4 -0
- package/dist/RunnerNodeBase.js +3 -0
- package/dist/RunnerNodeBase.js.map +1 -0
- package/dist/RunnerSteps.d.ts +14 -0
- package/dist/RunnerSteps.js +110 -0
- package/dist/RunnerSteps.js.map +1 -0
- package/dist/RuntimeAdapterNode.d.ts +19 -0
- package/dist/RuntimeAdapterNode.js +87 -0
- package/dist/RuntimeAdapterNode.js.map +1 -0
- package/dist/RuntimeRegistry.d.ts +61 -0
- package/dist/RuntimeRegistry.js +87 -0
- package/dist/RuntimeRegistry.js.map +1 -0
- package/dist/TriggerBase.d.ts +119 -0
- package/dist/TriggerBase.js +413 -0
- package/dist/TriggerBase.js.map +1 -0
- package/dist/adapters/BunRuntimeAdapter.d.ts +38 -0
- package/dist/adapters/BunRuntimeAdapter.js +169 -0
- package/dist/adapters/BunRuntimeAdapter.js.map +1 -0
- package/dist/adapters/DockerRuntimeAdapter.d.ts +85 -0
- package/dist/adapters/DockerRuntimeAdapter.js +298 -0
- package/dist/adapters/DockerRuntimeAdapter.js.map +1 -0
- package/dist/adapters/HttpRuntimeAdapter.d.ts +58 -0
- package/dist/adapters/HttpRuntimeAdapter.js +152 -0
- package/dist/adapters/HttpRuntimeAdapter.js.map +1 -0
- package/dist/adapters/NodeJsRuntimeAdapter.d.ts +23 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js +67 -0
- package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -0
- package/dist/adapters/RuntimeAdapter.d.ts +42 -0
- package/dist/adapters/RuntimeAdapter.js +2 -0
- package/dist/adapters/RuntimeAdapter.js.map +1 -0
- package/dist/adapters/WasmRuntimeAdapter.d.ts +69 -0
- package/dist/adapters/WasmRuntimeAdapter.js +279 -0
- package/dist/adapters/WasmRuntimeAdapter.js.map +1 -0
- package/dist/cache/NodeResultCache.d.ts +286 -0
- package/dist/cache/NodeResultCache.js +499 -0
- package/dist/cache/NodeResultCache.js.map +1 -0
- package/dist/cache/index.d.ts +1 -0
- package/dist/cache/index.js +2 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cost/CostEstimator.d.ts +57 -0
- package/dist/cost/CostEstimator.js +171 -0
- package/dist/cost/CostEstimator.js.map +1 -0
- package/dist/cost/index.d.ts +4 -0
- package/dist/cost/index.js +3 -0
- package/dist/cost/index.js.map +1 -0
- package/dist/cost/pricing.d.ts +24 -0
- package/dist/cost/pricing.js +169 -0
- package/dist/cost/pricing.js.map +1 -0
- package/dist/defineNode.d.ts +155 -0
- package/dist/defineNode.js +191 -0
- package/dist/defineNode.js.map +1 -0
- package/dist/graphql/GraphQLSchemaGenerator.d.ts +129 -0
- package/dist/graphql/GraphQLSchemaGenerator.js +425 -0
- package/dist/graphql/GraphQLSchemaGenerator.js.map +1 -0
- package/dist/hmr/FileWatcher.d.ts +62 -0
- package/dist/hmr/FileWatcher.js +185 -0
- package/dist/hmr/FileWatcher.js.map +1 -0
- package/dist/hmr/HmrDevConsole.d.ts +13 -0
- package/dist/hmr/HmrDevConsole.js +46 -0
- package/dist/hmr/HmrDevConsole.js.map +1 -0
- package/dist/hmr/HotReloadManager.d.ts +84 -0
- package/dist/hmr/HotReloadManager.js +195 -0
- package/dist/hmr/HotReloadManager.js.map +1 -0
- package/dist/hmr/index.d.ts +39 -0
- package/dist/hmr/index.js +38 -0
- package/dist/hmr/index.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.js +107 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/APMIntegration.d.ts +141 -0
- package/dist/integrations/APMIntegration.js +212 -0
- package/dist/integrations/APMIntegration.js.map +1 -0
- package/dist/integrations/AzureMonitorIntegration.d.ts +118 -0
- package/dist/integrations/AzureMonitorIntegration.js +254 -0
- package/dist/integrations/AzureMonitorIntegration.js.map +1 -0
- package/dist/integrations/CloudWatchIntegration.d.ts +135 -0
- package/dist/integrations/CloudWatchIntegration.js +293 -0
- package/dist/integrations/CloudWatchIntegration.js.map +1 -0
- package/dist/integrations/SentryIntegration.d.ts +153 -0
- package/dist/integrations/SentryIntegration.js +200 -0
- package/dist/integrations/SentryIntegration.js.map +1 -0
- package/dist/integrations/index.d.ts +19 -0
- package/dist/integrations/index.js +16 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/marketplace/RuntimeAutoScaler.d.ts +148 -0
- package/dist/marketplace/RuntimeAutoScaler.js +366 -0
- package/dist/marketplace/RuntimeAutoScaler.js.map +1 -0
- package/dist/marketplace/RuntimeCatalog.d.ts +174 -0
- package/dist/marketplace/RuntimeCatalog.js +339 -0
- package/dist/marketplace/RuntimeCatalog.js.map +1 -0
- package/dist/marketplace/RuntimeDiscovery.d.ts +86 -0
- package/dist/marketplace/RuntimeDiscovery.js +219 -0
- package/dist/marketplace/RuntimeDiscovery.js.map +1 -0
- package/dist/marketplace/RuntimeHealthMonitor.d.ts +100 -0
- package/dist/marketplace/RuntimeHealthMonitor.js +241 -0
- package/dist/marketplace/RuntimeHealthMonitor.js.map +1 -0
- package/dist/marketplace/RuntimeMetricsDashboard.d.ts +113 -0
- package/dist/marketplace/RuntimeMetricsDashboard.js +293 -0
- package/dist/marketplace/RuntimeMetricsDashboard.js.map +1 -0
- package/dist/monitoring/CircuitBreaker.d.ts +107 -0
- package/dist/monitoring/CircuitBreaker.js +238 -0
- package/dist/monitoring/CircuitBreaker.js.map +1 -0
- package/dist/monitoring/DistributedTracer.d.ts +125 -0
- package/dist/monitoring/DistributedTracer.js +230 -0
- package/dist/monitoring/DistributedTracer.js.map +1 -0
- package/dist/monitoring/HealthCheck.d.ts +54 -0
- package/dist/monitoring/HealthCheck.js +102 -0
- package/dist/monitoring/HealthCheck.js.map +1 -0
- package/dist/monitoring/PerformanceProfiler.d.ts +63 -0
- package/dist/monitoring/PerformanceProfiler.js +229 -0
- package/dist/monitoring/PerformanceProfiler.js.map +1 -0
- package/dist/monitoring/PrometheusBootstrap.d.ts +30 -0
- package/dist/monitoring/PrometheusBootstrap.js +71 -0
- package/dist/monitoring/PrometheusBootstrap.js.map +1 -0
- package/dist/monitoring/PrometheusMetricsBridge.d.ts +60 -0
- package/dist/monitoring/PrometheusMetricsBridge.js +216 -0
- package/dist/monitoring/PrometheusMetricsBridge.js.map +1 -0
- package/dist/monitoring/RateLimiter.d.ts +58 -0
- package/dist/monitoring/RateLimiter.js +128 -0
- package/dist/monitoring/RateLimiter.js.map +1 -0
- package/dist/monitoring/StructuredLogger.d.ts +131 -0
- package/dist/monitoring/StructuredLogger.js +207 -0
- package/dist/monitoring/StructuredLogger.js.map +1 -0
- package/dist/monitoring/TracingBootstrap.d.ts +69 -0
- package/dist/monitoring/TracingBootstrap.js +129 -0
- package/dist/monitoring/TracingBootstrap.js.map +1 -0
- package/dist/monitoring/TriggerMetricsCollector.d.ts +94 -0
- package/dist/monitoring/TriggerMetricsCollector.js +174 -0
- package/dist/monitoring/TriggerMetricsCollector.js.map +1 -0
- package/dist/monitoring/index.d.ts +9 -0
- package/dist/monitoring/index.js +10 -0
- package/dist/monitoring/index.js.map +1 -0
- package/dist/openapi/OpenAPIGenerator.d.ts +192 -0
- package/dist/openapi/OpenAPIGenerator.js +373 -0
- package/dist/openapi/OpenAPIGenerator.js.map +1 -0
- package/dist/openapi/index.d.ts +20 -0
- package/dist/openapi/index.js +20 -0
- package/dist/openapi/index.js.map +1 -0
- package/dist/security/ABAC.d.ts +224 -0
- package/dist/security/ABAC.js +380 -0
- package/dist/security/ABAC.js.map +1 -0
- package/dist/security/AuditLogger.d.ts +242 -0
- package/dist/security/AuditLogger.js +317 -0
- package/dist/security/AuditLogger.js.map +1 -0
- package/dist/security/AuthMiddleware.d.ts +163 -0
- package/dist/security/AuthMiddleware.js +274 -0
- package/dist/security/AuthMiddleware.js.map +1 -0
- package/dist/security/EncryptionAtRest.d.ts +206 -0
- package/dist/security/EncryptionAtRest.js +236 -0
- package/dist/security/EncryptionAtRest.js.map +1 -0
- package/dist/security/OAuthProvider.d.ts +334 -0
- package/dist/security/OAuthProvider.js +719 -0
- package/dist/security/OAuthProvider.js.map +1 -0
- package/dist/security/PIIDetector.d.ts +233 -0
- package/dist/security/PIIDetector.js +354 -0
- package/dist/security/PIIDetector.js.map +1 -0
- package/dist/security/RBAC.d.ts +143 -0
- package/dist/security/RBAC.js +285 -0
- package/dist/security/RBAC.js.map +1 -0
- package/dist/security/SecretManager.d.ts +652 -0
- package/dist/security/SecretManager.js +1146 -0
- package/dist/security/SecretManager.js.map +1 -0
- package/dist/security/TLSConfig.d.ts +305 -0
- package/dist/security/TLSConfig.js +550 -0
- package/dist/security/TLSConfig.js.map +1 -0
- package/dist/security/index.d.ts +79 -0
- package/dist/security/index.js +80 -0
- package/dist/security/index.js.map +1 -0
- package/dist/testing/TestHarness.d.ts +189 -0
- package/dist/testing/TestHarness.js +272 -0
- package/dist/testing/TestHarness.js.map +1 -0
- package/dist/testing/TestLogger.d.ts +103 -0
- package/dist/testing/TestLogger.js +153 -0
- package/dist/testing/TestLogger.js.map +1 -0
- package/dist/testing/WorkflowTestRunner.d.ts +172 -0
- package/dist/testing/WorkflowTestRunner.js +355 -0
- package/dist/testing/WorkflowTestRunner.js.map +1 -0
- package/dist/testing/index.d.ts +21 -0
- package/dist/testing/index.js +22 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tracing/InMemoryRunStore.d.ts +44 -0
- package/dist/tracing/InMemoryRunStore.js +341 -0
- package/dist/tracing/InMemoryRunStore.js.map +1 -0
- package/dist/tracing/PostgresRunStore.d.ts +82 -0
- package/dist/tracing/PostgresRunStore.js +640 -0
- package/dist/tracing/PostgresRunStore.js.map +1 -0
- package/dist/tracing/RunStore.d.ts +38 -0
- package/dist/tracing/RunStore.js +2 -0
- package/dist/tracing/RunStore.js.map +1 -0
- package/dist/tracing/RunTracker.d.ts +75 -0
- package/dist/tracing/RunTracker.js +374 -0
- package/dist/tracing/RunTracker.js.map +1 -0
- package/dist/tracing/SqliteRunStore.d.ts +53 -0
- package/dist/tracing/SqliteRunStore.js +703 -0
- package/dist/tracing/SqliteRunStore.js.map +1 -0
- package/dist/tracing/TraceRouter.d.ts +47 -0
- package/dist/tracing/TraceRouter.js +904 -0
- package/dist/tracing/TraceRouter.js.map +1 -0
- package/dist/tracing/TracingLogger.d.ts +21 -0
- package/dist/tracing/TracingLogger.js +62 -0
- package/dist/tracing/TracingLogger.js.map +1 -0
- package/dist/tracing/createStore.d.ts +30 -0
- package/dist/tracing/createStore.js +75 -0
- package/dist/tracing/createStore.js.map +1 -0
- package/dist/tracing/index.d.ts +13 -0
- package/dist/tracing/index.js +9 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/sanitize.d.ts +7 -0
- package/dist/tracing/sanitize.js +95 -0
- package/dist/tracing/sanitize.js.map +1 -0
- package/dist/tracing/types.d.ts +178 -0
- package/dist/tracing/types.js +3 -0
- package/dist/tracing/types.js.map +1 -0
- package/dist/types/Average.d.ts +11 -0
- package/dist/types/Average.js +2 -0
- package/dist/types/Average.js.map +1 -0
- package/dist/types/Condition.d.ts +8 -0
- package/dist/types/Condition.js +2 -0
- package/dist/types/Condition.js.map +1 -0
- package/dist/types/Conditions.d.ts +5 -0
- package/dist/types/Conditions.js +2 -0
- package/dist/types/Conditions.js.map +1 -0
- package/dist/types/Config.d.ts +12 -0
- package/dist/types/Config.js +2 -0
- package/dist/types/Config.js.map +1 -0
- package/dist/types/Flow.d.ts +5 -0
- package/dist/types/Flow.js +2 -0
- package/dist/types/Flow.js.map +1 -0
- package/dist/types/GlobalOptions.d.ts +11 -0
- package/dist/types/GlobalOptions.js +2 -0
- package/dist/types/GlobalOptions.js.map +1 -0
- package/dist/types/Inputs.d.ts +5 -0
- package/dist/types/Inputs.js +2 -0
- package/dist/types/Inputs.js.map +1 -0
- package/dist/types/JsonLikeObject.d.ts +3 -0
- package/dist/types/JsonLikeObject.js +2 -0
- package/dist/types/JsonLikeObject.js.map +1 -0
- package/dist/types/Mapper.d.ts +5 -0
- package/dist/types/Mapper.js +2 -0
- package/dist/types/Mapper.js.map +1 -0
- package/dist/types/Node.d.ts +10 -0
- package/dist/types/Node.js +2 -0
- package/dist/types/Node.js.map +1 -0
- package/dist/types/ParamsDictionary.d.ts +3 -0
- package/dist/types/ParamsDictionary.js +2 -0
- package/dist/types/ParamsDictionary.js.map +1 -0
- package/dist/types/Properties.d.ts +5 -0
- package/dist/types/Properties.js +2 -0
- package/dist/types/Properties.js.map +1 -0
- package/dist/types/Targets.d.ts +5 -0
- package/dist/types/Targets.js +2 -0
- package/dist/types/Targets.js.map +1 -0
- package/dist/types/Trigger.d.ts +5 -0
- package/dist/types/Trigger.js +2 -0
- package/dist/types/Trigger.js.map +1 -0
- package/dist/types/TriggerHttp.d.ts +7 -0
- package/dist/types/TriggerHttp.js +2 -0
- package/dist/types/TriggerHttp.js.map +1 -0
- package/dist/types/TriggerResponse.d.ts +6 -0
- package/dist/types/TriggerResponse.js +2 -0
- package/dist/types/TriggerResponse.js.map +1 -0
- package/dist/types/Triggers.d.ts +5 -0
- package/dist/types/Triggers.js +2 -0
- package/dist/types/Triggers.js.map +1 -0
- package/dist/types/TryCatch.d.ts +6 -0
- package/dist/types/TryCatch.js +2 -0
- package/dist/types/TryCatch.js.map +1 -0
- package/dist/visualization/NodeDependencyGraph.d.ts +76 -0
- package/dist/visualization/NodeDependencyGraph.js +418 -0
- package/dist/visualization/NodeDependencyGraph.js.map +1 -0
- package/dist/visualization/WorkflowVisualizer.d.ts +144 -0
- package/dist/visualization/WorkflowVisualizer.js +446 -0
- package/dist/visualization/WorkflowVisualizer.js.map +1 -0
- 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
|
package/dist/Blok.js.map
ADDED
|
@@ -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,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"}
|