@camstack/system 1.2.438 → 1.2.439

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 (92) hide show
  1. package/dist/{agent-https-BZIwS4xF.js → agent-https-DlpTMDqA.js} +252 -22
  2. package/dist/{agent-https-BPfHrI4c.mjs → agent-https-U0d4uvn2.mjs} +211 -23
  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 +2 -2
  18. package/dist/builtins/composer/composer.addon.mjs +2 -2
  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-manager/device-manager.addon.js +18 -3
  24. package/dist/builtins/device-manager/device-manager.addon.mjs +18 -3
  25. package/dist/builtins/device-manager/device-tombstone-store.d.ts +12 -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 +2 -2
  33. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  34. package/dist/builtins/local-network/local-network.addon.js +7 -2
  35. package/dist/builtins/local-network/local-network.addon.mjs +7 -2
  36. package/dist/builtins/loki-logging/index.js +1 -1
  37. package/dist/builtins/loki-logging/index.mjs +1 -1
  38. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  39. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  40. package/dist/builtins/platform-probe/index.js +1 -1
  41. package/dist/builtins/platform-probe/index.mjs +1 -1
  42. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  43. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  44. package/dist/builtins/snapshot/index.js +1 -1
  45. package/dist/builtins/snapshot/index.mjs +1 -1
  46. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  47. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  48. package/dist/builtins/sqlite-storage/index.js +1 -1
  49. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  50. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +3 -3
  51. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +3 -3
  52. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  53. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  54. package/dist/builtins/system-config/system-config.addon.js +4 -4
  55. package/dist/builtins/system-config/system-config.addon.mjs +4 -4
  56. package/dist/builtins/winston-logging/index.js +1 -1
  57. package/dist/builtins/winston-logging/index.mjs +1 -1
  58. package/dist/{composition-sources-DI3Z83vG.js → composition-sources-B4jC2FC7.js} +1 -1
  59. package/dist/{composition-sources-DpHGCjdL.mjs → composition-sources-BGOSCGWa.mjs} +1 -1
  60. package/dist/{constants-DQK705Sb.mjs → constants-B92BjObl.mjs} +1 -1
  61. package/dist/{constants-wkcn5Ij3.js → constants-BRsjQwi-.js} +1 -1
  62. package/dist/{device-ca-DvIZjXIl.mjs → device-ca-46BUsWD1.mjs} +2 -2
  63. package/dist/{device-ca-BSvkXqyI.js → device-ca-DHG9OW2m.js} +2 -2
  64. package/dist/{dist-GgG-7amw.js → dist-BOWdLjoK.js} +34 -7
  65. package/dist/{dist-Dc8GKC5H.mjs → dist-yI6kF6r6.mjs} +34 -7
  66. package/dist/file-host-worker.js +1 -1
  67. package/dist/file-host-worker.mjs +1 -1
  68. package/dist/{hub-mdns-ciao-CBLvq2oj.js → hub-mdns-ciao-D7S5AJRU.js} +377 -69
  69. package/dist/{hub-mdns-ciao-DMlQTdPU.mjs → hub-mdns-ciao-DGwVc2uh.mjs} +344 -72
  70. package/dist/index.js +42 -9
  71. package/dist/index.mjs +30 -10
  72. package/dist/{lib-NNxHSOIE.js → lib-8oZrELLm.js} +1 -1
  73. package/dist/{lib-BeGzVQcd.mjs → lib-DK38ompL.mjs} +1 -1
  74. package/dist/{restore-archive-DPg9duVY.mjs → restore-archive-CpdUO-uS.mjs} +1 -1
  75. package/dist/{restore-archive-CTRz8v9o.js → restore-archive-DiGiI6Jp.js} +1 -1
  76. package/dist/{retired-settings-keys-Dr_4lfKu.js → retired-settings-keys-CyQ7uvta.js} +1 -1
  77. package/dist/{retired-settings-keys-Is0zO8gX.mjs → retired-settings-keys-UsVtLOT0.mjs} +1 -1
  78. package/dist/tls/agent-https.d.ts +2 -2
  79. package/dist/tls/boot-tls.d.ts +6 -0
  80. package/dist/tls/cert-evaluation.d.ts +1 -1
  81. package/dist/tls/cert-issue.d.ts +5 -1
  82. package/dist/tls/cert-manager.d.ts +18 -0
  83. package/dist/tls/cert-name-constraints.d.ts +53 -0
  84. package/dist/tls/index.d.ts +5 -4
  85. package/dist/tls/tls-actions.d.ts +27 -7
  86. package/dist/tls/tls-status.d.ts +22 -0
  87. package/dist/tls/uploaded-cert.d.ts +36 -4
  88. package/dist/{wal-maintenance-mjB2i-VR.js → wal-maintenance-DEL_jeG0.js} +0 -0
  89. package/dist/{wal-maintenance-Bx3lcVA7.mjs → wal-maintenance-xsvdT5Go.mjs} +0 -0
  90. package/dist/{x509.es-r7Ht1thA.js → x509.es-C4cOo48M.js} +36 -0
  91. package/dist/{x509.es-CDvj67p1.mjs → x509.es-DK__ETIe.mjs} +1 -1
  92. package/package.json +3 -1
@@ -1,14 +1,46 @@
1
+ import { X509Certificate } from "node:crypto";
2
+ /** Stable codes of the `server` i18n catalog (D863); the English text always travels beside them. */
3
+ export type UploadedTlsErrorCode = "tls.cert-unparsable" | "tls.key-unparsable" | "tls.key-mismatch" | "tls.missing-server-auth" | "tls.ca-required" | "tls.ca-unparsable" | "tls.ca-not-issuer" | "tls.ca-not-a-ca" | "tls.ca-expired";
4
+ export interface UploadedTlsFailure {
5
+ readonly ok: false;
6
+ readonly code: UploadedTlsErrorCode;
7
+ /** English text; the hub translates by `code`. */
8
+ readonly error: string;
9
+ }
1
10
  export type UploadedTlsValidation = {
2
11
  readonly ok: true;
3
12
  readonly fingerprintSha256: string;
4
13
  readonly validTo: string;
5
- } | {
6
- readonly ok: false;
7
- readonly error: string;
8
- };
14
+ } | UploadedTlsFailure;
9
15
  /**
10
16
  * Operator-supplied material must parse, match its key, and carry
11
17
  * `extendedKeyUsage = serverAuth` — the same leaf defects D227 refused
12
18
  * to keep generating.
13
19
  */
14
20
  export declare function validateUploadedTls(certPem: string, keyPem: string): UploadedTlsValidation;
21
+ /** Every certificate in a PEM bundle, in order. */
22
+ export declare function pemCertificates(pem: string): readonly string[];
23
+ /** The trust anchors of public CAs that ship with Node. */
24
+ export declare function publicRootCertificates(): readonly X509Certificate[];
25
+ /**
26
+ * True when the served chain leads to a public CA that clients already trust:
27
+ * the leaf, or one of the chain's own certificates, is signed by a public root.
28
+ * Such a certificate needs nothing installed on a device, so no CA is required.
29
+ */
30
+ export declare function chainsToPublicRoot(chainPem: string, roots?: readonly X509Certificate[]): boolean;
31
+ export type UploadedCaCheck = {
32
+ readonly ok: true;
33
+ /** The CA that signed the leaf, to be kept for "Download CA"; `null` for a public chain with none supplied. */
34
+ readonly issuerPem: string | null;
35
+ readonly publicChain: boolean;
36
+ } | UploadedTlsFailure;
37
+ /**
38
+ * The CA rule for an upload (D873). A CA the operator supplies must parse, be a CA, be in
39
+ * date and actually have signed the leaf. Without one, the upload is accepted only when
40
+ * its own chain carries the issuer or leads to a public root; anything else is refused,
41
+ * because a device cannot be told to trust a certificate nobody can hand it the CA of.
42
+ */
43
+ export declare function checkUploadedCa(chainPem: string, caPem: string | undefined, options?: {
44
+ readonly now?: Date;
45
+ readonly publicRoots?: readonly X509Certificate[];
46
+ }): UploadedCaCheck;
@@ -11913,6 +11913,12 @@ AsnEcSignatureFormatter.namedCurveSize.set("K-256", 32);
11913
11913
  AsnEcSignatureFormatter.namedCurveSize.set("P-384", 48);
11914
11914
  AsnEcSignatureFormatter.namedCurveSize.set("P-521", 66);
11915
11915
  //#endregion
11916
+ Object.defineProperty(exports, "AsnConvert", {
11917
+ enumerable: true,
11918
+ get: function() {
11919
+ return AsnConvert;
11920
+ }
11921
+ });
11916
11922
  Object.defineProperty(exports, "AuthorityKeyIdentifierExtension", {
11917
11923
  enumerable: true,
11918
11924
  get: function() {
@@ -11931,6 +11937,30 @@ Object.defineProperty(exports, "ExtendedKeyUsageExtension", {
11931
11937
  return ExtendedKeyUsageExtension;
11932
11938
  }
11933
11939
  });
11940
+ Object.defineProperty(exports, "Extension", {
11941
+ enumerable: true,
11942
+ get: function() {
11943
+ return Extension;
11944
+ }
11945
+ });
11946
+ Object.defineProperty(exports, "GeneralName", {
11947
+ enumerable: true,
11948
+ get: function() {
11949
+ return GeneralName$1;
11950
+ }
11951
+ });
11952
+ Object.defineProperty(exports, "GeneralSubtree", {
11953
+ enumerable: true,
11954
+ get: function() {
11955
+ return GeneralSubtree;
11956
+ }
11957
+ });
11958
+ Object.defineProperty(exports, "GeneralSubtrees", {
11959
+ enumerable: true,
11960
+ get: function() {
11961
+ return GeneralSubtrees;
11962
+ }
11963
+ });
11934
11964
  Object.defineProperty(exports, "KeyUsageFlags", {
11935
11965
  enumerable: true,
11936
11966
  get: function() {
@@ -11943,6 +11973,12 @@ Object.defineProperty(exports, "KeyUsagesExtension", {
11943
11973
  return KeyUsagesExtension;
11944
11974
  }
11945
11975
  });
11976
+ Object.defineProperty(exports, "NameConstraints", {
11977
+ enumerable: true,
11978
+ get: function() {
11979
+ return NameConstraints;
11980
+ }
11981
+ });
11946
11982
  Object.defineProperty(exports, "PemConverter", {
11947
11983
  enumerable: true,
11948
11984
  get: function() {
@@ -11913,4 +11913,4 @@ AsnEcSignatureFormatter.namedCurveSize.set("K-256", 32);
11913
11913
  AsnEcSignatureFormatter.namedCurveSize.set("P-384", 48);
11914
11914
  AsnEcSignatureFormatter.namedCurveSize.set("P-521", 66);
11915
11915
  //#endregion
11916
- export { KeyUsagesExtension as a, Pkcs10CertificateRequestGenerator as c, X509Certificate as d, X509CertificateGenerator as f, backdatedNotBefore as g, tslib_es6_exports as h, KeyUsageFlags as i, SubjectAlternativeNameExtension as l, init_tslib_es6 as m, BasicConstraintsExtension as n, PemConverter as o, cryptoProvider as p, ExtendedKeyUsageExtension as r, Pkcs10CertificateRequest as s, AuthorityKeyIdentifierExtension as t, SubjectKeyIdentifierExtension as u };
11916
+ export { backdatedNotBefore as S, NameConstraints as _, KeyUsageFlags as a, tslib_es6_exports as b, Pkcs10CertificateRequest as c, SubjectKeyIdentifierExtension as d, X509Certificate as f, GeneralSubtrees as g, GeneralSubtree as h, Extension as i, Pkcs10CertificateRequestGenerator as l, cryptoProvider as m, BasicConstraintsExtension as n, KeyUsagesExtension as o, X509CertificateGenerator as p, ExtendedKeyUsageExtension as r, PemConverter as s, AuthorityKeyIdentifierExtension as t, SubjectAlternativeNameExtension as u, GeneralName$1 as v, AsnConvert as x, init_tslib_es6 as y };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/system",
3
- "version": "1.2.438",
3
+ "version": "1.2.439",
4
4
  "description": "Core addon for CamStack — builtins, pipeline, process management, auth, logging, events",
5
5
  "keywords": [
6
6
  "camstack",
@@ -491,6 +491,8 @@
491
491
  "@camstack/types": "*",
492
492
  "@homebridge/ciao": "^1.3.9",
493
493
  "@msgpack/msgpack": "^3.1.3",
494
+ "@peculiar/asn1-schema": "^2.6.0",
495
+ "@peculiar/asn1-x509": "^2.6.1",
494
496
  "@peculiar/x509": "^1.14.3",
495
497
  "@trpc/client": "^11.16.0",
496
498
  "@trpc/server": "^11.16.0",