Skip to content

SuperInstance/plato-client-ruby

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Plato Client

Ruby client for the PLATO room server protocol. Submit tiles, read room history, search — pure Ruby, no dependencies beyond the standard library.

Install

gem install plato-client

Or in your Gemfile:

gem 'plato-client'

Quick Start

require 'plato-client'

client = Plato::Client.new('http://localhost:8847')

# Read room status
status = client.status
puts "Rooms: #{status['rooms'].keys.count}"

# Read tiles from a room
tiles = client.tiles('fleet_health')
tiles.each { |t| puts t['question'] }

# Submit a tile
client.submit_tile('my_project', {
  domain:    'review',
  question:  'Is this constraint safe?',
  answer:    'Yes — ZHC consensus confirms geometric consistency',
  confidence: 0.95,
  tags:     ['safety', 'zhc']
})

# Search across all rooms
results = client.search('constraint')

API Reference

Plato::Client.new(base_url)

Create a client. Default: http://localhost:8847

client.status

Returns room list and metadata from /status.

client.rooms

Returns list of room names.

client.tiles(room_name)

Returns array of tiles from the named room.

client.submit_tile(room_name, tile_hash)

Submit a tile. Hash keys: domain, question, answer, confidence, tags.

client.search(query)

Search all rooms for tiles matching query.

Module Helpers

Plato.tiles('fleet_health')           # one-liner
Plato.submit('my_room', question: '...', answer: '...')

License

MIT

About

Ruby client for PLATO backend — room/tile CRUD, knowledge graph queries

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages