@lleverage-ai/agent-sdk 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2321 -0
  3. package/dist/agent.d.ts +52 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +2122 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/backend.d.ts +378 -0
  8. package/dist/backend.d.ts.map +1 -0
  9. package/dist/backend.js +71 -0
  10. package/dist/backend.js.map +1 -0
  11. package/dist/backends/composite.d.ts +258 -0
  12. package/dist/backends/composite.d.ts.map +1 -0
  13. package/dist/backends/composite.js +437 -0
  14. package/dist/backends/composite.js.map +1 -0
  15. package/dist/backends/filesystem.d.ts +268 -0
  16. package/dist/backends/filesystem.d.ts.map +1 -0
  17. package/dist/backends/filesystem.js +623 -0
  18. package/dist/backends/filesystem.js.map +1 -0
  19. package/dist/backends/index.d.ts +14 -0
  20. package/dist/backends/index.d.ts.map +1 -0
  21. package/dist/backends/index.js +14 -0
  22. package/dist/backends/index.js.map +1 -0
  23. package/dist/backends/persistent.d.ts +312 -0
  24. package/dist/backends/persistent.d.ts.map +1 -0
  25. package/dist/backends/persistent.js +519 -0
  26. package/dist/backends/persistent.js.map +1 -0
  27. package/dist/backends/sandbox.d.ts +315 -0
  28. package/dist/backends/sandbox.d.ts.map +1 -0
  29. package/dist/backends/sandbox.js +490 -0
  30. package/dist/backends/sandbox.js.map +1 -0
  31. package/dist/backends/state.d.ts +225 -0
  32. package/dist/backends/state.d.ts.map +1 -0
  33. package/dist/backends/state.js +396 -0
  34. package/dist/backends/state.js.map +1 -0
  35. package/dist/checkpointer/file-saver.d.ts +182 -0
  36. package/dist/checkpointer/file-saver.d.ts.map +1 -0
  37. package/dist/checkpointer/file-saver.js +298 -0
  38. package/dist/checkpointer/file-saver.js.map +1 -0
  39. package/dist/checkpointer/index.d.ts +40 -0
  40. package/dist/checkpointer/index.d.ts.map +1 -0
  41. package/dist/checkpointer/index.js +40 -0
  42. package/dist/checkpointer/index.js.map +1 -0
  43. package/dist/checkpointer/kv-saver.d.ts +142 -0
  44. package/dist/checkpointer/kv-saver.d.ts.map +1 -0
  45. package/dist/checkpointer/kv-saver.js +176 -0
  46. package/dist/checkpointer/kv-saver.js.map +1 -0
  47. package/dist/checkpointer/memory-saver.d.ts +158 -0
  48. package/dist/checkpointer/memory-saver.d.ts.map +1 -0
  49. package/dist/checkpointer/memory-saver.js +222 -0
  50. package/dist/checkpointer/memory-saver.js.map +1 -0
  51. package/dist/checkpointer/types.d.ts +353 -0
  52. package/dist/checkpointer/types.d.ts.map +1 -0
  53. package/dist/checkpointer/types.js +159 -0
  54. package/dist/checkpointer/types.js.map +1 -0
  55. package/dist/context-manager.d.ts +627 -0
  56. package/dist/context-manager.d.ts.map +1 -0
  57. package/dist/context-manager.js +1039 -0
  58. package/dist/context-manager.js.map +1 -0
  59. package/dist/context.d.ts +57 -0
  60. package/dist/context.d.ts.map +1 -0
  61. package/dist/context.js +76 -0
  62. package/dist/context.js.map +1 -0
  63. package/dist/errors/index.d.ts +611 -0
  64. package/dist/errors/index.d.ts.map +1 -0
  65. package/dist/errors/index.js +1023 -0
  66. package/dist/errors/index.js.map +1 -0
  67. package/dist/generation-helpers.d.ts +126 -0
  68. package/dist/generation-helpers.d.ts.map +1 -0
  69. package/dist/generation-helpers.js +181 -0
  70. package/dist/generation-helpers.js.map +1 -0
  71. package/dist/hooks/audit.d.ts +210 -0
  72. package/dist/hooks/audit.d.ts.map +1 -0
  73. package/dist/hooks/audit.js +305 -0
  74. package/dist/hooks/audit.js.map +1 -0
  75. package/dist/hooks/cache.d.ts +180 -0
  76. package/dist/hooks/cache.d.ts.map +1 -0
  77. package/dist/hooks/cache.js +273 -0
  78. package/dist/hooks/cache.js.map +1 -0
  79. package/dist/hooks/guardrails.d.ts +145 -0
  80. package/dist/hooks/guardrails.d.ts.map +1 -0
  81. package/dist/hooks/guardrails.js +326 -0
  82. package/dist/hooks/guardrails.js.map +1 -0
  83. package/dist/hooks/index.d.ts +18 -0
  84. package/dist/hooks/index.d.ts.map +1 -0
  85. package/dist/hooks/index.js +32 -0
  86. package/dist/hooks/index.js.map +1 -0
  87. package/dist/hooks/logging.d.ts +193 -0
  88. package/dist/hooks/logging.d.ts.map +1 -0
  89. package/dist/hooks/logging.js +345 -0
  90. package/dist/hooks/logging.js.map +1 -0
  91. package/dist/hooks/parallel-guardrails.d.ts +268 -0
  92. package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
  93. package/dist/hooks/parallel-guardrails.js +416 -0
  94. package/dist/hooks/parallel-guardrails.js.map +1 -0
  95. package/dist/hooks/rate-limit.d.ts +305 -0
  96. package/dist/hooks/rate-limit.d.ts.map +1 -0
  97. package/dist/hooks/rate-limit.js +372 -0
  98. package/dist/hooks/rate-limit.js.map +1 -0
  99. package/dist/hooks/retry.d.ts +144 -0
  100. package/dist/hooks/retry.d.ts.map +1 -0
  101. package/dist/hooks/retry.js +210 -0
  102. package/dist/hooks/retry.js.map +1 -0
  103. package/dist/hooks/secrets.d.ts +174 -0
  104. package/dist/hooks/secrets.d.ts.map +1 -0
  105. package/dist/hooks/secrets.js +306 -0
  106. package/dist/hooks/secrets.js.map +1 -0
  107. package/dist/hooks.d.ts +229 -0
  108. package/dist/hooks.d.ts.map +1 -0
  109. package/dist/hooks.js +352 -0
  110. package/dist/hooks.js.map +1 -0
  111. package/dist/index.d.ts +97 -0
  112. package/dist/index.d.ts.map +1 -0
  113. package/dist/index.js +182 -0
  114. package/dist/index.js.map +1 -0
  115. package/dist/mcp/env.d.ts +25 -0
  116. package/dist/mcp/env.d.ts.map +1 -0
  117. package/dist/mcp/env.js +18 -0
  118. package/dist/mcp/env.js.map +1 -0
  119. package/dist/mcp/index.d.ts +16 -0
  120. package/dist/mcp/index.d.ts.map +1 -0
  121. package/dist/mcp/index.js +17 -0
  122. package/dist/mcp/index.js.map +1 -0
  123. package/dist/mcp/manager.d.ts +184 -0
  124. package/dist/mcp/manager.d.ts.map +1 -0
  125. package/dist/mcp/manager.js +446 -0
  126. package/dist/mcp/manager.js.map +1 -0
  127. package/dist/mcp/types.d.ts +58 -0
  128. package/dist/mcp/types.d.ts.map +1 -0
  129. package/dist/mcp/types.js +7 -0
  130. package/dist/mcp/types.js.map +1 -0
  131. package/dist/mcp/validation.d.ts +119 -0
  132. package/dist/mcp/validation.d.ts.map +1 -0
  133. package/dist/mcp/validation.js +407 -0
  134. package/dist/mcp/validation.js.map +1 -0
  135. package/dist/mcp/virtual-server.d.ts +78 -0
  136. package/dist/mcp/virtual-server.d.ts.map +1 -0
  137. package/dist/mcp/virtual-server.js +137 -0
  138. package/dist/mcp/virtual-server.js.map +1 -0
  139. package/dist/memory/filesystem-store.d.ts +217 -0
  140. package/dist/memory/filesystem-store.d.ts.map +1 -0
  141. package/dist/memory/filesystem-store.js +343 -0
  142. package/dist/memory/filesystem-store.js.map +1 -0
  143. package/dist/memory/index.d.ts +46 -0
  144. package/dist/memory/index.d.ts.map +1 -0
  145. package/dist/memory/index.js +46 -0
  146. package/dist/memory/index.js.map +1 -0
  147. package/dist/memory/loader.d.ts +396 -0
  148. package/dist/memory/loader.d.ts.map +1 -0
  149. package/dist/memory/loader.js +419 -0
  150. package/dist/memory/loader.js.map +1 -0
  151. package/dist/memory/permissions.d.ts +282 -0
  152. package/dist/memory/permissions.d.ts.map +1 -0
  153. package/dist/memory/permissions.js +297 -0
  154. package/dist/memory/permissions.js.map +1 -0
  155. package/dist/memory/rules.d.ts +249 -0
  156. package/dist/memory/rules.d.ts.map +1 -0
  157. package/dist/memory/rules.js +362 -0
  158. package/dist/memory/rules.js.map +1 -0
  159. package/dist/memory/store.d.ts +286 -0
  160. package/dist/memory/store.d.ts.map +1 -0
  161. package/dist/memory/store.js +263 -0
  162. package/dist/memory/store.js.map +1 -0
  163. package/dist/middleware/apply.d.ts +73 -0
  164. package/dist/middleware/apply.d.ts.map +1 -0
  165. package/dist/middleware/apply.js +219 -0
  166. package/dist/middleware/apply.js.map +1 -0
  167. package/dist/middleware/context.d.ts +33 -0
  168. package/dist/middleware/context.d.ts.map +1 -0
  169. package/dist/middleware/context.js +176 -0
  170. package/dist/middleware/context.js.map +1 -0
  171. package/dist/middleware/index.d.ts +31 -0
  172. package/dist/middleware/index.d.ts.map +1 -0
  173. package/dist/middleware/index.js +32 -0
  174. package/dist/middleware/index.js.map +1 -0
  175. package/dist/middleware/logging.d.ts +137 -0
  176. package/dist/middleware/logging.d.ts.map +1 -0
  177. package/dist/middleware/logging.js +374 -0
  178. package/dist/middleware/logging.js.map +1 -0
  179. package/dist/middleware/types.d.ts +183 -0
  180. package/dist/middleware/types.d.ts.map +1 -0
  181. package/dist/middleware/types.js +11 -0
  182. package/dist/middleware/types.js.map +1 -0
  183. package/dist/observability/events.d.ts +183 -0
  184. package/dist/observability/events.d.ts.map +1 -0
  185. package/dist/observability/events.js +305 -0
  186. package/dist/observability/events.js.map +1 -0
  187. package/dist/observability/index.d.ts +55 -0
  188. package/dist/observability/index.d.ts.map +1 -0
  189. package/dist/observability/index.js +87 -0
  190. package/dist/observability/index.js.map +1 -0
  191. package/dist/observability/logger.d.ts +318 -0
  192. package/dist/observability/logger.d.ts.map +1 -0
  193. package/dist/observability/logger.js +436 -0
  194. package/dist/observability/logger.js.map +1 -0
  195. package/dist/observability/metrics.d.ts +341 -0
  196. package/dist/observability/metrics.d.ts.map +1 -0
  197. package/dist/observability/metrics.js +490 -0
  198. package/dist/observability/metrics.js.map +1 -0
  199. package/dist/observability/preset.d.ts +161 -0
  200. package/dist/observability/preset.d.ts.map +1 -0
  201. package/dist/observability/preset.js +133 -0
  202. package/dist/observability/preset.js.map +1 -0
  203. package/dist/observability/streaming.d.ts +113 -0
  204. package/dist/observability/streaming.d.ts.map +1 -0
  205. package/dist/observability/streaming.js +114 -0
  206. package/dist/observability/streaming.js.map +1 -0
  207. package/dist/observability/tracing.d.ts +378 -0
  208. package/dist/observability/tracing.d.ts.map +1 -0
  209. package/dist/observability/tracing.js +539 -0
  210. package/dist/observability/tracing.js.map +1 -0
  211. package/dist/plugins.d.ts +55 -0
  212. package/dist/plugins.d.ts.map +1 -0
  213. package/dist/plugins.js +63 -0
  214. package/dist/plugins.js.map +1 -0
  215. package/dist/presets/index.d.ts +7 -0
  216. package/dist/presets/index.d.ts.map +1 -0
  217. package/dist/presets/index.js +7 -0
  218. package/dist/presets/index.js.map +1 -0
  219. package/dist/presets/production.d.ts +262 -0
  220. package/dist/presets/production.d.ts.map +1 -0
  221. package/dist/presets/production.js +295 -0
  222. package/dist/presets/production.js.map +1 -0
  223. package/dist/security/index.d.ts +179 -0
  224. package/dist/security/index.d.ts.map +1 -0
  225. package/dist/security/index.js +323 -0
  226. package/dist/security/index.js.map +1 -0
  227. package/dist/subagents/advanced.d.ts +413 -0
  228. package/dist/subagents/advanced.d.ts.map +1 -0
  229. package/dist/subagents/advanced.js +396 -0
  230. package/dist/subagents/advanced.js.map +1 -0
  231. package/dist/subagents/index.d.ts +14 -0
  232. package/dist/subagents/index.d.ts.map +1 -0
  233. package/dist/subagents/index.js +15 -0
  234. package/dist/subagents/index.js.map +1 -0
  235. package/dist/subagents.d.ts +73 -0
  236. package/dist/subagents.d.ts.map +1 -0
  237. package/dist/subagents.js +213 -0
  238. package/dist/subagents.js.map +1 -0
  239. package/dist/task-store/file-store.d.ts +76 -0
  240. package/dist/task-store/file-store.d.ts.map +1 -0
  241. package/dist/task-store/file-store.js +190 -0
  242. package/dist/task-store/file-store.js.map +1 -0
  243. package/dist/task-store/index.d.ts +11 -0
  244. package/dist/task-store/index.d.ts.map +1 -0
  245. package/dist/task-store/index.js +10 -0
  246. package/dist/task-store/index.js.map +1 -0
  247. package/dist/task-store/kv-store.d.ts +140 -0
  248. package/dist/task-store/kv-store.d.ts.map +1 -0
  249. package/dist/task-store/kv-store.js +169 -0
  250. package/dist/task-store/kv-store.js.map +1 -0
  251. package/dist/task-store/memory-store.d.ts +66 -0
  252. package/dist/task-store/memory-store.d.ts.map +1 -0
  253. package/dist/task-store/memory-store.js +125 -0
  254. package/dist/task-store/memory-store.js.map +1 -0
  255. package/dist/task-store/types.d.ts +235 -0
  256. package/dist/task-store/types.d.ts.map +1 -0
  257. package/dist/task-store/types.js +110 -0
  258. package/dist/task-store/types.js.map +1 -0
  259. package/dist/testing/assertions.d.ts +401 -0
  260. package/dist/testing/assertions.d.ts.map +1 -0
  261. package/dist/testing/assertions.js +630 -0
  262. package/dist/testing/assertions.js.map +1 -0
  263. package/dist/testing/index.d.ts +343 -0
  264. package/dist/testing/index.d.ts.map +1 -0
  265. package/dist/testing/index.js +360 -0
  266. package/dist/testing/index.js.map +1 -0
  267. package/dist/testing/mock-agent.d.ts +214 -0
  268. package/dist/testing/mock-agent.d.ts.map +1 -0
  269. package/dist/testing/mock-agent.js +448 -0
  270. package/dist/testing/mock-agent.js.map +1 -0
  271. package/dist/testing/recorder.d.ts +288 -0
  272. package/dist/testing/recorder.d.ts.map +1 -0
  273. package/dist/testing/recorder.js +499 -0
  274. package/dist/testing/recorder.js.map +1 -0
  275. package/dist/tools/execute.d.ts +104 -0
  276. package/dist/tools/execute.d.ts.map +1 -0
  277. package/dist/tools/execute.js +191 -0
  278. package/dist/tools/execute.js.map +1 -0
  279. package/dist/tools/factory.d.ts +260 -0
  280. package/dist/tools/factory.d.ts.map +1 -0
  281. package/dist/tools/factory.js +241 -0
  282. package/dist/tools/factory.js.map +1 -0
  283. package/dist/tools/filesystem.d.ts +215 -0
  284. package/dist/tools/filesystem.d.ts.map +1 -0
  285. package/dist/tools/filesystem.js +311 -0
  286. package/dist/tools/filesystem.js.map +1 -0
  287. package/dist/tools/index.d.ts +33 -0
  288. package/dist/tools/index.d.ts.map +1 -0
  289. package/dist/tools/index.js +33 -0
  290. package/dist/tools/index.js.map +1 -0
  291. package/dist/tools/search.d.ts +59 -0
  292. package/dist/tools/search.d.ts.map +1 -0
  293. package/dist/tools/search.js +94 -0
  294. package/dist/tools/search.js.map +1 -0
  295. package/dist/tools/skills.d.ts +354 -0
  296. package/dist/tools/skills.d.ts.map +1 -0
  297. package/dist/tools/skills.js +413 -0
  298. package/dist/tools/skills.js.map +1 -0
  299. package/dist/tools/task.d.ts +272 -0
  300. package/dist/tools/task.d.ts.map +1 -0
  301. package/dist/tools/task.js +521 -0
  302. package/dist/tools/task.js.map +1 -0
  303. package/dist/tools/todos.d.ts +131 -0
  304. package/dist/tools/todos.d.ts.map +1 -0
  305. package/dist/tools/todos.js +120 -0
  306. package/dist/tools/todos.js.map +1 -0
  307. package/dist/tools/tool-registry.d.ts +424 -0
  308. package/dist/tools/tool-registry.d.ts.map +1 -0
  309. package/dist/tools/tool-registry.js +607 -0
  310. package/dist/tools/tool-registry.js.map +1 -0
  311. package/dist/tools/user-interaction.d.ts +116 -0
  312. package/dist/tools/user-interaction.d.ts.map +1 -0
  313. package/dist/tools/user-interaction.js +147 -0
  314. package/dist/tools/user-interaction.js.map +1 -0
  315. package/dist/tools/utils.d.ts +124 -0
  316. package/dist/tools/utils.d.ts.map +1 -0
  317. package/dist/tools/utils.js +189 -0
  318. package/dist/tools/utils.js.map +1 -0
  319. package/dist/tools.d.ts +74 -0
  320. package/dist/tools.d.ts.map +1 -0
  321. package/dist/tools.js +73 -0
  322. package/dist/tools.js.map +1 -0
  323. package/dist/types.d.ts +2421 -0
  324. package/dist/types.d.ts.map +1 -0
  325. package/dist/types.js +55 -0
  326. package/dist/types.js.map +1 -0
  327. package/package.json +81 -0
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Distributed Tracing System.
3
+ *
4
+ * Provides OpenTelemetry-compatible tracing for:
5
+ * - Agent request tracing
6
+ * - Tool execution spans
7
+ * - Subagent spans
8
+ * - Cross-service correlation
9
+ *
10
+ * The implementation is framework-agnostic and can be used with
11
+ * actual OpenTelemetry or any compatible tracing system.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ /**
16
+ * Span status codes.
17
+ *
18
+ * @category Observability
19
+ */
20
+ export type SpanStatusCode = "unset" | "ok" | "error";
21
+ /**
22
+ * Span kind (direction of the span).
23
+ *
24
+ * @category Observability
25
+ */
26
+ export type SpanKind = "internal" | "server" | "client" | "producer" | "consumer";
27
+ /**
28
+ * Span attributes (key-value metadata).
29
+ *
30
+ * @category Observability
31
+ */
32
+ export type SpanAttributes = Record<string, string | number | boolean | string[] | number[] | boolean[]>;
33
+ /**
34
+ * Span event (point-in-time occurrence).
35
+ *
36
+ * @category Observability
37
+ */
38
+ export interface SpanEvent {
39
+ /** Event name */
40
+ name: string;
41
+ /** Event timestamp (ISO string) */
42
+ timestamp: string;
43
+ /** Optional attributes */
44
+ attributes?: SpanAttributes;
45
+ }
46
+ /**
47
+ * Span link (reference to another span).
48
+ *
49
+ * @category Observability
50
+ */
51
+ export interface SpanLink {
52
+ /** Trace ID of linked span */
53
+ traceId: string;
54
+ /** Span ID of linked span */
55
+ spanId: string;
56
+ /** Optional attributes */
57
+ attributes?: SpanAttributes;
58
+ }
59
+ /**
60
+ * Span status.
61
+ *
62
+ * @category Observability
63
+ */
64
+ export interface SpanStatus {
65
+ /** Status code */
66
+ code: SpanStatusCode;
67
+ /** Optional status message */
68
+ message?: string;
69
+ }
70
+ /**
71
+ * A completed span data structure.
72
+ *
73
+ * @category Observability
74
+ */
75
+ export interface SpanData {
76
+ /** Unique trace identifier */
77
+ traceId: string;
78
+ /** Unique span identifier */
79
+ spanId: string;
80
+ /** Parent span ID (if any) */
81
+ parentSpanId?: string;
82
+ /** Span name/operation */
83
+ name: string;
84
+ /** Span kind */
85
+ kind: SpanKind;
86
+ /** Start time (ISO string) */
87
+ startTime: string;
88
+ /** End time (ISO string) */
89
+ endTime: string;
90
+ /** Duration in milliseconds */
91
+ durationMs: number;
92
+ /** Span attributes */
93
+ attributes: SpanAttributes;
94
+ /** Span events */
95
+ events: SpanEvent[];
96
+ /** Span links */
97
+ links: SpanLink[];
98
+ /** Span status */
99
+ status: SpanStatus;
100
+ }
101
+ /**
102
+ * An active span that can be modified.
103
+ *
104
+ * @category Observability
105
+ */
106
+ export interface Span {
107
+ /** Trace ID */
108
+ readonly traceId: string;
109
+ /** Span ID */
110
+ readonly spanId: string;
111
+ /** Span name */
112
+ readonly name: string;
113
+ /** Set an attribute */
114
+ setAttribute(key: string, value: string | number | boolean): Span;
115
+ /** Set multiple attributes */
116
+ setAttributes(attributes: SpanAttributes): Span;
117
+ /** Add an event */
118
+ addEvent(name: string, attributes?: SpanAttributes): Span;
119
+ /** Add a link to another span */
120
+ addLink(traceId: string, spanId: string, attributes?: SpanAttributes): Span;
121
+ /** Set status */
122
+ setStatus(code: SpanStatusCode, message?: string): Span;
123
+ /** Record an exception */
124
+ recordException(error: Error, attributes?: SpanAttributes): Span;
125
+ /** End the span */
126
+ end(): void;
127
+ /** Get span data (only valid after end) */
128
+ getData(): SpanData | null;
129
+ /** Check if span is recording */
130
+ isRecording(): boolean;
131
+ }
132
+ /**
133
+ * Span context for propagation.
134
+ *
135
+ * @category Observability
136
+ */
137
+ export interface SpanContext {
138
+ /** Trace ID */
139
+ traceId: string;
140
+ /** Span ID */
141
+ spanId: string;
142
+ /** Trace flags */
143
+ traceFlags?: number;
144
+ /** Trace state */
145
+ traceState?: string;
146
+ }
147
+ /**
148
+ * A span exporter sends spans to a backend.
149
+ *
150
+ * @category Observability
151
+ */
152
+ export interface SpanExporter {
153
+ /** Exporter name */
154
+ name: string;
155
+ /** Export spans */
156
+ export(spans: SpanData[]): void | Promise<void>;
157
+ /** Optional flush for batch exporters */
158
+ flush?(): void | Promise<void>;
159
+ /** Optional shutdown for cleanup */
160
+ shutdown?(): void | Promise<void>;
161
+ }
162
+ /**
163
+ * Options for creating a tracer.
164
+ *
165
+ * @category Observability
166
+ */
167
+ export interface TracerOptions {
168
+ /** Tracer/service name */
169
+ name?: string;
170
+ /** Tracer version */
171
+ version?: string;
172
+ /** Default attributes for all spans */
173
+ defaultAttributes?: SpanAttributes;
174
+ /** Span exporters */
175
+ exporters?: SpanExporter[];
176
+ /** Whether to enable tracing */
177
+ enabled?: boolean;
178
+ /** Sampling rate (0-1) */
179
+ samplingRate?: number;
180
+ }
181
+ /**
182
+ * Options for starting a span.
183
+ *
184
+ * @category Observability
185
+ */
186
+ export interface StartSpanOptions {
187
+ /** Span kind */
188
+ kind?: SpanKind;
189
+ /** Initial attributes */
190
+ attributes?: SpanAttributes;
191
+ /** Parent span context */
192
+ parent?: SpanContext;
193
+ /** Links to other spans */
194
+ links?: SpanLink[];
195
+ }
196
+ /**
197
+ * A tracer creates and manages spans.
198
+ *
199
+ * @category Observability
200
+ */
201
+ export interface Tracer {
202
+ /** Tracer name */
203
+ readonly name: string;
204
+ /** Whether tracing is enabled */
205
+ readonly enabled: boolean;
206
+ /** Start a new span */
207
+ startSpan(name: string, options?: StartSpanOptions): Span;
208
+ /**
209
+ * Execute a function within a span.
210
+ * The span is automatically ended when the function completes.
211
+ */
212
+ withSpan<T>(name: string, fn: (span: Span) => T | Promise<T>, options?: StartSpanOptions): Promise<T>;
213
+ /** Get the current active span (if any) */
214
+ getActiveSpan(): Span | null;
215
+ /** Export all pending spans */
216
+ flush(): Promise<void>;
217
+ /** Shutdown the tracer */
218
+ shutdown(): Promise<void>;
219
+ }
220
+ /**
221
+ * Creates a tracer for distributed tracing.
222
+ *
223
+ * @param options - Tracer options
224
+ * @returns A tracer instance
225
+ *
226
+ * @example
227
+ * ```typescript
228
+ * const tracer = createTracer({
229
+ * name: "my-agent",
230
+ * exporters: [createConsoleSpanExporter()],
231
+ * });
232
+ *
233
+ * const span = tracer.startSpan("generate");
234
+ * try {
235
+ * const result = await agent.generate({ prompt: "Hello" });
236
+ * span.setAttribute("tokens", result.usage?.totalTokens ?? 0);
237
+ * span.setStatus("ok");
238
+ * } catch (error) {
239
+ * span.recordException(error as Error);
240
+ * } finally {
241
+ * span.end();
242
+ * }
243
+ * ```
244
+ *
245
+ * @category Observability
246
+ */
247
+ export declare function createTracer(options?: TracerOptions): Tracer;
248
+ /**
249
+ * Creates a console exporter for debugging.
250
+ *
251
+ * @returns A console span exporter
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * const tracer = createTracer({
256
+ * exporters: [createConsoleSpanExporter()],
257
+ * });
258
+ * ```
259
+ *
260
+ * @category Observability
261
+ */
262
+ export declare function createConsoleSpanExporter(): SpanExporter;
263
+ /**
264
+ * Creates a memory exporter that stores spans.
265
+ *
266
+ * @returns A memory span exporter with access to stored spans
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const exporter = createMemorySpanExporter();
271
+ * const tracer = createTracer({ exporters: [exporter] });
272
+ *
273
+ * tracer.startSpan("test").end();
274
+ * await tracer.flush();
275
+ *
276
+ * console.log(exporter.spans);
277
+ * ```
278
+ *
279
+ * @category Observability
280
+ */
281
+ export declare function createMemorySpanExporter(): SpanExporter & {
282
+ spans: SpanData[];
283
+ clear(): void;
284
+ };
285
+ /**
286
+ * Creates a callback exporter that invokes a function for each batch.
287
+ *
288
+ * @param callback - Function to call with spans
289
+ * @returns A callback span exporter
290
+ *
291
+ * @example
292
+ * ```typescript
293
+ * const exporter = createCallbackSpanExporter((spans) => {
294
+ * sendToJaeger(spans);
295
+ * });
296
+ * ```
297
+ *
298
+ * @category Observability
299
+ */
300
+ export declare function createCallbackSpanExporter(callback: (spans: SpanData[]) => void | Promise<void>): SpanExporter;
301
+ /**
302
+ * Creates an OTLP-compatible exporter (OpenTelemetry Protocol).
303
+ *
304
+ * This exporter formats spans for OTLP collectors but does not
305
+ * include HTTP transport. Use with a custom callback for actual sending.
306
+ *
307
+ * @param options - Exporter options
308
+ * @returns An OTLP-compatible exporter
309
+ *
310
+ * @example
311
+ * ```typescript
312
+ * const exporter = createOTLPSpanExporter({
313
+ * onExport: async (payload) => {
314
+ * await fetch("http://collector:4318/v1/traces", {
315
+ * method: "POST",
316
+ * headers: { "Content-Type": "application/json" },
317
+ * body: JSON.stringify(payload),
318
+ * });
319
+ * },
320
+ * });
321
+ * ```
322
+ *
323
+ * @category Observability
324
+ */
325
+ export declare function createOTLPSpanExporter(options: {
326
+ /** Service name */
327
+ serviceName?: string;
328
+ /** Callback to handle OTLP payload */
329
+ onExport: (payload: unknown) => void | Promise<void>;
330
+ }): SpanExporter;
331
+ /**
332
+ * The default global tracer instance.
333
+ *
334
+ * @category Observability
335
+ */
336
+ export declare let defaultTracer: Tracer;
337
+ /**
338
+ * Sets the default global tracer.
339
+ *
340
+ * @param tracer - The tracer to use as default
341
+ *
342
+ * @category Observability
343
+ */
344
+ export declare function setDefaultTracer(tracer: Tracer): void;
345
+ /**
346
+ * Semantic attribute keys for AI/LLM operations.
347
+ *
348
+ * Based on emerging OpenTelemetry semantic conventions for GenAI.
349
+ *
350
+ * @category Observability
351
+ */
352
+ export declare const SemanticAttributes: {
353
+ readonly SERVICE_NAME: "service.name";
354
+ readonly SERVICE_VERSION: "service.version";
355
+ readonly GEN_AI_SYSTEM: "gen_ai.system";
356
+ readonly GEN_AI_REQUEST_MODEL: "gen_ai.request.model";
357
+ readonly GEN_AI_REQUEST_MAX_TOKENS: "gen_ai.request.max_tokens";
358
+ readonly GEN_AI_REQUEST_TEMPERATURE: "gen_ai.request.temperature";
359
+ readonly GEN_AI_RESPONSE_MODEL: "gen_ai.response.model";
360
+ readonly GEN_AI_RESPONSE_FINISH_REASONS: "gen_ai.response.finish_reasons";
361
+ readonly GEN_AI_USAGE_INPUT_TOKENS: "gen_ai.usage.input_tokens";
362
+ readonly GEN_AI_USAGE_OUTPUT_TOKENS: "gen_ai.usage.output_tokens";
363
+ readonly GEN_AI_USAGE_TOTAL_TOKENS: "gen_ai.usage.total_tokens";
364
+ readonly AGENT_ID: "agent.id";
365
+ readonly AGENT_NAME: "agent.name";
366
+ readonly AGENT_TOOLS: "agent.tools";
367
+ readonly AGENT_STEP: "agent.step";
368
+ readonly TOOL_NAME: "tool.name";
369
+ readonly TOOL_INPUT: "tool.input";
370
+ readonly TOOL_OUTPUT: "tool.output";
371
+ readonly SUBAGENT_ID: "subagent.id";
372
+ readonly SUBAGENT_TYPE: "subagent.type";
373
+ readonly SUBAGENT_PROMPT: "subagent.prompt";
374
+ readonly EXCEPTION_TYPE: "exception.type";
375
+ readonly EXCEPTION_MESSAGE: "exception.message";
376
+ readonly EXCEPTION_STACKTRACE: "exception.stacktrace";
377
+ };
378
+ //# sourceMappingURL=tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/observability/tracing.ts"],"names":[],"mappings":"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"}