{ "nodes": [ { "id": "stores_protecteddevices_useprotecteddevicesstore", "label": "useProtectedDevicesStore (Zustand store for mac/windows protected devices: load, enroll, confirmInstalled, remove)", "file_type": "code", "source_file": "apps/rebreak-native/stores/protectedDevices.ts", "source_location": "line 32", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_protecteddevices_protecteddevice", "label": "ProtectedDevice (interface: id, platform mac|windows, label, status pending|active|revoked|degraded, installedAt, createdAt)", "file_type": "code", "source_file": "apps/rebreak-native/stores/protectedDevices.ts", "source_location": "line 6", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_mailconsent_usemailconsentstore", "label": "useMailConsentStore (Zustand store: show/hide pending consent connections for mail scanning)", "file_type": "code", "source_file": "apps/rebreak-native/stores/mailConsent.ts", "source_location": "line 17", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_community_usecommunitystore", "label": "useCommunityStore (Zustand store: community feed active category, optimistic likes, compose focus state)", "file_type": "code", "source_file": "apps/rebreak-native/stores/community.ts", "source_location": "line 77", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_community_communitypost", "label": "CommunityPost (interface: id, category, content, likes, dislikes, isAnonymous, author, botType lyra|rebreak, challengeId, domain_vote submission with yesVotes/noVotes)", "file_type": "code", "source_file": "apps/rebreak-native/stores/community.ts", "source_location": "line 14", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_devicelimit_usedevicelimitstore", "label": "useDeviceLimitStore (Zustand store: device-limit modal, list of registered devices with platform/model/osVersion, plan)", "file_type": "code", "source_file": "apps/rebreak-native/stores/deviceLimit.ts", "source_location": "line 26", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_aplock_useapplockstore", "label": "useAppLockStore (Zustand store: Face ID / Touch ID app lock — enabled/locked/available, AsyncStorage key @rebreak/app-lock-enabled, expo-local-authentication defensive load)", "file_type": "code", "source_file": "apps/rebreak-native/stores/appLock.ts", "source_location": "line 58", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_lyravoice_uselyravoicestore", "label": "useLyraVoiceStore (Zustand store: Lyra TTS auto-play preference, AsyncStorage key @rebreak/lyraVoiceEnabled, toggle/reset)", "file_type": "code", "source_file": "apps/rebreak-native/stores/lyraVoice.ts", "source_location": "line 26", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_theme_usethemestore", "label": "useThemeStore (Zustand store: system/light/dark theme mode, Appearance.addChangeListener, AsyncStorage key @rebreak/theme)", "file_type": "code", "source_file": "apps/rebreak-native/stores/theme.ts", "source_location": "line 23", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_mailconnectdraft_usemailconnectdraft", "label": "useMailConnectDraft (Zustand store: mail provider connection wizard draft — view consent|grid|form|oauth_warning|oauth_pending, selectedProvider, email, pendingOAuthConnectionId)", "file_type": "code", "source_file": "apps/rebreak-native/stores/mailConnectDraft.ts", "source_location": "line 46", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_coach_usecoachstore", "label": "useCoachStore (Zustand store: Lyra AI coach messages, loadHistory from /api/coach/history, sendMessage to /api/coach/message, welcomeBackShownThisSession flag)", "file_type": "code", "source_file": "apps/rebreak-native/stores/coach.ts", "source_location": "line 33", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_realtimedebug_userealtimefebugstore", "label": "useRealtimeDebugStore (Zustand store: Supabase realtime debug — monkey-patches socket open/close/error and RealtimeChannel.subscribe, logs to in-memory ring buffer of 100 entries)", "file_type": "code", "source_file": "apps/rebreak-native/stores/realtimeDebug.ts", "source_location": "line 26", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_auth_useauthstore", "label": "useAuthStore (Zustand store: Supabase session/user, signInWithPassword + DEVICE_LOCKED check, signUp, signOut resets all stores, OAuth Google/Apple, verifyOtp, updatePassword)", "file_type": "code", "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 61", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "stores_auth_devicelockederror", "label": "DeviceLockedError (type: DEVICE_LOCKED with lockedUntil and releaseRequestable — signaled when POST /api/devices/check-lock returns 409)", "file_type": "code", "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 33", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_podfileproperties_config", "label": "Podfile.properties.json (iOS build config: Hermes JS engine, New Architecture enabled, deployment target 15.1, static frameworks, privacy manifest aggregation)", "file_type": "document", "source_file": "apps/rebreak-native/ios/Podfile.properties.json", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_hashlist", "label": "HashList (Swift class: memory-mapped binary blocklist of sorted 64-bit big-endian hashes, mmap via os_unfair_lock snapshot swap, binary search O(log n), subdomain suffix matching up to 5 levels)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/HashList.swift", "source_location": "line 24", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_domainhasher", "label": "DomainHasher (Swift enum: normalize domain lowercase+strip www+strip path, SHA-256 first 8 bytes as big-endian UInt64 — bit-identical to Android DomainHasher.kt and server domainHash.ts)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DomainHasher.swift", "source_location": "line 16", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_packettunnelprovider", "label": "PacketTunnelProvider (Swift NEPacketTunnelProvider subclass: DNS sinkhole VPN Layer-1 — TUN subnet 10.0.0.0/24, DNS to 10.0.0.1, read loop, DnsFilter classify, NXDOMAIN block or forward to 1.1.1.1, in-flight cap 32, Darwin notification blocklist reload + DNS cache flush via settings re-apply)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 74", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_extlog", "label": "ExtLog (Swift enum: shared App-Group UserDefaults writer for PacketTunnel extension debug logs, suite group.org.rebreak.app, key url_filter_logs, max 200 entries)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 60", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_dnsfilter", "label": "DnsFilter (Swift enum: IPv4/UDP/DNS packet parser — classify block|forward|drop, NXDOMAIN response builder, SERVFAIL response builder K2, forward response wrapper, IP checksum recompute RFC 791, QNAME parser with fail-open for compression pointer H3)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DnsFilter.swift", "source_location": "line 44", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_packettunnel_dnsfilerdecision", "label": "DnsFilterDecision (Swift enum: block(response:Data, domain:String) | forward(domain:String) | drop)", "file_type": "code", "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DnsFilter.swift", "source_location": "line 34", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_rebreak_appdelegate", "label": "AppDelegate (Swift ExpoAppDelegate subclass: bootstraps ExpoReactNativeFactory + ReactNativeDelegate, handles URL deep links and universal links via RCTLinkingManager)", "file_type": "code", "source_file": "apps/rebreak-native/ios/ReBreak/AppDelegate.swift", "source_location": "line 6", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_rebreak_reactnativedelegate", "label": "ReactNativeDelegate (Swift ExpoReactNativeFactoryDelegate: DEBUG=metro virtual entry .expo/.virtual-metro-entry, RELEASE=main.jsbundle from Bundle.main)", "file_type": "code", "source_file": "apps/rebreak-native/ios/ReBreak/AppDelegate.swift", "source_location": "line 55", "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_rebreak_appicon_1024", "label": "ReBreak App Icon 1024x1024 (iOS app icon: broken chain link logo in dark navy blue on white background, wordmark ReBreak below in bold dark navy)", "file_type": "image", "source_file": "apps/rebreak-native/ios/ReBreak/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null }, { "id": "ios_rebreak_splashscreencolor", "label": "SplashScreenBackground colorset (dark navy sRGB r=0.059 g=0.090 b=0.165 — matches ReBreak brand dark navy used in app icon and theme)", "file_type": "document", "source_file": "apps/rebreak-native/ios/ReBreak/Images.xcassets/SplashScreenBackground.colorset/Contents.json", "source_location": null, "source_url": null, "captured_at": null, "author": null, "contributor": null } ], "edges": [ { "source": "stores_protecteddevices_useprotecteddevicesstore", "target": "stores_protecteddevices_protecteddevice", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/protectedDevices.ts", "source_location": "line 32", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_devicelimit_usedevicelimitstore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 155", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_protecteddevices_useprotecteddevicesstore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 155", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_mailconsent_usemailconsentstore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 156", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_community_usecommunitystore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 157", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_coach_usecoachstore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 158", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_mailconnectdraft_usemailconnectdraft", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 160", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_lyravoice_uselyravoicestore", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 161", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_auth_devicelockederror", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 33", "weight": 1.0 }, { "source": "stores_auth_useauthstore", "target": "stores_realtimedebug_userealtimefebugstore", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.65, "source_file": "apps/rebreak-native/stores/auth.ts", "source_location": "line 67", "weight": 0.65 }, { "source": "stores_aplock_useapplockstore", "target": "stores_auth_useauthstore", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.75, "source_file": "apps/rebreak-native/stores/appLock.ts", "source_location": "line 24", "weight": 0.75 }, { "source": "ios_packettunnel_packettunnelprovider", "target": "ios_packettunnel_hashlist", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 169", "weight": 1.0 }, { "source": "ios_packettunnel_packettunnelprovider", "target": "ios_packettunnel_dnsfilter", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 274", "weight": 1.0 }, { "source": "ios_packettunnel_packettunnelprovider", "target": "ios_packettunnel_extlog", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 67", "weight": 1.0 }, { "source": "ios_packettunnel_dnsfilter", "target": "ios_packettunnel_hashlist", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DnsFilter.swift", "source_location": "line 98", "weight": 1.0 }, { "source": "ios_packettunnel_dnsfilter", "target": "ios_packettunnel_dnsfilerdecision", "relation": "references", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DnsFilter.swift", "source_location": "line 57", "weight": 1.0 }, { "source": "ios_packettunnel_hashlist", "target": "ios_packettunnel_domainhasher", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/HashList.swift", "source_location": "line 139", "weight": 1.0 }, { "source": "ios_packettunnel_domainhasher", "target": "ios_packettunnel_hashlist", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.95, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/DomainHasher.swift", "source_location": "line 16", "weight": 0.95 }, { "source": "ios_rebreak_appdelegate", "target": "ios_rebreak_reactnativedelegate", "relation": "calls", "confidence": "EXTRACTED", "confidence_score": 1.0, "source_file": "apps/rebreak-native/ios/ReBreak/AppDelegate.swift", "source_location": "line 17", "weight": 1.0 }, { "source": "ios_rebreak_appicon_1024", "target": "ios_rebreak_splashscreencolor", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.75, "source_file": "apps/rebreak-native/ios/ReBreak/Images.xcassets/SplashScreenBackground.colorset/Contents.json", "source_location": null, "weight": 0.75 }, { "source": "stores_mailconsent_usemailconsentstore", "target": "stores_mailconnectdraft_usemailconnectdraft", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "apps/rebreak-native/stores/mailConsent.ts", "source_location": "line 1", "weight": 0.85 }, { "source": "stores_coach_usecoachstore", "target": "stores_lyravoice_uselyravoicestore", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.75, "source_file": "apps/rebreak-native/stores/coach.ts", "source_location": "line 33", "weight": 0.75 }, { "source": "ios_packettunnel_packettunnelprovider", "target": "ios_packettunnel_domainhasher", "relation": "conceptually_related_to", "confidence": "INFERRED", "confidence_score": 0.85, "source_file": "apps/rebreak-native/ios/RebreakPacketTunnelExtension/PacketTunnelProvider.swift", "source_location": "line 74", "weight": 0.85 } ], "hyperedges": [], "input_tokens": 0, "output_tokens": 0 }