v0.1.0
First release: bidirectional natural language ⇄ date/time around a deterministic JSON IR.
- NL → time: English parser (dates, times, ranges, durations, holidays, weekends, business days) emitting
TimeExpr; deterministic resolution against aTimeContext(injectable now, IANA timezone, locale with CLDR week-start/date-order defaults, ambiguity policy knobs). Ambiguity returns ordered candidates, never guesses. - Time → NL:
describe()chooses framing (calendar/elapsed/absolute) and renders via Intl —2026-07-20T04:00Zfor a Pacific user on Jul 20 is "9pm last night". Round-trip invariant property-tested. - LLM adapter (
nl2time/llm): schema-constrained IR emission only — the model never computes dates. - Corpus (
nl2time/corpus+corpus/): bidirectional golden sets (100% passing) plus 693 cases imported from Microsoft Recognizers-Text (MIT), 80.7% passing as a CI-gated baseline.
Install: npm install nl2time — https://www.npmjs.com/package/nl2time