@camstack/addon-pipeline-orchestrator 1.2.606 → 1.2.607
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/_stub.js +2 -2
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CmY8kgnC.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-BxIP0BIU.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cw7ObB4M.mjs +26 -0
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BlevZgae.mjs +26 -0
- package/dist/{hostInit-DJV_1zft.mjs → hostInit-Dpw6RbpS.mjs} +3 -3
- package/dist/index.js +256 -24
- package/dist/index.mjs +256 -24
- package/dist/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js--kYTomtS.mjs +0 -26
- package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bub1Ltwe.mjs +0 -26
package/dist/index.js
CHANGED
|
@@ -5578,7 +5578,7 @@ var ZodIssueCode = {
|
|
|
5578
5578
|
var ZodFirstPartyTypeKind;
|
|
5579
5579
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5580
5580
|
//#endregion
|
|
5581
|
-
//#region ../types/dist/sleep-
|
|
5581
|
+
//#region ../types/dist/sleep-BSuCCFjf.mjs
|
|
5582
5582
|
/**
|
|
5583
5583
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5584
5584
|
* window to float samples (D455).
|
|
@@ -18309,7 +18309,19 @@ var DeviceHistorySubjectSchema = discriminatedUnion("kind", [object({
|
|
|
18309
18309
|
kind: literal("node"),
|
|
18310
18310
|
nodeId: string().min(1)
|
|
18311
18311
|
})]);
|
|
18312
|
+
/**
|
|
18313
|
+
* `enum` stores a STATE as the ordinal of its value in the series' value list
|
|
18314
|
+
* (`DeviceHistorySeriesInfo.values`, append-only, so an ordinal never changes
|
|
18315
|
+
* meaning); a rollup keeps the time spent in each state (`states`).
|
|
18316
|
+
*/
|
|
18312
18317
|
var DeviceHistoryKindSchema = _enum([
|
|
18318
|
+
"gauge",
|
|
18319
|
+
"counter",
|
|
18320
|
+
"boolean",
|
|
18321
|
+
"enum"
|
|
18322
|
+
]);
|
|
18323
|
+
/** What a PRODUCER may declare. `enum` is cap-only: its value list is the cap field's. */
|
|
18324
|
+
var DeviceHistoryProducerKindSchema = _enum([
|
|
18313
18325
|
"gauge",
|
|
18314
18326
|
"counter",
|
|
18315
18327
|
"boolean"
|
|
@@ -18346,7 +18358,13 @@ var SeriesInfoSchema = object({
|
|
|
18346
18358
|
/** `null` is unknown (a `unitFrom` series whose device does not state a unit right now), never a guess. */
|
|
18347
18359
|
unit: string().nullable(),
|
|
18348
18360
|
displayName: string(),
|
|
18349
|
-
source: _enum([
|
|
18361
|
+
source: _enum([
|
|
18362
|
+
"cap",
|
|
18363
|
+
"addon",
|
|
18364
|
+
"derived"
|
|
18365
|
+
]),
|
|
18366
|
+
/** `enum`: the value of each ordinal (index = ordinal); `null` for every other kind. */
|
|
18367
|
+
values: array(string()).readonly().nullable(),
|
|
18350
18368
|
firstTs: number(),
|
|
18351
18369
|
lastTs: number()
|
|
18352
18370
|
});
|
|
@@ -18360,17 +18378,31 @@ var QueryPointSchema = object({
|
|
|
18360
18378
|
twMean: number().nullable(),
|
|
18361
18379
|
min: number(),
|
|
18362
18380
|
max: number(),
|
|
18363
|
-
/** `null` is unknown, never zero (D393). */
|
|
18364
|
-
last: number().nullable()
|
|
18381
|
+
/** `null` is unknown, never zero (D393). For an `enum` series: the ordinal of {@link state}. */
|
|
18382
|
+
last: number().nullable(),
|
|
18383
|
+
/**
|
|
18384
|
+
* The increase over the point: a `counter`'s growth since the previous point
|
|
18385
|
+
* or bucket (a drop is a reset, counted from zero), and for
|
|
18386
|
+
* {@link DEVICE_HISTORY_ENERGY_KEY} the kWh used in the bucket. `null` for
|
|
18387
|
+
* every other kind, and when it cannot be known.
|
|
18388
|
+
*/
|
|
18389
|
+
delta: number().nullable(),
|
|
18390
|
+
/** `enum`: the state in force at the end of the point (the name of `last`); `null` otherwise. */
|
|
18391
|
+
state: string().nullable(),
|
|
18392
|
+
/** `enum` rollup: milliseconds spent in each state inside the bucket; `null` for raw points and other kinds. */
|
|
18393
|
+
states: record(string(), number()).nullable()
|
|
18365
18394
|
});
|
|
18366
18395
|
var QuerySeriesSchema = object({
|
|
18367
18396
|
scope: string(),
|
|
18368
18397
|
/** The last point STRICTLY BEFORE `from` in the chosen tier, so a step chart can start at the held value. */
|
|
18369
18398
|
before: object({
|
|
18370
18399
|
t: number(),
|
|
18371
|
-
value: number().nullable()
|
|
18400
|
+
value: number().nullable(),
|
|
18401
|
+
state: string().nullable()
|
|
18372
18402
|
}).nullable(),
|
|
18373
|
-
points: array(QueryPointSchema).readonly()
|
|
18403
|
+
points: array(QueryPointSchema).readonly(),
|
|
18404
|
+
/** A derived key: the stored key its points were computed from; `null` for a stored series. */
|
|
18405
|
+
derivedFrom: string().nullable()
|
|
18374
18406
|
});
|
|
18375
18407
|
/** The window part of a query, shared by the device and node forms. */
|
|
18376
18408
|
var QueryWindowShape = {
|
|
@@ -18386,6 +18418,23 @@ var QueryResultSchema = object({
|
|
|
18386
18418
|
series: array(QuerySeriesSchema).readonly(),
|
|
18387
18419
|
truncated: boolean()
|
|
18388
18420
|
});
|
|
18421
|
+
/** One read of a batch: a device's key or a node's key (exactly one subject). */
|
|
18422
|
+
var QueryManyItemSchema = union([object({
|
|
18423
|
+
deviceId: number().int(),
|
|
18424
|
+
key: string(),
|
|
18425
|
+
scope: string().optional()
|
|
18426
|
+
}), object({
|
|
18427
|
+
forNodeId: string().min(1),
|
|
18428
|
+
key: string(),
|
|
18429
|
+
scope: string().optional()
|
|
18430
|
+
})]);
|
|
18431
|
+
var QueryManyEntrySchema = discriminatedUnion("ok", [object({
|
|
18432
|
+
ok: literal(true),
|
|
18433
|
+
result: QueryResultSchema
|
|
18434
|
+
}), object({
|
|
18435
|
+
ok: literal(false),
|
|
18436
|
+
error: string()
|
|
18437
|
+
})]);
|
|
18389
18438
|
var TierStatusSchema = object({
|
|
18390
18439
|
tier: DeviceHistoryResolutionSchema,
|
|
18391
18440
|
/** `null` until the first background count answered. */
|
|
@@ -18441,16 +18490,22 @@ var DeviceHistoryStatusSchema = object({
|
|
|
18441
18490
|
lastRefreshAt: number().nullable()
|
|
18442
18491
|
})
|
|
18443
18492
|
});
|
|
18444
|
-
method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly()), method(object({
|
|
18493
|
+
method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly()), method(object({ forNodeId: string().min(1) }), array(SeriesInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
18445
18494
|
deviceId: number().int(),
|
|
18446
18495
|
...QueryWindowShape
|
|
18447
18496
|
}), QueryResultSchema), method(object({
|
|
18448
|
-
|
|
18497
|
+
forNodeId: string().min(1),
|
|
18449
18498
|
...QueryWindowShape
|
|
18450
18499
|
}), QueryResultSchema, { auth: "admin" }), method(object({
|
|
18500
|
+
items: array(QueryManyItemSchema).min(1).max(24),
|
|
18501
|
+
from: QueryWindowShape.from,
|
|
18502
|
+
to: QueryWindowShape.to,
|
|
18503
|
+
resolution: QueryWindowShape.resolution,
|
|
18504
|
+
maxPoints: QueryWindowShape.maxPoints
|
|
18505
|
+
}), object({ results: array(QueryManyEntrySchema).readonly() }), { auth: "admin" }), method(object({
|
|
18451
18506
|
name: string().regex(/^[a-z0-9-]+$/),
|
|
18452
18507
|
subjectKind: _enum(["device", "node"]),
|
|
18453
|
-
kind:
|
|
18508
|
+
kind: DeviceHistoryProducerKindSchema,
|
|
18454
18509
|
unit: string().optional(),
|
|
18455
18510
|
displayName: string().min(1),
|
|
18456
18511
|
ingest: _enum(["points", "buckets"])
|
|
@@ -41467,14 +41522,106 @@ var LogEntrySchema = object({
|
|
|
41467
41522
|
meta: record(string(), unknown()).optional(),
|
|
41468
41523
|
tags: record(string(), string()).optional()
|
|
41469
41524
|
});
|
|
41470
|
-
|
|
41471
|
-
|
|
41525
|
+
/**
|
|
41526
|
+
* A history READ against one destination (D898).
|
|
41527
|
+
*
|
|
41528
|
+
* Every filter is applied by the PROVIDER, before the limit — a filter the
|
|
41529
|
+
* browser applied after the limit is what made a rare device's lines
|
|
41530
|
+
* unreachable behind a busy one's. `before` / `after` are cursors the provider
|
|
41531
|
+
* minted (opaque to everyone else): a file position for the rotated files, a
|
|
41532
|
+
* nanosecond timestamp for Loki.
|
|
41533
|
+
*
|
|
41534
|
+
* A read is BOUNDED by `budgetMs`: a filter that matches nothing on a 30-day
|
|
41535
|
+
* store answers `done: false` with the cursor it reached and the bytes it
|
|
41536
|
+
* scanned, and the caller decides whether to go on. That is what makes a long
|
|
41537
|
+
* scan show progress and stop when asked — `cancelRead` ends the slice in
|
|
41538
|
+
* flight, and not asking for the next slice ends the scan.
|
|
41539
|
+
*/
|
|
41540
|
+
var LogReadQuerySchema = object({
|
|
41541
|
+
/** Correlates `cancelRead`. Caller-chosen, unique per in-flight read. */
|
|
41542
|
+
requestId: string().min(1).max(64).optional(),
|
|
41543
|
+
/** The device the line is about (`tags.deviceId`, numeric). */
|
|
41544
|
+
deviceId: number().int().optional(),
|
|
41545
|
+
/**
|
|
41546
|
+
* The emitting addon — bare manifest id; `@<version>` / `::<sub>` suffixes
|
|
41547
|
+
* match. Not `addonId`: a cap router reads that name as "which provider".
|
|
41548
|
+
*/
|
|
41549
|
+
fromAddonId: string().min(1).max(200).optional(),
|
|
41550
|
+
/**
|
|
41551
|
+
* The emitting node: matches the agent that emitted the line, the node
|
|
41552
|
+
* itself, or a worker under it (`<agent>/<runner>`) — the `agentId`
|
|
41553
|
+
* semantics of `matchesLogTags`. Not `nodeId`: a cap router reads that
|
|
41554
|
+
* name as "which node's provider".
|
|
41555
|
+
*/
|
|
41556
|
+
fromNodeId: string().min(1).max(200).optional(),
|
|
41557
|
+
/** Any other tag, exact match (AND). */
|
|
41558
|
+
tags: record(string(), union([string(), number()])).optional(),
|
|
41559
|
+
/** Severity FLOOR: this level and above. */
|
|
41472
41560
|
level: LogLevelSchema.optional(),
|
|
41473
|
-
|
|
41474
|
-
|
|
41475
|
-
|
|
41476
|
-
|
|
41477
|
-
|
|
41561
|
+
/** Case-insensitive substring over message, scope, tag values and meta values. */
|
|
41562
|
+
text: string().min(1).max(200).optional(),
|
|
41563
|
+
/** Epoch ms, inclusive. */
|
|
41564
|
+
since: number().optional(),
|
|
41565
|
+
/** Epoch ms, inclusive. */
|
|
41566
|
+
until: number().optional(),
|
|
41567
|
+
/** Older than this cursor (exclusive). Absent with `after` absent ⇒ from the newest. */
|
|
41568
|
+
before: string().min(1).max(1024).optional(),
|
|
41569
|
+
/** Newer than this cursor (exclusive). */
|
|
41570
|
+
after: string().min(1).max(1024).optional(),
|
|
41571
|
+
limit: number().int().min(1).max(1e3).optional(),
|
|
41572
|
+
/** Wall-clock bound of this slice. The provider caps it. */
|
|
41573
|
+
budgetMs: number().int().min(50).max(1e4).optional()
|
|
41574
|
+
});
|
|
41575
|
+
var LogReadResultSchema = object({
|
|
41576
|
+
/** Newest first. */
|
|
41577
|
+
entries: array(object({
|
|
41578
|
+
/** `<bootId>.<seq>` minted by the emitting LogManager — the dedupe key. */
|
|
41579
|
+
id: string().optional(),
|
|
41580
|
+
/** Epoch ms. */
|
|
41581
|
+
timestamp: number(),
|
|
41582
|
+
level: LogLevelSchema,
|
|
41583
|
+
scope: string().optional(),
|
|
41584
|
+
message: string(),
|
|
41585
|
+
tags: record(string(), union([string(), number()])).optional(),
|
|
41586
|
+
meta: record(string(), unknown()).optional()
|
|
41587
|
+
})),
|
|
41588
|
+
/** Pass as `before` for the next older page; null when nothing older exists. */
|
|
41589
|
+
nextBefore: string().nullable(),
|
|
41590
|
+
/** Pass as `after` to read what arrived since; null when unknown. */
|
|
41591
|
+
nextAfter: string().nullable(),
|
|
41592
|
+
/** Bytes this slice read (files) or received (remote). Progress, not a promise. */
|
|
41593
|
+
scannedBytes: number().int().nonnegative(),
|
|
41594
|
+
/**
|
|
41595
|
+
* True when the scan in this direction reached the end of the store.
|
|
41596
|
+
* False with fewer than `limit` entries means the budget ran out first —
|
|
41597
|
+
* call again with `nextBefore` to go on.
|
|
41598
|
+
*/
|
|
41599
|
+
done: boolean(),
|
|
41600
|
+
/** True when `cancelRead` ended this slice early. */
|
|
41601
|
+
cancelled: boolean().optional()
|
|
41602
|
+
});
|
|
41603
|
+
var LogReadCapabilitiesSchema = object({
|
|
41604
|
+
/** False ⇒ this destination only ships lines (console, forwarder, an unconfigured Loki). */
|
|
41605
|
+
readable: boolean(),
|
|
41606
|
+
/** Why not, when `readable` is false — rendered next to the source. */
|
|
41607
|
+
reason: string().nullable(),
|
|
41608
|
+
/** Filters the provider applies itself. A false one is applied by nobody. */
|
|
41609
|
+
filters: object({
|
|
41610
|
+
deviceId: boolean(),
|
|
41611
|
+
addonId: boolean(),
|
|
41612
|
+
nodeId: boolean(),
|
|
41613
|
+
tags: boolean(),
|
|
41614
|
+
level: boolean(),
|
|
41615
|
+
text: boolean(),
|
|
41616
|
+
timeRange: boolean()
|
|
41617
|
+
}),
|
|
41618
|
+
/** How far back the store reaches, when the provider knows (days). */
|
|
41619
|
+
retentionDays: number().nullable()
|
|
41620
|
+
});
|
|
41621
|
+
method(LogEntrySchema, _void(), { kind: "mutation" }), optionalMethod(_void(), LogReadCapabilitiesSchema, { auth: "admin" }), optionalMethod(LogReadQuerySchema, LogReadResultSchema, { auth: "admin" }), optionalMethod(object({ requestId: string().min(1).max(64) }), object({ cancelled: boolean() }), {
|
|
41622
|
+
kind: "mutation",
|
|
41623
|
+
auth: "admin"
|
|
41624
|
+
});
|
|
41478
41625
|
/**
|
|
41479
41626
|
* `login-method` — collection cap through which auth addons contribute
|
|
41480
41627
|
* their pre-auth login surfaces to the login page. This is the SINGLE,
|
|
@@ -44030,6 +44177,33 @@ var NcRuleTargetSchema = object({
|
|
|
44030
44177
|
params: record(string(), unknown()).optional()
|
|
44031
44178
|
});
|
|
44032
44179
|
/**
|
|
44180
|
+
* WHAT THE NOTIFICATION'S PICTURE IS (D897) — the ONE media choice of a rule.
|
|
44181
|
+
*
|
|
44182
|
+
* Every mode starts from the same CLEAN source frame of the trigger moment
|
|
44183
|
+
* (keyFrame → sceneFrame → lastSceneFrame, narrowed to the trigger instant and
|
|
44184
|
+
* to the zone that fired the rule) and renders it once at send time:
|
|
44185
|
+
* - `scene-boxes` — the whole scene, the subject outlined thick in the accent
|
|
44186
|
+
* colour and every OTHER track visible at that instant outlined thin, each
|
|
44187
|
+
* labelled with class and confidence ("dog 87%").
|
|
44188
|
+
* - `crop` — the subject cut out of that frame around its box at that instant.
|
|
44189
|
+
* - `clean` — the whole scene with nothing drawn on it.
|
|
44190
|
+
* - `none` — no picture.
|
|
44191
|
+
*
|
|
44192
|
+
* A mode that cannot be honoured (no box at that instant, a photograph with no
|
|
44193
|
+
* tracked subject) ships `clean` and names the reason in the log, per camera.
|
|
44194
|
+
* It replaces the `attach` × `frame` × `zoneCrop` triple, which let one rule
|
|
44195
|
+
* ship a crop on one event and a boxed scene on the next depending on which
|
|
44196
|
+
* stored kind had landed.
|
|
44197
|
+
*/
|
|
44198
|
+
var NcMediaImageSchema = _enum([
|
|
44199
|
+
"scene-boxes",
|
|
44200
|
+
"crop",
|
|
44201
|
+
"clean",
|
|
44202
|
+
"none"
|
|
44203
|
+
]);
|
|
44204
|
+
/**
|
|
44205
|
+
* @deprecated Read only by `normalizeNcMediaPolicy` (D897) — see {@link NcMediaImageSchema}.
|
|
44206
|
+
*
|
|
44033
44207
|
* Media attachment policy (P1 still-image subset).
|
|
44034
44208
|
* - `best` — the best AVAILABLE subject image at dispatch time (D-3).
|
|
44035
44209
|
* - `best-matching` — the media that explains WHY the rule fired: a rule
|
|
@@ -44043,6 +44217,8 @@ var NcRuleTargetSchema = object({
|
|
|
44043
44217
|
* - `none` — no attachment.
|
|
44044
44218
|
*/
|
|
44045
44219
|
/**
|
|
44220
|
+
* @deprecated Read only by `normalizeNcMediaPolicy` (D897) — see {@link NcMediaImageSchema}.
|
|
44221
|
+
*
|
|
44046
44222
|
* WHAT THE PICTURE SHOWS — chosen explicitly, because the implicit ladders
|
|
44047
44223
|
* conflate it with the selection strategy and betray the request: asking for
|
|
44048
44224
|
* the clean scene frame on an object-event owner used to start at
|
|
@@ -44071,16 +44247,29 @@ var NcMediaFrameSchema = _enum([
|
|
|
44071
44247
|
*/
|
|
44072
44248
|
var NcLinkedCameraModeSchema = _enum(["mosaic", "each"]);
|
|
44073
44249
|
var NcMediaPolicySchema = object({
|
|
44250
|
+
/**
|
|
44251
|
+
* The picture — see {@link NcMediaImageSchema}. Absent on a rule nobody has
|
|
44252
|
+
* saved since D897: `normalizeNcMediaPolicy` derives it from the legacy
|
|
44253
|
+
* triple below, at load and at every write, and the store keeps only this.
|
|
44254
|
+
*/
|
|
44255
|
+
image: NcMediaImageSchema.optional(),
|
|
44256
|
+
/**
|
|
44257
|
+
* Draw the zone that FIRED the rule on the picture (`scene-boxes` / `clean`;
|
|
44258
|
+
* a `crop` never shows it). Valid only on a rule whose trigger is a zone —
|
|
44259
|
+
* `conditions.zones` or an occupancy zone — and refused on save otherwise.
|
|
44260
|
+
* Replaces `zoneCrop`.
|
|
44261
|
+
*/
|
|
44262
|
+
showTriggerZone: boolean().optional(),
|
|
44263
|
+
/** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
|
|
44074
44264
|
attach: _enum([
|
|
44075
44265
|
"best",
|
|
44076
44266
|
"best-matching",
|
|
44077
44267
|
"keyFrame",
|
|
44078
44268
|
"none"
|
|
44079
|
-
]).
|
|
44080
|
-
/**
|
|
44269
|
+
]).optional(),
|
|
44270
|
+
/** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
|
|
44081
44271
|
frame: NcMediaFrameSchema.optional(),
|
|
44082
|
-
/**
|
|
44083
|
-
* "show me the ZONE", not the whole scene or the subject crop. */
|
|
44272
|
+
/** @deprecated D897 — folded into `image: 'clean'` + `showTriggerZone` on save. */
|
|
44084
44273
|
zoneCrop: boolean().optional(),
|
|
44085
44274
|
/**
|
|
44086
44275
|
* Also attach a short GIF cut from the stream broker's clip ring around the
|
|
@@ -44252,7 +44441,9 @@ var NcRuleInputSchema = object({
|
|
|
44252
44441
|
* targets.
|
|
44253
44442
|
*/
|
|
44254
44443
|
targetUsers: array(string()).optional(),
|
|
44255
|
-
|
|
44444
|
+
/** Absent = the kind's default picture (`resolveNcMediaImage`): the subject crop for a
|
|
44445
|
+
* detection, the clean scene for a sensor or a sound. Set explicitly on save (D897). */
|
|
44446
|
+
media: NcMediaPolicySchema.default({}),
|
|
44256
44447
|
throttle: NcThrottleSchema.default({
|
|
44257
44448
|
cooldownSec: 60,
|
|
44258
44449
|
scope: "rule-device"
|
|
@@ -45189,13 +45380,37 @@ var NcAlarmModeOpeningsSchema = object({
|
|
|
45189
45380
|
/** Covered devices whose state could not be read (D49): neither open nor closed. */
|
|
45190
45381
|
unknown: array(number().int())
|
|
45191
45382
|
});
|
|
45383
|
+
/**
|
|
45384
|
+
* One alarm INPUT — a (rule, device) pair — the operator bypassed until the
|
|
45385
|
+
* next disarm ("Bypass this input until disarm" on a trigger notification, or
|
|
45386
|
+
* `nc.bypassAlarmInput`). Reported so an armed alarm with a silenced input
|
|
45387
|
+
* never looks fully armed (D62: off must never look like broken).
|
|
45388
|
+
*/
|
|
45389
|
+
var NcAlarmInputBypassViewSchema = object({
|
|
45390
|
+
ruleId: string(),
|
|
45391
|
+
/** The rule's current name (its frozen name when the rule is gone). */
|
|
45392
|
+
ruleName: string(),
|
|
45393
|
+
/** The input: the sensor of the match, else its camera. */
|
|
45394
|
+
deviceId: number().int(),
|
|
45395
|
+
/** The input's current name. */
|
|
45396
|
+
name: string(),
|
|
45397
|
+
/** When it was bypassed (ms epoch). */
|
|
45398
|
+
since: number(),
|
|
45399
|
+
/** Triggers from this input dropped since. */
|
|
45400
|
+
dropped: number().int().min(0)
|
|
45401
|
+
});
|
|
45192
45402
|
var NcAlarmLiveSchema = object({
|
|
45193
45403
|
state: AlarmStateSchema,
|
|
45194
45404
|
/** The mode being armed into (exit delay) or held; null when disarmed. */
|
|
45195
45405
|
targetMode: AlarmArmModeSchema.nullable(),
|
|
45196
45406
|
availableModes: array(AlarmArmModeSchema),
|
|
45197
45407
|
openings: array(NcAlarmModeOpeningsSchema),
|
|
45198
|
-
exclusions: array(NcAlarmExclusionViewSchema)
|
|
45408
|
+
exclusions: array(NcAlarmExclusionViewSchema),
|
|
45409
|
+
/**
|
|
45410
|
+
* Inputs bypassed for the rest of this arm session; cleared on disarm.
|
|
45411
|
+
* Defaulted so an older hub answer still parses (as "none known").
|
|
45412
|
+
*/
|
|
45413
|
+
bypassedInputs: array(NcAlarmInputBypassViewSchema).default([])
|
|
45199
45414
|
});
|
|
45200
45415
|
var NcAlarmConfigSchema = object({
|
|
45201
45416
|
/**
|
|
@@ -67903,7 +68118,19 @@ Object.freeze({
|
|
|
67903
68118
|
addonId: null,
|
|
67904
68119
|
access: "view"
|
|
67905
68120
|
},
|
|
67906
|
-
"logDestination.
|
|
68121
|
+
"logDestination.cancelRead": {
|
|
68122
|
+
capName: "log-destination",
|
|
68123
|
+
capScope: "system",
|
|
68124
|
+
addonId: null,
|
|
68125
|
+
access: "create"
|
|
68126
|
+
},
|
|
68127
|
+
"logDestination.describeRead": {
|
|
68128
|
+
capName: "log-destination",
|
|
68129
|
+
capScope: "system",
|
|
68130
|
+
addonId: null,
|
|
68131
|
+
access: "view"
|
|
68132
|
+
},
|
|
68133
|
+
"logDestination.read": {
|
|
67907
68134
|
capName: "log-destination",
|
|
67908
68135
|
capScope: "system",
|
|
67909
68136
|
addonId: null,
|
|
@@ -73938,6 +74165,11 @@ Object.freeze({
|
|
|
73938
74165
|
form: "single",
|
|
73939
74166
|
optional: false
|
|
73940
74167
|
}],
|
|
74168
|
+
"logDestination.read": [{
|
|
74169
|
+
name: "deviceId",
|
|
74170
|
+
form: "single",
|
|
74171
|
+
optional: true
|
|
74172
|
+
}],
|
|
73941
74173
|
"mediaPlayer.getStatus": [{
|
|
73942
74174
|
name: "deviceId",
|
|
73943
74175
|
form: "single",
|
|
@@ -89515,7 +89747,7 @@ var NodeStressHistoryProducer = class {
|
|
|
89515
89747
|
const key = SERIES_KEYS[input.series];
|
|
89516
89748
|
if (key === void 0) return [];
|
|
89517
89749
|
const result = await this.deviceHistory.queryNode({
|
|
89518
|
-
nodeId,
|
|
89750
|
+
forNodeId: nodeId,
|
|
89519
89751
|
key,
|
|
89520
89752
|
from: input.from ?? 0,
|
|
89521
89753
|
to: input.to ?? Date.now(),
|