* feat(web): boot past failed optional client plugins The Web client boot audit now follows Host startup strictness. An inactive entry on the global required list (module system, Session transport, renderer, application frame, Session view, and sidebar) still rejects startup and the report marks the required entries. Other inactive entries produce one console warning and the application mounts without them. The boot page no longer draws a failed entry before the audit decides. * fix(web): audit boot entries whose creation rejects and name activation errors ClientEntries.start() now logs a row whose Loader creation rejects, such as a module that exports no plugin, and leaves it inactive for the boot audit, as the Host Loader group does. The audit awaits only failed fibers to report their recorded activation error. Notes, READMEs, and the Web client subsystem page describe the browser boot audit; tests cover invalid exports, carrier presentation of optional failures, and required names absent from the boot graph. * test(web): fail test carriers and e2e on inactive client entries The product boot only warns about inactive entries outside its required list, but tests must still surface every plugin that fails. TestClient and createClientTest now require every roster entry to activate unless a case passes allowInactiveEntries. The watchConsole tripwire, the real-host smoke, and the assembled jsdom boot treat a web boot warning as a failure with no opt-out. Docs: the Web README names Session control, notes that an entry without a fiber is reported as an import failure like the Host audit's "failed to import", and the startup strictness note lists the browser tests.
description, kind
| description | kind |
|---|---|
| The test-support group map: keyless test harnesses, LLM mock and replay servers, and Loader smoke helpers for developers writing and running repository tests. | package-group |
packages/test-support
English | 中文
Summary
The test-support group gives repository tests deterministic, keyless ways to exercise the real product. It includes Loader application harnesses, session-log snapshot adapters, a replay LLM plugin, and a scriptable OpenAI-compatible fault server. Each package is support-tier infrastructure; a package moves out of this group when it gains a product contract and product consumers.
Table of Contents
Packages
| Package | Role |
|---|---|
session-snapshot |
Provides session-log snapshot support and protocol adapters for profile-driven tests |
agent-loop-testkit |
Provides the shared prerequisite services for tests that exercise the concrete AgentLoop |
tool-testkit |
Defines tool fixtures and exercises invocation or executor behavior in tests |
client-runtime |
Provides the jsdom slot test bench for browser feature specs |
remote-mock |
Provides the endpoint-named Typert Remote mock and the Connection carrier face whole-client specs install |
loader-smoke |
Boots Loader-composed applications and drives fixture turns for smoke tests |
llm-mock-server |
Provides a scriptable OpenAI-compatible fault server for recovery tests |
llm-replay |
Replays recorded model streams for keyless tests and demos |
Related documentation
- Testing policy — the keyless snapshot tier these harnesses serve and when it is required.
- Package groups — how support groups relate to the product groups.
Dev Note
Working context for maintainers — click to expand
None.