Directories
¶
| Path | Synopsis |
|---|---|
|
Package actor is Chatwright's AI actor loop: the observe-plan-act-validate cycle that drives a goal.CampaignState through a conversation using a pluggable Provider.
|
Package actor is Chatwright's AI actor loop: the observe-plan-act-validate cycle that drives a goal.CampaignState through a conversation using a pluggable Provider. |
|
anthropic
Package anthropic is the first real actor/actor.Provider implementation: it calls the Anthropic Messages API to propose the next action for an in-flight campaign task.
|
Package anthropic is the first real actor/actor.Provider implementation: it calls the Anthropic Messages API to propose the next action for an in-flight campaign task. |
|
openai
Package openai is an actor.Provider that speaks the OpenAI-compatible chat-completions wire format: the same request/response shape Ollama, LM Studio, OpenRouter, vLLM and OpenAI itself expose at POST {BaseURL}/chat/completions.
|
Package openai is an actor.Provider that speaks the OpenAI-compatible chat-completions wire format: the same request/response shape Ollama, LM Studio, OpenRouter, vLLM and OpenAI itself expose at POST {BaseURL}/chat/completions. |
|
Package arena runs Chatwright's actor-model comparison matrix: the same Scenario (a goal plus a platform environment), the same budgets, across a declared set of provider/model configurations, N repeats each — see spec/ideas/actor-model-arena.md in the chatwright/chatwright standard repository for the arena this package implements (mandatory warm-up with cold-start as its own metric, right-sized context windows, a full retry breakdown, evidence over claims).
|
Package arena runs Chatwright's actor-model comparison matrix: the same Scenario (a goal plus a platform environment), the same budgets, across a declared set of provider/model configurations, N repeats each — see spec/ideas/actor-model-arena.md in the chatwright/chatwright standard repository for the arena this package implements (mandatory warm-up with cold-start as its own metric, right-sized context windows, a full retry breakdown, evidence over claims). |
|
Package branching coordinates database-only scenario checkpoints and branches.
|
Package branching coordinates database-only scenario checkpoints and branches. |
|
Package campaign assembles Chatwright's evidence-backed campaign report from a completed (or budget-stopped) actor.Loop run: a Goal, the goal.CampaignState snapshot it produced, and the actor.LoopEvents the loop recorded along the way.
|
Package campaign assembles Chatwright's evidence-backed campaign report from a completed (or budget-stopped) actor.Loop run: a Goal, the goal.CampaignState snapshot it produced, and the actor.LoopEvents the loop recorded along the way. |
|
Package cw is the scenario API of module chatwright.dev/runtime: a framework- and language-agnostic testing harness for conversational applications.
|
Package cw is the scenario API of module chatwright.dev/runtime: a framework- and language-agnostic testing harness for conversational applications. |
|
Package datastate is the smallest provider-neutral data-state assertion runtime for the data-state-assertions feature (spec/features/chatwright/deterministic-testing/data-state-assertions/README.md): run a read-only DTQL query against a named application database after a settled message/action, immediately before a checkpoint is published, or at branch/fragment completion, and retain a bounded, redacted recordset as evidence so a scenario proves what the application stored, not only what the bot said.
|
Package datastate is the smallest provider-neutral data-state assertion runtime for the data-state-assertions feature (spec/features/chatwright/deterministic-testing/data-state-assertions/README.md): run a read-only DTQL query against a named application database after a settled message/action, immediately before a checkpoint is published, or at branch/fragment completion, and retain a bounded, redacted recordset as evidence so a scenario proves what the application stored, not only what the bot said. |
|
examples
|
|
|
greetbot
Package greetbot is a minimal, real Telegram bot used to exercise Chatwright end-to-end.
|
Package greetbot is a minimal, real Telegram bot used to exercise Chatwright end-to-end. |
|
Package goal is Chatwright's goal/task/budget contract for goal-driven AI testing: the campaign's product-level intent (Goal), its trackable units of work (Task) with dependencies and prose success criteria, the limits that bound an autonomous run (Budgets), and the guarded state machine that tracks progress against them (CampaignState).
|
Package goal is Chatwright's goal/task/budget contract for goal-driven AI testing: the campaign's product-level intent (Goal), its trackable units of work (Task) with dependencies and prose success criteria, the limits that bound an autonomous run (Budgets), and the guarded state machine that tracks progress against them (CampaignState). |
|
Package observe implements the minimum slice of Chatwright's Observation Model: a platform-neutral projection of a chat's visible conversation and available actions, built from a Platform Emulator's structured journal (platform.JournalEntry) rather than from any platform's own wire types.
|
Package observe implements the minimum slice of Chatwright's Observation Model: a platform-neutral projection of a chat's visible conversation and available actions, built from a Platform Emulator's structured journal (platform.JournalEntry) rather than from any platform's own wire types. |
|
Package platform defines the neutral contracts that let a scenario be written once and executed against any chat platform.
|
Package platform defines the neutral contracts that let a scenario be written once and executed against any chat platform. |
|
Package run is Chatwright's part-composition runtime: it executes an ordered sequence of Parts — deterministic scenario fragments and ai-goal actor-loop passages — over one shared Environment (one platform.Emulator, one cast, one continuous journal), exactly the shape spec/ideas/hybrid-runs.md describes: "a run is an ordered sequence of parts ...
|
Package run is Chatwright's part-composition runtime: it executes an ordered sequence of Parts — deterministic scenario fragments and ai-goal actor-loop passages — over one shared Environment (one platform.Emulator, one cast, one continuous journal), exactly the shape spec/ideas/hybrid-runs.md describes: "a run is an ordered sequence of parts ... |
|
Package scenario is the parser, validator and run.Run mapper for Chatwright's self-contained scenario document format (https://chatwright.dev/formats/scenario-document/v1) — the format spec/features/chatwright/scenario-authoring/portable-scenario-documents/ self-contained-scenario-documents/README.md in the standard repository (chatwright/chatwright) defines.
|
Package scenario is the parser, validator and run.Run mapper for Chatwright's self-contained scenario document format (https://chatwright.dev/formats/scenario-document/v1) — the format spec/features/chatwright/scenario-authoring/portable-scenario-documents/ self-contained-scenario-documents/README.md in the standard repository (chatwright/chatwright) defines. |
|
Package telegram implements the Telegram Platform for Chatwright: an emulated Telegram Bot API server that delivers updates and captures the bot's outbound calls, normalized to Chatwright's neutral platform types.
|
Package telegram implements the Telegram Platform for Chatwright: an emulated Telegram Bot API server that delivers updates and captures the bot's outbound calls, normalized to Chatwright's neutral platform types. |
|
Package whatsapp implements the WhatsApp Platform for Chatwright: an emulated WhatsApp Cloud API (Graph) server that delivers inbound webhooks and captures the bot's outbound calls, normalized to Chatwright's neutral platform types.
|
Package whatsapp implements the WhatsApp Platform for Chatwright: an emulated WhatsApp Cloud API (Graph) server that delivers inbound webhooks and captures the bot's outbound calls, normalized to Chatwright's neutral platform types. |
Click to show internal directories.
Click to hide internal directories.