@groundcover/api-client 0.9.0 → 0.11.0

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.
@@ -372,6 +372,56 @@ export type AssetFetchResult = {
372
372
  */
373
373
  type?: string;
374
374
  };
375
+ /**
376
+ * AssetFunnel is the wet-mode hierarchical breakdown for one asset type.
377
+ *
378
+ * Unit names what Total counts: monitors are counted whole, dashboards are
379
+ * counted per widget.
380
+ */
381
+ export type AssetFunnel = {
382
+ excluded?: ExcludedBucket;
383
+ not_supported?: NotSupportedBucket;
384
+ supported_converted?: SupportedConvertedBucket;
385
+ supported_not_converted?: SupportedNotConvertedBucket;
386
+ total?: number;
387
+ unit?: string;
388
+ };
389
+ /**
390
+ * AssetGapDetail describes one unit's gaps, counted once regardless of how many
391
+ * findings produced it.
392
+ */
393
+ export type AssetGapDetail = {
394
+ asset_id?: string;
395
+ asset_name?: string;
396
+ datasources?: Array<string>;
397
+ keys?: Array<string>;
398
+ keys_by_datasource?: {
399
+ [key: string]: Array<string>;
400
+ };
401
+ /**
402
+ * KeysByMetric and KeysByDatasource preserve which owner each missing key
403
+ * belongs to. Without them a unit missing a metric label and a log field
404
+ * reported both keys under the metric *and* under logs.
405
+ */
406
+ keys_by_metric?: {
407
+ [key: string]: Array<string>;
408
+ };
409
+ metrics?: Array<string>;
410
+ queries?: Array<ExecutedQuery>;
411
+ reason?: string;
412
+ /**
413
+ * SomeQueriesReturnedData distinguishes a unit where every query came back
414
+ * empty from one where only some did. Without it, a widget with nine working
415
+ * series and one broken one is indistinguishable from a wholly dead widget.
416
+ */
417
+ some_queries_returned_data?: boolean;
418
+ values?: Array<string>;
419
+ values_by_metric?: {
420
+ [key: string]: Array<string>;
421
+ };
422
+ widget_id?: string;
423
+ widget_title?: string;
424
+ };
375
425
  export type AssetInstallResult = {
376
426
  /**
377
427
  * Error message if the installation failed.
@@ -1528,6 +1578,13 @@ export type ConvertMonitorResponse = {
1528
1578
  error?: string;
1529
1579
  success?: boolean;
1530
1580
  };
1581
+ /**
1582
+ * CountPct is a count with percentage of its parent total.
1583
+ */
1584
+ export type CountPct = {
1585
+ count?: number;
1586
+ pct?: number;
1587
+ };
1531
1588
  /**
1532
1589
  * CoverageAction defines an actionable step and its estimated query impact.
1533
1590
  */
@@ -2274,10 +2331,31 @@ export type DataScope = {
2274
2331
  advanced?: AdvancedDataScope;
2275
2332
  simple?: Group;
2276
2333
  };
2334
+ /**
2335
+ * DataSetAvailableBucket is converted units whose underlying dataset exists in GC.
2336
+ */
2337
+ export type DataSetAvailableBucket = {
2338
+ /**
2339
+ * Lookback is the widest window actually queried, so the report never claims
2340
+ * a window it did not use.
2341
+ */
2342
+ lookback?: string;
2343
+ no_data?: NoDataBreakdown;
2344
+ returns_data?: CountPct;
2345
+ total?: number;
2346
+ };
2277
2347
  /**
2278
2348
  * Datasource identifies the query backend.
2279
2349
  */
2280
2350
  export type Datasource = string;
2351
+ /**
2352
+ * DatasourceKeyGap aggregates missing field keys for one search datasource.
2353
+ */
2354
+ export type DatasourceKeyGap = {
2355
+ count?: number;
2356
+ datasource?: string;
2357
+ keys?: Array<string>;
2358
+ };
2281
2359
  export type DeleteIngestionKeyRequest = {
2282
2360
  /**
2283
2361
  * Name of the ingestion key to delete
@@ -2584,6 +2662,40 @@ export type EventsSearchTimeSeriesRequest = {
2584
2662
  */
2585
2663
  valueField?: string;
2586
2664
  };
2665
+ /**
2666
+ * ExcludedBucket counts units held out of the funnel because their only unmet
2667
+ * dependency is Datadog's own telemetry: a self-observability metric, or one
2668
+ * already inactive in Datadog. Migration quality has no bearing on either —
2669
+ * they were never going to return data — so they are reported separately
2670
+ * rather than weighing on supported/unsupported like a real gap would.
2671
+ */
2672
+ export type ExcludedBucket = {
2673
+ datadog_self_observability?: MetricListBucket;
2674
+ inactive_in_datadog?: MetricListBucket;
2675
+ total?: number;
2676
+ };
2677
+ /**
2678
+ * ExecutedQuery is the evidence for a unit's wet outcome: the query that ran,
2679
+ *
2680
+ * the window it ran over, and what came back.
2681
+ */
2682
+ export type ExecutedQuery = {
2683
+ datasource?: string;
2684
+ error?: string;
2685
+ language?: string;
2686
+ /**
2687
+ * Metric names the query's underlying metric, for datasource == "metrics"
2688
+ * only. Without it a metrics query that returned no data cannot be traced
2689
+ * back to which metric was empty without parsing the query text.
2690
+ */
2691
+ metric?: string;
2692
+ original_dd?: string;
2693
+ query?: string;
2694
+ query_id?: string;
2695
+ resolved_query?: string;
2696
+ status?: string;
2697
+ window?: string;
2698
+ };
2587
2699
  /**
2588
2700
  * ExecutionPolicy defines model for ExecutionPolicy.
2589
2701
  */
@@ -2757,6 +2869,34 @@ export type Finding = {
2757
2869
  widget_id?: string;
2758
2870
  widget_title?: string;
2759
2871
  };
2872
+ /**
2873
+ * FunnelAssetEntry maps one asset — or one dashboard widget — to the funnel stage
2874
+ * it reached, with the queries that were executed as evidence.
2875
+ */
2876
+ export type FunnelAssetEntry = {
2877
+ asset_id?: string;
2878
+ asset_name?: string;
2879
+ asset_type?: string;
2880
+ metrics?: Array<string>;
2881
+ missing_keys?: Array<string>;
2882
+ missing_values?: Array<string>;
2883
+ queries?: Array<ExecutedQuery>;
2884
+ reason?: string;
2885
+ stage?: string;
2886
+ widget_id?: string;
2887
+ widget_title?: string;
2888
+ };
2889
+ /**
2890
+ * FunnelByAsset is the per-asset view of the funnel: every monitor and every
2891
+ * dashboard widget, with the stage it terminated at.
2892
+ */
2893
+ export type FunnelByAsset = {
2894
+ assets?: Array<FunnelAssetEntry>;
2895
+ by_stage?: {
2896
+ [key: string]: number;
2897
+ };
2898
+ total?: number;
2899
+ };
2760
2900
  export type GenericFiltersItem = {
2761
2901
  count?: number;
2762
2902
  name?: string;
@@ -3105,6 +3245,16 @@ export type IntegrationCount = {
3105
3245
  count?: number;
3106
3246
  name?: string;
3107
3247
  };
3248
+ /**
3249
+ * IntegrationCountBucket counts units per data-source mapping.
3250
+ */
3251
+ export type IntegrationCountBucket = {
3252
+ by_integration?: {
3253
+ [key: string]: number;
3254
+ };
3255
+ count?: number;
3256
+ metrics?: Array<TaggedMetric>;
3257
+ };
3108
3258
  export type Integrations = {
3109
3259
  /**
3110
3260
  * Identity is the principal of the backend's own cloud (an AWS role ARN, a GCP
@@ -3257,6 +3407,19 @@ export type KeyMapping = {
3257
3407
  metric_pattern?: string;
3258
3408
  source_key?: string;
3259
3409
  };
3410
+ /**
3411
+ * KeyMissingBreakdown groups units with missing keys.
3412
+ *
3413
+ * Metric label gaps and search field gaps are reported separately: a log or event
3414
+ * field gap has no metric to attribute it to, and folding both into a by-metric
3415
+ * view produced a meaningless "unknown" bucket.
3416
+ */
3417
+ export type KeyMissingBreakdown = {
3418
+ assets?: Array<AssetGapDetail>;
3419
+ by_datasource?: Array<DatasourceKeyGap>;
3420
+ by_metric?: Array<MetricKeyGap>;
3421
+ count?: number;
3422
+ };
3260
3423
  export type KeysResponse = {
3261
3424
  isLimitReached?: boolean;
3262
3425
  keys?: Array<KeyItem>;
@@ -3815,6 +3978,21 @@ export type LogsInsightsRequestParams = {
3815
3978
  start?: string;
3816
3979
  threshold?: number;
3817
3980
  };
3981
+ /**
3982
+ * LogsMissingBucket covers units whose log dataset is absent, including the case
3983
+ * where the log source they filter on is not ingested into groundcover at all.
3984
+ */
3985
+ export type LogsMissingBucket = {
3986
+ assets?: Array<AssetGapDetail>;
3987
+ count?: number;
3988
+ known_sources?: Array<string>;
3989
+ missing_sources?: Array<string>;
3990
+ /**
3991
+ * SourceNotIngested counts units filtering on a source:<value> that
3992
+ * groundcover does not ingest, which no lookback widening can fix.
3993
+ */
3994
+ source_not_ingested?: number;
3995
+ };
3818
3996
  export type LogsPatternParamDistributionResponse = {
3819
3997
  values?: Array<PatternParamDistributionValue>;
3820
3998
  };
@@ -4150,6 +4328,14 @@ export type Metadata = {
4150
4328
  syntheticName?: string;
4151
4329
  target?: string;
4152
4330
  };
4331
+ /**
4332
+ * MetricKeyGap aggregates missing label keys for one metric across units.
4333
+ */
4334
+ export type MetricKeyGap = {
4335
+ count?: number;
4336
+ keys?: Array<string>;
4337
+ metric?: string;
4338
+ };
4153
4339
  export type MetricKeysRequestV2 = {
4154
4340
  end?: string;
4155
4341
  filter?: string;
@@ -4165,10 +4351,25 @@ export type MetricKeysResponseV2 = {
4165
4351
  export type MetricLabels = {
4166
4352
  [key: string]: string;
4167
4353
  };
4354
+ /**
4355
+ * MetricListBucket counts units and lists the metrics responsible.
4356
+ */
4357
+ export type MetricListBucket = {
4358
+ count?: number;
4359
+ metrics?: Array<TaggedMetric>;
4360
+ };
4168
4361
  export type MetricMapping = {
4169
4362
  groundcover_metric?: string;
4170
4363
  source_metric?: string;
4171
4364
  };
4365
+ /**
4366
+ * MetricValueGap aggregates missing label values for one metric.
4367
+ */
4368
+ export type MetricValueGap = {
4369
+ count?: number;
4370
+ metric?: string;
4371
+ values?: Array<string>;
4372
+ };
4172
4373
  export type MetricValuesRequestV2 = {
4173
4374
  conditions?: Array<Condition>;
4174
4375
  end?: string;
@@ -4477,6 +4678,32 @@ export type MigrationDetectedIntegration = {
4477
4678
  */
4478
4679
  metricCount: number;
4479
4680
  };
4681
+ /**
4682
+ * MissingDataSetBucket covers converted units whose underlying dataset is absent.
4683
+ */
4684
+ export type MissingDataSetBucket = {
4685
+ logs?: LogsMissingBucket;
4686
+ metrics?: MissingMetricsBreakdown;
4687
+ missing_env?: ValueMissingBucket;
4688
+ tail?: TailDataSetBreakdown;
4689
+ total?: number;
4690
+ };
4691
+ /**
4692
+ * MissingMetricsBreakdown splits missing metrics into mutually exclusive buckets.
4693
+ *
4694
+ * A metric can qualify for several buckets at once (a datadog.* metric that is
4695
+ * also inactive, say). It is counted in exactly one — chosen by the priority
4696
+ * order in classifyMissingMetric — and carries a tag for every bucket that
4697
+ * applies, so nothing is lost to that choice.
4698
+ */
4699
+ export type MissingMetricsBreakdown = {
4700
+ custom_metrics?: MetricListBucket;
4701
+ datadog_self_observability?: MetricListBucket;
4702
+ inactive_in_datadog?: MetricListBucket;
4703
+ integrations_we_dont_have?: IntegrationCountBucket;
4704
+ integrations_we_have?: IntegrationCountBucket;
4705
+ total?: number;
4706
+ };
4480
4707
  /**
4481
4708
  * Model holds the core query/reducer/threshold definitions.
4482
4709
  */
@@ -4643,6 +4870,41 @@ export type MonitorVariable = {
4643
4870
  search?: VariableSearch;
4644
4871
  storage?: string;
4645
4872
  };
4873
+ /**
4874
+ * NoDataBreakdown drills into units that did not come back fully working.
4875
+ *
4876
+ * A unit lands here when any of its queries returned no data, or when a static
4877
+ * key/value gap was found. For a multi-query unit — a widget with several series,
4878
+ * a monitor with a formula — that means "not all queries returned data" rather
4879
+ * than "nothing returned data"; SomeQueriesReturnedData on each entry records
4880
+ * which of the two it was.
4881
+ */
4882
+ export type NoDataBreakdown = {
4883
+ count?: number;
4884
+ negative_key_missing?: KeyMissingBreakdown;
4885
+ negative_value_missing?: ValueMissingBucket;
4886
+ pct?: number;
4887
+ positive_all_keys_values_exist?: PositiveNoDataBucket;
4888
+ };
4889
+ /**
4890
+ * NoDataNeededBucket counts units that need no query to render.
4891
+ */
4892
+ export type NoDataNeededBucket = {
4893
+ by_type?: {
4894
+ [key: string]: number;
4895
+ };
4896
+ count?: number;
4897
+ };
4898
+ /**
4899
+ * NotSupportedBucket covers unsupported types, bucketed by type.
4900
+ */
4901
+ export type NotSupportedBucket = {
4902
+ assets?: Array<AssetGapDetail>;
4903
+ by_type?: {
4904
+ [key: string]: number;
4905
+ };
4906
+ total?: number;
4907
+ };
4646
4908
  export type NotificationRouteListItemResponse = {
4647
4909
  /**
4648
4910
  * The creation timestamp
@@ -4970,11 +5232,29 @@ export type PolicyWithEntityCount = Policy & {
4970
5232
  */
4971
5233
  readonly entityCount?: number;
4972
5234
  };
5235
+ /**
5236
+ * PositiveNoDataBucket covers units where every dependency resolves yet no data
5237
+ * came back, broken down by the reason we could establish.
5238
+ */
5239
+ export type PositiveNoDataBucket = {
5240
+ assets?: Array<AssetGapDetail>;
5241
+ by_reason?: OrderedReasons;
5242
+ count?: number;
5243
+ pct?: number;
5244
+ };
4973
5245
  /**
4974
5246
  * PreflightReport is the top-level structured output of a preflight validation run.
4975
5247
  */
4976
5248
  export type PreflightReport = {
4977
5249
  coverage_plan?: CoveragePlan;
5250
+ funnel_by_asset?: FunnelByAsset;
5251
+ /**
5252
+ * GeneratedAt is when this report was produced, set once right before it is
5253
+ * written out. A report is often diffed against a later rerun after a fix, so
5254
+ * the file needs to say for itself when it was taken without relying on
5255
+ * filesystem mtimes, which a copy or a git checkout does not preserve.
5256
+ */
5257
+ generated_at?: string;
4978
5258
  integrations_summary?: Array<IntegrationCount>;
4979
5259
  raw_findings?: Array<Finding>;
4980
5260
  summary?: UnifiedSummary;
@@ -5695,12 +5975,25 @@ export type ServiceAccountsWithPolicy = {
5695
5975
  serviceAccountId?: string;
5696
5976
  };
5697
5977
  export type Session = {
5978
+ /**
5979
+ * AppVersion is the mobile application version. Empty for web sessions, which
5980
+ * report ReleaseID instead.
5981
+ */
5982
+ appVersion?: string;
5698
5983
  browser?: string;
5699
5984
  country?: string;
5985
+ deviceBrand?: string;
5986
+ deviceModel?: string;
5700
5987
  durationMilli?: number;
5701
5988
  endTime?: string;
5702
5989
  hasSessionReplay?: number;
5703
5990
  isMobile?: string;
5991
+ /**
5992
+ * Mobile RUM. Empty for web sessions, which report browser.* instead. The client
5993
+ * platform is not returned: it is a filter dimension only.
5994
+ */
5995
+ osName?: string;
5996
+ osVersion?: string;
5704
5997
  pageCount?: number;
5705
5998
  releaseId?: string;
5706
5999
  serviceName?: string;
@@ -5712,6 +6005,11 @@ export type Session = {
5712
6005
  userOrganization?: string;
5713
6006
  };
5714
6007
  export type SessionDetailsRequestParams = {
6008
+ /**
6009
+ * Category selects the platform to query: 'rum' for web RUM, 'mobile-rum' for
6010
+ * React Native. Defaults to 'rum' when omitted.
6011
+ */
6012
+ category?: 'rum' | 'mobile-rum';
5715
6013
  conditions?: Array<Condition>;
5716
6014
  end?: string;
5717
6015
  sessionID?: string;
@@ -5789,6 +6087,11 @@ export type SessionReplayVelocityResponse = {
5789
6087
  series?: Array<MetricVelocityWithLabels>;
5790
6088
  };
5791
6089
  export type SessionsFiltersRequestParams = {
6090
+ /**
6091
+ * Category selects the platform to query: 'rum' for web RUM, 'mobile-rum' for
6092
+ * React Native. Defaults to 'rum' when omitted.
6093
+ */
6094
+ category?: 'rum' | 'mobile-rum';
5792
6095
  conditions?: Array<Condition>;
5793
6096
  end?: string;
5794
6097
  required?: Array<Column>;
@@ -5799,11 +6102,21 @@ export type SessionsFiltersResponse = {
5799
6102
  filters?: FiltersWithEstimatedMapResponse;
5800
6103
  };
5801
6104
  export type SessionsQueryRequestParams = {
6105
+ /**
6106
+ * Category selects the platform to query: 'rum' for web RUM, 'mobile-rum' for
6107
+ * React Native. Defaults to 'rum' when omitted.
6108
+ */
6109
+ category?: 'rum' | 'mobile-rum';
5802
6110
  conditions?: Array<Condition>;
5803
6111
  end?: string;
5804
6112
  limit?: number;
5805
6113
  skip?: number;
5806
- sortBy?: string;
6114
+ /**
6115
+ * Interpolated raw into ORDER BY, so this list is the only guard - and it is
6116
+ * version-independent while the template is version-selected, so every value
6117
+ * needs an alias in all three variants. Keep the enum below in lockstep.
6118
+ */
6119
+ sortBy?: 'sessionID' | 'startTime' | 'endTime' | 'userEmail' | 'userId' | 'country' | 'isMobile' | 'browser' | 'sessionErrors' | 'pageCount' | 'durationMilli' | 'osName' | 'deviceModel';
5807
6120
  sortOrder?: string;
5808
6121
  sources?: Array<Condition>;
5809
6122
  start?: string;
@@ -5812,6 +6125,11 @@ export type SessionsQueryResponse = {
5812
6125
  sessions?: Array<Session>;
5813
6126
  };
5814
6127
  export type SessionsSummaryRequestParams = {
6128
+ /**
6129
+ * Category selects the platform to query: 'rum' for web RUM, 'mobile-rum' for
6130
+ * React Native. Defaults to 'rum' when omitted.
6131
+ */
6132
+ category?: 'rum' | 'mobile-rum';
5815
6133
  conditions?: Array<Condition>;
5816
6134
  end?: string;
5817
6135
  sources?: Array<Condition>;
@@ -6089,10 +6407,47 @@ export type Subject = {
6089
6407
  */
6090
6408
  export type Suggestion = {
6091
6409
  confidence?: number;
6092
- reason?: string;
6410
+ reasons?: Array<SuggestionReason>;
6093
6411
  type?: string;
6094
6412
  value?: string;
6095
6413
  };
6414
+ /**
6415
+ * SuggestionReason is one scoring signal that contributed to a Suggestion.
6416
+ *
6417
+ * Weight is the signal's additive contribution within the scorer that produced
6418
+ * it. Name-similarity signals and value-overlap signals are scored
6419
+ * independently, so when both back the same candidate the suggestion carries
6420
+ * reasons from each and Confidence is the higher of the two estimates rather
6421
+ * than their sum — weights add up within a scorer, not across them.
6422
+ *
6423
+ * Detail carries the evidence behind the signal. For value-overlap signals that
6424
+ * means the matched values themselves, which is what makes the difference
6425
+ * between a suggestion worth acting on and one worth eyeballing.
6426
+ */
6427
+ export type SuggestionReason = {
6428
+ code?: string;
6429
+ detail?: string;
6430
+ weight?: number;
6431
+ };
6432
+ /**
6433
+ * SupportedConvertedBucket covers units that converted successfully.
6434
+ */
6435
+ export type SupportedConvertedBucket = {
6436
+ data_set_available?: DataSetAvailableBucket;
6437
+ missing_underlying_data_set?: MissingDataSetBucket;
6438
+ no_data_needed?: NoDataNeededBucket;
6439
+ total?: number;
6440
+ };
6441
+ /**
6442
+ * SupportedNotConvertedBucket covers supported types that failed conversion.
6443
+ */
6444
+ export type SupportedNotConvertedBucket = {
6445
+ assets?: Array<AssetGapDetail>;
6446
+ by_error?: {
6447
+ [key: string]: number;
6448
+ };
6449
+ total?: number;
6450
+ };
6096
6451
  /**
6097
6452
  * SyntheticMonitorConfig represents optional monitor configuration overrides for a synthetic test.
6098
6453
  *
@@ -6209,6 +6564,21 @@ export type SyntheticsCheckInput = {
6209
6564
  checkConfig?: WorkerRequest;
6210
6565
  interval?: string;
6211
6566
  };
6567
+ /**
6568
+ * TaggedMetric names a metric plus every classification that applies to it.
6569
+ */
6570
+ export type TaggedMetric = {
6571
+ metric?: string;
6572
+ tags?: Array<string>;
6573
+ };
6574
+ /**
6575
+ * TailDataSetBreakdown covers non-metrics/logs datasets.
6576
+ */
6577
+ export type TailDataSetBreakdown = {
6578
+ events?: number;
6579
+ rum?: number;
6580
+ traces?: number;
6581
+ };
6212
6582
  /**
6213
6583
  * +enum
6214
6584
  */
@@ -7069,13 +7439,19 @@ export type UnfurlTraceSummary = {
7069
7439
  * UnifiedSummary is the single hierarchical summary included in JSON output.
7070
7440
  */
7071
7441
  export type UnifiedSummary = {
7072
- affected_assets_by_type?: {
7442
+ assets?: AssetsSummary;
7443
+ /**
7444
+ * AssetsByFindingType is the distribution of affected assets per finding
7445
+ * type, keyed by asset type.
7446
+ */
7447
+ assets_by_finding_type?: {
7073
7448
  [key: string]: {
7074
7449
  [key: string]: number;
7075
7450
  };
7076
7451
  };
7077
- assets?: AssetsSummary;
7078
7452
  conversion?: ConversionSummary;
7453
+ dashboards?: AssetFunnel;
7454
+ monitors?: AssetFunnel;
7079
7455
  queries?: QueriesSummary;
7080
7456
  wet_validation?: WetValidationSummary;
7081
7457
  };
@@ -7516,6 +7892,14 @@ export type ValueItem = {
7516
7892
  types?: Array<string>;
7517
7893
  value?: string;
7518
7894
  };
7895
+ /**
7896
+ * ValueMissingBucket lists units whose filter values are absent in groundcover.
7897
+ */
7898
+ export type ValueMissingBucket = {
7899
+ assets?: Array<AssetGapDetail>;
7900
+ by_metric?: Array<MetricValueGap>;
7901
+ count?: number;
7902
+ };
7519
7903
  export type ValuesDistributionRequest = {
7520
7904
  conditions?: Array<Condition>;
7521
7905
  /**
@@ -7717,14 +8101,31 @@ export type WetResult = {
7717
8101
  asset_type?: string;
7718
8102
  datasource?: Datasource;
7719
8103
  error?: string;
8104
+ /**
8105
+ * HasFreeText mirrors WetQuery.HasFreeText.
8106
+ */
8107
+ has_free_text?: boolean;
7720
8108
  latency?: Duration;
8109
+ /**
8110
+ * Metric mirrors WetQuery.Metric.
8111
+ */
8112
+ metric?: string;
7721
8113
  original_dd?: string;
7722
8114
  query?: string;
7723
8115
  query_id?: string;
7724
8116
  query_type?: QueryType;
7725
8117
  resolved_query?: string;
7726
8118
  status?: WetStatus;
8119
+ widget_id?: string;
7727
8120
  widget_title?: string;
8121
+ /**
8122
+ * Window is the span actually queried:
8123
+ * "5m" progressive first pass
8124
+ * "30m" dashboard long pass
8125
+ * "7d" monitor long pass (or whatever --wet-monitor-lookback sets)
8126
+ * "instant" instant query answered at a single point in time
8127
+ * "instant→7d" instant query was empty, so it was re-run as a range
8128
+ */
7728
8129
  window?: string;
7729
8130
  };
7730
8131
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@groundcover/api-client",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "groundcover TypeScript API Client",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",