@camstack/server 1.2.262 → 1.2.265

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.
@@ -809,7 +809,7 @@ async function runConnectionTest(ar, addonId, settings, logger) {
809
809
  }
810
810
  /**
811
811
  * Marker caps that flag an addon as a creatable integration type:
812
- * - `device-provider` — classic providers (Reolink/ONVIF/Frigate)
812
+ * - `device-provider` — classic providers (Reolink/ONVIF)
813
813
  * that expose `createDevice` + `discoverDevices` via their
814
814
  * device-provider cap.
815
815
  * - `device-adoption` — integration-style providers (Home Assistant
@@ -7380,6 +7380,33 @@ function createCapRouter_pipelineRunner(getProvider, createRemoteProxy) {
7380
7380
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
7381
7381
  return p.runStatelessStep(methodInput);
7382
7382
  }),
7383
+ parkTrackFrame: trpc_middleware_js_1.protectedProcedure
7384
+ .input(types_89.pipelineRunnerCapability.methods.parkTrackFrame.input.loose())
7385
+ .output(types_89.pipelineRunnerCapability.methods.parkTrackFrame.output)
7386
+ .mutation(async ({ input, ctx }) => {
7387
+ const { nodeId, ...methodInput } = input;
7388
+ const p = resolveProvider('pipeline-runner', nodeId, () => getProvider(ctx), createRemoteProxy);
7389
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
7390
+ return p.parkTrackFrame(methodInput);
7391
+ }),
7392
+ getParkedTrackFrame: trpc_middleware_js_1.protectedProcedure
7393
+ .input(types_89.pipelineRunnerCapability.methods.getParkedTrackFrame.input.loose())
7394
+ .output(types_89.pipelineRunnerCapability.methods.getParkedTrackFrame.output)
7395
+ .query(async ({ input, ctx }) => {
7396
+ const { nodeId, ...methodInput } = input;
7397
+ const p = resolveProvider('pipeline-runner', nodeId, () => getProvider(ctx), createRemoteProxy);
7398
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
7399
+ return p.getParkedTrackFrame(methodInput);
7400
+ }),
7401
+ releaseParkedTrackFrames: trpc_middleware_js_1.protectedProcedure
7402
+ .input(types_89.pipelineRunnerCapability.methods.releaseParkedTrackFrames.input.loose())
7403
+ .output(types_89.pipelineRunnerCapability.methods.releaseParkedTrackFrames.output)
7404
+ .mutation(async ({ input, ctx }) => {
7405
+ const { nodeId, ...methodInput } = input;
7406
+ const p = resolveProvider('pipeline-runner', nodeId, () => getProvider(ctx), createRemoteProxy);
7407
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
7408
+ return p.releaseParkedTrackFrames(methodInput);
7409
+ }),
7383
7410
  });
7384
7411
  }
7385
7412
  function createCapRouter_plateGallery(getProvider, createRemoteProxy) {
package/dist/main.js CHANGED
@@ -404,6 +404,22 @@ async function bootstrap() {
404
404
  heapWatchLogger.warn(line);
405
405
  },
406
406
  });
407
+ // ...and the OTHER thing the heartbeat cannot see. `[mem]` is a 5-minute
408
+ // timer: it fired at dt = 300020 / 300066 / 299991 ms straight through the
409
+ // 2026-09-09 analytics silences, which proves nothing about a 10-second
410
+ // freeze. Every runner's UDS request waits on THIS loop, so a hub-main stall
411
+ // is delivered to every addon as "you are slow" — the exact confusion
412
+ // `pipeline-analytics`' frame-lag line exists to break, and this is the half
413
+ // that says whether hub-main was the one holding the events. Same monitor
414
+ // `detection-pipeline`, `recorder` and `pipeline-analytics` arm.
415
+ //
416
+ // Armed HERE and not at the top of `bootstrap()`, for the reason the heap
417
+ // sink is deferred: before `loggingService` exists the lines could only
418
+ // reach `console.log`, which is not a log destination. Never stopped: the
419
+ // interval is `unref`ed, so it cannot hold the process open, and hub-main's
420
+ // shutdown is process exit.
421
+ const stallLogger = loggingService.createLogger('event-loop');
422
+ (0, system_1.startEventLoopStallMonitor)(stallLogger);
407
423
  const addonRouteRegistry = new system_1.AddonRouteRegistry();
408
424
  const dataPlaneRegistry = new system_1.DataPlaneRegistry();
409
425
  // Use Fastify-managed notification/toast wrappers (globally provided by NotificationModule)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/server",
3
- "version": "1.2.262",
3
+ "version": "1.2.265",
4
4
  "private": false,
5
5
  "files": [
6
6
  "dist",