@plumloom/cli 0.1.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 (308) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +2 -0
  3. package/README.md +71 -0
  4. package/dist/actions/configured-runs.d.ts +25 -0
  5. package/dist/actions/configured-runs.d.ts.map +1 -0
  6. package/dist/actions/configured-runs.js +35 -0
  7. package/dist/actions/configured-runs.js.map +1 -0
  8. package/dist/actions/context.d.ts +5 -0
  9. package/dist/actions/context.d.ts.map +1 -0
  10. package/dist/actions/context.js +2 -0
  11. package/dist/actions/context.js.map +1 -0
  12. package/dist/actions/doctor.d.ts +46 -0
  13. package/dist/actions/doctor.d.ts.map +1 -0
  14. package/dist/actions/doctor.js +130 -0
  15. package/dist/actions/doctor.js.map +1 -0
  16. package/dist/actions/evaluations.d.ts +87 -0
  17. package/dist/actions/evaluations.d.ts.map +1 -0
  18. package/dist/actions/evaluations.js +307 -0
  19. package/dist/actions/evaluations.js.map +1 -0
  20. package/dist/actions/gate.d.ts +63 -0
  21. package/dist/actions/gate.d.ts.map +1 -0
  22. package/dist/actions/gate.js +272 -0
  23. package/dist/actions/gate.js.map +1 -0
  24. package/dist/actions/identity.d.ts +4 -0
  25. package/dist/actions/identity.d.ts.map +1 -0
  26. package/dist/actions/identity.js +4 -0
  27. package/dist/actions/identity.js.map +1 -0
  28. package/dist/actions/models.d.ts +4 -0
  29. package/dist/actions/models.d.ts.map +1 -0
  30. package/dist/actions/models.js +4 -0
  31. package/dist/actions/models.js.map +1 -0
  32. package/dist/actions/quality-standards.d.ts +30 -0
  33. package/dist/actions/quality-standards.d.ts.map +1 -0
  34. package/dist/actions/quality-standards.js +86 -0
  35. package/dist/actions/quality-standards.js.map +1 -0
  36. package/dist/actions/results.d.ts +12 -0
  37. package/dist/actions/results.d.ts.map +1 -0
  38. package/dist/actions/results.js +65 -0
  39. package/dist/actions/results.js.map +1 -0
  40. package/dist/actions/runs.d.ts +22 -0
  41. package/dist/actions/runs.d.ts.map +1 -0
  42. package/dist/actions/runs.js +59 -0
  43. package/dist/actions/runs.js.map +1 -0
  44. package/dist/actions/suite-gate.d.ts +24 -0
  45. package/dist/actions/suite-gate.d.ts.map +1 -0
  46. package/dist/actions/suite-gate.js +40 -0
  47. package/dist/actions/suite-gate.js.map +1 -0
  48. package/dist/actions/suite.d.ts +49 -0
  49. package/dist/actions/suite.d.ts.map +1 -0
  50. package/dist/actions/suite.js +68 -0
  51. package/dist/actions/suite.js.map +1 -0
  52. package/dist/actions/validation.d.ts +3 -0
  53. package/dist/actions/validation.d.ts.map +1 -0
  54. package/dist/actions/validation.js +26 -0
  55. package/dist/actions/validation.js.map +1 -0
  56. package/dist/actions/workspaces.d.ts +13 -0
  57. package/dist/actions/workspaces.d.ts.map +1 -0
  58. package/dist/actions/workspaces.js +18 -0
  59. package/dist/actions/workspaces.js.map +1 -0
  60. package/dist/api/api.d.ts +237 -0
  61. package/dist/api/api.d.ts.map +1 -0
  62. package/dist/api/api.js +396 -0
  63. package/dist/api/api.js.map +1 -0
  64. package/dist/api/client.d.ts +38 -0
  65. package/dist/api/client.d.ts.map +1 -0
  66. package/dist/api/client.js +295 -0
  67. package/dist/api/client.js.map +1 -0
  68. package/dist/api/endpoints.d.ts +31 -0
  69. package/dist/api/endpoints.d.ts.map +1 -0
  70. package/dist/api/endpoints.js +32 -0
  71. package/dist/api/endpoints.js.map +1 -0
  72. package/dist/api/errors.d.ts +22 -0
  73. package/dist/api/errors.d.ts.map +1 -0
  74. package/dist/api/errors.js +84 -0
  75. package/dist/api/errors.js.map +1 -0
  76. package/dist/api/schemas.d.ts +169 -0
  77. package/dist/api/schemas.d.ts.map +1 -0
  78. package/dist/api/schemas.js +194 -0
  79. package/dist/api/schemas.js.map +1 -0
  80. package/dist/auth/credential-store.d.ts +9 -0
  81. package/dist/auth/credential-store.d.ts.map +1 -0
  82. package/dist/auth/credential-store.js +2 -0
  83. package/dist/auth/credential-store.js.map +1 -0
  84. package/dist/auth/credentials.d.ts +27 -0
  85. package/dist/auth/credentials.d.ts.map +1 -0
  86. package/dist/auth/credentials.js +81 -0
  87. package/dist/auth/credentials.js.map +1 -0
  88. package/dist/auth/keyring-store.d.ts +9 -0
  89. package/dist/auth/keyring-store.d.ts.map +1 -0
  90. package/dist/auth/keyring-store.js +57 -0
  91. package/dist/auth/keyring-store.js.map +1 -0
  92. package/dist/auth/login.d.ts +28 -0
  93. package/dist/auth/login.d.ts.map +1 -0
  94. package/dist/auth/login.js +27 -0
  95. package/dist/auth/login.js.map +1 -0
  96. package/dist/auth/password-prompt.d.ts +5 -0
  97. package/dist/auth/password-prompt.d.ts.map +1 -0
  98. package/dist/auth/password-prompt.js +10 -0
  99. package/dist/auth/password-prompt.js.map +1 -0
  100. package/dist/auth/redact.d.ts +3 -0
  101. package/dist/auth/redact.d.ts.map +1 -0
  102. package/dist/auth/redact.js +69 -0
  103. package/dist/auth/redact.js.map +1 -0
  104. package/dist/cli.d.ts +3 -0
  105. package/dist/cli.d.ts.map +1 -0
  106. package/dist/cli.js +4 -0
  107. package/dist/cli.js.map +1 -0
  108. package/dist/commands/executor.d.ts +36 -0
  109. package/dist/commands/executor.d.ts.map +1 -0
  110. package/dist/commands/executor.js +1218 -0
  111. package/dist/commands/executor.js.map +1 -0
  112. package/dist/commands/program.d.ts +21 -0
  113. package/dist/commands/program.d.ts.map +1 -0
  114. package/dist/commands/program.js +588 -0
  115. package/dist/commands/program.js.map +1 -0
  116. package/dist/commands/types.d.ts +139 -0
  117. package/dist/commands/types.d.ts.map +1 -0
  118. package/dist/commands/types.js +2 -0
  119. package/dist/commands/types.js.map +1 -0
  120. package/dist/config.d.ts +12 -0
  121. package/dist/config.d.ts.map +1 -0
  122. package/dist/config.js +57 -0
  123. package/dist/config.js.map +1 -0
  124. package/dist/configured-run/file-inputs.d.ts +8 -0
  125. package/dist/configured-run/file-inputs.d.ts.map +1 -0
  126. package/dist/configured-run/file-inputs.js +160 -0
  127. package/dist/configured-run/file-inputs.js.map +1 -0
  128. package/dist/configured-run/validation.d.ts +103 -0
  129. package/dist/configured-run/validation.d.ts.map +1 -0
  130. package/dist/configured-run/validation.js +327 -0
  131. package/dist/configured-run/validation.js.map +1 -0
  132. package/dist/domain/common.d.ts +6 -0
  133. package/dist/domain/common.d.ts.map +1 -0
  134. package/dist/domain/common.js +10 -0
  135. package/dist/domain/common.js.map +1 -0
  136. package/dist/domain/types.d.ts +117 -0
  137. package/dist/domain/types.d.ts.map +1 -0
  138. package/dist/domain/types.js +2 -0
  139. package/dist/domain/types.js.map +1 -0
  140. package/dist/errors/autoeval-error.d.ts +13 -0
  141. package/dist/errors/autoeval-error.d.ts.map +1 -0
  142. package/dist/errors/autoeval-error.js +36 -0
  143. package/dist/errors/autoeval-error.js.map +1 -0
  144. package/dist/errors/hints.d.ts +3 -0
  145. package/dist/errors/hints.d.ts.map +1 -0
  146. package/dist/errors/hints.js +43 -0
  147. package/dist/errors/hints.js.map +1 -0
  148. package/dist/gate/decision.d.ts +97 -0
  149. package/dist/gate/decision.d.ts.map +1 -0
  150. package/dist/gate/decision.js +436 -0
  151. package/dist/gate/decision.js.map +1 -0
  152. package/dist/gate/policy.d.ts +31 -0
  153. package/dist/gate/policy.d.ts.map +1 -0
  154. package/dist/gate/policy.js +26 -0
  155. package/dist/gate/policy.js.map +1 -0
  156. package/dist/guide/eval-creation-backend.d.ts +20 -0
  157. package/dist/guide/eval-creation-backend.d.ts.map +1 -0
  158. package/dist/guide/eval-creation-backend.js +16 -0
  159. package/dist/guide/eval-creation-backend.js.map +1 -0
  160. package/dist/guide/eval-guide.d.ts +24 -0
  161. package/dist/guide/eval-guide.d.ts.map +1 -0
  162. package/dist/guide/eval-guide.js +219 -0
  163. package/dist/guide/eval-guide.js.map +1 -0
  164. package/dist/mcp/context.d.ts +21 -0
  165. package/dist/mcp/context.d.ts.map +1 -0
  166. package/dist/mcp/context.js +19 -0
  167. package/dist/mcp/context.js.map +1 -0
  168. package/dist/mcp/schemas.d.ts +206 -0
  169. package/dist/mcp/schemas.d.ts.map +1 -0
  170. package/dist/mcp/schemas.js +80 -0
  171. package/dist/mcp/schemas.js.map +1 -0
  172. package/dist/mcp/server.d.ts +5 -0
  173. package/dist/mcp/server.d.ts.map +1 -0
  174. package/dist/mcp/server.js +10 -0
  175. package/dist/mcp/server.js.map +1 -0
  176. package/dist/mcp/tools.d.ts +42 -0
  177. package/dist/mcp/tools.d.ts.map +1 -0
  178. package/dist/mcp/tools.js +287 -0
  179. package/dist/mcp/tools.js.map +1 -0
  180. package/dist/mcp.d.ts +3 -0
  181. package/dist/mcp.d.ts.map +1 -0
  182. package/dist/mcp.js +32 -0
  183. package/dist/mcp.js.map +1 -0
  184. package/dist/output/big-digits.d.ts +7 -0
  185. package/dist/output/big-digits.d.ts.map +1 -0
  186. package/dist/output/big-digits.js +43 -0
  187. package/dist/output/big-digits.js.map +1 -0
  188. package/dist/output/clipboard.d.ts +29 -0
  189. package/dist/output/clipboard.d.ts.map +1 -0
  190. package/dist/output/clipboard.js +82 -0
  191. package/dist/output/clipboard.js.map +1 -0
  192. package/dist/output/colors.d.ts +21 -0
  193. package/dist/output/colors.d.ts.map +1 -0
  194. package/dist/output/colors.js +21 -0
  195. package/dist/output/colors.js.map +1 -0
  196. package/dist/output/digest.d.ts +165 -0
  197. package/dist/output/digest.d.ts.map +1 -0
  198. package/dist/output/digest.js +771 -0
  199. package/dist/output/digest.js.map +1 -0
  200. package/dist/output/human.d.ts +95 -0
  201. package/dist/output/human.d.ts.map +1 -0
  202. package/dist/output/human.js +643 -0
  203. package/dist/output/human.js.map +1 -0
  204. package/dist/output/json.d.ts +2 -0
  205. package/dist/output/json.d.ts.map +1 -0
  206. package/dist/output/json.js +5 -0
  207. package/dist/output/json.js.map +1 -0
  208. package/dist/output/layout.d.ts +18 -0
  209. package/dist/output/layout.d.ts.map +1 -0
  210. package/dist/output/layout.js +64 -0
  211. package/dist/output/layout.js.map +1 -0
  212. package/dist/output/markdown.d.ts +16 -0
  213. package/dist/output/markdown.d.ts.map +1 -0
  214. package/dist/output/markdown.js +38 -0
  215. package/dist/output/markdown.js.map +1 -0
  216. package/dist/output/progress.d.ts +29 -0
  217. package/dist/output/progress.d.ts.map +1 -0
  218. package/dist/output/progress.js +136 -0
  219. package/dist/output/progress.js.map +1 -0
  220. package/dist/output/safe-text.d.ts +11 -0
  221. package/dist/output/safe-text.d.ts.map +1 -0
  222. package/dist/output/safe-text.js +44 -0
  223. package/dist/output/safe-text.js.map +1 -0
  224. package/dist/output/scorecard.d.ts +23 -0
  225. package/dist/output/scorecard.d.ts.map +1 -0
  226. package/dist/output/scorecard.js +506 -0
  227. package/dist/output/scorecard.js.map +1 -0
  228. package/dist/output/section.d.ts +15 -0
  229. package/dist/output/section.d.ts.map +1 -0
  230. package/dist/output/section.js +44 -0
  231. package/dist/output/section.js.map +1 -0
  232. package/dist/output/spinner.d.ts +24 -0
  233. package/dist/output/spinner.d.ts.map +1 -0
  234. package/dist/output/spinner.js +34 -0
  235. package/dist/output/spinner.js.map +1 -0
  236. package/dist/output/splash.d.ts +37 -0
  237. package/dist/output/splash.d.ts.map +1 -0
  238. package/dist/output/splash.js +169 -0
  239. package/dist/output/splash.js.map +1 -0
  240. package/dist/output/table.d.ts +33 -0
  241. package/dist/output/table.d.ts.map +1 -0
  242. package/dist/output/table.js +105 -0
  243. package/dist/output/table.js.map +1 -0
  244. package/dist/output/trend.d.ts +19 -0
  245. package/dist/output/trend.d.ts.map +1 -0
  246. package/dist/output/trend.js +38 -0
  247. package/dist/output/trend.js.map +1 -0
  248. package/dist/output/writer.d.ts +14 -0
  249. package/dist/output/writer.d.ts.map +1 -0
  250. package/dist/output/writer.js +33 -0
  251. package/dist/output/writer.js.map +1 -0
  252. package/dist/polling/clock.d.ts +9 -0
  253. package/dist/polling/clock.d.ts.map +1 -0
  254. package/dist/polling/clock.js +23 -0
  255. package/dist/polling/clock.js.map +1 -0
  256. package/dist/polling/wait-for-result.d.ts +16 -0
  257. package/dist/polling/wait-for-result.d.ts.map +1 -0
  258. package/dist/polling/wait-for-result.js +29 -0
  259. package/dist/polling/wait-for-result.js.map +1 -0
  260. package/dist/polling/wait-for-run.d.ts +14 -0
  261. package/dist/polling/wait-for-run.d.ts.map +1 -0
  262. package/dist/polling/wait-for-run.js +36 -0
  263. package/dist/polling/wait-for-run.js.map +1 -0
  264. package/dist/quickstart/prompt.d.ts +18 -0
  265. package/dist/quickstart/prompt.d.ts.map +1 -0
  266. package/dist/quickstart/prompt.js +37 -0
  267. package/dist/quickstart/prompt.js.map +1 -0
  268. package/dist/quickstart/sample.d.ts +28 -0
  269. package/dist/quickstart/sample.d.ts.map +1 -0
  270. package/dist/quickstart/sample.js +235 -0
  271. package/dist/quickstart/sample.js.map +1 -0
  272. package/dist/quickstart/selection.d.ts +53 -0
  273. package/dist/quickstart/selection.d.ts.map +1 -0
  274. package/dist/quickstart/selection.js +97 -0
  275. package/dist/quickstart/selection.js.map +1 -0
  276. package/dist/run.d.ts +28 -0
  277. package/dist/run.d.ts.map +1 -0
  278. package/dist/run.js +134 -0
  279. package/dist/run.js.map +1 -0
  280. package/dist/runtime/action-context.d.ts +19 -0
  281. package/dist/runtime/action-context.d.ts.map +1 -0
  282. package/dist/runtime/action-context.js +40 -0
  283. package/dist/runtime/action-context.js.map +1 -0
  284. package/dist/suite/execution.d.ts +46 -0
  285. package/dist/suite/execution.d.ts.map +1 -0
  286. package/dist/suite/execution.js +97 -0
  287. package/dist/suite/execution.js.map +1 -0
  288. package/dist/suite/manifest.d.ts +16 -0
  289. package/dist/suite/manifest.d.ts.map +1 -0
  290. package/dist/suite/manifest.js +92 -0
  291. package/dist/suite/manifest.js.map +1 -0
  292. package/dist/suite/reporting.d.ts +35 -0
  293. package/dist/suite/reporting.d.ts.map +1 -0
  294. package/dist/suite/reporting.js +131 -0
  295. package/dist/suite/reporting.js.map +1 -0
  296. package/dist/trace/deepseek-harness.d.ts +31 -0
  297. package/dist/trace/deepseek-harness.d.ts.map +1 -0
  298. package/dist/trace/deepseek-harness.js +412 -0
  299. package/dist/trace/deepseek-harness.js.map +1 -0
  300. package/dist/trace/import.d.ts +9 -0
  301. package/dist/trace/import.d.ts.map +1 -0
  302. package/dist/trace/import.js +45 -0
  303. package/dist/trace/import.js.map +1 -0
  304. package/dist/version.d.ts +3 -0
  305. package/dist/version.d.ts.map +1 -0
  306. package/dist/version.js +3 -0
  307. package/dist/version.js.map +1 -0
  308. package/package.json +82 -0
@@ -0,0 +1,396 @@
1
+ import { AutoevalError } from '../errors/autoeval-error.js';
2
+ import { apiEndpoints } from './endpoints.js';
3
+ import { configVersionCreateResponseSchema, evaluationCreateResponseSchema, evaluationConfigurationResponseSchema, evaluationDraftResponseSchema, evaluationPageResponseSchema, evaluationSummaryResponseSchema, evaluationVersionsResponseSchema, jsonObjectSchema, nullableJsonObjectSchema, methodologyVersionCreateResponseSchema, modelsResponseSchema, runCreateResponseSchema, runStatusResponseSchema, userIdentityResponseSchema, workspacePageResponseSchema, workspaceResponseSchema, } from './schemas.js';
4
+ function isByokModelsResponse(value) {
5
+ if (typeof value !== 'object' || value === null || !('models' in value)) {
6
+ return false;
7
+ }
8
+ const models = value.models;
9
+ return Array.isArray(models);
10
+ }
11
+ function isLegacyModelsResponse(value) {
12
+ if (typeof value !== 'object' || value === null || !('providers' in value)) {
13
+ return false;
14
+ }
15
+ const providers = value.providers;
16
+ return typeof providers === 'object' && providers !== null;
17
+ }
18
+ function mapWorkspace(response) {
19
+ const qualityStandardId = response.quality_standard_id ?? response.qualityStandardId ?? response.quality_standard?.id;
20
+ return {
21
+ id: response.workspace_id,
22
+ name: response.name,
23
+ evaluationCount: response.eval_count ?? 0,
24
+ ...(response.description ? { description: response.description } : {}),
25
+ ...(response.updated_at ? { updatedAt: response.updated_at } : {}),
26
+ ...(qualityStandardId ? { qualityStandardId } : {}),
27
+ };
28
+ }
29
+ function mapEvaluation(response, fallbackWorkspaceId) {
30
+ const workspaceId = response.workspace_id ?? fallbackWorkspaceId;
31
+ return {
32
+ id: response.eval_id,
33
+ name: response.eval_name,
34
+ ...(workspaceId ? { workspaceId } : {}),
35
+ ...(response.updated_at ? { updatedAt: response.updated_at } : {}),
36
+ };
37
+ }
38
+ export class AutoevalApiClient {
39
+ #client;
40
+ constructor(client) {
41
+ this.#client = client;
42
+ }
43
+ async getCurrentUser(signal) {
44
+ const response = await this.#client.request({
45
+ method: 'GET',
46
+ path: apiEndpoints.currentUser(),
47
+ schema: userIdentityResponseSchema,
48
+ ...(signal ? { signal } : {}),
49
+ });
50
+ return {
51
+ id: response.id,
52
+ userSystemId: response.user_sys_id,
53
+ email: response.email,
54
+ ...(response.name ? { name: response.name } : {}),
55
+ };
56
+ }
57
+ async listWorkspaces(input = {}, signal) {
58
+ const response = await this.#client.request({
59
+ method: 'GET',
60
+ path: apiEndpoints.workspaces(),
61
+ schema: workspacePageResponseSchema,
62
+ query: { page: input.page ?? 1, size: input.size ?? 100 },
63
+ ...(signal ? { signal } : {}),
64
+ });
65
+ return {
66
+ items: response.items.map(mapWorkspace),
67
+ total: response.total,
68
+ page: response.page,
69
+ size: response.size,
70
+ totalPages: response.total_pages,
71
+ };
72
+ }
73
+ async createWorkspace(input, signal) {
74
+ const response = await this.#client.request({
75
+ method: 'POST',
76
+ path: apiEndpoints.workspaceCreate(),
77
+ schema: workspaceResponseSchema,
78
+ body: input,
79
+ ...(signal ? { signal } : {}),
80
+ });
81
+ return mapWorkspace(response);
82
+ }
83
+ async getWorkspace(workspaceId, signal) {
84
+ const response = await this.#client.request({
85
+ method: 'GET',
86
+ path: apiEndpoints.workspace(workspaceId),
87
+ schema: workspaceResponseSchema,
88
+ ...(signal ? { signal } : {}),
89
+ });
90
+ return mapWorkspace(response);
91
+ }
92
+ async listEvaluations(workspaceId, input = {}, signal) {
93
+ const response = await this.#client.request({
94
+ method: 'GET',
95
+ path: apiEndpoints.evaluations(),
96
+ schema: evaluationPageResponseSchema,
97
+ query: { workspace_id: workspaceId, page: input.page ?? 1, size: input.size ?? 100 },
98
+ ...(signal ? { signal } : {}),
99
+ });
100
+ return {
101
+ items: response.items.map((item) => mapEvaluation(item, workspaceId)),
102
+ total: response.total,
103
+ page: response.page,
104
+ size: response.size,
105
+ totalPages: response.total_pages,
106
+ };
107
+ }
108
+ async getEvaluationMetadata(workspaceId, evaluationId, signal) {
109
+ const response = await this.#client.request({
110
+ method: 'GET',
111
+ path: apiEndpoints.evaluationMetadata(workspaceId),
112
+ schema: evaluationSummaryResponseSchema,
113
+ query: { evaltool_id: evaluationId },
114
+ ...(signal ? { signal } : {}),
115
+ });
116
+ return mapEvaluation(response, workspaceId);
117
+ }
118
+ createEvaluationDraft(workspaceId, signal) {
119
+ return this.#client.request({
120
+ method: 'POST',
121
+ path: apiEndpoints.evaluationDraft(),
122
+ schema: evaluationDraftResponseSchema,
123
+ body: { workspace_id: workspaceId },
124
+ ...(signal ? { signal } : {}),
125
+ });
126
+ }
127
+ createEvaluation(input, signal) {
128
+ return this.#client.request({
129
+ method: 'POST',
130
+ path: apiEndpoints.evaluationCreate(),
131
+ schema: evaluationCreateResponseSchema,
132
+ query: {
133
+ eval_name: input.evaluationName,
134
+ workspace_id: input.workspaceId,
135
+ evaluation_id: input.evaluationId,
136
+ },
137
+ ...(signal ? { signal } : {}),
138
+ });
139
+ }
140
+ patchEvaluationTitle(evaluationId, input, signal) {
141
+ return this.#client.request({
142
+ method: 'PATCH',
143
+ path: apiEndpoints.evaluationUpdate(evaluationId),
144
+ schema: jsonObjectSchema,
145
+ body: input,
146
+ ...(signal ? { signal } : {}),
147
+ });
148
+ }
149
+ putEvaltoolTitle(workspaceId, evaluationId, input, signal) {
150
+ return this.#client.request({
151
+ method: 'PUT',
152
+ path: apiEndpoints.evaltoolUpdate(workspaceId),
153
+ schema: jsonObjectSchema,
154
+ query: { evaltool_id: evaluationId },
155
+ body: input,
156
+ ...(signal ? { signal } : {}),
157
+ });
158
+ }
159
+ syncEvalsList(input, signal) {
160
+ return this.#client.request({
161
+ method: 'POST',
162
+ path: apiEndpoints.syncEvalsList(),
163
+ schema: jsonObjectSchema,
164
+ body: {
165
+ limit: input.limit,
166
+ offset: input.offset,
167
+ workspace_id: input.workspaceId,
168
+ },
169
+ ...(signal ? { signal } : {}),
170
+ });
171
+ }
172
+ async listEvaluationsSorted(workspaceId, input, signal) {
173
+ const response = await this.#client.request({
174
+ method: 'GET',
175
+ path: apiEndpoints.evaluations(),
176
+ schema: evaluationPageResponseSchema,
177
+ query: {
178
+ page: input.page,
179
+ size: input.size,
180
+ sort_by: input.sortBy,
181
+ sort_order: input.sortOrder,
182
+ workspace_id: workspaceId,
183
+ },
184
+ ...(signal ? { signal } : {}),
185
+ });
186
+ return {
187
+ items: response.items.map((item) => mapEvaluation(item, workspaceId)),
188
+ total: response.total,
189
+ page: response.page,
190
+ size: response.size,
191
+ totalPages: response.total_pages,
192
+ };
193
+ }
194
+ createQualityStandard(input, signal) {
195
+ return this.#client.request({
196
+ method: 'POST',
197
+ path: apiEndpoints.qualityStandards(),
198
+ schema: jsonObjectSchema,
199
+ body: input,
200
+ ...(signal ? { signal } : {}),
201
+ });
202
+ }
203
+ updateQualityStandard(qualityStandardId, input, signal) {
204
+ return this.#client.request({
205
+ method: 'PATCH',
206
+ path: apiEndpoints.qualityStandard(qualityStandardId),
207
+ schema: jsonObjectSchema,
208
+ body: input,
209
+ ...(signal ? { signal } : {}),
210
+ });
211
+ }
212
+ assignQualityStandardToWorkspace(workspaceId, input, signal) {
213
+ return this.#client.request({
214
+ method: 'PUT',
215
+ path: apiEndpoints.qualityStandardsWorkspace(workspaceId),
216
+ schema: jsonObjectSchema,
217
+ body: input,
218
+ ...(signal ? { signal } : {}),
219
+ });
220
+ }
221
+ getQualityStandard(qualityStandardId, signal) {
222
+ return this.#client.request({
223
+ method: 'GET',
224
+ path: apiEndpoints.qualityStandard(qualityStandardId),
225
+ schema: jsonObjectSchema,
226
+ ...(signal ? { signal } : {}),
227
+ });
228
+ }
229
+ getWorkspaceQualityStandard(workspaceId, signal) {
230
+ return this.#client.request({
231
+ method: 'GET',
232
+ path: apiEndpoints.qualityStandardsWorkspace(workspaceId),
233
+ schema: nullableJsonObjectSchema,
234
+ ...(signal ? { signal } : {}),
235
+ });
236
+ }
237
+ createMethodologyVersion(evaluationId, input, signal) {
238
+ return this.#client.request({
239
+ method: 'POST',
240
+ path: apiEndpoints.methodologyVersions(evaluationId),
241
+ schema: methodologyVersionCreateResponseSchema,
242
+ body: input,
243
+ ...(signal ? { signal } : {}),
244
+ });
245
+ }
246
+ createConfigVersion(evaluationId, input, signal) {
247
+ return this.#client.request({
248
+ method: 'POST',
249
+ path: apiEndpoints.configVersions(evaluationId),
250
+ schema: configVersionCreateResponseSchema,
251
+ body: input,
252
+ ...(signal ? { signal } : {}),
253
+ });
254
+ }
255
+ async startRunStatusStream(evaluationId, runId, signal) {
256
+ const streamClient = this.#client;
257
+ await streamClient.openEventStream(apiEndpoints.runStatusStream(evaluationId, runId), signal);
258
+ }
259
+ async getEvaluationVersions(evaluationId, signal) {
260
+ return this.#client.request({
261
+ method: 'GET',
262
+ path: apiEndpoints.evaluationVersions(evaluationId),
263
+ schema: evaluationVersionsResponseSchema,
264
+ query: { enhanced: true },
265
+ ...(signal ? { signal } : {}),
266
+ });
267
+ }
268
+ async getEvaluationConfiguration(evaluationId, methodologyVersionId, configVersionId, signal) {
269
+ return this.#client.request({
270
+ method: 'GET',
271
+ path: apiEndpoints.evaluationConfiguration(evaluationId),
272
+ schema: evaluationConfigurationResponseSchema,
273
+ query: {
274
+ methodology_version_id: methodologyVersionId,
275
+ config_version_id: configVersionId,
276
+ },
277
+ ...(signal ? { signal } : {}),
278
+ });
279
+ }
280
+ async getModels(signal) {
281
+ const response = await this.#client.request({
282
+ method: 'GET',
283
+ path: apiEndpoints.models(),
284
+ schema: modelsResponseSchema,
285
+ ...(signal ? { signal } : {}),
286
+ });
287
+ if (isByokModelsResponse(response)) {
288
+ return response.models.map((model) => ({
289
+ id: model.supported_model_id,
290
+ provider: model.provider,
291
+ displayName: model.display_name,
292
+ apiModelId: model.provider_model_id,
293
+ isDeprecated: model.is_deprecated ?? false,
294
+ isLocked: model.locked ?? false,
295
+ ...(model.model_key ? { modelKey: model.model_key } : {}),
296
+ }));
297
+ }
298
+ if (isLegacyModelsResponse(response)) {
299
+ return Object.entries(response.providers).flatMap(([provider, group]) => group.models.map((model) => ({
300
+ id: model.id,
301
+ provider,
302
+ displayName: model.display_name,
303
+ apiModelId: model.api_model_id,
304
+ isDeprecated: model.is_deprecated,
305
+ isLocked: model.locked,
306
+ ...(model.model_key ? { modelKey: model.model_key } : {}),
307
+ })));
308
+ }
309
+ throw new AutoevalError('Autoeval API returned an unsupported models response shape.', {
310
+ kind: 'upstream',
311
+ code: 'INVALID_API_RESPONSE',
312
+ });
313
+ }
314
+ async createRun(input) {
315
+ return this.#client.request({
316
+ method: 'POST',
317
+ path: apiEndpoints.runs(input.evaluationId),
318
+ schema: runCreateResponseSchema,
319
+ headers: { 'Idempotency-Key': input.idempotencyKey },
320
+ body: {
321
+ selector: { configVersionId: input.configVersionId },
322
+ },
323
+ ...(input.signal ? { signal: input.signal } : {}),
324
+ });
325
+ }
326
+ async getRunStatus(evaluationId, runId, signal) {
327
+ const response = await this.#client.request({
328
+ method: 'GET',
329
+ path: apiEndpoints.runStatus(evaluationId, runId),
330
+ schema: runStatusResponseSchema,
331
+ ...(signal ? { signal } : {}),
332
+ });
333
+ if (response.evaluation_id !== evaluationId || response.run_id !== runId) {
334
+ throw new AutoevalError('Autoeval API returned mismatched run status identifiers.', {
335
+ kind: 'upstream',
336
+ code: 'MISMATCHED_RUN_ID',
337
+ });
338
+ }
339
+ return {
340
+ evaluationId: response.evaluation_id,
341
+ runId: response.run_id,
342
+ state: response.evaluationState.trim().toUpperCase(),
343
+ raw: jsonObjectSchema.parse(response),
344
+ ...(response.progress
345
+ ? {
346
+ progress: {
347
+ ...(response.progress.percentage !== undefined
348
+ ? { percentage: response.progress.percentage }
349
+ : {}),
350
+ ...(response.progress.runsCompleted !== undefined
351
+ ? { runsCompleted: response.progress.runsCompleted }
352
+ : {}),
353
+ ...(response.progress.totalRuns !== undefined
354
+ ? { totalRuns: response.progress.totalRuns }
355
+ : {}),
356
+ },
357
+ }
358
+ : {}),
359
+ ...(response.error_message ? { errorMessage: response.error_message } : {}),
360
+ ...(response.failure_code ? { failureCode: response.failure_code } : {}),
361
+ };
362
+ }
363
+ getModelPerformance(evaluationId, runId, signal) {
364
+ return this.#getJsonObject(apiEndpoints.modelPerformance(evaluationId, runId), signal);
365
+ }
366
+ getScenarioComparison(evaluationId, runId, signal) {
367
+ return this.#getJsonObject(apiEndpoints.scenarioComparison(evaluationId, runId), signal);
368
+ }
369
+ getModelResponses(evaluationId, runId, signal) {
370
+ return this.#client.request({
371
+ method: 'GET',
372
+ path: apiEndpoints.modelResponses(evaluationId, runId),
373
+ schema: jsonObjectSchema,
374
+ query: { page: 1, limit: 50 },
375
+ ...(signal ? { signal } : {}),
376
+ });
377
+ }
378
+ getConversationResults(evaluationId, runId, signal) {
379
+ return this.#getJsonObject(apiEndpoints.conversationResults(evaluationId, runId), signal);
380
+ }
381
+ getAgentTraceResults(evaluationId, runId, signal) {
382
+ return this.#getJsonObject(apiEndpoints.agentTraceResults(evaluationId, runId), signal);
383
+ }
384
+ getTrajectory(evaluationId, runId, signal) {
385
+ return this.#getJsonObject(apiEndpoints.trajectory(evaluationId, runId), signal);
386
+ }
387
+ #getJsonObject(path, signal) {
388
+ return this.#client.request({
389
+ method: 'GET',
390
+ path,
391
+ schema: jsonObjectSchema,
392
+ ...(signal ? { signal } : {}),
393
+ });
394
+ }
395
+ }
396
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import type { ZodType } from 'zod';
2
+ export type FetchImplementation = typeof fetch;
3
+ export type ApiDiagnostic = {
4
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH';
5
+ path: string;
6
+ status?: number;
7
+ requestId?: string;
8
+ upstreamCode?: string;
9
+ durationMs: number;
10
+ attempt: number;
11
+ };
12
+ export type ApiClientOptions = {
13
+ baseUrl: URL;
14
+ apiKey: string;
15
+ requestTimeoutMs: number;
16
+ maxResponseBytes: number;
17
+ fetchImplementation?: FetchImplementation;
18
+ onDiagnostic?: (diagnostic: ApiDiagnostic) => void;
19
+ sleep?: (milliseconds: number) => Promise<void>;
20
+ maxGetAttempts?: number;
21
+ };
22
+ type RequestOptions<T> = {
23
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH';
24
+ path: string;
25
+ schema: ZodType<T>;
26
+ query?: Readonly<Record<string, string | number | boolean | undefined>>;
27
+ body?: unknown;
28
+ headers?: Readonly<Record<string, string>>;
29
+ signal?: AbortSignal;
30
+ };
31
+ export declare class ApiClient {
32
+ #private;
33
+ constructor(options: ApiClientOptions);
34
+ request<T>(options: RequestOptions<T>): Promise<T>;
35
+ openEventStream(path: string, signal?: AbortSignal): Promise<void>;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAMnC,MAAM,MAAM,mBAAmB,GAAG,OAAO,KAAK,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI;IACvB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAyFF,qBAAa,SAAS;;gBAUR,OAAO,EAAE,gBAAgB;IAW/B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA0ClD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAsKzE"}