scorecard-ai-mcp 1.0.0-alpha.5 → 1.0.0-alpha.7

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 (165) hide show
  1. package/README.md +34 -7
  2. package/dynamic-tools.d.mts +12 -0
  3. package/dynamic-tools.d.mts.map +1 -0
  4. package/dynamic-tools.d.ts +12 -0
  5. package/dynamic-tools.d.ts.map +1 -0
  6. package/dynamic-tools.js +133 -0
  7. package/dynamic-tools.js.map +1 -0
  8. package/dynamic-tools.mjs +130 -0
  9. package/dynamic-tools.mjs.map +1 -0
  10. package/index.js +15 -18
  11. package/index.js.map +1 -1
  12. package/index.mjs +17 -20
  13. package/index.mjs.map +1 -1
  14. package/options.d.mts +2 -0
  15. package/options.d.mts.map +1 -1
  16. package/options.d.ts +2 -0
  17. package/options.d.ts.map +1 -1
  18. package/options.js +17 -0
  19. package/options.js.map +1 -1
  20. package/options.mjs +17 -0
  21. package/options.mjs.map +1 -1
  22. package/package.json +13 -20
  23. package/server.d.mts +6 -1
  24. package/server.d.mts.map +1 -1
  25. package/server.d.ts +6 -1
  26. package/server.d.ts.map +1 -1
  27. package/server.js +20 -1
  28. package/server.js.map +1 -1
  29. package/server.mjs +21 -3
  30. package/server.mjs.map +1 -1
  31. package/src/dynamic-tools.ts +152 -0
  32. package/src/index.ts +19 -23
  33. package/src/options.ts +22 -0
  34. package/src/server.ts +33 -3
  35. package/src/tools/index.ts +5 -5
  36. package/src/tools/projects/create-projects.ts +36 -0
  37. package/src/tools/scores/upsert-scores.ts +40 -0
  38. package/tools/index.d.mts.map +1 -1
  39. package/tools/index.d.ts.map +1 -1
  40. package/tools/index.js +5 -4
  41. package/tools/index.js.map +1 -1
  42. package/tools/index.mjs +5 -4
  43. package/tools/index.mjs.map +1 -1
  44. package/tools/projects/create-projects.d.mts +32 -0
  45. package/tools/projects/create-projects.d.mts.map +1 -0
  46. package/tools/projects/create-projects.d.ts +32 -0
  47. package/tools/projects/create-projects.d.ts.map +1 -0
  48. package/tools/projects/create-projects.js +33 -0
  49. package/tools/projects/create-projects.js.map +1 -0
  50. package/tools/projects/create-projects.mjs +29 -0
  51. package/tools/projects/create-projects.mjs.map +1 -0
  52. package/tools/projects/list-projects.d.mts +10 -2
  53. package/tools/projects/list-projects.d.mts.map +1 -1
  54. package/tools/projects/list-projects.d.ts +10 -2
  55. package/tools/projects/list-projects.d.ts.map +1 -1
  56. package/tools/records/create-records.d.mts +8 -0
  57. package/tools/records/create-records.d.mts.map +1 -1
  58. package/tools/records/create-records.d.ts +8 -0
  59. package/tools/records/create-records.d.ts.map +1 -1
  60. package/tools/runs/create-runs.d.mts +8 -0
  61. package/tools/runs/create-runs.d.mts.map +1 -1
  62. package/tools/runs/create-runs.d.ts +8 -0
  63. package/tools/runs/create-runs.d.ts.map +1 -1
  64. package/tools/runs/update-runs.d.mts +8 -0
  65. package/tools/runs/update-runs.d.mts.map +1 -1
  66. package/tools/runs/update-runs.d.ts +8 -0
  67. package/tools/runs/update-runs.d.ts.map +1 -1
  68. package/tools/scores/upsert-scores.d.mts +32 -0
  69. package/tools/scores/upsert-scores.d.mts.map +1 -0
  70. package/tools/scores/upsert-scores.d.ts +32 -0
  71. package/tools/scores/upsert-scores.d.ts.map +1 -0
  72. package/tools/scores/upsert-scores.js +35 -0
  73. package/tools/scores/upsert-scores.js.map +1 -0
  74. package/tools/scores/upsert-scores.mjs +31 -0
  75. package/tools/scores/upsert-scores.mjs.map +1 -0
  76. package/tools/system-configs/create-system-configs.d.mts +8 -0
  77. package/tools/system-configs/create-system-configs.d.mts.map +1 -1
  78. package/tools/system-configs/create-system-configs.d.ts +8 -0
  79. package/tools/system-configs/create-system-configs.d.ts.map +1 -1
  80. package/tools/system-configs/get-system-configs.d.mts +8 -0
  81. package/tools/system-configs/get-system-configs.d.mts.map +1 -1
  82. package/tools/system-configs/get-system-configs.d.ts +8 -0
  83. package/tools/system-configs/get-system-configs.d.ts.map +1 -1
  84. package/tools/system-configs/list-system-configs.d.mts +8 -0
  85. package/tools/system-configs/list-system-configs.d.mts.map +1 -1
  86. package/tools/system-configs/list-system-configs.d.ts +8 -0
  87. package/tools/system-configs/list-system-configs.d.ts.map +1 -1
  88. package/tools/systems/create-systems.d.mts +8 -0
  89. package/tools/systems/create-systems.d.mts.map +1 -1
  90. package/tools/systems/create-systems.d.ts +8 -0
  91. package/tools/systems/create-systems.d.ts.map +1 -1
  92. package/tools/systems/delete-systems.d.mts +8 -0
  93. package/tools/systems/delete-systems.d.mts.map +1 -1
  94. package/tools/systems/delete-systems.d.ts +8 -0
  95. package/tools/systems/delete-systems.d.ts.map +1 -1
  96. package/tools/systems/get-systems.d.mts +8 -0
  97. package/tools/systems/get-systems.d.mts.map +1 -1
  98. package/tools/systems/get-systems.d.ts +8 -0
  99. package/tools/systems/get-systems.d.ts.map +1 -1
  100. package/tools/systems/list-systems.d.mts +8 -0
  101. package/tools/systems/list-systems.d.mts.map +1 -1
  102. package/tools/systems/list-systems.d.ts +8 -0
  103. package/tools/systems/list-systems.d.ts.map +1 -1
  104. package/tools/systems/update-systems.d.mts +8 -0
  105. package/tools/systems/update-systems.d.mts.map +1 -1
  106. package/tools/systems/update-systems.d.ts +8 -0
  107. package/tools/systems/update-systems.d.ts.map +1 -1
  108. package/tools/testcases/create-testcases.d.mts +8 -0
  109. package/tools/testcases/create-testcases.d.mts.map +1 -1
  110. package/tools/testcases/create-testcases.d.ts +8 -0
  111. package/tools/testcases/create-testcases.d.ts.map +1 -1
  112. package/tools/testcases/delete-testcases.d.mts +8 -0
  113. package/tools/testcases/delete-testcases.d.mts.map +1 -1
  114. package/tools/testcases/delete-testcases.d.ts +8 -0
  115. package/tools/testcases/delete-testcases.d.ts.map +1 -1
  116. package/tools/testcases/get-testcases.d.mts +8 -0
  117. package/tools/testcases/get-testcases.d.mts.map +1 -1
  118. package/tools/testcases/get-testcases.d.ts +8 -0
  119. package/tools/testcases/get-testcases.d.ts.map +1 -1
  120. package/tools/testcases/list-testcases.d.mts +8 -0
  121. package/tools/testcases/list-testcases.d.mts.map +1 -1
  122. package/tools/testcases/list-testcases.d.ts +8 -0
  123. package/tools/testcases/list-testcases.d.ts.map +1 -1
  124. package/tools/testcases/update-testcases.d.mts +8 -0
  125. package/tools/testcases/update-testcases.d.mts.map +1 -1
  126. package/tools/testcases/update-testcases.d.ts +8 -0
  127. package/tools/testcases/update-testcases.d.ts.map +1 -1
  128. package/tools/testsets/create-testsets.d.mts +8 -0
  129. package/tools/testsets/create-testsets.d.mts.map +1 -1
  130. package/tools/testsets/create-testsets.d.ts +8 -0
  131. package/tools/testsets/create-testsets.d.ts.map +1 -1
  132. package/tools/testsets/delete-testsets.d.mts +8 -0
  133. package/tools/testsets/delete-testsets.d.mts.map +1 -1
  134. package/tools/testsets/delete-testsets.d.ts +8 -0
  135. package/tools/testsets/delete-testsets.d.ts.map +1 -1
  136. package/tools/testsets/get-testsets.d.mts +8 -0
  137. package/tools/testsets/get-testsets.d.mts.map +1 -1
  138. package/tools/testsets/get-testsets.d.ts +8 -0
  139. package/tools/testsets/get-testsets.d.ts.map +1 -1
  140. package/tools/testsets/list-testsets.d.mts +8 -0
  141. package/tools/testsets/list-testsets.d.mts.map +1 -1
  142. package/tools/testsets/list-testsets.d.ts +8 -0
  143. package/tools/testsets/list-testsets.d.ts.map +1 -1
  144. package/tools/testsets/update-testsets.d.mts +8 -0
  145. package/tools/testsets/update-testsets.d.mts.map +1 -1
  146. package/tools/testsets/update-testsets.d.ts +8 -0
  147. package/tools/testsets/update-testsets.d.ts.map +1 -1
  148. package/compat.test.d.mts +0 -2
  149. package/compat.test.d.mts.map +0 -1
  150. package/compat.test.d.ts +0 -2
  151. package/compat.test.d.ts.map +0 -1
  152. package/compat.test.js +0 -950
  153. package/compat.test.js.map +0 -1
  154. package/compat.test.mjs +0 -948
  155. package/compat.test.mjs.map +0 -1
  156. package/options.test.d.mts +0 -2
  157. package/options.test.d.mts.map +0 -1
  158. package/options.test.d.ts +0 -2
  159. package/options.test.d.ts.map +0 -1
  160. package/options.test.js +0 -154
  161. package/options.test.js.map +0 -1
  162. package/options.test.mjs +0 -152
  163. package/options.test.mjs.map +0 -1
  164. package/src/compat.test.ts +0 -1068
  165. package/src/options.test.ts +0 -193
@@ -1,193 +0,0 @@
1
- import { parseOptions } from './options';
2
- import { Filter } from './tools';
3
-
4
- // Mock process.argv
5
- const mockArgv = (args: string[]) => {
6
- const originalArgv = process.argv;
7
- process.argv = ['node', 'test.js', ...args];
8
- return () => {
9
- process.argv = originalArgv;
10
- };
11
- };
12
-
13
- describe('parseOptions', () => {
14
- it('should parse basic filter options', () => {
15
- const cleanup = mockArgv([
16
- '--tool=test-tool',
17
- '--resource=test-resource',
18
- '--operation=read',
19
- '--tag=test-tag',
20
- ]);
21
-
22
- const result = parseOptions();
23
-
24
- expect(result.filters).toEqual([
25
- { type: 'tag', op: 'include', value: 'test-tag' },
26
- { type: 'resource', op: 'include', value: 'test-resource' },
27
- { type: 'tool', op: 'include', value: 'test-tool' },
28
- { type: 'operation', op: 'include', value: 'read' },
29
- ] as Filter[]);
30
-
31
- // Default client capabilities
32
- expect(result.capabilities).toEqual({
33
- topLevelUnions: true,
34
- validJson: true,
35
- refs: true,
36
- unions: true,
37
- formats: true,
38
- toolNameLength: undefined,
39
- });
40
-
41
- expect(result.list).toBe(false);
42
-
43
- cleanup();
44
- });
45
-
46
- it('should parse exclusion filters', () => {
47
- const cleanup = mockArgv([
48
- '--no-tool=exclude-tool',
49
- '--no-resource=exclude-resource',
50
- '--no-operation=write',
51
- '--no-tag=exclude-tag',
52
- ]);
53
-
54
- const result = parseOptions();
55
-
56
- expect(result.filters).toEqual([
57
- { type: 'tag', op: 'exclude', value: 'exclude-tag' },
58
- { type: 'resource', op: 'exclude', value: 'exclude-resource' },
59
- { type: 'tool', op: 'exclude', value: 'exclude-tool' },
60
- { type: 'operation', op: 'exclude', value: 'write' },
61
- ] as Filter[]);
62
-
63
- expect(result.capabilities).toEqual({
64
- topLevelUnions: true,
65
- validJson: true,
66
- refs: true,
67
- unions: true,
68
- formats: true,
69
- toolNameLength: undefined,
70
- });
71
-
72
- cleanup();
73
- });
74
-
75
- it('should parse client presets', () => {
76
- const cleanup = mockArgv(['--client=openai-agents']);
77
-
78
- const result = parseOptions();
79
-
80
- expect(result.capabilities).toEqual({
81
- topLevelUnions: false,
82
- validJson: true,
83
- refs: true,
84
- unions: true,
85
- formats: true,
86
- toolNameLength: undefined,
87
- });
88
-
89
- cleanup();
90
- });
91
-
92
- it('should parse individual capabilities', () => {
93
- const cleanup = mockArgv([
94
- '--capability=top-level-unions',
95
- '--capability=valid-json',
96
- '--capability=refs',
97
- '--capability=unions',
98
- '--capability=tool-name-length=40',
99
- ]);
100
-
101
- const result = parseOptions();
102
-
103
- expect(result.capabilities).toEqual({
104
- topLevelUnions: true,
105
- validJson: true,
106
- refs: true,
107
- unions: true,
108
- formats: true,
109
- toolNameLength: 40,
110
- });
111
-
112
- cleanup();
113
- });
114
-
115
- it('should handle list option', () => {
116
- const cleanup = mockArgv(['--list']);
117
-
118
- const result = parseOptions();
119
-
120
- expect(result.list).toBe(true);
121
-
122
- cleanup();
123
- });
124
-
125
- it('should handle multiple filters of the same type', () => {
126
- const cleanup = mockArgv(['--tool=tool1', '--tool=tool2', '--resource=res1', '--resource=res2']);
127
-
128
- const result = parseOptions();
129
-
130
- expect(result.filters).toEqual([
131
- { type: 'resource', op: 'include', value: 'res1' },
132
- { type: 'resource', op: 'include', value: 'res2' },
133
- { type: 'tool', op: 'include', value: 'tool1' },
134
- { type: 'tool', op: 'include', value: 'tool2' },
135
- ] as Filter[]);
136
-
137
- cleanup();
138
- });
139
-
140
- it('should handle comma-separated values in array options', () => {
141
- const cleanup = mockArgv([
142
- '--tool=tool1,tool2',
143
- '--resource=res1,res2',
144
- '--capability=top-level-unions,valid-json,unions',
145
- ]);
146
-
147
- const result = parseOptions();
148
-
149
- expect(result.filters).toEqual([
150
- { type: 'resource', op: 'include', value: 'res1' },
151
- { type: 'resource', op: 'include', value: 'res2' },
152
- { type: 'tool', op: 'include', value: 'tool1' },
153
- { type: 'tool', op: 'include', value: 'tool2' },
154
- ] as Filter[]);
155
-
156
- expect(result.capabilities).toEqual({
157
- topLevelUnions: true,
158
- validJson: true,
159
- refs: true,
160
- unions: true,
161
- formats: true,
162
- toolNameLength: undefined,
163
- });
164
-
165
- cleanup();
166
- });
167
-
168
- it('should handle invalid tool-name-length format', () => {
169
- const cleanup = mockArgv(['--capability=tool-name-length=invalid']);
170
-
171
- // Mock console.error to prevent output during test
172
- const originalError = console.error;
173
- console.error = jest.fn();
174
-
175
- expect(() => parseOptions()).toThrow();
176
-
177
- console.error = originalError;
178
- cleanup();
179
- });
180
-
181
- it('should handle unknown capability', () => {
182
- const cleanup = mockArgv(['--capability=unknown-capability']);
183
-
184
- // Mock console.error to prevent output during test
185
- const originalError = console.error;
186
- console.error = jest.fn();
187
-
188
- expect(() => parseOptions()).toThrow();
189
-
190
- console.error = originalError;
191
- cleanup();
192
- });
193
- });