@camstack/addon-provider-tuya 0.2.77 → 0.2.78
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 +33 -14
- package/dist/addon.mjs +33 -14
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -11369,12 +11369,30 @@ var BackupDestinationInfoSchema = object({
|
|
|
11369
11369
|
lastSuccessAt: number().optional(),
|
|
11370
11370
|
/** Newest-archive size from `manifests.json`, or undefined. */
|
|
11371
11371
|
lastSuccessSizeBytes: number().optional(),
|
|
11372
|
-
/**
|
|
11372
|
+
/**
|
|
11373
|
+
* Cron cadence(s) of the ENABLED schedules that fan out to this
|
|
11374
|
+
* destination, comma-joined. Absent when no enabled schedule targets it
|
|
11375
|
+
* — a destination nothing is scheduled to write to must not advertise a
|
|
11376
|
+
* cadence (D384). This is never the `backup_destination_policies.cron`
|
|
11377
|
+
* column: that per-location cron has scheduled nothing since 2026-07-28
|
|
11378
|
+
* and reading it made a destination with a DISABLED schedule claim a
|
|
11379
|
+
* nightly run.
|
|
11380
|
+
*/
|
|
11373
11381
|
cron: string().optional(),
|
|
11374
|
-
/** ms-epoch of next
|
|
11382
|
+
/** ms-epoch of the next firing across those schedules (earliest), if any. */
|
|
11375
11383
|
nextRunAt: number().optional(),
|
|
11376
|
-
/**
|
|
11377
|
-
|
|
11384
|
+
/**
|
|
11385
|
+
* ms-epoch of the last time a run ATTEMPTED to write here — success or
|
|
11386
|
+
* failure. Never a success stamp: pair it with `lastSuccessAt` (the
|
|
11387
|
+
* newest archive that actually landed) and `lastError`.
|
|
11388
|
+
*/
|
|
11389
|
+
lastAttemptAt: number().optional(),
|
|
11390
|
+
/**
|
|
11391
|
+
* Why the last attempt failed, verbatim. Absent when the last attempt
|
|
11392
|
+
* landed the archive. A destination that has never been written to has
|
|
11393
|
+
* neither this nor `lastAttemptAt`.
|
|
11394
|
+
*/
|
|
11395
|
+
lastError: string().optional()
|
|
11378
11396
|
});
|
|
11379
11397
|
/**
|
|
11380
11398
|
* Per-archive entry returned by `backup.listArchives({ destinationId })`.
|
|
@@ -11537,8 +11555,16 @@ var BackupScheduleSchema = object({
|
|
|
11537
11555
|
retentionCount: number().int().min(1).max(1e3),
|
|
11538
11556
|
/** Optional subset of source locations to include; omitted = all. */
|
|
11539
11557
|
dataSources: array(string()).readonly().optional(),
|
|
11540
|
-
/**
|
|
11541
|
-
|
|
11558
|
+
/**
|
|
11559
|
+
* ms-epoch of the last tick that FIRED this schedule. Stamped before the
|
|
11560
|
+
* archive runs (it is the dedupe anchor), so it says "attempted", never
|
|
11561
|
+
* "succeeded" — a run refused by every destination stamps it too.
|
|
11562
|
+
*/
|
|
11563
|
+
lastAttemptAt: number().optional(),
|
|
11564
|
+
/** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
|
|
11565
|
+
lastSuccessAt: number().optional(),
|
|
11566
|
+
/** Why the last fired run failed, verbatim. Absent when it succeeded. */
|
|
11567
|
+
lastError: string().optional(),
|
|
11542
11568
|
/** ms-epoch of next computed firing (read-only, filled on list). */
|
|
11543
11569
|
nextRunAt: number().optional()
|
|
11544
11570
|
});
|
|
@@ -11587,14 +11613,7 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
11587
11613
|
locationId: string(),
|
|
11588
11614
|
enabled: boolean(),
|
|
11589
11615
|
retentionCount: number().int().min(1).max(1e3),
|
|
11590
|
-
label: string().optional()
|
|
11591
|
-
/**
|
|
11592
|
-
* Per-destination cron expression. Empty string clears the
|
|
11593
|
-
* schedule (manual-only). Validated server-side via croner;
|
|
11594
|
-
* malformed expressions reject the upsert with an actionable
|
|
11595
|
-
* message.
|
|
11596
|
-
*/
|
|
11597
|
-
cron: string().optional()
|
|
11616
|
+
label: string().optional()
|
|
11598
11617
|
}), _void(), {
|
|
11599
11618
|
kind: "mutation",
|
|
11600
11619
|
auth: "admin"
|
package/dist/addon.mjs
CHANGED
|
@@ -11368,12 +11368,30 @@ var BackupDestinationInfoSchema = object({
|
|
|
11368
11368
|
lastSuccessAt: number().optional(),
|
|
11369
11369
|
/** Newest-archive size from `manifests.json`, or undefined. */
|
|
11370
11370
|
lastSuccessSizeBytes: number().optional(),
|
|
11371
|
-
/**
|
|
11371
|
+
/**
|
|
11372
|
+
* Cron cadence(s) of the ENABLED schedules that fan out to this
|
|
11373
|
+
* destination, comma-joined. Absent when no enabled schedule targets it
|
|
11374
|
+
* — a destination nothing is scheduled to write to must not advertise a
|
|
11375
|
+
* cadence (D384). This is never the `backup_destination_policies.cron`
|
|
11376
|
+
* column: that per-location cron has scheduled nothing since 2026-07-28
|
|
11377
|
+
* and reading it made a destination with a DISABLED schedule claim a
|
|
11378
|
+
* nightly run.
|
|
11379
|
+
*/
|
|
11372
11380
|
cron: string().optional(),
|
|
11373
|
-
/** ms-epoch of next
|
|
11381
|
+
/** ms-epoch of the next firing across those schedules (earliest), if any. */
|
|
11374
11382
|
nextRunAt: number().optional(),
|
|
11375
|
-
/**
|
|
11376
|
-
|
|
11383
|
+
/**
|
|
11384
|
+
* ms-epoch of the last time a run ATTEMPTED to write here — success or
|
|
11385
|
+
* failure. Never a success stamp: pair it with `lastSuccessAt` (the
|
|
11386
|
+
* newest archive that actually landed) and `lastError`.
|
|
11387
|
+
*/
|
|
11388
|
+
lastAttemptAt: number().optional(),
|
|
11389
|
+
/**
|
|
11390
|
+
* Why the last attempt failed, verbatim. Absent when the last attempt
|
|
11391
|
+
* landed the archive. A destination that has never been written to has
|
|
11392
|
+
* neither this nor `lastAttemptAt`.
|
|
11393
|
+
*/
|
|
11394
|
+
lastError: string().optional()
|
|
11377
11395
|
});
|
|
11378
11396
|
/**
|
|
11379
11397
|
* Per-archive entry returned by `backup.listArchives({ destinationId })`.
|
|
@@ -11536,8 +11554,16 @@ var BackupScheduleSchema = object({
|
|
|
11536
11554
|
retentionCount: number().int().min(1).max(1e3),
|
|
11537
11555
|
/** Optional subset of source locations to include; omitted = all. */
|
|
11538
11556
|
dataSources: array(string()).readonly().optional(),
|
|
11539
|
-
/**
|
|
11540
|
-
|
|
11557
|
+
/**
|
|
11558
|
+
* ms-epoch of the last tick that FIRED this schedule. Stamped before the
|
|
11559
|
+
* archive runs (it is the dedupe anchor), so it says "attempted", never
|
|
11560
|
+
* "succeeded" — a run refused by every destination stamps it too.
|
|
11561
|
+
*/
|
|
11562
|
+
lastAttemptAt: number().optional(),
|
|
11563
|
+
/** ms-epoch of the last run of this schedule that landed at ≥1 destination. */
|
|
11564
|
+
lastSuccessAt: number().optional(),
|
|
11565
|
+
/** Why the last fired run failed, verbatim. Absent when it succeeded. */
|
|
11566
|
+
lastError: string().optional(),
|
|
11541
11567
|
/** ms-epoch of next computed firing (read-only, filled on list). */
|
|
11542
11568
|
nextRunAt: number().optional()
|
|
11543
11569
|
});
|
|
@@ -11586,14 +11612,7 @@ method(_void(), array(BackupDestinationInfoSchema).readonly(), { auth: "admin" }
|
|
|
11586
11612
|
locationId: string(),
|
|
11587
11613
|
enabled: boolean(),
|
|
11588
11614
|
retentionCount: number().int().min(1).max(1e3),
|
|
11589
|
-
label: string().optional()
|
|
11590
|
-
/**
|
|
11591
|
-
* Per-destination cron expression. Empty string clears the
|
|
11592
|
-
* schedule (manual-only). Validated server-side via croner;
|
|
11593
|
-
* malformed expressions reject the upsert with an actionable
|
|
11594
|
-
* message.
|
|
11595
|
-
*/
|
|
11596
|
-
cron: string().optional()
|
|
11615
|
+
label: string().optional()
|
|
11597
11616
|
}), _void(), {
|
|
11598
11617
|
kind: "mutation",
|
|
11599
11618
|
auth: "admin"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-tuya",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.78",
|
|
4
4
|
"description": "Tuya / Smart Life device-provider addon for CamStack — account-onboarded (Tuya IoT cloud fetch of device localKeys) + LOCAL DP control via the @apocaliss92/nodetuya encrypted-LAN client, exposing switch / water-heater-family kettle entities",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|