@camstack/addon-post-analysis 1.1.24 → 1.1.26
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.
- package/dist/{dist-B0VgBdBN.js → dist-BEx5ST1W.js} +144 -6
- package/dist/{dist-DRK78NMq.mjs → dist-DytVmDZg.mjs} +139 -7
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/enrichment-engine/index.js +2 -2
- package/dist/enrichment-engine/index.mjs +1 -1
- package/dist/{node-Cx0LM0Sq.js → node-Cg_cGqs0.js} +1 -1
- package/dist/pipeline-analytics/_stub.js +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BsRL9Bh-.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-p-r6oXq8.mjs} +3 -3
- package/dist/pipeline-analytics/{_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DtOrjE2U.mjs → _virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-C6LbOCa9.mjs} +1 -1
- package/dist/pipeline-analytics/{hostInit-sO1Drmtf.mjs → hostInit-2UZIpU0W.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +1091 -110
- package/dist/pipeline-analytics/index.mjs +1089 -108
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/dist/{resolve-frame-DBXwF5fk.js → resolve-frame-Cbm_NFuq.js} +1 -1
- package/package.json +1 -1
|
@@ -4649,7 +4649,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4649
4649
|
return inst;
|
|
4650
4650
|
}
|
|
4651
4651
|
//#endregion
|
|
4652
|
-
//#region ../types/dist/sleep-
|
|
4652
|
+
//#region ../types/dist/sleep-BC9Yqte7.mjs
|
|
4653
4653
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4654
4654
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4655
4655
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -7487,6 +7487,36 @@ var EncodeProfileSchema = object({
|
|
|
7487
7487
|
*/
|
|
7488
7488
|
outputArgs: array(string()).optional()
|
|
7489
7489
|
});
|
|
7490
|
+
/**
|
|
7491
|
+
* Per-call node pinning for `ctx.api` capability calls.
|
|
7492
|
+
*
|
|
7493
|
+
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
7494
|
+
* cap resolves to the hub, a device-scoped cap to the device's owning node. To
|
|
7495
|
+
* query a SPECIFIC node's provider instead (e.g. a remote agent's own
|
|
7496
|
+
* in-process `platform-probe` hardware, which the hub cannot probe), pin the
|
|
7497
|
+
* call to that node.
|
|
7498
|
+
*
|
|
7499
|
+
* The nodeId rides OUT-OF-BAND in the tRPC call context (NOT in the validated
|
|
7500
|
+
* method args), so capability method signatures stay `nodeId`-free — node
|
|
7501
|
+
* targeting is a property of the CALL, not of the method. The transport lifts
|
|
7502
|
+
* it from `op.context` onto the `CapCallInput.nodeId` field (`ipcParentLink`),
|
|
7503
|
+
* and the hub parent's `onUnownedCall` passes it to the `CapRouteResolver`,
|
|
7504
|
+
* which classifies a pinned agent node as `agent-child-forward`
|
|
7505
|
+
* (`$agent-cap-fwd.forward` → the agent's in-process provider).
|
|
7506
|
+
*
|
|
7507
|
+
* Usage at a call site:
|
|
7508
|
+
*
|
|
7509
|
+
* await api.platformProbe.getCapabilities.query(undefined, nodePin(nodeId))
|
|
7510
|
+
*/
|
|
7511
|
+
/** tRPC `op.context` key carrying a per-call node pin. */
|
|
7512
|
+
var CAP_NODE_PIN_CONTEXT_KEY = "__camstackNodePin";
|
|
7513
|
+
/**
|
|
7514
|
+
* Build the tRPC request options that pin a single capability call to `nodeId`.
|
|
7515
|
+
* Pass as the second argument to `.query(input, …)` / `.mutate(input, …)`.
|
|
7516
|
+
*/
|
|
7517
|
+
function nodePin(nodeId) {
|
|
7518
|
+
return { context: { [CAP_NODE_PIN_CONTEXT_KEY]: nodeId } };
|
|
7519
|
+
}
|
|
7490
7520
|
function hfModelUrl(repo, path) {
|
|
7491
7521
|
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
7492
7522
|
}
|
|
@@ -10585,6 +10615,7 @@ var PipelineAddonSchemaSchema = object({
|
|
|
10585
10615
|
defaultModelId: string(),
|
|
10586
10616
|
defaultModelIdByFormat: record(string(), string()).optional(),
|
|
10587
10617
|
enabledByDefault: boolean().optional(),
|
|
10618
|
+
backfillIntoExistingOverrides: boolean().optional(),
|
|
10588
10619
|
defaultConfidence: number(),
|
|
10589
10620
|
group: string().optional(),
|
|
10590
10621
|
configSchema: array(ConfigFieldBridge).readonly().optional()
|
|
@@ -10891,6 +10922,25 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(ZoneSchema).read
|
|
|
10891
10922
|
auth: "admin"
|
|
10892
10923
|
}), object({ zones: array(ZoneSchema).readonly() });
|
|
10893
10924
|
/**
|
|
10925
|
+
* A bounding box in NORMALIZED [0,1] frame coordinates for `getNativeCrop`. The
|
|
10926
|
+
* decode worker resolves it against the RETAINED native frame's real pixel dims,
|
|
10927
|
+
* so the caller supplies only the detection-res bbox divided by the detection
|
|
10928
|
+
* dims — no native resolution to plumb.
|
|
10929
|
+
*/
|
|
10930
|
+
var NativeCropBboxSchema = object({
|
|
10931
|
+
x: number(),
|
|
10932
|
+
y: number(),
|
|
10933
|
+
w: number(),
|
|
10934
|
+
h: number()
|
|
10935
|
+
});
|
|
10936
|
+
/** Result of a best-effort native-resolution crop (`getNativeCrop`). */
|
|
10937
|
+
var NativeCropResultSchema = object({
|
|
10938
|
+
/** Packed rgb (24-bit) pixels of the crop. */
|
|
10939
|
+
bytes: _instanceof(Uint8Array),
|
|
10940
|
+
width: number().int().positive(),
|
|
10941
|
+
height: number().int().positive()
|
|
10942
|
+
});
|
|
10943
|
+
/**
|
|
10894
10944
|
* Per-camera tunable ranges + defaults. Single source of truth used
|
|
10895
10945
|
* by both the Zod data schema (validation + default fallback) and
|
|
10896
10946
|
* the device settings UI (slider min/max/step). Touch one place and
|
|
@@ -11146,7 +11196,11 @@ var RunnerLocalMetricsSchema = object({
|
|
|
11146
11196
|
avgInferenceTimeMs: number(),
|
|
11147
11197
|
queueDepth: number()
|
|
11148
11198
|
});
|
|
11149
|
-
method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly())
|
|
11199
|
+
method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly()), method(object({
|
|
11200
|
+
handle: FrameHandleSchema,
|
|
11201
|
+
bbox: NativeCropBboxSchema,
|
|
11202
|
+
maxWidth: number().int().positive().optional()
|
|
11203
|
+
}), NativeCropResultSchema.nullable());
|
|
11150
11204
|
object({
|
|
11151
11205
|
detected: boolean(),
|
|
11152
11206
|
/** Ms epoch of the last detected-true observation. Null if never detected. */
|
|
@@ -15249,7 +15303,17 @@ var TrackSchema = object({
|
|
|
15249
15303
|
/** Cumulative normalized distance travelled (0..1 units = full frame width). */
|
|
15250
15304
|
totalDistance: number(),
|
|
15251
15305
|
state: TrackStateSchema,
|
|
15252
|
-
active: boolean()
|
|
15306
|
+
active: boolean(),
|
|
15307
|
+
/** Deterministic key-event importance score in [0,1] (server-computed at
|
|
15308
|
+
* track expiry, recomputed on late label). Absent on legacy rows written
|
|
15309
|
+
* before scoring shipped — consumers degrade to absence / compute-on-read. */
|
|
15310
|
+
importance: number().optional(),
|
|
15311
|
+
/** Id of the track's highest-confidence ObjectEvent (its representative
|
|
15312
|
+
* "best" frame). Absent when the track produced no object events. */
|
|
15313
|
+
bestEventId: string().optional(),
|
|
15314
|
+
/** Tag of the importance sub-signal that dominated the score
|
|
15315
|
+
* (identity|dwell|proximity|class|confidence|travel|zone). */
|
|
15316
|
+
importanceReason: string().optional()
|
|
15253
15317
|
});
|
|
15254
15318
|
var BaseEventFields = {
|
|
15255
15319
|
id: string(),
|
|
@@ -15314,8 +15378,18 @@ var ObjectEventSchema = object({
|
|
|
15314
15378
|
frameHeight: number().optional(),
|
|
15315
15379
|
/** MediaStore key for the crop attached to this event (if any). */
|
|
15316
15380
|
mediaKey: string().optional(),
|
|
15381
|
+
/** Design B: MediaStore key of the track's native-resolution key frame (the
|
|
15382
|
+
* best-detection full frame). Resolve via the event-media data-plane
|
|
15383
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`) for a detail view that
|
|
15384
|
+
* draws `bbox` over the native frame. Absent on legacy rows / non-decoded
|
|
15385
|
+
* sources — consumers fall back to `mediaKey` (the tight crop). */
|
|
15386
|
+
keyFrameMediaKey: string().optional(),
|
|
15317
15387
|
/** Populated by B5 (recording playback URL for this event). */
|
|
15318
|
-
mediaUrl: string().optional()
|
|
15388
|
+
mediaUrl: string().optional(),
|
|
15389
|
+
/** The parent track's key-event importance [0,1], propagated to every object
|
|
15390
|
+
* event of the track (so an event row can be sorted by importance without a
|
|
15391
|
+
* track join). Absent on legacy rows / before the track was scored. */
|
|
15392
|
+
importance: number().optional()
|
|
15319
15393
|
});
|
|
15320
15394
|
var AudioEventSchema = object({
|
|
15321
15395
|
...BaseEventFields,
|
|
@@ -15339,7 +15413,8 @@ var MediaFileKindEnum = _enum([
|
|
|
15339
15413
|
"fullFrame",
|
|
15340
15414
|
"fullFrameBoxed",
|
|
15341
15415
|
"faceCrop",
|
|
15342
|
-
"plateCrop"
|
|
15416
|
+
"plateCrop",
|
|
15417
|
+
"keyFrame"
|
|
15343
15418
|
]);
|
|
15344
15419
|
var MediaFileSchema = object({
|
|
15345
15420
|
key: string(),
|
|
@@ -15360,6 +15435,32 @@ var DeviceEventQueryInput = object({
|
|
|
15360
15435
|
projection: _enum(["full", "slim"]).optional()
|
|
15361
15436
|
});
|
|
15362
15437
|
var ObjectEventQueryInput = DeviceEventQueryInput.extend({ classFilter: string().optional() });
|
|
15438
|
+
var KeyEventQueryInput = object({
|
|
15439
|
+
deviceId: number(),
|
|
15440
|
+
/** Window lower bound (track firstSeen ≥ since). */
|
|
15441
|
+
since: number(),
|
|
15442
|
+
/** Window upper bound (track firstSeen ≤ until). */
|
|
15443
|
+
until: number(),
|
|
15444
|
+
limit: number().int().min(1).max(200).default(50),
|
|
15445
|
+
/** Drop tracks scoring below this importance. */
|
|
15446
|
+
minImportance: number().min(0).max(1).optional(),
|
|
15447
|
+
/** Restrict to a single class (e.g. 'person'). */
|
|
15448
|
+
classFilter: string().optional()
|
|
15449
|
+
});
|
|
15450
|
+
var KeyEventSchema = object({
|
|
15451
|
+
/** The representative event id (the track's best ObjectEvent, else its trackId). */
|
|
15452
|
+
id: string(),
|
|
15453
|
+
trackId: string(),
|
|
15454
|
+
/** Track start time (firstSeen). */
|
|
15455
|
+
timestamp: number(),
|
|
15456
|
+
className: string(),
|
|
15457
|
+
label: string().optional(),
|
|
15458
|
+
importance: number(),
|
|
15459
|
+
/** Highest-confidence ObjectEvent id for the track (empty when none). */
|
|
15460
|
+
bestEventId: string(),
|
|
15461
|
+
/** Track lifetime in ms (lastSeen - firstSeen). */
|
|
15462
|
+
windowMs: number().optional()
|
|
15463
|
+
});
|
|
15363
15464
|
var TrackedDetectionSchema = object({
|
|
15364
15465
|
trackId: string(),
|
|
15365
15466
|
className: string(),
|
|
@@ -15408,6 +15509,15 @@ var pipelineAnalyticsCapability = {
|
|
|
15408
15509
|
getMotionEvents: method(DeviceEventQueryInput, array(MotionEventSchema).readonly()),
|
|
15409
15510
|
getObjectEvents: method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()),
|
|
15410
15511
|
getAudioEvents: method(DeviceEventQueryInput, array(AudioEventSchema).readonly()),
|
|
15512
|
+
/**
|
|
15513
|
+
* Importance-ranked highlights for a device+window. Queries completed
|
|
15514
|
+
* tracks by (deviceId, firstSeen ∈ [since,until]), scores each (or reuses
|
|
15515
|
+
* the persisted score), filters by minImportance/classFilter, orders by
|
|
15516
|
+
* importance desc, and returns up to `limit` compact key events mapped to
|
|
15517
|
+
* each track's best event. Legacy tracks lacking a persisted score are
|
|
15518
|
+
* scored on-read (no write). Degrades to `[]` on error.
|
|
15519
|
+
*/
|
|
15520
|
+
getKeyEvents: method(KeyEventQueryInput, array(KeyEventSchema).readonly()),
|
|
15411
15521
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
15412
15522
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
15413
15523
|
getEventDensity: method(object({
|
|
@@ -17374,7 +17484,17 @@ var FaceInfoSchema = object({
|
|
|
17374
17484
|
recognizedIdentityId: string().optional(),
|
|
17375
17485
|
identityName: string().optional(),
|
|
17376
17486
|
assigned: boolean(),
|
|
17377
|
-
base64: string().optional()
|
|
17487
|
+
base64: string().optional(),
|
|
17488
|
+
/** Design B: the face bbox (pixel space) on the key frame — lets a detail
|
|
17489
|
+
* view draw the box over the native `keyFrameMediaKey` frame. Absent on
|
|
17490
|
+
* legacy rows written before design B. */
|
|
17491
|
+
faceBbox: BoundingBoxSchema.optional(),
|
|
17492
|
+
/** Design B: MediaStore key of the track's native-resolution key frame.
|
|
17493
|
+
* Fetch the native JPEG via the event-media data-plane
|
|
17494
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`). Absent when the
|
|
17495
|
+
* track produced no key frame (e.g. native/onboard source) — the UI falls
|
|
17496
|
+
* back to the inline `base64` face crop. */
|
|
17497
|
+
keyFrameMediaKey: string().optional()
|
|
17378
17498
|
});
|
|
17379
17499
|
var FaceFilterEnum = _enum([
|
|
17380
17500
|
"unassigned",
|
|
@@ -21543,6 +21663,12 @@ Object.freeze({
|
|
|
21543
21663
|
addonId: null,
|
|
21544
21664
|
access: "view"
|
|
21545
21665
|
},
|
|
21666
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
21667
|
+
capName: "pipeline-analytics",
|
|
21668
|
+
capScope: "device",
|
|
21669
|
+
addonId: null,
|
|
21670
|
+
access: "view"
|
|
21671
|
+
},
|
|
21546
21672
|
"pipelineAnalytics.getMotionEvents": {
|
|
21547
21673
|
capName: "pipeline-analytics",
|
|
21548
21674
|
capScope: "device",
|
|
@@ -22071,6 +22197,12 @@ Object.freeze({
|
|
|
22071
22197
|
addonId: null,
|
|
22072
22198
|
access: "view"
|
|
22073
22199
|
},
|
|
22200
|
+
"pipelineRunner.getNativeCrop": {
|
|
22201
|
+
capName: "pipeline-runner",
|
|
22202
|
+
capScope: "system",
|
|
22203
|
+
addonId: null,
|
|
22204
|
+
access: "view"
|
|
22205
|
+
},
|
|
22074
22206
|
"pipelineRunner.reportMotion": {
|
|
22075
22207
|
capName: "pipeline-runner",
|
|
22076
22208
|
capScope: "system",
|
|
@@ -23535,6 +23667,12 @@ Object.defineProperty(exports, "hydrateSchema", {
|
|
|
23535
23667
|
return hydrateSchema;
|
|
23536
23668
|
}
|
|
23537
23669
|
});
|
|
23670
|
+
Object.defineProperty(exports, "nodePin", {
|
|
23671
|
+
enumerable: true,
|
|
23672
|
+
get: function() {
|
|
23673
|
+
return nodePin;
|
|
23674
|
+
}
|
|
23675
|
+
});
|
|
23538
23676
|
Object.defineProperty(exports, "number", {
|
|
23539
23677
|
enumerable: true,
|
|
23540
23678
|
get: function() {
|
|
@@ -4627,7 +4627,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4627
4627
|
return inst;
|
|
4628
4628
|
}
|
|
4629
4629
|
//#endregion
|
|
4630
|
-
//#region ../types/dist/sleep-
|
|
4630
|
+
//#region ../types/dist/sleep-BC9Yqte7.mjs
|
|
4631
4631
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4632
4632
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4633
4633
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -7465,6 +7465,36 @@ var EncodeProfileSchema = object({
|
|
|
7465
7465
|
*/
|
|
7466
7466
|
outputArgs: array(string()).optional()
|
|
7467
7467
|
});
|
|
7468
|
+
/**
|
|
7469
|
+
* Per-call node pinning for `ctx.api` capability calls.
|
|
7470
|
+
*
|
|
7471
|
+
* A capability call normally resolves to its DEFAULT provider — a `singleton`
|
|
7472
|
+
* cap resolves to the hub, a device-scoped cap to the device's owning node. To
|
|
7473
|
+
* query a SPECIFIC node's provider instead (e.g. a remote agent's own
|
|
7474
|
+
* in-process `platform-probe` hardware, which the hub cannot probe), pin the
|
|
7475
|
+
* call to that node.
|
|
7476
|
+
*
|
|
7477
|
+
* The nodeId rides OUT-OF-BAND in the tRPC call context (NOT in the validated
|
|
7478
|
+
* method args), so capability method signatures stay `nodeId`-free — node
|
|
7479
|
+
* targeting is a property of the CALL, not of the method. The transport lifts
|
|
7480
|
+
* it from `op.context` onto the `CapCallInput.nodeId` field (`ipcParentLink`),
|
|
7481
|
+
* and the hub parent's `onUnownedCall` passes it to the `CapRouteResolver`,
|
|
7482
|
+
* which classifies a pinned agent node as `agent-child-forward`
|
|
7483
|
+
* (`$agent-cap-fwd.forward` → the agent's in-process provider).
|
|
7484
|
+
*
|
|
7485
|
+
* Usage at a call site:
|
|
7486
|
+
*
|
|
7487
|
+
* await api.platformProbe.getCapabilities.query(undefined, nodePin(nodeId))
|
|
7488
|
+
*/
|
|
7489
|
+
/** tRPC `op.context` key carrying a per-call node pin. */
|
|
7490
|
+
var CAP_NODE_PIN_CONTEXT_KEY = "__camstackNodePin";
|
|
7491
|
+
/**
|
|
7492
|
+
* Build the tRPC request options that pin a single capability call to `nodeId`.
|
|
7493
|
+
* Pass as the second argument to `.query(input, …)` / `.mutate(input, …)`.
|
|
7494
|
+
*/
|
|
7495
|
+
function nodePin(nodeId) {
|
|
7496
|
+
return { context: { [CAP_NODE_PIN_CONTEXT_KEY]: nodeId } };
|
|
7497
|
+
}
|
|
7468
7498
|
function hfModelUrl(repo, path) {
|
|
7469
7499
|
return `https://huggingface.co/${repo}/resolve/main/${path}`;
|
|
7470
7500
|
}
|
|
@@ -10563,6 +10593,7 @@ var PipelineAddonSchemaSchema = object({
|
|
|
10563
10593
|
defaultModelId: string(),
|
|
10564
10594
|
defaultModelIdByFormat: record(string(), string()).optional(),
|
|
10565
10595
|
enabledByDefault: boolean().optional(),
|
|
10596
|
+
backfillIntoExistingOverrides: boolean().optional(),
|
|
10566
10597
|
defaultConfidence: number(),
|
|
10567
10598
|
group: string().optional(),
|
|
10568
10599
|
configSchema: array(ConfigFieldBridge).readonly().optional()
|
|
@@ -10869,6 +10900,25 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(ZoneSchema).read
|
|
|
10869
10900
|
auth: "admin"
|
|
10870
10901
|
}), object({ zones: array(ZoneSchema).readonly() });
|
|
10871
10902
|
/**
|
|
10903
|
+
* A bounding box in NORMALIZED [0,1] frame coordinates for `getNativeCrop`. The
|
|
10904
|
+
* decode worker resolves it against the RETAINED native frame's real pixel dims,
|
|
10905
|
+
* so the caller supplies only the detection-res bbox divided by the detection
|
|
10906
|
+
* dims — no native resolution to plumb.
|
|
10907
|
+
*/
|
|
10908
|
+
var NativeCropBboxSchema = object({
|
|
10909
|
+
x: number(),
|
|
10910
|
+
y: number(),
|
|
10911
|
+
w: number(),
|
|
10912
|
+
h: number()
|
|
10913
|
+
});
|
|
10914
|
+
/** Result of a best-effort native-resolution crop (`getNativeCrop`). */
|
|
10915
|
+
var NativeCropResultSchema = object({
|
|
10916
|
+
/** Packed rgb (24-bit) pixels of the crop. */
|
|
10917
|
+
bytes: _instanceof(Uint8Array),
|
|
10918
|
+
width: number().int().positive(),
|
|
10919
|
+
height: number().int().positive()
|
|
10920
|
+
});
|
|
10921
|
+
/**
|
|
10872
10922
|
* Per-camera tunable ranges + defaults. Single source of truth used
|
|
10873
10923
|
* by both the Zod data schema (validation + default fallback) and
|
|
10874
10924
|
* the device settings UI (slider min/max/step). Touch one place and
|
|
@@ -11124,7 +11174,11 @@ var RunnerLocalMetricsSchema = object({
|
|
|
11124
11174
|
avgInferenceTimeMs: number(),
|
|
11125
11175
|
queueDepth: number()
|
|
11126
11176
|
});
|
|
11127
|
-
method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly())
|
|
11177
|
+
method(RunnerCameraConfigSchema, object({ success: literal(true) }), { kind: "mutation" }), method(object({ deviceId: number() }), object({ success: literal(true) }), { kind: "mutation" }), method(ReportMotionInputSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), RunnerLocalLoadSchema), method(_void(), RunnerLocalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(_void(), array(CameraMetricsWithDeviceIdSchema).readonly()), method(_void(), array(number()).readonly()), method(object({
|
|
11178
|
+
handle: FrameHandleSchema,
|
|
11179
|
+
bbox: NativeCropBboxSchema,
|
|
11180
|
+
maxWidth: number().int().positive().optional()
|
|
11181
|
+
}), NativeCropResultSchema.nullable());
|
|
11128
11182
|
object({
|
|
11129
11183
|
detected: boolean(),
|
|
11130
11184
|
/** Ms epoch of the last detected-true observation. Null if never detected. */
|
|
@@ -15227,7 +15281,17 @@ var TrackSchema = object({
|
|
|
15227
15281
|
/** Cumulative normalized distance travelled (0..1 units = full frame width). */
|
|
15228
15282
|
totalDistance: number(),
|
|
15229
15283
|
state: TrackStateSchema,
|
|
15230
|
-
active: boolean()
|
|
15284
|
+
active: boolean(),
|
|
15285
|
+
/** Deterministic key-event importance score in [0,1] (server-computed at
|
|
15286
|
+
* track expiry, recomputed on late label). Absent on legacy rows written
|
|
15287
|
+
* before scoring shipped — consumers degrade to absence / compute-on-read. */
|
|
15288
|
+
importance: number().optional(),
|
|
15289
|
+
/** Id of the track's highest-confidence ObjectEvent (its representative
|
|
15290
|
+
* "best" frame). Absent when the track produced no object events. */
|
|
15291
|
+
bestEventId: string().optional(),
|
|
15292
|
+
/** Tag of the importance sub-signal that dominated the score
|
|
15293
|
+
* (identity|dwell|proximity|class|confidence|travel|zone). */
|
|
15294
|
+
importanceReason: string().optional()
|
|
15231
15295
|
});
|
|
15232
15296
|
var BaseEventFields = {
|
|
15233
15297
|
id: string(),
|
|
@@ -15292,8 +15356,18 @@ var ObjectEventSchema = object({
|
|
|
15292
15356
|
frameHeight: number().optional(),
|
|
15293
15357
|
/** MediaStore key for the crop attached to this event (if any). */
|
|
15294
15358
|
mediaKey: string().optional(),
|
|
15359
|
+
/** Design B: MediaStore key of the track's native-resolution key frame (the
|
|
15360
|
+
* best-detection full frame). Resolve via the event-media data-plane
|
|
15361
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`) for a detail view that
|
|
15362
|
+
* draws `bbox` over the native frame. Absent on legacy rows / non-decoded
|
|
15363
|
+
* sources — consumers fall back to `mediaKey` (the tight crop). */
|
|
15364
|
+
keyFrameMediaKey: string().optional(),
|
|
15295
15365
|
/** Populated by B5 (recording playback URL for this event). */
|
|
15296
|
-
mediaUrl: string().optional()
|
|
15366
|
+
mediaUrl: string().optional(),
|
|
15367
|
+
/** The parent track's key-event importance [0,1], propagated to every object
|
|
15368
|
+
* event of the track (so an event row can be sorted by importance without a
|
|
15369
|
+
* track join). Absent on legacy rows / before the track was scored. */
|
|
15370
|
+
importance: number().optional()
|
|
15297
15371
|
});
|
|
15298
15372
|
var AudioEventSchema = object({
|
|
15299
15373
|
...BaseEventFields,
|
|
@@ -15317,7 +15391,8 @@ var MediaFileKindEnum = _enum([
|
|
|
15317
15391
|
"fullFrame",
|
|
15318
15392
|
"fullFrameBoxed",
|
|
15319
15393
|
"faceCrop",
|
|
15320
|
-
"plateCrop"
|
|
15394
|
+
"plateCrop",
|
|
15395
|
+
"keyFrame"
|
|
15321
15396
|
]);
|
|
15322
15397
|
var MediaFileSchema = object({
|
|
15323
15398
|
key: string(),
|
|
@@ -15338,6 +15413,32 @@ var DeviceEventQueryInput = object({
|
|
|
15338
15413
|
projection: _enum(["full", "slim"]).optional()
|
|
15339
15414
|
});
|
|
15340
15415
|
var ObjectEventQueryInput = DeviceEventQueryInput.extend({ classFilter: string().optional() });
|
|
15416
|
+
var KeyEventQueryInput = object({
|
|
15417
|
+
deviceId: number(),
|
|
15418
|
+
/** Window lower bound (track firstSeen ≥ since). */
|
|
15419
|
+
since: number(),
|
|
15420
|
+
/** Window upper bound (track firstSeen ≤ until). */
|
|
15421
|
+
until: number(),
|
|
15422
|
+
limit: number().int().min(1).max(200).default(50),
|
|
15423
|
+
/** Drop tracks scoring below this importance. */
|
|
15424
|
+
minImportance: number().min(0).max(1).optional(),
|
|
15425
|
+
/** Restrict to a single class (e.g. 'person'). */
|
|
15426
|
+
classFilter: string().optional()
|
|
15427
|
+
});
|
|
15428
|
+
var KeyEventSchema = object({
|
|
15429
|
+
/** The representative event id (the track's best ObjectEvent, else its trackId). */
|
|
15430
|
+
id: string(),
|
|
15431
|
+
trackId: string(),
|
|
15432
|
+
/** Track start time (firstSeen). */
|
|
15433
|
+
timestamp: number(),
|
|
15434
|
+
className: string(),
|
|
15435
|
+
label: string().optional(),
|
|
15436
|
+
importance: number(),
|
|
15437
|
+
/** Highest-confidence ObjectEvent id for the track (empty when none). */
|
|
15438
|
+
bestEventId: string(),
|
|
15439
|
+
/** Track lifetime in ms (lastSeen - firstSeen). */
|
|
15440
|
+
windowMs: number().optional()
|
|
15441
|
+
});
|
|
15341
15442
|
var TrackedDetectionSchema = object({
|
|
15342
15443
|
trackId: string(),
|
|
15343
15444
|
className: string(),
|
|
@@ -15386,6 +15487,15 @@ var pipelineAnalyticsCapability = {
|
|
|
15386
15487
|
getMotionEvents: method(DeviceEventQueryInput, array(MotionEventSchema).readonly()),
|
|
15387
15488
|
getObjectEvents: method(ObjectEventQueryInput, array(ObjectEventSchema).readonly()),
|
|
15388
15489
|
getAudioEvents: method(DeviceEventQueryInput, array(AudioEventSchema).readonly()),
|
|
15490
|
+
/**
|
|
15491
|
+
* Importance-ranked highlights for a device+window. Queries completed
|
|
15492
|
+
* tracks by (deviceId, firstSeen ∈ [since,until]), scores each (or reuses
|
|
15493
|
+
* the persisted score), filters by minImportance/classFilter, orders by
|
|
15494
|
+
* importance desc, and returns up to `limit` compact key events mapped to
|
|
15495
|
+
* each track's best event. Legacy tracks lacking a persisted score are
|
|
15496
|
+
* scored on-read (no write). Degrades to `[]` on error.
|
|
15497
|
+
*/
|
|
15498
|
+
getKeyEvents: method(KeyEventQueryInput, array(KeyEventSchema).readonly()),
|
|
15389
15499
|
/** Server-side bucketed event counts for the 24-hour timeline.
|
|
15390
15500
|
* Returns one entry per non-empty bucket; empty buckets are omitted. */
|
|
15391
15501
|
getEventDensity: method(object({
|
|
@@ -17352,7 +17462,17 @@ var FaceInfoSchema = object({
|
|
|
17352
17462
|
recognizedIdentityId: string().optional(),
|
|
17353
17463
|
identityName: string().optional(),
|
|
17354
17464
|
assigned: boolean(),
|
|
17355
|
-
base64: string().optional()
|
|
17465
|
+
base64: string().optional(),
|
|
17466
|
+
/** Design B: the face bbox (pixel space) on the key frame — lets a detail
|
|
17467
|
+
* view draw the box over the native `keyFrameMediaKey` frame. Absent on
|
|
17468
|
+
* legacy rows written before design B. */
|
|
17469
|
+
faceBbox: BoundingBoxSchema.optional(),
|
|
17470
|
+
/** Design B: MediaStore key of the track's native-resolution key frame.
|
|
17471
|
+
* Fetch the native JPEG via the event-media data-plane
|
|
17472
|
+
* (`/addon/<addonId>/event-media/<keyFrameMediaKey>`). Absent when the
|
|
17473
|
+
* track produced no key frame (e.g. native/onboard source) — the UI falls
|
|
17474
|
+
* back to the inline `base64` face crop. */
|
|
17475
|
+
keyFrameMediaKey: string().optional()
|
|
17356
17476
|
});
|
|
17357
17477
|
var FaceFilterEnum = _enum([
|
|
17358
17478
|
"unassigned",
|
|
@@ -21521,6 +21641,12 @@ Object.freeze({
|
|
|
21521
21641
|
addonId: null,
|
|
21522
21642
|
access: "view"
|
|
21523
21643
|
},
|
|
21644
|
+
"pipelineAnalytics.getKeyEvents": {
|
|
21645
|
+
capName: "pipeline-analytics",
|
|
21646
|
+
capScope: "device",
|
|
21647
|
+
addonId: null,
|
|
21648
|
+
access: "view"
|
|
21649
|
+
},
|
|
21524
21650
|
"pipelineAnalytics.getMotionEvents": {
|
|
21525
21651
|
capName: "pipeline-analytics",
|
|
21526
21652
|
capScope: "device",
|
|
@@ -22049,6 +22175,12 @@ Object.freeze({
|
|
|
22049
22175
|
addonId: null,
|
|
22050
22176
|
access: "view"
|
|
22051
22177
|
},
|
|
22178
|
+
"pipelineRunner.getNativeCrop": {
|
|
22179
|
+
capName: "pipeline-runner",
|
|
22180
|
+
capScope: "system",
|
|
22181
|
+
addonId: null,
|
|
22182
|
+
access: "view"
|
|
22183
|
+
},
|
|
22052
22184
|
"pipelineRunner.reportMotion": {
|
|
22053
22185
|
capName: "pipeline-runner",
|
|
22054
22186
|
capScope: "system",
|
|
@@ -23405,4 +23537,4 @@ object({
|
|
|
23405
23537
|
schemaVersion: literal(1)
|
|
23406
23538
|
});
|
|
23407
23539
|
//#endregion
|
|
23408
|
-
export {
|
|
23540
|
+
export { number as C, tuple as E, boolean as S, string as T, asJsonObject as _, embeddingEncoderCapability as a, _enum as b, nodePin as c, videoclipsCapability as d, zoneAnalyticsCapability as f, EventCategory as g, DeviceType as h, cosineSimilarity as i, pipelineAnalyticsCapability as l, BaseAddon as m, addonWidgetsSourceCapability as n, faceGalleryCapability as o, errMsg as p, audioMetricsCapability as r, hfModelUrl as s, EVENT_PAD_MS as t, plateGalleryCapability as u, createEvent as v, object as w, array as x, hydrateSchema as y };
|
|
@@ -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-
|
|
5
|
+
const require_dist = require("../dist-BEx5ST1W.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 { a as embeddingEncoderCapability,
|
|
1
|
+
import { a as embeddingEncoderCapability, m as BaseAddon, s as hfModelUrl } from "../dist-DytVmDZg.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";
|
|
@@ -2,8 +2,8 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
6
|
-
const require_resolve_frame = require("../resolve-frame-
|
|
5
|
+
const require_dist = require("../dist-BEx5ST1W.js");
|
|
6
|
+
const require_resolve_frame = require("../resolve-frame-Cbm_NFuq.js");
|
|
7
7
|
let _camstack_shm_ring = require("@camstack/shm-ring");
|
|
8
8
|
//#region src/enrichment-engine/types.ts
|
|
9
9
|
var DEFAULT_ENRICHMENT_CONFIG = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as
|
|
1
|
+
import { C as number, E as tuple, S as boolean, T as string, _ as asJsonObject, b as _enum, g as EventCategory, m as BaseAddon, v as createEvent, w as object, x as array } from "../dist-DytVmDZg.mjs";
|
|
2
2
|
import { n as extractCrop, t as resolveFrame } from "../resolve-frame-CT1T1tWy.mjs";
|
|
3
3
|
import { FrameRingReaderCache } from "@camstack/shm-ring";
|
|
4
4
|
//#region src/enrichment-engine/types.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as e, i as t, n, o as r, r as i, t as a } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react__loadShare__.js-C0AuF9av.mjs";
|
|
2
2
|
import { t as o } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-B3Wx5J80.mjs";
|
|
3
|
-
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-
|
|
3
|
+
import { a as s, i as c, n as l, o as u, r as d, s as f, t as p } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-C6LbOCa9.mjs";
|
|
4
4
|
import { n as m, r as h, t as g } from "./_virtual_mf___mfe_internal__addon_pipeline_analytics_widgets__loadShare__react_mf_1_jsx_mf_2_runtime__loadShare__.js-Bm-iyjmq.mjs";
|
|
5
5
|
//#region ../../node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
6
6
|
var _ = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), v = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), y = (e) => {
|
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.1.
|
|
6
|
+
version: "1.1.23",
|
|
7
7
|
scope: ["default"],
|
|
8
8
|
loaded: !1,
|
|
9
9
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -18,7 +18,7 @@ var e = {
|
|
|
18
18
|
},
|
|
19
19
|
"@camstack/types": {
|
|
20
20
|
name: "@camstack/types",
|
|
21
|
-
version: "1.1.
|
|
21
|
+
version: "1.1.42",
|
|
22
22
|
scope: ["default"],
|
|
23
23
|
loaded: !1,
|
|
24
24
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -33,7 +33,7 @@ var e = {
|
|
|
33
33
|
},
|
|
34
34
|
"@camstack/ui-library": {
|
|
35
35
|
name: "@camstack/ui-library",
|
|
36
|
-
version: "1.1.
|
|
36
|
+
version: "1.1.34",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|