@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 +26 -32
- package/dist/addon.mjs +26 -32
- package/package.json +1 -1
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-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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-
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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.
|
|
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",
|