@evalstudio/core 0.2.0 → 0.3.1
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/dist/connector.d.ts +2 -5
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +8 -27
- package/dist/connector.js.map +1 -1
- package/dist/eval.d.ts +2 -5
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +5 -36
- package/dist/eval.js.map +1 -1
- package/dist/execution.d.ts +0 -5
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +5 -23
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/llm-provider.d.ts +2 -5
- package/dist/llm-provider.d.ts.map +1 -1
- package/dist/llm-provider.js +8 -27
- package/dist/llm-provider.js.map +1 -1
- package/dist/persona.d.ts +2 -5
- package/dist/persona.d.ts.map +1 -1
- package/dist/persona.js +8 -27
- package/dist/persona.js.map +1 -1
- package/dist/project.d.ts +11 -38
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +16 -81
- package/dist/project.js.map +1 -1
- package/dist/run-processor.d.ts +0 -3
- package/dist/run-processor.d.ts.map +1 -1
- package/dist/run-processor.js +28 -20
- package/dist/run-processor.js.map +1 -1
- package/dist/run.d.ts +1 -4
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +2 -20
- package/dist/run.js.map +1 -1
- package/dist/scenario.d.ts +2 -5
- package/dist/scenario.d.ts.map +1 -1
- package/dist/scenario.js +8 -27
- package/dist/scenario.js.map +1 -1
- package/dist/storage.d.ts +59 -1
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +92 -15
- package/dist/storage.js.map +1 -1
- package/package.json +1 -1
package/dist/run.d.ts
CHANGED
|
@@ -25,7 +25,6 @@ export interface Run {
|
|
|
25
25
|
id: string;
|
|
26
26
|
/** Eval ID (optional for playground runs) */
|
|
27
27
|
evalId?: string;
|
|
28
|
-
projectId: string;
|
|
29
28
|
personaId?: string;
|
|
30
29
|
scenarioId: string;
|
|
31
30
|
/** Connector ID (for playground runs without eval) */
|
|
@@ -74,20 +73,18 @@ export declare function createPlaygroundRun(input: CreatePlaygroundRunInput): Ru
|
|
|
74
73
|
export declare function getRun(id: string): Run | undefined;
|
|
75
74
|
export interface ListRunsOptions {
|
|
76
75
|
evalId?: string;
|
|
77
|
-
projectId?: string;
|
|
78
76
|
scenarioId?: string;
|
|
79
77
|
status?: RunStatus;
|
|
80
78
|
limit?: number;
|
|
81
79
|
}
|
|
82
80
|
export declare function listRuns(options?: ListRunsOptions): Run[];
|
|
83
|
-
export declare function listRuns(evalId?: string
|
|
81
|
+
export declare function listRuns(evalId?: string): Run[];
|
|
84
82
|
export declare function listRunsByEval(evalId: string): Run[];
|
|
85
83
|
export declare function listRunsByScenario(scenarioId: string): Run[];
|
|
86
84
|
export declare function listRunsByPersona(personaId: string): Run[];
|
|
87
85
|
export declare function updateRun(id: string, input: UpdateRunInput): Run | undefined;
|
|
88
86
|
export declare function deleteRun(id: string): boolean;
|
|
89
87
|
export declare function deleteRunsByEval(evalId: string): number;
|
|
90
|
-
export declare function deleteRunsByProject(projectId: string): number;
|
|
91
88
|
/**
|
|
92
89
|
* Retries a failed run by resetting it to queued status.
|
|
93
90
|
* Clears error, timing info, messages, and output.
|
package/dist/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAIA,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAMlD;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;AAEjF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/run.js
CHANGED
|
@@ -58,7 +58,6 @@ export function createRuns(input) {
|
|
|
58
58
|
const createdRuns = [];
|
|
59
59
|
// Create an execution to group all runs created in this batch
|
|
60
60
|
const execution = createExecution({
|
|
61
|
-
projectId: evalItem.projectId,
|
|
62
61
|
evalId: input.evalId,
|
|
63
62
|
});
|
|
64
63
|
// Create runs for each scenario/persona combination
|
|
@@ -71,7 +70,6 @@ export function createRuns(input) {
|
|
|
71
70
|
const run = {
|
|
72
71
|
id: randomUUID(),
|
|
73
72
|
evalId: input.evalId,
|
|
74
|
-
projectId: evalItem.projectId,
|
|
75
73
|
personaId,
|
|
76
74
|
scenarioId: scenario.id,
|
|
77
75
|
executionId: execution.id,
|
|
@@ -119,7 +117,6 @@ export function createPlaygroundRun(input) {
|
|
|
119
117
|
const run = {
|
|
120
118
|
id: randomUUID(),
|
|
121
119
|
// No evalId for playground runs
|
|
122
|
-
projectId: scenario.projectId,
|
|
123
120
|
scenarioId,
|
|
124
121
|
connectorId,
|
|
125
122
|
personaId,
|
|
@@ -136,18 +133,15 @@ export function getRun(id) {
|
|
|
136
133
|
const runs = loadRuns();
|
|
137
134
|
return runs.find((r) => r.id === id);
|
|
138
135
|
}
|
|
139
|
-
export function listRuns(evalIdOrOptions
|
|
136
|
+
export function listRuns(evalIdOrOptions) {
|
|
140
137
|
const runs = loadRuns();
|
|
141
138
|
// Handle new object-based API
|
|
142
139
|
if (typeof evalIdOrOptions === "object" && evalIdOrOptions !== null) {
|
|
143
|
-
const { evalId,
|
|
140
|
+
const { evalId, scenarioId, status, limit } = evalIdOrOptions;
|
|
144
141
|
let filtered = runs;
|
|
145
142
|
if (evalId) {
|
|
146
143
|
filtered = filtered.filter((r) => r.evalId === evalId);
|
|
147
144
|
}
|
|
148
|
-
if (projectId) {
|
|
149
|
-
filtered = filtered.filter((r) => r.projectId === projectId);
|
|
150
|
-
}
|
|
151
145
|
if (scenarioId) {
|
|
152
146
|
filtered = filtered.filter((r) => r.scenarioId === scenarioId);
|
|
153
147
|
}
|
|
@@ -166,9 +160,6 @@ export function listRuns(evalIdOrOptions, projectId) {
|
|
|
166
160
|
if (evalId) {
|
|
167
161
|
return runs.filter((r) => r.evalId === evalId);
|
|
168
162
|
}
|
|
169
|
-
if (projectId) {
|
|
170
|
-
return runs.filter((r) => r.projectId === projectId);
|
|
171
|
-
}
|
|
172
163
|
return runs;
|
|
173
164
|
}
|
|
174
165
|
export function listRunsByEval(evalId) {
|
|
@@ -233,15 +224,6 @@ export function deleteRunsByEval(evalId) {
|
|
|
233
224
|
}
|
|
234
225
|
return deletedCount;
|
|
235
226
|
}
|
|
236
|
-
export function deleteRunsByProject(projectId) {
|
|
237
|
-
const runs = loadRuns();
|
|
238
|
-
const filtered = runs.filter((r) => r.projectId !== projectId);
|
|
239
|
-
const deletedCount = runs.length - filtered.length;
|
|
240
|
-
if (deletedCount > 0) {
|
|
241
|
-
saveRuns(filtered);
|
|
242
|
-
}
|
|
243
|
-
return deletedCount;
|
|
244
|
-
}
|
|
245
227
|
/**
|
|
246
228
|
* Retries a failed run by resetting it to queued status.
|
|
247
229
|
* Clears error, timing info, messages, and output.
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAyE7C,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAU,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAW;IAC3B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAqB;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,MAAM,aAAa,CAAC,CAAC;IAC9D,CAAC;IAED,+BAA+B;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACxD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,aAAa,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,yDAAyD;IACzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YACxB,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC5C,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,aAAa,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,aAAa,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,WAAW,GAAU,EAAE,CAAC;IAE9B,8DAA8D;IAC9D,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;IAEH,oDAAoD;IACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,yFAAyF;QACzF,MAAM,UAAU,GACd,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YACnD,CAAC,CAAC,QAAQ,CAAC,UAAU;YACrB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,GAAG,GAAQ;gBACf,EAAE,EAAE,UAAU,EAAE;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS;gBACT,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,GAAG;aACf,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClB,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAErD,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,WAAW,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,+BAA+B;IAC/B,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,aAAa,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAErC,MAAM,GAAG,GAAQ;QACf,EAAE,EAAE,UAAU,EAAE;QAChB,gCAAgC;QAChC,UAAU;QACV,WAAW;QACX,SAAS;QACT,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;IAEF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAElB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAU;IAC/B,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,CAAC;AAWD,MAAM,UAAU,QAAQ,CACtB,eAA0C;IAE1C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IAExB,8BAA8B;IAC9B,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QACpE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC;QAE9D,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,wDAAwD;QACxD,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpE,CAAC;QAEF,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,eAAe,CAAC;IAE/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;SAClC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC;SAC1C,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC;SACxC,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CACpE,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU,EAAE,KAAqB;IACzD,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAExB,iFAAiF;IACjF,MAAM,OAAO,GAAQ;QACnB,GAAG,GAAG;QACN,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;QAClC,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS;QACjE,WAAW,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW;QACzE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QACxC,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;QACrD,MAAM,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;QACrD,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;QACjD,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;QAC7D,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ;QAC7D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEf,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAU;IAClC,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEf,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEnD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU;IACjC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mDAAmD;IACnD,6FAA6F;IAC7F,IAAI,GAAG,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,MAAM,iDAAiD,CAAC,CAAC;IAChH,CAAC;IAED,MAAM,OAAO,GAAmB;QAC9B,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS;QACjB,iEAAiE;QACjE,QAAQ,EAAE,EAAE;QACZ,uDAAuD;QACvD,QAAQ,EAAE,UAAU,EAAE;KACvB,CAAC;IAEF,OAAO,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
package/dist/scenario.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ export type { Message };
|
|
|
8
8
|
export type FailureCriteriaMode = "every_turn" | "on_max_messages";
|
|
9
9
|
export interface Scenario {
|
|
10
10
|
id: string;
|
|
11
|
-
projectId: string;
|
|
12
11
|
name: string;
|
|
13
12
|
instructions?: string;
|
|
14
13
|
messages?: Message[];
|
|
@@ -26,7 +25,6 @@ export interface Scenario {
|
|
|
26
25
|
updatedAt: string;
|
|
27
26
|
}
|
|
28
27
|
export interface CreateScenarioInput {
|
|
29
|
-
projectId: string;
|
|
30
28
|
name: string;
|
|
31
29
|
instructions?: string;
|
|
32
30
|
messages?: Message[];
|
|
@@ -58,9 +56,8 @@ export interface UpdateScenarioInput {
|
|
|
58
56
|
}
|
|
59
57
|
export declare function createScenario(input: CreateScenarioInput): Scenario;
|
|
60
58
|
export declare function getScenario(id: string): Scenario | undefined;
|
|
61
|
-
export declare function getScenarioByName(
|
|
62
|
-
export declare function listScenarios(
|
|
59
|
+
export declare function getScenarioByName(name: string): Scenario | undefined;
|
|
60
|
+
export declare function listScenarios(): Scenario[];
|
|
63
61
|
export declare function updateScenario(id: string, input: UpdateScenarioInput): Scenario | undefined;
|
|
64
62
|
export declare function deleteScenario(id: string): boolean;
|
|
65
|
-
export declare function deleteScenariosByProject(projectId: string): number;
|
|
66
63
|
//# sourceMappingURL=scenario.d.ts.map
|
package/dist/scenario.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,iBAAiB,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAoBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,QAAQ,CA4BnE;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAG5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAGpE;AAED,wBAAgB,aAAa,IAAI,QAAQ,EAAE,CAE1C;AAED,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,GACzB,QAAQ,GAAG,SAAS,CAoCtB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAYlD"}
|
package/dist/scenario.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
2
|
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { getProject } from "./project.js";
|
|
5
4
|
import { getStorageDir } from "./storage.js";
|
|
6
5
|
function getStoragePath() {
|
|
7
6
|
return join(getStorageDir(), "scenarios.json");
|
|
@@ -19,18 +18,13 @@ function saveScenarios(scenarios) {
|
|
|
19
18
|
writeFileSync(path, JSON.stringify(scenarios, null, 2));
|
|
20
19
|
}
|
|
21
20
|
export function createScenario(input) {
|
|
22
|
-
const project = getProject(input.projectId);
|
|
23
|
-
if (!project) {
|
|
24
|
-
throw new Error(`Project with id "${input.projectId}" not found`);
|
|
25
|
-
}
|
|
26
21
|
const scenarios = loadScenarios();
|
|
27
|
-
if (scenarios.some((s) => s.
|
|
28
|
-
throw new Error(`Scenario with name "${input.name}" already exists
|
|
22
|
+
if (scenarios.some((s) => s.name === input.name)) {
|
|
23
|
+
throw new Error(`Scenario with name "${input.name}" already exists`);
|
|
29
24
|
}
|
|
30
25
|
const now = new Date().toISOString();
|
|
31
26
|
const scenario = {
|
|
32
27
|
id: randomUUID(),
|
|
33
|
-
projectId: input.projectId,
|
|
34
28
|
name: input.name,
|
|
35
29
|
instructions: input.instructions,
|
|
36
30
|
messages: input.messages,
|
|
@@ -50,16 +44,12 @@ export function getScenario(id) {
|
|
|
50
44
|
const scenarios = loadScenarios();
|
|
51
45
|
return scenarios.find((s) => s.id === id);
|
|
52
46
|
}
|
|
53
|
-
export function getScenarioByName(
|
|
47
|
+
export function getScenarioByName(name) {
|
|
54
48
|
const scenarios = loadScenarios();
|
|
55
|
-
return scenarios.find((s) => s.
|
|
49
|
+
return scenarios.find((s) => s.name === name);
|
|
56
50
|
}
|
|
57
|
-
export function listScenarios(
|
|
58
|
-
|
|
59
|
-
if (projectId) {
|
|
60
|
-
return scenarios.filter((s) => s.projectId === projectId);
|
|
61
|
-
}
|
|
62
|
-
return scenarios;
|
|
51
|
+
export function listScenarios() {
|
|
52
|
+
return loadScenarios();
|
|
63
53
|
}
|
|
64
54
|
export function updateScenario(id, input) {
|
|
65
55
|
const scenarios = loadScenarios();
|
|
@@ -69,8 +59,8 @@ export function updateScenario(id, input) {
|
|
|
69
59
|
}
|
|
70
60
|
const scenario = scenarios[index];
|
|
71
61
|
if (input.name &&
|
|
72
|
-
scenarios.some((s) => s.
|
|
73
|
-
throw new Error(`Scenario with name "${input.name}" already exists
|
|
62
|
+
scenarios.some((s) => s.name === input.name && s.id !== id)) {
|
|
63
|
+
throw new Error(`Scenario with name "${input.name}" already exists`);
|
|
74
64
|
}
|
|
75
65
|
const updated = {
|
|
76
66
|
...scenario,
|
|
@@ -98,13 +88,4 @@ export function deleteScenario(id) {
|
|
|
98
88
|
saveScenarios(scenarios);
|
|
99
89
|
return true;
|
|
100
90
|
}
|
|
101
|
-
export function deleteScenariosByProject(projectId) {
|
|
102
|
-
const scenarios = loadScenarios();
|
|
103
|
-
const filtered = scenarios.filter((s) => s.projectId !== projectId);
|
|
104
|
-
const deletedCount = scenarios.length - filtered.length;
|
|
105
|
-
if (deletedCount > 0) {
|
|
106
|
-
saveScenarios(filtered);
|
|
107
|
-
}
|
|
108
|
-
return deletedCount;
|
|
109
|
-
}
|
|
110
91
|
//# sourceMappingURL=scenario.js.map
|
package/dist/scenario.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scenario.js","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA+D7C,SAAS,cAAc;IACrB,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,gBAAgB,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,SAAqB;IAC1C,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAElC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,CAAC,IAAI,kBAAkB,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAa;QACzB,EAAE,EAAE,UAAU,EAAE;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;QAC9C,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,KAA0B;IAE1B,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAElC,IACE,KAAK,CAAC,IAAI;QACV,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAC3D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,CAAC,IAAI,kBAAkB,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAa;QACxB,GAAG,QAAQ;QACX,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI;QACjC,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY;QACzD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;QAC7C,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;QACtD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe;QAClE,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe;QAClE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB;QAC9E,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU;QACnD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IAEF,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC3B,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAEtD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3B,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/storage.d.ts
CHANGED
|
@@ -1,11 +1,69 @@
|
|
|
1
1
|
export declare const CONFIG_FILENAME = "evalstudio.config.json";
|
|
2
|
+
export declare const ERR_NO_PROJECT = "ERR_NO_PROJECT";
|
|
3
|
+
/**
|
|
4
|
+
* LLM settings for a specific use-case (evaluation or persona generation)
|
|
5
|
+
*/
|
|
6
|
+
export interface LLMUseCaseSettings {
|
|
7
|
+
providerId: string;
|
|
8
|
+
model?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Project-level LLM configuration for different use-cases
|
|
12
|
+
*/
|
|
13
|
+
export interface ProjectLLMSettings {
|
|
14
|
+
/** LLM settings for evaluation/judging conversations */
|
|
15
|
+
evaluation?: LLMUseCaseSettings;
|
|
16
|
+
/** LLM settings for persona response generation */
|
|
17
|
+
persona?: LLMUseCaseSettings;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Project configuration stored in evalstudio.config.json
|
|
21
|
+
*/
|
|
22
|
+
export interface ProjectConfig {
|
|
23
|
+
version: number;
|
|
24
|
+
name: string;
|
|
25
|
+
llmSettings?: ProjectLLMSettings;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns the path to the nearest evalstudio.config.json.
|
|
29
|
+
* Walks up from cwd (or configDir override) to find it.
|
|
30
|
+
* Throws if not found.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getConfigPath(): string;
|
|
33
|
+
/**
|
|
34
|
+
* Reads and parses the project config from evalstudio.config.json.
|
|
35
|
+
*/
|
|
36
|
+
export declare function readProjectConfig(): ProjectConfig;
|
|
37
|
+
/**
|
|
38
|
+
* Writes the project config back to evalstudio.config.json.
|
|
39
|
+
*/
|
|
40
|
+
export declare function writeProjectConfig(config: ProjectConfig): void;
|
|
41
|
+
/**
|
|
42
|
+
* Returns the data/ storage directory for the current project.
|
|
43
|
+
* Throws if no project is found (no fallback to ~/data/).
|
|
44
|
+
*/
|
|
2
45
|
export declare function getStorageDir(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Override the storage directory (useful for tests).
|
|
48
|
+
*/
|
|
3
49
|
export declare function setStorageDir(dir: string | null): void;
|
|
50
|
+
/**
|
|
51
|
+
* Override the config directory (useful for tests).
|
|
52
|
+
* When set, getConfigPath() looks for evalstudio.config.json in this directory.
|
|
53
|
+
*/
|
|
54
|
+
export declare function setConfigDir(dir: string | null): void;
|
|
55
|
+
/**
|
|
56
|
+
* Reset all storage/config overrides.
|
|
57
|
+
*/
|
|
4
58
|
export declare function resetStorageDir(): void;
|
|
5
59
|
export interface InitLocalProjectResult {
|
|
6
60
|
projectDir: string;
|
|
7
61
|
configPath: string;
|
|
8
62
|
storagePath: string;
|
|
9
63
|
}
|
|
10
|
-
|
|
64
|
+
/**
|
|
65
|
+
* Initializes a new project in the given directory.
|
|
66
|
+
* Creates evalstudio.config.json with version 2 and data/ storage dir.
|
|
67
|
+
*/
|
|
68
|
+
export declare function initLocalProject(dir: string, name: string): InitLocalProjectResult;
|
|
11
69
|
//# sourceMappingURL=storage.d.ts.map
|
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAGxD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAmB/C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,mDAAmD;IACnD,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAqBD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAmBtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAIjD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAG9D;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAYtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEtD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAItC;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GACX,sBAAsB,CAmBxB"}
|
package/dist/storage.js
CHANGED
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
import { existsSync, mkdirSync, writeFileSync } from "node:fs";
|
|
2
|
-
import { homedir } from "node:os";
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
3
2
|
import { dirname, join } from "node:path";
|
|
4
3
|
export const CONFIG_FILENAME = "evalstudio.config.json";
|
|
5
|
-
const LOCAL_STORAGE_DIRNAME = "
|
|
4
|
+
const LOCAL_STORAGE_DIRNAME = "data";
|
|
5
|
+
export const ERR_NO_PROJECT = "ERR_NO_PROJECT";
|
|
6
6
|
let storageDir = null;
|
|
7
|
+
let configDir = null;
|
|
7
8
|
let discoveredDir = undefined;
|
|
8
|
-
function
|
|
9
|
+
function noProjectError() {
|
|
10
|
+
const err = new Error([
|
|
11
|
+
"No EvalStudio project found.",
|
|
12
|
+
"",
|
|
13
|
+
"To fix this, either:",
|
|
14
|
+
" 1. Run 'npx @evalstudio/cli init' to create a new project here",
|
|
15
|
+
" 2. cd into an existing project directory",
|
|
16
|
+
" 3. Set EVALSTUDIO_PROJECT_DIR to point to an existing project",
|
|
17
|
+
].join("\n"));
|
|
18
|
+
err.code = ERR_NO_PROJECT;
|
|
19
|
+
return err;
|
|
20
|
+
}
|
|
21
|
+
function discoverProjectDir(startDir) {
|
|
9
22
|
let current = startDir;
|
|
10
23
|
while (true) {
|
|
11
24
|
if (existsSync(join(current, CONFIG_FILENAME))) {
|
|
12
|
-
return
|
|
25
|
+
return current;
|
|
13
26
|
}
|
|
14
27
|
const parent = dirname(current);
|
|
15
28
|
if (parent === current)
|
|
@@ -23,34 +36,98 @@ function ensureDir(dir) {
|
|
|
23
36
|
}
|
|
24
37
|
return dir;
|
|
25
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns the path to the nearest evalstudio.config.json.
|
|
41
|
+
* Walks up from cwd (or configDir override) to find it.
|
|
42
|
+
* Throws if not found.
|
|
43
|
+
*/
|
|
44
|
+
export function getConfigPath() {
|
|
45
|
+
if (configDir !== null) {
|
|
46
|
+
const path = join(configDir, CONFIG_FILENAME);
|
|
47
|
+
if (existsSync(path))
|
|
48
|
+
return path;
|
|
49
|
+
throw noProjectError();
|
|
50
|
+
}
|
|
51
|
+
if (process.env.EVALSTUDIO_PROJECT_DIR) {
|
|
52
|
+
const path = join(process.env.EVALSTUDIO_PROJECT_DIR, CONFIG_FILENAME);
|
|
53
|
+
if (existsSync(path))
|
|
54
|
+
return path;
|
|
55
|
+
throw noProjectError();
|
|
56
|
+
}
|
|
57
|
+
const projectDir = discoverProjectDir(process.cwd());
|
|
58
|
+
if (projectDir) {
|
|
59
|
+
return join(projectDir, CONFIG_FILENAME);
|
|
60
|
+
}
|
|
61
|
+
throw noProjectError();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Reads and parses the project config from evalstudio.config.json.
|
|
65
|
+
*/
|
|
66
|
+
export function readProjectConfig() {
|
|
67
|
+
const configPath = getConfigPath();
|
|
68
|
+
const data = readFileSync(configPath, "utf-8");
|
|
69
|
+
return JSON.parse(data);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Writes the project config back to evalstudio.config.json.
|
|
73
|
+
*/
|
|
74
|
+
export function writeProjectConfig(config) {
|
|
75
|
+
const configPath = getConfigPath();
|
|
76
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Returns the data/ storage directory for the current project.
|
|
80
|
+
* Throws if no project is found (no fallback to ~/data/).
|
|
81
|
+
*/
|
|
26
82
|
export function getStorageDir() {
|
|
27
83
|
if (storageDir !== null)
|
|
28
84
|
return ensureDir(storageDir);
|
|
29
|
-
if (process.env.
|
|
30
|
-
return ensureDir(process.env.
|
|
85
|
+
if (process.env.EVALSTUDIO_PROJECT_DIR)
|
|
86
|
+
return ensureDir(join(process.env.EVALSTUDIO_PROJECT_DIR, LOCAL_STORAGE_DIRNAME));
|
|
31
87
|
if (discoveredDir === undefined) {
|
|
32
|
-
|
|
88
|
+
const projectDir = discoverProjectDir(process.cwd());
|
|
89
|
+
discoveredDir = projectDir ? join(projectDir, LOCAL_STORAGE_DIRNAME) : null;
|
|
33
90
|
}
|
|
34
91
|
if (discoveredDir !== null)
|
|
35
92
|
return ensureDir(discoveredDir);
|
|
36
|
-
|
|
93
|
+
throw noProjectError();
|
|
37
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Override the storage directory (useful for tests).
|
|
97
|
+
*/
|
|
38
98
|
export function setStorageDir(dir) {
|
|
39
99
|
storageDir = dir;
|
|
40
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Override the config directory (useful for tests).
|
|
103
|
+
* When set, getConfigPath() looks for evalstudio.config.json in this directory.
|
|
104
|
+
*/
|
|
105
|
+
export function setConfigDir(dir) {
|
|
106
|
+
configDir = dir;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Reset all storage/config overrides.
|
|
110
|
+
*/
|
|
41
111
|
export function resetStorageDir() {
|
|
42
112
|
storageDir = null;
|
|
113
|
+
configDir = null;
|
|
43
114
|
discoveredDir = undefined;
|
|
44
115
|
}
|
|
45
|
-
|
|
46
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Initializes a new project in the given directory.
|
|
118
|
+
* Creates evalstudio.config.json with version 2 and data/ storage dir.
|
|
119
|
+
*/
|
|
120
|
+
export function initLocalProject(dir, name) {
|
|
121
|
+
const projectDir = dir;
|
|
47
122
|
const configPath = join(projectDir, CONFIG_FILENAME);
|
|
48
|
-
|
|
49
|
-
|
|
123
|
+
const storagePath = join(projectDir, LOCAL_STORAGE_DIRNAME);
|
|
124
|
+
const existing = [configPath, storagePath].filter(existsSync);
|
|
125
|
+
if (existing.length > 0) {
|
|
126
|
+
throw new Error(`Already initialized: ${existing.join(", ")} already exists`);
|
|
50
127
|
}
|
|
51
128
|
mkdirSync(projectDir, { recursive: true });
|
|
52
|
-
|
|
53
|
-
|
|
129
|
+
const config = { version: 2, name };
|
|
130
|
+
writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n");
|
|
54
131
|
mkdirSync(storagePath, { recursive: true });
|
|
55
132
|
return { projectDir, configPath, storagePath };
|
|
56
133
|
}
|
package/dist/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|