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

ErrorsAI · rule

ai.connection_required

Action asks a model but the application names no ai: connection.

Area 21, AI; not declinable; the next step is usually the agent's.

Every ai call goes through the connection application { ai: } names, so an action that asks a model in an application that names none has nothing to ask through.

example
use support/types { CustomerQuestion, SupportAnswer }use support/failures { AssistantUnavailable }use support/prompts { AnswerQuestion }/// Answers a customer's question.action answer_customer(    customer_question: CustomerQuestion) fails AssistantUnavailable -> SupportAnswer {    return attempt ai.generate(        AnswerQuestion {            question: customer_question        },        as: SupportAnswer    ) {        refused: AssistantUnavailable        malformed: AssistantUnavailable        timed_out: AssistantUnavailable        over_budget: AssistantUnavailable        too_long: AssistantUnavailable    }}
jadpo checkcheck failed: 1 error, 6 files

error ai.generate asks a model, and the application names none

--> domains/support/actions/answer_customer.jadpo:9:20

  |9 |     return attempt ai.generate(  |                    ^^^^^^^^^^^ no `ai:` to ask through
reason
Every ai call goes through the connection application { ai: { connection: } } names, asking a model models: lists, each a ModelId setting, so changing a model or a provider changes app.jadpo and nothing else.
next
Add ai: { connection: <name> models: { default: config.<name> } } to application { } in app.jadpo, naming a connection with driver: Driver.openai_compatible (agent)
rule
ai.connection_required
help
https://jadpo.dev/docs/errors/ai.connection_required

Markdown for agents: /docs/errors/ai.connection_required.md.Built from Jadpo main at aee2e8f.