Repository navigation
Expand file tree
/
Copy pathopenapi.json
More file actions
115 lines (115 loc) · 5.31 KB
/
Copy pathopenapi.json
File metadata and controls
115 lines (115 loc) · 5.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
{
"openapi": "3.0.3",
"info": {
"title": "astrolabe",
"version": "0.0.1",
"description": "AI-powered semantic search across your Nextcloud",
"license": {
"name": "agpl"
}
},
"components": {
"securitySchemes": {
"basic_auth": {
"type": "http",
"scheme": "basic"
},
"bearer_auth": {
"type": "http",
"scheme": "bearer"
}
},
"schemas": {
"Capabilities": {
"type": "object",
"required": [
"astrolabe"
],
"properties": {
"astrolabe": {
"type": "object",
"required": [
"semantic_search",
"assistant"
],
"properties": {
"semantic_search": {
"type": "object",
"required": [
"enabled_doc_types",
"sources"
],
"properties": {
"enabled_doc_types": {
"type": "array",
"items": {
"type": "string"
}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"app",
"doc_types",
"enabled"
],
"properties": {
"app": {
"type": "string"
},
"doc_types": {
"type": "array",
"items": {
"type": "string"
}
},
"enabled": {
"type": "boolean"
}
}
}
}
}
},
"assistant": {
"type": "object",
"required": [
"summary_modes",
"agent_available"
],
"properties": {
"summary_modes": {
"type": "array",
"items": {
"type": "string"
}
},
"agent_available": {
"type": "boolean"
}
}
}
}
}
}
}
}
},
"paths": {},
"tags": [
{
"name": "credentials",
"description": "Controller for managing background sync credentials (app passwords). Two provisioning paths share {@see AppPasswordProvisioningService}: - self-service ({@see storeAppPassword}): the user mints a token via core/getapppassword and hands it to us; we validate, store and sync it. - admin ({@see adminProvisionUser}): an admin mints a token on a user's behalf. Admin-only methods carry no #[NoAdminRequired] attribute, so Nextcloud's SecurityMiddleware restricts them to admins."
},
{
"name": "api",
"description": "API controller for MCP Server UI. Handles form submissions and AJAX requests from settings panels. Authenticates to the MCP server by minting a short-lived JWT for the current Nextcloud session user via McpTokenMinter — no per-user OAuth tokens are persisted by this controller or the app at large."
},
{
"name": "assistant",
"description": "Assistant-backed features over Astrolabe's indexed content. Scheduling only: the response carries a TaskProcessing task id, and the client polls core's own OCS endpoint (/ocs/v2.php/taskprocessing/task/{id}) for the result. Nothing here proxies model output, so there is no polling route of ours to secure or rate-limit."
}
]
}