@camstack/system 1.2.478 → 1.2.480

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 (88) hide show
  1. package/dist/{agent-https-CXMsY05a.mjs → agent-https-6j9JDvjh.mjs} +1 -1
  2. package/dist/{agent-https-D6a1IRPK.js → agent-https-DDnP9ywM.js} +1 -1
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/autotrack/index.js +1 -1
  10. package/dist/builtins/autotrack/index.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  13. package/dist/builtins/calendars/calendars.addon.js +1 -1
  14. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  15. package/dist/builtins/camera-grid/index.js +1 -1
  16. package/dist/builtins/camera-grid/index.mjs +1 -1
  17. package/dist/builtins/composer/composer.addon.js +3 -3
  18. package/dist/builtins/composer/composer.addon.mjs +3 -3
  19. package/dist/builtins/console-logging/index.js +1 -1
  20. package/dist/builtins/console-logging/index.mjs +1 -1
  21. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  22. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  23. package/dist/builtins/device-history/device-history.addon.js +2 -2
  24. package/dist/builtins/device-history/device-history.addon.mjs +2 -2
  25. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  26. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  27. package/dist/builtins/hub-forwarder/index.js +1 -1
  28. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  29. package/dist/builtins/keychain/index.js +3 -3
  30. package/dist/builtins/keychain/index.mjs +3 -3
  31. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  32. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  33. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  34. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  35. package/dist/builtins/local-network/local-network.addon.js +2 -2
  36. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  37. package/dist/builtins/loki-logging/index.js +1 -1
  38. package/dist/builtins/loki-logging/index.mjs +1 -1
  39. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  40. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  41. package/dist/builtins/platform-probe/index.js +1 -1
  42. package/dist/builtins/platform-probe/index.mjs +1 -1
  43. package/dist/builtins/record-entries/index.js +1 -1
  44. package/dist/builtins/record-entries/index.mjs +1 -1
  45. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  46. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  47. package/dist/builtins/snapshot/index.js +1 -1
  48. package/dist/builtins/snapshot/index.mjs +1 -1
  49. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  50. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  51. package/dist/builtins/sqlite-storage/index.js +1 -1
  52. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  53. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  54. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  55. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  56. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  57. package/dist/builtins/system-config/system-config.addon.js +3 -3
  58. package/dist/builtins/system-config/system-config.addon.mjs +3 -3
  59. package/dist/builtins/winston-logging/index.js +1 -1
  60. package/dist/builtins/winston-logging/index.mjs +1 -1
  61. package/dist/{composition-sources-CQcYYZxL.mjs → composition-sources-CcxoCFH6.mjs} +1 -1
  62. package/dist/{composition-sources-yfxjp3qV.js → composition-sources-DTchGK8d.js} +1 -1
  63. package/dist/{constants-lWkcQxVE.mjs → constants-BUf0tYhG.mjs} +1 -1
  64. package/dist/{constants-D--JWd55.js → constants-Bc-5tr1I.js} +1 -1
  65. package/dist/{device-ca-J9ZsyoFw.mjs → device-ca-Bxjub9X-.mjs} +1 -1
  66. package/dist/{device-ca-D0KnLHMw.js → device-ca-CVO0N_Oz.js} +1 -1
  67. package/dist/{dist-iVUkxljP.js → dist-DDVtA047.js} +1 -311
  68. package/dist/{dist-OC-L50JY.mjs → dist-DfZKKnMP.mjs} +2 -270
  69. package/dist/file-host-worker.js +1 -1
  70. package/dist/file-host-worker.mjs +1 -1
  71. package/dist/{hub-mdns-ciao-BDKiKV75.js → hub-mdns-ciao-C49WPQfd.js} +2 -2
  72. package/dist/{hub-mdns-ciao-CvXWbJub.mjs → hub-mdns-ciao-KIDDBuDn.mjs} +2 -2
  73. package/dist/index.js +7 -7
  74. package/dist/index.mjs +7 -7
  75. package/dist/{restore-archive-DxkdJpWd.js → restore-archive-BXORpvel.js} +1 -1
  76. package/dist/{restore-archive-D1Uzojhc.mjs → restore-archive-NvTeD4tg.mjs} +1 -1
  77. package/dist/{retention-B3z_lBP1.js → retention-CAGXAgiQ.js} +1 -1
  78. package/dist/{retention-DdVnmXXS.mjs → retention-Dn74ba1y.mjs} +1 -1
  79. package/dist/{wal-maintenance-o9TyZeYp.js → wal-maintenance-ByIgd_g9.js} +0 -0
  80. package/dist/{wal-maintenance-DuO0D2H3.mjs → wal-maintenance-DkkPbYwt.mjs} +0 -0
  81. package/package.json +1 -19
  82. package/assets/display-palette/icon.svg +0 -7
  83. package/dist/builtins/display-palette/display-palette.addon.d.ts +0 -12
  84. package/dist/builtins/display-palette/display-palette.addon.js +0 -85
  85. package/dist/builtins/display-palette/display-palette.addon.mjs +0 -79
  86. package/dist/builtins/display-palette/index.d.ts +0 -1
  87. package/dist/builtins/display-palette/index.js +0 -8
  88. package/dist/builtins/display-palette/index.mjs +0 -2
@@ -44943,107 +44943,6 @@ var PALETTE_PRESET_IDS = [
44943
44943
  "high-contrast",
44944
44944
  "okabe-ito"
44945
44945
  ];
44946
- function isPaletteEntryId(id) {
44947
- return PALETTE_ENTRY_IDS.includes(id);
44948
- }
44949
- function isPalettePresetId(id) {
44950
- return PALETTE_PRESET_IDS.includes(id);
44951
- }
44952
- /**
44953
- * CIEDE2000 and WCAG contrast for the display palette (D939).
44954
- *
44955
- * One implementation, shared by the hub validator, the admin editor and
44956
- * (phase 2) the viewer. The arithmetic matches the viewer's `src/theme/cie.ts`.
44957
- */
44958
- /** Page backgrounds the contrast rule is measured against. */
44959
- var PALETTE_BACKGROUNDS = {
44960
- dark: "#0c0a09",
44961
- light: "#fafaf9"
44962
- };
44963
- /** Marks that are not event kinds and share the raised distance floor. */
44964
- var PALETTE_MARK_PAIR = ["live", "heatmapScrub"];
44965
- var HEX = /^#[0-9a-fA-F]{6}$/;
44966
- function srgbChannel(hex, start) {
44967
- return Number.parseInt(hex.slice(start, start + 2), 16);
44968
- }
44969
- function srgbToLin(channel) {
44970
- const x = channel / 255;
44971
- return x <= .04045 ? x / 12.92 : ((x + .055) / 1.055) ** 2.4;
44972
- }
44973
- function relativeLuminance(hex) {
44974
- const r = srgbToLin(srgbChannel(hex, 1));
44975
- const g = srgbToLin(srgbChannel(hex, 3));
44976
- const b = srgbToLin(srgbChannel(hex, 5));
44977
- return .2126 * r + .7152 * g + .0722 * b;
44978
- }
44979
- /** WCAG contrast ratio of two `#rrggbb` colours. Non-hex returns 0. */
44980
- function contrastRatio(a, b) {
44981
- if (!HEX.test(a) || !HEX.test(b)) return 0;
44982
- const hi = Math.max(relativeLuminance(a), relativeLuminance(b));
44983
- const lo = Math.min(relativeLuminance(a), relativeLuminance(b));
44984
- return (hi + .05) / (lo + .05);
44985
- }
44986
- function xyzToLab(hex) {
44987
- const r = srgbToLin(srgbChannel(hex, 1));
44988
- const g = srgbToLin(srgbChannel(hex, 3));
44989
- const bl = srgbToLin(srgbChannel(hex, 5));
44990
- const x = .4124564 * r + .3575761 * g + .1804375 * bl;
44991
- const y = .2126729 * r + .7151522 * g + .072175 * bl;
44992
- const z = .0193339 * r + .119192 * g + .9503041 * bl;
44993
- const f = (t) => t > .008856 ? Math.cbrt(t) : 7.787 * t + 16 / 116;
44994
- const fx = f(x / .95047);
44995
- const fy = f(y);
44996
- const fz = f(z / 1.08883);
44997
- return {
44998
- L: 116 * fy - 16,
44999
- a: 500 * (fx - fy),
45000
- b: 200 * (fy - fz)
45001
- };
45002
- }
45003
- function hueDeg(ap, b) {
45004
- if (ap === 0 && b === 0) return 0;
45005
- const ang = Math.atan2(b, ap) * 180 / Math.PI;
45006
- return ang < 0 ? ang + 360 : ang;
45007
- }
45008
- /** CIEDE2000. Non-hex returns 0 so a bad swatch fails the distinctness rule. */
45009
- function deltaE00(hex1, hex2) {
45010
- if (!HEX.test(hex1) || !HEX.test(hex2)) return 0;
45011
- const lab1 = xyzToLab(hex1);
45012
- const lab2 = xyzToLab(hex2);
45013
- const cab7 = ((Math.hypot(lab1.a, lab1.b) + Math.hypot(lab2.a, lab2.b)) / 2) ** 7;
45014
- const g = .5 * (1 - Math.sqrt(cab7 / (cab7 + 25 ** 7)));
45015
- const a1p = (1 + g) * lab1.a;
45016
- const a2p = (1 + g) * lab2.a;
45017
- const c1p = Math.hypot(a1p, lab1.b);
45018
- const c2p = Math.hypot(a2p, lab2.b);
45019
- const h1p = hueDeg(a1p, lab1.b);
45020
- const h2p = hueDeg(a2p, lab2.b);
45021
- let dhp = 0;
45022
- if (c1p * c2p !== 0) {
45023
- dhp = h2p - h1p;
45024
- if (dhp > 180) dhp -= 360;
45025
- else if (dhp < -180) dhp += 360;
45026
- }
45027
- const dHp = 2 * Math.sqrt(c1p * c2p) * Math.sin(dhp * Math.PI / 360);
45028
- const lbp = (lab1.L + lab2.L) / 2;
45029
- const cbp = (c1p + c2p) / 2;
45030
- let hbp = h1p + h2p;
45031
- if (c1p * c2p !== 0) {
45032
- if (Math.abs(h1p - h2p) > 180) hbp += hbp < 360 ? 360 : -360;
45033
- hbp /= 2;
45034
- }
45035
- const t = 1 - .17 * Math.cos((hbp - 30) * Math.PI / 180) + .24 * Math.cos(2 * hbp * Math.PI / 180) + .32 * Math.cos((3 * hbp + 6) * Math.PI / 180) - .2 * Math.cos((4 * hbp - 63) * Math.PI / 180);
45036
- const dTheta = 30 * Math.exp(-(((hbp - 275) / 25) ** 2));
45037
- const cbp7 = cbp ** 7;
45038
- const rc = 2 * Math.sqrt(cbp7 / (cbp7 + 25 ** 7));
45039
- const sl = 1 + .015 * (lbp - 50) ** 2 / Math.sqrt(20 + (lbp - 50) ** 2);
45040
- const sc = 1 + .045 * cbp;
45041
- const sh = 1 + .015 * cbp * t;
45042
- const rt = -Math.sin(2 * dTheta * Math.PI / 180) * rc;
45043
- const dLp = lab2.L - lab1.L;
45044
- const dCp = c2p - c1p;
45045
- return Math.sqrt((dLp / sl) ** 2 + (dCp / sc) ** 2 + (dHp / sh) ** 2 + rt * (dCp / sc) * (dHp / sh));
45046
- }
45047
44946
  /** Frozen palette tables (D939). The spec refuses a table that breaks the rule. */
45048
44947
  var CAMSTACK_HEX = {
45049
44948
  motion: "#d946ef",
@@ -45273,7 +45172,7 @@ var setPaletteInputSchema = z.union([z.object({ presetId: z.string() }), z.objec
45273
45172
  presetId: z.string(),
45274
45173
  overrides: z.record(z.string(), paletteSwatchSchema)
45275
45174
  })]);
45276
- var storedPaletteSchema = z.object({
45175
+ z.object({
45277
45176
  presetId: z.string(),
45278
45177
  overrides: z.record(z.string(), paletteSwatchSchema)
45279
45178
  });
@@ -45330,101 +45229,6 @@ function readyOf(row, source, customized) {
45330
45229
  fallbacks: [...row.fallbacks]
45331
45230
  };
45332
45231
  }
45333
- function namedColours(swatches, fallbacks) {
45334
- const rows = [];
45335
- for (const id of PALETTE_ENTRY_IDS) {
45336
- const swatch = swatches[id];
45337
- if (swatch !== void 0) rows.push({
45338
- name: id,
45339
- hex: swatch.hex
45340
- });
45341
- }
45342
- fallbacks.forEach((hex, index) => {
45343
- rows.push({
45344
- name: `fallback-${index}`,
45345
- hex
45346
- });
45347
- });
45348
- return rows;
45349
- }
45350
- function gradientViolations(swatches) {
45351
- const audio = swatches[AUDIO_ENTRY_ID];
45352
- if (audio === void 0) return [];
45353
- if (audio.form !== "gradient") return [{
45354
- code: "bad-gradient",
45355
- entry: AUDIO_ENTRY_ID
45356
- }];
45357
- return AUDIO_GRADIENT_ALPHAS.every((alpha, index) => audio.alphas[index] === alpha) ? [] : [{
45358
- code: "bad-gradient",
45359
- entry: AUDIO_ENTRY_ID
45360
- }];
45361
- }
45362
- function isMarkPair(left, right) {
45363
- const marks = PALETTE_MARK_PAIR;
45364
- return marks.includes(left) && marks.includes(right);
45365
- }
45366
- /** Refuse a palette whose entries are not pairwise distinct on both themes. */
45367
- function validatePalette(swatches, fallbacks) {
45368
- const violations = [];
45369
- for (const id of PALETTE_ENTRY_IDS) if (swatches[id] === void 0) violations.push({
45370
- code: "missing-entry",
45371
- entry: id
45372
- });
45373
- for (const key of Object.keys(swatches)) if (!isPaletteEntryId(key)) violations.push({
45374
- code: "unknown-entry",
45375
- entry: key
45376
- });
45377
- if (fallbacks.length !== 8) violations.push({ code: "bad-fallbacks" });
45378
- violations.push(...gradientViolations(swatches));
45379
- const rows = namedColours(swatches, fallbacks);
45380
- for (let i = 0; i < rows.length; i++) for (let j = i + 1; j < rows.length; j++) {
45381
- const left = rows[i];
45382
- const right = rows[j];
45383
- if (left === void 0 || right === void 0) continue;
45384
- const deltaE = deltaE00(left.hex, right.hex);
45385
- if (deltaE < (isMarkPair(left.name, right.name) ? 20 : 7)) violations.push({
45386
- code: "too-close",
45387
- left: left.name,
45388
- right: right.name,
45389
- deltaE
45390
- });
45391
- }
45392
- for (const row of rows) for (const background of ["dark", "light"]) {
45393
- const contrast = contrastRatio(row.hex, PALETTE_BACKGROUNDS[background]);
45394
- if (contrast < 3) violations.push({
45395
- code: "low-contrast",
45396
- entry: row.name,
45397
- background,
45398
- contrast
45399
- });
45400
- }
45401
- return violations.length === 0 ? { ok: true } : {
45402
- ok: false,
45403
- violations
45404
- };
45405
- }
45406
- function formatPaletteViolation(violation) {
45407
- switch (violation.code) {
45408
- case "too-close": return `${violation.left} vs ${violation.right} (ΔE ${violation.deltaE.toFixed(1)})`;
45409
- case "low-contrast": return `${violation.entry} on ${violation.background} (${violation.contrast.toFixed(1)}:1)`;
45410
- case "missing-entry": return `${violation.entry} is missing`;
45411
- case "unknown-entry": return `${violation.entry} is not a palette entry`;
45412
- case "bad-gradient": return `${violation.entry} gradient is not the six canonical steps`;
45413
- case "bad-fallbacks": return "fallback list must hold eight colours";
45414
- case "unknown-preset": return `${violation.presetId} is not a preset`;
45415
- }
45416
- }
45417
- function formatPaletteViolations(violations) {
45418
- return violations.map(formatPaletteViolation).join("; ");
45419
- }
45420
- var PaletteRejectedError = class extends Error {
45421
- violations;
45422
- constructor(violations) {
45423
- super(formatPaletteViolations(violations));
45424
- this.name = "PaletteRejectedError";
45425
- this.violations = violations;
45426
- }
45427
- };
45428
45232
  function hashFallback(kind, fallbacks) {
45429
45233
  let hash = 0;
45430
45234
  for (let i = 0; i < kind.length; i++) hash = hash * 31 + (kind.codePointAt(i) ?? 0) >>> 0;
@@ -45443,78 +45247,6 @@ function paintHex(swatches, fallbacks, kind) {
45443
45247
  if (direct !== void 0) return direct.hex;
45444
45248
  return hashFallback(key, fallbacks);
45445
45249
  }
45446
- function mergeOverrides(base, overrides) {
45447
- return {
45448
- ...base,
45449
- ...overrides
45450
- };
45451
- }
45452
- function overridesOf(input) {
45453
- return "overrides" in input ? input.overrides : {};
45454
- }
45455
- /** The palette a `setPalette` input would store. Invalid input is a refusal. */
45456
- function paletteFromInput(input) {
45457
- const row = presetById(input.presetId);
45458
- if (row === void 0 || !isPalettePresetId(input.presetId)) throw new PaletteRejectedError([{
45459
- code: "unknown-preset",
45460
- presetId: input.presetId
45461
- }]);
45462
- const overrides = overridesOf(input);
45463
- const swatches = mergeOverrides(row.swatches, overrides);
45464
- const verdict = validatePalette(swatches, row.fallbacks);
45465
- if (!verdict.ok) throw new PaletteRejectedError(verdict.violations);
45466
- const customized = Object.keys(overrides).length > 0;
45467
- return {
45468
- status: "ready",
45469
- presetId: row.id,
45470
- customized,
45471
- source: "stored",
45472
- swatches,
45473
- fallbacks: [...row.fallbacks]
45474
- };
45475
- }
45476
- function isEmptyRecord(value) {
45477
- return typeof value === "object" && value !== null && !Array.isArray(value) && Object.keys(value).length === 0;
45478
- }
45479
- /**
45480
- * Interpret a settings blob. A missing row is the bundled preset and says so.
45481
- * A blob that does not parse, names an unknown preset, or fails the rule is
45482
- * `unknown` — never the default wearing the stored preset's name.
45483
- */
45484
- function paletteFromStored(value) {
45485
- if (value === void 0 || value === null || isEmptyRecord(value)) return bundledCamstack();
45486
- const parsed = storedPaletteSchema.safeParse(value);
45487
- if (!parsed.success) return {
45488
- status: "unknown",
45489
- reason: "stored palette is unreadable"
45490
- };
45491
- const row = presetById(parsed.data.presetId);
45492
- if (row === void 0) return {
45493
- status: "unknown",
45494
- reason: `unknown preset ${parsed.data.presetId}`
45495
- };
45496
- const swatches = mergeOverrides(row.swatches, parsed.data.overrides);
45497
- const verdict = validatePalette(swatches, row.fallbacks);
45498
- if (!verdict.ok) return {
45499
- status: "unknown",
45500
- reason: formatPaletteViolations(verdict.violations)
45501
- };
45502
- const customized = Object.keys(parsed.data.overrides).length > 0;
45503
- return {
45504
- status: "ready",
45505
- presetId: row.id,
45506
- customized,
45507
- source: "stored",
45508
- swatches,
45509
- fallbacks: [...row.fallbacks]
45510
- };
45511
- }
45512
- function storedFromReady(ready, overrides) {
45513
- return {
45514
- presetId: ready.presetId,
45515
- overrides: { ...overrides }
45516
- };
45517
- }
45518
45250
  /**
45519
45251
  * Unified event-kind taxonomy — THE single source of truth for
45520
45252
  * `kind → { parentKind, category, level, color, iconId, labelKey, label,
@@ -95688,4 +95420,4 @@ function armRemovalReconcile(opts) {
95688
95420
  return () => clearInterval(timer);
95689
95421
  }
95690
95422
  //#endregion
95691
- export { PREFERENCES_MAX_VALUE_BYTES as $, defineCustomActions as $i, objectInputDeclaresRequiredDeviceId as $n, compositionSliceKey as $r, deriveBatteryPresence as $t, DEVICE_SAN_USER_PREFIX as A, toNodeId as Aa, RecordKindDeclarationSchema as Ai, isLocationEnabled as An, storageAdminCapability as Ar, buildCapabilityLookup as At, HISTORY_CATALOG as B, WELL_KNOWN_TAB_MAP as Bi, locationIconKey as Bn, validateComposition as Br, compositionFieldKey as Bt, DATA_STORE_DATABASES as C, recordSecretRef as Ca, RECORD_DELETE_BATCH as Ci, isAlertEpisodeOpen as Cn, scopesAllowDeviceCap as Cr, alertEpisodePayload as Ct, DEVICE_HISTORY_ENERGY_KEY as D, secretTreeFromPaths as Da, RUNTIME_DEFAULTS as Di, isCollectionArrayMethod as Dn, siteZoneKey as Dr, backupCapability as Dt, DEVICE_ENROLLMENT_TTL_MS as E, scopeKey as Ea, REMOVE_LEAF as Ei, isArrayOutputSchema as En, shortHostname as Er, authProviderCapability as Et, DeviceStatusSchema as F, EventCategory as Fa, SECRET_CLEAR as Fi, keychainCapability as Fn, storedFromReady as Fr, calendarsCapability as Ft, KeychainAuditEntrySchema as G, assertValidDeclaration as Gi, mayWriteToLocation as Gn, withLocationMode as Gr, coreBlockSourceKind as Gt, HUB_MDNS_SERVICE_TYPE as H, asNumber as Hi, logLevelAtMost as Hn, vectorDimFromBase64 as Hr, coreBlockAddonId as Ht, DeviceTombstoneSchema as I, StoredRecordKindDeclarationSchema as Ii, legacyAutoLinkIds as In, streamCatalogCapability as Ir, cameraGridLayoutCapability as It, LegacyStorageLocationDefaultSchema as J, collectSecretLeaves as Ji, modeMayWrite as Jn, cloneStatefulExpressionMemory as Jr, dataStoreProviderCapability as Jt, KeychainResetRecordSchema as K, buildSecretRef as Ki, memoizePinnedFfmpeg as Kn, COMPOSER_ADDON_ID as Kr, coreBlocksCapability as Kt, FIRST_LEVEL_MACRO_CLASSES as L, TransactRefusedError as Li, legacyModeOf as Ln, streamQualityLabel as Lr, canonicalIconKey as Lt, DISPLAY_PRESETS as M, transformSecretWrite as Ma, RecordTooLargeError as Mi, isVoidInput as Mn, storageMigrationCapability as Mr, buildDeviceSignatureMessage as Mt, DataStoreDatabaseSchema as N, userError as Na, RecordUniqueViolationError as Ni, kebabToCamel as Nn, storageOccupancyCapability as Nr, buildStreamParamsConfigSchema as Nt, DEVICE_NONCE_TTL_MS as O, secretTreeFromSchema as Oa, ReadinessRegistry as Oi, isCredentialTokenPayload as On, snapshotCapability as Or, bareAddonId as Ot, DeclaredDevices as P, withoutCallerStamp as Pa, RevConflictError as Pi, keychainAdminCapability as Pn, storageProviderCapability as Pr, bundledCamstack as Pt, NetworkTunnelStartedDataSchema as Q, customAction as Qi, objectInputDeclaresAddonId as Qn, compositionItemFieldPath as Qr, defineExtensionSlotProvider as Qt, FieldClaimModeSchema as R, UnindexedFilterError as Ri, lifecycleJobSchema as Rn, supportedRuntimes as Rr, checkRoleAddress as Rt, DATABASE_SNAPSHOT_TIMEOUT_MS as S, readinessKey as Sa, RECORD_BATCH_MAX_BYTES as Si, interpolate as Sn, scopesAllowAddon as Sr, alertEpisodeId as St, DERIVED_CAMERA_SILENCED_CAP_NAMES as T, resolveSecretMarkers as Ta, REDACTED_SECRET as Ti, isAppLinkBase as Tn, settingsStoreCapability as Tr, armRemovalReconcile as Tt, HUB_MDNS_TXT_KEYS as U, asString$1 as Ui, looseSchema as Un, vectorIndexDimConflictError as Ur, coreBlockComposition as Ut, HISTORY_ITEM_CATALOG as V, asJsonObject as Vi, logDestinationCapability as Vn, validateCustomAddress as Vr, compositionSourceRefs as Vt, KEYCHAIN_RESET_TRIGGER_ACTOR as W, assertTransactScope as Wi, mayReadLocation as Wn, vectorStoreCapability as Wr, coreBlockIdFromAddonId as Wt, MINUTES_PER_DAY as X, collectZodSecretPaths as Xi, normalizeCoreBlockWrite as Xn, composedDeviceStableId as Xr, declarationOwnerNodeId as Xt, METHOD_ACCESS_MAP as Y, collectSecretMarkerRefs as Yi, motionCapability as Yn, composedDeviceRef as Yr, databaseSnapshotCapability as Yt, MOTION_CLOSE_AFTER_MS as Z, createEvent as Zi, normalizeUnit as Zn, compositionFeatureEnabled as Zr, decodeVectorBase64 as Zt, CatalogFileSchema as _, normalizeNodeId as _a, HISTORY_DEFAULT_MIN_INTERVAL_MS as _i, filesystemBrowseCapability as _n, resolveHubAddressRoles as _r, UNATTRIBUTED_BUCKET_KEY as _t, BaseDevice as a, historyItemFieldPath as aa, DeviceRole as ai, deviceRemovalHookCapability as an, planComposition as ar, ROOT_BUCKET_KEY as at, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as b, parseJsonUnknown as ba, PlaintextSecretError as bi, formatMinutes as bn, resolveNotificationTapAddress as br, addonSettingsCapability as bt, CAMSTACK_APP_LINK_ORIGIN as c, isEvent as ca, BaseAddon as ci, displayPaletteCapability as cn, ptzAutotrackCapability as cr, STREAM_PROFILE_META as ct, COMPOSED_ITEM_FIXED_FIELDS as d, isSecretMarker as da, DATAPLANE_SECRET_HEADER as di, enumerateSchemaFields as dn, reducePoints as dr, SsoBridgeClaimsSchema as dt, defineRecordKinds as ea, compositionSourceKey as ei, describeComposableCaps as en, paletteFromInput as er, PaletteRejectedError as et, COMPOSER_RUNNER_ID as f, isSecretMarkerLike as fa, DEVICE_SETTINGS_CONTRIBUTION_METHODS as fi, evaluateCompositionField as fn, replacedFieldKeys as fr, StorageCleanupJobSchema as ft, CalendarPreferencesSchema as g, nodePin as ga, ForeignSecretMarkerError as gi, extractNestedAddonId as gn, resolveCoreBlockFiles as gr, TokenScopeSchema as gt, CREDENTIAL_TOKEN_AUDIENCE as h, mapSecretLeaves as ha, FilterRequiredError as hi, expressionContainsBuiltinCall as hn, resolveCoreBlockEntry as hr, StorageMigrationJobSchema as ht, AlertSchema as i, formatSecretScope as ia, DeviceFeature as ii, deviceManagerCapability as in, pickAppLinkHub as ir, RECORDING_SOURCE_CAMSTACK_ADDON as it, DEVICE_TOMBSTONE_RETENTION_MS as j, toSecretFieldView as ja, RecordNotFoundError as ji, isObjectInput as jn, storageCapability as jr, buildDeviceEnrollmentLink as jt, DEVICE_SAN_CREDENTIAL_PREFIX as k, sleep as ka, ReadinessTimeoutError as ki, isDefaultAppConnectionEndpoint as kn, splitTranslationRef as kr, batteryCapability as kt, CAP_NAMES_WITH_STATUS as l, isKeychainStoredField as la, BatchTooLargeError as li, enumerateInferenceDevices as ln, recordEntriesCapability as lr, ScopedTokenSchema as lt, CORE_BLOCK_ADDON_PREFIX as m, makeSecretMarker as ma, DeclarationRefusedError as mi, expandContainer as mn, resolveBucketMs as mr, StorageLocationTypeSchema as mt, AGENT_MDNS_TXT_KEYS as n, emitReadiness as na, disarmRoseMemory as ni, deviceExtensionCapability as nn, parseAcceleratorFactsJson as nr, PreferenceNamespaceSchema as nt, BatteryStatusSchema as o, hydrateSchema as oa, DeviceType as oi, deviceStateCapability as on, platformProbeCapability as or, RecordingStatusSchema as ot, CORE_BLOCKS_ADDON_ID as p, isSecretRefOwnedBy as pa, DEVICE_STATUS_METHOD as pi, evictionPolicyOfLocation as pn, resolveAppConnections as pr, StorageLocationModeSchema as pt, LOG_LEVEL_RANK as q, collectSecretConfigKeys as qi, metricsProviderCapability as qn, buildFfmpegArgs as qr, createDeviceExtensionProvider as qt, ALL_CAPABILITY_DEFINITIONS as r, expandCapMethods as ra, toExpressionValue as ri, deviceHistoryCapability as rn, parseStreamParamsFormPatch as rr, PreferenceValueSchema as rt, CAMERA_SWITCH_ORDER as s, isDeviceConfigCap as sa, errMsg as si, deviceStatusCapability as sn, procedureAuthKey as sr, STORAGE_ACCESS_FALLBACK as st, AGENT_MDNS_SERVICE_TYPE as t, emitDownForOwnedCaps as ta, createStatefulExpressionMemory as ti, deviceCredentialsCapability as tn, paletteFromStored as tr, PreferenceDeviceIdSchema as tt, CATALOG_LANGS as u, isSecretClear as ua, CALLER_STAMPED_CAPABILITIES as ui, enumerateItemArrayFields as un, recordsCapability as ur, ServerNameSchema as ut, CoreBlockSchema as v, normalizeSecretOwner as va, InvalidRecordError as vi, foldSnapshotByFunction as vn, resolveLocationMode as vr, UserRecordSchema as vt, DAY_NAMES as w, resolveCapMount as wa, RECORD_SWEEP_INTERVAL_MS as wi, isAlertEpisodeSeverity as wn, scoreRuntimes as wr, alertsCapability as wt, DATABASE_SNAPSHOT_SUFFIX as x, parseSecretRef as xa, RECORD_BATCH_MAX as xi, gbToBytes as xn, runtimeStatePolicyFor as xr, addonWidgetsCapability as xt, CredentialTokenClaimsSchema as y, parseJsonObject as ya, NoCallerError as yi, formatDeviceRevoker as yn, resolveMethodAuth as yr, addonPagesCapability as yt, FieldClaimSchema as z, UnknownRecordKindError as zi, localNetworkCapability as zn, userManagementCapability as zr, composerCapability as zt };
95423
+ export { PreferenceDeviceIdSchema as $, hydrateSchema as $i, planComposition as $n, DeviceType as $r, deviceExtensionCapability as $t, DEVICE_SAN_USER_PREFIX as A, TransactRefusedError as Ai, keychainAdminCapability as An, streamQualityLabel as Ar, buildDeviceSignatureMessage as At, HISTORY_ITEM_CATALOG as B, collectSecretConfigKeys as Bi, mayReadLocation as Bn, buildFfmpegArgs as Br, coreBlockComposition as Bt, DATA_STORE_DATABASES as C, toNodeId as Ca, RecordKindDeclarationSchema as Ci, isCollectionArrayMethod as Cn, splitTranslationRef as Cr, armRemovalReconcile as Ct, DEVICE_HISTORY_ENERGY_KEY as D, withoutCallerStamp as Da, RevConflictError as Di, isObjectInput as Dn, storageOccupancyCapability as Dr, batteryCapability as Dt, DEVICE_ENROLLMENT_TTL_MS as E, userError as Ea, RecordUniqueViolationError as Ei, isLocationEnabled as En, storageMigrationCapability as Er, bareAddonId as Et, DeviceTombstoneSchema as F, asNumber as Fi, localNetworkCapability as Fn, vectorDimFromBase64 as Fr, checkRoleAddress as Ft, KeychainResetRecordSchema as G, customAction as Gi, motionCapability as Gn, compositionItemFieldPath as Gr, dataStoreProviderCapability as Gt, HUB_MDNS_TXT_KEYS as H, collectSecretMarkerRefs as Hi, memoizePinnedFfmpeg as Hn, composedDeviceRef as Hr, coreBlockSourceKind as Ht, FIRST_LEVEL_MACRO_CLASSES as I, asString$1 as Ii, locationIconKey as In, vectorIndexDimConflictError as Ir, composerCapability as It, METHOD_ACCESS_MAP as J, emitDownForOwnedCaps as Ji, objectInputDeclaresAddonId as Jn, createStatefulExpressionMemory as Jr, decodeVectorBase64 as Jt, LOG_LEVEL_RANK as K, defineCustomActions as Ki, normalizeCoreBlockWrite as Kn, compositionSliceKey as Kr, databaseSnapshotCapability as Kt, FieldClaimModeSchema as L, assertTransactScope as Li, logDestinationCapability as Ln, vectorStoreCapability as Lr, compositionFieldKey as Lt, DataStoreDatabaseSchema as M, UnknownRecordKindError as Mi, legacyAutoLinkIds as Mn, userManagementCapability as Mr, calendarsCapability as Mt, DeclaredDevices as N, WELL_KNOWN_TAB_MAP as Ni, legacyModeOf as Nn, validateComposition as Nr, cameraGridLayoutCapability as Nt, DEVICE_NONCE_TTL_MS as O, EventCategory as Oa, SECRET_CLEAR as Oi, isVoidInput as On, storageProviderCapability as Or, buildCapabilityLookup as Ot, DeviceStatusSchema as P, asJsonObject as Pi, lifecycleJobSchema as Pn, validateCustomAddress as Pr, canonicalIconKey as Pt, PREFERENCES_MAX_VALUE_BYTES as Q, historyItemFieldPath as Qi, pickAppLinkHub as Qn, DeviceRole as Qr, deviceCredentialsCapability as Qt, FieldClaimSchema as R, assertValidDeclaration as Ri, logLevelAtMost as Rn, withLocationMode as Rr, compositionSourceRefs as Rt, DATABASE_SNAPSHOT_TIMEOUT_MS as S, sleep as Sa, ReadinessTimeoutError as Si, isArrayOutputSchema as Sn, snapshotCapability as Sr, alertsCapability as St, DERIVED_CAMERA_SILENCED_CAP_NAMES as T, transformSecretWrite as Ta, RecordTooLargeError as Ti, isDefaultAppConnectionEndpoint as Tn, storageCapability as Tr, backupCapability as Tt, KEYCHAIN_RESET_TRIGGER_ACTOR as U, collectZodSecretPaths as Ui, metricsProviderCapability as Un, composedDeviceStableId as Ur, coreBlocksCapability as Ut, HUB_MDNS_SERVICE_TYPE as V, collectSecretLeaves as Vi, mayWriteToLocation as Vn, cloneStatefulExpressionMemory as Vr, coreBlockIdFromAddonId as Vt, KeychainAuditEntrySchema as W, createEvent as Wi, modeMayWrite as Wn, compositionFeatureEnabled as Wr, createDeviceExtensionProvider as Wt, MOTION_CLOSE_AFTER_MS as X, expandCapMethods as Xi, parseAcceleratorFactsJson as Xn, toExpressionValue as Xr, deriveBatteryPresence as Xt, MINUTES_PER_DAY as Y, emitReadiness as Yi, objectInputDeclaresRequiredDeviceId as Yn, disarmRoseMemory as Yr, defineExtensionSlotProvider as Yt, NetworkTunnelStartedDataSchema as Z, formatSecretScope as Zi, parseStreamParamsFormPatch as Zn, DeviceFeature as Zr, describeComposableCaps as Zt, CatalogFileSchema as _, resolveCapMount as _a, RECORD_SWEEP_INTERVAL_MS as _i, gbToBytes as _n, scopesAllowDeviceCap as _r, addonPagesCapability as _t, BaseDevice as a, isSecretMarkerLike as aa, DEVICE_SETTINGS_CONTRIBUTION_METHODS as ai, enumerateInferenceDevices as an, reducePoints as ar, STORAGE_ACCESS_FALLBACK as at, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as b, secretTreeFromPaths as ba, RUNTIME_DEFAULTS as bi, isAlertEpisodeSeverity as bn, shortHostname as br, alertEpisodeId as bt, CAMSTACK_APP_LINK_ORIGIN as c, mapSecretLeaves as ca, FilterRequiredError as ci, evaluateCompositionField as cn, resolveBucketMs as cr, ServerNameSchema as ct, COMPOSED_ITEM_FIXED_FIELDS as d, normalizeSecretOwner as da, InvalidRecordError as di, expressionContainsBuiltinCall as dn, resolveHubAddressRoles as dr, StorageLocationModeSchema as dt, isDeviceConfigCap as ea, errMsg as ei, deviceHistoryCapability as en, platformProbeCapability as er, PreferenceNamespaceSchema as et, COMPOSER_RUNNER_ID as f, parseJsonObject as fa, NoCallerError as fi, extractNestedAddonId as fn, resolveLocationMode as fr, StorageLocationTypeSchema as ft, CalendarPreferencesSchema as g, recordSecretRef as ga, RECORD_DELETE_BATCH as gi, formatMinutes as gn, scopesAllowAddon as gr, UserRecordSchema as gt, CREDENTIAL_TOKEN_AUDIENCE as h, readinessKey as ha, RECORD_BATCH_MAX_BYTES as hi, formatDeviceRevoker as hn, runtimeStatePolicyFor as hr, UNATTRIBUTED_BUCKET_KEY as ht, AlertSchema as i, isSecretMarker as ia, DATAPLANE_SECRET_HEADER as ii, deviceStatusCapability as in, recordsCapability as ir, RecordingStatusSchema as it, DEVICE_TOMBSTONE_RETENTION_MS as j, UnindexedFilterError as ji, keychainCapability as jn, supportedRuntimes as jr, buildStreamParamsConfigSchema as jt, DEVICE_SAN_CREDENTIAL_PREFIX as k, StoredRecordKindDeclarationSchema as ki, kebabToCamel as kn, streamCatalogCapability as kr, buildDeviceEnrollmentLink as kt, CAP_NAMES_WITH_STATUS as l, nodePin as la, ForeignSecretMarkerError as li, evictionPolicyOfLocation as ln, resolveCoreBlockEntry as lr, SsoBridgeClaimsSchema as lt, CORE_BLOCK_ADDON_PREFIX as m, parseSecretRef as ma, RECORD_BATCH_MAX as mi, foldSnapshotByFunction as mn, resolveNotificationTapAddress as mr, TokenScopeSchema as mt, AGENT_MDNS_TXT_KEYS as n, isKeychainStoredField as na, BatchTooLargeError as ni, deviceRemovalHookCapability as nn, ptzAutotrackCapability as nr, RECORDING_SOURCE_CAMSTACK_ADDON as nt, BatteryStatusSchema as o, isSecretRefOwnedBy as oa, DEVICE_STATUS_METHOD as oi, enumerateItemArrayFields as on, replacedFieldKeys as or, STREAM_PROFILE_META as ot, CORE_BLOCKS_ADDON_ID as p, parseJsonUnknown as pa, PlaintextSecretError as pi, filesystemBrowseCapability as pn, resolveMethodAuth as pr, StorageMigrationJobSchema as pt, LegacyStorageLocationDefaultSchema as q, defineRecordKinds as qi, normalizeUnit as qn, compositionSourceKey as qr, declarationOwnerNodeId as qt, ALL_CAPABILITY_DEFINITIONS as r, isSecretClear as ra, CALLER_STAMPED_CAPABILITIES as ri, deviceStateCapability as rn, recordEntriesCapability as rr, ROOT_BUCKET_KEY as rt, CAMERA_SWITCH_ORDER as s, makeSecretMarker as sa, DeclarationRefusedError as si, enumerateSchemaFields as sn, resolveAppConnections as sr, ScopedTokenSchema as st, AGENT_MDNS_SERVICE_TYPE as t, isEvent as ta, BaseAddon as ti, deviceManagerCapability as tn, procedureAuthKey as tr, PreferenceValueSchema as tt, CATALOG_LANGS as u, normalizeNodeId as ua, HISTORY_DEFAULT_MIN_INTERVAL_MS as ui, expandContainer as un, resolveCoreBlockFiles as ur, StorageCleanupJobSchema as ut, CoreBlockSchema as v, resolveSecretMarkers as va, REDACTED_SECRET as vi, interpolate as vn, scoreRuntimes as vr, addonSettingsCapability as vt, DAY_NAMES as w, toSecretFieldView as wa, RecordNotFoundError as wi, isCredentialTokenPayload as wn, storageAdminCapability as wr, authProviderCapability as wt, DATABASE_SNAPSHOT_SUFFIX as x, secretTreeFromSchema as xa, ReadinessRegistry as xi, isAppLinkBase as xn, siteZoneKey as xr, alertEpisodePayload as xt, CredentialTokenClaimsSchema as y, scopeKey as ya, REMOVE_LEAF as yi, isAlertEpisodeOpen as yn, settingsStoreCapability as yr, addonWidgetsCapability as yt, HISTORY_CATALOG as z, buildSecretRef as zi, looseSchema as zn, COMPOSER_ADDON_ID as zr, coreBlockAddonId as zt };
@@ -1,5 +1,5 @@
1
1
  require("./chunk-Cek0wNdY.js");
2
- const require_wal_maintenance = require("./wal-maintenance-o9TyZeYp.js");
2
+ const require_wal_maintenance = require("./wal-maintenance-ByIgd_g9.js");
3
3
  let node_worker_threads = require("node:worker_threads");
4
4
  //#region src/builtins/sqlite-storage/file-host-worker.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { C as RecordsEngine, D as callVector, E as callRecords, O as controlTargetOf, T as callData, _ as collectTransferables, a as WalMaintenance, b as isFileHostWorkerData, h as serializeError, l as SqliteSettingsBackend, o as createVectorIndex, s as vectorProviderOf, w as callControl, x as trustInput, y as isFileHostRequest } from "./wal-maintenance-DuO0D2H3.mjs";
1
+ import { C as RecordsEngine, D as callVector, E as callRecords, O as controlTargetOf, T as callData, _ as collectTransferables, a as WalMaintenance, b as isFileHostWorkerData, h as serializeError, l as SqliteSettingsBackend, o as createVectorIndex, s as vectorProviderOf, w as callControl, x as trustInput, y as isFileHostRequest } from "./wal-maintenance-DkkPbYwt.mjs";
2
2
  import { parentPort, threadId, workerData } from "node:worker_threads";
3
3
  //#region src/builtins/sqlite-storage/file-host-worker.ts
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-iVUkxljP.js");
2
+ const require_dist = require("./dist-DDVtA047.js");
3
3
  const require_x509_es = require("./x509.es-WtnRNyYS.js");
4
- const require_agent_https = require("./agent-https-D6a1IRPK.js");
4
+ const require_agent_https = require("./agent-https-DDnP9ywM.js");
5
5
  let node_crypto = require("node:crypto");
6
6
  let _camstack_types_node = require("@camstack/types/node");
7
7
  let node_fs_promises = require("node:fs/promises");
@@ -1,7 +1,7 @@
1
1
  import { o as __toESM } from "./chunk-CNf5ZN-e.mjs";
2
- import { Na as userError } from "./dist-OC-L50JY.mjs";
2
+ import { Ea as userError } from "./dist-DfZKKnMP.mjs";
3
3
  import { f as X509Certificate$1 } from "./x509.es-BRiJgOvu.mjs";
4
- import { D as reasonRequiresNewCa, E as evaluateExistingCert, F as readNameConstraints, N as permitsIdentity, _ as issueLeaf, b as collectCertIdentity, g as generateCa, j as isConstrainedCa, v as loadCa, y as localCaCommonName } from "./agent-https-CXMsY05a.mjs";
4
+ import { D as reasonRequiresNewCa, E as evaluateExistingCert, F as readNameConstraints, N as permitsIdentity, _ as issueLeaf, b as collectCertIdentity, g as generateCa, j as isConstrainedCa, v as loadCa, y as localCaCommonName } from "./agent-https-6j9JDvjh.mjs";
5
5
  import { X509Certificate, createPrivateKey } from "node:crypto";
6
6
  import { writeOwnerOnlyFileSync } from "@camstack/types/node";
7
7
  import { mkdir, writeFile } from "node:fs/promises";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("./chunk-Cek0wNdY.js");
3
- const require_dist = require("./dist-iVUkxljP.js");
4
- const require_device_ca = require("./device-ca-D0KnLHMw.js");
3
+ const require_dist = require("./dist-DDVtA047.js");
4
+ const require_device_ca = require("./device-ca-CVO0N_Oz.js");
5
5
  const require_read_all_rows$1 = require("./read-all-rows-CVoO1ONM.js");
6
6
  const require_builtins_alerts_alerts_addon = require("./builtins/alerts/alerts.addon.js");
7
7
  require("./builtins/alerts/index.js");
@@ -26,21 +26,21 @@ const require_builtins_loki_logging_index = require("./builtins/loki-logging/ind
26
26
  const require_builtins_native_metrics_native_metrics_addon = require("./builtins/native-metrics/native-metrics.addon.js");
27
27
  const require_builtins_device_history_device_history_addon = require("./builtins/device-history/device-history.addon.js");
28
28
  const require_builtins_sqlite_storage_filesystem_storage_addon = require("./builtins/sqlite-storage/filesystem-storage.addon.js");
29
- const require_wal_maintenance = require("./wal-maintenance-o9TyZeYp.js");
29
+ const require_wal_maintenance = require("./wal-maintenance-ByIgd_g9.js");
30
30
  const require_builtins_sqlite_storage_sqlite_settings_addon = require("./builtins/sqlite-storage/sqlite-settings.addon.js");
31
31
  const require_builtins_sqlite_storage_index = require("./builtins/sqlite-storage/index.js");
32
32
  const require_builtins_storage_orchestrator_storage_orchestrator_addon = require("./builtins/storage-orchestrator/storage-orchestrator.addon.js");
33
33
  require("./builtins/storage-orchestrator/index.js");
34
- const require_agent_https = require("./agent-https-D6a1IRPK.js");
35
- const require_constants = require("./constants-D--JWd55.js");
34
+ const require_agent_https = require("./agent-https-DDnP9ywM.js");
35
+ const require_constants = require("./constants-Bc-5tr1I.js");
36
36
  const require_builtins_system_config_system_config_addon = require("./builtins/system-config/system-config.addon.js");
37
37
  require("./builtins/system-config/index.js");
38
38
  const require_builtins_winston_logging_index = require("./builtins/winston-logging/index.js");
39
39
  const require_custom_action_registry = require("./custom-action-registry-MRyes5j0.js");
40
- const require_hub_mdns_ciao = require("./hub-mdns-ciao-BDKiKV75.js");
40
+ const require_hub_mdns_ciao = require("./hub-mdns-ciao-C49WPQfd.js");
41
41
  const require_platform_key_source = require("./platform-key-source-Di7HrlGR.js");
42
42
  const require_resource_monitor = require("./resource-monitor-mio9dSCT.js");
43
- const require_restore_archive = require("./restore-archive-DxkdJpWd.js");
43
+ const require_restore_archive = require("./restore-archive-BXORpvel.js");
44
44
  const require_coral_accelerators = require("./coral-accelerators-BSVsBVzt.js");
45
45
  let zod = require("zod");
46
46
  let node_crypto = require("node:crypto");
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { i as __require } from "./chunk-CNf5ZN-e.mjs";
2
- import { $n as objectInputDeclaresRequiredDeviceId, Cr as scopesAllowDeviceCap, Di as RUNTIME_DEFAULTS, Dn as isCollectionArrayMethod, Ea as scopeKey, En as isArrayOutputSchema, Fa as EventCategory$1, Hi as asNumber, Hn as logLevelAtMost, Mn as isVoidInput, Na as userError, Nn as kebabToCamel$1, Oi as ReadinessRegistry, Pa as withoutCallerStamp, Qn as objectInputDeclaresAddonId, Rn as lifecycleJobSchema, Rr as supportedRuntimes, Sa as readinessKey, Sn as interpolate, Sr as scopesAllowAddon, Ui as asString$1, Un as looseSchema, Vi as asJsonObject$1, Y as METHOD_ACCESS_MAP, Zi as createEvent$1, _ as CatalogFileSchema, ba as parseJsonUnknown, bt as addonSettingsCapability, di as DATAPLANE_SECRET_HEADER$1, ea as defineRecordKinds, fi as DEVICE_SETTINGS_CONTRIBUTION_METHODS, gn as extractNestedAddonId, jn as isObjectInput, ki as ReadinessTimeoutError, kr as splitTranslationRef, n as AGENT_MDNS_TXT_KEYS, pi as DEVICE_STATUS_METHOD, q as LOG_LEVEL_RANK, r as ALL_CAPABILITY_DEFINITIONS, ra as expandCapMethods, si as errMsg$1, sr as procedureAuthKey, t as AGENT_MDNS_SERVICE_TYPE, ta as emitDownForOwnedCaps, u as CATALOG_LANGS, ui as CALLER_STAMPED_CAPABILITIES$1, wa as resolveCapMount, ya as parseJsonObject, yr as resolveMethodAuth } from "./dist-OC-L50JY.mjs";
3
- import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-J9ZsyoFw.mjs";
2
+ import { Cn as isCollectionArrayMethod, Cr as splitTranslationRef, Da as withoutCallerStamp, Dn as isObjectInput, Ea as userError, Fi as asNumber, Ii as asString$1, J as METHOD_ACCESS_MAP, Ji as emitDownForOwnedCaps, Jn as objectInputDeclaresAddonId, K as LOG_LEVEL_RANK, Oa as EventCategory$1, On as isVoidInput, Pi as asJsonObject$1, Pn as lifecycleJobSchema, Rn as logLevelAtMost, Si as ReadinessTimeoutError, Sn as isArrayOutputSchema, Wi as createEvent$1, Xi as expandCapMethods, Yn as objectInputDeclaresRequiredDeviceId, _ as CatalogFileSchema, _a as resolveCapMount, _r as scopesAllowDeviceCap, ai as DEVICE_SETTINGS_CONTRIBUTION_METHODS, bi as RUNTIME_DEFAULTS, ei as errMsg$1, fa as parseJsonObject, fn as extractNestedAddonId, gr as scopesAllowAddon, ha as readinessKey, ii as DATAPLANE_SECRET_HEADER$1, jr as supportedRuntimes, kn as kebabToCamel$1, n as AGENT_MDNS_TXT_KEYS, oi as DEVICE_STATUS_METHOD, pa as parseJsonUnknown, pr as resolveMethodAuth, qi as defineRecordKinds, r as ALL_CAPABILITY_DEFINITIONS, ri as CALLER_STAMPED_CAPABILITIES$1, t as AGENT_MDNS_SERVICE_TYPE, tr as procedureAuthKey, u as CATALOG_LANGS, vn as interpolate, vt as addonSettingsCapability, xi as ReadinessRegistry, ya as scopeKey, zn as looseSchema } from "./dist-DfZKKnMP.mjs";
3
+ import { d as JWT_SIGNING_KEY_REF, f as JwtSigningKeyUnavailableError, g as processJwtSigningKey, i as generateDeviceCa, l as verifyDeviceLeaf, m as getProcessJwtSigningKeyState, n as DEVICE_CA_KEY_REF, o as issueDeviceLeaf, p as SYSTEM_SECRET_OWNER, s as loadDeviceCa, u as verifyDeviceSignature, v as staticJwtSigningKey } from "./device-ca-Bxjub9X-.mjs";
4
4
  import { t as require_read_all_rows } from "./read-all-rows-TaPqdWNF.mjs";
5
5
  import { AlertCenterAddon } from "./builtins/alerts/alerts.addon.mjs";
6
6
  import "./builtins/alerts/index.mjs";
@@ -25,21 +25,21 @@ import { LokiDestination, LokiLoggingAddon } from "./builtins/loki-logging/index
25
25
  import NativeMetricsAddon, { a as NativeMetricsProvider, n as nodeProcReader, r as parseProcStat } from "./builtins/native-metrics/native-metrics.addon.mjs";
26
26
  import { DeviceHistoryAddon } from "./builtins/device-history/device-history.addon.mjs";
27
27
  import { FilesystemStorageAddon, t as FilesystemStorageProvider } from "./builtins/sqlite-storage/filesystem-storage.addon.mjs";
28
- import { C as RecordsEngine, l as SqliteSettingsBackend } from "./wal-maintenance-DuO0D2H3.mjs";
28
+ import { C as RecordsEngine, l as SqliteSettingsBackend } from "./wal-maintenance-DkkPbYwt.mjs";
29
29
  import { SqliteSettingsAddon } from "./builtins/sqlite-storage/sqlite-settings.addon.mjs";
30
30
  import { ConfigStore, DeviceStore } from "./builtins/sqlite-storage/index.mjs";
31
31
  import { StorageOrchestratorAddon, a as stripForwardedCaller, i as createHubCapForwardService, l as STORAGE_DRAIN_STATE_LEGACY, n as HUB_CAP_FWD_ACTION, o as buildStorageLocationRegistry, r as HUB_CAP_FWD_SERVICE, t as StorageOrchestratorService, u as storageOrchestratorRecordKinds } from "./builtins/storage-orchestrator/storage-orchestrator.addon.mjs";
32
32
  import "./builtins/storage-orchestrator/index.mjs";
33
- import { A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, o as createAgentHttpsRequest, p as pemDigest, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-CXMsY05a.mjs";
34
- import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-lWkcQxVE.mjs";
33
+ import { A as buildNameConstraintSet, B as setProcessAgentHttpsNames, C as LEAF_RENEWAL_WINDOW_DAYS, E as evaluateExistingCert, F as readNameConstraints, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, N as permitsIdentity, O as PERMITTED_DNS_SUFFIXES, P as permitsName, R as AgentHttpsNames, S as CA_VALIDITY_DAYS, T as SERVER_AUTH_OID, a as collectAgentNames, b as collectCertIdentity, c as installAgentHttps, d as issueAgentHttpsLeaf, f as loadAgentHttps, h as CA_COMMON_NAME, i as certificateNames, j as isConstrainedCa, k as PERMITTED_IP_RANGES, l as isContainerBridgeAddress, m as pinnedHttpsCaFingerprint, n as acceptAgentSans, o as createAgentHttpsRequest, p as pemDigest, r as agentHttpsPaths, s as describeHttpsLeaf, t as AgentHttpsInstallError, u as isPrivateAddress, w as MAX_LEAF_VALIDITY_DAYS, x as systemHostFacts, y as localCaCommonName, z as getProcessAgentHttpsNames } from "./agent-https-6j9JDvjh.mjs";
34
+ import { a as MESH_CA_KEY_REF, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY } from "./constants-BUf0tYhG.mjs";
35
35
  import { $ as generateMeshKeyPair, A as setProcessMeshPeerTransportLookup, B as describeMeshLeaf, C as setProcessMeshTlsEnabler, D as getProcessPeerLeaf, E as getProcessNodeMeshTransport, F as setProcessMeshTlsListenerState, G as MeshCaKeeper, H as setProcessMeshCertificateRegistry, I as MESH_NODE_CERTIFICATES_COLLECTION, J as caFingerprint, K as getProcessMeshCaState, L as MESH_NODE_CERTIFICATES_COLUMNS, M as revokeMeshCertificate, N as getProcessMeshTlsListenerState, O as isProcessVerifiedMeshPeer, P as openMeshTlsWhenRevocationsLoaded, Q as generateMeshCa, R as MeshCertificateRegistry, S as ServiceBroker, SystemConfigAddon, T as emitProcessNodeRegistered, U as MeshCrl, V as getProcessMeshCertificateRegistry, W as processMeshCrl, X as createMeshCsrPem, Y as caFingerprintCompact, Z as exportMeshPrivateKeyPem, _ as signPairingProof, _t as readCidrSetting, a as hubHostFromMeshAddress, at as AGENT_UI_UNLOCK_TTL_MS, b as TlsTcpTransporter, c as PAIRING_MAX_SESSIONS, ct as AGENT_UI_UNLOCK_VERSION, d as PAIRING_PROTOCOL, dt as mintAgentUiUnlockTicket, et as isValidAgentNodeId, f as PAIRING_TTL_MS, ft as parseAgentDashboardOrigins, g as keyFingerprintShort, gt as parseCidrList, h as describeCsr, ht as normalizeIp, i as AgentPairing, it as AGENT_DASHBOARD_ORIGINS_FIELD, j as renewMeshCertificate, k as onProcessNodeRegistered, l as PAIRING_PATHS, lt as UnlockTicketJtiStore, m as computePairingSas, mt as createCidrMatcher, n as HubPairing, nt as issueMeshLeafFromCsr, o as PAIRING_CODE_DIGITS, ot as AGENT_UI_UNLOCK_TYP, p as computePairingCommitment, pt as verifyAgentUiUnlockTicket, q as requireProcessMeshCa, r as PairingHttpError, rt as loadMeshCa, s as PAIRING_MAX_CODE_ATTEMPTS, st as AGENT_UI_UNLOCK_USE, tt as issueMeshLeafForNode, u as PAIRING_PIN_DIGITS, ut as isAllowedAgentDashboardReturnTo, v as verifyPairingProof, w as dropProcessPeer, x as Errors, y as MESH_TLS_PORT_HELLO_FIELD, z as RENEWAL_ABANDONED } from "./builtins/system-config/system-config.addon.mjs";
36
36
  import "./builtins/system-config/index.mjs";
37
37
  import { WinstonDestination, WinstonLoggingAddon } from "./builtins/winston-logging/index.mjs";
38
38
  import { C as isModelDownloaded, T as revisionWeightUrl, _ as downloadFile, a as startEventLoopStallMonitor, b as fetchJson, c as createAuthenticatedFileServer, d as resolveFilePath, f as ModelDownloadService, g as deleteModelFromDisk, h as collectModelFiles, i as attributeStall, l as parseRangeHeader, m as adoptModelRevisions, n as STALL_REPORT_MS, o as createFileDataPlaneHandler, r as STALL_TICK_MS, s as contentTypeFor, t as CustomActionRegistry, u as parseTokenizedUrl, v as downloadModel, w as resolveFormatRevision, x as getModelFilePath, y as ensureModel } from "./custom-action-registry-DZSCLBuT.mjs";
39
- import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-CvXWbJub.mjs";
39
+ import { A as allFamiliesListenHost, C as caReplacementMarkerFile, D as replaceUnconstrainedLocalCa, E as reissueTlsLeaf, F as registerLanHttpHandler, M as bindPendingLanHttp, N as closeLanHttp, O as retirePreviousLocalCa, P as readLanHttpState, S as validateUploadedTls, T as loadTlsCert, _ as splitPemCertificates, a as storeUploadedCertificate, b as chainsToPublicRoot, c as leafFingerprintOf, d as servedHttpsLeafFingerprint, f as prepareBootTls, g as readTlsMode, h as readTlsAccessStatus, i as revertToGeneratedCertificate, j as applyLanHttp, k as DEFAULT_LAN_HTTP_PORT, l as registerHttpsListener, m as readExtraSans, n as applyCertificateToListener, o as useStoredUploadedCertificate, p as UPLOADED_CA_FILE, r as regenerateCertificate, s as clearHttpsListener, t as createCiaoPublisher, u as reloadHttpsListener, v as writeExtraSans, w as ensureTlsCert, x as checkUploadedCa, y as writeTlsMode } from "./hub-mdns-ciao-KIDDBuDn.mjs";
40
40
  import { n as getPlatformKeychainKey, r as setPlatformKeychainKey, t as clearPlatformKeychainKey } from "./platform-key-source-BWlq0jjn.mjs";
41
41
  import { n as getSinglePidStats, t as getPidStats } from "./resource-monitor-Di9daRwI.mjs";
42
- import { _ as backupRecordStoresOf, c as BackupDecryptError, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-D1Uzojhc.mjs";
42
+ import { _ as backupRecordStoresOf, c as BackupDecryptError, f as generateBackupKeyPair, g as backupOrchestratorRecordKinds, h as readBackupEncryptionHeader, l as BackupKeyFormatError, r as prepareRestoreArchive, s as SystemBackupService, t as BackupKeyRequiredError, u as BackupKeyMismatchError } from "./restore-archive-NvTeD4tg.mjs";
43
43
  import { r as nodeCoralFs, t as classifyCoralAccelerator } from "./coral-accelerators-DBlgWB8k.mjs";
44
44
  import { z } from "zod";
45
45
  import * as crypto$1 from "node:crypto";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-iVUkxljP.js");
2
+ const require_dist = require("./dist-DDVtA047.js");
3
3
  let zod = require("zod");
4
4
  let node_crypto = require("node:crypto");
5
5
  let buffer = require("buffer");
@@ -1,4 +1,4 @@
1
- import { N as DataStoreDatabaseSchema, ea as defineRecordKinds, x as DATABASE_SNAPSHOT_SUFFIX } from "./dist-OC-L50JY.mjs";
1
+ import { M as DataStoreDatabaseSchema, qi as defineRecordKinds, x as DATABASE_SNAPSHOT_SUFFIX } from "./dist-DfZKKnMP.mjs";
2
2
  import { z } from "zod";
3
3
  import { createCipheriv, createDecipheriv, createHash, createPrivateKey, createPublicKey, diffieHellman, generateKeyPairSync, hkdfSync, randomBytes } from "node:crypto";
4
4
  import { Buffer as Buffer$1 } from "buffer";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-iVUkxljP.js");
1
+ const require_dist = require("./dist-DDVtA047.js");
2
2
  //#region src/builtins/device-history/store/series-registry.ts
3
3
  function subjectIdOf(subject) {
4
4
  return subject.kind === "device" ? `d:${subject.deviceId}` : `n:${subject.nodeId}`;
@@ -1,4 +1,4 @@
1
- import { _i as HISTORY_DEFAULT_MIN_INTERVAL_MS, aa as historyItemFieldPath, oi as DeviceType } from "./dist-OC-L50JY.mjs";
1
+ import { $r as DeviceType, Qi as historyItemFieldPath, ui as HISTORY_DEFAULT_MIN_INTERVAL_MS } from "./dist-DfZKKnMP.mjs";
2
2
  //#region src/builtins/device-history/store/series-registry.ts
3
3
  function subjectIdOf(subject) {
4
4
  return subject.kind === "device" ? `d:${subject.deviceId}` : `n:${subject.nodeId}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.478",
3
+ "version": "1.2.480",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",
@@ -338,24 +338,6 @@
338
338
  }
339
339
  ]
340
340
  },
341
- {
342
- "id": "display-palette",
343
- "category": "system",
344
- "name": "Display Palette",
345
- "icon": "assets/display-palette/icon.svg",
346
- "color": "#0d9488",
347
- "description": "Hub-only singleton that stores the cluster display palette (one colour or gradient per kind and mark) and serves it to admin, server-drawn media and the viewer.",
348
- "entry": "./dist/builtins/display-palette/index.js",
349
- "protected": true,
350
- "execution": {
351
- "placement": "hub-only"
352
- },
353
- "capabilities": [
354
- {
355
- "name": "display-palette"
356
- }
357
- ]
358
- },
359
341
  {
360
342
  "id": "addon-pages-aggregator",
361
343
  "category": "system",
@@ -1,7 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="#0d9488" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
2
- <circle cx="6.5" cy="8" r="2.5"/>
3
- <circle cx="12" cy="6" r="2.5"/>
4
- <circle cx="17.5" cy="8" r="2.5"/>
5
- <circle cx="8" cy="14" r="2.5"/>
6
- <circle cx="14.5" cy="15" r="2.5"/>
7
- </svg>
@@ -1,12 +0,0 @@
1
- /**
2
- * Display palette builtin (D939). Hub singleton. An unreadable settings
3
- * row is `unknown`, never the bundled preset wearing a stored name.
4
- */
5
- import { BaseAddon, type ProviderRegistration } from "@camstack/types";
6
- export declare class DisplayPaletteAddon extends BaseAddon {
7
- readonly id = "display-palette";
8
- protected onInitialize(): Promise<ProviderRegistration[]>;
9
- private readPalette;
10
- private writePalette;
11
- }
12
- export default DisplayPaletteAddon;