JA
ベータ版の翻訳

@core / ai

1.0.0 ▾
認証済みMIT
GitHub

ストリーミング AI チャット:バージョン管理プロンプト、ツール呼び出し、使用量とコストの記録、モデルは環境変数で指定

コード11 ファイルコンテキスト約 668 トークンスキャン合格

.genpmignore 適用後に組み込まれる正確なツリーです。固定先:

src/lib/ai/adapters/hono.ts読み取り専用 · 5b1e62b
// Adaptador Hono: `app.route('/ai', aiRoutes())` → POST /ai/chat (stream para `useChat`).
// Si usas @core/auth, monta antes `sessionMiddleware` y pasa `getUserId` para registrar el uso por usuario.
import type { Context } from 'hono';
import { Hono } from 'hono';
import type { UIMessage } from 'ai';
import { streamChat } from '../index.js';

export function aiRoutes(opts: { getUserId?: (c: Context) => string | null | undefined; requireUser?: boolean } = {}) {
  return new Hono().post('/chat', async (c) => {
    const userId = opts.getUserId?.(c) ?? null;
    if (opts.requireUser && !userId) return c.json({ error: 'unauthorized' }, 401);
    const body = await c.req.json<{ messages?: UIMessage[] }>().catch(() => ({ messages: undefined }));
    if (!Array.isArray(body.messages)) return c.json({ error: 'messages required' }, 400);
    const result = await streamChat({ messages: body.messages, userId, abortSignal: c.req.raw.signal });
    return result.toUIMessageStreamResponse();
  });
}

@core/ai を報告

パッケージを報告するには GitHub でログインしてください。

GitHub で続ける