Module: PiAgent
- Defined in:
- lib/pi_agent.rb,
lib/pi_agent/event.rb,
lib/pi_agent/image.rb,
lib/pi_agent/client.rb,
lib/pi_agent/errors.rb,
lib/pi_agent/framer.rb,
lib/pi_agent/future.rb,
lib/pi_agent/session.rb,
lib/pi_agent/version.rb,
lib/pi_agent/transport.rb,
lib/pi_agent/extension_ui.rb,
lib/pi_agent/transport/subprocess.rb
Defined Under Namespace
Modules: Transport Classes: BinaryNotFoundError, Client, CommandError, Error, Event, ExtensionUI, Framer, Future, Image, ProtocolError, Session, SessionError, TimeoutError, VersionMismatchError
Constant Summary collapse
- VERSION =
"0.1.0"- SUPPORTED_PI_VERSION =
Pinned upstream pi-coding-agent version this gem is verified against. See: www.npmjs.com/package/@earendil-works/pi-coding-agent
"0.75.3"
Class Method Summary collapse
-
.open ⇒ Object
Open a low-level RPC client (spawns ‘pi –mode rpc`).
-
.session ⇒ Object
Open a high-level agent session.
Class Method Details
.open ⇒ Object
Open a low-level RPC client (spawns ‘pi –mode rpc`).
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/pi_agent.rb', line 17 def self.open(**) client = Client.new(**).start return client unless block_given? begin yield client ensure client.close end end |
.session ⇒ Object
Open a high-level agent session. This is the common entrypoint.
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/pi_agent.rb', line 29 def self.session(**) client = Client.new(**).start session = Session.new(client) return session unless block_given? begin yield session ensure session.close end end |