@camstack/system 1.2.382 → 1.2.384

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 (102) hide show
  1. package/dist/addon-runner.js +1 -1
  2. package/dist/addon-runner.mjs +1 -1
  3. package/dist/addon-utils.js +1 -1
  4. package/dist/addon-utils.mjs +1 -1
  5. package/dist/auth/auth-audit-log.d.ts +2 -2
  6. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  7. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  8. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  9. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  10. package/dist/builtins/alerts/alerts.addon.js +1 -1
  11. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  12. package/dist/builtins/autotrack/index.js +1 -1
  13. package/dist/builtins/autotrack/index.mjs +1 -1
  14. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  15. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  16. package/dist/builtins/calendars/calendars.addon.js +1 -1
  17. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  18. package/dist/builtins/camera-grid/index.js +1 -1
  19. package/dist/builtins/camera-grid/index.mjs +1 -1
  20. package/dist/builtins/composer/composer.addon.js +2 -2
  21. package/dist/builtins/composer/composer.addon.mjs +2 -2
  22. package/dist/builtins/console-logging/index.js +1 -1
  23. package/dist/builtins/console-logging/index.mjs +1 -1
  24. package/dist/builtins/core-blocks/core-blocks.addon.js +2 -2
  25. package/dist/builtins/core-blocks/core-blocks.addon.mjs +2 -2
  26. package/dist/builtins/device-manager/device-manager.addon.js +2 -2
  27. package/dist/builtins/device-manager/device-manager.addon.mjs +2 -2
  28. package/dist/builtins/hub-forwarder/index.js +1 -1
  29. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  30. package/dist/builtins/keychain/index.js +5 -5
  31. package/dist/builtins/keychain/index.mjs +4 -4
  32. package/dist/builtins/keychain/system-held-secrets.d.ts +2 -1
  33. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  34. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  35. package/dist/builtins/local-auth/local-auth.addon.js +12 -180
  36. package/dist/builtins/local-auth/local-auth.addon.mjs +7 -163
  37. package/dist/builtins/local-network/local-network.addon.js +2 -2
  38. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  39. package/dist/builtins/loki-logging/index.js +1 -1
  40. package/dist/builtins/loki-logging/index.mjs +1 -1
  41. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  42. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  43. package/dist/builtins/platform-probe/index.js +1 -1
  44. package/dist/builtins/platform-probe/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/sqlite-settings.addon.js +0 -0
  52. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +0 -0
  53. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  54. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  55. package/dist/builtins/system-config/index.d.ts +1 -0
  56. package/dist/builtins/system-config/index.js +2 -0
  57. package/dist/builtins/system-config/index.mjs +2 -2
  58. package/dist/builtins/system-config/mesh-actions.d.ts +19 -0
  59. package/dist/builtins/system-config/system-config.addon.d.ts +46 -1
  60. package/dist/builtins/system-config/system-config.addon.js +87733 -11
  61. package/dist/builtins/system-config/system-config.addon.mjs +87693 -6
  62. package/dist/builtins/winston-logging/index.js +1 -1
  63. package/dist/builtins/winston-logging/index.mjs +1 -1
  64. package/dist/{child-cap-dispatch-BrMdKHfp.js → child-cap-dispatch-CqsXM79k.js} +2 -2
  65. package/dist/{child-cap-dispatch-WsYPNvnK.mjs → child-cap-dispatch-DgsAJDT1.mjs} +2 -2
  66. package/dist/{composition-sources-XqRX51db.mjs → composition-sources-B91DJLGR.mjs} +1 -1
  67. package/dist/{composition-sources-C6ZynCZ2.js → composition-sources-DQ0PZZXu.js} +1 -1
  68. package/dist/{cluster-secret-DhPdZ0VA.mjs → constants-4cKqLT_b.mjs} +23 -2
  69. package/dist/{cluster-secret-BEPLh3LL.js → constants-cBzlas-4.js} +82 -1
  70. package/dist/{dist-tnAO12ak.js → dist-Cf0yAy6y.js} +41 -1
  71. package/dist/{dist-CP5TTjwd.mjs → dist-D8XMuZCS.mjs} +30 -2
  72. package/dist/{event-loop-stall-monitor-WkssIXjq.mjs → event-loop-stall-monitor-RO35vF41.mjs} +1 -1
  73. package/dist/{event-loop-stall-monitor-9kR0sAPS.js → event-loop-stall-monitor-oQrkb_SD.js} +1 -1
  74. package/dist/index.js +291 -86048
  75. package/dist/index.mjs +513 -86302
  76. package/dist/{jwt-signing-key-Dgf8sIXY.js → jwt-signing-key-BTDLP6U5.js} +1 -1
  77. package/dist/{jwt-signing-key-CAbozwvF.mjs → jwt-signing-key-CnNafp3J.mjs} +1 -1
  78. package/dist/kernel/index.d.ts +6 -2
  79. package/dist/kernel/moleculer/agent-mesh-authenticator.d.ts +41 -0
  80. package/dist/kernel/moleculer/broker-factory.d.ts +19 -3
  81. package/dist/kernel/moleculer/mesh-access-middleware.d.ts +7 -2
  82. package/dist/kernel/moleculer/mesh-mtls/constants.d.ts +20 -0
  83. package/dist/kernel/moleculer/mesh-mtls/index.d.ts +10 -0
  84. package/dist/kernel/moleculer/mesh-mtls/mesh-ca-keeper.d.ts +55 -0
  85. package/dist/kernel/moleculer/mesh-mtls/mesh-ca.d.ts +45 -0
  86. package/dist/kernel/moleculer/mesh-mtls/mesh-clear-port.d.ts +56 -0
  87. package/dist/kernel/moleculer/mesh-mtls/mesh-crl.d.ts +16 -0
  88. package/dist/kernel/moleculer/mesh-mtls/mesh-enroll.d.ts +27 -0
  89. package/dist/kernel/moleculer/mesh-mtls/mesh-join-token.d.ts +55 -0
  90. package/dist/kernel/moleculer/mesh-mtls/mesh-tls-enabler.d.ts +5 -0
  91. package/dist/kernel/moleculer/mesh-mtls/tls-tcp-transporter.d.ts +125 -0
  92. package/dist/ms-DlIWNkkk.mjs +160 -0
  93. package/dist/ms-t68_FaqE.js +171 -0
  94. package/dist/{restore-archive-BV39nY46.mjs → restore-archive-CK-0QFkj.mjs} +2 -2
  95. package/dist/{restore-archive-CbvrfPuB.js → restore-archive-Cu2A2AsD.js} +3 -3
  96. package/dist/{retired-settings-keys-4bHpL-0m.js → retired-settings-keys-BhSpvEke.js} +1 -1
  97. package/dist/{retired-settings-keys-CzpIkwS-.mjs → retired-settings-keys-CgRxDKvT.mjs} +1 -1
  98. package/dist/tls-BWpwU-d5.js +1160 -0
  99. package/dist/tls-C2NT-Orr.mjs +949 -0
  100. package/dist/{tls-CljF057D.js → x509.es-BhTzcFhZ.js} +65 -1108
  101. package/dist/{tls-4cRH24Id.mjs → x509.es-Xf3K_brW.mjs} +40 -950
  102. package/package.json +3 -2
@@ -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-tnAO12ak.js");
6
+ const require_dist = require("../../dist-Cf0yAy6y.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 { Qt as logDestinationCapability, ur as BaseAddon } from "../../dist-CP5TTjwd.mjs";
1
+ import { Qt as logDestinationCapability, ur as BaseAddon } from "../../dist-D8XMuZCS.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,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-tnAO12ak.js");
2
+ const require_dist = require("./dist-Cf0yAy6y.js");
3
3
  const require_proc_stat = require("./proc-stat-DL-WUOhl.js");
4
4
  require("./hub-cap-forward-W8oEm4ME.js");
5
5
  let node_crypto = require("node:crypto");
@@ -15,6 +15,7 @@ let node_fs = require("node:fs");
15
15
  node_fs = require_chunk.__toESM(node_fs);
16
16
  let node_child_process = require("node:child_process");
17
17
  let node_util = require("node:util");
18
+ let node_events = require("node:events");
18
19
  let node_http = require("node:http");
19
20
  let node_v8 = require("node:v8");
20
21
  node_v8 = require_chunk.__toESM(node_v8);
@@ -23,7 +24,6 @@ let node_perf_hooks = require("node:perf_hooks");
23
24
  let node_vm = require("node:vm");
24
25
  node_vm = require_chunk.__toESM(node_vm);
25
26
  let _camstack_types_addon = require("@camstack/types/addon");
26
- let node_events = require("node:events");
27
27
  let _trpc_client = require("@trpc/client");
28
28
  //#region src/kernel/event-plane-report.ts
29
29
  /**
@@ -1,4 +1,4 @@
1
- import { Tr as createEvent, ei as EventCategory$1, qr as scrubKnownSecrets, tn as maskUrlCredentials } from "./dist-CP5TTjwd.mjs";
1
+ import { Tr as createEvent, Yr as scrubKnownSecrets, ni as EventCategory$1, tn as maskUrlCredentials } from "./dist-D8XMuZCS.mjs";
2
2
  import { a as parseProcStat, i as nodeProcReader } from "./proc-stat-CbC55Kqi.mjs";
3
3
  import "./hub-cap-forward-CDiN1p98.mjs";
4
4
  import * as crypto$1 from "node:crypto";
@@ -14,13 +14,13 @@ import * as fs from "node:fs";
14
14
  import { createReadStream, createWriteStream, existsSync, readFileSync, readdirSync } from "node:fs";
15
15
  import { execFile } from "node:child_process";
16
16
  import { promisify } from "node:util";
17
+ import { once } from "node:events";
17
18
  import { createServer as createServer$1, request } from "node:http";
18
19
  import * as v8 from "node:v8";
19
20
  import { Session } from "node:inspector/promises";
20
21
  import { monitorEventLoopDelay } from "node:perf_hooks";
21
22
  import * as vm from "node:vm";
22
23
  import { BOOT_RECOVERY_BACKOFF_MS, DATAPLANE_SECRET_HEADER, DEVICE_CHILDREN_BATCH_MAX, DeviceType, DisposerChain, EventCategory, PEER_BYTES_CHUNK_BYTES, PEER_BYTES_MAX_OUTSTANDING, PEER_BYTES_STALL_MS, PEER_BYTES_TICKET_TTL_MS, ReadinessRegistry, asJsonObject, asString, collectZodSecretPaths, createDeviceProxy, createEventBusSliceSource, createSecretsAccess, deviceOpsCapability, emitReadiness, errMsg, expandCapMethods, readNodePin, scopeKey, sleep, withCapInputDefaults } from "@camstack/types/addon";
23
- import { once } from "node:events";
24
24
  import { TRPCClientError, createTRPCClient } from "@trpc/client";
25
25
  //#region src/kernel/event-plane-report.ts
26
26
  /**
@@ -1,4 +1,4 @@
1
- import { lr as errMsg, nr as compositionSourceKey } from "./dist-CP5TTjwd.mjs";
1
+ import { lr as errMsg, nr as compositionSourceKey } from "./dist-D8XMuZCS.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
- const require_dist = require("./dist-tnAO12ak.js");
1
+ const require_dist = require("./dist-Cf0yAy6y.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 { Sr as buildSecretRef } from "./dist-CP5TTjwd.mjs";
1
+ import { Sr as buildSecretRef } from "./dist-D8XMuZCS.mjs";
2
2
  import { createHash, timingSafeEqual } from "node:crypto";
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -79,5 +79,26 @@ function getProcessClusterSecretGate() {
79
79
  const value = Reflect.get(globalThis, GATE_SLOT);
80
80
  return isGate(value) ? value : NOT_LOADED;
81
81
  }
82
+ /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
83
+ var MESH_CA_KEY_REF = buildSecretRef({
84
+ owner: "system",
85
+ scope: { kind: "global" },
86
+ fieldPath: "meshCaKey"
87
+ });
88
+ /** `system-settings` key holding the public CA certificate PEM. */
89
+ var MESH_CA_SETTINGS_KEY = "cluster.meshCa";
90
+ /** Field inside the `cluster` section (same row as the secret). */
91
+ var MESH_CA_FIELD = "meshCa";
92
+ /** Join-token / leaf lifetimes. */
93
+ var MESH_JOIN_TOKEN_MAX_TTL_SEC = 3600;
94
+ var MESH_CA_VALIDITY_DAYS = 3650;
95
+ /** Hub clear TCP (existing) and TLS dual-listen port (Release A). */
96
+ var DEFAULT_HUB_TCP_PORT = 6e3;
97
+ var DEFAULT_HUB_TLS_TCP_PORT = 6443;
98
+ /** Subject of the mesh root. Distinct from the HTTPS local CA. */
99
+ var MESH_CA_COMMON_NAME = "CamStack Mesh CA";
100
+ /** Client + server auth EKU OIDs (mutual TLS). */
101
+ var SERVER_AUTH_OID = "1.3.6.1.5.5.7.3.1";
102
+ var CLIENT_AUTH_OID = "1.3.6.1.5.5.7.3.2";
82
103
  //#endregion
83
- export { CLUSTER_SECRET_UNAVAILABLE_TYPE as a, getProcessClusterSecretGate as c, setProcessClusterSecretGate as d, CLUSTER_SECRET_SETTINGS_KEY as i, hashClusterSecret as l, CLUSTER_SECRET_REF as n, checkClusterSecret as o, CLUSTER_SECRET_REJECTED_EXIT_CODE as r, clusterSecretMatches as s, CLUSTER_SECRET_MISMATCH_TYPE as t, isClusterSecretMismatchError as u };
104
+ export { clusterSecretMatches as _, MESH_CA_FIELD as a, isClusterSecretMismatchError as b, MESH_CA_VALIDITY_DAYS as c, CLUSTER_SECRET_MISMATCH_TYPE as d, CLUSTER_SECRET_REF as f, checkClusterSecret as g, CLUSTER_SECRET_UNAVAILABLE_TYPE as h, MESH_CA_COMMON_NAME as i, MESH_JOIN_TOKEN_MAX_TTL_SEC as l, CLUSTER_SECRET_SETTINGS_KEY as m, DEFAULT_HUB_TCP_PORT as n, MESH_CA_KEY_REF as o, CLUSTER_SECRET_REJECTED_EXIT_CODE as p, DEFAULT_HUB_TLS_TCP_PORT as r, MESH_CA_SETTINGS_KEY as s, CLIENT_AUTH_OID as t, SERVER_AUTH_OID as u, getProcessClusterSecretGate as v, setProcessClusterSecretGate as x, hashClusterSecret as y };
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-tnAO12ak.js");
1
+ const require_dist = require("./dist-Cf0yAy6y.js");
2
2
  let node_crypto = require("node:crypto");
3
3
  //#region src/kernel/moleculer/cluster-secret.ts
4
4
  /**
@@ -79,7 +79,34 @@ function getProcessClusterSecretGate() {
79
79
  const value = Reflect.get(globalThis, GATE_SLOT);
80
80
  return isGate(value) ? value : NOT_LOADED;
81
81
  }
82
+ /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
83
+ var MESH_CA_KEY_REF = require_dist.buildSecretRef({
84
+ owner: "system",
85
+ scope: { kind: "global" },
86
+ fieldPath: "meshCaKey"
87
+ });
88
+ /** `system-settings` key holding the public CA certificate PEM. */
89
+ var MESH_CA_SETTINGS_KEY = "cluster.meshCa";
90
+ /** Field inside the `cluster` section (same row as the secret). */
91
+ var MESH_CA_FIELD = "meshCa";
92
+ /** Join-token / leaf lifetimes. */
93
+ var MESH_JOIN_TOKEN_MAX_TTL_SEC = 3600;
94
+ var MESH_CA_VALIDITY_DAYS = 3650;
95
+ /** Hub clear TCP (existing) and TLS dual-listen port (Release A). */
96
+ var DEFAULT_HUB_TCP_PORT = 6e3;
97
+ var DEFAULT_HUB_TLS_TCP_PORT = 6443;
98
+ /** Subject of the mesh root. Distinct from the HTTPS local CA. */
99
+ var MESH_CA_COMMON_NAME = "CamStack Mesh CA";
100
+ /** Client + server auth EKU OIDs (mutual TLS). */
101
+ var SERVER_AUTH_OID = "1.3.6.1.5.5.7.3.1";
102
+ var CLIENT_AUTH_OID = "1.3.6.1.5.5.7.3.2";
82
103
  //#endregion
104
+ Object.defineProperty(exports, "CLIENT_AUTH_OID", {
105
+ enumerable: true,
106
+ get: function() {
107
+ return CLIENT_AUTH_OID;
108
+ }
109
+ });
83
110
  Object.defineProperty(exports, "CLUSTER_SECRET_MISMATCH_TYPE", {
84
111
  enumerable: true,
85
112
  get: function() {
@@ -110,6 +137,60 @@ Object.defineProperty(exports, "CLUSTER_SECRET_UNAVAILABLE_TYPE", {
110
137
  return CLUSTER_SECRET_UNAVAILABLE_TYPE;
111
138
  }
112
139
  });
140
+ Object.defineProperty(exports, "DEFAULT_HUB_TCP_PORT", {
141
+ enumerable: true,
142
+ get: function() {
143
+ return DEFAULT_HUB_TCP_PORT;
144
+ }
145
+ });
146
+ Object.defineProperty(exports, "DEFAULT_HUB_TLS_TCP_PORT", {
147
+ enumerable: true,
148
+ get: function() {
149
+ return DEFAULT_HUB_TLS_TCP_PORT;
150
+ }
151
+ });
152
+ Object.defineProperty(exports, "MESH_CA_COMMON_NAME", {
153
+ enumerable: true,
154
+ get: function() {
155
+ return MESH_CA_COMMON_NAME;
156
+ }
157
+ });
158
+ Object.defineProperty(exports, "MESH_CA_FIELD", {
159
+ enumerable: true,
160
+ get: function() {
161
+ return MESH_CA_FIELD;
162
+ }
163
+ });
164
+ Object.defineProperty(exports, "MESH_CA_KEY_REF", {
165
+ enumerable: true,
166
+ get: function() {
167
+ return MESH_CA_KEY_REF;
168
+ }
169
+ });
170
+ Object.defineProperty(exports, "MESH_CA_SETTINGS_KEY", {
171
+ enumerable: true,
172
+ get: function() {
173
+ return MESH_CA_SETTINGS_KEY;
174
+ }
175
+ });
176
+ Object.defineProperty(exports, "MESH_CA_VALIDITY_DAYS", {
177
+ enumerable: true,
178
+ get: function() {
179
+ return MESH_CA_VALIDITY_DAYS;
180
+ }
181
+ });
182
+ Object.defineProperty(exports, "MESH_JOIN_TOKEN_MAX_TTL_SEC", {
183
+ enumerable: true,
184
+ get: function() {
185
+ return MESH_JOIN_TOKEN_MAX_TTL_SEC;
186
+ }
187
+ });
188
+ Object.defineProperty(exports, "SERVER_AUTH_OID", {
189
+ enumerable: true,
190
+ get: function() {
191
+ return SERVER_AUTH_OID;
192
+ }
193
+ });
113
194
  Object.defineProperty(exports, "checkClusterSecret", {
114
195
  enumerable: true,
115
196
  get: function() {
@@ -4143,6 +4143,28 @@ var adminUiCapability = {
4143
4143
  getVersion: method(zod.z.void(), VersionOutputSchema$1, { auth: "admin" })
4144
4144
  }
4145
4145
  };
4146
+ /**
4147
+ * Identity — preserves literal types for downstream inference.
4148
+ *
4149
+ * The constraint is `Record<string, unknown>` (not `CustomActionsSpec`) so
4150
+ * TypeScript does not widen each entry's literal `kind`/`auth` fields to
4151
+ * the broader unions declared on `CustomActionSpec`'s default generics.
4152
+ * Shape validity is enforced separately by the `customAction(...)` helper
4153
+ * whose return type is already a `CustomActionSpec<...>`.
4154
+ */
4155
+ function defineCustomActions(spec) {
4156
+ return spec;
4157
+ }
4158
+ function customAction(input, output, options) {
4159
+ return {
4160
+ input,
4161
+ output,
4162
+ kind: options?.kind ?? "query",
4163
+ auth: options?.auth ?? "protected",
4164
+ scope: options?.scope ?? { kind: "system" },
4165
+ ...options?.caller ? { caller: "required" } : {}
4166
+ };
4167
+ }
4146
4168
  var StaticDirOutputSchema = zod.z.object({ staticDir: zod.z.string() });
4147
4169
  var VersionOutputSchema = zod.z.object({ version: zod.z.string() });
4148
4170
  /**
@@ -41857,7 +41879,13 @@ var TopologyNodeSchema = zod.z.object({
41857
41879
  })).readonly(),
41858
41880
  processes: zod.z.array(TopologyProcessSchema).readonly(),
41859
41881
  categories: zod.z.array(TopologyCategorySchema).readonly(),
41860
- rootPackage: TopologyRootPackageSchema.nullable()
41882
+ rootPackage: TopologyRootPackageSchema.nullable(),
41883
+ /**
41884
+ * How an online AGENT reaches the hub (mesh mTLS Release A): `tls` once it has
41885
+ * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
41886
+ * for offline rows and when the hub cannot tell.
41887
+ */
41888
+ meshTransport: zod.z.enum(["tls", "clear"]).optional()
41861
41889
  });
41862
41890
  var CapUsageEdgeSchema = zod.z.object({
41863
41891
  callerAddonId: zod.z.string(),
@@ -65237,6 +65265,12 @@ Object.defineProperty(exports, "createStatefulExpressionMemory", {
65237
65265
  return createStatefulExpressionMemory;
65238
65266
  }
65239
65267
  });
65268
+ Object.defineProperty(exports, "customAction", {
65269
+ enumerable: true,
65270
+ get: function() {
65271
+ return customAction;
65272
+ }
65273
+ });
65240
65274
  Object.defineProperty(exports, "dataStoreProviderCapability", {
65241
65275
  enumerable: true,
65242
65276
  get: function() {
@@ -65261,6 +65295,12 @@ Object.defineProperty(exports, "decodeVectorBase64", {
65261
65295
  return decodeVectorBase64;
65262
65296
  }
65263
65297
  });
65298
+ Object.defineProperty(exports, "defineCustomActions", {
65299
+ enumerable: true,
65300
+ get: function() {
65301
+ return defineCustomActions;
65302
+ }
65303
+ });
65264
65304
  Object.defineProperty(exports, "defineExtensionSlotProvider", {
65265
65305
  enumerable: true,
65266
65306
  get: function() {
@@ -4143,6 +4143,28 @@ var adminUiCapability = {
4143
4143
  getVersion: method(z.void(), VersionOutputSchema$1, { auth: "admin" })
4144
4144
  }
4145
4145
  };
4146
+ /**
4147
+ * Identity — preserves literal types for downstream inference.
4148
+ *
4149
+ * The constraint is `Record<string, unknown>` (not `CustomActionsSpec`) so
4150
+ * TypeScript does not widen each entry's literal `kind`/`auth` fields to
4151
+ * the broader unions declared on `CustomActionSpec`'s default generics.
4152
+ * Shape validity is enforced separately by the `customAction(...)` helper
4153
+ * whose return type is already a `CustomActionSpec<...>`.
4154
+ */
4155
+ function defineCustomActions(spec) {
4156
+ return spec;
4157
+ }
4158
+ function customAction(input, output, options) {
4159
+ return {
4160
+ input,
4161
+ output,
4162
+ kind: options?.kind ?? "query",
4163
+ auth: options?.auth ?? "protected",
4164
+ scope: options?.scope ?? { kind: "system" },
4165
+ ...options?.caller ? { caller: "required" } : {}
4166
+ };
4167
+ }
4146
4168
  var StaticDirOutputSchema = z.object({ staticDir: z.string() });
4147
4169
  var VersionOutputSchema = z.object({ version: z.string() });
4148
4170
  /**
@@ -41857,7 +41879,13 @@ var TopologyNodeSchema = z.object({
41857
41879
  })).readonly(),
41858
41880
  processes: z.array(TopologyProcessSchema).readonly(),
41859
41881
  categories: z.array(TopologyCategorySchema).readonly(),
41860
- rootPackage: TopologyRootPackageSchema.nullable()
41882
+ rootPackage: TopologyRootPackageSchema.nullable(),
41883
+ /**
41884
+ * How an online AGENT reaches the hub (mesh mTLS Release A): `tls` once it has
41885
+ * completed a mutual-TLS handshake, `clear` otherwise. Absent for the hub,
41886
+ * for offline rows and when the hub cannot tell.
41887
+ */
41888
+ meshTransport: z.enum(["tls", "clear"]).optional()
41861
41889
  });
41862
41890
  var CapUsageEdgeSchema = z.object({
41863
41891
  callerAddonId: z.string(),
@@ -64661,4 +64689,4 @@ function enumerateInferenceDevices(hw) {
64661
64689
  return out;
64662
64690
  }
64663
64691
  //#endregion
64664
- export { buildCapabilityLookup as $, compositionFeatureEnabled as $n, transformSecretWrite as $r, logLevelAtMost as $t, METHOD_ACCESS_MAP as A, scopesAllowDeviceCap as An, hydrateSchema as Ar, expressionContainsBuiltinCall as At, StorageCleanupJobSchema as B, streamQualityLabel as Bn, parseJsonObject as Br, isDefaultAppConnectionEndpoint as Bt, FieldClaimModeSchema as C, resolveCoreBlockFiles as Cn, collectSecretConfigKeys as Cr, deviceStatusCapability as Ct, LOG_LEVEL_RANK as D, resolveNotificationTapAddress as Dn, emitReadiness as Dr, evaluateCompositionField as Dt, KEYCHAIN_RESET_TRIGGER_ACTOR as E, resolveMethodAuth as En, emitDownForOwnedCaps as Er, enumerateSchemaFields as Et, RUNTIME_DEFAULTS as F, storageCapability as Fn, isSecretMarker as Fr, gbToBytes as Ft, addonPagesCapability as G, vectorIndexDimConflictError as Gn, resolveSecretMarkers as Gr, keychainAdminCapability as Gt, StorageLocationTypeSchema as H, validateComposition as Hn, parseSecretRef as Hr, isObjectInput as Ht, RecordingStatusSchema as I, storageMigrationCapability as In, isSecretMarkerLike as Ir, hfModelUrl as It, alertsCapability as J, COMPOSER_ADDON_ID as Jn, secretTreeFromPaths as Jr, legacyModeOf as Jt, addonSettingsCapability as K, vectorStoreCapability as Kn, scopeKey as Kr, keychainCapability as Kt, STORAGE_ACCESS_FALLBACK as L, storageOccupancyCapability as Ln, makeSecretMarker as Lr, isAppLinkBase as Lt, MODEL_FORMATS as M, settingsStoreCapability as Mn, isEvent as Mr, filesystemBrowseCapability as Mt, MOTION_CLOSE_AFTER_MS as N, siteZoneKey as Nn, isKeychainStoredField as Nr, foldSnapshotByFunction as Nt, LegacyStorageLocationDefaultSchema as O, runtimeStatePolicyFor as On, expandCapMethods as Or, evictionPolicyOfLocation as Ot, RECORDING_SOURCE_CAMSTACK_ADDON as P, snapshotCapability as Pn, isSecretClear as Pr, formatMinutes as Pt, batteryCapability as Q, composedDeviceStableId as Qn, toSecretFieldView as Qr, logDestinationCapability as Qt, STREAM_PROFILE_META as R, storageProviderCapability as Rn, nodePin as Rr, isArrayOutputSchema as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockEntry as Sn, buildSecretRef as Sr, deviceStateCapability as St, HF_REPO as T, resolveLocationMode as Tn, createEvent as Tr, enumerateItemArrayFields as Tt, StorageMigrationJobSchema as U, validateCustomAddress as Un, readinessKey as Ur, isVoidInput as Ut, StorageLocationModeSchema as V, userManagementCapability as Vn, parseJsonUnknown as Vr, isLocationEnabled as Vt, UserRecordSchema as W, vectorDimFromBase64 as Wn, resolveCapMount as Wr, kebabToCamel as Wt, backupCapability as X, cloneStatefulExpressionMemory as Xn, sleep as Xr, localNetworkCapability as Xt, authProviderCapability as Y, buildFfmpegArgs as Yn, secretTreeFromSchema as Yr, lifecycleJobSchema as Yt, bareAddonId as Z, composedDeviceRef as Zn, toNodeId as Zr, locationIconKey as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, ptzAutotrackCapability as _n, SECRET_CLEAR as _r, defineExtensionSlotProvider as _t, BatteryStatusSchema as a, metricsProviderCapability as an, toExpressionValue as ar, compositionFieldKey as at, DeclaredDevices as b, resolveAppConnections as bn, asNumber as br, deviceExtensionCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeCoreBlockWrite as cn, DeviceType as cr, coreBlockComposition as ct, CORE_BLOCKS_ADDON_ID as d, objectInputDeclaresRequiredDeviceId as dn, DATAPLANE_SECRET_HEADER as dr, coreBlocksCapability as dt, EventCategory as ei, looseSchema as en, compositionItemFieldPath as er, buildStreamParamsConfigSchema as et, CORE_BLOCK_ADDON_PREFIX as f, parseStreamParamsFormPatch as fn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as fr, createDeviceExtensionProvider as ft, DATABASE_SNAPSHOT_SUFFIX as g, procedureAuthKey as gn, ReadinessTimeoutError as gr, decodeVectorBase64 as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, platformProbeCapability as hn, ReadinessRegistry as hr, declarationOwnerNodeId as ht, BaseDevice as i, memoizePinnedFfmpeg as in, disarmRoseMemory as ir, composerCapability as it, MINUTES_PER_DAY as j, scoreRuntimes as jn, isDeviceConfigCap as jr, extractNestedAddonId as jt, LocationIconIdSchema as k, scopesAllowAddon as kn, formatSecretScope as kr, expandContainer as kt, COMPOSED_ITEM_FIXED_FIELDS as l, normalizeUnit as ln, errMsg as lr, coreBlockIdFromAddonId as lt, CoreBlockSchema as m, planComposition as mn, REDACTED_SECRET as mr, databaseSnapshotCapability as mt, AlertSchema as n, mayReadLocation as nn, compositionSourceKey as nr, cameraGridLayoutCapability as nt, CAMERA_SWITCH_ORDER as o, modeMayWrite as on, DeviceFeature as or, compositionSourceRefs as ot, CalendarPreferencesSchema as p, pickAppLinkHub as pn, DEVICE_STATUS_METHOD as pr, dataStoreProviderCapability as pt, addonWidgetsCapability as q, withLocationMode as qn, scrubKnownSecrets as qr, legacyAutoLinkIds as qt, ApiKeyRecordSchema as r, mayWriteToLocation as rn, createStatefulExpressionMemory as rr, checkRoleAddress as rt, CAMSTACK_APP_LINK_ORIGIN as s, motionCapability as sn, DeviceRole as sr, coreBlockAddonId as st, ALL_CAPABILITY_DEFINITIONS as t, maskUrlCredentials as tn, compositionSliceKey as tr, calendarsCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresAddonId as un, BaseAddon as ur, coreBlockSourceKind as ut, DAY_NAMES as v, reducePoints as vn, WELL_KNOWN_TAB_MAP as vr, deriveBatteryPresence as vt, FieldClaimSchema as w, resolveHubAddressRoles as wn, collectZodSecretPaths as wr, enumerateInferenceDevices as wt, DeviceStatusSchema as x, resolveBucketMs as xn, asString$1 as xr, deviceManagerCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, replacedFieldKeys as yn, asJsonObject as yr, describeComposableCaps as yt, ScopedTokenSchema as z, streamCatalogCapability as zn, normalizeSecretOwner as zr, isCollectionArrayMethod as zt };
64692
+ export { buildCapabilityLookup as $, compositionFeatureEnabled as $n, toNodeId as $r, logLevelAtMost as $t, METHOD_ACCESS_MAP as A, scopesAllowDeviceCap as An, expandCapMethods as Ar, expressionContainsBuiltinCall as At, StorageCleanupJobSchema as B, streamQualityLabel as Bn, nodePin as Br, isDefaultAppConnectionEndpoint as Bt, FieldClaimModeSchema as C, resolveCoreBlockFiles as Cn, collectSecretConfigKeys as Cr, deviceStatusCapability as Ct, LOG_LEVEL_RANK as D, resolveNotificationTapAddress as Dn, defineCustomActions as Dr, evaluateCompositionField as Dt, KEYCHAIN_RESET_TRIGGER_ACTOR as E, resolveMethodAuth as En, customAction as Er, enumerateSchemaFields as Et, RUNTIME_DEFAULTS as F, storageCapability as Fn, isKeychainStoredField as Fr, gbToBytes as Ft, addonPagesCapability as G, vectorIndexDimConflictError as Gn, readinessKey as Gr, keychainAdminCapability as Gt, StorageLocationTypeSchema as H, validateComposition as Hn, parseJsonObject as Hr, isObjectInput as Ht, RecordingStatusSchema as I, storageMigrationCapability as In, isSecretClear as Ir, hfModelUrl as It, alertsCapability as J, COMPOSER_ADDON_ID as Jn, scopeKey as Jr, legacyModeOf as Jt, addonSettingsCapability as K, vectorStoreCapability as Kn, resolveCapMount as Kr, keychainCapability as Kt, STORAGE_ACCESS_FALLBACK as L, storageOccupancyCapability as Ln, isSecretMarker as Lr, isAppLinkBase as Lt, MODEL_FORMATS as M, settingsStoreCapability as Mn, hydrateSchema as Mr, filesystemBrowseCapability as Mt, MOTION_CLOSE_AFTER_MS as N, siteZoneKey as Nn, isDeviceConfigCap as Nr, foldSnapshotByFunction as Nt, LegacyStorageLocationDefaultSchema as O, runtimeStatePolicyFor as On, emitDownForOwnedCaps as Or, evictionPolicyOfLocation as Ot, RECORDING_SOURCE_CAMSTACK_ADDON as P, snapshotCapability as Pn, isEvent as Pr, formatMinutes as Pt, batteryCapability as Q, composedDeviceStableId as Qn, sleep as Qr, logDestinationCapability as Qt, STREAM_PROFILE_META as R, storageProviderCapability as Rn, isSecretMarkerLike as Rr, isArrayOutputSchema as Rt, FIRST_LEVEL_MACRO_CLASSES as S, resolveCoreBlockEntry as Sn, buildSecretRef as Sr, deviceStateCapability as St, HF_REPO as T, resolveLocationMode as Tn, createEvent as Tr, enumerateItemArrayFields as Tt, StorageMigrationJobSchema as U, validateCustomAddress as Un, parseJsonUnknown as Ur, isVoidInput as Ut, StorageLocationModeSchema as V, userManagementCapability as Vn, normalizeSecretOwner as Vr, isLocationEnabled as Vt, UserRecordSchema as W, vectorDimFromBase64 as Wn, parseSecretRef as Wr, kebabToCamel as Wt, backupCapability as X, cloneStatefulExpressionMemory as Xn, secretTreeFromPaths as Xr, localNetworkCapability as Xt, authProviderCapability as Y, buildFfmpegArgs as Yn, scrubKnownSecrets as Yr, lifecycleJobSchema as Yt, bareAddonId as Z, composedDeviceRef as Zn, secretTreeFromSchema as Zr, locationIconKey as Zt, DATABASE_SNAPSHOT_TIMEOUT_MS as _, ptzAutotrackCapability as _n, SECRET_CLEAR as _r, defineExtensionSlotProvider as _t, BatteryStatusSchema as a, metricsProviderCapability as an, toExpressionValue as ar, compositionFieldKey as at, DeclaredDevices as b, resolveAppConnections as bn, asNumber as br, deviceExtensionCapability as bt, CAP_NAMES_WITH_STATUS as c, normalizeCoreBlockWrite as cn, DeviceType as cr, coreBlockComposition as ct, CORE_BLOCKS_ADDON_ID as d, objectInputDeclaresRequiredDeviceId as dn, DATAPLANE_SECRET_HEADER as dr, coreBlocksCapability as dt, toSecretFieldView as ei, looseSchema as en, compositionItemFieldPath as er, buildStreamParamsConfigSchema as et, CORE_BLOCK_ADDON_PREFIX as f, parseStreamParamsFormPatch as fn, DEVICE_SETTINGS_CONTRIBUTION_METHODS as fr, createDeviceExtensionProvider as ft, DATABASE_SNAPSHOT_SUFFIX as g, procedureAuthKey as gn, ReadinessTimeoutError as gr, decodeVectorBase64 as gt, DATABASE_SNAPSHOT_PARTIAL_SUFFIX as h, platformProbeCapability as hn, ReadinessRegistry as hr, declarationOwnerNodeId as ht, BaseDevice as i, memoizePinnedFfmpeg as in, disarmRoseMemory as ir, composerCapability as it, MINUTES_PER_DAY as j, scoreRuntimes as jn, formatSecretScope as jr, extractNestedAddonId as jt, LocationIconIdSchema as k, scopesAllowAddon as kn, emitReadiness as kr, expandContainer as kt, COMPOSED_ITEM_FIXED_FIELDS as l, normalizeUnit as ln, errMsg as lr, coreBlockIdFromAddonId as lt, CoreBlockSchema as m, planComposition as mn, REDACTED_SECRET as mr, databaseSnapshotCapability as mt, AlertSchema as n, EventCategory as ni, mayReadLocation as nn, compositionSourceKey as nr, cameraGridLayoutCapability as nt, CAMERA_SWITCH_ORDER as o, modeMayWrite as on, DeviceFeature as or, compositionSourceRefs as ot, CalendarPreferencesSchema as p, pickAppLinkHub as pn, DEVICE_STATUS_METHOD as pr, dataStoreProviderCapability as pt, addonWidgetsCapability as q, withLocationMode as qn, resolveSecretMarkers as qr, legacyAutoLinkIds as qt, ApiKeyRecordSchema as r, mayWriteToLocation as rn, createStatefulExpressionMemory as rr, checkRoleAddress as rt, CAMSTACK_APP_LINK_ORIGIN as s, motionCapability as sn, DeviceRole as sr, coreBlockAddonId as st, ALL_CAPABILITY_DEFINITIONS as t, transformSecretWrite as ti, maskUrlCredentials as tn, compositionSliceKey as tr, calendarsCapability as tt, COMPOSER_RUNNER_ID as u, objectInputDeclaresAddonId as un, BaseAddon as ur, coreBlockSourceKind as ut, DAY_NAMES as v, reducePoints as vn, WELL_KNOWN_TAB_MAP as vr, deriveBatteryPresence as vt, FieldClaimSchema as w, resolveHubAddressRoles as wn, collectZodSecretPaths as wr, enumerateInferenceDevices as wt, DeviceStatusSchema as x, resolveBucketMs as xn, asString$1 as xr, deviceManagerCapability as xt, DERIVED_CAMERA_SILENCED_CAP_NAMES as y, replacedFieldKeys as yn, asJsonObject as yr, describeComposableCaps as yt, ScopedTokenSchema as z, streamCatalogCapability as zn, makeSecretMarker as zr, isCollectionArrayMethod as zt };
@@ -1,4 +1,4 @@
1
- import { It as hfModelUrl, M as MODEL_FORMATS, T as HF_REPO } from "./dist-CP5TTjwd.mjs";
1
+ import { It as hfModelUrl, M as MODEL_FORMATS, T as HF_REPO } from "./dist-D8XMuZCS.mjs";
2
2
  import { createHash } from "node:crypto";
3
3
  import * as path$1 from "node:path";
4
4
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-Cek0wNdY.js");
2
- const require_dist = require("./dist-tnAO12ak.js");
2
+ const require_dist = require("./dist-Cf0yAy6y.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_chunk.__toESM(node_path);