Module: Antigravity

Defined in:
lib/antigravity.rb,
lib/antigravity/base.rb,
lib/antigravity/tool.rb,
lib/antigravity/agent.rb,
lib/antigravity/hooks.rb,
lib/antigravity/skill.rb,
lib/antigravity/client.rb,
lib/antigravity/config.rb,
lib/antigravity/emojis.rb,
lib/antigravity/guards.rb,
lib/antigravity/harness.rb,
lib/antigravity/message.rb,
lib/antigravity/sidecar.rb,
lib/antigravity/version.rb

Defined Under Namespace

Modules: Emojifiable, Guards, Sidecar Classes: Agent, Base, Chunk, Client, Config, Harness, Hooks, Message, Skill, Tool

Constant Summary collapse

EMOJIS =
{
  gem: "๐Ÿ’Ž",
  agent: "๐Ÿ•ต๏ธโ€โ™‚๏ธ",
  prompt: "๐Ÿ’ฌ",
  response: "๐Ÿค–",
  thinking: "๐Ÿค”",
  tool: "๐Ÿ› ๏ธ",
  tool_result: "๐Ÿ“ฆ",
  tool_blocked: "โŒ",
  sidecar: "๐Ÿš—",
  logger: "๐Ÿชต",
  skill: "๐Ÿ“",
  message: "๐Ÿ’ฌ",
  guard: "๐Ÿ›ก๏ธ",
  test: "๐Ÿงช",
  success: "โœ…",
  unknown: "๐Ÿคท"
}.freeze
EMOJI_CLASS_MAP =

Name fragments we recognise in the class hierarchy

{
  "Agent" => :agent,
  "Tool" => :tool,
  "Sidecar" => :sidecar,
  "Runner" => :sidecar,
  "Skill" => :skill,
  "Message" => :message,
  "Chunk" => :message,
  "Guard" => :guard,
  "Logger" => :logger
}.freeze
VERSION =
File.read(File.expand_path("../../VERSION", __dir__)).strip rescue "0.1.0"

Class Method Summary collapse

Class Method Details

.configObject



29
30
31
# File 'lib/antigravity.rb', line 29

def config
  @config ||= Config.new
end

.configure {|config| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/antigravity.rb', line 25

def configure
  yield(config)
end

.emoji(key) ⇒ Object



37
38
39
# File 'lib/antigravity/emojis.rb', line 37

def emoji(key)
  EMOJIS[key.to_sym] || EMOJIS[:unknown]
end

.emoji_for(target) ⇒ Object



41
42
43
44
# File 'lib/antigravity/emojis.rb', line 41

def emoji_for(target)
  key = resolve_emoji_key(target)
  emoji(key)
end