Skip to content

This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.

ERROR_CODE_CATALOGUES

const ERROR_CODE_CATALOGUES: {
ChartErrorCodes: {
PLOT_EXPR_MUST_BE_SYNCHRONOUS: "PLOT_EXPR_MUST_BE_SYNCHRONOUS";
SPARKLINE_NOT_A_SERIES: "SPARKLINE_NOT_A_SERIES";
};
ColourErrorCodes: {
COLOUR_BAD_ARGUMENTS: "COLOUR_BAD_ARGUMENTS";
COLOUR_EXPECTED_COLOUR: "COLOUR_EXPECTED_COLOUR";
COLOUR_INVALID: "COLOUR_INVALID";
UNKNOWN_COLOUR_FUNCTION: "UNKNOWN_COLOUR_FUNCTION";
};
ConditionalsErrorCodes: {
CHECK_EXPECTED_COMPARISON: "CHECK_EXPECTED_COMPARISON";
CHECK_FAILED: "CHECK_FAILED";
CHECK_INCOMPARABLE: "CHECK_INCOMPARABLE";
CHECK_JOIN_UNSUPPORTED: "CHECK_JOIN_UNSUPPORTED";
NOT_NEEDS_BOOLEAN: "NOT_NEEDS_BOOLEAN";
};
ConstantsErrorCodes: {
UNKNOWN_CONSTANT: "UNKNOWN_CONSTANT";
};
ConvertersErrorCodes: {
AS_CONVERTER_EXPECTED_NAME: "AS_CONVERTER_EXPECTED_NAME";
AS_CONVERTER_EXPECTED_NUMBER: "AS_CONVERTER_EXPECTED_NUMBER";
AS_CONVERTER_UNSUPPORTED_BASE: "AS_CONVERTER_UNSUPPORTED_BASE";
INVALID_DECIMAL_PLACES: "INVALID_DECIMAL_PLACES";
INVALID_ROUNDING_INCREMENT: "INVALID_ROUNDING_INCREMENT";
INVALID_SIGNIFICANT_FIGURES: "INVALID_SIGNIFICANT_FIGURES";
};
CookingErrorCodes: {
GAS_MARK_EXPECTED_TEMPERATURE: "GAS_MARK_EXPECTED_TEMPERATURE";
GAS_MARK_OFF_THE_DIAL: "GAS_MARK_OFF_THE_DIAL";
GAS_MARK_UNKNOWN: "GAS_MARK_UNKNOWN";
SERVINGS_NOT_POSITIVE: "SERVINGS_NOT_POSITIVE";
};
CoreErrorCodes: {
AGGREGATE_NON_NUMERIC: "AGGREGATE_NON_NUMERIC";
AGGREGATE_PERCENTAGE_MIXED: "AGGREGATE_PERCENTAGE_MIXED";
ALLOCATION_LIMIT_EXCEEDED: "ALLOCATION_LIMIT_EXCEEDED";
AS_CONVERTER_AMBIGUOUS_CASE: "AS_CONVERTER_AMBIGUOUS_CASE";
AS_CONVERTER_PREFIX_CASE: "AS_CONVERTER_PREFIX_CASE";
ASYNC_RESOLVER_FAILED: "ASYNC_RESOLVER_FAILED";
BASE_NOT_FINITE: "BASE_NOT_FINITE";
BIGINT_DIVISION_BY_ZERO: "BIGINT_DIVISION_BY_ZERO";
BIGINT_INEXACT_OPERAND: "BIGINT_INEXACT_OPERAND";
BIGINT_POW_LIMIT_EXCEEDED: "BIGINT_POW_LIMIT_EXCEEDED";
BIGINT_SHIFT_LIMIT_EXCEEDED: "BIGINT_SHIFT_LIMIT_EXCEEDED";
BUILTIN_ARITY_MISMATCH: "BUILTIN_ARITY_MISMATCH";
BYTECODE_OPERAND_OUT_OF_RANGE: "BYTECODE_OPERAND_OUT_OF_RANGE";
CALENDAR_TEMPORAL_UNAVAILABLE: "CALENDAR_TEMPORAL_UNAVAILABLE";
COLLECTION_TOO_LARGE: "COLLECTION_TOO_LARGE";
COLOUR_ARITHMETIC: "COLOUR_ARITHMETIC";
COMBINATION_OVERFLOW: "COMBINATION_OVERFLOW";
COMPOUND_ASSIGN_ASYNC_UNSUPPORTED: "COMPOUND_ASSIGN_ASYNC_UNSUPPORTED";
COMPOUND_ASSIGN_REQUIRES_EXPRESSION: "COMPOUND_ASSIGN_REQUIRES_EXPRESSION";
CONFIG_PATH_NOT_FOUND: "CONFIG_PATH_NOT_FOUND";
CONFIG_PROPERTY_NOT_FOUND: "CONFIG_PROPERTY_NOT_FOUND";
CONFIG_SECTION_NOT_FOUND: "CONFIG_SECTION_NOT_FOUND";
CONSTANT_UNIT_UNSUPPORTED: "CONSTANT_UNIT_UNSUPPORTED";
CONVERT_NON_NUMERIC: "CONVERT_NON_NUMERIC";
CURRENCY_RATE_UNAVAILABLE: "CURRENCY_RATE_UNAVAILABLE";
DATE_CLOCK_INVALID: "DATE_CLOCK_INVALID";
DATE_OFFSET_LIMIT_EXCEEDED: "DATE_OFFSET_LIMIT_EXCEEDED";
DECIMAL_DIVISION_BY_ZERO: "DECIMAL_DIVISION_BY_ZERO";
DECIMAL_INVALID_SCALE: "DECIMAL_INVALID_SCALE";
DECIMAL_NEGATIVE_POWER: "DECIMAL_NEGATIVE_POWER";
DESCENDING_RANGE: "DESCENDING_RANGE";
DETERMINANT_REQUIRES_SQUARE_MATRIX: "DETERMINANT_REQUIRES_SQUARE_MATRIX";
DIMENSION_MISMATCH: "DIMENSION_MISMATCH";
DIMENSIONS_EXPECTED_FORM: "DIMENSIONS_EXPECTED_FORM";
DIRECTION_CONTROL_IN_NAME: "DIRECTION_CONTROL_IN_NAME";
DOCUMENT_ELEMENT_LIMIT_EXCEEDED: "DOCUMENT_ELEMENT_LIMIT_EXCEEDED";
DOCUMENT_TOO_LARGE: "DOCUMENT_TOO_LARGE";
EQUATION_FACTOR_NOT_MATRIX: "EQUATION_FACTOR_NOT_MATRIX";
EQUATION_FACTOR_UNDEFINED: "EQUATION_FACTOR_UNDEFINED";
EQUATION_RHS_NOT_MATRIX: "EQUATION_RHS_NOT_MATRIX";
EQUATION_SEVERAL_UNKNOWNS: "EQUATION_SEVERAL_UNKNOWNS";
EVALUATION_ERROR: "EVALUATION_ERROR";
EXPLAIN_ASYNC_UNSUPPORTED: "EXPLAIN_ASYNC_UNSUPPORTED";
EXPRESSION_TOO_COMPLEX: "EXPRESSION_TOO_COMPLEX";
EXPRESSION_TOO_LONG: "EXPRESSION_TOO_LONG";
FACTOR_TOO_LARGE: "FACTOR_TOO_LARGE";
FACTORIAL_OVERFLOW: "FACTORIAL_OVERFLOW";
FLOAT_TAKES_NUMBER: "FLOAT_TAKES_NUMBER";
FROZEN_DATE_EXPECTED: "FROZEN_DATE_EXPECTED";
FROZEN_UNSUPPORTED: "FROZEN_UNSUPPORTED";
FROZEN_VALUE_MISSING: "FROZEN_VALUE_MISSING";
FUNCTION_ARITY_MISMATCH: "FUNCTION_ARITY_MISMATCH";
FUNCTION_BODY_MUST_BE_SYNCHRONOUS: "FUNCTION_BODY_MUST_BE_SYNCHRONOUS";
FUNCTION_BODY_READS_LINES: "FUNCTION_BODY_READS_LINES";
FUNCTION_CALL_LIMIT_EXCEEDED: "FUNCTION_CALL_LIMIT_EXCEEDED";
FUNCTION_DOMAIN: "FUNCTION_DOMAIN";
FUNCTION_RECURSION_LIMIT_EXCEEDED: "FUNCTION_RECURSION_LIMIT_EXCEEDED";
FUNCTION_TAKES_NUMBER: "FUNCTION_TAKES_NUMBER";
GLOBAL_VARIABLE_NOT_RESOLVED: "GLOBAL_VARIABLE_NOT_RESOLVED";
GOAL_SEEK_ASYNC_UNSUPPORTED: "GOAL_SEEK_ASYNC_UNSUPPORTED";
GOAL_SEEK_LINE_NOT_READY: "GOAL_SEEK_LINE_NOT_READY";
GOAL_SEEK_NESTED: "GOAL_SEEK_NESTED";
GOAL_SEEK_NO_DOCUMENT: "GOAL_SEEK_NO_DOCUMENT";
GOAL_SEEK_TARGET_ERROR: "GOAL_SEEK_TARGET_ERROR";
GOAL_SEEK_TARGET_IS_DEFINITION: "GOAL_SEEK_TARGET_IS_DEFINITION";
HELD_EXPRESSION_READS_LINES: "HELD_EXPRESSION_READS_LINES";
INCOMPATIBLE_UNITS: "INCOMPATIBLE_UNITS";
INFLATION_YEAR_OUT_OF_RANGE: "INFLATION_YEAR_OUT_OF_RANGE";
INSTRUCTION_LIMIT_EXCEEDED: "INSTRUCTION_LIMIT_EXCEEDED";
INTERNAL_MISSING_ANONYMOUS_BODY: "INTERNAL_MISSING_ANONYMOUS_BODY";
INTERNAL_MISSING_FUNCTION_BODY: "INTERNAL_MISSING_FUNCTION_BODY";
INTERNAL_RATIONAL_PARSE: "INTERNAL_RATIONAL_PARSE";
INVALID_CONFIG_PATH: "INVALID_CONFIG_PATH";
INVALID_DATETIME_OP: "INVALID_DATETIME_OP";
INVALID_DECIMAL_LITERAL: "INVALID_DECIMAL_LITERAL";
INVALID_FACTORIAL_INPUT: "INVALID_FACTORIAL_INPUT";
INVALID_INTEGER_OPERAND: "INVALID_INTEGER_OPERAND";
INVALID_MATRIX_SLICE_BOUND: "INVALID_MATRIX_SLICE_BOUND";
INVALID_NUMBER_LITERAL: "INVALID_NUMBER_LITERAL";
INVALID_PHRASE_PATTERN: "INVALID_PHRASE_PATTERN";
INVALID_RANGE: "INVALID_RANGE";
INVALID_RANGE_BOUND: "INVALID_RANGE_BOUND";
INVALID_RATE: "INVALID_RATE";
INVALID_RATE_UNIT: "INVALID_RATE_UNIT";
INVALID_TERM: "INVALID_TERM";
INVALID_TIME_LITERAL: "INVALID_TIME_LITERAL";
INVALID_TIMECODE_UNIT: "INVALID_TIMECODE_UNIT";
INVERSE_REQUIRES_SQUARE_MATRIX: "INVERSE_REQUIRES_SQUARE_MATRIX";
INVISIBLE_CHARACTER_IN_NUMBER: "INVISIBLE_CHARACTER_IN_NUMBER";
IPV6_ARITHMETIC: "IPV6_ARITHMETIC";
LABEL_NOT_A_NAME: "LABEL_NOT_A_NAME";
LINE_FAILED: "LINE_FAILED";
LINE_NOT_YET_EVALUATED: "LINE_NOT_YET_EVALUATED";
LINE_REF_NO_DOCUMENT: "LINE_REF_NO_DOCUMENT";
LINE_RESULT_ERROR: "LINE_RESULT_ERROR";
LINE_RESULT_PENDING: "LINE_RESULT_PENDING";
LIST_ARGUMENT_UNSUPPORTED: "LIST_ARGUMENT_UNSUPPORTED";
LIST_CELL_UNSUPPORTED: "LIST_CELL_UNSUPPORTED";
LIST_CONDITION_UNSUPPORTED: "LIST_CONDITION_UNSUPPORTED";
LIST_CONVERSION_UNSUPPORTED: "LIST_CONVERSION_UNSUPPORTED";
LIST_PERCENTAGE_UNSUPPORTED: "LIST_PERCENTAGE_UNSUPPORTED";
LIST_ROUNDING_NON_NUMERIC: "LIST_ROUNDING_NON_NUMERIC";
MALFORMED_BYTECODE_BIGINT_LITERAL: "MALFORMED_BYTECODE_BIGINT_LITERAL";
MALFORMED_BYTECODE_BODY_KIND: "MALFORMED_BYTECODE_BODY_KIND";
MALFORMED_BYTECODE_CONSTANT_INDEX: "MALFORMED_BYTECODE_CONSTANT_INDEX";
MALFORMED_BYTECODE_OPERAND_TYPE: "MALFORMED_BYTECODE_OPERAND_TYPE";
MALFORMED_BYTECODE_PROGRAM: "MALFORMED_BYTECODE_PROGRAM";
MALFORMED_BYTECODE_TRUNCATED: "MALFORMED_BYTECODE_TRUNCATED";
MALFORMED_BYTECODE_UNKNOWN_OPCODE: "MALFORMED_BYTECODE_UNKNOWN_OPCODE";
MAP_COLLECTION_LENGTH_MISMATCH: "MAP_COLLECTION_LENGTH_MISMATCH";
MAP_REDUCE_ASYNC_UNSUPPORTED: "MAP_REDUCE_ASYNC_UNSUPPORTED";
MAP_REDUCE_REQUIRES_COLLECTION: "MAP_REDUCE_REQUIRES_COLLECTION";
MATRIX_CELL_NO_UNIT: "MATRIX_CELL_NO_UNIT";
MATRIX_CELL_NON_NUMERIC: "MATRIX_CELL_NON_NUMERIC";
MATRIX_CELL_UNITS_DIFFER: "MATRIX_CELL_UNITS_DIFFER";
MATRIX_INDEX_NOT_A_MATRIX: "MATRIX_INDEX_NOT_A_MATRIX";
MATRIX_INDEX_OUT_OF_BOUNDS: "MATRIX_INDEX_OUT_OF_BOUNDS";
MATRIX_POWER_REQUIRES_SQUARE_MATRIX: "MATRIX_POWER_REQUIRES_SQUARE_MATRIX";
MATRIX_POWER_REQUIRES_WHOLE_EXPONENT: "MATRIX_POWER_REQUIRES_WHOLE_EXPONENT";
MATRIX_POWER_UNSUPPORTED: "MATRIX_POWER_UNSUPPORTED";
MATRIX_UNIT_ALGEBRA: "MATRIX_UNIT_ALGEBRA";
MATRIX_UNIT_OPERATION_UNSUPPORTED: "MATRIX_UNIT_OPERATION_UNSUPPORTED";
MULTIPLIER_TAKES_NUMBER: "MULTIPLIER_TAKES_NUMBER";
NESTING_DEPTH_EXCEEDED: "NESTING_DEPTH_EXCEEDED";
NETWORK_DISABLED: "NETWORK_DISABLED";
NO_MATCHING_PHRASE_ALTERNATIVE: "NO_MATCHING_PHRASE_ALTERNATIVE";
NO_PREFIX_PARSELET: "NO_PREFIX_PARSELET";
NON_INTEGER_RANGE_BOUND: "NON_INTEGER_RANGE_BOUND";
NORMALIZED_TOKEN_LIMIT_EXCEEDED: "NORMALIZED_TOKEN_LIMIT_EXCEEDED";
NORMALIZER_PASS_LIMIT_EXCEEDED: "NORMALIZER_PASS_LIMIT_EXCEEDED";
NOT_WHOLE_NUMBER: "NOT_WHOLE_NUMBER";
NUMBER_THEORY_DOMAIN: "NUMBER_THEORY_DOMAIN";
NUMBER_THEORY_EXPECTED_INTEGER: "NUMBER_THEORY_EXPECTED_INTEGER";
NUMBER_THEORY_NO_INVERSE: "NUMBER_THEORY_NO_INVERSE";
OPCODE_POOL_EXHAUSTED: "OPCODE_POOL_EXHAUSTED";
OTHER_SCRIPT_DIGITS: "OTHER_SCRIPT_DIGITS";
PACKAGE_ENGINE_VERSION_INVALID_RANGE: "PACKAGE_ENGINE_VERSION_INVALID_RANGE";
PACKAGE_ENGINE_VERSION_MISMATCH: "PACKAGE_ENGINE_VERSION_MISMATCH";
PACKAGE_NAME_MISSING: "PACKAGE_NAME_MISSING";
PACKAGE_RESOLVER_FUNCTION_MISSING: "PACKAGE_RESOLVER_FUNCTION_MISSING";
PARSE_ERROR: "PARSE_ERROR";
PASS_WORK_BUDGET_EXCEEDED: "PASS_WORK_BUDGET_EXCEEDED";
PERCENT_CHANGE_FAILED: "PERCENT_CHANGE_FAILED";
PERCENT_CHANGE_FROM_ZERO: "PERCENT_CHANGE_FROM_ZERO";
PERCENT_CHANGE_NEGATIVE_BASE: "PERCENT_CHANGE_NEGATIVE_BASE";
PERCENTAGE_NOT_FINITE: "PERCENTAGE_NOT_FINITE";
PERCENTAGE_OF_QUANTITY: "PERCENTAGE_OF_QUANTITY";
PERCENTAGE_OVERFLOW: "PERCENTAGE_OVERFLOW";
PERMUTATION_OVERFLOW: "PERMUTATION_OVERFLOW";
PHRASE_KEYWORD_MISMATCH: "PHRASE_KEYWORD_MISMATCH";
PLOT_INVALID_RANGE: "PLOT_INVALID_RANGE";
PLUGIN_CALL_FAILED: "PLUGIN_CALL_FAILED";
PLUGIN_CALL_FUSION_UNREACHABLE: "PLUGIN_CALL_FUSION_UNREACHABLE";
PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED: "PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED";
PLUGIN_FUNCTION_INDEX_TOO_LARGE: "PLUGIN_FUNCTION_INDEX_TOO_LARGE";
PLUGIN_KEYWORD_COLLISION: "PLUGIN_KEYWORD_COLLISION";
PLUGIN_OPERATOR_COLLISION: "PLUGIN_OPERATOR_COLLISION";
PLUGIN_OPERATOR_UNSUPPORTED: "PLUGIN_OPERATOR_UNSUPPORTED";
PLUGIN_RESULT_NOT_A_VALUE: "PLUGIN_RESULT_NOT_A_VALUE";
PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN: "PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN";
PLUGIN_UNIT_ALIAS_UNREACHABLE: "PLUGIN_UNIT_ALIAS_UNREACHABLE";
PLUGIN_UNIT_COLLISION: "PLUGIN_UNIT_COLLISION";
POWER_NO_REAL_VALUE: "POWER_NO_REAL_VALUE";
PROPORTION_DIVIDE_BY_ZERO: "PROPORTION_DIVIDE_BY_ZERO";
QUANTITY_NON_NUMERIC: "QUANTITY_NON_NUMERIC";
QUOTIENT_UNDEFINED: "QUOTIENT_UNDEFINED";
RANGE_BEFORE_ANOTHER_ARGUMENT: "RANGE_BEFORE_ANOTHER_ARGUMENT";
RANGE_BOUND_GROUP_MALFORMED: "RANGE_BOUND_GROUP_MALFORMED";
RATE_CONVERT_MEASURE_MISMATCH: "RATE_CONVERT_MEASURE_MISMATCH";
RATE_CONVERT_NOT_A_RATE: "RATE_CONVERT_NOT_A_RATE";
RATE_MISSING_DENOMINATOR_UNIT: "RATE_MISSING_DENOMINATOR_UNIT";
RATE_MUL_LEFT_NOT_A_RATE: "RATE_MUL_LEFT_NOT_A_RATE";
RATE_MUL_MEASURE_MISMATCH: "RATE_MUL_MEASURE_MISMATCH";
RATE_MUL_RIGHT_MISSING_UNIT: "RATE_MUL_RIGHT_MISSING_UNIT";
REDUCE_EMPTY_COLLECTION: "REDUCE_EMPTY_COLLECTION";
REMAINDER_UNDEFINED: "REMAINDER_UNDEFINED";
RESIZE_EXPECTED_SHAPE: "RESIZE_EXPECTED_SHAPE";
SETTLE_TIMEOUT: "SETTLE_TIMEOUT";
SETTLE_TIMEOUT_INVALID: "SETTLE_TIMEOUT_INVALID";
SINGULAR_MATRIX: "SINGULAR_MATRIX";
SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED";
SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING";
SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE";
SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH";
SOLVE_REQUIRES_VARIABLE_NAME: "SOLVE_REQUIRES_VARIABLE_NAME";
STACK_LIMIT_EXCEEDED: "STACK_LIMIT_EXCEEDED";
STACK_UNDERFLOW: "STACK_UNDERFLOW";
STATISTIC_NOT_FINITE: "STATISTIC_NOT_FINITE";
SYMBOLIC_ASYNC_UNSUPPORTED: "SYMBOLIC_ASYNC_UNSUPPORTED";
SYMBOLIC_BOUND_INVALID: "SYMBOLIC_BOUND_INVALID";
SYMBOLIC_DERIVATIVE_ORDER_LIMIT: "SYMBOLIC_DERIVATIVE_ORDER_LIMIT";
SYMBOLIC_DIVISION_BY_ZERO: "SYMBOLIC_DIVISION_BY_ZERO";
SYMBOLIC_FACTOR_LIMIT_EXCEEDED: "SYMBOLIC_FACTOR_LIMIT_EXCEEDED";
SYMBOLIC_FORMULA_VALUE_UNSUPPORTED: "SYMBOLIC_FORMULA_VALUE_UNSUPPORTED";
SYMBOLIC_INTEGRAL_IMPROPER: "SYMBOLIC_INTEGRAL_IMPROPER";
SYMBOLIC_INTEGRAL_UNSETTLED: "SYMBOLIC_INTEGRAL_UNSETTLED";
SYMBOLIC_INTEGRAL_UNSUPPORTED: "SYMBOLIC_INTEGRAL_UNSUPPORTED";
SYMBOLIC_INVERSE_DIMENSION_LIMIT: "SYMBOLIC_INVERSE_DIMENSION_LIMIT";
SYMBOLIC_JACOBIAN_NO_VARIABLES: "SYMBOLIC_JACOBIAN_NO_VARIABLES";
SYMBOLIC_LIMIT_DIVERGES: "SYMBOLIC_LIMIT_DIVERGES";
SYMBOLIC_LIMIT_SIDES_DISAGREE: "SYMBOLIC_LIMIT_SIDES_DISAGREE";
SYMBOLIC_LIMIT_UNDEFINED: "SYMBOLIC_LIMIT_UNDEFINED";
SYMBOLIC_LIMIT_UNSETTLED: "SYMBOLIC_LIMIT_UNSETTLED";
SYMBOLIC_LIMIT_UNSUPPORTED: "SYMBOLIC_LIMIT_UNSUPPORTED";
SYMBOLIC_NODE_LIMIT_EXCEEDED: "SYMBOLIC_NODE_LIMIT_EXCEEDED";
SYMBOLIC_NONFINITE_OPERAND: "SYMBOLIC_NONFINITE_OPERAND";
SYMBOLIC_QUANTITY_OPERAND: "SYMBOLIC_QUANTITY_OPERAND";
SYMBOLIC_RATIONAL_OVERFLOW: "SYMBOLIC_RATIONAL_OVERFLOW";
SYMBOLIC_REQUIRES_BOTH_BOUNDS: "SYMBOLIC_REQUIRES_BOTH_BOUNDS";
SYMBOLIC_REQUIRES_LIMIT_POINT: "SYMBOLIC_REQUIRES_LIMIT_POINT";
SYMBOLIC_REQUIRES_VARIABLE_NAME: "SYMBOLIC_REQUIRES_VARIABLE_NAME";
SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT: "SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT";
SYMBOLIC_SOLVE_INCOMPLETE: "SYMBOLIC_SOLVE_INCOMPLETE";
SYMBOLIC_SOLVE_NO_ROOT_FOUND: "SYMBOLIC_SOLVE_NO_ROOT_FOUND";
SYMBOLIC_SOLVE_TOO_MANY_ROOTS: "SYMBOLIC_SOLVE_TOO_MANY_ROOTS";
SYMBOLIC_SOLVE_UNSUPPORTED: "SYMBOLIC_SOLVE_UNSUPPORTED";
SYMBOLIC_TAYLOR_DEGREE_LIMIT: "SYMBOLIC_TAYLOR_DEGREE_LIMIT";
SYMBOLIC_TAYLOR_INEXACT: "SYMBOLIC_TAYLOR_INEXACT";
SYMBOLIC_UNSUPPORTED_FUNCTION: "SYMBOLIC_UNSUPPORTED_FUNCTION";
TEMPORAL_IMPLEMENTATION_INVALID: "TEMPORAL_IMPLEMENTATION_INVALID";
TEMPORAL_TIME_ZONE_UNKNOWN: "TEMPORAL_TIME_ZONE_UNKNOWN";
TERNARY_UNSUPPORTED: "TERNARY_UNSUPPORTED";
TEXT_ARITHMETIC: "TEXT_ARITHMETIC";
TEXT_COMPARISON: "TEXT_COMPARISON";
TEXT_NOT_A_NUMBER: "TEXT_NOT_A_NUMBER";
THEREFORE_ASYNC_UNSUPPORTED: "THEREFORE_ASYNC_UNSUPPORTED";
THEREFORE_REQUIRES_EXPRESSION: "THEREFORE_REQUIRES_EXPRESSION";
TIMECODE_FPS_MISMATCH: "TIMECODE_FPS_MISMATCH";
TOO_MANY_ANONYMOUS_BODIES: "TOO_MANY_ANONYMOUS_BODIES";
TOO_MANY_FUNCTION_DEFINITIONS: "TOO_MANY_FUNCTION_DEFINITIONS";
TOO_MANY_NUMERIC_CONSTANTS: "TOO_MANY_NUMERIC_CONSTANTS";
TOO_MANY_STRING_CONSTANTS: "TOO_MANY_STRING_CONSTANTS";
TRACE_NO_DOCUMENT: "TRACE_NO_DOCUMENT";
TRACE_NO_SUCH_LINE: "TRACE_NO_SUCH_LINE";
TRIG_UNDEFINED: "TRIG_UNDEFINED";
TRIP_EXPECTED_AT: "TRIP_EXPECTED_AT";
UNCERTAINTY_UNIT_MISMATCH: "UNCERTAINTY_UNIT_MISMATCH";
UNCERTAINTY_WITHOUT_UNIT: "UNCERTAINTY_WITHOUT_UNIT";
UNDEFINED_FUNCTION: "UNDEFINED_FUNCTION";
UNDEFINED_VARIABLE: "UNDEFINED_VARIABLE";
UNEXPECTED_END: "UNEXPECTED_END";
UNEXPECTED_END_OF_INPUT: "UNEXPECTED_END_OF_INPUT";
UNEXPECTED_ERROR: "UNEXPECTED_ERROR";
UNEXPECTED_PENDING_RESULT: "UNEXPECTED_PENDING_RESULT";
UNEXPECTED_TOKEN_TYPE: "UNEXPECTED_TOKEN_TYPE";
UNEXPECTED_TRAILING_TOKEN: "UNEXPECTED_TRAILING_TOKEN";
UNIT_AFTER_UNIT: "UNIT_AFTER_UNIT";
UNIT_IN_EXPONENT: "UNIT_IN_EXPONENT";
UNIT_POWER_UNSUPPORTED: "UNIT_POWER_UNSUPPORTED";
UNIT_PRODUCT_UNSUPPORTED: "UNIT_PRODUCT_UNSUPPORTED";
UNIT_QUOTIENT_UNSUPPORTED: "UNIT_QUOTIENT_UNSUPPORTED";
UNIT_RECIPROCAL_UNSUPPORTED: "UNIT_RECIPROCAL_UNSUPPORTED";
UNIT_ROOT_UNSUPPORTED: "UNIT_ROOT_UNSUPPORTED";
UNKNOWN_AS_CONVERTER: "UNKNOWN_AS_CONVERTER";
UNKNOWN_BUILTIN_FUNCTION: "UNKNOWN_BUILTIN_FUNCTION";
UNKNOWN_ERROR: "UNKNOWN_ERROR";
UNKNOWN_FUNCTION: "UNKNOWN_FUNCTION";
UNKNOWN_PLUGIN_FUNCTION: "UNKNOWN_PLUGIN_FUNCTION";
UNKNOWN_SAVINGS_PERIOD: "UNKNOWN_SAVINGS_PERIOD";
UNKNOWN_UNIT: "UNKNOWN_UNIT";
UNTERMINATED_STRING: "UNTERMINATED_STRING";
USER_FUNCTION_ASYNC_UNSUPPORTED: "USER_FUNCTION_ASYNC_UNSUPPORTED";
USER_FUNCTION_INVALID_PARAM_NAME: "USER_FUNCTION_INVALID_PARAM_NAME";
USER_FUNCTION_NO_PARAMS: "USER_FUNCTION_NO_PARAMS";
WEIGHTED_AVERAGE_ZERO_WEIGHT: "WEIGHTED_AVERAGE_ZERO_WEIGHT";
WHAT_IF_IN_GOAL_SEEK: "WHAT_IF_IN_GOAL_SEEK";
WHAT_IF_INPUT_NOT_USED: "WHAT_IF_INPUT_NOT_USED";
WHAT_IF_LINE_OUT_OF_RANGE: "WHAT_IF_LINE_OUT_OF_RANGE";
WHAT_IF_LIVE_DATA: "WHAT_IF_LIVE_DATA";
WHAT_IF_NESTED: "WHAT_IF_NESTED";
WHAT_IF_OVERRIDE_INVALID: "WHAT_IF_OVERRIDE_INVALID";
WHAT_IF_TARGET_ERROR: "WHAT_IF_TARGET_ERROR";
WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS: "WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS";
WHAT_IF_TARGET_NOT_A_CALCULATION: "WHAT_IF_TARGET_NOT_A_CALCULATION";
WHAT_IF_WRITES_GLOBAL: "WHAT_IF_WRITES_GLOBAL";
WORKDAY_OFFSET_EXPECTED_DATE: "WORKDAY_OFFSET_EXPECTED_DATE";
WORKDAYS_BETWEEN_EXPECTED_DATES: "WORKDAYS_BETWEEN_EXPECTED_DATES";
WORKDAYS_BETWEEN_RANGE_TOO_LARGE: "WORKDAYS_BETWEEN_RANGE_TOO_LARGE";
};
CryptoErrorCodes: {
CRYPTO_NOT_CONFIGURED: "CRYPTO_NOT_CONFIGURED";
};
CurrencyErrorCodes: {
API_ERROR: "CURRENCY_API_ERROR";
CRYPTO_API_ERROR: "CRYPTO_PRICE_API_ERROR";
UNKNOWN_CODE: "UNKNOWN_CURRENCY_CODE";
};
DateFormErrorCodes: {
AS_DATE_NEEDS_TIMESTAMP: "AS_DATE_NEEDS_TIMESTAMP";
AS_ISO8601_DURATION_TOO_LONG: "AS_ISO8601_DURATION_TOO_LONG";
AS_ISO8601_NEEDS_DATE: "AS_ISO8601_NEEDS_DATE";
AS_TIME_NEEDS_DATE: "AS_TIME_NEEDS_DATE";
AS_TIMESTAMP_NEEDS_DATE: "AS_TIMESTAMP_NEEDS_DATE";
DATE_EXPECTED: "DATE_EXPECTED";
DATE_FIELD_EXPECTED_DATE: "DATE_FIELD_EXPECTED_DATE";
DATE_OUT_OF_RANGE: "DATE_OUT_OF_RANGE";
DAYS_IN_EXPECTED_PERIOD: "DAYS_IN_EXPECTED_PERIOD";
INVALID_ISO8601_STRING: "INVALID_ISO8601_STRING";
INVALID_WEEKDAY: "INVALID_WEEKDAY";
MISSING_WEEKDAY: "MISSING_WEEKDAY";
NTH_WEEKDAY_OUT_OF_RANGE: "NTH_WEEKDAY_OUT_OF_RANGE";
PERIOD_EXPECTED: "PERIOD_EXPECTED";
WEEKDAY_ALONE: "WEEKDAY_ALONE";
WORKDAYS_IN_EXPECTED_DURATION: "WORKDAYS_IN_EXPECTED_DURATION";
WORKDAYS_UNTIL_UNSUPPORTED: "WORKDAYS_UNTIL_UNSUPPORTED";
};
DatetimeErrorCodes: {
DATE_INPUT_LOCALE_INVALID: "DATE_INPUT_LOCALE_INVALID";
DATE_NOT_A_CALENDAR_DAY: "DATE_NOT_A_CALENDAR_DAY";
DATE_ORDER_MISMATCH: "DATE_ORDER_MISMATCH";
};
DatetimeZoneErrorCodes: {
DATE_WEEKDAY_INVALID: "DATE_WEEKDAY_INVALID";
DATE_ZONE_UNKNOWN: "DATE_ZONE_UNKNOWN";
DATETIME_NOT_CONVERTIBLE: "DATETIME_NOT_CONVERTIBLE";
DATETIME_ZONE_UNKNOWN: "DATETIME_ZONE_UNKNOWN";
TIME_ZONE_OFFSET_OUT_OF_RANGE: "TIME_ZONE_OFFSET_OUT_OF_RANGE";
};
DefineFunctionErrorCodes: {
DEFINE_FUNCTION_ARGUMENT_TYPE: "DEFINE_FUNCTION_ARGUMENT_TYPE";
DEFINE_FUNCTION_ARITY_MISMATCH: "DEFINE_FUNCTION_ARITY_MISMATCH";
DEFINE_FUNCTION_INVALID_NAME: "DEFINE_FUNCTION_INVALID_NAME";
DEFINE_FUNCTION_INVALID_SPEC: "DEFINE_FUNCTION_INVALID_SPEC";
DEFINE_FUNCTION_RETURN_TYPE: "DEFINE_FUNCTION_RETURN_TYPE";
};
DerivedUnitsErrorCodes: {
AS_UNIT_EXPECTED_QUANTITY: "AS_UNIT_EXPECTED_QUANTITY";
AS_UNIT_INCOMPATIBLE: "AS_UNIT_INCOMPATIBLE";
};
EncodingErrorCodes: {
ENCODING_DECODE_FAILED: "ENCODING_DECODE_FAILED";
ENCODING_EXPECTED_TEXT: "ENCODING_EXPECTED_TEXT";
UNKNOWN_ENCODING: "UNKNOWN_ENCODING";
};
FinanceErrorCodes: {
CASH_FLOW_ARGUMENT_COUNT: "CASH_FLOW_ARGUMENT_COUNT";
CASH_FLOW_EXPECTED_AMOUNT: "CASH_FLOW_EXPECTED_AMOUNT";
CASH_FLOW_MISSING_RATE: "CASH_FLOW_MISSING_RATE";
CASH_FLOW_OUT_OF_RANGE: "CASH_FLOW_OUT_OF_RANGE";
CASH_FLOW_TOO_FEW: "CASH_FLOW_TOO_FEW";
INFLATION_EXPECTED_CURRENCY: "INFLATION_EXPECTED_CURRENCY";
INFLATION_EXPECTED_FROM_OR_IN: "INFLATION_EXPECTED_FROM_OR_IN";
INFLATION_EXPECTED_INFLATION_WORD: "INFLATION_EXPECTED_INFLATION_WORD";
INFLATION_EXPECTED_USD: "INFLATION_EXPECTED_USD";
INFLATION_EXPECTED_YEAR: "INFLATION_EXPECTED_YEAR";
INFLATION_NO_INDEX: "INFLATION_NO_INDEX";
IRR_NO_SIGN_CHANGE: "IRR_NO_SIGN_CHANGE";
IRR_NONE: "IRR_NONE";
IRR_NOT_UNIQUE: "IRR_NOT_UNIQUE";
IRR_UNRESOLVED: "IRR_UNRESOLVED";
PAYBACK_NEVER: "PAYBACK_NEVER";
PAYBACK_NO_OUTLAY: "PAYBACK_NO_OUTLAY";
SAVINGS_GOAL_SYNTAX: "SAVINGS_GOAL_SYNTAX";
UNKNOWN_COMPOUNDING_INTERVAL: "UNKNOWN_COMPOUNDING_INTERVAL";
};
GeoErrorCodes: {
GEO_BAD_ANGLE: "GEO_BAD_ANGLE";
GEO_EXPECTED_ANGLE: "GEO_EXPECTED_ANGLE";
GEO_EXPECTED_PLACE: "GEO_EXPECTED_PLACE";
GEO_EXPECTED_SECOND_PLACE: "GEO_EXPECTED_SECOND_PLACE";
GEO_NO_BEARING: "GEO_NO_BEARING";
GEO_NOT_A_PLACE: "GEO_NOT_A_PLACE";
GEO_OUT_OF_RANGE: "GEO_OUT_OF_RANGE";
};
GeometryErrorCodes: {
GEOMETRY_ERROR: "GEOMETRY_ERROR";
GEOMETRY_EXPECTED_SHAPE: "GEOMETRY_EXPECTED_SHAPE";
};
GoalSeekErrorCodes: {
GOAL_SEEK_DID_NOT_CONVERGE: "GOAL_SEEK_DID_NOT_CONVERGE";
GOAL_SEEK_NO_SOLUTION: "GOAL_SEEK_NO_SOLUTION";
GOAL_SEEK_NON_FINITE: "GOAL_SEEK_NON_FINITE";
GOAL_SEEK_RANGE_INVALID: "GOAL_SEEK_RANGE_INVALID";
GOAL_SEEK_REQUIRES_VARIABLE_NAME: "GOAL_SEEK_REQUIRES_VARIABLE_NAME";
GOAL_SEEK_SEVERAL_SOLUTIONS: "GOAL_SEEK_SEVERAL_SOLUTIONS";
GOAL_SEEK_SYNTAX: "GOAL_SEEK_SYNTAX";
GOAL_SEEK_TARGET_NOT_NUMERIC: "GOAL_SEEK_TARGET_NOT_NUMERIC";
GOAL_SEEK_TARGET_UNIT_MISMATCH: "GOAL_SEEK_TARGET_UNIT_MISMATCH";
GOAL_SEEK_TOO_MANY_SOLUTIONS: "GOAL_SEEK_TOO_MANY_SOLUTIONS";
GOAL_SEEK_VARIABLE_NOT_USED: "GOAL_SEEK_VARIABLE_NOT_USED";
};
HashErrorCodes: {
HASH_EXPECTED_TEXT: "HASH_EXPECTED_TEXT";
};
HealthErrorCodes: {
HEALTH_BAD_INPUT: "HEALTH_BAD_INPUT";
};
HistoricalCurrencyErrorCodes: {
DATE_OUT_OF_RANGE: "HISTORICAL_RATE_DATE_OUT_OF_RANGE";
INVALID_OPERAND: "HISTORICAL_CURRENCY_INVALID_OPERAND";
NOT_CONFIGURED: "HISTORICAL_RATES_NOT_CONFIGURED";
NOT_PREFLIGHTED: "HISTORICAL_RATE_NOT_PREFLIGHTED";
QUERY_FAILED: "HISTORICAL_RATE_QUERY_FAILED";
UNSUPPORTED_CURRENCY: "HISTORICAL_RATE_UNSUPPORTED_CURRENCY";
};
IpErrorCodes: {
IP_EXPECTED: "IP_EXPECTED";
IP_EXPECTED_ADDRESS: "IP_EXPECTED_ADDRESS";
IP_EXPECTED_BLOCK: "IP_EXPECTED_BLOCK";
IP_FAMILY_MISMATCH: "IP_FAMILY_MISMATCH";
IP_NEEDS_ADDRESS_AND_PREFIX: "IP_NEEDS_ADDRESS_AND_PREFIX";
IP_NO_PREFIX: "IP_NO_PREFIX";
IP_PREFIX_OUT_OF_RANGE: "IP_PREFIX_OUT_OF_RANGE";
IPV6_NO_BROADCAST: "IPV6_NO_BROADCAST";
};
KnowledgeErrorCodes: {
KNOWLEDGE_NOT_CONFIGURED: "KNOWLEDGE_NOT_CONFIGURED";
};
LinesErrorCodes: {
INPUTS_OF_SYNTAX: "INPUTS_OF_SYNTAX";
LINE_RANGE_EMPTY: "LINE_RANGE_EMPTY";
LINE_RANGE_NON_NUMERIC: "LINE_RANGE_NON_NUMERIC";
LINE_REFERENCE_DELETED: "LINE_REFERENCE_DELETED";
SECTION_AMBIGUOUS: "SECTION_AMBIGUOUS";
SECTION_EMPTY: "SECTION_EMPTY";
SECTION_NO_DOCUMENT: "SECTION_NO_DOCUMENT";
SECTION_NOT_FOUND: "SECTION_NOT_FOUND";
TRACE_CYCLE: "TRACE_CYCLE";
TRACE_FORWARD_REFERENCE: "TRACE_FORWARD_REFERENCE";
};
MapReduceErrorCodes: {
MAP_REDUCE_EXPECTED_COLLECTION_NAME: "MAP_REDUCE_EXPECTED_COLLECTION_NAME";
MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS: "MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS";
};
MathPhrasesErrorCodes: {
AGGREGATE_CALL_EMPTY: "AGGREGATE_CALL_EMPTY";
AGGREGATE_CALL_RANGE: "AGGREGATE_CALL_RANGE";
AGGREGATE_NAME_RESERVED: "AGGREGATE_NAME_RESERVED";
CLAMP_EXPECTED_BETWEEN_OR_FROM: "CLAMP_EXPECTED_BETWEEN_OR_FROM";
LOG_EXPECTED_BASE: "LOG_EXPECTED_BASE";
PROPORTION_EXPECTED_WHAT: "PROPORTION_EXPECTED_WHAT";
REMAINDER_EXPECTED_DIVIDED_BY: "REMAINDER_EXPECTED_DIVIDED_BY";
ROOT_EXPECTED_OF: "ROOT_EXPECTED_OF";
WEIGHTED_AVERAGE_MISSING_WEIGHT: "WEIGHTED_AVERAGE_MISSING_WEIGHT";
};
MatrixErrorCodes: {
EMPTY_MATRIX_LITERAL: "EMPTY_MATRIX_LITERAL";
INVALID_MATRIX_SLICE_ARITY: "INVALID_MATRIX_SLICE_ARITY";
RAGGED_MATRIX_LITERAL: "RAGGED_MATRIX_LITERAL";
};
NumeralsErrorCodes: {
NUMERAL_EXPECTED_NUMBER: "NUMERAL_EXPECTED_NUMBER";
NUMERAL_EXPECTED_TEXT: "NUMERAL_EXPECTED_TEXT";
NUMERAL_INVALID_ROMAN: "NUMERAL_INVALID_ROMAN";
NUMERAL_OUT_OF_RANGE: "NUMERAL_OUT_OF_RANGE";
};
PayrollErrorCodes: {
PAYROLL_CONFLICTING_CASE: "PAYROLL_CONFLICTING_CASE";
PAYROLL_EXPECTED_GBP: "PAYROLL_EXPECTED_GBP";
PAYROLL_EXPECTED_PENSION_RATE: "PAYROLL_EXPECTED_PENSION_RATE";
PAYROLL_EXPECTED_RATE: "PAYROLL_EXPECTED_RATE";
PAYROLL_NEGATIVE_SALARY: "PAYROLL_NEGATIVE_SALARY";
PAYROLL_UNKNOWN_LOAN_PLAN: "PAYROLL_UNKNOWN_LOAN_PLAN";
};
PercentageErrorCodes: {
IS_WHAT_EXPECTED_PERCENT: "IS_WHAT_EXPECTED_PERCENT";
IS_WHAT_EXPECTED_PREPOSITION: "IS_WHAT_EXPECTED_PREPOSITION";
IS_WHAT_EXPECTED_WORD: "IS_WHAT_EXPECTED_WORD";
PERCENT_CHANGE_EXPECTED_TO: "PERCENT_CHANGE_EXPECTED_TO";
};
QueryResolverErrorCodePatterns: {
NOT_PREFLIGHTED: "<NAMESPACE>_NOT_PREFLIGHTED";
QUERY_FAILED: "<NAMESPACE>_QUERY_FAILED";
};
RandomErrorCodes: {
RANDOM_EXPECTED_COUNT: "RANDOM_EXPECTED_COUNT";
RANDOM_PICK_EMPTY: "RANDOM_PICK_EMPTY";
RANDOM_SEED_EXPECTED_VALUE: "RANDOM_SEED_EXPECTED_VALUE";
RANDOM_SHUFFLE_EXPECTED_LIST: "RANDOM_SHUFFLE_EXPECTED_LIST";
};
RatioErrorCodes: {
RATIO_EXPECTED_NUMBERS: "RATIO_EXPECTED_NUMBERS";
RATIO_INVALID: "RATIO_INVALID";
};
RecurringScheduleErrorCodes: {
RECURRING_INTERVAL_NOT_POSITIVE: "RECURRING_INTERVAL_NOT_POSITIVE";
};
ShoppingErrorCodes: {
VS_INCOMPARABLE: "VS_INCOMPARABLE";
};
SnapshotErrorCodes: {
SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED";
SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING";
SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE";
SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH";
};
StatisticsErrorCodes: {
STAT_ARGUMENT_COUNT: "STAT_ARGUMENT_COUNT";
STAT_COUNT_RANGE: "STAT_COUNT_RANGE";
STAT_EMPTY: "STAT_EMPTY";
STAT_EXPECTED_LIST: "STAT_EXPECTED_LIST";
STAT_EXPECTED_LISTS: "STAT_EXPECTED_LISTS";
STAT_EXPECTED_PERCENT: "STAT_EXPECTED_PERCENT";
STAT_EXPECTED_VALUE: "STAT_EXPECTED_VALUE";
STAT_GAMMA_POLE: "STAT_GAMMA_POLE";
STAT_LENGTH_MISMATCH: "STAT_LENGTH_MISMATCH";
STAT_NO_CONVERGENCE: "STAT_NO_CONVERGENCE";
STAT_NOT_WHOLE: "STAT_NOT_WHOLE";
STAT_OVERFLOW: "STAT_OVERFLOW";
STAT_PERCENT_RANGE: "STAT_PERCENT_RANGE";
STAT_PROBABILITY_RANGE: "STAT_PROBABILITY_RANGE";
STAT_SD_NOT_POSITIVE: "STAT_SD_NOT_POSITIVE";
STAT_TOO_FEW: "STAT_TOO_FEW";
};
StocksErrorCodes: {
STOCKS_EXPECTED_DATE: "STOCKS_EXPECTED_DATE";
STOCKS_EXPECTED_ON: "STOCKS_EXPECTED_ON";
STOCKS_INVALID_DATE: "STOCKS_INVALID_DATE";
STOCKS_INVALID_TICKER: "STOCKS_INVALID_TICKER";
STOCKS_NOT_CONFIGURED: "STOCKS_NOT_CONFIGURED";
};
SymbolicErrorCodes: {
SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS: "SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS";
};
TablesErrorCodes: {
TABLE_BAND_AMOUNT_INVALID: "TABLE_BAND_AMOUNT_INVALID";
TABLE_BAND_BELOW_FIRST: "TABLE_BAND_BELOW_FIRST";
TABLE_BAND_UNIT_MISMATCH: "TABLE_BAND_UNIT_MISMATCH";
TABLE_BANDS_MALFORMED: "TABLE_BANDS_MALFORMED";
TABLE_BANDS_NOT_FROM_ZERO: "TABLE_BANDS_NOT_FROM_ZERO";
TABLE_CELL_EMPTY: "TABLE_CELL_EMPTY";
TABLE_CELL_NOT_A_VALUE: "TABLE_CELL_NOT_A_VALUE";
TABLE_COLUMN_AMBIGUOUS: "TABLE_COLUMN_AMBIGUOUS";
TABLE_COLUMN_NAME_EXPECTED: "TABLE_COLUMN_NAME_EXPECTED";
TABLE_COLUMN_NO_NUMERIC_CELLS: "TABLE_COLUMN_NO_NUMERIC_CELLS";
TABLE_COLUMN_NOT_FOUND: "TABLE_COLUMN_NOT_FOUND";
TABLE_COLUMN_PERCENT_CELL: "TABLE_COLUMN_PERCENT_CELL";
TABLE_LOOKUP_FOR_EXPECTED: "TABLE_LOOKUP_FOR_EXPECTED";
TABLE_LOOKUP_KEY_INVALID: "TABLE_LOOKUP_KEY_INVALID";
TABLE_NO_DOCUMENT: "TABLE_NO_DOCUMENT";
TABLE_NOT_FOUND: "TABLE_NOT_FOUND";
TABLE_ROW_AMBIGUOUS: "TABLE_ROW_AMBIGUOUS";
TABLE_ROW_NOT_FOUND: "TABLE_ROW_NOT_FOUND";
};
TagsErrorCodes: {
TAG_BREAKDOWN_NO_WHOLE: "TAG_BREAKDOWN_NO_WHOLE";
TAG_EMPTY: "TAG_EMPTY";
TAG_NO_DOCUMENT: "TAG_NO_DOCUMENT";
TAG_NON_NUMERIC: "TAG_NON_NUMERIC";
};
TextExtractionErrorCodes: {
TEXT_ARGUMENT_COUNT: "TEXT_ARGUMENT_COUNT";
TEXT_EXPECTED: "TEXT_EXPECTED";
TEXT_FIELD_INEXACT_NUMBER: "TEXT_FIELD_INEXACT_NUMBER";
TEXT_FIELD_NOT_FOUND: "TEXT_FIELD_NOT_FOUND";
TEXT_FIELD_NULL: "TEXT_FIELD_NULL";
TEXT_FIELD_PATH_INVALID: "TEXT_FIELD_PATH_INVALID";
TEXT_NO_AMOUNTS: "TEXT_NO_AMOUNTS";
TEXT_NO_MATCH: "TEXT_NO_MATCH";
TEXT_NO_NUMBERS: "TEXT_NO_NUMBERS";
TEXT_NOT_JSON: "TEXT_NOT_JSON";
TEXT_PATTERN_INVALID: "TEXT_PATTERN_INVALID";
TEXT_PATTERN_TOO_COSTLY: "TEXT_PATTERN_TOO_COSTLY";
TEXT_PATTERN_TOO_LARGE: "TEXT_PATTERN_TOO_LARGE";
TEXT_PATTERN_UNSUPPORTED: "TEXT_PATTERN_UNSUPPORTED";
TEXT_TOO_MANY_NUMBERS: "TEXT_TOO_MANY_NUMBERS";
};
TimeFormErrorCodes: {
ISO_DURATION_MALFORMED: "ISO_DURATION_MALFORMED";
OVERLAP_EXPECTED_CITY: "OVERLAP_EXPECTED_CITY";
OVERLAP_EXPECTED_HOURS: "OVERLAP_EXPECTED_HOURS";
OVERLAP_EXPECTED_IN: "OVERLAP_EXPECTED_IN";
TIME_DIFFERENCE_EXPECTED_CITY: "TIME_DIFFERENCE_EXPECTED_CITY";
TIME_DIFFERENCE_EXPECTED_SECOND_CITY: "TIME_DIFFERENCE_EXPECTED_SECOND_CITY";
TIME_IN_ZONE_UNDATED: "TIME_IN_ZONE_UNDATED";
TIME_ZONE_EXPECTED_CITY: "TIME_ZONE_EXPECTED_CITY";
TIME_ZONE_EXPECTED_IN: "TIME_ZONE_EXPECTED_IN";
TIME_ZONE_EXPECTED_TARGET: "TIME_ZONE_EXPECTED_TARGET";
TIME_ZONE_MISSING_DATE: "TIME_ZONE_MISSING_DATE";
TIME_ZONE_TOO_MANY: "TIME_ZONE_TOO_MANY";
TIME_ZONE_UNKNOWN: "TIME_ZONE_UNKNOWN";
TIMECODE_EXPECTED_FPS: "TIMECODE_EXPECTED_FPS";
TIMECODE_EXPECTED_FRAMES: "TIMECODE_EXPECTED_FRAMES";
TIMECODE_FRAME_OUT_OF_RANGE: "TIMECODE_FRAME_OUT_OF_RANGE";
};
TimezoneErrorCodes: {
OVERLAP_HOURS_EMPTY: "OVERLAP_HOURS_EMPTY";
OVERLAP_NEEDS_TWO_ZONES: "OVERLAP_NEEDS_TWO_ZONES";
TIME_ZONE_EXPECTED_DATE: "TIME_ZONE_EXPECTED_DATE";
TIME_ZONE_EXPECTED_TIME: "TIME_ZONE_EXPECTED_TIME";
TIME_ZONE_REPEATED_TIME: "TIME_ZONE_REPEATED_TIME";
TIME_ZONE_SKIPPED_TIME: "TIME_ZONE_SKIPPED_TIME";
};
TravelErrorCodes: {
TRIP_EXPECTED_DISTANCE: "TRIP_EXPECTED_DISTANCE";
TRIP_EXPECTED_ECONOMY: "TRIP_EXPECTED_ECONOMY";
TRIP_EXPECTED_FUEL_PRICE: "TRIP_EXPECTED_FUEL_PRICE";
};
UomErrorCodes: {
COOKING_CONVERSION_REQUIRES_UNIT: "COOKING_CONVERSION_REQUIRES_UNIT";
COOKING_CONVERSION_UNSUPPORTED_UNIT: "COOKING_CONVERSION_UNSUPPORTED_UNIT";
COOKING_UNKNOWN_INGREDIENT: "COOKING_UNKNOWN_INGREDIENT";
};
VariablesErrorCodes: {
EXPECTED_IDENTIFIER: "EXPECTED_IDENTIFIER";
NAME_HAS_QUOTE_MARK: "NAME_HAS_QUOTE_MARK";
NAME_HAS_RESERVED_WORD: "NAME_HAS_RESERVED_WORD";
};
WeatherErrorCodes: {
CITY_NOT_FOUND: "WEATHER_CITY_NOT_FOUND";
FORECAST_API_ERROR: "WEATHER_FORECAST_API_ERROR";
FORECAST_RESPONSE_MALFORMED: "WEATHER_FORECAST_RESPONSE_MALFORMED";
GEOCODING_API_ERROR: "WEATHER_GEOCODING_API_ERROR";
UNKNOWN_QUERY_KIND: "WEATHER_UNKNOWN_QUERY_KIND";
WEATHER_EXPECTED_CITY: "WEATHER_EXPECTED_CITY";
};
WebErrorCodes: {
DENSITY_EXPECTED_NUMBER: "DENSITY_EXPECTED_NUMBER";
WEB_EXPECTED_DENSITY: "WEB_EXPECTED_DENSITY";
WEB_EXPECTED_PIXELS: "WEB_EXPECTED_PIXELS";
WEB_EXPECTED_PIXELS_OR_LENGTH: "WEB_EXPECTED_PIXELS_OR_LENGTH";
WEB_EXPECTED_PX_OR_REM: "WEB_EXPECTED_PX_OR_REM";
WEB_EXPECTED_ROOT_SIZE: "WEB_EXPECTED_ROOT_SIZE";
};
WhatIfErrorCodes: {
SCENARIO_DUPLICATE: "SCENARIO_DUPLICATE";
SCENARIO_UNKNOWN: "SCENARIO_UNKNOWN";
SWEEP_ANSWER_NOT_NUMERIC: "SWEEP_ANSWER_NOT_NUMERIC";
SWEEP_ANSWER_PERCENTAGE: "SWEEP_ANSWER_PERCENTAGE";
SWEEP_DATE_STEP_NOT_DURATION: "SWEEP_DATE_STEP_NOT_DURATION";
SWEEP_OVER_BUDGET: "SWEEP_OVER_BUDGET";
SWEEP_RANGE_MISMATCH: "SWEEP_RANGE_MISMATCH";
SWEEP_RANGE_NOT_NUMERIC: "SWEEP_RANGE_NOT_NUMERIC";
SWEEP_REQUIRES_STEP: "SWEEP_REQUIRES_STEP";
SWEEP_REQUIRES_VARIABLE_NAME: "SWEEP_REQUIRES_VARIABLE_NAME";
SWEEP_STEP_FAILED: "SWEEP_STEP_FAILED";
SWEEP_STEP_WRONG_SIGN: "SWEEP_STEP_WRONG_SIGN";
SWEEP_STEP_ZERO: "SWEEP_STEP_ZERO";
SWEEP_TOO_MANY_STEPS: "SWEEP_TOO_MANY_STEPS";
SWEEP_TOO_MUCH_WORK: "SWEEP_TOO_MUCH_WORK";
WHAT_IF_DUPLICATE_INPUT: "WHAT_IF_DUPLICATE_INPUT";
WHAT_IF_INPUT_PENDING: "WHAT_IF_INPUT_PENDING";
WHAT_IF_NO_DOCUMENT: "WHAT_IF_NO_DOCUMENT";
WHAT_IF_REQUIRES_VARIABLE_NAME: "WHAT_IF_REQUIRES_VARIABLE_NAME";
WHAT_IF_TARGETS_ITSELF: "WHAT_IF_TARGETS_ITSELF";
WHAT_IF_TOO_MANY_INPUTS: "WHAT_IF_TOO_MANY_INPUTS";
};
WorkerErrorCodes: {
WORKER_ARGUMENT_NOT_CLONEABLE: "WORKER_ARGUMENT_NOT_CLONEABLE";
WORKER_CANCELLED: "WORKER_CANCELLED";
WORKER_NOT_INITIALISED: "WORKER_NOT_INITIALISED";
WORKER_TERMINATED: "WORKER_TERMINATED";
WORKER_TRANSPORT_FAILED: "WORKER_TRANSPORT_FAILED";
WORKER_UNKNOWN_METHOD: "WORKER_UNKNOWN_METHOD";
WORKER_UNKNOWN_PACKAGE: "WORKER_UNKNOWN_PACKAGE";
};
};

Defined in: packages/engine/src/packages/ErrorCodeCatalogue.ts:78

Every catalogue, keyed by its export name: the engine’s own layers first, then the built-in packages alphabetically.

ChartErrorCodes: {
PLOT_EXPR_MUST_BE_SYNCHRONOUS: "PLOT_EXPR_MUST_BE_SYNCHRONOUS";
SPARKLINE_NOT_A_SERIES: "SPARKLINE_NOT_A_SERIES";
};

The codes the charts package answers with: plot and as sparkline.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

ChartErrorCodes.PLOT_EXPR_MUST_BE_SYNCHRONOUS

Section titled “ChartErrorCodes.PLOT_EXPR_MUST_BE_SYNCHRONOUS”
readonly PLOT_EXPR_MUST_BE_SYNCHRONOUS: "PLOT_EXPR_MUST_BE_SYNCHRONOUS" = "PLOT_EXPR_MUST_BE_SYNCHRONOUS";

A plot whose expression reaches live data (weather, stocks, a currency rate), which a plot cannot wait for at every point.

readonly SPARKLINE_NOT_A_SERIES: "SPARKLINE_NOT_A_SERIES" = "SPARKLINE_NOT_A_SERIES";

as sparkline given something other than a list or a range of at least two numbers.

ColourErrorCodes: {
COLOUR_BAD_ARGUMENTS: "COLOUR_BAD_ARGUMENTS";
COLOUR_EXPECTED_COLOUR: "COLOUR_EXPECTED_COLOUR";
COLOUR_INVALID: "COLOUR_INVALID";
UNKNOWN_COLOUR_FUNCTION: "UNKNOWN_COLOUR_FUNCTION";
};

Scoped error codes this package owns (see errors/ErrorCode.ts convention).

readonly COLOUR_BAD_ARGUMENTS: "COLOUR_BAD_ARGUMENTS" = "COLOUR_BAD_ARGUMENTS";

A function was called with the wrong number or type of arguments.

readonly COLOUR_EXPECTED_COLOUR: "COLOUR_EXPECTED_COLOUR" = "COLOUR_EXPECTED_COLOUR";

A function expected a colour argument and got something else.

readonly COLOUR_INVALID: "COLOUR_INVALID" = "COLOUR_INVALID";

A string was not a hex colour or a known CSS colour name.

readonly UNKNOWN_COLOUR_FUNCTION: "UNKNOWN_COLOUR_FUNCTION" = "UNKNOWN_COLOUR_FUNCTION";

A colour call (rgb(...), hsl(...)) by a name the colour package does not have.

ConditionalsErrorCodes: {
CHECK_EXPECTED_COMPARISON: "CHECK_EXPECTED_COMPARISON";
CHECK_FAILED: "CHECK_FAILED";
CHECK_INCOMPARABLE: "CHECK_INCOMPARABLE";
CHECK_JOIN_UNSUPPORTED: "CHECK_JOIN_UNSUPPORTED";
NOT_NEEDS_BOOLEAN: "NOT_NEEDS_BOOLEAN";
};

The codes the conditionals package answers with: check lines and negation.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

ConditionalsErrorCodes.CHECK_EXPECTED_COMPARISON

Section titled “ConditionalsErrorCodes.CHECK_EXPECTED_COMPARISON”
readonly CHECK_EXPECTED_COMPARISON: "CHECK_EXPECTED_COMPARISON" = "CHECK_EXPECTED_COMPARISON";

A check whose statement is not a comparison. The message shows the forms a check takes.

readonly CHECK_FAILED: "CHECK_FAILED" = "CHECK_FAILED";

A check whose comparison does not hold. The message says by how much; a host counts these through ParsingResult.checks.

readonly CHECK_INCOMPARABLE: "CHECK_INCOMPARABLE" = "CHECK_INCOMPARABLE";

A check between two values that cannot be compared: text with <, or quantities of different measures.

ConditionalsErrorCodes.CHECK_JOIN_UNSUPPORTED

Section titled “ConditionalsErrorCodes.CHECK_JOIN_UNSUPPORTED”
readonly CHECK_JOIN_UNSUPPORTED: "CHECK_JOIN_UNSUPPORTED" = "CHECK_JOIN_UNSUPPORTED";

A check whose comparisons are joined by something other than and: or, a bitwise operator, or a comparison after a within margin. The message says to join them with and or to bracket a side.

readonly NOT_NEEDS_BOOLEAN: "NOT_NEEDS_BOOLEAN" = "NOT_NEEDS_BOOLEAN";

not or a prefix ! before a value that is not true or false (not 5, !"yes"). The message names what the value is.

ConstantsErrorCodes: {
UNKNOWN_CONSTANT: "UNKNOWN_CONSTANT";
};

The codes the constants package answers with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly UNKNOWN_CONSTANT: "UNKNOWN_CONSTANT" = "UNKNOWN_CONSTANT";

A physical constant asked for by a name the table does not have.

ConvertersErrorCodes: {
AS_CONVERTER_EXPECTED_NAME: "AS_CONVERTER_EXPECTED_NAME";
AS_CONVERTER_EXPECTED_NUMBER: "AS_CONVERTER_EXPECTED_NUMBER";
AS_CONVERTER_UNSUPPORTED_BASE: "AS_CONVERTER_UNSUPPORTED_BASE";
INVALID_DECIMAL_PLACES: "INVALID_DECIMAL_PLACES";
INVALID_ROUNDING_INCREMENT: "INVALID_ROUNDING_INCREMENT";
INVALID_SIGNIFICANT_FIGURES: "INVALID_SIGNIFICANT_FIGURES";
};

The codes the converters package answers with: as <name>, number notations and rounding.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

ConvertersErrorCodes.AS_CONVERTER_EXPECTED_NAME

Section titled “ConvertersErrorCodes.AS_CONVERTER_EXPECTED_NAME”
readonly AS_CONVERTER_EXPECTED_NAME: "AS_CONVERTER_EXPECTED_NAME" = "AS_CONVERTER_EXPECTED_NAME";

as followed by something that is not a converter name, as in 1 as as.

ConvertersErrorCodes.AS_CONVERTER_EXPECTED_NUMBER

Section titled “ConvertersErrorCodes.AS_CONVERTER_EXPECTED_NUMBER”
readonly AS_CONVERTER_EXPECTED_NUMBER: "AS_CONVERTER_EXPECTED_NUMBER" = "AS_CONVERTER_EXPECTED_NUMBER";

A number notation (as engineering, as compact) given something that is not a number or a quantity.

ConvertersErrorCodes.AS_CONVERTER_UNSUPPORTED_BASE

Section titled “ConvertersErrorCodes.AS_CONVERTER_UNSUPPORTED_BASE”
readonly AS_CONVERTER_UNSUPPORTED_BASE: "AS_CONVERTER_UNSUPPORTED_BASE" = "AS_CONVERTER_UNSUPPORTED_BASE";

as base N for a base the engine cannot write numbers in. The message lists the bases it can.

ConvertersErrorCodes.INVALID_DECIMAL_PLACES

Section titled “ConvertersErrorCodes.INVALID_DECIMAL_PLACES”
readonly INVALID_DECIMAL_PLACES: "INVALID_DECIMAL_PLACES" = "INVALID_DECIMAL_PLACES";

to N dp with a place count outside 0 to 100.

ConvertersErrorCodes.INVALID_ROUNDING_INCREMENT

Section titled “ConvertersErrorCodes.INVALID_ROUNDING_INCREMENT”
readonly INVALID_ROUNDING_INCREMENT: "INVALID_ROUNDING_INCREMENT" = "INVALID_ROUNDING_INCREMENT";

to nearest ... followed by something that is not a positive number or a word such as ten or hundred.

ConvertersErrorCodes.INVALID_SIGNIFICANT_FIGURES

Section titled “ConvertersErrorCodes.INVALID_SIGNIFICANT_FIGURES”
readonly INVALID_SIGNIFICANT_FIGURES: "INVALID_SIGNIFICANT_FIGURES" = "INVALID_SIGNIFICANT_FIGURES";

to N sf with a count that is not a whole number from 1 to 17.

CookingErrorCodes: {
GAS_MARK_EXPECTED_TEMPERATURE: "GAS_MARK_EXPECTED_TEMPERATURE";
GAS_MARK_OFF_THE_DIAL: "GAS_MARK_OFF_THE_DIAL";
GAS_MARK_UNKNOWN: "GAS_MARK_UNKNOWN";
SERVINGS_NOT_POSITIVE: "SERVINGS_NOT_POSITIVE";
};

Error codes this package answers with. Each is a fault a cook can act on.

CookingErrorCodes.GAS_MARK_EXPECTED_TEMPERATURE

Section titled “CookingErrorCodes.GAS_MARK_EXPECTED_TEMPERATURE”
readonly GAS_MARK_EXPECTED_TEMPERATURE: "GAS_MARK_EXPECTED_TEMPERATURE" = "GAS_MARK_EXPECTED_TEMPERATURE";

as gas mark was given something that is not an oven temperature.

readonly GAS_MARK_OFF_THE_DIAL: "GAS_MARK_OFF_THE_DIAL" = "GAS_MARK_OFF_THE_DIAL";

An oven temperature that no gas mark stands for, hotter or colder than the dial goes.

readonly GAS_MARK_UNKNOWN: "GAS_MARK_UNKNOWN" = "GAS_MARK_UNKNOWN";

A dial setting the table does not have, such as gas mark 12.

readonly SERVINGS_NOT_POSITIVE: "SERVINGS_NOT_POSITIVE" = "SERVINGS_NOT_POSITIVE";

A serving count that cannot scale a recipe, such as zero.

CoreErrorCodes: {
AGGREGATE_NON_NUMERIC: "AGGREGATE_NON_NUMERIC";
AGGREGATE_PERCENTAGE_MIXED: "AGGREGATE_PERCENTAGE_MIXED";
ALLOCATION_LIMIT_EXCEEDED: "ALLOCATION_LIMIT_EXCEEDED";
AS_CONVERTER_AMBIGUOUS_CASE: "AS_CONVERTER_AMBIGUOUS_CASE";
AS_CONVERTER_PREFIX_CASE: "AS_CONVERTER_PREFIX_CASE";
ASYNC_RESOLVER_FAILED: "ASYNC_RESOLVER_FAILED";
BASE_NOT_FINITE: "BASE_NOT_FINITE";
BIGINT_DIVISION_BY_ZERO: "BIGINT_DIVISION_BY_ZERO";
BIGINT_INEXACT_OPERAND: "BIGINT_INEXACT_OPERAND";
BIGINT_POW_LIMIT_EXCEEDED: "BIGINT_POW_LIMIT_EXCEEDED";
BIGINT_SHIFT_LIMIT_EXCEEDED: "BIGINT_SHIFT_LIMIT_EXCEEDED";
BUILTIN_ARITY_MISMATCH: "BUILTIN_ARITY_MISMATCH";
BYTECODE_OPERAND_OUT_OF_RANGE: "BYTECODE_OPERAND_OUT_OF_RANGE";
CALENDAR_TEMPORAL_UNAVAILABLE: "CALENDAR_TEMPORAL_UNAVAILABLE";
COLLECTION_TOO_LARGE: "COLLECTION_TOO_LARGE";
COLOUR_ARITHMETIC: "COLOUR_ARITHMETIC";
COMBINATION_OVERFLOW: "COMBINATION_OVERFLOW";
COMPOUND_ASSIGN_ASYNC_UNSUPPORTED: "COMPOUND_ASSIGN_ASYNC_UNSUPPORTED";
COMPOUND_ASSIGN_REQUIRES_EXPRESSION: "COMPOUND_ASSIGN_REQUIRES_EXPRESSION";
CONFIG_PATH_NOT_FOUND: "CONFIG_PATH_NOT_FOUND";
CONFIG_PROPERTY_NOT_FOUND: "CONFIG_PROPERTY_NOT_FOUND";
CONFIG_SECTION_NOT_FOUND: "CONFIG_SECTION_NOT_FOUND";
CONSTANT_UNIT_UNSUPPORTED: "CONSTANT_UNIT_UNSUPPORTED";
CONVERT_NON_NUMERIC: "CONVERT_NON_NUMERIC";
CURRENCY_RATE_UNAVAILABLE: "CURRENCY_RATE_UNAVAILABLE";
DATE_CLOCK_INVALID: "DATE_CLOCK_INVALID";
DATE_OFFSET_LIMIT_EXCEEDED: "DATE_OFFSET_LIMIT_EXCEEDED";
DECIMAL_DIVISION_BY_ZERO: "DECIMAL_DIVISION_BY_ZERO";
DECIMAL_INVALID_SCALE: "DECIMAL_INVALID_SCALE";
DECIMAL_NEGATIVE_POWER: "DECIMAL_NEGATIVE_POWER";
DESCENDING_RANGE: "DESCENDING_RANGE";
DETERMINANT_REQUIRES_SQUARE_MATRIX: "DETERMINANT_REQUIRES_SQUARE_MATRIX";
DIMENSION_MISMATCH: "DIMENSION_MISMATCH";
DIMENSIONS_EXPECTED_FORM: "DIMENSIONS_EXPECTED_FORM";
DIRECTION_CONTROL_IN_NAME: "DIRECTION_CONTROL_IN_NAME";
DOCUMENT_ELEMENT_LIMIT_EXCEEDED: "DOCUMENT_ELEMENT_LIMIT_EXCEEDED";
DOCUMENT_TOO_LARGE: "DOCUMENT_TOO_LARGE";
EQUATION_FACTOR_NOT_MATRIX: "EQUATION_FACTOR_NOT_MATRIX";
EQUATION_FACTOR_UNDEFINED: "EQUATION_FACTOR_UNDEFINED";
EQUATION_RHS_NOT_MATRIX: "EQUATION_RHS_NOT_MATRIX";
EQUATION_SEVERAL_UNKNOWNS: "EQUATION_SEVERAL_UNKNOWNS";
EVALUATION_ERROR: "EVALUATION_ERROR";
EXPLAIN_ASYNC_UNSUPPORTED: "EXPLAIN_ASYNC_UNSUPPORTED";
EXPRESSION_TOO_COMPLEX: "EXPRESSION_TOO_COMPLEX";
EXPRESSION_TOO_LONG: "EXPRESSION_TOO_LONG";
FACTOR_TOO_LARGE: "FACTOR_TOO_LARGE";
FACTORIAL_OVERFLOW: "FACTORIAL_OVERFLOW";
FLOAT_TAKES_NUMBER: "FLOAT_TAKES_NUMBER";
FROZEN_DATE_EXPECTED: "FROZEN_DATE_EXPECTED";
FROZEN_UNSUPPORTED: "FROZEN_UNSUPPORTED";
FROZEN_VALUE_MISSING: "FROZEN_VALUE_MISSING";
FUNCTION_ARITY_MISMATCH: "FUNCTION_ARITY_MISMATCH";
FUNCTION_BODY_MUST_BE_SYNCHRONOUS: "FUNCTION_BODY_MUST_BE_SYNCHRONOUS";
FUNCTION_BODY_READS_LINES: "FUNCTION_BODY_READS_LINES";
FUNCTION_CALL_LIMIT_EXCEEDED: "FUNCTION_CALL_LIMIT_EXCEEDED";
FUNCTION_DOMAIN: "FUNCTION_DOMAIN";
FUNCTION_RECURSION_LIMIT_EXCEEDED: "FUNCTION_RECURSION_LIMIT_EXCEEDED";
FUNCTION_TAKES_NUMBER: "FUNCTION_TAKES_NUMBER";
GLOBAL_VARIABLE_NOT_RESOLVED: "GLOBAL_VARIABLE_NOT_RESOLVED";
GOAL_SEEK_ASYNC_UNSUPPORTED: "GOAL_SEEK_ASYNC_UNSUPPORTED";
GOAL_SEEK_LINE_NOT_READY: "GOAL_SEEK_LINE_NOT_READY";
GOAL_SEEK_NESTED: "GOAL_SEEK_NESTED";
GOAL_SEEK_NO_DOCUMENT: "GOAL_SEEK_NO_DOCUMENT";
GOAL_SEEK_TARGET_ERROR: "GOAL_SEEK_TARGET_ERROR";
GOAL_SEEK_TARGET_IS_DEFINITION: "GOAL_SEEK_TARGET_IS_DEFINITION";
HELD_EXPRESSION_READS_LINES: "HELD_EXPRESSION_READS_LINES";
INCOMPATIBLE_UNITS: "INCOMPATIBLE_UNITS";
INFLATION_YEAR_OUT_OF_RANGE: "INFLATION_YEAR_OUT_OF_RANGE";
INSTRUCTION_LIMIT_EXCEEDED: "INSTRUCTION_LIMIT_EXCEEDED";
INTERNAL_MISSING_ANONYMOUS_BODY: "INTERNAL_MISSING_ANONYMOUS_BODY";
INTERNAL_MISSING_FUNCTION_BODY: "INTERNAL_MISSING_FUNCTION_BODY";
INTERNAL_RATIONAL_PARSE: "INTERNAL_RATIONAL_PARSE";
INVALID_CONFIG_PATH: "INVALID_CONFIG_PATH";
INVALID_DATETIME_OP: "INVALID_DATETIME_OP";
INVALID_DECIMAL_LITERAL: "INVALID_DECIMAL_LITERAL";
INVALID_FACTORIAL_INPUT: "INVALID_FACTORIAL_INPUT";
INVALID_INTEGER_OPERAND: "INVALID_INTEGER_OPERAND";
INVALID_MATRIX_SLICE_BOUND: "INVALID_MATRIX_SLICE_BOUND";
INVALID_NUMBER_LITERAL: "INVALID_NUMBER_LITERAL";
INVALID_PHRASE_PATTERN: "INVALID_PHRASE_PATTERN";
INVALID_RANGE: "INVALID_RANGE";
INVALID_RANGE_BOUND: "INVALID_RANGE_BOUND";
INVALID_RATE: "INVALID_RATE";
INVALID_RATE_UNIT: "INVALID_RATE_UNIT";
INVALID_TERM: "INVALID_TERM";
INVALID_TIME_LITERAL: "INVALID_TIME_LITERAL";
INVALID_TIMECODE_UNIT: "INVALID_TIMECODE_UNIT";
INVERSE_REQUIRES_SQUARE_MATRIX: "INVERSE_REQUIRES_SQUARE_MATRIX";
INVISIBLE_CHARACTER_IN_NUMBER: "INVISIBLE_CHARACTER_IN_NUMBER";
IPV6_ARITHMETIC: "IPV6_ARITHMETIC";
LABEL_NOT_A_NAME: "LABEL_NOT_A_NAME";
LINE_FAILED: "LINE_FAILED";
LINE_NOT_YET_EVALUATED: "LINE_NOT_YET_EVALUATED";
LINE_REF_NO_DOCUMENT: "LINE_REF_NO_DOCUMENT";
LINE_RESULT_ERROR: "LINE_RESULT_ERROR";
LINE_RESULT_PENDING: "LINE_RESULT_PENDING";
LIST_ARGUMENT_UNSUPPORTED: "LIST_ARGUMENT_UNSUPPORTED";
LIST_CELL_UNSUPPORTED: "LIST_CELL_UNSUPPORTED";
LIST_CONDITION_UNSUPPORTED: "LIST_CONDITION_UNSUPPORTED";
LIST_CONVERSION_UNSUPPORTED: "LIST_CONVERSION_UNSUPPORTED";
LIST_PERCENTAGE_UNSUPPORTED: "LIST_PERCENTAGE_UNSUPPORTED";
LIST_ROUNDING_NON_NUMERIC: "LIST_ROUNDING_NON_NUMERIC";
MALFORMED_BYTECODE_BIGINT_LITERAL: "MALFORMED_BYTECODE_BIGINT_LITERAL";
MALFORMED_BYTECODE_BODY_KIND: "MALFORMED_BYTECODE_BODY_KIND";
MALFORMED_BYTECODE_CONSTANT_INDEX: "MALFORMED_BYTECODE_CONSTANT_INDEX";
MALFORMED_BYTECODE_OPERAND_TYPE: "MALFORMED_BYTECODE_OPERAND_TYPE";
MALFORMED_BYTECODE_PROGRAM: "MALFORMED_BYTECODE_PROGRAM";
MALFORMED_BYTECODE_TRUNCATED: "MALFORMED_BYTECODE_TRUNCATED";
MALFORMED_BYTECODE_UNKNOWN_OPCODE: "MALFORMED_BYTECODE_UNKNOWN_OPCODE";
MAP_COLLECTION_LENGTH_MISMATCH: "MAP_COLLECTION_LENGTH_MISMATCH";
MAP_REDUCE_ASYNC_UNSUPPORTED: "MAP_REDUCE_ASYNC_UNSUPPORTED";
MAP_REDUCE_REQUIRES_COLLECTION: "MAP_REDUCE_REQUIRES_COLLECTION";
MATRIX_CELL_NO_UNIT: "MATRIX_CELL_NO_UNIT";
MATRIX_CELL_NON_NUMERIC: "MATRIX_CELL_NON_NUMERIC";
MATRIX_CELL_UNITS_DIFFER: "MATRIX_CELL_UNITS_DIFFER";
MATRIX_INDEX_NOT_A_MATRIX: "MATRIX_INDEX_NOT_A_MATRIX";
MATRIX_INDEX_OUT_OF_BOUNDS: "MATRIX_INDEX_OUT_OF_BOUNDS";
MATRIX_POWER_REQUIRES_SQUARE_MATRIX: "MATRIX_POWER_REQUIRES_SQUARE_MATRIX";
MATRIX_POWER_REQUIRES_WHOLE_EXPONENT: "MATRIX_POWER_REQUIRES_WHOLE_EXPONENT";
MATRIX_POWER_UNSUPPORTED: "MATRIX_POWER_UNSUPPORTED";
MATRIX_UNIT_ALGEBRA: "MATRIX_UNIT_ALGEBRA";
MATRIX_UNIT_OPERATION_UNSUPPORTED: "MATRIX_UNIT_OPERATION_UNSUPPORTED";
MULTIPLIER_TAKES_NUMBER: "MULTIPLIER_TAKES_NUMBER";
NESTING_DEPTH_EXCEEDED: "NESTING_DEPTH_EXCEEDED";
NETWORK_DISABLED: "NETWORK_DISABLED";
NO_MATCHING_PHRASE_ALTERNATIVE: "NO_MATCHING_PHRASE_ALTERNATIVE";
NO_PREFIX_PARSELET: "NO_PREFIX_PARSELET";
NON_INTEGER_RANGE_BOUND: "NON_INTEGER_RANGE_BOUND";
NORMALIZED_TOKEN_LIMIT_EXCEEDED: "NORMALIZED_TOKEN_LIMIT_EXCEEDED";
NORMALIZER_PASS_LIMIT_EXCEEDED: "NORMALIZER_PASS_LIMIT_EXCEEDED";
NOT_WHOLE_NUMBER: "NOT_WHOLE_NUMBER";
NUMBER_THEORY_DOMAIN: "NUMBER_THEORY_DOMAIN";
NUMBER_THEORY_EXPECTED_INTEGER: "NUMBER_THEORY_EXPECTED_INTEGER";
NUMBER_THEORY_NO_INVERSE: "NUMBER_THEORY_NO_INVERSE";
OPCODE_POOL_EXHAUSTED: "OPCODE_POOL_EXHAUSTED";
OTHER_SCRIPT_DIGITS: "OTHER_SCRIPT_DIGITS";
PACKAGE_ENGINE_VERSION_INVALID_RANGE: "PACKAGE_ENGINE_VERSION_INVALID_RANGE";
PACKAGE_ENGINE_VERSION_MISMATCH: "PACKAGE_ENGINE_VERSION_MISMATCH";
PACKAGE_NAME_MISSING: "PACKAGE_NAME_MISSING";
PACKAGE_RESOLVER_FUNCTION_MISSING: "PACKAGE_RESOLVER_FUNCTION_MISSING";
PARSE_ERROR: "PARSE_ERROR";
PASS_WORK_BUDGET_EXCEEDED: "PASS_WORK_BUDGET_EXCEEDED";
PERCENT_CHANGE_FAILED: "PERCENT_CHANGE_FAILED";
PERCENT_CHANGE_FROM_ZERO: "PERCENT_CHANGE_FROM_ZERO";
PERCENT_CHANGE_NEGATIVE_BASE: "PERCENT_CHANGE_NEGATIVE_BASE";
PERCENTAGE_NOT_FINITE: "PERCENTAGE_NOT_FINITE";
PERCENTAGE_OF_QUANTITY: "PERCENTAGE_OF_QUANTITY";
PERCENTAGE_OVERFLOW: "PERCENTAGE_OVERFLOW";
PERMUTATION_OVERFLOW: "PERMUTATION_OVERFLOW";
PHRASE_KEYWORD_MISMATCH: "PHRASE_KEYWORD_MISMATCH";
PLOT_INVALID_RANGE: "PLOT_INVALID_RANGE";
PLUGIN_CALL_FAILED: "PLUGIN_CALL_FAILED";
PLUGIN_CALL_FUSION_UNREACHABLE: "PLUGIN_CALL_FUSION_UNREACHABLE";
PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED: "PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED";
PLUGIN_FUNCTION_INDEX_TOO_LARGE: "PLUGIN_FUNCTION_INDEX_TOO_LARGE";
PLUGIN_KEYWORD_COLLISION: "PLUGIN_KEYWORD_COLLISION";
PLUGIN_OPERATOR_COLLISION: "PLUGIN_OPERATOR_COLLISION";
PLUGIN_OPERATOR_UNSUPPORTED: "PLUGIN_OPERATOR_UNSUPPORTED";
PLUGIN_RESULT_NOT_A_VALUE: "PLUGIN_RESULT_NOT_A_VALUE";
PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN: "PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN";
PLUGIN_UNIT_ALIAS_UNREACHABLE: "PLUGIN_UNIT_ALIAS_UNREACHABLE";
PLUGIN_UNIT_COLLISION: "PLUGIN_UNIT_COLLISION";
POWER_NO_REAL_VALUE: "POWER_NO_REAL_VALUE";
PROPORTION_DIVIDE_BY_ZERO: "PROPORTION_DIVIDE_BY_ZERO";
QUANTITY_NON_NUMERIC: "QUANTITY_NON_NUMERIC";
QUOTIENT_UNDEFINED: "QUOTIENT_UNDEFINED";
RANGE_BEFORE_ANOTHER_ARGUMENT: "RANGE_BEFORE_ANOTHER_ARGUMENT";
RANGE_BOUND_GROUP_MALFORMED: "RANGE_BOUND_GROUP_MALFORMED";
RATE_CONVERT_MEASURE_MISMATCH: "RATE_CONVERT_MEASURE_MISMATCH";
RATE_CONVERT_NOT_A_RATE: "RATE_CONVERT_NOT_A_RATE";
RATE_MISSING_DENOMINATOR_UNIT: "RATE_MISSING_DENOMINATOR_UNIT";
RATE_MUL_LEFT_NOT_A_RATE: "RATE_MUL_LEFT_NOT_A_RATE";
RATE_MUL_MEASURE_MISMATCH: "RATE_MUL_MEASURE_MISMATCH";
RATE_MUL_RIGHT_MISSING_UNIT: "RATE_MUL_RIGHT_MISSING_UNIT";
REDUCE_EMPTY_COLLECTION: "REDUCE_EMPTY_COLLECTION";
REMAINDER_UNDEFINED: "REMAINDER_UNDEFINED";
RESIZE_EXPECTED_SHAPE: "RESIZE_EXPECTED_SHAPE";
SETTLE_TIMEOUT: "SETTLE_TIMEOUT";
SETTLE_TIMEOUT_INVALID: "SETTLE_TIMEOUT_INVALID";
SINGULAR_MATRIX: "SINGULAR_MATRIX";
SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED";
SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING";
SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE";
SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH";
SOLVE_REQUIRES_VARIABLE_NAME: "SOLVE_REQUIRES_VARIABLE_NAME";
STACK_LIMIT_EXCEEDED: "STACK_LIMIT_EXCEEDED";
STACK_UNDERFLOW: "STACK_UNDERFLOW";
STATISTIC_NOT_FINITE: "STATISTIC_NOT_FINITE";
SYMBOLIC_ASYNC_UNSUPPORTED: "SYMBOLIC_ASYNC_UNSUPPORTED";
SYMBOLIC_BOUND_INVALID: "SYMBOLIC_BOUND_INVALID";
SYMBOLIC_DERIVATIVE_ORDER_LIMIT: "SYMBOLIC_DERIVATIVE_ORDER_LIMIT";
SYMBOLIC_DIVISION_BY_ZERO: "SYMBOLIC_DIVISION_BY_ZERO";
SYMBOLIC_FACTOR_LIMIT_EXCEEDED: "SYMBOLIC_FACTOR_LIMIT_EXCEEDED";
SYMBOLIC_FORMULA_VALUE_UNSUPPORTED: "SYMBOLIC_FORMULA_VALUE_UNSUPPORTED";
SYMBOLIC_INTEGRAL_IMPROPER: "SYMBOLIC_INTEGRAL_IMPROPER";
SYMBOLIC_INTEGRAL_UNSETTLED: "SYMBOLIC_INTEGRAL_UNSETTLED";
SYMBOLIC_INTEGRAL_UNSUPPORTED: "SYMBOLIC_INTEGRAL_UNSUPPORTED";
SYMBOLIC_INVERSE_DIMENSION_LIMIT: "SYMBOLIC_INVERSE_DIMENSION_LIMIT";
SYMBOLIC_JACOBIAN_NO_VARIABLES: "SYMBOLIC_JACOBIAN_NO_VARIABLES";
SYMBOLIC_LIMIT_DIVERGES: "SYMBOLIC_LIMIT_DIVERGES";
SYMBOLIC_LIMIT_SIDES_DISAGREE: "SYMBOLIC_LIMIT_SIDES_DISAGREE";
SYMBOLIC_LIMIT_UNDEFINED: "SYMBOLIC_LIMIT_UNDEFINED";
SYMBOLIC_LIMIT_UNSETTLED: "SYMBOLIC_LIMIT_UNSETTLED";
SYMBOLIC_LIMIT_UNSUPPORTED: "SYMBOLIC_LIMIT_UNSUPPORTED";
SYMBOLIC_NODE_LIMIT_EXCEEDED: "SYMBOLIC_NODE_LIMIT_EXCEEDED";
SYMBOLIC_NONFINITE_OPERAND: "SYMBOLIC_NONFINITE_OPERAND";
SYMBOLIC_QUANTITY_OPERAND: "SYMBOLIC_QUANTITY_OPERAND";
SYMBOLIC_RATIONAL_OVERFLOW: "SYMBOLIC_RATIONAL_OVERFLOW";
SYMBOLIC_REQUIRES_BOTH_BOUNDS: "SYMBOLIC_REQUIRES_BOTH_BOUNDS";
SYMBOLIC_REQUIRES_LIMIT_POINT: "SYMBOLIC_REQUIRES_LIMIT_POINT";
SYMBOLIC_REQUIRES_VARIABLE_NAME: "SYMBOLIC_REQUIRES_VARIABLE_NAME";
SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT: "SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT";
SYMBOLIC_SOLVE_INCOMPLETE: "SYMBOLIC_SOLVE_INCOMPLETE";
SYMBOLIC_SOLVE_NO_ROOT_FOUND: "SYMBOLIC_SOLVE_NO_ROOT_FOUND";
SYMBOLIC_SOLVE_TOO_MANY_ROOTS: "SYMBOLIC_SOLVE_TOO_MANY_ROOTS";
SYMBOLIC_SOLVE_UNSUPPORTED: "SYMBOLIC_SOLVE_UNSUPPORTED";
SYMBOLIC_TAYLOR_DEGREE_LIMIT: "SYMBOLIC_TAYLOR_DEGREE_LIMIT";
SYMBOLIC_TAYLOR_INEXACT: "SYMBOLIC_TAYLOR_INEXACT";
SYMBOLIC_UNSUPPORTED_FUNCTION: "SYMBOLIC_UNSUPPORTED_FUNCTION";
TEMPORAL_IMPLEMENTATION_INVALID: "TEMPORAL_IMPLEMENTATION_INVALID";
TEMPORAL_TIME_ZONE_UNKNOWN: "TEMPORAL_TIME_ZONE_UNKNOWN";
TERNARY_UNSUPPORTED: "TERNARY_UNSUPPORTED";
TEXT_ARITHMETIC: "TEXT_ARITHMETIC";
TEXT_COMPARISON: "TEXT_COMPARISON";
TEXT_NOT_A_NUMBER: "TEXT_NOT_A_NUMBER";
THEREFORE_ASYNC_UNSUPPORTED: "THEREFORE_ASYNC_UNSUPPORTED";
THEREFORE_REQUIRES_EXPRESSION: "THEREFORE_REQUIRES_EXPRESSION";
TIMECODE_FPS_MISMATCH: "TIMECODE_FPS_MISMATCH";
TOO_MANY_ANONYMOUS_BODIES: "TOO_MANY_ANONYMOUS_BODIES";
TOO_MANY_FUNCTION_DEFINITIONS: "TOO_MANY_FUNCTION_DEFINITIONS";
TOO_MANY_NUMERIC_CONSTANTS: "TOO_MANY_NUMERIC_CONSTANTS";
TOO_MANY_STRING_CONSTANTS: "TOO_MANY_STRING_CONSTANTS";
TRACE_NO_DOCUMENT: "TRACE_NO_DOCUMENT";
TRACE_NO_SUCH_LINE: "TRACE_NO_SUCH_LINE";
TRIG_UNDEFINED: "TRIG_UNDEFINED";
TRIP_EXPECTED_AT: "TRIP_EXPECTED_AT";
UNCERTAINTY_UNIT_MISMATCH: "UNCERTAINTY_UNIT_MISMATCH";
UNCERTAINTY_WITHOUT_UNIT: "UNCERTAINTY_WITHOUT_UNIT";
UNDEFINED_FUNCTION: "UNDEFINED_FUNCTION";
UNDEFINED_VARIABLE: "UNDEFINED_VARIABLE";
UNEXPECTED_END: "UNEXPECTED_END";
UNEXPECTED_END_OF_INPUT: "UNEXPECTED_END_OF_INPUT";
UNEXPECTED_ERROR: "UNEXPECTED_ERROR";
UNEXPECTED_PENDING_RESULT: "UNEXPECTED_PENDING_RESULT";
UNEXPECTED_TOKEN_TYPE: "UNEXPECTED_TOKEN_TYPE";
UNEXPECTED_TRAILING_TOKEN: "UNEXPECTED_TRAILING_TOKEN";
UNIT_AFTER_UNIT: "UNIT_AFTER_UNIT";
UNIT_IN_EXPONENT: "UNIT_IN_EXPONENT";
UNIT_POWER_UNSUPPORTED: "UNIT_POWER_UNSUPPORTED";
UNIT_PRODUCT_UNSUPPORTED: "UNIT_PRODUCT_UNSUPPORTED";
UNIT_QUOTIENT_UNSUPPORTED: "UNIT_QUOTIENT_UNSUPPORTED";
UNIT_RECIPROCAL_UNSUPPORTED: "UNIT_RECIPROCAL_UNSUPPORTED";
UNIT_ROOT_UNSUPPORTED: "UNIT_ROOT_UNSUPPORTED";
UNKNOWN_AS_CONVERTER: "UNKNOWN_AS_CONVERTER";
UNKNOWN_BUILTIN_FUNCTION: "UNKNOWN_BUILTIN_FUNCTION";
UNKNOWN_ERROR: "UNKNOWN_ERROR";
UNKNOWN_FUNCTION: "UNKNOWN_FUNCTION";
UNKNOWN_PLUGIN_FUNCTION: "UNKNOWN_PLUGIN_FUNCTION";
UNKNOWN_SAVINGS_PERIOD: "UNKNOWN_SAVINGS_PERIOD";
UNKNOWN_UNIT: "UNKNOWN_UNIT";
UNTERMINATED_STRING: "UNTERMINATED_STRING";
USER_FUNCTION_ASYNC_UNSUPPORTED: "USER_FUNCTION_ASYNC_UNSUPPORTED";
USER_FUNCTION_INVALID_PARAM_NAME: "USER_FUNCTION_INVALID_PARAM_NAME";
USER_FUNCTION_NO_PARAMS: "USER_FUNCTION_NO_PARAMS";
WEIGHTED_AVERAGE_ZERO_WEIGHT: "WEIGHTED_AVERAGE_ZERO_WEIGHT";
WHAT_IF_IN_GOAL_SEEK: "WHAT_IF_IN_GOAL_SEEK";
WHAT_IF_INPUT_NOT_USED: "WHAT_IF_INPUT_NOT_USED";
WHAT_IF_LINE_OUT_OF_RANGE: "WHAT_IF_LINE_OUT_OF_RANGE";
WHAT_IF_LIVE_DATA: "WHAT_IF_LIVE_DATA";
WHAT_IF_NESTED: "WHAT_IF_NESTED";
WHAT_IF_OVERRIDE_INVALID: "WHAT_IF_OVERRIDE_INVALID";
WHAT_IF_TARGET_ERROR: "WHAT_IF_TARGET_ERROR";
WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS: "WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS";
WHAT_IF_TARGET_NOT_A_CALCULATION: "WHAT_IF_TARGET_NOT_A_CALCULATION";
WHAT_IF_WRITES_GLOBAL: "WHAT_IF_WRITES_GLOBAL";
WORKDAY_OFFSET_EXPECTED_DATE: "WORKDAY_OFFSET_EXPECTED_DATE";
WORKDAYS_BETWEEN_EXPECTED_DATES: "WORKDAYS_BETWEEN_EXPECTED_DATES";
WORKDAYS_BETWEEN_RANGE_TOO_LARGE: "WORKDAYS_BETWEEN_RANGE_TOO_LARGE";
};

The codes the engine’s own layers raise: the lexer, the parser, the VM, the engine and the document passes, and the errors layer’s own fallbacks. They are grouped by stage in the comments; the names predate any convention and keep their spellings, so a new code follows a scoped, prefixed style such as STACK_UNDERFLOW.

readonly AGGREGATE_NON_NUMERIC: "AGGREGATE_NON_NUMERIC" = "AGGREGATE_NON_NUMERIC";

A list aggregate (total of, average of, a line range) meeting something that is not a number or a quantity. The message names what it found.

readonly AGGREGATE_PERCENTAGE_MIXED: "AGGREGATE_PERCENTAGE_MIXED" = "AGGREGATE_PERCENTAGE_MIXED";

An aggregate (sum(10%, 100), average of 10%, 5 m, max(10%, 0.5), total above over a column) meeting a percentage beside a value that is not one. Percentages alone answer a percentage (sum(10%, 20%) is 30%); the message names the percentage and the kind of the other value, and gives the percentage as the number it stands for.

readonly ALLOCATION_LIMIT_EXCEEDED: "ALLOCATION_LIMIT_EXCEEDED" = "ALLOCATION_LIMIT_EXCEEDED";

One evaluation asking for more elements (list cells, matrix cells) than vm.maxAllocatedElements allows, even inside a single operation. A safety limit that describes this line; the host may raise it.

CoreErrorCodes.AS_CONVERTER_AMBIGUOUS_CASE

Section titled “CoreErrorCodes.AS_CONVERTER_AMBIGUOUS_CASE”
readonly AS_CONVERTER_AMBIGUOUS_CASE: "AS_CONVERTER_AMBIGUOUS_CASE" = "AS_CONVERTER_AMBIGUOUS_CASE";

as mw: the target, read regardless of case, could be two units whose prefixes differ only in case (mW and MW), so it is refused rather than guessed (#824).

readonly AS_CONVERTER_PREFIX_CASE: "AS_CONVERTER_PREFIX_CASE" = "AS_CONVERTER_PREFIX_CASE";

as MV when only mV is a unit: reading it regardless of case would turn a mega into a milli, so it is refused by name (#824).

readonly ASYNC_RESOLVER_FAILED: "ASYNC_RESOLVER_FAILED" = "ASYNC_RESOLVER_FAILED";

A live value that failed to fetch several times in a row, reported rather than retried again. Editing the line tries again.

readonly BASE_NOT_FINITE: "BASE_NOT_FINITE" = "BASE_NOT_FINITE";

An infinity or a result with no value written in a base: (1/0) in hex, 2^4000 in binary, hex(1/0). It has no digits; a whole number written with n (2n^4000) keeps every digit.

readonly BIGINT_DIVISION_BY_ZERO: "BIGINT_DIVISION_BY_ZERO" = "BIGINT_DIVISION_BY_ZERO";

10n / 0n or 10n mod 0n. A big-integer division is exact, and an exact division by zero has no answer, unlike 1 / 0, which is Infinity.

readonly BIGINT_INEXACT_OPERAND: "BIGINT_INEXACT_OPERAND" = "BIGINT_INEXACT_OPERAND";

A value with no whole-number form (a fraction, an infinity) meeting a big integer: 1n + 0.5, 5n / pi.

readonly BIGINT_POW_LIMIT_EXCEEDED: "BIGINT_POW_LIMIT_EXCEEDED" = "BIGINT_POW_LIMIT_EXCEEDED";

A ^ on a big integer whose exact result would be too large to compute (2n ^ 100000). Refused rather than answered as Infinity; a fractional or negative exponent uses doubles instead.

CoreErrorCodes.BIGINT_SHIFT_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.BIGINT_SHIFT_LIMIT_EXCEEDED”
readonly BIGINT_SHIFT_LIMIT_EXCEEDED: "BIGINT_SHIFT_LIMIT_EXCEEDED" = "BIGINT_SHIFT_LIMIT_EXCEEDED";

A << or >> on a big integer whose exact result would be too large to compute. Refused rather than answered in doubles as Infinity.

readonly BUILTIN_ARITY_MISMATCH: "BUILTIN_ARITY_MISMATCH" = "BUILTIN_ARITY_MISMATCH";

A built-in function called with the wrong number of arguments: sqrt(), atan2(1), sqrt(1, 2, 3). Separate from FUNCTION_ARITY_MISMATCH, so a host can word the two differently.

CoreErrorCodes.BYTECODE_OPERAND_OUT_OF_RANGE

Section titled “CoreErrorCodes.BYTECODE_OPERAND_OUT_OF_RANGE”
readonly BYTECODE_OPERAND_OUT_OF_RANGE: "BYTECODE_OPERAND_OUT_OF_RANGE" = "BYTECODE_OPERAND_OUT_OF_RANGE";

A compiled operand outside 0 to 255, or a jump outside the program. A package-authoring fault, reported at compile time rather than letting the program read the wrong constant.

CoreErrorCodes.CALENDAR_TEMPORAL_UNAVAILABLE

Section titled “CoreErrorCodes.CALENDAR_TEMPORAL_UNAVAILABLE”
readonly CALENDAR_TEMPORAL_UNAVAILABLE: "CALENDAR_TEMPORAL_UNAVAILABLE" = "CALENDAR_TEMPORAL_UNAVAILABLE";

calendar: "temporal" was asked for on a runtime with no Temporal. Refused rather than silently computing on Date, because a host that named Temporal did so to be sure what it was computing on. Recoverable.

readonly COLLECTION_TOO_LARGE: "COLLECTION_TOO_LARGE" = "COLLECTION_TOO_LARGE";

A list or range with more elements than vm.maxCollectionSize allows. A safety limit; the host may raise it.

readonly COLOUR_ARITHMETIC: "COLOUR_ARITHMETIC" = "COLOUR_ARITHMETIC";

A colour in arithmetic, a numeric function, an order or a conversion to a form of a number (#ff0000 + 2, sqrt(#ff0000), #ff0000 < 3). A colour is three channels, not one number; the message points at reading a channel out, as in red(#3366cc).

readonly COMBINATION_OVERFLOW: "COMBINATION_OVERFLOW" = "COMBINATION_OVERFLOW";

A combination count past the largest number a double can hold.

CoreErrorCodes.COMPOUND_ASSIGN_ASYNC_UNSUPPORTED

Section titled “CoreErrorCodes.COMPOUND_ASSIGN_ASYNC_UNSUPPORTED”
readonly COMPOUND_ASSIGN_ASYNC_UNSUPPORTED: "COMPOUND_ASSIGN_ASYNC_UNSUPPORTED" = "COMPOUND_ASSIGN_ASYNC_UNSUPPORTED";

A running total (+= / -=) whose right-hand side calls an async plugin (weather/stocks/currency). The same v1 scope restriction as the "=>" and user-function bodies.

CoreErrorCodes.COMPOUND_ASSIGN_REQUIRES_EXPRESSION

Section titled “CoreErrorCodes.COMPOUND_ASSIGN_REQUIRES_EXPRESSION”
readonly COMPOUND_ASSIGN_REQUIRES_EXPRESSION: "COMPOUND_ASSIGN_REQUIRES_EXPRESSION" = "COMPOUND_ASSIGN_REQUIRES_EXPRESSION";

A compound assignment (name += expr / name -= expr) with nothing on the right, a line half-typed on the way to total += 5.

readonly CONFIG_PATH_NOT_FOUND: "CONFIG_PATH_NOT_FOUND" = "CONFIG_PATH_NOT_FOUND";

A configuration read or write named a path that does not exist. A host configuration fault.

readonly CONFIG_PROPERTY_NOT_FOUND: "CONFIG_PROPERTY_NOT_FOUND" = "CONFIG_PROPERTY_NOT_FOUND";

A configuration path whose property does not exist in its section. A host configuration fault.

readonly CONFIG_SECTION_NOT_FOUND: "CONFIG_SECTION_NOT_FOUND" = "CONFIG_SECTION_NOT_FOUND";

A configuration path whose section does not exist. A host configuration fault.

readonly CONSTANT_UNIT_UNSUPPORTED: "CONSTANT_UNIT_UNSUPPORTED" = "CONSTANT_UNIT_UNSUPPORTED";

A physical constant whose unit the engine cannot spell yet, converted or combined with a quantity. The constant stays a plain number.

readonly CONVERT_NON_NUMERIC: "CONVERT_NON_NUMERIC" = "CONVERT_NON_NUMERIC";

Something with no single amount (a list, text, a date) converted to a unit.

readonly CURRENCY_RATE_UNAVAILABLE: "CURRENCY_RATE_UNAVAILABLE" = "CURRENCY_RATE_UNAVAILABLE";

A conversion between two currencies with no exchange rate available for the pair. A host with live data may prime a rate and evaluate again.

readonly DATE_CLOCK_INVALID: "DATE_CLOCK_INVALID" = "DATE_CLOCK_INVALID";

The clock a host gave a calendar backend (dateCalendarInZone(zone, { now }), createTemporalCalendar(Temporal, { now })) is not a function, answered something that is not a moment Date can hold (NaN, an infinity, a number past 8.64e15, not a number), or threw. Not a function is refused when the backend is built; a bad reading is refused on the line that read the clock (today, now), and the rest of the document goes on (#721, #826).

readonly DATE_OFFSET_LIMIT_EXCEEDED: "DATE_OFFSET_LIMIT_EXCEEDED" = "DATE_OFFSET_LIMIT_EXCEEDED";

A <date> + N workdays offset outside date.maxOffsetYears and date.minOffsetYears. Workdays walk the calendar a day at a time, so their cost is the offset.

readonly DECIMAL_DIVISION_BY_ZERO: "DECIMAL_DIVISION_BY_ZERO" = "DECIMAL_DIVISION_BY_ZERO";

An exact decimal division reached the decimal layer with a zero divisor. An engine invariant: the operators refuse a zero divisor first, so this is worth reporting.

readonly DECIMAL_INVALID_SCALE: "DECIMAL_INVALID_SCALE" = "DECIMAL_INVALID_SCALE";

An exact decimal built with a negative or fractional scale. An engine invariant, worth reporting.

readonly DECIMAL_NEGATIVE_POWER: "DECIMAL_NEGATIVE_POWER" = "DECIMAL_NEGATIVE_POWER";

A power of ten asked for with a negative exponent inside the decimal layer. An engine invariant, worth reporting.

readonly DESCENDING_RANGE: "DESCENDING_RANGE" = "DESCENDING_RANGE";

A range whose first bound is above its second (5:1). The message names each bound as written, with the number it came to, and suggests the other order.

CoreErrorCodes.DETERMINANT_REQUIRES_SQUARE_MATRIX

Section titled “CoreErrorCodes.DETERMINANT_REQUIRES_SQUARE_MATRIX”
readonly DETERMINANT_REQUIRES_SQUARE_MATRIX: "DETERMINANT_REQUIRES_SQUARE_MATRIX" = "DETERMINANT_REQUIRES_SQUARE_MATRIX";

det of a matrix that is not square.

readonly DIMENSION_MISMATCH: "DIMENSION_MISMATCH" = "DIMENSION_MISMATCH";

Two matrices of shapes that do not fit the operation: added with different shapes, or multiplied where the columns of the first are not the rows of the second.

readonly DIMENSIONS_EXPECTED_FORM: "DIMENSIONS_EXPECTED_FORM" = "DIMENSIONS_EXPECTED_FORM";

A width and a height were written with nothing asked of the pair (1920x1080 on its own). Recoverable.

readonly DIRECTION_CONTROL_IN_NAME: "DIRECTION_CONTROL_IN_NAME" = "DIRECTION_CONTROL_IN_NAME";

A name, number or unit holds an invisible character that changes the direction text is shown in (U+202A to U+202E, U+2066 to U+2069, U+200E, U+200F, U+061C), so it would show as something other than what the engine reads. The message names the character by its code point; the reader deletes it. Text in quotes, a comment, a heading and a label keep such characters.

CoreErrorCodes.DOCUMENT_ELEMENT_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.DOCUMENT_ELEMENT_LIMIT_EXCEEDED”
readonly DOCUMENT_ELEMENT_LIMIT_EXCEEDED: "DOCUMENT_ELEMENT_LIMIT_EXCEEDED" = "DOCUMENT_ELEMENT_LIMIT_EXCEEDED";

A document whose answers together keep more elements than vm.maxRetainedElements allows. The line that crossed it is refused, and a name it assigned is let go.

readonly DOCUMENT_TOO_LARGE: "DOCUMENT_TOO_LARGE" = "DOCUMENT_TOO_LARGE";

A document with more lines than performance.maxDocumentLines. The per-line limits above bound what one line may ask for and say nothing about how many lines there are; two hundred thousand of 1 + 1 exhausted the heap on the line records alone. Recoverable.

readonly EQUATION_FACTOR_NOT_MATRIX: "EQUATION_FACTOR_NOT_MATRIX" = "EQUATION_FACTOR_NOT_MATRIX";

A matrix equation whose factor is not a matrix.

readonly EQUATION_FACTOR_UNDEFINED: "EQUATION_FACTOR_UNDEFINED" = "EQUATION_FACTOR_UNDEFINED";

A matrix equation (A * x = b) naming a factor no line defines yet.

readonly EQUATION_RHS_NOT_MATRIX: "EQUATION_RHS_NOT_MATRIX" = "EQUATION_RHS_NOT_MATRIX";

A matrix equation whose right-hand side is not a matrix.

readonly EQUATION_SEVERAL_UNKNOWNS: "EQUATION_SEVERAL_UNKNOWNS" = "EQUATION_SEVERAL_UNKNOWNS";

An equation on a line of its own with two or more unknowns, as in (salary / 12) * rate / 100 = net. An equation line is solved for its one unknown, so the message says to give the others values above it or to name one with solve.

readonly EVALUATION_ERROR: "EVALUATION_ERROR" = "EVALUATION_ERROR";

A line failed and no more specific code was kept for it. A fallback; the message says what happened.

readonly EXPLAIN_ASYNC_UNSUPPORTED: "EXPLAIN_ASYNC_UNSUPPORTED" = "EXPLAIN_ASYNC_UNSUPPORTED";

explainLine() asked to derive a line that resolves data asynchronously (a live-data or async-plugin line). A derivation is a sequence of settled intermediate values, which a pending result has none of, so the line is refused rather than explained with a hole in it.

readonly EXPRESSION_TOO_COMPLEX: "EXPRESSION_TOO_COMPLEX" = "EXPRESSION_TOO_COMPLEX";

A line whose complexity score passes validation.maxComplexity. Refused before it is read; the host may raise the limit.

readonly EXPRESSION_TOO_LONG: "EXPRESSION_TOO_LONG" = "EXPRESSION_TOO_LONG";

A line longer than validation.maxExpressionLength characters. Refused before it is read; the host may raise the limit.

readonly FACTOR_TOO_LARGE: "FACTOR_TOO_LARGE" = "FACTOR_TOO_LARGE";

factor of a whole number past 2^64, which is refused rather than left to run.

readonly FACTORIAL_OVERFLOW: "FACTORIAL_OVERFLOW" = "FACTORIAL_OVERFLOW";

A factorial past 170!, the largest a double can hold.

readonly FLOAT_TAKES_NUMBER: "FLOAT_TAKES_NUMBER" = "FLOAT_TAKES_NUMBER";

float("hello"), float(5 km): float given something with no plain number, text that is not a number or a quantity with a unit. The reader passes a number (#828).

readonly FROZEN_DATE_EXPECTED: "FROZEN_DATE_EXPECTED" = "FROZEN_DATE_EXPECTED";

frozen on followed by something that is not a single date at the end of the line (frozen on tuesday, a bare frozen on). Raised at compile time, with an example of the form. A day that does not exist (frozen on 2026-02-30) reports the date literal’s own error instead.

readonly FROZEN_UNSUPPORTED: "FROZEN_UNSUPPORTED" = "FROZEN_UNSUPPORTED";

frozen on a line with no single answer to keep: a function definition, a global cell write, or a definition part-way through the line. Raised at compile time, naming the shape.

readonly FROZEN_VALUE_MISSING: "FROZEN_VALUE_MISSING" = "FROZEN_VALUE_MISSING";

A line ending frozen on <day> whose engine holds no value frozen that day, and the day is not today. A recoverable Error value, raised by the VM in place of running the line: a frozen answer is never fetched again, so the line is refused rather than frozen at today’s figure. The message names the day, and the day of the value that is stored when there is one.

readonly FUNCTION_ARITY_MISMATCH: "FUNCTION_ARITY_MISMATCH" = "FUNCTION_ARITY_MISMATCH";

A function of the reader’s own called with a different number of arguments than it was defined with.

CoreErrorCodes.FUNCTION_BODY_MUST_BE_SYNCHRONOUS

Section titled “CoreErrorCodes.FUNCTION_BODY_MUST_BE_SYNCHRONOUS”
readonly FUNCTION_BODY_MUST_BE_SYNCHRONOUS: "FUNCTION_BODY_MUST_BE_SYNCHRONOUS" = "FUNCTION_BODY_MUST_BE_SYNCHRONOUS";

A function definition whose body reaches live data (weather, stocks, a currency rate). Refused when it is defined, since a function body must be synchronous.

readonly FUNCTION_BODY_READS_LINES: "FUNCTION_BODY_READS_LINES" = "FUNCTION_BODY_READS_LINES";

A function definition whose body reads other lines (f(x) = x + prev, x + line 1, a total above, a tag or a table column). Refused when it is defined, since a body runs wherever it is called, with no document lines to read; the value is passed in as an argument instead.

CoreErrorCodes.FUNCTION_CALL_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.FUNCTION_CALL_LIMIT_EXCEEDED”
readonly FUNCTION_CALL_LIMIT_EXCEEDED: "FUNCTION_CALL_LIMIT_EXCEEDED" = "FUNCTION_CALL_LIMIT_EXCEEDED";

One evaluation making more calls to functions of the reader’s own than the budget allows, however shallow each call is. A safety limit against a chain of functions that multiplies its calls.

readonly FUNCTION_DOMAIN: "FUNCTION_DOMAIN" = "FUNCTION_DOMAIN";

A function called outside the numbers it is defined for, such as ln(0). The message names the domain.

CoreErrorCodes.FUNCTION_RECURSION_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.FUNCTION_RECURSION_LIMIT_EXCEEDED”
readonly FUNCTION_RECURSION_LIMIT_EXCEEDED: "FUNCTION_RECURSION_LIMIT_EXCEEDED" = "FUNCTION_RECURSION_LIMIT_EXCEEDED";

A function of the reader’s own that calls itself too deeply, as f(x) = f(x) does. Refused by name rather than overflowing the native stack.

readonly FUNCTION_TAKES_NUMBER: "FUNCTION_TAKES_NUMBER" = "FUNCTION_TAKES_NUMBER";

A function that takes plain numbers given a quantity, as in sin(1 m), or a mix of numbers and quantities.

CoreErrorCodes.GLOBAL_VARIABLE_NOT_RESOLVED

Section titled “CoreErrorCodes.GLOBAL_VARIABLE_NOT_RESOLVED”
readonly GLOBAL_VARIABLE_NOT_RESOLVED: "GLOBAL_VARIABLE_NOT_RESOLVED" = "GLOBAL_VARIABLE_NOT_RESOLVED";

A global :name read before its value arrived from the shared store. It resolves on a later evaluation.

CoreErrorCodes.GOAL_SEEK_ASYNC_UNSUPPORTED

Section titled “CoreErrorCodes.GOAL_SEEK_ASYNC_UNSUPPORTED”
readonly GOAL_SEEK_ASYNC_UNSUPPORTED: "GOAL_SEEK_ASYNC_UNSUPPORTED" = "GOAL_SEEK_ASYNC_UNSUPPORTED";

Goal seek targeting a line that depends on live data, which a re-run cannot fetch.

readonly GOAL_SEEK_LINE_NOT_READY: "GOAL_SEEK_LINE_NOT_READY" = "GOAL_SEEK_LINE_NOT_READY";

Goal seek targeting a line with no evaluated expression: below it, past the end, or prose.

readonly GOAL_SEEK_NESTED: "GOAL_SEEK_NESTED" = "GOAL_SEEK_NESTED";

Goal seek run from inside another goal seek’s re-run, or targeting its own line. Refused, since the re-runs would compound.

readonly GOAL_SEEK_NO_DOCUMENT: "GOAL_SEEK_NO_DOCUMENT" = "GOAL_SEEK_NO_DOCUMENT";

Goal seek with no document to re-run: the single-expression entry point, or the batch pass, which evaluates each line once. evaluateDocument and a live editor solve it.

readonly GOAL_SEEK_TARGET_ERROR: "GOAL_SEEK_TARGET_ERROR" = "GOAL_SEEK_TARGET_ERROR";

Goal seek whose target line failed while it was being re-run. The message is the line’s own.

CoreErrorCodes.GOAL_SEEK_TARGET_IS_DEFINITION

Section titled “CoreErrorCodes.GOAL_SEEK_TARGET_IS_DEFINITION”
readonly GOAL_SEEK_TARGET_IS_DEFINITION: "GOAL_SEEK_TARGET_IS_DEFINITION" = "GOAL_SEEK_TARGET_IS_DEFINITION";

Goal seek targeting the line that defines a variable, which a re-run would overwrite. The message says to target the line that uses it.

CoreErrorCodes.HELD_EXPRESSION_READS_LINES

Section titled “CoreErrorCodes.HELD_EXPRESSION_READS_LINES”
readonly HELD_EXPRESSION_READS_LINES: "HELD_EXPRESSION_READS_LINES" = "HELD_EXPRESSION_READS_LINES";

A held expression that reads other lines (map(x + prev, 1:3), sum(x + line 1, 1:3), plot x + prev from 0 to 1, der(x^2 + prev, x)). Refused when the line is read, since the expression is worked out away from the line, with no lines to read; the message says to name the line’s value first (p = prev) and use the name.

readonly INCOMPATIBLE_UNITS: "INCOMPATIBLE_UNITS" = "INCOMPATIBLE_UNITS";

Two quantities that do not measure the same thing met where they must: 5 kg + 3 m, 5 kg to m. The message names both measures.

CoreErrorCodes.INFLATION_YEAR_OUT_OF_RANGE

Section titled “CoreErrorCodes.INFLATION_YEAR_OUT_OF_RANGE”
readonly INFLATION_YEAR_OUT_OF_RANGE: "INFLATION_YEAR_OUT_OF_RANGE" = "INFLATION_YEAR_OUT_OF_RANGE";

An inflation adjustment for a year outside the bundled price index.

readonly INSTRUCTION_LIMIT_EXCEEDED: "INSTRUCTION_LIMIT_EXCEEDED" = "INSTRUCTION_LIMIT_EXCEEDED";

One evaluation ran more VM instructions than vm.maxInstructions allows. A safety limit against a line that would run too long; the host may raise the limit.

CoreErrorCodes.INTERNAL_MISSING_ANONYMOUS_BODY

Section titled “CoreErrorCodes.INTERNAL_MISSING_ANONYMOUS_BODY”
readonly INTERNAL_MISSING_ANONYMOUS_BODY: "INTERNAL_MISSING_ANONYMOUS_BODY" = "INTERNAL_MISSING_ANONYMOUS_BODY";

A compiled program naming a map or reduce body it does not carry. A compiler or VM fault, worth reporting.

CoreErrorCodes.INTERNAL_MISSING_FUNCTION_BODY

Section titled “CoreErrorCodes.INTERNAL_MISSING_FUNCTION_BODY”
readonly INTERNAL_MISSING_FUNCTION_BODY: "INTERNAL_MISSING_FUNCTION_BODY" = "INTERNAL_MISSING_FUNCTION_BODY";

A compiled program naming a function body it does not carry. A compiler or VM fault, worth reporting.

readonly INTERNAL_RATIONAL_PARSE: "INTERNAL_RATIONAL_PARSE" = "INTERNAL_RATIONAL_PARSE";

A finite number whose decimal form could not be read back, which the regex covering every Number.prototype.toString output should make unreachable.

readonly INVALID_CONFIG_PATH: "INVALID_CONFIG_PATH" = "INVALID_CONFIG_PATH";

A configuration path not in the section.property form. A host configuration fault.

readonly INVALID_DATETIME_OP: "INVALID_DATETIME_OP" = "INVALID_DATETIME_OP";

A date moved by a plain number, or by a quantity that is not a length of time, or to between a date and something that is not one. The message says what a date moves by.

readonly INVALID_DECIMAL_LITERAL: "INVALID_DECIMAL_LITERAL" = "INVALID_DECIMAL_LITERAL";

Text read as an exact decimal that is not one. Raised while a number literal is compiled; the reader fixes the digits.

readonly INVALID_FACTORIAL_INPUT: "INVALID_FACTORIAL_INPUT" = "INVALID_FACTORIAL_INPUT";

A factorial of a negative number or a fraction.

readonly INVALID_INTEGER_OPERAND: "INVALID_INTEGER_OPERAND" = "INVALID_INTEGER_OPERAND";

gcd or lcm given a number with no whole value (an infinity, or nothing).

readonly INVALID_MATRIX_SLICE_BOUND: "INVALID_MATRIX_SLICE_BOUND" = "INVALID_MATRIX_SLICE_BOUND";

A matrix slice whose bounds are not ranges.

readonly INVALID_NUMBER_LITERAL: "INVALID_NUMBER_LITERAL" = "INVALID_NUMBER_LITERAL";

A number written in a form that does not read as one: a hex, binary or octal literal with a digit its base lacks (0xZZ), or thousands groups that are not three digits long. The reader fixes the digits.

readonly INVALID_PHRASE_PATTERN: "INVALID_PHRASE_PATTERN" = "INVALID_PHRASE_PATTERN";

A package declared a phrase pattern whose alternative does not begin with a keyword. An authoring fault, raised when the pattern is built.

readonly INVALID_RANGE: "INVALID_RANGE" = "INVALID_RANGE";

A range given backwards where order matters: a roll from 6 to 1, or a permutation or combination with more chosen than there are.

readonly INVALID_RANGE_BOUND: "INVALID_RANGE_BOUND" = "INVALID_RANGE_BOUND";

A range (0:3) whose bounds are not plain numbers.

readonly INVALID_RATE: "INVALID_RATE" = "INVALID_RATE";

A rate of interest or inflation that cannot be used: not a percentage, not finite, or at or below -100%.

readonly INVALID_RATE_UNIT: "INVALID_RATE_UNIT" = "INVALID_RATE_UNIT";

A rate unit read or built from parts that do not make one: a caller-contract fault inside the engine or a package, or x/y where x is already a rate.

readonly INVALID_TERM: "INVALID_TERM" = "INVALID_TERM";

A loan or savings term that is not a length of time.

readonly INVALID_TIME_LITERAL: "INVALID_TIME_LITERAL" = "INVALID_TIME_LITERAL";

Colon-separated numbers that are not a time any clock can show (“24:00”, “9:60”, “100:5”). Raised by the labeled-line fallback, which used to answer them with whatever stood after the colon.

readonly INVALID_TIMECODE_UNIT: "INVALID_TIMECODE_UNIT" = "INVALID_TIMECODE_UNIT";

A timecode unit read from a string that is not one. A caller-contract fault inside the engine or a package.

CoreErrorCodes.INVERSE_REQUIRES_SQUARE_MATRIX

Section titled “CoreErrorCodes.INVERSE_REQUIRES_SQUARE_MATRIX”
readonly INVERSE_REQUIRES_SQUARE_MATRIX: "INVERSE_REQUIRES_SQUARE_MATRIX" = "INVERSE_REQUIRES_SQUARE_MATRIX";

inv of a matrix that is not square.

CoreErrorCodes.INVISIBLE_CHARACTER_IN_NUMBER

Section titled “CoreErrorCodes.INVISIBLE_CHARACTER_IN_NUMBER”
readonly INVISIBLE_CHARACTER_IN_NUMBER: "INVISIBLE_CHARACTER_IN_NUMBER" = "INVISIBLE_CHARACTER_IN_NUMBER";

A figure in 0 to 9 holding an invisible character that is not a direction control (a zero-width joiner or non-joiner, a word joiner, a soft hyphen), standing before a colon where a number would be an operand (<U+200D>24:00). The character makes the figure a word, which the labelled-line fallback used to take as a label and answer with what followed the colon. The message names the character by its code point; the reader deletes it. A direction control in the same place is DIRECTION_CONTROL_IN_NAME.

readonly IPV6_ARITHMETIC: "IPV6_ARITHMETIC" = "IPV6_ARITHMETIC";

An IPv6 address in arithmetic, a numeric function, a comparison with a number or a conversion with no whole-number reading (fe80::1 + 2). Its 128 bits are past what a number holds exactly; the message points at as int.

readonly LABEL_NOT_A_NAME: "LABEL_NOT_A_NAME" = "LABEL_NOT_A_NAME";

Text before a colon that is a comparison, an assignment, or a calculation or bracketed figure with no word in it (a > b: 1, (1+2): 5, (24):00), so not a label naming the figure after it. Raised by the labelled-line fallback, which used to answer with the figure whatever the text said.

readonly LINE_FAILED: "LINE_FAILED" = "LINE_FAILED";

A line read by another line in the batch pass, when it threw and no code was kept for it. A fallback: the code the line threw is used where there is one.

readonly LINE_NOT_YET_EVALUATED: "LINE_NOT_YET_EVALUATED" = "LINE_NOT_YET_EVALUATED";

A reference to a line below the one reading it, or past the end of the document, which has no answer yet.

readonly LINE_REF_NO_DOCUMENT: "LINE_REF_NO_DOCUMENT" = "LINE_REF_NO_DOCUMENT";

A line reference, total above or another cross-line form evaluated with no document, as evaluateExpression is. Evaluate the line in a document instead.

readonly LINE_RESULT_ERROR: "LINE_RESULT_ERROR" = "LINE_RESULT_ERROR";

A reference to a line whose own answer is an error. The referenced line is the one to fix.

readonly LINE_RESULT_PENDING: "LINE_RESULT_PENDING" = "LINE_RESULT_PENDING";

A reference to a line still waiting on live data. It resolves when the data arrives.

readonly LIST_ARGUMENT_UNSUPPORTED: "LIST_ARGUMENT_UNSUPPORTED" = "LIST_ARGUMENT_UNSUPPORTED";

A list of several numbers given to a builtin that reads each argument as one number and has no answer for each cell (gcd([4, 6], 2), root(3, [8, 27]), atan2([1, 2], 1), isprime([2, 4])). The message points at map.

readonly LIST_CELL_UNSUPPORTED: "LIST_CELL_UNSUPPORTED" = "LIST_CELL_UNSUPPORTED";

A list given to a function of one number that is worked out for each cell (sqrt, sin, ln, fact), or added to or taken from a percentage ([true, 2] + 10%), when a cell is not a number (a true or false, a formula with an unknown), when a cell has no real answer (sqrt([4, -9])), or when the answers come in different units.

readonly LIST_CONDITION_UNSUPPORTED: "LIST_CONDITION_UNSUPPORTED" = "LIST_CONDITION_UNSUPPORTED";

A list as the condition of an if (if [1, 2] > 0 then 1 else 2), where one true or false is needed. A list compared with a value answers once per cell, so the message points at one cell (v[0] > 5) or at map to choose for each cell.

CoreErrorCodes.LIST_CONVERSION_UNSUPPORTED

Section titled “CoreErrorCodes.LIST_CONVERSION_UNSUPPORTED”
readonly LIST_CONVERSION_UNSUPPORTED: "LIST_CONVERSION_UNSUPPORTED" = "LIST_CONVERSION_UNSUPPORTED";

A list of several numbers written as one: in scientific notation, as a fraction or a percentage, or in hex, binary or octal ([1234, 5678] as sci). Each value is converted on its own.

CoreErrorCodes.LIST_PERCENTAGE_UNSUPPORTED

Section titled “CoreErrorCodes.LIST_PERCENTAGE_UNSUPPORTED”
readonly LIST_PERCENTAGE_UNSUPPORTED: "LIST_PERCENTAGE_UNSUPPORTED" = "LIST_PERCENTAGE_UNSUPPORTED";

A percentage written before a plain list with + or - (10% + [100, 200]), or a percentage as a cell of a plain list ([10%, 20%], map(x%, [10, 20])). A list holds plain numbers, so it would keep the percentage as its fraction and add 0.1 where 10% was meant; the message gives the forms that work, [100, 200] + 10% or the fractions [0.1, 0.2].

readonly LIST_ROUNDING_NON_NUMERIC: "LIST_ROUNDING_NON_NUMERIC" = "LIST_ROUNDING_NON_NUMERIC";

A list rounded (to 2 dp, to 3 sf, round, ceil, floor) that holds a cell with no number to round: a true or false, or a formula with an unknown.

CoreErrorCodes.MALFORMED_BYTECODE_BIGINT_LITERAL

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_BIGINT_LITERAL”
readonly MALFORMED_BYTECODE_BIGINT_LITERAL: "MALFORMED_BYTECODE_BIGINT_LITERAL" = "MALFORMED_BYTECODE_BIGINT_LITERAL";

A big-integer constant in the program that is not a whole number, such as "1.000".

CoreErrorCodes.MALFORMED_BYTECODE_BODY_KIND

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_BODY_KIND”
readonly MALFORMED_BYTECODE_BODY_KIND: "MALFORMED_BYTECODE_BODY_KIND" = "MALFORMED_BYTECODE_BODY_KIND";

A map or reduce instruction carrying a body kind other than 0, 1 or 2.

CoreErrorCodes.MALFORMED_BYTECODE_CONSTANT_INDEX

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_CONSTANT_INDEX”
readonly MALFORMED_BYTECODE_CONSTANT_INDEX: "MALFORMED_BYTECODE_CONSTANT_INDEX" = "MALFORMED_BYTECODE_CONSTANT_INDEX";

A constant-pool operand indexing a numbers/strings entry that does not exist, or that is not of the pool’s type.

CoreErrorCodes.MALFORMED_BYTECODE_OPERAND_TYPE

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_OPERAND_TYPE”
readonly MALFORMED_BYTECODE_OPERAND_TYPE: "MALFORMED_BYTECODE_OPERAND_TYPE" = "MALFORMED_BYTECODE_OPERAND_TYPE";

A unit or converter name read off the value stack that is not a string. Distinct from the pool case above: the operand is a Value another opcode pushed, not a pool entry.

readonly MALFORMED_BYTECODE_PROGRAM: "MALFORMED_BYTECODE_PROGRAM" = "MALFORMED_BYTECODE_PROGRAM";

executeBytecode called with something that is not a runnable program at all.

CoreErrorCodes.MALFORMED_BYTECODE_TRUNCATED

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_TRUNCATED”
readonly MALFORMED_BYTECODE_TRUNCATED: "MALFORMED_BYTECODE_TRUNCATED" = "MALFORMED_BYTECODE_TRUNCATED";

An operand byte read past the end of the stream: the program ends in the middle of an instruction.

CoreErrorCodes.MALFORMED_BYTECODE_UNKNOWN_OPCODE

Section titled “CoreErrorCodes.MALFORMED_BYTECODE_UNKNOWN_OPCODE”
readonly MALFORMED_BYTECODE_UNKNOWN_OPCODE: "MALFORMED_BYTECODE_UNKNOWN_OPCODE" = "MALFORMED_BYTECODE_UNKNOWN_OPCODE";

An instruction the VM does not have, refused at the offset that carries it (in the error’s context).

CoreErrorCodes.MAP_COLLECTION_LENGTH_MISMATCH

Section titled “CoreErrorCodes.MAP_COLLECTION_LENGTH_MISMATCH”
readonly MAP_COLLECTION_LENGTH_MISMATCH: "MAP_COLLECTION_LENGTH_MISMATCH" = "MAP_COLLECTION_LENGTH_MISMATCH";

map over several lists of different lengths.

CoreErrorCodes.MAP_REDUCE_ASYNC_UNSUPPORTED

Section titled “CoreErrorCodes.MAP_REDUCE_ASYNC_UNSUPPORTED”
readonly MAP_REDUCE_ASYNC_UNSUPPORTED: "MAP_REDUCE_ASYNC_UNSUPPORTED" = "MAP_REDUCE_ASYNC_UNSUPPORTED";

A map or reduce body that reaches live data while it runs. Refused at parse time first (MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS); this is the run-time guard.

CoreErrorCodes.MAP_REDUCE_REQUIRES_COLLECTION

Section titled “CoreErrorCodes.MAP_REDUCE_REQUIRES_COLLECTION”
readonly MAP_REDUCE_REQUIRES_COLLECTION: "MAP_REDUCE_REQUIRES_COLLECTION" = "MAP_REDUCE_REQUIRES_COLLECTION";

map, reduce, sum or prod over something that is not a list or a range (sum(5)); the message names the word typed.

readonly MATRIX_CELL_NO_UNIT: "MATRIX_CELL_NO_UNIT" = "MATRIX_CELL_NO_UNIT";

A list with a unit given a cell that has no amount in it: a true or false, a percentage or a formula beside a quantity ([true, 1 km]).

readonly MATRIX_CELL_NON_NUMERIC: "MATRIX_CELL_NON_NUMERIC" = "MATRIX_CELL_NON_NUMERIC";

A list cell that is not a number or a quantity: a list inside a list, text, a date.

readonly MATRIX_CELL_UNITS_DIFFER: "MATRIX_CELL_UNITS_DIFFER" = "MATRIX_CELL_UNITS_DIFFER";

A list whose cells are quantities of different measures ([1 km, 2 kg]), or money in two currencies with no rate between them: a list holds one unit.

readonly MATRIX_INDEX_NOT_A_MATRIX: "MATRIX_INDEX_NOT_A_MATRIX" = "MATRIX_INDEX_NOT_A_MATRIX";

[...] indexing or slicing applied to something that is not a matrix.

readonly MATRIX_INDEX_OUT_OF_BOUNDS: "MATRIX_INDEX_OUT_OF_BOUNDS" = "MATRIX_INDEX_OUT_OF_BOUNDS";

An index or a slice past the edge of the matrix.

CoreErrorCodes.MATRIX_POWER_REQUIRES_SQUARE_MATRIX

Section titled “CoreErrorCodes.MATRIX_POWER_REQUIRES_SQUARE_MATRIX”
readonly MATRIX_POWER_REQUIRES_SQUARE_MATRIX: "MATRIX_POWER_REQUIRES_SQUARE_MATRIX" = "MATRIX_POWER_REQUIRES_SQUARE_MATRIX";

A matrix raised to a power that is not square.

CoreErrorCodes.MATRIX_POWER_REQUIRES_WHOLE_EXPONENT

Section titled “CoreErrorCodes.MATRIX_POWER_REQUIRES_WHOLE_EXPONENT”
readonly MATRIX_POWER_REQUIRES_WHOLE_EXPONENT: "MATRIX_POWER_REQUIRES_WHOLE_EXPONENT" = "MATRIX_POWER_REQUIRES_WHOLE_EXPONENT";

A matrix raised to a power that is not a whole number of 0 or more. ^-1 is the inverse and ^T the transpose.

readonly MATRIX_POWER_UNSUPPORTED: "MATRIX_POWER_UNSUPPORTED" = "MATRIX_POWER_UNSUPPORTED";

A matrix used as an exponent, or ^ between a matrix and something with no matrix reading.

readonly MATRIX_UNIT_ALGEBRA: "MATRIX_UNIT_ALGEBRA" = "MATRIX_UNIT_ALGEBRA";

Matrix algebra on a list with a unit (det([1 km, 2 km; 3 km, 4 km])): a determinant, an inverse, a matrix product or power, or a dot product.

CoreErrorCodes.MATRIX_UNIT_OPERATION_UNSUPPORTED

Section titled “CoreErrorCodes.MATRIX_UNIT_OPERATION_UNSUPPORTED”
readonly MATRIX_UNIT_OPERATION_UNSUPPORTED: "MATRIX_UNIT_OPERATION_UNSUPPORTED" = "MATRIX_UNIT_OPERATION_UNSUPPORTED";

A list with a unit in an operation its cells cannot take one by one: multiplied by another quantity, a number divided by it, or a percentage added.

readonly MULTIPLIER_TAKES_NUMBER: "MULTIPLIER_TAKES_NUMBER" = "MULTIPLIER_TAKES_NUMBER";

"hello" as multiplier, 5 km as multiplier: a multiplier asked of something that is not a plain number or a percentage. The reader converts a number (#829).

readonly NESTING_DEPTH_EXCEEDED: "NESTING_DEPTH_EXCEEDED" = "NESTING_DEPTH_EXCEEDED";

Brackets, or other nested forms, deeper than the parser allows (validation.maxNestingDepth, 50 by default). A safety limit against input built to exhaust the stack; the reader flattens the line.

readonly NETWORK_DISABLED: "NETWORK_DISABLED" = "NETWORK_DISABLED";

A live-data form evaluated on an engine whose host switched the network off (network.enabled: false, see constants/Configuration.ts’s NetworkConfig). A recoverable Error value, raised by the VM for a currency conversion with no primed rate and for a plugin function that returned a promise, and by createQueryResolver’s plugin function when its preflight was skipped. Names the setting, so the reader knows it is policy rather than an outage.

CoreErrorCodes.NO_MATCHING_PHRASE_ALTERNATIVE

Section titled “CoreErrorCodes.NO_MATCHING_PHRASE_ALTERNATIVE”
readonly NO_MATCHING_PHRASE_ALTERNATIVE: "NO_MATCHING_PHRASE_ALTERNATIVE" = "NO_MATCHING_PHRASE_ALTERNATIVE";

A phrase that starts a form (roll, clamp) followed by none of the words that continue it. The message names the words that may come next.

readonly NO_PREFIX_PARSELET: "NO_PREFIX_PARSELET" = "NO_PREFIX_PARSELET";

A line has something where a value should start that cannot start one: the * in 2 + * 3, the ) in round(3.14, ), the > in (5 km) -> miles. Thrown with a span on the character and, where there is an obvious next step, a suggestion.

readonly NON_INTEGER_RANGE_BOUND: "NON_INTEGER_RANGE_BOUND" = "NON_INTEGER_RANGE_BOUND";

A range whose bounds are not whole numbers (0.5:3).

CoreErrorCodes.NORMALIZED_TOKEN_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.NORMALIZED_TOKEN_LIMIT_EXCEEDED”
readonly NORMALIZED_TOKEN_LIMIT_EXCEEDED: "NORMALIZED_TOKEN_LIMIT_EXCEEDED" = "NORMALIZED_TOKEN_LIMIT_EXCEEDED";

The normaliser grew a line’s tokens past its safety limit. A guard against a rule that expands without end.

CoreErrorCodes.NORMALIZER_PASS_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.NORMALIZER_PASS_LIMIT_EXCEEDED”
readonly NORMALIZER_PASS_LIMIT_EXCEEDED: "NORMALIZER_PASS_LIMIT_EXCEEDED" = "NORMALIZER_PASS_LIMIT_EXCEEDED";

The normaliser was still changing the token stream after its pass budget (maxPasses, 100 by default): a rule chain that never settles. Reported rather than returning whatever the last pass left. Recoverable.

readonly NOT_WHOLE_NUMBER: "NOT_WHOLE_NUMBER" = "NOT_WHOLE_NUMBER";

A function that counts whole things (fact, nPr) given a fraction.

readonly NUMBER_THEORY_DOMAIN: "NUMBER_THEORY_DOMAIN" = "NUMBER_THEORY_DOMAIN";

A number theory function given a whole number outside what it is defined for: factor(0), a modulus below 1, a negative exponent.

CoreErrorCodes.NUMBER_THEORY_EXPECTED_INTEGER

Section titled “CoreErrorCodes.NUMBER_THEORY_EXPECTED_INTEGER”
readonly NUMBER_THEORY_EXPECTED_INTEGER: "NUMBER_THEORY_EXPECTED_INTEGER" = "NUMBER_THEORY_EXPECTED_INTEGER";

A number theory function (factor, isprime, modpow) given something that is not a whole number.

readonly NUMBER_THEORY_NO_INVERSE: "NUMBER_THEORY_NO_INVERSE" = "NUMBER_THEORY_NO_INVERSE";

modinv of a number that shares a factor with the modulus, so no inverse exists.

readonly OPCODE_POOL_EXHAUSTED: "OPCODE_POOL_EXHAUSTED" = "OPCODE_POOL_EXHAUSTED";

More packages asked for opcodes of their own than the dynamic opcode range holds. A registration fault.

readonly OTHER_SCRIPT_DIGITS: "OTHER_SCRIPT_DIGITS" = "OTHER_SCRIPT_DIGITS";

A figure in digits from another script (٢٤:00, Total: ٢٤:00, Arabic-Indic for 24) standing before a colon where a number would be an operand. Numbers are read in the digits 0 to 9 only, and the labelled-line fallback used to take the figure as a label and answer with what followed the colon. The message spells the figure in 0 to 9.

CoreErrorCodes.PACKAGE_ENGINE_VERSION_INVALID_RANGE

Section titled “CoreErrorCodes.PACKAGE_ENGINE_VERSION_INVALID_RANGE”
readonly PACKAGE_ENGINE_VERSION_INVALID_RANGE: "PACKAGE_ENGINE_VERSION_INVALID_RANGE" = "PACKAGE_ENGINE_VERSION_INVALID_RANGE";

A package’s declared IEnginePackage.engineVersion isn’t a parseable semver range at all (a typo in the package’s own descriptor).

CoreErrorCodes.PACKAGE_ENGINE_VERSION_MISMATCH

Section titled “CoreErrorCodes.PACKAGE_ENGINE_VERSION_MISMATCH”
readonly PACKAGE_ENGINE_VERSION_MISMATCH: "PACKAGE_ENGINE_VERSION_MISMATCH" = "PACKAGE_ENGINE_VERSION_MISMATCH";

A package’s declared IEnginePackage.engineVersion semver range doesn’t satisfy the running engine’s ENGINE_VERSION. See api/EngineVersionCompatibility.ts.

readonly PACKAGE_NAME_MISSING: "PACKAGE_NAME_MISSING" = "PACKAGE_NAME_MISSING";

A package was registered with no name, or an empty one, so nothing could name it to unregister it or report on it (#719).

CoreErrorCodes.PACKAGE_RESOLVER_FUNCTION_MISSING

Section titled “CoreErrorCodes.PACKAGE_RESOLVER_FUNCTION_MISSING”
readonly PACKAGE_RESOLVER_FUNCTION_MISSING: "PACKAGE_RESOLVER_FUNCTION_MISSING" = "PACKAGE_RESOLVER_FUNCTION_MISSING";

A package’s createQueryResolver watches for a plugin function the package does not declare, or was built for another package, so the call it waits for would never come (#719).

readonly PARSE_ERROR: "PARSE_ERROR" = "PARSE_ERROR";

The generic parse failure, kept for a caller that wraps one without a more specific code.

readonly PASS_WORK_BUDGET_EXCEEDED: "PASS_WORK_BUDGET_EXCEEDED" = "PASS_WORK_BUDGET_EXCEEDED";

A document pass whose cross-line forms together re-ran more lines than vm.maxLineRunsPerPass allows. The line that crossed the budget is refused by name; the host may raise it.

readonly PERCENT_CHANGE_FAILED: "PERCENT_CHANGE_FAILED" = "PERCENT_CHANGE_FAILED";

A percentage change that could not be worked out from its two values.

readonly PERCENT_CHANGE_FROM_ZERO: "PERCENT_CHANGE_FROM_ZERO" = "PERCENT_CHANGE_FROM_ZERO";

A percentage change from zero, which no percentage reaches. The message suggests the difference instead.

CoreErrorCodes.PERCENT_CHANGE_NEGATIVE_BASE

Section titled “CoreErrorCodes.PERCENT_CHANGE_NEGATIVE_BASE”
readonly PERCENT_CHANGE_NEGATIVE_BASE: "PERCENT_CHANGE_NEGATIVE_BASE" = "PERCENT_CHANGE_NEGATIVE_BASE";

A percentage change from a negative base, which has two readings. The message shows how to write the one meant.

readonly PERCENTAGE_NOT_FINITE: "PERCENTAGE_NOT_FINITE" = "PERCENTAGE_NOT_FINITE";

A value written as a percentage that is not a finite number: an infinity a division by zero gave (1/0 as %), or a value that is no number at all.

readonly PERCENTAGE_OF_QUANTITY: "PERCENTAGE_OF_QUANTITY" = "PERCENTAGE_OF_QUANTITY";

A value written as a percentage that is not a proportion, such as a length.

readonly PERCENTAGE_OVERFLOW: "PERCENTAGE_OVERFLOW" = "PERCENTAGE_OVERFLOW";

A value written as a percentage that is too large for its percentage, a hundred times it, to be held, as in 1e308 as %, or that is itself past the largest number that can be held, as in 2^2000 as %.

readonly PERMUTATION_OVERFLOW: "PERMUTATION_OVERFLOW" = "PERMUTATION_OVERFLOW";

A permutation count past the largest number a double can hold.

readonly PHRASE_KEYWORD_MISMATCH: "PHRASE_KEYWORD_MISMATCH" = "PHRASE_KEYWORD_MISMATCH";

A phrase form missing one of its words part-way through (roll between 1 6, with no and). The message names the word expected.

readonly PLOT_INVALID_RANGE: "PLOT_INVALID_RANGE" = "PLOT_INVALID_RANGE";

A plot’s range whose ends are not finite numbers.

readonly PLUGIN_CALL_FAILED: "PLUGIN_CALL_FAILED" = "PLUGIN_CALL_FAILED";

A plugin function’s promise was rejected. The line reports the rejection’s message rather than waiting again.

CoreErrorCodes.PLUGIN_CALL_FUSION_UNREACHABLE

Section titled “CoreErrorCodes.PLUGIN_CALL_FUSION_UNREACHABLE”
readonly PLUGIN_CALL_FUSION_UNREACHABLE: "PLUGIN_CALL_FUSION_UNREACHABLE" = "PLUGIN_CALL_FUSION_UNREACHABLE";

A package’s callFusions names a word the engine already reads as something other than a plain word (a keyword, a built-in function, a unit), so the call could never fire. Refused at registration.

CoreErrorCodes.PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED

Section titled “CoreErrorCodes.PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED”
readonly PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED: "PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED" = "PLUGIN_FUNCTION_INDEX_POOL_EXHAUSTED";

More plugin functions registered than a compiled call can index (65,536). A registration fault.

CoreErrorCodes.PLUGIN_FUNCTION_INDEX_TOO_LARGE

Section titled “CoreErrorCodes.PLUGIN_FUNCTION_INDEX_TOO_LARGE”
readonly PLUGIN_FUNCTION_INDEX_TOO_LARGE: "PLUGIN_FUNCTION_INDEX_TOO_LARGE" = "PLUGIN_FUNCTION_INDEX_TOO_LARGE";

A plugin function’s index past the largest a compiled call can hold (65,535). A registration fault.

readonly PLUGIN_KEYWORD_COLLISION: "PLUGIN_KEYWORD_COLLISION" = "PLUGIN_KEYWORD_COLLISION";

A package registered a keyword the engine already has. Refused at registration, since a built-in keyword cannot be overridden.

readonly PLUGIN_OPERATOR_COLLISION: "PLUGIN_OPERATOR_COLLISION" = "PLUGIN_OPERATOR_COLLISION";

A package registered an operator the engine already has. Refused at registration, since a built-in operator cannot be overridden.

CoreErrorCodes.PLUGIN_OPERATOR_UNSUPPORTED

Section titled “CoreErrorCodes.PLUGIN_OPERATOR_UNSUPPORTED”
readonly PLUGIN_OPERATOR_UNSUPPORTED: "PLUGIN_OPERATOR_UNSUPPORTED" = "PLUGIN_OPERATOR_UNSUPPORTED";

A package registered an operator the scanner cannot read: not exactly two characters, or a first character the scanner does not class as an operator. Refused at registration rather than left to never fire.

readonly PLUGIN_RESULT_NOT_A_VALUE: "PLUGIN_RESULT_NOT_A_VALUE" = "PLUGIN_RESULT_NOT_A_VALUE";

A plugin function’s promise resolved to something that is not a Value. An authoring fault, reported on the line.

CoreErrorCodes.PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN

Section titled “CoreErrorCodes.PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN”
readonly PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN: "PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN" = "PLUGIN_UNIT_ALIAS_TARGET_UNKNOWN";

A package’s unitAliases maps a word to something that is not a single unit the engine reads (mile, days), so the alias would have nothing to mean. Refused at registration (#762).

CoreErrorCodes.PLUGIN_UNIT_ALIAS_UNREACHABLE

Section titled “CoreErrorCodes.PLUGIN_UNIT_ALIAS_UNREACHABLE”
readonly PLUGIN_UNIT_ALIAS_UNREACHABLE: "PLUGIN_UNIT_ALIAS_UNREACHABLE" = "PLUGIN_UNIT_ALIAS_UNREACHABLE";

A package’s unitAliases names a word the engine already reads as something other than a plain word (a unit, a keyword, a function), so the alias could never be read. Refused at registration (#762).

readonly PLUGIN_UNIT_COLLISION: "PLUGIN_UNIT_COLLISION" = "PLUGIN_UNIT_COLLISION";

A package registered a unit spelling the engine already has. Refused at registration, since a built-in unit cannot be overridden.

readonly POWER_NO_REAL_VALUE: "POWER_NO_REAL_VALUE" = "POWER_NO_REAL_VALUE";

A negative number to a fractional power with no real value, as in (-1)^0.5, or a negative number’s root of even degree.

readonly PROPORTION_DIVIDE_BY_ZERO: "PROPORTION_DIVIDE_BY_ZERO" = "PROPORTION_DIVIDE_BY_ZERO";

proportion whose first term is zero, so there is nothing to scale by.

readonly QUANTITY_NON_NUMERIC: "QUANTITY_NON_NUMERIC" = "QUANTITY_NON_NUMERIC";

Something with no single amount combined with a quantity, as in a list plus 5 m.

readonly QUOTIENT_UNDEFINED: "QUOTIENT_UNDEFINED" = "QUOTIENT_UNDEFINED";

A division with no single answer: 0 / 0 (either zero signed), or an infinity over an infinity. 5 / 0 is ∞ and is not refused.

CoreErrorCodes.RANGE_BEFORE_ANOTHER_ARGUMENT

Section titled “CoreErrorCodes.RANGE_BEFORE_ANOTHER_ARGUMENT”
readonly RANGE_BEFORE_ANOTHER_ARGUMENT: "RANGE_BEFORE_ANOTHER_ARGUMENT" = "RANGE_BEFORE_ANOTHER_ARGUMENT";

A whole-number colon pair no clock reads, written as the first of several arguments to sum, total, prod, map or reduce (sum(100:200, 50)): a range is read only as the last argument. Refused by the normaliser; the message says where the range goes.

CoreErrorCodes.RANGE_BOUND_GROUP_MALFORMED

Section titled “CoreErrorCodes.RANGE_BOUND_GROUP_MALFORMED”
readonly RANGE_BOUND_GROUP_MALFORMED: "RANGE_BOUND_GROUP_MALFORMED" = "RANGE_BOUND_GROUP_MALFORMED";

A number in a call written like a grouped range bound whose group is not three digits (sum(1,0000:1), sum(1,00:1)): refused by the lexer, since it is neither one bound nor plainly two arguments. The message says a space after the comma gives two.

CoreErrorCodes.RATE_CONVERT_MEASURE_MISMATCH

Section titled “CoreErrorCodes.RATE_CONVERT_MEASURE_MISMATCH”
readonly RATE_CONVERT_MEASURE_MISMATCH: "RATE_CONVERT_MEASURE_MISMATCH" = "RATE_CONVERT_MEASURE_MISMATCH";

A rate’s denominator converted to a unit that measures something else ($50/week in kg).

readonly RATE_CONVERT_NOT_A_RATE: "RATE_CONVERT_NOT_A_RATE" = "RATE_CONVERT_NOT_A_RATE";

A conversion of a rate’s denominator applied to a value that is not a rate.

CoreErrorCodes.RATE_MISSING_DENOMINATOR_UNIT

Section titled “CoreErrorCodes.RATE_MISSING_DENOMINATOR_UNIT”
readonly RATE_MISSING_DENOMINATOR_UNIT: "RATE_MISSING_DENOMINATOR_UNIT" = "RATE_MISSING_DENOMINATOR_UNIT";

A rate built with / whose right-hand side has no unit to be per.

readonly RATE_MUL_LEFT_NOT_A_RATE: "RATE_MUL_LEFT_NOT_A_RATE" = "RATE_MUL_LEFT_NOT_A_RATE";

A rate multiplication whose left-hand side is not a rate.

readonly RATE_MUL_MEASURE_MISMATCH: "RATE_MUL_MEASURE_MISMATCH" = "RATE_MUL_MEASURE_MISMATCH";

A rate multiplied by a quantity that measures something else than what the rate is per ($50/week * 3 kg).

CoreErrorCodes.RATE_MUL_RIGHT_MISSING_UNIT

Section titled “CoreErrorCodes.RATE_MUL_RIGHT_MISSING_UNIT”
readonly RATE_MUL_RIGHT_MISSING_UNIT: "RATE_MUL_RIGHT_MISSING_UNIT" = "RATE_MUL_RIGHT_MISSING_UNIT";

A rate multiplied by a value with no unit matching what the rate is per.

readonly REDUCE_EMPTY_COLLECTION: "REDUCE_EMPTY_COLLECTION" = "REDUCE_EMPTY_COLLECTION";

reduce over an empty list with no starting value.

readonly REMAINDER_UNDEFINED: "REMAINDER_UNDEFINED" = "REMAINDER_UNDEFINED";

A remainder with no value: 5 mod 0, or the remainder of an infinite number.

readonly RESIZE_EXPECTED_SHAPE: "RESIZE_EXPECTED_SHAPE" = "RESIZE_EXPECTED_SHAPE";

A resize was written without one of its parts: the dimensions, the to, the size, or the side it names. Recoverable.

readonly SETTLE_TIMEOUT: "SETTLE_TIMEOUT" = "SETTLE_TIMEOUT";

await engine.settle({ timeoutMs }) reached its deadline with live values still being fetched. Rejected rather than resolved, so a caller is never handed a Pending line as if it were settled; the context carries how many were in flight. Recoverable: the lines stay Pending and settle when their fetches land.

readonly SETTLE_TIMEOUT_INVALID: "SETTLE_TIMEOUT_INVALID" = "SETTLE_TIMEOUT_INVALID";

engine.settle was given a timeoutMs that is not a finite number of zero or more (a negative, NaN, an infinity, text). Rejected, since it is the host’s argument that is wrong.

readonly SINGULAR_MATRIX: "SINGULAR_MATRIX" = "SINGULAR_MATRIX";

inv of a matrix with no inverse: a zero, or nearly zero, pivot.

readonly SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED" = "SNAPSHOT_MALFORMED";

A snapshot with the right envelope but internally inconsistent contents (an unrecognised number sentinel, an unknown value tag). Distinct from a version mismatch: the format is right, the payload is not.

readonly SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING" = "SNAPSHOT_PACKAGE_MISSING";

A snapshot calls a plugin function that no package registered on the restoring engine provides. Refused rather than restored, since the call would run whatever sits at its old index (#658).

readonly SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE" = "SNAPSHOT_UNSUPPORTED_VALUE";

A value the snapshot format cannot yet represent (a symbolic value or matrix cell, a colour, a split, a chart, an IP subnet). toJSON catches it and leaves the value out (#665).

readonly SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH" = "SNAPSHOT_VERSION_MISMATCH";

fromJSON() handed an object that is not a snapshot at all, or whose serialised-shape version does not match this engine’s reader. The versioning gate that refuses an incompatible snapshot clearly rather than restoring it wrongly. See engine/EngineSnapshot.ts’s assertRestorable().

CoreErrorCodes.SOLVE_REQUIRES_VARIABLE_NAME

Section titled “CoreErrorCodes.SOLVE_REQUIRES_VARIABLE_NAME”
readonly SOLVE_REQUIRES_VARIABLE_NAME: "SOLVE_REQUIRES_VARIABLE_NAME" = "SOLVE_REQUIRES_VARIABLE_NAME";

solve’s second argument not being a bare name.

readonly STACK_LIMIT_EXCEEDED: "STACK_LIMIT_EXCEEDED" = "STACK_LIMIT_EXCEEDED";

One evaluation grew the VM stack past vm.maxStackDepth. A safety limit; the reader simplifies the line.

readonly STACK_UNDERFLOW: "STACK_UNDERFLOW" = "STACK_UNDERFLOW";

The VM read more values than its stack held: corrupted bytecode or a faulty plugin. Worth reporting; the engine stays usable and only this line fails.

readonly STATISTIC_NOT_FINITE: "STATISTIC_NOT_FINITE" = "STATISTIC_NOT_FINITE";

A standard deviation or variance of a list holding an infinity.

readonly SYMBOLIC_ASYNC_UNSUPPORTED: "SYMBOLIC_ASYNC_UNSUPPORTED" = "SYMBOLIC_ASYNC_UNSUPPORTED";

An algebra verb’s expression that reaches live data while it runs. Refused at parse time first (SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS); this is the run-time guard.

readonly SYMBOLIC_BOUND_INVALID: "SYMBOLIC_BOUND_INVALID" = "SYMBOLIC_BOUND_INVALID";

A bound of integral, an end of solve’s search range, or limit’s point that is not a plain finite number: it carries a unit, still contains an unknown, is not a number, or (for solve and limit) is infinite.

CoreErrorCodes.SYMBOLIC_DERIVATIVE_ORDER_LIMIT

Section titled “CoreErrorCodes.SYMBOLIC_DERIVATIVE_ORDER_LIMIT”
readonly SYMBOLIC_DERIVATIVE_ORDER_LIMIT: "SYMBOLIC_DERIVATIVE_ORDER_LIMIT" = "SYMBOLIC_DERIVATIVE_ORDER_LIMIT";

A derivative order outside 0..DERIVATIVE_MAX_ORDER.

readonly SYMBOLIC_DIVISION_BY_ZERO: "SYMBOLIC_DIVISION_BY_ZERO" = "SYMBOLIC_DIVISION_BY_ZERO";

An exact symbolic division by zero, such as expand((x+1)/0): refused where the quotient is written, as a value, and thrown from the rational arithmetic beneath. The zero is exact, so a very small number is not mistaken for one.

CoreErrorCodes.SYMBOLIC_FACTOR_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.SYMBOLIC_FACTOR_LIMIT_EXCEEDED”
readonly SYMBOLIC_FACTOR_LIMIT_EXCEEDED: "SYMBOLIC_FACTOR_LIMIT_EXCEEDED" = "SYMBOLIC_FACTOR_LIMIT_EXCEEDED";

factor of a cubic or higher whose rational roots cannot be searched: a coefficient too long a fraction to list its divisors (factor(x^3 - pi)), or a candidate set past FACTOR_MAX_ROOT_CANDIDATES. A quadratic is decided by its discriminant instead and never raises it.

CoreErrorCodes.SYMBOLIC_FORMULA_VALUE_UNSUPPORTED

Section titled “CoreErrorCodes.SYMBOLIC_FORMULA_VALUE_UNSUPPORTED”
readonly SYMBOLIC_FORMULA_VALUE_UNSUPPORTED: "SYMBOLIC_FORMULA_VALUE_UNSUPPORTED" = "SYMBOLIC_FORMULA_VALUE_UNSUPPORTED";

A name holding a formula written before one of its unknowns had a value (y = x + 1 above x = $5), read after that unknown was given money, a quantity in a unit, a date or text, which the formula cannot take. Returned by the read rather than a formula mixing the value with the unknown (#732).

readonly SYMBOLIC_INTEGRAL_IMPROPER: "SYMBOLIC_INTEGRAL_IMPROPER" = "SYMBOLIC_INTEGRAL_IMPROPER";

A definite integral with an infinite bound, or whose integrand has no finite value somewhere in the range (1/x from 0 to 1). Improper integrals are refused by name rather than evaluated.

CoreErrorCodes.SYMBOLIC_INTEGRAL_UNSETTLED

Section titled “CoreErrorCodes.SYMBOLIC_INTEGRAL_UNSETTLED”
readonly SYMBOLIC_INTEGRAL_UNSETTLED: "SYMBOLIC_INTEGRAL_UNSETTLED" = "SYMBOLIC_INTEGRAL_UNSETTLED";

A definite integral whose numeric estimate did not settle within the quadrature’s budget, which is what an integrand growing without bound inside the range, and so a diverging integral, looks like.

CoreErrorCodes.SYMBOLIC_INTEGRAL_UNSUPPORTED

Section titled “CoreErrorCodes.SYMBOLIC_INTEGRAL_UNSUPPORTED”
readonly SYMBOLIC_INTEGRAL_UNSUPPORTED: "SYMBOLIC_INTEGRAL_UNSUPPORTED" = "SYMBOLIC_INTEGRAL_UNSUPPORTED";

An indefinite integral with no known elementary antiderivative, reported rather than approximated, since a wrong integral is indistinguishable from a right one at the point of use. For a definite integral, one with no antiderivative that also cannot be evaluated numerically (another unknown in it, or a function with no numeric form).

CoreErrorCodes.SYMBOLIC_INVERSE_DIMENSION_LIMIT

Section titled “CoreErrorCodes.SYMBOLIC_INVERSE_DIMENSION_LIMIT”
readonly SYMBOLIC_INVERSE_DIMENSION_LIMIT: "SYMBOLIC_INVERSE_DIMENSION_LIMIT" = "SYMBOLIC_INVERSE_DIMENSION_LIMIT";

A symbolic matrix inverse larger than the size the symbolic elimination handles.

CoreErrorCodes.SYMBOLIC_JACOBIAN_NO_VARIABLES

Section titled “CoreErrorCodes.SYMBOLIC_JACOBIAN_NO_VARIABLES”
readonly SYMBOLIC_JACOBIAN_NO_VARIABLES: "SYMBOLIC_JACOBIAN_NO_VARIABLES" = "SYMBOLIC_JACOBIAN_NO_VARIABLES";

jacobian called with expressions containing no unknown to differentiate against.

readonly SYMBOLIC_LIMIT_DIVERGES: "SYMBOLIC_LIMIT_DIVERGES" = "SYMBOLIC_LIMIT_DIVERGES";

A limit where the expression grows without bound (1/x^2 at 0).

CoreErrorCodes.SYMBOLIC_LIMIT_SIDES_DISAGREE

Section titled “CoreErrorCodes.SYMBOLIC_LIMIT_SIDES_DISAGREE”
readonly SYMBOLIC_LIMIT_SIDES_DISAGREE: "SYMBOLIC_LIMIT_SIDES_DISAGREE" = "SYMBOLIC_LIMIT_SIDES_DISAGREE";

A limit whose left and right sides settle on different values (abs(x)/x at 0). The message names both.

readonly SYMBOLIC_LIMIT_UNDEFINED: "SYMBOLIC_LIMIT_UNDEFINED" = "SYMBOLIC_LIMIT_UNDEFINED";

A limit of an expression with no real value near the point on either side.

readonly SYMBOLIC_LIMIT_UNSETTLED: "SYMBOLIC_LIMIT_UNSETTLED" = "SYMBOLIC_LIMIT_UNSETTLED";

A limit whose values never settle on one number (sin(1/x) at 0).

readonly SYMBOLIC_LIMIT_UNSUPPORTED: "SYMBOLIC_LIMIT_UNSUPPORTED" = "SYMBOLIC_LIMIT_UNSUPPORTED";

A limit of an expression that cannot be evaluated numerically: another unknown in it, an imaginary constant, or a function with no numeric form.

CoreErrorCodes.SYMBOLIC_NODE_LIMIT_EXCEEDED

Section titled “CoreErrorCodes.SYMBOLIC_NODE_LIMIT_EXCEEDED”
readonly SYMBOLIC_NODE_LIMIT_EXCEEDED: "SYMBOLIC_NODE_LIMIT_EXCEEDED" = "SYMBOLIC_NODE_LIMIT_EXCEEDED";

A tree exceeding SYMBOLIC_MAX_NODES entering the simplifier.

readonly SYMBOLIC_NONFINITE_OPERAND: "SYMBOLIC_NONFINITE_OPERAND" = "SYMBOLIC_NONFINITE_OPERAND";

NaN or ±Infinity reaching a symbolic expression, neither of which has an exact rational value.

readonly SYMBOLIC_QUANTITY_OPERAND: "SYMBOLIC_QUANTITY_OPERAND" = "SYMBOLIC_QUANTITY_OPERAND";

Arithmetic between an unknown and an amount with a unit, such as foo * 5 km =>: a formula has nowhere to keep the unit, so the line is refused rather than answered with the unit dropped.

readonly SYMBOLIC_RATIONAL_OVERFLOW: "SYMBOLIC_RATIONAL_OVERFLOW" = "SYMBOLIC_RATIONAL_OVERFLOW";

A coefficient grew past RATIONAL_MAX_BITS, e.g. repeated exact elimination multiplying denominators together.

CoreErrorCodes.SYMBOLIC_REQUIRES_BOTH_BOUNDS

Section titled “CoreErrorCodes.SYMBOLIC_REQUIRES_BOTH_BOUNDS”
readonly SYMBOLIC_REQUIRES_BOTH_BOUNDS: "SYMBOLIC_REQUIRES_BOTH_BOUNDS" = "SYMBOLIC_REQUIRES_BOTH_BOUNDS";

integral(f, x, a) or solve(eq, x, a): one number after the unknown where the form takes two. A parse error naming the form, rather than a missing closing parenthesis.

CoreErrorCodes.SYMBOLIC_REQUIRES_LIMIT_POINT

Section titled “CoreErrorCodes.SYMBOLIC_REQUIRES_LIMIT_POINT”
readonly SYMBOLIC_REQUIRES_LIMIT_POINT: "SYMBOLIC_REQUIRES_LIMIT_POINT" = "SYMBOLIC_REQUIRES_LIMIT_POINT";

limit(f, x) with no point for the unknown to approach.

CoreErrorCodes.SYMBOLIC_REQUIRES_VARIABLE_NAME

Section titled “CoreErrorCodes.SYMBOLIC_REQUIRES_VARIABLE_NAME”
readonly SYMBOLIC_REQUIRES_VARIABLE_NAME: "SYMBOLIC_REQUIRES_VARIABLE_NAME" = "SYMBOLIC_REQUIRES_VARIABLE_NAME";

An algebra verb’s variable-name argument not being a bare name.

CoreErrorCodes.SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT

Section titled “CoreErrorCodes.SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT”
readonly SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT: "SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT" = "SYMBOLIC_SINGULAR_OR_UNSUPPORTED_PIVOT";

A symbolic matrix inverse that meets a zero pivot, which the elimination does not reorder around.

readonly SYMBOLIC_SOLVE_INCOMPLETE: "SYMBOLIC_SOLVE_INCOMPLETE" = "SYMBOLIC_SOLVE_INCOMPLETE";

Some but not all of an equation’s roots were found. Reported rather than returned, because a partial list of roots looks exactly like a complete one.

CoreErrorCodes.SYMBOLIC_SOLVE_NO_ROOT_FOUND

Section titled “CoreErrorCodes.SYMBOLIC_SOLVE_NO_ROOT_FOUND”
readonly SYMBOLIC_SOLVE_NO_ROOT_FOUND: "SYMBOLIC_SOLVE_NO_ROOT_FOUND" = "SYMBOLIC_SOLVE_NO_ROOT_FOUND";

A numerically solved equation whose two sides never cross in the range searched. Not “no solution”: a search that found nothing has not shown there is nothing, and the message names the range and what the search cannot see.

CoreErrorCodes.SYMBOLIC_SOLVE_TOO_MANY_ROOTS

Section titled “CoreErrorCodes.SYMBOLIC_SOLVE_TOO_MANY_ROOTS”
readonly SYMBOLIC_SOLVE_TOO_MANY_ROOTS: "SYMBOLIC_SOLVE_TOO_MANY_ROOTS" = "SYMBOLIC_SOLVE_TOO_MANY_ROOTS";

A numerically solved equation with more roots in the range than NUMERIC_ROOTS_MAX, as a periodic one has, or whose two sides compare equal across a whole stretch. Declined rather than listed, because a list cut off at the edge of the search would read as complete.

readonly SYMBOLIC_SOLVE_UNSUPPORTED: "SYMBOLIC_SOLVE_UNSUPPORTED" = "SYMBOLIC_SOLVE_UNSUPPORTED";

An equation outside what the solver attempts: above the degree ceiling, non-linear in the unknown while another unknown is present, or not a polynomial and not evaluable numerically either (another unknown in it, an imaginary constant, a function with no numeric form). A non-polynomial equation in one unknown is solved numerically instead (see symbolic/NumericSolve.ts).

CoreErrorCodes.SYMBOLIC_TAYLOR_DEGREE_LIMIT

Section titled “CoreErrorCodes.SYMBOLIC_TAYLOR_DEGREE_LIMIT”
readonly SYMBOLIC_TAYLOR_DEGREE_LIMIT: "SYMBOLIC_TAYLOR_DEGREE_LIMIT" = "SYMBOLIC_TAYLOR_DEGREE_LIMIT";

A Taylor degree outside 0..TAYLOR_MAX_DEGREE.

readonly SYMBOLIC_TAYLOR_INEXACT: "SYMBOLIC_TAYLOR_INEXACT" = "SYMBOLIC_TAYLOR_INEXACT";

A Taylor coefficient that does not reduce to an exact number at the expansion point.

CoreErrorCodes.SYMBOLIC_UNSUPPORTED_FUNCTION

Section titled “CoreErrorCodes.SYMBOLIC_UNSUPPORTED_FUNCTION”
readonly SYMBOLIC_UNSUPPORTED_FUNCTION: "SYMBOLIC_UNSUPPORTED_FUNCTION" = "SYMBOLIC_UNSUPPORTED_FUNCTION";

A builtin with no symbolic reading (min, random, the finance block, …) applied to an expression still containing an unknown. Returned rather than computing against toNumber()’s placeholder zero.

CoreErrorCodes.TEMPORAL_IMPLEMENTATION_INVALID

Section titled “CoreErrorCodes.TEMPORAL_IMPLEMENTATION_INVALID”
readonly TEMPORAL_IMPLEMENTATION_INVALID: "TEMPORAL_IMPLEMENTATION_INVALID" = "TEMPORAL_IMPLEMENTATION_INVALID";

createTemporalCalendar() was handed something that is not a usable Temporal implementation: no Now.instant, Now.timeZoneId, Instant.fromEpochMilliseconds or PlainDateTime.from. Raised at construction, naming the missing member, rather than letting the first date computation fail on it obscurely.

readonly TEMPORAL_TIME_ZONE_UNKNOWN: "TEMPORAL_TIME_ZONE_UNKNOWN" = "TEMPORAL_TIME_ZONE_UNKNOWN";

The timeZone given to createTemporalCalendar() is not one the Temporal implementation knows. Raised at construction, so a misspelt zone is a configuration error the host sees once, not a RangeError from inside every date the engine computes.

readonly TERNARY_UNSUPPORTED: "TERNARY_UNSUPPORTED" = "TERNARY_UNSUPPORTED";

A choice written condition ? value : other (true ? 25 : 30). There is no such operator; the message spells the line as if ... then ... else. Raised by the labelled-line fallback, which used to read true ? 25 as a label and answer 30.

readonly TEXT_ARITHMETIC: "TEXT_ARITHMETIC" = "TEXT_ARITHMETIC";

Text used in arithmetic with a number, written after a sign (-"abc"), or given to a numeric function (sqrt("abc")). The message points at as number for text that holds a number.

readonly TEXT_COMPARISON: "TEXT_COMPARISON" = "TEXT_COMPARISON";

Text in an order comparison ("5" > 3, "a" < "b"): text has no order a note would mean. Against a number the message says which side is text and, for text that holds a number, points at as number.

readonly TEXT_NOT_A_NUMBER: "TEXT_NOT_A_NUMBER" = "TEXT_NOT_A_NUMBER";

as number or int given text that is not a number.

CoreErrorCodes.THEREFORE_ASYNC_UNSUPPORTED

Section titled “CoreErrorCodes.THEREFORE_ASYNC_UNSUPPORTED”
readonly THEREFORE_ASYNC_UNSUPPORTED: "THEREFORE_ASYNC_UNSUPPORTED" = "THEREFORE_ASYNC_UNSUPPORTED";

A "=>"-triggered expression called an async plugin (weather/stocks/currency). Same v1 scope restriction as user-function/map-reduce bodies.

CoreErrorCodes.THEREFORE_REQUIRES_EXPRESSION

Section titled “CoreErrorCodes.THEREFORE_REQUIRES_EXPRESSION”
readonly THEREFORE_REQUIRES_EXPRESSION: "THEREFORE_REQUIRES_EXPRESSION" = "THEREFORE_REQUIRES_EXPRESSION";

"=>" with nothing before it, needs an expression or variable name to solve/simplify.

readonly TIMECODE_FPS_MISMATCH: "TIMECODE_FPS_MISMATCH" = "TIMECODE_FPS_MISMATCH";

Two video timecodes at different frame rates added or subtracted.

readonly TOO_MANY_ANONYMOUS_BODIES: "TOO_MANY_ANONYMOUS_BODIES" = "TOO_MANY_ANONYMOUS_BODIES";

One line with more map or reduce bodies than a compiled program can index. A safety limit, of the same kind as TOO_MANY_FUNCTION_DEFINITIONS.

CoreErrorCodes.TOO_MANY_FUNCTION_DEFINITIONS

Section titled “CoreErrorCodes.TOO_MANY_FUNCTION_DEFINITIONS”
readonly TOO_MANY_FUNCTION_DEFINITIONS: "TOO_MANY_FUNCTION_DEFINITIONS" = "TOO_MANY_FUNCTION_DEFINITIONS";

One line defining more functions than a compiled program can index. A safety limit, of the same kind as TOO_MANY_NUMERIC_CONSTANTS.

readonly TOO_MANY_NUMERIC_CONSTANTS: "TOO_MANY_NUMERIC_CONSTANTS" = "TOO_MANY_NUMERIC_CONSTANTS";

One line with more distinct number literals than a compiled program can index. A safety limit; the reader splits the line.

readonly TOO_MANY_STRING_CONSTANTS: "TOO_MANY_STRING_CONSTANTS" = "TOO_MANY_STRING_CONSTANTS";

One line with more distinct text literals than a compiled program can index. A safety limit; the reader splits the line.

readonly TRACE_NO_DOCUMENT: "TRACE_NO_DOCUMENT" = "TRACE_NO_DOCUMENT";

traceLine() called with no document to read: the engine has no attached document model and no parseDocument result was passed as options.document. A trace follows one line into the lines above it, so without a document there is nothing to follow.

readonly TRACE_NO_SUCH_LINE: "TRACE_NO_SUCH_LINE" = "TRACE_NO_SUCH_LINE";

traceLine() asked for a line number the document does not have (below 1, past the last line, or not a whole number).

readonly TRIG_UNDEFINED: "TRIG_UNDEFINED" = "TRIG_UNDEFINED";

tan at an odd multiple of a right angle, where the tangent has no value.

readonly TRIP_EXPECTED_AT: "TRIP_EXPECTED_AT" = "TRIP_EXPECTED_AT";

A trip form (cost to drive ...) was written without the at that separates its parts. Recoverable.

readonly UNCERTAINTY_UNIT_MISMATCH: "UNCERTAINTY_UNIT_MISMATCH" = "UNCERTAINTY_UNIT_MISMATCH";

A tolerance whose unit does not measure what its value does, or that has no rate to reach the value’s currency.

readonly UNCERTAINTY_WITHOUT_UNIT: "UNCERTAINTY_WITHOUT_UNIT" = "UNCERTAINTY_WITHOUT_UNIT";

A value with a tolerance (5 m +/- 1 cm) converted to a unit or combined with a quantity: a tolerance is read without its unit.

readonly UNDEFINED_FUNCTION: "UNDEFINED_FUNCTION" = "UNDEFINED_FUNCTION";

A call to a function of the reader’s own that no line defines, or a definition the VM could not complete.

readonly UNDEFINED_VARIABLE: "UNDEFINED_VARIABLE" = "UNDEFINED_VARIABLE";

A line reads a name no line above defines. Thrown with no span, and with the nearest defined names in suggestion and context.didYouMean when there are any.

readonly UNEXPECTED_END: "UNEXPECTED_END" = "UNEXPECTED_END";

The same as UNEXPECTED_END_OF_INPUT, raised where a line ends before an expression starts at all.

readonly UNEXPECTED_END_OF_INPUT: "UNEXPECTED_END_OF_INPUT" = "UNEXPECTED_END_OF_INPUT";

A line stops before its expression does: 5 +, (2 + 3, sqrt(. Thrown with an empty span just after the last character, where an editor puts the caret, and a suggestion.

readonly UNEXPECTED_ERROR: "UNEXPECTED_ERROR" = "UNEXPECTED_ERROR";

Something other than an EngineError was thrown and normalised. Worth reporting: it is an engine or package fault rather than the reader’s line.

readonly UNEXPECTED_PENDING_RESULT: "UNEXPECTED_PENDING_RESULT" = "UNEXPECTED_PENDING_RESULT";

A caller that asked for a settled value was handed one still waiting on live data. A caller-contract fault inside the engine, worth reporting.

readonly UNEXPECTED_TOKEN_TYPE: "UNEXPECTED_TOKEN_TYPE" = "UNEXPECTED_TOKEN_TYPE";

A form needed one particular thing next and found another: a ) where a , stands, or dice notation (roll 1d6) where a range was expected. Thrown with a span and a suggestion.

readonly UNEXPECTED_TRAILING_TOKEN: "UNEXPECTED_TRAILING_TOKEN" = "UNEXPECTED_TRAILING_TOKEN";

A complete expression followed by more that is not part of it: the , in 1,5 + 1, the 3pm in February 2026 3pm. Thrown rather than answered with the first half, which would be a wrong answer.

readonly UNIT_AFTER_UNIT: "UNIT_AFTER_UNIT" = "UNIT_AFTER_UNIT";

A quantity followed by a second unit, as in 5 kg m: two units side by side are not a unit. The message suggests in for a conversion.

readonly UNIT_IN_EXPONENT: "UNIT_IN_EXPONENT" = "UNIT_IN_EXPONENT";

An exponent carrying a unit, as in 2^(3 m). The message shows where the unit goes instead.

readonly UNIT_POWER_UNSUPPORTED: "UNIT_POWER_UNSUPPORTED" = "UNIT_POWER_UNSUPPORTED";

A quantity raised to a power that has no unit, as in 2s^2, or a unit written with a power the table does not spell. Only a length squared or cubed has one. A variance of quantities other than lengths, or of percentages, is refused with it too.

readonly UNIT_PRODUCT_UNSUPPORTED: "UNIT_PRODUCT_UNSUPPORTED" = "UNIT_PRODUCT_UNSUPPORTED";

Two quantities multiplied into something that is not a unit, as in $5 * $3. Lengths multiply into an area or a volume.

readonly UNIT_QUOTIENT_UNSUPPORTED: "UNIT_QUOTIENT_UNSUPPORTED" = "UNIT_QUOTIENT_UNSUPPORTED";

Two quantities divided into something that is not a unit: nothing cancels and the result would be a rate of a rate.

CoreErrorCodes.UNIT_RECIPROCAL_UNSUPPORTED

Section titled “CoreErrorCodes.UNIT_RECIPROCAL_UNSUPPORTED”
readonly UNIT_RECIPROCAL_UNSUPPORTED: "UNIT_RECIPROCAL_UNSUPPORTED" = "UNIT_RECIPROCAL_UNSUPPORTED";

A number divided by a quantity with no reciprocal unit, such as a temperature.

readonly UNIT_ROOT_UNSUPPORTED: "UNIT_ROOT_UNSUPPORTED" = "UNIT_ROOT_UNSUPPORTED";

A square or cube root of a quantity whose root has no unit, as in sqrt(4 m), or of a negative area.

readonly UNKNOWN_AS_CONVERTER: "UNKNOWN_AS_CONVERTER" = "UNKNOWN_AS_CONVERTER";

as <name> naming no converter any package registered.

readonly UNKNOWN_BUILTIN_FUNCTION: "UNKNOWN_BUILTIN_FUNCTION" = "UNKNOWN_BUILTIN_FUNCTION";

A compiled call to a built-in function at an index none is registered at. Reachable only through a compiler or snapshot fault; worth reporting.

readonly UNKNOWN_ERROR: "UNKNOWN_ERROR" = "UNKNOWN_ERROR";

A thrown value that was not an Error at all, normalised. Worth reporting, as UNEXPECTED_ERROR is.

readonly UNKNOWN_FUNCTION: "UNKNOWN_FUNCTION" = "UNKNOWN_FUNCTION";

A call to a name that is not a function the engine or a package provides. The nearest names are offered where there are any.

readonly UNKNOWN_PLUGIN_FUNCTION: "UNKNOWN_PLUGIN_FUNCTION" = "UNKNOWN_PLUGIN_FUNCTION";

A parselet emitted a call to a plugin function by a name no registered package declares, or before its package registered. A package-authoring or registration fault, not the reader’s line.

readonly UNKNOWN_SAVINGS_PERIOD: "UNKNOWN_SAVINGS_PERIOD" = "UNKNOWN_SAVINGS_PERIOD";

A savings-goal contribution period that is not one of daily/weekly/monthly/yearly (how long to save $X at $Y <period>). Names the accepted set.

readonly UNKNOWN_UNIT: "UNKNOWN_UNIT" = "UNKNOWN_UNIT";

A conversion or a unit named something that is not a unit (5 km in mies). The message offers the nearest spellings where there are any.

readonly UNTERMINATED_STRING: "UNTERMINATED_STRING" = "UNTERMINATED_STRING";

A " that is never closed, as in "abc. Raised by the lexer; the reader closes the text.

CoreErrorCodes.USER_FUNCTION_ASYNC_UNSUPPORTED

Section titled “CoreErrorCodes.USER_FUNCTION_ASYNC_UNSUPPORTED”
readonly USER_FUNCTION_ASYNC_UNSUPPORTED: "USER_FUNCTION_ASYNC_UNSUPPORTED" = "USER_FUNCTION_ASYNC_UNSUPPORTED";

A function of the reader’s own whose body reaches live data (weather, stocks, a currency rate). Function bodies must be synchronous.

CoreErrorCodes.USER_FUNCTION_INVALID_PARAM_NAME

Section titled “CoreErrorCodes.USER_FUNCTION_INVALID_PARAM_NAME”
readonly USER_FUNCTION_INVALID_PARAM_NAME: "USER_FUNCTION_INVALID_PARAM_NAME" = "USER_FUNCTION_INVALID_PARAM_NAME";

A function definition (f(x, y) = ...) with something other than a name where a parameter goes.

readonly USER_FUNCTION_NO_PARAMS: "USER_FUNCTION_NO_PARAMS" = "USER_FUNCTION_NO_PARAMS";

A function definition with no parameters, f() = ..., which would read the same as a call. A definition needs at least one.

CoreErrorCodes.WEIGHTED_AVERAGE_ZERO_WEIGHT

Section titled “CoreErrorCodes.WEIGHTED_AVERAGE_ZERO_WEIGHT”
readonly WEIGHTED_AVERAGE_ZERO_WEIGHT: "WEIGHTED_AVERAGE_ZERO_WEIGHT" = "WEIGHTED_AVERAGE_ZERO_WEIGHT";

A weighted average whose weights add up to zero.

readonly WHAT_IF_IN_GOAL_SEEK: "WHAT_IF_IN_GOAL_SEEK" = "WHAT_IF_IN_GOAL_SEEK";

Goal seek targeting a line that holds a what-if or a sweep, whose every probe would re-run the document again.

readonly WHAT_IF_INPUT_NOT_USED: "WHAT_IF_INPUT_NOT_USED" = "WHAT_IF_INPUT_NOT_USED";

A what-if overrides a name no line it re-runs mentions, which cannot change any answer and is almost always a misspelling. Thrown by engine.whatIf; returned as an Error value by the line N with ... and sweep forms.

readonly WHAT_IF_LINE_OUT_OF_RANGE: "WHAT_IF_LINE_OUT_OF_RANGE" = "WHAT_IF_LINE_OUT_OF_RANGE";

A what-if or a sweep naming a line the document does not have.

readonly WHAT_IF_LIVE_DATA: "WHAT_IF_LIVE_DATA" = "WHAT_IF_LIVE_DATA";

A what-if targeting a line that waits on live data, which a re-run does not fetch.

readonly WHAT_IF_NESTED: "WHAT_IF_NESTED" = "WHAT_IF_NESTED";

A what-if or a sweep run from inside another one’s re-run of the document.

readonly WHAT_IF_OVERRIDE_INVALID: "WHAT_IF_OVERRIDE_INVALID" = "WHAT_IF_OVERRIDE_INVALID";

engine.whatIf(text, overrides) was given an override whose name is not a variable name, or whose value is not a finite number, text that evaluates on its own, or a Value. Thrown, since it is the host’s argument that is wrong rather than a line of the note.

readonly WHAT_IF_TARGET_ERROR: "WHAT_IF_TARGET_ERROR" = "WHAT_IF_TARGET_ERROR";

A what-if whose target line has no answer with the inputs given. The message is the line’s own.

CoreErrorCodes.WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS

Section titled “CoreErrorCodes.WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS”
readonly WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS: "WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS" = "WHAT_IF_TARGET_HAS_SEVERAL_ANSWERS";

A what-if targeting a line with several inline answers, so there is no one answer to give.

CoreErrorCodes.WHAT_IF_TARGET_NOT_A_CALCULATION

Section titled “CoreErrorCodes.WHAT_IF_TARGET_NOT_A_CALCULATION”
readonly WHAT_IF_TARGET_NOT_A_CALCULATION: "WHAT_IF_TARGET_NOT_A_CALCULATION" = "WHAT_IF_TARGET_NOT_A_CALCULATION";

A what-if targeting prose, a heading or a blank line, which has no answer to work out again.

readonly WHAT_IF_WRITES_GLOBAL: "WHAT_IF_WRITES_GLOBAL" = "WHAT_IF_WRITES_GLOBAL";

A what-if would re-run a line that sets a global :name. A global is shared with every other document in the process, so the scenario’s value would reach them; refused rather than re-run. Thrown by engine.whatIf; returned as an Error value by the line forms.

CoreErrorCodes.WORKDAY_OFFSET_EXPECTED_DATE

Section titled “CoreErrorCodes.WORKDAY_OFFSET_EXPECTED_DATE”
readonly WORKDAY_OFFSET_EXPECTED_DATE: "WORKDAY_OFFSET_EXPECTED_DATE" = "WORKDAY_OFFSET_EXPECTED_DATE";

N working days after <x> (or before, from) where <x> is not a date, as in 5 working days after 3.

CoreErrorCodes.WORKDAYS_BETWEEN_EXPECTED_DATES

Section titled “CoreErrorCodes.WORKDAYS_BETWEEN_EXPECTED_DATES”
readonly WORKDAYS_BETWEEN_EXPECTED_DATES: "WORKDAYS_BETWEEN_EXPECTED_DATES" = "WORKDAYS_BETWEEN_EXPECTED_DATES";

working days between <a> and <b> where one end is not a date.

CoreErrorCodes.WORKDAYS_BETWEEN_RANGE_TOO_LARGE

Section titled “CoreErrorCodes.WORKDAYS_BETWEEN_RANGE_TOO_LARGE”
readonly WORKDAYS_BETWEEN_RANGE_TOO_LARGE: "WORKDAYS_BETWEEN_RANGE_TOO_LARGE" = "WORKDAYS_BETWEEN_RANGE_TOO_LARGE";

working days between two dates further apart than date.maxOffsetYears and date.minOffsetYears allow the count to walk.

CryptoErrorCodes: {
CRYPTO_NOT_CONFIGURED: "CRYPTO_NOT_CONFIGURED";
};

The codes the crypto package answers with. A price that fails to fetch arrives as CRYPTO_QUERY_FAILED, one of the query resolver codes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly CRYPTO_NOT_CONFIGURED: "CRYPTO_NOT_CONFIGURED" = "CRYPTO_NOT_CONFIGURED";

A crypto price asked for on an engine whose crypto package was created without a fetchPrice. The host supplies one through createCryptoPackage.

CurrencyErrorCodes: {
API_ERROR: "CURRENCY_API_ERROR";
CRYPTO_API_ERROR: "CRYPTO_PRICE_API_ERROR";
UNKNOWN_CODE: "UNKNOWN_CURRENCY_CODE";
};

Error codes for this service. Co-located rather than unioned into errors/ErrorCode.ts’s core catalog (that catalog is scoped to the parser/VM/engine/errors/config/lexer layers, not yet the ~17 domain packages. See that file’s module doc for the intended per-package pattern this follows).

readonly API_ERROR: "CURRENCY_API_ERROR" = "CURRENCY_API_ERROR";

Frankfurter’s rates endpoint returned a non-OK HTTP status.

readonly CRYPTO_API_ERROR: "CRYPTO_PRICE_API_ERROR" = "CRYPTO_PRICE_API_ERROR";

CoinGecko’s simple-price endpoint returned a non-OK HTTP status.

readonly UNKNOWN_CODE: "UNKNOWN_CURRENCY_CODE" = "UNKNOWN_CURRENCY_CODE";

A requested currency/crypto code isn’t in the fetched rate table, an unrecognized code, not an API failure.

DateFormErrorCodes: {
AS_DATE_NEEDS_TIMESTAMP: "AS_DATE_NEEDS_TIMESTAMP";
AS_ISO8601_DURATION_TOO_LONG: "AS_ISO8601_DURATION_TOO_LONG";
AS_ISO8601_NEEDS_DATE: "AS_ISO8601_NEEDS_DATE";
AS_TIME_NEEDS_DATE: "AS_TIME_NEEDS_DATE";
AS_TIMESTAMP_NEEDS_DATE: "AS_TIMESTAMP_NEEDS_DATE";
DATE_EXPECTED: "DATE_EXPECTED";
DATE_FIELD_EXPECTED_DATE: "DATE_FIELD_EXPECTED_DATE";
DATE_OUT_OF_RANGE: "DATE_OUT_OF_RANGE";
DAYS_IN_EXPECTED_PERIOD: "DAYS_IN_EXPECTED_PERIOD";
INVALID_ISO8601_STRING: "INVALID_ISO8601_STRING";
INVALID_WEEKDAY: "INVALID_WEEKDAY";
MISSING_WEEKDAY: "MISSING_WEEKDAY";
NTH_WEEKDAY_OUT_OF_RANGE: "NTH_WEEKDAY_OUT_OF_RANGE";
PERIOD_EXPECTED: "PERIOD_EXPECTED";
WEEKDAY_ALONE: "WEEKDAY_ALONE";
WORKDAYS_IN_EXPECTED_DURATION: "WORKDAYS_IN_EXPECTED_DURATION";
WORKDAYS_UNTIL_UNSUPPORTED: "WORKDAYS_UNTIL_UNSUPPORTED";
};

The codes the date forms answer with: timestamps, weekdays, workdays in and the other questions asked of a date. A date literal that names no real day has its own codes, in DatetimeErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

DateFormErrorCodes.AS_DATE_NEEDS_TIMESTAMP

Section titled “DateFormErrorCodes.AS_DATE_NEEDS_TIMESTAMP”
readonly AS_DATE_NEEDS_TIMESTAMP: "AS_DATE_NEEDS_TIMESTAMP" = "AS_DATE_NEEDS_TIMESTAMP";

as date given a value that is neither a Unix timestamp, ISO 8601 text nor a date.

DateFormErrorCodes.AS_ISO8601_DURATION_TOO_LONG

Section titled “DateFormErrorCodes.AS_ISO8601_DURATION_TOO_LONG”
readonly AS_ISO8601_DURATION_TOO_LONG: "AS_ISO8601_DURATION_TOO_LONG" = "AS_ISO8601_DURATION_TOO_LONG";

as iso8601 given a length of time too large for its parts to be written with exact digits, as in 1e300 seconds as iso8601.

readonly AS_ISO8601_NEEDS_DATE: "AS_ISO8601_NEEDS_DATE" = "AS_ISO8601_NEEDS_DATE";

as iso8601 given something that is not a date, a Unix timestamp or ISO 8601 text.

readonly AS_TIME_NEEDS_DATE: "AS_TIME_NEEDS_DATE" = "AS_TIME_NEEDS_DATE";

as time given something that is not a date, as in 5 as time. A number has no time of day of its own, so it is read as a date first: 1710000000 as date as time.

DateFormErrorCodes.AS_TIMESTAMP_NEEDS_DATE

Section titled “DateFormErrorCodes.AS_TIMESTAMP_NEEDS_DATE”
readonly AS_TIMESTAMP_NEEDS_DATE: "AS_TIMESTAMP_NEEDS_DATE" = "AS_TIMESTAMP_NEEDS_DATE";

as timestamp given a value that is neither a date, ISO 8601 text nor a Unix timestamp.

readonly DATE_EXPECTED: "DATE_EXPECTED" = "DATE_EXPECTED";

A date form (2nd Tuesday of, age of) given something that is not a date, as in age of 5.

DateFormErrorCodes.DATE_FIELD_EXPECTED_DATE

Section titled “DateFormErrorCodes.DATE_FIELD_EXPECTED_DATE”
readonly DATE_FIELD_EXPECTED_DATE: "DATE_FIELD_EXPECTED_DATE" = "DATE_FIELD_EXPECTED_DATE";

A question asked of a date (day of the week on, week number of) given something that is not a date.

readonly DATE_OUT_OF_RANGE: "DATE_OUT_OF_RANGE" = "DATE_OUT_OF_RANGE";

A timestamp outside the dates the engine can hold, about 273,000 years either side of 1970.

DateFormErrorCodes.DAYS_IN_EXPECTED_PERIOD

Section titled “DateFormErrorCodes.DAYS_IN_EXPECTED_PERIOD”
readonly DAYS_IN_EXPECTED_PERIOD: "DAYS_IN_EXPECTED_PERIOD" = "DAYS_IN_EXPECTED_PERIOD";

days in followed by something that is not a month, a quarter or a year.

readonly INVALID_ISO8601_STRING: "INVALID_ISO8601_STRING" = "INVALID_ISO8601_STRING";

Text given as an ISO 8601 date or time that does not read as one.

readonly INVALID_WEEKDAY: "INVALID_WEEKDAY" = "INVALID_WEEKDAY";

A weekday given as a number that is not a day of the week.

readonly MISSING_WEEKDAY: "MISSING_WEEKDAY" = "MISSING_WEEKDAY";

next or last with no day of the week after it.

DateFormErrorCodes.NTH_WEEKDAY_OUT_OF_RANGE

Section titled “DateFormErrorCodes.NTH_WEEKDAY_OUT_OF_RANGE”
readonly NTH_WEEKDAY_OUT_OF_RANGE: "NTH_WEEKDAY_OUT_OF_RANGE" = "NTH_WEEKDAY_OUT_OF_RANGE";

An ordinal weekday the month does not have, such as the fifth Monday of a month with four.

readonly PERIOD_EXPECTED: "PERIOD_EXPECTED" = "PERIOD_EXPECTED";

start of or end of followed by something that is not a week, a month or a year.

readonly WEEKDAY_ALONE: "WEEKDAY_ALONE" = "WEEKDAY_ALONE";

A day of the week alone on a line, which is read as a heading. The message points at this friday or next friday for the date.

DateFormErrorCodes.WORKDAYS_IN_EXPECTED_DURATION

Section titled “DateFormErrorCodes.WORKDAYS_IN_EXPECTED_DURATION”
readonly WORKDAYS_IN_EXPECTED_DURATION: "WORKDAYS_IN_EXPECTED_DURATION" = "WORKDAYS_IN_EXPECTED_DURATION";

workdays in given a quantity that is not a length of time.

DateFormErrorCodes.WORKDAYS_UNTIL_UNSUPPORTED

Section titled “DateFormErrorCodes.WORKDAYS_UNTIL_UNSUPPORTED”
readonly WORKDAYS_UNTIL_UNSUPPORTED: "WORKDAYS_UNTIL_UNSUPPORTED" = "WORKDAYS_UNTIL_UNSUPPORTED";

workdays until or workdays since, which are not counted on the calendar. The message points at workdays between.

DatetimeErrorCodes: {
DATE_INPUT_LOCALE_INVALID: "DATE_INPUT_LOCALE_INVALID";
DATE_NOT_A_CALENDAR_DAY: "DATE_NOT_A_CALENDAR_DAY";
DATE_ORDER_MISMATCH: "DATE_ORDER_MISMATCH";
};

Scoped error codes the datetime package owns (see errors/ErrorCode.ts convention).

DatetimeErrorCodes.DATE_INPUT_LOCALE_INVALID

Section titled “DatetimeErrorCodes.DATE_INPUT_LOCALE_INVALID”
readonly DATE_INPUT_LOCALE_INVALID: "DATE_INPUT_LOCALE_INVALID" = "DATE_INPUT_LOCALE_INVALID";

date.inputLocale is not a BCP-47 locale tag ("en_US" with an underscore is the usual mistake). Raised at engine construction, because a locale that is silently ignored is a date order that is silently wrong.

DatetimeErrorCodes.DATE_NOT_A_CALENDAR_DAY

Section titled “DatetimeErrorCodes.DATE_NOT_A_CALENDAR_DAY”
readonly DATE_NOT_A_CALENDAR_DAY: "DATE_NOT_A_CALENDAR_DAY" = "DATE_NOT_A_CALENDAR_DAY";

A run whose shape is unmistakably a date attempt and which names no real day under any reading: 31/04/2026, 29/02/2026, 13/13/2026, 2026-02-29, 2026-13-01. Separate from DATE_ORDER_MISMATCH because no change of order fixes it, so the message must not suggest one.

readonly DATE_ORDER_MISMATCH: "DATE_ORDER_MISMATCH" = "DATE_ORDER_MISMATCH";

A date-shaped run the resolved order cannot read, which another supported order can (12/25/2026 on a day-first engine), or a year-last run on a year-first engine, which has no day and month roles to apply to it. The message names the order actually used, the group that broke, the reading that would work, and the two ways out. A recoverable Error VALUE, never a throw, and suppressed by date.onAmbiguous: 'arithmetic'.

DatetimeZoneErrorCodes: {
DATE_WEEKDAY_INVALID: "DATE_WEEKDAY_INVALID";
DATE_ZONE_UNKNOWN: "DATE_ZONE_UNKNOWN";
DATETIME_NOT_CONVERTIBLE: "DATETIME_NOT_CONVERTIBLE";
DATETIME_ZONE_UNKNOWN: "DATETIME_ZONE_UNKNOWN";
TIME_ZONE_OFFSET_OUT_OF_RANGE: "TIME_ZONE_OFFSET_OUT_OF_RANGE";
};

Codes for the datetime forms whose failure is raised OUTSIDE the datetime package.

These sit here rather than beside the datetime parselets, which is where a package’s own code object belongs, because the two sites that raise them are vm/VM.ts (the in <zone> branch of the unit-conversion opcode) and calendar/DateCalendar.ts (the zone-bound backend factory), and neither may import from packages/. A code object in the datetime package would put the name a core file needs on the wrong side of that line.

DatetimeZoneErrorCodes.DATE_WEEKDAY_INVALID

Section titled “DatetimeZoneErrorCodes.DATE_WEEKDAY_INVALID”
readonly DATE_WEEKDAY_INVALID: "DATE_WEEKDAY_INVALID" = "DATE_WEEKDAY_INVALID";

date: { weekend: ["fri"] }: date.weekend or date.firstDayOfWeek named something that is not a day of the week. Raised at construction, because a weekend quietly ignored is every working-day answer quietly wrong (#702).

readonly DATE_ZONE_UNKNOWN: "DATE_ZONE_UNKNOWN" = "DATE_ZONE_UNKNOWN";

dateCalendarInZone given a zone this runtime cannot compute in, as in "Europe/Atlantis". Raised when the host builds the calendar, not per line.

DatetimeZoneErrorCodes.DATETIME_NOT_CONVERTIBLE

Section titled “DatetimeZoneErrorCodes.DATETIME_NOT_CONVERTIBLE”
readonly DATETIME_NOT_CONVERTIBLE: "DATETIME_NOT_CONVERTIBLE" = "DATETIME_NOT_CONVERTIBLE";

A date converted in <unit> where the name is a real unit that a date has no reading in, as in 2026-04-03 in furlongs. Separate from DATETIME_ZONE_UNKNOWN, since the fix is different.

DatetimeZoneErrorCodes.DATETIME_ZONE_UNKNOWN

Section titled “DatetimeZoneErrorCodes.DATETIME_ZONE_UNKNOWN”
readonly DATETIME_ZONE_UNKNOWN: "DATETIME_ZONE_UNKNOWN" = "DATETIME_ZONE_UNKNOWN";

A date converted in <name> where the name is neither a time zone the engine knows nor a unit, as in 2026-04-03 in Atlantis. The reader checks the zone’s spelling.

DatetimeZoneErrorCodes.TIME_ZONE_OFFSET_OUT_OF_RANGE

Section titled “DatetimeZoneErrorCodes.TIME_ZONE_OFFSET_OUT_OF_RANGE”
readonly TIME_ZONE_OFFSET_OUT_OF_RANGE: "TIME_ZONE_OFFSET_OUT_OF_RANGE" = "TIME_ZONE_OFFSET_OUT_OF_RANGE";

2026-04-03 in UTC+25, time in UTC-5:60: a signed offset after UTC or GMT that no clock keeps (outside UTC-12 to UTC+14, sixty minutes or more, a fraction, or a time of day). An Error value from the VM’s in <zone> branch, and a parse error from the time package’s zone forms, each as that form refuses an unknown zone; both read the offset with calendar/UtcOffset.ts’s tryReadUtcOffset (#730).

DefineFunctionErrorCodes: {
DEFINE_FUNCTION_ARGUMENT_TYPE: "DEFINE_FUNCTION_ARGUMENT_TYPE";
DEFINE_FUNCTION_ARITY_MISMATCH: "DEFINE_FUNCTION_ARITY_MISMATCH";
DEFINE_FUNCTION_INVALID_NAME: "DEFINE_FUNCTION_INVALID_NAME";
DEFINE_FUNCTION_INVALID_SPEC: "DEFINE_FUNCTION_INVALID_SPEC";
DEFINE_FUNCTION_RETURN_TYPE: "DEFINE_FUNCTION_RETURN_TYPE";
};

Error codes the declarative function API raises. Kept as a co-located const (the convention errors/ErrorCode.ts documents for a domain’s own codes) so the strings have one source of truth.

DefineFunctionErrorCodes.DEFINE_FUNCTION_ARGUMENT_TYPE

Section titled “DefineFunctionErrorCodes.DEFINE_FUNCTION_ARGUMENT_TYPE”
readonly DEFINE_FUNCTION_ARGUMENT_TYPE: "DEFINE_FUNCTION_ARGUMENT_TYPE" = "DEFINE_FUNCTION_ARGUMENT_TYPE";

An argument was the wrong value type. Raised at evaluation time.

DefineFunctionErrorCodes.DEFINE_FUNCTION_ARITY_MISMATCH

Section titled “DefineFunctionErrorCodes.DEFINE_FUNCTION_ARITY_MISMATCH”
readonly DEFINE_FUNCTION_ARITY_MISMATCH: "DEFINE_FUNCTION_ARITY_MISMATCH" = "DEFINE_FUNCTION_ARITY_MISMATCH";

The call site passed the wrong number of arguments. Raised at evaluation time.

DefineFunctionErrorCodes.DEFINE_FUNCTION_INVALID_NAME

Section titled “DefineFunctionErrorCodes.DEFINE_FUNCTION_INVALID_NAME”
readonly DEFINE_FUNCTION_INVALID_NAME: "DEFINE_FUNCTION_INVALID_NAME" = "DEFINE_FUNCTION_INVALID_NAME";

The spec’s name is not a single identifier. Thrown by defineFunction, before any engine sees it.

DefineFunctionErrorCodes.DEFINE_FUNCTION_INVALID_SPEC

Section titled “DefineFunctionErrorCodes.DEFINE_FUNCTION_INVALID_SPEC”
readonly DEFINE_FUNCTION_INVALID_SPEC: "DEFINE_FUNCTION_INVALID_SPEC" = "DEFINE_FUNCTION_INVALID_SPEC";

The spec is otherwise malformed (bad args, unsupported type, missing call). Thrown by defineFunction.

DefineFunctionErrorCodes.DEFINE_FUNCTION_RETURN_TYPE

Section titled “DefineFunctionErrorCodes.DEFINE_FUNCTION_RETURN_TYPE”
readonly DEFINE_FUNCTION_RETURN_TYPE: "DEFINE_FUNCTION_RETURN_TYPE" = "DEFINE_FUNCTION_RETURN_TYPE";

The call implementation returned a value that did not match returns. Raised at evaluation time, an authoring bug rather than a user one.

DerivedUnitsErrorCodes: {
AS_UNIT_EXPECTED_QUANTITY: "AS_UNIT_EXPECTED_QUANTITY";
AS_UNIT_INCOMPATIBLE: "AS_UNIT_INCOMPATIBLE";
};

The codes the derived-units package answers with: as <unit>.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

DerivedUnitsErrorCodes.AS_UNIT_EXPECTED_QUANTITY

Section titled “DerivedUnitsErrorCodes.AS_UNIT_EXPECTED_QUANTITY”
readonly AS_UNIT_EXPECTED_QUANTITY: "AS_UNIT_EXPECTED_QUANTITY" = "AS_UNIT_EXPECTED_QUANTITY";

as <unit> given a plain number or something else with no unit.

DerivedUnitsErrorCodes.AS_UNIT_INCOMPATIBLE

Section titled “DerivedUnitsErrorCodes.AS_UNIT_INCOMPATIBLE”
readonly AS_UNIT_INCOMPATIBLE: "AS_UNIT_INCOMPATIBLE" = "AS_UNIT_INCOMPATIBLE";

as <unit> given a quantity that does not measure what the unit does.

EncodingErrorCodes: {
ENCODING_DECODE_FAILED: "ENCODING_DECODE_FAILED";
ENCODING_EXPECTED_TEXT: "ENCODING_EXPECTED_TEXT";
UNKNOWN_ENCODING: "UNKNOWN_ENCODING";
};

The codes the encoding package answers with: as base64, from url, jwt(...) and query(...).

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly ENCODING_DECODE_FAILED: "ENCODING_DECODE_FAILED" = "ENCODING_DECODE_FAILED";

Text that does not decode in the encoding named: not valid base64, not a JSON Web Token, not a query string.

readonly ENCODING_EXPECTED_TEXT: "ENCODING_EXPECTED_TEXT" = "ENCODING_EXPECTED_TEXT";

An encoding form given something that is not text in quotes.

readonly UNKNOWN_ENCODING: "UNKNOWN_ENCODING" = "UNKNOWN_ENCODING";

from <name> naming an encoding the package does not know. The message lists the ones it does.

FinanceErrorCodes: {
CASH_FLOW_ARGUMENT_COUNT: "CASH_FLOW_ARGUMENT_COUNT";
CASH_FLOW_EXPECTED_AMOUNT: "CASH_FLOW_EXPECTED_AMOUNT";
CASH_FLOW_MISSING_RATE: "CASH_FLOW_MISSING_RATE";
CASH_FLOW_OUT_OF_RANGE: "CASH_FLOW_OUT_OF_RANGE";
CASH_FLOW_TOO_FEW: "CASH_FLOW_TOO_FEW";
INFLATION_EXPECTED_CURRENCY: "INFLATION_EXPECTED_CURRENCY";
INFLATION_EXPECTED_FROM_OR_IN: "INFLATION_EXPECTED_FROM_OR_IN";
INFLATION_EXPECTED_INFLATION_WORD: "INFLATION_EXPECTED_INFLATION_WORD";
INFLATION_EXPECTED_USD: "INFLATION_EXPECTED_USD";
INFLATION_EXPECTED_YEAR: "INFLATION_EXPECTED_YEAR";
INFLATION_NO_INDEX: "INFLATION_NO_INDEX";
IRR_NO_SIGN_CHANGE: "IRR_NO_SIGN_CHANGE";
IRR_NONE: "IRR_NONE";
IRR_NOT_UNIQUE: "IRR_NOT_UNIQUE";
IRR_UNRESOLVED: "IRR_UNRESOLVED";
PAYBACK_NEVER: "PAYBACK_NEVER";
PAYBACK_NO_OUTLAY: "PAYBACK_NO_OUTLAY";
SAVINGS_GOAL_SYNTAX: "SAVINGS_GOAL_SYNTAX";
UNKNOWN_COMPOUNDING_INTERVAL: "UNKNOWN_COMPOUNDING_INTERVAL";
};

The codes the finance package answers with: cash flows (npv, irr, payback), inflation and compounding. A bill split and a recurring schedule have their own, in RecurringScheduleErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

FinanceErrorCodes.CASH_FLOW_ARGUMENT_COUNT

Section titled “FinanceErrorCodes.CASH_FLOW_ARGUMENT_COUNT”
readonly CASH_FLOW_ARGUMENT_COUNT: "CASH_FLOW_ARGUMENT_COUNT" = "CASH_FLOW_ARGUMENT_COUNT";

A cash-flow form given no flows, or npv given flows with no rate.

FinanceErrorCodes.CASH_FLOW_EXPECTED_AMOUNT

Section titled “FinanceErrorCodes.CASH_FLOW_EXPECTED_AMOUNT”
readonly CASH_FLOW_EXPECTED_AMOUNT: "CASH_FLOW_EXPECTED_AMOUNT" = "CASH_FLOW_EXPECTED_AMOUNT";

A cash flow that is not a finite amount of money or a plain number, or flows given both one by one and as a list.

readonly CASH_FLOW_MISSING_RATE: "CASH_FLOW_MISSING_RATE" = "CASH_FLOW_MISSING_RATE";

npv of ... with no at <rate> after the flows.

readonly CASH_FLOW_OUT_OF_RANGE: "CASH_FLOW_OUT_OF_RANGE" = "CASH_FLOW_OUT_OF_RANGE";

A net present value beyond the range of a number at the rate given.

readonly CASH_FLOW_TOO_FEW: "CASH_FLOW_TOO_FEW" = "CASH_FLOW_TOO_FEW";

A cash-flow form given fewer than two flows: an outlay and a return are the least it reads.

FinanceErrorCodes.INFLATION_EXPECTED_CURRENCY

Section titled “FinanceErrorCodes.INFLATION_EXPECTED_CURRENCY”
readonly INFLATION_EXPECTED_CURRENCY: "INFLATION_EXPECTED_CURRENCY" = "INFLATION_EXPECTED_CURRENCY";

<amount> in <year> pounds or in <year> euros of an amount in another currency that has its own index: the phrase asks for that currency.

FinanceErrorCodes.INFLATION_EXPECTED_FROM_OR_IN

Section titled “FinanceErrorCodes.INFLATION_EXPECTED_FROM_OR_IN”
readonly INFLATION_EXPECTED_FROM_OR_IN: "INFLATION_EXPECTED_FROM_OR_IN" = "INFLATION_EXPECTED_FROM_OR_IN";

what is <amount> followed by neither from <year> nor in <year> worth in <year>, as in what is $300 and $50 from 2003.

FinanceErrorCodes.INFLATION_EXPECTED_INFLATION_WORD

Section titled “FinanceErrorCodes.INFLATION_EXPECTED_INFLATION_WORD”
readonly INFLATION_EXPECTED_INFLATION_WORD: "INFLATION_EXPECTED_INFLATION_WORD" = "INFLATION_EXPECTED_INFLATION_WORD";

assuming <rate>% not followed by the word inflation.

readonly INFLATION_EXPECTED_USD: "INFLATION_EXPECTED_USD" = "INFLATION_EXPECTED_USD";

<amount> in <year> dollars of an amount in another currency that has its own index: the phrase asks for dollars.

readonly INFLATION_EXPECTED_YEAR: "INFLATION_EXPECTED_YEAR" = "INFLATION_EXPECTED_YEAR";

The year of an inflation question that is not a plain whole number: money, a quantity, a date or a fraction, as in what is $100 from 1990.5.

readonly INFLATION_NO_INDEX: "INFLATION_NO_INDEX" = "INFLATION_NO_INDEX";

An inflation adjustment of an amount no bundled price index measures: a currency without one, a quantity that is not money, or a bare number.

readonly IRR_NO_SIGN_CHANGE: "IRR_NO_SIGN_CHANGE" = "IRR_NO_SIGN_CHANGE";

irr of flows that never change sign (all money out, or all in), so no rate makes their value zero.

readonly IRR_NONE: "IRR_NONE" = "IRR_NONE";

irr of flows no rate above -100% brings to zero.

readonly IRR_NOT_UNIQUE: "IRR_NOT_UNIQUE" = "IRR_NOT_UNIQUE";

irr of flows with several internal rates of return. The message lists them rather than choosing one.

readonly IRR_UNRESOLVED: "IRR_UNRESOLVED" = "IRR_UNRESOLVED";

irr of flows whose rates are too close together to tell apart.

readonly PAYBACK_NEVER: "PAYBACK_NEVER" = "PAYBACK_NEVER";

payback of flows that never recover the outlay. The message says how far short the total ends.

readonly PAYBACK_NO_OUTLAY: "PAYBACK_NO_OUTLAY" = "PAYBACK_NO_OUTLAY";

payback of flows whose running total is never below zero, so there is nothing to pay back.

readonly SAVINGS_GOAL_SYNTAX: "SAVINGS_GOAL_SYNTAX" = "SAVINGS_GOAL_SYNTAX";

how much per month to reach <target> followed by neither in nor over and the time the saving runs for.

FinanceErrorCodes.UNKNOWN_COMPOUNDING_INTERVAL

Section titled “FinanceErrorCodes.UNKNOWN_COMPOUNDING_INTERVAL”
readonly UNKNOWN_COMPOUNDING_INTERVAL: "UNKNOWN_COMPOUNDING_INTERVAL" = "UNKNOWN_COMPOUNDING_INTERVAL";

compounding <interval> naming an interval the package does not know. The message lists the ones it does.

GeoErrorCodes: {
GEO_BAD_ANGLE: "GEO_BAD_ANGLE";
GEO_EXPECTED_ANGLE: "GEO_EXPECTED_ANGLE";
GEO_EXPECTED_PLACE: "GEO_EXPECTED_PLACE";
GEO_EXPECTED_SECOND_PLACE: "GEO_EXPECTED_SECOND_PLACE";
GEO_NO_BEARING: "GEO_NO_BEARING";
GEO_NOT_A_PLACE: "GEO_NOT_A_PLACE";
GEO_OUT_OF_RANGE: "GEO_OUT_OF_RANGE";
};

Error codes this package answers with. Each names something a reader can correct.

readonly GEO_BAD_ANGLE: "GEO_BAD_ANGLE" = "GEO_BAD_ANGLE";

An angle literal’s parts do not make an angle (75 minutes, say).

readonly GEO_EXPECTED_ANGLE: "GEO_EXPECTED_ANGLE" = "GEO_EXPECTED_ANGLE";

as dms was given something that is not an angle or a place.

readonly GEO_EXPECTED_PLACE: "GEO_EXPECTED_PLACE" = "GEO_EXPECTED_PLACE";

A distance or bearing was given something that is not a place.

readonly GEO_EXPECTED_SECOND_PLACE: "GEO_EXPECTED_SECOND_PLACE" = "GEO_EXPECTED_SECOND_PLACE";

A distance or bearing between places with no second place after its to or and.

readonly GEO_NO_BEARING: "GEO_NO_BEARING" = "GEO_NO_BEARING";

The two places have no single direction between them.

readonly GEO_NOT_A_PLACE: "GEO_NOT_A_PLACE" = "GEO_NOT_A_PLACE";

Two lettered angles side by side were not one latitude and one longitude.

readonly GEO_OUT_OF_RANGE: "GEO_OUT_OF_RANGE" = "GEO_OUT_OF_RANGE";

A latitude or longitude was outside the globe.

GeometryErrorCodes: {
GEOMETRY_ERROR: "GEOMETRY_ERROR";
GEOMETRY_EXPECTED_SHAPE: "GEOMETRY_EXPECTED_SHAPE";
};

The codes the geometry package answers with: area of, volume of and the other shape measures.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly GEOMETRY_ERROR: "GEOMETRY_ERROR" = "GEOMETRY_ERROR";

A shape given a dimension that is not a length or a number, or a set of dimensions that make no shape.

GeometryErrorCodes.GEOMETRY_EXPECTED_SHAPE

Section titled “GeometryErrorCodes.GEOMETRY_EXPECTED_SHAPE”
readonly GEOMETRY_EXPECTED_SHAPE: "GEOMETRY_EXPECTED_SHAPE" = "GEOMETRY_EXPECTED_SHAPE";

A shape measure (area of) followed by something that is not a shape. The message lists the shapes.

GoalSeekErrorCodes: {
GOAL_SEEK_DID_NOT_CONVERGE: "GOAL_SEEK_DID_NOT_CONVERGE";
GOAL_SEEK_NO_SOLUTION: "GOAL_SEEK_NO_SOLUTION";
GOAL_SEEK_NON_FINITE: "GOAL_SEEK_NON_FINITE";
GOAL_SEEK_RANGE_INVALID: "GOAL_SEEK_RANGE_INVALID";
GOAL_SEEK_REQUIRES_VARIABLE_NAME: "GOAL_SEEK_REQUIRES_VARIABLE_NAME";
GOAL_SEEK_SEVERAL_SOLUTIONS: "GOAL_SEEK_SEVERAL_SOLUTIONS";
GOAL_SEEK_SYNTAX: "GOAL_SEEK_SYNTAX";
GOAL_SEEK_TARGET_NOT_NUMERIC: "GOAL_SEEK_TARGET_NOT_NUMERIC";
GOAL_SEEK_TARGET_UNIT_MISMATCH: "GOAL_SEEK_TARGET_UNIT_MISMATCH";
GOAL_SEEK_TOO_MANY_SOLUTIONS: "GOAL_SEEK_TOO_MANY_SOLUTIONS";
GOAL_SEEK_VARIABLE_NOT_USED: "GOAL_SEEK_VARIABLE_NOT_USED";
};

The codes goal seek (solve line N for x = target) answers with. The refusals the engine raises while it re-runs the target line are in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

GoalSeekErrorCodes.GOAL_SEEK_DID_NOT_CONVERGE

Section titled “GoalSeekErrorCodes.GOAL_SEEK_DID_NOT_CONVERGE”
readonly GOAL_SEEK_DID_NOT_CONVERGE: "GOAL_SEEK_DID_NOT_CONVERGE" = "GOAL_SEEK_DID_NOT_CONVERGE";

A goal seek that did not reach the target within its steps, or narrowed to a point where the line jumps across it.

readonly GOAL_SEEK_NO_SOLUTION: "GOAL_SEEK_NO_SOLUTION" = "GOAL_SEEK_NO_SOLUTION";

A goal seek over a range in which the target line stays on one side of the target wherever it could be worked out, or whose exact answers all lie outside a stated range. The message names the range searched.

readonly GOAL_SEEK_NON_FINITE: "GOAL_SEEK_NON_FINITE" = "GOAL_SEEK_NON_FINITE";

A goal seek whose target line gives no finite value for any input tried across the range, as 2^x does not far out and 1/x does not at zero. A value that is not finite for some inputs is a gap in the search, not this (#739).

GoalSeekErrorCodes.GOAL_SEEK_RANGE_INVALID

Section titled “GoalSeekErrorCodes.GOAL_SEEK_RANGE_INVALID”
readonly GOAL_SEEK_RANGE_INVALID: "GOAL_SEEK_RANGE_INVALID" = "GOAL_SEEK_RANGE_INVALID";

A goal seek’s between <low> and <high> whose ends are not two different finite numbers in the unknown’s measure (#739).

GoalSeekErrorCodes.GOAL_SEEK_REQUIRES_VARIABLE_NAME

Section titled “GoalSeekErrorCodes.GOAL_SEEK_REQUIRES_VARIABLE_NAME”
readonly GOAL_SEEK_REQUIRES_VARIABLE_NAME: "GOAL_SEEK_REQUIRES_VARIABLE_NAME" = "GOAL_SEEK_REQUIRES_VARIABLE_NAME";

A goal seek with no name to vary after for.

GoalSeekErrorCodes.GOAL_SEEK_SEVERAL_SOLUTIONS

Section titled “GoalSeekErrorCodes.GOAL_SEEK_SEVERAL_SOLUTIONS”
readonly GOAL_SEEK_SEVERAL_SOLUTIONS: "GOAL_SEEK_SEVERAL_SOLUTIONS" = "GOAL_SEEK_SEVERAL_SOLUTIONS";

A goal seek whose unknown carries a unit and whose line meets the target at several inputs. A list cannot carry the unit, so each value is named and the reader chooses with a range (#739).

readonly GOAL_SEEK_SYNTAX: "GOAL_SEEK_SYNTAX" = "GOAL_SEEK_SYNTAX";

A goal seek not written as solve line N for <name> = <target>. The message shows the form.

GoalSeekErrorCodes.GOAL_SEEK_TARGET_NOT_NUMERIC

Section titled “GoalSeekErrorCodes.GOAL_SEEK_TARGET_NOT_NUMERIC”
readonly GOAL_SEEK_TARGET_NOT_NUMERIC: "GOAL_SEEK_TARGET_NOT_NUMERIC" = "GOAL_SEEK_TARGET_NOT_NUMERIC";

A goal seek whose target is not a finite number, or whose target line does not give a number for a value tried.

GoalSeekErrorCodes.GOAL_SEEK_TARGET_UNIT_MISMATCH

Section titled “GoalSeekErrorCodes.GOAL_SEEK_TARGET_UNIT_MISMATCH”
readonly GOAL_SEEK_TARGET_UNIT_MISMATCH: "GOAL_SEEK_TARGET_UNIT_MISMATCH" = "GOAL_SEEK_TARGET_UNIT_MISMATCH";

A goal seek’s target in a unit that cannot be compared with the target line’s answer: another measure, or money in another currency. The reader writes the target in the line’s unit (#835).

GoalSeekErrorCodes.GOAL_SEEK_TOO_MANY_SOLUTIONS

Section titled “GoalSeekErrorCodes.GOAL_SEEK_TOO_MANY_SOLUTIONS”
readonly GOAL_SEEK_TOO_MANY_SOLUTIONS: "GOAL_SEEK_TOO_MANY_SOLUTIONS" = "GOAL_SEEK_TOO_MANY_SOLUTIONS";

A goal seek whose line meets the target at more inputs than a list of answers should hold, as a line built on sin or cos does (#739).

GoalSeekErrorCodes.GOAL_SEEK_VARIABLE_NOT_USED

Section titled “GoalSeekErrorCodes.GOAL_SEEK_VARIABLE_NOT_USED”
readonly GOAL_SEEK_VARIABLE_NOT_USED: "GOAL_SEEK_VARIABLE_NOT_USED" = "GOAL_SEEK_VARIABLE_NOT_USED";

A goal seek varying a name its target line does not read, which could never move the answer.

HashErrorCodes: {
HASH_EXPECTED_TEXT: "HASH_EXPECTED_TEXT";
};

The codes the hashing package answers with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly HASH_EXPECTED_TEXT: "HASH_EXPECTED_TEXT" = "HASH_EXPECTED_TEXT";

A hash function (sha256(...)) given something that is not text in quotes.

HealthErrorCodes: {
HEALTH_BAD_INPUT: "HEALTH_BAD_INPUT";
};

The codes the health package answers with: bmi, pace and speed.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly HEALTH_BAD_INPUT: "HEALTH_BAD_INPUT" = "HEALTH_BAD_INPUT";

A health function given an argument of the wrong kind, such as a weight where a height goes. The message shows the call.

HistoricalCurrencyErrorCodes: {
DATE_OUT_OF_RANGE: "HISTORICAL_RATE_DATE_OUT_OF_RANGE";
INVALID_OPERAND: "HISTORICAL_CURRENCY_INVALID_OPERAND";
NOT_CONFIGURED: "HISTORICAL_RATES_NOT_CONFIGURED";
NOT_PREFLIGHTED: "HISTORICAL_RATE_NOT_PREFLIGHTED";
QUERY_FAILED: "HISTORICAL_RATE_QUERY_FAILED";
UNSUPPORTED_CURRENCY: "HISTORICAL_RATE_UNSUPPORTED_CURRENCY";
};

Structured error codes this feature produces, co-located per the errors/ErrorCode.ts per-package pattern.

HistoricalCurrencyErrorCodes.DATE_OUT_OF_RANGE

Section titled “HistoricalCurrencyErrorCodes.DATE_OUT_OF_RANGE”
readonly DATE_OUT_OF_RANGE: "HISTORICAL_RATE_DATE_OUT_OF_RANGE" = "HISTORICAL_RATE_DATE_OUT_OF_RANGE";

A dated conversion for a day the built-in Frankfurter rates do not cover: before 4 January 1999 (the ECB reference rates’ first day) or after today.

HistoricalCurrencyErrorCodes.INVALID_OPERAND

Section titled “HistoricalCurrencyErrorCodes.INVALID_OPERAND”
readonly INVALID_OPERAND: "HISTORICAL_CURRENCY_INVALID_OPERAND" = "HISTORICAL_CURRENCY_INVALID_OPERAND";

The amount being converted was not a currency Value (bad bytecode, or a non-currency left operand).

HistoricalCurrencyErrorCodes.NOT_CONFIGURED

Section titled “HistoricalCurrencyErrorCodes.NOT_CONFIGURED”
readonly NOT_CONFIGURED: "HISTORICAL_RATES_NOT_CONFIGURED" = "HISTORICAL_RATES_NOT_CONFIGURED";

The host switched historical rates off (historicalRateProvider: null), so on <date> conversions cannot be answered. NOT a fall back to today’s rate.

HistoricalCurrencyErrorCodes.NOT_PREFLIGHTED

Section titled “HistoricalCurrencyErrorCodes.NOT_PREFLIGHTED”
readonly NOT_PREFLIGHTED: "HISTORICAL_RATE_NOT_PREFLIGHTED" = "HISTORICAL_RATE_NOT_PREFLIGHTED";

The VM reached the conversion before preflight cached its rate, a “shouldn’t happen” invariant break, not a user error.

readonly QUERY_FAILED: "HISTORICAL_RATE_QUERY_FAILED" = "HISTORICAL_RATE_QUERY_FAILED";

The provider threw, timed out, or answered with something that is not a rate, for one pair/date. Transient, evicted after a cooldown so a retry can happen.

HistoricalCurrencyErrorCodes.UNSUPPORTED_CURRENCY

Section titled “HistoricalCurrencyErrorCodes.UNSUPPORTED_CURRENCY”
readonly UNSUPPORTED_CURRENCY: "HISTORICAL_RATE_UNSUPPORTED_CURRENCY" = "HISTORICAL_RATE_UNSUPPORTED_CURRENCY";

A dated conversion for a currency the built-in Frankfurter rates do not quote: a cryptocurrency, or a code the ECB publishes no rate for.

IpErrorCodes: {
IP_EXPECTED: "IP_EXPECTED";
IP_EXPECTED_ADDRESS: "IP_EXPECTED_ADDRESS";
IP_EXPECTED_BLOCK: "IP_EXPECTED_BLOCK";
IP_FAMILY_MISMATCH: "IP_FAMILY_MISMATCH";
IP_NEEDS_ADDRESS_AND_PREFIX: "IP_NEEDS_ADDRESS_AND_PREFIX";
IP_NO_PREFIX: "IP_NO_PREFIX";
IP_PREFIX_OUT_OF_RANGE: "IP_PREFIX_OUT_OF_RANGE";
IPV6_NO_BROADCAST: "IPV6_NO_BROADCAST";
};

The codes the networking package answers with: subnets, masks and addresses.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly IP_EXPECTED: "IP_EXPECTED" = "IP_EXPECTED";

A networking form given something that is not an IP address or a subnet.

readonly IP_EXPECTED_ADDRESS: "IP_EXPECTED_ADDRESS" = "IP_EXPECTED_ADDRESS";

<address> in <subnet> with no address on the left.

readonly IP_EXPECTED_BLOCK: "IP_EXPECTED_BLOCK" = "IP_EXPECTED_BLOCK";

<address> in <subnet> with no subnet on the right.

readonly IP_FAMILY_MISMATCH: "IP_FAMILY_MISMATCH" = "IP_FAMILY_MISMATCH";

<address> in <subnet> with an IPv4 address and an IPv6 subnet, or the other way round.

readonly IP_NEEDS_ADDRESS_AND_PREFIX: "IP_NEEDS_ADDRESS_AND_PREFIX" = "IP_NEEDS_ADDRESS_AND_PREFIX";

broadcast of, network of or last address of given something without both an address and a prefix.

readonly IP_NO_PREFIX: "IP_NO_PREFIX" = "IP_NO_PREFIX";

hosts in or netmask of given an address with no prefix length, as in /24.

readonly IP_PREFIX_OUT_OF_RANGE: "IP_PREFIX_OUT_OF_RANGE" = "IP_PREFIX_OUT_OF_RANGE";

A prefix no address has (netmask of /200, 2001:db8::/129): IPv4 prefixes run from 0 to 32 and IPv6 prefixes from 0 to 128.

readonly IPV6_NO_BROADCAST: "IPV6_NO_BROADCAST" = "IPV6_NO_BROADCAST";

broadcast of an IPv6 block: IPv6 has no broadcast address, and last address of gives the block’s last one.

KnowledgeErrorCodes: {
KNOWLEDGE_NOT_CONFIGURED: "KNOWLEDGE_NOT_CONFIGURED";
};

The codes the knowledge package answers with. An answer that fails to fetch arrives as KNOWLEDGE_QUERY_FAILED, one of the query resolver codes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

KnowledgeErrorCodes.KNOWLEDGE_NOT_CONFIGURED

Section titled “KnowledgeErrorCodes.KNOWLEDGE_NOT_CONFIGURED”
readonly KNOWLEDGE_NOT_CONFIGURED: "KNOWLEDGE_NOT_CONFIGURED" = "KNOWLEDGE_NOT_CONFIGURED";

A knowledge question asked on an engine whose knowledge package was created without an answerQuery. The host supplies one through createKnowledgePackage.

LinesErrorCodes: {
INPUTS_OF_SYNTAX: "INPUTS_OF_SYNTAX";
LINE_RANGE_EMPTY: "LINE_RANGE_EMPTY";
LINE_RANGE_NON_NUMERIC: "LINE_RANGE_NON_NUMERIC";
LINE_REFERENCE_DELETED: "LINE_REFERENCE_DELETED";
SECTION_AMBIGUOUS: "SECTION_AMBIGUOUS";
SECTION_EMPTY: "SECTION_EMPTY";
SECTION_NO_DOCUMENT: "SECTION_NO_DOCUMENT";
SECTION_NOT_FOUND: "SECTION_NOT_FOUND";
TRACE_CYCLE: "TRACE_CYCLE";
TRACE_FORWARD_REFERENCE: "TRACE_FORWARD_REFERENCE";
};

The codes the lines package answers with: line ranges, total above and its siblings, sections and inputs of. The refusals every cross-line read shares are in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly INPUTS_OF_SYNTAX: "INPUTS_OF_SYNTAX" = "INPUTS_OF_SYNTAX";

inputs of not followed by a line reference, as in inputs of line 4.

readonly LINE_RANGE_EMPTY: "LINE_RANGE_EMPTY" = "LINE_RANGE_EMPTY";

A line range or an above aggregate with no figures in it: every line blank, a heading, or the top of the document.

readonly LINE_RANGE_NON_NUMERIC: "LINE_RANGE_NON_NUMERIC" = "LINE_RANGE_NON_NUMERIC";

A line range or an above aggregate reaching a line that is not a number or a quantity.

readonly LINE_REFERENCE_DELETED: "LINE_REFERENCE_DELETED" = "LINE_REFERENCE_DELETED";

A reference to a line that has since been deleted. An editor that keeps references through edits writes it as line deleted.

readonly SECTION_AMBIGUOUS: "SECTION_AMBIGUOUS" = "SECTION_AMBIGUOUS";

A section total naming a heading two or more headings share.

readonly SECTION_EMPTY: "SECTION_EMPTY" = "SECTION_EMPTY";

A section with no figures under its heading.

readonly SECTION_NO_DOCUMENT: "SECTION_NO_DOCUMENT" = "SECTION_NO_DOCUMENT";

A section total evaluated with no document to read headings from.

readonly SECTION_NOT_FOUND: "SECTION_NOT_FOUND" = "SECTION_NOT_FOUND";

A section total naming a heading the note does not have. The message lists the headings it has.

readonly TRACE_CYCLE: "TRACE_CYCLE" = "TRACE_CYCLE";

inputs of a line that reads its own answer, directly or round a loop of lines.

readonly TRACE_FORWARD_REFERENCE: "TRACE_FORWARD_REFERENCE" = "TRACE_FORWARD_REFERENCE";

inputs of a line that reads a line below it, whose order of working cannot be traced.

MapReduceErrorCodes: {
MAP_REDUCE_EXPECTED_COLLECTION_NAME: "MAP_REDUCE_EXPECTED_COLLECTION_NAME";
MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS: "MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS";
};

The codes map, reduce, sum(...) and prod(...) answer with at parse time. What they refuse while running is in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

MapReduceErrorCodes.MAP_REDUCE_EXPECTED_COLLECTION_NAME

Section titled “MapReduceErrorCodes.MAP_REDUCE_EXPECTED_COLLECTION_NAME”
readonly MAP_REDUCE_EXPECTED_COLLECTION_NAME: "MAP_REDUCE_EXPECTED_COLLECTION_NAME" = "MAP_REDUCE_EXPECTED_COLLECTION_NAME";

A map over named collections (map(x + y, x = [1, 2], y = [3, 4])) with one that has no name before its =.

MapReduceErrorCodes.MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS

Section titled “MapReduceErrorCodes.MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS”
readonly MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS: "MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS" = "MAP_REDUCE_TRANSFORM_MUST_BE_SYNCHRONOUS";

A map, reduce, sum or prod whose expression reaches live data, which it cannot wait for once per element.

MathPhrasesErrorCodes: {
AGGREGATE_CALL_EMPTY: "AGGREGATE_CALL_EMPTY";
AGGREGATE_CALL_RANGE: "AGGREGATE_CALL_RANGE";
AGGREGATE_NAME_RESERVED: "AGGREGATE_NAME_RESERVED";
CLAMP_EXPECTED_BETWEEN_OR_FROM: "CLAMP_EXPECTED_BETWEEN_OR_FROM";
LOG_EXPECTED_BASE: "LOG_EXPECTED_BASE";
PROPORTION_EXPECTED_WHAT: "PROPORTION_EXPECTED_WHAT";
REMAINDER_EXPECTED_DIVIDED_BY: "REMAINDER_EXPECTED_DIVIDED_BY";
ROOT_EXPECTED_OF: "ROOT_EXPECTED_OF";
WEIGHTED_AVERAGE_MISSING_WEIGHT: "WEIGHTED_AVERAGE_MISSING_WEIGHT";
};

The codes the maths phrases answer with: clamp, remainder of, root N of, log N base M, proportions, weighted averages and the aggregate calls.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

MathPhrasesErrorCodes.AGGREGATE_CALL_EMPTY

Section titled “MathPhrasesErrorCodes.AGGREGATE_CALL_EMPTY”
readonly AGGREGATE_CALL_EMPTY: "AGGREGATE_CALL_EMPTY" = "AGGREGATE_CALL_EMPTY";

An aggregate call with nothing inside, as in mean(), refused rather than answered 0.

MathPhrasesErrorCodes.AGGREGATE_CALL_RANGE

Section titled “MathPhrasesErrorCodes.AGGREGATE_CALL_RANGE”
readonly AGGREGATE_CALL_RANGE: "AGGREGATE_CALL_RANGE" = "AGGREGATE_CALL_RANGE";

An aggregate call whose only argument is written like a range (average(1:3), mean(1:3), median(1:3)), which outside sum (and its synonym total), prod, map and reduce is a clock time.

MathPhrasesErrorCodes.AGGREGATE_NAME_RESERVED

Section titled “MathPhrasesErrorCodes.AGGREGATE_NAME_RESERVED”
readonly AGGREGATE_NAME_RESERVED: "AGGREGATE_NAME_RESERVED" = "AGGREGATE_NAME_RESERVED";

A function of the reader’s own defined under an aggregate’s name (mean, median, stdev), which a call would never reach.

MathPhrasesErrorCodes.CLAMP_EXPECTED_BETWEEN_OR_FROM

Section titled “MathPhrasesErrorCodes.CLAMP_EXPECTED_BETWEEN_OR_FROM”
readonly CLAMP_EXPECTED_BETWEEN_OR_FROM: "CLAMP_EXPECTED_BETWEEN_OR_FROM" = "CLAMP_EXPECTED_BETWEEN_OR_FROM";

clamp <value> followed by neither between nor from.

readonly LOG_EXPECTED_BASE: "LOG_EXPECTED_BASE" = "LOG_EXPECTED_BASE";

log <n> not followed by base.

MathPhrasesErrorCodes.PROPORTION_EXPECTED_WHAT

Section titled “MathPhrasesErrorCodes.PROPORTION_EXPECTED_WHAT”
readonly PROPORTION_EXPECTED_WHAT: "PROPORTION_EXPECTED_WHAT" = "PROPORTION_EXPECTED_WHAT";

A proportion (5 km is to 500 m as 5 cm is to what) missing its final what.

MathPhrasesErrorCodes.REMAINDER_EXPECTED_DIVIDED_BY

Section titled “MathPhrasesErrorCodes.REMAINDER_EXPECTED_DIVIDED_BY”
readonly REMAINDER_EXPECTED_DIVIDED_BY: "REMAINDER_EXPECTED_DIVIDED_BY" = "REMAINDER_EXPECTED_DIVIDED_BY";

remainder of <a> not followed by divided by or /.

readonly ROOT_EXPECTED_OF: "ROOT_EXPECTED_OF" = "ROOT_EXPECTED_OF";

root <n> not followed by of.

MathPhrasesErrorCodes.WEIGHTED_AVERAGE_MISSING_WEIGHT

Section titled “MathPhrasesErrorCodes.WEIGHTED_AVERAGE_MISSING_WEIGHT”
readonly WEIGHTED_AVERAGE_MISSING_WEIGHT: "WEIGHTED_AVERAGE_MISSING_WEIGHT" = "WEIGHTED_AVERAGE_MISSING_WEIGHT";

A weighted average with a value that has no at <weight> after it.

MatrixErrorCodes: {
EMPTY_MATRIX_LITERAL: "EMPTY_MATRIX_LITERAL";
INVALID_MATRIX_SLICE_ARITY: "INVALID_MATRIX_SLICE_ARITY";
RAGGED_MATRIX_LITERAL: "RAGGED_MATRIX_LITERAL";
};

The codes the matrix package answers with at parse time. What matrices refuse while running is in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly EMPTY_MATRIX_LITERAL: "EMPTY_MATRIX_LITERAL" = "EMPTY_MATRIX_LITERAL";

A matrix written as [], which has no shape.

MatrixErrorCodes.INVALID_MATRIX_SLICE_ARITY

Section titled “MatrixErrorCodes.INVALID_MATRIX_SLICE_ARITY”
readonly INVALID_MATRIX_SLICE_ARITY: "INVALID_MATRIX_SLICE_ARITY" = "INVALID_MATRIX_SLICE_ARITY";

A matrix slice with other than two ranges, one for the rows and one for the columns.

readonly RAGGED_MATRIX_LITERAL: "RAGGED_MATRIX_LITERAL" = "RAGGED_MATRIX_LITERAL";

A matrix whose rows have different numbers of columns. The message names the row.

NumeralsErrorCodes: {
NUMERAL_EXPECTED_NUMBER: "NUMERAL_EXPECTED_NUMBER";
NUMERAL_EXPECTED_TEXT: "NUMERAL_EXPECTED_TEXT";
NUMERAL_INVALID_ROMAN: "NUMERAL_INVALID_ROMAN";
NUMERAL_OUT_OF_RANGE: "NUMERAL_OUT_OF_RANGE";
};

The codes the numerals package answers with: Roman numerals and numbers in words.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

NumeralsErrorCodes.NUMERAL_EXPECTED_NUMBER

Section titled “NumeralsErrorCodes.NUMERAL_EXPECTED_NUMBER”
readonly NUMERAL_EXPECTED_NUMBER: "NUMERAL_EXPECTED_NUMBER" = "NUMERAL_EXPECTED_NUMBER";

A numeral form (as roman, as words) given something that is not a number.

readonly NUMERAL_EXPECTED_TEXT: "NUMERAL_EXPECTED_TEXT" = "NUMERAL_EXPECTED_TEXT";

from roman given something that is not text in quotes.

readonly NUMERAL_INVALID_ROMAN: "NUMERAL_INVALID_ROMAN" = "NUMERAL_INVALID_ROMAN";

from roman given text that is not a valid Roman numeral.

readonly NUMERAL_OUT_OF_RANGE: "NUMERAL_OUT_OF_RANGE" = "NUMERAL_OUT_OF_RANGE";

A number the numeral form cannot write: Roman numerals cover 1 to 3,999, and a number past the largest spelled one has no words.

PayrollErrorCodes: {
PAYROLL_CONFLICTING_CASE: "PAYROLL_CONFLICTING_CASE";
PAYROLL_EXPECTED_GBP: "PAYROLL_EXPECTED_GBP";
PAYROLL_EXPECTED_PENSION_RATE: "PAYROLL_EXPECTED_PENSION_RATE";
PAYROLL_EXPECTED_RATE: "PAYROLL_EXPECTED_RATE";
PAYROLL_NEGATIVE_SALARY: "PAYROLL_NEGATIVE_SALARY";
PAYROLL_UNKNOWN_LOAN_PLAN: "PAYROLL_UNKNOWN_LOAN_PLAN";
};

Error codes this package answers with. Each names something a person can correct.

PayrollErrorCodes.PAYROLL_CONFLICTING_CASE

Section titled “PayrollErrorCodes.PAYROLL_CONFLICTING_CASE”
readonly PAYROLL_CONFLICTING_CASE: "PAYROLL_CONFLICTING_CASE" = "PAYROLL_CONFLICTING_CASE";

Two places, two pensions, a plan named twice, or two undergraduate plans on one take-home line.

readonly PAYROLL_EXPECTED_GBP: "PAYROLL_EXPECTED_GBP" = "PAYROLL_EXPECTED_GBP";

The banded forms were given something other than a pound salary.

PayrollErrorCodes.PAYROLL_EXPECTED_PENSION_RATE

Section titled “PayrollErrorCodes.PAYROLL_EXPECTED_PENSION_RATE”
readonly PAYROLL_EXPECTED_PENSION_RATE: "PAYROLL_EXPECTED_PENSION_RATE" = "PAYROLL_EXPECTED_PENSION_RATE";

with 150% pension: a pension contribution that is not a percentage between 0 and 100.

readonly PAYROLL_EXPECTED_RATE: "PAYROLL_EXPECTED_RATE" = "PAYROLL_EXPECTED_RATE";

A stated tax rate was not a rate a take-home can be worked out from.

readonly PAYROLL_NEGATIVE_SALARY: "PAYROLL_NEGATIVE_SALARY" = "PAYROLL_NEGATIVE_SALARY";

-£50,000 after tax or hourly for -£50,000: a salary below zero, which no one is paid.

PayrollErrorCodes.PAYROLL_UNKNOWN_LOAN_PLAN

Section titled “PayrollErrorCodes.PAYROLL_UNKNOWN_LOAN_PLAN”
readonly PAYROLL_UNKNOWN_LOAN_PLAN: "PAYROLL_UNKNOWN_LOAN_PLAN" = "PAYROLL_UNKNOWN_LOAN_PLAN";

with student loan with no plan, or a plan that does not exist (with plan 3 student loan).

PercentageErrorCodes: {
IS_WHAT_EXPECTED_PERCENT: "IS_WHAT_EXPECTED_PERCENT";
IS_WHAT_EXPECTED_PREPOSITION: "IS_WHAT_EXPECTED_PREPOSITION";
IS_WHAT_EXPECTED_WORD: "IS_WHAT_EXPECTED_WORD";
PERCENT_CHANGE_EXPECTED_TO: "PERCENT_CHANGE_EXPECTED_TO";
};

The codes the percentage phrases answer with at parse time. What percentages refuse while running is in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

PercentageErrorCodes.IS_WHAT_EXPECTED_PERCENT

Section titled “PercentageErrorCodes.IS_WHAT_EXPECTED_PERCENT”
readonly IS_WHAT_EXPECTED_PERCENT: "IS_WHAT_EXPECTED_PERCENT" = "IS_WHAT_EXPECTED_PERCENT";

<a> is what not followed by % or percent.

PercentageErrorCodes.IS_WHAT_EXPECTED_PREPOSITION

Section titled “PercentageErrorCodes.IS_WHAT_EXPECTED_PREPOSITION”
readonly IS_WHAT_EXPECTED_PREPOSITION: "IS_WHAT_EXPECTED_PREPOSITION" = "IS_WHAT_EXPECTED_PREPOSITION";

<a> is <n>% not followed by of what, off what or on what.

PercentageErrorCodes.IS_WHAT_EXPECTED_WORD

Section titled “PercentageErrorCodes.IS_WHAT_EXPECTED_WORD”
readonly IS_WHAT_EXPECTED_WORD: "IS_WHAT_EXPECTED_WORD" = "IS_WHAT_EXPECTED_WORD";

A percentage phrase missing one of its words part-way through. The message names the word.

PercentageErrorCodes.PERCENT_CHANGE_EXPECTED_TO

Section titled “PercentageErrorCodes.PERCENT_CHANGE_EXPECTED_TO”
readonly PERCENT_CHANGE_EXPECTED_TO: "PERCENT_CHANGE_EXPECTED_TO" = "PERCENT_CHANGE_EXPECTED_TO";

percent change from <a> not followed by to and the new value.

QueryResolverErrorCodePatterns: {
NOT_PREFLIGHTED: "<NAMESPACE>_NOT_PREFLIGHTED";
QUERY_FAILED: "<NAMESPACE>_QUERY_FAILED";
};

The codes a resolver built with createQueryResolver answers with, which are named at run time after the resolver’s namespace.

Each value is a pattern rather than a code: <NAMESPACE> stands for the resolver’s namespace upper-cased, so the crypto package’s resolver (namespace crypto) answers CRYPTO_QUERY_FAILED, and the stocks package’s two (stocks-current, stocks-historical) answer STOCKS-CURRENT_QUERY_FAILED and STOCKS-HISTORICAL_QUERY_FAILED. A host that branches on one matches the suffix, or the whole name for a namespace it knows. A package that passes its own onError answers with codes of its own instead.

QueryResolverErrorCodePatterns.NOT_PREFLIGHTED

Section titled “QueryResolverErrorCodePatterns.NOT_PREFLIGHTED”
readonly NOT_PREFLIGHTED: "<NAMESPACE>_NOT_PREFLIGHTED" = "<NAMESPACE>_NOT_PREFLIGHTED";

A live value read before its fetch was started, which the engine’s preflight makes unreachable. Worth reporting if a host sees it.

QueryResolverErrorCodePatterns.QUERY_FAILED

Section titled “QueryResolverErrorCodePatterns.QUERY_FAILED”
readonly QUERY_FAILED: "<NAMESPACE>_QUERY_FAILED" = "<NAMESPACE>_QUERY_FAILED";

A live value whose fetch failed (the provider threw, or the network did). The line is refused rather than answered with a stale or made-up value; a later evaluation retries after the cooldown.

RandomErrorCodes: {
RANDOM_EXPECTED_COUNT: "RANDOM_EXPECTED_COUNT";
RANDOM_PICK_EMPTY: "RANDOM_PICK_EMPTY";
RANDOM_SEED_EXPECTED_VALUE: "RANDOM_SEED_EXPECTED_VALUE";
RANDOM_SHUFFLE_EXPECTED_LIST: "RANDOM_SHUFFLE_EXPECTED_LIST";
};

The codes the random package answers with: random hex, pick, shuffle and random seed.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly RANDOM_EXPECTED_COUNT: "RANDOM_EXPECTED_COUNT" = "RANDOM_EXPECTED_COUNT";

random hex given a count that is not a number of 0 or more.

readonly RANDOM_PICK_EMPTY: "RANDOM_PICK_EMPTY" = "RANDOM_PICK_EMPTY";

pick with no options to choose from.

RandomErrorCodes.RANDOM_SEED_EXPECTED_VALUE

Section titled “RandomErrorCodes.RANDOM_SEED_EXPECTED_VALUE”
readonly RANDOM_SEED_EXPECTED_VALUE: "RANDOM_SEED_EXPECTED_VALUE" = "RANDOM_SEED_EXPECTED_VALUE";

random seed with nothing after it to seed with.

RandomErrorCodes.RANDOM_SHUFFLE_EXPECTED_LIST

Section titled “RandomErrorCodes.RANDOM_SHUFFLE_EXPECTED_LIST”
readonly RANDOM_SHUFFLE_EXPECTED_LIST: "RANDOM_SHUFFLE_EXPECTED_LIST" = "RANDOM_SHUFFLE_EXPECTED_LIST";

shuffle given something that is not a single row or column.

RatioErrorCodes: {
RATIO_EXPECTED_NUMBERS: "RATIO_EXPECTED_NUMBERS";
RATIO_INVALID: "RATIO_INVALID";
};

The codes the ratio package answers with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly RATIO_EXPECTED_NUMBERS: "RATIO_EXPECTED_NUMBERS" = "RATIO_EXPECTED_NUMBERS";

ratio(...) given something that is not a whole number.

readonly RATIO_INVALID: "RATIO_INVALID" = "RATIO_INVALID";

ratio(...) given fewer than two whole positive numbers.

RecurringScheduleErrorCodes: {
RECURRING_INTERVAL_NOT_POSITIVE: "RECURRING_INTERVAL_NOT_POSITIVE";
};

Structured error codes this rule can raise. Co-located per the catalog’s convention (see errors/ErrorCode.ts): a package owns its own codes and unions them in as it migrates, so a free-string throw here still carries a catalogued, typo-checkable name.

RecurringScheduleErrorCodes.RECURRING_INTERVAL_NOT_POSITIVE

Section titled “RecurringScheduleErrorCodes.RECURRING_INTERVAL_NOT_POSITIVE”
readonly RECURRING_INTERVAL_NOT_POSITIVE: "RECURRING_INTERVAL_NOT_POSITIVE" = "RECURRING_INTERVAL_NOT_POSITIVE";

every 0 weeks and the like: the interval a payment repeats on has to be a positive count, or the number of payments is undefined.

ShoppingErrorCodes: {
VS_INCOMPARABLE: "VS_INCOMPARABLE";
};

The codes the shopping package answers with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly VS_INCOMPARABLE: "VS_INCOMPARABLE" = "VS_INCOMPARABLE";

<a> vs <b> between two amounts that are not the same kind of thing.

SnapshotErrorCodes: {
SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED";
SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING";
SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE";
SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH";
};

The coded errors this module and fromJSON raise. Registered in errors/ErrorCode.ts so the catalog test can see them.

readonly SNAPSHOT_MALFORMED: "SNAPSHOT_MALFORMED" = "SNAPSHOT_MALFORMED";

A snapshot with the right envelope but internally inconsistent contents (a bad number sentinel, a missing field).

SnapshotErrorCodes.SNAPSHOT_PACKAGE_MISSING

Section titled “SnapshotErrorCodes.SNAPSHOT_PACKAGE_MISSING”
readonly SNAPSHOT_PACKAGE_MISSING: "SNAPSHOT_PACKAGE_MISSING" = "SNAPSHOT_PACKAGE_MISSING";

The snapshot calls a plugin function that no package registered on the restoring engine provides. Refused rather than restored, since the call would run whatever sits at its old index (#658).

SnapshotErrorCodes.SNAPSHOT_UNSUPPORTED_VALUE

Section titled “SnapshotErrorCodes.SNAPSHOT_UNSUPPORTED_VALUE”
readonly SNAPSHOT_UNSUPPORTED_VALUE: "SNAPSHOT_UNSUPPORTED_VALUE" = "SNAPSHOT_UNSUPPORTED_VALUE";

A value the snapshot format cannot yet represent (a symbolic expression or matrix cell, a colour, a split, a chart, an IP subnet). toJSON catches it and leaves the value out.

SnapshotErrorCodes.SNAPSHOT_VERSION_MISMATCH

Section titled “SnapshotErrorCodes.SNAPSHOT_VERSION_MISMATCH”
readonly SNAPSHOT_VERSION_MISMATCH: "SNAPSHOT_VERSION_MISMATCH" = "SNAPSHOT_VERSION_MISMATCH";

The object handed to fromJSON is not a snapshot at all, or its version does not match this engine’s reader.

StatisticsErrorCodes: {
STAT_ARGUMENT_COUNT: "STAT_ARGUMENT_COUNT";
STAT_COUNT_RANGE: "STAT_COUNT_RANGE";
STAT_EMPTY: "STAT_EMPTY";
STAT_EXPECTED_LIST: "STAT_EXPECTED_LIST";
STAT_EXPECTED_LISTS: "STAT_EXPECTED_LISTS";
STAT_EXPECTED_PERCENT: "STAT_EXPECTED_PERCENT";
STAT_EXPECTED_VALUE: "STAT_EXPECTED_VALUE";
STAT_GAMMA_POLE: "STAT_GAMMA_POLE";
STAT_LENGTH_MISMATCH: "STAT_LENGTH_MISMATCH";
STAT_NO_CONVERGENCE: "STAT_NO_CONVERGENCE";
STAT_NOT_WHOLE: "STAT_NOT_WHOLE";
STAT_OVERFLOW: "STAT_OVERFLOW";
STAT_PERCENT_RANGE: "STAT_PERCENT_RANGE";
STAT_PROBABILITY_RANGE: "STAT_PROBABILITY_RANGE";
STAT_SD_NOT_POSITIVE: "STAT_SD_NOT_POSITIVE";
STAT_TOO_FEW: "STAT_TOO_FEW";
};

The codes the statistics package answers with: list statistics and the probability distributions.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly STAT_ARGUMENT_COUNT: "STAT_ARGUMENT_COUNT" = "STAT_ARGUMENT_COUNT";

A statistics function given the wrong number of arguments. The message shows the call.

readonly STAT_COUNT_RANGE: "STAT_COUNT_RANGE" = "STAT_COUNT_RANGE";

A distribution given a count below zero, or more successes than trials.

readonly STAT_EMPTY: "STAT_EMPTY" = "STAT_EMPTY";

A statistic of an empty list.

readonly STAT_EXPECTED_LIST: "STAT_EXPECTED_LIST" = "STAT_EXPECTED_LIST";

A statistic that reads a list given something else, or too short a list.

readonly STAT_EXPECTED_LISTS: "STAT_EXPECTED_LISTS" = "STAT_EXPECTED_LISTS";

A two-list statistic (correlation, slope) given something other than two lists.

StatisticsErrorCodes.STAT_EXPECTED_PERCENT

Section titled “StatisticsErrorCodes.STAT_EXPECTED_PERCENT”
readonly STAT_EXPECTED_PERCENT: "STAT_EXPECTED_PERCENT" = "STAT_EXPECTED_PERCENT";

percentile given no percentage.

readonly STAT_EXPECTED_VALUE: "STAT_EXPECTED_VALUE" = "STAT_EXPECTED_VALUE";

A distribution or zscore given something that is not a number where a number goes.

readonly STAT_GAMMA_POLE: "STAT_GAMMA_POLE" = "STAT_GAMMA_POLE";

gamma at zero or a negative whole number, where it is undefined.

readonly STAT_LENGTH_MISMATCH: "STAT_LENGTH_MISMATCH" = "STAT_LENGTH_MISMATCH";

A two-list statistic given lists of different lengths.

readonly STAT_NO_CONVERGENCE: "STAT_NO_CONVERGENCE" = "STAT_NO_CONVERGENCE";

A distribution whose series did not settle on an accurate answer for arguments this large.

readonly STAT_NOT_WHOLE: "STAT_NOT_WHOLE" = "STAT_NOT_WHOLE";

A distribution given a count that is not a whole number.

readonly STAT_OVERFLOW: "STAT_OVERFLOW" = "STAT_OVERFLOW";

A distribution or gamma whose answer is beyond the largest number a double can hold.

readonly STAT_PERCENT_RANGE: "STAT_PERCENT_RANGE" = "STAT_PERCENT_RANGE";

percentile given a percentage outside 0 to 100.

StatisticsErrorCodes.STAT_PROBABILITY_RANGE

Section titled “StatisticsErrorCodes.STAT_PROBABILITY_RANGE”
readonly STAT_PROBABILITY_RANGE: "STAT_PROBABILITY_RANGE" = "STAT_PROBABILITY_RANGE";

A distribution given a probability outside the range it takes.

readonly STAT_SD_NOT_POSITIVE: "STAT_SD_NOT_POSITIVE" = "STAT_SD_NOT_POSITIVE";

A normal distribution given a standard deviation of zero or less.

readonly STAT_TOO_FEW: "STAT_TOO_FEW" = "STAT_TOO_FEW";

A two-list statistic given fewer than two paired points.

StocksErrorCodes: {
STOCKS_EXPECTED_DATE: "STOCKS_EXPECTED_DATE";
STOCKS_EXPECTED_ON: "STOCKS_EXPECTED_ON";
STOCKS_INVALID_DATE: "STOCKS_INVALID_DATE";
STOCKS_INVALID_TICKER: "STOCKS_INVALID_TICKER";
STOCKS_NOT_CONFIGURED: "STOCKS_NOT_CONFIGURED";
};

The codes the stocks package answers with. A quote that fails to fetch arrives as STOCKS-CURRENT_QUERY_FAILED or STOCKS-HISTORICAL_QUERY_FAILED, the query resolver codes for its two namespaces.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly STOCKS_EXPECTED_DATE: "STOCKS_EXPECTED_DATE" = "STOCKS_EXPECTED_DATE";

on not followed by a date the stocks package reads.

readonly STOCKS_EXPECTED_ON: "STOCKS_EXPECTED_ON" = "STOCKS_EXPECTED_ON";

A historical price field (close, open) not followed by on <date>.

readonly STOCKS_INVALID_DATE: "STOCKS_INVALID_DATE" = "STOCKS_INVALID_DATE";

A date after on that is not a real calendar date, or has no four-digit year.

readonly STOCKS_INVALID_TICKER: "STOCKS_INVALID_TICKER" = "STOCKS_INVALID_TICKER";

stock(...) given something that is not a ticker symbol.

readonly STOCKS_NOT_CONFIGURED: "STOCKS_NOT_CONFIGURED" = "STOCKS_NOT_CONFIGURED";

A stock price asked for on an engine whose stocks package was created without a provider. The host supplies one through createStocksPackage.

SymbolicErrorCodes: {
SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS: "SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS";
};

The codes the algebra verbs answer with at parse time. What algebra refuses while running is in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

SymbolicErrorCodes.SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS

Section titled “SymbolicErrorCodes.SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS”
readonly SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS: "SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS" = "SYMBOLIC_ARGUMENT_MUST_BE_SYNCHRONOUS";

An algebra verb (der, integral, solve) whose expression reaches live data.

TablesErrorCodes: {
TABLE_BAND_AMOUNT_INVALID: "TABLE_BAND_AMOUNT_INVALID";
TABLE_BAND_BELOW_FIRST: "TABLE_BAND_BELOW_FIRST";
TABLE_BAND_UNIT_MISMATCH: "TABLE_BAND_UNIT_MISMATCH";
TABLE_BANDS_MALFORMED: "TABLE_BANDS_MALFORMED";
TABLE_BANDS_NOT_FROM_ZERO: "TABLE_BANDS_NOT_FROM_ZERO";
TABLE_CELL_EMPTY: "TABLE_CELL_EMPTY";
TABLE_CELL_NOT_A_VALUE: "TABLE_CELL_NOT_A_VALUE";
TABLE_COLUMN_AMBIGUOUS: "TABLE_COLUMN_AMBIGUOUS";
TABLE_COLUMN_NAME_EXPECTED: "TABLE_COLUMN_NAME_EXPECTED";
TABLE_COLUMN_NO_NUMERIC_CELLS: "TABLE_COLUMN_NO_NUMERIC_CELLS";
TABLE_COLUMN_NOT_FOUND: "TABLE_COLUMN_NOT_FOUND";
TABLE_COLUMN_PERCENT_CELL: "TABLE_COLUMN_PERCENT_CELL";
TABLE_LOOKUP_FOR_EXPECTED: "TABLE_LOOKUP_FOR_EXPECTED";
TABLE_LOOKUP_KEY_INVALID: "TABLE_LOOKUP_KEY_INVALID";
TABLE_NO_DOCUMENT: "TABLE_NO_DOCUMENT";
TABLE_NOT_FOUND: "TABLE_NOT_FOUND";
TABLE_ROW_AMBIGUOUS: "TABLE_ROW_AMBIGUOUS";
TABLE_ROW_NOT_FOUND: "TABLE_ROW_NOT_FOUND";
};

Scoped error codes this package owns, co-located per errors/ErrorCode.ts.

TablesErrorCodes.TABLE_BAND_AMOUNT_INVALID

Section titled “TablesErrorCodes.TABLE_BAND_AMOUNT_INVALID”
readonly TABLE_BAND_AMOUNT_INVALID: "TABLE_BAND_AMOUNT_INVALID" = "TABLE_BAND_AMOUNT_INVALID";

The amount placed in the bands is not a plain number or money, or is below zero for a progressive total.

readonly TABLE_BAND_BELOW_FIRST: "TABLE_BAND_BELOW_FIRST" = "TABLE_BAND_BELOW_FIRST";

A band lookup’s amount is below where the first band starts.

readonly TABLE_BAND_UNIT_MISMATCH: "TABLE_BAND_UNIT_MISMATCH" = "TABLE_BAND_UNIT_MISMATCH";

The amount, the band starts and the rates name currencies that do not go together.

readonly TABLE_BANDS_MALFORMED: "TABLE_BANDS_MALFORMED" = "TABLE_BANDS_MALFORMED";

The table cannot be read as bands: a start that is not a number, starts out of order, a rate that cannot be read.

TablesErrorCodes.TABLE_BANDS_NOT_FROM_ZERO

Section titled “TablesErrorCodes.TABLE_BANDS_NOT_FROM_ZERO”
readonly TABLE_BANDS_NOT_FROM_ZERO: "TABLE_BANDS_NOT_FROM_ZERO" = "TABLE_BANDS_NOT_FROM_ZERO";

A progressive total’s first band does not start at 0, so part of the amount falls in no band.

readonly TABLE_CELL_EMPTY: "TABLE_CELL_EMPTY" = "TABLE_CELL_EMPTY";

The looked-up cell is empty.

readonly TABLE_CELL_NOT_A_VALUE: "TABLE_CELL_NOT_A_VALUE" = "TABLE_CELL_NOT_A_VALUE";

The looked-up cell is text, not a number, an amount of money or a percentage.

readonly TABLE_COLUMN_AMBIGUOUS: "TABLE_COLUMN_AMBIGUOUS" = "TABLE_COLUMN_AMBIGUOUS";

A lookup named a column the header carries more than once.

TablesErrorCodes.TABLE_COLUMN_NAME_EXPECTED

Section titled “TablesErrorCodes.TABLE_COLUMN_NAME_EXPECTED”
readonly TABLE_COLUMN_NAME_EXPECTED: "TABLE_COLUMN_NAME_EXPECTED" = "TABLE_COLUMN_NAME_EXPECTED";

A column form (sum of column, column ... for) not followed by a column name in quotes.

TablesErrorCodes.TABLE_COLUMN_NO_NUMERIC_CELLS

Section titled “TablesErrorCodes.TABLE_COLUMN_NO_NUMERIC_CELLS”
readonly TABLE_COLUMN_NO_NUMERIC_CELLS: "TABLE_COLUMN_NO_NUMERIC_CELLS" = "TABLE_COLUMN_NO_NUMERIC_CELLS";

The column held no number or money cells to aggregate.

readonly TABLE_COLUMN_NOT_FOUND: "TABLE_COLUMN_NOT_FOUND" = "TABLE_COLUMN_NOT_FOUND";

The named column is not one of the table’s headers.

TablesErrorCodes.TABLE_COLUMN_PERCENT_CELL

Section titled “TablesErrorCodes.TABLE_COLUMN_PERCENT_CELL”
readonly TABLE_COLUMN_PERCENT_CELL: "TABLE_COLUMN_PERCENT_CELL" = "TABLE_COLUMN_PERCENT_CELL";

A column summary met a percentage cell, which it does not add to or compare with the figures (#651).

TablesErrorCodes.TABLE_LOOKUP_FOR_EXPECTED

Section titled “TablesErrorCodes.TABLE_LOOKUP_FOR_EXPECTED”
readonly TABLE_LOOKUP_FOR_EXPECTED: "TABLE_LOOKUP_FOR_EXPECTED" = "TABLE_LOOKUP_FOR_EXPECTED";

A table lookup not followed by for and a row, as in column "cost" for "food".

readonly TABLE_LOOKUP_KEY_INVALID: "TABLE_LOOKUP_KEY_INVALID" = "TABLE_LOOKUP_KEY_INVALID";

An exact lookup’s key was neither quoted text nor a plain number.

readonly TABLE_NO_DOCUMENT: "TABLE_NO_DOCUMENT" = "TABLE_NO_DOCUMENT";

Cross-line table reads need a real document, absent on the single-expression path.

readonly TABLE_NOT_FOUND: "TABLE_NOT_FOUND" = "TABLE_NOT_FOUND";

No markdown table was found above the query line.

readonly TABLE_ROW_AMBIGUOUS: "TABLE_ROW_AMBIGUOUS" = "TABLE_ROW_AMBIGUOUS";

More than one row carries the label, so an exact lookup cannot choose.

readonly TABLE_ROW_NOT_FOUND: "TABLE_ROW_NOT_FOUND" = "TABLE_ROW_NOT_FOUND";

No row’s first cell carries the label an exact lookup asked for.

TagsErrorCodes: {
TAG_BREAKDOWN_NO_WHOLE: "TAG_BREAKDOWN_NO_WHOLE";
TAG_EMPTY: "TAG_EMPTY";
TAG_NO_DOCUMENT: "TAG_NO_DOCUMENT";
TAG_NON_NUMERIC: "TAG_NON_NUMERIC";
};

The codes category tags (#food, total of #food, breakdown) answer with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly TAG_BREAKDOWN_NO_WHOLE: "TAG_BREAKDOWN_NO_WHOLE" = "TAG_BREAKDOWN_NO_WHOLE";

A breakdown whose tagged lines add up to zero, so no tag has a share.

readonly TAG_EMPTY: "TAG_EMPTY" = "TAG_EMPTY";

A tag total or a breakdown with no lines carrying the tag, or no tagged lines at all.

readonly TAG_NO_DOCUMENT: "TAG_NO_DOCUMENT" = "TAG_NO_DOCUMENT";

A tag total evaluated with no document to read tagged lines from.

readonly TAG_NON_NUMERIC: "TAG_NON_NUMERIC" = "TAG_NON_NUMERIC";

A tagged line that is not a number or a quantity.

TextExtractionErrorCodes: {
TEXT_ARGUMENT_COUNT: "TEXT_ARGUMENT_COUNT";
TEXT_EXPECTED: "TEXT_EXPECTED";
TEXT_FIELD_INEXACT_NUMBER: "TEXT_FIELD_INEXACT_NUMBER";
TEXT_FIELD_NOT_FOUND: "TEXT_FIELD_NOT_FOUND";
TEXT_FIELD_NULL: "TEXT_FIELD_NULL";
TEXT_FIELD_PATH_INVALID: "TEXT_FIELD_PATH_INVALID";
TEXT_NO_AMOUNTS: "TEXT_NO_AMOUNTS";
TEXT_NO_MATCH: "TEXT_NO_MATCH";
TEXT_NO_NUMBERS: "TEXT_NO_NUMBERS";
TEXT_NOT_JSON: "TEXT_NOT_JSON";
TEXT_PATTERN_INVALID: "TEXT_PATTERN_INVALID";
TEXT_PATTERN_TOO_COSTLY: "TEXT_PATTERN_TOO_COSTLY";
TEXT_PATTERN_TOO_LARGE: "TEXT_PATTERN_TOO_LARGE";
TEXT_PATTERN_UNSUPPORTED: "TEXT_PATTERN_UNSUPPORTED";
TEXT_TOO_MANY_NUMBERS: "TEXT_TOO_MANY_NUMBERS";
};

Every code the text-extraction forms can answer with, so a host can tell the refusals apart without reading the sentence.

TextExtractionErrorCodes.TEXT_ARGUMENT_COUNT

Section titled “TextExtractionErrorCodes.TEXT_ARGUMENT_COUNT”
readonly TEXT_ARGUMENT_COUNT: "TEXT_ARGUMENT_COUNT" = "TEXT_ARGUMENT_COUNT";

A call form was given the wrong number of arguments.

readonly TEXT_EXPECTED: "TEXT_EXPECTED" = "TEXT_EXPECTED";

A form was given something other than text where it reads text.

TextExtractionErrorCodes.TEXT_FIELD_INEXACT_NUMBER

Section titled “TextExtractionErrorCodes.TEXT_FIELD_INEXACT_NUMBER”
readonly TEXT_FIELD_INEXACT_NUMBER: "TEXT_FIELD_INEXACT_NUMBER" = FIELD_FAULT_CODES.INEXACT;

The field holds a whole number too large to read exactly.

TextExtractionErrorCodes.TEXT_FIELD_NOT_FOUND

Section titled “TextExtractionErrorCodes.TEXT_FIELD_NOT_FOUND”
readonly TEXT_FIELD_NOT_FOUND: "TEXT_FIELD_NOT_FOUND" = FIELD_FAULT_CODES.NOT_FOUND;

The path leads nowhere in the JSON.

readonly TEXT_FIELD_NULL: "TEXT_FIELD_NULL" = FIELD_FAULT_CODES.NULL;

The field holds null.

TextExtractionErrorCodes.TEXT_FIELD_PATH_INVALID

Section titled “TextExtractionErrorCodes.TEXT_FIELD_PATH_INVALID”
readonly TEXT_FIELD_PATH_INVALID: "TEXT_FIELD_PATH_INVALID" = FIELD_FAULT_CODES.BAD_PATH;

field was given a malformed path.

readonly TEXT_NO_AMOUNTS: "TEXT_NO_AMOUNTS" = "TEXT_NO_AMOUNTS";

The text has no amounts of money for an aggregate to work on.

readonly TEXT_NO_MATCH: "TEXT_NO_MATCH" = "TEXT_NO_MATCH";

The pattern does not occur in the text.

readonly TEXT_NO_NUMBERS: "TEXT_NO_NUMBERS" = "TEXT_NO_NUMBERS";

The text has no numbers for an aggregate to work on.

readonly TEXT_NOT_JSON: "TEXT_NOT_JSON" = FIELD_FAULT_CODES.NOT_JSON;

field was given text that is not JSON.

TextExtractionErrorCodes.TEXT_PATTERN_INVALID

Section titled “TextExtractionErrorCodes.TEXT_PATTERN_INVALID”
readonly TEXT_PATTERN_INVALID: "TEXT_PATTERN_INVALID" = PATTERN_FAULT_CODES.INVALID;

The pattern is not well formed.

TextExtractionErrorCodes.TEXT_PATTERN_TOO_COSTLY

Section titled “TextExtractionErrorCodes.TEXT_PATTERN_TOO_COSTLY”
readonly TEXT_PATTERN_TOO_COSTLY: "TEXT_PATTERN_TOO_COSTLY" = "TEXT_PATTERN_TOO_COSTLY";

Matching took more steps than one call allows.

TextExtractionErrorCodes.TEXT_PATTERN_TOO_LARGE

Section titled “TextExtractionErrorCodes.TEXT_PATTERN_TOO_LARGE”
readonly TEXT_PATTERN_TOO_LARGE: "TEXT_PATTERN_TOO_LARGE" = PATTERN_FAULT_CODES.TOO_LARGE;

The pattern is past a size limit.

TextExtractionErrorCodes.TEXT_PATTERN_UNSUPPORTED

Section titled “TextExtractionErrorCodes.TEXT_PATTERN_UNSUPPORTED”
readonly TEXT_PATTERN_UNSUPPORTED: "TEXT_PATTERN_UNSUPPORTED" = PATTERN_FAULT_CODES.UNSUPPORTED;

The pattern uses a feature the matcher refuses.

TextExtractionErrorCodes.TEXT_TOO_MANY_NUMBERS

Section titled “TextExtractionErrorCodes.TEXT_TOO_MANY_NUMBERS”
readonly TEXT_TOO_MANY_NUMBERS: "TEXT_TOO_MANY_NUMBERS" = "TEXT_TOO_MANY_NUMBERS";

The text holds more numbers than one read allows.

TimeFormErrorCodes: {
ISO_DURATION_MALFORMED: "ISO_DURATION_MALFORMED";
OVERLAP_EXPECTED_CITY: "OVERLAP_EXPECTED_CITY";
OVERLAP_EXPECTED_HOURS: "OVERLAP_EXPECTED_HOURS";
OVERLAP_EXPECTED_IN: "OVERLAP_EXPECTED_IN";
TIME_DIFFERENCE_EXPECTED_CITY: "TIME_DIFFERENCE_EXPECTED_CITY";
TIME_DIFFERENCE_EXPECTED_SECOND_CITY: "TIME_DIFFERENCE_EXPECTED_SECOND_CITY";
TIME_IN_ZONE_UNDATED: "TIME_IN_ZONE_UNDATED";
TIME_ZONE_EXPECTED_CITY: "TIME_ZONE_EXPECTED_CITY";
TIME_ZONE_EXPECTED_IN: "TIME_ZONE_EXPECTED_IN";
TIME_ZONE_EXPECTED_TARGET: "TIME_ZONE_EXPECTED_TARGET";
TIME_ZONE_MISSING_DATE: "TIME_ZONE_MISSING_DATE";
TIME_ZONE_TOO_MANY: "TIME_ZONE_TOO_MANY";
TIME_ZONE_UNKNOWN: "TIME_ZONE_UNKNOWN";
TIMECODE_EXPECTED_FPS: "TIMECODE_EXPECTED_FPS";
TIMECODE_EXPECTED_FRAMES: "TIMECODE_EXPECTED_FRAMES";
TIMECODE_FRAME_OUT_OF_RANGE: "TIMECODE_FRAME_OUT_OF_RANGE";
};

The codes the time forms answer with at parse time: times in zones, time differences, working-hours overlaps and video timecodes. What they refuse while running is in TimezoneErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly ISO_DURATION_MALFORMED: "ISO_DURATION_MALFORMED" = "ISO_DURATION_MALFORMED";

An identifier shaped like an ISO 8601 duration that breaks its grammar, as P1H (a time part before the T) or P1D1D. The message says which rule it breaks.

readonly OVERLAP_EXPECTED_CITY: "OVERLAP_EXPECTED_CITY" = "OVERLAP_EXPECTED_CITY";

in not followed by a city or a zone, in an overlap.

readonly OVERLAP_EXPECTED_HOURS: "OVERLAP_EXPECTED_HOURS" = "OVERLAP_EXPECTED_HOURS";

overlap of not followed by hours, as in 9am to 5pm.

readonly OVERLAP_EXPECTED_IN: "OVERLAP_EXPECTED_IN" = "OVERLAP_EXPECTED_IN";

The hours of an overlap not followed by in and the places.

TimeFormErrorCodes.TIME_DIFFERENCE_EXPECTED_CITY

Section titled “TimeFormErrorCodes.TIME_DIFFERENCE_EXPECTED_CITY”
readonly TIME_DIFFERENCE_EXPECTED_CITY: "TIME_DIFFERENCE_EXPECTED_CITY" = "TIME_DIFFERENCE_EXPECTED_CITY";

time difference between not followed by a city or a zone.

TimeFormErrorCodes.TIME_DIFFERENCE_EXPECTED_SECOND_CITY

Section titled “TimeFormErrorCodes.TIME_DIFFERENCE_EXPECTED_SECOND_CITY”
readonly TIME_DIFFERENCE_EXPECTED_SECOND_CITY: "TIME_DIFFERENCE_EXPECTED_SECOND_CITY" = "TIME_DIFFERENCE_EXPECTED_SECOND_CITY";

time difference between <a> and not followed by a second city or zone.

readonly TIME_IN_ZONE_UNDATED: "TIME_IN_ZONE_UNDATED" = "TIME_IN_ZONE_UNDATED";

time in Tokyo on 1 March 2027: the time in a place is the time there now, not on another day. The message points at converting a time on that day instead.

TimeFormErrorCodes.TIME_ZONE_EXPECTED_CITY

Section titled “TimeFormErrorCodes.TIME_ZONE_EXPECTED_CITY”
readonly TIME_ZONE_EXPECTED_CITY: "TIME_ZONE_EXPECTED_CITY" = "TIME_ZONE_EXPECTED_CITY";

time in not followed by a city or a zone.

readonly TIME_ZONE_EXPECTED_IN: "TIME_ZONE_EXPECTED_IN" = "TIME_ZONE_EXPECTED_IN";

A time in one zone not followed by in <city> for the zone to convert to.

TimeFormErrorCodes.TIME_ZONE_EXPECTED_TARGET

Section titled “TimeFormErrorCodes.TIME_ZONE_EXPECTED_TARGET”
readonly TIME_ZONE_EXPECTED_TARGET: "TIME_ZONE_EXPECTED_TARGET" = "TIME_ZONE_EXPECTED_TARGET";

in not followed by a city or a zone to convert to.

readonly TIME_ZONE_MISSING_DATE: "TIME_ZONE_MISSING_DATE" = "TIME_ZONE_MISSING_DATE";

on not followed by a date, in a time converted on a given day.

readonly TIME_ZONE_TOO_MANY: "TIME_ZONE_TOO_MANY" = "TIME_ZONE_TOO_MANY";

One line naming more time zones than a line takes.

readonly TIME_ZONE_UNKNOWN: "TIME_ZONE_UNKNOWN" = "TIME_ZONE_UNKNOWN";

A place named as a time zone that the engine does not know. The message says what it reads: a city, an abbreviation or an offset.

readonly TIMECODE_EXPECTED_FPS: "TIMECODE_EXPECTED_FPS" = "TIMECODE_EXPECTED_FPS";

A video timecode or frame count without its frame rate, as in at 30 fps.

TimeFormErrorCodes.TIMECODE_EXPECTED_FRAMES

Section titled “TimeFormErrorCodes.TIMECODE_EXPECTED_FRAMES”
readonly TIMECODE_EXPECTED_FRAMES: "TIMECODE_EXPECTED_FRAMES" = "TIMECODE_EXPECTED_FRAMES";

A timecode followed by in and something other than frames.

TimeFormErrorCodes.TIMECODE_FRAME_OUT_OF_RANGE

Section titled “TimeFormErrorCodes.TIMECODE_FRAME_OUT_OF_RANGE”
readonly TIMECODE_FRAME_OUT_OF_RANGE: "TIMECODE_FRAME_OUT_OF_RANGE" = "TIMECODE_FRAME_OUT_OF_RANGE";

A timecode whose frame number is not below the frame rate.

TimezoneErrorCodes: {
OVERLAP_HOURS_EMPTY: "OVERLAP_HOURS_EMPTY";
OVERLAP_NEEDS_TWO_ZONES: "OVERLAP_NEEDS_TWO_ZONES";
TIME_ZONE_EXPECTED_DATE: "TIME_ZONE_EXPECTED_DATE";
TIME_ZONE_EXPECTED_TIME: "TIME_ZONE_EXPECTED_TIME";
TIME_ZONE_REPEATED_TIME: "TIME_ZONE_REPEATED_TIME";
TIME_ZONE_SKIPPED_TIME: "TIME_ZONE_SKIPPED_TIME";
};

The codes the timezone forms refuse with, as Error values rather than thrown errors: each is a well-formed line asking a question that has no single answer.

readonly OVERLAP_HOURS_EMPTY: "OVERLAP_HOURS_EMPTY" = "OVERLAP_HOURS_EMPTY";

overlap of 9am to 9am in London and Paris: hours that start where they end have no length.

TimezoneErrorCodes.OVERLAP_NEEDS_TWO_ZONES

Section titled “TimezoneErrorCodes.OVERLAP_NEEDS_TWO_ZONES”
readonly OVERLAP_NEEDS_TWO_ZONES: "OVERLAP_NEEDS_TWO_ZONES" = "OVERLAP_NEEDS_TWO_ZONES";

overlap of 9am to 5pm in London: one place has nothing to overlap with.

TimezoneErrorCodes.TIME_ZONE_EXPECTED_DATE

Section titled “TimezoneErrorCodes.TIME_ZONE_EXPECTED_DATE”
readonly TIME_ZONE_EXPECTED_DATE: "TIME_ZONE_EXPECTED_DATE" = "TIME_ZONE_EXPECTED_DATE";

3pm London on 5 in Tokyo, or 3pm on 5: the on clause was given something that is not a date.

TimezoneErrorCodes.TIME_ZONE_EXPECTED_TIME

Section titled “TimezoneErrorCodes.TIME_ZONE_EXPECTED_TIME”
readonly TIME_ZONE_EXPECTED_TIME: "TIME_ZONE_EXPECTED_TIME" = "TIME_ZONE_EXPECTED_TIME";

t London in Tokyo where t holds something that is not a time (t = 5): a zone after a name converts the time of day it holds.

TimezoneErrorCodes.TIME_ZONE_REPEATED_TIME

Section titled “TimezoneErrorCodes.TIME_ZONE_REPEATED_TIME”
readonly TIME_ZONE_REPEATED_TIME: "TIME_ZONE_REPEATED_TIME" = "TIME_ZONE_REPEATED_TIME";

1:30am London on 25 October 2026 in Tokyo: the clocks went back over 1:30, so it happened twice and names no one moment.

readonly TIME_ZONE_SKIPPED_TIME: "TIME_ZONE_SKIPPED_TIME" = "TIME_ZONE_SKIPPED_TIME";

1:30am London on 29 March 2026 in Tokyo: the clocks went forward over 1:30, so it never happened in London that day.

TravelErrorCodes: {
TRIP_EXPECTED_DISTANCE: "TRIP_EXPECTED_DISTANCE";
TRIP_EXPECTED_ECONOMY: "TRIP_EXPECTED_ECONOMY";
TRIP_EXPECTED_FUEL_PRICE: "TRIP_EXPECTED_FUEL_PRICE";
};

Error codes this package answers with. Each names something a driver can correct.

readonly TRIP_EXPECTED_DISTANCE: "TRIP_EXPECTED_DISTANCE" = "TRIP_EXPECTED_DISTANCE";

The first quantity was not a distance.

readonly TRIP_EXPECTED_ECONOMY: "TRIP_EXPECTED_ECONOMY" = "TRIP_EXPECTED_ECONOMY";

The second quantity was not a fuel economy.

readonly TRIP_EXPECTED_FUEL_PRICE: "TRIP_EXPECTED_FUEL_PRICE" = "TRIP_EXPECTED_FUEL_PRICE";

The price was not an amount of money for a volume.

UomErrorCodes: {
COOKING_CONVERSION_REQUIRES_UNIT: "COOKING_CONVERSION_REQUIRES_UNIT";
COOKING_CONVERSION_UNSUPPORTED_UNIT: "COOKING_CONVERSION_UNSUPPORTED_UNIT";
COOKING_UNKNOWN_INGREDIENT: "COOKING_UNKNOWN_INGREDIENT";
};

The codes the units package answers with for cooking conversions between mass and volume.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

UomErrorCodes.COOKING_CONVERSION_REQUIRES_UNIT

Section titled “UomErrorCodes.COOKING_CONVERSION_REQUIRES_UNIT”
readonly COOKING_CONVERSION_REQUIRES_UNIT: "COOKING_CONVERSION_REQUIRES_UNIT" = "COOKING_CONVERSION_REQUIRES_UNIT";

A cooking conversion of a plain number, with no mass or volume unit.

UomErrorCodes.COOKING_CONVERSION_UNSUPPORTED_UNIT

Section titled “UomErrorCodes.COOKING_CONVERSION_UNSUPPORTED_UNIT”
readonly COOKING_CONVERSION_UNSUPPORTED_UNIT: "COOKING_CONVERSION_UNSUPPORTED_UNIT" = "COOKING_CONVERSION_UNSUPPORTED_UNIT";

A cooking conversion from or to a unit that is not a mass or a volume.

readonly COOKING_UNKNOWN_INGREDIENT: "COOKING_UNKNOWN_INGREDIENT" = "COOKING_UNKNOWN_INGREDIENT";

A cooking conversion between mass and volume for an ingredient with no density in the table.

VariablesErrorCodes: {
EXPECTED_IDENTIFIER: "EXPECTED_IDENTIFIER";
NAME_HAS_QUOTE_MARK: "NAME_HAS_QUOTE_MARK";
NAME_HAS_RESERVED_WORD: "NAME_HAS_RESERVED_WORD";
};

The codes the variables and global variables packages answer with.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly EXPECTED_IDENTIFIER: "EXPECTED_IDENTIFIER" = "EXPECTED_IDENTIFIER";

A : or global : not followed by a name, as in := 5.

readonly NAME_HAS_QUOTE_MARK: "NAME_HAS_QUOTE_MARK" = "NAME_HAS_QUOTE_MARK";

A name of several words with a quote mark that is not an apostrophe in a word (Alice‘s food = 3), or an apostrophe before a word’s first letter (’tis rate = 5). The message names the mark.

VariablesErrorCodes.NAME_HAS_RESERVED_WORD

Section titled “VariablesErrorCodes.NAME_HAS_RESERVED_WORD”
readonly NAME_HAS_RESERVED_WORD: "NAME_HAS_RESERVED_WORD" = "NAME_HAS_RESERVED_WORD";

A name of several words holding a word the engine already reads: an operator spelled as a word, first or last (take home = 5, monthly take = 4000), or a phrase (tax on = 5). The message names the word.

WeatherErrorCodes: {
CITY_NOT_FOUND: "WEATHER_CITY_NOT_FOUND";
FORECAST_API_ERROR: "WEATHER_FORECAST_API_ERROR";
FORECAST_RESPONSE_MALFORMED: "WEATHER_FORECAST_RESPONSE_MALFORMED";
GEOCODING_API_ERROR: "WEATHER_GEOCODING_API_ERROR";
UNKNOWN_QUERY_KIND: "WEATHER_UNKNOWN_QUERY_KIND";
WEATHER_EXPECTED_CITY: "WEATHER_EXPECTED_CITY";
};

Error codes for this package. Co-located with the package rather than unioned into errors/ErrorCode.ts’s core catalog (that catalog is scoped to the parser/VM/engine/errors/config/lexer layers, not yet the ~17 domain packages. See that file’s module doc for the intended per-package pattern this follows).

readonly CITY_NOT_FOUND: "WEATHER_CITY_NOT_FOUND" = "WEATHER_CITY_NOT_FOUND";

Geocoding succeeded (200 OK) but matched no place for the given name, most likely a typo in the city, not an API failure.

readonly FORECAST_API_ERROR: "WEATHER_FORECAST_API_ERROR" = "WEATHER_FORECAST_API_ERROR";

Open-Meteo’s forecast endpoint returned a non-OK HTTP status.

WeatherErrorCodes.FORECAST_RESPONSE_MALFORMED

Section titled “WeatherErrorCodes.FORECAST_RESPONSE_MALFORMED”
readonly FORECAST_RESPONSE_MALFORMED: "WEATHER_FORECAST_RESPONSE_MALFORMED" = "WEATHER_FORECAST_RESPONSE_MALFORMED";

Forecast endpoint returned 200 OK but the response body is missing the expected current/daily blocks, an API contract violation, not a local bug.

readonly GEOCODING_API_ERROR: "WEATHER_GEOCODING_API_ERROR" = "WEATHER_GEOCODING_API_ERROR";

Open-Meteo’s geocoding endpoint returned a non-OK HTTP status.

readonly UNKNOWN_QUERY_KIND: "WEATHER_UNKNOWN_QUERY_KIND" = "WEATHER_UNKNOWN_QUERY_KIND";

WeatherPackage.ts’s fetchQuery switch fell through to its default case, unreachable via this package’s own parselets, an internal invariant violation if it ever happens.

readonly WEATHER_EXPECTED_CITY: "WEATHER_EXPECTED_CITY" = "WEATHER_EXPECTED_CITY";

A weather form (weather in, temperature in) not followed by a city.

WebErrorCodes: {
DENSITY_EXPECTED_NUMBER: "DENSITY_EXPECTED_NUMBER";
WEB_EXPECTED_DENSITY: "WEB_EXPECTED_DENSITY";
WEB_EXPECTED_PIXELS: "WEB_EXPECTED_PIXELS";
WEB_EXPECTED_PIXELS_OR_LENGTH: "WEB_EXPECTED_PIXELS_OR_LENGTH";
WEB_EXPECTED_PX_OR_REM: "WEB_EXPECTED_PX_OR_REM";
WEB_EXPECTED_ROOT_SIZE: "WEB_EXPECTED_ROOT_SIZE";
};

Error codes this package answers with. Each names something a person can correct.

readonly DENSITY_EXPECTED_NUMBER: "DENSITY_EXPECTED_NUMBER" = "DENSITY_EXPECTED_NUMBER";

at and dpi with a word rather than a number of dots per inch between them, as in 4000px at x dpi.

readonly WEB_EXPECTED_DENSITY: "WEB_EXPECTED_DENSITY" = "WEB_EXPECTED_DENSITY";

The stated density was not a number of dots per inch above zero.

readonly WEB_EXPECTED_PIXELS: "WEB_EXPECTED_PIXELS" = "WEB_EXPECTED_PIXELS";

A width or a height was not a whole count of pixels.

WebErrorCodes.WEB_EXPECTED_PIXELS_OR_LENGTH

Section titled “WebErrorCodes.WEB_EXPECTED_PIXELS_OR_LENGTH”
readonly WEB_EXPECTED_PIXELS_OR_LENGTH: "WEB_EXPECTED_PIXELS_OR_LENGTH" = "WEB_EXPECTED_PIXELS_OR_LENGTH";

A size measured against a density was neither a CSS length nor a physical length.

readonly WEB_EXPECTED_PX_OR_REM: "WEB_EXPECTED_PX_OR_REM" = "WEB_EXPECTED_PX_OR_REM";

A size measured against a root font size was in neither px nor rem.

readonly WEB_EXPECTED_ROOT_SIZE: "WEB_EXPECTED_ROOT_SIZE" = "WEB_EXPECTED_ROOT_SIZE";

The stated root font size was not a size a rem can be measured against.

WhatIfErrorCodes: {
SCENARIO_DUPLICATE: "SCENARIO_DUPLICATE";
SCENARIO_UNKNOWN: "SCENARIO_UNKNOWN";
SWEEP_ANSWER_NOT_NUMERIC: "SWEEP_ANSWER_NOT_NUMERIC";
SWEEP_ANSWER_PERCENTAGE: "SWEEP_ANSWER_PERCENTAGE";
SWEEP_DATE_STEP_NOT_DURATION: "SWEEP_DATE_STEP_NOT_DURATION";
SWEEP_OVER_BUDGET: "SWEEP_OVER_BUDGET";
SWEEP_RANGE_MISMATCH: "SWEEP_RANGE_MISMATCH";
SWEEP_RANGE_NOT_NUMERIC: "SWEEP_RANGE_NOT_NUMERIC";
SWEEP_REQUIRES_STEP: "SWEEP_REQUIRES_STEP";
SWEEP_REQUIRES_VARIABLE_NAME: "SWEEP_REQUIRES_VARIABLE_NAME";
SWEEP_STEP_FAILED: "SWEEP_STEP_FAILED";
SWEEP_STEP_WRONG_SIGN: "SWEEP_STEP_WRONG_SIGN";
SWEEP_STEP_ZERO: "SWEEP_STEP_ZERO";
SWEEP_TOO_MANY_STEPS: "SWEEP_TOO_MANY_STEPS";
SWEEP_TOO_MUCH_WORK: "SWEEP_TOO_MUCH_WORK";
WHAT_IF_DUPLICATE_INPUT: "WHAT_IF_DUPLICATE_INPUT";
WHAT_IF_INPUT_PENDING: "WHAT_IF_INPUT_PENDING";
WHAT_IF_NO_DOCUMENT: "WHAT_IF_NO_DOCUMENT";
WHAT_IF_REQUIRES_VARIABLE_NAME: "WHAT_IF_REQUIRES_VARIABLE_NAME";
WHAT_IF_TARGETS_ITSELF: "WHAT_IF_TARGETS_ITSELF";
WHAT_IF_TOO_MANY_INPUTS: "WHAT_IF_TOO_MANY_INPUTS";
};

The codes what-if lines (line N with x = 5) and sweeps (line N for x from 1 to 10 step 1) answer with. The refusals the engine raises while it re-runs the document are in CoreErrorCodes.

Each code is the stable name a host branches on; the message beside it is for the reader and may be reworded. See the error code reference.

readonly SCENARIO_DUPLICATE: "SCENARIO_DUPLICATE" = "SCENARIO_DUPLICATE";

line N under bull where two lines above both declare a scenario named bull.

readonly SCENARIO_UNKNOWN: "SCENARIO_UNKNOWN" = "SCENARIO_UNKNOWN";

line N under bull with no scenario bull with ... line above it.

readonly SWEEP_ANSWER_NOT_NUMERIC: "SWEEP_ANSWER_NOT_NUMERIC" = "SWEEP_ANSWER_NOT_NUMERIC";

A sweep one of whose answers is not a number or a quantity, which is all a sweep lists.

readonly SWEEP_ANSWER_PERCENTAGE: "SWEEP_ANSWER_PERCENTAGE" = "SWEEP_ANSWER_PERCENTAGE";

A sweep of a line that answers a percentage, which a list (a row of plain numbers) cannot hold.

WhatIfErrorCodes.SWEEP_DATE_STEP_NOT_DURATION

Section titled “WhatIfErrorCodes.SWEEP_DATE_STEP_NOT_DURATION”
readonly SWEEP_DATE_STEP_NOT_DURATION: "SWEEP_DATE_STEP_NOT_DURATION" = "SWEEP_DATE_STEP_NOT_DURATION";

A sweep between two dates whose step is not a length of time (step 5), or is working days.

readonly SWEEP_OVER_BUDGET: "SWEEP_OVER_BUDGET" = "SWEEP_OVER_BUDGET";

A sweep whose steps together reached a limit on the work one evaluation may do.

readonly SWEEP_RANGE_MISMATCH: "SWEEP_RANGE_MISMATCH" = "SWEEP_RANGE_MISMATCH";

A sweep whose start, end and step are not all the same kind of value.

readonly SWEEP_RANGE_NOT_NUMERIC: "SWEEP_RANGE_NOT_NUMERIC" = "SWEEP_RANGE_NOT_NUMERIC";

A sweep whose start, end or step is not a finite number, percentage or quantity.

readonly SWEEP_REQUIRES_STEP: "SWEEP_REQUIRES_STEP" = "SWEEP_REQUIRES_STEP";

A sweep with no step after its range.

WhatIfErrorCodes.SWEEP_REQUIRES_VARIABLE_NAME

Section titled “WhatIfErrorCodes.SWEEP_REQUIRES_VARIABLE_NAME”
readonly SWEEP_REQUIRES_VARIABLE_NAME: "SWEEP_REQUIRES_VARIABLE_NAME" = "SWEEP_REQUIRES_VARIABLE_NAME";

A sweep with no name to step through after for.

readonly SWEEP_STEP_FAILED: "SWEEP_STEP_FAILED" = "SWEEP_STEP_FAILED";

A sweep one of whose steps failed. The message names the input value and the failure.

readonly SWEEP_STEP_WRONG_SIGN: "SWEEP_STEP_WRONG_SIGN" = "SWEEP_STEP_WRONG_SIGN";

A sweep whose step moves away from its end.

readonly SWEEP_STEP_ZERO: "SWEEP_STEP_ZERO" = "SWEEP_STEP_ZERO";

A sweep with a step of zero, which never reaches its end.

readonly SWEEP_TOO_MANY_STEPS: "SWEEP_TOO_MANY_STEPS" = "SWEEP_TOO_MANY_STEPS";

A sweep that would try more values than one sweep allows.

readonly SWEEP_TOO_MUCH_WORK: "SWEEP_TOO_MUCH_WORK" = "SWEEP_TOO_MUCH_WORK";

A sweep that would re-run more lines in all than one sweep allows.

readonly WHAT_IF_DUPLICATE_INPUT: "WHAT_IF_DUPLICATE_INPUT" = "WHAT_IF_DUPLICATE_INPUT";

A what-if that sets the same name twice.

readonly WHAT_IF_INPUT_PENDING: "WHAT_IF_INPUT_PENDING" = "WHAT_IF_INPUT_PENDING";

A what-if whose input is still waiting on live data.

readonly WHAT_IF_NO_DOCUMENT: "WHAT_IF_NO_DOCUMENT" = "WHAT_IF_NO_DOCUMENT";

A what-if or a sweep evaluated with no document to re-run.

WhatIfErrorCodes.WHAT_IF_REQUIRES_VARIABLE_NAME

Section titled “WhatIfErrorCodes.WHAT_IF_REQUIRES_VARIABLE_NAME”
readonly WHAT_IF_REQUIRES_VARIABLE_NAME: "WHAT_IF_REQUIRES_VARIABLE_NAME" = "WHAT_IF_REQUIRES_VARIABLE_NAME";

A what-if with no name to change after with.

readonly WHAT_IF_TARGETS_ITSELF: "WHAT_IF_TARGETS_ITSELF" = "WHAT_IF_TARGETS_ITSELF";

A what-if or a sweep naming its own line, which it would re-run.

readonly WHAT_IF_TOO_MANY_INPUTS: "WHAT_IF_TOO_MANY_INPUTS" = "WHAT_IF_TOO_MANY_INPUTS";

A what-if changing more inputs than one takes.

WorkerErrorCodes: {
WORKER_ARGUMENT_NOT_CLONEABLE: "WORKER_ARGUMENT_NOT_CLONEABLE";
WORKER_CANCELLED: "WORKER_CANCELLED";
WORKER_NOT_INITIALISED: "WORKER_NOT_INITIALISED";
WORKER_TERMINATED: "WORKER_TERMINATED";
WORKER_TRANSPORT_FAILED: "WORKER_TRANSPORT_FAILED";
WORKER_UNKNOWN_METHOD: "WORKER_UNKNOWN_METHOD";
WORKER_UNKNOWN_PACKAGE: "WORKER_UNKNOWN_PACKAGE";
};

Codes the worker harness owns, co-located here rather than unioned into the core catalog, matching the convention errors/ErrorCode.ts documents for a domain that keeps its own small code object.

WorkerErrorCodes.WORKER_ARGUMENT_NOT_CLONEABLE

Section titled “WorkerErrorCodes.WORKER_ARGUMENT_NOT_CLONEABLE”
readonly WORKER_ARGUMENT_NOT_CLONEABLE: "WORKER_ARGUMENT_NOT_CLONEABLE" = "WORKER_ARGUMENT_NOT_CLONEABLE";

A call’s arguments could not be copied across the boundary (a function, a symbol, an object postMessage refuses). Rejected main-side, before anything is sent.

readonly WORKER_CANCELLED: "WORKER_CANCELLED" = "WORKER_CANCELLED";

The caller aborted the request through its AbortSignal.

readonly WORKER_NOT_INITIALISED: "WORKER_NOT_INITIALISED" = "WORKER_NOT_INITIALISED";

A request arrived before the runtime finished building its engine.

readonly WORKER_TERMINATED: "WORKER_TERMINATED" = "WORKER_TERMINATED";

The worker engine was torn down while a request was still in flight.

readonly WORKER_TRANSPORT_FAILED: "WORKER_TRANSPORT_FAILED" = "WORKER_TRANSPORT_FAILED";

The transport failed or the worker exited before answering.

readonly WORKER_UNKNOWN_METHOD: "WORKER_UNKNOWN_METHOD" = "WORKER_UNKNOWN_METHOD";

A request named a method the runtime does not expose.

readonly WORKER_UNKNOWN_PACKAGE: "WORKER_UNKNOWN_PACKAGE" = "WORKER_UNKNOWN_PACKAGE";

An init named a package the runtime could not resolve.