Bridge Architecture (Open Files)

The entire bridge/ directory in 5M Phone is open, un-escrowed, and modular. It handles all communication with frameworks, inventories, banking scripts, voice engines, housing systems, and dispatch CADs.


Bridge Directory Structure

Plain text
5M_Phone/bridge/
├── framework/        <-- Framework adapters
│   ├── qbox.lua
│   ├── qb.lua
│   ├── esx.lua
│   ├── ox.lua
│   └── standalone.lua
├── inventory/        <-- Inventory item and metadata adapters
│   ├── ox_inventory/
│   ├── qb-inventory/
│   ├── ps-inventory/
│   ├── qs-inventory/
│   ├── tgiann-inventory/
│   ├── codem-inventory/
│   ├── esx_inventory/
│   └── standalone/
├── banking/          <-- Banking & society balance adapters
│   ├── finals_banking.lua
│   ├── qb-banking.lua
│   └── renewed-banking.lua
├── housing/          <-- Housing and property key adapters
│   ├── ps-housing.lua
│   ├── qbx_properties.lua
│   └── qs-housing.lua
├── voice/            <-- Voice call & submix adapters
│   ├── pma-voice/
│   ├── saltychat/
│   └── mumble-voip/
├── dispatch/         <-- Third-party CAD forwarding
│   ├── ps-dispatch.lua
│   ├── cd_dispatch.lua
│   └── qs-dispatch.lua
└── shared/
    ├── init.lua      <-- Provider auto-detection
    └── load.lua      <-- Targeted file loader

The Finals.* Bridge Namespaces

Phone systems consume the following globals initialized in bridge/shared/init.lua:

GlobalPurpose
Finals.FrameworkDetected framework ID ('qbox', 'qb', 'esx', 'ox', 'standalone')
Finals.BridgeFramework helpers: GetMoney, AddMoney, RemoveMoney, GetJob, GetPlayerName
Finals.GetCitizenIdCharacter key resolver (citizenid, identifier, charId)
Finals.InventoryInventory helpers: HasItem, RemoveItem, GetSlotMetadata, SetSlotMetadata
Finals.VoiceVoice call router: AddPlayerToCall, RemovePlayerFromCall, SetPlayerCall
Finals.BankingSociety account balances & business deposits/withdrawals
Finals.HousingProperty list, key management, and remote locks
Finals.DispatchForwards third-party CAD alerts into the phone Dispatch app