Class: Braintrust::Contrib::Anthropic::Integration

Inherits:
Object
  • Object
show all
Includes:
Integration
Defined in:
lib/braintrust/contrib/anthropic/integration.rb

Overview

Anthropic integration for automatic instrumentation. Instruments the anthropic gem (github.com/anthropics/anthropic-sdk-ruby).

Constant Summary collapse

MINIMUM_VERSION =
"0.3.0"
GEM_NAMES =
["anthropic"].freeze
REQUIRE_PATHS =
["anthropic"].freeze

Class Method Summary collapse

Methods included from Integration

included

Class Method Details

.gem_namesArray<String>

Returns Gem names this integration supports.

Returns:

  • (Array<String>)

    Gem names this integration supports



24
25
26
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 24

def self.gem_names
  GEM_NAMES
end

.integration_nameSymbol

Returns Unique identifier for this integration.

Returns:

  • (Symbol)

    Unique identifier for this integration



19
20
21
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 19

def self.integration_name
  :anthropic
end

.loaded?Boolean

Returns true if anthropic gem is available.

Returns:

  • (Boolean)

    true if anthropic gem is available



39
40
41
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 39

def self.loaded?
  defined?(::Anthropic::Client) ? true : false
end

.minimum_versionString

Returns Minimum compatible version.

Returns:

  • (String)

    Minimum compatible version



34
35
36
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 34

def self.minimum_version
  MINIMUM_VERSION
end

.patchersArray<Class>

Lazy-load the patchers only when actually patching. This keeps the integration stub lightweight.

Returns:

  • (Array<Class>)

    The patcher classes



46
47
48
49
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 46

def self.patchers
  require_relative "patcher"
  [MessagesPatcher, BetaMessagesPatcher]
end

.require_pathsArray<String>

Returns Require paths for auto-instrument detection.

Returns:

  • (Array<String>)

    Require paths for auto-instrument detection



29
30
31
# File 'lib/braintrust/contrib/anthropic/integration.rb', line 29

def self.require_paths
  REQUIRE_PATHS
end