@samy-clivolt/pi-ag-ui
v0.1.2
Published
AG-UI protocol bridge for the Pi coding agent — core library
Downloads
101
Maintainers
Readme
pi-ag-ui
Core library for Pi AG-UI — the AG-UI protocol bridge for the Pi coding agent.
Install
npm install @samy-clivolt/pi-ag-uiWhat's inside
| Module | Description |
|--------|-------------|
| PiAgUiAgent | AG-UI AbstractAgent implementation — orchestrates Pi SDK sessions |
| PiEventBridge | Translates Pi SDK events → AG-UI events (24/24 protocol coverage) |
| SessionStore | Multi-thread session management with TTL cleanup |
| SessionIndex | Filesystem persistence for sessions (JSONL) |
| Middleware | loggingMiddleware, metricsMiddleware, filterToolsMiddleware |
| Utilities | jsonSchemaToTypeBox, extractLastUserMessage, estimateRunMetrics |
| Types | AgentSharedState, ActivityEntry, StepEntry, RunMetrics, etc. |
Usage
Server-side (API routes)
import { PiAgUiAgent, loggingMiddleware } from "@samy-clivolt/pi-ag-ui";
const agent = new PiAgUiAgent();
agent.use(loggingMiddleware);Client-side (React components)
Import types from the client-safe sub-export (no Node.js dependencies):
import type { AgentSharedState, ActivityEntry } from "@samy-clivolt/pi-ag-ui/types";
import { EMPTY_RUN_METRICS } from "@samy-clivolt/pi-ag-ui/types";⚠️ Important: Use
@samy-clivolt/pi-ag-ui/typesin client components ("use client"). The main@samy-clivolt/pi-ag-uientry point includes Node.js-only code.
Exports
@samy-clivolt/pi-ag-ui (server-only)
Full library: agent, bridge, session, middleware, utilities, types.
@samy-clivolt/pi-ag-ui/types (client-safe)
Types and constants only — safe to import in "use client" components:
AgentSharedState,ActivityEntry,StepEntry,RunMetrics,ActivitySummaryEMPTY_ACTIVITY_SUMMARY,EMPTY_RUN_METRICS
Peer Dependencies
This package expects the following to be installed in your project:
@ag-ui/client/@ag-ui/core— AG-UI protocol@copilotkit/runtime— CopilotKit server runtime@mariozechner/pi-ai/@mariozechner/pi-coding-agent— Pi SDKrxjs— Reactive streams
Scaffolding
Use create-pi-ag-ui to scaffold a complete project with UI components:
npx @samy-clivolt/create-pi-ag-ui my-appLicense
MIT
