@camstack/system 1.2.166 → 1.2.168

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 (57) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  10. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  11. package/dist/builtins/console-logging/index.js +1 -1
  12. package/dist/builtins/console-logging/index.mjs +1 -1
  13. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  14. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  15. package/dist/builtins/device-manager/device-manager.addon.js +97 -31
  16. package/dist/builtins/device-manager/device-manager.addon.mjs +97 -31
  17. package/dist/builtins/device-manager/device-meta-actions.d.ts +36 -15
  18. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  19. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  20. package/dist/builtins/hub-forwarder/index.js +1 -1
  21. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  22. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  23. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  24. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  25. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  26. package/dist/builtins/local-network/local-network.addon.js +1 -1
  27. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  28. package/dist/builtins/loki-logging/index.js +1 -1
  29. package/dist/builtins/loki-logging/index.mjs +1 -1
  30. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  31. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  32. package/dist/builtins/platform-probe/index.js +1 -1
  33. package/dist/builtins/platform-probe/index.mjs +1 -1
  34. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  35. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  36. package/dist/builtins/snapshot/index.js +1 -1
  37. package/dist/builtins/snapshot/index.mjs +1 -1
  38. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  39. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  40. package/dist/builtins/sqlite-storage/retired-collections.d.ts +9 -0
  41. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  42. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  43. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  44. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  45. package/dist/builtins/system-config/system-config.addon.js +1 -1
  46. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  47. package/dist/builtins/winston-logging/index.js +1 -1
  48. package/dist/builtins/winston-logging/index.mjs +1 -1
  49. package/dist/{dist-CFTKQGym.js → dist-DCdtLXgx.js} +28 -75
  50. package/dist/{dist-Dw9cm1NS.mjs → dist-DwaeuknI.mjs} +28 -75
  51. package/dist/index.js +2 -2
  52. package/dist/index.mjs +2 -2
  53. package/dist/{manifest-system-deps-BIxY1Y5e.js → manifest-system-deps-Bi7oyXcN.js} +1 -1
  54. package/dist/{manifest-system-deps-DTz_zNQf.mjs → manifest-system-deps-D52_8SN1.mjs} +1 -1
  55. package/dist/{retired-settings-keys-diW1NmyP.mjs → retired-settings-keys-CB3wWpuC.mjs} +1 -1
  56. package/dist/{retired-settings-keys-dehyu2N3.js → retired-settings-keys-DobfRRgq.js} +1 -1
  57. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Nt as BaseAddon, an as EventCategory, ot as localNetworkCapability } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Nt as BaseAddon, an as EventCategory, ot as localNetworkCapability } from "../../dist-DwaeuknI.mjs";
2
2
  import { S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, i as writeExtraSans, l as reissueTlsLeaf, n as readTlsAccessStatus, o as validateUploadedTls, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, y as applyLanHttp } from "../../tls-DOTmtLCW.mjs";
3
3
  import { mkdir, writeFile } from "node:fs/promises";
4
4
  import { join } from "node:path";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  //#region src/builtins/loki-logging/loki-payload.ts
8
8
  /**
9
9
  * Loki rejects a label name that is not a valid Prometheus label
@@ -1,4 +1,4 @@
1
- import { Nt as BaseAddon, st as logDestinationCapability } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Nt as BaseAddon, st as logDestinationCapability } from "../../dist-DwaeuknI.mjs";
2
2
  //#region src/builtins/loki-logging/loki-payload.ts
3
3
  /**
4
4
  * Loki rejects a label name that is not a valid Prometheus label
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  let node_fs_promises = require("node:fs/promises");
8
8
  let node_child_process = require("node:child_process");
9
9
  let node_util = require("node:util");
@@ -1,4 +1,4 @@
1
- import { Kt as createEvent, Mt as errMsg, Nt as BaseAddon, Z as foldSnapshotByFunction, _t as resolveBucketMs, an as EventCategory, gt as reducePoints, ut as metricsProviderCapability } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Kt as createEvent, Mt as errMsg, Nt as BaseAddon, Z as foldSnapshotByFunction, _t as resolveBucketMs, an as EventCategory, gt as reducePoints, ut as metricsProviderCapability } from "../../dist-DwaeuknI.mjs";
2
2
  import { readFile, readdir } from "node:fs/promises";
3
3
  import { execFile, execFileSync } from "node:child_process";
4
4
  import { promisify } from "node:util";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  let node_child_process = require("node:child_process");
8
8
  let node_util = require("node:util");
9
9
  let node_fs = require("node:fs");
@@ -1,5 +1,5 @@
1
1
  import { o as __toESM } from "../../chunk-CNf5ZN-e.mjs";
2
- import { G as enumerateInferenceDevices, Jt as emitReadiness, Mt as errMsg, Nt as BaseAddon, St as scoreRuntimes, an as EventCategory, mt as platformProbeCapability } from "../../dist-Dw9cm1NS.mjs";
2
+ import { G as enumerateInferenceDevices, Jt as emitReadiness, Mt as errMsg, Nt as BaseAddon, St as scoreRuntimes, an as EventCategory, mt as platformProbeCapability } from "../../dist-DwaeuknI.mjs";
3
3
  import { execFile } from "node:child_process";
4
4
  import { promisify } from "node:util";
5
5
  import * as fs from "node:fs";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
8
8
  /**
9
9
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -1,4 +1,4 @@
1
- import { Nt as BaseAddon, an as EventCategory } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Nt as BaseAddon, an as EventCategory } from "../../dist-DwaeuknI.mjs";
2
2
  //#region src/builtins/remote-access-orchestrator/enabled-providers-reconcile.ts
3
3
  /**
4
4
  * Reconcile the durable `enabledProviders` set against authoritative
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,4 +1,4 @@
1
- import { B as deriveBatteryPresence, Lt as DeviceFeature, M as batteryCapability, Mt as errMsg, Nt as BaseAddon, Ot as streamQualityLabel, Qt as nodePin, an as EventCategory, i as BatteryStatusSchema, j as bareAddonId, wt as snapshotCapability, zt as DeviceType } from "../../dist-Dw9cm1NS.mjs";
1
+ import { B as deriveBatteryPresence, Lt as DeviceFeature, M as batteryCapability, Mt as errMsg, Nt as BaseAddon, Ot as streamQualityLabel, Qt as nodePin, an as EventCategory, i as BatteryStatusSchema, j as bareAddonId, wt as snapshotCapability, zt as DeviceType } from "../../dist-DwaeuknI.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { signExpiringUrl, verifyExpiringUrl } from "@camstack/types/node";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  let node_crypto = require("node:crypto");
8
8
  let node_fs_promises = require("node:fs/promises");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Dt as storageProviderCapability, Nt as BaseAddon, X as filesystemBrowseCapability } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Dt as storageProviderCapability, Nt as BaseAddon, X as filesystemBrowseCapability } from "../../dist-DwaeuknI.mjs";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { mkdir, readdir, realpath, statfs } from "node:fs/promises";
4
4
  import * as path$1 from "node:path";
@@ -35,6 +35,15 @@ export interface RetiredCollectionStore {
35
35
  * never had a row. The fleet lives in `device-manager:devices`, under numeric
36
36
  * ids, while these tables key on `dev_NNNN` — the two id-spaces could not be
37
37
  * reconciled even if something had wanted to.
38
+ *
39
+ * `pipeline-analytics:track-groups` / `:track-group-members` — the co-moving
40
+ * GROUP entity. It shipped on 2026-08-24 and was kill-switched the same day
41
+ * (duplicate sealed rows made Library → Gruppi unusable); the operator decided
42
+ * on 2026-09-01 to delete it rather than re-open it. The clusterer, the live
43
+ * buffer, the sealer, the query, the two cap methods and the two custom
44
+ * actions are gone, so nothing declares these tables any more. The group-owned
45
+ * MEDIA rows are NOT here — they live in the shared `pipeline-analytics:media`
46
+ * and are collected by the orphan audit through `RETIRED_OWNER_KINDS`.
38
47
  */
39
48
  export declare const RETIRED_COLLECTIONS: readonly RetiredCollectionSpec[];
40
49
  /**
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  let zod = require("zod");
8
8
  let node_crypto = require("node:crypto");
9
9
  let node_fs_promises = require("node:fs/promises");
@@ -1,4 +1,4 @@
1
- import { $t as parseJsonObject, C as StorageMigrationJobSchema, Ct as settingsStoreCapability, Et as storageMigrationCapability, Nt as BaseAddon, P as collectSecretConfigKeys, S as StorageLocationTypeSchema, Tt as storageCapability, m as REDACTED_SECRET, x as StorageCleanupJobSchema } from "../../dist-Dw9cm1NS.mjs";
1
+ import { $t as parseJsonObject, C as StorageMigrationJobSchema, Ct as settingsStoreCapability, Et as storageMigrationCapability, Nt as BaseAddon, P as collectSecretConfigKeys, S as StorageLocationTypeSchema, Tt as storageCapability, m as REDACTED_SECRET, x as StorageCleanupJobSchema } from "../../dist-DwaeuknI.mjs";
2
2
  import { z } from "zod";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import * as fs from "node:fs/promises";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  //#region src/builtins/system-config/system-config.addon.ts
8
8
  /**
9
9
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -1,4 +1,4 @@
1
- import { Mt as errMsg, Nt as BaseAddon, Xt as hydrateSchema } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Mt as errMsg, Nt as BaseAddon, Xt as hydrateSchema } from "../../dist-DwaeuknI.mjs";
2
2
  //#region src/builtins/system-config/system-config.addon.ts
3
3
  /**
4
4
  * Built-in `system-config` addon — Phase 4 of the settings redesign.
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-CFTKQGym.js");
6
+ const require_dist = require("../../dist-DCdtLXgx.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { Nt as BaseAddon, st as logDestinationCapability } from "../../dist-Dw9cm1NS.mjs";
1
+ import { Nt as BaseAddon, st as logDestinationCapability } from "../../dist-DwaeuknI.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -10833,6 +10833,27 @@ var deviceManagerCapability = {
10833
10833
  kind: "mutation",
10834
10834
  auth: "admin"
10835
10835
  }),
10836
+ /** Rename a room: replace the label in the registry IN PLACE and move
10837
+ * every device that carried it, as ONE server operation.
10838
+ *
10839
+ * The admin UI used to do this as `addLocation(to)` → N ×
10840
+ * `setLocation(device, to)` → `removeLocation(from)` from the browser.
10841
+ * Nothing bound those three together, so a closed tab left the fleet
10842
+ * split across two rooms — one of which the operator believed was gone.
10843
+ *
10844
+ * `from` is matched the way the registry matches everywhere else
10845
+ * (trimmed, case-insensitive) and need NOT be registered: the registry is
10846
+ * a suggestion list, and the devices that most need a rename are exactly
10847
+ * the ones carrying a label nobody registered. `to` renames onto an
10848
+ * existing room by MERGING into it, leaving no duplicate label. An empty
10849
+ * `to` throws before anything is written. */
10850
+ renameLocation: method(zod.z.object({
10851
+ from: zod.z.string(),
10852
+ to: zod.z.string()
10853
+ }), zod.z.object({ moved: zod.z.number() }), {
10854
+ kind: "mutation",
10855
+ auth: "admin"
10856
+ }),
10836
10857
  /** Soft-disable / re-enable the device. Drivers consult
10837
10858
  * `BaseDevice.disabled` to gate lifecycle hooks. */
10838
10859
  setDisabled: method(zod.z.object({
@@ -17908,46 +17929,6 @@ var RecentTracksPageSchema = zod.z.object({
17908
17929
  /** Cursor for the next page, or null when this page is the last. */
17909
17930
  nextCursor: zod.z.string().nullable()
17910
17931
  });
17911
- var LIST_GROUPS_DEFAULT_LIMIT = 40;
17912
- var LIST_GROUPS_MAX_LIMIT = 100;
17913
- var AnalyticsGroupRecordSchema = zod.z.object({
17914
- id: zod.z.string(),
17915
- deviceId: zod.z.number().int(),
17916
- openedAt: zod.z.number().int(),
17917
- closedAt: zod.z.number().int(),
17918
- timestamp: zod.z.number().int(),
17919
- memberCount: zod.z.number().int(),
17920
- memberTrackIds: zod.z.array(zod.z.string()).readonly(),
17921
- className: zod.z.string(),
17922
- classes: zod.z.array(zod.z.string()).readonly(),
17923
- /** Relative event-media path, or null when the group has no picture yet. */
17924
- mediaUrl: zod.z.string().nullable(),
17925
- singleton: zod.z.boolean()
17926
- });
17927
- var AnalyticsGroupMemberSchema = zod.z.object({
17928
- trackId: zod.z.string(),
17929
- deviceId: zod.z.number().int(),
17930
- className: zod.z.string(),
17931
- firstSeen: zod.z.number().int(),
17932
- lastSeen: zod.z.number().int(),
17933
- mediaUrl: zod.z.string().nullable()
17934
- });
17935
- var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: zod.z.array(AnalyticsGroupMemberSchema).readonly() });
17936
- var ListGroupsQueryInput = zod.z.object({
17937
- /** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
17938
- deviceIds: zod.z.array(zod.z.number()),
17939
- /** Window lower bound on `closedAt` (inclusive). */
17940
- since: zod.z.number().optional(),
17941
- /** Window upper bound on `openedAt` (inclusive). */
17942
- until: zod.z.number().optional(),
17943
- limit: zod.z.number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
17944
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
17945
- cursor: zod.z.string().optional()
17946
- });
17947
- var ListGroupsPageSchema = zod.z.object({
17948
- groups: zod.z.array(AnalyticsGroupRecordSchema).readonly(),
17949
- nextCursor: zod.z.string().nullable()
17950
- });
17951
17932
  var KEY_EVENTS_DEFAULT_LIMIT = 50;
17952
17933
  var KEY_EVENTS_MAX_LIMIT = 200;
17953
17934
  var KeyEventQueryInput = zod.z.object({
@@ -18051,9 +18032,7 @@ var TrackCascadeCountsSchema = zod.z.object({
18051
18032
  /** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
18052
18033
  plates: zod.z.number().int(),
18053
18034
  /** Per-track CLIP search vectors removed (best-effort). */
18054
- embeddings: zod.z.number().int(),
18055
- /** Group membership + group rows removed with their last member (best-effort). */
18056
- groups: zod.z.number().int()
18035
+ embeddings: zod.z.number().int()
18057
18036
  });
18058
18037
  /** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
18059
18038
  var DiskReconcileCountsSchema = zod.z.object({
@@ -18329,16 +18308,6 @@ var pipelineAnalyticsCapability = {
18329
18308
  * are not included (same contract as `listTracks`).
18330
18309
  */
18331
18310
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
18332
- /**
18333
- * Batched co-moving group listing — the Groups feed. Same merge/cursor
18334
- * contract as {@link listRecentTracks}. A group is a sealed partition of
18335
- * one session; `getGroup` is the detail with members.
18336
- */
18337
- listGroups: method(ListGroupsQueryInput, ListGroupsPageSchema),
18338
- getGroup: method(zod.z.object({
18339
- deviceId: zod.z.number(),
18340
- groupId: zod.z.string().min(1)
18341
- }), AnalyticsGroupDetailSchema.nullable()),
18342
18311
  clearTracks: method(zod.z.object({ deviceId: zod.z.number() }), zod.z.void(), {
18343
18312
  kind: "mutation",
18344
18313
  auth: "admin"
@@ -35636,6 +35605,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
35636
35605
  addonId: null,
35637
35606
  access: "delete"
35638
35607
  },
35608
+ "deviceManager.renameLocation": {
35609
+ capName: "device-manager",
35610
+ capScope: "system",
35611
+ addonId: null,
35612
+ access: "create"
35613
+ },
35639
35614
  "deviceManager.runDeviceAction": {
35640
35615
  capName: "device-manager",
35641
35616
  capScope: "system",
@@ -37328,12 +37303,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
37328
37303
  addonId: null,
37329
37304
  access: "view"
37330
37305
  },
37331
- "pipelineAnalytics.getGroup": {
37332
- capName: "pipeline-analytics",
37333
- capScope: "device",
37334
- addonId: null,
37335
- access: "view"
37336
- },
37337
37306
  "pipelineAnalytics.getKeyEvents": {
37338
37307
  capName: "pipeline-analytics",
37339
37308
  capScope: "device",
@@ -37436,12 +37405,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
37436
37405
  addonId: null,
37437
37406
  access: "view"
37438
37407
  },
37439
- "pipelineAnalytics.listGroups": {
37440
- capName: "pipeline-analytics",
37441
- capScope: "device",
37442
- addonId: null,
37443
- access: "view"
37444
- },
37445
37408
  "pipelineAnalytics.listOpsLog": {
37446
37409
  capName: "pipeline-analytics",
37447
37410
  capScope: "device",
@@ -41064,11 +41027,6 @@ Object.freeze({
41064
41027
  form: "single",
41065
41028
  optional: true
41066
41029
  }],
41067
- "pipelineAnalytics.getGroup": [{
41068
- name: "deviceId",
41069
- form: "single",
41070
- optional: false
41071
- }],
41072
41030
  "pipelineAnalytics.getKeyEvents": [{
41073
41031
  name: "deviceId",
41074
41032
  form: "single",
@@ -41134,11 +41092,6 @@ Object.freeze({
41134
41092
  form: "single",
41135
41093
  optional: false
41136
41094
  }],
41137
- "pipelineAnalytics.listGroups": [{
41138
- name: "deviceIds",
41139
- form: "array",
41140
- optional: false
41141
- }],
41142
41095
  "pipelineAnalytics.listOpsLog": [{
41143
41096
  name: "deviceId",
41144
41097
  form: "single",
@@ -10833,6 +10833,27 @@ var deviceManagerCapability = {
10833
10833
  kind: "mutation",
10834
10834
  auth: "admin"
10835
10835
  }),
10836
+ /** Rename a room: replace the label in the registry IN PLACE and move
10837
+ * every device that carried it, as ONE server operation.
10838
+ *
10839
+ * The admin UI used to do this as `addLocation(to)` → N ×
10840
+ * `setLocation(device, to)` → `removeLocation(from)` from the browser.
10841
+ * Nothing bound those three together, so a closed tab left the fleet
10842
+ * split across two rooms — one of which the operator believed was gone.
10843
+ *
10844
+ * `from` is matched the way the registry matches everywhere else
10845
+ * (trimmed, case-insensitive) and need NOT be registered: the registry is
10846
+ * a suggestion list, and the devices that most need a rename are exactly
10847
+ * the ones carrying a label nobody registered. `to` renames onto an
10848
+ * existing room by MERGING into it, leaving no duplicate label. An empty
10849
+ * `to` throws before anything is written. */
10850
+ renameLocation: method(z.object({
10851
+ from: z.string(),
10852
+ to: z.string()
10853
+ }), z.object({ moved: z.number() }), {
10854
+ kind: "mutation",
10855
+ auth: "admin"
10856
+ }),
10836
10857
  /** Soft-disable / re-enable the device. Drivers consult
10837
10858
  * `BaseDevice.disabled` to gate lifecycle hooks. */
10838
10859
  setDisabled: method(z.object({
@@ -17908,46 +17929,6 @@ var RecentTracksPageSchema = z.object({
17908
17929
  /** Cursor for the next page, or null when this page is the last. */
17909
17930
  nextCursor: z.string().nullable()
17910
17931
  });
17911
- var LIST_GROUPS_DEFAULT_LIMIT = 40;
17912
- var LIST_GROUPS_MAX_LIMIT = 100;
17913
- var AnalyticsGroupRecordSchema = z.object({
17914
- id: z.string(),
17915
- deviceId: z.number().int(),
17916
- openedAt: z.number().int(),
17917
- closedAt: z.number().int(),
17918
- timestamp: z.number().int(),
17919
- memberCount: z.number().int(),
17920
- memberTrackIds: z.array(z.string()).readonly(),
17921
- className: z.string(),
17922
- classes: z.array(z.string()).readonly(),
17923
- /** Relative event-media path, or null when the group has no picture yet. */
17924
- mediaUrl: z.string().nullable(),
17925
- singleton: z.boolean()
17926
- });
17927
- var AnalyticsGroupMemberSchema = z.object({
17928
- trackId: z.string(),
17929
- deviceId: z.number().int(),
17930
- className: z.string(),
17931
- firstSeen: z.number().int(),
17932
- lastSeen: z.number().int(),
17933
- mediaUrl: z.string().nullable()
17934
- });
17935
- var AnalyticsGroupDetailSchema = AnalyticsGroupRecordSchema.extend({ members: z.array(AnalyticsGroupMemberSchema).readonly() });
17936
- var ListGroupsQueryInput = z.object({
17937
- /** Devices to merge. An empty array yields `{ groups: [], nextCursor: null }`. */
17938
- deviceIds: z.array(z.number()),
17939
- /** Window lower bound on `closedAt` (inclusive). */
17940
- since: z.number().optional(),
17941
- /** Window upper bound on `openedAt` (inclusive). */
17942
- until: z.number().optional(),
17943
- limit: z.number().int().min(1).max(LIST_GROUPS_MAX_LIMIT).default(LIST_GROUPS_DEFAULT_LIMIT),
17944
- /** Opaque continuation cursor from a previous page's `nextCursor`. */
17945
- cursor: z.string().optional()
17946
- });
17947
- var ListGroupsPageSchema = z.object({
17948
- groups: z.array(AnalyticsGroupRecordSchema).readonly(),
17949
- nextCursor: z.string().nullable()
17950
- });
17951
17932
  var KEY_EVENTS_DEFAULT_LIMIT = 50;
17952
17933
  var KEY_EVENTS_MAX_LIMIT = 200;
17953
17934
  var KeyEventQueryInput = z.object({
@@ -18051,9 +18032,7 @@ var TrackCascadeCountsSchema = z.object({
18051
18032
  /** Unassigned plate reads removed (best-effort; plate leg deferred to plate-intelligence). */
18052
18033
  plates: z.number().int(),
18053
18034
  /** Per-track CLIP search vectors removed (best-effort). */
18054
- embeddings: z.number().int(),
18055
- /** Group membership + group rows removed with their last member (best-effort). */
18056
- groups: z.number().int()
18035
+ embeddings: z.number().int()
18057
18036
  });
18058
18037
  /** Disk-wins reconcile: media rows whose blobs are gone, then empty tracks. */
18059
18038
  var DiskReconcileCountsSchema = z.object({
@@ -18329,16 +18308,6 @@ var pipelineAnalyticsCapability = {
18329
18308
  * are not included (same contract as `listTracks`).
18330
18309
  */
18331
18310
  listRecentTracks: method(RecentTracksQueryInput, RecentTracksPageSchema),
18332
- /**
18333
- * Batched co-moving group listing — the Groups feed. Same merge/cursor
18334
- * contract as {@link listRecentTracks}. A group is a sealed partition of
18335
- * one session; `getGroup` is the detail with members.
18336
- */
18337
- listGroups: method(ListGroupsQueryInput, ListGroupsPageSchema),
18338
- getGroup: method(z.object({
18339
- deviceId: z.number(),
18340
- groupId: z.string().min(1)
18341
- }), AnalyticsGroupDetailSchema.nullable()),
18342
18311
  clearTracks: method(z.object({ deviceId: z.number() }), z.void(), {
18343
18312
  kind: "mutation",
18344
18313
  auth: "admin"
@@ -35636,6 +35605,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
35636
35605
  addonId: null,
35637
35606
  access: "delete"
35638
35607
  },
35608
+ "deviceManager.renameLocation": {
35609
+ capName: "device-manager",
35610
+ capScope: "system",
35611
+ addonId: null,
35612
+ access: "create"
35613
+ },
35639
35614
  "deviceManager.runDeviceAction": {
35640
35615
  capName: "device-manager",
35641
35616
  capScope: "system",
@@ -37328,12 +37303,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
37328
37303
  addonId: null,
37329
37304
  access: "view"
37330
37305
  },
37331
- "pipelineAnalytics.getGroup": {
37332
- capName: "pipeline-analytics",
37333
- capScope: "device",
37334
- addonId: null,
37335
- access: "view"
37336
- },
37337
37306
  "pipelineAnalytics.getKeyEvents": {
37338
37307
  capName: "pipeline-analytics",
37339
37308
  capScope: "device",
@@ -37436,12 +37405,6 @@ var METHOD_ACCESS_MAP = Object.freeze({
37436
37405
  addonId: null,
37437
37406
  access: "view"
37438
37407
  },
37439
- "pipelineAnalytics.listGroups": {
37440
- capName: "pipeline-analytics",
37441
- capScope: "device",
37442
- addonId: null,
37443
- access: "view"
37444
- },
37445
37408
  "pipelineAnalytics.listOpsLog": {
37446
37409
  capName: "pipeline-analytics",
37447
37410
  capScope: "device",
@@ -41064,11 +41027,6 @@ Object.freeze({
41064
41027
  form: "single",
41065
41028
  optional: true
41066
41029
  }],
41067
- "pipelineAnalytics.getGroup": [{
41068
- name: "deviceId",
41069
- form: "single",
41070
- optional: false
41071
- }],
41072
41030
  "pipelineAnalytics.getKeyEvents": [{
41073
41031
  name: "deviceId",
41074
41032
  form: "single",
@@ -41134,11 +41092,6 @@ Object.freeze({
41134
41092
  form: "single",
41135
41093
  optional: false
41136
41094
  }],
41137
- "pipelineAnalytics.listGroups": [{
41138
- name: "deviceIds",
41139
- form: "array",
41140
- optional: false
41141
- }],
41142
41095
  "pipelineAnalytics.listOpsLog": [{
41143
41096
  name: "deviceId",
41144
41097
  form: "single",
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-CFTKQGym.js");
3
+ const require_dist = require("./dist-DCdtLXgx.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_formatter = require("./formatter-DqAKDlvN.js");
@@ -26,7 +26,7 @@ require("./builtins/system-config/index.js");
26
26
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
27
27
  const require_file_data_plane = require("./file-data-plane-DO8KbxCe.js");
28
28
  const require_tls$1 = require("./tls-BxQlomxd.js");
29
- const require_manifest_system_deps = require("./manifest-system-deps-BIxY1Y5e.js");
29
+ const require_manifest_system_deps = require("./manifest-system-deps-Bi7oyXcN.js");
30
30
  const require_resource_monitor = require("./resource-monitor-CdnzxBLP.js");
31
31
  const require_custom_action_registry = require("./custom-action-registry-jY0NOZK8.js");
32
32
  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 { $ as isCollectionArrayMethod, $t as parseJsonObject, Bt as ReadinessRegistry, E as addonSettingsCapability, Ft as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Gt as asString$1, It as DEVICE_STATUS_METHOD, Kt as createEvent, Mt as errMsg$1, Pt as DATAPLANE_SECRET_HEADER$1, Q as isArrayOutputSchema, Ut as asJsonObject$1, Vt as ReadinessTimeoutError, Wt as asNumber, Y as extractNestedAddonId, Yt as expandCapMethods, an as EventCategory$1, at as lifecycleJobSchema, bt as scopesAllowAddon, ct as logLevelAtMost, en as parseJsonUnknown$1, et as isObjectInput, f as LOG_LEVEL_RANK, ft as objectInputDeclaresAddonId, h as RUNTIME_DEFAULTS, ht as procedureAuthKey, it as kebabToCamel, lt as looseSchema, nn as resolveCapMount, p as METHOD_ACCESS_MAP, qt as emitDownForOwnedCaps, rn as scopeKey, rt as isVoidInput, t as ALL_CAPABILITY_DEFINITIONS, tn as readinessKey, vt as resolveMethodAuth, xt as scopesAllowDeviceCap } from "./dist-Dw9cm1NS.mjs";
2
+ import { $ as isCollectionArrayMethod, $t as parseJsonObject, Bt as ReadinessRegistry, E as addonSettingsCapability, Ft as DEVICE_SETTINGS_CONTRIBUTION_METHODS, Gt as asString$1, It as DEVICE_STATUS_METHOD, Kt as createEvent, Mt as errMsg$1, Pt as DATAPLANE_SECRET_HEADER$1, Q as isArrayOutputSchema, Ut as asJsonObject$1, Vt as ReadinessTimeoutError, Wt as asNumber, Y as extractNestedAddonId, Yt as expandCapMethods, an as EventCategory$1, at as lifecycleJobSchema, bt as scopesAllowAddon, ct as logLevelAtMost, en as parseJsonUnknown$1, et as isObjectInput, f as LOG_LEVEL_RANK, ft as objectInputDeclaresAddonId, h as RUNTIME_DEFAULTS, ht as procedureAuthKey, it as kebabToCamel, lt as looseSchema, nn as resolveCapMount, p as METHOD_ACCESS_MAP, qt as emitDownForOwnedCaps, rn as scopeKey, rt as isVoidInput, t as ALL_CAPABILITY_DEFINITIONS, tn as readinessKey, vt as resolveMethodAuth, xt as scopesAllowDeviceCap } from "./dist-DwaeuknI.mjs";
3
3
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
4
4
  import "./builtins/alerts/index.mjs";
5
5
  import { t as formatLogLine } from "./formatter-B7qW8bPJ.mjs";
@@ -25,7 +25,7 @@ import "./builtins/system-config/index.mjs";
25
25
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
26
26
  import { a as parseTokenizedUrl, c as collectModelFiles, d as downloadModel, f as ensureModel, h as isModelDownloaded, i as parseRangeHeader, l as deleteModelFromDisk, m as getModelFilePath, n as contentTypeFor, o as resolveFilePath, p as fetchJson, r as createAuthenticatedFileServer, s as ModelDownloadService, t as createFileDataPlaneHandler, u as downloadFile } from "./file-data-plane-BhKdxJgf.mjs";
27
27
  import { C as registerLanHttpHandler, S as readLanHttpState, _ as DEFAULT_LAN_HTTP_PORT, a as writeTlsMode, b as bindPendingLanHttp, c as loadTlsCert, d as collectCertIdentity, f as CA_VALIDITY_DAYS, g as evaluateExistingCert, h as SERVER_AUTH_OID, i as writeExtraSans, l as reissueTlsLeaf, m as MAX_LEAF_VALIDITY_DAYS, n as readTlsAccessStatus, o as validateUploadedTls, p as LEAF_RENEWAL_WINDOW_DAYS, r as readTlsMode, s as ensureTlsCert, t as readExtraSans, u as CA_COMMON_NAME, v as allFamiliesListenHost, x as closeLanHttp, y as applyLanHttp } from "./tls-DOTmtLCW.mjs";
28
- import { $ as FrameDecoder, $t as DECISIVE_HEAP_SPACES, A as createUdsEventBus, At as HEAP_WATCH_INTERVAL_MS, B as CapRouteError, Bt as buildHeapSample, C as ipcParentLink, Cn as diffEventPlane, Ct as resolveAddonClass, D as createHubCapForwardService, Dt as HEAP_RECLAIM_MIN_INTERVAL_MS, E as HUB_CAP_FWD_SERVICE, Et as createAddonDataPlaneFacility, F as LocalChildRegistry, Ft as RSS_BUDGET_REANNOUNCE_MIN_MS, G as PARENT_ROUTED_PROVIDER_ADDON_ID, Gt as hubMainRssBudget, H as callWithServiceDiscovery, Ht as createLoopDelayMeter, I as UDS_NO_ROUTE_PREFIX, It as RSS_BUDGET_RELEASE_RATIO, J as createLocalTransport, Jt as reclaimIntervalMs, K as __resetCapUsageRegistryForTests, Kt as nextRssBudgetState, L as AGENT_CAP_FWD_ACTION, Lt as RUNNER_HEAP_WATCH_INTERVAL_MS, M as createUdsLogger, Mt as HUB_MAIN_HEAP_WATCH_LABEL, N as createUdsLoggerWithControl, Nt as HUB_MAIN_RSS_BUDGET_MB, O as createParentUnownedCallHandler, Ot as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, P as LocalChildClient, Pt as HUB_RSS_BUDGET_ENV, Q as localEndpointPath, Qt as strandedMb, R as AGENT_CAP_FWD_SERVICE, Rt as RUNNER_RSS_BUDGET_ENV, S as buildLinkChain, Sn as createEventPlaneReader, St as installManifestNativeDeps, T as HUB_CAP_FWD_ACTION, Tt as runNpm, U as readMoleculerFanoutMode, Ut as createV8Reclaimer, V as classifyCapRoute, Vt as createDeferredHeapWatchSink, W as CapUsageRegistry, Wt as describeRss, X as UdsLocalTransportServer, Xt as startHeapWatch, Y as UdsLocalTransportClient, Yt as shouldReclaim, Z as SocketChannel, Zt as startRunnerHeapWatch, _ as AddonDepsManager, _n as sampleSocketDirection, _t as serializeTypedArrays, a as createUdsAddonContext, an as heapSpaceField, b as brokerCallForCap, bn as EVENT_PLANE_TOP_N, bt as CapabilityUnavailableError, c as getOrInitReadinessRegistryForClient, cn as EMPTY_SOCKET_PLANE_BASELINE, ct as createAddonService, d as clusterEventTopic, dn as createSocketPlaneReader, dt as capActionName, en as HEAP_SPACE_REPORT_MIN_MB, et as encodeFrame, f as getBrokerEventBus, fn as diffSocketPlane, ft as capActionSuffix, g as subscribePassthrough, gn as recordSocketFrame, gt as deserializeTypedArrays, h as setNodeEventInterest, hn as createSocketDirectionCounters, ht as parseCapAction, i as createAddonContext, in as heapSnapshotAuthorised, j as udsChildLogToWorkerEntry, jt as HEAP_WATCH_WARN_RATIO, k as createUdsEventBridge, kt as HEAP_RECLAIM_TRIGGER_MB, l as setHubConnected, ln as SOCKET_PLANE_TOP_N, lt as validateProviderRegistrations, m as registerEventBusService, mn as EMPTY_SOCKET_DIRECTION, mt as capServiceName, n as installManifestPythonDeps, nn as emitHeapDiagnosticReport, nt as buildUdsNativeCapProxy, o as getWorkerDeviceRegistry, on as readHeapSpaces, ot as mountNativeCapService, p as getMoleculerEventStats, pn as formatSocketPlane, pt as capBareAction, q as getCapUsageRegistry, qt as parseRssBudgetMb, r as adaptBrokerToCluster, rn as formatHeapSpaces, rt as createBrokerDeviceManagerApi, s as getOrInitReadinessRegistry, sn as selectReportedSpaces, t as installManifestSystemDeps, tn as RUNNER_HEAP_SNAPSHOT_ENV, tt as buildNativeCapProxy, u as EVENT_TOPIC_PREFIX, un as createSocketPlaneMeter, ut as NATIVE_PROVIDER_SERVICE_INFIX, v as createKernelHwAccel, vn as socketDirectionBytes, vt as DeviceRegistry, w as localProviderLink, wn as formatEventPlane, wt as resolveNpmInvocation, x as brokerTransportLink, xn as createEventPlaneMeter, xt as copyBundledNativeModules, y as resolveHwAccel, yn as socketDirectionMessages, yt as CapabilityHandle, z as CapRouteResolver, zt as ZERO_LOOP_DELAY } from "./manifest-system-deps-DTz_zNQf.mjs";
28
+ import { $ as FrameDecoder, $t as DECISIVE_HEAP_SPACES, A as createUdsEventBus, At as HEAP_WATCH_INTERVAL_MS, B as CapRouteError, Bt as buildHeapSample, C as ipcParentLink, Cn as diffEventPlane, Ct as resolveAddonClass, D as createHubCapForwardService, Dt as HEAP_RECLAIM_MIN_INTERVAL_MS, E as HUB_CAP_FWD_SERVICE, Et as createAddonDataPlaneFacility, F as LocalChildRegistry, Ft as RSS_BUDGET_REANNOUNCE_MIN_MS, G as PARENT_ROUTED_PROVIDER_ADDON_ID, Gt as hubMainRssBudget, H as callWithServiceDiscovery, Ht as createLoopDelayMeter, I as UDS_NO_ROUTE_PREFIX, It as RSS_BUDGET_RELEASE_RATIO, J as createLocalTransport, Jt as reclaimIntervalMs, K as __resetCapUsageRegistryForTests, Kt as nextRssBudgetState, L as AGENT_CAP_FWD_ACTION, Lt as RUNNER_HEAP_WATCH_INTERVAL_MS, M as createUdsLogger, Mt as HUB_MAIN_HEAP_WATCH_LABEL, N as createUdsLoggerWithControl, Nt as HUB_MAIN_RSS_BUDGET_MB, O as createParentUnownedCallHandler, Ot as HEAP_RECLAIM_STEADY_STATE_INTERVAL_MS, P as LocalChildClient, Pt as HUB_RSS_BUDGET_ENV, Q as localEndpointPath, Qt as strandedMb, R as AGENT_CAP_FWD_SERVICE, Rt as RUNNER_RSS_BUDGET_ENV, S as buildLinkChain, Sn as createEventPlaneReader, St as installManifestNativeDeps, T as HUB_CAP_FWD_ACTION, Tt as runNpm, U as readMoleculerFanoutMode, Ut as createV8Reclaimer, V as classifyCapRoute, Vt as createDeferredHeapWatchSink, W as CapUsageRegistry, Wt as describeRss, X as UdsLocalTransportServer, Xt as startHeapWatch, Y as UdsLocalTransportClient, Yt as shouldReclaim, Z as SocketChannel, Zt as startRunnerHeapWatch, _ as AddonDepsManager, _n as sampleSocketDirection, _t as serializeTypedArrays, a as createUdsAddonContext, an as heapSpaceField, b as brokerCallForCap, bn as EVENT_PLANE_TOP_N, bt as CapabilityUnavailableError, c as getOrInitReadinessRegistryForClient, cn as EMPTY_SOCKET_PLANE_BASELINE, ct as createAddonService, d as clusterEventTopic, dn as createSocketPlaneReader, dt as capActionName, en as HEAP_SPACE_REPORT_MIN_MB, et as encodeFrame, f as getBrokerEventBus, fn as diffSocketPlane, ft as capActionSuffix, g as subscribePassthrough, gn as recordSocketFrame, gt as deserializeTypedArrays, h as setNodeEventInterest, hn as createSocketDirectionCounters, ht as parseCapAction, i as createAddonContext, in as heapSnapshotAuthorised, j as udsChildLogToWorkerEntry, jt as HEAP_WATCH_WARN_RATIO, k as createUdsEventBridge, kt as HEAP_RECLAIM_TRIGGER_MB, l as setHubConnected, ln as SOCKET_PLANE_TOP_N, lt as validateProviderRegistrations, m as registerEventBusService, mn as EMPTY_SOCKET_DIRECTION, mt as capServiceName, n as installManifestPythonDeps, nn as emitHeapDiagnosticReport, nt as buildUdsNativeCapProxy, o as getWorkerDeviceRegistry, on as readHeapSpaces, ot as mountNativeCapService, p as getMoleculerEventStats, pn as formatSocketPlane, pt as capBareAction, q as getCapUsageRegistry, qt as parseRssBudgetMb, r as adaptBrokerToCluster, rn as formatHeapSpaces, rt as createBrokerDeviceManagerApi, s as getOrInitReadinessRegistry, sn as selectReportedSpaces, t as installManifestSystemDeps, tn as RUNNER_HEAP_SNAPSHOT_ENV, tt as buildNativeCapProxy, u as EVENT_TOPIC_PREFIX, un as createSocketPlaneMeter, ut as NATIVE_PROVIDER_SERVICE_INFIX, v as createKernelHwAccel, vn as socketDirectionBytes, vt as DeviceRegistry, w as localProviderLink, wn as formatEventPlane, wt as resolveNpmInvocation, x as brokerTransportLink, xn as createEventPlaneMeter, xt as copyBundledNativeModules, y as resolveHwAccel, yn as socketDirectionMessages, yt as CapabilityHandle, z as CapRouteResolver, zt as ZERO_LOOP_DELAY } from "./manifest-system-deps-D52_8SN1.mjs";
29
29
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-BWmQ5i-o.mjs";
30
30
  import { t as CustomActionRegistry } from "./custom-action-registry-F__gp_VX.mjs";
31
31
  import { z } from "zod";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- require("./dist-CFTKQGym.js");
2
+ require("./dist-DCdtLXgx.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  node_crypto = require_chunk.__toESM(node_crypto);
5
5
  let _camstack_types_node = require("@camstack/types/node");
@@ -1,4 +1,4 @@
1
- import "./dist-Dw9cm1NS.mjs";
1
+ import "./dist-DwaeuknI.mjs";
2
2
  import * as crypto$1 from "node:crypto";
3
3
  import { randomBytes, randomUUID } from "node:crypto";
4
4
  import { ensureBinary, ensureFfmpeg, ensurePython, installPythonPackages, installPythonRequirements } from "@camstack/types/node";
@@ -1,4 +1,4 @@
1
- import { Ut as asJsonObject } from "./dist-Dw9cm1NS.mjs";
1
+ import { Ut as asJsonObject } from "./dist-DwaeuknI.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-CFTKQGym.js");
1
+ const require_dist = require("./dist-DCdtLXgx.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.166",
3
+ "version": "1.2.168",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",