-
Notifications
You must be signed in to change notification settings - Fork 167
Feat/pinecone extended #182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- document helper modules, connection manager, and connector updates - record business impact across reliability, security, velocity, and observability - outline test command for pinecone helpers suite and upcoming enhancement roadmap
Hi @petitmj Could you explain the point of adding this to the pinecone configuration ? What scenarios/issues does this solve ? |
Vault-based credentials provide federated access based on the user's level of privilege. They also help maintain security and compliance across multiple domains at the production level. On the other hand, |
SRE has an integrated vault system, I want to understand how does this proposition integrate with it / enhance it ? |
It enhances SRE's security-first architecture by centralizing the governance of security keys. The Pinecone keys are now included alongside other SRE secrets. |
The intention is good, but it adds unnecessary complexity and breaks concerns separation rule. In the current approach we can easily use the vault without interfering with Pinecone connector const pinecone = ConnectorService.getVectorDBConnector('Pinecone'); //get the default Pinecone connector
const vault = ConnectorService.getVaultConnector();
const apiKey = await vault.agent(agent.id).get('my_pinecone_vault_key'); // .agent(agent.id) is a shortcut for .requester(AccessCandidate.agent(agent.id))
const myPinecone = pinecone.instance({ apiKey, /*... other Pinecone settings ...*/ }); // this instance is configured with custom settings and using apiKey from the vault. The benefit of the existing system is that it's usable with all IO, Memory and Cache connectors without a custom auth manager per connector. |
📝 Description
Refactors
packages/core/src/subsystems/IO/VectorDB.service/connectors/PineconeVectorDB.class.ts
to delegate runtime operations to the shared connection manager and wrap Pinecone calls with standardized retry/timeout helpers.Introduces helper modules under
packages/core/src/subsystems/IO/VectorDB.service/connectors/pinecone/
includingtypes.ts
,async-utils.ts
,retry-utils.ts
, andconnection-manager.ts
to centralize configuration, cancellation, retry handling, and credential resolution.Adds targeted unit coverage in
packages/core/tests/unit/004-VectorDB/pinecone-helpers.test.ts
validating the helper utilities and connection lifecycle.Documents the Phase 1 refactor scope, business impact, testing instructions, and roadmap in
docs/pinecone-connector-refactor-summary.md
.🔗 Related Issues
Fixes #
Relates to Add SmythOS Milvus Connector (all files ready for PR) #148 – Milvus Connector PR establishes shared VectorDB connector patterns leveraged here.
Relates to #[NEW] – Standardize retry logic across all VectorDB connectors (enhancement, vectordb, reliability). Propagate Pinecone retry-utils approach to Milvus and RAMVec.
Relates to #[NEW] – Implement circuit breaker pattern for VectorDB connectors (enhancement, vectordb, reliability, Phase 2). Generalize Pinecone circuit-breaker groundwork within the connection manager.
Relates to #[NEW] – Centralize credential management via ManagedVault for all connectors (enhancement, security, vault). Extend Pinecone’s ManagedVault/Vault caching pattern to other IO connectors.
Relates to #[NEW] – Environment-based configuration validation for all connectors (enhancement, configuration). Align configuration resolution across Storage, Cache, and VectorDB services.
Relates to #[NEW] – Increase VectorDB test coverage to 95%+ (testing, vectordb, quality). Build on Pinecone helper tests with broader VectorDB coverage.
Relates to #[NEW] – Document VectorDB connector architecture and patterns (documentation, vectordb). Expand docs with retry, connection management, and security best practices.
🔧 Type of Change
✅ Checklist