helix-query-typescript
Helix Query Authoring — TypeScript
Write Helix TypeScript DSL queries in a way that is schema-aware, explicit, and easy for agents to reason about. The TypeScript builder (@helix-db/helix-db) produces the same JSON AST as the Rust DSL; the compatibility target is structural JSON equality with Rust serde output.
This is the preferred way to author Helix queries in a TypeScript codebase — type-checked, and it emits the dynamic-request JSON for you. Drop to raw dynamic JSON (helix-query-json-dynamic) only for debugging or dynamically-shaped requests.
When To Use
Use this skill when the task is to:
- write a new Helix query in TypeScript
- revise an existing TypeScript query function
- produce a dynamic
POST /v1/queryrequest from TypeScript (toDynamicJson/toDynamicRequest) - send a request to a running Helix instance with the built-in
Client(client.query().dynamic(req).send()) - generate a query bundle (
defineQueries(...).generate("queries.json")) - add traversal, projection, pagination, BM25 search, or vector search to an existing query
- migrate a Rust DSL query (
#[register],read_batch(), …) to TypeScript
Do not use this skill for inline JSON AST hand-authoring — for the wire format and serde rules that govern what these builders emit, use helix-query-json-dynamic. For the Rust DSL, use helix-query-rust.