@camstack/server 1.2.32 → 1.2.34

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.
@@ -327,7 +327,14 @@ async function startAgent(configPath) {
327
327
  // here the hub's manifest never learns of it and node-routed browse
328
328
  // answers "not available on node X" (2026-07-30 fix).
329
329
  types_2.filesystemBrowseCapability,
330
+ // The agent runs the same two-addon data topology as the hub (D44):
331
+ // `settings-store` is the door served by storage-orchestrator,
332
+ // `data-store-provider` is the engine sqlite-settings registers. BOTH
333
+ // must be declared here — this array is hand-curated and nothing else
334
+ // teaches an agent a capability, so omitting the engine leaves the
335
+ // agent's door with nothing behind it.
330
336
  types_2.settingsStoreCapability,
337
+ types_2.dataStoreProviderCapability,
331
338
  types_2.logDestinationCapability,
332
339
  types_2.metricsProviderCapability,
333
340
  types_2.decoderCapability,
@@ -32,7 +32,6 @@ const CORE_NAMESPACES = new Set([
32
32
  'logs',
33
33
  'hwaccel',
34
34
  'streamProbe',
35
- 'settingsBackend',
36
35
  'eventBusProxy',
37
36
  'repl',
38
37
  'addonSettingsRaw',
@@ -2,7 +2,7 @@
2
2
  // AUTO-GENERATED by scripts/generate-cap-mounts.ts — DO NOT EDIT
3
3
  // Re-run: npx tsx scripts/generate-cap-mounts.ts
4
4
  //
5
- // Mounted: 140 Skipped (legacy): 3
5
+ // Mounted: 141 Skipped (legacy): 3
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.LEGACY_SHAPE_SKIP = void 0;
8
8
  exports.mountAllCaps = mountAllCaps;
@@ -132,6 +132,23 @@ function mountAllCaps(services) {
132
132
  listModels: (0, cap_mount_helpers_js_1.concatCollection)(providers, 'listModels'),
133
133
  };
134
134
  }, remoteCapProxy),
135
+ dataStoreProvider: (0, generated_cap_routers_js_1.createCapRouter_dataStoreProvider)((_ctx, addonId) => {
136
+ if (!reg)
137
+ return null;
138
+ if (addonId !== undefined) {
139
+ return reg.getProviderByAddonId('data-store-provider', addonId);
140
+ }
141
+ const entries = reg.getCollectionEntries('data-store-provider');
142
+ if (entries.length === 0)
143
+ return null;
144
+ const providers = entries.map(([, p]) => p);
145
+ const first = providers[0];
146
+ return {
147
+ ...first,
148
+ query: (0, cap_mount_helpers_js_1.concatCollection)(providers, 'query'),
149
+ histogram: (0, cap_mount_helpers_js_1.concatCollection)(providers, 'histogram'),
150
+ };
151
+ }, remoteCapProxy),
135
152
  dayNight: (0, generated_cap_routers_js_1.createCapRouter_dayNight)((_ctx) => (0, cap_mount_helpers_js_1.requireDeviceScoped)(reg, 'day-night'), remoteCapProxy),
136
153
  decoder: (0, generated_cap_routers_js_1.createCapRouter_decoder)((_ctx) => reg?.getSingleton('decoder') ?? null, remoteCapProxy),
137
154
  detectionPipeline: (0, generated_cap_routers_js_1.createCapRouter_detectionPipeline)((_ctx) => reg?.getSingleton('detection-pipeline') ?? null, remoteCapProxy),