Major enhancements to voice assistant with conversation persistence and mobile app planning: - Add conversation management with multiple active conversations - Implement conversation persistence (save/load from disk) - Add conversation selector UI for switching between conversations - Enhance agent prompt with per-conversation tmux sessions - Add mobile app technical specification (React Native + Expo) - Improve UI with active processes view and agent stream - Add ACP (Agent Control Protocol) server implementation Mobile spec details: - React Native with Expo SDK 54+ - NativeWind v5 for styling - Share Zod schemas/types from server - Android in-call experience (InCallManager) - Direct WebSocket connection via Tailscale - Same audio quality as web prototype 🤖 Generated with [Claude Code](https://claude.com/claude-code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
33 lines
915 B
TypeScript
33 lines
915 B
TypeScript
import { readFileSync } from "fs";
|
|
import { inspect } from "util";
|
|
import { standardizePrompt } from "ai/internal";
|
|
|
|
async function processConversation() {
|
|
try {
|
|
const conversationPath =
|
|
".debug.conversations/ce44c79a-0689-4210-8e00-72c0a627406d-2.json";
|
|
|
|
console.log("Loading conversation from:", conversationPath);
|
|
|
|
const conversationData: any = JSON.parse(
|
|
readFileSync(conversationPath, "utf-8")
|
|
);
|
|
|
|
console.log(
|
|
`\nLoaded conversation ${conversationData.conversationId} with ${conversationData.messages.length} messages\n`
|
|
);
|
|
|
|
const result = await standardizePrompt({
|
|
prompt: conversationData.messages,
|
|
});
|
|
|
|
console.log("Standardized prompt result:");
|
|
console.log(inspect(result, { depth: null, colors: true }));
|
|
} catch (error) {
|
|
console.error("Error processing conversation:", error);
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
processConversation();
|