} from "@volcengine/tos-sdk";
const client = new TosVectorsClient({
accessKeyId: process.env["TOS_ACCESS_KEY"],
accessKeySecret: process.env["TOS_SECRET_KEY"],
region: 'Provide your region',
endpoint: 'Provide your vector endpoint',
function handleError(error: Error) {
if (error instanceof TosClientError) {
console.log("Client Error:");
console.log(" Message:", error.message);
console.log(" Stack:", error.stack);
} else if (error instanceof TosServerError) {
console.log("Server Error:");
console.log(" Request ID:", error.requestId);
console.log(" Status Code:", error.statusCode);
console.log(" Code:", error.code);
console.log(" Message:", error.message);
console.log(" Headers:", error.headers);
console.log("Unexpected Error:");
console.log(" Message:", error.message);
const vectorBucketName = 'Provide your vector bucket name';
const accountId = process.env["TOS_ACCOUNT_ID"];
const indexName = "test";
console.log("Start paginated listing of vectors...");
let nextToken: string | undefined = undefined;
console.log(`\n Request the vector list for page ${page}...`);
const result = await client.listVectors({
console.log("Page Request Info:");
console.log(" Request ID:", result.requestId);
console.log(" Status Code:", result.statusCode);
console.log(" Headers:", result.headers);
const vectors = result.data.vectors || [];
console.log(` Number of returned vectors on this page: ${vectors.length}`);
if (vectors.length === 0) {
console.log(" This page did not return any vectors.");
vectors.forEach((vector, index) => {
const dataLength = vector.data?.float32?.length ?? 0;
const metadataKeys = vector.metadata ? Object.keys(vector.metadata) : [];
console.log(` Vector #${index + 1}:`);
console.log(` - Key: ${vector.key}`);
console.log(` - Vector dimension (float32 Length): ${dataLength}`);
console.log(" - Vector data: <not returned or empty>");
if (metadataKeys.length > 0) {
console.log(` - Metadata field: ${metadataKeys.join(", ")}`);
console.log(" - Metadata field: <None>");
nextToken = result.data.nextToken;
console.log(" Next Token:", nextToken);
console.log(" There are no more paging results.");