@cadcamfun/tui-ai-sdk
v0.1.8
Published
Single-package SDK bundling core, ai, agents, providers, chat-tui, and CLI
Readme
@cadcamfun/tui-ai-sdk
Pacchetto unico che raggruppa Core, AI, Agents, Providers, Chat‑TUI e CLI in un solo SDK.
- Node: >= 18 (richiesto per
fetche streaming) - Import modulari tramite subpath exports:
@cadcamfun/tui-ai-sdk/core,@cadcamfun/tui-ai-sdk/ai,@cadcamfun/tui-ai-sdk/agents,@cadcamfun/tui-ai-sdk/providers,@cadcamfun/tui-ai-sdk/chat-tui - CLI inclusa: eseguibile come
tui
Installazione
npm install @cadcamfun/tui-ai-sdk
# oppure
yarn add @tui-kit-ai/sdk
pnpm add @tui-kit-ai/sdkQuickstart
Core (componenti TUI di base)
import { useTerminal, Box } from '@cadcamfun/tui-ai-sdk/core';
const { screen } = useTerminal();
const root = new Box({ parent: screen, label: ' Hello ', borderStyle: 'line' });
screen.render();AI (servizio unificato + chat)
import { AIService, ChatContainer } from '@cadcamfun/tui-ai-sdk/ai';
import { useTerminal } from '@cadcamfun/tui-ai-sdk/core';
const { screen } = useTerminal();
const ai = new AIService({
provider: 'openai',
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4o-mini'
});
const chat = new ChatContainer({ parent: screen, messages: [], ai });
screen.append(chat.root);
screen.render();Providers (OpenAI, Anthropic, Ollama)
import { OpenAIProvider, AnthropicProvider, OllamaProvider } from '@cadcamfun/tui-ai-sdk/providers';
import { AIService } from '@cadcamfun/tui-ai-sdk/ai';
const openaiClient = new OpenAIProvider(process.env.OPENAI_API_KEY, 'gpt-4o-mini');
const ai = new AIService({ provider: 'openai', model: 'gpt-4o-mini' }, undefined, openaiClient);Agents (sistema agenti)
import { AgentManager, TodoAgent } from '@cadcamfun/tui-ai-sdk/agents';
const manager = new AgentManager();
const todos = new TodoAgent({ name: 'todos' });
manager.registerAgent(todos);
await manager.startAllAgents();Chat‑TUI (componenti preconfezionati)
import { ChatLayout, MessageList, PromptEditor } from '@cadcamfun/tui-ai-sdk/ai';
// oppure componenti dedicati da '@cadcamfun/tui-ai-sdk/chat-tui' se presentiCLI
- Esecuzione:
npx @cadcamfun/tui-ai-sdk tui - Installazione globale:
npm i -g @cadcamfun/tui-ai-sdkquinditui
La CLI fornisce:
- init: creare un progetto TUI‑Kit‑AI
- add: aggiungere componenti
- preset/update: gestire preset o aggiornare componenti
Variabili ambiente
OPENAI_API_KEY: per OpenAIANTHROPIC_API_KEY: per AnthropicTUI_AI_TIMEOUT_MS,TUI_AI_MAX_RETRIES: timeout e retry dei provider (opzionale)TUI_AI_DEBUG=1: log diagnostici del layer AI
Streaming e Abort
const { textStream, abort } = await ai.streamCompletion(history);
for await (const chunk of textStream) process.stdout.write(chunk);
// abort(); // annulla la richiesta in corsoImport modulari
@cadcamfun/tui-ai-sdk/core: componenti TUI di base@cadcamfun/tui-ai-sdk/ai: ChatContainer, AIService, StreamingText, ecc.@cadcamfun/tui-ai-sdk/providers: OpenAIProvider, AnthropicProvider, OllamaProvider@cadcamfun/tui-ai-sdk/agents: BaseAgent, AgentManager, TodoAgent@cadcamfun/tui-ai-sdk/chat-tui: componenti/chat preconfezionati (se applicabile)@cadcamfun/tui-ai-sdk/cli: accesso programmatico all’entry della CLI
Requisiti
- Node >= 18
- Terminale con supporto UTF‑8
Licenza
MIT
