spectre_ai 1.1.2 → 1.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07e44eac15c5b58b13b2dbbb784f1ca4d5364d6aed7f2fe5a5d797c0ee5fd43d
4
- data.tar.gz: 3d33fb9b5c228eb4577f678d5e2f310d401671cd242b0ca02bcf9a80df55fad8
3
+ metadata.gz: d6cce97e6ac3ab3cde8536f7d422609ff35756847c562769f21305a68421cb89
4
+ data.tar.gz: cd092c3a8eef87550999630dc77c66eb8900ff24ed4129eff32f8050cb90a5dd
5
5
  SHA512:
6
- metadata.gz: 17c0de5cfb63e7d072e1c85d221abbdadabd2eb131276b22ceff834c7eaea05ce3a2a1a02c826887d39b54619c8841d651a7aaa3823a5eabf4f0f3faaf5c263e
7
- data.tar.gz: 14ffff5c963ea79c2360e9517c9906f36b3bc27494732c3f3bd640c0f492aacdd0bdaf190be2effd5bbb9bc875315afe441c8583c07f3ff2faf6f7a8cdcdcceb
6
+ metadata.gz: e4b701d7447eabb48a5c82e0d1bcbf5585c68497a49c513a81a0091e409aa84fd44d3c45e39b2b88ff53ef4643c63e047f24e88a705c3358b08be408cd0f9ed1
7
+ data.tar.gz: 639a433617ffc983cc078d26a22b516d415086c66e5091e42e1c85219f6885efe64daf924431182e1589db073a19bb8ab330c8a71793a0d5f7a95a2a2e722237
data/CHANGELOG.md CHANGED
@@ -93,4 +93,13 @@ This version enhances the flexibility and robustness of the Completions class, e
93
93
  * The `Spectre::Prompt.render` method now dynamically detects the project root based on the presence of project-specific markers, such as `Gemfile`, `.git`, or `config/application.rb`.
94
94
  * This change allows for greater flexibility when using spectre in different environments and projects, ensuring the prompt templates are found regardless of where spectre is used.
95
95
  * **Example**: If you're using `spectre` inside a gem, the `detect_prompts_path` method will now correctly resolve the prompts path within the gem project root.
96
- * If no markers are found, the system falls back to the current working directory (`Dir.pwd`).
96
+ * If no markers are found, the system falls back to the current working directory (`Dir.pwd`).
97
+
98
+ # Changelog for Version 1.1.3
99
+
100
+ **Release Date:** [2nd Dec 2024]
101
+
102
+ **Fixes:**
103
+
104
+ * **Removed unnecessary validations in `Completions` class**
105
+ * Removed redundant validations in the `Completions` class that were causing unnecessary errors in specific edge cases. LLM providers returns a proper errors messages now.
@@ -72,27 +72,6 @@ module Spectre
72
72
  if messages.empty?
73
73
  raise ArgumentError, "Messages cannot be empty."
74
74
  end
75
-
76
- # Iterate through each message and perform detailed validation.
77
- messages.each_with_index do |msg, index|
78
- # Check if each message hash contains the required keys: :role and :content.
79
- # These keys are necessary for defining the type of message and its content.
80
- unless msg.key?(:role) && msg.key?(:content)
81
- raise ArgumentError, "Message at index #{index} must contain both :role and :content keys."
82
- end
83
-
84
- # Check if the role is one of the allowed values: 'system', 'user', or 'assistant'.
85
- # This ensures that each message has a valid role identifier.
86
- unless %w[system user assistant].include?(msg[:role])
87
- raise ArgumentError, "Invalid role '#{msg[:role]}' at index #{index}. Valid roles are 'system', 'user', 'assistant'."
88
- end
89
-
90
- # Check if the content is a non-empty string.
91
- # This prevents empty or non-string content, which would be meaningless in a conversation.
92
- unless msg[:content].is_a?(String) && !msg[:content].strip.empty?
93
- raise ArgumentError, "Content for message at index #{index} must be a non-empty string."
94
- end
95
- end
96
75
  end
97
76
 
98
77
  # Helper method to generate the request body
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spectre # :nodoc:all
4
- VERSION = "1.1.2"
4
+ VERSION = "1.1.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spectre_ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Klapatok
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-14 00:00:00.000000000 Z
12
+ date: 2024-12-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec-rails