@use-tusk/drift-node-sdk 0.1.25 → 0.1.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -6214,7 +6214,7 @@ var JsonSchema$Type = class extends import_commonjs$7.MessageType {
6214
6214
  const JsonSchema = new JsonSchema$Type();
6215
6215
 
6216
6216
  //#endregion
6217
- //#region node_modules/@use-tusk/drift-schemas/dist/span-CsBrzhI_.js
6217
+ //#region node_modules/@use-tusk/drift-schemas/dist/span-CXrr1reB.js
6218
6218
  var import_commonjs$6 = /* @__PURE__ */ __toESM(require_commonjs$2(), 1);
6219
6219
  /**
6220
6220
  * Package type classification enum
@@ -6361,6 +6361,62 @@ let StatusCode = /* @__PURE__ */ function(StatusCode$1) {
6361
6361
  StatusCode$1[StatusCode$1["ERROR"] = 2] = "ERROR";
6362
6362
  return StatusCode$1;
6363
6363
  }({});
6364
+ /**
6365
+ * Match scope - where the match was found
6366
+ *
6367
+ * @generated from protobuf enum tusk.drift.core.v1.MatchScope
6368
+ */
6369
+ let MatchScope = /* @__PURE__ */ function(MatchScope$1) {
6370
+ /**
6371
+ * @generated from protobuf enum value: MATCH_SCOPE_UNSPECIFIED = 0;
6372
+ */
6373
+ MatchScope$1[MatchScope$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
6374
+ /**
6375
+ * @generated from protobuf enum value: MATCH_SCOPE_TRACE = 1;
6376
+ */
6377
+ MatchScope$1[MatchScope$1["TRACE"] = 1] = "TRACE";
6378
+ /**
6379
+ * @generated from protobuf enum value: MATCH_SCOPE_GLOBAL = 2;
6380
+ */
6381
+ MatchScope$1[MatchScope$1["GLOBAL"] = 2] = "GLOBAL";
6382
+ return MatchScope$1;
6383
+ }({});
6384
+ /**
6385
+ * Match type - how the match was found
6386
+ *
6387
+ * @generated from protobuf enum tusk.drift.core.v1.MatchType
6388
+ */
6389
+ let MatchType = /* @__PURE__ */ function(MatchType$1) {
6390
+ /**
6391
+ * @generated from protobuf enum value: MATCH_TYPE_UNSPECIFIED = 0;
6392
+ */
6393
+ MatchType$1[MatchType$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
6394
+ /**
6395
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH = 1;
6396
+ */
6397
+ MatchType$1[MatchType$1["INPUT_VALUE_HASH"] = 1] = "INPUT_VALUE_HASH";
6398
+ /**
6399
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH_REDUCED_SCHEMA = 2;
6400
+ */
6401
+ MatchType$1[MatchType$1["INPUT_VALUE_HASH_REDUCED_SCHEMA"] = 2] = "INPUT_VALUE_HASH_REDUCED_SCHEMA";
6402
+ /**
6403
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH = 3;
6404
+ */
6405
+ MatchType$1[MatchType$1["INPUT_SCHEMA_HASH"] = 3] = "INPUT_SCHEMA_HASH";
6406
+ /**
6407
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4;
6408
+ */
6409
+ MatchType$1[MatchType$1["INPUT_SCHEMA_HASH_REDUCED_SCHEMA"] = 4] = "INPUT_SCHEMA_HASH_REDUCED_SCHEMA";
6410
+ /**
6411
+ * @generated from protobuf enum value: MATCH_TYPE_FUZZY = 5;
6412
+ */
6413
+ MatchType$1[MatchType$1["FUZZY"] = 5] = "FUZZY";
6414
+ /**
6415
+ * @generated from protobuf enum value: MATCH_TYPE_FALLBACK = 6;
6416
+ */
6417
+ MatchType$1[MatchType$1["FALLBACK"] = 6] = "FALLBACK";
6418
+ return MatchType$1;
6419
+ }({});
6364
6420
  var Span$Type = class extends import_commonjs$6.MessageType {
6365
6421
  constructor() {
6366
6422
  super("tusk.drift.core.v1.Span", [
@@ -7007,6 +7063,157 @@ var Trace$Type = class extends import_commonjs$6.MessageType {
7007
7063
  * @generated MessageType for protobuf message tusk.drift.core.v1.Trace
7008
7064
  */
7009
7065
  const Trace = new Trace$Type();
7066
+ var SimilarityCandidate$Type = class extends import_commonjs$6.MessageType {
7067
+ constructor() {
7068
+ super("tusk.drift.core.v1.SimilarityCandidate", [{
7069
+ no: 1,
7070
+ name: "span_id",
7071
+ kind: "scalar",
7072
+ T: 9
7073
+ }, {
7074
+ no: 2,
7075
+ name: "score",
7076
+ kind: "scalar",
7077
+ T: 2
7078
+ }]);
7079
+ }
7080
+ create(value) {
7081
+ const message = globalThis.Object.create(this.messagePrototype);
7082
+ message.spanId = "";
7083
+ message.score = 0;
7084
+ if (value !== void 0) (0, import_commonjs$6.reflectionMergePartial)(this, message, value);
7085
+ return message;
7086
+ }
7087
+ internalBinaryRead(reader, length, options, target) {
7088
+ let message = target ?? this.create(), end = reader.pos + length;
7089
+ while (reader.pos < end) {
7090
+ let [fieldNo, wireType] = reader.tag();
7091
+ switch (fieldNo) {
7092
+ case 1:
7093
+ message.spanId = reader.string();
7094
+ break;
7095
+ case 2:
7096
+ message.score = reader.float();
7097
+ break;
7098
+ default:
7099
+ let u = options.readUnknownField;
7100
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
7101
+ let d = reader.skip(wireType);
7102
+ if (u !== false) (u === true ? import_commonjs$6.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
7103
+ }
7104
+ }
7105
+ return message;
7106
+ }
7107
+ internalBinaryWrite(message, writer, options) {
7108
+ if (message.spanId !== "") writer.tag(1, import_commonjs$6.WireType.LengthDelimited).string(message.spanId);
7109
+ if (message.score !== 0) writer.tag(2, import_commonjs$6.WireType.Bit32).float(message.score);
7110
+ let u = options.writeUnknownFields;
7111
+ if (u !== false) (u == true ? import_commonjs$6.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
7112
+ return writer;
7113
+ }
7114
+ };
7115
+ /**
7116
+ * @generated MessageType for protobuf message tusk.drift.core.v1.SimilarityCandidate
7117
+ */
7118
+ const SimilarityCandidate = new SimilarityCandidate$Type();
7119
+ var MatchLevel$Type = class extends import_commonjs$6.MessageType {
7120
+ constructor() {
7121
+ super("tusk.drift.core.v1.MatchLevel", [
7122
+ {
7123
+ no: 1,
7124
+ name: "match_type",
7125
+ kind: "enum",
7126
+ T: () => [
7127
+ "tusk.drift.core.v1.MatchType",
7128
+ MatchType,
7129
+ "MATCH_TYPE_"
7130
+ ]
7131
+ },
7132
+ {
7133
+ no: 2,
7134
+ name: "match_scope",
7135
+ kind: "enum",
7136
+ T: () => [
7137
+ "tusk.drift.core.v1.MatchScope",
7138
+ MatchScope,
7139
+ "MATCH_SCOPE_"
7140
+ ]
7141
+ },
7142
+ {
7143
+ no: 3,
7144
+ name: "match_description",
7145
+ kind: "scalar",
7146
+ T: 9
7147
+ },
7148
+ {
7149
+ no: 4,
7150
+ name: "similarity_score",
7151
+ kind: "scalar",
7152
+ opt: true,
7153
+ T: 2
7154
+ },
7155
+ {
7156
+ no: 5,
7157
+ name: "top_candidates",
7158
+ kind: "message",
7159
+ repeat: 2,
7160
+ T: () => SimilarityCandidate
7161
+ }
7162
+ ]);
7163
+ }
7164
+ create(value) {
7165
+ const message = globalThis.Object.create(this.messagePrototype);
7166
+ message.matchType = 0;
7167
+ message.matchScope = 0;
7168
+ message.matchDescription = "";
7169
+ message.topCandidates = [];
7170
+ if (value !== void 0) (0, import_commonjs$6.reflectionMergePartial)(this, message, value);
7171
+ return message;
7172
+ }
7173
+ internalBinaryRead(reader, length, options, target) {
7174
+ let message = target ?? this.create(), end = reader.pos + length;
7175
+ while (reader.pos < end) {
7176
+ let [fieldNo, wireType] = reader.tag();
7177
+ switch (fieldNo) {
7178
+ case 1:
7179
+ message.matchType = reader.int32();
7180
+ break;
7181
+ case 2:
7182
+ message.matchScope = reader.int32();
7183
+ break;
7184
+ case 3:
7185
+ message.matchDescription = reader.string();
7186
+ break;
7187
+ case 4:
7188
+ message.similarityScore = reader.float();
7189
+ break;
7190
+ case 5:
7191
+ message.topCandidates.push(SimilarityCandidate.internalBinaryRead(reader, reader.uint32(), options));
7192
+ break;
7193
+ default:
7194
+ let u = options.readUnknownField;
7195
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
7196
+ let d = reader.skip(wireType);
7197
+ if (u !== false) (u === true ? import_commonjs$6.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
7198
+ }
7199
+ }
7200
+ return message;
7201
+ }
7202
+ internalBinaryWrite(message, writer, options) {
7203
+ if (message.matchType !== 0) writer.tag(1, import_commonjs$6.WireType.Varint).int32(message.matchType);
7204
+ if (message.matchScope !== 0) writer.tag(2, import_commonjs$6.WireType.Varint).int32(message.matchScope);
7205
+ if (message.matchDescription !== "") writer.tag(3, import_commonjs$6.WireType.LengthDelimited).string(message.matchDescription);
7206
+ if (message.similarityScore !== void 0) writer.tag(4, import_commonjs$6.WireType.Bit32).float(message.similarityScore);
7207
+ for (let i = 0; i < message.topCandidates.length; i++) SimilarityCandidate.internalBinaryWrite(message.topCandidates[i], writer.tag(5, import_commonjs$6.WireType.LengthDelimited).fork(), options).join();
7208
+ let u = options.writeUnknownFields;
7209
+ if (u !== false) (u == true ? import_commonjs$6.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
7210
+ return writer;
7211
+ }
7212
+ };
7213
+ /**
7214
+ * @generated MessageType for protobuf message tusk.drift.core.v1.MatchLevel
7215
+ */
7216
+ const MatchLevel = new MatchLevel$Type();
7010
7217
 
7011
7218
  //#endregion
7012
7219
  //#region src/core/utils/protobufUtils.ts
@@ -7068,6 +7275,50 @@ function valueToProtobufValue(value) {
7068
7275
  stringValue: String(value)
7069
7276
  } });
7070
7277
  }
7278
+ /**
7279
+ * Human-readable labels for MatchType enum values
7280
+ */
7281
+ const MATCH_TYPE_LABELS = {
7282
+ [MatchType.UNSPECIFIED]: "UNSPECIFIED",
7283
+ [MatchType.INPUT_VALUE_HASH]: "INPUT_VALUE_HASH",
7284
+ [MatchType.INPUT_VALUE_HASH_REDUCED_SCHEMA]: "INPUT_VALUE_HASH_REDUCED_SCHEMA",
7285
+ [MatchType.INPUT_SCHEMA_HASH]: "INPUT_SCHEMA_HASH",
7286
+ [MatchType.INPUT_SCHEMA_HASH_REDUCED_SCHEMA]: "INPUT_SCHEMA_HASH_REDUCED_SCHEMA",
7287
+ [MatchType.FUZZY]: "FUZZY",
7288
+ [MatchType.FALLBACK]: "FALLBACK"
7289
+ };
7290
+ /**
7291
+ * Human-readable labels for MatchScope enum values
7292
+ */
7293
+ const MATCH_SCOPE_LABELS = {
7294
+ [MatchScope.UNSPECIFIED]: "UNSPECIFIED",
7295
+ [MatchScope.TRACE]: "TRACE",
7296
+ [MatchScope.GLOBAL]: "GLOBAL"
7297
+ };
7298
+ /**
7299
+ * Converts a MatchType enum to a human-readable label
7300
+ */
7301
+ function getMatchTypeLabel(matchType) {
7302
+ return MATCH_TYPE_LABELS[matchType] ?? `UNKNOWN(${matchType})`;
7303
+ }
7304
+ /**
7305
+ * Converts a MatchScope enum to a human-readable label
7306
+ */
7307
+ function getMatchScopeLabel(matchScope) {
7308
+ return MATCH_SCOPE_LABELS[matchScope] ?? `UNKNOWN(${matchScope})`;
7309
+ }
7310
+ /**
7311
+ * Formats a matchLevel object as a concise, readable string for logging
7312
+ */
7313
+ function formatMatchLevelForLog(matchLevel) {
7314
+ if (!matchLevel) return "No match level info";
7315
+ const matchType = matchLevel.matchType ?? MatchType.UNSPECIFIED;
7316
+ const matchScope = matchLevel.matchScope ?? MatchScope.UNSPECIFIED;
7317
+ let result = `[${getMatchTypeLabel(matchType)}] scope=${getMatchScopeLabel(matchScope)}`;
7318
+ if (matchLevel.matchDescription) result += ` - "${matchLevel.matchDescription}"`;
7319
+ if (matchLevel.similarityScore !== void 0) result += ` (score: ${matchLevel.similarityScore})`;
7320
+ return result;
7321
+ }
7071
7322
 
7072
7323
  //#endregion
7073
7324
  //#region src/core/utils/OriginalGlobalUtils.ts
@@ -8335,7 +8586,7 @@ async function findMockResponseAsync({ mockRequestData, tuskDrift, inputValueSch
8335
8586
  return null;
8336
8587
  }
8337
8588
  const responseBody = mockResponse.response?.response?.body;
8338
- logger.debug(`Found ${outboundSpan.traceId} mock response:`, responseBody, { timestamp: mockResponse.response?.timestamp });
8589
+ logger.debug(`Found ${outboundSpan.traceId} mock response:`);
8339
8590
  if (mockResponse.response?.timestamp) DateTracker.updateLatestTimestamp(replayTraceId || "", mockResponse.response.timestamp);
8340
8591
  return { result: responseBody };
8341
8592
  } catch (error) {
@@ -8357,7 +8608,7 @@ function findMockResponseSync({ mockRequestData, tuskDrift, inputValueSchemaMerg
8357
8608
  return null;
8358
8609
  }
8359
8610
  const responseBody = mockResponse.response?.response?.body;
8360
- logger.debug(`Found ${outboundSpan.traceId} mock response and timestamp:`, responseBody, { timestamp: mockResponse.response?.timestamp });
8611
+ logger.debug(`Found ${outboundSpan.traceId} mock response:`);
8361
8612
  if (mockResponse.response?.timestamp) DateTracker.updateLatestTimestamp(replayTraceId || "", mockResponse.response.timestamp);
8362
8613
  return { result: responseBody };
8363
8614
  } catch (error) {
@@ -9981,7 +10232,7 @@ var require_commonjs$1 = /* @__PURE__ */ __commonJS({ "node_modules/@protobuf-ts
9981
10232
  }) });
9982
10233
 
9983
10234
  //#endregion
9984
- //#region node_modules/@use-tusk/drift-schemas/dist/span_export_service-CmkFvTqD.js
10235
+ //#region node_modules/@use-tusk/drift-schemas/dist/span_export_service-RmRqNxn1.js
9985
10236
  var import_commonjs$4 = /* @__PURE__ */ __toESM(require_commonjs$1(), 1);
9986
10237
  var import_commonjs$5 = /* @__PURE__ */ __toESM(require_commonjs$2(), 1);
9987
10238
  var ExportSpansRequest$Type = class extends import_commonjs$5.MessageType {
@@ -33477,7 +33728,7 @@ var require_src = /* @__PURE__ */ __commonJS({ "node_modules/@opentelemetry/sdk-
33477
33728
  //#endregion
33478
33729
  //#region package.json
33479
33730
  var import_src$1 = /* @__PURE__ */ __toESM(require_src(), 1);
33480
- var version = "0.1.25";
33731
+ var version = "0.1.27";
33481
33732
 
33482
33733
  //#endregion
33483
33734
  //#region src/version.ts
@@ -33485,10 +33736,30 @@ const SDK_VERSION = version;
33485
33736
  const MIN_CLI_VERSION = "0.1.0";
33486
33737
 
33487
33738
  //#endregion
33488
- //#region node_modules/@use-tusk/drift-schemas/dist/communication-BY2KZhrg.js
33739
+ //#region node_modules/@use-tusk/drift-schemas/dist/communication-GAvDDkJW.js
33489
33740
  var import_commonjs = /* @__PURE__ */ __toESM(require_commonjs$1(), 1);
33490
33741
  var import_commonjs$1 = /* @__PURE__ */ __toESM(require_commonjs$2(), 1);
33491
33742
  /**
33743
+ * SDK runtime environment
33744
+ *
33745
+ * @generated from protobuf enum tusk.drift.core.v1.Runtime
33746
+ */
33747
+ let Runtime = /* @__PURE__ */ function(Runtime$1) {
33748
+ /**
33749
+ * @generated from protobuf enum value: RUNTIME_UNSPECIFIED = 0;
33750
+ */
33751
+ Runtime$1[Runtime$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
33752
+ /**
33753
+ * @generated from protobuf enum value: RUNTIME_NODE = 1;
33754
+ */
33755
+ Runtime$1[Runtime$1["NODE"] = 1] = "NODE";
33756
+ /**
33757
+ * @generated from protobuf enum value: RUNTIME_PYTHON = 2;
33758
+ */
33759
+ Runtime$1[Runtime$1["PYTHON"] = 2] = "PYTHON";
33760
+ return Runtime$1;
33761
+ }({});
33762
+ /**
33492
33763
  * @generated from protobuf enum tusk.drift.core.v1.MessageType
33493
33764
  */
33494
33765
  let MessageType$1 = /* @__PURE__ */ function(MessageType$2$1) {
@@ -33516,6 +33787,10 @@ let MessageType$1 = /* @__PURE__ */ function(MessageType$2$1) {
33516
33787
  * @generated from protobuf enum value: MESSAGE_TYPE_ENV_VAR_REQUEST = 5;
33517
33788
  */
33518
33789
  MessageType$2$1[MessageType$2$1["ENV_VAR_REQUEST"] = 5] = "ENV_VAR_REQUEST";
33790
+ /**
33791
+ * @generated from protobuf enum value: MESSAGE_TYPE_SET_TIME_TRAVEL = 6;
33792
+ */
33793
+ MessageType$2$1[MessageType$2$1["SET_TIME_TRAVEL"] = 6] = "SET_TIME_TRAVEL";
33519
33794
  return MessageType$2$1;
33520
33795
  }({});
33521
33796
  var ConnectRequest$Type = class extends import_commonjs$1.MessageType {
@@ -33544,6 +33819,16 @@ var ConnectRequest$Type = class extends import_commonjs$1.MessageType {
33544
33819
  name: "metadata",
33545
33820
  kind: "message",
33546
33821
  T: () => Struct
33822
+ },
33823
+ {
33824
+ no: 5,
33825
+ name: "runtime",
33826
+ kind: "enum",
33827
+ T: () => [
33828
+ "tusk.drift.core.v1.Runtime",
33829
+ Runtime,
33830
+ "RUNTIME_"
33831
+ ]
33547
33832
  }
33548
33833
  ]);
33549
33834
  }
@@ -33552,6 +33837,7 @@ var ConnectRequest$Type = class extends import_commonjs$1.MessageType {
33552
33837
  message.serviceId = "";
33553
33838
  message.sdkVersion = "";
33554
33839
  message.minCliVersion = "";
33840
+ message.runtime = 0;
33555
33841
  if (value !== void 0) (0, import_commonjs$1.reflectionMergePartial)(this, message, value);
33556
33842
  return message;
33557
33843
  }
@@ -33572,6 +33858,9 @@ var ConnectRequest$Type = class extends import_commonjs$1.MessageType {
33572
33858
  case 4:
33573
33859
  message.metadata = Struct.internalBinaryRead(reader, reader.uint32(), options, message.metadata);
33574
33860
  break;
33861
+ case 5:
33862
+ message.runtime = reader.int32();
33863
+ break;
33575
33864
  default:
33576
33865
  let u = options.readUnknownField;
33577
33866
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -33586,6 +33875,7 @@ var ConnectRequest$Type = class extends import_commonjs$1.MessageType {
33586
33875
  if (message.sdkVersion !== "") writer.tag(2, import_commonjs$1.WireType.LengthDelimited).string(message.sdkVersion);
33587
33876
  if (message.minCliVersion !== "") writer.tag(3, import_commonjs$1.WireType.LengthDelimited).string(message.minCliVersion);
33588
33877
  if (message.metadata) Struct.internalBinaryWrite(message.metadata, writer.tag(4, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
33878
+ if (message.runtime !== 0) writer.tag(5, import_commonjs$1.WireType.Varint).int32(message.runtime);
33589
33879
  let u = options.writeUnknownFields;
33590
33880
  if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
33591
33881
  return writer;
@@ -33827,6 +34117,12 @@ var GetMockResponse$Type = class extends import_commonjs$1.MessageType {
33827
34117
  name: "matched_at",
33828
34118
  kind: "message",
33829
34119
  T: () => Timestamp
34120
+ },
34121
+ {
34122
+ no: 9,
34123
+ name: "match_level",
34124
+ kind: "message",
34125
+ T: () => MatchLevel
33830
34126
  }
33831
34127
  ]);
33832
34128
  }
@@ -33869,6 +34165,9 @@ var GetMockResponse$Type = class extends import_commonjs$1.MessageType {
33869
34165
  case 8:
33870
34166
  message.matchedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.matchedAt);
33871
34167
  break;
34168
+ case 9:
34169
+ message.matchLevel = MatchLevel.internalBinaryRead(reader, reader.uint32(), options, message.matchLevel);
34170
+ break;
33872
34171
  default:
33873
34172
  let u = options.readUnknownField;
33874
34173
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -33887,6 +34186,7 @@ var GetMockResponse$Type = class extends import_commonjs$1.MessageType {
33887
34186
  if (message.errorCode !== "") writer.tag(6, import_commonjs$1.WireType.LengthDelimited).string(message.errorCode);
33888
34187
  if (message.matchedSpanId !== "") writer.tag(7, import_commonjs$1.WireType.LengthDelimited).string(message.matchedSpanId);
33889
34188
  if (message.matchedAt) Timestamp.internalBinaryWrite(message.matchedAt, writer.tag(8, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34189
+ if (message.matchLevel) MatchLevel.internalBinaryWrite(message.matchLevel, writer.tag(9, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
33890
34190
  let u = options.writeUnknownFields;
33891
34191
  if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
33892
34192
  return writer;
@@ -33949,6 +34249,13 @@ var SDKMessage$Type = class extends import_commonjs$1.MessageType {
33949
34249
  kind: "message",
33950
34250
  oneof: "payload",
33951
34251
  T: () => EnvVarRequest
34252
+ },
34253
+ {
34254
+ no: 8,
34255
+ name: "set_time_travel_response",
34256
+ kind: "message",
34257
+ oneof: "payload",
34258
+ T: () => SetTimeTravelResponse
33952
34259
  }
33953
34260
  ]);
33954
34261
  }
@@ -34001,6 +34308,12 @@ var SDKMessage$Type = class extends import_commonjs$1.MessageType {
34001
34308
  envVarRequest: EnvVarRequest.internalBinaryRead(reader, reader.uint32(), options, message.payload.envVarRequest)
34002
34309
  };
34003
34310
  break;
34311
+ case 8:
34312
+ message.payload = {
34313
+ oneofKind: "setTimeTravelResponse",
34314
+ setTimeTravelResponse: SetTimeTravelResponse.internalBinaryRead(reader, reader.uint32(), options, message.payload.setTimeTravelResponse)
34315
+ };
34316
+ break;
34004
34317
  default:
34005
34318
  let u = options.readUnknownField;
34006
34319
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -34018,6 +34331,7 @@ var SDKMessage$Type = class extends import_commonjs$1.MessageType {
34018
34331
  if (message.payload.oneofKind === "sendInboundSpanForReplayRequest") SendInboundSpanForReplayRequest.internalBinaryWrite(message.payload.sendInboundSpanForReplayRequest, writer.tag(5, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34019
34332
  if (message.payload.oneofKind === "sendAlertRequest") SendAlertRequest.internalBinaryWrite(message.payload.sendAlertRequest, writer.tag(6, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34020
34333
  if (message.payload.oneofKind === "envVarRequest") EnvVarRequest.internalBinaryWrite(message.payload.envVarRequest, writer.tag(7, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34334
+ if (message.payload.oneofKind === "setTimeTravelResponse") SetTimeTravelResponse.internalBinaryWrite(message.payload.setTimeTravelResponse, writer.tag(8, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34021
34335
  let u = options.writeUnknownFields;
34022
34336
  if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
34023
34337
  return writer;
@@ -34073,6 +34387,13 @@ var CLIMessage$Type = class extends import_commonjs$1.MessageType {
34073
34387
  kind: "message",
34074
34388
  oneof: "payload",
34075
34389
  T: () => EnvVarResponse
34390
+ },
34391
+ {
34392
+ no: 7,
34393
+ name: "set_time_travel_request",
34394
+ kind: "message",
34395
+ oneof: "payload",
34396
+ T: () => SetTimeTravelRequest
34076
34397
  }
34077
34398
  ]);
34078
34399
  }
@@ -34119,6 +34440,12 @@ var CLIMessage$Type = class extends import_commonjs$1.MessageType {
34119
34440
  envVarResponse: EnvVarResponse.internalBinaryRead(reader, reader.uint32(), options, message.payload.envVarResponse)
34120
34441
  };
34121
34442
  break;
34443
+ case 7:
34444
+ message.payload = {
34445
+ oneofKind: "setTimeTravelRequest",
34446
+ setTimeTravelRequest: SetTimeTravelRequest.internalBinaryRead(reader, reader.uint32(), options, message.payload.setTimeTravelRequest)
34447
+ };
34448
+ break;
34122
34449
  default:
34123
34450
  let u = options.readUnknownField;
34124
34451
  if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
@@ -34135,6 +34462,7 @@ var CLIMessage$Type = class extends import_commonjs$1.MessageType {
34135
34462
  if (message.payload.oneofKind === "getMockResponse") GetMockResponse.internalBinaryWrite(message.payload.getMockResponse, writer.tag(4, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34136
34463
  if (message.payload.oneofKind === "sendInboundSpanForReplayResponse") SendInboundSpanForReplayResponse.internalBinaryWrite(message.payload.sendInboundSpanForReplayResponse, writer.tag(5, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34137
34464
  if (message.payload.oneofKind === "envVarResponse") EnvVarResponse.internalBinaryWrite(message.payload.envVarResponse, writer.tag(6, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34465
+ if (message.payload.oneofKind === "setTimeTravelRequest") SetTimeTravelRequest.internalBinaryWrite(message.payload.setTimeTravelRequest, writer.tag(7, import_commonjs$1.WireType.LengthDelimited).fork(), options).join();
34138
34466
  let u = options.writeUnknownFields;
34139
34467
  if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
34140
34468
  return writer;
@@ -34541,6 +34869,126 @@ var EnvVarResponse$Type = class extends import_commonjs$1.MessageType {
34541
34869
  * @generated MessageType for protobuf message tusk.drift.core.v1.EnvVarResponse
34542
34870
  */
34543
34871
  const EnvVarResponse = new EnvVarResponse$Type();
34872
+ var SetTimeTravelRequest$Type = class extends import_commonjs$1.MessageType {
34873
+ constructor() {
34874
+ super("tusk.drift.core.v1.SetTimeTravelRequest", [
34875
+ {
34876
+ no: 1,
34877
+ name: "timestamp_seconds",
34878
+ kind: "scalar",
34879
+ T: 1
34880
+ },
34881
+ {
34882
+ no: 2,
34883
+ name: "trace_id",
34884
+ kind: "scalar",
34885
+ T: 9
34886
+ },
34887
+ {
34888
+ no: 3,
34889
+ name: "timestamp_source",
34890
+ kind: "scalar",
34891
+ T: 9
34892
+ }
34893
+ ]);
34894
+ }
34895
+ create(value) {
34896
+ const message = globalThis.Object.create(this.messagePrototype);
34897
+ message.timestampSeconds = 0;
34898
+ message.traceId = "";
34899
+ message.timestampSource = "";
34900
+ if (value !== void 0) (0, import_commonjs$1.reflectionMergePartial)(this, message, value);
34901
+ return message;
34902
+ }
34903
+ internalBinaryRead(reader, length, options, target) {
34904
+ let message = target ?? this.create(), end = reader.pos + length;
34905
+ while (reader.pos < end) {
34906
+ let [fieldNo, wireType] = reader.tag();
34907
+ switch (fieldNo) {
34908
+ case 1:
34909
+ message.timestampSeconds = reader.double();
34910
+ break;
34911
+ case 2:
34912
+ message.traceId = reader.string();
34913
+ break;
34914
+ case 3:
34915
+ message.timestampSource = reader.string();
34916
+ break;
34917
+ default:
34918
+ let u = options.readUnknownField;
34919
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
34920
+ let d = reader.skip(wireType);
34921
+ if (u !== false) (u === true ? import_commonjs$1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
34922
+ }
34923
+ }
34924
+ return message;
34925
+ }
34926
+ internalBinaryWrite(message, writer, options) {
34927
+ if (message.timestampSeconds !== 0) writer.tag(1, import_commonjs$1.WireType.Bit64).double(message.timestampSeconds);
34928
+ if (message.traceId !== "") writer.tag(2, import_commonjs$1.WireType.LengthDelimited).string(message.traceId);
34929
+ if (message.timestampSource !== "") writer.tag(3, import_commonjs$1.WireType.LengthDelimited).string(message.timestampSource);
34930
+ let u = options.writeUnknownFields;
34931
+ if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
34932
+ return writer;
34933
+ }
34934
+ };
34935
+ /**
34936
+ * @generated MessageType for protobuf message tusk.drift.core.v1.SetTimeTravelRequest
34937
+ */
34938
+ const SetTimeTravelRequest = new SetTimeTravelRequest$Type();
34939
+ var SetTimeTravelResponse$Type = class extends import_commonjs$1.MessageType {
34940
+ constructor() {
34941
+ super("tusk.drift.core.v1.SetTimeTravelResponse", [{
34942
+ no: 1,
34943
+ name: "success",
34944
+ kind: "scalar",
34945
+ T: 8
34946
+ }, {
34947
+ no: 2,
34948
+ name: "error",
34949
+ kind: "scalar",
34950
+ T: 9
34951
+ }]);
34952
+ }
34953
+ create(value) {
34954
+ const message = globalThis.Object.create(this.messagePrototype);
34955
+ message.success = false;
34956
+ message.error = "";
34957
+ if (value !== void 0) (0, import_commonjs$1.reflectionMergePartial)(this, message, value);
34958
+ return message;
34959
+ }
34960
+ internalBinaryRead(reader, length, options, target) {
34961
+ let message = target ?? this.create(), end = reader.pos + length;
34962
+ while (reader.pos < end) {
34963
+ let [fieldNo, wireType] = reader.tag();
34964
+ switch (fieldNo) {
34965
+ case 1:
34966
+ message.success = reader.bool();
34967
+ break;
34968
+ case 2:
34969
+ message.error = reader.string();
34970
+ break;
34971
+ default:
34972
+ let u = options.readUnknownField;
34973
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
34974
+ let d = reader.skip(wireType);
34975
+ if (u !== false) (u === true ? import_commonjs$1.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
34976
+ }
34977
+ }
34978
+ return message;
34979
+ }
34980
+ internalBinaryWrite(message, writer, options) {
34981
+ if (message.success !== false) writer.tag(1, import_commonjs$1.WireType.Varint).bool(message.success);
34982
+ if (message.error !== "") writer.tag(2, import_commonjs$1.WireType.LengthDelimited).string(message.error);
34983
+ let u = options.writeUnknownFields;
34984
+ if (u !== false) (u == true ? import_commonjs$1.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
34985
+ return writer;
34986
+ }
34987
+ };
34988
+ /**
34989
+ * @generated MessageType for protobuf message tusk.drift.core.v1.SetTimeTravelResponse
34990
+ */
34991
+ const SetTimeTravelResponse = new SetTimeTravelResponse$Type();
34544
34992
  /**
34545
34993
  * @generated ServiceType for protobuf service tusk.drift.core.v1.MockService
34546
34994
  */
@@ -34617,7 +35065,8 @@ var ProtobufCommunicator = class ProtobufCommunicator {
34617
35065
  const connectRequest = ConnectRequest.create({
34618
35066
  serviceId,
34619
35067
  sdkVersion: SDK_VERSION,
34620
- minCliVersion: MIN_CLI_VERSION
35068
+ minCliVersion: MIN_CLI_VERSION,
35069
+ runtime: Runtime.NODE
34621
35070
  });
34622
35071
  const sdkMessage = SDKMessage.create({
34623
35072
  type: MessageType$1.SDK_CONNECT,
@@ -34952,7 +35401,7 @@ var ProtobufCommunicator = class ProtobufCommunicator {
34952
35401
  if (struct.fields && struct.fields["response"]) {
34953
35402
  const responseValue = Value.toJson(struct.fields["response"]);
34954
35403
  if (responseValue) {
34955
- logger.debug("[ProtobufCommunicator] Extracted response data:", JSON.stringify(responseValue, null, 2));
35404
+ logger.debug("[ProtobufCommunicator] Extracted response data:", JSON.stringify(responseValue, null, 2), "\nMatch level:", formatMatchLevelForLog(mockResponse.matchLevel));
34956
35405
  return responseValue;
34957
35406
  }
34958
35407
  }
@@ -35423,7 +35872,7 @@ var TuskDriftCore = class TuskDriftCore {
35423
35872
  logger.error("Failed to send inbound replay span:", e);
35424
35873
  }
35425
35874
  }
35426
- createMockRequestCore(mockRequest) {
35875
+ createMockRequestCore() {
35427
35876
  if (!this.communicator || this.mode !== TuskDriftMode.REPLAY) {
35428
35877
  logger.error("Cannot request mock: not in replay mode or no CLI connection", this.mode, this.communicator);
35429
35878
  return {
@@ -35438,7 +35887,7 @@ var TuskDriftCore = class TuskDriftCore {
35438
35887
  logger.debug("Waiting for CLI connection to be established");
35439
35888
  await this.cliConnectionPromise;
35440
35889
  }
35441
- const mockRequestCore = this.createMockRequestCore(mockRequest);
35890
+ const mockRequestCore = this.createMockRequestCore();
35442
35891
  if (mockRequestCore) return mockRequestCore;
35443
35892
  return this.requestMockFromCLIAsync(mockRequest);
35444
35893
  }
@@ -35452,12 +35901,10 @@ var TuskDriftCore = class TuskDriftCore {
35452
35901
  }
35453
35902
  try {
35454
35903
  logger.debug("Sending protobuf request to CLI (async)", JSON.stringify(mockRequest, null, 2));
35455
- const response = await this.communicator.requestMockAsync({
35904
+ return await this.communicator.requestMockAsync({
35456
35905
  testId: mockRequest.testId,
35457
35906
  outboundSpan: mockRequest.outboundSpan
35458
35907
  });
35459
- logger.debug("Received protobuf response from CLI", JSON.stringify(response, null, 2));
35460
- return response;
35461
35908
  } catch (error) {
35462
35909
  logger.error("Error sending protobuf request to CLI:", error);
35463
35910
  return {
@@ -35471,7 +35918,7 @@ var TuskDriftCore = class TuskDriftCore {
35471
35918
  logger.error("Requesting sync mock but CLI is not ready yet");
35472
35919
  throw new Error("Requesting sync mock but CLI is not ready yet");
35473
35920
  }
35474
- const mockRequestCore = this.createMockRequestCore(mockRequest);
35921
+ const mockRequestCore = this.createMockRequestCore();
35475
35922
  if (mockRequestCore) return mockRequestCore;
35476
35923
  return this.requestMockFromCLISync(mockRequest);
35477
35924
  }
@@ -35485,12 +35932,10 @@ var TuskDriftCore = class TuskDriftCore {
35485
35932
  }
35486
35933
  try {
35487
35934
  logger.debug("Sending protobuf request to CLI (sync)", mockRequest);
35488
- const response = this.communicator.requestMockSync({
35935
+ return this.communicator.requestMockSync({
35489
35936
  testId: mockRequest.testId,
35490
35937
  outboundSpan: mockRequest.outboundSpan
35491
35938
  });
35492
- logger.debug("Received protobuf response from CLI", response);
35493
- return response;
35494
35939
  } catch (error) {
35495
35940
  logger.error("Error sending protobuf request to CLI:", error);
35496
35941
  return {