@camstack/addon-training 0.1.33 → 0.1.34

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 (25) hide show
  1. package/dist/{MotionZonesSettings-DoUEe4WF.mjs → MotionZonesSettings-DmGil-Sd.mjs} +3 -3
  2. package/dist/{PrivacyMaskSettings-iFKfZ5c0.mjs → PrivacyMaskSettings--gz2eSGB.mjs} +4 -4
  3. package/dist/{SceneMonitorEditor-LX1mAT8M.mjs → SceneMonitorEditor-CslVp3Z2.mjs} +3 -3
  4. package/dist/_stub.js +13 -13
  5. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-jHBM2Hh7.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BeFr_KhE.mjs} +3 -3
  6. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DnH0udRu.mjs +26 -0
  7. package/dist/addon-training.css +1 -1
  8. package/dist/{dist-BMkD7tAc.mjs → dist-8focs11m.mjs} +102 -13
  9. package/dist/{dist-k9SdzZBB.js → dist-BH64IPHN.js} +102 -13
  10. package/dist/{grid-2x2-CJ-EVenJ.mjs → grid-2x2-qyJL_j_g.mjs} +1 -1
  11. package/dist/{hostInit-DUCS6DMR.mjs → hostInit-B8LEaHwH.mjs} +2 -2
  12. package/dist/index.js +1 -1
  13. package/dist/orchestrator/training.addon.js +1 -1
  14. package/dist/orchestrator/training.addon.mjs +1 -1
  15. package/dist/{player-overlays-CeSu_AC4.mjs → player-overlays-CCJGDv3A.mjs} +1 -1
  16. package/dist/providers/modal/training-modal.addon.js +1 -1
  17. package/dist/providers/modal/training-modal.addon.mjs +1 -1
  18. package/dist/remoteEntry.js +1 -1
  19. package/dist/{responsive-CXEWggtS.mjs → responsive-BVIV-dmc.mjs} +1 -1
  20. package/dist/{scene-monitor-copy-BuIo6qi2.mjs → scene-monitor-copy-Be4537Z1.mjs} +1 -1
  21. package/dist/{square-DMtRWe-j.mjs → square-GyEX7ul6.mjs} +1 -1
  22. package/dist/{trash-2-HBC8dnmH.mjs → trash-2-BpoLIu7c.mjs} +1 -1
  23. package/dist/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-BU19oDd0.mjs → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CkcnEQXW.mjs} +1 -1
  24. package/package.json +1 -1
  25. package/dist/_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CNvuVA0z.mjs +0 -26
@@ -5387,7 +5387,7 @@ var ZodIssueCode = {
5387
5387
  var ZodFirstPartyTypeKind;
5388
5388
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5389
5389
  //#endregion
5390
- //#region ../types/dist/sleep-Tkp9dHXv.mjs
5390
+ //#region ../types/dist/sleep-B_3F_YwS.mjs
5391
5391
  /**
5392
5392
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5393
5393
  * window to float samples (D455).
@@ -7988,6 +7988,21 @@ var ProfileRtspEntrySchema = object({
7988
7988
  codec: string().optional(),
7989
7989
  resolution: CamStreamResolutionSchema.optional()
7990
7990
  });
7991
+ /**
7992
+ * The model weight formats a catalog entry can ship. Schema-free on purpose:
7993
+ * `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
7994
+ * (the model downloader in `@camstack/system`) needs only the list and must
7995
+ * reach it through `@camstack/types/addon` without building the cap schema
7996
+ * graph (D28).
7997
+ */
7998
+ var MODEL_FORMATS = [
7999
+ "onnx",
8000
+ "coreml",
8001
+ "openvino",
8002
+ "tflite",
8003
+ "pt",
8004
+ "gguf"
8005
+ ];
7991
8006
  object({
7992
8007
  field: string().min(1),
7993
8008
  on: literal("advance")
@@ -8461,7 +8476,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8461
8476
  return DeviceRole;
8462
8477
  }({});
8463
8478
  //#endregion
8464
- //#region ../types/dist/composition-Bzr7GwgP.mjs
8479
+ //#region ../types/dist/composition-C-WpVYTX.mjs
8465
8480
  /**
8466
8481
  * The ffmpeg build every CamStack node downloads, per platform and arch.
8467
8482
  *
@@ -8513,7 +8528,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
8513
8528
  function portable(target) {
8514
8529
  return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
8515
8530
  }
8516
- portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64");
8531
+ portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
8517
8532
  /**
8518
8533
  * THE table "which boolean of this device type counts as HIGH", and the
8519
8534
  * pure evaluator of its EDGE.
@@ -11723,14 +11738,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
11723
11738
  ...CROP_SUPPLY_STEP_IDS,
11724
11739
  ...MASK_SUPPLY_STEP_IDS
11725
11740
  ];
11726
- var MODEL_FORMATS = [
11727
- "onnx",
11728
- "coreml",
11729
- "openvino",
11730
- "tflite",
11731
- "pt",
11732
- "gguf"
11733
- ];
11734
11741
  /**
11735
11742
  * Multi-file format payload.
11736
11743
  *
@@ -13894,6 +13901,16 @@ var BrokerClientsSchema = object({
13894
13901
  /** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
13895
13902
  encodedSubscribers: number()
13896
13903
  });
13904
+ /**
13905
+ * How many people are watching one camera LIVE right now — see
13906
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
13907
+ * (so `viewers` is always at least 1): the listing carries the cameras that
13908
+ * have viewers, never a row of zeros.
13909
+ */
13910
+ var LiveViewerCountSchema = object({
13911
+ deviceId: number().int().nonnegative(),
13912
+ viewers: number().int().positive()
13913
+ });
13897
13914
  _enum([
13898
13915
  "reconnecting",
13899
13916
  "sleeping",
@@ -14254,7 +14271,7 @@ method(object({
14254
14271
  }), {
14255
14272
  kind: "mutation",
14256
14273
  auth: "admin"
14257
- }), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
14274
+ }), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
14258
14275
  brokerId: string(),
14259
14276
  channel: _enum(["rtsp", "audio"]),
14260
14277
  handle: string()
@@ -27665,6 +27682,12 @@ var CameraStepOverridePatchSchema = object({
27665
27682
  settings: record(string(), unknown()).readonly().optional()
27666
27683
  });
27667
27684
  var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
27685
+ /** The three root-detector choices a camera has (D507: at most one root). */
27686
+ var CameraDetectionSourceSchema = _enum([
27687
+ "pipeline",
27688
+ "onboard",
27689
+ "none"
27690
+ ]);
27668
27691
  var CameraPipelineSettingsSchema = object({
27669
27692
  stepToggles: record(string(), boolean()).optional(),
27670
27693
  stepSettings: CameraStepSettingsSchema.optional(),
@@ -28242,6 +28265,26 @@ method(object({
28242
28265
  }), object({ success: literal(true) }), {
28243
28266
  kind: "mutation",
28244
28267
  auth: "admin"
28268
+ }), method(object({ deviceId: number() }), object({
28269
+ source: CameraDetectionSourceSchema,
28270
+ explicit: boolean(),
28271
+ onboard: object({
28272
+ /** The camera has an onboard detector this system can read. */
28273
+ available: boolean(),
28274
+ /** What its detections carry — a camera with no box cannot be a root step. */
28275
+ geometry: _enum([
28276
+ "boxed",
28277
+ "while-streaming",
28278
+ "flag-only",
28279
+ "unknown"
28280
+ ])
28281
+ })
28282
+ })), method(object({
28283
+ deviceId: number(),
28284
+ source: CameraDetectionSourceSchema
28285
+ }), object({ success: literal(true) }), {
28286
+ kind: "mutation",
28287
+ auth: "admin"
28245
28288
  }), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
28246
28289
  deviceId: number(),
28247
28290
  agentNodeId: string(),
@@ -31573,6 +31616,17 @@ var BatteryStatusSchema = object({
31573
31616
  */
31574
31617
  lastContactAt: number().optional(),
31575
31618
  /**
31619
+ * Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
31620
+ * holds for the device (level, charging, link, device info, state slices) and
31621
+ * its cached snapshot, read together. Absent = never since this slice was
31622
+ * born. Unlike `lastUpdated` (any write, even a push of one field) this is
31623
+ * the staleness an operator can trust: the provider owns the device fact and
31624
+ * so owns the window on its age (D224, D847). Not a clock in the
31625
+ * runtime-state-durability sense: it moves once per window and must survive
31626
+ * a restart, or every restart would owe the camera a wake.
31627
+ */
31628
+ lastFullRefreshAt: number().optional(),
31629
+ /**
31576
31630
  * True when the source is a BINARY low-battery indicator (HA
31577
31631
  * `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
31578
31632
  * charge level — `percentage` is then a coarse stand-in (100 = normal,
@@ -34788,7 +34842,14 @@ var TopologyNodeSchema = object({
34788
34842
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
34789
34843
  * for offline rows and when the hub cannot tell.
34790
34844
  */
34791
- meshTransport: _enum(["tls", "clear"]).optional()
34845
+ meshTransport: _enum(["tls", "clear"]).optional(),
34846
+ /**
34847
+ * Whether the hub holds this online AGENT's capability registration (its
34848
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
34849
+ * hub dropped the registration on a disconnect only it saw and the agent has
34850
+ * not re-sent it. Absent for the hub and offline rows.
34851
+ */
34852
+ capabilitiesRegistered: boolean().optional()
34792
34853
  });
34793
34854
  var CapUsageEdgeSchema = object({
34794
34855
  callerAddonId: string(),
@@ -45050,6 +45111,12 @@ Object.freeze({
45050
45111
  addonId: null,
45051
45112
  access: "view"
45052
45113
  },
45114
+ "pipelineOrchestrator.getCameraDetectionSource": {
45115
+ capName: "pipeline-orchestrator",
45116
+ capScope: "system",
45117
+ addonId: null,
45118
+ access: "view"
45119
+ },
45053
45120
  "pipelineOrchestrator.getCameraMetrics": {
45054
45121
  capName: "pipeline-orchestrator",
45055
45122
  capScope: "system",
@@ -45278,6 +45345,12 @@ Object.freeze({
45278
45345
  addonId: null,
45279
45346
  access: "create"
45280
45347
  },
45348
+ "pipelineOrchestrator.setCameraDetectionSource": {
45349
+ capName: "pipeline-orchestrator",
45350
+ capScope: "system",
45351
+ addonId: null,
45352
+ access: "create"
45353
+ },
45281
45354
  "pipelineOrchestrator.setCameraPipelineForAgent": {
45282
45355
  capName: "pipeline-orchestrator",
45283
45356
  capScope: "system",
@@ -46730,6 +46803,12 @@ Object.freeze({
46730
46803
  addonId: null,
46731
46804
  access: "view"
46732
46805
  },
46806
+ "streamBroker.getLiveViewerCounts": {
46807
+ capName: "stream-broker",
46808
+ capScope: "system",
46809
+ addonId: null,
46810
+ access: "view"
46811
+ },
46733
46812
  "streamBroker.getPreBufferInfo": {
46734
46813
  capName: "stream-broker",
46735
46814
  capScope: "system",
@@ -50875,6 +50954,11 @@ Object.freeze({
50875
50954
  form: "single",
50876
50955
  optional: false
50877
50956
  }],
50957
+ "pipelineOrchestrator.getCameraDetectionSource": [{
50958
+ name: "deviceId",
50959
+ form: "single",
50960
+ optional: false
50961
+ }],
50878
50962
  "pipelineOrchestrator.getCameraMetrics": [{
50879
50963
  name: "deviceId",
50880
50964
  form: "single",
@@ -50935,6 +51019,11 @@ Object.freeze({
50935
51019
  form: "single",
50936
51020
  optional: false
50937
51021
  }],
51022
+ "pipelineOrchestrator.setCameraDetectionSource": [{
51023
+ name: "deviceId",
51024
+ form: "single",
51025
+ optional: false
51026
+ }],
50938
51027
  "pipelineOrchestrator.setCameraPipelineForAgent": [{
50939
51028
  name: "deviceId",
50940
51029
  form: "single",
@@ -5420,7 +5420,7 @@ var ZodIssueCode = {
5420
5420
  var ZodFirstPartyTypeKind;
5421
5421
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5422
5422
  //#endregion
5423
- //#region ../types/dist/sleep-Tkp9dHXv.mjs
5423
+ //#region ../types/dist/sleep-B_3F_YwS.mjs
5424
5424
  /**
5425
5425
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5426
5426
  * window to float samples (D455).
@@ -8021,6 +8021,21 @@ var ProfileRtspEntrySchema = object({
8021
8021
  codec: string().optional(),
8022
8022
  resolution: CamStreamResolutionSchema.optional()
8023
8023
  });
8024
+ /**
8025
+ * The model weight formats a catalog entry can ship. Schema-free on purpose:
8026
+ * `types/models.ts` builds Zod schemas from it, but a runner-closure consumer
8027
+ * (the model downloader in `@camstack/system`) needs only the list and must
8028
+ * reach it through `@camstack/types/addon` without building the cap schema
8029
+ * graph (D28).
8030
+ */
8031
+ var MODEL_FORMATS = [
8032
+ "onnx",
8033
+ "coreml",
8034
+ "openvino",
8035
+ "tflite",
8036
+ "pt",
8037
+ "gguf"
8038
+ ];
8024
8039
  object({
8025
8040
  field: string().min(1),
8026
8041
  on: literal("advance")
@@ -8494,7 +8509,7 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
8494
8509
  return DeviceRole;
8495
8510
  }({});
8496
8511
  //#endregion
8497
- //#region ../types/dist/composition-Bzr7GwgP.mjs
8512
+ //#region ../types/dist/composition-C-WpVYTX.mjs
8498
8513
  /**
8499
8514
  * The ffmpeg build every CamStack node downloads, per platform and arch.
8500
8515
  *
@@ -8546,7 +8561,7 @@ var BASE = `https://github.com/jellyfin/jellyfin-ffmpeg/releases/download/v${FFM
8546
8561
  function portable(target) {
8547
8562
  return `${BASE}/jellyfin-ffmpeg_${FFMPEG_RELEASE}_portable_${target}-gpl.tar.xz`;
8548
8563
  }
8549
- portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64");
8564
+ portable("linux64"), portable("linuxarm64"), portable("macarm64"), portable("mac64"), `${BASE}${FFMPEG_RELEASE}`;
8550
8565
  /**
8551
8566
  * THE table "which boolean of this device type counts as HIGH", and the
8552
8567
  * pure evaluator of its EDGE.
@@ -11756,14 +11771,6 @@ var MASK_SUPPLY_STEP_IDS = ["segmentation"];
11756
11771
  ...CROP_SUPPLY_STEP_IDS,
11757
11772
  ...MASK_SUPPLY_STEP_IDS
11758
11773
  ];
11759
- var MODEL_FORMATS = [
11760
- "onnx",
11761
- "coreml",
11762
- "openvino",
11763
- "tflite",
11764
- "pt",
11765
- "gguf"
11766
- ];
11767
11774
  /**
11768
11775
  * Multi-file format payload.
11769
11776
  *
@@ -13927,6 +13934,16 @@ var BrokerClientsSchema = object({
13927
13934
  /** Total encoded + raw-RTP callback subscriber count (sum of `encoded[].length`). */
13928
13935
  encodedSubscribers: number()
13929
13936
  });
13937
+ /**
13938
+ * How many people are watching one camera LIVE right now — see
13939
+ * `getLiveViewerCounts`. A camera with nobody watching is absent from the list
13940
+ * (so `viewers` is always at least 1): the listing carries the cameras that
13941
+ * have viewers, never a row of zeros.
13942
+ */
13943
+ var LiveViewerCountSchema = object({
13944
+ deviceId: number().int().nonnegative(),
13945
+ viewers: number().int().positive()
13946
+ });
13930
13947
  _enum([
13931
13948
  "reconnecting",
13932
13949
  "sleeping",
@@ -14287,7 +14304,7 @@ method(object({
14287
14304
  }), {
14288
14305
  kind: "mutation",
14289
14306
  auth: "admin"
14290
- }), method(object({ brokerId: string() }), BrokerClientsSchema), method(object({
14307
+ }), method(object({ brokerId: string() }), BrokerClientsSchema), method(_void(), array(LiveViewerCountSchema).readonly()), method(object({
14291
14308
  brokerId: string(),
14292
14309
  channel: _enum(["rtsp", "audio"]),
14293
14310
  handle: string()
@@ -27698,6 +27715,12 @@ var CameraStepOverridePatchSchema = object({
27698
27715
  settings: record(string(), unknown()).readonly().optional()
27699
27716
  });
27700
27717
  var CameraStepSettingsSchema = record(string(), record(string(), unknown()).readonly());
27718
+ /** The three root-detector choices a camera has (D507: at most one root). */
27719
+ var CameraDetectionSourceSchema = _enum([
27720
+ "pipeline",
27721
+ "onboard",
27722
+ "none"
27723
+ ]);
27701
27724
  var CameraPipelineSettingsSchema = object({
27702
27725
  stepToggles: record(string(), boolean()).optional(),
27703
27726
  stepSettings: CameraStepSettingsSchema.optional(),
@@ -28275,6 +28298,26 @@ method(object({
28275
28298
  }), object({ success: literal(true) }), {
28276
28299
  kind: "mutation",
28277
28300
  auth: "admin"
28301
+ }), method(object({ deviceId: number() }), object({
28302
+ source: CameraDetectionSourceSchema,
28303
+ explicit: boolean(),
28304
+ onboard: object({
28305
+ /** The camera has an onboard detector this system can read. */
28306
+ available: boolean(),
28307
+ /** What its detections carry — a camera with no box cannot be a root step. */
28308
+ geometry: _enum([
28309
+ "boxed",
28310
+ "while-streaming",
28311
+ "flag-only",
28312
+ "unknown"
28313
+ ])
28314
+ })
28315
+ })), method(object({
28316
+ deviceId: number(),
28317
+ source: CameraDetectionSourceSchema
28318
+ }), object({ success: literal(true) }), {
28319
+ kind: "mutation",
28320
+ auth: "admin"
28278
28321
  }), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
28279
28322
  deviceId: number(),
28280
28323
  agentNodeId: string(),
@@ -31606,6 +31649,17 @@ var BatteryStatusSchema = object({
31606
31649
  */
31607
31650
  lastContactAt: number().optional(),
31608
31651
  /**
31652
+ * Ms epoch of the last COMPLETE scheduled refresh — every fact the provider
31653
+ * holds for the device (level, charging, link, device info, state slices) and
31654
+ * its cached snapshot, read together. Absent = never since this slice was
31655
+ * born. Unlike `lastUpdated` (any write, even a push of one field) this is
31656
+ * the staleness an operator can trust: the provider owns the device fact and
31657
+ * so owns the window on its age (D224, D847). Not a clock in the
31658
+ * runtime-state-durability sense: it moves once per window and must survive
31659
+ * a restart, or every restart would owe the camera a wake.
31660
+ */
31661
+ lastFullRefreshAt: number().optional(),
31662
+ /**
31609
31663
  * True when the source is a BINARY low-battery indicator (HA
31610
31664
  * `binary_sensor` device_class=battery / `LOW_BAT`) that has no real
31611
31665
  * charge level — `percentage` is then a coarse stand-in (100 = normal,
@@ -34821,7 +34875,14 @@ var TopologyNodeSchema = object({
34821
34875
  * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
34822
34876
  * for offline rows and when the hub cannot tell.
34823
34877
  */
34824
- meshTransport: _enum(["tls", "clear"]).optional()
34878
+ meshTransport: _enum(["tls", "clear"]).optional(),
34879
+ /**
34880
+ * Whether the hub holds this online AGENT's capability registration (its
34881
+ * `registerNode` manifest). `false` = online in the mesh but not ready: the
34882
+ * hub dropped the registration on a disconnect only it saw and the agent has
34883
+ * not re-sent it. Absent for the hub and offline rows.
34884
+ */
34885
+ capabilitiesRegistered: boolean().optional()
34825
34886
  });
34826
34887
  var CapUsageEdgeSchema = object({
34827
34888
  callerAddonId: string(),
@@ -45083,6 +45144,12 @@ Object.freeze({
45083
45144
  addonId: null,
45084
45145
  access: "view"
45085
45146
  },
45147
+ "pipelineOrchestrator.getCameraDetectionSource": {
45148
+ capName: "pipeline-orchestrator",
45149
+ capScope: "system",
45150
+ addonId: null,
45151
+ access: "view"
45152
+ },
45086
45153
  "pipelineOrchestrator.getCameraMetrics": {
45087
45154
  capName: "pipeline-orchestrator",
45088
45155
  capScope: "system",
@@ -45311,6 +45378,12 @@ Object.freeze({
45311
45378
  addonId: null,
45312
45379
  access: "create"
45313
45380
  },
45381
+ "pipelineOrchestrator.setCameraDetectionSource": {
45382
+ capName: "pipeline-orchestrator",
45383
+ capScope: "system",
45384
+ addonId: null,
45385
+ access: "create"
45386
+ },
45314
45387
  "pipelineOrchestrator.setCameraPipelineForAgent": {
45315
45388
  capName: "pipeline-orchestrator",
45316
45389
  capScope: "system",
@@ -46763,6 +46836,12 @@ Object.freeze({
46763
46836
  addonId: null,
46764
46837
  access: "view"
46765
46838
  },
46839
+ "streamBroker.getLiveViewerCounts": {
46840
+ capName: "stream-broker",
46841
+ capScope: "system",
46842
+ addonId: null,
46843
+ access: "view"
46844
+ },
46766
46845
  "streamBroker.getPreBufferInfo": {
46767
46846
  capName: "stream-broker",
46768
46847
  capScope: "system",
@@ -50908,6 +50987,11 @@ Object.freeze({
50908
50987
  form: "single",
50909
50988
  optional: false
50910
50989
  }],
50990
+ "pipelineOrchestrator.getCameraDetectionSource": [{
50991
+ name: "deviceId",
50992
+ form: "single",
50993
+ optional: false
50994
+ }],
50911
50995
  "pipelineOrchestrator.getCameraMetrics": [{
50912
50996
  name: "deviceId",
50913
50997
  form: "single",
@@ -50968,6 +51052,11 @@ Object.freeze({
50968
51052
  form: "single",
50969
51053
  optional: false
50970
51054
  }],
51055
+ "pipelineOrchestrator.setCameraDetectionSource": [{
51056
+ name: "deviceId",
51057
+ form: "single",
51058
+ optional: false
51059
+ }],
50971
51060
  "pipelineOrchestrator.setCameraPipelineForAgent": [{
50972
51061
  name: "deviceId",
50973
51062
  form: "single",
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-CXEWggtS.mjs";
1
+ import { b as e } from "./responsive-BVIV-dmc.mjs";
2
2
  var t = e("grid-2x2", [
3
3
  ["path", {
4
4
  d: "M12 3v18",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.2.354",
39
+ version: "1.2.358",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,
@@ -81,7 +81,7 @@ async function r() {
81
81
  }
82
82
  },
83
83
  "@camstack/ui-library": {
84
- version: "1.2.281",
84
+ version: "1.2.282",
85
85
  scope: "default",
86
86
  shareConfig: {
87
87
  singleton: !0,
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("./dist-k9SdzZBB.js");
2
+ require("./dist-BH64IPHN.js");
3
3
  const require_orchestrator_training_addon = require("./orchestrator/training.addon.js");
4
4
  const require_providers_modal_training_modal_addon = require("./providers/modal/training-modal.addon.js");
5
5
  //#region src/providers/fake/fake-provider.ts
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../dist-k9SdzZBB.js");
2
+ const require_dist = require("../dist-BH64IPHN.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-BMkD7tAc.mjs";
1
+ import { a as addonPagesSourceCapability, i as TrainingResultSchema, l as BaseAddon, n as TrainingJobSchema, o as parseTrainingEventLine, r as TrainingJobSpecSchema, s as trainingCapability, t as TRAINING_JOB_SCHEMA } from "../dist-8focs11m.mjs";
2
2
  import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { createReadStream } from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, l as n, u as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { b as i, y as a } from "./responsive-CXEWggtS.mjs";
2
+ import { b as i, y as a } from "./responsive-BVIV-dmc.mjs";
3
3
  import { n as o, r as s, t as c } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
4
4
  var l = i("chevron-down", [["path", {
5
5
  d: "m6 9 6 6 6-6",
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_dist = require("../../dist-k9SdzZBB.js");
2
+ const require_dist = require("../../dist-BH64IPHN.js");
3
3
  let node_path = require("node:path");
4
4
  node_path = require_dist.__toESM(node_path, 1);
5
5
  let node_crypto = require("node:crypto");
@@ -1,4 +1,4 @@
1
- import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-BMkD7tAc.mjs";
1
+ import { _ as number, b as string, c as trainingProviderCapability, d as arrayItemFieldPath, f as globalSecretScope, g as boolean, h as toSecretFieldView, l as BaseAddon, m as isSecretMarker, p as isSecretClear, u as SECRET_CLEAR, v as object, y as record } from "../../dist-8focs11m.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import path, { dirname, posix } from "node:path";
4
4
  import { createHash, createPrivateKey, createPublicKey, createSign, randomBytes, randomUUID } from "node:crypto";
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-BU19oDd0.mjs";
1
+ import { n as e, t } from "./virtual_mf-REMOTE_ENTRY_ID___mfe_internal__addon_training_page__remoteEntry_js-CkcnEQXW.mjs";
2
2
  export { t as get, e as init };
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, c as n, l as r, m as i, n as a, r as o, t as s, u as c, v as l } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { h as u } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-CNvuVA0z.mjs";
2
+ import { h as u } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DnH0udRu.mjs";
3
3
  import "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-DnrbBvrw.mjs";
4
4
  //#region ../../node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
5
5
  e();
@@ -1,5 +1,5 @@
1
1
  import { S as e, _ as t, c as n, m as r } from "./_virtual_mf___mfe_internal__addon_training_page__loadShare__react__loadShare__.js-DeDbF7NI.mjs";
2
- import { b as i } from "./responsive-CXEWggtS.mjs";
2
+ import { b as i } from "./responsive-BVIV-dmc.mjs";
3
3
  var a = i("camera", [["path", {
4
4
  d: "M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",
5
5
  key: "18u6gg"
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-CXEWggtS.mjs";
1
+ import { b as e } from "./responsive-BVIV-dmc.mjs";
2
2
  var t = e("eye-off", [
3
3
  ["path", {
4
4
  d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
@@ -1,4 +1,4 @@
1
- import { b as e } from "./responsive-CXEWggtS.mjs";
1
+ import { b as e } from "./responsive-BVIV-dmc.mjs";
2
2
  var t = e("trash-2", [
3
3
  ["path", {
4
4
  d: "M10 11v6",
@@ -2762,7 +2762,7 @@ async function or(e) {
2762
2762
  }
2763
2763
  }
2764
2764
  async function sr() {
2765
- return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-jHBM2Hh7.mjs")).catch((e) => {
2765
+ return ir ||= or(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_training_page-BeFr_KhE.mjs")).catch((e) => {
2766
2766
  throw ir = void 0, e;
2767
2767
  }), ir;
2768
2768
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-training",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
4
4
  "description": "Cloud training for CamStack: fine-tune the root detector on your own frames, on your own GPU-cloud account",
5
5
  "keywords": [
6
6
  "camstack",