@blokjs/runner 0.2.1 → 0.2.2

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 (80) hide show
  1. package/dist/Blok.js +11 -11
  2. package/dist/Blok.js.map +1 -1
  3. package/dist/Configuration.d.ts +21 -2
  4. package/dist/Configuration.js +188 -26
  5. package/dist/Configuration.js.map +1 -1
  6. package/dist/ConfigurationResolver.d.ts +9 -0
  7. package/dist/ConfigurationResolver.js +17 -1
  8. package/dist/ConfigurationResolver.js.map +1 -1
  9. package/dist/RunnerSteps.js +52 -9
  10. package/dist/RunnerSteps.js.map +1 -1
  11. package/dist/RuntimeAdapterNode.d.ts +32 -2
  12. package/dist/RuntimeAdapterNode.js +122 -27
  13. package/dist/RuntimeAdapterNode.js.map +1 -1
  14. package/dist/TriggerBase.js +35 -2
  15. package/dist/TriggerBase.js.map +1 -1
  16. package/dist/adapters/BunRuntimeAdapter.d.ts +1 -0
  17. package/dist/adapters/BunRuntimeAdapter.js +1 -0
  18. package/dist/adapters/BunRuntimeAdapter.js.map +1 -1
  19. package/dist/adapters/DockerRuntimeAdapter.d.ts +2 -1
  20. package/dist/adapters/DockerRuntimeAdapter.js +10 -1
  21. package/dist/adapters/DockerRuntimeAdapter.js.map +1 -1
  22. package/dist/adapters/HttpRuntimeAdapter.d.ts +26 -5
  23. package/dist/adapters/HttpRuntimeAdapter.js +97 -16
  24. package/dist/adapters/HttpRuntimeAdapter.js.map +1 -1
  25. package/dist/adapters/NodeJsRuntimeAdapter.d.ts +1 -0
  26. package/dist/adapters/NodeJsRuntimeAdapter.js +1 -0
  27. package/dist/adapters/NodeJsRuntimeAdapter.js.map +1 -1
  28. package/dist/adapters/RuntimeAdapter.d.ts +17 -0
  29. package/dist/adapters/WasmRuntimeAdapter.d.ts +1 -0
  30. package/dist/adapters/WasmRuntimeAdapter.js +1 -0
  31. package/dist/adapters/WasmRuntimeAdapter.js.map +1 -1
  32. package/dist/adapters/grpc/GrpcChannelOptions.d.ts +31 -0
  33. package/dist/adapters/grpc/GrpcChannelOptions.js +68 -0
  34. package/dist/adapters/grpc/GrpcChannelOptions.js.map +1 -0
  35. package/dist/adapters/grpc/GrpcClientPool.d.ts +43 -0
  36. package/dist/adapters/grpc/GrpcClientPool.js +89 -0
  37. package/dist/adapters/grpc/GrpcClientPool.js.map +1 -0
  38. package/dist/adapters/grpc/GrpcCodec.d.ts +226 -0
  39. package/dist/adapters/grpc/GrpcCodec.js +275 -0
  40. package/dist/adapters/grpc/GrpcCodec.js.map +1 -0
  41. package/dist/adapters/grpc/GrpcErrors.d.ts +59 -0
  42. package/dist/adapters/grpc/GrpcErrors.js +190 -0
  43. package/dist/adapters/grpc/GrpcErrors.js.map +1 -0
  44. package/dist/adapters/grpc/GrpcHealthChecker.d.ts +69 -0
  45. package/dist/adapters/grpc/GrpcHealthChecker.js +96 -0
  46. package/dist/adapters/grpc/GrpcHealthChecker.js.map +1 -0
  47. package/dist/adapters/grpc/GrpcRuntimeAdapter.d.ts +98 -0
  48. package/dist/adapters/grpc/GrpcRuntimeAdapter.js +478 -0
  49. package/dist/adapters/grpc/GrpcRuntimeAdapter.js.map +1 -0
  50. package/dist/adapters/grpc/index.d.ts +13 -0
  51. package/dist/adapters/grpc/index.js +14 -0
  52. package/dist/adapters/grpc/index.js.map +1 -0
  53. package/dist/adapters/grpc/proto/blok/runtime/v1/runtime.proto +302 -0
  54. package/dist/adapters/grpc/types.d.ts +97 -0
  55. package/dist/adapters/grpc/types.js +41 -0
  56. package/dist/adapters/grpc/types.js.map +1 -0
  57. package/dist/adapters/transport.d.ts +108 -0
  58. package/dist/adapters/transport.js +196 -0
  59. package/dist/adapters/transport.js.map +1 -0
  60. package/dist/index.d.ts +13 -1
  61. package/dist/index.js +14 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/testing/WorkflowTestRunner.js +12 -0
  64. package/dist/testing/WorkflowTestRunner.js.map +1 -1
  65. package/dist/tracing/RunTracker.d.ts +23 -2
  66. package/dist/tracing/RunTracker.js +120 -10
  67. package/dist/tracing/RunTracker.js.map +1 -1
  68. package/dist/tracing/SqliteRunStore.js +19 -3
  69. package/dist/tracing/SqliteRunStore.js.map +1 -1
  70. package/dist/tracing/TraceRouter.js +245 -4
  71. package/dist/tracing/TraceRouter.js.map +1 -1
  72. package/dist/tracing/types.d.ts +82 -10
  73. package/dist/types/GlobalOptions.d.ts +9 -2
  74. package/dist/workflow/PersistenceHelper.d.ts +46 -0
  75. package/dist/workflow/PersistenceHelper.js +57 -0
  76. package/dist/workflow/PersistenceHelper.js.map +1 -0
  77. package/dist/workflow/WorkflowNormalizer.d.ts +91 -0
  78. package/dist/workflow/WorkflowNormalizer.js +304 -0
  79. package/dist/workflow/WorkflowNormalizer.js.map +1 -0
  80. package/package.json +8 -5
@@ -20,6 +20,7 @@
20
20
  */
21
21
  export class HttpRuntimeAdapter {
22
22
  kind;
23
+ transport = "http";
23
24
  baseUrl;
24
25
  timeoutMs;
25
26
  constructor(kind, host, port, options) {
@@ -41,7 +42,23 @@ export class HttpRuntimeAdapter {
41
42
  signal: AbortSignal.timeout(this.timeoutMs),
42
43
  });
43
44
  if (!response.ok) {
44
- throw new Error(`HTTP runtime '${this.kind}' at ${this.baseUrl} returned HTTP ${response.status}: ${response.statusText}`);
45
+ // Read the error response body SDK containers return structured error details
46
+ // that would otherwise be lost (e.g. validation messages, stack traces)
47
+ let errorDetail = "";
48
+ try {
49
+ const errorBody = (await response.json());
50
+ const errors = errorBody?.errors;
51
+ errorDetail = errors?.message || JSON.stringify(errors) || "";
52
+ }
53
+ catch {
54
+ try {
55
+ errorDetail = await response.text();
56
+ }
57
+ catch {
58
+ /* body not readable */
59
+ }
60
+ }
61
+ throw new Error(`HTTP runtime '${this.kind}' at ${this.baseUrl} returned HTTP ${response.status}: ${response.statusText}${errorDetail ? ` — ${errorDetail}` : ""}`);
45
62
  }
46
63
  const result = (await response.json());
47
64
  const duration_ms = performance.now() - startTime;
@@ -76,11 +93,31 @@ export class HttpRuntimeAdapter {
76
93
  /**
77
94
  * Create the ExecutionRequest payload for the SDK container.
78
95
  *
79
- * Data flow priority:
80
- * 1. If the node has resolved inputs (from blueprint Mapper), use those as request.body
81
- * This allows workflows to define explicit inputs like: "chain": "js/ctx.response.data.chain"
82
- * 2. Otherwise, fall back to ctx.response.data (previous step output)
83
- * This enables zero-config chaining where SDK nodes automatically receive prior output
96
+ * Sends two shapes in the same envelope so the migration to the new
97
+ * canonical wire format is backward-compatible:
98
+ *
99
+ * 1. **Legacy keys** `node.config` + `context.{request,response,vars,env}`.
100
+ * Existing SDK HTTP servers (Rust, Python, Go HTTP, others) read
101
+ * these keys today and keep working unchanged.
102
+ *
103
+ * 2. **New canonical keys** — `step` / `inputs` / `trigger` / `state` /
104
+ * `workflow`. Same field names + structure as the gRPC proto so SDK
105
+ * authors who adopt the new shape get a uniform mental model across
106
+ * transports. The "inputs unwrapped at the wire layer" property
107
+ * (FIXES.md #3) holds for both shapes.
108
+ *
109
+ * Data flow priority for the legacy `request.body`:
110
+ * 1. If the node has resolved inputs (from the blueprint Mapper), use
111
+ * those as `request.body` so workflows that define explicit inputs
112
+ * like `"chain": "js/ctx.response.data.chain"` keep working.
113
+ * 2. Otherwise, fall back to `ctx.response.data` (previous step output)
114
+ * enabling zero-config chaining for SDK nodes that read body fields.
115
+ *
116
+ * The new `trigger.body` always reflects the actual trigger body
117
+ * (`ctx.request?.body`) — separated from inputs at the wire layer.
118
+ *
119
+ * Deprecation timeline: legacy keys will be removed in the next minor
120
+ * version once SDK HTTP servers have all adopted the new shape.
84
121
  */
85
122
  createExecutionRequest(node, ctx) {
86
123
  const nodeConfig = ctx.config
@@ -91,26 +128,40 @@ export class HttpRuntimeAdapter {
91
128
  // config[node.name].inputs has resolved values (not raw js/ expressions)
92
129
  const resolvedInputs = nodeConfig?.inputs;
93
130
  // Use resolved inputs if available, otherwise fall back to previous step data
94
- const requestBody = resolvedInputs || (ctx.response?.data ?? {});
131
+ const legacyRequestBody = resolvedInputs || (ctx.response?.data ?? {});
132
+ // Unwrap the {inputs: {...}} wrapper that comes from @blokjs/helper StepNode.
133
+ // SDK nodes expect config to contain the inputs directly (e.g. config.operation),
134
+ // not wrapped as config.inputs.operation.
135
+ const unwrappedConfig = resolvedInputs || nodeConfig?.inputs || nodeConfig || {};
136
+ const stepInfo = ctx._stepInfo;
137
+ const headers = ctx.request?.headers ?? {};
138
+ const params = ctx.request?.params ?? {};
139
+ const query = ctx.request?.query ?? {};
140
+ const cookies = ctx.request?.cookies ?? {};
141
+ const method = ctx.request?.method ?? "";
142
+ const url = ctx.request?.url ?? "";
143
+ const baseUrl = ctx.request?.baseUrl ?? "";
95
144
  return {
145
+ // ===== Legacy keys (kept for one minor for backward compat) =====
96
146
  node: {
97
147
  name: node.node,
98
148
  type: node.type,
99
- config: nodeConfig || {},
149
+ version: "",
150
+ config: unwrappedConfig,
100
151
  },
101
152
  context: {
102
153
  id: ctx.id,
103
154
  workflow_name: ctx.workflow_name,
104
155
  workflow_path: ctx.workflow_path,
105
156
  request: {
106
- body: requestBody,
107
- headers: ctx.request?.headers ?? {},
108
- params: ctx.request?.params ?? {},
109
- query: ctx.request?.query ?? {},
110
- method: ctx.request?.method ?? "",
111
- url: ctx.request?.url ?? "",
112
- cookies: ctx.request?.cookies ?? {},
113
- baseUrl: ctx.request?.baseUrl ?? "",
157
+ body: legacyRequestBody,
158
+ headers,
159
+ params,
160
+ query,
161
+ method,
162
+ url,
163
+ cookies,
164
+ baseUrl,
114
165
  },
115
166
  response: {
116
167
  data: null,
@@ -121,6 +172,36 @@ export class HttpRuntimeAdapter {
121
172
  vars: ctx.vars ?? {},
122
173
  env: ctx.env ?? {},
123
174
  },
175
+ // ===== New canonical keys (mirror the gRPC proto v1 schema) =====
176
+ step: {
177
+ name: stepInfo?.name ?? node.name,
178
+ index: stepInfo?.index ?? 0,
179
+ total: stepInfo?.total ?? 1,
180
+ depth: stepInfo?.depth ?? 0,
181
+ },
182
+ inputs: unwrappedConfig,
183
+ trigger: {
184
+ body: ctx.request?.body ?? null,
185
+ headers,
186
+ params,
187
+ query,
188
+ cookies,
189
+ method,
190
+ url,
191
+ baseUrl,
192
+ triggerKind: "",
193
+ },
194
+ state: {
195
+ previousOutput: ctx.response?.data ?? null,
196
+ vars: ctx.vars ?? {},
197
+ env: ctx.env ?? {},
198
+ },
199
+ workflow: {
200
+ runId: ctx.id,
201
+ name: ctx.workflow_name ?? "",
202
+ path: ctx.workflow_path ?? "",
203
+ version: "",
204
+ },
124
205
  };
125
206
  }
126
207
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/HttpRuntimeAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/HttpRuntimeAdapter.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import type { ExecutionResult, RuntimeAdapter } from "./RuntimeAdapter";
12
12
  */
13
13
  export declare class NodeJsRuntimeAdapter implements RuntimeAdapter {
14
14
  readonly kind = "nodejs";
15
+ readonly transport: "module";
15
16
  /**
16
17
  * Execute a Node.js node in-process
17
18
  *
@@ -9,6 +9,7 @@
9
9
  */
10
10
  export class NodeJsRuntimeAdapter {
11
11
  kind = "nodejs";
12
+ transport = "module";
12
13
  /**
13
14
  * Execute a Node.js node in-process
14
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"NodeJsRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/NodeJsRuntimeAdapter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAoB;IAChB,IAAI,GAAG,QAAQ,CAAC;IAEhC;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAY;QAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACJ,gCAAgC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAErC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,6CAA6C;YAC7C,0BAA0B;YAC1B,0EAA0E;YAC1E,+CAA+C;YAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAiF,CAAC;YAChH,MAAM,gBAAgB,GAAG,QAAkE,CAAC;YAE5F,6FAA6F;YAC7F,MAAM,WAAW,GAAG,YAAY,EAAE,KAAK,KAAK,IAAI,IAAI,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC;YACtF,MAAM,aAAa,GAAG,gBAAgB,EAAE,KAAK,KAAK,IAAI,IAAI,gBAAgB,EAAE,KAAK,KAAK,SAAS,CAAC;YAChG,MAAM,QAAQ,GAAG,WAAW,IAAI,aAAa,CAAC;YAE9C,yEAAyE;YACzE,MAAM,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC;YAC5C,MAAM,eAAe,GAAG,gBAAgB,EAAE,OAAO,CAAC;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,eAAe,IAAI,IAAI,CAAC,CAAC;YAE9E,wCAAwC;YACxC,MAAM,UAAU,GAAG,YAAY,EAAE,KAAK,IAAI,gBAAgB,EAAE,KAAK,IAAI,IAAI,CAAC;YAE1E,OAAO;gBACN,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE;oBACR,WAAW;iBACX;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACP,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,KAAK,EAAG,KAAe,CAAC,KAAK;oBAC7B,IAAI,EAAG,KAAe,CAAC,IAAI;iBAC3B;gBACD,OAAO,EAAE;oBACR,WAAW;iBACX;aACD,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"NodeJsRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/NodeJsRuntimeAdapter.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAoB;IAChB,IAAI,GAAG,QAAQ,CAAC;IAChB,SAAS,GAAG,QAAiB,CAAC;IAE9C;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAY;QAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACJ,gCAAgC;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAErC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,6CAA6C;YAC7C,0BAA0B;YAC1B,0EAA0E;YAC1E,+CAA+C;YAC/C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAiF,CAAC;YAChH,MAAM,gBAAgB,GAAG,QAAkE,CAAC;YAE5F,6FAA6F;YAC7F,MAAM,WAAW,GAAG,YAAY,EAAE,KAAK,KAAK,IAAI,IAAI,YAAY,EAAE,KAAK,KAAK,SAAS,CAAC;YACtF,MAAM,aAAa,GAAG,gBAAgB,EAAE,KAAK,KAAK,IAAI,IAAI,gBAAgB,EAAE,KAAK,KAAK,SAAS,CAAC;YAChG,MAAM,QAAQ,GAAG,WAAW,IAAI,aAAa,CAAC;YAE9C,yEAAyE;YACzE,MAAM,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC;YAC5C,MAAM,eAAe,GAAG,gBAAgB,EAAE,OAAO,CAAC;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,eAAe,IAAI,IAAI,CAAC,CAAC;YAE9E,wCAAwC;YACxC,MAAM,UAAU,GAAG,YAAY,EAAE,KAAK,IAAI,gBAAgB,EAAE,KAAK,IAAI,IAAI,CAAC;YAE1E,OAAO;gBACN,OAAO;gBACP,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE;oBACR,WAAW;iBACX;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACP,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,KAAK,EAAG,KAAe,CAAC,KAAK;oBAC7B,IAAI,EAAG,KAAe,CAAC,IAAI;iBAC3B;gBACD,OAAO,EAAE;oBACR,WAAW;iBACX;aACD,CAAC;QACH,CAAC;IACF,CAAC;CACD"}
@@ -4,6 +4,13 @@ import type RunnerNode from "../RunnerNode";
4
4
  * RuntimeKind represents all supported runtime environments
5
5
  */
6
6
  export type RuntimeKind = "nodejs" | "bun" | "python3" | "go" | "java" | "rust" | "php" | "csharp" | "ruby" | "docker" | "wasm";
7
+ /**
8
+ * Wire transport an adapter uses to reach an SDK runtime. `module` is for
9
+ * in-process NodeJS adapters; `http` and `grpc` are the two non-NodeJS
10
+ * options. Used for log tagging and for distinguishing the same `kind`
11
+ * across transports during the gRPC migration.
12
+ */
13
+ export type AdapterTransport = "module" | "http" | "grpc";
7
14
  /**
8
15
  * ExecutionResult is the canonical response structure from any runtime adapter
9
16
  */
@@ -16,6 +23,10 @@ export type ExecutionResult = {
16
23
  duration_ms?: number;
17
24
  cpu_ms?: number;
18
25
  memory_bytes?: number;
26
+ /** Approximate or exact bytes the adapter sent on the wire. */
27
+ request_bytes?: number;
28
+ /** Bytes the adapter received from the SDK. */
29
+ response_bytes?: number;
19
30
  };
20
31
  /** Variables set by the SDK node during execution, to be merged into ctx.vars */
21
32
  vars?: Record<string, unknown>;
@@ -31,6 +42,12 @@ export interface RuntimeAdapter {
31
42
  * The kind of runtime this adapter handles
32
43
  */
33
44
  readonly kind: RuntimeKind;
45
+ /**
46
+ * Wire transport this adapter uses (`http`, `grpc`, or in-process
47
+ * `module`). Surfaced in step-prefix logs so operators can tell at a
48
+ * glance which path a runtime node took during the migration.
49
+ */
50
+ readonly transport: AdapterTransport;
34
51
  /**
35
52
  * Execute a node in this runtime
36
53
  *
@@ -21,6 +21,7 @@ import type { ExecutionResult, RuntimeAdapter } from "./RuntimeAdapter";
21
21
  */
22
22
  export declare class WasmRuntimeAdapter implements RuntimeAdapter {
23
23
  readonly kind: "wasm";
24
+ readonly transport: "module";
24
25
  private moduleCache;
25
26
  private maxCacheSize;
26
27
  constructor(options?: {
@@ -18,6 +18,7 @@
18
18
  */
19
19
  export class WasmRuntimeAdapter {
20
20
  kind = "wasm";
21
+ transport = "module";
21
22
  moduleCache = new Map();
22
23
  maxCacheSize;
23
24
  constructor(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"WasmRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/WasmRuntimeAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WasmRuntimeAdapter.js","sourceRoot":"","sources":["../../src/adapters/WasmRuntimeAdapter.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,kBAAkB;IACd,IAAI,GAAG,MAAe,CAAC;IACvB,SAAS,GAAG,QAAiB,CAAC;IAEtC,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC9C,YAAY,CAAS;IAE7B,YAAY,OAAyD;QACpE,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAY;QAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAErD,+BAA+B;YAC/B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,MAAkC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC5B,IAAI,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;oBAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,UAAU,IAAI,EAAE;iBACxB;gBACD,OAAO,EAAE;oBACR,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,aAAa,EAAE,GAAG,CAAC,aAAa;oBAChC,OAAO,EAAE;wBACR,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI;wBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO;wBAC5B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;wBAC1B,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK;qBACxB;oBACD,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI,EAAE,GAAG,CAAC,IAAI;iBACd;aACD,CAAC,CAAC;YAEH,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAE3D,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,eAAe;YACf,IAAI,MAAuB,CAAC;YAC5B,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,GAAG;oBACR,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;oBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI;oBAC7C,OAAO,EAAE;wBACR,WAAW;wBACX,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;qBACnD;iBACD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACR,wBAAwB;gBACxB,MAAM,GAAG;oBACR,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE;wBACR,WAAW;qBACX;iBACD,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAElD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE;oBACP,OAAO,EAAG,KAAe,CAAC,OAAO;oBACjC,KAAK,EAAG,KAAe,CAAC,KAAK;oBAC7B,IAAI,EAAG,KAAe,CAAC,IAAI;iBAC3B;gBACD,OAAO,EAAE;oBACR,WAAW;iBACX;aACD,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,UAAkB;QAC1C,cAAc;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACtB,CAAC;QAED,iBAAiB;QACjB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAErC,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,MAA0B,EAAE,KAAa;QACpE,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB;QAEtF,6CAA6C;QAC7C,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,MAAM,YAAY,GAAwB;YACzC,GAAG,EAAE;gBACJ,MAAM;gBACN,+BAA+B;gBAC/B,WAAW,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;oBACzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7C,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,2BAA2B;gBAC3B,iBAAiB,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;oBAC/C,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACtD,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChD,CAAC;gBACD,qCAAqC;gBACrC,gBAAgB,EAAE,GAAG,EAAE;oBACtB,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;gBAC/C,CAAC;gBACD,yCAAyC;gBACzC,iBAAiB,EAAE,CAAC,GAAW,EAAE,EAAE;oBAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnB,CAAC;aACD;YACD,sBAAsB,EAAE;gBACvB,uCAAuC;gBACvC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChB,SAAS,EAAE,GAAG,EAAE;oBACf,WAAW;gBACZ,CAAC;gBACD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpB,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;aACvB;SACD,CAAC;QAEF,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAEjC,qCAAqC;QAErC,0DAA0D;QAC1D,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACjD,OAAO,CAAC,cAAmC,EAAE,CAAC;YAC/C,OAAO,YAAY,IAAI,iCAAiC,CAAC;QAC1D,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAqC,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAuC,CAAC;YAEhE,IAAI,KAAK,EAAE,CAAC;gBACX,oCAAoC;gBACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAW,CAAC;gBACjD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1E,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEvB,MAAM,SAAS,GAAI,OAAO,CAAC,OAA4B,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAW,CAAC;gBAE5F,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBAED,mDAAmD;gBACnD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5D,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,GAAG,EAAE,CAAC;gBAC/D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,mCAAmC;YACnC,MAAM,MAAM,GAAI,OAAO,CAAC,OAA4B,EAAE,CAAC;YACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChC,kCAAkC;gBAClC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACzD,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBAAE,GAAG,EAAE,CAAC;gBAC/D,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,YAAY,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,CAAC,MAA2B,EAAE,CAAC;YACvC,OAAO,YAAY,IAAI,iCAAiC,CAAC;QAC1D,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,MAA0B;QACtD,oCAAoC;QACpC,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACzE,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAY,EAAE,MAA0B;QAC3D,qCAAqC;QACrC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE;YAC1B,MAAM;YACN,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACpB,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW;QAClB,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC;gBACjC,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAC5B,SAAS,GAAG,GAAG,CAAC;YACjB,CAAC;QACF,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,UAAU;QACT,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC3B,OAAO,EAAE,IAAI,CAAC,YAAY;SAC1B,CAAC;IACH,CAAC;CACD"}
@@ -0,0 +1,31 @@
1
+ import type { ChannelOptions } from "@grpc/grpc-js";
2
+ import { GRPC_DEFAULTS, type GrpcAdapterConfig } from "./types";
3
+ /**
4
+ * Build the {@link ChannelOptions} dictionary for `@grpc/grpc-js` from a
5
+ * {@link GrpcAdapterConfig}. Pure function — no I/O.
6
+ *
7
+ * The returned options enforce:
8
+ * - 16MB max send/receive message length (parity with PHP buffer ceiling).
9
+ * - Keepalive pings every 10s with 5s ack timeout.
10
+ * - TLS server-name override when provided.
11
+ *
12
+ * Service config (for `Health` RPC retries) is passed through verbatim so
13
+ * advanced users can tune retry/hedging policy without touching this file.
14
+ *
15
+ * @example
16
+ * const channel = new grpc.Client(
17
+ * `${cfg.host}:${cfg.port}`,
18
+ * credentials,
19
+ * buildChannelOptions(cfg),
20
+ * );
21
+ */
22
+ export declare function buildChannelOptions(config: GrpcAdapterConfig): ChannelOptions;
23
+ /**
24
+ * Default service config for the Health RPC. Permits up to 3 retries on
25
+ * `UNAVAILABLE` with exponential backoff.
26
+ *
27
+ * Only applied to `NodeRuntime/Health` — `Execute` is intentionally never
28
+ * retried automatically because workflow steps are not idempotent in general.
29
+ */
30
+ export declare const DEFAULT_HEALTH_SERVICE_CONFIG: string;
31
+ export { GRPC_DEFAULTS };
@@ -0,0 +1,68 @@
1
+ import { GRPC_DEFAULTS } from "./types";
2
+ /**
3
+ * Build the {@link ChannelOptions} dictionary for `@grpc/grpc-js` from a
4
+ * {@link GrpcAdapterConfig}. Pure function — no I/O.
5
+ *
6
+ * The returned options enforce:
7
+ * - 16MB max send/receive message length (parity with PHP buffer ceiling).
8
+ * - Keepalive pings every 10s with 5s ack timeout.
9
+ * - TLS server-name override when provided.
10
+ *
11
+ * Service config (for `Health` RPC retries) is passed through verbatim so
12
+ * advanced users can tune retry/hedging policy without touching this file.
13
+ *
14
+ * @example
15
+ * const channel = new grpc.Client(
16
+ * `${cfg.host}:${cfg.port}`,
17
+ * credentials,
18
+ * buildChannelOptions(cfg),
19
+ * );
20
+ */
21
+ export function buildChannelOptions(config) {
22
+ const opts = {
23
+ "grpc.max_send_message_length": config.maxMessageBytes,
24
+ "grpc.max_receive_message_length": config.maxMessageBytes,
25
+ "grpc.keepalive_time_ms": config.keepalive.timeMs,
26
+ "grpc.keepalive_timeout_ms": config.keepalive.timeoutMs,
27
+ "grpc.keepalive_permit_without_calls": config.keepalive.permitWithoutCalls ? 1 : 0,
28
+ // Sets the maximum amount of time a connection can be idle before keepalive
29
+ // pings start. Matches keepalive_time so we ping consistently.
30
+ "grpc.http2.min_time_between_pings_ms": config.keepalive.timeMs,
31
+ };
32
+ if (config.tls?.serverNameOverride) {
33
+ opts["grpc.ssl_target_name_override"] = config.tls.serverNameOverride;
34
+ opts["grpc.default_authority"] = config.tls.serverNameOverride;
35
+ }
36
+ if (config.serviceConfigJson) {
37
+ opts["grpc.service_config"] = config.serviceConfigJson;
38
+ }
39
+ return opts;
40
+ }
41
+ /**
42
+ * Default service config for the Health RPC. Permits up to 3 retries on
43
+ * `UNAVAILABLE` with exponential backoff.
44
+ *
45
+ * Only applied to `NodeRuntime/Health` — `Execute` is intentionally never
46
+ * retried automatically because workflow steps are not idempotent in general.
47
+ */
48
+ export const DEFAULT_HEALTH_SERVICE_CONFIG = JSON.stringify({
49
+ methodConfig: [
50
+ {
51
+ name: [
52
+ {
53
+ service: "blok.runtime.v1.NodeRuntime",
54
+ method: "Health",
55
+ },
56
+ ],
57
+ retryPolicy: {
58
+ maxAttempts: 3,
59
+ initialBackoff: "0.1s",
60
+ maxBackoff: "1s",
61
+ backoffMultiplier: 2,
62
+ retryableStatusCodes: ["UNAVAILABLE"],
63
+ },
64
+ },
65
+ ],
66
+ });
67
+ export { GRPC_DEFAULTS };
68
+ //# sourceMappingURL=GrpcChannelOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrpcChannelOptions.js","sourceRoot":"","sources":["../../../src/adapters/grpc/GrpcChannelOptions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA0B,MAAM,SAAS,CAAC;AAEhE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC5D,MAAM,IAAI,GAAmB;QAC5B,8BAA8B,EAAE,MAAM,CAAC,eAAe;QACtD,iCAAiC,EAAE,MAAM,CAAC,eAAe;QACzD,wBAAwB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;QACjD,2BAA2B,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS;QACvD,qCAAqC,EAAE,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,4EAA4E;QAC5E,+DAA+D;QAC/D,sCAAsC,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;KAC/D,CAAC;IAEF,IAAI,MAAM,CAAC,GAAG,EAAE,kBAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,+BAA+B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACtE,IAAI,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAChE,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAW,IAAI,CAAC,SAAS,CAAC;IACnE,YAAY,EAAE;QACb;YACC,IAAI,EAAE;gBACL;oBACC,OAAO,EAAE,6BAA6B;oBACtC,MAAM,EAAE,QAAQ;iBAChB;aACD;YACD,WAAW,EAAE;gBACZ,WAAW,EAAE,CAAC;gBACd,cAAc,EAAE,MAAM;gBACtB,UAAU,EAAE,IAAI;gBAChB,iBAAiB,EAAE,CAAC;gBACpB,oBAAoB,EAAE,CAAC,aAAa,CAAC;aACrC;SACD;KACD;CACD,CAAC,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { type ChannelCredentials, type Client } from "@grpc/grpc-js";
2
+ import type { GrpcAdapterConfig, TlsConfig } from "./types";
3
+ /**
4
+ * Pool of gRPC clients keyed by `(host, port)`. One persistent client per
5
+ * endpoint for the lifetime of the pool — no per-request TCP/HTTP/2
6
+ * handshake.
7
+ *
8
+ * Adapters request a client via {@link get}; the pool creates it on first
9
+ * use and caches it. {@link close} drains all clients, used during graceful
10
+ * shutdown.
11
+ *
12
+ * Single Responsibility: lifecycle of `Client` instances. The pool does not
13
+ * encode requests, decode responses, or interpret errors — those belong to
14
+ * {@link GrpcCodec} and {@link GrpcErrors}.
15
+ */
16
+ export declare class GrpcClientPool {
17
+ private readonly clients;
18
+ /**
19
+ * Get (or lazily create) a client for the given config's `(host, port)`.
20
+ * Subsequent calls with the same endpoint return the same instance.
21
+ */
22
+ get(config: GrpcAdapterConfig): Client;
23
+ /**
24
+ * Close a client for a specific endpoint. Returns true if a client was
25
+ * present and closed.
26
+ */
27
+ closeEndpoint(host: string, port: number): boolean;
28
+ /**
29
+ * Drain the pool. Closes every cached client.
30
+ */
31
+ close(): void;
32
+ /** How many clients the pool currently holds. */
33
+ size(): number;
34
+ }
35
+ /**
36
+ * Build channel credentials from a {@link TlsConfig}. When `tls` is omitted
37
+ * returns insecure credentials (plaintext channel) — appropriate for loopback
38
+ * dev only.
39
+ *
40
+ * `BLOK_GRPC_REQUIRE_TLS=true` causes the adapter to throw at startup when an
41
+ * insecure channel targets a non-loopback host.
42
+ */
43
+ export declare function buildCredentials(tls?: TlsConfig): ChannelCredentials;
@@ -0,0 +1,89 @@
1
+ import fs from "node:fs";
2
+ import { credentials as grpcCredentials } from "@grpc/grpc-js";
3
+ import { buildChannelOptions } from "./GrpcChannelOptions";
4
+ import { NodeRuntimeService } from "./GrpcCodec";
5
+ /**
6
+ * Pool of gRPC clients keyed by `(host, port)`. One persistent client per
7
+ * endpoint for the lifetime of the pool — no per-request TCP/HTTP/2
8
+ * handshake.
9
+ *
10
+ * Adapters request a client via {@link get}; the pool creates it on first
11
+ * use and caches it. {@link close} drains all clients, used during graceful
12
+ * shutdown.
13
+ *
14
+ * Single Responsibility: lifecycle of `Client` instances. The pool does not
15
+ * encode requests, decode responses, or interpret errors — those belong to
16
+ * {@link GrpcCodec} and {@link GrpcErrors}.
17
+ */
18
+ export class GrpcClientPool {
19
+ clients = new Map();
20
+ /**
21
+ * Get (or lazily create) a client for the given config's `(host, port)`.
22
+ * Subsequent calls with the same endpoint return the same instance.
23
+ */
24
+ get(config) {
25
+ const endpoint = `${config.host}:${config.port}`;
26
+ const existing = this.clients.get(endpoint);
27
+ if (existing)
28
+ return existing;
29
+ const creds = buildCredentials(config.tls);
30
+ const options = buildChannelOptions(config);
31
+ const ServiceCtor = NodeRuntimeService;
32
+ const client = new ServiceCtor(endpoint, creds, options);
33
+ this.clients.set(endpoint, client);
34
+ return client;
35
+ }
36
+ /**
37
+ * Close a client for a specific endpoint. Returns true if a client was
38
+ * present and closed.
39
+ */
40
+ closeEndpoint(host, port) {
41
+ const endpoint = `${host}:${port}`;
42
+ const client = this.clients.get(endpoint);
43
+ if (!client)
44
+ return false;
45
+ client.close();
46
+ this.clients.delete(endpoint);
47
+ return true;
48
+ }
49
+ /**
50
+ * Drain the pool. Closes every cached client.
51
+ */
52
+ close() {
53
+ for (const client of this.clients.values()) {
54
+ try {
55
+ client.close();
56
+ }
57
+ catch {
58
+ /* swallow — best-effort cleanup during shutdown */
59
+ }
60
+ }
61
+ this.clients.clear();
62
+ }
63
+ /** How many clients the pool currently holds. */
64
+ size() {
65
+ return this.clients.size;
66
+ }
67
+ }
68
+ /**
69
+ * Build channel credentials from a {@link TlsConfig}. When `tls` is omitted
70
+ * returns insecure credentials (plaintext channel) — appropriate for loopback
71
+ * dev only.
72
+ *
73
+ * `BLOK_GRPC_REQUIRE_TLS=true` causes the adapter to throw at startup when an
74
+ * insecure channel targets a non-loopback host.
75
+ */
76
+ export function buildCredentials(tls) {
77
+ if (!tls)
78
+ return grpcCredentials.createInsecure();
79
+ if (tls.insecureSkipVerify) {
80
+ // Verified-server-via-handshake-skipped is genuinely insecure. We log
81
+ // at adapter startup; here we just produce the credentials object.
82
+ return grpcCredentials.createInsecure();
83
+ }
84
+ const ca = tls.caCertPath ? fs.readFileSync(tls.caCertPath) : null;
85
+ const clientCert = tls.clientCertPath ? fs.readFileSync(tls.clientCertPath) : null;
86
+ const clientKey = tls.clientKeyPath ? fs.readFileSync(tls.clientKeyPath) : null;
87
+ return grpcCredentials.createSsl(ca ?? null, clientKey ?? null, clientCert ?? null);
88
+ }
89
+ //# sourceMappingURL=GrpcClientPool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GrpcClientPool.js","sourceRoot":"","sources":["../../../src/adapters/grpc/GrpcClientPool.ts"],"names":[],"mappings":"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"}