Files
Synapsis/debug_chat.ts
T
Christomatt eb63194c56 refactor: Migrate from ActivityPub federation to native Swarm network
- Remove ActivityPub infrastructure (webfinger, nodeinfo, inbox, activities, signatures)
- Implement native peer-to-peer Swarm network with gossip protocol
- Replace federated timeline with Swarm timeline aggregating posts from all nodes
- Migrate direct messaging to end-to-end encrypted Swarm Chat system
- Update user interactions (follow, like, repost) to use Swarm protocol
- Add cryptographic key management for DID-based identity system
- Remove server-bound identity model in favor of portable DID identities
- Update documentation to reflect Swarm architecture and capabilities
- Add debug utilities and chat testing tools for Swarm network
- Refactor database schema to support distributed user directory
- Update bot framework to work with Swarm network interactions
- Simplify API routes to use Swarm protocol instead of ActivityPub
- This transition enables true peer-to-peer communication, instant interactions, and encrypted messaging while maintaining sovereign identity through DIDs
2026-01-27 01:27:15 +01:00

28 lines
883 B
TypeScript

import { db } from './src/db/index';
import { users } from './src/db/schema';
import { chatConversations } from './src/db/schema';
async function main() {
console.log('--- USERS ---');
try {
const allUsers = await db.select().from(users);
console.log(`Found ${allUsers.length} users.`);
allUsers.forEach(u => {
console.log(`User: ${u.handle} | ID: ${u.id} | Local: ${!u.handle.includes('@')}`);
});
console.log('\n--- CONVERSATIONS ---');
const convs = await db.select().from(chatConversations);
console.log(`Found ${convs.length} conversations.`);
convs.forEach(c => {
console.log(`Conv: ${c.id} | Type: ${c.type} | P1: ${c.participant1Id} | P2Handle: ${c.participant2Handle}`);
});
} catch (e) {
console.error('Error:', e);
}
process.exit(0);
}
main();