@dx-do/client 5.2.35 → 5.2.37

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 (162) hide show
  1. package/README.md +37 -0
  2. package/dist/index.cjs.js +1856 -2
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +1721 -3
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/src/index.d.ts +10 -0
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/lib/model/agent/AgentSourceQuery.d.ts +2 -0
  9. package/dist/src/lib/model/agent/AgentSourceQuery.d.ts.map +1 -1
  10. package/dist/src/lib/model/alarm/alarm-enrichment-filter.d.ts +5 -0
  11. package/dist/src/lib/model/alarm/alarm-enrichment-filter.d.ts.map +1 -1
  12. package/dist/src/lib/model/alarm/alarm-enrichment.d.ts +1 -0
  13. package/dist/src/lib/model/alarm/alarm-enrichment.d.ts.map +1 -1
  14. package/dist/src/lib/model/alert/AlertResponse.d.ts +9 -0
  15. package/dist/src/lib/model/alert/AlertResponse.d.ts.map +1 -1
  16. package/dist/src/lib/model/alert/PlatformAlert.d.ts +83 -0
  17. package/dist/src/lib/model/alert/PlatformAlert.d.ts.map +1 -0
  18. package/dist/src/lib/model/apm-universe/APMUniverseResponse.d.ts +2 -0
  19. package/dist/src/lib/model/apm-universe/APMUniverseResponse.d.ts.map +1 -1
  20. package/dist/src/lib/model/channel/ChannelCreateRequest.d.ts +1 -0
  21. package/dist/src/lib/model/channel/ChannelCreateRequest.d.ts.map +1 -1
  22. package/dist/src/lib/model/channel/ChannelResponse.d.ts +3 -0
  23. package/dist/src/lib/model/channel/ChannelResponse.d.ts.map +1 -1
  24. package/dist/src/lib/model/channel/TemplatesResponse.d.ts +3 -0
  25. package/dist/src/lib/model/channel/TemplatesResponse.d.ts.map +1 -1
  26. package/dist/src/lib/model/config/DXDoConfiguration.d.ts +23 -0
  27. package/dist/src/lib/model/config/DXDoConfiguration.d.ts.map +1 -1
  28. package/dist/src/lib/model/config/DXSaaSConfiguration.d.ts +33 -1
  29. package/dist/src/lib/model/config/DXSaaSConfiguration.d.ts.map +1 -1
  30. package/dist/src/lib/model/datastore/index.d.ts +4 -0
  31. package/dist/src/lib/model/datastore/index.d.ts.map +1 -0
  32. package/dist/src/lib/model/datastore/metrics-metadata/attribute-name-specifier.d.ts +120 -0
  33. package/dist/src/lib/model/datastore/metrics-metadata/attribute-name-specifier.d.ts.map +1 -0
  34. package/dist/src/lib/model/datastore/metrics-metadata/folder-name-specifier.d.ts +41 -0
  35. package/dist/src/lib/model/datastore/metrics-metadata/folder-name-specifier.d.ts.map +1 -0
  36. package/dist/src/lib/model/datastore/metrics-metadata/index.d.ts +7 -0
  37. package/dist/src/lib/model/datastore/metrics-metadata/index.d.ts.map +1 -0
  38. package/dist/src/lib/model/datastore/metrics-metadata/query-specifier.d.ts +76 -0
  39. package/dist/src/lib/model/datastore/metrics-metadata/query-specifier.d.ts.map +1 -0
  40. package/dist/src/lib/model/datastore/metrics-metadata/query.d.ts +24 -0
  41. package/dist/src/lib/model/datastore/metrics-metadata/query.d.ts.map +1 -0
  42. package/dist/src/lib/model/datastore/metrics-metadata/response.d.ts +44 -0
  43. package/dist/src/lib/model/datastore/metrics-metadata/response.d.ts.map +1 -0
  44. package/dist/src/lib/model/datastore/metrics-metadata/source-name-specifier.d.ts +57 -0
  45. package/dist/src/lib/model/datastore/metrics-metadata/source-name-specifier.d.ts.map +1 -0
  46. package/dist/src/lib/model/datastore/nassql/filter-specs.d.ts +16 -0
  47. package/dist/src/lib/model/datastore/nassql/filter-specs.d.ts.map +1 -0
  48. package/dist/src/lib/model/datastore/nassql/index.d.ts +5 -0
  49. package/dist/src/lib/model/datastore/nassql/index.d.ts.map +1 -0
  50. package/dist/src/lib/model/datastore/nassql/operations.d.ts +462 -0
  51. package/dist/src/lib/model/datastore/nassql/operations.d.ts.map +1 -0
  52. package/dist/src/lib/model/datastore/nassql/query.d.ts +412 -0
  53. package/dist/src/lib/model/datastore/nassql/query.d.ts.map +1 -0
  54. package/dist/src/lib/model/datastore/nassql/response.d.ts +4 -0
  55. package/dist/src/lib/model/datastore/nassql/response.d.ts.map +1 -0
  56. package/dist/src/lib/model/datastore/tas/filters.d.ts +388 -0
  57. package/dist/src/lib/model/datastore/tas/filters.d.ts.map +1 -0
  58. package/dist/src/lib/model/datastore/tas/index.d.ts +4 -0
  59. package/dist/src/lib/model/datastore/tas/index.d.ts.map +1 -0
  60. package/dist/src/lib/model/datastore/tas/query.d.ts +64 -0
  61. package/dist/src/lib/model/datastore/tas/query.d.ts.map +1 -0
  62. package/dist/src/lib/model/datastore/tas/response.d.ts +151 -0
  63. package/dist/src/lib/model/datastore/tas/response.d.ts.map +1 -0
  64. package/dist/src/lib/model/dxchannel/DXChannel.d.ts +3 -0
  65. package/dist/src/lib/model/dxchannel/DXChannel.d.ts.map +1 -1
  66. package/dist/src/lib/model/managementmodule/PlatformManagementModule.d.ts +59 -0
  67. package/dist/src/lib/model/managementmodule/PlatformManagementModule.d.ts.map +1 -0
  68. package/dist/src/lib/model/metricgrouping/PlatformMetricGrouping.d.ts +95 -0
  69. package/dist/src/lib/model/metricgrouping/PlatformMetricGrouping.d.ts.map +1 -0
  70. package/dist/src/lib/model/oi/services.d.ts +6 -0
  71. package/dist/src/lib/model/oi/services.d.ts.map +1 -1
  72. package/dist/src/lib/model/postman/Postman.d.ts +2 -0
  73. package/dist/src/lib/model/postman/Postman.d.ts.map +1 -1
  74. package/dist/src/lib/model/service/service-detail.d.ts +2 -0
  75. package/dist/src/lib/model/service/service-detail.d.ts.map +1 -1
  76. package/dist/src/lib/model/service/service-search.d.ts +1 -1
  77. package/dist/src/lib/model/service/service-search.d.ts.map +1 -1
  78. package/dist/src/lib/model/tas/TAS.d.ts +3 -0
  79. package/dist/src/lib/model/tas/TAS.d.ts.map +1 -1
  80. package/dist/src/lib/model/vertex/BulkVertexPatch.d.ts +1 -0
  81. package/dist/src/lib/model/vertex/BulkVertexPatch.d.ts.map +1 -1
  82. package/dist/src/lib/services/agent.service.d.ts +17 -0
  83. package/dist/src/lib/services/agent.service.d.ts.map +1 -1
  84. package/dist/src/lib/services/alarm.service.d.ts +13 -0
  85. package/dist/src/lib/services/alarm.service.d.ts.map +1 -1
  86. package/dist/src/lib/services/alert.service.d.ts +15 -0
  87. package/dist/src/lib/services/alert.service.d.ts.map +1 -1
  88. package/dist/src/lib/services/apm-universe.service.d.ts +5 -0
  89. package/dist/src/lib/services/apm-universe.service.d.ts.map +1 -1
  90. package/dist/src/lib/services/asm.service.d.ts +2 -0
  91. package/dist/src/lib/services/asm.service.d.ts.map +1 -1
  92. package/dist/src/lib/services/attribute.service.d.ts +3 -0
  93. package/dist/src/lib/services/attribute.service.d.ts.map +1 -1
  94. package/dist/src/lib/services/authorization.service.d.ts +3 -0
  95. package/dist/src/lib/services/authorization.service.d.ts.map +1 -1
  96. package/dist/src/lib/services/axa.service.d.ts +21 -0
  97. package/dist/src/lib/services/axa.service.d.ts.map +1 -1
  98. package/dist/src/lib/services/blob.service.d.ts +3 -0
  99. package/dist/src/lib/services/blob.service.d.ts.map +1 -1
  100. package/dist/src/lib/services/channel.service.d.ts +12 -0
  101. package/dist/src/lib/services/channel.service.d.ts.map +1 -1
  102. package/dist/src/lib/services/dashboard.service.d.ts +23 -0
  103. package/dist/src/lib/services/dashboard.service.d.ts.map +1 -1
  104. package/dist/src/lib/services/datastore/datastore-metrics-metadata.service.d.ts +25 -0
  105. package/dist/src/lib/services/datastore/datastore-metrics-metadata.service.d.ts.map +1 -0
  106. package/dist/src/lib/services/datastore/datastore-nassql.service.d.ts +44 -0
  107. package/dist/src/lib/services/datastore/datastore-nassql.service.d.ts.map +1 -0
  108. package/dist/src/lib/services/datastore/datastore-tas.service.d.ts +25 -0
  109. package/dist/src/lib/services/datastore/datastore-tas.service.d.ts.map +1 -0
  110. package/dist/src/lib/services/dx-saas.service.d.ts +139 -0
  111. package/dist/src/lib/services/dx-saas.service.d.ts.map +1 -1
  112. package/dist/src/lib/services/dxoi.service.d.ts +6 -0
  113. package/dist/src/lib/services/dxoi.service.d.ts.map +1 -1
  114. package/dist/src/lib/services/event.service.d.ts +4 -0
  115. package/dist/src/lib/services/event.service.d.ts.map +1 -1
  116. package/dist/src/lib/services/experience.service.d.ts +10 -0
  117. package/dist/src/lib/services/experience.service.d.ts.map +1 -1
  118. package/dist/src/lib/services/graph.service.d.ts +7 -0
  119. package/dist/src/lib/services/graph.service.d.ts.map +1 -1
  120. package/dist/src/lib/services/inventory.service.d.ts +11 -2
  121. package/dist/src/lib/services/inventory.service.d.ts.map +1 -1
  122. package/dist/src/lib/services/js-extension.service.d.ts +5 -0
  123. package/dist/src/lib/services/js-extension.service.d.ts.map +1 -1
  124. package/dist/src/lib/services/logs.service.d.ts +1 -0
  125. package/dist/src/lib/services/logs.service.d.ts.map +1 -1
  126. package/dist/src/lib/services/management-module.service.d.ts +10 -0
  127. package/dist/src/lib/services/management-module.service.d.ts.map +1 -1
  128. package/dist/src/lib/services/metric-batch.service.d.ts +8 -0
  129. package/dist/src/lib/services/metric-batch.service.d.ts.map +1 -1
  130. package/dist/src/lib/services/metric-grouping.service.d.ts +6 -0
  131. package/dist/src/lib/services/metric-grouping.service.d.ts.map +1 -1
  132. package/dist/src/lib/services/nass.service.d.ts +7 -0
  133. package/dist/src/lib/services/nass.service.d.ts.map +1 -1
  134. package/dist/src/lib/services/notification.service.d.ts +1 -0
  135. package/dist/src/lib/services/notification.service.d.ts.map +1 -1
  136. package/dist/src/lib/services/o2-notification.service.d.ts +1 -0
  137. package/dist/src/lib/services/o2-notification.service.d.ts.map +1 -1
  138. package/dist/src/lib/services/o2-universe.service.d.ts +8 -0
  139. package/dist/src/lib/services/o2-universe.service.d.ts.map +1 -1
  140. package/dist/src/lib/services/perspective.service.d.ts +3 -0
  141. package/dist/src/lib/services/perspective.service.d.ts.map +1 -1
  142. package/dist/src/lib/services/platform-alert.service.d.ts +24 -0
  143. package/dist/src/lib/services/platform-alert.service.d.ts.map +1 -0
  144. package/dist/src/lib/services/platform-management-module.service.d.ts +21 -0
  145. package/dist/src/lib/services/platform-management-module.service.d.ts.map +1 -0
  146. package/dist/src/lib/services/platform-metric-grouping.service.d.ts +24 -0
  147. package/dist/src/lib/services/platform-metric-grouping.service.d.ts.map +1 -0
  148. package/dist/src/lib/services/service-monolith.d.ts +23 -1
  149. package/dist/src/lib/services/service-monolith.d.ts.map +1 -1
  150. package/dist/src/lib/services/service.service.d.ts +16 -0
  151. package/dist/src/lib/services/service.service.d.ts.map +1 -1
  152. package/dist/src/lib/services/session.service.d.ts +1 -0
  153. package/dist/src/lib/services/session.service.d.ts.map +1 -1
  154. package/dist/src/lib/services/situation.service.d.ts +7 -0
  155. package/dist/src/lib/services/situation.service.d.ts.map +1 -1
  156. package/dist/src/lib/services/sql.service.d.ts +1 -0
  157. package/dist/src/lib/services/sql.service.d.ts.map +1 -1
  158. package/dist/src/lib/services/tas.service.d.ts +2 -0
  159. package/dist/src/lib/services/tas.service.d.ts.map +1 -1
  160. package/dist/src/lib/services/vertex.service.d.ts +25 -0
  161. package/dist/src/lib/services/vertex.service.d.ts.map +1 -1
  162. package/package.json +11 -2
package/dist/index.cjs.js CHANGED
@@ -14,6 +14,7 @@ var require$$1$2 = require('tty');
14
14
  var require$$0$4 = require('os');
15
15
  var zlib = require('zlib');
16
16
  var require$$0$5 = require('events');
17
+ var v4 = require('zod/v4');
17
18
  var require$$0$7 = require('node:stream');
18
19
  var require$$0$6 = require('net');
19
20
  var require$$1$3 = require('tls');
@@ -60,6 +61,7 @@ var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs$1);
60
61
  var process__namespace = /*#__PURE__*/_interopNamespaceDefault(process$1);
61
62
  var os__namespace = /*#__PURE__*/_interopNamespaceDefault(os);
62
63
 
64
+ /** @internal */
63
65
  const ags = {
64
66
  "specifier": {
65
67
  "op": "OR",
@@ -75,6 +77,7 @@ const ags = {
75
77
  },
76
78
  "authorizationView": null,
77
79
  };
80
+ /** @internal */
78
81
  const agsresponse = {
79
82
  "items": [
80
83
  { "name": "SuperDomain|lvnkprod010236|Spectrum|SpectrumWeb" },
@@ -179,6 +182,7 @@ exports.AlarmEnrichmentFilter = void 0;
179
182
  throw new Error(':unknown alarm filter type');
180
183
  }
181
184
  AlarmEnrichmentFilter.getAlarmFilterType = getAlarmFilterType;
185
+ /** @internal */
182
186
  class FilterNode {
183
187
  data;
184
188
  children = new Array();
@@ -193,6 +197,7 @@ exports.AlarmEnrichmentFilter = void 0;
193
197
  }
194
198
  }
195
199
  AlarmEnrichmentFilter.FilterNode = FilterNode;
200
+ /** @internal */
196
201
  function convertAnd(andFilter, parent) {
197
202
  if (andFilter.and.expressions.length == 1) {
198
203
  return convertFilterToNode(andFilter.and.expressions[0], parent);
@@ -209,6 +214,7 @@ exports.AlarmEnrichmentFilter = void 0;
209
214
  }
210
215
  }
211
216
  AlarmEnrichmentFilter.convertAnd = convertAnd;
217
+ /** @internal */
212
218
  function convertOr(orFilter, parent) {
213
219
  if (orFilter.or.expressions.length == 1) {
214
220
  return convertFilterToNode(orFilter.or.expressions[0], parent);
@@ -236,6 +242,7 @@ exports.AlarmEnrichmentFilter = void 0;
236
242
  }
237
243
  }
238
244
  AlarmEnrichmentFilter.conditionReadable = conditionReadable;
245
+ /** @internal */
239
246
  function convertAttribute(alarmAttributeFilter, parent) {
240
247
  const node = new FilterNode({
241
248
  filterType: 'attribute',
@@ -244,6 +251,7 @@ exports.AlarmEnrichmentFilter = void 0;
244
251
  return node;
245
252
  }
246
253
  AlarmEnrichmentFilter.convertAttribute = convertAttribute;
254
+ /** @internal */
247
255
  function convertFilterToNode(alarmFilter, parent) {
248
256
  switch (getAlarmFilterType(alarmFilter)) {
249
257
  case 'and':
@@ -261,6 +269,7 @@ exports.AlarmEnrichmentFilter = void 0;
261
269
 
262
270
  exports.AlarmEnrichment = void 0;
263
271
  (function (AlarmEnrichment) {
272
+ /** @internal */
264
273
  AlarmEnrichment.SAMPLE_RULES_RESPONSE = [
265
274
  {
266
275
  tenant_id: 'AA0725E0-0402-4320-A2B7-407025E9D673',
@@ -548,6 +557,9 @@ exports.AlertDefinitionResponse = void 0;
548
557
 
549
558
  exports.AlertResponse = void 0;
550
559
  (function (AlertResponse) {
560
+ /**
561
+ * @deprecated Use {@link AlertResponseV2.AllAlertsRequestBody} instead.
562
+ */
551
563
  AlertResponse.AllAlertsRequestBody = {
552
564
  mgmtModuleExtIds: [],
553
565
  alertType: 'all',
@@ -25351,8 +25363,1074 @@ exports.DashboardSearch = void 0;
25351
25363
  })(DashboardSearch.SearchType || (DashboardSearch.SearchType = {}));
25352
25364
  })(exports.DashboardSearch || (exports.DashboardSearch = {}));
25353
25365
 
25366
+ const AttributeExpressionOperatorSchema = v4.z.enum([
25367
+ 'IN',
25368
+ 'NOT_IN',
25369
+ 'MATCHES',
25370
+ 'NOT_MATCHES',
25371
+ 'GE',
25372
+ 'GT',
25373
+ 'LE',
25374
+ 'LT',
25375
+ ]);
25376
+ const AttributeExpressionComparatorSchema = v4.z.enum([
25377
+ 'LEXICAL',
25378
+ 'NUMBER',
25379
+ 'DATETIME',
25380
+ ]);
25381
+ const AttributeExpressionSchema = v4.z.looseObject({
25382
+ name: v4.z.string().optional(),
25383
+ pointer: v4.z.string().optional(),
25384
+ values: v4.z.array(v4.z.string()).optional(),
25385
+ operator: AttributeExpressionOperatorSchema.optional(),
25386
+ layer: v4.z.string().optional(),
25387
+ comparator: AttributeExpressionComparatorSchema.optional(),
25388
+ caseInsensitive: v4.z.boolean().optional(),
25389
+ });
25390
+ const AttributeValueAsFieldSchema = v4.z.looseObject({
25391
+ name: v4.z.string().optional(),
25392
+ pointer: v4.z.string().optional(),
25393
+ as: v4.z.string().optional(),
25394
+ });
25395
+ const TraversalVertexFilterSchema = v4.z.looseObject({
25396
+ op: v4.z.string().optional(),
25397
+ input: v4.z.lazy(() => v4.z.array(TraversalVertexFilterSchema)).optional(),
25398
+ expressions: v4.z.array(AttributeExpressionSchema).optional(),
25399
+ layer: v4.z.string().optional(),
25400
+ values: v4.z.array(v4.z.string()).optional(),
25401
+ vertexId: v4.z.array(v4.z.number()).optional(),
25402
+ });
25403
+ const TraversalEdgeFilterSchema = v4.z.looseObject({
25404
+ op: v4.z.string().optional(),
25405
+ input: v4.z.lazy(() => v4.z.array(TraversalEdgeFilterSchema)).optional(),
25406
+ expressions: v4.z.array(AttributeExpressionSchema).optional(),
25407
+ flowFilter: v4.z.array(v4.z.string()).optional(),
25408
+ });
25409
+ const TraverseDirectionSchema = v4.z.enum(['FORWARD', 'BACKWARD', 'ANY']);
25410
+ const TraverseCollectSchema = v4.z.enum(['ALL', 'EDGE', 'VERTEX', 'NONE']);
25411
+ const TraverseSchema = v4.z.looseObject({
25412
+ edgeFilter: TraversalEdgeFilterSchema.optional(),
25413
+ vertexFilter: TraversalVertexFilterSchema.optional(),
25414
+ collect: TraverseCollectSchema.optional(),
25415
+ direction: TraverseDirectionSchema.optional(),
25416
+ repeatMin: v4.z.number().optional(),
25417
+ repeat: v4.z.number().optional(),
25418
+ optional: v4.z.boolean().optional(),
25419
+ next: v4.z.lazy(() => v4.z.array(TraverseSchema)).optional(),
25420
+ });
25421
+ const VertexStateFilterSchema = v4.z.looseObject({
25422
+ op: v4.z.string().optional(),
25423
+ });
25424
+ const TasGroupingItemSchema = v4.z.looseObject({
25425
+ name: v4.z.string().optional(),
25426
+ layer: v4.z.string().optional(),
25427
+ });
25428
+ const TasAttributeFilterModeSchema = v4.z.enum([
25429
+ 'VERTEX_AND_RELATED_EDGES',
25430
+ 'EDGE_AND_RELATED_VERTICES',
25431
+ 'VERTEX_ONLY',
25432
+ 'EDGE_ONLY',
25433
+ ]);
25434
+ const TasFollowPathTypeSchema = v4.z.enum([
25435
+ 'BOTH',
25436
+ 'DOWN',
25437
+ 'UP',
25438
+ 'UP_THEN_DOWN',
25439
+ 'DOWN_THEN_UP',
25440
+ 'FULL',
25441
+ 'COVERAGE',
25442
+ ]);
25443
+ const TasFollowPathFlowFilterSchema = v4.z.enum([
25444
+ 'UNDEFINED_FLOW',
25445
+ 'DEFINED_FLOW',
25446
+ 'FLOW_FROM_INPUT',
25447
+ ]);
25448
+ const TasJoinTypeSchema = v4.z.enum(['LEFT', 'INNER', 'RIGHT', 'NOT']);
25449
+ const TasCollectCardInfoTierSchema = v4.z.enum([
25450
+ 'EXPERIENCE',
25451
+ 'FRONTEND',
25452
+ 'DATABASE',
25453
+ 'BACKEND',
25454
+ 'ANY_ATC',
25455
+ 'AGENT',
25456
+ ]);
25457
+ const TasCollectExperienceSelectorSchema = v4.z.enum(['EXPERIENCE', 'BT']);
25458
+ const TasFilterLazy = v4.z.lazy(() => TasFilterSchema);
25459
+ const TasAllFilterSchema = v4.z.looseObject({
25460
+ op: v4.z.literal('ALL'),
25461
+ });
25462
+ const TasEmptyFilterSchema = v4.z.looseObject({
25463
+ op: v4.z.literal('EMPTY'),
25464
+ input: TasFilterLazy.optional(),
25465
+ });
25466
+ const TasAndFilterSchema = v4.z.looseObject({
25467
+ op: v4.z.literal('AND'),
25468
+ input: v4.z.array(TasFilterLazy).optional(),
25469
+ });
25470
+ const TasOrFilterSchema = v4.z.looseObject({
25471
+ op: v4.z.literal('OR'),
25472
+ input: v4.z.array(TasFilterLazy).optional(),
25473
+ });
25474
+ const TasNotFilterSchema = v4.z.looseObject({
25475
+ op: v4.z.literal('NOT'),
25476
+ input: TasFilterLazy.optional(),
25477
+ });
25478
+ const TasAttributeFilterSchema = v4.z.looseObject({
25479
+ op: v4.z.literal('ATTRIBUTE'),
25480
+ input: TasFilterLazy.optional(),
25481
+ expressions: v4.z.array(AttributeExpressionSchema).optional(),
25482
+ layer: v4.z.string().optional(),
25483
+ mode: TasAttributeFilterModeSchema.optional(),
25484
+ });
25485
+ const TasTraverseFilterSchema = v4.z.looseObject({
25486
+ op: v4.z.literal('TRAVERSE'),
25487
+ input: TasFilterLazy.optional(),
25488
+ traverse: v4.z.array(TraverseSchema).optional(),
25489
+ collectStart: v4.z.boolean().optional(),
25490
+ includeInput: v4.z.boolean().optional(),
25491
+ });
25492
+ const TasVertexIdFilterSchema = v4.z.looseObject({
25493
+ op: v4.z.literal('VERTEX'),
25494
+ input: TasFilterLazy.optional(),
25495
+ vertexId: v4.z.array(v4.z.number()).optional(),
25496
+ externalId: v4.z.array(v4.z.string()).optional(),
25497
+ not: v4.z.boolean().optional(),
25498
+ });
25499
+ const TasServiceFilterSchema = v4.z.looseObject({
25500
+ op: v4.z.literal('SERVICE'),
25501
+ input: TasFilterLazy.optional(),
25502
+ values: v4.z.array(v4.z.string()).optional(),
25503
+ includeServiceHierarchy: v4.z.boolean().optional(),
25504
+ excludeSubServices: v4.z.boolean().optional(),
25505
+ });
25506
+ const TasLuceneFilterSchema = v4.z.looseObject({
25507
+ op: v4.z.literal('LUCENE'),
25508
+ input: TasFilterLazy.optional(),
25509
+ query: v4.z.string().optional(),
25510
+ });
25511
+ const TasLayerFilterSchema = v4.z.looseObject({
25512
+ op: v4.z.literal('LAYER'),
25513
+ input: TasFilterLazy.optional(),
25514
+ value: v4.z.string().optional(),
25515
+ values: v4.z.array(v4.z.string()).optional(),
25516
+ });
25517
+ const TasJoinFilterSchema = v4.z.looseObject({
25518
+ op: v4.z.literal('JOIN'),
25519
+ input: TasFilterLazy.optional(),
25520
+ type: TasJoinTypeSchema.optional(),
25521
+ rightInput: TasFilterLazy.optional(),
25522
+ });
25523
+ const TasFollowPathFilterSchema = v4.z.looseObject({
25524
+ op: v4.z.literal('FOLLOW_PATH'),
25525
+ input: TasFilterLazy.optional(),
25526
+ type: TasFollowPathTypeSchema.optional(),
25527
+ upHops: v4.z.number().optional(),
25528
+ downHops: v4.z.number().optional(),
25529
+ flowFilter: v4.z.array(TasFollowPathFlowFilterSchema).optional(),
25530
+ followToLayers: v4.z.array(v4.z.string()).optional(),
25531
+ });
25532
+ const TasCoverageFilterSchema = v4.z.looseObject({
25533
+ op: v4.z.literal('COVERAGE'),
25534
+ input: TasFilterLazy.optional(),
25535
+ });
25536
+ const TasStatusFilterSchema = v4.z.looseObject({
25537
+ op: v4.z.literal('STATUS'),
25538
+ input: TasFilterLazy.optional(),
25539
+ statusFilter: VertexStateFilterSchema.optional(),
25540
+ });
25541
+ const TasVariableFilterSchema = v4.z.looseObject({
25542
+ op: v4.z.literal('VARIABLE'),
25543
+ name: v4.z.string().optional(),
25544
+ });
25545
+ const TasLegacyFilterSchema = v4.z.looseObject({
25546
+ op: v4.z.literal('LEGACY'),
25547
+ legacy: v4.z.unknown().optional(),
25548
+ });
25549
+ const TasAddFlowsFilterSchema = v4.z.looseObject({
25550
+ op: v4.z.literal('ADD_FLOWS'),
25551
+ input: TasFilterLazy.optional(),
25552
+ includeJoined: v4.z.boolean().optional(),
25553
+ });
25554
+ const TasAddWiresFilterSchema = v4.z.looseObject({
25555
+ op: v4.z.literal('ADD_WIRES'),
25556
+ input: TasFilterLazy.optional(),
25557
+ considerIncompleteEdges: v4.z.boolean().optional(),
25558
+ });
25559
+ const TasAddWireContextFilterSchema = v4.z.looseObject({
25560
+ op: v4.z.literal('ADD_WIRE_CONTEXT'),
25561
+ input: TasFilterLazy.optional(),
25562
+ addEdges: v4.z.boolean().optional(),
25563
+ addSourceVertices: v4.z.boolean().optional(),
25564
+ addTargetVertices: v4.z.boolean().optional(),
25565
+ });
25566
+ const TasAddTransitioningEdgesFilterSchema = v4.z.looseObject({
25567
+ op: v4.z.literal('ADD_TRANSITIONING_EDGES'),
25568
+ input: TasFilterLazy.optional(),
25569
+ });
25570
+ const TasTakeVerticesFilterSchema = v4.z.looseObject({
25571
+ op: v4.z.literal('TAKE_VERTICES'),
25572
+ input: TasFilterLazy.optional(),
25573
+ });
25574
+ const TasTakeEdgesFilterSchema = v4.z.looseObject({
25575
+ op: v4.z.literal('TAKE_EDGES'),
25576
+ input: TasFilterLazy.optional(),
25577
+ });
25578
+ const TasTakeFlowsFilterSchema = v4.z.looseObject({
25579
+ op: v4.z.literal('TAKE_FLOWS'),
25580
+ input: TasFilterLazy.optional(),
25581
+ });
25582
+ const TasCollectAttributesFilterSchema = v4.z.looseObject({
25583
+ op: v4.z.literal('COLLECT_ATTRIBUTES'),
25584
+ input: TasFilterLazy.optional(),
25585
+ id: v4.z.string().optional(),
25586
+ attributeName: v4.z.string().optional(),
25587
+ layer: v4.z.string().optional(),
25588
+ includeIds: v4.z.boolean().optional(),
25589
+ caseInsensitive: v4.z.boolean().optional(),
25590
+ skipBackends: v4.z.boolean().optional(),
25591
+ });
25592
+ const TasCollectAttributeNamesFilterSchema = v4.z.looseObject({
25593
+ op: v4.z.literal('COLLECT_ATTRIBUTE_NAMES'),
25594
+ input: TasFilterLazy.optional(),
25595
+ id: v4.z.string().optional(),
25596
+ layer: v4.z.string().optional(),
25597
+ });
25598
+ const TasCollectCountsFilterSchema = v4.z.looseObject({
25599
+ op: v4.z.literal('COLLECT_COUNTS'),
25600
+ input: TasFilterLazy.optional(),
25601
+ id: v4.z.string().optional(),
25602
+ });
25603
+ const TasCollectVertexIdFilterSchema = v4.z.looseObject({
25604
+ op: v4.z.literal('COLLECT_VERTEX_ID'),
25605
+ input: TasFilterLazy.optional(),
25606
+ id: v4.z.string().optional(),
25607
+ layer: v4.z.string().optional(),
25608
+ skipBackends: v4.z.boolean().optional(),
25609
+ });
25610
+ const TasCollectGroupingInfoFilterSchema = v4.z.looseObject({
25611
+ op: v4.z.literal('COLLECT_GROUPING_INFO'),
25612
+ input: TasFilterLazy.optional(),
25613
+ id: v4.z.string().optional(),
25614
+ layer: v4.z.string().optional(),
25615
+ grouping: v4.z.array(TasGroupingItemSchema).optional(),
25616
+ });
25617
+ const TasCollectCardInfoFilterSchema = v4.z.looseObject({
25618
+ op: v4.z.literal('COLLECT_CARD_INFO'),
25619
+ input: TasFilterLazy.optional(),
25620
+ tier: TasCollectCardInfoTierSchema.optional(),
25621
+ grouping: TasGroupingItemSchema.optional(),
25622
+ includeVertexInfo: v4.z.boolean().optional(),
25623
+ });
25624
+ const TasCollectExperienceAttributesFilterSchema = v4.z.looseObject({
25625
+ op: v4.z.literal('COLLECT_EXPERIENCE_ATTRIBUTES'),
25626
+ input: TasFilterLazy.optional(),
25627
+ id: v4.z.string().optional(),
25628
+ attributeName: v4.z.string().optional(),
25629
+ layer: v4.z.string().optional(),
25630
+ caseInsensitive: v4.z.boolean().optional(),
25631
+ selector: TasCollectExperienceSelectorSchema.optional(),
25632
+ });
25633
+ const TasFilterSchema = v4.z.discriminatedUnion('op', [
25634
+ TasAddFlowsFilterSchema,
25635
+ TasAddTransitioningEdgesFilterSchema,
25636
+ TasAddWiresFilterSchema,
25637
+ TasAddWireContextFilterSchema,
25638
+ TasAllFilterSchema,
25639
+ TasAndFilterSchema,
25640
+ TasAttributeFilterSchema,
25641
+ TasEmptyFilterSchema,
25642
+ TasFollowPathFilterSchema,
25643
+ TasJoinFilterSchema,
25644
+ TasLayerFilterSchema,
25645
+ TasNotFilterSchema,
25646
+ TasOrFilterSchema,
25647
+ TasCoverageFilterSchema,
25648
+ TasTakeEdgesFilterSchema,
25649
+ TasTakeFlowsFilterSchema,
25650
+ TasTakeVerticesFilterSchema,
25651
+ TasTraverseFilterSchema,
25652
+ TasVertexIdFilterSchema,
25653
+ TasLegacyFilterSchema,
25654
+ TasVariableFilterSchema,
25655
+ TasCollectAttributesFilterSchema,
25656
+ TasCollectAttributeNamesFilterSchema,
25657
+ TasCollectExperienceAttributesFilterSchema,
25658
+ TasCollectGroupingInfoFilterSchema,
25659
+ TasCollectCardInfoFilterSchema,
25660
+ TasLuceneFilterSchema,
25661
+ TasCollectVertexIdFilterSchema,
25662
+ TasCollectCountsFilterSchema,
25663
+ TasStatusFilterSchema,
25664
+ TasServiceFilterSchema,
25665
+ ]);
25666
+ const TasVariableSchema = v4.z.looseObject({
25667
+ name: v4.z.string().optional(),
25668
+ input: TasFilterLazy.optional(),
25669
+ });
25670
+ const TasProjectionFilterSchema = v4.z.looseObject({
25671
+ attributes: v4.z.array(v4.z.string()).optional(),
25672
+ attributeValueAsFields: v4.z.array(AttributeValueAsFieldSchema).optional(),
25673
+ });
25674
+
25675
+ const TasViewSchema = v4.z.enum(['DETAILED', 'BRIEF', 'NO_TYPE']);
25676
+ const TasOrderSchema = v4.z.looseObject({
25677
+ name: v4.z.string().optional(),
25678
+ comparator: AttributeExpressionComparatorSchema.optional(),
25679
+ caseInsensitive: v4.z.boolean().optional(),
25680
+ desc: v4.z.boolean().optional(),
25681
+ });
25682
+ const TasQuerySchema = v4.z.looseObject({
25683
+ version: v4.z.string().optional(),
25684
+ time: v4.z.number().optional(),
25685
+ schema: v4.z.string().optional(),
25686
+ offset: v4.z.number().optional(),
25687
+ limit: v4.z.number().optional(),
25688
+ order: v4.z.array(TasOrderSchema).optional(),
25689
+ variables: v4.z.array(TasVariableSchema).optional(),
25690
+ filter: TasFilterSchema.optional(),
25691
+ universe: TasFilterSchema.optional(),
25692
+ authorizationView: v4.z.string().optional(),
25693
+ postFilter: TasFilterSchema.optional(),
25694
+ stateFilter: VertexStateFilterSchema.optional(),
25695
+ includeStatus: v4.z.boolean().optional(),
25696
+ includeServices: v4.z.boolean().optional(),
25697
+ includeProfile: v4.z.boolean().optional(),
25698
+ flushCacheBeforeQuery: v4.z.boolean().optional(),
25699
+ projection: TasViewSchema.optional(),
25700
+ projectionFilter: TasProjectionFilterSchema.optional(),
25701
+ });
25702
+
25703
+ const TasExternalIdSchema = v4.z.string();
25704
+ const TasAttributeTypeSchema = v4.z.enum([
25705
+ 'GATHERED',
25706
+ 'CUSTOM',
25707
+ 'DECORATED',
25708
+ 'HIDDEN',
25709
+ ]);
25710
+ const TasVertexSchema = v4.z.looseObject({
25711
+ id: v4.z.number(),
25712
+ externalId: TasExternalIdSchema.optional(),
25713
+ startTime: v4.z.number().optional(),
25714
+ endTime: v4.z.number().optional(),
25715
+ attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
25716
+ attributesType: v4.z.record(v4.z.string(), TasAttributeTypeSchema).optional(),
25717
+ });
25718
+ const EdgeNumericIdSchema = v4.z.looseObject({
25719
+ sourceId: v4.z.number(),
25720
+ targetId: v4.z.number(),
25721
+ flowId: v4.z.number(),
25722
+ wireId: v4.z.number(),
25723
+ });
25724
+ const TasEdgeSchema = v4.z.looseObject({
25725
+ sourceId: v4.z.number(),
25726
+ targetId: v4.z.number(),
25727
+ flowId: v4.z.number(),
25728
+ wireId: v4.z.number(),
25729
+ sourceExternalId: TasExternalIdSchema.optional(),
25730
+ targetExternalId: TasExternalIdSchema.optional(),
25731
+ flowExternalId: TasExternalIdSchema.optional(),
25732
+ wireExternalId: TasExternalIdSchema.optional(),
25733
+ startTime: v4.z.number().optional(),
25734
+ endTime: v4.z.number().optional(),
25735
+ attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
25736
+ attributesType: v4.z.record(v4.z.string(), TasAttributeTypeSchema).optional(),
25737
+ });
25738
+ const VertexStateExternalIdSchema = v4.z.looseObject({
25739
+ vertexExternalId: TasExternalIdSchema.optional(),
25740
+ alertExternalId: v4.z.string().optional(),
25741
+ metricExternalId: v4.z.string().optional(),
25742
+ });
25743
+ const VertexStateNumericIdSchema = v4.z.looseObject({
25744
+ vertexId: v4.z.number(),
25745
+ alertId: v4.z.number(),
25746
+ metricId: v4.z.number(),
25747
+ });
25748
+ const VertexStateSchema = v4.z.looseObject({
25749
+ vertexId: v4.z.number(),
25750
+ alertId: v4.z.number(),
25751
+ metricId: v4.z.number(),
25752
+ stateExternalId: VertexStateExternalIdSchema.optional(),
25753
+ status: v4.z.number(),
25754
+ data: v4.z.unknown().optional(),
25755
+ startTime: v4.z.number().optional(),
25756
+ endTime: v4.z.number().optional(),
25757
+ });
25758
+ const TasAnalyticResultSchema = v4.z.looseObject({
25759
+ t: v4.z.string().optional(),
25760
+ });
25761
+ const TasGraphSchema = v4.z.looseObject({
25762
+ vertices: v4.z.array(TasVertexSchema).optional(),
25763
+ edges: v4.z.array(TasEdgeSchema).optional(),
25764
+ states: v4.z.array(VertexStateSchema).optional(),
25765
+ expiredVertices: v4.z.array(v4.z.number()).optional(),
25766
+ expiredEdges: v4.z.array(EdgeNumericIdSchema).optional(),
25767
+ expiredStates: v4.z.array(VertexStateNumericIdSchema).optional(),
25768
+ version: v4.z.string().optional(),
25769
+ analytics: v4.z.array(TasAnalyticResultSchema).optional(),
25770
+ nextOffset: v4.z.number().optional(),
25771
+ totalVertices: v4.z.number().optional(),
25772
+ totalEdges: v4.z.number().optional(),
25773
+ });
25774
+
25775
+ const OperatorSchema = v4.z.enum(['EQ', 'GE', 'GT', 'LE', 'LT', 'NE']);
25776
+ const SourceNameAllSpecifierSchema = v4.z.looseObject({
25777
+ op: v4.z.literal('ALL'),
25778
+ });
25779
+ const SourceNameNoneSpecifierSchema = v4.z.looseObject({
25780
+ op: v4.z.literal('NONE'),
25781
+ });
25782
+ const SourceNameAndSpecifierSchema = v4.z.looseObject({
25783
+ op: v4.z.literal('AND'),
25784
+ specifiers: v4.z.array(v4.z.lazy(() => SourceNameSpecifierSchema)),
25785
+ });
25786
+ const SourceNameOrSpecifierSchema = v4.z.looseObject({
25787
+ op: v4.z.literal('OR'),
25788
+ specifiers: v4.z.array(v4.z.lazy(() => SourceNameSpecifierSchema)),
25789
+ });
25790
+ const SourceNameNotSpecifierSchema = v4.z.looseObject({
25791
+ op: v4.z.literal('NOT'),
25792
+ specifier: v4.z.lazy(() => SourceNameSpecifierSchema),
25793
+ });
25794
+ const SourceNameExactSpecifierSchema = v4.z.looseObject({
25795
+ op: v4.z.literal('EXACT'),
25796
+ names: v4.z.array(v4.z.string()).optional(),
25797
+ ignoreCase: v4.z.boolean().optional(),
25798
+ });
25799
+ const SourceNameRegExSpecifierSchema = v4.z.looseObject({
25800
+ op: v4.z.literal('REGEX'),
25801
+ pattern: v4.z.string().optional(),
25802
+ ignoreCase: v4.z.boolean().optional(),
25803
+ });
25804
+ const SourceNamePartOperatorSpecifierSchema = v4.z.looseObject({
25805
+ op: v4.z.literal('PART'),
25806
+ operator: OperatorSchema.optional(),
25807
+ part: v4.z.number(),
25808
+ partValue: v4.z.string().optional(),
25809
+ });
25810
+ const SourceNameSpecifierSchema = v4.z.discriminatedUnion('op', [
25811
+ SourceNameAllSpecifierSchema,
25812
+ SourceNameNoneSpecifierSchema,
25813
+ SourceNameAndSpecifierSchema,
25814
+ SourceNameOrSpecifierSchema,
25815
+ SourceNameNotSpecifierSchema,
25816
+ SourceNameExactSpecifierSchema,
25817
+ SourceNameRegExSpecifierSchema,
25818
+ SourceNamePartOperatorSpecifierSchema,
25819
+ ]);
25820
+
25821
+ const FolderNameAllSpecifierSchema = v4.z.looseObject({
25822
+ op: v4.z.literal('ALL'),
25823
+ });
25824
+ const FolderNameNoneSpecifierSchema = v4.z.looseObject({
25825
+ op: v4.z.literal('NONE'),
25826
+ });
25827
+ const FolderNameAndSpecifierSchema = v4.z.looseObject({
25828
+ op: v4.z.literal('AND'),
25829
+ specifiers: v4.z.array(v4.z.lazy(() => FolderNameSpecifierSchema)),
25830
+ });
25831
+ const FolderNameOrSpecifierSchema = v4.z.looseObject({
25832
+ op: v4.z.literal('OR'),
25833
+ specifiers: v4.z.array(v4.z.lazy(() => FolderNameSpecifierSchema)),
25834
+ });
25835
+ const FolderNameNotSpecifierSchema = v4.z.looseObject({
25836
+ op: v4.z.literal('NOT'),
25837
+ specifier: v4.z.lazy(() => FolderNameSpecifierSchema),
25838
+ });
25839
+ const FolderNameExactSpecifierSchema = v4.z.looseObject({
25840
+ op: v4.z.literal('EXACT'),
25841
+ names: v4.z.array(v4.z.string()).optional(),
25842
+ ignoreCase: v4.z.boolean().optional(),
25843
+ });
25844
+ const FolderNameRegExSpecifierSchema = v4.z.looseObject({
25845
+ op: v4.z.literal('REGEX'),
25846
+ pattern: v4.z.string().optional(),
25847
+ ignoreCase: v4.z.boolean().optional(),
25848
+ });
25849
+ const FolderNameChildrenSpecifierSchema = v4.z.looseObject({
25850
+ op: v4.z.literal('CHILDREN'),
25851
+ prefix: v4.z.string().optional(),
25852
+ recursive: v4.z.boolean().optional(),
25853
+ });
25854
+ const FolderNameSpecifierSchema = v4.z.discriminatedUnion('op', [
25855
+ FolderNameAllSpecifierSchema,
25856
+ FolderNameNoneSpecifierSchema,
25857
+ FolderNameAndSpecifierSchema,
25858
+ FolderNameOrSpecifierSchema,
25859
+ FolderNameNotSpecifierSchema,
25860
+ FolderNameExactSpecifierSchema,
25861
+ FolderNameRegExSpecifierSchema,
25862
+ FolderNameChildrenSpecifierSchema,
25863
+ ]);
25864
+
25865
+ const QueryAttributeExpressionSchema = v4.z.looseObject({
25866
+ name: v4.z.string().optional(),
25867
+ values: v4.z.array(v4.z.string()).optional(),
25868
+ operator: v4.z.enum(['IN', 'NOT_IN', 'MATCHES', 'NOT_MATCHES', 'GE', 'GT', 'LE', 'LT']).optional(),
25869
+ comparator: v4.z.enum(['LEXICAL', 'NUMBER', 'DATETIME']).optional(),
25870
+ caseInsensitive: v4.z.boolean().optional(),
25871
+ });
25872
+ const AttributeNameAllSpecifierSchema = v4.z.looseObject({
25873
+ op: v4.z.literal('ALL'),
25874
+ });
25875
+ const AttributeNameNoneSpecifierSchema = v4.z.looseObject({
25876
+ op: v4.z.literal('NONE'),
25877
+ });
25878
+ const AttributeNameAndSpecifierSchema = v4.z.looseObject({
25879
+ op: v4.z.literal('AND'),
25880
+ specifiers: v4.z.array(v4.z.lazy(() => AttributeNameSpecifierSchema)),
25881
+ });
25882
+ const AttributeNameOrSpecifierSchema = v4.z.looseObject({
25883
+ op: v4.z.literal('OR'),
25884
+ specifiers: v4.z.array(v4.z.lazy(() => AttributeNameSpecifierSchema)),
25885
+ });
25886
+ const AttributeNameNotSpecifierSchema = v4.z.looseObject({
25887
+ op: v4.z.literal('NOT'),
25888
+ specifier: v4.z.lazy(() => AttributeNameSpecifierSchema),
25889
+ });
25890
+ const AttributeNameExactSpecifierSchema = v4.z.looseObject({
25891
+ op: v4.z.literal('EXACT'),
25892
+ names: v4.z.array(v4.z.string()).optional(),
25893
+ type: v4.z.number().optional(),
25894
+ ignoreCase: v4.z.boolean().optional(),
25895
+ });
25896
+ const AttributeNameRegExSpecifierSchema = v4.z.looseObject({
25897
+ op: v4.z.literal('REGEX'),
25898
+ pattern: v4.z.string().optional(),
25899
+ ignoreCase: v4.z.boolean().optional(),
25900
+ });
25901
+ const AttributeNameFolderSpecifierSchema = v4.z.looseObject({
25902
+ op: v4.z.literal('FOLDER'),
25903
+ specifier: FolderNameSpecifierSchema.optional(),
25904
+ });
25905
+ const AttributeNameChildrenSpecifierSchema = v4.z.looseObject({
25906
+ op: v4.z.literal('CHILDREN'),
25907
+ prefix: v4.z.string().optional(),
25908
+ recursive: v4.z.boolean().optional(),
25909
+ });
25910
+ const AttributeNameTypeSpecifierSchema = v4.z.looseObject({
25911
+ op: v4.z.literal('TYPE'),
25912
+ specifier: v4.z.lazy(() => AttributeNameSpecifierSchema).optional(),
25913
+ bitMask: v4.z.number().optional(),
25914
+ bitMatch: v4.z.number().optional(),
25915
+ operator: OperatorSchema.optional(),
25916
+ });
25917
+ const AttributeNameOperatorSpecifierSchema = v4.z.looseObject({
25918
+ op: v4.z.literal('OPERATOR'),
25919
+ name: v4.z.string().optional(),
25920
+ fullPath: v4.z.boolean().optional(),
25921
+ operator: OperatorSchema.optional(),
25922
+ });
25923
+ const AttributeNameAnyNumericSpecifierSchema = v4.z.looseObject({
25924
+ op: v4.z.literal('NUMERIC'),
25925
+ });
25926
+ const AttributeNameAttributeSpecifierSchema = v4.z.looseObject({
25927
+ op: v4.z.literal('ATTRIBUTE'),
25928
+ expressions: v4.z.array(QueryAttributeExpressionSchema).optional(),
25929
+ });
25930
+ const AttributeNameSpecifierSchema = v4.z.discriminatedUnion('op', [
25931
+ AttributeNameAllSpecifierSchema,
25932
+ AttributeNameNoneSpecifierSchema,
25933
+ AttributeNameAndSpecifierSchema,
25934
+ AttributeNameOrSpecifierSchema,
25935
+ AttributeNameNotSpecifierSchema,
25936
+ AttributeNameExactSpecifierSchema,
25937
+ AttributeNameRegExSpecifierSchema,
25938
+ AttributeNameFolderSpecifierSchema,
25939
+ AttributeNameChildrenSpecifierSchema,
25940
+ AttributeNameTypeSpecifierSchema,
25941
+ AttributeNameOperatorSpecifierSchema,
25942
+ AttributeNameAnyNumericSpecifierSchema,
25943
+ AttributeNameAttributeSpecifierSchema,
25944
+ ]);
25945
+
25946
+ const ManagementModuleIdSchema = v4.z.looseObject({
25947
+ name: v4.z.string().optional(),
25948
+ });
25949
+ const QueryAllSpecifierSchema = v4.z.looseObject({
25950
+ op: v4.z.literal('ALL'),
25951
+ includeFolders: v4.z.boolean().optional(),
25952
+ includeMetrics: v4.z.boolean().optional(),
25953
+ });
25954
+ const QueryNoneSpecifierSchema = v4.z.looseObject({
25955
+ op: v4.z.literal('NONE'),
25956
+ });
25957
+ const QueryAndSpecifierSchema = v4.z.looseObject({
25958
+ op: v4.z.literal('AND'),
25959
+ specifiers: v4.z.array(v4.z.lazy(() => QuerySpecifierSchema)),
25960
+ });
25961
+ const QueryOrSpecifierSchema = v4.z.looseObject({
25962
+ op: v4.z.literal('OR'),
25963
+ specifiers: v4.z.array(v4.z.lazy(() => QuerySpecifierSchema)),
25964
+ });
25965
+ const QueryNotSpecifierSchema = v4.z.looseObject({
25966
+ op: v4.z.literal('NOT'),
25967
+ specifier: v4.z.lazy(() => QuerySpecifierSchema),
25968
+ });
25969
+ const QuerySpecSpecifierSchema = v4.z.looseObject({
25970
+ op: v4.z.literal('SPEC'),
25971
+ sourceNameSpecifier: SourceNameSpecifierSchema.optional(),
25972
+ folderNameSpecifier: FolderNameSpecifierSchema.optional(),
25973
+ attributeNameSpecifier: AttributeNameSpecifierSchema.optional(),
25974
+ });
25975
+ const QueryIdSpecifierSchema = v4.z.looseObject({
25976
+ op: v4.z.literal('ID'),
25977
+ ids: v4.z.array(v4.z.string()).optional(),
25978
+ });
25979
+ const QueryAttributeSpecifierSchema = v4.z.looseObject({
25980
+ op: v4.z.literal('ATTRIBUTE'),
25981
+ expressions: v4.z.array(QueryAttributeExpressionSchema).optional(),
25982
+ });
25983
+ const QueryMetricGroupSpecifierSchema = v4.z.looseObject({
25984
+ op: v4.z.literal('GROUP'),
25985
+ id: v4.z.string().optional(),
25986
+ managementModuleId: ManagementModuleIdSchema.optional(),
25987
+ });
25988
+ const ServiceFilterSpecifierSchema = v4.z.looseObject({
25989
+ op: v4.z.literal('SERVICE'),
25990
+ values: v4.z.array(v4.z.string()).optional(),
25991
+ });
25992
+ const QuerySpecifierSchema = v4.z.discriminatedUnion('op', [
25993
+ QueryAllSpecifierSchema,
25994
+ QueryNoneSpecifierSchema,
25995
+ QueryAndSpecifierSchema,
25996
+ QueryOrSpecifierSchema,
25997
+ QueryNotSpecifierSchema,
25998
+ QuerySpecSpecifierSchema,
25999
+ QueryIdSpecifierSchema,
26000
+ QueryAttributeSpecifierSchema,
26001
+ QueryMetricGroupSpecifierSchema,
26002
+ ServiceFilterSpecifierSchema,
26003
+ ]);
26004
+
26005
+ const QueryHintForceRangeSchema = v4.z.looseObject({
26006
+ hint: v4.z.literal('ForceRange'),
26007
+ });
26008
+ const QueryHintSchema = v4.z.discriminatedUnion('hint', [
26009
+ QueryHintForceRangeSchema,
26010
+ ]);
26011
+ const MetadataMetricQuerySchema = v4.z.looseObject({
26012
+ specifier: QuerySpecifierSchema.optional(),
26013
+ clamp: v4.z.number().optional(),
26014
+ time: v4.z.number().optional(),
26015
+ range: v4.z.number().optional(),
26016
+ includeLive: v4.z.boolean().optional(),
26017
+ authorizationView: v4.z.string().optional(),
26018
+ includeProfile: v4.z.boolean().optional(),
26019
+ profileLevel: v4.z.string().optional(),
26020
+ queryHints: v4.z.array(QueryHintSchema).optional(),
26021
+ });
26022
+
26023
+ const MetricAttributeSchema = v4.z.looseObject({
26024
+ id: v4.z.string().optional(),
26025
+ sourceName: v4.z.string().optional(),
26026
+ type: v4.z.number(),
26027
+ attributeName: v4.z.string().optional(),
26028
+ attributes: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
26029
+ firstSeen: v4.z.number().optional(),
26030
+ lastSeen: v4.z.number().optional(),
26031
+ live: v4.z.boolean().optional(),
26032
+ });
26033
+ const MetricFolderSchema = v4.z.looseObject({
26034
+ sourceId: v4.z.string().optional(),
26035
+ sourceName: v4.z.string().optional(),
26036
+ folderName: v4.z.string().optional(),
26037
+ firstSeen: v4.z.number().optional(),
26038
+ lastSeen: v4.z.number().optional(),
26039
+ live: v4.z.boolean().optional(),
26040
+ });
26041
+ const MetadataMetricQueryResponseV2Schema = v4.z.looseObject({
26042
+ metrics: v4.z.array(MetricAttributeSchema).optional(),
26043
+ folders: v4.z.array(MetricFolderSchema).optional(),
26044
+ analytics: v4.z.record(v4.z.string(), v4.z.unknown()).optional(),
26045
+ });
26046
+
26047
+ const NumericOperatorSchema = v4.z.enum(['EQ', 'LT', 'LE', 'GT', 'GE', 'NE']);
26048
+ const QueryFilterAndSpecSchema = v4.z.looseObject({
26049
+ op: v4.z.literal('AND'),
26050
+ spec: v4.z.lazy(() => v4.z.array(QueryFilterPredicateSpecSchema)),
26051
+ });
26052
+ const QueryFilterOrSpecSchema = v4.z.looseObject({
26053
+ op: v4.z.literal('OR'),
26054
+ spec: v4.z.lazy(() => v4.z.array(QueryFilterPredicateSpecSchema)),
26055
+ });
26056
+ const QueryFilterNotSpecSchema = v4.z.looseObject({
26057
+ op: v4.z.literal('NOT'),
26058
+ spec: v4.z.lazy(() => QueryFilterPredicateSpecSchema),
26059
+ });
26060
+ const QueryFilterExprSpecSchema = v4.z.looseObject({
26061
+ op: v4.z.literal('EXPR'),
26062
+ spec: v4.z.string(),
26063
+ });
26064
+ const QueryFilterInSpecSchema = v4.z.looseObject({
26065
+ op: v4.z.literal('IN'),
26066
+ column: v4.z.string(),
26067
+ values: v4.z.array(v4.z.unknown()),
26068
+ });
26069
+ const QueryFilterRegexSpecSchema = v4.z.looseObject({
26070
+ op: v4.z.literal('REGEX'),
26071
+ column: v4.z.string(),
26072
+ pattern: v4.z.string(),
26073
+ ignoreCase: v4.z.boolean(),
26074
+ });
26075
+ const QueryFilterNumericSpecSchema = v4.z.looseObject({
26076
+ op: v4.z.literal('NUMERIC'),
26077
+ column: v4.z.string(),
26078
+ operator: NumericOperatorSchema,
26079
+ value: v4.z.number().optional(),
26080
+ });
26081
+ const QueryFilterPredicateSpecSchema = v4.z.union([
26082
+ QueryFilterAndSpecSchema,
26083
+ QueryFilterOrSpecSchema,
26084
+ QueryFilterNotSpecSchema,
26085
+ QueryFilterExprSpecSchema,
26086
+ QueryFilterInSpecSchema,
26087
+ QueryFilterRegexSpecSchema,
26088
+ QueryFilterNumericSpecSchema,
26089
+ ]);
26090
+
26091
+ const QueryRangeSpecSchema = v4.z.looseObject({
26092
+ endTime: v4.z.number(),
26093
+ rangeSize: v4.z.number(),
26094
+ frequency: v4.z.number(),
26095
+ });
26096
+ const QueryMetricIdSchema = v4.z.looseObject({
26097
+ metrics: v4.z.array(v4.z.string()),
26098
+ });
26099
+ const JoinTypeSchema = v4.z.enum(['INNER_JOIN', 'LEFT_OUTER_JOIN']);
26100
+ const FillModeSchema = v4.z.enum(['MARK', 'INNER', 'ALL']);
26101
+ const AlignmentSchema = v4.z.enum(['ABSOLUTE', 'LEFT', 'RIGHT']);
26102
+ const CalendarIntervalSchema = v4.z.enum([
26103
+ 'MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'QUARTER', 'YEAR',
26104
+ ]);
26105
+ const QuantileMethodSchema = v4.z.enum(['EXACT_INTERPOLATION', 'EXACT_SELECTOR']);
26106
+ const NassValueTypeSchema = v4.z.enum(['DOUBLE', 'LONG', 'STRING']);
26107
+ const QueryColumnTypeSpecSchema = v4.z.enum(['LONG', 'DOUBLE', 'STRING']);
26108
+ const aggregationFields = {
26109
+ fillGaps: v4.z.boolean().optional(),
26110
+ fillValue: v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean(), v4.z.null()]).optional(),
26111
+ fillMode: FillModeSchema.optional(),
26112
+ };
26113
+ const OrderItemSchema = v4.z.looseObject({
26114
+ column: v4.z.string(),
26115
+ sortDescending: v4.z.boolean(),
26116
+ });
26117
+ const QueryFromSpecSchema = v4.z.looseObject({
26118
+ op: v4.z.literal('FROM'),
26119
+ querySpecifier: QuerySpecifierSchema,
26120
+ queryRange: QueryRangeSpecSchema.optional(),
26121
+ queryHints: v4.z.array(QueryHintSchema).optional(),
26122
+ alias: v4.z.string().optional(),
26123
+ clampSize: v4.z.number().optional(),
26124
+ rowsClampSize: v4.z.number().optional(),
26125
+ metadataOnly: v4.z.boolean().optional(),
26126
+ });
26127
+ const QueryFromTableSpecSchema = v4.z.looseObject({
26128
+ op: v4.z.literal('FROM_TABLE'),
26129
+ tableName: v4.z.string(),
26130
+ alias: v4.z.string().optional(),
26131
+ limit: v4.z.number().optional(),
26132
+ lowerBoundKey: v4.z.array(v4.z.unknown()).optional(),
26133
+ upperBoundKey: v4.z.array(v4.z.unknown()).optional(),
26134
+ });
26135
+ const QueryShowTablesSpecSchema = v4.z.looseObject({
26136
+ op: v4.z.literal('SHOW_TABLES'),
26137
+ });
26138
+ const QueryWindowSpecSchema = v4.z.looseObject({
26139
+ op: v4.z.literal('WINDOW'),
26140
+ every: v4.z.number(),
26141
+ align: AlignmentSchema.optional(),
26142
+ incomplete: v4.z.boolean().optional(),
26143
+ useFrequency: v4.z.boolean().optional(),
26144
+ });
26145
+ const QueryCalendarWindowSpecSchema = v4.z.looseObject({
26146
+ op: v4.z.literal('WINDOW_CALENDAR'),
26147
+ calendarInterval: CalendarIntervalSchema,
26148
+ timeZone: v4.z.string().optional(),
26149
+ });
26150
+ const QueryGroupSpecSchema = v4.z.looseObject({
26151
+ op: v4.z.literal('GROUP'),
26152
+ columns: v4.z.array(v4.z.string()),
26153
+ });
26154
+ const QueryOrderSpecSchema = v4.z.looseObject({
26155
+ op: v4.z.literal('ORDER'),
26156
+ columns: v4.z.array(OrderItemSchema),
26157
+ topN: v4.z.number().optional(),
26158
+ });
26159
+ const QueryKeepSpecSchema = v4.z.looseObject({
26160
+ op: v4.z.literal('KEEP'),
26161
+ columns: v4.z.array(v4.z.string()),
26162
+ as: v4.z.array(v4.z.string()).optional(),
26163
+ });
26164
+ const QueryCountSpecSchema = v4.z.looseObject({
26165
+ op: v4.z.literal('COUNT'),
26166
+ ...aggregationFields,
26167
+ column: v4.z.string().optional(),
26168
+ as: v4.z.string().optional(),
26169
+ });
26170
+ const QuerySumSpecSchema = v4.z.looseObject({
26171
+ op: v4.z.literal('SUM'),
26172
+ ...aggregationFields,
26173
+ column: v4.z.string(),
26174
+ as: v4.z.string().optional(),
26175
+ });
26176
+ const QueryMinSpecSchema = v4.z.looseObject({
26177
+ op: v4.z.literal('MIN'),
26178
+ ...aggregationFields,
26179
+ column: v4.z.string(),
26180
+ as: v4.z.string().optional(),
26181
+ });
26182
+ const QueryMaxSpecSchema = v4.z.looseObject({
26183
+ op: v4.z.literal('MAX'),
26184
+ ...aggregationFields,
26185
+ column: v4.z.string(),
26186
+ as: v4.z.string().optional(),
26187
+ });
26188
+ const QueryMeanSpecSchema = v4.z.looseObject({
26189
+ op: v4.z.literal('MEAN'),
26190
+ ...aggregationFields,
26191
+ column: v4.z.string(),
26192
+ as: v4.z.string().optional(),
26193
+ weightColumn: v4.z.string().optional(),
26194
+ });
26195
+ const QueryMultiAggregationSpecSchema = v4.z.looseObject({
26196
+ op: v4.z.literal('AGG'),
26197
+ ...aggregationFields,
26198
+ spec: v4.z.array(v4.z.looseObject({
26199
+ ...aggregationFields,
26200
+ op: v4.z.string().optional(),
26201
+ column: v4.z.string().optional(),
26202
+ as: v4.z.string().optional(),
26203
+ fromAlias: v4.z.string().optional(),
26204
+ weightColumn: v4.z.string().optional(),
26205
+ orderSrc: v4.z.string().optional(),
26206
+ index: v4.z.number().optional(),
26207
+ scale: v4.z.number().optional(),
26208
+ method: QuantileMethodSchema.optional(),
26209
+ })),
26210
+ });
26211
+ const QueryNassAggregationSpecSchema = v4.z.looseObject({
26212
+ op: v4.z.literal('NASS_AGG'),
26213
+ ...aggregationFields,
26214
+ fromAlias: v4.z.string().optional(),
26215
+ as: v4.z.string().optional(),
26216
+ });
26217
+ const QueryDerivativeSpecSchema = v4.z.looseObject({
26218
+ op: v4.z.literal('DERIVATIVE'),
26219
+ column: v4.z.string(),
26220
+ unit: v4.z.number().optional(),
26221
+ negative: v4.z.boolean().optional(),
26222
+ as: v4.z.string().optional(),
26223
+ timeSrc: v4.z.string().optional(),
26224
+ });
26225
+ const QueryDifferenceSpecSchema = v4.z.looseObject({
26226
+ op: v4.z.literal('DIFFERENCE'),
26227
+ column: v4.z.string(),
26228
+ negative: v4.z.boolean().optional(),
26229
+ as: v4.z.string().optional(),
26230
+ timeSrc: v4.z.string().optional(),
26231
+ });
26232
+ const QueryFirstSpecSchema = v4.z.looseObject({
26233
+ op: v4.z.literal('FIRST'),
26234
+ ...aggregationFields,
26235
+ column: v4.z.string(),
26236
+ as: v4.z.string().optional(),
26237
+ orderSrc: v4.z.string().optional(),
26238
+ });
26239
+ const QueryLastSpecSchema = v4.z.looseObject({
26240
+ op: v4.z.literal('LAST'),
26241
+ ...aggregationFields,
26242
+ column: v4.z.string(),
26243
+ as: v4.z.string().optional(),
26244
+ orderSrc: v4.z.string().optional(),
26245
+ });
26246
+ const QueryQuantileSpecSchema = v4.z.looseObject({
26247
+ op: v4.z.literal('QUANTILE'),
26248
+ ...aggregationFields,
26249
+ column: v4.z.string(),
26250
+ as: v4.z.string().optional(),
26251
+ method: QuantileMethodSchema.optional(),
26252
+ index: v4.z.number(),
26253
+ scale: v4.z.number().optional(),
26254
+ });
26255
+ const QueryDistinctSpecSchema = v4.z.looseObject({
26256
+ op: v4.z.literal('DISTINCT'),
26257
+ ...aggregationFields,
26258
+ });
26259
+ const QueryDescribeSpecSchema = v4.z.looseObject({
26260
+ op: v4.z.literal('DESCRIBE'),
26261
+ });
26262
+ const QueryTopSpecSchema = v4.z.looseObject({
26263
+ op: v4.z.literal('TOP'),
26264
+ column: v4.z.string(),
26265
+ n: v4.z.number(),
26266
+ sortAscending: v4.z.boolean().optional(),
26267
+ });
26268
+ const QueryBottomSpecSchema = v4.z.looseObject({
26269
+ op: v4.z.literal('BOTTOM'),
26270
+ column: v4.z.string(),
26271
+ n: v4.z.number(),
26272
+ sortAscending: v4.z.boolean().optional(),
26273
+ });
26274
+ const QueryMapSpecSchema = v4.z.looseObject({
26275
+ op: v4.z.literal('MAP'),
26276
+ fn: v4.z.string(),
26277
+ as: v4.z.string(),
26278
+ });
26279
+ const QueryMapStringSpecSchema = v4.z.looseObject({
26280
+ op: v4.z.literal('MAP_STRING'),
26281
+ column: v4.z.string(),
26282
+ pattern: v4.z.string(),
26283
+ as: v4.z.array(v4.z.string()).optional(),
26284
+ asType: v4.z.array(QueryColumnTypeSpecSchema).optional(),
26285
+ fillValues: v4.z.array(v4.z.string()).optional(),
26286
+ filterNotMatching: v4.z.boolean().optional(),
26287
+ });
26288
+ const QueryNassMapSpecSchema = v4.z.looseObject({
26289
+ op: v4.z.literal('NASS_MAP'),
26290
+ type: NassValueTypeSchema.optional(),
26291
+ time: v4.z.string().optional(),
26292
+ interval: v4.z.unknown().optional(),
26293
+ min: v4.z.unknown().optional(),
26294
+ max: v4.z.unknown().optional(),
26295
+ value: v4.z.string().optional(),
26296
+ count: v4.z.unknown().optional(),
26297
+ frequency: v4.z.number().optional(),
26298
+ });
26299
+ const QueryFilterSpecSchema = v4.z.looseObject({
26300
+ op: v4.z.literal('FILTER'),
26301
+ spec: QueryFilterPredicateSpecSchema,
26302
+ });
26303
+ const QueryFilterExprFnSpecSchema = v4.z.looseObject({
26304
+ op: v4.z.literal('FILTER_EXPR'),
26305
+ spec: v4.z.string(),
26306
+ });
26307
+ const QueryJoinDataSpecSchema = v4.z.looseObject({
26308
+ op: v4.z.literal('JOIN_DATA'),
26309
+ queryRange: QueryRangeSpecSchema.optional(),
26310
+ metricIdColumn: v4.z.string(),
26311
+ alias: v4.z.string().optional(),
26312
+ joinFirstOnly: v4.z.boolean().optional(),
26313
+ rowsClampSize: v4.z.number().optional(),
26314
+ });
26315
+ const QueryFromMetadataSpecSchema = v4.z.looseObject({
26316
+ op: v4.z.literal('FROM_METADATA'),
26317
+ querySpecifier: QuerySpecifierSchema,
26318
+ queryRange: QueryRangeSpecSchema.optional(),
26319
+ queryHints: v4.z.array(QueryHintSchema).optional(),
26320
+ alias: v4.z.string().optional(),
26321
+ rowsClampSize: v4.z.number().optional(),
26322
+ });
26323
+ const QueryFromTopologySpecSchema = v4.z.looseObject({
26324
+ op: v4.z.literal('FROM_TOPOLOGY'),
26325
+ querySpecifier: TasQuerySchema,
26326
+ alias: v4.z.string().optional(),
26327
+ rowsClampSize: v4.z.number().optional(),
26328
+ });
26329
+ const QueryFromDataSpecSchema = v4.z.looseObject({
26330
+ op: v4.z.literal('FROM_DATA'),
26331
+ querySpecifier: QueryMetricIdSchema,
26332
+ queryRange: QueryRangeSpecSchema.optional(),
26333
+ alias: v4.z.string().optional(),
26334
+ });
26335
+ const QueryJoinMetadataSpecSchema = v4.z.looseObject({
26336
+ op: v4.z.literal('JOIN_METADATA'),
26337
+ querySpecifier: QuerySpecifierSchema.optional(),
26338
+ queryRange: QueryRangeSpecSchema.optional(),
26339
+ queryHints: v4.z.array(QueryHintSchema).optional(),
26340
+ alias: v4.z.string().optional(),
26341
+ rowsClampSize: v4.z.number().optional(),
26342
+ externalIdColumn: v4.z.string().optional(),
26343
+ joinType: JoinTypeSchema.optional(),
26344
+ });
26345
+ const QueryJoinTopologySpecSchema = v4.z.looseObject({
26346
+ op: v4.z.literal('JOIN_TOPOLOGY'),
26347
+ rowsClampSize: v4.z.number().optional(),
26348
+ externalIdColumn: v4.z.string().optional(),
26349
+ joinType: JoinTypeSchema.optional(),
26350
+ });
26351
+ const QueryFormatTimeSpecSchema = v4.z.looseObject({
26352
+ op: v4.z.literal('FORMAT_TIME'),
26353
+ column: v4.z.string(),
26354
+ as: v4.z.string().optional(),
26355
+ duration: v4.z.boolean().optional(),
26356
+ pattern: v4.z.string().optional(),
26357
+ timezone: v4.z.string().optional(),
26358
+ });
26359
+ const QueryFormatSpecSchema = v4.z.looseObject({
26360
+ op: v4.z.literal('FORMAT'),
26361
+ format: v4.z.string(),
26362
+ columns: v4.z.array(v4.z.string()).optional(),
26363
+ as: v4.z.string().optional(),
26364
+ languageTag: v4.z.string().optional(),
26365
+ fillFormatError: v4.z.boolean().optional(),
26366
+ fillValue: v4.z.string().optional(),
26367
+ });
26368
+ const QueryLogSpecSchema = v4.z.looseObject({
26369
+ op: v4.z.literal('LOG'),
26370
+ name: v4.z.string().optional(),
26371
+ limit: v4.z.number().optional(),
26372
+ countRecords: v4.z.boolean().optional(),
26373
+ excludeFinalResult: v4.z.boolean().optional(),
26374
+ });
26375
+ const QueryScriptSpecSchema = v4.z.looseObject({
26376
+ op: v4.z.literal('SCRIPT'),
26377
+ script: v4.z.string(),
26378
+ inputColumns: v4.z.array(v4.z.string()).optional(),
26379
+ outputColumns: v4.z.array(v4.z.string()).optional(),
26380
+ });
26381
+ const QueryFunctionSpecSchema = v4.z.discriminatedUnion('op', [
26382
+ QueryFromSpecSchema,
26383
+ QueryFromTableSpecSchema,
26384
+ QueryShowTablesSpecSchema,
26385
+ QueryWindowSpecSchema,
26386
+ QueryCalendarWindowSpecSchema,
26387
+ QueryGroupSpecSchema,
26388
+ QueryOrderSpecSchema,
26389
+ QueryKeepSpecSchema,
26390
+ QueryCountSpecSchema,
26391
+ QuerySumSpecSchema,
26392
+ QueryMinSpecSchema,
26393
+ QueryMaxSpecSchema,
26394
+ QueryMeanSpecSchema,
26395
+ QueryMultiAggregationSpecSchema,
26396
+ QueryDerivativeSpecSchema,
26397
+ QueryDifferenceSpecSchema,
26398
+ QueryFirstSpecSchema,
26399
+ QueryLastSpecSchema,
26400
+ QueryQuantileSpecSchema,
26401
+ QueryDistinctSpecSchema,
26402
+ QueryDescribeSpecSchema,
26403
+ QueryTopSpecSchema,
26404
+ QueryBottomSpecSchema,
26405
+ QueryNassAggregationSpecSchema,
26406
+ QueryFilterSpecSchema,
26407
+ QueryFilterExprFnSpecSchema,
26408
+ QueryJoinDataSpecSchema,
26409
+ QueryFormatTimeSpecSchema,
26410
+ QueryFromMetadataSpecSchema,
26411
+ QueryFromTopologySpecSchema,
26412
+ QueryFromDataSpecSchema,
26413
+ QueryJoinMetadataSpecSchema,
26414
+ QueryJoinTopologySpecSchema,
26415
+ QueryLogSpecSchema,
26416
+ QueryNassMapSpecSchema,
26417
+ QueryMapStringSpecSchema,
26418
+ QueryMapSpecSchema,
26419
+ QueryFormatSpecSchema,
26420
+ QueryScriptSpecSchema,
26421
+ ]);
26422
+
26423
+ const QueryRequestSchema = v4.z.looseObject({
26424
+ query: v4.z.array(QueryFunctionSpecSchema),
26425
+ authorizationView: v4.z.string().optional(),
26426
+ limit: v4.z.number().optional(),
26427
+ });
26428
+
26429
+ const QueryResultSchema = v4.z.array(v4.z.unknown());
26430
+
25354
26431
  exports.DXChannel = void 0;
25355
26432
  (function (DXChannel) {
26433
+ /** @internal */
25356
26434
  DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_WEBHOOK = {
25357
26435
  id: 32498,
25358
26436
  orgId: 'ITOM-DX-DEMO-PROD',
@@ -25565,6 +26643,7 @@ exports.DXChannel = void 0;
25565
26643
  ],
25566
26644
  enableProxy: false,
25567
26645
  };
26646
+ /** @internal */
25568
26647
  DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_SMTP = {
25569
26648
  id: 32393,
25570
26649
  orgId: 'ITOM-DX-DEMO-PROD',
@@ -25618,6 +26697,7 @@ exports.DXChannel = void 0;
25618
26697
  ],
25619
26698
  enableProxy: false,
25620
26699
  };
26700
+ /** @internal */
25621
26701
  DXChannel.DX_CHANNEL_RESPONSE_EXAMPLE_ITSM = {
25622
26702
  id: 32182,
25623
26703
  orgId: 'ITOM-DX-DEMO-PROD',
@@ -40739,6 +41819,7 @@ exports.OIAlarm = void 0;
40739
41819
 
40740
41820
  exports.OIService = void 0;
40741
41821
  (function (OIService) {
41822
+ /** @internal */
40742
41823
  OIService.DEFAULT_SERVICE_INVENTORY_FILTER = {
40743
41824
  "and": {
40744
41825
  "expressions": [{
@@ -40753,6 +41834,7 @@ exports.OIService = void 0;
40753
41834
  }],
40754
41835
  },
40755
41836
  };
41837
+ /** @internal */
40756
41838
  OIService.DEFAULT_SERVICE_INVENTORY_REQUEST_BODY = {
40757
41839
  "pageSize": 1000,
40758
41840
  "customFilter": OIService.DEFAULT_SERVICE_INVENTORY_FILTER,
@@ -40762,6 +41844,7 @@ exports.OIService = void 0;
40762
41844
  "projectionFields": ["product", "name", "ipAddresses", "serviceNames", "type", "maintenance"],
40763
41845
  "groupByField": "type",
40764
41846
  };
41847
+ /** @internal */
40765
41848
  OIService.SAMPLE_SERVICE_INVENTORY_RESPONSE = {
40766
41849
  "totalCount": 11,
40767
41850
  "pageSize": 100,
@@ -40970,6 +42053,7 @@ exports.OIService = void 0;
40970
42053
  OIService.TYPICAL_SERVICE_REQUEST_PROJECTION_FILTER = ["rollupFilteredAlarmCount", "situationCount", "availability", "filteredParent", "availability_lastday",
40971
42054
  "immediateFilteredChildren", "immediateFilterChildrenCount", "health", "extId", "location", "maintenance",
40972
42055
  "name", "risk", "status", "tags", "serviceMetricGroups", "healthBucket"];
42056
+ /** @internal */
40973
42057
  OIService.DEFAULT_SERVICE_REQUEST_BODY = {
40974
42058
  "time": DateTime.now().toMillis(),
40975
42059
  "filters": [],
@@ -40981,6 +42065,7 @@ exports.OIService = void 0;
40981
42065
  "projectionFilter": OIService.DEFAULT_SERVICE_REQUEST_PROJECTION_FILTER,
40982
42066
  "showAlarms": true,
40983
42067
  };
42068
+ /** @internal */
40984
42069
  OIService.PARENT_SERVICE_REQUEST_BODY = {
40985
42070
  "time": DateTime.now().toMillis(),
40986
42071
  "filters": [],
@@ -40992,6 +42077,7 @@ exports.OIService = void 0;
40992
42077
  "projectionFilter": OIService.TYPICAL_SERVICE_REQUEST_PROJECTION_FILTER,
40993
42078
  "showSituations": true,
40994
42079
  };
42080
+ /** @internal */
40995
42081
  OIService.sampleServices = {
40996
42082
  "services": [{
40997
42083
  "name": "ACME NetOps Salisbury DC - NetOps-O2",
@@ -41202,6 +42288,7 @@ exports.OIService = void 0;
41202
42288
  };
41203
42289
  })(exports.OIService || (exports.OIService = {}));
41204
42290
 
42291
+ /** @internal */
41205
42292
  function createPostmanRequest(request) {
41206
42293
  function createPostmanHeaders(request) {
41207
42294
  const headersToReturn = new Array();
@@ -41307,6 +42394,7 @@ class SimpleHTTPError extends Error {
41307
42394
  }
41308
42395
  }
41309
42396
 
42397
+ /** @internal */
41310
42398
  const sampleServiceDetailRequestBody = {
41311
42399
  timeFrom: 1772843076673,
41312
42400
  timeTo: 1772929476673,
@@ -41315,6 +42403,7 @@ const sampleServiceDetailRequestBody = {
41315
42403
  userTimeZone: 'America/Los_Angeles',
41316
42404
  metrics: ['x6d-CE-H9B-1nQf0I0B', 'd_b-AE-H9B-3azifJ0B'],
41317
42405
  };
42406
+ /** @internal */
41318
42407
  const serviceDetailResponseBody = {
41319
42408
  service_name: 'SiteMinder PROD',
41320
42409
  id: 'SA:AA0725E0-0402-4320-A2B7-407025E9D673:41669409-e352-4ae5-af58-ba0da8989cd6',
@@ -43077,9 +44166,11 @@ exports.Situations = void 0;
43077
44166
 
43078
44167
  exports.TAS = void 0;
43079
44168
  (function (TAS) {
44169
+ /** @internal */
43080
44170
  TAS.ALL_QUERY = {
43081
44171
  filter: { op: 'ALL' },
43082
44172
  };
44173
+ /** @internal */
43083
44174
  TAS.GUENTER_AGENT_EDGE_QUERY = {
43084
44175
  filter: {
43085
44176
  op: 'TAKE_EDGES',
@@ -43096,6 +44187,7 @@ exports.TAS = void 0;
43096
44187
  ],
43097
44188
  },
43098
44189
  };
44190
+ /** @internal */
43099
44191
  TAS.AGENT_QUERY = {
43100
44192
  filter: {
43101
44193
  op: 'ATTRIBUTE',
@@ -43326,6 +44418,7 @@ exports.MatchType = void 0;
43326
44418
  MatchType["ATTRIBUTE_PREFIX_IGNORE_CASE"] = "ATTRIBUTE_PREFIX_IGNORE_CASE";
43327
44419
  MatchType["ATTRIBUTE_CONTAINS"] = "ATTRIBUTE_CONTAINS";
43328
44420
  })(exports.MatchType || (exports.MatchType = {}));
44421
+ /** @internal */
43329
44422
  const excludedAttributes = [
43330
44423
  "agent",
43331
44424
  "product",
@@ -55680,6 +56773,7 @@ class AgentService {
55680
56773
  this.dxSaaSService = dxSaaSService;
55681
56774
  this.log = log ?? new Logging.NullSimpleLog();
55682
56775
  }
56776
+ /** Queries agent sources whose name matches the given regex pattern. */
55683
56777
  queryAgentsByRegex(pattern) {
55684
56778
  const requestBody = {
55685
56779
  authorizationView: null,
@@ -55695,6 +56789,7 @@ class AgentService {
55695
56789
  };
55696
56790
  return this.dxSaaSService.tenantPost('/atc/views/querySource', requestBody);
55697
56791
  }
56792
+ /** Queries agent sources by exact full name (prepends `SuperDomain|` if missing). */
55698
56793
  queryAgentsByExactName(name) {
55699
56794
  const sName = name.startsWith('SuperDomain|')
55700
56795
  ? name
@@ -55713,12 +56808,14 @@ class AgentService {
55713
56808
  };
55714
56809
  return this.dxSaaSService.tenantPost('/atc/views/querySource', requestBody);
55715
56810
  }
56811
+ /** Retrieves all agent names, retrying once on failure. */
55716
56812
  retrieveAgentsWithRetry() {
55717
56813
  return this.retrieveAgents().catch((reason) => {
55718
56814
  this.log.warn('Error on first attempt (expected): ' + reason);
55719
56815
  return this.retrieveAgents();
55720
56816
  });
55721
56817
  }
56818
+ /** Generates a configurable license report grouping agents by the provided licensing configuration rules. */
55722
56819
  async configurableLicenseReport(licenseConfiguration) {
55723
56820
  const agentNames = await this.retrieveAgentsWithRetry();
55724
56821
  this.log.debug(`AgentNames: ${agentNames.length}`);
@@ -55839,6 +56936,7 @@ class AgentService {
55839
56936
  regexMatches(agentNameRegex, agentName) {
55840
56937
  return new RegExp(agentNameRegex, 'i').test(agentName);
55841
56938
  }
56939
+ /** Generates a default license report categorizing agents into Java, Node, Python, .NET, Infra, etc. */
55842
56940
  licenseReport() {
55843
56941
  return this.retrieveAgents().then((agentNames) => {
55844
56942
  const agentDescriptors = new Array();
@@ -55956,12 +57054,14 @@ class AgentService {
55956
57054
  return agentDescriptor.agentName.startsWith('Kubernetes Agent');
55957
57055
  }
55958
57056
  // /apm/atc/api/private/trace/detail
57057
+ /** Returns the full trace detail for a given trace ID. */
55959
57058
  getTrace(traceId) {
55960
57059
  const traceRequestBody = {
55961
57060
  traceIds: [traceId],
55962
57061
  };
55963
57062
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/detail', traceRequestBody);
55964
57063
  }
57064
+ /** Returns trace summaries for a specific agent within a time range. */
55965
57065
  getTraceSummaries(startTime, endTime, agentName, index, limit, errorsOnly) {
55966
57066
  const traceSummaryRequestBody = {
55967
57067
  endTime: endTime.toISO(),
@@ -55974,6 +57074,7 @@ class AgentService {
55974
57074
  };
55975
57075
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/summary', traceSummaryRequestBody);
55976
57076
  }
57077
+ /** Starts a trace session on one or more agents with optional filters. */
55977
57078
  startAgentTrace(agents, minTXDuration, sessionDuration, parameterName, operationType, parameterNotSign, parameterValue, errorFilterValue) {
55978
57079
  let body = {
55979
57080
  agentList: agents,
@@ -55994,6 +57095,7 @@ class AgentService {
55994
57095
  }
55995
57096
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/agentlist/starttrace', body);
55996
57097
  }
57098
+ /** Returns all agent statuses (deduped by processURL), optionally scoped to a universe or query. */
55997
57099
  async retrieveAllAgentStatuses(universeId, query) {
55998
57100
  const params = {
55999
57101
  page: 0,
@@ -56017,6 +57119,7 @@ class AgentService {
56017
57119
  this.log.debug(`retrieved ${statuses.items.length ?? 0} statuses`);
56018
57120
  return Array.from(statusMap.values());
56019
57121
  }
57122
+ /** Returns a single page of agent statuses with explicit page/size control. */
56020
57123
  retrieveAgentStatuses(page, size, universeId, query) {
56021
57124
  return this.dxSaaSService
56022
57125
  .tenantGet('/apm/atc/api/private/agentlist', { page, size, universeId, q: query ?? 'latest:true' })
@@ -56024,6 +57127,7 @@ class AgentService {
56024
57127
  return agentStatusList.items;
56025
57128
  });
56026
57129
  }
57130
+ /** Returns agent names active within a time window (defaults to last 12 hours). */
56027
57131
  retrieveAgents(startTime, endTime) {
56028
57132
  if (!endTime) {
56029
57133
  endTime = Date.now();
@@ -56040,12 +57144,14 @@ class AgentService {
56040
57144
  return agentNameList.items ?? [];
56041
57145
  });
56042
57146
  }
57147
+ /** Returns agents matching a universe's NASS filter specifier. */
56043
57148
  retrieveAgentsForUniverseNASSFilter(universeNASSFilter) {
56044
57149
  return this.dxSaaSService.tenantPost('/atc/views/querySource', {
56045
57150
  authorizationView: null,
56046
57151
  specifier: universeNASSFilter,
56047
57152
  });
56048
57153
  }
57154
+ /** Returns agent names active within a time window for a specific universe. */
56049
57155
  retrieveUniverseAgents(universeId, startTime, endTime) {
56050
57156
  if (!endTime) {
56051
57157
  endTime = Date.now();
@@ -56094,6 +57200,7 @@ class AgentService {
56094
57200
  }
56095
57201
  }
56096
57202
  }
57203
+ /** Returns the previously collected thread dump data for a given thread dump ID. */
56097
57204
  async getThreadDump(threadDumpId) {
56098
57205
  const threadDumpBody = {
56099
57206
  id: threadDumpId,
@@ -56104,6 +57211,7 @@ class AgentService {
56104
57211
  return response;
56105
57212
  });
56106
57213
  }
57214
+ /** Triggers a thread dump collection for the specified agent. */
56107
57215
  async collectThreadDump(fullAgentName) {
56108
57216
  if (!fullAgentName.startsWith('SuperDomain|')) {
56109
57217
  fullAgentName = 'SuperDomain|' + fullAgentName;
@@ -56119,6 +57227,7 @@ class AgentService {
56119
57227
  return response;
56120
57228
  });
56121
57229
  }
57230
+ /** Returns existing thread dump records for the specified agent. */
56122
57231
  async queryThreadDumps(fullAgentName) {
56123
57232
  if (!fullAgentName.startsWith('SuperDomain|')) {
56124
57233
  fullAgentName = 'SuperDomain|' + fullAgentName;
@@ -56132,6 +57241,7 @@ class AgentService {
56132
57241
  return response;
56133
57242
  });
56134
57243
  }
57244
+ /** Returns whether the specified agent supports thread dump collection. */
56135
57245
  async threadDumpCapable(fullAgentName) {
56136
57246
  if (!fullAgentName.startsWith('SuperDomain|')) {
56137
57247
  fullAgentName = 'SuperDomain|' + fullAgentName;
@@ -56163,11 +57273,13 @@ class AlarmService {
56163
57273
  this.dxSaaSService = dxSaaSService;
56164
57274
  this.simpleLog = simpleLog;
56165
57275
  }
57276
+ /** Returns a single alarm by its ID using the GET endpoint. */
56166
57277
  async getAlarm(alarmId) {
56167
57278
  return this.dxSaaSService.oiGet('oi/v2/api/alarms/_search', {
56168
57279
  alarmId: alarmId,
56169
57280
  });
56170
57281
  }
57282
+ /** Returns the overview (first alarm in a custom-filter search) for an alarm ID. */
56171
57283
  async getAlarmOverview(alarmId) {
56172
57284
  const singleAlarmQuery = await this.dxSaaSService.oiPost('oi/v2/api/alarms/_search', {
56173
57285
  deviceNames: [],
@@ -56214,6 +57326,7 @@ class AlarmService {
56214
57326
  throw new Error('Bad Alarm Query');
56215
57327
  }
56216
57328
  }
57329
+ /** Sends a notification for an alarm to the specified channel with optional template/locale. */
56217
57330
  async triggerNotification(alarmId, notificationChannelName, template = '', locale = 'en-US') {
56218
57331
  const alarm = await this.getAlarmOverview(alarmId);
56219
57332
  const triggerBody = {
@@ -56228,6 +57341,7 @@ class AlarmService {
56228
57341
  this.simpleLog.debug(JSON.stringify(triggerBody, null, 2));
56229
57342
  return this.dxSaaSService.oiPost('oi/v2/api/alarmactions/channel', triggerBody);
56230
57343
  }
57344
+ /** Assigns an alarm to a user by their user ID. */
56231
57345
  async assign(alarmId, userId) {
56232
57346
  const alarm = await this.getAlarm(alarmId);
56233
57347
  this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
@@ -56248,6 +57362,7 @@ class AlarmService {
56248
57362
  };
56249
57363
  return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/assign', body);
56250
57364
  }
57365
+ /** Clears (closes) an alarm. */
56251
57366
  async clear(alarmId) {
56252
57367
  const alarm = await this.getAlarm(alarmId);
56253
57368
  this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
@@ -56268,6 +57383,7 @@ class AlarmService {
56268
57383
  };
56269
57384
  return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/clear', body);
56270
57385
  }
57386
+ /** Acknowledges or unacknowledges an alarm. */
56271
57387
  async acknowledge(alarmId, unacknowledge = false) {
56272
57388
  const alarm = await this.getAlarm(alarmId);
56273
57389
  this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
@@ -56288,6 +57404,7 @@ class AlarmService {
56288
57404
  };
56289
57405
  return this.dxSaaSService.tenantPost('oi/v2/api/alarmactions/ack', body);
56290
57406
  }
57407
+ /** Updates a single field on an alarm document via the Jarvis ingestion API. */
56291
57408
  async updateAlarmField(alarmId, field, value) {
56292
57409
  const alarm = await this.getAlarm(alarmId);
56293
57410
  this.simpleLog.debug('original alarm:', JSON.stringify(alarm, null, 2));
@@ -56324,6 +57441,7 @@ class AlarmService {
56324
57441
  this.simpleLog.debug('update request body', JSON.stringify(body, null, 2));
56325
57442
  return this.dxSaaSService.tenantPost('jarvis/v2/ingestion', body, {}, headers);
56326
57443
  }
57444
+ /** Returns the lifecycle event history for a given alarm ID. */
56327
57445
  async getAlarmLifeCycle(alarmId) {
56328
57446
  const alarmLifeCycleRequestBody = {
56329
57447
  alarmId: alarmId,
@@ -56339,6 +57457,7 @@ class AlarmService {
56339
57457
  };
56340
57458
  return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', alarmLifeCycleRequestBody);
56341
57459
  }
57460
+ /** Returns all alarms within a time range, with optional type/closed/filter params. */
56342
57461
  async getAlarms(startTime, endTime, includedAlarmTypes = [], includeClosed = false, pageSize = 100, alarmFilter) {
56343
57462
  const alarmRequestBody = DEFAULT_ALARMS_REQUEST_BODY$1;
56344
57463
  alarmRequestBody.timeFrom = startTime.toMillis();
@@ -56366,9 +57485,11 @@ class AlarmService {
56366
57485
  mapAlarms(alarmAllPage.alarms);
56367
57486
  return alarmIdMap;
56368
57487
  }
57488
+ /** Returns all alarm enrichment rules configured for the tenant. */
56369
57489
  async getEnrichmentRules() {
56370
57490
  return this.dxSaaSService.oiGet('oi/v2/alarm/enrichment/rules');
56371
57491
  }
57492
+ /** Lists all alarm queue (filter) configurations. */
56372
57493
  async getAlarmQueues() {
56373
57494
  //https://apmgw.dxi-na1.saas.broadcom.com/aa0725e004024320a2b7407025e9d673/oi/v2/api/alarmfilters/_search
56374
57495
  // ?sortBy=filterName&alarmCategory=rawAlarm&userRoles=TA
@@ -56376,6 +57497,7 @@ class AlarmService {
56376
57497
  sortBy: 'filterName',
56377
57498
  });
56378
57499
  }
57500
+ /** Returns the detail of a single alarm queue by its ID. */
56379
57501
  async getAlarmQueueDetail(queueId) {
56380
57502
  //https://apmgw.dxi-na1.saas.broadcom.com/aa0725e004024320a2b7407025e9d673/oi/v2/api/alarmfilters/_search
56381
57503
  // ?id=0d8b6f6c-184e-4bba-b610-dfb07c275264&alarmCategory=rawAlarm
@@ -56391,6 +57513,7 @@ class AlarmService {
56391
57513
  showClosedAlarms: true,
56392
57514
  frequency: -1,
56393
57515
  };
57516
+ /** Returns historically related alarms for a given alarm ID. */
56394
57517
  async getRelatedAlarms(alarmId) {
56395
57518
  const alarm = await this.getAlarm(alarmId);
56396
57519
  return this.dxSaaSService.oiPost('oi/v2/api/inspect/historicalRef', {
@@ -58010,6 +59133,7 @@ class AlertService {
58010
59133
  this.dxSaaSService = dxSaaSService;
58011
59134
  this.log = log;
58012
59135
  }
59136
+ /** Returns all alerts using the v2 internal API (up to the API limit). */
58013
59137
  async retrieveAllAlertsV2() {
58014
59138
  return this.dxSaaSService
58015
59139
  .tenantPost('atc/private/internal/alert/query', AllAlertsRequestBody)
@@ -58020,6 +59144,7 @@ class AlertService {
58020
59144
  return alertList;
58021
59145
  });
58022
59146
  }
59147
+ /** Returns up to the first 1000 alerts using the legacy alert API. */
58023
59148
  async retrieveFirst1000Alerts() {
58024
59149
  return this.dxSaaSService
58025
59150
  .tenantPost('/apm/atc/api/private/alert/query', AllAlertsRequestBody)
@@ -58030,6 +59155,7 @@ class AlertService {
58030
59155
  return alertList;
58031
59156
  });
58032
59157
  }
59158
+ /** Retrieves all alerts across multiple cursor-paginated requests (increments of 500). */
58033
59159
  async reallyRetrieveAllAlerts() {
58034
59160
  const increment = 500;
58035
59161
  const alertList = await this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/query', AlertService.createAlertRequestCursorRequestBody(0, increment));
@@ -58059,6 +59185,7 @@ class AlertService {
58059
59185
  throw new Error('Alert list contained no data.');
58060
59186
  }
58061
59187
  }
59188
+ /** Returns all alerts for a management module using the v2 internal API. */
58062
59189
  async retrieveManagementModuleAlertsV2(managementModuleId) {
58063
59190
  return this.dxSaaSService
58064
59191
  .tenantPost('atc/private/internal/alert/query', {
@@ -58074,6 +59201,7 @@ class AlertService {
58074
59201
  return alertList;
58075
59202
  });
58076
59203
  }
59204
+ /** Returns alerts belonging to a management module using the legacy alert API. */
58077
59205
  async retrieveManagementModuleAlerts(managementModuleId) {
58078
59206
  return this.dxSaaSService
58079
59207
  .tenantPost('/apm/atc/api/private/alert/query', AlertService.createManagementModuleAlertRequestBody(managementModuleId))
@@ -58084,6 +59212,7 @@ class AlertService {
58084
59212
  return alertList;
58085
59213
  });
58086
59214
  }
59215
+ /** Returns all alerts (normal + summary) for a management module using the legacy API. */
58087
59216
  async retrieveAllManagementModuleAlerts(managementModuleId) {
58088
59217
  return this.dxSaaSService
58089
59218
  .tenantPost('/apm/atc/api/private/alert/query', AlertService.createManagementModuleAllAlertRequestBody(managementModuleId))
@@ -58094,14 +59223,17 @@ class AlertService {
58094
59223
  return alertList;
58095
59224
  });
58096
59225
  }
59226
+ /** Returns a single alert definition by ID using the v2 internal API. */
58097
59227
  async retrieveAlertDefinitionV2(alertId, managementModuleId) {
58098
59228
  return this.dxSaaSService.tenantPost(`atc/private/internal/alert/get`, { itemId: alertId, mmId: managementModuleId });
58099
59229
  }
59230
+ /** Returns a single alert definition by external ID using the legacy alert API. */
58100
59231
  async retrieveAlertDefinition(alertId) {
58101
59232
  const params = { externalId: alertId };
58102
59233
  const paramEncoded = lib$1.stringify(params);
58103
59234
  return this.dxSaaSService.tenantGet(`/apm/atc/api/private/alert/query?${paramEncoded}`);
58104
59235
  }
59236
+ /** Copies an alert (v2) to a target management module with a new name, optionally changing active state/description. */
58105
59237
  async copyAlertV2(originalAlertId, originalManagementModuleId, newAlertName, targetManagementModuleId, active, description) {
58106
59238
  return this.retrieveAlertDefinitionV2(originalAlertId, originalManagementModuleId).then((alert) => {
58107
59239
  alert.managementModuleId = targetManagementModuleId;
@@ -58114,6 +59246,7 @@ class AlertService {
58114
59246
  return this.createAlertV2(alert);
58115
59247
  });
58116
59248
  }
59249
+ /** Copies an alert (legacy) to a target management module with a new name. */
58117
59250
  async copyAlert(originalAlertId, newAlertName, targetManagementModuleName, active, description) {
58118
59251
  return this.retrieveAlertDefinition(originalAlertId).then((alert) => {
58119
59252
  alert.managementModuleName = targetManagementModuleName;
@@ -58126,6 +59259,7 @@ class AlertService {
58126
59259
  return this.createAlert(alert);
58127
59260
  });
58128
59261
  }
59262
+ /** Copies an alert (legacy) to a new management module and assigns a different metric grouping. */
58129
59263
  async copyAlertWithNewMetricGrouping(originalAlertId, newAlertName, targetManagementModuleName, active, description, mgId) {
58130
59264
  return this.retrieveAlertDefinition(originalAlertId).then((alert) => {
58131
59265
  alert.managementModuleName = targetManagementModuleName;
@@ -58139,17 +59273,21 @@ class AlertService {
58139
59273
  return this.createAlert(alert);
58140
59274
  });
58141
59275
  }
59276
+ /** Creates a new alert using the v2 internal API (strips ID before sending). */
58142
59277
  createAlertV2(alert) {
58143
59278
  delete alert.id;
58144
59279
  return this.dxSaaSService.tenantPost('atc/private/internal/alert', alert);
58145
59280
  }
59281
+ /** Creates a new alert using the legacy alert API (strips ID before sending). */
58146
59282
  createAlert(alert) {
58147
59283
  delete alert.id;
58148
59284
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/', alert);
58149
59285
  }
59286
+ /** Updates an existing alert using the v2 internal API. */
58150
59287
  updateAlertV2(alert) {
58151
59288
  return this.dxSaaSService.tenantPost('atc/private/internal/alert', alert);
58152
59289
  }
59290
+ /** Updates an existing alert using the legacy alert API. */
58153
59291
  updateAlert(alert) {
58154
59292
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/alert/', alert);
58155
59293
  }
@@ -58187,19 +59325,24 @@ class ApmUniverseService {
58187
59325
  constructor(dxSaaSService) {
58188
59326
  this.dxSaaSService = dxSaaSService;
58189
59327
  }
59328
+ /** Returns all APM universes (views) for the tenant. */
58190
59329
  async retrieveAllUniverses() {
58191
59330
  let universeList = await this.dxSaaSService.tenantGet('/atc/views/view', { skipCount: 'true' });
58192
59331
  return universeList.items;
58193
59332
  }
59333
+ /** Returns a single APM universe by its view ID. */
58194
59334
  retrieveUniverse(universeId) {
58195
59335
  return this.dxSaaSService.tenantGet(`/atc/views/view/${universeId}`);
58196
59336
  }
59337
+ /** Creates a new APM universe from the given request body. */
58197
59338
  createUniverse(universe) {
58198
59339
  return this.dxSaaSService.tenantPost('/atc/views/view', universe);
58199
59340
  }
59341
+ /** Deletes an APM universe by its view ID. */
58200
59342
  deleteUniverse(viewId) {
58201
59343
  return this.dxSaaSService.tenantDelete('/atc/views/view/' + viewId);
58202
59344
  }
59345
+ /** Updates an existing APM universe. */
58203
59346
  updateUniverse(universe) {
58204
59347
  return this.dxSaaSService.tenantPut('/atc/views/view/' + universe.viewId, universe);
58205
59348
  }
@@ -58221,6 +59364,7 @@ class AsmService {
58221
59364
  this.dxSaaSService = dxSaaSService;
58222
59365
  this.log = log;
58223
59366
  }
59367
+ /** Lazily creates and returns the ASM API client, using token and base URL from configuration. */
58224
59368
  getClient() {
58225
59369
  if (!this.localClient) {
58226
59370
  if (!this.dxSaaSService.dxdoConfiguration.dxConfiguration.dxASMToken) {
@@ -58243,6 +59387,7 @@ class AsmService {
58243
59387
  }
58244
59388
  return this.localClient;
58245
59389
  }
59390
+ /** Lists all ASM scan folders accessible with the configured token. */
58246
59391
  async listFolders() {
58247
59392
  return foldersList({
58248
59393
  client: this.getClient(),
@@ -58273,9 +59418,11 @@ class AttributeService {
58273
59418
  this.dxSaaSService = dxSaaSService;
58274
59419
  this.log = log;
58275
59420
  }
59421
+ /** Returns all intellisense attributes, optionally including gathered attributes. */
58276
59422
  async getAttributes(includeGathered) {
58277
59423
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/intellisense/attribute', { includeGathered: includeGathered });
58278
59424
  }
59425
+ /** Returns a `ListMap` of layer → attribute names for all gathered attributes. */
58279
59426
  async getAttributesAsListMap() {
58280
59427
  const newAttributesListMap = new ListMap();
58281
59428
  const attributesResponse = await this.getAttributes(true);
@@ -58285,6 +59432,7 @@ class AttributeService {
58285
59432
  }
58286
59433
  return newAttributesListMap;
58287
59434
  }
59435
+ /** Returns `true` if an attribute with the given layer and name exists (uses cache). */
58288
59436
  async attributeExists(layer, name) {
58289
59437
  if (this.cachedAttributes.getMap().size == 0) {
58290
59438
  this.cachedAttributes = await this.getAttributesAsListMap();
@@ -58309,9 +59457,11 @@ class AuthorizationService {
58309
59457
  this.dxSaaSService = dxSaaSService;
58310
59458
  this.log = log;
58311
59459
  }
59460
+ /** Returns all ACA groups, up to `maxResults` entries. */
58312
59461
  getGroups(maxResults = 200) {
58313
59462
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/aca/group', { size: maxResults - 1, groupId: '*' });
58314
59463
  }
59464
+ /** Finds ACA users matching a username, up to `maxResults` entries. */
58315
59465
  findUser(userName, maxResults = 200) {
58316
59466
  this.log.debug('Getting user');
58317
59467
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/aca/user', {
@@ -58319,6 +59469,7 @@ class AuthorizationService {
58319
59469
  userId: userName,
58320
59470
  });
58321
59471
  }
59472
+ /** Returns all OI users for the tenant. */
58322
59473
  getUsers() {
58323
59474
  return this.dxSaaSService.tenantGet('oi/v2/api/users');
58324
59475
  }
@@ -58339,6 +59490,7 @@ class AxaService {
58339
59490
  this.dxSaaSService = dxSaaSService;
58340
59491
  this.log = log;
58341
59492
  }
59493
+ /** Returns a paginated list of user sessions for an application within a time range. */
58342
59494
  getSessions(applicationName, onlyWithScreenshots, startDateTime, endDateTime, cursor) {
58343
59495
  const params = {
58344
59496
  app_id: applicationName,
@@ -58356,6 +59508,7 @@ class AxaService {
58356
59508
  }
58357
59509
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/sessions/list', false, false, undefined, params);
58358
59510
  }
59511
+ /** Returns the BA extension snippet (custom or default) for a given application. */
58359
59512
  getApplicationBAExtSnippet(applicationName, baJSType, profileId, tenantId) {
58360
59513
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/custombajs', false, false, undefined, {
58361
59514
  app_id: applicationName,
@@ -58364,9 +59517,11 @@ class AxaService {
58364
59517
  tenantId,
58365
59518
  });
58366
59519
  }
59520
+ /** Uploads a custom BA extension snippet for an application. */
58367
59521
  setApplicationBAExtSnippet(applicationName, tenantId, formData) {
58368
59522
  return this.dxSaaSService.axaRequest('POST', `mdo/v4/custombajs/${tenantId}/${applicationName}`, false, false, formData, undefined, formData.getHeaders());
58369
59523
  }
59524
+ /** Returns aggregated crash summary data for an application over a time range. */
58370
59525
  getCrashSummary(applicationName, startTime, endTime, aggregation) {
58371
59526
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/data', false, false, null, {
58372
59527
  app_id: applicationName,
@@ -58375,6 +59530,7 @@ class AxaService {
58375
59530
  start_date: startTime.toISO(),
58376
59531
  });
58377
59532
  }
59533
+ /** Returns total crash summary (count/rate) for an application over a time range. */
58378
59534
  getCrashTotalSummary(applicationName, startTime, endTime, aggregation) {
58379
59535
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/total_summary', false, false, null, {
58380
59536
  app_id: applicationName,
@@ -58383,6 +59539,7 @@ class AxaService {
58383
59539
  start_date: startTime.toISO(),
58384
59540
  });
58385
59541
  }
59542
+ /** Returns crash groups for an application within a time range. */
58386
59543
  getCrashGroups(applicationName, startTime, endTime, aggregation) {
58387
59544
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/crash_groups', false, false, null, {
58388
59545
  app_id: applicationName,
@@ -58391,6 +59548,7 @@ class AxaService {
58391
59548
  start_date: startTime.toISO(),
58392
59549
  });
58393
59550
  }
59551
+ /** Returns all crash groups for an application within a time range (alias of getCrashGroups). */
58394
59552
  async getAllCrashGroups(applicationName, startTime, endTime, aggregation) {
58395
59553
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/crashes/crash_groups', false, false, null, {
58396
59554
  app_id: applicationName,
@@ -58399,6 +59557,7 @@ class AxaService {
58399
59557
  start_date: startTime.toISO(),
58400
59558
  });
58401
59559
  }
59560
+ /** Returns individual crash records within a specific crash group. */
58402
59561
  getCrashesInGroup(applicationName, groupId, startTime, endTime, aggregation) {
58403
59562
  return this.dxSaaSService.axaRequest('GET', `mdo/v4/crashes/crashlist/${groupId}`, false, false, null, {
58404
59563
  app_id: applicationName,
@@ -58407,40 +59566,51 @@ class AxaService {
58407
59566
  start_date: startTime.toISO(),
58408
59567
  });
58409
59568
  }
59569
+ /** Returns the detail payload for a single crash by its ID. */
58410
59570
  getCrashDetails(crashId) {
58411
59571
  return this.dxSaaSService.axaRequest('GET', `mdo/v4/crashes/crashes/${crashId}`, false, false, null);
58412
59572
  }
59573
+ /** Creates a new AXA application. */
58413
59574
  createApplication(application) {
58414
59575
  this.log.debug('creating application using mda/v4');
58415
59576
  return this.dxSaaSService.axaRequest('POST', 'mdo/v4/apps', false, false, application);
58416
59577
  }
59578
+ /** Returns all AXA applications for the tenant. */
58417
59579
  getApplications() {
58418
59580
  this.log.debug('getting applications using mda/v4');
58419
59581
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/apps', false, false);
58420
59582
  }
59583
+ /** Returns a single AXA application by name. */
58421
59584
  getApplication(applicationName) {
58422
59585
  return this.dxSaaSService.axaRequest('GET', `mdo/v4/apps/${applicationName}`, false, false);
58423
59586
  }
59587
+ /** Deletes an AXA application by name. */
58424
59588
  deleteApplication(applicationName) {
58425
59589
  return this.dxSaaSService.axaRequest('DELETE', `mdo/v4/apps/${applicationName}`, false, false);
58426
59590
  }
59591
+ /** Returns all data collection profiles for the tenant. */
58427
59592
  getDataCollectionProfiles() {
58428
59593
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/profiles/tenant', false, false);
58429
59594
  }
59595
+ /** Updates an existing data collection profile by its numeric ID. */
58430
59596
  async updateDataCollectionProfile(profileId, updatedProfile) {
58431
59597
  return this.dxSaaSService.axaRequest('PUT', `mdo/v4/profiles/${profileId}`, false, false, updatedProfile);
58432
59598
  }
59599
+ /** Creates (imports) a data collection profile for a given cohort and application. */
58433
59600
  async importDataCollectionProfile(cohortId, applicationName, updatedProfile) {
58434
59601
  return this.dxSaaSService.axaRequest('POST', `mdo/v4/profiles/create/${cohortId}/${applicationName}`, false, false, updatedProfile);
58435
59602
  }
59603
+ /** Returns the currently assigned data collection profile for an application. */
58436
59604
  async getApplicationProfile(applicationName) {
58437
59605
  return this.dxSaaSService.axaRequest('GET', `mdo/v4/profiles/${applicationName}`, false, false);
58438
59606
  }
59607
+ /** Assigns a data collection profile to an application by profile ID. */
58439
59608
  async setApplicationProfile(applicationName, profileId) {
58440
59609
  return this.dxSaaSService.axaRequest('PUT', `mdo/v4/profiles/app/${applicationName}`, false, false, {}, {
58441
59610
  profile_id: profileId,
58442
59611
  });
58443
59612
  }
59613
+ /** Returns user activity data for an application (last 24 hours). */
58444
59614
  async getActivities(appName) {
58445
59615
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/user_activity/activities/', false, false, {}, {
58446
59616
  start_date: DateTime.now().minus({ days: 1 }).toISO(),
@@ -58450,6 +59620,7 @@ class AxaService {
58450
59620
  cachebuster: DateTime.now().toMillis(),
58451
59621
  });
58452
59622
  }
59623
+ /** Returns screen-level activity data for an application (last 30 days). */
58453
59624
  async getScreens(appName) {
58454
59625
  return this.dxSaaSService.axaRequest('GET', 'mdo/v4/user_activity/screens/', false, false, {}, {
58455
59626
  start_date: DateTime.now().minus({ days: 30 }).toISO(),
@@ -58460,6 +59631,7 @@ class AxaService {
58460
59631
  num_of_results: 100,
58461
59632
  });
58462
59633
  }
59634
+ /** Creates a new user activity record. */
58463
59635
  async createActivity(activityCreateRequest) {
58464
59636
  return this.dxSaaSService.axaRequest('POST', 'mdo/v4/user_activity', false, false, activityCreateRequest);
58465
59637
  }
@@ -58480,9 +59652,11 @@ class BlobService {
58480
59652
  this.dxSaaSService = dxSaaSService;
58481
59653
  this.log = log;
58482
59654
  }
59655
+ /** Returns the list of available blob schemas. */
58483
59656
  async listSchemas() {
58484
59657
  return this.dxSaaSService.tenantPost('/blobstorage/schema/list', {});
58485
59658
  }
59659
+ /** Fetches a blob by schema, ID, and optional version; returns the raw data string. */
58486
59660
  async fetchBlob(schema, id, version) {
58487
59661
  return this.dxSaaSService
58488
59662
  .tenantPost('/blobstorage/blob/fetch', {}, {
@@ -58494,6 +59668,7 @@ class BlobService {
58494
59668
  return response.data;
58495
59669
  });
58496
59670
  }
59671
+ /** Returns all blobs (without content) registered under a given schema. */
58497
59672
  async listBlobsForSchema(schema) {
58498
59673
  this.log.debug(`requesting all blobs for schema '${schema}'`);
58499
59674
  return this.dxSaaSService.tenantPost('/blobstorage/blob/query', {
@@ -58518,6 +59693,7 @@ class ChannelService {
58518
59693
  constructor(dxSaaSService) {
58519
59694
  this.dxSaaSService = dxSaaSService;
58520
59695
  }
59696
+ /** Returns all notification channels using the new DXChannelConfiguration model. */
58521
59697
  retrieveAllChannelsNew() {
58522
59698
  return this.dxSaaSService
58523
59699
  .axaRequest('get', 'dxinotify/notify/v1/channels', true, false)
@@ -58525,6 +59701,7 @@ class ChannelService {
58525
59701
  return channelResponseBody.channels;
58526
59702
  });
58527
59703
  }
59704
+ /** Returns all notification channels using the legacy Channel model. */
58528
59705
  retrieveAllChannels() {
58529
59706
  return this.dxSaaSService
58530
59707
  .axaRequest('get', 'dxinotify/notify/v1/channels', true, false)
@@ -58532,30 +59709,35 @@ class ChannelService {
58532
59709
  return channelResponseBody.channels;
58533
59710
  });
58534
59711
  }
59712
+ /** Creates a new notification channel using the new DXChannelConfiguration model. */
58535
59713
  async createChannelNew(channelToCreate) {
58536
59714
  delete channelToCreate.id;
58537
59715
  channelToCreate.orgId = await this.dxSaaSService.getTenantCN();
58538
59716
  channelToCreate.author = 'dx-do';
58539
59717
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelToCreate);
58540
59718
  }
59719
+ /** Creates a new notification channel using the legacy Channel model. */
58541
59720
  async createChannel(channelToCreate) {
58542
59721
  delete channelToCreate.id;
58543
59722
  channelToCreate.orgId = await this.dxSaaSService.getTenantCN();
58544
59723
  channelToCreate.author = 'dx-do';
58545
59724
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelToCreate);
58546
59725
  }
59726
+ /** Updates an existing channel by ID using the new DXChannelConfiguration model. */
58547
59727
  async updateChannelNew(existingChannelId, channelUpdate) {
58548
59728
  channelUpdate.orgId = await this.dxSaaSService.getTenantCN();
58549
59729
  channelUpdate.id = existingChannelId;
58550
59730
  channelUpdate.author = 'dx-do';
58551
59731
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelUpdate);
58552
59732
  }
59733
+ /** Updates an existing channel by ID using the legacy Channel model. */
58553
59734
  async updateChannel(existingChannelId, channelUpdate) {
58554
59735
  channelUpdate.orgId = await this.dxSaaSService.getTenantCN();
58555
59736
  channelUpdate.id = existingChannelId;
58556
59737
  channelUpdate.author = 'dx-do';
58557
59738
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/channels', false, false, channelUpdate);
58558
59739
  }
59740
+ /** Returns all notification templates. */
58559
59741
  retrieveAllTemplates() {
58560
59742
  return this.dxSaaSService
58561
59743
  .axaRequest('get', 'dxinotify/notify/v1/templates', false, true)
@@ -58563,6 +59745,7 @@ class ChannelService {
58563
59745
  return templatesResponseBody.templates;
58564
59746
  });
58565
59747
  }
59748
+ /** Returns all notification filter policies. */
58566
59749
  retrieveAllPolicies() {
58567
59750
  return this.dxSaaSService
58568
59751
  .axaRequest('get', 'dxinotify/notify/v1/filters', true, false)
@@ -58570,12 +59753,15 @@ class ChannelService {
58570
59753
  return policyResponse.filters;
58571
59754
  });
58572
59755
  }
59756
+ /** Updates an existing notification filter policy. */
58573
59757
  updatePolicy(policy) {
58574
59758
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/filters', false, false, policy);
58575
59759
  }
59760
+ /** Creates a new notification filter policy. */
58576
59761
  createPolicy(policy) {
58577
59762
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/filters', false, false, policy);
58578
59763
  }
59764
+ /** Creates a new notification template with text (base64-encoded) and optional metadata. */
58579
59765
  createTemplate(templateName, templateSubject, templateText, senderNameTemplate, locale, makeDefault, author) {
58580
59766
  return this.dxSaaSService.axaRequest('put', 'dxinotify/notify/v1/templates', false, false, {
58581
59767
  orgId: this.dxSaaSService.getTenantCN(),
@@ -58594,6 +59780,7 @@ class ChannelService {
58594
59780
  templateText: Buffer.from(templateText).toString('base64'),
58595
59781
  });
58596
59782
  }
59783
+ /** Updates fields on an existing template; any omitted fields keep their current values. */
58597
59784
  updateTemplate(currentTemplate, newTemplateName, newTemplateSubject, newTemplateText, senderNameTemplate, locale, makeDefault, author) {
58598
59785
  currentTemplate.oldTemplateName = currentTemplate.templateName;
58599
59786
  currentTemplate.templateName =
@@ -58617,11 +59804,13 @@ class DashboardService {
58617
59804
  constructor(dxSaaSService) {
58618
59805
  this.dxSaaSService = dxSaaSService;
58619
59806
  }
59807
+ /** Returns the current org theme setting (e.g. "light" or "dark"). */
58620
59808
  getTheme() {
58621
59809
  return this.dxSaaSService
58622
59810
  .dashboardGet('api/org/preferences')
58623
59811
  .then((preferences) => preferences.theme);
58624
59812
  }
59813
+ /** Sets the org theme preference. */
58625
59814
  setTheme(themeString) {
58626
59815
  return this.dxSaaSService
58627
59816
  .dashboardPut('api/org/preferences', {
@@ -58633,9 +59822,11 @@ class DashboardService {
58633
59822
  return undefined;
58634
59823
  });
58635
59824
  }
59825
+ /** Lists all API keys for the org. */
58636
59826
  listApiKeys() {
58637
59827
  return this.dxSaaSService.dashboardGet('api/auth/keys');
58638
59828
  }
59829
+ /** Creates a new dashboard in the specified folder (clears the ID before sending). */
58639
59830
  createDashboard(folderId, dashboard, updateCommitMessage) {
58640
59831
  dashboard.id = undefined;
58641
59832
  return this.dxSaaSService.dashboardPost('api/dashboards/db', {
@@ -58645,6 +59836,7 @@ class DashboardService {
58645
59836
  message: updateCommitMessage,
58646
59837
  });
58647
59838
  }
59839
+ /** Updates an existing dashboard by ID, optionally overwriting the current version. */
58648
59840
  updateDashboard(id, folderId, dashboard, updateCommitMessage, overwrite) {
58649
59841
  if (!dashboard.id || dashboard.id != id) {
58650
59842
  dashboard.id = id;
@@ -58656,23 +59848,28 @@ class DashboardService {
58656
59848
  message: updateCommitMessage,
58657
59849
  });
58658
59850
  }
59851
+ /** Returns all dashboard tags used across the org. */
58659
59852
  getAllDashboardTags() {
58660
59853
  return this.dxSaaSService.dashboardGet('api/dashboards/tags');
58661
59854
  }
59855
+ /** Appends new tags to a dashboard (skips tags already present). */
58662
59856
  async addDashboardTags(uid, tags) {
58663
59857
  const currentDashboard = await this.getDashboard(uid);
58664
59858
  const actualNewTags = tags.filter((newTag) => !currentDashboard.dashboard.tags.includes(newTag));
58665
59859
  currentDashboard.dashboard.tags.push(...actualNewTags);
58666
59860
  return this.updateDashboard(currentDashboard.dashboard.id, currentDashboard.meta.folderId, currentDashboard.dashboard, `Added Tags: [${actualNewTags.join(',')}]`);
58667
59861
  }
59862
+ /** Replaces all existing tags on a dashboard with the provided set. */
58668
59863
  async replaceDashboardTags(uid, newTags) {
58669
59864
  const currentDashboard = await this.getDashboard(uid);
58670
59865
  currentDashboard.dashboard.tags = newTags;
58671
59866
  return this.updateDashboard(currentDashboard.dashboard.id, currentDashboard.meta.folderId, currentDashboard.dashboard, `Replaced Tags: [${newTags.join(',')}]`);
58672
59867
  }
59868
+ /** Returns the full dashboard (model + meta) for a given UID. */
58673
59869
  getDashboard(uid) {
58674
59870
  return this.dxSaaSService.dashboardGet(`api/dashboards/uid/${uid}`);
58675
59871
  }
59872
+ /** Returns all dashboards within a specific folder. */
58676
59873
  getDashboardsInFolder(folderId) {
58677
59874
  return this.dxSaaSService.dashboardGet('api/search', {
58678
59875
  type: exports.DashboardSearch.SearchType.DASHBOARD,
@@ -58680,23 +59877,28 @@ class DashboardService {
58680
59877
  folderIds: folderId,
58681
59878
  });
58682
59879
  }
59880
+ /** Searches dashboards or folders by type and query string. */
58683
59881
  search(searchType, query) {
58684
59882
  return this.dxSaaSService.dashboardGet('api/search', {
58685
59883
  type: searchType,
58686
59884
  query: query,
58687
59885
  });
58688
59886
  }
59887
+ /** Returns folder metadata by numeric folder ID. */
58689
59888
  getFolderById(folderId) {
58690
59889
  return this.dxSaaSService.dashboardGet(`api/folders/id/${folderId}`);
58691
59890
  }
59891
+ /** Returns folder metadata by UID string. */
58692
59892
  getFolderByUid(folderUid) {
58693
59893
  return this.dxSaaSService.dashboardGet(`api/folders/${folderUid}`);
58694
59894
  }
59895
+ /** Returns the UID for a folder with the given title, or `undefined` if not found. */
58695
59896
  getFolderUid(folderTitle) {
58696
59897
  return this.getFoldersMapByTitle().then((folderMap) => {
58697
59898
  return folderMap.get(folderTitle)?.uid ?? undefined;
58698
59899
  });
58699
59900
  }
59901
+ /** Returns a map of folder title → folder item for all folders. */
58700
59902
  getFoldersMapByTitle() {
58701
59903
  return this.getFolders().then((folders) => {
58702
59904
  return folders.reduce(function (map, folder) {
@@ -58705,9 +59907,11 @@ class DashboardService {
58705
59907
  }, new Map());
58706
59908
  });
58707
59909
  }
59910
+ /** Returns all folders for the org. */
58708
59911
  getFolders() {
58709
59912
  return this.dxSaaSService.dashboardGet('api/folders');
58710
59913
  }
59914
+ /** Creates a new folder with the given title and optional UID. */
58711
59915
  createFolder(folderTitle, folderUid) {
58712
59916
  const body = {
58713
59917
  title: folderTitle,
@@ -58717,9 +59921,11 @@ class DashboardService {
58717
59921
  }
58718
59922
  return this.dxSaaSService.dashboardPost('api/folders', body);
58719
59923
  }
59924
+ /** Returns the permission list for a folder by UID. */
58720
59925
  getFolderPermissions(folderUid) {
58721
59926
  return this.dxSaaSService.dashboardGet(`api/folders/${folderUid}/permissions`);
58722
59927
  }
59928
+ /** Adds a permission entry for a user to a folder, preserving existing permissions. */
58723
59929
  async addFolderPermission(folderUid, userId, permissionType) {
58724
59930
  const existingPermissions = await this.getFolderPermissions(folderUid);
58725
59931
  const updatePermissions = new Array();
@@ -58753,6 +59959,7 @@ class DashboardService {
58753
59959
  });
58754
59960
  return this.setFolderPermissions(folderUid, updatePermissions);
58755
59961
  }
59962
+ /** Issues a multi-search against the audit log datasource using a session cookie. */
58756
59963
  mSearch(validSessionCookie, startTime, endTime) {
58757
59964
  const body1 = {
58758
59965
  search_type: 'query_then_fetch',
@@ -58789,13 +59996,16 @@ class DashboardService {
58789
59996
  const body = JSON.stringify(body1) + '\n' + JSON.stringify(body2);
58790
59997
  return this.dxSaaSService.dashboardCookiePost('api/datasources/proxy/29484/_msearch', body, {}, { Cookie: validSessionCookie });
58791
59998
  }
59999
+ /** Replaces all permissions on a folder with the provided list. */
58792
60000
  setFolderPermissions(folderUid, permissions) {
58793
60001
  return this.dxSaaSService.dashboardPost(`api/folders/${folderUid}/permissions`, { items: permissions });
58794
60002
  }
60003
+ /** Searches org users by a query term (useful for permission assignment). */
58795
60004
  searchUsers(searchTerm) {
58796
60005
  // /api/users/search?perpage=10&page=1&query=mygraf
58797
60006
  return this.dxSaaSService.dashboardGet('api/org/users/lookup', { query: searchTerm });
58798
60007
  }
60008
+ /** Looks up a single org user by email or login name. */
58799
60009
  lookupUser(userEmail) {
58800
60010
  return this.dxSaaSService.dashboardGet('api/org/users/lookup', {
58801
60011
  loginOrEmail: userEmail,
@@ -64338,10 +65548,12 @@ class DxSaasService {
64338
65548
  getTokenUser() {
64339
65549
  return getUserTokenSub(this.dxdoConfiguration.dxConfiguration.userToken);
64340
65550
  }
65551
+ /** Verify connectivity by fetching the ATC view list. */
64341
65552
  ping() {
64342
65553
  this.log.debug('Pinging DX Tenant');
64343
65554
  return this.tenantGet('/atc/views/view', { skipCount: 'true' });
64344
65555
  }
65556
+ /** Authenticate and return the current user's profile from the AXA security endpoint. */
64345
65557
  auth() {
64346
65558
  return this.axaRequest('GET', 'ess/security/v1/me', false, false);
64347
65559
  }
@@ -64375,6 +65587,14 @@ class DxSaasService {
64375
65587
  this.log.debug(`debug: prepared axa session host as ${gwURL.toString()}`);
64376
65588
  return gwURL.toString();
64377
65589
  }
65590
+ /**
65591
+ * Fetch AXA session events (APM Synthetic / AXA user sessions) from the Elasticsearch exporter.
65592
+ * @param startTimestamp - Start of the time window (epoch ms).
65593
+ * @param endTimestamp - End of the time window (epoch ms).
65594
+ * @param maxSessions - Maximum number of session records to return.
65595
+ * @param appId - AXA application ID to filter by.
65596
+ * @param query - Optional Lucene query string override. Defaults to `app.id:"<appId>"`.
65597
+ */
64378
65598
  async axaSessionRequest(startTimestamp, endTimestamp, maxSessions, appId, query) {
64379
65599
  if (!query) {
64380
65600
  query = `app.id:"${appId}"`;
@@ -64426,6 +65646,16 @@ class DxSaasService {
64426
65646
  async getConnectorConfig() {
64427
65647
  return this.axaRequest('GET', 'ess/udsconfig/v1/connectorconfig', false, false);
64428
65648
  }
65649
+ /**
65650
+ * Issue an arbitrary HTTP request to the AXA sub-domain (Elasticsearch exporter or UDS config).
65651
+ * @param method - HTTP method.
65652
+ * @param path - Path relative to the AXA host, optionally suffixed with tenant CN.
65653
+ * @param appendTenantToPath - When `true`, the tenant common name is appended to `path`.
65654
+ * @param appendOrgIdToParams - When `true`, `orgid` query param is added automatically.
65655
+ * @param body - Request body (non-GET only).
65656
+ * @param params - Query-string parameters.
65657
+ * @param extraHeaders - Additional request headers.
65658
+ */
64429
65659
  async axaRequest(method, path, appendTenantToPath, appendOrgIdToParams, body, params, extraHeaders) {
64430
65660
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}${appendTenantToPath ? '/' + (await this.getTenantCN()) : ''}`;
64431
65661
  this.log.debug('retrieving axa:', url);
@@ -64462,6 +65692,11 @@ class DxSaasService {
64462
65692
  }
64463
65693
  });
64464
65694
  }
65695
+ /**
65696
+ * Issue an HTTP PATCH to a tenant-scoped path under the DX gateway.
65697
+ * @param path - Relative path after the cohort segment.
65698
+ * @param body - Partial update payload.
65699
+ */
64465
65700
  async tenantPatch(path, body) {
64466
65701
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64467
65702
  return this._httpClient
@@ -64478,6 +65713,13 @@ class DxSaasService {
64478
65713
  }
64479
65714
  });
64480
65715
  }
65716
+ /**
65717
+ * Issue an HTTP POST to a tenant-scoped path under the DX gateway.
65718
+ * @param path - Relative path after the cohort segment (e.g. `"atc/views/view"`).
65719
+ * @param body - Request body (JSON-serializable). Defaults to `{}`.
65720
+ * @param params - Query-string parameters.
65721
+ * @param headers - Additional request headers merged over the auth header.
65722
+ */
64481
65723
  async tenantPost(path, body, params, headers = {}) {
64482
65724
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64483
65725
  const requestConfig = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
@@ -64497,6 +65739,12 @@ class DxSaasService {
64497
65739
  }
64498
65740
  });
64499
65741
  }
65742
+ /**
65743
+ * Issue an HTTP PUT to a tenant-scoped path under the DX gateway.
65744
+ * @param path - Relative path after the cohort segment.
65745
+ * @param body - Request body.
65746
+ * @param params - Query-string parameters.
65747
+ */
64500
65748
  async tenantPut(path, body, params) {
64501
65749
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64502
65750
  return this._httpClient
@@ -64513,6 +65761,10 @@ class DxSaasService {
64513
65761
  }
64514
65762
  });
64515
65763
  }
65764
+ /**
65765
+ * Issue an HTTP POST to a tenant path and return the response as a Node.js stream.
65766
+ * Useful for large binary downloads (e.g. metric data exports).
65767
+ */
64516
65768
  async tenantPostForStream(path, body, params) {
64517
65769
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64518
65770
  const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
@@ -64531,6 +65783,15 @@ class DxSaasService {
64531
65783
  }
64532
65784
  });
64533
65785
  }
65786
+ /**
65787
+ * Issue an arbitrary HTTP method to a tenant-scoped path.
65788
+ * Prefer the typed helpers (`tenantGet`, `tenantPost`, etc.) when the method is known.
65789
+ * @param method - HTTP method (GET, POST, PUT, DELETE, …).
65790
+ * @param path - Relative path after the cohort segment.
65791
+ * @param body - Request body (non-GET methods only).
65792
+ * @param params - Query-string parameters.
65793
+ * @param extraHeaders - Additional request headers.
65794
+ */
64534
65795
  async tenantRequest(method, path, body, params, extraHeaders) {
64535
65796
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64536
65797
  if (!params) {
@@ -64562,6 +65823,12 @@ class DxSaasService {
64562
65823
  }
64563
65824
  });
64564
65825
  }
65826
+ /**
65827
+ * Issue an HTTP GET to a tenant-scoped path under the DX gateway.
65828
+ * @param path - Relative path after the cohort segment.
65829
+ * @param params - Query-string parameters.
65830
+ * @param extraHeaders - Additional request headers.
65831
+ */
64565
65832
  async tenantGet(path, params, extraHeaders) {
64566
65833
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64567
65834
  const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
@@ -64587,6 +65854,12 @@ class DxSaasService {
64587
65854
  }
64588
65855
  });
64589
65856
  }
65857
+ /**
65858
+ * Issue an HTTP DELETE to a tenant-scoped path under the DX gateway.
65859
+ * @param path - Relative path after the cohort segment.
65860
+ * @param params - Query-string parameters.
65861
+ * @param extraHeaders - Additional request headers.
65862
+ */
64590
65863
  async tenantDelete(path, params, extraHeaders) {
64591
65864
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64592
65865
  const config = this.createSimpleUserAuthorizedRequestConfig(params ?? {});
@@ -64629,6 +65902,13 @@ class DxSaasService {
64629
65902
  params: params,
64630
65903
  };
64631
65904
  }
65905
+ /**
65906
+ * POST to an OI (Operational Intelligence) path with `x-authorizationview: VIEWALL` header.
65907
+ * @param path - Relative path after the cohort segment.
65908
+ * @param body - Request body.
65909
+ * @param params - Query-string parameters.
65910
+ * @param extraHeaders - Additional request headers.
65911
+ */
64632
65912
  async oiPost(path, body, params, extraHeaders) {
64633
65913
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64634
65914
  const config = this.createUserAuthorizedRequestConfig(params ?? {});
@@ -64654,6 +65934,12 @@ class DxSaasService {
64654
65934
  }
64655
65935
  });
64656
65936
  }
65937
+ /**
65938
+ * GET from an OI (Operational Intelligence) path with `x-authorizationview: VIEWALL` header.
65939
+ * @param path - Relative path after the cohort segment.
65940
+ * @param params - Query-string parameters.
65941
+ * @param extraHeaders - Additional request headers.
65942
+ */
64657
65943
  async oiGet(path, params, extraHeaders) {
64658
65944
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/${path}`;
64659
65945
  const config = this.createUserAuthorizedRequestConfig(params ?? {});
@@ -64679,6 +65965,12 @@ class DxSaasService {
64679
65965
  }
64680
65966
  });
64681
65967
  }
65968
+ /**
65969
+ * GET from an ACC path, returning the response as a Node.js readable stream.
65970
+ * @param path - Path segment appended after `.../acc/`.
65971
+ * @param params - Query-string parameters.
65972
+ * @param extraHeaders - Additional request headers.
65973
+ */
64682
65974
  async accStream(path, params, extraHeaders) {
64683
65975
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
64684
65976
  const aheaders = this.createUserAuthorizedRequestConfig(params);
@@ -64709,6 +66001,12 @@ class DxSaasService {
64709
66001
  }
64710
66002
  });
64711
66003
  }
66004
+ /**
66005
+ * GET from an ACC path.
66006
+ * @param path - Path segment appended after `.../acc/`.
66007
+ * @param params - Query-string parameters.
66008
+ * @param extraHeaders - Additional request headers.
66009
+ */
64712
66010
  async accGet(path, params, extraHeaders) {
64713
66011
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
64714
66012
  const aheaders = this.createUserAuthorizedRequestConfig({});
@@ -64738,6 +66036,13 @@ class DxSaasService {
64738
66036
  }
64739
66037
  });
64740
66038
  }
66039
+ /**
66040
+ * PATCH to an ACC path.
66041
+ * @param path - Path segment appended after `.../acc/`.
66042
+ * @param body - Partial update payload.
66043
+ * @param params - Query-string parameters.
66044
+ * @param extraHeaders - Additional request headers.
66045
+ */
64741
66046
  async accPatch(path, body, params, extraHeaders) {
64742
66047
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
64743
66048
  const headers = this.createUserAuthorizedRequestConfig({}).headers;
@@ -64767,6 +66072,13 @@ class DxSaasService {
64767
66072
  }
64768
66073
  });
64769
66074
  }
66075
+ /**
66076
+ * POST a file to an ACC path using `multipart/form-data`.
66077
+ * @param urlpath - Path segment appended after `.../acc/`.
66078
+ * @param filepath - Absolute path on disk to the file to upload.
66079
+ * @param params - Query-string parameters.
66080
+ * @param extraHeaders - Additional request headers.
66081
+ */
64770
66082
  async accPostFile(urlpath, filepath, params, extraHeaders) {
64771
66083
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path__namespace}`;
64772
66084
  const headers = this.createUserAuthorizedRequestConfig({}).headers;
@@ -64806,6 +66118,13 @@ class DxSaasService {
64806
66118
  }
64807
66119
  });
64808
66120
  }
66121
+ /**
66122
+ * POST to an ACC path.
66123
+ * @param path - Path segment appended after `.../acc/`.
66124
+ * @param body - Request body.
66125
+ * @param params - Query-string parameters.
66126
+ * @param extraHeaders - Additional request headers.
66127
+ */
64809
66128
  async accPost(path, body, params, extraHeaders) {
64810
66129
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/acc/${path}`;
64811
66130
  const headers = this.createUserAuthorizedRequestConfig({}).headers;
@@ -64845,6 +66164,12 @@ class DxSaasService {
64845
66164
  return {};
64846
66165
  }
64847
66166
  }
66167
+ /**
66168
+ * GET from a Dashboard (Grafana) path under `.../dxd/`.
66169
+ * @param path - Path segment appended after `.../dxd/`.
66170
+ * @param params - Query-string parameters.
66171
+ * @param extraHeaders - Additional request headers.
66172
+ */
64848
66173
  async dashboardGet(path, params, extraHeaders) {
64849
66174
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
64850
66175
  const headers = this.createDashboardAuthorizedRequestHeaders();
@@ -64874,6 +66199,12 @@ class DxSaasService {
64874
66199
  }
64875
66200
  });
64876
66201
  }
66202
+ /**
66203
+ * DELETE from a Dashboard (Grafana) path under `.../dxd/`.
66204
+ * @param path - Path segment appended after `.../dxd/`.
66205
+ * @param params - Query-string parameters.
66206
+ * @param extraHeaders - Additional request headers.
66207
+ */
64877
66208
  async dashboardDelete(path, params, extraHeaders) {
64878
66209
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
64879
66210
  const headers = this.createDashboardAuthorizedRequestHeaders();
@@ -64903,6 +66234,10 @@ class DxSaasService {
64903
66234
  }
64904
66235
  });
64905
66236
  }
66237
+ /**
66238
+ * POST to a Dashboard path using cookie-based (anonymous) auth instead of the bearer token.
66239
+ * Used for Grafana endpoints that authenticate via session cookies.
66240
+ */
64906
66241
  async dashboardCookiePost(path, body, params, extraHeaders) {
64907
66242
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
64908
66243
  const headers = {};
@@ -64934,6 +66269,13 @@ class DxSaasService {
64934
66269
  }
64935
66270
  });
64936
66271
  }
66272
+ /**
66273
+ * POST to a Dashboard (Grafana) path under `.../dxd/`.
66274
+ * @param path - Path segment appended after `.../dxd/`.
66275
+ * @param body - Request body.
66276
+ * @param params - Query-string parameters.
66277
+ * @param extraHeaders - Additional request headers.
66278
+ */
64937
66279
  async dashboardPost(path, body, params, extraHeaders) {
64938
66280
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
64939
66281
  const headers = this.createDashboardAuthorizedRequestHeaders();
@@ -64964,6 +66306,13 @@ class DxSaasService {
64964
66306
  }
64965
66307
  });
64966
66308
  }
66309
+ /**
66310
+ * PUT to a Dashboard (Grafana) path under `.../dxd/`.
66311
+ * @param path - Path segment appended after `.../dxd/`.
66312
+ * @param body - Request body.
66313
+ * @param params - Query-string parameters.
66314
+ * @param extraHeaders - Additional request headers.
66315
+ */
64967
66316
  async dashboardPut(path, body, params, extraHeaders) {
64968
66317
  const url = `${this.dxdoConfiguration.dxConfiguration.dxGatewayHost}${this.getCohortIDForURL()}/dxd/${path}`;
64969
66318
  const headers = this.createDashboardAuthorizedRequestHeaders();
@@ -65078,26 +66427,31 @@ class DxoiService {
65078
66427
  constructor(dxSaaSService) {
65079
66428
  this.dxSaaSService = dxSaaSService;
65080
66429
  }
66430
+ /** Returns top-level OI services using the default service request body. */
65081
66431
  getServices() {
65082
66432
  const filterBody = exports.OIService.DEFAULT_SERVICE_REQUEST_BODY;
65083
66433
  return this.dxSaaSService.oiPost('oi/v2/servicerepo/services', filterBody);
65084
66434
  }
66435
+ /** Returns cluster alarms (situations) within the given time range. */
65085
66436
  async getSituations(startTime, endTime) {
65086
66437
  const alarmRequestBody = DEFAULT_SITUATIONS_REQUEST_BODY;
65087
66438
  alarmRequestBody.timeFrom = startTime.toMillis();
65088
66439
  alarmRequestBody.timeTo = endTime.toMillis();
65089
66440
  return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', alarmRequestBody);
65090
66441
  }
66442
+ /** Returns the entity-detail attributes for a given entity external ID. */
65091
66443
  async getEntityAttributes(entityExternalId) {
65092
66444
  return this.dxSaaSService.oiPost('oi/v3/api/inventory/entity-details', {
65093
66445
  externalId: entityExternalId,
65094
66446
  });
65095
66447
  }
66448
+ /** Returns a single alarm by its ID. */
65096
66449
  async getAlarm(alarmId) {
65097
66450
  return this.dxSaaSService.oiGet('oi/v2/api/alarms/_search', {
65098
66451
  alarmId: alarmId,
65099
66452
  });
65100
66453
  }
66454
+ /** Returns the lifecycle event history for a given alarm ID. */
65101
66455
  async getAlarmLifeCycle(alarmId) {
65102
66456
  const alarmLifeCycleRequestBody = {
65103
66457
  alarmId: alarmId,
@@ -65113,6 +66467,7 @@ class DxoiService {
65113
66467
  };
65114
66468
  return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', alarmLifeCycleRequestBody);
65115
66469
  }
66470
+ /** Returns all alarms in a time range, paginating until the full count is fetched. */
65116
66471
  async getAlarms(startTime, endTime) {
65117
66472
  const alarmRequestBody = DEFAULT_ALARMS_REQUEST_BODY;
65118
66473
  alarmRequestBody.timeFrom = startTime.toMillis();
@@ -65154,6 +66509,7 @@ class EventService {
65154
66509
  this.dxSaaSService = dxSaaSService;
65155
66510
  this.log = log;
65156
66511
  }
66512
+ /** Ingests a custom alarm event via the Jarvis ingestion API. */
65157
66513
  createAlarm(alarmEvent) {
65158
66514
  const ingestionBody = {
65159
66515
  documents: [
@@ -65174,6 +66530,7 @@ class EventService {
65174
66530
  index_name: 'ao_itoa_alarms_custom_1',
65175
66531
  });
65176
66532
  }
66533
+ /** Ingests a custom event (non-change) via the Jarvis ingestion API. */
65177
66534
  createEvent(changeEvent) {
65178
66535
  const ingestionBody = {
65179
66536
  documents: [
@@ -65194,6 +66551,7 @@ class EventService {
65194
66551
  index_name: 'ao_itoa_events_custom_1',
65195
66552
  });
65196
66553
  }
66554
+ /** Ingests a custom change event via the Jarvis ingestion API. */
65197
66555
  createChangeEvent(changeEvent) {
65198
66556
  const ingestionBody = {
65199
66557
  documents: [
@@ -65214,6 +66572,7 @@ class EventService {
65214
66572
  index_name: 'ao_itoa_events_change_custom_1',
65215
66573
  });
65216
66574
  }
66575
+ /** Queries change events using a Lucene query string within a time range. */
65217
66576
  queryChangeEvents(luceneQuery, startTime, endTime, from = 0, size = 100) {
65218
66577
  return this.dxSaaSService.oiGet('oi/v2/aoanalytics/events/events_change_custom/_search', {
65219
66578
  q: luceneQuery,
@@ -65240,6 +66599,7 @@ class ExperienceService {
65240
66599
  this.dxSaaSService = dxSaaSService;
65241
66600
  this.log = log;
65242
66601
  }
66602
+ /** Returns a map of experience name → latest experience settings (one entry per name). */
65243
66603
  async getLatestExperienceSettings() {
65244
66604
  const experienceSettings = await this.getExperienceSettings();
65245
66605
  const nameExperienceSettingsMap = new Map();
@@ -65250,6 +66610,7 @@ class ExperienceService {
65250
66610
  });
65251
66611
  return nameExperienceSettingsMap;
65252
66612
  }
66613
+ /** Returns a map of experience ID → latest experience settings (one entry per ID). */
65253
66614
  async getLatestExperienceSettingsById() {
65254
66615
  const experienceSettings = await this.getExperienceSettings();
65255
66616
  const idExperienceSettingsMap = new Map();
@@ -65260,9 +66621,11 @@ class ExperienceService {
65260
66621
  });
65261
66622
  return idExperienceSettingsMap;
65262
66623
  }
66624
+ /** Returns all raw experience settings items from the API. */
65263
66625
  async getExperienceSettings() {
65264
66626
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/settings/experience');
65265
66627
  }
66628
+ /** Returns a single experience settings record by its ID; throws if not found. */
65266
66629
  async getExperienceSettingsById(experienceId) {
65267
66630
  const experiencesById = await this.getLatestExperienceSettingsById();
65268
66631
  if (experiencesById.has(experienceId)) {
@@ -65272,6 +66635,7 @@ class ExperienceService {
65272
66635
  throw new Error(`Experience ${experienceId} not found.`);
65273
66636
  }
65274
66637
  }
66638
+ /** Returns top-level experience data for all configured experiences in a time range. */
65275
66639
  async getTopLevelExperiences(startTime, endTime) {
65276
66640
  const latestExperienceSettings = await this.getLatestExperienceSettings();
65277
66641
  const dashboardExperienceRequestItems = new Array();
@@ -65292,10 +66656,12 @@ class ExperienceService {
65292
66656
  };
65293
66657
  return this.dxSaaSService.tenantPost('/atc/dashboard/experience', request);
65294
66658
  }
66659
+ /** Returns drilldown experience data filtered by the given attribute values. */
65295
66660
  async getDrilldownExperiences(experienceId, drilldown, startTime, endTime) {
65296
66661
  const experienceSettings = await this.getExperienceSettingsById(experienceId);
65297
66662
  return this.dxSaaSService.tenantPost('/atc/dashboard/application', this.createDrilldownExperienceRequestBody(experienceSettings, drilldown, startTime, endTime));
65298
66663
  }
66664
+ /** Returns experience data for a single experience ID in a time range. */
65299
66665
  async getExperiences(experienceId, startTime, endTime) {
65300
66666
  const experienceSettings = await this.getExperienceSettingsById(experienceId);
65301
66667
  return this.dxSaaSService.tenantPost('/atc/dashboard/application', this.createExperienceRequestBody(experienceSettings, startTime, endTime));
@@ -65335,9 +66701,11 @@ class ExperienceService {
65335
66701
  throw new Error('drilldown has more layers than experience has groupings');
65336
66702
  }
65337
66703
  }
66704
+ /** Imports (creates) an experience settings record from a partial payload. */
65338
66705
  async importExperience(experience) {
65339
66706
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/settings/experience', experience);
65340
66707
  }
66708
+ /** Creates a new experience settings definition with the given name, universe, and group attributes. */
65341
66709
  async createExperience(experienceName, universeId, groupAttributes, graphType, owner) {
65342
66710
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/settings/experience', {
65343
66711
  type: 'experience',
@@ -65351,6 +66719,7 @@ class ExperienceService {
65351
66719
  },
65352
66720
  });
65353
66721
  }
66722
+ /** Deletes an experience settings definition by its ID. */
65354
66723
  async deleteExperience(experienceId) {
65355
66724
  return this.dxSaaSService.tenantDelete(`/apm/atc/api/private/settings/experience/${experienceId}`);
65356
66725
  }
@@ -68007,9 +69376,11 @@ class GraphService {
68007
69376
  constructor(dxSaaSService) {
68008
69377
  this.dxSaaSService = dxSaaSService;
68009
69378
  }
69379
+ /** Stores a graph (vertices and edges) using the appmap ATS graph store endpoint. */
68010
69380
  async storeGraph(graphBody) {
68011
69381
  return this.dxSaaSService.tenantPost('/apm/appmap/ats/graph/store', graphBody);
68012
69382
  }
69383
+ /** Returns an HTTP stream of the graph range (diff between two times) for a universe. */
68013
69384
  retrieveGraphRangeStream(universeId, startDateTime, endDateTime, layer = GraphLayer$1.INFRASTRUCTURE) {
68014
69385
  const graphRangeRequestParams = {
68015
69386
  endTime: endDateTime.toISO(),
@@ -68026,6 +69397,7 @@ class GraphService {
68026
69397
  };
68027
69398
  return this.dxSaaSService.tenantPostForStream('/apm/atc/api/private/graph/range', graphRangeRequestBody, graphRangeRequestParams);
68028
69399
  }
69400
+ /** Returns an HTTP stream of the full graph for a universe and layer. */
68029
69401
  retrieveGraphStream(universeId, layer = GraphLayer$1.ATC) {
68030
69402
  const graphRequestBody = {
68031
69403
  includedVertices: [],
@@ -68036,6 +69408,7 @@ class GraphService {
68036
69408
  };
68037
69409
  return this.dxSaaSService.tenantPostForStream('/apm/atc/api/private/graph/', graphRequestBody, { universeId: universeId, layer: 'ATC' });
68038
69410
  }
69411
+ /** Collects all edges and vertices from a graph stream into a `GraphElements` result. */
68039
69412
  async getGraphElementsFromStream(graphStream) {
68040
69413
  const graphElementMaps = await this.getGraphElementMapsFromStream(graphStream);
68041
69414
  return {
@@ -68043,6 +69416,7 @@ class GraphService {
68043
69416
  vertices: Array.from(graphElementMaps.vertices.values()),
68044
69417
  };
68045
69418
  }
69419
+ /** Collects all edges and vertices from a graph stream into keyed maps. */
68046
69420
  async getGraphElementMapsFromStream(graphStream) {
68047
69421
  const edges = new Map();
68048
69422
  const nodes = new Map();
@@ -68055,6 +69429,7 @@ class GraphService {
68055
69429
  await this.processGraphStreamWithHandlers(graphStream, r1EdgeHandler, r1NodeHandler);
68056
69430
  return { edges: edges, vertices: nodes };
68057
69431
  }
69432
+ /** Processes a graph stream, dispatching each edge/vertex to the provided handler callbacks. */
68058
69433
  processGraphStreamWithHandlers(graphStream, edgeHandler, vertexHandler) {
68059
69434
  const edgePipeline = chain$2([
68060
69435
  graphStream,
@@ -68090,6 +69465,7 @@ class GraphService {
68090
69465
  edgePipeline.on('error', (error) => reject(error));
68091
69466
  });
68092
69467
  }
69468
+ /** Processes a graph stream, emitting each edge/vertex to the provided RxJS subjects. */
68093
69469
  processGraphStream(graphStream, edgeSubject, vertexSubject, layer = GraphLayer$1.ATC) {
68094
69470
  const edgePipeline = chain$2([
68095
69471
  graphStream,
@@ -68118,8 +69494,8 @@ class GraphService {
68118
69494
  }
68119
69495
 
68120
69496
  /**
68121
- * Service for OI services: dependency graph, top-level/all services, inventory,
68122
- * create, delete, and helpers for service content and vertex payloads.
69497
+ * Service for entity inventory: search, lookup, inventorize configuration
69498
+ * management, and related metric retrieval across the OI topology.
68123
69499
  */
68124
69500
  class InventoryService {
68125
69501
  dxSaaSService;
@@ -68137,16 +69513,19 @@ class InventoryService {
68137
69513
  this.dxTASService = dxTASService;
68138
69514
  this.log = log;
68139
69515
  }
69516
+ /** Lists all inventorize (topology creator) rule configurations. */
68140
69517
  async listInventorizeConfigurations() {
68141
69518
  return this.dxSaaSService
68142
69519
  .oiGet('oi/v2/topologycreator/rules/list')
68143
69520
  .then((response) => response.config);
68144
69521
  }
69522
+ /** Creates (saves) a new inventorize rule configuration. */
68145
69523
  async createInventorizeConfiguration(inventorizeConfiguration) {
68146
69524
  return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/save', {
68147
69525
  config: [inventorizeConfiguration],
68148
69526
  });
68149
69527
  }
69528
+ /** Previews the entities that would be created by an inventorize configuration. */
68150
69529
  async previewInventorizeConfiguration(inventorizeConfiguration) {
68151
69530
  const body = {
68152
69531
  config: [inventorizeConfiguration],
@@ -68154,14 +69533,17 @@ class InventoryService {
68154
69533
  console.log(JSON.stringify(body, null, 2));
68155
69534
  return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/preview', body);
68156
69535
  }
69536
+ /** Deletes an existing inventorize rule configuration. */
68157
69537
  async deleteInventorizeConfiguration(inventorizeConfiguration) {
68158
69538
  return this.dxSaaSService.oiPost('oi/v2/topologycreator/rules/delete', {
68159
69539
  config: [inventorizeConfiguration],
68160
69540
  });
68161
69541
  }
69542
+ /** Performs an inventory lookup using a structured lookup request. */
68162
69543
  async lookupInventory(lookupRequest) {
68163
69544
  return this.dxSaaSService.oiPost('oi/v2/api/maintenance/inventory/_search', lookupRequest);
68164
69545
  }
69546
+ /** Returns the distinct list of `product` attribute values present in the topology. */
68165
69547
  async listInventorySources() {
68166
69548
  const productAttributeTASQuery = {
68167
69549
  filter: {
@@ -68180,13 +69562,16 @@ class InventoryService {
68180
69562
  const tasQueryResult = await this.dxTASService.executeQuery(productAttributeTASQuery);
68181
69563
  return tasQueryResult.analytics[0].values.map((value) => value.attribValue);
68182
69564
  }
69565
+ /** Searches the OI v3 inventory using a structured search request body. */
68183
69566
  async searchInventory(inventorySearchRequestBody) {
68184
69567
  this.log.debug('searching inventory');
68185
69568
  return this.dxSaaSService.oiPost('oi/v3/api/inventory/_search', inventorySearchRequestBody);
68186
69569
  }
69570
+ /** Returns available attribute names for a given inventory attribute request. */
68187
69571
  async getAttributes(attributeRequest) {
68188
69572
  return this.dxSaaSService.oiPost('oi/v3/queryTas/attributeNames', attributeRequest);
68189
69573
  }
69574
+ /** Returns a map of externalId → registered metrics for the given entity IDs. */
68190
69575
  async getRelatedMetrics(externalIds) {
68191
69576
  const topoMetadataResults = (await this.dxNASSService.query({
68192
69577
  query: [
@@ -68258,9 +69643,11 @@ class JsExtensionService {
68258
69643
  this.dxSaaSService = dxSaaSService;
68259
69644
  this.log = log;
68260
69645
  }
69646
+ /** Returns all JavaScript extensions registered for the tenant. */
68261
69647
  getJSExtensions() {
68262
69648
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/em/extensions');
68263
69649
  }
69650
+ /** Disables a JavaScript extension by name and file size. */
68264
69651
  disableJSExtension(name, size) {
68265
69652
  const base64name = Buffer.from(name).toString('base64');
68266
69653
  const disableBody = {
@@ -68273,6 +69660,7 @@ class JsExtensionService {
68273
69660
  this.log.debug(`disabling js extension ${name}`);
68274
69661
  return this.dxSaaSService.tenantPut(`/apm/atc/api/private/em/extensions/${base64name}`, disableBody);
68275
69662
  }
69663
+ /** Enables a previously disabled JavaScript extension by name and file size. */
68276
69664
  enableJSExtension(name, size) {
68277
69665
  const base64name = Buffer.from(name).toString('base64');
68278
69666
  const enableBody = {
@@ -68284,12 +69672,14 @@ class JsExtensionService {
68284
69672
  };
68285
69673
  return this.dxSaaSService.tenantPut(`/apm/atc/api/private/em/extensions/${base64name}`, enableBody);
68286
69674
  }
69675
+ /** Deletes a JavaScript extension by name. */
68287
69676
  deleteJSExtension(name) {
68288
69677
  const base64name = Buffer.from(name).toString('base64');
68289
69678
  return (this.dxSaaSService.tenantDelete(`/apm/atc/api/private/em/extensions/${base64name}`, {
68290
69679
  extensionDisabled: false,
68291
69680
  }));
68292
69681
  }
69682
+ /** Uploads and creates a new JavaScript extension from a local source file. */
68293
69683
  createJSExtension(scriptName, sourcefile) {
68294
69684
  const fsize = fs__namespace.statSync(sourcefile).size;
68295
69685
  const jsStream = fs__namespace.createReadStream(sourcefile);
@@ -68312,6 +69702,7 @@ class LogsService {
68312
69702
  constructor(dxSaasService) {
68313
69703
  this.dxSaasService = dxSaasService;
68314
69704
  }
69705
+ /** Executes a log query against the OI log analytics filter API. */
68315
69706
  queryLogs(logQueryBody) {
68316
69707
  return this.dxSaasService.oiPost('oi/loganalytics/v1/api/logs/filter', logQueryBody);
68317
69708
  }
@@ -68327,6 +69718,7 @@ class ManagementModuleService {
68327
69718
  constructor(dxSaaSService) {
68328
69719
  this.dxSaaSService = dxSaaSService;
68329
69720
  }
69721
+ /** Returns all management modules for the tenant (up to 500). */
68330
69722
  retrieveManagementModules() {
68331
69723
  return this.dxSaaSService.tenantPost('atc/private/internal/module/query', ManagementModuleService.createManagementModuleListRequestBody());
68332
69724
  }
@@ -68336,6 +69728,7 @@ class ManagementModuleService {
68336
69728
  offset: offset ?? 0,
68337
69729
  };
68338
69730
  }
69731
+ /** Returns all calculators associated with a management module. */
68339
69732
  getManagementModuleCalculators(managementModuleId) {
68340
69733
  return this.dxSaaSService
68341
69734
  .tenantPost('atc/private/internal/calculator/query', {
@@ -68347,25 +69740,30 @@ class ManagementModuleService {
68347
69740
  return response.items || [];
68348
69741
  });
68349
69742
  }
69743
+ /** Creates a new calculator (strips ID if present before sending). */
68350
69744
  createCalculator(calculator) {
68351
69745
  if (calculator.id) {
68352
69746
  delete calculator.id;
68353
69747
  }
68354
69748
  return this.dxSaaSService.tenantPost('atc/private/internal/calculator', calculator);
68355
69749
  }
69750
+ /** Finds a management module by its exact ID; returns `undefined` if not found. */
68356
69751
  getManagementModuleById(id) {
68357
69752
  return this.retrieveManagementModules().then((managementModulesList) => {
68358
69753
  return managementModulesList.items.find((mgmtModule) => mgmtModule.id === id);
68359
69754
  });
68360
69755
  }
69756
+ /** Imports an existing management module object (creates it on the target tenant). */
68361
69757
  importManagementModule(managementModule) {
68362
69758
  return this.dxSaaSService.tenantPost('atc/private/internal/module', managementModule);
68363
69759
  }
69760
+ /** Deletes a management module by its ID. */
68364
69761
  deleteManagementModule(managementModuleId) {
68365
69762
  return this.dxSaaSService.tenantPost('atc/private/internal/module/delete', {
68366
69763
  itemId: managementModuleId,
68367
69764
  });
68368
69765
  }
69766
+ /** Creates a new management module with the given name, description, active flag, and agent expressions. */
68369
69767
  createManagementModule(name, description, active, agentExpressions) {
68370
69768
  return this.dxSaaSService.tenantPost('atc/private/internal/module', ManagementModuleService.createManagementModuleCreateRequestBody(name, description, active, agentExpressions));
68371
69769
  }
@@ -68377,6 +69775,7 @@ class ManagementModuleService {
68377
69775
  agentExpressions: agentExpressions,
68378
69776
  };
68379
69777
  }
69778
+ /** Copies an existing management module to a new one with an optional new name/description/active state. */
68380
69779
  copyManagementModule(targetManagementModuleId, newManagementModuleName, description, active) {
68381
69780
  return this.getManagementModuleById(targetManagementModuleId).then((mgmtModule) => {
68382
69781
  if (!mgmtModule) {
@@ -68385,6 +69784,7 @@ class ManagementModuleService {
68385
69784
  return this.createManagementModule(newManagementModuleName, description ? description : mgmtModule.description, active == null ? mgmtModule.active : active, mgmtModule.agentExpressions);
68386
69785
  });
68387
69786
  }
69787
+ /** Updates fields on an existing management module; `null` values leave the field unchanged. */
68388
69788
  updateManagementModule(id, managementModuleName, description, active, agentExpressions) {
68389
69789
  return this.getManagementModuleById(id).then((mgmtModule) => {
68390
69790
  if (!mgmtModule) {
@@ -68393,6 +69793,7 @@ class ManagementModuleService {
68393
69793
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/module', this.createManagementModuleUpdateRequestBody(mgmtModule, id, managementModuleName, description, active, agentExpressions));
68394
69794
  });
68395
69795
  }
69796
+ /** Builds an update request body by applying changed fields to the existing module. */
68396
69797
  createManagementModuleUpdateRequestBody(originalMgmtModule, id, name, description, active, agentExpressions) {
68397
69798
  if (active !== null) {
68398
69799
  originalMgmtModule['active'] = active;
@@ -68428,12 +69829,15 @@ class MetricBatchService {
68428
69829
  this.log = log;
68429
69830
  MetricBatchService.staticLog = this.log;
68430
69831
  }
69832
+ /** Retrieves a metric batch using a metric grouping and management module agent expressions. */
68431
69833
  retrieveMetricsBatch(metricGrouping, managementModule) {
68432
69834
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/metric/batch', MetricBatchService.createMetricBatchRequestRequestBody(metricGrouping, managementModule));
68433
69835
  }
69836
+ /** Retrieves a metric batch using explicit time range and frequency parameters. */
68434
69837
  retrieveSimpleMetricsBatch(metricGrouping, endTime, range, frequency) {
68435
69838
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/metric/batch', MetricBatchService.createSimpleMetricBatchRequestRequestBody(metricGrouping, endTime, range, frequency));
68436
69839
  }
69840
+ /** Returns the metric attributes for a full metric path (must start with `SuperDomain` and include `:metricName`). */
68437
69841
  getMetricAttributesForFullMetricPath(fullMetricPath, metricUniverse) {
68438
69842
  if (fullMetricPath.indexOf(':') < 0 ||
68439
69843
  !fullMetricPath.startsWith('SuperDomain')) {
@@ -68461,16 +69865,20 @@ class MetricBatchService {
68461
69865
  }
68462
69866
  });
68463
69867
  }
69868
+ /** Executes a vertex metric query for a given time range. */
68464
69869
  async executeVertexMetricQuery(metricQueryReq, startTime, endTime) {
68465
69870
  // metricQueryReq.queryRange = InputTimeParsing.getVertexMetricQueryTimeParameters(startTime.toMillis(), endTime.toMillis());
68466
69871
  return this.dxSaaSService.tenantPost('/atc/private/internal/metrics/queryMetric', metricQueryReq, { ignoreUniverse: true });
68467
69872
  }
69873
+ /** @deprecated No-op placeholder; returns `this`. */
68468
69874
  getMetricIdForPathNew() {
68469
69875
  return this;
68470
69876
  }
69877
+ /** Returns the metric tree for a given metric resource path and universe. */
68471
69878
  getMetricIdForPath(metricResourcePath, universeId) {
68472
69879
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/metrictree/query', MetricBatchService.createMetricTreeRequestBody(metricResourcePath, universeId));
68473
69880
  }
69881
+ /** Returns metric attributes and their values for a metric tree ID over a time window. */
68474
69882
  getMetricAttributesAndValues(metricTreeId, endTime, frequency, rangeSize) {
68475
69883
  return this.dxSaaSService
68476
69884
  .tenantPost('/metrics/queryMetric', MetricBatchService.getMetricAttributeQueryBody(metricTreeId, endTime, frequency, rangeSize))
@@ -68484,6 +69892,7 @@ class MetricBatchService {
68484
69892
  }
68485
69893
  });
68486
69894
  }
69895
+ /** Returns only the metric attribute keys (no values) for a metric tree ID. */
68487
69896
  getMetricAttributes(metricTreeId) {
68488
69897
  return this.dxSaaSService
68489
69898
  .tenantPost('/metrics/queryMetric', MetricBatchService.getMetricAttributeQueryBody(metricTreeId))
@@ -68641,9 +70050,11 @@ class MetricGroupingService {
68641
70050
  this.log = log;
68642
70051
  MetricGroupingService.staticLog = this.log;
68643
70052
  }
70053
+ /** Creates a new metric grouping using the v2 internal API. */
68644
70054
  async createMetricGroupingV2(metricGrouping) {
68645
70055
  return await this.dxSaaSService.tenantPost('atc/private/internal/grouping', metricGrouping);
68646
70056
  }
70057
+ /** Creates a new metric grouping using the legacy API, resolving the management module first. */
68647
70058
  async createMetricGrouping(managementModuleId, metricGroupingName, metricGroupingExpressions, description, useManagementModuleAgentExpression, active, editable) {
68648
70059
  const managementModule = await this.managementModuleService.getManagementModuleById(managementModuleId);
68649
70060
  if (!managementModule) {
@@ -68659,6 +70070,7 @@ class MetricGroupingService {
68659
70070
  editable: editable,
68660
70071
  });
68661
70072
  }
70073
+ /** Returns a single metric grouping by full ID (resolves management module from ID prefix). */
68662
70074
  retrieveMetricGrouping(metricGroupingId) {
68663
70075
  const mgParts = metricGroupingId.split(':');
68664
70076
  const mgmtModuleId = mgParts[0] + ':' + mgParts[1];
@@ -68675,12 +70087,14 @@ class MetricGroupingService {
68675
70087
  }
68676
70088
  });
68677
70089
  }
70090
+ /** Returns a single metric grouping (v2) by ID with usage info. */
68678
70091
  async getMetricGroupingV2(metricGroupingId, managementModuleId) {
68679
70092
  return this.dxSaaSService.tenantPost('atc/private/internal/grouping/get', {
68680
70093
  mmId: managementModuleId,
68681
70094
  itemId: metricGroupingId,
68682
70095
  }, { includeUsage: true });
68683
70096
  }
70097
+ /** Returns all metric groupings (v2) for a management module with usage info. */
68684
70098
  async retrieveMetricGroupingsV2(managementModuleId) {
68685
70099
  const managementModule = await this.managementModuleService.getManagementModuleById(managementModuleId);
68686
70100
  if (!managementModule) {
@@ -68693,6 +70107,7 @@ class MetricGroupingService {
68693
70107
  includeUsage: true,
68694
70108
  });
68695
70109
  }
70110
+ /** Returns all metric groupings for a management module using the legacy API. */
68696
70111
  retrieveMetricGroupings(managementModuleId, offset) {
68697
70112
  return this.managementModuleService
68698
70113
  .getManagementModuleById(managementModuleId)
@@ -68736,6 +70151,7 @@ class NASSService {
68736
70151
  this.dxSaaSService = dxSaaSService;
68737
70152
  this.log = log;
68738
70153
  }
70154
+ /** Registers one or more metrics in the NASS metadata store. */
68739
70155
  async registerMetrics(metricRegistrations) {
68740
70156
  const metricRegistrationBody = {
68741
70157
  metrics: metricRegistrations,
@@ -68756,6 +70172,7 @@ class NASSService {
68756
70172
  };
68757
70173
  }
68758
70174
  }
70175
+ /** Returns metric metadata for a list of metric IDs. */
68759
70176
  async queryMetadataByIDs(ids) {
68760
70177
  const metadataQuery = {
68761
70178
  specifier: {
@@ -68765,6 +70182,7 @@ class NASSService {
68765
70182
  };
68766
70183
  return this.dxSaaSService.tenantPost('/metadata/queryMetric', metadataQuery);
68767
70184
  }
70185
+ /** Queries metric time-series data for a source/attribute specifier over a time range. */
68768
70186
  async queryMetricData(sourceName, sourceOpType, attributeName, attributeOpType, endTimeEpochSeconds, rangeInSeconds, frequency, clampSize = 500) {
68769
70187
  const metricDataQuery = {
68770
70188
  querySpecifier: {
@@ -68782,6 +70200,7 @@ class NASSService {
68782
70200
  this.log.debug(JSON.stringify(metricDataQuery, null, 2));
68783
70201
  return this.dxSaaSService.tenantPost('/metrics/queryMetric', metricDataQuery);
68784
70202
  }
70203
+ /** Queries metric metadata by source and attribute name specifiers. */
68785
70204
  async queryMetadata(sourceName, sourceOpType, attributeName, attributeOpType) {
68786
70205
  const metadataQuery = {
68787
70206
  specifier: {
@@ -68792,6 +70211,7 @@ class NASSService {
68792
70211
  };
68793
70212
  return this.dxSaaSService.tenantPost('/metadata/queryMetric', metadataQuery);
68794
70213
  }
70214
+ /** Registers a single metric with the given source/attribute name, type, and custom attributes. */
68795
70215
  async registerMetric(sourceName, attributeName, metricType, attributes) {
68796
70216
  const metricRegistrationBody = {
68797
70217
  metrics: [
@@ -68805,6 +70225,7 @@ class NASSService {
68805
70225
  };
68806
70226
  return this.dxSaaSService.tenantPost('/metadata/registerMetric', metricRegistrationBody);
68807
70227
  }
70228
+ /** Stores one or more metric values in the NASS metric value store. */
68808
70229
  async storeMetricValue(metricValues) {
68809
70230
  const metricStoreBody = { values: new Array() };
68810
70231
  metricValues.forEach((metricValue) => metricStoreBody.values.push([
@@ -68818,6 +70239,7 @@ class NASSService {
68818
70239
  ]));
68819
70240
  return this.dxSaaSService.tenantPost('/nass/metricValue/store', metricStoreBody);
68820
70241
  }
70242
+ /** Executes a raw NASS pipeline query (e.g. FROM_TOPOLOGY + JOIN_METADATA). */
68821
70243
  async query(nassQuery) {
68822
70244
  return this.dxSaaSService.tenantPost('/atc/private/internal/metrics/nassQuery', nassQuery);
68823
70245
  }
@@ -68832,6 +70254,7 @@ class NotificationService {
68832
70254
  constructor(dxSaaSService) {
68833
70255
  this.dxSaaSService = dxSaaSService;
68834
70256
  }
70257
+ /** Returns all configured event notification services for the tenant. */
68835
70258
  retrieveNotificationServices() {
68836
70259
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/eventnotification', {}, {});
68837
70260
  }
@@ -68846,6 +70269,7 @@ class O2NotificationService {
68846
70269
  constructor(dxSaaSService) {
68847
70270
  this.dxSaaSService = dxSaaSService;
68848
70271
  }
70272
+ /** Fetches all configured notification channels from the O2 notify API. */
68849
70273
  retrieveNotificationChannels() {
68850
70274
  return this.dxSaaSService.axaRequest('GET', 'notify/notify/v1/channels', true, false, {}, {});
68851
70275
  }
@@ -68869,6 +70293,7 @@ class O2UniverseService {
68869
70293
  this.dxTASService = dxTASService;
68870
70294
  this.simpleLog = simpleLog;
68871
70295
  }
70296
+ /** Returns all O2 universes (views owned by OI), including inactive ones. */
68872
70297
  retrieveAllUniverses() {
68873
70298
  return this.dxSaaSService
68874
70299
  .tenantPost('views/queryView', {
@@ -68883,6 +70308,7 @@ class O2UniverseService {
68883
70308
  return universeList.views;
68884
70309
  });
68885
70310
  }
70311
+ /** Returns a map of service name → universe labels it belongs to. */
68886
70312
  async getServiceNameToUniverseLabelMap() {
68887
70313
  const serviceUniverseNameMap = new SetMap();
68888
70314
  const universeNameServiceMap = await this.getUniverseLabelToServiceNameMap();
@@ -68893,6 +70319,7 @@ class O2UniverseService {
68893
70319
  });
68894
70320
  return serviceUniverseNameMap;
68895
70321
  }
70322
+ /** Returns a map of universe label → set of service names via TAS queries on each universe's TAS views. */
68896
70323
  async getUniverseLabelToServiceNameMap() {
68897
70324
  const universeServiceNameMap = new SetMap();
68898
70325
  const allUniverses = await this.retrieveAllUniverses();
@@ -68933,6 +70360,7 @@ class O2UniverseService {
68933
70360
  });
68934
70361
  return universeServiceNameMap;
68935
70362
  }
70363
+ /** Returns a single O2 universe by its view ID; throws if not exactly one result. */
68936
70364
  retrieveUniverseByViewId(viewId) {
68937
70365
  return this.dxSaaSService
68938
70366
  .tenantPost('views/queryView', {
@@ -68946,9 +70374,11 @@ class O2UniverseService {
68946
70374
  return universeList.views[0];
68947
70375
  });
68948
70376
  }
70377
+ /** Creates a new O2 universe from the given request body. */
68949
70378
  createUniverse(universe) {
68950
70379
  return this.dxSaaSService.tenantPost('/views/view', universe);
68951
70380
  }
70381
+ /** Builds a group access permission object for use in universe creation. */
68952
70382
  createGroupAccessBody(groupName, canManage) {
68953
70383
  return {
68954
70384
  name: groupName,
@@ -68958,6 +70388,7 @@ class O2UniverseService {
68958
70388
  attributeInclude: [],
68959
70389
  };
68960
70390
  }
70391
+ /** Builds a user access permission object for use in universe creation. */
68961
70392
  createUserAccessBody(userName, canManage) {
68962
70393
  return {
68963
70394
  name: userName,
@@ -68967,6 +70398,7 @@ class O2UniverseService {
68967
70398
  attributeInclude: [],
68968
70399
  };
68969
70400
  }
70401
+ /** Generates a full create-universe request body with TAS and NASS filters for the given services. */
68970
70402
  generateCreateUniverseRequestBody(name, description, serviceNames) {
68971
70403
  const tasAllFilter = {
68972
70404
  op: 'ALL',
@@ -69024,19 +70456,122 @@ class PerspectiveService {
69024
70456
  this.log = log;
69025
70457
  this.log = log ?? new NullSimpleLog$1();
69026
70458
  }
70459
+ /** Returns all perspectives (groupings) for the tenant. */
69027
70460
  getPerspectives() {
69028
70461
  this.log.debug('getting perspectives');
69029
70462
  return this.dxSaaSService.tenantGet('/apm/atc/api/private/grouping');
69030
70463
  }
70464
+ /** Creates a new perspective (grouping). */
69031
70465
  createPerspective(perspective) {
69032
70466
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/grouping', perspective);
69033
70467
  }
70468
+ /** Deletes a perspective by its ID. */
69034
70469
  async deletePerspective(id) {
69035
70470
  const result = await this.dxSaaSService.tenantDelete(`/apm/atc/api/private/grouping/${id}`);
69036
70471
  this.log.debug('deletion result', result);
69037
70472
  }
69038
70473
  }
69039
70474
 
70475
+ /**
70476
+ * Service for platform (o2/v2) alert specs: search, save, and retrieve
70477
+ * available message template fields.
70478
+ *
70479
+ * These operate against the `/oi/v2/alert/spec/` endpoints and are distinct
70480
+ * from the legacy ATC alert API. The UI refers to these as "alarms" but they
70481
+ * are modeled here as "alerts" for consistency; `alarmType` is preserved as-is
70482
+ * since it refers to the type of alarm generated when a threshold is crossed.
70483
+ */
70484
+ class PlatformAlertService {
70485
+ dxSaaSService;
70486
+ constructor(dxSaaSService) {
70487
+ this.dxSaaSService = dxSaaSService;
70488
+ }
70489
+ /** Searches for alert specs, optionally filtered by management module ID. */
70490
+ async search(mmId) {
70491
+ const body = mmId ? { mmId } : {};
70492
+ return this.dxSaaSService.tenantPost('oi/v2/alert/spec/search', body);
70493
+ }
70494
+ /** Creates or updates a platform alert spec. */
70495
+ async save(request) {
70496
+ return this.dxSaaSService.tenantPost('oi/v2/alert/spec/save', request);
70497
+ }
70498
+ /** Deletes an alert spec by its specId (component, id, managementModuleId). */
70499
+ async delete(specId) {
70500
+ return this.dxSaaSService.tenantPost('oi/v2/alert/spec/delete', specId);
70501
+ }
70502
+ /** Returns the set of available message template field names (e.g. alertName, severity, hostname). */
70503
+ async getMessageFields() {
70504
+ return this.dxSaaSService.tenantGet('oi/v2/alert/spec/message/fields');
70505
+ }
70506
+ }
70507
+
70508
+ /**
70509
+ * Service for platform (o2/v2) management modules: query, export, save, and delete.
70510
+ *
70511
+ * These operate against the `/oi/v2/managementmodule/` endpoints and are distinct
70512
+ * from the legacy ATC management module API.
70513
+ */
70514
+ class PlatformManagementModuleService {
70515
+ dxSaaSService;
70516
+ constructor(dxSaaSService) {
70517
+ this.dxSaaSService = dxSaaSService;
70518
+ }
70519
+ /** Lists all platform management modules. */
70520
+ async query() {
70521
+ return this.dxSaaSService.tenantPost('oi/v2/managementmodule/query', {});
70522
+ }
70523
+ /** Exports a single management module with its full detail (metricGroups, metricSpecs). */
70524
+ async exportModule(name) {
70525
+ return this.dxSaaSService.tenantPost('oi/v2/managementmodule/export', { id: { name } });
70526
+ }
70527
+ /** Creates or updates a platform management module. */
70528
+ async save(request) {
70529
+ return this.dxSaaSService.tenantPost('oi/v2/managementmodule/save', request);
70530
+ }
70531
+ /** Deletes a platform management module and its associated entities. */
70532
+ async delete(name) {
70533
+ return this.dxSaaSService.tenantPost('oi/v2/managementmodule/delete', { name });
70534
+ }
70535
+ }
70536
+
70537
+ /**
70538
+ * Service for platform (o2/v2) metric groupings: search, save, preview metrics,
70539
+ * and retrieve available metric filter fields.
70540
+ *
70541
+ * These operate against the `/oi/v2/alert/metricgroup/` and `/oi/v2/alert/metric/`
70542
+ * endpoints and are distinct from the legacy ATC metric grouping API.
70543
+ */
70544
+ class PlatformMetricGroupingService {
70545
+ dxSaaSService;
70546
+ constructor(dxSaaSService) {
70547
+ this.dxSaaSService = dxSaaSService;
70548
+ }
70549
+ /** Searches for metric groupings, optionally filtered by management module ID. */
70550
+ async search(mmId) {
70551
+ const body = mmId ? { mmId } : {};
70552
+ return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/search', body);
70553
+ }
70554
+ /** Creates or updates a platform metric grouping. */
70555
+ async save(request) {
70556
+ return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/save', request);
70557
+ }
70558
+ /** Retrieves live metrics matching a metric grouping and/or custom filter. */
70559
+ async getMetrics(request) {
70560
+ return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/metrics', request);
70561
+ }
70562
+ /** Deletes a metric grouping by ID (and optionally management module ID). */
70563
+ async delete(id, managementModuleId) {
70564
+ const body = managementModuleId
70565
+ ? { id, managementModuleId: { name: managementModuleId } }
70566
+ : { id };
70567
+ return this.dxSaaSService.tenantPost('oi/v2/alert/metricgroup/delete', body);
70568
+ }
70569
+ /** Returns the set of available metric filter fields (source, metric, metadata). */
70570
+ async getMetricFields() {
70571
+ return this.dxSaaSService.tenantPost('oi/v2/alert/metric/fields', {});
70572
+ }
70573
+ }
70574
+
69040
70575
  exports.FilterOperation = void 0;
69041
70576
  (function (FilterOperation) {
69042
70577
  FilterOperation["EQUALS"] = "eq";
@@ -69181,6 +70716,7 @@ class VertexService {
69181
70716
  this.dxSaaSService = dxSaaSService;
69182
70717
  this.log = log;
69183
70718
  }
70719
+ /** Returns attribute value groups for a given attribute name in a universe, optionally filtered by layer. */
69184
70720
  async getAttributeValues(universeId, attributeName, layer) {
69185
70721
  const fq = {
69186
70722
  filter: {
@@ -69213,6 +70749,7 @@ class VertexService {
69213
70749
  return attributeValuesResponse.items;
69214
70750
  });
69215
70751
  }
70752
+ /** Returns all intellisense attributes (including gathered) from the ATC API. */
69216
70753
  async listAllAttributes() {
69217
70754
  return this.dxSaaSService
69218
70755
  .tenantGet('/apm/atc/api/private/intellisense/attribute', { includeGathered: true })
@@ -69220,6 +70757,7 @@ class VertexService {
69220
70757
  return attributeResponseBody.items;
69221
70758
  });
69222
70759
  }
70760
+ /** Returns the state (attributes) of a vertex by its ID. */
69223
70761
  retrieveVertexState(vertexId) {
69224
70762
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/attributes/retrieve', { vertexIds: [vertexId] });
69225
70763
  }
@@ -69230,9 +70768,11 @@ class VertexService {
69230
70768
  // throw new Error("Unimplemented.")
69231
70769
  // }
69232
70770
  // public retrieveUniverseStatusChanges(universeId: string, startTime: number, endTime: number ) {}
70771
+ /** Returns a vertex by its ID from the ATC vertex REST endpoint. */
69233
70772
  retrieveVertex(vertexId) {
69234
70773
  return this.dxSaaSService.tenantGet('/apm/atc/api/vertex/' + vertexId);
69235
70774
  }
70775
+ /** Returns a flat key→value map of attributes for the single agent vertex matching `fullAgentName`. */
69236
70776
  async retrieveFlattenedAgentVertexAttributes(fullAgentName) {
69237
70777
  return this.retrieveAgentVertex(fullAgentName).then((vertexResponse) => {
69238
70778
  if (vertexResponse._embedded.vertex.length == 1) {
@@ -69246,6 +70786,7 @@ class VertexService {
69246
70786
  }
69247
70787
  });
69248
70788
  }
70789
+ /** Returns all vertices that have an `agent` attribute matching `fullAgentName`. */
69249
70790
  async retrieveAllVerticesForAgent(fullAgentName) {
69250
70791
  return this.dxSaaSService
69251
70792
  .tenantPost('/apm/atc/api/graph/vertex', VertexService.getAllVerticesForHostnameRequestBody(fullAgentName))
@@ -69253,6 +70794,7 @@ class VertexService {
69253
70794
  return response._embedded.vertex;
69254
70795
  });
69255
70796
  }
70797
+ /** Returns the AGENT-type vertex for the given fully-qualified agent name. */
69256
70798
  retrieveAgentVertex(fullAgentName) {
69257
70799
  return this.dxSaaSService.tenantPost('/apm/atc/api/graph/vertex', VertexService.getAgentVertexRequestBody(fullAgentName));
69258
70800
  }
@@ -69267,6 +70809,7 @@ class VertexService {
69267
70809
  });
69268
70810
  return r;
69269
70811
  }
70812
+ /** Patches a vertex's attributes; pass `null` values to delete an attribute. */
69270
70813
  patchVertex(vertexId, attributes) {
69271
70814
  const patchAttributes = {};
69272
70815
  Object.entries(attributes).forEach(([key, value]) => {
@@ -69279,21 +70822,26 @@ class VertexService {
69279
70822
  });
69280
70823
  return this.dxSaaSService.tenantPatch('/apm/atc/api/graph/vertex/' + vertexId, { attributes: patchAttributes });
69281
70824
  }
70825
+ /** Returns vertices matching a set of AND attribute filter items. */
69282
70826
  getVertices(andItems) {
69283
70827
  return this.dxSaaSService.tenantPost('/apm/atc/api/graph/vertex', VertexService.getBulkVertexRequestBody(andItems));
69284
70828
  }
69285
70829
  vertexMappingConfigurationCached = null;
70830
+ /** Saves a vertex definition extension configuration. */
69286
70831
  async setVertexDefinition(vertexDefinition) {
69287
70832
  return this.dxSaaSService.tenantPost('/apm/appmap/ats/extension/configure', vertexDefinition);
69288
70833
  }
70834
+ /** Returns all vertex type definitions for the tenant. */
69289
70835
  async getVertexDefinitions() {
69290
70836
  return this.dxSaaSService.tenantGet('/atc/vertexdefinition');
69291
70837
  }
70838
+ /** Returns vertex definitions filtered to a specific vertex type. */
69292
70839
  async getVertexDefinition(vertexType) {
69293
70840
  return this.dxSaaSService.tenantGet('/atc/vertexdefinition', {
69294
70841
  vertexType: vertexType,
69295
70842
  });
69296
70843
  }
70844
+ /** Returns the vertex metric mapping configuration (parsed from static config), optionally cached. */
69297
70845
  async getVertexMappingConfiguration(useCache = true, allowOverride = true) {
69298
70846
  if (useCache && this.vertexMappingConfigurationCached != null) {
69299
70847
  return this.vertexMappingConfigurationCached;
@@ -69394,6 +70942,7 @@ class VertexService {
69394
70942
  ],
69395
70943
  };
69396
70944
  }
70945
+ /** Returns trace summaries for a set of vertex IDs within a time window. */
69397
70946
  async getTraceSummaries(startTime, endTime, vertexIds, index, limit, errorsOnly) {
69398
70947
  const traceSummaryRequestBody = {
69399
70948
  endTime: endTime.toISO(),
@@ -69405,6 +70954,7 @@ class VertexService {
69405
70954
  };
69406
70955
  return this.dxSaaSService.tenantPost('/apm/atc/api/private/trace/summary', traceSummaryRequestBody);
69407
70956
  }
70957
+ /** Builds metric query request bodies for a vertex ID using its mapped performance specifiers. */
69408
70958
  async getVertexMappedMetricQueryRequestBody(vertexId) {
69409
70959
  const vertexMapping = await this.getVertexMappingConfiguration();
69410
70960
  vertexMapping.vertexMetricMap.forEach((specArray, key) => {
@@ -69480,6 +71030,7 @@ class VertexService {
69480
71030
  });
69481
71031
  return metricQueryBodyArray;
69482
71032
  }
71033
+ /** Returns true if the vertex matches all filter conditions in the specifier. */
69483
71034
  matchesFilter(spec, vertex) {
69484
71035
  if (!spec.filter) {
69485
71036
  return true;
@@ -69497,6 +71048,7 @@ class VertexService {
69497
71048
  return filterMatches.every((match) => match);
69498
71049
  }
69499
71050
  }
71051
+ /** Replaces `<attributeName>` placeholders in a specifier format string with vertex attribute values. */
69500
71052
  materializeSpecifier(specifier, vertex, escapeAttributeValue = false) {
69501
71053
  this.getAllReplacementAttributes(specifier).forEach((attribute) => {
69502
71054
  const vaValue = getVertexAttributeValue(vertex, attribute);
@@ -69506,6 +71058,7 @@ class VertexService {
69506
71058
  });
69507
71059
  return specifier;
69508
71060
  }
71061
+ /** Extracts all `<attributeName>` placeholder names from a specifier format string. */
69509
71062
  getAllReplacementAttributes(specifierFormat) {
69510
71063
  const replacementAttributes = new Array();
69511
71064
  let index = 0;
@@ -69522,12 +71075,14 @@ class VertexService {
69522
71075
  this.log.debug(`found replacement attributes: ${replacementAttributes} in ${specifierFormat}`);
69523
71076
  return replacementAttributes;
69524
71077
  }
71078
+ /** Returns true if the vertex has all attributes required by the specifier's format strings. */
69525
71079
  hasAllAttributes(specifier, vertex) {
69526
71080
  const hasASReplacementAttributes = this.getAllReplacementAttributes(specifier.agentSpecifier.format).every((attribute) => hasVertexAttribute(vertex, attribute));
69527
71081
  const hasMSReplacementAttributes = this.getAllReplacementAttributes(specifier.metricSpecifier.format).every((attribute) => hasVertexAttribute(vertex, attribute));
69528
71082
  this.log.debug(`has replacements: ${hasASReplacementAttributes}/${hasMSReplacementAttributes}`);
69529
71083
  return hasASReplacementAttributes && hasMSReplacementAttributes;
69530
71084
  }
71085
+ /** Returns an empty metric query body skeleton with default range/frequency values. */
69531
71086
  getEmptyMetricQueryBody() {
69532
71087
  return {
69533
71088
  querySpecifier: {
@@ -69545,6 +71100,7 @@ class VertexService {
69545
71100
  authorizationView: null,
69546
71101
  };
69547
71102
  }
71103
+ /** Returns the directory path where vertex mapping override JSON files are stored. */
69548
71104
  getVertexMappingOverrideLocation() {
69549
71105
  let overrideLocation = null;
69550
71106
  if (process.env.DXDO_VERTEX_MAPPING_OVERRIDE_LOCATION) {
@@ -69586,14 +71142,17 @@ class VertexService {
69586
71142
  return overrideLocation;
69587
71143
  }
69588
71144
  }
71145
+ /** Returns true if an override file exists for the given vertex type and mapping type. */
69589
71146
  vertexMappingOverrideFileExists(type, mappingType) {
69590
71147
  return fs__namespace.existsSync(this.getVertexMappingLocation(type, mappingType));
69591
71148
  }
71149
+ /** Parses and returns the contents of a vertex mapping override JSON file. */
69592
71150
  getVertexMappingOverrideContents(type, mappingType) {
69593
71151
  return JSON.parse(fs__namespace
69594
71152
  .readFileSync(this.getVertexMappingLocation(type, mappingType))
69595
71153
  .toString());
69596
71154
  }
71155
+ /** Returns the `.original` backup path for a vertex mapping override; throws if it already exists. */
69597
71156
  getTemporaryVertexMappingOverrideLocation(type, mappingType) {
69598
71157
  const tempPath = path__namespace.join(this.getVertexMappingOverrideLocation(), `${type}.${mappingType}.json.original`);
69599
71158
  if (fs__namespace.existsSync(tempPath)) {
@@ -69602,6 +71161,7 @@ class VertexService {
69602
71161
  else
69603
71162
  return tempPath;
69604
71163
  }
71164
+ /** Returns the file path for a vertex mapping override JSON file. */
69605
71165
  getVertexMappingLocation(type, mappingType) {
69606
71166
  return path__namespace.join(this.getVertexMappingOverrideLocation(), `${type}.${mappingType}.json`);
69607
71167
  }
@@ -69616,6 +71176,7 @@ class SQLService {
69616
71176
  constructor(dxSaaSService) {
69617
71177
  this.dxSaaSService = dxSaaSService;
69618
71178
  }
71179
+ /** Executes a SQL-style APM data query and returns the response body. */
69619
71180
  executeQuery(query) {
69620
71181
  return this.dxSaaSService
69621
71182
  .tenantPost('/apm/atc/api/apmData/query', { query: query })
@@ -69639,6 +71200,7 @@ class SessionService {
69639
71200
  this.dxSaaSService = dxSaaSService;
69640
71201
  this.log = log;
69641
71202
  }
71203
+ /** Placeholder session verification; currently logs a warning and resolves immediately. */
69642
71204
  test() {
69643
71205
  this.log.warn(`Not able to verify session for ${this.dxSaaSService.getTenantCN()}`);
69644
71206
  return Promise.resolve();
@@ -69659,10 +71221,12 @@ class TASService {
69659
71221
  this.dxSaaSService = dxSaaSService;
69660
71222
  this.log = log;
69661
71223
  }
71224
+ /** Stores a graph (vertices and edges) in the TAS topology store. */
69662
71225
  async storeGraph(graphBody) {
69663
71226
  this.log.debug('storing');
69664
71227
  return this.dxSaaSService.tenantPost('/tas/graph/store', graphBody);
69665
71228
  }
71229
+ /** Executes a TAS graph query and returns the result body. */
69666
71230
  async executeQuery(query) {
69667
71231
  return this.dxSaaSService.tenantPost('/tas/graph/query', query);
69668
71232
  }
@@ -69684,9 +71248,11 @@ class ServiceService {
69684
71248
  this.dxSaaSService = dxSaaSService;
69685
71249
  this.log = log;
69686
71250
  }
71251
+ /** Returns the TAS topology dependency graph for a named service. */
69687
71252
  async getServiceDependencyGraph(serviceName) {
69688
71253
  return this.dxSaaSService.oiPost('oi/v2/sa/saTopologyGraph', { serviceName: serviceName, startTime: Date.now(), endTime: Date.now() });
69689
71254
  }
71255
+ /** Returns metric time-series for each metric ID associated with a service. */
69690
71256
  async getServiceDetailMetrics(serviceName, startTime, endTime, ianaTimeZone = 'Europe/London') {
69691
71257
  const serviceOverview = await this.getServiceOverview(serviceName);
69692
71258
  const serviceDetailRequest = {
@@ -69706,11 +71272,13 @@ class ServiceService {
69706
71272
  };
69707
71273
  });
69708
71274
  }
71275
+ /** Searches services using a structured search request body. */
69709
71276
  async searchServices(searchRequest) {
69710
71277
  return this.dxSaaSService.oiPost('oi/v2/api/maintenance/inventory/_search', searchRequest, {
69711
71278
  services: true,
69712
71279
  });
69713
71280
  }
71281
+ /** Returns SLI metrics for a specific service within a time range. */
69714
71282
  async getServiceSLIs(serviceId, serviceName, startTime, endTime) {
69715
71283
  const requestBody = {
69716
71284
  serviceId,
@@ -69721,6 +71289,7 @@ class ServiceService {
69721
71289
  };
69722
71290
  return this.dxSaaSService.oiPost('oi/v2/servicerepo/slis', requestBody);
69723
71291
  }
71292
+ /** Returns the full service detail (metrics with values) for a named service. */
69724
71293
  async getServiceDetail(serviceName, startTime, endTime, ianaTimeZone = 'Europe/London') {
69725
71294
  const serviceOverview = await this.getServiceOverview(serviceName);
69726
71295
  const serviceDetailRequest = {
@@ -69733,6 +71302,7 @@ class ServiceService {
69733
71302
  };
69734
71303
  return this.dxSaaSService.oiPost('oi/v2/sa/serviceDetails', serviceDetailRequest);
69735
71304
  }
71305
+ /** Returns the overview vertex for a named service; throws if not found. */
69736
71306
  async getServiceOverview(serviceName) {
69737
71307
  return this.dxSaaSService
69738
71308
  .oiGet(`oi/v2/sa/services/${serviceName}`, {
@@ -69746,6 +71316,7 @@ class ServiceService {
69746
71316
  throw new Error(`No Service with name '${serviceName}' Found`);
69747
71317
  });
69748
71318
  }
71319
+ /** Returns paginated top-level (grouped) services up to `maxRequests` pages. */
69749
71320
  async getTopLevelServices(pageSize = 100, maxRequests = 20) {
69750
71321
  const returnServices = new Array();
69751
71322
  let totalRequests = 0;
@@ -69770,6 +71341,7 @@ class ServiceService {
69770
71341
  return returnServices;
69771
71342
  });
69772
71343
  }
71344
+ /** Returns all services (ungrouped) paginating up to `maxRequests` pages. */
69773
71345
  async getAllServices(pageSize = 100, maxRequests = 10) {
69774
71346
  const returnServices = new Array();
69775
71347
  let totalRequests = 0;
@@ -69794,6 +71366,7 @@ class ServiceService {
69794
71366
  return returnServices;
69795
71367
  });
69796
71368
  }
71369
+ /** Builds a services request body scoped to parent (top-level) services. */
69797
71370
  createParentServiceRequestBody(pageSize) {
69798
71371
  return {
69799
71372
  ...exports.OIService.PARENT_SERVICE_REQUEST_BODY,
@@ -69801,6 +71374,7 @@ class ServiceService {
69801
71374
  pageSize: pageSize,
69802
71375
  };
69803
71376
  }
71377
+ /** Builds a services request body that includes all services (no grouping). */
69804
71378
  createAllServiceRequestBody(pageSize) {
69805
71379
  return {
69806
71380
  ...exports.OIService.PARENT_SERVICE_REQUEST_BODY,
@@ -69809,6 +71383,7 @@ class ServiceService {
69809
71383
  groupServices: false,
69810
71384
  };
69811
71385
  }
71386
+ /** Returns inventory records for entities belonging to the named service. */
69812
71387
  async getServiceInventory(serviceName) {
69813
71388
  const initialRequestBody = this.createServiceInventoryRequestBody(serviceName);
69814
71389
  return this.dxSaaSService
@@ -69829,14 +71404,17 @@ class ServiceService {
69829
71404
  sirb.customFilter.and.expressions[0].or.expressions[0].value = serviceName;
69830
71405
  return sirb;
69831
71406
  }
71407
+ /** Creates a new service from the given body; replaces any existing service with the same name. */
69832
71408
  async createService(createServiceBody) {
69833
71409
  return this.dxSaaSService.tenantPost('/oi/v2/sa/save', createServiceBody, {
69834
71410
  replace: true,
69835
71411
  });
69836
71412
  }
71413
+ /** Deletes a service by name; optionally deletes child services recursively. */
69837
71414
  async deleteService(serviceName, recursive = false) {
69838
71415
  return this.dxSaaSService.tenantPost('/oi/v2/sa/service/status', { name: serviceName, action: 'delete' }, { recursive });
69839
71416
  }
71417
+ /** Builds a `ServiceContent` query fragment for a single attribute filter. */
69840
71418
  generateServiceContent(attributeName, attributeValue, operator = 'IN', followTransactions = false) {
69841
71419
  return {
69842
71420
  query: [
@@ -69851,6 +71429,7 @@ class ServiceService {
69851
71429
  },
69852
71430
  };
69853
71431
  }
71432
+ /** Builds an empty (no-content) service vertex payload ready to be populated. */
69854
71433
  generateEmptyServiceVertex(serviceName, serviceDescription, situationsIncludeChildServices, tags = [], customProperties = []) {
69855
71434
  return {
69856
71435
  attributes: {
@@ -69871,6 +71450,7 @@ class ServiceService {
69871
71450
  externalId: `SERVICE:${serviceName}`,
69872
71451
  };
69873
71452
  }
71453
+ /** Returns an empty `CreateSimpleServiceBody` with no vertices or edges. */
69874
71454
  generateCreateServiceBody() {
69875
71455
  return {
69876
71456
  edges: [],
@@ -69894,6 +71474,7 @@ class SituationService {
69894
71474
  this.dxSaaSService = dxSaaSService;
69895
71475
  this.log = log;
69896
71476
  }
71477
+ /** Sends a notification for a situation to the specified channel with optional template/locale. */
69897
71478
  async triggerNotification(alarmId, notificationChannelName, template = '', locale = 'en-US') {
69898
71479
  const situationDetail = JSON.parse((await this.getSituationOverview(alarmId)).alarmData);
69899
71480
  situationDetail.alarmType = 'situation';
@@ -69908,6 +71489,7 @@ class SituationService {
69908
71489
  };
69909
71490
  return this.dxSaaSService.oiPost('oi/v2/api/alarmactions/channel', body);
69910
71491
  }
71492
+ /** Searches cluster alarms (situations) within a time range using a filter operation. */
69911
71493
  async getSituations(searchOperation, startTime, endTime, includeClosed = false, pageSize = 50) {
69912
71494
  return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', this.getSituationRequestBody(searchOperation, startTime, endTime, includeClosed, pageSize));
69913
71495
  }
@@ -69933,9 +71515,11 @@ class SituationService {
69933
71515
  customFilter: searchOperation,
69934
71516
  };
69935
71517
  }
71518
+ /** Returns the overview record for a situation by its alarm ID. */
69936
71519
  async getSituationOverview(situationId) {
69937
71520
  return this.dxSaaSService.oiGet(`oi/v2/api/groupalarms/_search/${situationId}/overview`, { type: 'cluster' });
69938
71521
  }
71522
+ /** Returns lifecycle (state change) events for a situation. */
69939
71523
  async getSituationLifecycleEvents(situationId) {
69940
71524
  return this.dxSaaSService.oiPost('oi/v2/api/alarms/lifecycle/_search', {
69941
71525
  alarmId: situationId,
@@ -69945,6 +71529,7 @@ class SituationService {
69945
71529
  lifeCycleType: 'SITUATION',
69946
71530
  });
69947
71531
  }
71532
+ /** Returns the inspector inspection result for a situation (related alarms, topology). */
69948
71533
  async getSituationInspection(situationId) {
69949
71534
  return this.dxSaaSService.oiPost('oi/v2/api/inspect/situation', {
69950
71535
  backwardHopCount: 1,
@@ -69953,6 +71538,7 @@ class SituationService {
69953
71538
  tenantId: this.dxSaaSService.dxdoConfiguration.dxConfiguration.cohortId,
69954
71539
  });
69955
71540
  }
71541
+ /** Returns all alarms belonging to a situation in a time window. */
69956
71542
  async getSituationAlarms(situationId, startTime, endTime, pageSize = 50) {
69957
71543
  this.log.debug(`getting situations with pagesize ${pageSize}`);
69958
71544
  return this.dxSaaSService.oiPost('oi/v2/api/clusteralarms/_search', {
@@ -69977,6 +71563,7 @@ class SituationService {
69977
71563
  clusterAlarmId: situationId,
69978
71564
  });
69979
71565
  }
71566
+ /** Generates a GenAI inspector summary for a situation in the given timezone. */
69980
71567
  async getSituationSummary(situationId, timezoneTimeZoneIANA) {
69981
71568
  const situationInspection = await this.getSituationInspection(situationId);
69982
71569
  const relatedAlarms = Object.values(situationInspection.relatedAlarmsDetails.relatedAlarms).map((relatedAlarm) => {
@@ -70054,6 +71641,9 @@ function createServiceMonolith(dxDoConfiguration, log = new NullSimpleLog()) {
70054
71641
  dxO2UniverseService: new O2UniverseService(dxSaaSService, dxTASService, log),
70055
71642
  dxOIService: new DxoiService(dxSaaSService),
70056
71643
  dxPerspectiveService: new PerspectiveService(dxSaaSService),
71644
+ dxPlatformAlertService: new PlatformAlertService(dxSaaSService),
71645
+ dxPlatformManagementModuleService: new PlatformManagementModuleService(dxSaaSService),
71646
+ dxPlatformMetricGroupingService: new PlatformMetricGroupingService(dxSaaSService),
70057
71647
  dxSaaSService,
70058
71648
  dxServiceService: new ServiceService(dxSaaSService, log),
70059
71649
  dxSessionService: new SessionService(dxSaaSService),
@@ -70064,42 +71654,306 @@ function createServiceMonolith(dxDoConfiguration, log = new NullSimpleLog()) {
70064
71654
  };
70065
71655
  }
70066
71656
 
71657
+ /**
71658
+ * Service for issuing metric metadata queries against the DX SaaS DataStore
71659
+ * API (`/metadata/queryMetric`).
71660
+ *
71661
+ * Requests are validated against {@link MetadataMetricQuerySchema}; responses
71662
+ * are validated against {@link MetadataMetricQueryResponseV2Schema}.
71663
+ * Validation failures on the response side are logged as warnings, not thrown.
71664
+ */
71665
+ class DataStoreMetricsMetadataService {
71666
+ dxSaasService;
71667
+ log;
71668
+ constructor(dxSaasService, log) {
71669
+ this.dxSaasService = dxSaasService;
71670
+ this.log = log;
71671
+ }
71672
+ /**
71673
+ * POSTs a metadata query to `/metadata/queryMetric` and returns the matching
71674
+ * metric / folder records.
71675
+ *
71676
+ * @throws ZodError if the request fails schema validation.
71677
+ */
71678
+ async queryMetric(query) {
71679
+ MetadataMetricQuerySchema.parse(query);
71680
+ const raw = await this.dxSaasService.tenantPost('metadata/queryMetric', query);
71681
+ const result = MetadataMetricQueryResponseV2Schema.safeParse(raw);
71682
+ if (!result.success) {
71683
+ this.log.warn('MetadataMetricQueryResponseV2 validation warning:', result.error.message);
71684
+ }
71685
+ return raw;
71686
+ }
71687
+ }
71688
+
71689
+ /**
71690
+ * Service for issuing NASSQL queries against the DX SaaS DataStore API
71691
+ * (`/metrics/nassQuery`).
71692
+ *
71693
+ * NASSQL is a pipeline query language that composes operations across
71694
+ * topology, metric metadata, and metric data sources. The response is a
71695
+ * tabular array where the first row is the column header and subsequent
71696
+ * rows are data; use {@link splitResult} or {@link resultAsRecords} to
71697
+ * work with the data conveniently.
71698
+ *
71699
+ * Requests are validated against {@link QueryRequestSchema}; responses are
71700
+ * validated against {@link QueryResultSchema}. Validation failures on the
71701
+ * response side are logged as warnings, not thrown.
71702
+ */
71703
+ class DataStoreNASSQLService {
71704
+ dxSaasService;
71705
+ log;
71706
+ constructor(dxSaasService, log) {
71707
+ this.dxSaasService = dxSaasService;
71708
+ this.log = log;
71709
+ }
71710
+ /**
71711
+ * POSTs a NASSQL query to `/metrics/nassQuery` and returns the raw tabular
71712
+ * result (header row followed by data rows).
71713
+ *
71714
+ * @throws ZodError if the request fails schema validation.
71715
+ */
71716
+ async query(request) {
71717
+ QueryRequestSchema.parse(request);
71718
+ const raw = await this.dxSaasService.tenantPost('metrics/nassQuery', request);
71719
+ const result = QueryResultSchema.safeParse(raw);
71720
+ if (!result.success) {
71721
+ this.log.warn('QueryResult validation warning:', result.error.message);
71722
+ }
71723
+ return raw;
71724
+ }
71725
+ /**
71726
+ * Splits a NASSQL query result into its header row and data rows.
71727
+ * Assumes the first row is always the header.
71728
+ */
71729
+ splitResult(result) {
71730
+ if (result.length === 0) {
71731
+ return { header: [], data: [] };
71732
+ }
71733
+ const header = result[0];
71734
+ const data = result.slice(1);
71735
+ return { header, data };
71736
+ }
71737
+ /**
71738
+ * Converts a NASSQL query result into an array of objects (Records),
71739
+ * where each object's keys are the column names from the header row.
71740
+ */
71741
+ resultAsRecords(result) {
71742
+ const { header, data } = this.splitResult(result);
71743
+ return data.map((row) => {
71744
+ const record = {};
71745
+ header.forEach((colName, index) => {
71746
+ record[colName] = row[index];
71747
+ });
71748
+ return record;
71749
+ });
71750
+ }
71751
+ }
71752
+
71753
+ /**
71754
+ * Service for issuing Topological Attribute Store (TAS) graph queries
71755
+ * against the DX SaaS DataStore API (`/tas/graph/query`).
71756
+ *
71757
+ * Requests are validated against {@link TasQuerySchema}; responses are
71758
+ * validated against {@link TasGraphSchema}. Validation failures on the
71759
+ * response side are logged as warnings, not thrown.
71760
+ */
71761
+ class DataStoreTASService {
71762
+ dxSaasService;
71763
+ log;
71764
+ constructor(dxSaasService, log) {
71765
+ this.dxSaasService = dxSaasService;
71766
+ this.log = log;
71767
+ }
71768
+ /**
71769
+ * POSTs a TAS graph query to `/tas/graph/query` and returns the resulting
71770
+ * graph (vertices, edges, states).
71771
+ *
71772
+ * @throws ZodError if the request fails schema validation.
71773
+ */
71774
+ async executeQuery(query) {
71775
+ TasQuerySchema.parse(query);
71776
+ const raw = await this.dxSaasService.tenantPost('tas/graph/query', query);
71777
+ const result = TasGraphSchema.safeParse(raw);
71778
+ if (!result.success) {
71779
+ this.log.warn('TasGraph response validation warning:', result.error.message);
71780
+ }
71781
+ return raw;
71782
+ }
71783
+ }
71784
+
70067
71785
  exports.AccService = AccService;
70068
71786
  exports.AgentService = AgentService;
70069
71787
  exports.AlarmService = AlarmService;
70070
71788
  exports.AlertService = AlertService;
71789
+ exports.AlignmentSchema = AlignmentSchema;
70071
71790
  exports.ApmUniverseService = ApmUniverseService;
70072
71791
  exports.AsmService = AsmService;
71792
+ exports.AttributeExpressionComparatorSchema = AttributeExpressionComparatorSchema;
71793
+ exports.AttributeExpressionOperatorSchema = AttributeExpressionOperatorSchema;
71794
+ exports.AttributeExpressionSchema = AttributeExpressionSchema;
71795
+ exports.AttributeNameAllSpecifierSchema = AttributeNameAllSpecifierSchema;
71796
+ exports.AttributeNameAndSpecifierSchema = AttributeNameAndSpecifierSchema;
71797
+ exports.AttributeNameAnyNumericSpecifierSchema = AttributeNameAnyNumericSpecifierSchema;
71798
+ exports.AttributeNameAttributeSpecifierSchema = AttributeNameAttributeSpecifierSchema;
71799
+ exports.AttributeNameChildrenSpecifierSchema = AttributeNameChildrenSpecifierSchema;
71800
+ exports.AttributeNameExactSpecifierSchema = AttributeNameExactSpecifierSchema;
71801
+ exports.AttributeNameFolderSpecifierSchema = AttributeNameFolderSpecifierSchema;
71802
+ exports.AttributeNameNoneSpecifierSchema = AttributeNameNoneSpecifierSchema;
71803
+ exports.AttributeNameNotSpecifierSchema = AttributeNameNotSpecifierSchema;
71804
+ exports.AttributeNameOperatorSpecifierSchema = AttributeNameOperatorSpecifierSchema;
71805
+ exports.AttributeNameOrSpecifierSchema = AttributeNameOrSpecifierSchema;
71806
+ exports.AttributeNameRegExSpecifierSchema = AttributeNameRegExSpecifierSchema;
71807
+ exports.AttributeNameSpecifierSchema = AttributeNameSpecifierSchema;
71808
+ exports.AttributeNameTypeSpecifierSchema = AttributeNameTypeSpecifierSchema;
70073
71809
  exports.AttributeService = AttributeService;
71810
+ exports.AttributeValueAsFieldSchema = AttributeValueAsFieldSchema;
70074
71811
  exports.AuthorizationService = AuthorizationService;
70075
71812
  exports.AxaService = AxaService;
70076
71813
  exports.BlobService = BlobService;
71814
+ exports.CalendarIntervalSchema = CalendarIntervalSchema;
70077
71815
  exports.ChannelService = ChannelService;
70078
71816
  exports.DEFAULT_EXPERIENCE_REQUEST_BODY = DEFAULT_EXPERIENCE_REQUEST_BODY;
70079
71817
  exports.DashboardService = DashboardService;
71818
+ exports.DataStoreMetricsMetadataService = DataStoreMetricsMetadataService;
71819
+ exports.DataStoreNASSQLService = DataStoreNASSQLService;
71820
+ exports.DataStoreTASService = DataStoreTASService;
70080
71821
  exports.DxSaasService = DxSaasService;
70081
71822
  exports.DxoiService = DxoiService;
71823
+ exports.EdgeNumericIdSchema = EdgeNumericIdSchema;
70082
71824
  exports.EventService = EventService;
70083
71825
  exports.ExperienceService = ExperienceService;
71826
+ exports.FillModeSchema = FillModeSchema;
71827
+ exports.FolderNameAllSpecifierSchema = FolderNameAllSpecifierSchema;
71828
+ exports.FolderNameAndSpecifierSchema = FolderNameAndSpecifierSchema;
71829
+ exports.FolderNameChildrenSpecifierSchema = FolderNameChildrenSpecifierSchema;
71830
+ exports.FolderNameExactSpecifierSchema = FolderNameExactSpecifierSchema;
71831
+ exports.FolderNameNoneSpecifierSchema = FolderNameNoneSpecifierSchema;
71832
+ exports.FolderNameNotSpecifierSchema = FolderNameNotSpecifierSchema;
71833
+ exports.FolderNameOrSpecifierSchema = FolderNameOrSpecifierSchema;
71834
+ exports.FolderNameRegExSpecifierSchema = FolderNameRegExSpecifierSchema;
71835
+ exports.FolderNameSpecifierSchema = FolderNameSpecifierSchema;
70084
71836
  exports.GraphService = GraphService;
70085
71837
  exports.InventoryService = InventoryService;
71838
+ exports.JoinTypeSchema = JoinTypeSchema;
70086
71839
  exports.JsExtensionService = JsExtensionService;
70087
71840
  exports.LogsService = LogsService;
71841
+ exports.ManagementModuleIdSchema = ManagementModuleIdSchema;
70088
71842
  exports.ManagementModuleService = ManagementModuleService;
71843
+ exports.MetadataMetricQueryResponseV2Schema = MetadataMetricQueryResponseV2Schema;
71844
+ exports.MetadataMetricQuerySchema = MetadataMetricQuerySchema;
71845
+ exports.MetricAttributeSchema = MetricAttributeSchema;
70089
71846
  exports.MetricBatchService = MetricBatchService;
71847
+ exports.MetricFolderSchema = MetricFolderSchema;
70090
71848
  exports.MetricGroupingService = MetricGroupingService;
70091
71849
  exports.NASSService = NASSService;
71850
+ exports.NassValueTypeSchema = NassValueTypeSchema;
70092
71851
  exports.NotificationService = NotificationService;
71852
+ exports.NumericOperatorSchema = NumericOperatorSchema;
70093
71853
  exports.O2NotificationService = O2NotificationService;
70094
71854
  exports.O2UniverseService = O2UniverseService;
71855
+ exports.OperatorSchema = OperatorSchema;
70095
71856
  exports.PerspectiveService = PerspectiveService;
71857
+ exports.PlatformAlertService = PlatformAlertService;
71858
+ exports.PlatformManagementModuleService = PlatformManagementModuleService;
71859
+ exports.PlatformMetricGroupingService = PlatformMetricGroupingService;
71860
+ exports.QuantileMethodSchema = QuantileMethodSchema;
71861
+ exports.QueryAllSpecifierSchema = QueryAllSpecifierSchema;
71862
+ exports.QueryAndSpecifierSchema = QueryAndSpecifierSchema;
71863
+ exports.QueryAttributeExpressionSchema = QueryAttributeExpressionSchema;
71864
+ exports.QueryAttributeSpecifierSchema = QueryAttributeSpecifierSchema;
71865
+ exports.QueryColumnTypeSpecSchema = QueryColumnTypeSpecSchema;
71866
+ exports.QueryFilterPredicateSpecSchema = QueryFilterPredicateSpecSchema;
71867
+ exports.QueryFunctionSpecSchema = QueryFunctionSpecSchema;
71868
+ exports.QueryHintForceRangeSchema = QueryHintForceRangeSchema;
71869
+ exports.QueryHintSchema = QueryHintSchema;
71870
+ exports.QueryIdSpecifierSchema = QueryIdSpecifierSchema;
71871
+ exports.QueryMetricGroupSpecifierSchema = QueryMetricGroupSpecifierSchema;
71872
+ exports.QueryMetricIdSchema = QueryMetricIdSchema;
71873
+ exports.QueryNoneSpecifierSchema = QueryNoneSpecifierSchema;
71874
+ exports.QueryNotSpecifierSchema = QueryNotSpecifierSchema;
71875
+ exports.QueryOrSpecifierSchema = QueryOrSpecifierSchema;
71876
+ exports.QueryRangeSpecSchema = QueryRangeSpecSchema;
71877
+ exports.QueryRequestSchema = QueryRequestSchema;
71878
+ exports.QueryResultSchema = QueryResultSchema;
71879
+ exports.QuerySpecSpecifierSchema = QuerySpecSpecifierSchema;
71880
+ exports.QuerySpecifierSchema = QuerySpecifierSchema;
70096
71881
  exports.SQLService = SQLService;
71882
+ exports.ServiceFilterSpecifierSchema = ServiceFilterSpecifierSchema;
70097
71883
  exports.ServiceService = ServiceService;
70098
71884
  exports.SessionService = SessionService;
70099
71885
  exports.SimpleHTTPError = SimpleHTTPError;
70100
71886
  exports.SituationService = SituationService;
71887
+ exports.SourceNameAllSpecifierSchema = SourceNameAllSpecifierSchema;
71888
+ exports.SourceNameAndSpecifierSchema = SourceNameAndSpecifierSchema;
71889
+ exports.SourceNameExactSpecifierSchema = SourceNameExactSpecifierSchema;
71890
+ exports.SourceNameNoneSpecifierSchema = SourceNameNoneSpecifierSchema;
71891
+ exports.SourceNameNotSpecifierSchema = SourceNameNotSpecifierSchema;
71892
+ exports.SourceNameOrSpecifierSchema = SourceNameOrSpecifierSchema;
71893
+ exports.SourceNamePartOperatorSpecifierSchema = SourceNamePartOperatorSpecifierSchema;
71894
+ exports.SourceNameRegExSpecifierSchema = SourceNameRegExSpecifierSchema;
71895
+ exports.SourceNameSpecifierSchema = SourceNameSpecifierSchema;
70101
71896
  exports.TASService = TASService;
71897
+ exports.TasAddFlowsFilterSchema = TasAddFlowsFilterSchema;
71898
+ exports.TasAddTransitioningEdgesFilterSchema = TasAddTransitioningEdgesFilterSchema;
71899
+ exports.TasAddWireContextFilterSchema = TasAddWireContextFilterSchema;
71900
+ exports.TasAddWiresFilterSchema = TasAddWiresFilterSchema;
71901
+ exports.TasAllFilterSchema = TasAllFilterSchema;
71902
+ exports.TasAnalyticResultSchema = TasAnalyticResultSchema;
71903
+ exports.TasAndFilterSchema = TasAndFilterSchema;
71904
+ exports.TasAttributeFilterModeSchema = TasAttributeFilterModeSchema;
71905
+ exports.TasAttributeFilterSchema = TasAttributeFilterSchema;
71906
+ exports.TasAttributeTypeSchema = TasAttributeTypeSchema;
71907
+ exports.TasCollectAttributeNamesFilterSchema = TasCollectAttributeNamesFilterSchema;
71908
+ exports.TasCollectAttributesFilterSchema = TasCollectAttributesFilterSchema;
71909
+ exports.TasCollectCardInfoFilterSchema = TasCollectCardInfoFilterSchema;
71910
+ exports.TasCollectCardInfoTierSchema = TasCollectCardInfoTierSchema;
71911
+ exports.TasCollectCountsFilterSchema = TasCollectCountsFilterSchema;
71912
+ exports.TasCollectExperienceAttributesFilterSchema = TasCollectExperienceAttributesFilterSchema;
71913
+ exports.TasCollectExperienceSelectorSchema = TasCollectExperienceSelectorSchema;
71914
+ exports.TasCollectGroupingInfoFilterSchema = TasCollectGroupingInfoFilterSchema;
71915
+ exports.TasCollectVertexIdFilterSchema = TasCollectVertexIdFilterSchema;
71916
+ exports.TasCoverageFilterSchema = TasCoverageFilterSchema;
71917
+ exports.TasEdgeSchema = TasEdgeSchema;
71918
+ exports.TasEmptyFilterSchema = TasEmptyFilterSchema;
71919
+ exports.TasExternalIdSchema = TasExternalIdSchema;
71920
+ exports.TasFilterSchema = TasFilterSchema;
71921
+ exports.TasFollowPathFilterSchema = TasFollowPathFilterSchema;
71922
+ exports.TasFollowPathFlowFilterSchema = TasFollowPathFlowFilterSchema;
71923
+ exports.TasFollowPathTypeSchema = TasFollowPathTypeSchema;
71924
+ exports.TasGraphSchema = TasGraphSchema;
71925
+ exports.TasGroupingItemSchema = TasGroupingItemSchema;
71926
+ exports.TasJoinFilterSchema = TasJoinFilterSchema;
71927
+ exports.TasJoinTypeSchema = TasJoinTypeSchema;
71928
+ exports.TasLayerFilterSchema = TasLayerFilterSchema;
71929
+ exports.TasLegacyFilterSchema = TasLegacyFilterSchema;
71930
+ exports.TasLuceneFilterSchema = TasLuceneFilterSchema;
71931
+ exports.TasNotFilterSchema = TasNotFilterSchema;
71932
+ exports.TasOrFilterSchema = TasOrFilterSchema;
71933
+ exports.TasOrderSchema = TasOrderSchema;
71934
+ exports.TasProjectionFilterSchema = TasProjectionFilterSchema;
71935
+ exports.TasQuerySchema = TasQuerySchema;
71936
+ exports.TasServiceFilterSchema = TasServiceFilterSchema;
71937
+ exports.TasStatusFilterSchema = TasStatusFilterSchema;
71938
+ exports.TasTakeEdgesFilterSchema = TasTakeEdgesFilterSchema;
71939
+ exports.TasTakeFlowsFilterSchema = TasTakeFlowsFilterSchema;
71940
+ exports.TasTakeVerticesFilterSchema = TasTakeVerticesFilterSchema;
71941
+ exports.TasTraverseFilterSchema = TasTraverseFilterSchema;
71942
+ exports.TasVariableFilterSchema = TasVariableFilterSchema;
71943
+ exports.TasVariableSchema = TasVariableSchema;
71944
+ exports.TasVertexIdFilterSchema = TasVertexIdFilterSchema;
71945
+ exports.TasVertexSchema = TasVertexSchema;
71946
+ exports.TasViewSchema = TasViewSchema;
71947
+ exports.TraversalEdgeFilterSchema = TraversalEdgeFilterSchema;
71948
+ exports.TraversalVertexFilterSchema = TraversalVertexFilterSchema;
71949
+ exports.TraverseCollectSchema = TraverseCollectSchema;
71950
+ exports.TraverseDirectionSchema = TraverseDirectionSchema;
71951
+ exports.TraverseSchema = TraverseSchema;
70102
71952
  exports.VertexService = VertexService;
71953
+ exports.VertexStateExternalIdSchema = VertexStateExternalIdSchema;
71954
+ exports.VertexStateFilterSchema = VertexStateFilterSchema;
71955
+ exports.VertexStateNumericIdSchema = VertexStateNumericIdSchema;
71956
+ exports.VertexStateSchema = VertexStateSchema;
70103
71957
  exports.ags = ags;
70104
71958
  exports.agsresponse = agsresponse;
70105
71959
  exports.apiTokenCreate = apiTokenCreate;