cohere-ai 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a5326901fa2fcef2d71d74de376e3ca9df19d9adb65fe6cf5e1a6d0bd195b8d6
4
- data.tar.gz: 78e162ac160c691b0060945511059a9ea185ee44105298bbf784f3a8e86fbf5a
3
+ metadata.gz: 28430515ffef2963f9fa1ae10b23bb3563bdea2e8c8ec7fdb7c711b783249312
4
+ data.tar.gz: eb0127adde3a17d90f30bed12a4b61cd27b99b5a4a956329429020d07a3cd658
5
5
  SHA512:
6
- metadata.gz: 9cff2fb206e5daa899b440b27280c9b155b012364319da3536e28875a14cbebbb6c6f2a00e07409ec1edc501cd9c9a87154fbd31a28c084985bf8eccab627d28
7
- data.tar.gz: 71453d884fd1bd3e76a9c78c5c9752dd6b695d887a1448aa12d3b0421a788f3da9306a6796beebbd0335537fa81a67ddb92dd68fd965e5e9b65d26169ff58640
6
+ metadata.gz: a02810e106da158ebaf4b0cbd2aef712d3fc8c29ecb9472a8346cd7e0e905c928f28d698137a0adc57956dfcb0eb7d512767a61c764e7fbee5e82e7f982ab719
7
+ data.tar.gz: e1ed417932a6c1be52d1ee733f685d3e676e0d5d6d0c0c2ccfa25ebb0cf576897124be3413650ff4185c62672a461112f285ac35c17fd3595db8c20ef9eed576
data/.gitignore CHANGED
@@ -1,2 +1,3 @@
1
1
  *.gem
2
2
  .devcontainer
3
+ .env
data/Gemfile CHANGED
@@ -5,6 +5,7 @@ source 'https://rubygems.org'
5
5
  gemspec
6
6
 
7
7
  group :test, :development do
8
+ gem 'dotenv', '~> 2.8', '>= 2.8.1'
8
9
  gem 'pry-byebug', '~> 3.10', '>= 3.10.1'
9
10
  gem 'rubocop', '~> 1.58'
10
11
  end
data/Gemfile.lock CHANGED
@@ -1,26 +1,27 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cohere-ai (1.0.1)
5
- faraday (~> 2.8, >= 2.8.1)
4
+ cohere-ai (1.0.2)
5
+ faraday (~> 2.9)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  ast (2.4.2)
11
- base64 (0.2.0)
12
11
  byebug (11.1.3)
13
12
  coderay (1.1.3)
14
- faraday (2.8.1)
15
- base64
16
- faraday-net_http (>= 2.0, < 3.1)
17
- ruby2_keywords (>= 0.0.4)
18
- faraday-net_http (3.0.2)
13
+ dotenv (2.8.1)
14
+ faraday (2.9.0)
15
+ faraday-net_http (>= 2.0, < 3.2)
16
+ faraday-net_http (3.1.0)
17
+ net-http
19
18
  json (2.7.1)
20
19
  language_server-protocol (3.17.0.3)
21
20
  method_source (1.0.0)
21
+ net-http (0.4.1)
22
+ uri
22
23
  parallel (1.24.0)
23
- parser (3.2.2.4)
24
+ parser (3.3.0.3)
24
25
  ast (~> 2.4.1)
25
26
  racc
26
27
  pry (0.14.2)
@@ -31,7 +32,7 @@ GEM
31
32
  pry (>= 0.13, < 0.15)
32
33
  racc (1.7.3)
33
34
  rainbow (3.1.1)
34
- regexp_parser (2.8.3)
35
+ regexp_parser (2.9.0)
35
36
  rexml (3.2.6)
36
37
  rubocop (1.59.0)
37
38
  json (~> 2.3)
@@ -47,14 +48,15 @@ GEM
47
48
  rubocop-ast (1.30.0)
48
49
  parser (>= 3.2.1.0)
49
50
  ruby-progressbar (1.13.0)
50
- ruby2_keywords (0.0.5)
51
51
  unicode-display_width (2.5.0)
52
+ uri (0.13.0)
52
53
 
53
54
  PLATFORMS
54
55
  x86_64-linux
55
56
 
56
57
  DEPENDENCIES
57
58
  cohere-ai!
59
+ dotenv (~> 2.8, >= 2.8.1)
58
60
  pry-byebug (~> 3.10, >= 3.10.1)
59
61
  rubocop (~> 1.58)
60
62
 
data/README.md CHANGED
@@ -9,7 +9,7 @@ A Ruby gem for interacting with [Cohere AI](https://cohere.com).
9
9
  ## TL;DR and Quick Start
10
10
 
11
11
  ```ruby
12
- gem 'cohere-ai', '~> 1.0.1'
12
+ gem 'cohere-ai', '~> 1.0.2'
13
13
  ```
14
14
 
15
15
  ```ruby
@@ -87,11 +87,11 @@ Result:
87
87
  ### Installing
88
88
 
89
89
  ```sh
90
- gem install cohere-ai -v 1.0.1
90
+ gem install cohere-ai -v 1.0.2
91
91
  ```
92
92
 
93
93
  ```sh
94
- gem 'cohere-ai', '~> 1.0.1'
94
+ gem 'cohere-ai', '~> 1.0.2'
95
95
  ```
96
96
 
97
97
  ### Credentials
@@ -704,6 +704,8 @@ RequestError
704
704
  ```bash
705
705
  bundle
706
706
  rubocop -A
707
+
708
+ bundle exec ruby spec/tasks/run-client.rb
707
709
  ```
708
710
 
709
711
  ### Purpose
@@ -717,7 +719,7 @@ gem build cohere-ai.gemspec
717
719
 
718
720
  gem signin
719
721
 
720
- gem push cohere-ai-1.0.1.gem
722
+ gem push cohere-ai-1.0.2.gem
721
723
  ```
722
724
 
723
725
  ### Updating the README
data/cohere-ai.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
 
30
30
  spec.require_paths = ['ports/dsl']
31
31
 
32
- spec.add_dependency 'faraday', '~> 2.8', '>= 2.8.1'
32
+ spec.add_dependency 'faraday', '~> 2.9'
33
33
 
34
34
  spec.metadata['rubygems_mfa_required'] = 'true'
35
35
  end
@@ -3,7 +3,7 @@
3
3
  require 'faraday'
4
4
  require 'json'
5
5
 
6
- require_relative '../ports/dsl/cohere-ai/errors'
6
+ require_relative '../components/errors'
7
7
 
8
8
  module Cohere
9
9
  module Controllers
@@ -23,7 +23,7 @@ module Cohere
23
23
  end
24
24
 
25
25
  if @api_key.nil? && @address == "#{DEFAULT_ADDRESS}/"
26
- raise MissingAPIKeyError, 'Missing API Key, which is required.'
26
+ raise Errors::MissingAPIKeyError, 'Missing API Key, which is required.'
27
27
  end
28
28
 
29
29
  @request_options = config.dig(:options, :connection, :request)
@@ -80,7 +80,7 @@ module Cohere
80
80
  url = "#{@address}#{path}"
81
81
 
82
82
  if !callback.nil? && !server_sent_events_enabled
83
- raise BlockWithoutServerSentEventsError,
83
+ raise Errors::BlockWithoutServerSentEventsError,
84
84
  'You are trying to use a block without Server Sent Events (SSE) enabled.'
85
85
  end
86
86
 
@@ -109,14 +109,16 @@ module Cohere
109
109
 
110
110
  partial_json += chunk
111
111
 
112
- parsed_json = safe_parse_json(partial_json)
112
+ parsed_jsons = safe_parse_jsonl(partial_json)
113
113
 
114
- if parsed_json
115
- result = { event: parsed_json, raw: { chunk:, bytes:, env: } }
114
+ if parsed_jsons
115
+ parsed_jsons.each do |parsed_json|
116
+ result = { event: parsed_json, raw: { chunk:, bytes:, env: } }
116
117
 
117
- callback.call(result[:event], result[:raw]) unless callback.nil?
118
+ callback.call(result[:event], result[:raw]) unless callback.nil?
118
119
 
119
- results << result
120
+ results << result
121
+ end
120
122
 
121
123
  partial_json = ''
122
124
  end
@@ -126,11 +128,11 @@ module Cohere
126
128
 
127
129
  return safe_parse_json_with_fallback_to_raw(response.body) unless server_sent_events_enabled
128
130
 
129
- raise IncompleteJSONReceivedError, partial_json if partial_json != ''
131
+ raise Errors::IncompleteJSONReceivedError, partial_json if partial_json != ''
130
132
 
131
133
  results.map { |result| result[:event] }
132
134
  rescue Faraday::ServerError => e
133
- raise RequestError.new(e.message, request: e, payload:)
135
+ raise Errors::RequestError.new(e.message, request: e, payload:)
134
136
  end
135
137
 
136
138
  def safe_parse_json_with_fallback_to_raw(raw)
@@ -139,8 +141,8 @@ module Cohere
139
141
  raw
140
142
  end
141
143
 
142
- def safe_parse_json(raw)
143
- raw.to_s.lstrip.start_with?('{', '[') ? JSON.parse(raw) : nil
144
+ def safe_parse_jsonl(raw)
145
+ raw.to_s.lstrip.start_with?('{', '[') ? raw.split("\n").map { |line| JSON.parse(line) } : raw
144
146
  rescue JSON::ParserError
145
147
  nil
146
148
  end
data/static/gem.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  module Cohere
4
4
  GEM = {
5
5
  name: 'cohere-ai',
6
- version: '1.0.1',
6
+ version: '1.0.2',
7
7
  author: 'gbaptista',
8
8
  summary: 'Interact with Cohere AI.',
9
9
  description: 'A Ruby gem for interacting with Cohere AI platform.',
data/template.md CHANGED
@@ -9,7 +9,7 @@ A Ruby gem for interacting with [Cohere AI](https://cohere.com).
9
9
  ## TL;DR and Quick Start
10
10
 
11
11
  ```ruby
12
- gem 'cohere-ai', '~> 1.0.1'
12
+ gem 'cohere-ai', '~> 1.0.2'
13
13
  ```
14
14
 
15
15
  ```ruby
@@ -50,11 +50,11 @@ Result:
50
50
  ### Installing
51
51
 
52
52
  ```sh
53
- gem install cohere-ai -v 1.0.1
53
+ gem install cohere-ai -v 1.0.2
54
54
  ```
55
55
 
56
56
  ```sh
57
- gem 'cohere-ai', '~> 1.0.1'
57
+ gem 'cohere-ai', '~> 1.0.2'
58
58
  ```
59
59
 
60
60
  ### Credentials
@@ -667,6 +667,8 @@ RequestError
667
667
  ```bash
668
668
  bundle
669
669
  rubocop -A
670
+
671
+ bundle exec ruby spec/tasks/run-client.rb
670
672
  ```
671
673
 
672
674
  ### Purpose
@@ -680,7 +682,7 @@ gem build cohere-ai.gemspec
680
682
 
681
683
  gem signin
682
684
 
683
- gem push cohere-ai-1.0.1.gem
685
+ gem push cohere-ai-1.0.2.gem
684
686
  ```
685
687
 
686
688
  ### Updating the README
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cohere-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - gbaptista
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-29 00:00:00.000000000 Z
11
+ date: 2024-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,20 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.8'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 2.8.1
19
+ version: '2.9'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '2.8'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 2.8.1
26
+ version: '2.9'
33
27
  description: A Ruby gem for interacting with Cohere AI platform.
34
28
  email:
35
29
  executables: []