@adea-ai/plugins 1.0.0

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.
Files changed (79) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +74 -0
  3. package/dist/agent-plugins-catalog.d.ts +26 -0
  4. package/dist/agent-plugins-catalog.js +699 -0
  5. package/dist/agent-plugins-catalog.js.map +1 -0
  6. package/dist/agent-plugins-harness.d.ts +54 -0
  7. package/dist/agent-plugins-harness.js +212 -0
  8. package/dist/agent-plugins-harness.js.map +1 -0
  9. package/dist/agent-plugins-schema.d.ts +402 -0
  10. package/dist/agent-plugins-schema.js +200 -0
  11. package/dist/agent-plugins-schema.js.map +1 -0
  12. package/dist/consumer-index.d.ts +217 -0
  13. package/dist/consumer-index.js +358 -0
  14. package/dist/consumer-index.js.map +1 -0
  15. package/dist/display-name.d.ts +8 -0
  16. package/dist/display-name.js +160 -0
  17. package/dist/display-name.js.map +1 -0
  18. package/dist/harness.d.ts +13 -0
  19. package/dist/harness.js +169 -0
  20. package/dist/harness.js.map +1 -0
  21. package/dist/icon-mirror.d.ts +69 -0
  22. package/dist/icon-mirror.js +147 -0
  23. package/dist/icon-mirror.js.map +1 -0
  24. package/dist/icons.d.ts +65 -0
  25. package/dist/icons.js +268 -0
  26. package/dist/icons.js.map +1 -0
  27. package/dist/index.d.ts +304 -0
  28. package/dist/index.js +1877 -0
  29. package/dist/index.js.map +1 -0
  30. package/dist/portable-catalog.d.ts +9 -0
  31. package/dist/portable-catalog.js +175 -0
  32. package/dist/portable-catalog.js.map +1 -0
  33. package/dist/publication.d.ts +98 -0
  34. package/dist/publication.js +121 -0
  35. package/dist/publication.js.map +1 -0
  36. package/dist/schema.d.ts +705 -0
  37. package/dist/schema.js +267 -0
  38. package/dist/schema.js.map +1 -0
  39. package/dist/site-icons.d.ts +55 -0
  40. package/dist/site-icons.js +155 -0
  41. package/dist/site-icons.js.map +1 -0
  42. package/dist/sources.d.ts +54 -0
  43. package/dist/sources.js +306 -0
  44. package/dist/sources.js.map +1 -0
  45. package/package.json +102 -0
  46. package/schemas/agent-package.v1.json +387 -0
  47. package/schemas/catalog.v1.schema.json +407 -0
  48. package/schemas/compatibility.v1.schema.json +23 -0
  49. package/schemas/harness-profile.v1.json +75 -0
  50. package/schemas/installation-plan.v2.json +695 -0
  51. package/schemas/sources-lock.v1.schema.json +61 -0
  52. package/src/agent-plugins-catalog.test.ts +402 -0
  53. package/src/agent-plugins-catalog.ts +800 -0
  54. package/src/agent-plugins-harness.test.ts +272 -0
  55. package/src/agent-plugins-harness.ts +281 -0
  56. package/src/agent-plugins-schema.test.ts +27 -0
  57. package/src/agent-plugins-schema.ts +219 -0
  58. package/src/artifacts.test.ts +545 -0
  59. package/src/catalog-installation.test.ts +42 -0
  60. package/src/consumer-index.test.ts +465 -0
  61. package/src/consumer-index.ts +592 -0
  62. package/src/display-name.test.ts +56 -0
  63. package/src/display-name.ts +157 -0
  64. package/src/harness.ts +202 -0
  65. package/src/icon-mirror.ts +196 -0
  66. package/src/icons.test.ts +185 -0
  67. package/src/icons.ts +297 -0
  68. package/src/index.test.ts +888 -0
  69. package/src/index.ts +2538 -0
  70. package/src/portable-catalog.test.ts +186 -0
  71. package/src/portable-catalog.ts +203 -0
  72. package/src/publication.test.ts +117 -0
  73. package/src/publication.ts +171 -0
  74. package/src/schema.ts +309 -0
  75. package/src/site-icon-fallback.test.ts +267 -0
  76. package/src/site-icons.test.ts +171 -0
  77. package/src/site-icons.ts +161 -0
  78. package/src/sources.ts +360 -0
  79. package/src/upstream-headers.test.ts +148 -0
@@ -0,0 +1,387 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "contractVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "normalizerVersion": {
10
+ "type": "string",
11
+ "const": "adea-agent-plugins/1"
12
+ },
13
+ "format": {
14
+ "type": "string",
15
+ "const": "agent-plugins"
16
+ },
17
+ "specVersion": {
18
+ "type": "string",
19
+ "const": "1.0.0"
20
+ },
21
+ "originFormat": {
22
+ "type": "string",
23
+ "enum": ["agent-plugins", "legacy"]
24
+ },
25
+ "sourceDigest": {
26
+ "type": "string",
27
+ "pattern": "^sha256:[a-f0-9]{64}$"
28
+ },
29
+ "status": {
30
+ "type": "string",
31
+ "enum": ["portable", "partial", "unavailable"]
32
+ },
33
+ "manifest": {
34
+ "type": "object",
35
+ "properties": {
36
+ "$schema": {
37
+ "type": "string",
38
+ "const": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json"
39
+ },
40
+ "name": {
41
+ "type": "string",
42
+ "minLength": 1,
43
+ "maxLength": 64,
44
+ "pattern": "^(?!.*(?:--|\\.\\.))[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
45
+ },
46
+ "version": {
47
+ "type": "string"
48
+ },
49
+ "description": {
50
+ "type": "string"
51
+ },
52
+ "author": {
53
+ "type": "object",
54
+ "properties": {
55
+ "name": {
56
+ "type": "string"
57
+ },
58
+ "email": {
59
+ "type": "string"
60
+ },
61
+ "url": {
62
+ "type": "string"
63
+ }
64
+ },
65
+ "additionalProperties": false
66
+ },
67
+ "homepage": {
68
+ "type": "string"
69
+ },
70
+ "repository": {
71
+ "type": "string"
72
+ },
73
+ "license": {
74
+ "type": "string"
75
+ },
76
+ "keywords": {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "string"
80
+ }
81
+ },
82
+ "extensions": {
83
+ "type": "object",
84
+ "propertyNames": {
85
+ "type": "string"
86
+ },
87
+ "additionalProperties": {
88
+ "type": "object",
89
+ "propertyNames": {
90
+ "type": "string"
91
+ },
92
+ "additionalProperties": {}
93
+ }
94
+ }
95
+ },
96
+ "required": ["$schema", "name"],
97
+ "additionalProperties": false
98
+ },
99
+ "packageDigest": {
100
+ "type": "string",
101
+ "pattern": "^sha256:[a-f0-9]{64}$"
102
+ },
103
+ "files": {
104
+ "maxItems": 8192,
105
+ "type": "array",
106
+ "items": {
107
+ "oneOf": [
108
+ {
109
+ "type": "object",
110
+ "properties": {
111
+ "action": {
112
+ "type": "string",
113
+ "const": "copy"
114
+ },
115
+ "sourcePath": {
116
+ "type": "string",
117
+ "minLength": 1,
118
+ "maxLength": 1024,
119
+ "pattern": "^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[^\\\\:\\u0000-\\u001f\\u007f/]+(?:\\/[^\\\\:\\u0000-\\u001f\\u007f/]+)*$"
120
+ },
121
+ "targetPath": {
122
+ "type": "string",
123
+ "minLength": 1,
124
+ "maxLength": 1024,
125
+ "pattern": "^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[^\\\\:\\u0000-\\u001f\\u007f/]+(?:\\/[^\\\\:\\u0000-\\u001f\\u007f/]+)*$"
126
+ },
127
+ "digest": {
128
+ "type": "string",
129
+ "pattern": "^sha256:[a-f0-9]{64}$"
130
+ },
131
+ "preserveMode": {
132
+ "type": "boolean",
133
+ "const": true
134
+ }
135
+ },
136
+ "required": ["action", "sourcePath", "targetPath", "digest", "preserveMode"],
137
+ "additionalProperties": false
138
+ },
139
+ {
140
+ "type": "object",
141
+ "properties": {
142
+ "action": {
143
+ "type": "string",
144
+ "const": "write"
145
+ },
146
+ "targetPath": {
147
+ "type": "string",
148
+ "minLength": 1,
149
+ "maxLength": 1024,
150
+ "pattern": "^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[^\\\\:\\u0000-\\u001f\\u007f/]+(?:\\/[^\\\\:\\u0000-\\u001f\\u007f/]+)*$"
151
+ },
152
+ "digest": {
153
+ "type": "string",
154
+ "pattern": "^sha256:[a-f0-9]{64}$"
155
+ },
156
+ "content": {
157
+ "type": "string"
158
+ },
159
+ "mode": {
160
+ "type": "string",
161
+ "const": "0644"
162
+ }
163
+ },
164
+ "required": ["action", "targetPath", "digest", "content", "mode"],
165
+ "additionalProperties": false
166
+ }
167
+ ]
168
+ }
169
+ },
170
+ "skills": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "object",
174
+ "properties": {
175
+ "name": {
176
+ "type": "string"
177
+ },
178
+ "path": {
179
+ "type": "string",
180
+ "minLength": 1,
181
+ "maxLength": 1024,
182
+ "pattern": "^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[^\\\\:\\u0000-\\u001f\\u007f/]+(?:\\/[^\\\\:\\u0000-\\u001f\\u007f/]+)*$"
183
+ },
184
+ "description": {
185
+ "type": "string"
186
+ },
187
+ "compatibility": {
188
+ "type": "string"
189
+ },
190
+ "allowedTools": {
191
+ "type": "string"
192
+ }
193
+ },
194
+ "required": ["name", "path", "description"],
195
+ "additionalProperties": false
196
+ }
197
+ },
198
+ "mcpServers": {
199
+ "type": "object",
200
+ "propertyNames": {
201
+ "type": "string"
202
+ },
203
+ "additionalProperties": {
204
+ "oneOf": [
205
+ {
206
+ "type": "object",
207
+ "properties": {
208
+ "type": {
209
+ "type": "string",
210
+ "const": "stdio"
211
+ },
212
+ "command": {
213
+ "type": "string",
214
+ "minLength": 1
215
+ },
216
+ "args": {
217
+ "type": "array",
218
+ "items": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "env": {
223
+ "type": "object",
224
+ "propertyNames": {
225
+ "type": "string"
226
+ },
227
+ "additionalProperties": {
228
+ "type": "string"
229
+ }
230
+ },
231
+ "cwd": {
232
+ "type": "string"
233
+ }
234
+ },
235
+ "required": ["type", "command"],
236
+ "additionalProperties": false
237
+ },
238
+ {
239
+ "type": "object",
240
+ "properties": {
241
+ "type": {
242
+ "type": "string",
243
+ "const": "streamable-http"
244
+ },
245
+ "url": {
246
+ "type": "string",
247
+ "minLength": 1
248
+ },
249
+ "headers": {
250
+ "type": "object",
251
+ "propertyNames": {
252
+ "type": "string"
253
+ },
254
+ "additionalProperties": {
255
+ "type": "string"
256
+ }
257
+ }
258
+ },
259
+ "required": ["type", "url"],
260
+ "additionalProperties": false
261
+ },
262
+ {
263
+ "type": "object",
264
+ "properties": {
265
+ "type": {
266
+ "type": "string",
267
+ "const": "sse"
268
+ },
269
+ "url": {
270
+ "type": "string",
271
+ "minLength": 1
272
+ },
273
+ "headers": {
274
+ "type": "object",
275
+ "propertyNames": {
276
+ "type": "string"
277
+ },
278
+ "additionalProperties": {
279
+ "type": "string"
280
+ }
281
+ }
282
+ },
283
+ "required": ["type", "url"],
284
+ "additionalProperties": false
285
+ }
286
+ ]
287
+ }
288
+ },
289
+ "nonPortable": {
290
+ "type": "array",
291
+ "items": {
292
+ "type": "object",
293
+ "properties": {
294
+ "kind": {
295
+ "type": "string"
296
+ },
297
+ "paths": {
298
+ "type": "array",
299
+ "items": {
300
+ "type": "string",
301
+ "minLength": 1,
302
+ "maxLength": 1024,
303
+ "pattern": "^(?!.*(?:^|\\/)\\.{1,2}(?:\\/|$))[^\\\\:\\u0000-\\u001f\\u007f/]+(?:\\/[^\\\\:\\u0000-\\u001f\\u007f/]+)*$"
304
+ }
305
+ },
306
+ "reason": {
307
+ "type": "string"
308
+ }
309
+ },
310
+ "required": ["kind", "paths", "reason"],
311
+ "additionalProperties": false
312
+ }
313
+ },
314
+ "diagnostics": {
315
+ "type": "array",
316
+ "items": {
317
+ "type": "object",
318
+ "properties": {
319
+ "code": {
320
+ "type": "string",
321
+ "minLength": 1
322
+ },
323
+ "scope": {
324
+ "type": "string",
325
+ "enum": ["plugin", "skills", "skill", "mcp", "server", "extension", "translation"]
326
+ },
327
+ "path": {
328
+ "type": "string"
329
+ },
330
+ "severity": {
331
+ "type": "string",
332
+ "enum": ["warning", "error"]
333
+ },
334
+ "message": {
335
+ "type": "string",
336
+ "minLength": 1
337
+ }
338
+ },
339
+ "required": ["code", "scope", "path", "severity", "message"],
340
+ "additionalProperties": false
341
+ }
342
+ },
343
+ "requirements": {
344
+ "type": "object",
345
+ "properties": {
346
+ "skills": {
347
+ "type": "boolean"
348
+ },
349
+ "mcpTransports": {
350
+ "type": "array",
351
+ "items": {
352
+ "type": "string",
353
+ "enum": ["stdio", "streamable-http", "sse"]
354
+ }
355
+ },
356
+ "executables": {
357
+ "type": "array",
358
+ "items": {
359
+ "type": "string"
360
+ }
361
+ },
362
+ "environmentReview": {
363
+ "type": "boolean"
364
+ }
365
+ },
366
+ "required": ["skills", "mcpTransports", "executables", "environmentReview"],
367
+ "additionalProperties": false
368
+ }
369
+ },
370
+ "required": [
371
+ "contractVersion",
372
+ "normalizerVersion",
373
+ "format",
374
+ "specVersion",
375
+ "originFormat",
376
+ "sourceDigest",
377
+ "status",
378
+ "files",
379
+ "skills",
380
+ "mcpServers",
381
+ "nonPortable",
382
+ "diagnostics",
383
+ "requirements"
384
+ ],
385
+ "additionalProperties": false,
386
+ "$id": "https://adea.dev/schemas/plugins/agent-package.v1.json"
387
+ }