@camstack/addon-smtp-nodemailer 1.1.6 → 1.1.8
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 +91 -15
- package/dist/smtp.addon.mjs +91 -15
- 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-DVmKHFGi.mjs
|
|
4669
4669
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4670
4670
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4671
4671
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -6465,6 +6465,17 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
6465
6465
|
DeviceRole["HumiditySensor"] = "humidity-sensor";
|
|
6466
6466
|
DeviceRole["AmbientLightSensor"] = "ambient-light-sensor";
|
|
6467
6467
|
DeviceRole["PressureSensor"] = "pressure-sensor";
|
|
6468
|
+
/** Wind speed or direction (weather-station `wind-sensor` cap). */
|
|
6469
|
+
DeviceRole["WindSensor"] = "wind-sensor";
|
|
6470
|
+
/** Rain accumulation or rate (weather-station `rain-sensor` cap). */
|
|
6471
|
+
DeviceRole["RainSensor"] = "rain-sensor";
|
|
6472
|
+
/** UV index (weather-station `uv-sensor` cap). */
|
|
6473
|
+
DeviceRole["UvSensor"] = "uv-sensor";
|
|
6474
|
+
/** Solar irradiance W/m² (weather-station `solar-radiation-sensor` cap).
|
|
6475
|
+
* Distinct from AmbientLightSensor (lux). */
|
|
6476
|
+
DeviceRole["SolarRadiationSensor"] = "solar-radiation-sensor";
|
|
6477
|
+
/** Soil moisture % (garden/weather `soil-moisture-sensor` cap). */
|
|
6478
|
+
DeviceRole["SoilMoistureSensor"] = "soil-moisture-sensor";
|
|
6468
6479
|
DeviceRole["PowerSensor"] = "power-sensor";
|
|
6469
6480
|
DeviceRole["EnergySensor"] = "energy-sensor";
|
|
6470
6481
|
DeviceRole["VoltageSensor"] = "voltage-sensor";
|
|
@@ -8983,18 +8994,47 @@ object({
|
|
|
8983
8994
|
lastUpdated: number().nullable()
|
|
8984
8995
|
});
|
|
8985
8996
|
DeviceType.Image;
|
|
8997
|
+
/**
|
|
8998
|
+
* Robotic lawn-mower cap. Models HA `lawn_mower.*` entities — anything
|
|
8999
|
+
* with a mowing lifecycle plus a dock action.
|
|
9000
|
+
*
|
|
9001
|
+
* Activity follows HA's canonical lawn-mower lifecycle: `idle` /
|
|
9002
|
+
* `mowing` / `paused` / `docked` / `error`. `batteryLevel` (0..100) is
|
|
9003
|
+
* nullable — some mowers don't report a battery percentage.
|
|
9004
|
+
*
|
|
9005
|
+
* `startMowing` begins a mowing run, `pause` halts it in place, and
|
|
9006
|
+
* `dock` sends the mower back to its charging station.
|
|
9007
|
+
*/
|
|
9008
|
+
var LawnMowerActivitySchema = _enum([
|
|
9009
|
+
"idle",
|
|
9010
|
+
"mowing",
|
|
9011
|
+
"paused",
|
|
9012
|
+
"docked",
|
|
9013
|
+
"error"
|
|
9014
|
+
]);
|
|
9015
|
+
/** Severity of the current device/error code — info (status), warning, error. */
|
|
9016
|
+
var DeviceCodeSeveritySchema = _enum([
|
|
9017
|
+
"info",
|
|
9018
|
+
"warning",
|
|
9019
|
+
"error"
|
|
9020
|
+
]);
|
|
8986
9021
|
object({
|
|
8987
9022
|
/** Lifecycle activity of the mower. */
|
|
8988
|
-
activity:
|
|
8989
|
-
"idle",
|
|
8990
|
-
"mowing",
|
|
8991
|
-
"paused",
|
|
8992
|
-
"docked",
|
|
8993
|
-
"error"
|
|
8994
|
-
]),
|
|
9023
|
+
activity: LawnMowerActivitySchema,
|
|
8995
9024
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
8996
9025
|
* reading. */
|
|
8997
9026
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
9027
|
+
/** 0..100 mowing-completion percentage of the current task, or null when no
|
|
9028
|
+
* task is active / progress is unavailable. */
|
|
9029
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
9030
|
+
/** Current device/event code (dynamic — mostly status, sometimes an error),
|
|
9031
|
+
* or null when unknown. */
|
|
9032
|
+
currentCode: number().nullable(),
|
|
9033
|
+
/** Human label for {@link currentCode}, or null when undecodable. */
|
|
9034
|
+
currentCodeLabel: string().nullable(),
|
|
9035
|
+
/** Severity of {@link currentCode}. `error` (and often `warning`) warrants UI
|
|
9036
|
+
* attention; `info` is normal status. */
|
|
9037
|
+
severity: DeviceCodeSeveritySchema,
|
|
8998
9038
|
/** Ms epoch when the slice was last updated. */
|
|
8999
9039
|
lastChangedAt: number()
|
|
9000
9040
|
});
|
|
@@ -10569,6 +10609,7 @@ var VacuumStateSchema = _enum([
|
|
|
10569
10609
|
"paused",
|
|
10570
10610
|
"returning",
|
|
10571
10611
|
"docked",
|
|
10612
|
+
"drying",
|
|
10572
10613
|
"error"
|
|
10573
10614
|
]);
|
|
10574
10615
|
/**
|
|
@@ -10607,6 +10648,12 @@ object({
|
|
|
10607
10648
|
detergent: TankStatusSchema.nullable(),
|
|
10608
10649
|
/** Dust bin. Null when the hardware has no dust bin. */
|
|
10609
10650
|
dustBin: TankStatusSchema.nullable(),
|
|
10651
|
+
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
10652
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
10653
|
+
/** Current error code (0 / null = no error). */
|
|
10654
|
+
errorCode: number().nullable(),
|
|
10655
|
+
/** Human label for {@link errorCode}, or null when none / undecodable. */
|
|
10656
|
+
errorLabel: string().nullable(),
|
|
10610
10657
|
/** Ms epoch when the slice was last updated. */
|
|
10611
10658
|
lastChangedAt: number()
|
|
10612
10659
|
});
|
|
@@ -12061,17 +12108,32 @@ var ReleaseInputSchema = object({
|
|
|
12061
12108
|
* the parent cascades into every accessory. */
|
|
12062
12109
|
camDeviceId: number().int().nonnegative()
|
|
12063
12110
|
});
|
|
12064
|
-
var ResyncInputSchema = object({
|
|
12065
|
-
/** Parent CamStack device id of an adopted device. The provider resolves its
|
|
12066
|
-
* source (integration/broker + native id) and re-aligns the device's
|
|
12067
|
-
* structural spec (type/role/capabilities/units) with the live mapping,
|
|
12068
|
-
* rebuilding any child whose class changed while preserving operator edits. */
|
|
12069
|
-
camDeviceId: number().int().nonnegative()
|
|
12111
|
+
var ResyncInputSchema = object({
|
|
12112
|
+
/** Parent CamStack device id of an adopted device. The provider resolves its
|
|
12113
|
+
* source (integration/broker + native id) and re-aligns the device's
|
|
12114
|
+
* structural spec (type/role/capabilities/units) with the live mapping,
|
|
12115
|
+
* rebuilding any child whose class changed while preserving operator edits. */
|
|
12116
|
+
camDeviceId: number().int().nonnegative(),
|
|
12117
|
+
/** "Resync from zero" (#19). When true, the kernel PURGES every accessory
|
|
12118
|
+
* child of `camDeviceId` BEFORE the provider re-derives the device, so the
|
|
12119
|
+
* children are rebuilt fresh from source — correct names, coords, and units —
|
|
12120
|
+
* instead of being preserved by the incremental reconcile. Use to recover from
|
|
12121
|
+
* legacy generic/placeholder names that the normal name-precedence keeps frozen
|
|
12122
|
+
* (the operator's explicit reset). Push-driven integrations (no-op resync)
|
|
12123
|
+
* rebuild on their next snapshot; pull/command integrations rebuild in `resync`.
|
|
12124
|
+
* Operator edits on the PARENT (its name, layout, primary-child pick) survive —
|
|
12125
|
+
* only the children are torn down. Omitted/false ⇒ the normal incremental
|
|
12126
|
+
* re-sync that preserves children. */
|
|
12127
|
+
resetToSource: boolean().optional()
|
|
12128
|
+
});
|
|
12070
12129
|
var ResyncResultSchema = object({
|
|
12071
12130
|
/** True when the persisted spec actually changed (children may have been rebuilt). */
|
|
12072
12131
|
changed: boolean(),
|
|
12073
12132
|
/** Number of child devices rebuilt into a new class by this re-sync. */
|
|
12074
|
-
rebuiltChildren: number().int().nonnegative()
|
|
12133
|
+
rebuiltChildren: number().int().nonnegative(),
|
|
12134
|
+
/** Number of accessory children torn down by a `resetToSource` purge before the
|
|
12135
|
+
* provider re-derived the device. 0/absent for a normal incremental re-sync. */
|
|
12136
|
+
removedChildren: number().int().nonnegative().optional()
|
|
12075
12137
|
});
|
|
12076
12138
|
method(object({ integrationId: string() }), object({ filters: array(AdoptionFilterSchema) }), { auth: "admin" }), method(ListCandidatesInputSchema, ListCandidatesOutputSchema, { auth: "admin" }), method(GetCandidateInputSchema, DiscoveredChildDeviceSchema.nullable(), { auth: "admin" }), method(object({ integrationId: string() }), AdoptionStatusSchema, {
|
|
12077
12139
|
kind: "mutation",
|
|
@@ -13770,6 +13832,11 @@ var DeviceMetaSchema = object({
|
|
|
13770
13832
|
addonId: string(),
|
|
13771
13833
|
type: string(),
|
|
13772
13834
|
name: string(),
|
|
13835
|
+
/** True once an operator explicitly renamed the device via `setName`. Drives
|
|
13836
|
+
* reconcile name-precedence (preserve operator name vs adopt fresh provider
|
|
13837
|
+
* name). Absent ⇒ treated as user-named (PRESERVE) for legacy rows. See
|
|
13838
|
+
* `DeviceMeta.userNamed`. */
|
|
13839
|
+
userNamed: boolean().optional(),
|
|
13773
13840
|
location: string().nullable(),
|
|
13774
13841
|
disabled: boolean(),
|
|
13775
13842
|
parentDeviceId: number().nullable(),
|
|
@@ -14080,6 +14147,9 @@ method(object({
|
|
|
14080
14147
|
}), method(ReleaseInputSchema.extend({ addonId: string() }), _void(), {
|
|
14081
14148
|
kind: "mutation",
|
|
14082
14149
|
auth: "admin"
|
|
14150
|
+
}), method(ResyncInputSchema, ResyncResultSchema, {
|
|
14151
|
+
kind: "mutation",
|
|
14152
|
+
auth: "admin"
|
|
14083
14153
|
}), method(object({
|
|
14084
14154
|
deviceId: number(),
|
|
14085
14155
|
key: string(),
|
|
@@ -17842,6 +17912,12 @@ Object.freeze({
|
|
|
17842
17912
|
addonId: null,
|
|
17843
17913
|
access: "create"
|
|
17844
17914
|
},
|
|
17915
|
+
"deviceManager.adoptionResync": {
|
|
17916
|
+
capName: "device-manager",
|
|
17917
|
+
capScope: "system",
|
|
17918
|
+
addonId: null,
|
|
17919
|
+
access: "create"
|
|
17920
|
+
},
|
|
17845
17921
|
"deviceManager.allocateDeviceId": {
|
|
17846
17922
|
capName: "device-manager",
|
|
17847
17923
|
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-DVmKHFGi.mjs
|
|
4667
4667
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
4668
4668
|
EventCategory["SystemBoot"] = "system.boot";
|
|
4669
4669
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -6463,6 +6463,17 @@ var DeviceRole = /* @__PURE__ */ function(DeviceRole) {
|
|
|
6463
6463
|
DeviceRole["HumiditySensor"] = "humidity-sensor";
|
|
6464
6464
|
DeviceRole["AmbientLightSensor"] = "ambient-light-sensor";
|
|
6465
6465
|
DeviceRole["PressureSensor"] = "pressure-sensor";
|
|
6466
|
+
/** Wind speed or direction (weather-station `wind-sensor` cap). */
|
|
6467
|
+
DeviceRole["WindSensor"] = "wind-sensor";
|
|
6468
|
+
/** Rain accumulation or rate (weather-station `rain-sensor` cap). */
|
|
6469
|
+
DeviceRole["RainSensor"] = "rain-sensor";
|
|
6470
|
+
/** UV index (weather-station `uv-sensor` cap). */
|
|
6471
|
+
DeviceRole["UvSensor"] = "uv-sensor";
|
|
6472
|
+
/** Solar irradiance W/m² (weather-station `solar-radiation-sensor` cap).
|
|
6473
|
+
* Distinct from AmbientLightSensor (lux). */
|
|
6474
|
+
DeviceRole["SolarRadiationSensor"] = "solar-radiation-sensor";
|
|
6475
|
+
/** Soil moisture % (garden/weather `soil-moisture-sensor` cap). */
|
|
6476
|
+
DeviceRole["SoilMoistureSensor"] = "soil-moisture-sensor";
|
|
6466
6477
|
DeviceRole["PowerSensor"] = "power-sensor";
|
|
6467
6478
|
DeviceRole["EnergySensor"] = "energy-sensor";
|
|
6468
6479
|
DeviceRole["VoltageSensor"] = "voltage-sensor";
|
|
@@ -8981,18 +8992,47 @@ object({
|
|
|
8981
8992
|
lastUpdated: number().nullable()
|
|
8982
8993
|
});
|
|
8983
8994
|
DeviceType.Image;
|
|
8995
|
+
/**
|
|
8996
|
+
* Robotic lawn-mower cap. Models HA `lawn_mower.*` entities — anything
|
|
8997
|
+
* with a mowing lifecycle plus a dock action.
|
|
8998
|
+
*
|
|
8999
|
+
* Activity follows HA's canonical lawn-mower lifecycle: `idle` /
|
|
9000
|
+
* `mowing` / `paused` / `docked` / `error`. `batteryLevel` (0..100) is
|
|
9001
|
+
* nullable — some mowers don't report a battery percentage.
|
|
9002
|
+
*
|
|
9003
|
+
* `startMowing` begins a mowing run, `pause` halts it in place, and
|
|
9004
|
+
* `dock` sends the mower back to its charging station.
|
|
9005
|
+
*/
|
|
9006
|
+
var LawnMowerActivitySchema = _enum([
|
|
9007
|
+
"idle",
|
|
9008
|
+
"mowing",
|
|
9009
|
+
"paused",
|
|
9010
|
+
"docked",
|
|
9011
|
+
"error"
|
|
9012
|
+
]);
|
|
9013
|
+
/** Severity of the current device/error code — info (status), warning, error. */
|
|
9014
|
+
var DeviceCodeSeveritySchema = _enum([
|
|
9015
|
+
"info",
|
|
9016
|
+
"warning",
|
|
9017
|
+
"error"
|
|
9018
|
+
]);
|
|
8984
9019
|
object({
|
|
8985
9020
|
/** Lifecycle activity of the mower. */
|
|
8986
|
-
activity:
|
|
8987
|
-
"idle",
|
|
8988
|
-
"mowing",
|
|
8989
|
-
"paused",
|
|
8990
|
-
"docked",
|
|
8991
|
-
"error"
|
|
8992
|
-
]),
|
|
9021
|
+
activity: LawnMowerActivitySchema,
|
|
8993
9022
|
/** 0..100 battery percentage. Null when the device has no battery
|
|
8994
9023
|
* reading. */
|
|
8995
9024
|
batteryLevel: number().min(0).max(100).nullable(),
|
|
9025
|
+
/** 0..100 mowing-completion percentage of the current task, or null when no
|
|
9026
|
+
* task is active / progress is unavailable. */
|
|
9027
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
9028
|
+
/** Current device/event code (dynamic — mostly status, sometimes an error),
|
|
9029
|
+
* or null when unknown. */
|
|
9030
|
+
currentCode: number().nullable(),
|
|
9031
|
+
/** Human label for {@link currentCode}, or null when undecodable. */
|
|
9032
|
+
currentCodeLabel: string().nullable(),
|
|
9033
|
+
/** Severity of {@link currentCode}. `error` (and often `warning`) warrants UI
|
|
9034
|
+
* attention; `info` is normal status. */
|
|
9035
|
+
severity: DeviceCodeSeveritySchema,
|
|
8996
9036
|
/** Ms epoch when the slice was last updated. */
|
|
8997
9037
|
lastChangedAt: number()
|
|
8998
9038
|
});
|
|
@@ -10567,6 +10607,7 @@ var VacuumStateSchema = _enum([
|
|
|
10567
10607
|
"paused",
|
|
10568
10608
|
"returning",
|
|
10569
10609
|
"docked",
|
|
10610
|
+
"drying",
|
|
10570
10611
|
"error"
|
|
10571
10612
|
]);
|
|
10572
10613
|
/**
|
|
@@ -10605,6 +10646,12 @@ object({
|
|
|
10605
10646
|
detergent: TankStatusSchema.nullable(),
|
|
10606
10647
|
/** Dust bin. Null when the hardware has no dust bin. */
|
|
10607
10648
|
dustBin: TankStatusSchema.nullable(),
|
|
10649
|
+
/** 0..100 cleaning-completion percentage of the current task, or null. */
|
|
10650
|
+
progressPercent: number().min(0).max(100).nullable(),
|
|
10651
|
+
/** Current error code (0 / null = no error). */
|
|
10652
|
+
errorCode: number().nullable(),
|
|
10653
|
+
/** Human label for {@link errorCode}, or null when none / undecodable. */
|
|
10654
|
+
errorLabel: string().nullable(),
|
|
10608
10655
|
/** Ms epoch when the slice was last updated. */
|
|
10609
10656
|
lastChangedAt: number()
|
|
10610
10657
|
});
|
|
@@ -12059,17 +12106,32 @@ var ReleaseInputSchema = object({
|
|
|
12059
12106
|
* the parent cascades into every accessory. */
|
|
12060
12107
|
camDeviceId: number().int().nonnegative()
|
|
12061
12108
|
});
|
|
12062
|
-
var ResyncInputSchema = object({
|
|
12063
|
-
/** Parent CamStack device id of an adopted device. The provider resolves its
|
|
12064
|
-
* source (integration/broker + native id) and re-aligns the device's
|
|
12065
|
-
* structural spec (type/role/capabilities/units) with the live mapping,
|
|
12066
|
-
* rebuilding any child whose class changed while preserving operator edits. */
|
|
12067
|
-
camDeviceId: number().int().nonnegative()
|
|
12109
|
+
var ResyncInputSchema = object({
|
|
12110
|
+
/** Parent CamStack device id of an adopted device. The provider resolves its
|
|
12111
|
+
* source (integration/broker + native id) and re-aligns the device's
|
|
12112
|
+
* structural spec (type/role/capabilities/units) with the live mapping,
|
|
12113
|
+
* rebuilding any child whose class changed while preserving operator edits. */
|
|
12114
|
+
camDeviceId: number().int().nonnegative(),
|
|
12115
|
+
/** "Resync from zero" (#19). When true, the kernel PURGES every accessory
|
|
12116
|
+
* child of `camDeviceId` BEFORE the provider re-derives the device, so the
|
|
12117
|
+
* children are rebuilt fresh from source — correct names, coords, and units —
|
|
12118
|
+
* instead of being preserved by the incremental reconcile. Use to recover from
|
|
12119
|
+
* legacy generic/placeholder names that the normal name-precedence keeps frozen
|
|
12120
|
+
* (the operator's explicit reset). Push-driven integrations (no-op resync)
|
|
12121
|
+
* rebuild on their next snapshot; pull/command integrations rebuild in `resync`.
|
|
12122
|
+
* Operator edits on the PARENT (its name, layout, primary-child pick) survive —
|
|
12123
|
+
* only the children are torn down. Omitted/false ⇒ the normal incremental
|
|
12124
|
+
* re-sync that preserves children. */
|
|
12125
|
+
resetToSource: boolean().optional()
|
|
12126
|
+
});
|
|
12068
12127
|
var ResyncResultSchema = object({
|
|
12069
12128
|
/** True when the persisted spec actually changed (children may have been rebuilt). */
|
|
12070
12129
|
changed: boolean(),
|
|
12071
12130
|
/** Number of child devices rebuilt into a new class by this re-sync. */
|
|
12072
|
-
rebuiltChildren: number().int().nonnegative()
|
|
12131
|
+
rebuiltChildren: number().int().nonnegative(),
|
|
12132
|
+
/** Number of accessory children torn down by a `resetToSource` purge before the
|
|
12133
|
+
* provider re-derived the device. 0/absent for a normal incremental re-sync. */
|
|
12134
|
+
removedChildren: number().int().nonnegative().optional()
|
|
12073
12135
|
});
|
|
12074
12136
|
method(object({ integrationId: string() }), object({ filters: array(AdoptionFilterSchema) }), { auth: "admin" }), method(ListCandidatesInputSchema, ListCandidatesOutputSchema, { auth: "admin" }), method(GetCandidateInputSchema, DiscoveredChildDeviceSchema.nullable(), { auth: "admin" }), method(object({ integrationId: string() }), AdoptionStatusSchema, {
|
|
12075
12137
|
kind: "mutation",
|
|
@@ -13768,6 +13830,11 @@ var DeviceMetaSchema = object({
|
|
|
13768
13830
|
addonId: string(),
|
|
13769
13831
|
type: string(),
|
|
13770
13832
|
name: string(),
|
|
13833
|
+
/** True once an operator explicitly renamed the device via `setName`. Drives
|
|
13834
|
+
* reconcile name-precedence (preserve operator name vs adopt fresh provider
|
|
13835
|
+
* name). Absent ⇒ treated as user-named (PRESERVE) for legacy rows. See
|
|
13836
|
+
* `DeviceMeta.userNamed`. */
|
|
13837
|
+
userNamed: boolean().optional(),
|
|
13771
13838
|
location: string().nullable(),
|
|
13772
13839
|
disabled: boolean(),
|
|
13773
13840
|
parentDeviceId: number().nullable(),
|
|
@@ -14078,6 +14145,9 @@ method(object({
|
|
|
14078
14145
|
}), method(ReleaseInputSchema.extend({ addonId: string() }), _void(), {
|
|
14079
14146
|
kind: "mutation",
|
|
14080
14147
|
auth: "admin"
|
|
14148
|
+
}), method(ResyncInputSchema, ResyncResultSchema, {
|
|
14149
|
+
kind: "mutation",
|
|
14150
|
+
auth: "admin"
|
|
14081
14151
|
}), method(object({
|
|
14082
14152
|
deviceId: number(),
|
|
14083
14153
|
key: string(),
|
|
@@ -17840,6 +17910,12 @@ Object.freeze({
|
|
|
17840
17910
|
addonId: null,
|
|
17841
17911
|
access: "create"
|
|
17842
17912
|
},
|
|
17913
|
+
"deviceManager.adoptionResync": {
|
|
17914
|
+
capName: "device-manager",
|
|
17915
|
+
capScope: "system",
|
|
17916
|
+
addonId: null,
|
|
17917
|
+
access: "create"
|
|
17918
|
+
},
|
|
17843
17919
|
"deviceManager.allocateDeviceId": {
|
|
17844
17920
|
capName: "device-manager",
|
|
17845
17921
|
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.8",
|
|
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",
|