# CR: `@x12i/api-simulator` — declarative endpoint packs (JSON/YAML)

**Status:** Shipped in **1.3.0** (`@x12i/api-simulator/packs` — JSON native, YAML via `parseYaml`, handler registry)  
**Package:** `@x12i/api-simulator` **1.0.0+**  
**Consumers:** neo-tools large vendor surfaces (Cortex, Graph, Falcon, Splunk)

## Problem

Endpoint definitions must be authored in TypeScript. Large vendor surfaces and non-engineer fixture authors benefit from JSON/YAML packs (similar to how neo-tools historically stored `mock/**/*.fixtures.json`).

## Goals

1. Load `SimulatorDefinition` (or per-API packs) from JSON/YAML files.
2. Validation errors name file + endpoint id.
3. Keep `simulation` handlers as code references (e.g. handler id → registry), since functions cannot live in JSON.

## Non-goals

- Replacing TypeScript definitions as the primary supported model
- OpenAPI import in v1 of this CR (can be a follow-up)

## Acceptance

- `createApiSimulatorFromFile(path)` or `loadSimulatorDefinition(path)` documented
- Simulation handler resolution via a provided registry map
- neo-tools can migrate large packs without inventing a parallel loader
