Module: Archsight::MCP
- Defined in:
- lib/archsight/mcp/base.rb
Overview
Shared database and helper methods for MCP tools
Defined Under Namespace
Classes: AnalyzeResourceTool, ExecuteAnalysisTool, QueryTool, ResourceDocTool
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.db ⇒ Object
Returns the value of attribute db.
10
11
12
|
# File 'lib/archsight/mcp/base.rb', line 10
def db
@db
end
|
Class Method Details
.annotations_summary(resource, omit_kind: false) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/archsight/mcp/base.rb', line 30
def annotations_summary(resource, omit_kind: false)
result = {
name: resource.name,
metadata: {
annotations: resource.annotations
}
}
result[:kind] = resource.class.to_s.split("::").last unless omit_kind
result
end
|
.brief_summary(resource, omit_kind: false) ⇒ Object
24
25
26
27
28
|
# File 'lib/archsight/mcp/base.rb', line 24
def brief_summary(resource, omit_kind: false)
result = { name: resource.name }
result[:kind] = resource.class.to_s.split("::").last unless omit_kind
result
end
|
.complete_summary(resource, omit_kind: false) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/archsight/mcp/base.rb', line 12
def complete_summary(resource, omit_kind: false)
result = {
name: resource.name,
metadata: {
annotations: resource.annotations
},
spec: resource.spec
}
result[:kind] = resource.class.to_s.split("::").last unless omit_kind
result
end
|
41
42
43
44
45
46
|
# File 'lib/archsight/mcp/base.rb', line 41
def (resource)
description = resource.annotations["architecture/description"]
return "No description" if description.nil?
description.split("\n").first
end
|
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/archsight/mcp/base.rb', line 48
def (instance)
relations = {}
instance.class.relations.each do |verb, kind_name, _|
relations[verb] ||= {}
relations[verb][kind_name] = instance.relations(verb, kind_name).map(&:name)
end
relations
end
|