@camstack/types 1.2.161 → 1.2.163

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.
Files changed (34) hide show
  1. package/dist/addon.js +14 -43
  2. package/dist/addon.mjs +14 -43
  3. package/dist/capabilities/alerts.cap.d.ts +5 -5
  4. package/dist/capabilities/index.d.ts +7 -5
  5. package/dist/capabilities/notifier.cap.d.ts +3 -3
  6. package/dist/capabilities/pet-feeder.cap.d.ts +4 -4
  7. package/dist/capabilities/snapshot.cap.d.ts +2 -2
  8. package/dist/capabilities/storage-occupancy.cap.d.ts +72 -0
  9. package/dist/capabilities/storage-provider.cap.d.ts +110 -11
  10. package/dist/capabilities/storage.cap.d.ts +43 -22
  11. package/dist/capabilities/stream-broker.cap.d.ts +1 -1
  12. package/dist/enums/event-category.d.ts +13 -0
  13. package/dist/enums.js +1 -1
  14. package/dist/enums.mjs +1 -1
  15. package/dist/{event-category-b8kBSOTT.js → event-category-BVo6ta6_.js} +13 -0
  16. package/dist/{event-category-zAv7pMUz.mjs → event-category-CnLqLOKs.mjs} +13 -0
  17. package/dist/generated/addon-api.d.ts +22 -7
  18. package/dist/generated/capability-router-map.d.ts +5 -2
  19. package/dist/generated/collection-array-methods.d.ts +1 -1
  20. package/dist/generated/method-access-map.d.ts +1 -1
  21. package/dist/generated/system-proxy.d.ts +1 -1
  22. package/dist/index.d.ts +17 -15
  23. package/dist/index.js +2049 -1702
  24. package/dist/index.mjs +2028 -1703
  25. package/dist/interfaces/event-bus.d.ts +19 -0
  26. package/dist/interfaces/storage-location-mode.d.ts +135 -0
  27. package/dist/interfaces/storage-location.d.ts +79 -4
  28. package/dist/node.d.ts +13 -11
  29. package/dist/node.js +935 -876
  30. package/dist/node.mjs +936 -879
  31. package/dist/{sleep-DDIFZGbc.js → sleep-BZtO-eFY.js} +1 -1
  32. package/dist/{sleep-Cfij6Jj9.mjs → sleep-Bd-Y4RUt.mjs} +1 -1
  33. package/dist/storage/physical-root.d.ts +25 -0
  34. package/package.json +1 -1
@@ -27,13 +27,22 @@ declare const BeginUploadInputSchema: z.ZodObject<{
27
27
  providerId: z.ZodString;
28
28
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
29
29
  nodeId: z.ZodOptional<z.ZodString>;
30
- isDefault: z.ZodDefault<z.ZodBoolean>;
31
30
  isSystem: z.ZodDefault<z.ZodBoolean>;
32
31
  enabled: z.ZodOptional<z.ZodBoolean>;
32
+ mode: z.ZodOptional<z.ZodEnum<{
33
+ readonly: "readonly";
34
+ active: "active";
35
+ drain: "drain";
36
+ disabled: "disabled";
37
+ }>>;
33
38
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
34
39
  totalBytes: z.ZodNumber;
35
40
  availableBytes: z.ZodNumber;
36
41
  }, z.core.$strip>>>;
42
+ owned: z.ZodOptional<z.ZodObject<{
43
+ bytes: z.ZodNumber;
44
+ measuredAtMs: z.ZodNumber;
45
+ }, z.core.$strip>>;
37
46
  createdAt: z.ZodNumber;
38
47
  updatedAt: z.ZodNumber;
39
48
  }, z.core.$strip>;
@@ -62,13 +71,22 @@ declare const BeginDownloadInputSchema: z.ZodObject<{
62
71
  providerId: z.ZodString;
63
72
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
64
73
  nodeId: z.ZodOptional<z.ZodString>;
65
- isDefault: z.ZodDefault<z.ZodBoolean>;
66
74
  isSystem: z.ZodDefault<z.ZodBoolean>;
67
75
  enabled: z.ZodOptional<z.ZodBoolean>;
76
+ mode: z.ZodOptional<z.ZodEnum<{
77
+ readonly: "readonly";
78
+ active: "active";
79
+ drain: "drain";
80
+ disabled: "disabled";
81
+ }>>;
68
82
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
69
83
  totalBytes: z.ZodNumber;
70
84
  availableBytes: z.ZodNumber;
71
85
  }, z.core.$strip>>>;
86
+ owned: z.ZodOptional<z.ZodObject<{
87
+ bytes: z.ZodNumber;
88
+ measuredAtMs: z.ZodNumber;
89
+ }, z.core.$strip>>;
72
90
  createdAt: z.ZodNumber;
73
91
  updatedAt: z.ZodNumber;
74
92
  }, z.core.$strip>;
@@ -158,13 +176,22 @@ export declare const storageProviderCapability: {
158
176
  providerId: z.ZodString;
159
177
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
160
178
  nodeId: z.ZodOptional<z.ZodString>;
161
- isDefault: z.ZodDefault<z.ZodBoolean>;
162
179
  isSystem: z.ZodDefault<z.ZodBoolean>;
163
180
  enabled: z.ZodOptional<z.ZodBoolean>;
181
+ mode: z.ZodOptional<z.ZodEnum<{
182
+ readonly: "readonly";
183
+ active: "active";
184
+ drain: "drain";
185
+ disabled: "disabled";
186
+ }>>;
164
187
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
165
188
  totalBytes: z.ZodNumber;
166
189
  availableBytes: z.ZodNumber;
167
190
  }, z.core.$strip>>>;
191
+ owned: z.ZodOptional<z.ZodObject<{
192
+ bytes: z.ZodNumber;
193
+ measuredAtMs: z.ZodNumber;
194
+ }, z.core.$strip>>;
168
195
  createdAt: z.ZodNumber;
169
196
  updatedAt: z.ZodNumber;
170
197
  }, z.core.$strip>;
@@ -178,13 +205,22 @@ export declare const storageProviderCapability: {
178
205
  providerId: z.ZodString;
179
206
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
180
207
  nodeId: z.ZodOptional<z.ZodString>;
181
- isDefault: z.ZodDefault<z.ZodBoolean>;
182
208
  isSystem: z.ZodDefault<z.ZodBoolean>;
183
209
  enabled: z.ZodOptional<z.ZodBoolean>;
210
+ mode: z.ZodOptional<z.ZodEnum<{
211
+ readonly: "readonly";
212
+ active: "active";
213
+ drain: "drain";
214
+ disabled: "disabled";
215
+ }>>;
184
216
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
185
217
  totalBytes: z.ZodNumber;
186
218
  availableBytes: z.ZodNumber;
187
219
  }, z.core.$strip>>>;
220
+ owned: z.ZodOptional<z.ZodObject<{
221
+ bytes: z.ZodNumber;
222
+ measuredAtMs: z.ZodNumber;
223
+ }, z.core.$strip>>;
188
224
  createdAt: z.ZodNumber;
189
225
  updatedAt: z.ZodNumber;
190
226
  }, z.core.$strip>;
@@ -199,13 +235,22 @@ export declare const storageProviderCapability: {
199
235
  providerId: z.ZodString;
200
236
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
201
237
  nodeId: z.ZodOptional<z.ZodString>;
202
- isDefault: z.ZodDefault<z.ZodBoolean>;
203
238
  isSystem: z.ZodDefault<z.ZodBoolean>;
204
239
  enabled: z.ZodOptional<z.ZodBoolean>;
240
+ mode: z.ZodOptional<z.ZodEnum<{
241
+ readonly: "readonly";
242
+ active: "active";
243
+ drain: "drain";
244
+ disabled: "disabled";
245
+ }>>;
205
246
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
206
247
  totalBytes: z.ZodNumber;
207
248
  availableBytes: z.ZodNumber;
208
249
  }, z.core.$strip>>>;
250
+ owned: z.ZodOptional<z.ZodObject<{
251
+ bytes: z.ZodNumber;
252
+ measuredAtMs: z.ZodNumber;
253
+ }, z.core.$strip>>;
209
254
  createdAt: z.ZodNumber;
210
255
  updatedAt: z.ZodNumber;
211
256
  }, z.core.$strip>;
@@ -219,13 +264,22 @@ export declare const storageProviderCapability: {
219
264
  providerId: z.ZodString;
220
265
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
221
266
  nodeId: z.ZodOptional<z.ZodString>;
222
- isDefault: z.ZodDefault<z.ZodBoolean>;
223
267
  isSystem: z.ZodDefault<z.ZodBoolean>;
224
268
  enabled: z.ZodOptional<z.ZodBoolean>;
269
+ mode: z.ZodOptional<z.ZodEnum<{
270
+ readonly: "readonly";
271
+ active: "active";
272
+ drain: "drain";
273
+ disabled: "disabled";
274
+ }>>;
225
275
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
226
276
  totalBytes: z.ZodNumber;
227
277
  availableBytes: z.ZodNumber;
228
278
  }, z.core.$strip>>>;
279
+ owned: z.ZodOptional<z.ZodObject<{
280
+ bytes: z.ZodNumber;
281
+ measuredAtMs: z.ZodNumber;
282
+ }, z.core.$strip>>;
229
283
  createdAt: z.ZodNumber;
230
284
  updatedAt: z.ZodNumber;
231
285
  }, z.core.$strip>;
@@ -239,13 +293,22 @@ export declare const storageProviderCapability: {
239
293
  providerId: z.ZodString;
240
294
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
241
295
  nodeId: z.ZodOptional<z.ZodString>;
242
- isDefault: z.ZodDefault<z.ZodBoolean>;
243
296
  isSystem: z.ZodDefault<z.ZodBoolean>;
244
297
  enabled: z.ZodOptional<z.ZodBoolean>;
298
+ mode: z.ZodOptional<z.ZodEnum<{
299
+ readonly: "readonly";
300
+ active: "active";
301
+ drain: "drain";
302
+ disabled: "disabled";
303
+ }>>;
245
304
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
246
305
  totalBytes: z.ZodNumber;
247
306
  availableBytes: z.ZodNumber;
248
307
  }, z.core.$strip>>>;
308
+ owned: z.ZodOptional<z.ZodObject<{
309
+ bytes: z.ZodNumber;
310
+ measuredAtMs: z.ZodNumber;
311
+ }, z.core.$strip>>;
249
312
  createdAt: z.ZodNumber;
250
313
  updatedAt: z.ZodNumber;
251
314
  }, z.core.$strip>;
@@ -259,13 +322,22 @@ export declare const storageProviderCapability: {
259
322
  providerId: z.ZodString;
260
323
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
261
324
  nodeId: z.ZodOptional<z.ZodString>;
262
- isDefault: z.ZodDefault<z.ZodBoolean>;
263
325
  isSystem: z.ZodDefault<z.ZodBoolean>;
264
326
  enabled: z.ZodOptional<z.ZodBoolean>;
327
+ mode: z.ZodOptional<z.ZodEnum<{
328
+ readonly: "readonly";
329
+ active: "active";
330
+ drain: "drain";
331
+ disabled: "disabled";
332
+ }>>;
265
333
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
266
334
  totalBytes: z.ZodNumber;
267
335
  availableBytes: z.ZodNumber;
268
336
  }, z.core.$strip>>>;
337
+ owned: z.ZodOptional<z.ZodObject<{
338
+ bytes: z.ZodNumber;
339
+ measuredAtMs: z.ZodNumber;
340
+ }, z.core.$strip>>;
269
341
  createdAt: z.ZodNumber;
270
342
  updatedAt: z.ZodNumber;
271
343
  }, z.core.$strip>;
@@ -279,13 +351,22 @@ export declare const storageProviderCapability: {
279
351
  providerId: z.ZodString;
280
352
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
281
353
  nodeId: z.ZodOptional<z.ZodString>;
282
- isDefault: z.ZodDefault<z.ZodBoolean>;
283
354
  isSystem: z.ZodDefault<z.ZodBoolean>;
284
355
  enabled: z.ZodOptional<z.ZodBoolean>;
356
+ mode: z.ZodOptional<z.ZodEnum<{
357
+ readonly: "readonly";
358
+ active: "active";
359
+ drain: "drain";
360
+ disabled: "disabled";
361
+ }>>;
285
362
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
286
363
  totalBytes: z.ZodNumber;
287
364
  availableBytes: z.ZodNumber;
288
365
  }, z.core.$strip>>>;
366
+ owned: z.ZodOptional<z.ZodObject<{
367
+ bytes: z.ZodNumber;
368
+ measuredAtMs: z.ZodNumber;
369
+ }, z.core.$strip>>;
289
370
  createdAt: z.ZodNumber;
290
371
  updatedAt: z.ZodNumber;
291
372
  }, z.core.$strip>;
@@ -298,13 +379,22 @@ export declare const storageProviderCapability: {
298
379
  providerId: z.ZodString;
299
380
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
300
381
  nodeId: z.ZodOptional<z.ZodString>;
301
- isDefault: z.ZodDefault<z.ZodBoolean>;
302
382
  isSystem: z.ZodDefault<z.ZodBoolean>;
303
383
  enabled: z.ZodOptional<z.ZodBoolean>;
384
+ mode: z.ZodOptional<z.ZodEnum<{
385
+ readonly: "readonly";
386
+ active: "active";
387
+ drain: "drain";
388
+ disabled: "disabled";
389
+ }>>;
304
390
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
305
391
  totalBytes: z.ZodNumber;
306
392
  availableBytes: z.ZodNumber;
307
393
  }, z.core.$strip>>>;
394
+ owned: z.ZodOptional<z.ZodObject<{
395
+ bytes: z.ZodNumber;
396
+ measuredAtMs: z.ZodNumber;
397
+ }, z.core.$strip>>;
308
398
  createdAt: z.ZodNumber;
309
399
  updatedAt: z.ZodNumber;
310
400
  }, z.core.$strip>;
@@ -332,13 +422,22 @@ export declare const storageProviderCapability: {
332
422
  providerId: z.ZodString;
333
423
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
334
424
  nodeId: z.ZodOptional<z.ZodString>;
335
- isDefault: z.ZodDefault<z.ZodBoolean>;
336
425
  isSystem: z.ZodDefault<z.ZodBoolean>;
337
426
  enabled: z.ZodOptional<z.ZodBoolean>;
427
+ mode: z.ZodOptional<z.ZodEnum<{
428
+ readonly: "readonly";
429
+ active: "active";
430
+ drain: "drain";
431
+ disabled: "disabled";
432
+ }>>;
338
433
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
339
434
  totalBytes: z.ZodNumber;
340
435
  availableBytes: z.ZodNumber;
341
436
  }, z.core.$strip>>>;
437
+ owned: z.ZodOptional<z.ZodObject<{
438
+ bytes: z.ZodNumber;
439
+ measuredAtMs: z.ZodNumber;
440
+ }, z.core.$strip>>;
342
441
  createdAt: z.ZodNumber;
343
442
  updatedAt: z.ZodNumber;
344
443
  }, z.core.$strip>;
@@ -94,35 +94,25 @@ export declare const storageCapability: {
94
94
  providerId: z.ZodString;
95
95
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
96
96
  nodeId: z.ZodOptional<z.ZodString>;
97
- isDefault: z.ZodDefault<z.ZodBoolean>;
98
97
  isSystem: z.ZodDefault<z.ZodBoolean>;
99
98
  enabled: z.ZodOptional<z.ZodBoolean>;
99
+ mode: z.ZodOptional<z.ZodEnum<{
100
+ readonly: "readonly";
101
+ active: "active";
102
+ drain: "drain";
103
+ disabled: "disabled";
104
+ }>>;
100
105
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
101
106
  totalBytes: z.ZodNumber;
102
107
  availableBytes: z.ZodNumber;
103
108
  }, z.core.$strip>>>;
109
+ owned: z.ZodOptional<z.ZodObject<{
110
+ bytes: z.ZodNumber;
111
+ measuredAtMs: z.ZodNumber;
112
+ }, z.core.$strip>>;
104
113
  createdAt: z.ZodNumber;
105
114
  updatedAt: z.ZodNumber;
106
115
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
107
- readonly getDefaultLocation: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
108
- type: z.ZodString;
109
- }, z.core.$strip>, z.ZodNullable<z.ZodObject<{
110
- id: z.ZodString;
111
- type: z.ZodString;
112
- displayName: z.ZodString;
113
- providerId: z.ZodString;
114
- config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
115
- nodeId: z.ZodOptional<z.ZodString>;
116
- isDefault: z.ZodDefault<z.ZodBoolean>;
117
- isSystem: z.ZodDefault<z.ZodBoolean>;
118
- enabled: z.ZodOptional<z.ZodBoolean>;
119
- capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
120
- totalBytes: z.ZodNumber;
121
- availableBytes: z.ZodNumber;
122
- }, z.core.$strip>>>;
123
- createdAt: z.ZodNumber;
124
- updatedAt: z.ZodNumber;
125
- }, z.core.$strip>>, import("./capability-definition.js").CapabilityMethodKind>;
126
116
  readonly listLocationDeclarations: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
127
117
  id: z.ZodString;
128
118
  displayName: z.ZodString;
@@ -150,12 +140,21 @@ export declare const storageCapability: {
150
140
  displayName: z.ZodString;
151
141
  providerId: z.ZodString;
152
142
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
153
- isDefault: z.ZodDefault<z.ZodBoolean>;
154
143
  isSystem: z.ZodDefault<z.ZodBoolean>;
144
+ mode: z.ZodOptional<z.ZodEnum<{
145
+ readonly: "readonly";
146
+ active: "active";
147
+ drain: "drain";
148
+ disabled: "disabled";
149
+ }>>;
155
150
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
156
151
  totalBytes: z.ZodNumber;
157
152
  availableBytes: z.ZodNumber;
158
153
  }, z.core.$strip>>>;
154
+ owned: z.ZodOptional<z.ZodObject<{
155
+ bytes: z.ZodNumber;
156
+ measuredAtMs: z.ZodNumber;
157
+ }, z.core.$strip>>;
159
158
  }, z.core.$strip>, z.ZodObject<{
160
159
  id: z.ZodString;
161
160
  type: z.ZodString;
@@ -163,13 +162,22 @@ export declare const storageCapability: {
163
162
  providerId: z.ZodString;
164
163
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
165
164
  nodeId: z.ZodOptional<z.ZodString>;
166
- isDefault: z.ZodDefault<z.ZodBoolean>;
167
165
  isSystem: z.ZodDefault<z.ZodBoolean>;
168
166
  enabled: z.ZodOptional<z.ZodBoolean>;
167
+ mode: z.ZodOptional<z.ZodEnum<{
168
+ readonly: "readonly";
169
+ active: "active";
170
+ drain: "drain";
171
+ disabled: "disabled";
172
+ }>>;
169
173
  capacity: z.ZodOptional<z.ZodNullable<z.ZodObject<{
170
174
  totalBytes: z.ZodNumber;
171
175
  availableBytes: z.ZodNumber;
172
176
  }, z.core.$strip>>>;
177
+ owned: z.ZodOptional<z.ZodObject<{
178
+ bytes: z.ZodNumber;
179
+ measuredAtMs: z.ZodNumber;
180
+ }, z.core.$strip>>;
173
181
  createdAt: z.ZodNumber;
174
182
  updatedAt: z.ZodNumber;
175
183
  }, z.core.$strip>, "mutation">;
@@ -191,6 +199,19 @@ export declare const storageCapability: {
191
199
  id: z.ZodString;
192
200
  force: z.ZodOptional<z.ZodBoolean>;
193
201
  }, z.core.$strip>, z.ZodVoid, "mutation">;
202
+ /**
203
+ * How far each draining location has got (D386). A pure READ of what the
204
+ * last pressure sweep computed — it starts no work, and a location that is
205
+ * not draining simply does not appear.
206
+ */
207
+ readonly listDrainProgress: import("./capability-definition.js").CapabilityMethodSchema<z.ZodVoid, z.ZodReadonly<z.ZodArray<z.ZodObject<{
208
+ locationId: z.ZodString;
209
+ startedAtMs: z.ZodNumber;
210
+ startBytes: z.ZodNumber;
211
+ bytesRemaining: z.ZodNumber;
212
+ drained: z.ZodBoolean;
213
+ estimatedEmptyAtMs: z.ZodNullable<z.ZodNumber>;
214
+ }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
194
215
  readonly testLocation: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
195
216
  id: z.ZodString;
196
217
  }, z.core.$strip>, z.ZodObject<{
@@ -294,10 +294,10 @@ export type BrokerDecodedClient = z.infer<typeof BrokerDecodedClientSchema>;
294
294
  export type BrokerAudioClient = z.infer<typeof BrokerAudioClientSchema>;
295
295
  export type BrokerClients = z.infer<typeof BrokerClientsSchema>;
296
296
  export declare const PlaceholderReasonSchema: z.ZodEnum<{
297
+ disabled: "disabled";
297
298
  sleeping: "sleeping";
298
299
  reconnecting: "reconnecting";
299
300
  offline: "offline";
300
- disabled: "disabled";
301
301
  waking: "waking";
302
302
  }>;
303
303
  export type PlaceholderReason = z.infer<typeof PlaceholderReasonSchema>;
@@ -192,6 +192,19 @@ export declare enum EventCategory {
192
192
  ProcessCrashed = "process.crashed",
193
193
  ProcessRestartScheduled = "process.restart_scheduled",
194
194
  ProcessRestarted = "process.restarted",
195
+ /**
196
+ * The SET of storage locations changed — one was created, edited, enabled,
197
+ * disabled or deleted through `storage.upsertLocation` / `deleteLocation`.
198
+ *
199
+ * Telemetry, not a transaction (D8/D11): every consumer that re-resolves on
200
+ * it must also converge on its own periodic path, because a dropped event
201
+ * must not leave a node writing to yesterday's disk set forever. It exists
202
+ * because there was NO signal at all — an operator who added a second
203
+ * recordings disk in the admin UI got nothing, and the recorder kept its
204
+ * resolved locations until something else happened to re-resolve them
205
+ * (D387). Payload `StorageLocationsChangedPayload`.
206
+ */
207
+ StorageLocationsChanged = "storage.locations-changed",
195
208
  RecordingStarted = "recording.started",
196
209
  RecordingStopped = "recording.stopped",
197
210
  RecordingError = "recording.error",
package/dist/enums.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_event_category = require("./event-category-b8kBSOTT.js");
2
+ const require_event_category = require("./event-category-BVo6ta6_.js");
3
3
  //#region src/enums/event-source-type.ts
4
4
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
5
5
  EventSourceType["Addon"] = "addon";
package/dist/enums.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { t as EventCategory } from "./event-category-zAv7pMUz.mjs";
1
+ import { t as EventCategory } from "./event-category-CnLqLOKs.mjs";
2
2
  //#region src/enums/event-source-type.ts
3
3
  var EventSourceType = /* @__PURE__ */ function(EventSourceType) {
4
4
  EventSourceType["Addon"] = "addon";
@@ -193,6 +193,19 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
193
193
  EventCategory["ProcessCrashed"] = "process.crashed";
194
194
  EventCategory["ProcessRestartScheduled"] = "process.restart_scheduled";
195
195
  EventCategory["ProcessRestarted"] = "process.restarted";
196
+ /**
197
+ * The SET of storage locations changed — one was created, edited, enabled,
198
+ * disabled or deleted through `storage.upsertLocation` / `deleteLocation`.
199
+ *
200
+ * Telemetry, not a transaction (D8/D11): every consumer that re-resolves on
201
+ * it must also converge on its own periodic path, because a dropped event
202
+ * must not leave a node writing to yesterday's disk set forever. It exists
203
+ * because there was NO signal at all — an operator who added a second
204
+ * recordings disk in the admin UI got nothing, and the recorder kept its
205
+ * resolved locations until something else happened to re-resolve them
206
+ * (D387). Payload `StorageLocationsChangedPayload`.
207
+ */
208
+ EventCategory["StorageLocationsChanged"] = "storage.locations-changed";
196
209
  EventCategory["RecordingStarted"] = "recording.started";
197
210
  EventCategory["RecordingStopped"] = "recording.stopped";
198
211
  EventCategory["RecordingError"] = "recording.error";
@@ -193,6 +193,19 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
193
193
  EventCategory["ProcessCrashed"] = "process.crashed";
194
194
  EventCategory["ProcessRestartScheduled"] = "process.restart_scheduled";
195
195
  EventCategory["ProcessRestarted"] = "process.restarted";
196
+ /**
197
+ * The SET of storage locations changed — one was created, edited, enabled,
198
+ * disabled or deleted through `storage.upsertLocation` / `deleteLocation`.
199
+ *
200
+ * Telemetry, not a transaction (D8/D11): every consumer that re-resolves on
201
+ * it must also converge on its own periodic path, because a dropped event
202
+ * must not leave a node writing to yesterday's disk set forever. It exists
203
+ * because there was NO signal at all — an operator who added a second
204
+ * recordings disk in the admin UI got nothing, and the recorder kept its
205
+ * resolved locations until something else happened to re-resolve them
206
+ * (D387). Payload `StorageLocationsChangedPayload`.
207
+ */
208
+ EventCategory["StorageLocationsChanged"] = "storage.locations-changed";
196
209
  EventCategory["RecordingStarted"] = "recording.started";
197
210
  EventCategory["RecordingStopped"] = "recording.stopped";
198
211
  EventCategory["RecordingError"] = "recording.error";
@@ -104,6 +104,7 @@ import type { snapshotCapability } from '../capabilities/snapshot.cap.js';
104
104
  import type { ssoBridgeCapability } from '../capabilities/sso-bridge.cap.js';
105
105
  import type { storageEvictableCapability } from '../capabilities/storage-evictable.cap.js';
106
106
  import type { storageMigrationCapability } from '../capabilities/storage-migration.cap.js';
107
+ import type { storageOccupancyCapability } from '../capabilities/storage-occupancy.cap.js';
107
108
  import type { storageProviderCapability } from '../capabilities/storage-provider.cap.js';
108
109
  import type { storageCapability } from '../capabilities/storage.cap.js';
109
110
  import type { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
@@ -7394,13 +7395,6 @@ export type AppRouter = TrpcCoreRouter<{
7394
7395
  output: z.infer<typeof storageCapability.methods.listLocations.output>;
7395
7396
  meta: object;
7396
7397
  }>;
7397
- getDefaultLocation: TRPCQueryProcedure<{
7398
- input: {
7399
- [x: string]: unknown;
7400
- } & z.input<typeof storageCapability.methods.getDefaultLocation.input>;
7401
- output: z.infer<typeof storageCapability.methods.getDefaultLocation.output>;
7402
- meta: object;
7403
- }>;
7404
7398
  listLocationDeclarations: TRPCQueryProcedure<{
7405
7399
  input: {
7406
7400
  nodeId?: string | undefined;
@@ -7422,6 +7416,13 @@ export type AppRouter = TrpcCoreRouter<{
7422
7416
  output: z.infer<typeof storageCapability.methods.deleteLocation.output>;
7423
7417
  meta: object;
7424
7418
  }>;
7419
+ listDrainProgress: TRPCQueryProcedure<{
7420
+ input: {
7421
+ nodeId?: string | undefined;
7422
+ } | undefined;
7423
+ output: z.infer<typeof storageCapability.methods.listDrainProgress.output>;
7424
+ meta: object;
7425
+ }>;
7425
7426
  testLocation: TRPCQueryProcedure<{
7426
7427
  input: {
7427
7428
  [x: string]: unknown;
@@ -7549,6 +7550,20 @@ export type AppRouter = TrpcCoreRouter<{
7549
7550
  meta: object;
7550
7551
  }>;
7551
7552
  }>>;
7553
+ storageOccupancy: TRPCBuiltRouter<{
7554
+ ctx: TrpcContext;
7555
+ meta: object;
7556
+ errorShape: AugmentedErrorShape;
7557
+ transformer: true;
7558
+ }, TRPCDecorateCreateRouterOptions<{
7559
+ getOccupancy: TRPCQueryProcedure<{
7560
+ input: {
7561
+ [x: string]: unknown;
7562
+ } & z.input<typeof storageOccupancyCapability.methods.getOccupancy.input>;
7563
+ output: z.infer<typeof storageOccupancyCapability.methods.getOccupancy.output>;
7564
+ meta: object;
7565
+ }>;
7566
+ }>>;
7552
7567
  storageProvider: TRPCBuiltRouter<{
7553
7568
  ctx: TrpcContext;
7554
7569
  meta: object;
@@ -127,6 +127,7 @@ export { ssoBridgeCapability } from '../capabilities/sso-bridge.cap.js';
127
127
  export { storageCapability } from '../capabilities/storage.cap.js';
128
128
  export { storageEvictableCapability } from '../capabilities/storage-evictable.cap.js';
129
129
  export { storageMigrationCapability } from '../capabilities/storage-migration.cap.js';
130
+ export { storageOccupancyCapability } from '../capabilities/storage-occupancy.cap.js';
130
131
  export { storageProviderCapability } from '../capabilities/storage-provider.cap.js';
131
132
  export { streamBrokerCapability } from '../capabilities/stream-broker.cap.js';
132
133
  export { streamCatalogCapability } from '../capabilities/stream-catalog.cap.js';
@@ -283,6 +284,7 @@ export declare const CAPABILITY_NAMES: {
283
284
  readonly storage: "storage";
284
285
  readonly storageEvictable: "storage-evictable";
285
286
  readonly storageMigration: "storage-migration";
287
+ readonly storageOccupancy: "storage-occupancy";
286
288
  readonly storageProvider: "storage-provider";
287
289
  readonly streamBroker: "stream-broker";
288
290
  readonly streamCatalog: "stream-catalog";
@@ -452,6 +454,7 @@ export interface CapabilityRouterMap<TRouter = unknown> {
452
454
  readonly storage: TRouter;
453
455
  readonly storageEvictable: TRouter;
454
456
  readonly storageMigration: TRouter;
457
+ readonly storageOccupancy: TRouter;
455
458
  readonly storageProvider: TRouter;
456
459
  readonly streamBroker: TRouter;
457
460
  readonly streamCatalog: TRouter;
@@ -483,8 +486,8 @@ export interface CapabilityRouterMap<TRouter = unknown> {
483
486
  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", "navigation", "network-link", "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", "recording-signal", "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"];
484
487
  /** Union of singleton capability names (literal string union). */
485
488
  export type SingletonCapabilityName = typeof SINGLETON_CAPABILITY_NAMES[number];
486
- /** Capability names whose mode is `collection` (27 caps). */
487
- export declare const COLLECTION_CAPABILITY_NAMES: readonly ["addon-pages-source", "addon-routes", "addon-widgets-source", "auth-provider", "broker", "connection-test", "custom-model-registry", "data-store-provider", "device-export", "device-provider", "embedding-encoder", "failure-contribution", "llm", "load-contribution", "log-channels", "log-destination", "login-method", "mesh-network", "mqtt-broker", "network-access", "notification-output", "oauth-integration", "smtp-provider", "storage-evictable", "storage-provider", "turn-provider", "user-passkeys"];
489
+ /** Capability names whose mode is `collection` (28 caps). */
490
+ export declare const COLLECTION_CAPABILITY_NAMES: readonly ["addon-pages-source", "addon-routes", "addon-widgets-source", "auth-provider", "broker", "connection-test", "custom-model-registry", "data-store-provider", "device-export", "device-provider", "embedding-encoder", "failure-contribution", "llm", "load-contribution", "log-channels", "log-destination", "login-method", "mesh-network", "mqtt-broker", "network-access", "notification-output", "oauth-integration", "smtp-provider", "storage-evictable", "storage-occupancy", "storage-provider", "turn-provider", "user-passkeys"];
488
491
  /** Union of collection capability names (literal string union). */
489
492
  export type CollectionCapabilityName = typeof COLLECTION_CAPABILITY_NAMES[number];
490
493
  /** Capability mode lookup at runtime — mirrors the `.cap.ts` definitions. */
@@ -8,7 +8,7 @@
8
8
  * barrel (`ALL_CAPABILITY_DEFINITIONS`), which would cost ~144MB RSS per
9
9
  * forked runner. See docs/decisions/adr-0028.md.
10
10
  *
11
- * Coverage: 20 collection caps, 33 array methods.
11
+ * Coverage: 21 collection caps, 34 array methods.
12
12
  */
13
13
  export declare const COLLECTION_ARRAY_METHODS: Readonly<Record<string, readonly string[]>>;
14
14
  /**
@@ -6,7 +6,7 @@
6
6
  * scope+access check inside `protectedProcedure` (see
7
7
  * `server/backend/src/api/trpc/trpc.middleware.ts`).
8
8
  *
9
- * Coverage: 1020 method paths across 128 capabilities.
9
+ * Coverage: 1021 method paths across 129 capabilities.
10
10
  */
11
11
  import type { CapabilityMethodAccess } from '../capabilities/capability-definition.js';
12
12
  export interface MethodAccessRecord {
@@ -91,7 +91,7 @@ export interface SystemProxy {
91
91
  readonly recordingExport: Pick<InferProvider<typeof recordingExportCapability>, 'createExport' | 'getExport' | 'cancelExport' | 'deleteExport' | 'getDownloadUrl' | 'readExportBytes'>;
92
92
  readonly serverManagement: Pick<InferProvider<typeof serverManagementCapability>, 'getServerPackageStatus' | 'checkServerUpdate' | 'applyServerUpdate' | 'rollbackServerUpdate' | 'restartServer'>;
93
93
  readonly settingsStore: Pick<InferProvider<typeof settingsStoreCapability>, 'get' | 'set' | 'query' | 'insert' | 'insertMany' | 'update' | 'delete' | 'deleteWhere' | 'updateWhere' | 'count' | 'aggregate' | 'histogram' | 'isEmpty' | 'declareCollection'>;
94
- readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'getDefaultLocation' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'testLocation' | 'listProviders' | 'testConfig'>;
94
+ readonly storage: Pick<InferProvider<typeof storageCapability>, 'resolve' | 'write' | 'read' | 'exists' | 'list' | 'delete' | 'getAvailableSpace' | 'beginUpload' | 'writeChunk' | 'finalizeUpload' | 'abortUpload' | 'beginDownload' | 'readChunk' | 'endDownload' | 'listLocations' | 'listLocationDeclarations' | 'upsertLocation' | 'deleteLocation' | 'listDrainProgress' | 'testLocation' | 'listProviders' | 'testConfig'>;
95
95
  readonly storageMigration: Pick<InferProvider<typeof storageMigrationCapability>, 'plan' | 'start' | 'status' | 'cancel' | 'movers' | 'residue' | 'drain' | 'cleanupStart' | 'cleanupStatus' | 'cleanupCancel' | 'history'>;
96
96
  readonly streamBroker: Pick<InferProvider<typeof streamBrokerCapability>, 'fetchEventMedia' | 'listAllCameraStreams' | 'listAllProfileSlots' | 'getBrokerStats' | 'probeStream' | 'listClients' | 'killClient' | 'getStreamUrl' | 'getStreamWithCodec' | 'releaseStreamWithCodec' | 'acquireEgressTranscode' | 'releaseEgressTranscode' | 'subscribeAudioChunks' | 'pullAudioChunks' | 'unsubscribeAudioChunks' | 'subscribeFrames' | 'pullFrameHandles' | 'unsubscribeFrames' | 'setPreBufferDuration' | 'getPreBufferInfo' | 'getRtspPort' | 'getAllRtspEntries' | 'getRtspEntry' | 'regenerateRtspToken' | 'setRtspEnabled' | 'isRtspEnabled'>;
97
97
  readonly system: Pick<InferProvider<typeof systemCapability>, 'info' | 'health' | 'featureFlags' | 'networkAddresses' | 'getRetentionConfig' | 'setRetentionConfig' | 'forceRetentionCleanup' | 'getSiteLocation' | 'setSiteLocation' | 'detectSiteLocation' | 'getRequestCensus' | 'getLoadContributions' | 'getFailureContributions' | 'getLoggingSettings' | 'setLoggingSettings'>;