llm_memory_gmail_loader 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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