/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { getFuturesForecastsModels } from "../funcs/getFuturesForecastsModels.js"; import { getModelOutput } from "../funcs/getModelOutput.js"; import { getSupplyPhenology } from "../funcs/getSupplyPhenology.js"; import { postFuturesForecasts } from "../funcs/postFuturesForecasts.js"; import { userRegistration } from "../funcs/userRegistration.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import * as components from "../models/components/index.js"; import * as operations from "../models/operations/index.js"; import { unwrapAsync } from "../types/fp.js"; import { Assets } from "./assets.js"; import { Data } from "./data.js"; import { Datasets } from "./datasets.js"; import { Features } from "./features.js"; import { Forex } from "./forex.js"; import { Futures } from "./futures.js"; import { Indicators } from "./indicators.js"; import { PerformanceMetrics } from "./performancemetrics.js"; import { SectorIndices } from "./sectorindices.js"; import { Strategies } from "./strategies.js"; import { Supply } from "./supply.js"; import { System } from "./system.js"; export class Hedgewise extends ClientSDK { private _system?: System; get system(): System { return (this._system ??= new System(this._options)); } private _data?: Data; get data(): Data { return (this._data ??= new Data(this._options)); } private _assets?: Assets; get assets(): Assets { return (this._assets ??= new Assets(this._options)); } private _futures?: Futures; get futures(): Futures { return (this._futures ??= new Futures(this._options)); } private _indicators?: Indicators; get indicators(): Indicators { return (this._indicators ??= new Indicators(this._options)); } private _forex?: Forex; get forex(): Forex { return (this._forex ??= new Forex(this._options)); } private _features?: Features; get features(): Features { return (this._features ??= new Features(this._options)); } private _sectorIndices?: SectorIndices; get sectorIndices(): SectorIndices { return (this._sectorIndices ??= new SectorIndices(this._options)); } private _performanceMetrics?: PerformanceMetrics; get performanceMetrics(): PerformanceMetrics { return (this._performanceMetrics ??= new PerformanceMetrics(this._options)); } private _supply?: Supply; get supply(): Supply { return (this._supply ??= new Supply(this._options)); } private _datasets?: Datasets; get datasets(): Datasets { return (this._datasets ??= new Datasets(this._options)); } private _strategies?: Strategies; get strategies(): Strategies { return (this._strategies ??= new Strategies(this._options)); } /** * Get forecasts for a future supporting multiple date ranges and model selection * * @remarks * Returns a list of all forecasts made for a given future * symbol, date range, and model name. Forecasts are made at various horizons, and can be interpolated * to daily values. Forecasted prices, estimated lower and upper bounds, * and market drivers are available for each forecast. */ async postFuturesForecasts( request: operations.PostFuturesForecastsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(postFuturesForecasts( this, request, options, )); } /** * Get Forecast Models for a future * * @remarks * Return a list of all forecast models for a given future symbol. Forecast models generate forecasts at various horizons */ async getFuturesForecastsModels( request: operations.GetFuturesForecastsModelsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(getFuturesForecastsModels( this, request, options, )); } /** * Get the output of a model for a given symbol * * @remarks * Returns all output from a requested model over a given time span. The model */ async getModelOutput( request: operations.GetModelOutputRequest, options?: RequestOptions, ): Promise { return unwrapAsync(getModelOutput( this, request, options, )); } /** * Get phenology stages information for a crop and country and or region * * @remarks * Returns the month day of the beginning and end of phenology stages for a given crop and region */ async getSupplyPhenology( request: operations.GetSupplyPhenologyRequest, options?: RequestOptions, ): Promise { return unwrapAsync(getSupplyPhenology( this, request, options, )); } /** * Register a user and generate an API Key * * @remarks * Registers a user in Hedgewise and provides an API key */ async userRegistration( request: components.UserRegistration, options?: RequestOptions, ): Promise { return unwrapAsync(userRegistration( this, request, options, )); } }