Class: ClaudeMemory::Distill::NullDistiller

Inherits:
Distiller
  • Object
show all
Defined in:
lib/claude_memory/distill/null_distiller.rb

Constant Summary collapse

DECISION_PATTERNS =
[
  /\b(?:we\s+)?decided\s+to\s+(.+)/i,
  /\b(?:we\s+)?agreed\s+(?:to\s+|on\s+)(.+)/i,
  /\blet'?s\s+(?:go\s+with|use)\s+(.+)/i,
  /\bgoing\s+(?:forward|ahead)\s+with\s+(.+)/i
].freeze
CONVENTION_PATTERNS =
[
  /\balways\s+(.+)/i,
  /\bnever\s+(.+)/i,
  /\bconvention[:\s]+(.+)/i,
  /\bstandard[:\s]+(.+)/i,
  /\bwe\s+use\s+(.+)/i
].freeze
ENTITY_PATTERNS =
{
  "database" => /\b(postgresql|postgres|mysql|sqlite|mongodb|redis)\b/i,
  "framework" => /\b(rails|sinatra|django|express|next\.?js|react|vue)\b/i,
  "language" => /\b(ruby|python|javascript|typescript|go|rust)\b/i,
  "platform" => /\b(aws|gcp|azure|heroku|vercel|netlify|docker|kubernetes)\b/i
}.freeze
GLOBAL_SCOPE_PATTERNS =
[
  /\bi\s+always\b/i,
  /\bin\s+all\s+(?:my\s+)?projects\b/i,
  /\beverywhere\b/i,
  /\bacross\s+all\s+(?:my\s+)?(?:projects|repos|codebases)\b/i,
  /\bmy\s+(?:personal\s+)?(?:preference|convention|standard)\b/i,
  /\bglobally\b/i,
  /\buniversally\b/i
].freeze

Instance Method Summary collapse

Instance Method Details

#distill(text, content_item_id: nil) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/claude_memory/distill/null_distiller.rb', line 38

def distill(text, content_item_id: nil)
  entities = extract_entities(text)
  facts = extract_facts(text, entities)
  decisions = extract_decisions(text)
  signals = extract_signals(text)

  Extraction.new(
    entities: entities,
    facts: facts,
    decisions: decisions,
    signals: signals
  )
end