Configuration reference
Start with the quick start. Use this reference when choosing output options, rules, capacity, or cancellation behavior. See Schema support for the complete rule matrix.
new Intent(config) validates and snapshots configuration. Create a new instance when changing rules; mutating the original object does not update an existing instance. The executor retains caller-owned service connections; the library does not close shared services.
Find configuration by task
Default limits and timeoutMs are suitable starting points. They are not mandatory onboarding settings or substitutes for client connection configuration.
IntentConfig
Configuration and standard request parameters reject unknown keys; context uses your own internal keys. Optional top-level Native properties set to undefined count as omitted; undefined inside context is not JSON. Invalid configuration usually throws at construction; see Errors.
semantics
Rows are relative to semantics. For example, terms[].name means semantics.terms[].name.
Conflicting meanings for the same name produce CONFIG_INVALID. Explicitly matched domain/action names remain as configured regardless of output language. Definitions guide understanding; they do not remove unsupported requests or turn examples into user facts.
Output options
Rows are relative to defaultOutput or request output, for example defaultOutput.evidence and request.output.evidence. Unspecified keys inherit instance defaults.
defaultOutput:{evidence:true} plus output:{} keeps evidence enabled; output:{evidence:false} disables it explicitly. Enabling extensions without extensionSchema produces SCHEMA_NOT_CONFIGURED. Extensions cannot bypass fields to extract operation parameters.
limits
Rows are relative to limits, for example limits.maxValidationChecks. Omitted properties use their respective defaults.
Exceeding a limit produces RESOURCE_LIMIT without silent truncation. A budget is not session expiry. Cancellation may return before an uncooperative executor ends; its slot remains occupied until it actually settles. The library cannot guarantee termination of arbitrary caller code or a model-cost refund.
Other public configuration
- Model API: ApiExecutorConfig, URLs, formats, response-body limits.
- MCP: adapter/service configuration, instances, prefixes, protocols.
- Codex and maintenance: trusted files, environment paths, CLI options and exit codes.
See TypeScript types for complete declarations.