kestrel.markets
Version:
A typed, token-efficient language + runtime for agentic trading: agents author bounded plans, the runtime fires them at the tick. CLI + typed library + MCP server.
25 lines (23 loc) • 1.27 kB
text/typescript
/**
* # lang — the DSL core: the typed object model, the canonical printer, and builders
*
* The typed TS object model IS the language (ADR-0004); text is a projection of it. This
* barrel re-exports the three surfaces of that model:
*
* - {@link ./ast.ts} — the discriminated-union node family for all four statement kinds
* (View / Wake / Plan / Grade), the org nodes (Pod / Book), and the shared lexical core
* (Trigger algebra, Series references, Price expressions).
* - {@link ./print.ts} — `print(node)`, the canonical printer (objects -> byte-stable
* text), fail-closed.
* - {@link ./parse.ts} — `parse(text)` / `parseMarkdown(text)`, the inverse projection
* (text -> objects), fail-closed with `line`/`col` on every error.
* - {@link ./builders.ts} — the ergonomic programmatic authoring surface.
*
* This barrel is the ONLY import surface other `src/` modules may use for the language.
* `parse ∘ print` and `print ∘ parse` are inverse projections with a byte-stable canonical
* form (ADR-0004).
*/
export type * from "./ast.ts";
export { print, assertNever, planClause, printTrigger, budgetStr } from "./print.ts";
export { parse, parseMarkdown, KestrelParseError } from "./parse.ts";
export * as b from "./builders.ts";