llm_memory_gmail_loader 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 221fea4ecee1ce84905b9640d8f8c981f78006750c4df417efe4535de04bec9b
4
- data.tar.gz: 2d2656664ac2ea9aca350381ac7523e2ee3d3a2970b7ef9dbec50d953bc99270
3
+ metadata.gz: 0bad148f113e407b6d70cf07d6bb7b6505a30f4602a7a77857b4294d053e47d3
4
+ data.tar.gz: 6bdefa18957293d1b21b80253c2481d76080f7fcabc0cd16555d7cd3edfd5657
5
5
  SHA512:
6
- metadata.gz: 2d5bc0b21feda18d1643a425a38a69ae27c0edf1e56708bbc7fc9b27aa8b712b4bc0d3e04d91ef3d6feb3de5cb68e2334bf3d0a2b03cfa64624a820385ba84ac
7
- data.tar.gz: b42579d0c55fca6d68003fd3a579eca1942d08219a9c5eba73e0374205a785399beba27f2065d5920be7dd029bef6ca84f0a0dab9aa7260867d089d30d5af25e
6
+ metadata.gz: 3e6561dc64ff1f3e9e7d434c44bb5b2854a907fe44f8165d96caab4b7ce9a3878d77825fe3810f577cff7a8726ab5242a692dba98d15171e875289c9a6243a8d
7
+ data.tar.gz: 3c6e9f29836d857b91eedb3c3ea4e0cf4c576564fbc50ac480bca2d81f50e750fb0ecc9396ecb6ddd2fc545bb98fa66154242c87cae9780a40f504f15bbb9add
data/Gemfile.lock CHANGED
@@ -1,9 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm_memory_gmail_loader (0.1.1)
4
+ llm_memory_gmail_loader (0.1.3)
5
5
  google-apis-gmail_v1 (~> 0.27.0)
6
6
  googleauth (~> 1.5.2)
7
+ llm_memory (~> 0.1.12)
7
8
  nokogiri (~> 1.14.0)
8
9
 
9
10
  GEM
@@ -38,16 +39,23 @@ GEM
38
39
  multi_json (~> 1.11)
39
40
  os (>= 0.9, < 2.0)
40
41
  signet (>= 0.16, < 2.a)
42
+ httparty (0.21.0)
43
+ mini_mime (>= 1.0.0)
44
+ multi_xml (>= 0.5.2)
41
45
  httpclient (2.8.3)
42
46
  json (2.6.3)
43
47
  jwt (2.7.0)
44
48
  language_server-protocol (3.17.0.3)
45
49
  lint_roller (1.0.0)
46
- llm_memory (0.1.0)
50
+ llm_memory (0.1.12)
51
+ redis (~> 4.6.0)
52
+ ruby-openai (~> 3.7.0)
53
+ tokenizers (~> 0.3.3)
47
54
  memoist (0.16.2)
48
55
  method_source (1.0.0)
49
56
  mini_mime (1.1.2)
50
57
  multi_json (1.15.0)
58
+ multi_xml (0.6.0)
51
59
  nokogiri (1.14.2-arm64-darwin)
52
60
  racc (~> 1.4)
53
61
  os (1.1.4)
@@ -61,6 +69,7 @@ GEM
61
69
  racc (1.6.2)
62
70
  rainbow (3.1.1)
63
71
  rake (13.0.6)
72
+ redis (4.6.0)
64
73
  regexp_parser (2.8.0)
65
74
  representable (3.2.0)
66
75
  declarative (< 0.1.0)
@@ -96,6 +105,8 @@ GEM
96
105
  rubocop-performance (1.16.0)
97
106
  rubocop (>= 1.7.0, < 2.0)
98
107
  rubocop-ast (>= 0.4.0)
108
+ ruby-openai (3.7.0)
109
+ httparty (>= 0.18.1)
99
110
  ruby-progressbar (1.13.0)
100
111
  ruby2_keywords (0.0.5)
101
112
  signet (0.17.0)
@@ -114,6 +125,7 @@ GEM
114
125
  standard-performance (1.0.1)
115
126
  lint_roller (~> 1.0)
116
127
  rubocop-performance (~> 1.16.0)
128
+ tokenizers (0.3.3-arm64-darwin)
117
129
  trailblazer-option (0.1.2)
118
130
  uber (0.1.0)
119
131
  unicode-display_width (2.4.2)
data/README.md CHANGED
@@ -31,7 +31,8 @@ documents = LlmMemory::Wernicke.load(
31
31
  # content: "subject\nbody",
32
32
  # metadata: {
33
33
  # subject: subject,
34
- # from: "xx@example.com"
34
+ # from: "xx@example.com",
35
+ # timestamp: "20230725025555" # YYYYMMDDHHmmss
35
36
  # }
36
37
  # },,,]
37
38
  ```
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LlmMemoryGmailLoader
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -81,6 +81,15 @@ module LlmMemoryGmailLoader
81
81
  end
82
82
  end
83
83
 
84
+ def get_email_date(headers)
85
+ date_header = headers.find { |header| header.name == "Date" }
86
+ if date_header
87
+ Time.parse(date_header.value).strftime("%Y%m%d%H%M%S")
88
+ else
89
+ ""
90
+ end
91
+ end
92
+
84
93
  def extract_email_bodies(payload)
85
94
  if payload.mime_type == "text/plain" || payload.mime_type == "text/html"
86
95
  {
@@ -130,6 +139,7 @@ module LlmMemoryGmailLoader
130
139
  message = @service.get_user_message("me", email.id)
131
140
  subject = get_email_subject(message.payload.headers)
132
141
  from = get_email_from(message.payload.headers)
142
+ timestamp = get_email_date(message.payload.headers)
133
143
  bodies = extract_email_bodies(message.payload)
134
144
  if bodies[:text]
135
145
  body = bodies[:text].force_encoding("UTF-8").gsub(/ /, " ").gsub(/\s+/, " ").strip
@@ -143,7 +153,8 @@ module LlmMemoryGmailLoader
143
153
  content: "#{subject}\n#{body}",
144
154
  metadata: {
145
155
  subject: subject,
146
- from: from
156
+ from: from,
157
+ timestamp: timestamp
147
158
  }
148
159
  })
149
160
  end
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
34
34
  spec.add_dependency "googleauth", "~> 1.5.2"
35
35
  spec.add_dependency "google-apis-gmail_v1", "~> 0.27.0"
36
36
  spec.add_dependency "nokogiri", "~> 1.14.0"
37
+ spec.add_dependency "llm_memory", "~> 0.1.12"
37
38
 
38
39
  # For more information and examples about making a new gem, check out our
39
40
  # guide at: https://bundler.io/guides/creating_gem.html
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm_memory_gmail_loader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shohei Kameda
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-09 00:00:00.000000000 Z
11
+ date: 2023-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: googleauth
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 1.14.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: llm_memory
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.1.12
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.1.12
55
69
  description: Loading data from GMail using API
56
70
  email:
57
71
  - shoheik@cpan.org