Files
stainless-app[bot] 4f754903a9 release: 0.6.0 (#61)
* codegen metadata

* feat(api): api update

* codegen metadata

* codegen metadata

* codegen metadata

* feat(go): add default http client with timeout

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* feat(api): api update

* codegen metadata

* codegen metadata

* feat: support setting headers via env

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* codegen metadata

* chore: sync next with main for release (#64)

* feat: load LangSmith profile auth in client (#53)

* feat: add profile config loading from ~/.langsmith/config.toml

Load named profiles from ~/.langsmith/config.toml as a fallback
in DefaultClientOptions(). Profile values are overridden by
environment variables and explicit option calls.

Profile selection: LANGSMITH_PROFILE env var → current_profile
in config → "default" profile.

* test: add integration tests for profile-based client creation

* test: add integration test verifying env vars override profile values

* feat: add bearer_token support in profile config

Profiles can now use bearer_token (Authorization: Bearer header) in
addition to api_key (X-API-Key header). Both are additive — if both
are set, both headers are sent, matching the env var behavior.

* feat: load LangSmith profile auth in client

* Use OAuth profile tokens for SDK auth

* Isolate profile refresh tests from endpoint env

* Read LangSmith profiles from JSON config

* test: remove stale organization option

* codegen metadata

* release: 0.6.0

---------

Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
Co-authored-by: Mukil Loganathan <mukil@langchain.dev>
2026-04-29 23:58:18 +00:00

118 lines
2.9 KiB
Go

// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
package langsmith_test
import (
"context"
"errors"
"os"
"testing"
"github.com/langchain-ai/langsmith-go"
"github.com/langchain-ai/langsmith-go/internal/testutil"
"github.com/langchain-ai/langsmith-go/option"
)
func TestCommitNewWithOptionalParams(t *testing.T) {
t.Skip("Mock server tests are disabled")
baseURL := "http://localhost:4010"
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
baseURL = envURL
}
if !testutil.CheckTestServer(t, baseURL) {
return
}
client := langsmith.NewClient(
option.WithBaseURL(baseURL),
option.WithAPIKey("My API Key"),
option.WithTenantID("My Tenant ID"),
)
_, err := client.Commits.New(
context.TODO(),
"owner",
"repo",
langsmith.CommitNewParams{
Description: langsmith.F("description"),
Manifest: langsmith.F[any](map[string]interface{}{}),
ParentCommit: langsmith.F("parent_commit"),
SkipWebhooks: langsmith.F[any](map[string]interface{}{}),
},
)
if err != nil {
var apierr *langsmith.Error
if errors.As(err, &apierr) {
t.Log(string(apierr.DumpRequest(true)))
}
t.Fatalf("err should be nil: %s", err.Error())
}
}
func TestCommitGetWithOptionalParams(t *testing.T) {
t.Skip("Mock server tests are disabled")
baseURL := "http://localhost:4010"
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
baseURL = envURL
}
if !testutil.CheckTestServer(t, baseURL) {
return
}
client := langsmith.NewClient(
option.WithBaseURL(baseURL),
option.WithAPIKey("My API Key"),
option.WithTenantID("My Tenant ID"),
)
_, err := client.Commits.Get(
context.TODO(),
"owner",
"repo",
"commit",
langsmith.CommitGetParams{
GetExamples: langsmith.F(true),
Include: langsmith.F("include"),
IncludeModel: langsmith.F(true),
IsView: langsmith.F(true),
},
)
if err != nil {
var apierr *langsmith.Error
if errors.As(err, &apierr) {
t.Log(string(apierr.DumpRequest(true)))
}
t.Fatalf("err should be nil: %s", err.Error())
}
}
func TestCommitListWithOptionalParams(t *testing.T) {
t.Skip("Mock server tests are disabled")
baseURL := "http://localhost:4010"
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
baseURL = envURL
}
if !testutil.CheckTestServer(t, baseURL) {
return
}
client := langsmith.NewClient(
option.WithBaseURL(baseURL),
option.WithAPIKey("My API Key"),
option.WithTenantID("My Tenant ID"),
)
_, err := client.Commits.List(
context.TODO(),
"owner",
"repo",
langsmith.CommitListParams{
IncludeStats: langsmith.F(true),
Limit: langsmith.F(int64(1)),
Offset: langsmith.F(int64(0)),
Tag: langsmith.F("tag"),
},
)
if err != nil {
var apierr *langsmith.Error
if errors.As(err, &apierr) {
t.Log(string(apierr.DumpRequest(true)))
}
t.Fatalf("err should be nil: %s", err.Error())
}
}