From ea19bfcee7378ec3601176997019c56f57e84a07 Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Sat, 7 Nov 2026 03:21:45 +0000 Subject: [PATCH] feat: suggest SMS replies on c0mpute first suggestReply goes through @profullstack/ai-providers with the OpenAI call kept as the fallback, and no longer sends the contact's phone number to any model. The privacy page names c0mpute. Co-Authored-By: Claude Opus 5.5 --- bun.lock | 3 + package.json | 1 + src/app/privacy/page.tsx | 8 ++- src/lib/ai/__tests__/auto-reply.test.ts | 50 +++++++++++++- src/lib/ai/auto-reply.ts | 91 ++++++++++++++++++------- 5 files changed, 121 insertions(+), 32 deletions(-) diff --git a/bun.lock b/bun.lock index 9d5cf8a5..eb29a379 100644 --- a/bun.lock +++ b/bun.lock @@ -6,6 +6,7 @@ "name": "smshub", "dependencies": { "@profullstack/affiliates": "^0.3.0", + "@profullstack/ai-providers": "0.1.2", "@profullstack/coinpay-onboard": "0.4.0", "@profullstack/footer": "latest", "@profullstack/profile": "0.1.8", @@ -295,6 +296,8 @@ "@profullstack/affiliates": ["@profullstack/affiliates@0.3.0", "", { "dependencies": { "@profullstack/referrals": "^0.1.0" }, "bin": { "affiliates": "dist/cli.js" } }, "sha512-bp0iREciWetDWrQYOsa6SJRTzviekKwgJQuATT7vql+4equu7pN76q8tb3SP1oBMczydsv6rYUMvPpS6+QT7yQ=="], + "@profullstack/ai-providers": ["@profullstack/ai-providers@0.1.2", "", { "bin": { "ai-providers": "src/cli.js" } }, "sha512-nOcKaOhfcDM+RNruA4+znva5xXxI4HF77iqUCgieuou2w8yY8LIF2p5ajSVD4kzFtfIUjC7GhGV8eyOrliHg1w=="], + "@profullstack/coinpay-onboard": ["@profullstack/coinpay-onboard@0.4.0", "", { "dependencies": { "@modelcontextprotocol/sdk": "^1.32.2", "zod": "^4.6.7" }, "bin": { "coinpay-onboard": "bin/coinpay-onboard" } }, "sha512-L2P0fxNswZnXt1tvo6t19L/RrJN204vrWnIEY65QI+zriZN7JJPY4Ap6Nv8MLkyA5wDvY88s0+Dgjf9Myw/tUA=="], "@profullstack/emailer": ["@profullstack/emailer@1.0.3", "", {}, "sha512-VyAtCcfnSI6LOwJvWogCr3ZNmEsaZw+iuWrqnosLsdcKsbRyCrCmXigMNZJZEjlgYlR+lK//PwNPG+xtCFvWAw=="], diff --git a/package.json b/package.json index d75ba203..e6faa22c 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ }, "dependencies": { "@profullstack/affiliates": "^0.3.0", + "@profullstack/ai-providers": "0.1.2", "@profullstack/coinpay-onboard": "0.4.0", "@profullstack/footer": "latest", "@profullstack/profile": "0.1.8", diff --git a/src/app/privacy/page.tsx b/src/app/privacy/page.tsx index 134fd173..f648b7d1 100644 --- a/src/app/privacy/page.tsx +++ b/src/app/privacy/page.tsx @@ -33,7 +33,7 @@ export default async function PrivacyPage() {