# FR: `@x12i/api-simulator` — absolute URL / baseUrl-aware dispatch

**Status:** Shipped in **1.3.0** (`dispatch` / `tryDispatch` accept `url` and `{ baseUrl, path }`)  
**Package:** `@x12i/api-simulator` **1.0.0+**  
**Consumers:** neo-tools workers (Cortex XDR, Nessus, Entra Graph, Splunk, CrowdStrike, firewall, Credorix)

## Problem

Worker HTTP clients build **absolute URLs** (`new URL(path, credential.baseUrl)` / `fetch(fullUrl)`).  
`dispatch()` today accepts **path-only** matching (`method` + `path`). Every consumer must hand-strip the host/origin before calling the simulator.

## Goals

1. Accept absolute URLs in `dispatch` / `tryDispatch` (parse pathname + query).
2. Optionally accept `{ baseUrl, path }` and resolve consistently with path params.
3. Document how multi-API `basePath` interacts with absolute URLs.

## Non-goals

- Full reverse-proxy / passthrough to live backends
- Host-based routing across unrelated simulators (can stay multi-API `basePath`)

## Proposed API (sketch)

```ts
await simulator.dispatch({
  method: "POST",
  url: "https://api.xdr.example/public_api/v1/healthcheck",
});
// equivalent to path: "/public_api/v1/healthcheck"
```

## Acceptance

- Absolute `http(s)://` URLs extract path + query for matching
- Invalid / unmatched absolute URLs throw the same `EndpointNotFoundError` as path-only
- Types and README updated
