traceloop-sdk 0.0.7 → 0.0.9

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/traceloop/sdk.rb +39 -3
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef7f96edbf9739fbb0a916f70b76e96d46dbd51a0968296be422a274ed0419e2
4
- data.tar.gz: 539dad2f13ce3d802da2b156528a0dcd482c753a576d53d98f96976422927389
3
+ metadata.gz: aa126a00cd1a17a9673730f6f36665194ba344f6c41ff6d119f390847ba61d3a
4
+ data.tar.gz: 172b32d5b27e33e5942d8839616f0200238107ad23fb926113e2f2d33e2dee3b
5
5
  SHA512:
6
- metadata.gz: 24df823be0d6409af0deabbaef16be493f52676372824ab5d7676085ae03a60ac3e503ef1c139063f9e934c98c980592eb84c2f307f10572d07f0c654a385db8
7
- data.tar.gz: 13d57f55b9d4ada1346dbd7909b59c9a65a6561f915595323918b7afd8555707bda4f8fdc3a533fbb3fd5b494d80a496c194ec8e51fb1051157ec3b5201ee0d7
6
+ metadata.gz: 020241b009988594de7117820d7d2ae506eb5ce4358a1157cba189348809e9e0c097031ff3ecebc474a0802538febe06146b28ca4931dc229e481a43d0d78ef2
7
+ data.tar.gz: 2951e9c4263b28f0f8060b014dd96bb0fb44e6666883622da529a463b1e1570d1369277331b63b92f47cee7fc26db8b9a0acd7f010130de90a056f83fdaa65d4
data/lib/traceloop/sdk.rb CHANGED
@@ -46,12 +46,12 @@ module Traceloop
46
46
  end
47
47
 
48
48
  def log_response(response)
49
+ if response.respond_to?(:body)
50
+ log_bedrock_response(response)
49
51
  # This is Gemini specific, see -
50
52
  # https://github.com/gbaptista/gemini-ai?tab=readme-ov-file#generate_content
51
- if response.has_key?("candidates")
53
+ elsif response.has_key?("candidates")
52
54
  log_gemini_response(response)
53
- elsif response.has_key?("body")
54
- log_bedrock_response(response)
55
55
  else
56
56
  log_openai_response(response)
57
57
  end
@@ -122,6 +122,42 @@ module Traceloop
122
122
  yield Tracer.new(span, provider, model)
123
123
  end
124
124
  end
125
+
126
+ def workflow(name):
127
+ @tracer.in_span(name) do |span|
128
+ span.add_attributes({
129
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_SPAN_KIND => "workflow",
130
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_ENTITY_NAME => name,
131
+ yield
132
+ end
133
+ end
134
+
135
+ def task(name):
136
+ @tracer.in_span(name) do |span|
137
+ span.add_attributes({
138
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_SPAN_KIND => "task",
139
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_ENTITY_NAME => name,
140
+ yield
141
+ end
142
+ end
143
+
144
+ def agent(name):
145
+ @tracer.in_span(name) do |span|
146
+ span.add_attributes({
147
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_SPAN_KIND => "agent",
148
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_ENTITY_NAME => name,
149
+ yield
150
+ end
151
+ end
152
+
153
+ def tool(name):
154
+ @tracer.in_span(name) do |span|
155
+ span.add_attributes({
156
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_SPAN_KIND => "tool",
157
+ OpenTelemetry::SemanticConventionsAi::SpanAttributes::TRACELOOP_ENTITY_NAME => name,
158
+ yield
159
+ end
160
+ end
125
161
  end
126
162
  end
127
163
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traceloop-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Traceloop