Skip to content

Releases: askui/typescript-sdk

v0.31.0

12 Dec 17:42

Choose a tag to compare

Release Notes

0.31.0 (2025-12-12)

Features

  • Inference API Cache: Add inference API cache for improved performance. The cache stores successful control commands to reduce redundant API calls and speed up test execution. Cache entries are stored on disk and can be configured with validation types. Only successful commands (code OK) are cached, and Expect commands are automatically skipped from caching.

    To enable caching, configure it when initializing the UiControlClient:

    import { UiControlClient } from 'askui';
    
    const aui = await UiControlClient.build({
      cacheConfig: {
        cacheFilePath: './askui-cache.json',
        validationType: 'PixelPerfect'
      }
    });

    You can also skip caching for specific commands using the skipCache option:

    await aui.exec().click().button().withText('Submit').exec({ skipCache: true });
  • Configurable Retry Strategy: Add configurable retry strategy per execution. You can now customize retry behavior for individual commands or set a default retry strategy for all commands. Available retry strategies include:

    • ExponentialRetryStrategy: Exponential backoff (default: baseDelayMs=1000, retryCount=3)
    • LinearRetryStrategy: Linear backoff (default: baseDelayMs=1000, retryCount=3)
    • FixedRetryStrategy: Constant delay between retries (default: baseDelayMs=1000, retryCount=3)
    • NoRetryStrategy: No retries

    Example usage:

    import { UiControlClient, ExponentialRetryStrategy } from 'askui';
    
    const aui = await UiControlClient.build({
      retryStrategy: new ExponentialRetryStrategy(2000, 5) // 2s base delay, 5 retries
    });
    
    // Or override for a specific command:
    await aui.exec().click().button().withText('Submit').exec({
      retryStrategy: new FixedRetryStrategy(500, 10)
    });

Bug Fixes

  • refactor(waituntil): Fix waituntil function.

v0.30.0

20 Nov 10:31

Choose a tag to compare

0.30.0 (2025-11-20)

Features

  • add Android swipe, drag-and-drop, and tap tools (3b99081)
    • Add AndroidSwipeTool, AndroidDragAndDropTool, AndroidTapTool, and AndroidShellCommandTool
    • Refactor agent configuration to unified configureAgent() with runtime detection
    • Add runtime-aware tool selection for Android and desktop platforms

BREAKING CHANGE:

  • configureAsDesktopAgent() and configureAsAndroidAgent() methods have been removed and replaced with a unified configureAgent() method. The new method automatically detects the runtime (Android or desktop) and configures the appropriate tools. Users who were calling these methods directly need to update their code and remove them.

v0.29.0

17 Oct 07:40

Choose a tag to compare

0.29.0 (2025-10-17)

⚠ BREAKING CHANGES

  • @askui/jest-allure-circus: Migrate the TestEnvironment from @askui/jest-allure-circus to allure-jest/node in jest.config.ts

Install allure-jest@3.3.0 and allure-js-commons@3.3.0 environment:

npm install --save-dev allure-jest@3.3.0 allure-js-commons@3.3.0 @askui/askui-reporters
npm uninstall @askui/jest-allure-circus

And replace in jest.config.ts the the TestEnvironment from @askui/jest-allure-circus to allure-jest/node.

import type { Config } from "@jest/types";

const config: Config.InitialOptions = {
  preset: "ts-jest",
  setupFilesAfterEnv: ["./helper/askui-helper.ts"], // former `./helper/jest.setup.ts`
  sandboxInjectedGlobals: ["Math"],
  testEnvironment: "allure-jest/node",
};

// eslint-disable-next-line import/no-default-export
export default config;

Features

  • @askui/jest-allure-circus: replace @askui/jest-allure-circus with allure-jest/node (65b8ea7)

v0.28.1

08 Sep 09:20

Choose a tag to compare

0.28.1 (2025-09-08)

Bug Fixes

  • include waitTime during retries (15558f3)

v0.28.0

13 Aug 13:06

Choose a tag to compare

0.28.0 (2025-08-13)

Features

  • add utility function to obtain controller server startup arguments (3a0ce34)

v0.27.0

07 Jul 08:05

Choose a tag to compare

0.27.0 (2025-07-07)

Features

  • add AiElement Tool to the act agent (0a2b3de)
  • add print tool to agent toolset (7bdea66)
  • add support for holding down and releasing keyboard keys (d35a46b)

Bug Fixes

  • fix example project creation by pinning specific dependency versions (850b454)

v0.26.0

10 Jun 11:53

Choose a tag to compare

0.26.0 (2025-06-10)

Features

  • add key press and release to agent (1b7fc29)
  • add support for press-and-hold actions and image-based goals (2d5ed18)

Bug Fixes

  • scaling issues in askui agent (aef5632)

v0.25.1

28 May 11:40

Choose a tag to compare

0.25.1 (2025-05-28)

v0.25.0

28 May 10:55

Choose a tag to compare

0.25.0 (2025-05-28)

Features

v0.24.1

20 May 09:50

Choose a tag to compare

0.24.1 (2025-05-20)

Vulnerability Fixes

  • update cross-spawn dependency for vulnerability fixes (b67526e)