sourcesyncai-mcp
Version:
[](https://smithery.ai/server/@pbteja1998/sourcesyncai-mcp)
117 lines (116 loc) • 3.07 kB
JavaScript
import { apiClient } from "./api-client.js";
import { CreateNamespaceSchema, ListNamespacesSchema, GetNamespaceSchema, UpdateNamespaceSchema, DeleteNamespaceSchema } from "./schemas.js";
/**
* Create a new namespace
*/
export async function createNamespace(params) {
try {
// Use the existing apiClient to create a namespace
const result = await apiClient.createNamespace({
name: params.name,
fileStorageConfig: {}, // Default config
vectorStorageConfig: {}, // Default config
embeddingModelConfig: {}, // Default config
tenantId: params.tenantId
});
return {
success: true,
namespace: result
};
}
catch (error) {
return {
success: false,
message: error.message || "Failed to create namespace",
error
};
}
}
/**
* List all namespaces
*/
export async function listNamespaces() {
try {
const result = await apiClient.listNamespaces();
return {
success: true,
namespaces: result
};
}
catch (error) {
return {
success: false,
message: error.message || "Failed to list namespaces",
error
};
}
}
/**
* Get a namespace by ID
*/
export async function getNamespace(params) {
try {
if (!params.namespaceId) {
throw new Error("Namespace ID is required");
}
const result = await apiClient.getNamespace(params.namespaceId);
return {
success: true,
namespace: result
};
}
catch (error) {
return {
success: false,
message: error.message || "Failed to get namespace",
error
};
}
}
/**
* Update a namespace
*/
export async function updateNamespace(params) {
try {
if (!params.namespaceId) {
throw new Error("Namespace ID is required");
}
const result = await apiClient.updateNamespace(params.namespaceId, {
tenantId: params.tenantId
});
return {
success: true,
namespace: result
};
}
catch (error) {
return {
success: false,
message: error.message || "Failed to update namespace",
error
};
}
}
/**
* Delete a namespace
*/
export async function deleteNamespace(params) {
try {
if (!params.namespaceId) {
throw new Error("Namespace ID is required");
}
const result = await apiClient.deleteNamespace(params.namespaceId);
return {
success: true,
message: "Namespace deleted successfully"
};
}
catch (error) {
return {
success: false,
message: error.message || "Failed to delete namespace",
error
};
}
}
export { CreateNamespaceSchema, ListNamespacesSchema, GetNamespaceSchema, UpdateNamespaceSchema, DeleteNamespaceSchema };