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.
@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/*.ts → dist/*.{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
-
Create your
.tsfile insrc/// src/my-new-type.ts export interface MyNewType { id: string; name: string; } -
Export it from
src/index.tsexport * from './my-new-type.js';Note: Use
.jsextension in imports (ESM requirement) -
Build the package
pnpm run build -
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.