Documentation
¶
Index ¶
- func IsBadRequest(err error) bool
- func IsConflict(err error) bool
- func IsForbidden(err error) bool
- func IsNotFound(err error) bool
- func NormalizeURL(apiURL string) string
- func WrapDefaultTransportWithAuthHint() (restore func())
- type Client
- func (c *Client) APIKey() string
- func (c *Client) APIURL() string
- func (c *Client) CustomAppPath(appID string) string
- func (c *Client) CustomAppsPath() string
- func (c *Client) FetchCustomAppSource(ctx context.Context, appID string) ([]byte, error)
- func (c *Client) PlatformPath(elem ...string) string
- func (c *Client) RawDelete(ctx context.Context, path string, result any) error
- func (c *Client) RawDo(ctx context.Context, method, path string, body io.Reader, ...) (statusCode int, proto string, respHeaders http.Header, respBody []byte, ...)
- func (c *Client) RawGet(ctx context.Context, path string, result any) error
- func (c *Client) RawPatch(ctx context.Context, path string, body any, result any) error
- func (c *Client) RawPost(ctx context.Context, path string, body any, result any) error
- func (c *Client) RawPostWithRetries(ctx context.Context, path string, body any, result any) error
- func (c *Client) ResolveSessionID(ctx context.Context, projectName string) (string, error)
- func (c *Client) SupportsTraceFeedbackWindow(ctx context.Context) (bool, error)
- func (c *Client) UseV2API(ctx context.Context) (bool, error)
- type CustomAppRequest
- type OAuthMetadata
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsBadRequest ¶ added in v0.2.43
func IsConflict ¶ added in v0.2.41
func IsForbidden ¶ added in v0.2.42
func IsNotFound ¶ added in v0.2.41
func NormalizeURL ¶ added in v0.1.7
NormalizeURL strips a trailing "/api/v1" suffix (with or without a trailing slash) so that the SDK — which appends "api/v1" itself — does not double it. Self-hosted users commonly set LANGSMITH_ENDPOINT to "https://host/api/v1".
func WrapDefaultTransportWithAuthHint ¶ added in v0.3.9
func WrapDefaultTransportWithAuthHint() (restore func())
WrapDefaultTransportWithAuthHint adds the auth hint to requests sent through http.DefaultTransport, which generated commands use, until restore is called.
Types ¶
type Client ¶
Client wraps the LangSmith Go SDK and provides helpers for raw HTTP calls.
func NewWithOptions ¶ added in v0.2.26
NewWithOptions creates a new Client from resolved options.
func (*Client) CustomAppPath ¶ added in v0.2.48
CustomAppPath addresses one app.
func (*Client) CustomAppsPath ¶ added in v0.2.48
CustomAppsPath is the custom-apps collection.
func (*Client) FetchCustomAppSource ¶ added in v0.2.43
FetchCustomAppSource returns the stored .tar.gz bytes for a custom app. The response is binary, so it bypasses the JSON-decoding raw helpers.
func (*Client) PlatformPath ¶ added in v0.2.48
PlatformPath builds a platform-service path.
func (*Client) RawDo ¶ added in v0.2.15
func (c *Client) RawDo(ctx context.Context, method, path string, body io.Reader, extraHeaders http.Header) (statusCode int, proto string, respHeaders http.Header, respBody []byte, err error)
RawDo performs an arbitrary HTTP request and returns the raw response. Unlike RawGet/RawPost/RawDelete, it does not unmarshal the response and does not treat 4xx/5xx as errors — callers decide how to handle status codes. body may be nil. extraHeaders are merged on top of the default auth headers.
func (*Client) RawPostWithRetries ¶ added in v0.3.1
RawPostWithRetries is RawPost with the SDK's default retry policy (the same one typed SDK calls such as `trace list` get): 408/409/429/5xx are retried, waiting the server's Retry-After when it sends one. Use it only for read-only POSTs (queries), where a repeat is safe.
func (*Client) ResolveSessionID ¶
ResolveSessionID resolves a project name to its session UUID, with caching.
func (*Client) SupportsTraceFeedbackWindow ¶ added in v0.3.4
SupportsTraceFeedbackWindow reports whether /v2/traces/query accepts min_feedback_modified_at and max_feedback_modified_at. Older servers ignore the fields rather than rejecting them, so this has to come from the version.
type CustomAppRequest ¶ added in v0.2.43
type CustomAppRequest struct {
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Files map[string]string `json:"files,omitempty"`
Entrypoint *string `json:"entrypoint,omitempty"`
SourceArchive *string `json:"source_archive,omitempty"`
}
CustomAppRequest is the body of custom-app create (POST) and update (PATCH). Unset pointer fields are omitted, leaving the server value untouched.
type OAuthMetadata ¶ added in v0.2.46
type OAuthMetadata struct {
Issuer string
DeviceAuthorizationEndpoint string
TokenEndpoint string
RegistrationEndpoint string
// Resource is the RFC 8707 resource indicator; it equals the issuer.
Resource string
}
OAuthMetadata holds absolute authorization server endpoints. The AS lives at <origin>/oauth on SaaS and <origin>/api/oauth on self-hosted, so callers use these rather than building paths themselves.
func DiscoverOAuth ¶ added in v0.2.46
func DiscoverOAuth(ctx context.Context, apiURL string) (*OAuthMetadata, error)
DiscoverOAuth returns the endpoints from the first candidate serving a valid RFC 8414 metadata document. A transient failure against any candidate is reported in preference to errNoOAuthMetadata so callers do not mistake an outage for a legacy backend.
func ResolveOAuth ¶ added in v0.2.46
func ResolveOAuth(ctx context.Context, apiURL string) (*OAuthMetadata, error)
ResolveOAuth prefers discovery, falling back to <base>/oauth/* so backends that serve no metadata document keep working. Transient discovery failures are returned rather than masked, because the fallback would post credentials to an endpoint the deployment may not serve.