@kryptosai/mcp-observatory 0.3.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 (80) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +228 -0
  3. package/dist/src/adapters/http.d.ts +5 -0
  4. package/dist/src/adapters/http.js +54 -0
  5. package/dist/src/adapters/http.js.map +1 -0
  6. package/dist/src/adapters/local-process.d.ts +19 -0
  7. package/dist/src/adapters/local-process.js +63 -0
  8. package/dist/src/adapters/local-process.js.map +1 -0
  9. package/dist/src/checks/base.d.ts +28 -0
  10. package/dist/src/checks/base.js +42 -0
  11. package/dist/src/checks/base.js.map +1 -0
  12. package/dist/src/checks/list-check.d.ts +16 -0
  13. package/dist/src/checks/list-check.js +78 -0
  14. package/dist/src/checks/list-check.js.map +1 -0
  15. package/dist/src/checks/prompts.d.ts +2 -0
  16. package/dist/src/checks/prompts.js +11 -0
  17. package/dist/src/checks/prompts.js.map +1 -0
  18. package/dist/src/checks/resources.d.ts +2 -0
  19. package/dist/src/checks/resources.js +163 -0
  20. package/dist/src/checks/resources.js.map +1 -0
  21. package/dist/src/checks/tools-invoke.d.ts +2 -0
  22. package/dist/src/checks/tools-invoke.js +107 -0
  23. package/dist/src/checks/tools-invoke.js.map +1 -0
  24. package/dist/src/checks/tools.d.ts +2 -0
  25. package/dist/src/checks/tools.js +12 -0
  26. package/dist/src/checks/tools.js.map +1 -0
  27. package/dist/src/cli.d.ts +2 -0
  28. package/dist/src/cli.js +266 -0
  29. package/dist/src/cli.js.map +1 -0
  30. package/dist/src/diff.d.ts +2 -0
  31. package/dist/src/diff.js +98 -0
  32. package/dist/src/diff.js.map +1 -0
  33. package/dist/src/discovery.d.ts +7 -0
  34. package/dist/src/discovery.js +116 -0
  35. package/dist/src/discovery.js.map +1 -0
  36. package/dist/src/index.d.ts +9 -0
  37. package/dist/src/index.js +10 -0
  38. package/dist/src/index.js.map +1 -0
  39. package/dist/src/reporters/common.d.ts +7 -0
  40. package/dist/src/reporters/common.js +63 -0
  41. package/dist/src/reporters/common.js.map +1 -0
  42. package/dist/src/reporters/html.d.ts +2 -0
  43. package/dist/src/reporters/html.js +228 -0
  44. package/dist/src/reporters/html.js.map +1 -0
  45. package/dist/src/reporters/markdown.d.ts +2 -0
  46. package/dist/src/reporters/markdown.js +231 -0
  47. package/dist/src/reporters/markdown.js.map +1 -0
  48. package/dist/src/reporters/terminal.d.ts +2 -0
  49. package/dist/src/reporters/terminal.js +110 -0
  50. package/dist/src/reporters/terminal.js.map +1 -0
  51. package/dist/src/runner.d.ts +5 -0
  52. package/dist/src/runner.js +138 -0
  53. package/dist/src/runner.js.map +1 -0
  54. package/dist/src/schema-diff.d.ts +6 -0
  55. package/dist/src/schema-diff.js +73 -0
  56. package/dist/src/schema-diff.js.map +1 -0
  57. package/dist/src/storage.d.ts +6 -0
  58. package/dist/src/storage.js +32 -0
  59. package/dist/src/storage.js.map +1 -0
  60. package/dist/src/types.d.ts +120 -0
  61. package/dist/src/types.js +5 -0
  62. package/dist/src/types.js.map +1 -0
  63. package/dist/src/utils/failure-diagnosis.d.ts +2 -0
  64. package/dist/src/utils/failure-diagnosis.js +90 -0
  65. package/dist/src/utils/failure-diagnosis.js.map +1 -0
  66. package/dist/src/utils/ids.d.ts +2 -0
  67. package/dist/src/utils/ids.js +13 -0
  68. package/dist/src/utils/ids.js.map +1 -0
  69. package/dist/src/utils/schema-stub.d.ts +14 -0
  70. package/dist/src/utils/schema-stub.js +61 -0
  71. package/dist/src/utils/schema-stub.js.map +1 -0
  72. package/dist/src/validate.d.ts +4 -0
  73. package/dist/src/validate.js +97 -0
  74. package/dist/src/validate.js.map +1 -0
  75. package/dist/src/version.d.ts +1 -0
  76. package/dist/src/version.js +21 -0
  77. package/dist/src/version.js.map +1 -0
  78. package/package.json +76 -0
  79. package/schemas/diff-artifact.schema.json +132 -0
  80. package/schemas/run-artifact.schema.json +245 -0
@@ -0,0 +1,132 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/KryptosAI/mcp-observatory/schemas/diff-artifact.schema.json",
4
+ "title": "MCP Observatory Diff Artifact",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "artifactType",
9
+ "schemaVersion",
10
+ "gate",
11
+ "baseRunId",
12
+ "headRunId",
13
+ "createdAt",
14
+ "summary",
15
+ "regressions",
16
+ "recoveries",
17
+ "unchanged",
18
+ "added",
19
+ "removed"
20
+ ],
21
+ "properties": {
22
+ "artifactType": {
23
+ "const": "diff"
24
+ },
25
+ "schemaVersion": {
26
+ "const": "1.0.0"
27
+ },
28
+ "gate": {
29
+ "$ref": "#/definitions/gate"
30
+ },
31
+ "baseRunId": {
32
+ "type": "string"
33
+ },
34
+ "headRunId": {
35
+ "type": "string"
36
+ },
37
+ "createdAt": {
38
+ "type": "string"
39
+ },
40
+ "summary": {
41
+ "$ref": "#/definitions/diffSummary"
42
+ },
43
+ "regressions": {
44
+ "type": "array",
45
+ "items": {
46
+ "$ref": "#/definitions/diffEntry"
47
+ }
48
+ },
49
+ "recoveries": {
50
+ "type": "array",
51
+ "items": {
52
+ "$ref": "#/definitions/diffEntry"
53
+ }
54
+ },
55
+ "unchanged": {
56
+ "type": "array",
57
+ "items": {
58
+ "$ref": "#/definitions/diffEntry"
59
+ }
60
+ },
61
+ "added": {
62
+ "type": "array",
63
+ "items": {
64
+ "$ref": "#/definitions/diffEntry"
65
+ }
66
+ },
67
+ "removed": {
68
+ "type": "array",
69
+ "items": {
70
+ "$ref": "#/definitions/diffEntry"
71
+ }
72
+ }
73
+ },
74
+ "definitions": {
75
+ "gate": {
76
+ "type": "string",
77
+ "enum": ["pass", "fail"]
78
+ },
79
+ "checkStatus": {
80
+ "type": "string",
81
+ "enum": ["pass", "fail", "partial", "unsupported", "flaky", "skipped"]
82
+ },
83
+ "checkId": {
84
+ "type": "string",
85
+ "enum": ["tools", "prompts", "resources"]
86
+ },
87
+ "diffEntry": {
88
+ "type": "object",
89
+ "additionalProperties": false,
90
+ "required": ["id", "capability", "message"],
91
+ "properties": {
92
+ "id": {
93
+ "$ref": "#/definitions/checkId"
94
+ },
95
+ "capability": {
96
+ "$ref": "#/definitions/checkId"
97
+ },
98
+ "fromStatus": {
99
+ "$ref": "#/definitions/checkStatus"
100
+ },
101
+ "toStatus": {
102
+ "$ref": "#/definitions/checkStatus"
103
+ },
104
+ "message": {
105
+ "type": "string"
106
+ }
107
+ }
108
+ },
109
+ "diffSummary": {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "required": [
113
+ "regressions",
114
+ "recoveries",
115
+ "unchanged",
116
+ "added",
117
+ "removed",
118
+ "gate"
119
+ ],
120
+ "properties": {
121
+ "regressions": { "type": "integer", "minimum": 0 },
122
+ "recoveries": { "type": "integer", "minimum": 0 },
123
+ "unchanged": { "type": "integer", "minimum": 0 },
124
+ "added": { "type": "integer", "minimum": 0 },
125
+ "removed": { "type": "integer", "minimum": 0 },
126
+ "gate": {
127
+ "$ref": "#/definitions/gate"
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
@@ -0,0 +1,245 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://github.com/KryptosAI/mcp-observatory/schemas/run-artifact.schema.json",
4
+ "title": "MCP Observatory Run Artifact",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "artifactType",
9
+ "schemaVersion",
10
+ "gate",
11
+ "runId",
12
+ "createdAt",
13
+ "toolVersion",
14
+ "target",
15
+ "environment",
16
+ "summary",
17
+ "checks"
18
+ ],
19
+ "properties": {
20
+ "artifactType": {
21
+ "const": "run"
22
+ },
23
+ "schemaVersion": {
24
+ "const": "1.0.0"
25
+ },
26
+ "gate": {
27
+ "$ref": "#/definitions/gate"
28
+ },
29
+ "runId": {
30
+ "type": "string"
31
+ },
32
+ "createdAt": {
33
+ "type": "string"
34
+ },
35
+ "toolVersion": {
36
+ "type": "string"
37
+ },
38
+ "target": {
39
+ "$ref": "#/definitions/targetSnapshot"
40
+ },
41
+ "environment": {
42
+ "$ref": "#/definitions/environmentSnapshot"
43
+ },
44
+ "summary": {
45
+ "$ref": "#/definitions/runSummary"
46
+ },
47
+ "checks": {
48
+ "type": "array",
49
+ "items": {
50
+ "$ref": "#/definitions/checkResult"
51
+ }
52
+ },
53
+ "fatalError": {
54
+ "type": "string"
55
+ }
56
+ },
57
+ "definitions": {
58
+ "gate": {
59
+ "type": "string",
60
+ "enum": ["pass", "fail"]
61
+ },
62
+ "checkStatus": {
63
+ "type": "string",
64
+ "enum": ["pass", "fail", "partial", "unsupported", "flaky", "skipped"]
65
+ },
66
+ "checkId": {
67
+ "type": "string",
68
+ "enum": ["tools", "prompts", "resources"]
69
+ },
70
+ "evidenceSummary": {
71
+ "type": "object",
72
+ "additionalProperties": false,
73
+ "required": [
74
+ "endpoint",
75
+ "advertised",
76
+ "responded",
77
+ "minimalShapePresent"
78
+ ],
79
+ "properties": {
80
+ "endpoint": {
81
+ "type": "string"
82
+ },
83
+ "advertised": {
84
+ "type": "boolean"
85
+ },
86
+ "responded": {
87
+ "type": "boolean"
88
+ },
89
+ "minimalShapePresent": {
90
+ "type": "boolean"
91
+ },
92
+ "itemCount": {
93
+ "type": "integer",
94
+ "minimum": 0
95
+ },
96
+ "identifiers": {
97
+ "type": "array",
98
+ "items": {
99
+ "type": "string"
100
+ }
101
+ },
102
+ "diagnostics": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "string"
106
+ }
107
+ }
108
+ }
109
+ },
110
+ "checkResult": {
111
+ "type": "object",
112
+ "additionalProperties": false,
113
+ "required": [
114
+ "id",
115
+ "capability",
116
+ "status",
117
+ "durationMs",
118
+ "message",
119
+ "evidence"
120
+ ],
121
+ "properties": {
122
+ "id": {
123
+ "$ref": "#/definitions/checkId"
124
+ },
125
+ "capability": {
126
+ "$ref": "#/definitions/checkId"
127
+ },
128
+ "status": {
129
+ "$ref": "#/definitions/checkStatus"
130
+ },
131
+ "durationMs": {
132
+ "type": "number",
133
+ "minimum": 0
134
+ },
135
+ "message": {
136
+ "type": "string"
137
+ },
138
+ "evidence": {
139
+ "type": "array",
140
+ "items": {
141
+ "$ref": "#/definitions/evidenceSummary"
142
+ }
143
+ }
144
+ }
145
+ },
146
+ "statusCounts": {
147
+ "type": "object",
148
+ "additionalProperties": false,
149
+ "required": [
150
+ "total",
151
+ "pass",
152
+ "fail",
153
+ "partial",
154
+ "unsupported",
155
+ "flaky",
156
+ "skipped"
157
+ ],
158
+ "properties": {
159
+ "total": { "type": "integer", "minimum": 0 },
160
+ "pass": { "type": "integer", "minimum": 0 },
161
+ "fail": { "type": "integer", "minimum": 0 },
162
+ "partial": { "type": "integer", "minimum": 0 },
163
+ "unsupported": { "type": "integer", "minimum": 0 },
164
+ "flaky": { "type": "integer", "minimum": 0 },
165
+ "skipped": { "type": "integer", "minimum": 0 }
166
+ }
167
+ },
168
+ "runSummary": {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "required": [
172
+ "total",
173
+ "pass",
174
+ "fail",
175
+ "partial",
176
+ "unsupported",
177
+ "flaky",
178
+ "skipped",
179
+ "gate"
180
+ ],
181
+ "properties": {
182
+ "total": { "type": "integer", "minimum": 0 },
183
+ "pass": { "type": "integer", "minimum": 0 },
184
+ "fail": { "type": "integer", "minimum": 0 },
185
+ "partial": { "type": "integer", "minimum": 0 },
186
+ "unsupported": { "type": "integer", "minimum": 0 },
187
+ "flaky": { "type": "integer", "minimum": 0 },
188
+ "skipped": { "type": "integer", "minimum": 0 },
189
+ "gate": {
190
+ "$ref": "#/definitions/gate"
191
+ }
192
+ }
193
+ },
194
+ "targetSnapshot": {
195
+ "type": "object",
196
+ "additionalProperties": false,
197
+ "required": ["targetId", "adapter", "command", "args"],
198
+ "properties": {
199
+ "targetId": {
200
+ "type": "string"
201
+ },
202
+ "adapter": {
203
+ "const": "local-process"
204
+ },
205
+ "command": {
206
+ "type": "string"
207
+ },
208
+ "args": {
209
+ "type": "array",
210
+ "items": {
211
+ "type": "string"
212
+ }
213
+ },
214
+ "cwd": {
215
+ "type": "string"
216
+ },
217
+ "metadata": {
218
+ "type": "object",
219
+ "additionalProperties": {
220
+ "type": "string"
221
+ }
222
+ },
223
+ "serverVersion": {
224
+ "type": "string"
225
+ },
226
+ "serverName": {
227
+ "type": "string"
228
+ }
229
+ }
230
+ },
231
+ "environmentSnapshot": {
232
+ "type": "object",
233
+ "additionalProperties": false,
234
+ "required": ["platform", "nodeVersion"],
235
+ "properties": {
236
+ "platform": {
237
+ "type": "string"
238
+ },
239
+ "nodeVersion": {
240
+ "type": "string"
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }