@artemiskit/core 0.2.4 → 0.3.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/CHANGELOG.md +127 -0
- package/adapters/openai/dist/index.js +5626 -0
- package/dist/adapters/registry.d.ts.map +1 -1
- package/dist/adapters/types.d.ts +32 -2
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/artifacts/types.d.ts +12 -0
- package/dist/artifacts/types.d.ts.map +1 -1
- package/dist/index.js +455 -4
- package/dist/scenario/schema.d.ts +116 -84
- package/dist/scenario/schema.d.ts.map +1 -1
- package/dist/storage/supabase.d.ts +25 -4
- package/dist/storage/supabase.d.ts.map +1 -1
- package/dist/storage/types.d.ts +162 -0
- package/dist/storage/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/registry.ts +38 -0
- package/src/adapters/types.ts +38 -0
- package/src/artifacts/types.ts +16 -0
- package/src/scenario/schema.ts +10 -0
- package/src/storage/supabase.test.ts +988 -0
- package/src/storage/supabase.ts +599 -5
- package/src/storage/types.ts +196 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/scenario/schema.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/scenario/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Supabase storage adapter
|
|
2
|
+
* Supabase storage adapter with analytics capabilities
|
|
3
3
|
*/
|
|
4
4
|
import type { RunManifest } from '../artifacts/types';
|
|
5
|
-
import type { ComparisonResult, ListOptions, RunListItem,
|
|
5
|
+
import type { AnalyticsStorageAdapter, BaselineMetadata, CaseResultQueryOptions, CaseResultRecord, ComparisonResult, ListOptions, MetricsSnapshot, MetricsTrendOptions, RunListItem, TrendDataPoint } from './types';
|
|
6
6
|
export interface SupabaseStorageConfig {
|
|
7
7
|
url: string;
|
|
8
8
|
anonKey: string;
|
|
9
9
|
bucket?: string;
|
|
10
10
|
}
|
|
11
|
-
export declare class SupabaseStorageAdapter implements
|
|
11
|
+
export declare class SupabaseStorageAdapter implements AnalyticsStorageAdapter {
|
|
12
12
|
private client;
|
|
13
13
|
private bucket;
|
|
14
|
-
|
|
14
|
+
private project;
|
|
15
|
+
constructor(config: SupabaseStorageConfig, project?: string);
|
|
15
16
|
save(manifest: RunManifest): Promise<string>;
|
|
16
17
|
load(runId: string): Promise<RunManifest>;
|
|
17
18
|
list(options?: ListOptions): Promise<RunListItem[]>;
|
|
18
19
|
delete(runId: string): Promise<void>;
|
|
19
20
|
compare(baselineId: string, currentId: string): Promise<ComparisonResult>;
|
|
21
|
+
setBaseline(scenario: string, runId: string, tag?: string): Promise<BaselineMetadata>;
|
|
22
|
+
getBaseline(scenario: string): Promise<BaselineMetadata | null>;
|
|
23
|
+
getBaselineByRunId(runId: string): Promise<BaselineMetadata | null>;
|
|
24
|
+
listBaselines(): Promise<BaselineMetadata[]>;
|
|
25
|
+
removeBaseline(scenario: string): Promise<boolean>;
|
|
26
|
+
removeBaselineByRunId(runId: string): Promise<boolean>;
|
|
27
|
+
compareToBaseline(runId: string, regressionThreshold?: number): Promise<{
|
|
28
|
+
baseline: BaselineMetadata;
|
|
29
|
+
comparison: ComparisonResult;
|
|
30
|
+
hasRegression: boolean;
|
|
31
|
+
regressionThreshold: number;
|
|
32
|
+
} | null>;
|
|
33
|
+
saveCaseResult(result: CaseResultRecord): Promise<string>;
|
|
34
|
+
saveCaseResults(results: CaseResultRecord[]): Promise<string[]>;
|
|
35
|
+
getCaseResults(runId: string): Promise<CaseResultRecord[]>;
|
|
36
|
+
queryCaseResults(options: CaseResultQueryOptions): Promise<CaseResultRecord[]>;
|
|
37
|
+
saveMetricsSnapshot(snapshot: MetricsSnapshot): Promise<string>;
|
|
38
|
+
getMetricsTrend(options: MetricsTrendOptions): Promise<TrendDataPoint[]>;
|
|
39
|
+
getMetricsSnapshot(date: string, project: string, scenario?: string): Promise<MetricsSnapshot | null>;
|
|
40
|
+
aggregateDailyMetrics(date: string, project: string, scenario?: string): Promise<MetricsSnapshot>;
|
|
20
41
|
}
|
|
21
42
|
//# sourceMappingURL=supabase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/storage/supabase.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/storage/supabase.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -149,4 +149,166 @@ export interface BaselineStorageAdapter extends StorageAdapter {
|
|
|
149
149
|
regressionThreshold: number;
|
|
150
150
|
} | null>;
|
|
151
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Status of an individual case result
|
|
154
|
+
*/
|
|
155
|
+
export type CaseResultStatus = 'passed' | 'failed' | 'error';
|
|
156
|
+
/**
|
|
157
|
+
* Individual case result record for storage
|
|
158
|
+
*/
|
|
159
|
+
export interface CaseResultRecord {
|
|
160
|
+
/** Unique ID (auto-generated if not provided) */
|
|
161
|
+
id?: string;
|
|
162
|
+
/** Run ID this case belongs to */
|
|
163
|
+
runId: string;
|
|
164
|
+
/** Case ID from the test */
|
|
165
|
+
caseId: string;
|
|
166
|
+
/** Optional case name */
|
|
167
|
+
caseName?: string;
|
|
168
|
+
/** Result status */
|
|
169
|
+
status: CaseResultStatus;
|
|
170
|
+
/** Score from 0.0 to 1.0 */
|
|
171
|
+
score: number;
|
|
172
|
+
/** Type of matcher used */
|
|
173
|
+
matcherType: string;
|
|
174
|
+
/** Reason for the status */
|
|
175
|
+
reason?: string;
|
|
176
|
+
/** Model response */
|
|
177
|
+
response: string;
|
|
178
|
+
/** Latency in milliseconds */
|
|
179
|
+
latencyMs: number;
|
|
180
|
+
/** Prompt tokens used */
|
|
181
|
+
promptTokens: number;
|
|
182
|
+
/** Completion tokens used */
|
|
183
|
+
completionTokens: number;
|
|
184
|
+
/** Total tokens used */
|
|
185
|
+
totalTokens: number;
|
|
186
|
+
/** Error message if status is 'error' */
|
|
187
|
+
error?: string;
|
|
188
|
+
/** Tags for categorization */
|
|
189
|
+
tags?: string[];
|
|
190
|
+
/** ISO timestamp when created */
|
|
191
|
+
createdAt?: string;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Options for querying case results
|
|
195
|
+
*/
|
|
196
|
+
export interface CaseResultQueryOptions {
|
|
197
|
+
/** Filter by run ID */
|
|
198
|
+
runId?: string;
|
|
199
|
+
/** Filter by case ID */
|
|
200
|
+
caseId?: string;
|
|
201
|
+
/** Filter by status */
|
|
202
|
+
status?: CaseResultStatus;
|
|
203
|
+
/** Filter by tags (any match) */
|
|
204
|
+
tags?: string[];
|
|
205
|
+
/** Maximum results to return */
|
|
206
|
+
limit?: number;
|
|
207
|
+
/** Offset for pagination */
|
|
208
|
+
offset?: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Daily metrics snapshot for a project/scenario
|
|
212
|
+
*/
|
|
213
|
+
export interface MetricsSnapshot {
|
|
214
|
+
/** Unique ID (auto-generated if not provided) */
|
|
215
|
+
id?: string;
|
|
216
|
+
/** Date of the snapshot (YYYY-MM-DD) */
|
|
217
|
+
date: string;
|
|
218
|
+
/** Project name */
|
|
219
|
+
project: string;
|
|
220
|
+
/** Optional scenario name (null for project-wide) */
|
|
221
|
+
scenario?: string;
|
|
222
|
+
/** Total runs on this date */
|
|
223
|
+
totalRuns: number;
|
|
224
|
+
/** Total cases across all runs */
|
|
225
|
+
totalCases: number;
|
|
226
|
+
/** Total passed cases */
|
|
227
|
+
passedCases: number;
|
|
228
|
+
/** Total failed cases */
|
|
229
|
+
failedCases: number;
|
|
230
|
+
/** Average success rate */
|
|
231
|
+
avgSuccessRate: number;
|
|
232
|
+
/** Average latency in ms */
|
|
233
|
+
avgLatencyMs: number;
|
|
234
|
+
/** Average tokens per run */
|
|
235
|
+
avgTokensPerRun: number;
|
|
236
|
+
/** Minimum success rate */
|
|
237
|
+
minSuccessRate?: number;
|
|
238
|
+
/** Maximum success rate */
|
|
239
|
+
maxSuccessRate?: number;
|
|
240
|
+
/** Minimum latency in ms */
|
|
241
|
+
minLatencyMs?: number;
|
|
242
|
+
/** Maximum latency in ms */
|
|
243
|
+
maxLatencyMs?: number;
|
|
244
|
+
/** Total tokens consumed */
|
|
245
|
+
totalTokens: number;
|
|
246
|
+
/** ISO timestamp when created */
|
|
247
|
+
createdAt?: string;
|
|
248
|
+
/** ISO timestamp when last updated */
|
|
249
|
+
updatedAt?: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Options for querying metrics history
|
|
253
|
+
*/
|
|
254
|
+
export interface MetricsTrendOptions {
|
|
255
|
+
/** Project to query */
|
|
256
|
+
project: string;
|
|
257
|
+
/** Optional scenario filter */
|
|
258
|
+
scenario?: string;
|
|
259
|
+
/** Start date (YYYY-MM-DD) */
|
|
260
|
+
startDate?: string;
|
|
261
|
+
/** End date (YYYY-MM-DD) */
|
|
262
|
+
endDate?: string;
|
|
263
|
+
/** Maximum results to return */
|
|
264
|
+
limit?: number;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Trend data point for visualization
|
|
268
|
+
*/
|
|
269
|
+
export interface TrendDataPoint {
|
|
270
|
+
date: string;
|
|
271
|
+
successRate: number;
|
|
272
|
+
latencyMs: number;
|
|
273
|
+
totalRuns: number;
|
|
274
|
+
totalTokens: number;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Extended storage adapter with analytics capabilities
|
|
278
|
+
*/
|
|
279
|
+
export interface AnalyticsStorageAdapter extends BaselineStorageAdapter {
|
|
280
|
+
/**
|
|
281
|
+
* Save an individual case result
|
|
282
|
+
*/
|
|
283
|
+
saveCaseResult(result: CaseResultRecord): Promise<string>;
|
|
284
|
+
/**
|
|
285
|
+
* Save multiple case results in batch
|
|
286
|
+
*/
|
|
287
|
+
saveCaseResults(results: CaseResultRecord[]): Promise<string[]>;
|
|
288
|
+
/**
|
|
289
|
+
* Get case results for a run
|
|
290
|
+
*/
|
|
291
|
+
getCaseResults(runId: string): Promise<CaseResultRecord[]>;
|
|
292
|
+
/**
|
|
293
|
+
* Query case results with filters
|
|
294
|
+
*/
|
|
295
|
+
queryCaseResults(options: CaseResultQueryOptions): Promise<CaseResultRecord[]>;
|
|
296
|
+
/**
|
|
297
|
+
* Save a metrics snapshot
|
|
298
|
+
*/
|
|
299
|
+
saveMetricsSnapshot(snapshot: MetricsSnapshot): Promise<string>;
|
|
300
|
+
/**
|
|
301
|
+
* Get metrics trend data
|
|
302
|
+
*/
|
|
303
|
+
getMetricsTrend(options: MetricsTrendOptions): Promise<TrendDataPoint[]>;
|
|
304
|
+
/**
|
|
305
|
+
* Get a specific metrics snapshot
|
|
306
|
+
*/
|
|
307
|
+
getMetricsSnapshot(date: string, project: string, scenario?: string): Promise<MetricsSnapshot | null>;
|
|
308
|
+
/**
|
|
309
|
+
* Aggregate and save daily metrics from runs
|
|
310
|
+
* This can be called to build/update metrics_history from existing runs
|
|
311
|
+
*/
|
|
312
|
+
aggregateDailyMetrics?(date: string, project: string, scenario?: string): Promise<MetricsSnapshot>;
|
|
313
|
+
}
|
|
152
314
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/adapters/registry.ts
CHANGED
|
@@ -132,6 +132,44 @@ export async function registerBuiltInAdapters(): Promise<void> {
|
|
|
132
132
|
return new mod.AnthropicAdapter(config);
|
|
133
133
|
});
|
|
134
134
|
|
|
135
|
+
// ============================================
|
|
136
|
+
// AGENTIC FRAMEWORK ADAPTERS
|
|
137
|
+
// ============================================
|
|
138
|
+
|
|
139
|
+
// LangChain adapter - for testing LangChain chains and agents
|
|
140
|
+
// Note: Requires passing the runnable instance separately
|
|
141
|
+
adapterRegistry.register('langchain', async (config) => {
|
|
142
|
+
const mod = await tryImport<{
|
|
143
|
+
LangChainAdapter: new (c: AdapterConfig, runnable: unknown) => ModelClient;
|
|
144
|
+
}>('@artemiskit/adapter-langchain');
|
|
145
|
+
// LangChain adapter requires a runnable to be passed via config.metadata.runnable
|
|
146
|
+
const runnable = (config as { metadata?: { runnable?: unknown } }).metadata?.runnable;
|
|
147
|
+
if (!runnable) {
|
|
148
|
+
throw new Error(
|
|
149
|
+
'LangChain adapter requires a runnable instance. ' +
|
|
150
|
+
'Pass it via config.metadata.runnable or use createLangChainAdapter() directly.'
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
return new mod.LangChainAdapter(config, runnable);
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
// DeepAgents adapter - for testing DeepAgents multi-agent systems
|
|
157
|
+
// Note: Requires passing the system instance separately
|
|
158
|
+
adapterRegistry.register('deepagents', async (config) => {
|
|
159
|
+
const mod = await tryImport<{
|
|
160
|
+
DeepAgentsAdapter: new (c: AdapterConfig, system: unknown) => ModelClient;
|
|
161
|
+
}>('@artemiskit/adapter-deepagents');
|
|
162
|
+
// DeepAgents adapter requires a system to be passed via config.metadata.system
|
|
163
|
+
const system = (config as { metadata?: { system?: unknown } }).metadata?.system;
|
|
164
|
+
if (!system) {
|
|
165
|
+
throw new Error(
|
|
166
|
+
'DeepAgents adapter requires a system instance. ' +
|
|
167
|
+
'Pass it via config.metadata.system or use createDeepAgentsAdapter() directly.'
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
return new mod.DeepAgentsAdapter(config, system);
|
|
171
|
+
});
|
|
172
|
+
|
|
135
173
|
// ============================================
|
|
136
174
|
// POST-MVP ADAPTERS - Not yet available
|
|
137
175
|
// ============================================
|
package/src/adapters/types.ts
CHANGED
|
@@ -120,11 +120,15 @@ export type ProviderType =
|
|
|
120
120
|
| 'azure-openai'
|
|
121
121
|
| 'vercel-ai'
|
|
122
122
|
| 'anthropic'
|
|
123
|
+
| 'langchain'
|
|
124
|
+
| 'deepagents'
|
|
123
125
|
| 'google'
|
|
124
126
|
| 'mistral'
|
|
125
127
|
| 'cohere'
|
|
126
128
|
| 'huggingface'
|
|
127
129
|
| 'ollama'
|
|
130
|
+
| 'langchain'
|
|
131
|
+
| 'deepagents'
|
|
128
132
|
| 'custom';
|
|
129
133
|
|
|
130
134
|
/**
|
|
@@ -180,6 +184,38 @@ export interface AnthropicAdapterConfig extends BaseAdapterConfig {
|
|
|
180
184
|
provider: 'anthropic';
|
|
181
185
|
}
|
|
182
186
|
|
|
187
|
+
/**
|
|
188
|
+
* LangChain adapter configuration
|
|
189
|
+
*/
|
|
190
|
+
export interface LangChainAdapterConfig extends BaseAdapterConfig {
|
|
191
|
+
provider: 'langchain';
|
|
192
|
+
/** Type of LangChain runnable */
|
|
193
|
+
runnableType?: 'chain' | 'agent' | 'llm' | 'runnable';
|
|
194
|
+
/** Name identifier for the chain/agent */
|
|
195
|
+
name?: string;
|
|
196
|
+
/** Capture intermediate steps from agents */
|
|
197
|
+
captureIntermediateSteps?: boolean;
|
|
198
|
+
/** Custom input key */
|
|
199
|
+
inputKey?: string;
|
|
200
|
+
/** Custom output key */
|
|
201
|
+
outputKey?: string;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* DeepAgents adapter configuration
|
|
206
|
+
*/
|
|
207
|
+
export interface DeepAgentsAdapterConfig extends BaseAdapterConfig {
|
|
208
|
+
provider: 'deepagents';
|
|
209
|
+
/** Name identifier for the agent system */
|
|
210
|
+
name?: string;
|
|
211
|
+
/** Capture agent execution traces */
|
|
212
|
+
captureTraces?: boolean;
|
|
213
|
+
/** Capture inter-agent messages */
|
|
214
|
+
captureMessages?: boolean;
|
|
215
|
+
/** Maximum execution time in milliseconds */
|
|
216
|
+
executionTimeout?: number;
|
|
217
|
+
}
|
|
218
|
+
|
|
183
219
|
/**
|
|
184
220
|
* Union type for all adapter configs
|
|
185
221
|
*/
|
|
@@ -188,4 +224,6 @@ export type AdapterConfig =
|
|
|
188
224
|
| AzureOpenAIAdapterConfig
|
|
189
225
|
| VercelAIAdapterConfig
|
|
190
226
|
| AnthropicAdapterConfig
|
|
227
|
+
| LangChainAdapterConfig
|
|
228
|
+
| DeepAgentsAdapterConfig
|
|
191
229
|
| BaseAdapterConfig;
|
package/src/artifacts/types.ts
CHANGED
|
@@ -159,6 +159,18 @@ export interface ResolvedConfig {
|
|
|
159
159
|
/** Underlying provider for Vercel AI SDK */
|
|
160
160
|
underlying_provider?: string;
|
|
161
161
|
|
|
162
|
+
// LangChain-specific
|
|
163
|
+
/** Name identifier for the chain/agent */
|
|
164
|
+
name?: string;
|
|
165
|
+
/** Type of LangChain runnable */
|
|
166
|
+
runnable_type?: string;
|
|
167
|
+
|
|
168
|
+
// DeepAgents-specific
|
|
169
|
+
/** Capture agent execution traces */
|
|
170
|
+
capture_traces?: boolean;
|
|
171
|
+
/** Capture inter-agent messages */
|
|
172
|
+
capture_messages?: boolean;
|
|
173
|
+
|
|
162
174
|
// Common settings
|
|
163
175
|
/** Request timeout in ms */
|
|
164
176
|
timeout?: number;
|
|
@@ -179,6 +191,10 @@ export interface ResolvedConfig {
|
|
|
179
191
|
deployment_name?: ConfigSource;
|
|
180
192
|
api_version?: ConfigSource;
|
|
181
193
|
underlying_provider?: ConfigSource;
|
|
194
|
+
name?: ConfigSource;
|
|
195
|
+
runnable_type?: ConfigSource;
|
|
196
|
+
capture_traces?: ConfigSource;
|
|
197
|
+
capture_messages?: ConfigSource;
|
|
182
198
|
timeout?: ConfigSource;
|
|
183
199
|
max_retries?: ConfigSource;
|
|
184
200
|
temperature?: ConfigSource;
|
package/src/scenario/schema.ts
CHANGED
|
@@ -18,6 +18,8 @@ export const ProviderSchema = z.enum([
|
|
|
18
18
|
'cohere',
|
|
19
19
|
'huggingface',
|
|
20
20
|
'ollama',
|
|
21
|
+
'langchain',
|
|
22
|
+
'deepagents',
|
|
21
23
|
'custom',
|
|
22
24
|
]);
|
|
23
25
|
|
|
@@ -50,6 +52,14 @@ export const ProviderConfigSchema = z
|
|
|
50
52
|
|
|
51
53
|
// Vercel AI specific
|
|
52
54
|
underlyingProvider: z.enum(['openai', 'azure', 'anthropic', 'google', 'mistral']).optional(),
|
|
55
|
+
|
|
56
|
+
// LangChain specific
|
|
57
|
+
name: z.string().optional(),
|
|
58
|
+
runnableType: z.enum(['chain', 'agent', 'llm', 'runnable']).optional(),
|
|
59
|
+
|
|
60
|
+
// DeepAgents specific
|
|
61
|
+
captureTraces: z.boolean().optional(),
|
|
62
|
+
captureMessages: z.boolean().optional(),
|
|
53
63
|
})
|
|
54
64
|
.optional();
|
|
55
65
|
|