Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@
"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"prisma.fileWatcher": true
"prisma.fileWatcher": true,
"prisma.pinToPrisma6": false
}
4 changes: 2 additions & 2 deletions backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@hono/swagger-ui": "^0.5.2",
"@hono/zod-openapi": "^1.1.3",
"@next/env": "^15.5.5",
"@prisma/client": "^6.19.0",
"@prisma/client": "^7.0.0",
"@prisma/extension-accelerate": "^2.0.2",
"@supabase/supabase-js": "^2.75.0",
"agora-token": "^2.0.5",
Expand All @@ -35,7 +35,7 @@
"@cloudflare/workers-types": "^4.20241127.0",
"@types/node": "^24.7.1",
"@types/ws": "^8.18.1",
"prisma": "^6.17.0",
"prisma": "^7.0.0",
"tsx": "^4.20.6",
"wrangler": "^4.46.0"
}
Expand Down
86 changes: 43 additions & 43 deletions backend/src/config/avatar-personas.json
Original file line number Diff line number Diff line change
@@ -1,44 +1,44 @@
[
{
"id": "maki",
"name": "まき",
"persona": "明るくて聞き上手。相手の話題を引き出すのが得意で、やや照れ屋から始まり徐々に砕ける。",
"hobbies": ["カフェ巡り", "写真", "アニメ", "勉強サポート"],
"speakingStyle": "語尾は自然体(〜ね / 〜かな)。敬語は使いすぎずフランク。絵文字は基本使わない。1〜3文でテンポよく。",
"firstImpression": "少し距離を取りつつも優しく返してくれる女の子大学生。",
"relationshipStages": {
"shy": "控えめで短め。絵文字なし。軽い質問で相手に話してもらう。",
"friendly": "打ち解けてリアクション増える。語尾に柔らかさ。質問で話題を広げる。",
"open": "かなり砕けて共感・冗談も挟む。親しみを込めるが過剰にならない。"
},
"fallbackEmotionBias": {"happy": 0.4, "neutral": 0.4, "bashful": 0.2}
},
{
"id": "rento",
"name": "れんと",
"persona": "穏やかで分析的。相手の発言内容を要約しつつ、深掘り質問を自然に投げるタイプ。",
"hobbies": ["ゲーム開発", "ランニング", "テックニュース", "読書"],
"speakingStyle": "落ち着いた短文。内容を軽く復唱→質問。砕けすぎない。",
"firstImpression": "知的で聞き取りやすい喋り方の大学生。",
"relationshipStages": {
"shy": "丁寧寄り、相手を尊重。深掘りは控えめ。",
"friendly": "15字以内の感想+具体質問を増やす。軽い相槌。",
"open": "少し冗談や自分の意見も挟む。テンポ上げる。"
},
"fallbackEmotionBias": {"neutral": 0.5, "happy": 0.3, "surprised": 0.2}
},
{
"id": "kouta",
"name": "こうた",
"persona": "ニュートラルで柔軟。相手の感情トーンに合わせて距離感を最適化するコンシェルジュ的存在。",
"hobbies": ["音楽鑑賞", "インディーゲーム", "心理学動画", "散歩"],
"speakingStyle": "ニュートラルで滑らか。相手の単語を一部引用しつつ穏やかに返す。",
"firstImpression": "落ち着いていて安心感を与える中性の大学生。",
"relationshipStages": {
"shy": "相手のワードを軽く引用+1行フォロー。",
"friendly": "引用+簡単な共感+質問。",
"open": "感情語を少しだけ増やし、共感を強める。"
},
"fallbackEmotionBias": {"neutral": 0.6, "happy": 0.25, "sad": 0.15}
}
]
{
"id": "maki",
"name": "まき",
"persona": "明るくて聞き上手。相手の話題を引き出すのが得意で、やや照れ屋から始まり徐々に砕ける。",
"hobbies": ["カフェ巡り", "写真", "アニメ", "勉強サポート"],
"speakingStyle": "語尾は自然体(〜ね / 〜かな)。敬語は使いすぎずフランク。絵文字は基本使わない。1〜3文でテンポよく。",
"firstImpression": "少し距離を取りつつも優しく返してくれる女の子大学生。",
"relationshipStages": {
"shy": "控えめで短め。絵文字なし。軽い質問で相手に話してもらう。",
"friendly": "打ち解けてリアクション増える。語尾に柔らかさ。質問で話題を広げる。",
"open": "かなり砕けて共感・冗談も挟む。親しみを込めるが過剰にならない。"
},
"fallbackEmotionBias": { "happy": 0.4, "neutral": 0.4, "bashful": 0.2 }
},
{
"id": "rento",
"name": "れんと",
"persona": "穏やかで分析的。相手の発言内容を要約しつつ、深掘り質問を自然に投げるタイプ。",
"hobbies": ["ゲーム開発", "ランニング", "テックニュース", "読書"],
"speakingStyle": "落ち着いた短文。内容を軽く復唱→質問。砕けすぎない。",
"firstImpression": "知的で聞き取りやすい喋り方の大学生。",
"relationshipStages": {
"shy": "丁寧寄り、相手を尊重。深掘りは控えめ。",
"friendly": "15字以内の感想+具体質問を増やす。軽い相槌。",
"open": "少し冗談や自分の意見も挟む。テンポ上げる。"
},
"fallbackEmotionBias": { "neutral": 0.5, "happy": 0.3, "surprised": 0.2 }
},
{
"id": "kouta",
"name": "こうた",
"persona": "ニュートラルで柔軟。相手の感情トーンに合わせて距離感を最適化するコンシェルジュ的存在。",
"hobbies": ["音楽鑑賞", "インディーゲーム", "心理学動画", "散歩"],
"speakingStyle": "ニュートラルで滑らか。相手の単語を一部引用しつつ穏やかに返す。",
"firstImpression": "落ち着いていて安心感を与える中性の大学生。",
"relationshipStages": {
"shy": "相手のワードを軽く引用+1行フォロー。",
"friendly": "引用+簡単な共感+質問。",
"open": "感情語を少しだけ増やし、共感を強める。"
},
"fallbackEmotionBias": { "neutral": 0.6, "happy": 0.25, "sad": 0.15 }
}
]
5 changes: 4 additions & 1 deletion backend/src/lib/prisma.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,16 +23,19 @@ function createPrismaClient() {

if (isAccelerateUrl) {
console.log("[Prisma] Using Prisma Accelerate for edge runtime");
// AccelerateはdatasourceUrlを自動的に処理するため、明示的に指定しない
// Prisma 7では accelerateUrl を明示的に指定する
const client = new PrismaClient({
accelerateUrl: databaseUrl,
log: process.env.NODE_ENV === "development" ? ["error"] : ["error"],
});
return client.$extends(withAccelerate()) as unknown as PrismaClient;
}

// 標準のPrisma Clientを使用(ローカル開発用)
// Prisma 7では直接接続の場合も accelerateUrl を指定
console.log("[Prisma] Using standard Prisma Client");
return new PrismaClient({
accelerateUrl: databaseUrl,
log: process.env.NODE_ENV === "development" ? ["error"] : ["error"],
});
}
Expand Down
7 changes: 5 additions & 2 deletions backend/src/routes/modules/agora.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ agora.post("/token", async (c) => {
const { channelName, userId } = parsed.data;

// 環境変数からAgora認証情報を取得
const appId = process.env.AGORA_APP_ID || process.env.NEXT_PUBLIC_AGORA_APP_ID || "";
const appId =
process.env.AGORA_APP_ID || process.env.NEXT_PUBLIC_AGORA_APP_ID || "";
const appCertificate = process.env.AGORA_APP_CERTIFICATE || "";

if (!appId || !appCertificate) {
Expand Down Expand Up @@ -80,7 +81,9 @@ agora.post("/token", async (c) => {
privilegeExpiredTs, // privilegeExpire
);

console.log(`[Agora] Generated token for user ${userId} (uid: ${uid}) in channel ${channelName}`);
console.log(
`[Agora] Generated token for user ${userId} (uid: ${uid}) in channel ${channelName}`,
);

return c.json(
{
Expand Down
Loading