Skip to content

Atomic

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

44 modules

ModuleDescription
Dizi FiltreleDizi öğelerini koşula göre filtrele
Dizi SıralaDizi öğelerini artan veya azalan sırada sırala
Dizi BenzersizDiziden yinelenen değerleri kaldır
OAuth2 Token ExchangeExchange authorization code, refresh token, or client credentials for an access token
DNS SorgulamaAlan adı kayıtları için DNS sorgulama
Metin Farkıİki metin dizesi arasında fark oluştur
Dosyayı DüzenleTam dize eşleştirmesi kullanarak bir dosyada metni değiştir
Dosya Var mı Kontrol EtDosya veya dizinin var olup olmadığını kontrol et
Dosya OkuDosyadan içerik oku
Dosya YazDosyaya içerik yaz
Git KlonlaBir git deposunu klonla
Git CommitBir git commit oluştur
Git DiffGit diff al
HTTP PaginateAutomatically iterate through paginated API endpoints and collect all results
HTTP İsteğiHTTP isteği gönder ve yanıt al
HTTP Yanıtı DoğrulaHTTP yanıt özelliklerini doğrula ve onaylama yap
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
LLM SohbetAkıllı işlemler için LLM API'leriyle etkileşim
AI Kod DüzeltmeSorunlara dayalı otomatik kod düzeltmeleri oluştur
HesaplaTemel matematiksel işlemler gerçekleştir
HTTP Sağlık KontrolüHTTP sağlık kontrolü / çalışma süresi izleyici
Port Kontrol EtAğ portlarının açık veya kapalı olup olmadığını kontrol et
Port BekleAğ portunun kullanılabilir hale gelmesini bekle
İşlemleri ListeleÇalışan tüm arka plan işlemlerini listele
Arka Plan İşlemi BaşlatArka plan işlemi başlat (sunucu, servis vb.)
İşlemi DurdurÇalışan arka plan işlemini durdur
Kabuk Komutu ÇalıştırKabuk komutu çalıştır ve çıktıyı yakala
SSH ÇalıştırSSH ile uzak sunucuda komut çalıştır
SFTP İndirmeSFTP ile uzak sunucudan dosya indir
SFTP YüklemeSFTP ile uzak sunucuya dosya yükle
E2E Adımlarını ÇalıştırUçtan uca test adımlarını sıralı olarak çalıştır
Kalite KapısıKalite metriklerini tanımlı eşiklere göre değerlendir
HTTP Testlerini ÇalıştırHTTP API test paketini çalıştır
Linter ÇalıştırKaynak kodu üzerinde lint kontrolleri çalıştır
Rapor OluşturTest yürütme raporu oluştur
Senaryo ÇalıştırSenaryo tabanlı test çalıştır (BDD tarzı)
Güvenlik TaramasıGüvenlik açıklarını tara
Test Paketini ÇalıştırTest koleksiyonunu çalıştır
Birim Testlerini ÇalıştırBirim testlerini çalıştır
Görsel KarşılaştırGörsel çıktıları farklılıklar için karşılaştır
UI Kalitesini DeğerlendirÇok boyutlu puanlama ile kapsamlı UI kalite değerlendirmesi
Görüntüyü AI ile Analiz EtOpenAI Vision API (GPT-4V) kullanarak görüntüleri analiz et
Görüntüleri Karşılaştırİki görüntüyü karşılaştır ve görsel farklılıkları belirle

Modules

Dizi Filtrele

array.filter

Dizi öğelerini koşula göre filtrele

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
filteredarrayFiltrelenmiş dizi
countnumberFiltrelenmiş dizi

Example: Filter numbers greater than 5

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

Dizi Sırala

array.sort

Dizi öğelerini artan veya azalan sırada sırala

Parameters:

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

Output:

FieldTypeDescription
sortedarraySıralanmış dizi
countnumberSıralanmış dizi

Example: Sort numbers ascending

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

Dizi Benzersiz

array.unique

Diziden yinelenen değerleri kaldır

Parameters:

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

Output:

FieldTypeDescription
uniquearrayBenzersiz değerler içeren dizi
countnumberBenzersiz değerler içeren dizi
duplicates_removednumberBenzersiz değerler içeren dizi

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...

DNS Sorgulama

dns.lookup

Alan adı kayıtları için DNS sorgulama

Parameters:

NameTypeRequiredDefaultDescription
domainstringYes-Sorgulanacak alan adı
record_typeselect (A, AAAA, CNAME, MX, NS, TXT, SOA, SRV)NoASorgulanacak DNS kayıt türü
timeoutnumberNo10Saniye cinsinden sorgu zaman aşımı

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

Metin Farkı

file.diff

İki metin dizesi arasında fark oluştur

Parameters:

NameTypeRequiredDefaultDescription
originalstringYes-Orijinal metin
modifiedstringYes-Değiştirilmiş metin
context_linesnumberNo3Değişikliklerin etrafındaki bağlam satır sayısı
filenamestringNofileFark başlığında kullanılacak dosya adı

Output:

FieldTypeDescription
diffstringBirleştirilmiş fark çıktısı
changedbooleanHerhangi bir değişiklik var mı
additionsnumberEklenen satır sayısı
deletionsnumberSilinen satır sayısı

Example: Diff two strings

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

Dosyayı Düzenle

file.edit

Tam dize eşleştirmesi kullanarak bir dosyada metni değiştir

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Düzenlenecek dosyanın yolu
old_stringstringYes-Bulunacak ve değiştirilecek metin
new_stringstringYes-Değiştirme metni
replace_allbooleanNoFalseSadece ilkini değil, tümünü değiştir
encodingselect (utf-8, ascii, latin-1, utf-16, gbk, big5)Noutf-8Dosya kodlaması

Output:

FieldTypeDescription
pathstringDüzenlenen dosyanın yolu
replacementsnumberYapılan değişiklik sayısı
diffstringNelerin değiştiğini gösteren fark

Example: Replace string in file

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

Dosya Var mı Kontrol Et

file.exists

Dosya veya dizinin var olup olmadığını kontrol et

Parameters:

NameTypeRequiredDefaultDescription
pathstringYes-Path to the file

Output:

FieldTypeDescription
existsbooleanYol var mı
is_filebooleanYol var mı
is_directorybooleanYol var mı

Example: Check file exists

yaml
path: /tmp/data.txt

Dosya Oku

file.read

Dosyadan içerik oku

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
contentstringDosya içeriği
sizenumberDosya içeriği

Example: Read text file

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

Dosya Yaz

file.write

Dosyaya içerik yaz

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
pathstringDosya yolu
bytes_writtennumberDosya yolu

Example: Write text file

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

Git Klonla

git.clone

Bir git deposunu klonla

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-Git deposu URL'si (HTTPS veya SSH)
destinationstringYes-Klonlanacak yerel yol
branchstringNo-Klonlamadan sonra kontrol edilecek dal
depthnumberNo-Yüzeysel klon derinliği (tam klon için boş bırakın)
tokenstringNo-Özel depolar için kişisel erişim token'ı

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

Bir git commit oluştur

Parameters:

NameTypeRequiredDefaultDescription
repo_pathstringYes-Git deposunun yolu
messagestringYes-Commit mesajı
add_allbooleanNoFalseCommit öncesi tüm değişiklikleri aşamalandır (git add -A)
filesarrayNo-Commit öncesi aşamalandırılacak belirli dosyalar
author_namestringNo-Commit yazar adını geçersiz kıl
author_emailstringNo-Commit yazar e-postasını geçersiz kıl

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

Git diff al

Parameters:

NameTypeRequiredDefaultDescription
repo_pathstringYes-Git deposunun yolu
ref1stringNoHEADİlk referans (commit, dal, etiket)
ref2stringNo-Karşılaştırılacak ikinci referans
stagedbooleanNoFalseSadece aşamalandırılan değişiklikleri göster (--cached)
stat_onlybooleanNoFalseSadece dosya istatistiklerini göster (--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}"}

HTTP İsteği

http.request

HTTP isteği gönder ve yanıt al

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
okbooleanİstek başarılı mı (2xx durum)
statusnumberİstek başarılı mı (2xx durum)
status_textstringİstek başarılı mı (2xx durum)
headersobjectHTTP durum kodu
bodyanyHTTP durum metni
urlstringYanıt başlıkları
duration_msnumberYanıt gövdesi (ayrıştırılmış JSON veya metin)
content_typestringSon URL (yönlendirmelerden sonra)
content_lengthnumberYanıt Content-Type

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}

HTTP Yanıtı Doğrula

http.response_assert

HTTP yanıt özelliklerini doğrula ve onaylama yap

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
okbooleanTüm doğrulamalar geçti mi
passednumberTüm doğrulamalar geçti mi
failednumberTüm doğrulamalar geçti mi
totalnumberBaşarılı doğrulama sayısı
assertionsarrayBaşarısız doğrulama sayısı
errorsarrayAyrıntılı doğrulama sonuçları

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}

LLM Sohbet

llm.chat

Akıllı işlemler için LLM API'leriyle etkileşim

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
okbooleanİstek başarılı mı
responsestringİstek başarılı mı
parsedanyİstek başarılı mı
modelstringLLM yanıt metni
tokens_usednumberAyrıştırılmış yanıt (JSON format istendiyse)
finish_reasonstringKullanılan 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

AI Kod Düzeltme

llm.code_fix

Sorunlara dayalı otomatik kod düzeltmeleri oluştur

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
okbooleanİşlem başarılı mı
fixesarrayİşlem başarılı mı
appliedarrayİşlem başarılı mı
failedarrayOluşturulan düzeltmeler listesi
summarystringUygulanan düzeltmeler listesi (fix_mode apply ise)

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

Hesapla

math.calculate

Temel matematiksel işlemler gerçekleştir

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
resultnumberHesaplama sonucu
operationstringHesaplama sonucu
expressionstringHesaplama sonucu

Example: Add two numbers

yaml
operation: add
a: 10
b: 5

Example: Calculate power

yaml
operation: power
a: 2
b: 8

HTTP Sağlık Kontrolü

monitor.http_check

HTTP sağlık kontrolü / çalışma süresi izleyici

Parameters:

NameTypeRequiredDefaultDescription
urlstringYes-Kontrol edilecek URL
methodselect (GET, HEAD, POST)NoGETHTTP yöntemi
expected_statusnumberNo200Beklenen HTTP durum kodu
timeout_msnumberNo10000İstek zaman aşımı (milisaniye)
headersobjectNo-Özel istek başlıkları
bodystringNo-İstek gövdesi (POST için)
check_sslbooleanNoTrueSSL sertifikası geçerliliği ve son kullanma tarihini kontrol et
containsstringNo-Yanıt gövdesi bu dizeyi içermelidir
follow_redirectsbooleanNoTrueHTTP yönlendirmelerini takip et

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

Port Kontrol Et

port.check

Ağ portlarının açık veya kapalı olup olmadığını kontrol et

Parameters:

NameTypeRequiredDefaultDescription
portanyYes-Kontrol edilecek port numarası veya port dizisi
hoststringNolocalhostKontrol edilecek port numarası veya port dizisi
connect_timeoutnumberNo2Bağlanılacak ana bilgisayar
expect_openbooleanNo-Her bağlantı denemesi için zaman aşımı

Output:

FieldTypeDescription
okbooleanPortların açık olduğunu doğrulamak için true, kapalı için false ayarla
resultsarrayTüm kontroller geçti mi (expect_open ayarlıysa)
open_portsarrayTüm kontroller geçti mi (expect_open ayarlıysa)
closed_portsarrayPort kontrol sonuçları dizisi
summaryobjectAçık portların listesi

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

Port Bekle

port.wait

Ağ portunun kullanılabilir hale gelmesini bekle

Parameters:

NameTypeRequiredDefaultDescription
portnumberYes-Beklenecek port numarası
hoststringNolocalhostBağlanılacak ana bilgisayar
timeoutnumberNo60Bağlanılacak ana bilgisayar
intervalnumberNo500Maksimum bekleme süresi
expect_closedbooleanNoFalseBağlantı denemeleri arasındaki süre (milisaniye)

Output:

FieldTypeDescription
okbooleanPortun kullanılamaz hale gelmesini bekle
availablebooleanPort beklenen durumda mı
hoststringPort beklenen durumda mı
portnumberPort şu anda kullanılabilir mi
wait_time_msnumberKontrol edilen ana bilgisayar
attemptsnumberKontrol edilen port

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

İşlemleri Listele

process.list

Çalışan tüm arka plan işlemlerini listele

Parameters:

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

Output:

FieldTypeDescription
okbooleanİşlem başarılı
processesarrayİşlem başarılı
countnumberİşlem başarılı
runningnumberİşlem bilgileri listesi
stoppednumberToplam işlem sayısı

Example: List all processes

yaml

Example: Filter by name

yaml
filter_name: dev

Arka Plan İşlemi Başlat

process.start

Arka plan işlemi başlat (sunucu, servis vb.)

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
okbooleanİşlem başarıyla başladı mı
pidnumberİşlem başarıyla başladı mı
process_idstringİşlem başarıyla başladı mı
namestringİşlem Kimliği
commandstringprocess.stop için dahili işlem tanımlayıcı
cwdstringİşlem adı
started_atstringÇalıştırılan komut
initial_outputstringİşlemin başladığı ISO zaman damgası

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

İşlemi Durdur

process.stop

Çalışan arka plan işlemini durdur

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
okbooleanTüm işlemler başarıyla durduruldu mu
stoppedarrayTüm işlemler başarıyla durduruldu mu
failedarrayDurdurulan işlem bilgileri listesi
countnumberDurdurulan işlem bilgileri listesi

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

Kabuk Komutu Çalıştır

shell.exec

Kabuk komutu çalıştır ve çıktıyı yakala

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
okbooleanKomut başarıyla çalıştı mı (çıkış kodu 0)
exit_codenumberKomut başarıyla çalıştı mı (çıkış kodu 0)
stdoutstringKomut başarıyla çalıştı mı (çıkış kodu 0)
stderrstringKomut çıkış kodu
commandstringStandart çıktı
cwdstringStandart hata çıktısı
duration_msnumberÇalıştırılan komut

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 Çalıştır

ssh.exec

SSH ile uzak sunucuda komut çalıştır

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-SSH sunucu hostname veya IP
portnumberNo22SSH portu
usernamestringYes-SSH kullanıcı adı
passwordstringNo-SSH şifresi
private_keystringNo-PEM formatında özel anahtar
commandstringYes-Uzak sunucuda çalıştırılacak komut
timeoutnumberNo30Komut zaman aşımı (saniye cinsinden)

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 İndirme

ssh.sftp_download

SFTP ile uzak sunucudan dosya indir

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-SSH sunucu hostname veya IP
portnumberNo22SSH portu
usernamestringYes-SSH kullanıcı adı
passwordstringNo-SSH şifresi
private_keystringNo-PEM formatında özel anahtar
remote_pathstringYes-Uzak sunucudaki dosya yolu
local_pathstringYes-Yerel makinedeki hedef yol

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 Yükleme

ssh.sftp_upload

SFTP ile uzak sunucuya dosya yükle

Parameters:

NameTypeRequiredDefaultDescription
hoststringYes-SSH sunucu hostname veya IP
portnumberNo22SSH portu
usernamestringYes-SSH kullanıcı adı
passwordstringNo-SSH şifresi
private_keystringNo-PEM formatında özel anahtar
local_pathstringYes-Yüklenecek yerel dosya yolu
remote_pathstringYes-Uzak sunucudaki hedef yol
overwritebooleanNoTrueMevcut uzak dosyanın üzerine yaz

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

E2E Adımlarını Çalıştır

testing.e2e.run_steps

Uçtan uca test adımlarını sıralı olarak çalıştır

Parameters:

NameTypeRequiredDefaultDescription
stepsarrayYes-Test adımı tanımları dizisi
stop_on_failurebooleanNoTrueWhether to stop on failure
timeout_per_stepnumberNo30000Timeout Per Step value

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
passednumberİşlem başarılı mı
failednumberİşlem başarılı mı
resultsarrayGeçen test sayısı

Kalite Kapısı

testing.gate.evaluate

Kalite metriklerini tanımlı eşiklere göre değerlendir

Parameters:

NameTypeRequiredDefaultDescription
metricsobjectYes-Değerlendirilecek metrikler
thresholdsobjectYes-Değerlendirilecek metrikler
fail_on_breachbooleanNoTrueWhether to fail on breach

Output:

FieldTypeDescription
okbooleanHer metrik için eşik değerleri
passedbooleanİşlem başarılı mı
resultsarrayİşlem başarılı mı
summarystringGeçen test sayısı

HTTP Testlerini Çalıştır

testing.http.run_suite

HTTP API test paketini çalıştır

Parameters:

NameTypeRequiredDefaultDescription
testsarrayYes-HTTP test tanımları dizisi
base_urlstringNo-Base URL for API requests
headersobjectNo{}HTTP request headers

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
passednumberİşlem başarılı mı
failednumberİşlem başarılı mı
resultsarrayGeçen test sayısı

Linter Çalıştır

testing.lint.run

Kaynak kodu üzerinde lint kontrolleri çalıştır

Parameters:

NameTypeRequiredDefaultDescription
pathsarrayYes-Lint yapılacak dosyalar veya dizinler
linterstringNoautoLinter
fixbooleanNoFalseWhether to fix

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
errorsnumberİşlem başarılı mı
warningsnumberİşlem başarılı mı
issuesarrayKarşılaşılan hata sayısı

Rapor Oluştur

testing.report.generate

Test yürütme raporu oluştur

Parameters:

NameTypeRequiredDefaultDescription
resultsobjectYes-Results data
formatstringNojsonFormat
titlestringNoTest ReportTitle

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
reportstringİşlem başarılı mı
formatstringİşlem başarılı mı
summaryobjectRapor

Senaryo Çalıştır

testing.scenario.run

Senaryo tabanlı test çalıştır (BDD tarzı)

Parameters:

NameTypeRequiredDefaultDescription
scenarioobjectYes-given/when/then ile senaryo tanımı
contextobjectNo{}Additional context data

Output:

FieldTypeDescription
okbooleangiven/when/then ile senaryo tanımı
passedbooleanİşlem başarılı mı
stepsarrayİşlem başarılı mı

Güvenlik Taraması

testing.security.scan

Güvenlik açıklarını tara

Parameters:

NameTypeRequiredDefaultDescription
targetsarrayYes-Taranacak dosyalar, URL'ler veya yollar
scan_typestringNoallScan Type
severity_thresholdstringNomediumSeverity Threshold

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
vulnerabilitiesarrayİşlem başarılı mı
summaryobjectİşlem başarılı mı

Test Paketini Çalıştır

testing.suite.run

Test koleksiyonunu çalıştır

Parameters:

NameTypeRequiredDefaultDescription
testsarrayYes-Test tanımları dizisi
parallelbooleanNoFalseWhether to parallel
max_failuresnumberNo0Test tanımları dizisi

Output:

FieldTypeDescription
okboolean0 = limit yok
passednumber0 = limit yok
failednumberİşlem başarılı mı
skippednumberGeçen test sayısı
resultsarrayBaşarısız test sayısı

Birim Testlerini Çalıştır

testing.unit.run

Birim testlerini çalıştır

Parameters:

NameTypeRequiredDefaultDescription
pathsarrayYes-Test dosyaları veya dizin yolları
patternstringNotest_*.pyPattern
verbosebooleanNoFalseWhether to verbose

Output:

FieldTypeDescription
okbooleanİşlem başarılı mı
passednumberİşlem başarılı mı
failednumberİşlem başarılı mı
errorsnumberGeçen test sayısı
resultsarrayBaşarısız test sayısı

Görsel Karşılaştır

testing.visual.compare

Görsel çıktıları farklılıklar için karşılaştır

Parameters:

NameTypeRequiredDefaultDescription
actualstringYes-Gerçek görüntünün yolu veya base64'ü
expectedstringYes-Gerçek görüntünün yolu veya base64'ü
thresholdnumberNo0.1Beklenen görüntünün yolu veya base64'ü
output_diffbooleanNoTrueWhether to output diff

Output:

FieldTypeDescription
okbooleanİzin verilen maksimum fark (0-1)
matchbooleanİşlem başarılı mı
differencenumberİşlem başarılı mı
diff_imagestringEşleşme

UI Kalitesini Değerlendir

ui.evaluate

Çok boyutlu puanlama ile kapsamlı UI kalite değerlendirmesi

Parameters:

NameTypeRequiredDefaultDescription
screenshotstringYes-Değerlendirilecek ekran görüntüsü yolu veya URL
app_typestringNoweb_appDeğerlendirilecek ekran görüntüsü yolu veya URL
page_typestringNo-Değerlendirilen sayfa türü
evaluation_criteriaarrayNo['visual_design', 'usability', 'accessibility', 'consistency', 'responsiveness']Değerlendirilecek belirli kriterler (varsayılan tümü)
target_audiencestringNo-Hedef kullanıcıların açıklaması
brand_guidelinesstringNo-Karşılaştırılacak kısa marka yönergeleri
min_scorenumberNo70Geçmek için minimum genel puan (0-100)
api_keystringNo-OpenAI API anahtarı (varsayılan OPENAI_API_KEY ortam değişkeni)

Output:

FieldTypeDescription
okbooleanOpenAI API anahtarı (varsayılan OPENAI_API_KEY ortam değişkeni)
passedbooleanDeğerlendirmenin başarılı olup olmadığı
overall_scorenumberDeğerlendirmenin başarılı olup olmadığı
scoresobjectGenel UI kalite puanı (0-100)
strengthsarrayGenel UI kalite puanı (0-100)
issuesarrayDeğerlendirme kriterlerine göre puanlar
recommendationsarrayUI güçlü yönlerinin listesi
summarystringBelirli iyileştirme önerileri

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"]

Görüntüyü AI ile Analiz Et

vision.analyze

OpenAI Vision API (GPT-4V) kullanarak görüntüleri analiz et

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
okbooleanAnalizin başarılı olup olmadığı
analysisstringAnalizin başarılı olup olmadığı
structuredobjectAI analiz sonucu
modelstringYapılandırılmış analiz verileri (output_format structured/json ise)
tokens_usednumberAnaliz için kullanılan model

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

Görüntüleri Karşılaştır

vision.compare

İki görüntüyü karşılaştır ve görsel farklılıkları belirle

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
okbooleanKarşılaştırmanın başarılı olup olmadığı
has_differencesbooleanKarşılaştırmanın başarılı olup olmadığı
similarity_scorenumberÖnemli farklılıkların bulunup bulunmadığı
differencesarrayBenzerlik yüzdesi (0-100)
summarystringBelirlenen farklılıkların listesi
recommendationstringKarşılaştırma sonuçlarının özeti

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.