MCPcopy Create free account
hub / github.com/ConsortiumAI/Consortium / fetchMessages

Function fetchMessages

packages/consortium-web/src/lib/api.ts:161–192  ·  view source on GitHub ↗
(
  credentials: Credentials,
  session: DecryptedSession,
)

Source from the content-addressed store, hash-verified

159}
160
161export async function fetchMessages(
162 credentials: Credentials,
163 session: DecryptedSession,
164): Promise<MessageContent[]> {
165 const res = await fetch(
166 `${SERVER_URL}/v1/sessions/${session.id}/messages`,
167 { headers: authHeaders(credentials.token) },
168 );
169 if (!res.ok) throw new Error(`Failed to fetch messages: ${res.status}`);
170
171 const data = await res.json();
172 const messages: MessageContent[] = [];
173
174 for (const raw of (data.messages as RawMessage[]).reverse()) {
175 if (raw.content?.t === 'encrypted' && raw.content.c) {
176 try {
177 const decrypted = await decrypt(
178 session.encryptionKey,
179 session.encryptionVariant,
180 decodeBase64(raw.content.c as string),
181 );
182 if (decrypted) {
183 messages.push(decrypted as MessageContent);
184 }
185 } catch {
186 // Skip undecryptable messages
187 }
188 }
189 }
190
191 return messages;
192}
193
194export async function deleteSession(
195 credentials: Credentials,

Callers 1

SessionFunction · 0.90

Calls 4

decryptFunction · 0.90
decodeBase64Function · 0.90
authHeadersFunction · 0.85
pushMethod · 0.45

Tested by

no test coverage detected