@trillboards/edge-sdk 0.2.3 → 0.2.6

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 (200) hide show
  1. package/README.md +4 -3
  2. package/deploy/docker/Dockerfile.cloud-sense +117 -0
  3. package/deploy/docker/Dockerfile.cpu +30 -21
  4. package/deploy/docker/Dockerfile.cuda +30 -21
  5. package/deploy/docker/Dockerfile.openvino +30 -20
  6. package/deploy/docker/README.md +9 -4
  7. package/deploy/docker/connector-entrypoint.sh +122 -0
  8. package/deploy/helm/README.md +1 -1
  9. package/deploy/k8s/daemonset.yaml +1 -1
  10. package/deploy/macos/README.md +161 -0
  11. package/deploy/macos/TrillboardsSetupApp.m +603 -0
  12. package/deploy/macos/build-macos-pkg.sh +588 -0
  13. package/deploy/macos/com.trillboards.edge.plist +62 -0
  14. package/deploy/macos/com.trillboards.litertlm.plist +45 -0
  15. package/deploy/macos/pair.command +519 -0
  16. package/deploy/macos/scripts/ensure-litertlm.sh +62 -0
  17. package/deploy/macos/scripts/postinstall +153 -0
  18. package/deploy/macos/scripts/setup-litertlm.sh +272 -0
  19. package/deploy/macos/test-install-pair.sh +383 -0
  20. package/deploy/macos/test-setup-litertlm-reinstall.sh +109 -0
  21. package/deploy/systemd/install.sh +25 -15
  22. package/deploy/systemd/trillboards-edge.service +4 -1
  23. package/deploy/windows/README.md +70 -0
  24. package/deploy/windows/build-windows.ps1 +225 -0
  25. package/deploy/windows/bundle-windows-installer.ps1 +153 -0
  26. package/deploy/windows/check-feeds.js +26 -0
  27. package/deploy/windows/e2e/fixtures/person.jpg +0 -0
  28. package/deploy/windows/e2e/test-local-sense.ps1 +185 -0
  29. package/deploy/windows/install-update.ps1 +101 -0
  30. package/deploy/windows/installer.nsi +138 -0
  31. package/deploy/windows/register-litertlm-task.ps1 +42 -0
  32. package/deploy/windows/register-task.ps1 +44 -0
  33. package/deploy/windows/run-connector.ps1 +69 -0
  34. package/deploy/windows/setup-litertlm.ps1 +361 -0
  35. package/deploy/windows/stop-existing.ps1 +72 -0
  36. package/deploy/windows/trillboards-edge-task.vbs +25 -0
  37. package/deploy/windows/trillboards-edge.cmd +33 -0
  38. package/deploy/windows/trillboards-pair.cmd +276 -0
  39. package/deploy/windows/trillboards-setup.ps1 +456 -0
  40. package/deploy/windows/trillboards-setup.vbs +13 -0
  41. package/dist/AudienceAnalyzeClient.d.ts +136 -0
  42. package/dist/AudienceAnalyzeClient.d.ts.map +1 -0
  43. package/dist/AudienceAnalyzeClient.js +246 -0
  44. package/dist/AudienceAnalyzeClient.js.map +1 -0
  45. package/dist/ChannelProber.d.ts +150 -0
  46. package/dist/ChannelProber.d.ts.map +1 -0
  47. package/dist/ChannelProber.js +887 -0
  48. package/dist/ChannelProber.js.map +1 -0
  49. package/dist/CloudEscalationPolicy.d.ts +143 -0
  50. package/dist/CloudEscalationPolicy.d.ts.map +1 -0
  51. package/dist/CloudEscalationPolicy.js +137 -0
  52. package/dist/CloudEscalationPolicy.js.map +1 -0
  53. package/dist/CloudSensingManager.d.ts +533 -0
  54. package/dist/CloudSensingManager.d.ts.map +1 -0
  55. package/dist/CloudSensingManager.js +1254 -0
  56. package/dist/CloudSensingManager.js.map +1 -0
  57. package/dist/DiscoveryReportClient.d.ts +66 -0
  58. package/dist/DiscoveryReportClient.d.ts.map +1 -0
  59. package/dist/DiscoveryReportClient.js +85 -0
  60. package/dist/DiscoveryReportClient.js.map +1 -0
  61. package/dist/EdgeAgent.d.ts +12 -2
  62. package/dist/EdgeAgent.d.ts.map +1 -1
  63. package/dist/EdgeAgent.js +122 -65
  64. package/dist/EdgeAgent.js.map +1 -1
  65. package/dist/LiteRtVlmProvider.d.ts +193 -0
  66. package/dist/LiteRtVlmProvider.d.ts.map +1 -0
  67. package/dist/LiteRtVlmProvider.js +436 -0
  68. package/dist/LiteRtVlmProvider.js.map +1 -0
  69. package/dist/MosaicSource.d.ts +108 -0
  70. package/dist/MosaicSource.d.ts.map +1 -0
  71. package/dist/MosaicSource.js +274 -0
  72. package/dist/MosaicSource.js.map +1 -0
  73. package/dist/OnvifClient.d.ts +83 -0
  74. package/dist/OnvifClient.d.ts.map +1 -0
  75. package/dist/OnvifClient.js +209 -0
  76. package/dist/OnvifClient.js.map +1 -0
  77. package/dist/PairClient.d.ts +106 -0
  78. package/dist/PairClient.d.ts.map +1 -0
  79. package/dist/PairClient.js +186 -0
  80. package/dist/PairClient.js.map +1 -0
  81. package/dist/RecorderAddressRecovery.d.ts +53 -0
  82. package/dist/RecorderAddressRecovery.d.ts.map +1 -0
  83. package/dist/RecorderAddressRecovery.js +359 -0
  84. package/dist/RecorderAddressRecovery.js.map +1 -0
  85. package/dist/SceneChangeDetector.d.ts +291 -0
  86. package/dist/SceneChangeDetector.d.ts.map +1 -0
  87. package/dist/SceneChangeDetector.js +682 -0
  88. package/dist/SceneChangeDetector.js.map +1 -0
  89. package/dist/SensingProfileClient.d.ts +59 -0
  90. package/dist/SensingProfileClient.d.ts.map +1 -0
  91. package/dist/SensingProfileClient.js +78 -0
  92. package/dist/SensingProfileClient.js.map +1 -0
  93. package/dist/SetupSessionClient.d.ts +114 -0
  94. package/dist/SetupSessionClient.d.ts.map +1 -0
  95. package/dist/SetupSessionClient.js +95 -0
  96. package/dist/SetupSessionClient.js.map +1 -0
  97. package/dist/VlmAdmissionGate.d.ts +126 -0
  98. package/dist/VlmAdmissionGate.d.ts.map +1 -0
  99. package/dist/VlmAdmissionGate.js +166 -0
  100. package/dist/VlmAdmissionGate.js.map +1 -0
  101. package/dist/autoSense.d.ts +216 -0
  102. package/dist/autoSense.d.ts.map +1 -0
  103. package/dist/autoSense.js +521 -0
  104. package/dist/autoSense.js.map +1 -0
  105. package/dist/cli.d.ts +27 -1
  106. package/dist/cli.d.ts.map +1 -1
  107. package/dist/cli.js +511 -21
  108. package/dist/cli.js.map +1 -1
  109. package/dist/combinedSense.d.ts +128 -0
  110. package/dist/combinedSense.d.ts.map +1 -0
  111. package/dist/combinedSense.js +261 -0
  112. package/dist/combinedSense.js.map +1 -0
  113. package/dist/config.d.ts +351 -0
  114. package/dist/config.d.ts.map +1 -1
  115. package/dist/config.js +99 -2
  116. package/dist/config.js.map +1 -1
  117. package/dist/connectorCadence.d.ts +135 -0
  118. package/dist/connectorCadence.d.ts.map +1 -0
  119. package/dist/connectorCadence.js +151 -0
  120. package/dist/connectorCadence.js.map +1 -0
  121. package/dist/dataDir.d.ts +33 -0
  122. package/dist/dataDir.d.ts.map +1 -0
  123. package/dist/dataDir.js +76 -0
  124. package/dist/dataDir.js.map +1 -0
  125. package/dist/deployedCadence.d.ts +167 -0
  126. package/dist/deployedCadence.d.ts.map +1 -0
  127. package/dist/deployedCadence.js +209 -0
  128. package/dist/deployedCadence.js.map +1 -0
  129. package/dist/deployedCadenceSource.d.ts +48 -0
  130. package/dist/deployedCadenceSource.d.ts.map +1 -0
  131. package/dist/deployedCadenceSource.js +74 -0
  132. package/dist/deployedCadenceSource.js.map +1 -0
  133. package/dist/diagnose.d.ts +1 -1
  134. package/dist/diagnose.d.ts.map +1 -1
  135. package/dist/diagnose.js +13 -12
  136. package/dist/diagnose.js.map +1 -1
  137. package/dist/discovery.d.ts +131 -0
  138. package/dist/discovery.d.ts.map +1 -0
  139. package/dist/discovery.js +499 -0
  140. package/dist/discovery.js.map +1 -0
  141. package/dist/gemmaModelOta.d.ts +118 -0
  142. package/dist/gemmaModelOta.d.ts.map +1 -0
  143. package/dist/gemmaModelOta.js +291 -0
  144. package/dist/gemmaModelOta.js.map +1 -0
  145. package/dist/index.d.ts +16 -1
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +40 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/init.d.ts.map +1 -1
  150. package/dist/init.js +41 -18
  151. package/dist/init.js.map +1 -1
  152. package/dist/keepAwake.d.ts +33 -0
  153. package/dist/keepAwake.d.ts.map +1 -0
  154. package/dist/keepAwake.js +54 -0
  155. package/dist/keepAwake.js.map +1 -0
  156. package/dist/legacyRecorderProfile.d.ts +20 -0
  157. package/dist/legacyRecorderProfile.d.ts.map +1 -0
  158. package/dist/legacyRecorderProfile.js +27 -0
  159. package/dist/legacyRecorderProfile.js.map +1 -0
  160. package/dist/localInferenceSchema.d.ts +132 -0
  161. package/dist/localInferenceSchema.d.ts.map +1 -0
  162. package/dist/localInferenceSchema.js +274 -0
  163. package/dist/localInferenceSchema.js.map +1 -0
  164. package/dist/localSenseE2eHarness.d.ts +101 -0
  165. package/dist/localSenseE2eHarness.d.ts.map +1 -0
  166. package/dist/localSenseE2eHarness.js +279 -0
  167. package/dist/localSenseE2eHarness.js.map +1 -0
  168. package/dist/localSensing.d.ts +268 -0
  169. package/dist/localSensing.d.ts.map +1 -0
  170. package/dist/localSensing.js +492 -0
  171. package/dist/localSensing.js.map +1 -0
  172. package/dist/modelIntegrity.d.ts +59 -0
  173. package/dist/modelIntegrity.d.ts.map +1 -0
  174. package/dist/modelIntegrity.js +165 -0
  175. package/dist/modelIntegrity.js.map +1 -0
  176. package/dist/pairVerify.d.ts +100 -0
  177. package/dist/pairVerify.d.ts.map +1 -0
  178. package/dist/pairVerify.js +296 -0
  179. package/dist/pairVerify.js.map +1 -0
  180. package/dist/qrScanner.d.ts +33 -0
  181. package/dist/qrScanner.d.ts.map +1 -0
  182. package/dist/qrScanner.js +103 -0
  183. package/dist/qrScanner.js.map +1 -0
  184. package/dist/runtimePaths.d.ts +10 -0
  185. package/dist/runtimePaths.d.ts.map +1 -0
  186. package/dist/runtimePaths.js +79 -0
  187. package/dist/runtimePaths.js.map +1 -0
  188. package/dist/sensingRunMode.d.ts +68 -0
  189. package/dist/sensingRunMode.d.ts.map +1 -0
  190. package/dist/sensingRunMode.js +346 -0
  191. package/dist/sensingRunMode.js.map +1 -0
  192. package/dist/setupMode.d.ts +98 -0
  193. package/dist/setupMode.d.ts.map +1 -0
  194. package/dist/setupMode.js +828 -0
  195. package/dist/setupMode.js.map +1 -0
  196. package/dist/setupProgress.d.ts +31 -0
  197. package/dist/setupProgress.d.ts.map +1 -0
  198. package/dist/setupProgress.js +173 -0
  199. package/dist/setupProgress.js.map +1 -0
  200. package/package.json +13 -4
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { type EdgeAgentConfig } from './config';
2
+ import { type AutoSenseDeps, type AutoSenseTimerHandle } from './autoSense';
3
+ import { type ResolvedFeed } from './CloudSensingManager';
4
+ import { type SensingManager } from './sensingRunMode';
5
+ import type { SharedFrameSource } from './MosaicSource';
6
+ import type { CameraProvider } from '@trillboards/edge-core';
7
+ type StreamUrlResolver = (feed: ResolvedFeed, currentUrl: string, error: Error) => Promise<string | null>;
8
+ /**
9
+ * `combined-sense` (alias `sense`) — APK-parity sensing for the BYO-CCTV
10
+ * connector. The Android APK's AudienceSensingService runs the on-device ONNX
11
+ * ZOO (per-frame face/audio inference) AND the VLM (sampled, scene-level) inside
12
+ * ONE process on the SAME camera; this entrypoint mirrors that on a connector
13
+ * host by running BOTH concurrently in one Node process:
14
+ *
15
+ * - the ZOO = EdgeAgent → @trillboards/edge-sensing → onnxruntime-node,
16
+ * which socket-emits `audienceSignals`;
17
+ * - the VLM = the auto-sense supervisor (probe :9379 → on-device LiteRT-LM;
18
+ * wait locally while its model prepares), which POSTs
19
+ * `preAnalyzed` over REST.
20
+ *
21
+ * It COMPOSES the existing pieces verbatim — `EdgeAgent` and `runAutoSense` — and
22
+ * forks NEITHER. There is NO new data sink and no emission reconciliation here:
23
+ * the zoo's socket `audienceSignals` and the VLM's REST `preAnalyzed` already
24
+ * CONVERGE server-side at `ingestMetrics` (audienceMetricsService) → PG
25
+ * audience_metrics + observation_stream + ClickHouse.
26
+ *
27
+ * Slimness: EdgeAgent (→ the 200 MB+ ONNX stack) is lazy-`require`d in the
28
+ * default agent factory so this module can be loaded/unit-tested WITHOUT the
29
+ * local-inference stack — exactly the lazy pattern the cli `start` arm uses to
30
+ * keep the cloud-sense/pair connector bundle free of onnxruntime.
31
+ */
32
+ /** The lifecycle surface the combined entrypoint needs from the zoo agent. */
33
+ export interface CombinedZooAgent {
34
+ start(): Promise<void>;
35
+ stop(): Promise<void>;
36
+ }
37
+ /**
38
+ * Injection points for runCombinedSense. All default to the real
39
+ * config/agent/auto-sense wiring; tests inject fakes so the composition is
40
+ * exercised without onnxruntime, RTSP, or a real litert-lm.
41
+ */
42
+ export interface CombinedSenseDeps {
43
+ /** Loads the connector config. Defaults to loadConfig. */
44
+ loadConfig?: (configPath: string) => EdgeAgentConfig;
45
+ /**
46
+ * Build (NOT start) a ZOO agent. `camera` is supplied for the mosaic per-tile
47
+ * path (a CropViewProvider sharing the single pull) and omitted for the
48
+ * single-camera path (EdgeAgent builds its own from config.camera). Defaults to
49
+ * a lazy-required EdgeAgent (with the camera injected when present).
50
+ */
51
+ buildAgent?: (config: EdgeAgentConfig, camera?: CameraProvider) => CombinedZooAgent;
52
+ /** RTSP provider factory for the per-tile zoo (tests inject fakes). Defaults to RTSPCameraProvider. */
53
+ zooRtspProviderFactory?: (feed: ResolvedFeed, streamUrlResolver?: StreamUrlResolver) => CameraProvider;
54
+ /** Recorder DHCP recovery injection for tests; production builds one from the local config. */
55
+ streamUrlResolver?: StreamUrlResolver;
56
+ /** Log sink (tests capture it). Defaults to console.log. */
57
+ log?: (msg: string) => void;
58
+ /** Register the combined shutdown handler. Defaults to SIGINT/SIGTERM listeners. */
59
+ registerShutdown?: (handler: () => void | Promise<void>) => void;
60
+ /** Block until shutdown (production never resolves; tests inject a resolved waiter). */
61
+ waitForShutdown?: () => Promise<void>;
62
+ /** Probe used to decide local-vs-cloud. Defaults to probeLiteRtLmHealth. */
63
+ probe?: AutoSenseDeps['probe'];
64
+ /** Build (NOT start) the local VLM manager. Defaults to buildLocalSensingManager(config). */
65
+ buildLocalManager?: () => SensingManager | null;
66
+ /** Build (NOT start) the cloud VLM manager. Defaults to buildCloudSensingManager(config). */
67
+ buildCloudManager?: () => SensingManager | null;
68
+ /** Sleep between startup re-probes (tests inject a no-op). */
69
+ sleep?: (ms: number) => Promise<void>;
70
+ /** Arm the steady-state re-probe timer. */
71
+ setTimer?: (cb: () => void, ms: number) => AutoSenseTimerHandle;
72
+ /** Clear the re-probe timer. */
73
+ clearTimer?: (handle: AutoSenseTimerHandle) => void;
74
+ }
75
+ /**
76
+ * Resolve the EdgeAgent config the ZOO should run, or `null` to skip the ZOO
77
+ * (the VLM still runs).
78
+ *
79
+ * The ZOO is single-screen and CANNOT crop a mosaic tile — `EdgeAgent.start()`
80
+ * ignores `cameras[]` entirely: it auths its socket with the top-level
81
+ * `deviceToken` and `loadCamera()` opens only `config.camera` (falling back to
82
+ * the local webcam when `camera.rtspUrl` is absent). So passing a paired
83
+ * multi-channel config (`cameras[]`, per-feed tokens, empty top-level token)
84
+ * straight through would make the ZOO sense `/dev/video0` under an empty token
85
+ * while the VLM uses the real NVR feeds.
86
+ *
87
+ * - `cameras[]` resolving to exactly ONE whole-frame feed (the paired
88
+ * single-camera shape — `pairedConfigToFile` ALWAYS emits `cameras[]`): MAP
89
+ * that feed into a single-camera EdgeAgent config so the ZOO senses it under
90
+ * the feed's own token + screen.
91
+ * - `cameras[]` with a lone tile (`crop`/`sourceFeedId`) but no resolvable
92
+ * whole-frame feed: return `null` (the VLM still senses it).
93
+ * - no `cameras[]` (single `camera.rtspUrl`, or a local webcam): use the config
94
+ * as-is — EdgeAgent already handles both.
95
+ *
96
+ * Only called for the single-feed path: runCombinedSense routes a multi-feed /
97
+ * mosaic `cameras[]` config to buildMosaicZooTiles (the per-tile zoo fan-out).
98
+ */
99
+ export declare function resolveZooAgentConfig(config: EdgeAgentConfig): EdgeAgentConfig | null;
100
+ /**
101
+ * PR 1.2 — per-tile ZOO fan-out for a multi-feed/mosaic config. Builds N
102
+ * single-screen zoo agents (one per tile/feed), each sensing its own tile crop,
103
+ * REUSING the SAME tiling the VLM uses: buildTiledCameras groups mosaic tiles
104
+ * onto ONE SharedFrameSource (the single RTSP pull), and `sharedSources` is the
105
+ * registry the VLM rail also attaches to — so the zoo and VLM share that one
106
+ * pull. Each tile's CropViewProvider carves rgb24 (the ONNX FaceDetector's input)
107
+ * while the VLM carves the same pull to jpeg.
108
+ *
109
+ * Each tile becomes its own EdgeAgent (its own per-feed token + screenId socket,
110
+ * so each screen emits independently). The tiles are SENSING-only: kiosk + audio
111
+ * are forced off (a mosaic is one video stream; there is no per-tile browser or
112
+ * mic), and each gets a unique statusPort so their local status servers don't
113
+ * collide on 9090.
114
+ */
115
+ export declare function buildMosaicZooTiles(config: EdgeAgentConfig, buildAgent: (config: EdgeAgentConfig, camera?: CameraProvider) => CombinedZooAgent, opts: {
116
+ sharedSources: Map<string, SharedFrameSource>;
117
+ rtspProviderFactory?: CombinedSenseDeps['zooRtspProviderFactory'];
118
+ streamUrlResolver?: StreamUrlResolver;
119
+ }): CombinedZooAgent[];
120
+ /**
121
+ * `combined-sense` entrypoint: start the ZOO, then run the VLM auto-sense
122
+ * supervisor in the same process, with a single composed shutdown that stops
123
+ * BOTH. Blocks until SIGINT/SIGTERM (the auto-sense re-probe timer keeps the
124
+ * event loop alive; EdgeAgent's own timers/socket do too).
125
+ */
126
+ export declare function runCombinedSense(args: string[], deps?: CombinedSenseDeps): Promise<void>;
127
+ export {};
128
+ //# sourceMappingURL=combinedSense.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinedSense.d.ts","sourceRoot":"","sources":["../src/combinedSense.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveZooAgentConfig = resolveZooAgentConfig;
4
+ exports.buildMosaicZooTiles = buildMosaicZooTiles;
5
+ exports.runCombinedSense = runCombinedSense;
6
+ const config_1 = require("./config");
7
+ const autoSense_1 = require("./autoSense");
8
+ const CloudSensingManager_1 = require("./CloudSensingManager");
9
+ const sensingRunMode_1 = require("./sensingRunMode");
10
+ const dataDir_1 = require("./dataDir");
11
+ const RecorderAddressRecovery_1 = require("./RecorderAddressRecovery");
12
+ const legacyRecorderProfile_1 = require("./legacyRecorderProfile");
13
+ /**
14
+ * Default ZOO factory: lazy-`require` EdgeAgent so loading/unit-testing this
15
+ * module never pulls in @trillboards/edge-sensing → onnxruntime-node. The zoo is
16
+ * built with manageProcessSignals already forced false by the caller; when a
17
+ * `camera` is supplied (mosaic per-tile path) it is injected as the zoo's camera.
18
+ */
19
+ function defaultBuildAgent(config, camera) {
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const { EdgeAgent } = require('./EdgeAgent');
22
+ return new EdgeAgent(config, camera ? { cameraProvider: camera } : undefined);
23
+ }
24
+ /**
25
+ * Default RTSP factory for the per-tile zoo. Mirrors buildSensingLoops' factory
26
+ * but defaults outputFormat to 'rgb24' (the ONNX FaceDetector consumes raw RGB).
27
+ * The shared mosaic grabber is forced to JPEG inside buildTiledCameras, so only
28
+ * the lone/fallback DIRECT providers honor this rgb24 default.
29
+ */
30
+ function defaultZooRtspFactory(feed, streamUrlResolver) {
31
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
32
+ const { RTSPCameraProvider } = require('@trillboards/edge-platform-rtsp');
33
+ return new RTSPCameraProvider({
34
+ rtspUrl: feed.rtspUrl,
35
+ width: feed.width,
36
+ height: feed.height,
37
+ fps: feed.fps,
38
+ transport: feed.transport,
39
+ ffmpegPath: feed.ffmpegPath,
40
+ crop: feed.crop,
41
+ outputFormat: feed.outputFormat ?? 'rgb24',
42
+ jpegQuality: feed.jpegQuality,
43
+ ...(streamUrlResolver
44
+ ? {
45
+ streamUrlResolver: (currentUrl, error) => streamUrlResolver(feed, currentUrl, error),
46
+ }
47
+ : {}),
48
+ ...(0, legacyRecorderProfile_1.legacyRecorderRtspOptions)(feed.sourceType),
49
+ });
50
+ }
51
+ function defaultRegisterShutdown(handler) {
52
+ process.on('SIGINT', handler);
53
+ process.on('SIGTERM', handler);
54
+ }
55
+ /**
56
+ * Resolve the EdgeAgent config the ZOO should run, or `null` to skip the ZOO
57
+ * (the VLM still runs).
58
+ *
59
+ * The ZOO is single-screen and CANNOT crop a mosaic tile — `EdgeAgent.start()`
60
+ * ignores `cameras[]` entirely: it auths its socket with the top-level
61
+ * `deviceToken` and `loadCamera()` opens only `config.camera` (falling back to
62
+ * the local webcam when `camera.rtspUrl` is absent). So passing a paired
63
+ * multi-channel config (`cameras[]`, per-feed tokens, empty top-level token)
64
+ * straight through would make the ZOO sense `/dev/video0` under an empty token
65
+ * while the VLM uses the real NVR feeds.
66
+ *
67
+ * - `cameras[]` resolving to exactly ONE whole-frame feed (the paired
68
+ * single-camera shape — `pairedConfigToFile` ALWAYS emits `cameras[]`): MAP
69
+ * that feed into a single-camera EdgeAgent config so the ZOO senses it under
70
+ * the feed's own token + screen.
71
+ * - `cameras[]` with a lone tile (`crop`/`sourceFeedId`) but no resolvable
72
+ * whole-frame feed: return `null` (the VLM still senses it).
73
+ * - no `cameras[]` (single `camera.rtspUrl`, or a local webcam): use the config
74
+ * as-is — EdgeAgent already handles both.
75
+ *
76
+ * Only called for the single-feed path: runCombinedSense routes a multi-feed /
77
+ * mosaic `cameras[]` config to buildMosaicZooTiles (the per-tile zoo fan-out).
78
+ */
79
+ function resolveZooAgentConfig(config) {
80
+ if (Array.isArray(config.cameras) && config.cameras.length > 0) {
81
+ const feeds = (0, CloudSensingManager_1.resolveFeeds)(config);
82
+ const soloWholeFrame = feeds.length === 1 && !feeds[0].crop && !feeds[0].sourceFeedId;
83
+ if (!soloWholeFrame)
84
+ return null; // multi-feed / mosaic → per-tile zoo (follow-up)
85
+ const feed = feeds[0];
86
+ return {
87
+ ...config,
88
+ cameras: undefined, // collapse to EdgeAgent's single-camera path
89
+ deviceToken: feed.deviceToken,
90
+ screenId: feed.screenId ?? config.screenId,
91
+ camera: {
92
+ ...config.camera,
93
+ enabled: true,
94
+ rtspUrl: feed.rtspUrl,
95
+ width: feed.width ?? config.camera?.width,
96
+ height: feed.height ?? config.camera?.height,
97
+ fps: feed.fps ?? config.camera?.fps,
98
+ transport: feed.transport ?? config.camera?.transport,
99
+ ffmpegPath: feed.ffmpegPath ?? config.camera?.ffmpegPath,
100
+ },
101
+ };
102
+ }
103
+ return config;
104
+ }
105
+ /**
106
+ * PR 1.2 — per-tile ZOO fan-out for a multi-feed/mosaic config. Builds N
107
+ * single-screen zoo agents (one per tile/feed), each sensing its own tile crop,
108
+ * REUSING the SAME tiling the VLM uses: buildTiledCameras groups mosaic tiles
109
+ * onto ONE SharedFrameSource (the single RTSP pull), and `sharedSources` is the
110
+ * registry the VLM rail also attaches to — so the zoo and VLM share that one
111
+ * pull. Each tile's CropViewProvider carves rgb24 (the ONNX FaceDetector's input)
112
+ * while the VLM carves the same pull to jpeg.
113
+ *
114
+ * Each tile becomes its own EdgeAgent (its own per-feed token + screenId socket,
115
+ * so each screen emits independently). The tiles are SENSING-only: kiosk + audio
116
+ * are forced off (a mosaic is one video stream; there is no per-tile browser or
117
+ * mic), and each gets a unique statusPort so their local status servers don't
118
+ * collide on 9090.
119
+ */
120
+ function buildMosaicZooTiles(config, buildAgent, opts) {
121
+ // The zoo needs raw RGB24 tiles (ONNX); the VLM carves the same pull to jpeg.
122
+ const feeds = (0, CloudSensingManager_1.resolveFeeds)(config).map((f) => ({ ...f, outputFormat: 'rgb24' }));
123
+ const rtspFactory = (feed) => (opts.rtspProviderFactory ?? defaultZooRtspFactory)(feed, opts.streamUrlResolver);
124
+ const baseStatusPort = config.statusPort ?? 9090;
125
+ return (0, CloudSensingManager_1.buildTiledCameras)(feeds, rtspFactory, {
126
+ sharedSources: opts.sharedSources,
127
+ cropOutputFormat: 'rgb24',
128
+ }).map(({ feed, camera }, i) => {
129
+ const tileConfig = {
130
+ ...config,
131
+ cameras: undefined, // each tile is a single-screen EdgeAgent
132
+ deviceToken: feed.deviceToken,
133
+ screenId: feed.screenId ?? config.screenId,
134
+ camera: { ...config.camera, enabled: true },
135
+ kiosk: { ...config.kiosk, enabled: false }, // tiles sense; they don't display
136
+ audio: { enabled: false }, // a mosaic is video; audio doesn't tile
137
+ statusPort: baseStatusPort + i, // unique per tile (avoid the 9090 collision)
138
+ // Per-SCREEN state, for the same reason statusPort is per-tile. Each tile is
139
+ // its own EdgeAgent with its own deviceToken, but `...config` handed them all
140
+ // one dataDir — so they opened one signal_buffer.db (plus one health registry
141
+ // and one persistenceDir). flushBuffer() reads rows and DELETES them on
142
+ // success, so on reconnect screen A's buffered signals could go out under
143
+ // screen B's token, or be dropped by whichever tile flushed first. Note this
144
+ // bit even with dataDir unset, since the default (~/.trillboards) is shared too.
145
+ dataDir: (0, dataDir_1.tileDataDir)(config.dataDir, feed.screenId, i),
146
+ manageProcessSignals: false, // the combined supervisor owns shutdown
147
+ };
148
+ return buildAgent(tileConfig, camera);
149
+ });
150
+ }
151
+ /**
152
+ * `combined-sense` entrypoint: start the ZOO, then run the VLM auto-sense
153
+ * supervisor in the same process, with a single composed shutdown that stops
154
+ * BOTH. Blocks until SIGINT/SIGTERM (the auto-sense re-probe timer keeps the
155
+ * event loop alive; EdgeAgent's own timers/socket do too).
156
+ */
157
+ async function runCombinedSense(args, deps = {}) {
158
+ const log = deps.log ?? ((m) => console.log(m));
159
+ const load = deps.loadConfig ?? config_1.loadConfig;
160
+ const configIdx = args.indexOf('--config');
161
+ const configPath = configIdx >= 0 && args[configIdx + 1] ? args[configIdx + 1] : 'trillboards.config.json';
162
+ const config = load(configPath);
163
+ const addressRecovery = new RecorderAddressRecovery_1.RecorderAddressRecovery(config, {
164
+ configPath,
165
+ log: (message) => log(message),
166
+ });
167
+ const streamUrlResolver = deps.streamUrlResolver ?? ((feed, currentUrl, error) => addressRecovery.recover(feed, currentUrl, error));
168
+ // 1) Start the ZOO (per-frame ONNX; socket-emits `audienceSignals`). Zoo agents
169
+ // must NOT install their own SIGINT/SIGTERM handlers — the combined shutdown
170
+ // below stops the zoo(s) AND the VLM together so nothing process.exit()s
171
+ // mid-teardown.
172
+ const buildAgent = deps.buildAgent ?? defaultBuildAgent;
173
+ const zooAgents = [];
174
+ // The cross-rail single-pull registry: each per-tile zoo AND the VLM attach to
175
+ // the SAME SharedFrameSource per mosaic source (one RTSP pull feeds both rails).
176
+ let sharedSources;
177
+ if (Array.isArray(config.cameras) && config.cameras.length > 1) {
178
+ // PR 1.2: a multi-feed / mosaic config → N single-screen zoo agents, one per
179
+ // tile crop, sharing the single mosaic pull with the VLM.
180
+ sharedSources = new Map();
181
+ const tiles = buildMosaicZooTiles(config, buildAgent, {
182
+ sharedSources,
183
+ rtspProviderFactory: deps.zooRtspProviderFactory,
184
+ streamUrlResolver,
185
+ });
186
+ zooAgents.push(...tiles);
187
+ log(`[combined-sense] mosaic/multi-feed: starting ${tiles.length} per-tile ZOO instance(s) ` +
188
+ 'on the shared mosaic pull…');
189
+ }
190
+ else {
191
+ // Single-camera config (top-level camera.rtspUrl, a local webcam, or a lone
192
+ // cameras[] feed) → ONE zoo agent (EdgeAgent builds its own camera).
193
+ const zooConfig = resolveZooAgentConfig(config);
194
+ if (zooConfig) {
195
+ const singleFeed = Array.isArray(config.cameras) ? (0, CloudSensingManager_1.resolveFeeds)(config)[0] : undefined;
196
+ const camera = singleFeed
197
+ ? (deps.zooRtspProviderFactory ?? defaultZooRtspFactory)(singleFeed, streamUrlResolver)
198
+ : undefined;
199
+ zooAgents.push(buildAgent({ ...zooConfig, manageProcessSignals: false }, camera));
200
+ log('[combined-sense] starting on-device ZOO (per-frame ONNX)…');
201
+ }
202
+ else {
203
+ log('[combined-sense] no ZOO camera resolved — running VLM only this pass.');
204
+ }
205
+ }
206
+ for (const a of zooAgents) {
207
+ await a.start();
208
+ }
209
+ // 2) Run the local-first VLM auto-sense supervisor (probe :9379 → on-device
210
+ // LOCAL VLM, waiting while it prepares) in the SAME process, REUSING
211
+ // runAutoSense verbatim —
212
+ // no forked sensing logic. Both rails converge server-side at ingestMetrics,
213
+ // so there is NO new sink here.
214
+ log('[combined-sense] starting local-first VLM sensing…');
215
+ await (0, autoSense_1.runAutoSense)(args, {
216
+ // Reuse the already-resolved config (one file read, shared with the zoo). The
217
+ // VLM builders default to the sharedSources-aware managers so the VLM attaches
218
+ // to the SAME mosaic pull(s) the per-tile zoo created (one RTSP pull per
219
+ // source). Tests inject their own fakes here.
220
+ loadConfig: () => config,
221
+ probe: deps.probe,
222
+ buildLocalManager: deps.buildLocalManager ?? (() => (0, sensingRunMode_1.buildLocalSensingManager)(config, sensingRunMode_1.consoleIo, { sharedSources, configPath, streamUrlResolver })),
223
+ buildCloudManager: deps.buildCloudManager ?? (() => (0, sensingRunMode_1.buildCloudSensingManager)(config, sensingRunMode_1.consoleIo, { sharedSources, configPath, streamUrlResolver })),
224
+ sleep: deps.sleep,
225
+ setTimer: deps.setTimer,
226
+ clearTimer: deps.clearTimer,
227
+ log,
228
+ // Combined mode is zoo + VLM. If the VLM resolves NO feeds (e.g. a locally
229
+ // attached webcam the zoo can sense but the RTSP feed resolver can't), DON'T
230
+ // kill the process — the zoo is already sensing. Degrade to ZOO-only with a
231
+ // clear warning instead of the standalone auto-sense default (process.exit).
232
+ onNoFeeds: () => log(zooAgents.length > 0
233
+ ? `[combined-sense] no VLM camera feeds configured — running ${zooAgents.length} ZOO ` +
234
+ 'instance(s) only.'
235
+ : '[combined-sense] no camera feeds for the ZOO or the VLM — nothing to sense. ' +
236
+ 'Add `cameras: [...]` or `camera.rtspUrl` + `deviceToken`.'),
237
+ // SIGINT/SIGTERM must stop BOTH: the zoo FIRST, then the VLM supervisor
238
+ // (which clears its re-probe timer + stops the active manager, then exits).
239
+ registerShutdown: (autoSenseShutdown) => {
240
+ let stopping = false;
241
+ const composed = async () => {
242
+ if (stopping)
243
+ return; // both SIGINT and SIGTERM map to this one handler
244
+ stopping = true;
245
+ log('[combined-sense] shutting down ZOO + VLM…');
246
+ for (const a of zooAgents) {
247
+ try {
248
+ await a.stop();
249
+ }
250
+ catch (err) {
251
+ log(`[combined-sense] zoo stop error: ${err instanceof Error ? err.message : err}`);
252
+ }
253
+ }
254
+ await autoSenseShutdown(); // stops the VLM supervisor + process.exit(0)
255
+ };
256
+ (deps.registerShutdown ?? defaultRegisterShutdown)(composed);
257
+ },
258
+ waitForShutdown: deps.waitForShutdown,
259
+ });
260
+ }
261
+ //# sourceMappingURL=combinedSense.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinedSense.js","sourceRoot":"","sources":["../src/combinedSense.ts"],"names":[],"mappings":"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"}