@iqai/adk 0.5.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,135 @@
1
1
  # @iqai/adk
2
2
 
3
+ ## 0.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - c2f9b02: ## Comprehensive Telemetry System Overhaul
8
+
9
+ This release introduces a complete redesign of the telemetry system with extensive features for observability and monitoring.
10
+
11
+ ### ✨ New Features
12
+
13
+ **Modular Architecture**
14
+
15
+ - Refactored from monolithic to service-based design
16
+ - Separate modules for tracing, metrics, setup, and utilities
17
+ - Clean `telemetryService` API replacing low-level functions
18
+
19
+ **Metrics Support**
20
+
21
+ - Full metrics collection with OpenTelemetry SDK
22
+ - Counters: agent invocations, tool executions, LLM calls
23
+ - Histograms: duration tracking, token usage (input/output/total)
24
+ - OTLP HTTP exporter for metrics
25
+
26
+ **Privacy Controls**
27
+
28
+ - `ADK_CAPTURE_MESSAGE_CONTENT` environment variable
29
+ - Fine-grained control over sensitive data capture
30
+ - Disable prompt/completion logging for production
31
+
32
+ **Semantic Conventions**
33
+
34
+ - OpenTelemetry GenAI conventions (v1.37+)
35
+ - ADK-specific namespace (`adk.*`) for custom attributes
36
+ - Standardized attribute names across all spans
37
+
38
+ **Enhanced Tracing**
39
+
40
+ - Automatic agent invocation tracing with status tracking
41
+ - Tool execution spans with arguments and results
42
+ - LLM call tracing with token usage metrics
43
+ - Async generator support for streaming responses
44
+
45
+ **Resource Auto-Detection**
46
+
47
+ - Automatic detection of host, OS, and process information
48
+ - Custom resource attributes support
49
+ - Service instance identification
50
+
51
+ **Configuration**
52
+
53
+ - Comprehensive initialization options
54
+ - Sampling ratio control for production
55
+ - Configurable metric export intervals
56
+ - Custom OTLP headers for authentication
57
+
58
+ ### 🔧 Breaking Changes
59
+
60
+ - `initializeTelemetry()` → `telemetryService.initialize()`
61
+ - `shutdownTelemetry()` → `telemetryService.shutdown()`
62
+ - Legacy `telemetry.ts` now wraps new service for backward compatibility
63
+
64
+ ### 📊 Integration
65
+
66
+ All core components now automatically report metrics:
67
+
68
+ - `BaseAgent.runAsyncInternal()`: Agent metrics
69
+ - `functions.ts`: Tool execution metrics
70
+ - `base-llm-flow.ts`: LLM token and duration metrics
71
+
72
+ ### 📚 Documentation
73
+
74
+ - Comprehensive README in `src/telemetry/`
75
+ - Updated observability example with Jaeger + Langfuse
76
+ - Practical examples demonstrating all features
77
+
78
+ ### 🛠️ Technical Details
79
+
80
+ **Dependencies Added**:
81
+
82
+ - `@opentelemetry/sdk-metrics@^2.1.0`
83
+ - `@opentelemetry/exporter-metrics-otlp-http@^0.205.0`
84
+
85
+ **Supported Backends**:
86
+
87
+ - Jaeger (local development)
88
+ - Langfuse
89
+ - Datadog
90
+ - New Relic
91
+ - Any OTLP-compatible backend
92
+
93
+ This release provides a production-ready observability foundation for AI applications built with ADK.
94
+
95
+ ### Patch Changes
96
+
97
+ - 7186de5: Fix: Convert Zod schemas to JSON Schema in BasicLlmRequestProcessor
98
+ - 1387333: Improvements to telementry
99
+
100
+ ## Unreleased
101
+
102
+ ### Major Changes
103
+
104
+ - **BREAKING: Telemetry aligned with OpenTelemetry GenAI Semantic Conventions v1.38.0**
105
+
106
+ The ADK telemetry system has been updated to fully comply with the latest OpenTelemetry GenAI semantic conventions. This ensures better interoperability with industry-standard observability platforms and provides richer, more standardized telemetry data.
107
+
108
+ **Breaking Changes:**
109
+
110
+ - `gen_ai.system` → `gen_ai.provider.name` (automatic provider detection from model names)
111
+ - `gen_ai.usage.total_tokens` removed (compute client-side: input + output)
112
+ - `call_llm` operation deprecated in favor of standard `chat`, `text_completion`, `generate_content`
113
+ - `traceCallback` signature changed: removed unused `targetName` parameter
114
+
115
+ **New Features:**
116
+
117
+ - Automatic provider detection (OpenAI, Anthropic, Google, AWS Bedrock, Mistral, Groq, Cohere, etc.)
118
+ - Enhanced LLM attributes: `response.id`, `response.model`, `output.type`, `top_k`, `frequency_penalty`, `presence_penalty`, `stop_sequences`, `seed`
119
+ - Structured content capture: `system_instructions`, `input.messages`, `output.messages`, `tool.definitions`
120
+ - Agent ID tracking: `gen_ai.agent.id` for unique agent identification
121
+ - Tool argument/result capture: `gen_ai.tool.call.arguments`, `gen_ai.tool.call.result`
122
+ - Standard metrics constants: `gen_ai.client.operation.duration`, `gen_ai.client.token.usage`
123
+ - Error type tracking: `error.type` attribute for low-cardinality error identification
124
+
125
+ **Backward Compatibility:**
126
+
127
+ - Deprecated constants are still available but will be removed in v1.0.0
128
+ - All `adk.*` namespace attributes remain unchanged
129
+ - Legacy content events preserved for one release cycle
130
+
131
+ See [TELEMETRY_MIGRATION.md](./TELEMETRY_MIGRATION.md) for detailed migration guide.
132
+
3
133
  ## 0.5.9
4
134
 
5
135
  ### Patch Changes
package/README.md CHANGED
@@ -1,34 +1,29 @@
1
1
  <div align="center">
2
-
3
- <img src="https://files.catbox.moe/vumztw.png" alt="ADK TypeScript Logo" width="100" />
4
-
5
- <br/>
6
-
7
- # @iqai/adk
8
-
9
- **The core TypeScript library for building sophisticated AI agents with multi-LLM support, advanced tools, and flexible conversation flows.**
10
-
11
- *Production-ready Multi-Agent Systems • Extensible Architecture*
12
-
13
- <p align="center">
14
- <a href="https://www.npmjs.com/package/@iqai/adk">
15
- <img src="https://img.shields.io/npm/v/@iqai/adk" alt="NPM Version" />
16
- </a>
17
- <a href="https://www.npmjs.com/package/@iqai/adk">
18
- <img src="https://img.shields.io/npm/dm/@iqai/adk" alt="NPM Downloads" />
19
- </a>
20
- <a href="https://github.com/IQAIcom/adk-ts/blob/main/LICENSE.md">
21
- <img src="https://img.shields.io/npm/l/@iqai/adk" alt="License" />
22
- </a>
23
- <a href="https://github.com/IQAIcom/adk-ts">
24
- <img src="https://img.shields.io/github/stars/IQAIcom/adk-ts?style=social" alt="GitHub Stars" />
25
- </a>
26
- </p>
2
+ <img src="https://files.catbox.moe/vumztw.png" alt="ADK-TS Logo" width="100" />
3
+ <br/>
4
+ <h1>@iqai/adk</h1>
5
+ <b>The core TypeScript library for building sophisticated AI agents with multi-LLM support, advanced tools, and flexible conversation flows.</b>
6
+ <br/>
7
+ <i>Production-ready • Multi-Agent Systems • Extensible Architecture</i>
8
+
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/@iqai/adk">
11
+ <img src="https://img.shields.io/npm/v/@iqai/adk" alt="NPM Version" />
12
+ </a>
13
+ <a href="https://www.npmjs.com/package/@iqai/adk">
14
+ <img src="https://img.shields.io/npm/dm/@iqai/adk" alt="NPM Downloads" />
15
+ </a>
16
+ <a href="https://github.com/IQAIcom/adk-ts/blob/main/LICENSE.md">
17
+ <img src="https://img.shields.io/npm/l/@iqai/adk" alt="License" />
18
+ </a>
19
+ <a href="https://github.com/IQAIcom/adk-ts">
20
+ <img src="https://img.shields.io/github/stars/IQAIcom/adk-ts?style=social" alt="GitHub Stars" />
21
+ </a>
22
+ </p>
23
+ </div>
27
24
 
28
25
  ---
29
26
 
30
- </div>
31
-
32
27
  ## 🌟 Overview
33
28
 
34
29
  `@iqai/adk` is the core TypeScript library for the Agent Development Kit, providing the foundational tools and abstractions to build sophisticated AI agents. It enables seamless integration with multiple Large Language Models (LLMs), advanced tool usage, and persistent memory capabilities.