@camstack/addon-provider-reolink 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +315 -30
- package/dist/addon.mjs +315 -30
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -5009,6 +5009,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5009
5009
|
*/
|
|
5010
5010
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
5011
5011
|
/**
|
|
5012
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
5013
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
5014
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
5015
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
5016
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
5017
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
5018
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
5019
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
5020
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
5021
|
+
*/
|
|
5022
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
5023
|
+
/**
|
|
5012
5024
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
5013
5025
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
5014
5026
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5158,14 +5170,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5158
5170
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5159
5171
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5160
5172
|
/**
|
|
5161
|
-
*
|
|
5162
|
-
*
|
|
5163
|
-
*
|
|
5164
|
-
* to
|
|
5165
|
-
*
|
|
5166
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5173
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5174
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5175
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5176
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5177
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5167
5178
|
*/
|
|
5168
5179
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5180
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5181
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5169
5182
|
/**
|
|
5170
5183
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5171
5184
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -10585,6 +10598,24 @@ var DetectorOutputSchema = object({
|
|
|
10585
10598
|
inferenceMs: number(),
|
|
10586
10599
|
modelId: string()
|
|
10587
10600
|
});
|
|
10601
|
+
var EngineProvisioningSchema = object({
|
|
10602
|
+
runtimeId: _enum([
|
|
10603
|
+
"onnx",
|
|
10604
|
+
"openvino",
|
|
10605
|
+
"coreml"
|
|
10606
|
+
]).nullable(),
|
|
10607
|
+
device: string().nullable(),
|
|
10608
|
+
state: _enum([
|
|
10609
|
+
"idle",
|
|
10610
|
+
"installing",
|
|
10611
|
+
"verifying",
|
|
10612
|
+
"ready",
|
|
10613
|
+
"failed"
|
|
10614
|
+
]),
|
|
10615
|
+
progress: number().optional(),
|
|
10616
|
+
error: string().optional(),
|
|
10617
|
+
nextRetryAt: number().optional()
|
|
10618
|
+
});
|
|
10588
10619
|
var PipelineStepInputSchema = lazy(() => object({
|
|
10589
10620
|
addonId: string(),
|
|
10590
10621
|
modelId: string(),
|
|
@@ -10653,7 +10684,7 @@ var PipelineRunResultBridge = custom$2();
|
|
|
10653
10684
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
10654
10685
|
kind: "mutation",
|
|
10655
10686
|
auth: "admin"
|
|
10656
|
-
}), method(_void(), record(string(), object({
|
|
10687
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
10657
10688
|
modelId: string(),
|
|
10658
10689
|
settings: record(string(), unknown()).readonly()
|
|
10659
10690
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -15821,7 +15852,10 @@ var AgentAddonConfigSchema = object({
|
|
|
15821
15852
|
modelId: string(),
|
|
15822
15853
|
settings: record(string(), unknown()).readonly()
|
|
15823
15854
|
});
|
|
15824
|
-
var AgentPipelineSettingsSchema = object({
|
|
15855
|
+
var AgentPipelineSettingsSchema = object({
|
|
15856
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
15857
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
15858
|
+
});
|
|
15825
15859
|
var CameraPipelineForAgentSchema = object({
|
|
15826
15860
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
15827
15861
|
audio: object({
|
|
@@ -15923,6 +15957,133 @@ var GlobalMetricsSchema = object({
|
|
|
15923
15957
|
* capability providers.
|
|
15924
15958
|
*/
|
|
15925
15959
|
var CapabilityBindingsSchema = record(string(), string());
|
|
15960
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
15961
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
15962
|
+
camStreamId: string(),
|
|
15963
|
+
codec: string(),
|
|
15964
|
+
width: number(),
|
|
15965
|
+
height: number(),
|
|
15966
|
+
fps: number(),
|
|
15967
|
+
kind: string()
|
|
15968
|
+
})).readonly() });
|
|
15969
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
15970
|
+
var CameraAssignmentStatusSchema = object({
|
|
15971
|
+
detectionNodeId: string().nullable(),
|
|
15972
|
+
decoderNodeId: string().nullable(),
|
|
15973
|
+
audioNodeId: string().nullable(),
|
|
15974
|
+
pinned: object({
|
|
15975
|
+
detection: boolean(),
|
|
15976
|
+
decoder: boolean(),
|
|
15977
|
+
audio: boolean()
|
|
15978
|
+
}),
|
|
15979
|
+
reasons: object({
|
|
15980
|
+
detection: string().optional(),
|
|
15981
|
+
decoder: string().optional(),
|
|
15982
|
+
audio: string().optional()
|
|
15983
|
+
})
|
|
15984
|
+
});
|
|
15985
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
15986
|
+
var CameraBrokerStatusSchema = object({
|
|
15987
|
+
profiles: array(object({
|
|
15988
|
+
profile: string(),
|
|
15989
|
+
status: string(),
|
|
15990
|
+
codec: string(),
|
|
15991
|
+
width: number(),
|
|
15992
|
+
height: number(),
|
|
15993
|
+
subscribers: number(),
|
|
15994
|
+
inFps: number(),
|
|
15995
|
+
outFps: number()
|
|
15996
|
+
})).readonly(),
|
|
15997
|
+
webrtcSessions: number(),
|
|
15998
|
+
rtspRestream: boolean()
|
|
15999
|
+
});
|
|
16000
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
16001
|
+
var CameraDecoderShmSchema = object({
|
|
16002
|
+
framesWritten: number(),
|
|
16003
|
+
getFrameHits: number(),
|
|
16004
|
+
getFrameMisses: number(),
|
|
16005
|
+
budgetMb: number()
|
|
16006
|
+
});
|
|
16007
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
16008
|
+
var CameraDecoderStatusSchema = object({
|
|
16009
|
+
nodeId: string(),
|
|
16010
|
+
formats: array(string()).readonly(),
|
|
16011
|
+
sessionCount: number(),
|
|
16012
|
+
shm: CameraDecoderShmSchema
|
|
16013
|
+
});
|
|
16014
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
16015
|
+
var CameraMotionStatusSchema = object({
|
|
16016
|
+
enabled: boolean(),
|
|
16017
|
+
fps: number()
|
|
16018
|
+
});
|
|
16019
|
+
/** Detection provisioning sub-block. */
|
|
16020
|
+
var CameraDetectionProvisioningSchema = object({
|
|
16021
|
+
state: _enum([
|
|
16022
|
+
"idle",
|
|
16023
|
+
"installing",
|
|
16024
|
+
"verifying",
|
|
16025
|
+
"ready",
|
|
16026
|
+
"failed"
|
|
16027
|
+
]),
|
|
16028
|
+
error: string().optional()
|
|
16029
|
+
});
|
|
16030
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
16031
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
16032
|
+
"idle",
|
|
16033
|
+
"watching",
|
|
16034
|
+
"active"
|
|
16035
|
+
]);
|
|
16036
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
16037
|
+
var CameraDetectionStatusSchema = object({
|
|
16038
|
+
nodeId: string(),
|
|
16039
|
+
engine: object({
|
|
16040
|
+
backend: string(),
|
|
16041
|
+
device: string()
|
|
16042
|
+
}),
|
|
16043
|
+
phase: CameraDetectionPhaseSchema,
|
|
16044
|
+
configuredFps: number(),
|
|
16045
|
+
actualFps: number(),
|
|
16046
|
+
queueDepth: number(),
|
|
16047
|
+
avgInferenceMs: number(),
|
|
16048
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
16049
|
+
});
|
|
16050
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
16051
|
+
var CameraAudioStatusSchema = object({
|
|
16052
|
+
nodeId: string(),
|
|
16053
|
+
enabled: boolean()
|
|
16054
|
+
});
|
|
16055
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
16056
|
+
var CameraRecordingStatusSchema = object({
|
|
16057
|
+
mode: _enum([
|
|
16058
|
+
"off",
|
|
16059
|
+
"continuous",
|
|
16060
|
+
"events"
|
|
16061
|
+
]),
|
|
16062
|
+
active: boolean(),
|
|
16063
|
+
storageBytes: number()
|
|
16064
|
+
});
|
|
16065
|
+
/**
|
|
16066
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
16067
|
+
*
|
|
16068
|
+
* The `assignment` and `source` blocks are always present.
|
|
16069
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
16070
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
16071
|
+
*
|
|
16072
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
16073
|
+
*/
|
|
16074
|
+
var CameraStatusSchema = object({
|
|
16075
|
+
deviceId: number(),
|
|
16076
|
+
assignment: CameraAssignmentStatusSchema,
|
|
16077
|
+
source: CameraSourceStatusSchema,
|
|
16078
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
16079
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
16080
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
16081
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
16082
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
16083
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
16084
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
16085
|
+
fetchedAt: number()
|
|
16086
|
+
});
|
|
15926
16087
|
method(object({
|
|
15927
16088
|
deviceId: number(),
|
|
15928
16089
|
agentNodeId: string()
|
|
@@ -15990,6 +16151,12 @@ method(object({
|
|
|
15990
16151
|
}), {
|
|
15991
16152
|
kind: "mutation",
|
|
15992
16153
|
auth: "admin"
|
|
16154
|
+
}), method(object({
|
|
16155
|
+
agentNodeId: string(),
|
|
16156
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
16157
|
+
}), object({ success: literal(true) }), {
|
|
16158
|
+
kind: "mutation",
|
|
16159
|
+
auth: "admin"
|
|
15993
16160
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
15994
16161
|
deviceId: number(),
|
|
15995
16162
|
addonId: string(),
|
|
@@ -16015,7 +16182,7 @@ method(object({
|
|
|
16015
16182
|
}), method(object({
|
|
16016
16183
|
deviceId: number(),
|
|
16017
16184
|
agentNodeId: string().optional()
|
|
16018
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
16185
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
16019
16186
|
name: string(),
|
|
16020
16187
|
description: string().optional(),
|
|
16021
16188
|
config: CameraPipelineConfigSchema
|
|
@@ -19351,6 +19518,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
19351
19518
|
kind: "mutation",
|
|
19352
19519
|
auth: "admin"
|
|
19353
19520
|
});
|
|
19521
|
+
var jobKindSchema = _enum([
|
|
19522
|
+
"install",
|
|
19523
|
+
"update",
|
|
19524
|
+
"uninstall",
|
|
19525
|
+
"restart"
|
|
19526
|
+
]);
|
|
19527
|
+
var taskPhaseSchema = _enum([
|
|
19528
|
+
"queued",
|
|
19529
|
+
"fetching",
|
|
19530
|
+
"staged",
|
|
19531
|
+
"validating",
|
|
19532
|
+
"applying",
|
|
19533
|
+
"restarting",
|
|
19534
|
+
"applied",
|
|
19535
|
+
"done",
|
|
19536
|
+
"failed",
|
|
19537
|
+
"skipped"
|
|
19538
|
+
]);
|
|
19539
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
19540
|
+
var taskLogEntrySchema = object({
|
|
19541
|
+
tsMs: number(),
|
|
19542
|
+
nodeId: string(),
|
|
19543
|
+
packageName: string(),
|
|
19544
|
+
phase: taskPhaseSchema,
|
|
19545
|
+
message: string()
|
|
19546
|
+
});
|
|
19547
|
+
var lifecycleTaskSchema = object({
|
|
19548
|
+
taskId: string(),
|
|
19549
|
+
nodeId: string(),
|
|
19550
|
+
packageName: string(),
|
|
19551
|
+
fromVersion: string().nullable(),
|
|
19552
|
+
toVersion: string(),
|
|
19553
|
+
target: taskTargetSchema,
|
|
19554
|
+
phase: taskPhaseSchema,
|
|
19555
|
+
stagedPath: string().nullable(),
|
|
19556
|
+
attempts: number(),
|
|
19557
|
+
steps: array(taskLogEntrySchema),
|
|
19558
|
+
error: string().nullable(),
|
|
19559
|
+
startedAtMs: number().nullable(),
|
|
19560
|
+
finishedAtMs: number().nullable()
|
|
19561
|
+
});
|
|
19562
|
+
var lifecycleJobStateSchema = _enum([
|
|
19563
|
+
"running",
|
|
19564
|
+
"completed",
|
|
19565
|
+
"failed",
|
|
19566
|
+
"partially-failed",
|
|
19567
|
+
"cancelled"
|
|
19568
|
+
]);
|
|
19569
|
+
var lifecycleJobScopeSchema = _enum([
|
|
19570
|
+
"single",
|
|
19571
|
+
"bulk",
|
|
19572
|
+
"cluster"
|
|
19573
|
+
]);
|
|
19574
|
+
var lifecycleJobSchema = object({
|
|
19575
|
+
jobId: string(),
|
|
19576
|
+
kind: jobKindSchema,
|
|
19577
|
+
createdAtMs: number(),
|
|
19578
|
+
createdBy: string(),
|
|
19579
|
+
scope: lifecycleJobScopeSchema,
|
|
19580
|
+
tasks: array(lifecycleTaskSchema),
|
|
19581
|
+
state: lifecycleJobStateSchema,
|
|
19582
|
+
schemaVersion: literal(1)
|
|
19583
|
+
});
|
|
19354
19584
|
/**
|
|
19355
19585
|
* addons — system-scoped singleton capability for addon package
|
|
19356
19586
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -19533,7 +19763,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
19533
19763
|
"restarting",
|
|
19534
19764
|
"finalizing"
|
|
19535
19765
|
]);
|
|
19536
|
-
|
|
19766
|
+
object({
|
|
19537
19767
|
id: string(),
|
|
19538
19768
|
nodeId: string(),
|
|
19539
19769
|
startedAtMs: number(),
|
|
@@ -19636,20 +19866,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
19636
19866
|
}), UpdateFrameworkPackageResultSchema, {
|
|
19637
19867
|
kind: "mutation",
|
|
19638
19868
|
auth: "admin"
|
|
19639
|
-
}), method(object({
|
|
19640
|
-
nodeId: string(),
|
|
19641
|
-
items: array(object({
|
|
19642
|
-
name: string(),
|
|
19643
|
-
version: string(),
|
|
19644
|
-
isSystem: boolean()
|
|
19645
|
-
})).readonly()
|
|
19646
|
-
}), object({ id: string() }), {
|
|
19647
|
-
kind: "mutation",
|
|
19648
|
-
auth: "admin"
|
|
19649
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
19650
|
-
kind: "mutation",
|
|
19651
|
-
auth: "admin"
|
|
19652
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
19869
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
19653
19870
|
kind: "mutation",
|
|
19654
19871
|
auth: "admin"
|
|
19655
19872
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -19671,6 +19888,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
19671
19888
|
kind: "mutation",
|
|
19672
19889
|
auth: "admin"
|
|
19673
19890
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
19891
|
+
kind: _enum([
|
|
19892
|
+
"install",
|
|
19893
|
+
"update",
|
|
19894
|
+
"uninstall",
|
|
19895
|
+
"restart"
|
|
19896
|
+
]),
|
|
19897
|
+
targets: array(object({
|
|
19898
|
+
name: string().min(1),
|
|
19899
|
+
version: string().min(1)
|
|
19900
|
+
})).min(1),
|
|
19901
|
+
nodeIds: array(string()).optional()
|
|
19902
|
+
}), object({ jobId: string() }), {
|
|
19903
|
+
kind: "mutation",
|
|
19904
|
+
auth: "admin"
|
|
19905
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19906
|
+
kind: "mutation",
|
|
19907
|
+
auth: "admin"
|
|
19908
|
+
}), method(object({
|
|
19674
19909
|
addonId: string(),
|
|
19675
19910
|
level: LogLevelSchema$1.optional()
|
|
19676
19911
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -19711,7 +19946,7 @@ Object.freeze({
|
|
|
19711
19946
|
addonId: null,
|
|
19712
19947
|
access: "create"
|
|
19713
19948
|
},
|
|
19714
|
-
"addons.
|
|
19949
|
+
"addons.cancelJob": {
|
|
19715
19950
|
capName: "addons",
|
|
19716
19951
|
capScope: "system",
|
|
19717
19952
|
addonId: null,
|
|
@@ -19741,7 +19976,7 @@ Object.freeze({
|
|
|
19741
19976
|
addonId: null,
|
|
19742
19977
|
access: "view"
|
|
19743
19978
|
},
|
|
19744
|
-
"addons.
|
|
19979
|
+
"addons.getJob": {
|
|
19745
19980
|
capName: "addons",
|
|
19746
19981
|
capScope: "system",
|
|
19747
19982
|
addonId: null,
|
|
@@ -19789,19 +20024,19 @@ Object.freeze({
|
|
|
19789
20024
|
addonId: null,
|
|
19790
20025
|
access: "view"
|
|
19791
20026
|
},
|
|
19792
|
-
"addons.
|
|
20027
|
+
"addons.listCapabilityProviders": {
|
|
19793
20028
|
capName: "addons",
|
|
19794
20029
|
capScope: "system",
|
|
19795
20030
|
addonId: null,
|
|
19796
20031
|
access: "view"
|
|
19797
20032
|
},
|
|
19798
|
-
"addons.
|
|
20033
|
+
"addons.listFrameworkPackages": {
|
|
19799
20034
|
capName: "addons",
|
|
19800
20035
|
capScope: "system",
|
|
19801
20036
|
addonId: null,
|
|
19802
20037
|
access: "view"
|
|
19803
20038
|
},
|
|
19804
|
-
"addons.
|
|
20039
|
+
"addons.listJobs": {
|
|
19805
20040
|
capName: "addons",
|
|
19806
20041
|
capScope: "system",
|
|
19807
20042
|
addonId: null,
|
|
@@ -19885,7 +20120,7 @@ Object.freeze({
|
|
|
19885
20120
|
addonId: null,
|
|
19886
20121
|
access: "create"
|
|
19887
20122
|
},
|
|
19888
|
-
"addons.
|
|
20123
|
+
"addons.startJob": {
|
|
19889
20124
|
capName: "addons",
|
|
19890
20125
|
capScope: "system",
|
|
19891
20126
|
addonId: null,
|
|
@@ -22111,6 +22346,12 @@ Object.freeze({
|
|
|
22111
22346
|
addonId: null,
|
|
22112
22347
|
access: "view"
|
|
22113
22348
|
},
|
|
22349
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
22350
|
+
capName: "pipeline-executor",
|
|
22351
|
+
capScope: "system",
|
|
22352
|
+
addonId: null,
|
|
22353
|
+
access: "view"
|
|
22354
|
+
},
|
|
22114
22355
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
22115
22356
|
capName: "pipeline-executor",
|
|
22116
22357
|
capScope: "system",
|
|
@@ -22315,6 +22556,18 @@ Object.freeze({
|
|
|
22315
22556
|
addonId: null,
|
|
22316
22557
|
access: "view"
|
|
22317
22558
|
},
|
|
22559
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
22560
|
+
capName: "pipeline-orchestrator",
|
|
22561
|
+
capScope: "system",
|
|
22562
|
+
addonId: null,
|
|
22563
|
+
access: "view"
|
|
22564
|
+
},
|
|
22565
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
22566
|
+
capName: "pipeline-orchestrator",
|
|
22567
|
+
capScope: "system",
|
|
22568
|
+
addonId: null,
|
|
22569
|
+
access: "view"
|
|
22570
|
+
},
|
|
22318
22571
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
22319
22572
|
capName: "pipeline-orchestrator",
|
|
22320
22573
|
capScope: "system",
|
|
@@ -22399,6 +22652,12 @@ Object.freeze({
|
|
|
22399
22652
|
addonId: null,
|
|
22400
22653
|
access: "create"
|
|
22401
22654
|
},
|
|
22655
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
22656
|
+
capName: "pipeline-orchestrator",
|
|
22657
|
+
capScope: "system",
|
|
22658
|
+
addonId: null,
|
|
22659
|
+
access: "create"
|
|
22660
|
+
},
|
|
22402
22661
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
22403
22662
|
capName: "pipeline-orchestrator",
|
|
22404
22663
|
capScope: "system",
|
|
@@ -23872,6 +24131,32 @@ Object.freeze({
|
|
|
23872
24131
|
"network-access": "ingress",
|
|
23873
24132
|
"smtp-provider": "email"
|
|
23874
24133
|
});
|
|
24134
|
+
var frameworkSwapPackageSchema = object({
|
|
24135
|
+
name: string(),
|
|
24136
|
+
stagedPath: string(),
|
|
24137
|
+
backupPath: string(),
|
|
24138
|
+
toVersion: string(),
|
|
24139
|
+
fromVersion: string().nullable()
|
|
24140
|
+
});
|
|
24141
|
+
object({
|
|
24142
|
+
jobId: string(),
|
|
24143
|
+
taskId: string(),
|
|
24144
|
+
packages: array(frameworkSwapPackageSchema),
|
|
24145
|
+
requestedAtMs: number(),
|
|
24146
|
+
schemaVersion: literal(1)
|
|
24147
|
+
});
|
|
24148
|
+
object({
|
|
24149
|
+
jobId: string(),
|
|
24150
|
+
taskId: string(),
|
|
24151
|
+
backups: array(object({
|
|
24152
|
+
name: string(),
|
|
24153
|
+
backupPath: string(),
|
|
24154
|
+
livePath: string()
|
|
24155
|
+
})),
|
|
24156
|
+
appliedAtMs: number(),
|
|
24157
|
+
bootAttempts: number(),
|
|
24158
|
+
schemaVersion: literal(1)
|
|
24159
|
+
});
|
|
23875
24160
|
/**
|
|
23876
24161
|
* Promise-based timer helpers — used everywhere the codebase needs to
|
|
23877
24162
|
* wait, back off, or schedule a retry. Before these helpers landed, each
|
package/dist/addon.mjs
CHANGED
|
@@ -5004,6 +5004,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5004
5004
|
*/
|
|
5005
5005
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
5006
5006
|
/**
|
|
5007
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
5008
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
5009
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
5010
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
5011
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
5012
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
5013
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
5014
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
5015
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
5016
|
+
*/
|
|
5017
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
5018
|
+
/**
|
|
5007
5019
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
5008
5020
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
5009
5021
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5153,14 +5165,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5153
5165
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5154
5166
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5155
5167
|
/**
|
|
5156
|
-
*
|
|
5157
|
-
*
|
|
5158
|
-
*
|
|
5159
|
-
* to
|
|
5160
|
-
*
|
|
5161
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5168
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5169
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5170
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5171
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5172
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5162
5173
|
*/
|
|
5163
5174
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5175
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5176
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5164
5177
|
/**
|
|
5165
5178
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5166
5179
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -10580,6 +10593,24 @@ var DetectorOutputSchema = object({
|
|
|
10580
10593
|
inferenceMs: number(),
|
|
10581
10594
|
modelId: string()
|
|
10582
10595
|
});
|
|
10596
|
+
var EngineProvisioningSchema = object({
|
|
10597
|
+
runtimeId: _enum([
|
|
10598
|
+
"onnx",
|
|
10599
|
+
"openvino",
|
|
10600
|
+
"coreml"
|
|
10601
|
+
]).nullable(),
|
|
10602
|
+
device: string().nullable(),
|
|
10603
|
+
state: _enum([
|
|
10604
|
+
"idle",
|
|
10605
|
+
"installing",
|
|
10606
|
+
"verifying",
|
|
10607
|
+
"ready",
|
|
10608
|
+
"failed"
|
|
10609
|
+
]),
|
|
10610
|
+
progress: number().optional(),
|
|
10611
|
+
error: string().optional(),
|
|
10612
|
+
nextRetryAt: number().optional()
|
|
10613
|
+
});
|
|
10583
10614
|
var PipelineStepInputSchema = lazy(() => object({
|
|
10584
10615
|
addonId: string(),
|
|
10585
10616
|
modelId: string(),
|
|
@@ -10648,7 +10679,7 @@ var PipelineRunResultBridge = custom$2();
|
|
|
10648
10679
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
10649
10680
|
kind: "mutation",
|
|
10650
10681
|
auth: "admin"
|
|
10651
|
-
}), method(_void(), record(string(), object({
|
|
10682
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
10652
10683
|
modelId: string(),
|
|
10653
10684
|
settings: record(string(), unknown()).readonly()
|
|
10654
10685
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -15816,7 +15847,10 @@ var AgentAddonConfigSchema = object({
|
|
|
15816
15847
|
modelId: string(),
|
|
15817
15848
|
settings: record(string(), unknown()).readonly()
|
|
15818
15849
|
});
|
|
15819
|
-
var AgentPipelineSettingsSchema = object({
|
|
15850
|
+
var AgentPipelineSettingsSchema = object({
|
|
15851
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
15852
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
15853
|
+
});
|
|
15820
15854
|
var CameraPipelineForAgentSchema = object({
|
|
15821
15855
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
15822
15856
|
audio: object({
|
|
@@ -15918,6 +15952,133 @@ var GlobalMetricsSchema = object({
|
|
|
15918
15952
|
* capability providers.
|
|
15919
15953
|
*/
|
|
15920
15954
|
var CapabilityBindingsSchema = record(string(), string());
|
|
15955
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
15956
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
15957
|
+
camStreamId: string(),
|
|
15958
|
+
codec: string(),
|
|
15959
|
+
width: number(),
|
|
15960
|
+
height: number(),
|
|
15961
|
+
fps: number(),
|
|
15962
|
+
kind: string()
|
|
15963
|
+
})).readonly() });
|
|
15964
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
15965
|
+
var CameraAssignmentStatusSchema = object({
|
|
15966
|
+
detectionNodeId: string().nullable(),
|
|
15967
|
+
decoderNodeId: string().nullable(),
|
|
15968
|
+
audioNodeId: string().nullable(),
|
|
15969
|
+
pinned: object({
|
|
15970
|
+
detection: boolean(),
|
|
15971
|
+
decoder: boolean(),
|
|
15972
|
+
audio: boolean()
|
|
15973
|
+
}),
|
|
15974
|
+
reasons: object({
|
|
15975
|
+
detection: string().optional(),
|
|
15976
|
+
decoder: string().optional(),
|
|
15977
|
+
audio: string().optional()
|
|
15978
|
+
})
|
|
15979
|
+
});
|
|
15980
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
15981
|
+
var CameraBrokerStatusSchema = object({
|
|
15982
|
+
profiles: array(object({
|
|
15983
|
+
profile: string(),
|
|
15984
|
+
status: string(),
|
|
15985
|
+
codec: string(),
|
|
15986
|
+
width: number(),
|
|
15987
|
+
height: number(),
|
|
15988
|
+
subscribers: number(),
|
|
15989
|
+
inFps: number(),
|
|
15990
|
+
outFps: number()
|
|
15991
|
+
})).readonly(),
|
|
15992
|
+
webrtcSessions: number(),
|
|
15993
|
+
rtspRestream: boolean()
|
|
15994
|
+
});
|
|
15995
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
15996
|
+
var CameraDecoderShmSchema = object({
|
|
15997
|
+
framesWritten: number(),
|
|
15998
|
+
getFrameHits: number(),
|
|
15999
|
+
getFrameMisses: number(),
|
|
16000
|
+
budgetMb: number()
|
|
16001
|
+
});
|
|
16002
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
16003
|
+
var CameraDecoderStatusSchema = object({
|
|
16004
|
+
nodeId: string(),
|
|
16005
|
+
formats: array(string()).readonly(),
|
|
16006
|
+
sessionCount: number(),
|
|
16007
|
+
shm: CameraDecoderShmSchema
|
|
16008
|
+
});
|
|
16009
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
16010
|
+
var CameraMotionStatusSchema = object({
|
|
16011
|
+
enabled: boolean(),
|
|
16012
|
+
fps: number()
|
|
16013
|
+
});
|
|
16014
|
+
/** Detection provisioning sub-block. */
|
|
16015
|
+
var CameraDetectionProvisioningSchema = object({
|
|
16016
|
+
state: _enum([
|
|
16017
|
+
"idle",
|
|
16018
|
+
"installing",
|
|
16019
|
+
"verifying",
|
|
16020
|
+
"ready",
|
|
16021
|
+
"failed"
|
|
16022
|
+
]),
|
|
16023
|
+
error: string().optional()
|
|
16024
|
+
});
|
|
16025
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
16026
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
16027
|
+
"idle",
|
|
16028
|
+
"watching",
|
|
16029
|
+
"active"
|
|
16030
|
+
]);
|
|
16031
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
16032
|
+
var CameraDetectionStatusSchema = object({
|
|
16033
|
+
nodeId: string(),
|
|
16034
|
+
engine: object({
|
|
16035
|
+
backend: string(),
|
|
16036
|
+
device: string()
|
|
16037
|
+
}),
|
|
16038
|
+
phase: CameraDetectionPhaseSchema,
|
|
16039
|
+
configuredFps: number(),
|
|
16040
|
+
actualFps: number(),
|
|
16041
|
+
queueDepth: number(),
|
|
16042
|
+
avgInferenceMs: number(),
|
|
16043
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
16044
|
+
});
|
|
16045
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
16046
|
+
var CameraAudioStatusSchema = object({
|
|
16047
|
+
nodeId: string(),
|
|
16048
|
+
enabled: boolean()
|
|
16049
|
+
});
|
|
16050
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
16051
|
+
var CameraRecordingStatusSchema = object({
|
|
16052
|
+
mode: _enum([
|
|
16053
|
+
"off",
|
|
16054
|
+
"continuous",
|
|
16055
|
+
"events"
|
|
16056
|
+
]),
|
|
16057
|
+
active: boolean(),
|
|
16058
|
+
storageBytes: number()
|
|
16059
|
+
});
|
|
16060
|
+
/**
|
|
16061
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
16062
|
+
*
|
|
16063
|
+
* The `assignment` and `source` blocks are always present.
|
|
16064
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
16065
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
16066
|
+
*
|
|
16067
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
16068
|
+
*/
|
|
16069
|
+
var CameraStatusSchema = object({
|
|
16070
|
+
deviceId: number(),
|
|
16071
|
+
assignment: CameraAssignmentStatusSchema,
|
|
16072
|
+
source: CameraSourceStatusSchema,
|
|
16073
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
16074
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
16075
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
16076
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
16077
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
16078
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
16079
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
16080
|
+
fetchedAt: number()
|
|
16081
|
+
});
|
|
15921
16082
|
method(object({
|
|
15922
16083
|
deviceId: number(),
|
|
15923
16084
|
agentNodeId: string()
|
|
@@ -15985,6 +16146,12 @@ method(object({
|
|
|
15985
16146
|
}), {
|
|
15986
16147
|
kind: "mutation",
|
|
15987
16148
|
auth: "admin"
|
|
16149
|
+
}), method(object({
|
|
16150
|
+
agentNodeId: string(),
|
|
16151
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
16152
|
+
}), object({ success: literal(true) }), {
|
|
16153
|
+
kind: "mutation",
|
|
16154
|
+
auth: "admin"
|
|
15988
16155
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
15989
16156
|
deviceId: number(),
|
|
15990
16157
|
addonId: string(),
|
|
@@ -16010,7 +16177,7 @@ method(object({
|
|
|
16010
16177
|
}), method(object({
|
|
16011
16178
|
deviceId: number(),
|
|
16012
16179
|
agentNodeId: string().optional()
|
|
16013
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
16180
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
16014
16181
|
name: string(),
|
|
16015
16182
|
description: string().optional(),
|
|
16016
16183
|
config: CameraPipelineConfigSchema
|
|
@@ -19346,6 +19513,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
19346
19513
|
kind: "mutation",
|
|
19347
19514
|
auth: "admin"
|
|
19348
19515
|
});
|
|
19516
|
+
var jobKindSchema = _enum([
|
|
19517
|
+
"install",
|
|
19518
|
+
"update",
|
|
19519
|
+
"uninstall",
|
|
19520
|
+
"restart"
|
|
19521
|
+
]);
|
|
19522
|
+
var taskPhaseSchema = _enum([
|
|
19523
|
+
"queued",
|
|
19524
|
+
"fetching",
|
|
19525
|
+
"staged",
|
|
19526
|
+
"validating",
|
|
19527
|
+
"applying",
|
|
19528
|
+
"restarting",
|
|
19529
|
+
"applied",
|
|
19530
|
+
"done",
|
|
19531
|
+
"failed",
|
|
19532
|
+
"skipped"
|
|
19533
|
+
]);
|
|
19534
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
19535
|
+
var taskLogEntrySchema = object({
|
|
19536
|
+
tsMs: number(),
|
|
19537
|
+
nodeId: string(),
|
|
19538
|
+
packageName: string(),
|
|
19539
|
+
phase: taskPhaseSchema,
|
|
19540
|
+
message: string()
|
|
19541
|
+
});
|
|
19542
|
+
var lifecycleTaskSchema = object({
|
|
19543
|
+
taskId: string(),
|
|
19544
|
+
nodeId: string(),
|
|
19545
|
+
packageName: string(),
|
|
19546
|
+
fromVersion: string().nullable(),
|
|
19547
|
+
toVersion: string(),
|
|
19548
|
+
target: taskTargetSchema,
|
|
19549
|
+
phase: taskPhaseSchema,
|
|
19550
|
+
stagedPath: string().nullable(),
|
|
19551
|
+
attempts: number(),
|
|
19552
|
+
steps: array(taskLogEntrySchema),
|
|
19553
|
+
error: string().nullable(),
|
|
19554
|
+
startedAtMs: number().nullable(),
|
|
19555
|
+
finishedAtMs: number().nullable()
|
|
19556
|
+
});
|
|
19557
|
+
var lifecycleJobStateSchema = _enum([
|
|
19558
|
+
"running",
|
|
19559
|
+
"completed",
|
|
19560
|
+
"failed",
|
|
19561
|
+
"partially-failed",
|
|
19562
|
+
"cancelled"
|
|
19563
|
+
]);
|
|
19564
|
+
var lifecycleJobScopeSchema = _enum([
|
|
19565
|
+
"single",
|
|
19566
|
+
"bulk",
|
|
19567
|
+
"cluster"
|
|
19568
|
+
]);
|
|
19569
|
+
var lifecycleJobSchema = object({
|
|
19570
|
+
jobId: string(),
|
|
19571
|
+
kind: jobKindSchema,
|
|
19572
|
+
createdAtMs: number(),
|
|
19573
|
+
createdBy: string(),
|
|
19574
|
+
scope: lifecycleJobScopeSchema,
|
|
19575
|
+
tasks: array(lifecycleTaskSchema),
|
|
19576
|
+
state: lifecycleJobStateSchema,
|
|
19577
|
+
schemaVersion: literal(1)
|
|
19578
|
+
});
|
|
19349
19579
|
/**
|
|
19350
19580
|
* addons — system-scoped singleton capability for addon package
|
|
19351
19581
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -19528,7 +19758,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
19528
19758
|
"restarting",
|
|
19529
19759
|
"finalizing"
|
|
19530
19760
|
]);
|
|
19531
|
-
|
|
19761
|
+
object({
|
|
19532
19762
|
id: string(),
|
|
19533
19763
|
nodeId: string(),
|
|
19534
19764
|
startedAtMs: number(),
|
|
@@ -19631,20 +19861,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
19631
19861
|
}), UpdateFrameworkPackageResultSchema, {
|
|
19632
19862
|
kind: "mutation",
|
|
19633
19863
|
auth: "admin"
|
|
19634
|
-
}), method(object({
|
|
19635
|
-
nodeId: string(),
|
|
19636
|
-
items: array(object({
|
|
19637
|
-
name: string(),
|
|
19638
|
-
version: string(),
|
|
19639
|
-
isSystem: boolean()
|
|
19640
|
-
})).readonly()
|
|
19641
|
-
}), object({ id: string() }), {
|
|
19642
|
-
kind: "mutation",
|
|
19643
|
-
auth: "admin"
|
|
19644
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
19645
|
-
kind: "mutation",
|
|
19646
|
-
auth: "admin"
|
|
19647
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
19864
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
19648
19865
|
kind: "mutation",
|
|
19649
19866
|
auth: "admin"
|
|
19650
19867
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -19666,6 +19883,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
19666
19883
|
kind: "mutation",
|
|
19667
19884
|
auth: "admin"
|
|
19668
19885
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
19886
|
+
kind: _enum([
|
|
19887
|
+
"install",
|
|
19888
|
+
"update",
|
|
19889
|
+
"uninstall",
|
|
19890
|
+
"restart"
|
|
19891
|
+
]),
|
|
19892
|
+
targets: array(object({
|
|
19893
|
+
name: string().min(1),
|
|
19894
|
+
version: string().min(1)
|
|
19895
|
+
})).min(1),
|
|
19896
|
+
nodeIds: array(string()).optional()
|
|
19897
|
+
}), object({ jobId: string() }), {
|
|
19898
|
+
kind: "mutation",
|
|
19899
|
+
auth: "admin"
|
|
19900
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
19901
|
+
kind: "mutation",
|
|
19902
|
+
auth: "admin"
|
|
19903
|
+
}), method(object({
|
|
19669
19904
|
addonId: string(),
|
|
19670
19905
|
level: LogLevelSchema$1.optional()
|
|
19671
19906
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -19706,7 +19941,7 @@ Object.freeze({
|
|
|
19706
19941
|
addonId: null,
|
|
19707
19942
|
access: "create"
|
|
19708
19943
|
},
|
|
19709
|
-
"addons.
|
|
19944
|
+
"addons.cancelJob": {
|
|
19710
19945
|
capName: "addons",
|
|
19711
19946
|
capScope: "system",
|
|
19712
19947
|
addonId: null,
|
|
@@ -19736,7 +19971,7 @@ Object.freeze({
|
|
|
19736
19971
|
addonId: null,
|
|
19737
19972
|
access: "view"
|
|
19738
19973
|
},
|
|
19739
|
-
"addons.
|
|
19974
|
+
"addons.getJob": {
|
|
19740
19975
|
capName: "addons",
|
|
19741
19976
|
capScope: "system",
|
|
19742
19977
|
addonId: null,
|
|
@@ -19784,19 +20019,19 @@ Object.freeze({
|
|
|
19784
20019
|
addonId: null,
|
|
19785
20020
|
access: "view"
|
|
19786
20021
|
},
|
|
19787
|
-
"addons.
|
|
20022
|
+
"addons.listCapabilityProviders": {
|
|
19788
20023
|
capName: "addons",
|
|
19789
20024
|
capScope: "system",
|
|
19790
20025
|
addonId: null,
|
|
19791
20026
|
access: "view"
|
|
19792
20027
|
},
|
|
19793
|
-
"addons.
|
|
20028
|
+
"addons.listFrameworkPackages": {
|
|
19794
20029
|
capName: "addons",
|
|
19795
20030
|
capScope: "system",
|
|
19796
20031
|
addonId: null,
|
|
19797
20032
|
access: "view"
|
|
19798
20033
|
},
|
|
19799
|
-
"addons.
|
|
20034
|
+
"addons.listJobs": {
|
|
19800
20035
|
capName: "addons",
|
|
19801
20036
|
capScope: "system",
|
|
19802
20037
|
addonId: null,
|
|
@@ -19880,7 +20115,7 @@ Object.freeze({
|
|
|
19880
20115
|
addonId: null,
|
|
19881
20116
|
access: "create"
|
|
19882
20117
|
},
|
|
19883
|
-
"addons.
|
|
20118
|
+
"addons.startJob": {
|
|
19884
20119
|
capName: "addons",
|
|
19885
20120
|
capScope: "system",
|
|
19886
20121
|
addonId: null,
|
|
@@ -22106,6 +22341,12 @@ Object.freeze({
|
|
|
22106
22341
|
addonId: null,
|
|
22107
22342
|
access: "view"
|
|
22108
22343
|
},
|
|
22344
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
22345
|
+
capName: "pipeline-executor",
|
|
22346
|
+
capScope: "system",
|
|
22347
|
+
addonId: null,
|
|
22348
|
+
access: "view"
|
|
22349
|
+
},
|
|
22109
22350
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
22110
22351
|
capName: "pipeline-executor",
|
|
22111
22352
|
capScope: "system",
|
|
@@ -22310,6 +22551,18 @@ Object.freeze({
|
|
|
22310
22551
|
addonId: null,
|
|
22311
22552
|
access: "view"
|
|
22312
22553
|
},
|
|
22554
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
22555
|
+
capName: "pipeline-orchestrator",
|
|
22556
|
+
capScope: "system",
|
|
22557
|
+
addonId: null,
|
|
22558
|
+
access: "view"
|
|
22559
|
+
},
|
|
22560
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
22561
|
+
capName: "pipeline-orchestrator",
|
|
22562
|
+
capScope: "system",
|
|
22563
|
+
addonId: null,
|
|
22564
|
+
access: "view"
|
|
22565
|
+
},
|
|
22313
22566
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
22314
22567
|
capName: "pipeline-orchestrator",
|
|
22315
22568
|
capScope: "system",
|
|
@@ -22394,6 +22647,12 @@ Object.freeze({
|
|
|
22394
22647
|
addonId: null,
|
|
22395
22648
|
access: "create"
|
|
22396
22649
|
},
|
|
22650
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
22651
|
+
capName: "pipeline-orchestrator",
|
|
22652
|
+
capScope: "system",
|
|
22653
|
+
addonId: null,
|
|
22654
|
+
access: "create"
|
|
22655
|
+
},
|
|
22397
22656
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
22398
22657
|
capName: "pipeline-orchestrator",
|
|
22399
22658
|
capScope: "system",
|
|
@@ -23867,6 +24126,32 @@ Object.freeze({
|
|
|
23867
24126
|
"network-access": "ingress",
|
|
23868
24127
|
"smtp-provider": "email"
|
|
23869
24128
|
});
|
|
24129
|
+
var frameworkSwapPackageSchema = object({
|
|
24130
|
+
name: string(),
|
|
24131
|
+
stagedPath: string(),
|
|
24132
|
+
backupPath: string(),
|
|
24133
|
+
toVersion: string(),
|
|
24134
|
+
fromVersion: string().nullable()
|
|
24135
|
+
});
|
|
24136
|
+
object({
|
|
24137
|
+
jobId: string(),
|
|
24138
|
+
taskId: string(),
|
|
24139
|
+
packages: array(frameworkSwapPackageSchema),
|
|
24140
|
+
requestedAtMs: number(),
|
|
24141
|
+
schemaVersion: literal(1)
|
|
24142
|
+
});
|
|
24143
|
+
object({
|
|
24144
|
+
jobId: string(),
|
|
24145
|
+
taskId: string(),
|
|
24146
|
+
backups: array(object({
|
|
24147
|
+
name: string(),
|
|
24148
|
+
backupPath: string(),
|
|
24149
|
+
livePath: string()
|
|
24150
|
+
})),
|
|
24151
|
+
appliedAtMs: number(),
|
|
24152
|
+
bootAttempts: number(),
|
|
24153
|
+
schemaVersion: literal(1)
|
|
24154
|
+
});
|
|
23870
24155
|
/**
|
|
23871
24156
|
* Promise-based timer helpers — used everywhere the codebase needs to
|
|
23872
24157
|
* wait, back off, or schedule a retry. Before these helpers landed, each
|