@camstack/system 1.2.83 → 1.2.84

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 (55) hide show
  1. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  2. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  3. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/alerts/alerts.addon.js +1 -1
  6. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  7. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  8. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  9. package/dist/builtins/console-logging/index.js +1 -1
  10. package/dist/builtins/console-logging/index.mjs +1 -1
  11. package/dist/builtins/core-blocks/core-blocks.addon.js +1 -1
  12. package/dist/builtins/core-blocks/core-blocks.addon.mjs +1 -1
  13. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  14. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  15. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  16. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  17. package/dist/builtins/hub-forwarder/index.js +1 -1
  18. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  19. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  20. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  21. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  22. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  23. package/dist/builtins/local-network/local-network.addon.js +1 -1
  24. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  25. package/dist/builtins/loki-logging/index.js +1 -1
  26. package/dist/builtins/loki-logging/index.mjs +1 -1
  27. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  28. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  29. package/dist/builtins/platform-probe/index.js +1 -1
  30. package/dist/builtins/platform-probe/index.mjs +1 -1
  31. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  32. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  33. package/dist/builtins/snapshot/index.js +1 -1
  34. package/dist/builtins/snapshot/index.mjs +1 -1
  35. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +30 -10
  36. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +31 -11
  37. package/dist/builtins/sqlite-storage/path-guard.d.ts +8 -1
  38. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +1 -1
  39. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +1 -1
  40. package/dist/builtins/storage-orchestrator/index.d.ts +5 -6
  41. package/dist/builtins/storage-orchestrator/index.mjs +1 -1
  42. package/dist/builtins/storage-orchestrator/provider-discovery.d.ts +1 -1
  43. package/dist/builtins/storage-orchestrator/storage-migration-coordinator.d.ts +1 -1
  44. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +1 -1
  45. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1252 -1191
  46. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1253 -1192
  47. package/dist/builtins/system-config/system-config.addon.js +1 -1
  48. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  49. package/dist/builtins/winston-logging/index.js +1 -1
  50. package/dist/builtins/winston-logging/index.mjs +1 -1
  51. package/dist/{dist-EAvNJD24.mjs → dist-BAwlOEUy.mjs} +19 -3
  52. package/dist/{dist-CqiMPPs0.js → dist-CQy9KjsL.js} +19 -3
  53. package/dist/index.js +1 -1
  54. package/dist/index.mjs +2 -2
  55. package/package.json +1 -1
@@ -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-CqiMPPs0.js");
6
+ const require_dist = require("../../dist-CQy9KjsL.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 { Nt as hydrateSchema, gt as BaseAddon, ht as errMsg } from "../../dist-EAvNJD24.mjs";
1
+ import { Nt as hydrateSchema, gt as BaseAddon, ht as errMsg } from "../../dist-BAwlOEUy.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-CqiMPPs0.js");
6
+ const require_dist = require("../../dist-CQy9KjsL.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 { J as logDestinationCapability, gt as BaseAddon } from "../../dist-EAvNJD24.mjs";
1
+ import { J as logDestinationCapability, gt as BaseAddon } from "../../dist-BAwlOEUy.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";
@@ -3880,6 +3880,21 @@ var StorageLocationSchema = z.object({
3880
3880
  nodeId: z.string().optional(),
3881
3881
  isDefault: z.boolean().default(false),
3882
3882
  isSystem: z.boolean().default(false),
3883
+ /**
3884
+ * Operator opt-in: whether consumers that BALANCE across several locations
3885
+ * of a type may write here. Recordings reads it today; event media and
3886
+ * backups are the next consumers, which is why the flag lives on the
3887
+ * location rather than in any one addon's store — nothing has to be
3888
+ * extended to add the next consumer.
3889
+ *
3890
+ * OPTIONAL, and ABSENT MEANS ACTIVE. Every location persisted before the
3891
+ * flag existed reads back with no flag and keeps working exactly as before;
3892
+ * that is the whole compat story, and it is why no migration ships with it.
3893
+ * A newly CREATED sibling is stamped `false` by the orchestrator (creating a
3894
+ * disk must not silently start writing to it); the default of a type is
3895
+ * always stamped `true`.
3896
+ */
3897
+ enabled: z.boolean().optional(),
3883
3898
  /** COMPUTED at read time by the orchestrator (statfs of the backing volume
3884
3899
  * for node-local locations it can reach) — never persisted, absent when the
3885
3900
  * volume is remote/unreachable. The single capacity truth every UI reads. */
@@ -9958,7 +9973,8 @@ var embeddingEncoderCapability = {
9958
9973
  };
9959
9974
  /**
9960
9975
  * filesystem-browse — per-node capability for browsing the node's local
9961
- * filesystem, sandboxed to operator-configured allowed roots. Used by the
9976
+ * filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
9977
+ * are sandboxed to operator-configured allowed roots (D115). Used by the
9962
9978
  * admin "Add filesystem location" flow to pick a node + path. `mode:'per-node'`
9963
9979
  * (one provider per node); the hub calls it with `{nodeId}` so the codegen
9964
9980
  * routes to that exact node (default `nodeIdMode:'routing'`).
@@ -9979,9 +9995,9 @@ var filesystemBrowseCapability = {
9979
9995
  mode: "singleton",
9980
9996
  internal: true,
9981
9997
  methods: {
9982
- /** The allowed roots browsing is sandboxed to on this node. */
9998
+ /** The roots `createDir` is sandboxed to on this node. Browsing is not confined to them. */
9983
9999
  listAllowedRoots: method(z.void(), z.array(z.string()).readonly(), { auth: "admin" }),
9984
- /** Immediate subdirectories of `path` (must be within an allowed root) + free/total bytes. */
10000
+ /** Immediate subdirectories of any absolute `path` + free/total bytes. Read-only. */
9985
10001
  browse: method(z.object({ path: z.string() }), BrowseResultSchema, { auth: "admin" }),
9986
10002
  /** Create a subdirectory (within an allowed root). Returns its absolute path. */
9987
10003
  createDir: method(z.object({ path: z.string() }), z.object({ path: z.string() }), {
@@ -3880,6 +3880,21 @@ var StorageLocationSchema = zod.z.object({
3880
3880
  nodeId: zod.z.string().optional(),
3881
3881
  isDefault: zod.z.boolean().default(false),
3882
3882
  isSystem: zod.z.boolean().default(false),
3883
+ /**
3884
+ * Operator opt-in: whether consumers that BALANCE across several locations
3885
+ * of a type may write here. Recordings reads it today; event media and
3886
+ * backups are the next consumers, which is why the flag lives on the
3887
+ * location rather than in any one addon's store — nothing has to be
3888
+ * extended to add the next consumer.
3889
+ *
3890
+ * OPTIONAL, and ABSENT MEANS ACTIVE. Every location persisted before the
3891
+ * flag existed reads back with no flag and keeps working exactly as before;
3892
+ * that is the whole compat story, and it is why no migration ships with it.
3893
+ * A newly CREATED sibling is stamped `false` by the orchestrator (creating a
3894
+ * disk must not silently start writing to it); the default of a type is
3895
+ * always stamped `true`.
3896
+ */
3897
+ enabled: zod.z.boolean().optional(),
3883
3898
  /** COMPUTED at read time by the orchestrator (statfs of the backing volume
3884
3899
  * for node-local locations it can reach) — never persisted, absent when the
3885
3900
  * volume is remote/unreachable. The single capacity truth every UI reads. */
@@ -9958,7 +9973,8 @@ var embeddingEncoderCapability = {
9958
9973
  };
9959
9974
  /**
9960
9975
  * filesystem-browse — per-node capability for browsing the node's local
9961
- * filesystem, sandboxed to operator-configured allowed roots. Used by the
9976
+ * filesystem. Reads are unconfined (whole filesystem, from `/` down); WRITES
9977
+ * are sandboxed to operator-configured allowed roots (D115). Used by the
9962
9978
  * admin "Add filesystem location" flow to pick a node + path. `mode:'per-node'`
9963
9979
  * (one provider per node); the hub calls it with `{nodeId}` so the codegen
9964
9980
  * routes to that exact node (default `nodeIdMode:'routing'`).
@@ -9979,9 +9995,9 @@ var filesystemBrowseCapability = {
9979
9995
  mode: "singleton",
9980
9996
  internal: true,
9981
9997
  methods: {
9982
- /** The allowed roots browsing is sandboxed to on this node. */
9998
+ /** The roots `createDir` is sandboxed to on this node. Browsing is not confined to them. */
9983
9999
  listAllowedRoots: method(zod.z.void(), zod.z.array(zod.z.string()).readonly(), { auth: "admin" }),
9984
- /** Immediate subdirectories of `path` (must be within an allowed root) + free/total bytes. */
10000
+ /** Immediate subdirectories of any absolute `path` + free/total bytes. Read-only. */
9985
10001
  browse: method(zod.z.object({ path: zod.z.string() }), BrowseResultSchema, { auth: "admin" }),
9986
10002
  /** Create a subdirectory (within an allowed root). Returns its absolute path. */
9987
10003
  createDir: method(zod.z.object({ path: zod.z.string() }), zod.z.object({ path: zod.z.string() }), {
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-CqiMPPs0.js");
3
+ const require_dist = require("./dist-CQy9KjsL.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");
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 objectInputDeclaresAddonId, At as emitDownForOwnedCaps, B as isArrayOutputSchema, Bt as scopeKey, Ct as ReadinessRegistry, Dt as asNumber, Et as asJsonObject$1, G as kebabToCamel, H as isObjectInput, Ht as EventCategory$1, It as parseJsonObject, K as lifecycleJobSchema, Lt as parseJsonUnknown$1, Mt as expandCapMethods, Ot as asString$1, R as extractNestedAddonId, Rt as readinessKey, V as isCollectionArrayMethod, W as isVoidInput, X as looseSchema, Y as logLevelAtMost, _t as DATAPLANE_SECRET_HEADER$1, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, ht as errMsg$1, it as scopesAllowDeviceCap, kt as createEvent, nt as procedureAuthKey, rt as scopesAllowAddon, t as ALL_CAPABILITY_DEFINITIONS, vt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, wt as ReadinessTimeoutError, y as addonSettingsCapability, yt as DEVICE_STATUS_METHOD, zt as resolveCapMount } from "./dist-EAvNJD24.mjs";
2
+ import { $ as objectInputDeclaresAddonId, At as emitDownForOwnedCaps, B as isArrayOutputSchema, Bt as scopeKey, Ct as ReadinessRegistry, Dt as asNumber, Et as asJsonObject$1, G as kebabToCamel, H as isObjectInput, Ht as EventCategory$1, It as parseJsonObject, K as lifecycleJobSchema, Lt as parseJsonUnknown$1, Mt as expandCapMethods, Ot as asString$1, R as extractNestedAddonId, Rt as readinessKey, V as isCollectionArrayMethod, W as isVoidInput, X as looseSchema, Y as logLevelAtMost, _t as DATAPLANE_SECRET_HEADER$1, d as METHOD_ACCESS_MAP, f as RUNTIME_DEFAULTS, ht as errMsg$1, it as scopesAllowDeviceCap, kt as createEvent, nt as procedureAuthKey, rt as scopesAllowAddon, t as ALL_CAPABILITY_DEFINITIONS, vt as DEVICE_SETTINGS_CONTRIBUTION_METHODS, wt as ReadinessTimeoutError, y as addonSettingsCapability, yt as DEVICE_STATUS_METHOD, zt as resolveCapMount } from "./dist-BAwlOEUy.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";
@@ -18,7 +18,7 @@ import NativeMetricsAddon, { t as NativeMetricsProvider } from "./builtins/nativ
18
18
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
19
19
  import { SqliteSettingsAddon, o as SqliteSettingsBackend } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
20
20
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
21
- import { StorageOrchestratorAddon, r as StorageOrchestratorService } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
21
+ import { StorageOrchestratorAddon, t as StorageOrchestratorService } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
22
22
  import "./builtins/storage-orchestrator/index.mjs";
23
23
  import { SystemConfigAddon } from "./builtins/system-config/system-config.addon.mjs";
24
24
  import "./builtins/system-config/index.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.83",
3
+ "version": "1.2.84",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",