@camstack/addon-notifiers 1.2.62 → 1.2.64
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/addon.js +130 -3
- package/dist/addon.mjs +130 -3
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -10679,6 +10679,89 @@ var LocationStatSchema = object({
|
|
|
10679
10679
|
fileCount: number(),
|
|
10680
10680
|
present: boolean()
|
|
10681
10681
|
});
|
|
10682
|
+
/** Lifecycle of a backup run. Terminal states: succeeded / failed / cancelled. */
|
|
10683
|
+
var BackupRunStateSchema = _enum([
|
|
10684
|
+
"queued",
|
|
10685
|
+
"running",
|
|
10686
|
+
"succeeded",
|
|
10687
|
+
"failed",
|
|
10688
|
+
"cancelled"
|
|
10689
|
+
]);
|
|
10690
|
+
/**
|
|
10691
|
+
* Where a running backup currently is. `queued` before it starts,
|
|
10692
|
+
* `building` while the tar.gz is being staged, `uploading` during the
|
|
10693
|
+
* per-destination fan-out, `done` once terminal.
|
|
10694
|
+
*/
|
|
10695
|
+
var BackupRunPhaseSchema = _enum([
|
|
10696
|
+
"queued",
|
|
10697
|
+
"building",
|
|
10698
|
+
"uploading",
|
|
10699
|
+
"done"
|
|
10700
|
+
]);
|
|
10701
|
+
/**
|
|
10702
|
+
* Observable state of one backup run — readable WHILE it runs via
|
|
10703
|
+
* `backup.listRuns`. This is what makes the execution queue and
|
|
10704
|
+
* `backup.cancel` usable: the 2026-09-04 incident (two concurrent
|
|
10705
|
+
* multi-GB builds, staging 5.1 GB → 18 GB, load 62) was only
|
|
10706
|
+
* diagnosable with `du` because nothing reported that runs existed or
|
|
10707
|
+
* how large the staged archive had grown.
|
|
10708
|
+
*/
|
|
10709
|
+
var BackupRunSchema = object({
|
|
10710
|
+
/** Stable run id — the handle `backup.cancel` takes. */
|
|
10711
|
+
id: string(),
|
|
10712
|
+
state: BackupRunStateSchema,
|
|
10713
|
+
phase: BackupRunPhaseSchema,
|
|
10714
|
+
/**
|
|
10715
|
+
* Resolved destination location ids. Empty while queued (targets are
|
|
10716
|
+
* resolved when the run starts, against the then-current policies).
|
|
10717
|
+
*/
|
|
10718
|
+
destinationIds: array(string()).readonly(),
|
|
10719
|
+
label: string().optional(),
|
|
10720
|
+
/** ms-epoch when the run was submitted (trigger call / schedule fire). */
|
|
10721
|
+
requestedAt: number(),
|
|
10722
|
+
/** ms-epoch when the run left the queue and started building. */
|
|
10723
|
+
startedAt: number().optional(),
|
|
10724
|
+
/** ms-epoch when the run reached a terminal state. */
|
|
10725
|
+
finishedAt: number().optional(),
|
|
10726
|
+
/** Compressed bytes of the staging archive written so far. */
|
|
10727
|
+
stagedBytes: number(),
|
|
10728
|
+
/** Final staged archive size, once the build phase completes. */
|
|
10729
|
+
archiveSizeBytes: number().optional(),
|
|
10730
|
+
/** Bytes pushed to the destination currently uploading. */
|
|
10731
|
+
uploadedBytes: number(),
|
|
10732
|
+
/** Destinations where the archive fully landed (uploaded + indexed). */
|
|
10733
|
+
completedDestinationIds: array(string()).readonly(),
|
|
10734
|
+
/** Destinations that failed during the fan-out. */
|
|
10735
|
+
failedDestinationIds: array(string()).readonly(),
|
|
10736
|
+
/** Failure message when `state === 'failed'`. */
|
|
10737
|
+
error: string().optional(),
|
|
10738
|
+
/**
|
|
10739
|
+
* 1-based place in the execution queue — 1 = runs next. Present only
|
|
10740
|
+
* while `state === 'queued'`. Stamped by the orchestrator from the
|
|
10741
|
+
* queue's OWN pending order, never derived from timestamps, so the
|
|
10742
|
+
* UI cannot show an order the executor will not honour.
|
|
10743
|
+
*/
|
|
10744
|
+
queuePosition: number().int().min(1).optional()
|
|
10745
|
+
});
|
|
10746
|
+
/**
|
|
10747
|
+
* Result of `backup.trigger`. The call still resolves when the run
|
|
10748
|
+
* terminates (compat with schedule-driven runs and the admin UI), but
|
|
10749
|
+
* it now names the run and says whether it had to WAIT: a trigger that
|
|
10750
|
+
* arrives while another run is in flight is enqueued (or joined onto
|
|
10751
|
+
* an identical already-queued run), never started concurrently.
|
|
10752
|
+
*/
|
|
10753
|
+
var BackupTriggerResultSchema = object({
|
|
10754
|
+
/** The run this trigger mapped to — poll it via `listRuns`, stop it via `cancel`. */
|
|
10755
|
+
runId: string(),
|
|
10756
|
+
/** True when the run waited behind an in-flight run instead of starting immediately. */
|
|
10757
|
+
queued: boolean(),
|
|
10758
|
+
/** True when this trigger was coalesced onto an identical already-queued run. */
|
|
10759
|
+
joined: boolean(),
|
|
10760
|
+
/** True when the run was cancelled before completing every destination. */
|
|
10761
|
+
cancelled: boolean(),
|
|
10762
|
+
/** One entry per destination the archive landed at (partial on cancel). */
|
|
10763
|
+
entries: array(BackupEntrySchema).readonly()
|
|
10764
|
+
});
|
|
10682
10765
|
/**
|
|
10683
10766
|
* A backup schedule — the N:M "entry" that binds one cron cadence to a
|
|
10684
10767
|
* SET of destination locations. Supersedes the per-location cron on
|
|
@@ -10726,7 +10809,10 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
10726
10809
|
* retention (manual runs).
|
|
10727
10810
|
*/
|
|
10728
10811
|
retentionCount: number().int().min(1).max(1e3).optional()
|
|
10729
|
-
}).optional(),
|
|
10812
|
+
}).optional(), BackupTriggerResultSchema, {
|
|
10813
|
+
kind: "mutation",
|
|
10814
|
+
auth: "admin"
|
|
10815
|
+
}), method(_void(), array(BackupRunSchema).readonly(), { auth: "admin" }), method(object({ runId: string() }), object({ cancelled: boolean() }), {
|
|
10730
10816
|
kind: "mutation",
|
|
10731
10817
|
auth: "admin"
|
|
10732
10818
|
}), method(_void(), array(BackupEntrySchema).readonly(), { auth: "admin" }), method(_void(), array(LocationStatSchema).readonly(), { auth: "admin" }), method(object({
|
|
@@ -11443,6 +11529,14 @@ method(object({
|
|
|
11443
11529
|
}), object({ success: literal(true) }), {
|
|
11444
11530
|
kind: "mutation",
|
|
11445
11531
|
auth: "admin"
|
|
11532
|
+
}), method(object({ deviceId: number().int().nonnegative() }), object({
|
|
11533
|
+
derivedStreamsDeleted: array(string()).readonly(),
|
|
11534
|
+
assignmentsPurged: boolean(),
|
|
11535
|
+
probeSnapshotsDropped: number().int().nonnegative(),
|
|
11536
|
+
rtspTokenRowsDeleted: number().int().nonnegative()
|
|
11537
|
+
}), {
|
|
11538
|
+
kind: "mutation",
|
|
11539
|
+
auth: "admin"
|
|
11446
11540
|
}), method(object({
|
|
11447
11541
|
deviceId: number(),
|
|
11448
11542
|
/** Absent = the LOWEST assigned profile — a notification attachment is
|
|
@@ -12674,7 +12768,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12674
12768
|
id: string(),
|
|
12675
12769
|
name: string(),
|
|
12676
12770
|
type: string()
|
|
12677
|
-
}))), method(object({
|
|
12771
|
+
}))), method(object({ stableId: string() }), object({ deviceId: number() }), {
|
|
12772
|
+
kind: "mutation",
|
|
12773
|
+
timeoutMs: 3 * 6e4
|
|
12774
|
+
}), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
|
|
12678
12775
|
kind: "mutation",
|
|
12679
12776
|
auth: "admin"
|
|
12680
12777
|
}), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
|
|
@@ -12955,7 +13052,8 @@ method(object({
|
|
|
12955
13052
|
targetId: number()
|
|
12956
13053
|
}), MigrateDeviceResultSchema, {
|
|
12957
13054
|
kind: "mutation",
|
|
12958
|
-
auth: "admin"
|
|
13055
|
+
auth: "admin",
|
|
13056
|
+
timeoutMs: 12 * 6e4
|
|
12959
13057
|
}), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
|
|
12960
13058
|
deviceId: number(),
|
|
12961
13059
|
name: string()
|
|
@@ -29574,6 +29672,12 @@ Object.freeze({
|
|
|
29574
29672
|
addonId: null,
|
|
29575
29673
|
access: "create"
|
|
29576
29674
|
},
|
|
29675
|
+
"backup.cancel": {
|
|
29676
|
+
capName: "backup",
|
|
29677
|
+
capScope: "system",
|
|
29678
|
+
addonId: null,
|
|
29679
|
+
access: "create"
|
|
29680
|
+
},
|
|
29577
29681
|
"backup.delete": {
|
|
29578
29682
|
capName: "backup",
|
|
29579
29683
|
capScope: "system",
|
|
@@ -29616,6 +29720,12 @@ Object.freeze({
|
|
|
29616
29720
|
addonId: null,
|
|
29617
29721
|
access: "view"
|
|
29618
29722
|
},
|
|
29723
|
+
"backup.listRuns": {
|
|
29724
|
+
capName: "backup",
|
|
29725
|
+
capScope: "system",
|
|
29726
|
+
addonId: null,
|
|
29727
|
+
access: "view"
|
|
29728
|
+
},
|
|
29619
29729
|
"backup.listSchedules": {
|
|
29620
29730
|
capName: "backup",
|
|
29621
29731
|
capScope: "system",
|
|
@@ -30816,6 +30926,12 @@ Object.freeze({
|
|
|
30816
30926
|
addonId: null,
|
|
30817
30927
|
access: "view"
|
|
30818
30928
|
},
|
|
30929
|
+
"deviceProvider.reloadDevice": {
|
|
30930
|
+
capName: "device-provider",
|
|
30931
|
+
capScope: "system",
|
|
30932
|
+
addonId: null,
|
|
30933
|
+
access: "create"
|
|
30934
|
+
},
|
|
30819
30935
|
"deviceProvider.start": {
|
|
30820
30936
|
capName: "device-provider",
|
|
30821
30937
|
capScope: "system",
|
|
@@ -34182,6 +34298,12 @@ Object.freeze({
|
|
|
34182
34298
|
addonId: null,
|
|
34183
34299
|
access: "create"
|
|
34184
34300
|
},
|
|
34301
|
+
"streamBroker.forgetDeviceHardware": {
|
|
34302
|
+
capName: "stream-broker",
|
|
34303
|
+
capScope: "system",
|
|
34304
|
+
addonId: null,
|
|
34305
|
+
access: "delete"
|
|
34306
|
+
},
|
|
34185
34307
|
"streamBroker.getAllRtspEntries": {
|
|
34186
34308
|
capName: "stream-broker",
|
|
34187
34309
|
capScope: "system",
|
|
@@ -36640,6 +36762,11 @@ Object.freeze({
|
|
|
36640
36762
|
form: "single",
|
|
36641
36763
|
optional: false
|
|
36642
36764
|
}],
|
|
36765
|
+
"streamBroker.forgetDeviceHardware": [{
|
|
36766
|
+
name: "deviceId",
|
|
36767
|
+
form: "single",
|
|
36768
|
+
optional: false
|
|
36769
|
+
}],
|
|
36643
36770
|
"streamBroker.getDeviceAudioMute": [{
|
|
36644
36771
|
name: "deviceId",
|
|
36645
36772
|
form: "single",
|
package/dist/addon.mjs
CHANGED
|
@@ -10652,6 +10652,89 @@ var LocationStatSchema = object({
|
|
|
10652
10652
|
fileCount: number(),
|
|
10653
10653
|
present: boolean()
|
|
10654
10654
|
});
|
|
10655
|
+
/** Lifecycle of a backup run. Terminal states: succeeded / failed / cancelled. */
|
|
10656
|
+
var BackupRunStateSchema = _enum([
|
|
10657
|
+
"queued",
|
|
10658
|
+
"running",
|
|
10659
|
+
"succeeded",
|
|
10660
|
+
"failed",
|
|
10661
|
+
"cancelled"
|
|
10662
|
+
]);
|
|
10663
|
+
/**
|
|
10664
|
+
* Where a running backup currently is. `queued` before it starts,
|
|
10665
|
+
* `building` while the tar.gz is being staged, `uploading` during the
|
|
10666
|
+
* per-destination fan-out, `done` once terminal.
|
|
10667
|
+
*/
|
|
10668
|
+
var BackupRunPhaseSchema = _enum([
|
|
10669
|
+
"queued",
|
|
10670
|
+
"building",
|
|
10671
|
+
"uploading",
|
|
10672
|
+
"done"
|
|
10673
|
+
]);
|
|
10674
|
+
/**
|
|
10675
|
+
* Observable state of one backup run — readable WHILE it runs via
|
|
10676
|
+
* `backup.listRuns`. This is what makes the execution queue and
|
|
10677
|
+
* `backup.cancel` usable: the 2026-09-04 incident (two concurrent
|
|
10678
|
+
* multi-GB builds, staging 5.1 GB → 18 GB, load 62) was only
|
|
10679
|
+
* diagnosable with `du` because nothing reported that runs existed or
|
|
10680
|
+
* how large the staged archive had grown.
|
|
10681
|
+
*/
|
|
10682
|
+
var BackupRunSchema = object({
|
|
10683
|
+
/** Stable run id — the handle `backup.cancel` takes. */
|
|
10684
|
+
id: string(),
|
|
10685
|
+
state: BackupRunStateSchema,
|
|
10686
|
+
phase: BackupRunPhaseSchema,
|
|
10687
|
+
/**
|
|
10688
|
+
* Resolved destination location ids. Empty while queued (targets are
|
|
10689
|
+
* resolved when the run starts, against the then-current policies).
|
|
10690
|
+
*/
|
|
10691
|
+
destinationIds: array(string()).readonly(),
|
|
10692
|
+
label: string().optional(),
|
|
10693
|
+
/** ms-epoch when the run was submitted (trigger call / schedule fire). */
|
|
10694
|
+
requestedAt: number(),
|
|
10695
|
+
/** ms-epoch when the run left the queue and started building. */
|
|
10696
|
+
startedAt: number().optional(),
|
|
10697
|
+
/** ms-epoch when the run reached a terminal state. */
|
|
10698
|
+
finishedAt: number().optional(),
|
|
10699
|
+
/** Compressed bytes of the staging archive written so far. */
|
|
10700
|
+
stagedBytes: number(),
|
|
10701
|
+
/** Final staged archive size, once the build phase completes. */
|
|
10702
|
+
archiveSizeBytes: number().optional(),
|
|
10703
|
+
/** Bytes pushed to the destination currently uploading. */
|
|
10704
|
+
uploadedBytes: number(),
|
|
10705
|
+
/** Destinations where the archive fully landed (uploaded + indexed). */
|
|
10706
|
+
completedDestinationIds: array(string()).readonly(),
|
|
10707
|
+
/** Destinations that failed during the fan-out. */
|
|
10708
|
+
failedDestinationIds: array(string()).readonly(),
|
|
10709
|
+
/** Failure message when `state === 'failed'`. */
|
|
10710
|
+
error: string().optional(),
|
|
10711
|
+
/**
|
|
10712
|
+
* 1-based place in the execution queue — 1 = runs next. Present only
|
|
10713
|
+
* while `state === 'queued'`. Stamped by the orchestrator from the
|
|
10714
|
+
* queue's OWN pending order, never derived from timestamps, so the
|
|
10715
|
+
* UI cannot show an order the executor will not honour.
|
|
10716
|
+
*/
|
|
10717
|
+
queuePosition: number().int().min(1).optional()
|
|
10718
|
+
});
|
|
10719
|
+
/**
|
|
10720
|
+
* Result of `backup.trigger`. The call still resolves when the run
|
|
10721
|
+
* terminates (compat with schedule-driven runs and the admin UI), but
|
|
10722
|
+
* it now names the run and says whether it had to WAIT: a trigger that
|
|
10723
|
+
* arrives while another run is in flight is enqueued (or joined onto
|
|
10724
|
+
* an identical already-queued run), never started concurrently.
|
|
10725
|
+
*/
|
|
10726
|
+
var BackupTriggerResultSchema = object({
|
|
10727
|
+
/** The run this trigger mapped to — poll it via `listRuns`, stop it via `cancel`. */
|
|
10728
|
+
runId: string(),
|
|
10729
|
+
/** True when the run waited behind an in-flight run instead of starting immediately. */
|
|
10730
|
+
queued: boolean(),
|
|
10731
|
+
/** True when this trigger was coalesced onto an identical already-queued run. */
|
|
10732
|
+
joined: boolean(),
|
|
10733
|
+
/** True when the run was cancelled before completing every destination. */
|
|
10734
|
+
cancelled: boolean(),
|
|
10735
|
+
/** One entry per destination the archive landed at (partial on cancel). */
|
|
10736
|
+
entries: array(BackupEntrySchema).readonly()
|
|
10737
|
+
});
|
|
10655
10738
|
/**
|
|
10656
10739
|
* A backup schedule — the N:M "entry" that binds one cron cadence to a
|
|
10657
10740
|
* SET of destination locations. Supersedes the per-location cron on
|
|
@@ -10699,7 +10782,10 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
10699
10782
|
* retention (manual runs).
|
|
10700
10783
|
*/
|
|
10701
10784
|
retentionCount: number().int().min(1).max(1e3).optional()
|
|
10702
|
-
}).optional(),
|
|
10785
|
+
}).optional(), BackupTriggerResultSchema, {
|
|
10786
|
+
kind: "mutation",
|
|
10787
|
+
auth: "admin"
|
|
10788
|
+
}), method(_void(), array(BackupRunSchema).readonly(), { auth: "admin" }), method(object({ runId: string() }), object({ cancelled: boolean() }), {
|
|
10703
10789
|
kind: "mutation",
|
|
10704
10790
|
auth: "admin"
|
|
10705
10791
|
}), method(_void(), array(BackupEntrySchema).readonly(), { auth: "admin" }), method(_void(), array(LocationStatSchema).readonly(), { auth: "admin" }), method(object({
|
|
@@ -11416,6 +11502,14 @@ method(object({
|
|
|
11416
11502
|
}), object({ success: literal(true) }), {
|
|
11417
11503
|
kind: "mutation",
|
|
11418
11504
|
auth: "admin"
|
|
11505
|
+
}), method(object({ deviceId: number().int().nonnegative() }), object({
|
|
11506
|
+
derivedStreamsDeleted: array(string()).readonly(),
|
|
11507
|
+
assignmentsPurged: boolean(),
|
|
11508
|
+
probeSnapshotsDropped: number().int().nonnegative(),
|
|
11509
|
+
rtspTokenRowsDeleted: number().int().nonnegative()
|
|
11510
|
+
}), {
|
|
11511
|
+
kind: "mutation",
|
|
11512
|
+
auth: "admin"
|
|
11419
11513
|
}), method(object({
|
|
11420
11514
|
deviceId: number(),
|
|
11421
11515
|
/** Absent = the LOWEST assigned profile — a notification attachment is
|
|
@@ -12647,7 +12741,10 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
12647
12741
|
id: string(),
|
|
12648
12742
|
name: string(),
|
|
12649
12743
|
type: string()
|
|
12650
|
-
}))), method(object({
|
|
12744
|
+
}))), method(object({ stableId: string() }), object({ deviceId: number() }), {
|
|
12745
|
+
kind: "mutation",
|
|
12746
|
+
timeoutMs: 3 * 6e4
|
|
12747
|
+
}), method(object({}), boolean()), method(object({ params: record(string(), unknown()).optional() }), array(DiscoveryCandidateSchema), {
|
|
12651
12748
|
kind: "mutation",
|
|
12652
12749
|
auth: "admin"
|
|
12653
12750
|
}), method(object({}), CreationSchemaOutputSchema), method(object({}), object({ deviceType: _enum(DeviceType).nullable() })), method(object({ candidate: DiscoveryCandidateSchema }), DeviceSummarySchema, {
|
|
@@ -12928,7 +13025,8 @@ method(object({
|
|
|
12928
13025
|
targetId: number()
|
|
12929
13026
|
}), MigrateDeviceResultSchema, {
|
|
12930
13027
|
kind: "mutation",
|
|
12931
|
-
auth: "admin"
|
|
13028
|
+
auth: "admin",
|
|
13029
|
+
timeoutMs: 12 * 6e4
|
|
12932
13030
|
}), method(DeviceRegisterPayloadSchema, _void(), { kind: "mutation" }), method(DeviceRemovePayloadSchema, _void(), { kind: "mutation" }), method(DevicePersistConfigPayloadSchema, _void(), { kind: "mutation" }), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), record(string(), unknown())), method(object({ deviceId: number() }), DeviceMetaSchema.nullable()), method(object({
|
|
12933
13031
|
deviceId: number(),
|
|
12934
13032
|
name: string()
|
|
@@ -29547,6 +29645,12 @@ Object.freeze({
|
|
|
29547
29645
|
addonId: null,
|
|
29548
29646
|
access: "create"
|
|
29549
29647
|
},
|
|
29648
|
+
"backup.cancel": {
|
|
29649
|
+
capName: "backup",
|
|
29650
|
+
capScope: "system",
|
|
29651
|
+
addonId: null,
|
|
29652
|
+
access: "create"
|
|
29653
|
+
},
|
|
29550
29654
|
"backup.delete": {
|
|
29551
29655
|
capName: "backup",
|
|
29552
29656
|
capScope: "system",
|
|
@@ -29589,6 +29693,12 @@ Object.freeze({
|
|
|
29589
29693
|
addonId: null,
|
|
29590
29694
|
access: "view"
|
|
29591
29695
|
},
|
|
29696
|
+
"backup.listRuns": {
|
|
29697
|
+
capName: "backup",
|
|
29698
|
+
capScope: "system",
|
|
29699
|
+
addonId: null,
|
|
29700
|
+
access: "view"
|
|
29701
|
+
},
|
|
29592
29702
|
"backup.listSchedules": {
|
|
29593
29703
|
capName: "backup",
|
|
29594
29704
|
capScope: "system",
|
|
@@ -30789,6 +30899,12 @@ Object.freeze({
|
|
|
30789
30899
|
addonId: null,
|
|
30790
30900
|
access: "view"
|
|
30791
30901
|
},
|
|
30902
|
+
"deviceProvider.reloadDevice": {
|
|
30903
|
+
capName: "device-provider",
|
|
30904
|
+
capScope: "system",
|
|
30905
|
+
addonId: null,
|
|
30906
|
+
access: "create"
|
|
30907
|
+
},
|
|
30792
30908
|
"deviceProvider.start": {
|
|
30793
30909
|
capName: "device-provider",
|
|
30794
30910
|
capScope: "system",
|
|
@@ -34155,6 +34271,12 @@ Object.freeze({
|
|
|
34155
34271
|
addonId: null,
|
|
34156
34272
|
access: "create"
|
|
34157
34273
|
},
|
|
34274
|
+
"streamBroker.forgetDeviceHardware": {
|
|
34275
|
+
capName: "stream-broker",
|
|
34276
|
+
capScope: "system",
|
|
34277
|
+
addonId: null,
|
|
34278
|
+
access: "delete"
|
|
34279
|
+
},
|
|
34158
34280
|
"streamBroker.getAllRtspEntries": {
|
|
34159
34281
|
capName: "stream-broker",
|
|
34160
34282
|
capScope: "system",
|
|
@@ -36613,6 +36735,11 @@ Object.freeze({
|
|
|
36613
36735
|
form: "single",
|
|
36614
36736
|
optional: false
|
|
36615
36737
|
}],
|
|
36738
|
+
"streamBroker.forgetDeviceHardware": [{
|
|
36739
|
+
name: "deviceId",
|
|
36740
|
+
form: "single",
|
|
36741
|
+
optional: false
|
|
36742
|
+
}],
|
|
36616
36743
|
"streamBroker.getDeviceAudioMute": [{
|
|
36617
36744
|
name: "deviceId",
|
|
36618
36745
|
form: "single",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-notifiers",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.64",
|
|
4
4
|
"description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|