@camstack/system 1.2.368 → 1.2.369

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 (67) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/addon-utils.js +1 -1
  4. package/dist/addon-utils.mjs +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  9. package/dist/builtins/alerts/alerts.addon.js +1 -1
  10. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  11. package/dist/builtins/autotrack/index.js +1 -1
  12. package/dist/builtins/autotrack/index.mjs +1 -1
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  15. package/dist/builtins/calendars/calendars.addon.js +1 -1
  16. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  17. package/dist/builtins/camera-grid/index.js +1 -1
  18. package/dist/builtins/camera-grid/index.mjs +1 -1
  19. package/dist/builtins/composer/composer.addon.js +2 -2
  20. package/dist/builtins/composer/composer.addon.mjs +2 -2
  21. package/dist/builtins/console-logging/index.js +1 -1
  22. package/dist/builtins/console-logging/index.mjs +1 -1
  23. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  24. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  25. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  26. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  27. package/dist/builtins/hub-forwarder/index.js +1 -1
  28. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  29. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  31. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  32. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  33. package/dist/builtins/local-network/local-network.addon.js +1 -1
  34. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  35. package/dist/builtins/loki-logging/index.js +1 -1
  36. package/dist/builtins/loki-logging/index.mjs +1 -1
  37. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  38. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  39. package/dist/builtins/platform-probe/index.js +1 -1
  40. package/dist/builtins/platform-probe/index.mjs +1 -1
  41. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  42. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  43. package/dist/builtins/snapshot/index.js +1 -1
  44. package/dist/builtins/snapshot/index.mjs +1 -1
  45. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  46. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  47. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  48. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  49. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  50. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  51. package/dist/builtins/system-config/system-config.addon.js +1 -1
  52. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  53. package/dist/builtins/winston-logging/index.js +1 -1
  54. package/dist/builtins/winston-logging/index.mjs +1 -1
  55. package/dist/{child-cap-dispatch-By0P9X06.mjs → child-cap-dispatch-BN_zwf_k.mjs} +1 -1
  56. package/dist/{child-cap-dispatch-DkcTndAr.js → child-cap-dispatch-BX2qNzid.js} +1 -1
  57. package/dist/{composition-sources-BVYblwYM.mjs → composition-sources-DT6MCBGC.mjs} +1 -1
  58. package/dist/{composition-sources-DN0mqx1x.js → composition-sources-DVR7AckV.js} +1 -1
  59. package/dist/{dist-DyUq7law.js → dist-BPFp08uY.js} +239 -181
  60. package/dist/{dist-CuTBQnSA.mjs → dist-DUQvCQhx.mjs} +239 -181
  61. package/dist/{event-loop-stall-monitor-CBRY-GRZ.js → event-loop-stall-monitor-D4xK0sS_.js} +1 -1
  62. package/dist/{event-loop-stall-monitor-Byx9cQSz.mjs → event-loop-stall-monitor-Dbf6C7qt.mjs} +1 -1
  63. package/dist/index.js +3 -3
  64. package/dist/index.mjs +3 -3
  65. package/dist/{retired-settings-keys-S9AKHO4X.mjs → retired-settings-keys-0j5pPZBx.mjs} +1 -1
  66. package/dist/{retired-settings-keys-B8VN8tp5.js → retired-settings-keys-Cip-mCEN.js} +1 -1
  67. package/package.json +1 -1
@@ -710,7 +710,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
710
710
  return EventCategory;
711
711
  }({});
712
712
  //#endregion
713
- //#region ../types/dist/sleep-C16NCZR2.mjs
713
+ //#region ../types/dist/sleep-DAJ9Er57.mjs
714
714
  /**
715
715
  * The audio chunk plane's byte format, and the ONE expansion from a coded
716
716
  * window to float samples (D455).
@@ -26666,148 +26666,17 @@ var pipelineExecutorCapability = {
26666
26666
  }
26667
26667
  };
26668
26668
  /**
26669
- * Wire shapes of the Load balancing surface (D748): the session placement
26670
- * policy, the atomic share write, the observed placement statistics, the
26671
- * hardware share suggestion and the stale device pins.
26672
- */
26673
- /**
26674
- * How a new detection session picks its node and device.
26675
- * - `least-loaded` — the historical rule: lowest `attached / weight`, a
26676
- * constant node order at a tie (D37). An idle node always ties at 0, so a
26677
- * weight only bites once a node already holds a session.
26678
- * - `share` — the share of PARALLEL sessions is held to the weights, and a
26679
- * full or drowning node yields to a free one (D748).
26680
- */
26681
- var SessionPlacementPolicySchema = z.enum(["least-loaded", "share"]);
26682
- var LoadBalancingSharesInputSchema = z.object({
26683
- /** nodeId → share (> 0). A node left out keeps its weight. */
26684
- nodes: z.record(z.string(), z.number().positive()).default({}),
26685
- /** nodeId → deviceKey → share (> 0). A device left out keeps its weight. */
26686
- devices: z.record(z.string(), z.record(z.string(), z.number().positive())).default({})
26687
- });
26688
- var PlacementStatsInputSchema = z.object({
26689
- /** Window the observed shares are averaged over (default 1 h, max 24 h). */
26690
- windowMs: z.number().int().min(6e4).max(1440 * 60 * 1e3).default(3600 * 1e3) });
26691
- var PlacementDeviceStatsSchema = z.object({
26692
- deviceKey: z.string(),
26693
- /** Sessions running on this device now. */
26694
- sessionsNow: z.number(),
26695
- /** Sessions started on this device inside the window. */
26696
- sessionsStarted: z.number(),
26697
- /** Time-weighted share of the node's parallel sessions over the window (0–1); null = no session ran. */
26698
- observedShare: z.number().nullable()
26699
- });
26700
- var PlacementNodeStatsSchema = z.object({
26701
- nodeId: z.string(),
26702
- sessionsNow: z.number(),
26703
- sessionsStarted: z.number(),
26704
- /** Time-weighted share of the cluster's parallel sessions over the window (0–1); null = none ran. */
26705
- observedShare: z.number().nullable(),
26706
- /** Most sessions this node ran at once inside the window. */
26707
- peakSessions: z.number(),
26708
- /** Sessions a share election handed elsewhere because this node was full or drowning. */
26709
- yieldsAway: z.number(),
26710
- devices: z.array(PlacementDeviceStatsSchema).readonly()
26711
- });
26712
- /** A camera's device pin that the session path cannot honour. */
26713
- var StaleDevicePinSchema = z.object({
26714
- deviceId: z.number(),
26715
- deviceKey: z.string(),
26716
- /** `disabled` — the key exists on some node but is not enabled anywhere; `absent` — no node has it. */
26717
- reason: z.enum(["disabled", "absent"])
26718
- });
26719
- var PlacementStatsSchema = z.object({
26720
- policy: SessionPlacementPolicySchema,
26721
- windowMs: z.number(),
26722
- /** How much of the window was actually observed (the hub keeps it in memory). */
26723
- observedForMs: z.number(),
26724
- sessionsNow: z.number(),
26725
- /** Most parallel sessions across the cluster inside the window. */
26726
- clusterPeakSessions: z.number(),
26727
- nodes: z.array(PlacementNodeStatsSchema).readonly(),
26728
- stalePins: z.array(StaleDevicePinSchema).readonly()
26729
- });
26730
- var SuggestSharesInputSchema = z.object({ headroom: z.number().min(.3).max(.5).default(.4) });
26731
- var SuggestedDeviceShareSchema = z.object({
26732
- deviceKey: z.string(),
26733
- /** Share of the node (0–100, rounded). */
26734
- share: z.number(),
26735
- modelId: z.string().nullable(),
26736
- /** Inferences per second at that model, from the measured table. */
26737
- fps: z.number().nullable(),
26738
- measured: z.boolean(),
26739
- /** Advisory session cap: ⌊fps × (1 − headroom) / camera fps⌋. Never enforced. */
26740
- suggestedMaxSessions: z.number().nullable()
26741
- });
26742
- var SuggestedNodeShareSchema = z.object({
26743
- nodeId: z.string(),
26744
- /** Share of the cluster (0–100, rounded); null = node skipped (offline, unknown hardware). */
26745
- share: z.number().nullable(),
26746
- /** Parallel sessions the node sustains at the suggested models with the headroom kept free. */
26747
- capacitySessions: z.number(),
26748
- devices: z.array(SuggestedDeviceShareSchema).readonly(),
26749
- skippedReason: z.string().nullable()
26750
- });
26751
- var SuggestSharesResultSchema = z.object({
26752
- headroom: z.number(),
26753
- /** Camera detection rate the capacity is counted in (the fastest camera's fps). */
26754
- cameraFps: z.number(),
26755
- /** How many share → model → capacity rounds ran before the shares stopped moving (≤ 3). */
26756
- iterations: z.number(),
26757
- nodes: z.array(SuggestedNodeShareSchema).readonly()
26758
- });
26759
- /**
26760
- * Where the node and device shares come from (D750).
26761
- * - `auto` — computed by the system from the cluster's measured capacity at
26762
- * the Auto tune models, and recomputed whenever a node or device joins,
26763
- * leaves, is switched on or off, or changes model.
26764
- * - `manual` — the operator's stored sliders. A node or device that cannot
26765
- * take sessions gives its share to the others in proportion; the stored
26766
- * values are never rewritten for that.
26767
- */
26768
- var ShareSourceSchema = z.enum(["auto", "manual"]);
26769
- var SetShareSourceInputSchema = z.object({ source: ShareSourceSchema });
26770
- z.object({
26771
- nodes: z.record(z.string(), z.number()),
26772
- devices: z.record(z.string(), z.record(z.string(), z.number()))
26773
- });
26774
- var EffectiveDeviceShareSchema = z.object({
26775
- deviceKey: z.string(),
26776
- /** Can take sessions now (enabled, available, can run the root). */
26777
- eligible: z.boolean(),
26778
- /** The share the source assigns, as a percentage of the node's devices. */
26779
- configuredPct: z.number(),
26780
- /** The share actually used, after an ineligible device's share went to the others. */
26781
- effectivePct: z.number()
26782
- });
26783
- var EffectiveNodeShareSchema = z.object({
26784
- nodeId: z.string(),
26785
- eligible: z.boolean(),
26786
- configuredPct: z.number(),
26787
- effectivePct: z.number(),
26788
- devices: z.array(EffectiveDeviceShareSchema).readonly()
26789
- });
26790
- var EffectiveSharesSchema = z.object({
26791
- source: ShareSourceSchema,
26792
- policy: SessionPlacementPolicySchema,
26793
- /** `auto` with no computed answer yet: the stored sliders are used meanwhile. */
26794
- autoPending: z.boolean(),
26795
- /** When the automatic shares were last computed (ms epoch); null = never. */
26796
- computedAt: z.number().nullable(),
26797
- /** What made the system recompute them last. */
26798
- trigger: z.string().nullable(),
26799
- nodes: z.array(EffectiveNodeShareSchema).readonly(),
26800
- /** The relative weights the election reads (before eligibility). */
26801
- nodeWeights: z.record(z.string(), z.number()),
26802
- deviceWeights: z.record(z.string(), z.record(z.string(), z.number()))
26803
- });
26804
- /**
26805
26669
  * The wire shapes of the Auto tune plan and apply (D745), used by the
26806
26670
  * `pipeline-orchestrator` cap. The recommender's own types
26807
- * (`recommend.ts`, `demand.ts`) are the TS face of the same data; these
26671
+ * (`recommend.ts`) are the TS face of the same data; these
26808
26672
  * schemas are what crosses the cap boundary.
26809
26673
  */
26810
26674
  var ModelFormatSchema$1 = z.enum(MODEL_FORMATS);
26675
+ /** The operator's range for it. */
26676
+ var MIN_SESSIONS_PER_DEVICE_RANGE = {
26677
+ min: 1,
26678
+ max: 8
26679
+ };
26811
26680
  var HardwareClassIdSchema = z.enum([
26812
26681
  "intel-core-ultra",
26813
26682
  "intel-n-series",
@@ -26825,8 +26694,9 @@ var AcceleratorKindSchema = z.enum([
26825
26694
  ]);
26826
26695
  var RecommendationReasonSchema = z.discriminatedUnion("kind", [
26827
26696
  z.object({
26828
- kind: z.literal("fits"),
26829
- utilisation: z.number()
26697
+ kind: z.literal("capacity"),
26698
+ sessions: z.number(),
26699
+ minSessions: z.number()
26830
26700
  }),
26831
26701
  z.object({
26832
26702
  kind: z.literal("tie-faster"),
@@ -26841,16 +26711,13 @@ var RecommendationReasonSchema = z.discriminatedUnion("kind", [
26841
26711
  }),
26842
26712
  z.object({
26843
26713
  kind: z.literal("no-fit-lightest"),
26844
- utilisation: z.number()
26714
+ sessions: z.number(),
26715
+ minSessions: z.number()
26845
26716
  }),
26846
26717
  z.object({
26847
26718
  kind: z.literal("derived-latency"),
26848
26719
  modelId: z.string()
26849
26720
  }),
26850
- z.object({
26851
- kind: z.literal("estimated-load"),
26852
- observedForMs: z.number().nullable()
26853
- }),
26854
26721
  z.object({ kind: z.literal("cpu-device") }),
26855
26722
  z.object({ kind: z.literal("coral-untouched") }),
26856
26723
  z.object({ kind: z.literal("device-disabled") }),
@@ -26866,28 +26733,13 @@ var RecommendationReasonSchema = z.discriminatedUnion("kind", [
26866
26733
  format: ModelFormatSchema$1
26867
26734
  })
26868
26735
  ]);
26869
- var DeviceDemandSchema = z.object({
26870
- nodeId: z.string(),
26871
- deviceKey: z.string(),
26872
- demandFps: z.number(),
26873
- maxCameraFps: z.number(),
26874
- alwaysOnCameras: z.number(),
26875
- onMotionSessions: z.number(),
26876
- onMotionSource: z.enum([
26877
- "observed-24h",
26878
- "estimate",
26879
- "none"
26880
- ]),
26881
- observedForMs: z.number().nullable(),
26882
- /** How on-motion sessions were charged: per-device observation, or split by share (D748). */
26883
- placement: SessionPlacementPolicySchema
26884
- });
26885
26736
  var DeviceModelChoiceSchema = z.object({
26886
26737
  modelId: z.string(),
26887
26738
  p50Ms: z.number(),
26888
26739
  fps: z.number(),
26889
26740
  measured: z.boolean(),
26890
- utilisation: z.number(),
26741
+ /** Parallel sessions at the camera rate with the headroom kept free: ⌊fps × (1 − headroom) / camera fps⌋. */
26742
+ capacitySessions: z.number(),
26891
26743
  personRecall: z.number()
26892
26744
  });
26893
26745
  var DeviceRecommendationSchema = z.object({
@@ -26895,7 +26747,6 @@ var DeviceRecommendationSchema = z.object({
26895
26747
  accelerator: AcceleratorKindSchema.nullable(),
26896
26748
  enabled: z.boolean(),
26897
26749
  available: z.boolean(),
26898
- demand: DeviceDemandSchema.nullable(),
26899
26750
  chosen: DeviceModelChoiceSchema.nullable(),
26900
26751
  reasons: z.array(RecommendationReasonSchema).readonly()
26901
26752
  });
@@ -26956,20 +26807,20 @@ var AutoTuneOptionsSchema = z.object({
26956
26807
  /** Share of each accelerator's throughput kept free (0.3–0.5). */
26957
26808
  headroom: z.number().min(.3).max(.5).default(.4),
26958
26809
  /**
26959
- * What-if shares (D748): plan as if these node/device shares were stored
26960
- * and the policy were `share`. Absent = the stored shares under the stored
26961
- * policy. A what-if plan is for display; apply always re-plans from what
26962
- * is stored.
26810
+ * The least number of parallel sessions every device must sustain at the
26811
+ * camera rate with the headroom kept free (D755). The most accurate model
26812
+ * that reaches it wins.
26963
26813
  */
26964
- shares: LoadBalancingSharesInputSchema.optional()
26814
+ minSessionsPerDevice: z.number().int().min(MIN_SESSIONS_PER_DEVICE_RANGE.min).max(MIN_SESSIONS_PER_DEVICE_RANGE.max).default(2)
26965
26815
  });
26966
26816
  var AutoTunePlanSchema = z.object({
26967
26817
  /** Hash of everything the apply will write — the apply refuses a different one. */
26968
26818
  planHash: z.string(),
26969
26819
  family: z.literal("yolov9"),
26970
26820
  headroom: z.number(),
26971
- /** Planned under what-if shares (D748): for display — apply refuses it as stale. */
26972
- whatIf: z.boolean(),
26821
+ minSessionsPerDevice: z.number(),
26822
+ /** The detection rate a session is counted at (the fastest camera running the pipeline root). */
26823
+ cameraFps: z.number(),
26973
26824
  generatedAt: z.number(),
26974
26825
  nodes: z.array(NodeRecommendationSchema).readonly(),
26975
26826
  nodeChanges: z.array(NodeDeviceChangeSchema).readonly(),
@@ -26979,7 +26830,8 @@ var AutoTunePlanSchema = z.object({
26979
26830
  });
26980
26831
  var AutoTuneApplyInputSchema = z.object({
26981
26832
  planHash: z.string(),
26982
- headroom: z.number().min(.3).max(.5).default(.4)
26833
+ headroom: z.number().min(.3).max(.5).default(.4),
26834
+ minSessionsPerDevice: z.number().int().min(MIN_SESSIONS_PER_DEVICE_RANGE.min).max(MIN_SESSIONS_PER_DEVICE_RANGE.max).default(2)
26983
26835
  });
26984
26836
  var AutoTunePhaseResultSchema = z.object({
26985
26837
  phase: z.enum([
@@ -27011,6 +26863,177 @@ var AutoTuneApplyResultSchema = z.discriminatedUnion("kind", [
27011
26863
  reason: z.enum(["apply-in-progress"])
27012
26864
  })
27013
26865
  ]);
26866
+ /**
26867
+ * Wire shapes of the Load balancing surface (D748): the session placement
26868
+ * policy, the atomic share write, the observed placement statistics, the
26869
+ * hardware share suggestion and the stale device pins.
26870
+ */
26871
+ /**
26872
+ * How a new detection session picks its node and device.
26873
+ * - `least-loaded` — the historical rule: lowest `attached / weight`, a
26874
+ * constant node order at a tie (D37). An idle node always ties at 0, so a
26875
+ * weight only bites once a node already holds a session.
26876
+ * - `share` — the share of PARALLEL sessions is held to the weights, and a
26877
+ * full or drowning node yields to a free one (D748).
26878
+ */
26879
+ var SessionPlacementPolicySchema = z.enum(["least-loaded", "share"]);
26880
+ var LoadBalancingSharesInputSchema = z.object({
26881
+ /** nodeId → share (> 0). A node left out keeps its weight. */
26882
+ nodes: z.record(z.string(), z.number().positive()).default({}),
26883
+ /** nodeId → deviceKey → share (> 0). A device left out keeps its weight. */
26884
+ devices: z.record(z.string(), z.record(z.string(), z.number().positive())).default({})
26885
+ });
26886
+ var PlacementStatsInputSchema = z.object({
26887
+ /** Window the observed shares are averaged over (default 1 h, max 24 h). */
26888
+ windowMs: z.number().int().min(6e4).max(1440 * 60 * 1e3).default(3600 * 1e3) });
26889
+ var PlacementDeviceStatsSchema = z.object({
26890
+ deviceKey: z.string(),
26891
+ /** Sessions running on this device now. */
26892
+ sessionsNow: z.number(),
26893
+ /** Sessions started on this device inside the window. */
26894
+ sessionsStarted: z.number(),
26895
+ /** Time-weighted share of the node's parallel sessions over the window (0–1); null = no session ran. */
26896
+ observedShare: z.number().nullable()
26897
+ });
26898
+ var PlacementNodeStatsSchema = z.object({
26899
+ nodeId: z.string(),
26900
+ sessionsNow: z.number(),
26901
+ sessionsStarted: z.number(),
26902
+ /** Time-weighted share of the cluster's parallel sessions over the window (0–1); null = none ran. */
26903
+ observedShare: z.number().nullable(),
26904
+ /** Most sessions this node ran at once inside the window. */
26905
+ peakSessions: z.number(),
26906
+ /** Sessions a share election handed elsewhere because this node was full or drowning. */
26907
+ yieldsAway: z.number(),
26908
+ devices: z.array(PlacementDeviceStatsSchema).readonly()
26909
+ });
26910
+ /** A camera's device pin that the session path cannot honour. */
26911
+ var StaleDevicePinSchema = z.object({
26912
+ deviceId: z.number(),
26913
+ deviceKey: z.string(),
26914
+ /** `disabled` — the key exists on some node but is not enabled anywhere; `absent` — no node has it. */
26915
+ reason: z.enum(["disabled", "absent"])
26916
+ });
26917
+ var PlacementStatsSchema = z.object({
26918
+ policy: SessionPlacementPolicySchema,
26919
+ windowMs: z.number(),
26920
+ /** How much of the window was actually observed (the hub keeps it in memory). */
26921
+ observedForMs: z.number(),
26922
+ sessionsNow: z.number(),
26923
+ /** Most parallel sessions across the cluster inside the window. */
26924
+ clusterPeakSessions: z.number(),
26925
+ nodes: z.array(PlacementNodeStatsSchema).readonly(),
26926
+ stalePins: z.array(StaleDevicePinSchema).readonly()
26927
+ });
26928
+ /**
26929
+ * Where an automatic share's capacity comes from (D755).
26930
+ * - `hardware` — the static capacity of each device at its Auto tune model:
26931
+ * the measured latency table for the node's hardware class.
26932
+ * - `benchmark` — the node's own measured capacity (node benchmark results).
26933
+ * A node with no results falls back to `hardware`, and says so.
26934
+ */
26935
+ var CapacitySourceSchema = z.enum(["hardware", "benchmark"]);
26936
+ /** Why a node under the `benchmark` source was sized from hardware instead. */
26937
+ var CapacityFallbackSchema = z.enum(["no-benchmark-results", "partial-benchmark-results"]);
26938
+ var SuggestSharesInputSchema = z.object({
26939
+ headroom: z.number().min(.3).max(.5).default(.4),
26940
+ /** Default `hardware`. */
26941
+ source: CapacitySourceSchema.default("hardware")
26942
+ });
26943
+ var SuggestedDeviceShareSchema = z.object({
26944
+ deviceKey: z.string(),
26945
+ /** Share of the node (0–100, rounded). */
26946
+ share: z.number(),
26947
+ modelId: z.string().nullable(),
26948
+ /** Inferences per second at that model, from the measured table; null when sized by a benchmark. */
26949
+ fps: z.number().nullable(),
26950
+ /** False for a table cell derived from another chip; true for a measured cell or a benchmark. */
26951
+ measured: z.boolean(),
26952
+ /**
26953
+ * Advisory session cap: ⌊fps × (1 − headroom) / camera fps⌋ from the table,
26954
+ * or the benchmark's measured max sessions. Never enforced.
26955
+ */
26956
+ suggestedMaxSessions: z.number().nullable()
26957
+ });
26958
+ var SuggestedNodeShareSchema = z.object({
26959
+ nodeId: z.string(),
26960
+ /** Share of the cluster (0–100, rounded); null = node skipped (offline, unknown hardware). */
26961
+ share: z.number().nullable(),
26962
+ /** Parallel sessions the node sustains at the suggested models with the headroom kept free. */
26963
+ capacitySessions: z.number(),
26964
+ devices: z.array(SuggestedDeviceShareSchema).readonly(),
26965
+ skippedReason: z.string().nullable(),
26966
+ /** What this node's capacity was read from; null when the node is skipped. */
26967
+ capacitySource: CapacitySourceSchema.nullable(),
26968
+ /** Set when the `benchmark` source was asked for and this node used `hardware`. */
26969
+ capacityFallback: CapacityFallbackSchema.nullable()
26970
+ });
26971
+ var SuggestSharesResultSchema = z.object({
26972
+ headroom: z.number(),
26973
+ /** The source asked for; each node says what it actually used. */
26974
+ source: CapacitySourceSchema,
26975
+ /** Camera detection rate the capacity is counted in (the fastest camera's fps). */
26976
+ cameraFps: z.number(),
26977
+ /** The Auto tune capacity floor the models were picked at. */
26978
+ minSessionsPerDevice: z.number(),
26979
+ nodes: z.array(SuggestedNodeShareSchema).readonly()
26980
+ });
26981
+ /**
26982
+ * Where the node and device shares come from (D750, D755).
26983
+ * - `hardware` (default) — computed by the system from each node's static
26984
+ * capacity (its accelerators at their Auto tune models, from the measured
26985
+ * latency table), recomputed whenever a node or device joins, leaves, is
26986
+ * switched on or off, or changes model. No load input.
26987
+ * - `benchmark` — the same, from each node's measured capacity (node
26988
+ * benchmark results); a node without results falls back to `hardware`.
26989
+ * - `manual` — the operator's stored sliders.
26990
+ * Either way a node or device that cannot take sessions gives its share to
26991
+ * the others in proportion; the stored values are never rewritten for that.
26992
+ */
26993
+ var ShareSourceSchema = z.enum([
26994
+ "hardware",
26995
+ "benchmark",
26996
+ "manual"
26997
+ ]);
26998
+ var SetShareSourceInputSchema = z.object({ source: ShareSourceSchema });
26999
+ z.object({
27000
+ nodes: z.record(z.string(), z.number()),
27001
+ devices: z.record(z.string(), z.record(z.string(), z.number()))
27002
+ });
27003
+ var EffectiveDeviceShareSchema = z.object({
27004
+ deviceKey: z.string(),
27005
+ /** Can take sessions now (enabled, available, can run the root). */
27006
+ eligible: z.boolean(),
27007
+ /** The share the source assigns, as a percentage of the node's devices. */
27008
+ configuredPct: z.number(),
27009
+ /** The share actually used, after an ineligible device's share went to the others. */
27010
+ effectivePct: z.number()
27011
+ });
27012
+ var EffectiveNodeShareSchema = z.object({
27013
+ nodeId: z.string(),
27014
+ eligible: z.boolean(),
27015
+ configuredPct: z.number(),
27016
+ effectivePct: z.number(),
27017
+ /** Automatic sources: what this node's share was computed from; null under `manual` or before the first answer. */
27018
+ capacitySource: CapacitySourceSchema.nullable(),
27019
+ /** Automatic `benchmark`: why this node used `hardware` instead. */
27020
+ capacityFallback: CapacityFallbackSchema.nullable(),
27021
+ devices: z.array(EffectiveDeviceShareSchema).readonly()
27022
+ });
27023
+ var EffectiveSharesSchema = z.object({
27024
+ source: ShareSourceSchema,
27025
+ policy: SessionPlacementPolicySchema,
27026
+ /** An automatic source with no computed answer yet: the stored sliders are used meanwhile. */
27027
+ autoPending: z.boolean(),
27028
+ /** When the automatic shares were last computed (ms epoch); null = never. */
27029
+ computedAt: z.number().nullable(),
27030
+ /** What made the system recompute them last. */
27031
+ trigger: z.string().nullable(),
27032
+ nodes: z.array(EffectiveNodeShareSchema).readonly(),
27033
+ /** The relative weights the election reads (before eligibility). */
27034
+ nodeWeights: z.record(z.string(), z.number()),
27035
+ deviceWeights: z.record(z.string(), z.record(z.string(), z.number()))
27036
+ });
27014
27037
  z.object({
27015
27038
  activeCameras: z.number(),
27016
27039
  throttledCameras: z.number(),
@@ -28422,8 +28445,10 @@ var CameraStepOverridePatchSchema = z.object({
28422
28445
  modelId: z.string().optional(),
28423
28446
  settings: z.record(z.string(), z.unknown()).readonly().optional()
28424
28447
  });
28448
+ var CameraStepSettingsSchema = z.record(z.string(), z.record(z.string(), z.unknown()).readonly());
28425
28449
  var CameraPipelineSettingsSchema = z.object({
28426
28450
  stepToggles: z.record(z.string(), z.boolean()).optional(),
28451
+ stepSettings: CameraStepSettingsSchema.optional(),
28427
28452
  stepOverridesByDevice: z.record(z.string(), z.record(z.string(), z.record(z.string(), CameraStepOverridePatchSchema))).optional(),
28428
28453
  pipelineByAgent: z.record(z.string(), CameraPipelineForAgentSchema).optional()
28429
28454
  });
@@ -29219,9 +29244,11 @@ var pipelineOrchestratorCapability = {
29219
29244
  auth: "admin"
29220
29245
  }),
29221
29246
  /**
29222
- * Auto tune (D745) — DRY RUN. Recommends ONE detector family (YOLOv9)
29223
- * for the whole cluster from each node's static hardware class, the
29224
- * measured latency table and the detection demand, and lists every write
29247
+ * Auto tune (D745, D755) — DRY RUN. Recommends ONE detector family
29248
+ * (YOLOv9) for the whole cluster from each node's static hardware class
29249
+ * and the measured latency table: per device, the most accurate model
29250
+ * that sustains at least `minSessionsPerDevice` parallel sessions at the
29251
+ * camera rate with the headroom kept free (no load input), and lists every write
29225
29252
  * the apply would make: the node model pins set, the enrichment pins and
29226
29253
  * model-bound thresholds removed (node level and per camera), and the
29227
29254
  * per-camera detector thresholds cleared. Writes nothing. Step
@@ -29260,10 +29287,12 @@ var pipelineOrchestratorCapability = {
29260
29287
  */
29261
29288
  getPlacementStats: method(PlacementStatsInputSchema, PlacementStatsSchema, { auth: "admin" }),
29262
29289
  /**
29263
- * Load balancing (D748) — shares proportional to each node's measured
29264
- * capacity at the models Auto tune would pick, iterated (≤ 3 rounds)
29265
- * until the shares stop moving; per device, an ADVISORY session cap.
29266
- * Writes nothing.
29290
+ * Load balancing (D748, D755) — shares proportional to each node's
29291
+ * capacity in parallel sessions: from the latency table at the models
29292
+ * Auto tune picks (`hardware`), or from node benchmark results
29293
+ * (`benchmark`, each node without results falling back to `hardware` and
29294
+ * saying so). The automatic shares are exactly this answer. Per device,
29295
+ * an ADVISORY session cap. Writes nothing.
29267
29296
  */
29268
29297
  suggestShares: method(SuggestSharesInputSchema, SuggestSharesResultSchema, { auth: "admin" }),
29269
29298
  /**
@@ -29274,9 +29303,11 @@ var pipelineOrchestratorCapability = {
29274
29303
  */
29275
29304
  getEffectiveShares: method(z.void(), EffectiveSharesSchema, { auth: "admin" }),
29276
29305
  /**
29277
- * Load balancing (D750) — switch between automatic and manual shares.
29278
- * Going manual seeds the sliders with the current automatic shares (one
29279
- * atomic write), so nothing jumps; going automatic recomputes at once.
29306
+ * Load balancing (D750, D755) — switch the share source: `hardware`
29307
+ * (automatic, from static capacity), `benchmark` (automatic, from node
29308
+ * benchmark results) or `manual`. Going manual seeds the sliders with the
29309
+ * current automatic shares (one atomic write), so nothing jumps; going
29310
+ * to an automatic source recomputes at once.
29280
29311
  */
29281
29312
  setShareSource: method(SetShareSourceInputSchema, z.object({ success: z.literal(true) }), {
29282
29313
  kind: "mutation",
@@ -29311,6 +29342,22 @@ var pipelineOrchestratorCapability = {
29311
29342
  kind: "mutation",
29312
29343
  auth: "admin"
29313
29344
  }),
29345
+ /**
29346
+ * Write or clear one step's CAMERA-WIDE settings (D754) — the fields this
29347
+ * camera overrides on every accelerator it runs on. `settings` is the
29348
+ * whole field-level bag for that step (only the overridden keys; a
29349
+ * model-bound field travels with its binding key); `null` or `{}` clears
29350
+ * it. Merged at dispatch between the node base and the per-(node,device)
29351
+ * override, key by key.
29352
+ */
29353
+ setCameraStepSettings: method(z.object({
29354
+ deviceId: z.number(),
29355
+ addonId: z.string(),
29356
+ settings: z.record(z.string(), z.unknown()).nullable()
29357
+ }), z.object({ success: z.literal(true) }), {
29358
+ kind: "mutation",
29359
+ auth: "admin"
29360
+ }),
29314
29361
  /** Write or clear the wholesale per-agent pipeline override. Pass `pipeline: null` to drop the override. */
29315
29362
  setCameraPipelineForAgent: method(z.object({
29316
29363
  deviceId: z.number(),
@@ -52758,6 +52805,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
52758
52805
  addonId: null,
52759
52806
  access: "create"
52760
52807
  },
52808
+ "pipelineOrchestrator.setCameraStepSettings": {
52809
+ capName: "pipeline-orchestrator",
52810
+ capScope: "system",
52811
+ addonId: null,
52812
+ access: "create"
52813
+ },
52761
52814
  "pipelineOrchestrator.setCameraStepToggle": {
52762
52815
  capName: "pipeline-orchestrator",
52763
52816
  capScope: "system",
@@ -58461,6 +58514,11 @@ Object.freeze({
58461
58514
  form: "single",
58462
58515
  optional: false
58463
58516
  }],
58517
+ "pipelineOrchestrator.setCameraStepSettings": [{
58518
+ name: "deviceId",
58519
+ form: "single",
58520
+ optional: false
58521
+ }],
58464
58522
  "pipelineOrchestrator.setCameraStepToggle": [{
58465
58523
  name: "deviceId",
58466
58524
  form: "single",
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-DyUq7law.js");
2
+ const require_dist = require("./dist-BPFp08uY.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { Lt as hfModelUrl, T as HF_REPO, j as MODEL_FORMATS } from "./dist-CuTBQnSA.mjs";
1
+ import { Lt as hfModelUrl, T as HF_REPO, j as MODEL_FORMATS } from "./dist-DUQvCQhx.mjs";
2
2
  import { createHash } from "node:crypto";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-DyUq7law.js");
3
+ const require_dist = require("./dist-BPFp08uY.js");
4
4
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
5
5
  require("./builtins/alerts/index.js");
6
6
  const require_builtins_calendars_calendars_addon = require("./builtins/calendars/calendars.addon.js");
@@ -29,9 +29,9 @@ require("./builtins/storage-orchestrator/index.js");
29
29
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
30
30
  require("./builtins/system-config/index.js");
31
31
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
32
- const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-CBRY-GRZ.js");
32
+ const require_event_loop_stall_monitor = require("./event-loop-stall-monitor-D4xK0sS_.js");
33
33
  const require_tls$1 = require("./tls-CCMX7MjX.js");
34
- const require_child_cap_dispatch = require("./child-cap-dispatch-DkcTndAr.js");
34
+ const require_child_cap_dispatch = require("./child-cap-dispatch-BX2qNzid.js");
35
35
  const require_resource_monitor = require("./resource-monitor-BgWGRxN5.js");
36
36
  const require_custom_action_registry = require("./custom-action-registry-acBY3mHA.js");
37
37
  let zod = require("zod");
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM$1, r as __exportAll, t as __commonJSMin$1 } from "./chunk-CNf5ZN-e.mjs";
2
- import { $t as looseSchema, Ar as scopeKey, Bt as isCollectionArrayMethod, Dn as scopesAllowAddon, Dr as parseJsonUnknown, E as LOG_LEVEL_RANK, Er as parseJsonObject, F as RUNTIME_DEFAULTS, Gt as kebabToCamel, Jt as lifecycleJobSchema, K as addonSettingsCapability, Mt as extractNestedAddonId, Nr as EventCategory$1, On as scopesAllowDeviceCap, Or as readinessKey, Qt as logLevelAtMost, Ut as isObjectInput, Wt as isVoidInput, _r as asString$1, cn as objectInputDeclaresAddonId, dr as DEVICE_STATUS_METHOD, fr as ReadinessRegistry, gr as asNumber, hr as asJsonObject$1, k as METHOD_ACCESS_MAP, kr as resolveCapMount, ln as objectInputDeclaresRequiredDeviceId, lr as DATAPLANE_SECRET_HEADER$1, mn as procedureAuthKey, pr as ReadinessTimeoutError, sr as errMsg$1, t as ALL_CAPABILITY_DEFINITIONS, ur as DEVICE_SETTINGS_CONTRIBUTION_METHODS, vr as createEvent, wn as resolveMethodAuth, xr as expandCapMethods, yr as emitDownForOwnedCaps, zt as isArrayOutputSchema } from "./dist-CuTBQnSA.mjs";
2
+ import { $t as looseSchema, Ar as scopeKey, Bt as isCollectionArrayMethod, Dn as scopesAllowAddon, Dr as parseJsonUnknown, E as LOG_LEVEL_RANK, Er as parseJsonObject, F as RUNTIME_DEFAULTS, Gt as kebabToCamel, Jt as lifecycleJobSchema, K as addonSettingsCapability, Mt as extractNestedAddonId, Nr as EventCategory$1, On as scopesAllowDeviceCap, Or as readinessKey, Qt as logLevelAtMost, Ut as isObjectInput, Wt as isVoidInput, _r as asString$1, cn as objectInputDeclaresAddonId, dr as DEVICE_STATUS_METHOD, fr as ReadinessRegistry, gr as asNumber, hr as asJsonObject$1, k as METHOD_ACCESS_MAP, kr as resolveCapMount, ln as objectInputDeclaresRequiredDeviceId, lr as DATAPLANE_SECRET_HEADER$1, mn as procedureAuthKey, pr as ReadinessTimeoutError, sr as errMsg$1, t as ALL_CAPABILITY_DEFINITIONS, ur as DEVICE_SETTINGS_CONTRIBUTION_METHODS, vr as createEvent, wn as resolveMethodAuth, xr as expandCapMethods, yr as emitDownForOwnedCaps, zt as isArrayOutputSchema } from "./dist-DUQvCQhx.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { CalendarsAddon } from "./builtins/calendars/calendars.addon.mjs";
@@ -28,9 +28,9 @@ import "./builtins/storage-orchestrator/index.mjs";
28
28
  import { SystemConfigAddon } from "./builtins/system-config/system-config.addon.mjs";
29
29
  import "./builtins/system-config/index.mjs";
30
30
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
31
- import { C as resolveFormatRevision, S as isModelDownloaded, _ as downloadModel, a as createFileDataPlaneHandler, b as getModelFilePath, c as parseRangeHeader, d as ModelDownloadService, g as downloadFile, h as deleteModelFromDisk, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as collectModelFiles, n as STALL_TICK_MS, o as contentTypeFor, p as adoptModelRevisions, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as ensureModel, w as revisionWeightUrl, y as fetchJson } from "./event-loop-stall-monitor-Byx9cQSz.mjs";
31
+ import { C as resolveFormatRevision, S as isModelDownloaded, _ as downloadModel, a as createFileDataPlaneHandler, b as getModelFilePath, c as parseRangeHeader, d as ModelDownloadService, g as downloadFile, h as deleteModelFromDisk, i as startEventLoopStallMonitor, l as parseTokenizedUrl, m as collectModelFiles, n as STALL_TICK_MS, o as contentTypeFor, p as adoptModelRevisions, r as attributeStall, s as createAuthenticatedFileServer, t as STALL_REPORT_MS, u as resolveFilePath, v as ensureModel, w as revisionWeightUrl, y as fetchJson } from "./event-loop-stall-monitor-Dbf6C7qt.mjs";
32
32
  import { A as allFamiliesListenHost, C as collectCertIdentity, D as SERVER_AUTH_OID, E as MAX_LEAF_VALIDITY_DAYS, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as evaluateExistingCert, P as readLanHttpState, S as CA_COMMON_NAME, T as LEAF_RENEWAL_WINDOW_DAYS, _ as writeExtraSans, a as validateUploadedTls, b as loadTlsCert, c as registerHttpsListener, d as prepareBootTls, f as UPLOADED_CA_FILE, g as splitPemCertificates, h as readTlsMode, i as storeUploadedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as reloadHttpsListener, m as readTlsAccessStatus, n as regenerateCertificate, o as clearHttpsListener, p as readExtraSans, r as revertToGeneratedCertificate, s as leafFingerprintOf, t as applyCertificateToListener, u as servedHttpsLeafFingerprint, v as writeTlsMode, w as CA_VALIDITY_DAYS, x as reissueTlsLeaf, y as ensureTlsCert } from "./tls-CJHogwTl.mjs";
33
- import { $ as CapRouteError, $n as EMPTY_CAP_ACTION_READING, $t as RUNNER_RSS_BUDGET_ENV, A as resolveHwAccel, An as OUTBOUND_QUEUE_SUSTAIN_MS, At as DeviceRegistry, B as udsChildLogToWorkerEntry, Bn as createSocketPlaneMeter, Bt as hostNodeIdOf, C as getBrokerEventBus, Cn as HEAP_SPACE_REPORT_MIN_MB, Ct as capActionName, D as subscribePassthrough, Dn as readHeapSpaces, Dt as parseCapAction, E as setNodeEventInterest, En as heapSpaceField, Et as capServiceName, F as ipcParentLink, Fn as createMeshQueueReader, Ft as resolveAddonClass, G as UDS_NO_ROUTE_PREFIX, Gn as EMPTY_SOCKET_DIRECTION, Gt as HEAP_WATCH_INTERVAL_MS, H as createUdsLoggerWithControl, Hn as diffSocketPlane, Ht as HEAP_RECLAIM_MIN_INTERVAL_MS, I as localProviderLink, In as formatMeshQueue, It as buildNpmChildEnv, J as answerClaimedGetStatus, Jn as sampleSocketDirection, Jt as HUB_MAIN_RSS_BUDGET_MB, K as afterWorkerOnlineAnnounce, Kn as createSocketDirectionCounters, Kt as HEAP_WATCH_WARN_RATIO, L as createParentUnownedCallHandler, Ln as EMPTY_SOCKET_PLANE_BASELINE, Lt as resolveNpmInvocation, M as brokerTransportLink, Mn as createOutboundQueueGate, Mt as CapabilityUnavailableError, N as buildLinkChain, Nn as formatOutboundQueueVerdict, Nt as copyBundledNativeModules, O as AddonDepsManager, On as selectReportedSpaces, Ot as deserializeTypedArrays, P as deviceCapResolverLink, Pn as MESH_QUEUE_TOP_N, Pt as installManifestNativeDeps, Q as CapRouteResolver, Qn as CAP_ACTION_UNLABELLED, Qt as RUNNER_HEAP_WATCH_INTERVAL_MS, R as createUdsEventBridge, Rn as SOCKET_PLANE_TOP_N, Rt as runNpm, S as clusterEventTopic, Sn as DECISIVE_HEAP_SPACES, St as NATIVE_PROVIDER_SERVICE_INFIX, T as registerEventBusService, Tn as formatHeapSpaces, Tt as capBareAction, U as LocalChildClient, Un as formatSocketPlane, Ut as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneReader, Vt as createAddonDataPlaneFacility, W as LocalChildRegistry, Wn as readSocketQueues, Wt as HEAP_RECLAIM_TRIGGER_MB, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionMessages, Xt as RSS_BUDGET_REANNOUNCE_MIN_MS, Y as deviceOfGetStatus, Yn as socketDirectionBytes, Yt as HUB_RSS_BUDGET_ENV, Z as AGENT_CAP_FWD_SERVICE, Zn as CAP_ACTION_OVERFLOW_LABEL, Zt as RSS_BUDGET_RELEASE_RATIO, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, a as reapProcessGroup, an as describeRss, ar as createEventPlaneMeter, at as getCapUsageRegistry, b as setHubConnected, bn as formatArrayBufferCensus, bt as createAddonService, c as runnerOwnsProcessGroup, cn as parseRssBudgetMb, cr as formatEventPlane, ct as UdsLocalTransportServer, d as summarizeMembers, dn as startHeapWatch, dt as localEndpointPath, en as ZERO_LOOP_DELAY, er as MAX_CAP_ACTIONS_PER_PEER, et as classifyCapRoute, f as installManifestSystemDeps, fn as startRunnerHeapWatch, ft as FrameDecoder, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ht as createBrokerDeviceManagerApi, in as createV8Reclaimer, ir as EVENT_PLANE_TOP_N, it as __resetCapUsageRegistryForTests, j as brokerCallForCap, jn as OUTBOUND_QUEUE_THRESHOLD_BYTES, jt as CapabilityHandle, k as createKernelHwAccel, kn as OUTBOUND_QUEUE_COOLDOWN_MS, kt as serializeTypedArrays, l as signalAllRunnerGroups, ln as reclaimIntervalMs, lt as SocketChannel, m as adaptBrokerToCluster, mn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, mt as buildNativeCapProxy, nn as createDeferredHeapWatchSink, nr as createCapActionCensus, nt as CapUsageRegistry, o as registerRunnerGroup, on as hubMainRssBudget, or as createEventPlaneReader, ot as createLocalTransport, p as installManifestPythonDeps, pn as strandedMb, pt as encodeFrame, q as GET_STATUS_METHOD, qn as recordSocketFrame, qt as HUB_MAIN_HEAP_WATCH_LABEL, r as defaultProcessGroupOps, rn as createLoopDelayMeter, rr as diffCapActionCensus, rt as PARENT_ROUTED_PROVIDER_ADDON_ID, s as releaseRunnerGroup, sn as nextRssBudgetState, sr as diffEventPlane, st as UdsLocalTransportClient, t as CAP_METHOD_NOT_IMPLEMENTED, tn as buildHeapSample, tr as capActionLabel, tt as callWithServiceDiscovery, un as shouldReclaim, ut as PeerAnsweredError, v as getOrInitReadinessRegistry, vn as createArrayBufferCensusGate, vt as mountNativeCapService, w as getMoleculerEventStats, wn as emitHeapDiagnosticReport, wt as capActionSuffix, x as EVENT_TOPIC_PREFIX, xn as isArrayBufferCensusReport, xt as validateProviderRegistrations, y as getOrInitReadinessRegistryForClient, yn as createInspectorArrayBufferCensus, z as createUdsEventBus, zn as SOCKET_QUEUE_TOP_N, zt as createAddonPeerBytesFacility } from "./child-cap-dispatch-By0P9X06.mjs";
33
+ import { $ as CapRouteError, $n as EMPTY_CAP_ACTION_READING, $t as RUNNER_RSS_BUDGET_ENV, A as resolveHwAccel, An as OUTBOUND_QUEUE_SUSTAIN_MS, At as DeviceRegistry, B as udsChildLogToWorkerEntry, Bn as createSocketPlaneMeter, Bt as hostNodeIdOf, C as getBrokerEventBus, Cn as HEAP_SPACE_REPORT_MIN_MB, Ct as capActionName, D as subscribePassthrough, Dn as readHeapSpaces, Dt as parseCapAction, E as setNodeEventInterest, En as heapSpaceField, Et as capServiceName, F as ipcParentLink, Fn as createMeshQueueReader, Ft as resolveAddonClass, G as UDS_NO_ROUTE_PREFIX, Gn as EMPTY_SOCKET_DIRECTION, Gt as HEAP_WATCH_INTERVAL_MS, H as createUdsLoggerWithControl, Hn as diffSocketPlane, Ht as HEAP_RECLAIM_MIN_INTERVAL_MS, I as localProviderLink, In as formatMeshQueue, It as buildNpmChildEnv, J as answerClaimedGetStatus, Jn as sampleSocketDirection, Jt as HUB_MAIN_RSS_BUDGET_MB, K as afterWorkerOnlineAnnounce, Kn as createSocketDirectionCounters, Kt as HEAP_WATCH_WARN_RATIO, L as createParentUnownedCallHandler, Ln as EMPTY_SOCKET_PLANE_BASELINE, Lt as resolveNpmInvocation, M as brokerTransportLink, Mn as createOutboundQueueGate, Mt as CapabilityUnavailableError, N as buildLinkChain, Nn as formatOutboundQueueVerdict, Nt as copyBundledNativeModules, O as AddonDepsManager, On as selectReportedSpaces, Ot as deserializeTypedArrays, P as deviceCapResolverLink, Pn as MESH_QUEUE_TOP_N, Pt as installManifestNativeDeps, Q as CapRouteResolver, Qn as CAP_ACTION_UNLABELLED, Qt as RUNNER_HEAP_WATCH_INTERVAL_MS, R as createUdsEventBridge, Rn as SOCKET_PLANE_TOP_N, Rt as runNpm, S as clusterEventTopic, Sn as DECISIVE_HEAP_SPACES, St as NATIVE_PROVIDER_SERVICE_INFIX, T as registerEventBusService, Tn as formatHeapSpaces, Tt as capBareAction, U as LocalChildClient, Un as formatSocketPlane, Ut as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, V as createUdsLogger, Vn as createSocketPlaneReader, Vt as createAddonDataPlaneFacility, W as LocalChildRegistry, Wn as readSocketQueues, Wt as HEAP_RECLAIM_TRIGGER_MB, X as AGENT_CAP_FWD_ACTION, Xn as socketDirectionMessages, Xt as RSS_BUDGET_REANNOUNCE_MIN_MS, Y as deviceOfGetStatus, Yn as socketDirectionBytes, Yt as HUB_RSS_BUDGET_ENV, Z as AGENT_CAP_FWD_SERVICE, Zn as CAP_ACTION_OVERFLOW_LABEL, Zt as RSS_BUDGET_RELEASE_RATIO, _ as getWorkerDeviceRegistry, _n as ARRAY_BUFFER_RELEASE_MIN_DROP_RATIO, a as reapProcessGroup, an as describeRss, ar as createEventPlaneMeter, at as getCapUsageRegistry, b as setHubConnected, bn as formatArrayBufferCensus, bt as createAddonService, c as runnerOwnsProcessGroup, cn as parseRssBudgetMb, cr as formatEventPlane, ct as UdsLocalTransportServer, d as summarizeMembers, dn as startHeapWatch, dt as localEndpointPath, en as ZERO_LOOP_DELAY, er as MAX_CAP_ACTIONS_PER_PEER, et as classifyCapRoute, f as installManifestSystemDeps, fn as startRunnerHeapWatch, ft as FrameDecoder, g as createUdsAddonContext, gn as ARRAY_BUFFER_CENSUS_THRESHOLD_MB, h as createAddonContext, hn as ARRAY_BUFFER_CENSUS_SUSTAIN_MS, ht as createBrokerDeviceManagerApi, in as createV8Reclaimer, ir as EVENT_PLANE_TOP_N, it as __resetCapUsageRegistryForTests, j as brokerCallForCap, jn as OUTBOUND_QUEUE_THRESHOLD_BYTES, jt as CapabilityHandle, k as createKernelHwAccel, kn as OUTBOUND_QUEUE_COOLDOWN_MS, kt as serializeTypedArrays, l as signalAllRunnerGroups, ln as reclaimIntervalMs, lt as SocketChannel, m as adaptBrokerToCluster, mn as ARRAY_BUFFER_CENSUS_COOLDOWN_MS, mt as buildNativeCapProxy, nn as createDeferredHeapWatchSink, nr as createCapActionCensus, nt as CapUsageRegistry, o as registerRunnerGroup, on as hubMainRssBudget, or as createEventPlaneReader, ot as createLocalTransport, p as installManifestPythonDeps, pn as strandedMb, pt as encodeFrame, q as GET_STATUS_METHOD, qn as recordSocketFrame, qt as HUB_MAIN_HEAP_WATCH_LABEL, r as defaultProcessGroupOps, rn as createLoopDelayMeter, rr as diffCapActionCensus, rt as PARENT_ROUTED_PROVIDER_ADDON_ID, s as releaseRunnerGroup, sn as nextRssBudgetState, sr as diffEventPlane, st as UdsLocalTransportClient, t as CAP_METHOD_NOT_IMPLEMENTED, tn as buildHeapSample, tr as capActionLabel, tt as callWithServiceDiscovery, un as shouldReclaim, ut as PeerAnsweredError, v as getOrInitReadinessRegistry, vn as createArrayBufferCensusGate, vt as mountNativeCapService, w as getMoleculerEventStats, wn as emitHeapDiagnosticReport, wt as capActionSuffix, x as EVENT_TOPIC_PREFIX, xn as isArrayBufferCensusReport, xt as validateProviderRegistrations, y as getOrInitReadinessRegistryForClient, yn as createInspectorArrayBufferCensus, z as createUdsEventBus, zn as SOCKET_QUEUE_TOP_N, zt as createAddonPeerBytesFacility } from "./child-cap-dispatch-BN_zwf_k.mjs";
34
34
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-B2WZ8_q9.mjs";
35
35
  import { t as CustomActionRegistry } from "./custom-action-registry-B4Cf4O_X.mjs";
36
36
  import { z } from "zod";
@@ -1,4 +1,4 @@
1
- import { hr as asJsonObject } from "./dist-CuTBQnSA.mjs";
1
+ import { hr as asJsonObject } from "./dist-DUQvCQhx.mjs";
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-DyUq7law.js");
1
+ const require_dist = require("./dist-BPFp08uY.js");
2
2
  //#region src/builtins/sqlite-storage/retired-settings-keys.ts
3
3
  /**
4
4
  * Is THIS node the one whose settings store is the cluster's authority?
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.368",
3
+ "version": "1.2.369",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",