-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschema.graphql
More file actions
112 lines (97 loc) · 1.75 KB
/
schema.graphql
File metadata and controls
112 lines (97 loc) · 1.75 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
type Query {
agents: [Agent]
drivers: [Driver]
groups: [Group]
history(target: String, source: String): [Message]!
skills: [Skill]
contextProviders: [ContextProvider]
}
type Skill {
name: String!
}
type ContextProvider {
name: String!
dependsOn: [String!]!
}
type Agent {
name: String!
config: AgentConfig!
driver: Driver!
status: String
}
type AgentConfig {
type: String!
instructions: String
description: String
driver: DriverConfig!
skills: [String]
context: [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
}
type MessageDelta {
id: Float!
delta: String!
}
type ContextMetadataEntry {
name: String!
metadata: [Metadata]
error: Boolean
}
type AgentTurn {
agent: Agent!
finalMessage: String
contextMetadata: [ContextMetadataEntry]
}
# 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]
context: [String]
): Agent
}
type Subscription {
messageCreated: Message
messageUpdated: Message
messageAppended: MessageDelta
groupCreated: Group
groupUpdated: Group
agentCreated: Agent
agentUpdated: Agent
agentTurnCompleted: AgentTurn
skillStatus: SkillStatus
}