package rh import ( "context" "s1d3sw1ped/robinhood-agentic-mcp/accounts" "s1d3sw1ped/robinhood-agentic-mcp/auth" "s1d3sw1ped/robinhood-agentic-mcp/client" "s1d3sw1ped/robinhood-agentic-mcp/crypto" "s1d3sw1ped/robinhood-agentic-mcp/equity" "s1d3sw1ped/robinhood-agentic-mcp/market" "s1d3sw1ped/robinhood-agentic-mcp/options" "s1d3sw1ped/robinhood-agentic-mcp/scanner" "s1d3sw1ped/robinhood-agentic-mcp/watchlists" ) const DefaultURL = auth.DefaultURL // Config is Login/Connect identity and the token file. type Config = auth.Config // Side is an order side. Values are Robinhood wire strings. type Side = client.Side const ( Buy Side = client.Buy Sell Side = client.Sell ) // OrderType is an order type. Values are Robinhood wire strings. type OrderType = client.OrderType const ( Market OrderType = client.Market Limit OrderType = client.Limit Stop OrderType = client.Stop // equity + options; crypto uses StopLoss StopLimit OrderType = client.StopLimit StopLoss OrderType = client.StopLoss // crypto only ) // TimeInForce is an order duration. Values are Robinhood wire strings. type TimeInForce = client.TimeInForce const ( GFD TimeInForce = client.GFD GTC TimeInForce = client.GTC GFW TimeInForce = client.GFW // crypto GFM TimeInForce = client.GFM // crypto ) // MarketHours is a trading-session window. Values are Robinhood wire strings. type MarketHours = client.MarketHours const ( RegularHours MarketHours = client.RegularHours ExtendedHours MarketHours = client.ExtendedHours AllDayHours MarketHours = client.AllDayHours RegularCurbHours MarketHours = client.RegularCurbHours RegularCurbOvernightHours MarketHours = client.RegularCurbOvernightHours ) // ToolError is a failed MCP tool call or a parse of its result. type ToolError = client.ToolError // API is a connected Robinhood Agentic MCP client with every asset package wired. type API struct { Client *client.Client Accounts *accounts.Client Equity *equity.Client Options *options.Client Crypto *crypto.Client Watchlists *watchlists.Client Market *market.Client Scanner *scanner.Client } // Login authenticates to Robinhood Agentic MCP and writes tokens. func Login(ctx context.Context, cfg Config) (string, error) { return auth.Login(ctx, cfg) }