# @lssm-tech/lib.voice

Voice capabilities: TTS, STT, and conversational AI

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `3.0.5`
- Package path: `packages/platform/agents/voice`
- Manifest path: `packages/platform/agents/voice/package.json`
- Manifest Git blob: `e003d59c346413a1f70dea0b4889cfc3c4b448a9`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/lib.voice](https://lssm.co/docs/packages/lib.voice/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/package.json)
- [Readme source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/README.md)
- [Guide source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.voice.txt)

## Package metadata

```json
{
  "layer": "platform",
  "physicalArea": "agents",
  "primaryArea": "agents-and-context",
  "classification": {
    "privateDeclared": null,
    "catalogFamily": "sharedLibs",
    "catalogKind": "library",
    "catalogStatus": "active",
    "adoptionMode": "adoptable",
    "stability": "stable"
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: not declared; publication is not verified.

Primary area: [Agents, execution and context](https://lssm.co/docs/areas/agents-and-context/)

## Package guide

```json
{
  "status": "available",
  "sourcePath": "packages/platform/agents/voice/README.md",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/README.md",
  "blobSha": "9c236b7510c2c3986925971b44272f7c6735e7ee",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": "README recovered byte-for-byte from pinned aggregate guide",
  "integrity": "exact Git blob match",
  "executionStatus": "not executed"
}
```

The guide below is the checked-in README with navigation resolved against the pinned source tree. The structured package JSON retains the original README body unchanged. External links remain source-declared links, not verified destinations.

# @lssm-tech/lib.voice

Website: https://contractspec.io

**Voice capabilities: TTS, STT, and conversational AI.**

## What It Provides

- **Layer**: lib.
- **Consumers**: video-gen, bundles.
- `src/docs/` contains docblocks and documentation-facing exports.
- Related ContractSpec packages include `@lssm-tech/lib.ai-providers`, `@lssm-tech/lib.contracts-integrations`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.
- `src/docs/` contains docblocks and documentation-facing exports.

## Installation

`npm install @lssm-tech/lib.voice`

or

`bun add @lssm-tech/lib.voice`

## Usage

Import the root entrypoint from `@lssm-tech/lib.voice`, or choose a documented subpath when you only need one part of the package surface.

## Architecture

- `src/audio` is part of the package's public or composition surface.
- `src/conversational` is part of the package's public or composition surface.
- `src/docs/` contains docblocks and documentation-facing exports.
- `src/i18n` is part of the package's public or composition surface.
- `src/index.ts` is the root public barrel and package entrypoint.
- `src/stt` is part of the package's public or composition surface.
- `src/sync` is part of the package's public or composition surface.
- `src/types.ts` is shared public type definitions.

## Public Entry Points

- Export `.` resolves through `./src/index.ts`.
- Export `./audio` resolves through `./src/audio/index.ts`.
- Export `./audio/audio-concatenator` resolves through `./src/audio/audio-concatenator.ts`.
- Export `./audio/duration-estimator` resolves through `./src/audio/duration-estimator.ts`.
- Export `./audio/format-converter` resolves through `./src/audio/format-converter.ts`.
- Export `./audio/silence-generator` resolves through `./src/audio/silence-generator.ts`.
- Export `./conversational` resolves through `./src/conversational/index.ts`.
- Export `./conversational/response-orchestrator` resolves through `./src/conversational/response-orchestrator.ts`.
- Export `./conversational/transcript-builder` resolves through `./src/conversational/transcript-builder.ts`.
- Export `./conversational/turn-detector` resolves through `./src/conversational/turn-detector.ts`.
- The package publishes 43 total export subpaths; keep docs aligned with `package.json`.

## Local Commands

- `bun run dev` — contractspec-bun-build dev
- `bun run build` — contractspec-bun-build build
- `bun run test` — bun test --pass-with-no-tests
- `bun run lint` — bun lint:fix
- `bun run lint:check` — biome check .
- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
- `bun run typecheck` — tsgo --noEmit
- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose
- `bun run publish:pkg:canary` — bun publish:pkg --tag canary
- `bun run clean` — rimraf dist .turbo
- `bun run build:bundle` — contractspec-bun-build transpile
- `bun run build:types` — contractspec-bun-build types
- `bun run prebuild` — contractspec-bun-build prebuild

## Recent Updates

- Replace eslint+prettier by biomejs to optimize speed.
- Resolve lint, build, and test failures across voice, workspace, library, and composio.
- Add first-class transport, auth, versioning, and BYOK support across all integrations.
- Add AI provider ranking system with ranking-driven model selection.
- Add @lssm-tech/lib.voice package for TTS, STT, and conversational voice.

## Notes

- TTS/STT interfaces are adapter boundaries — keep them provider-agnostic.
- Audio processing must stay streaming-compatible (no full-buffer-only APIs).
- Depends on contracts-spec and contracts-integrations.

The exported `ContentBrief` is a structural narration input port owned by Voice. Content-generation briefs bind directly through the existing VideoGenerator composition; Voice no longer imports the content-generation domain. Required fields and accepted optional fields retain their existing shape.


## Declared capabilities

### Lib Voice

Capability ID: `package.lssm.tech.lib.voice`

Voice capabilities: TTS, STT, and conversational AI

Use cases:

- Adopt voice capabilities: tts, stt, and conversational ai

Constraints:

```json
{
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "avoidWhen": [
    "The @lssm-tech/lib.voice package constraints do not match the target runtime or platform."
  ],
  "requires": [
    "TypeScript"
  ]
}
```

Other capability declarations:

```json
{
  "status": "active",
  "aliases": [
    "contractspec",
    "voice",
    "tts",
    "stt",
    "conversational",
    "ai",
    "typescript",
    "lib"
  ],
  "pythonEquivalents": [],
  "alternatives": [],
  "relationships": [],
  "resolutionPriority": 50
}
```

Capability imports:

```json
[
  {
    "from": "@lssm-tech/lib.voice",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/audio",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/audio/audio-concatenator",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/audio/duration-estimator",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/audio/format-converter",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/audio/silence-generator",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational/response-orchestrator",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational/transcript-builder",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational/turn-detector",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational/types",
    "symbols": []
  },
  {
    "from": "@lssm-tech/lib.voice/conversational/voice-session-manager",
    "symbols": []
  }
]
```

## Catalogue metadata

```json
{
  "family": "sharedLibs",
  "kind": "library",
  "status": "active",
  "adoptionMode": "adoptable",
  "stability": "stable",
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "entrypoints": [
    ".",
    "./audio",
    "./audio/audio-concatenator",
    "./audio/duration-estimator",
    "./audio/format-converter",
    "./audio/silence-generator",
    "./conversational",
    "./conversational/response-orchestrator",
    "./conversational/transcript-builder",
    "./conversational/turn-detector",
    "./conversational/types",
    "./conversational/voice-session-manager",
    "./docs/conversational.docblock",
    "./docs/stt.docblock",
    "./docs/sync.docblock",
    "./docs/tts.docblock",
    "./docs/voice.docblock",
    "./i18n",
    "./i18n/catalogs",
    "./i18n/catalogs/en",
    "./i18n/catalogs/es",
    "./i18n/catalogs/fr",
    "./i18n/keys",
    "./i18n/locale",
    "./i18n/messages",
    "./stt",
    "./stt/diarization-mapper",
    "./stt/segment-splitter",
    "./stt/session",
    "./stt/subtitle-formatter",
    "./stt/transcriber",
    "./stt/transcript-turn",
    "./stt/types",
    "./sync",
    "./sync/duration-negotiator",
    "./sync/scene-adapter",
    "./sync/timing-calculator",
    "./tts",
    "./tts/audio-assembler",
    "./tts/emphasis-planner",
    "./tts/pace-analyzer",
    "./tts/segment-synthesizer",
    "./tts/types",
    "./tts/voice-synthesizer",
    "./types",
    "./voice.feature"
  ],
  "examples": [],
  "replacements": []
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/audio",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/audio/audio-concatenator",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/audio/duration-estimator",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/audio/format-converter",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/audio/silence-generator",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational/response-orchestrator",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational/transcript-builder",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational/turn-detector",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational/types",
    "symbols": []
  },
  {
    "capabilityId": "package.lssm.tech.lib.voice",
    "from": "@lssm-tech/lib.voice/conversational/voice-session-manager",
    "symbols": []
  }
]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

- `@lssm-tech/lib.voice` — subpath `.`
  - `unconditional`: `./src/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/index.ts); verified source file.

- `@lssm-tech/lib.voice/audio` — subpath `./audio`
  - `unconditional`: `./src/audio/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/audio/index.ts); verified source file.

- `@lssm-tech/lib.voice/audio/audio-concatenator` — subpath `./audio/audio-concatenator`
  - `unconditional`: `./src/audio/audio-concatenator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/audio/audio-concatenator.ts); verified source file.

- `@lssm-tech/lib.voice/audio/duration-estimator` — subpath `./audio/duration-estimator`
  - `unconditional`: `./src/audio/duration-estimator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/audio/duration-estimator.ts); verified source file.

- `@lssm-tech/lib.voice/audio/format-converter` — subpath `./audio/format-converter`
  - `unconditional`: `./src/audio/format-converter.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/audio/format-converter.ts); verified source file.

- `@lssm-tech/lib.voice/audio/silence-generator` — subpath `./audio/silence-generator`
  - `unconditional`: `./src/audio/silence-generator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/audio/silence-generator.ts); verified source file.

- `@lssm-tech/lib.voice/conversational` — subpath `./conversational`
  - `unconditional`: `./src/conversational/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/index.ts); verified source file.

- `@lssm-tech/lib.voice/conversational/response-orchestrator` — subpath `./conversational/response-orchestrator`
  - `unconditional`: `./src/conversational/response-orchestrator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/response-orchestrator.ts); verified source file.

- `@lssm-tech/lib.voice/conversational/transcript-builder` — subpath `./conversational/transcript-builder`
  - `unconditional`: `./src/conversational/transcript-builder.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/transcript-builder.ts); verified source file.

- `@lssm-tech/lib.voice/conversational/turn-detector` — subpath `./conversational/turn-detector`
  - `unconditional`: `./src/conversational/turn-detector.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/turn-detector.ts); verified source file.

- `@lssm-tech/lib.voice/conversational/types` — subpath `./conversational/types`
  - `unconditional`: `./src/conversational/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/types.ts); verified source file.

- `@lssm-tech/lib.voice/conversational/voice-session-manager` — subpath `./conversational/voice-session-manager`
  - `unconditional`: `./src/conversational/voice-session-manager.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/conversational/voice-session-manager.ts); verified source file.

- `@lssm-tech/lib.voice/docs/conversational.docblock` — subpath `./docs/conversational.docblock`
  - `unconditional`: `./src/docs/conversational.docblock.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/docs/conversational.docblock.ts); verified source file.

- `@lssm-tech/lib.voice/docs/stt.docblock` — subpath `./docs/stt.docblock`
  - `unconditional`: `./src/docs/stt.docblock.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/docs/stt.docblock.ts); verified source file.

- `@lssm-tech/lib.voice/docs/sync.docblock` — subpath `./docs/sync.docblock`
  - `unconditional`: `./src/docs/sync.docblock.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/docs/sync.docblock.ts); verified source file.

- `@lssm-tech/lib.voice/docs/tts.docblock` — subpath `./docs/tts.docblock`
  - `unconditional`: `./src/docs/tts.docblock.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/docs/tts.docblock.ts); verified source file.

- `@lssm-tech/lib.voice/docs/voice.docblock` — subpath `./docs/voice.docblock`
  - `unconditional`: `./src/docs/voice.docblock.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/docs/voice.docblock.ts); verified source file.

- `@lssm-tech/lib.voice/i18n` — subpath `./i18n`
  - `unconditional`: `./src/i18n/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/index.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/catalogs` — subpath `./i18n/catalogs`
  - `unconditional`: `./src/i18n/catalogs/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/catalogs/index.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/catalogs/en` — subpath `./i18n/catalogs/en`
  - `unconditional`: `./src/i18n/catalogs/en.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/catalogs/en.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/catalogs/es` — subpath `./i18n/catalogs/es`
  - `unconditional`: `./src/i18n/catalogs/es.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/catalogs/es.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/catalogs/fr` — subpath `./i18n/catalogs/fr`
  - `unconditional`: `./src/i18n/catalogs/fr.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/catalogs/fr.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/keys` — subpath `./i18n/keys`
  - `unconditional`: `./src/i18n/keys.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/keys.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/locale` — subpath `./i18n/locale`
  - `unconditional`: `./src/i18n/locale.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/locale.ts); verified source file.

- `@lssm-tech/lib.voice/i18n/messages` — subpath `./i18n/messages`
  - `unconditional`: `./src/i18n/messages.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/i18n/messages.ts); verified source file.

- `@lssm-tech/lib.voice/stt` — subpath `./stt`
  - `unconditional`: `./src/stt/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/index.ts); verified source file.

- `@lssm-tech/lib.voice/stt/diarization-mapper` — subpath `./stt/diarization-mapper`
  - `unconditional`: `./src/stt/diarization-mapper.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/diarization-mapper.ts); verified source file.

- `@lssm-tech/lib.voice/stt/segment-splitter` — subpath `./stt/segment-splitter`
  - `unconditional`: `./src/stt/segment-splitter.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/segment-splitter.ts); verified source file.

- `@lssm-tech/lib.voice/stt/session` — subpath `./stt/session`
  - `unconditional`: `./src/stt/session.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/session.ts); verified source file.

- `@lssm-tech/lib.voice/stt/subtitle-formatter` — subpath `./stt/subtitle-formatter`
  - `unconditional`: `./src/stt/subtitle-formatter.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/subtitle-formatter.ts); verified source file.

- `@lssm-tech/lib.voice/stt/transcriber` — subpath `./stt/transcriber`
  - `unconditional`: `./src/stt/transcriber.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/transcriber.ts); verified source file.

- `@lssm-tech/lib.voice/stt/transcript-turn` — subpath `./stt/transcript-turn`
  - `unconditional`: `./src/stt/transcript-turn.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/transcript-turn.ts); verified source file.

- `@lssm-tech/lib.voice/stt/types` — subpath `./stt/types`
  - `unconditional`: `./src/stt/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/stt/types.ts); verified source file.

- `@lssm-tech/lib.voice/sync` — subpath `./sync`
  - `unconditional`: `./src/sync/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/sync/index.ts); verified source file.

- `@lssm-tech/lib.voice/sync/duration-negotiator` — subpath `./sync/duration-negotiator`
  - `unconditional`: `./src/sync/duration-negotiator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/sync/duration-negotiator.ts); verified source file.

- `@lssm-tech/lib.voice/sync/scene-adapter` — subpath `./sync/scene-adapter`
  - `unconditional`: `./src/sync/scene-adapter.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/sync/scene-adapter.ts); verified source file.

- `@lssm-tech/lib.voice/sync/timing-calculator` — subpath `./sync/timing-calculator`
  - `unconditional`: `./src/sync/timing-calculator.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/sync/timing-calculator.ts); verified source file.

- `@lssm-tech/lib.voice/tts` — subpath `./tts`
  - `unconditional`: `./src/tts/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/index.ts); verified source file.

- `@lssm-tech/lib.voice/tts/audio-assembler` — subpath `./tts/audio-assembler`
  - `unconditional`: `./src/tts/audio-assembler.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/audio-assembler.ts); verified source file.

- `@lssm-tech/lib.voice/tts/emphasis-planner` — subpath `./tts/emphasis-planner`
  - `unconditional`: `./src/tts/emphasis-planner.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/emphasis-planner.ts); verified source file.

- `@lssm-tech/lib.voice/tts/pace-analyzer` — subpath `./tts/pace-analyzer`
  - `unconditional`: `./src/tts/pace-analyzer.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/pace-analyzer.ts); verified source file.

- `@lssm-tech/lib.voice/tts/segment-synthesizer` — subpath `./tts/segment-synthesizer`
  - `unconditional`: `./src/tts/segment-synthesizer.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/segment-synthesizer.ts); verified source file.

- `@lssm-tech/lib.voice/tts/types` — subpath `./tts/types`
  - `unconditional`: `./src/tts/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/types.ts); verified source file.

- `@lssm-tech/lib.voice/tts/voice-synthesizer` — subpath `./tts/voice-synthesizer`
  - `unconditional`: `./src/tts/voice-synthesizer.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/tts/voice-synthesizer.ts); verified source file.

- `@lssm-tech/lib.voice/types` — subpath `./types`
  - `unconditional`: `./src/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/types.ts); verified source file.

- `@lssm-tech/lib.voice/voice.feature` — subpath `./voice.feature`
  - `unconditional`: `./src/voice.feature.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/platform/agents/voice/src/voice.feature.ts); verified source file.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "README.md"
  ],
  "publishExports": {
    ".": {
      "types": "./dist/index.d.ts",
      "browser": "./dist/browser/index.js",
      "bun": "./dist/index.js",
      "node": "./dist/node/index.js",
      "default": "./dist/index.js"
    },
    "./audio": {
      "types": "./dist/audio/index.d.ts",
      "browser": "./dist/browser/audio/index.js",
      "bun": "./dist/audio/index.js",
      "node": "./dist/node/audio/index.js",
      "default": "./dist/audio/index.js"
    },
    "./audio/audio-concatenator": {
      "types": "./dist/audio/audio-concatenator.d.ts",
      "browser": "./dist/browser/audio/audio-concatenator.js",
      "bun": "./dist/audio/audio-concatenator.js",
      "node": "./dist/node/audio/audio-concatenator.js",
      "default": "./dist/audio/audio-concatenator.js"
    },
    "./audio/duration-estimator": {
      "types": "./dist/audio/duration-estimator.d.ts",
      "browser": "./dist/browser/audio/duration-estimator.js",
      "bun": "./dist/audio/duration-estimator.js",
      "node": "./dist/node/audio/duration-estimator.js",
      "default": "./dist/audio/duration-estimator.js"
    },
    "./audio/format-converter": {
      "types": "./dist/audio/format-converter.d.ts",
      "browser": "./dist/browser/audio/format-converter.js",
      "bun": "./dist/audio/format-converter.js",
      "node": "./dist/node/audio/format-converter.js",
      "default": "./dist/audio/format-converter.js"
    },
    "./audio/silence-generator": {
      "types": "./dist/audio/silence-generator.d.ts",
      "browser": "./dist/browser/audio/silence-generator.js",
      "bun": "./dist/audio/silence-generator.js",
      "node": "./dist/node/audio/silence-generator.js",
      "default": "./dist/audio/silence-generator.js"
    },
    "./conversational": {
      "types": "./dist/conversational/index.d.ts",
      "browser": "./dist/browser/conversational/index.js",
      "bun": "./dist/conversational/index.js",
      "node": "./dist/node/conversational/index.js",
      "default": "./dist/conversational/index.js"
    },
    "./conversational/response-orchestrator": {
      "types": "./dist/conversational/response-orchestrator.d.ts",
      "browser": "./dist/browser/conversational/response-orchestrator.js",
      "bun": "./dist/conversational/response-orchestrator.js",
      "node": "./dist/node/conversational/response-orchestrator.js",
      "default": "./dist/conversational/response-orchestrator.js"
    },
    "./conversational/transcript-builder": {
      "types": "./dist/conversational/transcript-builder.d.ts",
      "browser": "./dist/browser/conversational/transcript-builder.js",
      "bun": "./dist/conversational/transcript-builder.js",
      "node": "./dist/node/conversational/transcript-builder.js",
      "default": "./dist/conversational/transcript-builder.js"
    },
    "./conversational/turn-detector": {
      "types": "./dist/conversational/turn-detector.d.ts",
      "browser": "./dist/browser/conversational/turn-detector.js",
      "bun": "./dist/conversational/turn-detector.js",
      "node": "./dist/node/conversational/turn-detector.js",
      "default": "./dist/conversational/turn-detector.js"
    },
    "./conversational/types": {
      "types": "./dist/conversational/types.d.ts",
      "browser": "./dist/browser/conversational/types.js",
      "bun": "./dist/conversational/types.js",
      "node": "./dist/node/conversational/types.js",
      "default": "./dist/conversational/types.js"
    },
    "./conversational/voice-session-manager": {
      "types": "./dist/conversational/voice-session-manager.d.ts",
      "browser": "./dist/browser/conversational/voice-session-manager.js",
      "bun": "./dist/conversational/voice-session-manager.js",
      "node": "./dist/node/conversational/voice-session-manager.js",
      "default": "./dist/conversational/voice-session-manager.js"
    },
    "./docs/conversational.docblock": {
      "types": "./dist/docs/conversational.docblock.d.ts",
      "browser": "./dist/browser/docs/conversational.docblock.js",
      "bun": "./dist/docs/conversational.docblock.js",
      "node": "./dist/node/docs/conversational.docblock.js",
      "default": "./dist/docs/conversational.docblock.js"
    },
    "./docs/stt.docblock": {
      "types": "./dist/docs/stt.docblock.d.ts",
      "browser": "./dist/browser/docs/stt.docblock.js",
      "bun": "./dist/docs/stt.docblock.js",
      "node": "./dist/node/docs/stt.docblock.js",
      "default": "./dist/docs/stt.docblock.js"
    },
    "./docs/sync.docblock": {
      "types": "./dist/docs/sync.docblock.d.ts",
      "browser": "./dist/browser/docs/sync.docblock.js",
      "bun": "./dist/docs/sync.docblock.js",
      "node": "./dist/node/docs/sync.docblock.js",
      "default": "./dist/docs/sync.docblock.js"
    },
    "./docs/tts.docblock": {
      "types": "./dist/docs/tts.docblock.d.ts",
      "browser": "./dist/browser/docs/tts.docblock.js",
      "bun": "./dist/docs/tts.docblock.js",
      "node": "./dist/node/docs/tts.docblock.js",
      "default": "./dist/docs/tts.docblock.js"
    },
    "./docs/voice.docblock": {
      "types": "./dist/docs/voice.docblock.d.ts",
      "browser": "./dist/browser/docs/voice.docblock.js",
      "bun": "./dist/docs/voice.docblock.js",
      "node": "./dist/node/docs/voice.docblock.js",
      "default": "./dist/docs/voice.docblock.js"
    },
    "./i18n": {
      "types": "./dist/i18n/index.d.ts",
      "browser": "./dist/browser/i18n/index.js",
      "bun": "./dist/i18n/index.js",
      "node": "./dist/node/i18n/index.js",
      "default": "./dist/i18n/index.js"
    },
    "./i18n/catalogs": {
      "types": "./dist/i18n/catalogs/index.d.ts",
      "browser": "./dist/browser/i18n/catalogs/index.js",
      "bun": "./dist/i18n/catalogs/index.js",
      "node": "./dist/node/i18n/catalogs/index.js",
      "default": "./dist/i18n/catalogs/index.js"
    },
    "./i18n/catalogs/en": {
      "types": "./dist/i18n/catalogs/en.d.ts",
      "browser": "./dist/browser/i18n/catalogs/en.js",
      "bun": "./dist/i18n/catalogs/en.js",
      "node": "./dist/node/i18n/catalogs/en.js",
      "default": "./dist/i18n/catalogs/en.js"
    },
    "./i18n/catalogs/es": {
      "types": "./dist/i18n/catalogs/es.d.ts",
      "browser": "./dist/browser/i18n/catalogs/es.js",
      "bun": "./dist/i18n/catalogs/es.js",
      "node": "./dist/node/i18n/catalogs/es.js",
      "default": "./dist/i18n/catalogs/es.js"
    },
    "./i18n/catalogs/fr": {
      "types": "./dist/i18n/catalogs/fr.d.ts",
      "browser": "./dist/browser/i18n/catalogs/fr.js",
      "bun": "./dist/i18n/catalogs/fr.js",
      "node": "./dist/node/i18n/catalogs/fr.js",
      "default": "./dist/i18n/catalogs/fr.js"
    },
    "./i18n/keys": {
      "types": "./dist/i18n/keys.d.ts",
      "browser": "./dist/browser/i18n/keys.js",
      "bun": "./dist/i18n/keys.js",
      "node": "./dist/node/i18n/keys.js",
      "default": "./dist/i18n/keys.js"
    },
    "./i18n/locale": {
      "types": "./dist/i18n/locale.d.ts",
      "browser": "./dist/browser/i18n/locale.js",
      "bun": "./dist/i18n/locale.js",
      "node": "./dist/node/i18n/locale.js",
      "default": "./dist/i18n/locale.js"
    },
    "./i18n/messages": {
      "types": "./dist/i18n/messages.d.ts",
      "browser": "./dist/browser/i18n/messages.js",
      "bun": "./dist/i18n/messages.js",
      "node": "./dist/node/i18n/messages.js",
      "default": "./dist/i18n/messages.js"
    },
    "./stt": {
      "types": "./dist/stt/index.d.ts",
      "browser": "./dist/browser/stt/index.js",
      "bun": "./dist/stt/index.js",
      "node": "./dist/node/stt/index.js",
      "default": "./dist/stt/index.js"
    },
    "./stt/diarization-mapper": {
      "types": "./dist/stt/diarization-mapper.d.ts",
      "browser": "./dist/browser/stt/diarization-mapper.js",
      "bun": "./dist/stt/diarization-mapper.js",
      "node": "./dist/node/stt/diarization-mapper.js",
      "default": "./dist/stt/diarization-mapper.js"
    },
    "./stt/segment-splitter": {
      "types": "./dist/stt/segment-splitter.d.ts",
      "browser": "./dist/browser/stt/segment-splitter.js",
      "bun": "./dist/stt/segment-splitter.js",
      "node": "./dist/node/stt/segment-splitter.js",
      "default": "./dist/stt/segment-splitter.js"
    },
    "./stt/session": {
      "types": "./dist/stt/session.d.ts",
      "browser": "./dist/browser/stt/session.js",
      "bun": "./dist/stt/session.js",
      "node": "./dist/node/stt/session.js",
      "default": "./dist/stt/session.js"
    },
    "./stt/subtitle-formatter": {
      "types": "./dist/stt/subtitle-formatter.d.ts",
      "browser": "./dist/browser/stt/subtitle-formatter.js",
      "bun": "./dist/stt/subtitle-formatter.js",
      "node": "./dist/node/stt/subtitle-formatter.js",
      "default": "./dist/stt/subtitle-formatter.js"
    },
    "./stt/transcriber": {
      "types": "./dist/stt/transcriber.d.ts",
      "browser": "./dist/browser/stt/transcriber.js",
      "bun": "./dist/stt/transcriber.js",
      "node": "./dist/node/stt/transcriber.js",
      "default": "./dist/stt/transcriber.js"
    },
    "./stt/transcript-turn": {
      "types": "./dist/stt/transcript-turn.d.ts",
      "browser": "./dist/browser/stt/transcript-turn.js",
      "bun": "./dist/stt/transcript-turn.js",
      "node": "./dist/node/stt/transcript-turn.js",
      "default": "./dist/stt/transcript-turn.js"
    },
    "./stt/types": {
      "types": "./dist/stt/types.d.ts",
      "browser": "./dist/browser/stt/types.js",
      "bun": "./dist/stt/types.js",
      "node": "./dist/node/stt/types.js",
      "default": "./dist/stt/types.js"
    },
    "./sync": {
      "types": "./dist/sync/index.d.ts",
      "browser": "./dist/browser/sync/index.js",
      "bun": "./dist/sync/index.js",
      "node": "./dist/node/sync/index.js",
      "default": "./dist/sync/index.js"
    },
    "./sync/duration-negotiator": {
      "types": "./dist/sync/duration-negotiator.d.ts",
      "browser": "./dist/browser/sync/duration-negotiator.js",
      "bun": "./dist/sync/duration-negotiator.js",
      "node": "./dist/node/sync/duration-negotiator.js",
      "default": "./dist/sync/duration-negotiator.js"
    },
    "./sync/scene-adapter": {
      "types": "./dist/sync/scene-adapter.d.ts",
      "browser": "./dist/browser/sync/scene-adapter.js",
      "bun": "./dist/sync/scene-adapter.js",
      "node": "./dist/node/sync/scene-adapter.js",
      "default": "./dist/sync/scene-adapter.js"
    },
    "./sync/timing-calculator": {
      "types": "./dist/sync/timing-calculator.d.ts",
      "browser": "./dist/browser/sync/timing-calculator.js",
      "bun": "./dist/sync/timing-calculator.js",
      "node": "./dist/node/sync/timing-calculator.js",
      "default": "./dist/sync/timing-calculator.js"
    },
    "./tts": {
      "types": "./dist/tts/index.d.ts",
      "browser": "./dist/browser/tts/index.js",
      "bun": "./dist/tts/index.js",
      "node": "./dist/node/tts/index.js",
      "default": "./dist/tts/index.js"
    },
    "./tts/audio-assembler": {
      "types": "./dist/tts/audio-assembler.d.ts",
      "browser": "./dist/browser/tts/audio-assembler.js",
      "bun": "./dist/tts/audio-assembler.js",
      "node": "./dist/node/tts/audio-assembler.js",
      "default": "./dist/tts/audio-assembler.js"
    },
    "./tts/emphasis-planner": {
      "types": "./dist/tts/emphasis-planner.d.ts",
      "browser": "./dist/browser/tts/emphasis-planner.js",
      "bun": "./dist/tts/emphasis-planner.js",
      "node": "./dist/node/tts/emphasis-planner.js",
      "default": "./dist/tts/emphasis-planner.js"
    },
    "./tts/pace-analyzer": {
      "types": "./dist/tts/pace-analyzer.d.ts",
      "browser": "./dist/browser/tts/pace-analyzer.js",
      "bun": "./dist/tts/pace-analyzer.js",
      "node": "./dist/node/tts/pace-analyzer.js",
      "default": "./dist/tts/pace-analyzer.js"
    },
    "./tts/segment-synthesizer": {
      "types": "./dist/tts/segment-synthesizer.d.ts",
      "browser": "./dist/browser/tts/segment-synthesizer.js",
      "bun": "./dist/tts/segment-synthesizer.js",
      "node": "./dist/node/tts/segment-synthesizer.js",
      "default": "./dist/tts/segment-synthesizer.js"
    },
    "./tts/types": {
      "types": "./dist/tts/types.d.ts",
      "browser": "./dist/browser/tts/types.js",
      "bun": "./dist/tts/types.js",
      "node": "./dist/node/tts/types.js",
      "default": "./dist/tts/types.js"
    },
    "./tts/voice-synthesizer": {
      "types": "./dist/tts/voice-synthesizer.d.ts",
      "browser": "./dist/browser/tts/voice-synthesizer.js",
      "bun": "./dist/tts/voice-synthesizer.js",
      "node": "./dist/node/tts/voice-synthesizer.js",
      "default": "./dist/tts/voice-synthesizer.js"
    },
    "./types": {
      "types": "./dist/types.d.ts",
      "browser": "./dist/browser/types.js",
      "bun": "./dist/types.js",
      "node": "./dist/node/types.js",
      "default": "./dist/types.js"
    },
    "./voice.feature": {
      "types": "./dist/voice.feature.d.ts",
      "browser": "./dist/browser/voice.feature.js",
      "bun": "./dist/voice.feature.js",
      "node": "./dist/node/voice.feature.js",
      "default": "./dist/voice.feature.js"
    }
  }
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- [@lssm-tech/lib.ai-providers](https://lssm.co/docs/packages/lib.ai-providers/): `workspace:^`
- [@lssm-tech/lib.contracts-integrations](https://lssm.co/docs/packages/lib.contracts-integrations/): `workspace:^`
- [@lssm-tech/lib.contracts-spec-core](https://lssm.co/docs/packages/lib.contracts-spec-core/): `workspace:^`
- [@lssm-tech/lib.crypto-utils](https://lssm.co/docs/packages/lib.crypto-utils/): `workspace:^`
- [@lssm-tech/lib.translation-runtime](https://lssm.co/docs/packages/lib.translation-runtime/): `workspace:^`

### Peer dependencies

No declarations in the inspected manifest.

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/tool.bun](https://lssm.co/docs/packages/tool.bun/): `workspace:*`
- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `typescript`: `catalog:`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
  "publish:pkg:canary": "bun publish:pkg --tag canary",
  "build": "contractspec-bun-build build",
  "build:bundle": "contractspec-bun-build transpile",
  "build:types": "contractspec-bun-build types",
  "dev": "contractspec-bun-build dev",
  "clean": "rimraf dist .turbo",
  "lint": "bun lint:fix",
  "lint:fix": "node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .",
  "lint:check": "node ../../../../scripts/biome.cjs check .",
  "test": "bun test --pass-with-no-tests",
  "prebuild": "contractspec-bun-build prebuild",
  "typecheck": "tsgo --noEmit"
}
```

## Declared documentation links

- [Lib Voice documentation](https://www.npmjs.com/package/%40lssm-tech%2Flib.voice) — declared link; destination not verified.

```json
{
  "url": "https://www.npmjs.com/package/%40lssm-tech%2Flib.voice",
  "kind": "readme"
}
```

## Existing agent-guide projection

```json
{
  "path": "packages/apps/web-landing/public/llms-packages/lib.voice.txt",
  "route": "/llms/lib.voice",
  "sourceUrl": "https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.voice.txt",
  "blobSha": "9c236b7510c2c3986925971b44272f7c6735e7ee",
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "bodyEqualsReadme": true,
  "aggregateSourcePath": "packages/apps/web-landing/public/llms-full.txt",
  "aggregateBlobSha": "691b1d33efee24c440598b9106c81432f56aafaf"
}
```
