@camstack/system 1.2.28 → 1.2.30

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 (60) hide show
  1. package/dist/addon-runner.js +3 -3
  2. package/dist/addon-runner.mjs +2 -2
  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.d.ts +0 -7
  8. package/dist/builtins/alerts/alerts.addon.js +47 -25
  9. package/dist/builtins/alerts/alerts.addon.mjs +47 -25
  10. package/dist/builtins/alerts/prune-policy.d.ts +44 -0
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +1 -1
  13. package/dist/builtins/console-logging/index.js +1 -1
  14. package/dist/builtins/console-logging/index.mjs +1 -1
  15. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  16. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  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/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 +1 -1
  36. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  37. package/dist/builtins/sqlite-storage/filter-compiler.d.ts +61 -0
  38. package/dist/builtins/sqlite-storage/sqlite-settings-backend.d.ts +50 -1
  39. package/dist/builtins/sqlite-storage/sqlite-settings.addon.d.ts +8 -2
  40. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +136 -64
  41. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +136 -64
  42. package/dist/builtins/storage-orchestrator/data-store-dispatch.d.ts +12 -0
  43. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.d.ts +18 -7
  44. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +80 -11
  45. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +80 -11
  46. package/dist/builtins/system-config/system-config.addon.js +1 -1
  47. package/dist/builtins/system-config/system-config.addon.mjs +1 -1
  48. package/dist/builtins/winston-logging/index.js +1 -1
  49. package/dist/builtins/winston-logging/index.mjs +1 -1
  50. package/dist/{dist-BXmFvn3h.mjs → dist-Dr_P0DOB.mjs} +492 -166
  51. package/dist/{dist-BxtIzexq.js → dist-VIwdvws5.js} +497 -165
  52. package/dist/index.d.ts +2 -0
  53. package/dist/index.js +150 -2
  54. package/dist/index.mjs +146 -3
  55. package/dist/kernel/addon-installer.d.ts +38 -0
  56. package/dist/kernel/heap-watch.d.ts +36 -0
  57. package/dist/kernel/transport/uds-event-bus.d.ts +4 -1
  58. package/dist/{manifest-python-deps-KZ00cbfP.js → manifest-python-deps-BqE5j0-O.js} +25 -4
  59. package/dist/{manifest-python-deps-BNOApgK0.mjs → manifest-python-deps-Ck4-9K9m.mjs} +25 -4
  60. package/package.json +7 -3
@@ -5162,7 +5162,31 @@ function udsChildLogToWorkerEntry(childId, entry) {
5162
5162
  //#endregion
5163
5163
  //#region src/kernel/transport/uds-event-bus.ts
5164
5164
  /**
5165
+ * ONE `SharedBusState` per `UdsEventChannel` (see the module doc's
5166
+ * group-runner contract). Keyed weakly so a channel torn down with its
5167
+ * process does not pin its state.
5168
+ */
5169
+ var sharedStateByChannel = /* @__PURE__ */ new WeakMap();
5170
+ /**
5171
+ * Resolve (or lazily create) the channel's shared bus state, registering the
5172
+ * single-slot `client.onEvent` handler exactly once — on first creation. The
5173
+ * handler delivers into the SHARED state, so every co-located addon's
5174
+ * subscribers see parent→child events regardless of bus construction order.
5175
+ * It does NOT call `client.emitEvent` (no echo back to the parent).
5176
+ */
5177
+ function sharedStateFor(client) {
5178
+ const existing = sharedStateByChannel.get(client);
5179
+ if (existing !== void 0) return existing;
5180
+ const created = createSharedBusState();
5181
+ sharedStateByChannel.set(client, created);
5182
+ client.onEvent((event) => {
5183
+ deliverShared(created, event);
5184
+ });
5185
+ return created;
5186
+ }
5187
+ /**
5165
5188
  * Create a UDS-backed `IEventBus` for use inside a forked child process.
5189
+ * Returns a per-addon facade over the channel's ONE shared state (module doc).
5166
5190
  *
5167
5191
  * @param client - The UDS channel toward the parent (hub or agent).
5168
5192
  * @param addonId - This child's stable addon id — stamped as `sourceAddonId`
@@ -5170,10 +5194,7 @@ function udsChildLogToWorkerEntry(childId, entry) {
5170
5194
  * events to their source addon.
5171
5195
  */
5172
5196
  function createUdsEventBus(client, addonId) {
5173
- const state = createSharedBusState();
5174
- client.onEvent((event) => {
5175
- deliverShared(state, event);
5176
- });
5197
+ const state = sharedStateFor(client);
5177
5198
  const reportPatterns = () => {
5178
5199
  client.updateEventPatterns(addonId, [...state.handlers.keys()]);
5179
5200
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.28",
3
+ "version": "1.2.30",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",
@@ -53,9 +53,10 @@
53
53
  "category": "system",
54
54
  "name": "SQLite Settings",
55
55
  "entry": "./dist/builtins/sqlite-storage/sqlite-settings.addon.js",
56
+ "description": "The relational ENGINE behind the data door (SQLite WAL). Registers `data-store-provider`, an internal collection cap; the public `settings-store` door is owned by `storage-orchestrator`, which dispatches here. Callers never reach this addon directly — that is what makes the engine replaceable.",
56
57
  "capabilities": [
57
58
  {
58
- "name": "settings-store"
59
+ "name": "data-store-provider"
59
60
  }
60
61
  ]
61
62
  },
@@ -134,12 +135,15 @@
134
135
  "id": "storage-orchestrator",
135
136
  "category": "system",
136
137
  "name": "Storage Orchestrator",
137
- "description": "Hub-only singleton that owns the consumer-facing `storage` cap. Holds the `locationId → StorageLocation` map, resolves `StorageLocationRef` to concrete locations, and dispatches every call to the matching `storage-provider` collection registrant (`filesystem-storage` today; future SFTP / S3 / WebDAV addons plug in alongside).",
138
+ "description": "The single data door. Owns the consumer-facing `storage` cap for bytes — the `locationId → StorageLocation` map, `StorageLocationRef` resolution, dispatch to the matching `storage-provider` registrant (`filesystem-storage` today; SFTP / S3 / WebDAV plug in alongside) — AND the `settings-store` cap for rows, dispatching to the `data-store-provider` engine (`sqlite-settings` today; a vector engine plugs in alongside). Nothing reaches an engine except through this addon.",
138
139
  "entry": "./dist/builtins/storage-orchestrator/index.js",
139
140
  "protected": true,
140
141
  "capabilities": [
141
142
  {
142
143
  "name": "storage"
144
+ },
145
+ {
146
+ "name": "settings-store"
143
147
  }
144
148
  ]
145
149
  },