opencodego

package
v1.5.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2026 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BaseURL             = "https://opencode.ai/zen/go"
	ChatCompletionsPath = "/v1/chat/completions"
	ResponsesPath       = "/v1/responses"
	MessagesPath        = "/v1/messages"
)

Variables

This section is empty.

Functions

func BuildCookieHeader

func BuildCookieHeader(raw string) string

func ExtractWorkspaceID

func ExtractWorkspaceID(raw string) string

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient() *Client

func (*Client) APIType

func (c *Client) APIType() []utils.APIType

func (*Client) ApplyReferralReward

func (c *Client) ApplyReferralReward(ctx context.Context, workspaceID, referralID, authCookie string) error

func (*Client) Chat

func (c *Client) Chat(req *api.Request) (*http.Response, error)

func (*Client) DiscoverAPIKeys

func (c *Client) DiscoverAPIKeys(ctx context.Context, authCookie string) ([]DiscoveredAPIKey, error)

func (*Client) FetchQuota

func (c *Client) FetchQuota(ctx context.Context, workspaceID, authCookie string) (*Quota, error)

func (*Client) FirstWorkspaceAPIKey

func (c *Client) FirstWorkspaceAPIKey(ctx context.Context, workspaceID, authCookie string) (DiscoveredAPIKey, error)

func (*Client) HandlerType

func (c *Client) HandlerType() utils.HandlerType

func (*Client) ListReferralRewards

func (c *Client) ListReferralRewards(ctx context.Context, workspaceID, authCookie string) (*ReferralRewards, error)

func (*Client) PrepareRequest

func (c *Client) PrepareRequest(root *ast.Node, apiType utils.APIType, _ api.BackendOpts) (api.PreparedRequest, error)

func (*Client) ReplaceModel

func (c *Client) ReplaceModel(body []byte, model string) []byte

func (*Client) SetSettingsProvider

func (c *Client) SetSettingsProvider(provider settings.Provider)

type DiscoveredAPIKey

type DiscoveredAPIKey struct {
	APIKey      string
	Email       string
	WorkspaceID string
}

type Quota

type Quota struct {
	Quota5h           float64          `json:"quota_5h"`
	Quota7d           float64          `json:"quota_7d"`
	Quota1mo          float64          `json:"quota_1mo"`
	Reset5h           time.Time        `json:"reset_5h"`
	Reset7d           time.Time        `json:"reset_7d"`
	Reset1mo          time.Time        `json:"reset_1mo"`
	AvailableRewards  []ReferralReward `json:"available_rewards"`
	RewardsTotalCents int              `json:"rewards_total_cents"`
}

func ParseDashboardHTML

func ParseDashboardHTML(document string, now time.Time) (*Quota, error)

type ReferralReward

type ReferralReward struct {
	ID          string    `json:"id"`
	Source      string    `json:"source"`
	Status      string    `json:"status"`
	Email       string    `json:"email,omitempty"`
	AmountCents int       `json:"amount_cents"`
	CreatedAt   time.Time `json:"created_at"`
}

type ReferralRewards

type ReferralRewards struct {
	Rewards    []ReferralReward `json:"rewards"`
	TotalCents int              `json:"total_cents"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL