@camstack/addon-post-analysis 1.1.38 → 1.1.39

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.
@@ -11287,13 +11287,33 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
11287
11287
  * (inputClasses ≠ null) are skipped and served per-track via
11288
11288
  * pipelineRunner.runDetailSubtree (two-plane design).
11289
11289
  */
11290
- plane: _enum(["full", "frame"]).optional()
11290
+ plane: _enum(["full", "frame"]).optional(),
11291
+ /**
11292
+ * Inference-device selector (Phase 2 multi-device). Format
11293
+ * `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
11294
+ * Omitted ⇒ the runner's default device (current single-engine
11295
+ * behaviour). Selects WHICH device pool of the node runs the call.
11296
+ */
11297
+ deviceKey: string().optional()
11291
11298
  }), PipelineRunResultBridge, { kind: "mutation" }), method(object({
11292
11299
  engine: PipelineEngineChoiceSchema.optional(),
11293
11300
  steps: array(PipelineStepInputSchema).min(1),
11294
11301
  frames: array(FrameInputSchema).min(1).max(255),
11295
11302
  deviceId: number().optional(),
11296
- sessionId: string().optional()
11303
+ sessionId: string().optional(),
11304
+ /**
11305
+ * Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
11306
+ * the batch to the Python pool's bench preprocess cache
11307
+ * (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
11308
+ * preprocessed ONCE and every later inference is a pure-inference cache
11309
+ * hit — the sustained-throughput run measures inference, not
11310
+ * decode+preprocess+infer. Omitted/0 for live frames (all different →
11311
+ * full preprocess every call, correct). Fresh per sustained run;
11312
+ * released via `uncacheFrame`.
11313
+ */
11314
+ frameId: number().int().nonnegative().optional(),
11315
+ /** Inference-device selector (Phase 2 multi-device); see runPipeline. */
11316
+ deviceKey: string().optional()
11297
11317
  }), object({ results: array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }), method(object({
11298
11318
  data: _instanceof(Uint8Array),
11299
11319
  width: number().int().positive(),
@@ -11668,7 +11688,14 @@ var RunnerCameraConfigSchema = object({
11668
11688
  * camera's detect node differs from its source-owner (P2d, gated by the
11669
11689
  * `remoteSourcingNodes` rollout setting).
11670
11690
  */
11671
- frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
11691
+ frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
11692
+ /**
11693
+ * Inference-device selector for this camera's sessions (Phase 2 multi-device).
11694
+ * Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
11695
+ * omitted ⇒ the runner's default device. The engine itself stays node-local —
11696
+ * this only selects WHICH device pool of that node runs the session.
11697
+ */
11698
+ deviceKey: string().optional()
11672
11699
  });
11673
11700
  motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
11674
11701
  /**
@@ -20090,17 +20117,28 @@ var PlatformScoreSchema = object({
20090
20117
  format: _enum([
20091
20118
  "onnx",
20092
20119
  "coreml",
20093
- "openvino"
20120
+ "openvino",
20121
+ "tflite"
20094
20122
  ]),
20095
20123
  score: number(),
20096
20124
  reason: string(),
20097
20125
  available: boolean()
20098
20126
  });
20127
+ var InferenceDeviceDescriptorSchema = object({
20128
+ key: string(),
20129
+ backend: string(),
20130
+ device: string(),
20131
+ format: ModelFormatSchema,
20132
+ runtime: literal("python"),
20133
+ score: number(),
20134
+ available: boolean()
20135
+ });
20099
20136
  var PlatformCapabilitiesSchema = object({
20100
20137
  hardware: HardwareInfoSchema,
20101
20138
  scores: array(PlatformScoreSchema).readonly(),
20102
20139
  bestScore: PlatformScoreSchema,
20103
- pythonPath: string().nullable()
20140
+ pythonPath: string().nullable(),
20141
+ devices: array(InferenceDeviceDescriptorSchema).readonly()
20104
20142
  });
20105
20143
  var ModelRequirementSchema = object({
20106
20144
  modelId: string(),
@@ -11309,13 +11309,33 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
11309
11309
  * (inputClasses ≠ null) are skipped and served per-track via
11310
11310
  * pipelineRunner.runDetailSubtree (two-plane design).
11311
11311
  */
11312
- plane: _enum(["full", "frame"]).optional()
11312
+ plane: _enum(["full", "frame"]).optional(),
11313
+ /**
11314
+ * Inference-device selector (Phase 2 multi-device). Format
11315
+ * `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
11316
+ * Omitted ⇒ the runner's default device (current single-engine
11317
+ * behaviour). Selects WHICH device pool of the node runs the call.
11318
+ */
11319
+ deviceKey: string().optional()
11313
11320
  }), PipelineRunResultBridge, { kind: "mutation" }), method(object({
11314
11321
  engine: PipelineEngineChoiceSchema.optional(),
11315
11322
  steps: array(PipelineStepInputSchema).min(1),
11316
11323
  frames: array(FrameInputSchema).min(1).max(255),
11317
11324
  deviceId: number().optional(),
11318
- sessionId: string().optional()
11325
+ sessionId: string().optional(),
11326
+ /**
11327
+ * Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
11328
+ * the batch to the Python pool's bench preprocess cache
11329
+ * (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
11330
+ * preprocessed ONCE and every later inference is a pure-inference cache
11331
+ * hit — the sustained-throughput run measures inference, not
11332
+ * decode+preprocess+infer. Omitted/0 for live frames (all different →
11333
+ * full preprocess every call, correct). Fresh per sustained run;
11334
+ * released via `uncacheFrame`.
11335
+ */
11336
+ frameId: number().int().nonnegative().optional(),
11337
+ /** Inference-device selector (Phase 2 multi-device); see runPipeline. */
11338
+ deviceKey: string().optional()
11319
11339
  }), object({ results: array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }), method(object({
11320
11340
  data: _instanceof(Uint8Array),
11321
11341
  width: number().int().positive(),
@@ -11690,7 +11710,14 @@ var RunnerCameraConfigSchema = object({
11690
11710
  * camera's detect node differs from its source-owner (P2d, gated by the
11691
11711
  * `remoteSourcingNodes` rollout setting).
11692
11712
  */
11693
- frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
11713
+ frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
11714
+ /**
11715
+ * Inference-device selector for this camera's sessions (Phase 2 multi-device).
11716
+ * Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
11717
+ * omitted ⇒ the runner's default device. The engine itself stays node-local —
11718
+ * this only selects WHICH device pool of that node runs the session.
11719
+ */
11720
+ deviceKey: string().optional()
11694
11721
  });
11695
11722
  motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
11696
11723
  /**
@@ -20112,17 +20139,28 @@ var PlatformScoreSchema = object({
20112
20139
  format: _enum([
20113
20140
  "onnx",
20114
20141
  "coreml",
20115
- "openvino"
20142
+ "openvino",
20143
+ "tflite"
20116
20144
  ]),
20117
20145
  score: number(),
20118
20146
  reason: string(),
20119
20147
  available: boolean()
20120
20148
  });
20149
+ var InferenceDeviceDescriptorSchema = object({
20150
+ key: string(),
20151
+ backend: string(),
20152
+ device: string(),
20153
+ format: ModelFormatSchema,
20154
+ runtime: literal("python"),
20155
+ score: number(),
20156
+ available: boolean()
20157
+ });
20121
20158
  var PlatformCapabilitiesSchema = object({
20122
20159
  hardware: HardwareInfoSchema,
20123
20160
  scores: array(PlatformScoreSchema).readonly(),
20124
20161
  bestScore: PlatformScoreSchema,
20125
- pythonPath: string().nullable()
20162
+ pythonPath: string().nullable(),
20163
+ devices: array(InferenceDeviceDescriptorSchema).readonly()
20126
20164
  });
20127
20165
  var ModelRequirementSchema = object({
20128
20166
  modelId: string(),
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-_h-RM5Lr.js");
5
+ const require_dist = require("../dist-DUcGHr9E.js");
6
6
  let node_fs = require("node:fs");
7
7
  let node_fs$1 = require_dist.__toESM(node_fs, 1);
8
8
  node_fs = require_dist.__toESM(node_fs);
@@ -1,4 +1,4 @@
1
- import { b as BaseAddon, f as hfModelUrl, u as embeddingEncoderCapability } from "../dist-CSMfGdnz.mjs";
1
+ import { b as BaseAddon, f as hfModelUrl, u as embeddingEncoderCapability } from "../dist-CO07v2sR.mjs";
2
2
  import { createRequire } from "node:module";
3
3
  import * as fs from "node:fs";
4
4
  import * as path$1 from "node:path";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-_h-RM5Lr.js");
1
+ const require_dist = require("./dist-DUcGHr9E.js");
2
2
  let node_fs = require("node:fs");
3
3
  node_fs = require_dist.__toESM(node_fs, 1);
4
4
  let node_path = require("node:path");
@@ -18,7 +18,7 @@ var e = {
18
18
  },
19
19
  "@camstack/types": {
20
20
  name: "@camstack/types",
21
- version: "1.1.53",
21
+ version: "1.1.54",
22
22
  scope: ["default"],
23
23
  loaded: !1,
24
24
  from: "addon_pipeline_analytics_widgets",
@@ -36,7 +36,7 @@ async function r() {
36
36
  }
37
37
  },
38
38
  "@camstack/types": {
39
- version: "1.1.53",
39
+ version: "1.1.54",
40
40
  scope: "default",
41
41
  shareConfig: {
42
42
  singleton: !0,