此 MCP 可以做什么
Provides dictionary search, translation, transliteration, romanization, lemmatization, and inflection data for multiple historical and constructed languages.
工具
输入模式
{'type': 'object', 'title': 'anglo_deromanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'ASCII-spelled Old English text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) â\x80\x94 several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), a guess: Old English romanization is deeply lossy (thâ\x86\x90þ or ð, dropped macrons/dots), so the dictionary hit is the reliable answer.'}}}
输出模式
{'type': 'object', '$defs': {'Candidate': {'type': 'object', 'title': 'Candidate', 'required': ['word', 'source'], 'properties': {'kind': {'anyOf': [{'enum': ['lemma', 'form'], 'type': 'string'}, {'type': 'null'}], 'title': 'Kind', 'default': None, 'description': 'For a lossy-family dictionary candidate, whether the word is a headword (lemma) or an inflected form. None for a reconstruction, and always None for Interslavic transliterate (which does not distinguish lemma from form).'}, 'word': {'type': 'string', 'title': 'Word', 'description': 'A real orthographic word (source=dictionary) or the best-effort reconstruction (source=reconstruction).'}, 'source': {'enum': ['dictionary', 'reconstruction'], 'type': 'string', 'title': 'Source', 'description': 'dictionary = an ATTESTED spelling recalled from the dictionary index (exact, no guessing); reconstruction = a best-effort algorithmic guess, returned only when no attested word matched (never emitted by Interslavic transliterate, which returns empty on a miss instead).'}}, 'description': 'One candidate spelling from a reverse-lookup surface (deromanize /\ndetransliterate, or Interslavic transliterate).'}}, 'title': 'DeromanizedText', 'required': ['candidates', 'approximate'], 'properties': {'candidates': {'type': 'array', 'items': {'$ref': '#/$defs/Candidate'}, 'title': 'Candidates'}, 'approximate': {'type': 'boolean', 'title': 'Approximate'}}, 'description': "The MCP-facing payload: candidates only. ``original`` is deliberately absent â\x80\x94\nthe MCP result reaches an LLM's context, so the raw caller text must not be echoed\n(mirrors ``RomanizedText``/``TransliteratedText``)."}
输入模式
{'type': 'object', 'title': 'anglo_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'cyning', 'bindan'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective', 'pronoun'."}}}
输出模式
{'type': 'object', '$defs': {'AngloNumberForms': {'type': 'object', 'title': 'AngloNumberForms', 'properties': {'dual': {'type': 'string', 'title': 'Dual', 'default': ''}, 'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the number forms of one case key. Forms are verbatim\nnormalized Old English; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give is an empty string â\x80\x94 ``dual`` is filled\nonly by the personal-pronoun paradigm (nouns and adjectives have no dual)."}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old English section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'AngloVerbalParadigm': {'type': 'object', 'title': 'AngloVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past'; the imperative has no tense â\x80\x94 its key is just 'imperative') â\x86\x92 person and number ('first singular' â\x80¦ 'third singular', and the bare 'singular'/'plural' the subjunctive and imperative use) â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'inflected infinitive', 'present participle', 'past participle') â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(the two infinitives and the participles). Old English verbs are active only â\x80\x94\nthere is no mediopassive voice â\x80\x94 so all finite keys are bare."}, 'AngloNominalParadigm': {'type': 'object', 'title': 'AngloNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', 'instrumental', â\x80¦) â\x86\x92 its singular/dual/plural forms, in table order. Adjectives prefix the declension class and suffix the gender ('strong nominative feminine'); pronouns prefix the person and, in the third person, the gender ('first person nominative', 'third person masculine accusative'). ``dual`` is populated only on pronoun cells.", 'additionalProperties': {'$ref': '#/$defs/AngloNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/pronoun: case key â\x86\x92 {singular, dual, plural}.\n\nNoun tables are plain: the bare case is the key ('nominative', 'genitive',\n'instrumental'). Adjective tables split by gender (suffixed: 'nominative\nfeminine') and come one per declension class (strong/weak), folded in as a\ntitle-derived prefix: 'strong nominative feminine', 'weak dative neuter'.\nThe personal-pronoun table splits by person (and, in the third person, gender)\nand carries the dual: 'first person nominative' â\x86\x92 {singular, dual, plural},\n'third person masculine accusative' â\x86\x92 {singular, â\x80¦, plural}. ``category``\ndiscriminates this from the verbal and not-found shapes â\x80\x94 switch on it before\nreading the body."}}, 'title': 'anglo_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/AngloNominalParadigm'}, {'$ref': '#/$defs/AngloVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/AngloVerbalParadigm', 'nominal': '#/$defs/AngloNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', 'title': 'anglo_romanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'Old English text to reduce to its primary ASCII spelling. Drops macrons and the dotted Ä¡/Ä\x8b, and folds the special letters (þ/ðâ\x86\x92th, æâ\x86\x92ae, Æ¿â\x86\x92w, Å\x93â\x86\x92oe): þingâ\x86\x92thing, wæterâ\x86\x92waeter. For an ASCII-keyboard downstream. Pass a word, phrase, or several lines.'}}}
输出模式
{'type': 'object', 'title': 'RomanizedText', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'description': 'The primary ASCII spelling.'}}, 'description': "The MCP-facing romanization payload: the ASCII output only. ``original`` is\ndeliberately absent â\x80\x94 the MCP result reaches an LLM's context, so the raw caller\ntext must not be echoed (mirrors the sibling languages)."}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['ang', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``ang`` looks an Old English word up directly (any of\nits forms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches\nin reverse: the English Wiktionary page for the query word lists per-sense Old\nEnglish translations, and each distinct lemma is then looked up normally.'}}, 'title': 'anglo_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Old English (default): a SINGLE Old English word, any form â\x80\x94 an inflected form ('bindaþ') is resolved to its lemma ('bindan') automatically via cached paradigms, and the result says so; the special letters are optional once a paradigm is cached ('thing' finds þing, 'waeter' finds wæter). English (search_language='eng'): the English word whose Old English equivalents you want â\x80\x94 multiword entries like 'apple tree' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses (nouns, the adjectives' strong/weak family, the verbs' moods, the pronouns' dual) in ONE call, no follow-up anglo_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded Old English entries; the per-sense translations list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'ang', 'description': "Language the query word is in: 'ang' (default) looks the Old English word up directly; 'eng' finds the Old English equivalents of a modern English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in modern English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to anglo_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to anglo_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Old English entry on the page: the headword (page title) with one\npart-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'SearchLanguage': {'enum': ['ang', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``ang`` looks an Old English word up directly (any of\nits forms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches\nin reverse: the English Wiktionary page for the query word lists per-sense Old\nEnglish translations, and each distinct lemma is then looked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'n'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title.'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'poetic'; else empty."}}, 'description': 'One Old English word a translations table offers for an English sense.\n``word`` is the Wiktionary page title (what an ``eng`` search re-searches and\nwhat ``anglo_get_inflections`` needs).'}, 'AngloNumberForms': {'type': 'object', 'title': 'AngloNumberForms', 'properties': {'dual': {'type': 'string', 'title': 'Dual', 'default': ''}, 'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the number forms of one case key. Forms are verbatim\nnormalized Old English; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give is an empty string â\x80\x94 ``dual`` is filled\nonly by the personal-pronoun paradigm (nouns and adjectives have no dual)."}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/AngloNominalParadigm'}, {'$ref': '#/$defs/AngloVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/AngloVerbalParadigm', 'nominal': '#/$defs/AngloNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``anglo_get_inflections`` â\x80\x94 or ask\n``search`` to include the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old English section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the Old English terms it offers.'}, 'AngloVerbalParadigm': {'type': 'object', 'title': 'AngloVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past'; the imperative has no tense â\x80\x94 its key is just 'imperative') â\x86\x92 person and number ('first singular' â\x80¦ 'third singular', and the bare 'singular'/'plural' the subjunctive and imperative use) â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'inflected infinitive', 'present participle', 'past participle') â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(the two infinitives and the participles). Old English verbs are active only â\x80\x94\nthere is no mediopassive voice â\x80\x94 so all finite keys are bare."}, 'AngloNominalParadigm': {'type': 'object', 'title': 'AngloNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', 'instrumental', â\x80¦) â\x86\x92 its singular/dual/plural forms, in table order. Adjectives prefix the declension class and suffix the gender ('strong nominative feminine'); pronouns prefix the person and, in the third person, the gender ('first person nominative', 'third person masculine accusative'). ``dual`` is populated only on pronoun cells.", 'additionalProperties': {'$ref': '#/$defs/AngloNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/pronoun: case key â\x86\x92 {singular, dual, plural}.\n\nNoun tables are plain: the bare case is the key ('nominative', 'genitive',\n'instrumental'). Adjective tables split by gender (suffixed: 'nominative\nfeminine') and come one per declension class (strong/weak), folded in as a\ntitle-derived prefix: 'strong nominative feminine', 'weak dative neuter'.\nThe personal-pronoun table splits by person (and, in the third person, gender)\nand carries the dual: 'first person nominative' â\x86\x92 {singular, dual, plural},\n'third person masculine accusative' â\x86\x92 {singular, â\x80¦, plural}. ``category``\ndiscriminates this from the verbal and not-found shapes â\x80\x94 switch on it before\nreading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Old English translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old English entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for ang): the Old English terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original inflected query when resolved; else empty. ang queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. ang queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'properties': {'language': {'enum': ['livonian', 'latin', 'slavonic', 'scythian', 'norse', 'latgalian', 'anglo', 'interslavic'], 'type': 'string', 'description': 'Restrict the index to one dictionary by its id.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'required': ['dictionaries'], 'properties': {'dictionaries': {'type': 'array', 'items': {'type': 'object', 'required': ['language', 'host', 'tools', 'prompts'], 'properties': {'host': {'type': 'string'}, 'tools': {'type': 'array', 'items': {'type': 'string'}}, 'prompts': {'type': 'array', 'items': {'type': 'string'}}, 'language': {'type': 'string'}}}}}}
输入模式
{'type': 'object', 'title': 'interslavic_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'pattern': '^[0-9]{1,24}$', 'description': "The dictionary word id from a search result's inflection handle (a number, e.g. '33555') â\x80\x94 NOT the headword itself (Interslavic homographs share a spelling)."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The paradigm class from a search result's inflection handle: 'noun', 'adjective' or 'verb'."}}}
输出模式
{'type': 'object', '$defs': {'NounParadigm': {'type': 'object', 'title': 'NounParadigm', 'required': ['entry_id', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key ('nom','acc','gen','loc','dat','ins','voc') â\x86\x92 [singular, plural], in table order.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'noun', 'title': 'Category', 'default': 'noun'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'noun', 'description': "The paradigm class: 'noun'."}}, 'description': "Declension of a noun: case key â\x86\x92 [singular, plural]. Interslavic has one\nnumber split (sg/pl) across seven cases. A cell may hold ' / '-separated\nalternates exactly as the reference engine renders them; a number the paradigm\ndoesn't fill is an empty string. ``category`` discriminates the ``Forms`` union â\x80\x94\nswitch on it before reading the body."}, 'VerbParadigm': {'type': 'object', 'title': 'VerbParadigm', 'required': ['entry_id'], 'properties': {'pfap': {'type': 'string', 'title': 'Pfap', 'default': '', 'description': 'Past active participle (perfective).'}, 'pfpp': {'type': 'string', 'title': 'Pfpp', 'default': '', 'description': 'Past passive participle.'}, 'prap': {'type': 'string', 'title': 'Prap', 'default': '', 'description': 'Present active participle (imperfective).'}, 'prpp': {'type': 'string', 'title': 'Prpp', 'default': '', 'description': 'Present passive participle (uncommon).'}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'future': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Future'}, 'gerund': {'type': 'string', 'title': 'Gerund', 'default': '', 'description': 'Verbal noun.'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'perfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Perfect'}, 'present': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Present'}, 'category': {'type': 'string', 'const': 'verb', 'title': 'Category', 'default': 'verb'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'imperfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Imperfect'}, 'imperative': {'type': 'string', 'title': 'Imperative', 'default': ''}, 'infinitive': {'type': 'string', 'title': 'Infinitive', 'default': ''}, 'pluperfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Pluperfect'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'verb', 'description': "The paradigm class: 'verb'."}, 'conditional': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Conditional'}}, 'description': 'Conjugation of a verb: the finite tense/mood series (each a positional list of\nperson forms â\x80\x94 see the grammar-labels resource for the person order per series),\nthe imperative, the participles (present/past Ã\x97 active/passive, present only when\nthe aspect licenses them) and the verbal noun (gerund). Alternates are\ncomma-separated as the reference engine renders them.'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No inflection table for this word/class: an indeclinable (adverb, preposition,\nconjunction, â\x80¦), a multiword lemma, or a pronoun/numeral (closed sets carry no\ngenerated table in v1). ``found`` is False and there is no body.'}, 'AdjectiveParadigm': {'type': 'object', 'title': 'AdjectiveParadigm', 'required': ['entry_id', 'singular', 'plural'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'short': {'type': 'string', 'title': 'Short', 'default': '', 'description': 'The short (predicative) form; may be empty.'}, 'plural': {'type': 'object', 'title': 'Plural', 'description': 'Case key â\x86\x92 gender forms, plural.', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'adjective', 'title': 'Category', 'default': 'adjective'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'singular': {'type': 'object', 'title': 'Singular', 'description': 'Case key â\x86\x92 gender forms, singular.', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'comparison': {'type': 'object', 'title': 'Comparison', 'description': "Degree ('positive','comparative','superlative') â\x86\x92 forms.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'adjective', 'description': "The paradigm class: 'adjective'."}}, 'description': 'Declension of an adjective: singular and plural case tables (each case key â\x86\x92\nthe gender forms the engine renders, [masculine, neuter, feminine] where the case\ndistinguishes all three, fewer where it collapses them), the ``short`` form, and\nthe ``comparison`` degrees (positive/comparative/superlative).'}}, 'title': 'interslavic_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/NounParadigm'}, {'$ref': '#/$defs/AdjectiveParadigm'}, {'$ref': '#/$defs/VerbParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'noun': '#/$defs/NounParadigm', 'verb': '#/$defs/VerbParadigm', 'adjective': '#/$defs/AdjectiveParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['isv', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "The query language. ``isv`` looks an Interslavic word up directly â\x80\x94 any of its\ninflected forms resolves to the headword via the bundled reverse form index, and\na Latin or Cyrillic spelling both work. ``eng`` searches in reverse: the English\nquery is matched against the entries' English glosses and each matched Interslavic\nlemma is then looked up normally. The dictionary translates into 11 more Slavic\nlanguages, but only isv and eng are QUERYABLE in v1 â\x80\x94 the other columns are\nread-only (returned in each entry's translation matrix)."}}, 'title': 'interslavic_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Interslavic (default): a SINGLE Interslavic word, any form and either script â\x80\x94 an inflected form ('brata') resolves to its headword ('brat') via the reverse form index, Latin and Cyrillic both work for headwords, and diacritics are optional ('delati' finds 'dÄ\x9blati'). English (search_language='eng'): the English word whose Interslavic equivalents you want."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). Tables are served from the bundled dataset (no network), so this is cheap. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses in ONE call, no follow-up interslavic_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. Pronouns, numerals and indeclinables carry no table. For eng queries this governs the expanded Interslavic entries."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'isv', 'description': "Language the query is in: 'isv' (default) looks the Interslavic word up directly; 'eng' finds the Interslavic equivalents of an English word (via the gloss index) and returns their full entries. These are the only two queryable languages in v1 â\x80\x94 each entry ALSO carries a read-only translation matrix into 11 more languages (Russian, Polish, Czech, Ukrainian, â\x80¦), but you cannot query IN those."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Word id â\x80\x94 feed to interslavic_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword', 'description': 'The Interslavic headword, Latin script.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': "Paradigm class ('noun'/'adjective'/'verb') or '' if none."}, 'translations': {'$ref': '#/$defs/TranslationMatrix'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': '', 'description': "Raw POS tag, e.g. 'm.anim.', 'v.tr.'."}, 'intelligibility': {'type': 'string', 'title': 'Intelligibility', 'default': '', 'description': 'Per-language intelligibility flags as the source marks them.'}, 'headword_cyrillic': {'type': 'string', 'title': 'Headword Cyrillic', 'default': '', 'description': 'The headword in Cyrillic.'}}, 'description': "One Interslavic dictionary entry: the headword (in both scripts), its part of\nspeech, and its translation matrix â\x80\x94 the entry's content. ``word_class`` is the\nparadigm class ('noun'/'adjective'/'verb') or '' when the word has no generated\ntable; feed ``entry_id`` + ``word_class`` to ``interslavic_get_inflections``."}, 'NounParadigm': {'type': 'object', 'title': 'NounParadigm', 'required': ['entry_id', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key ('nom','acc','gen','loc','dat','ins','voc') â\x86\x92 [singular, plural], in table order.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'noun', 'title': 'Category', 'default': 'noun'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'noun', 'description': "The paradigm class: 'noun'."}}, 'description': "Declension of a noun: case key â\x86\x92 [singular, plural]. Interslavic has one\nnumber split (sg/pl) across seven cases. A cell may hold ' / '-separated\nalternates exactly as the reference engine renders them; a number the paradigm\ndoesn't fill is an empty string. ``category`` discriminates the ``Forms`` union â\x80\x94\nswitch on it before reading the body."}, 'VerbParadigm': {'type': 'object', 'title': 'VerbParadigm', 'required': ['entry_id'], 'properties': {'pfap': {'type': 'string', 'title': 'Pfap', 'default': '', 'description': 'Past active participle (perfective).'}, 'pfpp': {'type': 'string', 'title': 'Pfpp', 'default': '', 'description': 'Past passive participle.'}, 'prap': {'type': 'string', 'title': 'Prap', 'default': '', 'description': 'Present active participle (imperfective).'}, 'prpp': {'type': 'string', 'title': 'Prpp', 'default': '', 'description': 'Present passive participle (uncommon).'}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'future': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Future'}, 'gerund': {'type': 'string', 'title': 'Gerund', 'default': '', 'description': 'Verbal noun.'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'perfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Perfect'}, 'present': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Present'}, 'category': {'type': 'string', 'const': 'verb', 'title': 'Category', 'default': 'verb'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'imperfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Imperfect'}, 'imperative': {'type': 'string', 'title': 'Imperative', 'default': ''}, 'infinitive': {'type': 'string', 'title': 'Infinitive', 'default': ''}, 'pluperfect': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Pluperfect'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'verb', 'description': "The paradigm class: 'verb'."}, 'conditional': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Conditional'}}, 'description': 'Conjugation of a verb: the finite tense/mood series (each a positional list of\nperson forms â\x80\x94 see the grammar-labels resource for the person order per series),\nthe imperative, the participles (present/past Ã\x97 active/passive, present only when\nthe aspect licenses them) and the verbal noun (gerund). Alternates are\ncomma-separated as the reference engine renders them.'}, 'SearchLanguage': {'enum': ['isv', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "The query language. ``isv`` looks an Interslavic word up directly â\x80\x94 any of its\ninflected forms resolves to the headword via the bundled reverse form index, and\na Latin or Cyrillic spelling both work. ``eng`` searches in reverse: the English\nquery is matched against the entries' English glosses and each matched Interslavic\nlemma is then looked up normally. The dictionary translates into 11 more Slavic\nlanguages, but only isv and eng are QUERYABLE in v1 â\x80\x94 the other columns are\nread-only (returned in each entry's translation matrix)."}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'The Interslavic headword, Latin script.'}, 'word_cyrillic': {'type': 'string', 'title': 'Word Cyrillic', 'default': '', 'description': 'The headword in Cyrillic.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': '', 'description': 'Raw POS tag.'}}, 'description': "One Interslavic word an English query's gloss match offers. ``word`` is the\nheadword (what an ``eng`` search re-searches and what a handle needs)."}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/NounParadigm'}, {'$ref': '#/$defs/AdjectiveParadigm'}, {'$ref': '#/$defs/VerbParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'noun': '#/$defs/NounParadigm', 'verb': '#/$defs/VerbParadigm', 'adjective': '#/$defs/AdjectiveParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'The headword, for display.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id â\x80\x94 NOT the headword.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': "Raw part-of-speech tag, e.g. 'm.anim.'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Paradigm class: 'noun', 'adjective' or 'verb'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the word\nid) + ``word_class`` (the paradigm class) to ``interslavic_get_inflections`` â\x80\x94 or\nask ``search`` to include the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No inflection table for this word/class: an indeclinable (adverb, preposition,\nconjunction, â\x80¦), a multiword lemma, or a pronoun/numeral (closed sets carry no\ngenerated table in v1). ``found`` is False and there is no body.'}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The matched English query.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': "One English query and the Interslavic words whose English gloss matched it.\nMatching is by the local gloss index (built from every entry's English column);\nthe single sense carries the query itself."}, 'AdjectiveParadigm': {'type': 'object', 'title': 'AdjectiveParadigm', 'required': ['entry_id', 'singular', 'plural'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'short': {'type': 'string', 'title': 'Short', 'default': '', 'description': 'The short (predicative) form; may be empty.'}, 'plural': {'type': 'object', 'title': 'Plural', 'description': 'Case key â\x86\x92 gender forms, plural.', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'category': {'type': 'string', 'const': 'adjective', 'title': 'Category', 'default': 'adjective'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The dictionary word id (NOT the headword).'}, 'singular': {'type': 'object', 'title': 'Singular', 'description': 'Case key â\x86\x92 gender forms, singular.', 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'comparison': {'type': 'object', 'title': 'Comparison', 'description': "Degree ('positive','comparative','superlative') â\x86\x92 forms.", 'additionalProperties': {'type': 'array', 'items': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': 'adjective', 'description': "The paradigm class: 'adjective'."}}, 'description': 'Declension of an adjective: singular and plural case tables (each case key â\x86\x92\nthe gender forms the engine renders, [masculine, neuter, feminine] where the case\ndistinguishes all three, fewer where it collapses them), the ``short`` form, and\nthe ``comparison`` degrees (positive/comparative/superlative).'}, 'TranslationMatrix': {'type': 'object', 'title': 'TranslationMatrix', 'properties': {'be': {'type': 'string', 'title': 'Be', 'default': ''}, 'bg': {'type': 'string', 'title': 'Bg', 'default': ''}, 'cs': {'type': 'string', 'title': 'Cs', 'default': ''}, 'en': {'type': 'string', 'title': 'En', 'default': ''}, 'hr': {'type': 'string', 'title': 'Hr', 'default': ''}, 'mk': {'type': 'string', 'title': 'Mk', 'default': ''}, 'pl': {'type': 'string', 'title': 'Pl', 'default': ''}, 'ru': {'type': 'string', 'title': 'Ru', 'default': ''}, 'sk': {'type': 'string', 'title': 'Sk', 'default': ''}, 'sl': {'type': 'string', 'title': 'Sl', 'default': ''}, 'sr': {'type': 'string', 'title': 'Sr', 'default': ''}, 'uk': {'type': 'string', 'title': 'Uk', 'default': ''}}, 'description': "One entry's translations into the dictionary's target languages (isv â\x86\x92 â\x80¦).\nAn absent translation is an empty string. English (``en``) is also the reverse\nsearch key; the Slavic columns are read-only in v1. This IS the entry's content â\x80\x94\nInterslavic is a bridge language, so the multilingual equivalents are the point."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means the gloss index named Interslavic words â\x80\x94 entries may still be empty when none of them expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Interslavic dictionary (Medžuslovjansky slovnik), J. van Steenbergen et al. â\x80\x94 steen.free.fr / medzuslovjansky (interslavic-dictionary.com). Morphology by @interslavic/utils. Reuse licence unconfirmed; reused here with attribution.'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for isv): the Interslavic words whose English gloss matched the query. Entries/handles below are the expanded entries of those words.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original query when resolved via the index; else empty. isv queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query matched a headword; 'lemma_index' = an inflected/alternate spelling resolved via the reverse form index; 'translations' = an English query resolved via the gloss index."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The headword actually searched when resolved; else empty. isv queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct matched words were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'interslavic_transliterateArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'ONE Interslavic word (not a phrase â\x80\x94 the lookup does not tokenize). Auto-detects the script and returns the attested spelling in the OTHER script (Latinâ\x86\x94Cyrillic). A word absent from the dataset, or input with no clear script, returns empty candidates â\x80\x94 this is an exact lookup and never guesses.'}, 'target': {'anyOf': [{'enum': ['cyrillic', 'latin'], 'type': 'string'}, {'type': 'null'}], 'title': 'Target', 'default': None, 'description': 'Force the output script (cyrillic|latin); omit to auto-detect.'}}}
输出模式
{'type': 'object', '$defs': {'Candidate': {'type': 'object', 'title': 'Candidate', 'required': ['word', 'source'], 'properties': {'kind': {'anyOf': [{'enum': ['lemma', 'form'], 'type': 'string'}, {'type': 'null'}], 'title': 'Kind', 'default': None, 'description': 'For a lossy-family dictionary candidate, whether the word is a headword (lemma) or an inflected form. None for a reconstruction, and always None for Interslavic transliterate (which does not distinguish lemma from form).'}, 'word': {'type': 'string', 'title': 'Word', 'description': 'A real orthographic word (source=dictionary) or the best-effort reconstruction (source=reconstruction).'}, 'source': {'enum': ['dictionary', 'reconstruction'], 'type': 'string', 'title': 'Source', 'description': 'dictionary = an ATTESTED spelling recalled from the dictionary index (exact, no guessing); reconstruction = a best-effort algorithmic guess, returned only when no attested word matched (never emitted by Interslavic transliterate, which returns empty on a miss instead).'}}, 'description': 'One candidate spelling from a reverse-lookup surface (deromanize /\ndetransliterate, or Interslavic transliterate).'}}, 'title': 'TransliteratedText', 'required': ['candidates', 'direction'], 'properties': {'direction': {'enum': ['latin_to_cyrillic', 'cyrillic_to_latin', 'unknown'], 'type': 'string', 'title': 'Direction'}, 'candidates': {'type': 'array', 'items': {'$ref': '#/$defs/Candidate'}, 'title': 'Candidates'}}, 'description': "The MCP-facing payload: candidates + direction only. ``original`` is deliberately\nabsent â\x80\x94 the MCP result reaches an LLM's context, so the raw caller text is not\nechoed (mirrors the sibling languages)."}
输入模式
{'type': 'object', 'title': 'latgalian_deromanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'Romanized (clean-ASCII) Latgalian text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) â\x80\x94 several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), which is a guess: romanize is lossy, so case, the plain o/Å\x8d, the cedilla on Å\x97 and macron length cannot be recovered, and a soft-consonant glide (ly/ny/ky/gy) may be over-restored.'}}}
输出模式
{'type': 'object', '$defs': {'Candidate': {'type': 'object', 'title': 'Candidate', 'required': ['word', 'source'], 'properties': {'kind': {'anyOf': [{'enum': ['lemma', 'form'], 'type': 'string'}, {'type': 'null'}], 'title': 'Kind', 'default': None, 'description': 'For a lossy-family dictionary candidate, whether the word is a headword (lemma) or an inflected form. None for a reconstruction, and always None for Interslavic transliterate (which does not distinguish lemma from form).'}, 'word': {'type': 'string', 'title': 'Word', 'description': 'A real orthographic word (source=dictionary) or the best-effort reconstruction (source=reconstruction).'}, 'source': {'enum': ['dictionary', 'reconstruction'], 'type': 'string', 'title': 'Source', 'description': 'dictionary = an ATTESTED spelling recalled from the dictionary index (exact, no guessing); reconstruction = a best-effort algorithmic guess, returned only when no attested word matched (never emitted by Interslavic transliterate, which returns empty on a miss instead).'}}, 'description': 'One candidate spelling from a reverse-lookup surface (deromanize /\ndetransliterate, or Interslavic transliterate).'}}, 'title': 'DeromanizedText', 'required': ['candidates', 'approximate'], 'properties': {'candidates': {'type': 'array', 'items': {'$ref': '#/$defs/Candidate'}, 'title': 'Candidates'}, 'approximate': {'type': 'boolean', 'title': 'Approximate'}}, 'description': "The MCP-facing payload: candidates only. ``original`` is deliberately absent â\x80\x94\nthe MCP result reaches an LLM's context, so the raw caller text must not be echoed\n(mirrors ``RomanizedText``/``TransliteratedText``)."}
输入模式
{'type': 'object', 'title': 'latgalian_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'akmiÅ\x86s', 'byut'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'."}}}
输出模式
{'type': 'object', '$defs': {'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Latgalian section, no table, or the\npage doesn't exist). ``found`` is False and there is no body."}, 'LatgalianNumberForms': {'type': 'object', 'title': 'LatgalianNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nLatgalian; alternates stay comma-separated as Wiktionary renders them. A number\nthe table doesn't give (defective paradigms) is an empty string."}, 'LatgalianVerbalParadigm': {'type': 'object', 'title': 'LatgalianVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood key (lower-case: 'indicative present', 'indicative past', 'indicative future', 'subjunctive', 'imperative'; the negative table's keys are prefixed â\x80\x94 'negative indicative past') â\x86\x92 person or number ('first singular' â\x80¦ 'third plural'; the imperative uses bare 'singular'/'plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'supine', 'verbal noun', 'converb', 'debitive', and the participles keyed by tense and voice â\x80\x94 'past active participle', 'present passive participle'; negative-prefixed for that table) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood (and, for the indicative, tense) â\x86\x92 person-or-number â\x86\x92 form, plus\nthe non-finite forms (infinitive, supine, verbal noun, converb, debitive and\nthe participles). The negative conjugation renders as its own table and its keys\ncarry a 'negative ' prefix; positive keys are bare."}, 'LatgalianNominalParadigm': {'type': 'object', 'title': 'LatgalianNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns use the bare case; adjectives prefix the state â\x80\x94 'indefinite nominative' â\x80\x94 and suffix the gender â\x80\x94 'indefinite nominative masculine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/LatgalianNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables give the bare case ('nominative', 'genitive', â\x80¦ â\x80\x94 the seven\nLatgalian cases), with no definiteness. Adjective tables come as a family:\nthe state (indefinite/definite, from the table's NavHead) prefixes the key and\nthe gender (masculine/feminine, from the header row) suffixes it â\x80\x94\n'indefinite nominative masculine', 'definite locative feminine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'latgalian_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/LatgalianNominalParadigm'}, {'$ref': '#/$defs/LatgalianVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/LatgalianVerbalParadigm', 'nominal': '#/$defs/LatgalianNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', 'title': 'latgalian_romanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': "Latgalian text to reduce to clean, pronounceable ASCII. Lowercases and maps each special letter to an English-readable spelling: the macron vowels double (Ä\x81â\x86\x92aa, Ä\x93â\x86\x92ee, Ä«â\x86\x92ee, Å\x8dâ\x86\x92o, Å«â\x86\x92oo), the caron consonants respell (Ä\x8dâ\x86\x92ch, Å¡â\x86\x92sh, žâ\x86\x92zh), and the soft consonants take a 'y' glide (ļâ\x86\x92ly, Å\x86â\x86\x92ny, Ä·â\x86\x92ky, Ä£â\x86\x92gy; Å\x97â\x86\x92r). A one-way fold â\x80\x94 diacritics are dropped, never added. Pass a word, phrase, or several lines; whitespace and punctuation are preserved."}}}
输出模式
{'type': 'object', 'title': 'RomanizedText', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'description': 'The romanized ASCII output.'}}, 'description': "The MCP-facing romanization payload: the ASCII output only. ``original`` is\ndeliberately absent â\x80\x94 like the Markdown render (see\n:func:`~livonian.languages.latgalian.render.romanization_to_markdown`), the MCP\nresult reaches an LLM's context, so the raw caller text must not be echoed\nthrough it. The JSON API's :class:`Romanization` keeps the echo for\nprogrammatic callers."}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['ltg', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``ltg`` looks a Latgalian word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense\nLatgalian translations, and each distinct lemma is then looked up normally.'}}, 'title': 'latgalian_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Latgalian (default): a SINGLE Latgalian word, any form â\x80\x94 an inflected form ('akmiÅ\x86a') is resolved to its lemma ('akmiÅ\x86s') automatically via cached paradigms, and the result says so; diacritics are optional once a paradigm is cached ('akmins' finds 'akmiÅ\x86s'). English (search_language='eng'): the English word whose Latgalian equivalents you want â\x80\x94 multiword entries like 'apple tree' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses in ONE call, no follow-up latgalian_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded Latgalian entries; the per-sense translations list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'ltg', 'description': "Language the query word is in: 'ltg' (default) looks the Latgalian word up directly; 'eng' finds the Latgalian equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to latgalian_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to latgalian_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Latgalian entry on the page: the headword (page title) with one\npart-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'SearchLanguage': {'enum': ['ltg', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``ltg`` looks a Latgalian word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense\nLatgalian translations, and each distinct lemma is then looked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'm'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title.'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'dialectal'; else empty."}}, 'description': 'One Latgalian word a translations table offers for an English sense. ``word``\nis the Wiktionary page title (what an ``eng`` search re-searches and what\n``latgalian_get_inflections`` needs).'}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/LatgalianNominalParadigm'}, {'$ref': '#/$defs/LatgalianVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/LatgalianVerbalParadigm', 'nominal': '#/$defs/LatgalianNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``latgalian_get_inflections`` â\x80\x94 or\nask ``search`` to include the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Latgalian section, no table, or the\npage doesn't exist). ``found`` is False and there is no body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the Latgalian terms it offers.'}, 'LatgalianNumberForms': {'type': 'object', 'title': 'LatgalianNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nLatgalian; alternates stay comma-separated as Wiktionary renders them. A number\nthe table doesn't give (defective paradigms) is an empty string."}, 'LatgalianVerbalParadigm': {'type': 'object', 'title': 'LatgalianVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood key (lower-case: 'indicative present', 'indicative past', 'indicative future', 'subjunctive', 'imperative'; the negative table's keys are prefixed â\x80\x94 'negative indicative past') â\x86\x92 person or number ('first singular' â\x80¦ 'third plural'; the imperative uses bare 'singular'/'plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'supine', 'verbal noun', 'converb', 'debitive', and the participles keyed by tense and voice â\x80\x94 'past active participle', 'present passive participle'; negative-prefixed for that table) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood (and, for the indicative, tense) â\x86\x92 person-or-number â\x86\x92 form, plus\nthe non-finite forms (infinitive, supine, verbal noun, converb, debitive and\nthe participles). The negative conjugation renders as its own table and its keys\ncarry a 'negative ' prefix; positive keys are bare."}, 'LatgalianNominalParadigm': {'type': 'object', 'title': 'LatgalianNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns use the bare case; adjectives prefix the state â\x80\x94 'indefinite nominative' â\x80\x94 and suffix the gender â\x80\x94 'indefinite nominative masculine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/LatgalianNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables give the bare case ('nominative', 'genitive', â\x80¦ â\x80\x94 the seven\nLatgalian cases), with no definiteness. Adjective tables come as a family:\nthe state (indefinite/definite, from the table's NavHead) prefixes the key and\nthe gender (masculine/feminine, from the header row) suffixes it â\x80\x94\n'indefinite nominative masculine', 'definite locative feminine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Latgalian translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latgalian entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for ltg): the Latgalian terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original inflected query when resolved; else empty. ltg queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. ltg queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'latin_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'amo', 'aqua'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'."}}}
输出模式
{'type': 'object', '$defs': {'NumberForms': {'type': 'object', 'title': 'NumberForms', 'required': ['singular', 'plural'], 'properties': {'plural': {'type': 'string', 'title': 'Plural'}, 'singular': {'type': 'string', 'title': 'Singular'}}, 'description': 'A declension cell: the two number forms of one case. Latin forms are verbatim\n(macrons preserved); alternates stay space-separated as Wiktionary renders them.'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Latin section, no table, or the\npage doesn't exist). ``found`` is False and there is no table body."}, 'LatinVerbalParadigm': {'type': 'object', 'title': 'LatinVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "'<voice> <mood> <tense>' (lower-case, e.g. 'active indicative present') â\x86\x92 person/number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Periphrastic rows (e.g. passive perfect) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section ('infinitive', 'participle', 'gerund', 'supine') â\x86\x92 label ('active present', 'genitive', â\x80¦) â\x86\x92 the form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Conjugation of a verb, grouped the way Wiktionary\'s table is:\nfinite cells keyed by "<voice> <mood> <tense>" â\x86\x92 person/number â\x86\x92 form, plus the\nnon-finite sections (infinitives, participles, gerund, supine).'}, 'LatinNominalParadigm': {'type': 'object', 'title': 'LatinNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case name (lower-case: 'nominative', 'genitive', â\x80¦) â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Declension of a noun/adjective/etc.: case â\x86\x92 {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch on\nit before reading the body.'}}, 'title': 'latin_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/LatinNominalParadigm'}, {'$ref': '#/$defs/LatinVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/LatinVerbalParadigm', 'nominal': '#/$defs/LatinNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', 'title': 'latin_lemmatizeArguments', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'maxLength': 80, 'minLength': 1, 'description': "One inflected Latin word form to analyze, e.g. 'amavit', 'aquam'. Macrons optional."}}}
输出模式
{'type': 'object', '$defs': {'MorphAnalysis': {'type': 'object', 'title': 'MorphAnalysis', 'required': ['lemma'], 'properties': {'tags': {'type': 'object', 'title': 'Tags', 'additionalProperties': {'type': 'string'}}, 'lemma': {'type': 'string', 'title': 'Lemma'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Morpheus morphological analyses via the Perseids Project morphology service (morph.perseids.org), Tufts University / Perseus Digital Library.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': 'One Morpheus analysis of an inflected form: its lemma plus the grammatical\ntags the analyzer assigned (mood/tense/case/number/â\x80¦, whatever applies).'}}, 'title': 'Lemmatization', 'required': ['word', 'found'], 'properties': {'word': {'type': 'string', 'title': 'Word'}, 'found': {'type': 'boolean', 'title': 'Found'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Morpheus morphological analyses via the Perseids Project morphology service (morph.perseids.org), Tufts University / Perseus Digital Library.'}, 'analyses': {'type': 'array', 'items': {'$ref': '#/$defs/MorphAnalysis'}, 'title': 'Analyses'}}, 'description': 'The result of lemmatizing one word form via Morpheus.'}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['lat', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``lat`` looks a Latin word up directly (any of its forms â\x80\x94\nan inflected query resolves via the form index or Morpheus). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Latin\ntranslations, and each distinct Latin lemma is then looked up normally.'}}, 'title': 'latin_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Latin (default): a SINGLE word, any form â\x80\x94 an inflected form ('amavit') is resolved to its lemma ('amo') automatically, and the result names it (search_method tells you how; resolved_lemma is the lemma to follow for the full paradigm); macrons are optional ('amo' and 'amÅ\x8d' both work). English (search_language='eng'): the English word whose Latin equivalents you want â\x80\x94 multiword entries like 'give up' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses in ONE call, no follow-up latin_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded Latin entries; the per-sense translations list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'lat', 'description': "Language the query word is in: 'lat' (default) looks the Latin word up directly; 'eng' finds the Latin equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to latin_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to latin_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Latin entry on the page: the headword (page title) with one\npart-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'form_of': {'type': 'string', 'title': 'Form Of', 'default': '', 'description': "When this sense is a non-lemma inflected form ('accusative singular of aqua'), the lemma it inflects from â\x80\x94 its Wiktionary page title, ready to search or feed to latin_get_inflections for the full paradigm. Empty for an ordinary gloss."}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'NumberForms': {'type': 'object', 'title': 'NumberForms', 'required': ['singular', 'plural'], 'properties': {'plural': {'type': 'string', 'title': 'Plural'}, 'singular': {'type': 'string', 'title': 'Singular'}}, 'description': 'A declension cell: the two number forms of one case. Latin forms are verbatim\n(macrons preserved); alternates stay space-separated as Wiktionary renders them.'}, 'SearchLanguage': {'enum': ['lat', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``lat`` looks a Latin word up directly (any of its forms â\x80\x94\nan inflected query resolves via the form index or Morpheus). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Latin\ntranslations, and each distinct Latin lemma is then looked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'f'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title (macrons).'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'poetic'; else empty."}}, 'description': "One Latin word a translations table offers for an English sense. ``word`` is\nthe Wiktionary page title (what an ``eng`` search re-searches and what\n``latin_get_inflections`` needs); ``display`` keeps the rendered text only when it\ndiffers (macrons: title 'uvidus' renders as 'Å«vidus')."}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/LatinNominalParadigm'}, {'$ref': '#/$defs/LatinVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/LatinVerbalParadigm', 'nominal': '#/$defs/LatinNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``latin_get_inflections`` â\x80\x94 or ask\n``search`` to include the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Latin section, no table, or the\npage doesn't exist). ``found`` is False and there is no table body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the Latin terms it offers.'}, 'LatinVerbalParadigm': {'type': 'object', 'title': 'LatinVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "'<voice> <mood> <tense>' (lower-case, e.g. 'active indicative present') â\x86\x92 person/number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Periphrastic rows (e.g. passive perfect) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section ('infinitive', 'participle', 'gerund', 'supine') â\x86\x92 label ('active present', 'genitive', â\x80¦) â\x86\x92 the form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Conjugation of a verb, grouped the way Wiktionary\'s table is:\nfinite cells keyed by "<voice> <mood> <tense>" â\x86\x92 person/number â\x86\x92 form, plus the\nnon-finite sections (infinitives, participles, gerund, supine).'}, 'LatinNominalParadigm': {'type': 'object', 'title': 'LatinNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case name (lower-case: 'nominative', 'genitive', â\x80¦) â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Declension of a noun/adjective/etc.: case â\x86\x92 {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch on\nit before reading the body.'}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Latin translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Latin entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for lat): the Latin terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': "The query whose lemma this result names (paired with resolved_lemma); else empty. lat queries only (always empty for eng). Set both when an inflected miss was re-searched (search_method lemma_index/morpheus) and when the query's own page is a form-of stub returned directly (search_method stays 'direct')."}, 'search_method': {'enum': ['direct', 'lemma_index', 'morpheus', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'morpheus' = resolved via the Morpheus morphological analyzer; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': "The lemma this query maps to; else empty. lat queries only. With search_method 'lemma_index'/'morpheus' the entries below ARE this lemma's; with 'direct' the entries are the queried form-of stub and this names the lemma whose page holds the full paradigm (search it / latin_get_inflections it). Only set when unambiguous â\x80\x94 a form mapping to several lemmas leaves it empty (use lemmatize); the per-sense form_of still carries each."}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'livonian_deromanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'Romanized (clean-ASCII) Livonian text to resolve back to real orthography. Returns the attested dictionary spelling(s) whose romanization matches (source=dictionary, exact) â\x80\x94 several may match one ambiguous key. On a miss, a single best-effort reconstruction (source=reconstruction, approximate=true), which is a guess: romanize is lossy, so case, stød, palatalization and macron length cannot be recovered.'}}}
输出模式
{'type': 'object', '$defs': {'Candidate': {'type': 'object', 'title': 'Candidate', 'required': ['word', 'source'], 'properties': {'kind': {'anyOf': [{'enum': ['lemma', 'form'], 'type': 'string'}, {'type': 'null'}], 'title': 'Kind', 'default': None, 'description': 'For a lossy-family dictionary candidate, whether the word is a headword (lemma) or an inflected form. None for a reconstruction, and always None for Interslavic transliterate (which does not distinguish lemma from form).'}, 'word': {'type': 'string', 'title': 'Word', 'description': 'A real orthographic word (source=dictionary) or the best-effort reconstruction (source=reconstruction).'}, 'source': {'enum': ['dictionary', 'reconstruction'], 'type': 'string', 'title': 'Source', 'description': 'dictionary = an ATTESTED spelling recalled from the dictionary index (exact, no guessing); reconstruction = a best-effort algorithmic guess, returned only when no attested word matched (never emitted by Interslavic transliterate, which returns empty on a miss instead).'}}, 'description': 'One candidate spelling from a reverse-lookup surface (deromanize /\ndetransliterate, or Interslavic transliterate).'}}, 'title': 'DeromanizedText', 'required': ['candidates', 'approximate'], 'properties': {'candidates': {'type': 'array', 'items': {'$ref': '#/$defs/Candidate'}, 'title': 'Candidates'}, 'approximate': {'type': 'boolean', 'title': 'Approximate'}}, 'description': "The MCP-facing payload: candidates only. ``original`` is deliberately absent â\x80\x94\nthe MCP result reaches an LLM's context, so the raw caller text must not be echoed\n(mirrors ``RomanizedText``/``TransliteratedText``)."}
输入模式
{'type': 'object', 'title': 'livonian_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'anyOf': [{'type': 'integer'}, {'type': 'string'}], 'title': 'Entry Id', 'description': 'The word id from a search result\'s inflection handle. Accepts a number or a digit-string (e.g. 17746 or "17746").'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z]+$', 'maxLength': 8, 'minLength': 1, 'description': "The word-class code from a search result's inflection handle (e.g. 's' = noun, 'adj' = adjective, 'vi' = intransitive verb, 'vt' = transitive verb)."}}}
输出模式
{'type': 'object', '$defs': {'Polarity': {'type': 'object', 'title': 'Polarity', 'required': ['affirmative', 'negative'], 'properties': {'negative': {'type': 'string', 'title': 'Negative'}, 'affirmative': {'type': 'string', 'title': 'Affirmative'}}, 'description': 'A verbal cell: the two polarities of one person in one mood/tense. ``negative``\nis the ready-to-use form â\x80\x94 the negation auxiliary (äb/äd/iz/algõâ\x80¦) is already folded\nin (e.g. ``äb toup``), not orphaned in a separate column. Livonian forms are verbatim.'}, 'NumberForms': {'type': 'object', 'title': 'NumberForms', 'required': ['singular', 'plural'], 'properties': {'plural': {'type': 'string', 'title': 'Plural'}, 'singular': {'type': 'string', 'title': 'Singular'}}, 'description': 'A nominal cell: the two number forms of one case. Livonian forms are verbatim.'}, 'VerbalParadigm': {'type': 'object', 'title': 'VerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood/tense (English, lower-case: 'present', 'past', 'conditional', â\x80¦) â\x86\x92 pronoun (Livonian, verbatim: ma/sa/ta/mÄ\x93g/tÄ\x93g/ne) â\x86\x92 {affirmative, negative}. The negative already includes its auxiliary.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'$ref': '#/$defs/Polarity'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section (English, lower-case: 'principal parts', 'participles') â\x86\x92 form label (English) â\x86\x92 the Livonian form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Conjugation of a verb, grouped the way the grammar is: finite moods/tenses by\nperson and polarity, plus the non-finite forms.\n\n``category`` discriminates this from the nominal and not-found shapes.'}, 'NominalParadigm': {'type': 'object', 'title': 'NominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case name (English, lower-case) â\x86\x92 its singular/plural forms, in paradigm order, e.g. 'nominative', 'genitive', 'partitive'.", 'additionalProperties': {'$ref': '#/$defs/NumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Declension of a noun/adjective/numeral/pronoun: case â\x86\x92 {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch on it\nbefore reading the body.'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No paradigm for this entry_id/word_class (the morphology DB has none, or the\nhandle was wrong). ``found`` is False and there is no table body.'}}, 'title': 'livonian_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/NominalParadigm'}, {'$ref': '#/$defs/VerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/VerbalParadigm', 'nominal': '#/$defs/NominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', 'title': 'livonian_romanizeArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': "Livonian text to reduce to clean, pronounceable ASCII. Strips macrons, diacritics and capitals (Ä\x81â\x86\x92aa, Å¡â\x86\x92sh, õâ\x86\x92u), softens a palatalized consonant (Å\x86 ļ Å\x97 Å£ á¸\x91) only before a vowel (Å\x86+aâ\x86\x92nya, else ikÅ¡iggiÅ\x86â\x86\x92ikshiggin), and hyphenates the broken tone (si'zzõlâ\x86\x92siz-zul) and long-vowel diphthong glides (kÄ«enâ\x86\x92kee-en). Pass a word, phrase, or several lines."}}}
输出模式
{'type': 'object', 'title': 'RomanizedText', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'description': 'The romanized ASCII output.'}}, 'description': "The MCP-facing romanization payload: the ASCII output only. ``original`` is\ndeliberately absent â\x80\x94 like the Markdown render (see\n:func:`~livonian.languages.livonian.render.romanization_to_markdown`), the MCP\nresult reaches an LLM's context, so the raw caller text must not be echoed\nthrough it. The JSON API's :class:`Romanization` keeps the echo for\nprogrammatic callers."}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['liv', 'lat', 'est', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "Which language the query word is matched against. Headwords come back in\nLivonian and glosses in English either way; this only selects the language the\nquery term is in. Codes are the site's own."}}, 'title': 'livonian_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 120, 'minLength': 1, 'description': "A SINGLE content word, not a phrase. Exactly one word per call â\x80\x94 even with several candidates or synonyms in mind, search them one at a time ('see', then 'look'), never combined into one query like 'see look'. Drop function words and infinitive markers â\x80\x94 search 'to water' as 'water', 'the sea' as 'sea'. The dictionary matches one attested headword, so a multi-word query often returns nothing even when the word exists; search the main word first, then refine. May be Livonian, Latvian, Estonian, or English (e.g. 'jarÄ\x81', 'away', 'sea'). Matching is bidirectional. An inflected Livonian form (search_language='liv') is resolved to its dictionary lemma automatically when the form is known â\x80\x94 the result says so when that happened."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': "Optional override for how many inflection tables to expand this call (0â\x80\x9312). Raise it to pull more tables in ONE call on a broad query, or set a small value to keep a broad query cheap. On an uncached query each table is fetched sequentially with polite pacing toward the upstream, so a high value on a cold broad query is slow â\x80\x94 the bound limits upstream fan-out, not just response size. Omit to use the server's default cap."}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full inflection table is returned INLINE â\x80\x94 usable cases/tenses in ONE call, no follow-up livonian_get_inflections. Set false to get just the headword handles + glosses: a cheap way to SCREEN several candidate words or synonyms (which exist? which sense?) before spending forms on the one you pick. Bounded by a per-search cap â\x80\x94 use max_forms to raise or lower it for this call."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'eng', 'description': "Language your query word is in â\x80\x94 selects which language the search matches against: 'eng' (default), 'liv', 'lat', or 'est'. For Englishâ\x86\x92Livonian translation, keep 'eng'. Glosses are in English."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Numeric word id for the forms endpoint.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'type_code': {'type': 'string', 'title': 'Type Code', 'default': '', 'description': "Paradigm type code, e.g. '99', '53a'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': "Word-class code, e.g. 's', 'vt', 'adj'."}, 'pronunciation': {'type': 'string', 'title': 'Pronunciation', 'default': '', 'description': 'Phonetic form in braces, e.g. {äm}.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': '', 'description': "e.g. 'noun', 'verb', 'adjective'."}}, 'description': 'One dictionary entry (one upstream result card): the headword with its\npronunciation, part of speech, paradigm anchors, and senses.\n\n``entry_id`` + ``word_class`` are the same anchors carried by an\n:class:`InflectionHandle` â\x80\x94 feed them to ``livonian_get_inflections`` for the full paradigm.\nEvery field except ``headword``/``gloss`` defaults, so a card missing a\npronunciation, type code, or senses still validates.'}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'$ref': '#/$defs/Example'}, 'title': 'Examples'}}, 'description': 'One sense of a headword: its gloss and any usage examples. ``label`` is the\nupstream sense marker (``a)``, ``b)``) and is empty for a single, unlabelled sense.'}, 'Example': {'type': 'object', 'title': 'Example', 'required': ['livonian'], 'properties': {'english': {'type': 'string', 'title': 'English', 'default': ''}, 'livonian': {'type': 'string', 'title': 'Livonian'}}, 'description': 'One usage example for a sense: the Livonian sentence and its English translation.\n``english`` is empty when the upstream entry gives the Livonian without a gloss.'}, 'Polarity': {'type': 'object', 'title': 'Polarity', 'required': ['affirmative', 'negative'], 'properties': {'negative': {'type': 'string', 'title': 'Negative'}, 'affirmative': {'type': 'string', 'title': 'Affirmative'}}, 'description': 'A verbal cell: the two polarities of one person in one mood/tense. ``negative``\nis the ready-to-use form â\x80\x94 the negation auxiliary (äb/äd/iz/algõâ\x80¦) is already folded\nin (e.g. ``äb toup``), not orphaned in a separate column. Livonian forms are verbatim.'}, 'NumberForms': {'type': 'object', 'title': 'NumberForms', 'required': ['singular', 'plural'], 'properties': {'plural': {'type': 'string', 'title': 'Plural'}, 'singular': {'type': 'string', 'title': 'Singular'}}, 'description': 'A nominal cell: the two number forms of one case. Livonian forms are verbatim.'}, 'SearchLanguage': {'enum': ['liv', 'lat', 'est', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "Which language the query word is matched against. Headwords come back in\nLivonian and glosses in English either way; this only selects the language the\nquery term is in. Codes are the site's own."}, 'VerbalParadigm': {'type': 'object', 'title': 'VerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood/tense (English, lower-case: 'present', 'past', 'conditional', â\x80¦) â\x86\x92 pronoun (Livonian, verbatim: ma/sa/ta/mÄ\x93g/tÄ\x93g/ne) â\x86\x92 {affirmative, negative}. The negative already includes its auxiliary.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'$ref': '#/$defs/Polarity'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section (English, lower-case: 'principal parts', 'participles') â\x86\x92 form label (English) â\x86\x92 the Livonian form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Conjugation of a verb, grouped the way the grammar is: finite moods/tenses by\nperson and polarity, plus the non-finite forms.\n\n``category`` discriminates this from the nominal and not-found shapes.'}, 'NominalParadigm': {'type': 'object', 'title': 'NominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case name (English, lower-case) â\x86\x92 its singular/plural forms, in paradigm order, e.g. 'nominative', 'genitive', 'partitive'.", 'additionalProperties': {'$ref': '#/$defs/NumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'Declension of a noun/adjective/numeral/pronoun: case â\x86\x92 {singular, plural}.\n\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch on it\nbefore reading the body.'}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/NominalParadigm'}, {'$ref': '#/$defs/VerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/VerbalParadigm', 'nominal': '#/$defs/NominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': "The full inflection paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap; category 'none' when the word has no paradigm."}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / entry text.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Numeric word id used by the forms endpoint.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint near the link.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Word-class code, e.g. 's', 'vi', 'vt', 'adj'."}}, 'description': 'A reliable, structured anchor for fetching a full paradigm. Feed\n``entry_id`` + ``word_class`` to ``livonian_get_inflections`` â\x80\x94 or ask ``search`` to\ninclude the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, Kurpniece, Milda & VÄ\x81vere, Signis. 2024. Livonian morphology database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No paradigm for this entry_id/word_class (the morphology DB has none, or the\nhandle was wrong). ``found`` is False and there is no table body.'}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched.'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'ErnÅ¡treits, Valts (ed. in chief), Viitso, Tiit-Rein, VÄ\x81vere, Signis, Damberg, PÄ\x93tõr, Kurpniece, Milda, Balodis, Uldis, Tuisk, Tuuli, KÅ«la, Gita, Tomingas, Marili, Soosaar Sven-Erik, SedláÄ\x8dková, Anna & Jurgenovskis, Toms. 2024. Livonian lexicographic database. Riga: University of Latvia Livonian Institute. https://livonian.tech/ (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries', 'description': 'Structured dictionary entries: headword, pronunciation, part of speech, paradigm anchors, and senses with example sentences.'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': "The original inflected query when search_method='lemma_index'; empty on a direct match."}, 'search_method': {'enum': ['direct', 'lemma_index'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = the query was an inflected Livonian form, resolved to its dictionary lemma via the cached paradigm index and re-searched."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': "The dictionary lemma actually searched when search_method='lemma_index'; empty on a direct match."}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached. Refine the query or call livonian_get_inflections.'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'norse_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the lemma) from a search result's inflection handle, e.g. 'maðr', 'kasta'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'."}}}
输出模式
{'type': 'object', '$defs': {'NorseNumberForms': {'type': 'object', 'title': 'NorseNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nnormalized Old Norse; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give (defective paradigms) is an empty\nstring."}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Norse section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'NorseVerbalParadigm': {'type': 'object', 'title': 'NorseVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past', 'imperative present'; the mediopassive table's keys are prefixed â\x80\x94 'mediopassive indicative past') â\x86\x92 person and number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'present participle', 'past participle'; mediopassive-prefixed for that voice) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(infinitive and the participles). The mediopassive voice renders as its own\ntable and its keys carry a 'mediopassive ' prefix; active keys are bare."}, 'NorseNominalParadigm': {'type': 'object', 'title': 'NorseNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns prefix the definiteness â\x80\x94 'indefinite nominative'; adjectives prefix the caption-derived declension class/degree and suffix the gender â\x80\x94 'strong nominative feminine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NorseNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables split by definiteness, folded into the key as a prefix:\n'indefinite nominative', 'definite genitive'. Adjective tables split by gender\n(suffixed: 'nominative feminine') and come one per declension class and degree,\nfolded in as a caption-derived prefix: 'strong nominative feminine',\n'weak superlative accusative neuter', 'comparative dative masculine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'norse_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/NorseNominalParadigm'}, {'$ref': '#/$defs/NorseVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/NorseVerbalParadigm', 'nominal': '#/$defs/NorseNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['non', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``non`` looks an Old Norse word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Old\nNorse translations, and each distinct lemma is then looked up normally.'}}, 'title': 'norse_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Old Norse (default): a SINGLE Old Norse word, any form â\x80\x94 an inflected form ('mÇ«nnum') is resolved to its lemma ('maðr') automatically via cached paradigms, and the result says so; diacritics are optional once a paradigm is cached ('madr' and 'mathr' both find maðr, 'monnum' finds mÇ«nnum). English (search_language='eng'): the English word whose Old Norse equivalents you want â\x80\x94 multiword entries like 'apple tree' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses (and the verbs' mediopassive voice) in ONE call, no follow-up norse_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded Old Norse entries; the per-sense translations list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'non', 'description': "Language the query word is in: 'non' (default) looks the Old Norse word up directly; 'eng' finds the Old Norse equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to norse_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to norse_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Old Norse entry on the page: the headword (page title) with one\npart-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'SearchLanguage': {'enum': ['non', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``non`` looks an Old Norse word up directly (any of its\nforms â\x80\x94 an inflected query resolves via cached paradigms). ``eng`` searches in\nreverse: the English Wiktionary page for the query word lists per-sense Old\nNorse translations, and each distinct lemma is then looked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'n'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title.'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'poetic'; else empty."}}, 'description': 'One Old Norse word a translations table offers for an English sense.\n``word`` is the Wiktionary page title (what an ``eng`` search re-searches and\nwhat ``norse_get_inflections`` needs).'}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/NorseNominalParadigm'}, {'$ref': '#/$defs/NorseVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/NorseVerbalParadigm', 'nominal': '#/$defs/NorseNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``norse_get_inflections`` â\x80\x94 or ask\n``search`` to include the table inline (``forms``).'}, 'NorseNumberForms': {'type': 'object', 'title': 'NorseNumberForms', 'properties': {'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the two number forms of one case key. Forms are verbatim\nnormalized Old Norse; alternates stay comma-separated as Wiktionary renders\nthem. A number the table doesn't give (defective paradigms) is an empty\nstring."}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Norse section, no table, or\nthe page doesn't exist). ``found`` is False and there is no body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the Old Norse terms it offers.'}, 'NorseVerbalParadigm': {'type': 'object', 'title': 'NorseVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Mood and tense (lower-case: 'indicative present', 'subjunctive past', 'imperative present'; the mediopassive table's keys are prefixed â\x80\x94 'mediopassive indicative past') â\x86\x92 person and number ('first singular' â\x80¦ 'third plural') â\x86\x92 the form. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite form ('infinitive', 'present participle', 'past participle'; mediopassive-prefixed for that voice) â\x86\x92 {'form': <the form>}.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's tables are: finite cells\nkeyed by mood and tense â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite forms\n(infinitive and the participles). The mediopassive voice renders as its own\ntable and its keys carry a 'mediopassive ' prefix; active keys are bare."}, 'NorseNominalParadigm': {'type': 'object', 'title': 'NorseNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; nouns prefix the definiteness â\x80\x94 'indefinite nominative'; adjectives prefix the caption-derived declension class/degree and suffix the gender â\x80\x94 'strong nominative feminine') â\x86\x92 its singular/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/NorseNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/etc.: case key â\x86\x92 {singular, plural}.\n\nNoun tables split by definiteness, folded into the key as a prefix:\n'indefinite nominative', 'definite genitive'. Adjective tables split by gender\n(suffixed: 'nominative feminine') and come one per declension class and degree,\nfolded in as a caption-derived prefix: 'strong nominative feminine',\n'weak superlative accusative neuter', 'comparative dative masculine'.\n``category`` discriminates this from the verbal and not-found shapes â\x80\x94 switch\non it before reading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Old Norse translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Norse entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for non): the Old Norse terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original inflected query when resolved; else empty. non queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. non queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'scythian_get_descendantsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The bare lemma (no asterisk) from a search result's descendant handle, e.g. 'tiÉ£ri', 'baga' â\x80\x94 a typed leading asterisk is tolerated."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's descendant handle, e.g. 'noun', 'adjective', 'proper noun'."}}}
输出模式
{'type': 'object', '$defs': {'DescendantNode': {'type': 'object', 'title': 'DescendantNode', 'required': ['language'], 'properties': {'form': {'type': 'string', 'title': 'Form', 'default': '', 'description': 'The reflex as printed (asterisk kept on reconstructions); may be empty for a branch header or a transliteration-only term.'}, 'children': {'type': 'array', 'items': {'$ref': '#/$defs/DescendantNode'}, 'title': 'Children'}, 'language': {'type': 'string', 'title': 'Language', 'description': "Language name as printed, e.g. 'Alanic'."}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "How the word travelled or which variety carries it, e.g. 'borrowed', 'Digor'; empty for plain inheritance."}, 'transliteration': {'type': 'string', 'title': 'Transliteration', 'default': '', 'description': "Romanization as printed beside the form, e.g. 'cirǧ'."}}, 'description': 'One node of a descendants tree: a reflex of the Proto-Scythian lemma in a\ndescendant (or borrowing) language, with its own descendants nested below.\n``form`` keeps the asterisk on reconstructed reflexes (``*Ä\x87irÉ£``) and may be\nempty for a branch header (``Ossetian`` above its dialect lines) or a term\nWiktionary records only in transliteration ("script needed").'}, 'DescendantsNotFound': {'type': 'object', 'title': 'DescendantsNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Proto-Scythian reconstruction entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No Proto-Scythian entry for this page/POS (no such page, no Proto-Scythian\nsection, or nothing parseable in it). ``found`` is False and there is no body.'}, 'ScythianDescendants': {'type': 'object', 'title': 'ScythianDescendants', 'required': ['entry_id', 'word_class'], 'properties': {'tree': {'type': 'array', 'items': {'$ref': '#/$defs/DescendantNode'}, 'title': 'Tree', 'description': 'The descendants tree in page order; empty when the entry records no reflexes.'}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Proto-Scythian reconstruction entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'glosses': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Glosses', 'description': "The entry's English glosses â\x80\x94 also what an eng search matches."}, 'category': {'type': 'string', 'const': 'descendants', 'title': 'Category', 'default': 'descendants'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The bare lemma (page-title tail, no asterisk).'}, 'headword': {'type': 'string', 'title': 'Headword', 'default': '', 'description': "The headword as printed, asterisk included: '*tiÉ£ri'."}, 'etymology': {'type': 'string', 'title': 'Etymology', 'default': '', 'description': "The entry's etymology line, plain text; may be empty."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "The part-of-speech section, e.g. 'noun'."}}, 'description': "One entry's descendants payload: the headword, its English glosses and the\nreflex tree. ``tree`` MAY be empty â\x80\x94 the entry exists but Wiktionary records no\nreflexes â\x80\x94 while ``glosses`` still feed the English-query reverse index.\n``category`` discriminates this from the not-found shape â\x80\x94 switch on it before\nreading the body."}}, 'title': 'scythian_get_descendantsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/ScythianDescendants'}, {'$ref': '#/$defs/DescendantsNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'not_found': '#/$defs/DescendantsNotFound', 'descendants': '#/$defs/ScythianDescendants'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['xsc', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "The query language. ``xsc`` (ISO 639-3 Scythian; Wiktionary's entry code is\n``xsc-pro``) looks a Proto-Scythian lemma up directly â\x80\x94 ASCII spellings are\nfolded (``tigri`` finds ``*tiÉ£ri``) via the reverse index. ``eng`` searches in\nreverse: the English query is matched against the indexed glosses of all\nlemmas, and each match is then looked up normally."}}, 'title': 'scythian_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Scythian (default): a SINGLE Proto-Scythian lemma â\x80\x94 plain ASCII works ('tigri' finds *tiÉ£ri: macrons and carons are folded, and É£â\x86\x92g, δâ\x86\x92d, βâ\x86\x92b, É\x99â\x86\x92e, θâ\x86\x92t or th), with or without the reconstruction asterisk. English (search_language='eng'): the English word whose Proto-Scythian equivalents you want â\x80\x94 matched against every entry's glosses."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many descendants payloads to expand this call (0â\x80\x9312). On an uncached query each payload is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full descendants payload â\x80\x94 etymology, glosses and the reflex tree down to Ossetian and Khotanese â\x80\x94 is returned INLINE in ONE call, no follow-up scythian_get_descendants. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded entries; the matched-lemmas list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'xsc', 'description': "Language the query word is in: 'xsc' (default) looks the Proto-Scythian lemma up directly; 'eng' finds the lemmas whose English glosses match the query (the local gloss index â\x80\x94 reconstructed languages have no translation tables) and returns their full entries. Glosses are in English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Bare lemma â\x80\x94 feed to scythian_get_descendants.'}, 'headword': {'type': 'string', 'title': 'Headword', 'description': 'The reconstructed headword, asterisk included.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to scythian_get_descendants.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Proto-Scythian entry on the page: the reconstructed headword (asterisk\nincluded) with one part-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'DescendantNode': {'type': 'object', 'title': 'DescendantNode', 'required': ['language'], 'properties': {'form': {'type': 'string', 'title': 'Form', 'default': '', 'description': 'The reflex as printed (asterisk kept on reconstructions); may be empty for a branch header or a transliteration-only term.'}, 'children': {'type': 'array', 'items': {'$ref': '#/$defs/DescendantNode'}, 'title': 'Children'}, 'language': {'type': 'string', 'title': 'Language', 'description': "Language name as printed, e.g. 'Alanic'."}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "How the word travelled or which variety carries it, e.g. 'borrowed', 'Digor'; empty for plain inheritance."}, 'transliteration': {'type': 'string', 'title': 'Transliteration', 'default': '', 'description': "Romanization as printed beside the form, e.g. 'cirǧ'."}}, 'description': 'One node of a descendants tree: a reflex of the Proto-Scythian lemma in a\ndescendant (or borrowing) language, with its own descendants nested below.\n``form`` keeps the asterisk on reconstructed reflexes (``*Ä\x87irÉ£``) and may be\nempty for a branch header (``Ossetian`` above its dialect lines) or a term\nWiktionary records only in transliteration ("script needed").'}, 'SearchLanguage': {'enum': ['xsc', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': "The query language. ``xsc`` (ISO 639-3 Scythian; Wiktionary's entry code is\n``xsc-pro``) looks a Proto-Scythian lemma up directly â\x80\x94 ASCII spellings are\nfolded (``tigri`` finds ``*tiÉ£ri``) via the reverse index. ``eng`` searches in\nreverse: the English query is matched against the indexed glosses of all\nlemmas, and each match is then looked up normally."}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': "The bare Proto-Scythian lemma, e.g. 'tiÉ£ri'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': "The lemma's part-of-speech section, e.g. 'adjective'."}}, 'description': 'One Proto-Scythian lemma the gloss index offers for an English query.\n``word`` is the bare lemma (what an ``eng`` search re-searches and what\n``scythian_get_descendants`` needs).'}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The matched English gloss key â\x80\x94 the query.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': "One English query sense and the Proto-Scythian lemmas whose glosses match\nit. Matching is by the local gloss index (built from every entry's glosses) â\x80\x94\nWiktionary's translation tables exclude reconstructed languages, so there is no\nper-sense table to mine; the single sense carries the query itself."}, 'DescendantsHandle': {'type': 'object', 'title': 'DescendantsHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/ScythianDescendants'}, {'$ref': '#/$defs/DescendantsNotFound'}], 'discriminator': {'mapping': {'not_found': '#/$defs/DescendantsNotFound', 'descendants': '#/$defs/ScythianDescendants'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': "The full descendants payload, populated when a search is asked to include it; None when not requested or beyond the cap. (Proto-Scythian has no inflection tables â\x80\x94 this 'forms' slot carries descendants.)"}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The bare lemma â\x80\x94 the page-title tail, no asterisk.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'noun', 'adjective'."}}, 'description': "A structured anchor for fetching one entry's descendants: feed ``entry_id``\n(the bare lemma) + ``word_class`` (the POS section) to\n``scythian_get_descendants`` â\x80\x94 or ask ``search`` to include the tree inline\n(``forms``)."}, 'DescendantsNotFound': {'type': 'object', 'title': 'DescendantsNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Proto-Scythian reconstruction entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': 'No Proto-Scythian entry for this page/POS (no such page, no Proto-Scythian\nsection, or nothing parseable in it). ``found`` is False and there is no body.'}, 'ScythianDescendants': {'type': 'object', 'title': 'ScythianDescendants', 'required': ['entry_id', 'word_class'], 'properties': {'tree': {'type': 'array', 'items': {'$ref': '#/$defs/DescendantNode'}, 'title': 'Tree', 'description': 'The descendants tree in page order; empty when the entry records no reflexes.'}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Proto-Scythian reconstruction entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'glosses': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Glosses', 'description': "The entry's English glosses â\x80\x94 also what an eng search matches."}, 'category': {'type': 'string', 'const': 'descendants', 'title': 'Category', 'default': 'descendants'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'The bare lemma (page-title tail, no asterisk).'}, 'headword': {'type': 'string', 'title': 'Headword', 'default': '', 'description': "The headword as printed, asterisk included: '*tiÉ£ri'."}, 'etymology': {'type': 'string', 'title': 'Etymology', 'default': '', 'description': "The entry's etymology line, plain text; may be empty."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "The part-of-speech section, e.g. 'noun'."}}, 'description': "One entry's descendants payload: the headword, its English glosses and the\nreflex tree. ``tree`` MAY be empty â\x80\x94 the entry exists but Wiktionary records no\nreflexes â\x80\x94 while ``glosses`` still feed the English-query reverse index.\n``category`` discriminates this from the not-found shape â\x80\x94 switch on it before\nreading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means the gloss index named Proto-Scythian lemmas â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Proto-Scythian reconstruction entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/DescendantsHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for xsc): the Proto-Scythian lemmas whose glosses match the query. Entries/handles below are the expanded dictionary entries of those lemmas.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original query when resolved via the index; else empty. xsc queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an ASCII/diacritic-folded spelling resolved via the reverse index; 'translations' = an English query resolved via the local gloss index."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. xsc queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline descendants payload because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct matched lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'slavonic_detransliterateArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'Scientific-Latin transliteration of Church Slavonic to resolve back to real orthography. Returns the attested dictionary spelling(s) whose transliteration matches (source=dictionary, exact) â\x80\x94 several may match one ambiguous key. On a miss, a single best-effort reconstruction in normalized OCS Cyrillic (source=reconstruction, approximate=true), which is a guess: transliterate is lossy, so case, digraph boundaries (д+з vs Ñ\x95) and the оÑ\x83/Ñ¿ ligatures cannot be recovered, and no Glagolitic or liturgical marks are produced.'}}}
输出模式
{'type': 'object', '$defs': {'Candidate': {'type': 'object', 'title': 'Candidate', 'required': ['word', 'source'], 'properties': {'kind': {'anyOf': [{'enum': ['lemma', 'form'], 'type': 'string'}, {'type': 'null'}], 'title': 'Kind', 'default': None, 'description': 'For a lossy-family dictionary candidate, whether the word is a headword (lemma) or an inflected form. None for a reconstruction, and always None for Interslavic transliterate (which does not distinguish lemma from form).'}, 'word': {'type': 'string', 'title': 'Word', 'description': 'A real orthographic word (source=dictionary) or the best-effort reconstruction (source=reconstruction).'}, 'source': {'enum': ['dictionary', 'reconstruction'], 'type': 'string', 'title': 'Source', 'description': 'dictionary = an ATTESTED spelling recalled from the dictionary index (exact, no guessing); reconstruction = a best-effort algorithmic guess, returned only when no attested word matched (never emitted by Interslavic transliterate, which returns empty on a miss instead).'}}, 'description': 'One candidate spelling from a reverse-lookup surface (deromanize /\ndetransliterate, or Interslavic transliterate).'}}, 'title': 'DeromanizedText', 'required': ['candidates', 'approximate'], 'properties': {'candidates': {'type': 'array', 'items': {'$ref': '#/$defs/Candidate'}, 'title': 'Candidates'}, 'approximate': {'type': 'boolean', 'title': 'Approximate'}}, 'description': "The MCP-facing payload: candidates only. ``original`` is deliberately absent â\x80\x94\nthe MCP result reaches an LLM's context, so the raw caller text must not be echoed\n(mirrors ``RomanizedText``/``TransliteratedText``)."}
输入模式
{'type': 'object', 'title': 'slavonic_get_inflectionsArguments', 'required': ['entry_id', 'word_class'], 'properties': {'entry_id': {'type': 'string', 'title': 'Entry Id', 'maxLength': 80, 'minLength': 1, 'description': "The Wiktionary page title (the Cyrillic lemma) from a search result's inflection handle, e.g. 'богÑ\x8a', 'глаголаÑ\x82и'."}, 'word_class': {'type': 'string', 'title': 'Word Class', 'pattern': '^[a-z ]+$', 'maxLength': 24, 'minLength': 1, 'description': "The part-of-speech section from a search result's inflection handle, e.g. 'verb', 'noun', 'adjective'."}}}
输出模式
{'type': 'object', '$defs': {'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Church Slavonic section, no\ntable, or the page doesn't exist). ``found`` is False and there is no body."}, 'SlavonicNumberForms': {'type': 'object', 'title': 'SlavonicNumberForms', 'properties': {'dual': {'type': 'string', 'title': 'Dual', 'default': ''}, 'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the THREE number forms of one case â\x80\x94 Old Church Slavonic\nkeeps a full dual. Forms are verbatim normalized OCS Cyrillic; alternates stay\ncomma-separated as Wiktionary renders them. A number the table doesn't give\n(defective paradigms) is an empty string."}, 'SlavonicVerbalParadigm': {'type': 'object', 'title': 'SlavonicVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Tense/mood (lower-case, e.g. 'present', 'imperfect', 'aorist', 'imperative') â\x86\x92 person and number ('first singular' â\x80¦ 'third dual' â\x80¦ 'third plural') â\x86\x92 the form. Periphrastic rows (perfect, pluperfect, future) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section ('infinitive', 'supine', 'l-participle') â\x86\x92 label ('form' for the single-form sections; 'singular masculine' etc. for the participle) â\x86\x92 the form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's table is: finite cells\nkeyed by tense/mood â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite sections\n(infinitive, supine, l-participle and the other participles)."}, 'SlavonicNominalParadigm': {'type': 'object', 'title': 'SlavonicNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; gender and short/long variant prefixed when the table splits by them) â\x86\x92 its singular/dual/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/SlavonicNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/pronoun/etc.: case â\x86\x92 {singular, dual, plural}.\n\nGender-split tables (adjectives, pronouns, participles) carry the gender â\x80\x94 and,\nfor adjectives, the short/long variant â\x80\x94 in the key: 'nominative masculine',\n'long nominative feminine'. ``category`` discriminates this from the verbal and\nnot-found shapes â\x80\x94 switch on it before reading the body."}}, 'title': 'slavonic_get_inflectionsOutput', 'required': ['result'], 'properties': {'result': {'oneOf': [{'$ref': '#/$defs/SlavonicNominalParadigm'}, {'$ref': '#/$defs/SlavonicVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'title': 'Result', 'discriminator': {'mapping': {'verbal': '#/$defs/SlavonicVerbalParadigm', 'nominal': '#/$defs/SlavonicNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}}}
输入模式
{'type': 'object', '$defs': {'SearchLanguage': {'enum': ['chu', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``chu`` looks an Old Church Slavonic word up directly\n(any of its forms â\x80\x94 an inflected query resolves via cached paradigms). ``eng``\nsearches in reverse: the English Wiktionary page for the query word lists\nper-sense Old Church Slavonic translations, and each distinct lemma is then\nlooked up normally.'}}, 'title': 'slavonic_searchArguments', 'required': ['query'], 'properties': {'query': {'type': 'string', 'title': 'Query', 'maxLength': 80, 'minLength': 1, 'description': "The word to look up, in the language search_language names. Church Slavonic (default): a SINGLE Old Church Slavonic word in Cyrillic, any form â\x80\x94 an inflected form ('бога') is resolved to its lemma ('богÑ\x8a') automatically via cached paradigms, and the result says so; normalized OCS spelling works best, but titlos/accents and modern-Cyrillic respellings (Ñ\x8b for ê\x99\x91) are folded. English (search_language='eng'): the English word whose Old Church Slavonic equivalents you want â\x80\x94 multiword entries like 'apple tree' work."}, 'max_forms': {'anyOf': [{'type': 'integer', 'maximum': 12, 'minimum': 0}, {'type': 'null'}], 'title': 'Max Forms', 'default': None, 'description': 'Optional override for how many inflection tables to expand this call (0â\x80\x9312). On an uncached query each table is one politely paced upstream fetch, so high values on cold queries are slow. Omit for the server default.'}, 'include_forms': {'type': 'boolean', 'title': 'Include Forms', 'default': True, 'description': "When true (default), each match's full declension/conjugation table is returned INLINE â\x80\x94 usable cases/tenses (singular, dual AND plural) in ONE call, no follow-up slavonic_get_inflections. Set false for a cheap screen of which entries exist. Bounded by a per-search cap â\x80\x94 use max_forms to adjust per call. For eng queries this governs the expanded OCS entries; the per-sense translations list itself is always returned."}, 'search_language': {'$ref': '#/$defs/SearchLanguage', 'default': 'chu', 'description': "Language the query word is in: 'chu' (default) looks the Old Church Slavonic word up directly; 'eng' finds the OCS equivalents of an English word (per-sense, from Wiktionary's translation tables) and returns their full entries. Glosses are in English either way."}}}
输出模式
{'type': 'object', '$defs': {'Entry': {'type': 'object', 'title': 'Entry', 'required': ['headword'], 'properties': {'senses': {'type': 'array', 'items': {'$ref': '#/$defs/Sense'}, 'title': 'Senses'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'default': '', 'description': 'Page title â\x80\x94 feed to slavonic_get_inflections.'}, 'headword': {'type': 'string', 'title': 'Headword'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'default': '', 'description': 'POS section â\x80\x94 feed to slavonic_get_inflections.'}, 'part_of_speech': {'type': 'string', 'title': 'Part Of Speech', 'default': ''}}, 'description': "One Old Church Slavonic entry on the page: the headword (page title) with\none part-of-speech section's senses."}, 'Sense': {'type': 'object', 'title': 'Sense', 'required': ['gloss'], 'properties': {'gloss': {'type': 'string', 'title': 'Gloss'}, 'label': {'type': 'string', 'title': 'Label', 'default': ''}, 'examples': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Examples'}}, 'description': 'One sense of an entry: the (HTML-stripped) Wiktionary definition line.'}, 'SearchLanguage': {'enum': ['chu', 'eng'], 'type': 'string', 'title': 'SearchLanguage', 'description': 'The query language. ``chu`` looks an Old Church Slavonic word up directly\n(any of its forms â\x80\x94 an inflected query resolves via cached paradigms). ``eng``\nsearches in reverse: the English Wiktionary page for the query word lists\nper-sense Old Church Slavonic translations, and each distinct lemma is then\nlooked up normally.'}, 'TranslationTerm': {'type': 'object', 'title': 'TranslationTerm', 'required': ['word'], 'properties': {'word': {'type': 'string', 'title': 'Word', 'description': 'Wiktionary page title â\x80\x94 the Cyrillic lemma itself.'}, 'gender': {'type': 'string', 'title': 'Gender', 'default': '', 'description': "Grammatical gender as marked, e.g. 'f'."}, 'display': {'type': 'string', 'title': 'Display', 'default': '', 'description': 'Rendered form when it differs from the title.'}, 'qualifier': {'type': 'string', 'title': 'Qualifier', 'default': '', 'description': "Usage qualifier as marked, e.g. 'poetic'; else empty."}, 'transliteration': {'type': 'string', 'title': 'Transliteration', 'default': '', 'description': "Scientific romanization as Wiktionary prints it, e.g. 'voda'."}}, 'description': 'One Old Church Slavonic word a translations table offers for an English\nsense. ``word`` is the Wiktionary page title in Cyrillic (what an ``eng``\nsearch re-searches and what ``slavonic_get_inflections`` needs); only the Cyrillic\nscript row is read â\x80\x94 the parallel Glagolitic spelling is the same lemma on a\nsoft-redirect page, so surfacing it would only duplicate the term.'}, 'InflectionHandle': {'type': 'object', 'title': 'InflectionHandle', 'required': ['entry_id', 'word_class'], 'properties': {'forms': {'anyOf': [{'oneOf': [{'$ref': '#/$defs/SlavonicNominalParadigm'}, {'$ref': '#/$defs/SlavonicVerbalParadigm'}, {'$ref': '#/$defs/ParadigmNotFound'}], 'discriminator': {'mapping': {'verbal': '#/$defs/SlavonicVerbalParadigm', 'nominal': '#/$defs/SlavonicNominalParadigm', 'not_found': '#/$defs/ParadigmNotFound'}, 'propertyName': 'category'}}, {'type': 'null'}], 'title': 'Forms', 'default': None, 'description': 'The full paradigm, populated when a search is asked to include forms. None when not requested or beyond the cap.'}, 'context': {'type': 'string', 'title': 'Context', 'default': '', 'description': 'Nearby headword / hint.'}, 'entry_id': {'type': 'string', 'title': 'Entry Id', 'description': 'Wiktionary page title â\x80\x94 the Cyrillic lemma itself.'}, 'pos_hint': {'type': 'string', 'title': 'Pos Hint', 'default': '', 'description': 'Part-of-speech hint.'}, 'word_class': {'type': 'string', 'title': 'Word Class', 'description': "Part-of-speech section, e.g. 'verb', 'noun'."}}, 'description': 'A structured anchor for fetching a full paradigm: feed ``entry_id`` (the page\ntitle) + ``word_class`` (the POS section) to ``slavonic_get_inflections`` â\x80\x94 or ask\n``search`` to include the table inline (``forms``).'}, 'ParadigmNotFound': {'type': 'object', 'title': 'ParadigmNotFound', 'required': ['entry_id', 'word_class'], 'properties': {'found': {'type': 'boolean', 'const': False, 'title': 'Found', 'default': False}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'not_found', 'title': 'Category', 'default': 'not_found'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "No inflection table for this page/POS (no Old Church Slavonic section, no\ntable, or the page doesn't exist). ``found`` is False and there is no body."}, 'TranslationSense': {'type': 'object', 'title': 'TranslationSense', 'required': ['sense'], 'properties': {'sense': {'type': 'string', 'title': 'Sense', 'description': 'The sense gloss the source table carries.'}, 'terms': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationTerm'}, 'title': 'Terms'}}, 'description': 'One English sense (a translations table) and the OCS terms it offers.'}, 'SlavonicNumberForms': {'type': 'object', 'title': 'SlavonicNumberForms', 'properties': {'dual': {'type': 'string', 'title': 'Dual', 'default': ''}, 'plural': {'type': 'string', 'title': 'Plural', 'default': ''}, 'singular': {'type': 'string', 'title': 'Singular', 'default': ''}}, 'description': "A declension cell: the THREE number forms of one case â\x80\x94 Old Church Slavonic\nkeeps a full dual. Forms are verbatim normalized OCS Cyrillic; alternates stay\ncomma-separated as Wiktionary renders them. A number the table doesn't give\n(defective paradigms) is an empty string."}, 'SlavonicVerbalParadigm': {'type': 'object', 'title': 'SlavonicVerbalParadigm', 'required': ['entry_id', 'word_class', 'finite', 'nonfinite'], 'properties': {'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'finite': {'type': 'object', 'title': 'Finite', 'description': "Tense/mood (lower-case, e.g. 'present', 'imperfect', 'aorist', 'imperative') â\x86\x92 person and number ('first singular' â\x80¦ 'third dual' â\x80¦ 'third plural') â\x86\x92 the form. Periphrastic rows (perfect, pluperfect, future) appear under the single key 'all'. Alternates are comma-separated; an em-dash cell (no such form) is omitted.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'verbal', 'title': 'Category', 'default': 'verbal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'nonfinite': {'type': 'object', 'title': 'Nonfinite', 'description': "Non-finite section ('infinitive', 'supine', 'l-participle') â\x86\x92 label ('form' for the single-form sections; 'singular masculine' etc. for the participle) â\x86\x92 the form.", 'additionalProperties': {'type': 'object', 'additionalProperties': {'type': 'string'}}}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Conjugation of a verb, grouped the way Wiktionary's table is: finite cells\nkeyed by tense/mood â\x86\x92 person-and-number â\x86\x92 form, plus the non-finite sections\n(infinitive, supine, l-participle and the other participles)."}, 'SlavonicNominalParadigm': {'type': 'object', 'title': 'SlavonicNominalParadigm', 'required': ['entry_id', 'word_class', 'cases'], 'properties': {'cases': {'type': 'object', 'title': 'Cases', 'description': "Case key (lower-case: 'nominative', 'genitive', â\x80¦; gender and short/long variant prefixed when the table splits by them) â\x86\x92 its singular/dual/plural forms, in table order.", 'additionalProperties': {'$ref': '#/$defs/SlavonicNumberForms'}}, 'found': {'type': 'boolean', 'const': True, 'title': 'Found', 'default': True}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'category': {'type': 'string', 'const': 'nominal', 'title': 'Category', 'default': 'nominal'}, 'entry_id': {'type': 'string', 'title': 'Entry Id'}, 'word_class': {'type': 'string', 'title': 'Word Class'}}, 'description': "Declension of a noun/adjective/pronoun/etc.: case â\x86\x92 {singular, dual, plural}.\n\nGender-split tables (adjectives, pronouns, participles) carry the gender â\x80\x94 and,\nfor adjectives, the short/long variant â\x80\x94 in the key: 'nominative masculine',\n'long nominative feminine'. ``category`` discriminates this from the verbal and\nnot-found shapes â\x80\x94 switch on it before reading the body."}}, 'title': 'SearchResult', 'required': ['query', 'language', 'found'], 'properties': {'found': {'type': 'boolean', 'title': 'Found', 'description': 'False when nothing matched. For an eng query, True means Old Church Slavonic translations were found â\x80\x94 entries may still be empty when none of them could be expanded (see translations).'}, 'query': {'type': 'string', 'title': 'Query'}, 'source': {'type': 'string', 'title': 'Source', 'default': 'Wiktionary, the free dictionary (en.wiktionary.org), Old Church Slavonic entries. Wikimedia Foundation. Text available under CC BY-SA 4.0; attribution and share-alike required when republishing. (CC BY-SA 4.0)'}, 'entries': {'type': 'array', 'items': {'$ref': '#/$defs/Entry'}, 'title': 'Entries'}, 'handles': {'type': 'array', 'items': {'$ref': '#/$defs/InflectionHandle'}, 'title': 'Handles'}, 'language': {'$ref': '#/$defs/SearchLanguage'}, 'translations': {'type': 'array', 'items': {'$ref': '#/$defs/TranslationSense'}, 'title': 'Translations', 'description': 'Populated only for eng queries (always [] for chu): the OCS terms each English sense translates to, in sense order. Entries/handles below are the expanded dictionary entries of those terms.'}, 'resolved_from': {'type': 'string', 'title': 'Resolved From', 'default': '', 'description': 'The original inflected query when resolved; else empty. chu queries only â\x80\x94 always empty for eng results.'}, 'search_method': {'enum': ['direct', 'lemma_index', 'translations'], 'type': 'string', 'title': 'Search Method', 'default': 'direct', 'description': "How the match was found: 'direct' = the query itself matched; 'lemma_index' = an inflected form resolved via a previously cached paradigm; 'translations' = an English query resolved via Wiktionary translation tables."}, 'resolved_lemma': {'type': 'string', 'title': 'Resolved Lemma', 'default': '', 'description': 'The lemma actually searched when resolved; else empty. chu queries only â\x80\x94 always empty for eng results.'}, 'forms_truncated': {'type': 'integer', 'title': 'Forms Truncated', 'default': 0, 'description': 'How many handles did NOT get an inline table because the per-search cap was reached.'}, 'translations_truncated': {'type': 'integer', 'title': 'Translations Truncated', 'default': 0, 'description': 'How many distinct translated lemmas were NOT expanded into entries because the per-search expansion cap was reached (they still appear under translations).'}}, 'description': 'The result of a dictionary search.'}
输入模式
{'type': 'object', 'title': 'slavonic_transliterateArguments', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'maxLength': 4000, 'minLength': 1, 'description': 'Church Slavonic text to transliterate â\x80\x94 Cyrillic and/or Glagolitic, one word or whole lines. Liturgical reading marks (titlos, accents, breathings) are dropped and late Church Slavonic spellings folded, so text copied from a liturgical source or a lyrics sheet works as-is.'}}}
输出模式
{'type': 'object', 'title': 'TransliteratedText', 'required': ['text'], 'properties': {'text': {'type': 'string', 'title': 'Text', 'description': 'The scientific transliteration.'}}, 'description': "The MCP-facing transliteration payload: the Latin output only. ``original``\nis deliberately absent â\x80\x94 like the Markdown render (see\n:func:`~livonian.languages.slavonic.render.transliteration_to_markdown`), the\nMCP result reaches an LLM's context, so the raw caller text must not be echoed\nthrough it. The JSON API's :class:`Transliteration` keeps the echo for\nprogrammatic callers."}
近期工具变更
类似的 MCP 服务器
concordance
Provides deterministic claim verification and audit receipts, along with Bible references, commentary, geography, indexed knowled…
canton-ccpedia
Searches and explains Canton Network and Daml documentation, governance proposals, forums, code examples, APIs, releases, and eco…
BNM Data Shop
Sells access to cached official reports, enforcement orders, regulatory documents, inspection records, and other public-source te…
api-evangelist
Provides API governance analysis, OpenAPI overlays and version diffs, security-sensitive field classification, code samples, matu…
OpenHelvetia Gateway
Provides sourced access to Swiss federal legislation and political data, including law metadata, versions, amendments, citations,…
website-search
Provides security article search and structured guidance, templates, frameworks, and review criteria for incident response, threa…
The Ainglish Project
Maintains a measured, auditable register of language constructs, proposals, evidence, adoption, contributors, protocols, and rati…
Torah Library
Provides searchable Jewish texts, commentaries, source sheets, dictionaries, manuscripts, calendars, learning schedules, parasha …