@camstack/addon-notifiers 1.2.611 → 1.2.613
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
|
@@ -5577,7 +5577,7 @@ var ZodIssueCode = {
|
|
|
5577
5577
|
var ZodFirstPartyTypeKind;
|
|
5578
5578
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5579
5579
|
//#endregion
|
|
5580
|
-
//#region ../types/dist/sleep-
|
|
5580
|
+
//#region ../types/dist/sleep-_sV1BE2f.mjs
|
|
5581
5581
|
/**
|
|
5582
5582
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5583
5583
|
* window to float samples (D455).
|
|
@@ -5694,7 +5694,7 @@ function isKeychainStoredField(field) {
|
|
|
5694
5694
|
var SECRET_CLEAR = { $secretClear: true };
|
|
5695
5695
|
/** The `'***'` token D634 redaction writes for non-admins. */
|
|
5696
5696
|
var LEGACY_DEVICE_REDACTION = "***";
|
|
5697
|
-
function isRecord$
|
|
5697
|
+
function isRecord$6(value) {
|
|
5698
5698
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5699
5699
|
}
|
|
5700
5700
|
function makeSecretMarker(ref) {
|
|
@@ -5705,12 +5705,12 @@ function makeSecretMarker(ref) {
|
|
|
5705
5705
|
}
|
|
5706
5706
|
/** A stored marker: an object whose `$secret` is a non-empty string. */
|
|
5707
5707
|
function isSecretMarker(value) {
|
|
5708
|
-
if (!isRecord$
|
|
5708
|
+
if (!isRecord$6(value)) return false;
|
|
5709
5709
|
const ref = value["$secret"];
|
|
5710
5710
|
return typeof ref === "string" && ref.length > 0;
|
|
5711
5711
|
}
|
|
5712
5712
|
function isSecretClear(value) {
|
|
5713
|
-
return isRecord$
|
|
5713
|
+
return isRecord$6(value) && value["$secretClear"] === true;
|
|
5714
5714
|
}
|
|
5715
5715
|
/**
|
|
5716
5716
|
* The UI view of a stored secret field value: a marker becomes "set", inline
|
|
@@ -6320,7 +6320,7 @@ var KeychainWriteRefusedError = class extends Error {
|
|
|
6320
6320
|
}
|
|
6321
6321
|
};
|
|
6322
6322
|
var KEEP = { kind: "keep" };
|
|
6323
|
-
function isRecord$
|
|
6323
|
+
function isRecord$5(value) {
|
|
6324
6324
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6325
6325
|
}
|
|
6326
6326
|
function defaultMintId() {
|
|
@@ -6333,7 +6333,7 @@ function collectSecretMarkerRefs(value, out = []) {
|
|
|
6333
6333
|
return out;
|
|
6334
6334
|
}
|
|
6335
6335
|
if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
|
|
6336
|
-
else if (isRecord$
|
|
6336
|
+
else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
|
|
6337
6337
|
return out;
|
|
6338
6338
|
}
|
|
6339
6339
|
async function storedValueEquals(secrets, marker, candidate) {
|
|
@@ -6388,7 +6388,7 @@ function rowId(row, idKey) {
|
|
|
6388
6388
|
return null;
|
|
6389
6389
|
}
|
|
6390
6390
|
async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
6391
|
-
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$
|
|
6391
|
+
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
|
|
6392
6392
|
if (!Array.isArray(incoming)) {
|
|
6393
6393
|
ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
|
|
6394
6394
|
return {
|
|
@@ -6404,7 +6404,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
|
6404
6404
|
const kept = /* @__PURE__ */ new Set();
|
|
6405
6405
|
const rows = [];
|
|
6406
6406
|
for (const row of incoming) {
|
|
6407
|
-
if (!isRecord$
|
|
6407
|
+
if (!isRecord$5(row)) {
|
|
6408
6408
|
rows.push(row);
|
|
6409
6409
|
continue;
|
|
6410
6410
|
}
|
|
@@ -6429,7 +6429,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
6429
6429
|
case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
|
|
6430
6430
|
case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
|
|
6431
6431
|
case "object": {
|
|
6432
|
-
if (!isRecord$
|
|
6432
|
+
if (!isRecord$5(incoming)) {
|
|
6433
6433
|
if (incoming === void 0) return KEEP;
|
|
6434
6434
|
ctx.deletes.push(...collectSecretMarkerRefs(stored));
|
|
6435
6435
|
return {
|
|
@@ -6437,7 +6437,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
6437
6437
|
value: incoming
|
|
6438
6438
|
};
|
|
6439
6439
|
}
|
|
6440
|
-
const storedObj = isRecord$
|
|
6440
|
+
const storedObj = isRecord$5(stored) ? stored : {};
|
|
6441
6441
|
return {
|
|
6442
6442
|
kind: "value",
|
|
6443
6443
|
value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
|
|
@@ -6560,7 +6560,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
|
|
|
6560
6560
|
value: items
|
|
6561
6561
|
};
|
|
6562
6562
|
}
|
|
6563
|
-
if (isRecord$
|
|
6563
|
+
if (isRecord$5(v)) {
|
|
6564
6564
|
const out = {};
|
|
6565
6565
|
for (const [k, child] of Object.entries(v)) {
|
|
6566
6566
|
const s = substitute(child);
|
|
@@ -6592,7 +6592,7 @@ var SecretOverwriteRefusedError = class extends Error {
|
|
|
6592
6592
|
this.name = "SecretOverwriteRefusedError";
|
|
6593
6593
|
}
|
|
6594
6594
|
};
|
|
6595
|
-
function isRecord$
|
|
6595
|
+
function isRecord$4(value) {
|
|
6596
6596
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6597
6597
|
}
|
|
6598
6598
|
function resolvedValue(pass, marker) {
|
|
@@ -6621,7 +6621,7 @@ function inArray(pass, incoming, stored) {
|
|
|
6621
6621
|
return incoming.map((item, index) => {
|
|
6622
6622
|
const twin = stored[index];
|
|
6623
6623
|
if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
|
|
6624
|
-
if (isRecord$
|
|
6624
|
+
if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
|
|
6625
6625
|
if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
|
|
6626
6626
|
return item;
|
|
6627
6627
|
});
|
|
@@ -6632,7 +6632,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
6632
6632
|
const twin = stored[key];
|
|
6633
6633
|
if (isSecretMarker(twin)) {
|
|
6634
6634
|
if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
|
|
6635
|
-
} else if (isRecord$
|
|
6635
|
+
} else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
|
|
6636
6636
|
else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
|
|
6637
6637
|
}
|
|
6638
6638
|
return out;
|
|
@@ -6640,7 +6640,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
6640
6640
|
async function walk(pass, incoming, stored) {
|
|
6641
6641
|
if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
|
|
6642
6642
|
if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
|
|
6643
|
-
if (!isRecord$
|
|
6643
|
+
if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
|
|
6644
6644
|
const out = { ...incoming };
|
|
6645
6645
|
for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
|
|
6646
6646
|
return out;
|
|
@@ -6671,7 +6671,7 @@ async function restoreUnchangedSecrets(input) {
|
|
|
6671
6671
|
function isJsonEqual(a, b) {
|
|
6672
6672
|
if (Object.is(a, b)) return true;
|
|
6673
6673
|
if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
|
|
6674
|
-
if (isRecord$
|
|
6674
|
+
if (isRecord$4(a) && isRecord$4(b)) {
|
|
6675
6675
|
const keys = Object.keys(a);
|
|
6676
6676
|
if (keys.length !== Object.keys(b).length) return false;
|
|
6677
6677
|
return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
|
|
@@ -6695,7 +6695,7 @@ function markerKeysOf(blob, owner) {
|
|
|
6695
6695
|
}
|
|
6696
6696
|
function nodeFromStored(value, owner) {
|
|
6697
6697
|
if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
|
|
6698
|
-
if (!isRecord$
|
|
6698
|
+
if (!isRecord$4(value)) return null;
|
|
6699
6699
|
const children = /* @__PURE__ */ new Map();
|
|
6700
6700
|
for (const [key, child] of Object.entries(value)) {
|
|
6701
6701
|
const node = nodeFromStored(child, owner);
|
|
@@ -17164,15 +17164,6 @@ var StorageKindSchema = object({
|
|
|
17164
17164
|
declaration: RecordKindDeclarationSchema
|
|
17165
17165
|
});
|
|
17166
17166
|
method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
|
|
17167
|
-
collection: string().min(1),
|
|
17168
|
-
expectRows: number().int().nonnegative()
|
|
17169
|
-
}), object({
|
|
17170
|
-
dropped: literal(true),
|
|
17171
|
-
rows: number().int().nonnegative()
|
|
17172
|
-
}), {
|
|
17173
|
-
kind: "mutation",
|
|
17174
|
-
auth: "admin"
|
|
17175
|
-
}), method(object({
|
|
17176
17167
|
owner: string().min(1).optional(),
|
|
17177
17168
|
/** `false` skips the per-kind row count (a catalog read only). Default true. */
|
|
17178
17169
|
counts: boolean().optional()
|
|
@@ -43316,6 +43307,15 @@ var NcMediaPolicySchema = object({
|
|
|
43316
43307
|
* Replaces `zoneCrop`.
|
|
43317
43308
|
*/
|
|
43318
43309
|
showTriggerZone: boolean().optional(),
|
|
43310
|
+
/**
|
|
43311
|
+
* Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
|
|
43312
|
+
* through the track's positions up to the frame shown, the same path the
|
|
43313
|
+
* debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
|
|
43314
|
+
* is drawn on: a `crop` maps the path into the crop and clips it. Valid only
|
|
43315
|
+
* on a rule whose subject is a tracked object (refused on a sound rule);
|
|
43316
|
+
* dropped on `image: 'none'`. Absent = off.
|
|
43317
|
+
*/
|
|
43318
|
+
showSubjectPath: boolean().optional(),
|
|
43319
43319
|
/** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
|
|
43320
43320
|
attach: _enum([
|
|
43321
43321
|
"best",
|
|
@@ -69606,12 +69606,6 @@ Object.freeze({
|
|
|
69606
69606
|
addonId: null,
|
|
69607
69607
|
access: "create"
|
|
69608
69608
|
},
|
|
69609
|
-
"storageAdmin.dropCollection": {
|
|
69610
|
-
capName: "storage-admin",
|
|
69611
|
-
capScope: "system",
|
|
69612
|
-
addonId: null,
|
|
69613
|
-
access: "delete"
|
|
69614
|
-
},
|
|
69615
69609
|
"storageAdmin.listKinds": {
|
|
69616
69610
|
capName: "storage-admin",
|
|
69617
69611
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -5550,7 +5550,7 @@ var ZodIssueCode = {
|
|
|
5550
5550
|
var ZodFirstPartyTypeKind;
|
|
5551
5551
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5552
5552
|
//#endregion
|
|
5553
|
-
//#region ../types/dist/sleep-
|
|
5553
|
+
//#region ../types/dist/sleep-_sV1BE2f.mjs
|
|
5554
5554
|
/**
|
|
5555
5555
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5556
5556
|
* window to float samples (D455).
|
|
@@ -5667,7 +5667,7 @@ function isKeychainStoredField(field) {
|
|
|
5667
5667
|
var SECRET_CLEAR = { $secretClear: true };
|
|
5668
5668
|
/** The `'***'` token D634 redaction writes for non-admins. */
|
|
5669
5669
|
var LEGACY_DEVICE_REDACTION = "***";
|
|
5670
|
-
function isRecord$
|
|
5670
|
+
function isRecord$6(value) {
|
|
5671
5671
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
5672
5672
|
}
|
|
5673
5673
|
function makeSecretMarker(ref) {
|
|
@@ -5678,12 +5678,12 @@ function makeSecretMarker(ref) {
|
|
|
5678
5678
|
}
|
|
5679
5679
|
/** A stored marker: an object whose `$secret` is a non-empty string. */
|
|
5680
5680
|
function isSecretMarker(value) {
|
|
5681
|
-
if (!isRecord$
|
|
5681
|
+
if (!isRecord$6(value)) return false;
|
|
5682
5682
|
const ref = value["$secret"];
|
|
5683
5683
|
return typeof ref === "string" && ref.length > 0;
|
|
5684
5684
|
}
|
|
5685
5685
|
function isSecretClear(value) {
|
|
5686
|
-
return isRecord$
|
|
5686
|
+
return isRecord$6(value) && value["$secretClear"] === true;
|
|
5687
5687
|
}
|
|
5688
5688
|
/**
|
|
5689
5689
|
* The UI view of a stored secret field value: a marker becomes "set", inline
|
|
@@ -6293,7 +6293,7 @@ var KeychainWriteRefusedError = class extends Error {
|
|
|
6293
6293
|
}
|
|
6294
6294
|
};
|
|
6295
6295
|
var KEEP = { kind: "keep" };
|
|
6296
|
-
function isRecord$
|
|
6296
|
+
function isRecord$5(value) {
|
|
6297
6297
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6298
6298
|
}
|
|
6299
6299
|
function defaultMintId() {
|
|
@@ -6306,7 +6306,7 @@ function collectSecretMarkerRefs(value, out = []) {
|
|
|
6306
6306
|
return out;
|
|
6307
6307
|
}
|
|
6308
6308
|
if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
|
|
6309
|
-
else if (isRecord$
|
|
6309
|
+
else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
|
|
6310
6310
|
return out;
|
|
6311
6311
|
}
|
|
6312
6312
|
async function storedValueEquals(secrets, marker, candidate) {
|
|
@@ -6361,7 +6361,7 @@ function rowId(row, idKey) {
|
|
|
6361
6361
|
return null;
|
|
6362
6362
|
}
|
|
6363
6363
|
async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
6364
|
-
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$
|
|
6364
|
+
const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
|
|
6365
6365
|
if (!Array.isArray(incoming)) {
|
|
6366
6366
|
ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
|
|
6367
6367
|
return {
|
|
@@ -6377,7 +6377,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
|
|
|
6377
6377
|
const kept = /* @__PURE__ */ new Set();
|
|
6378
6378
|
const rows = [];
|
|
6379
6379
|
for (const row of incoming) {
|
|
6380
|
-
if (!isRecord$
|
|
6380
|
+
if (!isRecord$5(row)) {
|
|
6381
6381
|
rows.push(row);
|
|
6382
6382
|
continue;
|
|
6383
6383
|
}
|
|
@@ -6402,7 +6402,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
6402
6402
|
case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
|
|
6403
6403
|
case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
|
|
6404
6404
|
case "object": {
|
|
6405
|
-
if (!isRecord$
|
|
6405
|
+
if (!isRecord$5(incoming)) {
|
|
6406
6406
|
if (incoming === void 0) return KEEP;
|
|
6407
6407
|
ctx.deletes.push(...collectSecretMarkerRefs(stored));
|
|
6408
6408
|
return {
|
|
@@ -6410,7 +6410,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
|
|
|
6410
6410
|
value: incoming
|
|
6411
6411
|
};
|
|
6412
6412
|
}
|
|
6413
|
-
const storedObj = isRecord$
|
|
6413
|
+
const storedObj = isRecord$5(stored) ? stored : {};
|
|
6414
6414
|
return {
|
|
6415
6415
|
kind: "value",
|
|
6416
6416
|
value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
|
|
@@ -6533,7 +6533,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
|
|
|
6533
6533
|
value: items
|
|
6534
6534
|
};
|
|
6535
6535
|
}
|
|
6536
|
-
if (isRecord$
|
|
6536
|
+
if (isRecord$5(v)) {
|
|
6537
6537
|
const out = {};
|
|
6538
6538
|
for (const [k, child] of Object.entries(v)) {
|
|
6539
6539
|
const s = substitute(child);
|
|
@@ -6565,7 +6565,7 @@ var SecretOverwriteRefusedError = class extends Error {
|
|
|
6565
6565
|
this.name = "SecretOverwriteRefusedError";
|
|
6566
6566
|
}
|
|
6567
6567
|
};
|
|
6568
|
-
function isRecord$
|
|
6568
|
+
function isRecord$4(value) {
|
|
6569
6569
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6570
6570
|
}
|
|
6571
6571
|
function resolvedValue(pass, marker) {
|
|
@@ -6594,7 +6594,7 @@ function inArray(pass, incoming, stored) {
|
|
|
6594
6594
|
return incoming.map((item, index) => {
|
|
6595
6595
|
const twin = stored[index];
|
|
6596
6596
|
if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
|
|
6597
|
-
if (isRecord$
|
|
6597
|
+
if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
|
|
6598
6598
|
if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
|
|
6599
6599
|
return item;
|
|
6600
6600
|
});
|
|
@@ -6605,7 +6605,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
6605
6605
|
const twin = stored[key];
|
|
6606
6606
|
if (isSecretMarker(twin)) {
|
|
6607
6607
|
if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
|
|
6608
|
-
} else if (isRecord$
|
|
6608
|
+
} else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
|
|
6609
6609
|
else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
|
|
6610
6610
|
}
|
|
6611
6611
|
return out;
|
|
@@ -6613,7 +6613,7 @@ function inArrayRow(pass, incoming, stored) {
|
|
|
6613
6613
|
async function walk(pass, incoming, stored) {
|
|
6614
6614
|
if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
|
|
6615
6615
|
if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
|
|
6616
|
-
if (!isRecord$
|
|
6616
|
+
if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
|
|
6617
6617
|
const out = { ...incoming };
|
|
6618
6618
|
for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
|
|
6619
6619
|
return out;
|
|
@@ -6644,7 +6644,7 @@ async function restoreUnchangedSecrets(input) {
|
|
|
6644
6644
|
function isJsonEqual(a, b) {
|
|
6645
6645
|
if (Object.is(a, b)) return true;
|
|
6646
6646
|
if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
|
|
6647
|
-
if (isRecord$
|
|
6647
|
+
if (isRecord$4(a) && isRecord$4(b)) {
|
|
6648
6648
|
const keys = Object.keys(a);
|
|
6649
6649
|
if (keys.length !== Object.keys(b).length) return false;
|
|
6650
6650
|
return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
|
|
@@ -6668,7 +6668,7 @@ function markerKeysOf(blob, owner) {
|
|
|
6668
6668
|
}
|
|
6669
6669
|
function nodeFromStored(value, owner) {
|
|
6670
6670
|
if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
|
|
6671
|
-
if (!isRecord$
|
|
6671
|
+
if (!isRecord$4(value)) return null;
|
|
6672
6672
|
const children = /* @__PURE__ */ new Map();
|
|
6673
6673
|
for (const [key, child] of Object.entries(value)) {
|
|
6674
6674
|
const node = nodeFromStored(child, owner);
|
|
@@ -17137,15 +17137,6 @@ var StorageKindSchema = object({
|
|
|
17137
17137
|
declaration: RecordKindDeclarationSchema
|
|
17138
17138
|
});
|
|
17139
17139
|
method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
|
|
17140
|
-
collection: string().min(1),
|
|
17141
|
-
expectRows: number().int().nonnegative()
|
|
17142
|
-
}), object({
|
|
17143
|
-
dropped: literal(true),
|
|
17144
|
-
rows: number().int().nonnegative()
|
|
17145
|
-
}), {
|
|
17146
|
-
kind: "mutation",
|
|
17147
|
-
auth: "admin"
|
|
17148
|
-
}), method(object({
|
|
17149
17140
|
owner: string().min(1).optional(),
|
|
17150
17141
|
/** `false` skips the per-kind row count (a catalog read only). Default true. */
|
|
17151
17142
|
counts: boolean().optional()
|
|
@@ -43289,6 +43280,15 @@ var NcMediaPolicySchema = object({
|
|
|
43289
43280
|
* Replaces `zoneCrop`.
|
|
43290
43281
|
*/
|
|
43291
43282
|
showTriggerZone: boolean().optional(),
|
|
43283
|
+
/**
|
|
43284
|
+
* Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
|
|
43285
|
+
* through the track's positions up to the frame shown, the same path the
|
|
43286
|
+
* debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
|
|
43287
|
+
* is drawn on: a `crop` maps the path into the crop and clips it. Valid only
|
|
43288
|
+
* on a rule whose subject is a tracked object (refused on a sound rule);
|
|
43289
|
+
* dropped on `image: 'none'`. Absent = off.
|
|
43290
|
+
*/
|
|
43291
|
+
showSubjectPath: boolean().optional(),
|
|
43292
43292
|
/** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
|
|
43293
43293
|
attach: _enum([
|
|
43294
43294
|
"best",
|
|
@@ -69579,12 +69579,6 @@ Object.freeze({
|
|
|
69579
69579
|
addonId: null,
|
|
69580
69580
|
access: "create"
|
|
69581
69581
|
},
|
|
69582
|
-
"storageAdmin.dropCollection": {
|
|
69583
|
-
capName: "storage-admin",
|
|
69584
|
-
capScope: "system",
|
|
69585
|
-
addonId: null,
|
|
69586
|
-
access: "delete"
|
|
69587
|
-
},
|
|
69588
69582
|
"storageAdmin.listKinds": {
|
|
69589
69583
|
capName: "storage-admin",
|
|
69590
69584
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-notifiers",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.613",
|
|
4
4
|
"description": "System notifiers addon for CamStack — a `notification-output` collection provider hosting per-kind notifier adapters (ntfy, pushover, gotify, telegram, discord, webhook, zentik).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|