@camstack/addon-provider-unifi 0.2.137 → 0.2.139

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
@@ -5414,7 +5414,7 @@ var ZodIssueCode = {
5414
5414
  var ZodFirstPartyTypeKind;
5415
5415
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5416
5416
  //#endregion
5417
- //#region ../types/dist/sleep-CSuN0thG.mjs
5417
+ //#region ../types/dist/sleep-_sV1BE2f.mjs
5418
5418
  /**
5419
5419
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5420
5420
  * window to float samples (D455).
@@ -5531,7 +5531,7 @@ function isKeychainStoredField(field) {
5531
5531
  var SECRET_CLEAR = { $secretClear: true };
5532
5532
  /** The `'***'` token D634 redaction writes for non-admins. */
5533
5533
  var LEGACY_DEVICE_REDACTION = "***";
5534
- function isRecord$5(value) {
5534
+ function isRecord$6(value) {
5535
5535
  return typeof value === "object" && value !== null && !Array.isArray(value);
5536
5536
  }
5537
5537
  function makeSecretMarker(ref) {
@@ -5542,12 +5542,12 @@ function makeSecretMarker(ref) {
5542
5542
  }
5543
5543
  /** A stored marker: an object whose `$secret` is a non-empty string. */
5544
5544
  function isSecretMarker(value) {
5545
- if (!isRecord$5(value)) return false;
5545
+ if (!isRecord$6(value)) return false;
5546
5546
  const ref = value["$secret"];
5547
5547
  return typeof ref === "string" && ref.length > 0;
5548
5548
  }
5549
5549
  function isSecretClear(value) {
5550
- return isRecord$5(value) && value["$secretClear"] === true;
5550
+ return isRecord$6(value) && value["$secretClear"] === true;
5551
5551
  }
5552
5552
  /**
5553
5553
  * The UI view of a stored secret field value: a marker becomes "set", inline
@@ -6157,7 +6157,7 @@ var KeychainWriteRefusedError = class extends Error {
6157
6157
  }
6158
6158
  };
6159
6159
  var KEEP = { kind: "keep" };
6160
- function isRecord$4(value) {
6160
+ function isRecord$5(value) {
6161
6161
  return typeof value === "object" && value !== null && !Array.isArray(value);
6162
6162
  }
6163
6163
  function defaultMintId() {
@@ -6170,7 +6170,7 @@ function collectSecretMarkerRefs(value, out = []) {
6170
6170
  return out;
6171
6171
  }
6172
6172
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6173
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6173
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6174
6174
  return out;
6175
6175
  }
6176
6176
  async function storedValueEquals(secrets, marker, candidate) {
@@ -6225,7 +6225,7 @@ function rowId(row, idKey) {
6225
6225
  return null;
6226
6226
  }
6227
6227
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
6228
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
6228
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
6229
6229
  if (!Array.isArray(incoming)) {
6230
6230
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
6231
6231
  return {
@@ -6241,7 +6241,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
6241
6241
  const kept = /* @__PURE__ */ new Set();
6242
6242
  const rows = [];
6243
6243
  for (const row of incoming) {
6244
- if (!isRecord$4(row)) {
6244
+ if (!isRecord$5(row)) {
6245
6245
  rows.push(row);
6246
6246
  continue;
6247
6247
  }
@@ -6266,7 +6266,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6266
6266
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
6267
6267
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
6268
6268
  case "object": {
6269
- if (!isRecord$4(incoming)) {
6269
+ if (!isRecord$5(incoming)) {
6270
6270
  if (incoming === void 0) return KEEP;
6271
6271
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
6272
6272
  return {
@@ -6274,7 +6274,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6274
6274
  value: incoming
6275
6275
  };
6276
6276
  }
6277
- const storedObj = isRecord$4(stored) ? stored : {};
6277
+ const storedObj = isRecord$5(stored) ? stored : {};
6278
6278
  return {
6279
6279
  kind: "value",
6280
6280
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -6397,7 +6397,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
6397
6397
  value: items
6398
6398
  };
6399
6399
  }
6400
- if (isRecord$4(v)) {
6400
+ if (isRecord$5(v)) {
6401
6401
  const out = {};
6402
6402
  for (const [k, child] of Object.entries(v)) {
6403
6403
  const s = substitute(child);
@@ -6429,7 +6429,7 @@ var SecretOverwriteRefusedError = class extends Error {
6429
6429
  this.name = "SecretOverwriteRefusedError";
6430
6430
  }
6431
6431
  };
6432
- function isRecord$3(value) {
6432
+ function isRecord$4(value) {
6433
6433
  return typeof value === "object" && value !== null && !Array.isArray(value);
6434
6434
  }
6435
6435
  function resolvedValue(pass, marker) {
@@ -6458,7 +6458,7 @@ function inArray(pass, incoming, stored) {
6458
6458
  return incoming.map((item, index) => {
6459
6459
  const twin = stored[index];
6460
6460
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
6461
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
6461
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
6462
6462
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
6463
6463
  return item;
6464
6464
  });
@@ -6469,7 +6469,7 @@ function inArrayRow(pass, incoming, stored) {
6469
6469
  const twin = stored[key];
6470
6470
  if (isSecretMarker(twin)) {
6471
6471
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
6472
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
6472
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
6473
6473
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
6474
6474
  }
6475
6475
  return out;
@@ -6477,7 +6477,7 @@ function inArrayRow(pass, incoming, stored) {
6477
6477
  async function walk(pass, incoming, stored) {
6478
6478
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
6479
6479
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
6480
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
6480
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
6481
6481
  const out = { ...incoming };
6482
6482
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
6483
6483
  return out;
@@ -6508,7 +6508,7 @@ async function restoreUnchangedSecrets(input) {
6508
6508
  function isJsonEqual(a, b) {
6509
6509
  if (Object.is(a, b)) return true;
6510
6510
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
6511
- if (isRecord$3(a) && isRecord$3(b)) {
6511
+ if (isRecord$4(a) && isRecord$4(b)) {
6512
6512
  const keys = Object.keys(a);
6513
6513
  if (keys.length !== Object.keys(b).length) return false;
6514
6514
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -6532,7 +6532,7 @@ function markerKeysOf(blob, owner) {
6532
6532
  }
6533
6533
  function nodeFromStored(value, owner) {
6534
6534
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
6535
- if (!isRecord$3(value)) return null;
6535
+ if (!isRecord$4(value)) return null;
6536
6536
  const children = /* @__PURE__ */ new Map();
6537
6537
  for (const [key, child] of Object.entries(value)) {
6538
6538
  const node = nodeFromStored(child, owner);
@@ -16817,15 +16817,6 @@ var StorageKindSchema = object({
16817
16817
  declaration: RecordKindDeclarationSchema
16818
16818
  });
16819
16819
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
16820
- collection: string().min(1),
16821
- expectRows: number().int().nonnegative()
16822
- }), object({
16823
- dropped: literal(true),
16824
- rows: number().int().nonnegative()
16825
- }), {
16826
- kind: "mutation",
16827
- auth: "admin"
16828
- }), method(object({
16829
16820
  owner: string().min(1).optional(),
16830
16821
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
16831
16822
  counts: boolean().optional()
@@ -43296,6 +43287,15 @@ var NcMediaPolicySchema = object({
43296
43287
  * Replaces `zoneCrop`.
43297
43288
  */
43298
43289
  showTriggerZone: boolean().optional(),
43290
+ /**
43291
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
43292
+ * through the track's positions up to the frame shown, the same path the
43293
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
43294
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
43295
+ * on a rule whose subject is a tracked object (refused on a sound rule);
43296
+ * dropped on `image: 'none'`. Absent = off.
43297
+ */
43298
+ showSubjectPath: boolean().optional(),
43299
43299
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
43300
43300
  attach: _enum([
43301
43301
  "best",
@@ -74446,12 +74446,6 @@ Object.freeze({
74446
74446
  addonId: null,
74447
74447
  access: "create"
74448
74448
  },
74449
- "storageAdmin.dropCollection": {
74450
- capName: "storage-admin",
74451
- capScope: "system",
74452
- addonId: null,
74453
- access: "delete"
74454
- },
74455
74449
  "storageAdmin.listKinds": {
74456
74450
  capName: "storage-admin",
74457
74451
  capScope: "system",
package/dist/addon.mjs CHANGED
@@ -5413,7 +5413,7 @@ var ZodIssueCode = {
5413
5413
  var ZodFirstPartyTypeKind;
5414
5414
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5415
5415
  //#endregion
5416
- //#region ../types/dist/sleep-CSuN0thG.mjs
5416
+ //#region ../types/dist/sleep-_sV1BE2f.mjs
5417
5417
  /**
5418
5418
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5419
5419
  * window to float samples (D455).
@@ -5530,7 +5530,7 @@ function isKeychainStoredField(field) {
5530
5530
  var SECRET_CLEAR = { $secretClear: true };
5531
5531
  /** The `'***'` token D634 redaction writes for non-admins. */
5532
5532
  var LEGACY_DEVICE_REDACTION = "***";
5533
- function isRecord$5(value) {
5533
+ function isRecord$6(value) {
5534
5534
  return typeof value === "object" && value !== null && !Array.isArray(value);
5535
5535
  }
5536
5536
  function makeSecretMarker(ref) {
@@ -5541,12 +5541,12 @@ function makeSecretMarker(ref) {
5541
5541
  }
5542
5542
  /** A stored marker: an object whose `$secret` is a non-empty string. */
5543
5543
  function isSecretMarker(value) {
5544
- if (!isRecord$5(value)) return false;
5544
+ if (!isRecord$6(value)) return false;
5545
5545
  const ref = value["$secret"];
5546
5546
  return typeof ref === "string" && ref.length > 0;
5547
5547
  }
5548
5548
  function isSecretClear(value) {
5549
- return isRecord$5(value) && value["$secretClear"] === true;
5549
+ return isRecord$6(value) && value["$secretClear"] === true;
5550
5550
  }
5551
5551
  /**
5552
5552
  * The UI view of a stored secret field value: a marker becomes "set", inline
@@ -6156,7 +6156,7 @@ var KeychainWriteRefusedError = class extends Error {
6156
6156
  }
6157
6157
  };
6158
6158
  var KEEP = { kind: "keep" };
6159
- function isRecord$4(value) {
6159
+ function isRecord$5(value) {
6160
6160
  return typeof value === "object" && value !== null && !Array.isArray(value);
6161
6161
  }
6162
6162
  function defaultMintId() {
@@ -6169,7 +6169,7 @@ function collectSecretMarkerRefs(value, out = []) {
6169
6169
  return out;
6170
6170
  }
6171
6171
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6172
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6172
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6173
6173
  return out;
6174
6174
  }
6175
6175
  async function storedValueEquals(secrets, marker, candidate) {
@@ -6224,7 +6224,7 @@ function rowId(row, idKey) {
6224
6224
  return null;
6225
6225
  }
6226
6226
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
6227
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
6227
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
6228
6228
  if (!Array.isArray(incoming)) {
6229
6229
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
6230
6230
  return {
@@ -6240,7 +6240,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
6240
6240
  const kept = /* @__PURE__ */ new Set();
6241
6241
  const rows = [];
6242
6242
  for (const row of incoming) {
6243
- if (!isRecord$4(row)) {
6243
+ if (!isRecord$5(row)) {
6244
6244
  rows.push(row);
6245
6245
  continue;
6246
6246
  }
@@ -6265,7 +6265,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6265
6265
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
6266
6266
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
6267
6267
  case "object": {
6268
- if (!isRecord$4(incoming)) {
6268
+ if (!isRecord$5(incoming)) {
6269
6269
  if (incoming === void 0) return KEEP;
6270
6270
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
6271
6271
  return {
@@ -6273,7 +6273,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6273
6273
  value: incoming
6274
6274
  };
6275
6275
  }
6276
- const storedObj = isRecord$4(stored) ? stored : {};
6276
+ const storedObj = isRecord$5(stored) ? stored : {};
6277
6277
  return {
6278
6278
  kind: "value",
6279
6279
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -6396,7 +6396,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
6396
6396
  value: items
6397
6397
  };
6398
6398
  }
6399
- if (isRecord$4(v)) {
6399
+ if (isRecord$5(v)) {
6400
6400
  const out = {};
6401
6401
  for (const [k, child] of Object.entries(v)) {
6402
6402
  const s = substitute(child);
@@ -6428,7 +6428,7 @@ var SecretOverwriteRefusedError = class extends Error {
6428
6428
  this.name = "SecretOverwriteRefusedError";
6429
6429
  }
6430
6430
  };
6431
- function isRecord$3(value) {
6431
+ function isRecord$4(value) {
6432
6432
  return typeof value === "object" && value !== null && !Array.isArray(value);
6433
6433
  }
6434
6434
  function resolvedValue(pass, marker) {
@@ -6457,7 +6457,7 @@ function inArray(pass, incoming, stored) {
6457
6457
  return incoming.map((item, index) => {
6458
6458
  const twin = stored[index];
6459
6459
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
6460
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
6460
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
6461
6461
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
6462
6462
  return item;
6463
6463
  });
@@ -6468,7 +6468,7 @@ function inArrayRow(pass, incoming, stored) {
6468
6468
  const twin = stored[key];
6469
6469
  if (isSecretMarker(twin)) {
6470
6470
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
6471
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
6471
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
6472
6472
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
6473
6473
  }
6474
6474
  return out;
@@ -6476,7 +6476,7 @@ function inArrayRow(pass, incoming, stored) {
6476
6476
  async function walk(pass, incoming, stored) {
6477
6477
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
6478
6478
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
6479
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
6479
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
6480
6480
  const out = { ...incoming };
6481
6481
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
6482
6482
  return out;
@@ -6507,7 +6507,7 @@ async function restoreUnchangedSecrets(input) {
6507
6507
  function isJsonEqual(a, b) {
6508
6508
  if (Object.is(a, b)) return true;
6509
6509
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
6510
- if (isRecord$3(a) && isRecord$3(b)) {
6510
+ if (isRecord$4(a) && isRecord$4(b)) {
6511
6511
  const keys = Object.keys(a);
6512
6512
  if (keys.length !== Object.keys(b).length) return false;
6513
6513
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -6531,7 +6531,7 @@ function markerKeysOf(blob, owner) {
6531
6531
  }
6532
6532
  function nodeFromStored(value, owner) {
6533
6533
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
6534
- if (!isRecord$3(value)) return null;
6534
+ if (!isRecord$4(value)) return null;
6535
6535
  const children = /* @__PURE__ */ new Map();
6536
6536
  for (const [key, child] of Object.entries(value)) {
6537
6537
  const node = nodeFromStored(child, owner);
@@ -16816,15 +16816,6 @@ var StorageKindSchema = object({
16816
16816
  declaration: RecordKindDeclarationSchema
16817
16817
  });
16818
16818
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
16819
- collection: string().min(1),
16820
- expectRows: number().int().nonnegative()
16821
- }), object({
16822
- dropped: literal(true),
16823
- rows: number().int().nonnegative()
16824
- }), {
16825
- kind: "mutation",
16826
- auth: "admin"
16827
- }), method(object({
16828
16819
  owner: string().min(1).optional(),
16829
16820
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
16830
16821
  counts: boolean().optional()
@@ -43295,6 +43286,15 @@ var NcMediaPolicySchema = object({
43295
43286
  * Replaces `zoneCrop`.
43296
43287
  */
43297
43288
  showTriggerZone: boolean().optional(),
43289
+ /**
43290
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
43291
+ * through the track's positions up to the frame shown, the same path the
43292
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
43293
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
43294
+ * on a rule whose subject is a tracked object (refused on a sound rule);
43295
+ * dropped on `image: 'none'`. Absent = off.
43296
+ */
43297
+ showSubjectPath: boolean().optional(),
43298
43298
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
43299
43299
  attach: _enum([
43300
43300
  "best",
@@ -74445,12 +74445,6 @@ Object.freeze({
74445
74445
  addonId: null,
74446
74446
  access: "create"
74447
74447
  },
74448
- "storageAdmin.dropCollection": {
74449
- capName: "storage-admin",
74450
- capScope: "system",
74451
- addonId: null,
74452
- access: "delete"
74453
- },
74454
74448
  "storageAdmin.listKinds": {
74455
74449
  capName: "storage-admin",
74456
74450
  capScope: "system",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-provider-unifi",
3
- "version": "0.2.137",
3
+ "version": "0.2.139",
4
4
  "description": "UniFi Network controller device-provider addon for CamStack — local-controller infra switches/APs (as containers) + network-client presence. NO cameras/Protect.",
5
5
  "keywords": [
6
6
  "camstack",