@cleocode/lafs-protocol 1.2.2 → 1.3.1

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.
@@ -0,0 +1,230 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://lafs.dev/schemas/v1/agent-card.schema.json",
4
+ "title": "A2A Agent Card v1.0",
5
+ "description": "A2A-compliant Agent Card schema for agent discovery. Reference: specs/external/specification.md",
6
+ "type": "object",
7
+ "required": [
8
+ "name",
9
+ "description",
10
+ "version",
11
+ "url",
12
+ "capabilities",
13
+ "defaultInputModes",
14
+ "defaultOutputModes",
15
+ "skills"
16
+ ],
17
+ "properties": {
18
+ "$schema": {
19
+ "type": "string",
20
+ "format": "uri",
21
+ "description": "JSON Schema URL"
22
+ },
23
+ "name": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "maxLength": 128,
27
+ "description": "Human-readable agent name"
28
+ },
29
+ "description": {
30
+ "type": "string",
31
+ "minLength": 1,
32
+ "maxLength": 2048,
33
+ "description": "Detailed description of agent capabilities"
34
+ },
35
+ "version": {
36
+ "type": "string",
37
+ "pattern": "^\\d+\\.\\d+\\.\\d+$",
38
+ "description": "Agent version (SemVer)"
39
+ },
40
+ "url": {
41
+ "type": "string",
42
+ "format": "uri",
43
+ "description": "Base URL for A2A endpoints"
44
+ },
45
+ "provider": {
46
+ "type": "object",
47
+ "required": ["organization", "url"],
48
+ "properties": {
49
+ "organization": {
50
+ "type": "string",
51
+ "minLength": 1,
52
+ "description": "Organization name"
53
+ },
54
+ "url": {
55
+ "type": "string",
56
+ "format": "uri",
57
+ "description": "Organization URL"
58
+ }
59
+ }
60
+ },
61
+ "capabilities": {
62
+ "type": "object",
63
+ "required": [],
64
+ "properties": {
65
+ "streaming": {
66
+ "type": "boolean",
67
+ "description": "Supports streaming responses"
68
+ },
69
+ "pushNotifications": {
70
+ "type": "boolean",
71
+ "description": "Supports push notifications"
72
+ },
73
+ "extendedAgentCard": {
74
+ "type": "boolean",
75
+ "description": "Supports extended agent card"
76
+ },
77
+ "extensions": {
78
+ "type": "array",
79
+ "description": "Supported extensions",
80
+ "items": {
81
+ "type": "object",
82
+ "required": ["uri", "description", "required"],
83
+ "properties": {
84
+ "uri": {
85
+ "type": "string",
86
+ "format": "uri",
87
+ "description": "Extension URI (unique identifier)"
88
+ },
89
+ "description": {
90
+ "type": "string",
91
+ "description": "Human-readable description"
92
+ },
93
+ "required": {
94
+ "type": "boolean",
95
+ "description": "Whether the extension is required"
96
+ },
97
+ "params": {
98
+ "type": "object",
99
+ "description": "Extension-specific parameters"
100
+ }
101
+ }
102
+ }
103
+ }
104
+ }
105
+ },
106
+ "defaultInputModes": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "description": "Supported input content types",
110
+ "items": {
111
+ "type": "string",
112
+ "description": "MIME type"
113
+ }
114
+ },
115
+ "defaultOutputModes": {
116
+ "type": "array",
117
+ "minItems": 1,
118
+ "description": "Supported output content types",
119
+ "items": {
120
+ "type": "string",
121
+ "description": "MIME type"
122
+ }
123
+ },
124
+ "skills": {
125
+ "type": "array",
126
+ "minItems": 1,
127
+ "description": "Agent skills/capabilities",
128
+ "items": {
129
+ "type": "object",
130
+ "required": ["id", "name", "description", "tags"],
131
+ "properties": {
132
+ "id": {
133
+ "type": "string",
134
+ "minLength": 1,
135
+ "description": "Skill unique identifier"
136
+ },
137
+ "name": {
138
+ "type": "string",
139
+ "minLength": 1,
140
+ "description": "Human-readable name"
141
+ },
142
+ "description": {
143
+ "type": "string",
144
+ "minLength": 1,
145
+ "description": "Detailed description"
146
+ },
147
+ "tags": {
148
+ "type": "array",
149
+ "minItems": 1,
150
+ "description": "Keywords/tags",
151
+ "items": {
152
+ "type": "string"
153
+ }
154
+ },
155
+ "examples": {
156
+ "type": "array",
157
+ "description": "Example prompts",
158
+ "items": {
159
+ "type": "string"
160
+ }
161
+ },
162
+ "inputModes": {
163
+ "type": "array",
164
+ "description": "Supported input modes (overrides agent defaults)",
165
+ "items": {
166
+ "type": "string"
167
+ }
168
+ },
169
+ "outputModes": {
170
+ "type": "array",
171
+ "description": "Supported output modes (overrides agent defaults)",
172
+ "items": {
173
+ "type": "string"
174
+ }
175
+ }
176
+ }
177
+ }
178
+ },
179
+ "securitySchemes": {
180
+ "type": "object",
181
+ "description": "Security authentication schemes (OpenAPI 3.0 style)",
182
+ "additionalProperties": {
183
+ "type": "object",
184
+ "required": ["type"],
185
+ "properties": {
186
+ "type": {
187
+ "type": "string",
188
+ "enum": ["http", "apiKey", "oauth2", "openIdConnect"],
189
+ "description": "Security scheme type"
190
+ },
191
+ "description": {
192
+ "type": "string",
193
+ "description": "Description"
194
+ },
195
+ "scheme": {
196
+ "type": "string",
197
+ "description": "HTTP scheme (e.g., bearer)"
198
+ },
199
+ "bearerFormat": {
200
+ "type": "string",
201
+ "description": "Bearer token format (e.g., JWT)"
202
+ }
203
+ }
204
+ }
205
+ },
206
+ "security": {
207
+ "type": "array",
208
+ "description": "Required security schemes",
209
+ "items": {
210
+ "type": "object",
211
+ "additionalProperties": {
212
+ "type": "array",
213
+ "items": {
214
+ "type": "string"
215
+ }
216
+ }
217
+ }
218
+ },
219
+ "documentationUrl": {
220
+ "type": "string",
221
+ "format": "uri",
222
+ "description": "Documentation URL"
223
+ },
224
+ "iconUrl": {
225
+ "type": "string",
226
+ "format": "uri",
227
+ "description": "Icon URL"
228
+ }
229
+ }
230
+ }