@mostrom/meeting-detector 1.0.3 → 1.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../src/detector.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,6 +8,15 @@ if (import.meta.url === `file://${process.argv[1]}`) {
8
8
  const meetingDetector = detector((stateChange) => {
9
9
  console.log('šŸ“± Meeting signal:', stateChange);
10
10
  }, { debug: true });
11
+ meetingDetector.onMeetingStarted((event) => {
12
+ console.log('āœ… Meeting started:', event);
13
+ });
14
+ meetingDetector.onMeetingChanged((event) => {
15
+ console.log('šŸ”„ Meeting changed:', event);
16
+ });
17
+ meetingDetector.onMeetingEnded((event) => {
18
+ console.log('ā¹ļø Meeting ended:', event);
19
+ });
11
20
  // Graceful shutdown
12
21
  process.on('SIGINT', () => {
13
22
  console.log('\nā¹ļø Stopping meeting detector...');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,cAAc,YAAY,CAAC;AAE3B,yCAAyC;AACzC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,WAA0B,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC1D,cAAc,YAAY,CAAC;AAE3B,yCAAyC;AACzC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,WAA0B,EAAE,EAAE;QAC9D,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpB,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,eAAe,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ export type MeetingPlatform = 'Microsoft Teams' | 'Zoom' | 'Google Meet' | 'Slack' | 'Cisco Webex' | 'Discord' | 'FaceTime' | 'Skype' | 'Whereby' | 'GoToMeeting' | 'BlueJeans' | 'Jitsi Meet' | '8x8' | 'RingCentral' | 'BigBlueButton' | 'Amazon Chime' | 'Google Hangouts' | 'Adobe Connect' | 'TeamViewer' | 'AnyDesk' | 'ClickMeeting' | 'Appear.in' | 'Unknown';
1
2
  export interface MeetingSignal {
2
3
  event: 'meeting_signal';
3
4
  timestamp: string;
4
- service: 'microphone' | 'camera' | '';
5
+ service: string;
5
6
  verdict: 'requested' | 'allowed' | 'denied' | '';
7
+ preflight?: boolean;
6
8
  process: string;
7
9
  pid: string;
8
10
  parent_pid: string;
@@ -11,6 +13,16 @@ export interface MeetingSignal {
11
13
  window_title: string;
12
14
  session_id: string;
13
15
  camera_active: boolean;
16
+ chrome_url?: string;
17
+ }
18
+ export interface MeetingLifecycleEvent {
19
+ event: 'meeting_started' | 'meeting_changed' | 'meeting_ended';
20
+ timestamp: string;
21
+ platform: MeetingPlatform;
22
+ previous_platform?: MeetingPlatform;
23
+ confidence: 'high' | 'medium' | 'low';
24
+ reason: 'signal' | 'switch' | 'timeout' | 'stop';
25
+ raw_signal?: MeetingSignal;
14
26
  }
15
27
  export interface ProcessExit {
16
28
  code: number | null;
@@ -33,7 +45,33 @@ export interface MeetingDetectorOptions {
33
45
  * @default 60000 (60 seconds)
34
46
  */
35
47
  sessionDeduplicationMs?: number;
48
+ /**
49
+ * Time in milliseconds without meeting signals before inferring meeting end
50
+ * @default 30000 (30 seconds)
51
+ */
52
+ meetingEndTimeoutMs?: number;
53
+ /**
54
+ * Emit "Unknown" platform lifecycle events when confidence is insufficient
55
+ * @default false
56
+ */
57
+ emitUnknown?: boolean;
58
+ /**
59
+ * Include potentially sensitive fields (for example window title) in emitted signal payloads
60
+ * @default false
61
+ */
62
+ includeSensitiveMetadata?: boolean;
63
+ /**
64
+ * Include the raw signal payload inside lifecycle events
65
+ * @default false
66
+ */
67
+ includeRawSignalInLifecycle?: boolean;
68
+ /**
69
+ * Probe for already-active meetings when detector starts
70
+ * @default true
71
+ */
72
+ startupProbe?: boolean;
36
73
  }
37
74
  export type MeetingEventCallback = (signal: MeetingSignal) => void;
38
75
  export type ErrorEventCallback = (error: Error) => void;
76
+ export type MeetingLifecycleCallback = (event: MeetingLifecycleEvent) => void;
39
77
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,GAAG,QAAQ,GAAG,EAAE,CAAC;IACtC,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,MAAM,GACN,aAAa,GACb,OAAO,GACP,aAAa,GACb,SAAS,GACT,UAAU,GACV,OAAO,GACP,SAAS,GACT,aAAa,GACb,WAAW,GACX,YAAY,GACZ,KAAK,GACL,aAAa,GACb,eAAe,GACf,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,YAAY,GACZ,SAAS,GACT,cAAc,GACd,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAC;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,eAAe,CAAC;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,iBAAiB,CAAC,EAAE,eAAe,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACjD,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AACxD,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC"}
package/meeting-detect.sh CHANGED
@@ -44,17 +44,34 @@ window_title() {
44
44
  parent_pid() {
45
45
  local pid="$1"
46
46
  if [[ -n "$pid" ]]; then
47
- ps -o ppid= -p "$pid" 2>/dev/null | tr -d ' ' || echo ""
47
+ local ppid
48
+ ppid=$(ps -o ppid= -p "$pid" 2>/dev/null || true)
49
+ printf '%s' "${ppid// /}"
48
50
  else
49
51
  echo ""
50
52
  fi
51
53
  }
52
54
 
53
- # --- util: get process path ---
55
+ # --- util: get process executable path (preserves spaces when possible) ---
54
56
  process_path() {
55
57
  local pid="$1"
56
58
  if [[ -n "$pid" ]]; then
57
- ps -o command= -p "$pid" 2>/dev/null | awk '{print $1}' || echo ""
59
+ # lsof txt entry gives the executable path and handles app bundles with spaces.
60
+ local path
61
+ path=$(lsof -p "$pid" 2>/dev/null | awk '$4=="txt" {
62
+ for (i = 9; i <= NF; i++) {
63
+ printf "%s%s", $i, (i < NF ? " " : "")
64
+ }
65
+ print ""
66
+ exit
67
+ }' || true)
68
+
69
+ if [[ -n "$path" ]]; then
70
+ echo "$path"
71
+ else
72
+ # Fallback when lsof cannot resolve path for the PID.
73
+ ps -o comm= -p "$pid" 2>/dev/null || echo ""
74
+ fi
58
75
  else
59
76
  echo ""
60
77
  fi
@@ -62,7 +79,15 @@ process_path() {
62
79
 
63
80
  # --- util: get session ID ---
64
81
  session_id() {
65
- who -m 2>/dev/null | awk '{print $2}' | head -1 || echo ""
82
+ # Return tty/console identifier when available; otherwise return empty string.
83
+ who -m 2>/dev/null | awk '{
84
+ for (i = 1; i <= NF; i++) {
85
+ if ($i ~ /^(tty|console)/) {
86
+ print $i
87
+ exit
88
+ }
89
+ }
90
+ }' | head -1 || echo ""
66
91
  }
67
92
 
68
93
  # --- util: quick camera-in-use heuristic (VDCAssistant/AppleCameraAssistant presence) ---
@@ -108,6 +133,86 @@ current_svc=""
108
133
  current_pid=""
109
134
  current_app=""
110
135
  current_verdict=""
136
+ current_preflight=""
137
+ current_parent_pid=""
138
+ current_process_path=""
139
+
140
+ reset_current_state() {
141
+ current_svc=""
142
+ current_pid=""
143
+ current_app=""
144
+ current_verdict=""
145
+ current_preflight=""
146
+ current_parent_pid=""
147
+ current_process_path=""
148
+ }
149
+
150
+ emit_signal_if_ready() {
151
+ if [[ -z "$current_svc" ]] || [[ -z "$current_pid" ]]; then
152
+ return
153
+ fi
154
+
155
+ ts="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
156
+ fg_app="$(front_app)"
157
+ cam_now="$(camera_active)"
158
+ win_title="$(window_title)"
159
+ sess_id="$(session_id)"
160
+
161
+ # For Chrome Helper processes, query the active tab URL directly so the
162
+ # TypeScript layer can identify the meeting service without relying on front_app.
163
+ chrome_url=""
164
+ if [[ "$current_app" == *"Chrome Helper"* ]] || [[ "$current_app" == *"Google Chrome"* ]]; then
165
+ chrome_url=$(/usr/bin/osascript \
166
+ -e 'tell application "Google Chrome" to get URL of active tab of front window' \
167
+ 2>/dev/null || echo "")
168
+ fi
169
+
170
+ # Normalize app name to reduce Teams/Chrome helper noise
171
+ normalized_app=$(normalize_app "$current_app")
172
+
173
+ # Get current timestamp for time-based deduplication
174
+ current_time=$(date +%s)
175
+
176
+ # Create state string focusing on actual meeting process, not front app switching
177
+ # Only track: camera status + service + normalized app (ignore front_app changes)
178
+ current_state="${cam_now}|${current_svc}|${normalized_app}"
179
+ previous_state="${prev_camera_active}|${prev_service}|${prev_main_app}"
180
+
181
+ # Calculate time since last log
182
+ time_diff=$((current_time - last_log_time))
183
+
184
+ # Log if there's a meaningful change OR enough time has passed (10 seconds cooldown)
185
+ # This allows new meetings while preventing helper process spam.
186
+ if [[ "$current_state" != "$previous_state" ]] || [[ $time_diff -ge 10 ]]; then
187
+ json \
188
+ event="meeting_signal" \
189
+ timestamp="$ts" \
190
+ service="$current_svc" \
191
+ verdict="$current_verdict" \
192
+ preflight="${current_preflight:-}" \
193
+ process="$current_app" \
194
+ pid="$current_pid" \
195
+ parent_pid="$current_parent_pid" \
196
+ process_path="$current_process_path" \
197
+ front_app="$fg_app" \
198
+ window_title="$win_title" \
199
+ session_id="$sess_id" \
200
+ camera_active="$cam_now" \
201
+ chrome_url="$chrome_url"
202
+
203
+ # Update previous state
204
+ prev_camera_active="$cam_now"
205
+ prev_front_app="$fg_app"
206
+ prev_service="$current_svc"
207
+ prev_verdict="$current_verdict"
208
+ prev_process="$current_app"
209
+ prev_pid="$current_pid"
210
+ prev_main_app="$normalized_app"
211
+ last_log_time="$current_time"
212
+ fi
213
+
214
+ reset_current_state
215
+ }
111
216
 
112
217
  # --- stream TCC (privacy) log events for mic/camera access ---
113
218
  # We look for kTCCServiceMicrophone / kTCCServiceCamera "Access Allowed"/"Auth Granted".
@@ -134,78 +239,61 @@ while IFS= read -r line; do
134
239
  current_verdict="requested"
135
240
  fi
136
241
 
137
- # Parse target PID - when we find this, we have enough info to emit
242
+ # Capture preflight signal when present.
243
+ if [[ "$line" == *"preflight=yes"* ]]; then
244
+ current_preflight="true"
245
+ elif [[ "$line" == *"preflight=no"* ]]; then
246
+ current_preflight="false"
247
+ fi
248
+
249
+ # Parse target PID on FORWARD lines.
138
250
  if [[ "$line" =~ target_token=\{pid:([0-9]+) ]]; then
139
251
  current_pid="${BASH_REMATCH[1]}"
140
- # Get process info from PID
141
- if [[ -n "$current_pid" ]]; then
142
- current_app_full=$(ps -p "$current_pid" -o comm= 2>/dev/null | tail -1)
143
- # Extract just the app name from full path (e.g., "Google Chrome Helper" from long path)
144
- current_app=$(basename "$current_app_full" 2>/dev/null || echo "$current_app_full")
145
-
146
- # Get additional process details
147
- current_parent_pid=$(parent_pid "$current_pid")
148
- current_process_path=$(process_path "$current_pid")
252
+ fi
253
+
254
+ # Parse direct grant lines (seen for some system-signed processes).
255
+ if [[ "$line" =~ Granting\ TCCDProcess:.*pid=([0-9]+).*access\ to\ kTCCService(Microphone|Camera) ]]; then
256
+ current_pid="${BASH_REMATCH[1]}"
257
+ if [[ "${BASH_REMATCH[2]}" == "Microphone" ]]; then
258
+ current_svc="microphone"
259
+ else
260
+ current_svc="camera"
149
261
  fi
150
-
151
- # --- we now have complete info, check if we should emit ---
152
- if [[ -n "$current_svc" ]] && [[ -n "$current_pid" ]]; then
153
- ts="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
154
- fg_app="$(front_app)"
155
- cam_now="$(camera_active)"
156
- win_title="$(window_title)"
157
- sess_id="$(session_id)"
158
-
159
- # Normalize app name to reduce Teams/Chrome helper noise
160
- normalized_app=$(normalize_app "$current_app")
161
-
162
- # Get current timestamp for time-based deduplication
163
- current_time=$(date +%s)
164
-
165
- # Create state string focusing on actual meeting process, not front app switching
166
- # Only track: camera status + service + normalized app (ignore front_app changes)
167
- current_state="${cam_now}|${current_svc}|${normalized_app}"
168
- previous_state="${prev_camera_active}|${prev_service}|${prev_main_app}"
169
-
170
- # Calculate time since last log
171
- time_diff=$((current_time - last_log_time))
172
-
173
- # Log if there's a meaningful change OR enough time has passed (10 seconds cooldown)
174
- # This allows new meetings while preventing Teams helper process spam
175
- if [[ "$current_state" != "$previous_state" ]] || [[ $time_diff -ge 10 ]]; then
176
- # State changed - emit JSON
177
- json \
178
- event="meeting_signal" \
179
- timestamp="$ts" \
180
- service="$current_svc" \
181
- verdict="$current_verdict" \
182
- process="$current_app" \
183
- pid="$current_pid" \
184
- parent_pid="$current_parent_pid" \
185
- process_path="$current_process_path" \
186
- front_app="$fg_app" \
187
- window_title="$win_title" \
188
- session_id="$sess_id" \
189
- camera_active="$cam_now"
190
-
191
- # Update previous state
192
- prev_camera_active="$cam_now"
193
- prev_front_app="$fg_app" # Still track for JSON output
194
- prev_service="$current_svc"
195
- prev_verdict="$current_verdict"
196
- prev_process="$current_app"
197
- prev_pid="$current_pid"
198
- prev_main_app="$normalized_app"
199
- last_log_time="$current_time"
262
+ current_verdict="allowed"
263
+ current_preflight="false"
264
+ fi
265
+
266
+ # Parse direct access checks keyed by msgID=<pid>.<counter>.
267
+ # Only accept PIDs > 500 to skip forwarded tccd message IDs (like 187.XXXX).
268
+ if [[ "$line" =~ AUTHREQ_CTX:\ msgID=([0-9]+)\.[0-9]+,.*service=kTCCService(Microphone|Camera),\ preflight=(yes|no) ]]; then
269
+ candidate_pid="${BASH_REMATCH[1]}"
270
+ if [[ "$candidate_pid" -gt 500 ]]; then
271
+ current_pid="$candidate_pid"
272
+ if [[ "${BASH_REMATCH[2]}" == "Microphone" ]]; then
273
+ current_svc="microphone"
274
+ else
275
+ current_svc="camera"
276
+ fi
277
+ if [[ "${BASH_REMATCH[3]}" == "yes" ]]; then
278
+ current_preflight="true"
279
+ current_verdict="${current_verdict:-requested}"
280
+ else
281
+ current_preflight="false"
282
+ current_verdict="${current_verdict:-allowed}"
200
283
  fi
201
-
202
- # Reset current state for next TCC entry
203
- current_svc=""
204
- current_pid=""
205
- current_app=""
206
- current_verdict=""
207
- current_parent_pid=""
208
- current_process_path=""
209
284
  fi
210
285
  fi
286
+
287
+ # Emit when both service and pid are available.
288
+ if [[ -n "$current_svc" ]] && [[ -n "$current_pid" ]]; then
289
+ current_app_full=$(ps -p "$current_pid" -o comm= 2>/dev/null || true)
290
+ current_app=$(basename "${current_app_full:-}" 2>/dev/null || echo "${current_app_full:-}")
291
+ if [[ -z "$current_app" ]]; then
292
+ reset_current_state
293
+ continue
294
+ fi
295
+ current_parent_pid=$(parent_pid "$current_pid")
296
+ current_process_path=$(process_path "$current_pid")
297
+ emit_signal_if_ready
298
+ fi
211
299
  done
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mostrom/meeting-detector",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Real-time meeting detection for macOS desktop apps",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -18,6 +18,7 @@
18
18
  ],
19
19
  "scripts": {
20
20
  "build": "tsc",
21
+ "test": "npm run build && node --test test/**/*.test.mjs",
21
22
  "dev": "ts-node src/index.ts",
22
23
  "start": "node dist/index.js",
23
24
  "watch": "tsc -w",
@@ -38,11 +39,11 @@
38
39
  },
39
40
  "repository": {
40
41
  "type": "git",
41
- "url": "git+https://github.com/kaisewhite/meeting-detector.git"
42
+ "url": "git+https://github.com/Mostrom-LLC/meeting-detector.git"
42
43
  },
43
- "homepage": "https://github.com/kaisewhite/meeting-detector#readme",
44
+ "homepage": "https://github.com/Mostrom-LLC/meeting-detector#readme",
44
45
  "bugs": {
45
- "url": "https://github.com/kaisewhite/meeting-detector/issues"
46
+ "url": "https://github.com/Mostrom-LLC/meeting-detector/issues"
46
47
  },
47
48
  "devDependencies": {
48
49
  "@types/node": "^20.0.0",