Skip to content

Commit d67f561

Browse files
committed
bump up
1 parent 15e9bf7 commit d67f561

7 files changed

Lines changed: 44 additions & 44 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88
## [Unreleased]
99

1010
### Added
11-
- Initial TypeScript implementation of Pinecone Read-Only MCP
12-
- Hybrid search support (dense + sparse embeddings)
13-
- Semantic reranking using BGE reranker model
14-
- Dynamic namespace discovery
15-
- Metadata filtering support
16-
- Full TypeScript type definitions
17-
- Comprehensive test suite
18-
- GitHub Actions CI/CD workflows
19-
- ESLint and Prettier configuration
20-
- Complete documentation
11+
- N/A
2112

2213
### Changed
2314
- N/A
@@ -34,6 +25,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3425
### Security
3526
- N/A
3627

28+
## [0.1.1] - 2026-01-27
29+
30+
### Changed
31+
- Enhanced TypeScript strict mode with additional compiler checks:
32+
- Added `noUncheckedIndexedAccess` for safer array/object access
33+
- Added `noImplicitOverride` to require explicit override keywords
34+
- Added `noPropertyAccessFromIndexSignature` to enforce bracket notation for index signatures
35+
- Updated all code to use bracket notation for environment variables and dynamic property access
36+
- Simplified build script to use standard `tsc` command
37+
38+
### Fixed
39+
- Fixed build script that was suppressing TypeScript compilation errors with `|| exit 0`
40+
- Fixed all type safety issues to comply with stricter TypeScript checks
41+
3742
## [0.1.0] - 2026-01-26
3843

3944
### Added
@@ -49,5 +54,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4954
- Environment variable support
5055
- Full documentation and examples
5156

52-
[Unreleased]: https://github.com/iTinkerBell/pinecone-read-only-mcp-typescript/compare/v0.1.0...HEAD
57+
[Unreleased]: https://github.com/iTinkerBell/pinecone-read-only-mcp-typescript/compare/v0.1.1...HEAD
58+
[0.1.1]: https://github.com/iTinkerBell/pinecone-read-only-mcp-typescript/compare/v0.1.0...v0.1.1
5359
[0.1.0]: https://github.com/iTinkerBell/pinecone-read-only-mcp-typescript/releases/tag/v0.1.0

package-lock.json

Lines changed: 2 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@will-cppa/pinecone-read-only-mcp",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "A Model Context Protocol (MCP) server that provides semantic search over Pinecone vector databases using hybrid search (dense + sparse) with reranking.",
55
"type": "module",
66
"main": "dist/index.js",
@@ -36,7 +36,7 @@
3636
"node": ">=18.0.0"
3737
},
3838
"scripts": {
39-
"build": "node ./node_modules/typescript/bin/tsc || exit 0",
39+
"build": "tsc",
4040
"build:watch": "tsc --watch",
4141
"dev": "tsx watch src/index.ts",
4242
"start": "node dist/index.js",

src/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,13 +99,13 @@ async function main(): Promise<void> {
9999
// Set log level
100100
const logLevel =
101101
options.logLevel ||
102-
process.env.PINECONE_READ_ONLY_MCP_LOG_LEVEL ||
103-
process.env.LOG_LEVEL ||
102+
process.env['PINECONE_READ_ONLY_MCP_LOG_LEVEL'] ||
103+
process.env['LOG_LEVEL'] ||
104104
'INFO';
105-
process.env.LOG_LEVEL = logLevel;
105+
process.env['LOG_LEVEL'] = logLevel;
106106

107107
// Get API key
108-
const apiKey = options.apiKey || process.env.PINECONE_API_KEY;
108+
const apiKey = options.apiKey || process.env['PINECONE_API_KEY'];
109109
if (!apiKey) {
110110
console.error(
111111
'Error: Pinecone API key is required. Set PINECONE_API_KEY environment variable or use --api-key option.'
@@ -114,9 +114,9 @@ async function main(): Promise<void> {
114114
}
115115

116116
// Get configuration
117-
const indexName = options.indexName || process.env.PINECONE_INDEX_NAME || DEFAULT_INDEX_NAME;
117+
const indexName = options.indexName || process.env['PINECONE_INDEX_NAME'] || DEFAULT_INDEX_NAME;
118118
const rerankModel =
119-
options.rerankModel || process.env.PINECONE_RERANK_MODEL || DEFAULT_RERANK_MODEL;
119+
options.rerankModel || process.env['PINECONE_RERANK_MODEL'] || DEFAULT_RERANK_MODEL;
120120

121121
// Initialize Pinecone client
122122
const client = new PineconeClient({

src/pinecone-client.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ export class PineconeClient {
2626

2727
constructor(config: PineconeClientConfig) {
2828
this.apiKey = config.apiKey;
29-
this.indexName = config.indexName || process.env.PINECONE_INDEX_NAME || DEFAULT_INDEX_NAME;
29+
this.indexName = config.indexName || process.env['PINECONE_INDEX_NAME'] || DEFAULT_INDEX_NAME;
3030
this.rerankModel =
31-
config.rerankModel || process.env.PINECONE_RERANK_MODEL || DEFAULT_RERANK_MODEL;
31+
config.rerankModel || process.env['PINECONE_RERANK_MODEL'] || DEFAULT_RERANK_MODEL;
3232
this.defaultTopK =
33-
config.defaultTopK || parseInt(process.env.PINECONE_TOP_K || String(DEFAULT_TOP_K));
33+
config.defaultTopK || parseInt(process.env['PINECONE_TOP_K'] || String(DEFAULT_TOP_K));
3434
}
3535

3636
/**
@@ -254,10 +254,10 @@ export class PineconeClient {
254254
for (const item of rerankResult.data || []) {
255255
const document = item.document || {};
256256
reranked.push({
257-
id: document._id || '',
258-
content: document.chunk_text || '',
257+
id: document['_id'] || '',
258+
content: document['chunk_text'] || '',
259259
score: parseFloat(String(item.score || 0)),
260-
metadata: document.metadata || {},
260+
metadata: document['metadata'] || {},
261261
reranked: true,
262262
});
263263
}

src/server.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ export async function setupServer(): Promise<McpServer> {
9898

9999
const response = {
100100
status: 'error',
101-
message: process.env.LOG_LEVEL === 'DEBUG' ? errorMessage : 'Failed to list namespaces',
101+
message:
102+
process.env['LOG_LEVEL'] === 'DEBUG' ? errorMessage : 'Failed to list namespaces',
102103
};
103104

104105
return {
@@ -203,12 +204,12 @@ export async function setupServer(): Promise<McpServer> {
203204
// Format results for output
204205
const formattedResults = results.map((doc) => ({
205206
paper_number:
206-
doc.metadata.document_number ||
207-
(doc.metadata.filename as string)?.replace('.md', '').toUpperCase() ||
207+
doc.metadata['document_number'] ||
208+
(doc.metadata['filename'] as string)?.replace('.md', '').toUpperCase() ||
208209
null,
209-
title: doc.metadata.title || '',
210-
author: doc.metadata.author || '',
211-
url: doc.metadata.url || '',
210+
title: doc.metadata['title'] || '',
211+
author: doc.metadata['author'] || '',
212+
url: doc.metadata['url'] || '',
212213
content: doc.content.substring(0, 2000), // Truncate for readability
213214
score: Math.round(doc.score * 10000) / 10000,
214215
reranked: doc.reranked,
@@ -239,7 +240,7 @@ export async function setupServer(): Promise<McpServer> {
239240
const response: QueryResponse = {
240241
status: 'error',
241242
message:
242-
process.env.LOG_LEVEL === 'DEBUG'
243+
process.env['LOG_LEVEL'] === 'DEBUG'
243244
? errorMessage
244245
: 'An error occurred while processing your query',
245246
};

tsconfig.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
"outDir": "./dist",
77
"rootDir": "./src",
88
"strict": true,
9+
"noUncheckedIndexedAccess": true,
10+
"noImplicitOverride": true,
11+
"noPropertyAccessFromIndexSignature": true,
912
"esModuleInterop": true,
1013
"skipLibCheck": true,
1114
"forceConsistentCasingInFileNames": true,

0 commit comments

Comments
 (0)