@camstack/system 1.2.148 → 1.2.150

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 +2 -1
  2. package/dist/addon-runner.mjs +2 -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 +2 -2
  16. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  17. package/dist/builtins/doorbell/virtual-doorbell.addon.js +1 -1
  18. package/dist/builtins/doorbell/virtual-doorbell.addon.mjs +1 -1
  19. package/dist/builtins/hub-forwarder/index.js +1 -1
  20. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  21. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  22. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  23. package/dist/builtins/local-auth/local-auth.addon.js +1 -1
  24. package/dist/builtins/local-auth/local-auth.addon.mjs +1 -1
  25. package/dist/builtins/local-network/local-network.addon.js +1 -1
  26. package/dist/builtins/local-network/local-network.addon.mjs +1 -1
  27. package/dist/builtins/loki-logging/index.js +1 -1
  28. package/dist/builtins/loki-logging/index.mjs +1 -1
  29. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  30. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  31. package/dist/builtins/platform-probe/index.js +1 -1
  32. package/dist/builtins/platform-probe/index.mjs +1 -1
  33. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  34. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  35. package/dist/builtins/snapshot/index.js +1 -1
  36. package/dist/builtins/snapshot/index.mjs +1 -1
  37. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  38. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  39. package/dist/builtins/sqlite-storage/retired-settings-keys.d.ts +16 -0
  40. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +0 -0
  41. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  42. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  43. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/system-config/system-config.addon.js +1 -1
  45. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  46. package/dist/builtins/winston-logging/index.js +1 -1
  47. package/dist/builtins/winston-logging/index.mjs +1 -1
  48. package/dist/{dist-B-mBrEz9.js → dist-CImxMt5h.js} +311 -0
  49. package/dist/{dist-BwD83D2f.mjs → dist-CbRciAbu.mjs} +311 -0
  50. package/dist/index.js +2 -2
  51. package/dist/index.mjs +2 -2
  52. package/dist/kernel/transport/child-cap-protocol.d.ts +2 -2
  53. package/dist/{manifest-python-deps-DpRX9LtD.mjs → manifest-python-deps-B5rrxUQv.mjs} +1 -1
  54. package/dist/{manifest-python-deps-BV_Cy99l.js → manifest-python-deps-BaVekjRY.js} +1 -1
  55. package/dist/{retired-settings-keys-Davtjo5p.js → retired-settings-keys-C7gLUS3x.js} +90 -14
  56. package/dist/{retired-settings-keys-CRKpAmSn.mjs → retired-settings-keys-DhFPXIRD.mjs} +90 -14
  57. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { zt as asJsonObject } from "./dist-BwD83D2f.mjs";
1
+ import { zt as asJsonObject } from "./dist-CbRciAbu.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?
@@ -19,6 +19,22 @@ function settingsStoreIsAuthoritativeHere(env) {
19
19
  /**
20
20
  * The dead keys, per row.
21
21
  *
22
+ * ## Addressing these rows
23
+ *
24
+ * Every namespace below is a FORKED addon, whose `ctx.settings` comes from
25
+ * `addon-context-factory` and writes `<addonId>:addon-settings` row `root`. The
26
+ * scoped table is therefore the right target — unlike the hub builtin whose
27
+ * mis-addressed spec is dissected at {@link RetiredRowSpec}. Confirmed per
28
+ * namespace against `packages/<pkg>/package.json`'s manifest `id`.
29
+ *
30
+ * ## `keys` vs `perNodeKeys` is a data-loss decision, not a style choice
31
+ *
32
+ * `perNodeKeys` matches `<key>` AND `<key>@<nodeId>`. That is right for a key
33
+ * whose per-node copies are all dead (the engine cascade, the decoder
34
+ * `backend`). It is WRONG for `probedBestHwaccel` / `probedBestAudioBackend`,
35
+ * where the bare key is unreachable residue but every `@<nodeId>` copy is the
36
+ * node's live probe result — those go under `keys`, which is exact-match.
37
+ *
22
38
  * `detection-pipeline` / `addon-settings` / `root` — every key in this row is
23
39
  * dead; the row itself is kept because the addon writes live keys into it
24
40
  * (`pipelineTemplates`, `videoPipelineSteps`).
@@ -34,19 +50,79 @@ function settingsStoreIsAuthoritativeHere(env) {
34
50
  * hardware (`resolveAutoEngine`). See
35
51
  * `addon-pipeline/src/detection-pipeline/engine-store-keys.ts`.
36
52
  */
37
- var RETIRED_SETTINGS_KEYS = [{
38
- namespace: "detection-pipeline",
39
- collection: "addon-settings",
40
- row: "root",
41
- keys: ["pipelineSteps", "pipelineEngine"],
42
- perNodeKeys: [
43
- "engineRuntime",
44
- "engineBackend",
45
- "engineDevice",
46
- "probedBestEngine"
47
- ],
48
- reason: "global step/engine seed and the per-node engine cascade — both removed; the live per-camera dispatch path never read either"
49
- }];
53
+ var RETIRED_SETTINGS_KEYS = [
54
+ {
55
+ namespace: "detection-pipeline",
56
+ collection: "addon-settings",
57
+ row: "root",
58
+ keys: ["pipelineSteps", "pipelineEngine"],
59
+ perNodeKeys: [
60
+ "engineRuntime",
61
+ "engineBackend",
62
+ "engineDevice",
63
+ "probedBestEngine"
64
+ ],
65
+ reason: "global step/engine seed and the per-node engine cascade — both removed; the live per-camera dispatch path never read either"
66
+ },
67
+ {
68
+ namespace: "pipeline-orchestrator",
69
+ collection: "addon-settings",
70
+ row: "root",
71
+ keys: [
72
+ "enabledNodes",
73
+ "enabledDecoderNodes",
74
+ "enabledAudioNodes",
75
+ "remoteSourcingNodes",
76
+ "nativeLeaseTtlMs"
77
+ ],
78
+ perNodeKeys: ["backend"],
79
+ reason: "the pre-singleton \"enabled nodes\" role model (node capability now lives per node in agent-settings and is derived by NodeTopology.refresh, never read from this row), `nativeLeaseTtlMs` superseded by `nativeLeaseActivityMs`, and the decoder `backend` selector whose resolver returns DEFAULT_DECODER_BACKEND unconditionally (decoder-backend.ts)"
80
+ },
81
+ {
82
+ namespace: "stream-broker",
83
+ collection: "addon-settings",
84
+ row: "root",
85
+ keys: [
86
+ "maxDecodeFps",
87
+ "initialReconnectDelayMs",
88
+ "maxReconnectDelayMs"
89
+ ],
90
+ perNodeKeys: [],
91
+ reason: "three form knobs deleted 2026-08-28 (D272): nothing capped decode fps, and the reconnect ladder has always run on the INITIAL/MAX_RECONNECT_DELAY_MS constants"
92
+ },
93
+ {
94
+ namespace: "embedding-encoder",
95
+ collection: "addon-settings",
96
+ row: "root",
97
+ keys: ["runtime", "backend"],
98
+ perNodeKeys: [],
99
+ reason: "two selects deleted 2026-08-28 (D272); their only reference was a withTags log field, and the CUDA/CoreML options named acceleration that has never existed — embedding inference is always ONNX in the embedded Python"
100
+ },
101
+ {
102
+ namespace: "audio-analyzer",
103
+ collection: "addon-settings",
104
+ row: "root",
105
+ keys: ["selectedAudioModel", "probedBestAudioBackend"],
106
+ perNodeKeys: [],
107
+ reason: "`selectedAudioModel` deleted 2026-08-28 (D272) — createAudioPipeline takes a backend and no model id, so it never reached inference; the BARE `probedBestAudioBackend` is pre-perNode residue that projectStore already drops (no bare fallback), so no node can ever read it"
108
+ },
109
+ {
110
+ namespace: "decoder-nodeav",
111
+ collection: "addon-settings",
112
+ row: "root",
113
+ keys: ["probedBestHwaccel"],
114
+ perNodeKeys: [],
115
+ reason: "bare pre-perNode residue — the live probe result is `probedBestHwaccel@<nodeId>` and `projectStore` deliberately drops the bare key, so nothing can read it"
116
+ },
117
+ {
118
+ namespace: "pipeline-analytics",
119
+ collection: "addon-settings",
120
+ row: "root",
121
+ keys: ["mediaAttachPolicy"],
122
+ perNodeKeys: [],
123
+ reason: "deleted 2026-08-28 (D272) — absent from MediaSettingsSchema, so the value was never even resolved, let alone read"
124
+ }
125
+ ];
50
126
  /**
51
127
  * The device-manager's three fleet blobs, replaced by one row per device in
52
128
  * `device-manager:devices` (`device-row-store.ts`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.148",
3
+ "version": "1.2.150",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",