Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 5 Nov 2026. What's built · Install 0.3.0
jadpo
ReferenceErrors

ErrorsHTTP · rule

route.query_field_unsupported

Query-string input field is not a scalar, an enum or a list of them.

Area 7, HTTP; not declinable; the next step is usually the agent's.

A GET or DELETE reads its input from the query string, which holds scalars, enums and lists of them (an amount of money, a quantity and a ZonedTime, which JSON sends as objects, are objects here too):

example
type Memo = Text {    max_length: 200}type MemoId = Uuid {}type AddMemo = Input {    text: Memo}type MemoView = Output {    text: Memo}action add_memo(input: AddMemo) -> MemoView {    return MemoView {        text: input.text    }}type ForgetMemos = Input {    tags: Map<Memo, Memo>}action forget_memos(input: ForgetMemos) -> MemoView {    return MemoView {        text: "forgotten"    }}routes Memos {    prefix: /memos    DELETE / {        input: ForgetMemos        output: MemoView        run: forget_memos(input)    }}
jadpo checkcheck failed: 1 error, 1 file

error ForgetMemos.tags can't come in a query string

--> main.jadpo:35:16

   |35 |         input: ForgetMemos   |                ^^^^^^^^^^^ `tags` is `Map<Memo, Memo>`
reason
A DELETE route reads its input from the query string, which holds scalars, enums and lists of them (?status=open&status=done); nested objects and maps need a body.
next
Give tags a scalar type, or take this input on a POST (agent)
rule
route.query_field_unsupported
help
https://jadpo.dev/docs/errors/route.query_field_unsupported

Markdown for agents: /docs/errors/route.query_field_unsupported.md.Built from Jadpo main at aee2e8f.