@camstack/addon-provider-onvif 1.1.3 → 1.1.5
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/addon.js +44 -11
- package/dist/addon.mjs +44 -11
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -4631,7 +4631,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4631
4631
|
return inst;
|
|
4632
4632
|
}
|
|
4633
4633
|
//#endregion
|
|
4634
|
-
//#region ../types/dist/sleep-
|
|
4634
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4635
4635
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4636
4636
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4637
4637
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5746,15 +5746,24 @@ var BaseAddon = class {
|
|
|
5746
5746
|
} catch {}
|
|
5747
5747
|
}
|
|
5748
5748
|
/**
|
|
5749
|
-
* Resolve the shared models directory
|
|
5750
|
-
*
|
|
5751
|
-
*
|
|
5749
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5750
|
+
*
|
|
5751
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5752
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5753
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5754
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5755
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5756
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5757
|
+
*
|
|
5758
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5759
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5752
5760
|
*/
|
|
5753
5761
|
async resolveModelsDir() {
|
|
5754
|
-
|
|
5755
|
-
|
|
5756
|
-
|
|
5757
|
-
|
|
5762
|
+
const { join } = await import("node:path");
|
|
5763
|
+
const { promises: fsp } = await import("node:fs");
|
|
5764
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5765
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5766
|
+
return dir;
|
|
5758
5767
|
}
|
|
5759
5768
|
/**
|
|
5760
5769
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -13026,7 +13035,8 @@ method(object({
|
|
|
13026
13035
|
sessionId: string().optional()
|
|
13027
13036
|
}), ConvertResultSchema, {
|
|
13028
13037
|
kind: "mutation",
|
|
13029
|
-
auth: "admin"
|
|
13038
|
+
auth: "admin",
|
|
13039
|
+
timeoutMs: 6e5
|
|
13030
13040
|
});
|
|
13031
13041
|
var AddonHttpRouteSchema = object({
|
|
13032
13042
|
method: _enum([
|
|
@@ -14605,7 +14615,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
14605
14615
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
14606
14616
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
14607
14617
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
14608
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
14618
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
14619
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
14620
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
14621
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
14622
|
+
clipDescription: object({
|
|
14623
|
+
text: string().min(1),
|
|
14624
|
+
minSimilarity: number().min(0).max(1)
|
|
14625
|
+
}).optional()
|
|
14609
14626
|
});
|
|
14610
14627
|
var NotificationRuleTemplateSchema = object({
|
|
14611
14628
|
title: string(),
|
|
@@ -14847,6 +14864,16 @@ var TrackedDetectionSchema = object({
|
|
|
14847
14864
|
zones: array(string()).readonly(),
|
|
14848
14865
|
state: TrackStateSchema
|
|
14849
14866
|
});
|
|
14867
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
14868
|
+
var SearchObjectEventsInput = object({
|
|
14869
|
+
text: string(),
|
|
14870
|
+
deviceId: number().optional(),
|
|
14871
|
+
since: number().optional(),
|
|
14872
|
+
until: number().optional(),
|
|
14873
|
+
classFilter: string().optional(),
|
|
14874
|
+
limit: number().default(50),
|
|
14875
|
+
minScore: number().min(0).max(1).default(.2)
|
|
14876
|
+
});
|
|
14850
14877
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
14851
14878
|
deviceId: number(),
|
|
14852
14879
|
trackId: string()
|
|
@@ -14881,7 +14908,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
14881
14908
|
}), method(object({
|
|
14882
14909
|
eventId: string(),
|
|
14883
14910
|
kind: MediaFileKindEnum.optional()
|
|
14884
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
14911
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
14885
14912
|
deviceId: number(),
|
|
14886
14913
|
timestamp: number(),
|
|
14887
14914
|
frameWidth: number(),
|
|
@@ -19573,6 +19600,12 @@ Object.freeze({
|
|
|
19573
19600
|
addonId: null,
|
|
19574
19601
|
access: "create"
|
|
19575
19602
|
},
|
|
19603
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
19604
|
+
capName: "pipeline-analytics",
|
|
19605
|
+
capScope: "device",
|
|
19606
|
+
addonId: null,
|
|
19607
|
+
access: "view"
|
|
19608
|
+
},
|
|
19576
19609
|
"pipelineExecutor.cacheFrameInPool": {
|
|
19577
19610
|
capName: "pipeline-executor",
|
|
19578
19611
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -4632,7 +4632,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4632
4632
|
return inst;
|
|
4633
4633
|
}
|
|
4634
4634
|
//#endregion
|
|
4635
|
-
//#region ../types/dist/sleep-
|
|
4635
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4636
4636
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4637
4637
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4638
4638
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5747,15 +5747,24 @@ var BaseAddon = class {
|
|
|
5747
5747
|
} catch {}
|
|
5748
5748
|
}
|
|
5749
5749
|
/**
|
|
5750
|
-
* Resolve the shared models directory
|
|
5751
|
-
*
|
|
5752
|
-
*
|
|
5750
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5751
|
+
*
|
|
5752
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5753
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5754
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5755
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5756
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5757
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5758
|
+
*
|
|
5759
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5760
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5753
5761
|
*/
|
|
5754
5762
|
async resolveModelsDir() {
|
|
5755
|
-
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
|
|
5763
|
+
const { join } = await import("node:path");
|
|
5764
|
+
const { promises: fsp } = await import("node:fs");
|
|
5765
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5766
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5767
|
+
return dir;
|
|
5759
5768
|
}
|
|
5760
5769
|
/**
|
|
5761
5770
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -13027,7 +13036,8 @@ method(object({
|
|
|
13027
13036
|
sessionId: string().optional()
|
|
13028
13037
|
}), ConvertResultSchema, {
|
|
13029
13038
|
kind: "mutation",
|
|
13030
|
-
auth: "admin"
|
|
13039
|
+
auth: "admin",
|
|
13040
|
+
timeoutMs: 6e5
|
|
13031
13041
|
});
|
|
13032
13042
|
var AddonHttpRouteSchema = object({
|
|
13033
13043
|
method: _enum([
|
|
@@ -14606,7 +14616,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
14606
14616
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
14607
14617
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
14608
14618
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
14609
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
14619
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
14620
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
14621
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
14622
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
14623
|
+
clipDescription: object({
|
|
14624
|
+
text: string().min(1),
|
|
14625
|
+
minSimilarity: number().min(0).max(1)
|
|
14626
|
+
}).optional()
|
|
14610
14627
|
});
|
|
14611
14628
|
var NotificationRuleTemplateSchema = object({
|
|
14612
14629
|
title: string(),
|
|
@@ -14848,6 +14865,16 @@ var TrackedDetectionSchema = object({
|
|
|
14848
14865
|
zones: array(string()).readonly(),
|
|
14849
14866
|
state: TrackStateSchema
|
|
14850
14867
|
});
|
|
14868
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
14869
|
+
var SearchObjectEventsInput = object({
|
|
14870
|
+
text: string(),
|
|
14871
|
+
deviceId: number().optional(),
|
|
14872
|
+
since: number().optional(),
|
|
14873
|
+
until: number().optional(),
|
|
14874
|
+
classFilter: string().optional(),
|
|
14875
|
+
limit: number().default(50),
|
|
14876
|
+
minScore: number().min(0).max(1).default(.2)
|
|
14877
|
+
});
|
|
14851
14878
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
14852
14879
|
deviceId: number(),
|
|
14853
14880
|
trackId: string()
|
|
@@ -14882,7 +14909,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
14882
14909
|
}), method(object({
|
|
14883
14910
|
eventId: string(),
|
|
14884
14911
|
kind: MediaFileKindEnum.optional()
|
|
14885
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
14912
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
14886
14913
|
deviceId: number(),
|
|
14887
14914
|
timestamp: number(),
|
|
14888
14915
|
frameWidth: number(),
|
|
@@ -19574,6 +19601,12 @@ Object.freeze({
|
|
|
19574
19601
|
addonId: null,
|
|
19575
19602
|
access: "create"
|
|
19576
19603
|
},
|
|
19604
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
19605
|
+
capName: "pipeline-analytics",
|
|
19606
|
+
capScope: "device",
|
|
19607
|
+
addonId: null,
|
|
19608
|
+
access: "view"
|
|
19609
|
+
},
|
|
19577
19610
|
"pipelineExecutor.cacheFrameInPool": {
|
|
19578
19611
|
capName: "pipeline-executor",
|
|
19579
19612
|
capScope: "system",
|