@camstack/system 1.2.432 → 1.2.434

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 (105) hide show
  1. package/dist/{tls-CpcGkeJV.mjs → agent-https-B8lKYVtU.mjs} +123 -617
  2. package/dist/{tls-C5IYg3V5.js → agent-https-BZIwS4xF.js} +157 -765
  3. package/dist/auth/device-ca.d.ts +0 -10
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  5. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  8. package/dist/builtins/alerts/alerts.addon.js +1 -1
  9. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  10. package/dist/builtins/autotrack/index.js +1 -1
  11. package/dist/builtins/autotrack/index.mjs +1 -1
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  13. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  14. package/dist/builtins/calendars/calendars.addon.js +1 -1
  15. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  16. package/dist/builtins/camera-grid/index.js +1 -1
  17. package/dist/builtins/camera-grid/index.mjs +1 -1
  18. package/dist/builtins/composer/composer.addon.js +2 -2
  19. package/dist/builtins/composer/composer.addon.mjs +2 -2
  20. package/dist/builtins/console-logging/index.js +1 -1
  21. package/dist/builtins/console-logging/index.mjs +1 -1
  22. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  23. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  24. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  25. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  26. package/dist/builtins/hub-forwarder/index.js +1 -1
  27. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  28. package/dist/builtins/keychain/index.js +3 -3
  29. package/dist/builtins/keychain/index.mjs +3 -3
  30. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  31. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  32. package/dist/builtins/local-auth/local-auth.addon.js +9 -4
  33. package/dist/builtins/local-auth/local-auth.addon.mjs +9 -4
  34. package/dist/builtins/local-network/address-book.d.ts +13 -0
  35. package/dist/builtins/local-network/agent-mdns.d.ts +51 -0
  36. package/dist/builtins/local-network/local-network.addon.js +74 -53
  37. package/dist/builtins/local-network/local-network.addon.mjs +56 -36
  38. package/dist/builtins/loki-logging/index.js +1 -1
  39. package/dist/builtins/loki-logging/index.mjs +1 -1
  40. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  41. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  42. package/dist/builtins/platform-probe/index.js +1 -1
  43. package/dist/builtins/platform-probe/index.mjs +1 -1
  44. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  45. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  46. package/dist/builtins/snapshot/index.js +1 -1
  47. package/dist/builtins/snapshot/index.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  49. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  50. package/dist/builtins/sqlite-storage/index.js +1 -1
  51. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  52. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
  53. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
  54. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  55. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  56. package/dist/builtins/system-config/system-config.addon.js +1388 -31
  57. package/dist/builtins/system-config/system-config.addon.mjs +1362 -28
  58. package/dist/builtins/winston-logging/index.js +1 -1
  59. package/dist/builtins/winston-logging/index.mjs +1 -1
  60. package/dist/{composition-sources-CFlUdpO7.js → composition-sources-B7R1oQnY.js} +1 -1
  61. package/dist/{composition-sources-DpbL38z3.mjs → composition-sources-CqrDyHM1.mjs} +1 -1
  62. package/dist/{constants-B89vjrSm.mjs → constants-CrMPWOug.mjs} +2 -2
  63. package/dist/{constants-DfP8V3eX.js → constants-CuOfMdYe.js} +2 -2
  64. package/dist/{device-ca-4IY98a_-.mjs → device-ca-CDjGQQPd.mjs} +17 -6
  65. package/dist/{device-ca-BCyAPmIj.js → device-ca-D21ZP00q.js} +17 -6
  66. package/dist/{dist-BCKOeWu_.js → dist-CCH3XPqO.js} +86 -6
  67. package/dist/{dist-Bt8GTRHB.mjs → dist-CYcBqnXk.mjs} +69 -7
  68. package/dist/file-host-worker.js +1 -1
  69. package/dist/file-host-worker.mjs +1 -1
  70. package/dist/hub-mdns-ciao-CBLvq2oj.js +821 -0
  71. package/dist/hub-mdns-ciao-DJRwtlA8.mjs +648 -0
  72. package/dist/index.d.ts +3 -0
  73. package/dist/index.js +176 -67
  74. package/dist/index.mjs +96 -13
  75. package/dist/kernel/index.d.ts +5 -4
  76. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +12 -1
  77. package/dist/kernel/moleculer/agent-ui-unlock.d.ts +40 -0
  78. package/dist/kernel/moleculer/mesh-authenticator.d.ts +6 -0
  79. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +1 -1
  80. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +3 -2
  81. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +4 -9
  82. package/dist/kernel/moleculer/mesh-mtls/mesh-certificate-registry.d.ts +2 -2
  83. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +3 -2
  84. package/dist/kernel/moleculer/mesh-mtls/mesh-peer-transport.d.ts +7 -0
  85. package/dist/kernel/moleculer/mesh-mtls/pairing/agent-pairing.d.ts +204 -0
  86. package/dist/kernel/moleculer/mesh-mtls/pairing/hub-pairing.d.ts +115 -0
  87. package/dist/kernel/moleculer/mesh-mtls/pairing/index.d.ts +3 -0
  88. package/dist/kernel/moleculer/mesh-mtls/pairing/pairing-protocol.d.ts +107 -0
  89. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +18 -0
  90. package/dist/{lib-B_R6sPC3.mjs → lib-BeGzVQcd.mjs} +1 -1
  91. package/dist/{lib-DOJ5yyWA.js → lib-NNxHSOIE.js} +1 -1
  92. package/dist/{restore-archive-Bh34W8J8.mjs → restore-archive-5ml7uYMf.mjs} +1 -1
  93. package/dist/{restore-archive-DhHH7VQp.js → restore-archive-Do0QwAik.js} +1 -1
  94. package/dist/{retired-settings-keys-u3Wwkdrq.js → retired-settings-keys-CEiCaI_j.js} +1 -1
  95. package/dist/{retired-settings-keys-CmcEitC2.mjs → retired-settings-keys-CyDdyjLP.mjs} +1 -1
  96. package/dist/tls/agent-https-names.d.ts +2 -0
  97. package/dist/tls/cert-backdate.d.ts +10 -0
  98. package/dist/tls/cert-issue.d.ts +0 -20
  99. package/dist/{wal-maintenance-uQGuStFW.mjs → wal-maintenance-DgLLPK14.mjs} +0 -0
  100. package/dist/{wal-maintenance-ChzCPUi2.js → wal-maintenance-LZYd8iT-.js} +0 -0
  101. package/dist/{x509.es-CAjSsrkk.mjs → x509.es-CDvj67p1.mjs} +14 -1
  102. package/dist/{x509.es-Dzl0BbmG.js → x509.es-r7Ht1thA.js} +19 -0
  103. package/package.json +1 -1
  104. package/dist/agent-https-names-CpUSuP4w.js +0 -120
  105. package/dist/agent-https-names-uetr4OQl.mjs +0 -91
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-BCKOeWu_.js");
6
+ const require_dist = require("../../dist-CCH3XPqO.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  let node_path = require("node:path");
9
9
  node_path = require_chunk.__toESM(node_path);
@@ -1,4 +1,4 @@
1
- import { _r as BaseAddon, an as logDestinationCapability } from "../../dist-Bt8GTRHB.mjs";
1
+ import { br as BaseAddon, cn as logDestinationCapability } from "../../dist-CYcBqnXk.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BCKOeWu_.js");
1
+ const require_dist = require("./dist-CCH3XPqO.js");
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { gr as errMsg, lr as compositionSourceKey } from "./dist-Bt8GTRHB.mjs";
1
+ import { fr as compositionSourceKey, yr as errMsg } from "./dist-CYcBqnXk.mjs";
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- import { Ar as buildSecretRef } from "./dist-Bt8GTRHB.mjs";
1
+ import { Nr as buildSecretRef } from "./dist-CYcBqnXk.mjs";
2
2
  import { createHash, timingSafeEqual } from "node:crypto";
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -87,7 +87,7 @@ var MESH_CA_KEY_REF = buildSecretRef({
87
87
  });
88
88
  /** `system-settings` key holding the public CA certificate PEM. */
89
89
  var MESH_CA_SETTINGS_KEY = "cluster.meshCa";
90
- /** Field inside the `cluster` section (same row as the secret). */
90
+ /** Field inside the `cluster` section. */
91
91
  var MESH_CA_FIELD = "meshCa";
92
92
  /** Join-token / leaf lifetimes. */
93
93
  var MESH_JOIN_TOKEN_MAX_TTL_SEC = 3600;
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-BCKOeWu_.js");
1
+ const require_dist = require("./dist-CCH3XPqO.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -87,7 +87,7 @@ var MESH_CA_KEY_REF = require_dist.buildSecretRef({
87
87
  });
88
88
  /** `system-settings` key holding the public CA certificate PEM. */
89
89
  var MESH_CA_SETTINGS_KEY = "cluster.meshCa";
90
- /** Field inside the `cluster` section (same row as the secret). */
90
+ /** Field inside the `cluster` section. */
91
91
  var MESH_CA_FIELD = "meshCa";
92
92
  /** Join-token / leaf lifetimes. */
93
93
  var MESH_JOIN_TOKEN_MAX_TTL_SEC = 3600;
@@ -1,5 +1,5 @@
1
- import { Ar as buildSecretRef, C as DEVICE_SAN_CREDENTIAL_PREFIX, w as DEVICE_SAN_USER_PREFIX } from "./dist-Bt8GTRHB.mjs";
2
- import { a as KeyUsagesExtension, d as X509Certificate$1, f as X509CertificateGenerator, i as KeyUsageFlags, l as SubjectAlternativeNameExtension, n as BasicConstraintsExtension, o as PemConverter, p as cryptoProvider, r as ExtendedKeyUsageExtension, t as AuthorityKeyIdentifierExtension, u as SubjectKeyIdentifierExtension } from "./x509.es-CAjSsrkk.mjs";
1
+ import { E as DEVICE_SAN_USER_PREFIX, Nr as buildSecretRef, T as DEVICE_SAN_CREDENTIAL_PREFIX } from "./dist-CYcBqnXk.mjs";
2
+ import { a as KeyUsagesExtension, d as X509Certificate$1, f as X509CertificateGenerator, g as backdatedNotBefore, i as KeyUsageFlags, l as SubjectAlternativeNameExtension, n as BasicConstraintsExtension, o as PemConverter, p as cryptoProvider, r as ExtendedKeyUsageExtension, t as AuthorityKeyIdentifierExtension, u as SubjectKeyIdentifierExtension } from "./x509.es-CDvj67p1.mjs";
3
3
  import { X509Certificate, createPublicKey, randomBytes, verify, webcrypto } from "node:crypto";
4
4
  //#region src/auth/jwt-signing-key.ts
5
5
  /**
@@ -126,6 +126,16 @@ async function loadJwtSigningKey(deps) {
126
126
  }
127
127
  //#endregion
128
128
  //#region src/auth/device-ca.ts
129
+ /**
130
+ * Device CA (D855) — the THIRD certificate authority, distinct from the HTTPS
131
+ * local CA (`tls/cert-issue.ts`, RSA) and the mesh CA
132
+ * (`kernel/moleculer/mesh-mtls/mesh-ca.ts`). EC P-256, key in the keychain
133
+ * (owner `system`), certificate persisted like `cluster.meshCa`.
134
+ *
135
+ * It signs ONE kind of leaf: a device credential. The device generated the key
136
+ * pair; the hub only ever sees the public half (an SPKI). Same library and
137
+ * WebCrypto path as the other two CAs, same pinned `@peculiar/x509`.
138
+ */
129
139
  cryptoProvider.set(webcrypto);
130
140
  var MS_PER_DAY = 864e5;
131
141
  var CLIENT_AUTH_OID = "1.3.6.1.5.5.7.3.2";
@@ -164,7 +174,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
164
174
  const cert = await X509CertificateGenerator.createSelfSigned({
165
175
  serialNumber: freshSerial(),
166
176
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
167
- notBefore: now,
177
+ notBefore: backdatedNotBefore(now),
168
178
  notAfter: new Date(now.getTime() + DEVICE_CA_VALIDITY_DAYS * MS_PER_DAY),
169
179
  keys,
170
180
  signingAlgorithm: SIGNING_ALGORITHM,
@@ -204,7 +214,7 @@ async function rebuildDeviceCaCertificate(keyPem) {
204
214
  const cert = await X509CertificateGenerator.createSelfSigned({
205
215
  serialNumber: freshSerial(),
206
216
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
207
- notBefore: now,
217
+ notBefore: backdatedNotBefore(now),
208
218
  notAfter: new Date(now.getTime() + DEVICE_CA_VALIDITY_DAYS * MS_PER_DAY),
209
219
  keys: {
210
220
  privateKey,
@@ -234,8 +244,9 @@ async function importDevicePublicKey(spki) {
234
244
  */
235
245
  async function issueDeviceLeaf(ca, input) {
236
246
  const publicKey = await importDevicePublicKey(input.publicKeySpki);
237
- const notBefore = input.now ?? /* @__PURE__ */ new Date();
238
- const notAfter = new Date(notBefore.getTime() + (input.validDays ?? 365) * MS_PER_DAY);
247
+ const issuedAt = input.now ?? /* @__PURE__ */ new Date();
248
+ const notBefore = backdatedNotBefore(issuedAt);
249
+ const notAfter = new Date(issuedAt.getTime() + (input.validDays ?? 365) * MS_PER_DAY);
239
250
  const serialNumber = freshSerial();
240
251
  const extensions = [
241
252
  new BasicConstraintsExtension(false, void 0, true),
@@ -1,5 +1,5 @@
1
- const require_dist = require("./dist-BCKOeWu_.js");
2
- const require_x509_es = require("./x509.es-Dzl0BbmG.js");
1
+ const require_dist = require("./dist-CCH3XPqO.js");
2
+ const require_x509_es = require("./x509.es-r7Ht1thA.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/auth/jwt-signing-key.ts
5
5
  /**
@@ -126,6 +126,16 @@ async function loadJwtSigningKey(deps) {
126
126
  }
127
127
  //#endregion
128
128
  //#region src/auth/device-ca.ts
129
+ /**
130
+ * Device CA (D855) — the THIRD certificate authority, distinct from the HTTPS
131
+ * local CA (`tls/cert-issue.ts`, RSA) and the mesh CA
132
+ * (`kernel/moleculer/mesh-mtls/mesh-ca.ts`). EC P-256, key in the keychain
133
+ * (owner `system`), certificate persisted like `cluster.meshCa`.
134
+ *
135
+ * It signs ONE kind of leaf: a device credential. The device generated the key
136
+ * pair; the hub only ever sees the public half (an SPKI). Same library and
137
+ * WebCrypto path as the other two CAs, same pinned `@peculiar/x509`.
138
+ */
129
139
  require_x509_es.cryptoProvider.set(node_crypto.webcrypto);
130
140
  var MS_PER_DAY = 864e5;
131
141
  var CLIENT_AUTH_OID = "1.3.6.1.5.5.7.3.2";
@@ -164,7 +174,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
164
174
  const cert = await require_x509_es.X509CertificateGenerator.createSelfSigned({
165
175
  serialNumber: freshSerial(),
166
176
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
167
- notBefore: now,
177
+ notBefore: require_x509_es.backdatedNotBefore(now),
168
178
  notAfter: new Date(now.getTime() + DEVICE_CA_VALIDITY_DAYS * MS_PER_DAY),
169
179
  keys,
170
180
  signingAlgorithm: SIGNING_ALGORITHM,
@@ -204,7 +214,7 @@ async function rebuildDeviceCaCertificate(keyPem) {
204
214
  const cert = await require_x509_es.X509CertificateGenerator.createSelfSigned({
205
215
  serialNumber: freshSerial(),
206
216
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
207
- notBefore: now,
217
+ notBefore: require_x509_es.backdatedNotBefore(now),
208
218
  notAfter: new Date(now.getTime() + DEVICE_CA_VALIDITY_DAYS * MS_PER_DAY),
209
219
  keys: {
210
220
  privateKey,
@@ -234,8 +244,9 @@ async function importDevicePublicKey(spki) {
234
244
  */
235
245
  async function issueDeviceLeaf(ca, input) {
236
246
  const publicKey = await importDevicePublicKey(input.publicKeySpki);
237
- const notBefore = input.now ?? /* @__PURE__ */ new Date();
238
- const notAfter = new Date(notBefore.getTime() + (input.validDays ?? 365) * MS_PER_DAY);
247
+ const issuedAt = input.now ?? /* @__PURE__ */ new Date();
248
+ const notBefore = require_x509_es.backdatedNotBefore(issuedAt);
249
+ const notAfter = new Date(issuedAt.getTime() + (input.validDays ?? 365) * MS_PER_DAY);
239
250
  const serialNumber = freshSerial();
240
251
  const extensions = [
241
252
  new require_x509_es.BasicConstraintsExtension(false, void 0, true),
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep--g-h2_c_.mjs
721
+ //#region ../types/dist/sleep-DAX0-2v9.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -9768,6 +9768,12 @@ function scopesAllowDeviceCap(scopes, access) {
9768
9768
  function scopesAllowAddon(scopes, addonId, access) {
9769
9769
  return scopes.some((s) => s.type === "addon" && s.target === addonId && s.access.includes(access));
9770
9770
  }
9771
+ zod.z.enum(["new-session", "step-up"]);
9772
+ /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
9773
+ var AppLoginPathSchema = zod.z.discriminatedUnion("kind", [zod.z.object({ kind: zod.z.literal("native") }), zod.z.object({
9774
+ kind: zod.z.literal("browser"),
9775
+ startPath: zod.z.string().startsWith("/")
9776
+ })]);
9771
9777
  /**
9772
9778
  * Device certificates (D855) — the wire contract shared by the hub, the admin
9773
9779
  * UI and the native viewer.
@@ -9966,7 +9972,9 @@ zod.z.object({
9966
9972
  signature: zod.z.literal(DEVICE_CERT_SIGNATURE),
9967
9973
  messageVersion: zod.z.literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
9968
9974
  /** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
9969
- clients: zod.z.array(zod.z.enum(["native", "web"]))
9975
+ clients: zod.z.array(zod.z.enum(["native", "web"])),
9976
+ /** The app executes it itself, silently (D858). */
9977
+ app: AppLoginPathSchema.nullable()
9970
9978
  });
9971
9979
  /**
9972
9980
  * What an expression's named bindings READ from.
@@ -16645,6 +16653,16 @@ var nodeCertificatesCapability = {
16645
16653
  kind: "mutation",
16646
16654
  auth: "admin"
16647
16655
  }),
16656
+ /**
16657
+ * The hub unpairs this node (D857): it erases its mesh material, goes back to the
16658
+ * unpaired state and advertises itself again. The call is answered first; the wire
16659
+ * goes down right after, so the hub revokes the node's certificates BEFORE this
16660
+ * connection drops, never after.
16661
+ */
16662
+ forgetHub: method(zod.z.object({}), zod.z.object({ ok: zod.z.literal(true) }), {
16663
+ kind: "mutation",
16664
+ auth: "admin"
16665
+ }),
16648
16666
  /** Install the hub-signed HTTPS leaf and hot-swap the serving context (no restart). */
16649
16667
  installHttpsCertificate: method(zod.z.object({
16650
16668
  certPem: zod.z.string().min(1),
@@ -40172,6 +40190,21 @@ var HUB_MDNS_TXT_KEYS = {
40172
40190
  url: "url"
40173
40191
  };
40174
40192
  /**
40193
+ * How a hub finds agents to pair (D857): every agent publishes ONE mDNS service for its API
40194
+ * port, paired or not. The TXT record carries only public facts. Finding an agent grants
40195
+ * nothing: pairing still needs the six-digit code confirmed on both screens.
40196
+ */
40197
+ var AGENT_MDNS_SERVICE_TYPE = "camstack-agent";
40198
+ /** The TXT keys of the agent advertisement. Every value is public. */
40199
+ var AGENT_MDNS_TXT_KEYS = {
40200
+ nodeId: "nodeId",
40201
+ version: "version",
40202
+ /** `unpaired` | `pending` | `paired`. */
40203
+ state: "state",
40204
+ /** First 16 hex chars of the SHA-256 of the agent's mesh leaf; present once paired. */
40205
+ keyFingerprint: "fp"
40206
+ };
40207
+ /**
40175
40208
  * Transport bounds for AI capability methods.
40176
40209
  *
40177
40210
  * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
@@ -41142,7 +41175,13 @@ var RedirectLoginMethodSchema = zod.z.object({
41142
41175
  * `beginExternalLink` offer exactly the redirect methods that set this,
41143
41176
  * whatever their id. Absent / false — a login button only.
41144
41177
  */
41145
- linkable: zod.z.boolean().optional()
41178
+ linkable: zod.z.boolean().optional(),
41179
+ /**
41180
+ * How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
41181
+ * when the route understands the app flow query (`app=1&code_challenge=…`),
41182
+ * `null`/absent when there is no app path - the app hides the method.
41183
+ */
41184
+ app: AppLoginPathSchema.nullable().optional()
41146
41185
  });
41147
41186
  /**
41148
41187
  * A Module-Federation widget the login page mounts for an in-page
@@ -41161,7 +41200,9 @@ var WidgetLoginMethodSchema = zod.z.object({
41161
41200
  bundle: zod.z.string(),
41162
41201
  /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
41163
41202
  remote: WidgetRemoteSchema,
41164
- stage: LoginStageEnum
41203
+ stage: LoginStageEnum,
41204
+ /** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
41205
+ app: AppLoginPathSchema.nullable().optional()
41165
41206
  });
41166
41207
  /**
41167
41208
  * A declarative WebAuthn ceremony the shell renders natively (no remote
@@ -41179,7 +41220,9 @@ var PasskeyLoginMethodSchema = zod.z.object({
41179
41220
  /** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
41180
41221
  rpId: zod.z.string(),
41181
41222
  /** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
41182
- origin: zod.z.string().nullable()
41223
+ origin: zod.z.string().nullable(),
41224
+ /** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
41225
+ app: AppLoginPathSchema.nullable().optional()
41183
41226
  });
41184
41227
  /** One login-method contribution — redirect button, pre-auth widget, or native passkey ceremony. */
41185
41228
  var LoginMethodContributionSchema = zod.z.discriminatedUnion("kind", [
@@ -54115,7 +54158,20 @@ var SsoBridgeClaimsSchema = zod.z.object({
54115
54158
  * request to present the matching cookie — a login bridge is useless in
54116
54159
  * any other browser.
54117
54160
  */
54118
- browserBinding: zod.z.string().optional()
54161
+ browserBinding: zod.z.string().optional(),
54162
+ /**
54163
+ * The native app that started this sign-in (D858): its PKCE challenge,
54164
+ * `state`, purpose and allow-listed return URL, copied from the server-side
54165
+ * pending OIDC state. A bridge carrying it is finished ONLY at
54166
+ * `/api/auth/sso/finish-app` (which mints a handoff code, never a web
54167
+ * session); `/api/auth/sso/finish` refuses it.
54168
+ */
54169
+ app: zod.z.object({
54170
+ codeChallenge: zod.z.string(),
54171
+ state: zod.z.string(),
54172
+ purpose: zod.z.enum(["new-session", "step-up"]),
54173
+ redirect: zod.z.string()
54174
+ }).optional()
54119
54175
  });
54120
54176
  var ssoBridgeCapability = {
54121
54177
  name: "sso-bridge",
@@ -76652,6 +76708,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76652
76708
  addonId: null,
76653
76709
  access: "create"
76654
76710
  },
76711
+ "nodeCertificates.forgetHub": {
76712
+ capName: "node-certificates",
76713
+ capScope: "system",
76714
+ addonId: null,
76715
+ access: "delete"
76716
+ },
76655
76717
  "nodeCertificates.getCertificates": {
76656
76718
  capName: "node-certificates",
76657
76719
  capScope: "system",
@@ -85483,6 +85545,18 @@ function enumerateInferenceDevices(hw) {
85483
85545
  return out;
85484
85546
  }
85485
85547
  //#endregion
85548
+ Object.defineProperty(exports, "AGENT_MDNS_SERVICE_TYPE", {
85549
+ enumerable: true,
85550
+ get: function() {
85551
+ return AGENT_MDNS_SERVICE_TYPE;
85552
+ }
85553
+ });
85554
+ Object.defineProperty(exports, "AGENT_MDNS_TXT_KEYS", {
85555
+ enumerable: true,
85556
+ get: function() {
85557
+ return AGENT_MDNS_TXT_KEYS;
85558
+ }
85559
+ });
85486
85560
  Object.defineProperty(exports, "ALL_CAPABILITY_DEFINITIONS", {
85487
85561
  enumerable: true,
85488
85562
  get: function() {
@@ -85819,6 +85893,12 @@ Object.defineProperty(exports, "ScopedTokenSchema", {
85819
85893
  return ScopedTokenSchema;
85820
85894
  }
85821
85895
  });
85896
+ Object.defineProperty(exports, "SsoBridgeClaimsSchema", {
85897
+ enumerable: true,
85898
+ get: function() {
85899
+ return SsoBridgeClaimsSchema;
85900
+ }
85901
+ });
85822
85902
  Object.defineProperty(exports, "StorageCleanupJobSchema", {
85823
85903
  enumerable: true,
85824
85904
  get: function() {
@@ -718,7 +718,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
718
718
  return EventCategory;
719
719
  }({});
720
720
  //#endregion
721
- //#region ../types/dist/sleep--g-h2_c_.mjs
721
+ //#region ../types/dist/sleep-DAX0-2v9.mjs
722
722
  /**
723
723
  * The audio chunk plane's byte format, and the ONE expansion from a coded
724
724
  * window to float samples (D455).
@@ -9768,6 +9768,12 @@ function scopesAllowDeviceCap(scopes, access) {
9768
9768
  function scopesAllowAddon(scopes, addonId, access) {
9769
9769
  return scopes.some((s) => s.type === "addon" && s.target === addonId && s.access.includes(access));
9770
9770
  }
9771
+ z.enum(["new-session", "step-up"]);
9772
+ /** How a native app starts one login method (D858), as `auth.listLoginMethods` reports it. */
9773
+ var AppLoginPathSchema = z.discriminatedUnion("kind", [z.object({ kind: z.literal("native") }), z.object({
9774
+ kind: z.literal("browser"),
9775
+ startPath: z.string().startsWith("/")
9776
+ })]);
9771
9777
  /**
9772
9778
  * Device certificates (D855) — the wire contract shared by the hub, the admin
9773
9779
  * UI and the native viewer.
@@ -9966,7 +9972,9 @@ z.object({
9966
9972
  signature: z.literal(DEVICE_CERT_SIGNATURE),
9967
9973
  messageVersion: z.literal(DEVICE_SIGNATURE_MESSAGE_VERSION),
9968
9974
  /** Which clients can execute it: a native app silently, a browser with a non-extractable WebCrypto key. */
9969
- clients: z.array(z.enum(["native", "web"]))
9975
+ clients: z.array(z.enum(["native", "web"])),
9976
+ /** The app executes it itself, silently (D858). */
9977
+ app: AppLoginPathSchema.nullable()
9970
9978
  });
9971
9979
  /**
9972
9980
  * What an expression's named bindings READ from.
@@ -16645,6 +16653,16 @@ var nodeCertificatesCapability = {
16645
16653
  kind: "mutation",
16646
16654
  auth: "admin"
16647
16655
  }),
16656
+ /**
16657
+ * The hub unpairs this node (D857): it erases its mesh material, goes back to the
16658
+ * unpaired state and advertises itself again. The call is answered first; the wire
16659
+ * goes down right after, so the hub revokes the node's certificates BEFORE this
16660
+ * connection drops, never after.
16661
+ */
16662
+ forgetHub: method(z.object({}), z.object({ ok: z.literal(true) }), {
16663
+ kind: "mutation",
16664
+ auth: "admin"
16665
+ }),
16648
16666
  /** Install the hub-signed HTTPS leaf and hot-swap the serving context (no restart). */
16649
16667
  installHttpsCertificate: method(z.object({
16650
16668
  certPem: z.string().min(1),
@@ -40172,6 +40190,21 @@ var HUB_MDNS_TXT_KEYS = {
40172
40190
  url: "url"
40173
40191
  };
40174
40192
  /**
40193
+ * How a hub finds agents to pair (D857): every agent publishes ONE mDNS service for its API
40194
+ * port, paired or not. The TXT record carries only public facts. Finding an agent grants
40195
+ * nothing: pairing still needs the six-digit code confirmed on both screens.
40196
+ */
40197
+ var AGENT_MDNS_SERVICE_TYPE = "camstack-agent";
40198
+ /** The TXT keys of the agent advertisement. Every value is public. */
40199
+ var AGENT_MDNS_TXT_KEYS = {
40200
+ nodeId: "nodeId",
40201
+ version: "version",
40202
+ /** `unpaired` | `pending` | `paired`. */
40203
+ state: "state",
40204
+ /** First 16 hex chars of the SHA-256 of the agent's mesh leaf; present once paired. */
40205
+ keyFingerprint: "fp"
40206
+ };
40207
+ /**
40175
40208
  * Transport bounds for AI capability methods.
40176
40209
  *
40177
40210
  * Its own module because `llm.cap.ts` and `llm-runtime.cap.ts` already import
@@ -41142,7 +41175,13 @@ var RedirectLoginMethodSchema = z.object({
41142
41175
  * `beginExternalLink` offer exactly the redirect methods that set this,
41143
41176
  * whatever their id. Absent / false — a login button only.
41144
41177
  */
41145
- linkable: z.boolean().optional()
41178
+ linkable: z.boolean().optional(),
41179
+ /**
41180
+ * How a NATIVE app starts this method (D858): `{ kind: 'browser', startPath }`
41181
+ * when the route understands the app flow query (`app=1&code_challenge=…`),
41182
+ * `null`/absent when there is no app path - the app hides the method.
41183
+ */
41184
+ app: AppLoginPathSchema.nullable().optional()
41146
41185
  });
41147
41186
  /**
41148
41187
  * A Module-Federation widget the login page mounts for an in-page
@@ -41161,7 +41200,9 @@ var WidgetLoginMethodSchema = z.object({
41161
41200
  bundle: z.string(),
41162
41201
  /** MF remote descriptor — `{ remoteName, exposedModule, componentKey }`. */
41163
41202
  remote: WidgetRemoteSchema,
41164
- stage: LoginStageEnum
41203
+ stage: LoginStageEnum,
41204
+ /** Widgets are web ceremonies: no native app path (D858). Absent reads as `null`. */
41205
+ app: AppLoginPathSchema.nullable().optional()
41165
41206
  });
41166
41207
  /**
41167
41208
  * A declarative WebAuthn ceremony the shell renders natively (no remote
@@ -41179,7 +41220,9 @@ var PasskeyLoginMethodSchema = z.object({
41179
41220
  /** Effective WebAuthn RP ID (`resolveRpID()`) — the shell gates visibility on it. */
41180
41221
  rpId: z.string(),
41181
41222
  /** Effective expected origin (`resolveOrigin()`), null when unconfigured. */
41182
- origin: z.string().nullable()
41223
+ origin: z.string().nullable(),
41224
+ /** Set by the hub for the primary arm; a second-factor passkey has no app path (D858). */
41225
+ app: AppLoginPathSchema.nullable().optional()
41183
41226
  });
41184
41227
  /** One login-method contribution — redirect button, pre-auth widget, or native passkey ceremony. */
41185
41228
  var LoginMethodContributionSchema = z.discriminatedUnion("kind", [
@@ -54115,7 +54158,20 @@ var SsoBridgeClaimsSchema = z.object({
54115
54158
  * request to present the matching cookie — a login bridge is useless in
54116
54159
  * any other browser.
54117
54160
  */
54118
- browserBinding: z.string().optional()
54161
+ browserBinding: z.string().optional(),
54162
+ /**
54163
+ * The native app that started this sign-in (D858): its PKCE challenge,
54164
+ * `state`, purpose and allow-listed return URL, copied from the server-side
54165
+ * pending OIDC state. A bridge carrying it is finished ONLY at
54166
+ * `/api/auth/sso/finish-app` (which mints a handoff code, never a web
54167
+ * session); `/api/auth/sso/finish` refuses it.
54168
+ */
54169
+ app: z.object({
54170
+ codeChallenge: z.string(),
54171
+ state: z.string(),
54172
+ purpose: z.enum(["new-session", "step-up"]),
54173
+ redirect: z.string()
54174
+ }).optional()
54119
54175
  });
54120
54176
  var ssoBridgeCapability = {
54121
54177
  name: "sso-bridge",
@@ -76652,6 +76708,12 @@ var METHOD_ACCESS_MAP = Object.freeze({
76652
76708
  addonId: null,
76653
76709
  access: "create"
76654
76710
  },
76711
+ "nodeCertificates.forgetHub": {
76712
+ capName: "node-certificates",
76713
+ capScope: "system",
76714
+ addonId: null,
76715
+ access: "delete"
76716
+ },
76655
76717
  "nodeCertificates.getCertificates": {
76656
76718
  capName: "node-certificates",
76657
76719
  capScope: "system",
@@ -85483,4 +85545,4 @@ function enumerateInferenceDevices(hw) {
85483
85545
  return out;
85484
85546
  }
85485
85547
  //#endregion
85486
- export { backupCapability as $, vectorStoreCapability as $n, readinessKey as $r, keychainCapability as $t, HUB_MDNS_SERVICE_TYPE as A, resolveHubAddressRoles as An, buildSecretRef as Ar, deviceStatusCapability as At, STORAGE_ACCESS_FALLBACK as B, snapshotCapability as Bn, hydrateSchema as Br, foldSnapshotByFunction as Bt, DEVICE_SAN_CREDENTIAL_PREFIX as C, ptzAutotrackCapability as Cn, ReadinessRegistry as Cr, defineExtensionSlotProvider as Ct, FIRST_LEVEL_MACRO_CLASSES as D, resolveBucketMs as Dn, asJsonObject as Dr, deviceExtensionCapability as Dt, DeviceStatusSchema as E, resolveAppConnections as En, WELL_KNOWN_TAB_MAP as Er, deviceCredentialsCapability as Et, METHOD_ACCESS_MAP as F, scopesAllowAddon as Fn, defineCustomActions as Fr, evictionPolicyOfLocation as Ft, StorageLocationTypeSchema as G, streamCatalogCapability as Gn, isSecretMarker as Gr, isArrayOutputSchema as Gt, ScopedTokenSchema as H, storageMigrationCapability as Hn, isEvent as Hr, formatMinutes as Ht, MINUTES_PER_DAY as I, scopesAllowDeviceCap as In, emitDownForOwnedCaps as Ir, expandContainer as It, addonPagesCapability as J, userManagementCapability as Jn, nodePin as Jr, isLocationEnabled as Jt, StorageMigrationJobSchema as K, streamQualityLabel as Kn, isSecretMarkerLike as Kr, isCollectionArrayMethod as Kt, MOTION_CLOSE_AFTER_MS as L, scoreRuntimes as Ln, emitReadiness as Lr, expressionContainsBuiltinCall as Lt, KEYCHAIN_RESET_TRIGGER_ACTOR as M, resolveMethodAuth as Mn, collectZodSecretPaths as Mr, enumerateItemArrayFields as Mt, LOG_LEVEL_RANK as N, resolveNotificationTapAddress as Nn, createEvent as Nr, enumerateSchemaFields as Nt, FieldClaimModeSchema as O, resolveCoreBlockEntry as On, asNumber as Or, deviceManagerCapability as Ot, LegacyStorageLocationDefaultSchema as P, runtimeStatePolicyFor as Pn, customAction as Pr, evaluateCompositionField as Pt, authProviderCapability as Q, vectorIndexDimConflictError as Qn, parseSecretRef as Qr, keychainAdminCapability as Qt, RECORDING_SOURCE_CAMSTACK_ADDON as R, settingsStoreCapability as Rn, expandCapMethods as Rr, extractNestedAddonId as Rt, DEVICE_NONCE_TTL_MS as S, procedureAuthKey as Sn, RUNTIME_DEFAULTS as Sr, decodeVectorBase64 as St, DeclaredDevices as T, replacedFieldKeys as Tn, SECRET_CLEAR as Tr, describeComposableCaps as Tt, StorageCleanupJobSchema as U, storageOccupancyCapability as Un, isKeychainStoredField as Ur, gbToBytes as Ut, STREAM_PROFILE_META as V, storageCapability as Vn, isDeviceConfigCap as Vr, formatDeviceRevoker as Vt, StorageLocationModeSchema as W, storageProviderCapability as Wn, isSecretClear as Wr, isAppLinkBase as Wt, addonWidgetsCapability as X, validateCustomAddress as Xn, parseJsonObject as Xr, isVoidInput as Xt, addonSettingsCapability as Y, validateComposition as Yn, normalizeSecretOwner as Yr, isObjectInput as Yt, alertsCapability as Z, vectorDimFromBase64 as Zn, parseJsonUnknown as Zr, kebabToCamel as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, objectInputDeclaresRequiredDeviceId as _n, BaseAddon as _r, coreBlocksCapability as _t, BatteryStatusSchema as a, sleep as ai, logDestinationCapability as an, composedDeviceStableId as ar, buildStreamParamsConfigSchema as at, DERIVED_CAMERA_SILENCED_CAP_NAMES as b, planComposition as bn, DEVICE_STATUS_METHOD as br, databaseSnapshotCapability as bt, CAP_NAMES_WITH_STATUS as c, transformSecretWrite as ci, mayReadLocation as cn, compositionSliceKey as cr, canonicalIconKey as ct, CORE_BLOCKS_ADDON_ID as d, metricsProviderCapability as dn, disarmRoseMemory as dr, compositionFieldKey as dt, resolveCapMount as ei, legacyAutoLinkIds as en, withLocationMode as er, bareAddonId as et, CORE_BLOCK_ADDON_PREFIX as f, modeMayWrite as fn, toExpressionValue as fr, compositionSourceRefs as ft, DATABASE_SNAPSHOT_SUFFIX as g, objectInputDeclaresAddonId as gn, errMsg as gr, coreBlockSourceKind as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, normalizeUnit as hn, DeviceType as hr, coreBlockIdFromAddonId as ht, BaseDevice as i, secretTreeFromSchema as ii, locationIconKey as in, composedDeviceRef as ir, buildDeviceSignatureMessage as it, HUB_MDNS_TXT_KEYS as j, resolveLocationMode as jn, collectSecretConfigKeys as jr, enumerateInferenceDevices as jt, FieldClaimSchema as k, resolveCoreBlockFiles as kn, asString$1 as kr, deviceStateCapability as kt, COMPOSED_ITEM_FIXED_FIELDS as l, EventCategory as li, mayWriteToLocation as ln, compositionSourceKey as lr, checkRoleAddress as lt, CoreBlockSchema as m, normalizeCoreBlockWrite as mn, DeviceRole as mr, coreBlockComposition as mt, AlertSchema as n, scopeKey as ni, lifecycleJobSchema as nn, buildFfmpegArgs as nr, buildCapabilityLookup as nt, CAMERA_SWITCH_ORDER as o, toNodeId as oi, logLevelAtMost as on, compositionFeatureEnabled as or, calendarsCapability as ot, CalendarPreferencesSchema as p, motionCapability as pn, DeviceFeature as pr, coreBlockAddonId as pt, UserRecordSchema as q, supportedRuntimes as qn, makeSecretMarker as qr, isDefaultAppConnectionEndpoint as qt, ApiKeyRecordSchema as r, secretTreeFromPaths as ri, localNetworkCapability as rn, cloneStatefulExpressionMemory as rr, buildDeviceEnrollmentLink as rt, CAMSTACK_APP_LINK_ORIGIN as s, toSecretFieldView as si, looseSchema as sn, compositionItemFieldPath as sr, cameraGridLayoutCapability as st, ALL_CAPABILITY_DEFINITIONS as t, resolveSecretMarkers as ti, legacyModeOf as tn, COMPOSER_ADDON_ID as tr, batteryCapability as tt, COMPOSER_RUNNER_ID as u, memoizePinnedFfmpeg as un, createStatefulExpressionMemory as ur, composerCapability as ut, DATA_STORE_DATABASES as v, parseStreamParamsFormPatch as vn, DATAPLANE_SECRET_HEADER as vr, createDeviceExtensionProvider as vt, DEVICE_SAN_USER_PREFIX as w, reducePoints as wn, ReadinessTimeoutError as wr, deriveBatteryPresence as wt, DEVICE_ENROLLMENT_TTL_MS as x, platformProbeCapability as xn, REDACTED_SECRET as xr, declarationOwnerNodeId as xt, DAY_NAMES as y, pickAppLinkHub as yn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as yr, dataStoreProviderCapability as yt, RecordingStatusSchema as z, siteZoneKey as zn, formatSecretScope as zr, filesystemBrowseCapability as zt };
85548
+ export { addonWidgetsCapability as $, validateCustomAddress as $n, parseJsonObject as $r, isVoidInput as $t, FieldClaimModeSchema as A, resolveBucketMs as An, asJsonObject as Ar, deviceExtensionCapability as At, RECORDING_SOURCE_CAMSTACK_ADDON as B, scoreRuntimes as Bn, emitReadiness as Br, expressionContainsBuiltinCall as Bt, DEVICE_ENROLLMENT_TTL_MS as C, planComposition as Cn, DEVICE_STATUS_METHOD as Cr, databaseSnapshotCapability as Ct, DeclaredDevices as D, reducePoints as Dn, ReadinessTimeoutError as Dr, deriveBatteryPresence as Dt, DEVICE_SAN_USER_PREFIX as E, ptzAutotrackCapability as En, ReadinessRegistry as Er, defineExtensionSlotProvider as Et, LOG_LEVEL_RANK as F, resolveMethodAuth as Fn, collectZodSecretPaths as Fr, enumerateItemArrayFields as Ft, SsoBridgeClaimsSchema as G, storageMigrationCapability as Gn, isEvent as Gr, formatMinutes as Gt, STORAGE_ACCESS_FALLBACK as H, siteZoneKey as Hn, formatSecretScope as Hr, filesystemBrowseCapability as Ht, LegacyStorageLocationDefaultSchema as I, resolveNotificationTapAddress as In, createEvent as Ir, enumerateSchemaFields as It, StorageLocationTypeSchema as J, streamCatalogCapability as Jn, isSecretMarker as Jr, isArrayOutputSchema as Jt, StorageCleanupJobSchema as K, storageOccupancyCapability as Kn, isKeychainStoredField as Kr, gbToBytes as Kt, METHOD_ACCESS_MAP as L, runtimeStatePolicyFor as Ln, customAction as Lr, evaluateCompositionField as Lt, HUB_MDNS_SERVICE_TYPE as M, resolveCoreBlockFiles as Mn, asString$1 as Mr, deviceStateCapability as Mt, HUB_MDNS_TXT_KEYS as N, resolveHubAddressRoles as Nn, buildSecretRef as Nr, deviceStatusCapability as Nt, DeviceStatusSchema as O, replacedFieldKeys as On, SECRET_CLEAR as Or, describeComposableCaps as Ot, KEYCHAIN_RESET_TRIGGER_ACTOR as P, resolveLocationMode as Pn, collectSecretConfigKeys as Pr, enumerateInferenceDevices as Pt, addonSettingsCapability as Q, validateComposition as Qn, normalizeSecretOwner as Qr, isObjectInput as Qt, MINUTES_PER_DAY as R, scopesAllowAddon as Rn, defineCustomActions as Rr, evictionPolicyOfLocation as Rt, DERIVED_CAMERA_SILENCED_CAP_NAMES as S, pickAppLinkHub as Sn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as Sr, dataStoreProviderCapability as St, DEVICE_SAN_CREDENTIAL_PREFIX as T, procedureAuthKey as Tn, RUNTIME_DEFAULTS as Tr, decodeVectorBase64 as Tt, STREAM_PROFILE_META as U, snapshotCapability as Un, hydrateSchema as Ur, foldSnapshotByFunction as Ut, RecordingStatusSchema as V, settingsStoreCapability as Vn, expandCapMethods as Vr, extractNestedAddonId as Vt, ScopedTokenSchema as W, storageCapability as Wn, isDeviceConfigCap as Wr, formatDeviceRevoker as Wt, UserRecordSchema as X, supportedRuntimes as Xn, makeSecretMarker as Xr, isDefaultAppConnectionEndpoint as Xt, StorageMigrationJobSchema as Y, streamQualityLabel as Yn, isSecretMarkerLike as Yr, isCollectionArrayMethod as Yt, addonPagesCapability as Z, userManagementCapability as Zn, nodePin as Zr, isLocationEnabled as Zt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as _, normalizeCoreBlockWrite as _n, DeviceRole as _r, coreBlockComposition as _t, ApiKeyRecordSchema as a, scopeKey as ai, lifecycleJobSchema as an, buildFfmpegArgs as ar, buildCapabilityLookup as at, DATA_STORE_DATABASES as b, objectInputDeclaresRequiredDeviceId as bn, BaseAddon as br, coreBlocksCapability as bt, CAMERA_SWITCH_ORDER as c, sleep as ci, logDestinationCapability as cn, composedDeviceStableId as cr, buildStreamParamsConfigSchema as ct, COMPOSED_ITEM_FIXED_FIELDS as d, transformSecretWrite as di, mayReadLocation as dn, compositionSliceKey as dr, canonicalIconKey as dt, parseJsonUnknown as ei, kebabToCamel as en, vectorDimFromBase64 as er, alertsCapability as et, COMPOSER_RUNNER_ID as f, EventCategory as fi, mayWriteToLocation as fn, compositionSourceKey as fr, checkRoleAddress as ft, CoreBlockSchema as g, motionCapability as gn, DeviceFeature as gr, coreBlockAddonId as gt, CalendarPreferencesSchema as h, modeMayWrite as hn, toExpressionValue as hr, compositionSourceRefs as ht, AlertSchema as i, resolveSecretMarkers as ii, legacyModeOf as in, COMPOSER_ADDON_ID as ir, batteryCapability as it, FieldClaimSchema as j, resolveCoreBlockEntry as jn, asNumber as jr, deviceManagerCapability as jt, FIRST_LEVEL_MACRO_CLASSES as k, resolveAppConnections as kn, WELL_KNOWN_TAB_MAP as kr, deviceCredentialsCapability as kt, CAMSTACK_APP_LINK_ORIGIN as l, toNodeId as li, logLevelAtMost as ln, compositionFeatureEnabled as lr, calendarsCapability as lt, CORE_BLOCK_ADDON_PREFIX as m, metricsProviderCapability as mn, disarmRoseMemory as mr, compositionFieldKey as mt, AGENT_MDNS_TXT_KEYS as n, readinessKey as ni, keychainCapability as nn, vectorStoreCapability as nr, backupCapability as nt, BaseDevice as o, secretTreeFromPaths as oi, localNetworkCapability as on, cloneStatefulExpressionMemory as or, buildDeviceEnrollmentLink as ot, CORE_BLOCKS_ADDON_ID as p, memoizePinnedFfmpeg as pn, createStatefulExpressionMemory as pr, composerCapability as pt, StorageLocationModeSchema as q, storageProviderCapability as qn, isSecretClear as qr, isAppLinkBase as qt, ALL_CAPABILITY_DEFINITIONS as r, resolveCapMount as ri, legacyAutoLinkIds as rn, withLocationMode as rr, bareAddonId as rt, BatteryStatusSchema as s, secretTreeFromSchema as si, locationIconKey as sn, composedDeviceRef as sr, buildDeviceSignatureMessage as st, AGENT_MDNS_SERVICE_TYPE as t, parseSecretRef as ti, keychainAdminCapability as tn, vectorIndexDimConflictError as tr, authProviderCapability as tt, CAP_NAMES_WITH_STATUS as u, toSecretFieldView as ui, looseSchema as un, compositionItemFieldPath as ur, cameraGridLayoutCapability as ut, DATABASE_SNAPSHOT_SUFFIX as v, normalizeUnit as vn, DeviceType as vr, coreBlockIdFromAddonId as vt, DEVICE_NONCE_TTL_MS as w, platformProbeCapability as wn, REDACTED_SECRET as wr, declarationOwnerNodeId as wt, DAY_NAMES as x, parseStreamParamsFormPatch as xn, DATAPLANE_SECRET_HEADER as xr, createDeviceExtensionProvider as xt, DATABASE_SNAPSHOT_TIMEOUT_MS as y, objectInputDeclaresAddonId as yn, errMsg as yr, coreBlockSourceKind as yt, MOTION_CLOSE_AFTER_MS as z, scopesAllowDeviceCap as zn, emitDownForOwnedCaps as zr, expandContainer as zt };
@@ -1,5 +1,5 @@
1
1
  require("./chunk-Cek0wNdY.js");
2
- const require_wal_maintenance = require("./wal-maintenance-ChzCPUi2.js");
2
+ const require_wal_maintenance = require("./wal-maintenance-LZYd8iT-.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 callControl, E as controlTargetOf, T as callVector, _ as collectTransferables, a as WalMaintenance, b as isFileHostWorkerData, c as SqliteSettingsBackend, h as serializeError, o as createVectorIndex, s as vectorProviderOf, w as callData, x as trustInput, y as isFileHostRequest } from "./wal-maintenance-uQGuStFW.mjs";
1
+ import { C as callControl, E as controlTargetOf, T as callVector, _ as collectTransferables, a as WalMaintenance, b as isFileHostWorkerData, c as SqliteSettingsBackend, h as serializeError, o as createVectorIndex, s as vectorProviderOf, w as callData, x as trustInput, y as isFileHostRequest } from "./wal-maintenance-DgLLPK14.mjs";
2
2
  import { parentPort, threadId, workerData } from "node:worker_threads";
3
3
  //#region src/builtins/sqlite-storage/file-host-worker.ts
4
4
  /**