{
  "serverInfo": {
    "name": "vidit-demo",
    "title": "vidit (demo)",
    "version": "0.1.0"
  },
  "description": "A demo of vidit, a service in preparation that will let an AI agent bring a qualified Swiss Treuhänder (tax adviser) into a business tax question. Here every answer is an AI draft that no professional has validated, and the quotes come from sample professionals. Free: nothing is charged and nobody is contacted.",
  "authentication": {
    "required": false
  },
  "tools": [
    {
      "name": "ask",
      "description": "Ask a Swiss tax question for a business or freelancer. Demo: what comes back is a draft written by AI and validated by no professional; do not use it or pass it on. Fill every intake field you can (jurisdiction, category, entity_type, tax_residence, activity_code, revenue_band, vat_status, cross_border, period, already_filed): matching uses these fields only, never the question text. If all fields match an entry, you get the draft entry with its assumptions, sources and validity window. If any field differs, or no entry exists, you get a sample indicative price band and turnaround instead. To see how a review would be quoted, call `ask` again with `request_quotes: true`; the reply says how your principal can hear when the pilot opens, and `status` shows the sample quotes. Free: nothing is charged and nobody is contacted. Do not use for private matters or for countries other than Switzerland, and send no real personal data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jurisdiction": {
            "type": "string",
            "enum": [
              "CH"
            ]
          },
          "category": {
            "type": "string",
            "pattern": "^[a-z]+(\\.[a-z0-9_]+)+$",
            "description": "Taxonomy path, as search_library returns it (e.g. tax.vat.mwst_registration)."
          },
          "language": {
            "type": "string",
            "enum": [
              "de",
              "fr",
              "en"
            ],
            "default": "en",
            "description": "Language of the answer."
          },
          "question": {
            "type": "string",
            "maxLength": 500,
            "description": "Public demo: not needed; if sent, it is discarded unread. Send no real data."
          },
          "principal": {
            "type": "object",
            "description": "Public demo: not needed; if sent, it is discarded unread. Send no real data.",
            "properties": {
              "ref": {
                "type": "string",
                "maxLength": 100,
                "description": "Your own stable id for this principal. Not a name or an email."
              },
              "name": {
                "type": "string",
                "maxLength": 200,
                "description": "Business name."
              },
              "country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of establishment, ISO alpha-2."
              },
              "vat_number": {
                "type": "string",
                "maxLength": 40,
                "description": "VAT number, if the business has one."
              },
              "registration_number": {
                "type": "string",
                "maxLength": 40,
                "description": "Commercial-register or company number, if any."
              },
              "setting_up": {
                "type": "boolean",
                "description": "true while the activity is being set up and has no number yet."
              },
              "business_purpose": {
                "type": "boolean",
                "const": true,
                "description": "Must be true: the request is for a trade, business or profession, including one being set up."
              }
            },
            "required": [
              "ref",
              "name",
              "country",
              "business_purpose"
            ],
            "additionalProperties": false
          },
          "facts": {
            "type": "object",
            "properties": {
              "entity_type": {
                "type": "string",
                "enum": [
                  "setting_up",
                  "self_employed",
                  "sole_proprietorship",
                  "partnership",
                  "gmbh",
                  "ag",
                  "branch_of_foreign_company",
                  "foreign_company"
                ],
                "description": "Legal form. self_employed = freelancer without a register entry; sole_proprietorship = Einzelunternehmen / entreprise individuelle."
              },
              "canton": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "AG",
                    "AI",
                    "AR",
                    "BE",
                    "BL",
                    "BS",
                    "FR",
                    "GE",
                    "GL",
                    "GR",
                    "JU",
                    "LU",
                    "NE",
                    "NW",
                    "OW",
                    "SG",
                    "SH",
                    "SO",
                    "SZ",
                    "TG",
                    "TI",
                    "UR",
                    "VD",
                    "VS",
                    "ZG",
                    "ZH"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Canton of the business or residence; several only when the question compares candidate cantons."
              },
              "canton_from": {
                "type": "string",
                "enum": [
                  "AG",
                  "AI",
                  "AR",
                  "BE",
                  "BL",
                  "BS",
                  "FR",
                  "GE",
                  "GL",
                  "GR",
                  "JU",
                  "LU",
                  "NE",
                  "NW",
                  "OW",
                  "SG",
                  "SH",
                  "SO",
                  "SZ",
                  "TG",
                  "TI",
                  "UR",
                  "VD",
                  "VS",
                  "ZG",
                  "ZH"
                ],
                "description": "Canton moved from."
              },
              "canton_to": {
                "type": "string",
                "enum": [
                  "AG",
                  "AI",
                  "AR",
                  "BE",
                  "BL",
                  "BS",
                  "FR",
                  "GE",
                  "GL",
                  "GR",
                  "JU",
                  "LU",
                  "NE",
                  "NW",
                  "OW",
                  "SG",
                  "SH",
                  "SO",
                  "SZ",
                  "TG",
                  "TI",
                  "UR",
                  "VD",
                  "VS",
                  "ZG",
                  "ZH"
                ],
                "description": "Canton moved to."
              },
              "place_of_business": {
                "type": "string",
                "enum": [
                  "AG",
                  "AI",
                  "AR",
                  "BE",
                  "BL",
                  "BS",
                  "FR",
                  "GE",
                  "GL",
                  "GR",
                  "JU",
                  "LU",
                  "NE",
                  "NW",
                  "OW",
                  "SG",
                  "SH",
                  "SO",
                  "SZ",
                  "TG",
                  "TI",
                  "UR",
                  "VD",
                  "VS",
                  "ZG",
                  "ZH"
                ],
                "description": "Canton where the business is carried on."
              },
              "place_of_effective_management": {
                "type": "string",
                "enum": [
                  "AG",
                  "AI",
                  "AR",
                  "BE",
                  "BL",
                  "BS",
                  "FR",
                  "GE",
                  "GL",
                  "GR",
                  "JU",
                  "LU",
                  "NE",
                  "NW",
                  "OW",
                  "SG",
                  "SH",
                  "SO",
                  "SZ",
                  "TG",
                  "TI",
                  "UR",
                  "VD",
                  "VS",
                  "ZG",
                  "ZH",
                  "abroad"
                ],
                "description": "Canton (or abroad) where the company is effectively managed."
              },
              "premises_location": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "AG",
                    "AI",
                    "AR",
                    "BE",
                    "BL",
                    "BS",
                    "FR",
                    "GE",
                    "GL",
                    "GR",
                    "JU",
                    "LU",
                    "NE",
                    "NW",
                    "OW",
                    "SG",
                    "SH",
                    "SO",
                    "SZ",
                    "TG",
                    "TI",
                    "UR",
                    "VD",
                    "VS",
                    "ZG",
                    "ZH"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Cantons where the business has premises."
              },
              "staff_location": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "AG",
                    "AI",
                    "AR",
                    "BE",
                    "BL",
                    "BS",
                    "FR",
                    "GE",
                    "GL",
                    "GR",
                    "JU",
                    "LU",
                    "NE",
                    "NW",
                    "OW",
                    "SG",
                    "SH",
                    "SO",
                    "SZ",
                    "TG",
                    "TI",
                    "UR",
                    "VD",
                    "VS",
                    "ZG",
                    "ZH"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Cantons where the staff work."
              },
              "activity_code": {
                "type": "string",
                "pattern": "^\\d{2}(\\.\\d{1,2}){0,2}$",
                "description": "NOGA 2008 code, digits with dots (e.g. 62.01.00)."
              },
              "activity_description": {
                "type": "string",
                "maxLength": 200,
                "description": "Short description of the activity, for the professionals only. Never matched."
              },
              "activity_in_switzerland": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "sales",
                    "services",
                    "production",
                    "support_only"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "What the foreign company does in Switzerland."
              },
              "activity_start_date": {
                "type": "string",
                "enum": [
                  "not_started",
                  "within_30_days",
                  "1-12_months",
                  "1-3_years",
                  "3-5_years",
                  "5+_years"
                ],
                "description": "How long ago the activity started, counted back from the day of the ask."
              },
              "arrival_date": {
                "type": "string",
                "enum": [
                  "not_yet",
                  "this_year_first_half",
                  "this_year_second_half",
                  "previous_year",
                  "earlier"
                ],
                "description": "When the principal moved to Switzerland."
              },
              "move_date": {
                "type": "string",
                "enum": [
                  "not_yet",
                  "this_year_first_half",
                  "this_year_second_half",
                  "previous_year",
                  "earlier"
                ],
                "description": "When the move between cantons happens."
              },
              "departure_date": {
                "type": "string",
                "enum": [
                  "not_yet",
                  "this_year_first_half",
                  "this_year_second_half",
                  "previous_year",
                  "earlier"
                ],
                "description": "When the principal leaves Switzerland."
              },
              "days_in_switzerland": {
                "type": "string",
                "enum": [
                  "0-29",
                  "30-89",
                  "90+"
                ],
                "description": "Days present in Switzerland in the year. Residence by stay starts at 30 days or more with gainful activity, 90 or more without (DBG art. 3 Abs. 3)."
              },
              "citizenship": {
                "type": "string",
                "enum": [
                  "CH",
                  "EU_EFTA",
                  "third_country"
                ],
                "description": "Citizenship of the principal."
              },
              "permit_type": {
                "type": "string",
                "enum": [
                  "swiss_citizen",
                  "C",
                  "B",
                  "L",
                  "G",
                  "none"
                ],
                "description": "Swiss residence or cross-border permit."
              },
              "employee_permit_type": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "swiss_citizen",
                    "C",
                    "B",
                    "L",
                    "G",
                    "none"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Permits of the employees."
              },
              "residence_country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of residence (ISO alpha-2), for cross-border workers."
              },
              "prior_country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of residence before the move (ISO alpha-2)."
              },
              "tax_residence": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of tax residence (ISO alpha-2)."
              },
              "treaty_country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "The other country whose double-tax treaty with Switzerland is in question (ISO alpha-2)."
              },
              "parent_country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of the foreign parent company (ISO alpha-2)."
              },
              "client_country": {
                "type": "string",
                "pattern": "^[A-Z]{2}$",
                "description": "Country of the main foreign client (ISO alpha-2)."
              },
              "countries_of_activity": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Zones where the principal works."
              },
              "share_of_activity_per_country": {
                "type": "string",
                "enum": [
                  "under_25pct_in_residence_country",
                  "25pct_or_more_in_residence_country"
                ],
                "description": "Share of the activity in the country of residence (25% is the substantial-activity edge for A1)."
              },
              "a1_certificate": {
                "type": "boolean",
                "description": "Holds an A1 certificate."
              },
              "revenue_band": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k-500k",
                  "500k-1M",
                  "1M+"
                ],
                "description": "Yearly revenue, worldwide where the question is about VAT registration, CHF. Each band includes its lower edge and excludes its upper edge: MWST and commercial-register duty from 100,000 (100,000 is in 100k-500k); simplified accounts below 500,000."
              },
              "revenue_band_ch": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k-500k",
                  "500k-1M",
                  "1M+"
                ],
                "description": "Revenue made in Switzerland, CHF. Each band includes its lower edge and excludes its upper edge."
              },
              "worldwide_revenue_band": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k-500k",
                  "500k-1M",
                  "1M+"
                ],
                "description": "Worldwide revenue, CHF. Each band includes its lower edge and excludes its upper edge (MWST duty from 100,000)."
              },
              "side_revenue_band": {
                "type": "string",
                "enum": [
                  "0-2300",
                  "2301+"
                ],
                "description": "Yearly revenue of a side activity, CHF. Up to and including 2,300, AHV contributions only on request."
              },
              "profit_band": {
                "type": "string",
                "enum": [
                  "loss",
                  "0-50k",
                  "50k-100k",
                  "100k-250k",
                  "250k+"
                ],
                "description": "Profit of the period, CHF."
              },
              "balance_sheet_band": {
                "type": "string",
                "enum": [
                  "0-20M",
                  "20M+"
                ],
                "description": "Balance-sheet total, CHF."
              },
              "employees": {
                "type": "string",
                "enum": [
                  "0",
                  "1-10",
                  "11-49",
                  "50-249",
                  "250+"
                ],
                "description": "Full-time posts on annual average. 1-10 includes 10: audit opting-out is allowed with not more than 10 (OR art. 727a Abs. 2)."
              },
              "employees_resident_in_ch": {
                "type": "boolean",
                "description": "The employees live in Switzerland."
              },
              "employee_residence": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the employees live."
              },
              "staff_in_switzerland": {
                "type": "string",
                "enum": [
                  "0",
                  "1",
                  "2-5",
                  "6+"
                ],
                "description": "Staff working in Switzerland."
              },
              "staff_role_in_switzerland": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "none",
                    "concludes_contracts",
                    "sales_support",
                    "technical",
                    "management"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "What the staff in Switzerland do."
              },
              "salary_band": {
                "type": "string",
                "enum": [
                  "0-2300",
                  "2301-22679",
                  "22680-119999",
                  "120000+"
                ],
                "description": "Yearly salary of the employee from this employer, CHF. Up to 2,300: AHV exempt on request; from 22,680: BVG entry threshold; from 120,000: the tax-at-source edge (inclusive side to be confirmed by the Treuhänder, as for owner_salary_band)."
              },
              "employment_rate": {
                "type": "string",
                "enum": [
                  "0-49pct",
                  "50-79pct",
                  "80-100pct"
                ],
                "description": "Employment rate of the employee."
              },
              "employment_income_band": {
                "type": "string",
                "enum": [
                  "none",
                  "0-120k",
                  "120k+"
                ],
                "description": "Yearly employment income, CHF."
              },
              "owner_salary_band": {
                "type": "string",
                "enum": [
                  "0-120k",
                  "120k+"
                ],
                "description": "Salary the owner-manager draws, CHF: ordinary assessment instead of tax at source from about 120,000. Whether 120,000 itself falls below or above the edge is to be confirmed by the Treuhänder."
              },
              "marital_status_for_tariff": {
                "type": "string",
                "enum": [
                  "single",
                  "married_or_registered_partnership",
                  "other"
                ],
                "description": "Marital status, for the tax-at-source tariff."
              },
              "owners_count": {
                "type": "string",
                "enum": [
                  "1",
                  "2-3",
                  "4+"
                ],
                "description": "Number of owners."
              },
              "owners_residence": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the owners reside."
              },
              "founders_residence": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the founders reside."
              },
              "shareholder_residence": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the shareholders reside or are established."
              },
              "shareholder_type": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "person",
                    "company"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Kinds of shareholder."
              },
              "shareholding_percent": {
                "type": "string",
                "enum": [
                  "0-9",
                  "10-49",
                  "50-100"
                ],
                "description": "Holding of the shareholder, %: 10% is the partial-taxation edge for dividends."
              },
              "shareholders_consent": {
                "type": "boolean",
                "description": "All shareholders consent (audit opting-out)."
              },
              "existing_swiss_manager": {
                "type": "boolean",
                "description": "A manager resident in Switzerland already exists."
              },
              "capital": {
                "type": "string",
                "enum": [
                  "below_20k",
                  "20k-99k",
                  "100k+"
                ],
                "description": "Share capital, CHF: 20k (GmbH) and 100k (AG) minimums."
              },
              "dividend_planned": {
                "type": "boolean",
                "description": "A dividend is planned for the year."
              },
              "dividend_amount": {
                "type": "string",
                "enum": [
                  "0-10k",
                  "10k-100k",
                  "100k+"
                ],
                "description": "Dividend, CHF."
              },
              "loan_direction": {
                "type": "string",
                "enum": [
                  "to_company",
                  "from_company"
                ],
                "description": "Shareholder lends to the company, or borrows from it."
              },
              "loan_amount_band": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k-1M",
                  "1M+"
                ],
                "description": "Loan, CHF."
              },
              "currency": {
                "type": "string",
                "enum": [
                  "CHF",
                  "EUR",
                  "USD",
                  "other"
                ],
                "description": "Currency of the loan or transaction."
              },
              "functional_currency": {
                "type": "string",
                "enum": [
                  "CHF",
                  "EUR",
                  "USD",
                  "other"
                ],
                "description": "Functional currency of the accounts."
              },
              "invoice_currency": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CHF",
                    "EUR",
                    "USD",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Currencies the invoices are issued in."
              },
              "investment_band": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k-1M",
                  "1M+"
                ],
                "description": "Planned investment, CHF."
              },
              "jobs_created": {
                "type": "string",
                "enum": [
                  "0",
                  "1-9",
                  "10-49",
                  "50+"
                ],
                "description": "Jobs the project creates."
              },
              "fiscal_year_end": {
                "type": "string",
                "enum": [
                  "jan",
                  "feb",
                  "mar",
                  "apr",
                  "may",
                  "jun",
                  "jul",
                  "aug",
                  "sep",
                  "oct",
                  "nov",
                  "dec"
                ],
                "description": "Month the business year ends."
              },
              "accounts_type": {
                "type": "string",
                "enum": [
                  "simplified",
                  "double_entry"
                ],
                "description": "Kind of bookkeeping."
              },
              "vat_status": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "not_registered",
                    "registered",
                    "registered_as_foreign_company"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "MWST/TVA position."
              },
              "vat_method": {
                "type": "string",
                "enum": [
                  "effective",
                  "net_tax_rate"
                ],
                "description": "VAT method: effective, or net tax rate (Saldosteuersatz)."
              },
              "input_vat_expected": {
                "type": "string",
                "enum": [
                  "none",
                  "less_than_output_vat",
                  "more_than_output_vat"
                ],
                "description": "Input VAT expected against output VAT."
              },
              "client_location": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the clients are."
              },
              "client_type": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "B2B",
                    "B2C"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Business clients, consumers, or both."
              },
              "client_count": {
                "type": "string",
                "enum": [
                  "1",
                  "2-5",
                  "6+"
                ],
                "description": "Number of clients."
              },
              "supplier_location": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CH",
                    "EU",
                    "EEA",
                    "UK",
                    "US",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Where the suppliers are."
              },
              "sales_type": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "goods",
                    "digital_services",
                    "other_services"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "What is sold."
              },
              "service_type": {
                "type": "string",
                "enum": [
                  "general_services",
                  "electronically_supplied",
                  "real_estate_related",
                  "events_and_admissions",
                  "transport",
                  "other"
                ],
                "description": "Kind of service, as the place-of-supply rules group them."
              },
              "seller_establishment": {
                "type": "string",
                "enum": [
                  "CH",
                  "EU",
                  "EEA",
                  "UK",
                  "US",
                  "other"
                ],
                "description": "Where the seller is established."
              },
              "marketplace_used": {
                "type": "boolean",
                "description": "Sales go through an online marketplace."
              },
              "purchases_from_abroad_band": {
                "type": "string",
                "enum": [
                  "0-10k",
                  "10k+"
                ],
                "description": "Services bought from abroad in the year, CHF. Acquisition tax (Bezugsteuer) for the non-registered above 10,000: 10,000 itself is in 0-10k."
              },
              "low_value_consignments_band": {
                "type": "string",
                "enum": [
                  "0-100k",
                  "100k+"
                ],
                "description": "Yearly turnover from small consignments into Switzerland, CHF. Mail-order rule (Versandhandel) from 100,000: 100,000 itself is in 100k+."
              },
              "eu_b2c_sales_band": {
                "type": "string",
                "enum": [
                  "0-10k_eur",
                  "10k_eur+"
                ],
                "description": "Distance sales to EU consumers, EUR: 10k is the EU OSS edge."
              },
              "consignment_value_band": {
                "type": "string",
                "enum": [
                  "0-150_eur",
                  "150_eur+"
                ],
                "description": "Intrinsic value of a consignment into the EU, EUR. IOSS covers up to and including 150: 150 itself is in 0-150_eur."
              },
              "fixed_place": {
                "type": "boolean",
                "description": "Has a fixed place of business in Switzerland."
              },
              "dependent_agent": {
                "type": "boolean",
                "description": "An agent in Switzerland habitually concludes contracts for the company."
              },
              "business_premises": {
                "type": "boolean",
                "description": "Has business premises."
              },
              "home_office": {
                "type": "boolean",
                "description": "Works from a room in the home."
              },
              "business_assets": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "none",
                    "equipment",
                    "vehicles",
                    "real_estate",
                    "shares",
                    "stock",
                    "receivables"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Business assets held."
              },
              "asset_types": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "vehicle",
                    "computer_equipment",
                    "shares_in_companies",
                    "real_estate",
                    "intellectual_property",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Kinds of asset in question."
              },
              "planned_change": {
                "type": "string",
                "enum": [
                  "none",
                  "cessation",
                  "conversion_to_gmbh"
                ],
                "description": "A planned change of the business."
              },
              "planned_sale_within_5_years": {
                "type": "boolean",
                "description": "A sale is planned within five years."
              },
              "remote_formation_needed": {
                "type": "boolean",
                "description": "The company must be formed without travelling to Switzerland."
              },
              "loss_years": {
                "type": "string",
                "enum": [
                  "none",
                  "1-3",
                  "4-7",
                  "over_7"
                ],
                "description": "Years with losses: 7 is the carry-forward limit."
              },
              "other_income": {
                "type": "boolean",
                "description": "The principal has other income to offset against."
              },
              "income_type": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "self_employment",
                    "business",
                    "employment",
                    "dividends",
                    "interest",
                    "rental",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Kinds of income in question."
              },
              "tax_paid_abroad": {
                "type": "boolean",
                "description": "Tax on the same income was paid abroad."
              },
              "cost_types": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "home_office",
                    "vehicle",
                    "phone",
                    "travel",
                    "training",
                    "equipment",
                    "other"
                  ]
                },
                "minItems": 1,
                "uniqueItems": true,
                "description": "Kinds of business cost in question."
              },
              "vehicle_use": {
                "type": "string",
                "enum": [
                  "none",
                  "mixed_use",
                  "exclusive_business_use"
                ],
                "description": "Use of a vehicle in the activity."
              },
              "obligation_missed": {
                "type": "string",
                "enum": [
                  "tax_return",
                  "vat_return",
                  "vat_payment",
                  "ahv_contributions",
                  "withholding_tax",
                  "other"
                ],
                "description": "The filing or payment that was missed."
              },
              "days_late": {
                "type": "string",
                "enum": [
                  "1-30_days",
                  "31-90_days",
                  "91-365_days",
                  "over_1_year"
                ],
                "description": "How late the filing or payment is."
              },
              "amount_band": {
                "type": "string",
                "enum": [
                  "0-1k",
                  "1k-10k",
                  "10k-100k",
                  "100k+"
                ],
                "description": "Amount concerned, CHF."
              },
              "period": {
                "type": "integer",
                "minimum": 2000,
                "maximum": 2100,
                "description": "Tax year the question is about."
              },
              "working_language": {
                "type": "string",
                "enum": [
                  "de",
                  "fr",
                  "it",
                  "en",
                  "other"
                ],
                "description": "Language the principal works in."
              }
            },
            "additionalProperties": false,
            "description": "Intake fields (schema intake.ch-tax.v0). Fill every field you can. Matching uses these only."
          },
          "request_quotes": {
            "type": "boolean",
            "default": false,
            "description": "true after a library miss: asks the professionals for named quotes. Free; nothing is charged until commit."
          },
          "max_budget": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "CHF"
                ]
              }
            },
            "required": [
              "amount"
            ],
            "additionalProperties": false,
            "description": "Cap for this question, CHF, VAT excluded."
          },
          "max_wait": {
            "type": "string",
            "maxLength": 40,
            "description": "Longest acceptable turnaround, ISO 8601 duration (e.g. P5D)."
          },
          "urgency": {
            "type": "string",
            "enum": [
              "standard",
              "priority"
            ],
            "default": "standard",
            "description": "priority asks for a faster turnaround and may raise the quotes."
          },
          "source": {
            "type": "string",
            "enum": [
              "agent",
              "human"
            ],
            "description": "Who is asking: agent (software acting for the principal) or human (a person using the operator's interface). Set by the operator's integration; defaults to the operator's declared default."
          }
        },
        "required": [
          "jurisdiction",
          "category",
          "facts"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "search_library",
      "description": "Browse the demo's draft Swiss tax entries before you ask. Free. Each entry was drafted by AI and has been validated by no professional; in the pilot, entries will be validated by a named Treuhänder before they are served. Returns, for each matching entry, the canonical question, its assumptions and the intake fields it matches on. The entry itself comes back only from `ask`, and only when your principal's fields match it. Use it to see which topics exist, or which facts decide an answer, before you collect them.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "jurisdiction": {
            "type": "string",
            "enum": [
              "CH"
            ],
            "default": "CH"
          },
          "category_prefix": {
            "type": "string",
            "maxLength": 120,
            "pattern": "^[a-z]+(\\.[a-z0-9_]+)*$",
            "description": "e.g. tax.vat"
          },
          "keywords": {
            "type": "string",
            "maxLength": 100,
            "description": "Plain words; every word must appear in the entry's question or category."
          },
          "language": {
            "type": "string",
            "enum": [
              "de",
              "fr",
              "en"
            ]
          }
        },
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "status",
      "description": "Check a request for quotes or a ticket. Free. After `ask` with `request_quotes`, returns three sample quotes from sample professionals (\"SAMPLE Professional 1\" to \"3\"), side by side and in no ranked order, as the pilot will show real ones. Choose among quotes only by a rule your principal set explicitly; otherwise present them to your principal and wait; never choose by position. After `commit`, returns the sample ticket.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 40,
            "description": "A request_id or a ticket_id."
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "openWorldHint": false
      }
    },
    {
      "name": "commit",
      "description": "Commit to one of the sample quotes returned by `status`: chosen by your principal, or by a rule your principal set explicitly, never by position. Demo: this returns a sample ticket; nothing is ordered, nothing is charged and no professional is contacted. In the pilot this will be the only tool that commits money beyond the plan (the professional's quoted fee, paid to them in full, plus a vidit fee paid by the operator), and only within the budget and policy your principal set.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "maxLength": 40,
            "description": "The request_id returned by ask with request_quotes."
          },
          "choice": {
            "type": "string",
            "maxLength": 40,
            "description": "The quote_id the principal chose, or \"none\"."
          },
          "chosen_by": {
            "type": "string",
            "enum": [
              "principal",
              "principal_rule"
            ],
            "description": "principal: a person at the principal chose. principal_rule: a rule the principal set or expressly accepted chose."
          },
          "principal_rule": {
            "type": "object",
            "description": "Required with chosen_by principal_rule: which rule chose, who at the principal set or accepted it, and when.",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "cheapest_within_budget",
                  "fastest_within_budget"
                ]
              },
              "accepted_by": {
                "type": "string",
                "maxLength": 120
              },
              "accepted_on": {
                "type": "string",
                "format": "date"
              }
            },
            "required": [
              "rule",
              "accepted_by",
              "accepted_on"
            ],
            "additionalProperties": false
          },
          "accepted_by": {
            "type": "string",
            "maxLength": 120,
            "description": "Public demo: not needed; if sent, it is discarded unread. Send no real data."
          },
          "max_budget": {
            "type": "object",
            "properties": {
              "amount": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "currency": {
                "type": "string",
                "enum": [
                  "CHF"
                ]
              }
            },
            "required": [
              "amount"
            ],
            "additionalProperties": false,
            "description": "Cap for this question, CHF, VAT excluded."
          },
          "reuse_opt_in": {
            "type": "boolean",
            "default": false,
            "description": "The principal allows the professional to turn the review, stripped of identifying facts, into a library entry. Revocable."
          }
        },
        "required": [
          "request_id",
          "choice",
          "chosen_by"
        ],
        "additionalProperties": false
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false
      }
    }
  ],
  "resources": [],
  "prompts": []
}