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

TaskConfigureGuide
Recognize goals and constraintsexecutor, optionally languageQuick start
Extract an order IDschema and request fieldsField example
Supply previous materialRequest context/baseline, not a new instance session settingMulti-turn
Reuse the current Codex modelhost configuration, no executorCodex
Detailed evidence, suggestions, or semantic labelsdefaultOutput/output; labels also require extensionSchemaOutput options

Default limits and timeoutMs are suitable starting points. They are not mandatory onboarding settings or substitutes for client connection configuration.

IntentConfig

PathType / requiredDefaultPurpose and rules
languagestring / noenBCP 47 tag for explanatory text; does not translate code, IDs, or configured action identifiers
executorModelExecutor / Native and executor modenoneExplicit model source; host mode does not call it; no default provider
schemaIntentSchema / when selecting business fieldsnoneschema-dsl@3.0.4 Builder or supported JSON Schema
extensionSchemaIntentSchema / nononeAdditional semantic labels; top-level names must not overlap business fields
semanticsBusinessSemantics / nononeDomain, terms, actions, examples and counterexamples; not an executable capability list
timeoutMsnonnegative safe integer / no00 adds no deadline; positive values cover generation, validation, and host waiting; maximum 2147483647 ms
defaultOutputIntentOutputOptions / noall falseRequest output overrides individual keys rather than replacing the whole object
limitsPartial<IntentLimits> / nobelowPositive safe-integer capacity/work limits; MCP arguments cannot change them

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.

PathType / requiredRule
domainstring / noDomain name
descriptionstring / noBusiness description
termsarray / noNonempty name and meaning; optional aliases string array
actionsarray / noNonempty name and meaning; optional examples/counterExamples string arrays
Full nested pathType / requiredDefaultPurpose
semantics.terms[].namenonempty string / yesnoneTerm name
semantics.terms[].meaningnonempty string / yesnoneBusiness meaning
semantics.terms[].aliasesstring[] / noomittedAliases; do not add user facts
semantics.actions[].namenonempty string / yesnoneAction identifier retained on an explicit match
semantics.actions[].meaningnonempty string / yesnoneAction meaning
semantics.actions[].examplesstring[] / noomittedPositive examples
semantics.actions[].counterExamplesstring[] / noomittedCounterexamples distinguish easily confused actions

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.

PathType / defaultEnabledDisabled
suggestionsboolean / falseClarification/improvement suggestions, [] when noneNo additional suggestions section
evidenceboolean / falseDetailed sources, [] when noneNecessary sources, issues, and inferences remain
diagnosticsboolean / falsedurationMs/modelCallCountNo diagnostics section
extensionsboolean / falseExtract all top-level extensionSchema labelsNo new labels; old extension invalidation still applies

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.

PathDefaultMeasured scope
maxInputBytes65536UTF-8 bytes of original input
maxContextBytes1048576Context JSON
maxBaselineBytes1048576baseline JSON
maxSchemaBytes262144Each business/extension Schema
maxRequestBytes3145728Static material plus the entire logical request, not only separate component checks
maxOutputBytes1048576Candidate text, HostTask, and final result checked separately
maxDepth64JSON root container at depth 0
maxConcurrentParses8Active Native/host recognition and unfinished underlying calls per Intent
maxValidationChecks256Business validation calls per recognition; host correction does not reset the budget

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.