@camstack/types 1.2.332 → 1.2.333

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 (51) hide show
  1. package/dist/addon/base-addon.d.ts +32 -0
  2. package/dist/addon/secret-aware-context.d.ts +49 -6
  3. package/dist/addon/secret-settings-view.d.ts +23 -1
  4. package/dist/addon/secret-write-back.d.ts +40 -0
  5. package/dist/addon.js +5 -7
  6. package/dist/addon.mjs +5 -7
  7. package/dist/auth/app-callback.d.ts +28 -0
  8. package/dist/auth/sso-state.d.ts +16 -0
  9. package/dist/capabilities/addon-routes.cap.d.ts +3 -0
  10. package/dist/capabilities/addons.cap.d.ts +4 -4
  11. package/dist/capabilities/backup.cap.d.ts +101 -1
  12. package/dist/capabilities/broker.cap.d.ts +4 -4
  13. package/dist/capabilities/custom-model-registry.cap.d.ts +520 -0
  14. package/dist/capabilities/device-manager.cap.d.ts +4 -4
  15. package/dist/capabilities/hub-address.d.ts +2 -2
  16. package/dist/capabilities/index.d.ts +12 -6
  17. package/dist/capabilities/keychain-admin.cap.d.ts +83 -0
  18. package/dist/capabilities/login-method.cap.d.ts +5 -6
  19. package/dist/capabilities/notification-output.cap.d.ts +4 -4
  20. package/dist/capabilities/notification-rules.cap.d.ts +6 -6
  21. package/dist/capabilities/osd-manager.cap.d.ts +5 -5
  22. package/dist/capabilities/pipeline-analytics.cap.d.ts +39 -8
  23. package/dist/capabilities/recording.cap.d.ts +3 -3
  24. package/dist/capabilities/server-management.cap.d.ts +5 -5
  25. package/dist/capabilities/snapshot.cap.d.ts +2 -2
  26. package/dist/capabilities/sso-bridge.cap.d.ts +5 -2
  27. package/dist/capabilities/training-provider.cap.d.ts +373 -0
  28. package/dist/capabilities/training.cap.d.ts +1896 -0
  29. package/dist/capabilities/user-management.cap.d.ts +1 -64
  30. package/dist/capabilities/videoclips.cap.d.ts +3 -3
  31. package/dist/client.js +26 -4
  32. package/dist/client.mjs +26 -4
  33. package/dist/generated/addon-api.d.ts +842 -173
  34. package/dist/generated/cap-input-defaults.d.ts +1 -1
  35. package/dist/generated/capability-router-map.d.ts +10 -4
  36. package/dist/generated/collection-array-methods.d.ts +1 -1
  37. package/dist/generated/method-access-map.d.ts +1 -1
  38. package/dist/generated/method-device-selectors.d.ts +2 -2
  39. package/dist/generated/system-proxy.d.ts +5 -3
  40. package/dist/index.d.ts +3 -0
  41. package/dist/index.js +1462 -93
  42. package/dist/index.mjs +1413 -92
  43. package/dist/interfaces/addon-routes.d.ts +7 -0
  44. package/dist/interfaces/addon.d.ts +8 -0
  45. package/dist/interfaces/auth.d.ts +6 -3
  46. package/dist/schemas/auth-records.d.ts +1 -2
  47. package/dist/{sleep-ClNXPpWR.js → sleep-DiQYrfm9.js} +425 -75
  48. package/dist/{sleep-DujUvOcb.mjs → sleep-r3RWkGVx.mjs} +425 -75
  49. package/dist/training/index.d.ts +1 -0
  50. package/dist/training/trainer-contract.d.ts +468 -0
  51. package/package.json +1 -1
@@ -224,6 +224,266 @@ export declare const CustomModelDescriptorSchema: z.ZodObject<{
224
224
  }, z.core.$strip>;
225
225
  }, z.core.$strip>;
226
226
  export type CustomModelDescriptor = z.infer<typeof CustomModelDescriptorSchema>;
227
+ /** One regular file of an imported bundle, as the producer measured it. */
228
+ export declare const ModelBundleFileSchema: z.ZodObject<{
229
+ path: z.ZodString;
230
+ bytes: z.ZodNumber;
231
+ sha256: z.ZodString;
232
+ }, z.core.$strip>;
233
+ export type ModelBundleFile = z.infer<typeof ModelBundleFileSchema>;
234
+ export declare const ImportModelBundleInputSchema: z.ZodObject<{
235
+ addonId: z.ZodString;
236
+ stepId: z.ZodString;
237
+ entries: z.ZodArray<z.ZodObject<{
238
+ id: z.ZodString;
239
+ name: z.ZodString;
240
+ description: z.ZodString;
241
+ formats: z.ZodObject<{
242
+ onnx: z.ZodOptional<z.ZodObject<{
243
+ url: z.ZodString;
244
+ sizeMB: z.ZodNumber;
245
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
246
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
247
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
248
+ python: "python";
249
+ }>>>>;
250
+ revision: z.ZodOptional<z.ZodString>;
251
+ }, z.core.$strip>>;
252
+ coreml: z.ZodOptional<z.ZodObject<{
253
+ url: z.ZodString;
254
+ sizeMB: z.ZodNumber;
255
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
256
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
257
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
258
+ python: "python";
259
+ }>>>>;
260
+ revision: z.ZodOptional<z.ZodString>;
261
+ }, z.core.$strip>>;
262
+ openvino: z.ZodOptional<z.ZodObject<{
263
+ url: z.ZodString;
264
+ sizeMB: z.ZodNumber;
265
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
266
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
267
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
268
+ python: "python";
269
+ }>>>>;
270
+ revision: z.ZodOptional<z.ZodString>;
271
+ }, z.core.$strip>>;
272
+ tflite: z.ZodOptional<z.ZodObject<{
273
+ url: z.ZodString;
274
+ sizeMB: z.ZodNumber;
275
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
276
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
277
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
278
+ python: "python";
279
+ }>>>>;
280
+ revision: z.ZodOptional<z.ZodString>;
281
+ }, z.core.$strip>>;
282
+ pt: z.ZodOptional<z.ZodObject<{
283
+ url: z.ZodString;
284
+ sizeMB: z.ZodNumber;
285
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
286
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
287
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
288
+ python: "python";
289
+ }>>>>;
290
+ revision: z.ZodOptional<z.ZodString>;
291
+ }, z.core.$strip>>;
292
+ gguf: z.ZodOptional<z.ZodObject<{
293
+ url: z.ZodString;
294
+ sizeMB: z.ZodNumber;
295
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
296
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
297
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
298
+ python: "python";
299
+ }>>>>;
300
+ revision: z.ZodOptional<z.ZodString>;
301
+ }, z.core.$strip>>;
302
+ }, z.core.$strip>;
303
+ inputSize: z.ZodObject<{
304
+ width: z.ZodNumber;
305
+ height: z.ZodNumber;
306
+ }, z.core.$strip>;
307
+ inputChannels: z.ZodOptional<z.ZodNumber>;
308
+ labels: z.ZodReadonly<z.ZodArray<z.ZodObject<{
309
+ id: z.ZodString;
310
+ name: z.ZodString;
311
+ category: z.ZodOptional<z.ZodString>;
312
+ description: z.ZodOptional<z.ZodString>;
313
+ icon: z.ZodOptional<z.ZodString>;
314
+ }, z.core.$strip>>>;
315
+ inputLayout: z.ZodOptional<z.ZodEnum<{
316
+ nchw: "nchw";
317
+ nhwc: "nhwc";
318
+ }>>;
319
+ inputNormalization: z.ZodOptional<z.ZodEnum<{
320
+ none: "none";
321
+ "zero-one": "zero-one";
322
+ imagenet: "imagenet";
323
+ scrfd: "scrfd";
324
+ }>>;
325
+ outputProbabilities: z.ZodOptional<z.ZodBoolean>;
326
+ preprocessMode: z.ZodOptional<z.ZodEnum<{
327
+ letterbox: "letterbox";
328
+ resize: "resize";
329
+ }>>;
330
+ postprocessor: z.ZodOptional<z.ZodCustom<import("../index.js").PostprocessorType, import("../index.js").PostprocessorType>>;
331
+ defaultConfidence: z.ZodOptional<z.ZodNumber>;
332
+ defaultClassFloors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
333
+ gpuInferencePrecision: z.ZodOptional<z.ZodEnum<{
334
+ f32: "f32";
335
+ f16: "f16";
336
+ }>>;
337
+ suppliedLabelFloors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
338
+ faceAlignment: z.ZodOptional<z.ZodBoolean>;
339
+ extraFiles: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
340
+ url: z.ZodString;
341
+ filename: z.ZodString;
342
+ sizeMB: z.ZodNumber;
343
+ }, z.core.$strip>>>>;
344
+ legacy: z.ZodOptional<z.ZodBoolean>;
345
+ metrics: z.ZodOptional<z.ZodObject<{
346
+ map50: z.ZodOptional<z.ZodNumber>;
347
+ p95LatencyMs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
348
+ }, z.core.$strip>>;
349
+ license: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
350
+ weights: z.ZodString;
351
+ code: z.ZodOptional<z.ZodString>;
352
+ data: z.ZodOptional<z.ZodObject<{
353
+ name: z.ZodString;
354
+ terms: z.ZodString;
355
+ url: z.ZodOptional<z.ZodString>;
356
+ }, z.core.$strip>>;
357
+ upstream: z.ZodOptional<z.ZodObject<{
358
+ name: z.ZodString;
359
+ url: z.ZodString;
360
+ }, z.core.$strip>>;
361
+ url: z.ZodOptional<z.ZodString>;
362
+ attribution: z.ZodOptional<z.ZodString>;
363
+ modifications: z.ZodOptional<z.ZodString>;
364
+ hosting: z.ZodOptional<z.ZodEnum<{
365
+ "camstack-hf": "camstack-hf";
366
+ "third-party": "third-party";
367
+ "built-in": "built-in";
368
+ }>>;
369
+ nonCommercial: z.ZodOptional<z.ZodBoolean>;
370
+ }, z.core.$strip>>>;
371
+ group: z.ZodOptional<z.ZodObject<{
372
+ family: z.ZodString;
373
+ tier: z.ZodString;
374
+ precision: z.ZodOptional<z.ZodEnum<{
375
+ fp32: "fp32";
376
+ int8: "int8";
377
+ }>>;
378
+ optimization: z.ZodOptional<z.ZodEnum<{
379
+ standard: "standard";
380
+ test: "test";
381
+ }>>;
382
+ resolution: z.ZodOptional<z.ZodNumber>;
383
+ }, z.core.$strip>>;
384
+ provider: z.ZodOptional<z.ZodEnum<{
385
+ custom: "custom";
386
+ camstack: "camstack";
387
+ frigate: "frigate";
388
+ scrypted: "scrypted";
389
+ }>>;
390
+ classMap: z.ZodOptional<z.ZodObject<{
391
+ mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
392
+ person: "person";
393
+ vehicle: "vehicle";
394
+ animal: "animal";
395
+ package: "package";
396
+ }>>;
397
+ preserveOriginal: z.ZodBoolean;
398
+ }, z.core.$strip>>;
399
+ suppliesSteps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
400
+ kind: z.ZodLiteral<"label">;
401
+ stepId: z.ZodEnum<{
402
+ "animal-classifier": "animal-classifier";
403
+ "vehicle-classifier": "vehicle-classifier";
404
+ "package-detection": "package-detection";
405
+ }>;
406
+ labelToEffect: z.ZodRecord<z.ZodString, z.ZodString>;
407
+ uncovered: z.ZodReadonly<z.ZodArray<z.ZodString>>;
408
+ }, z.core.$strip>, z.ZodObject<{
409
+ kind: z.ZodLiteral<"crop">;
410
+ stepId: z.ZodEnum<{
411
+ "plate-detection": "plate-detection";
412
+ "face-detection": "face-detection";
413
+ }>;
414
+ rootLabels: z.ZodReadonly<z.ZodArray<z.ZodString>>;
415
+ parentMacro: z.ZodEnum<{
416
+ person: "person";
417
+ vehicle: "vehicle";
418
+ }>;
419
+ childClass: z.ZodEnum<{
420
+ face: "face";
421
+ plate: "plate";
422
+ }>;
423
+ rootInputPx: z.ZodOptional<z.ZodNumber>;
424
+ }, z.core.$strip>, z.ZodObject<{
425
+ kind: z.ZodLiteral<"mask">;
426
+ stepId: z.ZodEnum<{
427
+ segmentation: "segmentation";
428
+ }>;
429
+ }, z.core.$strip>], "kind">>>>;
430
+ clip: z.ZodOptional<z.ZodObject<{
431
+ textModelId: z.ZodString;
432
+ embeddingDim: z.ZodNumber;
433
+ vectorIndex: z.ZodString;
434
+ tokenizerFile: z.ZodString;
435
+ contextLength: z.ZodNumber;
436
+ padId: z.ZodNumber;
437
+ searchMinScore: z.ZodNumber;
438
+ }, z.core.$strip>>;
439
+ }, z.core.$strip>>;
440
+ bundle: z.ZodObject<{
441
+ ticket: z.ZodObject<{
442
+ url: z.ZodString;
443
+ hostNodeId: z.ZodString;
444
+ expiresAtMs: z.ZodNumber;
445
+ declaredBytes: z.ZodNullable<z.ZodNumber>;
446
+ }, z.core.$strip>;
447
+ bytes: z.ZodNumber;
448
+ sha256: z.ZodString;
449
+ }, z.core.$strip>;
450
+ files: z.ZodArray<z.ZodObject<{
451
+ path: z.ZodString;
452
+ bytes: z.ZodNumber;
453
+ sha256: z.ZodString;
454
+ }, z.core.$strip>>;
455
+ distribute: z.ZodBoolean;
456
+ }, z.core.$strip>;
457
+ export type ImportModelBundleInput = z.infer<typeof ImportModelBundleInputSchema>;
458
+ export declare const ImportModelBundleResultSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
459
+ kind: z.ZodLiteral<"imported">;
460
+ modelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
461
+ distributed: z.ZodReadonly<z.ZodArray<z.ZodObject<{
462
+ modelId: z.ZodString;
463
+ nodeId: z.ZodString;
464
+ format: z.ZodEnum<{
465
+ onnx: "onnx";
466
+ coreml: "coreml";
467
+ openvino: "openvino";
468
+ tflite: "tflite";
469
+ pt: "pt";
470
+ gguf: "gguf";
471
+ }>;
472
+ ok: z.ZodBoolean;
473
+ error: z.ZodOptional<z.ZodString>;
474
+ }, z.core.$strip>>>;
475
+ }, z.core.$strip>, z.ZodObject<{
476
+ kind: z.ZodLiteral<"refused">;
477
+ reason: z.ZodEnum<{
478
+ "transfer-failed": "transfer-failed";
479
+ "checksum-mismatch": "checksum-mismatch";
480
+ "bundle-mismatch": "bundle-mismatch";
481
+ "invalid-entry": "invalid-entry";
482
+ "id-taken": "id-taken";
483
+ }>;
484
+ detail: z.ZodString;
485
+ }, z.core.$strip>], "kind">;
486
+ export type ImportModelBundleResult = z.infer<typeof ImportModelBundleResultSchema>;
227
487
  export declare const customModelRegistryCapability: {
228
488
  readonly name: "custom-model-registry";
229
489
  readonly scope: "system";
@@ -445,6 +705,266 @@ export declare const customModelRegistryCapability: {
445
705
  }, z.core.$strip>>;
446
706
  }, z.core.$strip>;
447
707
  }, z.core.$strip>>>, import("./capability-definition.js").CapabilityMethodKind>;
708
+ /**
709
+ * Register a model whose files arrive as ONE bundle tar (D806): the tar
710
+ * is taken over `ctx.peerBytes`, checked against `bundle.sha256` and
711
+ * every row of `files`, unpacked into the hub's flat modelsDir (directory
712
+ * formats included), each format's `.revision` record written, the rows
713
+ * upserted under the operator's name, the hub marked available and —
714
+ * when asked — engine formats converted and the model distributed. A
715
+ * model id already registered by another source is refused, never
716
+ * overwritten.
717
+ */
718
+ readonly importModelBundle: import("./capability-definition.js").CapabilityMethodSchema<z.ZodObject<{
719
+ addonId: z.ZodString;
720
+ stepId: z.ZodString;
721
+ entries: z.ZodArray<z.ZodObject<{
722
+ id: z.ZodString;
723
+ name: z.ZodString;
724
+ description: z.ZodString;
725
+ formats: z.ZodObject<{
726
+ onnx: z.ZodOptional<z.ZodObject<{
727
+ url: z.ZodString;
728
+ sizeMB: z.ZodNumber;
729
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
730
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
731
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
732
+ python: "python";
733
+ }>>>>;
734
+ revision: z.ZodOptional<z.ZodString>;
735
+ }, z.core.$strip>>;
736
+ coreml: z.ZodOptional<z.ZodObject<{
737
+ url: z.ZodString;
738
+ sizeMB: z.ZodNumber;
739
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
740
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
741
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
742
+ python: "python";
743
+ }>>>>;
744
+ revision: z.ZodOptional<z.ZodString>;
745
+ }, z.core.$strip>>;
746
+ openvino: z.ZodOptional<z.ZodObject<{
747
+ url: z.ZodString;
748
+ sizeMB: z.ZodNumber;
749
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
750
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
751
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
752
+ python: "python";
753
+ }>>>>;
754
+ revision: z.ZodOptional<z.ZodString>;
755
+ }, z.core.$strip>>;
756
+ tflite: z.ZodOptional<z.ZodObject<{
757
+ url: z.ZodString;
758
+ sizeMB: z.ZodNumber;
759
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
760
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
761
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
762
+ python: "python";
763
+ }>>>>;
764
+ revision: z.ZodOptional<z.ZodString>;
765
+ }, z.core.$strip>>;
766
+ pt: z.ZodOptional<z.ZodObject<{
767
+ url: z.ZodString;
768
+ sizeMB: z.ZodNumber;
769
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
770
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
771
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
772
+ python: "python";
773
+ }>>>>;
774
+ revision: z.ZodOptional<z.ZodString>;
775
+ }, z.core.$strip>>;
776
+ gguf: z.ZodOptional<z.ZodObject<{
777
+ url: z.ZodString;
778
+ sizeMB: z.ZodNumber;
779
+ isDirectory: z.ZodOptional<z.ZodBoolean>;
780
+ files: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
781
+ runtimes: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodEnum<{
782
+ python: "python";
783
+ }>>>>;
784
+ revision: z.ZodOptional<z.ZodString>;
785
+ }, z.core.$strip>>;
786
+ }, z.core.$strip>;
787
+ inputSize: z.ZodObject<{
788
+ width: z.ZodNumber;
789
+ height: z.ZodNumber;
790
+ }, z.core.$strip>;
791
+ inputChannels: z.ZodOptional<z.ZodNumber>;
792
+ labels: z.ZodReadonly<z.ZodArray<z.ZodObject<{
793
+ id: z.ZodString;
794
+ name: z.ZodString;
795
+ category: z.ZodOptional<z.ZodString>;
796
+ description: z.ZodOptional<z.ZodString>;
797
+ icon: z.ZodOptional<z.ZodString>;
798
+ }, z.core.$strip>>>;
799
+ inputLayout: z.ZodOptional<z.ZodEnum<{
800
+ nchw: "nchw";
801
+ nhwc: "nhwc";
802
+ }>>;
803
+ inputNormalization: z.ZodOptional<z.ZodEnum<{
804
+ none: "none";
805
+ "zero-one": "zero-one";
806
+ imagenet: "imagenet";
807
+ scrfd: "scrfd";
808
+ }>>;
809
+ outputProbabilities: z.ZodOptional<z.ZodBoolean>;
810
+ preprocessMode: z.ZodOptional<z.ZodEnum<{
811
+ letterbox: "letterbox";
812
+ resize: "resize";
813
+ }>>;
814
+ postprocessor: z.ZodOptional<z.ZodCustom<import("../index.js").PostprocessorType, import("../index.js").PostprocessorType>>;
815
+ defaultConfidence: z.ZodOptional<z.ZodNumber>;
816
+ defaultClassFloors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
817
+ gpuInferencePrecision: z.ZodOptional<z.ZodEnum<{
818
+ f32: "f32";
819
+ f16: "f16";
820
+ }>>;
821
+ suppliedLabelFloors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
822
+ faceAlignment: z.ZodOptional<z.ZodBoolean>;
823
+ extraFiles: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodObject<{
824
+ url: z.ZodString;
825
+ filename: z.ZodString;
826
+ sizeMB: z.ZodNumber;
827
+ }, z.core.$strip>>>>;
828
+ legacy: z.ZodOptional<z.ZodBoolean>;
829
+ metrics: z.ZodOptional<z.ZodObject<{
830
+ map50: z.ZodOptional<z.ZodNumber>;
831
+ p95LatencyMs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
832
+ }, z.core.$strip>>;
833
+ license: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
834
+ weights: z.ZodString;
835
+ code: z.ZodOptional<z.ZodString>;
836
+ data: z.ZodOptional<z.ZodObject<{
837
+ name: z.ZodString;
838
+ terms: z.ZodString;
839
+ url: z.ZodOptional<z.ZodString>;
840
+ }, z.core.$strip>>;
841
+ upstream: z.ZodOptional<z.ZodObject<{
842
+ name: z.ZodString;
843
+ url: z.ZodString;
844
+ }, z.core.$strip>>;
845
+ url: z.ZodOptional<z.ZodString>;
846
+ attribution: z.ZodOptional<z.ZodString>;
847
+ modifications: z.ZodOptional<z.ZodString>;
848
+ hosting: z.ZodOptional<z.ZodEnum<{
849
+ "camstack-hf": "camstack-hf";
850
+ "third-party": "third-party";
851
+ "built-in": "built-in";
852
+ }>>;
853
+ nonCommercial: z.ZodOptional<z.ZodBoolean>;
854
+ }, z.core.$strip>>>;
855
+ group: z.ZodOptional<z.ZodObject<{
856
+ family: z.ZodString;
857
+ tier: z.ZodString;
858
+ precision: z.ZodOptional<z.ZodEnum<{
859
+ fp32: "fp32";
860
+ int8: "int8";
861
+ }>>;
862
+ optimization: z.ZodOptional<z.ZodEnum<{
863
+ standard: "standard";
864
+ test: "test";
865
+ }>>;
866
+ resolution: z.ZodOptional<z.ZodNumber>;
867
+ }, z.core.$strip>>;
868
+ provider: z.ZodOptional<z.ZodEnum<{
869
+ custom: "custom";
870
+ camstack: "camstack";
871
+ frigate: "frigate";
872
+ scrypted: "scrypted";
873
+ }>>;
874
+ classMap: z.ZodOptional<z.ZodObject<{
875
+ mapping: z.ZodRecord<z.ZodString, z.ZodEnum<{
876
+ person: "person";
877
+ vehicle: "vehicle";
878
+ animal: "animal";
879
+ package: "package";
880
+ }>>;
881
+ preserveOriginal: z.ZodBoolean;
882
+ }, z.core.$strip>>;
883
+ suppliesSteps: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
884
+ kind: z.ZodLiteral<"label">;
885
+ stepId: z.ZodEnum<{
886
+ "animal-classifier": "animal-classifier";
887
+ "vehicle-classifier": "vehicle-classifier";
888
+ "package-detection": "package-detection";
889
+ }>;
890
+ labelToEffect: z.ZodRecord<z.ZodString, z.ZodString>;
891
+ uncovered: z.ZodReadonly<z.ZodArray<z.ZodString>>;
892
+ }, z.core.$strip>, z.ZodObject<{
893
+ kind: z.ZodLiteral<"crop">;
894
+ stepId: z.ZodEnum<{
895
+ "plate-detection": "plate-detection";
896
+ "face-detection": "face-detection";
897
+ }>;
898
+ rootLabels: z.ZodReadonly<z.ZodArray<z.ZodString>>;
899
+ parentMacro: z.ZodEnum<{
900
+ person: "person";
901
+ vehicle: "vehicle";
902
+ }>;
903
+ childClass: z.ZodEnum<{
904
+ face: "face";
905
+ plate: "plate";
906
+ }>;
907
+ rootInputPx: z.ZodOptional<z.ZodNumber>;
908
+ }, z.core.$strip>, z.ZodObject<{
909
+ kind: z.ZodLiteral<"mask">;
910
+ stepId: z.ZodEnum<{
911
+ segmentation: "segmentation";
912
+ }>;
913
+ }, z.core.$strip>], "kind">>>>;
914
+ clip: z.ZodOptional<z.ZodObject<{
915
+ textModelId: z.ZodString;
916
+ embeddingDim: z.ZodNumber;
917
+ vectorIndex: z.ZodString;
918
+ tokenizerFile: z.ZodString;
919
+ contextLength: z.ZodNumber;
920
+ padId: z.ZodNumber;
921
+ searchMinScore: z.ZodNumber;
922
+ }, z.core.$strip>>;
923
+ }, z.core.$strip>>;
924
+ bundle: z.ZodObject<{
925
+ ticket: z.ZodObject<{
926
+ url: z.ZodString;
927
+ hostNodeId: z.ZodString;
928
+ expiresAtMs: z.ZodNumber;
929
+ declaredBytes: z.ZodNullable<z.ZodNumber>;
930
+ }, z.core.$strip>;
931
+ bytes: z.ZodNumber;
932
+ sha256: z.ZodString;
933
+ }, z.core.$strip>;
934
+ files: z.ZodArray<z.ZodObject<{
935
+ path: z.ZodString;
936
+ bytes: z.ZodNumber;
937
+ sha256: z.ZodString;
938
+ }, z.core.$strip>>;
939
+ distribute: z.ZodBoolean;
940
+ }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
941
+ kind: z.ZodLiteral<"imported">;
942
+ modelIds: z.ZodReadonly<z.ZodArray<z.ZodString>>;
943
+ distributed: z.ZodReadonly<z.ZodArray<z.ZodObject<{
944
+ modelId: z.ZodString;
945
+ nodeId: z.ZodString;
946
+ format: z.ZodEnum<{
947
+ onnx: "onnx";
948
+ coreml: "coreml";
949
+ openvino: "openvino";
950
+ tflite: "tflite";
951
+ pt: "pt";
952
+ gguf: "gguf";
953
+ }>;
954
+ ok: z.ZodBoolean;
955
+ error: z.ZodOptional<z.ZodString>;
956
+ }, z.core.$strip>>>;
957
+ }, z.core.$strip>, z.ZodObject<{
958
+ kind: z.ZodLiteral<"refused">;
959
+ reason: z.ZodEnum<{
960
+ "transfer-failed": "transfer-failed";
961
+ "checksum-mismatch": "checksum-mismatch";
962
+ "bundle-mismatch": "bundle-mismatch";
963
+ "invalid-entry": "invalid-entry";
964
+ "id-taken": "id-taken";
965
+ }>;
966
+ detail: z.ZodString;
967
+ }, z.core.$strip>], "kind">, "mutation">;
448
968
  };
449
969
  };
450
970
  export type ICustomModelRegistryProvider = InferProvider<typeof customModelRegistryCapability>;
@@ -306,8 +306,8 @@ export declare const DevicePersistConfigPayloadSchema: z.ZodObject<{
306
306
  /** What a migration actually did, per switch. `unreachable` is a first-class
307
307
  * answer: a camera that could not be asked is not a camera that was silenced. */
308
308
  export declare const MigrateSwitchOutcomeSchema: z.ZodEnum<{
309
- off: "off";
310
309
  unreachable: "unreachable";
310
+ off: "off";
311
311
  on: "on";
312
312
  "not-offered": "not-offered";
313
313
  }>;
@@ -325,8 +325,8 @@ export declare const MigrateSwitchReportSchema: z.ZodObject<{
325
325
  "event-saving": "event-saving";
326
326
  }>;
327
327
  outcome: z.ZodEnum<{
328
- off: "off";
329
328
  unreachable: "unreachable";
329
+ off: "off";
330
330
  on: "on";
331
331
  "not-offered": "not-offered";
332
332
  }>;
@@ -349,8 +349,8 @@ export declare const MigrateDeviceResultSchema: z.ZodObject<{
349
349
  "event-saving": "event-saving";
350
350
  }>;
351
351
  outcome: z.ZodEnum<{
352
- off: "off";
353
352
  unreachable: "unreachable";
353
+ off: "off";
354
354
  on: "on";
355
355
  "not-offered": "not-offered";
356
356
  }>;
@@ -450,8 +450,8 @@ export declare const deviceManagerCapability: {
450
450
  "event-saving": "event-saving";
451
451
  }>;
452
452
  outcome: z.ZodEnum<{
453
- off: "off";
454
453
  unreachable: "unreachable";
454
+ off: "off";
455
455
  on: "on";
456
456
  "not-offered": "not-offered";
457
457
  }>;
@@ -71,8 +71,8 @@ export declare const PUBLIC_ENDPOINT_HTTP_REASON = "The public endpoint needs an
71
71
  * May `baseUrl` carry `role`? The address check above, plus two role rules:
72
72
  * the app link carries `notificationTaps` only (it is not a hub address), and
73
73
  * a plain-http address carries `publicEndpoint` only when the operator
74
- * explicitly accepted it (`acceptInsecureHttp`) — a LAN-only password or
75
- * magic-link sign-in works over http, a passkey or an OIDC callback does not.
74
+ * explicitly accepted it (`acceptInsecureHttp`) — a LAN-only password
75
+ * sign-in works over http, a passkey or an OIDC callback does not.
76
76
  */
77
77
  export declare function checkRoleAddress(role: HubAddressRole, baseUrl: string, options?: {
78
78
  readonly acceptInsecureHttp?: boolean;