prompt_manager 0.5.0 → 0.5.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2aca1f240d8875e6b39eb7865755c8023b1ddd4ba92cf4c9afe87f5d9be9d8c9
|
4
|
+
data.tar.gz: 37a50393b556f8947336d0c74a97d423eb512c12ae68f8e3b9da3ab5e4bb3652
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bcaf2474a6c7f32f46f9fed7dca357863fe66cd4bc23300bb608347ceb31f60a9cbf0c542fa2feb43e557667f2624c4317ace50d0fb6c01bf73dcdbea8fac1b
|
7
|
+
data.tar.gz: 7dca847777e8f70b7df180fc4082f393afb208c94f837b3739365df86abb748c92449bb9240ee490f72939d6c3ba92b3d3c4cc57bc00758498f57adacbd7632b
|
@@ -123,7 +123,7 @@ class PromptManager::Prompt
|
|
123
123
|
def substitute_values(input_text, values_hash)
|
124
124
|
if values_hash.is_a?(Hash) && !values_hash.empty?
|
125
125
|
values_hash.each do |key, value|
|
126
|
-
input_text = input_text.gsub(key, value)
|
126
|
+
input_text = input_text.gsub(key, value.last)
|
127
127
|
end
|
128
128
|
end
|
129
129
|
input_text
|
@@ -181,14 +181,28 @@ class PromptManager::Storage::FileSystemAdapter
|
|
181
181
|
|
182
182
|
# Retrieve parameter values by its id
|
183
183
|
def parameter_values(prompt_id)
|
184
|
+
# Parse parameters from the prompt text
|
185
|
+
prompt_text_content = prompt_text(prompt_id)
|
186
|
+
parsed_parameters = parse_parameters_from_text(prompt_text_content)
|
187
|
+
|
188
|
+
# Load parameters from JSON file if it exists
|
184
189
|
params_path = file_path(prompt_id, params_extension)
|
190
|
+
file_parameters = params_path.exist? ? deserialize(read_file(params_path)) : {}
|
185
191
|
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
192
|
+
# Merge parsed parameters with file parameters
|
193
|
+
parsed_parameters.merge(file_parameters)
|
194
|
+
end
|
195
|
+
|
196
|
+
# Parse parameters from the prompt text
|
197
|
+
def parse_parameters_from_text(text)
|
198
|
+
parameters = {}
|
199
|
+
|
200
|
+
text.scan(PromptManager::Prompt.parameter_regex).each do |match|
|
201
|
+
variable_name = match.shift
|
202
|
+
parameters[variable_name] = [] unless parameters.key?(variable_name)
|
191
203
|
end
|
204
|
+
|
205
|
+
parameters
|
192
206
|
end
|
193
207
|
|
194
208
|
# Save prompt text and parameter values to corresponding files
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prompt_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dewayne VanHoozer
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: activerecord
|
@@ -173,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
173
|
- !ruby/object:Gem::Version
|
174
174
|
version: '0'
|
175
175
|
requirements: []
|
176
|
-
rubygems_version: 3.6.
|
176
|
+
rubygems_version: 3.6.8
|
177
177
|
specification_version: 4
|
178
178
|
summary: Manage prompts for use with gen-AI processes
|
179
179
|
test_files: []
|