-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.graphql
More file actions
79 lines (68 loc) · 1.29 KB
/
schema.graphql
File metadata and controls
79 lines (68 loc) · 1.29 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
type Query {
agents: [Agent]
drivers: [Driver]
groups: [Group]
history(target: String, source: String): [Message]!
skills: [Skill]
}
type Skill {
name: String!
}
type Agent {
name: String!
config: AgentConfig!
driver: Driver!
status: String!
}
type AgentConfig {
type: String!
instructions: String
description: String
driver: DriverConfig!
skills: [String]
}
type DriverConfig {
type: String!
}
type Driver {
type: String!
}
type Group {
name: String!
members: [String]
}
type Message {
id: Float
source: String
target: String!
timestamp: String
content: String!
type: String!
status: String!
metadata: [Metadata]
}
type Metadata {
key: String!
value: String
}
# Consider: adding a ststus field and combine skill subscriptions into one
type SkillStatus {
status: String!
agent: String!
skill: String!
data: String
}
type Mutation {
sendMessage(message: String!, target: String!, source: String): Message
createGroup(name: String!): String
createAgent(name: String!, driver: String!, description: String, instructions: String, skills: [String]): Agent
}
type Subscription {
messageCreated: Message
messageUpdated: Message
groupCreated: Group
groupUpdated: Group
agentCreated: Agent
agentUpdated: Agent
skillStatus: SkillStatus
}