@camstack/addon-remote-storage 1.0.4 → 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/s3.addon.js CHANGED
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-uppUFqZL.js");
5
+ const require_shared = require("./shared-B6lKu5ns.js");
6
6
  let node_stream = require("node:stream");
7
7
  let _aws_sdk_client_s3 = require("@aws-sdk/client-s3");
8
8
  let _aws_sdk_lib_storage = require("@aws-sdk/lib-storage");
package/dist/s3.addon.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { c as storageProviderCapability, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as BaseAddon, t as createSessionId } from "./shared-uH6t_fje.mjs";
1
+ import { c as storageProviderCapability, i as rearmIdleAbort, n as getOptionalBasePath, o as scheduleIdleAbort, s as BaseAddon, t as createSessionId } from "./shared-hviBSoIY.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { DeleteObjectCommand, GetObjectCommand, HeadBucketCommand, HeadObjectCommand, ListObjectsV2Command, PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
4
4
  import { Upload } from "@aws-sdk/lib-storage";
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-uppUFqZL.js");
5
+ const require_shared = require("./shared-B6lKu5ns.js");
6
6
  let ssh2 = require("ssh2");
7
7
  let node_path = require("node:path");
8
8
  node_path = require_shared.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as storageProviderCapability, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as BaseAddon, t as createSessionId } from "./shared-uH6t_fje.mjs";
1
+ import { a as safeJoinRemotePath, c as storageProviderCapability, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as BaseAddon, t as createSessionId } from "./shared-hviBSoIY.mjs";
2
2
  import { Client } from "ssh2";
3
3
  import * as path from "node:path";
4
4
  //#region src/providers/sftp/sftp-config-schema.ts
@@ -5006,6 +5006,18 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
5006
5006
  */
5007
5007
  EventCategory["PipelineEngineMetricsSnapshot"] = "pipeline.engine-metrics-snapshot";
5008
5008
  /**
5009
+ * Per-node detection-engine runtime-provisioning transition. Emitted by
5010
+ * the detection-pipeline provider on every state change of its lazy
5011
+ * engine-provisioning machine (idle → installing → verifying → ready,
5012
+ * or → failed with a `nextRetryAt`). Payload is the
5013
+ * `EngineProvisioningState` snapshot; `event.source.nodeId` carries the
5014
+ * node. The Pipeline page subscribes to drive a live "installing
5015
+ * OpenVINO… / ready" indicator per node without polling
5016
+ * `pipelineExecutor.getEngineProvisioning`. Telemetry-grade (D8): the UI
5017
+ * also reads the cap snapshot on mount / reconnect. Phase 2.
5018
+ */
5019
+ EventCategory["PipelineEngineProvisioning"] = "pipeline.engine-provisioning";
5020
+ /**
5009
5021
  * Cluster topology snapshot. Carries the same payload returned by
5010
5022
  * `nodes.topology` (every reachable node + addons + processes).
5011
5023
  * Emitted by the hub on any agent / addon lifecycle change
@@ -9170,6 +9182,24 @@ var DetectorOutputSchema = object({
9170
9182
  inferenceMs: number(),
9171
9183
  modelId: string()
9172
9184
  });
9185
+ var EngineProvisioningSchema = object({
9186
+ runtimeId: _enum([
9187
+ "onnx",
9188
+ "openvino",
9189
+ "coreml"
9190
+ ]).nullable(),
9191
+ device: string().nullable(),
9192
+ state: _enum([
9193
+ "idle",
9194
+ "installing",
9195
+ "verifying",
9196
+ "ready",
9197
+ "failed"
9198
+ ]),
9199
+ progress: number().optional(),
9200
+ error: string().optional(),
9201
+ nextRetryAt: number().optional()
9202
+ });
9173
9203
  var PipelineStepInputSchema = lazy(() => object({
9174
9204
  addonId: string(),
9175
9205
  modelId: string(),
@@ -9238,7 +9268,7 @@ var PipelineRunResultBridge = custom();
9238
9268
  method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
9239
9269
  kind: "mutation",
9240
9270
  auth: "admin"
9241
- }), method(_void(), record(string(), object({
9271
+ }), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
9242
9272
  modelId: string(),
9243
9273
  settings: record(string(), unknown()).readonly()
9244
9274
  }))), method(object({ steps: record(string(), object({
@@ -12870,7 +12900,10 @@ var AgentAddonConfigSchema = object({
12870
12900
  modelId: string(),
12871
12901
  settings: record(string(), unknown()).readonly()
12872
12902
  });
12873
- var AgentPipelineSettingsSchema = object({ addonDefaults: record(string(), AgentAddonConfigSchema).readonly() });
12903
+ var AgentPipelineSettingsSchema = object({
12904
+ addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
12905
+ maxCameras: number().int().nonnegative().nullable().default(null)
12906
+ });
12874
12907
  var CameraPipelineForAgentSchema = object({
12875
12908
  steps: array(PipelineStepInputSchema).readonly(),
12876
12909
  audio: object({
@@ -12972,6 +13005,133 @@ var GlobalMetricsSchema = object({
12972
13005
  * capability providers.
12973
13006
  */
12974
13007
  var CapabilityBindingsSchema = record(string(), string());
13008
+ /** Source block — always present; derives from the stream catalog. */
13009
+ var CameraSourceStatusSchema = object({ streams: array(object({
13010
+ camStreamId: string(),
13011
+ codec: string(),
13012
+ width: number(),
13013
+ height: number(),
13014
+ fps: number(),
13015
+ kind: string()
13016
+ })).readonly() });
13017
+ /** Assignment block — always present (orchestrator-local, no remote call). */
13018
+ var CameraAssignmentStatusSchema = object({
13019
+ detectionNodeId: string().nullable(),
13020
+ decoderNodeId: string().nullable(),
13021
+ audioNodeId: string().nullable(),
13022
+ pinned: object({
13023
+ detection: boolean(),
13024
+ decoder: boolean(),
13025
+ audio: boolean()
13026
+ }),
13027
+ reasons: object({
13028
+ detection: string().optional(),
13029
+ decoder: string().optional(),
13030
+ audio: string().optional()
13031
+ })
13032
+ });
13033
+ /** Broker block — null when the broker stage is unreachable or inactive. */
13034
+ var CameraBrokerStatusSchema = object({
13035
+ profiles: array(object({
13036
+ profile: string(),
13037
+ status: string(),
13038
+ codec: string(),
13039
+ width: number(),
13040
+ height: number(),
13041
+ subscribers: number(),
13042
+ inFps: number(),
13043
+ outFps: number()
13044
+ })).readonly(),
13045
+ webrtcSessions: number(),
13046
+ rtspRestream: boolean()
13047
+ });
13048
+ /** Shared-memory ring statistics within the decoder block. */
13049
+ var CameraDecoderShmSchema = object({
13050
+ framesWritten: number(),
13051
+ getFrameHits: number(),
13052
+ getFrameMisses: number(),
13053
+ budgetMb: number()
13054
+ });
13055
+ /** Decoder block — null when the decoder stage is unreachable or inactive. */
13056
+ var CameraDecoderStatusSchema = object({
13057
+ nodeId: string(),
13058
+ formats: array(string()).readonly(),
13059
+ sessionCount: number(),
13060
+ shm: CameraDecoderShmSchema
13061
+ });
13062
+ /** Motion block — null when motion detection is not active for this device. */
13063
+ var CameraMotionStatusSchema = object({
13064
+ enabled: boolean(),
13065
+ fps: number()
13066
+ });
13067
+ /** Detection provisioning sub-block. */
13068
+ var CameraDetectionProvisioningSchema = object({
13069
+ state: _enum([
13070
+ "idle",
13071
+ "installing",
13072
+ "verifying",
13073
+ "ready",
13074
+ "failed"
13075
+ ]),
13076
+ error: string().optional()
13077
+ });
13078
+ /** Detection phase — derived from the runner's engine phase. */
13079
+ var CameraDetectionPhaseSchema = _enum([
13080
+ "idle",
13081
+ "watching",
13082
+ "active"
13083
+ ]);
13084
+ /** Detection block — null when no detection node is assigned or reachable. */
13085
+ var CameraDetectionStatusSchema = object({
13086
+ nodeId: string(),
13087
+ engine: object({
13088
+ backend: string(),
13089
+ device: string()
13090
+ }),
13091
+ phase: CameraDetectionPhaseSchema,
13092
+ configuredFps: number(),
13093
+ actualFps: number(),
13094
+ queueDepth: number(),
13095
+ avgInferenceMs: number(),
13096
+ provisioning: CameraDetectionProvisioningSchema
13097
+ });
13098
+ /** Audio block — null when no audio node is assigned or reachable. */
13099
+ var CameraAudioStatusSchema = object({
13100
+ nodeId: string(),
13101
+ enabled: boolean()
13102
+ });
13103
+ /** Recording block — null when no recording cap is active for this device. */
13104
+ var CameraRecordingStatusSchema = object({
13105
+ mode: _enum([
13106
+ "off",
13107
+ "continuous",
13108
+ "events"
13109
+ ]),
13110
+ active: boolean(),
13111
+ storageBytes: number()
13112
+ });
13113
+ /**
13114
+ * Aggregated per-camera pipeline status — server-composed, single call.
13115
+ *
13116
+ * The `assignment` and `source` blocks are always present.
13117
+ * Every other block is `null` when the stage is inactive or unreachable
13118
+ * during the bounded parallel fan-out in the orchestrator implementation.
13119
+ *
13120
+ * See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
13121
+ */
13122
+ var CameraStatusSchema = object({
13123
+ deviceId: number(),
13124
+ assignment: CameraAssignmentStatusSchema,
13125
+ source: CameraSourceStatusSchema,
13126
+ broker: CameraBrokerStatusSchema.nullable(),
13127
+ decoder: CameraDecoderStatusSchema.nullable(),
13128
+ motion: CameraMotionStatusSchema.nullable(),
13129
+ detection: CameraDetectionStatusSchema.nullable(),
13130
+ audio: CameraAudioStatusSchema.nullable(),
13131
+ recording: CameraRecordingStatusSchema.nullable(),
13132
+ /** Unix timestamp (ms) when this snapshot was composed server-side. */
13133
+ fetchedAt: number()
13134
+ });
12975
13135
  method(object({
12976
13136
  deviceId: number(),
12977
13137
  agentNodeId: string()
@@ -13039,6 +13199,12 @@ method(object({
13039
13199
  }), {
13040
13200
  kind: "mutation",
13041
13201
  auth: "admin"
13202
+ }), method(object({
13203
+ agentNodeId: string(),
13204
+ maxCameras: number().int().nonnegative().nullable()
13205
+ }), object({ success: literal(true) }), {
13206
+ kind: "mutation",
13207
+ auth: "admin"
13042
13208
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
13043
13209
  deviceId: number(),
13044
13210
  addonId: string(),
@@ -13064,7 +13230,7 @@ method(object({
13064
13230
  }), method(object({
13065
13231
  deviceId: number(),
13066
13232
  agentNodeId: string().optional()
13067
- }), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
13233
+ }), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
13068
13234
  name: string(),
13069
13235
  description: string().optional(),
13070
13236
  config: CameraPipelineConfigSchema
@@ -18856,6 +19022,12 @@ Object.freeze({
18856
19022
  addonId: null,
18857
19023
  access: "view"
18858
19024
  },
19025
+ "pipelineExecutor.getEngineProvisioning": {
19026
+ capName: "pipeline-executor",
19027
+ capScope: "system",
19028
+ addonId: null,
19029
+ access: "view"
19030
+ },
18859
19031
  "pipelineExecutor.getGlobalPipelineConfig": {
18860
19032
  capName: "pipeline-executor",
18861
19033
  capScope: "system",
@@ -19060,6 +19232,18 @@ Object.freeze({
19060
19232
  addonId: null,
19061
19233
  access: "view"
19062
19234
  },
19235
+ "pipelineOrchestrator.getCameraStatus": {
19236
+ capName: "pipeline-orchestrator",
19237
+ capScope: "system",
19238
+ addonId: null,
19239
+ access: "view"
19240
+ },
19241
+ "pipelineOrchestrator.getCameraStatuses": {
19242
+ capName: "pipeline-orchestrator",
19243
+ capScope: "system",
19244
+ addonId: null,
19245
+ access: "view"
19246
+ },
19063
19247
  "pipelineOrchestrator.getCameraStepOverrides": {
19064
19248
  capName: "pipeline-orchestrator",
19065
19249
  capScope: "system",
@@ -19144,6 +19328,12 @@ Object.freeze({
19144
19328
  addonId: null,
19145
19329
  access: "create"
19146
19330
  },
19331
+ "pipelineOrchestrator.setAgentMaxCameras": {
19332
+ capName: "pipeline-orchestrator",
19333
+ capScope: "system",
19334
+ addonId: null,
19335
+ access: "create"
19336
+ },
19147
19337
  "pipelineOrchestrator.setCameraPipelineForAgent": {
19148
19338
  capName: "pipeline-orchestrator",
19149
19339
  capScope: "system",
@@ -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
@@ -9147,6 +9159,24 @@ var DetectorOutputSchema = object({
9147
9159
  inferenceMs: number(),
9148
9160
  modelId: string()
9149
9161
  });
9162
+ var EngineProvisioningSchema = object({
9163
+ runtimeId: _enum([
9164
+ "onnx",
9165
+ "openvino",
9166
+ "coreml"
9167
+ ]).nullable(),
9168
+ device: string().nullable(),
9169
+ state: _enum([
9170
+ "idle",
9171
+ "installing",
9172
+ "verifying",
9173
+ "ready",
9174
+ "failed"
9175
+ ]),
9176
+ progress: number().optional(),
9177
+ error: string().optional(),
9178
+ nextRetryAt: number().optional()
9179
+ });
9150
9180
  var PipelineStepInputSchema = lazy(() => object({
9151
9181
  addonId: string(),
9152
9182
  modelId: string(),
@@ -9215,7 +9245,7 @@ var PipelineRunResultBridge = custom();
9215
9245
  method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(), PipelineEngineChoiceSchema, {
9216
9246
  kind: "mutation",
9217
9247
  auth: "admin"
9218
- }), method(_void(), record(string(), object({
9248
+ }), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
9219
9249
  modelId: string(),
9220
9250
  settings: record(string(), unknown()).readonly()
9221
9251
  }))), method(object({ steps: record(string(), object({
@@ -12847,7 +12877,10 @@ var AgentAddonConfigSchema = object({
12847
12877
  modelId: string(),
12848
12878
  settings: record(string(), unknown()).readonly()
12849
12879
  });
12850
- var AgentPipelineSettingsSchema = object({ addonDefaults: record(string(), AgentAddonConfigSchema).readonly() });
12880
+ var AgentPipelineSettingsSchema = object({
12881
+ addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
12882
+ maxCameras: number().int().nonnegative().nullable().default(null)
12883
+ });
12851
12884
  var CameraPipelineForAgentSchema = object({
12852
12885
  steps: array(PipelineStepInputSchema).readonly(),
12853
12886
  audio: object({
@@ -12949,6 +12982,133 @@ var GlobalMetricsSchema = object({
12949
12982
  * capability providers.
12950
12983
  */
12951
12984
  var CapabilityBindingsSchema = record(string(), string());
12985
+ /** Source block — always present; derives from the stream catalog. */
12986
+ var CameraSourceStatusSchema = object({ streams: array(object({
12987
+ camStreamId: string(),
12988
+ codec: string(),
12989
+ width: number(),
12990
+ height: number(),
12991
+ fps: number(),
12992
+ kind: string()
12993
+ })).readonly() });
12994
+ /** Assignment block — always present (orchestrator-local, no remote call). */
12995
+ var CameraAssignmentStatusSchema = object({
12996
+ detectionNodeId: string().nullable(),
12997
+ decoderNodeId: string().nullable(),
12998
+ audioNodeId: string().nullable(),
12999
+ pinned: object({
13000
+ detection: boolean(),
13001
+ decoder: boolean(),
13002
+ audio: boolean()
13003
+ }),
13004
+ reasons: object({
13005
+ detection: string().optional(),
13006
+ decoder: string().optional(),
13007
+ audio: string().optional()
13008
+ })
13009
+ });
13010
+ /** Broker block — null when the broker stage is unreachable or inactive. */
13011
+ var CameraBrokerStatusSchema = object({
13012
+ profiles: array(object({
13013
+ profile: string(),
13014
+ status: string(),
13015
+ codec: string(),
13016
+ width: number(),
13017
+ height: number(),
13018
+ subscribers: number(),
13019
+ inFps: number(),
13020
+ outFps: number()
13021
+ })).readonly(),
13022
+ webrtcSessions: number(),
13023
+ rtspRestream: boolean()
13024
+ });
13025
+ /** Shared-memory ring statistics within the decoder block. */
13026
+ var CameraDecoderShmSchema = object({
13027
+ framesWritten: number(),
13028
+ getFrameHits: number(),
13029
+ getFrameMisses: number(),
13030
+ budgetMb: number()
13031
+ });
13032
+ /** Decoder block — null when the decoder stage is unreachable or inactive. */
13033
+ var CameraDecoderStatusSchema = object({
13034
+ nodeId: string(),
13035
+ formats: array(string()).readonly(),
13036
+ sessionCount: number(),
13037
+ shm: CameraDecoderShmSchema
13038
+ });
13039
+ /** Motion block — null when motion detection is not active for this device. */
13040
+ var CameraMotionStatusSchema = object({
13041
+ enabled: boolean(),
13042
+ fps: number()
13043
+ });
13044
+ /** Detection provisioning sub-block. */
13045
+ var CameraDetectionProvisioningSchema = object({
13046
+ state: _enum([
13047
+ "idle",
13048
+ "installing",
13049
+ "verifying",
13050
+ "ready",
13051
+ "failed"
13052
+ ]),
13053
+ error: string().optional()
13054
+ });
13055
+ /** Detection phase — derived from the runner's engine phase. */
13056
+ var CameraDetectionPhaseSchema = _enum([
13057
+ "idle",
13058
+ "watching",
13059
+ "active"
13060
+ ]);
13061
+ /** Detection block — null when no detection node is assigned or reachable. */
13062
+ var CameraDetectionStatusSchema = object({
13063
+ nodeId: string(),
13064
+ engine: object({
13065
+ backend: string(),
13066
+ device: string()
13067
+ }),
13068
+ phase: CameraDetectionPhaseSchema,
13069
+ configuredFps: number(),
13070
+ actualFps: number(),
13071
+ queueDepth: number(),
13072
+ avgInferenceMs: number(),
13073
+ provisioning: CameraDetectionProvisioningSchema
13074
+ });
13075
+ /** Audio block — null when no audio node is assigned or reachable. */
13076
+ var CameraAudioStatusSchema = object({
13077
+ nodeId: string(),
13078
+ enabled: boolean()
13079
+ });
13080
+ /** Recording block — null when no recording cap is active for this device. */
13081
+ var CameraRecordingStatusSchema = object({
13082
+ mode: _enum([
13083
+ "off",
13084
+ "continuous",
13085
+ "events"
13086
+ ]),
13087
+ active: boolean(),
13088
+ storageBytes: number()
13089
+ });
13090
+ /**
13091
+ * Aggregated per-camera pipeline status — server-composed, single call.
13092
+ *
13093
+ * The `assignment` and `source` blocks are always present.
13094
+ * Every other block is `null` when the stage is inactive or unreachable
13095
+ * during the bounded parallel fan-out in the orchestrator implementation.
13096
+ *
13097
+ * See spec: `docs/superpowers/specs/2026-06-24-camera-status-aggregator-cap.md`
13098
+ */
13099
+ var CameraStatusSchema = object({
13100
+ deviceId: number(),
13101
+ assignment: CameraAssignmentStatusSchema,
13102
+ source: CameraSourceStatusSchema,
13103
+ broker: CameraBrokerStatusSchema.nullable(),
13104
+ decoder: CameraDecoderStatusSchema.nullable(),
13105
+ motion: CameraMotionStatusSchema.nullable(),
13106
+ detection: CameraDetectionStatusSchema.nullable(),
13107
+ audio: CameraAudioStatusSchema.nullable(),
13108
+ recording: CameraRecordingStatusSchema.nullable(),
13109
+ /** Unix timestamp (ms) when this snapshot was composed server-side. */
13110
+ fetchedAt: number()
13111
+ });
12952
13112
  method(object({
12953
13113
  deviceId: number(),
12954
13114
  agentNodeId: string()
@@ -13016,6 +13176,12 @@ method(object({
13016
13176
  }), {
13017
13177
  kind: "mutation",
13018
13178
  auth: "admin"
13179
+ }), method(object({
13180
+ agentNodeId: string(),
13181
+ maxCameras: number().int().nonnegative().nullable()
13182
+ }), object({ success: literal(true) }), {
13183
+ kind: "mutation",
13184
+ auth: "admin"
13019
13185
  }), method(object({ deviceId: number() }), CameraPipelineSettingsSchema.nullable()), method(object({
13020
13186
  deviceId: number(),
13021
13187
  addonId: string(),
@@ -13041,7 +13207,7 @@ method(object({
13041
13207
  }), method(object({
13042
13208
  deviceId: number(),
13043
13209
  agentNodeId: string().optional()
13044
- }), CameraPipelineConfigSchema), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
13210
+ }), CameraPipelineConfigSchema), method(object({ deviceId: number() }), CameraStatusSchema), method(object({ deviceIds: array(number()).optional() }), array(CameraStatusSchema).readonly()), method(_void(), array(PipelineTemplateSchema).readonly()), method(object({
13045
13211
  name: string(),
13046
13212
  description: string().optional(),
13047
13213
  config: CameraPipelineConfigSchema
@@ -18833,6 +18999,12 @@ Object.freeze({
18833
18999
  addonId: null,
18834
19000
  access: "view"
18835
19001
  },
19002
+ "pipelineExecutor.getEngineProvisioning": {
19003
+ capName: "pipeline-executor",
19004
+ capScope: "system",
19005
+ addonId: null,
19006
+ access: "view"
19007
+ },
18836
19008
  "pipelineExecutor.getGlobalPipelineConfig": {
18837
19009
  capName: "pipeline-executor",
18838
19010
  capScope: "system",
@@ -19037,6 +19209,18 @@ Object.freeze({
19037
19209
  addonId: null,
19038
19210
  access: "view"
19039
19211
  },
19212
+ "pipelineOrchestrator.getCameraStatus": {
19213
+ capName: "pipeline-orchestrator",
19214
+ capScope: "system",
19215
+ addonId: null,
19216
+ access: "view"
19217
+ },
19218
+ "pipelineOrchestrator.getCameraStatuses": {
19219
+ capName: "pipeline-orchestrator",
19220
+ capScope: "system",
19221
+ addonId: null,
19222
+ access: "view"
19223
+ },
19040
19224
  "pipelineOrchestrator.getCameraStepOverrides": {
19041
19225
  capName: "pipeline-orchestrator",
19042
19226
  capScope: "system",
@@ -19121,6 +19305,12 @@ Object.freeze({
19121
19305
  addonId: null,
19122
19306
  access: "create"
19123
19307
  },
19308
+ "pipelineOrchestrator.setAgentMaxCameras": {
19309
+ capName: "pipeline-orchestrator",
19310
+ capScope: "system",
19311
+ addonId: null,
19312
+ access: "create"
19313
+ },
19124
19314
  "pipelineOrchestrator.setCameraPipelineForAgent": {
19125
19315
  capName: "pipeline-orchestrator",
19126
19316
  capScope: "system",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_shared = require("./shared-uppUFqZL.js");
5
+ const require_shared = require("./shared-B6lKu5ns.js");
6
6
  let node_stream = require("node:stream");
7
7
  let webdav = require("webdav");
8
8
  //#region src/providers/webdav/webdav-config-schema.ts
@@ -1,4 +1,4 @@
1
- import { a as safeJoinRemotePath, c as storageProviderCapability, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as BaseAddon, t as createSessionId } from "./shared-uH6t_fje.mjs";
1
+ import { a as safeJoinRemotePath, c as storageProviderCapability, i as rearmIdleAbort, o as scheduleIdleAbort, r as getRequiredBasePath, s as BaseAddon, t as createSessionId } from "./shared-hviBSoIY.mjs";
2
2
  import { PassThrough } from "node:stream";
3
3
  import { AuthType, createClient } from "webdav";
4
4
  //#region src/providers/webdav/webdav-config-schema.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-remote-storage",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Remote storage providers (SFTP, S3, WebDAV) — unifies remote backends behind the storage-provider cap",
5
5
  "keywords": [
6
6
  "camstack",