Something went wrong. Try again.
A SpaceTraders Agent
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201const std = @import("std");const prettym = @import("pretty");
pub const accounts = @import("models/accounts.zig");pub const agents = @import("models/agents.zig");pub const contracts = @import("models/contracts.zig");pub const factions = @import("models/factions.zig");pub const ships = @import("models/ships.zig");pub const systems = @import("models/systems.zig");
pub const inventory = @import("models/inventory.zig");
pub const Info = @import("models/Info.zig");
pub const parseSymbol = systems.Symbol.parseSlice;
pub fn Wrapper(comptime T: type) type { return struct { data: ?T = null, meta: ?Meta = null, @"error": ?Error = null, };}
pub const Meta = struct { total: u64 = 0, // [0, ∞) page: u64 = 1, // [1, ∞) limit: u8 = 10, // [1, 20]};
pub const Query = struct { page: u64 = 1, /// How many entries to return per page /// min: 1, max: 20 limit: u64 = 20,
pub fn format(this: @This(), writer: *std.Io.Writer) std.Io.Writer.Error!void { try writer.print("?page={}&limit={}", .{ this.page, this.limit }); }};
pub fn SymbolWrapper(comptime T: type) type { return struct { symbol: T,
pub fn pretty( this: *const @This(), comptime ctx: prettym.Context, run: *const prettym.Runtime, ) error{WriteFailed}!void { return run.pretty(ctx, this.symbol, .{ .skip_type_name = true }); } };}
pub const Error = struct { message: []const u8, code: ErrorCode, data: ?Data = null, requestId: ?[]const u8 = null,
pub const Data = struct { // Rate Limit type: ?[]const u8 = null, retryAfter: ?u64 = null, limitBurst: ?u64 = null, limitPerSecond: ?u64 = null, remaining: ?u64 = null, reset: ?[]const u8 = null, // Wrong token expectedSubject: ?[]const u8 = null, receivedSubject: ?[]const u8 = null, };};
pub const Cooldown = struct { shipSymbol: []const u8, totalSeconds: u64, remainingSeconds: u64, expiration: ?[]const u8 = null,};
/// List of Possible Error Codes////// Obtained via [/error-codes](https://spacetraders.io/openapi#tag/global/GET/error-codes)pub const ErrorCode = enum(u16) { // Standart Error Codes notFound = 404, tooManyRequests = 429, ddosProtection = 502,
// SpaceTraders Error Codes responseSerializationError = 3000, unprocessableInputError = 3001, allErrorHandlersFailedError = 3002, systemStatusMaintenanceError = 3100, resetError = 3200, cooldownConflictError = 4000, waypointNoAccessError = 4001, tokenEmptyError = 4100, tokenMissingSubjectError = 4101, tokenInvalidSubjectError = 4102, missingTokenRequestError = 4103, invalidTokenRequestError = 4104, invalidTokenSubjectError = 4105, accountNotExistsError = 4106, agentNotExistsError = 4107, accountHasNoAgentError = 4108, tokenInvalidVersionError = 4109, registerAgentSymbolReservedError = 4110, registerAgentConflictSymbolError = 4111, registerAgentNoStartingLocationsError = 4112, tokenResetDateMismatchError = 4113, invalidAccountRoleError = 4114, invalidTokenError = 4115, missingAccountTokenRequest = 4116, navigateInTransitError = 4200, navigateInvalidDestinationError = 4201, navigateOutsideSystemError = 4202, navigateInsufficientFuelError = 4203, navigateSameDestinationError = 4204, shipExtractInvalidWaypointError = 4205, shipExtractPermissionError = 4206, shipInTransitError = 4214, shipMissingSensorArraysError = 4215, purchaseShipCreditsError = 4216, shipCargoExceedsLimitError = 4217, shipCargoMissingError = 4218, shipCargoUnitCountError = 4219, shipSurveyVerificationError = 4220, shipSurveyExpirationError = 4221, shipSurveyWaypointTypeError = 4222, shipSurveyOrbitError = 4223, shipSurveyExhaustedError = 4224, shipCargoFullError = 4228, waypointChartedError = 4230, shipTransferShipNotFound = 4231, shipTransferAgentConflict = 4232, shipTransferSameShipConflict = 4233, shipTransferLocationConflict = 4234, warpInsideSystemError = 4235, shipNotInOrbitError = 4236, shipInvalidRefineryGoodError = 4237, shipInvalidRefineryTypeError = 4238, shipMissingRefineryError = 4239, shipMissingSurveyorError = 4240, shipMissingWarpDriveError = 4241, shipMissingMineralProcessorError = 4242, shipMissingMiningLasersError = 4243, shipNotDockedError = 4244, purchaseShipNotPresentError = 4245, shipMountNoShipyardError = 4246, shipMissingMountError = 4247, shipMountInsufficientCreditsError = 4248, shipMissingPowerError = 4249, shipMissingSlotsError = 4250, shipMissingMountsError = 4251, shipMissingCrewError = 4252, shipExtractDestabilizedError = 4253, shipJumpInvalidOriginError = 4254, shipJumpInvalidWaypointError = 4255, shipJumpOriginUnderConstructionError = 4256, shipMissingGasProcessorError = 4257, shipMissingGasSiphonsError = 4258, shipSiphonInvalidWaypointError = 4259, shipSiphonPermissionError = 4260, waypointNoYieldError = 4261, shipJumpDestinationUnderConstructionError = 4262, shipScrapInvalidTraitError = 4263, shipRepairInvalidTraitError = 4264, agentInsufficientCreditsError = 4265, shipModuleNoShipyardError = 4266, shipModuleNotInstalledError = 4267, shipModuleInsufficientCreditsError = 4268, cantSlowDownWhileInTransitError = 4269, shipExtractInvalidSurveyLocationError = 4270, shipTransferDockedOrbitConflict = 4271, acceptContractNotAuthorizedError = 4500, acceptContractConflictError = 4501, fulfillContractDeliveryError = 4502, contractDeadlineError = 4503, contractFulfilledError = 4504, contractNotAcceptedError = 4505, contractNotAuthorizedError = 4506, shipDeliverTermsError = 4508, shipDeliverFulfilledError = 4509, shipDeliverInvalidLocationError = 4510, existingContractError = 4511, marketTradeInsufficientCreditsError = 4600, marketTradeNoPurchaseError = 4601, marketTradeNotSoldError = 4602, marketTradeUnitLimitError = 4604, shipNotAvailableForPurchaseError = 4605, waypointNoFactionError = 4700, constructionMaterialNotRequired = 4800, constructionMaterialFulfilled = 4801, shipConstructionInvalidLocationError = 4802, unsupportedMediaTypeError = 5000, _,};