@use-tusk/drift-schemas 0.1.21 → 0.1.23
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/README.md +66 -28
- package/dist/backend/client_service.cjs +1 -1
- package/dist/backend/client_service.client.cjs +1 -1
- package/dist/backend/client_service.client.d.cts +1 -1
- package/dist/backend/client_service.client.d.ts +1 -1
- package/dist/backend/client_service.client.js +1 -1
- package/dist/backend/client_service.d.cts +1 -1
- package/dist/backend/client_service.d.ts +1 -1
- package/dist/backend/client_service.js +1 -1
- package/dist/backend/span_export_service.cjs +2 -2
- package/dist/backend/span_export_service.client.cjs +2 -2
- package/dist/backend/span_export_service.client.d.cts +2 -2
- package/dist/backend/span_export_service.client.d.ts +6 -6
- package/dist/backend/span_export_service.client.js +2 -2
- package/dist/backend/span_export_service.d.cts +2 -2
- package/dist/backend/span_export_service.d.ts +2 -2
- package/dist/backend/span_export_service.js +2 -2
- package/dist/backend/test_run_service.cjs +2 -6
- package/dist/backend/test_run_service.client.cjs +2 -2
- package/dist/backend/test_run_service.client.d.cts +2 -2
- package/dist/backend/test_run_service.client.d.ts +6 -6
- package/dist/backend/test_run_service.client.js +2 -2
- package/dist/backend/test_run_service.d.cts +3 -3
- package/dist/backend/test_run_service.d.ts +3 -3
- package/dist/backend/test_run_service.js +3 -3
- package/dist/{client_service-BeS1HBgM.cjs → client_service-2b2NcerI.cjs} +5 -1
- package/dist/client_service-2b2NcerI.cjs.map +1 -0
- package/dist/{client_service-CK1OUcjG.d.cts → client_service-D3X9Hz_V.d.ts} +5 -1
- package/dist/client_service-D3X9Hz_V.d.ts.map +1 -0
- package/dist/{client_service-BL8ToqKl.js → client_service-UDfp6OiI.js} +5 -1
- package/dist/client_service-UDfp6OiI.js.map +1 -0
- package/dist/{client_service-Cp4QJCn0.d.ts → client_service-a23nR6sZ.d.cts} +5 -1
- package/dist/client_service-a23nR6sZ.d.cts.map +1 -0
- package/dist/{communication-CAZsD8fT.d.cts → communication-BFPjmCoM.d.cts} +8 -2
- package/dist/communication-BFPjmCoM.d.cts.map +1 -0
- package/dist/{communication-BXVwzV4j.cjs → communication-BGGDex5L.cjs} +12 -2
- package/dist/communication-BGGDex5L.cjs.map +1 -0
- package/dist/{communication-BY2KZhrg.js → communication-CVqe2frO.js} +12 -2
- package/dist/communication-CVqe2frO.js.map +1 -0
- package/dist/{communication-Dgb6EIjz.d.ts → communication-DOwthqYR.d.ts} +8 -2
- package/dist/communication-DOwthqYR.d.ts.map +1 -0
- package/dist/core/communication.cjs +2 -2
- package/dist/core/communication.client.cjs +2 -2
- package/dist/core/communication.client.d.cts +2 -2
- package/dist/core/communication.client.d.ts +6 -6
- package/dist/core/communication.client.js +2 -2
- package/dist/core/communication.d.cts +2 -2
- package/dist/core/communication.d.ts +2 -2
- package/dist/core/communication.js +2 -2
- package/dist/core/span.cjs +5 -1
- package/dist/core/span.d.cts +2 -2
- package/dist/core/span.d.ts +2 -2
- package/dist/core/span.js +2 -2
- package/dist/{span-CsBrzhI_.js → span-CXrr1reB.js} +209 -2
- package/dist/span-CXrr1reB.js.map +1 -0
- package/dist/{span-CqMO2cJg.d.cts → span-DpNbEo1N.d.cts} +120 -2
- package/dist/span-DpNbEo1N.d.cts.map +1 -0
- package/dist/{span-BTPaKLyl.cjs → span-P97ehIM2.cjs} +232 -1
- package/dist/span-P97ehIM2.cjs.map +1 -0
- package/dist/{span-BumZb1lr.d.ts → span-siIBLWdM.d.ts} +120 -2
- package/dist/span-siIBLWdM.d.ts.map +1 -0
- package/dist/{span_export_service-ex553dQx.cjs → span_export_service-BU4IsArQ.cjs} +2 -2
- package/dist/{span_export_service-ex553dQx.cjs.map → span_export_service-BU4IsArQ.cjs.map} +1 -1
- package/dist/{span_export_service-BmXbIsbQ.d.ts → span_export_service-C2Dil07L.d.ts} +2 -2
- package/dist/{span_export_service-BmXbIsbQ.d.ts.map → span_export_service-C2Dil07L.d.ts.map} +1 -1
- package/dist/{span_export_service-FkYNXniW.d.cts → span_export_service-CPpgtQiB.d.cts} +2 -2
- package/dist/{span_export_service-FkYNXniW.d.cts.map → span_export_service-CPpgtQiB.d.cts.map} +1 -1
- package/dist/{span_export_service-CmkFvTqD.js → span_export_service-RmRqNxn1.js} +2 -2
- package/dist/{span_export_service-CmkFvTqD.js.map → span_export_service-RmRqNxn1.js.map} +1 -1
- package/dist/{test_run_service-Oc0tJagz.cjs → test_run_service-BT4RRjyh.cjs} +5 -232
- package/dist/test_run_service-BT4RRjyh.cjs.map +1 -0
- package/dist/{test_run_service-BweZLml7.js → test_run_service-CJF5wiWX.js} +3 -206
- package/dist/test_run_service-CJF5wiWX.js.map +1 -0
- package/dist/{test_run_service-CU_nzUMl.d.ts → test_run_service-DflLBmNV.d.cts} +4 -114
- package/dist/test_run_service-DflLBmNV.d.cts.map +1 -0
- package/dist/{test_run_service-DNX-UKcH.d.cts → test_run_service-IQcVrvyC.d.ts} +4 -114
- package/dist/test_run_service-IQcVrvyC.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/client_service-BL8ToqKl.js.map +0 -1
- package/dist/client_service-BeS1HBgM.cjs.map +0 -1
- package/dist/client_service-CK1OUcjG.d.cts.map +0 -1
- package/dist/client_service-Cp4QJCn0.d.ts.map +0 -1
- package/dist/communication-BXVwzV4j.cjs.map +0 -1
- package/dist/communication-BY2KZhrg.js.map +0 -1
- package/dist/communication-CAZsD8fT.d.cts.map +0 -1
- package/dist/communication-Dgb6EIjz.d.ts.map +0 -1
- package/dist/span-BTPaKLyl.cjs.map +0 -1
- package/dist/span-BumZb1lr.d.ts.map +0 -1
- package/dist/span-CqMO2cJg.d.cts.map +0 -1
- package/dist/span-CsBrzhI_.js.map +0 -1
- package/dist/test_run_service-BweZLml7.js.map +0 -1
- package/dist/test_run_service-CU_nzUMl.d.ts.map +0 -1
- package/dist/test_run_service-DNX-UKcH.d.cts.map +0 -1
- package/dist/test_run_service-Oc0tJagz.cjs.map +0 -1
|
@@ -215,6 +215,50 @@ interface Trace {
|
|
|
215
215
|
[key: string]: string;
|
|
216
216
|
};
|
|
217
217
|
}
|
|
218
|
+
/**
|
|
219
|
+
* Similarity candidate for ranking matches
|
|
220
|
+
*
|
|
221
|
+
* @generated from protobuf message tusk.drift.core.v1.SimilarityCandidate
|
|
222
|
+
*/
|
|
223
|
+
interface SimilarityCandidate {
|
|
224
|
+
/**
|
|
225
|
+
* @generated from protobuf field: string span_id = 1
|
|
226
|
+
*/
|
|
227
|
+
spanId: string;
|
|
228
|
+
/**
|
|
229
|
+
* @generated from protobuf field: float score = 2
|
|
230
|
+
*/
|
|
231
|
+
score: number;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Match level information
|
|
235
|
+
*
|
|
236
|
+
* @generated from protobuf message tusk.drift.core.v1.MatchLevel
|
|
237
|
+
*/
|
|
238
|
+
interface MatchLevel {
|
|
239
|
+
/**
|
|
240
|
+
* @generated from protobuf field: tusk.drift.core.v1.MatchType match_type = 1
|
|
241
|
+
*/
|
|
242
|
+
matchType: MatchType;
|
|
243
|
+
/**
|
|
244
|
+
* @generated from protobuf field: tusk.drift.core.v1.MatchScope match_scope = 2
|
|
245
|
+
*/
|
|
246
|
+
matchScope: MatchScope;
|
|
247
|
+
/**
|
|
248
|
+
* @generated from protobuf field: string match_description = 3
|
|
249
|
+
*/
|
|
250
|
+
matchDescription: string;
|
|
251
|
+
/**
|
|
252
|
+
* Similarity scoring fields (populated when multiple matches exist)
|
|
253
|
+
*
|
|
254
|
+
* @generated from protobuf field: optional float similarity_score = 4
|
|
255
|
+
*/
|
|
256
|
+
similarityScore?: number;
|
|
257
|
+
/**
|
|
258
|
+
* @generated from protobuf field: repeated tusk.drift.core.v1.SimilarityCandidate top_candidates = 5
|
|
259
|
+
*/
|
|
260
|
+
topCandidates: SimilarityCandidate[];
|
|
261
|
+
}
|
|
218
262
|
/**
|
|
219
263
|
* Package type classification enum
|
|
220
264
|
* Langauge agnostic
|
|
@@ -357,6 +401,60 @@ declare enum StatusCode {
|
|
|
357
401
|
*/
|
|
358
402
|
ERROR = 2,
|
|
359
403
|
}
|
|
404
|
+
/**
|
|
405
|
+
* Match scope - where the match was found
|
|
406
|
+
*
|
|
407
|
+
* @generated from protobuf enum tusk.drift.core.v1.MatchScope
|
|
408
|
+
*/
|
|
409
|
+
declare enum MatchScope {
|
|
410
|
+
/**
|
|
411
|
+
* @generated from protobuf enum value: MATCH_SCOPE_UNSPECIFIED = 0;
|
|
412
|
+
*/
|
|
413
|
+
UNSPECIFIED = 0,
|
|
414
|
+
/**
|
|
415
|
+
* @generated from protobuf enum value: MATCH_SCOPE_TRACE = 1;
|
|
416
|
+
*/
|
|
417
|
+
TRACE = 1,
|
|
418
|
+
/**
|
|
419
|
+
* @generated from protobuf enum value: MATCH_SCOPE_GLOBAL = 2;
|
|
420
|
+
*/
|
|
421
|
+
GLOBAL = 2,
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Match type - how the match was found
|
|
425
|
+
*
|
|
426
|
+
* @generated from protobuf enum tusk.drift.core.v1.MatchType
|
|
427
|
+
*/
|
|
428
|
+
declare enum MatchType {
|
|
429
|
+
/**
|
|
430
|
+
* @generated from protobuf enum value: MATCH_TYPE_UNSPECIFIED = 0;
|
|
431
|
+
*/
|
|
432
|
+
UNSPECIFIED = 0,
|
|
433
|
+
/**
|
|
434
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH = 1;
|
|
435
|
+
*/
|
|
436
|
+
INPUT_VALUE_HASH = 1,
|
|
437
|
+
/**
|
|
438
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH_REDUCED_SCHEMA = 2;
|
|
439
|
+
*/
|
|
440
|
+
INPUT_VALUE_HASH_REDUCED_SCHEMA = 2,
|
|
441
|
+
/**
|
|
442
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH = 3;
|
|
443
|
+
*/
|
|
444
|
+
INPUT_SCHEMA_HASH = 3,
|
|
445
|
+
/**
|
|
446
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4;
|
|
447
|
+
*/
|
|
448
|
+
INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4,
|
|
449
|
+
/**
|
|
450
|
+
* @generated from protobuf enum value: MATCH_TYPE_FUZZY = 5;
|
|
451
|
+
*/
|
|
452
|
+
FUZZY = 5,
|
|
453
|
+
/**
|
|
454
|
+
* @generated from protobuf enum value: MATCH_TYPE_FALLBACK = 6;
|
|
455
|
+
*/
|
|
456
|
+
FALLBACK = 6,
|
|
457
|
+
}
|
|
360
458
|
declare class Span$Type extends MessageType<Span> {
|
|
361
459
|
constructor();
|
|
362
460
|
create(value?: PartialMessage<Span>): Span;
|
|
@@ -410,6 +508,26 @@ declare class Trace$Type extends MessageType<Trace> {
|
|
|
410
508
|
* @generated MessageType for protobuf message tusk.drift.core.v1.Trace
|
|
411
509
|
*/
|
|
412
510
|
declare const Trace: Trace$Type;
|
|
511
|
+
declare class SimilarityCandidate$Type extends MessageType<SimilarityCandidate> {
|
|
512
|
+
constructor();
|
|
513
|
+
create(value?: PartialMessage<SimilarityCandidate>): SimilarityCandidate;
|
|
514
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SimilarityCandidate): SimilarityCandidate;
|
|
515
|
+
internalBinaryWrite(message: SimilarityCandidate, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* @generated MessageType for protobuf message tusk.drift.core.v1.SimilarityCandidate
|
|
519
|
+
*/
|
|
520
|
+
declare const SimilarityCandidate: SimilarityCandidate$Type;
|
|
521
|
+
declare class MatchLevel$Type extends MessageType<MatchLevel> {
|
|
522
|
+
constructor();
|
|
523
|
+
create(value?: PartialMessage<MatchLevel>): MatchLevel;
|
|
524
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MatchLevel): MatchLevel;
|
|
525
|
+
internalBinaryWrite(message: MatchLevel, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* @generated MessageType for protobuf message tusk.drift.core.v1.MatchLevel
|
|
529
|
+
*/
|
|
530
|
+
declare const MatchLevel: MatchLevel$Type;
|
|
413
531
|
//#endregion
|
|
414
|
-
export { PackageType, Span, SpanEvent, SpanKind, SpanLink, SpanStatus, StatusCode, Trace };
|
|
415
|
-
//# sourceMappingURL=span-
|
|
532
|
+
export { MatchLevel, MatchScope, MatchType, PackageType, SimilarityCandidate, Span, SpanEvent, SpanKind, SpanLink, SpanStatus, StatusCode, Trace };
|
|
533
|
+
//# sourceMappingURL=span-DpNbEo1N.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-DpNbEo1N.d.cts","names":[],"sources":["../generated/ts/core/span.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -152,6 +152,62 @@ let StatusCode = /* @__PURE__ */ function(StatusCode$1) {
|
|
|
152
152
|
StatusCode$1[StatusCode$1["ERROR"] = 2] = "ERROR";
|
|
153
153
|
return StatusCode$1;
|
|
154
154
|
}({});
|
|
155
|
+
/**
|
|
156
|
+
* Match scope - where the match was found
|
|
157
|
+
*
|
|
158
|
+
* @generated from protobuf enum tusk.drift.core.v1.MatchScope
|
|
159
|
+
*/
|
|
160
|
+
let MatchScope = /* @__PURE__ */ function(MatchScope$1) {
|
|
161
|
+
/**
|
|
162
|
+
* @generated from protobuf enum value: MATCH_SCOPE_UNSPECIFIED = 0;
|
|
163
|
+
*/
|
|
164
|
+
MatchScope$1[MatchScope$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
165
|
+
/**
|
|
166
|
+
* @generated from protobuf enum value: MATCH_SCOPE_TRACE = 1;
|
|
167
|
+
*/
|
|
168
|
+
MatchScope$1[MatchScope$1["TRACE"] = 1] = "TRACE";
|
|
169
|
+
/**
|
|
170
|
+
* @generated from protobuf enum value: MATCH_SCOPE_GLOBAL = 2;
|
|
171
|
+
*/
|
|
172
|
+
MatchScope$1[MatchScope$1["GLOBAL"] = 2] = "GLOBAL";
|
|
173
|
+
return MatchScope$1;
|
|
174
|
+
}({});
|
|
175
|
+
/**
|
|
176
|
+
* Match type - how the match was found
|
|
177
|
+
*
|
|
178
|
+
* @generated from protobuf enum tusk.drift.core.v1.MatchType
|
|
179
|
+
*/
|
|
180
|
+
let MatchType = /* @__PURE__ */ function(MatchType$1) {
|
|
181
|
+
/**
|
|
182
|
+
* @generated from protobuf enum value: MATCH_TYPE_UNSPECIFIED = 0;
|
|
183
|
+
*/
|
|
184
|
+
MatchType$1[MatchType$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
|
|
185
|
+
/**
|
|
186
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH = 1;
|
|
187
|
+
*/
|
|
188
|
+
MatchType$1[MatchType$1["INPUT_VALUE_HASH"] = 1] = "INPUT_VALUE_HASH";
|
|
189
|
+
/**
|
|
190
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH_REDUCED_SCHEMA = 2;
|
|
191
|
+
*/
|
|
192
|
+
MatchType$1[MatchType$1["INPUT_VALUE_HASH_REDUCED_SCHEMA"] = 2] = "INPUT_VALUE_HASH_REDUCED_SCHEMA";
|
|
193
|
+
/**
|
|
194
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH = 3;
|
|
195
|
+
*/
|
|
196
|
+
MatchType$1[MatchType$1["INPUT_SCHEMA_HASH"] = 3] = "INPUT_SCHEMA_HASH";
|
|
197
|
+
/**
|
|
198
|
+
* @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4;
|
|
199
|
+
*/
|
|
200
|
+
MatchType$1[MatchType$1["INPUT_SCHEMA_HASH_REDUCED_SCHEMA"] = 4] = "INPUT_SCHEMA_HASH_REDUCED_SCHEMA";
|
|
201
|
+
/**
|
|
202
|
+
* @generated from protobuf enum value: MATCH_TYPE_FUZZY = 5;
|
|
203
|
+
*/
|
|
204
|
+
MatchType$1[MatchType$1["FUZZY"] = 5] = "FUZZY";
|
|
205
|
+
/**
|
|
206
|
+
* @generated from protobuf enum value: MATCH_TYPE_FALLBACK = 6;
|
|
207
|
+
*/
|
|
208
|
+
MatchType$1[MatchType$1["FALLBACK"] = 6] = "FALLBACK";
|
|
209
|
+
return MatchType$1;
|
|
210
|
+
}({});
|
|
155
211
|
var Span$Type = class extends __protobuf_ts_runtime.MessageType {
|
|
156
212
|
constructor() {
|
|
157
213
|
super("tusk.drift.core.v1.Span", [
|
|
@@ -798,14 +854,189 @@ var Trace$Type = class extends __protobuf_ts_runtime.MessageType {
|
|
|
798
854
|
* @generated MessageType for protobuf message tusk.drift.core.v1.Trace
|
|
799
855
|
*/
|
|
800
856
|
const Trace = new Trace$Type();
|
|
857
|
+
var SimilarityCandidate$Type = class extends __protobuf_ts_runtime.MessageType {
|
|
858
|
+
constructor() {
|
|
859
|
+
super("tusk.drift.core.v1.SimilarityCandidate", [{
|
|
860
|
+
no: 1,
|
|
861
|
+
name: "span_id",
|
|
862
|
+
kind: "scalar",
|
|
863
|
+
T: 9
|
|
864
|
+
}, {
|
|
865
|
+
no: 2,
|
|
866
|
+
name: "score",
|
|
867
|
+
kind: "scalar",
|
|
868
|
+
T: 2
|
|
869
|
+
}]);
|
|
870
|
+
}
|
|
871
|
+
create(value) {
|
|
872
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
873
|
+
message.spanId = "";
|
|
874
|
+
message.score = 0;
|
|
875
|
+
if (value !== void 0) (0, __protobuf_ts_runtime.reflectionMergePartial)(this, message, value);
|
|
876
|
+
return message;
|
|
877
|
+
}
|
|
878
|
+
internalBinaryRead(reader, length, options, target) {
|
|
879
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
880
|
+
while (reader.pos < end) {
|
|
881
|
+
let [fieldNo, wireType] = reader.tag();
|
|
882
|
+
switch (fieldNo) {
|
|
883
|
+
case 1:
|
|
884
|
+
message.spanId = reader.string();
|
|
885
|
+
break;
|
|
886
|
+
case 2:
|
|
887
|
+
message.score = reader.float();
|
|
888
|
+
break;
|
|
889
|
+
default:
|
|
890
|
+
let u = options.readUnknownField;
|
|
891
|
+
if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
892
|
+
let d = reader.skip(wireType);
|
|
893
|
+
if (u !== false) (u === true ? __protobuf_ts_runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
return message;
|
|
897
|
+
}
|
|
898
|
+
internalBinaryWrite(message, writer, options) {
|
|
899
|
+
if (message.spanId !== "") writer.tag(1, __protobuf_ts_runtime.WireType.LengthDelimited).string(message.spanId);
|
|
900
|
+
if (message.score !== 0) writer.tag(2, __protobuf_ts_runtime.WireType.Bit32).float(message.score);
|
|
901
|
+
let u = options.writeUnknownFields;
|
|
902
|
+
if (u !== false) (u == true ? __protobuf_ts_runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
903
|
+
return writer;
|
|
904
|
+
}
|
|
905
|
+
};
|
|
906
|
+
/**
|
|
907
|
+
* @generated MessageType for protobuf message tusk.drift.core.v1.SimilarityCandidate
|
|
908
|
+
*/
|
|
909
|
+
const SimilarityCandidate = new SimilarityCandidate$Type();
|
|
910
|
+
var MatchLevel$Type = class extends __protobuf_ts_runtime.MessageType {
|
|
911
|
+
constructor() {
|
|
912
|
+
super("tusk.drift.core.v1.MatchLevel", [
|
|
913
|
+
{
|
|
914
|
+
no: 1,
|
|
915
|
+
name: "match_type",
|
|
916
|
+
kind: "enum",
|
|
917
|
+
T: () => [
|
|
918
|
+
"tusk.drift.core.v1.MatchType",
|
|
919
|
+
MatchType,
|
|
920
|
+
"MATCH_TYPE_"
|
|
921
|
+
]
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
no: 2,
|
|
925
|
+
name: "match_scope",
|
|
926
|
+
kind: "enum",
|
|
927
|
+
T: () => [
|
|
928
|
+
"tusk.drift.core.v1.MatchScope",
|
|
929
|
+
MatchScope,
|
|
930
|
+
"MATCH_SCOPE_"
|
|
931
|
+
]
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
no: 3,
|
|
935
|
+
name: "match_description",
|
|
936
|
+
kind: "scalar",
|
|
937
|
+
T: 9
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
no: 4,
|
|
941
|
+
name: "similarity_score",
|
|
942
|
+
kind: "scalar",
|
|
943
|
+
opt: true,
|
|
944
|
+
T: 2
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
no: 5,
|
|
948
|
+
name: "top_candidates",
|
|
949
|
+
kind: "message",
|
|
950
|
+
repeat: 2,
|
|
951
|
+
T: () => SimilarityCandidate
|
|
952
|
+
}
|
|
953
|
+
]);
|
|
954
|
+
}
|
|
955
|
+
create(value) {
|
|
956
|
+
const message = globalThis.Object.create(this.messagePrototype);
|
|
957
|
+
message.matchType = 0;
|
|
958
|
+
message.matchScope = 0;
|
|
959
|
+
message.matchDescription = "";
|
|
960
|
+
message.topCandidates = [];
|
|
961
|
+
if (value !== void 0) (0, __protobuf_ts_runtime.reflectionMergePartial)(this, message, value);
|
|
962
|
+
return message;
|
|
963
|
+
}
|
|
964
|
+
internalBinaryRead(reader, length, options, target) {
|
|
965
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
966
|
+
while (reader.pos < end) {
|
|
967
|
+
let [fieldNo, wireType] = reader.tag();
|
|
968
|
+
switch (fieldNo) {
|
|
969
|
+
case 1:
|
|
970
|
+
message.matchType = reader.int32();
|
|
971
|
+
break;
|
|
972
|
+
case 2:
|
|
973
|
+
message.matchScope = reader.int32();
|
|
974
|
+
break;
|
|
975
|
+
case 3:
|
|
976
|
+
message.matchDescription = reader.string();
|
|
977
|
+
break;
|
|
978
|
+
case 4:
|
|
979
|
+
message.similarityScore = reader.float();
|
|
980
|
+
break;
|
|
981
|
+
case 5:
|
|
982
|
+
message.topCandidates.push(SimilarityCandidate.internalBinaryRead(reader, reader.uint32(), options));
|
|
983
|
+
break;
|
|
984
|
+
default:
|
|
985
|
+
let u = options.readUnknownField;
|
|
986
|
+
if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
987
|
+
let d = reader.skip(wireType);
|
|
988
|
+
if (u !== false) (u === true ? __protobuf_ts_runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
return message;
|
|
992
|
+
}
|
|
993
|
+
internalBinaryWrite(message, writer, options) {
|
|
994
|
+
if (message.matchType !== 0) writer.tag(1, __protobuf_ts_runtime.WireType.Varint).int32(message.matchType);
|
|
995
|
+
if (message.matchScope !== 0) writer.tag(2, __protobuf_ts_runtime.WireType.Varint).int32(message.matchScope);
|
|
996
|
+
if (message.matchDescription !== "") writer.tag(3, __protobuf_ts_runtime.WireType.LengthDelimited).string(message.matchDescription);
|
|
997
|
+
if (message.similarityScore !== void 0) writer.tag(4, __protobuf_ts_runtime.WireType.Bit32).float(message.similarityScore);
|
|
998
|
+
for (let i = 0; i < message.topCandidates.length; i++) SimilarityCandidate.internalBinaryWrite(message.topCandidates[i], writer.tag(5, __protobuf_ts_runtime.WireType.LengthDelimited).fork(), options).join();
|
|
999
|
+
let u = options.writeUnknownFields;
|
|
1000
|
+
if (u !== false) (u == true ? __protobuf_ts_runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
1001
|
+
return writer;
|
|
1002
|
+
}
|
|
1003
|
+
};
|
|
1004
|
+
/**
|
|
1005
|
+
* @generated MessageType for protobuf message tusk.drift.core.v1.MatchLevel
|
|
1006
|
+
*/
|
|
1007
|
+
const MatchLevel = new MatchLevel$Type();
|
|
801
1008
|
|
|
802
1009
|
//#endregion
|
|
1010
|
+
Object.defineProperty(exports, 'MatchLevel', {
|
|
1011
|
+
enumerable: true,
|
|
1012
|
+
get: function () {
|
|
1013
|
+
return MatchLevel;
|
|
1014
|
+
}
|
|
1015
|
+
});
|
|
1016
|
+
Object.defineProperty(exports, 'MatchScope', {
|
|
1017
|
+
enumerable: true,
|
|
1018
|
+
get: function () {
|
|
1019
|
+
return MatchScope;
|
|
1020
|
+
}
|
|
1021
|
+
});
|
|
1022
|
+
Object.defineProperty(exports, 'MatchType', {
|
|
1023
|
+
enumerable: true,
|
|
1024
|
+
get: function () {
|
|
1025
|
+
return MatchType;
|
|
1026
|
+
}
|
|
1027
|
+
});
|
|
803
1028
|
Object.defineProperty(exports, 'PackageType', {
|
|
804
1029
|
enumerable: true,
|
|
805
1030
|
get: function () {
|
|
806
1031
|
return PackageType;
|
|
807
1032
|
}
|
|
808
1033
|
});
|
|
1034
|
+
Object.defineProperty(exports, 'SimilarityCandidate', {
|
|
1035
|
+
enumerable: true,
|
|
1036
|
+
get: function () {
|
|
1037
|
+
return SimilarityCandidate;
|
|
1038
|
+
}
|
|
1039
|
+
});
|
|
809
1040
|
Object.defineProperty(exports, 'Span', {
|
|
810
1041
|
enumerable: true,
|
|
811
1042
|
get: function () {
|
|
@@ -848,4 +1079,4 @@ Object.defineProperty(exports, 'Trace', {
|
|
|
848
1079
|
return Trace;
|
|
849
1080
|
}
|
|
850
1081
|
});
|
|
851
|
-
//# sourceMappingURL=span-
|
|
1082
|
+
//# sourceMappingURL=span-P97ehIM2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-P97ehIM2.cjs","names":["MessageType","Struct","JsonSchema","Timestamp","Duration","UnknownFieldHandler","WireType","Value","key: keyof SpanEvent[\"attributes\"] | undefined","val: SpanEvent[\"attributes\"][any] | undefined","key: keyof SpanLink[\"attributes\"] | undefined","val: SpanLink[\"attributes\"][any] | undefined","key: keyof Trace[\"metadata\"] | undefined","val: Trace[\"metadata\"][any] | undefined"],"sources":["../generated/ts/core/span.ts"],"sourcesContent":["// @generated by protobuf-ts 2.11.1 with parameter generate_dependencies\n// @generated from protobuf file \"core/span.proto\" (package \"tusk.drift.core.v1\", syntax proto3)\n// tslint:disable\nimport type { BinaryWriteOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryWriter } from \"@protobuf-ts/runtime\";\nimport { WireType } from \"@protobuf-ts/runtime\";\nimport type { BinaryReadOptions } from \"@protobuf-ts/runtime\";\nimport type { IBinaryReader } from \"@protobuf-ts/runtime\";\nimport { UnknownFieldHandler } from \"@protobuf-ts/runtime\";\nimport type { PartialMessage } from \"@protobuf-ts/runtime\";\nimport { reflectionMergePartial } from \"@protobuf-ts/runtime\";\nimport { MessageType } from \"@protobuf-ts/runtime\";\nimport { Value } from \"../google/protobuf/struct\";\nimport { Duration } from \"../google/protobuf/duration\";\nimport { Timestamp } from \"../google/protobuf/timestamp\";\nimport { JsonSchema } from \"./json_schema\";\nimport { Struct } from \"../google/protobuf/struct\";\n/**\n * Universal span structure that works for all instrumentation types\n *\n * @generated from protobuf message tusk.drift.core.v1.Span\n */\nexport interface Span {\n /**\n * Core span identity\n *\n * @generated from protobuf field: string trace_id = 1\n */\n traceId: string;\n /**\n * @generated from protobuf field: string span_id = 2\n */\n spanId: string;\n /**\n * @generated from protobuf field: string parent_span_id = 3\n */\n parentSpanId: string;\n /**\n * Visual name\n *\n * @generated from protobuf field: string name = 4\n */\n name: string; // \"api/process_commit\", \"update UserQuery\", \"pg.query\"\n /**\n * Instrumentation identity\n *\n * @generated from protobuf field: string package_name = 5\n */\n packageName: string; // \"http\", \"pg\", \"mysql\", \"redis\", \"fetch\"\n /**\n * @generated from protobuf field: string instrumentation_name = 6\n */\n instrumentationName: string; // instrumentation class name\n /**\n * @generated from protobuf field: string submodule_name = 7\n */\n submoduleName: string; // \"GET\", \"query\", \"execute\", \"get\", etc.\n /**\n * Package type classification\n *\n * @generated from protobuf field: tusk.drift.core.v1.PackageType package_type = 8\n */\n packageType: PackageType; // Enum classification of package type\n /**\n * Input/output data\n *\n * @generated from protobuf field: google.protobuf.Struct input_value = 9\n */\n inputValue?: Struct; // Request/query/command data\n /**\n * @generated from protobuf field: google.protobuf.Struct output_value = 10\n */\n outputValue?: Struct; // Response/result data\n /**\n * @generated from protobuf field: tusk.drift.core.v1.JsonSchema input_schema = 11\n */\n inputSchema?: JsonSchema; // Schema definition for input\n /**\n * @generated from protobuf field: tusk.drift.core.v1.JsonSchema output_schema = 12\n */\n outputSchema?: JsonSchema; // Schema definition for output\n /**\n * Hash-based matching and validation\n *\n * @generated from protobuf field: string input_schema_hash = 13\n */\n inputSchemaHash: string; // Hash of input schema for validation\n /**\n * @generated from protobuf field: string output_schema_hash = 14\n */\n outputSchemaHash: string; // Hash of output schema for validation\n /**\n * @generated from protobuf field: string input_value_hash = 15\n */\n inputValueHash: string; // Hash of input_value for matching\n /**\n * @generated from protobuf field: string output_value_hash = 16\n */\n outputValueHash: string; // Hash of output_value\n /**\n * Span metadata\n *\n * @generated from protobuf field: tusk.drift.core.v1.SpanKind kind = 17\n */\n kind: SpanKind; // OpenTelemetry-compatible span kind\n /**\n * @generated from protobuf field: tusk.drift.core.v1.SpanStatus status = 18\n */\n status?: SpanStatus; // Span completion status\n /**\n * @generated from protobuf field: bool is_pre_app_start = 19\n */\n isPreAppStart: boolean; // Whether the span is a before user marking app as ready\n /**\n * Timing information\n *\n * @generated from protobuf field: google.protobuf.Timestamp timestamp = 20\n */\n timestamp?: Timestamp; // Primary timestamp\n /**\n * @generated from protobuf field: google.protobuf.Duration duration = 21\n */\n duration?: Duration; // Primary duration\n /**\n * Span relationships and state\n *\n * @generated from protobuf field: bool is_root_span = 22\n */\n isRootSpan: boolean;\n /**\n * @generated from protobuf field: google.protobuf.Struct metadata = 23\n */\n metadata?: Struct; // Additional metadata\n /**\n * Environment information\n *\n * @generated from protobuf field: optional string environment = 24\n */\n environment?: string; // Environment name (e.g., \"production\", \"staging\", \"development\")\n}\n/**\n * Span completion status\n *\n * @generated from protobuf message tusk.drift.core.v1.SpanStatus\n */\nexport interface SpanStatus {\n /**\n * @generated from protobuf field: tusk.drift.core.v1.StatusCode code = 1\n */\n code: StatusCode;\n /**\n * @generated from protobuf field: string message = 2\n */\n message: string;\n}\n/**\n * Span events (logs) - optional\n *\n * @generated from protobuf message tusk.drift.core.v1.SpanEvent\n */\nexport interface SpanEvent {\n /**\n * @generated from protobuf field: string name = 1\n */\n name: string;\n /**\n * @generated from protobuf field: google.protobuf.Timestamp timestamp = 2\n */\n timestamp?: Timestamp;\n /**\n * @generated from protobuf field: map<string, google.protobuf.Value> attributes = 3\n */\n attributes: {\n [key: string]: Value;\n };\n}\n/**\n * Span links - optional\n *\n * @generated from protobuf message tusk.drift.core.v1.SpanLink\n */\nexport interface SpanLink {\n /**\n * @generated from protobuf field: string trace_id = 1\n */\n traceId: string;\n /**\n * @generated from protobuf field: string span_id = 2\n */\n spanId: string;\n /**\n * @generated from protobuf field: map<string, google.protobuf.Value> attributes = 3\n */\n attributes: {\n [key: string]: Value;\n };\n}\n/**\n * Trace collection\n *\n * @generated from protobuf message tusk.drift.core.v1.Trace\n */\nexport interface Trace {\n /**\n * @generated from protobuf field: string trace_id = 1\n */\n traceId: string;\n /**\n * @generated from protobuf field: repeated tusk.drift.core.v1.Span spans = 2\n */\n spans: Span[];\n /**\n * @generated from protobuf field: google.protobuf.Timestamp started_at = 3\n */\n startedAt?: Timestamp;\n /**\n * @generated from protobuf field: google.protobuf.Timestamp completed_at = 4\n */\n completedAt?: Timestamp;\n /**\n * @generated from protobuf field: map<string, string> metadata = 5\n */\n metadata: {\n [key: string]: string;\n }; // Trace-level metadata\n}\n/**\n * Similarity candidate for ranking matches\n *\n * @generated from protobuf message tusk.drift.core.v1.SimilarityCandidate\n */\nexport interface SimilarityCandidate {\n /**\n * @generated from protobuf field: string span_id = 1\n */\n spanId: string;\n /**\n * @generated from protobuf field: float score = 2\n */\n score: number;\n}\n/**\n * Match level information\n *\n * @generated from protobuf message tusk.drift.core.v1.MatchLevel\n */\nexport interface MatchLevel {\n /**\n * @generated from protobuf field: tusk.drift.core.v1.MatchType match_type = 1\n */\n matchType: MatchType; // How the match was found\n /**\n * @generated from protobuf field: tusk.drift.core.v1.MatchScope match_scope = 2\n */\n matchScope: MatchScope; // Scope of where the match was found\n /**\n * @generated from protobuf field: string match_description = 3\n */\n matchDescription: string; // Natural language description for match\n /**\n * Similarity scoring fields (populated when multiple matches exist)\n *\n * @generated from protobuf field: optional float similarity_score = 4\n */\n similarityScore?: number; // The similarity score of the selected match (0.0-1.0)\n /**\n * @generated from protobuf field: repeated tusk.drift.core.v1.SimilarityCandidate top_candidates = 5\n */\n topCandidates: SimilarityCandidate[]; // Top 5 alternative matches with scores\n}\n/**\n * Package type classification enum\n * Langauge agnostic\n *\n * @generated from protobuf enum tusk.drift.core.v1.PackageType\n */\nexport enum PackageType {\n /**\n * @generated from protobuf enum value: PACKAGE_TYPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * HTTP-based operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_HTTP = 1;\n */\n HTTP = 1,\n /**\n * GraphQL operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_GRAPHQL = 2;\n */\n GRAPHQL = 2,\n /**\n * gRPC operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_GRPC = 3;\n */\n GRPC = 3,\n /**\n * PostgreSQL operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_PG = 4;\n */\n PG = 4,\n /**\n * MySQL operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_MYSQL = 5;\n */\n MYSQL = 5,\n /**\n * MongoDB operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_MONGODB = 6;\n */\n MONGODB = 6,\n /**\n * Redis caching operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_REDIS = 7;\n */\n REDIS = 7,\n /**\n * Apache Kafka messaging\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_KAFKA = 8;\n */\n KAFKA = 8,\n /**\n * RabbitMQ messaging\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_RABBITMQ = 9;\n */\n RABBITMQ = 9,\n /**\n * Firestore operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_FIRESTORE = 10;\n */\n FIRESTORE = 10,\n /**\n * Prisma operations\n *\n * @generated from protobuf enum value: PACKAGE_TYPE_PRISMA = 11;\n */\n PRISMA = 11\n}\n/**\n * OpenTelemetry-compatible span kinds\n *\n * @generated from protobuf enum tusk.drift.core.v1.SpanKind\n */\nexport enum SpanKind {\n /**\n * @generated from protobuf enum value: SPAN_KIND_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Internal operation\n *\n * @generated from protobuf enum value: SPAN_KIND_INTERNAL = 1;\n */\n INTERNAL = 1,\n /**\n * Server-side operation\n *\n * @generated from protobuf enum value: SPAN_KIND_SERVER = 2;\n */\n SERVER = 2,\n /**\n * Client-side operation\n *\n * @generated from protobuf enum value: SPAN_KIND_CLIENT = 3;\n */\n CLIENT = 3,\n /**\n * Message producer\n *\n * @generated from protobuf enum value: SPAN_KIND_PRODUCER = 4;\n */\n PRODUCER = 4,\n /**\n * Message consumer\n *\n * @generated from protobuf enum value: SPAN_KIND_CONSUMER = 5;\n */\n CONSUMER = 5\n}\n/**\n * @generated from protobuf enum tusk.drift.core.v1.StatusCode\n */\nexport enum StatusCode {\n /**\n * Default state\n *\n * @generated from protobuf enum value: STATUS_CODE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * Success\n *\n * @generated from protobuf enum value: STATUS_CODE_OK = 1;\n */\n OK = 1,\n /**\n * Error occurred\n *\n * @generated from protobuf enum value: STATUS_CODE_ERROR = 2;\n */\n ERROR = 2\n}\n/**\n * Match scope - where the match was found\n *\n * @generated from protobuf enum tusk.drift.core.v1.MatchScope\n */\nexport enum MatchScope {\n /**\n * @generated from protobuf enum value: MATCH_SCOPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: MATCH_SCOPE_TRACE = 1;\n */\n TRACE = 1,\n /**\n * @generated from protobuf enum value: MATCH_SCOPE_GLOBAL = 2;\n */\n GLOBAL = 2\n}\n/**\n * Match type - how the match was found\n *\n * @generated from protobuf enum tusk.drift.core.v1.MatchType\n */\nexport enum MatchType {\n /**\n * @generated from protobuf enum value: MATCH_TYPE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH = 1;\n */\n INPUT_VALUE_HASH = 1,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH_REDUCED_SCHEMA = 2;\n */\n INPUT_VALUE_HASH_REDUCED_SCHEMA = 2,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH = 3;\n */\n INPUT_SCHEMA_HASH = 3,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4;\n */\n INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_FUZZY = 5;\n */\n FUZZY = 5,\n /**\n * @generated from protobuf enum value: MATCH_TYPE_FALLBACK = 6;\n */\n FALLBACK = 6\n}\n// @generated message type with reflection information, may provide speed optimized methods\nclass Span$Type extends MessageType<Span> {\n constructor() {\n super(\"tusk.drift.core.v1.Span\", [\n { no: 1, name: \"trace_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"span_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"parent_span_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 4, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 5, name: \"package_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 6, name: \"instrumentation_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 7, name: \"submodule_name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 8, name: \"package_type\", kind: \"enum\", T: () => [\"tusk.drift.core.v1.PackageType\", PackageType, \"PACKAGE_TYPE_\"] },\n { no: 9, name: \"input_value\", kind: \"message\", T: () => Struct },\n { no: 10, name: \"output_value\", kind: \"message\", T: () => Struct },\n { no: 11, name: \"input_schema\", kind: \"message\", T: () => JsonSchema },\n { no: 12, name: \"output_schema\", kind: \"message\", T: () => JsonSchema },\n { no: 13, name: \"input_schema_hash\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 14, name: \"output_schema_hash\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 15, name: \"input_value_hash\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 16, name: \"output_value_hash\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 17, name: \"kind\", kind: \"enum\", T: () => [\"tusk.drift.core.v1.SpanKind\", SpanKind, \"SPAN_KIND_\"] },\n { no: 18, name: \"status\", kind: \"message\", T: () => SpanStatus },\n { no: 19, name: \"is_pre_app_start\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n { no: 20, name: \"timestamp\", kind: \"message\", T: () => Timestamp },\n { no: 21, name: \"duration\", kind: \"message\", T: () => Duration },\n { no: 22, name: \"is_root_span\", kind: \"scalar\", T: 8 /*ScalarType.BOOL*/ },\n { no: 23, name: \"metadata\", kind: \"message\", T: () => Struct },\n { no: 24, name: \"environment\", kind: \"scalar\", opt: true, T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<Span>): Span {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.traceId = \"\";\n message.spanId = \"\";\n message.parentSpanId = \"\";\n message.name = \"\";\n message.packageName = \"\";\n message.instrumentationName = \"\";\n message.submoduleName = \"\";\n message.packageType = 0;\n message.inputSchemaHash = \"\";\n message.outputSchemaHash = \"\";\n message.inputValueHash = \"\";\n message.outputValueHash = \"\";\n message.kind = 0;\n message.isPreAppStart = false;\n message.isRootSpan = false;\n if (value !== undefined)\n reflectionMergePartial<Span>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Span): Span {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string trace_id */ 1:\n message.traceId = reader.string();\n break;\n case /* string span_id */ 2:\n message.spanId = reader.string();\n break;\n case /* string parent_span_id */ 3:\n message.parentSpanId = reader.string();\n break;\n case /* string name */ 4:\n message.name = reader.string();\n break;\n case /* string package_name */ 5:\n message.packageName = reader.string();\n break;\n case /* string instrumentation_name */ 6:\n message.instrumentationName = reader.string();\n break;\n case /* string submodule_name */ 7:\n message.submoduleName = reader.string();\n break;\n case /* tusk.drift.core.v1.PackageType package_type */ 8:\n message.packageType = reader.int32();\n break;\n case /* google.protobuf.Struct input_value */ 9:\n message.inputValue = Struct.internalBinaryRead(reader, reader.uint32(), options, message.inputValue);\n break;\n case /* google.protobuf.Struct output_value */ 10:\n message.outputValue = Struct.internalBinaryRead(reader, reader.uint32(), options, message.outputValue);\n break;\n case /* tusk.drift.core.v1.JsonSchema input_schema */ 11:\n message.inputSchema = JsonSchema.internalBinaryRead(reader, reader.uint32(), options, message.inputSchema);\n break;\n case /* tusk.drift.core.v1.JsonSchema output_schema */ 12:\n message.outputSchema = JsonSchema.internalBinaryRead(reader, reader.uint32(), options, message.outputSchema);\n break;\n case /* string input_schema_hash */ 13:\n message.inputSchemaHash = reader.string();\n break;\n case /* string output_schema_hash */ 14:\n message.outputSchemaHash = reader.string();\n break;\n case /* string input_value_hash */ 15:\n message.inputValueHash = reader.string();\n break;\n case /* string output_value_hash */ 16:\n message.outputValueHash = reader.string();\n break;\n case /* tusk.drift.core.v1.SpanKind kind */ 17:\n message.kind = reader.int32();\n break;\n case /* tusk.drift.core.v1.SpanStatus status */ 18:\n message.status = SpanStatus.internalBinaryRead(reader, reader.uint32(), options, message.status);\n break;\n case /* bool is_pre_app_start */ 19:\n message.isPreAppStart = reader.bool();\n break;\n case /* google.protobuf.Timestamp timestamp */ 20:\n message.timestamp = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.timestamp);\n break;\n case /* google.protobuf.Duration duration */ 21:\n message.duration = Duration.internalBinaryRead(reader, reader.uint32(), options, message.duration);\n break;\n case /* bool is_root_span */ 22:\n message.isRootSpan = reader.bool();\n break;\n case /* google.protobuf.Struct metadata */ 23:\n message.metadata = Struct.internalBinaryRead(reader, reader.uint32(), options, message.metadata);\n break;\n case /* optional string environment */ 24:\n message.environment = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: Span, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string trace_id = 1; */\n if (message.traceId !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.traceId);\n /* string span_id = 2; */\n if (message.spanId !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.spanId);\n /* string parent_span_id = 3; */\n if (message.parentSpanId !== \"\")\n writer.tag(3, WireType.LengthDelimited).string(message.parentSpanId);\n /* string name = 4; */\n if (message.name !== \"\")\n writer.tag(4, WireType.LengthDelimited).string(message.name);\n /* string package_name = 5; */\n if (message.packageName !== \"\")\n writer.tag(5, WireType.LengthDelimited).string(message.packageName);\n /* string instrumentation_name = 6; */\n if (message.instrumentationName !== \"\")\n writer.tag(6, WireType.LengthDelimited).string(message.instrumentationName);\n /* string submodule_name = 7; */\n if (message.submoduleName !== \"\")\n writer.tag(7, WireType.LengthDelimited).string(message.submoduleName);\n /* tusk.drift.core.v1.PackageType package_type = 8; */\n if (message.packageType !== 0)\n writer.tag(8, WireType.Varint).int32(message.packageType);\n /* google.protobuf.Struct input_value = 9; */\n if (message.inputValue)\n Struct.internalBinaryWrite(message.inputValue, writer.tag(9, WireType.LengthDelimited).fork(), options).join();\n /* google.protobuf.Struct output_value = 10; */\n if (message.outputValue)\n Struct.internalBinaryWrite(message.outputValue, writer.tag(10, WireType.LengthDelimited).fork(), options).join();\n /* tusk.drift.core.v1.JsonSchema input_schema = 11; */\n if (message.inputSchema)\n JsonSchema.internalBinaryWrite(message.inputSchema, writer.tag(11, WireType.LengthDelimited).fork(), options).join();\n /* tusk.drift.core.v1.JsonSchema output_schema = 12; */\n if (message.outputSchema)\n JsonSchema.internalBinaryWrite(message.outputSchema, writer.tag(12, WireType.LengthDelimited).fork(), options).join();\n /* string input_schema_hash = 13; */\n if (message.inputSchemaHash !== \"\")\n writer.tag(13, WireType.LengthDelimited).string(message.inputSchemaHash);\n /* string output_schema_hash = 14; */\n if (message.outputSchemaHash !== \"\")\n writer.tag(14, WireType.LengthDelimited).string(message.outputSchemaHash);\n /* string input_value_hash = 15; */\n if (message.inputValueHash !== \"\")\n writer.tag(15, WireType.LengthDelimited).string(message.inputValueHash);\n /* string output_value_hash = 16; */\n if (message.outputValueHash !== \"\")\n writer.tag(16, WireType.LengthDelimited).string(message.outputValueHash);\n /* tusk.drift.core.v1.SpanKind kind = 17; */\n if (message.kind !== 0)\n writer.tag(17, WireType.Varint).int32(message.kind);\n /* tusk.drift.core.v1.SpanStatus status = 18; */\n if (message.status)\n SpanStatus.internalBinaryWrite(message.status, writer.tag(18, WireType.LengthDelimited).fork(), options).join();\n /* bool is_pre_app_start = 19; */\n if (message.isPreAppStart !== false)\n writer.tag(19, WireType.Varint).bool(message.isPreAppStart);\n /* google.protobuf.Timestamp timestamp = 20; */\n if (message.timestamp)\n Timestamp.internalBinaryWrite(message.timestamp, writer.tag(20, WireType.LengthDelimited).fork(), options).join();\n /* google.protobuf.Duration duration = 21; */\n if (message.duration)\n Duration.internalBinaryWrite(message.duration, writer.tag(21, WireType.LengthDelimited).fork(), options).join();\n /* bool is_root_span = 22; */\n if (message.isRootSpan !== false)\n writer.tag(22, WireType.Varint).bool(message.isRootSpan);\n /* google.protobuf.Struct metadata = 23; */\n if (message.metadata)\n Struct.internalBinaryWrite(message.metadata, writer.tag(23, WireType.LengthDelimited).fork(), options).join();\n /* optional string environment = 24; */\n if (message.environment !== undefined)\n writer.tag(24, WireType.LengthDelimited).string(message.environment);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.Span\n */\nexport const Span = new Span$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SpanStatus$Type extends MessageType<SpanStatus> {\n constructor() {\n super(\"tusk.drift.core.v1.SpanStatus\", [\n { no: 1, name: \"code\", kind: \"enum\", T: () => [\"tusk.drift.core.v1.StatusCode\", StatusCode, \"STATUS_CODE_\"] },\n { no: 2, name: \"message\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ }\n ]);\n }\n create(value?: PartialMessage<SpanStatus>): SpanStatus {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.code = 0;\n message.message = \"\";\n if (value !== undefined)\n reflectionMergePartial<SpanStatus>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SpanStatus): SpanStatus {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* tusk.drift.core.v1.StatusCode code */ 1:\n message.code = reader.int32();\n break;\n case /* string message */ 2:\n message.message = reader.string();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: SpanStatus, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* tusk.drift.core.v1.StatusCode code = 1; */\n if (message.code !== 0)\n writer.tag(1, WireType.Varint).int32(message.code);\n /* string message = 2; */\n if (message.message !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.message);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.SpanStatus\n */\nexport const SpanStatus = new SpanStatus$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SpanEvent$Type extends MessageType<SpanEvent> {\n constructor() {\n super(\"tusk.drift.core.v1.SpanEvent\", [\n { no: 1, name: \"name\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"timestamp\", kind: \"message\", T: () => Timestamp },\n { no: 3, name: \"attributes\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => Value } }\n ]);\n }\n create(value?: PartialMessage<SpanEvent>): SpanEvent {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.name = \"\";\n message.attributes = {};\n if (value !== undefined)\n reflectionMergePartial<SpanEvent>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SpanEvent): SpanEvent {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string name */ 1:\n message.name = reader.string();\n break;\n case /* google.protobuf.Timestamp timestamp */ 2:\n message.timestamp = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.timestamp);\n break;\n case /* map<string, google.protobuf.Value> attributes */ 3:\n this.binaryReadMap3(message.attributes, reader, options);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n private binaryReadMap3(map: SpanEvent[\"attributes\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n let len = reader.uint32(), end = reader.pos + len, key: keyof SpanEvent[\"attributes\"] | undefined, val: SpanEvent[\"attributes\"][any] | undefined;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = reader.string();\n break;\n case 2:\n val = Value.internalBinaryRead(reader, reader.uint32(), options);\n break;\n default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.core.v1.SpanEvent.attributes\");\n }\n }\n map[key ?? \"\"] = val ?? Value.create();\n }\n internalBinaryWrite(message: SpanEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string name = 1; */\n if (message.name !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.name);\n /* google.protobuf.Timestamp timestamp = 2; */\n if (message.timestamp)\n Timestamp.internalBinaryWrite(message.timestamp, writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* map<string, google.protobuf.Value> attributes = 3; */\n for (let k of globalThis.Object.keys(message.attributes)) {\n writer.tag(3, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n writer.tag(2, WireType.LengthDelimited).fork();\n Value.internalBinaryWrite(message.attributes[k], writer, options);\n writer.join().join();\n }\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.SpanEvent\n */\nexport const SpanEvent = new SpanEvent$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SpanLink$Type extends MessageType<SpanLink> {\n constructor() {\n super(\"tusk.drift.core.v1.SpanLink\", [\n { no: 1, name: \"trace_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"span_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 3, name: \"attributes\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"message\", T: () => Value } }\n ]);\n }\n create(value?: PartialMessage<SpanLink>): SpanLink {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.traceId = \"\";\n message.spanId = \"\";\n message.attributes = {};\n if (value !== undefined)\n reflectionMergePartial<SpanLink>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SpanLink): SpanLink {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string trace_id */ 1:\n message.traceId = reader.string();\n break;\n case /* string span_id */ 2:\n message.spanId = reader.string();\n break;\n case /* map<string, google.protobuf.Value> attributes */ 3:\n this.binaryReadMap3(message.attributes, reader, options);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n private binaryReadMap3(map: SpanLink[\"attributes\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n let len = reader.uint32(), end = reader.pos + len, key: keyof SpanLink[\"attributes\"] | undefined, val: SpanLink[\"attributes\"][any] | undefined;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = reader.string();\n break;\n case 2:\n val = Value.internalBinaryRead(reader, reader.uint32(), options);\n break;\n default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.core.v1.SpanLink.attributes\");\n }\n }\n map[key ?? \"\"] = val ?? Value.create();\n }\n internalBinaryWrite(message: SpanLink, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string trace_id = 1; */\n if (message.traceId !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.traceId);\n /* string span_id = 2; */\n if (message.spanId !== \"\")\n writer.tag(2, WireType.LengthDelimited).string(message.spanId);\n /* map<string, google.protobuf.Value> attributes = 3; */\n for (let k of globalThis.Object.keys(message.attributes)) {\n writer.tag(3, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);\n writer.tag(2, WireType.LengthDelimited).fork();\n Value.internalBinaryWrite(message.attributes[k], writer, options);\n writer.join().join();\n }\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.SpanLink\n */\nexport const SpanLink = new SpanLink$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass Trace$Type extends MessageType<Trace> {\n constructor() {\n super(\"tusk.drift.core.v1.Trace\", [\n { no: 1, name: \"trace_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"spans\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Span },\n { no: 3, name: \"started_at\", kind: \"message\", T: () => Timestamp },\n { no: 4, name: \"completed_at\", kind: \"message\", T: () => Timestamp },\n { no: 5, name: \"metadata\", kind: \"map\", K: 9 /*ScalarType.STRING*/, V: { kind: \"scalar\", T: 9 /*ScalarType.STRING*/ } }\n ]);\n }\n create(value?: PartialMessage<Trace>): Trace {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.traceId = \"\";\n message.spans = [];\n message.metadata = {};\n if (value !== undefined)\n reflectionMergePartial<Trace>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Trace): Trace {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string trace_id */ 1:\n message.traceId = reader.string();\n break;\n case /* repeated tusk.drift.core.v1.Span spans */ 2:\n message.spans.push(Span.internalBinaryRead(reader, reader.uint32(), options));\n break;\n case /* google.protobuf.Timestamp started_at */ 3:\n message.startedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.startedAt);\n break;\n case /* google.protobuf.Timestamp completed_at */ 4:\n message.completedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.completedAt);\n break;\n case /* map<string, string> metadata */ 5:\n this.binaryReadMap5(message.metadata, reader, options);\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n private binaryReadMap5(map: Trace[\"metadata\"], reader: IBinaryReader, options: BinaryReadOptions): void {\n let len = reader.uint32(), end = reader.pos + len, key: keyof Trace[\"metadata\"] | undefined, val: Trace[\"metadata\"][any] | undefined;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case 1:\n key = reader.string();\n break;\n case 2:\n val = reader.string();\n break;\n default: throw new globalThis.Error(\"unknown map entry field for tusk.drift.core.v1.Trace.metadata\");\n }\n }\n map[key ?? \"\"] = val ?? \"\";\n }\n internalBinaryWrite(message: Trace, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string trace_id = 1; */\n if (message.traceId !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.traceId);\n /* repeated tusk.drift.core.v1.Span spans = 2; */\n for (let i = 0; i < message.spans.length; i++)\n Span.internalBinaryWrite(message.spans[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();\n /* google.protobuf.Timestamp started_at = 3; */\n if (message.startedAt)\n Timestamp.internalBinaryWrite(message.startedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();\n /* google.protobuf.Timestamp completed_at = 4; */\n if (message.completedAt)\n Timestamp.internalBinaryWrite(message.completedAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();\n /* map<string, string> metadata = 5; */\n for (let k of globalThis.Object.keys(message.metadata))\n writer.tag(5, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.metadata[k]).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.Trace\n */\nexport const Trace = new Trace$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass SimilarityCandidate$Type extends MessageType<SimilarityCandidate> {\n constructor() {\n super(\"tusk.drift.core.v1.SimilarityCandidate\", [\n { no: 1, name: \"span_id\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 2, name: \"score\", kind: \"scalar\", T: 2 /*ScalarType.FLOAT*/ }\n ]);\n }\n create(value?: PartialMessage<SimilarityCandidate>): SimilarityCandidate {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.spanId = \"\";\n message.score = 0;\n if (value !== undefined)\n reflectionMergePartial<SimilarityCandidate>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SimilarityCandidate): SimilarityCandidate {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* string span_id */ 1:\n message.spanId = reader.string();\n break;\n case /* float score */ 2:\n message.score = reader.float();\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: SimilarityCandidate, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* string span_id = 1; */\n if (message.spanId !== \"\")\n writer.tag(1, WireType.LengthDelimited).string(message.spanId);\n /* float score = 2; */\n if (message.score !== 0)\n writer.tag(2, WireType.Bit32).float(message.score);\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.SimilarityCandidate\n */\nexport const SimilarityCandidate = new SimilarityCandidate$Type();\n// @generated message type with reflection information, may provide speed optimized methods\nclass MatchLevel$Type extends MessageType<MatchLevel> {\n constructor() {\n super(\"tusk.drift.core.v1.MatchLevel\", [\n { no: 1, name: \"match_type\", kind: \"enum\", T: () => [\"tusk.drift.core.v1.MatchType\", MatchType, \"MATCH_TYPE_\"] },\n { no: 2, name: \"match_scope\", kind: \"enum\", T: () => [\"tusk.drift.core.v1.MatchScope\", MatchScope, \"MATCH_SCOPE_\"] },\n { no: 3, name: \"match_description\", kind: \"scalar\", T: 9 /*ScalarType.STRING*/ },\n { no: 4, name: \"similarity_score\", kind: \"scalar\", opt: true, T: 2 /*ScalarType.FLOAT*/ },\n { no: 5, name: \"top_candidates\", kind: \"message\", repeat: 2 /*RepeatType.UNPACKED*/, T: () => SimilarityCandidate }\n ]);\n }\n create(value?: PartialMessage<MatchLevel>): MatchLevel {\n const message = globalThis.Object.create((this.messagePrototype!));\n message.matchType = 0;\n message.matchScope = 0;\n message.matchDescription = \"\";\n message.topCandidates = [];\n if (value !== undefined)\n reflectionMergePartial<MatchLevel>(this, message, value);\n return message;\n }\n internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MatchLevel): MatchLevel {\n let message = target ?? this.create(), end = reader.pos + length;\n while (reader.pos < end) {\n let [fieldNo, wireType] = reader.tag();\n switch (fieldNo) {\n case /* tusk.drift.core.v1.MatchType match_type */ 1:\n message.matchType = reader.int32();\n break;\n case /* tusk.drift.core.v1.MatchScope match_scope */ 2:\n message.matchScope = reader.int32();\n break;\n case /* string match_description */ 3:\n message.matchDescription = reader.string();\n break;\n case /* optional float similarity_score */ 4:\n message.similarityScore = reader.float();\n break;\n case /* repeated tusk.drift.core.v1.SimilarityCandidate top_candidates */ 5:\n message.topCandidates.push(SimilarityCandidate.internalBinaryRead(reader, reader.uint32(), options));\n break;\n default:\n let u = options.readUnknownField;\n if (u === \"throw\")\n throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);\n let d = reader.skip(wireType);\n if (u !== false)\n (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);\n }\n }\n return message;\n }\n internalBinaryWrite(message: MatchLevel, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {\n /* tusk.drift.core.v1.MatchType match_type = 1; */\n if (message.matchType !== 0)\n writer.tag(1, WireType.Varint).int32(message.matchType);\n /* tusk.drift.core.v1.MatchScope match_scope = 2; */\n if (message.matchScope !== 0)\n writer.tag(2, WireType.Varint).int32(message.matchScope);\n /* string match_description = 3; */\n if (message.matchDescription !== \"\")\n writer.tag(3, WireType.LengthDelimited).string(message.matchDescription);\n /* optional float similarity_score = 4; */\n if (message.similarityScore !== undefined)\n writer.tag(4, WireType.Bit32).float(message.similarityScore);\n /* repeated tusk.drift.core.v1.SimilarityCandidate top_candidates = 5; */\n for (let i = 0; i < message.topCandidates.length; i++)\n SimilarityCandidate.internalBinaryWrite(message.topCandidates[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();\n let u = options.writeUnknownFields;\n if (u !== false)\n (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);\n return writer;\n }\n}\n/**\n * @generated MessageType for protobuf message tusk.drift.core.v1.MatchLevel\n */\nexport const MatchLevel = new MatchLevel$Type();\n"],"mappings":"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"}
|