@camstack/addon-pipeline 1.2.330 → 1.2.332

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 (36) hide show
  1. package/dist/audio-analyzer/index.js +2 -2
  2. package/dist/audio-analyzer/index.mjs +2 -2
  3. package/dist/{default-detection-model-B6gKGnfx.js → default-detection-model-Biwf5-ML.js} +1 -1
  4. package/dist/{default-detection-model-CPDT_eFT.mjs → default-detection-model-CDffuH2m.mjs} +1 -1
  5. package/dist/detection-pipeline/index.js +4 -4
  6. package/dist/detection-pipeline/index.mjs +4 -4
  7. package/dist/{dist-CuPEyZY2.mjs → dist-BsT15i7i.mjs} +148 -19
  8. package/dist/{dist-CMeICL07.js → dist-DJV7Z6Bb.js} +148 -19
  9. package/dist/motion-wasm/index.js +1 -1
  10. package/dist/motion-wasm/index.mjs +1 -1
  11. package/dist/{node-X_0Tka7-.js → node-CkmucLYG.js} +1 -1
  12. package/dist/{node-USq5jYwq.mjs → node-Crsi_8ea.mjs} +1 -1
  13. package/dist/pipeline-runner/index.js +3 -3
  14. package/dist/pipeline-runner/index.mjs +3 -3
  15. package/dist/{process-memory-07XYts8V.mjs → process-memory-1mAUV8S1.mjs} +1 -1
  16. package/dist/{process-memory-o4LFWbBN.js → process-memory-BJb7Ihdp.js} +1 -1
  17. package/dist/recorder/index.js +2 -2
  18. package/dist/recorder/index.mjs +2 -2
  19. package/dist/{segment-demux-js-Bq8DrH0b.mjs → segment-demux-js-B_tboBcJ.mjs} +1 -1
  20. package/dist/{segment-demux-js-FqaQjG7n.js → segment-demux-js-mK9IBGLf.js} +1 -1
  21. package/dist/stream-broker/_stub.js +2 -2
  22. package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-EYRUYv_r.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-CC0JSUlW.mjs} +2 -2
  23. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-DPbj3ML4.mjs +26 -0
  24. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-Bt8aa0wk.mjs +26 -0
  25. package/dist/stream-broker/demux-worker-child.js +1 -1
  26. package/dist/stream-broker/demux-worker-child.mjs +1 -1
  27. package/dist/stream-broker/{hostInit-iGdBpvGc.mjs → hostInit-Bw8lUr35.mjs} +2 -2
  28. package/dist/stream-broker/index.js +712 -79
  29. package/dist/stream-broker/index.mjs +712 -79
  30. package/dist/stream-broker/remoteEntry.js +1 -1
  31. package/package.json +1 -1
  32. package/python/postprocessors/testdata/bird_classifier_int8_outputs.json +128 -1
  33. package/python/postprocessors/testdata/yolox_plate_int8_outputs.json +50 -1
  34. package/python/postprocessors/testdata/yunet_int8_outputs.json +166 -1
  35. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_types__loadShare__.js-BnP7C_HO.mjs +0 -26
  36. package/dist/stream-broker/_virtual_mf___mfe_internal__addon_stream_broker_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-CR0--kRv.mjs +0 -26
@@ -3,8 +3,8 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-CMeICL07.js");
7
- const require_process_memory = require("../process-memory-o4LFWbBN.js");
6
+ const require_dist = require("../dist-DJV7Z6Bb.js");
7
+ const require_process_memory = require("../process-memory-BJb7Ihdp.js");
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_path = require("node:path");
@@ -1,6 +1,6 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { Cn as errMsg, D as HF_BASE_URL, J as audioAnalysisCapability, Ln as nodePin, Mn as expandAudioChunkToF32le, N as PoolMemoryWatchdog, Nn as hydrateSchema, On as audioChunkBytesPerSample, Tn as BaseAddon, Y as audioAnalyzerCapability, er as EventCategory, h as DEFAULT_AUDIO_ANALYZER_CONFIG, jt as mapAudioLabelToMacro, r as AUDIO_BACKEND_CHOICES, tn as resolvePoolMemoryPolicy } from "../dist-CuPEyZY2.mjs";
3
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-07XYts8V.mjs";
2
+ import { Cn as errMsg, D as HF_BASE_URL, J as audioAnalysisCapability, Ln as nodePin, Mn as expandAudioChunkToF32le, N as PoolMemoryWatchdog, Nn as hydrateSchema, On as audioChunkBytesPerSample, Tn as BaseAddon, Y as audioAnalyzerCapability, er as EventCategory, h as DEFAULT_AUDIO_ANALYZER_CONFIG, jt as mapAudioLabelToMacro, r as AUDIO_BACKEND_CHOICES, tn as resolvePoolMemoryPolicy } from "../dist-BsT15i7i.mjs";
3
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-1mAUV8S1.mjs";
4
4
  import * as fs from "node:fs";
5
5
  import * as path$1 from "node:path";
6
6
  import { downloadFile } from "@camstack/system/addon-utils";
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-CMeICL07.js");
1
+ const require_dist = require("./dist-DJV7Z6Bb.js");
2
2
  const require_worker_protocol = require("./worker-protocol-C-G8qmye.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -1,4 +1,4 @@
1
- import { Tt as inferModelProvider, X as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, on as stepModelRunsOnFormat, p as COCO_TO_MACRO, wt as hfModelUrl } from "./dist-CuPEyZY2.mjs";
1
+ import { Tt as inferModelProvider, X as audioKindId, b as DEVICE_BACKEND_TO_FORMAT, f as COCO_80_LABELS, i as AUDIO_MACRO_LABELS, k as LABEL_SUPPLY_VOCABULARIES, on as stepModelRunsOnFormat, p as COCO_TO_MACRO, wt as hfModelUrl } from "./dist-BsT15i7i.mjs";
2
2
  import { t as isWorkerReply } from "./worker-protocol-D_NzPcnh.mjs";
3
3
  import { randomUUID } from "node:crypto";
4
4
  //#region src/detection-pipeline/registry/effective-confidence.ts
@@ -3,11 +3,11 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../chunk-emK7D4bc.js");
6
- const require_dist = require("../dist-CMeICL07.js");
7
- const require_node = require("../node-X_0Tka7-.js");
8
- const require_default_detection_model = require("../default-detection-model-B6gKGnfx.js");
6
+ const require_dist = require("../dist-DJV7Z6Bb.js");
7
+ const require_node = require("../node-CkmucLYG.js");
8
+ const require_default_detection_model = require("../default-detection-model-Biwf5-ML.js");
9
9
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
10
- const require_process_memory = require("../process-memory-o4LFWbBN.js");
10
+ const require_process_memory = require("../process-memory-BJb7Ihdp.js");
11
11
  let node_os = require("node:os");
12
12
  node_os = require_chunk.__toESM(node_os);
13
13
  let node_fs = require("node:fs");
@@ -1,9 +1,9 @@
1
1
  import { n as __require } from "../chunk-DnnnRqeS.mjs";
2
- import { $n as union, Cn as errMsg, Dt as linkedLabelStepId, G as YAMNET_TO_MACRO, Ln as nodePin, N as PoolMemoryWatchdog, Nn as hydrateSchema, O as LABEL_SUPPLY_MACRO, Qn as string, Rn as parseJsonUnknown, Tn as BaseAddon, Un as array, Vn as sleep, Vt as pickClusterStepSettings, Wt as pipelineExecutorCapability, Yn as object, Zt as resolveClusterStepModelId, an as runtimeDevices$1, b as DEVICE_BACKEND_TO_FORMAT, d as CLUSTER_MODEL_SCOPED_STEPS, dn as supportedRuntimes$1, dt as detectionPipelineCapability, er as EventCategory, g as DEFAULT_CLUSTER_STEP_SETTINGS, ht as evaluateZoneRules, in as rootSuppliesOf, kn as createEvent, kt as loadContributionCapability, mt as enumerateInferenceDevices, n as APPLE_SA_TO_MACRO, nt as containingParentIndex, on as stepModelRunsOnFormat, ot as defaultDeviceFor$1, tn as resolvePoolMemoryPolicy, wt as hfModelUrl, zt as overlayClusterStepSettings } from "../dist-CuPEyZY2.mjs";
3
- import { s as readProcessCost } from "../node-USq5jYwq.mjs";
4
- import { _ as getStep, a as buildSubtreeCanRun, b as landmarkPrecisionVerdict, c as macroGateVerdict, g as getDefaultModelForFormat, h as ALL_STEPS, i as mergeCustomModels, m as ALL_PIPELINE_STEPS, n as resolveDefaultDetectionModel, r as CustomModelCatalog, u as localFrameRegistry, v as getStepDefinition, x as resolveModelDefaultConfidence, y as resolveModelForFormat } from "../default-detection-model-CPDT_eFT.mjs";
2
+ import { $n as union, Cn as errMsg, Dt as linkedLabelStepId, G as YAMNET_TO_MACRO, Ln as nodePin, N as PoolMemoryWatchdog, Nn as hydrateSchema, O as LABEL_SUPPLY_MACRO, Qn as string, Rn as parseJsonUnknown, Tn as BaseAddon, Un as array, Vn as sleep, Vt as pickClusterStepSettings, Wt as pipelineExecutorCapability, Yn as object, Zt as resolveClusterStepModelId, an as runtimeDevices$1, b as DEVICE_BACKEND_TO_FORMAT, d as CLUSTER_MODEL_SCOPED_STEPS, dn as supportedRuntimes$1, dt as detectionPipelineCapability, er as EventCategory, g as DEFAULT_CLUSTER_STEP_SETTINGS, ht as evaluateZoneRules, in as rootSuppliesOf, kn as createEvent, kt as loadContributionCapability, mt as enumerateInferenceDevices, n as APPLE_SA_TO_MACRO, nt as containingParentIndex, on as stepModelRunsOnFormat, ot as defaultDeviceFor$1, tn as resolvePoolMemoryPolicy, wt as hfModelUrl, zt as overlayClusterStepSettings } from "../dist-BsT15i7i.mjs";
3
+ import { s as readProcessCost } from "../node-Crsi_8ea.mjs";
4
+ import { _ as getStep, a as buildSubtreeCanRun, b as landmarkPrecisionVerdict, c as macroGateVerdict, g as getDefaultModelForFormat, h as ALL_STEPS, i as mergeCustomModels, m as ALL_PIPELINE_STEPS, n as resolveDefaultDetectionModel, r as CustomModelCatalog, u as localFrameRegistry, v as getStepDefinition, x as resolveModelDefaultConfidence, y as resolveModelForFormat } from "../default-detection-model-CDffuH2m.mjs";
5
5
  import { t as getSharp } from "../lazy-sharp-DXsqwpph.mjs";
6
- import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-07XYts8V.mjs";
6
+ import { n as pickNodePlatformArch, t as readProcessMemory } from "../process-memory-1mAUV8S1.mjs";
7
7
  import * as os from "node:os";
8
8
  import * as fs from "node:fs";
9
9
  import * as path$1 from "node:path";
@@ -5379,7 +5379,7 @@ var ZodIssueCode = {
5379
5379
  var ZodFirstPartyTypeKind;
5380
5380
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5381
5381
  //#endregion
5382
- //#region ../types/dist/sleep-DXKLNFvA.mjs
5382
+ //#region ../types/dist/sleep-C16NCZR2.mjs
5383
5383
  /**
5384
5384
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5385
5385
  * window to float samples (D455).
@@ -18854,6 +18854,12 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
18854
18854
  kind: "mutation",
18855
18855
  auth: "admin"
18856
18856
  });
18857
+ var HUB_ADDRESS_ROLES = [
18858
+ "appConnections",
18859
+ "notificationTaps",
18860
+ "internal",
18861
+ "publicEndpoint"
18862
+ ];
18857
18863
  /**
18858
18864
  * Transport bounds for AI capability methods.
18859
18865
  *
@@ -23403,7 +23409,13 @@ var NcAlarmModeDelaysListSchema = array(object({
23403
23409
  * Absent = false (logged, not sent). Even when true it is not sent when that same sensor
23404
23410
  * is the one that starts the entry delay — the entry-delay notification already names it.
23405
23411
  */
23406
- notifySensorRewatched: boolean().optional()
23412
+ notifySensorRewatched: boolean().optional(),
23413
+ /**
23414
+ * D735: notify "ignored" when a sensor this arm bypassed really MOVED while armed (its own
23415
+ * change time is after the arm) and set nothing off. Absent = false (logged, not sent). A
23416
+ * re-sync, a recovery from `unavailable` or a duplicate is never announced, switch or not.
23417
+ */
23418
+ notifySensorIgnored: boolean().optional()
23407
23419
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
23408
23420
  var NcAlarmModeDelaysEditListSchema = array(object({
23409
23421
  mode: AlarmArmModeSchema,
@@ -23416,7 +23428,9 @@ var NcAlarmModeDelaysEditListSchema = array(object({
23416
23428
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
23417
23429
  notifyDuringEntryDelay: boolean().nullable().optional(),
23418
23430
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
23419
- notifySensorRewatched: boolean().nullable().optional()
23431
+ notifySensorRewatched: boolean().nullable().optional(),
23432
+ /** D735: set the switch, or `null` to clear it (back to the default, false). */
23433
+ notifySensorIgnored: boolean().nullable().optional()
23420
23434
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
23421
23435
  /** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
23422
23436
  var NcAlarmNonBlockingEditSchema = object({
@@ -31976,6 +31990,35 @@ var webrtcSessionCapability = {
31976
31990
  alive: boolean()
31977
31991
  })),
31978
31992
  /**
31993
+ * The viewer's downlink probe, for ONE live session (D733).
31994
+ *
31995
+ * The player measures `/adaptive-probe` after the session's first decoded
31996
+ * frame (D635). It used to act on the reading itself, by opening a SECOND
31997
+ * session with `hints.downlinkMbps` — every adaptive live open became two
31998
+ * sessions, two ICE + DTLS handshakes and two server pipelines. It now
31999
+ * hands the measurement to the session it already has; the provider picks
32000
+ * the rung exactly as it would from an offer's hints (same viewport
32001
+ * ceiling) and moves the session there — in place when the negotiated
32002
+ * codec carries the new rendition, by the existing re-offer
32003
+ * (`getSessionState.pendingRenegotiation`) when it cannot.
32004
+ *
32005
+ * A MEASUREMENT, never a tier: the client does not choose. A probe only
32006
+ * raises the rung; lowering it stays the ladder's call on delivery.
32007
+ * `held` answers why nothing moved (`not-adaptive`, `pinned`,
32008
+ * `already-there`, `recorded`, …) — a client that gets ANY answer must not
32009
+ * fall back to a reconnect; only a provider that does not know the method
32010
+ * (an older hub) leaves the client its legacy second session.
32011
+ */
32012
+ applyDownlinkProbe: method(object({
32013
+ deviceId: number().int().nonnegative(),
32014
+ sessionId: string(),
32015
+ downlinkMbps: number().nonnegative()
32016
+ }), object({
32017
+ outcome: _enum(["switching", "held"]),
32018
+ tier: CamProfileSchema.nullable(),
32019
+ reason: string()
32020
+ }), { kind: "mutation" }),
32021
+ /**
31979
32022
  * The SERVER's half of the stream-debug overlay, for one live session.
31980
32023
  *
31981
32024
  * The client can measure its own transport (`getStats()`); it cannot see
@@ -34753,7 +34796,8 @@ var ConnectionEndpointSchema = object({
34753
34796
  "lan-ipv6",
34754
34797
  "public",
34755
34798
  "loopback",
34756
- "app-link"
34799
+ "app-link",
34800
+ "custom"
34757
34801
  ]),
34758
34802
  /**
34759
34803
  * Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
@@ -34822,7 +34866,7 @@ var GetConnectionEndpointsResultSchema = object({
34822
34866
  localPort: AdvertisedLocalPortSchema
34823
34867
  });
34824
34868
  /**
34825
- * The address flagged for notification links. `baseUrl: null` = AUTO, which
34869
+ * The address flagged for notification taps (`notificationTaps`). `baseUrl: null` = AUTO, which
34826
34870
  * since D709 is the CamStack app link; `resolved` reports the effective value,
34827
34871
  * so the UI can show it either way.
34828
34872
  */
@@ -34856,13 +34900,12 @@ var ViewerEndpointsSchema = object({
34856
34900
  resolved: array(string()).readonly()
34857
34901
  });
34858
34902
  /**
34859
- * One audience's hub address (see `hub-address.ts`): the operator's stored
34860
- * override, the address in use, and where it came from.
34903
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
34904
+ * for addons built against it): `cluster` is the `internal` role, `browser`
34905
+ * the `publicEndpoint` role; `override` is the flagged address.
34861
34906
  */
34862
34907
  var HubAddressSnapshotSchema = object({
34863
- /** The operator's override, or null for automatic. */
34864
34908
  override: string().nullable(),
34865
- /** The address in use, or null when nothing qualifies (never loopback). */
34866
34909
  resolved: string().nullable(),
34867
34910
  source: _enum([
34868
34911
  "override",
@@ -34871,11 +34914,57 @@ var HubAddressSnapshotSchema = object({
34871
34914
  ])
34872
34915
  });
34873
34916
  var HubAddressesSchema = object({
34874
- /** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
34875
34917
  cluster: HubAddressSnapshotSchema,
34876
- /** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
34877
34918
  browser: HubAddressSnapshotSchema
34878
34919
  });
34920
+ /**
34921
+ * What an address is used for (`hub-address.ts`, D734). `appConnections` is
34922
+ * many-valued; `notificationTaps`, `publicEndpoint` and `internal` are carried
34923
+ * by at most one address.
34924
+ */
34925
+ var HubAddressRoleSchema = _enum(HUB_ADDRESS_ROLES);
34926
+ var RoleSourceSchema = _enum([
34927
+ "flagged",
34928
+ "auto",
34929
+ "none"
34930
+ ]);
34931
+ /** One single-valued role: the flagged address, the one in use, and why. */
34932
+ var HubAddressRoleResolutionSchema = object({
34933
+ /** The address carrying the flag, or null = automatic. */
34934
+ flagged: string().nullable(),
34935
+ /** The address in use, or null when nothing qualifies (never loopback). */
34936
+ resolved: string().nullable(),
34937
+ source: RoleSourceSchema
34938
+ });
34939
+ var HubAppConnectionsResolutionSchema = object({
34940
+ /** The addresses flagged `appConnections`, or empty = automatic. */
34941
+ flagged: array(string()).readonly(),
34942
+ /** What the apps race right now. */
34943
+ resolved: array(string()).readonly(),
34944
+ source: RoleSourceSchema
34945
+ });
34946
+ var HubAddressBookSchema = object({
34947
+ rows: array(ConnectionEndpointSchema.extend({
34948
+ /** In the hub's detected palette right now. */
34949
+ detected: boolean(),
34950
+ /** Entered by the operator (removable). */
34951
+ custom: boolean(),
34952
+ /** The roles explicitly flagged on this address. */
34953
+ flags: array(HubAddressRoleSchema).readonly(),
34954
+ /** The roles this address serves right now — flagged or automatic. */
34955
+ inUse: array(HubAddressRoleSchema).readonly(),
34956
+ /** The roles this address may be flagged with. */
34957
+ eligible: array(HubAddressRoleSchema).readonly()
34958
+ })).readonly(),
34959
+ roles: object({
34960
+ appConnections: HubAppConnectionsResolutionSchema,
34961
+ notificationTaps: HubAddressRoleResolutionSchema,
34962
+ internal: HubAddressRoleResolutionSchema,
34963
+ publicEndpoint: HubAddressRoleResolutionSchema
34964
+ }),
34965
+ /** The `hub=` an app link carries (D709), or null. */
34966
+ appLinkHub: string().nullable()
34967
+ });
34879
34968
  var AllowedAddressesSchema = object({
34880
34969
  /**
34881
34970
  * Allowlist of interface addresses operators have explicitly opted
@@ -34919,16 +35008,27 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
34919
35008
  * tunnel always emits `https://` regardless. */
34920
35009
  scheme: _enum(["http", "https"]).optional(),
34921
35010
  /** Append the CamStack app link entry (`kind: 'app-link'`, D709) —
34922
- * an address notification links can be flagged with, not a hub
35011
+ * an address notification taps can be flagged with, not a hub
34923
35012
  * route. Default `false`: racers and rankers never see it. */
34924
35013
  includeAppLink: boolean().optional()
34925
- }), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(_void(), HubAddressesSchema), method(object({
34926
- audience: _enum(["cluster", "browser"]),
34927
- baseUrl: string().nullable()
34928
- }), HubAddressesSchema, {
35014
+ }), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema), method(object({
35015
+ baseUrl: string(),
35016
+ label: string().max(80)
35017
+ }), HubAddressBookSchema, {
35018
+ kind: "mutation",
35019
+ auth: "admin"
35020
+ }), method(object({ baseUrl: string() }), HubAddressBookSchema, {
35021
+ kind: "mutation",
35022
+ auth: "admin"
35023
+ }), method(object({
35024
+ role: HubAddressRoleSchema,
35025
+ baseUrl: string().nullable(),
35026
+ enabled: boolean(),
35027
+ acceptInsecureHttp: boolean().optional()
35028
+ }), HubAddressBookSchema, {
34929
35029
  kind: "mutation",
34930
35030
  auth: "admin"
34931
- }), method(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
35031
+ }), method(_void(), HubAddressesSchema), method(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
34932
35032
  kind: "mutation",
34933
35033
  auth: "admin"
34934
35034
  }), method(object({
@@ -43917,12 +44017,24 @@ Object.freeze({
43917
44017
  addonId: null,
43918
44018
  access: "view"
43919
44019
  },
44020
+ "localNetwork.addCustomAddress": {
44021
+ capName: "local-network",
44022
+ capScope: "system",
44023
+ addonId: null,
44024
+ access: "create"
44025
+ },
43920
44026
  "localNetwork.downloadCa": {
43921
44027
  capName: "local-network",
43922
44028
  capScope: "system",
43923
44029
  addonId: null,
43924
44030
  access: "view"
43925
44031
  },
44032
+ "localNetwork.getAddresses": {
44033
+ capName: "local-network",
44034
+ capScope: "system",
44035
+ addonId: null,
44036
+ access: "view"
44037
+ },
43926
44038
  "localNetwork.getAllowedAddresses": {
43927
44039
  capName: "local-network",
43928
44040
  capScope: "system",
@@ -43977,6 +44089,12 @@ Object.freeze({
43977
44089
  addonId: null,
43978
44090
  access: "create"
43979
44091
  },
44092
+ "localNetwork.removeCustomAddress": {
44093
+ capName: "local-network",
44094
+ capScope: "system",
44095
+ addonId: null,
44096
+ access: "delete"
44097
+ },
43980
44098
  "localNetwork.resetAllowlistToBestMatch": {
43981
44099
  capName: "local-network",
43982
44100
  capScope: "system",
@@ -43989,13 +44107,13 @@ Object.freeze({
43989
44107
  addonId: null,
43990
44108
  access: "create"
43991
44109
  },
43992
- "localNetwork.setAllowedAddresses": {
44110
+ "localNetwork.setAddressRole": {
43993
44111
  capName: "local-network",
43994
44112
  capScope: "system",
43995
44113
  addonId: null,
43996
44114
  access: "create"
43997
44115
  },
43998
- "localNetwork.setHubAddress": {
44116
+ "localNetwork.setAllowedAddresses": {
43999
44117
  capName: "local-network",
44000
44118
  capScope: "system",
44001
44119
  addonId: null,
@@ -48249,6 +48367,12 @@ Object.freeze({
48249
48367
  addonId: null,
48250
48368
  access: "create"
48251
48369
  },
48370
+ "webrtcSession.applyDownlinkProbe": {
48371
+ capName: "webrtc-session",
48372
+ capScope: "device",
48373
+ addonId: null,
48374
+ access: "create"
48375
+ },
48252
48376
  "webrtcSession.closeSession": {
48253
48377
  capName: "webrtc-session",
48254
48378
  capScope: "device",
@@ -52171,6 +52295,11 @@ Object.freeze({
52171
52295
  form: "single",
52172
52296
  optional: false
52173
52297
  }],
52298
+ "webrtcSession.applyDownlinkProbe": [{
52299
+ name: "deviceId",
52300
+ form: "single",
52301
+ optional: false
52302
+ }],
52174
52303
  "webrtcSession.closeSession": [{
52175
52304
  name: "deviceId",
52176
52305
  form: "single",
@@ -5379,7 +5379,7 @@ var ZodIssueCode = {
5379
5379
  var ZodFirstPartyTypeKind;
5380
5380
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5381
5381
  //#endregion
5382
- //#region ../types/dist/sleep-DXKLNFvA.mjs
5382
+ //#region ../types/dist/sleep-C16NCZR2.mjs
5383
5383
  /**
5384
5384
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5385
5385
  * window to float samples (D455).
@@ -18854,6 +18854,12 @@ method(_void(), array(string()).readonly(), { auth: "admin" }), method(object({
18854
18854
  kind: "mutation",
18855
18855
  auth: "admin"
18856
18856
  });
18857
+ var HUB_ADDRESS_ROLES = [
18858
+ "appConnections",
18859
+ "notificationTaps",
18860
+ "internal",
18861
+ "publicEndpoint"
18862
+ ];
18857
18863
  /**
18858
18864
  * Transport bounds for AI capability methods.
18859
18865
  *
@@ -23403,7 +23409,13 @@ var NcAlarmModeDelaysListSchema = array(object({
23403
23409
  * Absent = false (logged, not sent). Even when true it is not sent when that same sensor
23404
23410
  * is the one that starts the entry delay — the entry-delay notification already names it.
23405
23411
  */
23406
- notifySensorRewatched: boolean().optional()
23412
+ notifySensorRewatched: boolean().optional(),
23413
+ /**
23414
+ * D735: notify "ignored" when a sensor this arm bypassed really MOVED while armed (its own
23415
+ * change time is after the arm) and set nothing off. Absent = false (logged, not sent). A
23416
+ * re-sync, a recovery from `unavailable` or a duplicate is never announced, switch or not.
23417
+ */
23418
+ notifySensorIgnored: boolean().optional()
23407
23419
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one entry per arm mode" });
23408
23420
  var NcAlarmModeDelaysEditListSchema = array(object({
23409
23421
  mode: AlarmArmModeSchema,
@@ -23416,7 +23428,9 @@ var NcAlarmModeDelaysEditListSchema = array(object({
23416
23428
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
23417
23429
  notifyDuringEntryDelay: boolean().nullable().optional(),
23418
23430
  /** D706: set the switch, or `null` to clear it (back to the default, false). */
23419
- notifySensorRewatched: boolean().nullable().optional()
23431
+ notifySensorRewatched: boolean().nullable().optional(),
23432
+ /** D735: set the switch, or `null` to clear it (back to the default, false). */
23433
+ notifySensorIgnored: boolean().nullable().optional()
23420
23434
  })).max(8).refine(uniqueModes, { message: "modeDelays: at most one edit per arm mode" });
23421
23435
  /** One switch of the alarm table: put ONE device on, or take it off, ONE mode's list. */
23422
23436
  var NcAlarmNonBlockingEditSchema = object({
@@ -31976,6 +31990,35 @@ var webrtcSessionCapability = {
31976
31990
  alive: boolean()
31977
31991
  })),
31978
31992
  /**
31993
+ * The viewer's downlink probe, for ONE live session (D733).
31994
+ *
31995
+ * The player measures `/adaptive-probe` after the session's first decoded
31996
+ * frame (D635). It used to act on the reading itself, by opening a SECOND
31997
+ * session with `hints.downlinkMbps` — every adaptive live open became two
31998
+ * sessions, two ICE + DTLS handshakes and two server pipelines. It now
31999
+ * hands the measurement to the session it already has; the provider picks
32000
+ * the rung exactly as it would from an offer's hints (same viewport
32001
+ * ceiling) and moves the session there — in place when the negotiated
32002
+ * codec carries the new rendition, by the existing re-offer
32003
+ * (`getSessionState.pendingRenegotiation`) when it cannot.
32004
+ *
32005
+ * A MEASUREMENT, never a tier: the client does not choose. A probe only
32006
+ * raises the rung; lowering it stays the ladder's call on delivery.
32007
+ * `held` answers why nothing moved (`not-adaptive`, `pinned`,
32008
+ * `already-there`, `recorded`, …) — a client that gets ANY answer must not
32009
+ * fall back to a reconnect; only a provider that does not know the method
32010
+ * (an older hub) leaves the client its legacy second session.
32011
+ */
32012
+ applyDownlinkProbe: method(object({
32013
+ deviceId: number().int().nonnegative(),
32014
+ sessionId: string(),
32015
+ downlinkMbps: number().nonnegative()
32016
+ }), object({
32017
+ outcome: _enum(["switching", "held"]),
32018
+ tier: CamProfileSchema.nullable(),
32019
+ reason: string()
32020
+ }), { kind: "mutation" }),
32021
+ /**
31979
32022
  * The SERVER's half of the stream-debug overlay, for one live session.
31980
32023
  *
31981
32024
  * The client can measure its own transport (`getStats()`); it cannot see
@@ -34753,7 +34796,8 @@ var ConnectionEndpointSchema = object({
34753
34796
  "lan-ipv6",
34754
34797
  "public",
34755
34798
  "loopback",
34756
- "app-link"
34799
+ "app-link",
34800
+ "custom"
34757
34801
  ]),
34758
34802
  /**
34759
34803
  * Originating-interface kind — `lan`/`wifi`/`docker`/`vpn`/`other`/
@@ -34822,7 +34866,7 @@ var GetConnectionEndpointsResultSchema = object({
34822
34866
  localPort: AdvertisedLocalPortSchema
34823
34867
  });
34824
34868
  /**
34825
- * The address flagged for notification links. `baseUrl: null` = AUTO, which
34869
+ * The address flagged for notification taps (`notificationTaps`). `baseUrl: null` = AUTO, which
34826
34870
  * since D709 is the CamStack app link; `resolved` reports the effective value,
34827
34871
  * so the UI can show it either way.
34828
34872
  */
@@ -34856,13 +34900,12 @@ var ViewerEndpointsSchema = object({
34856
34900
  resolved: array(string()).readonly()
34857
34901
  });
34858
34902
  /**
34859
- * One audience's hub address (see `hub-address.ts`): the operator's stored
34860
- * override, the address in use, and where it came from.
34903
+ * DEPRECATED compatibility shape of `getHubAddresses` (D729 amendment, kept
34904
+ * for addons built against it): `cluster` is the `internal` role, `browser`
34905
+ * the `publicEndpoint` role; `override` is the flagged address.
34861
34906
  */
34862
34907
  var HubAddressSnapshotSchema = object({
34863
- /** The operator's override, or null for automatic. */
34864
34908
  override: string().nullable(),
34865
- /** The address in use, or null when nothing qualifies (never loopback). */
34866
34909
  resolved: string().nullable(),
34867
34910
  source: _enum([
34868
34911
  "override",
@@ -34871,11 +34914,57 @@ var HubAddressSnapshotSchema = object({
34871
34914
  ])
34872
34915
  });
34873
34916
  var HubAddressesSchema = object({
34874
- /** "Hub address for agents" — agents' bundle/model pulls, LAN devices. */
34875
34917
  cluster: HubAddressSnapshotSchema,
34876
- /** "Public address for sign-in links" — e-mail links, OIDC, WebAuthn, OAuth2. */
34877
34918
  browser: HubAddressSnapshotSchema
34878
34919
  });
34920
+ /**
34921
+ * What an address is used for (`hub-address.ts`, D734). `appConnections` is
34922
+ * many-valued; `notificationTaps`, `publicEndpoint` and `internal` are carried
34923
+ * by at most one address.
34924
+ */
34925
+ var HubAddressRoleSchema = _enum(HUB_ADDRESS_ROLES);
34926
+ var RoleSourceSchema = _enum([
34927
+ "flagged",
34928
+ "auto",
34929
+ "none"
34930
+ ]);
34931
+ /** One single-valued role: the flagged address, the one in use, and why. */
34932
+ var HubAddressRoleResolutionSchema = object({
34933
+ /** The address carrying the flag, or null = automatic. */
34934
+ flagged: string().nullable(),
34935
+ /** The address in use, or null when nothing qualifies (never loopback). */
34936
+ resolved: string().nullable(),
34937
+ source: RoleSourceSchema
34938
+ });
34939
+ var HubAppConnectionsResolutionSchema = object({
34940
+ /** The addresses flagged `appConnections`, or empty = automatic. */
34941
+ flagged: array(string()).readonly(),
34942
+ /** What the apps race right now. */
34943
+ resolved: array(string()).readonly(),
34944
+ source: RoleSourceSchema
34945
+ });
34946
+ var HubAddressBookSchema = object({
34947
+ rows: array(ConnectionEndpointSchema.extend({
34948
+ /** In the hub's detected palette right now. */
34949
+ detected: boolean(),
34950
+ /** Entered by the operator (removable). */
34951
+ custom: boolean(),
34952
+ /** The roles explicitly flagged on this address. */
34953
+ flags: array(HubAddressRoleSchema).readonly(),
34954
+ /** The roles this address serves right now — flagged or automatic. */
34955
+ inUse: array(HubAddressRoleSchema).readonly(),
34956
+ /** The roles this address may be flagged with. */
34957
+ eligible: array(HubAddressRoleSchema).readonly()
34958
+ })).readonly(),
34959
+ roles: object({
34960
+ appConnections: HubAppConnectionsResolutionSchema,
34961
+ notificationTaps: HubAddressRoleResolutionSchema,
34962
+ internal: HubAddressRoleResolutionSchema,
34963
+ publicEndpoint: HubAddressRoleResolutionSchema
34964
+ }),
34965
+ /** The `hub=` an app link carries (D709), or null. */
34966
+ appLinkHub: string().nullable()
34967
+ });
34879
34968
  var AllowedAddressesSchema = object({
34880
34969
  /**
34881
34970
  * Allowlist of interface addresses operators have explicitly opted
@@ -34919,16 +35008,27 @@ method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(obje
34919
35008
  * tunnel always emits `https://` regardless. */
34920
35009
  scheme: _enum(["http", "https"]).optional(),
34921
35010
  /** Append the CamStack app link entry (`kind: 'app-link'`, D709) —
34922
- * an address notification links can be flagged with, not a hub
35011
+ * an address notification taps can be flagged with, not a hub
34923
35012
  * route. Default `false`: racers and rankers never see it. */
34924
35013
  includeAppLink: boolean().optional()
34925
- }), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(_void(), HubAddressesSchema), method(object({
34926
- audience: _enum(["cluster", "browser"]),
34927
- baseUrl: string().nullable()
34928
- }), HubAddressesSchema, {
35014
+ }), GetConnectionEndpointsResultSchema), method(_void(), NotificationEndpointSchema), method(object({ baseUrl: string().nullable() }), NotificationEndpointSchema, { kind: "mutation" }), method(_void(), ViewerEndpointsSchema), method(object({ baseUrls: array(string()).readonly() }), ViewerEndpointsSchema, { kind: "mutation" }), method(object({ scheme: _enum(["http", "https"]).optional() }).optional(), HubAddressBookSchema), method(object({
35015
+ baseUrl: string(),
35016
+ label: string().max(80)
35017
+ }), HubAddressBookSchema, {
35018
+ kind: "mutation",
35019
+ auth: "admin"
35020
+ }), method(object({ baseUrl: string() }), HubAddressBookSchema, {
35021
+ kind: "mutation",
35022
+ auth: "admin"
35023
+ }), method(object({
35024
+ role: HubAddressRoleSchema,
35025
+ baseUrl: string().nullable(),
35026
+ enabled: boolean(),
35027
+ acceptInsecureHttp: boolean().optional()
35028
+ }), HubAddressBookSchema, {
34929
35029
  kind: "mutation",
34930
35030
  auth: "admin"
34931
- }), method(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
35031
+ }), method(_void(), HubAddressesSchema), method(_void(), AllowedAddressesSchema), method(AllowedAddressesSchema, object({ success: literal(true) }), { kind: "mutation" }), method(_void(), AllowedAddressesSchema, { kind: "mutation" }), method(_void(), TlsStatusSchema), method(object({ reason: string().optional() }), TlsStatusSchema, {
34932
35032
  kind: "mutation",
34933
35033
  auth: "admin"
34934
35034
  }), method(object({
@@ -43917,12 +44017,24 @@ Object.freeze({
43917
44017
  addonId: null,
43918
44018
  access: "view"
43919
44019
  },
44020
+ "localNetwork.addCustomAddress": {
44021
+ capName: "local-network",
44022
+ capScope: "system",
44023
+ addonId: null,
44024
+ access: "create"
44025
+ },
43920
44026
  "localNetwork.downloadCa": {
43921
44027
  capName: "local-network",
43922
44028
  capScope: "system",
43923
44029
  addonId: null,
43924
44030
  access: "view"
43925
44031
  },
44032
+ "localNetwork.getAddresses": {
44033
+ capName: "local-network",
44034
+ capScope: "system",
44035
+ addonId: null,
44036
+ access: "view"
44037
+ },
43926
44038
  "localNetwork.getAllowedAddresses": {
43927
44039
  capName: "local-network",
43928
44040
  capScope: "system",
@@ -43977,6 +44089,12 @@ Object.freeze({
43977
44089
  addonId: null,
43978
44090
  access: "create"
43979
44091
  },
44092
+ "localNetwork.removeCustomAddress": {
44093
+ capName: "local-network",
44094
+ capScope: "system",
44095
+ addonId: null,
44096
+ access: "delete"
44097
+ },
43980
44098
  "localNetwork.resetAllowlistToBestMatch": {
43981
44099
  capName: "local-network",
43982
44100
  capScope: "system",
@@ -43989,13 +44107,13 @@ Object.freeze({
43989
44107
  addonId: null,
43990
44108
  access: "create"
43991
44109
  },
43992
- "localNetwork.setAllowedAddresses": {
44110
+ "localNetwork.setAddressRole": {
43993
44111
  capName: "local-network",
43994
44112
  capScope: "system",
43995
44113
  addonId: null,
43996
44114
  access: "create"
43997
44115
  },
43998
- "localNetwork.setHubAddress": {
44116
+ "localNetwork.setAllowedAddresses": {
43999
44117
  capName: "local-network",
44000
44118
  capScope: "system",
44001
44119
  addonId: null,
@@ -48249,6 +48367,12 @@ Object.freeze({
48249
48367
  addonId: null,
48250
48368
  access: "create"
48251
48369
  },
48370
+ "webrtcSession.applyDownlinkProbe": {
48371
+ capName: "webrtc-session",
48372
+ capScope: "device",
48373
+ addonId: null,
48374
+ access: "create"
48375
+ },
48252
48376
  "webrtcSession.closeSession": {
48253
48377
  capName: "webrtc-session",
48254
48378
  capScope: "device",
@@ -52171,6 +52295,11 @@ Object.freeze({
52171
52295
  form: "single",
52172
52296
  optional: false
52173
52297
  }],
52298
+ "webrtcSession.applyDownlinkProbe": [{
52299
+ name: "deviceId",
52300
+ form: "single",
52301
+ optional: false
52302
+ }],
52174
52303
  "webrtcSession.closeSession": [{
52175
52304
  name: "deviceId",
52176
52305
  form: "single",
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
2
2
  __esModule: { value: true },
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
- const require_dist = require("../dist-CMeICL07.js");
5
+ const require_dist = require("../dist-DJV7Z6Bb.js");
6
6
  const require_lazy_sharp = require("../lazy-sharp-BuwKlQLR.js");
7
7
  let node_fs = require("node:fs");
8
8
  let node_path = require("node:path");