Repository navigation
Release SDK updates - #204
Merged
Merged
Conversation
Stainless-Generated-From: 042cb5e0bcd6e4fa0b3428b81cc17cd1926a1b68
…t instead of per series Stainless-Generated-From: 4754b22057e014bbf4a763e008f47a7acdf6609e
Adds the hand-written Java/Kotlin sandbox client under `com.langchain.smith.sandbox`, exported from the source repo. `SandboxClient` wraps the generated boxes API with a sandbox-oriented surface: - **Lifecycle** — `create`, `attach`, `retrieve`, `stop`, `delete`, plus a `Sandbox` handle that binds a sandbox id to the client. - **Exec** — `run` for collected stdout/stderr/exit code, `stream` for incremental output via `ExecOutputHandler`. `SandboxExecStream` reads SSE (`SseReader`) with reconnect on drop, bounded by `maxReconnects`, `maxOutputBytes`, and `streamTimeout`. - **Files** — `readFile`/`readFileAsString`, `writeFile`, `glob`, `listDirectory`, `grep`. - **Errors** — failures surface as `SandboxException`. Builder config lives on `SandboxClient.builder()` / `SandboxClient.of(clientOptions)`. Tests cover exec collection and streaming, reconnect and limit behavior, file ops, the sandbox handle, request serialization, and the SSE reader, against a `FakeHttpClient`. These files are generated by an export and are overwritten by the next one; edit them in the source repo instead. Merging this PR triggers `stlc: seal custom code`, which locks them in so the next `stlc build` replays rather than overwrites them. ## Test Plan - [x] none Co-authored-by: LangChain <support@langchain.dev>
…e tolerance Stainless-Generated-From: 38b94c4cbaa9ccde45a86891e0106800ea1fe881
…ow (#55) ## Why `CONTRIBUTING.md` still described the old `next` development branch and duplicated the SDK release process, which has since moved to the `langchainplus` `smith-sdks` README. ## What - Replace the branch table with a **Where to open your pull request** section: internal contributions land on `main` in `langsmith-java-staging` (promoted to `langsmith-java` on release), external contributions on `main` in `langsmith-java`. No long-lived development branch. - Drop the step-by-step release process in favor of a link to [Releasing the SDKs](https://github.com/langchain-ai/langchainplus/tree/main/smith-sdks#releasing-the-sdks), the single source of truth. - Replace the stale "talk to @edongashi" note with the actual rule: files carrying the `File generated from our OpenAPI spec by Stainless.` header must not be hand-edited, and the `check-stainless-file-modification` CI check enforces it. - Correct the CI section — there are two jobs (`lint`, `build`), with tests running inside `build`. Note: two Java-specific release notes were dropped along with the release section (Maven Central indexing lags on mvnrepository.com; pushing to the release-please branch after a version bump can fail the publish action). Happy to add them to the `smith-sdks` README if we want to keep them. Docs only — no code changes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…n [LSE-2754] Stainless-Generated-From: 13804db993843f3c7be1c5f8ea0e561cb5daeda5
…threads/query Stainless-Generated-From: 82b23e119f930124d632685763ee8ba4f3d46455
Stainless-Generated-From: eef4f578c5073bcd5be7c0afe8b47b7478b719d7
Stainless-Generated-From: 28fcff5aded8be4b768fff93de2843440ade51ed
…ses on verdicts Stainless-Generated-From: b4bfcc7e17992b49b1ff420c3f39f40755fd0a7b
… [AB-3257] Stainless-Generated-From: 1074926399c6fb91d65a6250a637fb0c06acf4d7
Stainless-Generated-From: 36e0e273861b6f02ec6ef6daf0b1024fdcc2adf9
Stainless-Generated-From: 0d7bb8a35411bfa5e24b3fe084de7f1144fab3fd
Stainless-Generated-From: 04aa44a8ab873029fdfad590167cc93e246160b7
…able Stainless-Generated-From: f5643c2ab0dc809168b2cdda5ac0c337bd0dc47e
Stainless-Generated-From: 9ac317cf0f1035642d8b08b00738defbd4e8cd20
Stainless-Generated-From: 9d1f2d972a25b55dff13838054784d301649aeb4
## Summary - upgrade Apache HttpClient to 5.6.3 and HttpCore to 5.4.3, covering alerts #77, #79, and #81 - force jsoup 1.23.1 on Dokka generator classpaths, covering alert #76 - force Log4j 2.25.5 in the ProGuard build classpath, covering alert #80 ## Validation - [x] `git diff --check` - [x] Gradle dependency insight resolves `httpcore5` and `httpcore5-h2` to 5.4.3 - [x] Gradle dependency insight resolves Dokka `jsoup` from 1.16.1 to forced 1.23.1 - [ ] Full tests could not complete in the Fleet sandbox because the Gradle/Kotlin daemon was killed by the sandbox memory limit; CI should provide authoritative test coverage ## Scope Dependency-only security update. No application API or behavior changes intended. Co-authored-by: langsmith-fleet[bot] <langsmith-fleet[bot]@users.noreply.github.com>
Stainless-Generated-From: e0095df1d9ca03bbdda15dbf12cb8db24fe1a077
Stainless-Generated-From: 08faf9450719dc630529e7d81889140aa2e4dbaf
Stainless-Generated-From: 30b154f7be1fe6a9c20aa20ea584313855412d7b
## Summary - force patched Apache HttpClient/HttpCore versions on the root Gradle buildscript/plugin classpath - force patched Log4j versions on that classpath - cover the vulnerable transitive versions still present in GitHub's dependency-graph SBOM after #56 Covers Dependabot alerts #77, #79, #80, and #81. ## Validation - [x] `git diff --check` - [x] confirmed GitHub's current SBOM contains both the patched runtime versions and vulnerable build/plugin classpath versions - [ ] Gradle dependency insight was blocked locally because the sandbox's Java trust store rejected the Gradle distribution certificate; CI should provide authoritative Gradle validation ## Scope Dependency-resolution-only change. No application API or runtime behavior changes intended. Co-authored-by: langsmith-fleet[bot] <langsmith-fleet[bot]@users.noreply.github.com>
Stainless-Generated-From: 6504da171e3990f8ac4a330596f347a5ad40516e
Stainless-Generated-From: b8bfb596d73fa50449f3fbe86fa8e8e377829da4
Stainless-Generated-From: 788d1acd76d6b537b9b8d891a79ac1791d98e0bb
Stainless-Generated-From: 664a353035b27ee756f07f9100d06d170930aaf6
…onse field Stainless-Generated-From: e8186a122b60131e89be04fd656a8bcb89d5a234
… guides Stainless-Generated-From: a4a52c3a784d64e6d3388f88ac1797343e264b87
…ts fields Stainless-Generated-From: 1d1c3aefc6a745961ee7e6bb251cc7569aabaa38
…-3432] Stainless-Generated-From: 92b69bd58be035e5ec6ad8ec0ba68b19228c69cb
…d schemas Stainless-Generated-From: b94922e02451fea8052f8ee8618bc1cc582d71cf
…ypted_secrets permission scope)
…oints Stainless-Generated-From: 0f7aabe3390f859ba2fe171e5d071b50f6690f34
## Summary - Address all three open Dependabot alerts (82–84): GHSA-gcx9-497g-6cp6, GHSA-9xv2-5v5q-p794, and GHSA-h3x4-894j-xpx5. - Constrain existing Tomcat core, EL, and WebSocket dependencies to 10.1.59, keeping the embedded components aligned. Scope is limited to the non-published example module; SDK dependencies are unchanged. - The advisories list 10.1.58 as patched, but that version is unavailable on Maven Central; 10.1.59 is available and resolves successfully. These constraints can be removed once Spring Boot's BOM supplies patched versions. ## Validation - `./scripts/format` — passed; no unrelated changes. - `./gradlew lint :langsmith-java-example:classes :langsmith-java-example:dependencyInsight --dependency org.apache.tomcat.embed --configuration runtimeClasspath --console=plain` — passed; all three Tomcat components resolve to 10.1.59. - No example-module tests exist; validated compilation and dependency resolution instead. Made by [Open SWE](https://openswe.vercel.app/agents/2b86d1d9-dcd5-52f0-aeaf-2b05f1899ce7) · openai:gpt-6-astra (medium) ## References - Slack thread: https://langchain.slack.com/archives/D0B5PRNJA05/p1789080824781919 Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
…load-url Stainless-Generated-From: 47e6ebf0ab5a91fb51ea6763dba39a5ef6c215f7
…crets_keys Stainless-Generated-From: 50bca0583c0381d3d8ce6b306a8b22faece79083
Stainless-Generated-From: 633cc6671b9338dbb2ed8dc2d6a75a2f228e683a
Stainless-Generated-From: c15c389a2ce9cfbd52fc3ec889fc5f10a8cfdd15
…s to list items Stainless-Generated-From: 159245dcd875dab58eb9653d384cbc0bda93b180
…h login mode Stainless-Generated-From: a2f85266fd64d21179b417be3fbf8fa3fc1551d3
…mounts Stainless-Generated-From: 86e4c246ed6728291579b48d87a463226410e876
Stainless-Generated-From: 2acdc8b32a0aa50bf355cac491e55e582f31979c
Stainless-Generated-From: 962f044ea4b62dbc5c7f640b8453fc79d79bfda7
Stainless-Generated-From: 9b002d4581923d56d1e40c408fe769e42490cb8b
… thread traces Stainless-Generated-From: e7efd98afbbb679dcd05852716299afe7412b7d6
Stainless-Generated-From: b19c30f489eba3a585ac622ddc3a83587ad1d36b
Stainless-Generated-From: 2eac66c02a384800ab8347ac17037fe8ff2e2681
Stainless-Generated-From: b922b644c6a808b0f4ff741d7070b3b5c34e2761
Stainless-Generated-From: 4ac0bb08eb13b7577f2cd8fc9377d24d948bc0d8
…sponse Stainless-Generated-From: 029d4b6d8fc2a0d88b66e8f9531455963993ceb7
Same as langchain-ai/langsmith-go-staging#106, for Java. Once promoted to `langsmith-java`, the `PR comes from staging` job fails for any PR to `main` whose head is not `stainless/release` (the stlc promotion PR) or `release-please--branches--main`, from this repo. The Terraform side that makes it required is langchain-ai/langchainplus#41020.
Stainless-Generated-From: 9c845bbdeb592945eb99b80e6d0d2d87d8eaf291
…text Stainless-Generated-From: 2f9130b2c60527233a398be6cc2c8056ddb16318
Stainless-Generated-From: 1415ccab4cce847c293217a521ab301b58eaecac
Stainless-Generated-From: fc065bd4d2d3738869b9d42235b3717846bc336a
Stainless-Generated-From: a8d029238f99c9b19887cba6ba1607ea3b9be5ce
KiewanVillatel
approved these changes
Sep 21, 2026
KiewanVillatel
left a comment
Contributor
There was a problem hiding this comment.
LGTM — auto-generated Stainless release, sanity-checked against commits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat(obs): add feedback count to CRUD pane
feat(dashboards): attach v1→v2 chart conversion preview once per chart instead of per series
feat(sandbox): add hand-written Java sandbox client (#54)
fix(sandboxes): warn on memory-per-vCPU ratio violations and widen the tolerance
docs: refresh CONTRIBUTING for the staging/production contribution flow (#55)
fix(evaluators): scope spend/traces/limits to the selected application [LSE-2754]
feat(threads): add support for tree, trace, and thread filter in /v2/threads/query
feat(datasets): return source thread id on examples
feat(sandboxes): Docker-style tags, names, and permissions for snapshots
feat(engine): answerable auto-resolution prompts, and a task that closes on verdicts
fix(fleet): route agent delete through the platform directories route [AB-3257]
feat(issues): add trace_id filter to list issues endpoint
feat: add trajectory_evaluators field to experiment config
feat(sandboxes): add generate_download_url method for sandbox files
feat(sessions)!: add trajectory_evaluators field and make it non-nullable
chore: update evaluator description text to use "Tuned Evaluators
chore: regenerate from spec description updates
fix: patch August Dependabot alerts (#56)
feat(sandboxes): add cursor pagination and sort_order to snapshot list
feat(feedback): add optional regex_validator field to feedback schema
feat(sandboxes): add cursor pagination and sort_order to sandbox list
fix: constrain vulnerable buildscript dependencies (#57)
chore: update offset parameter description to note 100000 limit
feat(issues): add Linear integration fields to issue board responses
feat(sandboxes): add description field to snapshots and proxy config
feat(issues): add activity, severity_exact filters and sort_by options
feat(issues): add include_linear_context param and LinearContext response field
chore: update deprecation notice URLs for runs and datasets migration guides
feat(evaluators): add dependencies, build status, and workspace secrets fields
feat(threadshare): add thread share mint, revoke, and read-state [LSO-3432]
feat: add "sum" aggregation type to chart config
feat(info): add billing_installation_id field to instance info response
feat(repos): add typed directory entry and selector models
feat(evaluators): add dependencies and workspace_secrets_keys fields
feat(registries): add provider and repository_search_mode fields
chore: annotate share_tokens items with uuid format
feat(threads): add sandbox activation endpoint
chore(evaluators): update delete and patch endpoint descriptions
feat(runs): add ls_user_id field and LS_USER_ID select enum value
feat(threads)!: remove conversations, make share_token optional, add SSE
feat(sandboxes): add AWS IAM role auth fields to registry create and update
Build SDK
feat(threads): add aggregate thread stats endpoint
feat(threads): add filter field to query thread stats request
feat(runs): add trajectory_id as a valid group_by value
feat(sandboxes): add run_config to sandbox, snapshot, and exec command schemas
fix: build, lint, and test failures (feat(secrets): add read_org_encrypted_secrets permission scope)
feat(product-feedback): add submit and retrieve product feedback endpoints
fix: patch Tomcat vulnerabilities in Spring Boot example (#58)
feat(sandboxes): add csp_sandbox_flags and csp_source_bundles to download-url
feat(evaluators)!: add advanced_features_enabled, remove workspace_secrets_keys
feat(issues): add validation_deployment_id, validation_result fields
fix(projects)!: remove trajectory_evaluators field from project schemas
feat(annotation-queues): add min_start_time and max_start_time filters to list items
feat(sandboxes): add access field to service-url for durable LangSmith login mode
feat(sandboxes): add IAM role auth config variants for AWS proxy and mounts
feat(sandboxes): add list_usage_costs endpoint for hourly sandbox costs
feat(insights): map insights configs create endpoint to SDK resource
feat(annotation-queues): add trace start-time filters to items count
feat(threads): add turn_number field and TURN_NUMBER select option to thread traces
feat(evaluators): add agent_id filter parameter to list endpoint
feat: add granularity query parameter to usage metrics endpoint
feat(insights): add list, update, and delete methods for job configs
feat(runs): add trace_filter and tree_filter query parameters
feat(sandboxes): add access_delegation field to sandbox create and response
ci: only accept PRs to main from staging or release-please (#60)
chore(sandboxes): update snapshot endpoint descriptions
feat(sandboxes): add delegated_from_sandbox_id field to audit log context
feat(evaluators): add managed code evaluator key and settings fields
feat(evaluators): add require_attachments field to evaluator schemas
feat(sandboxes): add list and delete service URL sharing endpoints
Note
These changes are either auto-generated or already reviewed, so only a very light review is required: guard against a potential catastrophic generation failure by checking the diff stat for an unexpectedly large number of deleted files, and confirm any deletion traces back to a legitimate commit (e.g. an endpoint removal).
See Releasing the SDKs for the full instructions.