antigravity-sdk 0.1.8 โ 0.2.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/lib/antigravity/agent.rb +2 -0
- data/lib/antigravity/emojis.rb +60 -0
- data/lib/antigravity/guards.rb +6 -6
- data/lib/antigravity/message.rb +2 -0
- data/lib/antigravity/sidecar.rb +2 -0
- data/lib/antigravity/skill.rb +2 -0
- data/lib/antigravity/tool.rb +8 -2
- data/lib/antigravity.rb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fbeafe860899a22961b7c19a418337cb456594d683708d49b06b293711429c57
|
|
4
|
+
data.tar.gz: 7e0caad86e9aa6dd49e2f541ddb041ee9fc0518a21575bfe634b43cb3e879e94
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 624c1c92b64d248113fd1ef0bd02367c84097666a873b0cecda4063107719406533861faa4cd9baf401afe91ae91e7f2fe185d811027adc7521a09e4e51fa1ae
|
|
7
|
+
data.tar.gz: def792e62ad5f0c2b0c7198022453c5d28ccdf7b9c70668ce79207b81589e778310cd0779a58d13301902663b6c0b59e2db15ef57fcb99cc92105b41c505dbb8
|
data/lib/antigravity/agent.rb
CHANGED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Antigravity
|
|
4
|
+
EMOJIS = {
|
|
5
|
+
gem: "๐",
|
|
6
|
+
agent: "๐",
|
|
7
|
+
prompt: "๐ฌ",
|
|
8
|
+
response: "๐ค",
|
|
9
|
+
thinking: "๐ค",
|
|
10
|
+
tool: "๐ ๏ธ",
|
|
11
|
+
tool_result: "๐ฆ",
|
|
12
|
+
tool_blocked: "โ",
|
|
13
|
+
sidecar: "๐",
|
|
14
|
+
logger: "๐ชต",
|
|
15
|
+
skill: "๐",
|
|
16
|
+
guard: "๐ก๏ธ",
|
|
17
|
+
test: "๐งช",
|
|
18
|
+
success: "โ
"
|
|
19
|
+
}.freeze
|
|
20
|
+
|
|
21
|
+
class << self
|
|
22
|
+
def emoji(key)
|
|
23
|
+
EMOJIS[key.to_sym] || "๐"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def emoji_for(target)
|
|
27
|
+
key = case target
|
|
28
|
+
when Message, Chunk
|
|
29
|
+
target.respond_to?(:role) && target.role == :user ? :prompt : :response
|
|
30
|
+
when Symbol, String
|
|
31
|
+
target
|
|
32
|
+
else
|
|
33
|
+
klass = target.is_a?(Class) || target.is_a?(Module) ? target : target.class
|
|
34
|
+
matched_part = klass.name&.split("::")&.reverse&.find do |part|
|
|
35
|
+
%w[Agent Tool Sidecar Skill Message Guard Logger].include?(part)
|
|
36
|
+
end
|
|
37
|
+
matched_part ? matched_part.downcase.to_sym : :gem
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
emoji(key)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Mixin providing polymorphic .emoji class and instance methods
|
|
45
|
+
module Emojifiable
|
|
46
|
+
def emoji
|
|
47
|
+
Antigravity.emoji_for(self)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
module ClassMethods
|
|
51
|
+
def emoji
|
|
52
|
+
Antigravity.emoji_for(self)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def self.included(base)
|
|
57
|
+
base.extend(ClassMethods)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
data/lib/antigravity/guards.rb
CHANGED
|
@@ -28,30 +28,30 @@ module Antigravity
|
|
|
28
28
|
@logger.level = level if @logger.respond_to?(:level=)
|
|
29
29
|
|
|
30
30
|
unless silent_notice
|
|
31
|
-
puts "
|
|
31
|
+
puts "#{Antigravity.emoji(:logger)} Logging to #{@target_description}"
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def before_prompt(prompt_text)
|
|
36
|
-
@logger.info("
|
|
36
|
+
@logger.info("#{Antigravity.emoji(:prompt)} [Antigravity::Prompt] User: '#{prompt_text}'")
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
def after_response(response)
|
|
40
|
-
@logger.info("
|
|
40
|
+
@logger.info("#{Antigravity.emoji(:response)} [Antigravity::Response] Assistant (#{response.model_id}): #{response.content.strip}")
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def before_tool_call(tool_name, params)
|
|
44
|
-
@logger.info("
|
|
44
|
+
@logger.info("#{Antigravity.emoji(:tool)} [Antigravity::Tool] Executing '#{tool_name}' with params: #{params.inspect}")
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def after_tool_call(tool_name, params, result)
|
|
48
|
-
prefix = result.to_s.include?("TOOL BLOCKED") ?
|
|
48
|
+
prefix = result.to_s.include?("TOOL BLOCKED") ? Antigravity.emoji(:tool_blocked) : Antigravity.emoji(:tool_result)
|
|
49
49
|
@logger.info("#{prefix} [Antigravity::Tool] Result for '#{tool_name}': #{result}")
|
|
50
50
|
result
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def sidecar_event(event_type, payload)
|
|
54
|
-
@logger.info("
|
|
54
|
+
@logger.info("#{Antigravity.emoji(:sidecar)} [Antigravity::Sidecar] Event :#{event_type} payload: #{payload.inspect}")
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
def attach_to(agent)
|
data/lib/antigravity/message.rb
CHANGED
data/lib/antigravity/sidecar.rb
CHANGED
data/lib/antigravity/skill.rb
CHANGED
data/lib/antigravity/tool.rb
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
module Antigravity
|
|
4
4
|
class Tool
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
include Emojifiable
|
|
6
|
+
|
|
7
|
+
class << self
|
|
8
|
+
def inherited(subclass)
|
|
9
|
+
subclass.extend(ClassMethods)
|
|
10
|
+
end
|
|
7
11
|
end
|
|
8
12
|
|
|
9
13
|
module ClassMethods
|
|
14
|
+
include Emojifiable::ClassMethods
|
|
15
|
+
|
|
10
16
|
def name(val = nil, desc: nil)
|
|
11
17
|
if val
|
|
12
18
|
@tool_name = val.to_s
|
data/lib/antigravity.rb
CHANGED
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.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Riccardo Carlesso
|
|
@@ -63,6 +63,7 @@ files:
|
|
|
63
63
|
- lib/antigravity/agent.rb
|
|
64
64
|
- lib/antigravity/client.rb
|
|
65
65
|
- lib/antigravity/config.rb
|
|
66
|
+
- lib/antigravity/emojis.rb
|
|
66
67
|
- lib/antigravity/guards.rb
|
|
67
68
|
- lib/antigravity/harness.rb
|
|
68
69
|
- lib/antigravity/hooks.rb
|