iii-sdk 0.19.7 → 0.20.0-alpha.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 (89) hide show
  1. package/dist/channel.cjs +5 -0
  2. package/dist/channel.d.cts +2 -0
  3. package/dist/channel.d.mts +2 -0
  4. package/dist/channel.mjs +3 -0
  5. package/dist/{utils-DXL7JI0q.mjs → channels-De8fNMyx.mjs} +3 -108
  6. package/dist/channels-De8fNMyx.mjs.map +1 -0
  7. package/dist/{utils-CuS1Knym.cjs → channels-ZbQzcwnN.cjs} +3 -166
  8. package/dist/channels-ZbQzcwnN.cjs.map +1 -0
  9. package/dist/engine.cjs +5 -0
  10. package/dist/engine.d.cts +3 -0
  11. package/dist/engine.d.mts +3 -0
  12. package/dist/engine.mjs +3 -0
  13. package/dist/errors.cjs +28 -0
  14. package/dist/errors.cjs.map +1 -0
  15. package/dist/errors.d.cts +40 -0
  16. package/dist/errors.d.cts.map +1 -0
  17. package/dist/errors.d.mts +40 -0
  18. package/dist/errors.d.mts.map +1 -0
  19. package/dist/errors.mjs +25 -0
  20. package/dist/errors.mjs.map +1 -0
  21. package/dist/helpers.cjs +6 -5
  22. package/dist/helpers.cjs.map +1 -1
  23. package/dist/helpers.d.cts +23 -5
  24. package/dist/helpers.d.cts.map +1 -1
  25. package/dist/helpers.d.mts +23 -5
  26. package/dist/helpers.d.mts.map +1 -1
  27. package/dist/helpers.mjs +4 -3
  28. package/dist/helpers.mjs.map +1 -1
  29. package/dist/iii-constants-Baptl8nm.d.mts +47 -0
  30. package/dist/iii-constants-Baptl8nm.d.mts.map +1 -0
  31. package/dist/iii-constants-BqXp8xSN.d.cts +47 -0
  32. package/dist/iii-constants-BqXp8xSN.d.cts.map +1 -0
  33. package/dist/iii-constants-Br94RUNi.cjs +67 -0
  34. package/dist/iii-constants-Br94RUNi.cjs.map +1 -0
  35. package/dist/iii-constants-_k3SoHry.mjs +43 -0
  36. package/dist/iii-constants-_k3SoHry.mjs.map +1 -0
  37. package/dist/iii-types-6aHBgy7l.cjs +24 -0
  38. package/dist/iii-types-6aHBgy7l.cjs.map +1 -0
  39. package/dist/iii-types-CRx2qAjB.mjs +18 -0
  40. package/dist/iii-types-CRx2qAjB.mjs.map +1 -0
  41. package/dist/index.cjs +93 -172
  42. package/dist/index.cjs.map +1 -1
  43. package/dist/index.d.cts +14 -81
  44. package/dist/index.d.cts.map +1 -1
  45. package/dist/index.d.mts +14 -81
  46. package/dist/index.d.mts.map +1 -1
  47. package/dist/index.mjs +30 -104
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/internal.cjs +0 -0
  50. package/dist/internal.d.cts +2 -0
  51. package/dist/internal.d.mts +2 -0
  52. package/dist/internal.mjs +1 -0
  53. package/dist/protocol.cjs +4 -0
  54. package/dist/protocol.d.cts +2 -0
  55. package/dist/protocol.d.mts +2 -0
  56. package/dist/protocol.mjs +3 -0
  57. package/dist/runtime.cjs +0 -0
  58. package/dist/runtime.d.cts +3 -0
  59. package/dist/runtime.d.mts +3 -0
  60. package/dist/runtime.mjs +1 -0
  61. package/dist/state.cjs.map +1 -1
  62. package/dist/state.d.cts +3 -7
  63. package/dist/state.d.cts.map +1 -1
  64. package/dist/state.d.mts +3 -7
  65. package/dist/state.d.mts.map +1 -1
  66. package/dist/state.mjs.map +1 -1
  67. package/dist/stream.d.cts +5 -246
  68. package/dist/stream.d.cts.map +1 -1
  69. package/dist/stream.d.mts +5 -246
  70. package/dist/stream.d.mts.map +1 -1
  71. package/dist/trigger.cjs +0 -0
  72. package/dist/trigger.d.cts +2 -0
  73. package/dist/trigger.d.mts +2 -0
  74. package/dist/trigger.mjs +1 -0
  75. package/dist/{utils-BnRzIUCy.d.cts → types-BZoO05vA.d.cts} +45 -220
  76. package/dist/types-BZoO05vA.d.cts.map +1 -0
  77. package/dist/{utils-e84Qph-9.d.mts → types-BlFE8MZG.d.mts} +45 -220
  78. package/dist/types-BlFE8MZG.d.mts.map +1 -0
  79. package/dist/utils-63wxBJg-.cjs +121 -0
  80. package/dist/utils-63wxBJg-.cjs.map +1 -0
  81. package/dist/utils-8G4hHqvZ.mjs +69 -0
  82. package/dist/utils-8G4hHqvZ.mjs.map +1 -0
  83. package/package.json +37 -2
  84. package/typedoc.json +13 -1
  85. package/vitest.config.ts +3 -3
  86. package/dist/utils-BnRzIUCy.d.cts.map +0 -1
  87. package/dist/utils-CuS1Knym.cjs.map +0 -1
  88. package/dist/utils-DXL7JI0q.mjs.map +0 -1
  89. package/dist/utils-e84Qph-9.d.mts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,93 +1,17 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_utils = require('./utils-CuS1Knym.cjs');
3
- let ws = require("ws");
2
+ const require_utils = require('./utils-63wxBJg-.cjs');
3
+ const require_errors = require('./errors.cjs');
4
+ const require_channels = require('./channels-ZbQzcwnN.cjs');
5
+ const require_iii_constants = require('./iii-constants-Br94RUNi.cjs');
6
+ const require_iii_types = require('./iii-types-6aHBgy7l.cjs');
4
7
  let _opentelemetry_api = require("@opentelemetry/api");
5
8
  let node_module = require("node:module");
6
9
  let node_os = require("node:os");
7
10
  node_os = require_utils.__toESM(node_os);
8
- let _iii_dev_observability = require("@iii-dev/observability");
9
- let _iii_dev_observability_internal = require("@iii-dev/observability/internal");
10
-
11
- //#region src/errors.ts
12
- var IIIInvocationError = class extends Error {
13
- constructor(init) {
14
- super(`${init.code}: ${init.message}`);
15
- this.name = "IIIInvocationError";
16
- this.code = init.code;
17
- this.function_id = init.function_id;
18
- this.stacktrace = init.stacktrace;
19
- }
20
- };
21
- /**
22
- * True when `value` looks like the wire `ErrorBody` the engine sends in
23
- * `InvocationResult.error`: `{ code: string, message: string, stacktrace?: string }`.
24
- * Used to distinguish an engine rejection (which we wrap in
25
- * {@link IIIInvocationError}) from a JS `Error` thrown elsewhere.
26
- */
27
- function isErrorBody(value) {
28
- if (typeof value !== "object" || value === null) return false;
29
- const v = value;
30
- return typeof v.code === "string" && typeof v.message === "string" && (v.stacktrace === void 0 || typeof v.stacktrace === "string");
31
- }
32
-
33
- //#endregion
34
- //#region src/iii-constants.ts
35
- /**
36
- * Constants for the III module.
37
- */
38
- /**
39
- * Engine function paths for internal operations.
40
- *
41
- * Naming note: `LIST_TRIGGERS` / `INFO_TRIGGERS` cover trigger TYPES
42
- * (templates). `LIST_REGISTERED_TRIGGERS` / `INFO_REGISTERED_TRIGGERS`
43
- * cover trigger INSTANCES (subscriber rows). The old
44
- * `engine::trigger-types::list` builtin has been removed and is now
45
- * served by `engine::triggers::list`.
46
- */
47
- const EngineFunctions = {
48
- LIST_FUNCTIONS: "engine::functions::list",
49
- INFO_FUNCTIONS: "engine::functions::info",
50
- LIST_WORKERS: "engine::workers::list",
51
- INFO_WORKERS: "engine::workers::info",
52
- LIST_TRIGGERS: "engine::triggers::list",
53
- INFO_TRIGGERS: "engine::triggers::info",
54
- LIST_REGISTERED_TRIGGERS: "engine::registered-triggers::list",
55
- INFO_REGISTERED_TRIGGERS: "engine::registered-triggers::info",
56
- REGISTER_WORKER: "engine::workers::register"
57
- };
58
- /** Engine trigger types */
59
- const EngineTriggers = {
60
- FUNCTIONS_AVAILABLE: "engine::functions-available",
61
- LOG: "log"
62
- };
63
- /** Default reconnection configuration */
64
- const DEFAULT_BRIDGE_RECONNECTION_CONFIG = {
65
- initialDelayMs: 1e3,
66
- maxDelayMs: 3e4,
67
- backoffMultiplier: 2,
68
- jitterFactor: .3,
69
- maxRetries: -1
70
- };
71
- /** Default invocation timeout in milliseconds */
72
- const DEFAULT_INVOCATION_TIMEOUT_MS = 3e4;
73
-
74
- //#endregion
75
- //#region src/iii-types.ts
76
- let MessageType = /* @__PURE__ */ function(MessageType) {
77
- MessageType["RegisterFunction"] = "registerfunction";
78
- MessageType["UnregisterFunction"] = "unregisterfunction";
79
- MessageType["InvokeFunction"] = "invokefunction";
80
- MessageType["InvocationResult"] = "invocationresult";
81
- MessageType["RegisterTriggerType"] = "registertriggertype";
82
- MessageType["RegisterTrigger"] = "registertrigger";
83
- MessageType["UnregisterTrigger"] = "unregistertrigger";
84
- MessageType["UnregisterTriggerType"] = "unregistertriggertype";
85
- MessageType["TriggerRegistrationResult"] = "triggerregistrationresult";
86
- MessageType["WorkerRegistered"] = "workerregistered";
87
- return MessageType;
88
- }({});
11
+ let ws = require("ws");
12
+ let _iii_dev_helpers_observability = require("@iii-dev/helpers/observability");
13
+ let _iii_dev_helpers_observability_internal = require("@iii-dev/helpers/observability/internal");
89
14
 
90
- //#endregion
91
15
  //#region src/iii.ts
92
16
  const { version: SDK_VERSION } = (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href)("../package.json");
93
17
  function getOsInfo() {
@@ -109,11 +33,11 @@ var Sdk = class {
109
33
  this.connectionState = "disconnected";
110
34
  this.isShuttingDown = false;
111
35
  this.registerTriggerType = (triggerType, handler) => {
112
- this.sendMessage(MessageType.RegisterTriggerType, triggerType, true);
36
+ this.sendMessage(require_iii_types.MessageType.RegisterTriggerType, triggerType, true);
113
37
  this.triggerTypes.set(triggerType.id, {
114
38
  message: {
115
39
  ...triggerType,
116
- message_type: MessageType.RegisterTriggerType
40
+ message_type: require_iii_types.MessageType.RegisterTriggerType
117
41
  },
118
42
  handler
119
43
  });
@@ -143,7 +67,7 @@ var Sdk = class {
143
67
  };
144
68
  };
145
69
  this.unregisterTriggerType = (triggerType) => {
146
- this.sendMessage(MessageType.UnregisterTriggerType, triggerType, true);
70
+ this.sendMessage(require_iii_types.MessageType.UnregisterTriggerType, triggerType, true);
147
71
  this.triggerTypes.delete(triggerType.id);
148
72
  };
149
73
  this.registerTrigger = (trigger) => {
@@ -151,14 +75,14 @@ var Sdk = class {
151
75
  const fullTrigger = {
152
76
  ...trigger,
153
77
  id,
154
- message_type: MessageType.RegisterTrigger
78
+ message_type: require_iii_types.MessageType.RegisterTrigger
155
79
  };
156
- this.sendMessage(MessageType.RegisterTrigger, fullTrigger, true);
80
+ this.sendMessage(require_iii_types.MessageType.RegisterTrigger, fullTrigger, true);
157
81
  this.triggers.set(id, fullTrigger);
158
82
  return { unregister: () => {
159
- this.sendMessage(MessageType.UnregisterTrigger, {
83
+ this.sendMessage(require_iii_types.MessageType.UnregisterTrigger, {
160
84
  id,
161
- message_type: MessageType.UnregisterTrigger,
85
+ message_type: require_iii_types.MessageType.UnregisterTrigger,
162
86
  type: fullTrigger.type
163
87
  });
164
88
  this.triggers.delete(id);
@@ -171,11 +95,11 @@ var Sdk = class {
171
95
  const fullMessage = isHandler ? {
172
96
  ...options,
173
97
  id: functionId,
174
- message_type: MessageType.RegisterFunction
98
+ message_type: require_iii_types.MessageType.RegisterFunction
175
99
  } : {
176
100
  ...options,
177
101
  id: functionId,
178
- message_type: MessageType.RegisterFunction,
102
+ message_type: require_iii_types.MessageType.RegisterFunction,
179
103
  invocation: {
180
104
  url: handlerOrInvocation.url,
181
105
  method: handlerOrInvocation.method ?? "POST",
@@ -184,27 +108,27 @@ var Sdk = class {
184
108
  auth: handlerOrInvocation.auth
185
109
  }
186
110
  };
187
- this.sendMessage(MessageType.RegisterFunction, fullMessage, true);
111
+ this.sendMessage(require_iii_types.MessageType.RegisterFunction, fullMessage, true);
188
112
  if (isHandler) {
189
113
  const handler = handlerOrInvocation;
190
114
  this.functions.set(functionId, {
191
115
  message: fullMessage,
192
- handler: async (input, traceparent, baggage) => {
116
+ handler: async (input, metadata, traceparent, baggage) => {
193
117
  const tracePayloads = !(process.env.III_DISABLE_TRACE_PAYLOADS === "1" || process.env.III_DISABLE_TRACE_PAYLOADS?.toLowerCase() === "true");
194
- const payloadMaxBytes = (0, _iii_dev_observability.resolveMaxBytesFromEnv)();
118
+ const payloadMaxBytes = (0, _iii_dev_helpers_observability.resolveMaxBytesFromEnv)();
195
119
  const runHandler = async () => {
196
120
  if (tracePayloads) {
197
- const { json, truncated } = (0, _iii_dev_observability.redactAndTruncate)(input, payloadMaxBytes);
198
- (0, _iii_dev_observability.recordSpanEvent)("iii.invocation.input", {
121
+ const { json, truncated } = (0, _iii_dev_helpers_observability.redactAndTruncate)(input, payloadMaxBytes);
122
+ (0, _iii_dev_helpers_observability.recordSpanEvent)("iii.invocation.input", {
199
123
  "iii.payload.json": json,
200
124
  "iii.payload.truncated": truncated
201
125
  });
202
126
  }
203
127
  try {
204
- const result = await handler(input);
128
+ const result = await handler(input, metadata);
205
129
  if (tracePayloads) {
206
- const { json, truncated } = (0, _iii_dev_observability.redactAndTruncate)(result, payloadMaxBytes);
207
- (0, _iii_dev_observability.recordSpanEvent)("iii.invocation.output", {
130
+ const { json, truncated } = (0, _iii_dev_helpers_observability.redactAndTruncate)(result, payloadMaxBytes);
131
+ (0, _iii_dev_helpers_observability.recordSpanEvent)("iii.invocation.output", {
208
132
  "iii.payload.json": json,
209
133
  "iii.payload.truncated": truncated,
210
134
  "iii.payload.ok": true
@@ -213,8 +137,8 @@ var Sdk = class {
213
137
  return result;
214
138
  } catch (err) {
215
139
  if (tracePayloads) {
216
- const { json, truncated } = (0, _iii_dev_observability.redactAndTruncate)({ error: err instanceof Error ? err.message : String(err) }, payloadMaxBytes);
217
- (0, _iii_dev_observability.recordSpanEvent)("iii.invocation.output", {
140
+ const { json, truncated } = (0, _iii_dev_helpers_observability.redactAndTruncate)({ error: err instanceof Error ? err.message : String(err) }, payloadMaxBytes);
141
+ (0, _iii_dev_helpers_observability.recordSpanEvent)("iii.invocation.output", {
218
142
  "iii.payload.json": json,
219
143
  "iii.payload.truncated": truncated,
220
144
  "iii.payload.ok": false
@@ -223,9 +147,9 @@ var Sdk = class {
223
147
  throw err;
224
148
  }
225
149
  };
226
- if ((0, _iii_dev_observability_internal.getTracer)()) {
227
- const parentContext = (0, _iii_dev_observability.extractContext)(traceparent, baggage);
228
- return _opentelemetry_api.context.with(parentContext, () => (0, _iii_dev_observability.withSpan)(`execute ${functionId}`, { kind: _opentelemetry_api.SpanKind.INTERNAL }, async () => await runHandler()));
150
+ if ((0, _iii_dev_helpers_observability_internal.getTracer)()) {
151
+ const parentContext = (0, _iii_dev_helpers_observability.extractContext)(traceparent, baggage);
152
+ return _opentelemetry_api.context.with(parentContext, () => (0, _iii_dev_helpers_observability.withSpan)(`execute ${functionId}`, { kind: _opentelemetry_api.SpanKind.INTERNAL }, async () => await runHandler()));
229
153
  }
230
154
  const traceId = crypto.randomUUID().replace(/-/g, "");
231
155
  const spanId = crypto.randomUUID().replace(/-/g, "").slice(0, 16);
@@ -241,7 +165,7 @@ var Sdk = class {
241
165
  return {
242
166
  id: functionId,
243
167
  unregister: () => {
244
- this.sendMessage(MessageType.UnregisterFunction, { id: functionId }, true);
168
+ this.sendMessage(require_iii_types.MessageType.UnregisterFunction, { id: functionId }, true);
245
169
  this.functions.delete(functionId);
246
170
  }
247
171
  };
@@ -252,35 +176,36 @@ var Sdk = class {
252
176
  payload: { buffer_size: bufferSize }
253
177
  });
254
178
  return {
255
- writer: new require_utils.ChannelWriter(this.address, result.writer),
256
- reader: new require_utils.ChannelReader(this.address, result.reader),
179
+ writer: new require_channels.ChannelWriter(this.address, result.writer),
180
+ reader: new require_channels.ChannelReader(this.address, result.reader),
257
181
  writerRef: result.writer,
258
182
  readerRef: result.reader
259
183
  };
260
184
  };
261
185
  this.trigger = async (request) => {
262
- const { function_id, payload, action, timeoutMs } = request;
186
+ const { function_id, payload, action, timeoutMs, metadata } = request;
263
187
  const effectiveTimeout = timeoutMs ?? this.invocationTimeoutMs;
264
188
  if (action?.type === "void") {
265
- const traceparent = (0, _iii_dev_observability.injectTraceparent)();
266
- const baggage = (0, _iii_dev_observability.injectBaggage)();
267
- this.sendMessage(MessageType.InvokeFunction, {
189
+ const traceparent = (0, _iii_dev_helpers_observability.injectTraceparent)();
190
+ const baggage = (0, _iii_dev_helpers_observability.injectBaggage)();
191
+ this.sendMessage(require_iii_types.MessageType.InvokeFunction, {
268
192
  function_id,
269
193
  data: payload,
270
194
  traceparent,
271
195
  baggage,
272
- action
196
+ action,
197
+ metadata
273
198
  });
274
199
  return;
275
200
  }
276
201
  const invocation_id = crypto.randomUUID();
277
- const traceparent = (0, _iii_dev_observability.injectTraceparent)();
278
- const baggage = (0, _iii_dev_observability.injectBaggage)();
202
+ const traceparent = (0, _iii_dev_helpers_observability.injectTraceparent)();
203
+ const baggage = (0, _iii_dev_helpers_observability.injectBaggage)();
279
204
  return new Promise((resolve, reject) => {
280
205
  const timeout = setTimeout(() => {
281
206
  if (this.invocations.get(invocation_id)) {
282
207
  this.invocations.delete(invocation_id);
283
- reject(new IIIInvocationError({
208
+ reject(new require_errors.InvocationError({
284
209
  code: "TIMEOUT",
285
210
  message: `invocation timed out after ${effectiveTimeout}ms`,
286
211
  function_id
@@ -299,13 +224,14 @@ var Sdk = class {
299
224
  function_id,
300
225
  timeout
301
226
  });
302
- this.sendMessage(MessageType.InvokeFunction, {
227
+ this.sendMessage(require_iii_types.MessageType.InvokeFunction, {
303
228
  invocation_id,
304
229
  function_id,
305
230
  data: payload,
306
231
  traceparent,
307
232
  baggage,
308
- action
233
+ action,
234
+ metadata
309
235
  });
310
236
  });
311
237
  };
@@ -319,7 +245,7 @@ var Sdk = class {
319
245
  this.shutdown = async () => {
320
246
  this.isShuttingDown = true;
321
247
  this.stopMetricsReporting();
322
- await (0, _iii_dev_observability.shutdownOtel)();
248
+ await (0, _iii_dev_helpers_observability.shutdownOtel)();
323
249
  this.clearReconnectTimeout();
324
250
  for (const [_id, invocation] of this.invocations) {
325
251
  if (invocation.timeout) clearTimeout(invocation.timeout);
@@ -341,10 +267,10 @@ var Sdk = class {
341
267
  this.metricsReportingEnabled = options?.enableMetricsReporting ?? true;
342
268
  this.invocationTimeoutMs = options?.invocationTimeoutMs ?? 3e4;
343
269
  this.reconnectionConfig = {
344
- ...DEFAULT_BRIDGE_RECONNECTION_CONFIG,
270
+ ...require_iii_constants.DEFAULT_BRIDGE_RECONNECTION_CONFIG,
345
271
  ...options?.reconnectionConfig
346
272
  };
347
- (0, _iii_dev_observability.initOtel)({
273
+ (0, _iii_dev_helpers_observability.initOtel)({
348
274
  ...options?.otel,
349
275
  engineWsUrl: this.address
350
276
  });
@@ -354,7 +280,7 @@ var Sdk = class {
354
280
  const telemetryOpts = this.options?.telemetry;
355
281
  const language = telemetryOpts?.language ?? Intl.DateTimeFormat().resolvedOptions().locale ?? process.env.LANG?.split(".")[0];
356
282
  this.trigger({
357
- function_id: EngineFunctions.REGISTER_WORKER,
283
+ function_id: require_iii_constants.EngineFunctions.REGISTER_WORKER,
358
284
  payload: {
359
285
  runtime: "node",
360
286
  version: SDK_VERSION,
@@ -416,18 +342,18 @@ var Sdk = class {
416
342
  }
417
343
  startMetricsReporting() {
418
344
  if (!this.metricsReportingEnabled || !this.workerId) return;
419
- const meter = (0, _iii_dev_observability_internal.getMeter)();
345
+ const meter = (0, _iii_dev_helpers_observability_internal.getMeter)();
420
346
  if (!meter) {
421
347
  console.warn("[iii] Worker metrics disabled: OpenTelemetry not initialized. Call initOtel() with metricsEnabled: true before creating the iii.");
422
348
  return;
423
349
  }
424
- (0, _iii_dev_observability.registerWorkerGauges)(meter, {
350
+ (0, _iii_dev_helpers_observability.registerWorkerGauges)(meter, {
425
351
  workerId: this.workerId,
426
352
  workerName: this.workerName
427
353
  });
428
354
  }
429
355
  stopMetricsReporting() {
430
- (0, _iii_dev_observability.stopWorkerGauges)();
356
+ (0, _iii_dev_helpers_observability.stopWorkerGauges)();
431
357
  }
432
358
  onSocketClose() {
433
359
  this.ws?.removeAllListeners();
@@ -443,18 +369,18 @@ var Sdk = class {
443
369
  this.setConnectionState("connected");
444
370
  this.ws?.on("message", this.onMessage.bind(this));
445
371
  this.triggerTypes.forEach(({ message }) => {
446
- this.sendMessage(MessageType.RegisterTriggerType, message, true);
372
+ this.sendMessage(require_iii_types.MessageType.RegisterTriggerType, message, true);
447
373
  });
448
374
  this.functions.forEach(({ message }) => {
449
- this.sendMessage(MessageType.RegisterFunction, message, true);
375
+ this.sendMessage(require_iii_types.MessageType.RegisterFunction, message, true);
450
376
  });
451
377
  this.triggers.forEach((trigger) => {
452
- this.sendMessage(MessageType.RegisterTrigger, trigger, true);
378
+ this.sendMessage(require_iii_types.MessageType.RegisterTrigger, trigger, true);
453
379
  });
454
380
  const pending = this.messagesToSend;
455
381
  this.messagesToSend = [];
456
382
  for (const message of pending) {
457
- if (message.type === MessageType.InvokeFunction && typeof message.invocation_id === "string" && !this.invocations.has(message.invocation_id)) continue;
383
+ if (message.type === require_iii_types.MessageType.InvokeFunction && typeof message.invocation_id === "string" && !this.invocations.has(message.invocation_id)) continue;
458
384
  this.sendMessageRaw(JSON.stringify(message));
459
385
  }
460
386
  this.registerWorkerMetadata();
@@ -473,7 +399,7 @@ var Sdk = class {
473
399
  }
474
400
  toWireFormat(messageType, message) {
475
401
  const { message_type: _, ...rest } = message;
476
- if (messageType === MessageType.RegisterTrigger && "type" in message) {
402
+ if (messageType === require_iii_types.MessageType.RegisterTrigger && "type" in message) {
477
403
  const { type: triggerType, ...triggerRest } = message;
478
404
  return {
479
405
  type: messageType,
@@ -481,7 +407,7 @@ var Sdk = class {
481
407
  trigger_type: triggerType
482
408
  };
483
409
  }
484
- if (messageType === MessageType.UnregisterTrigger && "type" in message) {
410
+ if (messageType === require_iii_types.MessageType.UnregisterTrigger && "type" in message) {
485
411
  const { type: triggerType, ...triggerRest } = message;
486
412
  return {
487
413
  type: messageType,
@@ -489,7 +415,7 @@ var Sdk = class {
489
415
  trigger_type: triggerType
490
416
  };
491
417
  }
492
- if (messageType === MessageType.TriggerRegistrationResult && "type" in message) {
418
+ if (messageType === require_iii_types.MessageType.TriggerRegistrationResult && "type" in message) {
493
419
  const { type: triggerType, ...resultRest } = message;
494
420
  return {
495
421
  type: messageType,
@@ -508,10 +434,10 @@ var Sdk = class {
508
434
  else if (!skipIfClosed) this.messagesToSend.push(wireMessage);
509
435
  }
510
436
  logError(message, error) {
511
- const otelLogger = (0, _iii_dev_observability.getLogger)();
437
+ const otelLogger = (0, _iii_dev_helpers_observability.getLogger)();
512
438
  const errorMessage = error instanceof Error ? error.message : String(error ?? "");
513
439
  if (otelLogger) otelLogger.emit({
514
- severityNumber: _iii_dev_observability.SeverityNumber.ERROR,
440
+ severityNumber: _iii_dev_helpers_observability.SeverityNumber.ERROR,
515
441
  body: `[iii] ${message}${errorMessage ? `: ${errorMessage}` : ""}`
516
442
  });
517
443
  else console.error(`[iii] ${message}`, error ?? "");
@@ -526,7 +452,7 @@ var Sdk = class {
526
452
  this.invocations.delete(invocation_id);
527
453
  }
528
454
  /**
529
- * Wrap a wire-format `ErrorBody` in {@link IIIInvocationError} so callers get
455
+ * Wrap a wire-format `ErrorBody` in {@link InvocationError} so callers get
530
456
  * a real `Error` with a readable `.message` and a typed `.code`. Pass-through
531
457
  * for values that are already `Error` subclasses. Everything else is wrapped
532
458
  * under an `UNKNOWN` code so `String(err) !== '[object Object]'` holds for
@@ -534,20 +460,20 @@ var Sdk = class {
534
460
  */
535
461
  toInvocationError(error, function_id) {
536
462
  if (error instanceof Error) return error;
537
- if (isErrorBody(error)) return new IIIInvocationError({
463
+ if (require_errors.isErrorBody(error)) return new require_errors.InvocationError({
538
464
  code: error.code,
539
465
  message: error.message,
540
466
  function_id,
541
467
  stacktrace: error.stacktrace
542
468
  });
543
- return new IIIInvocationError({
469
+ return new require_errors.InvocationError({
544
470
  code: "UNKNOWN",
545
471
  message: typeof error === "string" ? error : JSON.stringify(error) ?? String(error),
546
472
  function_id
547
473
  });
548
474
  }
549
475
  resolveChannelValue(value) {
550
- if (require_utils.isChannelRef(value)) return value.direction === "read" ? new require_utils.ChannelReader(this.address, value) : new require_utils.ChannelWriter(this.address, value);
476
+ if (require_utils.isChannelRef(value)) return value.direction === "read" ? new require_channels.ChannelReader(this.address, value) : new require_channels.ChannelWriter(this.address, value);
551
477
  if (Array.isArray(value)) return value.map((item) => this.resolveChannelValue(item));
552
478
  if (value !== null && typeof value === "object") {
553
479
  const out = {};
@@ -556,23 +482,23 @@ var Sdk = class {
556
482
  }
557
483
  return value;
558
484
  }
559
- async onInvokeFunction(invocation_id, function_id, input, traceparent, baggage) {
485
+ async onInvokeFunction(invocation_id, function_id, input, metadata, traceparent, baggage) {
560
486
  const fn = this.functions.get(function_id);
561
- const getResponseTraceparent = () => (0, _iii_dev_observability.injectTraceparent)() ?? traceparent;
562
- const getResponseBaggage = () => (0, _iii_dev_observability.injectBaggage)() ?? baggage;
487
+ const getResponseTraceparent = () => (0, _iii_dev_helpers_observability.injectTraceparent)() ?? traceparent;
488
+ const getResponseBaggage = () => (0, _iii_dev_helpers_observability.injectBaggage)() ?? baggage;
563
489
  const resolvedInput = this.resolveChannelValue(input);
564
490
  if (fn?.handler) {
565
491
  if (!invocation_id) {
566
492
  try {
567
- await fn.handler(resolvedInput, traceparent, baggage);
493
+ await fn.handler(resolvedInput, metadata, traceparent, baggage);
568
494
  } catch (error) {
569
495
  this.logError(`Error invoking function ${function_id}`, error);
570
496
  }
571
497
  return;
572
498
  }
573
499
  try {
574
- const result = await fn.handler(resolvedInput, traceparent, baggage);
575
- this.sendMessage(MessageType.InvocationResult, {
500
+ const result = await fn.handler(resolvedInput, metadata, traceparent, baggage);
501
+ this.sendMessage(require_iii_types.MessageType.InvocationResult, {
576
502
  invocation_id,
577
503
  function_id,
578
504
  result,
@@ -581,7 +507,7 @@ var Sdk = class {
581
507
  });
582
508
  } catch (error) {
583
509
  const isError = error instanceof Error;
584
- this.sendMessage(MessageType.InvocationResult, {
510
+ this.sendMessage(require_iii_types.MessageType.InvocationResult, {
585
511
  invocation_id,
586
512
  function_id,
587
513
  error: {
@@ -596,7 +522,7 @@ var Sdk = class {
596
522
  } else {
597
523
  const errorCode = fn ? "function_not_invokable" : "function_not_found";
598
524
  const errorMessage = fn ? "Function is HTTP-invoked and cannot be invoked locally" : "Function not found";
599
- if (invocation_id) this.sendMessage(MessageType.InvocationResult, {
525
+ if (invocation_id) this.sendMessage(require_iii_types.MessageType.InvocationResult, {
600
526
  invocation_id,
601
527
  function_id,
602
528
  error: {
@@ -618,16 +544,16 @@ var Sdk = class {
618
544
  config,
619
545
  metadata
620
546
  });
621
- this.sendMessage(MessageType.TriggerRegistrationResult, {
547
+ this.sendMessage(require_iii_types.MessageType.TriggerRegistrationResult, {
622
548
  id,
623
- message_type: MessageType.TriggerRegistrationResult,
549
+ message_type: require_iii_types.MessageType.TriggerRegistrationResult,
624
550
  type: trigger_type,
625
551
  function_id
626
552
  });
627
553
  } catch (error) {
628
- this.sendMessage(MessageType.TriggerRegistrationResult, {
554
+ this.sendMessage(require_iii_types.MessageType.TriggerRegistrationResult, {
629
555
  id,
630
- message_type: MessageType.TriggerRegistrationResult,
556
+ message_type: require_iii_types.MessageType.TriggerRegistrationResult,
631
557
  type: trigger_type,
632
558
  function_id,
633
559
  error: {
@@ -636,9 +562,9 @@ var Sdk = class {
636
562
  }
637
563
  });
638
564
  }
639
- else this.sendMessage(MessageType.TriggerRegistrationResult, {
565
+ else this.sendMessage(require_iii_types.MessageType.TriggerRegistrationResult, {
640
566
  id,
641
- message_type: MessageType.TriggerRegistrationResult,
567
+ message_type: require_iii_types.MessageType.TriggerRegistrationResult,
642
568
  type: trigger_type,
643
569
  function_id,
644
570
  error: {
@@ -681,16 +607,16 @@ var Sdk = class {
681
607
  this.logError("Failed to parse incoming message", error);
682
608
  return;
683
609
  }
684
- if (msgType === MessageType.InvocationResult) {
610
+ if (msgType === require_iii_types.MessageType.InvocationResult) {
685
611
  const { invocation_id, result, error } = message;
686
612
  this.onInvocationResult(invocation_id, result, error);
687
- } else if (msgType === MessageType.InvokeFunction) {
688
- const { invocation_id, function_id, data, traceparent, baggage } = message;
689
- this.onInvokeFunction(invocation_id, function_id, data, traceparent, baggage);
690
- } else if (msgType === MessageType.RegisterTrigger) this.onRegisterTrigger(message);
691
- else if (msgType === MessageType.UnregisterTrigger) this.onUnregisterTrigger(message);
692
- else if (msgType === MessageType.TriggerRegistrationResult) this.onTriggerRegistrationResult(message);
693
- else if (msgType === MessageType.WorkerRegistered) {
613
+ } else if (msgType === require_iii_types.MessageType.InvokeFunction) {
614
+ const { invocation_id, function_id, data, metadata, traceparent, baggage } = message;
615
+ this.onInvokeFunction(invocation_id, function_id, data, metadata, traceparent, baggage);
616
+ } else if (msgType === require_iii_types.MessageType.RegisterTrigger) this.onRegisterTrigger(message);
617
+ else if (msgType === require_iii_types.MessageType.UnregisterTrigger) this.onUnregisterTrigger(message);
618
+ else if (msgType === require_iii_types.MessageType.TriggerRegistrationResult) this.onTriggerRegistrationResult(message);
619
+ else if (msgType === require_iii_types.MessageType.WorkerRegistered) {
694
620
  const { worker_id } = message;
695
621
  this.workerId = worker_id;
696
622
  console.debug("[iii] Worker registered with ID:", worker_id);
@@ -699,21 +625,21 @@ var Sdk = class {
699
625
  }
700
626
  };
701
627
  /**
702
- * Factory object that constructs routing actions for {@link ISdk.trigger}.
628
+ * Factory object that constructs routing actions for {@link IIIClient.trigger}.
703
629
  *
704
630
  * @example
705
631
  * ```typescript
706
632
  * import { TriggerAction } from 'iii-sdk'
707
633
  *
708
634
  * // Enqueue to a named queue
709
- * iii.trigger({
635
+ * worker.trigger({
710
636
  * function_id: 'process',
711
637
  * payload: { data: 'hello' },
712
638
  * action: TriggerAction.Enqueue({ queue: 'jobs' }),
713
639
  * })
714
640
  *
715
641
  * // Fire-and-forget
716
- * iii.trigger({
642
+ * worker.trigger({
717
643
  * function_id: 'notify',
718
644
  * payload: {},
719
645
  * action: TriggerAction.Void(),
@@ -733,13 +659,13 @@ const TriggerAction = {
733
659
  *
734
660
  * @param address - WebSocket URL of the III engine (e.g. `ws://localhost:49134`).
735
661
  * @param options - Optional {@link InitOptions} for worker name, timeouts, reconnection, and OTel.
736
- * @returns A connected {@link ISdk} instance.
662
+ * @returns A connected {@link IIIClient} instance.
737
663
  *
738
664
  * @example
739
665
  * ```typescript
740
666
  * import { registerWorker } from 'iii-sdk'
741
667
  *
742
- * const iii = registerWorker(process.env.III_URL ?? 'ws://localhost:49134', {
668
+ * const worker = registerWorker(process.env.III_URL ?? 'ws://localhost:49134', {
743
669
  * workerName: 'my-worker',
744
670
  * })
745
671
  * ```
@@ -747,12 +673,7 @@ const TriggerAction = {
747
673
  const registerWorker = (address, options) => new Sdk(address, options);
748
674
 
749
675
  //#endregion
750
- exports.ChannelReader = require_utils.ChannelReader;
751
- exports.ChannelWriter = require_utils.ChannelWriter;
752
- exports.EngineFunctions = EngineFunctions;
753
- exports.EngineTriggers = EngineTriggers;
754
- exports.IIIInvocationError = IIIInvocationError;
676
+ exports.InvocationError = require_errors.InvocationError;
755
677
  exports.TriggerAction = TriggerAction;
756
- exports.http = require_utils.http;
757
678
  exports.registerWorker = registerWorker;
758
679
  //# sourceMappingURL=index.cjs.map