@agentty-xyz/testty 0.10.4 → 0.10.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,35 @@ this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [v0.10.5] - 2026-06-20
11
+
12
+ ### Added
13
+
14
+ - testty: `testty run <scenario.yaml>` executes a declarative YAML scenario against any
15
+ binary, so non-Rust projects can drive TUI end-to-end tests without a Rust harness.
16
+ The process exit code is the pass/fail signal. See
17
+ `crates/testty/docs/scenarios-yaml.md`.
18
+ - testty: new `testty::spec` module (`ScenarioSpec`, `StepSpec`, `ExpectSpec`,
19
+ `SpecError`, `LoweredScenario`) deserializes a scenario from YAML and lowers it onto
20
+ the runtime engine shared with the Rust authoring API. `StepSpec`, `ExpectSpec`, and
21
+ `SpecError` are `#[non_exhaustive]`.
22
+
23
+ ### Changed
24
+
25
+ - agentty: remove deprecated direct Gemini CLI/backend support; Google-backed model
26
+ selection now goes through Antigravity.
27
+ - Bump workspace crate metadata and lockfile package versions to `0.10.5`.
28
+
29
+ ### Contributors
30
+
31
+ - @andagaev
32
+ - @dependabot
33
+ - @minev-dev
34
+
35
+ ### Removed
36
+
37
+ - agentty: remove Claude Fable 5 from selectable Claude models.
38
+
10
39
  ## [v0.10.4] - 2026-06-13
11
40
 
12
41
  ### Added
package/README.md CHANGED
@@ -42,9 +42,10 @@ testty update
42
42
  - `proof gallery` — build a gallery from a directory of proof reports.
43
43
  - `update` — update stored scenario snapshots to match current output.
44
44
 
45
- The command-line binary is currently a stub: the command tree is in place, but every
46
- verb prints a "not yet implemented" notice and exits non-zero until the behavior is
47
- wired up.
45
+ `run` executes a YAML scenario against a binary and reports pass/fail through the exit
46
+ code (see [YAML scenarios](docs/scenarios-yaml.md)). The remaining verbs (`schema`,
47
+ `proof open`, `proof gallery`, `update`) are still stubs: they print a "not yet
48
+ implemented" notice and exit non-zero until the behavior is wired up.
48
49
 
49
50
  ## Capabilities
50
51
 
@@ -137,10 +138,36 @@ report.save(&HtmlBackend, Path::new("proof.html")).unwrap();
137
138
  report.save(&JunitBackend, Path::new("proof.xml")).unwrap();
138
139
  ```
139
140
 
141
+ #### Run a scenario from YAML — no Rust required
142
+
143
+ Installing the crate (`cargo install testty`) provides the `testty` binary, so projects
144
+ in any language can drive TUI scenarios with a YAML file:
145
+
146
+ ```yaml
147
+ # scenario.yaml
148
+ session:
149
+ bin: ./myapp
150
+ size: [80, 24]
151
+ steps:
152
+ - wait_for_stable_frame: { stable_ms: 500, timeout_ms: 5000 }
153
+ - press_key: Tab
154
+ expect:
155
+ - selected_tab: Sessions
156
+ ```
157
+
158
+ ```sh
159
+ testty run scenario.yaml
160
+ ```
161
+
162
+ The exit code is the pass/fail signal (`0` = passed), so it drops straight into any CI.
163
+ See [YAML scenarios](docs/scenarios-yaml.md).
164
+
140
165
  ## Resources
141
166
 
142
167
  - [Getting started](docs/getting-started.md) — install, write your first test, run it
143
168
  - [Scenarios](docs/scenarios.md) — describe a sequence of actions and waits
169
+ - [YAML scenarios](docs/scenarios-yaml.md) — run scenarios from a file with
170
+ `testty run`, no Rust required
144
171
  - [Assertions](docs/assertions.md) — check text, colors, and highlights on screen
145
172
  - [Snapshots](docs/snapshots.md) — compare a test against a saved baseline
146
173
  - [Proof pipeline](docs/proof-pipeline.md) — save what a test saw as text, image, GIF,
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "Apache-2.0",
25
25
  "name": "@agentty-xyz/testty",
26
- "version": "0.10.4"
26
+ "version": "0.10.5"
27
27
  },
28
28
  "node_modules/@isaacs/cliui": {
29
29
  "engines": {
@@ -542,5 +542,5 @@
542
542
  }
543
543
  },
544
544
  "requires": true,
545
- "version": "0.10.4"
545
+ "version": "0.10.5"
546
546
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/agentty-xyz/agentty/releases/download/v0.10.4"
3
+ "https://github.com/agentty-xyz/agentty/releases/download/v0.10.5"
4
4
  ],
5
5
  "bin": {
6
6
  "testty": "run-testty.js"
@@ -77,7 +77,7 @@
77
77
  "zipExt": ".tar.xz"
78
78
  }
79
79
  },
80
- "version": "0.10.4",
80
+ "version": "0.10.5",
81
81
  "volta": {
82
82
  "node": "18.14.1",
83
83
  "npm": "9.5.0"