Skip to content

v0.1.0

Choose a tag to compare

@AndyFooBlah AndyFooBlah released this 21 Jul 18:25
· 42 commits to main since this release

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 a TimeContext (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:00Z for 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 nl2timehttps://www.npmjs.com/package/nl2time