Upgrade Path
This content is for v0.9.2. Switch to the latest version for up-to-date documentation.
Overview
Section titled “Overview”When a Pro feature is called without valid authorization, the SDK returns a specific error type with an actionable message. This document maps every error to its cause and resolution.
Error Reference
Section titled “Error Reference”FeatureUnavailable
Section titled “FeatureUnavailable”Message: varies by context (see sub-cases below)
This is the umbrella error returned when a Pro feature cannot be accessed. The message text tells you exactly what to do.
LicenseRequired
Section titled “LicenseRequired”Returned when: A Pro feature is called but no valid license token was found in the resolution chain (env var → file → API parameter).
Message:
License installation required.Resolution:
- Authenticate:
nxuskit-cli license login - Activate your license:
nxuskit-cli license activate --key <purchase_id> - For CI/CD: set
NXUSKIT_LICENSE_TOKENenvironment variable with your deployment token - To start a trial:
nxuskit-cli license loginthennxuskit-cli license activate --trial
LicenseExpired
Section titled “LicenseExpired”Returned when: The developer token’s subscription period has ended.
Message:
License installation required.Resolution:
- Renew your subscription at your account dashboard
- After renewal, run
nxuskit-cli license activate --key <purchase_id>to get a fresh token - Community features continue working during the gap
EditionInsufficient
Section titled “EditionInsufficient”Returned when: You have a valid token but the binary is the Community edition, which does not include Pro code.
Message:
This feature requires Pro edition.Resolution:
- Download the Pro edition binary (requires authenticated access)
- Replace your Community binary with the Pro binary
- Your existing license token will be recognized automatically
VersionCeilingExceeded
Section titled “VersionCeilingExceeded”Returned when: A deployment token’s version ceiling is lower than the running SDK version.
Message:
Deployment token covers up to v{ceiling}. Update your deployment token for v{current}+ support.Resolution:
- If you have an active support subscription, request an updated deployment token from your account dashboard
- Alternatively, pin the SDK version to stay within the token ceiling
- Contact support@nxus.systems if you need help
TrialSuspended
Section titled “TrialSuspended”Returned when: A trial token was issued but not activated within the 7-day grace period.
Message:
License installation required.Resolution:
- Run
nxuskit-cli license loginto authenticate - Run
nxuskit-cli license activate --trialto resume the trial - This extends Pro access for the remainder of the 30-day trial period
TrialExpired
Section titled “TrialExpired”Returned when: The 30-day trial period has ended.
Message:
License installation required.Resolution:
- Purchase a Pro license
- Community features continue working without interruption
- All Pro features will be restored immediately after activation
TrialIssuanceFailed
Section titled “TrialIssuanceFailed”Returned when: The SDK attempted to issue a trial token but could not complete the operation.
Message:
License installation required.Resolution:
- Run
nxuskit-cli license loginto authenticate first - Then run
nxuskit-cli license activate --trial - Community features remain available regardless
Error Handling by Language
Section titled “Error Handling by Language”use nxuskit::{FeatureUnavailableError, LicenseExpiredError, LicenseRequiredError};
match nxuskit::zen_evaluate(&table, &input) { Ok(result) => { /* success */ } Err(e) if e.is::<LicenseRequiredError>() => { eprintln!("{}", e); // "License installation required." } Err(e) if e.is::<LicenseExpiredError>() => { eprintln!("{}", e); // "License installation required." } Err(e) => { /* other errors */ }}Python
Section titled “Python”from nxuskit import zen_evaluatefrom nxuskit import LicenseRequiredError, LicenseExpiredError, FeatureUnavailableError
try: result = zen_evaluate(table_path, input_data)except LicenseRequiredError as e: print(e.message) # "License installation required."except LicenseExpiredError as e: print(e.message) # "License installation required."except FeatureUnavailableError as e: print(e.message) # generic feature gateimport nxuskit "github.com/nxus-SYSTEMS/nxusKit/packages/nxuskit-go"
result, err := nxuskit.ZenEvaluate(table, input)if err != nil { switch { case errors.Is(err, nxuskit.ErrLicenseRequired): fmt.Println(err) // "License installation required." case errors.Is(err, nxuskit.ErrLicenseExpired): fmt.Println(err) // "License installation required." default: fmt.Println(err) }}Quick Decision Tree
Section titled “Quick Decision Tree”Pro feature called │ ├─ No token found? → "License installation required." ├─ Token expired? → "License installation required." ├─ Community binary? → EditionInsufficient → download Pro binary ├─ Version ceiling hit? → VersionCeilingExceeded → update deployment token ├─ Trial not activated? → "License installation required." ├─ Trial past 30 days? → "License installation required." ├─ Can't reach service? → "License installation required." └─ Valid token + Pro binary? → Success