@camstack/addon-export-alexa 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/export-alexa.addon.js +315 -30
- package/dist/export-alexa.addon.mjs +315 -30
- package/package.json +1 -1
|
@@ -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.
|
|
@@ -9364,6 +9377,24 @@ var DetectorOutputSchema = object({
|
|
|
9364
9377
|
inferenceMs: number(),
|
|
9365
9378
|
modelId: string()
|
|
9366
9379
|
});
|
|
9380
|
+
var EngineProvisioningSchema = object({
|
|
9381
|
+
runtimeId: _enum([
|
|
9382
|
+
"onnx",
|
|
9383
|
+
"openvino",
|
|
9384
|
+
"coreml"
|
|
9385
|
+
]).nullable(),
|
|
9386
|
+
device: string().nullable(),
|
|
9387
|
+
state: _enum([
|
|
9388
|
+
"idle",
|
|
9389
|
+
"installing",
|
|
9390
|
+
"verifying",
|
|
9391
|
+
"ready",
|
|
9392
|
+
"failed"
|
|
9393
|
+
]),
|
|
9394
|
+
progress: number().optional(),
|
|
9395
|
+
error: string().optional(),
|
|
9396
|
+
nextRetryAt: number().optional()
|
|
9397
|
+
});
|
|
9367
9398
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9368
9399
|
addonId: string(),
|
|
9369
9400
|
modelId: string(),
|
|
@@ -9432,7 +9463,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9432
9463
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9433
9464
|
kind: "mutation",
|
|
9434
9465
|
auth: "admin"
|
|
9435
|
-
}), method(_void(), record(string(), object({
|
|
9466
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9436
9467
|
modelId: string(),
|
|
9437
9468
|
settings: record(string(), unknown()).readonly()
|
|
9438
9469
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -13088,7 +13119,10 @@ var AgentAddonConfigSchema = object({
|
|
|
13088
13119
|
modelId: string(),
|
|
13089
13120
|
settings: record(string(), unknown()).readonly()
|
|
13090
13121
|
});
|
|
13091
|
-
var AgentPipelineSettingsSchema = object({
|
|
13122
|
+
var AgentPipelineSettingsSchema = object({
|
|
13123
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
13124
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
13125
|
+
});
|
|
13092
13126
|
var CameraPipelineForAgentSchema = object({
|
|
13093
13127
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
13094
13128
|
audio: object({
|
|
@@ -13190,6 +13224,133 @@ var GlobalMetricsSchema = object({
|
|
|
13190
13224
|
* capability providers.
|
|
13191
13225
|
*/
|
|
13192
13226
|
var CapabilityBindingsSchema = record(string(), string());
|
|
13227
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
13228
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
13229
|
+
camStreamId: string(),
|
|
13230
|
+
codec: string(),
|
|
13231
|
+
width: number(),
|
|
13232
|
+
height: number(),
|
|
13233
|
+
fps: number(),
|
|
13234
|
+
kind: string()
|
|
13235
|
+
})).readonly() });
|
|
13236
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
13237
|
+
var CameraAssignmentStatusSchema = object({
|
|
13238
|
+
detectionNodeId: string().nullable(),
|
|
13239
|
+
decoderNodeId: string().nullable(),
|
|
13240
|
+
audioNodeId: string().nullable(),
|
|
13241
|
+
pinned: object({
|
|
13242
|
+
detection: boolean(),
|
|
13243
|
+
decoder: boolean(),
|
|
13244
|
+
audio: boolean()
|
|
13245
|
+
}),
|
|
13246
|
+
reasons: object({
|
|
13247
|
+
detection: string().optional(),
|
|
13248
|
+
decoder: string().optional(),
|
|
13249
|
+
audio: string().optional()
|
|
13250
|
+
})
|
|
13251
|
+
});
|
|
13252
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
13253
|
+
var CameraBrokerStatusSchema = object({
|
|
13254
|
+
profiles: array(object({
|
|
13255
|
+
profile: string(),
|
|
13256
|
+
status: string(),
|
|
13257
|
+
codec: string(),
|
|
13258
|
+
width: number(),
|
|
13259
|
+
height: number(),
|
|
13260
|
+
subscribers: number(),
|
|
13261
|
+
inFps: number(),
|
|
13262
|
+
outFps: number()
|
|
13263
|
+
})).readonly(),
|
|
13264
|
+
webrtcSessions: number(),
|
|
13265
|
+
rtspRestream: boolean()
|
|
13266
|
+
});
|
|
13267
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
13268
|
+
var CameraDecoderShmSchema = object({
|
|
13269
|
+
framesWritten: number(),
|
|
13270
|
+
getFrameHits: number(),
|
|
13271
|
+
getFrameMisses: number(),
|
|
13272
|
+
budgetMb: number()
|
|
13273
|
+
});
|
|
13274
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
13275
|
+
var CameraDecoderStatusSchema = object({
|
|
13276
|
+
nodeId: string(),
|
|
13277
|
+
formats: array(string()).readonly(),
|
|
13278
|
+
sessionCount: number(),
|
|
13279
|
+
shm: CameraDecoderShmSchema
|
|
13280
|
+
});
|
|
13281
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
13282
|
+
var CameraMotionStatusSchema = object({
|
|
13283
|
+
enabled: boolean(),
|
|
13284
|
+
fps: number()
|
|
13285
|
+
});
|
|
13286
|
+
/** Detection provisioning sub-block. */
|
|
13287
|
+
var CameraDetectionProvisioningSchema = object({
|
|
13288
|
+
state: _enum([
|
|
13289
|
+
"idle",
|
|
13290
|
+
"installing",
|
|
13291
|
+
"verifying",
|
|
13292
|
+
"ready",
|
|
13293
|
+
"failed"
|
|
13294
|
+
]),
|
|
13295
|
+
error: string().optional()
|
|
13296
|
+
});
|
|
13297
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13298
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13299
|
+
"idle",
|
|
13300
|
+
"watching",
|
|
13301
|
+
"active"
|
|
13302
|
+
]);
|
|
13303
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13304
|
+
var CameraDetectionStatusSchema = object({
|
|
13305
|
+
nodeId: string(),
|
|
13306
|
+
engine: object({
|
|
13307
|
+
backend: string(),
|
|
13308
|
+
device: string()
|
|
13309
|
+
}),
|
|
13310
|
+
phase: CameraDetectionPhaseSchema,
|
|
13311
|
+
configuredFps: number(),
|
|
13312
|
+
actualFps: number(),
|
|
13313
|
+
queueDepth: number(),
|
|
13314
|
+
avgInferenceMs: number(),
|
|
13315
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13316
|
+
});
|
|
13317
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13318
|
+
var CameraAudioStatusSchema = object({
|
|
13319
|
+
nodeId: string(),
|
|
13320
|
+
enabled: boolean()
|
|
13321
|
+
});
|
|
13322
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13323
|
+
var CameraRecordingStatusSchema = object({
|
|
13324
|
+
mode: _enum([
|
|
13325
|
+
"off",
|
|
13326
|
+
"continuous",
|
|
13327
|
+
"events"
|
|
13328
|
+
]),
|
|
13329
|
+
active: boolean(),
|
|
13330
|
+
storageBytes: number()
|
|
13331
|
+
});
|
|
13332
|
+
/**
|
|
13333
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13334
|
+
*
|
|
13335
|
+
* The `assignment` and `source` blocks are always present.
|
|
13336
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13337
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13338
|
+
*
|
|
13339
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13340
|
+
*/
|
|
13341
|
+
var CameraStatusSchema = object({
|
|
13342
|
+
deviceId: number(),
|
|
13343
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13344
|
+
source: CameraSourceStatusSchema,
|
|
13345
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13346
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13347
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13348
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13349
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13350
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13351
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13352
|
+
fetchedAt: number()
|
|
13353
|
+
});
|
|
13193
13354
|
method(object({
|
|
13194
13355
|
deviceId: number(),
|
|
13195
13356
|
agentNodeId: string()
|
|
@@ -13257,6 +13418,12 @@ method(object({
|
|
|
13257
13418
|
}), {
|
|
13258
13419
|
kind: "mutation",
|
|
13259
13420
|
auth: "admin"
|
|
13421
|
+
}), method(object({
|
|
13422
|
+
agentNodeId: string(),
|
|
13423
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13424
|
+
}), object({ success: literal(true) }), {
|
|
13425
|
+
kind: "mutation",
|
|
13426
|
+
auth: "admin"
|
|
13260
13427
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
13261
13428
|
deviceId: number(),
|
|
13262
13429
|
addonId: string(),
|
|
@@ -13282,7 +13449,7 @@ method(object({
|
|
|
13282
13449
|
}), method(object({
|
|
13283
13450
|
deviceId: number(),
|
|
13284
13451
|
agentNodeId: string().optional()
|
|
13285
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13452
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13286
13453
|
name: string(),
|
|
13287
13454
|
description: string().optional(),
|
|
13288
13455
|
config: CameraPipelineConfigSchema
|
|
@@ -16246,6 +16413,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
16246
16413
|
kind: "mutation",
|
|
16247
16414
|
auth: "admin"
|
|
16248
16415
|
});
|
|
16416
|
+
var jobKindSchema = _enum([
|
|
16417
|
+
"install",
|
|
16418
|
+
"update",
|
|
16419
|
+
"uninstall",
|
|
16420
|
+
"restart"
|
|
16421
|
+
]);
|
|
16422
|
+
var taskPhaseSchema = _enum([
|
|
16423
|
+
"queued",
|
|
16424
|
+
"fetching",
|
|
16425
|
+
"staged",
|
|
16426
|
+
"validating",
|
|
16427
|
+
"applying",
|
|
16428
|
+
"restarting",
|
|
16429
|
+
"applied",
|
|
16430
|
+
"done",
|
|
16431
|
+
"failed",
|
|
16432
|
+
"skipped"
|
|
16433
|
+
]);
|
|
16434
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16435
|
+
var taskLogEntrySchema = object({
|
|
16436
|
+
tsMs: number(),
|
|
16437
|
+
nodeId: string(),
|
|
16438
|
+
packageName: string(),
|
|
16439
|
+
phase: taskPhaseSchema,
|
|
16440
|
+
message: string()
|
|
16441
|
+
});
|
|
16442
|
+
var lifecycleTaskSchema = object({
|
|
16443
|
+
taskId: string(),
|
|
16444
|
+
nodeId: string(),
|
|
16445
|
+
packageName: string(),
|
|
16446
|
+
fromVersion: string().nullable(),
|
|
16447
|
+
toVersion: string(),
|
|
16448
|
+
target: taskTargetSchema,
|
|
16449
|
+
phase: taskPhaseSchema,
|
|
16450
|
+
stagedPath: string().nullable(),
|
|
16451
|
+
attempts: number(),
|
|
16452
|
+
steps: array(taskLogEntrySchema),
|
|
16453
|
+
error: string().nullable(),
|
|
16454
|
+
startedAtMs: number().nullable(),
|
|
16455
|
+
finishedAtMs: number().nullable()
|
|
16456
|
+
});
|
|
16457
|
+
var lifecycleJobStateSchema = _enum([
|
|
16458
|
+
"running",
|
|
16459
|
+
"completed",
|
|
16460
|
+
"failed",
|
|
16461
|
+
"partially-failed",
|
|
16462
|
+
"cancelled"
|
|
16463
|
+
]);
|
|
16464
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16465
|
+
"single",
|
|
16466
|
+
"bulk",
|
|
16467
|
+
"cluster"
|
|
16468
|
+
]);
|
|
16469
|
+
var lifecycleJobSchema = object({
|
|
16470
|
+
jobId: string(),
|
|
16471
|
+
kind: jobKindSchema,
|
|
16472
|
+
createdAtMs: number(),
|
|
16473
|
+
createdBy: string(),
|
|
16474
|
+
scope: lifecycleJobScopeSchema,
|
|
16475
|
+
tasks: array(lifecycleTaskSchema),
|
|
16476
|
+
state: lifecycleJobStateSchema,
|
|
16477
|
+
schemaVersion: literal(1)
|
|
16478
|
+
});
|
|
16249
16479
|
/**
|
|
16250
16480
|
* addons — system-scoped singleton capability for addon package
|
|
16251
16481
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16428,7 +16658,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16428
16658
|
"restarting",
|
|
16429
16659
|
"finalizing"
|
|
16430
16660
|
]);
|
|
16431
|
-
|
|
16661
|
+
object({
|
|
16432
16662
|
id: string(),
|
|
16433
16663
|
nodeId: string(),
|
|
16434
16664
|
startedAtMs: number(),
|
|
@@ -16531,20 +16761,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16531
16761
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16532
16762
|
kind: "mutation",
|
|
16533
16763
|
auth: "admin"
|
|
16534
|
-
}), method(object({
|
|
16535
|
-
nodeId: string(),
|
|
16536
|
-
items: array(object({
|
|
16537
|
-
name: string(),
|
|
16538
|
-
version: string(),
|
|
16539
|
-
isSystem: boolean()
|
|
16540
|
-
})).readonly()
|
|
16541
|
-
}), object({ id: string() }), {
|
|
16542
|
-
kind: "mutation",
|
|
16543
|
-
auth: "admin"
|
|
16544
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16545
|
-
kind: "mutation",
|
|
16546
|
-
auth: "admin"
|
|
16547
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16764
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16548
16765
|
kind: "mutation",
|
|
16549
16766
|
auth: "admin"
|
|
16550
16767
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16566,6 +16783,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16566
16783
|
kind: "mutation",
|
|
16567
16784
|
auth: "admin"
|
|
16568
16785
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16786
|
+
kind: _enum([
|
|
16787
|
+
"install",
|
|
16788
|
+
"update",
|
|
16789
|
+
"uninstall",
|
|
16790
|
+
"restart"
|
|
16791
|
+
]),
|
|
16792
|
+
targets: array(object({
|
|
16793
|
+
name: string().min(1),
|
|
16794
|
+
version: string().min(1)
|
|
16795
|
+
})).min(1),
|
|
16796
|
+
nodeIds: array(string()).optional()
|
|
16797
|
+
}), object({ jobId: string() }), {
|
|
16798
|
+
kind: "mutation",
|
|
16799
|
+
auth: "admin"
|
|
16800
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16801
|
+
kind: "mutation",
|
|
16802
|
+
auth: "admin"
|
|
16803
|
+
}), method(object({
|
|
16569
16804
|
addonId: string(),
|
|
16570
16805
|
level: LogLevelSchema$1.optional()
|
|
16571
16806
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16606,7 +16841,7 @@ Object.freeze({
|
|
|
16606
16841
|
addonId: null,
|
|
16607
16842
|
access: "create"
|
|
16608
16843
|
},
|
|
16609
|
-
"addons.
|
|
16844
|
+
"addons.cancelJob": {
|
|
16610
16845
|
capName: "addons",
|
|
16611
16846
|
capScope: "system",
|
|
16612
16847
|
addonId: null,
|
|
@@ -16636,7 +16871,7 @@ Object.freeze({
|
|
|
16636
16871
|
addonId: null,
|
|
16637
16872
|
access: "view"
|
|
16638
16873
|
},
|
|
16639
|
-
"addons.
|
|
16874
|
+
"addons.getJob": {
|
|
16640
16875
|
capName: "addons",
|
|
16641
16876
|
capScope: "system",
|
|
16642
16877
|
addonId: null,
|
|
@@ -16684,19 +16919,19 @@ Object.freeze({
|
|
|
16684
16919
|
addonId: null,
|
|
16685
16920
|
access: "view"
|
|
16686
16921
|
},
|
|
16687
|
-
"addons.
|
|
16922
|
+
"addons.listCapabilityProviders": {
|
|
16688
16923
|
capName: "addons",
|
|
16689
16924
|
capScope: "system",
|
|
16690
16925
|
addonId: null,
|
|
16691
16926
|
access: "view"
|
|
16692
16927
|
},
|
|
16693
|
-
"addons.
|
|
16928
|
+
"addons.listFrameworkPackages": {
|
|
16694
16929
|
capName: "addons",
|
|
16695
16930
|
capScope: "system",
|
|
16696
16931
|
addonId: null,
|
|
16697
16932
|
access: "view"
|
|
16698
16933
|
},
|
|
16699
|
-
"addons.
|
|
16934
|
+
"addons.listJobs": {
|
|
16700
16935
|
capName: "addons",
|
|
16701
16936
|
capScope: "system",
|
|
16702
16937
|
addonId: null,
|
|
@@ -16780,7 +17015,7 @@ Object.freeze({
|
|
|
16780
17015
|
addonId: null,
|
|
16781
17016
|
access: "create"
|
|
16782
17017
|
},
|
|
16783
|
-
"addons.
|
|
17018
|
+
"addons.startJob": {
|
|
16784
17019
|
capName: "addons",
|
|
16785
17020
|
capScope: "system",
|
|
16786
17021
|
addonId: null,
|
|
@@ -19006,6 +19241,12 @@ Object.freeze({
|
|
|
19006
19241
|
addonId: null,
|
|
19007
19242
|
access: "view"
|
|
19008
19243
|
},
|
|
19244
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
19245
|
+
capName: "pipeline-executor",
|
|
19246
|
+
capScope: "system",
|
|
19247
|
+
addonId: null,
|
|
19248
|
+
access: "view"
|
|
19249
|
+
},
|
|
19009
19250
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
19010
19251
|
capName: "pipeline-executor",
|
|
19011
19252
|
capScope: "system",
|
|
@@ -19210,6 +19451,18 @@ Object.freeze({
|
|
|
19210
19451
|
addonId: null,
|
|
19211
19452
|
access: "view"
|
|
19212
19453
|
},
|
|
19454
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19455
|
+
capName: "pipeline-orchestrator",
|
|
19456
|
+
capScope: "system",
|
|
19457
|
+
addonId: null,
|
|
19458
|
+
access: "view"
|
|
19459
|
+
},
|
|
19460
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19461
|
+
capName: "pipeline-orchestrator",
|
|
19462
|
+
capScope: "system",
|
|
19463
|
+
addonId: null,
|
|
19464
|
+
access: "view"
|
|
19465
|
+
},
|
|
19213
19466
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
19214
19467
|
capName: "pipeline-orchestrator",
|
|
19215
19468
|
capScope: "system",
|
|
@@ -19294,6 +19547,12 @@ Object.freeze({
|
|
|
19294
19547
|
addonId: null,
|
|
19295
19548
|
access: "create"
|
|
19296
19549
|
},
|
|
19550
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19551
|
+
capName: "pipeline-orchestrator",
|
|
19552
|
+
capScope: "system",
|
|
19553
|
+
addonId: null,
|
|
19554
|
+
access: "create"
|
|
19555
|
+
},
|
|
19297
19556
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19298
19557
|
capName: "pipeline-orchestrator",
|
|
19299
19558
|
capScope: "system",
|
|
@@ -20767,6 +21026,32 @@ Object.freeze({
|
|
|
20767
21026
|
"network-access": "ingress",
|
|
20768
21027
|
"smtp-provider": "email"
|
|
20769
21028
|
});
|
|
21029
|
+
var frameworkSwapPackageSchema = object({
|
|
21030
|
+
name: string(),
|
|
21031
|
+
stagedPath: string(),
|
|
21032
|
+
backupPath: string(),
|
|
21033
|
+
toVersion: string(),
|
|
21034
|
+
fromVersion: string().nullable()
|
|
21035
|
+
});
|
|
21036
|
+
object({
|
|
21037
|
+
jobId: string(),
|
|
21038
|
+
taskId: string(),
|
|
21039
|
+
packages: array(frameworkSwapPackageSchema),
|
|
21040
|
+
requestedAtMs: number(),
|
|
21041
|
+
schemaVersion: literal(1)
|
|
21042
|
+
});
|
|
21043
|
+
object({
|
|
21044
|
+
jobId: string(),
|
|
21045
|
+
taskId: string(),
|
|
21046
|
+
backups: array(object({
|
|
21047
|
+
name: string(),
|
|
21048
|
+
backupPath: string(),
|
|
21049
|
+
livePath: string()
|
|
21050
|
+
})),
|
|
21051
|
+
appliedAtMs: number(),
|
|
21052
|
+
bootAttempts: number(),
|
|
21053
|
+
schemaVersion: literal(1)
|
|
21054
|
+
});
|
|
20770
21055
|
//#endregion
|
|
20771
21056
|
//#region src/custom-actions.ts
|
|
20772
21057
|
/**
|
|
@@ -4983,6 +4983,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
4983
4983
|
*/
|
|
4984
4984
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
4985
4985
|
/**
|
|
4986
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
4987
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
4988
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
4989
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
4990
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
4991
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
4992
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
4993
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
4994
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
4995
|
+
*/
|
|
4996
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
4997
|
+
/**
|
|
4986
4998
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
4987
4999
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
4988
5000
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5132,14 +5144,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5132
5144
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5133
5145
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5134
5146
|
/**
|
|
5135
|
-
*
|
|
5136
|
-
*
|
|
5137
|
-
*
|
|
5138
|
-
* to
|
|
5139
|
-
*
|
|
5140
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5147
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5148
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5149
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5150
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5151
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5141
5152
|
*/
|
|
5142
5153
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5154
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5155
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5143
5156
|
/**
|
|
5144
5157
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5145
5158
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -9338,6 +9351,24 @@ var DetectorOutputSchema = object({
|
|
|
9338
9351
|
inferenceMs: number(),
|
|
9339
9352
|
modelId: string()
|
|
9340
9353
|
});
|
|
9354
|
+
var EngineProvisioningSchema = object({
|
|
9355
|
+
runtimeId: _enum([
|
|
9356
|
+
"onnx",
|
|
9357
|
+
"openvino",
|
|
9358
|
+
"coreml"
|
|
9359
|
+
]).nullable(),
|
|
9360
|
+
device: string().nullable(),
|
|
9361
|
+
state: _enum([
|
|
9362
|
+
"idle",
|
|
9363
|
+
"installing",
|
|
9364
|
+
"verifying",
|
|
9365
|
+
"ready",
|
|
9366
|
+
"failed"
|
|
9367
|
+
]),
|
|
9368
|
+
progress: number().optional(),
|
|
9369
|
+
error: string().optional(),
|
|
9370
|
+
nextRetryAt: number().optional()
|
|
9371
|
+
});
|
|
9341
9372
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9342
9373
|
addonId: string(),
|
|
9343
9374
|
modelId: string(),
|
|
@@ -9406,7 +9437,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9406
9437
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9407
9438
|
kind: "mutation",
|
|
9408
9439
|
auth: "admin"
|
|
9409
|
-
}), method(_void(), record(string(), object({
|
|
9440
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9410
9441
|
modelId: string(),
|
|
9411
9442
|
settings: record(string(), unknown()).readonly()
|
|
9412
9443
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -13062,7 +13093,10 @@ var AgentAddonConfigSchema = object({
|
|
|
13062
13093
|
modelId: string(),
|
|
13063
13094
|
settings: record(string(), unknown()).readonly()
|
|
13064
13095
|
});
|
|
13065
|
-
var AgentPipelineSettingsSchema = object({
|
|
13096
|
+
var AgentPipelineSettingsSchema = object({
|
|
13097
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
13098
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
13099
|
+
});
|
|
13066
13100
|
var CameraPipelineForAgentSchema = object({
|
|
13067
13101
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
13068
13102
|
audio: object({
|
|
@@ -13164,6 +13198,133 @@ var GlobalMetricsSchema = object({
|
|
|
13164
13198
|
* capability providers.
|
|
13165
13199
|
*/
|
|
13166
13200
|
var CapabilityBindingsSchema = record(string(), string());
|
|
13201
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
13202
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
13203
|
+
camStreamId: string(),
|
|
13204
|
+
codec: string(),
|
|
13205
|
+
width: number(),
|
|
13206
|
+
height: number(),
|
|
13207
|
+
fps: number(),
|
|
13208
|
+
kind: string()
|
|
13209
|
+
})).readonly() });
|
|
13210
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
13211
|
+
var CameraAssignmentStatusSchema = object({
|
|
13212
|
+
detectionNodeId: string().nullable(),
|
|
13213
|
+
decoderNodeId: string().nullable(),
|
|
13214
|
+
audioNodeId: string().nullable(),
|
|
13215
|
+
pinned: object({
|
|
13216
|
+
detection: boolean(),
|
|
13217
|
+
decoder: boolean(),
|
|
13218
|
+
audio: boolean()
|
|
13219
|
+
}),
|
|
13220
|
+
reasons: object({
|
|
13221
|
+
detection: string().optional(),
|
|
13222
|
+
decoder: string().optional(),
|
|
13223
|
+
audio: string().optional()
|
|
13224
|
+
})
|
|
13225
|
+
});
|
|
13226
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
13227
|
+
var CameraBrokerStatusSchema = object({
|
|
13228
|
+
profiles: array(object({
|
|
13229
|
+
profile: string(),
|
|
13230
|
+
status: string(),
|
|
13231
|
+
codec: string(),
|
|
13232
|
+
width: number(),
|
|
13233
|
+
height: number(),
|
|
13234
|
+
subscribers: number(),
|
|
13235
|
+
inFps: number(),
|
|
13236
|
+
outFps: number()
|
|
13237
|
+
})).readonly(),
|
|
13238
|
+
webrtcSessions: number(),
|
|
13239
|
+
rtspRestream: boolean()
|
|
13240
|
+
});
|
|
13241
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
13242
|
+
var CameraDecoderShmSchema = object({
|
|
13243
|
+
framesWritten: number(),
|
|
13244
|
+
getFrameHits: number(),
|
|
13245
|
+
getFrameMisses: number(),
|
|
13246
|
+
budgetMb: number()
|
|
13247
|
+
});
|
|
13248
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
13249
|
+
var CameraDecoderStatusSchema = object({
|
|
13250
|
+
nodeId: string(),
|
|
13251
|
+
formats: array(string()).readonly(),
|
|
13252
|
+
sessionCount: number(),
|
|
13253
|
+
shm: CameraDecoderShmSchema
|
|
13254
|
+
});
|
|
13255
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
13256
|
+
var CameraMotionStatusSchema = object({
|
|
13257
|
+
enabled: boolean(),
|
|
13258
|
+
fps: number()
|
|
13259
|
+
});
|
|
13260
|
+
/** Detection provisioning sub-block. */
|
|
13261
|
+
var CameraDetectionProvisioningSchema = object({
|
|
13262
|
+
state: _enum([
|
|
13263
|
+
"idle",
|
|
13264
|
+
"installing",
|
|
13265
|
+
"verifying",
|
|
13266
|
+
"ready",
|
|
13267
|
+
"failed"
|
|
13268
|
+
]),
|
|
13269
|
+
error: string().optional()
|
|
13270
|
+
});
|
|
13271
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13272
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13273
|
+
"idle",
|
|
13274
|
+
"watching",
|
|
13275
|
+
"active"
|
|
13276
|
+
]);
|
|
13277
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13278
|
+
var CameraDetectionStatusSchema = object({
|
|
13279
|
+
nodeId: string(),
|
|
13280
|
+
engine: object({
|
|
13281
|
+
backend: string(),
|
|
13282
|
+
device: string()
|
|
13283
|
+
}),
|
|
13284
|
+
phase: CameraDetectionPhaseSchema,
|
|
13285
|
+
configuredFps: number(),
|
|
13286
|
+
actualFps: number(),
|
|
13287
|
+
queueDepth: number(),
|
|
13288
|
+
avgInferenceMs: number(),
|
|
13289
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13290
|
+
});
|
|
13291
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13292
|
+
var CameraAudioStatusSchema = object({
|
|
13293
|
+
nodeId: string(),
|
|
13294
|
+
enabled: boolean()
|
|
13295
|
+
});
|
|
13296
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13297
|
+
var CameraRecordingStatusSchema = object({
|
|
13298
|
+
mode: _enum([
|
|
13299
|
+
"off",
|
|
13300
|
+
"continuous",
|
|
13301
|
+
"events"
|
|
13302
|
+
]),
|
|
13303
|
+
active: boolean(),
|
|
13304
|
+
storageBytes: number()
|
|
13305
|
+
});
|
|
13306
|
+
/**
|
|
13307
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13308
|
+
*
|
|
13309
|
+
* The `assignment` and `source` blocks are always present.
|
|
13310
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13311
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13312
|
+
*
|
|
13313
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13314
|
+
*/
|
|
13315
|
+
var CameraStatusSchema = object({
|
|
13316
|
+
deviceId: number(),
|
|
13317
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13318
|
+
source: CameraSourceStatusSchema,
|
|
13319
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13320
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13321
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13322
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13323
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13324
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13325
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13326
|
+
fetchedAt: number()
|
|
13327
|
+
});
|
|
13167
13328
|
method(object({
|
|
13168
13329
|
deviceId: number(),
|
|
13169
13330
|
agentNodeId: string()
|
|
@@ -13231,6 +13392,12 @@ method(object({
|
|
|
13231
13392
|
}), {
|
|
13232
13393
|
kind: "mutation",
|
|
13233
13394
|
auth: "admin"
|
|
13395
|
+
}), method(object({
|
|
13396
|
+
agentNodeId: string(),
|
|
13397
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13398
|
+
}), object({ success: literal(true) }), {
|
|
13399
|
+
kind: "mutation",
|
|
13400
|
+
auth: "admin"
|
|
13234
13401
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
13235
13402
|
deviceId: number(),
|
|
13236
13403
|
addonId: string(),
|
|
@@ -13256,7 +13423,7 @@ method(object({
|
|
|
13256
13423
|
}), method(object({
|
|
13257
13424
|
deviceId: number(),
|
|
13258
13425
|
agentNodeId: string().optional()
|
|
13259
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13426
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13260
13427
|
name: string(),
|
|
13261
13428
|
description: string().optional(),
|
|
13262
13429
|
config: CameraPipelineConfigSchema
|
|
@@ -16220,6 +16387,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
16220
16387
|
kind: "mutation",
|
|
16221
16388
|
auth: "admin"
|
|
16222
16389
|
});
|
|
16390
|
+
var jobKindSchema = _enum([
|
|
16391
|
+
"install",
|
|
16392
|
+
"update",
|
|
16393
|
+
"uninstall",
|
|
16394
|
+
"restart"
|
|
16395
|
+
]);
|
|
16396
|
+
var taskPhaseSchema = _enum([
|
|
16397
|
+
"queued",
|
|
16398
|
+
"fetching",
|
|
16399
|
+
"staged",
|
|
16400
|
+
"validating",
|
|
16401
|
+
"applying",
|
|
16402
|
+
"restarting",
|
|
16403
|
+
"applied",
|
|
16404
|
+
"done",
|
|
16405
|
+
"failed",
|
|
16406
|
+
"skipped"
|
|
16407
|
+
]);
|
|
16408
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16409
|
+
var taskLogEntrySchema = object({
|
|
16410
|
+
tsMs: number(),
|
|
16411
|
+
nodeId: string(),
|
|
16412
|
+
packageName: string(),
|
|
16413
|
+
phase: taskPhaseSchema,
|
|
16414
|
+
message: string()
|
|
16415
|
+
});
|
|
16416
|
+
var lifecycleTaskSchema = object({
|
|
16417
|
+
taskId: string(),
|
|
16418
|
+
nodeId: string(),
|
|
16419
|
+
packageName: string(),
|
|
16420
|
+
fromVersion: string().nullable(),
|
|
16421
|
+
toVersion: string(),
|
|
16422
|
+
target: taskTargetSchema,
|
|
16423
|
+
phase: taskPhaseSchema,
|
|
16424
|
+
stagedPath: string().nullable(),
|
|
16425
|
+
attempts: number(),
|
|
16426
|
+
steps: array(taskLogEntrySchema),
|
|
16427
|
+
error: string().nullable(),
|
|
16428
|
+
startedAtMs: number().nullable(),
|
|
16429
|
+
finishedAtMs: number().nullable()
|
|
16430
|
+
});
|
|
16431
|
+
var lifecycleJobStateSchema = _enum([
|
|
16432
|
+
"running",
|
|
16433
|
+
"completed",
|
|
16434
|
+
"failed",
|
|
16435
|
+
"partially-failed",
|
|
16436
|
+
"cancelled"
|
|
16437
|
+
]);
|
|
16438
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16439
|
+
"single",
|
|
16440
|
+
"bulk",
|
|
16441
|
+
"cluster"
|
|
16442
|
+
]);
|
|
16443
|
+
var lifecycleJobSchema = object({
|
|
16444
|
+
jobId: string(),
|
|
16445
|
+
kind: jobKindSchema,
|
|
16446
|
+
createdAtMs: number(),
|
|
16447
|
+
createdBy: string(),
|
|
16448
|
+
scope: lifecycleJobScopeSchema,
|
|
16449
|
+
tasks: array(lifecycleTaskSchema),
|
|
16450
|
+
state: lifecycleJobStateSchema,
|
|
16451
|
+
schemaVersion: literal(1)
|
|
16452
|
+
});
|
|
16223
16453
|
/**
|
|
16224
16454
|
* addons — system-scoped singleton capability for addon package
|
|
16225
16455
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16402,7 +16632,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16402
16632
|
"restarting",
|
|
16403
16633
|
"finalizing"
|
|
16404
16634
|
]);
|
|
16405
|
-
|
|
16635
|
+
object({
|
|
16406
16636
|
id: string(),
|
|
16407
16637
|
nodeId: string(),
|
|
16408
16638
|
startedAtMs: number(),
|
|
@@ -16505,20 +16735,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16505
16735
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16506
16736
|
kind: "mutation",
|
|
16507
16737
|
auth: "admin"
|
|
16508
|
-
}), method(object({
|
|
16509
|
-
nodeId: string(),
|
|
16510
|
-
items: array(object({
|
|
16511
|
-
name: string(),
|
|
16512
|
-
version: string(),
|
|
16513
|
-
isSystem: boolean()
|
|
16514
|
-
})).readonly()
|
|
16515
|
-
}), object({ id: string() }), {
|
|
16516
|
-
kind: "mutation",
|
|
16517
|
-
auth: "admin"
|
|
16518
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16519
|
-
kind: "mutation",
|
|
16520
|
-
auth: "admin"
|
|
16521
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16738
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16522
16739
|
kind: "mutation",
|
|
16523
16740
|
auth: "admin"
|
|
16524
16741
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16540,6 +16757,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16540
16757
|
kind: "mutation",
|
|
16541
16758
|
auth: "admin"
|
|
16542
16759
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16760
|
+
kind: _enum([
|
|
16761
|
+
"install",
|
|
16762
|
+
"update",
|
|
16763
|
+
"uninstall",
|
|
16764
|
+
"restart"
|
|
16765
|
+
]),
|
|
16766
|
+
targets: array(object({
|
|
16767
|
+
name: string().min(1),
|
|
16768
|
+
version: string().min(1)
|
|
16769
|
+
})).min(1),
|
|
16770
|
+
nodeIds: array(string()).optional()
|
|
16771
|
+
}), object({ jobId: string() }), {
|
|
16772
|
+
kind: "mutation",
|
|
16773
|
+
auth: "admin"
|
|
16774
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16775
|
+
kind: "mutation",
|
|
16776
|
+
auth: "admin"
|
|
16777
|
+
}), method(object({
|
|
16543
16778
|
addonId: string(),
|
|
16544
16779
|
level: LogLevelSchema$1.optional()
|
|
16545
16780
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16580,7 +16815,7 @@ Object.freeze({
|
|
|
16580
16815
|
addonId: null,
|
|
16581
16816
|
access: "create"
|
|
16582
16817
|
},
|
|
16583
|
-
"addons.
|
|
16818
|
+
"addons.cancelJob": {
|
|
16584
16819
|
capName: "addons",
|
|
16585
16820
|
capScope: "system",
|
|
16586
16821
|
addonId: null,
|
|
@@ -16610,7 +16845,7 @@ Object.freeze({
|
|
|
16610
16845
|
addonId: null,
|
|
16611
16846
|
access: "view"
|
|
16612
16847
|
},
|
|
16613
|
-
"addons.
|
|
16848
|
+
"addons.getJob": {
|
|
16614
16849
|
capName: "addons",
|
|
16615
16850
|
capScope: "system",
|
|
16616
16851
|
addonId: null,
|
|
@@ -16658,19 +16893,19 @@ Object.freeze({
|
|
|
16658
16893
|
addonId: null,
|
|
16659
16894
|
access: "view"
|
|
16660
16895
|
},
|
|
16661
|
-
"addons.
|
|
16896
|
+
"addons.listCapabilityProviders": {
|
|
16662
16897
|
capName: "addons",
|
|
16663
16898
|
capScope: "system",
|
|
16664
16899
|
addonId: null,
|
|
16665
16900
|
access: "view"
|
|
16666
16901
|
},
|
|
16667
|
-
"addons.
|
|
16902
|
+
"addons.listFrameworkPackages": {
|
|
16668
16903
|
capName: "addons",
|
|
16669
16904
|
capScope: "system",
|
|
16670
16905
|
addonId: null,
|
|
16671
16906
|
access: "view"
|
|
16672
16907
|
},
|
|
16673
|
-
"addons.
|
|
16908
|
+
"addons.listJobs": {
|
|
16674
16909
|
capName: "addons",
|
|
16675
16910
|
capScope: "system",
|
|
16676
16911
|
addonId: null,
|
|
@@ -16754,7 +16989,7 @@ Object.freeze({
|
|
|
16754
16989
|
addonId: null,
|
|
16755
16990
|
access: "create"
|
|
16756
16991
|
},
|
|
16757
|
-
"addons.
|
|
16992
|
+
"addons.startJob": {
|
|
16758
16993
|
capName: "addons",
|
|
16759
16994
|
capScope: "system",
|
|
16760
16995
|
addonId: null,
|
|
@@ -18980,6 +19215,12 @@ Object.freeze({
|
|
|
18980
19215
|
addonId: null,
|
|
18981
19216
|
access: "view"
|
|
18982
19217
|
},
|
|
19218
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
19219
|
+
capName: "pipeline-executor",
|
|
19220
|
+
capScope: "system",
|
|
19221
|
+
addonId: null,
|
|
19222
|
+
access: "view"
|
|
19223
|
+
},
|
|
18983
19224
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
18984
19225
|
capName: "pipeline-executor",
|
|
18985
19226
|
capScope: "system",
|
|
@@ -19184,6 +19425,18 @@ Object.freeze({
|
|
|
19184
19425
|
addonId: null,
|
|
19185
19426
|
access: "view"
|
|
19186
19427
|
},
|
|
19428
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19429
|
+
capName: "pipeline-orchestrator",
|
|
19430
|
+
capScope: "system",
|
|
19431
|
+
addonId: null,
|
|
19432
|
+
access: "view"
|
|
19433
|
+
},
|
|
19434
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19435
|
+
capName: "pipeline-orchestrator",
|
|
19436
|
+
capScope: "system",
|
|
19437
|
+
addonId: null,
|
|
19438
|
+
access: "view"
|
|
19439
|
+
},
|
|
19187
19440
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
19188
19441
|
capName: "pipeline-orchestrator",
|
|
19189
19442
|
capScope: "system",
|
|
@@ -19268,6 +19521,12 @@ Object.freeze({
|
|
|
19268
19521
|
addonId: null,
|
|
19269
19522
|
access: "create"
|
|
19270
19523
|
},
|
|
19524
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19525
|
+
capName: "pipeline-orchestrator",
|
|
19526
|
+
capScope: "system",
|
|
19527
|
+
addonId: null,
|
|
19528
|
+
access: "create"
|
|
19529
|
+
},
|
|
19271
19530
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19272
19531
|
capName: "pipeline-orchestrator",
|
|
19273
19532
|
capScope: "system",
|
|
@@ -20741,6 +21000,32 @@ Object.freeze({
|
|
|
20741
21000
|
"network-access": "ingress",
|
|
20742
21001
|
"smtp-provider": "email"
|
|
20743
21002
|
});
|
|
21003
|
+
var frameworkSwapPackageSchema = object({
|
|
21004
|
+
name: string(),
|
|
21005
|
+
stagedPath: string(),
|
|
21006
|
+
backupPath: string(),
|
|
21007
|
+
toVersion: string(),
|
|
21008
|
+
fromVersion: string().nullable()
|
|
21009
|
+
});
|
|
21010
|
+
object({
|
|
21011
|
+
jobId: string(),
|
|
21012
|
+
taskId: string(),
|
|
21013
|
+
packages: array(frameworkSwapPackageSchema),
|
|
21014
|
+
requestedAtMs: number(),
|
|
21015
|
+
schemaVersion: literal(1)
|
|
21016
|
+
});
|
|
21017
|
+
object({
|
|
21018
|
+
jobId: string(),
|
|
21019
|
+
taskId: string(),
|
|
21020
|
+
backups: array(object({
|
|
21021
|
+
name: string(),
|
|
21022
|
+
backupPath: string(),
|
|
21023
|
+
livePath: string()
|
|
21024
|
+
})),
|
|
21025
|
+
appliedAtMs: number(),
|
|
21026
|
+
bootAttempts: number(),
|
|
21027
|
+
schemaVersion: literal(1)
|
|
21028
|
+
});
|
|
20744
21029
|
//#endregion
|
|
20745
21030
|
//#region src/custom-actions.ts
|
|
20746
21031
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-export-alexa",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Alexa Smart Home Skill export — hub-side OAuth provider + directive handler. The companion AWS Lambda forwards Alexa directives to this addon's /addon/export-alexa/directive endpoint.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|