@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,407 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hq.example/schemas/catalog.v1.schema.json",
4
+ "title": "Agent HQ Plugin Catalog v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "catalogId", "generatedAt", "sources", "plugins"],
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "const": 1
11
+ },
12
+ "catalogId": {
13
+ "type": "string",
14
+ "pattern": "^catalog:[a-f0-9]{64}$"
15
+ },
16
+ "generatedAt": {
17
+ "type": "string",
18
+ "format": "date-time"
19
+ },
20
+ "sources": {
21
+ "type": "array",
22
+ "items": {
23
+ "$ref": "#/$defs/source"
24
+ }
25
+ },
26
+ "plugins": {
27
+ "type": "array",
28
+ "items": {
29
+ "$ref": "#/$defs/plugin"
30
+ }
31
+ }
32
+ },
33
+ "$defs": {
34
+ "digest": {
35
+ "type": "string",
36
+ "pattern": "^sha256:[a-f0-9]{64}$"
37
+ },
38
+ "sha": {
39
+ "type": "string",
40
+ "pattern": "^[a-f0-9]{40}$"
41
+ },
42
+ "source": {
43
+ "type": "object",
44
+ "additionalProperties": false,
45
+ "required": [
46
+ "sourceId",
47
+ "displayName",
48
+ "repositoryUrl",
49
+ "marketplaceDialect",
50
+ "manifestPath",
51
+ "defaultBranch",
52
+ "resolvedCommitSha",
53
+ "retrievalTimestamp",
54
+ "trustClassification",
55
+ "sourceManifestDigest",
56
+ "synchronizationStatus"
57
+ ],
58
+ "properties": {
59
+ "sourceId": {
60
+ "type": "string"
61
+ },
62
+ "displayName": {
63
+ "type": "string"
64
+ },
65
+ "repositoryUrl": {
66
+ "type": "string",
67
+ "format": "uri"
68
+ },
69
+ "marketplaceDialect": {
70
+ "enum": ["openai", "cursor", "claude"]
71
+ },
72
+ "manifestPath": {
73
+ "type": "string"
74
+ },
75
+ "defaultBranch": {
76
+ "type": "string"
77
+ },
78
+ "resolvedCommitSha": {
79
+ "$ref": "#/$defs/sha"
80
+ },
81
+ "retrievalTimestamp": {
82
+ "type": "string",
83
+ "format": "date-time"
84
+ },
85
+ "trustClassification": {
86
+ "const": "official"
87
+ },
88
+ "sourceManifestDigest": {
89
+ "$ref": "#/$defs/digest"
90
+ },
91
+ "synchronizationStatus": {
92
+ "enum": ["synchronized", "unchanged", "failed"]
93
+ }
94
+ }
95
+ },
96
+ "capability": {
97
+ "type": "object",
98
+ "additionalProperties": false,
99
+ "required": ["type", "name", "paths", "metadata", "securityImpact"],
100
+ "properties": {
101
+ "type": {
102
+ "type": "string"
103
+ },
104
+ "name": {
105
+ "type": "string"
106
+ },
107
+ "paths": {
108
+ "type": "array",
109
+ "items": {
110
+ "type": "string"
111
+ }
112
+ },
113
+ "metadata": {
114
+ "type": "object"
115
+ },
116
+ "securityImpact": {
117
+ "enum": ["none", "review", "sensitive"]
118
+ }
119
+ }
120
+ },
121
+ "compatibility": {
122
+ "type": "object",
123
+ "additionalProperties": false,
124
+ "required": ["status", "reasons", "responsibleCapabilities"],
125
+ "properties": {
126
+ "status": {
127
+ "type": "string"
128
+ },
129
+ "reasons": {
130
+ "type": "array",
131
+ "items": {
132
+ "type": "string"
133
+ }
134
+ },
135
+ "responsibleCapabilities": {
136
+ "type": "array",
137
+ "items": {
138
+ "type": "string"
139
+ }
140
+ }
141
+ }
142
+ },
143
+ "release": {
144
+ "type": "object",
145
+ "additionalProperties": false,
146
+ "required": [
147
+ "releaseId",
148
+ "resolvedRepositoryUrl",
149
+ "resolvedCommitSha",
150
+ "pluginSubdirectory",
151
+ "canonicalContentDigest",
152
+ "manifestDigest",
153
+ "contentResolution",
154
+ "releaseMetadata",
155
+ "capabilities",
156
+ "requiredConnectors",
157
+ "requiredCredentials",
158
+ "permissionSensitiveChanges",
159
+ "fileIndex",
160
+ "publicationTimestamp"
161
+ ],
162
+ "properties": {
163
+ "canonicalContentDigest": {
164
+ "$ref": "#/$defs/digest"
165
+ },
166
+ "capabilities": {
167
+ "type": "array",
168
+ "items": {
169
+ "$ref": "#/$defs/capability"
170
+ }
171
+ },
172
+ "contentResolution": {
173
+ "enum": ["complete", "metadata-only"]
174
+ },
175
+ "fileIndex": {
176
+ "type": "array",
177
+ "items": {
178
+ "type": "string"
179
+ }
180
+ },
181
+ "icon": {
182
+ "description": "Brand mark resolved at compile time: a file from the release content, or the product site's icon.",
183
+ "oneOf": [
184
+ {
185
+ "type": "object",
186
+ "additionalProperties": false,
187
+ "required": ["kind", "path", "contentType", "digest", "bytes"],
188
+ "properties": {
189
+ "kind": {
190
+ "const": "content"
191
+ },
192
+ "path": {
193
+ "type": "string",
194
+ "minLength": 1,
195
+ "maxLength": 512
196
+ },
197
+ "contentType": {
198
+ "enum": [
199
+ "image/png",
200
+ "image/jpeg",
201
+ "image/gif",
202
+ "image/webp",
203
+ "image/svg+xml",
204
+ "image/x-icon"
205
+ ]
206
+ },
207
+ "digest": {
208
+ "$ref": "#/$defs/digest"
209
+ },
210
+ "bytes": {
211
+ "type": "integer",
212
+ "minimum": 1,
213
+ "maximum": 1048576
214
+ }
215
+ }
216
+ },
217
+ {
218
+ "type": "object",
219
+ "additionalProperties": false,
220
+ "required": ["kind", "url", "homepage", "contentType", "digest", "bytes"],
221
+ "properties": {
222
+ "kind": {
223
+ "const": "favicon"
224
+ },
225
+ "url": {
226
+ "type": "string",
227
+ "format": "uri",
228
+ "maxLength": 1024
229
+ },
230
+ "homepage": {
231
+ "type": "string",
232
+ "format": "uri",
233
+ "maxLength": 1024
234
+ },
235
+ "contentType": {
236
+ "enum": [
237
+ "image/png",
238
+ "image/jpeg",
239
+ "image/gif",
240
+ "image/webp",
241
+ "image/svg+xml",
242
+ "image/x-icon"
243
+ ]
244
+ },
245
+ "digest": {
246
+ "$ref": "#/$defs/digest"
247
+ },
248
+ "bytes": {
249
+ "type": "integer",
250
+ "minimum": 1,
251
+ "maximum": 1048576
252
+ }
253
+ }
254
+ }
255
+ ]
256
+ },
257
+ "manifestDigest": {
258
+ "$ref": "#/$defs/digest"
259
+ },
260
+ "permissionSensitiveChanges": {
261
+ "type": "array",
262
+ "items": {
263
+ "type": "string"
264
+ }
265
+ },
266
+ "pluginSubdirectory": {
267
+ "type": "string"
268
+ },
269
+ "publicationTimestamp": {
270
+ "type": "string",
271
+ "format": "date-time"
272
+ },
273
+ "releaseId": {
274
+ "type": "string",
275
+ "pattern": "^release:[a-f0-9]{64}$"
276
+ },
277
+ "releaseMetadata": {
278
+ "type": "object"
279
+ },
280
+ "requiredConnectors": {
281
+ "type": "array",
282
+ "items": {
283
+ "type": "string"
284
+ }
285
+ },
286
+ "requiredCredentials": {
287
+ "type": "array",
288
+ "items": {
289
+ "type": "string"
290
+ }
291
+ },
292
+ "resolvedCommitSha": {
293
+ "$ref": "#/$defs/sha"
294
+ },
295
+ "resolvedRepositoryUrl": {
296
+ "type": "string",
297
+ "format": "uri"
298
+ },
299
+ "upstreamVersion": {
300
+ "type": "string"
301
+ }
302
+ }
303
+ },
304
+ "plugin": {
305
+ "type": "object",
306
+ "additionalProperties": false,
307
+ "required": [
308
+ "pluginId",
309
+ "displayName",
310
+ "description",
311
+ "productGroupingKey",
312
+ "categories",
313
+ "keywords",
314
+ "authors",
315
+ "icons",
316
+ "sourceId",
317
+ "upstreamPluginName",
318
+ "currentReleaseId",
319
+ "availableReleases",
320
+ "capabilitySummary",
321
+ "harnessCompatibility",
322
+ "license",
323
+ "provenance",
324
+ "securityClassification"
325
+ ],
326
+ "properties": {
327
+ "pluginId": {
328
+ "type": "string"
329
+ },
330
+ "displayName": {
331
+ "type": "string"
332
+ },
333
+ "description": {
334
+ "type": "string"
335
+ },
336
+ "productGroupingKey": {
337
+ "type": "string"
338
+ },
339
+ "categories": {
340
+ "type": "array",
341
+ "items": {
342
+ "type": "string"
343
+ }
344
+ },
345
+ "keywords": {
346
+ "type": "array",
347
+ "items": {
348
+ "type": "string"
349
+ }
350
+ },
351
+ "authors": {
352
+ "type": "array",
353
+ "items": {
354
+ "type": "string"
355
+ }
356
+ },
357
+ "homepage": {
358
+ "type": "string",
359
+ "format": "uri"
360
+ },
361
+ "icons": {
362
+ "type": "array",
363
+ "items": {
364
+ "type": "string"
365
+ }
366
+ },
367
+ "sourceId": {
368
+ "type": "string"
369
+ },
370
+ "upstreamPluginName": {
371
+ "type": "string"
372
+ },
373
+ "currentReleaseId": {
374
+ "type": "string"
375
+ },
376
+ "availableReleases": {
377
+ "type": "array",
378
+ "items": {
379
+ "$ref": "#/$defs/release"
380
+ }
381
+ },
382
+ "capabilitySummary": {
383
+ "type": "object",
384
+ "additionalProperties": {
385
+ "type": "integer",
386
+ "minimum": 0
387
+ }
388
+ },
389
+ "harnessCompatibility": {
390
+ "type": "object",
391
+ "additionalProperties": {
392
+ "$ref": "#/$defs/compatibility"
393
+ }
394
+ },
395
+ "license": {
396
+ "type": "object"
397
+ },
398
+ "provenance": {
399
+ "type": "object"
400
+ },
401
+ "securityClassification": {
402
+ "type": "object"
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-hq.example/schemas/compatibility.v1.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": ["schemaVersion", "catalogId", "plugins"],
7
+ "properties": {
8
+ "schemaVersion": { "const": 1 },
9
+ "catalogId": { "type": "string", "pattern": "^catalog:[a-f0-9]{64}$" },
10
+ "plugins": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "additionalProperties": false,
15
+ "required": ["pluginId", "harnessCompatibility"],
16
+ "properties": {
17
+ "pluginId": { "type": "string" },
18
+ "harnessCompatibility": { "type": "object" }
19
+ }
20
+ }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,75 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "profileVersion": {
6
+ "type": "number",
7
+ "const": 1
8
+ },
9
+ "harness": {
10
+ "type": "string",
11
+ "minLength": 1,
12
+ "maxLength": 128
13
+ },
14
+ "runtimeVersion": {
15
+ "type": "string",
16
+ "minLength": 1,
17
+ "maxLength": 128
18
+ },
19
+ "adapterVersion": {
20
+ "type": "string",
21
+ "minLength": 1,
22
+ "maxLength": 128
23
+ },
24
+ "agentPlugins": {
25
+ "type": "object",
26
+ "properties": {
27
+ "versions": {
28
+ "type": "array",
29
+ "items": {
30
+ "type": "string"
31
+ }
32
+ },
33
+ "skills": {
34
+ "type": "boolean"
35
+ },
36
+ "mcpTransports": {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "string",
40
+ "enum": ["stdio", "streamable-http", "sse"]
41
+ }
42
+ }
43
+ },
44
+ "required": ["versions", "skills", "mcpTransports"],
45
+ "additionalProperties": false
46
+ },
47
+ "components": {
48
+ "type": "object",
49
+ "properties": {
50
+ "skillDirectories": {
51
+ "type": "boolean"
52
+ },
53
+ "mcpTransports": {
54
+ "type": "array",
55
+ "items": {
56
+ "type": "string",
57
+ "enum": ["stdio", "streamable-http", "sse"]
58
+ }
59
+ }
60
+ },
61
+ "required": ["skillDirectories", "mcpTransports"],
62
+ "additionalProperties": false
63
+ }
64
+ },
65
+ "required": [
66
+ "profileVersion",
67
+ "harness",
68
+ "runtimeVersion",
69
+ "adapterVersion",
70
+ "agentPlugins",
71
+ "components"
72
+ ],
73
+ "additionalProperties": false,
74
+ "$id": "https://adea.dev/schemas/plugins/harness-profile.v1.json"
75
+ }