@camstack/addon-pipeline-orchestrator 1.2.613 → 1.2.615

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.
Files changed (44) hide show
  1. package/assets/viewer/.viewer-current-files.json +28 -28
  2. package/assets/viewer/.viewer-version +1 -1
  3. package/assets/viewer/_expo/static/js/web/Clipboard-fcc57cd9810347b2756478737a5e01d8.js +8 -0
  4. package/assets/viewer/_expo/static/js/web/Haptics-f0d908c71019d9a81718b204f25d6e5e.js +3 -0
  5. package/assets/viewer/_expo/static/js/web/[frameId]-d7db777f83b7a563e453c74d7a26c181.js +21 -0
  6. package/assets/viewer/_expo/static/js/web/[id]-15f8c330d4880acaa4282ade16877f38.js +7 -0
  7. package/assets/viewer/_expo/static/js/web/[id]-453e47e2b7b5b838bbba33b9353b266d.js +57 -0
  8. package/assets/viewer/_expo/static/js/web/[id]-78207e1e873f6bb7b4af68223e73a2e9.js +5 -0
  9. package/assets/viewer/_expo/static/js/web/[section]-82e1a342a60f16a6529b4845a55d464a.js +31 -0
  10. package/assets/viewer/_expo/static/js/web/{__common-4bcad671841ebb367cd3d76dbec373b1.js → __common-2d0e235081f3f935f8440f1e54136c78.js} +1806 -1806
  11. package/assets/viewer/_expo/static/js/web/_layout-b3e230daedf17f42989e0873275be31a.js +22 -0
  12. package/assets/viewer/_expo/static/js/web/add-server-7692ab5ce8361ece54ed8c3d9c5a6a85.js +2 -0
  13. package/assets/viewer/_expo/static/js/web/adhoc-492167e328b1482dc886717e41b48ff8.js +1 -0
  14. package/assets/viewer/_expo/static/js/web/alarm-6c877b40b2d0c2b023590326993b7914.js +6 -0
  15. package/assets/viewer/_expo/static/js/web/cameras-662b9f3b0d46020196b7dd78fe6fd04b.js +27 -0
  16. package/assets/viewer/_expo/static/js/web/connect-1e4d9395e5bcf7ba2c3451c3be1a4d34.js +2 -0
  17. package/assets/viewer/_expo/static/js/web/enroll-3624f0a34b5f2f9cfd5db3c6d4ef7bb6.js +19 -0
  18. package/assets/viewer/_expo/static/js/web/history-bf2cbd46d0836dc03ecebec9da7a110f.js +3 -0
  19. package/assets/viewer/_expo/static/js/web/index-2e1e1c4a7ede958043b7f655c450e0bc.js +1 -0
  20. package/assets/viewer/_expo/static/js/web/index-875f53846ebf0d145723d6f54f0d70c0.js +2 -0
  21. package/assets/viewer/_expo/static/js/web/index-8e9962aec93e5db2b41e75295bcf6e1c.js +1 -0
  22. package/assets/viewer/_expo/static/js/web/index-a5c2f4e7123966219452b78717df6d55.js +4 -0
  23. package/assets/viewer/_expo/static/js/web/{index-f1794cc1ef6aa42a9ccd00b13b144132.js → index-b91998f2bed17b6b4966a74c7d420923.js} +2 -2
  24. package/assets/viewer/_expo/static/js/web/new-404a1d47e83e62a5b700b6de49417a92.js +2 -0
  25. package/assets/viewer/_expo/static/js/web/sign-in-ffe70c7d9c4f166b300fbdc0456005ef.js +38 -0
  26. package/assets/viewer/embed/assets/{MaskShapeCanvas-DI4BY7W2-B2j_PGnc.js → MaskShapeCanvas-DI4BY7W2-D4utSYZf.js} +1 -1
  27. package/assets/viewer/embed/assets/{MotionZonesSettings-CiYjd-yl-BLsnvSS_.js → MotionZonesSettings-CiYjd-yl-CoZihFBB.js} +1 -1
  28. package/assets/viewer/embed/assets/{PrivacyMaskSettings-BmRdUrPp-DL4Vt8hF.js → PrivacyMaskSettings-BmRdUrPp-Z0gaYiUK.js} +1 -1
  29. package/assets/viewer/embed/assets/{SceneMonitorEditor-J4Ix_0tu-I1B6MNvG.js → SceneMonitorEditor-J4Ix_0tu-CLQMzZ0y.js} +1 -1
  30. package/assets/viewer/embed/assets/index-MQQHp0MZ.js +117 -0
  31. package/assets/viewer/embed/index.html +1 -1
  32. package/assets/viewer/index.html +1 -1
  33. package/dist/_stub.js +2 -2
  34. package/dist/{_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CRN2NPSr.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-DdMlROi7.mjs} +3 -3
  35. package/dist/{_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-Cd6pS4P2.mjs → _virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-svdGYhSo.mjs} +1 -1
  36. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-BIqqOxxN.mjs +26 -0
  37. package/dist/{hostInit-D8oxN_aC.mjs → hostInit-BDydGCVJ.mjs} +3 -3
  38. package/dist/index.js +26 -32
  39. package/dist/index.mjs +26 -32
  40. package/dist/remoteEntry.js +1 -1
  41. package/package.json +1 -1
  42. package/assets/viewer/_expo/static/js/web/events-a245172c172890487b234a99b5d7d70c.js +0 -64
  43. package/assets/viewer/embed/assets/index-BMuAiKnU.js +0 -117
  44. package/dist/_virtual_mf___mfe_internal__addon_pipeline_orchestrator_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bd-nl7Ph.mjs +0 -26
package/dist/index.js CHANGED
@@ -5578,7 +5578,7 @@ var ZodIssueCode = {
5578
5578
  var ZodFirstPartyTypeKind;
5579
5579
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5580
5580
  //#endregion
5581
- //#region ../types/dist/sleep-CSuN0thG.mjs
5581
+ //#region ../types/dist/sleep-_sV1BE2f.mjs
5582
5582
  /**
5583
5583
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5584
5584
  * window to float samples (D455).
@@ -5695,7 +5695,7 @@ function isKeychainStoredField(field) {
5695
5695
  var SECRET_CLEAR = { $secretClear: true };
5696
5696
  /** The `'***'` token D634 redaction writes for non-admins. */
5697
5697
  var LEGACY_DEVICE_REDACTION = "***";
5698
- function isRecord$5(value) {
5698
+ function isRecord$6(value) {
5699
5699
  return typeof value === "object" && value !== null && !Array.isArray(value);
5700
5700
  }
5701
5701
  function makeSecretMarker(ref) {
@@ -5706,12 +5706,12 @@ function makeSecretMarker(ref) {
5706
5706
  }
5707
5707
  /** A stored marker: an object whose `$secret` is a non-empty string. */
5708
5708
  function isSecretMarker(value) {
5709
- if (!isRecord$5(value)) return false;
5709
+ if (!isRecord$6(value)) return false;
5710
5710
  const ref = value["$secret"];
5711
5711
  return typeof ref === "string" && ref.length > 0;
5712
5712
  }
5713
5713
  function isSecretClear(value) {
5714
- return isRecord$5(value) && value["$secretClear"] === true;
5714
+ return isRecord$6(value) && value["$secretClear"] === true;
5715
5715
  }
5716
5716
  /**
5717
5717
  * The UI view of a stored secret field value: a marker becomes "set", inline
@@ -6337,7 +6337,7 @@ var KeychainWriteRefusedError = class extends Error {
6337
6337
  }
6338
6338
  };
6339
6339
  var KEEP = { kind: "keep" };
6340
- function isRecord$4(value) {
6340
+ function isRecord$5(value) {
6341
6341
  return typeof value === "object" && value !== null && !Array.isArray(value);
6342
6342
  }
6343
6343
  function defaultMintId() {
@@ -6350,7 +6350,7 @@ function collectSecretMarkerRefs(value, out = []) {
6350
6350
  return out;
6351
6351
  }
6352
6352
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6353
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6353
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6354
6354
  return out;
6355
6355
  }
6356
6356
  async function storedValueEquals(secrets, marker, candidate) {
@@ -6405,7 +6405,7 @@ function rowId(row, idKey) {
6405
6405
  return null;
6406
6406
  }
6407
6407
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
6408
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
6408
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
6409
6409
  if (!Array.isArray(incoming)) {
6410
6410
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
6411
6411
  return {
@@ -6421,7 +6421,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
6421
6421
  const kept = /* @__PURE__ */ new Set();
6422
6422
  const rows = [];
6423
6423
  for (const row of incoming) {
6424
- if (!isRecord$4(row)) {
6424
+ if (!isRecord$5(row)) {
6425
6425
  rows.push(row);
6426
6426
  continue;
6427
6427
  }
@@ -6446,7 +6446,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6446
6446
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
6447
6447
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
6448
6448
  case "object": {
6449
- if (!isRecord$4(incoming)) {
6449
+ if (!isRecord$5(incoming)) {
6450
6450
  if (incoming === void 0) return KEEP;
6451
6451
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
6452
6452
  return {
@@ -6454,7 +6454,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6454
6454
  value: incoming
6455
6455
  };
6456
6456
  }
6457
- const storedObj = isRecord$4(stored) ? stored : {};
6457
+ const storedObj = isRecord$5(stored) ? stored : {};
6458
6458
  return {
6459
6459
  kind: "value",
6460
6460
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -6577,7 +6577,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
6577
6577
  value: items
6578
6578
  };
6579
6579
  }
6580
- if (isRecord$4(v)) {
6580
+ if (isRecord$5(v)) {
6581
6581
  const out = {};
6582
6582
  for (const [k, child] of Object.entries(v)) {
6583
6583
  const s = substitute(child);
@@ -6609,7 +6609,7 @@ var SecretOverwriteRefusedError = class extends Error {
6609
6609
  this.name = "SecretOverwriteRefusedError";
6610
6610
  }
6611
6611
  };
6612
- function isRecord$3(value) {
6612
+ function isRecord$4(value) {
6613
6613
  return typeof value === "object" && value !== null && !Array.isArray(value);
6614
6614
  }
6615
6615
  function resolvedValue(pass, marker) {
@@ -6638,7 +6638,7 @@ function inArray(pass, incoming, stored) {
6638
6638
  return incoming.map((item, index) => {
6639
6639
  const twin = stored[index];
6640
6640
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
6641
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
6641
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
6642
6642
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
6643
6643
  return item;
6644
6644
  });
@@ -6649,7 +6649,7 @@ function inArrayRow(pass, incoming, stored) {
6649
6649
  const twin = stored[key];
6650
6650
  if (isSecretMarker(twin)) {
6651
6651
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
6652
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
6652
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
6653
6653
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
6654
6654
  }
6655
6655
  return out;
@@ -6657,7 +6657,7 @@ function inArrayRow(pass, incoming, stored) {
6657
6657
  async function walk(pass, incoming, stored) {
6658
6658
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
6659
6659
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
6660
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
6660
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
6661
6661
  const out = { ...incoming };
6662
6662
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
6663
6663
  return out;
@@ -6688,7 +6688,7 @@ async function restoreUnchangedSecrets(input) {
6688
6688
  function isJsonEqual(a, b) {
6689
6689
  if (Object.is(a, b)) return true;
6690
6690
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
6691
- if (isRecord$3(a) && isRecord$3(b)) {
6691
+ if (isRecord$4(a) && isRecord$4(b)) {
6692
6692
  const keys = Object.keys(a);
6693
6693
  if (keys.length !== Object.keys(b).length) return false;
6694
6694
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -6712,7 +6712,7 @@ function markerKeysOf(blob, owner) {
6712
6712
  }
6713
6713
  function nodeFromStored(value, owner) {
6714
6714
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
6715
- if (!isRecord$3(value)) return null;
6715
+ if (!isRecord$4(value)) return null;
6716
6716
  const children = /* @__PURE__ */ new Map();
6717
6717
  for (const [key, child] of Object.entries(value)) {
6718
6718
  const node = nodeFromStored(child, owner);
@@ -18117,15 +18117,6 @@ var StorageKindSchema = object({
18117
18117
  declaration: RecordKindDeclarationSchema
18118
18118
  });
18119
18119
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
18120
- collection: string().min(1),
18121
- expectRows: number().int().nonnegative()
18122
- }), object({
18123
- dropped: literal(true),
18124
- rows: number().int().nonnegative()
18125
- }), {
18126
- kind: "mutation",
18127
- auth: "admin"
18128
- }), method(object({
18129
18120
  owner: string().min(1).optional(),
18130
18121
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
18131
18122
  counts: boolean().optional()
@@ -44247,6 +44238,15 @@ var NcMediaPolicySchema = object({
44247
44238
  * Replaces `zoneCrop`.
44248
44239
  */
44249
44240
  showTriggerZone: boolean().optional(),
44241
+ /**
44242
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
44243
+ * through the track's positions up to the frame shown, the same path the
44244
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
44245
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
44246
+ * on a rule whose subject is a tracked object (refused on a sound rule);
44247
+ * dropped on `image: 'none'`. Absent = off.
44248
+ */
44249
+ showSubjectPath: boolean().optional(),
44250
44250
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
44251
44251
  attach: _enum([
44252
44252
  "best",
@@ -71606,12 +71606,6 @@ Object.freeze({
71606
71606
  addonId: null,
71607
71607
  access: "create"
71608
71608
  },
71609
- "storageAdmin.dropCollection": {
71610
- capName: "storage-admin",
71611
- capScope: "system",
71612
- addonId: null,
71613
- access: "delete"
71614
- },
71615
71609
  "storageAdmin.listKinds": {
71616
71610
  capName: "storage-admin",
71617
71611
  capScope: "system",
package/dist/index.mjs CHANGED
@@ -5550,7 +5550,7 @@ var ZodIssueCode = {
5550
5550
  var ZodFirstPartyTypeKind;
5551
5551
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5552
5552
  //#endregion
5553
- //#region ../types/dist/sleep-CSuN0thG.mjs
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$5(value) {
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$5(value)) return false;
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$5(value) && value["$secretClear"] === true;
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
@@ -6309,7 +6309,7 @@ var KeychainWriteRefusedError = class extends Error {
6309
6309
  }
6310
6310
  };
6311
6311
  var KEEP = { kind: "keep" };
6312
- function isRecord$4(value) {
6312
+ function isRecord$5(value) {
6313
6313
  return typeof value === "object" && value !== null && !Array.isArray(value);
6314
6314
  }
6315
6315
  function defaultMintId() {
@@ -6322,7 +6322,7 @@ function collectSecretMarkerRefs(value, out = []) {
6322
6322
  return out;
6323
6323
  }
6324
6324
  if (Array.isArray(value)) for (const item of value) collectSecretMarkerRefs(item, out);
6325
- else if (isRecord$4(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6325
+ else if (isRecord$5(value)) for (const child of Object.values(value)) collectSecretMarkerRefs(child, out);
6326
6326
  return out;
6327
6327
  }
6328
6328
  async function storedValueEquals(secrets, marker, candidate) {
@@ -6377,7 +6377,7 @@ function rowId(row, idKey) {
6377
6377
  return null;
6378
6378
  }
6379
6379
  async function writeArray(ctx, node, incoming, stored, fieldPath) {
6380
- const storedRows = Array.isArray(stored) ? stored.filter(isRecord$4) : [];
6380
+ const storedRows = Array.isArray(stored) ? stored.filter(isRecord$5) : [];
6381
6381
  if (!Array.isArray(incoming)) {
6382
6382
  ctx.deletes.push(...collectSecretMarkerRefs(storedRows));
6383
6383
  return {
@@ -6393,7 +6393,7 @@ async function writeArray(ctx, node, incoming, stored, fieldPath) {
6393
6393
  const kept = /* @__PURE__ */ new Set();
6394
6394
  const rows = [];
6395
6395
  for (const row of incoming) {
6396
- if (!isRecord$4(row)) {
6396
+ if (!isRecord$5(row)) {
6397
6397
  rows.push(row);
6398
6398
  continue;
6399
6399
  }
@@ -6418,7 +6418,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6418
6418
  case "leaf": return writeLeaf(ctx, incoming, stored, fieldPath);
6419
6419
  case "array": return writeArray(ctx, node, incoming, stored, fieldPath);
6420
6420
  case "object": {
6421
- if (!isRecord$4(incoming)) {
6421
+ if (!isRecord$5(incoming)) {
6422
6422
  if (incoming === void 0) return KEEP;
6423
6423
  ctx.deletes.push(...collectSecretMarkerRefs(stored));
6424
6424
  return {
@@ -6426,7 +6426,7 @@ async function writeNode(ctx, node, incoming, stored, fieldPath) {
6426
6426
  value: incoming
6427
6427
  };
6428
6428
  }
6429
- const storedObj = isRecord$4(stored) ? stored : {};
6429
+ const storedObj = isRecord$5(stored) ? stored : {};
6430
6430
  return {
6431
6431
  kind: "value",
6432
6432
  value: await writeMembers(ctx, node.children, incoming, storedObj, (m) => `${fieldPath}.${m}`)
@@ -6549,7 +6549,7 @@ async function resolveSecretMarkers(value, secrets, options = {}) {
6549
6549
  value: items
6550
6550
  };
6551
6551
  }
6552
- if (isRecord$4(v)) {
6552
+ if (isRecord$5(v)) {
6553
6553
  const out = {};
6554
6554
  for (const [k, child] of Object.entries(v)) {
6555
6555
  const s = substitute(child);
@@ -6581,7 +6581,7 @@ var SecretOverwriteRefusedError = class extends Error {
6581
6581
  this.name = "SecretOverwriteRefusedError";
6582
6582
  }
6583
6583
  };
6584
- function isRecord$3(value) {
6584
+ function isRecord$4(value) {
6585
6585
  return typeof value === "object" && value !== null && !Array.isArray(value);
6586
6586
  }
6587
6587
  function resolvedValue(pass, marker) {
@@ -6610,7 +6610,7 @@ function inArray(pass, incoming, stored) {
6610
6610
  return incoming.map((item, index) => {
6611
6611
  const twin = stored[index];
6612
6612
  if (isSecretMarker(twin)) return typeof item === "string" && item === resolvedValue(pass, twin) ? twin : item;
6613
- if (isRecord$3(item) && isRecord$3(twin)) return inArrayRow(pass, item, twin);
6613
+ if (isRecord$4(item) && isRecord$4(twin)) return inArrayRow(pass, item, twin);
6614
6614
  if (Array.isArray(item) && Array.isArray(twin)) return inArray(pass, item, twin);
6615
6615
  return item;
6616
6616
  });
@@ -6621,7 +6621,7 @@ function inArrayRow(pass, incoming, stored) {
6621
6621
  const twin = stored[key];
6622
6622
  if (isSecretMarker(twin)) {
6623
6623
  if (typeof value === "string" && value === resolvedValue(pass, twin)) out[key] = twin;
6624
- } else if (isRecord$3(value) && isRecord$3(twin)) out[key] = inArrayRow(pass, value, twin);
6624
+ } else if (isRecord$4(value) && isRecord$4(twin)) out[key] = inArrayRow(pass, value, twin);
6625
6625
  else if (Array.isArray(value) && Array.isArray(twin)) out[key] = inArray(pass, value, twin);
6626
6626
  }
6627
6627
  return out;
@@ -6629,7 +6629,7 @@ function inArrayRow(pass, incoming, stored) {
6629
6629
  async function walk(pass, incoming, stored) {
6630
6630
  if (isSecretMarker(stored)) return atMarker(pass, incoming, stored);
6631
6631
  if (Array.isArray(incoming) && Array.isArray(stored)) return inArray(pass, incoming, stored);
6632
- if (!isRecord$3(incoming) || !isRecord$3(stored)) return incoming;
6632
+ if (!isRecord$4(incoming) || !isRecord$4(stored)) return incoming;
6633
6633
  const out = { ...incoming };
6634
6634
  for (const [key, value] of Object.entries(incoming)) out[key] = await walk(pass, value, stored[key]);
6635
6635
  return out;
@@ -6660,7 +6660,7 @@ async function restoreUnchangedSecrets(input) {
6660
6660
  function isJsonEqual(a, b) {
6661
6661
  if (Object.is(a, b)) return true;
6662
6662
  if (Array.isArray(a)) return Array.isArray(b) && a.length === b.length && a.every((v, i) => isJsonEqual(v, b[i]));
6663
- if (isRecord$3(a) && isRecord$3(b)) {
6663
+ if (isRecord$4(a) && isRecord$4(b)) {
6664
6664
  const keys = Object.keys(a);
6665
6665
  if (keys.length !== Object.keys(b).length) return false;
6666
6666
  return keys.every((k) => Object.prototype.hasOwnProperty.call(b, k) && isJsonEqual(a[k], b[k]));
@@ -6684,7 +6684,7 @@ function markerKeysOf(blob, owner) {
6684
6684
  }
6685
6685
  function nodeFromStored(value, owner) {
6686
6686
  if (isSecretMarker(value)) return isSecretRefOwnedBy(value.$secret, owner) ? { kind: "leaf" } : null;
6687
- if (!isRecord$3(value)) return null;
6687
+ if (!isRecord$4(value)) return null;
6688
6688
  const children = /* @__PURE__ */ new Map();
6689
6689
  for (const [key, child] of Object.entries(value)) {
6690
6690
  const node = nodeFromStored(child, owner);
@@ -18089,15 +18089,6 @@ var StorageKindSchema = object({
18089
18089
  declaration: RecordKindDeclarationSchema
18090
18090
  });
18091
18091
  method(object({ ownerPrefix: string().min(1).optional() }), object({ tables: array(StorageTableSchema) }), { auth: "admin" }), method(object({
18092
- collection: string().min(1),
18093
- expectRows: number().int().nonnegative()
18094
- }), object({
18095
- dropped: literal(true),
18096
- rows: number().int().nonnegative()
18097
- }), {
18098
- kind: "mutation",
18099
- auth: "admin"
18100
- }), method(object({
18101
18092
  owner: string().min(1).optional(),
18102
18093
  /** `false` skips the per-kind row count (a catalog read only). Default true. */
18103
18094
  counts: boolean().optional()
@@ -44219,6 +44210,15 @@ var NcMediaPolicySchema = object({
44219
44210
  * Replaces `zoneCrop`.
44220
44211
  */
44221
44212
  showTriggerZone: boolean().optional(),
44213
+ /**
44214
+ * Draw the SUBJECT'S PATH on the picture — a line in the subject's colour
44215
+ * through the track's positions up to the frame shown, the same path the
44216
+ * debug views draw (`buildSubjectPath`, D903). Every picture mode a subject
44217
+ * is drawn on: a `crop` maps the path into the crop and clips it. Valid only
44218
+ * on a rule whose subject is a tracked object (refused on a sound rule);
44219
+ * dropped on `image: 'none'`. Absent = off.
44220
+ */
44221
+ showSubjectPath: boolean().optional(),
44222
44222
  /** @deprecated D897 — accepted from an editor that predates `image`, folded into it on save. */
44223
44223
  attach: _enum([
44224
44224
  "best",
@@ -71578,12 +71578,6 @@ Object.freeze({
71578
71578
  addonId: null,
71579
71579
  access: "create"
71580
71580
  },
71581
- "storageAdmin.dropCollection": {
71582
- capName: "storage-admin",
71583
- capScope: "system",
71584
- addonId: null,
71585
- access: "delete"
71586
- },
71587
71581
  "storageAdmin.listKinds": {
71588
71582
  capName: "storage-admin",
71589
71583
  capScope: "system",
@@ -30,7 +30,7 @@ async function d(e) {
30
30
  }
31
31
  }
32
32
  async function f() {
33
- return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-CRN2NPSr.mjs")).catch((e) => {
33
+ return l ||= d(() => import("./_virtual_mf-localSharedImportMap___mfe_internal__addon_pipeline_orchestrator_widgets-DdMlROi7.mjs")).catch((e) => {
34
34
  throw l = void 0, e;
35
35
  }), l;
36
36
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.613",
3
+ "version": "1.2.615",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",