Scan timing: clone 2.66s · analysis 13.98s · 2.4 MB · GitHub API rate-limit (preflight)
https://github.com/Meeting-BaaS/meet-teams-bot
· scanned 2026-06-05 13:25 UTC (5 days, 7 hours ago)
· 10 languages
307 raw signals (123 security + 184 graph) 33rd percentile · Typescript · small (2-20K LoC)
Last scanned 5 days, 7 hours ago · v2 · 203 actionable findings from 2 signal sources. 12 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
| Component | Sub-score | Weight | Contribution |
|---|---|---|---|
structure_score |
100.0 | 0.15 | 15.00 |
security_score |
42.8 | 0.25 | 10.70 |
testing_score |
27.0 | 0.20 | 5.40 |
documentation_score |
90.0 | 0.15 | 13.50 |
practices_score |
62.0 | 0.15 | 9.30 |
code_quality |
69.4 | 0.10 | 6.94 |
| Overall | 1.00 | 60.8 |
All 351 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
testNewFiles |
software | healthy | test_new.ts:testNewFiles |
generateBranding |
software | healthy | src/branding.ts:generateBranding |
command |
software | healthy | src/branding.ts:command |
stdoutListener |
software | healthy | src/branding.ts:stdoutListener |
stderrListener |
software | healthy | src/branding.ts:stderrListener |
playBranding |
software | healthy | src/branding.ts:playBranding |
handles |
software | healthy | src/singleton.ts:handles |
readFromStdin |
software | healthy | src/main.ts:readFromStdin |
handleSuccessfulRecording |
software | healthy | src/main.ts:handleSuccessfulRecording |
handleFailedRecording |
software | healthy | src/main.ts:handleFailedRecording |
newTranscriptQueue |
software | healthy | src/uploadTranscripts.ts:newTranscriptQueue |
is |
software | healthy | src/uploadTranscripts.ts:is |
uploadTranscriptTask |
software | healthy | src/uploadTranscripts.ts:uploadTranscriptTask |
upload |
software | healthy | src/uploadTranscripts.ts:upload |
getAllowedOrigins |
software | healthy | src/server.ts:getAllowedOrigins |
server |
software | healthy | src/server.ts:server |
stop_record |
software | healthy | src/server.ts:stop_record |
stdoutListener |
software | healthy | src/media_context.ts:stdoutListener |
stderrListener |
software | healthy | src/media_context.ts:stderrListener |
getResolution |
software | healthy | src/recording/ScreenRecorder.ts:getResolution |
calculateFFmpegTimeout |
software | healthy | src/recording/ScreenRecorder.ts:calculateFFmpegTimeout |
recordingDurationSeconds |
software | healthy | src/recording/ScreenRecorder.ts:recordingDurationSeconds |
sizeMB |
software | healthy | src/recording/ScreenRecorder.ts:sizeMB |
timeSinceLastCheck |
software | healthy | src/recording/ScreenRecorder.ts:timeSinceLastCheck |
growthMB |
software | healthy | src/recording/ScreenRecorder.ts:growthMB |
growthRateMBps |
software | healthy | src/recording/ScreenRecorder.ts:growthRateMBps |
fileSizeMB |
software | healthy | src/recording/ScreenRecorder.ts:fileSizeMB |
parseMeetingUrlFromJoinInfos |
software | healthy | src/urlParser/meetUrlParser.ts:parseMeetingUrlFromJoinInfos |
convertLightMeetingToStandard |
software | healthy | src/urlParser/teamsUrlParser.ts:convertLightMeetingToStanda… |
transformTeamsLink |
software | healthy | src/urlParser/teamsUrlParser.ts:transformTeamsLink |
parseMeetingUrlFromJoinInfos |
software | healthy | src/urlParser/teamsUrlParser.ts:parseMeetingUrlFromJoinInfos |
detectMeetingProvider |
software | healthy | src/utils/detectMeetingProvider.ts:detectMeetingProvider |
sleep |
software | healthy | src/utils/sleep.ts:sleep |
formatError |
software | healthy | src/utils/Logger.ts:formatError |
formatTable |
software | healthy | src/utils/Logger.ts:formatTable |
formatArgs |
software | healthy | src/utils/Logger.ts:formatArgs |
getCaller |
software | healthy | src/utils/Logger.ts:getCaller |
setupFileLogging |
software | healthy | src/utils/Logger.ts:setupFileLogging |
setupConsoleLogger |
software | healthy | src/utils/Logger.ts:setupConsoleLogger |
uploadLogsToS3 |
software | healthy | src/utils/Logger.ts:uploadLogsToS3 |
setupExitHandler |
software | healthy | src/utils/Logger.ts:setupExitHandler |
checkIndicators |
software | healthy | src/utils/meeting-state-detector.ts:checkIndicators |
to |
software | healthy | src/utils/meeting-state-detector.ts:to |
createStateDetector |
software | healthy | src/utils/meeting-state-detector.ts:createStateDetector |
calculateVideoOffset |
software | healthy | src/utils/CalculVideoOffset.ts:calculateVideoOffset |
detectAudioBeep |
software | healthy | src/utils/CalculVideoOffset.ts:detectAudioBeep |
detectVideoFlash |
software | healthy | src/utils/CalculVideoOffset.ts:detectVideoFlash |
using |
software | healthy | src/utils/CalculVideoOffset.ts:using |
testWithSampleFiles |
software | healthy | src/utils/CalculVideoOffset.ts:testWithSampleFiles |
for |
software | healthy | src/utils/CalculVideoOffset.ts:for |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
tsfmt.json |
software | healthy | tsfmt.json |
tsconfig.release.json |
software | healthy | tsconfig.release.json |
jest.config.js |
software | warning | jest.config.js |
test_new.ts |
software | healthy | test_new.ts |
README.md |
software | healthy | README.md |
bot.config.json |
software | healthy | bot.config.json |
package.json |
software | healthy | package.json |
test-fixed-config.sh |
software | healthy | test-fixed-config.sh |
test-playwright-recording.sh |
software | healthy | test-playwright-recording.sh |
CONTRIBUTING.md |
software | healthy | CONTRIBUTING.md |
test_port_allocation.sh |
software | healthy | test_port_allocation.sh |
Dockerfile |
software | healthy | Dockerfile |
run_bot.sh |
software | healthy | run_bot.sh |
test-simple-recording.sh |
software | healthy | test-simple-recording.sh |
package-lock.json |
software | healthy | package-lock.json |
jest.setup.ts |
software | warning | jest.setup.ts |
tsconfig.json |
software | healthy | tsconfig.json |
test-ffmpeg-performance.sh |
software | healthy | test-ffmpeg-performance.sh |
test-current-config.sh |
software | healthy | test-current-config.sh |
SECURITY.md |
software | healthy | SECURITY.md |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
SystemDiagnostic.ts |
software | healthy | sandbox/SystemDiagnostic.ts |
branding.ts |
software | healthy | src/branding.ts |
singleton.ts |
software | healthy | src/singleton.ts |
main.ts |
software | healthy | src/main.ts |
uploadTranscripts.ts |
software | healthy | src/uploadTranscripts.ts |
speaker-manager.ts |
software | healthy | src/speaker-manager.ts |
server.ts |
software | healthy | src/server.ts |
streaming.ts |
software | healthy | src/streaming.ts |
events.ts |
software | healthy | src/events.ts |
media_context.ts |
software | healthy | src/media_context.ts |
types.ts |
software | warning | src/types.ts |
ScreenRecorder.ts |
software | healthy | src/recording/ScreenRecorder.ts |
types.ts |
software | warning | src/api/types.ts |
methods.ts |
software | healthy | src/api/methods.ts |
teamsUrlParser.test.ts |
software | warning | src/urlParser/teamsUrlParser.test.ts |
meetUrlParser.ts |
software | healthy | src/urlParser/meetUrlParser.ts |
teamsUrlParser.ts |
software | healthy | src/urlParser/teamsUrlParser.ts |
meetUrlParser.test.ts |
software | warning | src/urlParser/meetUrlParser.test.ts |
detectMeetingProvider.ts |
software | healthy | src/utils/detectMeetingProvider.ts |
sleep.ts |
software | healthy | src/utils/sleep.ts |
PathManager.ts |
software | healthy | src/utils/PathManager.ts |
Logger.ts |
software | healthy | src/utils/Logger.ts |
meeting-state-detector.ts |
software | healthy | src/utils/meeting-state-detector.ts |
CalculVideoOffset.ts |
software | healthy | src/utils/CalculVideoOffset.ts |
sound-level-monitor.ts |
software | healthy | src/utils/sound-level-monitor.ts |
retry-handler.ts |
software | healthy | src/utils/retry-handler.ts |
dehumanize.ts |
software | healthy | src/utils/dehumanize.ts |
S3Uploader.ts |
software | healthy | src/utils/S3Uploader.ts |
SyncSignal.ts |
software | healthy | src/utils/SyncSignal.ts |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
SystemDiagnostic |
software | healthy | sandbox/SystemDiagnostic.ts:SystemDiagnostic |
Global |
software | healthy | src/singleton.ts:Global |
SpeakerManager |
software | healthy | src/speaker-manager.ts:SpeakerManager |
for |
software | healthy | src/streaming.ts:for |
Streaming |
software | healthy | src/streaming.ts:Streaming |
Events |
software | healthy | src/events.ts:Events |
must |
software | healthy | src/media_context.ts:must |
MediaContext |
software | healthy | src/media_context.ts:MediaContext |
SoundContext |
software | healthy | src/media_context.ts:SoundContext |
VideoContext |
software | healthy | src/media_context.ts:VideoContext |
ScreenRecorder |
software | healthy | src/recording/ScreenRecorder.ts:ScreenRecorder |
ScreenRecorderManager |
software | healthy | src/recording/ScreenRecorder.ts:ScreenRecorderManager |
Api |
software | healthy | src/api/methods.ts:Api |
constructor |
software | healthy | src/api/methods.ts:constructor |
PathManager |
software | healthy | src/utils/PathManager.ts:PathManager |
SoundLevelMonitor |
software | healthy | src/utils/sound-level-monitor.ts:SoundLevelMonitor |
has |
software | healthy | src/utils/S3Uploader.ts:has |
S3Uploader |
software | healthy | src/utils/S3Uploader.ts:S3Uploader |
for |
software | healthy | src/utils/S3Uploader.ts:for |
SpeakersObserver |
software | healthy | src/meeting/speakersObserver.ts:SpeakersObserver |
MeetProvider |
software | healthy | src/meeting/meet.ts:MeetProvider |
HtmlCleaner |
software | healthy | src/meeting/htmlCleaner.ts:HtmlCleaner |
TeamsProvider |
software | healthy | src/meeting/teams.ts:TeamsProvider |
TeamsSpeakersObserver |
software | healthy | src/meeting/teams/speakersObserver.ts:TeamsSpeakersObserver |
TeamsHtmlCleaner |
software | healthy | src/meeting/teams/htmlCleaner.ts:TeamsHtmlCleaner |
MeetSpeakersObserver |
software | healthy | src/meeting/meet/speakersObserver.ts:MeetSpeakersObserver |
MeetHtmlCleaner |
software | healthy | src/meeting/meet/htmlCleaner.ts:MeetHtmlCleaner |
HtmlSnapshotService |
software | healthy | src/services/html-snapshot-service.ts:HtmlSnapshotService |
SimpleDialogObserver |
software | healthy | src/services/dialog-observer/simple-dialog-observer.ts:Simp… |
MeetingStateMachine |
software | healthy | src/state-machine/machine.ts:MeetingStateMachine |
BaseState |
software | healthy | src/state-machine/states/base-state.ts:BaseState |
InCallState |
software | healthy | src/state-machine/states/in-call-state.ts:InCallState |
RecordingState |
software | healthy | src/state-machine/states/recording-state.ts:RecordingState |
WaitingRoomState |
software | healthy | src/state-machine/states/waiting-room-state.ts:WaitingRoomS… |
PausedState |
software | healthy | src/state-machine/states/paused-state.ts:PausedState |
CleanupState |
software | healthy | src/state-machine/states/cleanup-state.ts:CleanupState |
ErrorState |
software | healthy | src/state-machine/states/error-state.ts:ErrorState |
ResumingState |
software | healthy | src/state-machine/states/resuming-state.ts:ResumingState |
TerminatedState |
software | healthy | src/state-machine/states/terminated-state.ts:TerminatedState |
InitializationState |
software | healthy | src/state-machine/states/initialization-state.ts:Initializa… |
| Label | Layer | Status | Path |
|---|---|---|---|
sandbox |
software | healthy | sandbox |
src |
software | healthy | src |
recording |
software | healthy | src/recording |
api |
software | healthy | src/api |
urlParser |
software | healthy | src/urlParser |
utils |
software | healthy | src/utils |
proxy |
software | healthy | src/proxy |
meeting |
software | healthy | src/meeting |
shared |
software | healthy | src/meeting/shared |
teams |
software | healthy | src/meeting/teams |
meet |
software | healthy | src/meeting/meet |
services |
software | healthy | src/services |
dialog-observer |
software | healthy | src/services/dialog-observer |
state-machine |
software | healthy | src/state-machine |
states |
software | healthy | src/state-machine/states |
browser |
software | healthy | src/browser |
| Label | Layer | Status | Path |
|---|---|---|---|
POST /stop_record |
api | healthy | src/server.ts |
GET /version |
api | healthy | src/server.ts |
POST /upload |
api | healthy | src/server.ts |
POST /play |
api | healthy | src/server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
port:5900 |
network | healthy | Dockerfile |
port:8080 |
network | healthy | src/server.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-db1r7la3 |
software | healthy | /tmp/repobility-clone-db1r7la3 |
| Label | Layer | Status | Path |
|---|---|---|---|
sqs |
data | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
127.0.0.1 |
network | healthy | src/proxy/toggle-proxy.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
image::Dockerfile |
hardware | healthy | Dockerfile |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | package.json |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | src/browser/browser.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
password_literal::src/main.ts |
security | healthy | src/main.ts |
| Label | Layer | Status | Path |
|---|---|---|---|
auth::src/proxy/toggle-proxy.ts |
security | healthy | src/proxy/toggle-proxy.ts |
This page is publicly accessible at:
https://repobility.com/scan/93651174-a399-4865-826f-fab6ccfec7c5/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/93651174-a399-4865-826f-fab6ccfec7c5/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.