@contractspec/lib.ai-agent 1.57.0 → 1.59.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/agent/agent-factory.d.ts +67 -71
- package/dist/agent/agent-factory.d.ts.map +1 -1
- package/dist/agent/agent-factory.js +658 -100
- package/dist/agent/agent.test.d.ts +2 -0
- package/dist/agent/agent.test.d.ts.map +1 -0
- package/dist/agent/contract-spec-agent.d.ts +48 -52
- package/dist/agent/contract-spec-agent.d.ts.map +1 -1
- package/dist/agent/contract-spec-agent.js +605 -146
- package/dist/agent/index.d.ts +4 -4
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2102 -4
- package/dist/agent/json-runner.d.ts +15 -19
- package/dist/agent/json-runner.d.ts.map +1 -1
- package/dist/agent/json-runner.js +672 -57
- package/dist/agent/json-runner.test.d.ts +2 -0
- package/dist/agent/json-runner.test.d.ts.map +1 -0
- package/dist/agent/unified-agent.d.ts +132 -109
- package/dist/agent/unified-agent.d.ts.map +1 -1
- package/dist/agent/unified-agent.js +2011 -293
- package/dist/approval/index.d.ts +3 -2
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +128 -2
- package/dist/approval/workflow.d.ts +106 -110
- package/dist/approval/workflow.d.ts.map +1 -1
- package/dist/approval/workflow.js +126 -157
- package/dist/exporters/claude-agent-exporter.d.ts +50 -48
- package/dist/exporters/claude-agent-exporter.d.ts.map +1 -1
- package/dist/exporters/claude-agent-exporter.js +258 -203
- package/dist/exporters/index.d.ts +28 -4
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +737 -3
- package/dist/exporters/opencode-exporter.d.ts +47 -45
- package/dist/exporters/opencode-exporter.d.ts.map +1 -1
- package/dist/exporters/opencode-exporter.js +507 -191
- package/dist/exporters/types.d.ts +171 -169
- package/dist/exporters/types.d.ts.map +1 -1
- package/dist/exporters/types.js +1 -0
- package/dist/index.d.ts +15 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3337 -32
- package/dist/interop/index.d.ts +48 -4
- package/dist/interop/index.d.ts.map +1 -0
- package/dist/interop/index.js +709 -3
- package/dist/interop/spec-consumer.d.ts +57 -53
- package/dist/interop/spec-consumer.d.ts.map +1 -1
- package/dist/interop/spec-consumer.js +302 -282
- package/dist/interop/tool-consumer.d.ts +57 -53
- package/dist/interop/tool-consumer.d.ts.map +1 -1
- package/dist/interop/tool-consumer.js +412 -213
- package/dist/interop/types.d.ts +173 -171
- package/dist/interop/types.d.ts.map +1 -1
- package/dist/interop/types.js +1 -0
- package/dist/knowledge/index.d.ts +2 -2
- package/dist/knowledge/index.d.ts.map +1 -0
- package/dist/knowledge/index.js +66 -2
- package/dist/knowledge/injector.d.ts +16 -20
- package/dist/knowledge/injector.d.ts.map +1 -1
- package/dist/knowledge/injector.js +56 -47
- package/dist/memory/in-memory.d.ts +15 -19
- package/dist/memory/in-memory.d.ts.map +1 -1
- package/dist/memory/in-memory.js +152 -46
- package/dist/memory/index.d.ts +3 -3
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +155 -3
- package/dist/memory/manager.d.ts +32 -36
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +96 -70
- package/dist/memory/memory.test.d.ts +2 -0
- package/dist/memory/memory.test.d.ts.map +1 -0
- package/dist/node/agent/agent-factory.js +661 -0
- package/dist/node/agent/contract-spec-agent.js +607 -0
- package/dist/node/agent/index.js +2103 -0
- package/dist/node/agent/json-runner.js +684 -0
- package/dist/node/agent/unified-agent.js +2019 -0
- package/dist/node/approval/index.js +129 -0
- package/dist/node/approval/workflow.js +129 -0
- package/dist/node/exporters/claude-agent-exporter.js +265 -0
- package/dist/node/exporters/index.js +738 -0
- package/dist/node/exporters/opencode-exporter.js +516 -0
- package/dist/node/exporters/types.js +0 -0
- package/dist/node/index.js +3337 -0
- package/dist/node/interop/index.js +710 -0
- package/dist/node/interop/spec-consumer.js +307 -0
- package/dist/node/interop/tool-consumer.js +419 -0
- package/dist/node/interop/types.js +0 -0
- package/dist/node/knowledge/index.js +67 -0
- package/dist/node/knowledge/injector.js +67 -0
- package/dist/node/memory/in-memory.js +154 -0
- package/dist/node/memory/index.js +156 -0
- package/dist/node/memory/manager.js +105 -0
- package/dist/node/providers/claude-agent-sdk/adapter.js +624 -0
- package/dist/node/providers/claude-agent-sdk/index.js +673 -0
- package/dist/node/providers/claude-agent-sdk/session-bridge.js +149 -0
- package/dist/node/providers/claude-agent-sdk/tool-bridge.js +118 -0
- package/dist/node/providers/index.js +1261 -0
- package/dist/node/providers/opencode-sdk/adapter.js +669 -0
- package/dist/node/providers/opencode-sdk/agent-bridge.js +299 -0
- package/dist/node/providers/opencode-sdk/index.js +703 -0
- package/dist/node/providers/opencode-sdk/tool-bridge.js +141 -0
- package/dist/node/providers/registry.js +89 -0
- package/dist/node/providers/types.js +56 -0
- package/dist/node/schema/index.js +195 -0
- package/dist/node/schema/json-schema-to-zod.js +152 -0
- package/dist/node/schema/schema-output.js +190 -0
- package/dist/node/session/index.js +90 -0
- package/dist/node/session/store.js +90 -0
- package/dist/node/spec/index.js +85 -0
- package/dist/node/spec/registry.js +56 -0
- package/dist/node/spec/spec.js +44 -0
- package/dist/node/telemetry/adapter.js +85 -0
- package/dist/node/telemetry/index.js +86 -0
- package/dist/node/tools/index.js +345 -0
- package/dist/node/tools/knowledge-tool.js +74 -0
- package/dist/node/tools/mcp-client.js +47 -0
- package/dist/node/tools/mcp-server.js +205 -0
- package/dist/node/tools/tool-adapter.js +197 -0
- package/dist/node/types.js +0 -0
- package/dist/providers/claude-agent-sdk/adapter.d.ts +60 -52
- package/dist/providers/claude-agent-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/adapter.js +622 -304
- package/dist/providers/claude-agent-sdk/index.d.ts +22 -4
- package/dist/providers/claude-agent-sdk/index.d.ts.map +1 -0
- package/dist/providers/claude-agent-sdk/index.js +672 -4
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts +43 -40
- package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js +121 -130
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +63 -60
- package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js +104 -108
- package/dist/providers/index.d.ts +28 -7
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +1261 -8
- package/dist/providers/opencode-sdk/adapter.d.ts +56 -48
- package/dist/providers/opencode-sdk/adapter.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/adapter.js +667 -274
- package/dist/providers/opencode-sdk/agent-bridge.d.ts +62 -57
- package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/agent-bridge.js +289 -155
- package/dist/providers/opencode-sdk/index.d.ts +22 -4
- package/dist/providers/opencode-sdk/index.d.ts.map +1 -0
- package/dist/providers/opencode-sdk/index.js +702 -4
- package/dist/providers/opencode-sdk/tool-bridge.d.ts +41 -42
- package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +1 -1
- package/dist/providers/opencode-sdk/tool-bridge.js +121 -107
- package/dist/providers/registry.d.ts +10 -11
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +86 -49
- package/dist/providers/types.d.ts +169 -166
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +54 -42
- package/dist/schema/index.d.ts +3 -3
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +194 -3
- package/dist/schema/json-schema-to-zod.d.ts +23 -26
- package/dist/schema/json-schema-to-zod.d.ts.map +1 -1
- package/dist/schema/json-schema-to-zod.js +138 -110
- package/dist/schema/schema-output.d.ts +29 -32
- package/dist/schema/schema-output.d.ts.map +1 -1
- package/dist/schema/schema-output.js +178 -53
- package/dist/session/index.d.ts +2 -2
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +89 -2
- package/dist/session/store.d.ts +51 -55
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +85 -74
- package/dist/spec/index.d.ts +3 -3
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +84 -3
- package/dist/spec/registry.d.ts +32 -36
- package/dist/spec/registry.d.ts.map +1 -1
- package/dist/spec/registry.js +51 -60
- package/dist/spec/spec.d.ts +80 -84
- package/dist/spec/spec.d.ts.map +1 -1
- package/dist/spec/spec.js +40 -26
- package/dist/telemetry/adapter.d.ts +33 -37
- package/dist/telemetry/adapter.d.ts.map +1 -1
- package/dist/telemetry/adapter.js +78 -96
- package/dist/telemetry/index.d.ts +2 -2
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +85 -2
- package/dist/tools/index.d.ts +5 -5
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +344 -5
- package/dist/tools/knowledge-tool.d.ts +4 -8
- package/dist/tools/knowledge-tool.d.ts.map +1 -1
- package/dist/tools/knowledge-tool.js +68 -48
- package/dist/tools/mcp-client.d.ts +17 -21
- package/dist/tools/mcp-client.d.ts.map +1 -1
- package/dist/tools/mcp-client.js +42 -53
- package/dist/tools/mcp-server.d.ts +14 -18
- package/dist/tools/mcp-server.d.ts.map +1 -1
- package/dist/tools/mcp-server.js +200 -64
- package/dist/tools/tool-adapter.d.ts +7 -11
- package/dist/tools/tool-adapter.d.ts.map +1 -1
- package/dist/tools/tool-adapter.js +187 -70
- package/dist/tools/tools.test.d.ts +2 -0
- package/dist/tools/tools.test.d.ts.map +1 -0
- package/dist/types.d.ts +108 -111
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/package.json +448 -90
- package/dist/_virtual/_rolldown/runtime.js +0 -8
- package/dist/agent/agent-factory.js.map +0 -1
- package/dist/agent/contract-spec-agent.js.map +0 -1
- package/dist/agent/json-runner.js.map +0 -1
- package/dist/agent/unified-agent.js.map +0 -1
- package/dist/approval/workflow.js.map +0 -1
- package/dist/exporters/claude-agent-exporter.js.map +0 -1
- package/dist/exporters/opencode-exporter.js.map +0 -1
- package/dist/interop/spec-consumer.js.map +0 -1
- package/dist/interop/tool-consumer.js.map +0 -1
- package/dist/knowledge/injector.js.map +0 -1
- package/dist/memory/in-memory.js.map +0 -1
- package/dist/memory/manager.js.map +0 -1
- package/dist/providers/claude-agent-sdk/adapter.js.map +0 -1
- package/dist/providers/claude-agent-sdk/session-bridge.js.map +0 -1
- package/dist/providers/claude-agent-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/adapter.js.map +0 -1
- package/dist/providers/opencode-sdk/agent-bridge.js.map +0 -1
- package/dist/providers/opencode-sdk/tool-bridge.js.map +0 -1
- package/dist/providers/registry.js.map +0 -1
- package/dist/providers/types.js.map +0 -1
- package/dist/schema/json-schema-to-zod.js.map +0 -1
- package/dist/schema/schema-output.js.map +0 -1
- package/dist/session/store.js.map +0 -1
- package/dist/spec/registry.js.map +0 -1
- package/dist/spec/spec.js.map +0 -1
- package/dist/telemetry/adapter.js.map +0 -1
- package/dist/tools/knowledge-tool.js.map +0 -1
- package/dist/tools/mcp-client.js.map +0 -1
- package/dist/tools/mcp-server.js.map +0 -1
- package/dist/tools/tool-adapter.js.map +0 -1
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { StepResult, ToolSet } from
|
|
2
|
-
|
|
3
|
-
//#region src/telemetry/adapter.d.ts
|
|
1
|
+
import type { StepResult, ToolSet } from 'ai';
|
|
4
2
|
/**
|
|
5
3
|
* Metric sample compatible with @contractspec/lib.evolution OperationMetricSample.
|
|
6
4
|
*/
|
|
7
|
-
interface OperationMetricSample {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
export interface OperationMetricSample {
|
|
6
|
+
operation: {
|
|
7
|
+
name: string;
|
|
8
|
+
version: string;
|
|
9
|
+
};
|
|
10
|
+
durationMs: number;
|
|
11
|
+
success: boolean;
|
|
12
|
+
timestamp: Date;
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
18
16
|
* Interface for collecting telemetry metrics.
|
|
@@ -22,11 +20,11 @@ interface OperationMetricSample {
|
|
|
22
20
|
* - PostHog for analytics
|
|
23
21
|
* - Custom monitoring systems
|
|
24
22
|
*/
|
|
25
|
-
interface TelemetryCollector {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
export interface TelemetryCollector {
|
|
24
|
+
/**
|
|
25
|
+
* Collect a metric sample.
|
|
26
|
+
*/
|
|
27
|
+
collect(sample: OperationMetricSample): Promise<void>;
|
|
30
28
|
}
|
|
31
29
|
/**
|
|
32
30
|
* Track an agent step for telemetry.
|
|
@@ -39,34 +37,32 @@ interface TelemetryCollector {
|
|
|
39
37
|
* @param step - AI SDK step result
|
|
40
38
|
* @param durationMs - Optional step duration in milliseconds
|
|
41
39
|
*/
|
|
42
|
-
declare function trackAgentStep(collector: TelemetryCollector, agentId: string, step: StepResult<ToolSet>, durationMs?: number): Promise<void>;
|
|
40
|
+
export declare function trackAgentStep(collector: TelemetryCollector, agentId: string, step: StepResult<ToolSet>, durationMs?: number): Promise<void>;
|
|
43
41
|
/**
|
|
44
42
|
* In-memory telemetry collector for testing.
|
|
45
43
|
*/
|
|
46
|
-
declare class InMemoryTelemetryCollector implements TelemetryCollector {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
44
|
+
export declare class InMemoryTelemetryCollector implements TelemetryCollector {
|
|
45
|
+
private readonly samples;
|
|
46
|
+
collect(sample: OperationMetricSample): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Get all collected samples.
|
|
49
|
+
*/
|
|
50
|
+
getSamples(): OperationMetricSample[];
|
|
51
|
+
/**
|
|
52
|
+
* Get samples for a specific operation.
|
|
53
|
+
*/
|
|
54
|
+
getSamplesForOperation(operationName: string): OperationMetricSample[];
|
|
55
|
+
/**
|
|
56
|
+
* Clear all samples.
|
|
57
|
+
*/
|
|
58
|
+
clear(): void;
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
63
61
|
* Create an in-memory telemetry collector.
|
|
64
62
|
*/
|
|
65
|
-
declare function createInMemoryTelemetryCollector(): InMemoryTelemetryCollector;
|
|
63
|
+
export declare function createInMemoryTelemetryCollector(): InMemoryTelemetryCollector;
|
|
66
64
|
/**
|
|
67
65
|
* No-op telemetry collector that discards all metrics.
|
|
68
66
|
*/
|
|
69
|
-
declare const noopTelemetryCollector: TelemetryCollector;
|
|
70
|
-
//#endregion
|
|
71
|
-
export { InMemoryTelemetryCollector, OperationMetricSample, TelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep };
|
|
67
|
+
export declare const noopTelemetryCollector: TelemetryCollector;
|
|
72
68
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/telemetry/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAcD;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;GAEG;AACH,qBAAa,0BAA2B,YAAW,kBAAkB;IACnE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEjD,OAAO,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D;;OAEG;IACH,UAAU,IAAI,qBAAqB,EAAE;IAIrC;;OAEG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,qBAAqB,EAAE;IAItE;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAED;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,0BAA0B,CAE7E;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAIpC,CAAC"}
|
|
@@ -1,103 +1,85 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
14
|
+
|
|
15
|
+
// src/telemetry/adapter.ts
|
|
5
16
|
function parseAgentId(agentId) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return {
|
|
12
|
-
name: agentId,
|
|
13
|
-
version: "1.0.0"
|
|
14
|
-
};
|
|
17
|
+
const match = agentId.match(/^(.+)\.v(\s+)$/);
|
|
18
|
+
if (match) {
|
|
19
|
+
return { name: match[1], version: match[2] };
|
|
20
|
+
}
|
|
21
|
+
return { name: agentId, version: "1.0.0" };
|
|
15
22
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Track an agent step for telemetry.
|
|
18
|
-
*
|
|
19
|
-
* Called from ContractSpecAgent.onStepFinish to feed metrics
|
|
20
|
-
* to the evolution engine.
|
|
21
|
-
*
|
|
22
|
-
* @param collector - Telemetry collector
|
|
23
|
-
* @param agentId - Agent identifier (e.g., "support.bot.v1")
|
|
24
|
-
* @param step - AI SDK step result
|
|
25
|
-
* @param durationMs - Optional step duration in milliseconds
|
|
26
|
-
*/
|
|
27
23
|
async function trackAgentStep(collector, agentId, step, durationMs) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
24
|
+
const { name, version } = parseAgentId(agentId);
|
|
25
|
+
for (const toolCall of step.toolCalls ?? []) {
|
|
26
|
+
const toolSample = {
|
|
27
|
+
operation: { name: `${name}.${toolCall.toolName}`, version },
|
|
28
|
+
durationMs: durationMs ?? 0,
|
|
29
|
+
success: step.toolResults?.some((r) => r.toolCallId === toolCall.toolCallId && r.output !== undefined) ?? false,
|
|
30
|
+
timestamp: new Date,
|
|
31
|
+
metadata: {
|
|
32
|
+
agentId,
|
|
33
|
+
toolName: toolCall.toolName,
|
|
34
|
+
finishReason: step.finishReason
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
await collector.collect(toolSample);
|
|
38
|
+
}
|
|
39
|
+
const stepSample = {
|
|
40
|
+
operation: { name, version },
|
|
41
|
+
durationMs: durationMs ?? 0,
|
|
42
|
+
success: step.finishReason !== "error",
|
|
43
|
+
timestamp: new Date,
|
|
44
|
+
metadata: {
|
|
45
|
+
agentId,
|
|
46
|
+
finishReason: step.finishReason,
|
|
47
|
+
tokenUsage: step.usage,
|
|
48
|
+
toolCallCount: step.toolCalls?.length ?? 0
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
await collector.collect(stepSample);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class InMemoryTelemetryCollector {
|
|
55
|
+
samples = [];
|
|
56
|
+
async collect(sample) {
|
|
57
|
+
this.samples.push(sample);
|
|
58
|
+
}
|
|
59
|
+
getSamples() {
|
|
60
|
+
return [...this.samples];
|
|
61
|
+
}
|
|
62
|
+
getSamplesForOperation(operationName) {
|
|
63
|
+
return this.samples.filter((s) => s.operation.name === operationName);
|
|
64
|
+
}
|
|
65
|
+
clear() {
|
|
66
|
+
this.samples.length = 0;
|
|
67
|
+
}
|
|
62
68
|
}
|
|
63
|
-
/**
|
|
64
|
-
* In-memory telemetry collector for testing.
|
|
65
|
-
*/
|
|
66
|
-
var InMemoryTelemetryCollector = class {
|
|
67
|
-
samples = [];
|
|
68
|
-
async collect(sample) {
|
|
69
|
-
this.samples.push(sample);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Get all collected samples.
|
|
73
|
-
*/
|
|
74
|
-
getSamples() {
|
|
75
|
-
return [...this.samples];
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get samples for a specific operation.
|
|
79
|
-
*/
|
|
80
|
-
getSamplesForOperation(operationName) {
|
|
81
|
-
return this.samples.filter((s) => s.operation.name === operationName);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Clear all samples.
|
|
85
|
-
*/
|
|
86
|
-
clear() {
|
|
87
|
-
this.samples.length = 0;
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Create an in-memory telemetry collector.
|
|
92
|
-
*/
|
|
93
69
|
function createInMemoryTelemetryCollector() {
|
|
94
|
-
|
|
70
|
+
return new InMemoryTelemetryCollector;
|
|
95
71
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
72
|
+
var noopTelemetryCollector;
|
|
73
|
+
var init_adapter = __esm(() => {
|
|
74
|
+
noopTelemetryCollector = {
|
|
75
|
+
collect: async () => {}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
init_adapter();
|
|
100
79
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
80
|
+
export {
|
|
81
|
+
trackAgentStep,
|
|
82
|
+
noopTelemetryCollector,
|
|
83
|
+
createInMemoryTelemetryCollector,
|
|
84
|
+
InMemoryTelemetryCollector
|
|
85
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export * from './adapter';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
package/dist/telemetry/index.js
CHANGED
|
@@ -1,3 +1,86 @@
|
|
|
1
|
-
|
|
1
|
+
// @bun
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __export = (target, all) => {
|
|
4
|
+
for (var name in all)
|
|
5
|
+
__defProp(target, name, {
|
|
6
|
+
get: all[name],
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
set: (newValue) => all[name] = () => newValue
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
13
|
+
var __require = import.meta.require;
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
// src/telemetry/adapter.ts
|
|
16
|
+
function parseAgentId(agentId) {
|
|
17
|
+
const match = agentId.match(/^(.+)\.v(\s+)$/);
|
|
18
|
+
if (match) {
|
|
19
|
+
return { name: match[1], version: match[2] };
|
|
20
|
+
}
|
|
21
|
+
return { name: agentId, version: "1.0.0" };
|
|
22
|
+
}
|
|
23
|
+
async function trackAgentStep(collector, agentId, step, durationMs) {
|
|
24
|
+
const { name, version } = parseAgentId(agentId);
|
|
25
|
+
for (const toolCall of step.toolCalls ?? []) {
|
|
26
|
+
const toolSample = {
|
|
27
|
+
operation: { name: `${name}.${toolCall.toolName}`, version },
|
|
28
|
+
durationMs: durationMs ?? 0,
|
|
29
|
+
success: step.toolResults?.some((r) => r.toolCallId === toolCall.toolCallId && r.output !== undefined) ?? false,
|
|
30
|
+
timestamp: new Date,
|
|
31
|
+
metadata: {
|
|
32
|
+
agentId,
|
|
33
|
+
toolName: toolCall.toolName,
|
|
34
|
+
finishReason: step.finishReason
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
await collector.collect(toolSample);
|
|
38
|
+
}
|
|
39
|
+
const stepSample = {
|
|
40
|
+
operation: { name, version },
|
|
41
|
+
durationMs: durationMs ?? 0,
|
|
42
|
+
success: step.finishReason !== "error",
|
|
43
|
+
timestamp: new Date,
|
|
44
|
+
metadata: {
|
|
45
|
+
agentId,
|
|
46
|
+
finishReason: step.finishReason,
|
|
47
|
+
tokenUsage: step.usage,
|
|
48
|
+
toolCallCount: step.toolCalls?.length ?? 0
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
await collector.collect(stepSample);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class InMemoryTelemetryCollector {
|
|
55
|
+
samples = [];
|
|
56
|
+
async collect(sample) {
|
|
57
|
+
this.samples.push(sample);
|
|
58
|
+
}
|
|
59
|
+
getSamples() {
|
|
60
|
+
return [...this.samples];
|
|
61
|
+
}
|
|
62
|
+
getSamplesForOperation(operationName) {
|
|
63
|
+
return this.samples.filter((s) => s.operation.name === operationName);
|
|
64
|
+
}
|
|
65
|
+
clear() {
|
|
66
|
+
this.samples.length = 0;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function createInMemoryTelemetryCollector() {
|
|
70
|
+
return new InMemoryTelemetryCollector;
|
|
71
|
+
}
|
|
72
|
+
var noopTelemetryCollector;
|
|
73
|
+
var init_adapter = __esm(() => {
|
|
74
|
+
noopTelemetryCollector = {
|
|
75
|
+
collect: async () => {}
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
// src/telemetry/index.ts
|
|
80
|
+
init_adapter();
|
|
81
|
+
export {
|
|
82
|
+
trackAgentStep,
|
|
83
|
+
noopTelemetryCollector,
|
|
84
|
+
createInMemoryTelemetryCollector,
|
|
85
|
+
InMemoryTelemetryCollector
|
|
86
|
+
};
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
export * from './tool-adapter';
|
|
2
|
+
export * from './knowledge-tool';
|
|
3
|
+
export * from './mcp-client';
|
|
4
|
+
export * from './mcp-server';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|