@use-tusk/drift-schemas 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/backend/span_export_service.cjs +2 -2
  2. package/dist/backend/span_export_service.client.cjs +2 -2
  3. package/dist/backend/span_export_service.client.d.cts +6 -6
  4. package/dist/backend/span_export_service.client.d.ts +2 -2
  5. package/dist/backend/span_export_service.client.js +2 -2
  6. package/dist/backend/span_export_service.d.cts +2 -2
  7. package/dist/backend/span_export_service.d.ts +2 -2
  8. package/dist/backend/span_export_service.js +2 -2
  9. package/dist/backend/test_run_service.cjs +2 -6
  10. package/dist/backend/test_run_service.client.cjs +2 -2
  11. package/dist/backend/test_run_service.client.d.cts +6 -6
  12. package/dist/backend/test_run_service.client.d.ts +6 -6
  13. package/dist/backend/test_run_service.client.js +2 -2
  14. package/dist/backend/test_run_service.d.cts +3 -3
  15. package/dist/backend/test_run_service.d.ts +3 -3
  16. package/dist/backend/test_run_service.js +3 -3
  17. package/dist/{communication-CAZsD8fT.d.cts → communication-BFPjmCoM.d.cts} +8 -2
  18. package/dist/communication-BFPjmCoM.d.cts.map +1 -0
  19. package/dist/{communication-BXVwzV4j.cjs → communication-BGGDex5L.cjs} +12 -2
  20. package/dist/communication-BGGDex5L.cjs.map +1 -0
  21. package/dist/{communication-BY2KZhrg.js → communication-CVqe2frO.js} +12 -2
  22. package/dist/communication-CVqe2frO.js.map +1 -0
  23. package/dist/{communication-Dgb6EIjz.d.ts → communication-DOwthqYR.d.ts} +8 -2
  24. package/dist/communication-DOwthqYR.d.ts.map +1 -0
  25. package/dist/core/communication.cjs +2 -2
  26. package/dist/core/communication.client.cjs +2 -2
  27. package/dist/core/communication.client.d.cts +6 -6
  28. package/dist/core/communication.client.d.ts +6 -6
  29. package/dist/core/communication.client.js +2 -2
  30. package/dist/core/communication.d.cts +2 -2
  31. package/dist/core/communication.d.ts +2 -2
  32. package/dist/core/communication.js +2 -2
  33. package/dist/core/span.cjs +5 -1
  34. package/dist/core/span.d.cts +2 -2
  35. package/dist/core/span.d.ts +2 -2
  36. package/dist/core/span.js +2 -2
  37. package/dist/{span-CsBrzhI_.js → span-CXrr1reB.js} +209 -2
  38. package/dist/span-CXrr1reB.js.map +1 -0
  39. package/dist/{span-CqMO2cJg.d.cts → span-DpNbEo1N.d.cts} +120 -2
  40. package/dist/span-DpNbEo1N.d.cts.map +1 -0
  41. package/dist/{span-BTPaKLyl.cjs → span-P97ehIM2.cjs} +232 -1
  42. package/dist/span-P97ehIM2.cjs.map +1 -0
  43. package/dist/{span-BumZb1lr.d.ts → span-siIBLWdM.d.ts} +120 -2
  44. package/dist/span-siIBLWdM.d.ts.map +1 -0
  45. package/dist/{span_export_service-ex553dQx.cjs → span_export_service-BU4IsArQ.cjs} +2 -2
  46. package/dist/{span_export_service-ex553dQx.cjs.map → span_export_service-BU4IsArQ.cjs.map} +1 -1
  47. package/dist/{span_export_service-BmXbIsbQ.d.ts → span_export_service-C2Dil07L.d.ts} +2 -2
  48. package/dist/{span_export_service-BmXbIsbQ.d.ts.map → span_export_service-C2Dil07L.d.ts.map} +1 -1
  49. package/dist/{span_export_service-FkYNXniW.d.cts → span_export_service-CPpgtQiB.d.cts} +2 -2
  50. package/dist/{span_export_service-FkYNXniW.d.cts.map → span_export_service-CPpgtQiB.d.cts.map} +1 -1
  51. package/dist/{span_export_service-CmkFvTqD.js → span_export_service-RmRqNxn1.js} +2 -2
  52. package/dist/{span_export_service-CmkFvTqD.js.map → span_export_service-RmRqNxn1.js.map} +1 -1
  53. package/dist/{test_run_service-Oc0tJagz.cjs → test_run_service-BT4RRjyh.cjs} +5 -232
  54. package/dist/test_run_service-BT4RRjyh.cjs.map +1 -0
  55. package/dist/{test_run_service-BweZLml7.js → test_run_service-CJF5wiWX.js} +3 -206
  56. package/dist/test_run_service-CJF5wiWX.js.map +1 -0
  57. package/dist/{test_run_service-CU_nzUMl.d.ts → test_run_service-DflLBmNV.d.cts} +4 -114
  58. package/dist/test_run_service-DflLBmNV.d.cts.map +1 -0
  59. package/dist/{test_run_service-DNX-UKcH.d.cts → test_run_service-IQcVrvyC.d.ts} +4 -114
  60. package/dist/test_run_service-IQcVrvyC.d.ts.map +1 -0
  61. package/package.json +1 -1
  62. package/dist/communication-BXVwzV4j.cjs.map +0 -1
  63. package/dist/communication-BY2KZhrg.js.map +0 -1
  64. package/dist/communication-CAZsD8fT.d.cts.map +0 -1
  65. package/dist/communication-Dgb6EIjz.d.ts.map +0 -1
  66. package/dist/span-BTPaKLyl.cjs.map +0 -1
  67. package/dist/span-BumZb1lr.d.ts.map +0 -1
  68. package/dist/span-CqMO2cJg.d.cts.map +0 -1
  69. package/dist/span-CsBrzhI_.js.map +0 -1
  70. package/dist/test_run_service-BweZLml7.js.map +0 -1
  71. package/dist/test_run_service-CU_nzUMl.d.ts.map +0 -1
  72. package/dist/test_run_service-DNX-UKcH.d.cts.map +0 -1
  73. package/dist/test_run_service-Oc0tJagz.cjs.map +0 -1
@@ -150,6 +150,62 @@ let StatusCode = /* @__PURE__ */ function(StatusCode$1) {
150
150
  StatusCode$1[StatusCode$1["ERROR"] = 2] = "ERROR";
151
151
  return StatusCode$1;
152
152
  }({});
153
+ /**
154
+ * Match scope - where the match was found
155
+ *
156
+ * @generated from protobuf enum tusk.drift.core.v1.MatchScope
157
+ */
158
+ let MatchScope = /* @__PURE__ */ function(MatchScope$1) {
159
+ /**
160
+ * @generated from protobuf enum value: MATCH_SCOPE_UNSPECIFIED = 0;
161
+ */
162
+ MatchScope$1[MatchScope$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
163
+ /**
164
+ * @generated from protobuf enum value: MATCH_SCOPE_TRACE = 1;
165
+ */
166
+ MatchScope$1[MatchScope$1["TRACE"] = 1] = "TRACE";
167
+ /**
168
+ * @generated from protobuf enum value: MATCH_SCOPE_GLOBAL = 2;
169
+ */
170
+ MatchScope$1[MatchScope$1["GLOBAL"] = 2] = "GLOBAL";
171
+ return MatchScope$1;
172
+ }({});
173
+ /**
174
+ * Match type - how the match was found
175
+ *
176
+ * @generated from protobuf enum tusk.drift.core.v1.MatchType
177
+ */
178
+ let MatchType = /* @__PURE__ */ function(MatchType$1) {
179
+ /**
180
+ * @generated from protobuf enum value: MATCH_TYPE_UNSPECIFIED = 0;
181
+ */
182
+ MatchType$1[MatchType$1["UNSPECIFIED"] = 0] = "UNSPECIFIED";
183
+ /**
184
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH = 1;
185
+ */
186
+ MatchType$1[MatchType$1["INPUT_VALUE_HASH"] = 1] = "INPUT_VALUE_HASH";
187
+ /**
188
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_VALUE_HASH_REDUCED_SCHEMA = 2;
189
+ */
190
+ MatchType$1[MatchType$1["INPUT_VALUE_HASH_REDUCED_SCHEMA"] = 2] = "INPUT_VALUE_HASH_REDUCED_SCHEMA";
191
+ /**
192
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH = 3;
193
+ */
194
+ MatchType$1[MatchType$1["INPUT_SCHEMA_HASH"] = 3] = "INPUT_SCHEMA_HASH";
195
+ /**
196
+ * @generated from protobuf enum value: MATCH_TYPE_INPUT_SCHEMA_HASH_REDUCED_SCHEMA = 4;
197
+ */
198
+ MatchType$1[MatchType$1["INPUT_SCHEMA_HASH_REDUCED_SCHEMA"] = 4] = "INPUT_SCHEMA_HASH_REDUCED_SCHEMA";
199
+ /**
200
+ * @generated from protobuf enum value: MATCH_TYPE_FUZZY = 5;
201
+ */
202
+ MatchType$1[MatchType$1["FUZZY"] = 5] = "FUZZY";
203
+ /**
204
+ * @generated from protobuf enum value: MATCH_TYPE_FALLBACK = 6;
205
+ */
206
+ MatchType$1[MatchType$1["FALLBACK"] = 6] = "FALLBACK";
207
+ return MatchType$1;
208
+ }({});
153
209
  var Span$Type = class extends MessageType {
154
210
  constructor() {
155
211
  super("tusk.drift.core.v1.Span", [
@@ -796,7 +852,158 @@ var Trace$Type = class extends MessageType {
796
852
  * @generated MessageType for protobuf message tusk.drift.core.v1.Trace
797
853
  */
798
854
  const Trace = new Trace$Type();
855
+ var SimilarityCandidate$Type = class extends MessageType {
856
+ constructor() {
857
+ super("tusk.drift.core.v1.SimilarityCandidate", [{
858
+ no: 1,
859
+ name: "span_id",
860
+ kind: "scalar",
861
+ T: 9
862
+ }, {
863
+ no: 2,
864
+ name: "score",
865
+ kind: "scalar",
866
+ T: 2
867
+ }]);
868
+ }
869
+ create(value) {
870
+ const message = globalThis.Object.create(this.messagePrototype);
871
+ message.spanId = "";
872
+ message.score = 0;
873
+ if (value !== void 0) reflectionMergePartial(this, message, value);
874
+ return message;
875
+ }
876
+ internalBinaryRead(reader, length, options, target) {
877
+ let message = target ?? this.create(), end = reader.pos + length;
878
+ while (reader.pos < end) {
879
+ let [fieldNo, wireType] = reader.tag();
880
+ switch (fieldNo) {
881
+ case 1:
882
+ message.spanId = reader.string();
883
+ break;
884
+ case 2:
885
+ message.score = reader.float();
886
+ break;
887
+ default:
888
+ let u = options.readUnknownField;
889
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
890
+ let d = reader.skip(wireType);
891
+ if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
892
+ }
893
+ }
894
+ return message;
895
+ }
896
+ internalBinaryWrite(message, writer, options) {
897
+ if (message.spanId !== "") writer.tag(1, WireType.LengthDelimited).string(message.spanId);
898
+ if (message.score !== 0) writer.tag(2, WireType.Bit32).float(message.score);
899
+ let u = options.writeUnknownFields;
900
+ if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
901
+ return writer;
902
+ }
903
+ };
904
+ /**
905
+ * @generated MessageType for protobuf message tusk.drift.core.v1.SimilarityCandidate
906
+ */
907
+ const SimilarityCandidate = new SimilarityCandidate$Type();
908
+ var MatchLevel$Type = class extends MessageType {
909
+ constructor() {
910
+ super("tusk.drift.core.v1.MatchLevel", [
911
+ {
912
+ no: 1,
913
+ name: "match_type",
914
+ kind: "enum",
915
+ T: () => [
916
+ "tusk.drift.core.v1.MatchType",
917
+ MatchType,
918
+ "MATCH_TYPE_"
919
+ ]
920
+ },
921
+ {
922
+ no: 2,
923
+ name: "match_scope",
924
+ kind: "enum",
925
+ T: () => [
926
+ "tusk.drift.core.v1.MatchScope",
927
+ MatchScope,
928
+ "MATCH_SCOPE_"
929
+ ]
930
+ },
931
+ {
932
+ no: 3,
933
+ name: "match_description",
934
+ kind: "scalar",
935
+ T: 9
936
+ },
937
+ {
938
+ no: 4,
939
+ name: "similarity_score",
940
+ kind: "scalar",
941
+ opt: true,
942
+ T: 2
943
+ },
944
+ {
945
+ no: 5,
946
+ name: "top_candidates",
947
+ kind: "message",
948
+ repeat: 2,
949
+ T: () => SimilarityCandidate
950
+ }
951
+ ]);
952
+ }
953
+ create(value) {
954
+ const message = globalThis.Object.create(this.messagePrototype);
955
+ message.matchType = 0;
956
+ message.matchScope = 0;
957
+ message.matchDescription = "";
958
+ message.topCandidates = [];
959
+ if (value !== void 0) reflectionMergePartial(this, message, value);
960
+ return message;
961
+ }
962
+ internalBinaryRead(reader, length, options, target) {
963
+ let message = target ?? this.create(), end = reader.pos + length;
964
+ while (reader.pos < end) {
965
+ let [fieldNo, wireType] = reader.tag();
966
+ switch (fieldNo) {
967
+ case 1:
968
+ message.matchType = reader.int32();
969
+ break;
970
+ case 2:
971
+ message.matchScope = reader.int32();
972
+ break;
973
+ case 3:
974
+ message.matchDescription = reader.string();
975
+ break;
976
+ case 4:
977
+ message.similarityScore = reader.float();
978
+ break;
979
+ case 5:
980
+ message.topCandidates.push(SimilarityCandidate.internalBinaryRead(reader, reader.uint32(), options));
981
+ break;
982
+ default:
983
+ let u = options.readUnknownField;
984
+ if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
985
+ let d = reader.skip(wireType);
986
+ if (u !== false) (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
987
+ }
988
+ }
989
+ return message;
990
+ }
991
+ internalBinaryWrite(message, writer, options) {
992
+ if (message.matchType !== 0) writer.tag(1, WireType.Varint).int32(message.matchType);
993
+ if (message.matchScope !== 0) writer.tag(2, WireType.Varint).int32(message.matchScope);
994
+ if (message.matchDescription !== "") writer.tag(3, WireType.LengthDelimited).string(message.matchDescription);
995
+ if (message.similarityScore !== void 0) writer.tag(4, WireType.Bit32).float(message.similarityScore);
996
+ for (let i = 0; i < message.topCandidates.length; i++) SimilarityCandidate.internalBinaryWrite(message.topCandidates[i], writer.tag(5, WireType.LengthDelimited).fork(), options).join();
997
+ let u = options.writeUnknownFields;
998
+ if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
999
+ return writer;
1000
+ }
1001
+ };
1002
+ /**
1003
+ * @generated MessageType for protobuf message tusk.drift.core.v1.MatchLevel
1004
+ */
1005
+ const MatchLevel = new MatchLevel$Type();
799
1006
 
800
1007
  //#endregion
801
- export { PackageType, Span, SpanEvent, SpanKind, SpanLink, SpanStatus, StatusCode, Trace };
802
- //# sourceMappingURL=span-CsBrzhI_.js.map
1008
+ export { MatchLevel, MatchScope, MatchType, PackageType, SimilarityCandidate, Span, SpanEvent, SpanKind, SpanLink, SpanStatus, StatusCode, Trace };
1009
+ //# sourceMappingURL=span-CXrr1reB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span-CXrr1reB.js","names":["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":";;;;;;;;;;;;;AAoRA,IAAY,sDAAL;;;;AAIH;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;;;AAOJ,IAAY,gDAAL;;;;AAIH;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAMA;;;;;;AAKJ,IAAY,oDAAL;;;;;;AAMH;;;;;;AAMA;;;;;;AAMA;;;;;;;;AAOJ,IAAY,oDAAL;;;;AAIH;;;;AAIA;;;;AAIA;;;;;;;;AAOJ,IAAY,kDAAL;;;;AAIH;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;AAGJ,IAAM,YAAN,cAAwB,YAAkB;CACtC,cAAc;AACV,QAAM,2BAA2B;GAC7B;IAAE,IAAI;IAAG,MAAM;IAAY,MAAM;IAAU,GAAG;IAAyB;GACvE;IAAE,IAAI;IAAG,MAAM;IAAW,MAAM;IAAU,GAAG;IAAyB;GACtE;IAAE,IAAI;IAAG,MAAM;IAAkB,MAAM;IAAU,GAAG;IAAyB;GAC7E;IAAE,IAAI;IAAG,MAAM;IAAQ,MAAM;IAAU,GAAG;IAAyB;GACnE;IAAE,IAAI;IAAG,MAAM;IAAgB,MAAM;IAAU,GAAG;IAAyB;GAC3E;IAAE,IAAI;IAAG,MAAM;IAAwB,MAAM;IAAU,GAAG;IAAyB;GACnF;IAAE,IAAI;IAAG,MAAM;IAAkB,MAAM;IAAU,GAAG;IAAyB;GAC7E;IAAE,IAAI;IAAG,MAAM;IAAgB,MAAM;IAAQ,SAAS;KAAC;KAAkC;KAAa;KAAgB;IAAE;GACxH;IAAE,IAAI;IAAG,MAAM;IAAe,MAAM;IAAW,SAAS;IAAQ;GAChE;IAAE,IAAI;IAAI,MAAM;IAAgB,MAAM;IAAW,SAAS;IAAQ;GAClE;IAAE,IAAI;IAAI,MAAM;IAAgB,MAAM;IAAW,SAAS;IAAY;GACtE;IAAE,IAAI;IAAI,MAAM;IAAiB,MAAM;IAAW,SAAS;IAAY;GACvE;IAAE,IAAI;IAAI,MAAM;IAAqB,MAAM;IAAU,GAAG;IAAyB;GACjF;IAAE,IAAI;IAAI,MAAM;IAAsB,MAAM;IAAU,GAAG;IAAyB;GAClF;IAAE,IAAI;IAAI,MAAM;IAAoB,MAAM;IAAU,GAAG;IAAyB;GAChF;IAAE,IAAI;IAAI,MAAM;IAAqB,MAAM;IAAU,GAAG;IAAyB;GACjF;IAAE,IAAI;IAAI,MAAM;IAAQ,MAAM;IAAQ,SAAS;KAAC;KAA+B;KAAU;KAAa;IAAE;GACxG;IAAE,IAAI;IAAI,MAAM;IAAU,MAAM;IAAW,SAAS;IAAY;GAChE;IAAE,IAAI;IAAI,MAAM;IAAoB,MAAM;IAAU,GAAG;IAAuB;GAC9E;IAAE,IAAI;IAAI,MAAM;IAAa,MAAM;IAAW,SAAS;IAAW;GAClE;IAAE,IAAI;IAAI,MAAM;IAAY,MAAM;IAAW,SAAS;IAAU;GAChE;IAAE,IAAI;IAAI,MAAM;IAAgB,MAAM;IAAU,GAAG;IAAuB;GAC1E;IAAE,IAAI;IAAI,MAAM;IAAY,MAAM;IAAW,SAAS;IAAQ;GAC9D;IAAE,IAAI;IAAI,MAAM;IAAe,MAAM;IAAU,KAAK;IAAM,GAAG;IAAyB;GACzF,CAAC;;CAEN,OAAO,OAAoC;EACvC,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,UAAU;AAClB,UAAQ,SAAS;AACjB,UAAQ,eAAe;AACvB,UAAQ,OAAO;AACf,UAAQ,cAAc;AACtB,UAAQ,sBAAsB;AAC9B,UAAQ,gBAAgB;AACxB,UAAQ,cAAc;AACtB,UAAQ,kBAAkB;AAC1B,UAAQ,mBAAmB;AAC3B,UAAQ,iBAAiB;AACzB,UAAQ,kBAAkB;AAC1B,UAAQ,OAAO;AACf,UAAQ,gBAAgB;AACxB,UAAQ,aAAa;AACrB,MAAI,UAAU,OACV,wBAA6B,MAAM,SAAS,MAAM;AACtD,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAAqB;EACvG,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAA2B;AACvB,aAAQ,UAAU,OAAO,QAAQ;AACjC;IACJ,KAA0B;AACtB,aAAQ,SAAS,OAAO,QAAQ;AAChC;IACJ,KAAiC;AAC7B,aAAQ,eAAe,OAAO,QAAQ;AACtC;IACJ,KAAuB;AACnB,aAAQ,OAAO,OAAO,QAAQ;AAC9B;IACJ,KAA+B;AAC3B,aAAQ,cAAc,OAAO,QAAQ;AACrC;IACJ,KAAuC;AACnC,aAAQ,sBAAsB,OAAO,QAAQ;AAC7C;IACJ,KAAiC;AAC7B,aAAQ,gBAAgB,OAAO,QAAQ;AACvC;IACJ,KAAuD;AACnD,aAAQ,cAAc,OAAO,OAAO;AACpC;IACJ,KAA8C;AAC1C,aAAQ,aAAa,OAAO,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,WAAW;AACpG;IACJ,KAA+C;AAC3C,aAAQ,cAAc,OAAO,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,YAAY;AACtG;IACJ,KAAsD;AAClD,aAAQ,cAAc,WAAW,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,YAAY;AAC1G;IACJ,KAAuD;AACnD,aAAQ,eAAe,WAAW,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,aAAa;AAC5G;IACJ,KAAoC;AAChC,aAAQ,kBAAkB,OAAO,QAAQ;AACzC;IACJ,KAAqC;AACjC,aAAQ,mBAAmB,OAAO,QAAQ;AAC1C;IACJ,KAAmC;AAC/B,aAAQ,iBAAiB,OAAO,QAAQ;AACxC;IACJ,KAAoC;AAChC,aAAQ,kBAAkB,OAAO,QAAQ;AACzC;IACJ,KAA4C;AACxC,aAAQ,OAAO,OAAO,OAAO;AAC7B;IACJ,KAAgD;AAC5C,aAAQ,SAAS,WAAW,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,OAAO;AAChG;IACJ,KAAiC;AAC7B,aAAQ,gBAAgB,OAAO,MAAM;AACrC;IACJ,KAA+C;AAC3C,aAAQ,YAAY,UAAU,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,UAAU;AACrG;IACJ,KAA6C;AACzC,aAAQ,WAAW,SAAS,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS;AAClG;IACJ,KAA6B;AACzB,aAAQ,aAAa,OAAO,MAAM;AAClC;IACJ,KAA2C;AACvC,aAAQ,WAAW,OAAO,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,SAAS;AAChG;IACJ,KAAuC;AACnC,aAAQ,cAAc,OAAO,QAAQ;AACrC;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,oBAAoB,SAAe,QAAuB,SAA4C;AAElG,MAAI,QAAQ,YAAY,GACpB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,QAAQ;AAEnE,MAAI,QAAQ,WAAW,GACnB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,OAAO;AAElE,MAAI,QAAQ,iBAAiB,GACzB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,aAAa;AAExE,MAAI,QAAQ,SAAS,GACjB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,KAAK;AAEhE,MAAI,QAAQ,gBAAgB,GACxB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,YAAY;AAEvE,MAAI,QAAQ,wBAAwB,GAChC,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,oBAAoB;AAE/E,MAAI,QAAQ,kBAAkB,GAC1B,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,cAAc;AAEzE,MAAI,QAAQ,gBAAgB,EACxB,QAAO,IAAI,GAAG,SAAS,OAAO,CAAC,MAAM,QAAQ,YAAY;AAE7D,MAAI,QAAQ,WACR,QAAO,oBAAoB,QAAQ,YAAY,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAElH,MAAI,QAAQ,YACR,QAAO,oBAAoB,QAAQ,aAAa,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEpH,MAAI,QAAQ,YACR,YAAW,oBAAoB,QAAQ,aAAa,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAExH,MAAI,QAAQ,aACR,YAAW,oBAAoB,QAAQ,cAAc,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEzH,MAAI,QAAQ,oBAAoB,GAC5B,QAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,OAAO,QAAQ,gBAAgB;AAE5E,MAAI,QAAQ,qBAAqB,GAC7B,QAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,OAAO,QAAQ,iBAAiB;AAE7E,MAAI,QAAQ,mBAAmB,GAC3B,QAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,OAAO,QAAQ,eAAe;AAE3E,MAAI,QAAQ,oBAAoB,GAC5B,QAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,OAAO,QAAQ,gBAAgB;AAE5E,MAAI,QAAQ,SAAS,EACjB,QAAO,IAAI,IAAI,SAAS,OAAO,CAAC,MAAM,QAAQ,KAAK;AAEvD,MAAI,QAAQ,OACR,YAAW,oBAAoB,QAAQ,QAAQ,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEnH,MAAI,QAAQ,kBAAkB,MAC1B,QAAO,IAAI,IAAI,SAAS,OAAO,CAAC,KAAK,QAAQ,cAAc;AAE/D,MAAI,QAAQ,UACR,WAAU,oBAAoB,QAAQ,WAAW,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAErH,MAAI,QAAQ,SACR,UAAS,oBAAoB,QAAQ,UAAU,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEnH,MAAI,QAAQ,eAAe,MACvB,QAAO,IAAI,IAAI,SAAS,OAAO,CAAC,KAAK,QAAQ,WAAW;AAE5D,MAAI,QAAQ,SACR,QAAO,oBAAoB,QAAQ,UAAU,OAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEjH,MAAI,QAAQ,gBAAgB,OACxB,QAAO,IAAI,IAAI,SAAS,gBAAgB,CAAC,OAAO,QAAQ,YAAY;EACxE,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,OAAO,IAAI,WAAW;AAEnC,IAAM,kBAAN,cAA8B,YAAwB;CAClD,cAAc;AACV,QAAM,iCAAiC,CACnC;GAAE,IAAI;GAAG,MAAM;GAAQ,MAAM;GAAQ,SAAS;IAAC;IAAiC;IAAY;IAAe;GAAE,EAC7G;GAAE,IAAI;GAAG,MAAM;GAAW,MAAM;GAAU,GAAG;GAAyB,CACzE,CAAC;;CAEN,OAAO,OAAgD;EACnD,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,OAAO;AACf,UAAQ,UAAU;AAClB,MAAI,UAAU,OACV,wBAAmC,MAAM,SAAS,MAAM;AAC5D,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAAiC;EACnH,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAA8C;AAC1C,aAAQ,OAAO,OAAO,OAAO;AAC7B;IACJ,KAA0B;AACtB,aAAQ,UAAU,OAAO,QAAQ;AACjC;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,oBAAoB,SAAqB,QAAuB,SAA4C;AAExG,MAAI,QAAQ,SAAS,EACjB,QAAO,IAAI,GAAG,SAAS,OAAO,CAAC,MAAM,QAAQ,KAAK;AAEtD,MAAI,QAAQ,YAAY,GACpB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,QAAQ;EACnE,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,aAAa,IAAI,iBAAiB;AAE/C,IAAM,iBAAN,cAA6B,YAAuB;CAChD,cAAc;AACV,QAAM,gCAAgC;GAClC;IAAE,IAAI;IAAG,MAAM;IAAQ,MAAM;IAAU,GAAG;IAAyB;GACnE;IAAE,IAAI;IAAG,MAAM;IAAa,MAAM;IAAW,SAAS;IAAW;GACjE;IAAE,IAAI;IAAG,MAAM;IAAc,MAAM;IAAO,GAAG;IAAyB,GAAG;KAAE,MAAM;KAAW,SAAS;KAAO;IAAE;GACjH,CAAC;;CAEN,OAAO,OAA8C;EACjD,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,OAAO;AACf,UAAQ,aAAa,EAAE;AACvB,MAAI,UAAU,OACV,wBAAkC,MAAM,SAAS,MAAM;AAC3D,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAA+B;EACjH,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAAuB;AACnB,aAAQ,OAAO,OAAO,QAAQ;AAC9B;IACJ,KAA+C;AAC3C,aAAQ,YAAY,UAAU,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,UAAU;AACrG;IACJ,KAAyD;AACrD,UAAK,eAAe,QAAQ,YAAY,QAAQ,QAAQ;AACxD;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,AAAQ,eAAe,KAA8B,QAAuB,SAAkC;EAC1G,IAAI,MAAM,OAAO,QAAQ,EAAE,MAAM,OAAO,MAAM,KAAKA,KAAgDC;AACnG,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAAK;AACD,WAAM,OAAO,QAAQ;AACrB;IACJ,KAAK;AACD,WAAM,MAAM,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,QAAQ;AAChE;IACJ,QAAS,OAAM,IAAI,WAAW,MAAM,sEAAsE;;;AAGlH,MAAI,OAAO,MAAM,OAAO,MAAM,QAAQ;;CAE1C,oBAAoB,SAAoB,QAAuB,SAA4C;AAEvG,MAAI,QAAQ,SAAS,GACjB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,KAAK;AAEhE,MAAI,QAAQ,UACR,WAAU,oBAAoB,QAAQ,WAAW,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEpH,OAAK,IAAI,KAAK,WAAW,OAAO,KAAK,QAAQ,WAAW,EAAE;AACtD,UAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACzF,UAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM;AAC9C,SAAM,oBAAoB,QAAQ,WAAW,IAAI,QAAQ,QAAQ;AACjE,UAAO,MAAM,CAAC,MAAM;;EAExB,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,YAAY,IAAI,gBAAgB;AAE7C,IAAM,gBAAN,cAA4B,YAAsB;CAC9C,cAAc;AACV,QAAM,+BAA+B;GACjC;IAAE,IAAI;IAAG,MAAM;IAAY,MAAM;IAAU,GAAG;IAAyB;GACvE;IAAE,IAAI;IAAG,MAAM;IAAW,MAAM;IAAU,GAAG;IAAyB;GACtE;IAAE,IAAI;IAAG,MAAM;IAAc,MAAM;IAAO,GAAG;IAAyB,GAAG;KAAE,MAAM;KAAW,SAAS;KAAO;IAAE;GACjH,CAAC;;CAEN,OAAO,OAA4C;EAC/C,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,UAAU;AAClB,UAAQ,SAAS;AACjB,UAAQ,aAAa,EAAE;AACvB,MAAI,UAAU,OACV,wBAAiC,MAAM,SAAS,MAAM;AAC1D,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAA6B;EAC/G,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAA2B;AACvB,aAAQ,UAAU,OAAO,QAAQ;AACjC;IACJ,KAA0B;AACtB,aAAQ,SAAS,OAAO,QAAQ;AAChC;IACJ,KAAyD;AACrD,UAAK,eAAe,QAAQ,YAAY,QAAQ,QAAQ;AACxD;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,AAAQ,eAAe,KAA6B,QAAuB,SAAkC;EACzG,IAAI,MAAM,OAAO,QAAQ,EAAE,MAAM,OAAO,MAAM,KAAKC,KAA+CC;AAClG,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAAK;AACD,WAAM,OAAO,QAAQ;AACrB;IACJ,KAAK;AACD,WAAM,MAAM,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,QAAQ;AAChE;IACJ,QAAS,OAAM,IAAI,WAAW,MAAM,qEAAqE;;;AAGjH,MAAI,OAAO,MAAM,OAAO,MAAM,QAAQ;;CAE1C,oBAAoB,SAAmB,QAAuB,SAA4C;AAEtG,MAAI,QAAQ,YAAY,GACpB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,QAAQ;AAEnE,MAAI,QAAQ,WAAW,GACnB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,OAAO;AAElE,OAAK,IAAI,KAAK,WAAW,OAAO,KAAK,QAAQ,WAAW,EAAE;AACtD,UAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,EAAE;AACzF,UAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM;AAC9C,SAAM,oBAAoB,QAAQ,WAAW,IAAI,QAAQ,QAAQ;AACjE,UAAO,MAAM,CAAC,MAAM;;EAExB,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,WAAW,IAAI,eAAe;AAE3C,IAAM,aAAN,cAAyB,YAAmB;CACxC,cAAc;AACV,QAAM,4BAA4B;GAC9B;IAAE,IAAI;IAAG,MAAM;IAAY,MAAM;IAAU,GAAG;IAAyB;GACvE;IAAE,IAAI;IAAG,MAAM;IAAS,MAAM;IAAW,QAAQ;IAA2B,SAAS;IAAM;GAC3F;IAAE,IAAI;IAAG,MAAM;IAAc,MAAM;IAAW,SAAS;IAAW;GAClE;IAAE,IAAI;IAAG,MAAM;IAAgB,MAAM;IAAW,SAAS;IAAW;GACpE;IAAE,IAAI;IAAG,MAAM;IAAY,MAAM;IAAO,GAAG;IAAyB,GAAG;KAAE,MAAM;KAAU,GAAG;KAAyB;IAAE;GAC1H,CAAC;;CAEN,OAAO,OAAsC;EACzC,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,UAAU;AAClB,UAAQ,QAAQ,EAAE;AAClB,UAAQ,WAAW,EAAE;AACrB,MAAI,UAAU,OACV,wBAA8B,MAAM,SAAS,MAAM;AACvD,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAAuB;EACzG,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAA2B;AACvB,aAAQ,UAAU,OAAO,QAAQ;AACjC;IACJ,KAAkD;AAC9C,aAAQ,MAAM,KAAK,KAAK,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,QAAQ,CAAC;AAC7E;IACJ,KAAgD;AAC5C,aAAQ,YAAY,UAAU,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,UAAU;AACrG;IACJ,KAAkD;AAC9C,aAAQ,cAAc,UAAU,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,SAAS,QAAQ,YAAY;AACzG;IACJ,KAAwC;AACpC,UAAK,eAAe,QAAQ,UAAU,QAAQ,QAAQ;AACtD;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,AAAQ,eAAe,KAAwB,QAAuB,SAAkC;EACpG,IAAI,MAAM,OAAO,QAAQ,EAAE,MAAM,OAAO,MAAM,KAAKC,KAA0CC;AAC7F,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAAK;AACD,WAAM,OAAO,QAAQ;AACrB;IACJ,KAAK;AACD,WAAM,OAAO,QAAQ;AACrB;IACJ,QAAS,OAAM,IAAI,WAAW,MAAM,gEAAgE;;;AAG5G,MAAI,OAAO,MAAM,OAAO;;CAE5B,oBAAoB,SAAgB,QAAuB,SAA4C;AAEnG,MAAI,QAAQ,YAAY,GACpB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,QAAQ;AAEnE,OAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,MAAM,QAAQ,IACtC,MAAK,oBAAoB,QAAQ,MAAM,IAAI,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAE9G,MAAI,QAAQ,UACR,WAAU,oBAAoB,QAAQ,WAAW,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEpH,MAAI,QAAQ,YACR,WAAU,oBAAoB,QAAQ,aAAa,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAEtH,OAAK,IAAI,KAAK,WAAW,OAAO,KAAK,QAAQ,SAAS,CAClD,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,CAAC,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,SAAS,GAAG,CAAC,MAAM;EACjK,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,QAAQ,IAAI,YAAY;AAErC,IAAM,2BAAN,cAAuC,YAAiC;CACpE,cAAc;AACV,QAAM,0CAA0C,CAC5C;GAAE,IAAI;GAAG,MAAM;GAAW,MAAM;GAAU,GAAG;GAAyB,EACtE;GAAE,IAAI;GAAG,MAAM;GAAS,MAAM;GAAU,GAAG;GAAwB,CACtE,CAAC;;CAEN,OAAO,OAAkE;EACrE,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,SAAS;AACjB,UAAQ,QAAQ;AAChB,MAAI,UAAU,OACV,wBAA4C,MAAM,SAAS,MAAM;AACrE,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAAmD;EACrI,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAA0B;AACtB,aAAQ,SAAS,OAAO,QAAQ;AAChC;IACJ,KAAuB;AACnB,aAAQ,QAAQ,OAAO,OAAO;AAC9B;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,oBAAoB,SAA8B,QAAuB,SAA4C;AAEjH,MAAI,QAAQ,WAAW,GACnB,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,OAAO;AAElE,MAAI,QAAQ,UAAU,EAClB,QAAO,IAAI,GAAG,SAAS,MAAM,CAAC,MAAM,QAAQ,MAAM;EACtD,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,sBAAsB,IAAI,0BAA0B;AAEjE,IAAM,kBAAN,cAA8B,YAAwB;CAClD,cAAc;AACV,QAAM,iCAAiC;GACnC;IAAE,IAAI;IAAG,MAAM;IAAc,MAAM;IAAQ,SAAS;KAAC;KAAgC;KAAW;KAAc;IAAE;GAChH;IAAE,IAAI;IAAG,MAAM;IAAe,MAAM;IAAQ,SAAS;KAAC;KAAiC;KAAY;KAAe;IAAE;GACpH;IAAE,IAAI;IAAG,MAAM;IAAqB,MAAM;IAAU,GAAG;IAAyB;GAChF;IAAE,IAAI;IAAG,MAAM;IAAoB,MAAM;IAAU,KAAK;IAAM,GAAG;IAAwB;GACzF;IAAE,IAAI;IAAG,MAAM;IAAkB,MAAM;IAAW,QAAQ;IAA2B,SAAS;IAAqB;GACtH,CAAC;;CAEN,OAAO,OAAgD;EACnD,MAAM,UAAU,WAAW,OAAO,OAAQ,KAAK,iBAAmB;AAClE,UAAQ,YAAY;AACpB,UAAQ,aAAa;AACrB,UAAQ,mBAAmB;AAC3B,UAAQ,gBAAgB,EAAE;AAC1B,MAAI,UAAU,OACV,wBAAmC,MAAM,SAAS,MAAM;AAC5D,SAAO;;CAEX,mBAAmB,QAAuB,QAAgB,SAA4B,QAAiC;EACnH,IAAI,UAAU,UAAU,KAAK,QAAQ,EAAE,MAAM,OAAO,MAAM;AAC1D,SAAO,OAAO,MAAM,KAAK;GACrB,IAAI,CAAC,SAAS,YAAY,OAAO,KAAK;AACtC,WAAQ,SAAR;IACI,KAAmD;AAC/C,aAAQ,YAAY,OAAO,OAAO;AAClC;IACJ,KAAqD;AACjD,aAAQ,aAAa,OAAO,OAAO;AACnC;IACJ,KAAoC;AAChC,aAAQ,mBAAmB,OAAO,QAAQ;AAC1C;IACJ,KAA2C;AACvC,aAAQ,kBAAkB,OAAO,OAAO;AACxC;IACJ,KAA0E;AACtE,aAAQ,cAAc,KAAK,oBAAoB,mBAAmB,QAAQ,OAAO,QAAQ,EAAE,QAAQ,CAAC;AACpG;IACJ;KACI,IAAI,IAAI,QAAQ;AAChB,SAAI,MAAM,QACN,OAAM,IAAI,WAAW,MAAM,iBAAiB,QAAQ,cAAc,SAAS,QAAQ,KAAK,WAAW;KACvG,IAAI,IAAI,OAAO,KAAK,SAAS;AAC7B,SAAI,MAAM,MACN,EAAC,MAAM,OAAO,oBAAoB,SAAS,GAAG,KAAK,UAAU,SAAS,SAAS,UAAU,EAAE;;;AAG3G,SAAO;;CAEX,oBAAoB,SAAqB,QAAuB,SAA4C;AAExG,MAAI,QAAQ,cAAc,EACtB,QAAO,IAAI,GAAG,SAAS,OAAO,CAAC,MAAM,QAAQ,UAAU;AAE3D,MAAI,QAAQ,eAAe,EACvB,QAAO,IAAI,GAAG,SAAS,OAAO,CAAC,MAAM,QAAQ,WAAW;AAE5D,MAAI,QAAQ,qBAAqB,GAC7B,QAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,OAAO,QAAQ,iBAAiB;AAE5E,MAAI,QAAQ,oBAAoB,OAC5B,QAAO,IAAI,GAAG,SAAS,MAAM,CAAC,MAAM,QAAQ,gBAAgB;AAEhE,OAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,cAAc,QAAQ,IAC9C,qBAAoB,oBAAoB,QAAQ,cAAc,IAAI,OAAO,IAAI,GAAG,SAAS,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;EACrI,IAAI,IAAI,QAAQ;AAChB,MAAI,MAAM,MACN,EAAC,KAAK,OAAO,oBAAoB,UAAU,GAAG,KAAK,UAAU,SAAS,OAAO;AACjF,SAAO;;;;;;AAMf,MAAa,aAAa,IAAI,iBAAiB"}
@@ -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-CqMO2cJg.d.cts.map
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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"}