nano-bots 3.2.0 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +13 -13
- data/components/storage.rb +2 -12
- data/controllers/session.rb +12 -2
- data/docker-compose.example.yml +1 -1
- data/static/gem.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: aaec6b825711abf0cc489a12d158c8558c51f886772bde35ba606baa23c32a0b
|
|
4
|
+
data.tar.gz: fe8fbb0a863c0f5a4bbe72a83daaa4b6fea807b3816fbaf3daffbb7fbc902a9d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13fe49fd1bbab45f622a7b77d05de9308aa1ac90d7bf1ba9dce03280ef6bd995624106616706a68defb8580c7f8de9d2a79e140f8974b0c3f493d0c6042e420f
|
|
7
|
+
data.tar.gz: 673e795b635e5ec5a3b48dffee25ebdbf509bacd55de906aa180fc65f9342ab7820168c375257bc4351f23ec8989463e5c70de96ba20f4f6962aef439e6a142b
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -9,7 +9,7 @@ https://user-images.githubusercontent.com/113217272/238141567-c58a240c-7b67-4b3b
|
|
|
9
9
|
## TL;DR and Quick Start
|
|
10
10
|
|
|
11
11
|
```sh
|
|
12
|
-
gem install nano-bots -v 3.
|
|
12
|
+
gem install nano-bots -v 3.3.0
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
```bash
|
|
@@ -59,7 +59,7 @@ nb gpt.yml - eval "hi"
|
|
|
59
59
|
```
|
|
60
60
|
|
|
61
61
|
```ruby
|
|
62
|
-
gem 'nano-bots', '~> 3.
|
|
62
|
+
gem 'nano-bots', '~> 3.3.0'
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
```ruby
|
|
@@ -250,13 +250,13 @@ end
|
|
|
250
250
|
To install the CLI on your system:
|
|
251
251
|
|
|
252
252
|
```sh
|
|
253
|
-
gem install nano-bots -v 3.
|
|
253
|
+
gem install nano-bots -v 3.3.0
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
To use it in a Ruby project as a library, add to your `Gemfile`:
|
|
257
257
|
|
|
258
258
|
```ruby
|
|
259
|
-
gem 'nano-bots', '~> 3.
|
|
259
|
+
gem 'nano-bots', '~> 3.3.0'
|
|
260
260
|
```
|
|
261
261
|
|
|
262
262
|
```sh
|
|
@@ -972,7 +972,7 @@ Set your provider credentials and choose your desired path for the cartridges fi
|
|
|
972
972
|
services:
|
|
973
973
|
nano-bots:
|
|
974
974
|
image: ruby:3.3.3-slim-bookworm
|
|
975
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
975
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
976
976
|
environment:
|
|
977
977
|
COHERE_API_KEY: your-api-key
|
|
978
978
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -989,7 +989,7 @@ services:
|
|
|
989
989
|
services:
|
|
990
990
|
nano-bots:
|
|
991
991
|
image: ruby:3.3.3-slim-bookworm
|
|
992
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
992
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
993
993
|
environment:
|
|
994
994
|
MARITACA_API_KEY: your-api-key
|
|
995
995
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1006,7 +1006,7 @@ services:
|
|
|
1006
1006
|
services:
|
|
1007
1007
|
nano-bots:
|
|
1008
1008
|
image: ruby:3.3.3-slim-bookworm
|
|
1009
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1009
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1010
1010
|
environment:
|
|
1011
1011
|
MISTRAL_API_KEY: your-api-key
|
|
1012
1012
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1025,7 +1025,7 @@ Remember that your `localhost` is by default inaccessible from inside Docker. Yo
|
|
|
1025
1025
|
services:
|
|
1026
1026
|
nano-bots:
|
|
1027
1027
|
image: ruby:3.3.3-slim-bookworm
|
|
1028
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1028
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1029
1029
|
environment:
|
|
1030
1030
|
OLLAMA_API_ADDRESS: http://localhost:11434
|
|
1031
1031
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1044,7 +1044,7 @@ services:
|
|
|
1044
1044
|
services:
|
|
1045
1045
|
nano-bots:
|
|
1046
1046
|
image: ruby:3.3.3-slim-bookworm
|
|
1047
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1047
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1048
1048
|
environment:
|
|
1049
1049
|
OPENAI_API_KEY: your-access-token
|
|
1050
1050
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1063,7 +1063,7 @@ services:
|
|
|
1063
1063
|
services:
|
|
1064
1064
|
nano-bots:
|
|
1065
1065
|
image: ruby:3.3.3-slim-bookworm
|
|
1066
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1066
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1067
1067
|
environment:
|
|
1068
1068
|
GOOGLE_API_KEY: your-api-key
|
|
1069
1069
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1080,7 +1080,7 @@ services:
|
|
|
1080
1080
|
services:
|
|
1081
1081
|
nano-bots:
|
|
1082
1082
|
image: ruby:3.3.3-slim-bookworm
|
|
1083
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1083
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1084
1084
|
environment:
|
|
1085
1085
|
GOOGLE_CREDENTIALS_FILE_PATH: /root/.config/google-credentials.json
|
|
1086
1086
|
GOOGLE_REGION: us-east4
|
|
@@ -1099,7 +1099,7 @@ services:
|
|
|
1099
1099
|
services:
|
|
1100
1100
|
nano-bots:
|
|
1101
1101
|
image: ruby:3.3.3-slim-bookworm
|
|
1102
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
1102
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
1103
1103
|
environment:
|
|
1104
1104
|
GOOGLE_REGION: us-east4
|
|
1105
1105
|
NANO_BOTS_ENCRYPTION_PASSWORD: UNSAFE
|
|
@@ -1161,5 +1161,5 @@ gem build nano-bots.gemspec
|
|
|
1161
1161
|
|
|
1162
1162
|
gem signin
|
|
1163
1163
|
|
|
1164
|
-
gem push nano-bots-3.
|
|
1164
|
+
gem push nano-bots-3.3.0.gem
|
|
1165
1165
|
```
|
data/components/storage.rb
CHANGED
|
@@ -35,7 +35,7 @@ module NanoBot
|
|
|
35
35
|
Crypto.encrypt(user, soft: true)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
def self.
|
|
38
|
+
def self.build_path_for_state_file(key, cartridge, environment: {})
|
|
39
39
|
path = [
|
|
40
40
|
Logic::Helpers::Hash.fetch(cartridge, %i[state path]),
|
|
41
41
|
Logic::Helpers::Hash.fetch(cartridge, %i[state directory]),
|
|
@@ -54,18 +54,8 @@ module NanoBot
|
|
|
54
54
|
path = "#{path}/#{cartridge[:meta][:version].to_s.gsub('.', '-').to_slug.normalize}"
|
|
55
55
|
path = "#{path}/#{end_user(cartridge, environment)}"
|
|
56
56
|
path = "#{path}/#{Crypto.encrypt(key, soft: true)}"
|
|
57
|
-
path = "#{path}/state.json"
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
unless File.exist?(path)
|
|
62
|
-
File.write(
|
|
63
|
-
path,
|
|
64
|
-
Crypto.encrypt(JSON.generate({ key:, history: [] }))
|
|
65
|
-
)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
path
|
|
58
|
+
"#{path}/state.json"
|
|
69
59
|
end
|
|
70
60
|
|
|
71
61
|
def self.cartridges_path(components: {})
|
data/controllers/session.rb
CHANGED
|
@@ -34,7 +34,9 @@ module NanoBot
|
|
|
34
34
|
if @stateless
|
|
35
35
|
@state = { history: [] }
|
|
36
36
|
else
|
|
37
|
-
@
|
|
37
|
+
@state_key = state.strip
|
|
38
|
+
|
|
39
|
+
@state_path = Components::Storage.build_path_for_state_file(
|
|
38
40
|
state.strip, @cartridge, environment:
|
|
39
41
|
)
|
|
40
42
|
|
|
@@ -43,16 +45,24 @@ module NanoBot
|
|
|
43
45
|
end
|
|
44
46
|
|
|
45
47
|
def state
|
|
46
|
-
|
|
48
|
+
if @state[:history].empty?
|
|
49
|
+
nil
|
|
50
|
+
else
|
|
51
|
+
{ state: { path: @state_path, content: @state } }
|
|
52
|
+
end
|
|
47
53
|
end
|
|
48
54
|
|
|
49
55
|
def load_state
|
|
56
|
+
return { key: @state_key, history: [] } unless File.exist?(@state_path)
|
|
57
|
+
|
|
50
58
|
@state = Logic::Helpers::Hash.symbolize_keys(
|
|
51
59
|
JSON.parse(Components::Crypto.decrypt(File.read(@state_path)))
|
|
52
60
|
)
|
|
53
61
|
end
|
|
54
62
|
|
|
55
63
|
def store_state!
|
|
64
|
+
FileUtils.mkdir_p(File.dirname(@state_path)) unless File.exist?(@state_path)
|
|
65
|
+
|
|
56
66
|
File.write(@state_path, Components::Crypto.encrypt(JSON.generate(@state)))
|
|
57
67
|
end
|
|
58
68
|
|
data/docker-compose.example.yml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
services:
|
|
3
3
|
nano-bots:
|
|
4
4
|
image: ruby:3.3.3-slim-bookworm
|
|
5
|
-
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.
|
|
5
|
+
command: sh -c "apt-get update && apt-get install -y --no-install-recommends build-essential libffi-dev libsodium-dev lua5.4-dev curl && curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bash && gem install nano-bots -v 3.3.0 && bash"
|
|
6
6
|
environment:
|
|
7
7
|
COHERE_API_KEY: your-api-key
|
|
8
8
|
|
data/static/gem.rb
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module NanoBot
|
|
4
4
|
GEM = {
|
|
5
5
|
name: 'nano-bots',
|
|
6
|
-
version: '3.
|
|
6
|
+
version: '3.3.0',
|
|
7
7
|
specification: '3.0.0',
|
|
8
8
|
author: 'icebaker',
|
|
9
9
|
summary: 'Ruby Implementation of Nano Bots: small, AI-powered bots for OpenAI ChatGPT, Ollama, Mistral AI, Cohere Command, Maritaca AI MariTalk, and Google Gemini.',
|