Skip to content

Instantly share code, notes, and snippets.

@WebCloud
Created July 17, 2025 21:11
Show Gist options
  • Save WebCloud/302a8be04361b2675c4390ad0944c0a2 to your computer and use it in GitHub Desktop.
Save WebCloud/302a8be04361b2675c4390ad0944c0a2 to your computer and use it in GitHub Desktop.
case "resources/list": {
const sessionFiles = sessionFileStore.getSessionFiles(session.id);
const resources = sessionFiles.map((file) => {
const fileName =
file.file.meta?.filename ||
`${file.file.lang}_file_${file.id.slice(-8)}`;
return {
uri: file.uri,
name: fileName,
description: `${file.file.lang} file from chat ${file.chatId}${
file.messageId ? ` (message ${file.messageId})` : ""
}`,
mimeType: getMimeType(file.file.lang),
};
});
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
result: {
resources,
},
};
break;
}
case "resources/read": {
const uri = requestData.params?.uri;
if (!uri) {
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
error: {
code: -32602,
message: "Missing required parameter: uri",
},
};
break;
}
// Handle static resources
if (uri === "v0://user/config") {
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
result: {
contents: [
{
uri,
mimeType: "application/json",
text: JSON.stringify(
{
userId: "example-user",
settings: {
theme: "dark",
language: "en",
},
},
null,
2
),
},
],
},
};
break;
}
if (uri?.startsWith("v0://projects/")) {
const projectId = uri.split("/").pop();
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
result: {
contents: [
{
uri,
mimeType: "application/json",
text: JSON.stringify(
{
projectId,
name: `Project ${projectId}`,
status: "active",
created: new Date().toISOString(),
},
null,
2
),
},
],
},
};
break;
}
// Handle session files
const file = sessionFileStore.getFileByUri(uri);
if (!file) {
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
error: {
code: -32602,
message: `Resource not found: ${uri}`,
},
};
break;
}
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
result: {
contents: [
{
uri: file.uri,
mimeType: getMimeType(file.file.lang),
text: file.file.source,
},
],
},
};
break;
}
default:
response = {
jsonrpc: "2.0" as const,
id: requestData.id,
error: {
code: -32601,
message: `Unknown method: ${requestData.method}`,
},
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment