package dto

import "time"

// AgentLLMProxySessionRequest is the optional guard body for issue/refresh.
type AgentLLMProxySessionRequest struct {
	SessionID      string `json:"sessionId,omitempty"`
	CredentialKind string `json:"credentialKind,omitempty"`
}

// AgentLLMProxySessionResponse returns one newly issued runtime LLM proxy credential.
type AgentLLMProxySessionResponse struct {
	ProxyToken          string     `json:"proxyToken"`
	ExpiresAt           time.Time  `json:"expiresAt"`
	SessionID           string     `json:"sessionId"`
	RefreshAt           *time.Time `json:"refreshAt,omitempty"`
	SupersedesSessionID string     `json:"supersedesSessionId,omitempty"`
	MaasBaseURL         string     `json:"maasBaseURL,omitempty"`
	CredentialKind      string     `json:"credentialKind,omitempty"`
}
