Carlos Santos fd905286a6 typings: add E2EE configuration interface to MeetRoomConfig
frontend: add End-to-End Encryption (E2EE)

- Updated meeting lobby and room wizard components to handle E2EE settings.
- Added E2EE configuration options in the room wizard and lobby services.
- Implemented validation for E2EE key input in participant forms.
- Enhanced UI to reflect E2EE restrictions on recording and streaming.
- Added animations for E2EE warning and info sections.

backend: Added E2EE configuration and middleware

backend: Added e2ee configuration property to openapi

Enables E2EE functionality

Configures the application to support end-to-end encryption (E2EE).

Copies the necessary worker script to the assets folder.

Passes the E2EE key to the meeting component.

Adds a script to remove node_modules and dist folder.

frontend: Add E2EE UI tests and configuration options

webcomponent: Ensure cleanup of test environment after moderation tests

frontend: Update E2EE description and restrictions

webcomponent: Enhance E2EE UI tests by adding participant interactions and verifying visibility with correct keys

backend: Updated start recording example response
2025-11-05 17:11:30 +01:00
..
2025-10-15 17:42:04 +02:00
2025-10-15 17:42:04 +02:00
2025-10-15 17:42:04 +02:00
2025-10-15 17:42:04 +02:00

@openvidu-meet/typings

Shared TypeScript type definitions for the OpenVidu Meet monorepo.

📦 Package Structure

typings/
├── src/              # ✏️ Source TypeScript files (.ts only)
│   ├── index.ts      # Main export barrel
│   ├── room-config.ts
│   ├── user.ts
│   └── ...
│
├── dist/             # 📦 Compiled output (generated, DO NOT EDIT)
│   ├── index.d.ts    # Type definitions
│   ├── index.js      # Transpiled JavaScript
│   ├── index.js.map  # Source maps
│   └── ...
│
├── package.json      # Package configuration
├── tsconfig.json     # Base TypeScript config
└── tsconfig.build.json  # Build-specific config

🛠️ Development

Build the package

pnpm run build

This compiles src/*.tsdist/*.{d.ts,js,js.map}

Watch mode (during development)

pnpm run dev

Auto-recompiles when you change files in src/

Clean build artifacts

pnpm run clean

Removes the dist/ directory

📝 Adding New Types

  1. Create your .ts file in src/

    // src/my-new-type.ts
    export interface MyNewType {
      id: string;
      name: string;
    }
    
  2. Export it from src/index.ts

    export * from './my-new-type.js';
    

    Note: Use .js extension in imports (ESM requirement)

  3. Build the package

    pnpm run build
    
  4. The types are now available to all workspaces:

    import { MyNewType } from '@openvidu-meet/typings';
    

🔗 Usage in Workspaces

All workspaces (backend, frontend, webcomponent) depend on this package:

{
  "dependencies": {
    "@openvidu-meet/typings": "workspace:*"
  }
}

The workspace:* protocol tells pnpm to use the local workspace version.