@camstack/addon-osd-manager 0.1.240 → 0.1.242
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-G8UCebu1.mjs → MotionZonesSettings-BvLGv1T6.mjs} +2 -2
- package/dist/{PrivacyMaskSettings-2NTC9B3W.mjs → PrivacyMaskSettings-BP1o-8R3.mjs} +4 -4
- package/dist/{SceneMonitorEditor-ByMmaROK.mjs → SceneMonitorEditor-DdOZGeyN.mjs} +3 -3
- package/dist/_stub.js +2764 -2730
- package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-YPnn4L9J.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-X3Ix1Fi3.mjs} +3 -3
- package/dist/{_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BFkoKPX3.mjs → _virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C23HfCvI.mjs} +1 -1
- package/dist/{hostInit-DX8e2Ucg.mjs → hostInit-CCC6cRfD.mjs} +2 -2
- package/dist/index.js +163 -11
- package/dist/index.mjs +163 -11
- package/dist/{player-overlays-B9Leo3bK.mjs → player-overlays-wuFmgQhe.mjs} +1 -1
- package/dist/remoteEntry.js +1 -1
- package/dist/{responsive-DCFnF6WM.mjs → responsive-CBm_gJiZ.mjs} +1 -1
- package/dist/{scene-monitor-copy-B3PBzmS-.mjs → scene-monitor-copy-Ds8DsHQ7.mjs} +1 -1
- package/dist/{square-CvNDzXRw.mjs → square-B_a9tj8L.mjs} +1 -1
- package/dist/{trash-2-DHcGMoei.mjs → trash-2-ZC2TxXnK.mjs} +1 -1
- package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-JtBdHzmK.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-ChxZqQtq.mjs} +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
//#region ../types/dist/event-category-
|
|
5
|
+
//#region ../types/dist/event-category-BvOFi6PY.mjs
|
|
6
6
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
7
7
|
EventCategory["SystemBoot"] = "system.boot";
|
|
8
8
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -66,6 +66,24 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
66
66
|
* consumes this category and maps it to the `addon-crash-loop` kind.
|
|
67
67
|
*/
|
|
68
68
|
EventCategory["AddonRunnerFailed"] = "addon.runner-failed";
|
|
69
|
+
/**
|
|
70
|
+
* A runner whose addon refused to start with a typed reason (D877) - parked
|
|
71
|
+
* in `refused`, never counted by the crash breaker, retried on operator
|
|
72
|
+
* action. One event per refusal.
|
|
73
|
+
*/
|
|
74
|
+
EventCategory["AddonRunnerRefused"] = "addon.runner-refused";
|
|
75
|
+
/**
|
|
76
|
+
* A runner settled on a state (D877): `running` (READY), `crashed`, `failed` or
|
|
77
|
+
* `refused`. In-process telemetry for the boot check (re-evaluate while any
|
|
78
|
+
* runner is still pending) and the alert centre (close a recovered runner).
|
|
79
|
+
*/
|
|
80
|
+
EventCategory["ProcessStateChanged"] = "process.state-changed";
|
|
81
|
+
/**
|
|
82
|
+
* The node's one-shot runner boot check (D877): planned runners against the
|
|
83
|
+
* process service, `degraded` when any is failed, refused or missing. The
|
|
84
|
+
* alert centre turns it into one alert and a direct critical push.
|
|
85
|
+
*/
|
|
86
|
+
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
69
87
|
EventCategory["AddonError"] = "addon.error";
|
|
70
88
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
71
89
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5390,7 +5408,7 @@ var ZodIssueCode = {
|
|
|
5390
5408
|
var ZodFirstPartyTypeKind;
|
|
5391
5409
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5392
5410
|
//#endregion
|
|
5393
|
-
//#region ../types/dist/sleep-
|
|
5411
|
+
//#region ../types/dist/sleep-bgZLodYc.mjs
|
|
5394
5412
|
/**
|
|
5395
5413
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5396
5414
|
* window to float samples (D455).
|
|
@@ -8255,7 +8273,7 @@ object({
|
|
|
8255
8273
|
params: record(string(), union([string(), number()])).optional()
|
|
8256
8274
|
});
|
|
8257
8275
|
//#endregion
|
|
8258
|
-
//#region ../types/dist/err-msg
|
|
8276
|
+
//#region ../types/dist/err-msg--2RrYiLO.mjs
|
|
8259
8277
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8260
8278
|
DeviceType["Camera"] = "camera";
|
|
8261
8279
|
DeviceType["Hub"] = "hub";
|
|
@@ -8524,6 +8542,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8524
8542
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
8525
8543
|
* real Switch device for UI rendering / export adapters. */
|
|
8526
8544
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
8545
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
8546
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
8547
|
+
DeviceRole["Outlet"] = "outlet";
|
|
8527
8548
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
8528
8549
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
8529
8550
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -8591,7 +8612,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8591
8612
|
return DeviceRole;
|
|
8592
8613
|
}({});
|
|
8593
8614
|
//#endregion
|
|
8594
|
-
//#region ../types/dist/composition-
|
|
8615
|
+
//#region ../types/dist/composition-DOwQB_Ua.mjs
|
|
8595
8616
|
/**
|
|
8596
8617
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8597
8618
|
*
|
|
@@ -38833,6 +38854,36 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
38833
38854
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
38834
38855
|
});
|
|
38835
38856
|
/**
|
|
38857
|
+
* The report of a one-shot "move this owner's plaintext secrets into the
|
|
38858
|
+
* keychain" run (D878). COUNTS only - never a value, never a ref.
|
|
38859
|
+
*
|
|
38860
|
+
* The owner runs it on its own rows, through its own write path; an operator
|
|
38861
|
+
* script (`scripts/hub/migrate-raw-secrets.ts`) calls the owner's cap method.
|
|
38862
|
+
* Dry run (`apply: false`) reports what WOULD move and changes nothing.
|
|
38863
|
+
*/
|
|
38864
|
+
var RawSecretMigrationInputSchema = object({
|
|
38865
|
+
/** `false` (the default of the script) = report only. */
|
|
38866
|
+
apply: boolean() });
|
|
38867
|
+
var RawSecretMigrationReportSchema = object({
|
|
38868
|
+
apply: boolean(),
|
|
38869
|
+
/** Rows that can carry a secret (a profile, an enrolment). */
|
|
38870
|
+
rows: number().int(),
|
|
38871
|
+
/** Rows whose secret was plaintext when the run started. */
|
|
38872
|
+
raw: number().int(),
|
|
38873
|
+
/** Rows that already held a keychain marker when the run started. */
|
|
38874
|
+
markers: number().int(),
|
|
38875
|
+
/** Plaintext rows moved by THIS run (always 0 on a dry run). */
|
|
38876
|
+
migrated: number().int(),
|
|
38877
|
+
/** Plaintext rows left in place because the move or its read-back failed. */
|
|
38878
|
+
failed: number().int(),
|
|
38879
|
+
/** After the run: rows still holding plaintext. */
|
|
38880
|
+
remainingRaw: number().int(),
|
|
38881
|
+
/** After the run: markers the keychain could not resolve right now. */
|
|
38882
|
+
unresolvedMarkers: number().int(),
|
|
38883
|
+
/** True when nothing is raw and every marker resolves. */
|
|
38884
|
+
verified: boolean()
|
|
38885
|
+
});
|
|
38886
|
+
/**
|
|
38836
38887
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
38837
38888
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
38838
38889
|
* provider by the `addonId` in the call input (the notification-output
|
|
@@ -39017,6 +39068,9 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
39017
39068
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
39018
39069
|
kind: "mutation",
|
|
39019
39070
|
auth: "admin"
|
|
39071
|
+
}), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
39072
|
+
kind: "mutation",
|
|
39073
|
+
auth: "admin"
|
|
39020
39074
|
}), method(ProfileRefInputSchema, _void(), {
|
|
39021
39075
|
kind: "mutation",
|
|
39022
39076
|
auth: "admin"
|
|
@@ -50008,6 +50062,41 @@ var ServerRollbackInfoSchema = object({
|
|
|
50008
50062
|
atMs: number(),
|
|
50009
50063
|
reason: string()
|
|
50010
50064
|
});
|
|
50065
|
+
/**
|
|
50066
|
+
* The runner boot check (D877): the runners this node PLANNED (hub: one per
|
|
50067
|
+
* `resolveRunnerId` over its forked addons; agent: the runners its process
|
|
50068
|
+
* service holds, because only the hub plans) against the states the process
|
|
50069
|
+
* service reports. Kept in memory, recomputed by the same one-shot check after
|
|
50070
|
+
* every boot, served on `getServerPackageStatus`.
|
|
50071
|
+
*
|
|
50072
|
+
* `failed` is the D6 breaker's terminal state, `refused` a deterministic Init
|
|
50073
|
+
* refusal (an addon that said "I will not start, and here is why"), `missing` a
|
|
50074
|
+
* planned runner the process service has no entry for.
|
|
50075
|
+
*/
|
|
50076
|
+
var RunnerRefusalSchema = object({
|
|
50077
|
+
runnerId: string(),
|
|
50078
|
+
addonIds: array(string()),
|
|
50079
|
+
reason: string()
|
|
50080
|
+
});
|
|
50081
|
+
var RunnerBootCheckSchema = object({
|
|
50082
|
+
checkedAtMs: number(),
|
|
50083
|
+
/** Runners planned for this node. */
|
|
50084
|
+
expected: number(),
|
|
50085
|
+
/** Planned runners whose process is `running`. */
|
|
50086
|
+
running: number(),
|
|
50087
|
+
failed: array(string()),
|
|
50088
|
+
refused: array(RunnerRefusalSchema),
|
|
50089
|
+
missing: array(string()),
|
|
50090
|
+
/**
|
|
50091
|
+
* Runners still on their way: `starting`, or `crashed` waiting on a backoff
|
|
50092
|
+
* respawn. The check is FINAL only when this is empty; until then nothing is
|
|
50093
|
+
* pushed and the verdict is re-evaluated on the next runner state change.
|
|
50094
|
+
* Optional for version skew (absent = settled).
|
|
50095
|
+
*/
|
|
50096
|
+
pending: array(string()).optional(),
|
|
50097
|
+
/** True when the plan is the hub's (`missing` is then meaningful); false on an agent. */
|
|
50098
|
+
planKnown: boolean()
|
|
50099
|
+
});
|
|
50011
50100
|
var ServerPackageStatusSchema = object({
|
|
50012
50101
|
/** Root package name (`@camstack/server` on the hub). */
|
|
50013
50102
|
packageName: string(),
|
|
@@ -50070,7 +50159,14 @@ var ServerPackageStatusSchema = object({
|
|
|
50070
50159
|
* for version skew: an older provider's payload simply omits it, and an
|
|
50071
50160
|
* absent wrapper is unknown — never `native`.
|
|
50072
50161
|
*/
|
|
50073
|
-
wrapper: WrapperIdentitySchema.optional()
|
|
50162
|
+
wrapper: WrapperIdentitySchema.optional(),
|
|
50163
|
+
/**
|
|
50164
|
+
* What this node PLANNED to run against what its process service reports
|
|
50165
|
+
* (D877). Absent until the one-shot boot check has run (~60 s after boot) and
|
|
50166
|
+
* on a provider that predates it. Absent is "not checked yet", never "all
|
|
50167
|
+
* well": a consumer that needs the answer treats it as pending.
|
|
50168
|
+
*/
|
|
50169
|
+
runners: RunnerBootCheckSchema.optional()
|
|
50074
50170
|
});
|
|
50075
50171
|
var ServerUpdateCheckResultSchema = object({
|
|
50076
50172
|
packageName: string(),
|
|
@@ -50121,6 +50217,13 @@ var ServerUpdateOutcomeSchema = _enum([
|
|
|
50121
50217
|
"refused",
|
|
50122
50218
|
"failed"
|
|
50123
50219
|
]);
|
|
50220
|
+
/** One addon the pre-flight found the target version would refuse (D877). */
|
|
50221
|
+
var UpdateBlockerSchema = object({
|
|
50222
|
+
addonId: string(),
|
|
50223
|
+
reason: string(),
|
|
50224
|
+
/** What the operator does about it. */
|
|
50225
|
+
remedy: string()
|
|
50226
|
+
});
|
|
50124
50227
|
var ServerUpdateActionResultSchema = object({
|
|
50125
50228
|
accepted: boolean(),
|
|
50126
50229
|
targetVersion: string().nullable(),
|
|
@@ -50138,14 +50241,27 @@ var ServerUpdateActionResultSchema = object({
|
|
|
50138
50241
|
* The failure itself, verbatim enough to act on (the npm output for a
|
|
50139
50242
|
* staging install). Non-null only for `failed`.
|
|
50140
50243
|
*/
|
|
50141
|
-
error: string().nullable().optional()
|
|
50244
|
+
error: string().nullable().optional(),
|
|
50245
|
+
/**
|
|
50246
|
+
* The addons the target version would refuse to start on this node's live
|
|
50247
|
+
* store (D877), present when the pre-flight refused the update
|
|
50248
|
+
* (`reason: 'addon-would-refuse'`). Optional for version skew.
|
|
50249
|
+
*/
|
|
50250
|
+
blockers: array(UpdateBlockerSchema).optional()
|
|
50142
50251
|
});
|
|
50143
50252
|
method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), ServerUpdateCheckResultSchema, {
|
|
50144
50253
|
kind: "mutation",
|
|
50145
50254
|
auth: "admin"
|
|
50146
|
-
}), method(object({
|
|
50147
|
-
/** Explicit target version; omitted = latest from the registry. */
|
|
50148
|
-
version: string().optional()
|
|
50255
|
+
}), method(object({
|
|
50256
|
+
/** Explicit target version; omitted = latest from the registry. */
|
|
50257
|
+
version: string().optional(),
|
|
50258
|
+
/**
|
|
50259
|
+
* Apply even though the pre-flight (D877) found addons the target would
|
|
50260
|
+
* refuse to start. Off by default: those addons stay down until the
|
|
50261
|
+
* remedy is run, which is the incident this gate exists to prevent.
|
|
50262
|
+
*/
|
|
50263
|
+
acknowledgeRefusals: boolean().optional()
|
|
50264
|
+
}), ServerUpdateActionResultSchema, {
|
|
50149
50265
|
kind: "mutation",
|
|
50150
50266
|
auth: "admin",
|
|
50151
50267
|
timeoutMs: 16 * 6e4
|
|
@@ -52558,7 +52674,9 @@ var ManifestShapeSchema = object({
|
|
|
52558
52674
|
var AddonProcessSchema = object({
|
|
52559
52675
|
pid: number().optional(),
|
|
52560
52676
|
mode: string(),
|
|
52561
|
-
state: string()
|
|
52677
|
+
state: string(),
|
|
52678
|
+
/** Why the runner is `refused` (an addon's own words), when it is (D877). */
|
|
52679
|
+
reason: string().optional()
|
|
52562
52680
|
});
|
|
52563
52681
|
/**
|
|
52564
52682
|
* Per-addon health snapshot from the kernel's AddonHealthMonitor.
|
|
@@ -53561,6 +53679,12 @@ object({
|
|
|
53561
53679
|
/** Horizontal louver swing on/off. Null when the device has no
|
|
53562
53680
|
* horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
|
|
53563
53681
|
swingHorizontal: boolean().nullable(),
|
|
53682
|
+
/** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
53683
|
+
minTemp: number().nullable().optional(),
|
|
53684
|
+
/** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
53685
|
+
maxTemp: number().nullable().optional(),
|
|
53686
|
+
/** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
|
|
53687
|
+
tempStep: number().positive().nullable().optional(),
|
|
53564
53688
|
/** Ms epoch when the slice was last updated (push or command). */
|
|
53565
53689
|
lastFetchedAt: number()
|
|
53566
53690
|
});
|
|
@@ -60643,7 +60767,11 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
60643
60767
|
kind: "mutation",
|
|
60644
60768
|
auth: "admin",
|
|
60645
60769
|
access: "delete"
|
|
60646
|
-
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(
|
|
60770
|
+
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
60771
|
+
kind: "mutation",
|
|
60772
|
+
auth: "admin",
|
|
60773
|
+
access: "create"
|
|
60774
|
+
}), method(object({
|
|
60647
60775
|
userId: string(),
|
|
60648
60776
|
code: string()
|
|
60649
60777
|
}), object({ valid: boolean() }), {
|
|
@@ -65020,6 +65148,12 @@ Object.freeze({
|
|
|
65020
65148
|
addonId: null,
|
|
65021
65149
|
access: "view"
|
|
65022
65150
|
},
|
|
65151
|
+
"llm.migrateRawSecrets": {
|
|
65152
|
+
capName: "llm",
|
|
65153
|
+
capScope: "system",
|
|
65154
|
+
addonId: null,
|
|
65155
|
+
access: "create"
|
|
65156
|
+
},
|
|
65023
65157
|
"llm.resolveModelRef": {
|
|
65024
65158
|
capName: "llm",
|
|
65025
65159
|
capScope: "system",
|
|
@@ -69562,6 +69696,12 @@ Object.freeze({
|
|
|
69562
69696
|
addonId: null,
|
|
69563
69697
|
access: "view"
|
|
69564
69698
|
},
|
|
69699
|
+
"userManagement.migrateRawSecrets": {
|
|
69700
|
+
capName: "user-management",
|
|
69701
|
+
capScope: "system",
|
|
69702
|
+
addonId: null,
|
|
69703
|
+
access: "create"
|
|
69704
|
+
},
|
|
69565
69705
|
"userManagement.oauthExchangeCode": {
|
|
69566
69706
|
capName: "user-management",
|
|
69567
69707
|
capScope: "system",
|
|
@@ -75215,6 +75355,18 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
75215
75355
|
{
|
|
75216
75356
|
"path": "swingHorizontal",
|
|
75217
75357
|
"valueType": "boolean"
|
|
75358
|
+
},
|
|
75359
|
+
{
|
|
75360
|
+
"path": "minTemp",
|
|
75361
|
+
"valueType": "number"
|
|
75362
|
+
},
|
|
75363
|
+
{
|
|
75364
|
+
"path": "maxTemp",
|
|
75365
|
+
"valueType": "number"
|
|
75366
|
+
},
|
|
75367
|
+
{
|
|
75368
|
+
"path": "tempStep",
|
|
75369
|
+
"valueType": "number"
|
|
75218
75370
|
}
|
|
75219
75371
|
],
|
|
75220
75372
|
"color": [
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../types/dist/event-category-
|
|
1
|
+
//#region ../types/dist/event-category-BvOFi6PY.mjs
|
|
2
2
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
3
3
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4
4
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -62,6 +62,24 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
62
62
|
* consumes this category and maps it to the `addon-crash-loop` kind.
|
|
63
63
|
*/
|
|
64
64
|
EventCategory["AddonRunnerFailed"] = "addon.runner-failed";
|
|
65
|
+
/**
|
|
66
|
+
* A runner whose addon refused to start with a typed reason (D877) - parked
|
|
67
|
+
* in `refused`, never counted by the crash breaker, retried on operator
|
|
68
|
+
* action. One event per refusal.
|
|
69
|
+
*/
|
|
70
|
+
EventCategory["AddonRunnerRefused"] = "addon.runner-refused";
|
|
71
|
+
/**
|
|
72
|
+
* A runner settled on a state (D877): `running` (READY), `crashed`, `failed` or
|
|
73
|
+
* `refused`. In-process telemetry for the boot check (re-evaluate while any
|
|
74
|
+
* runner is still pending) and the alert centre (close a recovered runner).
|
|
75
|
+
*/
|
|
76
|
+
EventCategory["ProcessStateChanged"] = "process.state-changed";
|
|
77
|
+
/**
|
|
78
|
+
* The node's one-shot runner boot check (D877): planned runners against the
|
|
79
|
+
* process service, `degraded` when any is failed, refused or missing. The
|
|
80
|
+
* alert centre turns it into one alert and a direct critical push.
|
|
81
|
+
*/
|
|
82
|
+
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
65
83
|
EventCategory["AddonError"] = "addon.error";
|
|
66
84
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
67
85
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -5386,7 +5404,7 @@ var ZodIssueCode = {
|
|
|
5386
5404
|
var ZodFirstPartyTypeKind;
|
|
5387
5405
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5388
5406
|
//#endregion
|
|
5389
|
-
//#region ../types/dist/sleep-
|
|
5407
|
+
//#region ../types/dist/sleep-bgZLodYc.mjs
|
|
5390
5408
|
/**
|
|
5391
5409
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5392
5410
|
* window to float samples (D455).
|
|
@@ -8251,7 +8269,7 @@ object({
|
|
|
8251
8269
|
params: record(string(), union([string(), number()])).optional()
|
|
8252
8270
|
});
|
|
8253
8271
|
//#endregion
|
|
8254
|
-
//#region ../types/dist/err-msg
|
|
8272
|
+
//#region ../types/dist/err-msg--2RrYiLO.mjs
|
|
8255
8273
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
8256
8274
|
DeviceType["Camera"] = "camera";
|
|
8257
8275
|
DeviceType["Hub"] = "hub";
|
|
@@ -8520,6 +8538,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8520
8538
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
8521
8539
|
* real Switch device for UI rendering / export adapters. */
|
|
8522
8540
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
8541
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
8542
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
8543
|
+
DeviceRole["Outlet"] = "outlet";
|
|
8523
8544
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
8524
8545
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
8525
8546
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -8587,7 +8608,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
8587
8608
|
return DeviceRole;
|
|
8588
8609
|
}({});
|
|
8589
8610
|
//#endregion
|
|
8590
|
-
//#region ../types/dist/composition-
|
|
8611
|
+
//#region ../types/dist/composition-DOwQB_Ua.mjs
|
|
8591
8612
|
/**
|
|
8592
8613
|
* The ffmpeg build every CamStack node downloads, per platform and arch.
|
|
8593
8614
|
*
|
|
@@ -38829,6 +38850,36 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
38829
38850
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
38830
38851
|
});
|
|
38831
38852
|
/**
|
|
38853
|
+
* The report of a one-shot "move this owner's plaintext secrets into the
|
|
38854
|
+
* keychain" run (D878). COUNTS only - never a value, never a ref.
|
|
38855
|
+
*
|
|
38856
|
+
* The owner runs it on its own rows, through its own write path; an operator
|
|
38857
|
+
* script (`scripts/hub/migrate-raw-secrets.ts`) calls the owner's cap method.
|
|
38858
|
+
* Dry run (`apply: false`) reports what WOULD move and changes nothing.
|
|
38859
|
+
*/
|
|
38860
|
+
var RawSecretMigrationInputSchema = object({
|
|
38861
|
+
/** `false` (the default of the script) = report only. */
|
|
38862
|
+
apply: boolean() });
|
|
38863
|
+
var RawSecretMigrationReportSchema = object({
|
|
38864
|
+
apply: boolean(),
|
|
38865
|
+
/** Rows that can carry a secret (a profile, an enrolment). */
|
|
38866
|
+
rows: number().int(),
|
|
38867
|
+
/** Rows whose secret was plaintext when the run started. */
|
|
38868
|
+
raw: number().int(),
|
|
38869
|
+
/** Rows that already held a keychain marker when the run started. */
|
|
38870
|
+
markers: number().int(),
|
|
38871
|
+
/** Plaintext rows moved by THIS run (always 0 on a dry run). */
|
|
38872
|
+
migrated: number().int(),
|
|
38873
|
+
/** Plaintext rows left in place because the move or its read-back failed. */
|
|
38874
|
+
failed: number().int(),
|
|
38875
|
+
/** After the run: rows still holding plaintext. */
|
|
38876
|
+
remainingRaw: number().int(),
|
|
38877
|
+
/** After the run: markers the keychain could not resolve right now. */
|
|
38878
|
+
unresolvedMarkers: number().int(),
|
|
38879
|
+
/** True when nothing is raw and every marker resolves. */
|
|
38880
|
+
verified: boolean()
|
|
38881
|
+
});
|
|
38882
|
+
/**
|
|
38832
38883
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
38833
38884
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
38834
38885
|
* provider by the `addonId` in the call input (the notification-output
|
|
@@ -39013,6 +39064,9 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
39013
39064
|
}), _void(), { kind: "mutation" }), method(object({}), array(LlmProfileKindDescriptorSchema)), method(object({}), array(LlmProfileSchema)), method(object({ profile: LlmProfileSchema }), LlmProfileSchema, {
|
|
39014
39065
|
kind: "mutation",
|
|
39015
39066
|
auth: "admin"
|
|
39067
|
+
}), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
39068
|
+
kind: "mutation",
|
|
39069
|
+
auth: "admin"
|
|
39016
39070
|
}), method(ProfileRefInputSchema, _void(), {
|
|
39017
39071
|
kind: "mutation",
|
|
39018
39072
|
auth: "admin"
|
|
@@ -50004,6 +50058,41 @@ var ServerRollbackInfoSchema = object({
|
|
|
50004
50058
|
atMs: number(),
|
|
50005
50059
|
reason: string()
|
|
50006
50060
|
});
|
|
50061
|
+
/**
|
|
50062
|
+
* The runner boot check (D877): the runners this node PLANNED (hub: one per
|
|
50063
|
+
* `resolveRunnerId` over its forked addons; agent: the runners its process
|
|
50064
|
+
* service holds, because only the hub plans) against the states the process
|
|
50065
|
+
* service reports. Kept in memory, recomputed by the same one-shot check after
|
|
50066
|
+
* every boot, served on `getServerPackageStatus`.
|
|
50067
|
+
*
|
|
50068
|
+
* `failed` is the D6 breaker's terminal state, `refused` a deterministic Init
|
|
50069
|
+
* refusal (an addon that said "I will not start, and here is why"), `missing` a
|
|
50070
|
+
* planned runner the process service has no entry for.
|
|
50071
|
+
*/
|
|
50072
|
+
var RunnerRefusalSchema = object({
|
|
50073
|
+
runnerId: string(),
|
|
50074
|
+
addonIds: array(string()),
|
|
50075
|
+
reason: string()
|
|
50076
|
+
});
|
|
50077
|
+
var RunnerBootCheckSchema = object({
|
|
50078
|
+
checkedAtMs: number(),
|
|
50079
|
+
/** Runners planned for this node. */
|
|
50080
|
+
expected: number(),
|
|
50081
|
+
/** Planned runners whose process is `running`. */
|
|
50082
|
+
running: number(),
|
|
50083
|
+
failed: array(string()),
|
|
50084
|
+
refused: array(RunnerRefusalSchema),
|
|
50085
|
+
missing: array(string()),
|
|
50086
|
+
/**
|
|
50087
|
+
* Runners still on their way: `starting`, or `crashed` waiting on a backoff
|
|
50088
|
+
* respawn. The check is FINAL only when this is empty; until then nothing is
|
|
50089
|
+
* pushed and the verdict is re-evaluated on the next runner state change.
|
|
50090
|
+
* Optional for version skew (absent = settled).
|
|
50091
|
+
*/
|
|
50092
|
+
pending: array(string()).optional(),
|
|
50093
|
+
/** True when the plan is the hub's (`missing` is then meaningful); false on an agent. */
|
|
50094
|
+
planKnown: boolean()
|
|
50095
|
+
});
|
|
50007
50096
|
var ServerPackageStatusSchema = object({
|
|
50008
50097
|
/** Root package name (`@camstack/server` on the hub). */
|
|
50009
50098
|
packageName: string(),
|
|
@@ -50066,7 +50155,14 @@ var ServerPackageStatusSchema = object({
|
|
|
50066
50155
|
* for version skew: an older provider's payload simply omits it, and an
|
|
50067
50156
|
* absent wrapper is unknown — never `native`.
|
|
50068
50157
|
*/
|
|
50069
|
-
wrapper: WrapperIdentitySchema.optional()
|
|
50158
|
+
wrapper: WrapperIdentitySchema.optional(),
|
|
50159
|
+
/**
|
|
50160
|
+
* What this node PLANNED to run against what its process service reports
|
|
50161
|
+
* (D877). Absent until the one-shot boot check has run (~60 s after boot) and
|
|
50162
|
+
* on a provider that predates it. Absent is "not checked yet", never "all
|
|
50163
|
+
* well": a consumer that needs the answer treats it as pending.
|
|
50164
|
+
*/
|
|
50165
|
+
runners: RunnerBootCheckSchema.optional()
|
|
50070
50166
|
});
|
|
50071
50167
|
var ServerUpdateCheckResultSchema = object({
|
|
50072
50168
|
packageName: string(),
|
|
@@ -50117,6 +50213,13 @@ var ServerUpdateOutcomeSchema = _enum([
|
|
|
50117
50213
|
"refused",
|
|
50118
50214
|
"failed"
|
|
50119
50215
|
]);
|
|
50216
|
+
/** One addon the pre-flight found the target version would refuse (D877). */
|
|
50217
|
+
var UpdateBlockerSchema = object({
|
|
50218
|
+
addonId: string(),
|
|
50219
|
+
reason: string(),
|
|
50220
|
+
/** What the operator does about it. */
|
|
50221
|
+
remedy: string()
|
|
50222
|
+
});
|
|
50120
50223
|
var ServerUpdateActionResultSchema = object({
|
|
50121
50224
|
accepted: boolean(),
|
|
50122
50225
|
targetVersion: string().nullable(),
|
|
@@ -50134,14 +50237,27 @@ var ServerUpdateActionResultSchema = object({
|
|
|
50134
50237
|
* The failure itself, verbatim enough to act on (the npm output for a
|
|
50135
50238
|
* staging install). Non-null only for `failed`.
|
|
50136
50239
|
*/
|
|
50137
|
-
error: string().nullable().optional()
|
|
50240
|
+
error: string().nullable().optional(),
|
|
50241
|
+
/**
|
|
50242
|
+
* The addons the target version would refuse to start on this node's live
|
|
50243
|
+
* store (D877), present when the pre-flight refused the update
|
|
50244
|
+
* (`reason: 'addon-would-refuse'`). Optional for version skew.
|
|
50245
|
+
*/
|
|
50246
|
+
blockers: array(UpdateBlockerSchema).optional()
|
|
50138
50247
|
});
|
|
50139
50248
|
method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), ServerUpdateCheckResultSchema, {
|
|
50140
50249
|
kind: "mutation",
|
|
50141
50250
|
auth: "admin"
|
|
50142
|
-
}), method(object({
|
|
50143
|
-
/** Explicit target version; omitted = latest from the registry. */
|
|
50144
|
-
version: string().optional()
|
|
50251
|
+
}), method(object({
|
|
50252
|
+
/** Explicit target version; omitted = latest from the registry. */
|
|
50253
|
+
version: string().optional(),
|
|
50254
|
+
/**
|
|
50255
|
+
* Apply even though the pre-flight (D877) found addons the target would
|
|
50256
|
+
* refuse to start. Off by default: those addons stay down until the
|
|
50257
|
+
* remedy is run, which is the incident this gate exists to prevent.
|
|
50258
|
+
*/
|
|
50259
|
+
acknowledgeRefusals: boolean().optional()
|
|
50260
|
+
}), ServerUpdateActionResultSchema, {
|
|
50145
50261
|
kind: "mutation",
|
|
50146
50262
|
auth: "admin",
|
|
50147
50263
|
timeoutMs: 16 * 6e4
|
|
@@ -52554,7 +52670,9 @@ var ManifestShapeSchema = object({
|
|
|
52554
52670
|
var AddonProcessSchema = object({
|
|
52555
52671
|
pid: number().optional(),
|
|
52556
52672
|
mode: string(),
|
|
52557
|
-
state: string()
|
|
52673
|
+
state: string(),
|
|
52674
|
+
/** Why the runner is `refused` (an addon's own words), when it is (D877). */
|
|
52675
|
+
reason: string().optional()
|
|
52558
52676
|
});
|
|
52559
52677
|
/**
|
|
52560
52678
|
* Per-addon health snapshot from the kernel's AddonHealthMonitor.
|
|
@@ -53557,6 +53675,12 @@ object({
|
|
|
53557
53675
|
/** Horizontal louver swing on/off. Null when the device has no
|
|
53558
53676
|
* horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
|
|
53559
53677
|
swingHorizontal: boolean().nullable(),
|
|
53678
|
+
/** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
53679
|
+
minTemp: number().nullable().optional(),
|
|
53680
|
+
/** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
53681
|
+
maxTemp: number().nullable().optional(),
|
|
53682
|
+
/** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
|
|
53683
|
+
tempStep: number().positive().nullable().optional(),
|
|
53560
53684
|
/** Ms epoch when the slice was last updated (push or command). */
|
|
53561
53685
|
lastFetchedAt: number()
|
|
53562
53686
|
});
|
|
@@ -60639,7 +60763,11 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
60639
60763
|
kind: "mutation",
|
|
60640
60764
|
auth: "admin",
|
|
60641
60765
|
access: "delete"
|
|
60642
|
-
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(
|
|
60766
|
+
}), method(object({ userId: string() }), TotpStatusSchema, { auth: "admin" }), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
60767
|
+
kind: "mutation",
|
|
60768
|
+
auth: "admin",
|
|
60769
|
+
access: "create"
|
|
60770
|
+
}), method(object({
|
|
60643
60771
|
userId: string(),
|
|
60644
60772
|
code: string()
|
|
60645
60773
|
}), object({ valid: boolean() }), {
|
|
@@ -65016,6 +65144,12 @@ Object.freeze({
|
|
|
65016
65144
|
addonId: null,
|
|
65017
65145
|
access: "view"
|
|
65018
65146
|
},
|
|
65147
|
+
"llm.migrateRawSecrets": {
|
|
65148
|
+
capName: "llm",
|
|
65149
|
+
capScope: "system",
|
|
65150
|
+
addonId: null,
|
|
65151
|
+
access: "create"
|
|
65152
|
+
},
|
|
65019
65153
|
"llm.resolveModelRef": {
|
|
65020
65154
|
capName: "llm",
|
|
65021
65155
|
capScope: "system",
|
|
@@ -69558,6 +69692,12 @@ Object.freeze({
|
|
|
69558
69692
|
addonId: null,
|
|
69559
69693
|
access: "view"
|
|
69560
69694
|
},
|
|
69695
|
+
"userManagement.migrateRawSecrets": {
|
|
69696
|
+
capName: "user-management",
|
|
69697
|
+
capScope: "system",
|
|
69698
|
+
addonId: null,
|
|
69699
|
+
access: "create"
|
|
69700
|
+
},
|
|
69561
69701
|
"userManagement.oauthExchangeCode": {
|
|
69562
69702
|
capName: "user-management",
|
|
69563
69703
|
capScope: "system",
|
|
@@ -75211,6 +75351,18 @@ var CAP_STATE_LEAVES = Object.freeze({
|
|
|
75211
75351
|
{
|
|
75212
75352
|
"path": "swingHorizontal",
|
|
75213
75353
|
"valueType": "boolean"
|
|
75354
|
+
},
|
|
75355
|
+
{
|
|
75356
|
+
"path": "minTemp",
|
|
75357
|
+
"valueType": "number"
|
|
75358
|
+
},
|
|
75359
|
+
{
|
|
75360
|
+
"path": "maxTemp",
|
|
75361
|
+
"valueType": "number"
|
|
75362
|
+
},
|
|
75363
|
+
{
|
|
75364
|
+
"path": "tempStep",
|
|
75365
|
+
"valueType": "number"
|
|
75214
75366
|
}
|
|
75215
75367
|
],
|
|
75216
75368
|
"color": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, d as t, u as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import { n as i, r as a, t as o } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { c as s, l as c } from "./responsive-
|
|
3
|
+
import { c as s, l as c } from "./responsive-CBm_gJiZ.mjs";
|
|
4
4
|
var l = c("chevron-down", [["path", {
|
|
5
5
|
d: "m6 9 6 6 6-6",
|
|
6
6
|
key: "qrunsl"
|
package/dist/remoteEntry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-
|
|
1
|
+
import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_osd_manager_page__remoteEntry_js-ChxZqQtq.mjs";
|
|
2
2
|
export { t as get, e as init };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, d as t, g as n, i as r, l as i, n as a, r as o, u as s, v as c, y as l } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DalfdIDw.mjs";
|
|
3
|
-
import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-
|
|
3
|
+
import { i as u } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-C23HfCvI.mjs";
|
|
4
4
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
|
|
5
5
|
e();
|
|
6
6
|
var d = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), f = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), p = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), m = (e) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as e, g as t, l as n, v as r } from "./_virtual_mf___mfe_internal__addon_osd_manager_page__loadShare__react__loadShare__.js-C-pbjC7c.mjs";
|
|
2
2
|
import { n as i } from "./ui-text-BitwQ50T.mjs";
|
|
3
|
-
import { l as a } from "./responsive-
|
|
3
|
+
import { l as a } from "./responsive-CBm_gJiZ.mjs";
|
|
4
4
|
var o = a("camera", [["path", {
|
|
5
5
|
d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
|
|
6
6
|
key: "18u6gg"
|
|
@@ -2753,7 +2753,7 @@ async function rr(e) {
|
|
|
2753
2753
|
}
|
|
2754
2754
|
}
|
|
2755
2755
|
async function ir() {
|
|
2756
|
-
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-
|
|
2756
|
+
return tr ||= rr(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_osd_manager_page-X3Ix1Fi3.mjs")).catch((e) => {
|
|
2757
2757
|
throw tr = void 0, e;
|
|
2758
2758
|
}), tr;
|
|
2759
2759
|
}
|