CSantosM 9ae27bf32a backend: Adds live captions functionality to rooms
Adds support for live captions in meet rooms.
This includes schema definitions, API configurations,
and LiveKit integration for dispatching captions agents.
Captions are disabled by default and can be enabled per room.
2026-01-22 18:24:50 +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

@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.