@dynatrace-sdk/client-query 1.21.2 → 1.22.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +59 -36
  3. package/cjs/index.js +191 -188
  4. package/dynatrace-metadata.json +3 -3
  5. package/esm/index.js +191 -188
  6. package/package.json +1 -1
  7. package/types/packages/client/query/src/lib/apis/query-assistance-api.d.ts +48 -48
  8. package/types/packages/client/query/src/lib/apis/query-execution-api.d.ts +23 -23
  9. package/types/packages/client/query/src/lib/models/autocomplete-request.d.ts +12 -6
  10. package/types/packages/client/query/src/lib/models/autocomplete-response.d.ts +4 -4
  11. package/types/packages/client/query/src/lib/models/autocomplete-suggestion-part.d.ts +6 -6
  12. package/types/packages/client/query/src/lib/models/autocomplete-suggestion.d.ts +4 -4
  13. package/types/packages/client/query/src/lib/models/bucket-contribution.d.ts +6 -0
  14. package/types/packages/client/query/src/lib/models/contributions.d.ts +4 -0
  15. package/types/packages/client/query/src/lib/models/dql-alternative-node.d.ts +1 -1
  16. package/types/packages/client/query/src/lib/models/dql-container-node.d.ts +4 -4
  17. package/types/packages/client/query/src/lib/models/dql-node.d.ts +4 -4
  18. package/types/packages/client/query/src/lib/models/dql-terminal-node.d.ts +5 -5
  19. package/types/packages/client/query/src/lib/models/error-response-details-constraint-violations-item.d.ts +4 -4
  20. package/types/packages/client/query/src/lib/models/error-response-details.d.ts +21 -21
  21. package/types/packages/client/query/src/lib/models/error-response.d.ts +4 -4
  22. package/types/packages/client/query/src/lib/models/execute-request.d.ts +35 -31
  23. package/types/packages/client/query/src/lib/models/grail-metadata.d.ts +25 -23
  24. package/types/packages/client/query/src/lib/models/index.d.ts +2 -0
  25. package/types/packages/client/query/src/lib/models/metadata-notification.d.ts +12 -12
  26. package/types/packages/client/query/src/lib/models/metric-metadata.d.ts +12 -12
  27. package/types/packages/client/query/src/lib/models/parse-request.d.ts +8 -8
  28. package/types/packages/client/query/src/lib/models/query-options.d.ts +1 -1
  29. package/types/packages/client/query/src/lib/models/query-poll-response.d.ts +8 -8
  30. package/types/packages/client/query/src/lib/models/query-result.d.ts +4 -4
  31. package/types/packages/client/query/src/lib/models/query-start-response.d.ts +8 -8
  32. package/types/packages/client/query/src/lib/models/ranged-field-types-mappings.d.ts +1 -1
  33. package/types/packages/client/query/src/lib/models/ranged-field-types.d.ts +4 -4
  34. package/types/packages/client/query/src/lib/models/result-record.d.ts +1 -1
  35. package/types/packages/client/query/src/lib/models/timeframe.d.ts +4 -4
  36. package/types/packages/client/query/src/lib/models/token-position.d.ts +2 -2
  37. package/types/packages/client/query/src/lib/models/token-type.d.ts +3 -1
  38. package/types/packages/client/query/src/lib/models/verify-request.d.ts +9 -9
  39. package/types/packages/client/query/src/lib/models/verify-response.d.ts +4 -4
@@ -2,67 +2,71 @@ import { FilterSegments } from './filter-segments';
2
2
  import { QueryOptions } from './query-options';
3
3
  export interface ExecuteRequest {
4
4
  /**
5
- * The full query string.
5
+ * Default sampling ratio. By default no sampling is applied. No upper limit but will be normalized to a power of 10 less than or equal to 100000.
6
6
  */
7
- query: string;
7
+ defaultSamplingRatio?: number;
8
8
  /**
9
- * The query timeframe 'start' timestamp in ISO-8601 or RFC3339 format. If the timeframe 'end' parameter is missing, the whole timeframe is ignored. <em>Note that if a timeframe is specified within the query string (query) then it has precedence over this query request parameter.</em>
9
+ * Default scan limit. Can be overridden in DQL. Default value is configured on application level (see documentation of FETCH command). No upper limit. Use -1 for no limit.
10
10
  */
11
- defaultTimeframeStart?: string;
11
+ defaultScanLimitGbytes?: number;
12
12
  /**
13
- * The query timeframe 'end' timestamp in ISO-8601 or RFC3339 format. If the timeframe 'start' parameter is missing, the whole timeframe is ignored. <em>Note that if a timeframe is specified within the query string (query) then it has precedence over this query request parameter.</em>
13
+ * The query timeframe 'end' timestamp in ISO-8601 or RFC3339 format. If the timeframe 'start' parameter is missing, the whole timeframe is ignored. *Note that if a timeframe is specified within the query string (query) then it has precedence over this query request parameter.*
14
14
  */
15
15
  defaultTimeframeEnd?: string;
16
16
  /**
17
- * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
17
+ * The query timeframe 'start' timestamp in ISO-8601 or RFC3339 format. If the timeframe 'end' parameter is missing, the whole timeframe is ignored. *Note that if a timeframe is specified within the query string (query) then it has precedence over this query request parameter.*
18
18
  */
19
- timezone?: string;
19
+ defaultTimeframeStart?: string;
20
20
  /**
21
- * The query locale. If none specified, then a language/country neutral locale is chosen. The input values take the ISO-639 Language code with an optional ISO-3166 country code appended to it with an underscore. For instance, both values are valid 'en' or 'en_US'.
21
+ * Request preview results. If a preview is available within the requestTimeoutMilliseconds, then it will be returned as part of the response.
22
22
  */
23
- locale?: string;
23
+ enablePreview?: boolean;
24
24
  /**
25
- * The maximum number of result records that this query will return.
25
+ * Boolean to indicate if the query consumption limit should be enforced
26
26
  */
27
- maxResultRecords?: number;
27
+ enforceQueryConsumptionLimit?: boolean;
28
28
  /**
29
- * The maximum number of result bytes that this query will return.
29
+ * The time limit for fetching data. Soft limit as further data processing can happen. No upper limit in API but application level default and maximum fetch timeout also applies.
30
30
  */
31
- maxResultBytes?: number;
31
+ fetchTimeoutSeconds?: number;
32
32
  /**
33
- * The query will stop reading data after reaching the fetch-timeout. The query execution will continue, providing a partial result based on the read data.
33
+ * Represents a collection of filter segments.
34
34
  */
35
- fetchTimeoutSeconds?: number;
35
+ filterSegments?: FilterSegments;
36
36
  /**
37
- * The maximum time the response will be delayed to wait for a result. (This excludes the sending time and time spent in any services between the query-frontend and the client.) If the query finishes within the specified timeout, the query result is returned. Otherwise, the requestToken is returned, allowing polling for the result.
37
+ * Indicates whether bucket contribution information should be included in the query response metadata. When set to true, the response will contain details about how each bucket contributed to the query result.
38
38
  */
39
- requestTimeoutMilliseconds?: number;
39
+ includeContributions?: boolean;
40
40
  /**
41
- * Request preview results. If a preview is available within the requestTimeoutMilliseconds, then it will be returned as part of the response.
41
+ * Parameter to exclude the type information from the query result. In case not specified, the type information will be included.
42
42
  */
43
- enablePreview?: boolean;
43
+ includeTypes?: boolean;
44
44
  /**
45
- * In case not specified in the DQL string, the sampling ratio defined here is applied. Note that this is only applicable to log queries.
45
+ * The query locale. If none specified, then a language/country neutral locale is chosen. The input values take the ISO-639 Language code with an optional ISO-3166 country code appended to it with an underscore. For instance, both values are valid 'en' or 'en_US'.
46
46
  */
47
- defaultSamplingRatio?: number;
47
+ locale?: string;
48
48
  /**
49
- * Limit in gigabytes for the amount data that will be scanned during read.
49
+ * The maximum number of serialized result bytes. Applies to records only and is a soft limit, i.e. the last record that exceeds the limit will be included in the response completely. No upper limit, no default value.
50
50
  */
51
- defaultScanLimitGbytes?: number;
51
+ maxResultBytes?: number;
52
52
  /**
53
- * Query options enhance query functionality for Dynatrace internal services.
53
+ * The maximum number of returned query result records. No upper limit.
54
54
  */
55
- queryOptions?: QueryOptions;
55
+ maxResultRecords?: number;
56
56
  /**
57
- * Represents a collection of filter segments.
57
+ * The full query string.
58
58
  */
59
- filterSegments?: FilterSegments;
59
+ query: string;
60
60
  /**
61
- * Parameter to exclude the type information from the query result. In case not specified, the type information will be included.
61
+ * Query options enhance query functionality for Dynatrace internal services.
62
62
  */
63
- includeTypes?: boolean;
63
+ queryOptions?: QueryOptions;
64
64
  /**
65
- * Boolean to indicate if the query consumption limit should be enforced
65
+ * The maximum time the response will be delayed to wait for a result. (This excludes the sending time and time spent in any services between the query-frontend and the client.) If the query finishes within the specified timeout, the query result is returned. Otherwise, the requestToken is returned, allowing polling for the result.
66
66
  */
67
- enforceQueryConsumptionLimit?: boolean;
67
+ requestTimeoutMilliseconds?: number;
68
+ /**
69
+ * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
70
+ */
71
+ timezone?: string;
68
72
  }
@@ -1,3 +1,4 @@
1
+ import { Contributions } from './contributions';
1
2
  import { MetadataNotification } from './metadata-notification';
2
3
  import { Timeframe } from './timeframe';
3
4
  /**
@@ -5,46 +6,34 @@ import { Timeframe } from './timeframe';
5
6
  */
6
7
  export interface GrailMetadata {
7
8
  /**
8
- * The canonical form of the query. It has normalized spaces and canonical constructs.
9
- */
10
- canonicalQuery?: string;
11
- /**
12
- * Effective timezone for the query.
13
- */
14
- timezone?: string;
15
- /**
16
- * The submitted query.
9
+ * DQL data type timeframe.
17
10
  */
18
- query?: string;
11
+ analysisTimeframe?: Timeframe;
19
12
  /**
20
- * Number of scanned records during the query execution.
13
+ * The canonical form of the query. It has normalized spaces and canonical constructs.
21
14
  */
22
- scannedRecords?: number;
15
+ canonicalQuery?: string;
16
+ contributions?: Contributions;
23
17
  /**
24
18
  * The version of DQL that was used to process the query request.
25
19
  */
26
20
  dqlVersion?: string;
27
21
  /**
28
- * Number of scanned bytes during the query execution.
29
- */
30
- scannedBytes?: number;
31
- scannedDataPoints?: number;
32
- /**
33
- * DQL data type timeframe.
22
+ * The time it took to execute the query.
34
23
  */
35
- analysisTimeframe?: Timeframe;
24
+ executionTimeMilliseconds?: number;
36
25
  /**
37
26
  * Effective locale for the query.
38
27
  */
39
28
  locale?: string;
40
- /**
41
- * The time it took to execute the query.
42
- */
43
- executionTimeMilliseconds?: number;
44
29
  /**
45
30
  * Collected messages during the execution of the query.
46
31
  */
47
32
  notifications?: MetadataNotification[];
33
+ /**
34
+ * The submitted query.
35
+ */
36
+ query?: string;
48
37
  /**
49
38
  * The id of the query
50
39
  */
@@ -53,4 +42,17 @@ export interface GrailMetadata {
53
42
  * True if sampling was used for at least one segment.
54
43
  */
55
44
  sampled?: boolean;
45
+ /**
46
+ * Number of scanned bytes during the query execution.
47
+ */
48
+ scannedBytes?: number;
49
+ scannedDataPoints?: number;
50
+ /**
51
+ * Number of scanned records during the query execution.
52
+ */
53
+ scannedRecords?: number;
54
+ /**
55
+ * Effective timezone for the query.
56
+ */
57
+ timezone?: string;
56
58
  }
@@ -2,6 +2,8 @@ export * from './autocomplete-request';
2
2
  export * from './autocomplete-response';
3
3
  export * from './autocomplete-suggestion';
4
4
  export * from './autocomplete-suggestion-part';
5
+ export * from './bucket-contribution';
6
+ export * from './contributions';
5
7
  export * from './dql-alternative-node';
6
8
  export * from './dql-container-node';
7
9
  export * from './dql-node';
@@ -4,31 +4,31 @@ import { TokenPosition } from './token-position';
4
4
  */
5
5
  export interface MetadataNotification {
6
6
  /**
7
- * The severity of the notification, currently: INFO, WARN, ERROR.
7
+ * The arguments for the message format.
8
8
  */
9
- severity?: string;
9
+ arguments?: string[];
10
10
  /**
11
- * The message format of the notification, string.format based
11
+ * The complete message of the notification.
12
12
  */
13
- messageFormat?: string;
13
+ message?: string;
14
14
  /**
15
- * The position of a token in a query string used for errors and notification to map the message to a specific part of the query.
15
+ * The message format of the notification, string.format based
16
16
  */
17
- syntaxPosition?: TokenPosition;
17
+ messageFormat?: string;
18
18
  /**
19
19
  * The corresponding DQL format specifier types for each format specifier used in the error message format.
20
20
  */
21
21
  messageFormatSpecifierTypes?: string[];
22
- /**
23
- * The arguments for the message format.
24
- */
25
- arguments?: string[];
26
22
  /**
27
23
  * The notification type, e.g. LIMIT_ADDED.
28
24
  */
29
25
  notificationType?: string;
30
26
  /**
31
- * The complete message of the notification.
27
+ * The severity of the notification, currently: INFO, WARN, ERROR.
32
28
  */
33
- message?: string;
29
+ severity?: string;
30
+ /**
31
+ * The position of a token in a query string used for errors and notification to map the message to a specific part of the query.
32
+ */
33
+ syntaxPosition?: TokenPosition;
34
34
  }
@@ -3,39 +3,39 @@
3
3
  */
4
4
  export interface MetricMetadata {
5
5
  /**
6
- * The metric key.
6
+ * The description of the metadata.
7
7
  */
8
- 'metric.key'?: string;
8
+ description?: string;
9
9
  /**
10
10
  * The display name of the metadata.
11
11
  */
12
12
  displayName?: string;
13
13
  /**
14
- * The description of the metadata.
14
+ * The name of the associated field used in the query.
15
15
  */
16
- description?: string;
16
+ fieldName?: string;
17
17
  /**
18
- * The unit used.
18
+ * The metric key.
19
19
  */
20
- unit?: string;
20
+ 'metric.key'?: string;
21
21
  /**
22
- * The name of the associated field used in the query.
22
+ * The specified rate normalization parameter.
23
23
  */
24
- fieldName?: string;
24
+ rate?: string;
25
25
  /**
26
26
  * Metadata about the rollup type.
27
27
  */
28
28
  rollup?: string;
29
29
  /**
30
- * The specified rate normalization parameter.
30
+ * Indicates whether the scalar parameter was set to true in the timeseries aggregation function.
31
31
  */
32
- rate?: string;
32
+ scalar?: boolean;
33
33
  /**
34
34
  * Indicates if the shifted parameter was used.
35
35
  */
36
36
  shifted?: boolean;
37
37
  /**
38
- * Indicates whether the scalar parameter was set to true in the timeseries aggregation function.
38
+ * The unit used.
39
39
  */
40
- scalar?: boolean;
40
+ unit?: string;
41
41
  }
@@ -1,19 +1,19 @@
1
1
  import { QueryOptions } from './query-options';
2
2
  export interface ParseRequest {
3
- /**
4
- * The full query string.
5
- */
6
- query: string;
7
- /**
8
- * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
9
- */
10
- timezone?: string;
11
3
  /**
12
4
  * The query locale. If none specified, then a language/country neutral locale is chosen. The input values take the ISO-639 Language code with an optional ISO-3166 country code appended to it with an underscore. For instance, both values are valid 'en' or 'en_US'.
13
5
  */
14
6
  locale?: string;
7
+ /**
8
+ * The full query string.
9
+ */
10
+ query: string;
15
11
  /**
16
12
  * Query options enhance query functionality for Dynatrace internal services.
17
13
  */
18
14
  queryOptions?: QueryOptions;
15
+ /**
16
+ * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
17
+ */
18
+ timezone?: string;
19
19
  }
@@ -2,5 +2,5 @@
2
2
  * Query options enhance query functionality for Dynatrace internal services.
3
3
  */
4
4
  export interface QueryOptions {
5
- [propName: string]: string | undefined;
5
+ [propName: string]: string;
6
6
  }
@@ -3,20 +3,20 @@ import { QueryResult } from './query-result';
3
3
  * The response of GET query:execute call.
4
4
  */
5
5
  export interface QueryPollResponse {
6
- /**
7
- * The result of the DQL query.
8
- */
9
- result?: QueryResult;
10
- /**
11
- * Time to live in seconds.
12
- */
13
- ttlSeconds?: number;
14
6
  /**
15
7
  * The progress of the query from 0 to 100.
16
8
  */
17
9
  progress?: number;
10
+ /**
11
+ * The result of the DQL query.
12
+ */
13
+ result?: QueryResult;
18
14
  /**
19
15
  * Possible state of the query.
20
16
  */
21
17
  state: 'NOT_STARTED' | 'RUNNING' | 'SUCCEEDED' | 'RESULT_GONE' | 'CANCELLED' | 'FAILED';
18
+ /**
19
+ * Time to live in seconds.
20
+ */
21
+ ttlSeconds?: number;
22
22
  }
@@ -5,14 +5,14 @@ import { ResultRecord } from './result-record';
5
5
  * The result of the DQL query.
6
6
  */
7
7
  export interface QueryResult {
8
- /**
9
- * List of records containing the result fields data.
10
- */
11
- records: (ResultRecord | null)[];
12
8
  /**
13
9
  * Collects various bits of metadata information.
14
10
  */
15
11
  metadata: Metadata;
12
+ /**
13
+ * List of records containing the result fields data.
14
+ */
15
+ records: (ResultRecord | null)[];
16
16
  /**
17
17
  * The data types for the result records.
18
18
  */
@@ -3,14 +3,6 @@ import { QueryResult } from './query-result';
3
3
  * The response when starting a query.
4
4
  */
5
5
  export interface QueryStartResponse {
6
- /**
7
- * The result of the DQL query.
8
- */
9
- result?: QueryResult;
10
- /**
11
- * Time to live in seconds.
12
- */
13
- ttlSeconds?: number;
14
6
  /**
15
7
  * The progress of the query from 0 to 100.
16
8
  */
@@ -19,8 +11,16 @@ export interface QueryStartResponse {
19
11
  * The token returned by the POST query:execute call.
20
12
  */
21
13
  requestToken?: string;
14
+ /**
15
+ * The result of the DQL query.
16
+ */
17
+ result?: QueryResult;
22
18
  /**
23
19
  * Possible state of the query.
24
20
  */
25
21
  state: 'NOT_STARTED' | 'RUNNING' | 'SUCCEEDED' | 'RESULT_GONE' | 'CANCELLED' | 'FAILED';
22
+ /**
23
+ * Time to live in seconds.
24
+ */
25
+ ttlSeconds?: number;
26
26
  }
@@ -3,5 +3,5 @@ import { FieldType } from './field-type';
3
3
  * The mapping between the field name and data type.
4
4
  */
5
5
  export interface RangedFieldTypesMappings {
6
- [propName: string]: FieldType | undefined;
6
+ [propName: string]: FieldType;
7
7
  }
@@ -3,12 +3,12 @@ import { RangedFieldTypesMappings } from './ranged-field-types-mappings';
3
3
  * The field type in range.
4
4
  */
5
5
  export interface RangedFieldTypes {
6
- /**
7
- * The mapping between the field name and data type.
8
- */
9
- mappings: RangedFieldTypesMappings;
10
6
  /**
11
7
  * The range of elements at use this type in arrays (null for records).
12
8
  */
13
9
  indexRange?: number[];
10
+ /**
11
+ * The mapping between the field name and data type.
12
+ */
13
+ mappings: RangedFieldTypesMappings;
14
14
  }
@@ -3,5 +3,5 @@ import { ResultRecordValue } from './result-record-value';
3
3
  * Single record that contains the result fields.
4
4
  */
5
5
  export interface ResultRecord {
6
- [propName: string]: ResultRecordValue | null | undefined;
6
+ [propName: string]: ResultRecordValue | null;
7
7
  }
@@ -2,12 +2,12 @@
2
2
  * DQL data type timeframe.
3
3
  */
4
4
  export interface Timeframe {
5
- /**
6
- * The start time of the timeframe.
7
- */
8
- start?: Date;
9
5
  /**
10
6
  * The end time of the timeframe.
11
7
  */
12
8
  end?: Date;
9
+ /**
10
+ * The start time of the timeframe.
11
+ */
12
+ start?: Date;
13
13
  }
@@ -6,9 +6,9 @@ export interface TokenPosition {
6
6
  /**
7
7
  * The exact position in the query string.
8
8
  */
9
- start: PositionInfo;
9
+ end: PositionInfo;
10
10
  /**
11
11
  * The exact position in the query string.
12
12
  */
13
- end: PositionInfo;
13
+ start: PositionInfo;
14
14
  }
@@ -62,5 +62,7 @@ export declare enum TokenType {
62
62
  SmartscapeNodePattern = "SMARTSCAPE_NODE_PATTERN",
63
63
  SmartscapeEdgePattern = "SMARTSCAPE_EDGE_PATTERN",
64
64
  SmartscapeNodeType = "SMARTSCAPE_NODE_TYPE",
65
- SmartscapeEdgeType = "SMARTSCAPE_EDGE_TYPE"
65
+ SmartscapeEdgeType = "SMARTSCAPE_EDGE_TYPE",
66
+ JsonPath = "JSON_PATH",
67
+ Url = "URL"
66
68
  }
@@ -1,20 +1,20 @@
1
1
  import { QueryOptions } from './query-options';
2
2
  export interface VerifyRequest {
3
- /**
4
- * The full query string.
5
- */
6
- query: string;
7
- /**
8
- * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
9
- */
10
- timezone?: string;
3
+ generateCanonicalQuery?: boolean;
11
4
  /**
12
5
  * The query locale. If none specified, then a language/country neutral locale is chosen. The input values take the ISO-639 Language code with an optional ISO-3166 country code appended to it with an underscore. For instance, both values are valid 'en' or 'en_US'.
13
6
  */
14
7
  locale?: string;
8
+ /**
9
+ * The full query string.
10
+ */
11
+ query: string;
15
12
  /**
16
13
  * Query options enhance query functionality for Dynatrace internal services.
17
14
  */
18
15
  queryOptions?: QueryOptions;
19
- generateCanonicalQuery?: boolean;
16
+ /**
17
+ * The query timezone. If none is specified, UTC is used as fallback. The list of valid input values matches that of the IANA Time Zone Database (TZDB). It accepts values in their canonical names like 'Europe/Paris', the abbreviated version like CET or the UTC offset format like '+01:00'
18
+ */
19
+ timezone?: string;
20
20
  }
@@ -3,13 +3,13 @@ import { MetadataNotification } from './metadata-notification';
3
3
  * Verify response.
4
4
  */
5
5
  export interface VerifyResponse {
6
- /**
7
- * True if the supplied DQL query string is valid.
8
- */
9
- valid: boolean;
10
6
  canonicalQuery?: string;
11
7
  /**
12
8
  * The notifications related to the supplied DQL query string.
13
9
  */
14
10
  notifications?: MetadataNotification[];
11
+ /**
12
+ * True if the supplied DQL query string is valid.
13
+ */
14
+ valid: boolean;
15
15
  }