@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.
Files changed (232) hide show
  1. package/dist/agent/agent-factory.d.ts +67 -71
  2. package/dist/agent/agent-factory.d.ts.map +1 -1
  3. package/dist/agent/agent-factory.js +658 -100
  4. package/dist/agent/agent.test.d.ts +2 -0
  5. package/dist/agent/agent.test.d.ts.map +1 -0
  6. package/dist/agent/contract-spec-agent.d.ts +48 -52
  7. package/dist/agent/contract-spec-agent.d.ts.map +1 -1
  8. package/dist/agent/contract-spec-agent.js +605 -146
  9. package/dist/agent/index.d.ts +4 -4
  10. package/dist/agent/index.d.ts.map +1 -0
  11. package/dist/agent/index.js +2102 -4
  12. package/dist/agent/json-runner.d.ts +15 -19
  13. package/dist/agent/json-runner.d.ts.map +1 -1
  14. package/dist/agent/json-runner.js +672 -57
  15. package/dist/agent/json-runner.test.d.ts +2 -0
  16. package/dist/agent/json-runner.test.d.ts.map +1 -0
  17. package/dist/agent/unified-agent.d.ts +132 -109
  18. package/dist/agent/unified-agent.d.ts.map +1 -1
  19. package/dist/agent/unified-agent.js +2011 -293
  20. package/dist/approval/index.d.ts +3 -2
  21. package/dist/approval/index.d.ts.map +1 -0
  22. package/dist/approval/index.js +128 -2
  23. package/dist/approval/workflow.d.ts +106 -110
  24. package/dist/approval/workflow.d.ts.map +1 -1
  25. package/dist/approval/workflow.js +126 -157
  26. package/dist/exporters/claude-agent-exporter.d.ts +50 -48
  27. package/dist/exporters/claude-agent-exporter.d.ts.map +1 -1
  28. package/dist/exporters/claude-agent-exporter.js +258 -203
  29. package/dist/exporters/index.d.ts +28 -4
  30. package/dist/exporters/index.d.ts.map +1 -0
  31. package/dist/exporters/index.js +737 -3
  32. package/dist/exporters/opencode-exporter.d.ts +47 -45
  33. package/dist/exporters/opencode-exporter.d.ts.map +1 -1
  34. package/dist/exporters/opencode-exporter.js +507 -191
  35. package/dist/exporters/types.d.ts +171 -169
  36. package/dist/exporters/types.d.ts.map +1 -1
  37. package/dist/exporters/types.js +1 -0
  38. package/dist/index.d.ts +15 -39
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +3337 -32
  41. package/dist/interop/index.d.ts +48 -4
  42. package/dist/interop/index.d.ts.map +1 -0
  43. package/dist/interop/index.js +709 -3
  44. package/dist/interop/spec-consumer.d.ts +57 -53
  45. package/dist/interop/spec-consumer.d.ts.map +1 -1
  46. package/dist/interop/spec-consumer.js +302 -282
  47. package/dist/interop/tool-consumer.d.ts +57 -53
  48. package/dist/interop/tool-consumer.d.ts.map +1 -1
  49. package/dist/interop/tool-consumer.js +412 -213
  50. package/dist/interop/types.d.ts +173 -171
  51. package/dist/interop/types.d.ts.map +1 -1
  52. package/dist/interop/types.js +1 -0
  53. package/dist/knowledge/index.d.ts +2 -2
  54. package/dist/knowledge/index.d.ts.map +1 -0
  55. package/dist/knowledge/index.js +66 -2
  56. package/dist/knowledge/injector.d.ts +16 -20
  57. package/dist/knowledge/injector.d.ts.map +1 -1
  58. package/dist/knowledge/injector.js +56 -47
  59. package/dist/memory/in-memory.d.ts +15 -19
  60. package/dist/memory/in-memory.d.ts.map +1 -1
  61. package/dist/memory/in-memory.js +152 -46
  62. package/dist/memory/index.d.ts +3 -3
  63. package/dist/memory/index.d.ts.map +1 -0
  64. package/dist/memory/index.js +155 -3
  65. package/dist/memory/manager.d.ts +32 -36
  66. package/dist/memory/manager.d.ts.map +1 -1
  67. package/dist/memory/manager.js +96 -70
  68. package/dist/memory/memory.test.d.ts +2 -0
  69. package/dist/memory/memory.test.d.ts.map +1 -0
  70. package/dist/node/agent/agent-factory.js +661 -0
  71. package/dist/node/agent/contract-spec-agent.js +607 -0
  72. package/dist/node/agent/index.js +2103 -0
  73. package/dist/node/agent/json-runner.js +684 -0
  74. package/dist/node/agent/unified-agent.js +2019 -0
  75. package/dist/node/approval/index.js +129 -0
  76. package/dist/node/approval/workflow.js +129 -0
  77. package/dist/node/exporters/claude-agent-exporter.js +265 -0
  78. package/dist/node/exporters/index.js +738 -0
  79. package/dist/node/exporters/opencode-exporter.js +516 -0
  80. package/dist/node/exporters/types.js +0 -0
  81. package/dist/node/index.js +3337 -0
  82. package/dist/node/interop/index.js +710 -0
  83. package/dist/node/interop/spec-consumer.js +307 -0
  84. package/dist/node/interop/tool-consumer.js +419 -0
  85. package/dist/node/interop/types.js +0 -0
  86. package/dist/node/knowledge/index.js +67 -0
  87. package/dist/node/knowledge/injector.js +67 -0
  88. package/dist/node/memory/in-memory.js +154 -0
  89. package/dist/node/memory/index.js +156 -0
  90. package/dist/node/memory/manager.js +105 -0
  91. package/dist/node/providers/claude-agent-sdk/adapter.js +624 -0
  92. package/dist/node/providers/claude-agent-sdk/index.js +673 -0
  93. package/dist/node/providers/claude-agent-sdk/session-bridge.js +149 -0
  94. package/dist/node/providers/claude-agent-sdk/tool-bridge.js +118 -0
  95. package/dist/node/providers/index.js +1261 -0
  96. package/dist/node/providers/opencode-sdk/adapter.js +669 -0
  97. package/dist/node/providers/opencode-sdk/agent-bridge.js +299 -0
  98. package/dist/node/providers/opencode-sdk/index.js +703 -0
  99. package/dist/node/providers/opencode-sdk/tool-bridge.js +141 -0
  100. package/dist/node/providers/registry.js +89 -0
  101. package/dist/node/providers/types.js +56 -0
  102. package/dist/node/schema/index.js +195 -0
  103. package/dist/node/schema/json-schema-to-zod.js +152 -0
  104. package/dist/node/schema/schema-output.js +190 -0
  105. package/dist/node/session/index.js +90 -0
  106. package/dist/node/session/store.js +90 -0
  107. package/dist/node/spec/index.js +85 -0
  108. package/dist/node/spec/registry.js +56 -0
  109. package/dist/node/spec/spec.js +44 -0
  110. package/dist/node/telemetry/adapter.js +85 -0
  111. package/dist/node/telemetry/index.js +86 -0
  112. package/dist/node/tools/index.js +345 -0
  113. package/dist/node/tools/knowledge-tool.js +74 -0
  114. package/dist/node/tools/mcp-client.js +47 -0
  115. package/dist/node/tools/mcp-server.js +205 -0
  116. package/dist/node/tools/tool-adapter.js +197 -0
  117. package/dist/node/types.js +0 -0
  118. package/dist/providers/claude-agent-sdk/adapter.d.ts +60 -52
  119. package/dist/providers/claude-agent-sdk/adapter.d.ts.map +1 -1
  120. package/dist/providers/claude-agent-sdk/adapter.js +622 -304
  121. package/dist/providers/claude-agent-sdk/index.d.ts +22 -4
  122. package/dist/providers/claude-agent-sdk/index.d.ts.map +1 -0
  123. package/dist/providers/claude-agent-sdk/index.js +672 -4
  124. package/dist/providers/claude-agent-sdk/session-bridge.d.ts +43 -40
  125. package/dist/providers/claude-agent-sdk/session-bridge.d.ts.map +1 -1
  126. package/dist/providers/claude-agent-sdk/session-bridge.js +121 -130
  127. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts +63 -60
  128. package/dist/providers/claude-agent-sdk/tool-bridge.d.ts.map +1 -1
  129. package/dist/providers/claude-agent-sdk/tool-bridge.js +104 -108
  130. package/dist/providers/index.d.ts +28 -7
  131. package/dist/providers/index.d.ts.map +1 -0
  132. package/dist/providers/index.js +1261 -8
  133. package/dist/providers/opencode-sdk/adapter.d.ts +56 -48
  134. package/dist/providers/opencode-sdk/adapter.d.ts.map +1 -1
  135. package/dist/providers/opencode-sdk/adapter.js +667 -274
  136. package/dist/providers/opencode-sdk/agent-bridge.d.ts +62 -57
  137. package/dist/providers/opencode-sdk/agent-bridge.d.ts.map +1 -1
  138. package/dist/providers/opencode-sdk/agent-bridge.js +289 -155
  139. package/dist/providers/opencode-sdk/index.d.ts +22 -4
  140. package/dist/providers/opencode-sdk/index.d.ts.map +1 -0
  141. package/dist/providers/opencode-sdk/index.js +702 -4
  142. package/dist/providers/opencode-sdk/tool-bridge.d.ts +41 -42
  143. package/dist/providers/opencode-sdk/tool-bridge.d.ts.map +1 -1
  144. package/dist/providers/opencode-sdk/tool-bridge.js +121 -107
  145. package/dist/providers/registry.d.ts +10 -11
  146. package/dist/providers/registry.d.ts.map +1 -1
  147. package/dist/providers/registry.js +86 -49
  148. package/dist/providers/types.d.ts +169 -166
  149. package/dist/providers/types.d.ts.map +1 -1
  150. package/dist/providers/types.js +54 -42
  151. package/dist/schema/index.d.ts +3 -3
  152. package/dist/schema/index.d.ts.map +1 -0
  153. package/dist/schema/index.js +194 -3
  154. package/dist/schema/json-schema-to-zod.d.ts +23 -26
  155. package/dist/schema/json-schema-to-zod.d.ts.map +1 -1
  156. package/dist/schema/json-schema-to-zod.js +138 -110
  157. package/dist/schema/schema-output.d.ts +29 -32
  158. package/dist/schema/schema-output.d.ts.map +1 -1
  159. package/dist/schema/schema-output.js +178 -53
  160. package/dist/session/index.d.ts +2 -2
  161. package/dist/session/index.d.ts.map +1 -0
  162. package/dist/session/index.js +89 -2
  163. package/dist/session/store.d.ts +51 -55
  164. package/dist/session/store.d.ts.map +1 -1
  165. package/dist/session/store.js +85 -74
  166. package/dist/spec/index.d.ts +3 -3
  167. package/dist/spec/index.d.ts.map +1 -0
  168. package/dist/spec/index.js +84 -3
  169. package/dist/spec/registry.d.ts +32 -36
  170. package/dist/spec/registry.d.ts.map +1 -1
  171. package/dist/spec/registry.js +51 -60
  172. package/dist/spec/spec.d.ts +80 -84
  173. package/dist/spec/spec.d.ts.map +1 -1
  174. package/dist/spec/spec.js +40 -26
  175. package/dist/telemetry/adapter.d.ts +33 -37
  176. package/dist/telemetry/adapter.d.ts.map +1 -1
  177. package/dist/telemetry/adapter.js +78 -96
  178. package/dist/telemetry/index.d.ts +2 -2
  179. package/dist/telemetry/index.d.ts.map +1 -0
  180. package/dist/telemetry/index.js +85 -2
  181. package/dist/tools/index.d.ts +5 -5
  182. package/dist/tools/index.d.ts.map +1 -0
  183. package/dist/tools/index.js +344 -5
  184. package/dist/tools/knowledge-tool.d.ts +4 -8
  185. package/dist/tools/knowledge-tool.d.ts.map +1 -1
  186. package/dist/tools/knowledge-tool.js +68 -48
  187. package/dist/tools/mcp-client.d.ts +17 -21
  188. package/dist/tools/mcp-client.d.ts.map +1 -1
  189. package/dist/tools/mcp-client.js +42 -53
  190. package/dist/tools/mcp-server.d.ts +14 -18
  191. package/dist/tools/mcp-server.d.ts.map +1 -1
  192. package/dist/tools/mcp-server.js +200 -64
  193. package/dist/tools/tool-adapter.d.ts +7 -11
  194. package/dist/tools/tool-adapter.d.ts.map +1 -1
  195. package/dist/tools/tool-adapter.js +187 -70
  196. package/dist/tools/tools.test.d.ts +2 -0
  197. package/dist/tools/tools.test.d.ts.map +1 -0
  198. package/dist/types.d.ts +108 -111
  199. package/dist/types.d.ts.map +1 -1
  200. package/dist/types.js +1 -0
  201. package/package.json +448 -90
  202. package/dist/_virtual/_rolldown/runtime.js +0 -8
  203. package/dist/agent/agent-factory.js.map +0 -1
  204. package/dist/agent/contract-spec-agent.js.map +0 -1
  205. package/dist/agent/json-runner.js.map +0 -1
  206. package/dist/agent/unified-agent.js.map +0 -1
  207. package/dist/approval/workflow.js.map +0 -1
  208. package/dist/exporters/claude-agent-exporter.js.map +0 -1
  209. package/dist/exporters/opencode-exporter.js.map +0 -1
  210. package/dist/interop/spec-consumer.js.map +0 -1
  211. package/dist/interop/tool-consumer.js.map +0 -1
  212. package/dist/knowledge/injector.js.map +0 -1
  213. package/dist/memory/in-memory.js.map +0 -1
  214. package/dist/memory/manager.js.map +0 -1
  215. package/dist/providers/claude-agent-sdk/adapter.js.map +0 -1
  216. package/dist/providers/claude-agent-sdk/session-bridge.js.map +0 -1
  217. package/dist/providers/claude-agent-sdk/tool-bridge.js.map +0 -1
  218. package/dist/providers/opencode-sdk/adapter.js.map +0 -1
  219. package/dist/providers/opencode-sdk/agent-bridge.js.map +0 -1
  220. package/dist/providers/opencode-sdk/tool-bridge.js.map +0 -1
  221. package/dist/providers/registry.js.map +0 -1
  222. package/dist/providers/types.js.map +0 -1
  223. package/dist/schema/json-schema-to-zod.js.map +0 -1
  224. package/dist/schema/schema-output.js.map +0 -1
  225. package/dist/session/store.js.map +0 -1
  226. package/dist/spec/registry.js.map +0 -1
  227. package/dist/spec/spec.js.map +0 -1
  228. package/dist/telemetry/adapter.js.map +0 -1
  229. package/dist/tools/knowledge-tool.js.map +0 -1
  230. package/dist/tools/mcp-client.js.map +0 -1
  231. package/dist/tools/mcp-server.js.map +0 -1
  232. package/dist/tools/tool-adapter.js.map +0 -1
@@ -1,18 +1,16 @@
1
- import { StepResult, ToolSet } from "ai";
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
- operation: {
9
- name: string;
10
- version: string;
11
- };
12
- durationMs: number;
13
- success: boolean;
14
- timestamp: Date;
15
- metadata?: Record<string, unknown>;
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
- * Collect a metric sample.
28
- */
29
- collect(sample: OperationMetricSample): Promise<void>;
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
- private readonly samples;
48
- collect(sample: OperationMetricSample): Promise<void>;
49
- /**
50
- * Get all collected samples.
51
- */
52
- getSamples(): OperationMetricSample[];
53
- /**
54
- * Get samples for a specific operation.
55
- */
56
- getSamplesForOperation(operationName: string): OperationMetricSample[];
57
- /**
58
- * Clear all samples.
59
- */
60
- clear(): void;
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","names":[],"sources":["../../src/telemetry/adapter.ts"],"mappings":";;;;;AAKA;UAAiB,qBAAA;EACf,SAAA;IAAa,IAAA;IAAc,OAAA;EAAA;EAC3B,UAAA;EACA,OAAA;EACA,SAAA,EAAW,IAAA;EACX,QAAA,GAAW,MAAA;AAAA;;;;;AAWb;;;;UAAiB,kBAAA;EAIC;;;EAAhB,OAAA,CAAQ,MAAA,EAAQ,qBAAA,GAAwB,OAAA;AAAA;AA0B1C;;;;;;;;;;;AAAA,iBAAsB,cAAA,CACpB,SAAA,EAAW,kBAAA,EACX,OAAA,UACA,IAAA,EAAM,UAAA,CAAW,OAAA,GACjB,UAAA,YACC,OAAA;;;;cAyCU,0BAAA,YAAsC,kBAAA;EAAA,iBAChC,OAAA;EAEX,OAAA,CAAQ,MAAA,EAAQ,qBAAA,GAAwB,OAAA;EA5CtC;AAyCV;;EAUE,UAAA,CAAA,GAAc,qBAAA;EAPQ;;;EActB,sBAAA,CAAuB,aAAA,WAAwB,qBAAA;EAjBE;;;EAwBjD,KAAA,CAAA;AAAA;;;;iBAQc,gCAAA,CAAA,GAAoC,0BAAA;;;;cAOvC,sBAAA,EAAwB,kBAAA"}
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
- //#region src/telemetry/adapter.ts
2
- /**
3
- * Parse agent ID into name and version.
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
- const match = agentId.match(/^(.+)\.v(\s+)$/);
7
- if (match) return {
8
- name: match[1],
9
- version: match[2]
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
- const { name, version } = parseAgentId(agentId);
29
- for (const toolCall of step.toolCalls ?? []) {
30
- const toolSample = {
31
- operation: {
32
- name: `${name}.${toolCall.toolName}`,
33
- version
34
- },
35
- durationMs: durationMs ?? 0,
36
- success: step.toolResults?.some((r) => r.toolCallId === toolCall.toolCallId && r.output !== void 0) ?? false,
37
- timestamp: /* @__PURE__ */ new Date(),
38
- metadata: {
39
- agentId,
40
- toolName: toolCall.toolName,
41
- finishReason: step.finishReason
42
- }
43
- };
44
- await collector.collect(toolSample);
45
- }
46
- const stepSample = {
47
- operation: {
48
- name,
49
- version
50
- },
51
- durationMs: durationMs ?? 0,
52
- success: step.finishReason !== "error",
53
- timestamp: /* @__PURE__ */ new Date(),
54
- metadata: {
55
- agentId,
56
- finishReason: step.finishReason,
57
- tokenUsage: step.usage,
58
- toolCallCount: step.toolCalls?.length ?? 0
59
- }
60
- };
61
- await collector.collect(stepSample);
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
- return new InMemoryTelemetryCollector();
70
+ return new InMemoryTelemetryCollector;
95
71
  }
96
- /**
97
- * No-op telemetry collector that discards all metrics.
98
- */
99
- const noopTelemetryCollector = { collect: async () => {} };
72
+ var noopTelemetryCollector;
73
+ var init_adapter = __esm(() => {
74
+ noopTelemetryCollector = {
75
+ collect: async () => {}
76
+ };
77
+ });
78
+ init_adapter();
100
79
 
101
- //#endregion
102
- export { InMemoryTelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep };
103
- //# sourceMappingURL=adapter.js.map
80
+ export {
81
+ trackAgentStep,
82
+ noopTelemetryCollector,
83
+ createInMemoryTelemetryCollector,
84
+ InMemoryTelemetryCollector
85
+ };
@@ -1,2 +1,2 @@
1
- import { InMemoryTelemetryCollector, OperationMetricSample, TelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep } from "./adapter.js";
2
- export { InMemoryTelemetryCollector, OperationMetricSample, TelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep };
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"}
@@ -1,3 +1,86 @@
1
- import { InMemoryTelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep } from "./adapter.js";
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
- export { InMemoryTelemetryCollector, createInMemoryTelemetryCollector, noopTelemetryCollector, trackAgentStep };
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
+ };
@@ -1,5 +1,5 @@
1
- import { McpClientConfig, McpClientResult, createMcpToolsets, mcpServerToTools } from "./mcp-client.js";
2
- import { buildToolHandlers, createToolHandler, specToolToAISDKTool, specToolsToAISDKTools } from "./tool-adapter.js";
3
- import { createKnowledgeQueryTool } from "./knowledge-tool.js";
4
- import { AgentMcpServerConfig, agentToMcpServer, createAgentMcpServer } from "./mcp-server.js";
5
- export { AgentMcpServerConfig, McpClientConfig, McpClientResult, agentToMcpServer, buildToolHandlers, createAgentMcpServer, createKnowledgeQueryTool, createMcpToolsets, createToolHandler, mcpServerToTools, specToolToAISDKTool, specToolsToAISDKTools };
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"}