ollama_chat 0.0.131 → 0.0.133
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/CHANGES.md +72 -0
- data/Gemfile +2 -0
- data/Rakefile +3 -3
- data/lib/ollama_chat/commands.rb +16 -13
- data/lib/ollama_chat/context_usage.rb +2 -2
- data/lib/ollama_chat/database/migrations/012_add_context_manifest_enabled_to_sessions.rb +6 -0
- data/lib/ollama_chat/database/models/session.rb +28 -23
- data/lib/ollama_chat/dialog.rb +1 -1
- data/lib/ollama_chat/feedback.rb +4 -1
- data/lib/ollama_chat/information.rb +1 -0
- data/lib/ollama_chat/input_content.rb +8 -5
- data/lib/ollama_chat/model_handling.rb +1 -1
- data/lib/ollama_chat/ollama_chat_config/default_config.yml +1 -0
- data/lib/ollama_chat/parsing.rb +1 -1
- data/lib/ollama_chat/rag_handling.rb +14 -6
- data/lib/ollama_chat/session_management.rb +3 -1
- data/lib/ollama_chat/switches.rb +15 -0
- data/lib/ollama_chat/utils/path_validator.rb +1 -1
- data/lib/ollama_chat/version.rb +1 -1
- data/ollama_chat.gemspec +7 -7
- data/spec/ollama_chat/commands_spec.rb +27 -5
- data/spec/ollama_chat/context_usage_spec.rb +2 -2
- data/spec/ollama_chat/rag_handling_spec.rb +12 -9
- data/spec/ollama_chat/session_management_spec.rb +7 -1
- metadata +9 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9587b954a06f8bea7be16013029fb1c8464ae82ff49e5f386f9be8636383d33e
|
|
4
|
+
data.tar.gz: 68a5dad823096507c3b718442a45412b113a5dd13bb5affb7bcd5714f97fd337
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8d120d00e82bd94211b6cd7025032624191f1d2d70362715a0896712451f219711207cda98b095144c1ea33d3cde1e5f31ccaa6009087c963ece42a3a74bdf9b
|
|
7
|
+
data.tar.gz: 9ad6d00fc1d244ee9b4ff4f30cf5c7fdad3893c74a69c96e1599dc082c065955f440bfe4218d170e85a1e266d02341d94ad57a7a51f8a24a795f91aedd3a4b0a
|
data/CHANGES.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# Changes
|
|
2
2
|
|
|
3
|
+
## 2026-10-17 v0.0.133
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* **`context_manifest`**: Session-level manifest toggle for
|
|
8
|
+
`context_spook` output.
|
|
9
|
+
* Added `manifest: false` to `context:` in `default_config.yml`.
|
|
10
|
+
* Added `context_manifest_enabled` boolean column via migration `012`.
|
|
11
|
+
* Added `context_manifest` `DatabaseSwitch` in `switches.rb`.
|
|
12
|
+
* Seeded `context_manifest_enabled` from config in
|
|
13
|
+
`Session.with_defaults`.
|
|
14
|
+
* Added `manifest:` kwarg to `context_spook`, resolved via
|
|
15
|
+
`context_manifest.on?`.
|
|
16
|
+
* Added `-M`/`~M` flags to `/input` for tri-state manifest override.
|
|
17
|
+
* Added `context_manifest` to `/toggle` regexp, completion, and help.
|
|
18
|
+
* Displayed `context_manifest` state in `/info session`.
|
|
19
|
+
|
|
20
|
+
### Dependencies
|
|
21
|
+
|
|
22
|
+
* Updated `ollama-ruby` dependency constraint from `~> 1.24` to `~> 1.25`
|
|
23
|
+
in `Rakefile` and `ollama_chat.gemspec`.
|
|
24
|
+
* Added local `ollama-ruby` gem source to `Gemfile` for development against
|
|
25
|
+
**1.25**.
|
|
26
|
+
* Bumped `context_spook` to **~> 1.7** in `Rakefile` and gemspec.
|
|
27
|
+
|
|
28
|
+
### Fixes
|
|
29
|
+
|
|
30
|
+
* Replaced bare truthiness guard on `parse_png(source_io)` with `.full?` in
|
|
31
|
+
`parsing.rb` so `concat` is only called when content was actually
|
|
32
|
+
extracted, preventing spurious newlines.
|
|
33
|
+
* Replaced `@model_metadata.can?('thinking')` with
|
|
34
|
+
`@model_metadata&.can?('thinking')` in `use_model` within
|
|
35
|
+
`model_handling.rb` to prevent `NoMethodError` when metadata is `nil`.
|
|
36
|
+
* Updated `session_apply` to call `stringify_keys_recursive` on
|
|
37
|
+
`chat.config.trigger.to_h` to ensure string keys, matching access in
|
|
38
|
+
`trigger_inject` and `set_trigger_enabled`.
|
|
39
|
+
* Updated `plain` in `context_usage.rb` to return `'n/a'` instead of `nil`
|
|
40
|
+
when the context length is unavailable.
|
|
41
|
+
* Corrected YARD doc for the `check` option in
|
|
42
|
+
`lib/ollama_chat/utils/path_validator.rb` to list `false` instead of a
|
|
43
|
+
duplicate `true`, matching the `elsif check == false` branch.
|
|
44
|
+
|
|
45
|
+
### Testing
|
|
46
|
+
|
|
47
|
+
* Updated `commands_spec.rb` stubs; added `-M`, `~M`, and no-flag tri-state
|
|
48
|
+
specs with session short-circuit assertions.
|
|
49
|
+
* Replaced weak `be_present` assertion in `session_management_spec.rb` with
|
|
50
|
+
a structural `include` check that pins string key types and expected
|
|
51
|
+
values.
|
|
52
|
+
|
|
53
|
+
## 2026-10-12 v0.0.132
|
|
54
|
+
|
|
55
|
+
* `collection` now returns `@documents.collection.to_s`, making the return
|
|
56
|
+
type strictly `[String]`
|
|
57
|
+
* `clear_whole_collection` replaces the y/n `confirm?` with an `ask?` prompt
|
|
58
|
+
that requires typing the full collection name before clearing
|
|
59
|
+
* Log message includes `target.inspect` for greppability
|
|
60
|
+
* `commands_spec.rb`: `:default` → `'default'` in `rename_collection` and
|
|
61
|
+
`update_collection` expectations
|
|
62
|
+
* `rag_handling_spec.rb`: both `clear_whole_collection` specs rewritten to
|
|
63
|
+
stub `ask?` + `switch_history` instead of the removed `confirm?`
|
|
64
|
+
* Updated the `tins` runtime dependency constraint from `~> 1.60`, `>=
|
|
65
|
+
1.60.1` to `~> 1.61` in `Rakefile` and `ollama_chat.gemspec`
|
|
66
|
+
* `feedback` gains a `timeout:` kwarg; when set, calls `chat.confirm?` with a
|
|
67
|
+
"press any key to continue (timeout in Xs)" prompt so the message doesn't
|
|
68
|
+
flash by
|
|
69
|
+
* `clear_tag_records` and `clear_collection_sources` in `rag_handling.rb`
|
|
70
|
+
pass `timeout: 3`
|
|
71
|
+
* `dialog.rb` adds `IOError` to the `STDIN.raw` exception rescue list
|
|
72
|
+
* `rag_handling_spec.rb` updated with `timeout: 3` in four `feedback`
|
|
73
|
+
expectations
|
|
74
|
+
|
|
3
75
|
## 2026-10-10 v0.0.131
|
|
4
76
|
|
|
5
77
|
* Extracted ANSI, emoji, and formatting logic from `Information` into a new
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -39,7 +39,7 @@ GemHadar do
|
|
|
39
39
|
)
|
|
40
40
|
|
|
41
41
|
dependency 'excon', '~> 1.0'
|
|
42
|
-
dependency 'ollama-ruby', '~> 1.
|
|
42
|
+
dependency 'ollama-ruby', '~> 1.25'
|
|
43
43
|
dependency 'documentrix', '>= 0.8.0'
|
|
44
44
|
dependency 'unix_socks', '>= 0.4'
|
|
45
45
|
dependency 'rss', '~> 0.3'
|
|
@@ -49,14 +49,14 @@ GemHadar do
|
|
|
49
49
|
dependency 'reverse_markdown', '~> 3.0'
|
|
50
50
|
dependency 'kramdown-ansi', '~> 0.5'
|
|
51
51
|
dependency 'complex_config', '~> 0.22', '>= 0.22.2'
|
|
52
|
-
dependency 'tins', '~> 1.
|
|
52
|
+
dependency 'tins', '~> 1.61'
|
|
53
53
|
dependency 'search_ui', '>= 0.2'
|
|
54
54
|
dependency 'amatch', '~> 0.4'
|
|
55
55
|
dependency 'pdf-reader', '~> 2.0'
|
|
56
56
|
dependency 'bigdecimal', '~> 3.1'
|
|
57
57
|
dependency 'csv', '~> 3.0'
|
|
58
58
|
dependency 'const_conf', '~> 0.9'
|
|
59
|
-
dependency 'context_spook', '~> 1.
|
|
59
|
+
dependency 'context_spook', '~> 1.7'
|
|
60
60
|
dependency 'infobar', '>= 0.13.1'
|
|
61
61
|
dependency 'rubyzip', '~> 3.0'
|
|
62
62
|
dependency 'sequel', '~> 5.0'
|
data/lib/ollama_chat/commands.rb
CHANGED
|
@@ -161,14 +161,14 @@ module OllamaChat::Commands
|
|
|
161
161
|
|
|
162
162
|
command(
|
|
163
163
|
name: :toggle,
|
|
164
|
-
regexp: %r(^/toggle(?:\s+(markdown|stream|location|runtime_info|voice|think_loud|think_strip|embedding|memory_trigger)(?:\s+(-[yn]))?)?$),
|
|
165
|
-
complete: [ 'toggle', %w[ markdown stream location runtime_info voice think_loud think_strip embedding memory_trigger ] ],
|
|
164
|
+
regexp: %r(^/toggle(?:\s+(markdown|stream|location|runtime_info|voice|think_loud|think_strip|embedding|memory_trigger|context_manifest)(?:\s+(-[yn]))?)?$),
|
|
165
|
+
complete: [ 'toggle', %w[ markdown stream location runtime_info voice think_loud think_strip embedding memory_trigger context_manifest ] ],
|
|
166
166
|
options: '[-y|-n]',
|
|
167
167
|
help: <<~EOT
|
|
168
168
|
🎛️ Toggle feature switches
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
(markdown, stream, location, runtime_info,
|
|
170
|
+
voice, think_loud, think_strip, embedding, memory_trigger,
|
|
171
|
+
context_manifest)
|
|
172
172
|
EOT
|
|
173
173
|
) do |toggle_name, flag|
|
|
174
174
|
if toggle_name == 'embedding'
|
|
@@ -191,7 +191,7 @@ module OllamaChat::Commands
|
|
|
191
191
|
end
|
|
192
192
|
else
|
|
193
193
|
feedback(
|
|
194
|
-
"Available toggles: markdown|stream|location|runtime_info|voice|think_loud|think_strip|embedding|memory_trigger"
|
|
194
|
+
"Available toggles: markdown|stream|location|runtime_info|voice|think_loud|think_strip|embedding|memory_trigger|context_manifest"
|
|
195
195
|
)
|
|
196
196
|
end
|
|
197
197
|
:next
|
|
@@ -859,12 +859,13 @@ module OllamaChat::Commands
|
|
|
859
859
|
|
|
860
860
|
command(
|
|
861
861
|
name: :input,
|
|
862
|
-
regexp: %r(^/input(?:\s+(path|context|embedding|summary)(?:\s*(?=\z))?)?((?:\s
|
|
862
|
+
regexp: %r(^/input(?:\s+(path|context|embedding|summary)(?:\s*(?=\z))?)?((?:\s+(?:-(?:[apreimM]|c\s*#{OllamaChat::COLLECTION_NAME_REGEXP.source}|w\s*\d+|t\s*[-\w\.]+(?:,[-\w\.]+)*|l\s*[-\w]+)|~M))*)(?:\s+([^-].*))?$),
|
|
863
863
|
optional: true,
|
|
864
864
|
complete: [ 'input', %w[ path context embedding summary ] ],
|
|
865
865
|
options: <<~EOT,
|
|
866
866
|
[
|
|
867
867
|
-w|-a|-p|-e|-m|-i|
|
|
868
|
+
-M|~M|
|
|
868
869
|
-c <collection>|
|
|
869
870
|
-t <tags>|
|
|
870
871
|
-l <language>
|
|
@@ -879,8 +880,8 @@ module OllamaChat::Commands
|
|
|
879
880
|
path → raw file read (no parsing)
|
|
880
881
|
Options: -p (pattern), -w [words], -a (all),
|
|
881
882
|
-c [collection], -t [tags], -e (edit),
|
|
882
|
-
-m (monochrome), -
|
|
883
|
-
-l [language]
|
|
883
|
+
-m (monochrome), -M/~M (manifest),
|
|
884
|
+
-i (summary instruction), -l [language]
|
|
884
885
|
EOT
|
|
885
886
|
) do |input_mode,opts,arg|
|
|
886
887
|
disable_content_parsing
|
|
@@ -907,15 +908,17 @@ module OllamaChat::Commands
|
|
|
907
908
|
next :next
|
|
908
909
|
end
|
|
909
910
|
when 'context'
|
|
910
|
-
|
|
911
|
+
manifest_passed = opts =~ /[-~]M/
|
|
912
|
+
opts = go_command('paM', opts)
|
|
913
|
+
manifest = manifest_passed ? opts[?M] : session.context_manifest_enabled
|
|
911
914
|
if opts[?p]
|
|
912
915
|
all = opts.fetch(?a, false)
|
|
913
916
|
patterns = extract_patterns(arg).full? || [ '**/*' ]
|
|
914
|
-
next context_spook(patterns, all:) || :next
|
|
917
|
+
next context_spook(patterns, all:, manifest: ) || :next
|
|
915
918
|
elsif arg
|
|
916
|
-
next context_spook(Array(arg.to_s), all: true) || :next
|
|
919
|
+
next context_spook(Array(arg.to_s), all: true, manifest:) || :next
|
|
917
920
|
else
|
|
918
|
-
next context_spook(nil) || :next
|
|
921
|
+
next context_spook(nil, manifest:) || :next
|
|
919
922
|
end
|
|
920
923
|
when 'embedding'
|
|
921
924
|
disable_content_parsing
|
|
@@ -50,11 +50,11 @@ module OllamaChat
|
|
|
50
50
|
|
|
51
51
|
# Plain (uncolored) usage string, e.g. `73.1 KT of 262.1 KT (27.9%)`.
|
|
52
52
|
#
|
|
53
|
-
# @return [String
|
|
53
|
+
# @return [String] the usage string, or 'n/a' when the context length
|
|
54
54
|
# is unknown.
|
|
55
55
|
def plain
|
|
56
56
|
ctx = @chat.current_context_length
|
|
57
|
-
return
|
|
57
|
+
return 'n/a' unless ctx
|
|
58
58
|
|
|
59
59
|
es = estimate
|
|
60
60
|
'%s · %s of %s' % [
|
|
@@ -28,6 +28,7 @@ class OllamaChat::Database::Models::Session < Sequel::Model(OllamaChat::DB)
|
|
|
28
28
|
validates_presence :created_at
|
|
29
29
|
|
|
30
30
|
validates_presence :context_format
|
|
31
|
+
validates_presence :context_manifest_enabled
|
|
31
32
|
validates_presence :current_voice
|
|
32
33
|
validates_presence :document_policy
|
|
33
34
|
validates_presence :embedding_enabled
|
|
@@ -146,6 +147,9 @@ class OllamaChat::Database::Models::Session < Sequel::Model(OllamaChat::DB)
|
|
|
146
147
|
# @!attribute [v] context_format
|
|
147
148
|
# @return [String] The format used for project context generation (e.g., 'JSON', 'TOON').
|
|
148
149
|
#
|
|
150
|
+
# @!attribute [v] context_manifest_enabled
|
|
151
|
+
# @return [Boolean] Whether context files use manifest mode (metadata only, no content).
|
|
152
|
+
#
|
|
149
153
|
# @!attribute [v] working_directory
|
|
150
154
|
# @return [String] The directory used as the working context for this session.
|
|
151
155
|
#
|
|
@@ -193,29 +197,30 @@ class OllamaChat::Database::Models::Session < Sequel::Model(OllamaChat::DB)
|
|
|
193
197
|
current_model = chat.initial_model
|
|
194
198
|
model_options = chat.get_stored_model_options(current_model)
|
|
195
199
|
attributes = {
|
|
196
|
-
name:
|
|
197
|
-
current_model:
|
|
198
|
-
current_collection:
|
|
199
|
-
default_persona_name:
|
|
200
|
-
current_system_prompt:
|
|
201
|
-
tools_enabled:
|
|
202
|
-
tools_default_enabled:
|
|
203
|
-
think_mode:
|
|
204
|
-
think_loud_enabled:
|
|
205
|
-
embedding_enabled:
|
|
206
|
-
document_policy:
|
|
207
|
-
runtime_info_enabled:
|
|
208
|
-
think_strip_enabled:
|
|
209
|
-
markdown_enabled:
|
|
210
|
-
stream_enabled:
|
|
211
|
-
location_enabled:
|
|
212
|
-
voice_enabled:
|
|
213
|
-
model_options:
|
|
214
|
-
current_voice:
|
|
215
|
-
context_format:
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
200
|
+
name: ,
|
|
201
|
+
current_model: ,
|
|
202
|
+
current_collection: chat.initial_collection,
|
|
203
|
+
default_persona_name: chat.initial_persona_name,
|
|
204
|
+
current_system_prompt: chat.initial_system_prompt,
|
|
205
|
+
tools_enabled: chat.config.tools.enabled,
|
|
206
|
+
tools_default_enabled: ,
|
|
207
|
+
think_mode: chat.config.think.mode,
|
|
208
|
+
think_loud_enabled: chat.config.think.loud,
|
|
209
|
+
embedding_enabled: chat.config.embedding.enabled,
|
|
210
|
+
document_policy: chat.config.document_policy,
|
|
211
|
+
runtime_info_enabled: chat.config.runtime_info.enabled,
|
|
212
|
+
think_strip_enabled: chat.config.think.strip,
|
|
213
|
+
markdown_enabled: chat.config.markdown,
|
|
214
|
+
stream_enabled: chat.config.stream,
|
|
215
|
+
location_enabled: chat.config.location.enabled,
|
|
216
|
+
voice_enabled: chat.config.voice.enabled,
|
|
217
|
+
model_options: ,
|
|
218
|
+
current_voice: chat.config.voice.default,
|
|
219
|
+
context_format: chat.config.context.format,
|
|
220
|
+
context_manifest_enabled: chat.config.context.manifest,
|
|
221
|
+
working_directory: Dir.pwd,
|
|
222
|
+
messages: '',
|
|
223
|
+
trigger: nil,
|
|
219
224
|
}
|
|
220
225
|
new(attributes)
|
|
221
226
|
end
|
data/lib/ollama_chat/dialog.rb
CHANGED
|
@@ -73,7 +73,7 @@ module OllamaChat::Dialog
|
|
|
73
73
|
min = 0
|
|
74
74
|
time = timeout
|
|
75
75
|
end
|
|
76
|
-
exceptions = [ (IRB::Abort if defined? IRB), Interrupt ].compact
|
|
76
|
+
exceptions = [ (IRB::Abort if defined? IRB), Interrupt, IOError ].compact
|
|
77
77
|
begin
|
|
78
78
|
keypress = STDIN.raw(min:, time:, intr: true) do |io|
|
|
79
79
|
io.getc
|
data/lib/ollama_chat/feedback.rb
CHANGED
|
@@ -33,9 +33,12 @@ module OllamaChat::Feedback
|
|
|
33
33
|
# message ends with exactly one newline before writing.
|
|
34
34
|
# Set to false for mid-line or no-trailing-newline output.
|
|
35
35
|
# @return [nil]
|
|
36
|
-
def feedback(msg, type: nil, output: STDOUT, newline: true)
|
|
36
|
+
def feedback(msg, type: nil, output: STDOUT, newline: true, timeout: nil)
|
|
37
37
|
prefix = PREFIXES[type&.to_sym]&.+(' ')
|
|
38
38
|
newline and msg = msg.sub(/(?<!\n)\z/, ?\n)
|
|
39
39
|
output.print(prefix.to_s + msg)
|
|
40
|
+
timeout.nil? and return
|
|
41
|
+
chat.confirm?(prompt: '⏎ Press any key to continue (%s). ', timeout:)
|
|
42
|
+
nil
|
|
40
43
|
end
|
|
41
44
|
end
|
|
@@ -165,6 +165,7 @@ module OllamaChat::Information
|
|
|
165
165
|
end
|
|
166
166
|
output.print ' '; location.show(output:)
|
|
167
167
|
output.print ' '; context_format.show(output:)
|
|
168
|
+
output.print ' '; context_manifest.show(output:)
|
|
168
169
|
end
|
|
169
170
|
|
|
170
171
|
# Displays the current runtime environment details, split into static
|
|
@@ -80,6 +80,8 @@ module OllamaChat::InputContent
|
|
|
80
80
|
#
|
|
81
81
|
# @param patterns [Array<String>, nil] Optional array of glob patterns to
|
|
82
82
|
# filter files
|
|
83
|
+
# @param manifest [Boolean, nil] Override manifest mode; nil uses the
|
|
84
|
+
# session default (`/toggle context_manifest`)
|
|
83
85
|
# @return [String, nil] JSON string of context data or nil if no context
|
|
84
86
|
# could be generated
|
|
85
87
|
#
|
|
@@ -91,12 +93,13 @@ module OllamaChat::InputContent
|
|
|
91
93
|
#
|
|
92
94
|
# @example Load default context
|
|
93
95
|
# context_spook(nil)
|
|
94
|
-
def context_spook(patterns, all: false)
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
def context_spook(patterns, all: false, manifest: nil)
|
|
97
|
+
manifest = manifest.nil? ? context_manifest.on? : manifest
|
|
98
|
+
format = @context_format.selected
|
|
99
|
+
myself = self
|
|
97
100
|
if patterns
|
|
98
101
|
count = 0
|
|
99
|
-
ctx = ContextSpook::generate_context(verbose: true, format:) do |context|
|
|
102
|
+
ctx = ContextSpook::generate_context(verbose: true, format:, manifest:) do |context|
|
|
100
103
|
context do
|
|
101
104
|
myself.file_set_each(patterns, all:) do |filename|
|
|
102
105
|
filename.file? or next
|
|
@@ -113,7 +116,7 @@ module OllamaChat::InputContent
|
|
|
113
116
|
end
|
|
114
117
|
else
|
|
115
118
|
if context_filename = choose_filename('.contexts/*.rb')
|
|
116
|
-
ContextSpook.generate_context(context_filename, verbose: true, format:).
|
|
119
|
+
ContextSpook.generate_context(context_filename, verbose: true, format:, manifest:).
|
|
117
120
|
send("to_#{format.downcase}")
|
|
118
121
|
end
|
|
119
122
|
end
|
|
@@ -595,7 +595,7 @@ module OllamaChat::ModelHandling
|
|
|
595
595
|
|
|
596
596
|
if old_model != @model
|
|
597
597
|
reconfigure_model_options(profile:, keep_options:)
|
|
598
|
-
if @model_metadata
|
|
598
|
+
if @model_metadata&.can?('thinking')
|
|
599
599
|
unless think_mode_states.include?(session.think_mode)
|
|
600
600
|
default_think_mode = @model_metadata&.thinking&.default
|
|
601
601
|
if default_think_mode
|
data/lib/ollama_chat/parsing.rb
CHANGED
|
@@ -325,7 +325,7 @@ module OllamaChat::Parsing
|
|
|
325
325
|
add_image(images, source_io, source)
|
|
326
326
|
if source_io&.content_type&.sub_type == 'png'
|
|
327
327
|
source_io.rewind
|
|
328
|
-
if results = parse_png(source_io)
|
|
328
|
+
if results = parse_png(source_io).full?
|
|
329
329
|
contents.concat results
|
|
330
330
|
end
|
|
331
331
|
end
|
|
@@ -63,9 +63,9 @@ module OllamaChat::RAGHandling
|
|
|
63
63
|
|
|
64
64
|
# Returns the name of the currently active document collection.
|
|
65
65
|
#
|
|
66
|
-
# @return [String
|
|
66
|
+
# @return [String] the name of the current collection
|
|
67
67
|
def collection
|
|
68
|
-
@documents.collection
|
|
68
|
+
@documents.collection.to_s
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
# Sets the documents collection to collection.
|
|
@@ -246,9 +246,15 @@ module OllamaChat::RAGHandling
|
|
|
246
246
|
# @return [ nil, OllamaChat::Chat ] when the user declines the confirmation
|
|
247
247
|
# prompt, self otherwise.
|
|
248
248
|
def clear_whole_collection
|
|
249
|
-
|
|
249
|
+
target = collection
|
|
250
|
+
prompt = "🔥 This will incinerate every record in #{target.inspect}. " \
|
|
251
|
+
"Type the name to confirm (C-c ⇒ cancel): "
|
|
252
|
+
typed = switch_history(:collection_name) do
|
|
253
|
+
ask?(prompt:, prefill: target).full?(:strip)
|
|
254
|
+
end
|
|
255
|
+
if typed == target
|
|
250
256
|
@documents.clear
|
|
251
|
-
log(:info, "Collection cleared", data: { collection: })
|
|
257
|
+
log(:info, "Collection #{target.inspect} cleared", data: { collection: })
|
|
252
258
|
feedback("Cleared collection #{bold{collection}}.", type: :info)
|
|
253
259
|
self
|
|
254
260
|
else
|
|
@@ -350,7 +356,8 @@ module OllamaChat::RAGHandling
|
|
|
350
356
|
data: { collection:, tag:, source: })
|
|
351
357
|
feedback(
|
|
352
358
|
"Cleared tag #{tag} from collection #{bold{collection}}.",
|
|
353
|
-
type:
|
|
359
|
+
type: :info,
|
|
360
|
+
timeout: 3,
|
|
354
361
|
)
|
|
355
362
|
end
|
|
356
363
|
|
|
@@ -411,7 +418,8 @@ module OllamaChat::RAGHandling
|
|
|
411
418
|
data: { collection:, source: })
|
|
412
419
|
feedback(
|
|
413
420
|
"Removed source #{source} from collection #{bold{collection}}.",
|
|
414
|
-
type:
|
|
421
|
+
type: :info,
|
|
422
|
+
timeout: 3,
|
|
415
423
|
)
|
|
416
424
|
end
|
|
417
425
|
end
|
|
@@ -282,7 +282,9 @@ module OllamaChat::SessionManagement
|
|
|
282
282
|
initial_persona_name.full? do |persona_name|
|
|
283
283
|
collection = create_memory_collection(persona_name)
|
|
284
284
|
session.trigger.present? or
|
|
285
|
-
session.trigger = {
|
|
285
|
+
session.trigger = {
|
|
286
|
+
collection => chat.config.trigger.to_h.stringify_keys_recursive
|
|
287
|
+
}
|
|
286
288
|
end
|
|
287
289
|
session.update(working_directory: Dir.pwd)
|
|
288
290
|
init_history
|
data/lib/ollama_chat/switches.rb
CHANGED
|
@@ -335,6 +335,13 @@ module OllamaChat::Switches
|
|
|
335
335
|
# @return [OllamaChat::Switches::Switch] the memory trigger switch instance
|
|
336
336
|
attr_reader :memory_trigger
|
|
337
337
|
|
|
338
|
+
# Controls whether context files are generated in manifest mode
|
|
339
|
+
# (metadata only, no file content).
|
|
340
|
+
#
|
|
341
|
+
# @!attribute [r] context_manifest
|
|
342
|
+
# @return [OllamaChat::Switches::DatabaseSwitch] the context manifest switch
|
|
343
|
+
attr_reader :context_manifest
|
|
344
|
+
|
|
338
345
|
# Initializes the various switches for configuring the application's behavior.
|
|
339
346
|
#
|
|
340
347
|
# This method creates and configures the database and local switch objects
|
|
@@ -457,5 +464,13 @@ module OllamaChat::Switches
|
|
|
457
464
|
false => "Memory trigger inactive.",
|
|
458
465
|
},
|
|
459
466
|
)
|
|
467
|
+
@context_manifest = DatabaseSwitch.new(
|
|
468
|
+
chat: self,
|
|
469
|
+
attribute: :context_manifest_enabled,
|
|
470
|
+
msg: {
|
|
471
|
+
true => "Context manifest enabled.",
|
|
472
|
+
false => "Context manifest disabled.",
|
|
473
|
+
}
|
|
474
|
+
)
|
|
460
475
|
end
|
|
461
476
|
end
|
|
@@ -30,7 +30,7 @@ module OllamaChat::Utils::PathValidator
|
|
|
30
30
|
# * `:file` - Verifies that the path exists and is a file.
|
|
31
31
|
# * `:directory` - Verifies that the path exists and is a directory.
|
|
32
32
|
# * `true` - Verifies only that the path exists (resolves symlinks).
|
|
33
|
-
# * `
|
|
33
|
+
# * `false` - Verifies only that the path does not exist (resolves symlinks).
|
|
34
34
|
# * `nil` (default) - No existence or type check is performed.
|
|
35
35
|
#
|
|
36
36
|
# @return [Pathname] The canonicalised absolute path if validation passes.
|
data/lib/ollama_chat/version.rb
CHANGED
data/ollama_chat.gemspec
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
|
-
# stub: ollama_chat 0.0.
|
|
2
|
+
# stub: ollama_chat 0.0.133 ruby lib
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
5
|
s.name = "ollama_chat".freeze
|
|
6
|
-
s.version = "0.0.
|
|
6
|
+
s.version = "0.0.133".freeze
|
|
7
7
|
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
|
9
9
|
s.require_paths = ["lib".freeze]
|
|
@@ -12,8 +12,8 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
s.description = "The app provides a command-line interface (CLI) to an Ollama AI model,\nallowing users to engage in text-based conversations and generate\nhuman-like responses. Users can import data from local files or web pages,\nwhich are then processed through three different modes: fully importing the\ncontent into the conversation context, summarizing the information for\nconcise reference, or storing it in an embedding vector database for later\nretrieval based on the conversation.\n".freeze
|
|
13
13
|
s.email = "flori@ping.de".freeze
|
|
14
14
|
s.executables = ["ollama_chat".freeze, "ollama_chat_send".freeze, "ollama_chat_log".freeze]
|
|
15
|
-
s.extra_rdoc_files = ["README.md".freeze, "lib/ollama_chat.rb".freeze, "lib/ollama_chat/asr.rb".freeze, "lib/ollama_chat/chat.rb".freeze, "lib/ollama_chat/clipboard.rb".freeze, "lib/ollama_chat/collection_search.rb".freeze, "lib/ollama_chat/command_concern.rb".freeze, "lib/ollama_chat/commands.rb".freeze, "lib/ollama_chat/compaction.rb".freeze, "lib/ollama_chat/config_handling.rb".freeze, "lib/ollama_chat/context_usage.rb".freeze, "lib/ollama_chat/conversation.rb".freeze, "lib/ollama_chat/database.rb".freeze, "lib/ollama_chat/database/duplicatable.rb".freeze, "lib/ollama_chat/database/migrations.rb".freeze, "lib/ollama_chat/database/migrations/001_initial_schema.rb".freeze, "lib/ollama_chat/database/migrations/002_add_links_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/003_add_history_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/004_add_profile_to_model_options.rb".freeze, "lib/ollama_chat/database/migrations/005_add_context_format_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/006_rename_system_prompt_context_to_system.rb".freeze, "lib/ollama_chat/database/migrations/007_add_collections_table.rb".freeze, "lib/ollama_chat/database/migrations/008_drop_think_mode_constraint.rb".freeze, "lib/ollama_chat/database/migrations/009_add_app_states_table.rb".freeze, "lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb".freeze, "lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb".freeze, "lib/ollama_chat/database/models/app_state.rb".freeze, "lib/ollama_chat/database/models/collection.rb".freeze, "lib/ollama_chat/database/models/favourite.rb".freeze, "lib/ollama_chat/database/models/model_options.rb".freeze, "lib/ollama_chat/database/models/prompt.rb".freeze, "lib/ollama_chat/database/models/session.rb".freeze, "lib/ollama_chat/database/session_locking.rb".freeze, "lib/ollama_chat/dialog.rb".freeze, "lib/ollama_chat/document_cache.rb".freeze, "lib/ollama_chat/favourites_management.rb".freeze, "lib/ollama_chat/feedback.rb".freeze, "lib/ollama_chat/file_editing.rb".freeze, "lib/ollama_chat/follow_chat.rb".freeze, "lib/ollama_chat/history.rb".freeze, "lib/ollama_chat/http_handling.rb".freeze, "lib/ollama_chat/information.rb".freeze, "lib/ollama_chat/input_content.rb".freeze, "lib/ollama_chat/invidious.rb".freeze, "lib/ollama_chat/kramdown_ansi.rb".freeze, "lib/ollama_chat/links_set.rb".freeze, "lib/ollama_chat/location_handling.rb".freeze, "lib/ollama_chat/logging.rb".freeze, "lib/ollama_chat/message.rb".freeze, "lib/ollama_chat/message_editing.rb".freeze, "lib/ollama_chat/message_format.rb".freeze, "lib/ollama_chat/message_list.rb".freeze, "lib/ollama_chat/message_output.rb".freeze, "lib/ollama_chat/model_handling.rb".freeze, "lib/ollama_chat/oc.rb".freeze, "lib/ollama_chat/ollama_chat_config.rb".freeze, "lib/ollama_chat/pager.rb".freeze, "lib/ollama_chat/parsing.rb".freeze, "lib/ollama_chat/personae_management.rb".freeze, "lib/ollama_chat/prompt_handling.rb".freeze, "lib/ollama_chat/prompt_management.rb".freeze, "lib/ollama_chat/rag_handling.rb".freeze, "lib/ollama_chat/redis_cache.rb".freeze, "lib/ollama_chat/say.rb".freeze, "lib/ollama_chat/server_socket.rb".freeze, "lib/ollama_chat/session_management.rb".freeze, "lib/ollama_chat/source_fetching.rb".freeze, "lib/ollama_chat/speaker.rb".freeze, "lib/ollama_chat/state_selectors.rb".freeze, "lib/ollama_chat/switches.rb".freeze, "lib/ollama_chat/system_prompt_management.rb".freeze, "lib/ollama_chat/think_control.rb".freeze, "lib/ollama_chat/token_estimator.rb".freeze, "lib/ollama_chat/token_estimator/crude.rb".freeze, "lib/ollama_chat/tool_calling.rb".freeze, "lib/ollama_chat/tools.rb".freeze, "lib/ollama_chat/tools/browse.rb".freeze, "lib/ollama_chat/tools/compute_bmi.rb".freeze, "lib/ollama_chat/tools/concern.rb".freeze, "lib/ollama_chat/tools/copy_to_clipboard.rb".freeze, "lib/ollama_chat/tools/delete_file.rb".freeze, "lib/ollama_chat/tools/eval_ruby.rb".freeze, "lib/ollama_chat/tools/execute_grep.rb".freeze, "lib/ollama_chat/tools/execute_jira_twg.rb".freeze, "lib/ollama_chat/tools/execute_ri.rb".freeze, "lib/ollama_chat/tools/execute_shell.rb".freeze, "lib/ollama_chat/tools/forget.rb".freeze, "lib/ollama_chat/tools/generate_image.rb".freeze, "lib/ollama_chat/tools/generate_password.rb".freeze, "lib/ollama_chat/tools/get_current_weather.rb".freeze, "lib/ollama_chat/tools/get_cve.rb".freeze, "lib/ollama_chat/tools/get_endoflife.rb".freeze, "lib/ollama_chat/tools/get_ghr.rb".freeze, "lib/ollama_chat/tools/get_jira_issue.rb".freeze, "lib/ollama_chat/tools/get_location.rb".freeze, "lib/ollama_chat/tools/get_rfc.rb".freeze, "lib/ollama_chat/tools/get_time.rb".freeze, "lib/ollama_chat/tools/get_url.rb".freeze, "lib/ollama_chat/tools/list_directory.rb".freeze, "lib/ollama_chat/tools/lookup_gem_path.rb".freeze, "lib/ollama_chat/tools/lookup_group.rb".freeze, "lib/ollama_chat/tools/memorize.rb".freeze, "lib/ollama_chat/tools/move_file.rb".freeze, "lib/ollama_chat/tools/open_file_in_editor.rb".freeze, "lib/ollama_chat/tools/paste_from_clipboard.rb".freeze, "lib/ollama_chat/tools/paste_into_editor.rb".freeze, "lib/ollama_chat/tools/patch_file.rb".freeze, "lib/ollama_chat/tools/read_file.rb".freeze, "lib/ollama_chat/tools/resolve_tag.rb".freeze, "lib/ollama_chat/tools/roll_dice.rb".freeze, "lib/ollama_chat/tools/run_tests.rb".freeze, "lib/ollama_chat/tools/search_knowledge.rb".freeze, "lib/ollama_chat/tools/search_web.rb".freeze, "lib/ollama_chat/tools/write_file.rb".freeze, "lib/ollama_chat/tts.rb".freeze, "lib/ollama_chat/utils.rb".freeze, "lib/ollama_chat/utils/analyze_directory.rb".freeze, "lib/ollama_chat/utils/audio_player.rb".freeze, "lib/ollama_chat/utils/backup.rb".freeze, "lib/ollama_chat/utils/cache_fetcher.rb".freeze, "lib/ollama_chat/utils/chooser.rb".freeze, "lib/ollama_chat/utils/excon_logger.rb".freeze, "lib/ollama_chat/utils/fetcher.rb".freeze, "lib/ollama_chat/utils/json_jsonl_io.rb".freeze, "lib/ollama_chat/utils/log_rotation.rb".freeze, "lib/ollama_chat/utils/log_viewer.rb".freeze, "lib/ollama_chat/utils/ordered_queue.rb".freeze, "lib/ollama_chat/utils/path_completer.rb".freeze, "lib/ollama_chat/utils/path_validator.rb".freeze, "lib/ollama_chat/utils/png_metadata_extractor.rb".freeze, "lib/ollama_chat/utils/strip_ansi.rb".freeze, "lib/ollama_chat/utils/tag_resolver.rb".freeze, "lib/ollama_chat/utils/utf8_converter.rb".freeze, "lib/ollama_chat/utils/value_formatter.rb".freeze, "lib/ollama_chat/uuid_v7.rb".freeze, "lib/ollama_chat/version.rb".freeze, "lib/ollama_chat/vim.rb".freeze, "lib/ollama_chat/web_searching.rb".freeze]
|
|
16
|
-
s.files = [".utilsrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_chat".freeze, "bin/ollama_chat_log".freeze, "bin/ollama_chat_send".freeze, "config/searxng/settings.yml".freeze, "config/sherlock.md".freeze, "docker-compose.yml".freeze, "lib/ollama_chat.rb".freeze, "lib/ollama_chat/asr.rb".freeze, "lib/ollama_chat/chat.rb".freeze, "lib/ollama_chat/clipboard.rb".freeze, "lib/ollama_chat/collection_search.rb".freeze, "lib/ollama_chat/command_concern.rb".freeze, "lib/ollama_chat/commands.rb".freeze, "lib/ollama_chat/compaction.rb".freeze, "lib/ollama_chat/config_handling.rb".freeze, "lib/ollama_chat/context_usage.rb".freeze, "lib/ollama_chat/conversation.rb".freeze, "lib/ollama_chat/database.rb".freeze, "lib/ollama_chat/database/duplicatable.rb".freeze, "lib/ollama_chat/database/migrations.rb".freeze, "lib/ollama_chat/database/migrations/001_initial_schema.rb".freeze, "lib/ollama_chat/database/migrations/002_add_links_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/003_add_history_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/004_add_profile_to_model_options.rb".freeze, "lib/ollama_chat/database/migrations/005_add_context_format_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/006_rename_system_prompt_context_to_system.rb".freeze, "lib/ollama_chat/database/migrations/007_add_collections_table.rb".freeze, "lib/ollama_chat/database/migrations/008_drop_think_mode_constraint.rb".freeze, "lib/ollama_chat/database/migrations/009_add_app_states_table.rb".freeze, "lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb".freeze, "lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb".freeze, "lib/ollama_chat/database/models/app_state.rb".freeze, "lib/ollama_chat/database/models/collection.rb".freeze, "lib/ollama_chat/database/models/favourite.rb".freeze, "lib/ollama_chat/database/models/model_options.rb".freeze, "lib/ollama_chat/database/models/prompt.rb".freeze, "lib/ollama_chat/database/models/session.rb".freeze, "lib/ollama_chat/database/session_locking.rb".freeze, "lib/ollama_chat/dialog.rb".freeze, "lib/ollama_chat/document_cache.rb".freeze, "lib/ollama_chat/favourites_management.rb".freeze, "lib/ollama_chat/feedback.rb".freeze, "lib/ollama_chat/file_editing.rb".freeze, "lib/ollama_chat/follow_chat.rb".freeze, "lib/ollama_chat/history.rb".freeze, "lib/ollama_chat/http_handling.rb".freeze, "lib/ollama_chat/information.rb".freeze, "lib/ollama_chat/input_content.rb".freeze, "lib/ollama_chat/invidious.rb".freeze, "lib/ollama_chat/kramdown_ansi.rb".freeze, "lib/ollama_chat/links_set.rb".freeze, "lib/ollama_chat/location_handling.rb".freeze, "lib/ollama_chat/logging.rb".freeze, "lib/ollama_chat/message.rb".freeze, "lib/ollama_chat/message_editing.rb".freeze, "lib/ollama_chat/message_format.rb".freeze, "lib/ollama_chat/message_list.rb".freeze, "lib/ollama_chat/message_output.rb".freeze, "lib/ollama_chat/model_handling.rb".freeze, "lib/ollama_chat/oc.rb".freeze, "lib/ollama_chat/ollama_chat_config.rb".freeze, "lib/ollama_chat/ollama_chat_config/default_config.yml".freeze, "lib/ollama_chat/pager.rb".freeze, "lib/ollama_chat/parsing.rb".freeze, "lib/ollama_chat/personae_management.rb".freeze, "lib/ollama_chat/prompt_handling.rb".freeze, "lib/ollama_chat/prompt_management.rb".freeze, "lib/ollama_chat/rag_handling.rb".freeze, "lib/ollama_chat/redis_cache.rb".freeze, "lib/ollama_chat/say.rb".freeze, "lib/ollama_chat/server_socket.rb".freeze, "lib/ollama_chat/session_management.rb".freeze, "lib/ollama_chat/source_fetching.rb".freeze, "lib/ollama_chat/speaker.rb".freeze, "lib/ollama_chat/state_selectors.rb".freeze, "lib/ollama_chat/switches.rb".freeze, "lib/ollama_chat/system_prompt_management.rb".freeze, "lib/ollama_chat/think_control.rb".freeze, "lib/ollama_chat/token_estimator.rb".freeze, "lib/ollama_chat/token_estimator/crude.rb".freeze, "lib/ollama_chat/tool_calling.rb".freeze, "lib/ollama_chat/tools.rb".freeze, "lib/ollama_chat/tools/browse.rb".freeze, "lib/ollama_chat/tools/compute_bmi.rb".freeze, "lib/ollama_chat/tools/concern.rb".freeze, "lib/ollama_chat/tools/copy_to_clipboard.rb".freeze, "lib/ollama_chat/tools/delete_file.rb".freeze, "lib/ollama_chat/tools/eval_ruby.rb".freeze, "lib/ollama_chat/tools/execute_grep.rb".freeze, "lib/ollama_chat/tools/execute_jira_twg.rb".freeze, "lib/ollama_chat/tools/execute_ri.rb".freeze, "lib/ollama_chat/tools/execute_shell.rb".freeze, "lib/ollama_chat/tools/forget.rb".freeze, "lib/ollama_chat/tools/generate_image.rb".freeze, "lib/ollama_chat/tools/generate_password.rb".freeze, "lib/ollama_chat/tools/get_current_weather.rb".freeze, "lib/ollama_chat/tools/get_cve.rb".freeze, "lib/ollama_chat/tools/get_endoflife.rb".freeze, "lib/ollama_chat/tools/get_ghr.rb".freeze, "lib/ollama_chat/tools/get_jira_issue.rb".freeze, "lib/ollama_chat/tools/get_location.rb".freeze, "lib/ollama_chat/tools/get_rfc.rb".freeze, "lib/ollama_chat/tools/get_time.rb".freeze, "lib/ollama_chat/tools/get_url.rb".freeze, "lib/ollama_chat/tools/list_directory.rb".freeze, "lib/ollama_chat/tools/lookup_gem_path.rb".freeze, "lib/ollama_chat/tools/lookup_group.rb".freeze, "lib/ollama_chat/tools/memorize.rb".freeze, "lib/ollama_chat/tools/move_file.rb".freeze, "lib/ollama_chat/tools/open_file_in_editor.rb".freeze, "lib/ollama_chat/tools/paste_from_clipboard.rb".freeze, "lib/ollama_chat/tools/paste_into_editor.rb".freeze, "lib/ollama_chat/tools/patch_file.rb".freeze, "lib/ollama_chat/tools/read_file.rb".freeze, "lib/ollama_chat/tools/resolve_tag.rb".freeze, "lib/ollama_chat/tools/roll_dice.rb".freeze, "lib/ollama_chat/tools/run_tests.rb".freeze, "lib/ollama_chat/tools/search_knowledge.rb".freeze, "lib/ollama_chat/tools/search_web.rb".freeze, "lib/ollama_chat/tools/write_file.rb".freeze, "lib/ollama_chat/tts.rb".freeze, "lib/ollama_chat/utils.rb".freeze, "lib/ollama_chat/utils/analyze_directory.rb".freeze, "lib/ollama_chat/utils/audio_player.rb".freeze, "lib/ollama_chat/utils/backup.rb".freeze, "lib/ollama_chat/utils/cache_fetcher.rb".freeze, "lib/ollama_chat/utils/chooser.rb".freeze, "lib/ollama_chat/utils/excon_logger.rb".freeze, "lib/ollama_chat/utils/fetcher.rb".freeze, "lib/ollama_chat/utils/json_jsonl_io.rb".freeze, "lib/ollama_chat/utils/log_rotation.rb".freeze, "lib/ollama_chat/utils/log_viewer.rb".freeze, "lib/ollama_chat/utils/ordered_queue.rb".freeze, "lib/ollama_chat/utils/path_completer.rb".freeze, "lib/ollama_chat/utils/path_validator.rb".freeze, "lib/ollama_chat/utils/png_metadata_extractor.rb".freeze, "lib/ollama_chat/utils/strip_ansi.rb".freeze, "lib/ollama_chat/utils/tag_resolver.rb".freeze, "lib/ollama_chat/utils/utf8_converter.rb".freeze, "lib/ollama_chat/utils/value_formatter.rb".freeze, "lib/ollama_chat/uuid_v7.rb".freeze, "lib/ollama_chat/version.rb".freeze, "lib/ollama_chat/vim.rb".freeze, "lib/ollama_chat/web_searching.rb".freeze, "ollama_chat.gemspec".freeze, "redis/redis.conf".freeze, "spec/assets/api_ps.json".freeze, "spec/assets/api_show.json".freeze, "spec/assets/api_tags.json".freeze, "spec/assets/api_version.json".freeze, "spec/assets/conversation.json".freeze, "spec/assets/conversation.jsonl".freeze, "spec/assets/deep/deeper/empty.txt".freeze, "spec/assets/deep/deeper/not-empty.txt".freeze, "spec/assets/deep/empty.txt".freeze, "spec/assets/duckduckgo.html".freeze, "spec/assets/example.atom".freeze, "spec/assets/example.csv".freeze, "spec/assets/example.epub".freeze, "spec/assets/example.html".freeze, "spec/assets/example.pdf".freeze, "spec/assets/example.ps".freeze, "spec/assets/example.rb".freeze, "spec/assets/example.rss".freeze, "spec/assets/example.xml".freeze, "spec/assets/example_with_quote.html".freeze, "spec/assets/fluffy.png".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/linux.oga".freeze, "spec/assets/miyu.png".freeze, "spec/assets/pirateweather.json".freeze, "spec/assets/prompt.txt".freeze, "spec/assets/searxng.json".freeze, "spec/ollama_chat/asr_spec.rb".freeze, "spec/ollama_chat/chat_spec.rb".freeze, "spec/ollama_chat/clipboard_spec.rb".freeze, "spec/ollama_chat/collection_search_spec.rb".freeze, "spec/ollama_chat/command_concern_spec.rb".freeze, "spec/ollama_chat/commands_spec.rb".freeze, "spec/ollama_chat/compaction_spec.rb".freeze, "spec/ollama_chat/config_handling_spec.rb".freeze, "spec/ollama_chat/context_usage_spec.rb".freeze, "spec/ollama_chat/conversation_spec.rb".freeze, "spec/ollama_chat/database/models/favourite_spec.rb".freeze, "spec/ollama_chat/favourites_management_spec.rb".freeze, "spec/ollama_chat/file_editing_spec.rb".freeze, "spec/ollama_chat/follow_chat_spec.rb".freeze, "spec/ollama_chat/history_spec.rb".freeze, "spec/ollama_chat/http_handling_spec.rb".freeze, "spec/ollama_chat/information_spec.rb".freeze, "spec/ollama_chat/input_content_spec.rb".freeze, "spec/ollama_chat/invidious_spec.rb".freeze, "spec/ollama_chat/kramdown_ansi_spec.rb".freeze, "spec/ollama_chat/message_editing_spec.rb".freeze, "spec/ollama_chat/message_list_spec.rb".freeze, "spec/ollama_chat/message_output_spec.rb".freeze, "spec/ollama_chat/message_spec.rb".freeze, "spec/ollama_chat/model_handling_spec.rb".freeze, "spec/ollama_chat/parsing_spec.rb".freeze, "spec/ollama_chat/prompt_handling_spec.rb".freeze, "spec/ollama_chat/prompt_management_spec.rb".freeze, "spec/ollama_chat/rag_handling_spec.rb".freeze, "spec/ollama_chat/redis_cache_spec.rb".freeze, "spec/ollama_chat/server_socket_spec.rb".freeze, "spec/ollama_chat/session_management_spec.rb".freeze, "spec/ollama_chat/source_fetching_spec.rb".freeze, "spec/ollama_chat/speaker_spec.rb".freeze, "spec/ollama_chat/state_selectors_spec.rb".freeze, "spec/ollama_chat/switches_spec.rb".freeze, "spec/ollama_chat/system_prompt_management_spec.rb".freeze, "spec/ollama_chat/think_control_spec.rb".freeze, "spec/ollama_chat/token_estimator_spec.rb".freeze, "spec/ollama_chat/tool_calling_spec.rb".freeze, "spec/ollama_chat/tools/browse_spec.rb".freeze, "spec/ollama_chat/tools/compute_bmi_spec.rb".freeze, "spec/ollama_chat/tools/concern_spec.rb".freeze, "spec/ollama_chat/tools/copy_to_clipboard_spec.rb".freeze, "spec/ollama_chat/tools/delete_file_spec.rb".freeze, "spec/ollama_chat/tools/execute_grep_spec.rb".freeze, "spec/ollama_chat/tools/execute_jira_twg_spec.rb".freeze, "spec/ollama_chat/tools/execute_ri_spec.rb".freeze, "spec/ollama_chat/tools/execute_shell_spec.rb".freeze, "spec/ollama_chat/tools/forget_spec.rb".freeze, "spec/ollama_chat/tools/generate_image_spec.rb".freeze, "spec/ollama_chat/tools/generate_password_spec.rb".freeze, "spec/ollama_chat/tools/get_current_weather_spec.rb".freeze, "spec/ollama_chat/tools/get_cve_spec.rb".freeze, "spec/ollama_chat/tools/get_endoflife_spec.rb".freeze, "spec/ollama_chat/tools/get_ghr_spec.rb".freeze, "spec/ollama_chat/tools/get_jira_issue_spec.rb".freeze, "spec/ollama_chat/tools/get_location_spec.rb".freeze, "spec/ollama_chat/tools/get_rfc_spec.rb".freeze, "spec/ollama_chat/tools/get_time_spec.rb".freeze, "spec/ollama_chat/tools/get_url_spec.rb".freeze, "spec/ollama_chat/tools/list_directory_spec.rb".freeze, "spec/ollama_chat/tools/lookup_gem_path_spec.rb".freeze, "spec/ollama_chat/tools/lookup_group_spec.rb".freeze, "spec/ollama_chat/tools/memorize_spec.rb".freeze, "spec/ollama_chat/tools/move_file_spec.rb".freeze, "spec/ollama_chat/tools/open_file_in_editor_spec.rb".freeze, "spec/ollama_chat/tools/paste_from_clipboard_spec.rb".freeze, "spec/ollama_chat/tools/paste_into_editor_spec.rb".freeze, "spec/ollama_chat/tools/patch_file_spec.rb".freeze, "spec/ollama_chat/tools/read_file_spec.rb".freeze, "spec/ollama_chat/tools/resolve_tag_spec.rb".freeze, "spec/ollama_chat/tools/roll_dice_spec.rb".freeze, "spec/ollama_chat/tools/run_tests_spec.rb".freeze, "spec/ollama_chat/tools/search_knowledge_spec.rb".freeze, "spec/ollama_chat/tools/search_web_spec.rb".freeze, "spec/ollama_chat/tools/write_file_spec.rb".freeze, "spec/ollama_chat/tts_spec.rb".freeze, "spec/ollama_chat/utils/analyze_directory_spec.rb".freeze, "spec/ollama_chat/utils/audio_player_spec.rb".freeze, "spec/ollama_chat/utils/cache_fetcher_spec.rb".freeze, "spec/ollama_chat/utils/excon_logger_spec.rb".freeze, "spec/ollama_chat/utils/fetcher_spec.rb".freeze, "spec/ollama_chat/utils/log_rotation_spec.rb".freeze, "spec/ollama_chat/utils/log_viewer_spec.rb".freeze, "spec/ollama_chat/utils/ordered_queue_spec.rb".freeze, "spec/ollama_chat/utils/path_completer_spec.rb".freeze, "spec/ollama_chat/utils/png_metadata_extractor_spec.rb".freeze, "spec/ollama_chat/vim_spec.rb".freeze, "spec/ollama_chat/web_searching_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
|
|
15
|
+
s.extra_rdoc_files = ["README.md".freeze, "lib/ollama_chat.rb".freeze, "lib/ollama_chat/asr.rb".freeze, "lib/ollama_chat/chat.rb".freeze, "lib/ollama_chat/clipboard.rb".freeze, "lib/ollama_chat/collection_search.rb".freeze, "lib/ollama_chat/command_concern.rb".freeze, "lib/ollama_chat/commands.rb".freeze, "lib/ollama_chat/compaction.rb".freeze, "lib/ollama_chat/config_handling.rb".freeze, "lib/ollama_chat/context_usage.rb".freeze, "lib/ollama_chat/conversation.rb".freeze, "lib/ollama_chat/database.rb".freeze, "lib/ollama_chat/database/duplicatable.rb".freeze, "lib/ollama_chat/database/migrations.rb".freeze, "lib/ollama_chat/database/migrations/001_initial_schema.rb".freeze, "lib/ollama_chat/database/migrations/002_add_links_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/003_add_history_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/004_add_profile_to_model_options.rb".freeze, "lib/ollama_chat/database/migrations/005_add_context_format_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/006_rename_system_prompt_context_to_system.rb".freeze, "lib/ollama_chat/database/migrations/007_add_collections_table.rb".freeze, "lib/ollama_chat/database/migrations/008_drop_think_mode_constraint.rb".freeze, "lib/ollama_chat/database/migrations/009_add_app_states_table.rb".freeze, "lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb".freeze, "lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/012_add_context_manifest_enabled_to_sessions.rb".freeze, "lib/ollama_chat/database/models/app_state.rb".freeze, "lib/ollama_chat/database/models/collection.rb".freeze, "lib/ollama_chat/database/models/favourite.rb".freeze, "lib/ollama_chat/database/models/model_options.rb".freeze, "lib/ollama_chat/database/models/prompt.rb".freeze, "lib/ollama_chat/database/models/session.rb".freeze, "lib/ollama_chat/database/session_locking.rb".freeze, "lib/ollama_chat/dialog.rb".freeze, "lib/ollama_chat/document_cache.rb".freeze, "lib/ollama_chat/favourites_management.rb".freeze, "lib/ollama_chat/feedback.rb".freeze, "lib/ollama_chat/file_editing.rb".freeze, "lib/ollama_chat/follow_chat.rb".freeze, "lib/ollama_chat/history.rb".freeze, "lib/ollama_chat/http_handling.rb".freeze, "lib/ollama_chat/information.rb".freeze, "lib/ollama_chat/input_content.rb".freeze, "lib/ollama_chat/invidious.rb".freeze, "lib/ollama_chat/kramdown_ansi.rb".freeze, "lib/ollama_chat/links_set.rb".freeze, "lib/ollama_chat/location_handling.rb".freeze, "lib/ollama_chat/logging.rb".freeze, "lib/ollama_chat/message.rb".freeze, "lib/ollama_chat/message_editing.rb".freeze, "lib/ollama_chat/message_format.rb".freeze, "lib/ollama_chat/message_list.rb".freeze, "lib/ollama_chat/message_output.rb".freeze, "lib/ollama_chat/model_handling.rb".freeze, "lib/ollama_chat/oc.rb".freeze, "lib/ollama_chat/ollama_chat_config.rb".freeze, "lib/ollama_chat/pager.rb".freeze, "lib/ollama_chat/parsing.rb".freeze, "lib/ollama_chat/personae_management.rb".freeze, "lib/ollama_chat/prompt_handling.rb".freeze, "lib/ollama_chat/prompt_management.rb".freeze, "lib/ollama_chat/rag_handling.rb".freeze, "lib/ollama_chat/redis_cache.rb".freeze, "lib/ollama_chat/say.rb".freeze, "lib/ollama_chat/server_socket.rb".freeze, "lib/ollama_chat/session_management.rb".freeze, "lib/ollama_chat/source_fetching.rb".freeze, "lib/ollama_chat/speaker.rb".freeze, "lib/ollama_chat/state_selectors.rb".freeze, "lib/ollama_chat/switches.rb".freeze, "lib/ollama_chat/system_prompt_management.rb".freeze, "lib/ollama_chat/think_control.rb".freeze, "lib/ollama_chat/token_estimator.rb".freeze, "lib/ollama_chat/token_estimator/crude.rb".freeze, "lib/ollama_chat/tool_calling.rb".freeze, "lib/ollama_chat/tools.rb".freeze, "lib/ollama_chat/tools/browse.rb".freeze, "lib/ollama_chat/tools/compute_bmi.rb".freeze, "lib/ollama_chat/tools/concern.rb".freeze, "lib/ollama_chat/tools/copy_to_clipboard.rb".freeze, "lib/ollama_chat/tools/delete_file.rb".freeze, "lib/ollama_chat/tools/eval_ruby.rb".freeze, "lib/ollama_chat/tools/execute_grep.rb".freeze, "lib/ollama_chat/tools/execute_jira_twg.rb".freeze, "lib/ollama_chat/tools/execute_ri.rb".freeze, "lib/ollama_chat/tools/execute_shell.rb".freeze, "lib/ollama_chat/tools/forget.rb".freeze, "lib/ollama_chat/tools/generate_image.rb".freeze, "lib/ollama_chat/tools/generate_password.rb".freeze, "lib/ollama_chat/tools/get_current_weather.rb".freeze, "lib/ollama_chat/tools/get_cve.rb".freeze, "lib/ollama_chat/tools/get_endoflife.rb".freeze, "lib/ollama_chat/tools/get_ghr.rb".freeze, "lib/ollama_chat/tools/get_jira_issue.rb".freeze, "lib/ollama_chat/tools/get_location.rb".freeze, "lib/ollama_chat/tools/get_rfc.rb".freeze, "lib/ollama_chat/tools/get_time.rb".freeze, "lib/ollama_chat/tools/get_url.rb".freeze, "lib/ollama_chat/tools/list_directory.rb".freeze, "lib/ollama_chat/tools/lookup_gem_path.rb".freeze, "lib/ollama_chat/tools/lookup_group.rb".freeze, "lib/ollama_chat/tools/memorize.rb".freeze, "lib/ollama_chat/tools/move_file.rb".freeze, "lib/ollama_chat/tools/open_file_in_editor.rb".freeze, "lib/ollama_chat/tools/paste_from_clipboard.rb".freeze, "lib/ollama_chat/tools/paste_into_editor.rb".freeze, "lib/ollama_chat/tools/patch_file.rb".freeze, "lib/ollama_chat/tools/read_file.rb".freeze, "lib/ollama_chat/tools/resolve_tag.rb".freeze, "lib/ollama_chat/tools/roll_dice.rb".freeze, "lib/ollama_chat/tools/run_tests.rb".freeze, "lib/ollama_chat/tools/search_knowledge.rb".freeze, "lib/ollama_chat/tools/search_web.rb".freeze, "lib/ollama_chat/tools/write_file.rb".freeze, "lib/ollama_chat/tts.rb".freeze, "lib/ollama_chat/utils.rb".freeze, "lib/ollama_chat/utils/analyze_directory.rb".freeze, "lib/ollama_chat/utils/audio_player.rb".freeze, "lib/ollama_chat/utils/backup.rb".freeze, "lib/ollama_chat/utils/cache_fetcher.rb".freeze, "lib/ollama_chat/utils/chooser.rb".freeze, "lib/ollama_chat/utils/excon_logger.rb".freeze, "lib/ollama_chat/utils/fetcher.rb".freeze, "lib/ollama_chat/utils/json_jsonl_io.rb".freeze, "lib/ollama_chat/utils/log_rotation.rb".freeze, "lib/ollama_chat/utils/log_viewer.rb".freeze, "lib/ollama_chat/utils/ordered_queue.rb".freeze, "lib/ollama_chat/utils/path_completer.rb".freeze, "lib/ollama_chat/utils/path_validator.rb".freeze, "lib/ollama_chat/utils/png_metadata_extractor.rb".freeze, "lib/ollama_chat/utils/strip_ansi.rb".freeze, "lib/ollama_chat/utils/tag_resolver.rb".freeze, "lib/ollama_chat/utils/utf8_converter.rb".freeze, "lib/ollama_chat/utils/value_formatter.rb".freeze, "lib/ollama_chat/uuid_v7.rb".freeze, "lib/ollama_chat/version.rb".freeze, "lib/ollama_chat/vim.rb".freeze, "lib/ollama_chat/web_searching.rb".freeze]
|
|
16
|
+
s.files = [".utilsrc".freeze, "CHANGES.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/ollama_chat".freeze, "bin/ollama_chat_log".freeze, "bin/ollama_chat_send".freeze, "config/searxng/settings.yml".freeze, "config/sherlock.md".freeze, "docker-compose.yml".freeze, "lib/ollama_chat.rb".freeze, "lib/ollama_chat/asr.rb".freeze, "lib/ollama_chat/chat.rb".freeze, "lib/ollama_chat/clipboard.rb".freeze, "lib/ollama_chat/collection_search.rb".freeze, "lib/ollama_chat/command_concern.rb".freeze, "lib/ollama_chat/commands.rb".freeze, "lib/ollama_chat/compaction.rb".freeze, "lib/ollama_chat/config_handling.rb".freeze, "lib/ollama_chat/context_usage.rb".freeze, "lib/ollama_chat/conversation.rb".freeze, "lib/ollama_chat/database.rb".freeze, "lib/ollama_chat/database/duplicatable.rb".freeze, "lib/ollama_chat/database/migrations.rb".freeze, "lib/ollama_chat/database/migrations/001_initial_schema.rb".freeze, "lib/ollama_chat/database/migrations/002_add_links_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/003_add_history_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/004_add_profile_to_model_options.rb".freeze, "lib/ollama_chat/database/migrations/005_add_context_format_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/006_rename_system_prompt_context_to_system.rb".freeze, "lib/ollama_chat/database/migrations/007_add_collections_table.rb".freeze, "lib/ollama_chat/database/migrations/008_drop_think_mode_constraint.rb".freeze, "lib/ollama_chat/database/migrations/009_add_app_states_table.rb".freeze, "lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb".freeze, "lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb".freeze, "lib/ollama_chat/database/migrations/012_add_context_manifest_enabled_to_sessions.rb".freeze, "lib/ollama_chat/database/models/app_state.rb".freeze, "lib/ollama_chat/database/models/collection.rb".freeze, "lib/ollama_chat/database/models/favourite.rb".freeze, "lib/ollama_chat/database/models/model_options.rb".freeze, "lib/ollama_chat/database/models/prompt.rb".freeze, "lib/ollama_chat/database/models/session.rb".freeze, "lib/ollama_chat/database/session_locking.rb".freeze, "lib/ollama_chat/dialog.rb".freeze, "lib/ollama_chat/document_cache.rb".freeze, "lib/ollama_chat/favourites_management.rb".freeze, "lib/ollama_chat/feedback.rb".freeze, "lib/ollama_chat/file_editing.rb".freeze, "lib/ollama_chat/follow_chat.rb".freeze, "lib/ollama_chat/history.rb".freeze, "lib/ollama_chat/http_handling.rb".freeze, "lib/ollama_chat/information.rb".freeze, "lib/ollama_chat/input_content.rb".freeze, "lib/ollama_chat/invidious.rb".freeze, "lib/ollama_chat/kramdown_ansi.rb".freeze, "lib/ollama_chat/links_set.rb".freeze, "lib/ollama_chat/location_handling.rb".freeze, "lib/ollama_chat/logging.rb".freeze, "lib/ollama_chat/message.rb".freeze, "lib/ollama_chat/message_editing.rb".freeze, "lib/ollama_chat/message_format.rb".freeze, "lib/ollama_chat/message_list.rb".freeze, "lib/ollama_chat/message_output.rb".freeze, "lib/ollama_chat/model_handling.rb".freeze, "lib/ollama_chat/oc.rb".freeze, "lib/ollama_chat/ollama_chat_config.rb".freeze, "lib/ollama_chat/ollama_chat_config/default_config.yml".freeze, "lib/ollama_chat/pager.rb".freeze, "lib/ollama_chat/parsing.rb".freeze, "lib/ollama_chat/personae_management.rb".freeze, "lib/ollama_chat/prompt_handling.rb".freeze, "lib/ollama_chat/prompt_management.rb".freeze, "lib/ollama_chat/rag_handling.rb".freeze, "lib/ollama_chat/redis_cache.rb".freeze, "lib/ollama_chat/say.rb".freeze, "lib/ollama_chat/server_socket.rb".freeze, "lib/ollama_chat/session_management.rb".freeze, "lib/ollama_chat/source_fetching.rb".freeze, "lib/ollama_chat/speaker.rb".freeze, "lib/ollama_chat/state_selectors.rb".freeze, "lib/ollama_chat/switches.rb".freeze, "lib/ollama_chat/system_prompt_management.rb".freeze, "lib/ollama_chat/think_control.rb".freeze, "lib/ollama_chat/token_estimator.rb".freeze, "lib/ollama_chat/token_estimator/crude.rb".freeze, "lib/ollama_chat/tool_calling.rb".freeze, "lib/ollama_chat/tools.rb".freeze, "lib/ollama_chat/tools/browse.rb".freeze, "lib/ollama_chat/tools/compute_bmi.rb".freeze, "lib/ollama_chat/tools/concern.rb".freeze, "lib/ollama_chat/tools/copy_to_clipboard.rb".freeze, "lib/ollama_chat/tools/delete_file.rb".freeze, "lib/ollama_chat/tools/eval_ruby.rb".freeze, "lib/ollama_chat/tools/execute_grep.rb".freeze, "lib/ollama_chat/tools/execute_jira_twg.rb".freeze, "lib/ollama_chat/tools/execute_ri.rb".freeze, "lib/ollama_chat/tools/execute_shell.rb".freeze, "lib/ollama_chat/tools/forget.rb".freeze, "lib/ollama_chat/tools/generate_image.rb".freeze, "lib/ollama_chat/tools/generate_password.rb".freeze, "lib/ollama_chat/tools/get_current_weather.rb".freeze, "lib/ollama_chat/tools/get_cve.rb".freeze, "lib/ollama_chat/tools/get_endoflife.rb".freeze, "lib/ollama_chat/tools/get_ghr.rb".freeze, "lib/ollama_chat/tools/get_jira_issue.rb".freeze, "lib/ollama_chat/tools/get_location.rb".freeze, "lib/ollama_chat/tools/get_rfc.rb".freeze, "lib/ollama_chat/tools/get_time.rb".freeze, "lib/ollama_chat/tools/get_url.rb".freeze, "lib/ollama_chat/tools/list_directory.rb".freeze, "lib/ollama_chat/tools/lookup_gem_path.rb".freeze, "lib/ollama_chat/tools/lookup_group.rb".freeze, "lib/ollama_chat/tools/memorize.rb".freeze, "lib/ollama_chat/tools/move_file.rb".freeze, "lib/ollama_chat/tools/open_file_in_editor.rb".freeze, "lib/ollama_chat/tools/paste_from_clipboard.rb".freeze, "lib/ollama_chat/tools/paste_into_editor.rb".freeze, "lib/ollama_chat/tools/patch_file.rb".freeze, "lib/ollama_chat/tools/read_file.rb".freeze, "lib/ollama_chat/tools/resolve_tag.rb".freeze, "lib/ollama_chat/tools/roll_dice.rb".freeze, "lib/ollama_chat/tools/run_tests.rb".freeze, "lib/ollama_chat/tools/search_knowledge.rb".freeze, "lib/ollama_chat/tools/search_web.rb".freeze, "lib/ollama_chat/tools/write_file.rb".freeze, "lib/ollama_chat/tts.rb".freeze, "lib/ollama_chat/utils.rb".freeze, "lib/ollama_chat/utils/analyze_directory.rb".freeze, "lib/ollama_chat/utils/audio_player.rb".freeze, "lib/ollama_chat/utils/backup.rb".freeze, "lib/ollama_chat/utils/cache_fetcher.rb".freeze, "lib/ollama_chat/utils/chooser.rb".freeze, "lib/ollama_chat/utils/excon_logger.rb".freeze, "lib/ollama_chat/utils/fetcher.rb".freeze, "lib/ollama_chat/utils/json_jsonl_io.rb".freeze, "lib/ollama_chat/utils/log_rotation.rb".freeze, "lib/ollama_chat/utils/log_viewer.rb".freeze, "lib/ollama_chat/utils/ordered_queue.rb".freeze, "lib/ollama_chat/utils/path_completer.rb".freeze, "lib/ollama_chat/utils/path_validator.rb".freeze, "lib/ollama_chat/utils/png_metadata_extractor.rb".freeze, "lib/ollama_chat/utils/strip_ansi.rb".freeze, "lib/ollama_chat/utils/tag_resolver.rb".freeze, "lib/ollama_chat/utils/utf8_converter.rb".freeze, "lib/ollama_chat/utils/value_formatter.rb".freeze, "lib/ollama_chat/uuid_v7.rb".freeze, "lib/ollama_chat/version.rb".freeze, "lib/ollama_chat/vim.rb".freeze, "lib/ollama_chat/web_searching.rb".freeze, "ollama_chat.gemspec".freeze, "redis/redis.conf".freeze, "spec/assets/api_ps.json".freeze, "spec/assets/api_show.json".freeze, "spec/assets/api_tags.json".freeze, "spec/assets/api_version.json".freeze, "spec/assets/conversation.json".freeze, "spec/assets/conversation.jsonl".freeze, "spec/assets/deep/deeper/empty.txt".freeze, "spec/assets/deep/deeper/not-empty.txt".freeze, "spec/assets/deep/empty.txt".freeze, "spec/assets/duckduckgo.html".freeze, "spec/assets/example.atom".freeze, "spec/assets/example.csv".freeze, "spec/assets/example.epub".freeze, "spec/assets/example.html".freeze, "spec/assets/example.pdf".freeze, "spec/assets/example.ps".freeze, "spec/assets/example.rb".freeze, "spec/assets/example.rss".freeze, "spec/assets/example.xml".freeze, "spec/assets/example_with_quote.html".freeze, "spec/assets/fluffy.png".freeze, "spec/assets/kitten.jpg".freeze, "spec/assets/linux.oga".freeze, "spec/assets/miyu.png".freeze, "spec/assets/pirateweather.json".freeze, "spec/assets/prompt.txt".freeze, "spec/assets/searxng.json".freeze, "spec/ollama_chat/asr_spec.rb".freeze, "spec/ollama_chat/chat_spec.rb".freeze, "spec/ollama_chat/clipboard_spec.rb".freeze, "spec/ollama_chat/collection_search_spec.rb".freeze, "spec/ollama_chat/command_concern_spec.rb".freeze, "spec/ollama_chat/commands_spec.rb".freeze, "spec/ollama_chat/compaction_spec.rb".freeze, "spec/ollama_chat/config_handling_spec.rb".freeze, "spec/ollama_chat/context_usage_spec.rb".freeze, "spec/ollama_chat/conversation_spec.rb".freeze, "spec/ollama_chat/database/models/favourite_spec.rb".freeze, "spec/ollama_chat/favourites_management_spec.rb".freeze, "spec/ollama_chat/file_editing_spec.rb".freeze, "spec/ollama_chat/follow_chat_spec.rb".freeze, "spec/ollama_chat/history_spec.rb".freeze, "spec/ollama_chat/http_handling_spec.rb".freeze, "spec/ollama_chat/information_spec.rb".freeze, "spec/ollama_chat/input_content_spec.rb".freeze, "spec/ollama_chat/invidious_spec.rb".freeze, "spec/ollama_chat/kramdown_ansi_spec.rb".freeze, "spec/ollama_chat/message_editing_spec.rb".freeze, "spec/ollama_chat/message_list_spec.rb".freeze, "spec/ollama_chat/message_output_spec.rb".freeze, "spec/ollama_chat/message_spec.rb".freeze, "spec/ollama_chat/model_handling_spec.rb".freeze, "spec/ollama_chat/parsing_spec.rb".freeze, "spec/ollama_chat/prompt_handling_spec.rb".freeze, "spec/ollama_chat/prompt_management_spec.rb".freeze, "spec/ollama_chat/rag_handling_spec.rb".freeze, "spec/ollama_chat/redis_cache_spec.rb".freeze, "spec/ollama_chat/server_socket_spec.rb".freeze, "spec/ollama_chat/session_management_spec.rb".freeze, "spec/ollama_chat/source_fetching_spec.rb".freeze, "spec/ollama_chat/speaker_spec.rb".freeze, "spec/ollama_chat/state_selectors_spec.rb".freeze, "spec/ollama_chat/switches_spec.rb".freeze, "spec/ollama_chat/system_prompt_management_spec.rb".freeze, "spec/ollama_chat/think_control_spec.rb".freeze, "spec/ollama_chat/token_estimator_spec.rb".freeze, "spec/ollama_chat/tool_calling_spec.rb".freeze, "spec/ollama_chat/tools/browse_spec.rb".freeze, "spec/ollama_chat/tools/compute_bmi_spec.rb".freeze, "spec/ollama_chat/tools/concern_spec.rb".freeze, "spec/ollama_chat/tools/copy_to_clipboard_spec.rb".freeze, "spec/ollama_chat/tools/delete_file_spec.rb".freeze, "spec/ollama_chat/tools/execute_grep_spec.rb".freeze, "spec/ollama_chat/tools/execute_jira_twg_spec.rb".freeze, "spec/ollama_chat/tools/execute_ri_spec.rb".freeze, "spec/ollama_chat/tools/execute_shell_spec.rb".freeze, "spec/ollama_chat/tools/forget_spec.rb".freeze, "spec/ollama_chat/tools/generate_image_spec.rb".freeze, "spec/ollama_chat/tools/generate_password_spec.rb".freeze, "spec/ollama_chat/tools/get_current_weather_spec.rb".freeze, "spec/ollama_chat/tools/get_cve_spec.rb".freeze, "spec/ollama_chat/tools/get_endoflife_spec.rb".freeze, "spec/ollama_chat/tools/get_ghr_spec.rb".freeze, "spec/ollama_chat/tools/get_jira_issue_spec.rb".freeze, "spec/ollama_chat/tools/get_location_spec.rb".freeze, "spec/ollama_chat/tools/get_rfc_spec.rb".freeze, "spec/ollama_chat/tools/get_time_spec.rb".freeze, "spec/ollama_chat/tools/get_url_spec.rb".freeze, "spec/ollama_chat/tools/list_directory_spec.rb".freeze, "spec/ollama_chat/tools/lookup_gem_path_spec.rb".freeze, "spec/ollama_chat/tools/lookup_group_spec.rb".freeze, "spec/ollama_chat/tools/memorize_spec.rb".freeze, "spec/ollama_chat/tools/move_file_spec.rb".freeze, "spec/ollama_chat/tools/open_file_in_editor_spec.rb".freeze, "spec/ollama_chat/tools/paste_from_clipboard_spec.rb".freeze, "spec/ollama_chat/tools/paste_into_editor_spec.rb".freeze, "spec/ollama_chat/tools/patch_file_spec.rb".freeze, "spec/ollama_chat/tools/read_file_spec.rb".freeze, "spec/ollama_chat/tools/resolve_tag_spec.rb".freeze, "spec/ollama_chat/tools/roll_dice_spec.rb".freeze, "spec/ollama_chat/tools/run_tests_spec.rb".freeze, "spec/ollama_chat/tools/search_knowledge_spec.rb".freeze, "spec/ollama_chat/tools/search_web_spec.rb".freeze, "spec/ollama_chat/tools/write_file_spec.rb".freeze, "spec/ollama_chat/tts_spec.rb".freeze, "spec/ollama_chat/utils/analyze_directory_spec.rb".freeze, "spec/ollama_chat/utils/audio_player_spec.rb".freeze, "spec/ollama_chat/utils/cache_fetcher_spec.rb".freeze, "spec/ollama_chat/utils/excon_logger_spec.rb".freeze, "spec/ollama_chat/utils/fetcher_spec.rb".freeze, "spec/ollama_chat/utils/log_rotation_spec.rb".freeze, "spec/ollama_chat/utils/log_viewer_spec.rb".freeze, "spec/ollama_chat/utils/ordered_queue_spec.rb".freeze, "spec/ollama_chat/utils/path_completer_spec.rb".freeze, "spec/ollama_chat/utils/png_metadata_extractor_spec.rb".freeze, "spec/ollama_chat/vim_spec.rb".freeze, "spec/ollama_chat/web_searching_spec.rb".freeze, "spec/spec_helper.rb".freeze, "tmp/.keep".freeze]
|
|
17
17
|
s.homepage = "https://github.com/flori/ollama_chat".freeze
|
|
18
18
|
s.licenses = ["MIT".freeze]
|
|
19
19
|
s.rdoc_options = ["--title".freeze, "OllamaChat - A command-line interface (CLI) for interacting with an Ollama AI model.".freeze, "--main".freeze, "README.md".freeze]
|
|
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
|
|
|
33
33
|
s.add_development_dependency(%q<simplecov>.freeze, [">= 0".freeze])
|
|
34
34
|
s.add_development_dependency(%q<utils>.freeze, [">= 0".freeze])
|
|
35
35
|
s.add_runtime_dependency(%q<excon>.freeze, ["~> 1.0".freeze])
|
|
36
|
-
s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["~> 1.
|
|
36
|
+
s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["~> 1.25".freeze])
|
|
37
37
|
s.add_runtime_dependency(%q<documentrix>.freeze, [">= 0.8.0".freeze])
|
|
38
38
|
s.add_runtime_dependency(%q<unix_socks>.freeze, [">= 0.4".freeze])
|
|
39
39
|
s.add_runtime_dependency(%q<rss>.freeze, ["~> 0.3".freeze])
|
|
@@ -43,14 +43,14 @@ Gem::Specification.new do |s|
|
|
|
43
43
|
s.add_runtime_dependency(%q<reverse_markdown>.freeze, ["~> 3.0".freeze])
|
|
44
44
|
s.add_runtime_dependency(%q<kramdown-ansi>.freeze, ["~> 0.5".freeze])
|
|
45
45
|
s.add_runtime_dependency(%q<complex_config>.freeze, ["~> 0.22".freeze, ">= 0.22.2".freeze])
|
|
46
|
-
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.
|
|
46
|
+
s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.61".freeze])
|
|
47
47
|
s.add_runtime_dependency(%q<search_ui>.freeze, [">= 0.2".freeze])
|
|
48
48
|
s.add_runtime_dependency(%q<amatch>.freeze, ["~> 0.4".freeze])
|
|
49
49
|
s.add_runtime_dependency(%q<pdf-reader>.freeze, ["~> 2.0".freeze])
|
|
50
50
|
s.add_runtime_dependency(%q<bigdecimal>.freeze, ["~> 3.1".freeze])
|
|
51
51
|
s.add_runtime_dependency(%q<csv>.freeze, ["~> 3.0".freeze])
|
|
52
52
|
s.add_runtime_dependency(%q<const_conf>.freeze, ["~> 0.9".freeze])
|
|
53
|
-
s.add_runtime_dependency(%q<context_spook>.freeze, ["~> 1.
|
|
53
|
+
s.add_runtime_dependency(%q<context_spook>.freeze, ["~> 1.7".freeze])
|
|
54
54
|
s.add_runtime_dependency(%q<infobar>.freeze, [">= 0.13.1".freeze])
|
|
55
55
|
s.add_runtime_dependency(%q<rubyzip>.freeze, ["~> 3.0".freeze])
|
|
56
56
|
s.add_runtime_dependency(%q<sequel>.freeze, ["~> 5.0".freeze])
|
|
@@ -357,7 +357,7 @@ describe OllamaChat::Commands, protect_env: true do
|
|
|
357
357
|
expect(chat.handle_input("/collection change")).to eq :next
|
|
358
358
|
expect(STDOUT).to receive(:puts).with(/default/)
|
|
359
359
|
expect(chat.handle_input("/collection list")).to eq :next
|
|
360
|
-
expect(chat).to receive(:rename_collection).with(
|
|
360
|
+
expect(chat).to receive(:rename_collection).with('default')
|
|
361
361
|
expect(chat.handle_input("/collection rename")).to eq :next
|
|
362
362
|
end
|
|
363
363
|
|
|
@@ -391,13 +391,13 @@ describe OllamaChat::Commands, protect_env: true do
|
|
|
391
391
|
end
|
|
392
392
|
|
|
393
393
|
it 'returns :next when "/collection update" has no changes' do
|
|
394
|
-
expect(chat).to receive(:update_collection).with(
|
|
394
|
+
expect(chat).to receive(:update_collection).with('default')
|
|
395
395
|
.and_return nil
|
|
396
396
|
expect(chat.handle_input("/collection update")).to eq :next
|
|
397
397
|
end
|
|
398
398
|
|
|
399
399
|
it 'returns results when "/collection update" has content' do
|
|
400
|
-
expect(chat).to receive(:update_collection).with(
|
|
400
|
+
expect(chat).to receive(:update_collection).with('default')
|
|
401
401
|
.and_return 'updated 3'
|
|
402
402
|
expect(chat.handle_input("/collection update")).to eq 'updated 3'
|
|
403
403
|
end
|
|
@@ -606,27 +606,49 @@ describe OllamaChat::Commands, protect_env: true do
|
|
|
606
606
|
|
|
607
607
|
context 'context' do
|
|
608
608
|
it 'returns "success" when input is "/input context (.+)"' do
|
|
609
|
+
expect(chat.session).to receive(:context_manifest_enabled).and_call_original
|
|
609
610
|
expect(chat).to receive(:context_spook).
|
|
610
|
-
with([asset('example.rb')], all: true).and_return('success')
|
|
611
|
+
with([asset('example.rb')], all: true, manifest: false).and_return('success')
|
|
611
612
|
expect(chat.handle_input("/input context #{asset('example.rb')}")).to eq 'success'
|
|
612
613
|
end
|
|
613
614
|
|
|
614
615
|
it 'returns "success" when input is "/input context -a -p (.+)"' do
|
|
616
|
+
expect(chat.session).to receive(:context_manifest_enabled).and_call_original
|
|
615
617
|
expect(chat).to receive(:context_spook).
|
|
616
|
-
with([asset('*.rb')], all: 1).and_return 'success'
|
|
618
|
+
with([asset('*.rb')], all: 1, manifest: false).and_return 'success'
|
|
617
619
|
expect(chat.handle_input("/input context -a -p #{asset('*.rb')}")).
|
|
618
620
|
to eq 'success'
|
|
619
621
|
end
|
|
620
622
|
|
|
621
623
|
it 'returns :next when input is "/input context" with "success"' do
|
|
624
|
+
expect(chat.session).to receive(:context_manifest_enabled).and_call_original
|
|
622
625
|
expect(chat).to receive(:context_spook).and_return 'success'
|
|
623
626
|
expect(chat.handle_input("/input context")).to eq 'success'
|
|
624
627
|
end
|
|
625
628
|
|
|
626
629
|
it 'returns :next when input is "/input context" without choosing' do
|
|
630
|
+
expect(chat.session).to receive(:context_manifest_enabled).and_call_original
|
|
627
631
|
expect(chat).to receive(:context_spook).and_return nil
|
|
628
632
|
expect(chat.handle_input("/input context")).to eq :next
|
|
629
633
|
end
|
|
634
|
+
|
|
635
|
+
it 'forces manifest on with -M' do
|
|
636
|
+
expect(chat.session).not_to receive(:context_manifest_enabled)
|
|
637
|
+
expect(chat).to receive(:context_spook).
|
|
638
|
+
with([asset('example.rb')], all: true, manifest: 1).
|
|
639
|
+
and_return('success')
|
|
640
|
+
expect(chat.handle_input("/input context -M #{asset('example.rb')}")).
|
|
641
|
+
to eq 'success'
|
|
642
|
+
end
|
|
643
|
+
|
|
644
|
+
it 'forces manifest off with ~M' do
|
|
645
|
+
expect(chat.session).not_to receive(:context_manifest_enabled)
|
|
646
|
+
expect(chat).to receive(:context_spook).
|
|
647
|
+
with([asset('example.rb')], all: true, manifest: false).
|
|
648
|
+
and_return('success')
|
|
649
|
+
expect(chat.handle_input("/input context ~M #{asset('example.rb')}")).
|
|
650
|
+
to eq 'success'
|
|
651
|
+
end
|
|
630
652
|
end
|
|
631
653
|
end
|
|
632
654
|
|
|
@@ -46,9 +46,9 @@ describe OllamaChat::ContextUsage do
|
|
|
46
46
|
expect(described_class.new(chat).plain).to eq '10.0% · 100.0 T of 1.0 KT'
|
|
47
47
|
end
|
|
48
48
|
|
|
49
|
-
it 'returns
|
|
49
|
+
it 'returns "n/a" for plain when the context length is unknown' do
|
|
50
50
|
expect(chat).to receive(:current_context_length).and_return nil
|
|
51
|
-
expect(described_class.new(chat).plain).to
|
|
51
|
+
expect(described_class.new(chat).plain).to eq 'n/a'
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
it 'falls back to a bold n/a for colored when unknown' do
|
|
@@ -90,17 +90,20 @@ describe OllamaChat::RAGHandling do
|
|
|
90
90
|
end
|
|
91
91
|
|
|
92
92
|
describe '#clear_whole_collection' do
|
|
93
|
-
it 'clears all documents and returns self when
|
|
94
|
-
expect(
|
|
95
|
-
expect(
|
|
93
|
+
it 'clears all documents and returns self when name is typed' do
|
|
94
|
+
expect(docs).to receive(:collection).and_return('default').at_least(:once)
|
|
95
|
+
expect(chat).to receive(:switch_history) { |*, &blk| blk.call }
|
|
96
|
+
expect(chat).to receive(:ask?).and_return('default')
|
|
96
97
|
expect(docs).to receive(:clear)
|
|
97
98
|
expect(chat).to receive(:feedback)
|
|
98
99
|
.with(a_string_including('Cleared collection'), type: :info)
|
|
99
100
|
expect(chat.clear_whole_collection).to eq chat
|
|
100
101
|
end
|
|
101
102
|
|
|
102
|
-
it 'returns nil and reports denied when
|
|
103
|
-
expect(
|
|
103
|
+
it 'returns nil and reports denied when name does not match' do
|
|
104
|
+
expect(docs).to receive(:collection).and_return('default')
|
|
105
|
+
expect(chat).to receive(:switch_history) { |*, &blk| blk.call }
|
|
106
|
+
expect(chat).to receive(:ask?).and_return('other')
|
|
104
107
|
expect(docs).not_to receive(:clear)
|
|
105
108
|
expect(chat).to receive(:feedback).with('Denied.', type: :denied)
|
|
106
109
|
expect(chat.clear_whole_collection).to be_nil
|
|
@@ -147,7 +150,7 @@ describe OllamaChat::RAGHandling do
|
|
|
147
150
|
expect(docs).to receive(:clear).with(tags: [ 'mem' ])
|
|
148
151
|
expect(chat).to receive(:log)
|
|
149
152
|
expect(chat).to receive(:feedback)
|
|
150
|
-
.with(a_string_including('Cleared tag mem'), type: :info)
|
|
153
|
+
.with(a_string_including('Cleared tag mem'), type: :info, timeout: 3)
|
|
151
154
|
expect(chat).to receive(:feedback).with('Exiting chooser.')
|
|
152
155
|
chat.clear_collection_tags
|
|
153
156
|
expect(buf.string).to include('hello world')
|
|
@@ -192,7 +195,7 @@ describe OllamaChat::RAGHandling do
|
|
|
192
195
|
expect(docs).to receive(:source_remove).with('a.rb')
|
|
193
196
|
expect(chat).to receive(:log)
|
|
194
197
|
expect(chat).to receive(:feedback)
|
|
195
|
-
.with(a_string_including('Cleared tag t1'), type: :info)
|
|
198
|
+
.with(a_string_including('Cleared tag t1'), type: :info, timeout: 3)
|
|
196
199
|
expect(chat).to receive(:feedback).with('Exiting chooser.')
|
|
197
200
|
chat.clear_collection_tags
|
|
198
201
|
expect(buf.string).to include('hello')
|
|
@@ -220,7 +223,7 @@ describe OllamaChat::RAGHandling do
|
|
|
220
223
|
expect(docs).to receive(:source_remove).with('a.rb')
|
|
221
224
|
expect(chat).to receive(:log)
|
|
222
225
|
expect(chat).to receive(:feedback)
|
|
223
|
-
.with(a_string_including('Cleared tag t1'), type: :info)
|
|
226
|
+
.with(a_string_including('Cleared tag t1'), type: :info, timeout: 3)
|
|
224
227
|
expect(chat).to receive(:feedback).with('Exiting chooser.')
|
|
225
228
|
chat.clear_collection_tags
|
|
226
229
|
end
|
|
@@ -269,7 +272,7 @@ describe OllamaChat::RAGHandling do
|
|
|
269
272
|
expect(docs).to receive(:source_remove).with('a.rb')
|
|
270
273
|
expect(chat).to receive(:log)
|
|
271
274
|
expect(chat).to receive(:feedback)
|
|
272
|
-
.with(a_string_including('Removed source a.rb'), type: :info)
|
|
275
|
+
.with(a_string_including('Removed source a.rb'), type: :info, timeout: 3)
|
|
273
276
|
expect(chat).to receive(:feedback).with('Exiting chooser.')
|
|
274
277
|
chat.clear_collection_sources
|
|
275
278
|
end
|
|
@@ -208,8 +208,14 @@ describe OllamaChat::SessionManagement do
|
|
|
208
208
|
expect(chat.session).to receive(:update).with(working_directory: '/curr')
|
|
209
209
|
expect(chat).to receive(:init_history)
|
|
210
210
|
expect(chat.session_apply).to eq(chat.session)
|
|
211
|
-
expect(chat.session.trigger).to be_present
|
|
212
211
|
collection = 'memory-%s' % chat.session.default_persona_name
|
|
212
|
+
expect(chat.session.trigger).to include(
|
|
213
|
+
collection => a_hash_including(
|
|
214
|
+
'enabled' => true,
|
|
215
|
+
'prompt_name' => 'memory_rerank',
|
|
216
|
+
'text_count' => 3
|
|
217
|
+
)
|
|
218
|
+
)
|
|
213
219
|
expect(chat.database_collection?(collection)).to be_truthy
|
|
214
220
|
end
|
|
215
221
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ollama_chat
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.133
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Florian Frank
|
|
@@ -141,14 +141,14 @@ dependencies:
|
|
|
141
141
|
requirements:
|
|
142
142
|
- - "~>"
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '1.
|
|
144
|
+
version: '1.25'
|
|
145
145
|
type: :runtime
|
|
146
146
|
prerelease: false
|
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
148
148
|
requirements:
|
|
149
149
|
- - "~>"
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: '1.
|
|
151
|
+
version: '1.25'
|
|
152
152
|
- !ruby/object:Gem::Dependency
|
|
153
153
|
name: documentrix
|
|
154
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -287,20 +287,14 @@ dependencies:
|
|
|
287
287
|
requirements:
|
|
288
288
|
- - "~>"
|
|
289
289
|
- !ruby/object:Gem::Version
|
|
290
|
-
version: '1.
|
|
291
|
-
- - ">="
|
|
292
|
-
- !ruby/object:Gem::Version
|
|
293
|
-
version: 1.60.1
|
|
290
|
+
version: '1.61'
|
|
294
291
|
type: :runtime
|
|
295
292
|
prerelease: false
|
|
296
293
|
version_requirements: !ruby/object:Gem::Requirement
|
|
297
294
|
requirements:
|
|
298
295
|
- - "~>"
|
|
299
296
|
- !ruby/object:Gem::Version
|
|
300
|
-
version: '1.
|
|
301
|
-
- - ">="
|
|
302
|
-
- !ruby/object:Gem::Version
|
|
303
|
-
version: 1.60.1
|
|
297
|
+
version: '1.61'
|
|
304
298
|
- !ruby/object:Gem::Dependency
|
|
305
299
|
name: search_ui
|
|
306
300
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -391,14 +385,14 @@ dependencies:
|
|
|
391
385
|
requirements:
|
|
392
386
|
- - "~>"
|
|
393
387
|
- !ruby/object:Gem::Version
|
|
394
|
-
version: '1.
|
|
388
|
+
version: '1.7'
|
|
395
389
|
type: :runtime
|
|
396
390
|
prerelease: false
|
|
397
391
|
version_requirements: !ruby/object:Gem::Requirement
|
|
398
392
|
requirements:
|
|
399
393
|
- - "~>"
|
|
400
394
|
- !ruby/object:Gem::Version
|
|
401
|
-
version: '1.
|
|
395
|
+
version: '1.7'
|
|
402
396
|
- !ruby/object:Gem::Dependency
|
|
403
397
|
name: infobar
|
|
404
398
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -510,6 +504,7 @@ extra_rdoc_files:
|
|
|
510
504
|
- lib/ollama_chat/database/migrations/009_add_app_states_table.rb
|
|
511
505
|
- lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb
|
|
512
506
|
- lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb
|
|
507
|
+
- lib/ollama_chat/database/migrations/012_add_context_manifest_enabled_to_sessions.rb
|
|
513
508
|
- lib/ollama_chat/database/models/app_state.rb
|
|
514
509
|
- lib/ollama_chat/database/models/collection.rb
|
|
515
510
|
- lib/ollama_chat/database/models/favourite.rb
|
|
@@ -660,6 +655,7 @@ files:
|
|
|
660
655
|
- lib/ollama_chat/database/migrations/009_add_app_states_table.rb
|
|
661
656
|
- lib/ollama_chat/database/migrations/010_add_enabled_to_collections.rb
|
|
662
657
|
- lib/ollama_chat/database/migrations/011_add_trigger_to_sessions.rb
|
|
658
|
+
- lib/ollama_chat/database/migrations/012_add_context_manifest_enabled_to_sessions.rb
|
|
663
659
|
- lib/ollama_chat/database/models/app_state.rb
|
|
664
660
|
- lib/ollama_chat/database/models/collection.rb
|
|
665
661
|
- lib/ollama_chat/database/models/favourite.rb
|