@camstack/system 1.2.364 → 1.2.366

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 (72) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/addon-utils.d.ts +1 -1
  4. package/dist/addon-utils.js +3 -1
  5. package/dist/addon-utils.mjs +2 -2
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  10. package/dist/builtins/alerts/alerts.addon.js +1 -1
  11. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  27. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  28. package/dist/builtins/hub-forwarder/index.js +1 -1
  29. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  31. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  32. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  33. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  34. package/dist/builtins/local-network/local-network.addon.js +1 -1
  35. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  36. package/dist/builtins/loki-logging/index.js +1 -1
  37. package/dist/builtins/loki-logging/index.mjs +1 -1
  38. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  39. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  40. package/dist/builtins/platform-probe/index.js +1 -1
  41. package/dist/builtins/platform-probe/index.mjs +1 -1
  42. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  43. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/snapshot/index.js +1 -1
  45. package/dist/builtins/snapshot/index.mjs +1 -1
  46. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  47. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  49. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  50. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  51. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  52. package/dist/builtins/system-config/system-config.addon.js +1 -1
  53. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  54. package/dist/builtins/winston-logging/index.js +1 -1
  55. package/dist/builtins/winston-logging/index.mjs +1 -1
  56. package/dist/{child-cap-dispatch-B79ITdeA.js → child-cap-dispatch-D9uoEW2A.js} +1 -1
  57. package/dist/{child-cap-dispatch-CtBHqm2J.mjs → child-cap-dispatch-tHbRfy_7.mjs} +1 -1
  58. package/dist/{composition-sources-CNVBIV_9.js → composition-sources-AHfMboGi.js} +1 -1
  59. package/dist/{composition-sources-Dj84elbu.mjs → composition-sources-GjJ1QxMC.mjs} +1 -1
  60. package/dist/{dist-C-IdBSWx.mjs → dist-BUfYKaXx.mjs} +321 -14
  61. package/dist/{dist-DiScyAO6.js → dist-ub3muPSW.js} +338 -13
  62. package/dist/download/hosted-model-revisions.d.ts +10 -0
  63. package/dist/download/model-download-service.d.ts +8 -14
  64. package/dist/download/model-downloader.d.ts +44 -2
  65. package/dist/{event-loop-stall-monitor-NFG6boF5.mjs → event-loop-stall-monitor-CPI1xIcd.mjs} +300 -126
  66. package/dist/{event-loop-stall-monitor-CuTt1wq7.js → event-loop-stall-monitor-j0DRBkuI.js} +317 -125
  67. package/dist/index.d.ts +2 -2
  68. package/dist/index.js +6 -3
  69. package/dist/index.mjs +4 -4
  70. package/dist/{retired-settings-keys-CJpnYIp1.js → retired-settings-keys-DNCxYHe1.js} +1 -1
  71. package/dist/{retired-settings-keys-DIzyi9Jf.mjs → retired-settings-keys-Du41eTrH.mjs} +1 -1
  72. package/package.json +1 -1
@@ -7917,16 +7917,53 @@ var ModelFormatEntrySchema = z.object({
7917
7917
  /** Runtime(s) that can use this format. If omitted, inferred from ModelFormat key */
7918
7918
  runtimes: z.array(z.enum(["python"])).readonly().optional(),
7919
7919
  /**
7920
- * Content revision of the hosted artefact. Set it, or change it, whenever
7921
- * the bytes at `url` are replaced in place (same path, new content). A node
7922
- * records the revision it downloaded next to the file
7920
+ * Content revision of the artefact, for one hosted OFF the CamStack mirror.
7921
+ * A format on the mirror leaves it unset: its revision (the sha256 of its
7922
+ * weight file) comes from the downloader's generated table, kept in step
7923
+ * with the mirror by `scripts/check-hosted-model-revisions.ts` (D744). A
7924
+ * node records the revision it downloaded next to the file
7923
7925
  * (`<file>.revision`); a copy with no record or a different one is stale
7924
- * and is downloaded again, the old copy serving until the new one is
7925
- * complete. Omitted ⇒ a file on disk is current, whatever it holds (D743).
7926
+ * unless its weight file hashes to the revision, and a stale copy is
7927
+ * downloaded again, the old one serving until the new one is complete. No
7928
+ * revision at all ⇒ a file on disk is current, whatever it holds (D743).
7926
7929
  */
7927
7930
  revision: z.string().min(1).optional()
7928
7931
  });
7929
7932
  /**
7933
+ * What a node holds for one (model, format) (D746). `current` is a complete
7934
+ * copy at its catalog revision — exactly what `downloaded: true` means.
7935
+ * `stale` is bytes on disk that are not (yet) proven current under D743/D744:
7936
+ * no or a different revision record, or a missing sibling. `missing` is no
7937
+ * copy. `downloaded` alone folds `stale` into "not downloaded", which hid
7938
+ * reclaimable bytes and a copy about to be replaced.
7939
+ */
7940
+ var ModelOnDiskStateSchema = z.enum([
7941
+ "current",
7942
+ "stale",
7943
+ "missing"
7944
+ ]);
7945
+ /**
7946
+ * The numeric precision of one format's BUILD (D746) — reported only when the
7947
+ * build states it (file-name token, an INT8 variant, an EdgeTPU compile, a
7948
+ * CamStack Core ML export). Absent means "not stated", never "fp32".
7949
+ */
7950
+ var ModelFormatPrecisionSchema = z.enum([
7951
+ "fp32",
7952
+ "fp16",
7953
+ "int8"
7954
+ ]);
7955
+ /**
7956
+ * One format of one model as a node's `pipelineExecutor.getSchema` reports it.
7957
+ * `onDisk` / `precision` are optional for version skew: a runner that predates
7958
+ * them omits them, and a reader falls back to `downloaded`.
7959
+ */
7960
+ var PipelineModelFormatStatusSchema = z.object({
7961
+ downloaded: z.boolean(),
7962
+ sizeMB: z.number(),
7963
+ onDisk: ModelOnDiskStateSchema.optional(),
7964
+ precision: ModelFormatPrecisionSchema.optional()
7965
+ });
7966
+ /**
7930
7967
  * Extra file that must be downloaded alongside the model (e.g., labels JSON, dict.txt).
7931
7968
  * The downloader fetches from `url` and saves to `{modelsDir}/{filename}`.
7932
7969
  */
@@ -25966,7 +26003,7 @@ var FrameRefSchema = z.object({
25966
26003
  timestamp: z.number(),
25967
26004
  capturedAt: z.number().optional()
25968
26005
  });
25969
- var ModelFormatSchema$1 = z.enum([
26006
+ var ModelFormatSchema$2 = z.enum([
25970
26007
  "onnx",
25971
26008
  "coreml",
25972
26009
  "openvino",
@@ -25984,7 +26021,7 @@ var PipelineSlotSchema = z.enum([
25984
26021
  var PipelineEngineChoiceSchema = z.object({
25985
26022
  runtime: z.literal("python"),
25986
26023
  backend: z.string(),
25987
- format: ModelFormatSchema$1,
26024
+ format: ModelFormatSchema$2,
25988
26025
  device: z.string().optional()
25989
26026
  });
25990
26027
  /**
@@ -26042,10 +26079,7 @@ var PipelineTemplateSchema$1 = z.object({
26042
26079
  var PipelineModelOptionSchema = z.object({
26043
26080
  id: z.string(),
26044
26081
  name: z.string(),
26045
- formats: z.record(z.string(), z.object({
26046
- downloaded: z.boolean(),
26047
- sizeMB: z.number()
26048
- })),
26082
+ formats: z.record(z.string(), PipelineModelFormatStatusSchema),
26049
26083
  group: ModelVariantGroupSchema.optional(),
26050
26084
  legacy: z.boolean().optional(),
26051
26085
  provider: ModelProviderIdSchema.optional(),
@@ -26260,6 +26294,32 @@ var pipelineExecutorCapability = {
26260
26294
  auth: "admin"
26261
26295
  }),
26262
26296
  /**
26297
+ * Best settings (D745): the MODEL-BOUND thresholds (`bindsToModel` keys of
26298
+ * the object-detection root, and their binding keys) stored in THIS node's
26299
+ * per-camera detector settings — and, unless `dryRun`, remove them so the
26300
+ * running model's own defaults apply. Every other key of a camera's store
26301
+ * is kept. `nodeId` is the ROUTING key. `deviceIds` absent ⇒ every camera
26302
+ * with a store. A camera whose store could not be read is `refused`, never
26303
+ * reported as clean.
26304
+ */
26305
+ clearModelBoundDeviceOverrides: method(z.object({
26306
+ nodeId: z.string(),
26307
+ deviceIds: z.array(z.number()).readonly().optional(),
26308
+ dryRun: z.boolean()
26309
+ }), z.object({
26310
+ entries: z.array(z.object({
26311
+ deviceId: z.number(),
26312
+ keys: z.array(z.string()).readonly()
26313
+ })).readonly(),
26314
+ refused: z.array(z.object({
26315
+ deviceId: z.number(),
26316
+ reason: z.string()
26317
+ })).readonly()
26318
+ }), {
26319
+ kind: "mutation",
26320
+ auth: "admin"
26321
+ }),
26322
+ /**
26263
26323
  * Which of THIS node's inference devices the executor currently refuses,
26264
26324
  * and why. `nodeId` is the ROUTING key (stripped by the generated router).
26265
26325
  *
@@ -26354,12 +26414,12 @@ var pipelineExecutorCapability = {
26354
26414
  downloadModel: method(z.object({
26355
26415
  addonId: z.string(),
26356
26416
  modelId: z.string(),
26357
- format: ModelFormatSchema$1
26417
+ format: ModelFormatSchema$2
26358
26418
  }), DownloadModelResultSchema, { kind: "mutation" }),
26359
26419
  deleteModel: method(z.object({
26360
26420
  addonId: z.string(),
26361
26421
  modelId: z.string(),
26362
- format: ModelFormatSchema$1
26422
+ format: ModelFormatSchema$2
26363
26423
  }), z.object({ success: z.literal(true) }), { kind: "mutation" }),
26364
26424
  /**
26365
26425
  * Stateless single-frame execution. Callers (runner, benchmark) pass
@@ -26605,6 +26665,204 @@ var pipelineExecutorCapability = {
26605
26665
  getDetectionConfigSchema: method(z.void(), ConfigUISchemaNullableBridge)
26606
26666
  }
26607
26667
  };
26668
+ /**
26669
+ * The wire shapes of the Best settings plan and apply (D745), used by the
26670
+ * `pipeline-orchestrator` cap. The recommender's own types
26671
+ * (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
26672
+ * schemas are what crosses the cap boundary.
26673
+ */
26674
+ var ModelFormatSchema$1 = z.enum(MODEL_FORMATS);
26675
+ var HardwareClassIdSchema = z.enum([
26676
+ "intel-core-ultra",
26677
+ "intel-n-series",
26678
+ "apple-m-base",
26679
+ "apple-m-pro",
26680
+ "unknown"
26681
+ ]);
26682
+ var AcceleratorKindSchema = z.enum([
26683
+ "intel-npu",
26684
+ "intel-igpu",
26685
+ "x86-cpu",
26686
+ "arm-cpu",
26687
+ "apple-ane",
26688
+ "coral"
26689
+ ]);
26690
+ var RecommendationReasonSchema = z.discriminatedUnion("kind", [
26691
+ z.object({
26692
+ kind: z.literal("fits"),
26693
+ utilisation: z.number()
26694
+ }),
26695
+ z.object({
26696
+ kind: z.literal("tie-faster"),
26697
+ over: z.string(),
26698
+ recallDelta: z.number()
26699
+ }),
26700
+ z.object({
26701
+ kind: z.literal("stepped-down"),
26702
+ from: z.string(),
26703
+ to: z.string(),
26704
+ limitedBy: z.string()
26705
+ }),
26706
+ z.object({
26707
+ kind: z.literal("no-fit-lightest"),
26708
+ utilisation: z.number()
26709
+ }),
26710
+ z.object({
26711
+ kind: z.literal("derived-latency"),
26712
+ modelId: z.string()
26713
+ }),
26714
+ z.object({
26715
+ kind: z.literal("estimated-load"),
26716
+ observedForMs: z.number().nullable()
26717
+ }),
26718
+ z.object({ kind: z.literal("cpu-device") }),
26719
+ z.object({ kind: z.literal("coral-untouched") }),
26720
+ z.object({ kind: z.literal("device-disabled") }),
26721
+ z.object({ kind: z.literal("device-unavailable") }),
26722
+ z.object({ kind: z.literal("node-offline") }),
26723
+ z.object({ kind: z.literal("no-hardware-facts") }),
26724
+ z.object({
26725
+ kind: z.literal("no-measured-data"),
26726
+ hardwareClass: HardwareClassIdSchema
26727
+ }),
26728
+ z.object({
26729
+ kind: z.literal("no-family-build"),
26730
+ format: ModelFormatSchema$1
26731
+ })
26732
+ ]);
26733
+ var DeviceDemandSchema = z.object({
26734
+ nodeId: z.string(),
26735
+ deviceKey: z.string(),
26736
+ demandFps: z.number(),
26737
+ maxCameraFps: z.number(),
26738
+ alwaysOnCameras: z.number(),
26739
+ onMotionSessions: z.number(),
26740
+ onMotionSource: z.enum([
26741
+ "observed-24h",
26742
+ "estimate",
26743
+ "none"
26744
+ ]),
26745
+ observedForMs: z.number().nullable()
26746
+ });
26747
+ var DeviceModelChoiceSchema = z.object({
26748
+ modelId: z.string(),
26749
+ p50Ms: z.number(),
26750
+ fps: z.number(),
26751
+ measured: z.boolean(),
26752
+ utilisation: z.number(),
26753
+ personRecall: z.number()
26754
+ });
26755
+ var DeviceRecommendationSchema = z.object({
26756
+ deviceKey: z.string(),
26757
+ accelerator: AcceleratorKindSchema.nullable(),
26758
+ enabled: z.boolean(),
26759
+ available: z.boolean(),
26760
+ demand: DeviceDemandSchema.nullable(),
26761
+ chosen: DeviceModelChoiceSchema.nullable(),
26762
+ reasons: z.array(RecommendationReasonSchema).readonly()
26763
+ });
26764
+ var NodeRecommendationSchema = z.object({
26765
+ nodeId: z.string(),
26766
+ reachable: z.boolean(),
26767
+ hardwareClass: HardwareClassIdSchema.nullable(),
26768
+ cpuModel: z.string().nullable(),
26769
+ skipped: z.boolean(),
26770
+ acceleratorModelId: z.string().nullable(),
26771
+ devices: z.array(DeviceRecommendationSchema).readonly(),
26772
+ reasons: z.array(RecommendationReasonSchema).readonly()
26773
+ });
26774
+ var ModelPinChangeSchema = z.object({
26775
+ stepId: z.string(),
26776
+ before: z.string().nullable(),
26777
+ after: z.string().nullable()
26778
+ });
26779
+ var NodeDeviceChangeSchema = z.object({
26780
+ nodeId: z.string(),
26781
+ deviceKey: z.string(),
26782
+ madeExplicit: z.boolean(),
26783
+ modelPins: z.array(ModelPinChangeSchema).readonly(),
26784
+ thresholds: z.array(z.object({
26785
+ stepId: z.string(),
26786
+ keys: z.array(z.string()).readonly()
26787
+ })).readonly()
26788
+ });
26789
+ var CameraOverrideClearSchema = z.object({
26790
+ deviceId: z.number(),
26791
+ source: z.enum(["step-override", "wholesale"]),
26792
+ nodeId: z.string(),
26793
+ deviceKey: z.string().nullable(),
26794
+ stepId: z.string(),
26795
+ modelIdBefore: z.string().nullable(),
26796
+ keys: z.array(z.string()).readonly()
26797
+ });
26798
+ var DetectorStoreClearSchema = z.object({
26799
+ deviceId: z.number(),
26800
+ keys: z.array(z.string()).readonly()
26801
+ });
26802
+ var BestSettingsWarningSchema = z.discriminatedUnion("kind", [
26803
+ z.object({
26804
+ kind: z.literal("detector-store-cluster-wide"),
26805
+ skippedNodes: z.array(z.string()).readonly()
26806
+ }),
26807
+ z.object({
26808
+ kind: z.literal("detector-store-unreadable"),
26809
+ error: z.string()
26810
+ }),
26811
+ z.object({
26812
+ kind: z.literal("coral-enabled"),
26813
+ nodeId: z.string(),
26814
+ deviceKey: z.string()
26815
+ })
26816
+ ]);
26817
+ var BestSettingsOptionsSchema = z.object({
26818
+ /** Share of each accelerator's throughput kept free (0.3–0.5). */
26819
+ headroom: z.number().min(.3).max(.5).default(.4) });
26820
+ var BestSettingsPlanSchema = z.object({
26821
+ /** Hash of everything the apply will write — the apply refuses a different one. */
26822
+ planHash: z.string(),
26823
+ family: z.literal("yolov9"),
26824
+ headroom: z.number(),
26825
+ generatedAt: z.number(),
26826
+ nodes: z.array(NodeRecommendationSchema).readonly(),
26827
+ nodeChanges: z.array(NodeDeviceChangeSchema).readonly(),
26828
+ cameraClears: z.array(CameraOverrideClearSchema).readonly(),
26829
+ detectorStoreClears: z.array(DetectorStoreClearSchema).readonly(),
26830
+ warnings: z.array(BestSettingsWarningSchema).readonly()
26831
+ });
26832
+ var BestSettingsApplyInputSchema = z.object({
26833
+ planHash: z.string(),
26834
+ headroom: z.number().min(.3).max(.5).default(.4)
26835
+ });
26836
+ var BestSettingsPhaseResultSchema = z.object({
26837
+ phase: z.enum([
26838
+ "download",
26839
+ "camera-overrides",
26840
+ "detector-thresholds",
26841
+ "node-models",
26842
+ "redispatch"
26843
+ ]),
26844
+ ok: z.boolean(),
26845
+ detail: z.string()
26846
+ });
26847
+ var BestSettingsApplyResultSchema = z.discriminatedUnion("kind", [
26848
+ z.object({
26849
+ kind: z.literal("applied"),
26850
+ planHash: z.string(),
26851
+ phases: z.array(BestSettingsPhaseResultSchema).readonly()
26852
+ }),
26853
+ z.object({
26854
+ kind: z.literal("aborted"),
26855
+ phases: z.array(BestSettingsPhaseResultSchema).readonly()
26856
+ }),
26857
+ z.object({
26858
+ kind: z.literal("stale"),
26859
+ plan: BestSettingsPlanSchema
26860
+ }),
26861
+ z.object({
26862
+ kind: z.literal("refused"),
26863
+ reason: z.enum(["apply-in-progress"])
26864
+ })
26865
+ ]);
26608
26866
  z.object({
26609
26867
  activeCameras: z.number(),
26610
26868
  throttledCameras: z.number(),
@@ -28825,6 +29083,27 @@ var pipelineOrchestratorCapability = {
28825
29083
  kind: "mutation",
28826
29084
  auth: "admin"
28827
29085
  }),
29086
+ /**
29087
+ * Best settings (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
29088
+ * for the whole cluster from each node's static hardware class, the
29089
+ * measured latency table and the detection demand, and lists every write
29090
+ * the apply would make: the node model pins set, the enrichment pins and
29091
+ * model-bound thresholds removed (node level and per camera), and the
29092
+ * per-camera detector thresholds cleared. Writes nothing. Step
29093
+ * enablement, device enablement, pins, recording, notifications, zones and
29094
+ * rules are never part of it. `planHash` names exactly this diff.
29095
+ */
29096
+ planBestSettings: method(BestSettingsOptionsSchema, BestSettingsPlanSchema, { auth: "admin" }),
29097
+ /**
29098
+ * Best settings (D745) — APPLY the plan the operator confirmed. Recomputes
29099
+ * the plan and refuses (`stale`, with the fresh plan) when its hash is not
29100
+ * `planHash`, so what is written is exactly the confirmed diff. Offline
29101
+ * nodes are skipped; there is no undo.
29102
+ */
29103
+ applyBestSettings: method(BestSettingsApplyInputSchema, BestSettingsApplyResultSchema, {
29104
+ kind: "mutation",
29105
+ auth: "admin"
29106
+ }),
28828
29107
  /** Read one camera's settings. Null when never touched (inherits agent defaults fully). */
28829
29108
  getCameraSettings: method(z.object({ deviceId: z.number() }), CameraPipelineSettingsSchema.nullable()),
28830
29109
  /** Set or clear the 3-state toggle for one (camera, addonId). Pass `enabled: null` to clear and revert to agent default. */
@@ -45922,6 +46201,8 @@ Object.freeze({
45922
46201
  vehicle: .65,
45923
46202
  animal: .65
45924
46203
  });
46204
+ var HF_REPO = "camstack/camstack-models";
46205
+ `${HF_REPO}`;
45925
46206
  /**
45926
46207
  * Runtime defaults -- used by ConfigManager.get() for backward compatibility
45927
46208
  * until Plan B wires all runtime settings to the system_settings SQL table.
@@ -51783,6 +52064,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
51783
52064
  addonId: null,
51784
52065
  access: "delete"
51785
52066
  },
52067
+ "pipelineExecutor.clearModelBoundDeviceOverrides": {
52068
+ capName: "pipeline-executor",
52069
+ capScope: "system",
52070
+ addonId: null,
52071
+ access: "delete"
52072
+ },
51786
52073
  "pipelineExecutor.deleteModel": {
51787
52074
  capName: "pipeline-executor",
51788
52075
  capScope: "system",
@@ -51999,6 +52286,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
51999
52286
  addonId: null,
52000
52287
  access: "view"
52001
52288
  },
52289
+ "pipelineOrchestrator.applyBestSettings": {
52290
+ capName: "pipeline-orchestrator",
52291
+ capScope: "system",
52292
+ addonId: null,
52293
+ access: "create"
52294
+ },
52002
52295
  "pipelineOrchestrator.applyDeviceSettingsPatch": {
52003
52296
  capName: "pipeline-orchestrator",
52004
52297
  capScope: "system",
@@ -52173,6 +52466,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
52173
52466
  addonId: null,
52174
52467
  access: "create"
52175
52468
  },
52469
+ "pipelineOrchestrator.planBestSettings": {
52470
+ capName: "pipeline-orchestrator",
52471
+ capScope: "system",
52472
+ addonId: null,
52473
+ access: "view"
52474
+ },
52176
52475
  "pipelineOrchestrator.rebalance": {
52177
52476
  capName: "pipeline-orchestrator",
52178
52477
  capScope: "system",
@@ -57850,6 +58149,11 @@ Object.freeze({
57850
58149
  form: "single",
57851
58150
  optional: false
57852
58151
  }],
58152
+ "pipelineExecutor.clearModelBoundDeviceOverrides": [{
58153
+ name: "deviceIds",
58154
+ form: "array",
58155
+ optional: true
58156
+ }],
57853
58157
  "pipelineExecutor.runPipeline": [{
57854
58158
  name: "deviceId",
57855
58159
  form: "single",
@@ -60200,6 +60504,9 @@ var ADDON_ID_PREFIX = "addon:";
60200
60504
  function bareAddonId(id) {
60201
60505
  return id.startsWith(ADDON_ID_PREFIX) ? id.slice(6) : id;
60202
60506
  }
60507
+ function hfModelUrl(repo, path) {
60508
+ return `https://huggingface.co/${repo}/resolve/main/${path}`;
60509
+ }
60203
60510
  var MB = 1024 * 1024;
60204
60511
  1024 * MB, 3072 * MB;
60205
60512
  /**
@@ -60334,4 +60641,4 @@ function enumerateInferenceDevices(hw) {
60334
60641
  return out;
60335
60642
  }
60336
60643
  //#endregion
60337
- export { calendarsCapability as $, disarmRoseMemory as $n, memoizePinnedFfmpeg as $t, MOTION_CLOSE_AFTER_MS as A, storageCapability as An, EventCategory as Ar, extractNestedAddonId as At, StorageLocationTypeSchema as B, vectorIndexDimConflictError as Bn, isObjectInput as Bt, FieldClaimModeSchema as C, runtimeStatePolicyFor as Cn, parseJsonObject as Cr, enumerateInferenceDevices as Ct, LocationIconIdSchema as D, settingsStoreCapability as Dn, scopeKey as Dr, evictionPolicyOfLocation as Dt, LegacyStorageLocationDefaultSchema as E, scoreRuntimes as En, resolveCapMount as Er, evaluateCompositionField as Et, STORAGE_ACCESS_FALLBACK as F, streamQualityLabel as Fn, isAppLinkBase as Ft, addonWidgetsCapability as G, cloneStatefulExpressionMemory as Gn, lifecycleJobSchema as Gt, UserRecordSchema as H, withLocationMode as Hn, kebabToCamel as Ht, STREAM_PROFILE_META as I, userManagementCapability as In, isArrayOutputSchema as It, backupCapability as J, compositionFeatureEnabled as Jn, logDestinationCapability as Jt, alertsCapability as K, composedDeviceRef as Kn, localNetworkCapability as Kt, ScopedTokenSchema as L, validateComposition as Ln, isCollectionArrayMethod as Lt, REDACTED_SECRET as M, storageOccupancyCapability as Mn, foldSnapshotByFunction as Mt, RUNTIME_DEFAULTS as N, storageProviderCapability as Nn, formatMinutes as Nt, METHOD_ACCESS_MAP as O, siteZoneKey as On, sleep as Or, expandContainer as Ot, RecordingStatusSchema as P, streamCatalogCapability as Pn, gbToBytes as Pt, buildStreamParamsConfigSchema as Q, createStatefulExpressionMemory as Qn, mayWriteToLocation as Qt, StorageCleanupJobSchema as R, validateCustomAddress as Rn, isDefaultAppConnectionEndpoint as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveNotificationTapAddress as Sn, nodePin as Sr, deviceStatusCapability as St, LOG_LEVEL_RANK as T, scopesAllowDeviceCap as Tn, readinessKey as Tr, enumerateSchemaFields as Tt, addonPagesCapability as U, COMPOSER_ADDON_ID as Un, legacyAutoLinkIds as Ut, StorageMigrationJobSchema as V, vectorStoreCapability as Vn, isVoidInput as Vt, addonSettingsCapability as W, buildFfmpegArgs as Wn, legacyModeOf as Wt, batteryCapability as X, compositionSliceKey as Xn, looseSchema as Xt, bareAddonId as Y, compositionItemFieldPath as Yn, logLevelAtMost as Yt, buildCapabilityLookup as Z, compositionSourceKey as Zn, mayReadLocation as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, resolveCoreBlockEntry as _n, emitReadiness as _r, deriveBatteryPresence as _t, BatteryStatusSchema as a, objectInputDeclaresAddonId as an, BaseAddon as ar, compositionSourceRefs as at, DeclaredDevices as b, resolveLocationMode as bn, isDeviceConfigCap as br, deviceManagerCapability as bt, CAP_NAMES_WITH_STATUS as c, pickAppLinkHub as cn, DEVICE_STATUS_METHOD as cr, coreBlockIdFromAddonId as ct, CORE_BLOCKS_ADDON_ID as d, procedureAuthKey as dn, WELL_KNOWN_TAB_MAP as dr, createDeviceExtensionProvider as dt, metricsProviderCapability as en, toExpressionValue as er, cameraGridLayoutCapability as et, CORE_BLOCK_ADDON_PREFIX as f, ptzAutotrackCapability as fn, asJsonObject as fr, dataStoreProviderCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, resolveBucketMs as gn, emitDownForOwnedCaps as gr, defineExtensionSlotProvider as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, resolveAppConnections as hn, createEvent as hr, decodeVectorBase64 as ht, BaseDevice as i, normalizeUnit as in, errMsg as ir, compositionFieldKey as it, RECORDING_SOURCE_CAMSTACK_ADDON as j, storageMigrationCapability as jn, filesystemBrowseCapability as jt, MINUTES_PER_DAY as k, snapshotCapability as kn, toNodeId as kr, expressionContainsBuiltinCall as kt, COMPOSED_ITEM_FIXED_FIELDS as l, planComposition as ln, ReadinessRegistry as lr, coreBlockSourceKind as lt, CoreBlockSchema as m, replacedFieldKeys as mn, asString$1 as mr, declarationOwnerNodeId as mt, AlertSchema as n, motionCapability as nn, DeviceRole as nr, collectSecretConfigKeys as nt, CAMERA_SWITCH_ORDER as o, objectInputDeclaresRequiredDeviceId as on, DATAPLANE_SECRET_HEADER as or, coreBlockAddonId as ot, CalendarPreferencesSchema as p, reducePoints as pn, asNumber as pr, databaseSnapshotCapability as pt, authProviderCapability as q, composedDeviceStableId as qn, locationIconKey as qt, ApiKeyRecordSchema as r, normalizeCoreBlockWrite as rn, DeviceType as rr, composerCapability as rt, CAMSTACK_APP_LINK_ORIGIN as s, parseStreamParamsFormPatch as sn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as sr, coreBlockComposition as st, ALL_CAPABILITY_DEFINITIONS as t, modeMayWrite as tn, DeviceFeature as tr, checkRoleAddress as tt, COMPOSER_RUNNER_ID as u, platformProbeCapability as un, ReadinessTimeoutError as ur, coreBlocksCapability as ut, DAY_NAMES as v, resolveCoreBlockFiles as vn, expandCapMethods as vr, describeComposableCaps as vt, FieldClaimSchema as w, scopesAllowAddon as wn, parseJsonUnknown as wr, enumerateItemArrayFields as wt, DeviceStatusSchema as x, resolveMethodAuth as xn, isEvent as xr, deviceStateCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveHubAddressRoles as yn, hydrateSchema as yr, deviceExtensionCapability as yt, StorageLocationModeSchema as z, vectorDimFromBase64 as zn, isLocationEnabled as zt };
60644
+ export { buildCapabilityLookup as $, compositionSliceKey as $n, looseSchema as $t, MINUTES_PER_DAY as A, settingsStoreCapability as An, scopeKey as Ar, expandContainer as At, StorageCleanupJobSchema as B, validateComposition as Bn, isCollectionArrayMethod as Bt, FieldClaimModeSchema as C, resolveLocationMode as Cn, isDeviceConfigCap as Cr, deviceStateCapability as Ct, LegacyStorageLocationDefaultSchema as D, scopesAllowAddon as Dn, parseJsonUnknown as Dr, enumerateSchemaFields as Dt, LOG_LEVEL_RANK as E, runtimeStatePolicyFor as En, parseJsonObject as Er, enumerateItemArrayFields as Et, RUNTIME_DEFAULTS as F, storageOccupancyCapability as Fn, formatMinutes as Ft, addonPagesCapability as G, withLocationMode as Gn, kebabToCamel as Gt, StorageLocationTypeSchema as H, vectorDimFromBase64 as Hn, isLocationEnabled as Ht, RecordingStatusSchema as I, storageProviderCapability as In, gbToBytes as It, alertsCapability as J, cloneStatefulExpressionMemory as Jn, lifecycleJobSchema as Jt, addonSettingsCapability as K, COMPOSER_ADDON_ID as Kn, legacyAutoLinkIds as Kt, STORAGE_ACCESS_FALLBACK as L, streamCatalogCapability as Ln, hfModelUrl as Lt, MOTION_CLOSE_AFTER_MS as M, snapshotCapability as Mn, toNodeId as Mr, extractNestedAddonId as Mt, RECORDING_SOURCE_CAMSTACK_ADDON as N, storageCapability as Nn, EventCategory as Nr, filesystemBrowseCapability as Nt, LocationIconIdSchema as O, scopesAllowDeviceCap as On, readinessKey as Or, evaluateCompositionField as Ot, REDACTED_SECRET as P, storageMigrationCapability as Pn, foldSnapshotByFunction as Pt, batteryCapability as Q, compositionItemFieldPath as Qn, logLevelAtMost as Qt, STREAM_PROFILE_META as R, streamQualityLabel as Rn, isAppLinkBase as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveHubAddressRoles as Sn, hydrateSchema as Sr, deviceManagerCapability as St, HF_REPO as T, resolveNotificationTapAddress as Tn, nodePin as Tr, enumerateInferenceDevices as Tt, StorageMigrationJobSchema as U, vectorIndexDimConflictError as Un, isObjectInput as Ut, StorageLocationModeSchema as V, validateCustomAddress as Vn, isDefaultAppConnectionEndpoint as Vt, UserRecordSchema as W, vectorStoreCapability as Wn, isVoidInput as Wt, backupCapability as X, composedDeviceStableId as Xn, locationIconKey as Xt, authProviderCapability as Y, composedDeviceRef as Yn, localNetworkCapability as Yt, bareAddonId as Z, compositionFeatureEnabled as Zn, logDestinationCapability as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, replacedFieldKeys as _n, asString$1 as _r, decodeVectorBase64 as _t, BatteryStatusSchema as a, motionCapability as an, DeviceRole as ar, composerCapability as at, DeclaredDevices as b, resolveCoreBlockEntry as bn, emitReadiness as br, describeComposableCaps as bt, CAP_NAMES_WITH_STATUS as c, objectInputDeclaresAddonId as cn, BaseAddon as cr, coreBlockAddonId as ct, CORE_BLOCKS_ADDON_ID as d, pickAppLinkHub as dn, DEVICE_STATUS_METHOD as dr, coreBlockSourceKind as dt, mayReadLocation as en, compositionSourceKey as er, buildStreamParamsConfigSchema as et, CORE_BLOCK_ADDON_PREFIX as f, planComposition as fn, ReadinessRegistry as fr, coreBlocksCapability as ft, DATABASE_SNAPSHOT_SUFFIX as g, reducePoints as gn, asNumber as gr, declarationOwnerNodeId as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, ptzAutotrackCapability as hn, asJsonObject as hr, databaseSnapshotCapability as ht, BaseDevice as i, modeMayWrite as in, DeviceFeature as ir, collectSecretConfigKeys as it, MODEL_FORMATS as j, siteZoneKey as jn, sleep as jr, expressionContainsBuiltinCall as jt, METHOD_ACCESS_MAP as k, scoreRuntimes as kn, resolveCapMount as kr, evictionPolicyOfLocation as kt, COMPOSED_ITEM_FIXED_FIELDS as l, objectInputDeclaresRequiredDeviceId as ln, DATAPLANE_SECRET_HEADER as lr, coreBlockComposition as lt, CoreBlockSchema as m, procedureAuthKey as mn, WELL_KNOWN_TAB_MAP as mr, dataStoreProviderCapability as mt, AlertSchema as n, memoizePinnedFfmpeg as nn, disarmRoseMemory as nr, cameraGridLayoutCapability as nt, CAMERA_SWITCH_ORDER as o, normalizeCoreBlockWrite as on, DeviceType as or, compositionFieldKey as ot, CalendarPreferencesSchema as p, platformProbeCapability as pn, ReadinessTimeoutError as pr, createDeviceExtensionProvider as pt, addonWidgetsCapability as q, buildFfmpegArgs as qn, legacyModeOf as qt, ApiKeyRecordSchema as r, metricsProviderCapability as rn, toExpressionValue as rr, checkRoleAddress as rt, CAMSTACK_APP_LINK_ORIGIN as s, normalizeUnit as sn, errMsg as sr, compositionSourceRefs as st, ALL_CAPABILITY_DEFINITIONS as t, mayWriteToLocation as tn, createStatefulExpressionMemory as tr, calendarsCapability as tt, COMPOSER_RUNNER_ID as u, parseStreamParamsFormPatch as un, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ur, coreBlockIdFromAddonId as ut, DAY_NAMES as v, resolveAppConnections as vn, createEvent as vr, defineExtensionSlotProvider as vt, FieldClaimSchema as w, resolveMethodAuth as wn, isEvent as wr, deviceStatusCapability as wt, DeviceStatusSchema as x, resolveCoreBlockFiles as xn, expandCapMethods as xr, deviceExtensionCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, resolveBucketMs as yn, emitDownForOwnedCaps as yr, deriveBatteryPresence as yt, ScopedTokenSchema as z, userManagementCapability as zn, isArrayOutputSchema as zt };