Skip to content

Diagnostics

Axint diagnostics follow a three-letter prefix (AX) and a three-digit code. The first digit identifies the stage:

  • AX0xx — parser (TypeScript AST)
  • AX1xx — IR validator
  • AX2xx — Swift validator
  • AXPxxx — Python parser (axint SDK)

Parser diagnostics (AX0xx)

CodeSeverityWhat it means
AX001errorTypeScript source failed to parse
AX002errorCouldn’t find a top-level defineIntent() call
AX003errordefineIntent() argument is not an object literal
AX004errorRequired field missing from defineIntent()
AX005errorField value is not a string / boolean / array literal
AX006errorparams must be an object literal
AX007errorParameter value must be a param.*() call
AX008errorMissing description argument to param.*()

IR validator diagnostics (AX1xx)

CodeSeverityWhat it means
AX100errorname must be a valid Swift identifier ending in “Intent”
AX101errordomain is not a recognized App Intent domain
AX102warningdescription is over 200 characters
AX103warningParameter name isn’t a valid Swift identifier
AX104errorUnknown parameter type
AX105errordefault is required when optional: false and no fallback is provided
AX106warningParameter count is over Apple’s recommended 8
AX107errorDuplicate parameter name
AX108warningMalformed entitlement identifier (expected reverse-DNS)
AX109warningNon-standard Info.plist key prefix

Swift validator diagnostics (AX2xx)

CodeSeverityWhat it means
AX200errorGenerated Swift failed a structural sanity check
AX201warningGenerated Swift contains an unescaped string that could inject code
AX202errorGenerated Swift line length exceeds 500 chars (likely a bug)

Python parser diagnostics (AXPxxx)

CodeSeverityWhat it means
AXP001errorPython source failed to parse
AXP002errorRequired define_intent() argument missing
AXP003errorparams is not a dict literal
AXP004errorparams key is not a string literal
AXP005errorparams value is not a param.*() call
AXP006errorUnknown param.* type
AXP007errorparam.* description must be a string literal
AXP008errorentitlements / info_plist_keys must be a list of string literals
AXP009errorRequired string field is not a string literal

Suppressing warnings

You can suppress a specific warning code with a comment:

// axint-disable-next-line AX106
params: {
a: param.string("..."), b: param.string("..."), c: param.string("..."),
d: param.string("..."), e: param.string("..."), f: param.string("..."),
g: param.string("..."), h: param.string("..."), i: param.string("..."),
}

Errors can’t be suppressed — fix them.