@camstack/addon-tailscale 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/client/tailscale.addon.js +1 -1
- package/dist/client/tailscale.addon.mjs +1 -1
- package/dist/{dist-ByDiIgMC.js → dist-C3Gth0Ap.js} +315 -30
- package/dist/{dist-DcSssCOP.mjs → dist-Dr1YikI7.mjs} +315 -30
- package/dist/ingress/tailscale-ingress.addon.js +1 -1
- package/dist/ingress/tailscale-ingress.addon.mjs +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
enumerable: true
|
|
25
25
|
}) : target, mod));
|
|
26
26
|
//#endregion
|
|
27
|
-
const require_dist = require("../dist-
|
|
27
|
+
const require_dist = require("../dist-C3Gth0Ap.js");
|
|
28
28
|
let node_child_process = require("node:child_process");
|
|
29
29
|
let node_util = require("node:util");
|
|
30
30
|
let node_fs = require("node:fs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as networkAccessCapability, n as EventCategory, r as meshNetworkCapability, t as BaseAddon } from "../dist-
|
|
1
|
+
import { i as networkAccessCapability, n as EventCategory, r as meshNetworkCapability, t as BaseAddon } from "../dist-Dr1YikI7.mjs";
|
|
2
2
|
import { execFile, spawn } from "node:child_process";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
import * as fs from "node:fs";
|
|
@@ -4981,6 +4981,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
4981
4981
|
*/
|
|
4982
4982
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
4983
4983
|
/**
|
|
4984
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
4985
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
4986
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
4987
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
4988
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
4989
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
4990
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
4991
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
4992
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
4993
|
+
*/
|
|
4994
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
4995
|
+
/**
|
|
4984
4996
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
4985
4997
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
4986
4998
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5130,14 +5142,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5130
5142
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5131
5143
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5132
5144
|
/**
|
|
5133
|
-
*
|
|
5134
|
-
*
|
|
5135
|
-
*
|
|
5136
|
-
* to
|
|
5137
|
-
*
|
|
5138
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5145
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5146
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5147
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5148
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5149
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5139
5150
|
*/
|
|
5140
5151
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5152
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5153
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5141
5154
|
/**
|
|
5142
5155
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5143
5156
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -9144,6 +9157,24 @@ var DetectorOutputSchema = object({
|
|
|
9144
9157
|
inferenceMs: number(),
|
|
9145
9158
|
modelId: string()
|
|
9146
9159
|
});
|
|
9160
|
+
var EngineProvisioningSchema = object({
|
|
9161
|
+
runtimeId: _enum([
|
|
9162
|
+
"onnx",
|
|
9163
|
+
"openvino",
|
|
9164
|
+
"coreml"
|
|
9165
|
+
]).nullable(),
|
|
9166
|
+
device: string().nullable(),
|
|
9167
|
+
state: _enum([
|
|
9168
|
+
"idle",
|
|
9169
|
+
"installing",
|
|
9170
|
+
"verifying",
|
|
9171
|
+
"ready",
|
|
9172
|
+
"failed"
|
|
9173
|
+
]),
|
|
9174
|
+
progress: number().optional(),
|
|
9175
|
+
error: string().optional(),
|
|
9176
|
+
nextRetryAt: number().optional()
|
|
9177
|
+
});
|
|
9147
9178
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9148
9179
|
addonId: string(),
|
|
9149
9180
|
modelId: string(),
|
|
@@ -9212,7 +9243,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9212
9243
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9213
9244
|
kind: "mutation",
|
|
9214
9245
|
auth: "admin"
|
|
9215
|
-
}), method(_void(), record(string(), object({
|
|
9246
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9216
9247
|
modelId: string(),
|
|
9217
9248
|
settings: record(string(), unknown()).readonly()
|
|
9218
9249
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -12799,7 +12830,10 @@ var AgentAddonConfigSchema = object({
|
|
|
12799
12830
|
modelId: string(),
|
|
12800
12831
|
settings: record(string(), unknown()).readonly()
|
|
12801
12832
|
});
|
|
12802
|
-
var AgentPipelineSettingsSchema = object({
|
|
12833
|
+
var AgentPipelineSettingsSchema = object({
|
|
12834
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
12835
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
12836
|
+
});
|
|
12803
12837
|
var CameraPipelineForAgentSchema = object({
|
|
12804
12838
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
12805
12839
|
audio: object({
|
|
@@ -12901,6 +12935,133 @@ var GlobalMetricsSchema = object({
|
|
|
12901
12935
|
* capability providers.
|
|
12902
12936
|
*/
|
|
12903
12937
|
var CapabilityBindingsSchema = record(string(), string());
|
|
12938
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
12939
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
12940
|
+
camStreamId: string(),
|
|
12941
|
+
codec: string(),
|
|
12942
|
+
width: number(),
|
|
12943
|
+
height: number(),
|
|
12944
|
+
fps: number(),
|
|
12945
|
+
kind: string()
|
|
12946
|
+
})).readonly() });
|
|
12947
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
12948
|
+
var CameraAssignmentStatusSchema = object({
|
|
12949
|
+
detectionNodeId: string().nullable(),
|
|
12950
|
+
decoderNodeId: string().nullable(),
|
|
12951
|
+
audioNodeId: string().nullable(),
|
|
12952
|
+
pinned: object({
|
|
12953
|
+
detection: boolean(),
|
|
12954
|
+
decoder: boolean(),
|
|
12955
|
+
audio: boolean()
|
|
12956
|
+
}),
|
|
12957
|
+
reasons: object({
|
|
12958
|
+
detection: string().optional(),
|
|
12959
|
+
decoder: string().optional(),
|
|
12960
|
+
audio: string().optional()
|
|
12961
|
+
})
|
|
12962
|
+
});
|
|
12963
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
12964
|
+
var CameraBrokerStatusSchema = object({
|
|
12965
|
+
profiles: array(object({
|
|
12966
|
+
profile: string(),
|
|
12967
|
+
status: string(),
|
|
12968
|
+
codec: string(),
|
|
12969
|
+
width: number(),
|
|
12970
|
+
height: number(),
|
|
12971
|
+
subscribers: number(),
|
|
12972
|
+
inFps: number(),
|
|
12973
|
+
outFps: number()
|
|
12974
|
+
})).readonly(),
|
|
12975
|
+
webrtcSessions: number(),
|
|
12976
|
+
rtspRestream: boolean()
|
|
12977
|
+
});
|
|
12978
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
12979
|
+
var CameraDecoderShmSchema = object({
|
|
12980
|
+
framesWritten: number(),
|
|
12981
|
+
getFrameHits: number(),
|
|
12982
|
+
getFrameMisses: number(),
|
|
12983
|
+
budgetMb: number()
|
|
12984
|
+
});
|
|
12985
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
12986
|
+
var CameraDecoderStatusSchema = object({
|
|
12987
|
+
nodeId: string(),
|
|
12988
|
+
formats: array(string()).readonly(),
|
|
12989
|
+
sessionCount: number(),
|
|
12990
|
+
shm: CameraDecoderShmSchema
|
|
12991
|
+
});
|
|
12992
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
12993
|
+
var CameraMotionStatusSchema = object({
|
|
12994
|
+
enabled: boolean(),
|
|
12995
|
+
fps: number()
|
|
12996
|
+
});
|
|
12997
|
+
/** Detection provisioning sub-block. */
|
|
12998
|
+
var CameraDetectionProvisioningSchema = object({
|
|
12999
|
+
state: _enum([
|
|
13000
|
+
"idle",
|
|
13001
|
+
"installing",
|
|
13002
|
+
"verifying",
|
|
13003
|
+
"ready",
|
|
13004
|
+
"failed"
|
|
13005
|
+
]),
|
|
13006
|
+
error: string().optional()
|
|
13007
|
+
});
|
|
13008
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13009
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13010
|
+
"idle",
|
|
13011
|
+
"watching",
|
|
13012
|
+
"active"
|
|
13013
|
+
]);
|
|
13014
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13015
|
+
var CameraDetectionStatusSchema = object({
|
|
13016
|
+
nodeId: string(),
|
|
13017
|
+
engine: object({
|
|
13018
|
+
backend: string(),
|
|
13019
|
+
device: string()
|
|
13020
|
+
}),
|
|
13021
|
+
phase: CameraDetectionPhaseSchema,
|
|
13022
|
+
configuredFps: number(),
|
|
13023
|
+
actualFps: number(),
|
|
13024
|
+
queueDepth: number(),
|
|
13025
|
+
avgInferenceMs: number(),
|
|
13026
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13027
|
+
});
|
|
13028
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13029
|
+
var CameraAudioStatusSchema = object({
|
|
13030
|
+
nodeId: string(),
|
|
13031
|
+
enabled: boolean()
|
|
13032
|
+
});
|
|
13033
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13034
|
+
var CameraRecordingStatusSchema = object({
|
|
13035
|
+
mode: _enum([
|
|
13036
|
+
"off",
|
|
13037
|
+
"continuous",
|
|
13038
|
+
"events"
|
|
13039
|
+
]),
|
|
13040
|
+
active: boolean(),
|
|
13041
|
+
storageBytes: number()
|
|
13042
|
+
});
|
|
13043
|
+
/**
|
|
13044
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13045
|
+
*
|
|
13046
|
+
* The `assignment` and `source` blocks are always present.
|
|
13047
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13048
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13049
|
+
*
|
|
13050
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13051
|
+
*/
|
|
13052
|
+
var CameraStatusSchema = object({
|
|
13053
|
+
deviceId: number(),
|
|
13054
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13055
|
+
source: CameraSourceStatusSchema,
|
|
13056
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13057
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13058
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13059
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13060
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13061
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13062
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13063
|
+
fetchedAt: number()
|
|
13064
|
+
});
|
|
12904
13065
|
method(object({
|
|
12905
13066
|
deviceId: number(),
|
|
12906
13067
|
agentNodeId: string()
|
|
@@ -12968,6 +13129,12 @@ method(object({
|
|
|
12968
13129
|
}), {
|
|
12969
13130
|
kind: "mutation",
|
|
12970
13131
|
auth: "admin"
|
|
13132
|
+
}), method(object({
|
|
13133
|
+
agentNodeId: string(),
|
|
13134
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13135
|
+
}), object({ success: literal(true) }), {
|
|
13136
|
+
kind: "mutation",
|
|
13137
|
+
auth: "admin"
|
|
12971
13138
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
12972
13139
|
deviceId: number(),
|
|
12973
13140
|
addonId: string(),
|
|
@@ -12993,7 +13160,7 @@ method(object({
|
|
|
12993
13160
|
}), method(object({
|
|
12994
13161
|
deviceId: number(),
|
|
12995
13162
|
agentNodeId: string().optional()
|
|
12996
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13163
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
12997
13164
|
name: string(),
|
|
12998
13165
|
description: string().optional(),
|
|
12999
13166
|
config: CameraPipelineConfigSchema
|
|
@@ -16035,6 +16202,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
16035
16202
|
kind: "mutation",
|
|
16036
16203
|
auth: "admin"
|
|
16037
16204
|
});
|
|
16205
|
+
var jobKindSchema = _enum([
|
|
16206
|
+
"install",
|
|
16207
|
+
"update",
|
|
16208
|
+
"uninstall",
|
|
16209
|
+
"restart"
|
|
16210
|
+
]);
|
|
16211
|
+
var taskPhaseSchema = _enum([
|
|
16212
|
+
"queued",
|
|
16213
|
+
"fetching",
|
|
16214
|
+
"staged",
|
|
16215
|
+
"validating",
|
|
16216
|
+
"applying",
|
|
16217
|
+
"restarting",
|
|
16218
|
+
"applied",
|
|
16219
|
+
"done",
|
|
16220
|
+
"failed",
|
|
16221
|
+
"skipped"
|
|
16222
|
+
]);
|
|
16223
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16224
|
+
var taskLogEntrySchema = object({
|
|
16225
|
+
tsMs: number(),
|
|
16226
|
+
nodeId: string(),
|
|
16227
|
+
packageName: string(),
|
|
16228
|
+
phase: taskPhaseSchema,
|
|
16229
|
+
message: string()
|
|
16230
|
+
});
|
|
16231
|
+
var lifecycleTaskSchema = object({
|
|
16232
|
+
taskId: string(),
|
|
16233
|
+
nodeId: string(),
|
|
16234
|
+
packageName: string(),
|
|
16235
|
+
fromVersion: string().nullable(),
|
|
16236
|
+
toVersion: string(),
|
|
16237
|
+
target: taskTargetSchema,
|
|
16238
|
+
phase: taskPhaseSchema,
|
|
16239
|
+
stagedPath: string().nullable(),
|
|
16240
|
+
attempts: number(),
|
|
16241
|
+
steps: array(taskLogEntrySchema),
|
|
16242
|
+
error: string().nullable(),
|
|
16243
|
+
startedAtMs: number().nullable(),
|
|
16244
|
+
finishedAtMs: number().nullable()
|
|
16245
|
+
});
|
|
16246
|
+
var lifecycleJobStateSchema = _enum([
|
|
16247
|
+
"running",
|
|
16248
|
+
"completed",
|
|
16249
|
+
"failed",
|
|
16250
|
+
"partially-failed",
|
|
16251
|
+
"cancelled"
|
|
16252
|
+
]);
|
|
16253
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16254
|
+
"single",
|
|
16255
|
+
"bulk",
|
|
16256
|
+
"cluster"
|
|
16257
|
+
]);
|
|
16258
|
+
var lifecycleJobSchema = object({
|
|
16259
|
+
jobId: string(),
|
|
16260
|
+
kind: jobKindSchema,
|
|
16261
|
+
createdAtMs: number(),
|
|
16262
|
+
createdBy: string(),
|
|
16263
|
+
scope: lifecycleJobScopeSchema,
|
|
16264
|
+
tasks: array(lifecycleTaskSchema),
|
|
16265
|
+
state: lifecycleJobStateSchema,
|
|
16266
|
+
schemaVersion: literal(1)
|
|
16267
|
+
});
|
|
16038
16268
|
/**
|
|
16039
16269
|
* addons — system-scoped singleton capability for addon package
|
|
16040
16270
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16217,7 +16447,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16217
16447
|
"restarting",
|
|
16218
16448
|
"finalizing"
|
|
16219
16449
|
]);
|
|
16220
|
-
|
|
16450
|
+
object({
|
|
16221
16451
|
id: string(),
|
|
16222
16452
|
nodeId: string(),
|
|
16223
16453
|
startedAtMs: number(),
|
|
@@ -16320,20 +16550,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16320
16550
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16321
16551
|
kind: "mutation",
|
|
16322
16552
|
auth: "admin"
|
|
16323
|
-
}), method(object({
|
|
16324
|
-
nodeId: string(),
|
|
16325
|
-
items: array(object({
|
|
16326
|
-
name: string(),
|
|
16327
|
-
version: string(),
|
|
16328
|
-
isSystem: boolean()
|
|
16329
|
-
})).readonly()
|
|
16330
|
-
}), object({ id: string() }), {
|
|
16331
|
-
kind: "mutation",
|
|
16332
|
-
auth: "admin"
|
|
16333
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16334
|
-
kind: "mutation",
|
|
16335
|
-
auth: "admin"
|
|
16336
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16553
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16337
16554
|
kind: "mutation",
|
|
16338
16555
|
auth: "admin"
|
|
16339
16556
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16355,6 +16572,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16355
16572
|
kind: "mutation",
|
|
16356
16573
|
auth: "admin"
|
|
16357
16574
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16575
|
+
kind: _enum([
|
|
16576
|
+
"install",
|
|
16577
|
+
"update",
|
|
16578
|
+
"uninstall",
|
|
16579
|
+
"restart"
|
|
16580
|
+
]),
|
|
16581
|
+
targets: array(object({
|
|
16582
|
+
name: string().min(1),
|
|
16583
|
+
version: string().min(1)
|
|
16584
|
+
})).min(1),
|
|
16585
|
+
nodeIds: array(string()).optional()
|
|
16586
|
+
}), object({ jobId: string() }), {
|
|
16587
|
+
kind: "mutation",
|
|
16588
|
+
auth: "admin"
|
|
16589
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16590
|
+
kind: "mutation",
|
|
16591
|
+
auth: "admin"
|
|
16592
|
+
}), method(object({
|
|
16358
16593
|
addonId: string(),
|
|
16359
16594
|
level: LogLevelSchema$1.optional()
|
|
16360
16595
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16395,7 +16630,7 @@ Object.freeze({
|
|
|
16395
16630
|
addonId: null,
|
|
16396
16631
|
access: "create"
|
|
16397
16632
|
},
|
|
16398
|
-
"addons.
|
|
16633
|
+
"addons.cancelJob": {
|
|
16399
16634
|
capName: "addons",
|
|
16400
16635
|
capScope: "system",
|
|
16401
16636
|
addonId: null,
|
|
@@ -16425,7 +16660,7 @@ Object.freeze({
|
|
|
16425
16660
|
addonId: null,
|
|
16426
16661
|
access: "view"
|
|
16427
16662
|
},
|
|
16428
|
-
"addons.
|
|
16663
|
+
"addons.getJob": {
|
|
16429
16664
|
capName: "addons",
|
|
16430
16665
|
capScope: "system",
|
|
16431
16666
|
addonId: null,
|
|
@@ -16473,19 +16708,19 @@ Object.freeze({
|
|
|
16473
16708
|
addonId: null,
|
|
16474
16709
|
access: "view"
|
|
16475
16710
|
},
|
|
16476
|
-
"addons.
|
|
16711
|
+
"addons.listCapabilityProviders": {
|
|
16477
16712
|
capName: "addons",
|
|
16478
16713
|
capScope: "system",
|
|
16479
16714
|
addonId: null,
|
|
16480
16715
|
access: "view"
|
|
16481
16716
|
},
|
|
16482
|
-
"addons.
|
|
16717
|
+
"addons.listFrameworkPackages": {
|
|
16483
16718
|
capName: "addons",
|
|
16484
16719
|
capScope: "system",
|
|
16485
16720
|
addonId: null,
|
|
16486
16721
|
access: "view"
|
|
16487
16722
|
},
|
|
16488
|
-
"addons.
|
|
16723
|
+
"addons.listJobs": {
|
|
16489
16724
|
capName: "addons",
|
|
16490
16725
|
capScope: "system",
|
|
16491
16726
|
addonId: null,
|
|
@@ -16569,7 +16804,7 @@ Object.freeze({
|
|
|
16569
16804
|
addonId: null,
|
|
16570
16805
|
access: "create"
|
|
16571
16806
|
},
|
|
16572
|
-
"addons.
|
|
16807
|
+
"addons.startJob": {
|
|
16573
16808
|
capName: "addons",
|
|
16574
16809
|
capScope: "system",
|
|
16575
16810
|
addonId: null,
|
|
@@ -18795,6 +19030,12 @@ Object.freeze({
|
|
|
18795
19030
|
addonId: null,
|
|
18796
19031
|
access: "view"
|
|
18797
19032
|
},
|
|
19033
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
19034
|
+
capName: "pipeline-executor",
|
|
19035
|
+
capScope: "system",
|
|
19036
|
+
addonId: null,
|
|
19037
|
+
access: "view"
|
|
19038
|
+
},
|
|
18798
19039
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
18799
19040
|
capName: "pipeline-executor",
|
|
18800
19041
|
capScope: "system",
|
|
@@ -18999,6 +19240,18 @@ Object.freeze({
|
|
|
18999
19240
|
addonId: null,
|
|
19000
19241
|
access: "view"
|
|
19001
19242
|
},
|
|
19243
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19244
|
+
capName: "pipeline-orchestrator",
|
|
19245
|
+
capScope: "system",
|
|
19246
|
+
addonId: null,
|
|
19247
|
+
access: "view"
|
|
19248
|
+
},
|
|
19249
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19250
|
+
capName: "pipeline-orchestrator",
|
|
19251
|
+
capScope: "system",
|
|
19252
|
+
addonId: null,
|
|
19253
|
+
access: "view"
|
|
19254
|
+
},
|
|
19002
19255
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
19003
19256
|
capName: "pipeline-orchestrator",
|
|
19004
19257
|
capScope: "system",
|
|
@@ -19083,6 +19336,12 @@ Object.freeze({
|
|
|
19083
19336
|
addonId: null,
|
|
19084
19337
|
access: "create"
|
|
19085
19338
|
},
|
|
19339
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19340
|
+
capName: "pipeline-orchestrator",
|
|
19341
|
+
capScope: "system",
|
|
19342
|
+
addonId: null,
|
|
19343
|
+
access: "create"
|
|
19344
|
+
},
|
|
19086
19345
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19087
19346
|
capName: "pipeline-orchestrator",
|
|
19088
19347
|
capScope: "system",
|
|
@@ -20556,6 +20815,32 @@ Object.freeze({
|
|
|
20556
20815
|
"network-access": "ingress",
|
|
20557
20816
|
"smtp-provider": "email"
|
|
20558
20817
|
});
|
|
20818
|
+
var frameworkSwapPackageSchema = object({
|
|
20819
|
+
name: string(),
|
|
20820
|
+
stagedPath: string(),
|
|
20821
|
+
backupPath: string(),
|
|
20822
|
+
toVersion: string(),
|
|
20823
|
+
fromVersion: string().nullable()
|
|
20824
|
+
});
|
|
20825
|
+
object({
|
|
20826
|
+
jobId: string(),
|
|
20827
|
+
taskId: string(),
|
|
20828
|
+
packages: array(frameworkSwapPackageSchema),
|
|
20829
|
+
requestedAtMs: number(),
|
|
20830
|
+
schemaVersion: literal(1)
|
|
20831
|
+
});
|
|
20832
|
+
object({
|
|
20833
|
+
jobId: string(),
|
|
20834
|
+
taskId: string(),
|
|
20835
|
+
backups: array(object({
|
|
20836
|
+
name: string(),
|
|
20837
|
+
backupPath: string(),
|
|
20838
|
+
livePath: string()
|
|
20839
|
+
})),
|
|
20840
|
+
appliedAtMs: number(),
|
|
20841
|
+
bootAttempts: number(),
|
|
20842
|
+
schemaVersion: literal(1)
|
|
20843
|
+
});
|
|
20559
20844
|
//#endregion
|
|
20560
20845
|
Object.defineProperty(exports, "BaseAddon", {
|
|
20561
20846
|
enumerable: true,
|
|
@@ -4981,6 +4981,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
4981
4981
|
*/
|
|
4982
4982
|
EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
|
|
4983
4983
|
/**
|
|
4984
|
+
* Per-node detection-engine runtime-provisioning transition. Emitted by
|
|
4985
|
+
* the detection-pipeline provider on every state change of its lazy
|
|
4986
|
+
* engine-provisioning machine (idle → installing → verifying → ready,
|
|
4987
|
+
* or → failed with a `nextRetryAt`). Payload is the
|
|
4988
|
+
* `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
|
|
4989
|
+
* node. The Pipeline page subscribes to drive a live "installing
|
|
4990
|
+
* OpenVINO… / ready" indicator per node without polling
|
|
4991
|
+
* `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
|
|
4992
|
+
* also reads the cap snapshot on mount / reconnect. Phase 2.
|
|
4993
|
+
*/
|
|
4994
|
+
EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
|
|
4995
|
+
/**
|
|
4984
4996
|
* Cluster topology snapshot. Carries the same payload returned by
|
|
4985
4997
|
* `nodes.topology` (every reachable node + addons + processes).
|
|
4986
4998
|
* Emitted by the hub on any agent / addon lifecycle change
|
|
@@ -5130,14 +5142,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
5130
5142
|
EventCategory["DeviceSleeping"] = "device.sleeping";
|
|
5131
5143
|
EventCategory["RetentionCleanup"] = "retention.cleanup";
|
|
5132
5144
|
/**
|
|
5133
|
-
*
|
|
5134
|
-
*
|
|
5135
|
-
*
|
|
5136
|
-
* to
|
|
5137
|
-
*
|
|
5138
|
-
* Spec: docs/superpowers/specs/2026-05-21-addons-bulk-update-progress-design.md
|
|
5145
|
+
* Legacy bulk-update progress snapshot (payload `BulkUpdateState`). No longer
|
|
5146
|
+
* emitted — F3 removed the coordinator that produced it; "Update all" now runs
|
|
5147
|
+
* as one lifecycle engine job (`AddonsJobProgress`/`AddonsJobLog`). Retained
|
|
5148
|
+
* (with `BulkUpdateState`) only to avoid regenerating the event maps; removed
|
|
5149
|
+
* in F4 once live bulk progress is re-implemented over the engine events.
|
|
5139
5150
|
*/
|
|
5140
5151
|
EventCategory["AddonsBulkUpdateProgress"] = "addons.bulk-update-progress";
|
|
5152
|
+
EventCategory["AddonsJobProgress"] = "addons.job-progress";
|
|
5153
|
+
EventCategory["AddonsJobLog"] = "addons.job-log";
|
|
5141
5154
|
/**
|
|
5142
5155
|
* A container's child visibility toggled (hidden/shown). Emitted by the
|
|
5143
5156
|
* `accessories` cap when a child device is hidden or revealed.
|
|
@@ -9144,6 +9157,24 @@ var DetectorOutputSchema = object({
|
|
|
9144
9157
|
inferenceMs: number(),
|
|
9145
9158
|
modelId: string()
|
|
9146
9159
|
});
|
|
9160
|
+
var EngineProvisioningSchema = object({
|
|
9161
|
+
runtimeId: _enum([
|
|
9162
|
+
"onnx",
|
|
9163
|
+
"openvino",
|
|
9164
|
+
"coreml"
|
|
9165
|
+
]).nullable(),
|
|
9166
|
+
device: string().nullable(),
|
|
9167
|
+
state: _enum([
|
|
9168
|
+
"idle",
|
|
9169
|
+
"installing",
|
|
9170
|
+
"verifying",
|
|
9171
|
+
"ready",
|
|
9172
|
+
"failed"
|
|
9173
|
+
]),
|
|
9174
|
+
progress: number().optional(),
|
|
9175
|
+
error: string().optional(),
|
|
9176
|
+
nextRetryAt: number().optional()
|
|
9177
|
+
});
|
|
9147
9178
|
var PipelineStepInputSchema = lazy(() => object({
|
|
9148
9179
|
addonId: string(),
|
|
9149
9180
|
modelId: string(),
|
|
@@ -9212,7 +9243,7 @@ var PipelineRunResultBridge = custom();
|
|
|
9212
9243
|
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
|
|
9213
9244
|
kind: "mutation",
|
|
9214
9245
|
auth: "admin"
|
|
9215
|
-
}), method(_void(), record(string(), object({
|
|
9246
|
+
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
9216
9247
|
modelId: string(),
|
|
9217
9248
|
settings: record(string(), unknown()).readonly()
|
|
9218
9249
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -12799,7 +12830,10 @@ var AgentAddonConfigSchema = object({
|
|
|
12799
12830
|
modelId: string(),
|
|
12800
12831
|
settings: record(string(), unknown()).readonly()
|
|
12801
12832
|
});
|
|
12802
|
-
var AgentPipelineSettingsSchema = object({
|
|
12833
|
+
var AgentPipelineSettingsSchema = object({
|
|
12834
|
+
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
12835
|
+
maxCameras: number().int().nonnegative().nullable().default(null)
|
|
12836
|
+
});
|
|
12803
12837
|
var CameraPipelineForAgentSchema = object({
|
|
12804
12838
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
12805
12839
|
audio: object({
|
|
@@ -12901,6 +12935,133 @@ var GlobalMetricsSchema = object({
|
|
|
12901
12935
|
* capability providers.
|
|
12902
12936
|
*/
|
|
12903
12937
|
var CapabilityBindingsSchema = record(string(), string());
|
|
12938
|
+
/** Source block — always present; derives from the stream catalog. */
|
|
12939
|
+
var CameraSourceStatusSchema = object({ streams: array(object({
|
|
12940
|
+
camStreamId: string(),
|
|
12941
|
+
codec: string(),
|
|
12942
|
+
width: number(),
|
|
12943
|
+
height: number(),
|
|
12944
|
+
fps: number(),
|
|
12945
|
+
kind: string()
|
|
12946
|
+
})).readonly() });
|
|
12947
|
+
/** Assignment block — always present (orchestrator-local, no remote call). */
|
|
12948
|
+
var CameraAssignmentStatusSchema = object({
|
|
12949
|
+
detectionNodeId: string().nullable(),
|
|
12950
|
+
decoderNodeId: string().nullable(),
|
|
12951
|
+
audioNodeId: string().nullable(),
|
|
12952
|
+
pinned: object({
|
|
12953
|
+
detection: boolean(),
|
|
12954
|
+
decoder: boolean(),
|
|
12955
|
+
audio: boolean()
|
|
12956
|
+
}),
|
|
12957
|
+
reasons: object({
|
|
12958
|
+
detection: string().optional(),
|
|
12959
|
+
decoder: string().optional(),
|
|
12960
|
+
audio: string().optional()
|
|
12961
|
+
})
|
|
12962
|
+
});
|
|
12963
|
+
/** Broker block — null when the broker stage is unreachable or inactive. */
|
|
12964
|
+
var CameraBrokerStatusSchema = object({
|
|
12965
|
+
profiles: array(object({
|
|
12966
|
+
profile: string(),
|
|
12967
|
+
status: string(),
|
|
12968
|
+
codec: string(),
|
|
12969
|
+
width: number(),
|
|
12970
|
+
height: number(),
|
|
12971
|
+
subscribers: number(),
|
|
12972
|
+
inFps: number(),
|
|
12973
|
+
outFps: number()
|
|
12974
|
+
})).readonly(),
|
|
12975
|
+
webrtcSessions: number(),
|
|
12976
|
+
rtspRestream: boolean()
|
|
12977
|
+
});
|
|
12978
|
+
/** Shared-memory ring statistics within the decoder block. */
|
|
12979
|
+
var CameraDecoderShmSchema = object({
|
|
12980
|
+
framesWritten: number(),
|
|
12981
|
+
getFrameHits: number(),
|
|
12982
|
+
getFrameMisses: number(),
|
|
12983
|
+
budgetMb: number()
|
|
12984
|
+
});
|
|
12985
|
+
/** Decoder block — null when the decoder stage is unreachable or inactive. */
|
|
12986
|
+
var CameraDecoderStatusSchema = object({
|
|
12987
|
+
nodeId: string(),
|
|
12988
|
+
formats: array(string()).readonly(),
|
|
12989
|
+
sessionCount: number(),
|
|
12990
|
+
shm: CameraDecoderShmSchema
|
|
12991
|
+
});
|
|
12992
|
+
/** Motion block — null when motion detection is not active for this device. */
|
|
12993
|
+
var CameraMotionStatusSchema = object({
|
|
12994
|
+
enabled: boolean(),
|
|
12995
|
+
fps: number()
|
|
12996
|
+
});
|
|
12997
|
+
/** Detection provisioning sub-block. */
|
|
12998
|
+
var CameraDetectionProvisioningSchema = object({
|
|
12999
|
+
state: _enum([
|
|
13000
|
+
"idle",
|
|
13001
|
+
"installing",
|
|
13002
|
+
"verifying",
|
|
13003
|
+
"ready",
|
|
13004
|
+
"failed"
|
|
13005
|
+
]),
|
|
13006
|
+
error: string().optional()
|
|
13007
|
+
});
|
|
13008
|
+
/** Detection phase — derived from the runner's engine phase. */
|
|
13009
|
+
var CameraDetectionPhaseSchema = _enum([
|
|
13010
|
+
"idle",
|
|
13011
|
+
"watching",
|
|
13012
|
+
"active"
|
|
13013
|
+
]);
|
|
13014
|
+
/** Detection block — null when no detection node is assigned or reachable. */
|
|
13015
|
+
var CameraDetectionStatusSchema = object({
|
|
13016
|
+
nodeId: string(),
|
|
13017
|
+
engine: object({
|
|
13018
|
+
backend: string(),
|
|
13019
|
+
device: string()
|
|
13020
|
+
}),
|
|
13021
|
+
phase: CameraDetectionPhaseSchema,
|
|
13022
|
+
configuredFps: number(),
|
|
13023
|
+
actualFps: number(),
|
|
13024
|
+
queueDepth: number(),
|
|
13025
|
+
avgInferenceMs: number(),
|
|
13026
|
+
provisioning: CameraDetectionProvisioningSchema
|
|
13027
|
+
});
|
|
13028
|
+
/** Audio block — null when no audio node is assigned or reachable. */
|
|
13029
|
+
var CameraAudioStatusSchema = object({
|
|
13030
|
+
nodeId: string(),
|
|
13031
|
+
enabled: boolean()
|
|
13032
|
+
});
|
|
13033
|
+
/** Recording block — null when no recording cap is active for this device. */
|
|
13034
|
+
var CameraRecordingStatusSchema = object({
|
|
13035
|
+
mode: _enum([
|
|
13036
|
+
"off",
|
|
13037
|
+
"continuous",
|
|
13038
|
+
"events"
|
|
13039
|
+
]),
|
|
13040
|
+
active: boolean(),
|
|
13041
|
+
storageBytes: number()
|
|
13042
|
+
});
|
|
13043
|
+
/**
|
|
13044
|
+
* Aggregated per-camera pipeline status — server-composed, single call.
|
|
13045
|
+
*
|
|
13046
|
+
* The `assignment` and `source` blocks are always present.
|
|
13047
|
+
* Every other block is `null` when the stage is inactive or unreachable
|
|
13048
|
+
* during the bounded parallel fan-out in the orchestrator implementation.
|
|
13049
|
+
*
|
|
13050
|
+
* See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
|
|
13051
|
+
*/
|
|
13052
|
+
var CameraStatusSchema = object({
|
|
13053
|
+
deviceId: number(),
|
|
13054
|
+
assignment: CameraAssignmentStatusSchema,
|
|
13055
|
+
source: CameraSourceStatusSchema,
|
|
13056
|
+
broker: CameraBrokerStatusSchema.nullable(),
|
|
13057
|
+
decoder: CameraDecoderStatusSchema.nullable(),
|
|
13058
|
+
motion: CameraMotionStatusSchema.nullable(),
|
|
13059
|
+
detection: CameraDetectionStatusSchema.nullable(),
|
|
13060
|
+
audio: CameraAudioStatusSchema.nullable(),
|
|
13061
|
+
recording: CameraRecordingStatusSchema.nullable(),
|
|
13062
|
+
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
13063
|
+
fetchedAt: number()
|
|
13064
|
+
});
|
|
12904
13065
|
method(object({
|
|
12905
13066
|
deviceId: number(),
|
|
12906
13067
|
agentNodeId: string()
|
|
@@ -12968,6 +13129,12 @@ method(object({
|
|
|
12968
13129
|
}), {
|
|
12969
13130
|
kind: "mutation",
|
|
12970
13131
|
auth: "admin"
|
|
13132
|
+
}), method(object({
|
|
13133
|
+
agentNodeId: string(),
|
|
13134
|
+
maxCameras: number().int().nonnegative().nullable()
|
|
13135
|
+
}), object({ success: literal(true) }), {
|
|
13136
|
+
kind: "mutation",
|
|
13137
|
+
auth: "admin"
|
|
12971
13138
|
}), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
|
|
12972
13139
|
deviceId: number(),
|
|
12973
13140
|
addonId: string(),
|
|
@@ -12993,7 +13160,7 @@ method(object({
|
|
|
12993
13160
|
}), method(object({
|
|
12994
13161
|
deviceId: number(),
|
|
12995
13162
|
agentNodeId: string().optional()
|
|
12996
|
-
}), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
13163
|
+
}), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
|
|
12997
13164
|
name: string(),
|
|
12998
13165
|
description: string().optional(),
|
|
12999
13166
|
config: CameraPipelineConfigSchema
|
|
@@ -16035,6 +16202,69 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
16035
16202
|
kind: "mutation",
|
|
16036
16203
|
auth: "admin"
|
|
16037
16204
|
});
|
|
16205
|
+
var jobKindSchema = _enum([
|
|
16206
|
+
"install",
|
|
16207
|
+
"update",
|
|
16208
|
+
"uninstall",
|
|
16209
|
+
"restart"
|
|
16210
|
+
]);
|
|
16211
|
+
var taskPhaseSchema = _enum([
|
|
16212
|
+
"queued",
|
|
16213
|
+
"fetching",
|
|
16214
|
+
"staged",
|
|
16215
|
+
"validating",
|
|
16216
|
+
"applying",
|
|
16217
|
+
"restarting",
|
|
16218
|
+
"applied",
|
|
16219
|
+
"done",
|
|
16220
|
+
"failed",
|
|
16221
|
+
"skipped"
|
|
16222
|
+
]);
|
|
16223
|
+
var taskTargetSchema = _enum(["framework", "addon"]);
|
|
16224
|
+
var taskLogEntrySchema = object({
|
|
16225
|
+
tsMs: number(),
|
|
16226
|
+
nodeId: string(),
|
|
16227
|
+
packageName: string(),
|
|
16228
|
+
phase: taskPhaseSchema,
|
|
16229
|
+
message: string()
|
|
16230
|
+
});
|
|
16231
|
+
var lifecycleTaskSchema = object({
|
|
16232
|
+
taskId: string(),
|
|
16233
|
+
nodeId: string(),
|
|
16234
|
+
packageName: string(),
|
|
16235
|
+
fromVersion: string().nullable(),
|
|
16236
|
+
toVersion: string(),
|
|
16237
|
+
target: taskTargetSchema,
|
|
16238
|
+
phase: taskPhaseSchema,
|
|
16239
|
+
stagedPath: string().nullable(),
|
|
16240
|
+
attempts: number(),
|
|
16241
|
+
steps: array(taskLogEntrySchema),
|
|
16242
|
+
error: string().nullable(),
|
|
16243
|
+
startedAtMs: number().nullable(),
|
|
16244
|
+
finishedAtMs: number().nullable()
|
|
16245
|
+
});
|
|
16246
|
+
var lifecycleJobStateSchema = _enum([
|
|
16247
|
+
"running",
|
|
16248
|
+
"completed",
|
|
16249
|
+
"failed",
|
|
16250
|
+
"partially-failed",
|
|
16251
|
+
"cancelled"
|
|
16252
|
+
]);
|
|
16253
|
+
var lifecycleJobScopeSchema = _enum([
|
|
16254
|
+
"single",
|
|
16255
|
+
"bulk",
|
|
16256
|
+
"cluster"
|
|
16257
|
+
]);
|
|
16258
|
+
var lifecycleJobSchema = object({
|
|
16259
|
+
jobId: string(),
|
|
16260
|
+
kind: jobKindSchema,
|
|
16261
|
+
createdAtMs: number(),
|
|
16262
|
+
createdBy: string(),
|
|
16263
|
+
scope: lifecycleJobScopeSchema,
|
|
16264
|
+
tasks: array(lifecycleTaskSchema),
|
|
16265
|
+
state: lifecycleJobStateSchema,
|
|
16266
|
+
schemaVersion: literal(1)
|
|
16267
|
+
});
|
|
16038
16268
|
/**
|
|
16039
16269
|
* addons — system-scoped singleton capability for addon package
|
|
16040
16270
|
* management (install, update, configure, restart) and per-addon log
|
|
@@ -16217,7 +16447,7 @@ var BulkUpdatePhaseSchema = _enum([
|
|
|
16217
16447
|
"restarting",
|
|
16218
16448
|
"finalizing"
|
|
16219
16449
|
]);
|
|
16220
|
-
|
|
16450
|
+
object({
|
|
16221
16451
|
id: string(),
|
|
16222
16452
|
nodeId: string(),
|
|
16223
16453
|
startedAtMs: number(),
|
|
@@ -16320,20 +16550,7 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16320
16550
|
}), UpdateFrameworkPackageResultSchema, {
|
|
16321
16551
|
kind: "mutation",
|
|
16322
16552
|
auth: "admin"
|
|
16323
|
-
}), method(object({
|
|
16324
|
-
nodeId: string(),
|
|
16325
|
-
items: array(object({
|
|
16326
|
-
name: string(),
|
|
16327
|
-
version: string(),
|
|
16328
|
-
isSystem: boolean()
|
|
16329
|
-
})).readonly()
|
|
16330
|
-
}), object({ id: string() }), {
|
|
16331
|
-
kind: "mutation",
|
|
16332
|
-
auth: "admin"
|
|
16333
|
-
}), method(object({ id: string() }), BulkUpdateStateSchema.nullable(), { auth: "admin" }), method(object({ id: string() }), object({ cancelled: boolean() }), {
|
|
16334
|
-
kind: "mutation",
|
|
16335
|
-
auth: "admin"
|
|
16336
|
-
}), method(object({ nodeId: string().optional() }), array(BulkUpdateStateSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16553
|
+
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
16337
16554
|
kind: "mutation",
|
|
16338
16555
|
auth: "admin"
|
|
16339
16556
|
}), method(object({ packageName: string() }), object({ success: literal(true) }), {
|
|
@@ -16355,6 +16572,24 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
16355
16572
|
kind: "mutation",
|
|
16356
16573
|
auth: "admin"
|
|
16357
16574
|
}), method(CustomActionInputSchema, unknown(), { kind: "mutation" }), method(object({
|
|
16575
|
+
kind: _enum([
|
|
16576
|
+
"install",
|
|
16577
|
+
"update",
|
|
16578
|
+
"uninstall",
|
|
16579
|
+
"restart"
|
|
16580
|
+
]),
|
|
16581
|
+
targets: array(object({
|
|
16582
|
+
name: string().min(1),
|
|
16583
|
+
version: string().min(1)
|
|
16584
|
+
})).min(1),
|
|
16585
|
+
nodeIds: array(string()).optional()
|
|
16586
|
+
}), object({ jobId: string() }), {
|
|
16587
|
+
kind: "mutation",
|
|
16588
|
+
auth: "admin"
|
|
16589
|
+
}), method(object({ jobId: string() }), lifecycleJobSchema.nullable(), { auth: "admin" }), method(object({ activeOnly: boolean().optional() }), array(lifecycleJobSchema), { auth: "admin" }), method(object({ jobId: string() }), object({ cancelled: boolean() }), {
|
|
16590
|
+
kind: "mutation",
|
|
16591
|
+
auth: "admin"
|
|
16592
|
+
}), method(object({
|
|
16358
16593
|
addonId: string(),
|
|
16359
16594
|
level: LogLevelSchema$1.optional()
|
|
16360
16595
|
}), LogStreamEntrySchema, { kind: "subscription" });
|
|
@@ -16395,7 +16630,7 @@ Object.freeze({
|
|
|
16395
16630
|
addonId: null,
|
|
16396
16631
|
access: "create"
|
|
16397
16632
|
},
|
|
16398
|
-
"addons.
|
|
16633
|
+
"addons.cancelJob": {
|
|
16399
16634
|
capName: "addons",
|
|
16400
16635
|
capScope: "system",
|
|
16401
16636
|
addonId: null,
|
|
@@ -16425,7 +16660,7 @@ Object.freeze({
|
|
|
16425
16660
|
addonId: null,
|
|
16426
16661
|
access: "view"
|
|
16427
16662
|
},
|
|
16428
|
-
"addons.
|
|
16663
|
+
"addons.getJob": {
|
|
16429
16664
|
capName: "addons",
|
|
16430
16665
|
capScope: "system",
|
|
16431
16666
|
addonId: null,
|
|
@@ -16473,19 +16708,19 @@ Object.freeze({
|
|
|
16473
16708
|
addonId: null,
|
|
16474
16709
|
access: "view"
|
|
16475
16710
|
},
|
|
16476
|
-
"addons.
|
|
16711
|
+
"addons.listCapabilityProviders": {
|
|
16477
16712
|
capName: "addons",
|
|
16478
16713
|
capScope: "system",
|
|
16479
16714
|
addonId: null,
|
|
16480
16715
|
access: "view"
|
|
16481
16716
|
},
|
|
16482
|
-
"addons.
|
|
16717
|
+
"addons.listFrameworkPackages": {
|
|
16483
16718
|
capName: "addons",
|
|
16484
16719
|
capScope: "system",
|
|
16485
16720
|
addonId: null,
|
|
16486
16721
|
access: "view"
|
|
16487
16722
|
},
|
|
16488
|
-
"addons.
|
|
16723
|
+
"addons.listJobs": {
|
|
16489
16724
|
capName: "addons",
|
|
16490
16725
|
capScope: "system",
|
|
16491
16726
|
addonId: null,
|
|
@@ -16569,7 +16804,7 @@ Object.freeze({
|
|
|
16569
16804
|
addonId: null,
|
|
16570
16805
|
access: "create"
|
|
16571
16806
|
},
|
|
16572
|
-
"addons.
|
|
16807
|
+
"addons.startJob": {
|
|
16573
16808
|
capName: "addons",
|
|
16574
16809
|
capScope: "system",
|
|
16575
16810
|
addonId: null,
|
|
@@ -18795,6 +19030,12 @@ Object.freeze({
|
|
|
18795
19030
|
addonId: null,
|
|
18796
19031
|
access: "view"
|
|
18797
19032
|
},
|
|
19033
|
+
"pipelineExecutor.getEngineProvisioning": {
|
|
19034
|
+
capName: "pipeline-executor",
|
|
19035
|
+
capScope: "system",
|
|
19036
|
+
addonId: null,
|
|
19037
|
+
access: "view"
|
|
19038
|
+
},
|
|
18798
19039
|
"pipelineExecutor.getGlobalPipelineConfig": {
|
|
18799
19040
|
capName: "pipeline-executor",
|
|
18800
19041
|
capScope: "system",
|
|
@@ -18999,6 +19240,18 @@ Object.freeze({
|
|
|
18999
19240
|
addonId: null,
|
|
19000
19241
|
access: "view"
|
|
19001
19242
|
},
|
|
19243
|
+
"pipelineOrchestrator.getCameraStatus": {
|
|
19244
|
+
capName: "pipeline-orchestrator",
|
|
19245
|
+
capScope: "system",
|
|
19246
|
+
addonId: null,
|
|
19247
|
+
access: "view"
|
|
19248
|
+
},
|
|
19249
|
+
"pipelineOrchestrator.getCameraStatuses": {
|
|
19250
|
+
capName: "pipeline-orchestrator",
|
|
19251
|
+
capScope: "system",
|
|
19252
|
+
addonId: null,
|
|
19253
|
+
access: "view"
|
|
19254
|
+
},
|
|
19002
19255
|
"pipelineOrchestrator.getCameraStepOverrides": {
|
|
19003
19256
|
capName: "pipeline-orchestrator",
|
|
19004
19257
|
capScope: "system",
|
|
@@ -19083,6 +19336,12 @@ Object.freeze({
|
|
|
19083
19336
|
addonId: null,
|
|
19084
19337
|
access: "create"
|
|
19085
19338
|
},
|
|
19339
|
+
"pipelineOrchestrator.setAgentMaxCameras": {
|
|
19340
|
+
capName: "pipeline-orchestrator",
|
|
19341
|
+
capScope: "system",
|
|
19342
|
+
addonId: null,
|
|
19343
|
+
access: "create"
|
|
19344
|
+
},
|
|
19086
19345
|
"pipelineOrchestrator.setCameraPipelineForAgent": {
|
|
19087
19346
|
capName: "pipeline-orchestrator",
|
|
19088
19347
|
capScope: "system",
|
|
@@ -20556,5 +20815,31 @@ Object.freeze({
|
|
|
20556
20815
|
"network-access": "ingress",
|
|
20557
20816
|
"smtp-provider": "email"
|
|
20558
20817
|
});
|
|
20818
|
+
var frameworkSwapPackageSchema = object({
|
|
20819
|
+
name: string(),
|
|
20820
|
+
stagedPath: string(),
|
|
20821
|
+
backupPath: string(),
|
|
20822
|
+
toVersion: string(),
|
|
20823
|
+
fromVersion: string().nullable()
|
|
20824
|
+
});
|
|
20825
|
+
object({
|
|
20826
|
+
jobId: string(),
|
|
20827
|
+
taskId: string(),
|
|
20828
|
+
packages: array(frameworkSwapPackageSchema),
|
|
20829
|
+
requestedAtMs: number(),
|
|
20830
|
+
schemaVersion: literal(1)
|
|
20831
|
+
});
|
|
20832
|
+
object({
|
|
20833
|
+
jobId: string(),
|
|
20834
|
+
taskId: string(),
|
|
20835
|
+
backups: array(object({
|
|
20836
|
+
name: string(),
|
|
20837
|
+
backupPath: string(),
|
|
20838
|
+
livePath: string()
|
|
20839
|
+
})),
|
|
20840
|
+
appliedAtMs: number(),
|
|
20841
|
+
bootAttempts: number(),
|
|
20842
|
+
schemaVersion: literal(1)
|
|
20843
|
+
});
|
|
20559
20844
|
//#endregion
|
|
20560
20845
|
export { networkAccessCapability as i, EventCategory as n, meshNetworkCapability as r, BaseAddon as t };
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-C3Gth0Ap.js");
|
|
6
6
|
let node_child_process = require("node:child_process");
|
|
7
7
|
let node_util = require("node:util");
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as networkAccessCapability, n as EventCategory, t as BaseAddon } from "../dist-
|
|
1
|
+
import { i as networkAccessCapability, n as EventCategory, t as BaseAddon } from "../dist-Dr1YikI7.mjs";
|
|
2
2
|
import { execFile } from "node:child_process";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
import { randomUUID } from "node:crypto";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-tailscale",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Tailscale bundle for CamStack — joins the host to a tailnet (client) and exposes the hub via Serve/Funnel (ingress). Multi-entry npm package shipping 2 addons under a single bundle.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|