UNPKG

deco-cli

Version:

CLI for managing deco.chat apps & projects

51 lines 2.05 kB
import { readSession } from "../../lib/session.js"; import { createClient } from "../../lib/supabase.js"; export const whoamiCommand = async () => { try { const session = await readSession(); if (!session || !session.access_token || !session.refresh_token) { console.log("❌ Not logged in. Run `deco login` to authenticate.\n"); return; } const { client: supabase } = createClient(); // Set the session so we can get the user const { error: setSessionError } = await supabase.auth.setSession({ access_token: session.access_token, refresh_token: session.refresh_token, }); if (setSessionError) { console.log("❌ Session expired or invalid. Please log in again.\n"); return; } const { data, error } = await supabase.auth.getUser(); if (error || !data?.user) { console.log("❌ Could not retrieve user info. Please log in again.\n"); return; } const user = data.user; // Pretty print user info console.log("👤 User Info:"); console.log(` 💻 ID: ${user.id}`); console.log(` 📧 Email: ${user.email ?? "-"}`); if (user.user_metadata?.full_name) { console.log(` 📚 Name: ${user.user_metadata.full_name}`); } if (user.user_metadata?.avatar_url) { console.log(` 🖼️ Avatar: ${user.user_metadata.avatar_url}`); } console.log(""); if (session.workspace) { console.log(`🏢 Current Workspace: \u001b[1m${session.workspace}\u001b[0m\n`); } else { console.log("⚠️ No workspace selected.\n"); } } catch (err) { const message = typeof err === "object" && err && "message" in err ? err.message : String(err); console.error("❌ Error reading session:", message); } }; //# sourceMappingURL=whoami.js.map