@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.
- package/LICENSE +21 -0
- package/README.md +2321 -0
- package/dist/agent.d.ts +52 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +2122 -0
- package/dist/agent.js.map +1 -0
- package/dist/backend.d.ts +378 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +71 -0
- package/dist/backend.js.map +1 -0
- package/dist/backends/composite.d.ts +258 -0
- package/dist/backends/composite.d.ts.map +1 -0
- package/dist/backends/composite.js +437 -0
- package/dist/backends/composite.js.map +1 -0
- package/dist/backends/filesystem.d.ts +268 -0
- package/dist/backends/filesystem.d.ts.map +1 -0
- package/dist/backends/filesystem.js +623 -0
- package/dist/backends/filesystem.js.map +1 -0
- package/dist/backends/index.d.ts +14 -0
- package/dist/backends/index.d.ts.map +1 -0
- package/dist/backends/index.js +14 -0
- package/dist/backends/index.js.map +1 -0
- package/dist/backends/persistent.d.ts +312 -0
- package/dist/backends/persistent.d.ts.map +1 -0
- package/dist/backends/persistent.js +519 -0
- package/dist/backends/persistent.js.map +1 -0
- package/dist/backends/sandbox.d.ts +315 -0
- package/dist/backends/sandbox.d.ts.map +1 -0
- package/dist/backends/sandbox.js +490 -0
- package/dist/backends/sandbox.js.map +1 -0
- package/dist/backends/state.d.ts +225 -0
- package/dist/backends/state.d.ts.map +1 -0
- package/dist/backends/state.js +396 -0
- package/dist/backends/state.js.map +1 -0
- package/dist/checkpointer/file-saver.d.ts +182 -0
- package/dist/checkpointer/file-saver.d.ts.map +1 -0
- package/dist/checkpointer/file-saver.js +298 -0
- package/dist/checkpointer/file-saver.js.map +1 -0
- package/dist/checkpointer/index.d.ts +40 -0
- package/dist/checkpointer/index.d.ts.map +1 -0
- package/dist/checkpointer/index.js +40 -0
- package/dist/checkpointer/index.js.map +1 -0
- package/dist/checkpointer/kv-saver.d.ts +142 -0
- package/dist/checkpointer/kv-saver.d.ts.map +1 -0
- package/dist/checkpointer/kv-saver.js +176 -0
- package/dist/checkpointer/kv-saver.js.map +1 -0
- package/dist/checkpointer/memory-saver.d.ts +158 -0
- package/dist/checkpointer/memory-saver.d.ts.map +1 -0
- package/dist/checkpointer/memory-saver.js +222 -0
- package/dist/checkpointer/memory-saver.js.map +1 -0
- package/dist/checkpointer/types.d.ts +353 -0
- package/dist/checkpointer/types.d.ts.map +1 -0
- package/dist/checkpointer/types.js +159 -0
- package/dist/checkpointer/types.js.map +1 -0
- package/dist/context-manager.d.ts +627 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +1039 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context.d.ts +57 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +76 -0
- package/dist/context.js.map +1 -0
- package/dist/errors/index.d.ts +611 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1023 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/generation-helpers.d.ts +126 -0
- package/dist/generation-helpers.d.ts.map +1 -0
- package/dist/generation-helpers.js +181 -0
- package/dist/generation-helpers.js.map +1 -0
- package/dist/hooks/audit.d.ts +210 -0
- package/dist/hooks/audit.d.ts.map +1 -0
- package/dist/hooks/audit.js +305 -0
- package/dist/hooks/audit.js.map +1 -0
- package/dist/hooks/cache.d.ts +180 -0
- package/dist/hooks/cache.d.ts.map +1 -0
- package/dist/hooks/cache.js +273 -0
- package/dist/hooks/cache.js.map +1 -0
- package/dist/hooks/guardrails.d.ts +145 -0
- package/dist/hooks/guardrails.d.ts.map +1 -0
- package/dist/hooks/guardrails.js +326 -0
- package/dist/hooks/guardrails.js.map +1 -0
- package/dist/hooks/index.d.ts +18 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +32 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/logging.d.ts +193 -0
- package/dist/hooks/logging.d.ts.map +1 -0
- package/dist/hooks/logging.js +345 -0
- package/dist/hooks/logging.js.map +1 -0
- package/dist/hooks/parallel-guardrails.d.ts +268 -0
- package/dist/hooks/parallel-guardrails.d.ts.map +1 -0
- package/dist/hooks/parallel-guardrails.js +416 -0
- package/dist/hooks/parallel-guardrails.js.map +1 -0
- package/dist/hooks/rate-limit.d.ts +305 -0
- package/dist/hooks/rate-limit.d.ts.map +1 -0
- package/dist/hooks/rate-limit.js +372 -0
- package/dist/hooks/rate-limit.js.map +1 -0
- package/dist/hooks/retry.d.ts +144 -0
- package/dist/hooks/retry.d.ts.map +1 -0
- package/dist/hooks/retry.js +210 -0
- package/dist/hooks/retry.js.map +1 -0
- package/dist/hooks/secrets.d.ts +174 -0
- package/dist/hooks/secrets.d.ts.map +1 -0
- package/dist/hooks/secrets.js +306 -0
- package/dist/hooks/secrets.js.map +1 -0
- package/dist/hooks.d.ts +229 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +352 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +182 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/env.d.ts +25 -0
- package/dist/mcp/env.d.ts.map +1 -0
- package/dist/mcp/env.js +18 -0
- package/dist/mcp/env.js.map +1 -0
- package/dist/mcp/index.d.ts +16 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +17 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/manager.d.ts +184 -0
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +446 -0
- package/dist/mcp/manager.js.map +1 -0
- package/dist/mcp/types.d.ts +58 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +7 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/validation.d.ts +119 -0
- package/dist/mcp/validation.d.ts.map +1 -0
- package/dist/mcp/validation.js +407 -0
- package/dist/mcp/validation.js.map +1 -0
- package/dist/mcp/virtual-server.d.ts +78 -0
- package/dist/mcp/virtual-server.d.ts.map +1 -0
- package/dist/mcp/virtual-server.js +137 -0
- package/dist/mcp/virtual-server.js.map +1 -0
- package/dist/memory/filesystem-store.d.ts +217 -0
- package/dist/memory/filesystem-store.d.ts.map +1 -0
- package/dist/memory/filesystem-store.js +343 -0
- package/dist/memory/filesystem-store.js.map +1 -0
- package/dist/memory/index.d.ts +46 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +46 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/loader.d.ts +396 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +419 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/permissions.d.ts +282 -0
- package/dist/memory/permissions.d.ts.map +1 -0
- package/dist/memory/permissions.js +297 -0
- package/dist/memory/permissions.js.map +1 -0
- package/dist/memory/rules.d.ts +249 -0
- package/dist/memory/rules.d.ts.map +1 -0
- package/dist/memory/rules.js +362 -0
- package/dist/memory/rules.js.map +1 -0
- package/dist/memory/store.d.ts +286 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +263 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/middleware/apply.d.ts +73 -0
- package/dist/middleware/apply.d.ts.map +1 -0
- package/dist/middleware/apply.js +219 -0
- package/dist/middleware/apply.js.map +1 -0
- package/dist/middleware/context.d.ts +33 -0
- package/dist/middleware/context.d.ts.map +1 -0
- package/dist/middleware/context.js +176 -0
- package/dist/middleware/context.js.map +1 -0
- package/dist/middleware/index.d.ts +31 -0
- package/dist/middleware/index.d.ts.map +1 -0
- package/dist/middleware/index.js +32 -0
- package/dist/middleware/index.js.map +1 -0
- package/dist/middleware/logging.d.ts +137 -0
- package/dist/middleware/logging.d.ts.map +1 -0
- package/dist/middleware/logging.js +374 -0
- package/dist/middleware/logging.js.map +1 -0
- package/dist/middleware/types.d.ts +183 -0
- package/dist/middleware/types.d.ts.map +1 -0
- package/dist/middleware/types.js +11 -0
- package/dist/middleware/types.js.map +1 -0
- package/dist/observability/events.d.ts +183 -0
- package/dist/observability/events.d.ts.map +1 -0
- package/dist/observability/events.js +305 -0
- package/dist/observability/events.js.map +1 -0
- package/dist/observability/index.d.ts +55 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +87 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +318 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +436 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/metrics.d.ts +341 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +490 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/observability/preset.d.ts +161 -0
- package/dist/observability/preset.d.ts.map +1 -0
- package/dist/observability/preset.js +133 -0
- package/dist/observability/preset.js.map +1 -0
- package/dist/observability/streaming.d.ts +113 -0
- package/dist/observability/streaming.d.ts.map +1 -0
- package/dist/observability/streaming.js +114 -0
- package/dist/observability/streaming.js.map +1 -0
- package/dist/observability/tracing.d.ts +378 -0
- package/dist/observability/tracing.d.ts.map +1 -0
- package/dist/observability/tracing.js +539 -0
- package/dist/observability/tracing.js.map +1 -0
- package/dist/plugins.d.ts +55 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +63 -0
- package/dist/plugins.js.map +1 -0
- package/dist/presets/index.d.ts +7 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +7 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/production.d.ts +262 -0
- package/dist/presets/production.d.ts.map +1 -0
- package/dist/presets/production.js +295 -0
- package/dist/presets/production.js.map +1 -0
- package/dist/security/index.d.ts +179 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +323 -0
- package/dist/security/index.js.map +1 -0
- package/dist/subagents/advanced.d.ts +413 -0
- package/dist/subagents/advanced.d.ts.map +1 -0
- package/dist/subagents/advanced.js +396 -0
- package/dist/subagents/advanced.js.map +1 -0
- package/dist/subagents/index.d.ts +14 -0
- package/dist/subagents/index.d.ts.map +1 -0
- package/dist/subagents/index.js +15 -0
- package/dist/subagents/index.js.map +1 -0
- package/dist/subagents.d.ts +73 -0
- package/dist/subagents.d.ts.map +1 -0
- package/dist/subagents.js +213 -0
- package/dist/subagents.js.map +1 -0
- package/dist/task-store/file-store.d.ts +76 -0
- package/dist/task-store/file-store.d.ts.map +1 -0
- package/dist/task-store/file-store.js +190 -0
- package/dist/task-store/file-store.js.map +1 -0
- package/dist/task-store/index.d.ts +11 -0
- package/dist/task-store/index.d.ts.map +1 -0
- package/dist/task-store/index.js +10 -0
- package/dist/task-store/index.js.map +1 -0
- package/dist/task-store/kv-store.d.ts +140 -0
- package/dist/task-store/kv-store.d.ts.map +1 -0
- package/dist/task-store/kv-store.js +169 -0
- package/dist/task-store/kv-store.js.map +1 -0
- package/dist/task-store/memory-store.d.ts +66 -0
- package/dist/task-store/memory-store.d.ts.map +1 -0
- package/dist/task-store/memory-store.js +125 -0
- package/dist/task-store/memory-store.js.map +1 -0
- package/dist/task-store/types.d.ts +235 -0
- package/dist/task-store/types.d.ts.map +1 -0
- package/dist/task-store/types.js +110 -0
- package/dist/task-store/types.js.map +1 -0
- package/dist/testing/assertions.d.ts +401 -0
- package/dist/testing/assertions.d.ts.map +1 -0
- package/dist/testing/assertions.js +630 -0
- package/dist/testing/assertions.js.map +1 -0
- package/dist/testing/index.d.ts +343 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +360 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock-agent.d.ts +214 -0
- package/dist/testing/mock-agent.d.ts.map +1 -0
- package/dist/testing/mock-agent.js +448 -0
- package/dist/testing/mock-agent.js.map +1 -0
- package/dist/testing/recorder.d.ts +288 -0
- package/dist/testing/recorder.d.ts.map +1 -0
- package/dist/testing/recorder.js +499 -0
- package/dist/testing/recorder.js.map +1 -0
- package/dist/tools/execute.d.ts +104 -0
- package/dist/tools/execute.d.ts.map +1 -0
- package/dist/tools/execute.js +191 -0
- package/dist/tools/execute.js.map +1 -0
- package/dist/tools/factory.d.ts +260 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +241 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/filesystem.d.ts +215 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +311 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/index.d.ts +33 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/search.d.ts +59 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +94 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/skills.d.ts +354 -0
- package/dist/tools/skills.d.ts.map +1 -0
- package/dist/tools/skills.js +413 -0
- package/dist/tools/skills.js.map +1 -0
- package/dist/tools/task.d.ts +272 -0
- package/dist/tools/task.d.ts.map +1 -0
- package/dist/tools/task.js +521 -0
- package/dist/tools/task.js.map +1 -0
- package/dist/tools/todos.d.ts +131 -0
- package/dist/tools/todos.d.ts.map +1 -0
- package/dist/tools/todos.js +120 -0
- package/dist/tools/todos.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +424 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +607 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/user-interaction.d.ts +116 -0
- package/dist/tools/user-interaction.d.ts.map +1 -0
- package/dist/tools/user-interaction.js +147 -0
- package/dist/tools/user-interaction.js.map +1 -0
- package/dist/tools/utils.d.ts +124 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +189 -0
- package/dist/tools/utils.js.map +1 -0
- package/dist/tools.d.ts +74 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +73 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +2421 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +55 -0
- package/dist/types.js.map +1 -0
- 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":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,+BAA+B,EAA4B,MAAM,qBAAqB,CAAC;AAEhG,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,qBAAqB,GAGtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,kBAAkB,EAClB,qBAAqB,GAGtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,yBAAyB,EACzB,YAAY,GAIb,MAAM,cAAc,CAAC;AAiGtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAAsC,EAAE;IAExC,MAAM,EACJ,IAAI,GAAG,OAAO,EACd,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,IAAI,EACpB,aAAa,GAAG,IAAI,EACpB,WAAW,GAAG,IAAI,EAClB,aAAa,GAAG,EAAE,EAClB,cAAc,GAAG,EAAE,EACnB,aAAa,GAAG,EAAE,EAClB,mBAAmB,GAAG,EAAE,EACxB,aAAa,GACd,GAAG,OAAO,CAAC;IAEZ,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,gBAAgB;IAChB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;YAC3B,IAAI;YACJ,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,CAAC,sBAAsB,EAAE,CAAC;YACtC,SAAS,EAAE,qBAAqB,EAAE;YAClC,GAAG,aAAa;SACjB,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IACjB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,CAAC,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,CAAC,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB;IAChB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,aAAa,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;YAC3B,IAAI;YACJ,SAAS;YACT,GAAG,aAAa;SACjB,CAAC,CAAC;IACL,CAAC;IAED,eAAe;IACf,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,KAAmC,CAAC;QAExC,uDAAuD;QACvD,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,+BAA+B,CAAC;gBACtF,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9C,MAAM,EAAE,IAAI,IAAI,GAAG;gBACnB,SAAS,EAAE,IAAI;gBACf,GAAG,mBAAmB;aACvB,CAAC,CAAC;YAEH,KAAK,GAAG;gBACN,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClE,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,mBAAmB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC1E,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAClE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,kBAAkB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC1E,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACjE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -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"}
|