arch-ops-server 3.0.1__py3-none-any.whl → 3.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arch_ops_server/__init__.py +1 -1
- arch_ops_server/server.py +381 -42
- arch_ops_server/tool_metadata.py +627 -0
- {arch_ops_server-3.0.1.dist-info → arch_ops_server-3.1.0.dist-info}/METADATA +8 -4
- {arch_ops_server-3.0.1.dist-info → arch_ops_server-3.1.0.dist-info}/RECORD +7 -6
- {arch_ops_server-3.0.1.dist-info → arch_ops_server-3.1.0.dist-info}/WHEEL +1 -1
- {arch_ops_server-3.0.1.dist-info → arch_ops_server-3.1.0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,627 @@
|
|
|
1
|
+
# SPDX-License-Identifier: GPL-3.0-only OR MIT
|
|
2
|
+
"""
|
|
3
|
+
Tool metadata and relationship definitions.
|
|
4
|
+
|
|
5
|
+
Provides structured information about tool categories, relationships, and workflows
|
|
6
|
+
to improve tool discovery and organization.
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from typing import List, Literal
|
|
10
|
+
from dataclasses import dataclass, field
|
|
11
|
+
|
|
12
|
+
# Type aliases for clarity
|
|
13
|
+
Category = Literal[
|
|
14
|
+
"discovery",
|
|
15
|
+
"lifecycle",
|
|
16
|
+
"maintenance",
|
|
17
|
+
"organization",
|
|
18
|
+
"security",
|
|
19
|
+
"monitoring",
|
|
20
|
+
"history",
|
|
21
|
+
"mirrors",
|
|
22
|
+
"config"
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
Platform = Literal["any", "arch", "systemd"]
|
|
26
|
+
Permission = Literal["read", "write"]
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass
|
|
30
|
+
class ToolMetadata:
|
|
31
|
+
"""Metadata for a single tool."""
|
|
32
|
+
name: str
|
|
33
|
+
category: Category
|
|
34
|
+
platform: Platform
|
|
35
|
+
permission: Permission
|
|
36
|
+
workflow: str
|
|
37
|
+
related_tools: List[str] = field(default_factory=list)
|
|
38
|
+
prerequisite_tools: List[str] = field(default_factory=list)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# Complete tool metadata definitions for all 41 tools
|
|
42
|
+
TOOL_METADATA = {
|
|
43
|
+
# ========================================================================
|
|
44
|
+
# Discovery & Information (6 tools)
|
|
45
|
+
# ========================================================================
|
|
46
|
+
"search_archwiki": ToolMetadata(
|
|
47
|
+
name="search_archwiki",
|
|
48
|
+
category="discovery",
|
|
49
|
+
platform="any",
|
|
50
|
+
permission="read",
|
|
51
|
+
workflow="research",
|
|
52
|
+
related_tools=["search_aur", "get_official_package_info"],
|
|
53
|
+
prerequisite_tools=[]
|
|
54
|
+
),
|
|
55
|
+
"search_aur": ToolMetadata(
|
|
56
|
+
name="search_aur",
|
|
57
|
+
category="discovery",
|
|
58
|
+
platform="any",
|
|
59
|
+
permission="read",
|
|
60
|
+
workflow="research",
|
|
61
|
+
related_tools=[
|
|
62
|
+
"get_official_package_info",
|
|
63
|
+
"analyze_package_metadata_risk",
|
|
64
|
+
"analyze_pkgbuild_safety",
|
|
65
|
+
"install_package_secure"
|
|
66
|
+
],
|
|
67
|
+
prerequisite_tools=[]
|
|
68
|
+
),
|
|
69
|
+
"get_official_package_info": ToolMetadata(
|
|
70
|
+
name="get_official_package_info",
|
|
71
|
+
category="discovery",
|
|
72
|
+
platform="any",
|
|
73
|
+
permission="read",
|
|
74
|
+
workflow="research",
|
|
75
|
+
related_tools=["search_aur", "install_package_secure"],
|
|
76
|
+
prerequisite_tools=[]
|
|
77
|
+
),
|
|
78
|
+
"get_latest_news": ToolMetadata(
|
|
79
|
+
name="get_latest_news",
|
|
80
|
+
category="discovery",
|
|
81
|
+
platform="any",
|
|
82
|
+
permission="read",
|
|
83
|
+
workflow="safety",
|
|
84
|
+
related_tools=["check_critical_news", "get_news_since_last_update"],
|
|
85
|
+
prerequisite_tools=[]
|
|
86
|
+
),
|
|
87
|
+
"check_critical_news": ToolMetadata(
|
|
88
|
+
name="check_critical_news",
|
|
89
|
+
category="discovery",
|
|
90
|
+
platform="any",
|
|
91
|
+
permission="read",
|
|
92
|
+
workflow="safety",
|
|
93
|
+
related_tools=["get_latest_news", "check_updates_dry_run"],
|
|
94
|
+
prerequisite_tools=[]
|
|
95
|
+
),
|
|
96
|
+
"get_news_since_last_update": ToolMetadata(
|
|
97
|
+
name="get_news_since_last_update",
|
|
98
|
+
category="discovery",
|
|
99
|
+
platform="arch",
|
|
100
|
+
permission="read",
|
|
101
|
+
workflow="safety",
|
|
102
|
+
related_tools=["get_latest_news", "check_critical_news"],
|
|
103
|
+
prerequisite_tools=[]
|
|
104
|
+
),
|
|
105
|
+
|
|
106
|
+
# ========================================================================
|
|
107
|
+
# Package Lifecycle (4 tools)
|
|
108
|
+
# ========================================================================
|
|
109
|
+
"check_updates_dry_run": ToolMetadata(
|
|
110
|
+
name="check_updates_dry_run",
|
|
111
|
+
category="lifecycle",
|
|
112
|
+
platform="arch",
|
|
113
|
+
permission="read",
|
|
114
|
+
workflow="update",
|
|
115
|
+
related_tools=["check_critical_news", "check_disk_space"],
|
|
116
|
+
prerequisite_tools=[]
|
|
117
|
+
),
|
|
118
|
+
"install_package_secure": ToolMetadata(
|
|
119
|
+
name="install_package_secure",
|
|
120
|
+
category="lifecycle",
|
|
121
|
+
platform="arch",
|
|
122
|
+
permission="write",
|
|
123
|
+
workflow="installation",
|
|
124
|
+
related_tools=[
|
|
125
|
+
"check_updates_dry_run",
|
|
126
|
+
"verify_package_integrity",
|
|
127
|
+
"get_transaction_history"
|
|
128
|
+
],
|
|
129
|
+
prerequisite_tools=[
|
|
130
|
+
"get_official_package_info",
|
|
131
|
+
"analyze_pkgbuild_safety",
|
|
132
|
+
"analyze_package_metadata_risk"
|
|
133
|
+
]
|
|
134
|
+
),
|
|
135
|
+
"remove_package": ToolMetadata(
|
|
136
|
+
name="remove_package",
|
|
137
|
+
category="lifecycle",
|
|
138
|
+
platform="arch",
|
|
139
|
+
permission="write",
|
|
140
|
+
workflow="removal",
|
|
141
|
+
related_tools=["remove_packages_batch", "list_orphan_packages"],
|
|
142
|
+
prerequisite_tools=[]
|
|
143
|
+
),
|
|
144
|
+
"remove_packages_batch": ToolMetadata(
|
|
145
|
+
name="remove_packages_batch",
|
|
146
|
+
category="lifecycle",
|
|
147
|
+
platform="arch",
|
|
148
|
+
permission="write",
|
|
149
|
+
workflow="removal",
|
|
150
|
+
related_tools=["remove_package", "remove_orphans"],
|
|
151
|
+
prerequisite_tools=[]
|
|
152
|
+
),
|
|
153
|
+
|
|
154
|
+
# ========================================================================
|
|
155
|
+
# Package Maintenance (7 tools)
|
|
156
|
+
# ========================================================================
|
|
157
|
+
"list_orphan_packages": ToolMetadata(
|
|
158
|
+
name="list_orphan_packages",
|
|
159
|
+
category="maintenance",
|
|
160
|
+
platform="arch",
|
|
161
|
+
permission="read",
|
|
162
|
+
workflow="cleanup",
|
|
163
|
+
related_tools=["remove_orphans", "mark_as_explicit"],
|
|
164
|
+
prerequisite_tools=[]
|
|
165
|
+
),
|
|
166
|
+
"remove_orphans": ToolMetadata(
|
|
167
|
+
name="remove_orphans",
|
|
168
|
+
category="maintenance",
|
|
169
|
+
platform="arch",
|
|
170
|
+
permission="write",
|
|
171
|
+
workflow="cleanup",
|
|
172
|
+
related_tools=["list_orphan_packages"],
|
|
173
|
+
prerequisite_tools=["list_orphan_packages"]
|
|
174
|
+
),
|
|
175
|
+
"verify_package_integrity": ToolMetadata(
|
|
176
|
+
name="verify_package_integrity",
|
|
177
|
+
category="maintenance",
|
|
178
|
+
platform="arch",
|
|
179
|
+
permission="read",
|
|
180
|
+
workflow="verify",
|
|
181
|
+
related_tools=["get_transaction_history", "find_package_owner"],
|
|
182
|
+
prerequisite_tools=[]
|
|
183
|
+
),
|
|
184
|
+
"list_explicit_packages": ToolMetadata(
|
|
185
|
+
name="list_explicit_packages",
|
|
186
|
+
category="maintenance",
|
|
187
|
+
platform="arch",
|
|
188
|
+
permission="read",
|
|
189
|
+
workflow="audit",
|
|
190
|
+
related_tools=["mark_as_explicit", "mark_as_dependency"],
|
|
191
|
+
prerequisite_tools=[]
|
|
192
|
+
),
|
|
193
|
+
"mark_as_explicit": ToolMetadata(
|
|
194
|
+
name="mark_as_explicit",
|
|
195
|
+
category="maintenance",
|
|
196
|
+
platform="arch",
|
|
197
|
+
permission="write",
|
|
198
|
+
workflow="organize",
|
|
199
|
+
related_tools=["list_explicit_packages", "list_orphan_packages"],
|
|
200
|
+
prerequisite_tools=[]
|
|
201
|
+
),
|
|
202
|
+
"mark_as_dependency": ToolMetadata(
|
|
203
|
+
name="mark_as_dependency",
|
|
204
|
+
category="maintenance",
|
|
205
|
+
platform="arch",
|
|
206
|
+
permission="write",
|
|
207
|
+
workflow="organize",
|
|
208
|
+
related_tools=["list_explicit_packages", "list_orphan_packages"],
|
|
209
|
+
prerequisite_tools=[]
|
|
210
|
+
),
|
|
211
|
+
"check_database_freshness": ToolMetadata(
|
|
212
|
+
name="check_database_freshness",
|
|
213
|
+
category="maintenance",
|
|
214
|
+
platform="arch",
|
|
215
|
+
permission="read",
|
|
216
|
+
workflow="verify",
|
|
217
|
+
related_tools=["get_database_sync_history"],
|
|
218
|
+
prerequisite_tools=[]
|
|
219
|
+
),
|
|
220
|
+
|
|
221
|
+
# ========================================================================
|
|
222
|
+
# File Organization (5 tools)
|
|
223
|
+
# ========================================================================
|
|
224
|
+
"find_package_owner": ToolMetadata(
|
|
225
|
+
name="find_package_owner",
|
|
226
|
+
category="organization",
|
|
227
|
+
platform="arch",
|
|
228
|
+
permission="read",
|
|
229
|
+
workflow="debug",
|
|
230
|
+
related_tools=["list_package_files", "verify_package_integrity"],
|
|
231
|
+
prerequisite_tools=[]
|
|
232
|
+
),
|
|
233
|
+
"list_package_files": ToolMetadata(
|
|
234
|
+
name="list_package_files",
|
|
235
|
+
category="organization",
|
|
236
|
+
platform="arch",
|
|
237
|
+
permission="read",
|
|
238
|
+
workflow="explore",
|
|
239
|
+
related_tools=["find_package_owner", "search_package_files"],
|
|
240
|
+
prerequisite_tools=[]
|
|
241
|
+
),
|
|
242
|
+
"search_package_files": ToolMetadata(
|
|
243
|
+
name="search_package_files",
|
|
244
|
+
category="organization",
|
|
245
|
+
platform="arch",
|
|
246
|
+
permission="read",
|
|
247
|
+
workflow="search",
|
|
248
|
+
related_tools=["list_package_files", "find_package_owner"],
|
|
249
|
+
prerequisite_tools=[]
|
|
250
|
+
),
|
|
251
|
+
"list_package_groups": ToolMetadata(
|
|
252
|
+
name="list_package_groups",
|
|
253
|
+
category="organization",
|
|
254
|
+
platform="arch",
|
|
255
|
+
permission="read",
|
|
256
|
+
workflow="explore",
|
|
257
|
+
related_tools=["list_group_packages"],
|
|
258
|
+
prerequisite_tools=[]
|
|
259
|
+
),
|
|
260
|
+
"list_group_packages": ToolMetadata(
|
|
261
|
+
name="list_group_packages",
|
|
262
|
+
category="organization",
|
|
263
|
+
platform="arch",
|
|
264
|
+
permission="read",
|
|
265
|
+
workflow="explore",
|
|
266
|
+
related_tools=["list_package_groups"],
|
|
267
|
+
prerequisite_tools=["list_package_groups"]
|
|
268
|
+
),
|
|
269
|
+
|
|
270
|
+
# ========================================================================
|
|
271
|
+
# Security Analysis (2 tools)
|
|
272
|
+
# ========================================================================
|
|
273
|
+
"analyze_pkgbuild_safety": ToolMetadata(
|
|
274
|
+
name="analyze_pkgbuild_safety",
|
|
275
|
+
category="security",
|
|
276
|
+
platform="any",
|
|
277
|
+
permission="read",
|
|
278
|
+
workflow="audit",
|
|
279
|
+
related_tools=["analyze_package_metadata_risk", "install_package_secure"],
|
|
280
|
+
prerequisite_tools=[]
|
|
281
|
+
),
|
|
282
|
+
"analyze_package_metadata_risk": ToolMetadata(
|
|
283
|
+
name="analyze_package_metadata_risk",
|
|
284
|
+
category="security",
|
|
285
|
+
platform="any",
|
|
286
|
+
permission="read",
|
|
287
|
+
workflow="audit",
|
|
288
|
+
related_tools=["analyze_pkgbuild_safety", "install_package_secure"],
|
|
289
|
+
prerequisite_tools=["search_aur"]
|
|
290
|
+
),
|
|
291
|
+
|
|
292
|
+
# ========================================================================
|
|
293
|
+
# System Monitoring (5 tools)
|
|
294
|
+
# ========================================================================
|
|
295
|
+
"get_system_info": ToolMetadata(
|
|
296
|
+
name="get_system_info",
|
|
297
|
+
category="monitoring",
|
|
298
|
+
platform="any",
|
|
299
|
+
permission="read",
|
|
300
|
+
workflow="diagnose",
|
|
301
|
+
related_tools=["check_disk_space", "check_failed_services"],
|
|
302
|
+
prerequisite_tools=[]
|
|
303
|
+
),
|
|
304
|
+
"check_disk_space": ToolMetadata(
|
|
305
|
+
name="check_disk_space",
|
|
306
|
+
category="monitoring",
|
|
307
|
+
platform="any",
|
|
308
|
+
permission="read",
|
|
309
|
+
workflow="diagnose",
|
|
310
|
+
related_tools=["get_pacman_cache_stats", "list_orphan_packages"],
|
|
311
|
+
prerequisite_tools=[]
|
|
312
|
+
),
|
|
313
|
+
"get_pacman_cache_stats": ToolMetadata(
|
|
314
|
+
name="get_pacman_cache_stats",
|
|
315
|
+
category="monitoring",
|
|
316
|
+
platform="arch",
|
|
317
|
+
permission="read",
|
|
318
|
+
workflow="diagnose",
|
|
319
|
+
related_tools=["check_disk_space"],
|
|
320
|
+
prerequisite_tools=[]
|
|
321
|
+
),
|
|
322
|
+
"check_failed_services": ToolMetadata(
|
|
323
|
+
name="check_failed_services",
|
|
324
|
+
category="monitoring",
|
|
325
|
+
platform="systemd",
|
|
326
|
+
permission="read",
|
|
327
|
+
workflow="diagnose",
|
|
328
|
+
related_tools=["get_boot_logs", "get_system_info"],
|
|
329
|
+
prerequisite_tools=[]
|
|
330
|
+
),
|
|
331
|
+
"get_boot_logs": ToolMetadata(
|
|
332
|
+
name="get_boot_logs",
|
|
333
|
+
category="monitoring",
|
|
334
|
+
platform="systemd",
|
|
335
|
+
permission="read",
|
|
336
|
+
workflow="diagnose",
|
|
337
|
+
related_tools=["check_failed_services"],
|
|
338
|
+
prerequisite_tools=[]
|
|
339
|
+
),
|
|
340
|
+
|
|
341
|
+
# ========================================================================
|
|
342
|
+
# Transaction History (4 tools)
|
|
343
|
+
# ========================================================================
|
|
344
|
+
"get_transaction_history": ToolMetadata(
|
|
345
|
+
name="get_transaction_history",
|
|
346
|
+
category="history",
|
|
347
|
+
platform="arch",
|
|
348
|
+
permission="read",
|
|
349
|
+
workflow="audit",
|
|
350
|
+
related_tools=["find_when_installed", "find_failed_transactions"],
|
|
351
|
+
prerequisite_tools=[]
|
|
352
|
+
),
|
|
353
|
+
"find_when_installed": ToolMetadata(
|
|
354
|
+
name="find_when_installed",
|
|
355
|
+
category="history",
|
|
356
|
+
platform="arch",
|
|
357
|
+
permission="read",
|
|
358
|
+
workflow="audit",
|
|
359
|
+
related_tools=["get_transaction_history"],
|
|
360
|
+
prerequisite_tools=[]
|
|
361
|
+
),
|
|
362
|
+
"find_failed_transactions": ToolMetadata(
|
|
363
|
+
name="find_failed_transactions",
|
|
364
|
+
category="history",
|
|
365
|
+
platform="arch",
|
|
366
|
+
permission="read",
|
|
367
|
+
workflow="debug",
|
|
368
|
+
related_tools=["get_transaction_history"],
|
|
369
|
+
prerequisite_tools=[]
|
|
370
|
+
),
|
|
371
|
+
"get_database_sync_history": ToolMetadata(
|
|
372
|
+
name="get_database_sync_history",
|
|
373
|
+
category="history",
|
|
374
|
+
platform="arch",
|
|
375
|
+
permission="read",
|
|
376
|
+
workflow="audit",
|
|
377
|
+
related_tools=["check_database_freshness"],
|
|
378
|
+
prerequisite_tools=[]
|
|
379
|
+
),
|
|
380
|
+
|
|
381
|
+
# ========================================================================
|
|
382
|
+
# Mirror Management (4 tools)
|
|
383
|
+
# ========================================================================
|
|
384
|
+
"list_active_mirrors": ToolMetadata(
|
|
385
|
+
name="list_active_mirrors",
|
|
386
|
+
category="mirrors",
|
|
387
|
+
platform="arch",
|
|
388
|
+
permission="read",
|
|
389
|
+
workflow="optimize",
|
|
390
|
+
related_tools=["test_mirror_speed", "check_mirrorlist_health"],
|
|
391
|
+
prerequisite_tools=[]
|
|
392
|
+
),
|
|
393
|
+
"test_mirror_speed": ToolMetadata(
|
|
394
|
+
name="test_mirror_speed",
|
|
395
|
+
category="mirrors",
|
|
396
|
+
platform="arch",
|
|
397
|
+
permission="read",
|
|
398
|
+
workflow="optimize",
|
|
399
|
+
related_tools=["suggest_fastest_mirrors", "list_active_mirrors"],
|
|
400
|
+
prerequisite_tools=["list_active_mirrors"]
|
|
401
|
+
),
|
|
402
|
+
"suggest_fastest_mirrors": ToolMetadata(
|
|
403
|
+
name="suggest_fastest_mirrors",
|
|
404
|
+
category="mirrors",
|
|
405
|
+
platform="any",
|
|
406
|
+
permission="read",
|
|
407
|
+
workflow="optimize",
|
|
408
|
+
related_tools=["test_mirror_speed"],
|
|
409
|
+
prerequisite_tools=[]
|
|
410
|
+
),
|
|
411
|
+
"check_mirrorlist_health": ToolMetadata(
|
|
412
|
+
name="check_mirrorlist_health",
|
|
413
|
+
category="mirrors",
|
|
414
|
+
platform="arch",
|
|
415
|
+
permission="read",
|
|
416
|
+
workflow="verify",
|
|
417
|
+
related_tools=["list_active_mirrors", "suggest_fastest_mirrors"],
|
|
418
|
+
prerequisite_tools=[]
|
|
419
|
+
),
|
|
420
|
+
|
|
421
|
+
# ========================================================================
|
|
422
|
+
# Configuration Management (4 tools)
|
|
423
|
+
# ========================================================================
|
|
424
|
+
"analyze_pacman_conf": ToolMetadata(
|
|
425
|
+
name="analyze_pacman_conf",
|
|
426
|
+
category="config",
|
|
427
|
+
platform="arch",
|
|
428
|
+
permission="read",
|
|
429
|
+
workflow="explore",
|
|
430
|
+
related_tools=["check_ignored_packages", "get_parallel_downloads_setting"],
|
|
431
|
+
prerequisite_tools=[]
|
|
432
|
+
),
|
|
433
|
+
"analyze_makepkg_conf": ToolMetadata(
|
|
434
|
+
name="analyze_makepkg_conf",
|
|
435
|
+
category="config",
|
|
436
|
+
platform="arch",
|
|
437
|
+
permission="read",
|
|
438
|
+
workflow="explore",
|
|
439
|
+
related_tools=["analyze_pacman_conf"],
|
|
440
|
+
prerequisite_tools=[]
|
|
441
|
+
),
|
|
442
|
+
"check_ignored_packages": ToolMetadata(
|
|
443
|
+
name="check_ignored_packages",
|
|
444
|
+
category="config",
|
|
445
|
+
platform="arch",
|
|
446
|
+
permission="read",
|
|
447
|
+
workflow="verify",
|
|
448
|
+
related_tools=["analyze_pacman_conf"],
|
|
449
|
+
prerequisite_tools=[]
|
|
450
|
+
),
|
|
451
|
+
"get_parallel_downloads_setting": ToolMetadata(
|
|
452
|
+
name="get_parallel_downloads_setting",
|
|
453
|
+
category="config",
|
|
454
|
+
platform="arch",
|
|
455
|
+
permission="read",
|
|
456
|
+
workflow="explore",
|
|
457
|
+
related_tools=["analyze_pacman_conf"],
|
|
458
|
+
prerequisite_tools=[]
|
|
459
|
+
),
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
# Category metadata with descriptions and icons
|
|
464
|
+
CATEGORIES = {
|
|
465
|
+
"discovery": {
|
|
466
|
+
"name": "Discovery & Information",
|
|
467
|
+
"icon": "🔍",
|
|
468
|
+
"description": "Search and retrieve package/documentation information",
|
|
469
|
+
"color": "#e1f5ff"
|
|
470
|
+
},
|
|
471
|
+
"lifecycle": {
|
|
472
|
+
"name": "Package Lifecycle",
|
|
473
|
+
"icon": "📦",
|
|
474
|
+
"description": "Install, update, and remove packages",
|
|
475
|
+
"color": "#ffe1e1"
|
|
476
|
+
},
|
|
477
|
+
"maintenance": {
|
|
478
|
+
"name": "Package Maintenance",
|
|
479
|
+
"icon": "🔧",
|
|
480
|
+
"description": "Analyze, verify, and maintain package health",
|
|
481
|
+
"color": "#fff4e1"
|
|
482
|
+
},
|
|
483
|
+
"organization": {
|
|
484
|
+
"name": "File Organization",
|
|
485
|
+
"icon": "📁",
|
|
486
|
+
"description": "Navigate package-file relationships",
|
|
487
|
+
"color": "#e1ffe1"
|
|
488
|
+
},
|
|
489
|
+
"security": {
|
|
490
|
+
"name": "Security Analysis",
|
|
491
|
+
"icon": "🔒",
|
|
492
|
+
"description": "Evaluate package safety before installation",
|
|
493
|
+
"color": "#ffe1f5"
|
|
494
|
+
},
|
|
495
|
+
"monitoring": {
|
|
496
|
+
"name": "System Monitoring",
|
|
497
|
+
"icon": "📊",
|
|
498
|
+
"description": "Monitor system health and diagnostics",
|
|
499
|
+
"color": "#f5e1ff"
|
|
500
|
+
},
|
|
501
|
+
"history": {
|
|
502
|
+
"name": "Transaction History",
|
|
503
|
+
"icon": "📜",
|
|
504
|
+
"description": "Audit package operations",
|
|
505
|
+
"color": "#e1fff5"
|
|
506
|
+
},
|
|
507
|
+
"mirrors": {
|
|
508
|
+
"name": "Mirror Management",
|
|
509
|
+
"icon": "🌐",
|
|
510
|
+
"description": "Optimize repository mirrors",
|
|
511
|
+
"color": "#fffce1"
|
|
512
|
+
},
|
|
513
|
+
"config": {
|
|
514
|
+
"name": "Configuration",
|
|
515
|
+
"icon": "⚙️",
|
|
516
|
+
"description": "Analyze system configuration",
|
|
517
|
+
"color": "#e1e1ff"
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
# ============================================================================
|
|
523
|
+
# Helper Functions
|
|
524
|
+
# ============================================================================
|
|
525
|
+
|
|
526
|
+
def get_tools_by_category(category: Category) -> List[str]:
|
|
527
|
+
"""Get all tool names in a category."""
|
|
528
|
+
return [
|
|
529
|
+
name for name, meta in TOOL_METADATA.items()
|
|
530
|
+
if meta.category == category
|
|
531
|
+
]
|
|
532
|
+
|
|
533
|
+
|
|
534
|
+
def get_tools_by_platform(platform: Platform) -> List[str]:
|
|
535
|
+
"""Get all tool names for a platform."""
|
|
536
|
+
return [
|
|
537
|
+
name for name, meta in TOOL_METADATA.items()
|
|
538
|
+
if meta.platform == platform or meta.platform == "any"
|
|
539
|
+
]
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
def get_tools_by_permission(permission: Permission) -> List[str]:
|
|
543
|
+
"""Get all tool names by permission level."""
|
|
544
|
+
return [
|
|
545
|
+
name for name, meta in TOOL_METADATA.items()
|
|
546
|
+
if meta.permission == permission
|
|
547
|
+
]
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
def get_related_tools(tool_name: str) -> List[str]:
|
|
551
|
+
"""Get tools related to a given tool."""
|
|
552
|
+
if tool_name not in TOOL_METADATA:
|
|
553
|
+
return []
|
|
554
|
+
return TOOL_METADATA[tool_name].related_tools
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
def get_prerequisite_tools(tool_name: str) -> List[str]:
|
|
558
|
+
"""Get prerequisite tools for a given tool."""
|
|
559
|
+
if tool_name not in TOOL_METADATA:
|
|
560
|
+
return []
|
|
561
|
+
return TOOL_METADATA[tool_name].prerequisite_tools
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
def get_workflow_tools(workflow: str) -> List[str]:
|
|
565
|
+
"""Get all tools for a specific workflow."""
|
|
566
|
+
return [
|
|
567
|
+
name for name, meta in TOOL_METADATA.items()
|
|
568
|
+
if meta.workflow == workflow
|
|
569
|
+
]
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
def get_category_info(category: Category) -> dict:
|
|
573
|
+
"""Get metadata about a category."""
|
|
574
|
+
return CATEGORIES.get(category, {})
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
def get_tool_category_icon(tool_name: str) -> str:
|
|
578
|
+
"""Get the category icon for a tool."""
|
|
579
|
+
if tool_name not in TOOL_METADATA:
|
|
580
|
+
return ""
|
|
581
|
+
category = TOOL_METADATA[tool_name].category
|
|
582
|
+
return CATEGORIES.get(category, {}).get("icon", "")
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
# ============================================================================
|
|
586
|
+
# Statistics Functions
|
|
587
|
+
# ============================================================================
|
|
588
|
+
|
|
589
|
+
def get_tool_statistics() -> dict:
|
|
590
|
+
"""Get statistics about tool distribution."""
|
|
591
|
+
category_counts = {}
|
|
592
|
+
platform_counts = {}
|
|
593
|
+
permission_counts = {}
|
|
594
|
+
|
|
595
|
+
for meta in TOOL_METADATA.values():
|
|
596
|
+
# Count by category
|
|
597
|
+
category_counts[meta.category] = category_counts.get(meta.category, 0) + 1
|
|
598
|
+
# Count by platform
|
|
599
|
+
platform_counts[meta.platform] = platform_counts.get(meta.platform, 0) + 1
|
|
600
|
+
# Count by permission
|
|
601
|
+
permission_counts[meta.permission] = permission_counts.get(meta.permission, 0) + 1
|
|
602
|
+
|
|
603
|
+
return {
|
|
604
|
+
"total_tools": len(TOOL_METADATA),
|
|
605
|
+
"by_category": category_counts,
|
|
606
|
+
"by_platform": platform_counts,
|
|
607
|
+
"by_permission": permission_counts
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
__all__ = [
|
|
612
|
+
"ToolMetadata",
|
|
613
|
+
"TOOL_METADATA",
|
|
614
|
+
"CATEGORIES",
|
|
615
|
+
"Category",
|
|
616
|
+
"Platform",
|
|
617
|
+
"Permission",
|
|
618
|
+
"get_tools_by_category",
|
|
619
|
+
"get_tools_by_platform",
|
|
620
|
+
"get_tools_by_permission",
|
|
621
|
+
"get_related_tools",
|
|
622
|
+
"get_prerequisite_tools",
|
|
623
|
+
"get_workflow_tools",
|
|
624
|
+
"get_category_info",
|
|
625
|
+
"get_tool_category_icon",
|
|
626
|
+
"get_tool_statistics",
|
|
627
|
+
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arch-ops-server
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: MCP server bridging AI assistants with Arch Linux ecosystem (Wiki, AUR, official repos)
|
|
5
5
|
Keywords: arch-linux,mcp,model-context-protocol,aur,pacman,wiki,ai-assistant
|
|
6
6
|
Author: Nihal
|
|
@@ -36,6 +36,8 @@ Description-Content-Type: text/markdown
|
|
|
36
36
|
|
|
37
37
|
# Arch Linux MCP Server
|
|
38
38
|
|
|
39
|
+
[](https://pepy.tech/projects/arch-ops-server)
|
|
40
|
+
|
|
39
41
|
<a href="https://glama.ai/mcp/servers/@nihalxkumar/arch-mcp">
|
|
40
42
|
<img width="380" height="200" src="https://glama.ai/mcp/servers/@nihalxkumar/arch-mcp/badge" />
|
|
41
43
|
</a>
|
|
@@ -247,7 +249,9 @@ Contributions are greatly appreciated. Please feel free to submit a pull request
|
|
|
247
249
|
|
|
248
250
|
This project is dual-licensed under your choice of:
|
|
249
251
|
|
|
250
|
-
- **[GPL-3.0-only](https://www.gnu.org/licenses/gpl-3.0.en.html)** - See [LICENSE-GPL](LICENSE-GPL)
|
|
251
|
-
- **[MIT License](https://opensource.org/licenses/MIT)** - See [LICENSE-MIT](LICENSE-MIT)
|
|
252
|
+
- **[GPL-3.0-only](https://www.gnu.org/licenses/gpl-3.0.en.html)** - For those who prefer strong copyleft protections. See [LICENSE-GPL](LICENSE-GPL)
|
|
253
|
+
- **[MIT License](https://opensource.org/licenses/MIT)** - For broader compatibility and adoption, including use in proprietary software and compatibility with platforms like Docker MCP Catalog. See [LICENSE-MIT](LICENSE-MIT)
|
|
254
|
+
|
|
255
|
+
You may use this software under the terms of either license. When redistributing or modifying this software, you may choose which license to apply.
|
|
252
256
|
|
|
253
|
-
|
|
257
|
+
By contributing to this project, you agree that your contributions will be licensed under both licenses.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
arch_ops_server/__init__.py,sha256=
|
|
1
|
+
arch_ops_server/__init__.py,sha256=8UZTb4O3wQD4WGrspE06O9AscuAQi_pEh4VR9y5yM2U,4255
|
|
2
2
|
arch_ops_server/aur.py,sha256=poYbh2DW7I1tZfCeNp_7e10fh9ZZx8HTnYZnKKZtflQ,49808
|
|
3
3
|
arch_ops_server/config.py,sha256=4mtpS28vXSMeEVGrTWTMwZEzgIyfl0oCAYEzF7SKxE8,11076
|
|
4
4
|
arch_ops_server/http_server.py,sha256=wZ3hY6o6EftbN1OZiTUau7861LB9ihKWap6gevev_No,31810
|
|
@@ -7,11 +7,12 @@ arch_ops_server/mirrors.py,sha256=Evt-g20cMOTZQl9FbbkbklFd0gKWz-I7vVNrmyQO19U,13
|
|
|
7
7
|
arch_ops_server/news.py,sha256=E97eASR24tq_EaVDYuamIoBl4a7QtBkpscOaUPuU0W4,9359
|
|
8
8
|
arch_ops_server/pacman.py,sha256=S1Gc53CA6o4--YavA03EkxL0dGCZNhoFFZjawlW_p20,38354
|
|
9
9
|
arch_ops_server/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
arch_ops_server/server.py,sha256=
|
|
10
|
+
arch_ops_server/server.py,sha256=u3KIZ1j8PR8l1oF8nL6nIKHIrrxybTUnWHj9T4LL3JQ,84493
|
|
11
11
|
arch_ops_server/system.py,sha256=JfBUB3KD0veulQ-IIK8IOC8Jn6lqtLMCtlnryiL1n7w,9221
|
|
12
|
+
arch_ops_server/tool_metadata.py,sha256=C2EQuR6BlzrKNWwdMi3EPexnlKYw18yBNvq5X2JovLU,19875
|
|
12
13
|
arch_ops_server/utils.py,sha256=po7MVqCx-hsdx-lOgs7uGicjoUVMf6HvuNNYl2qyFH0,10112
|
|
13
14
|
arch_ops_server/wiki.py,sha256=XB_emMGXYF3Vn5likRICkGOa72YDZvOhtZBgp_d1gg8,7350
|
|
14
|
-
arch_ops_server-3.0.
|
|
15
|
-
arch_ops_server-3.0.
|
|
16
|
-
arch_ops_server-3.0.
|
|
17
|
-
arch_ops_server-3.0.
|
|
15
|
+
arch_ops_server-3.1.0.dist-info/WHEEL,sha256=w4ZtLaDgMAZW2MMZZwtH8zENekoQYBCeullI-zsXJQk,78
|
|
16
|
+
arch_ops_server-3.1.0.dist-info/entry_points.txt,sha256=ZS2crFEqE9TteC4j2HmYS1wKvoBOCCXT2FJXJW5C4-E,117
|
|
17
|
+
arch_ops_server-3.1.0.dist-info/METADATA,sha256=vbVTjHuSEe3wgMJvPSrjd3agtohpXK2H2_zmJouQxyE,11275
|
|
18
|
+
arch_ops_server-3.1.0.dist-info/RECORD,,
|
|
File without changes
|