@camstack/system 1.2.440 → 1.2.442
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-runner.js +72 -2
- package/dist/addon-runner.mjs +72 -2
- package/dist/auth/totp-manager.d.ts +46 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
- package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
- package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
- package/dist/builtins/alerts/alerts.addon.d.ts +41 -1
- package/dist/builtins/alerts/alerts.addon.js +638 -26
- package/dist/builtins/alerts/alerts.addon.mjs +638 -26
- package/dist/builtins/alerts/critical-push.d.ts +86 -0
- package/dist/builtins/alerts/runner-alert.d.ts +71 -0
- package/dist/builtins/autotrack/index.js +1 -1
- package/dist/builtins/autotrack/index.mjs +1 -1
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
- package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
- package/dist/builtins/calendars/calendars.addon.js +1 -1
- package/dist/builtins/calendars/calendars.addon.mjs +1 -1
- package/dist/builtins/camera-grid/index.js +1 -1
- package/dist/builtins/camera-grid/index.mjs +1 -1
- package/dist/builtins/composer/composer.addon.js +2 -2
- package/dist/builtins/composer/composer.addon.mjs +2 -2
- package/dist/builtins/console-logging/index.js +1 -1
- package/dist/builtins/console-logging/index.mjs +1 -1
- package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
- package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
- package/dist/builtins/device-manager/device-manager.addon.js +1 -1
- package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
- package/dist/builtins/hub-forwarder/index.js +1 -1
- package/dist/builtins/hub-forwarder/index.mjs +1 -1
- package/dist/builtins/keychain/index.js +3 -3
- package/dist/builtins/keychain/index.mjs +3 -3
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
- package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
- package/dist/builtins/local-auth/auth-schema.d.ts +1 -1
- package/dist/builtins/local-auth/local-auth.addon.js +226 -17
- package/dist/builtins/local-auth/local-auth.addon.mjs +226 -17
- package/dist/builtins/local-network/local-network.addon.js +2 -2
- package/dist/builtins/local-network/local-network.addon.mjs +2 -2
- package/dist/builtins/loki-logging/index.js +1 -1
- package/dist/builtins/loki-logging/index.mjs +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
- package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
- package/dist/builtins/platform-probe/index.js +1 -1
- package/dist/builtins/platform-probe/index.mjs +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
- package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
- package/dist/builtins/snapshot/index.js +1 -1
- package/dist/builtins/snapshot/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
- package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
- package/dist/builtins/sqlite-storage/index.js +1 -1
- package/dist/builtins/sqlite-storage/index.mjs +1 -1
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
- package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
- package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
- package/dist/builtins/system-config/system-config.addon.js +2 -2
- package/dist/builtins/system-config/system-config.addon.mjs +283 -283
- package/dist/builtins/winston-logging/index.js +1 -1
- package/dist/builtins/winston-logging/index.mjs +1 -1
- package/dist/{composition-sources-CS0D7imL.mjs → composition-sources-CftPpY4O.mjs} +1 -1
- package/dist/{composition-sources-cBG8fBTu.js → composition-sources-DmSEMtUD.js} +1 -1
- package/dist/{constants-CIzPjw7L.mjs → constants-2iWQ-Nx-.mjs} +1 -1
- package/dist/{constants-CRI3QzT4.js → constants-b7kpjuO4.js} +1 -1
- package/dist/{device-ca-DLKXYseS.mjs → device-ca-BJpYTAPg.mjs} +1 -1
- package/dist/{device-ca-DNHjts4_.js → device-ca-tKY_ZS9H.js} +1 -1
- package/dist/{dist-BKhlcYz6.js → dist-CyIHDLCg.js} +169 -10
- package/dist/{dist-9fcsrFU3.mjs → dist-DsrQYcLm.mjs} +164 -11
- package/dist/file-host-worker.js +1 -1
- package/dist/file-host-worker.mjs +1 -1
- package/dist/{hub-mdns-ciao-Dy2YjRqC.mjs → hub-mdns-ciao-BS2akjWx.mjs} +1 -1
- package/dist/{hub-mdns-ciao-3Zc9G9MS.js → hub-mdns-ciao-Da-0NEyr.js} +1 -1
- package/dist/index.js +142 -13
- package/dist/index.mjs +137 -14
- package/dist/kernel/addon-refused-error.d.ts +30 -0
- package/dist/kernel/index.d.ts +3 -0
- package/dist/kernel/legacy-blob-guard.d.ts +6 -1
- package/dist/kernel/moleculer/process-service.d.ts +16 -1
- package/dist/kernel/moleculer/runner-refusal.d.ts +27 -0
- package/dist/{restore-archive-49aZwkp8.js → restore-archive-Cdf09dHm.js} +1 -1
- package/dist/{restore-archive-DgvDecXM.mjs → restore-archive-RaA3uZ7H.mjs} +82 -82
- package/dist/{wal-maintenance-C041zn6V.js → wal-maintenance-C-bmkDhm.js} +0 -0
- package/dist/{wal-maintenance-BZGmF-3U.mjs → wal-maintenance-DE8QrreK.mjs} +0 -0
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
|
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
5
|
const require_chunk = require("../../chunk-Cek0wNdY.js");
|
|
6
|
-
const require_dist = require("../../dist-
|
|
6
|
+
const require_dist = require("../../dist-CyIHDLCg.js");
|
|
7
7
|
const require_formatter = require("../../formatter-DqAKDlvN.js");
|
|
8
8
|
let node_path = require("node:path");
|
|
9
9
|
node_path = require_chunk.__toESM(node_path);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { gn as logDestinationCapability, jr as BaseAddon } from "../../dist-
|
|
1
|
+
import { gn as logDestinationCapability, jr as BaseAddon } from "../../dist-DsrQYcLm.mjs";
|
|
2
2
|
import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
|
|
3
3
|
import * as path$1 from "node:path";
|
|
4
4
|
import path from "node:path";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Ar as errMsg, Cr as compositionSourceKey } from "./dist-
|
|
1
|
+
import { Ar as errMsg, Cr as compositionSourceKey } from "./dist-DsrQYcLm.mjs";
|
|
2
2
|
//#region src/builtins/core-blocks/composition-sources.ts
|
|
3
3
|
/**
|
|
4
4
|
* Describe what a composition reads and writes for SAVE-time validation
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
|
|
2
|
-
var MESH_CA_KEY_REF = require("./dist-
|
|
2
|
+
var MESH_CA_KEY_REF = require("./dist-CyIHDLCg.js").buildSecretRef({
|
|
3
3
|
owner: "system",
|
|
4
4
|
scope: { kind: "global" },
|
|
5
5
|
fieldPath: "meshCaKey"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as DEVICE_SAN_CREDENTIAL_PREFIX, O as DEVICE_SAN_USER_PREFIX, Wr as buildSecretRef } from "./dist-
|
|
1
|
+
import { D as DEVICE_SAN_CREDENTIAL_PREFIX, O as DEVICE_SAN_USER_PREFIX, Wr as buildSecretRef } from "./dist-DsrQYcLm.mjs";
|
|
2
2
|
import { S as backdatedNotBefore, a as KeyUsageFlags, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension } from "./x509.es-DK__ETIe.mjs";
|
|
3
3
|
import { X509Certificate, createPublicKey, randomBytes, verify, webcrypto } from "node:crypto";
|
|
4
4
|
//#region src/auth/jwt-signing-key.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
let zod = require("zod");
|
|
2
2
|
require("node:crypto");
|
|
3
|
-
//#region ../types/dist/event-category-
|
|
3
|
+
//#region ../types/dist/event-category-BvOFi6PY.mjs
|
|
4
4
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
5
5
|
EventCategory["SystemBoot"] = "system.boot";
|
|
6
6
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -64,6 +64,24 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
64
64
|
* consumes this category and maps it to the `addon-crash-loop` kind.
|
|
65
65
|
*/
|
|
66
66
|
EventCategory["AddonRunnerFailed"] = "addon.runner-failed";
|
|
67
|
+
/**
|
|
68
|
+
* A runner whose addon refused to start with a typed reason (D877) - parked
|
|
69
|
+
* in `refused`, never counted by the crash breaker, retried on operator
|
|
70
|
+
* action. One event per refusal.
|
|
71
|
+
*/
|
|
72
|
+
EventCategory["AddonRunnerRefused"] = "addon.runner-refused";
|
|
73
|
+
/**
|
|
74
|
+
* A runner settled on a state (D877): `running` (READY), `crashed`, `failed` or
|
|
75
|
+
* `refused`. In-process telemetry for the boot check (re-evaluate while any
|
|
76
|
+
* runner is still pending) and the alert centre (close a recovered runner).
|
|
77
|
+
*/
|
|
78
|
+
EventCategory["ProcessStateChanged"] = "process.state-changed";
|
|
79
|
+
/**
|
|
80
|
+
* The node's one-shot runner boot check (D877): planned runners against the
|
|
81
|
+
* process service, `degraded` when any is failed, refused or missing. The
|
|
82
|
+
* alert centre turns it into one alert and a direct critical push.
|
|
83
|
+
*/
|
|
84
|
+
EventCategory["SystemRunnerCheck"] = "system.runner-check";
|
|
67
85
|
EventCategory["AddonError"] = "addon.error";
|
|
68
86
|
EventCategory["AddonPageReady"] = "addon.page-ready";
|
|
69
87
|
EventCategory["AddonWidgetReady"] = "addon.widget-ready";
|
|
@@ -718,7 +736,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
718
736
|
return EventCategory;
|
|
719
737
|
}({});
|
|
720
738
|
//#endregion
|
|
721
|
-
//#region ../types/dist/sleep-
|
|
739
|
+
//#region ../types/dist/sleep-bgZLodYc.mjs
|
|
722
740
|
/**
|
|
723
741
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
724
742
|
* window to float samples (D455).
|
|
@@ -4607,7 +4625,7 @@ function sleep(ms) {
|
|
|
4607
4625
|
return new Promise((resolve) => setTimeout(resolve, Math.max(0, ms)));
|
|
4608
4626
|
}
|
|
4609
4627
|
//#endregion
|
|
4610
|
-
//#region ../types/dist/err-msg
|
|
4628
|
+
//#region ../types/dist/err-msg--2RrYiLO.mjs
|
|
4611
4629
|
var DeviceType = /* @__PURE__ */ function(DeviceType) {
|
|
4612
4630
|
DeviceType["Camera"] = "camera";
|
|
4613
4631
|
DeviceType["Hub"] = "hub";
|
|
@@ -4876,6 +4894,9 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
4876
4894
|
/** Virtual HA toggle (input_boolean.*) — distinguishable from a
|
|
4877
4895
|
* real Switch device for UI rendering / export adapters. */
|
|
4878
4896
|
DeviceRole["BinaryHelper"] = "binary-helper";
|
|
4897
|
+
/** A smart plug: a `switch` whose source says it is an outlet (HA
|
|
4898
|
+
* `device_class: outlet`). The Alexa export shows it as a SMARTPLUG. */
|
|
4899
|
+
DeviceRole["Outlet"] = "outlet";
|
|
4879
4900
|
/** Generic motion / occupancy / moving event source. Distinct from
|
|
4880
4901
|
* the camera accessory PirSensor role: that one is a camera child;
|
|
4881
4902
|
* this is a standalone HA / 3rd-party motion sensor. */
|
|
@@ -4953,7 +4974,7 @@ function errMsg(err) {
|
|
|
4953
4974
|
return String(err);
|
|
4954
4975
|
}
|
|
4955
4976
|
//#endregion
|
|
4956
|
-
//#region ../types/dist/composition-
|
|
4977
|
+
//#region ../types/dist/composition-DOwQB_Ua.mjs
|
|
4957
4978
|
var AUDIO_ENCODER_BY_CODEC = {
|
|
4958
4979
|
opus: "libopus",
|
|
4959
4980
|
aac: "aac",
|
|
@@ -41043,6 +41064,36 @@ var llmRuntimeCapability = {
|
|
|
41043
41064
|
}
|
|
41044
41065
|
};
|
|
41045
41066
|
/**
|
|
41067
|
+
* The report of a one-shot "move this owner's plaintext secrets into the
|
|
41068
|
+
* keychain" run (D878). COUNTS only - never a value, never a ref.
|
|
41069
|
+
*
|
|
41070
|
+
* The owner runs it on its own rows, through its own write path; an operator
|
|
41071
|
+
* script (`scripts/hub/migrate-raw-secrets.ts`) calls the owner's cap method.
|
|
41072
|
+
* Dry run (`apply: false`) reports what WOULD move and changes nothing.
|
|
41073
|
+
*/
|
|
41074
|
+
var RawSecretMigrationInputSchema = zod.z.object({
|
|
41075
|
+
/** `false` (the default of the script) = report only. */
|
|
41076
|
+
apply: zod.z.boolean() });
|
|
41077
|
+
var RawSecretMigrationReportSchema = zod.z.object({
|
|
41078
|
+
apply: zod.z.boolean(),
|
|
41079
|
+
/** Rows that can carry a secret (a profile, an enrolment). */
|
|
41080
|
+
rows: zod.z.number().int(),
|
|
41081
|
+
/** Rows whose secret was plaintext when the run started. */
|
|
41082
|
+
raw: zod.z.number().int(),
|
|
41083
|
+
/** Rows that already held a keychain marker when the run started. */
|
|
41084
|
+
markers: zod.z.number().int(),
|
|
41085
|
+
/** Plaintext rows moved by THIS run (always 0 on a dry run). */
|
|
41086
|
+
migrated: zod.z.number().int(),
|
|
41087
|
+
/** Plaintext rows left in place because the move or its read-back failed. */
|
|
41088
|
+
failed: zod.z.number().int(),
|
|
41089
|
+
/** After the run: rows still holding plaintext. */
|
|
41090
|
+
remainingRaw: zod.z.number().int(),
|
|
41091
|
+
/** After the run: markers the keychain could not resolve right now. */
|
|
41092
|
+
unresolvedMarkers: zod.z.number().int(),
|
|
41093
|
+
/** True when nothing is raw and every marker resolves. */
|
|
41094
|
+
verified: zod.z.boolean()
|
|
41095
|
+
});
|
|
41096
|
+
/**
|
|
41046
41097
|
* `llm` — consumer-facing LLM surface (spec §1-§3). Collection-mode: array
|
|
41047
41098
|
* methods concat-fan across providers; single-row methods route to ONE
|
|
41048
41099
|
* provider by the `addonId` in the call input (the notification-output
|
|
@@ -41249,6 +41300,16 @@ var llmCapability = {
|
|
|
41249
41300
|
kind: "mutation",
|
|
41250
41301
|
auth: "admin"
|
|
41251
41302
|
}),
|
|
41303
|
+
/**
|
|
41304
|
+
* D878: move every profile's plaintext `apiKey` into the keychain (owner
|
|
41305
|
+
* `ai`), leaving a marker in the row. Dry run unless `apply`; idempotent;
|
|
41306
|
+
* counts only. The plaintext is cleared only after the keychain read-back
|
|
41307
|
+
* matched.
|
|
41308
|
+
*/
|
|
41309
|
+
migrateRawSecrets: method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
41310
|
+
kind: "mutation",
|
|
41311
|
+
auth: "admin"
|
|
41312
|
+
}),
|
|
41252
41313
|
deleteProfile: method(ProfileRefInputSchema, zod.z.void(), {
|
|
41253
41314
|
kind: "mutation",
|
|
41254
41315
|
auth: "admin"
|
|
@@ -54029,6 +54090,41 @@ var ServerRollbackInfoSchema = zod.z.object({
|
|
|
54029
54090
|
atMs: zod.z.number(),
|
|
54030
54091
|
reason: zod.z.string()
|
|
54031
54092
|
});
|
|
54093
|
+
/**
|
|
54094
|
+
* The runner boot check (D877): the runners this node PLANNED (hub: one per
|
|
54095
|
+
* `resolveRunnerId` over its forked addons; agent: the runners its process
|
|
54096
|
+
* service holds, because only the hub plans) against the states the process
|
|
54097
|
+
* service reports. Kept in memory, recomputed by the same one-shot check after
|
|
54098
|
+
* every boot, served on `getServerPackageStatus`.
|
|
54099
|
+
*
|
|
54100
|
+
* `failed` is the D6 breaker's terminal state, `refused` a deterministic Init
|
|
54101
|
+
* refusal (an addon that said "I will not start, and here is why"), `missing` a
|
|
54102
|
+
* planned runner the process service has no entry for.
|
|
54103
|
+
*/
|
|
54104
|
+
var RunnerRefusalSchema = zod.z.object({
|
|
54105
|
+
runnerId: zod.z.string(),
|
|
54106
|
+
addonIds: zod.z.array(zod.z.string()),
|
|
54107
|
+
reason: zod.z.string()
|
|
54108
|
+
});
|
|
54109
|
+
var RunnerBootCheckSchema = zod.z.object({
|
|
54110
|
+
checkedAtMs: zod.z.number(),
|
|
54111
|
+
/** Runners planned for this node. */
|
|
54112
|
+
expected: zod.z.number(),
|
|
54113
|
+
/** Planned runners whose process is `running`. */
|
|
54114
|
+
running: zod.z.number(),
|
|
54115
|
+
failed: zod.z.array(zod.z.string()),
|
|
54116
|
+
refused: zod.z.array(RunnerRefusalSchema),
|
|
54117
|
+
missing: zod.z.array(zod.z.string()),
|
|
54118
|
+
/**
|
|
54119
|
+
* Runners still on their way: `starting`, or `crashed` waiting on a backoff
|
|
54120
|
+
* respawn. The check is FINAL only when this is empty; until then nothing is
|
|
54121
|
+
* pushed and the verdict is re-evaluated on the next runner state change.
|
|
54122
|
+
* Optional for version skew (absent = settled).
|
|
54123
|
+
*/
|
|
54124
|
+
pending: zod.z.array(zod.z.string()).optional(),
|
|
54125
|
+
/** True when the plan is the hub's (`missing` is then meaningful); false on an agent. */
|
|
54126
|
+
planKnown: zod.z.boolean()
|
|
54127
|
+
});
|
|
54032
54128
|
var ServerPackageStatusSchema = zod.z.object({
|
|
54033
54129
|
/** Root package name (`@camstack/server` on the hub). */
|
|
54034
54130
|
packageName: zod.z.string(),
|
|
@@ -54091,7 +54187,14 @@ var ServerPackageStatusSchema = zod.z.object({
|
|
|
54091
54187
|
* for version skew: an older provider's payload simply omits it, and an
|
|
54092
54188
|
* absent wrapper is unknown — never `native`.
|
|
54093
54189
|
*/
|
|
54094
|
-
wrapper: WrapperIdentitySchema.optional()
|
|
54190
|
+
wrapper: WrapperIdentitySchema.optional(),
|
|
54191
|
+
/**
|
|
54192
|
+
* What this node PLANNED to run against what its process service reports
|
|
54193
|
+
* (D877). Absent until the one-shot boot check has run (~60 s after boot) and
|
|
54194
|
+
* on a provider that predates it. Absent is "not checked yet", never "all
|
|
54195
|
+
* well": a consumer that needs the answer treats it as pending.
|
|
54196
|
+
*/
|
|
54197
|
+
runners: RunnerBootCheckSchema.optional()
|
|
54095
54198
|
});
|
|
54096
54199
|
var ServerUpdateCheckResultSchema = zod.z.object({
|
|
54097
54200
|
packageName: zod.z.string(),
|
|
@@ -54142,6 +54245,13 @@ var ServerUpdateOutcomeSchema = zod.z.enum([
|
|
|
54142
54245
|
"refused",
|
|
54143
54246
|
"failed"
|
|
54144
54247
|
]);
|
|
54248
|
+
/** One addon the pre-flight found the target version would refuse (D877). */
|
|
54249
|
+
var UpdateBlockerSchema = zod.z.object({
|
|
54250
|
+
addonId: zod.z.string(),
|
|
54251
|
+
reason: zod.z.string(),
|
|
54252
|
+
/** What the operator does about it. */
|
|
54253
|
+
remedy: zod.z.string()
|
|
54254
|
+
});
|
|
54145
54255
|
var ServerUpdateActionResultSchema = zod.z.object({
|
|
54146
54256
|
accepted: zod.z.boolean(),
|
|
54147
54257
|
targetVersion: zod.z.string().nullable(),
|
|
@@ -54159,7 +54269,13 @@ var ServerUpdateActionResultSchema = zod.z.object({
|
|
|
54159
54269
|
* The failure itself, verbatim enough to act on (the npm output for a
|
|
54160
54270
|
* staging install). Non-null only for `failed`.
|
|
54161
54271
|
*/
|
|
54162
|
-
error: zod.z.string().nullable().optional()
|
|
54272
|
+
error: zod.z.string().nullable().optional(),
|
|
54273
|
+
/**
|
|
54274
|
+
* The addons the target version would refuse to start on this node's live
|
|
54275
|
+
* store (D877), present when the pre-flight refused the update
|
|
54276
|
+
* (`reason: 'addon-would-refuse'`). Optional for version skew.
|
|
54277
|
+
*/
|
|
54278
|
+
blockers: zod.z.array(UpdateBlockerSchema).optional()
|
|
54163
54279
|
});
|
|
54164
54280
|
var serverManagementCapability = {
|
|
54165
54281
|
name: "server-management",
|
|
@@ -54171,9 +54287,16 @@ var serverManagementCapability = {
|
|
|
54171
54287
|
kind: "mutation",
|
|
54172
54288
|
auth: "admin"
|
|
54173
54289
|
}),
|
|
54174
|
-
applyServerUpdate: method(zod.z.object({
|
|
54175
|
-
|
|
54176
|
-
version: zod.z.string().optional()
|
|
54290
|
+
applyServerUpdate: method(zod.z.object({
|
|
54291
|
+
/** Explicit target version; omitted = latest from the registry. */
|
|
54292
|
+
version: zod.z.string().optional(),
|
|
54293
|
+
/**
|
|
54294
|
+
* Apply even though the pre-flight (D877) found addons the target would
|
|
54295
|
+
* refuse to start. Off by default: those addons stay down until the
|
|
54296
|
+
* remedy is run, which is the incident this gate exists to prevent.
|
|
54297
|
+
*/
|
|
54298
|
+
acknowledgeRefusals: zod.z.boolean().optional()
|
|
54299
|
+
}), ServerUpdateActionResultSchema, {
|
|
54177
54300
|
kind: "mutation",
|
|
54178
54301
|
auth: "admin",
|
|
54179
54302
|
timeoutMs: 16 * 6e4
|
|
@@ -57495,7 +57618,9 @@ var ManifestShapeSchema = zod.z.object({
|
|
|
57495
57618
|
var AddonProcessSchema = zod.z.object({
|
|
57496
57619
|
pid: zod.z.number().optional(),
|
|
57497
57620
|
mode: zod.z.string(),
|
|
57498
|
-
state: zod.z.string()
|
|
57621
|
+
state: zod.z.string(),
|
|
57622
|
+
/** Why the runner is `refused` (an addon's own words), when it is (D877). */
|
|
57623
|
+
reason: zod.z.string().optional()
|
|
57499
57624
|
});
|
|
57500
57625
|
/**
|
|
57501
57626
|
* Per-addon health snapshot from the kernel's AddonHealthMonitor.
|
|
@@ -59183,6 +59308,12 @@ var ClimateControlStatusSchema = zod.z.object({
|
|
|
59183
59308
|
/** Horizontal louver swing on/off. Null when the device has no
|
|
59184
59309
|
* horizontal swing surface (gate with `DeviceFeature.ClimateSwingHorizontal`). */
|
|
59185
59310
|
swingHorizontal: zod.z.boolean().nullable(),
|
|
59311
|
+
/** Lowest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
59312
|
+
minTemp: zod.z.number().nullable().optional(),
|
|
59313
|
+
/** Highest setpoint the device accepts, Celsius. Absent / null = not reported. */
|
|
59314
|
+
maxTemp: zod.z.number().nullable().optional(),
|
|
59315
|
+
/** Setpoint granularity, Celsius (0.5, 1). Absent / null = not reported. */
|
|
59316
|
+
tempStep: zod.z.number().positive().nullable().optional(),
|
|
59186
59317
|
/** Ms epoch when the slice was last updated (push or command). */
|
|
59187
59318
|
lastFetchedAt: zod.z.number()
|
|
59188
59319
|
});
|
|
@@ -70095,6 +70226,16 @@ var userManagementCapability = {
|
|
|
70095
70226
|
access: "delete"
|
|
70096
70227
|
}),
|
|
70097
70228
|
getTotpStatus: method(zod.z.object({ userId: zod.z.string() }), TotpStatusSchema, { auth: "admin" }),
|
|
70229
|
+
/**
|
|
70230
|
+
* D878: move every TOTP seed stored in plaintext into the keychain (owner
|
|
70231
|
+
* `system`), leaving a marker in the row. Dry run unless `apply`;
|
|
70232
|
+
* idempotent; counts only.
|
|
70233
|
+
*/
|
|
70234
|
+
migrateRawSecrets: method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
70235
|
+
kind: "mutation",
|
|
70236
|
+
auth: "admin",
|
|
70237
|
+
access: "create"
|
|
70238
|
+
}),
|
|
70098
70239
|
verifyTotp: method(zod.z.object({
|
|
70099
70240
|
userId: zod.z.string(),
|
|
70100
70241
|
code: zod.z.string()
|
|
@@ -76474,6 +76615,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
76474
76615
|
addonId: null,
|
|
76475
76616
|
access: "view"
|
|
76476
76617
|
},
|
|
76618
|
+
"llm.migrateRawSecrets": {
|
|
76619
|
+
capName: "llm",
|
|
76620
|
+
capScope: "system",
|
|
76621
|
+
addonId: null,
|
|
76622
|
+
access: "create"
|
|
76623
|
+
},
|
|
76477
76624
|
"llm.resolveModelRef": {
|
|
76478
76625
|
capName: "llm",
|
|
76479
76626
|
capScope: "system",
|
|
@@ -81016,6 +81163,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
81016
81163
|
addonId: null,
|
|
81017
81164
|
access: "view"
|
|
81018
81165
|
},
|
|
81166
|
+
"userManagement.migrateRawSecrets": {
|
|
81167
|
+
capName: "user-management",
|
|
81168
|
+
capScope: "system",
|
|
81169
|
+
addonId: null,
|
|
81170
|
+
access: "create"
|
|
81171
|
+
},
|
|
81019
81172
|
"userManagement.oauthExchangeCode": {
|
|
81020
81173
|
capName: "user-management",
|
|
81021
81174
|
capScope: "system",
|
|
@@ -87149,6 +87302,12 @@ Object.defineProperty(exports, "looseSchema", {
|
|
|
87149
87302
|
return looseSchema;
|
|
87150
87303
|
}
|
|
87151
87304
|
});
|
|
87305
|
+
Object.defineProperty(exports, "makeSecretMarker", {
|
|
87306
|
+
enumerable: true,
|
|
87307
|
+
get: function() {
|
|
87308
|
+
return makeSecretMarker;
|
|
87309
|
+
}
|
|
87310
|
+
});
|
|
87152
87311
|
Object.defineProperty(exports, "mayReadLocation", {
|
|
87153
87312
|
enumerable: true,
|
|
87154
87313
|
get: function() {
|