@camstack/addon-osd-manager 0.1.234 → 0.1.236
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/{MotionZonesSettings-CpC0VrRF.mjs → MotionZonesSettings--WB2aUGD.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-DsRVLMGw.mjs → PrivacyMaskSettings-TGecGZ1J.mjs} +4 -4
- package/dist/{SceneMonitorEditor-Bd_y21mf.mjs → SceneMonitorEditor-Cq3bsqmJ.mjs} +3 -3
- package/dist/_stub.js +179 -169
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-CJ5YyyFD.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-BPgZSZ-3.mjs} +3 -3
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DVHQfCvU.mjs +26 -0
- package/dist/{hostInit-BgZ8bjH8.mjs → hostInit-iQV7js-A.mjs} +2 -2
- package/dist/index.js +373 -11
- package/dist/index.mjs +373 -11
- package/dist/{player-overlays-Bfw9gqQd.mjs → player-overlays-D0twFHMl.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-CvsGDf2k.mjs → responsive-BP2NYfOi.mjs} +1 -1
- package/dist/{scene-monitor-copy-Cp3j72cs.mjs → scene-monitor-copy-DYchveQT.mjs} +1 -1
- package/dist/{square-DRfiAJqL.mjs → square-BHCEqr7g.mjs} +1 -1
- package/dist/{trash-2-KaQPwGe5.mjs → trash-2-BGZFyowm.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-BlUDCAK-.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-Ch_9U0JF.mjs} +1 -1
- package/package.json +1 -1
- package/dist/_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-cCq5NyzR.mjs +0 -26
package/dist/index.js
CHANGED
|
@@ -5390,7 +5390,7 @@ var ZodIssueCode = {
|
|
|
5390
5390
|
var ZodFirstPartyTypeKind;
|
|
5391
5391
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5392
5392
|
//#endregion
|
|
5393
|
-
//#region ../types/dist/sleep-
|
|
5393
|
+
//#region ../types/dist/sleep-DAX0-2v9.mjs
|
|
5394
5394
|
/**
|
|
5395
5395
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5396
5396
|
* window to float samples (D455).
|
|
@@ -12155,6 +12155,12 @@ var ConvertResultSchema = object({
|
|
|
12155
12155
|
files: array(string()).readonly()
|
|
12156
12156
|
})).readonly()
|
|
12157
12157
|
});
|
|
12158
|
+
_enum(["new-session", "step-up"]);
|
|
12159
|
+
/** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
|
|
12160
|
+
var AppLoginPathSchema = discriminatedUnion("kind", [object({ kind: literal("native") }), object({
|
|
12161
|
+
kind: literal("browser"),
|
|
12162
|
+
startPath: string().startsWith("/")
|
|
12163
|
+
})]);
|
|
12158
12164
|
/**
|
|
12159
12165
|
* Device certificates (D855) — the wire contract shared by the hub, the admin
|
|
12160
12166
|
* UI and the native viewer.
|
|
@@ -12314,7 +12320,9 @@ object({
|
|
|
12314
12320
|
signature: literal(DEVICE_CERT_SIGNATURE),
|
|
12315
12321
|
messageVersion: literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
|
|
12316
12322
|
/** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
|
|
12317
|
-
clients: array(_enum(["native", "web"]))
|
|
12323
|
+
clients: array(_enum(["native", "web"])),
|
|
12324
|
+
/** The app executes it itself, silently (D858). */
|
|
12325
|
+
app: AppLoginPathSchema.nullable()
|
|
12318
12326
|
});
|
|
12319
12327
|
var ExpressionBindingSourceSchema = union([
|
|
12320
12328
|
object({
|
|
@@ -15888,6 +15896,208 @@ method(object({
|
|
|
15888
15896
|
kind: "mutation",
|
|
15889
15897
|
auth: "admin"
|
|
15890
15898
|
}), method(object({}), array(KeychainSecretMetaSchema).readonly(), { auth: "admin" }), method(object({}), KeychainStateSchema, { auth: "admin" });
|
|
15899
|
+
/**
|
|
15900
|
+
* device-history — the ONE mechanism for numeric history (D850).
|
|
15901
|
+
*
|
|
15902
|
+
* A device value is recorded because its capability says so (the `history`
|
|
15903
|
+
* block of a `*.cap.ts`, captured hub-side from `DeviceStateChanged`); any
|
|
15904
|
+
* other series is DECLARED by the addon that produces it and fed with points
|
|
15905
|
+
* (`record`) or closed five-minute buckets (`recordBuckets`). Rollups 5m / 1h /
|
|
15906
|
+
* 1d are computed here and nowhere else. Storage is `history.db` (D851).
|
|
15907
|
+
*
|
|
15908
|
+
* Who the PRODUCER is: `declareSeries`, `record` and `recordBuckets` are owner
|
|
15909
|
+
* checked against the `callerAddonId` the transport stamps into a call that
|
|
15910
|
+
* crossed a process (never in an input schema, so a session cannot supply it).
|
|
15911
|
+
* A call with no stamp is refused `not-owner`. The methods are `admin` so a
|
|
15912
|
+
* non-admin session never reaches them; an addon's `ctx.api` call bypasses the
|
|
15913
|
+
* tier by design.
|
|
15914
|
+
*/
|
|
15915
|
+
/** Whose history: a real device, or a cluster node (load, memory). */
|
|
15916
|
+
var DeviceHistorySubjectSchema = discriminatedUnion("kind", [object({
|
|
15917
|
+
kind: literal("device"),
|
|
15918
|
+
deviceId: number().int()
|
|
15919
|
+
}), object({
|
|
15920
|
+
kind: literal("node"),
|
|
15921
|
+
nodeId: string().min(1)
|
|
15922
|
+
})]);
|
|
15923
|
+
var DeviceHistoryKindSchema = _enum([
|
|
15924
|
+
"gauge",
|
|
15925
|
+
"counter",
|
|
15926
|
+
"boolean"
|
|
15927
|
+
]);
|
|
15928
|
+
var DeviceHistoryResolutionSchema = _enum([
|
|
15929
|
+
"raw",
|
|
15930
|
+
"5m",
|
|
15931
|
+
"1h",
|
|
15932
|
+
"1d"
|
|
15933
|
+
]);
|
|
15934
|
+
/** Why a producer's point or bucket was not stored. Counted, never silent (D391). */
|
|
15935
|
+
var DeviceHistoryRefusalReasonSchema = _enum([
|
|
15936
|
+
"undeclared",
|
|
15937
|
+
"not-owner",
|
|
15938
|
+
"opted-out",
|
|
15939
|
+
"not-a-real-device",
|
|
15940
|
+
"rate",
|
|
15941
|
+
"ingest-mismatch",
|
|
15942
|
+
"out-of-range"
|
|
15943
|
+
]);
|
|
15944
|
+
var RefusalSchema = object({
|
|
15945
|
+
key: string(),
|
|
15946
|
+
reason: DeviceHistoryRefusalReasonSchema,
|
|
15947
|
+
count: number().int()
|
|
15948
|
+
});
|
|
15949
|
+
var IngestResultSchema = object({
|
|
15950
|
+
accepted: number().int(),
|
|
15951
|
+
refused: array(RefusalSchema).readonly()
|
|
15952
|
+
});
|
|
15953
|
+
var SeriesInfoSchema = object({
|
|
15954
|
+
key: string(),
|
|
15955
|
+
scope: string(),
|
|
15956
|
+
kind: DeviceHistoryKindSchema,
|
|
15957
|
+
/** `null` is unknown (a `unitFrom` series whose device does not state a unit right now), never a guess. */
|
|
15958
|
+
unit: string().nullable(),
|
|
15959
|
+
displayName: string(),
|
|
15960
|
+
source: _enum(["cap", "addon"]),
|
|
15961
|
+
firstTs: number(),
|
|
15962
|
+
lastTs: number()
|
|
15963
|
+
});
|
|
15964
|
+
var QueryPointSchema = object({
|
|
15965
|
+
/** Raw: the point's time. Rollup: the bucket start. */
|
|
15966
|
+
t: number(),
|
|
15967
|
+
samples: number().int(),
|
|
15968
|
+
/** `sum / samples`. */
|
|
15969
|
+
mean: number().nullable(),
|
|
15970
|
+
/** Time-weighted mean (`tw_sum / tw_ms`); `null` for bucket-ingested series. For a boolean: the fraction of time true. */
|
|
15971
|
+
twMean: number().nullable(),
|
|
15972
|
+
min: number(),
|
|
15973
|
+
max: number(),
|
|
15974
|
+
/** `null` is unknown, never zero (D393). */
|
|
15975
|
+
last: number().nullable()
|
|
15976
|
+
});
|
|
15977
|
+
var QuerySeriesSchema = object({
|
|
15978
|
+
scope: string(),
|
|
15979
|
+
/** The last point STRICTLY BEFORE `from` in the chosen tier, so a step chart can start at the held value. */
|
|
15980
|
+
before: object({
|
|
15981
|
+
t: number(),
|
|
15982
|
+
value: number().nullable()
|
|
15983
|
+
}).nullable(),
|
|
15984
|
+
points: array(QueryPointSchema).readonly()
|
|
15985
|
+
});
|
|
15986
|
+
/** The window part of a query, shared by the device and node forms. */
|
|
15987
|
+
var QueryWindowShape = {
|
|
15988
|
+
key: string(),
|
|
15989
|
+
scope: string().optional(),
|
|
15990
|
+
from: number(),
|
|
15991
|
+
to: number(),
|
|
15992
|
+
resolution: union([DeviceHistoryResolutionSchema, literal("auto")]).default("auto"),
|
|
15993
|
+
maxPoints: number().int().positive().max(5e3).default(1e3)
|
|
15994
|
+
};
|
|
15995
|
+
var QueryResultSchema = object({
|
|
15996
|
+
resolution: DeviceHistoryResolutionSchema,
|
|
15997
|
+
series: array(QuerySeriesSchema).readonly(),
|
|
15998
|
+
truncated: boolean()
|
|
15999
|
+
});
|
|
16000
|
+
var TierStatusSchema = object({
|
|
16001
|
+
tier: DeviceHistoryResolutionSchema,
|
|
16002
|
+
/** `null` until the first background count answered. */
|
|
16003
|
+
rows: number().int().nullable(),
|
|
16004
|
+
/** `rows` times a fixed per-row estimate — approximate, labelled so. */
|
|
16005
|
+
approxBytes: number().nullable(),
|
|
16006
|
+
countedAt: number().nullable()
|
|
16007
|
+
});
|
|
16008
|
+
/** Operator/diagnostic view: rows per tier, last runs, refusals and drops since boot. */
|
|
16009
|
+
var DeviceHistoryStatusSchema = object({
|
|
16010
|
+
startedAt: number(),
|
|
16011
|
+
/** The store is declared, series loaded and the first reconcile has answered. */
|
|
16012
|
+
ready: boolean(),
|
|
16013
|
+
series: number().int(),
|
|
16014
|
+
metrics: number().int(),
|
|
16015
|
+
optedOutDevices: number().int(),
|
|
16016
|
+
tiers: array(TierStatusSchema).readonly(),
|
|
16017
|
+
capture: object({
|
|
16018
|
+
eventsSeen: number().int(),
|
|
16019
|
+
pointsEmitted: number().int(),
|
|
16020
|
+
pointsWritten: number().int(),
|
|
16021
|
+
pointsDropped: number().int(),
|
|
16022
|
+
bufferDepth: number().int(),
|
|
16023
|
+
trailingEmitted: number().int(),
|
|
16024
|
+
reconciledPoints: number().int(),
|
|
16025
|
+
reconcileRuns: number().int(),
|
|
16026
|
+
reconcileFailures: number().int(),
|
|
16027
|
+
lastReconcileAt: number().nullable(),
|
|
16028
|
+
lastFlushAt: number().nullable(),
|
|
16029
|
+
flushFailures: number().int(),
|
|
16030
|
+
skipped: record(string(), number().int())
|
|
16031
|
+
}),
|
|
16032
|
+
ingest: object({
|
|
16033
|
+
accepted: number().int(),
|
|
16034
|
+
refused: record(string(), number().int())
|
|
16035
|
+
}),
|
|
16036
|
+
rollup: object({
|
|
16037
|
+
last5mAt: number().nullable(),
|
|
16038
|
+
last1hAt: number().nullable(),
|
|
16039
|
+
last1dAt: number().nullable(),
|
|
16040
|
+
errors: number().int(),
|
|
16041
|
+
dirty5m: number().int(),
|
|
16042
|
+
dirty1h: number().int(),
|
|
16043
|
+
dirty1d: number().int()
|
|
16044
|
+
}),
|
|
16045
|
+
retention: object({
|
|
16046
|
+
lastRunAt: number().nullable(),
|
|
16047
|
+
deleted: record(string(), number().int()),
|
|
16048
|
+
purgedSeries: number().int()
|
|
16049
|
+
}),
|
|
16050
|
+
directory: object({
|
|
16051
|
+
devices: number().int(),
|
|
16052
|
+
lastRefreshAt: number().nullable()
|
|
16053
|
+
})
|
|
16054
|
+
});
|
|
16055
|
+
method(object({ deviceId: number().int() }), array(SeriesInfoSchema).readonly()), method(object({ nodeId: string().min(1) }), array(SeriesInfoSchema).readonly(), { auth: "admin" }), method(object({
|
|
16056
|
+
deviceId: number().int(),
|
|
16057
|
+
...QueryWindowShape
|
|
16058
|
+
}), QueryResultSchema), method(object({
|
|
16059
|
+
nodeId: string().min(1),
|
|
16060
|
+
...QueryWindowShape
|
|
16061
|
+
}), QueryResultSchema, { auth: "admin" }), method(object({
|
|
16062
|
+
name: string().regex(/^[a-z0-9-]+$/),
|
|
16063
|
+
subjectKind: _enum(["device", "node"]),
|
|
16064
|
+
kind: DeviceHistoryKindSchema,
|
|
16065
|
+
unit: string().optional(),
|
|
16066
|
+
displayName: string().min(1),
|
|
16067
|
+
ingest: _enum(["points", "buckets"])
|
|
16068
|
+
}), object({ key: string() }), {
|
|
16069
|
+
kind: "mutation",
|
|
16070
|
+
auth: "admin"
|
|
16071
|
+
}), method(object({ points: array(object({
|
|
16072
|
+
key: string(),
|
|
16073
|
+
subject: DeviceHistorySubjectSchema,
|
|
16074
|
+
scope: string().default(""),
|
|
16075
|
+
ts: number(),
|
|
16076
|
+
value: number()
|
|
16077
|
+
})).max(5e3) }), IngestResultSchema, {
|
|
16078
|
+
kind: "mutation",
|
|
16079
|
+
auth: "admin"
|
|
16080
|
+
}), method(object({ buckets: array(object({
|
|
16081
|
+
key: string(),
|
|
16082
|
+
subject: DeviceHistorySubjectSchema,
|
|
16083
|
+
scope: string().default(""),
|
|
16084
|
+
bucketStart: number(),
|
|
16085
|
+
samples: number().int().positive(),
|
|
16086
|
+
sum: number(),
|
|
16087
|
+
min: number(),
|
|
16088
|
+
max: number(),
|
|
16089
|
+
last: number().nullable(),
|
|
16090
|
+
lastTs: number().nullable()
|
|
16091
|
+
})).max(5e3) }), IngestResultSchema, {
|
|
16092
|
+
kind: "mutation",
|
|
16093
|
+
auth: "admin"
|
|
16094
|
+
}), method(object({ deviceId: number().int() }), object({ enabled: boolean() })), method(object({
|
|
16095
|
+
deviceId: number().int(),
|
|
16096
|
+
enabled: boolean()
|
|
16097
|
+
}), object({ enabled: boolean() }), {
|
|
16098
|
+
kind: "mutation",
|
|
16099
|
+
auth: "admin"
|
|
16100
|
+
}), method(object({}), DeviceHistoryStatusSchema, { auth: "admin" });
|
|
15891
16101
|
var DeviceCaStatusSchema = discriminatedUnion("state", [
|
|
15892
16102
|
object({ state: literal("absent") }),
|
|
15893
16103
|
object({
|
|
@@ -16005,6 +16215,9 @@ method(object({}), object({
|
|
|
16005
16215
|
}), {
|
|
16006
16216
|
kind: "mutation",
|
|
16007
16217
|
auth: "admin"
|
|
16218
|
+
}), method(object({}), object({ ok: literal(true) }), {
|
|
16219
|
+
kind: "mutation",
|
|
16220
|
+
auth: "admin"
|
|
16008
16221
|
}), method(object({
|
|
16009
16222
|
certPem: string().min(1),
|
|
16010
16223
|
caCertPem: string().min(1),
|
|
@@ -38797,7 +39010,13 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
|
|
|
38797
39010
|
* `beginExternalLink` offer exactly the redirect methods that set this,
|
|
38798
39011
|
* whatever their id. Absent / false — a login button only.
|
|
38799
39012
|
*/
|
|
38800
|
-
linkable: boolean().optional()
|
|
39013
|
+
linkable: boolean().optional(),
|
|
39014
|
+
/**
|
|
39015
|
+
* How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
|
|
39016
|
+
* when the route understands the app flow query (`app=1&code_challenge=…`),
|
|
39017
|
+
* `null`/absent when there is no app path - the app hides the method.
|
|
39018
|
+
*/
|
|
39019
|
+
app: AppLoginPathSchema.nullable().optional()
|
|
38801
39020
|
}),
|
|
38802
39021
|
object({
|
|
38803
39022
|
kind: literal("widget"),
|
|
@@ -38809,7 +39028,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
|
|
|
38809
39028
|
bundle: string(),
|
|
38810
39029
|
/** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
|
|
38811
39030
|
remote: WidgetRemoteSchema,
|
|
38812
|
-
stage: LoginStageEnum
|
|
39031
|
+
stage: LoginStageEnum,
|
|
39032
|
+
/** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
|
|
39033
|
+
app: AppLoginPathSchema.nullable().optional()
|
|
38813
39034
|
}),
|
|
38814
39035
|
object({
|
|
38815
39036
|
kind: literal("passkey"),
|
|
@@ -38821,7 +39042,9 @@ var LoginMethodContributionSchema = discriminatedUnion("kind", [
|
|
|
38821
39042
|
/** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
|
|
38822
39043
|
rpId: string(),
|
|
38823
39044
|
/** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
|
|
38824
|
-
origin: string().nullable()
|
|
39045
|
+
origin: string().nullable(),
|
|
39046
|
+
/** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
|
|
39047
|
+
app: AppLoginPathSchema.nullable().optional()
|
|
38825
39048
|
})
|
|
38826
39049
|
]);
|
|
38827
39050
|
method(_void(), array(LoginMethodContributionSchema).readonly());
|
|
@@ -39331,7 +39554,21 @@ var NetworkEndpointSchema = object({
|
|
|
39331
39554
|
url: string(),
|
|
39332
39555
|
hostname: string(),
|
|
39333
39556
|
port: number(),
|
|
39334
|
-
protocol: _enum(["http", "https"])
|
|
39557
|
+
protocol: _enum(["http", "https"]),
|
|
39558
|
+
/**
|
|
39559
|
+
* Whether this address survives a restart of its provider. `false` = it is
|
|
39560
|
+
* re-issued every time (a Quick tunnel's random `*.trycloudflare.com`); the
|
|
39561
|
+
* hub never selects such an address AUTOMATICALLY for a role (D860), though
|
|
39562
|
+
* it stays visible and an operator may still flag it. Absent = stable: every
|
|
39563
|
+
* provider except a Quick tunnel owns a name that does not change.
|
|
39564
|
+
*/
|
|
39565
|
+
stable: boolean().optional()
|
|
39566
|
+
});
|
|
39567
|
+
object({
|
|
39568
|
+
url: string(),
|
|
39569
|
+
/** Mirrors {@link NetworkEndpointSchema} `stable`; absent = stable. */
|
|
39570
|
+
stable: boolean().optional(),
|
|
39571
|
+
updated: boolean().optional()
|
|
39335
39572
|
});
|
|
39336
39573
|
var NetworkAccessStatusSchema = object({
|
|
39337
39574
|
connected: boolean(),
|
|
@@ -49922,7 +50159,20 @@ var SsoBridgeClaimsSchema = object({
|
|
|
49922
50159
|
* request to present the matching cookie — a login bridge is useless in
|
|
49923
50160
|
* any other browser.
|
|
49924
50161
|
*/
|
|
49925
|
-
browserBinding: string().optional()
|
|
50162
|
+
browserBinding: string().optional(),
|
|
50163
|
+
/**
|
|
50164
|
+
* The native app that started this sign-in (D858): its PKCE challenge,
|
|
50165
|
+
* `state`, purpose and allow-listed return URL, copied from the server-side
|
|
50166
|
+
* pending OIDC state. A bridge carrying it is finished ONLY at
|
|
50167
|
+
* `/api/auth/sso/finish-app` (which mints a handoff code, never a web
|
|
50168
|
+
* session); `/api/auth/sso/finish` refuses it.
|
|
50169
|
+
*/
|
|
50170
|
+
app: object({
|
|
50171
|
+
codeChallenge: string(),
|
|
50172
|
+
state: string(),
|
|
50173
|
+
purpose: _enum(["new-session", "step-up"]),
|
|
50174
|
+
redirect: string()
|
|
50175
|
+
}).optional()
|
|
49926
50176
|
});
|
|
49927
50177
|
method(object({
|
|
49928
50178
|
claims: SsoBridgeClaimsSchema,
|
|
@@ -52128,7 +52378,12 @@ var SearchResultSchema = object({
|
|
|
52128
52378
|
publishedAt: string(),
|
|
52129
52379
|
author: string(),
|
|
52130
52380
|
installed: boolean(),
|
|
52131
|
-
installedVersion: string().optional()
|
|
52381
|
+
installedVersion: string().optional(),
|
|
52382
|
+
/**
|
|
52383
|
+
* Capability names the package's addons declare (from its published
|
|
52384
|
+
* manifest). `null` = the registry lookup failed — unknown, never `[]` (D393).
|
|
52385
|
+
*/
|
|
52386
|
+
capabilities: array(string()).readonly().nullable()
|
|
52132
52387
|
});
|
|
52133
52388
|
var AutoUpdateSettingsSchema = object({
|
|
52134
52389
|
channel: ChannelSchema,
|
|
@@ -52290,7 +52545,11 @@ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSc
|
|
|
52290
52545
|
}), method(object({ packageName: string().optional() }), PackageInstallationsSchema, { auth: "admin" }), method(_void(), ReloadPackagesResultSchema, {
|
|
52291
52546
|
kind: "mutation",
|
|
52292
52547
|
auth: "admin"
|
|
52293
|
-
}), method(object({
|
|
52548
|
+
}), method(object({
|
|
52549
|
+
query: string().optional(),
|
|
52550
|
+
/** Only packages whose addons declare this capability (unknown ones excluded). */
|
|
52551
|
+
capability: string().optional()
|
|
52552
|
+
}), array(SearchResultSchema)), method(object({ nodeId: string().optional() }), array(PackageUpdateSchema).readonly(), { auth: "admin" }), method(object({
|
|
52294
52553
|
name: string().min(1),
|
|
52295
52554
|
version: string().optional(),
|
|
52296
52555
|
nodeId: string().optional()
|
|
@@ -54698,7 +54957,13 @@ var ConnectionEndpointSchema = object({
|
|
|
54698
54957
|
* calls so the client can sort even if the cap returns a new
|
|
54699
54958
|
* ordering between polls.
|
|
54700
54959
|
*/
|
|
54701
|
-
priority: number()
|
|
54960
|
+
priority: number(),
|
|
54961
|
+
/**
|
|
54962
|
+
* `false` = the address changes on its own (a Quick tunnel, re-issued on
|
|
54963
|
+
* every respawn). Automatic role resolution skips it (D860); an explicit
|
|
54964
|
+
* operator flag still honours it. Absent = stable.
|
|
54965
|
+
*/
|
|
54966
|
+
stable: boolean().optional()
|
|
54702
54967
|
});
|
|
54703
54968
|
/**
|
|
54704
54969
|
* Where the advertised local port came from. Ordered most → least
|
|
@@ -55327,7 +55592,7 @@ var MotionOnMotionChangedDataSchema = object({
|
|
|
55327
55592
|
/** Who started it (D672). Absent = the camera itself. Only `onboard` carries `sensor`. */
|
|
55328
55593
|
triggeredBy: MotionTriggeredBySchema.optional()
|
|
55329
55594
|
});
|
|
55330
|
-
DeviceType.Camera, DeviceType.Sensor, method(object({ deviceId: number() }), boolean());
|
|
55595
|
+
DeviceType.Camera, DeviceType.Sensor, method(object({ deviceId: number() }), boolean()), DeviceType.Camera;
|
|
55331
55596
|
object({
|
|
55332
55597
|
enabled: boolean(),
|
|
55333
55598
|
/** Ms epoch of the last operator-driven change. */
|
|
@@ -63062,6 +63327,66 @@ Object.freeze({
|
|
|
63062
63327
|
addonId: null,
|
|
63063
63328
|
access: "create"
|
|
63064
63329
|
},
|
|
63330
|
+
"deviceHistory.declareSeries": {
|
|
63331
|
+
capName: "device-history",
|
|
63332
|
+
capScope: "system",
|
|
63333
|
+
addonId: null,
|
|
63334
|
+
access: "create"
|
|
63335
|
+
},
|
|
63336
|
+
"deviceHistory.getDeviceEnabled": {
|
|
63337
|
+
capName: "device-history",
|
|
63338
|
+
capScope: "system",
|
|
63339
|
+
addonId: null,
|
|
63340
|
+
access: "view"
|
|
63341
|
+
},
|
|
63342
|
+
"deviceHistory.getStatus": {
|
|
63343
|
+
capName: "device-history",
|
|
63344
|
+
capScope: "system",
|
|
63345
|
+
addonId: null,
|
|
63346
|
+
access: "view"
|
|
63347
|
+
},
|
|
63348
|
+
"deviceHistory.listNodeSeries": {
|
|
63349
|
+
capName: "device-history",
|
|
63350
|
+
capScope: "system",
|
|
63351
|
+
addonId: null,
|
|
63352
|
+
access: "view"
|
|
63353
|
+
},
|
|
63354
|
+
"deviceHistory.listSeries": {
|
|
63355
|
+
capName: "device-history",
|
|
63356
|
+
capScope: "system",
|
|
63357
|
+
addonId: null,
|
|
63358
|
+
access: "view"
|
|
63359
|
+
},
|
|
63360
|
+
"deviceHistory.query": {
|
|
63361
|
+
capName: "device-history",
|
|
63362
|
+
capScope: "system",
|
|
63363
|
+
addonId: null,
|
|
63364
|
+
access: "view"
|
|
63365
|
+
},
|
|
63366
|
+
"deviceHistory.queryNode": {
|
|
63367
|
+
capName: "device-history",
|
|
63368
|
+
capScope: "system",
|
|
63369
|
+
addonId: null,
|
|
63370
|
+
access: "view"
|
|
63371
|
+
},
|
|
63372
|
+
"deviceHistory.record": {
|
|
63373
|
+
capName: "device-history",
|
|
63374
|
+
capScope: "system",
|
|
63375
|
+
addonId: null,
|
|
63376
|
+
access: "create"
|
|
63377
|
+
},
|
|
63378
|
+
"deviceHistory.recordBuckets": {
|
|
63379
|
+
capName: "device-history",
|
|
63380
|
+
capScope: "system",
|
|
63381
|
+
addonId: null,
|
|
63382
|
+
access: "create"
|
|
63383
|
+
},
|
|
63384
|
+
"deviceHistory.setDeviceEnabled": {
|
|
63385
|
+
capName: "device-history",
|
|
63386
|
+
capScope: "system",
|
|
63387
|
+
addonId: null,
|
|
63388
|
+
access: "create"
|
|
63389
|
+
},
|
|
63065
63390
|
"deviceManager.addLocation": {
|
|
63066
63391
|
capName: "device-manager",
|
|
63067
63392
|
capScope: "system",
|
|
@@ -65126,6 +65451,12 @@ Object.freeze({
|
|
|
65126
65451
|
addonId: null,
|
|
65127
65452
|
access: "create"
|
|
65128
65453
|
},
|
|
65454
|
+
"nodeCertificates.forgetHub": {
|
|
65455
|
+
capName: "node-certificates",
|
|
65456
|
+
capScope: "system",
|
|
65457
|
+
addonId: null,
|
|
65458
|
+
access: "delete"
|
|
65459
|
+
},
|
|
65129
65460
|
"nodeCertificates.getCertificates": {
|
|
65130
65461
|
capName: "node-certificates",
|
|
65131
65462
|
capScope: "system",
|
|
@@ -69853,6 +70184,26 @@ Object.freeze({
|
|
|
69853
70184
|
form: "single",
|
|
69854
70185
|
optional: false
|
|
69855
70186
|
}],
|
|
70187
|
+
"deviceHistory.getDeviceEnabled": [{
|
|
70188
|
+
name: "deviceId",
|
|
70189
|
+
form: "single",
|
|
70190
|
+
optional: false
|
|
70191
|
+
}],
|
|
70192
|
+
"deviceHistory.listSeries": [{
|
|
70193
|
+
name: "deviceId",
|
|
70194
|
+
form: "single",
|
|
70195
|
+
optional: false
|
|
70196
|
+
}],
|
|
70197
|
+
"deviceHistory.query": [{
|
|
70198
|
+
name: "deviceId",
|
|
70199
|
+
form: "single",
|
|
70200
|
+
optional: false
|
|
70201
|
+
}],
|
|
70202
|
+
"deviceHistory.setDeviceEnabled": [{
|
|
70203
|
+
name: "deviceId",
|
|
70204
|
+
form: "single",
|
|
70205
|
+
optional: false
|
|
70206
|
+
}],
|
|
69856
70207
|
"deviceManager.adoptionRelease": [{
|
|
69857
70208
|
name: "camDeviceId",
|
|
69858
70209
|
form: "single",
|
|
@@ -72031,6 +72382,7 @@ Object.freeze({
|
|
|
72031
72382
|
"network-access": "ingress",
|
|
72032
72383
|
"smtp-provider": "email"
|
|
72033
72384
|
});
|
|
72385
|
+
DeviceType.Camera;
|
|
72034
72386
|
var G711_SCALE_CORRECTION_DB = {
|
|
72035
72387
|
PCMU: 20 * Math.log10(4),
|
|
72036
72388
|
PCMA: 20 * Math.log10(8)
|
|
@@ -73875,6 +74227,16 @@ Object.freeze({
|
|
|
73875
74227
|
"pageSize": 50
|
|
73876
74228
|
} },
|
|
73877
74229
|
"device-credentials": { "listDeviceCredentials": { "includeRevoked": false } },
|
|
74230
|
+
"device-history": {
|
|
74231
|
+
"query": {
|
|
74232
|
+
"resolution": "auto",
|
|
74233
|
+
"maxPoints": 1e3
|
|
74234
|
+
},
|
|
74235
|
+
"queryNode": {
|
|
74236
|
+
"resolution": "auto",
|
|
74237
|
+
"maxPoints": 1e3
|
|
74238
|
+
}
|
|
74239
|
+
},
|
|
73878
74240
|
"device-manager": { "adoptionListCandidates": {
|
|
73879
74241
|
"page": 1,
|
|
73880
74242
|
"pageSize": 50
|