@camstack/addon-smtp-nodemailer 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/smtp.addon.js +44 -11
- package/dist/smtp.addon.mjs +44 -11
- package/package.json +1 -1
package/dist/smtp.addon.js
CHANGED
|
@@ -4665,7 +4665,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4665
4665
|
return inst;
|
|
4666
4666
|
}
|
|
4667
4667
|
//#endregion
|
|
4668
|
-
//#region ../types/dist/sleep-
|
|
4668
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4669
4669
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4670
4670
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4671
4671
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5780,15 +5780,24 @@ var BaseAddon = class {
|
|
|
5780
5780
|
} catch {}
|
|
5781
5781
|
}
|
|
5782
5782
|
/**
|
|
5783
|
-
* Resolve the shared models directory
|
|
5784
|
-
*
|
|
5785
|
-
*
|
|
5783
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5784
|
+
*
|
|
5785
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5786
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5787
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5788
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5789
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5790
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5791
|
+
*
|
|
5792
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5793
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5786
5794
|
*/
|
|
5787
5795
|
async resolveModelsDir() {
|
|
5788
|
-
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
|
|
5796
|
+
const { join } = await import("node:path");
|
|
5797
|
+
const { promises: fsp } = await import("node:fs");
|
|
5798
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5799
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5800
|
+
return dir;
|
|
5792
5801
|
}
|
|
5793
5802
|
/**
|
|
5794
5803
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -12697,7 +12706,8 @@ method(object({
|
|
|
12697
12706
|
sessionId: string().optional()
|
|
12698
12707
|
}), ConvertResultSchema, {
|
|
12699
12708
|
kind: "mutation",
|
|
12700
|
-
auth: "admin"
|
|
12709
|
+
auth: "admin",
|
|
12710
|
+
timeoutMs: 6e5
|
|
12701
12711
|
});
|
|
12702
12712
|
var AddonHttpRouteSchema = object({
|
|
12703
12713
|
method: _enum([
|
|
@@ -14233,7 +14243,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
14233
14243
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
14234
14244
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
14235
14245
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
14236
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
14246
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
14247
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
14248
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
14249
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
14250
|
+
clipDescription: object({
|
|
14251
|
+
text: string().min(1),
|
|
14252
|
+
minSimilarity: number().min(0).max(1)
|
|
14253
|
+
}).optional()
|
|
14237
14254
|
});
|
|
14238
14255
|
var NotificationRuleTemplateSchema = object({
|
|
14239
14256
|
title: string(),
|
|
@@ -14475,6 +14492,16 @@ var TrackedDetectionSchema = object({
|
|
|
14475
14492
|
zones: array(string()).readonly(),
|
|
14476
14493
|
state: TrackStateSchema
|
|
14477
14494
|
});
|
|
14495
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
14496
|
+
var SearchObjectEventsInput = object({
|
|
14497
|
+
text: string(),
|
|
14498
|
+
deviceId: number().optional(),
|
|
14499
|
+
since: number().optional(),
|
|
14500
|
+
until: number().optional(),
|
|
14501
|
+
classFilter: string().optional(),
|
|
14502
|
+
limit: number().default(50),
|
|
14503
|
+
minScore: number().min(0).max(1).default(.2)
|
|
14504
|
+
});
|
|
14478
14505
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
14479
14506
|
deviceId: number(),
|
|
14480
14507
|
trackId: string()
|
|
@@ -14509,7 +14536,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
14509
14536
|
}), method(object({
|
|
14510
14537
|
eventId: string(),
|
|
14511
14538
|
kind: MediaFileKindEnum.optional()
|
|
14512
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
14539
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
14513
14540
|
deviceId: number(),
|
|
14514
14541
|
timestamp: number(),
|
|
14515
14542
|
frameWidth: number(),
|
|
@@ -19159,6 +19186,12 @@ Object.freeze({
|
|
|
19159
19186
|
addonId: null,
|
|
19160
19187
|
access: "create"
|
|
19161
19188
|
},
|
|
19189
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
19190
|
+
capName: "pipeline-analytics",
|
|
19191
|
+
capScope: "device",
|
|
19192
|
+
addonId: null,
|
|
19193
|
+
access: "view"
|
|
19194
|
+
},
|
|
19162
19195
|
"pipelineExecutor.cacheFrameInPool": {
|
|
19163
19196
|
capName: "pipeline-executor",
|
|
19164
19197
|
capScope: "system",
|
package/dist/smtp.addon.mjs
CHANGED
|
@@ -4663,7 +4663,7 @@ function _instanceof(cls, params = {}) {
|
|
|
4663
4663
|
return inst;
|
|
4664
4664
|
}
|
|
4665
4665
|
//#endregion
|
|
4666
|
-
//#region ../types/dist/sleep-
|
|
4666
|
+
//#region ../types/dist/sleep-NOH4yRwj.mjs
|
|
4667
4667
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4668
4668
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4669
4669
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -5778,15 +5778,24 @@ var BaseAddon = class {
|
|
|
5778
5778
|
} catch {}
|
|
5779
5779
|
}
|
|
5780
5780
|
/**
|
|
5781
|
-
* Resolve the shared models directory
|
|
5782
|
-
*
|
|
5783
|
-
*
|
|
5781
|
+
* Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
|
|
5782
|
+
*
|
|
5783
|
+
* This is the SINGLE centralized models-dir resolver for every inference addon
|
|
5784
|
+
* (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
|
|
5785
|
+
* anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
|
|
5786
|
+
* `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
|
|
5787
|
+
* cap, which returns the hub's `/data/models` to every node and breaks any node
|
|
5788
|
+
* whose real data dir differs (e.g. the macOS electron agent).
|
|
5789
|
+
*
|
|
5790
|
+
* `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
|
|
5791
|
+
* barrel (re-exported into browser bundles) stays free of node builtins.
|
|
5784
5792
|
*/
|
|
5785
5793
|
async resolveModelsDir() {
|
|
5786
|
-
|
|
5787
|
-
|
|
5788
|
-
|
|
5789
|
-
|
|
5794
|
+
const { join } = await import("node:path");
|
|
5795
|
+
const { promises: fsp } = await import("node:fs");
|
|
5796
|
+
const dir = join(this.ctx.nodeDataDir, "models");
|
|
5797
|
+
await fsp.mkdir(dir, { recursive: true });
|
|
5798
|
+
return dir;
|
|
5790
5799
|
}
|
|
5791
5800
|
/**
|
|
5792
5801
|
* Access the runtime capability registry for in-process provider lookups.
|
|
@@ -12695,7 +12704,8 @@ method(object({
|
|
|
12695
12704
|
sessionId: string().optional()
|
|
12696
12705
|
}), ConvertResultSchema, {
|
|
12697
12706
|
kind: "mutation",
|
|
12698
|
-
auth: "admin"
|
|
12707
|
+
auth: "admin",
|
|
12708
|
+
timeoutMs: 6e5
|
|
12699
12709
|
});
|
|
12700
12710
|
var AddonHttpRouteSchema = object({
|
|
12701
12711
|
method: _enum([
|
|
@@ -14231,7 +14241,14 @@ var NotificationRuleConditionsSchema = object({
|
|
|
14231
14241
|
/** Match against `event.data.eventType` token (e.g. `'press_long'`). When non-empty, only events
|
|
14232
14242
|
* carrying a matching `data.eventType` string pass this condition. Rules without this field are
|
|
14233
14243
|
* unaffected (back-compat). Distinct from `rule.eventTypes` which holds EventCategory strings. */
|
|
14234
|
-
eventTypeTokens: array(string()).readonly().optional()
|
|
14244
|
+
eventTypeTokens: array(string()).readonly().optional(),
|
|
14245
|
+
/** Match detections whose CLIP image embedding is semantically similar to this free-text
|
|
14246
|
+
* description. Requires the embedding-encoder cap to have pre-warmed the text vector.
|
|
14247
|
+
* `minSimilarity` is the cosine similarity threshold in [0, 1]. */
|
|
14248
|
+
clipDescription: object({
|
|
14249
|
+
text: string().min(1),
|
|
14250
|
+
minSimilarity: number().min(0).max(1)
|
|
14251
|
+
}).optional()
|
|
14235
14252
|
});
|
|
14236
14253
|
var NotificationRuleTemplateSchema = object({
|
|
14237
14254
|
title: string(),
|
|
@@ -14473,6 +14490,16 @@ var TrackedDetectionSchema = object({
|
|
|
14473
14490
|
zones: array(string()).readonly(),
|
|
14474
14491
|
state: TrackStateSchema
|
|
14475
14492
|
});
|
|
14493
|
+
var ScoredObjectEventSchema = ObjectEventSchema.extend({ score: number() });
|
|
14494
|
+
var SearchObjectEventsInput = object({
|
|
14495
|
+
text: string(),
|
|
14496
|
+
deviceId: number().optional(),
|
|
14497
|
+
since: number().optional(),
|
|
14498
|
+
until: number().optional(),
|
|
14499
|
+
classFilter: string().optional(),
|
|
14500
|
+
limit: number().default(50),
|
|
14501
|
+
minScore: number().min(0).max(1).default(.2)
|
|
14502
|
+
});
|
|
14476
14503
|
DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).readonly()), method(object({
|
|
14477
14504
|
deviceId: number(),
|
|
14478
14505
|
trackId: string()
|
|
@@ -14507,7 +14534,7 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
14507
14534
|
}), method(object({
|
|
14508
14535
|
eventId: string(),
|
|
14509
14536
|
kind: MediaFileKindEnum.optional()
|
|
14510
|
-
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), object({
|
|
14537
|
+
}), array(MediaFileSchema).readonly()), method(object({ trackId: string() }), array(MediaFileSchema).readonly()), method(SearchObjectEventsInput, array(ScoredObjectEventSchema).readonly()), object({
|
|
14511
14538
|
deviceId: number(),
|
|
14512
14539
|
timestamp: number(),
|
|
14513
14540
|
frameWidth: number(),
|
|
@@ -19157,6 +19184,12 @@ Object.freeze({
|
|
|
19157
19184
|
addonId: null,
|
|
19158
19185
|
access: "create"
|
|
19159
19186
|
},
|
|
19187
|
+
"pipelineAnalytics.searchObjectEvents": {
|
|
19188
|
+
capName: "pipeline-analytics",
|
|
19189
|
+
capScope: "device",
|
|
19190
|
+
addonId: null,
|
|
19191
|
+
access: "view"
|
|
19192
|
+
},
|
|
19160
19193
|
"pipelineExecutor.cacheFrameInPool": {
|
|
19161
19194
|
capName: "pipeline-executor",
|
|
19162
19195
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-smtp-nodemailer",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.5",
|
|
4
4
|
"description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|