veadk-python 0.2.15__py3-none-any.whl → 0.2.17__py3-none-any.whl

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 (66) hide show
  1. veadk/a2a/remote_ve_agent.py +56 -1
  2. veadk/agent.py +118 -26
  3. veadk/agents/loop_agent.py +22 -9
  4. veadk/agents/parallel_agent.py +21 -9
  5. veadk/agents/sequential_agent.py +18 -9
  6. veadk/auth/veauth/apmplus_veauth.py +32 -39
  7. veadk/auth/veauth/ark_veauth.py +3 -1
  8. veadk/auth/veauth/utils.py +12 -0
  9. veadk/auth/veauth/viking_mem0_veauth.py +91 -0
  10. veadk/cli/cli.py +5 -1
  11. veadk/cli/cli_create.py +83 -42
  12. veadk/cli/cli_deploy.py +36 -1
  13. veadk/cli/cli_eval.py +55 -0
  14. veadk/cli/cli_init.py +44 -3
  15. veadk/cli/cli_kb.py +36 -1
  16. veadk/cli/cli_pipeline.py +66 -1
  17. veadk/cli/cli_prompt.py +16 -1
  18. veadk/cli/cli_uploadevalset.py +15 -1
  19. veadk/cli/cli_web.py +35 -4
  20. veadk/cloud/cloud_agent_engine.py +142 -25
  21. veadk/cloud/cloud_app.py +219 -12
  22. veadk/config.py +12 -1
  23. veadk/configs/database_configs.py +4 -0
  24. veadk/configs/model_configs.py +5 -1
  25. veadk/configs/tracing_configs.py +2 -2
  26. veadk/evaluation/adk_evaluator/adk_evaluator.py +77 -17
  27. veadk/evaluation/base_evaluator.py +219 -3
  28. veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py +116 -1
  29. veadk/evaluation/eval_set_file_loader.py +20 -0
  30. veadk/evaluation/eval_set_recorder.py +54 -0
  31. veadk/evaluation/types.py +32 -0
  32. veadk/evaluation/utils/prometheus.py +61 -0
  33. veadk/knowledgebase/backends/base_backend.py +14 -1
  34. veadk/knowledgebase/backends/in_memory_backend.py +10 -1
  35. veadk/knowledgebase/backends/opensearch_backend.py +26 -0
  36. veadk/knowledgebase/backends/redis_backend.py +29 -2
  37. veadk/knowledgebase/backends/vikingdb_knowledge_backend.py +43 -5
  38. veadk/knowledgebase/knowledgebase.py +173 -12
  39. veadk/memory/long_term_memory.py +148 -4
  40. veadk/memory/long_term_memory_backends/mem0_backend.py +11 -0
  41. veadk/memory/short_term_memory.py +119 -5
  42. veadk/runner.py +412 -1
  43. veadk/tools/builtin_tools/llm_shield.py +381 -0
  44. veadk/tools/builtin_tools/mcp_router.py +9 -2
  45. veadk/tools/builtin_tools/run_code.py +30 -6
  46. veadk/tools/builtin_tools/web_search.py +38 -154
  47. veadk/tracing/base_tracer.py +28 -1
  48. veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py +105 -1
  49. veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py +260 -0
  50. veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py +69 -0
  51. veadk/tracing/telemetry/attributes/extractors/types.py +78 -0
  52. veadk/tracing/telemetry/exporters/apmplus_exporter.py +157 -0
  53. veadk/tracing/telemetry/exporters/base_exporter.py +8 -0
  54. veadk/tracing/telemetry/exporters/cozeloop_exporter.py +60 -1
  55. veadk/tracing/telemetry/exporters/inmemory_exporter.py +118 -1
  56. veadk/tracing/telemetry/exporters/tls_exporter.py +66 -0
  57. veadk/tracing/telemetry/opentelemetry_tracer.py +117 -4
  58. veadk/tracing/telemetry/telemetry.py +118 -2
  59. veadk/utils/misc.py +7 -0
  60. veadk/version.py +1 -1
  61. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/METADATA +1 -1
  62. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/RECORD +66 -64
  63. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/WHEEL +0 -0
  64. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/entry_points.txt +0 -0
  65. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/licenses/LICENSE +0 -0
  66. {veadk_python-0.2.15.dist-info → veadk_python-0.2.17.dist-info}/top_level.txt +0 -0
@@ -21,7 +21,7 @@ from typing import Any
21
21
  from opentelemetry import trace as trace_api
22
22
  from opentelemetry.sdk import trace as trace_sdk
23
23
  from opentelemetry.sdk.resources import Resource
24
- from opentelemetry.sdk.trace import TracerProvider, SpanLimits
24
+ from opentelemetry.sdk.trace import SpanLimits, TracerProvider
25
25
  from opentelemetry.sdk.trace.export import BatchSpanProcessor, SimpleSpanProcessor
26
26
  from pydantic import BaseModel, ConfigDict, Field, field_validator
27
27
  from typing_extensions import override
@@ -31,8 +31,8 @@ from veadk.tracing.telemetry.exporters.apmplus_exporter import APMPlusExporter
31
31
  from veadk.tracing.telemetry.exporters.base_exporter import BaseExporter
32
32
  from veadk.tracing.telemetry.exporters.inmemory_exporter import InMemoryExporter
33
33
  from veadk.utils.logger import get_logger
34
- from veadk.utils.patches import patch_google_adk_telemetry
35
34
  from veadk.utils.misc import get_temp_dir
35
+ from veadk.utils.patches import patch_google_adk_telemetry
36
36
 
37
37
  logger = get_logger(__name__)
38
38
 
@@ -40,10 +40,58 @@ logger = get_logger(__name__)
40
40
  def _update_resource_attributions(
41
41
  provider: TracerProvider, resource_attributes: dict
42
42
  ) -> None:
43
+ """Update the resource attributes of a TracerProvider instance.
44
+
45
+ This function merges new resource attributes with the existing ones in the
46
+ provider, allowing dynamic configuration of telemetry metadata.
47
+
48
+ Args:
49
+ provider: The TracerProvider instance to update
50
+ resource_attributes: Dictionary of attributes to merge with existing resources
51
+ """
43
52
  provider._resource = provider._resource.merge(Resource.create(resource_attributes))
44
53
 
45
54
 
46
55
  class OpentelemetryTracer(BaseModel, BaseTracer):
56
+ """OpenTelemetry-based tracer implementation for comprehensive agent observability.
57
+
58
+ This class provides a complete tracing solution using OpenTelemetry standards,
59
+ supporting multiple exporters for different observability platforms. It captures
60
+ detailed execution traces including LLM calls, tool invocations, and agent workflow
61
+ patterns for debugging and performance analysis.
62
+
63
+ Key Features:
64
+ - Multi-exporter support (APMPlus, in-memory, custom exporters)
65
+ - Thread-safe span processing with configurable limits
66
+ - Local trace dumping with JSON serialization
67
+ - Resource attribute management for metadata enrichment
68
+ - Force flush capabilities for immediate data export
69
+
70
+ Architecture:
71
+ The tracer initializes a global TracerProvider with custom span processors for
72
+ each configured exporter. It maintains an internal in-memory exporter for local
73
+ operations while supporting external observability platforms simultaneously.
74
+
75
+ Attributes:
76
+ name: Identifier for this tracer instance, used in file naming and logging
77
+ exporters: List of exporter instances for sending trace data to different backends
78
+
79
+ Examples:
80
+ Basic usage with APMPlus exporter:
81
+ ```python
82
+ exporters = [
83
+ CozeloopExporter(),
84
+ APMPlusExporter(),
85
+ TLSExporter(),
86
+ ]
87
+ tracer = OpentelemetryTracer(exporters=exporters)
88
+ ```
89
+
90
+ Note:
91
+ - InMemoryExporter cannot be explicitly added to exporters list
92
+ - Span limits are set to 4096 attributes for comprehensive data capture
93
+ """
94
+
47
95
  model_config = ConfigDict(arbitrary_types_allowed=True)
48
96
 
49
97
  name: str = Field(
@@ -60,12 +108,31 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
60
108
  @field_validator("exporters")
61
109
  @classmethod
62
110
  def forbid_inmemory_exporter(cls, v: list[BaseExporter]) -> list[BaseExporter]:
111
+ """Validate that InMemoryExporter is not explicitly added to exporters list.
112
+
113
+ InMemoryExporter is automatically managed internally and should not be
114
+ included in the user-provided exporters list to avoid conflicts.
115
+
116
+ Args:
117
+ v: List of exporter instances to validate
118
+
119
+ Returns:
120
+ list[BaseExporter]: The validated list of exporters
121
+
122
+ Raises:
123
+ ValueError: If InMemoryExporter is found in the exporters list
124
+ """
63
125
  for e in v:
64
126
  if isinstance(e, InMemoryExporter):
65
127
  raise ValueError("InMemoryExporter is not allowed in exporters list")
66
128
  return v
67
129
 
68
130
  def model_post_init(self, context: Any) -> None:
131
+ """Initialize the tracer after model construction.
132
+
133
+ This method performs post-initialization setup including Google ADK
134
+ telemetry patching and global tracer provider configuration.
135
+ """
69
136
  # Replace Google ADK tracing funcs
70
137
  # `trace_call_llm` and `trace_tool_call`
71
138
  patch_google_adk_telemetry()
@@ -78,6 +145,12 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
78
145
  self._init_global_tracer_provider()
79
146
 
80
147
  def _init_global_tracer_provider(self) -> None:
148
+ """Initialize the global OpenTelemetry tracer provider with configured exporters.
149
+
150
+ This method sets up the global tracer provider, configures span processors
151
+ for each exporter, and ensures proper resource attribution. It also handles
152
+ duplicate exporter detection and in-memory span collection setup.
153
+ """
81
154
  # set provider anyway, then get global provider
82
155
  trace_api.set_tracer_provider(
83
156
  trace_sdk.TracerProvider(
@@ -131,19 +204,33 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
131
204
  ) + global_tracer_provider._active_span_processor._span_processors
132
205
 
133
206
  self._processors.append(self._inmemory_exporter.processor)
207
+ self.exporters.append(self._inmemory_exporter)
134
208
  else:
135
209
  logger.warning(
136
210
  "InMemoryExporter processor is not initialized, cannot add to OpentelemetryTracer."
137
211
  )
138
212
 
139
- logger.info(f"Init OpentelemetryTracer with {len(self._processors)} exporters.")
213
+ logger.info(
214
+ f"Init OpentelemetryTracer with {len(self._processors)} exporter(s)."
215
+ )
140
216
 
141
217
  @property
142
218
  def trace_file_path(self) -> str:
219
+ """Get the file path of the most recent trace dump.
220
+
221
+ Returns:
222
+ str: Full path to the trace file, or placeholder if not yet dumped
223
+ """
143
224
  return self._trace_file_path
144
225
 
145
226
  @property
146
227
  def trace_id(self) -> str:
228
+ """Get the current trace ID in hexadecimal format.
229
+
230
+ Returns:
231
+ str: Hexadecimal representation of the current trace ID, or
232
+ placeholder string if trace ID cannot be retrieved
233
+ """
147
234
  try:
148
235
  trace_id = hex(int(self._inmemory_exporter._exporter.trace_id))[2:] # type: ignore
149
236
  return trace_id
@@ -152,7 +239,12 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
152
239
  return self._trace_id
153
240
 
154
241
  def force_export(self) -> None:
155
- """Force to export spans in all processors."""
242
+ """Force immediate export of all pending spans across all processors.
243
+
244
+ This method triggers force_flush on all configured span processors,
245
+ ensuring that buffered span data is immediately sent to exporters.
246
+ Includes a small delay between flushes to prevent overwhelming exporters.
247
+ """
156
248
  for processor in self._processors:
157
249
  time.sleep(0.05)
158
250
  processor.force_flush()
@@ -164,6 +256,27 @@ class OpentelemetryTracer(BaseModel, BaseTracer):
164
256
  session_id: str = "unknown_session_id",
165
257
  path: str = get_temp_dir(),
166
258
  ) -> str:
259
+ """Dump collected trace data to a local JSON file.
260
+
261
+ This method exports all spans associated with the current session to a
262
+ structured JSON file for offline analysis. The file includes span metadata,
263
+ timing information, attributes, and parent-child relationships.
264
+
265
+ Args:
266
+ user_id: User identifier for trace organization and file naming
267
+ session_id: Session identifier for filtering and organizing spans
268
+ path: Directory path for the output file. Defaults to system temp directory
269
+
270
+ Returns:
271
+ str: Full path to the created trace file, or empty string if export fails
272
+
273
+ Note:
274
+ - Forces export of all pending spans before dumping
275
+ - Filters spans by session_id for relevant data only
276
+ - File format is structured JSON with span details and relationships
277
+ - Supports non-ASCII characters for international content
278
+ """
279
+
167
280
  def _build_trace_file_path(path: str, user_id: str, session_id: str) -> str:
168
281
  return f"{path}/{self.name}_{user_id}_{session_id}_{self.trace_id}.json"
169
282
 
@@ -43,6 +43,17 @@ def _upload_call_llm_metrics(
43
43
  llm_request: LlmRequest,
44
44
  llm_response: LlmResponse,
45
45
  ) -> None:
46
+ """Upload LLM call metrics to configured meter uploaders.
47
+
48
+ This function extracts meter uploaders from agent tracers and records
49
+ LLM call metrics including token usage, latency, and request/response details.
50
+
51
+ Args:
52
+ invocation_context: Context containing agent, session, and user information
53
+ event_id: Unique identifier for this LLM call event
54
+ llm_request: The request sent to the language model
55
+ llm_response: The response received from the language model
56
+ """
46
57
  from veadk.agent import Agent
47
58
 
48
59
  if isinstance(invocation_context.agent, Agent):
@@ -62,6 +73,19 @@ def _upload_tool_call_metrics(
62
73
  args: dict[str, Any],
63
74
  function_response_event: Event,
64
75
  ):
76
+ """Upload tool call metrics to the global meter uploader.
77
+
78
+ Records tool execution metrics including function name, arguments,
79
+ execution time, and response details for observability and debugging.
80
+
81
+ Args:
82
+ tool: The tool instance that was executed
83
+ args: Arguments passed to the tool function
84
+ function_response_event: Event containing the tool's response data
85
+
86
+ Note:
87
+ - Requires global meter_uploader to be initialized
88
+ """
65
89
  global meter_uploader
66
90
  if meter_uploader:
67
91
  meter_uploader.record_tool_call(tool, args, function_response_event)
@@ -74,8 +98,21 @@ def _upload_tool_call_metrics(
74
98
  def _set_agent_input_attribute(
75
99
  span: Span, invocation_context: InvocationContext
76
100
  ) -> None:
77
- # We only save the original user input as the agent input
78
- # hence once the `agent.input` has been set, we don't overwrite it
101
+ """Set agent input attributes and events on the given span.
102
+
103
+ This function captures the original user input and adds it as span attributes
104
+ and events in OpenTelemetry format. It handles both text and image content
105
+ while avoiding duplicate entries for the same input.
106
+
107
+ Args:
108
+ span: The OpenTelemetry span to annotate with input data
109
+ invocation_context: Context containing user input and session information
110
+
111
+ Note:
112
+ - Only sets input once per span to avoid duplication
113
+ - Supports multimodal content (text and images)
114
+ - Follows gen_ai attribute conventions
115
+ """
79
116
  event_names = [event.name for event in span.events]
80
117
  if "gen_ai.user.message" in event_names:
81
118
  return
@@ -132,6 +169,19 @@ def _set_agent_input_attribute(
132
169
 
133
170
 
134
171
  def _set_agent_output_attribute(span: Span, llm_response: LlmResponse) -> None:
172
+ """Set agent output attributes and events on the given span.
173
+
174
+ Captures the LLM response content and adds it as span attributes and events
175
+ in OpenTelemetry format for tracing and observability purposes.
176
+
177
+ Args:
178
+ span: The OpenTelemetry span to annotate with output data
179
+ llm_response: The language model response containing generated content
180
+
181
+ Note:
182
+ - Follows gen_ai attribute conventions
183
+ - Handles multipart responses with proper indexing
184
+ """
135
185
  content = llm_response.content
136
186
  if content and content.parts:
137
187
  # set gen_ai.output attribute required by APMPlus
@@ -156,6 +206,24 @@ def set_common_attributes_on_model_span(
156
206
  current_span: _Span,
157
207
  **kwargs,
158
208
  ) -> None:
209
+ """Set common attributes on model-related spans including invocation and agent run spans.
210
+
211
+ This function applies standardized attributes across multiple span types to ensure
212
+ consistent telemetry data. It handles token usage accumulation, input/output
213
+ annotation, and hierarchical span attribute propagation.
214
+
215
+ Key Operations:
216
+ - Sets agent input/output on invocation and agent run spans
217
+ - Accumulates token usage across multiple LLM calls
218
+ - Applies common attributes from the ATTRIBUTES mapping
219
+ - Handles span hierarchy and context propagation
220
+
221
+ Args:
222
+ invocation_context: Context containing agent, session, and user information
223
+ llm_response: The language model response with usage metadata
224
+ current_span: The current OpenTelemetry span being processed
225
+ **kwargs: Additional keyword arguments for attribute extraction
226
+ """
159
227
  common_attributes = ATTRIBUTES.get("common", {})
160
228
  try:
161
229
  invocation_span: Span = get_value("invocation_span_instance") # type: ignore
@@ -207,6 +275,14 @@ def set_common_attributes_on_model_span(
207
275
 
208
276
 
209
277
  def set_common_attributes_on_tool_span(current_span: _Span) -> None:
278
+ """Set common attributes on tool execution spans.
279
+
280
+ Propagates common attributes from the parent invocation span to tool spans
281
+ to maintain consistent context across the execution trace hierarchy.
282
+
283
+ Args:
284
+ current_span: The tool execution span to annotate with common attributes
285
+ """
210
286
  common_attributes = ATTRIBUTES.get("common", {})
211
287
 
212
288
  invocation_span: Span = get_value("invocation_span_instance") # type: ignore
@@ -226,6 +302,25 @@ def trace_tool_call(
226
302
  args: dict[str, Any],
227
303
  function_response_event: Event,
228
304
  ) -> None:
305
+ """Trace a tool function call with comprehensive telemetry data.
306
+
307
+ This function is the main entry point for tool call tracing, capturing
308
+ execution details, arguments, responses, and performance metrics for
309
+ debugging and observability purposes.
310
+
311
+ Tracing Data Captured:
312
+ - Tool name and function signature
313
+ - Input arguments and parameter values
314
+ - Execution timing and performance metrics
315
+ - Response data and return values
316
+ - Error information if execution fails
317
+ - Common context attributes (user, session, agent)
318
+
319
+ Args:
320
+ tool: The tool instance being executed
321
+ args: Dictionary of arguments passed to the tool function
322
+ function_response_event: Event containing the tool's execution response
323
+ """
229
324
  span = trace.get_current_span()
230
325
 
231
326
  set_common_attributes_on_tool_span(current_span=span) # type: ignore
@@ -246,6 +341,27 @@ def trace_call_llm(
246
341
  llm_request: LlmRequest,
247
342
  llm_response: LlmResponse,
248
343
  ) -> None:
344
+ """Trace a language model call with comprehensive telemetry data.
345
+
346
+ This function is the main entry point for LLM call tracing, capturing
347
+ request/response details, token usage, timing, and context information
348
+ for cost tracking, performance analysis, and debugging.
349
+
350
+ Tracing Data Captured:
351
+ - Model name and provider information
352
+ - Request parameters and prompt content
353
+ - Response content and metadata
354
+ - Token usage (input, output, total)
355
+ - Execution timing and latency
356
+ - Context information (user, session, agent)
357
+ - Error information if the call fails
358
+
359
+ Args:
360
+ invocation_context: Context containing agent, session, and user information
361
+ event_id: Unique identifier for this LLM call event
362
+ llm_request: The request object sent to the language model
363
+ llm_response: The response object received from the language model
364
+ """
249
365
  span: Span = trace.get_current_span() # type: ignore
250
366
 
251
367
  from veadk.agent import Agent
veadk/utils/misc.py CHANGED
@@ -128,6 +128,10 @@ def getenv(
128
128
 
129
129
 
130
130
  def set_envs(config_yaml_path: str) -> tuple[dict, dict]:
131
+ from veadk.utils.logger import get_logger
132
+
133
+ logger = get_logger(__name__)
134
+
131
135
  with open(config_yaml_path, "r", encoding="utf-8") as yaml_file:
132
136
  config_dict = safe_load(yaml_file)
133
137
 
@@ -138,6 +142,9 @@ def set_envs(config_yaml_path: str) -> tuple[dict, dict]:
138
142
  k = k.upper()
139
143
 
140
144
  if k in os.environ:
145
+ logger.info(
146
+ f"Environment variable {k} has been set, value in `config.yaml` will be ignored."
147
+ )
141
148
  veadk_environments[k] = os.environ[k]
142
149
  continue
143
150
  veadk_environments[k] = str(v)
veadk/version.py CHANGED
@@ -12,4 +12,4 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- VERSION = "0.2.15"
15
+ VERSION = "0.2.17"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: veadk-python
3
- Version: 0.2.15
3
+ Version: 0.2.17
4
4
  Summary: Volcengine agent development kit, integrations with Volcengine cloud services.
5
5
  Author-email: Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>, Zhi Han <sliverydayday@gmail.com>, Meng Wang <mengwangwm@gmail.com>
6
6
  License: Apache License
@@ -1,61 +1,62 @@
1
1
  veadk/__init__.py,sha256=9l1lyb9ifhHQeetmIBWZnIdwUCVyMyz1EnKsKz8BBG8,1135
2
- veadk/agent.py,sha256=4ijmzPXvY9iAx4s2NqBzwJ0VEYSWiUezeP2OvQFO9ek,11108
2
+ veadk/agent.py,sha256=O2EMA5_KcviqkT6bebpMbNNRLpztOFX5fmDDLbjMRgs,15018
3
3
  veadk/agent_builder.py,sha256=HI7mRrUZ72_7i-jVzNDx1anTZHy7UxX7jr2Drxxx6j8,3031
4
- veadk/config.py,sha256=Ezl9Lna9iriC_Uf7m1ZXTWzylLyd7YspUFAQqh94Ong,3203
4
+ veadk/config.py,sha256=pirKse9MH9RQmgepM41vgVg9_22t2aa_6i-yuTipnxk,3578
5
5
  veadk/consts.py,sha256=8FcwnvKxQM50r8HDQxnhI-Ml_mjyfYdkGDxbyPBrW5Q,2679
6
- veadk/runner.py,sha256=_DGNwX-t3sHJFJvHs-rRHXbjCZza8I_zU8AN3Fw5nRY,14217
6
+ veadk/runner.py,sha256=6oXLcHKK5_bbfj2M5NT30DB4QVt_uIXtgMFi2HykNb8,29486
7
7
  veadk/types.py,sha256=zOOzG-QJy-MkzHeicWJzy2_L5U4ERrWziPubIUEbd8c,1656
8
- veadk/version.py,sha256=-EVFW0QaHo8J5OMZ85ZjabO4mH-EANB98VS91-Dnab8,654
8
+ veadk/version.py,sha256=SNAZbadGRMJVunmX0uubBirEHTevEZEPl_h8axnAf4E,654
9
9
  veadk/a2a/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
10
10
  veadk/a2a/agent_card.py,sha256=lhtgW1acMpxYUdULHEZwVFXOi6Xh4lNkf4S7QIhbFFI,1525
11
- veadk/a2a/remote_ve_agent.py,sha256=L2nzT8PlDI-lLtcaTJqk-D2Uvw9beKl8OEUqp-8qCbA,3510
11
+ veadk/a2a/remote_ve_agent.py,sha256=M0a8CIPmwiogZjcjBG3qhPRsP_jquQoixHYH5tcDD9M,6106
12
12
  veadk/a2a/ve_a2a_server.py,sha256=U1RVRx_GAfLw2nCacy80O8wC67MfCTXn5x-dCfKCYXg,2492
13
13
  veadk/a2a/ve_agent_executor.py,sha256=PSF5akKxVosLOXQ_Kb75PO8u1Lrm2Zj6OnRT5-U6VE8,2646
14
14
  veadk/a2a/ve_task_store.py,sha256=rxwQ-j7Ffe4LnLwpKbweQk4ofwMQx9UL6k3zaDrFIXg,1234
15
- veadk/agents/loop_agent.py,sha256=iGLG86HeIFicmJc9jauSPr974CjywGlmWjtfjU6CO44,2025
16
- veadk/agents/parallel_agent.py,sha256=XmobJHMONvsFyaaDSlnaPW9DbtHkX84X9Kvky1Ns04M,2266
17
- veadk/agents/sequential_agent.py,sha256=5sG-m0BqC3mU73Vx-PmG-4ags76J0iIvP70SiHaozao,2061
15
+ veadk/agents/loop_agent.py,sha256=GNnbcXPqpf1znmArlkNAoNshLYuv0xYzl15ctpsSenI,2851
16
+ veadk/agents/parallel_agent.py,sha256=Db020GXwLfllyQAlxYzvOmDzRNeT6WduQSEJ5PkM3L4,3064
17
+ veadk/agents/sequential_agent.py,sha256=suotuWjDI6LGTxXSsFGSRVs5pl0NFD0-FoB86zatlUo,2839
18
18
  veadk/auth/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
19
19
  veadk/auth/base_auth.py,sha256=Iwp6QAuFrJNxqXSolXkIRlK8krS0FjQKpx_fVjF-2b8,789
20
20
  veadk/auth/veauth/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
21
- veadk/auth/veauth/apmplus_veauth.py,sha256=zuUg8fEdvYCFUBNN5VrpSQo8IcA_L02bvTy5qVllZWM,2052
22
- veadk/auth/veauth/ark_veauth.py,sha256=K3n5nI8R-PtL5TssiX5CFOSdsUQagTOpVvjC9OoyiFA,2279
21
+ veadk/auth/veauth/apmplus_veauth.py,sha256=pZb-6ILfyRdOtq6w9vGVzjA2oUyh1dUE5dTwG8jN5CU,1970
22
+ veadk/auth/veauth/ark_veauth.py,sha256=4t9JEWws9rt4UfbdT75g9YFx0iyluagU0jEVbaAtHSU,2363
23
23
  veadk/auth/veauth/base_veauth.py,sha256=y8H_1a_gldt6hDHGBjYDc4xI7IhguNxMGONt_kx5Snc,1519
24
24
  veadk/auth/veauth/cozeloop_veauth.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
25
25
  veadk/auth/veauth/opensearch_veauth.py,sha256=nJ8n3Ru4uyTM4yZx4OvmnzLmjbP66kU7hyFjD3_ZbAM,2580
26
26
  veadk/auth/veauth/postgresql_veauth.py,sha256=oxi9KH78qc-36yQI90aqO24cCuGdFt3HBApxAf8czEA,2580
27
27
  veadk/auth/veauth/prompt_pilot_veauth.py,sha256=cls1LK2Un4cOMfHdaAqRhDHIXuk7cTuAThojEF5tHKo,1913
28
- veadk/auth/veauth/utils.py,sha256=cVEKWQZeX5fzx3JLB1odv59D8lhOAF1Pb3rsgO6evmM,2152
28
+ veadk/auth/veauth/utils.py,sha256=XCDznHfxXHirJOW-9iFkqgzcejgZm0qOfunTJ0BGxmQ,2500
29
29
  veadk/auth/veauth/vesearch_veauth.py,sha256=rgup3VBbRSLligrsDFOEwpneq1BEtFwf9xpgNFWHKqc,2008
30
+ veadk/auth/veauth/viking_mem0_veauth.py,sha256=V8Jhr6M3CB2V41oe5KoMozgHFAERC3TJ9U87K-FgBtk,2922
30
31
  veadk/cli/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
31
- veadk/cli/cli.py,sha256=Iti595PE0g_R04njivyl0_fgNlPEYhCP-9j9ZkN80vQ,1496
32
- veadk/cli/cli_create.py,sha256=1qsTCww60rotvMPi_ASjKEe9nAoqxtEQ6mo1d7jDJnE,3949
33
- veadk/cli/cli_deploy.py,sha256=-P4PmXLGByypXGksshBT7BQ0U42hIvlHibXd_k4YfhQ,5328
34
- veadk/cli/cli_eval.py,sha256=TVSraCTyTxo_pLu5fhtk3TiZUOZkN3G2BLam1ybFXBc,5446
35
- veadk/cli/cli_init.py,sha256=f2A3RwUj9pApmUTl6FHmMwTTwyKl83pkvZRorTgl-XM,3982
36
- veadk/cli/cli_kb.py,sha256=SmLz3g6o2LiPa6WzkdyAOExuboHkpAIrN-4qaH4rxn8,1962
37
- veadk/cli/cli_pipeline.py,sha256=6FV4WyoapFPAy_P3dzrRm07m6aGjrtLiY4aCFT7CEHs,7510
38
- veadk/cli/cli_prompt.py,sha256=atw6O3zkjD1tOsFOOg7rs9HbS4exwaNe_Pces6CoyFY,2582
39
- veadk/cli/cli_uploadevalset.py,sha256=RdelvbXEBalXGxHnPJ-8ZQ1PRiex39328yhAWgZ5mAI,4342
40
- veadk/cli/cli_web.py,sha256=B8VQVqEH05XoJYYcGT9FKBHItQ1Wd6BhWuNZv9_1YEA,3992
32
+ veadk/cli/cli.py,sha256=BvOgNsn8zub_ya4XV5tgbEf_YBHb3W_cmCtf-uXb6vw,1697
33
+ veadk/cli/cli_create.py,sha256=9L4pmDFMJ0f501EhCrTAL0mSZHVEdb_e0rlqUpfGXrM,6165
34
+ veadk/cli/cli_deploy.py,sha256=TppjVwlm4wbapw25jgorlvMOObEHDyZahnJEsGuxLF0,7311
35
+ veadk/cli/cli_eval.py,sha256=VZWdQkdKIbL7g2fLGgK8IRyw_GhSfrtEpNUFfWh8kEU,8653
36
+ veadk/cli/cli_init.py,sha256=7KcGkdt7nZuih-QbanO7pG-n-PsyB5PAqZFwVCf7uPg,6138
37
+ veadk/cli/cli_kb.py,sha256=8o0faQrx_wT38-cDBz1jRT2Qh1jskqGQaNKaB69MU88,4207
38
+ veadk/cli/cli_pipeline.py,sha256=M4nFjeyMaQRglZY5V5-IJQM2WoKMXq0olPC8khhnpkc,11384
39
+ veadk/cli/cli_prompt.py,sha256=tJgWWWcIL8ieCS_W5EIjI20VSZ637ZpKSLAXuf9Va8I,3268
40
+ veadk/cli/cli_uploadevalset.py,sha256=OgQfLEZ8uLyt4oRR6_30nvy1vELWkNagc_8sl5tEmsY,5243
41
+ veadk/cli/cli_web.py,sha256=d_0O97Ikh92deBki93Q6-XvmwQDP5ZKg_3ZBSUA8kNM,5236
41
42
  veadk/cloud/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
42
- veadk/cloud/cloud_agent_engine.py,sha256=u-v-kkAhRgZY1r82CQRwfkYnj0n7ft8qIW_r-yhnMSI,8461
43
- veadk/cloud/cloud_app.py,sha256=2bmEf7RH1Kwz8HLZ0aY3pVn0R8xi1T7kcGRTRyaWawY,8746
43
+ veadk/cloud/cloud_agent_engine.py,sha256=qqSwqh5GBGA6Z-0fKzCHqVDzSGHYVcvoClphalOwo8s,13018
44
+ veadk/cloud/cloud_app.py,sha256=fTtIjZWLOZiRsZfl-lLNuFAtt1zeaNlxm2a7mJslgns,15760
44
45
  veadk/configs/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
45
- veadk/configs/database_configs.py,sha256=oOqPlpyCR2QmGZ3fxm3t-UoeXK4T3ux7nw6rDevhxNE,2916
46
- veadk/configs/model_configs.py,sha256=izAbuM7i2GgOBsGNr3MEs574KTHMOIP3Vm5tlN7STOg,2378
46
+ veadk/configs/database_configs.py,sha256=HB2mcEf98YZl1blYy4cENS0vJw8eq4QIJCCBFoQUzZk,2968
47
+ veadk/configs/model_configs.py,sha256=1Fx_sDpbGsnUqhZtVOBqf6bAn4F6dGVBMQf3DPGsByU,2498
47
48
  veadk/configs/tool_configs.py,sha256=1BR7-D7mIHug8gI1SEN6_1bUfhXAl1JTZRfvGdfqg0c,1453
48
- veadk/configs/tracing_configs.py,sha256=bwfi4JjKvdTjEwbaSVOdnWetcA72vgPiaF5odUlI9gI,3489
49
+ veadk/configs/tracing_configs.py,sha256=IhHtEKryqh6xh4ZIqhENeuK41J7Ko-ZmoU_xrgSCKIE,3491
49
50
  veadk/evaluation/__init__.py,sha256=Pwnv6x-QaQQiv4J_QNnR-Asl7wN0laF92EX9n0Sll1U,713
50
- veadk/evaluation/base_evaluator.py,sha256=FYv_OQcBbYdODnpuY4QW_DF_HKuUfby-mL3_dhazxt0,15247
51
- veadk/evaluation/eval_set_file_loader.py,sha256=AkKZpLXKdHve6SLDl4HJDRbBsTBXFyFgC8iykscJOf4,1130
52
- veadk/evaluation/eval_set_recorder.py,sha256=B2Pq6htd_4965uMQFUSxtBOh6WwXJGUSk_2dwk1nxzU,3167
53
- veadk/evaluation/types.py,sha256=YxRkPBGpUtZuP7lsnXEpCoU4_HqY2DeCdjMXk7ZPgEE,954
51
+ veadk/evaluation/base_evaluator.py,sha256=S9kB184J-qLXKeZnhGYv_njFzqtf4-QvCJDFLwNJixA,21798
52
+ veadk/evaluation/eval_set_file_loader.py,sha256=KDFj9D-1wU6_xwUPBjn1EpC-CbEuMuVkx0pP5EeS8hQ,1678
53
+ veadk/evaluation/eval_set_recorder.py,sha256=QYkTIId6i0fr65LkSMmUp4bLPErug6tkM2-HjW_G_KE,5068
54
+ veadk/evaluation/types.py,sha256=Nh4DQx1f7a8Tbr1zHGWJzr1qI0dFimhtsE_u6jbwGa0,2023
54
55
  veadk/evaluation/adk_evaluator/__init__.py,sha256=t_vAjCiA6PD7oIWJ9qx_vWnvbytN_Ha5Jfs3ZWjdzyY,703
55
- veadk/evaluation/adk_evaluator/adk_evaluator.py,sha256=xHoATLG61Ox9xEwyw3wWuGkVskRki18DtE33qnY4H2Y,11026
56
+ veadk/evaluation/adk_evaluator/adk_evaluator.py,sha256=de3VJMedwVOt6LzzVUxrGjSJMAsqHf0V2pOmKOTf0JQ,12911
56
57
  veadk/evaluation/deepeval_evaluator/__init__.py,sha256=lLGtRvWhwDy4u7hmtZxZbPmdMzM58pSjEwEF34NqW-4,718
57
- veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py,sha256=cI2XdJVzGfFdJPOmT5NCYJdLourtgtf4KqKTlUMvYWA,8870
58
- veadk/evaluation/utils/prometheus.py,sha256=6i_HuGqqh3cRDwjZCtk4i37iN_IGqRg0YJRQMSp1kaU,3836
58
+ veadk/evaluation/deepeval_evaluator/deepeval_evaluator.py,sha256=tnawft5bNWmfMLHlkrM_QCKXf3bWNvtWBdh_p37EGpU,13137
59
+ veadk/evaluation/utils/prometheus.py,sha256=R_hsB_G3IM6n5sCfL0-QtGLJ-6z_ZR-eh0U92ROmHao,6415
59
60
  veadk/integrations/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
60
61
  veadk/integrations/ve_apig/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
61
62
  veadk/integrations/ve_apig/ve_apig.py,sha256=B4yPiNTGeXKFdji8RHWrCKmv0RomhfbCKgHM3IhaziU,8931
@@ -111,22 +112,22 @@ veadk/integrations/ve_viking_db_memory/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL4
111
112
  veadk/integrations/ve_viking_db_memory/ve_viking_db_memory.py,sha256=gX5asox3VDra6o1BIg7AickPec0-Vj8_lgZ1zz5ue5Y,10165
112
113
  veadk/knowledgebase/__init__.py,sha256=k-5WM0DAqNq94Dg64Rl12ozoS1BnE9i-MY_ZOR2s2CQ,705
113
114
  veadk/knowledgebase/entry.py,sha256=j6VsXRAyjZryIFntnoNfjbH8fsD9_fDSjoHIL5h0Y1U,917
114
- veadk/knowledgebase/knowledgebase.py,sha256=gfHBxmfAGTFc1y13PMpB455G3YW0qE1zHjiUPM9iS3s,5642
115
+ veadk/knowledgebase/knowledgebase.py,sha256=KV7gzJ7nnGEVx0E4pf_X3xpXcKyNu9Gz19y9caE-U4g,10828
115
116
  veadk/knowledgebase/backends/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
116
- veadk/knowledgebase/backends/base_backend.py,sha256=gqkJNIASc-ZrJ2e4enIeUvI9CWucCn2OZX-bb5hyTPw,2104
117
- veadk/knowledgebase/backends/in_memory_backend.py,sha256=uC4_LCkjp9DFQzTgTKzEr6yw1hcNUpZ0h7WSR0fpifc,3332
118
- veadk/knowledgebase/backends/opensearch_backend.py,sha256=4oChkqd25RvL460p1-D7noxQIoZVlD03aB61pKREqNw,4953
119
- veadk/knowledgebase/backends/redis_backend.py,sha256=pc-T_QicyAmOp6KbMz0V8iIL1ZlKCKQpdNB9SkaNqm8,5226
117
+ veadk/knowledgebase/backends/base_backend.py,sha256=VTI2xN5S963UfX8QrgJkd52LmCNT3tsBaDP7MefBL7U,2369
118
+ veadk/knowledgebase/backends/in_memory_backend.py,sha256=juBlqKhlsHl0W9FHnV0j3hJo-Ix5ossPvkG0xEtbX4Q,3662
119
+ veadk/knowledgebase/backends/opensearch_backend.py,sha256=ZSOb3UrEMnSiMl79kGbyCO-uX3aIoFh1sak8hBn2aT8,5723
120
+ veadk/knowledgebase/backends/redis_backend.py,sha256=vgkEbqXoMEkGVS-eUHglmBPPEizHvRisHkHEUmDJX4w,5970
120
121
  veadk/knowledgebase/backends/utils.py,sha256=383La0fsmPcbJEpGWk54EP8p8QO1SP_ThqJPmRWa5Rs,2705
121
- veadk/knowledgebase/backends/vikingdb_knowledge_backend.py,sha256=khk33XDDdeK1tb84lHtTAjtuZQLmubZFo3shyd70YLs,19245
122
+ veadk/knowledgebase/backends/vikingdb_knowledge_backend.py,sha256=nVzj-oMxZZ3R5XWOKy_ILxyV2Vs4FeoxczRqr-UA8RQ,20500
122
123
  veadk/memory/__init__.py,sha256=GRIoRqapS2gUtRMB9JZvodU29PwMxFe2KDjPnVpqib0,1252
123
- veadk/memory/long_term_memory.py,sha256=122uacyNsKkUIfsc5Vru8lMGsJKE0A7JJqddLaxX-ls,7838
124
- veadk/memory/short_term_memory.py,sha256=MLR2Op_l_Zr-ZKCJ7pyNhe_OzPG06Zcb8pt8qA_zrFY,4922
124
+ veadk/memory/long_term_memory.py,sha256=VFuRhUBz9-XiSh2miZsGy2jOFy_mO7-0UKOCt99OvxU,13214
125
+ veadk/memory/short_term_memory.py,sha256=JxrIsYlX7DiyIxj5_gDenTzyBWZsAnRZaMl38euPZQw,9093
125
126
  veadk/memory/short_term_memory_processor.py,sha256=vqmYSUNFGXEogJ8ZxIAhSSrv66LGT8eEHCzxF9h07LA,3276
126
127
  veadk/memory/long_term_memory_backends/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
127
128
  veadk/memory/long_term_memory_backends/base_backend.py,sha256=FDBBUCLEfe8bxkpra1FFGieZZFT_YC8B3kdHx9pKgwo,1223
128
129
  veadk/memory/long_term_memory_backends/in_memory_backend.py,sha256=0IKRqstS3Rtm8ePf55XpfLhIjomIGep3SwwlUZ4PFvY,2714
129
- veadk/memory/long_term_memory_backends/mem0_backend.py,sha256=sj6OxMHA4oG6kuzTMK5zsGEIIa0-ESPrRYv6dR3KI8E,4869
130
+ veadk/memory/long_term_memory_backends/mem0_backend.py,sha256=5F2DVhQk4q8MexpYXQdamYreD2exiNaXzeu8BMYFpzc,5409
130
131
  veadk/memory/long_term_memory_backends/opensearch_backend.py,sha256=u5odPUv0fchH3IsZNTH0-nNpdW4KwkWojRQi3cn52Wo,4567
131
132
  veadk/memory/long_term_memory_backends/redis_backend.py,sha256=0XX21AJA4UwEqrteXdgOr5WAfuo31wK1fMLUtXMssfg,5262
132
133
  veadk/memory/long_term_memory_backends/vikingdb_memory_backend.py,sha256=TfAtQXiJ-iZLRKPTBMakQTwRoHdDsN0l2R5udNFJatY,6683
@@ -149,42 +150,43 @@ veadk/tools/builtin_tools/image_edit.py,sha256=KslsuabBchAYR3ZrWSO5viEe5ORUAe0GI
149
150
  veadk/tools/builtin_tools/image_generate.py,sha256=frBUYEmizq6B4cRIUTfWKpLF2RywposJf-hZ8kkZvV8,18075
150
151
  veadk/tools/builtin_tools/lark.py,sha256=b2IWsN8fZFh9aweSGznaOqA30TCOLpVjNCDNa1LHZl4,2046
151
152
  veadk/tools/builtin_tools/las.py,sha256=rgKfnK5GsHVbmkp-rc7rtCvWg-yYNxMjeV0ayCyRpjM,913
153
+ veadk/tools/builtin_tools/llm_shield.py,sha256=ErT7FcweH855D36zpx98ppbwLRA-uUx_u06HdxZ-Tgc,14396
152
154
  veadk/tools/builtin_tools/load_knowledgebase.py,sha256=Xqtq25DL720goRegCVmmkpH2Ye2VWLcrF5ncC37gK_Y,3427
153
- veadk/tools/builtin_tools/mcp_router.py,sha256=l3xcIHAHQ0AGCZG3mYyhwM0btqEMDe4TY2S-UYUM8M0,883
154
- veadk/tools/builtin_tools/run_code.py,sha256=C2CRMNZYgKoyVpe4JoGtUa-Xfb48IuyNIHzF5WKJfxw,2623
155
+ veadk/tools/builtin_tools/mcp_router.py,sha256=Sn32NhtCxMWMKSVWaNStXL28oPz5fzDkR1xsf-vfTUk,1061
156
+ veadk/tools/builtin_tools/run_code.py,sha256=ay9L9YmbNGdhowof85dZx-uqXL8nbL9NQfHtYvMVYjI,3730
155
157
  veadk/tools/builtin_tools/vesearch.py,sha256=prPP0w6lYeIEPwuZdmV00RAzaW4MeH8lYtK-NluaXtU,1748
156
158
  veadk/tools/builtin_tools/video_generate.py,sha256=hlvwoLESUV8vOPiNFVNPF0ithWqH7N5c6ElMvyI-lBM,16101
157
159
  veadk/tools/builtin_tools/web_scraper.py,sha256=iVnxWVf2mVgOnEOeQ6Bg5ATYN-g1ZPCTK6VJm710be0,2408
158
- veadk/tools/builtin_tools/web_search.py,sha256=1DtdhlcxolzIvx2TyqvUNWk60BHMuLkcru8Wlw3XBtQ,6016
160
+ veadk/tools/builtin_tools/web_search.py,sha256=ba5UMZIAQl-BTvjty2zEwroNWAnIeWOiuR8W1DJd_oQ,2739
159
161
  veadk/tools/sandbox/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
160
162
  veadk/tools/sandbox/browser_sandbox.py,sha256=2YxGM8BIQ1uCY73FDfkWWq72cOCFbp6YLsXIqRWEoSM,1172
161
163
  veadk/tools/sandbox/code_sandbox.py,sha256=iOB7XxJxbckmnXOOUwzQ5t_0Tq1IA3JITEywKB6t7oM,1244
162
164
  veadk/tools/sandbox/computer_sandbox.py,sha256=e0d3pwaxBbLLihK-rFv2tUU7bmAwPTvSphr2fC9bJBo,1150
163
165
  veadk/tracing/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
164
- veadk/tracing/base_tracer.py,sha256=AQQopQ81Y1dGt3BF1iT8el5iSJC7HH5NrW9sU9R92v8,1098
166
+ veadk/tracing/base_tracer.py,sha256=6jAPOm1rQyAmCIvvegaytm2BYHL5cbhP3pOenaLdBVM,2246
165
167
  veadk/tracing/telemetry/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
166
- veadk/tracing/telemetry/opentelemetry_tracer.py,sha256=FTuJxewyB6D9Cag3X22SfBMw1aSotohBUK_qpgYTVk8,7768
167
- veadk/tracing/telemetry/telemetry.py,sha256=qM7Y9UlxTk78Z8inigtDZEoSSsUCY7b1nOmTWfVQ1mA,11033
168
+ veadk/tracing/telemetry/opentelemetry_tracer.py,sha256=J6ZlwpUHJa5i8bQFepOWicp7JHB2KYSUEkwlGTQafQo,12522
169
+ veadk/tracing/telemetry/telemetry.py,sha256=MeMQLHlYOdAW8F2OCatoVxWeCK5I_Vkg4KutLb6wrbk,15870
168
170
  veadk/tracing/telemetry/attributes/attributes.py,sha256=t08vbKenendKdlUrs3Q94p5F8TZEjh-oewBE5ABWDsE,1074
169
- veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py,sha256=AcJEw9RFQskK0l9rii7BZJPJa-peHJtrWt8Ge0R5fLU,2753
170
- veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py,sha256=Zb8hf_Jvp9OT6g2v_5dRssk9XJJSow_DOd9lhBMCfMo,25964
171
- veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py,sha256=taCVwXY1W8P0N5mZJish2yro0OMG1R_DUgUPu7YFNKQ,3044
172
- veadk/tracing/telemetry/attributes/extractors/types.py,sha256=ggyB2I42B6I5YqymqF7s8znFFu1rp887E6Gq4gXSEJ8,3077
171
+ veadk/tracing/telemetry/attributes/extractors/common_attributes_extractors.py,sha256=L2Xtj5A5SMW_wBjSSUpM5-vA81pOHXqie8-r8FBS35A,6062
172
+ veadk/tracing/telemetry/attributes/extractors/llm_attributes_extractors.py,sha256=p48ak28tQV2-Wi5xvgRocgGV1r_bhGPIF9nPqypKlS0,34681
173
+ veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py,sha256=7KtjmbqfcG6MvwIb0d7DFpP4f9Lg8v53_cyAnGCnZzU,5479
174
+ veadk/tracing/telemetry/attributes/extractors/types.py,sha256=ZIxX6u0Evp5a7Lxy1fkmmZY4CHYhF12EDjVdFabW-_k,6867
173
175
  veadk/tracing/telemetry/exporters/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
174
- veadk/tracing/telemetry/exporters/apmplus_exporter.py,sha256=i_bFp4IvsTkRNQn0ZGSlDYF1e9tSYE_Y7aRKefkBbXk,14156
175
- veadk/tracing/telemetry/exporters/base_exporter.py,sha256=uwYhOI2xP8JDjYc99S2zolYSzjh7lgwHT0T8O4XB5Po,1184
176
- veadk/tracing/telemetry/exporters/cozeloop_exporter.py,sha256=khDCU_fMB5mPDgzGSRmxmD8K66GSvW1J4DcdLorYWWc,2498
177
- veadk/tracing/telemetry/exporters/inmemory_exporter.py,sha256=wgcXpoPqi-JQirMeqLMdVKvg1u42UYXt1cN7LpyXcFA,4952
178
- veadk/tracing/telemetry/exporters/tls_exporter.py,sha256=YODDfqZJKq3SiuDqxjERuJoOAuGErurjl_zFZr8TiGg,2674
176
+ veadk/tracing/telemetry/exporters/apmplus_exporter.py,sha256=WELMQxuxbNQ3LYkJvTEfdFlUBYId3rZ8tWzHIlmMJMA,21038
177
+ veadk/tracing/telemetry/exporters/base_exporter.py,sha256=RR5Q_6K_SB6RC11GF6xOaR1HFn0LjqeBlf9557PAhEw,1538
178
+ veadk/tracing/telemetry/exporters/cozeloop_exporter.py,sha256=oR6egen8SRm4PvyloGMsabni_-ejRVoA3lcdASNqoA4,4969
179
+ veadk/tracing/telemetry/exporters/inmemory_exporter.py,sha256=fpURcnfgZKak9fVbzXMghKrVFRm-K1ZY2eO9PMZm5Ao,9697
180
+ veadk/tracing/telemetry/exporters/tls_exporter.py,sha256=03OkGJg-i3DzZp4u7CyPuZ0h7rLt6oYbLqR4PUDxkeQ,5398
179
181
  veadk/utils/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
180
182
  veadk/utils/logger.py,sha256=e4swzeXa-qZ1U2-TDBtfKOurzy4_6t4qPJR9yngNfVg,1605
181
183
  veadk/utils/mcp_utils.py,sha256=aET7pX3LXmRe2-Jh7_xRvxrVyl1dN7uPAUk16luwMlQ,1525
182
- veadk/utils/misc.py,sha256=ghEqrqoDfKrW9ZD3IB0bwcfyyB0gRWN2yEP9eRxQ4nE,4953
184
+ veadk/utils/misc.py,sha256=wtAKfTFXWhBeQWQYxsrW0KuI63bdDxQag0izKJvkW-E,5172
183
185
  veadk/utils/patches.py,sha256=dcHdlJ8IciyMjDuMy6-_6McUqJYyLz0yHmJ0xH8lWOw,2752
184
186
  veadk/utils/volcengine_sign.py,sha256=3xn6ca2OAg_AFyP2dqFTSioqkeDel_BoKURUtCcO-EQ,6736
185
- veadk_python-0.2.15.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
186
- veadk_python-0.2.15.dist-info/METADATA,sha256=GSnIw39xRYJXY34NDHHG7CfDy2vRQlHkQN57FR6RzNo,18428
187
- veadk_python-0.2.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
188
- veadk_python-0.2.15.dist-info/entry_points.txt,sha256=-g28D6dNV-2UvAiRP9VF0oOVSDSJ5zlLUIZ34ArAqF8,46
189
- veadk_python-0.2.15.dist-info/top_level.txt,sha256=Qqi3ycJ4anKiZWBXtUBIy8zK9ZuXJsFa05oFq8O8qqY,6
190
- veadk_python-0.2.15.dist-info/RECORD,,
187
+ veadk_python-0.2.17.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
188
+ veadk_python-0.2.17.dist-info/METADATA,sha256=5-uodNWlKzdrTR7XzW6hvCslXr7mqSSJ7pyoMY30QVc,18428
189
+ veadk_python-0.2.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
190
+ veadk_python-0.2.17.dist-info/entry_points.txt,sha256=-g28D6dNV-2UvAiRP9VF0oOVSDSJ5zlLUIZ34ArAqF8,46
191
+ veadk_python-0.2.17.dist-info/top_level.txt,sha256=Qqi3ycJ4anKiZWBXtUBIy8zK9ZuXJsFa05oFq8O8qqY,6
192
+ veadk_python-0.2.17.dist-info/RECORD,,