brainiac-zoho 0.0.2 → 0.0.4

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: 451a0bd2fc0bc2198f8fadf4a68c7e5383770cdf28439e495a16d1b67377af51
4
- data.tar.gz: 1ad12e2adb8b802b0d9e92253e263469c9f3da0c6e2bb6d20ee1ec317d2966e1
3
+ metadata.gz: 22cd0a954af5b03bd350798b00e8e8547fae2daabaed54178b43f5607d71d4f3
4
+ data.tar.gz: 4ffc2de719267392a7fed8850bde5820e58e238c4188cfb9ca49c2e0e92fde0c
5
5
  SHA512:
6
- metadata.gz: 8de16eeb4b370d3de0022e39ccf3f8334235dac8df8336948b7b767920713a78811d412e7ad5448f935a46caea5f4482c42f0f0e5ec4432d8a2ae6ea9e8167f8
7
- data.tar.gz: 648bd02269587eb115700c6588a0c28b60dcfb10baf08b5d1c2df76f8db412ca62c7e1aea1a4f40b36ef2844bb1de94b21be3c8dbbfc4fa0ab4a2a6801981ff4
6
+ metadata.gz: cb424ee6d762cbc0d3089d5004f4926a073b737e2b8f6c2947cdf85c63eaa97e0ad541f2b3bcecc1b8cbdedb37696b75c60753e348e3eac4b776ecdf2f8bbf6f
7
+ data.tar.gz: fce78ca5daa2ed35728445f8ed7118b05c7c5b8be1c90c574390cec0376f75991a29827090381bb2e7b9bad63f51179f1b778125e73f47c8c30e028da5c3a563
@@ -68,6 +68,13 @@ module Brainiac
68
68
  class << self
69
69
  def dispatch(email, rule)
70
70
  agent_name = rule["dispatch_agent"]
71
+
72
+ email_message = "#{email["subject"]} #{email["fromAddress"]}"
73
+ if intent_skip?(email_message, agent_name: agent_name, source: :zoho, channel: "Zoho email triage")
74
+ LOG.info "[Zoho:Triage] Intent skip — not dispatching #{agent_name} for: #{email["subject"]}" if defined?(LOG)
75
+ return nil
76
+ end
77
+
71
78
  timestamp = Time.now.strftime("%Y%m%d-%H%M%S")
72
79
  triage_dir = File.join(ENV.fetch("BRAINIAC_DIR", File.join(Dir.home, ".brainiac")), "tmp", "zoho", "triage")
73
80
  FileUtils.mkdir_p(triage_dir)
@@ -3,7 +3,7 @@
3
3
  module Brainiac
4
4
  module Plugins
5
5
  module Zoho
6
- VERSION = "0.0.2"
6
+ VERSION = "0.0.4"
7
7
  end
8
8
  end
9
9
  end
@@ -22,6 +22,7 @@ module Brainiac
22
22
  # @param app [Sinatra::Application] The running Brainiac server
23
23
  def register(app)
24
24
  Config.load!
25
+ register_agent_lifecycle_hooks!
25
26
  setup_routes(app)
26
27
  LOG.info "[Zoho] Plugin registered (webhook: /zoho)"
27
28
  end
@@ -49,6 +50,18 @@ module Brainiac
49
50
 
50
51
  private
51
52
 
53
+ def register_agent_lifecycle_hooks!
54
+ Brainiac.on(:agent_added) do |ctx|
55
+ Config.reload!
56
+ LOG.info "[Zoho] Agent added: #{ctx[:display_name]} — config reloaded" if defined?(LOG)
57
+ end
58
+
59
+ Brainiac.on(:agent_removed) do |ctx|
60
+ Config.reload!
61
+ LOG.info "[Zoho] Agent removed: #{ctx[:agent_key]} — config reloaded" if defined?(LOG)
62
+ end
63
+ end
64
+
52
65
  def setup_routes(app)
53
66
  app.post "/zoho" do
54
67
  content_type :json
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brainiac-zoho
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Davis
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 0.0.9
18
+ version: 0.0.14
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 0.0.9
25
+ version: 0.0.14
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: minitest
28
28
  requirement: !ruby/object:Gem::Requirement