@camstack/addon-advanced-notifier 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
|
@@ -4986,6 +4986,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
4986
4986
|
*/
|
|
4987
4987
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
4988
4988
|
/**
|
|
4989
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
4990
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
4991
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
4992
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
4993
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
4994
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
4995
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
4996
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
4997
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
4998
|
+
*/
|
|
4999
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
5000
|
+
/**
|
|
4989
5001
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
4990
5002
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
4991
5003
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5135,14 +5147,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5135
5147
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5136
5148
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5137
5149
|
/**
|
|
5138
|
-
*
|
|
5139
|
-
*
|
|
5140
|
-
*
|
|
5141
|
-
* to
|
|
5142
|
-
*
|
|
5143
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5150
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5151
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5152
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5153
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5154
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5144
5155
|
*/
|
|
5145
5156
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5157
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5158
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5146
5159
|
/**
|
|
5147
5160
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5148
5161
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -9149,6 +9162,24 @@ var DetectorOutputSchema = object({
|
|
|
9149
9162
|
inferenceMs: number(),
|
|
9150
9163
|
modelId: string()
|
|
9151
9164
|
});
|
|
9165
|
+
var EngineProvisioningSchema = object({
|
|
9166
|
+
runtimeId: _enum([
|
|
9167
|
+
"onnx",
|
|
9168
|
+
"openvino",
|
|
9169
|
+
"coreml"
|
|
9170
|
+
]).nullable(),
|
|
9171
|
+
device: string().nullable(),
|
|
9172
|
+
state: _enum([
|
|
9173
|
+
"idle",
|
|
9174
|
+
"installing",
|
|
9175
|
+
"verifying",
|
|
9176
|
+
"ready",
|
|
9177
|
+
"failed"
|
|
9178
|
+
]),
|
|
9179
|
+
progress: number().optional(),
|
|
9180
|
+
error: string().optional(),
|
|
9181
|
+
nextRetryAt: number().optional()
|
|
9182
|
+
});
|
|
9152
9183
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9153
9184
|
addonId: string(),
|
|
9154
9185
|
modelId: string(),
|
|
@@ -9217,7 +9248,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9217
9248
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9218
9249
|
kind: "mutation",
|
|
9219
9250
|
auth: "admin"
|
|
9220
|
-
}), method(_void(), record(string(), object({
|
|
9251
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9221
9252
|
modelId: string(),
|
|
9222
9253
|
settings: record(string(), unknown()).readonly()
|
|
9223
9254
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -12804,7 +12835,10 @@ var AgentAddonConfigSchema = object({
|
|
|
12804
12835
|
modelId: string(),
|
|
12805
12836
|
settings: record(string(), unknown()).readonly()
|
|
12806
12837
|
});
|
|
12807
|
-
var AgentPipelineSettingsSchema = object({
|
|
12838
|
+
var AgentPipelineSettingsSchema = object({
|
|
12839
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
12840
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
12841
|
+
});
|
|
12808
12842
|
var CameraPipelineForAgentSchema = object({
|
|
12809
12843
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
12810
12844
|
audio: object({
|
|
@@ -12906,6 +12940,133 @@ var GlobalMetricsSchema = object({
|
|
|
12906
12940
|
* capability providers.
|
|
12907
12941
|
*/
|
|
12908
12942
|
var CapabilityBindingsSchema = record(string(), string());
|
|
12943
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
12944
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
12945
|
+
camStreamId: string(),
|
|
12946
|
+
codec: string(),
|
|
12947
|
+
width: number(),
|
|
12948
|
+
height: number(),
|
|
12949
|
+
fps: number(),
|
|
12950
|
+
kind: string()
|
|
12951
|
+
})).readonly() });
|
|
12952
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
12953
|
+
var CameraAssignmentStatusSchema = object({
|
|
12954
|
+
detectionNodeId: string().nullable(),
|
|
12955
|
+
decoderNodeId: string().nullable(),
|
|
12956
|
+
audioNodeId: string().nullable(),
|
|
12957
|
+
pinned: object({
|
|
12958
|
+
detection: boolean(),
|
|
12959
|
+
decoder: boolean(),
|
|
12960
|
+
audio: boolean()
|
|
12961
|
+
}),
|
|
12962
|
+
reasons: object({
|
|
12963
|
+
detection: string().optional(),
|
|
12964
|
+
decoder: string().optional(),
|
|
12965
|
+
audio: string().optional()
|
|
12966
|
+
})
|
|
12967
|
+
});
|
|
12968
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
12969
|
+
var CameraBrokerStatusSchema = object({
|
|
12970
|
+
profiles: array(object({
|
|
12971
|
+
profile: string(),
|
|
12972
|
+
status: string(),
|
|
12973
|
+
codec: string(),
|
|
12974
|
+
width: number(),
|
|
12975
|
+
height: number(),
|
|
12976
|
+
subscribers: number(),
|
|
12977
|
+
inFps: number(),
|
|
12978
|
+
outFps: number()
|
|
12979
|
+
})).readonly(),
|
|
12980
|
+
webrtcSessions: number(),
|
|
12981
|
+
rtspRestream: boolean()
|
|
12982
|
+
});
|
|
12983
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
12984
|
+
var CameraDecoderShmSchema = object({
|
|
12985
|
+
framesWritten: number(),
|
|
12986
|
+
getFrameHits: number(),
|
|
12987
|
+
getFrameMisses: number(),
|
|
12988
|
+
budgetMb: number()
|
|
12989
|
+
});
|
|
12990
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
12991
|
+
var CameraDecoderStatusSchema = object({
|
|
12992
|
+
nodeId: string(),
|
|
12993
|
+
formats: array(string()).readonly(),
|
|
12994
|
+
sessionCount: number(),
|
|
12995
|
+
shm: CameraDecoderShmSchema
|
|
12996
|
+
});
|
|
12997
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
12998
|
+
var CameraMotionStatusSchema = object({
|
|
12999
|
+
enabled: boolean(),
|
|
13000
|
+
fps: number()
|
|
13001
|
+
});
|
|
13002
|
+
/** Detection provisioning sub-block. */
|
|
13003
|
+
var CameraDetectionProvisioningSchema = object({
|
|
13004
|
+
state: _enum([
|
|
13005
|
+
"idle",
|
|
13006
|
+
"installing",
|
|
13007
|
+
"verifying",
|
|
13008
|
+
"ready",
|
|
13009
|
+
"failed"
|
|
13010
|
+
]),
|
|
13011
|
+
error: string().optional()
|
|
13012
|
+
});
|
|
13013
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13014
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13015
|
+
"idle",
|
|
13016
|
+
"watching",
|
|
13017
|
+
"active"
|
|
13018
|
+
]);
|
|
13019
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13020
|
+
var CameraDetectionStatusSchema = object({
|
|
13021
|
+
nodeId: string(),
|
|
13022
|
+
engine: object({
|
|
13023
|
+
backend: string(),
|
|
13024
|
+
device: string()
|
|
13025
|
+
}),
|
|
13026
|
+
phase: CameraDetectionPhaseSchema,
|
|
13027
|
+
configuredFps: number(),
|
|
13028
|
+
actualFps: number(),
|
|
13029
|
+
queueDepth: number(),
|
|
13030
|
+
avgInferenceMs: number(),
|
|
13031
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13032
|
+
});
|
|
13033
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13034
|
+
var CameraAudioStatusSchema = object({
|
|
13035
|
+
nodeId: string(),
|
|
13036
|
+
enabled: boolean()
|
|
13037
|
+
});
|
|
13038
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13039
|
+
var CameraRecordingStatusSchema = object({
|
|
13040
|
+
mode: _enum([
|
|
13041
|
+
"off",
|
|
13042
|
+
"continuous",
|
|
13043
|
+
"events"
|
|
13044
|
+
]),
|
|
13045
|
+
active: boolean(),
|
|
13046
|
+
storageBytes: number()
|
|
13047
|
+
});
|
|
13048
|
+
/**
|
|
13049
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13050
|
+
*
|
|
13051
|
+
* The `assignment` and `source` blocks are always present.
|
|
13052
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13053
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13054
|
+
*
|
|
13055
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13056
|
+
*/
|
|
13057
|
+
var CameraStatusSchema = object({
|
|
13058
|
+
deviceId: number(),
|
|
13059
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13060
|
+
source: CameraSourceStatusSchema,
|
|
13061
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13062
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13063
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13064
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13065
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13066
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13067
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13068
|
+
fetchedAt: number()
|
|
13069
|
+
});
|
|
12909
13070
|
method(object({
|
|
12910
13071
|
deviceId: number(),
|
|
12911
13072
|
agentNodeId: string()
|
|
@@ -12973,6 +13134,12 @@ method(object({
|
|
|
12973
13134
|
}), {
|
|
12974
13135
|
kind: "mutation",
|
|
12975
13136
|
auth: "admin"
|
|
13137
|
+
}), method(object({
|
|
13138
|
+
agentNodeId: string(),
|
|
13139
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13140
|
+
}), object({ success: literal(true) }), {
|
|
13141
|
+
kind: "mutation",
|
|
13142
|
+
auth: "admin"
|
|
12976
13143
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
12977
13144
|
deviceId: number(),
|
|
12978
13145
|
addonId: string(),
|
|
@@ -12998,7 +13165,7 @@ method(object({
|
|
|
12998
13165
|
}), method(object({
|
|
12999
13166
|
deviceId: number(),
|
|
13000
13167
|
agentNodeId: string().optional()
|
|
13001
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13168
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13002
13169
|
name: string(),
|
|
13003
13170
|
description: string().optional(),
|
|
13004
13171
|
config: CameraPipelineConfigSchema
|
|
@@ -15982,6 +16149,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
15982
16149
|
kind: "mutation",
|
|
15983
16150
|
auth: "admin"
|
|
15984
16151
|
});
|
|
16152
|
+
var jobKindSchema = _enum([
|
|
16153
|
+
"install",
|
|
16154
|
+
"update",
|
|
16155
|
+
"uninstall",
|
|
16156
|
+
"restart"
|
|
16157
|
+
]);
|
|
16158
|
+
var taskPhaseSchema = _enum([
|
|
16159
|
+
"queued",
|
|
16160
|
+
"fetching",
|
|
16161
|
+
"staged",
|
|
16162
|
+
"validating",
|
|
16163
|
+
"applying",
|
|
16164
|
+
"restarting",
|
|
16165
|
+
"applied",
|
|
16166
|
+
"done",
|
|
16167
|
+
"failed",
|
|
16168
|
+
"skipped"
|
|
16169
|
+
]);
|
|
16170
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16171
|
+
var taskLogEntrySchema = object({
|
|
16172
|
+
tsMs: number(),
|
|
16173
|
+
nodeId: string(),
|
|
16174
|
+
packageName: string(),
|
|
16175
|
+
phase: taskPhaseSchema,
|
|
16176
|
+
message: string()
|
|
16177
|
+
});
|
|
16178
|
+
var lifecycleTaskSchema = object({
|
|
16179
|
+
taskId: string(),
|
|
16180
|
+
nodeId: string(),
|
|
16181
|
+
packageName: string(),
|
|
16182
|
+
fromVersion: string().nullable(),
|
|
16183
|
+
toVersion: string(),
|
|
16184
|
+
target: taskTargetSchema,
|
|
16185
|
+
phase: taskPhaseSchema,
|
|
16186
|
+
stagedPath: string().nullable(),
|
|
16187
|
+
attempts: number(),
|
|
16188
|
+
steps: array(taskLogEntrySchema),
|
|
16189
|
+
error: string().nullable(),
|
|
16190
|
+
startedAtMs: number().nullable(),
|
|
16191
|
+
finishedAtMs: number().nullable()
|
|
16192
|
+
});
|
|
16193
|
+
var lifecycleJobStateSchema = _enum([
|
|
16194
|
+
"running",
|
|
16195
|
+
"completed",
|
|
16196
|
+
"failed",
|
|
16197
|
+
"partially-failed",
|
|
16198
|
+
"cancelled"
|
|
16199
|
+
]);
|
|
16200
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16201
|
+
"single",
|
|
16202
|
+
"bulk",
|
|
16203
|
+
"cluster"
|
|
16204
|
+
]);
|
|
16205
|
+
var lifecycleJobSchema = object({
|
|
16206
|
+
jobId: string(),
|
|
16207
|
+
kind: jobKindSchema,
|
|
16208
|
+
createdAtMs: number(),
|
|
16209
|
+
createdBy: string(),
|
|
16210
|
+
scope: lifecycleJobScopeSchema,
|
|
16211
|
+
tasks: array(lifecycleTaskSchema),
|
|
16212
|
+
state: lifecycleJobStateSchema,
|
|
16213
|
+
schemaVersion: literal(1)
|
|
16214
|
+
});
|
|
15985
16215
|
/**
|
|
15986
16216
|
* addons — system-scoped singleton capability for addon package
|
|
15987
16217
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16164,7 +16394,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16164
16394
|
"restarting",
|
|
16165
16395
|
"finalizing"
|
|
16166
16396
|
]);
|
|
16167
|
-
|
|
16397
|
+
object({
|
|
16168
16398
|
id: string(),
|
|
16169
16399
|
nodeId: string(),
|
|
16170
16400
|
startedAtMs: number(),
|
|
@@ -16267,20 +16497,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16267
16497
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16268
16498
|
kind: "mutation",
|
|
16269
16499
|
auth: "admin"
|
|
16270
|
-
}), method(object({
|
|
16271
|
-
nodeId: string(),
|
|
16272
|
-
items: array(object({
|
|
16273
|
-
name: string(),
|
|
16274
|
-
version: string(),
|
|
16275
|
-
isSystem: boolean()
|
|
16276
|
-
})).readonly()
|
|
16277
|
-
}), object({ id: string() }), {
|
|
16278
|
-
kind: "mutation",
|
|
16279
|
-
auth: "admin"
|
|
16280
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16281
|
-
kind: "mutation",
|
|
16282
|
-
auth: "admin"
|
|
16283
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16500
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16284
16501
|
kind: "mutation",
|
|
16285
16502
|
auth: "admin"
|
|
16286
16503
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16302,6 +16519,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16302
16519
|
kind: "mutation",
|
|
16303
16520
|
auth: "admin"
|
|
16304
16521
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16522
|
+
kind: _enum([
|
|
16523
|
+
"install",
|
|
16524
|
+
"update",
|
|
16525
|
+
"uninstall",
|
|
16526
|
+
"restart"
|
|
16527
|
+
]),
|
|
16528
|
+
targets: array(object({
|
|
16529
|
+
name: string().min(1),
|
|
16530
|
+
version: string().min(1)
|
|
16531
|
+
})).min(1),
|
|
16532
|
+
nodeIds: array(string()).optional()
|
|
16533
|
+
}), object({ jobId: string() }), {
|
|
16534
|
+
kind: "mutation",
|
|
16535
|
+
auth: "admin"
|
|
16536
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16537
|
+
kind: "mutation",
|
|
16538
|
+
auth: "admin"
|
|
16539
|
+
}), method(object({
|
|
16305
16540
|
addonId: string(),
|
|
16306
16541
|
level: LogLevelSchema$1.optional()
|
|
16307
16542
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16342,7 +16577,7 @@ Object.freeze({
|
|
|
16342
16577
|
addonId: null,
|
|
16343
16578
|
access: "create"
|
|
16344
16579
|
},
|
|
16345
|
-
"addons.
|
|
16580
|
+
"addons.cancelJob": {
|
|
16346
16581
|
capName: "addons",
|
|
16347
16582
|
capScope: "system",
|
|
16348
16583
|
addonId: null,
|
|
@@ -16372,7 +16607,7 @@ Object.freeze({
|
|
|
16372
16607
|
addonId: null,
|
|
16373
16608
|
access: "view"
|
|
16374
16609
|
},
|
|
16375
|
-
"addons.
|
|
16610
|
+
"addons.getJob": {
|
|
16376
16611
|
capName: "addons",
|
|
16377
16612
|
capScope: "system",
|
|
16378
16613
|
addonId: null,
|
|
@@ -16420,19 +16655,19 @@ Object.freeze({
|
|
|
16420
16655
|
addonId: null,
|
|
16421
16656
|
access: "view"
|
|
16422
16657
|
},
|
|
16423
|
-
"addons.
|
|
16658
|
+
"addons.listCapabilityProviders": {
|
|
16424
16659
|
capName: "addons",
|
|
16425
16660
|
capScope: "system",
|
|
16426
16661
|
addonId: null,
|
|
16427
16662
|
access: "view"
|
|
16428
16663
|
},
|
|
16429
|
-
"addons.
|
|
16664
|
+
"addons.listFrameworkPackages": {
|
|
16430
16665
|
capName: "addons",
|
|
16431
16666
|
capScope: "system",
|
|
16432
16667
|
addonId: null,
|
|
16433
16668
|
access: "view"
|
|
16434
16669
|
},
|
|
16435
|
-
"addons.
|
|
16670
|
+
"addons.listJobs": {
|
|
16436
16671
|
capName: "addons",
|
|
16437
16672
|
capScope: "system",
|
|
16438
16673
|
addonId: null,
|
|
@@ -16516,7 +16751,7 @@ Object.freeze({
|
|
|
16516
16751
|
addonId: null,
|
|
16517
16752
|
access: "create"
|
|
16518
16753
|
},
|
|
16519
|
-
"addons.
|
|
16754
|
+
"addons.startJob": {
|
|
16520
16755
|
capName: "addons",
|
|
16521
16756
|
capScope: "system",
|
|
16522
16757
|
addonId: null,
|
|
@@ -18742,6 +18977,12 @@ Object.freeze({
|
|
|
18742
18977
|
addonId: null,
|
|
18743
18978
|
access: "view"
|
|
18744
18979
|
},
|
|
18980
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
18981
|
+
capName: "pipeline-executor",
|
|
18982
|
+
capScope: "system",
|
|
18983
|
+
addonId: null,
|
|
18984
|
+
access: "view"
|
|
18985
|
+
},
|
|
18745
18986
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
18746
18987
|
capName: "pipeline-executor",
|
|
18747
18988
|
capScope: "system",
|
|
@@ -18946,6 +19187,18 @@ Object.freeze({
|
|
|
18946
19187
|
addonId: null,
|
|
18947
19188
|
access: "view"
|
|
18948
19189
|
},
|
|
19190
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19191
|
+
capName: "pipeline-orchestrator",
|
|
19192
|
+
capScope: "system",
|
|
19193
|
+
addonId: null,
|
|
19194
|
+
access: "view"
|
|
19195
|
+
},
|
|
19196
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19197
|
+
capName: "pipeline-orchestrator",
|
|
19198
|
+
capScope: "system",
|
|
19199
|
+
addonId: null,
|
|
19200
|
+
access: "view"
|
|
19201
|
+
},
|
|
18949
19202
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
18950
19203
|
capName: "pipeline-orchestrator",
|
|
18951
19204
|
capScope: "system",
|
|
@@ -19030,6 +19283,12 @@ Object.freeze({
|
|
|
19030
19283
|
addonId: null,
|
|
19031
19284
|
access: "create"
|
|
19032
19285
|
},
|
|
19286
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19287
|
+
capName: "pipeline-orchestrator",
|
|
19288
|
+
capScope: "system",
|
|
19289
|
+
addonId: null,
|
|
19290
|
+
access: "create"
|
|
19291
|
+
},
|
|
19033
19292
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19034
19293
|
capName: "pipeline-orchestrator",
|
|
19035
19294
|
capScope: "system",
|
|
@@ -20503,6 +20762,32 @@ Object.freeze({
|
|
|
20503
20762
|
"network-access": "ingress",
|
|
20504
20763
|
"smtp-provider": "email"
|
|
20505
20764
|
});
|
|
20765
|
+
var frameworkSwapPackageSchema = object({
|
|
20766
|
+
name: string(),
|
|
20767
|
+
stagedPath: string(),
|
|
20768
|
+
backupPath: string(),
|
|
20769
|
+
toVersion: string(),
|
|
20770
|
+
fromVersion: string().nullable()
|
|
20771
|
+
});
|
|
20772
|
+
object({
|
|
20773
|
+
jobId: string(),
|
|
20774
|
+
taskId: string(),
|
|
20775
|
+
packages: array(frameworkSwapPackageSchema),
|
|
20776
|
+
requestedAtMs: number(),
|
|
20777
|
+
schemaVersion: literal(1)
|
|
20778
|
+
});
|
|
20779
|
+
object({
|
|
20780
|
+
jobId: string(),
|
|
20781
|
+
taskId: string(),
|
|
20782
|
+
backups: array(object({
|
|
20783
|
+
name: string(),
|
|
20784
|
+
backupPath: string(),
|
|
20785
|
+
livePath: string()
|
|
20786
|
+
})),
|
|
20787
|
+
appliedAtMs: number(),
|
|
20788
|
+
bootAttempts: number(),
|
|
20789
|
+
schemaVersion: literal(1)
|
|
20790
|
+
});
|
|
20506
20791
|
//#endregion
|
|
20507
20792
|
//#region src/rules/rule-store.ts
|
|
20508
20793
|
var COLLECTION$1 = "addon-settings";
|
package/dist/addon.mjs
CHANGED
|
@@ -4982,6 +4982,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
4982
4982
|
*/
|
|
4983
4983
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
4984
4984
|
/**
|
|
4985
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
4986
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
4987
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
4988
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
4989
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
4990
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
4991
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
4992
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
4993
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
4994
|
+
*/
|
|
4995
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
4996
|
+
/**
|
|
4985
4997
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
4986
4998
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
4987
4999
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5131,14 +5143,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5131
5143
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5132
5144
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5133
5145
|
/**
|
|
5134
|
-
*
|
|
5135
|
-
*
|
|
5136
|
-
*
|
|
5137
|
-
* to
|
|
5138
|
-
*
|
|
5139
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5146
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5147
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5148
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5149
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5150
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5140
5151
|
*/
|
|
5141
5152
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5153
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5154
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5142
5155
|
/**
|
|
5143
5156
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5144
5157
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -9145,6 +9158,24 @@ var DetectorOutputSchema = object({
|
|
|
9145
9158
|
inferenceMs: number(),
|
|
9146
9159
|
modelId: string()
|
|
9147
9160
|
});
|
|
9161
|
+
var EngineProvisioningSchema = object({
|
|
9162
|
+
runtimeId: _enum([
|
|
9163
|
+
"onnx",
|
|
9164
|
+
"openvino",
|
|
9165
|
+
"coreml"
|
|
9166
|
+
]).nullable(),
|
|
9167
|
+
device: string().nullable(),
|
|
9168
|
+
state: _enum([
|
|
9169
|
+
"idle",
|
|
9170
|
+
"installing",
|
|
9171
|
+
"verifying",
|
|
9172
|
+
"ready",
|
|
9173
|
+
"failed"
|
|
9174
|
+
]),
|
|
9175
|
+
progress: number().optional(),
|
|
9176
|
+
error: string().optional(),
|
|
9177
|
+
nextRetryAt: number().optional()
|
|
9178
|
+
});
|
|
9148
9179
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9149
9180
|
addonId: string(),
|
|
9150
9181
|
modelId: string(),
|
|
@@ -9213,7 +9244,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9213
9244
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9214
9245
|
kind: "mutation",
|
|
9215
9246
|
auth: "admin"
|
|
9216
|
-
}), method(_void(), record(string(), object({
|
|
9247
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9217
9248
|
modelId: string(),
|
|
9218
9249
|
settings: record(string(), unknown()).readonly()
|
|
9219
9250
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -12800,7 +12831,10 @@ var AgentAddonConfigSchema = object({
|
|
|
12800
12831
|
modelId: string(),
|
|
12801
12832
|
settings: record(string(), unknown()).readonly()
|
|
12802
12833
|
});
|
|
12803
|
-
var AgentPipelineSettingsSchema = object({
|
|
12834
|
+
var AgentPipelineSettingsSchema = object({
|
|
12835
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
12836
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
12837
|
+
});
|
|
12804
12838
|
var CameraPipelineForAgentSchema = object({
|
|
12805
12839
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
12806
12840
|
audio: object({
|
|
@@ -12902,6 +12936,133 @@ var GlobalMetricsSchema = object({
|
|
|
12902
12936
|
* capability providers.
|
|
12903
12937
|
*/
|
|
12904
12938
|
var CapabilityBindingsSchema = record(string(), string());
|
|
12939
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
12940
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
12941
|
+
camStreamId: string(),
|
|
12942
|
+
codec: string(),
|
|
12943
|
+
width: number(),
|
|
12944
|
+
height: number(),
|
|
12945
|
+
fps: number(),
|
|
12946
|
+
kind: string()
|
|
12947
|
+
})).readonly() });
|
|
12948
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
12949
|
+
var CameraAssignmentStatusSchema = object({
|
|
12950
|
+
detectionNodeId: string().nullable(),
|
|
12951
|
+
decoderNodeId: string().nullable(),
|
|
12952
|
+
audioNodeId: string().nullable(),
|
|
12953
|
+
pinned: object({
|
|
12954
|
+
detection: boolean(),
|
|
12955
|
+
decoder: boolean(),
|
|
12956
|
+
audio: boolean()
|
|
12957
|
+
}),
|
|
12958
|
+
reasons: object({
|
|
12959
|
+
detection: string().optional(),
|
|
12960
|
+
decoder: string().optional(),
|
|
12961
|
+
audio: string().optional()
|
|
12962
|
+
})
|
|
12963
|
+
});
|
|
12964
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
12965
|
+
var CameraBrokerStatusSchema = object({
|
|
12966
|
+
profiles: array(object({
|
|
12967
|
+
profile: string(),
|
|
12968
|
+
status: string(),
|
|
12969
|
+
codec: string(),
|
|
12970
|
+
width: number(),
|
|
12971
|
+
height: number(),
|
|
12972
|
+
subscribers: number(),
|
|
12973
|
+
inFps: number(),
|
|
12974
|
+
outFps: number()
|
|
12975
|
+
})).readonly(),
|
|
12976
|
+
webrtcSessions: number(),
|
|
12977
|
+
rtspRestream: boolean()
|
|
12978
|
+
});
|
|
12979
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
12980
|
+
var CameraDecoderShmSchema = object({
|
|
12981
|
+
framesWritten: number(),
|
|
12982
|
+
getFrameHits: number(),
|
|
12983
|
+
getFrameMisses: number(),
|
|
12984
|
+
budgetMb: number()
|
|
12985
|
+
});
|
|
12986
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
12987
|
+
var CameraDecoderStatusSchema = object({
|
|
12988
|
+
nodeId: string(),
|
|
12989
|
+
formats: array(string()).readonly(),
|
|
12990
|
+
sessionCount: number(),
|
|
12991
|
+
shm: CameraDecoderShmSchema
|
|
12992
|
+
});
|
|
12993
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
12994
|
+
var CameraMotionStatusSchema = object({
|
|
12995
|
+
enabled: boolean(),
|
|
12996
|
+
fps: number()
|
|
12997
|
+
});
|
|
12998
|
+
/** Detection provisioning sub-block. */
|
|
12999
|
+
var CameraDetectionProvisioningSchema = object({
|
|
13000
|
+
state: _enum([
|
|
13001
|
+
"idle",
|
|
13002
|
+
"installing",
|
|
13003
|
+
"verifying",
|
|
13004
|
+
"ready",
|
|
13005
|
+
"failed"
|
|
13006
|
+
]),
|
|
13007
|
+
error: string().optional()
|
|
13008
|
+
});
|
|
13009
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13010
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13011
|
+
"idle",
|
|
13012
|
+
"watching",
|
|
13013
|
+
"active"
|
|
13014
|
+
]);
|
|
13015
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13016
|
+
var CameraDetectionStatusSchema = object({
|
|
13017
|
+
nodeId: string(),
|
|
13018
|
+
engine: object({
|
|
13019
|
+
backend: string(),
|
|
13020
|
+
device: string()
|
|
13021
|
+
}),
|
|
13022
|
+
phase: CameraDetectionPhaseSchema,
|
|
13023
|
+
configuredFps: number(),
|
|
13024
|
+
actualFps: number(),
|
|
13025
|
+
queueDepth: number(),
|
|
13026
|
+
avgInferenceMs: number(),
|
|
13027
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13028
|
+
});
|
|
13029
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13030
|
+
var CameraAudioStatusSchema = object({
|
|
13031
|
+
nodeId: string(),
|
|
13032
|
+
enabled: boolean()
|
|
13033
|
+
});
|
|
13034
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13035
|
+
var CameraRecordingStatusSchema = object({
|
|
13036
|
+
mode: _enum([
|
|
13037
|
+
"off",
|
|
13038
|
+
"continuous",
|
|
13039
|
+
"events"
|
|
13040
|
+
]),
|
|
13041
|
+
active: boolean(),
|
|
13042
|
+
storageBytes: number()
|
|
13043
|
+
});
|
|
13044
|
+
/**
|
|
13045
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13046
|
+
*
|
|
13047
|
+
* The `assignment` and `source` blocks are always present.
|
|
13048
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13049
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13050
|
+
*
|
|
13051
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13052
|
+
*/
|
|
13053
|
+
var CameraStatusSchema = object({
|
|
13054
|
+
deviceId: number(),
|
|
13055
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13056
|
+
source: CameraSourceStatusSchema,
|
|
13057
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13058
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13059
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13060
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13061
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13062
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13063
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13064
|
+
fetchedAt: number()
|
|
13065
|
+
});
|
|
12905
13066
|
method(object({
|
|
12906
13067
|
deviceId: number(),
|
|
12907
13068
|
agentNodeId: string()
|
|
@@ -12969,6 +13130,12 @@ method(object({
|
|
|
12969
13130
|
}), {
|
|
12970
13131
|
kind: "mutation",
|
|
12971
13132
|
auth: "admin"
|
|
13133
|
+
}), method(object({
|
|
13134
|
+
agentNodeId: string(),
|
|
13135
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13136
|
+
}), object({ success: literal(true) }), {
|
|
13137
|
+
kind: "mutation",
|
|
13138
|
+
auth: "admin"
|
|
12972
13139
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
12973
13140
|
deviceId: number(),
|
|
12974
13141
|
addonId: string(),
|
|
@@ -12994,7 +13161,7 @@ method(object({
|
|
|
12994
13161
|
}), method(object({
|
|
12995
13162
|
deviceId: number(),
|
|
12996
13163
|
agentNodeId: string().optional()
|
|
12997
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13164
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
12998
13165
|
name: string(),
|
|
12999
13166
|
description: string().optional(),
|
|
13000
13167
|
config: CameraPipelineConfigSchema
|
|
@@ -15978,6 +16145,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
15978
16145
|
kind: "mutation",
|
|
15979
16146
|
auth: "admin"
|
|
15980
16147
|
});
|
|
16148
|
+
var jobKindSchema = _enum([
|
|
16149
|
+
"install",
|
|
16150
|
+
"update",
|
|
16151
|
+
"uninstall",
|
|
16152
|
+
"restart"
|
|
16153
|
+
]);
|
|
16154
|
+
var taskPhaseSchema = _enum([
|
|
16155
|
+
"queued",
|
|
16156
|
+
"fetching",
|
|
16157
|
+
"staged",
|
|
16158
|
+
"validating",
|
|
16159
|
+
"applying",
|
|
16160
|
+
"restarting",
|
|
16161
|
+
"applied",
|
|
16162
|
+
"done",
|
|
16163
|
+
"failed",
|
|
16164
|
+
"skipped"
|
|
16165
|
+
]);
|
|
16166
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16167
|
+
var taskLogEntrySchema = object({
|
|
16168
|
+
tsMs: number(),
|
|
16169
|
+
nodeId: string(),
|
|
16170
|
+
packageName: string(),
|
|
16171
|
+
phase: taskPhaseSchema,
|
|
16172
|
+
message: string()
|
|
16173
|
+
});
|
|
16174
|
+
var lifecycleTaskSchema = object({
|
|
16175
|
+
taskId: string(),
|
|
16176
|
+
nodeId: string(),
|
|
16177
|
+
packageName: string(),
|
|
16178
|
+
fromVersion: string().nullable(),
|
|
16179
|
+
toVersion: string(),
|
|
16180
|
+
target: taskTargetSchema,
|
|
16181
|
+
phase: taskPhaseSchema,
|
|
16182
|
+
stagedPath: string().nullable(),
|
|
16183
|
+
attempts: number(),
|
|
16184
|
+
steps: array(taskLogEntrySchema),
|
|
16185
|
+
error: string().nullable(),
|
|
16186
|
+
startedAtMs: number().nullable(),
|
|
16187
|
+
finishedAtMs: number().nullable()
|
|
16188
|
+
});
|
|
16189
|
+
var lifecycleJobStateSchema = _enum([
|
|
16190
|
+
"running",
|
|
16191
|
+
"completed",
|
|
16192
|
+
"failed",
|
|
16193
|
+
"partially-failed",
|
|
16194
|
+
"cancelled"
|
|
16195
|
+
]);
|
|
16196
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16197
|
+
"single",
|
|
16198
|
+
"bulk",
|
|
16199
|
+
"cluster"
|
|
16200
|
+
]);
|
|
16201
|
+
var lifecycleJobSchema = object({
|
|
16202
|
+
jobId: string(),
|
|
16203
|
+
kind: jobKindSchema,
|
|
16204
|
+
createdAtMs: number(),
|
|
16205
|
+
createdBy: string(),
|
|
16206
|
+
scope: lifecycleJobScopeSchema,
|
|
16207
|
+
tasks: array(lifecycleTaskSchema),
|
|
16208
|
+
state: lifecycleJobStateSchema,
|
|
16209
|
+
schemaVersion: literal(1)
|
|
16210
|
+
});
|
|
15981
16211
|
/**
|
|
15982
16212
|
* addons — system-scoped singleton capability for addon package
|
|
15983
16213
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16160,7 +16390,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16160
16390
|
"restarting",
|
|
16161
16391
|
"finalizing"
|
|
16162
16392
|
]);
|
|
16163
|
-
|
|
16393
|
+
object({
|
|
16164
16394
|
id: string(),
|
|
16165
16395
|
nodeId: string(),
|
|
16166
16396
|
startedAtMs: number(),
|
|
@@ -16263,20 +16493,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16263
16493
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16264
16494
|
kind: "mutation",
|
|
16265
16495
|
auth: "admin"
|
|
16266
|
-
}), method(object({
|
|
16267
|
-
nodeId: string(),
|
|
16268
|
-
items: array(object({
|
|
16269
|
-
name: string(),
|
|
16270
|
-
version: string(),
|
|
16271
|
-
isSystem: boolean()
|
|
16272
|
-
})).readonly()
|
|
16273
|
-
}), object({ id: string() }), {
|
|
16274
|
-
kind: "mutation",
|
|
16275
|
-
auth: "admin"
|
|
16276
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16277
|
-
kind: "mutation",
|
|
16278
|
-
auth: "admin"
|
|
16279
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16496
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16280
16497
|
kind: "mutation",
|
|
16281
16498
|
auth: "admin"
|
|
16282
16499
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16298,6 +16515,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16298
16515
|
kind: "mutation",
|
|
16299
16516
|
auth: "admin"
|
|
16300
16517
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16518
|
+
kind: _enum([
|
|
16519
|
+
"install",
|
|
16520
|
+
"update",
|
|
16521
|
+
"uninstall",
|
|
16522
|
+
"restart"
|
|
16523
|
+
]),
|
|
16524
|
+
targets: array(object({
|
|
16525
|
+
name: string().min(1),
|
|
16526
|
+
version: string().min(1)
|
|
16527
|
+
})).min(1),
|
|
16528
|
+
nodeIds: array(string()).optional()
|
|
16529
|
+
}), object({ jobId: string() }), {
|
|
16530
|
+
kind: "mutation",
|
|
16531
|
+
auth: "admin"
|
|
16532
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16533
|
+
kind: "mutation",
|
|
16534
|
+
auth: "admin"
|
|
16535
|
+
}), method(object({
|
|
16301
16536
|
addonId: string(),
|
|
16302
16537
|
level: LogLevelSchema$1.optional()
|
|
16303
16538
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16338,7 +16573,7 @@ Object.freeze({
|
|
|
16338
16573
|
addonId: null,
|
|
16339
16574
|
access: "create"
|
|
16340
16575
|
},
|
|
16341
|
-
"addons.
|
|
16576
|
+
"addons.cancelJob": {
|
|
16342
16577
|
capName: "addons",
|
|
16343
16578
|
capScope: "system",
|
|
16344
16579
|
addonId: null,
|
|
@@ -16368,7 +16603,7 @@ Object.freeze({
|
|
|
16368
16603
|
addonId: null,
|
|
16369
16604
|
access: "view"
|
|
16370
16605
|
},
|
|
16371
|
-
"addons.
|
|
16606
|
+
"addons.getJob": {
|
|
16372
16607
|
capName: "addons",
|
|
16373
16608
|
capScope: "system",
|
|
16374
16609
|
addonId: null,
|
|
@@ -16416,19 +16651,19 @@ Object.freeze({
|
|
|
16416
16651
|
addonId: null,
|
|
16417
16652
|
access: "view"
|
|
16418
16653
|
},
|
|
16419
|
-
"addons.
|
|
16654
|
+
"addons.listCapabilityProviders": {
|
|
16420
16655
|
capName: "addons",
|
|
16421
16656
|
capScope: "system",
|
|
16422
16657
|
addonId: null,
|
|
16423
16658
|
access: "view"
|
|
16424
16659
|
},
|
|
16425
|
-
"addons.
|
|
16660
|
+
"addons.listFrameworkPackages": {
|
|
16426
16661
|
capName: "addons",
|
|
16427
16662
|
capScope: "system",
|
|
16428
16663
|
addonId: null,
|
|
16429
16664
|
access: "view"
|
|
16430
16665
|
},
|
|
16431
|
-
"addons.
|
|
16666
|
+
"addons.listJobs": {
|
|
16432
16667
|
capName: "addons",
|
|
16433
16668
|
capScope: "system",
|
|
16434
16669
|
addonId: null,
|
|
@@ -16512,7 +16747,7 @@ Object.freeze({
|
|
|
16512
16747
|
addonId: null,
|
|
16513
16748
|
access: "create"
|
|
16514
16749
|
},
|
|
16515
|
-
"addons.
|
|
16750
|
+
"addons.startJob": {
|
|
16516
16751
|
capName: "addons",
|
|
16517
16752
|
capScope: "system",
|
|
16518
16753
|
addonId: null,
|
|
@@ -18738,6 +18973,12 @@ Object.freeze({
|
|
|
18738
18973
|
addonId: null,
|
|
18739
18974
|
access: "view"
|
|
18740
18975
|
},
|
|
18976
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
18977
|
+
capName: "pipeline-executor",
|
|
18978
|
+
capScope: "system",
|
|
18979
|
+
addonId: null,
|
|
18980
|
+
access: "view"
|
|
18981
|
+
},
|
|
18741
18982
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
18742
18983
|
capName: "pipeline-executor",
|
|
18743
18984
|
capScope: "system",
|
|
@@ -18942,6 +19183,18 @@ Object.freeze({
|
|
|
18942
19183
|
addonId: null,
|
|
18943
19184
|
access: "view"
|
|
18944
19185
|
},
|
|
19186
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19187
|
+
capName: "pipeline-orchestrator",
|
|
19188
|
+
capScope: "system",
|
|
19189
|
+
addonId: null,
|
|
19190
|
+
access: "view"
|
|
19191
|
+
},
|
|
19192
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19193
|
+
capName: "pipeline-orchestrator",
|
|
19194
|
+
capScope: "system",
|
|
19195
|
+
addonId: null,
|
|
19196
|
+
access: "view"
|
|
19197
|
+
},
|
|
18945
19198
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
18946
19199
|
capName: "pipeline-orchestrator",
|
|
18947
19200
|
capScope: "system",
|
|
@@ -19026,6 +19279,12 @@ Object.freeze({
|
|
|
19026
19279
|
addonId: null,
|
|
19027
19280
|
access: "create"
|
|
19028
19281
|
},
|
|
19282
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19283
|
+
capName: "pipeline-orchestrator",
|
|
19284
|
+
capScope: "system",
|
|
19285
|
+
addonId: null,
|
|
19286
|
+
access: "create"
|
|
19287
|
+
},
|
|
19029
19288
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19030
19289
|
capName: "pipeline-orchestrator",
|
|
19031
19290
|
capScope: "system",
|
|
@@ -20499,6 +20758,32 @@ Object.freeze({
|
|
|
20499
20758
|
"network-access": "ingress",
|
|
20500
20759
|
"smtp-provider": "email"
|
|
20501
20760
|
});
|
|
20761
|
+
var frameworkSwapPackageSchema = object({
|
|
20762
|
+
name: string(),
|
|
20763
|
+
stagedPath: string(),
|
|
20764
|
+
backupPath: string(),
|
|
20765
|
+
toVersion: string(),
|
|
20766
|
+
fromVersion: string().nullable()
|
|
20767
|
+
});
|
|
20768
|
+
object({
|
|
20769
|
+
jobId: string(),
|
|
20770
|
+
taskId: string(),
|
|
20771
|
+
packages: array(frameworkSwapPackageSchema),
|
|
20772
|
+
requestedAtMs: number(),
|
|
20773
|
+
schemaVersion: literal(1)
|
|
20774
|
+
});
|
|
20775
|
+
object({
|
|
20776
|
+
jobId: string(),
|
|
20777
|
+
taskId: string(),
|
|
20778
|
+
backups: array(object({
|
|
20779
|
+
name: string(),
|
|
20780
|
+
backupPath: string(),
|
|
20781
|
+
livePath: string()
|
|
20782
|
+
})),
|
|
20783
|
+
appliedAtMs: number(),
|
|
20784
|
+
bootAttempts: number(),
|
|
20785
|
+
schemaVersion: literal(1)
|
|
20786
|
+
});
|
|
20502
20787
|
//#endregion
|
|
20503
20788
|
//#region src/rules/rule-store.ts
|
|
20504
20789
|
var COLLECTION$1 = "addon-settings";
|