payloop 0.1.1 → 0.4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/payloop/api/invocation.rb +2 -4
- data/lib/payloop/attribution.rb +4 -2
- data/lib/payloop/client.rb +13 -0
- data/lib/payloop/config.rb +23 -2
- data/lib/payloop/errors.rb +3 -0
- data/lib/payloop/sentinel.rb +10 -1
- data/lib/payloop/version.rb +1 -1
- data/lib/payloop/wrappers/anthropic.rb +10 -3
- data/lib/payloop/wrappers/base.rb +31 -26
- data/lib/payloop/wrappers/constants.rb +2 -0
- data/lib/payloop/wrappers/geminiai.rb +22 -7
- data/lib/payloop/wrappers/google.rb +14 -5
- data/lib/payloop/wrappers/groq.rb +295 -0
- data/lib/payloop/wrappers/openai.rb +144 -6
- data/lib/payloop/wrappers/ruby_llm.rb +170 -0
- data/lib/payloop.rb +2 -0
- data/sig/payloop/api/base.rbs +24 -0
- data/sig/payloop/api/invocation.rbs +16 -0
- data/sig/payloop/api/sentinel.rbs +9 -0
- data/sig/payloop/api/workflow.rbs +15 -0
- data/sig/payloop/api/workflows.rbs +16 -0
- data/sig/payloop/attribution.rbs +17 -0
- data/sig/payloop/client.rbs +29 -0
- data/sig/payloop/collector.rbs +20 -0
- data/sig/payloop/config.rbs +33 -0
- data/sig/payloop/errors.rbs +28 -0
- data/sig/payloop/sentinel.rbs +17 -0
- data/sig/payloop/version.rbs +5 -0
- data/sig/payloop/wrappers/anthropic.rbs +18 -0
- data/sig/payloop/wrappers/base.rbs +21 -0
- data/sig/payloop/wrappers/constants.rbs +10 -0
- data/sig/payloop/wrappers/geminiai.rbs +19 -0
- data/sig/payloop/wrappers/google.rbs +19 -0
- data/sig/payloop/wrappers/groq.rbs +22 -0
- data/sig/payloop/wrappers/openai.rbs +19 -0
- data/sig/payloop/wrappers/ruby_llm.rbs +21 -0
- metadata +24 -2
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module API
|
|
5
|
+
class Base
|
|
6
|
+
@original_api_url: String
|
|
7
|
+
@api_url: String
|
|
8
|
+
@api_key: String
|
|
9
|
+
@timeout: Numeric
|
|
10
|
+
|
|
11
|
+
def initialize: (String api_url, String api_key, Numeric timeout) -> void
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def get: (String path) -> untyped
|
|
15
|
+
def post: (String path, ?Hash[Symbol, untyped]? body) -> untyped
|
|
16
|
+
def put: (String path, ?Hash[Symbol, untyped]? body) -> untyped
|
|
17
|
+
def delete: (String path) -> untyped
|
|
18
|
+
def request: (Symbol method, String path, ?Hash[Symbol, untyped]? body) -> untyped
|
|
19
|
+
def build_request: (Symbol method, URI::Generic uri, Hash[Symbol, untyped]? body) -> (Net::HTTP::Delete | Net::HTTP::Get | Net::HTTP::Post | Net::HTTP::Put)
|
|
20
|
+
def handle_response: (Net::HTTPResponse response) -> untyped
|
|
21
|
+
def parse_json_response: (String? body) -> untyped
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module API
|
|
5
|
+
class Invocation < Base
|
|
6
|
+
@attribution: Hash[Symbol, untyped]?
|
|
7
|
+
|
|
8
|
+
def initialize: (String api_url, String api_key, Numeric timeout) -> void
|
|
9
|
+
def attribution: (parent_id: String, ?parent_name: String?, ?subsidiary_id: String?, ?subsidiary_name: String?) -> self
|
|
10
|
+
def summary: (String workflow_uuid, date_start: (Date | Time | String), ?date_end: (Date | Time | String)?) -> untyped
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def format_date: ((Date | Time | String) date) -> String
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module API
|
|
5
|
+
class Sentinel < Base
|
|
6
|
+
def relevance_intercept: (Hash[Symbol, untyped] payload) -> untyped
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module API
|
|
5
|
+
class Workflow < Base
|
|
6
|
+
@uuid: String
|
|
7
|
+
|
|
8
|
+
def initialize: (String uuid, String api_url, String api_key, Numeric timeout) -> void
|
|
9
|
+
def details: -> untyped
|
|
10
|
+
def update: (label: String) -> untyped
|
|
11
|
+
def destroy: -> untyped
|
|
12
|
+
def invocation: -> Payloop::API::Invocation
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module API
|
|
5
|
+
class Workflows < Base
|
|
6
|
+
@invocation: Payloop::API::Invocation
|
|
7
|
+
|
|
8
|
+
def list: -> untyped
|
|
9
|
+
def create: (name: String, ?description: String?) -> untyped
|
|
10
|
+
def details: (String uuid) -> untyped
|
|
11
|
+
def update: (String uuid, label: String) -> untyped
|
|
12
|
+
def destroy: (String uuid) -> untyped
|
|
13
|
+
def invocation: -> Payloop::API::Invocation
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Attribution
|
|
5
|
+
attr_reader parent_id: String
|
|
6
|
+
attr_reader parent_name: String?
|
|
7
|
+
attr_reader subsidiary_id: String?
|
|
8
|
+
attr_reader subsidiary_name: String?
|
|
9
|
+
def initialize: (parent_id: String, ?parent_name: String?, ?subsidiary_id: String?, ?subsidiary_name: String?) -> void
|
|
10
|
+
def to_h: -> Hash[Symbol, untyped]
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def validate_parent_id!: (untyped value) -> String
|
|
14
|
+
def validate_string_length!: (untyped value, String field_name) -> String?
|
|
15
|
+
def validate_subsidiary_requirements!: -> void
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Client
|
|
5
|
+
@openai: Payloop::Wrappers::OpenAI
|
|
6
|
+
@anthropic: Payloop::Wrappers::Anthropic
|
|
7
|
+
@google: Payloop::Wrappers::Google
|
|
8
|
+
@geminiai: Payloop::Wrappers::GeminiAI
|
|
9
|
+
@ruby_llm: Payloop::Wrappers::RubyLLM
|
|
10
|
+
@groq: Payloop::Wrappers::Groq
|
|
11
|
+
@workflows: Payloop::API::Workflows
|
|
12
|
+
|
|
13
|
+
attr_reader config: Payloop::Config
|
|
14
|
+
attr_reader collector: Payloop::Collector
|
|
15
|
+
attr_reader sentinel: Payloop::Sentinel
|
|
16
|
+
|
|
17
|
+
def initialize: (?api_key: String?, ?collector_url: String?, ?api_url: String?, ?timeout: Numeric?) -> void
|
|
18
|
+
def openai: -> Payloop::Wrappers::OpenAI
|
|
19
|
+
def anthropic: -> Payloop::Wrappers::Anthropic
|
|
20
|
+
def google: -> Payloop::Wrappers::Google
|
|
21
|
+
def geminiai: -> Payloop::Wrappers::GeminiAI
|
|
22
|
+
def ruby_llm: -> Payloop::Wrappers::RubyLLM
|
|
23
|
+
def groq: -> Payloop::Wrappers::Groq
|
|
24
|
+
def attribution: (parent_id: String, ?parent_name: String?, ?subsidiary_id: String?, ?subsidiary_name: String?) -> self
|
|
25
|
+
def new_transaction: -> self
|
|
26
|
+
def workflows: -> Payloop::API::Workflows
|
|
27
|
+
def shutdown: -> void
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Collector
|
|
5
|
+
DEFAULT_MAX_RETRIES: Integer
|
|
6
|
+
RETRY_DELAY: Integer
|
|
7
|
+
@config: Payloop::Config
|
|
8
|
+
# Concurrent::ThreadPoolExecutor — no upstream signatures available.
|
|
9
|
+
@executor: untyped
|
|
10
|
+
|
|
11
|
+
def initialize: (Payloop::Config config) -> void
|
|
12
|
+
def submit_async: (Hash[Symbol, untyped] payload) -> void
|
|
13
|
+
def submit: (Hash[Symbol, untyped] payload) -> untyped
|
|
14
|
+
def shutdown: -> void
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
def submit_with_retry: (Hash[Symbol, untyped] payload, ?Integer attempt) -> untyped
|
|
18
|
+
def post_to_collector: (Hash[Symbol, untyped] payload) -> untyped
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Config
|
|
5
|
+
# Concurrent::AtomicReference[T] — no `concurrent-ruby` signatures for
|
|
6
|
+
# that class are shipped in the public rbs_collection, so falls back to
|
|
7
|
+
# `untyped`. Refine once we add a hand-rolled stub or upstream sig.
|
|
8
|
+
@attribution: untyped
|
|
9
|
+
@tx_uuid: untyped
|
|
10
|
+
@raise_if_irrelevant: untyped
|
|
11
|
+
@secs_irrelevant_request_timeout: untyped
|
|
12
|
+
|
|
13
|
+
attr_reader api_key: String
|
|
14
|
+
attr_reader collector_url: String
|
|
15
|
+
attr_reader api_url: String
|
|
16
|
+
attr_reader timeout: Numeric
|
|
17
|
+
attr_reader version: String
|
|
18
|
+
|
|
19
|
+
def initialize: (?api_key: String?, ?collector_url: String?, ?api_url: String?, ?timeout: Numeric?) -> void
|
|
20
|
+
def attribution: -> Payloop::Attribution?
|
|
21
|
+
def attribution=: (Payloop::Attribution? value) -> void
|
|
22
|
+
def tx_uuid: -> String
|
|
23
|
+
def tx_uuid=: (String value) -> void
|
|
24
|
+
def raise_if_irrelevant: -> bool
|
|
25
|
+
def raise_if_irrelevant=: (bool value) -> void
|
|
26
|
+
def secs_irrelevant_request_timeout: -> Numeric
|
|
27
|
+
def secs_irrelevant_request_timeout=: (Numeric value) -> void
|
|
28
|
+
def new_transaction: -> String
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
def nonempty_env: (String name) -> String?
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Error < StandardError
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
class MissingAPIKeyError < Error
|
|
8
|
+
def initialize: (?String msg) -> void
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
class ValidationError < Error
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
class RegistrationError < Error
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class APIError < Error
|
|
18
|
+
attr_reader status_code: Integer?
|
|
19
|
+
attr_reader response_body: String?
|
|
20
|
+
def initialize: (String message, ?status_code: Integer?, ?response_body: String?) -> void
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
class PayloopRequestInterceptedError < Error
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
class StreamError < Error
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
class Sentinel
|
|
5
|
+
@config: Payloop::Config
|
|
6
|
+
|
|
7
|
+
def initialize: (Payloop::Config config) -> void
|
|
8
|
+
def raise_if_irrelevant: (?enabled: bool) -> self
|
|
9
|
+
def set_secs_irrelevant_request_timeout: (Numeric timeout) -> self
|
|
10
|
+
def raise_if_irrelevant!: (title: String?, request: Hash[Symbol, untyped], ?provider: String?, ?version: String?) -> void
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def make_relevance_intercept_request: (title: String?, request: Hash[Symbol, untyped], ?provider: String?, ?version: String?) -> [bool, String?]
|
|
14
|
+
def normalize_request: (Hash[Symbol, untyped] request) -> untyped
|
|
15
|
+
def remove_procs: (untyped obj) -> untyped
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class Anthropic
|
|
6
|
+
@config: Payloop::Config
|
|
7
|
+
@collector: Payloop::Collector
|
|
8
|
+
@sentinel: Payloop::Sentinel?
|
|
9
|
+
|
|
10
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
11
|
+
def register: (untyped client) -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def validate_client!: (untyped client) -> void
|
|
15
|
+
def wrap_messages_method: (untyped client) -> void
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
module Base
|
|
6
|
+
def payloop_wrap_method: (Symbol method_name, String _provider_name) -> void
|
|
7
|
+
def payloop_submit_analytics: (method: Symbol, args: Array[untyped], kwargs: Hash[Symbol, untyped], response: untyped, start_time: Time, end_time: Time, ?provider: String?, ?title: String?, ?version: String?, ?status: String, ?exception: String?) -> void
|
|
8
|
+
def payloop_submit_error_analytics: (method: Symbol, args: Array[untyped], kwargs: Hash[Symbol, untyped], error: StandardError, start_time: Time, end_time: Time, ?provider: String?, ?title: String?, ?version: String?, ?response: untyped) -> void
|
|
9
|
+
def payloop_merge_streaming_chunk: (Hash[String | Symbol, untyped] accumulated, Hash[String | Symbol, untyped] chunk) -> Hash[String | Symbol, untyped]
|
|
10
|
+
def payloop_normalize_openai_chunk: (untyped chunk) -> untyped
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def extract_query: (Symbol _method, Array[untyped] _args, Hash[Symbol, untyped] kwargs) -> Hash[Symbol, untyped]
|
|
14
|
+
def extract_response: (untyped response) -> untyped
|
|
15
|
+
def extract_instance_variables: (untyped obj) -> Hash[Symbol, untyped]
|
|
16
|
+
def serialize_value: (untyped value) -> untyped
|
|
17
|
+
def deep_copy: (untyped obj) -> untyped
|
|
18
|
+
def build_payload: (query: Hash[Symbol, untyped], response: untyped, start_time: Time, end_time: Time, config: Payloop::Config, status: String, ?provider: String?, ?title: String?, ?version: String?, ?exception: String?) -> Hash[Symbol, untyped]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class GeminiAI
|
|
6
|
+
@config: Payloop::Config
|
|
7
|
+
@collector: Payloop::Collector
|
|
8
|
+
@sentinel: Payloop::Sentinel?
|
|
9
|
+
|
|
10
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
11
|
+
def register: (untyped client) -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def validate_client!: (untyped client) -> void
|
|
15
|
+
def wrap_generate_content_method: (untyped client) -> void
|
|
16
|
+
def wrap_stream_generate_content_method: (untyped client) -> void
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class Google
|
|
6
|
+
@config: Payloop::Config
|
|
7
|
+
@collector: Payloop::Collector
|
|
8
|
+
@sentinel: Payloop::Sentinel?
|
|
9
|
+
|
|
10
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
11
|
+
def register: (untyped client) -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def validate_client!: (untyped client) -> void
|
|
15
|
+
def patch_response_class!: -> void
|
|
16
|
+
def wrap_generate_content_method: (untyped client) -> void
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class Groq
|
|
6
|
+
CHAT_COMPLETIONS_PATH: String
|
|
7
|
+
@config: Payloop::Config
|
|
8
|
+
@collector: Payloop::Collector
|
|
9
|
+
@sentinel: Payloop::Sentinel?
|
|
10
|
+
|
|
11
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
12
|
+
def register: (untyped client) -> untyped
|
|
13
|
+
def self.extract_model_title: (untyped model, String fallback) -> String
|
|
14
|
+
def self.build_error_response: (streaming: bool, accumulated: Hash[untyped, untyped]?, error: Exception) -> Hash[untyped, untyped]
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
def validate_client!: (untyped client) -> void
|
|
18
|
+
def patch_stream_handler!: () -> void
|
|
19
|
+
def wrap_post_method: (untyped client) -> void
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class OpenAI
|
|
6
|
+
@config: Payloop::Config
|
|
7
|
+
@collector: Payloop::Collector
|
|
8
|
+
@sentinel: Payloop::Sentinel?
|
|
9
|
+
|
|
10
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
11
|
+
def register: (untyped client) -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def wrap_responses_method: (untyped client) -> void
|
|
15
|
+
def validate_client!: (untyped client) -> void
|
|
16
|
+
def wrap_chat_method: (untyped client) -> void
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Starter signatures generated by typeprof + hand-refined; see CLAUDE.md
|
|
2
|
+
# "Code style: type signatures (RBS)" for the refinement convention.
|
|
3
|
+
module Payloop
|
|
4
|
+
module Wrappers
|
|
5
|
+
class RubyLLM
|
|
6
|
+
@config: Payloop::Config
|
|
7
|
+
@collector: Payloop::Collector
|
|
8
|
+
@sentinel: Payloop::Sentinel?
|
|
9
|
+
|
|
10
|
+
def initialize: (Payloop::Config config, Payloop::Collector collector, ?Payloop::Sentinel? sentinel) -> void
|
|
11
|
+
def register: (untyped client) -> untyped
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
def validate_client!: (untyped client) -> void
|
|
15
|
+
def wrap_ask_method: (untyped client) -> void
|
|
16
|
+
def build_query: (String provider, String model_id, Array[Hash[Symbol, untyped]] messages, Hash[Symbol, untyped] tools) -> Hash[Symbol, untyped]
|
|
17
|
+
def build_messages_query: (String model_id, Array[Hash[Symbol, untyped]] messages, Hash[Symbol, untyped] tools) -> Hash[Symbol, untyped]
|
|
18
|
+
def build_google_query: (String model_id, Array[Hash[Symbol, untyped]] messages, Hash[Symbol, untyped] tools) -> Hash[Symbol, untyped]
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: payloop
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Payloop
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|
|
@@ -52,7 +52,29 @@ files:
|
|
|
52
52
|
- lib/payloop/wrappers/constants.rb
|
|
53
53
|
- lib/payloop/wrappers/geminiai.rb
|
|
54
54
|
- lib/payloop/wrappers/google.rb
|
|
55
|
+
- lib/payloop/wrappers/groq.rb
|
|
55
56
|
- lib/payloop/wrappers/openai.rb
|
|
57
|
+
- lib/payloop/wrappers/ruby_llm.rb
|
|
58
|
+
- sig/payloop/api/base.rbs
|
|
59
|
+
- sig/payloop/api/invocation.rbs
|
|
60
|
+
- sig/payloop/api/sentinel.rbs
|
|
61
|
+
- sig/payloop/api/workflow.rbs
|
|
62
|
+
- sig/payloop/api/workflows.rbs
|
|
63
|
+
- sig/payloop/attribution.rbs
|
|
64
|
+
- sig/payloop/client.rbs
|
|
65
|
+
- sig/payloop/collector.rbs
|
|
66
|
+
- sig/payloop/config.rbs
|
|
67
|
+
- sig/payloop/errors.rbs
|
|
68
|
+
- sig/payloop/sentinel.rbs
|
|
69
|
+
- sig/payloop/version.rbs
|
|
70
|
+
- sig/payloop/wrappers/anthropic.rbs
|
|
71
|
+
- sig/payloop/wrappers/base.rbs
|
|
72
|
+
- sig/payloop/wrappers/constants.rbs
|
|
73
|
+
- sig/payloop/wrappers/geminiai.rbs
|
|
74
|
+
- sig/payloop/wrappers/google.rbs
|
|
75
|
+
- sig/payloop/wrappers/groq.rbs
|
|
76
|
+
- sig/payloop/wrappers/openai.rbs
|
|
77
|
+
- sig/payloop/wrappers/ruby_llm.rbs
|
|
56
78
|
homepage: https://trypayloop.com
|
|
57
79
|
licenses:
|
|
58
80
|
- MIT
|