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 validatorAX2xx— Swift validatorAXPxxx— Python parser (axint SDK)
Parser diagnostics (AX0xx)
| Code | Severity | What it means |
|---|---|---|
AX001 | error | TypeScript source failed to parse |
AX002 | error | Couldn’t find a top-level defineIntent() call |
AX003 | error | defineIntent() argument is not an object literal |
AX004 | error | Required field missing from defineIntent() |
AX005 | error | Field value is not a string / boolean / array literal |
AX006 | error | params must be an object literal |
AX007 | error | Parameter value must be a param.*() call |
AX008 | error | Missing description argument to param.*() |
IR validator diagnostics (AX1xx)
| Code | Severity | What it means |
|---|---|---|
AX100 | error | name must be a valid Swift identifier ending in “Intent” |
AX101 | error | domain is not a recognized App Intent domain |
AX102 | warning | description is over 200 characters |
AX103 | warning | Parameter name isn’t a valid Swift identifier |
AX104 | error | Unknown parameter type |
AX105 | error | default is required when optional: false and no fallback is provided |
AX106 | warning | Parameter count is over Apple’s recommended 8 |
AX107 | error | Duplicate parameter name |
AX108 | warning | Malformed entitlement identifier (expected reverse-DNS) |
AX109 | warning | Non-standard Info.plist key prefix |
Swift validator diagnostics (AX2xx)
| Code | Severity | What it means |
|---|---|---|
AX200 | error | Generated Swift failed a structural sanity check |
AX201 | warning | Generated Swift contains an unescaped string that could inject code |
AX202 | error | Generated Swift line length exceeds 500 chars (likely a bug) |
Python parser diagnostics (AXPxxx)
| Code | Severity | What it means |
|---|---|---|
AXP001 | error | Python source failed to parse |
AXP002 | error | Required define_intent() argument missing |
AXP003 | error | params is not a dict literal |
AXP004 | error | params key is not a string literal |
AXP005 | error | params value is not a param.*() call |
AXP006 | error | Unknown param.* type |
AXP007 | error | param.* description must be a string literal |
AXP008 | error | entitlements / info_plist_keys must be a list of string literals |
AXP009 | error | Required string field is not a string literal |
Suppressing warnings
You can suppress a specific warning code with a comment:
// axint-disable-next-line AX106params: { 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.