-
Notifications
You must be signed in to change notification settings - Fork 10
feat(agent testing): introduce Agent testing #1377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1 new issue
|
7a4233b to
c1e6432
Compare
|
Coverage Impact ⬇️ Merging this pull request will decrease total coverage on Modified Files with Diff Coverage (10)
🤖 Increase coverage with AI coding...🚦 See full report on Qlty Cloud » 🛟 Help
|
packages/_example/package.json
Outdated
| "dependencies": { | ||
| "@faker-js/faker": "^7.6.0", | ||
| "@forestadmin/agent": "1.70.1", | ||
| "@forestadmin/datasource-customizer": "1.67.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to remove
packages/_example/package.json
Outdated
| "@forestadmin/agent": "1.70.1", | ||
| "@forestadmin/datasource-customizer": "1.67.2", | ||
| "@forestadmin/datasource-dummy": "1.1.60", | ||
| "@forestadmin/forestadmin-client": "1.37.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to remove
packages/mcp-server/README.md
Outdated
|
|
||
| The MCP server will be automatically initialized and mounted on your application. | ||
|
|
||
| #### Framework Compatibility |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
to remove
package.json
Outdated
| "@babel/helpers": "^7.26.10", | ||
| "semantic-release": "^25.0.0" | ||
| "semantic-release": "^25.0.0", | ||
| "@forestadmin/datasource-toolkit": "1.50.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why dependencies are added ?
| @@ -0,0 +1,23 @@ | |||
| import { ForestServerActionFormLayoutElement } from '@forestadmin/forestadmin-client'; | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove remove-agent-client folder.
Add @forestadmin/datasource-customizer directly to prevent yarn from creating nested node_modules with different versions in CI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Force consistent versions of @forestadmin/datasource-toolkit and @forestadmin/datasource-customizer across all packages to prevent type mismatches when _example downloads from npm. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add @forestadmin/forestadmin-client to resolutions to prevent agent-testing from downloading a nested copy from npm. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add comment to yarn.lock to bust the CI cache and force fresh node_modules installation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add @forestadmin/forestadmin-client to _example to ensure the resolution forces the correct version instead of pulling 1.37.1 from npm through transitive dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Cast ForestAdminClientMock to any to avoid type mismatch when yarn creates nested node_modules with different forestadmin-client versions due to transitive dependency resolution. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
c6af75f to
c862720
Compare
- Remove remote-agent-client/ and units/ folders (now in @forestadmin/agent-client) - Move integrations/* content directly to src/ - Update imports to use @forestadmin/agent-client package - Fix test imports and filter types - Add projection support to ExportOptions in agent-client 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
| } | ||
|
|
||
| async exportCsv(stream: WriteStream, options?: ExportOptions): Promise<void> { | ||
| const projection = options?.projection ?? options?.fields; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe use only projection?
- Use fields instead of projection in ExportOptions - Update dependencies to use workspace versions (*) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Use explicit versions for internal dependencies (repo convention) - Remove __tests__/ folder with placeholder test 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
Starting fresh for this package in the main monorepo. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Reorganize README to present sandbox mode first - Add comparison table between sandbox and simple modes - Document agent configuration for sandbox mode - Keep simple mode as alternative for quick tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
The sandbox mode (createForestServerSandbox + createForestAgentClient) is now the only supported way to test agents. This provides: - Production-like testing with realistic server communication - Permission testing with proper server responses - Support for any agent (Node.js, Python, Ruby, etc.) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
…tTestClient - Rename createForestAgentClient to createAgentTestClient (clearer name) - Rename ForestAgentClient type to AgentTestClient - Add deprecated aliases for backward compatibility - Mark createTestableAgent as deprecated - Update README and examples 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
| } | ||
|
|
||
| /** @deprecated Use createAgentTestClient instead */ | ||
| export const createForestAgentClient = createAgentTestClient; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have renamed to: createAgentTestClient, it's a more user friendly name. It's also to avoid confusion with agent-client
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- @forestadmin/agent-client: 1.3.0 → 1.3.1 - @forestadmin/forestadmin-client: 1.37.3 → 1.37.4 - @forestadmin/agent: 1.70.7 → 1.70.8 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add clear value proposition in description - Rename "Setup" to "Quick Start" for better scannability - Number steps clearly (1, 2, 3) in comments - Use process.env for secrets (clearer than placeholder) - Show concrete command example for starting agent 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
# @forestadmin/agent-client [1.4.0](https://github.com/ForestAdmin/agent-nodejs/compare/@forestadmin/[email protected]...@forestadmin/[email protected]) (2026-01-20) ### Features * **agent testing:** introduce Agent testing ([#1377](#1377)) ([2ce12f2](2ce12f2)) * **mcp-server:** add associate and dissociate tools ([#1393](#1393)) ([c3fa294](c3fa294))

Definition of Done
General
Security