Skip to content

Atomic

Low-level primitives: file I/O, git, HTTP, shell, SSH, process management, and testing.

44 modules

ModuleDescription
Filtruj tabliceFiltruj elementy tablicy wedlug warunku
Sortuj tablicePosortuj elementy tablicy rosnaco lub malejaco
Unikalne w tablicyUsun zduplikowane wartosci z tablicy
OAuth2 Token ExchangeExchange authorization code, refresh token, or client credentials for an access token
Wyszukiwanie DNSWyszukiwanie rekordów domeny DNS
Różnica TekstowaGeneruj różnicę między dwoma ciągami tekstowymi
Edytuj PlikZamień tekst w pliku używając dokładnego dopasowania ciągu
Sprawdz istnienie plikuSprawdz, czy plik lub katalog istnieje
Odczytaj plikOdczytaj zawartosc z pliku
Zapisz plikZapisz zawartosc do pliku
Git CloneKlonuj repozytorium git
Git CommitUtwórz commit git
Git DiffPobierz różnice git
HTTP PaginateAutomatically iterate through paginated API endpoints and collect all results
Zadanie HTTPWyslij zadanie HTTP i odbierz odpowiedz
Asercja odpowiedzi HTTPAsercja i walidacja wlasciwosci odpowiedzi HTTP
HTTP SessionSend a sequence of HTTP requests with persistent cookies (login → action → logout)
Webhook WaitStart a temporary server and wait for an incoming webhook callback
Czat LLMInterakcja z API LLM dla inteligentnych operacji
Naprawa kodu AIAutomatycznie generuj poprawki kodu na podstawie problemow
ObliczWykonaj podstawowe operacje matematyczne
Kontrola stanu HTTPKontrola stanu HTTP / monitorowanie dostępności
Sprawdz portSprawdz, czy port(y) sieciowe sa otwarte lub zamkniete
Czekaj na portCzekaj az port sieciowy stanie sie dostepny
Lista procesowWylistuj wszystkie dzialajace procesy w tle
Uruchom proces w tleUruchom proces w tle (serwer, usluga, itp.)
Zatrzymaj procesZatrzymaj dzialajacy proces w tle
Wykonaj polecenie powlokiWykonaj polecenie powloki i przechwyc wyjscie
SSH WykonajWykonaj polecenie na zdalnym serwerze przez SSH
SFTP PobierzPobierz plik z zdalnego serwera przez SFTP
SFTP PrześlijPrześlij plik na zdalny serwer przez SFTP
Uruchom kroki E2EWykonaj kroki testow end-to-end sekwencyjnie
Bramka jakosciEwaluuj metryki jakosci wzgledem zdefiniowanych progow
Uruchom testy HTTPWykonaj zestaw testow HTTP API
Uruchom linterUruchom sprawdzanie lintera na kodzie zrodlowym
Wygeneruj raportWygeneruj raport z wykonania testow
Uruchom scenariuszWykonaj test oparty na scenariuszu (styl BDD)
Skan bezpieczenstwaSkanuj w poszukiwaniu luk bezpieczenstwa
Uruchom zestaw testowWykonaj kolekcje testow
Uruchom testy jednostkoweWykonaj testy jednostkowe
Porownanie wizualnePorownaj wyjscia wizualne pod katem roznic
Ewaluuj jakosc UIKompleksowa ewaluacja jakosci UI z wielowymiarowym ocenianiem
Analizuj obraz za pomocą AIAnalizuj obrazy za pomocą OpenAI Vision API (GPT-4V)
Porównaj obrazyPorównaj dwa obrazy i zidentyfikuj różnice wizualne

Modules

Filtruj tablice

array.filter

Filtruj elementy tablicy wedlug warunku

Parameters:

NameTypeRequiredDefaultDescription
arrayarrayYes-Array of items to process. Can be numbers, strings, or objects.
conditionselect (eq, ne, gt, gte, lt, lte, contains, startswith, endswith, regex, in, notin, exists, empty, notempty)Yes-How to compare each item against the value
valuestringYes-Value to compare each item against (leave empty for exists/empty checks)

Output:

FieldTypeDescription
filteredarrayPrzefiltrowana tablica
countnumberPrzefiltrowana tablica

Example: Filter numbers greater than 5

yaml
array: [1, 5, 10, 15, 3]
condition: gt
value: 5

Sortuj tablice

array.sort

Posortuj elementy tablicy rosnaco lub malejaco

Parameters:

NameTypeRequiredDefaultDescription
arrayarrayYes-Array of items to process. Can be numbers, strings, or objects.
orderselect (asc, desc)NoascDirection to sort items

Output:

FieldTypeDescription
sortedarrayPosortowana tablica
countnumberPosortowana tablica

Example: Sort numbers ascending

yaml
array: [5, 2, 8, 1, 9]
order: asc

Unikalne w tablicy

array.unique

Usun zduplikowane wartosci z tablicy

Parameters:

NameTypeRequiredDefaultDescription
arrayarrayYes-Array of items to process. Can be numbers, strings, or objects.
preserve_orderbooleanNoTrueKeep first occurrence order

Output:

FieldTypeDescription
uniquearrayTablica z unikalnymi wartosciami
countnumberTablica z unikalnymi wartosciami
duplicates_removednumberTablica z unikalnymi wartosciami

Example: Remove duplicates

yaml
array: [1, 2, 2, 3, 4, 3, 5]
preserve_order: true

OAuth2 Token Exchange

auth.oauth2

Exchange authorization code, refresh token, or client credentials for an access token

Parameters:

NameTypeRequiredDefaultDescription
token_urlstringYes-OAuth2 token endpoint URL
grant_typestringNoauthorization_codeOAuth2 grant type
client_idstringYes-OAuth2 application client ID
client_secretstringNo-OAuth2 application client secret
codestringNo-Authorization code received from the OAuth2 authorization flow
redirect_uristringNo-Redirect URI used in the authorization request (must match exactly)
refresh_tokenstringNo-Refresh token for obtaining a new access token
scopestringNo-Space-separated list of OAuth2 scopes
code_verifierstringNo-PKCE code verifier for public clients
client_auth_methodstringNobodyHow to send client credentials to the token endpoint
extra_paramsobjectNo{}Additional parameters to include in the token request
timeoutnumberNo15Maximum time to wait in seconds

Output:

FieldTypeDescription
okbooleanWhether token exchange was successful
access_tokenstringThe access token for API requests
token_typestringToken type (usually "Bearer")
expires_innumberToken lifetime in seconds
refresh_tokenstringRefresh token (if provided by the OAuth2 server)
scopestringGranted scopes
rawobjectFull raw response from the token endpoint
duration_msnumberRequest duration in milliseconds

Example: Exchange authorization code (Google)

yaml
token_url: https://oauth2.googleapis.com/token
grant_type: authorization_code
client_id: ${env.GOOGLE_CLIENT_ID}
client_secret: ${env.GOOGLE_CLIENT_SECRET}
code: 4/0AX4XfWh...
redirect_uri: https://yourapp.com/callback

Example: Refresh an expired token

yaml
token_url: https://oauth2.googleapis.com/token
grant_type: refresh_token
client_id: ${env.GOOGLE_CLIENT_ID}
client_secret: ${env.GOOGLE_CLIENT_SECRET}
refresh_token: ${env.REFRESH_TOKEN}

Example: Client credentials (machine-to-machine)

yaml
token_url: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
grant_type: client_credentials
client_id: ${env.AZURE_CLIENT_ID}
client_secret: ${env.AZURE_CLIENT_SECRET}
scope: https://graph.microsoft.com/.default

Example: GitHub OAuth (code exchange)

yaml
token_url: https://github.com/login/oauth/access_token
grant_type: authorization_code
client_id: ${env.GITHUB_CLIENT_ID}
client_secret: ${env.GITHUB_CLIENT_SECRET}
code: abc123...

Wyszukiwanie DNS

dns.lookup

Wyszukiwanie rekordów domeny DNS

Parameters:

NameTypeRequiredDefaultDescription
domainstringYes-Nazwa domeny do wyszukania
record_typeselect (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV)NoATyp rekordu DNS do zapytania
timeoutnumberNo10Limit czasu zapytania w sekundach

Output:

FieldTypeDescription
okbooleanWhether lookup succeeded
dataobject

Example: A record lookup

yaml
domain: example.com
record_type: A

Example: MX record lookup

yaml
domain: example.com
record_type: MX

Różnica Tekstowa

file.diff

Generuj różnicę między dwoma ciągami tekstowymi

Parameters:

NameTypeRequiredDefaultDescription
originalstringYes-Oryginalny tekst
modifiedstringYes-Zmodyfikowany tekst
context_linesnumberNo3Liczba linii kontekstu wokół zmian
filenamestringNofileNazwa pliku do użycia w nagłówku różnicy

Output:

FieldTypeDescription
diffstringZunifikowany wynik różnicy
changedbooleanCzy są jakieś zmiany
additionsnumberLiczba dodanych linii
deletionsnumberLiczba usuniętych linii

Example: Diff two strings

yaml
original: hello
world
modified: hello
world!
filename: test.txt

Edytuj Plik

file.edit

Zamień tekst w pliku używając dokładnego dopasowania ciągu

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Ścieżka do pliku do edycji
old_stringstringYes-Tekst do znalezienia i zamiany
new_stringstringYes-Tekst zamienny
replace_allbooleanNoFalseZamień wszystkie wystąpienia zamiast tylko pierwszego
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Kodowanie pliku

Output:

FieldTypeDescription
pathstringŚcieżka edytowanego pliku
replacementsnumberLiczba dokonanych zamian
diffstringRóżnica pokazująca, co się zmieniło

Example: Replace string in file

yaml
path: /tmp/example.py
old_string: def hello():
new_string: def hello_world():

Sprawdz istnienie pliku

file.exists

Sprawdz, czy plik lub katalog istnieje

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file

Output:

FieldTypeDescription
existsbooleanCzy sciezka istnieje
is_filebooleanCzy sciezka istnieje
is_directorybooleanCzy sciezka istnieje

Example: Check file exists

yaml
path: /tmp/data.txt

Odczytaj plik

file.read

Odczytaj zawartosc z pliku

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Character encoding for the file

Output:

FieldTypeDescription
contentstringZawartosc pliku
sizenumberZawartosc pliku

Example: Read text file

yaml
path: /tmp/data.txt
encoding: utf-8

Zapisz plik

file.write

Zapisz zawartosc do pliku

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file
contentstringYes-Text content to write to the file
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Character encoding for the file
modeselect (overwrite, append)NooverwriteHow to write content to the file

Output:

FieldTypeDescription
pathstringSciezka pliku
bytes_writtennumberSciezka pliku

Example: Write text file

yaml
path: /tmp/output.txt
content: Hello World
mode: overwrite

Git Clone

git.clone

Klonuj repozytorium git

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL repozytorium Git (HTTPS lub SSH)
destinationstringYes-Lokalna ścieżka do klonowania
branchstringNo-Gałąź do sprawdzenia po klonowaniu
depthnumberNo-Płytka głębokość klonowania (pomiń dla pełnego klonowania)
tokenstringNo-Osobisty token dostępu do prywatnych repozytoriów

Output:

FieldTypeDescription
okbooleanWhether clone succeeded
dataobject

Example: Clone public repository

yaml
url: https://github.com/user/repo.git
destination: /tmp/repo

Example: Shallow clone specific branch

yaml
url: https://github.com/user/repo.git
destination: /tmp/repo
branch: develop
depth: 1

Git Commit

git.commit

Utwórz commit git

Parameters:

NameTypeRequiredDefaultDescription
repo_pathstringYes-Ścieżka do repozytorium git
messagestringYes-Wiadomość commitu
add_allbooleanNoFalseZatwierdź wszystkie zmiany przed commitowaniem (git add -A)
filesarrayNo-Konkretne pliki do zatwierdzenia przed commitowaniem
author_namestringNo-Zastąp nazwę autora commitu
author_emailstringNo-Zastąp email autora commitu

Output:

FieldTypeDescription
okbooleanWhether commit succeeded
dataobject

Example: Commit all changes

yaml
repo_path: /home/user/project
message: feat: add user authentication
add_all: true

Example: Commit specific files

yaml
repo_path: /home/user/project
message: fix: correct typo in readme
files: ["README.md"]

Git Diff

git.diff

Pobierz różnice git

Parameters:

NameTypeRequiredDefaultDescription
repo_pathstringYes-Ścieżka do repozytorium git
ref1stringNoHEADPierwsza referencja (commit, gałąź, tag)
ref2stringNo-Druga referencja do porównania
stagedbooleanNoFalsePokaż tylko zatwierdzone zmiany (--cached)
stat_onlybooleanNoFalsePokaż tylko statystyki plików (--stat)

Output:

FieldTypeDescription
okbooleanWhether diff succeeded
dataobject

Example: Show unstaged changes

yaml
repo_path: /home/user/project

Example: Compare branches

yaml
repo_path: /home/user/project
ref1: main
ref2: feature/login

Example: Show staged changes stats

yaml
repo_path: /home/user/project
staged: true
stat_only: true

HTTP Paginate

http.paginate

Automatically iterate through paginated API endpoints and collect all results

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to navigate to
methodselect (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS)NoGETHTTP request method
headersobjectNo{}HTTP request headers as key-value pairs
authobjectNo-Authentication credentials for the HTTP request
strategystringNooffsetHow the API implements pagination
data_pathstringNo-Dot-notation path to the array of items in the response (e.g. "data", "results", "items")
offset_paramstringNooffsetQuery parameter name for offset
limit_paramstringNolimitQuery parameter name for page size
page_sizenumberNo100Number of items per page
page_paramstringNopageQuery parameter name for page number
start_pagenumberNo1First page number (usually 0 or 1)
cursor_paramstringNocursorQuery parameter name for cursor token
cursor_pathstringNo-Dot-notation path to the next cursor in the response (e.g. "meta.next_cursor", "pagination.next")
max_pagesnumberNo50Maximum number of pages to fetch (safety limit)
delay_msnumberNo0Milliseconds to wait between page requests (rate limiting)
timeoutnumberNo30Maximum time to wait in seconds
verify_sslbooleanNoTrueVerify SSL certificates

Output:

FieldTypeDescription
okbooleanWhether all pages were fetched successfully
itemsarrayAll collected items across all pages
total_itemsnumberTotal number of items collected
pages_fetchednumberNumber of pages fetched
duration_msnumberTotal duration in milliseconds

Example: Offset pagination (REST API)

yaml
url: https://api.example.com/users
strategy: offset
data_path: data
page_size: 100

Example: Page number pagination

yaml
url: https://api.example.com/products
strategy: page
data_path: results
page_param: page
page_size: 50
start_page: 1

Example: Cursor pagination (Slack, Notion)

yaml
url: https://api.notion.com/v1/databases/{db_id}/query
method: POST
strategy: cursor
data_path: results
cursor_path: next_cursor
cursor_param: start_cursor
auth: {"type": "bearer", "token": "${env.NOTION_TOKEN}"}

Example: Link header pagination (GitHub)

yaml
url: https://api.github.com/repos/octocat/hello-world/issues
strategy: link_header
page_size: 100
auth: {"type": "bearer", "token": "${env.GITHUB_TOKEN}"}

Zadanie HTTP

http.request

Wyslij zadanie HTTP i odbierz odpowiedz

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL to navigate to
methodselect (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS)NoGETHTTP request method
headersobjectNo{}HTTP request headers as key-value pairs
bodyanyNo-HTTP request body content (JSON, text, or form data)
queryobjectNo{}URL query string parameters as key-value pairs
content_typeselect (application/json, application/x-www-form-urlencoded, multipart/form-data, text/plain, text/html, application/xml)Noapplication/jsonContent type of the request body
authobjectNo-Authentication credentials for the HTTP request
timeoutnumberNo30Maximum time to wait in seconds
follow_redirectsbooleanNoTrueAutomatically follow HTTP redirects
verify_sslbooleanNoTrueVerify SSL certificates
response_typeselect (auto, json, text, binary)NoautoHow to parse the response body
retry_countnumberNo0Number of retries on failure or 429/503 status
retry_backoffstringNoexponentialBackoff strategy between retries
retry_delaynumberNo1Initial delay between retries in seconds

Output:

FieldTypeDescription
okbooleanCzy zadanie sie powiodlo (status 2xx)
statusnumberCzy zadanie sie powiodlo (status 2xx)
status_textstringCzy zadanie sie powiodlo (status 2xx)
headersobjectKod statusu HTTP
bodyanyTekst statusu HTTP
urlstringNaglowki odpowiedzi
duration_msnumberTresc odpowiedzi (sparsowany JSON lub tekst)
content_typestringKoncowy URL (po przekierowaniach)
content_lengthnumberContent-Type odpowiedzi

Example: Simple GET request

yaml
url: https://api.example.com/users
method: GET

Example: POST with JSON body

yaml
url: https://api.example.com/users
method: POST
body: {"name": "John", "email": "john@example.com"}

Example: Request with Bearer auth

yaml
url: https://api.example.com/protected
method: GET
auth: {"type": "bearer", "token": "${env.API_TOKEN}"}

Example: Request with query params

yaml
url: https://api.example.com/search
method: GET
query: {"q": "flyto", "limit": 10}

Asercja odpowiedzi HTTP

http.response_assert

Asercja i walidacja wlasciwosci odpowiedzi HTTP

Parameters:

NameTypeRequiredDefaultDescription
responseobjectYes-HTTP response object from http.request
statusanyNo-Expected status code (number, array of numbers, or range string "200-299")
body_containsanyNo-String or array of strings that body should contain
body_not_containsanyNo-String or array of strings that body should NOT contain
body_matchesstringYes-Regular expression pattern
json_pathobjectNo-Object mapping JSON paths to expected values (e.g., {"data.id": 123})
json_path_existsarrayNo-Array of JSON paths that should exist
header_containsobjectNo-Object mapping header names to expected values
content_typeselect (application/json, application/x-www-form-urlencoded, multipart/form-data, text/plain, text/html, application/xml)No-Content type of the request body
max_duration_msnumberNo-Maximum allowed response time in milliseconds
schemaobjectNo-JSON Schema to validate response body against
fail_fastbooleanNoFalseStop on first assertion failure

Output:

FieldTypeDescription
okbooleanCzy wszystkie asercje przeszly
passednumberCzy wszystkie asercje przeszly
failednumberCzy wszystkie asercje przeszly
totalnumberLiczba udanych asercji
assertionsarrayLiczba nieudanych asercji
errorsarraySzczegolowe wyniki asercji

Example: Assert status 200

yaml
response: ${http_request.result}
status: 200

Example: Assert JSON structure

yaml
response: ${http_request.result}
status: 200
json_path: {"data.id": "${expected_id}", "data.name": "John"}
json_path_exists: ["data.created_at", "data.email"]

Example: Assert API response

yaml
response: ${api_result}
status: [200, 201]
content_type: application/json
max_duration_ms: 1000
json_path: {"success": true}

HTTP Session

http.session

Send a sequence of HTTP requests with persistent cookies (login → action → logout)

Parameters:

NameTypeRequiredDefaultDescription
requestsarrayYes-Ordered list of HTTP requests to execute with shared cookies
authobjectNo-Authentication applied to all requests in the session
stop_on_errorbooleanNoTrueStop executing remaining requests if one fails (non-2xx)
timeoutnumberNo30Maximum time per individual request
verify_sslbooleanNoTrueVerify SSL certificates

Output:

FieldTypeDescription
okbooleanWhether all requests succeeded
resultsarrayResults from each request in order
cookiesobjectFinal session cookies as key-value pairs
duration_msnumberTotal duration in milliseconds

Example: Login and fetch data

yaml
requests: [{"label": "Login", "url": "https://example.com/api/login", "method": "POST", "body": {"username": "${env.USER}", "password": "${env.PASS}"}}, {"label": "Get Profile", "url": "https://example.com/api/profile", "method": "GET"}]
stop_on_error: true

Example: CSRF token flow

yaml
requests: [{"label": "Get CSRF Token", "url": "https://example.com/csrf-token", "method": "GET"}, {"label": "Submit Form", "url": "https://example.com/api/submit", "method": "POST", "body": {"data": "value"}}]

Webhook Wait

http.webhook_wait

Start a temporary server and wait for an incoming webhook callback

Parameters:

NameTypeRequiredDefaultDescription
pathstringNo/webhookURL path to listen on (e.g. /webhook, /callback)
portnumberNo0Port to listen on (0 = auto-assign)
timeoutnumberNo300Maximum time to wait for the webhook callback
use_ngrokbooleanNoFalseCreate an ngrok tunnel for public access (requires pyngrok)
ngrok_tokenstringNo-ngrok authentication token (free at ngrok.com)
expected_methodstringNoPOSTOnly accept this HTTP method (empty = accept any)
response_statusnumberNo200HTTP status code to respond with when webhook is received
response_bodystringNo{"ok": true}Response body to send back to the webhook caller

Output:

FieldTypeDescription
okbooleanWhether webhook was received before timeout
webhook_urlstringThe URL to send webhooks to (public if ngrok enabled)
methodstringHTTP method of the received webhook
headersobjectHeaders from the received webhook
bodyanyBody from the received webhook (parsed JSON or raw text)
queryobjectQuery parameters from the received webhook
duration_msnumberTime waited for the webhook in milliseconds

Example: Wait for Stripe webhook (local)

yaml
path: /webhook/stripe
port: 8765
timeout: 120
use_ngrok: false

Example: Wait for webhook with ngrok tunnel

yaml
path: /webhook
timeout: 300
use_ngrok: true
ngrok_token: ${env.NGROK_AUTH_TOKEN}

Czat LLM

llm.chat

Interakcja z API LLM dla inteligentnych operacji

Parameters:

NameTypeRequiredDefaultDescription
promptstringYes-The prompt or question to send to the AI model
system_promptstringNo-System instructions to set AI behavior and context
contextobjectNo-Additional context data to include
messagesarrayNo-Previous messages for multi-turn conversation
providerselect (openai, anthropic, ollama)NoopenaiAI model provider
modelstringNogpt-4oSpecific model to use
temperaturenumberNo0.7Creativity level (0=deterministic, 1=creative)
max_tokensnumberNo2000Maximum tokens in response
response_formatselect (text, json, code, markdown)NotextExpected format of the AI response
api_keystringNo-API key (defaults to provider env var)
base_urlstringNo-Custom API base URL (for Ollama or proxies)

Output:

FieldTypeDescription
okbooleanCzy zadanie sie powiodlo
responsestringCzy zadanie sie powiodlo
parsedanyCzy zadanie sie powiodlo
modelstringTekst odpowiedzi LLM
tokens_usednumberSparsowana odpowiedz (jesli zadano formatu JSON)
finish_reasonstringUzyty model

Example: Code Review

yaml
prompt: Review this code for bugs and improvements:

${code}
system_prompt: You are an expert code reviewer. Be specific and actionable.
model: gpt-4o

Example: Generate Fix

yaml
prompt: The UI evaluation found these issues: ${issues}

Generate code fixes.
system_prompt: You are a frontend developer. Return only valid code.
response_format: code

Example: Decision Making

yaml
prompt: Based on these test results, should we deploy? ${test_results}
system_prompt: You are a DevOps engineer. Return JSON: {"decision": "yes/no", "reason": "..."}
response_format: json

Naprawa kodu AI

llm.code_fix

Automatycznie generuj poprawki kodu na podstawie problemow

Parameters:

NameTypeRequiredDefaultDescription
issuesarrayYes-List of issues to fix (from ui.evaluate, test results, etc.)
source_filesarrayYes-Files to analyze and potentially fix
fix_modeselect (suggest, apply, dry_run)NosuggestHow to handle the suggested fixes
backupbooleanNoTrueCreate .bak backup before modifying files
contextstringNo-Text content to process
modelstringNogpt-4oSpecific model to use
api_keystringNo-API key (defaults to provider env var)

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
fixesarrayCzy operacja sie powiodla
appliedarrayCzy operacja sie powiodla
failedarrayLista wygenerowanych poprawek
summarystringLista zastosowanych poprawek (jesli fix_mode to apply)

Example: Fix UI Issues

yaml
issues: ${ui_evaluation.issues}
source_files: ["./src/components/Footer.tsx", "./src/styles/footer.css"]
fix_mode: suggest
context: React + Tailwind CSS project

Example: Auto-fix and Apply

yaml
issues: ${test_results.failures}
source_files: ["./src/App.tsx"]
fix_mode: apply
backup: true

Oblicz

math.calculate

Wykonaj podstawowe operacje matematyczne

Parameters:

NameTypeRequiredDefaultDescription
operationselect (add, subtract, multiply, divide, power, modulo, sqrt, abs)Yes-Operation to perform
anumberYes-First operand
bnumberNo-Second operand (not required for sqrt and abs)
precisionnumberNo2Number of decimal places

Output:

FieldTypeDescription
resultnumberWynik obliczenia
operationstringWynik obliczenia
expressionstringWynik obliczenia

Example: Add two numbers

yaml
operation: add
a: 10
b: 5

Example: Calculate power

yaml
operation: power
a: 2
b: 8

Kontrola stanu HTTP

monitor.http_check

Kontrola stanu HTTP / monitorowanie dostępności

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-URL do sprawdzenia
methodselect (GET, HEAD, POST)NoGETMetoda HTTP
expected_statusnumberNo200Oczekiwany kod statusu HTTP
timeout_msnumberNo10000Limit czasu żądania w milisekundach
headersobjectNo-Niestandardowe nagłówki żądania
bodystringNo-Treść żądania (dla POST)
check_sslbooleanNoTrueSprawdź ważność i wygaśnięcie certyfikatu SSL
containsstringNo-Treść odpowiedzi musi zawierać ten ciąg
follow_redirectsbooleanNoTrueŚledź przekierowania HTTP

Output:

FieldTypeDescription
okbooleanWhether check completed
dataobject

Example: Basic health check

yaml
url: https://api.example.com/health
expected_status: 200

Example: Check with content validation

yaml
url: https://api.example.com/health
contains: "status":"ok"
timeout_ms: 5000

Sprawdz port

port.check

Sprawdz, czy port(y) sieciowe sa otwarte lub zamkniete

Parameters:

NameTypeRequiredDefaultDescription
portanyYes-Numer portu lub tablica portow do sprawdzenia
hoststringNolocalhostNumer portu lub tablica portow do sprawdzenia
connect_timeoutnumberNo2Host do polaczenia
expect_openbooleanNo-Limit czasu dla kazdej proby polaczenia

Output:

FieldTypeDescription
okbooleanUstaw na true aby sprawdzic, czy porty sa otwarte, false dla zamknietych
resultsarrayCzy wszystkie sprawdzenia przeszly (jesli expect_open jest ustawione)
open_portsarrayCzy wszystkie sprawdzenia przeszly (jesli expect_open jest ustawione)
closed_portsarrayTablica wynikow sprawdzenia portow
summaryobjectLista otwartych portow

Example: Check single port

yaml
port: 3000

Example: Check multiple ports

yaml
port: [3000, 8080, 5432]
host: localhost

Example: Assert ports are open

yaml
port: [80, 443]
host: example.com
expect_open: true

Czekaj na port

port.wait

Czekaj az port sieciowy stanie sie dostepny

Parameters:

NameTypeRequiredDefaultDescription
portnumberYes-Numer portu na ktory czekac
hoststringNolocalhostHost do polaczenia
timeoutnumberNo60Host do polaczenia
intervalnumberNo500Maksymalny czas oczekiwania
expect_closedbooleanNoFalseCzas miedzy probami polaczenia w milisekundach

Output:

FieldTypeDescription
okbooleanCzekaj az port stanie sie niedostepny zamiast tego
availablebooleanCzy port jest w oczekiwanym stanie
hoststringCzy port jest w oczekiwanym stanie
portnumberCzy port jest aktualnie dostepny
wait_time_msnumberHost, ktory zostal sprawdzony
attemptsnumberPort, ktory zostal sprawdzony

Example: Wait for dev server

yaml
port: 3000
timeout: 30

Example: Wait for database

yaml
port: 5432
host: localhost
timeout: 60

Example: Wait for port to close

yaml
port: 8080
expect_closed: true
timeout: 10

Lista procesow

process.list

Wylistuj wszystkie dzialajace procesy w tle

Parameters:

NameTypeRequiredDefaultDescription
filter_namestringNo-Filter processes by name (substring match)
include_statusbooleanNoTrueInclude running/stopped status check for each process

Output:

FieldTypeDescription
okbooleanSukces operacji
processesarraySukces operacji
countnumberSukces operacji
runningnumberLista informacji o procesach
stoppednumberCalkowita liczba procesow

Example: List all processes

yaml

Example: Filter by name

yaml
filter_name: dev

Uruchom proces w tle

process.start

Uruchom proces w tle (serwer, usluga, itp.)

Parameters:

NameTypeRequiredDefaultDescription
commandstringYes-Shell command to execute
cwdstringNo-Directory to execute command in
envobjectNo-Additional environment variables to set
namestringNo-Friendly name to identify the process
wait_for_outputstringNo-String to wait for in stdout before returning
wait_timeoutnumberNo60Maximum time to wait in seconds
capture_outputbooleanNoTrueCapture stdout/stderr output from the process
log_filestringNo-File path to write process output to
auto_restartbooleanNoFalseAutomatically restart the process if it exits

Output:

FieldTypeDescription
okbooleanCzy proces uruchomil sie pomyslnie
pidnumberCzy proces uruchomil sie pomyslnie
process_idstringCzy proces uruchomil sie pomyslnie
namestringID procesu
commandstringWewnetrzny identyfikator procesu dla process.stop
cwdstringNazwa procesu
started_atstringWykonane polecenie
initial_outputstringZnacznik czasu ISO kiedy proces sie uruchomil

Example: Start dev server

yaml
command: npm run dev
cwd: ./frontend
name: frontend-dev
wait_for_output: ready on
wait_timeout: 30

Example: Start Python HTTP server

yaml
command: python -m http.server 8000
name: static-server

Example: Start with environment

yaml
command: node server.js
env: {"PORT": "3000", "NODE_ENV": "test"}
name: api-server
wait_for_output: listening

Zatrzymaj proces

process.stop

Zatrzymaj dzialajacy proces w tle

Parameters:

NameTypeRequiredDefaultDescription
process_idstringNo-Internal process identifier (from process.start)
namestringNo-Friendly name to identify the process
pidnumberNo-System process ID (PID) of the process
signalselect (SIGTERM, SIGKILL, SIGINT)NoSIGTERMSignal to send to the process
timeoutnumberNo10Maximum time to wait in seconds
forcebooleanNoFalseForce kill the process immediately with SIGKILL
stop_allbooleanNoFalseStop all tracked processes

Output:

FieldTypeDescription
okbooleanCzy wszystkie procesy zostaly zatrzymane pomyslnie
stoppedarrayCzy wszystkie procesy zostaly zatrzymane pomyslnie
failedarrayLista informacji o zatrzymanych procesach
countnumberLista informacji o zatrzymanych procesach

Example: Stop by process ID

yaml
process_id: ${start_result.process_id}

Example: Stop by name

yaml
name: dev-server

Example: Force kill by PID

yaml
pid: 12345
force: true

Example: Stop all processes

yaml
stop_all: true

Wykonaj polecenie powloki

shell.exec

Wykonaj polecenie powloki i przechwyc wyjscie

Parameters:

NameTypeRequiredDefaultDescription
commandstringYes-Shell command to execute
cwdstringNo-Directory to execute command in
envobjectNo-Additional environment variables to set
timeoutnumberNo300Maximum time to wait in seconds
shellbooleanNoFalseExecute command through shell (enables pipes, redirects)
capture_stderrbooleanNoTrueCapture stderr separately from stdout
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Character encoding for the file
raise_on_errorbooleanNoFalseRaise exception if command returns non-zero exit code

Output:

FieldTypeDescription
okbooleanCzy polecenie wykonalo sie pomyslnie (kod wyjscia 0)
exit_codenumberCzy polecenie wykonalo sie pomyslnie (kod wyjscia 0)
stdoutstringCzy polecenie wykonalo sie pomyslnie (kod wyjscia 0)
stderrstringKod wyjscia polecenia
commandstringStandardowe wyjscie
cwdstringStandardowe wyjscie bledu
duration_msnumberWykonane polecenie

Example: Run npm install

yaml
command: npm install
cwd: ./my-project

Example: Run tests with pytest

yaml
command: python -m pytest tests/ -v
timeout: 120

Example: Git status

yaml
command: git status --porcelain

Example: Build project

yaml
command: npm run build
cwd: ./frontend
env: {"NODE_ENV": "production"}

SSH Wykonaj

ssh.exec

Wykonaj polecenie na zdalnym serwerze przez SSH

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-Nazwa hosta lub IP serwera SSH
portnumberNo22Port SSH
usernamestringYes-Nazwa użytkownika SSH
passwordstringNo-Hasło SSH
private_keystringNo-Klucz prywatny w formacie PEM
commandstringYes-Polecenie do wykonania na zdalnym serwerze
timeoutnumberNo30Limit czasu polecenia w sekundach

Output:

FieldTypeDescription
okbooleanWhether command succeeded
dataobject

Example: List files on remote server

yaml
host: 192.168.1.100
username: deploy
command: ls -la /var/www

Example: Restart service

yaml
host: 10.0.0.5
username: root
command: systemctl restart nginx

SFTP Pobierz

ssh.sftp_download

Pobierz plik z zdalnego serwera przez SFTP

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-Nazwa hosta lub IP serwera SSH
portnumberNo22Port SSH
usernamestringYes-Nazwa użytkownika SSH
passwordstringNo-Hasło SSH
private_keystringNo-Klucz prywatny w formacie PEM
remote_pathstringYes-Ścieżka do pliku na zdalnym serwerze
local_pathstringYes-Ścieżka docelowa na lokalnym komputerze

Output:

FieldTypeDescription
okbooleanWhether download succeeded
dataobject

Example: Download server log

yaml
host: 10.0.0.5
username: deploy
remote_path: /var/log/nginx/access.log
local_path: /tmp/access.log

SFTP Prześlij

ssh.sftp_upload

Prześlij plik na zdalny serwer przez SFTP

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-Nazwa hosta lub IP serwera SSH
portnumberNo22Port SSH
usernamestringYes-Nazwa użytkownika SSH
passwordstringNo-Hasło SSH
private_keystringNo-Klucz prywatny w formacie PEM
local_pathstringYes-Ścieżka do lokalnego pliku do przesłania
remote_pathstringYes-Ścieżka docelowa na zdalnym serwerze
overwritebooleanNoTrueNadpisz istniejący zdalny plik

Output:

FieldTypeDescription
okbooleanWhether upload succeeded
dataobject

Example: Upload deployment archive

yaml
host: 10.0.0.5
username: deploy
local_path: /tmp/app.tar.gz
remote_path: /opt/releases/app.tar.gz

Uruchom kroki E2E

testing.e2e.run_steps

Wykonaj kroki testow end-to-end sekwencyjnie

Parameters:

NameTypeRequiredDefaultDescription
stepsarrayYes-Tablica definicji krokow testowych
stop_on_failurebooleanNoTrueWhether to stop on failure
timeout_per_stepnumberNo30000Timeout Per Step value

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
passednumberCzy operacja sie powiodla
failednumberCzy operacja sie powiodla
resultsarrayLiczba testow, ktore przeszly

Bramka jakosci

testing.gate.evaluate

Ewaluuj metryki jakosci wzgledem zdefiniowanych progow

Parameters:

NameTypeRequiredDefaultDescription
metricsobjectYes-Metryki do ewaluacji
thresholdsobjectYes-Metryki do ewaluacji
fail_on_breachbooleanNoTrueWhether to fail on breach

Output:

FieldTypeDescription
okbooleanWartosci progowe dla kazdej metryki
passedbooleanCzy operacja sie powiodla
resultsarrayCzy operacja sie powiodla
summarystringLiczba testow, ktore przeszly

Uruchom testy HTTP

testing.http.run_suite

Wykonaj zestaw testow HTTP API

Parameters:

NameTypeRequiredDefaultDescription
testsarrayYes-Tablica definicji testow HTTP
base_urlstringNo-Base URL for API requests
headersobjectNo{}HTTP request headers

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
passednumberCzy operacja sie powiodla
failednumberCzy operacja sie powiodla
resultsarrayLiczba testow, ktore przeszly

Uruchom linter

testing.lint.run

Uruchom sprawdzanie lintera na kodzie zrodlowym

Parameters:

NameTypeRequiredDefaultDescription
pathsarrayYes-Pliki lub katalogi do sprawdzenia
linterstringNoautoLinter
fixbooleanNoFalseWhether to fix

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
errorsnumberCzy operacja sie powiodla
warningsnumberCzy operacja sie powiodla
issuesarrayLiczba napotkanych bledow

Wygeneruj raport

testing.report.generate

Wygeneruj raport z wykonania testow

Parameters:

NameTypeRequiredDefaultDescription
resultsobjectYes-Results data
formatstringNojsonFormat
titlestringNoTest ReportTitle

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
reportstringCzy operacja sie powiodla
formatstringCzy operacja sie powiodla
summaryobjectRaport

Uruchom scenariusz

testing.scenario.run

Wykonaj test oparty na scenariuszu (styl BDD)

Parameters:

NameTypeRequiredDefaultDescription
scenarioobjectYes-Definicja scenariusza z given/when/then
contextobjectNo{}Additional context data

Output:

FieldTypeDescription
okbooleanDefinicja scenariusza z given/when/then
passedbooleanCzy operacja sie powiodla
stepsarrayCzy operacja sie powiodla

Skan bezpieczenstwa

testing.security.scan

Skanuj w poszukiwaniu luk bezpieczenstwa

Parameters:

NameTypeRequiredDefaultDescription
targetsarrayYes-Pliki, URL-e lub sciezki do skanowania
scan_typestringNoallScan Type
severity_thresholdstringNomediumSeverity Threshold

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
vulnerabilitiesarrayCzy operacja sie powiodla
summaryobjectCzy operacja sie powiodla

Uruchom zestaw testow

testing.suite.run

Wykonaj kolekcje testow

Parameters:

NameTypeRequiredDefaultDescription
testsarrayYes-Tablica definicji testow
parallelbooleanNoFalseWhether to parallel
max_failuresnumberNo0Tablica definicji testow

Output:

FieldTypeDescription
okboolean0 = bez limitu
passednumber0 = bez limitu
failednumberCzy operacja sie powiodla
skippednumberLiczba testow, ktore przeszly
resultsarrayLiczba testow, ktore nie przeszly

Uruchom testy jednostkowe

testing.unit.run

Wykonaj testy jednostkowe

Parameters:

NameTypeRequiredDefaultDescription
pathsarrayYes-Sciezki do plikow testowych lub katalogow
patternstringNotest_*.pyPattern
verbosebooleanNoFalseWhether to verbose

Output:

FieldTypeDescription
okbooleanCzy operacja sie powiodla
passednumberCzy operacja sie powiodla
failednumberCzy operacja sie powiodla
errorsnumberLiczba testow, ktore przeszly
resultsarrayLiczba testow, ktore nie przeszly

Porownanie wizualne

testing.visual.compare

Porownaj wyjscia wizualne pod katem roznic

Parameters:

NameTypeRequiredDefaultDescription
actualstringYes-Sciezka lub base64 rzeczywistego obrazu
expectedstringYes-Sciezka lub base64 rzeczywistego obrazu
thresholdnumberNo0.1Sciezka lub base64 oczekiwanego obrazu
output_diffbooleanNoTrueWhether to output diff

Output:

FieldTypeDescription
okbooleanMaksymalna dozwolona roznica (0-1)
matchbooleanCzy operacja sie powiodla
differencenumberCzy operacja sie powiodla
diff_imagestringDopasowanie

Ewaluuj jakosc UI

ui.evaluate

Kompleksowa ewaluacja jakosci UI z wielowymiarowym ocenianiem

Parameters:

NameTypeRequiredDefaultDescription
screenshotstringYes-Sciezka zrzutu ekranu lub URL do ewaluacji
app_typestringNoweb_appSciezka zrzutu ekranu lub URL do ewaluacji
page_typestringNo-Typ ewaluowanej strony
evaluation_criteriaarrayNo['visual_design', 'usability', 'accessibility', 'consistency', 'responsiveness']Konkretne kryteria do ewaluacji (domyslnie wszystkie)
target_audiencestringNo-Opis docelowych uzytkownikow
brand_guidelinesstringNo-Krotkie wytyczne marki do sprawdzenia
min_scorenumberNo70Minimalny ogolny wynik do zaliczenia (0-100)
api_keystringNo-Klucz API OpenAI (domyslnie zmienna srodowiskowa OPENAI_API_KEY)

Output:

FieldTypeDescription
okbooleanKlucz API OpenAI (domyslnie zmienna srodowiskowa OPENAI_API_KEY)
passedbooleanCzy ewaluacja sie powiodla
overall_scorenumberCzy ewaluacja sie powiodla
scoresobjectOgolny wynik jakosci UI (0-100)
strengthsarrayOgolny wynik jakosci UI (0-100)
issuesarrayWyniki wedlug kryteriow ewaluacji
recommendationsarrayLista mocnych stron UI
summarystringKonkretne rekomendacje ulepszen

Example: Evaluate Dashboard

yaml
screenshot: ./screenshots/dashboard.png
app_type: dashboard
page_type: analytics dashboard
target_audience: business analysts
min_score: 75

Example: E-commerce Page Review

yaml
screenshot: ./screenshots/product.png
app_type: e_commerce
page_type: product detail
evaluation_criteria: ["usability", "cta_effectiveness", "visual_design"]

Analizuj obraz za pomocą AI

vision.analyze

Analizuj obrazy za pomocą OpenAI Vision API (GPT-4V)

Parameters:

NameTypeRequiredDefaultDescription
imagestringYes-Image file path, URL, or base64 data
promptstringYes-What to analyze in the image
analysis_typeselect (general, ui_review, accessibility, bug_detection, comparison, data_extraction)NogeneralType of analysis to perform
contextstringNo-Additional context about the image
output_formatselect (text, structured, json, checklist)NostructuredFormat of the analysis output
modelstringNogpt-4oSpecific model to use
max_tokensnumberNo1000Maximum tokens in response
api_keystringYes-API key for authentication
header_namestringNoX-API-KeyHTTP header name
detailselect (low, high, auto)NohighLevel of detail for image analysis

Output:

FieldTypeDescription
okbooleanCzy analiza powiodła się
analysisstringCzy analiza powiodła się
structuredobjectWynik analizy AI
modelstringDane analizy strukturalnej (jeśli output_format to structured/json)
tokens_usednumberModel użyty do analizy

Example: UI Review

yaml
image: ./screenshots/dashboard.png
prompt: Review this dashboard UI. Evaluate: 1) Visual hierarchy 2) Color contrast 3) Button visibility 4) Overall usability. Suggest specific improvements.
analysis_type: ui_review
output_format: structured

Example: Bug Detection

yaml
image: ./screenshots/form.png
prompt: Find any visual bugs, layout issues, or broken elements in this form
analysis_type: bug_detection

Example: Accessibility Check

yaml
image: ./screenshots/page.png
prompt: Evaluate accessibility: color contrast, text readability, button sizes, clear labels
analysis_type: accessibility

Porównaj obrazy

vision.compare

Porównaj dwa obrazy i zidentyfikuj różnice wizualne

Parameters:

NameTypeRequiredDefaultDescription
image_beforestringYes-Path to baseline/before image
image_afterstringYes-Path to current/after image
comparison_typeselect (visual_regression, layout_diff, content_diff, full_analysis)Novisual_regressionType of comparison to perform
thresholdnumberNo5Acceptable difference percentage
focus_areasarrayNo-Specific areas to focus on
ignore_areasarrayNo-Areas to ignore (dynamic content, ads, etc.)
modelstringNogpt-4oSpecific model to use
api_keystringYes-API key for authentication
header_namestringNoX-API-KeyHTTP header name

Output:

FieldTypeDescription
okbooleanCzy porównanie powiodło się
has_differencesbooleanCzy porównanie powiodło się
similarity_scorenumberCzy znaleziono znaczące różnice
differencesarrayProcent podobieństwa (0-100)
summarystringLista zidentyfikowanych różnic
recommendationstringPodsumowanie wyników porównania

Example: Visual Regression Test

yaml
image_before: ./screenshots/baseline/home.png
image_after: ./screenshots/current/home.png
comparison_type: visual_regression
threshold: 5

Example: Layout Comparison

yaml
image_before: ./design/mockup.png
image_after: ./screenshots/implementation.png
comparison_type: layout_diff
focus_areas: ["header", "main content"]

Released under the Apache 2.0 License.