@camstack/types 1.1.34 → 1.1.36
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.d.ts +2 -0
- package/dist/addon.js +2 -1
- package/dist/addon.mjs +2 -2
- package/dist/capabilities/addon-pages-source.cap.d.ts +4 -0
- package/dist/capabilities/addon-pages.cap.d.ts +4 -0
- package/dist/capabilities/addon-widgets-source.cap.d.ts +2 -0
- package/dist/capabilities/addon-widgets.cap.d.ts +2 -0
- package/dist/capabilities/index.d.ts +11 -3
- package/dist/capabilities/login-method.cap.d.ts +146 -0
- package/dist/capabilities/nodes.cap.d.ts +19 -1
- package/dist/capabilities/pipeline-executor.cap.d.ts +15 -61
- package/dist/capabilities/pipeline-orchestrator.cap.d.ts +31 -69
- package/dist/capabilities/server-management.cap.d.ts +194 -0
- package/dist/capabilities/viewer-ui.cap.d.ts +24 -0
- package/dist/generated/addon-api.d.ts +516 -170
- package/dist/generated/capability-router-map.d.ts +13 -4
- package/dist/generated/device-proxy.d.ts +1 -1
- package/dist/generated/method-access-map.d.ts +1 -1
- package/dist/generated/system-proxy.d.ts +4 -2
- package/dist/index.d.ts +2 -1
- package/dist/index.js +430 -124
- package/dist/index.mjs +415 -123
- package/dist/interfaces/addon.d.ts +12 -2
- package/dist/interfaces/capability.d.ts +3 -0
- package/dist/interfaces/config-ui.d.ts +40 -0
- package/dist/interfaces/event-bus.d.ts +11 -0
- package/dist/interfaces/pipeline-executor-capability.d.ts +2 -8
- package/dist/interfaces/pipeline-orchestrator-capability.d.ts +0 -14
- package/dist/{sleep-DmP-uxoe.js → sleep-BtS3xMHv.js} +109 -9
- package/dist/{sleep-Cc14_yxc.mjs → sleep-DJaTV2D7.mjs} +86 -10
- package/dist/types/agent-pipeline-settings.d.ts +8 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_sleep = require("./sleep-
|
|
2
|
+
const require_sleep = require("./sleep-BtS3xMHv.js");
|
|
3
3
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
4
4
|
let zod = require("zod");
|
|
5
5
|
//#region src/health/wiring-health.ts
|
|
@@ -7605,11 +7605,6 @@ var PipelineSchemaSchema = zod.z.object({
|
|
|
7605
7605
|
selectedEngine: PipelineEngineChoiceSchema,
|
|
7606
7606
|
slots: zod.z.array(PipelineSlotSchemaSchema).readonly()
|
|
7607
7607
|
});
|
|
7608
|
-
var DetectorOutputSchema = zod.z.object({
|
|
7609
|
-
detections: zod.z.array(SpatialDetectionSchema).readonly(),
|
|
7610
|
-
inferenceMs: zod.z.number(),
|
|
7611
|
-
modelId: zod.z.string()
|
|
7612
|
-
});
|
|
7613
7608
|
var EngineProvisioningSchema = zod.z.object({
|
|
7614
7609
|
runtimeId: zod.z.enum([
|
|
7615
7610
|
"onnx",
|
|
@@ -7775,23 +7770,23 @@ var pipelineExecutorCapability = {
|
|
|
7775
7770
|
auth: "admin"
|
|
7776
7771
|
}),
|
|
7777
7772
|
/**
|
|
7778
|
-
*
|
|
7779
|
-
*
|
|
7780
|
-
*
|
|
7781
|
-
* it (default `nodeIdMode: 'routing'
|
|
7782
|
-
*
|
|
7783
|
-
*
|
|
7773
|
+
* Clear THIS node's executor-side PER-DEVICE settings stores (the
|
|
7774
|
+
* per-camera step overrides the object-detection root reads via
|
|
7775
|
+
* `applyDeviceOverridesToTree`). `nodeId` is the ROUTING key — the
|
|
7776
|
+
* generated cap-router strips it (default `nodeIdMode: 'routing'`) and
|
|
7777
|
+
* dispatches to that node, so the provider method runs ON the target
|
|
7778
|
+
* node and receives no `nodeId`.
|
|
7784
7779
|
*
|
|
7785
|
-
*
|
|
7786
|
-
*
|
|
7787
|
-
*
|
|
7788
|
-
*
|
|
7789
|
-
*
|
|
7790
|
-
*
|
|
7780
|
+
* This is the slimmed executor leg of the orchestrator's
|
|
7781
|
+
* `resetNodePipelineDefaults` flow (which owns the real reset: node
|
|
7782
|
+
* addonDefaults pins + per-camera orchestrator overrides). The legacy
|
|
7783
|
+
* `resetToDefault` — which reset a persisted global step-tree seed
|
|
7784
|
+
* nothing in the live per-camera path read — was removed together with
|
|
7785
|
+
* that seed.
|
|
7791
7786
|
*/
|
|
7792
|
-
|
|
7787
|
+
clearDeviceOverrides: require_sleep.method(zod.z.object({ nodeId: zod.z.string() }), zod.z.object({
|
|
7793
7788
|
success: zod.z.literal(true),
|
|
7794
|
-
|
|
7789
|
+
clearedDevices: zod.z.number()
|
|
7795
7790
|
}), {
|
|
7796
7791
|
kind: "mutation",
|
|
7797
7792
|
auth: "admin"
|
|
@@ -7837,11 +7832,6 @@ var pipelineExecutorCapability = {
|
|
|
7837
7832
|
modelId: zod.z.string(),
|
|
7838
7833
|
format: ModelFormatSchema$1
|
|
7839
7834
|
}), zod.z.object({ success: zod.z.literal(true) }), { kind: "mutation" }),
|
|
7840
|
-
detect: require_sleep.method(zod.z.object({
|
|
7841
|
-
addonId: zod.z.string(),
|
|
7842
|
-
frame: FrameInputSchema,
|
|
7843
|
-
config: zod.z.record(zod.z.string(), zod.z.unknown()).optional()
|
|
7844
|
-
}), DetectorOutputSchema),
|
|
7845
7835
|
/**
|
|
7846
7836
|
* Stateless single-frame execution. Callers (runner, benchmark) pass
|
|
7847
7837
|
* the complete `engine` + `steps` tree; the executor holds no state
|
|
@@ -12565,7 +12555,7 @@ function createSystemProxy(api) {
|
|
|
12565
12555
|
getEngineProvisioning: (input) => dispatch("pipelineExecutor", "getEngineProvisioning", "query", input),
|
|
12566
12556
|
getVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "getVideoPipelineSteps", "query", input),
|
|
12567
12557
|
setVideoPipelineSteps: (input) => dispatch("pipelineExecutor", "setVideoPipelineSteps", "mutation", input),
|
|
12568
|
-
|
|
12558
|
+
clearDeviceOverrides: (input) => dispatch("pipelineExecutor", "clearDeviceOverrides", "mutation", input),
|
|
12569
12559
|
getSchema: (input) => dispatch("pipelineExecutor", "getSchema", "query", input),
|
|
12570
12560
|
getGlobalSteps: (input) => dispatch("pipelineExecutor", "getGlobalSteps", "query", input),
|
|
12571
12561
|
getGlobalPipelineConfig: (input) => dispatch("pipelineExecutor", "getGlobalPipelineConfig", "query", input),
|
|
@@ -12579,7 +12569,6 @@ function createSystemProxy(api) {
|
|
|
12579
12569
|
getAddonModels: (input) => dispatch("pipelineExecutor", "getAddonModels", "query", input),
|
|
12580
12570
|
downloadModel: (input) => dispatch("pipelineExecutor", "downloadModel", "mutation", input),
|
|
12581
12571
|
deleteModel: (input) => dispatch("pipelineExecutor", "deleteModel", "mutation", input),
|
|
12582
|
-
detect: (input) => dispatch("pipelineExecutor", "detect", "query", input),
|
|
12583
12572
|
cacheFrameInPool: (input) => dispatch("pipelineExecutor", "cacheFrameInPool", "mutation", input),
|
|
12584
12573
|
inferCached: (input) => dispatch("pipelineExecutor", "inferCached", "mutation", input),
|
|
12585
12574
|
uncacheFrame: (input) => dispatch("pipelineExecutor", "uncacheFrame", "mutation", input),
|
|
@@ -12603,7 +12592,6 @@ function createSystemProxy(api) {
|
|
|
12603
12592
|
getCapabilityBindings: (input) => dispatch("pipelineOrchestrator", "getCapabilityBindings", "query", input),
|
|
12604
12593
|
setCapabilityBinding: (input) => dispatch("pipelineOrchestrator", "setCapabilityBinding", "mutation", input),
|
|
12605
12594
|
getIngestOwner: (input) => dispatch("pipelineOrchestrator", "getIngestOwner", "query", input),
|
|
12606
|
-
getDecoderAssignments: (input) => dispatch("pipelineOrchestrator", "getDecoderAssignments", "query", input),
|
|
12607
12595
|
getAudioNodeLoad: (input) => dispatch("pipelineOrchestrator", "getAudioNodeLoad", "query", input),
|
|
12608
12596
|
getAgentSettings: (input) => dispatch("pipelineOrchestrator", "getAgentSettings", "query", input),
|
|
12609
12597
|
listAgentSettings: (input) => dispatch("pipelineOrchestrator", "listAgentSettings", "query", input),
|
|
@@ -12613,6 +12601,7 @@ function createSystemProxy(api) {
|
|
|
12613
12601
|
setAgentDetectWeight: (input) => dispatch("pipelineOrchestrator", "setAgentDetectWeight", "mutation", input),
|
|
12614
12602
|
setAgentCapabilities: (input) => dispatch("pipelineOrchestrator", "setAgentCapabilities", "mutation", input),
|
|
12615
12603
|
setAgentReachableHost: (input) => dispatch("pipelineOrchestrator", "setAgentReachableHost", "mutation", input),
|
|
12604
|
+
resetNodePipelineDefaults: (input) => dispatch("pipelineOrchestrator", "resetNodePipelineDefaults", "mutation", input),
|
|
12616
12605
|
getCameraStatuses: (input) => dispatch("pipelineOrchestrator", "getCameraStatuses", "query", input),
|
|
12617
12606
|
listTemplates: (input) => dispatch("pipelineOrchestrator", "listTemplates", "query", input),
|
|
12618
12607
|
saveTemplate: (input) => dispatch("pipelineOrchestrator", "saveTemplate", "mutation", input),
|
|
@@ -12635,6 +12624,13 @@ function createSystemProxy(api) {
|
|
|
12635
12624
|
deletePlate: (input) => dispatch("plateGallery", "deletePlate", "mutation", input)
|
|
12636
12625
|
},
|
|
12637
12626
|
recording: { getStorageUsage: (input) => dispatch("recording", "getStorageUsage", "query", input) },
|
|
12627
|
+
serverManagement: {
|
|
12628
|
+
getServerPackageStatus: (input) => dispatch("serverManagement", "getServerPackageStatus", "query", input),
|
|
12629
|
+
checkServerUpdate: (input) => dispatch("serverManagement", "checkServerUpdate", "mutation", input),
|
|
12630
|
+
applyServerUpdate: (input) => dispatch("serverManagement", "applyServerUpdate", "mutation", input),
|
|
12631
|
+
rollbackServerUpdate: (input) => dispatch("serverManagement", "rollbackServerUpdate", "mutation", input),
|
|
12632
|
+
restartServer: (input) => dispatch("serverManagement", "restartServer", "mutation", input)
|
|
12633
|
+
},
|
|
12638
12634
|
settingsStore: {
|
|
12639
12635
|
get: (input) => dispatch("settingsStore", "get", "query", input),
|
|
12640
12636
|
set: (input) => dispatch("settingsStore", "set", "mutation", input),
|
|
@@ -13398,7 +13394,9 @@ var AddonPageDeclarationSchema$1 = zod.z.object({
|
|
|
13398
13394
|
icon: zod.z.string(),
|
|
13399
13395
|
path: zod.z.string(),
|
|
13400
13396
|
remoteName: zod.z.string(),
|
|
13401
|
-
bundle: zod.z.string()
|
|
13397
|
+
bundle: zod.z.string(),
|
|
13398
|
+
section: zod.z.string().optional(),
|
|
13399
|
+
sectionLabel: zod.z.string().optional()
|
|
13402
13400
|
});
|
|
13403
13401
|
var AddonPageInfoSchema = zod.z.object({
|
|
13404
13402
|
addonId: zod.z.string(),
|
|
@@ -13445,7 +13443,18 @@ var AddonPageDeclarationSchema = zod.z.object({
|
|
|
13445
13443
|
* the static-file route can compute an mtime-based cache-buster URL
|
|
13446
13444
|
* without a separate filesystem stat.
|
|
13447
13445
|
*/
|
|
13448
|
-
bundle: zod.z.string()
|
|
13446
|
+
bundle: zod.z.string(),
|
|
13447
|
+
/**
|
|
13448
|
+
* Sidebar section this page docks into. Well-known ids: `'detection'`,
|
|
13449
|
+
* `'cluster'`, `'administration'` — the page renders inside that group.
|
|
13450
|
+
* Any OTHER string creates (or joins) a custom section rendered after
|
|
13451
|
+
* the built-in groups; its label comes from `sectionLabel` (first
|
|
13452
|
+
* declaration wins), falling back to the id. Absent → the legacy
|
|
13453
|
+
* "Addon Pages" group.
|
|
13454
|
+
*/
|
|
13455
|
+
section: zod.z.string().optional(),
|
|
13456
|
+
/** Display label for a CUSTOM `section` id (ignored for well-known ids). */
|
|
13457
|
+
sectionLabel: zod.z.string().optional()
|
|
13449
13458
|
});
|
|
13450
13459
|
var addonPagesSourceCapability = {
|
|
13451
13460
|
name: "addon-pages-source",
|
|
@@ -13729,6 +13738,17 @@ var WidgetMetadataSchema = zod.z.object({
|
|
|
13729
13738
|
deviceContext: zod.z.boolean().default(false),
|
|
13730
13739
|
integrationContext: zod.z.boolean().default(false)
|
|
13731
13740
|
}),
|
|
13741
|
+
/**
|
|
13742
|
+
* Loadable BEFORE authentication. The normal widget registry listing
|
|
13743
|
+
* (`addon-widgets.listWidgets`) is auth-gated, so a pre-auth surface
|
|
13744
|
+
* (the login page) cannot discover a widget through it. A widget that
|
|
13745
|
+
* declares `preAuth: true` marks itself as safe to mount on a pre-auth
|
|
13746
|
+
* screen — it is surfaced through the PUBLIC `auth.listLoginMethods`
|
|
13747
|
+
* login-method contribution channel (see `login-method.cap.ts`) rather
|
|
13748
|
+
* than the authenticated registry, and its bundle is served by the
|
|
13749
|
+
* public `/api/addon-widgets/:addonId/*` static route. Defaults false.
|
|
13750
|
+
*/
|
|
13751
|
+
preAuth: zod.z.boolean().optional().default(false),
|
|
13732
13752
|
/** Dashboard placement HINTS (operator can override per instance). */
|
|
13733
13753
|
defaultSize: WidgetSizeEnum.default("md"),
|
|
13734
13754
|
allowedSizes: zod.z.array(WidgetSizeEnum).readonly().default([
|
|
@@ -14214,6 +14234,89 @@ var authProviderCapability = {
|
|
|
14214
14234
|
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
14215
14235
|
mount: { kind: "skip" }
|
|
14216
14236
|
};
|
|
14237
|
+
//#endregion
|
|
14238
|
+
//#region src/capabilities/login-method.cap.ts
|
|
14239
|
+
/**
|
|
14240
|
+
* `login-method` — collection cap through which auth addons contribute
|
|
14241
|
+
* their pre-auth login surfaces to the login page. This is the SINGLE,
|
|
14242
|
+
* generic mechanism that supersedes the dead `auth.listProviders` reader:
|
|
14243
|
+
* every auth addon (OIDC, magic-link, WebAuthn/passkey) registers a
|
|
14244
|
+
* `login-method` provider and the PUBLIC `auth.listLoginMethods`
|
|
14245
|
+
* procedure aggregates them for the unauthenticated login page.
|
|
14246
|
+
*
|
|
14247
|
+
* A contribution is a discriminated union on `kind`:
|
|
14248
|
+
*
|
|
14249
|
+
* - `redirect` — a declarative button. The login page renders a generic
|
|
14250
|
+
* button that navigates to `startUrl` (an addon-owned HTTP route).
|
|
14251
|
+
* Covers OIDC (`/addon/auth-oidc/<id>/start`) and magic-link with
|
|
14252
|
+
* ZERO shell-side JS. A future SSO addon plugs in the same way — the
|
|
14253
|
+
* login page needs NO change.
|
|
14254
|
+
*
|
|
14255
|
+
* - `widget` — a Module-Federation widget the login page mounts (via
|
|
14256
|
+
* `loadRemoteBundle`) for an in-page ceremony. Covers the passkey
|
|
14257
|
+
* login ceremony, which must run `@simplewebauthn/browser` INSIDE the
|
|
14258
|
+
* addon bundle. The referenced widget also declares `preAuth: true` in
|
|
14259
|
+
* its `addon-widgets-source` catalog entry. `auth.listLoginMethods`
|
|
14260
|
+
* stamps a public `bundleUrl` from `addonId` + `bundle`.
|
|
14261
|
+
*
|
|
14262
|
+
* Every contribution carries a `stage`:
|
|
14263
|
+
* - `primary` — shown on the first credentials screen (OIDC /
|
|
14264
|
+
* magic-link buttons; a future usernameless passkey).
|
|
14265
|
+
* - `second-factor` — shown AFTER the password leg, gated on the
|
|
14266
|
+
* returned `factors` (passkey-as-2FA today).
|
|
14267
|
+
*
|
|
14268
|
+
* `mount: skip` — the cap is read server-side by the core auth router
|
|
14269
|
+
* (`registry.getCollection('login-method')`), never mounted as its own
|
|
14270
|
+
* tRPC router.
|
|
14271
|
+
*/
|
|
14272
|
+
/** When a login method renders in the two-phase login flow. */
|
|
14273
|
+
var LoginStageEnum = zod.z.enum(["primary", "second-factor"]);
|
|
14274
|
+
/**
|
|
14275
|
+
* A declarative redirect button — the login page navigates to `startUrl`.
|
|
14276
|
+
* OIDC and magic-link contribute this; a future SSO addon does too.
|
|
14277
|
+
*/
|
|
14278
|
+
var RedirectLoginMethodSchema = zod.z.object({
|
|
14279
|
+
kind: zod.z.literal("redirect"),
|
|
14280
|
+
/** Stable id within the login-method set (e.g. `auth-oidc/google`). */
|
|
14281
|
+
id: zod.z.string(),
|
|
14282
|
+
/** Operator-facing button label. */
|
|
14283
|
+
label: zod.z.string(),
|
|
14284
|
+
/** lucide-react icon name. */
|
|
14285
|
+
icon: zod.z.string().optional(),
|
|
14286
|
+
/** Addon-owned HTTP route the button navigates to (GET). */
|
|
14287
|
+
startUrl: zod.z.string(),
|
|
14288
|
+
stage: LoginStageEnum
|
|
14289
|
+
});
|
|
14290
|
+
/**
|
|
14291
|
+
* A Module-Federation widget the login page mounts for an in-page
|
|
14292
|
+
* ceremony. `bundle` + `addonId` let `auth.listLoginMethods` stamp a
|
|
14293
|
+
* public `bundleUrl`; `remote` is the MF descriptor `loadRemoteBundle`
|
|
14294
|
+
* consumes. No `bundleUrl` here — it is server-stamped on the public
|
|
14295
|
+
* output so the addon never encodes the static-route scheme.
|
|
14296
|
+
*/
|
|
14297
|
+
var WidgetLoginMethodSchema = zod.z.object({
|
|
14298
|
+
kind: zod.z.literal("widget"),
|
|
14299
|
+
/** Stable id within the login-method set (e.g. `auth-webauthn/passkey-login`). */
|
|
14300
|
+
id: zod.z.string(),
|
|
14301
|
+
/** Owning addon id — drives the public bundle URL + the MF namespace. */
|
|
14302
|
+
addonId: zod.z.string(),
|
|
14303
|
+
/** Bundle filename inside the addon's dist dir (`remoteEntry.js`). */
|
|
14304
|
+
bundle: zod.z.string(),
|
|
14305
|
+
/** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
|
|
14306
|
+
remote: WidgetRemoteSchema,
|
|
14307
|
+
stage: LoginStageEnum
|
|
14308
|
+
});
|
|
14309
|
+
/** One login-method contribution — redirect button OR pre-auth widget. */
|
|
14310
|
+
var LoginMethodContributionSchema = zod.z.discriminatedUnion("kind", [RedirectLoginMethodSchema, WidgetLoginMethodSchema]);
|
|
14311
|
+
var loginMethodCapability = {
|
|
14312
|
+
name: "login-method",
|
|
14313
|
+
scope: "system",
|
|
14314
|
+
mode: "collection",
|
|
14315
|
+
internal: true,
|
|
14316
|
+
methods: { getLoginMethods: require_sleep.method(zod.z.void(), zod.z.array(LoginMethodContributionSchema).readonly()) },
|
|
14317
|
+
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
14318
|
+
mount: { kind: "skip" }
|
|
14319
|
+
};
|
|
14217
14320
|
/**
|
|
14218
14321
|
* Orchestrator-side destination metadata. The orchestrator computes
|
|
14219
14322
|
* `id = <addonId>:<subId>` from its provider lookup so consumers
|
|
@@ -17601,7 +17704,12 @@ var AgentPipelineSettingsSchema = zod.z.object({
|
|
|
17601
17704
|
detectWeight: zod.z.number().positive().optional(),
|
|
17602
17705
|
/** Node is eligible to run the detection pipeline (decode + inference). */
|
|
17603
17706
|
detect: zod.z.boolean().optional(),
|
|
17604
|
-
/**
|
|
17707
|
+
/**
|
|
17708
|
+
* DEPRECATED AND IGNORED. Decode is always co-located with its frame
|
|
17709
|
+
* consumer, so decode eligibility IS detect eligibility. Kept optional in
|
|
17710
|
+
* the schema ONLY so persisted stores written before the removal still
|
|
17711
|
+
* parse — no code reads it and no write path emits it.
|
|
17712
|
+
*/
|
|
17605
17713
|
decode: zod.z.boolean().optional(),
|
|
17606
17714
|
/** Node is eligible to run audio-analyzer sessions. */
|
|
17607
17715
|
audio: zod.z.boolean().optional(),
|
|
@@ -17662,25 +17770,6 @@ var PipelineAssignmentSchema = zod.z.object({
|
|
|
17662
17770
|
assignedAt: zod.z.number()
|
|
17663
17771
|
});
|
|
17664
17772
|
/**
|
|
17665
|
-
* Decoder placement record. Symmetric to `PipelineAssignmentSchema` but for
|
|
17666
|
-
* the decoder-node placement domain (`balanceDecoder` decision: manual pin
|
|
17667
|
-
* → co-located with pipeline → capacity).
|
|
17668
|
-
*/
|
|
17669
|
-
var DecoderAssignmentSchema = zod.z.object({
|
|
17670
|
-
deviceId: zod.z.number(),
|
|
17671
|
-
/** Moleculer node id of the decoder provider currently responsible for this camera. */
|
|
17672
|
-
decoderNodeId: zod.z.string(),
|
|
17673
|
-
/** True when the assignment was set manually via `assignDecoder`, false when chosen by the balancer. */
|
|
17674
|
-
pinned: zod.z.boolean(),
|
|
17675
|
-
/** Why this assignment was made — useful for debugging the decoder balancer. */
|
|
17676
|
-
reason: zod.z.enum([
|
|
17677
|
-
"manual",
|
|
17678
|
-
"co-located",
|
|
17679
|
-
"capacity",
|
|
17680
|
-
"hardware-affinity"
|
|
17681
|
-
])
|
|
17682
|
-
});
|
|
17683
|
-
/**
|
|
17684
17773
|
* Per-agent load summary surfaced to the load balancer + dashboards.
|
|
17685
17774
|
* Aggregated from each runner's `getLocalLoad` cap call.
|
|
17686
17775
|
*/
|
|
@@ -17967,21 +18056,6 @@ var pipelineOrchestratorCapability = {
|
|
|
17967
18056
|
* present. Defaults to `{ ownerNodeId: 'hub' }`.
|
|
17968
18057
|
*/
|
|
17969
18058
|
getIngestOwner: require_sleep.method(zod.z.void(), IngestOwnerSchema),
|
|
17970
|
-
/** Pin a device's decoder to a specific node. */
|
|
17971
|
-
assignDecoder: require_sleep.method(zod.z.object({
|
|
17972
|
-
deviceId: zod.z.number(),
|
|
17973
|
-
nodeId: zod.z.string()
|
|
17974
|
-
}), zod.z.void(), {
|
|
17975
|
-
kind: "mutation",
|
|
17976
|
-
auth: "admin"
|
|
17977
|
-
}),
|
|
17978
|
-
/** Clear a device's decoder pin (revert to auto). */
|
|
17979
|
-
unassignDecoder: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), zod.z.void(), {
|
|
17980
|
-
kind: "mutation",
|
|
17981
|
-
auth: "admin"
|
|
17982
|
-
}),
|
|
17983
|
-
/** Get every camera's decoder placement. */
|
|
17984
|
-
getDecoderAssignments: require_sleep.method(zod.z.void(), zod.z.array(DecoderAssignmentSchema).readonly()),
|
|
17985
18059
|
/** Pin a device's audio analysis to a specific cluster node. */
|
|
17986
18060
|
assignAudio: require_sleep.method(zod.z.object({
|
|
17987
18061
|
deviceId: zod.z.number(),
|
|
@@ -18013,23 +18087,6 @@ var pipelineOrchestratorCapability = {
|
|
|
18013
18087
|
pinned: zod.z.boolean(),
|
|
18014
18088
|
assignedAt: zod.z.number()
|
|
18015
18089
|
}))),
|
|
18016
|
-
/**
|
|
18017
|
-
* Get one camera's decoder placement (computed if not yet pinned).
|
|
18018
|
-
*
|
|
18019
|
-
* ADVISORY today: reports the orchestrator's decoder preference only.
|
|
18020
|
-
* Actual decode placement is broker-owned (local-node pin + frame-plane
|
|
18021
|
-
* co-location guard). Reserved to become the binding source/decoder-owner
|
|
18022
|
-
* control in the stream-LB epic (Phase 2).
|
|
18023
|
-
*
|
|
18024
|
-
* `pipelineNodeId` is the node already chosen to run inference for
|
|
18025
|
-
* this camera. When provided, the balancer prefers co-location with
|
|
18026
|
-
* it; omitted → falls back to the last known assignment in the
|
|
18027
|
-
* `assignments` map and finally to 'hub'.
|
|
18028
|
-
*/
|
|
18029
|
-
getDecoderAssignment: require_sleep.method(zod.z.object({
|
|
18030
|
-
deviceId: zod.z.number(),
|
|
18031
|
-
pipelineNodeId: zod.z.string().optional()
|
|
18032
|
-
}), DecoderAssignmentSchema),
|
|
18033
18090
|
/** Read one agent's settings. Null when not yet seeded. */
|
|
18034
18091
|
getAgentSettings: require_sleep.method(zod.z.object({ agentNodeId: zod.z.string() }), AgentPipelineSettingsSchema.nullable()),
|
|
18035
18092
|
/** Enumerate every agent's settings (hub + remote runners). */
|
|
@@ -18099,14 +18156,15 @@ var pipelineOrchestratorCapability = {
|
|
|
18099
18156
|
* `enabledDecoderNodes`, `enabledAudioNodes`, `remoteSourcingNodes`).
|
|
18100
18157
|
* Each flag is optional in the patch: omit a flag to leave it unchanged,
|
|
18101
18158
|
* pass `null` to reset it to the node default (`hub` → capable, every
|
|
18102
|
-
* other node → not). Detection/
|
|
18103
|
-
*
|
|
18104
|
-
*
|
|
18159
|
+
* other node → not). Detection/audio eligibility is derived from these
|
|
18160
|
+
* flags across the cluster; changing them re-derives the enabled sets
|
|
18161
|
+
* and reconciles dispatch immediately. There is NO separate decode flag:
|
|
18162
|
+
* decode is always co-located with its frame consumer, so decode
|
|
18163
|
+
* eligibility IS detect eligibility.
|
|
18105
18164
|
*/
|
|
18106
18165
|
setAgentCapabilities: require_sleep.method(zod.z.object({
|
|
18107
18166
|
agentNodeId: zod.z.string(),
|
|
18108
18167
|
detect: zod.z.boolean().nullable().optional(),
|
|
18109
|
-
decode: zod.z.boolean().nullable().optional(),
|
|
18110
18168
|
audio: zod.z.boolean().nullable().optional(),
|
|
18111
18169
|
ingest: zod.z.boolean().nullable().optional()
|
|
18112
18170
|
}), zod.z.object({ success: zod.z.literal(true) }), {
|
|
@@ -18129,6 +18187,34 @@ var pipelineOrchestratorCapability = {
|
|
|
18129
18187
|
kind: "mutation",
|
|
18130
18188
|
auth: "admin"
|
|
18131
18189
|
}),
|
|
18190
|
+
/**
|
|
18191
|
+
* Reset one node's pipeline to its hardware-aware defaults — the HONEST
|
|
18192
|
+
* reset (replaces the executor's legacy `resetToDefault`, which cleared a
|
|
18193
|
+
* dead persisted step-tree seed nothing in the live path read):
|
|
18194
|
+
* (a) strips every `modelId` pin from that node's
|
|
18195
|
+
* `agentSettings.addonDefaults` (cells revert to Auto — the node
|
|
18196
|
+
* resolves its own hardware-aware format default at runtime);
|
|
18197
|
+
* (b) clears per-camera step overrides scoped to that node
|
|
18198
|
+
* (`stepOverridesByAgent[node]` + the wholesale
|
|
18199
|
+
* `pipelineByAgent[node]` escape hatch);
|
|
18200
|
+
* (c) clears the executor-side per-device settings stores on that node
|
|
18201
|
+
* (`pipelineExecutor.clearDeviceOverrides`);
|
|
18202
|
+
* (d) hot-reloads every camera assigned to the node.
|
|
18203
|
+
*
|
|
18204
|
+
* Returns the EFFECTIVE post-reset object-detection model for the node
|
|
18205
|
+
* (the executor's pure hardware-aware default) so the UI can report what
|
|
18206
|
+
* will actually run — not a value that never reaches the live path.
|
|
18207
|
+
*/
|
|
18208
|
+
resetNodePipelineDefaults: require_sleep.method(zod.z.object({ agentNodeId: zod.z.string() }), zod.z.object({
|
|
18209
|
+
success: zod.z.literal(true),
|
|
18210
|
+
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
18211
|
+
effectiveModelId: zod.z.string().nullable(),
|
|
18212
|
+
/** Number of cameras whose node-scoped overrides were cleared. */
|
|
18213
|
+
clearedCameraOverrides: zod.z.number()
|
|
18214
|
+
}), {
|
|
18215
|
+
kind: "mutation",
|
|
18216
|
+
auth: "admin"
|
|
18217
|
+
}),
|
|
18132
18218
|
/** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
|
|
18133
18219
|
getCameraSettings: require_sleep.method(zod.z.object({ deviceId: zod.z.number() }), CameraPipelineSettingsSchema.nullable()),
|
|
18134
18220
|
/** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
|
|
@@ -18221,6 +18307,153 @@ var pipelineOrchestratorCapability = {
|
|
|
18221
18307
|
}
|
|
18222
18308
|
};
|
|
18223
18309
|
//#endregion
|
|
18310
|
+
//#region src/capabilities/server-management.cap.ts
|
|
18311
|
+
/**
|
|
18312
|
+
* server-management — per-NODE singleton capability for a node's ROOT
|
|
18313
|
+
* package lifecycle (runtime-updatable node packages, phase 2: hub + docker
|
|
18314
|
+
* agents).
|
|
18315
|
+
*
|
|
18316
|
+
* Each node's root package (`@camstack/server` on the hub, `@camstack/agent`
|
|
18317
|
+
* on agents) carries the whole software stack in its npm dep tree, so ONE
|
|
18318
|
+
* version describes the node. Updates install into
|
|
18319
|
+
* `<dataDir>/server-root/versions/<v>/` and apply on restart via the baked
|
|
18320
|
+
* starter (probation boot + auto-rollback to N-1).
|
|
18321
|
+
*
|
|
18322
|
+
* Providers:
|
|
18323
|
+
* - HUB: `ServerUpdateService` behind the `server-provided` mount
|
|
18324
|
+
* (`buildServerProviders` in trpc.router.ts) — the default target for
|
|
18325
|
+
* unpinned calls.
|
|
18326
|
+
* - AGENT: `AgentUpdateService` registered by the agent bootstrap under
|
|
18327
|
+
* the synthetic `agent-runtime` addonId and declared in the agent's
|
|
18328
|
+
* `$hub.registerNode` manifest.
|
|
18329
|
+
*
|
|
18330
|
+
* Node routing: singleton caps get the codegen/runtime-builder `nodeId`
|
|
18331
|
+
* injection on every method — `input.nodeId` (or `nodePin(nodeId)` from the
|
|
18332
|
+
* SDK) routes the call to that node's provider via the standard remote
|
|
18333
|
+
* proxy (`createCapabilityProxy` → `$agent-cap-fwd` → the agent's
|
|
18334
|
+
* in-process provider lookup). No `nodeId` → the hub's own provider.
|
|
18335
|
+
*
|
|
18336
|
+
* Spec: docs/superpowers/specs/2026-07-12-runtime-updatable-node-packages-design.md
|
|
18337
|
+
*/
|
|
18338
|
+
/**
|
|
18339
|
+
* Where the running hub's code was loaded from:
|
|
18340
|
+
* - `workspace` — dev checkout (tsx / workspace dist); the starter defers to
|
|
18341
|
+
* plain resolution and runtime updates are refused.
|
|
18342
|
+
* - `baked` — the immutable image seed closure (no data-dir root active).
|
|
18343
|
+
* - `data-root` — the runtime-updatable `<dataDir>/server-root` closure.
|
|
18344
|
+
*/
|
|
18345
|
+
var ServerBootModeSchema = zod.z.enum([
|
|
18346
|
+
"workspace",
|
|
18347
|
+
"baked",
|
|
18348
|
+
"data-root"
|
|
18349
|
+
]);
|
|
18350
|
+
/**
|
|
18351
|
+
* Update lifecycle state:
|
|
18352
|
+
* - `idle` / `checking` / `staging` — steady / in-flight registry work.
|
|
18353
|
+
* - `pending-restart` — a version is staged and the node has NOT yet
|
|
18354
|
+
* restarted onto it (still running the OLD version).
|
|
18355
|
+
* - `awaiting-confirmation` — the node HAS restarted onto the staged version
|
|
18356
|
+
* (it is the active probation boot) and is waiting to confirm boot-health.
|
|
18357
|
+
* Apply/rollback are refused in this state and the node must NOT be
|
|
18358
|
+
* manually restarted, or the probation boot auto-rolls-back.
|
|
18359
|
+
*/
|
|
18360
|
+
var ServerUpdateStateSchema = zod.z.enum([
|
|
18361
|
+
"idle",
|
|
18362
|
+
"checking",
|
|
18363
|
+
"staging",
|
|
18364
|
+
"pending-restart",
|
|
18365
|
+
"awaiting-confirmation"
|
|
18366
|
+
]);
|
|
18367
|
+
var ServerRollbackInfoSchema = zod.z.object({
|
|
18368
|
+
/** The version that failed (or was manually rolled back). */
|
|
18369
|
+
fromVersion: zod.z.string(),
|
|
18370
|
+
/** The version rolled back to; null = the baked seed. */
|
|
18371
|
+
toVersion: zod.z.string().nullable(),
|
|
18372
|
+
atMs: zod.z.number(),
|
|
18373
|
+
reason: zod.z.string()
|
|
18374
|
+
});
|
|
18375
|
+
var ServerPackageStatusSchema = zod.z.object({
|
|
18376
|
+
/** Root package name (`@camstack/server` on the hub). */
|
|
18377
|
+
packageName: zod.z.string(),
|
|
18378
|
+
/** Version of the code the running process ACTUALLY loaded. */
|
|
18379
|
+
runningVersion: zod.z.string().nullable(),
|
|
18380
|
+
/** Node.js runtime version the node's process runs on (`process.versions.node`). */
|
|
18381
|
+
nodeRuntimeVersion: zod.z.string().nullable(),
|
|
18382
|
+
/** Active data-dir root version; null when booted from seed/workspace. */
|
|
18383
|
+
activeVersion: zod.z.string().nullable(),
|
|
18384
|
+
/** N-1 version kept for rollback; null when no previous version exists. */
|
|
18385
|
+
previousVersion: zod.z.string().nullable(),
|
|
18386
|
+
/** Version of the immutable baked seed closure (image fallback). */
|
|
18387
|
+
seedVersion: zod.z.string().nullable(),
|
|
18388
|
+
/** Latest registry version from the most recent check (null = never checked). */
|
|
18389
|
+
latestVersion: zod.z.string().nullable(),
|
|
18390
|
+
updateAvailable: zod.z.boolean(),
|
|
18391
|
+
bootMode: ServerBootModeSchema,
|
|
18392
|
+
updateState: ServerUpdateStateSchema,
|
|
18393
|
+
/** Version staged + awaiting its probation boot, when one is pending. */
|
|
18394
|
+
pendingVersion: zod.z.string().nullable(),
|
|
18395
|
+
/** Set when the last freshly-activated version failed its boot health-check. */
|
|
18396
|
+
rolledBack: ServerRollbackInfoSchema.nullable(),
|
|
18397
|
+
/**
|
|
18398
|
+
* True when `server-root/state.json` EXISTS but is unreadable/corrupt — the
|
|
18399
|
+
* hub is running from the baked seed (or workspace) while installed data-dir
|
|
18400
|
+
* versions are being IGNORED. Surfaced as a warning in the UI.
|
|
18401
|
+
*/
|
|
18402
|
+
stateFileCorrupt: zod.z.boolean(),
|
|
18403
|
+
lastCheckedAtMs: zod.z.number().nullable()
|
|
18404
|
+
});
|
|
18405
|
+
var ServerUpdateCheckResultSchema = zod.z.object({
|
|
18406
|
+
packageName: zod.z.string(),
|
|
18407
|
+
runningVersion: zod.z.string().nullable(),
|
|
18408
|
+
latestVersion: zod.z.string().nullable(),
|
|
18409
|
+
updateAvailable: zod.z.boolean(),
|
|
18410
|
+
checkedAtMs: zod.z.number(),
|
|
18411
|
+
/** Non-null when the registry lookup failed (offline, bad registry, …). */
|
|
18412
|
+
error: zod.z.string().nullable()
|
|
18413
|
+
});
|
|
18414
|
+
var ServerUpdateActionResultSchema = zod.z.object({
|
|
18415
|
+
accepted: zod.z.boolean(),
|
|
18416
|
+
targetVersion: zod.z.string().nullable(),
|
|
18417
|
+
/** True when a graceful restart was scheduled to apply the change. */
|
|
18418
|
+
restarting: zod.z.boolean(),
|
|
18419
|
+
message: zod.z.string()
|
|
18420
|
+
});
|
|
18421
|
+
var serverManagementCapability = {
|
|
18422
|
+
name: "server-management",
|
|
18423
|
+
scope: "system",
|
|
18424
|
+
mode: "singleton",
|
|
18425
|
+
methods: {
|
|
18426
|
+
getServerPackageStatus: require_sleep.method(zod.z.void(), ServerPackageStatusSchema, { auth: "admin" }),
|
|
18427
|
+
checkServerUpdate: require_sleep.method(zod.z.void(), ServerUpdateCheckResultSchema, {
|
|
18428
|
+
kind: "mutation",
|
|
18429
|
+
auth: "admin"
|
|
18430
|
+
}),
|
|
18431
|
+
applyServerUpdate: require_sleep.method(zod.z.object({
|
|
18432
|
+
/** Explicit target version; omitted = latest from the registry. */
|
|
18433
|
+
version: zod.z.string().optional() }), ServerUpdateActionResultSchema, {
|
|
18434
|
+
kind: "mutation",
|
|
18435
|
+
auth: "admin"
|
|
18436
|
+
}),
|
|
18437
|
+
rollbackServerUpdate: require_sleep.method(zod.z.void(), ServerUpdateActionResultSchema, {
|
|
18438
|
+
kind: "mutation",
|
|
18439
|
+
auth: "admin"
|
|
18440
|
+
}),
|
|
18441
|
+
/**
|
|
18442
|
+
* Plain process restart of the node's root process — no version change.
|
|
18443
|
+
* The supervisor (docker restart policy / launchd / Electron main)
|
|
18444
|
+
* relaunches and the starter loads the SAME active version. Refused while
|
|
18445
|
+
* a stage is in flight or a version is already staged awaiting restart
|
|
18446
|
+
* (use apply/rollback instead, so the pending version is not skipped).
|
|
18447
|
+
*/
|
|
18448
|
+
restartServer: require_sleep.method(zod.z.void(), ServerUpdateActionResultSchema, {
|
|
18449
|
+
kind: "mutation",
|
|
18450
|
+
auth: "admin"
|
|
18451
|
+
})
|
|
18452
|
+
},
|
|
18453
|
+
/** BIG PLAN 2: declarative mount hint — read by `@camstack/system` `buildCapRouters`. */
|
|
18454
|
+
mount: { kind: "server-provided" }
|
|
18455
|
+
};
|
|
18456
|
+
//#endregion
|
|
18224
18457
|
//#region src/capabilities/settings-store.cap.ts
|
|
18225
18458
|
/**
|
|
18226
18459
|
* Query filter for settings-store collections.
|
|
@@ -21134,6 +21367,16 @@ var TopologyCategorySchema = zod.z.object({
|
|
|
21134
21367
|
healthy: zod.z.number(),
|
|
21135
21368
|
addons: zod.z.array(TopologyCategoryAddonSchema).readonly()
|
|
21136
21369
|
});
|
|
21370
|
+
/**
|
|
21371
|
+
* The node's runtime-updatable ROOT package (`@camstack/server` on the hub,
|
|
21372
|
+
* `@camstack/agent` on agents) as reported by its `registerNode` manifest —
|
|
21373
|
+
* version visibility for the Server management surface. Nullable: offline
|
|
21374
|
+
* rows and pre-phase-2 nodes report none.
|
|
21375
|
+
*/
|
|
21376
|
+
var TopologyRootPackageSchema = zod.z.object({
|
|
21377
|
+
name: zod.z.string(),
|
|
21378
|
+
version: zod.z.string()
|
|
21379
|
+
});
|
|
21137
21380
|
var TopologyNodeSchema = zod.z.object({
|
|
21138
21381
|
id: zod.z.string(),
|
|
21139
21382
|
name: zod.z.string(),
|
|
@@ -21157,7 +21400,8 @@ var TopologyNodeSchema = zod.z.object({
|
|
|
21157
21400
|
status: zod.z.string()
|
|
21158
21401
|
})).readonly(),
|
|
21159
21402
|
processes: zod.z.array(TopologyProcessSchema).readonly(),
|
|
21160
|
-
categories: zod.z.array(TopologyCategorySchema).readonly()
|
|
21403
|
+
categories: zod.z.array(TopologyCategorySchema).readonly(),
|
|
21404
|
+
rootPackage: TopologyRootPackageSchema.nullable()
|
|
21161
21405
|
});
|
|
21162
21406
|
var CapUsageEdgeSchema = zod.z.object({
|
|
21163
21407
|
callerAddonId: zod.z.string(),
|
|
@@ -22662,6 +22906,7 @@ var CAPABILITY_NAMES = {
|
|
|
22662
22906
|
localNetwork: "local-network",
|
|
22663
22907
|
lockControl: "lock-control",
|
|
22664
22908
|
logDestination: "log-destination",
|
|
22909
|
+
loginMethod: "login-method",
|
|
22665
22910
|
mediaPlayer: "media-player",
|
|
22666
22911
|
meshNetwork: "mesh-network",
|
|
22667
22912
|
metricsProvider: "metrics-provider",
|
|
@@ -22697,6 +22942,7 @@ var CAPABILITY_NAMES = {
|
|
|
22697
22942
|
reboot: "reboot",
|
|
22698
22943
|
recording: "recording",
|
|
22699
22944
|
scriptRunner: "script-runner",
|
|
22945
|
+
serverManagement: "server-management",
|
|
22700
22946
|
settingsStore: "settings-store",
|
|
22701
22947
|
smoke: "smoke",
|
|
22702
22948
|
smtpProvider: "smtp-provider",
|
|
@@ -22721,6 +22967,7 @@ var CAPABILITY_NAMES = {
|
|
|
22721
22967
|
valve: "valve",
|
|
22722
22968
|
vibration: "vibration",
|
|
22723
22969
|
videoclips: "videoclips",
|
|
22970
|
+
viewerUi: "viewer-ui",
|
|
22724
22971
|
waterHeater: "water-heater",
|
|
22725
22972
|
weather: "weather",
|
|
22726
22973
|
webrtcSession: "webrtc-session",
|
|
@@ -23010,6 +23257,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
23010
23257
|
key: "logDestination",
|
|
23011
23258
|
name: "log-destination"
|
|
23012
23259
|
},
|
|
23260
|
+
{
|
|
23261
|
+
key: "loginMethod",
|
|
23262
|
+
name: "login-method"
|
|
23263
|
+
},
|
|
23013
23264
|
{
|
|
23014
23265
|
key: "mediaPlayer",
|
|
23015
23266
|
name: "media-player"
|
|
@@ -23150,6 +23401,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
23150
23401
|
key: "scriptRunner",
|
|
23151
23402
|
name: "script-runner"
|
|
23152
23403
|
},
|
|
23404
|
+
{
|
|
23405
|
+
key: "serverManagement",
|
|
23406
|
+
name: "server-management"
|
|
23407
|
+
},
|
|
23153
23408
|
{
|
|
23154
23409
|
key: "settingsStore",
|
|
23155
23410
|
name: "settings-store"
|
|
@@ -23246,6 +23501,10 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
23246
23501
|
key: "videoclips",
|
|
23247
23502
|
name: "videoclips"
|
|
23248
23503
|
},
|
|
23504
|
+
{
|
|
23505
|
+
key: "viewerUi",
|
|
23506
|
+
name: "viewer-ui"
|
|
23507
|
+
},
|
|
23249
23508
|
{
|
|
23250
23509
|
key: "waterHeater",
|
|
23251
23510
|
name: "water-heater"
|
|
@@ -23351,6 +23610,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23351
23610
|
localNetworkCapability,
|
|
23352
23611
|
lockControlCapability,
|
|
23353
23612
|
logDestinationCapability,
|
|
23613
|
+
loginMethodCapability,
|
|
23354
23614
|
mediaPlayerCapability,
|
|
23355
23615
|
meshNetworkCapability,
|
|
23356
23616
|
metricsProviderCapability,
|
|
@@ -23386,6 +23646,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23386
23646
|
rebootCapability,
|
|
23387
23647
|
recordingCapability,
|
|
23388
23648
|
scriptRunnerCapability,
|
|
23649
|
+
serverManagementCapability,
|
|
23389
23650
|
settingsStoreCapability,
|
|
23390
23651
|
smokeCapability,
|
|
23391
23652
|
smtpProviderCapability,
|
|
@@ -23410,6 +23671,7 @@ var ALL_CAPABILITY_DEFINITIONS = [
|
|
|
23410
23671
|
valveCapability,
|
|
23411
23672
|
vibrationCapability,
|
|
23412
23673
|
videoclipsCapability,
|
|
23674
|
+
require_sleep.viewerUiCapability,
|
|
23413
23675
|
waterHeaterCapability,
|
|
23414
23676
|
weatherCapability,
|
|
23415
23677
|
webrtcSessionCapability,
|
|
@@ -25470,6 +25732,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
25470
25732
|
addonId: null,
|
|
25471
25733
|
access: "create"
|
|
25472
25734
|
},
|
|
25735
|
+
"loginMethod.getLoginMethods": {
|
|
25736
|
+
capName: "login-method",
|
|
25737
|
+
capScope: "system",
|
|
25738
|
+
addonId: null,
|
|
25739
|
+
access: "view"
|
|
25740
|
+
},
|
|
25473
25741
|
"mediaPlayer.next": {
|
|
25474
25742
|
capName: "media-player",
|
|
25475
25743
|
capScope: "device",
|
|
@@ -26100,23 +26368,23 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26100
26368
|
addonId: null,
|
|
26101
26369
|
access: "create"
|
|
26102
26370
|
},
|
|
26103
|
-
"pipelineExecutor.
|
|
26371
|
+
"pipelineExecutor.clearDeviceOverrides": {
|
|
26104
26372
|
capName: "pipeline-executor",
|
|
26105
26373
|
capScope: "system",
|
|
26106
26374
|
addonId: null,
|
|
26107
26375
|
access: "delete"
|
|
26108
26376
|
},
|
|
26109
|
-
"pipelineExecutor.
|
|
26377
|
+
"pipelineExecutor.deleteModel": {
|
|
26110
26378
|
capName: "pipeline-executor",
|
|
26111
26379
|
capScope: "system",
|
|
26112
26380
|
addonId: null,
|
|
26113
26381
|
access: "delete"
|
|
26114
26382
|
},
|
|
26115
|
-
"pipelineExecutor.
|
|
26383
|
+
"pipelineExecutor.deleteTemplate": {
|
|
26116
26384
|
capName: "pipeline-executor",
|
|
26117
26385
|
capScope: "system",
|
|
26118
26386
|
addonId: null,
|
|
26119
|
-
access: "
|
|
26387
|
+
access: "delete"
|
|
26120
26388
|
},
|
|
26121
26389
|
"pipelineExecutor.downloadModel": {
|
|
26122
26390
|
capName: "pipeline-executor",
|
|
@@ -26262,12 +26530,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26262
26530
|
addonId: null,
|
|
26263
26531
|
access: "create"
|
|
26264
26532
|
},
|
|
26265
|
-
"pipelineExecutor.resetToDefault": {
|
|
26266
|
-
capName: "pipeline-executor",
|
|
26267
|
-
capScope: "system",
|
|
26268
|
-
addonId: null,
|
|
26269
|
-
access: "delete"
|
|
26270
|
-
},
|
|
26271
26533
|
"pipelineExecutor.runAudioTest": {
|
|
26272
26534
|
capName: "pipeline-executor",
|
|
26273
26535
|
capScope: "system",
|
|
@@ -26328,12 +26590,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26328
26590
|
addonId: null,
|
|
26329
26591
|
access: "create"
|
|
26330
26592
|
},
|
|
26331
|
-
"pipelineOrchestrator.assignDecoder": {
|
|
26332
|
-
capName: "pipeline-orchestrator",
|
|
26333
|
-
capScope: "system",
|
|
26334
|
-
addonId: null,
|
|
26335
|
-
access: "create"
|
|
26336
|
-
},
|
|
26337
26593
|
"pipelineOrchestrator.assignPipeline": {
|
|
26338
26594
|
capName: "pipeline-orchestrator",
|
|
26339
26595
|
capScope: "system",
|
|
@@ -26412,18 +26668,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26412
26668
|
addonId: null,
|
|
26413
26669
|
access: "view"
|
|
26414
26670
|
},
|
|
26415
|
-
"pipelineOrchestrator.getDecoderAssignment": {
|
|
26416
|
-
capName: "pipeline-orchestrator",
|
|
26417
|
-
capScope: "system",
|
|
26418
|
-
addonId: null,
|
|
26419
|
-
access: "view"
|
|
26420
|
-
},
|
|
26421
|
-
"pipelineOrchestrator.getDecoderAssignments": {
|
|
26422
|
-
capName: "pipeline-orchestrator",
|
|
26423
|
-
capScope: "system",
|
|
26424
|
-
addonId: null,
|
|
26425
|
-
access: "view"
|
|
26426
|
-
},
|
|
26427
26671
|
"pipelineOrchestrator.getGlobalMetrics": {
|
|
26428
26672
|
capName: "pipeline-orchestrator",
|
|
26429
26673
|
capScope: "system",
|
|
@@ -26472,6 +26716,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26472
26716
|
addonId: null,
|
|
26473
26717
|
access: "delete"
|
|
26474
26718
|
},
|
|
26719
|
+
"pipelineOrchestrator.resetNodePipelineDefaults": {
|
|
26720
|
+
capName: "pipeline-orchestrator",
|
|
26721
|
+
capScope: "system",
|
|
26722
|
+
addonId: null,
|
|
26723
|
+
access: "delete"
|
|
26724
|
+
},
|
|
26475
26725
|
"pipelineOrchestrator.resolvePipeline": {
|
|
26476
26726
|
capName: "pipeline-orchestrator",
|
|
26477
26727
|
capScope: "system",
|
|
@@ -26544,12 +26794,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26544
26794
|
addonId: null,
|
|
26545
26795
|
access: "create"
|
|
26546
26796
|
},
|
|
26547
|
-
"pipelineOrchestrator.unassignDecoder": {
|
|
26548
|
-
capName: "pipeline-orchestrator",
|
|
26549
|
-
capScope: "system",
|
|
26550
|
-
addonId: null,
|
|
26551
|
-
access: "create"
|
|
26552
|
-
},
|
|
26553
26797
|
"pipelineOrchestrator.unassignPipeline": {
|
|
26554
26798
|
capName: "pipeline-orchestrator",
|
|
26555
26799
|
capScope: "system",
|
|
@@ -26856,6 +27100,36 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
26856
27100
|
addonId: null,
|
|
26857
27101
|
access: "create"
|
|
26858
27102
|
},
|
|
27103
|
+
"serverManagement.applyServerUpdate": {
|
|
27104
|
+
capName: "server-management",
|
|
27105
|
+
capScope: "system",
|
|
27106
|
+
addonId: null,
|
|
27107
|
+
access: "create"
|
|
27108
|
+
},
|
|
27109
|
+
"serverManagement.checkServerUpdate": {
|
|
27110
|
+
capName: "server-management",
|
|
27111
|
+
capScope: "system",
|
|
27112
|
+
addonId: null,
|
|
27113
|
+
access: "create"
|
|
27114
|
+
},
|
|
27115
|
+
"serverManagement.getServerPackageStatus": {
|
|
27116
|
+
capName: "server-management",
|
|
27117
|
+
capScope: "system",
|
|
27118
|
+
addonId: null,
|
|
27119
|
+
access: "view"
|
|
27120
|
+
},
|
|
27121
|
+
"serverManagement.restartServer": {
|
|
27122
|
+
capName: "server-management",
|
|
27123
|
+
capScope: "system",
|
|
27124
|
+
addonId: null,
|
|
27125
|
+
access: "create"
|
|
27126
|
+
},
|
|
27127
|
+
"serverManagement.rollbackServerUpdate": {
|
|
27128
|
+
capName: "server-management",
|
|
27129
|
+
capScope: "system",
|
|
27130
|
+
addonId: null,
|
|
27131
|
+
access: "create"
|
|
27132
|
+
},
|
|
26859
27133
|
"settingsStore.count": {
|
|
26860
27134
|
capName: "settings-store",
|
|
26861
27135
|
capScope: "system",
|
|
@@ -27720,6 +27994,18 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
27720
27994
|
addonId: null,
|
|
27721
27995
|
access: "view"
|
|
27722
27996
|
},
|
|
27997
|
+
"viewerUi.getStaticDir": {
|
|
27998
|
+
capName: "viewer-ui",
|
|
27999
|
+
capScope: "system",
|
|
28000
|
+
addonId: null,
|
|
28001
|
+
access: "view"
|
|
28002
|
+
},
|
|
28003
|
+
"viewerUi.getVersion": {
|
|
28004
|
+
capName: "viewer-ui",
|
|
28005
|
+
capScope: "system",
|
|
28006
|
+
addonId: null,
|
|
28007
|
+
access: "view"
|
|
28008
|
+
},
|
|
27723
28009
|
"waterHeater.setAway": {
|
|
27724
28010
|
capName: "water-heater",
|
|
27725
28011
|
capScope: "device",
|
|
@@ -27908,6 +28194,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
27908
28194
|
"local-network",
|
|
27909
28195
|
"lock-control",
|
|
27910
28196
|
"log-destination",
|
|
28197
|
+
"login-method",
|
|
27911
28198
|
"media-player",
|
|
27912
28199
|
"mesh-network",
|
|
27913
28200
|
"metrics-provider",
|
|
@@ -27939,6 +28226,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
27939
28226
|
"reboot",
|
|
27940
28227
|
"recording",
|
|
27941
28228
|
"script-runner",
|
|
28229
|
+
"server-management",
|
|
27942
28230
|
"settings-store",
|
|
27943
28231
|
"smtp-provider",
|
|
27944
28232
|
"snapshot",
|
|
@@ -27959,6 +28247,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
27959
28247
|
"vacuum-control",
|
|
27960
28248
|
"valve",
|
|
27961
28249
|
"videoclips",
|
|
28250
|
+
"viewer-ui",
|
|
27962
28251
|
"water-heater",
|
|
27963
28252
|
"webrtc-session",
|
|
27964
28253
|
"zone-analytics",
|
|
@@ -28051,6 +28340,7 @@ var SYSTEM_CAP_NAMES = [
|
|
|
28051
28340
|
"integrations",
|
|
28052
28341
|
"local-network",
|
|
28053
28342
|
"log-destination",
|
|
28343
|
+
"login-method",
|
|
28054
28344
|
"mesh-network",
|
|
28055
28345
|
"metrics-provider",
|
|
28056
28346
|
"model-convert",
|
|
@@ -28067,6 +28357,7 @@ var SYSTEM_CAP_NAMES = [
|
|
|
28067
28357
|
"plate-gallery",
|
|
28068
28358
|
"platform-probe",
|
|
28069
28359
|
"recording",
|
|
28360
|
+
"server-management",
|
|
28070
28361
|
"settings-store",
|
|
28071
28362
|
"smtp-provider",
|
|
28072
28363
|
"sso-bridge",
|
|
@@ -28078,7 +28369,8 @@ var SYSTEM_CAP_NAMES = [
|
|
|
28078
28369
|
"toast",
|
|
28079
28370
|
"turn-provider",
|
|
28080
28371
|
"user-management",
|
|
28081
|
-
"user-passkeys"
|
|
28372
|
+
"user-passkeys",
|
|
28373
|
+
"viewer-ui"
|
|
28082
28374
|
];
|
|
28083
28375
|
//#endregion
|
|
28084
28376
|
//#region src/generated/scope-presets.ts
|
|
@@ -28811,12 +29103,10 @@ exports.DayNightSettingsPatchSchema = DayNightSettingsPatchSchema;
|
|
|
28811
29103
|
exports.DayNightStatusSchema = DayNightStatusSchema;
|
|
28812
29104
|
exports.DecodedAudioChunkSchema = require_sleep.DecodedAudioChunkSchema;
|
|
28813
29105
|
exports.DecodedFrameSchema = require_sleep.DecodedFrameSchema;
|
|
28814
|
-
exports.DecoderAssignmentSchema = DecoderAssignmentSchema;
|
|
28815
29106
|
exports.DecoderSessionConfigSchema = DecoderSessionConfigSchema;
|
|
28816
29107
|
exports.DecoderStatsSchema = DecoderStatsSchema;
|
|
28817
29108
|
exports.DeleteIntegrationResultSchema = DeleteIntegrationResultSchema;
|
|
28818
29109
|
exports.DetectionSourceSchema = DetectionSourceSchema;
|
|
28819
|
-
exports.DetectorOutputSchema = DetectorOutputSchema;
|
|
28820
29110
|
exports.DeviceCodeSeveritySchema = DeviceCodeSeveritySchema;
|
|
28821
29111
|
exports.DeviceConfig = DeviceConfig;
|
|
28822
29112
|
exports.DeviceDiscoveryStatusSchema = DeviceDiscoveryStatusSchema;
|
|
@@ -28905,6 +29195,8 @@ exports.LockStateSchema = LockStateSchema;
|
|
|
28905
29195
|
exports.LogEntrySchema = LogEntrySchema;
|
|
28906
29196
|
exports.LogLevelSchema = LogLevelSchema;
|
|
28907
29197
|
exports.LogStreamEntrySchema = LogStreamEntrySchema;
|
|
29198
|
+
exports.LoginMethodContributionSchema = LoginMethodContributionSchema;
|
|
29199
|
+
exports.LoginStageEnum = LoginStageEnum;
|
|
28908
29200
|
exports.MACRO_LABELS = MACRO_LABELS;
|
|
28909
29201
|
exports.MAX_EXPRESSION_AST_NODES = MAX_EXPRESSION_AST_NODES;
|
|
28910
29202
|
exports.MAX_EXPRESSION_BINDINGS = MAX_EXPRESSION_BINDINGS;
|
|
@@ -29050,6 +29342,7 @@ exports.RecordingStorageModeSchema = RecordingStorageModeSchema;
|
|
|
29050
29342
|
exports.RecordingStorageUsageSchema = RecordingStorageUsageSchema;
|
|
29051
29343
|
exports.RecordingTriggersSchema = RecordingTriggersSchema;
|
|
29052
29344
|
exports.RecordingWeekdaySchema = RecordingWeekdaySchema;
|
|
29345
|
+
exports.RedirectLoginMethodSchema = RedirectLoginMethodSchema;
|
|
29053
29346
|
exports.RenderedAsSchema = RenderedAsSchema;
|
|
29054
29347
|
exports.ReportMotionInputSchema = ReportMotionInputSchema;
|
|
29055
29348
|
exports.RingBuffer = RingBuffer;
|
|
@@ -29074,6 +29367,12 @@ exports.SearchResultSchema = SearchResultSchema;
|
|
|
29074
29367
|
exports.SendEmailInputSchema = SendEmailInputSchema;
|
|
29075
29368
|
exports.SendEmailResultSchema = SendEmailResultSchema;
|
|
29076
29369
|
exports.SendResultSchema = SendResultSchema;
|
|
29370
|
+
exports.ServerBootModeSchema = ServerBootModeSchema;
|
|
29371
|
+
exports.ServerPackageStatusSchema = ServerPackageStatusSchema;
|
|
29372
|
+
exports.ServerRollbackInfoSchema = ServerRollbackInfoSchema;
|
|
29373
|
+
exports.ServerUpdateActionResultSchema = ServerUpdateActionResultSchema;
|
|
29374
|
+
exports.ServerUpdateCheckResultSchema = ServerUpdateCheckResultSchema;
|
|
29375
|
+
exports.ServerUpdateStateSchema = ServerUpdateStateSchema;
|
|
29077
29376
|
exports.SettingsPatchSchema = SettingsPatchSchema;
|
|
29078
29377
|
exports.SettingsRecordSchema = SettingsRecordSchema;
|
|
29079
29378
|
exports.SettingsSchemaWithValuesSchema = SettingsSchemaWithValuesSchema;
|
|
@@ -29160,6 +29459,7 @@ exports.WebrtcStreamChoiceSchema = WebrtcStreamChoiceSchema;
|
|
|
29160
29459
|
exports.WebrtcStreamTargetSchema = WebrtcStreamTargetSchema;
|
|
29161
29460
|
exports.WhiteBalanceModeSchema = WhiteBalanceModeSchema;
|
|
29162
29461
|
exports.WidgetHostEnum = WidgetHostEnum;
|
|
29462
|
+
exports.WidgetLoginMethodSchema = WidgetLoginMethodSchema;
|
|
29163
29463
|
exports.WidgetMetadataSchema = WidgetMetadataSchema;
|
|
29164
29464
|
exports.WidgetRemoteSchema = WidgetRemoteSchema;
|
|
29165
29465
|
exports.WidgetSizeEnum = WidgetSizeEnum;
|
|
@@ -29219,6 +29519,8 @@ exports.cellsToRects = cellsToRects;
|
|
|
29219
29519
|
exports.classifyStream = classifyStream;
|
|
29220
29520
|
exports.classifyStreams = classifyStreams;
|
|
29221
29521
|
exports.climateControlCapability = climateControlCapability;
|
|
29522
|
+
exports.collectHydratedFieldEntries = require_sleep.collectHydratedFieldEntries;
|
|
29523
|
+
exports.collectHydratedFieldValues = require_sleep.collectHydratedFieldValues;
|
|
29222
29524
|
exports.colorCapability = colorCapability;
|
|
29223
29525
|
exports.compileExpression = compileExpression;
|
|
29224
29526
|
exports.compileExpressionSafe = compileExpressionSafe;
|
|
@@ -29314,6 +29616,7 @@ exports.localNetworkCapability = localNetworkCapability;
|
|
|
29314
29616
|
exports.locationSimilarity = locationSimilarity;
|
|
29315
29617
|
exports.lockControlCapability = lockControlCapability;
|
|
29316
29618
|
exports.logDestinationCapability = logDestinationCapability;
|
|
29619
|
+
exports.loginMethodCapability = loginMethodCapability;
|
|
29317
29620
|
exports.looseSchema = looseSchema;
|
|
29318
29621
|
exports.makeProfileBrokerId = require_sleep.makeProfileBrokerId;
|
|
29319
29622
|
exports.makeSourceBrokerId = require_sleep.makeSourceBrokerId;
|
|
@@ -29386,6 +29689,7 @@ exports.resolveCapMount = require_sleep.resolveCapMount;
|
|
|
29386
29689
|
exports.resolveDetectionRuntime = resolveDetectionRuntime;
|
|
29387
29690
|
exports.resolveDeviceProfile = resolveDeviceProfile;
|
|
29388
29691
|
exports.resolveFormat = resolveFormat;
|
|
29692
|
+
exports.resolveHydratedFieldValue = require_sleep.resolveHydratedFieldValue;
|
|
29389
29693
|
exports.resolveModelFormat = resolveModelFormat;
|
|
29390
29694
|
exports.resolveRunnerId = resolveRunnerId;
|
|
29391
29695
|
exports.resolveVariantModelId = resolveVariantModelId;
|
|
@@ -29395,6 +29699,7 @@ exports.scopeKey = require_sleep.scopeKey;
|
|
|
29395
29699
|
exports.scoreRuntimes = scoreRuntimes;
|
|
29396
29700
|
exports.scriptRunnerCapability = scriptRunnerCapability;
|
|
29397
29701
|
exports.selectAssignedProfileSlots = require_sleep.selectAssignedProfileSlots;
|
|
29702
|
+
exports.serverManagementCapability = serverManagementCapability;
|
|
29398
29703
|
exports.setByPath = setByPath;
|
|
29399
29704
|
exports.settingsStoreCapability = settingsStoreCapability;
|
|
29400
29705
|
exports.sleep = require_sleep.sleep;
|
|
@@ -29440,6 +29745,7 @@ exports.validateExpressionSource = validateExpressionSource;
|
|
|
29440
29745
|
exports.valveCapability = valveCapability;
|
|
29441
29746
|
exports.vibrationCapability = vibrationCapability;
|
|
29442
29747
|
exports.videoclipsCapability = videoclipsCapability;
|
|
29748
|
+
exports.viewerUiCapability = require_sleep.viewerUiCapability;
|
|
29443
29749
|
exports.waterHeaterCapability = waterHeaterCapability;
|
|
29444
29750
|
exports.weatherCapability = weatherCapability;
|
|
29445
29751
|
exports.webrtcClientHintsSchema = webrtcClientHintsSchema;
|