@dx-do/client 6.1.1 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +749 -418
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +713 -419
- package/dist/index.esm.js.map +1 -1
- package/dist/src/lib/model/datastore/audit/query.d.ts +5 -0
- package/dist/src/lib/model/datastore/audit/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/audit/record.d.ts +5 -0
- package/dist/src/lib/model/datastore/audit/record.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/audit/response.d.ts +6 -0
- package/dist/src/lib/model/datastore/audit/response.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/blobstorage/file-envelope.d.ts +24 -0
- package/dist/src/lib/model/datastore/blobstorage/file-envelope.d.ts.map +1 -0
- package/dist/src/lib/model/datastore/blobstorage/filters.d.ts +3 -0
- package/dist/src/lib/model/datastore/blobstorage/filters.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/blobstorage/index.d.ts +1 -0
- package/dist/src/lib/model/datastore/blobstorage/index.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/blobstorage/query.d.ts +4 -0
- package/dist/src/lib/model/datastore/blobstorage/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/blobstorage/response.d.ts +2 -0
- package/dist/src/lib/model/datastore/blobstorage/response.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/features/feature.d.ts +2 -0
- package/dist/src/lib/model/datastore/features/feature.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/features/query.d.ts +5 -0
- package/dist/src/lib/model/datastore/features/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/features/response.d.ts +1 -0
- package/dist/src/lib/model/datastore/features/response.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/index.d.ts +1 -0
- package/dist/src/lib/model/datastore/index.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/nass/index.d.ts +2 -0
- package/dist/src/lib/model/datastore/nass/index.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/nass/store.d.ts +30 -34
- package/dist/src/lib/model/datastore/nass/store.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/states/filters.d.ts +12 -0
- package/dist/src/lib/model/datastore/states/filters.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/states/query.d.ts +5 -0
- package/dist/src/lib/model/datastore/states/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/states/response.d.ts +1 -0
- package/dist/src/lib/model/datastore/states/response.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/tokens/query.d.ts +7 -0
- package/dist/src/lib/model/datastore/tokens/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/tokens/response.d.ts +1 -0
- package/dist/src/lib/model/datastore/tokens/response.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/views/filters.d.ts +7 -0
- package/dist/src/lib/model/datastore/views/filters.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/views/query.d.ts +2 -0
- package/dist/src/lib/model/datastore/views/query.d.ts.map +1 -1
- package/dist/src/lib/model/datastore/views/response.d.ts.map +1 -1
- package/dist/src/lib/model/log/ingest.d.ts +14 -22
- package/dist/src/lib/model/log/ingest.d.ts.map +1 -1
- package/dist/src/lib/services/datastore/datastore-nass.service.d.ts +6 -0
- package/dist/src/lib/services/datastore/datastore-nass.service.d.ts.map +1 -1
- package/dist/src/lib/services/logs.service.d.ts +18 -3
- package/dist/src/lib/services/logs.service.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -27011,68 +27011,80 @@ exports.DashboardSearch = void 0;
|
|
|
27011
27011
|
})(exports.DashboardSearch || (exports.DashboardSearch = {}));
|
|
27012
27012
|
|
|
27013
27013
|
const VertexStateFilterLazy = v4.z.lazy(() => VertexStateFilterSchema);
|
|
27014
|
+
/** Matches every vertex state. */
|
|
27014
27015
|
const VertexStateAllFilterSchema = v4.z.looseObject({
|
|
27015
|
-
op: v4.z.literal('ALL'),
|
|
27016
|
+
op: v4.z.literal('ALL').describe('Match all vertex states'),
|
|
27016
27017
|
});
|
|
27018
|
+
/** Logical AND of nested vertex-state filters. */
|
|
27017
27019
|
const VertexStateAndFilterSchema = v4.z.looseObject({
|
|
27018
|
-
op: v4.z.literal('AND'),
|
|
27019
|
-
input: v4.z.array(VertexStateFilterLazy).optional(),
|
|
27020
|
+
op: v4.z.literal('AND').describe('Logical AND of nested filters'),
|
|
27021
|
+
input: v4.z.array(VertexStateFilterLazy).optional().describe('Child filters to AND together'),
|
|
27020
27022
|
});
|
|
27023
|
+
/** Logical OR of nested vertex-state filters. */
|
|
27021
27024
|
const VertexStateOrFilterSchema = v4.z.looseObject({
|
|
27022
|
-
op: v4.z.literal('OR'),
|
|
27023
|
-
input: v4.z.array(VertexStateFilterLazy).optional(),
|
|
27025
|
+
op: v4.z.literal('OR').describe('Logical OR of nested filters'),
|
|
27026
|
+
input: v4.z.array(VertexStateFilterLazy).optional().describe('Child filters to OR together'),
|
|
27024
27027
|
});
|
|
27028
|
+
/** Restricts to states belonging to the given alerts. */
|
|
27025
27029
|
const VertexStateAlertFilterSchema = v4.z.looseObject({
|
|
27026
|
-
op: v4.z.literal('ALERT'),
|
|
27027
|
-
input: VertexStateFilterLazy.optional(),
|
|
27028
|
-
not: v4.z.boolean().optional(),
|
|
27029
|
-
alertId: v4.z.array(v4.z.number()).optional(),
|
|
27030
|
-
alertExternalId: v4.z.array(v4.z.string()).optional(),
|
|
27030
|
+
op: v4.z.literal('ALERT').describe('Match states by alert'),
|
|
27031
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27032
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27033
|
+
alertId: v4.z.array(v4.z.number()).optional().describe('Internal alert IDs to match'),
|
|
27034
|
+
alertExternalId: v4.z.array(v4.z.string()).optional().describe('External alert IDs to match'),
|
|
27031
27035
|
});
|
|
27036
|
+
/** Restricts to states belonging to the given metrics. */
|
|
27032
27037
|
const VertexStateMetricFilterSchema = v4.z.looseObject({
|
|
27033
|
-
op: v4.z.literal('METRIC'),
|
|
27034
|
-
input: VertexStateFilterLazy.optional(),
|
|
27035
|
-
not: v4.z.boolean().optional(),
|
|
27036
|
-
metricId: v4.z.array(v4.z.number()).optional(),
|
|
27037
|
-
metricExternalId: v4.z.array(v4.z.string()).optional(),
|
|
27038
|
+
op: v4.z.literal('METRIC').describe('Match states by metric'),
|
|
27039
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27040
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27041
|
+
metricId: v4.z.array(v4.z.number()).optional().describe('Internal metric IDs to match'),
|
|
27042
|
+
metricExternalId: v4.z.array(v4.z.string()).optional().describe('External metric IDs to match'),
|
|
27038
27043
|
});
|
|
27044
|
+
/** Restricts to the given state status values. */
|
|
27039
27045
|
const VertexStateStateFilterSchema = v4.z.looseObject({
|
|
27040
|
-
op: v4.z.literal('STATE'),
|
|
27041
|
-
input: VertexStateFilterLazy.optional(),
|
|
27042
|
-
not: v4.z.boolean().optional(),
|
|
27043
|
-
state: v4.z.array(v4.z.number()).optional(),
|
|
27046
|
+
op: v4.z.literal('STATE').describe('Match by state status value'),
|
|
27047
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27048
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27049
|
+
state: v4.z.array(v4.z.number()).optional().describe('State status codes to match'),
|
|
27044
27050
|
});
|
|
27051
|
+
/** Restricts to states on the given vertices. */
|
|
27045
27052
|
const VertexStateVertexIdFilterSchema = v4.z.looseObject({
|
|
27046
|
-
op: v4.z.literal('VERTEX_ID'),
|
|
27047
|
-
input: VertexStateFilterLazy.optional(),
|
|
27048
|
-
not: v4.z.boolean().optional(),
|
|
27049
|
-
vertexId: v4.z.array(v4.z.number()).optional(),
|
|
27053
|
+
op: v4.z.literal('VERTEX_ID').describe('Match states by owning vertex ID'),
|
|
27054
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27055
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27056
|
+
vertexId: v4.z.array(v4.z.number()).optional().describe('Vertex IDs to match'),
|
|
27050
27057
|
});
|
|
27058
|
+
/** Restricts to states in the given namespaces. */
|
|
27051
27059
|
const VertexStateNamespaceFilterSchema = v4.z.looseObject({
|
|
27052
|
-
op: v4.z.literal('NAMESPACE'),
|
|
27053
|
-
input: VertexStateFilterLazy.optional(),
|
|
27054
|
-
not: v4.z.boolean().optional(),
|
|
27055
|
-
namespaces: v4.z.array(v4.z.string()).optional(),
|
|
27060
|
+
op: v4.z.literal('NAMESPACE').describe('Match states by namespace'),
|
|
27061
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27062
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27063
|
+
namespaces: v4.z.array(v4.z.string()).optional().describe('Namespaces to match'),
|
|
27056
27064
|
});
|
|
27065
|
+
/** Restricts to states produced by the given management modules. */
|
|
27057
27066
|
const VertexStateManagementModuleFilterSchema = v4.z.looseObject({
|
|
27058
|
-
op: v4.z.literal('MANAGEMENT_MODULE'),
|
|
27059
|
-
input: VertexStateFilterLazy.optional(),
|
|
27060
|
-
not: v4.z.boolean().optional(),
|
|
27061
|
-
moduleNames: v4.z.array(v4.z.string()).optional(),
|
|
27067
|
+
op: v4.z.literal('MANAGEMENT_MODULE').describe('Match states by management module'),
|
|
27068
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter to apply before this predicate'),
|
|
27069
|
+
not: v4.z.boolean().optional().describe('Negate the predicate when true'),
|
|
27070
|
+
moduleNames: v4.z.array(v4.z.string()).optional().describe('Management module names to match'),
|
|
27062
27071
|
});
|
|
27072
|
+
/** Discards the matched set (keeps only side-effect analytics from the nested filter). */
|
|
27063
27073
|
const VertexStateEmptyFilterSchema = v4.z.looseObject({
|
|
27064
|
-
op: v4.z.literal('EMPTY'),
|
|
27065
|
-
input: VertexStateFilterLazy.optional(),
|
|
27074
|
+
op: v4.z.literal('EMPTY').describe('Discard matched states, keeping only nested-filter analytics'),
|
|
27075
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter whose analytics to retain'),
|
|
27066
27076
|
});
|
|
27067
27077
|
const VertexGroupSchema = v4.z.looseObject({
|
|
27068
|
-
groupName: v4.z.string(),
|
|
27069
|
-
vertexIds: v4.z.array(v4.z.number()).optional(),
|
|
27078
|
+
groupName: v4.z.string().describe('Name of the vertex group'),
|
|
27079
|
+
vertexIds: v4.z.array(v4.z.number()).optional().describe('Vertex IDs belonging to the group'),
|
|
27070
27080
|
});
|
|
27081
|
+
/** Rolls matched states up into per-group status counts. */
|
|
27071
27082
|
const VertexStateCollectVertexGroupStatusFilterSchema = v4.z.looseObject({
|
|
27072
|
-
op: v4.z.literal('COLLECT_GROUPS'),
|
|
27073
|
-
input: VertexStateFilterLazy.optional(),
|
|
27074
|
-
groups: v4.z.array(VertexGroupSchema).optional(),
|
|
27083
|
+
op: v4.z.literal('COLLECT_GROUPS').describe('Aggregate matched states into per-group status counts'),
|
|
27084
|
+
input: VertexStateFilterLazy.optional().describe('Nested filter selecting the states to aggregate'),
|
|
27085
|
+
groups: v4.z.array(VertexGroupSchema).optional().describe('Vertex groups to tally status for'),
|
|
27075
27086
|
});
|
|
27087
|
+
/** Discriminated union of all vertex-state filter operators, keyed by `op`. */
|
|
27076
27088
|
const VertexStateFilterSchema = v4.z.discriminatedUnion('op', [
|
|
27077
27089
|
VertexStateAllFilterSchema,
|
|
27078
27090
|
VertexStateAndFilterSchema,
|
|
@@ -29130,6 +29142,67 @@ function decodeMetricTypeBits(n) {
|
|
|
29130
29142
|
return { matched, residual: working >>> 0 };
|
|
29131
29143
|
}
|
|
29132
29144
|
|
|
29145
|
+
/**
|
|
29146
|
+
* Wire format for `POST /nass/metricValue/store`.
|
|
29147
|
+
*
|
|
29148
|
+
* Each datapoint in `values` is a positional tuple. Two variants are supported,
|
|
29149
|
+
* discriminated by the type of the **second** element:
|
|
29150
|
+
*
|
|
29151
|
+
* Regular / String metric (7 elements, `interval` optional):
|
|
29152
|
+
* `[id, time, min|null, max|null, value, count, interval?]`
|
|
29153
|
+
* - String metrics: set `min` and `max` to `null`.
|
|
29154
|
+
* - `interval` defaults to 15 seconds when omitted.
|
|
29155
|
+
*
|
|
29156
|
+
* Extension metric (variable length):
|
|
29157
|
+
* `[id, extensionId, time, interval, ...values]`
|
|
29158
|
+
* - `interval` is required for extensions.
|
|
29159
|
+
* - trailing values may be any mix of number, string, or null.
|
|
29160
|
+
*
|
|
29161
|
+
* The two tuple shapes are unambiguous because index `1` is a `number` (`time`)
|
|
29162
|
+
* for regular datapoints and a `string` (`extensionId`) for extension ones.
|
|
29163
|
+
*/
|
|
29164
|
+
const NassRegularDatapointSchema = v4.z
|
|
29165
|
+
.tuple([
|
|
29166
|
+
v4.z.string().describe('Registered metric ID (from the metadata registration response)'),
|
|
29167
|
+
v4.z.number().describe('Sample time in seconds since epoch'),
|
|
29168
|
+
v4.z.number().nullable().describe('Minimum over the interval; `null` for string metrics'),
|
|
29169
|
+
v4.z.number().nullable().describe('Maximum over the interval; `null` for string metrics'),
|
|
29170
|
+
v4.z.union([v4.z.number(), v4.z.string()]).describe('Sample value — numeric, or string for string metrics'),
|
|
29171
|
+
v4.z.number().describe('Number of raw samples aggregated into this datapoint'),
|
|
29172
|
+
v4.z.number().optional().describe('Aggregation interval in seconds; defaults to 15 when omitted'),
|
|
29173
|
+
])
|
|
29174
|
+
.describe('Regular/string metric datapoint: [id, time, min, max, value, count, interval?]');
|
|
29175
|
+
const NassExtensionDatapointSchema = v4.z
|
|
29176
|
+
.tuple([
|
|
29177
|
+
v4.z.string().describe('Registered metric ID'),
|
|
29178
|
+
v4.z.string().describe('Extension ID identifying the extension metric variant'),
|
|
29179
|
+
v4.z.number().describe('Sample time in seconds since epoch'),
|
|
29180
|
+
v4.z.number().describe('Aggregation interval in seconds (required for extensions)'),
|
|
29181
|
+
], v4.z
|
|
29182
|
+
.union([v4.z.number(), v4.z.string(), v4.z.null()])
|
|
29183
|
+
.describe('Extension value element — number, string, or null'))
|
|
29184
|
+
.describe('Extension metric datapoint: [id, extensionId, time, interval, ...values]');
|
|
29185
|
+
const NassDatapointSchema = v4.z
|
|
29186
|
+
.union([NassRegularDatapointSchema, NassExtensionDatapointSchema])
|
|
29187
|
+
.describe('A single metric datapoint — regular/string or extension variant');
|
|
29188
|
+
const NassStoreRequestSchema = v4.z.looseObject({
|
|
29189
|
+
values: v4.z.array(NassDatapointSchema).describe('Datapoints to store, one tuple per sample'),
|
|
29190
|
+
});
|
|
29191
|
+
const NassStoreResponseSchema = v4.z.looseObject({
|
|
29192
|
+
metricForwardFailures: v4.z
|
|
29193
|
+
.number()
|
|
29194
|
+
.optional()
|
|
29195
|
+
.describe('Count of datapoints that failed downstream forwarding (present only when > 0)'),
|
|
29196
|
+
metricStringsClamped: v4.z
|
|
29197
|
+
.number()
|
|
29198
|
+
.optional()
|
|
29199
|
+
.describe('Count of string metric values clamped to the server-side length limit'),
|
|
29200
|
+
metricExtensionsClamped: v4.z
|
|
29201
|
+
.number()
|
|
29202
|
+
.optional()
|
|
29203
|
+
.describe('Count of extension metric values clamped to the server-side limit'),
|
|
29204
|
+
});
|
|
29205
|
+
|
|
29133
29206
|
/**
|
|
29134
29207
|
* Numeric comparison operators for the `NUMERIC` predicate.
|
|
29135
29208
|
* - `EQ` — equal
|
|
@@ -30093,6 +30166,178 @@ const QueryRequestSchema = v4.z.looseObject({
|
|
|
30093
30166
|
|
|
30094
30167
|
const QueryResultSchema = v4.z.array(v4.z.unknown());
|
|
30095
30168
|
|
|
30169
|
+
/**
|
|
30170
|
+
* Self-describing envelope stored as the blob body by `dx-do blob store`.
|
|
30171
|
+
*
|
|
30172
|
+
* Because `fetchBlob` returns only a blob's content (not its attributes) and
|
|
30173
|
+
* blob queries cannot filter by id, the metadata required to restore a file
|
|
30174
|
+
* travels inside the body itself. `dx-do blob fetch` keys off the `dxdoFile`
|
|
30175
|
+
* marker to decide whether to write a file back to disk or print the content.
|
|
30176
|
+
* The same metadata (minus `data`) is also mirrored into queryable blob
|
|
30177
|
+
* attributes so `blob list-blobs` / `blob query` can find file-blobs.
|
|
30178
|
+
*/
|
|
30179
|
+
const BlobFileEnvelopeSchema = v4.z.looseObject({
|
|
30180
|
+
dxdoFile: v4.z
|
|
30181
|
+
.literal(1)
|
|
30182
|
+
.describe('Envelope format marker identifying a blob stored from a local file'),
|
|
30183
|
+
name: v4.z
|
|
30184
|
+
.string()
|
|
30185
|
+
.describe('Original file basename, used to restore the file with its name'),
|
|
30186
|
+
md5: v4.z.string().describe('MD5 hex digest of the original file bytes'),
|
|
30187
|
+
size: v4.z.number().describe('Original file size in bytes'),
|
|
30188
|
+
mtime: v4.z.string().describe('Source file last-modified time, ISO 8601'),
|
|
30189
|
+
sourcePath: v4.z
|
|
30190
|
+
.string()
|
|
30191
|
+
.describe('Absolute local path the file was stored from'),
|
|
30192
|
+
mimeType: v4.z
|
|
30193
|
+
.string()
|
|
30194
|
+
.describe('MIME type guessed from the file extension (application/octet-stream fallback)'),
|
|
30195
|
+
encoding: v4.z.literal('base64').describe('Encoding of the `data` field'),
|
|
30196
|
+
data: v4.z.string().describe('Base64-encoded original file bytes'),
|
|
30197
|
+
});
|
|
30198
|
+
|
|
30199
|
+
const BlobAttributeExpressionSchema = v4.z.looseObject({
|
|
30200
|
+
name: v4.z.string().describe('Attribute name to match against'),
|
|
30201
|
+
values: v4.z.array(v4.z.string()).optional().describe('Accepted values (set membership)'),
|
|
30202
|
+
});
|
|
30203
|
+
/** Matches every blob in the schema. */
|
|
30204
|
+
const BlobAllFilterSchema = v4.z.looseObject({
|
|
30205
|
+
op: v4.z.literal('ALL').describe('Match all blobs in the schema'),
|
|
30206
|
+
});
|
|
30207
|
+
/** Matches blobs whose attributes satisfy the given expressions (AND-ed). */
|
|
30208
|
+
const BlobAttributeFilterSchema = v4.z.looseObject({
|
|
30209
|
+
op: v4.z.literal('ATTRIBUTE').describe('Match blobs by attribute expressions'),
|
|
30210
|
+
expressions: v4.z
|
|
30211
|
+
.array(BlobAttributeExpressionSchema)
|
|
30212
|
+
.optional()
|
|
30213
|
+
.describe('Attribute predicates; all must match'),
|
|
30214
|
+
});
|
|
30215
|
+
/** Discriminated union of blob filter operators, keyed by `op`. */
|
|
30216
|
+
const BlobFilterSchema = v4.z.discriminatedUnion('op', [
|
|
30217
|
+
BlobAllFilterSchema,
|
|
30218
|
+
BlobAttributeFilterSchema,
|
|
30219
|
+
]);
|
|
30220
|
+
|
|
30221
|
+
/** Indexed attributes attached to a blob (string→scalar map). */
|
|
30222
|
+
const BlobAttributesSchema = v4.z
|
|
30223
|
+
.record(v4.z.string(), v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean()]))
|
|
30224
|
+
.describe('Indexed, queryable attributes attached to the blob (scalar values)');
|
|
30225
|
+
/** Query params used by `POST /blobstorage/blob` and `DELETE /blobstorage/blob`. */
|
|
30226
|
+
const BlobStoreParamsSchema = v4.z.looseObject({
|
|
30227
|
+
schema: v4.z.string().describe('Blob schema (collection) name'),
|
|
30228
|
+
id: v4.z.string().describe('Blob ID, unique within the schema'),
|
|
30229
|
+
ttl: v4.z
|
|
30230
|
+
.union([v4.z.string(), v4.z.number()])
|
|
30231
|
+
.optional()
|
|
30232
|
+
.describe('Time-to-live: a relative duration in milliseconds (number), or an absolute ISO-8601 expiry timestamp (string)'),
|
|
30233
|
+
});
|
|
30234
|
+
const BlobBulkItemSchema = v4.z.looseObject({
|
|
30235
|
+
schema: v4.z.string().describe('Blob schema (collection) name'),
|
|
30236
|
+
id: v4.z.string().describe('Blob ID, unique within the schema'),
|
|
30237
|
+
ttl: v4.z
|
|
30238
|
+
.union([v4.z.string(), v4.z.number()])
|
|
30239
|
+
.describe('Time-to-live: a relative duration in milliseconds (number), or an absolute ISO-8601 expiry timestamp (string)'),
|
|
30240
|
+
data: v4.z.string().describe('Blob payload (string-encoded)'),
|
|
30241
|
+
attributes: BlobAttributesSchema.optional().describe('Indexed attributes for querying'),
|
|
30242
|
+
});
|
|
30243
|
+
const BlobBulkStoreRequestSchema = v4.z.looseObject({
|
|
30244
|
+
blobs: v4.z.array(BlobBulkItemSchema).describe('Blobs to store in one batch'),
|
|
30245
|
+
});
|
|
30246
|
+
const BlobFetchParamsSchema = v4.z.looseObject({
|
|
30247
|
+
schema: v4.z.string().describe('Blob schema (collection) name'),
|
|
30248
|
+
id: v4.z.string().describe('Blob ID to fetch'),
|
|
30249
|
+
version: v4.z.number().optional().describe('Specific version to fetch; defaults to latest'),
|
|
30250
|
+
});
|
|
30251
|
+
const BlobQueryRequestSchema = v4.z.looseObject({
|
|
30252
|
+
schema: v4.z.string().describe('Blob schema (collection) to query'),
|
|
30253
|
+
filter: BlobFilterSchema.optional().describe('Attribute filter; omit to match all blobs'),
|
|
30254
|
+
includeData: v4.z.boolean().optional().describe('Include each blob’s payload in the response'),
|
|
30255
|
+
includeProfile: v4.z.boolean().optional().describe('Include profiling/diagnostic info in the response'),
|
|
30256
|
+
});
|
|
30257
|
+
const BlobDeleteParamsSchema = v4.z.looseObject({
|
|
30258
|
+
schema: v4.z.string().describe('Blob schema (collection) name'),
|
|
30259
|
+
id: v4.z.string().describe('Blob ID to delete'),
|
|
30260
|
+
});
|
|
30261
|
+
const BlobBulkDeleteEntrySchema = v4.z.looseObject({
|
|
30262
|
+
schema: v4.z.string().describe('Blob schema (collection) name'),
|
|
30263
|
+
id: v4.z.string().describe('Blob ID to delete'),
|
|
30264
|
+
});
|
|
30265
|
+
const BlobBulkDeleteRequestSchema = v4.z.looseObject({
|
|
30266
|
+
blobs: v4.z.array(BlobBulkDeleteEntrySchema).describe('Blobs to delete in one batch'),
|
|
30267
|
+
});
|
|
30268
|
+
/** Schema-list request takes no parameters. */
|
|
30269
|
+
const BlobSchemaListRequestSchema = v4.z.looseObject({});
|
|
30270
|
+
/** Async command to delete an entire blob schema and all its blobs. */
|
|
30271
|
+
const BlobAsyncDeleteSchemaCommandSchema = v4.z.looseObject({
|
|
30272
|
+
op: v4.z.literal('DELETE_SCHEMA').describe('Delete an entire blob schema'),
|
|
30273
|
+
schema: v4.z.string().describe('Blob schema (collection) to delete'),
|
|
30274
|
+
});
|
|
30275
|
+
/** Discriminated union of async blob commands, keyed by `op`. */
|
|
30276
|
+
const BlobAsyncCommandSchema = v4.z.discriminatedUnion('op', [
|
|
30277
|
+
BlobAsyncDeleteSchemaCommandSchema,
|
|
30278
|
+
]);
|
|
30279
|
+
const BlobExecuteAsyncRequestSchema = v4.z.looseObject({
|
|
30280
|
+
commands: v4.z.array(BlobAsyncCommandSchema).describe('Async commands to enqueue'),
|
|
30281
|
+
});
|
|
30282
|
+
const BlobAsyncResultRequestSchema = v4.z.looseObject({
|
|
30283
|
+
correlationKey: v4.z.string().describe('Correlation key returned by the execute-async call'),
|
|
30284
|
+
});
|
|
30285
|
+
|
|
30286
|
+
const BlobMetadataSchema = v4.z.looseObject({
|
|
30287
|
+
schema: v4.z.string().optional().describe('Blob schema (collection) name'),
|
|
30288
|
+
id: v4.z.string().optional().describe('Blob ID'),
|
|
30289
|
+
ttl: v4.z.string().optional().describe('Remaining time-to-live'),
|
|
30290
|
+
attributes: BlobAttributesSchema.optional().describe('Indexed attributes attached to the blob'),
|
|
30291
|
+
version: v4.z.number().optional().describe('Stored version number'),
|
|
30292
|
+
data: v4.z.string().optional().describe('Blob payload (present only when data was requested)'),
|
|
30293
|
+
});
|
|
30294
|
+
/** Store response — metadata for the persisted blob. */
|
|
30295
|
+
const BlobStoreResponseSchema = BlobMetadataSchema;
|
|
30296
|
+
const BlobBulkStoreResponseSchema = v4.z.looseObject({
|
|
30297
|
+
blobs: v4.z.array(BlobMetadataSchema).optional().describe('Successfully stored blobs'),
|
|
30298
|
+
failed: v4.z.array(BlobMetadataSchema).optional().describe('Blobs that failed to store'),
|
|
30299
|
+
});
|
|
30300
|
+
const BlobQueryResponseSchema = v4.z.looseObject({
|
|
30301
|
+
blobs: v4.z.array(BlobMetadataSchema).optional().describe('Blobs matching the query'),
|
|
30302
|
+
});
|
|
30303
|
+
const BlobDeleteResponseSchema = v4.z.looseObject({
|
|
30304
|
+
blob: BlobMetadataSchema.optional().describe('Metadata of the deleted blob'),
|
|
30305
|
+
});
|
|
30306
|
+
const BlobBulkDeleteResponseSchema = v4.z.looseObject({
|
|
30307
|
+
deletedBlobs: v4.z.array(BlobMetadataSchema).optional().describe('Blobs that were deleted'),
|
|
30308
|
+
});
|
|
30309
|
+
const BlobSchemaItemSchema = v4.z.looseObject({
|
|
30310
|
+
name: v4.z.string().optional().describe('Blob schema (collection) name'),
|
|
30311
|
+
});
|
|
30312
|
+
const BlobSchemaListResponseSchema = v4.z.looseObject({
|
|
30313
|
+
schemas: v4.z.array(BlobSchemaItemSchema).optional().describe('Available blob schemas'),
|
|
30314
|
+
});
|
|
30315
|
+
const BlobExecuteAsyncResponseSchema = v4.z.looseObject({
|
|
30316
|
+
correlationKey: v4.z.string().optional().describe('Key to poll for the async operation result'),
|
|
30317
|
+
});
|
|
30318
|
+
/** Lifecycle state of an async blob operation. */
|
|
30319
|
+
const BlobAsyncResultStateSchema = v4.z
|
|
30320
|
+
.enum(['PENDING', 'RUNNING', 'FINISHED', 'FAILED'])
|
|
30321
|
+
.describe('Async operation state (PENDING, RUNNING, FINISHED, FAILED)');
|
|
30322
|
+
const BlobDeleteSchemaResultSchema = v4.z.looseObject({
|
|
30323
|
+
schema: v4.z.string().optional().describe('Schema that was deleted'),
|
|
30324
|
+
deletedBlobs: v4.z.number().optional().describe('Number of blobs removed with the schema'),
|
|
30325
|
+
});
|
|
30326
|
+
const BlobAsyncResultEntrySchema = v4.z.looseObject({
|
|
30327
|
+
op: v4.z.string().optional().describe('The async command this result corresponds to'),
|
|
30328
|
+
deletedSchema: BlobDeleteSchemaResultSchema.optional().describe('Result detail for a DELETE_SCHEMA command'),
|
|
30329
|
+
});
|
|
30330
|
+
const BlobAsyncResultResponseSchema = v4.z.looseObject({
|
|
30331
|
+
correlationKey: v4.z.string().optional().describe('Correlation key being polled'),
|
|
30332
|
+
state: v4.z.string().optional().describe('Overall operation state (see BlobAsyncResultState)'),
|
|
30333
|
+
numberOfDone: v4.z.number().optional().describe('Count of commands completed so far'),
|
|
30334
|
+
numberOfRemaining: v4.z.number().optional().describe('Count of commands still pending'),
|
|
30335
|
+
results: v4.z
|
|
30336
|
+
.record(v4.z.string(), BlobAsyncResultEntrySchema)
|
|
30337
|
+
.optional()
|
|
30338
|
+
.describe('Per-command results keyed by command identifier'),
|
|
30339
|
+
});
|
|
30340
|
+
|
|
30096
30341
|
const DATASTORE_SCHEMA_TYPES = [
|
|
30097
30342
|
'tas',
|
|
30098
30343
|
'nassql',
|
|
@@ -45537,6 +45782,49 @@ const inventorySearchRequestBodyExample = {
|
|
|
45537
45782
|
refreshView: false,
|
|
45538
45783
|
};
|
|
45539
45784
|
|
|
45785
|
+
exports.LogIngest = void 0;
|
|
45786
|
+
(function (LogIngest) {
|
|
45787
|
+
LogIngest.LogIngestOptionsSchema = v4.z.looseObject({
|
|
45788
|
+
logtype: v4.z
|
|
45789
|
+
.string()
|
|
45790
|
+
.optional()
|
|
45791
|
+
.describe("Log type — matched against the tenant's configured log types (default: `\"generic\"`)"),
|
|
45792
|
+
host: v4.z
|
|
45793
|
+
.string()
|
|
45794
|
+
.optional()
|
|
45795
|
+
.describe('Host name (default: auto-detected via `os.hostname()`)'),
|
|
45796
|
+
message: v4.z.string().describe('Log message text'),
|
|
45797
|
+
timestamp: v4.z
|
|
45798
|
+
.string()
|
|
45799
|
+
.optional()
|
|
45800
|
+
.describe('ISO 8601 timestamp (default: now)'),
|
|
45801
|
+
agentName: v4.z
|
|
45802
|
+
.string()
|
|
45803
|
+
.optional()
|
|
45804
|
+
.describe('Agent name sent as `__agent_name` (default: `"Logs Collector"`)'),
|
|
45805
|
+
agentInstance: v4.z
|
|
45806
|
+
.string()
|
|
45807
|
+
.optional()
|
|
45808
|
+
.describe('Agent instance identifier sent as `__agent_instance` (default: `"dx-do"`)'),
|
|
45809
|
+
containerId: v4.z
|
|
45810
|
+
.string()
|
|
45811
|
+
.optional()
|
|
45812
|
+
.describe('Container ID for the log entry (default: same as host)'),
|
|
45813
|
+
containerName: v4.z
|
|
45814
|
+
.string()
|
|
45815
|
+
.optional()
|
|
45816
|
+
.describe('Container name for the log entry (default: same as agentInstance)'),
|
|
45817
|
+
file: v4.z
|
|
45818
|
+
.string()
|
|
45819
|
+
.optional()
|
|
45820
|
+
.describe('Source file label (default: `"dx-do.cli"`)'),
|
|
45821
|
+
ip: v4.z
|
|
45822
|
+
.string()
|
|
45823
|
+
.optional()
|
|
45824
|
+
.describe('Source IP address (default: first non-loopback IPv4, falls back to `"127.0.0.1"`)'),
|
|
45825
|
+
});
|
|
45826
|
+
})(exports.LogIngest || (exports.LogIngest = {}));
|
|
45827
|
+
|
|
45540
45828
|
exports.LogQuery = void 0;
|
|
45541
45829
|
(function (LogQuery) {
|
|
45542
45830
|
LogQuery.ValidFieldConditions = [
|
|
@@ -73449,11 +73737,16 @@ class LogsService {
|
|
|
73449
73737
|
/**
|
|
73450
73738
|
* Builds the enriched payload object for a single log entry.
|
|
73451
73739
|
*
|
|
73452
|
-
* @
|
|
73740
|
+
* @remarks `options` is validated against
|
|
73741
|
+
* {@link LogIngest.LogIngestOptionsSchema} before the payload is assembled.
|
|
73742
|
+
* @param options - Known log entry fields (`message` required; the rest
|
|
73743
|
+
* optional with sensible defaults).
|
|
73453
73744
|
* @param additionalFields - Arbitrary extra fields to include in the indexed document.
|
|
73454
73745
|
* @returns The payload object ready to POST to the uim_logs ingestion endpoint.
|
|
73746
|
+
* @throws ZodError if `options` fails schema validation.
|
|
73455
73747
|
*/
|
|
73456
73748
|
buildLogPayload(options, additionalFields) {
|
|
73749
|
+
exports.LogIngest.LogIngestOptionsSchema.parse(options);
|
|
73457
73750
|
const cohortId = this.dxSaasService.dxdoConfiguration.dxConfiguration.cohortId;
|
|
73458
73751
|
const tenantIdUpper = cohortId.toUpperCase();
|
|
73459
73752
|
const logtype = options.logtype ?? 'generic';
|
|
@@ -73487,11 +73780,22 @@ class LogsService {
|
|
|
73487
73780
|
...additionalFields,
|
|
73488
73781
|
};
|
|
73489
73782
|
}
|
|
73490
|
-
/**
|
|
73783
|
+
/**
|
|
73784
|
+
* Ingests a single log entry into the log gateway.
|
|
73785
|
+
*
|
|
73786
|
+
* @remarks The gateway returns an opaque ingestion acknowledgement with no
|
|
73787
|
+
* stable schema, so the response is intentionally typed `unknown` and not
|
|
73788
|
+
* validated. `options` is validated by {@link buildLogPayload}.
|
|
73789
|
+
*/
|
|
73491
73790
|
ingestLog(options, additionalFields) {
|
|
73492
73791
|
return this.dxSaasService.logPost('mdo/v2/aoanalytics/ingestion/uim_logs', [this.buildLogPayload(options, additionalFields)]);
|
|
73493
73792
|
}
|
|
73494
|
-
/**
|
|
73793
|
+
/**
|
|
73794
|
+
* Ingests a batch of log entries into the log gateway.
|
|
73795
|
+
*
|
|
73796
|
+
* @remarks Each entry's `options` is validated by {@link buildLogPayload}.
|
|
73797
|
+
* The gateway response is an opaque ack (typed `unknown`, not validated).
|
|
73798
|
+
*/
|
|
73495
73799
|
ingestLogs(entries) {
|
|
73496
73800
|
return this.dxSaasService.logPost('mdo/v2/aoanalytics/ingestion/uim_logs', entries.map((e) => this.buildLogPayload(e.options, e.additionalFields)));
|
|
73497
73801
|
}
|
|
@@ -75420,70 +75724,107 @@ class SituationService {
|
|
|
75420
75724
|
}
|
|
75421
75725
|
}
|
|
75422
75726
|
|
|
75727
|
+
/**
|
|
75728
|
+
* A single audit event as submitted to the audit store (`POST /audit/store`).
|
|
75729
|
+
* `eventTime`, `serviceId`, `resource`, `action`, and `result` are the required
|
|
75730
|
+
* core of an event; the remaining fields enrich it with actor and origin context.
|
|
75731
|
+
*/
|
|
75423
75732
|
const AuditRecordSchema = v4.z.looseObject({
|
|
75424
|
-
userName: v4.z.string().optional(),
|
|
75425
|
-
userFirstName: v4.z.string().optional(),
|
|
75426
|
-
userLastName: v4.z.string().optional(),
|
|
75427
|
-
userEmailAddr: v4.z.string().optional(),
|
|
75428
|
-
token: v4.z
|
|
75429
|
-
|
|
75430
|
-
|
|
75431
|
-
|
|
75432
|
-
|
|
75433
|
-
|
|
75434
|
-
|
|
75435
|
-
|
|
75436
|
-
|
|
75437
|
-
|
|
75438
|
-
|
|
75439
|
-
|
|
75440
|
-
|
|
75441
|
-
|
|
75442
|
-
|
|
75443
|
-
|
|
75444
|
-
|
|
75733
|
+
userName: v4.z.string().optional().describe('Login/user name of the actor who performed the action'),
|
|
75734
|
+
userFirstName: v4.z.string().optional().describe('Actor first name'),
|
|
75735
|
+
userLastName: v4.z.string().optional().describe('Actor last name'),
|
|
75736
|
+
userEmailAddr: v4.z.string().optional().describe('Actor email address'),
|
|
75737
|
+
token: v4.z
|
|
75738
|
+
.string()
|
|
75739
|
+
.optional()
|
|
75740
|
+
.describe('Auth token associated with the actor, when the action was token-driven'),
|
|
75741
|
+
eventTime: v4.z.string().describe('Time the audited event occurred (ISO 8601 or epoch string)'),
|
|
75742
|
+
dsTenantId: v4.z.string().optional().describe('DataStore tenant ID the event belongs to'),
|
|
75743
|
+
dxiTenantId: v4.z.string().optional().describe('DXI tenant ID the event belongs to'),
|
|
75744
|
+
cohortId: v4.z.string().optional().describe('Cohort (tenant cohort) identifier'),
|
|
75745
|
+
serviceId: v4.z.string().describe('ID of the service that emitted the audit event'),
|
|
75746
|
+
serviceInstanceId: v4.z.string().optional().describe('Instance ID of the emitting service'),
|
|
75747
|
+
componentName: v4.z.string().optional().describe('Component within the service that produced the event'),
|
|
75748
|
+
clientIp: v4.z.string().optional().describe('Source IP address of the client that triggered the action'),
|
|
75749
|
+
clientHostName: v4.z
|
|
75750
|
+
.string()
|
|
75751
|
+
.optional()
|
|
75752
|
+
.describe('Source host name of the client that triggered the action'),
|
|
75753
|
+
resource: v4.z.string().describe('The resource that was acted upon (e.g. entity, config key, path)'),
|
|
75754
|
+
action: v4.z.string().describe('The action performed on the resource (e.g. CREATE, UPDATE, DELETE)'),
|
|
75755
|
+
result: v4.z.string().describe('Outcome of the action (e.g. SUCCESS, FAILURE)'),
|
|
75756
|
+
oldValue: v4.z.unknown().optional().describe('Prior value of the resource before the action (for changes)'),
|
|
75757
|
+
newValue: v4.z.unknown().optional().describe('New value of the resource after the action (for changes)'),
|
|
75758
|
+
eventId: v4.z.string().optional().describe('Unique identifier assigned to this audit event'),
|
|
75759
|
+
additionalInfo: v4.z.unknown().optional().describe('Free-form supplementary context attached to the event'),
|
|
75445
75760
|
});
|
|
75446
75761
|
|
|
75447
75762
|
const DateTimeSchema = v4.z.custom((val) => DateTime.isDateTime(val));
|
|
75763
|
+
/**
|
|
75764
|
+
* Request body for an audit-log query (`POST /audit/query`). The event-time
|
|
75765
|
+
* window is required; the remaining fields narrow the result set and page it.
|
|
75766
|
+
*/
|
|
75448
75767
|
const AuditQueryRequestSchema = v4.z.object({
|
|
75449
|
-
fromEventTime: DateTimeSchema,
|
|
75450
|
-
toEventTime: DateTimeSchema,
|
|
75451
|
-
userName: v4.z.string().optional(),
|
|
75452
|
-
serviceId: v4.z.string().optional(),
|
|
75453
|
-
action: v4.z
|
|
75454
|
-
|
|
75455
|
-
|
|
75456
|
-
|
|
75768
|
+
fromEventTime: DateTimeSchema.describe('Inclusive start of the event-time window to search'),
|
|
75769
|
+
toEventTime: DateTimeSchema.describe('Inclusive end of the event-time window to search'),
|
|
75770
|
+
userName: v4.z.string().optional().describe('Filter to audit events performed by this user name'),
|
|
75771
|
+
serviceId: v4.z.string().optional().describe('Filter to audit events emitted by this service ID'),
|
|
75772
|
+
action: v4.z
|
|
75773
|
+
.string()
|
|
75774
|
+
.optional()
|
|
75775
|
+
.describe('Filter to a specific audited action (e.g. CREATE, UPDATE, DELETE)'),
|
|
75776
|
+
result: v4.z
|
|
75777
|
+
.string()
|
|
75778
|
+
.optional()
|
|
75779
|
+
.describe('Filter by outcome of the audited action (e.g. SUCCESS, FAILURE)'),
|
|
75780
|
+
from: v4.z
|
|
75781
|
+
.number()
|
|
75782
|
+
.int()
|
|
75783
|
+
.optional()
|
|
75784
|
+
.describe('Zero-based offset of the first result to return (pagination)'),
|
|
75785
|
+
size: v4.z.number().int().optional().describe('Maximum number of records to return (page size)'),
|
|
75457
75786
|
});
|
|
75787
|
+
/** Cross-tenant variant of {@link AuditQueryRequestSchema} that adds a tenant filter. */
|
|
75458
75788
|
AuditQueryRequestSchema.extend({
|
|
75459
|
-
tenantId: v4.z
|
|
75789
|
+
tenantId: v4.z
|
|
75790
|
+
.string()
|
|
75791
|
+
.optional()
|
|
75792
|
+
.describe('Restrict a cross-tenant (global) query to a single tenant ID'),
|
|
75460
75793
|
});
|
|
75461
75794
|
|
|
75795
|
+
/** Store acknowledgement — the audit store returns an empty object on success. */
|
|
75462
75796
|
const AuditStoreResponseSchema = v4.z.looseObject({}).optional();
|
|
75797
|
+
/**
|
|
75798
|
+
* An audit record as returned from the query endpoint (Elasticsearch-shaped).
|
|
75799
|
+
* Distinct from {@link AuditRecordSchema}: every field is optional and the
|
|
75800
|
+
* actor email is keyed `userEmailAddress` (vs `userEmailAddr` on store).
|
|
75801
|
+
*/
|
|
75463
75802
|
const AuditRecordEsSchema = v4.z.looseObject({
|
|
75464
|
-
userName: v4.z.string().optional(),
|
|
75465
|
-
eventTime: v4.z.string().optional(),
|
|
75466
|
-
serverTime: v4.z.string().optional(),
|
|
75467
|
-
dsTenantId: v4.z.string().optional(),
|
|
75468
|
-
dxiTenantId: v4.z.string().optional(),
|
|
75469
|
-
serviceId: v4.z.string().optional(),
|
|
75470
|
-
serviceInstanceId: v4.z.string().optional(),
|
|
75471
|
-
componentName: v4.z.string().optional(),
|
|
75472
|
-
clientIp: v4.z.string().optional(),
|
|
75473
|
-
clientHostName: v4.z.string().optional(),
|
|
75474
|
-
resource: v4.z.string().optional(),
|
|
75475
|
-
action: v4.z.string().optional(),
|
|
75476
|
-
result: v4.z.string().optional(),
|
|
75477
|
-
oldValue: v4.z.unknown().optional(),
|
|
75478
|
-
newValue: v4.z.unknown().optional(),
|
|
75479
|
-
additionalInfo: v4.z.unknown().optional(),
|
|
75480
|
-
eventId: v4.z.string().optional(),
|
|
75481
|
-
userFirstName: v4.z.string().optional(),
|
|
75482
|
-
userMiddleName: v4.z.string().optional(),
|
|
75483
|
-
userLastName: v4.z.string().optional(),
|
|
75484
|
-
userEmailAddress: v4.z.string().optional(),
|
|
75803
|
+
userName: v4.z.string().optional().describe('Login/user name of the actor'),
|
|
75804
|
+
eventTime: v4.z.string().optional().describe('Time the event occurred'),
|
|
75805
|
+
serverTime: v4.z.string().optional().describe('Time the event was recorded server-side'),
|
|
75806
|
+
dsTenantId: v4.z.string().optional().describe('DataStore tenant ID'),
|
|
75807
|
+
dxiTenantId: v4.z.string().optional().describe('DXI tenant ID'),
|
|
75808
|
+
serviceId: v4.z.string().optional().describe('ID of the service that emitted the event'),
|
|
75809
|
+
serviceInstanceId: v4.z.string().optional().describe('Instance ID of the emitting service'),
|
|
75810
|
+
componentName: v4.z.string().optional().describe('Component within the service'),
|
|
75811
|
+
clientIp: v4.z.string().optional().describe('Source IP of the client'),
|
|
75812
|
+
clientHostName: v4.z.string().optional().describe('Source host name of the client'),
|
|
75813
|
+
resource: v4.z.string().optional().describe('Resource that was acted upon'),
|
|
75814
|
+
action: v4.z.string().optional().describe('Action performed on the resource'),
|
|
75815
|
+
result: v4.z.string().optional().describe('Outcome of the action'),
|
|
75816
|
+
oldValue: v4.z.unknown().optional().describe('Prior value before the action'),
|
|
75817
|
+
newValue: v4.z.unknown().optional().describe('New value after the action'),
|
|
75818
|
+
additionalInfo: v4.z.unknown().optional().describe('Free-form supplementary context'),
|
|
75819
|
+
eventId: v4.z.string().optional().describe('Unique identifier of the audit event'),
|
|
75820
|
+
userFirstName: v4.z.string().optional().describe('Actor first name'),
|
|
75821
|
+
userMiddleName: v4.z.string().optional().describe('Actor middle name'),
|
|
75822
|
+
userLastName: v4.z.string().optional().describe('Actor last name'),
|
|
75823
|
+
userEmailAddress: v4.z.string().optional().describe('Actor email address'),
|
|
75485
75824
|
});
|
|
75486
|
-
const AuditQueryResponseSchema = v4.z
|
|
75825
|
+
const AuditQueryResponseSchema = v4.z
|
|
75826
|
+
.array(AuditRecordEsSchema)
|
|
75827
|
+
.describe('Audit records matching the query');
|
|
75487
75828
|
|
|
75488
75829
|
/**
|
|
75489
75830
|
* Service for the DX SaaS DataStore audit API (`/audit/...`).
|
|
@@ -75558,32 +75899,42 @@ class DataStoreAuditService {
|
|
|
75558
75899
|
}
|
|
75559
75900
|
|
|
75560
75901
|
const ViewFilterLazy = v4.z.lazy(() => ViewFilterSchema);
|
|
75902
|
+
/** Matches every view. */
|
|
75561
75903
|
const ViewAllFilterSchema = v4.z.looseObject({
|
|
75562
|
-
op: v4.z.literal('ALL'),
|
|
75904
|
+
op: v4.z.literal('ALL').describe('Match all views'),
|
|
75563
75905
|
});
|
|
75906
|
+
/** Matches views by ID. */
|
|
75564
75907
|
const ViewIdFilterSchema = v4.z.looseObject({
|
|
75565
|
-
op: v4.z.literal('ID'),
|
|
75566
|
-
ids: v4.z.array(v4.z.string()).optional(),
|
|
75908
|
+
op: v4.z.literal('ID').describe('Match views by ID'),
|
|
75909
|
+
ids: v4.z.array(v4.z.string()).optional().describe('View IDs to match'),
|
|
75567
75910
|
});
|
|
75911
|
+
/** Matches only active views. */
|
|
75568
75912
|
const ViewActiveFilterSchema = v4.z.looseObject({
|
|
75569
|
-
op: v4.z.literal('ACTIVE'),
|
|
75913
|
+
op: v4.z.literal('ACTIVE').describe('Match only active views'),
|
|
75570
75914
|
});
|
|
75571
75915
|
const ViewAttributeExpressionSchema = v4.z.looseObject({
|
|
75572
|
-
name: v4.z.string().optional(),
|
|
75573
|
-
values: v4.z.array(v4.z.string()).optional(),
|
|
75916
|
+
name: v4.z.string().optional().describe('Attribute name to match against'),
|
|
75917
|
+
values: v4.z.array(v4.z.string()).optional().describe('Accepted values (set membership)'),
|
|
75574
75918
|
});
|
|
75919
|
+
/** Matches views whose attributes satisfy the given expressions (AND-ed). */
|
|
75575
75920
|
const ViewAttributeFilterSchema = v4.z.looseObject({
|
|
75576
|
-
op: v4.z.literal('ATTRIBUTE'),
|
|
75577
|
-
expressions: v4.z
|
|
75921
|
+
op: v4.z.literal('ATTRIBUTE').describe('Match views by attribute expressions'),
|
|
75922
|
+
expressions: v4.z
|
|
75923
|
+
.array(ViewAttributeExpressionSchema)
|
|
75924
|
+
.optional()
|
|
75925
|
+
.describe('Attribute predicates; all must match'),
|
|
75578
75926
|
});
|
|
75927
|
+
/** Logical AND of nested view filters. */
|
|
75579
75928
|
const ViewAndFilterSchema = v4.z.looseObject({
|
|
75580
|
-
op: v4.z.literal('AND'),
|
|
75581
|
-
input: v4.z.array(ViewFilterLazy).optional(),
|
|
75929
|
+
op: v4.z.literal('AND').describe('Logical AND of nested filters'),
|
|
75930
|
+
input: v4.z.array(ViewFilterLazy).optional().describe('Child filters to AND together'),
|
|
75582
75931
|
});
|
|
75932
|
+
/** Logical OR of nested view filters. */
|
|
75583
75933
|
const ViewOrFilterSchema = v4.z.looseObject({
|
|
75584
|
-
op: v4.z.literal('OR'),
|
|
75585
|
-
input: v4.z.array(ViewFilterLazy).optional(),
|
|
75934
|
+
op: v4.z.literal('OR').describe('Logical OR of nested filters'),
|
|
75935
|
+
input: v4.z.array(ViewFilterLazy).optional().describe('Child filters to OR together'),
|
|
75586
75936
|
});
|
|
75937
|
+
/** Discriminated union of all view filter operators, keyed by `op`. */
|
|
75587
75938
|
const ViewFilterSchema = v4.z.discriminatedUnion('op', [
|
|
75588
75939
|
ViewAllFilterSchema,
|
|
75589
75940
|
ViewIdFilterSchema,
|
|
@@ -75593,65 +75944,77 @@ const ViewFilterSchema = v4.z.discriminatedUnion('op', [
|
|
|
75593
75944
|
ViewOrFilterSchema,
|
|
75594
75945
|
]);
|
|
75595
75946
|
|
|
75596
|
-
|
|
75947
|
+
/** Access role granted to a user or group on a view. */
|
|
75948
|
+
const ViewAccessRoleSchema = v4.z
|
|
75949
|
+
.enum(['read-only', 'read-write'])
|
|
75950
|
+
.describe('Access level granted on a view');
|
|
75597
75951
|
const ViewAccessEntrySchema = v4.z.looseObject({
|
|
75598
|
-
name: v4.z.string(),
|
|
75599
|
-
role: ViewAccessRoleSchema.optional(),
|
|
75952
|
+
name: v4.z.string().describe('User or group name being granted access'),
|
|
75953
|
+
role: ViewAccessRoleSchema.optional().describe('Granted role; defaults to read-only'),
|
|
75600
75954
|
});
|
|
75601
75955
|
const ViewAccessSchema = v4.z.looseObject({
|
|
75602
|
-
users: v4.z.array(ViewAccessEntrySchema).optional(),
|
|
75603
|
-
groups: v4.z.array(ViewAccessEntrySchema).optional(),
|
|
75956
|
+
users: v4.z.array(ViewAccessEntrySchema).optional().describe('Per-user access grants'),
|
|
75957
|
+
groups: v4.z.array(ViewAccessEntrySchema).optional().describe('Per-group access grants'),
|
|
75604
75958
|
});
|
|
75605
75959
|
const ViewTasSpecSchema = v4.z.looseObject({
|
|
75606
|
-
filter: TasFilterSchema.optional(),
|
|
75960
|
+
filter: TasFilterSchema.optional().describe('TAS filter scoping the topology this view exposes'),
|
|
75607
75961
|
});
|
|
75608
75962
|
const ViewNassSpecSchema = v4.z.looseObject({
|
|
75609
|
-
filter: v4.z.unknown().optional(),
|
|
75963
|
+
filter: v4.z.unknown().optional().describe('NASS filter scoping the metrics this view exposes'),
|
|
75610
75964
|
});
|
|
75611
75965
|
const ViewSpecsSchema = v4.z.looseObject({
|
|
75612
|
-
tas: ViewTasSpecSchema.optional(),
|
|
75613
|
-
nass: ViewNassSpecSchema.optional(),
|
|
75966
|
+
tas: ViewTasSpecSchema.optional().describe('Topology (TAS) scoping for the view'),
|
|
75967
|
+
nass: ViewNassSpecSchema.optional().describe('Metrics (NASS) scoping for the view'),
|
|
75614
75968
|
});
|
|
75615
|
-
|
|
75969
|
+
/** Product that owns the view. */
|
|
75970
|
+
const ViewOwnerSchema = v4.z
|
|
75971
|
+
.enum(['APM', 'DP', 'OI'])
|
|
75972
|
+
.describe('Owning product (APM, DP, OI)');
|
|
75616
75973
|
const ViewAttributesSchema = v4.z.looseObject({
|
|
75617
|
-
label: v4.z.string().optional(),
|
|
75618
|
-
description: v4.z.string().optional(),
|
|
75619
|
-
owner: ViewOwnerSchema.optional(),
|
|
75974
|
+
label: v4.z.string().optional().describe('Human-readable view label'),
|
|
75975
|
+
description: v4.z.string().optional().describe('View description'),
|
|
75976
|
+
owner: ViewOwnerSchema.optional().describe('Owning product'),
|
|
75620
75977
|
});
|
|
75621
75978
|
const ViewBodySchema = v4.z.looseObject({
|
|
75622
|
-
access: ViewAccessSchema.optional(),
|
|
75623
|
-
views: ViewSpecsSchema.optional(),
|
|
75624
|
-
attributes: ViewAttributesSchema.optional(),
|
|
75979
|
+
access: ViewAccessSchema.optional().describe('Access grants for the view'),
|
|
75980
|
+
views: ViewSpecsSchema.optional().describe('TAS/NASS scoping specs for the view'),
|
|
75981
|
+
attributes: ViewAttributesSchema.optional().describe('View metadata (label, description, owner)'),
|
|
75625
75982
|
});
|
|
75626
75983
|
const SetDefaultViewRequestSchema = v4.z.looseObject({
|
|
75627
|
-
userName: v4.z.string(),
|
|
75628
|
-
defaultViews: v4.z
|
|
75984
|
+
userName: v4.z.string().describe('User whose default view(s) are being set'),
|
|
75985
|
+
defaultViews: v4.z
|
|
75986
|
+
.union([v4.z.string(), v4.z.array(v4.z.string())])
|
|
75987
|
+
.optional()
|
|
75988
|
+
.describe('View ID, or list of view IDs, to set as the user default'),
|
|
75629
75989
|
});
|
|
75630
75990
|
const ViewSearchRequestSchema = v4.z.looseObject({
|
|
75631
|
-
user: v4.z.string(),
|
|
75632
|
-
groups: v4.z.array(v4.z.string()).optional(),
|
|
75633
|
-
minimalRules: v4.z.unknown().optional(),
|
|
75634
|
-
viewId: v4.z.string().optional(),
|
|
75991
|
+
user: v4.z.string().describe('User to resolve accessible views for'),
|
|
75992
|
+
groups: v4.z.array(v4.z.string()).optional().describe('Groups the user belongs to (widen access resolution)'),
|
|
75993
|
+
minimalRules: v4.z.unknown().optional().describe('Optional minimal-rules payload for access resolution'),
|
|
75994
|
+
viewId: v4.z.string().optional().describe('Restrict the search to a single view ID'),
|
|
75635
75995
|
});
|
|
75636
75996
|
const ViewQueryRequestSchema = v4.z.looseObject({
|
|
75637
|
-
filter: ViewFilterSchema.optional(),
|
|
75997
|
+
filter: ViewFilterSchema.optional().describe('Filter selecting which views to return; omit for all'),
|
|
75638
75998
|
});
|
|
75639
75999
|
|
|
75640
76000
|
const ViewResponseSchema = v4.z.looseObject({
|
|
75641
|
-
viewId: v4.z.string().optional(),
|
|
75642
|
-
access: ViewAccessSchema.optional(),
|
|
75643
|
-
views: ViewSpecsSchema.optional(),
|
|
75644
|
-
attributes: ViewAttributesSchema.optional(),
|
|
76001
|
+
viewId: v4.z.string().optional().describe('Server-assigned view identifier'),
|
|
76002
|
+
access: ViewAccessSchema.optional().describe('Access grants on the view'),
|
|
76003
|
+
views: ViewSpecsSchema.optional().describe('TAS/NASS scoping specs of the view'),
|
|
76004
|
+
attributes: ViewAttributesSchema.optional().describe('View metadata (label, description, owner)'),
|
|
75645
76005
|
});
|
|
75646
|
-
const ViewListResponseSchema = v4.z
|
|
76006
|
+
const ViewListResponseSchema = v4.z
|
|
76007
|
+
.array(ViewResponseSchema)
|
|
76008
|
+
.describe('All views returned by a list call');
|
|
75647
76009
|
const ViewQueryResponseSchema = v4.z.looseObject({
|
|
75648
|
-
views: v4.z.array(ViewResponseSchema).optional(),
|
|
76010
|
+
views: v4.z.array(ViewResponseSchema).optional().describe('Views matching the query filter'),
|
|
75649
76011
|
});
|
|
75650
76012
|
const DefaultViewsResponseSchema = v4.z.looseObject({
|
|
75651
|
-
userName: v4.z.string().optional(),
|
|
76013
|
+
userName: v4.z.string().optional().describe('User the defaults belong to'),
|
|
75652
76014
|
defaultViews: v4.z
|
|
75653
76015
|
.union([v4.z.string(), v4.z.array(v4.z.string())])
|
|
75654
|
-
.optional()
|
|
76016
|
+
.optional()
|
|
76017
|
+
.describe("The user's default view ID, or list of IDs"),
|
|
75655
76018
|
});
|
|
75656
76019
|
|
|
75657
76020
|
/**
|
|
@@ -75788,129 +76151,6 @@ class DataStoreAuthViewsService {
|
|
|
75788
76151
|
}
|
|
75789
76152
|
}
|
|
75790
76153
|
|
|
75791
|
-
const BlobAttributeExpressionSchema = v4.z.looseObject({
|
|
75792
|
-
name: v4.z.string(),
|
|
75793
|
-
values: v4.z.array(v4.z.string()).optional(),
|
|
75794
|
-
});
|
|
75795
|
-
const BlobAllFilterSchema = v4.z.looseObject({
|
|
75796
|
-
op: v4.z.literal('ALL'),
|
|
75797
|
-
});
|
|
75798
|
-
const BlobAttributeFilterSchema = v4.z.looseObject({
|
|
75799
|
-
op: v4.z.literal('ATTRIBUTE'),
|
|
75800
|
-
expressions: v4.z.array(BlobAttributeExpressionSchema).optional(),
|
|
75801
|
-
});
|
|
75802
|
-
const BlobFilterSchema = v4.z.discriminatedUnion('op', [
|
|
75803
|
-
BlobAllFilterSchema,
|
|
75804
|
-
BlobAttributeFilterSchema,
|
|
75805
|
-
]);
|
|
75806
|
-
|
|
75807
|
-
const BlobAttributesSchema = v4.z.record(v4.z.string(), v4.z.union([v4.z.string(), v4.z.number(), v4.z.boolean()]));
|
|
75808
|
-
/** Query params used by `POST /blobstorage/blob` and `DELETE /blobstorage/blob`. */
|
|
75809
|
-
v4.z.looseObject({
|
|
75810
|
-
schema: v4.z.string(),
|
|
75811
|
-
id: v4.z.string(),
|
|
75812
|
-
ttl: v4.z.union([v4.z.string(), v4.z.number()]).optional(),
|
|
75813
|
-
});
|
|
75814
|
-
const BlobBulkItemSchema = v4.z.looseObject({
|
|
75815
|
-
schema: v4.z.string(),
|
|
75816
|
-
id: v4.z.string(),
|
|
75817
|
-
ttl: v4.z.union([v4.z.string(), v4.z.number()]),
|
|
75818
|
-
data: v4.z.string(),
|
|
75819
|
-
attributes: BlobAttributesSchema.optional(),
|
|
75820
|
-
});
|
|
75821
|
-
const BlobBulkStoreRequestSchema = v4.z.looseObject({
|
|
75822
|
-
blobs: v4.z.array(BlobBulkItemSchema),
|
|
75823
|
-
});
|
|
75824
|
-
v4.z.looseObject({
|
|
75825
|
-
schema: v4.z.string(),
|
|
75826
|
-
id: v4.z.string(),
|
|
75827
|
-
version: v4.z.number().optional(),
|
|
75828
|
-
});
|
|
75829
|
-
const BlobQueryRequestSchema = v4.z.looseObject({
|
|
75830
|
-
schema: v4.z.string(),
|
|
75831
|
-
filter: BlobFilterSchema.optional(),
|
|
75832
|
-
includeData: v4.z.boolean().optional(),
|
|
75833
|
-
includeProfile: v4.z.boolean().optional(),
|
|
75834
|
-
});
|
|
75835
|
-
v4.z.looseObject({
|
|
75836
|
-
schema: v4.z.string(),
|
|
75837
|
-
id: v4.z.string(),
|
|
75838
|
-
});
|
|
75839
|
-
const BlobBulkDeleteEntrySchema = v4.z.looseObject({
|
|
75840
|
-
schema: v4.z.string(),
|
|
75841
|
-
id: v4.z.string(),
|
|
75842
|
-
});
|
|
75843
|
-
const BlobBulkDeleteRequestSchema = v4.z.looseObject({
|
|
75844
|
-
blobs: v4.z.array(BlobBulkDeleteEntrySchema),
|
|
75845
|
-
});
|
|
75846
|
-
v4.z.looseObject({});
|
|
75847
|
-
const BlobAsyncDeleteSchemaCommandSchema = v4.z.looseObject({
|
|
75848
|
-
op: v4.z.literal('DELETE_SCHEMA'),
|
|
75849
|
-
schema: v4.z.string(),
|
|
75850
|
-
});
|
|
75851
|
-
const BlobAsyncCommandSchema = v4.z.discriminatedUnion('op', [
|
|
75852
|
-
BlobAsyncDeleteSchemaCommandSchema,
|
|
75853
|
-
]);
|
|
75854
|
-
const BlobExecuteAsyncRequestSchema = v4.z.looseObject({
|
|
75855
|
-
commands: v4.z.array(BlobAsyncCommandSchema),
|
|
75856
|
-
});
|
|
75857
|
-
const BlobAsyncResultRequestSchema = v4.z.looseObject({
|
|
75858
|
-
correlationKey: v4.z.string(),
|
|
75859
|
-
});
|
|
75860
|
-
|
|
75861
|
-
const BlobMetadataSchema = v4.z.looseObject({
|
|
75862
|
-
schema: v4.z.string().optional(),
|
|
75863
|
-
id: v4.z.string().optional(),
|
|
75864
|
-
ttl: v4.z.string().optional(),
|
|
75865
|
-
attributes: BlobAttributesSchema.optional(),
|
|
75866
|
-
version: v4.z.number().optional(),
|
|
75867
|
-
data: v4.z.string().optional(),
|
|
75868
|
-
});
|
|
75869
|
-
const BlobStoreResponseSchema = BlobMetadataSchema;
|
|
75870
|
-
const BlobBulkStoreResponseSchema = v4.z.looseObject({
|
|
75871
|
-
blobs: v4.z.array(BlobMetadataSchema).optional(),
|
|
75872
|
-
failed: v4.z.array(BlobMetadataSchema).optional(),
|
|
75873
|
-
});
|
|
75874
|
-
const BlobQueryResponseSchema = v4.z.looseObject({
|
|
75875
|
-
blobs: v4.z.array(BlobMetadataSchema).optional(),
|
|
75876
|
-
});
|
|
75877
|
-
const BlobDeleteResponseSchema = v4.z.looseObject({
|
|
75878
|
-
blob: BlobMetadataSchema.optional(),
|
|
75879
|
-
});
|
|
75880
|
-
const BlobBulkDeleteResponseSchema = v4.z.looseObject({
|
|
75881
|
-
deletedBlobs: v4.z.array(BlobMetadataSchema).optional(),
|
|
75882
|
-
});
|
|
75883
|
-
const BlobSchemaItemSchema = v4.z.looseObject({
|
|
75884
|
-
name: v4.z.string().optional(),
|
|
75885
|
-
});
|
|
75886
|
-
const BlobSchemaListResponseSchema = v4.z.looseObject({
|
|
75887
|
-
schemas: v4.z.array(BlobSchemaItemSchema).optional(),
|
|
75888
|
-
});
|
|
75889
|
-
const BlobExecuteAsyncResponseSchema = v4.z.looseObject({
|
|
75890
|
-
correlationKey: v4.z.string().optional(),
|
|
75891
|
-
});
|
|
75892
|
-
v4.z.enum([
|
|
75893
|
-
'PENDING',
|
|
75894
|
-
'RUNNING',
|
|
75895
|
-
'FINISHED',
|
|
75896
|
-
'FAILED',
|
|
75897
|
-
]);
|
|
75898
|
-
const BlobDeleteSchemaResultSchema = v4.z.looseObject({
|
|
75899
|
-
schema: v4.z.string().optional(),
|
|
75900
|
-
deletedBlobs: v4.z.number().optional(),
|
|
75901
|
-
});
|
|
75902
|
-
const BlobAsyncResultEntrySchema = v4.z.looseObject({
|
|
75903
|
-
op: v4.z.string().optional(),
|
|
75904
|
-
deletedSchema: BlobDeleteSchemaResultSchema.optional(),
|
|
75905
|
-
});
|
|
75906
|
-
const BlobAsyncResultResponseSchema = v4.z.looseObject({
|
|
75907
|
-
correlationKey: v4.z.string().optional(),
|
|
75908
|
-
state: v4.z.string().optional(),
|
|
75909
|
-
numberOfDone: v4.z.number().optional(),
|
|
75910
|
-
numberOfRemaining: v4.z.number().optional(),
|
|
75911
|
-
results: v4.z.record(v4.z.string(), BlobAsyncResultEntrySchema).optional(),
|
|
75912
|
-
});
|
|
75913
|
-
|
|
75914
76154
|
/**
|
|
75915
76155
|
* Service for the DX SaaS DataStore blob storage API
|
|
75916
76156
|
* (`/blobstorage/...`).
|
|
@@ -76070,87 +76310,95 @@ class DataStoreBlobStorageService {
|
|
|
76070
76310
|
}
|
|
76071
76311
|
}
|
|
76072
76312
|
|
|
76073
|
-
|
|
76074
|
-
|
|
76075
|
-
'NUMBER',
|
|
76076
|
-
'LOOKUP'
|
|
76077
|
-
'DATETIME',
|
|
76078
|
-
]);
|
|
76313
|
+
/** Editor type for a feature field. */
|
|
76314
|
+
const FeatureFieldTypeSchema = v4.z
|
|
76315
|
+
.enum(['TEXT', 'NUMBER', 'LOOKUP', 'DATETIME'])
|
|
76316
|
+
.describe('Field value type / editor (TEXT, NUMBER, LOOKUP, DATETIME)');
|
|
76079
76317
|
const FeatureFieldSchema = v4.z.looseObject({
|
|
76080
|
-
id: v4.z.string(),
|
|
76081
|
-
name: v4.z.string().optional(),
|
|
76082
|
-
type: FeatureFieldTypeSchema.optional(),
|
|
76318
|
+
id: v4.z.string().describe('Stable field identifier'),
|
|
76319
|
+
name: v4.z.string().optional().describe('Human-readable field label'),
|
|
76320
|
+
type: FeatureFieldTypeSchema.optional().describe('Field value type; defaults to TEXT'),
|
|
76083
76321
|
});
|
|
76084
|
-
|
|
76085
|
-
|
|
76086
|
-
'NASS',
|
|
76087
|
-
'ES'
|
|
76088
|
-
'REST',
|
|
76089
|
-
]);
|
|
76322
|
+
/** Backing datasource type a feature filter template targets. */
|
|
76323
|
+
const FeatureFilterTemplateTypeSchema = v4.z
|
|
76324
|
+
.enum(['TAS', 'NASS', 'ES', 'REST'])
|
|
76325
|
+
.describe('Datasource the template queries (TAS, NASS, ES, REST)');
|
|
76090
76326
|
const FeatureFilterTemplateSchema = v4.z.looseObject({
|
|
76091
|
-
type: FeatureFilterTemplateTypeSchema.optional(),
|
|
76092
|
-
filter: v4.z.unknown().optional(),
|
|
76093
|
-
indexPattern: v4.z.string().optional(),
|
|
76094
|
-
query: v4.z.unknown().optional(),
|
|
76327
|
+
type: FeatureFilterTemplateTypeSchema.optional().describe('Datasource type this template targets'),
|
|
76328
|
+
filter: v4.z.unknown().optional().describe('Datasource-specific filter payload'),
|
|
76329
|
+
indexPattern: v4.z.string().optional().describe('ES index pattern, when type is ES'),
|
|
76330
|
+
query: v4.z.unknown().optional().describe('Raw query payload passed through to the datasource'),
|
|
76095
76331
|
});
|
|
76096
76332
|
const FeatureDatascopeLazy = v4.z.lazy(() => FeatureDatascopeSchema);
|
|
76097
76333
|
const FeatureDatascopeSchema = v4.z.looseObject({
|
|
76098
|
-
id: v4.z.string(),
|
|
76099
|
-
datascopeItemName: v4.z.string().optional(),
|
|
76100
|
-
datasourceType: FeatureFilterTemplateTypeSchema.optional(),
|
|
76101
|
-
url: v4.z.string().optional(),
|
|
76102
|
-
fields: v4.z.array(FeatureFieldSchema).optional(),
|
|
76103
|
-
filterTemplate: FeatureFilterTemplateSchema.optional(),
|
|
76104
|
-
children: v4.z.array(FeatureDatascopeLazy).optional(),
|
|
76334
|
+
id: v4.z.string().describe('Stable datascope identifier'),
|
|
76335
|
+
datascopeItemName: v4.z.string().optional().describe('Human-readable datascope name'),
|
|
76336
|
+
datasourceType: FeatureFilterTemplateTypeSchema.optional().describe('Datasource backing this datascope'),
|
|
76337
|
+
url: v4.z.string().optional().describe('Endpoint URL for REST-backed datascopes'),
|
|
76338
|
+
fields: v4.z.array(FeatureFieldSchema).optional().describe('Fields exposed by this datascope'),
|
|
76339
|
+
filterTemplate: FeatureFilterTemplateSchema.optional().describe('Default filter template for this datascope'),
|
|
76340
|
+
children: v4.z.array(FeatureDatascopeLazy).optional().describe('Nested child datascopes (recursive tree)'),
|
|
76105
76341
|
});
|
|
76106
76342
|
const FeatureAttributesSchema = v4.z
|
|
76107
76343
|
.looseObject({
|
|
76108
|
-
name: v4.z.string().optional(),
|
|
76109
|
-
description: v4.z.string().optional(),
|
|
76110
|
-
sort: v4.z.number().optional(),
|
|
76111
|
-
global: v4.z.boolean().optional(),
|
|
76112
|
-
path: v4.z.string().optional(),
|
|
76113
|
-
_UPDATED_AT: v4.z.number().optional(),
|
|
76114
|
-
_UPDATED_BY: v4.z.string().optional(),
|
|
76344
|
+
name: v4.z.string().optional().describe('Feature display name'),
|
|
76345
|
+
description: v4.z.string().optional().describe('Feature description'),
|
|
76346
|
+
sort: v4.z.number().optional().describe('Sort order among sibling features'),
|
|
76347
|
+
global: v4.z.boolean().optional().describe('Whether the feature is global (visible across the tenant)'),
|
|
76348
|
+
path: v4.z.string().optional().describe('Materialized tree path of the feature node'),
|
|
76349
|
+
_UPDATED_AT: v4.z.number().optional().describe('Last-modified timestamp (epoch ms)'),
|
|
76350
|
+
_UPDATED_BY: v4.z.string().optional().describe('User who last modified the feature'),
|
|
76115
76351
|
})
|
|
76116
76352
|
.catchall(v4.z.unknown());
|
|
76117
76353
|
const FeatureNodeLazy = v4.z.lazy(() => FeatureNodeSchema);
|
|
76118
76354
|
const FeatureNodeSchema = v4.z.looseObject({
|
|
76119
|
-
id: v4.z.string(),
|
|
76120
|
-
disabled: v4.z.boolean().optional(),
|
|
76121
|
-
lastModificationTimestamp: v4.z.number().optional(),
|
|
76122
|
-
attributes: FeatureAttributesSchema.optional(),
|
|
76123
|
-
apis: v4.z.array(v4.z.string()).optional(),
|
|
76124
|
-
children: v4.z.array(FeatureNodeLazy).optional(),
|
|
76125
|
-
datascopes: v4.z.array(FeatureDatascopeSchema).optional(),
|
|
76355
|
+
id: v4.z.string().describe('Stable feature node identifier'),
|
|
76356
|
+
disabled: v4.z.boolean().optional().describe('Whether the feature node is disabled'),
|
|
76357
|
+
lastModificationTimestamp: v4.z.number().optional().describe('Last modification time (epoch ms)'),
|
|
76358
|
+
attributes: FeatureAttributesSchema.optional().describe('Feature metadata attributes'),
|
|
76359
|
+
apis: v4.z.array(v4.z.string()).optional().describe('API identifiers this feature exposes'),
|
|
76360
|
+
children: v4.z.array(FeatureNodeLazy).optional().describe('Nested child feature nodes (recursive tree)'),
|
|
76361
|
+
datascopes: v4.z.array(FeatureDatascopeSchema).optional().describe('Datascopes attached to this feature node'),
|
|
76126
76362
|
});
|
|
76127
76363
|
|
|
76364
|
+
/** Store request — a full {@link FeatureNodeSchema} tree to upsert. */
|
|
76128
76365
|
const FeatureStoreRequestSchema = FeatureNodeSchema;
|
|
76129
76366
|
const FeatureDeleteRequestSchema = v4.z.looseObject({
|
|
76130
|
-
ids: v4.z.array(v4.z.string()),
|
|
76367
|
+
ids: v4.z.array(v4.z.string()).describe('Feature node IDs to delete'),
|
|
76131
76368
|
});
|
|
76132
76369
|
v4.z.looseObject({
|
|
76133
|
-
op: v4.z.literal('ID'),
|
|
76134
|
-
ids: v4.z.array(v4.z.string()).optional(),
|
|
76370
|
+
op: v4.z.literal('ID').describe('Filter operator — selects feature nodes by ID'),
|
|
76371
|
+
ids: v4.z.array(v4.z.string()).optional().describe('Feature node IDs to match'),
|
|
76135
76372
|
});
|
|
76373
|
+
/**
|
|
76374
|
+
* Feature query filter. `op` names the operator; the AND-ed second half carries
|
|
76375
|
+
* the operands (`ids` for an ID filter, `input` for composite operators).
|
|
76376
|
+
*/
|
|
76136
76377
|
const FeatureFilterSchema = v4.z
|
|
76137
76378
|
.looseObject({
|
|
76138
|
-
op: v4.z.string(),
|
|
76379
|
+
op: v4.z.string().describe('Filter operator (e.g. ID, AND, OR)'),
|
|
76139
76380
|
})
|
|
76140
76381
|
.and(v4.z
|
|
76141
76382
|
.looseObject({
|
|
76142
|
-
ids: v4.z.array(v4.z.string()).optional(),
|
|
76143
|
-
input: v4.z.array(v4.z.unknown()).optional(),
|
|
76383
|
+
ids: v4.z.array(v4.z.string()).optional().describe('Feature node IDs (for ID filters)'),
|
|
76384
|
+
input: v4.z.array(v4.z.unknown()).optional().describe('Nested operand filters (for composite operators)'),
|
|
76144
76385
|
})
|
|
76145
76386
|
.partial());
|
|
76146
76387
|
const FeatureQueryRequestSchema = v4.z.looseObject({
|
|
76147
|
-
filter: FeatureFilterSchema.optional(),
|
|
76388
|
+
filter: FeatureFilterSchema.optional().describe('Filter selecting which feature nodes to return; omit for all'),
|
|
76148
76389
|
});
|
|
76149
|
-
const FeatureToggleListSchema = v4.z
|
|
76390
|
+
const FeatureToggleListSchema = v4.z
|
|
76391
|
+
.array(v4.z.string())
|
|
76392
|
+
.describe('List of feature toggle identifiers');
|
|
76150
76393
|
|
|
76394
|
+
/** Store response — the persisted {@link FeatureNodeSchema} tree. */
|
|
76151
76395
|
const FeatureStoreResponseSchema = FeatureNodeSchema;
|
|
76152
|
-
const FeatureListResponseSchema = v4.z
|
|
76153
|
-
|
|
76396
|
+
const FeatureListResponseSchema = v4.z
|
|
76397
|
+
.array(FeatureNodeSchema)
|
|
76398
|
+
.describe('Feature nodes matching the query');
|
|
76399
|
+
const FeatureToggleListResponseSchema = v4.z
|
|
76400
|
+
.array(v4.z.string())
|
|
76401
|
+
.describe('Enabled feature toggle identifiers');
|
|
76154
76402
|
|
|
76155
76403
|
/**
|
|
76156
76404
|
* Service for the DX SaaS DataStore features API (`/features/...`).
|
|
@@ -76455,98 +76703,105 @@ class DataStoreNASSQLService {
|
|
|
76455
76703
|
}
|
|
76456
76704
|
}
|
|
76457
76705
|
|
|
76458
|
-
|
|
76459
|
-
|
|
76460
|
-
'BRIEF',
|
|
76461
|
-
'EXTRA_IDS'
|
|
76462
|
-
|
|
76706
|
+
/** Projection level controlling how much detail each returned state carries. */
|
|
76707
|
+
const VertexStateProjectionSchema = v4.z
|
|
76708
|
+
.enum(['DETAILED', 'BRIEF', 'EXTRA_IDS'])
|
|
76709
|
+
.describe('Response detail level (DETAILED, BRIEF, EXTRA_IDS)');
|
|
76710
|
+
/** External-ID coordinates identifying a state by vertex/alert/metric. */
|
|
76463
76711
|
const VertexStateExternalIdInputSchema = v4.z.looseObject({
|
|
76464
|
-
vertexId: v4.z.number().optional(),
|
|
76465
|
-
vertexExternalId: v4.z.string().optional(),
|
|
76466
|
-
alert: v4.z.string().optional(),
|
|
76467
|
-
alertExternalId: v4.z.string().optional(),
|
|
76468
|
-
metric: v4.z.string().optional(),
|
|
76469
|
-
metricExternalId: v4.z.string().optional(),
|
|
76712
|
+
vertexId: v4.z.number().optional().describe('Internal vertex ID'),
|
|
76713
|
+
vertexExternalId: v4.z.string().optional().describe('External vertex ID'),
|
|
76714
|
+
alert: v4.z.string().optional().describe('Alert identifier'),
|
|
76715
|
+
alertExternalId: v4.z.string().optional().describe('External alert identifier'),
|
|
76716
|
+
metric: v4.z.string().optional().describe('Metric identifier'),
|
|
76717
|
+
metricExternalId: v4.z.string().optional().describe('External metric identifier'),
|
|
76470
76718
|
});
|
|
76719
|
+
/** A single state to store. Identify the target by internal IDs or external coordinates. */
|
|
76471
76720
|
const VertexStateInputSchema = v4.z.looseObject({
|
|
76472
|
-
stateExternalId: VertexStateExternalIdInputSchema.optional(),
|
|
76473
|
-
vertexId: v4.z.number().optional(),
|
|
76474
|
-
alertId: v4.z.number().optional(),
|
|
76475
|
-
metricId: v4.z.number().optional(),
|
|
76476
|
-
startTime: v4.z.number().optional(),
|
|
76477
|
-
endTime: v4.z.number().optional(),
|
|
76478
|
-
status: v4.z.number().optional(),
|
|
76479
|
-
data: v4.z.unknown().optional(),
|
|
76721
|
+
stateExternalId: VertexStateExternalIdInputSchema.optional().describe('External coordinates of the state'),
|
|
76722
|
+
vertexId: v4.z.number().optional().describe('Internal vertex ID the state belongs to'),
|
|
76723
|
+
alertId: v4.z.number().optional().describe('Internal alert ID the state belongs to'),
|
|
76724
|
+
metricId: v4.z.number().optional().describe('Internal metric ID the state belongs to'),
|
|
76725
|
+
startTime: v4.z.number().optional().describe('State start time (epoch ms)'),
|
|
76726
|
+
endTime: v4.z.number().optional().describe('State end time (epoch ms)'),
|
|
76727
|
+
status: v4.z.number().optional().describe('State status code'),
|
|
76728
|
+
data: v4.z.unknown().optional().describe('Opaque state payload'),
|
|
76480
76729
|
});
|
|
76481
76730
|
const VertexStateStoreRequestSchema = v4.z.looseObject({
|
|
76482
|
-
states: v4.z.array(VertexStateInputSchema),
|
|
76731
|
+
states: v4.z.array(VertexStateInputSchema).describe('States to store'),
|
|
76483
76732
|
});
|
|
76484
76733
|
const VertexStateFetchRequestSchema = v4.z.looseObject({
|
|
76485
|
-
filter: VertexStateFilterSchema.optional(),
|
|
76486
|
-
time: v4.z.number().optional(),
|
|
76487
|
-
projection: VertexStateProjectionSchema.optional(),
|
|
76488
|
-
flushCacheBeforeQuery: v4.z.boolean().optional(),
|
|
76489
|
-
version: v4.z.string().nullable().optional(),
|
|
76490
|
-
includeAllTouchedVertexStates: v4.z
|
|
76734
|
+
filter: VertexStateFilterSchema.optional().describe('Filter selecting which states to fetch'),
|
|
76735
|
+
time: v4.z.number().optional().describe('Point in time to evaluate state at (epoch ms); default now'),
|
|
76736
|
+
projection: VertexStateProjectionSchema.optional().describe('Response detail level'),
|
|
76737
|
+
flushCacheBeforeQuery: v4.z.boolean().optional().describe('Force a cache flush before evaluating (slower, freshest)'),
|
|
76738
|
+
version: v4.z.string().nullable().optional().describe('Client-held version for delta fetches; null for a full fetch'),
|
|
76739
|
+
includeAllTouchedVertexStates: v4.z
|
|
76740
|
+
.boolean()
|
|
76741
|
+
.optional()
|
|
76742
|
+
.describe('Include states for every vertex touched, not just those matching the filter'),
|
|
76491
76743
|
});
|
|
76744
|
+
/** Down-sampling settings for range queries that would otherwise return too many points. */
|
|
76492
76745
|
const VertexStateClampSettingSchema = v4.z.looseObject({
|
|
76493
|
-
clampThreshold: v4.z.number().optional(),
|
|
76494
|
-
bucketCount: v4.z.number().optional(),
|
|
76495
|
-
bucketSize: v4.z.number().optional(),
|
|
76746
|
+
clampThreshold: v4.z.number().optional().describe('Point count above which clamping/bucketing kicks in'),
|
|
76747
|
+
bucketCount: v4.z.number().optional().describe('Number of buckets to down-sample into'),
|
|
76748
|
+
bucketSize: v4.z.number().optional().describe('Bucket width in ms (alternative to bucketCount)'),
|
|
76496
76749
|
});
|
|
76497
76750
|
const VertexStateRangeRequestSchema = v4.z.looseObject({
|
|
76498
|
-
filter: VertexStateFilterSchema.optional(),
|
|
76499
|
-
startTime: v4.z.number().optional(),
|
|
76500
|
-
endTime: v4.z.number().optional(),
|
|
76501
|
-
projection: VertexStateProjectionSchema.optional(),
|
|
76502
|
-
viewPortStart: v4.z.number().optional(),
|
|
76503
|
-
viewPortEnd: v4.z.number().optional(),
|
|
76504
|
-
clampSetting: VertexStateClampSettingSchema.optional(),
|
|
76505
|
-
flushCacheBeforeQuery: v4.z.boolean().optional(),
|
|
76751
|
+
filter: VertexStateFilterSchema.optional().describe('Filter selecting which states to fetch'),
|
|
76752
|
+
startTime: v4.z.number().optional().describe('Inclusive start of the time range (epoch ms)'),
|
|
76753
|
+
endTime: v4.z.number().optional().describe('Inclusive end of the time range (epoch ms)'),
|
|
76754
|
+
projection: VertexStateProjectionSchema.optional().describe('Response detail level'),
|
|
76755
|
+
viewPortStart: v4.z.number().optional().describe('Visible viewport start (epoch ms), for clamp bucketing'),
|
|
76756
|
+
viewPortEnd: v4.z.number().optional().describe('Visible viewport end (epoch ms), for clamp bucketing'),
|
|
76757
|
+
clampSetting: VertexStateClampSettingSchema.optional().describe('Down-sampling settings for large ranges'),
|
|
76758
|
+
flushCacheBeforeQuery: v4.z.boolean().optional().describe('Force a cache flush before evaluating'),
|
|
76506
76759
|
});
|
|
76760
|
+
/** Republish reuses the fetch request shape — same filter/projection options. */
|
|
76507
76761
|
const VertexStateRepublishRequestSchema = VertexStateFetchRequestSchema;
|
|
76508
76762
|
|
|
76509
76763
|
const VertexStateExternalIdResponseSchema = v4.z.looseObject({
|
|
76510
|
-
vertexId: v4.z.number().optional(),
|
|
76511
|
-
vertexExternalId: v4.z.string().optional(),
|
|
76512
|
-
alert: v4.z.string().optional(),
|
|
76513
|
-
alertExternalId: v4.z.string().optional(),
|
|
76514
|
-
metric: v4.z.string().optional(),
|
|
76515
|
-
metricExternalId: v4.z.string().optional(),
|
|
76764
|
+
vertexId: v4.z.number().optional().describe('Internal vertex ID'),
|
|
76765
|
+
vertexExternalId: v4.z.string().optional().describe('External vertex ID'),
|
|
76766
|
+
alert: v4.z.string().optional().describe('Alert identifier'),
|
|
76767
|
+
alertExternalId: v4.z.string().optional().describe('External alert identifier'),
|
|
76768
|
+
metric: v4.z.string().optional().describe('Metric identifier'),
|
|
76769
|
+
metricExternalId: v4.z.string().optional().describe('External metric identifier'),
|
|
76516
76770
|
});
|
|
76517
76771
|
const VertexStateResponseItemSchema = v4.z.looseObject({
|
|
76518
|
-
vertexId: v4.z.number().optional(),
|
|
76519
|
-
alertId: v4.z.number().optional(),
|
|
76520
|
-
metricId: v4.z.number().optional(),
|
|
76521
|
-
stateExternalId: VertexStateExternalIdResponseSchema.optional(),
|
|
76522
|
-
status: v4.z.number().optional(),
|
|
76523
|
-
data: v4.z.unknown().optional(),
|
|
76524
|
-
startTime: v4.z.number().optional(),
|
|
76525
|
-
endTime: v4.z.number().optional(),
|
|
76772
|
+
vertexId: v4.z.number().optional().describe('Internal vertex ID the state belongs to'),
|
|
76773
|
+
alertId: v4.z.number().optional().describe('Internal alert ID the state belongs to'),
|
|
76774
|
+
metricId: v4.z.number().optional().describe('Internal metric ID the state belongs to'),
|
|
76775
|
+
stateExternalId: VertexStateExternalIdResponseSchema.optional().describe('External coordinates of the state'),
|
|
76776
|
+
status: v4.z.number().optional().describe('State status code'),
|
|
76777
|
+
data: v4.z.unknown().optional().describe('Opaque state payload'),
|
|
76778
|
+
startTime: v4.z.number().optional().describe('State start time (epoch ms)'),
|
|
76779
|
+
endTime: v4.z.number().optional().describe('State end time (epoch ms)'),
|
|
76526
76780
|
});
|
|
76781
|
+
/** Per-group alert rollup produced by a COLLECT_GROUPS filter. */
|
|
76527
76782
|
const VertexStateGroupResultSchema = v4.z.looseObject({
|
|
76528
|
-
groupName: v4.z.string().optional(),
|
|
76529
|
-
alerts: v4.z.number().optional(),
|
|
76530
|
-
cautionAlerts: v4.z.number().optional(),
|
|
76531
|
-
dangerAlert: v4.z.number().optional(),
|
|
76783
|
+
groupName: v4.z.string().optional().describe('Name of the vertex group'),
|
|
76784
|
+
alerts: v4.z.number().optional().describe('Total alerting states in the group'),
|
|
76785
|
+
cautionAlerts: v4.z.number().optional().describe('States at caution severity'),
|
|
76786
|
+
dangerAlert: v4.z.number().optional().describe('States at danger severity'),
|
|
76532
76787
|
});
|
|
76533
76788
|
const VertexStateAnalyticResultSchema = v4.z.looseObject({
|
|
76534
|
-
t: v4.z.string().optional(),
|
|
76535
|
-
groups: v4.z.array(VertexStateGroupResultSchema).optional(),
|
|
76789
|
+
t: v4.z.string().optional().describe('Analytic type/tag identifier'),
|
|
76790
|
+
groups: v4.z.array(VertexStateGroupResultSchema).optional().describe('Per-group status rollups'),
|
|
76536
76791
|
});
|
|
76537
76792
|
const VertexStateStoreResponseSchema = v4.z.looseObject({
|
|
76538
|
-
updated: v4.z.number().optional(),
|
|
76539
|
-
errors: v4.z.number().optional(),
|
|
76540
|
-
mappingErrors: v4.z.number().optional(),
|
|
76793
|
+
updated: v4.z.number().optional().describe('Number of states successfully stored/updated'),
|
|
76794
|
+
errors: v4.z.number().optional().describe('Number of states that failed to store'),
|
|
76795
|
+
mappingErrors: v4.z.number().optional().describe('Number of states whose external IDs could not be resolved'),
|
|
76541
76796
|
});
|
|
76542
76797
|
const VertexStateFetchResponseSchema = v4.z.looseObject({
|
|
76543
|
-
states: v4.z.array(VertexStateResponseItemSchema).optional(),
|
|
76544
|
-
analyticResult: v4.z.array(VertexStateAnalyticResultSchema).optional(),
|
|
76545
|
-
version: v4.z.string().optional(),
|
|
76798
|
+
states: v4.z.array(VertexStateResponseItemSchema).optional().describe('Matched states'),
|
|
76799
|
+
analyticResult: v4.z.array(VertexStateAnalyticResultSchema).optional().describe('Group/status analytics, if requested'),
|
|
76800
|
+
version: v4.z.string().optional().describe('Server version token to pass back for the next delta fetch'),
|
|
76546
76801
|
});
|
|
76547
76802
|
const VertexStateRangeResponseSchema = v4.z.looseObject({
|
|
76548
|
-
states: v4.z.array(VertexStateResponseItemSchema).optional(),
|
|
76549
|
-
analyticResult: v4.z.array(VertexStateAnalyticResultSchema).optional(),
|
|
76803
|
+
states: v4.z.array(VertexStateResponseItemSchema).optional().describe('Matched states across the time range'),
|
|
76804
|
+
analyticResult: v4.z.array(VertexStateAnalyticResultSchema).optional().describe('Group/status analytics, if requested'),
|
|
76550
76805
|
});
|
|
76551
76806
|
|
|
76552
76807
|
/**
|
|
@@ -76850,33 +77105,51 @@ class DataStoreTASService {
|
|
|
76850
77105
|
}
|
|
76851
77106
|
}
|
|
76852
77107
|
|
|
77108
|
+
/** Free-form string→string metadata attached to a token (values may be null). */
|
|
76853
77109
|
const TokenMetadataSchema = v4.z
|
|
76854
77110
|
.record(v4.z.string(), v4.z.union([v4.z.string(), v4.z.null()]))
|
|
76855
|
-
.optional()
|
|
77111
|
+
.optional()
|
|
77112
|
+
.describe('Arbitrary string metadata stored with the token (values may be null)');
|
|
77113
|
+
/** Session validation takes no body — the session cookie/header carries identity. */
|
|
76856
77114
|
const SessionValidateRequestSchema = v4.z.looseObject({});
|
|
77115
|
+
/** Token verification takes no body — the token is supplied via header. */
|
|
76857
77116
|
const TokenVerifyRequestSchema = v4.z.looseObject({});
|
|
76858
77117
|
const TokenGetAndVerifyRequestSchema = v4.z.looseObject({
|
|
76859
|
-
tokenId: v4.z.string(),
|
|
77118
|
+
tokenId: v4.z.string().describe('ID of the token to fetch and verify'),
|
|
76860
77119
|
});
|
|
77120
|
+
/**
|
|
77121
|
+
* Paged token listing. `query` (free-text) and `filter` (structured) are
|
|
77122
|
+
* mutually exclusive — supplying both is rejected by the refinement.
|
|
77123
|
+
*/
|
|
76861
77124
|
const TokenQueryRequestSchema = v4.z
|
|
76862
77125
|
.looseObject({
|
|
76863
|
-
pageSize: v4.z.number().optional(),
|
|
76864
|
-
seekTokenId: v4.z.string().optional(),
|
|
76865
|
-
query: v4.z.string().optional(),
|
|
76866
|
-
filter: v4.z.unknown().optional(),
|
|
77126
|
+
pageSize: v4.z.number().optional().describe('Maximum number of tokens per page'),
|
|
77127
|
+
seekTokenId: v4.z.string().optional().describe('Cursor — return tokens after this token ID'),
|
|
77128
|
+
query: v4.z.string().optional().describe('Free-text search (mutually exclusive with `filter`)'),
|
|
77129
|
+
filter: v4.z.unknown().optional().describe('Structured filter (mutually exclusive with `query`)'),
|
|
76867
77130
|
})
|
|
76868
77131
|
.refine((value) => !(value.query !== undefined && value.filter !== undefined), {
|
|
76869
77132
|
message: '`query` and `filter` are mutually exclusive on /tenants/token/query',
|
|
76870
77133
|
});
|
|
76871
|
-
const ttlField = v4.z
|
|
77134
|
+
const ttlField = v4.z
|
|
77135
|
+
.number()
|
|
77136
|
+
.optional()
|
|
77137
|
+
.describe('Token lifetime in seconds; omit for the server default');
|
|
76872
77138
|
const CreateUserTokenRequestSchema = v4.z.looseObject({
|
|
76873
77139
|
ttl: ttlField,
|
|
76874
|
-
dynamicExpire: v4.z
|
|
77140
|
+
dynamicExpire: v4.z
|
|
77141
|
+
.boolean()
|
|
77142
|
+
.optional()
|
|
77143
|
+
.describe('When true, sliding expiry — each use extends the token lifetime'),
|
|
76875
77144
|
metadata: TokenMetadataSchema,
|
|
76876
77145
|
});
|
|
76877
77146
|
const UpdateUserTokenRequestSchema = v4.z.looseObject({
|
|
76878
|
-
tokenId: v4.z.string(),
|
|
76879
|
-
dynamicExpireTime: v4.z
|
|
77147
|
+
tokenId: v4.z.string().describe('ID of the token to update'),
|
|
77148
|
+
dynamicExpireTime: v4.z
|
|
77149
|
+
.number()
|
|
77150
|
+
.nullable()
|
|
77151
|
+
.optional()
|
|
77152
|
+
.describe('New sliding-expiry window in seconds; null clears it'),
|
|
76880
77153
|
metadata: TokenMetadataSchema,
|
|
76881
77154
|
});
|
|
76882
77155
|
const CreateAgentTokenRequestSchema = v4.z.looseObject({
|
|
@@ -76884,73 +77157,82 @@ const CreateAgentTokenRequestSchema = v4.z.looseObject({
|
|
|
76884
77157
|
metadata: TokenMetadataSchema,
|
|
76885
77158
|
});
|
|
76886
77159
|
const UpdateAgentTokenRequestSchema = v4.z.looseObject({
|
|
76887
|
-
tokenId: v4.z.string(),
|
|
77160
|
+
tokenId: v4.z.string().describe('ID of the agent token to update'),
|
|
76888
77161
|
metadata: TokenMetadataSchema,
|
|
76889
77162
|
});
|
|
76890
77163
|
const CreateTenantTokenRequestSchema = v4.z.looseObject({
|
|
76891
|
-
tenantId: v4.z.number().optional(),
|
|
77164
|
+
tenantId: v4.z.number().optional().describe('Numeric tenant ID the token is scoped to'),
|
|
76892
77165
|
ttl: ttlField,
|
|
76893
77166
|
metadata: TokenMetadataSchema,
|
|
76894
77167
|
});
|
|
76895
77168
|
const UpdateTenantTokenRequestSchema = v4.z.looseObject({
|
|
76896
|
-
tokenId: v4.z.string(),
|
|
76897
|
-
dynamicExpireTime: v4.z
|
|
77169
|
+
tokenId: v4.z.string().describe('ID of the tenant token to update'),
|
|
77170
|
+
dynamicExpireTime: v4.z
|
|
77171
|
+
.number()
|
|
77172
|
+
.nullable()
|
|
77173
|
+
.optional()
|
|
77174
|
+
.describe('New sliding-expiry window in seconds; null clears it'),
|
|
76898
77175
|
metadata: TokenMetadataSchema,
|
|
76899
77176
|
});
|
|
76900
77177
|
const CreateInternalTokenRequestSchema = v4.z.looseObject({
|
|
76901
|
-
product: v4.z.string(),
|
|
77178
|
+
product: v4.z.string().describe('Product the internal token is issued for'),
|
|
76902
77179
|
ttl: ttlField,
|
|
76903
77180
|
metadata: TokenMetadataSchema,
|
|
76904
77181
|
});
|
|
76905
77182
|
const RevokeTokenRequestSchema = v4.z.looseObject({
|
|
76906
|
-
revokeToken: v4.z.string(),
|
|
76907
|
-
delete: v4.z.boolean().optional(),
|
|
77183
|
+
revokeToken: v4.z.string().describe('The token (or token ID) to revoke'),
|
|
77184
|
+
delete: v4.z.boolean().optional().describe('When true, also delete the token rather than only revoking it'),
|
|
76908
77185
|
});
|
|
76909
77186
|
const CancelRevokeRequestSchema = v4.z.looseObject({
|
|
76910
|
-
revokeToken: v4.z.string(),
|
|
77187
|
+
revokeToken: v4.z.string().describe('The token (or token ID) whose pending revocation to cancel'),
|
|
76911
77188
|
});
|
|
76912
77189
|
const DeleteTokenRequestSchema = v4.z.looseObject({
|
|
76913
|
-
tokenId: v4.z.string(),
|
|
77190
|
+
tokenId: v4.z.string().describe('ID of the token to delete'),
|
|
76914
77191
|
});
|
|
76915
77192
|
const ImportTokenRequestSchema = v4.z.looseObject({
|
|
76916
|
-
token: v4.z.string(),
|
|
77193
|
+
token: v4.z.string().describe('Raw token string to import into the store'),
|
|
76917
77194
|
});
|
|
76918
77195
|
|
|
76919
77196
|
const SessionValidateResponseSchema = v4.z.looseObject({
|
|
76920
|
-
tenantId: v4.z.number().optional(),
|
|
76921
|
-
userId: v4.z.string().optional(),
|
|
76922
|
-
externalTenantId: v4.z.string().optional(),
|
|
76923
|
-
cohort: v4.z.string().optional(),
|
|
76924
|
-
role: v4.z.string().optional(),
|
|
76925
|
-
authToken: v4.z.string().optional(),
|
|
76926
|
-
groups: v4.z.array(v4.z.string()).nullable().optional(),
|
|
77197
|
+
tenantId: v4.z.number().optional().describe('Numeric tenant ID resolved from the session'),
|
|
77198
|
+
userId: v4.z.string().optional().describe('User ID resolved from the session'),
|
|
77199
|
+
externalTenantId: v4.z.string().optional().describe('External (customer-facing) tenant identifier'),
|
|
77200
|
+
cohort: v4.z.string().optional().describe('Cohort the tenant belongs to'),
|
|
77201
|
+
role: v4.z.string().optional().describe("User's role within the tenant"),
|
|
77202
|
+
authToken: v4.z.string().optional().describe('Auth token minted for the validated session'),
|
|
77203
|
+
groups: v4.z.array(v4.z.string()).nullable().optional().describe('Groups the user belongs to'),
|
|
76927
77204
|
});
|
|
76928
77205
|
const TokenDetailsSchema = v4.z.looseObject({
|
|
76929
|
-
id: v4.z.string().optional(),
|
|
76930
|
-
prefix: v4.z.string().optional(),
|
|
76931
|
-
revoked: v4.z.boolean().optional(),
|
|
76932
|
-
internal: v4.z.boolean().optional(),
|
|
76933
|
-
agent: v4.z.boolean().optional(),
|
|
76934
|
-
createdAt: v4.z.number().optional(),
|
|
76935
|
-
expireAt: v4.z.number().optional(),
|
|
76936
|
-
tenantId: v4.z.number().optional(),
|
|
76937
|
-
user: v4.z.string().nullable().optional(),
|
|
76938
|
-
dynamicExpire: v4.z.boolean().optional(),
|
|
76939
|
-
metadata: v4.z
|
|
77206
|
+
id: v4.z.string().optional().describe('Token ID'),
|
|
77207
|
+
prefix: v4.z.string().optional().describe('Non-secret token prefix (safe to display)'),
|
|
77208
|
+
revoked: v4.z.boolean().optional().describe('Whether the token has been revoked'),
|
|
77209
|
+
internal: v4.z.boolean().optional().describe('Whether this is an internal (product) token'),
|
|
77210
|
+
agent: v4.z.boolean().optional().describe('Whether this is an agent token'),
|
|
77211
|
+
createdAt: v4.z.number().optional().describe('Creation time (epoch ms)'),
|
|
77212
|
+
expireAt: v4.z.number().optional().describe('Expiry time (epoch ms)'),
|
|
77213
|
+
tenantId: v4.z.number().optional().describe('Numeric tenant ID the token is scoped to'),
|
|
77214
|
+
user: v4.z.string().nullable().optional().describe('User the token belongs to, if any'),
|
|
77215
|
+
dynamicExpire: v4.z.boolean().optional().describe('Whether the token uses sliding expiry'),
|
|
77216
|
+
metadata: v4.z
|
|
77217
|
+
.record(v4.z.string(), v4.z.unknown())
|
|
77218
|
+
.nullable()
|
|
77219
|
+
.optional()
|
|
77220
|
+
.describe('Arbitrary metadata stored with the token'),
|
|
76940
77221
|
});
|
|
76941
77222
|
const TokenQueryResponseSchema = v4.z.looseObject({
|
|
76942
|
-
items: v4.z.array(TokenDetailsSchema).optional(),
|
|
76943
|
-
nextPage: v4.z.boolean().optional(),
|
|
77223
|
+
items: v4.z.array(TokenDetailsSchema).optional().describe('Tokens on this page'),
|
|
77224
|
+
nextPage: v4.z.boolean().optional().describe('Whether more pages remain (seek with the last token ID)'),
|
|
76944
77225
|
});
|
|
76945
77226
|
const TokenCreateResponseSchema = v4.z.looseObject({
|
|
76946
|
-
token: v4.z.string().optional(),
|
|
77227
|
+
token: v4.z.string().optional().describe('The newly minted token string'),
|
|
76947
77228
|
});
|
|
77229
|
+
/** Public-key response — an opaque JWK-style object; fields vary by key type. */
|
|
76948
77230
|
const PublicKeyJsonResponseSchema = v4.z.looseObject({});
|
|
76949
77231
|
const RevokeTokensResponseSchema = v4.z.looseObject({
|
|
76950
|
-
revokedTokens: v4.z.array(v4.z.string()).optional(),
|
|
77232
|
+
revokedTokens: v4.z.array(v4.z.string()).optional().describe('IDs of the tokens that were revoked'),
|
|
76951
77233
|
});
|
|
76952
77234
|
const DeleteTokensResponseSchema = v4.z.looseObject({
|
|
76953
|
-
deletedTokens: v4.z.array(v4.z.string()).optional(),
|
|
77235
|
+
deletedTokens: v4.z.array(v4.z.string()).optional().describe('IDs of the tokens that were deleted'),
|
|
76954
77236
|
});
|
|
76955
77237
|
|
|
76956
77238
|
/**
|
|
@@ -77210,10 +77492,22 @@ class DataStoreNASSService {
|
|
|
77210
77492
|
* @param values - Array of {@link NassDatapoint} tuples. Each tuple must
|
|
77211
77493
|
* begin with a registered metric ID obtained from
|
|
77212
77494
|
* {@link DataStoreMetricsMetadataService.registerMetric}.
|
|
77495
|
+
*
|
|
77496
|
+
* @remarks The request is validated against {@link NassStoreRequestSchema}.
|
|
77497
|
+
* If the response fails schema validation, a warning is logged but the raw
|
|
77498
|
+
* API response is still returned.
|
|
77499
|
+
*
|
|
77500
|
+
* @throws ZodError if any datapoint fails schema validation.
|
|
77213
77501
|
*/
|
|
77214
77502
|
async storeMetricValues(values) {
|
|
77215
77503
|
const body = { values };
|
|
77216
|
-
|
|
77504
|
+
NassStoreRequestSchema.parse(body);
|
|
77505
|
+
const raw = await this.dxSaasService.tenantPost('nass/metricValue/store', body);
|
|
77506
|
+
const result = NassStoreResponseSchema.safeParse(raw);
|
|
77507
|
+
if (!result.success) {
|
|
77508
|
+
this.log.warn('NassStoreResponse validation warning:', result.error.message);
|
|
77509
|
+
}
|
|
77510
|
+
return raw;
|
|
77217
77511
|
}
|
|
77218
77512
|
}
|
|
77219
77513
|
|
|
@@ -77310,7 +77604,39 @@ exports.AttributeService = AttributeService;
|
|
|
77310
77604
|
exports.AttributeValueAsFieldSchema = AttributeValueAsFieldSchema;
|
|
77311
77605
|
exports.AuthorizationService = AuthorizationService;
|
|
77312
77606
|
exports.AxaService = AxaService;
|
|
77607
|
+
exports.BlobAllFilterSchema = BlobAllFilterSchema;
|
|
77608
|
+
exports.BlobAsyncCommandSchema = BlobAsyncCommandSchema;
|
|
77609
|
+
exports.BlobAsyncDeleteSchemaCommandSchema = BlobAsyncDeleteSchemaCommandSchema;
|
|
77610
|
+
exports.BlobAsyncResultEntrySchema = BlobAsyncResultEntrySchema;
|
|
77611
|
+
exports.BlobAsyncResultRequestSchema = BlobAsyncResultRequestSchema;
|
|
77612
|
+
exports.BlobAsyncResultResponseSchema = BlobAsyncResultResponseSchema;
|
|
77613
|
+
exports.BlobAsyncResultStateSchema = BlobAsyncResultStateSchema;
|
|
77614
|
+
exports.BlobAttributeExpressionSchema = BlobAttributeExpressionSchema;
|
|
77615
|
+
exports.BlobAttributeFilterSchema = BlobAttributeFilterSchema;
|
|
77616
|
+
exports.BlobAttributesSchema = BlobAttributesSchema;
|
|
77617
|
+
exports.BlobBulkDeleteEntrySchema = BlobBulkDeleteEntrySchema;
|
|
77618
|
+
exports.BlobBulkDeleteRequestSchema = BlobBulkDeleteRequestSchema;
|
|
77619
|
+
exports.BlobBulkDeleteResponseSchema = BlobBulkDeleteResponseSchema;
|
|
77620
|
+
exports.BlobBulkItemSchema = BlobBulkItemSchema;
|
|
77621
|
+
exports.BlobBulkStoreRequestSchema = BlobBulkStoreRequestSchema;
|
|
77622
|
+
exports.BlobBulkStoreResponseSchema = BlobBulkStoreResponseSchema;
|
|
77623
|
+
exports.BlobDeleteParamsSchema = BlobDeleteParamsSchema;
|
|
77624
|
+
exports.BlobDeleteResponseSchema = BlobDeleteResponseSchema;
|
|
77625
|
+
exports.BlobDeleteSchemaResultSchema = BlobDeleteSchemaResultSchema;
|
|
77626
|
+
exports.BlobExecuteAsyncRequestSchema = BlobExecuteAsyncRequestSchema;
|
|
77627
|
+
exports.BlobExecuteAsyncResponseSchema = BlobExecuteAsyncResponseSchema;
|
|
77628
|
+
exports.BlobFetchParamsSchema = BlobFetchParamsSchema;
|
|
77629
|
+
exports.BlobFileEnvelopeSchema = BlobFileEnvelopeSchema;
|
|
77630
|
+
exports.BlobFilterSchema = BlobFilterSchema;
|
|
77631
|
+
exports.BlobMetadataSchema = BlobMetadataSchema;
|
|
77632
|
+
exports.BlobQueryRequestSchema = BlobQueryRequestSchema;
|
|
77633
|
+
exports.BlobQueryResponseSchema = BlobQueryResponseSchema;
|
|
77634
|
+
exports.BlobSchemaItemSchema = BlobSchemaItemSchema;
|
|
77635
|
+
exports.BlobSchemaListRequestSchema = BlobSchemaListRequestSchema;
|
|
77636
|
+
exports.BlobSchemaListResponseSchema = BlobSchemaListResponseSchema;
|
|
77313
77637
|
exports.BlobService = BlobService;
|
|
77638
|
+
exports.BlobStoreParamsSchema = BlobStoreParamsSchema;
|
|
77639
|
+
exports.BlobStoreResponseSchema = BlobStoreResponseSchema;
|
|
77314
77640
|
exports.CalendarIntervalSchema = CalendarIntervalSchema;
|
|
77315
77641
|
exports.ChannelService = ChannelService;
|
|
77316
77642
|
exports.DEFAULT_EXPERIENCE_REQUEST_BODY = DEFAULT_EXPERIENCE_REQUEST_BODY;
|
|
@@ -77362,6 +77688,11 @@ exports.MetricRegisterSchema = MetricRegisterSchema;
|
|
|
77362
77688
|
exports.MetricRegisterSourceSchema = MetricRegisterSourceSchema;
|
|
77363
77689
|
exports.MetricTypeEnumNameSchema = MetricTypeEnumNameSchema;
|
|
77364
77690
|
exports.NASSService = NASSService;
|
|
77691
|
+
exports.NassDatapointSchema = NassDatapointSchema;
|
|
77692
|
+
exports.NassExtensionDatapointSchema = NassExtensionDatapointSchema;
|
|
77693
|
+
exports.NassRegularDatapointSchema = NassRegularDatapointSchema;
|
|
77694
|
+
exports.NassStoreRequestSchema = NassStoreRequestSchema;
|
|
77695
|
+
exports.NassStoreResponseSchema = NassStoreResponseSchema;
|
|
77365
77696
|
exports.NassValueTypeSchema = NassValueTypeSchema;
|
|
77366
77697
|
exports.NotificationService = NotificationService;
|
|
77367
77698
|
exports.NumericOperatorSchema = NumericOperatorSchema;
|