# Meditation Experience NFT Service

This module bundles guided meditations into mint-ready NFT artifacts. It
coordinates session composition, script generation, audio rendering, storage,
metadata, and minting.

## Pipeline

1. **Sequence composer** – selects breathwork/visualization/integration
   segments.
2. **Script generator** – produces facilitator dialogue, mantras, and cadence
   cues.
3. **Audio renderer** – builds the soundscape using the plan + script.
4. **Bundle storage** – uploads audio/script payloads to IPFS or similar.
5. **Metadata builder** – emits ERC-721 metadata referencing stored assets.
6. **Minter** – submits metadata to the chain-specific mint adapter.

All collaborators are injected, enabling model swaps and deterministic tests.

## Usage

```ts
import { createMeditationExperienceService } from './service';

const service = createMeditationExperienceService({
  sequenceComposer,
  scriptGenerator,
  audioRenderer,
  storage,
  metadataBuilder,
  minter,
});

const minted = await service.mintExperience({
  intention: 'Release fear',
  tradition: 'Mystic',
  experienceTitle: 'Obsidian Garden Descent',
  preferredDurationMinutes: 20,
  guidanceLevel: 'intermediate',
  seekerName: 'Zia',
});
```

## Tests

```bash
npx jest --config apps/lilith/svc-meditation-experience/jest.config.cjs --runInBand
```
