@lssm-tech/example.harness-labexample.harness-lab
Focused harness example for ContractSpec scenarios, suites, orchestration, and runtime adapters.
@lssm-tech/example.harness-labSource, release and verification context
Source snapshot bcc79fcc · Declared package version 5.0.4. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.
See where this package fits.
Follow a declared connection, inspect an import, then open the source guide when you need the detail.
Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.
@lssm-tech/example.harness-lab
Website: https://contractspec.io
Focused harness example for scenario contracts, suites, orchestration, and real runtime adapters.
What This Demonstrates
- Contract layer: canonical
harness-scenarioandharness-suiteexports. - Orchestration layer:
HarnessRunner,HarnessEvaluationRunner, and replay bundle generation. - Runtime layer:
SandboxedCodeExecutionAdapter,PlaywrightBrowserHarnessAdapter, optionalAgentBrowserHarnessAdapter,DefaultHarnessTargetResolver, andInMemoryHarnessArtifactStore. - A deterministic local browser fixture that stays offline and exercises Playwright, auth profile refs, visual diff evidence, and optional agent-browser evidence.
src/docs/contains docblocks and documentation-facing exports.
Running Locally
From examples/harness-lab:
bunx playwright install chromiumbun run buildbun run testbun run typecheck
Sandbox Provider
Pass an IsolatedCodeSandboxPort as sandbox to
runHarnessLabSandboxEvaluation({ sandbox }) or
createHarnessLabEvaluationTools({ sandbox }). Without a provider, code execution is blocked. Choose a container, process, or remote provider with isolation suitable for your workload. The tests execute only the checked-in fixture scripts in a separate process; that fixture is not a sandbox for untrusted code.
Usage
Utiliser @lssm-tech/example.harness-lab as the focused harness reference package. It pairs with @lssm-tech/example.agent-console, which remains the business-oriented proof example for harness contracts.
Architecture
src/docs/contains docblocks and documentation-facing exports.src/example.tsis the runnable example entrypoint.src/harness-lab.feature.tsdefines the feature entrypoint for docs/discovery.src/index.tsis the root public barrel and package entrypoint.src/runtime/contains the runnable sandbox and browser evaluation helpers plus the local browser fixture.src/scenarios/contains sandbox, Playwright browser, authenticated browser, visual baseline, and optional agent-browser scenario contracts.src/suite/contains the dual-mode harness suite contract.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/harness-lab.docblockis an alias of./docsand resolves through./src/docs/index.ts. - Export
./exampleresolves through./src/example.ts. - Export
./harness-lab.featureresolves through./src/harness-lab.feature.ts. - Export
./runtimeresolves through./src/runtime/index.ts. - Export
./runtime/runAgentBrowserEvaluationresolves through./src/runtime/runAgentBrowserEvaluation.ts. - Export
./runtime/runAuthenticatedBrowserEvaluationresolves through./src/runtime/runAuthenticatedBrowserEvaluation.ts. - Export
./runtime/runBrowserEvaluationresolves through./src/runtime/runBrowserEvaluation.ts. - Export
./runtime/runSandboxEvaluationresolves through./src/runtime/runSandboxEvaluation.ts. - Export
./runtime/runVisualEvaluationresolves through./src/runtime/runVisualEvaluation.ts. - Export
./scenariosresolves through./src/scenarios/index.ts. - Export
./scenarios/harnessLabAgentBrowser.scenarioresolves through./src/scenarios/harnessLabAgentBrowser.scenario.ts. - Export
./scenarios/harnessLabAuthenticatedBrowser.scenarioresolves through./src/scenarios/harnessLabAuthenticatedBrowser.scenario.ts. - Export
./scenarios/harnessLabBrowser.scenarioresolves through./src/scenarios/harnessLabBrowser.scenario.ts. - Export
./scenarios/harnessLabSandbox.scenarioresolves through./src/scenarios/harnessLabSandbox.scenario.ts. - Export
./scenarios/harnessLabVisual.scenarioresolves through./src/scenarios/harnessLabVisual.scenario.ts. - Export
./suiteresolves through./src/suite/index.ts. - The package publishes 21 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— contractspec-bun-build buildbun run test— bun testbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsgo --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Notes
- Browser tests use a real local Playwright run against an in-package HTTP fixture. Install Chromium locally before running
bun run test. - Agent-browser tests are optional and skip automatically when the
agent-browserCLI is unavailable. - Authenticated scenarios use named auth profile refs; storage state is created by the test harness and credentials are not embedded in scenario specs.
Declared capabilities.
This manifest does not declare a capability catalogue. Use the guide, import map and source to assess the package.
Imports and export paths.
21 entriesThese are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.
21 imports
@lssm-tech/example.harness-lab/docs@lssm-tech/example.harness-lab/docs/harness-lab.docblock@lssm-tech/example.harness-lab/example@lssm-tech/example.harness-lab/harness-lab.feature@lssm-tech/example.harness-lab/runtime@lssm-tech/example.harness-lab/runtime/browserFixtureServer@lssm-tech/example.harness-lab/runtime/createHarnessLabEvaluationTools@lssm-tech/example.harness-lab/runtime/runAgentBrowserEvaluation@lssm-tech/example.harness-lab/runtime/runAuthenticatedBrowserEvaluation@lssm-tech/example.harness-lab/runtime/runBrowserEvaluation@lssm-tech/example.harness-lab/runtime/runSandboxEvaluation@lssm-tech/example.harness-lab/runtime/runVisualEvaluation@lssm-tech/example.harness-lab/scenarios@lssm-tech/example.harness-lab/scenarios/harnessLabAgentBrowser.scenario@lssm-tech/example.harness-lab/scenarios/harnessLabAuthenticatedBrowser.scenario@lssm-tech/example.harness-lab/scenarios/harnessLabBrowser.scenario@lssm-tech/example.harness-lab/scenarios/harnessLabSandbox.scenario@lssm-tech/example.harness-lab/scenarios/harnessLabVisual.scenario@lssm-tech/example.harness-lab/suite@lssm-tech/example.harness-lab/suite/harnessLabDualMode.suiteNo export paths match this search.
Dependencies and related packages.
Runtime dependencies 3
- @lssm-tech/integration.harness-runtime
- workspace:^
- @lssm-tech/lib.contracts-spec
- workspace:^
- @lssm-tech/lib.harness
- workspace:^
Peer dependencies 1
- playwright
- ^1.63.0
Development dependencies 4
- @lssm-tech/tool.bun
- workspace:*
- @lssm-tech/tool.typescript
- workspace:*
- playwright
- ^1.63.0
- typescript
- catalog:
Package scripts.
Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.
bun publish --tolerate-republish --ignore-scripts --verbosebun publish:pkg --tag canarycontractspec-bun-build buildcontractspec-bun-build transpilecontractspec-bun-build typescontractspec-bun-build devrimraf dist .turbobun lint:fixnode ../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../scripts/biome.cjs check --write .node ../../scripts/biome.cjs check .bun testcontractspec-bun-build prebuildtsgo --noEmit