Skip to content

Conversation

@VincentMolinie
Copy link
Member

Definition of Done

General

  • Write an explicit title for the Pull Request, following Conventional Commits specification
  • Test manually the implemented changes
  • Validate the code quality (indentation, syntax, style, simplicity, readability)

Security

  • Consider the security impact of the changes made

@qltysh
Copy link

qltysh bot commented Dec 18, 2025

1 new issue

Tool Category Rule Count
qlty Structure Function with high complexity (count = 23): routes 1

@VincentMolinie VincentMolinie force-pushed the feat/agent-testing branch 3 times, most recently from 7a4233b to c1e6432 Compare January 6, 2026 12:58
@qltysh
Copy link

qltysh bot commented Jan 7, 2026

Qlty

Coverage Impact

⬇️ Merging this pull request will decrease total coverage on main by 0.73%.

Modified Files with Diff Coverage (10)

RatingFile% DiffUncovered Line #s
Coverage rating: A Coverage rating: A
packages/agent-client/src/index.ts100.0%
New file Coverage rating: F
packages/agent-testing/src/forest-admin-client-mock.ts58.8%52, 56, 60-61, 72...
New file Coverage rating: F
packages/agent-testing/src/forest-server-sandbox.ts4.4%21-185
New file Coverage rating: A
packages/agent-testing/src/benchmark.ts100.0%
New file Coverage rating: A
packages/agent-testing/src/testable-agent-base.ts100.0%
New file Coverage rating: A
packages/agent-testing/src/schema-converter.ts100.0%
New file Coverage rating: A
packages/agent-testing/src/schema-path-manager.ts100.0%
New file Coverage rating: D
packages/agent-testing/src/index.ts68.8%33, 50-77
New file Coverage rating: A
packages/agent-testing/src/http-requester-mock.ts100.0%
New file Coverage rating: A
packages/agent-testing/src/testable-agent.ts100.0%
Total54.1%
🤖 Increase coverage with AI coding...

In the `feat/agent-testing` branch, add test coverage for this new code:

- `packages/agent-testing/src/forest-admin-client-mock.ts` -- Lines 52, 56, 60-61, 72, 74, 77-80, 84-86, and 119
- `packages/agent-testing/src/forest-server-sandbox.ts` -- Line 21-185
- `packages/agent-testing/src/index.ts` -- Lines 33 and 50-77

🚦 See full report on Qlty Cloud »

🛟 Help
  • Diff Coverage: Coverage for added or modified lines of code (excludes deleted files). Learn more.

  • Total Coverage: Coverage for the whole repository, calculated as the sum of all File Coverage. Learn more.

  • File Coverage: Covered Lines divided by Covered Lines plus Missed Lines. (Excludes non-executable lines including blank lines and comments.)

    • Indirect Changes: Changes to File Coverage for files that were not modified in this PR. Learn more.

"dependencies": {
"@faker-js/faker": "^7.6.0",
"@forestadmin/agent": "1.70.1",
"@forestadmin/datasource-customizer": "1.67.2",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to remove

"@forestadmin/agent": "1.70.1",
"@forestadmin/datasource-customizer": "1.67.2",
"@forestadmin/datasource-dummy": "1.1.60",
"@forestadmin/forestadmin-client": "1.37.0",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to remove


The MCP server will be automatically initialized and mounted on your application.

#### Framework Compatibility
Copy link
Member

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",
Copy link
Member

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';
Copy link
Member

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.

Vincent Molinié and others added 11 commits January 13, 2026 17:21
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]>
@Scra3 Scra3 force-pushed the feat/agent-testing branch from c6af75f to c862720 Compare January 13, 2026 16:22
alban bertolini and others added 3 commits January 13, 2026 17:56
- 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;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe use only projection?

alban bertolini and others added 4 commits January 14, 2026 09:24
- 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]>
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]>
alban bertolini and others added 3 commits January 19, 2026 14:08
- 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;
Copy link
Member

@Scra3 Scra3 Jan 19, 2026

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

alban bertolini and others added 6 commits January 19, 2026 14:45
🤖 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]>
- 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]>
@Scra3 Scra3 merged commit 2ce12f2 into main Jan 20, 2026
24 of 25 checks passed
@Scra3 Scra3 deleted the feat/agent-testing branch January 20, 2026 10:56
forest-bot added a commit that referenced this pull request Jan 20, 2026
# @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))
forest-bot added a commit that referenced this pull request Jan 22, 2026
# @forestadmin/agent-testing 1.0.0 (2026-01-22)

### Bug Fixes

* **agent-testing:** force release ([#1425](#1425)) ([c8fdec4](c8fdec4))

### Features

* **agent testing:** introduce Agent testing ([#1377](#1377)) ([2ce12f2](2ce12f2))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants