@gravityai-dev/pinecone
Version:
Pinecone vector database nodes for GravityWorkflow - knowledge management and vector operations
44 lines • 1.56 kB
JavaScript
;
/**
* PineconeUpload node executor
* Uploads a single vector to Pinecone
*/
Object.defineProperty(exports, "__esModule", { value: true });
const plugin_base_1 = require("@gravityai-dev/plugin-base");
const uploadService_1 = require("../service/uploadService");
// Get platform dependencies - CRITICAL: Use Pattern A to avoid instanceof errors
const { PromiseNode, createLogger } = (0, plugin_base_1.getPlatformDependencies)();
const NODE_TYPE = "PineconeUpload";
class PineconeUploadExecutor extends PromiseNode {
constructor() {
super(NODE_TYPE);
}
async executeNode(inputs, config, context) {
const logger = createLogger("PineconeUpload");
// Validate index name
if (!config.indexName || config.indexName.trim() === "") {
throw new Error("Index name is required");
}
// Validate vector ID
if (!config.vectorId || config.vectorId.trim() === "") {
throw new Error("Vector ID is required");
}
// Validate text
if (!config.text || config.text.trim() === "") {
throw new Error("Text is required for embedding generation");
}
// Execute upload using service
const result = await (0, uploadService_1.executeUpload)({
...config,
context,
});
// Return wrapped in __outputs
return {
__outputs: {
output: result,
},
};
}
}
exports.default = PineconeUploadExecutor;
//# sourceMappingURL=executor.js.map