@camstack/types 1.2.61 → 1.2.63
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/capabilities/filesystem-browse.cap.d.ts +4 -3
- package/dist/capabilities/recording-export.cap.d.ts +2 -2
- package/dist/capabilities/storage-provider.cap.d.ts +11 -0
- package/dist/capabilities/storage.cap.d.ts +4 -0
- package/dist/generated/capability-router-map.d.ts +2 -2
- package/dist/index.js +32 -16
- package/dist/index.mjs +32 -16
- package/dist/interfaces/storage-location.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* filesystem-browse — per-node capability for browsing the node's local
|
|
3
|
-
* filesystem
|
|
3
|
+
* filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
|
|
4
|
+
* are sandboxed to operator-configured allowed roots (D115). Used by the
|
|
4
5
|
* admin "Add filesystem location" flow to pick a node + path. `mode:'per-node'`
|
|
5
6
|
* (one provider per node); the hub calls it with `{nodeId}` so the codegen
|
|
6
7
|
* routes to that exact node (default `nodeIdMode:'routing'`).
|
|
@@ -13,9 +14,9 @@ export declare const filesystemBrowseCapability: {
|
|
|
13
14
|
readonly mode: "singleton";
|
|
14
15
|
readonly internal: true;
|
|
15
16
|
readonly methods: {
|
|
16
|
-
/** The
|
|
17
|
+
/** The roots `createDir` is sandboxed to on this node. Browsing is not confined to them. */
|
|
17
18
|
readonly listAllowedRoots: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodString>>, import("./capability-definition.js").CapabilityMethodKind>;
|
|
18
|
-
/** Immediate subdirectories of `path`
|
|
19
|
+
/** Immediate subdirectories of any absolute `path` + free/total bytes. Read-only. */
|
|
19
20
|
readonly browse: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
|
|
20
21
|
path: z.ZodString;
|
|
21
22
|
}, z.core.$strip>, z.ZodObject<{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `recording-export` cap — render a footage time range into a single downloadable
|
|
3
3
|
* MP4 (regular / accelerated / decelerated / timelapse, ± audio), kept for a
|
|
4
4
|
* bounded lifetime with a durable history, auto-expiry, and optional
|
|
5
5
|
* delete-after-download.
|
|
@@ -183,7 +183,7 @@ export declare const ExportBytesSchema: z.ZodObject<{
|
|
|
183
183
|
}, z.core.$strip>;
|
|
184
184
|
export type ExportBytes = z.infer<typeof ExportBytesSchema>;
|
|
185
185
|
export declare const recordingExportCapability: {
|
|
186
|
-
readonly name: "
|
|
186
|
+
readonly name: "recording-export";
|
|
187
187
|
readonly scope: "system";
|
|
188
188
|
readonly mode: "singleton";
|
|
189
189
|
readonly methods: {
|
|
@@ -29,6 +29,7 @@ declare const BeginUploadInputSchema: z.ZodObject<{
|
|
|
29
29
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
30
30
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
31
31
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
32
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
32
33
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
33
34
|
totalBytes: z.ZodNumber;
|
|
34
35
|
availableBytes: z.ZodNumber;
|
|
@@ -63,6 +64,7 @@ declare const BeginDownloadInputSchema: z.ZodObject<{
|
|
|
63
64
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
64
65
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
65
66
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
67
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
66
68
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
67
69
|
totalBytes: z.ZodNumber;
|
|
68
70
|
availableBytes: z.ZodNumber;
|
|
@@ -143,6 +145,7 @@ export declare const storageProviderCapability: {
|
|
|
143
145
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
144
146
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
145
147
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
148
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
146
149
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
147
150
|
totalBytes: z.ZodNumber;
|
|
148
151
|
availableBytes: z.ZodNumber;
|
|
@@ -162,6 +165,7 @@ export declare const storageProviderCapability: {
|
|
|
162
165
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
163
166
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
164
167
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
168
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
165
169
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
166
170
|
totalBytes: z.ZodNumber;
|
|
167
171
|
availableBytes: z.ZodNumber;
|
|
@@ -182,6 +186,7 @@ export declare const storageProviderCapability: {
|
|
|
182
186
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
183
187
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
184
188
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
189
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
185
190
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
186
191
|
totalBytes: z.ZodNumber;
|
|
187
192
|
availableBytes: z.ZodNumber;
|
|
@@ -201,6 +206,7 @@ export declare const storageProviderCapability: {
|
|
|
201
206
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
202
207
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
203
208
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
209
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
204
210
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
205
211
|
totalBytes: z.ZodNumber;
|
|
206
212
|
availableBytes: z.ZodNumber;
|
|
@@ -220,6 +226,7 @@ export declare const storageProviderCapability: {
|
|
|
220
226
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
221
227
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
222
228
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
229
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
223
230
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
224
231
|
totalBytes: z.ZodNumber;
|
|
225
232
|
availableBytes: z.ZodNumber;
|
|
@@ -239,6 +246,7 @@ export declare const storageProviderCapability: {
|
|
|
239
246
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
240
247
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
241
248
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
249
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
242
250
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
243
251
|
totalBytes: z.ZodNumber;
|
|
244
252
|
availableBytes: z.ZodNumber;
|
|
@@ -258,6 +266,7 @@ export declare const storageProviderCapability: {
|
|
|
258
266
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
259
267
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
260
268
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
269
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
261
270
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
262
271
|
totalBytes: z.ZodNumber;
|
|
263
272
|
availableBytes: z.ZodNumber;
|
|
@@ -276,6 +285,7 @@ export declare const storageProviderCapability: {
|
|
|
276
285
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
277
286
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
278
287
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
288
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
279
289
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
280
290
|
totalBytes: z.ZodNumber;
|
|
281
291
|
availableBytes: z.ZodNumber;
|
|
@@ -309,6 +319,7 @@ export declare const storageProviderCapability: {
|
|
|
309
319
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
310
320
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
311
321
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
322
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
312
323
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
313
324
|
totalBytes: z.ZodNumber;
|
|
314
325
|
availableBytes: z.ZodNumber;
|
|
@@ -96,6 +96,7 @@ export declare const storageCapability: {
|
|
|
96
96
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
97
97
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
98
98
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
99
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
99
100
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
100
101
|
totalBytes: z.ZodNumber;
|
|
101
102
|
availableBytes: z.ZodNumber;
|
|
@@ -114,6 +115,7 @@ export declare const storageCapability: {
|
|
|
114
115
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
115
116
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
116
117
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
118
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
117
119
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
118
120
|
totalBytes: z.ZodNumber;
|
|
119
121
|
availableBytes: z.ZodNumber;
|
|
@@ -145,6 +147,7 @@ export declare const storageCapability: {
|
|
|
145
147
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
146
148
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
147
149
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
150
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
148
151
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
149
152
|
totalBytes: z.ZodNumber;
|
|
150
153
|
availableBytes: z.ZodNumber;
|
|
@@ -158,6 +161,7 @@ export declare const storageCapability: {
|
|
|
158
161
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
159
162
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
160
163
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
164
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
161
165
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
162
166
|
totalBytes: z.ZodNumber;
|
|
163
167
|
availableBytes: z.ZodNumber;
|
|
@@ -259,7 +259,7 @@ export declare const CAPABILITY_NAMES: {
|
|
|
259
259
|
readonly ptzAutotrack: "ptz-autotrack";
|
|
260
260
|
readonly reboot: "reboot";
|
|
261
261
|
readonly recording: "recording";
|
|
262
|
-
readonly recordingExport: "
|
|
262
|
+
readonly recordingExport: "recording-export";
|
|
263
263
|
readonly sceneMonitor: "scene-monitor";
|
|
264
264
|
readonly scriptRunner: "script-runner";
|
|
265
265
|
readonly serverManagement: "server-management";
|
|
@@ -462,7 +462,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
|
|
|
462
462
|
readonly zones: TRouter;
|
|
463
463
|
}
|
|
464
464
|
/** Capability names whose mode is `singleton` (125 caps). */
|
|
465
|
-
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "
|
|
465
|
+
export declare const SINGLETON_CAPABILITY_NAMES: readonly ["accessories", "addon-pages", "addon-settings", "addon-widgets", "addons", "admin-ui", "air-quality-sensor", "alarm-panel", "alerts", "ambient-light-sensor", "audio-analysis", "audio-analyzer", "audio-codec", "audio-metrics", "automation-control", "backup", "battery", "binary", "brightness", "button", "camera-credentials", "camera-pipeline-config", "camera-streams", "carbon-monoxide", "climate-control", "color", "connectivity", "consumables", "contact", "control", "core-blocks", "cover", "day-night", "decoder", "detection-pipeline", "device-adoption", "device-discovery", "device-manager", "device-ops", "device-state", "device-status", "doorbell", "enum-sensor", "event-emitter", "events", "face-gallery", "fan-control", "feature-probe", "filesystem-browse", "flood", "gas", "humidifier", "humidity-sensor", "image", "image-settings", "integrations", "intercom", "lawn-mower-control", "llm-runtime", "local-network", "lock-control", "media-player", "metrics-provider", "model-convert", "model-distributor", "motion", "motion-detection", "motion-trigger", "motion-zones", "native-object-detection", "network-quality", "nodes", "notification-rules", "notifier", "numeric-sensor", "osd", "osd-manager", "pet-feeder", "pipeline-analytics", "pipeline-executor", "pipeline-orchestrator", "pipeline-runner", "plate-gallery", "platform-probe", "power-meter", "presence", "pressure-sensor", "privacy-mask", "ptz", "ptz-autotrack", "reboot", "recording", "recording-export", "scene-monitor", "script-runner", "server-management", "settings-store", "smoke", "snapshot", "sso-bridge", "storage", "storage-migration", "stream-broker", "stream-catalog", "stream-params", "switch", "system", "tamper", "temperature-sensor", "terminal-session", "toast", "update", "user-management", "vacuum-control", "valve", "vector-store", "vibration", "videoclips", "viewer-ui", "water-heater", "weather", "webrtc-session", "zone-analytics", "zone-rules", "zones"];
|
|
466
466
|
/** Union of singleton capability names (literal string union). */
|
|
467
467
|
export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
|
|
468
468
|
/** Capability names whose mode is `collection` (24 caps). */
|
package/dist/index.js
CHANGED
|
@@ -1857,6 +1857,21 @@ var StorageLocationSchema = zod.z.object({
|
|
|
1857
1857
|
nodeId: zod.z.string().optional(),
|
|
1858
1858
|
isDefault: zod.z.boolean().default(false),
|
|
1859
1859
|
isSystem: zod.z.boolean().default(false),
|
|
1860
|
+
/**
|
|
1861
|
+
* Operator opt-in: whether consumers that BALANCE across several locations
|
|
1862
|
+
* of a type may write here. Recordings reads it today; event media and
|
|
1863
|
+
* backups are the next consumers, which is why the flag lives on the
|
|
1864
|
+
* location rather than in any one addon's store — nothing has to be
|
|
1865
|
+
* extended to add the next consumer.
|
|
1866
|
+
*
|
|
1867
|
+
* OPTIONAL, and ABSENT MEANS ACTIVE. Every location persisted before the
|
|
1868
|
+
* flag existed reads back with no flag and keeps working exactly as before;
|
|
1869
|
+
* that is the whole compat story, and it is why no migration ships with it.
|
|
1870
|
+
* A newly CREATED sibling is stamped `false` by the orchestrator (creating a
|
|
1871
|
+
* disk must not silently start writing to it); the default of a type is
|
|
1872
|
+
* always stamped `true`.
|
|
1873
|
+
*/
|
|
1874
|
+
enabled: zod.z.boolean().optional(),
|
|
1860
1875
|
/** COMPUTED at read time by the orchestrator (statfs of the backing volume
|
|
1861
1876
|
* for node-local locations it can reach) — never persisted, absent when the
|
|
1862
1877
|
* volume is remote/unreachable. The single capacity truth every UI reads. */
|
|
@@ -9296,7 +9311,8 @@ var embeddingEncoderCapability = {
|
|
|
9296
9311
|
//#region src/capabilities/filesystem-browse.cap.ts
|
|
9297
9312
|
/**
|
|
9298
9313
|
* filesystem-browse — per-node capability for browsing the node's local
|
|
9299
|
-
* filesystem
|
|
9314
|
+
* filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
|
|
9315
|
+
* are sandboxed to operator-configured allowed roots (D115). Used by the
|
|
9300
9316
|
* admin "Add filesystem location" flow to pick a node + path. `mode:'per-node'`
|
|
9301
9317
|
* (one provider per node); the hub calls it with `{nodeId}` so the codegen
|
|
9302
9318
|
* routes to that exact node (default `nodeIdMode:'routing'`).
|
|
@@ -9317,9 +9333,9 @@ var filesystemBrowseCapability = {
|
|
|
9317
9333
|
mode: "singleton",
|
|
9318
9334
|
internal: true,
|
|
9319
9335
|
methods: {
|
|
9320
|
-
/** The
|
|
9336
|
+
/** The roots `createDir` is sandboxed to on this node. Browsing is not confined to them. */
|
|
9321
9337
|
listAllowedRoots: require_sleep.method(zod.z.void(), zod.z.array(zod.z.string()).readonly(), { auth: "admin" }),
|
|
9322
|
-
/** Immediate subdirectories of `path`
|
|
9338
|
+
/** Immediate subdirectories of any absolute `path` + free/total bytes. Read-only. */
|
|
9323
9339
|
browse: require_sleep.method(zod.z.object({ path: zod.z.string() }), BrowseResultSchema, { auth: "admin" }),
|
|
9324
9340
|
/** Create a subdirectory (within an allowed root). Returns its absolute path. */
|
|
9325
9341
|
createDir: require_sleep.method(zod.z.object({ path: zod.z.string() }), zod.z.object({ path: zod.z.string() }), {
|
|
@@ -25882,7 +25898,7 @@ var recordingCapability = {
|
|
|
25882
25898
|
//#endregion
|
|
25883
25899
|
//#region src/capabilities/recording-export.cap.ts
|
|
25884
25900
|
/**
|
|
25885
|
-
* `
|
|
25901
|
+
* `recording-export` cap — render a footage time range into a single downloadable
|
|
25886
25902
|
* MP4 (regular / accelerated / decelerated / timelapse, ± audio), kept for a
|
|
25887
25903
|
* bounded lifetime with a durable history, auto-expiry, and optional
|
|
25888
25904
|
* delete-after-download.
|
|
@@ -26033,7 +26049,7 @@ var ExportBytesSchema = zod.z.object({
|
|
|
26033
26049
|
bytes: zod.z.number().int().nonnegative()
|
|
26034
26050
|
});
|
|
26035
26051
|
var recordingExportCapability = {
|
|
26036
|
-
name: "
|
|
26052
|
+
name: "recording-export",
|
|
26037
26053
|
scope: "system",
|
|
26038
26054
|
mode: "singleton",
|
|
26039
26055
|
methods: {
|
|
@@ -30948,7 +30964,7 @@ var CAPABILITY_NAMES = {
|
|
|
30948
30964
|
ptzAutotrack: "ptz-autotrack",
|
|
30949
30965
|
reboot: "reboot",
|
|
30950
30966
|
recording: "recording",
|
|
30951
|
-
recordingExport: "
|
|
30967
|
+
recordingExport: "recording-export",
|
|
30952
30968
|
sceneMonitor: "scene-monitor",
|
|
30953
30969
|
scriptRunner: "script-runner",
|
|
30954
30970
|
serverManagement: "server-management",
|
|
@@ -31435,7 +31451,7 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
31435
31451
|
},
|
|
31436
31452
|
{
|
|
31437
31453
|
key: "recordingExport",
|
|
31438
|
-
name: "
|
|
31454
|
+
name: "recording-export"
|
|
31439
31455
|
},
|
|
31440
31456
|
{
|
|
31441
31457
|
key: "sceneMonitor",
|
|
@@ -35950,43 +35966,43 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
35950
35966
|
access: "create"
|
|
35951
35967
|
},
|
|
35952
35968
|
"recordingExport.cancelExport": {
|
|
35953
|
-
capName: "
|
|
35969
|
+
capName: "recording-export",
|
|
35954
35970
|
capScope: "system",
|
|
35955
35971
|
addonId: null,
|
|
35956
35972
|
access: "create"
|
|
35957
35973
|
},
|
|
35958
35974
|
"recordingExport.createExport": {
|
|
35959
|
-
capName: "
|
|
35975
|
+
capName: "recording-export",
|
|
35960
35976
|
capScope: "system",
|
|
35961
35977
|
addonId: null,
|
|
35962
35978
|
access: "create"
|
|
35963
35979
|
},
|
|
35964
35980
|
"recordingExport.deleteExport": {
|
|
35965
|
-
capName: "
|
|
35981
|
+
capName: "recording-export",
|
|
35966
35982
|
capScope: "system",
|
|
35967
35983
|
addonId: null,
|
|
35968
35984
|
access: "delete"
|
|
35969
35985
|
},
|
|
35970
35986
|
"recordingExport.getDownloadUrl": {
|
|
35971
|
-
capName: "
|
|
35987
|
+
capName: "recording-export",
|
|
35972
35988
|
capScope: "system",
|
|
35973
35989
|
addonId: null,
|
|
35974
35990
|
access: "view"
|
|
35975
35991
|
},
|
|
35976
35992
|
"recordingExport.getExport": {
|
|
35977
|
-
capName: "
|
|
35993
|
+
capName: "recording-export",
|
|
35978
35994
|
capScope: "system",
|
|
35979
35995
|
addonId: null,
|
|
35980
35996
|
access: "view"
|
|
35981
35997
|
},
|
|
35982
35998
|
"recordingExport.listExports": {
|
|
35983
|
-
capName: "
|
|
35999
|
+
capName: "recording-export",
|
|
35984
36000
|
capScope: "system",
|
|
35985
36001
|
addonId: null,
|
|
35986
36002
|
access: "view"
|
|
35987
36003
|
},
|
|
35988
36004
|
"recordingExport.readExportBytes": {
|
|
35989
|
-
capName: "
|
|
36005
|
+
capName: "recording-export",
|
|
35990
36006
|
capScope: "system",
|
|
35991
36007
|
addonId: null,
|
|
35992
36008
|
access: "view"
|
|
@@ -37410,7 +37426,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
37410
37426
|
"ptz-autotrack",
|
|
37411
37427
|
"reboot",
|
|
37412
37428
|
"recording",
|
|
37413
|
-
"
|
|
37429
|
+
"recording-export",
|
|
37414
37430
|
"scene-monitor",
|
|
37415
37431
|
"script-runner",
|
|
37416
37432
|
"server-management",
|
|
@@ -37554,7 +37570,7 @@ var SYSTEM_CAP_NAMES = [
|
|
|
37554
37570
|
"plate-gallery",
|
|
37555
37571
|
"platform-probe",
|
|
37556
37572
|
"recording",
|
|
37557
|
-
"
|
|
37573
|
+
"recording-export",
|
|
37558
37574
|
"server-management",
|
|
37559
37575
|
"settings-store",
|
|
37560
37576
|
"smtp-provider",
|
package/dist/index.mjs
CHANGED
|
@@ -1856,6 +1856,21 @@ var StorageLocationSchema = z.object({
|
|
|
1856
1856
|
nodeId: z.string().optional(),
|
|
1857
1857
|
isDefault: z.boolean().default(false),
|
|
1858
1858
|
isSystem: z.boolean().default(false),
|
|
1859
|
+
/**
|
|
1860
|
+
* Operator opt-in: whether consumers that BALANCE across several locations
|
|
1861
|
+
* of a type may write here. Recordings reads it today; event media and
|
|
1862
|
+
* backups are the next consumers, which is why the flag lives on the
|
|
1863
|
+
* location rather than in any one addon's store — nothing has to be
|
|
1864
|
+
* extended to add the next consumer.
|
|
1865
|
+
*
|
|
1866
|
+
* OPTIONAL, and ABSENT MEANS ACTIVE. Every location persisted before the
|
|
1867
|
+
* flag existed reads back with no flag and keeps working exactly as before;
|
|
1868
|
+
* that is the whole compat story, and it is why no migration ships with it.
|
|
1869
|
+
* A newly CREATED sibling is stamped `false` by the orchestrator (creating a
|
|
1870
|
+
* disk must not silently start writing to it); the default of a type is
|
|
1871
|
+
* always stamped `true`.
|
|
1872
|
+
*/
|
|
1873
|
+
enabled: z.boolean().optional(),
|
|
1859
1874
|
/** COMPUTED at read time by the orchestrator (statfs of the backing volume
|
|
1860
1875
|
* for node-local locations it can reach) — never persisted, absent when the
|
|
1861
1876
|
* volume is remote/unreachable. The single capacity truth every UI reads. */
|
|
@@ -9295,7 +9310,8 @@ var embeddingEncoderCapability = {
|
|
|
9295
9310
|
//#region src/capabilities/filesystem-browse.cap.ts
|
|
9296
9311
|
/**
|
|
9297
9312
|
* filesystem-browse — per-node capability for browsing the node's local
|
|
9298
|
-
* filesystem
|
|
9313
|
+
* filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
|
|
9314
|
+
* are sandboxed to operator-configured allowed roots (D115). Used by the
|
|
9299
9315
|
* admin "Add filesystem location" flow to pick a node + path. `mode:'per-node'`
|
|
9300
9316
|
* (one provider per node); the hub calls it with `{nodeId}` so the codegen
|
|
9301
9317
|
* routes to that exact node (default `nodeIdMode:'routing'`).
|
|
@@ -9316,9 +9332,9 @@ var filesystemBrowseCapability = {
|
|
|
9316
9332
|
mode: "singleton",
|
|
9317
9333
|
internal: true,
|
|
9318
9334
|
methods: {
|
|
9319
|
-
/** The
|
|
9335
|
+
/** The roots `createDir` is sandboxed to on this node. Browsing is not confined to them. */
|
|
9320
9336
|
listAllowedRoots: method(z.void(), z.array(z.string()).readonly(), { auth: "admin" }),
|
|
9321
|
-
/** Immediate subdirectories of `path`
|
|
9337
|
+
/** Immediate subdirectories of any absolute `path` + free/total bytes. Read-only. */
|
|
9322
9338
|
browse: method(z.object({ path: z.string() }), BrowseResultSchema, { auth: "admin" }),
|
|
9323
9339
|
/** Create a subdirectory (within an allowed root). Returns its absolute path. */
|
|
9324
9340
|
createDir: method(z.object({ path: z.string() }), z.object({ path: z.string() }), {
|
|
@@ -25881,7 +25897,7 @@ var recordingCapability = {
|
|
|
25881
25897
|
//#endregion
|
|
25882
25898
|
//#region src/capabilities/recording-export.cap.ts
|
|
25883
25899
|
/**
|
|
25884
|
-
* `
|
|
25900
|
+
* `recording-export` cap — render a footage time range into a single downloadable
|
|
25885
25901
|
* MP4 (regular / accelerated / decelerated / timelapse, ± audio), kept for a
|
|
25886
25902
|
* bounded lifetime with a durable history, auto-expiry, and optional
|
|
25887
25903
|
* delete-after-download.
|
|
@@ -26032,7 +26048,7 @@ var ExportBytesSchema = z.object({
|
|
|
26032
26048
|
bytes: z.number().int().nonnegative()
|
|
26033
26049
|
});
|
|
26034
26050
|
var recordingExportCapability = {
|
|
26035
|
-
name: "
|
|
26051
|
+
name: "recording-export",
|
|
26036
26052
|
scope: "system",
|
|
26037
26053
|
mode: "singleton",
|
|
26038
26054
|
methods: {
|
|
@@ -30947,7 +30963,7 @@ var CAPABILITY_NAMES = {
|
|
|
30947
30963
|
ptzAutotrack: "ptz-autotrack",
|
|
30948
30964
|
reboot: "reboot",
|
|
30949
30965
|
recording: "recording",
|
|
30950
|
-
recordingExport: "
|
|
30966
|
+
recordingExport: "recording-export",
|
|
30951
30967
|
sceneMonitor: "scene-monitor",
|
|
30952
30968
|
scriptRunner: "script-runner",
|
|
30953
30969
|
serverManagement: "server-management",
|
|
@@ -31434,7 +31450,7 @@ var CAPABILITY_ROUTER_KEYS = [
|
|
|
31434
31450
|
},
|
|
31435
31451
|
{
|
|
31436
31452
|
key: "recordingExport",
|
|
31437
|
-
name: "
|
|
31453
|
+
name: "recording-export"
|
|
31438
31454
|
},
|
|
31439
31455
|
{
|
|
31440
31456
|
key: "sceneMonitor",
|
|
@@ -35949,43 +35965,43 @@ var METHOD_ACCESS_MAP = Object.freeze({
|
|
|
35949
35965
|
access: "create"
|
|
35950
35966
|
},
|
|
35951
35967
|
"recordingExport.cancelExport": {
|
|
35952
|
-
capName: "
|
|
35968
|
+
capName: "recording-export",
|
|
35953
35969
|
capScope: "system",
|
|
35954
35970
|
addonId: null,
|
|
35955
35971
|
access: "create"
|
|
35956
35972
|
},
|
|
35957
35973
|
"recordingExport.createExport": {
|
|
35958
|
-
capName: "
|
|
35974
|
+
capName: "recording-export",
|
|
35959
35975
|
capScope: "system",
|
|
35960
35976
|
addonId: null,
|
|
35961
35977
|
access: "create"
|
|
35962
35978
|
},
|
|
35963
35979
|
"recordingExport.deleteExport": {
|
|
35964
|
-
capName: "
|
|
35980
|
+
capName: "recording-export",
|
|
35965
35981
|
capScope: "system",
|
|
35966
35982
|
addonId: null,
|
|
35967
35983
|
access: "delete"
|
|
35968
35984
|
},
|
|
35969
35985
|
"recordingExport.getDownloadUrl": {
|
|
35970
|
-
capName: "
|
|
35986
|
+
capName: "recording-export",
|
|
35971
35987
|
capScope: "system",
|
|
35972
35988
|
addonId: null,
|
|
35973
35989
|
access: "view"
|
|
35974
35990
|
},
|
|
35975
35991
|
"recordingExport.getExport": {
|
|
35976
|
-
capName: "
|
|
35992
|
+
capName: "recording-export",
|
|
35977
35993
|
capScope: "system",
|
|
35978
35994
|
addonId: null,
|
|
35979
35995
|
access: "view"
|
|
35980
35996
|
},
|
|
35981
35997
|
"recordingExport.listExports": {
|
|
35982
|
-
capName: "
|
|
35998
|
+
capName: "recording-export",
|
|
35983
35999
|
capScope: "system",
|
|
35984
36000
|
addonId: null,
|
|
35985
36001
|
access: "view"
|
|
35986
36002
|
},
|
|
35987
36003
|
"recordingExport.readExportBytes": {
|
|
35988
|
-
capName: "
|
|
36004
|
+
capName: "recording-export",
|
|
35989
36005
|
capScope: "system",
|
|
35990
36006
|
addonId: null,
|
|
35991
36007
|
access: "view"
|
|
@@ -37409,7 +37425,7 @@ var KNOWN_CAP_NAMES = [
|
|
|
37409
37425
|
"ptz-autotrack",
|
|
37410
37426
|
"reboot",
|
|
37411
37427
|
"recording",
|
|
37412
|
-
"
|
|
37428
|
+
"recording-export",
|
|
37413
37429
|
"scene-monitor",
|
|
37414
37430
|
"script-runner",
|
|
37415
37431
|
"server-management",
|
|
@@ -37553,7 +37569,7 @@ var SYSTEM_CAP_NAMES = [
|
|
|
37553
37569
|
"plate-gallery",
|
|
37554
37570
|
"platform-probe",
|
|
37555
37571
|
"recording",
|
|
37556
|
-
"
|
|
37572
|
+
"recording-export",
|
|
37557
37573
|
"server-management",
|
|
37558
37574
|
"settings-store",
|
|
37559
37575
|
"smtp-provider",
|
|
@@ -48,6 +48,7 @@ export declare const StorageLocationSchema: z.ZodObject<{
|
|
|
48
48
|
nodeId: z.ZodOptional<z.ZodString>;
|
|
49
49
|
isDefault: z.ZodDefault<z.ZodBoolean>;
|
|
50
50
|
isSystem: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
51
52
|
capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
52
53
|
totalBytes: z.ZodNumber;
|
|
53
54
|
availableBytes: z.ZodNumber;
|