elasticdash-test 0.1.16 → 0.1.17-alpha-2

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 (86) hide show
  1. package/dist/cloud-client.d.ts +34 -0
  2. package/dist/cloud-client.d.ts.map +1 -0
  3. package/dist/cloud-client.js +103 -0
  4. package/dist/cloud-client.js.map +1 -0
  5. package/dist/dashboard-server.d.ts.map +1 -1
  6. package/dist/dashboard-server.js +425 -90
  7. package/dist/dashboard-server.js.map +1 -1
  8. package/dist/evaluators/determinism.d.ts +3 -0
  9. package/dist/evaluators/determinism.d.ts.map +1 -0
  10. package/dist/evaluators/determinism.js +116 -0
  11. package/dist/evaluators/determinism.js.map +1 -0
  12. package/dist/evaluators/index.d.ts +4 -0
  13. package/dist/evaluators/index.d.ts.map +1 -0
  14. package/dist/evaluators/index.js +61 -0
  15. package/dist/evaluators/index.js.map +1 -0
  16. package/dist/evaluators/latency-budget.d.ts +3 -0
  17. package/dist/evaluators/latency-budget.d.ts.map +1 -0
  18. package/dist/evaluators/latency-budget.js +45 -0
  19. package/dist/evaluators/latency-budget.js.map +1 -0
  20. package/dist/evaluators/llm-judge.d.ts +3 -0
  21. package/dist/evaluators/llm-judge.d.ts.map +1 -0
  22. package/dist/evaluators/llm-judge.js +122 -0
  23. package/dist/evaluators/llm-judge.js.map +1 -0
  24. package/dist/evaluators/output-contains.d.ts +3 -0
  25. package/dist/evaluators/output-contains.d.ts.map +1 -0
  26. package/dist/evaluators/output-contains.js +52 -0
  27. package/dist/evaluators/output-contains.js.map +1 -0
  28. package/dist/evaluators/output-schema.d.ts +3 -0
  29. package/dist/evaluators/output-schema.d.ts.map +1 -0
  30. package/dist/evaluators/output-schema.js +58 -0
  31. package/dist/evaluators/output-schema.js.map +1 -0
  32. package/dist/evaluators/token-budget.d.ts +3 -0
  33. package/dist/evaluators/token-budget.d.ts.map +1 -0
  34. package/dist/evaluators/token-budget.js +45 -0
  35. package/dist/evaluators/token-budget.js.map +1 -0
  36. package/dist/evaluators/types.d.ts +103 -0
  37. package/dist/evaluators/types.d.ts.map +1 -0
  38. package/dist/evaluators/types.js +6 -0
  39. package/dist/evaluators/types.js.map +1 -0
  40. package/dist/html/dashboard.html +359 -73
  41. package/dist/index.cjs +253 -14
  42. package/dist/index.d.ts +2 -2
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/interceptors/telemetry-push.d.ts +40 -0
  47. package/dist/interceptors/telemetry-push.d.ts.map +1 -1
  48. package/dist/interceptors/telemetry-push.js +129 -6
  49. package/dist/interceptors/telemetry-push.js.map +1 -1
  50. package/dist/interceptors/tool.d.ts.map +1 -1
  51. package/dist/interceptors/tool.js +8 -1
  52. package/dist/interceptors/tool.js.map +1 -1
  53. package/dist/interceptors/workflow-ai.d.ts.map +1 -1
  54. package/dist/interceptors/workflow-ai.js +21 -6
  55. package/dist/interceptors/workflow-ai.js.map +1 -1
  56. package/dist/internals/mock-resolver.d.ts +70 -2
  57. package/dist/internals/mock-resolver.d.ts.map +1 -1
  58. package/dist/internals/mock-resolver.js +157 -6
  59. package/dist/internals/mock-resolver.js.map +1 -1
  60. package/dist/test-group/cli.d.ts +8 -0
  61. package/dist/test-group/cli.d.ts.map +1 -0
  62. package/dist/test-group/cli.js +162 -0
  63. package/dist/test-group/cli.js.map +1 -0
  64. package/dist/test-group/git-context.d.ts +3 -0
  65. package/dist/test-group/git-context.d.ts.map +1 -0
  66. package/dist/test-group/git-context.js +59 -0
  67. package/dist/test-group/git-context.js.map +1 -0
  68. package/dist/test-group/reporter.d.ts +4 -0
  69. package/dist/test-group/reporter.d.ts.map +1 -0
  70. package/dist/test-group/reporter.js +54 -0
  71. package/dist/test-group/reporter.js.map +1 -0
  72. package/dist/test-group/runner.d.ts +18 -0
  73. package/dist/test-group/runner.d.ts.map +1 -0
  74. package/dist/test-group/runner.js +234 -0
  75. package/dist/test-group/runner.js.map +1 -0
  76. package/dist/workflow-runner-worker.js +7 -1
  77. package/dist/workflow-runner-worker.js.map +1 -1
  78. package/package.json +1 -1
  79. package/src/dashboard-server.ts +101 -28
  80. package/src/html/dashboard.html +359 -73
  81. package/src/index.ts +2 -2
  82. package/src/interceptors/telemetry-push.ts +159 -7
  83. package/src/interceptors/tool.ts +9 -1
  84. package/src/interceptors/workflow-ai.ts +22 -6
  85. package/src/internals/mock-resolver.ts +190 -7
  86. package/src/workflow-runner-worker.ts +11 -3
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Cloud API client — communicates with the ElasticDash backend.
3
+ * Used by the test-group CLI to fetch definitions and push results.
4
+ */
5
+ import type { TestGroup, TestGroupRunResult } from './evaluators/types.js';
6
+ export interface CloudClientConfig {
7
+ apiUrl: string;
8
+ apiKey: string;
9
+ projectId: number;
10
+ }
11
+ export interface FetchFilters {
12
+ workflowName?: string;
13
+ tags?: string[];
14
+ }
15
+ export declare function fetchTestGroups(config: CloudClientConfig, filters?: FetchFilters): Promise<TestGroup[]>;
16
+ export declare function pushRunResult(config: CloudClientConfig, testGroupId: number, result: TestGroupRunResult): Promise<{
17
+ id: number;
18
+ }>;
19
+ export declare function pushBatchResult(config: CloudClientConfig, batch: {
20
+ testGroupRunIds: number[];
21
+ gitBranch?: string;
22
+ gitCommit?: string;
23
+ passed?: boolean;
24
+ summary?: string;
25
+ }): Promise<{
26
+ id: number;
27
+ }>;
28
+ export declare function exportTestGroups(config: CloudClientConfig): Promise<TestGroup[]>;
29
+ export declare function resolveCloudConfig(options: {
30
+ apiUrl?: string;
31
+ apiKey?: string;
32
+ projectId?: string | number;
33
+ }): CloudClientConfig;
34
+ //# sourceMappingURL=cloud-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-client.d.ts","sourceRoot":"","sources":["../src/cloud-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAyED,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,CAKtB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAMzB;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAMzB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC,CAItB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC5B,GAAG,iBAAiB,CAyBpB"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Cloud API client — communicates with the ElasticDash backend.
3
+ * Used by the test-group CLI to fetch definitions and push results.
4
+ */
5
+ class CloudClientError extends Error {
6
+ statusCode;
7
+ responseBody;
8
+ constructor(message, statusCode, responseBody) {
9
+ super(message);
10
+ this.statusCode = statusCode;
11
+ this.responseBody = responseBody;
12
+ this.name = 'CloudClientError';
13
+ }
14
+ }
15
+ async function request(url, apiKey, options = {}) {
16
+ const { method = 'GET', body, retries = 2 } = options;
17
+ let lastError;
18
+ for (let attempt = 0; attempt <= retries; attempt++) {
19
+ if (attempt > 0) {
20
+ const delayMs = Math.min(1000 * 2 ** (attempt - 1), 5000);
21
+ await new Promise((r) => setTimeout(r, delayMs));
22
+ }
23
+ try {
24
+ const res = await fetch(url, {
25
+ method,
26
+ headers: {
27
+ 'Authorization': `Bearer ${apiKey}`,
28
+ 'Content-Type': 'application/json',
29
+ },
30
+ body: body ? JSON.stringify(body) : undefined,
31
+ signal: AbortSignal.timeout(30_000),
32
+ });
33
+ if (res.status === 401) {
34
+ throw new CloudClientError('Authentication failed. Check that your ELASTICDASH_API_KEY is valid and active.', 401);
35
+ }
36
+ if (!res.ok) {
37
+ const text = await res.text().catch(() => '');
38
+ throw new CloudClientError(`API request failed: ${res.status} ${res.statusText}`, res.status, text);
39
+ }
40
+ const json = await res.json();
41
+ // The backend wraps responses in { status, data } via generalApiResponseSender
42
+ return (json.data !== undefined ? json.data : json);
43
+ }
44
+ catch (err) {
45
+ lastError = err;
46
+ // Don't retry auth errors or client errors
47
+ if (err instanceof CloudClientError && err.statusCode && err.statusCode < 500) {
48
+ throw err;
49
+ }
50
+ // Retry on network/timeout/5xx errors
51
+ if (attempt === retries) {
52
+ throw err;
53
+ }
54
+ }
55
+ }
56
+ throw lastError ?? new Error('Request failed');
57
+ }
58
+ export async function fetchTestGroups(config, filters) {
59
+ const url = new URL(`${config.apiUrl}/api/testgroups/by-project/${encodeURIComponent(String(config.projectId))}`);
60
+ if (filters?.workflowName)
61
+ url.searchParams.set('workflowName', filters.workflowName);
62
+ if (filters?.tags?.length)
63
+ url.searchParams.set('tags', filters.tags.join(','));
64
+ return request(url.toString(), config.apiKey);
65
+ }
66
+ export async function pushRunResult(config, testGroupId, result) {
67
+ const url = `${config.apiUrl}/api/testgroups/${encodeURIComponent(String(testGroupId))}/runs`;
68
+ return request(url, config.apiKey, {
69
+ method: 'POST',
70
+ body: result,
71
+ });
72
+ }
73
+ export async function pushBatchResult(config, batch) {
74
+ const url = `${config.apiUrl}/api/testgroups/batches`;
75
+ return request(url, config.apiKey, {
76
+ method: 'POST',
77
+ body: batch,
78
+ });
79
+ }
80
+ export async function exportTestGroups(config) {
81
+ const url = new URL(`${config.apiUrl}/api/testgroups/export`);
82
+ url.searchParams.set('projectId', String(config.projectId));
83
+ return request(url.toString(), config.apiKey);
84
+ }
85
+ export function resolveCloudConfig(options) {
86
+ const apiUrl = options.apiUrl ||
87
+ process.env.ELASTICDASH_API_URL ||
88
+ '';
89
+ const apiKey = options.apiKey ||
90
+ process.env.ELASTICDASH_API_KEY ||
91
+ '';
92
+ const projectId = Number(options.projectId ||
93
+ process.env.ELASTICDASH_PROJECT_ID ||
94
+ '1');
95
+ if (!apiUrl) {
96
+ throw new CloudClientError('Missing API URL. Set --api-url or ELASTICDASH_API_URL.');
97
+ }
98
+ if (!apiKey) {
99
+ throw new CloudClientError('Missing API key. Set --api-key or ELASTICDASH_API_KEY.');
100
+ }
101
+ return { apiUrl: apiUrl.replace(/\/+$/, ''), apiKey, projectId };
102
+ }
103
+ //# sourceMappingURL=cloud-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-client.js","sourceRoot":"","sources":["../src/cloud-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-server.d.ts","sourceRoot":"","sources":["../src/dashboard-server.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AA2CD,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,oHAAoH;IACpH,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAA;IAC3C,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAA;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;CACjC;AAqgGD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAA;CAC7C;AA4ID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CA4b1B;AAiFD,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,CAAC"}
1
+ {"version":3,"file":"dashboard-server.d.ts","sourceRoot":"","sources":["../src/dashboard-server.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AA2CD,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,oHAAoH;IACpH,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAA;IAC3C,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;CAClC;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAA;IAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,CAAA;CACjC;AA00GD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,cAAc,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAA;CAC7C;AA+ID;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,eAAe,CAAC,CA2d1B;AAiFD,eAAO,MAAM,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,CAAC"}