@camstack/addon-provider-tuya 0.2.136 → 0.2.138

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 CHANGED
@@ -6234,7 +6234,7 @@ var ZodIssueCode = {
6234
6234
  var ZodFirstPartyTypeKind;
6235
6235
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
6236
6236
  //#endregion
6237
- //#region ../types/dist/sleep-CSuN0thG.mjs
6237
+ //#region ../types/dist/sleep-_sV1BE2f.mjs
6238
6238
  /**
6239
6239
  * The audio chunk plane's byte format, and the ONE expansion from a coded
6240
6240
  * window to float samples (D455).
@@ -6351,7 +6351,7 @@ function isKeychainStoredField(field) {
6351
6351
  var SECRET_CLEAR = { $secretClear: true };
6352
6352
  /** The `'***'` token D634 redaction writes for non-admins. */
6353
6353
  var LEGACY_DEVICE_REDACTION = "***";
6354
- function isRecord$5(value) {
6354
+ function isRecord$6(value) {
6355
6355
  return typeof value === "object" && value !== null && !Array.isArray(value);
6356
6356
  }
6357
6357
  function makeSecretMarker(ref) {
@@ -6362,12 +6362,12 @@ function makeSecretMarker(ref) {
6362
6362
  }
6363
6363
  /** A stored marker: an object whose `$secret` is a non-empty string. */
6364
6364
  function isSecretMarker(value) {
6365
- if (!isRecord$5(value)) return false;
6365
+ if (!isRecord$6(value)) return false;
6366
6366
  const ref = value["$secret"];
6367
6367
  return typeof ref === "string" && ref.length > 0;
6368
6368
  }
6369
6369
  function isSecretClear(value) {
6370
- return isRecord$5(value) && value["$secretClear"] === true;
6370
+ return isRecord$6(value) && value["$secretClear"] === true;
6371
6371
  }
6372
6372
  /**
6373
6373
  * The UI view of a stored secret field value: a marker becomes "set", inline
@@ -6977,7 +6977,7 @@ var KeychainWriteRefusedError = class extends Error {
6977
6977
  }
6978
6978
  };
6979
6979
  var KEEP = { kind: "keep" };
6980
- function isRecord$4(value) {
6980
+ function isRecord$5(value) {
6981
6981
  return typeof value === "object" && value !== null && !Array.isArray(value);
6982
6982
  }
6983
6983
  function defaultMintId() {
@@ -6990,7 +6990,7 @@ function collectSecretMarkerRefs(value, out = []) {
6990
6990
  return out;
6991
6991
  }
6992
6992
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6993
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6993
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6994
6994
  return out;
6995
6995
  }
6996
6996
  async function storedValueEquals(secrets, marker, candidate) {
@@ -7045,7 +7045,7 @@ function rowId(row, idKey) {
7045
7045
  return null;
7046
7046
  }
7047
7047
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
7048
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
7048
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
7049
7049
  if (!Array.isArray(incoming)) {
7050
7050
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
7051
7051
  return {
@@ -7061,7 +7061,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
7061
7061
  const kept = /* @__PURE__ */ new Set();
7062
7062
  const rows = [];
7063
7063
  for (const row of incoming) {
7064
- if (!isRecord$4(row)) {
7064
+ if (!isRecord$5(row)) {
7065
7065
  rows.push(row);
7066
7066
  continue;
7067
7067
  }
@@ -7086,7 +7086,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
7086
7086
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
7087
7087
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
7088
7088
  case "object": {
7089
- if (!isRecord$4(incoming)) {
7089
+ if (!isRecord$5(incoming)) {
7090
7090
  if (incoming === void 0) return KEEP;
7091
7091
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
7092
7092
  return {
@@ -7094,7 +7094,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
7094
7094
  value: incoming
7095
7095
  };
7096
7096
  }
7097
- const storedObj = isRecord$4(stored) ? stored : {};
7097
+ const storedObj = isRecord$5(stored) ? stored : {};
7098
7098
  return {
7099
7099
  kind: "value",
7100
7100
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -7217,7 +7217,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
7217
7217
  value: items
7218
7218
  };
7219
7219
  }
7220
- if (isRecord$4(v)) {
7220
+ if (isRecord$5(v)) {
7221
7221
  const out = {};
7222
7222
  for (const [k, child] of Object.entries(v)) {
7223
7223
  const s = substitute(child);
@@ -7249,7 +7249,7 @@ var SecretOverwriteRefusedError = class extends Error {
7249
7249
  this.name = "SecretOverwriteRefusedError";
7250
7250
  }
7251
7251
  };
7252
- function isRecord$3(value) {
7252
+ function isRecord$4(value) {
7253
7253
  return typeof value === "object" && value !== null && !Array.isArray(value);
7254
7254
  }
7255
7255
  function resolvedValue(pass, marker) {
@@ -7278,7 +7278,7 @@ function inArray(pass, incoming, stored) {
7278
7278
  return incoming.map((item, index) => {
7279
7279
  const twin = stored[index];
7280
7280
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
7281
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
7281
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
7282
7282
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
7283
7283
  return item;
7284
7284
  });
@@ -7289,7 +7289,7 @@ function inArrayRow(pass, incoming, stored) {
7289
7289
  const twin = stored[key];
7290
7290
  if (isSecretMarker(twin)) {
7291
7291
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
7292
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
7292
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
7293
7293
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
7294
7294
  }
7295
7295
  return out;
@@ -7297,7 +7297,7 @@ function inArrayRow(pass, incoming, stored) {
7297
7297
  async function walk(pass, incoming, stored) {
7298
7298
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
7299
7299
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
7300
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
7300
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
7301
7301
  const out = { ...incoming };
7302
7302
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
7303
7303
  return out;
@@ -7328,7 +7328,7 @@ async function restoreUnchangedSecrets(input) {
7328
7328
  function isJsonEqual(a, b) {
7329
7329
  if (Object.is(a, b)) return true;
7330
7330
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
7331
- if (isRecord$3(a) && isRecord$3(b)) {
7331
+ if (isRecord$4(a) && isRecord$4(b)) {
7332
7332
  const keys = Object.keys(a);
7333
7333
  if (keys.length !== Object.keys(b).length) return false;
7334
7334
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -7352,7 +7352,7 @@ function markerKeysOf(blob, owner) {
7352
7352
  }
7353
7353
  function nodeFromStored(value, owner) {
7354
7354
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
7355
- if (!isRecord$3(value)) return null;
7355
+ if (!isRecord$4(value)) return null;
7356
7356
  const children = /* @__PURE__ */ new Map();
7357
7357
  for (const [key, child] of Object.entries(value)) {
7358
7358
  const node = nodeFromStored(child, owner);
@@ -17623,15 +17623,6 @@ var StorageKindSchema = object({
17623
17623
  declaration: RecordKindDeclarationSchema
17624
17624
  });
17625
17625
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
17626
- collection: string().min(1),
17627
- expectRows: number().int().nonnegative()
17628
- }), object({
17629
- dropped: literal(true),
17630
- rows: number().int().nonnegative()
17631
- }), {
17632
- kind: "mutation",
17633
- auth: "admin"
17634
- }), method(object({
17635
17626
  owner: string().min(1).optional(),
17636
17627
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
17637
17628
  counts: boolean().optional()
@@ -44006,6 +43997,15 @@ var NcMediaPolicySchema = object({
44006
43997
  * Replaces `zoneCrop`.
44007
43998
  */
44008
43999
  showTriggerZone: boolean().optional(),
44000
+ /**
44001
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
44002
+ * through the track's positions up to the frame shown, the same path the
44003
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
44004
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
44005
+ * on a rule whose subject is a tracked object (refused on a sound rule);
44006
+ * dropped on `image: 'none'`. Absent = off.
44007
+ */
44008
+ showSubjectPath: boolean().optional(),
44009
44009
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
44010
44010
  attach: _enum([
44011
44011
  "best",
@@ -75147,12 +75147,6 @@ Object.freeze({
75147
75147
  addonId: null,
75148
75148
  access: "create"
75149
75149
  },
75150
- "storageAdmin.dropCollection": {
75151
- capName: "storage-admin",
75152
- capScope: "system",
75153
- addonId: null,
75154
- access: "delete"
75155
- },
75156
75150
  "storageAdmin.listKinds": {
75157
75151
  capName: "storage-admin",
75158
75152
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -6233,7 +6233,7 @@ var ZodIssueCode = {
6233
6233
  var ZodFirstPartyTypeKind;
6234
6234
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
6235
6235
  //#endregion
6236
- //#region ../types/dist/sleep-CSuN0thG.mjs
6236
+ //#region ../types/dist/sleep-_sV1BE2f.mjs
6237
6237
  /**
6238
6238
  * The audio chunk plane's byte format, and the ONE expansion from a coded
6239
6239
  * window to float samples (D455).
@@ -6350,7 +6350,7 @@ function isKeychainStoredField(field) {
6350
6350
  var SECRET_CLEAR = { $secretClear: true };
6351
6351
  /** The `'***'` token D634 redaction writes for non-admins. */
6352
6352
  var LEGACY_DEVICE_REDACTION = "***";
6353
- function isRecord$5(value) {
6353
+ function isRecord$6(value) {
6354
6354
  return typeof value === "object" && value !== null && !Array.isArray(value);
6355
6355
  }
6356
6356
  function makeSecretMarker(ref) {
@@ -6361,12 +6361,12 @@ function makeSecretMarker(ref) {
6361
6361
  }
6362
6362
  /** A stored marker: an object whose `$secret` is a non-empty string. */
6363
6363
  function isSecretMarker(value) {
6364
- if (!isRecord$5(value)) return false;
6364
+ if (!isRecord$6(value)) return false;
6365
6365
  const ref = value["$secret"];
6366
6366
  return typeof ref === "string" && ref.length > 0;
6367
6367
  }
6368
6368
  function isSecretClear(value) {
6369
- return isRecord$5(value) && value["$secretClear"] === true;
6369
+ return isRecord$6(value) && value["$secretClear"] === true;
6370
6370
  }
6371
6371
  /**
6372
6372
  * The UI view of a stored secret field value: a marker becomes "set", inline
@@ -6976,7 +6976,7 @@ var KeychainWriteRefusedError = class extends Error {
6976
6976
  }
6977
6977
  };
6978
6978
  var KEEP = { kind: "keep" };
6979
- function isRecord$4(value) {
6979
+ function isRecord$5(value) {
6980
6980
  return typeof value === "object" && value !== null && !Array.isArray(value);
6981
6981
  }
6982
6982
  function defaultMintId() {
@@ -6989,7 +6989,7 @@ function collectSecretMarkerRefs(value, out = []) {
6989
6989
  return out;
6990
6990
  }
6991
6991
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6992
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6992
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6993
6993
  return out;
6994
6994
  }
6995
6995
  async function storedValueEquals(secrets, marker, candidate) {
@@ -7044,7 +7044,7 @@ function rowId(row, idKey) {
7044
7044
  return null;
7045
7045
  }
7046
7046
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
7047
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
7047
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
7048
7048
  if (!Array.isArray(incoming)) {
7049
7049
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
7050
7050
  return {
@@ -7060,7 +7060,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
7060
7060
  const kept = /* @__PURE__ */ new Set();
7061
7061
  const rows = [];
7062
7062
  for (const row of incoming) {
7063
- if (!isRecord$4(row)) {
7063
+ if (!isRecord$5(row)) {
7064
7064
  rows.push(row);
7065
7065
  continue;
7066
7066
  }
@@ -7085,7 +7085,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
7085
7085
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
7086
7086
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
7087
7087
  case "object": {
7088
- if (!isRecord$4(incoming)) {
7088
+ if (!isRecord$5(incoming)) {
7089
7089
  if (incoming === void 0) return KEEP;
7090
7090
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
7091
7091
  return {
@@ -7093,7 +7093,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
7093
7093
  value: incoming
7094
7094
  };
7095
7095
  }
7096
- const storedObj = isRecord$4(stored) ? stored : {};
7096
+ const storedObj = isRecord$5(stored) ? stored : {};
7097
7097
  return {
7098
7098
  kind: "value",
7099
7099
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -7216,7 +7216,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
7216
7216
  value: items
7217
7217
  };
7218
7218
  }
7219
- if (isRecord$4(v)) {
7219
+ if (isRecord$5(v)) {
7220
7220
  const out = {};
7221
7221
  for (const [k, child] of Object.entries(v)) {
7222
7222
  const s = substitute(child);
@@ -7248,7 +7248,7 @@ var SecretOverwriteRefusedError = class extends Error {
7248
7248
  this.name = "SecretOverwriteRefusedError";
7249
7249
  }
7250
7250
  };
7251
- function isRecord$3(value) {
7251
+ function isRecord$4(value) {
7252
7252
  return typeof value === "object" && value !== null && !Array.isArray(value);
7253
7253
  }
7254
7254
  function resolvedValue(pass, marker) {
@@ -7277,7 +7277,7 @@ function inArray(pass, incoming, stored) {
7277
7277
  return incoming.map((item, index) => {
7278
7278
  const twin = stored[index];
7279
7279
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
7280
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
7280
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
7281
7281
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
7282
7282
  return item;
7283
7283
  });
@@ -7288,7 +7288,7 @@ function inArrayRow(pass, incoming, stored) {
7288
7288
  const twin = stored[key];
7289
7289
  if (isSecretMarker(twin)) {
7290
7290
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
7291
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
7291
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
7292
7292
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
7293
7293
  }
7294
7294
  return out;
@@ -7296,7 +7296,7 @@ function inArrayRow(pass, incoming, stored) {
7296
7296
  async function walk(pass, incoming, stored) {
7297
7297
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
7298
7298
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
7299
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
7299
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
7300
7300
  const out = { ...incoming };
7301
7301
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
7302
7302
  return out;
@@ -7327,7 +7327,7 @@ async function restoreUnchangedSecrets(input) {
7327
7327
  function isJsonEqual(a, b) {
7328
7328
  if (Object.is(a, b)) return true;
7329
7329
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
7330
- if (isRecord$3(a) && isRecord$3(b)) {
7330
+ if (isRecord$4(a) && isRecord$4(b)) {
7331
7331
  const keys = Object.keys(a);
7332
7332
  if (keys.length !== Object.keys(b).length) return false;
7333
7333
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -7351,7 +7351,7 @@ function markerKeysOf(blob, owner) {
7351
7351
  }
7352
7352
  function nodeFromStored(value, owner) {
7353
7353
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
7354
- if (!isRecord$3(value)) return null;
7354
+ if (!isRecord$4(value)) return null;
7355
7355
  const children = /* @__PURE__ */ new Map();
7356
7356
  for (const [key, child] of Object.entries(value)) {
7357
7357
  const node = nodeFromStored(child, owner);
@@ -17622,15 +17622,6 @@ var StorageKindSchema = object({
17622
17622
  declaration: RecordKindDeclarationSchema
17623
17623
  });
17624
17624
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
17625
- collection: string().min(1),
17626
- expectRows: number().int().nonnegative()
17627
- }), object({
17628
- dropped: literal(true),
17629
- rows: number().int().nonnegative()
17630
- }), {
17631
- kind: "mutation",
17632
- auth: "admin"
17633
- }), method(object({
17634
17625
  owner: string().min(1).optional(),
17635
17626
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
17636
17627
  counts: boolean().optional()
@@ -44005,6 +43996,15 @@ var NcMediaPolicySchema = object({
44005
43996
  * Replaces `zoneCrop`.
44006
43997
  */
44007
43998
  showTriggerZone: boolean().optional(),
43999
+ /**
44000
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
44001
+ * through the track's positions up to the frame shown, the same path the
44002
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
44003
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
44004
+ * on a rule whose subject is a tracked object (refused on a sound rule);
44005
+ * dropped on `image: 'none'`. Absent = off.
44006
+ */
44007
+ showSubjectPath: boolean().optional(),
44008
44008
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
44009
44009
  attach: _enum([
44010
44010
  "best",
@@ -75146,12 +75146,6 @@ Object.freeze({
75146
75146
  addonId: null,
75147
75147
  access: "create"
75148
75148
  },
75149
- "storageAdmin.dropCollection": {
75150
- capName: "storage-admin",
75151
- capScope: "system",
75152
- addonId: null,
75153
- access: "delete"
75154
- },
75155
75149
  "storageAdmin.listKinds": {
75156
75150
  capName: "storage-admin",
75157
75151
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-tuya",
3
- "version": "0.2.136",
3
+ "version": "0.2.138",
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",