Minor Changes
-
031c0a7:
qawolf agent sendandqawolf agent getare now hand-written commands with a--followflag. With--follow, the command stays attached to the session. It prints each reply once, as it arrives. It exits when the session settles: 0 for completed, non-zero for failed or cancelled.A followed session can ask a question. In a terminal, the CLI shows the question and asks for an answer. It offers a list when the AI gives a fixed set of answers, and free text when it does not. It sends the answer to the same session and continues to follow. In a pipe, a CI job or agent mode, the CLI prints the question and the command that answers it, then exits 0.
In
--jsonand--agentmode, a follow ends with one line that holds the whole session object. This is the same objectqawolf agent getanswers with. A script can read the final status, the session id and the url from stdout.qawolf agent sendremembers the session it starts. A laterqawolf agent get --followin the same directory needs no id.--session <id>andQAWOLF_SESSION_IDname a different session.--timeoutsets how long a follow waits. The default is 30 minutes.qawolf agent send --file-paths <path...>names files the request is about, uploaded first withqawolf file requestUpload. The AI reads them from team storage instead of the message.Two flags changed name from the generated commands in 1.23.0. The message is now the first argument of
agent send, not--message.--session-idis now--sessionon both commands.--environment-idstill readsQAWOLF_ENVIRONMENT, and--workspace-idis still available for a credential that is not bound to one workspace.The QA Wolf platform reports only that a session is at work. A follow prints each reply as it arrives and shows a wait line between them. It shows more when the platform reports more.
-
15759eb:
qawolf runner launchnow says where the runner can be seen: a QA Wolf page showing its live screen, which a person can also drive with their own mouse and keyboard. A freshly launched runner has no screen yet — the page waits until the runner's first run starts one. It prints the address whether it started a runner or attached to one already running under that id, and so does a command that launched its own runner.--jsoncarries it asurl, andqawolf runner list --jsoncarries it on every runner; the table leaves it out, since an address beside a 63-character id outgrows a terminal.The page opens for anyone on the runner's team, however the runner was launched, so the address is worth handing to a colleague who asks what your runner is doing.
Patch Changes
- 5121dba:
qawolf flows pull, and the runs that pull on your behalf, now mirror team-storage assets with an organization or user API key. The pull used to stop with "Team storage requires a team API key" because such a key reaches many teams and names none. The environment being pulled names its team, so the pull now reads that team's storage. A team API key and a browser session behave as before. - 36ea00d: Flows that import
startWireGuardfrom@qawolf/testkitno longer fail withSyntaxError: The requested module '@qawolf/testkit' does not provide an export named 'startWireGuard'. The CLI now installs@qawolf/testkit1.2.1, the version that exports the helper. - a040bd1: The compiled binary runs web flows again. In 1.29.0, every
qawolf flows runfrom the binary failed withCannot find module '@napi-rs/keyring'. The worker subprocess that runs a flow loaded the keyring addon at startup, from a directory where it does not exist. The keyring now loads on first use, when a command reads or writes stored credentials, and@qawolf/flow-targetsships inside the bundle.