@camstack/addon-provider-reolink 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
|
@@ -4655,7 +4655,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4655
4655
|
return inst;
|
|
4656
4656
|
}
|
|
4657
4657
|
//#endregion
|
|
4658
|
-
//#region ../types/dist/sleep-
|
|
4658
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4659
4659
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4660
4660
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4661
4661
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5770,15 +5770,24 @@ var BaseAddon = class {
|
|
|
5770
5770
|
} catch {}
|
|
5771
5771
|
}
|
|
5772
5772
|
/**
|
|
5773
|
-
* Resolve the shared models directory
|
|
5774
|
-
*
|
|
5775
|
-
*
|
|
5773
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5774
|
+
*
|
|
5775
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5776
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5777
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5778
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5779
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5780
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5781
|
+
*
|
|
5782
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5783
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5776
5784
|
*/
|
|
5777
5785
|
async resolveModelsDir() {
|
|
5778
|
-
|
|
5779
|
-
|
|
5780
|
-
|
|
5781
|
-
|
|
5786
|
+
const { join } = await import("node:path");
|
|
5787
|
+
const { promises: fsp } = await import("node:fs");
|
|
5788
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5789
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5790
|
+
return dir;
|
|
5782
5791
|
}
|
|
5783
5792
|
/**
|
|
5784
5793
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -15692,7 +15701,8 @@ method(object({
|
|
|
15692
15701
|
sessionId: string().optional()
|
|
15693
15702
|
}), ConvertResultSchema, {
|
|
15694
15703
|
kind: "mutation",
|
|
15695
|
-
auth: "admin"
|
|
15704
|
+
auth: "admin",
|
|
15705
|
+
timeoutMs: 6e5
|
|
15696
15706
|
});
|
|
15697
15707
|
var AddonHttpRouteSchema = object({
|
|
15698
15708
|
method: _enum([
|
|
@@ -17271,7 +17281,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
17271
17281
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
17272
17282
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
17273
17283
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
17274
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
17284
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
17285
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
17286
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
17287
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
17288
|
+
clipDescription: object({
|
|
17289
|
+
text: string().min(1),
|
|
17290
|
+
minSimilarity: number().min(0).max(1)
|
|
17291
|
+
}).optional()
|
|
17275
17292
|
});
|
|
17276
17293
|
var NotificationRuleTemplateSchema = object({
|
|
17277
17294
|
title: string(),
|
|
@@ -17513,6 +17530,16 @@ var TrackedDetectionSchema = object({
|
|
|
17513
17530
|
zones: array(string()).readonly(),
|
|
17514
17531
|
state: TrackStateSchema
|
|
17515
17532
|
});
|
|
17533
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
17534
|
+
var SearchObjectEventsInput = object({
|
|
17535
|
+
text: string(),
|
|
17536
|
+
deviceId: number().optional(),
|
|
17537
|
+
since: number().optional(),
|
|
17538
|
+
until: number().optional(),
|
|
17539
|
+
classFilter: string().optional(),
|
|
17540
|
+
limit: number().default(50),
|
|
17541
|
+
minScore: number().min(0).max(1).default(.2)
|
|
17542
|
+
});
|
|
17516
17543
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
17517
17544
|
deviceId: number(),
|
|
17518
17545
|
trackId: string()
|
|
@@ -17547,7 +17574,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17547
17574
|
}), method(object({
|
|
17548
17575
|
eventId: string(),
|
|
17549
17576
|
kind: MediaFileKindEnum.optional()
|
|
17550
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
17577
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
17551
17578
|
deviceId: number(),
|
|
17552
17579
|
timestamp: number(),
|
|
17553
17580
|
frameWidth: number(),
|
|
@@ -22526,6 +22553,12 @@ Object.freeze({
|
|
|
22526
22553
|
addonId: null,
|
|
22527
22554
|
access: "create"
|
|
22528
22555
|
},
|
|
22556
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
22557
|
+
capName: "pipeline-analytics",
|
|
22558
|
+
capScope: "device",
|
|
22559
|
+
addonId: null,
|
|
22560
|
+
access: "view"
|
|
22561
|
+
},
|
|
22529
22562
|
"pipelineExecutor.cacheFrameInPool": {
|
|
22530
22563
|
capName: "pipeline-executor",
|
|
22531
22564
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -4650,7 +4650,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4650
4650
|
return inst;
|
|
4651
4651
|
}
|
|
4652
4652
|
//#endregion
|
|
4653
|
-
//#region ../types/dist/sleep-
|
|
4653
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4654
4654
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4655
4655
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4656
4656
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5765,15 +5765,24 @@ var BaseAddon = class {
|
|
|
5765
5765
|
} catch {}
|
|
5766
5766
|
}
|
|
5767
5767
|
/**
|
|
5768
|
-
* Resolve the shared models directory
|
|
5769
|
-
*
|
|
5770
|
-
*
|
|
5768
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5769
|
+
*
|
|
5770
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5771
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5772
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5773
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5774
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5775
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5776
|
+
*
|
|
5777
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5778
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5771
5779
|
*/
|
|
5772
5780
|
async resolveModelsDir() {
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
|
|
5776
|
-
|
|
5781
|
+
const { join } = await import("node:path");
|
|
5782
|
+
const { promises: fsp } = await import("node:fs");
|
|
5783
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5784
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5785
|
+
return dir;
|
|
5777
5786
|
}
|
|
5778
5787
|
/**
|
|
5779
5788
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -15687,7 +15696,8 @@ method(object({
|
|
|
15687
15696
|
sessionId: string().optional()
|
|
15688
15697
|
}), ConvertResultSchema, {
|
|
15689
15698
|
kind: "mutation",
|
|
15690
|
-
auth: "admin"
|
|
15699
|
+
auth: "admin",
|
|
15700
|
+
timeoutMs: 6e5
|
|
15691
15701
|
});
|
|
15692
15702
|
var AddonHttpRouteSchema = object({
|
|
15693
15703
|
method: _enum([
|
|
@@ -17266,7 +17276,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
17266
17276
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
17267
17277
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
17268
17278
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
17269
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
17279
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
17280
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
17281
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
17282
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
17283
|
+
clipDescription: object({
|
|
17284
|
+
text: string().min(1),
|
|
17285
|
+
minSimilarity: number().min(0).max(1)
|
|
17286
|
+
}).optional()
|
|
17270
17287
|
});
|
|
17271
17288
|
var NotificationRuleTemplateSchema = object({
|
|
17272
17289
|
title: string(),
|
|
@@ -17508,6 +17525,16 @@ var TrackedDetectionSchema = object({
|
|
|
17508
17525
|
zones: array(string()).readonly(),
|
|
17509
17526
|
state: TrackStateSchema
|
|
17510
17527
|
});
|
|
17528
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
17529
|
+
var SearchObjectEventsInput = object({
|
|
17530
|
+
text: string(),
|
|
17531
|
+
deviceId: number().optional(),
|
|
17532
|
+
since: number().optional(),
|
|
17533
|
+
until: number().optional(),
|
|
17534
|
+
classFilter: string().optional(),
|
|
17535
|
+
limit: number().default(50),
|
|
17536
|
+
minScore: number().min(0).max(1).default(.2)
|
|
17537
|
+
});
|
|
17511
17538
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
17512
17539
|
deviceId: number(),
|
|
17513
17540
|
trackId: string()
|
|
@@ -17542,7 +17569,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
17542
17569
|
}), method(object({
|
|
17543
17570
|
eventId: string(),
|
|
17544
17571
|
kind: MediaFileKindEnum.optional()
|
|
17545
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
17572
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
17546
17573
|
deviceId: number(),
|
|
17547
17574
|
timestamp: number(),
|
|
17548
17575
|
frameWidth: number(),
|
|
@@ -22521,6 +22548,12 @@ Object.freeze({
|
|
|
22521
22548
|
addonId: null,
|
|
22522
22549
|
access: "create"
|
|
22523
22550
|
},
|
|
22551
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
22552
|
+
capName: "pipeline-analytics",
|
|
22553
|
+
capScope: "device",
|
|
22554
|
+
addonId: null,
|
|
22555
|
+
access: "view"
|
|
22556
|
+
},
|
|
22524
22557
|
"pipelineExecutor.cacheFrameInPool": {
|
|
22525
22558
|
capName: "pipeline-executor",
|
|
22526
22559
|
capScope: "system",
|