pageta/app-manifest.json
Till JS fe114810e9 fix(manifest): base_url zeigte auf die Web- statt die API-Domain
`https://pageta.com/api/v1/tools/…` antwortet 404, `api.pageta.com` 401
(= Auth-Gate, Endpunkt existiert). In der Registry stand laengst der
korrigierte Wert; das Repo-Manifest war die falsche Quelle. Aufgefallen,
weil mana-share Manifeste jetzt zieht und eine abweichende base_url
bewusst verwirft, statt den registrierten Einstiegspunkt zu ueberschreiben.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 18:02:57 +02:00

136 lines
4.1 KiB
JSON

{
"$schema": "https://pkg.mana.how/@mana/shared-share-protocol/0.1/manifest.json",
"schema_version": "0.1",
"id": "pageta",
"name": "Pageta",
"version": "0.0.1",
"homepage": "https://pageta.com",
"icon": "https://pageta.com/icon-512.svg",
"description": "Reader for curated news, save-it-later articles with highlights, and RSS-feed discovery. A standalone web app of mana",
"description_de": "Lese-App für kuratierte News, gespeicherte Artikel mit Markierungen und RSS-Feed-Recherche. Eigenständige Webapp des Vereins mana",
"ownership": { "kind": "verein" },
"tier_required": "public",
"endpoints": {
"base_url": "https://api.pageta.com",
"health": "/healthz",
"dsgvo_export": "/api/v1/dsgvo/export",
"search": "/api/v1/search",
"share_receive": "/api/v1/share/receive",
"tool_invoke": "/api/v1/tools/:name",
"deep_link_scheme": "pageta://",
"link_patterns": [
{
"pattern": "article/(?<id>[a-z0-9_-]+)",
"template": "https://pageta.com/article/{id}"
}
]
},
"shares": [],
"accepts": [
{
"type": "mana/url",
"handler": "receive_url",
"description": "Save a URL into the user's reading list (Mozilla-Readability-extracted).",
"description_de": "URL als Artikel in die Lese-Liste übernehmen (mit Mozilla-Readability extrahiert)."
}
],
"tools": [
{
"name": "pageta.save_article",
"description": "Extract a URL and save it to the user's reading list.",
"description_de": "URL extrahieren und in die Lese-Liste speichern.",
"keywords": [
"artikel",
"speichern",
"leseliste",
"später lesen",
"merken",
"lesezeichen",
"read later",
"bookmark",
"url"
],
"input_schema": {
"type": "object",
"required": ["url"],
"properties": {
"url": { "type": "string", "format": "uri" },
"userNote": { "type": "string", "maxLength": 2000 }
}
}
},
{
"name": "pageta.list_articles",
"description": "Return the user's own reading list, optionally filtered by status.",
"description_de": "Eigene Lese-Liste abrufen, optional nach Status filtern.",
"keywords": ["leseliste", "artikel", "ungelesen", "liste", "reading list", "articles"],
"input_schema": {
"type": "object",
"properties": {
"status": { "type": "string", "enum": ["unread", "reading", "finished", "archived"] },
"limit": { "type": "integer", "minimum": 1, "maximum": 200 }
}
}
},
{
"name": "pageta.archive_article",
"description": "Set an article's status to 'archived'.",
"description_de": "Artikel auf Status 'archived' setzen.",
"keywords": ["archivieren", "erledigt", "wegräumen", "aufräumen", "archive"],
"input_schema": {
"type": "object",
"required": ["id"],
"properties": { "id": { "type": "string" } }
}
},
{
"name": "pageta.add_article_tag",
"description": "Attach a tag to an article (kebab-case, max 64 chars).",
"description_de": "Tag zu einem Artikel hinzufügen (kebab-case, max 64 Zeichen).",
"keywords": ["schlagwort", "verschlagworten", "kategorie", "tag", "label"],
"input_schema": {
"type": "object",
"required": ["id", "tag"],
"properties": {
"id": { "type": "string" },
"tag": { "type": "string", "minLength": 1, "maxLength": 64 }
}
}
},
{
"name": "pageta.add_article_highlight",
"description": "Store a plain-text selection as a highlight on the article.",
"description_de": "Plain-Text-Selektion als Markierung speichern.",
"keywords": [
"markierung",
"hervorheben",
"textstelle",
"zitat",
"notiz",
"highlight",
"annotation"
],
"input_schema": {
"type": "object",
"required": ["id", "text"],
"properties": {
"id": { "type": "string" },
"text": { "type": "string", "minLength": 1, "maxLength": 5000 },
"color": { "type": "string", "enum": ["yellow", "green", "blue", "pink"] },
"note": { "type": "string", "maxLength": 2000 }
}
}
}
],
"search": {
"types": ["article", "highlight"],
"languages": ["de", "en"],
"max_results": 30,
"timeout_ms": 3000
},
"data": {
"personal_data_categories": ["saved_urls", "highlights", "reading_preferences"],
"encrypted_at_rest": false,
"storage_location": "EU"
}
}