Tools provided
Tools the agent exposes — your AI client calls them automatically when it needs them.
- open_form — Use this the moment the user wants a calculation, comparison or official-source read. It returns the questions to ask (which task, and its inputs) so a form can be shown. Do NOT run a task before calling this; the form is the entry point.
- run_form — Internal: invoked when the user submits the form opened by open_form. Not for direct use.
- run_full — Run one of this agent's deterministic tasks end to end by name (calculations, text and clause comparison, version lookup, official-source reads) and return its result with the caveats. Use when the user names the task. Missing task or inputs, it asks for them instead of failing.
- list_capabilities — List every task this agent can run, the official hosts it can reach, and what it deliberately does not do. Use for discovery before running a task.
- plan_inputs — Plan the inputs for a task before running it: returns the questions, the schema and a ready-to-edit example. Use when the user is unsure what to provide.
- discover_intent — Use when the user states a goal in their own words ('kıdem tazminatını hesapla'). It restates the goal, asks the few questions that pin the input down and proposes a ready-to-run input to confirm before running.
- calculate_simple_interest — Use for plain simple-interest arithmetic: principal × annual rate × days / day basis, Decimal-exact. It does NOT decide which legal rate or interest type applies; the caller supplies the rate from a verified source.
- calculate_calendar_days — Use to count elapsed and inclusive calendar days between two ISO dates. It is calendar arithmetic only, not a statutory deadline opinion: service rules, holidays, judicial recess and suspensions are not applied.
- sum_amount_items — Use to total line items (quantity × unit amount) with Decimal arithmetic and a per-item breakdown. It adds nothing else: no tax, interest, offsets or entitlement are inferred.
- compare_contract_versions — Use for a plain line-by-line diff of two contract or pleading texts. It reports changed line ranges and a similarity score; it does not judge legal effect and does not align clauses after restructuring.
- compare_contracts_by_clause — Use to compare two contract versions clause by clause. Clauses start at 'Madde N' or a numbered heading; matching is heuristic and each row is unchanged, modified, deleted or added with a redline. Never a legal equivalence finding.
- calculate_severance — Use to compute severance pay (kıdem tazminatı) arithmetic from gross monthly pay, service days and the ceiling in force on the termination date. The ceiling is supplied by the caller from an official source; eligibility, dressed wage and suspension periods are not decided here.
- calculate_notice_period — Use to find the general notice period in days under Labor Law 4857 art. 17 from days of service. It is the statutory minimum table only; contracts and collective agreements may lengthen it, and it flags service lengths close to a band boundary.
- calculate_annual_leave — Use to find the minimum annual paid leave in days under Labor Law 4857 art. 53 from age and years of service, including the 20-day floor for workers aged 18 or under and 50 or over. Underground work, part-time work and collective agreements are not applied.
- calculate_enforcement_interest — Use to compute simple interest on a principal between two ISO dates, for an enforcement (icra) or damages calculation. The rate and its start date must come from the verified legal basis; compounding is not applied.
- estimate_court_fee — Use to multiply a claim amount by a fee rate and add a fixed fee. The caller supplies the tariff rate from the current official tariff; this tool picks no rate and decides no exemption or fee type.
- open_official_case_law_search — Use when the user needs case-law or legislation search. It returns the OFFICIAL portal address for a provider and runs no search, so the user or a browser must search there; no result is ever invented.
- get_historical_legislation_version — Use to pick the article version in force on an event date from records YOU supply. Only human-verified records with an official source URL and an explicit validity interval count; otherwise it answers not found and never guesses.
- detect_legal_source_changes — Use to see whether fetched source texts changed since last time. Pass the items and the previous_state from your last call; it returns the changes and a new_state to keep. It detects a changed hash only and says nothing about legal effect.
- validate_historical_article_record — Use before relying on an article-version record. It checks provenance, ISO dates, an official https source host, a valid interval and human verification, and returns a record hash when valid.
3 more tools
- fetch_official_legal_source — Use to open one page on an official Turkish legal source (Resmî Gazete, mevzuat, courts, KVKK and similar) and read a window of its text with a SHA-256 of the whole page. Other hosts are refused and redirects are reported, not followed. Reading is not verification of validity.
- get_official_article_text — Use to read ONE numbered article of a law from an official HTML page (for example the mevzuat.gov.tr text of Law 4857) as published, with the page's own amendment notes and a SHA-256 of the article text. It states nothing about validity or effective dates; compare those with the Resmî Gazete issue.
- discover_official_public_source — Use to take a snapshot of one official landing page and list its links to official hosts. It is discovery only, not a legal finding and not a crawler: one page, no bulk download of decisions.