[PR #237] [MERGED] feat(standard-tests): make test suite framework-agnostic and publish as public package #286

Closed
opened 2026-06-05 17:22:31 -04:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langchain-ai/deepagentsjs/pull/237
Author: @christian-bromann
Created: 2/18/2026
Status: Merged
Merged: 2/18/2026
Merged by: @christian-bromann

Base: mainHead: cb/publish-sandbox-standard-tests


📝 Commits (7)

📊 Changes

43 files changed (+803 additions, -183 deletions)

View changed files

.changeset/floppy-waves-go.md (+5 -0)
.changeset/lucky-bees-shave.md (+5 -0)
.changeset/plenty-chicken-scream.md (+5 -0)
.changeset/ready-colts-read.md (+5 -0)
.changeset/small-ends-laugh.md (+5 -0)
internal/standard-tests/package.json (+0 -21)
internal/standard-tests/src/index.ts (+0 -13)
internal/standard-tests/src/tests/lifecycle.ts (+0 -93)
📝 libs/deepagents/package.json (+1 -1)
📝 libs/deepagents/src/backends/local-shell.int.test.ts (+1 -1)
📝 libs/providers/daytona/package.json (+1 -1)
📝 libs/providers/daytona/src/sandbox.int.test.ts (+4 -1)
libs/providers/deno/LICENSE (+21 -0)
📝 libs/providers/deno/package.json (+1 -1)
📝 libs/providers/deno/src/sandbox.int.test.ts (+4 -1)
libs/providers/modal/LICENSE (+21 -0)
📝 libs/providers/modal/package.json (+1 -1)
📝 libs/providers/modal/src/sandbox.int.test.ts (+4 -1)
libs/providers/node-vfs/LICENSE (+21 -0)
📝 libs/providers/node-vfs/package.json (+1 -1)

...and 23 more files

📄 Description

Summary

  • Move @langchain/sandbox-standard-tests from internal/ to libs/ so it can be published to npm for third-party sandbox providers to validate their implementations.
  • Make the test suite framework-agnostic: the root entry point (@langchain/sandbox-standard-tests) requires a runner config with test primitives (describe, it, expect, beforeAll, afterAll), decoupling the package from any specific test framework.
  • Add a @langchain/sandbox-standard-tests/vitest sub-export that pre-fills the Vitest primitives automatically — existing Vitest users just change their import path.
  • Add a TestRunner interface and supporting types (SuiteFn, TestFn, HookFn, ExpectFn) for typed integration with arbitrary runners.
  • Vitest is now an optional peer dependency instead of a hard dependency.
  • Update all existing provider test files (Modal, Deno, Daytona, Node VFS, local-shell) to import from the /vitest sub-export.
  • Add comprehensive README with quick start for both Vitest and custom runners, full configuration reference, test coverage table, and real-world examples.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langchain-ai/deepagentsjs/pull/237 **Author:** [@christian-bromann](https://github.com/christian-bromann) **Created:** 2/18/2026 **Status:** ✅ Merged **Merged:** 2/18/2026 **Merged by:** [@christian-bromann](https://github.com/christian-bromann) **Base:** `main` ← **Head:** `cb/publish-sandbox-standard-tests` --- ### 📝 Commits (7) - [`9a57e9b`](https://github.com/langchain-ai/deepagentsjs/commit/9a57e9b0d00dc770433a6a5b8479772f949d2c59) feat(standard-tests): make test suite framework-agnostic and publish as public package - [`cb7f87c`](https://github.com/langchain-ai/deepagentsjs/commit/cb7f87c0903ac819d8fa563043d20b0741aa7244) format - [`d2be56d`](https://github.com/langchain-ai/deepagentsjs/commit/d2be56da4f31509b56b62e4dffada71c2fcbdca0) no underscore - [`a9fd01e`](https://github.com/langchain-ai/deepagentsjs/commit/a9fd01ec3a7704bfed0b4bf566019abe9e54512e) adding copies of license files - [`763369b`](https://github.com/langchain-ai/deepagentsjs/commit/763369b4ca38bca375ed4cfd5931d0df7b55f476) adding changesets - [`be6b841`](https://github.com/langchain-ai/deepagentsjs/commit/be6b841cdd4c0b124dd3ab5141eb1a1585544600) add build step - [`f517526`](https://github.com/langchain-ai/deepagentsjs/commit/f5175260a62e771e8b02663658a84307ae27a0da) fix test ### 📊 Changes **43 files changed** (+803 additions, -183 deletions) <details> <summary>View changed files</summary> ➕ `.changeset/floppy-waves-go.md` (+5 -0) ➕ `.changeset/lucky-bees-shave.md` (+5 -0) ➕ `.changeset/plenty-chicken-scream.md` (+5 -0) ➕ `.changeset/ready-colts-read.md` (+5 -0) ➕ `.changeset/small-ends-laugh.md` (+5 -0) ➖ `internal/standard-tests/package.json` (+0 -21) ➖ `internal/standard-tests/src/index.ts` (+0 -13) ➖ `internal/standard-tests/src/tests/lifecycle.ts` (+0 -93) 📝 `libs/deepagents/package.json` (+1 -1) 📝 `libs/deepagents/src/backends/local-shell.int.test.ts` (+1 -1) 📝 `libs/providers/daytona/package.json` (+1 -1) 📝 `libs/providers/daytona/src/sandbox.int.test.ts` (+4 -1) ➕ `libs/providers/deno/LICENSE` (+21 -0) 📝 `libs/providers/deno/package.json` (+1 -1) 📝 `libs/providers/deno/src/sandbox.int.test.ts` (+4 -1) ➕ `libs/providers/modal/LICENSE` (+21 -0) 📝 `libs/providers/modal/package.json` (+1 -1) 📝 `libs/providers/modal/src/sandbox.int.test.ts` (+4 -1) ➕ `libs/providers/node-vfs/LICENSE` (+21 -0) 📝 `libs/providers/node-vfs/package.json` (+1 -1) _...and 23 more files_ </details> ### 📄 Description ## Summary - Move `@langchain/sandbox-standard-tests` from `internal/` to `libs/` so it can be published to npm for third-party sandbox providers to validate their implementations. - Make the test suite **framework-agnostic**: the root entry point (`@langchain/sandbox-standard-tests`) requires a `runner` config with test primitives (`describe`, `it`, `expect`, `beforeAll`, `afterAll`), decoupling the package from any specific test framework. - Add a `@langchain/sandbox-standard-tests/vitest` sub-export that pre-fills the Vitest primitives automatically — existing Vitest users just change their import path. - Add a `TestRunner` interface and supporting types (`SuiteFn`, `TestFn`, `HookFn`, `ExpectFn`) for typed integration with arbitrary runners. - Vitest is now an **optional peer dependency** instead of a hard dependency. - Update all existing provider test files (Modal, Deno, Daytona, Node VFS, local-shell) to import from the `/vitest` sub-export. - Add comprehensive README with quick start for both Vitest and custom runners, full configuration reference, test coverage table, and real-world examples. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-06-05 17:22:31 -04:00
yindo closed this issue 2026-06-05 17:22:31 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langchain-ai/deepagentsjs#286