@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,133 @@
1
+ /**
2
+ * Observability Preset.
3
+ *
4
+ * Provides a convenience function for setting up complete observability
5
+ * in a single call, including logger, metrics, tracer, and hooks.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { createComprehensiveLoggingHooks } from "../hooks/logging.js";
10
+ import { createConsoleTransport, createLogger, createPrettyFormatter, } from "./logger.js";
11
+ import { createAgentMetrics, createMetricsRegistry, } from "./metrics.js";
12
+ import { createConsoleSpanExporter, createTracer, } from "./tracing.js";
13
+ /**
14
+ * Creates a complete observability setup with logger, metrics, tracer, and hooks.
15
+ *
16
+ * This function provides a convenient way to set up comprehensive observability
17
+ * for your agent in a single call. It returns configured observability primitives
18
+ * and hooks that can be passed directly to `createAgent()`.
19
+ *
20
+ * @param options - Configuration options
21
+ * @returns Observability preset with logger, metrics, tracer, and hooks
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * import { createAgent, createObservabilityPreset } from "@lleverage-ai/agent-sdk";
26
+ * import { anthropic } from "@ai-sdk/anthropic";
27
+ *
28
+ * // One-line observability setup
29
+ * const observability = createObservabilityPreset({
30
+ * name: "my-agent",
31
+ * });
32
+ *
33
+ * // Create agent with full observability
34
+ * const agent = createAgent({
35
+ * model: anthropic("claude-sonnet-4-20250514"),
36
+ * hooks: observability.hooks,
37
+ * });
38
+ *
39
+ * // Access observability primitives
40
+ * observability.logger?.info("Agent started");
41
+ * observability.metrics?.requests.inc();
42
+ * const span = observability.tracer?.startSpan("custom-operation");
43
+ * ```
44
+ *
45
+ * @example
46
+
47
+ * ```typescript
48
+ * // Customize observability setup
49
+ * const observability = createObservabilityPreset({
50
+ * name: "my-agent",
51
+ * enableTracing: false, // Disable tracing
52
+ * loggerOptions: {
53
+ * level: "warn", // Only log warnings and errors
54
+ * },
55
+ * loggingHooksOptions: {
56
+ * logTiming: true,
57
+ * maxTextLength: 500,
58
+ * },
59
+ * });
60
+ * ```
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * // Export traces to OpenTelemetry collector
65
+ * import { createOTLPSpanExporter } from "@lleverage-ai/agent-sdk";
66
+ *
67
+ * const observability = createObservabilityPreset({
68
+ * name: "production-agent",
69
+ * spanExporters: [
70
+ * createOTLPSpanExporter({
71
+ * url: "http://localhost:4318/v1/traces",
72
+ * }),
73
+ * ],
74
+ * });
75
+ * ```
76
+ *
77
+ * @category Observability
78
+ */
79
+ export function createObservabilityPreset(options = {}) {
80
+ const { name = "agent", enableLogging = true, enableMetrics = true, enableTracing = true, enableHooks = true, loggerOptions = {}, metricsOptions = {}, tracerOptions = {}, loggingHooksOptions = {}, spanExporters, } = options;
81
+ const preset = {};
82
+ // Create logger
83
+ if (enableLogging) {
84
+ preset.logger = createLogger({
85
+ name,
86
+ level: "info",
87
+ transports: [createConsoleTransport()],
88
+ formatter: createPrettyFormatter(),
89
+ ...loggerOptions,
90
+ });
91
+ }
92
+ // Create metrics
93
+ if (enableMetrics) {
94
+ preset.metricsRegistry = createMetricsRegistry(metricsOptions);
95
+ preset.metrics = createAgentMetrics(preset.metricsRegistry);
96
+ }
97
+ // Create tracer
98
+ if (enableTracing) {
99
+ const exporters = spanExporters ?? [createConsoleSpanExporter()];
100
+ preset.tracer = createTracer({
101
+ name,
102
+ exporters,
103
+ ...tracerOptions,
104
+ });
105
+ }
106
+ // Create hooks
107
+ if (enableHooks) {
108
+ let hooks;
109
+ // Add comprehensive logging hooks if logger is enabled
110
+ if (enableLogging && preset.logger) {
111
+ const logger = preset.logger;
112
+ const { generationHooks, toolHooks, compactionHooks } = createComprehensiveLoggingHooks({
113
+ log: (message) => logger.info(message),
114
+ prefix: `[${name}]`,
115
+ logTiming: true,
116
+ ...loggingHooksOptions,
117
+ });
118
+ hooks = {
119
+ PreGenerate: generationHooks[0] ? [generationHooks[0]] : undefined,
120
+ PostGenerate: generationHooks[1] ? [generationHooks[1]] : undefined,
121
+ PostGenerateFailure: generationHooks[2] ? [generationHooks[2]] : undefined,
122
+ PreToolUse: toolHooks[0] ? [{ hooks: [toolHooks[0]] }] : undefined,
123
+ PostToolUse: toolHooks[1] ? [{ hooks: [toolHooks[1]] }] : undefined,
124
+ PostToolUseFailure: toolHooks[2] ? [{ hooks: [toolHooks[2]] }] : undefined,
125
+ PreCompact: compactionHooks[0] ? [compactionHooks[0]] : undefined,
126
+ PostCompact: compactionHooks[1] ? [compactionHooks[1]] : undefined,
127
+ };
128
+ }
129
+ preset.hooks = hooks && Object.keys(hooks).length > 0 ? hooks : undefined;
130
+ }
131
+ return preset;
132
+ }
133
+ //# sourceMappingURL=preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset.js","sourceRoot":"","sources":["../../src/observability/preset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Streaming Observability Support.
3
+ *
4
+ * Provides transports and utilities for streaming observability data
5
+ * (logs, metrics, traces) to clients via the data stream.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { UIMessageStreamWriter } from "ai";
10
+ import type { LogFormatter, LogTransport } from "./logger.js";
11
+ /**
12
+ * Options for creating a streaming log transport.
13
+ *
14
+ * @category Observability
15
+ */
16
+ export interface StreamingLogTransportOptions {
17
+ /**
18
+ * The UI message stream writer to send logs to.
19
+ */
20
+ writer: UIMessageStreamWriter;
21
+ /**
22
+ * Optional formatter for converting log entries to data.
23
+ * If not provided, logs are sent as structured objects.
24
+ */
25
+ formatter?: LogFormatter;
26
+ /**
27
+ * The data type to use when sending logs.
28
+ * @default "log"
29
+ */
30
+ dataType?: string;
31
+ /**
32
+ * Whether to include the raw log entry object.
33
+ * @default true
34
+ */
35
+ includeRawEntry?: boolean;
36
+ }
37
+ /**
38
+ * Creates a log transport that streams logs to clients via the data stream.
39
+ *
40
+ * This transport is designed to be used with `streamDataResponse()` to send
41
+ * real-time log data to the frontend.
42
+ *
43
+ * @param options - Transport options
44
+ * @returns A log transport that writes to the data stream
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * import { createStreamingLogTransport } from "@lleverage-ai/agent-sdk";
49
+ *
50
+ * // In streamDataResponse execute function:
51
+ * const streamingContext: StreamingContext = { writer };
52
+ *
53
+ * const streamingTransport = createStreamingLogTransport({
54
+ * writer: streamingContext.writer,
55
+ * });
56
+ *
57
+ * const logger = createLogger({
58
+ * name: "agent",
59
+ * transports: [streamingTransport],
60
+ * });
61
+ *
62
+ * // Logs will be streamed to the frontend
63
+ * logger.info("Agent started");
64
+ * ```
65
+ *
66
+ * @category Observability
67
+ */
68
+ export declare function createStreamingLogTransport(options: StreamingLogTransportOptions): LogTransport;
69
+ /**
70
+ * Options for creating observability streaming support.
71
+ *
72
+ * @category Observability
73
+ */
74
+ export interface StreamingObservabilityOptions {
75
+ /**
76
+ * The UI message stream writer.
77
+ */
78
+ writer: UIMessageStreamWriter;
79
+ /**
80
+ * Whether to stream logs.
81
+ * @default true
82
+ */
83
+ streamLogs?: boolean;
84
+ /**
85
+ * Log formatter to use.
86
+ */
87
+ logFormatter?: LogFormatter;
88
+ }
89
+ /**
90
+ * Creates a complete streaming observability setup.
91
+ *
92
+ * Returns transports configured to stream observability data to clients.
93
+ *
94
+ * @param options - Streaming options
95
+ * @returns An object with configured transports
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const { logTransport } = createStreamingObservability({
100
+ * writer: streamingContext.writer,
101
+ * });
102
+ *
103
+ * const logger = createLogger({
104
+ * transports: [logTransport],
105
+ * });
106
+ * ```
107
+ *
108
+ * @category Observability
109
+ */
110
+ export declare function createStreamingObservability(options: StreamingObservabilityOptions): {
111
+ logTransport: LogTransport | null;
112
+ };
113
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/observability/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,KAAK,EAAY,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExE;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,EAAE,YAAY,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,4BAA4B,GAAG,YAAY,CA6C/F;AAED;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;IAE9B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,6BAA6B,GAAG;IACpF,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC,CAWA"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Streaming Observability Support.
3
+ *
4
+ * Provides transports and utilities for streaming observability data
5
+ * (logs, metrics, traces) to clients via the data stream.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * Creates a log transport that streams logs to clients via the data stream.
11
+ *
12
+ * This transport is designed to be used with `streamDataResponse()` to send
13
+ * real-time log data to the frontend.
14
+ *
15
+ * @param options - Transport options
16
+ * @returns A log transport that writes to the data stream
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { createStreamingLogTransport } from "@lleverage-ai/agent-sdk";
21
+ *
22
+ * // In streamDataResponse execute function:
23
+ * const streamingContext: StreamingContext = { writer };
24
+ *
25
+ * const streamingTransport = createStreamingLogTransport({
26
+ * writer: streamingContext.writer,
27
+ * });
28
+ *
29
+ * const logger = createLogger({
30
+ * name: "agent",
31
+ * transports: [streamingTransport],
32
+ * });
33
+ *
34
+ * // Logs will be streamed to the frontend
35
+ * logger.info("Agent started");
36
+ * ```
37
+ *
38
+ * @category Observability
39
+ */
40
+ export function createStreamingLogTransport(options) {
41
+ const { writer, formatter, dataType = "log", includeRawEntry = true } = options;
42
+ return {
43
+ name: "streaming",
44
+ write(entry) {
45
+ // Build the data payload
46
+ const payload = {
47
+ type: dataType,
48
+ };
49
+ if (includeRawEntry) {
50
+ // Send the full entry for rich client-side handling
51
+ payload.entry = {
52
+ level: entry.level,
53
+ message: entry.message,
54
+ timestamp: entry.timestamp,
55
+ logger: entry.logger,
56
+ context: entry.context,
57
+ durationMs: entry.durationMs,
58
+ // Serialize error if present
59
+ error: entry.error
60
+ ? {
61
+ name: entry.error.name,
62
+ message: entry.error.message,
63
+ stack: entry.error.stack,
64
+ }
65
+ : undefined,
66
+ };
67
+ }
68
+ if (formatter) {
69
+ // Also include formatted text if a formatter is provided
70
+ payload.formatted = formatter.format(entry);
71
+ }
72
+ // Write to the data stream
73
+ // Use type assertion to bypass strict stream part type checking
74
+ // This follows the same pattern as task.ts for custom data streaming
75
+ writer.write({
76
+ type: "data-log",
77
+ data: payload,
78
+ });
79
+ },
80
+ };
81
+ }
82
+ /**
83
+ * Creates a complete streaming observability setup.
84
+ *
85
+ * Returns transports configured to stream observability data to clients.
86
+ *
87
+ * @param options - Streaming options
88
+ * @returns An object with configured transports
89
+ *
90
+ * @example
91
+ * ```typescript
92
+ * const { logTransport } = createStreamingObservability({
93
+ * writer: streamingContext.writer,
94
+ * });
95
+ *
96
+ * const logger = createLogger({
97
+ * transports: [logTransport],
98
+ * });
99
+ * ```
100
+ *
101
+ * @category Observability
102
+ */
103
+ export function createStreamingObservability(options) {
104
+ const { writer, streamLogs = true, logFormatter } = options;
105
+ return {
106
+ logTransport: streamLogs
107
+ ? createStreamingLogTransport({
108
+ writer,
109
+ formatter: logFormatter,
110
+ })
111
+ : null,
112
+ };
113
+ }
114
+ //# sourceMappingURL=streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/observability/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAqC;IAC/E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEhF,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,KAAK,CAAC,KAAe;YACnB,yBAAyB;YACzB,MAAM,OAAO,GAA4B;gBACvC,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,oDAAoD;gBACpD,OAAO,CAAC,KAAK,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,6BAA6B;oBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAChB,CAAC,CAAC;4BACE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;4BACtB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;4BAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;yBACzB;wBACH,CAAC,CAAC,SAAS;iBACd,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,yDAAyD;gBACzD,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;YAED,2BAA2B;YAC3B,gEAAgE;YAChE,qEAAqE;YACrE,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;aACwB,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC;AAyBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAsC;IAGjF,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAE5D,OAAO;QACL,YAAY,EAAE,UAAU;YACtB,CAAC,CAAC,2BAA2B,CAAC;gBAC1B,MAAM;gBACN,SAAS,EAAE,YAAY;aACxB,CAAC;YACJ,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC"}