@camstack/addon-post-analysis 1.2.143 → 1.2.145
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-J3TQ_8D1.mjs → dist-3FJkk7Mx.mjs} +33 -6
- package/dist/{dist-BBDJh7ln.js → dist-C8RL0Hzy.js} +33 -6
- package/dist/embedding-encoder/index.js +1 -1
- package/dist/embedding-encoder/index.mjs +1 -1
- package/dist/pipeline-analytics/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-BjletSHg.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Bb5cXFSY.mjs} +3 -3
- package/dist/pipeline-analytics/{hostInit-jM_s99eg.mjs → hostInit-Btr3CZPD.mjs} +3 -3
- package/dist/pipeline-analytics/index.js +1 -1
- package/dist/pipeline-analytics/index.mjs +1 -1
- package/dist/pipeline-analytics/remoteEntry.js +1 -1
- package/package.json +1 -1
|
@@ -26449,6 +26449,33 @@ var intercomCapability = {
|
|
|
26449
26449
|
deviceNative: true,
|
|
26450
26450
|
mode: "singleton",
|
|
26451
26451
|
deviceTypes: [DeviceType.Camera],
|
|
26452
|
+
/**
|
|
26453
|
+
* **Auth tier: `protected` on every method — deliberate, and load-bearing.**
|
|
26454
|
+
*
|
|
26455
|
+
* Talking through a camera is an OPERATE action, not a CONFIGURE one. This
|
|
26456
|
+
* cap has no configuration surface at all: all six methods open, feed and
|
|
26457
|
+
* close one live audio session against one `deviceId`. That is the same
|
|
26458
|
+
* authority as `ptz.move` or `snapshot.getSnapshot`, both `protected` — and
|
|
26459
|
+
* the opposite of `ptz.savePreset` / `snapshot.invalidateCache`, which are
|
|
26460
|
+
* `admin` because they change what the device IS.
|
|
26461
|
+
*
|
|
26462
|
+
* `protected` does not mean ungated: `protectedProcedure` runs the
|
|
26463
|
+
* `METHOD_ACCESS_MAP` scope check, and every method here is `scope: 'device'`
|
|
26464
|
+
* with `access: 'create'` and a `deviceId` in its input. So a caller needs a
|
|
26465
|
+
* grant that covers THAT camera at `create` — a `camera-viewer` (`view`
|
|
26466
|
+
* only) still cannot talk, and a grant on camera 5 cannot talk through
|
|
26467
|
+
* camera 7.
|
|
26468
|
+
*
|
|
26469
|
+
* Every method was `auth: 'admin'` from the initial commit, which made the
|
|
26470
|
+
* cap unreachable by every non-admin principal — `adminProcedure` throws
|
|
26471
|
+
* `FORBIDDEN: Admin required` BEFORE the scope check runs, so the scope
|
|
26472
|
+
* machinery generated for this cap (`METHOD_ACCESS_MAP`,
|
|
26473
|
+
* `DEVICE_SCOPED_CAPS`, `METHOD_DEVICE_SELECTORS`) was complete and dead. The
|
|
26474
|
+
* `camera-operator` scope preset has promised "PTZ control, intercom,
|
|
26475
|
+
* snapshots" since that same commit; the promise could not be kept. Recorded
|
|
26476
|
+
* as D289; `scripts/check-scope-preset-promises.ts` now fails the build if a
|
|
26477
|
+
* preset promises a cap no row of that preset can reach.
|
|
26478
|
+
*/
|
|
26452
26479
|
methods: {
|
|
26453
26480
|
/**
|
|
26454
26481
|
* Open a server-side WebRTC audio-only session. Returns an SDP
|
|
@@ -26461,7 +26488,7 @@ var intercomCapability = {
|
|
|
26461
26488
|
sdpOffer: string()
|
|
26462
26489
|
}), {
|
|
26463
26490
|
kind: "mutation",
|
|
26464
|
-
auth: "
|
|
26491
|
+
auth: "protected"
|
|
26465
26492
|
}),
|
|
26466
26493
|
handleAnswer: method(object({
|
|
26467
26494
|
deviceId: number(),
|
|
@@ -26469,7 +26496,7 @@ var intercomCapability = {
|
|
|
26469
26496
|
sdpAnswer: string()
|
|
26470
26497
|
}), _void(), {
|
|
26471
26498
|
kind: "mutation",
|
|
26472
|
-
auth: "
|
|
26499
|
+
auth: "protected"
|
|
26473
26500
|
}),
|
|
26474
26501
|
/** Close explicitly. Server also auto-closes on 30s idle. */
|
|
26475
26502
|
stopSession: method(object({
|
|
@@ -26477,7 +26504,7 @@ var intercomCapability = {
|
|
|
26477
26504
|
sessionId: string()
|
|
26478
26505
|
}), _void(), {
|
|
26479
26506
|
kind: "mutation",
|
|
26480
|
-
auth: "
|
|
26507
|
+
auth: "protected"
|
|
26481
26508
|
}),
|
|
26482
26509
|
/**
|
|
26483
26510
|
* Open a raw-PCM talk session (no WebRTC SDP plumbing). Used by
|
|
@@ -26490,7 +26517,7 @@ var intercomCapability = {
|
|
|
26490
26517
|
*/
|
|
26491
26518
|
startTalkSession: method(object({ deviceId: number() }), object({ sessionId: string() }), {
|
|
26492
26519
|
kind: "mutation",
|
|
26493
|
-
auth: "
|
|
26520
|
+
auth: "protected"
|
|
26494
26521
|
}),
|
|
26495
26522
|
/**
|
|
26496
26523
|
* Push one chunk of talk-back audio onto the active talk session.
|
|
@@ -26525,12 +26552,12 @@ var intercomCapability = {
|
|
|
26525
26552
|
sequenceNumber: number().int()
|
|
26526
26553
|
}), object({ accepted: boolean() }), {
|
|
26527
26554
|
kind: "mutation",
|
|
26528
|
-
auth: "
|
|
26555
|
+
auth: "protected"
|
|
26529
26556
|
}),
|
|
26530
26557
|
/** Close the raw-PCM talk session. Idempotent. */
|
|
26531
26558
|
endTalkSession: method(object({ deviceId: number() }), _void(), {
|
|
26532
26559
|
kind: "mutation",
|
|
26533
|
-
auth: "
|
|
26560
|
+
auth: "protected"
|
|
26534
26561
|
})
|
|
26535
26562
|
},
|
|
26536
26563
|
events: { onStatusChanged: { data: object({
|
|
@@ -26480,6 +26480,33 @@ var intercomCapability = {
|
|
|
26480
26480
|
deviceNative: true,
|
|
26481
26481
|
mode: "singleton",
|
|
26482
26482
|
deviceTypes: [DeviceType.Camera],
|
|
26483
|
+
/**
|
|
26484
|
+
* **Auth tier: `protected` on every method — deliberate, and load-bearing.**
|
|
26485
|
+
*
|
|
26486
|
+
* Talking through a camera is an OPERATE action, not a CONFIGURE one. This
|
|
26487
|
+
* cap has no configuration surface at all: all six methods open, feed and
|
|
26488
|
+
* close one live audio session against one `deviceId`. That is the same
|
|
26489
|
+
* authority as `ptz.move` or `snapshot.getSnapshot`, both `protected` — and
|
|
26490
|
+
* the opposite of `ptz.savePreset` / `snapshot.invalidateCache`, which are
|
|
26491
|
+
* `admin` because they change what the device IS.
|
|
26492
|
+
*
|
|
26493
|
+
* `protected` does not mean ungated: `protectedProcedure` runs the
|
|
26494
|
+
* `METHOD_ACCESS_MAP` scope check, and every method here is `scope: 'device'`
|
|
26495
|
+
* with `access: 'create'` and a `deviceId` in its input. So a caller needs a
|
|
26496
|
+
* grant that covers THAT camera at `create` — a `camera-viewer` (`view`
|
|
26497
|
+
* only) still cannot talk, and a grant on camera 5 cannot talk through
|
|
26498
|
+
* camera 7.
|
|
26499
|
+
*
|
|
26500
|
+
* Every method was `auth: 'admin'` from the initial commit, which made the
|
|
26501
|
+
* cap unreachable by every non-admin principal — `adminProcedure` throws
|
|
26502
|
+
* `FORBIDDEN: Admin required` BEFORE the scope check runs, so the scope
|
|
26503
|
+
* machinery generated for this cap (`METHOD_ACCESS_MAP`,
|
|
26504
|
+
* `DEVICE_SCOPED_CAPS`, `METHOD_DEVICE_SELECTORS`) was complete and dead. The
|
|
26505
|
+
* `camera-operator` scope preset has promised "PTZ control, intercom,
|
|
26506
|
+
* snapshots" since that same commit; the promise could not be kept. Recorded
|
|
26507
|
+
* as D289; `scripts/check-scope-preset-promises.ts` now fails the build if a
|
|
26508
|
+
* preset promises a cap no row of that preset can reach.
|
|
26509
|
+
*/
|
|
26483
26510
|
methods: {
|
|
26484
26511
|
/**
|
|
26485
26512
|
* Open a server-side WebRTC audio-only session. Returns an SDP
|
|
@@ -26492,7 +26519,7 @@ var intercomCapability = {
|
|
|
26492
26519
|
sdpOffer: string()
|
|
26493
26520
|
}), {
|
|
26494
26521
|
kind: "mutation",
|
|
26495
|
-
auth: "
|
|
26522
|
+
auth: "protected"
|
|
26496
26523
|
}),
|
|
26497
26524
|
handleAnswer: method(object({
|
|
26498
26525
|
deviceId: number(),
|
|
@@ -26500,7 +26527,7 @@ var intercomCapability = {
|
|
|
26500
26527
|
sdpAnswer: string()
|
|
26501
26528
|
}), _void(), {
|
|
26502
26529
|
kind: "mutation",
|
|
26503
|
-
auth: "
|
|
26530
|
+
auth: "protected"
|
|
26504
26531
|
}),
|
|
26505
26532
|
/** Close explicitly. Server also auto-closes on 30s idle. */
|
|
26506
26533
|
stopSession: method(object({
|
|
@@ -26508,7 +26535,7 @@ var intercomCapability = {
|
|
|
26508
26535
|
sessionId: string()
|
|
26509
26536
|
}), _void(), {
|
|
26510
26537
|
kind: "mutation",
|
|
26511
|
-
auth: "
|
|
26538
|
+
auth: "protected"
|
|
26512
26539
|
}),
|
|
26513
26540
|
/**
|
|
26514
26541
|
* Open a raw-PCM talk session (no WebRTC SDP plumbing). Used by
|
|
@@ -26521,7 +26548,7 @@ var intercomCapability = {
|
|
|
26521
26548
|
*/
|
|
26522
26549
|
startTalkSession: method(object({ deviceId: number() }), object({ sessionId: string() }), {
|
|
26523
26550
|
kind: "mutation",
|
|
26524
|
-
auth: "
|
|
26551
|
+
auth: "protected"
|
|
26525
26552
|
}),
|
|
26526
26553
|
/**
|
|
26527
26554
|
* Push one chunk of talk-back audio onto the active talk session.
|
|
@@ -26556,12 +26583,12 @@ var intercomCapability = {
|
|
|
26556
26583
|
sequenceNumber: number().int()
|
|
26557
26584
|
}), object({ accepted: boolean() }), {
|
|
26558
26585
|
kind: "mutation",
|
|
26559
|
-
auth: "
|
|
26586
|
+
auth: "protected"
|
|
26560
26587
|
}),
|
|
26561
26588
|
/** Close the raw-PCM talk session. Idempotent. */
|
|
26562
26589
|
endTalkSession: method(object({ deviceId: number() }), _void(), {
|
|
26563
26590
|
kind: "mutation",
|
|
26564
|
-
auth: "
|
|
26591
|
+
auth: "protected"
|
|
26565
26592
|
})
|
|
26566
26593
|
},
|
|
26567
26594
|
events: { onStatusChanged: { data: object({
|
|
@@ -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-C8RL0Hzy.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_dist.__toESM(node_fs);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Dt as BaseAddon, P as PoolMemoryWatchdog, ct as hfModelUrl, it as embeddingEncoderCapability, pt as parseProcStatus, yt as resolvePoolMemoryPolicy } from "../dist-
|
|
1
|
+
import { Dt as BaseAddon, P as PoolMemoryWatchdog, ct as hfModelUrl, it as embeddingEncoderCapability, pt as parseProcStatus, yt as resolvePoolMemoryPolicy } from "../dist-3FJkk7Mx.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";
|
|
@@ -3,7 +3,7 @@ import "./dist-CYZr2fwk.mjs";
|
|
|
3
3
|
var e = {
|
|
4
4
|
"@camstack/sdk": {
|
|
5
5
|
name: "@camstack/sdk",
|
|
6
|
-
version: "1.2.
|
|
6
|
+
version: "1.2.45",
|
|
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.2.
|
|
21
|
+
version: "1.2.123",
|
|
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.2.
|
|
36
|
+
version: "1.2.86",
|
|
37
37
|
scope: ["default"],
|
|
38
38
|
loaded: !1,
|
|
39
39
|
from: "addon_pipeline_analytics_widgets",
|
|
@@ -36,7 +36,7 @@ async function r() {
|
|
|
36
36
|
}
|
|
37
37
|
},
|
|
38
38
|
"@camstack/types": {
|
|
39
|
-
version: "1.2.
|
|
39
|
+
version: "1.2.123",
|
|
40
40
|
scope: "default",
|
|
41
41
|
shareConfig: {
|
|
42
42
|
singleton: !0,
|
|
@@ -45,7 +45,7 @@ async function r() {
|
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"@camstack/sdk": {
|
|
48
|
-
version: "1.2.
|
|
48
|
+
version: "1.2.45",
|
|
49
49
|
scope: "default",
|
|
50
50
|
shareConfig: {
|
|
51
51
|
singleton: !0,
|
|
@@ -81,7 +81,7 @@ async function r() {
|
|
|
81
81
|
}
|
|
82
82
|
},
|
|
83
83
|
"@camstack/ui-library": {
|
|
84
|
-
version: "1.2.
|
|
84
|
+
version: "1.2.86",
|
|
85
85
|
scope: "default",
|
|
86
86
|
shareConfig: {
|
|
87
87
|
singleton: !0,
|
|
@@ -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-C8RL0Hzy.js");
|
|
6
6
|
let node_fs = require("node:fs");
|
|
7
7
|
node_fs = require_dist.__toESM(node_fs, 1);
|
|
8
8
|
let node_path = require("node:path");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as buildEventKindDescriptor, A as NcSnoozeSuppressedSchema, At as hydrateSchema, B as SCENE_DIVERGED, Bt as object, C as NcRuleInputSchema, Ct as vectorDimFromBase64, D as NcScheduleSchema, Dt as BaseAddon, E as NcRuleTargetSchema, Et as errMsg, F as RECORDING_EXPORT_MAX_READ_BYTES, Ft as array, G as TimelapseRuleSchema, Gt as EventCategory, H as TIMELAPSE_DENSE_FLOOR_SEC, Ht as record, I as RetrainStatusSchema, It as boolean, J as addonWidgetsSourceCapability, K as TrackSourceSchema, Lt as discriminatedUnion, M as NcTaxonomySchema, Mt as nodePin, N as OpsLogEntrySchema, Nt as sleep, O as NcSnoozeInputSchema, Ot as DeviceType, Pt as _enum, Q as audioModeOf, R as SCENE_DEFAULT_ANCHOR_THRESHOLD, Rt as literal, S as NcConditionDescriptorSchema, St as systemEventFilterApplies, T as NcRuleSchema, Tt as zoneAnalyticsCapability, U as TimelapseRuleInputSchema, Ut as string, V as SceneMonitorSchema, Vt as partialRecord, W as TimelapseRulePatchSchema, Wt as unknown, X as assertTimelapseCadences, Y as alarmPanelCapability, Z as audioMetricsCapability, _ as NC_ALARM_SYSTEM_EVENT_KINDS, _t as readDeviceStateFrom, a as COCO_TO_MACRO, at as encodeVectorBase64, bt as sceneMonitorCapability, c as DETECTION_MACRO_CLASSES, d as EVENT_KIND_BY_CAP, dt as kebabToCamel, et as cosineSimilarity$1, f as EVENT_PAD_MS, ft as notificationRulesCapability, g as MACRO_LABELS, gt as plateGalleryCapability, h as LabelAttributionSchema, ht as pipelineAnalyticsCapability, i as CLUSTER_MODEL_SCOPED_STEPS, j as NcSystemEventKindSchema, jt as isDeviceScopedCap, k as NcSnoozeSchema, kt as createEvent, lt as isDetectionMacroClass, m as FailureCounters, mt as pickClusterStepModels, n as AnalyticsGroupRecordSchema, nt as defineCustomActions, o as DEFAULT_EVENT_COLOR, ot as faceGalleryCapability, p as FULL_IMAGE_BBOX, q as VISIT_MERGE_GAP_MS, r as BaseDevice, rt as deriveRecordingMode, st as failureContributionCapability, t as AnalyticsGroupDetailSchema, tt as customAction, u as DeclaredDevices, ut as isScheduleActive, v as NC_CONDITION_CATALOG, vt as readTimelapseGeneratedAt, w as NcRulePatchSchema, wt as videoclipsCapability, x as NC_TAXONOMY, xt as subKindsOf, y as NC_DEFAULT_SNOOZE_MINUTES, z as SCENE_DEFAULT_UNCOVERED_POLICY, zt as number } from "../dist-
|
|
1
|
+
import { $ as buildEventKindDescriptor, A as NcSnoozeSuppressedSchema, At as hydrateSchema, B as SCENE_DIVERGED, Bt as object, C as NcRuleInputSchema, Ct as vectorDimFromBase64, D as NcScheduleSchema, Dt as BaseAddon, E as NcRuleTargetSchema, Et as errMsg, F as RECORDING_EXPORT_MAX_READ_BYTES, Ft as array, G as TimelapseRuleSchema, Gt as EventCategory, H as TIMELAPSE_DENSE_FLOOR_SEC, Ht as record, I as RetrainStatusSchema, It as boolean, J as addonWidgetsSourceCapability, K as TrackSourceSchema, Lt as discriminatedUnion, M as NcTaxonomySchema, Mt as nodePin, N as OpsLogEntrySchema, Nt as sleep, O as NcSnoozeInputSchema, Ot as DeviceType, Pt as _enum, Q as audioModeOf, R as SCENE_DEFAULT_ANCHOR_THRESHOLD, Rt as literal, S as NcConditionDescriptorSchema, St as systemEventFilterApplies, T as NcRuleSchema, Tt as zoneAnalyticsCapability, U as TimelapseRuleInputSchema, Ut as string, V as SceneMonitorSchema, Vt as partialRecord, W as TimelapseRulePatchSchema, Wt as unknown, X as assertTimelapseCadences, Y as alarmPanelCapability, Z as audioMetricsCapability, _ as NC_ALARM_SYSTEM_EVENT_KINDS, _t as readDeviceStateFrom, a as COCO_TO_MACRO, at as encodeVectorBase64, bt as sceneMonitorCapability, c as DETECTION_MACRO_CLASSES, d as EVENT_KIND_BY_CAP, dt as kebabToCamel, et as cosineSimilarity$1, f as EVENT_PAD_MS, ft as notificationRulesCapability, g as MACRO_LABELS, gt as plateGalleryCapability, h as LabelAttributionSchema, ht as pipelineAnalyticsCapability, i as CLUSTER_MODEL_SCOPED_STEPS, j as NcSystemEventKindSchema, jt as isDeviceScopedCap, k as NcSnoozeSchema, kt as createEvent, lt as isDetectionMacroClass, m as FailureCounters, mt as pickClusterStepModels, n as AnalyticsGroupRecordSchema, nt as defineCustomActions, o as DEFAULT_EVENT_COLOR, ot as faceGalleryCapability, p as FULL_IMAGE_BBOX, q as VISIT_MERGE_GAP_MS, r as BaseDevice, rt as deriveRecordingMode, st as failureContributionCapability, t as AnalyticsGroupDetailSchema, tt as customAction, u as DeclaredDevices, ut as isScheduleActive, v as NC_CONDITION_CATALOG, vt as readTimelapseGeneratedAt, w as NcRulePatchSchema, wt as videoclipsCapability, x as NC_TAXONOMY, xt as subKindsOf, y as NC_DEFAULT_SNOOZE_MINUTES, z as SCENE_DEFAULT_UNCOVERED_POLICY, zt as number } from "../dist-3FJkk7Mx.mjs";
|
|
2
2
|
import { t as __exportAll } from "../embedding-encoder/index.mjs";
|
|
3
3
|
import * as fs from "node:fs";
|
|
4
4
|
import { promises } from "node:fs";
|
|
@@ -30,7 +30,7 @@ async function d(e) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
async function f() {
|
|
33
|
-
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-
|
|
33
|
+
return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_analytics_widgets-Bb5cXFSY.mjs")).catch((e) => {
|
|
34
34
|
throw l = void 0, e;
|
|
35
35
|
}), l;
|
|
36
36
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-post-analysis",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.145",
|
|
4
4
|
"description": "Post-Analysis bundle — enrichment, embedding-encoder, pipeline-analytics. Multi-entry npm package shipping addons that consume pipeline output.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|