@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.
- package/README.md +62 -18
- package/dist/detector.d.ts +36 -1
- package/dist/detector.d.ts.map +1 -1
- package/dist/detector.js +559 -84
- package/dist/detector.js.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +39 -1
- package/dist/types.d.ts.map +1 -1
- package/meeting-detect.sh +160 -72
- package/package.json +5 -4
package/dist/detector.js.map
CHANGED
|
@@ -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:
|
|
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
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
#
|
|
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
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
+
"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/
|
|
42
|
+
"url": "git+https://github.com/Mostrom-LLC/meeting-detector.git"
|
|
42
43
|
},
|
|
43
|
-
"homepage": "https://github.com/
|
|
44
|
+
"homepage": "https://github.com/Mostrom-LLC/meeting-detector#readme",
|
|
44
45
|
"bugs": {
|
|
45
|
-
"url": "https://github.com/
|
|
46
|
+
"url": "https://github.com/Mostrom-LLC/meeting-detector/issues"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"@types/node": "^20.0.0",
|