@attest-ai/core 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/dist/adapters/anthropic.d.ts +31 -0
- package/dist/adapters/anthropic.d.ts.map +1 -0
- package/dist/adapters/anthropic.js +42 -0
- package/dist/adapters/anthropic.js.map +1 -0
- package/dist/adapters/gemini.d.ts +30 -0
- package/dist/adapters/gemini.d.ts.map +1 -0
- package/dist/adapters/gemini.js +41 -0
- package/dist/adapters/gemini.js.map +1 -0
- package/dist/adapters/index.d.ts +11 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +7 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/manual.d.ts +9 -0
- package/dist/adapters/manual.d.ts.map +1 -0
- package/dist/adapters/manual.js +16 -0
- package/dist/adapters/manual.js.map +1 -0
- package/dist/adapters/ollama.d.ts +19 -0
- package/dist/adapters/ollama.d.ts.map +1 -0
- package/dist/adapters/ollama.js +30 -0
- package/dist/adapters/ollama.js.map +1 -0
- package/dist/adapters/openai.d.ts +34 -0
- package/dist/adapters/openai.d.ts.map +1 -0
- package/dist/adapters/openai.js +42 -0
- package/dist/adapters/openai.js.map +1 -0
- package/dist/adapters/otel.d.ts +25 -0
- package/dist/adapters/otel.d.ts.map +1 -0
- package/dist/adapters/otel.js +133 -0
- package/dist/adapters/otel.js.map +1 -0
- package/dist/agent.d.ts +14 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +54 -0
- package/dist/agent.js.map +1 -0
- package/dist/client.d.ts +19 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +132 -0
- package/dist/client.js.map +1 -0
- package/dist/context.d.ts +4 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +3 -0
- package/dist/context.js.map +1 -0
- package/dist/delegate.d.ts +3 -0
- package/dist/delegate.d.ts.map +1 -0
- package/dist/delegate.js +30 -0
- package/dist/delegate.js.map +1 -0
- package/dist/engine-manager.d.ts +26 -0
- package/dist/engine-manager.d.ts.map +1 -0
- package/dist/engine-manager.js +147 -0
- package/dist/engine-manager.js.map +1 -0
- package/dist/expect.d.ts +127 -0
- package/dist/expect.d.ts.map +1 -0
- package/dist/expect.js +319 -0
- package/dist/expect.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/proto/codec.d.ts +20 -0
- package/dist/proto/codec.d.ts.map +1 -0
- package/dist/proto/codec.js +71 -0
- package/dist/proto/codec.js.map +1 -0
- package/dist/proto/constants.d.ts +21 -0
- package/dist/proto/constants.d.ts.map +1 -0
- package/dist/proto/constants.js +25 -0
- package/dist/proto/constants.js.map +1 -0
- package/dist/proto/errors.d.ts +8 -0
- package/dist/proto/errors.d.ts.map +1 -0
- package/dist/proto/errors.js +13 -0
- package/dist/proto/errors.js.map +1 -0
- package/dist/proto/index.d.ts +5 -0
- package/dist/proto/index.d.ts.map +1 -0
- package/dist/proto/index.js +5 -0
- package/dist/proto/index.js.map +1 -0
- package/dist/proto/types.d.ts +104 -0
- package/dist/proto/types.d.ts.map +1 -0
- package/dist/proto/types.js +2 -0
- package/dist/proto/types.js.map +1 -0
- package/dist/result.d.ts +15 -0
- package/dist/result.d.ts.map +1 -0
- package/dist/result.js +32 -0
- package/dist/result.js.map +1 -0
- package/dist/tier.d.ts +5 -0
- package/dist/tier.d.ts.map +1 -0
- package/dist/tier.js +10 -0
- package/dist/tier.js.map +1 -0
- package/dist/trace-tree.d.ts +20 -0
- package/dist/trace-tree.d.ts.map +1 -0
- package/dist/trace-tree.js +92 -0
- package/dist/trace-tree.js.map +1 -0
- package/dist/trace.d.ts +40 -0
- package/dist/trace.d.ts.map +1 -0
- package/dist/trace.js +85 -0
- package/dist/trace.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +2 -0
- package/dist/version.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export interface TraceMetadata {
|
|
2
|
+
readonly total_tokens?: number;
|
|
3
|
+
readonly cost_usd?: number;
|
|
4
|
+
readonly latency_ms?: number;
|
|
5
|
+
readonly model?: string;
|
|
6
|
+
readonly timestamp?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Step {
|
|
9
|
+
readonly type: string;
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly args?: Record<string, unknown>;
|
|
12
|
+
readonly result?: Record<string, unknown>;
|
|
13
|
+
readonly sub_trace?: Trace;
|
|
14
|
+
readonly metadata?: Record<string, unknown>;
|
|
15
|
+
readonly started_at_ms?: number;
|
|
16
|
+
readonly ended_at_ms?: number;
|
|
17
|
+
readonly agent_id?: string;
|
|
18
|
+
readonly agent_role?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface Trace {
|
|
21
|
+
readonly trace_id: string;
|
|
22
|
+
readonly output: Record<string, unknown>;
|
|
23
|
+
readonly schema_version?: number;
|
|
24
|
+
readonly agent_id?: string;
|
|
25
|
+
readonly input?: Record<string, unknown>;
|
|
26
|
+
readonly steps: readonly Step[];
|
|
27
|
+
readonly metadata?: TraceMetadata;
|
|
28
|
+
readonly parent_trace_id?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface Assertion {
|
|
31
|
+
readonly assertion_id: string;
|
|
32
|
+
readonly type: string;
|
|
33
|
+
readonly spec: Record<string, unknown>;
|
|
34
|
+
readonly request_id?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface AssertionResult {
|
|
37
|
+
readonly assertion_id: string;
|
|
38
|
+
readonly status: string;
|
|
39
|
+
readonly score: number;
|
|
40
|
+
readonly explanation: string;
|
|
41
|
+
readonly cost?: number;
|
|
42
|
+
readonly duration_ms?: number;
|
|
43
|
+
readonly request_id?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ErrorData {
|
|
46
|
+
readonly error_type: string;
|
|
47
|
+
readonly retryable: boolean;
|
|
48
|
+
readonly detail: string;
|
|
49
|
+
}
|
|
50
|
+
export interface RPCError {
|
|
51
|
+
readonly code: number;
|
|
52
|
+
readonly message: string;
|
|
53
|
+
readonly data?: ErrorData;
|
|
54
|
+
}
|
|
55
|
+
export interface RPCRequest {
|
|
56
|
+
readonly jsonrpc: "2.0";
|
|
57
|
+
readonly id: number;
|
|
58
|
+
readonly method: string;
|
|
59
|
+
readonly params: Record<string, unknown>;
|
|
60
|
+
}
|
|
61
|
+
export interface RPCResponse {
|
|
62
|
+
readonly jsonrpc: "2.0";
|
|
63
|
+
readonly id: number;
|
|
64
|
+
readonly result?: unknown;
|
|
65
|
+
readonly error?: RPCError;
|
|
66
|
+
}
|
|
67
|
+
export interface InitializeParams {
|
|
68
|
+
readonly sdk_name: string;
|
|
69
|
+
readonly sdk_version: string;
|
|
70
|
+
readonly protocol_version: number;
|
|
71
|
+
readonly required_capabilities: readonly string[];
|
|
72
|
+
readonly preferred_encoding?: string;
|
|
73
|
+
}
|
|
74
|
+
export interface InitializeResult {
|
|
75
|
+
readonly engine_version: string;
|
|
76
|
+
readonly protocol_version: number;
|
|
77
|
+
readonly capabilities: readonly string[];
|
|
78
|
+
readonly missing: readonly string[];
|
|
79
|
+
readonly compatible: boolean;
|
|
80
|
+
readonly encoding?: string;
|
|
81
|
+
readonly max_concurrent_requests?: number;
|
|
82
|
+
readonly max_trace_size_bytes?: number;
|
|
83
|
+
readonly max_steps_per_trace?: number;
|
|
84
|
+
}
|
|
85
|
+
export interface EvaluateBatchParams {
|
|
86
|
+
readonly trace: Trace;
|
|
87
|
+
readonly assertions: readonly Assertion[];
|
|
88
|
+
}
|
|
89
|
+
export interface EvaluateBatchResult {
|
|
90
|
+
readonly results: readonly AssertionResult[];
|
|
91
|
+
readonly total_cost?: number;
|
|
92
|
+
readonly total_duration_ms?: number;
|
|
93
|
+
}
|
|
94
|
+
export interface ShutdownResult {
|
|
95
|
+
readonly sessions_completed: number;
|
|
96
|
+
readonly assertions_evaluated: number;
|
|
97
|
+
}
|
|
98
|
+
export interface SubmitPluginResultParams {
|
|
99
|
+
readonly trace_id: string;
|
|
100
|
+
readonly plugin_name: string;
|
|
101
|
+
readonly assertion_id: string;
|
|
102
|
+
readonly result: AssertionResult;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proto/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/proto/types.ts"],"names":[],"mappings":""}
|
package/dist/result.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AssertionResult, Trace } from "./proto/types.js";
|
|
2
|
+
export declare class AgentResult {
|
|
3
|
+
readonly trace: Trace;
|
|
4
|
+
readonly assertionResults: readonly AssertionResult[];
|
|
5
|
+
readonly totalCost: number;
|
|
6
|
+
readonly totalDurationMs: number;
|
|
7
|
+
constructor(trace: Trace, assertionResults?: readonly AssertionResult[], totalCost?: number, totalDurationMs?: number);
|
|
8
|
+
get passed(): boolean;
|
|
9
|
+
get failedAssertions(): readonly AssertionResult[];
|
|
10
|
+
get hardFailures(): readonly AssertionResult[];
|
|
11
|
+
get softFailures(): readonly AssertionResult[];
|
|
12
|
+
get passCount(): number;
|
|
13
|
+
get failCount(): number;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAO/D,qBAAa,WAAW;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBAG/B,KAAK,EAAE,KAAK,EACZ,gBAAgB,GAAE,SAAS,eAAe,EAAO,EACjD,SAAS,SAAM,EACf,eAAe,SAAI;IAQrB,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,gBAAgB,IAAI,SAAS,eAAe,EAAE,CAEjD;IAED,IAAI,YAAY,IAAI,SAAS,eAAe,EAAE,CAE7C;IAED,IAAI,YAAY,IAAI,SAAS,eAAe,EAAE,CAE7C;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF"}
|
package/dist/result.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { STATUS_PASS, STATUS_SOFT_FAIL, STATUS_HARD_FAIL, } from "./proto/constants.js";
|
|
2
|
+
export class AgentResult {
|
|
3
|
+
trace;
|
|
4
|
+
assertionResults;
|
|
5
|
+
totalCost;
|
|
6
|
+
totalDurationMs;
|
|
7
|
+
constructor(trace, assertionResults = [], totalCost = 0.0, totalDurationMs = 0) {
|
|
8
|
+
this.trace = trace;
|
|
9
|
+
this.assertionResults = assertionResults;
|
|
10
|
+
this.totalCost = totalCost;
|
|
11
|
+
this.totalDurationMs = totalDurationMs;
|
|
12
|
+
}
|
|
13
|
+
get passed() {
|
|
14
|
+
return this.assertionResults.every((r) => r.status === STATUS_PASS);
|
|
15
|
+
}
|
|
16
|
+
get failedAssertions() {
|
|
17
|
+
return this.assertionResults.filter((r) => r.status !== STATUS_PASS);
|
|
18
|
+
}
|
|
19
|
+
get hardFailures() {
|
|
20
|
+
return this.assertionResults.filter((r) => r.status === STATUS_HARD_FAIL);
|
|
21
|
+
}
|
|
22
|
+
get softFailures() {
|
|
23
|
+
return this.assertionResults.filter((r) => r.status === STATUS_SOFT_FAIL);
|
|
24
|
+
}
|
|
25
|
+
get passCount() {
|
|
26
|
+
return this.assertionResults.filter((r) => r.status === STATUS_PASS).length;
|
|
27
|
+
}
|
|
28
|
+
get failCount() {
|
|
29
|
+
return this.assertionResults.length - this.passCount;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,WAAW;IACb,KAAK,CAAQ;IACb,gBAAgB,CAA6B;IAC7C,SAAS,CAAS;IAClB,eAAe,CAAS;IAEjC,YACE,KAAY,EACZ,mBAA+C,EAAE,EACjD,SAAS,GAAG,GAAG,EACf,eAAe,GAAG,CAAC;QAEnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAC9E,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;IACvD,CAAC;CACF"}
|
package/dist/tier.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tier.d.ts","sourceRoot":"","sources":["../src/tier.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,EAAG,CAAU,CAAC;AACjC,eAAO,MAAM,MAAM,EAAG,CAAU,CAAC;AACjC,eAAO,MAAM,MAAM,EAAG,CAAU,CAAC;AAEjC,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAKzF"}
|
package/dist/tier.js
ADDED
package/dist/tier.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tier.js","sourceRoot":"","sources":["../src/tier.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,CAAC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,CAAC;AACjC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAU,CAAC;AAEjC,MAAM,UAAU,IAAI,CAAC,KAAa;IAChC,OAAO,CAA0C,EAAK,EAAK,EAAE;QAC1D,EAA8B,CAAC,YAAY,GAAG,KAAK,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Step, Trace } from "./proto/types.js";
|
|
2
|
+
export declare class TraceTree {
|
|
3
|
+
readonly root: Trace;
|
|
4
|
+
constructor(root: Trace);
|
|
5
|
+
get agents(): string[];
|
|
6
|
+
private collectAgents;
|
|
7
|
+
findAgent(agentId: string): Trace | undefined;
|
|
8
|
+
private findAgentIn;
|
|
9
|
+
get depth(): number;
|
|
10
|
+
private computeDepth;
|
|
11
|
+
flatten(): Trace[];
|
|
12
|
+
private flattenInto;
|
|
13
|
+
get delegations(): [string, string][];
|
|
14
|
+
private collectDelegations;
|
|
15
|
+
allToolCalls(): Step[];
|
|
16
|
+
get aggregateTokens(): number;
|
|
17
|
+
get aggregateCost(): number;
|
|
18
|
+
get aggregateLatency(): number;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=trace-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-tree.d.ts","sourceRoot":"","sources":["../src/trace-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAAa,SAAS;IACpB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;gBAET,IAAI,EAAE,KAAK;IAIvB,IAAI,MAAM,IAAI,MAAM,EAAE,CAIrB;IAED,OAAO,CAAC,aAAa;IAWrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAI7C,OAAO,CAAC,WAAW;IAWnB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,OAAO,CAAC,YAAY;IAWpB,OAAO,IAAI,KAAK,EAAE;IAMlB,OAAO,CAAC,WAAW;IASnB,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAIpC;IAED,OAAO,CAAC,kBAAkB;IAW1B,YAAY,IAAI,IAAI,EAAE;IAMtB,IAAI,eAAe,IAAI,MAAM,CAK5B;IAED,IAAI,aAAa,IAAI,MAAM,CAK1B;IAED,IAAI,gBAAgB,IAAI,MAAM,CAK7B;CACF"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { STEP_AGENT_CALL, STEP_TOOL_CALL } from "./proto/constants.js";
|
|
2
|
+
export class TraceTree {
|
|
3
|
+
root;
|
|
4
|
+
constructor(root) {
|
|
5
|
+
this.root = root;
|
|
6
|
+
}
|
|
7
|
+
get agents() {
|
|
8
|
+
const result = [];
|
|
9
|
+
this.collectAgents(this.root, result);
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
collectAgents(trace, acc) {
|
|
13
|
+
if (trace.agent_id != null) {
|
|
14
|
+
acc.push(trace.agent_id);
|
|
15
|
+
}
|
|
16
|
+
for (const step of trace.steps) {
|
|
17
|
+
if (step.type === STEP_AGENT_CALL && step.sub_trace != null) {
|
|
18
|
+
this.collectAgents(step.sub_trace, acc);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
findAgent(agentId) {
|
|
23
|
+
return this.findAgentIn(this.root, agentId);
|
|
24
|
+
}
|
|
25
|
+
findAgentIn(trace, agentId) {
|
|
26
|
+
if (trace.agent_id === agentId)
|
|
27
|
+
return trace;
|
|
28
|
+
for (const step of trace.steps) {
|
|
29
|
+
if (step.type === STEP_AGENT_CALL && step.sub_trace != null) {
|
|
30
|
+
const found = this.findAgentIn(step.sub_trace, agentId);
|
|
31
|
+
if (found !== undefined)
|
|
32
|
+
return found;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
get depth() {
|
|
38
|
+
return this.computeDepth(this.root);
|
|
39
|
+
}
|
|
40
|
+
computeDepth(trace) {
|
|
41
|
+
let maxChild = -1;
|
|
42
|
+
for (const step of trace.steps) {
|
|
43
|
+
if (step.type === STEP_AGENT_CALL && step.sub_trace != null) {
|
|
44
|
+
const childDepth = this.computeDepth(step.sub_trace);
|
|
45
|
+
if (childDepth > maxChild)
|
|
46
|
+
maxChild = childDepth;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return maxChild >= 0 ? maxChild + 1 : 0;
|
|
50
|
+
}
|
|
51
|
+
flatten() {
|
|
52
|
+
const result = [];
|
|
53
|
+
this.flattenInto(this.root, result);
|
|
54
|
+
return result;
|
|
55
|
+
}
|
|
56
|
+
flattenInto(trace, acc) {
|
|
57
|
+
acc.push(trace);
|
|
58
|
+
for (const step of trace.steps) {
|
|
59
|
+
if (step.type === STEP_AGENT_CALL && step.sub_trace != null) {
|
|
60
|
+
this.flattenInto(step.sub_trace, acc);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
get delegations() {
|
|
65
|
+
const result = [];
|
|
66
|
+
this.collectDelegations(this.root, result);
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
collectDelegations(trace, acc) {
|
|
70
|
+
const parentId = trace.agent_id ?? "";
|
|
71
|
+
for (const step of trace.steps) {
|
|
72
|
+
if (step.type === STEP_AGENT_CALL && step.sub_trace != null) {
|
|
73
|
+
const childId = step.sub_trace.agent_id ?? "";
|
|
74
|
+
acc.push([parentId, childId]);
|
|
75
|
+
this.collectDelegations(step.sub_trace, acc);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
allToolCalls() {
|
|
80
|
+
return this.flatten().flatMap((t) => t.steps.filter((step) => step.type === STEP_TOOL_CALL));
|
|
81
|
+
}
|
|
82
|
+
get aggregateTokens() {
|
|
83
|
+
return this.flatten().reduce((sum, t) => sum + (t.metadata?.total_tokens ?? 0), 0);
|
|
84
|
+
}
|
|
85
|
+
get aggregateCost() {
|
|
86
|
+
return this.flatten().reduce((sum, t) => sum + (t.metadata?.cost_usd ?? 0), 0);
|
|
87
|
+
}
|
|
88
|
+
get aggregateLatency() {
|
|
89
|
+
return this.flatten().reduce((sum, t) => sum + (t.metadata?.latency_ms ?? 0), 0);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=trace-tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-tree.js","sourceRoot":"","sources":["../src/trace-tree.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,OAAO,SAAS;IACX,IAAI,CAAQ;IAErB,YAAY,IAAW;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACR,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,aAAa,CAAC,KAAY,EAAE,GAAa;QAC/C,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEO,WAAW,CAAC,KAAY,EAAE,OAAe;QAC/C,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;YACxC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,UAAU,GAAG,QAAQ;oBAAE,QAAQ,GAAG,UAAU,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,MAAM,MAAM,GAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,KAAY,EAAE,GAAY;QAC5C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAY,EAAE,GAAuB;QAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC9C,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,IAAI,CAAC,CAAC,EACjD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC,EAC7C,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,EAC/C,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
|
package/dist/trace.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Step, Trace } from "./proto/types.js";
|
|
2
|
+
export declare class TraceBuilder {
|
|
3
|
+
private traceId;
|
|
4
|
+
private agentId;
|
|
5
|
+
private input;
|
|
6
|
+
private readonly steps;
|
|
7
|
+
private output;
|
|
8
|
+
private metadata;
|
|
9
|
+
private parentTraceId;
|
|
10
|
+
constructor(agentId?: string);
|
|
11
|
+
setTraceId(traceId: string): this;
|
|
12
|
+
setInput(input: Record<string, unknown>): this;
|
|
13
|
+
addLlmCall(name: string, options?: {
|
|
14
|
+
args?: Record<string, unknown>;
|
|
15
|
+
result?: Record<string, unknown>;
|
|
16
|
+
metadata?: Record<string, unknown>;
|
|
17
|
+
}): this;
|
|
18
|
+
addToolCall(name: string, options?: {
|
|
19
|
+
args?: Record<string, unknown>;
|
|
20
|
+
result?: Record<string, unknown>;
|
|
21
|
+
metadata?: Record<string, unknown>;
|
|
22
|
+
}): this;
|
|
23
|
+
addRetrieval(name: string, options?: {
|
|
24
|
+
args?: Record<string, unknown>;
|
|
25
|
+
result?: Record<string, unknown>;
|
|
26
|
+
metadata?: Record<string, unknown>;
|
|
27
|
+
}): this;
|
|
28
|
+
addStep(step: Step): this;
|
|
29
|
+
setOutput(output: Record<string, unknown>): this;
|
|
30
|
+
setMetadata(metadata: {
|
|
31
|
+
total_tokens?: number;
|
|
32
|
+
cost_usd?: number;
|
|
33
|
+
latency_ms?: number;
|
|
34
|
+
model?: string;
|
|
35
|
+
timestamp?: string;
|
|
36
|
+
}): this;
|
|
37
|
+
setParentTraceId(parentId: string): this;
|
|
38
|
+
build(): Trace;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAC;AAOnE,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,aAAa,CAAqB;gBAE9B,OAAO,CAAC,EAAE,MAAM;IAK5B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK9C,UAAU,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,IAAI;IAWP,WAAW,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,IAAI;IAWP,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GACA,IAAI;IAWP,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAKzB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhD,WAAW,CAAC,QAAQ,EAAE;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IAKR,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKxC,KAAK,IAAI,KAAK;CAef"}
|
package/dist/trace.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { STEP_LLM_CALL, STEP_TOOL_CALL, STEP_RETRIEVAL, } from "./proto/constants.js";
|
|
3
|
+
export class TraceBuilder {
|
|
4
|
+
traceId;
|
|
5
|
+
agentId;
|
|
6
|
+
input;
|
|
7
|
+
steps = [];
|
|
8
|
+
output;
|
|
9
|
+
metadata;
|
|
10
|
+
parentTraceId;
|
|
11
|
+
constructor(agentId) {
|
|
12
|
+
this.traceId = `trc_${randomUUID().replace(/-/g, "").slice(0, 12)}`;
|
|
13
|
+
this.agentId = agentId;
|
|
14
|
+
}
|
|
15
|
+
setTraceId(traceId) {
|
|
16
|
+
this.traceId = traceId;
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
setInput(input) {
|
|
20
|
+
this.input = input;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
addLlmCall(name, options) {
|
|
24
|
+
this.steps.push({
|
|
25
|
+
type: STEP_LLM_CALL,
|
|
26
|
+
name,
|
|
27
|
+
args: options?.args,
|
|
28
|
+
result: options?.result,
|
|
29
|
+
metadata: options?.metadata,
|
|
30
|
+
});
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
addToolCall(name, options) {
|
|
34
|
+
this.steps.push({
|
|
35
|
+
type: STEP_TOOL_CALL,
|
|
36
|
+
name,
|
|
37
|
+
args: options?.args,
|
|
38
|
+
result: options?.result,
|
|
39
|
+
metadata: options?.metadata,
|
|
40
|
+
});
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
addRetrieval(name, options) {
|
|
44
|
+
this.steps.push({
|
|
45
|
+
type: STEP_RETRIEVAL,
|
|
46
|
+
name,
|
|
47
|
+
args: options?.args,
|
|
48
|
+
result: options?.result,
|
|
49
|
+
metadata: options?.metadata,
|
|
50
|
+
});
|
|
51
|
+
return this;
|
|
52
|
+
}
|
|
53
|
+
addStep(step) {
|
|
54
|
+
this.steps.push(step);
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
setOutput(output) {
|
|
58
|
+
this.output = output;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
setMetadata(metadata) {
|
|
62
|
+
this.metadata = metadata;
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
setParentTraceId(parentId) {
|
|
66
|
+
this.parentTraceId = parentId;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
build() {
|
|
70
|
+
if (this.output === undefined) {
|
|
71
|
+
throw new Error("Trace output is required. Call setOutput() before build().");
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
trace_id: this.traceId,
|
|
75
|
+
output: this.output,
|
|
76
|
+
schema_version: 1,
|
|
77
|
+
agent_id: this.agentId,
|
|
78
|
+
input: this.input,
|
|
79
|
+
steps: [...this.steps],
|
|
80
|
+
metadata: this.metadata,
|
|
81
|
+
parent_trace_id: this.parentTraceId,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=trace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../src/trace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@attest-ai/core",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Attest SDK for testing AI agents — protocol types, codec, trace builder, assertion DSL",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./proto": {
|
|
14
|
+
"import": "./dist/proto/index.js",
|
|
15
|
+
"types": "./dist/proto/index.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"engines": {
|
|
22
|
+
"node": ">=18"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"repository": {
|
|
28
|
+
"type": "git",
|
|
29
|
+
"url": "https://github.com/attest-frameowrk/attest.git",
|
|
30
|
+
"directory": "sdks/typescript/packages/core"
|
|
31
|
+
},
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"keywords": [
|
|
34
|
+
"ai",
|
|
35
|
+
"testing",
|
|
36
|
+
"agent",
|
|
37
|
+
"llm",
|
|
38
|
+
"assertions",
|
|
39
|
+
"attest"
|
|
40
|
+
],
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@types/node": "^25.3.0",
|
|
43
|
+
"typescript": "^5.7.0",
|
|
44
|
+
"vitest": "^3.0.0"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc",
|
|
48
|
+
"test": "vitest run"
|
|
49
|
+
}
|
|
50
|
+
}
|