snyk-broker 5.22.14 → 5.23.1

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 (24) hide show
  1. package/dist/lib/hybrid-sdk/LegacyStreamResponseHandler.js +92 -30
  2. package/dist/lib/hybrid-sdk/LegacyStreamResponseHandler.js.map +1 -1
  3. package/dist/lib/hybrid-sdk/client/metrics/otelClient.js +21 -27
  4. package/dist/lib/hybrid-sdk/client/metrics/otelClient.js.map +1 -1
  5. package/dist/lib/hybrid-sdk/clientRequestHelpers.js +9 -15
  6. package/dist/lib/hybrid-sdk/clientRequestHelpers.js.map +1 -1
  7. package/dist/lib/hybrid-sdk/common/metrics/otel.js +43 -1
  8. package/dist/lib/hybrid-sdk/common/metrics/otel.js.map +1 -1
  9. package/dist/lib/hybrid-sdk/http/response-frame-decoder.js +144 -0
  10. package/dist/lib/hybrid-sdk/http/response-frame-decoder.js.map +1 -0
  11. package/dist/lib/hybrid-sdk/http/server-post-stream-handler.js +186 -44
  12. package/dist/lib/hybrid-sdk/http/server-post-stream-handler.js.map +1 -1
  13. package/dist/lib/hybrid-sdk/server/index.js +6 -1
  14. package/dist/lib/hybrid-sdk/server/index.js.map +1 -1
  15. package/dist/lib/hybrid-sdk/server/metrics/otelClient.js +23 -0
  16. package/dist/lib/hybrid-sdk/server/metrics/otelClient.js.map +1 -1
  17. package/dist/lib/hybrid-sdk/server/routesHandlers/postResponseHandler.js +64 -125
  18. package/dist/lib/hybrid-sdk/server/routesHandlers/postResponseHandler.js.map +1 -1
  19. package/dist/lib/hybrid-sdk/server/socketHandlers/connectionHandler.js +17 -1
  20. package/dist/lib/hybrid-sdk/server/socketHandlers/connectionHandler.js.map +1 -1
  21. package/dist/lib/hybrid-sdk/server/socketHandlers/identifyHandler.js +5 -4
  22. package/dist/lib/hybrid-sdk/server/socketHandlers/identifyHandler.js.map +1 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +1 -1
@@ -1,43 +1,105 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.legacyStreamResponseHandler = void 0;
4
- const server_post_stream_handler_1 = require("./http/server-post-stream-handler");
4
+ const stream_1 = require("stream");
5
+ const promises_1 = require("stream/promises");
5
6
  const logger_1 = require("../logs/logger");
6
- const metrics_1 = require("./common/utils/metrics");
7
+ const server_post_stream_handler_1 = require("./http/server-post-stream-handler");
8
+ const token_1 = require("./server/utils/token");
7
9
  /**
8
- * @deprecated Deprecated in favour of {@link StreamResponseHandler} */
9
- const legacyStreamResponseHandler = (token) => {
10
- return (streamingID, chunk, finished, ioResponse) => {
11
- const streamFromId = server_post_stream_handler_1.streamsStore.get(streamingID);
12
- if (streamFromId) {
13
- const { streamBuffer, response } = streamFromId;
14
- let { streamSize } = streamFromId;
15
- if (streamBuffer) {
16
- if (ioResponse) {
17
- response.status(ioResponse.status).set(ioResponse.headers);
18
- }
19
- if (chunk) {
20
- streamSize += chunk.length;
21
- streamBuffer.write(chunk);
22
- server_post_stream_handler_1.streamsStore.set(streamingID, { streamSize, streamBuffer, response });
23
- }
24
- if (finished) {
25
- streamBuffer.end();
26
- server_post_stream_handler_1.streamsStore.del(streamingID);
27
- (0, metrics_1.observeResponseSize)({
28
- bytes: streamSize,
29
- isStreaming: true,
30
- });
31
- }
10
+ * Adapts the callback-based websocket chunk protocol to a claimed response.
11
+ *
12
+ * The PassThrough is a source owned only by this legacy delivery. The actual
13
+ * HTTP response remains in pipeline(), so its backpressure, errors and final
14
+ * completion are included in the delivery lifecycle.
15
+ */
16
+ class LegacyResponseDelivery {
17
+ constructor(pending, logContext, onSettled) {
18
+ this.pending = pending;
19
+ this.logContext = logContext;
20
+ this.source = new stream_1.PassThrough({ highWaterMark: 1024 * 1024 });
21
+ this.bodyBytes = 0;
22
+ this.ended = false;
23
+ void (0, promises_1.pipeline)(this.source, pending.destination)
24
+ .then(() => pending.complete(this.bodyBytes))
25
+ .catch((error) => {
26
+ pending.cancel(error);
27
+ logger_1.log.error({ ...this.logContext, error }, 'Failed forwarding legacy websocket response stream.');
28
+ })
29
+ .finally(onSettled);
30
+ }
31
+ write(chunk, finished, metadata) {
32
+ if (this.ended) {
33
+ return;
34
+ }
35
+ try {
36
+ if (metadata) {
37
+ this.pending.applyMetadata(metadata);
32
38
  }
33
- else {
34
- logger_1.log.warn({ streamingID, token }, 'Discarding binary chunk.');
39
+ if (chunk) {
40
+ // Preserve the legacy receiver metric semantics for string chunks.
41
+ this.bodyBytes += chunk.length;
42
+ // The legacy event contract has no acknowledgement with which to
43
+ // propagate drain. PassThrough preserves its buffering boundary while
44
+ // pipeline coordinates the readable side and the real destination.
45
+ this.source.write(chunk);
35
46
  }
47
+ if (finished) {
48
+ this.ended = true;
49
+ this.source.end();
50
+ }
51
+ }
52
+ catch (error) {
53
+ this.ended = true;
54
+ this.source.destroy(error);
55
+ }
56
+ }
57
+ cancel(error) {
58
+ if (this.ended) {
59
+ return;
60
+ }
61
+ this.ended = true;
62
+ this.source.destroy(error);
63
+ }
64
+ }
65
+ const legacyStreamResponseHandler = (token, registry = server_post_stream_handler_1.pendingResponseRegistry) => {
66
+ const deliveries = new Map();
67
+ let disposed = false;
68
+ const handleChunk = (streamingID, chunk, finished, metadata) => {
69
+ if (disposed) {
70
+ return;
71
+ }
72
+ let delivery = deliveries.get(streamingID);
73
+ if (!delivery) {
74
+ const claim = registry.claim(streamingID, {
75
+ legacyConnectionIdentifier: token,
76
+ enforceLegacyOwnership: true,
77
+ });
78
+ if (claim.status !== 'claimed') {
79
+ const { maskedToken, hashedToken } = (0, token_1.getDesensitizedToken)(token);
80
+ logger_1.log.warn({
81
+ streamingID,
82
+ claimStatus: claim.status,
83
+ maskedToken,
84
+ hashedToken,
85
+ }, 'Trying to write into a closed or claimed stream.');
86
+ return;
87
+ }
88
+ delivery = new LegacyResponseDelivery(claim.pending, { streamingID }, () => deliveries.delete(streamingID));
89
+ deliveries.set(streamingID, delivery);
90
+ }
91
+ delivery.write(chunk, finished, metadata);
92
+ };
93
+ handleChunk.dispose = (error) => {
94
+ if (disposed) {
95
+ return;
36
96
  }
37
- else {
38
- logger_1.log.warn({ streamingID, token }, 'Trying to write into a closed stream.');
97
+ disposed = true;
98
+ for (const delivery of deliveries.values()) {
99
+ delivery.cancel(error);
39
100
  }
40
101
  };
102
+ return handleChunk;
41
103
  };
42
104
  exports.legacyStreamResponseHandler = legacyStreamResponseHandler;
43
105
  //# sourceMappingURL=LegacyStreamResponseHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyStreamResponseHandler.js","sourceRoot":"","sources":["../../../lib/hybrid-sdk/LegacyStreamResponseHandler.ts"],"names":[],"mappings":";;;AAAA,kFAG2C;AAC3C,2CAA+C;AAC/C,oDAA6D;AAE7D;uEACuE;AAChE,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,EAAE;IACnD,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE;QAClD,MAAM,YAAY,GAAG,yCAAY,CAAC,GAAG,CAAC,WAAW,CAAmB,CAAC;QAErE,IAAI,YAAY,EAAE;YAChB,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;YAChD,IAAI,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAElC,IAAI,YAAY,EAAE;gBAChB,IAAI,UAAU,EAAE;oBACd,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;iBAC5D;gBACD,IAAI,KAAK,EAAE;oBACT,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC;oBAC3B,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC1B,yCAAY,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;iBACvE;gBACD,IAAI,QAAQ,EAAE;oBACZ,YAAY,CAAC,GAAG,EAAE,CAAC;oBACnB,yCAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC9B,IAAA,6BAAmB,EAAC;wBAClB,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,YAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;aACjE;SACF;aAAM;YACL,YAAM,CAAC,IAAI,CACT,EAAE,WAAW,EAAE,KAAK,EAAE,EACtB,uCAAuC,CACxC,CAAC;SACH;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,2BAA2B,+BAmCtC"}
1
+ {"version":3,"file":"LegacyStreamResponseHandler.js","sourceRoot":"","sources":["../../../lib/hybrid-sdk/LegacyStreamResponseHandler.ts"],"names":[],"mappings":"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"}
@@ -4,16 +4,17 @@ exports.OtelClient = void 0;
4
4
  const api_1 = require("@opentelemetry/api");
5
5
  const instrumentation_1 = require("@opentelemetry/instrumentation");
6
6
  const instrumentation_runtime_node_1 = require("@opentelemetry/instrumentation-runtime-node");
7
- const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
8
7
  const otel_1 = require("../../common/metrics/otel");
8
+ const logger_1 = require("../../../logs/logger");
9
9
  const telemetry_1 = require("../../common/types/telemetry");
10
10
  /**
11
11
  * Client implementation backed by OpenTelemetry.
12
12
  * Exports metrics to an OTLP/gRPC endpoint using delta temporality.
13
13
  *
14
- * Automatically registers the Node.js event loop delay p99 metric via
15
- * RuntimeNodeInstrumentation, renamed to 'broker.nodejs.eventloop.delay.p99'
16
- * for pipeline compatibility. Other runtime metrics are filtered out.
14
+ * Automatically registers a selected subset of Node.js runtime metrics via
15
+ * RuntimeNodeInstrumentation — event loop delay (max and p99), event loop
16
+ * utilization, and GC duration — each renamed under the 'broker.' prefix for
17
+ * pipeline compatibility. Other runtime metrics are filtered out.
17
18
  *
18
19
  * For non-Kubernetes environments, container metrics (CPU, memory, network I/O)
19
20
  * are already provided by the infrastructure via cAdvisor.
@@ -27,28 +28,21 @@ class OtelClient {
27
28
  otelExportIntervalMs: config.exportIntervalMs,
28
29
  }, {
29
30
  reader: config.reader,
30
- views: [
31
- // Rename p99 event loop delay metric with `broker.` prefix to avoid being filtered out
32
- // by the metrics pipeline.
33
- {
34
- instrumentName: 'nodejs.eventloop.delay.p99',
35
- meterName: '@opentelemetry/instrumentation-runtime-node',
36
- name: 'broker.nodejs.eventloop.delay.p99',
37
- },
38
- // Drop all other NodeJS runtime metrics. Infra automatically filter these runtime
39
- // metrics out due to the large volume emitted, so we want to be selective.
40
- {
41
- instrumentName: '*',
42
- meterName: '@opentelemetry/instrumentation-runtime-node',
43
- aggregation: { type: sdk_metrics_1.AggregationType.DROP },
44
- },
45
- ],
46
- });
47
- this.runtimeInstrumentation = new instrumentation_runtime_node_1.RuntimeNodeInstrumentation();
48
- (0, instrumentation_1.registerInstrumentations)({
49
- meterProvider: this.meterProvider,
50
- instrumentations: [this.runtimeInstrumentation],
51
- });
31
+ views: otel_1.RUNTIME_NODE_VIEWS,
32
+ });
33
+ // Guarded because a throw here propagates to index.ts, which exits the
34
+ // process: RuntimeNodeInstrumentation reaches into perf_hooks and v8, so a
35
+ // failure must cost the diagnostic metrics rather than the broker.
36
+ try {
37
+ this.runtimeInstrumentation = new instrumentation_runtime_node_1.RuntimeNodeInstrumentation();
38
+ (0, instrumentation_1.registerInstrumentations)({
39
+ meterProvider: this.meterProvider,
40
+ instrumentations: [this.runtimeInstrumentation],
41
+ });
42
+ }
43
+ catch (err) {
44
+ logger_1.log.warn({ err }, 'Failed to register Node.js runtime instrumentation; runtime metrics will not be reported.');
45
+ }
52
46
  const meter = this.meterProvider.getMeter('broker-client');
53
47
  // --- Process Health ---
54
48
  this.brokerClientInitializedCounter = meter.createCounter('broker.client.initialized', {
@@ -149,7 +143,7 @@ class OtelClient {
149
143
  await this.meterProvider.forceFlush();
150
144
  }
151
145
  async shutdown() {
152
- this.runtimeInstrumentation.disable();
146
+ this.runtimeInstrumentation?.disable();
153
147
  await this.meterProvider.shutdown();
154
148
  }
155
149
  // --- Process Health ---
@@ -1 +1 @@
1
- {"version":3,"file":"otelClient.js","sourceRoot":"","sources":["../../../../../lib/hybrid-sdk/client/metrics/otelClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"otelClient.js","sourceRoot":"","sources":["../../../../../lib/hybrid-sdk/client/metrics/otelClient.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,6 @@ const config_1 = require("./common/config/config");
9
9
  const metrics_1 = require("./common/utils/metrics");
10
10
  const undefsafe_1 = __importDefault(require("undefsafe"));
11
11
  const uuid_1 = require("./common/utils/uuid");
12
- const stream_1 = __importDefault(require("stream"));
13
12
  const server_post_stream_handler_1 = require("./http/server-post-stream-handler");
14
13
  const token_1 = require("./common/utils/token");
15
14
  const request_1 = require("./http/request");
@@ -42,26 +41,21 @@ class HybridClientRequestHandler {
42
41
  }
43
42
  makeWebsocketRequestWithStreamingResponse() {
44
43
  const streamingID = (0, uuid_1.uuidv4)();
45
- const streamBuffer = new stream_1.default.PassThrough({ highWaterMark: 1048576 });
46
- streamBuffer.on('error', (error) => {
47
- // This may be a duplicate error, as the most likely cause of this is the POST handler calling destroy.
48
- logger_1.log.error({
49
- ...this.logContext,
50
- error,
51
- stackTrace: new Error('stacktrace generator').stack,
52
- }, '[HTTP Flow][Relay] Error piping POST response stream through to HTTP response');
53
- this.res.destroy(error);
54
- });
55
44
  this.logContext.streamingID = streamingID;
56
45
  logger_1.log.debug(this.logContext, '[HTTP Flow][Relay] Sending request over websocket connection expecting POST stream response');
57
- server_post_stream_handler_1.streamsStore.set(streamingID, {
46
+ const registration = server_post_stream_handler_1.pendingResponseRegistry.register(streamingID, {
58
47
  response: this.res,
59
- streamBuffer,
60
- streamSize: 0,
61
48
  brokerAppClientId: this.res.locals.brokerAppClientId ?? null,
49
+ legacyConnectionIdentifier: this.req.params?.token ??
50
+ (this.options.universalBrokerEnabled
51
+ ? this.res.locals.websocket.identifier
52
+ : this.options.brokerToken),
62
53
  });
54
+ if (registration.status === 'destination-unavailable') {
55
+ logger_1.log.debug(this.logContext, '[HTTP Flow][Relay] Requester disconnected before POST stream registration.');
56
+ return;
57
+ }
63
58
  this.res.setHeader('snyk-request-id', this.req.requestId);
64
- streamBuffer.pipe(this.res);
65
59
  const simplifiedContextWithStreamingID = this.simplifiedContext;
66
60
  simplifiedContextWithStreamingID['streamingID'] = streamingID;
67
61
  logger_1.log.debug(simplifiedContextWithStreamingID, '[HTTP Flow] Brokering request through Websocket.');
@@ -1 +1 @@
1
- {"version":3,"file":"clientRequestHelpers.js","sourceRoot":"","sources":["../../../lib/hybrid-sdk/clientRequestHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientRequestHelpers.js","sourceRoot":"","sources":["../../../lib/hybrid-sdk/clientRequestHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOtelBackedClient = exports.createMeterProvider = exports.parseOtelConfig = void 0;
3
+ exports.createOtelBackedClient = exports.createMeterProvider = exports.RUNTIME_NODE_VIEWS = exports.parseOtelConfig = void 0;
4
4
  const exporter_metrics_otlp_grpc_1 = require("@opentelemetry/exporter-metrics-otlp-grpc");
5
5
  const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
6
6
  const logger_1 = require("../../../logs/logger");
@@ -36,6 +36,48 @@ function parseOtelConfig(raw) {
36
36
  return { otelEndpoint, otelExportIntervalMs };
37
37
  }
38
38
  exports.parseOtelConfig = parseOtelConfig;
39
+ const RUNTIME_NODE_METER_NAME = '@opentelemetry/instrumentation-runtime-node';
40
+ /**
41
+ * Views applied by every mode that registers RuntimeNodeInstrumentation.
42
+ * Shared so instrument names cannot drift between client and server mode and
43
+ * silently split a dashboard.
44
+ *
45
+ * The renames are required because the metrics pipeline filters the upstream
46
+ * `nodejs.*` and `v8js.*` namespaces out. Views match independently, so each
47
+ * rename survives the trailing wildcard drop.
48
+ *
49
+ * Dropping happens at export, not at collection: the instrumentation runs
50
+ * every collector regardless of these views.
51
+ */
52
+ exports.RUNTIME_NODE_VIEWS = [
53
+ {
54
+ instrumentName: 'nodejs.eventloop.delay.max',
55
+ meterName: RUNTIME_NODE_METER_NAME,
56
+ name: 'broker.nodejs.eventloop.delay.max',
57
+ },
58
+ {
59
+ instrumentName: 'nodejs.eventloop.delay.p99',
60
+ meterName: RUNTIME_NODE_METER_NAME,
61
+ name: 'broker.nodejs.eventloop.delay.p99',
62
+ },
63
+ {
64
+ instrumentName: 'nodejs.eventloop.utilization',
65
+ meterName: RUNTIME_NODE_METER_NAME,
66
+ name: 'broker.nodejs.eventloop.utilization',
67
+ },
68
+ {
69
+ instrumentName: 'v8js.gc.duration',
70
+ meterName: RUNTIME_NODE_METER_NAME,
71
+ name: 'broker.v8js.gc.duration',
72
+ },
73
+ // Drop all other runtime metrics. Infra automatically filter these runtime
74
+ // metrics out due to the large volume emitted, so we want to be selective.
75
+ {
76
+ instrumentName: '*',
77
+ meterName: RUNTIME_NODE_METER_NAME,
78
+ aggregation: { type: sdk_metrics_1.AggregationType.DROP },
79
+ },
80
+ ];
39
81
  /**
40
82
  * Build a MeterProvider exporting to an OTLP/gRPC endpoint using delta
41
83
  * temporality, on a periodic export interval.
@@ -1 +1 @@
1
- {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../../../lib/hybrid-sdk/common/metrics/otel.ts"],"names":[],"mappings":";;;AAAA,0FAA+E;AAC/E,4DAMoC;AACpC,iDAAqD;AAmBrD,MAAM,0BAA0B,GAAG,KAAM,CAAC;AAE1C;;;;;;;;;GASG;AACH,SAAgB,eAAe,CAAC,GAAkB;IAChD,MAAM,WAAW,GAAG,GAAG,CAAC,mBAAmB,CAAC;IAE5C,IAAI,YAA6B,CAAC;IAClC,IAAI,WAAW,EAAE;QACf,IAAI;YACF,YAAY,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;SACrC;QAAC,MAAM;YACN,MAAM,IAAI,KAAK,CACb,iCAAiC,WAAW,sBAAsB,CACnE,CAAC;SACH;KACF;IAED,kEAAkE;IAClE,oEAAoE;IACpE,sBAAsB;IACtB,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACjE,MAAM,oBAAoB,GACxB,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC;QACvD,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,0BAA0B,CAAC;IAEjC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAChD,CAAC;AAxBD,0CAwBC;AAUD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,MAA0C,EAC1C,OAAgC,EAAE;IAElC,MAAM,MAAM,GACV,IAAI,CAAC,MAAM;QACX,IAAI,2CAA6B,CAAC;YAChC,QAAQ,EAAE,IAAI,+CAAkB,CAAC;gBAC/B,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;gBACnC,qBAAqB,EAAE,oCAAsB,CAAC,KAAK;aACpD,CAAC;YACF,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;SAClD,CAAC,CAAC;IAEL,OAAO,IAAI,2BAAa,CAAC;QACvB,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;KACxB,CAAC,CAAC;AACL,CAAC;AAlBD,kDAkBC;AAOD;;;;;;;;;;GAUG;AACH,SAAgB,sBAAsB,CACpC,GAAkB,EAClB,QAAqB,EACrB,QAA2B;IAE3B,IAAI,MAAkB,CAAC;IACvB,IAAI;QACF,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;KAC/B;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9D;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACxB,YAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACzE,OAAO,IAAI,QAAQ,EAAE,CAAC;KACvB;IAED,YAAM,CAAC,IAAI,CACT;QACE,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE;QACxC,gBAAgB,EAAE,MAAM,CAAC,oBAAoB;KAC9C,EACD,mCAAmC,CACpC,CAAC;IAEF,IAAI;QACF,OAAO,IAAI,QAAQ,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC,YAAY;YAC7B,gBAAgB,EAAE,MAAM,CAAC,oBAAoB;SAC9C,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;KACpE;AACH,CAAC;AAjCD,wDAiCC"}
1
+ {"version":3,"file":"otel.js","sourceRoot":"","sources":["../../../../../lib/hybrid-sdk/common/metrics/otel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResponseFrameDecoder = exports.ResponseFrameError = void 0;
4
+ const node_stream_1 = require("node:stream");
5
+ /** A decoder-owned failure with safe context suitable for structured logs. */
6
+ class ResponseFrameError extends Error {
7
+ constructor(message, diagnostics, options) {
8
+ super(message, options);
9
+ this.diagnostics = diagnostics;
10
+ this.name = 'ResponseFrameError';
11
+ }
12
+ }
13
+ exports.ResponseFrameError = ResponseFrameError;
14
+ const PREFIX_BYTES = 4;
15
+ // Defensive implementation bound only. Choosing a protocol-level limit needs
16
+ // a separate compatibility decision across deployed Broker versions.
17
+ // TODO: replace this with an explicitly versioned protocol limit.
18
+ const DEFAULT_MAX_METADATA_BYTES = 1024 * 1024;
19
+ /**
20
+ * Decodes one Broker POST response frame:
21
+ *
22
+ * 4-byte little-endian metadata byte length | JSON metadata | body bytes
23
+ *
24
+ * Only body bytes are emitted from the readable side. Metadata is delivered
25
+ * synchronously before the first body byte through the callback/event.
26
+ */
27
+ class ResponseFrameDecoder extends node_stream_1.Transform {
28
+ constructor(options = {}) {
29
+ super();
30
+ this.bodyBytes = 0;
31
+ this.prefix = Buffer.alloc(PREFIX_BYTES);
32
+ this.prefixBytes = 0;
33
+ this.metadataBytesExpected = null;
34
+ this.metadataBytes = 0;
35
+ this.metadataChunks = [];
36
+ this.metadataDecoded = false;
37
+ this.maxMetadataBytes =
38
+ options.maxMetadataBytes ?? DEFAULT_MAX_METADATA_BYTES;
39
+ this.onMetadata = options.onMetadata;
40
+ }
41
+ _transform(chunk, encoding, callback) {
42
+ try {
43
+ const data = Buffer.isBuffer(chunk)
44
+ ? chunk
45
+ : Buffer.from(chunk, encoding);
46
+ let offset = 0;
47
+ if (this.metadataBytesExpected === null) {
48
+ const prefixBytesToCopy = Math.min(PREFIX_BYTES - this.prefixBytes, data.length);
49
+ data.copy(this.prefix, this.prefixBytes, offset, offset + prefixBytesToCopy);
50
+ this.prefixBytes += prefixBytesToCopy;
51
+ offset += prefixBytesToCopy;
52
+ if (this.prefixBytes < PREFIX_BYTES) {
53
+ callback();
54
+ return;
55
+ }
56
+ this.metadataBytesExpected = this.prefix.readUInt32LE(0);
57
+ if (this.metadataBytesExpected === 0) {
58
+ throw new ResponseFrameError('Response metadata must not be empty.', {
59
+ failureReason: 'invalid-metadata',
60
+ });
61
+ }
62
+ if (this.metadataBytesExpected > this.maxMetadataBytes) {
63
+ throw new ResponseFrameError(`Response metadata length ${this.metadataBytesExpected} exceeds the ${this.maxMetadataBytes}-byte limit.`, { failureReason: 'metadata-too-large' });
64
+ }
65
+ }
66
+ if (!this.metadataDecoded && offset < data.length) {
67
+ const metadataBytesToCopy = Math.min(this.metadataBytesExpected - this.metadataBytes, data.length - offset);
68
+ if (metadataBytesToCopy > 0) {
69
+ this.metadataChunks.push(data.subarray(offset, offset + metadataBytesToCopy));
70
+ this.metadataBytes += metadataBytesToCopy;
71
+ offset += metadataBytesToCopy;
72
+ }
73
+ if (this.metadataBytes === this.metadataBytesExpected) {
74
+ const metadata = this.decodeMetadata();
75
+ this.metadataDecoded = true;
76
+ this.onMetadata?.(metadata);
77
+ this.emit('metadata', metadata);
78
+ }
79
+ }
80
+ if (this.metadataDecoded && offset < data.length) {
81
+ const body = data.subarray(offset);
82
+ this.bodyBytes += body.length;
83
+ this.push(body);
84
+ }
85
+ callback();
86
+ }
87
+ catch (error) {
88
+ callback(error);
89
+ }
90
+ }
91
+ _flush(callback) {
92
+ if (this.prefixBytes < PREFIX_BYTES) {
93
+ callback(new ResponseFrameError(`Incomplete metadata-length prefix: received ${this.prefixBytes} of ${PREFIX_BYTES} bytes.`, {
94
+ failureReason: 'incomplete-prefix',
95
+ receivedPrefixBytes: this.prefixBytes,
96
+ expectedPrefixBytes: PREFIX_BYTES,
97
+ }));
98
+ return;
99
+ }
100
+ if (!this.metadataDecoded) {
101
+ callback(new ResponseFrameError(`Incomplete response metadata: received ${this.metadataBytes} of ${this.metadataBytesExpected} bytes.`, {
102
+ failureReason: 'incomplete-metadata',
103
+ receivedMetadataBytes: this.metadataBytes,
104
+ expectedMetadataBytes: this.metadataBytesExpected,
105
+ }));
106
+ return;
107
+ }
108
+ callback();
109
+ }
110
+ decodeMetadata() {
111
+ const encoded = Buffer.concat(this.metadataChunks, this.metadataBytesExpected).toString('utf8');
112
+ let value;
113
+ try {
114
+ value = JSON.parse(encoded);
115
+ }
116
+ catch (error) {
117
+ throw new ResponseFrameError('Malformed response metadata JSON.', { failureReason: 'malformed-metadata' }, { cause: error });
118
+ }
119
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
120
+ throw new ResponseFrameError('Response metadata must be a JSON object.', {
121
+ failureReason: 'invalid-metadata',
122
+ });
123
+ }
124
+ const metadata = value;
125
+ if (!Number.isInteger(metadata.status) ||
126
+ metadata.status < 100 ||
127
+ metadata.status > 999) {
128
+ throw new ResponseFrameError('Response metadata must contain a valid status.', { failureReason: 'invalid-metadata' });
129
+ }
130
+ if (metadata.headers !== undefined &&
131
+ (typeof metadata.headers !== 'object' ||
132
+ metadata.headers === null ||
133
+ Array.isArray(metadata.headers))) {
134
+ throw new ResponseFrameError('Response metadata headers must be an object.', { failureReason: 'invalid-metadata' });
135
+ }
136
+ if (metadata.errorType !== undefined &&
137
+ typeof metadata.errorType !== 'string') {
138
+ throw new ResponseFrameError('Response metadata errorType must be a string.', { failureReason: 'invalid-metadata' });
139
+ }
140
+ return metadata;
141
+ }
142
+ }
143
+ exports.ResponseFrameDecoder = ResponseFrameDecoder;
144
+ //# sourceMappingURL=response-frame-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-frame-decoder.js","sourceRoot":"","sources":["../../../../lib/hybrid-sdk/http/response-frame-decoder.ts"],"names":[],"mappings":"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"}