antigravity-sdk 0.1.3 → 0.1.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: 449edf2b1bf5f2aaa389a0e79b74c6ed93bc5b7623a957068b2bd704b292347b
4
- data.tar.gz: c876958eb74ccac96717634b5a0c1d7314e837f2a3695a557d1d19eee4b6d853
3
+ metadata.gz: afe9c665bf383ac5f2b9e0cf07ea94f085373c0c2a0d0b10c135a56a639e0eac
4
+ data.tar.gz: d2cf2720c77a9d6d854c8415c2113c13f3ca91c5aabd86d413cb39422e47cf31
5
5
  SHA512:
6
- metadata.gz: 6ccc779048181412d94425b9a9c4901339acfb957e4646b047ce4fe1b96e4d2b4f4b6096c560178920f68b22733a6d424b3d010769e17b592f90bc77d2004220
7
- data.tar.gz: e170353f68f1fdbe47ab3c487136be397636a8855223204e72b4d216bd37c7d04592f935d22b207314d9ecd35c95b7ef3741397204005b89eaccdb7564578427
6
+ metadata.gz: b730d5312a05e57473a765d8398cc3e2b80edcbcf931bf802541ca72f0962b7600c6dbeac7761b4815da34caae823e1b1f6dacd993eb9550d156173aac797a39
7
+ data.tar.gz: 7cedb00e25e9e8d17d00a6e94588301b75f126c107e4a06fd145db7c87c08fb5d2ea8cc0f78aa3a39577263b5067e0bc7e84e0f4176ec35931a95d7bdbba36d0
@@ -35,6 +35,12 @@ module Antigravity
35
35
  sidecar
36
36
  end
37
37
 
38
+ def attach_logger(log_target = "log/antigravity.log", level: ::Logger::INFO)
39
+ logger_guard = Guards::AgentLogger.new(log_target, level: level)
40
+ logger_guard.attach_to(self)
41
+ logger_guard
42
+ end
43
+
38
44
  def load_skill(skill_path)
39
45
  skill = Skill.load(skill_path)
40
46
  @skills << skill
@@ -1,7 +1,52 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "logger"
4
+ require "fileutils"
5
+
3
6
  module Antigravity
4
7
  module Guards
8
+ # Configurable opt-in logger guard supporting file loggers and Rails.logger
9
+ class AgentLogger
10
+ attr_reader :logger
11
+
12
+ def initialize(log_target = "log/antigravity.log", level: Logger::INFO)
13
+ if log_target.is_a?(String)
14
+ FileUtils.mkdir_p(File.dirname(log_target)) rescue nil
15
+ @logger = ::Logger.new(log_target)
16
+ elsif log_target.respond_to?(:info)
17
+ @logger = log_target
18
+ else
19
+ @logger = ::Logger.new($stdout)
20
+ end
21
+ @logger.level = level if @logger.respond_to?(:level=)
22
+ end
23
+
24
+ def before_prompt(prompt_text)
25
+ @logger.info("[Antigravity::Prompt] User: '#{prompt_text}'")
26
+ end
27
+
28
+ def after_response(response)
29
+ @logger.info("[Antigravity::Response] Assistant (#{response.model_id}): #{response.content.strip}")
30
+ end
31
+
32
+ def before_tool_call(tool_name, params)
33
+ @logger.info("[Antigravity::Tool] Executing '#{tool_name}' with params: #{params.inspect}")
34
+ end
35
+
36
+ def after_tool_call(tool_name, params, result)
37
+ @logger.info("[Antigravity::Tool] Result for '#{tool_name}': #{result}")
38
+ result
39
+ end
40
+
41
+ def attach_to(agent)
42
+ logger_guard = self
43
+ agent.before_prompt { |p| logger_guard.before_prompt(p) }
44
+ agent.after_response { |r| logger_guard.after_response(r) }
45
+ agent.before_tool_call { |t, p| logger_guard.before_tool_call(t, p) }
46
+ agent.after_tool_call { |t, p, r| logger_guard.after_tool_call(t, p, r) }
47
+ end
48
+ end
49
+
5
50
  # Configurable opt-in file protection guard
6
51
  class FileProtection
7
52
  DEFAULT_FILES = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: antigravity-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Riccardo Carlesso
@@ -37,6 +37,20 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: '2.6'
40
+ - !ruby/object:Gem::Dependency
41
+ name: logger
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '1.5'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '1.5'
40
54
  description: An elegant, Ruby-like SDK for building autonomous AI agents with Google
41
55
  Antigravity.
42
56
  email: