@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 +29 -0
- package/README.md +30 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -2
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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,
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"hasInstallScript": true,
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"name": "@agentty-xyz/testty",
|
|
26
|
-
"version": "0.10.
|
|
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.
|
|
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.
|
|
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.
|
|
80
|
+
"version": "0.10.5",
|
|
81
81
|
"volta": {
|
|
82
82
|
"node": "18.14.1",
|
|
83
83
|
"npm": "9.5.0"
|