ai-evaluate 2.2.0 → 2.4.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.
- package/README.md +16 -0
- package/dist/evaluate.d.ts.map +1 -1
- package/dist/evaluate.js +13 -11
- package/dist/evaluate.js.map +1 -1
- package/dist/miniflare-pool.js +1 -1
- package/dist/miniflare-pool.js.map +1 -1
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +6 -4
- package/dist/node.js.map +1 -1
- package/dist/repl.js +6 -6
- package/dist/repl.js.map +1 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +5 -2
- package/dist/shared.js.map +1 -1
- package/dist/static/index.d.ts.map +1 -1
- package/dist/static/index.js +13 -13
- package/dist/static/index.js.map +1 -1
- package/dist/type-guards.d.ts.map +1 -1
- package/dist/type-guards.js +64 -62
- package/dist/type-guards.js.map +1 -1
- package/package.json +3 -3
- package/public/capnweb.mjs +2 -2
- package/public/index.mjs +2 -2
- package/public/scaffold.mjs +2 -2
- package/dist/worker-template.d.ts +0 -41
- package/dist/worker-template.d.ts.map +0 -1
- package/dist/worker-template.js +0 -3748
- package/dist/worker-template.js.map +0 -1
package/dist/type-guards.js
CHANGED
|
@@ -11,15 +11,15 @@ function isLogEntry(value) {
|
|
|
11
11
|
const obj = value;
|
|
12
12
|
// Check level is one of the allowed values
|
|
13
13
|
const validLevels = ['log', 'warn', 'error', 'info', 'debug'];
|
|
14
|
-
if (typeof obj
|
|
14
|
+
if (typeof obj['level'] !== 'string' || !validLevels.includes(obj['level'])) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
17
|
// Check message is a string
|
|
18
|
-
if (typeof obj
|
|
18
|
+
if (typeof obj['message'] !== 'string') {
|
|
19
19
|
return false;
|
|
20
20
|
}
|
|
21
21
|
// Check timestamp is a number
|
|
22
|
-
if (typeof obj
|
|
22
|
+
if (typeof obj['timestamp'] !== 'number') {
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
25
25
|
return true;
|
|
@@ -33,17 +33,17 @@ function isTestResult(value) {
|
|
|
33
33
|
}
|
|
34
34
|
const obj = value;
|
|
35
35
|
// Check required fields
|
|
36
|
-
if (typeof obj
|
|
36
|
+
if (typeof obj['name'] !== 'string') {
|
|
37
37
|
return false;
|
|
38
38
|
}
|
|
39
|
-
if (typeof obj
|
|
39
|
+
if (typeof obj['passed'] !== 'boolean') {
|
|
40
40
|
return false;
|
|
41
41
|
}
|
|
42
|
-
if (typeof obj
|
|
42
|
+
if (typeof obj['duration'] !== 'number') {
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
45
|
// Check optional error field
|
|
46
|
-
if (obj
|
|
46
|
+
if (obj['error'] !== undefined && typeof obj['error'] !== 'string') {
|
|
47
47
|
return false;
|
|
48
48
|
}
|
|
49
49
|
return true;
|
|
@@ -57,26 +57,26 @@ function isTestResults(value) {
|
|
|
57
57
|
}
|
|
58
58
|
const obj = value;
|
|
59
59
|
// Check required numeric fields
|
|
60
|
-
if (typeof obj
|
|
60
|
+
if (typeof obj['total'] !== 'number') {
|
|
61
61
|
return false;
|
|
62
62
|
}
|
|
63
|
-
if (typeof obj
|
|
63
|
+
if (typeof obj['passed'] !== 'number') {
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
|
-
if (typeof obj
|
|
66
|
+
if (typeof obj['failed'] !== 'number') {
|
|
67
67
|
return false;
|
|
68
68
|
}
|
|
69
|
-
if (typeof obj
|
|
69
|
+
if (typeof obj['skipped'] !== 'number') {
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
|
-
if (typeof obj
|
|
72
|
+
if (typeof obj['duration'] !== 'number') {
|
|
73
73
|
return false;
|
|
74
74
|
}
|
|
75
75
|
// Check tests array
|
|
76
|
-
if (!Array.isArray(obj
|
|
76
|
+
if (!Array.isArray(obj['tests'])) {
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
79
|
-
for (const test of obj
|
|
79
|
+
for (const test of obj['tests']) {
|
|
80
80
|
if (!isTestResult(test)) {
|
|
81
81
|
return false;
|
|
82
82
|
}
|
|
@@ -97,26 +97,26 @@ export function isEvaluateResult(value) {
|
|
|
97
97
|
}
|
|
98
98
|
const obj = value;
|
|
99
99
|
// Check required fields
|
|
100
|
-
if (typeof obj
|
|
100
|
+
if (typeof obj['success'] !== 'boolean') {
|
|
101
101
|
return false;
|
|
102
102
|
}
|
|
103
|
-
if (typeof obj
|
|
103
|
+
if (typeof obj['duration'] !== 'number') {
|
|
104
104
|
return false;
|
|
105
105
|
}
|
|
106
106
|
// Check logs is an array of valid LogEntry objects
|
|
107
|
-
if (!Array.isArray(obj
|
|
107
|
+
if (!Array.isArray(obj['logs'])) {
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
110
|
-
for (const log of obj
|
|
110
|
+
for (const log of obj['logs']) {
|
|
111
111
|
if (!isLogEntry(log)) {
|
|
112
112
|
return false;
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
// Check optional fields have correct types if present
|
|
116
|
-
if (obj
|
|
116
|
+
if (obj['error'] !== undefined && typeof obj['error'] !== 'string') {
|
|
117
117
|
return false;
|
|
118
118
|
}
|
|
119
|
-
if (obj
|
|
119
|
+
if (obj['testResults'] !== undefined && !isTestResults(obj['testResults'])) {
|
|
120
120
|
return false;
|
|
121
121
|
}
|
|
122
122
|
// value can be any type, so no validation needed for it
|
|
@@ -134,81 +134,83 @@ export function assertEvaluateResult(value) {
|
|
|
134
134
|
}
|
|
135
135
|
const obj = value;
|
|
136
136
|
// Validate required field: success
|
|
137
|
-
if (typeof obj
|
|
138
|
-
throw new Error(`Invalid EvaluateResult: 'success' must be a boolean, got ${typeof obj
|
|
137
|
+
if (typeof obj['success'] !== 'boolean') {
|
|
138
|
+
throw new Error(`Invalid EvaluateResult: 'success' must be a boolean, got ${typeof obj['success']}`);
|
|
139
139
|
}
|
|
140
140
|
// Validate required field: duration
|
|
141
|
-
if (typeof obj
|
|
142
|
-
throw new Error(`Invalid EvaluateResult: 'duration' must be a number, got ${typeof obj
|
|
141
|
+
if (typeof obj['duration'] !== 'number') {
|
|
142
|
+
throw new Error(`Invalid EvaluateResult: 'duration' must be a number, got ${typeof obj['duration']}`);
|
|
143
143
|
}
|
|
144
144
|
// Validate required field: logs
|
|
145
|
-
if (!Array.isArray(obj
|
|
146
|
-
throw new Error(`Invalid EvaluateResult: 'logs' must be an array, got ${typeof obj
|
|
145
|
+
if (!Array.isArray(obj['logs'])) {
|
|
146
|
+
throw new Error(`Invalid EvaluateResult: 'logs' must be an array, got ${typeof obj['logs']}`);
|
|
147
147
|
}
|
|
148
148
|
// Validate each log entry
|
|
149
|
-
|
|
150
|
-
|
|
149
|
+
const logs = obj['logs'];
|
|
150
|
+
for (let i = 0; i < logs.length; i++) {
|
|
151
|
+
const log = logs[i];
|
|
151
152
|
if (typeof log !== 'object' || log === null) {
|
|
152
153
|
throw new Error(`Invalid EvaluateResult: logs[${i}] must be an object, got ${log === null ? 'null' : typeof log}`);
|
|
153
154
|
}
|
|
154
155
|
const logObj = log;
|
|
155
156
|
const validLevels = ['log', 'warn', 'error', 'info', 'debug'];
|
|
156
|
-
if (typeof logObj
|
|
157
|
-
throw new Error(`Invalid EvaluateResult: logs[${i}].level must be one of ${validLevels.join(', ')}, got '${logObj
|
|
157
|
+
if (typeof logObj['level'] !== 'string' || !validLevels.includes(logObj['level'])) {
|
|
158
|
+
throw new Error(`Invalid EvaluateResult: logs[${i}].level must be one of ${validLevels.join(', ')}, got '${logObj['level']}'`);
|
|
158
159
|
}
|
|
159
|
-
if (typeof logObj
|
|
160
|
-
throw new Error(`Invalid EvaluateResult: logs[${i}].message must be a string, got ${typeof logObj
|
|
160
|
+
if (typeof logObj['message'] !== 'string') {
|
|
161
|
+
throw new Error(`Invalid EvaluateResult: logs[${i}].message must be a string, got ${typeof logObj['message']}`);
|
|
161
162
|
}
|
|
162
|
-
if (typeof logObj
|
|
163
|
-
throw new Error(`Invalid EvaluateResult: logs[${i}].timestamp must be a number, got ${typeof logObj
|
|
163
|
+
if (typeof logObj['timestamp'] !== 'number') {
|
|
164
|
+
throw new Error(`Invalid EvaluateResult: logs[${i}].timestamp must be a number, got ${typeof logObj['timestamp']}`);
|
|
164
165
|
}
|
|
165
166
|
}
|
|
166
167
|
// Validate optional field: error
|
|
167
|
-
if (obj
|
|
168
|
-
throw new Error(`Invalid EvaluateResult: 'error' must be a string if present, got ${typeof obj
|
|
168
|
+
if (obj['error'] !== undefined && typeof obj['error'] !== 'string') {
|
|
169
|
+
throw new Error(`Invalid EvaluateResult: 'error' must be a string if present, got ${typeof obj['error']}`);
|
|
169
170
|
}
|
|
170
171
|
// Validate optional field: testResults
|
|
171
|
-
if (obj
|
|
172
|
-
if (typeof obj
|
|
173
|
-
throw new Error(`Invalid EvaluateResult: 'testResults' must be an object if present, got ${obj
|
|
172
|
+
if (obj['testResults'] !== undefined) {
|
|
173
|
+
if (typeof obj['testResults'] !== 'object' || obj['testResults'] === null) {
|
|
174
|
+
throw new Error(`Invalid EvaluateResult: 'testResults' must be an object if present, got ${obj['testResults'] === null ? 'null' : typeof obj['testResults']}`);
|
|
174
175
|
}
|
|
175
|
-
const testResults = obj
|
|
176
|
-
if (typeof testResults
|
|
177
|
-
throw new Error(`Invalid EvaluateResult: testResults.total must be a number, got ${typeof testResults
|
|
176
|
+
const testResults = obj['testResults'];
|
|
177
|
+
if (typeof testResults['total'] !== 'number') {
|
|
178
|
+
throw new Error(`Invalid EvaluateResult: testResults.total must be a number, got ${typeof testResults['total']}`);
|
|
178
179
|
}
|
|
179
|
-
if (typeof testResults
|
|
180
|
-
throw new Error(`Invalid EvaluateResult: testResults.passed must be a number, got ${typeof testResults
|
|
180
|
+
if (typeof testResults['passed'] !== 'number') {
|
|
181
|
+
throw new Error(`Invalid EvaluateResult: testResults.passed must be a number, got ${typeof testResults['passed']}`);
|
|
181
182
|
}
|
|
182
|
-
if (typeof testResults
|
|
183
|
-
throw new Error(`Invalid EvaluateResult: testResults.failed must be a number, got ${typeof testResults
|
|
183
|
+
if (typeof testResults['failed'] !== 'number') {
|
|
184
|
+
throw new Error(`Invalid EvaluateResult: testResults.failed must be a number, got ${typeof testResults['failed']}`);
|
|
184
185
|
}
|
|
185
|
-
if (typeof testResults
|
|
186
|
-
throw new Error(`Invalid EvaluateResult: testResults.skipped must be a number, got ${typeof testResults
|
|
186
|
+
if (typeof testResults['skipped'] !== 'number') {
|
|
187
|
+
throw new Error(`Invalid EvaluateResult: testResults.skipped must be a number, got ${typeof testResults['skipped']}`);
|
|
187
188
|
}
|
|
188
|
-
if (typeof testResults
|
|
189
|
-
throw new Error(`Invalid EvaluateResult: testResults.duration must be a number, got ${typeof testResults
|
|
189
|
+
if (typeof testResults['duration'] !== 'number') {
|
|
190
|
+
throw new Error(`Invalid EvaluateResult: testResults.duration must be a number, got ${typeof testResults['duration']}`);
|
|
190
191
|
}
|
|
191
|
-
if (!Array.isArray(testResults
|
|
192
|
-
throw new Error(`Invalid EvaluateResult: testResults.tests must be an array, got ${typeof testResults
|
|
192
|
+
if (!Array.isArray(testResults['tests'])) {
|
|
193
|
+
throw new Error(`Invalid EvaluateResult: testResults.tests must be an array, got ${typeof testResults['tests']}`);
|
|
193
194
|
}
|
|
194
195
|
// Validate each test result
|
|
195
|
-
|
|
196
|
-
|
|
196
|
+
const tests = testResults['tests'];
|
|
197
|
+
for (let i = 0; i < tests.length; i++) {
|
|
198
|
+
const test = tests[i];
|
|
197
199
|
if (typeof test !== 'object' || test === null) {
|
|
198
200
|
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}] must be an object, got ${test === null ? 'null' : typeof test}`);
|
|
199
201
|
}
|
|
200
202
|
const testObj = test;
|
|
201
|
-
if (typeof testObj
|
|
202
|
-
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].name must be a string, got ${typeof testObj
|
|
203
|
+
if (typeof testObj['name'] !== 'string') {
|
|
204
|
+
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].name must be a string, got ${typeof testObj['name']}`);
|
|
203
205
|
}
|
|
204
|
-
if (typeof testObj
|
|
205
|
-
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].passed must be a boolean, got ${typeof testObj
|
|
206
|
+
if (typeof testObj['passed'] !== 'boolean') {
|
|
207
|
+
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].passed must be a boolean, got ${typeof testObj['passed']}`);
|
|
206
208
|
}
|
|
207
|
-
if (typeof testObj
|
|
208
|
-
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].duration must be a number, got ${typeof testObj
|
|
209
|
+
if (typeof testObj['duration'] !== 'number') {
|
|
210
|
+
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].duration must be a number, got ${typeof testObj['duration']}`);
|
|
209
211
|
}
|
|
210
|
-
if (testObj
|
|
211
|
-
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].error must be a string if present, got ${typeof testObj
|
|
212
|
+
if (testObj['error'] !== undefined && typeof testObj['error'] !== 'string') {
|
|
213
|
+
throw new Error(`Invalid EvaluateResult: testResults.tests[${i}].error must be a string if present, got ${typeof testObj['error']}`);
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
}
|
package/dist/type-guards.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,GAAG,GAAG,KAAgC,CAAA;IAE5C,2CAA2C;IAC3C,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7D,IAAI,OAAO,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../src/type-guards.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-evaluate",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "2.4.0",
|
|
4
|
+
"description": "Runtime sandboxed execution of AI-generated code in V8 isolates",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"build": "tsc -p tsconfig.json && npm run build:static",
|
|
35
35
|
"build:static": "npx tsx scripts/build-static.ts",
|
|
36
36
|
"dev": "tsc -p tsconfig.json --watch",
|
|
37
|
-
"test": "vitest",
|
|
37
|
+
"test": "vitest run",
|
|
38
38
|
"typecheck": "tsc --noEmit",
|
|
39
39
|
"lint": "eslint .",
|
|
40
40
|
"clean": "rm -rf dist public"
|
package/public/capnweb.mjs
CHANGED
package/public/index.mjs
CHANGED
package/public/scaffold.mjs
CHANGED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker template for sandbox execution
|
|
3
|
-
*
|
|
4
|
-
* This code is stringified and sent to the worker loader.
|
|
5
|
-
* It uses the TEST service binding (ai-tests) for assertions and test running.
|
|
6
|
-
*
|
|
7
|
-
* The user's code (module, tests, script) is embedded directly into
|
|
8
|
-
* the worker source - no eval() or new Function() needed. The security
|
|
9
|
-
* comes from running in an isolated V8 context via worker_loaders.
|
|
10
|
-
*
|
|
11
|
-
* Routes:
|
|
12
|
-
* - POST /execute - Run tests and scripts, return results
|
|
13
|
-
* - POST /rpc or WebSocket upgrade - capnweb RPC to module exports
|
|
14
|
-
* - GET / - Return info about available exports
|
|
15
|
-
*/
|
|
16
|
-
import type { SDKConfig, FetchConfig } from './types.js';
|
|
17
|
-
/**
|
|
18
|
-
* Generate worker code for production (uses RPC to ai-tests)
|
|
19
|
-
*/
|
|
20
|
-
export declare function generateWorkerCode(options: {
|
|
21
|
-
module?: string | undefined;
|
|
22
|
-
tests?: string | undefined;
|
|
23
|
-
script?: string | undefined;
|
|
24
|
-
sdk?: SDKConfig | boolean | undefined;
|
|
25
|
-
imports?: string[] | undefined;
|
|
26
|
-
}): string;
|
|
27
|
-
/**
|
|
28
|
-
* Generate worker code for development (embedded test framework)
|
|
29
|
-
*
|
|
30
|
-
* This version bundles the test framework directly into the worker,
|
|
31
|
-
* avoiding the need for RPC service bindings in local development.
|
|
32
|
-
*/
|
|
33
|
-
export declare function generateDevWorkerCode(options: {
|
|
34
|
-
module?: string | undefined;
|
|
35
|
-
tests?: string | undefined;
|
|
36
|
-
script?: string | undefined;
|
|
37
|
-
sdk?: SDKConfig | boolean | undefined;
|
|
38
|
-
imports?: string[] | undefined;
|
|
39
|
-
fetch?: null | FetchConfig | undefined;
|
|
40
|
-
}): string;
|
|
41
|
-
//# sourceMappingURL=worker-template.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-template.d.ts","sourceRoot":"","sources":["../src/worker-template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA23FxD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;CAC/B,GAAG,MAAM,CAoQT;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9B,KAAK,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,SAAS,CAAA;CACvC,GAAG,MAAM,CAikBT"}
|