@pleaseai/context-please-core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/LICENSE +24 -0
  2. package/README.md +287 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/context.d.ts +276 -0
  5. package/dist/context.d.ts.map +1 -0
  6. package/dist/context.js +1072 -0
  7. package/dist/context.js.map +1 -0
  8. package/dist/embedding/base-embedding.d.ts +51 -0
  9. package/dist/embedding/base-embedding.d.ts.map +1 -0
  10. package/dist/embedding/base-embedding.js +36 -0
  11. package/dist/embedding/base-embedding.js.map +1 -0
  12. package/dist/embedding/gemini-embedding.d.ts +53 -0
  13. package/dist/embedding/gemini-embedding.d.ts.map +1 -0
  14. package/dist/embedding/gemini-embedding.js +152 -0
  15. package/dist/embedding/gemini-embedding.js.map +1 -0
  16. package/dist/embedding/index.d.ts +6 -0
  17. package/dist/embedding/index.d.ts.map +1 -0
  18. package/dist/embedding/index.js +24 -0
  19. package/dist/embedding/index.js.map +1 -0
  20. package/dist/embedding/ollama-embedding.d.ts +55 -0
  21. package/dist/embedding/ollama-embedding.d.ts.map +1 -0
  22. package/dist/embedding/ollama-embedding.js +192 -0
  23. package/dist/embedding/ollama-embedding.js.map +1 -0
  24. package/dist/embedding/openai-embedding.d.ts +36 -0
  25. package/dist/embedding/openai-embedding.d.ts.map +1 -0
  26. package/dist/embedding/openai-embedding.js +159 -0
  27. package/dist/embedding/openai-embedding.js.map +1 -0
  28. package/dist/embedding/voyageai-embedding.d.ts +44 -0
  29. package/dist/embedding/voyageai-embedding.d.ts.map +1 -0
  30. package/dist/embedding/voyageai-embedding.js +227 -0
  31. package/dist/embedding/voyageai-embedding.js.map +1 -0
  32. package/dist/index.d.ts +8 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.js +24 -0
  35. package/dist/index.js.map +1 -0
  36. package/dist/splitter/ast-splitter.d.ts +22 -0
  37. package/dist/splitter/ast-splitter.d.ts.map +1 -0
  38. package/dist/splitter/ast-splitter.js +234 -0
  39. package/dist/splitter/ast-splitter.js.map +1 -0
  40. package/dist/splitter/index.d.ts +41 -0
  41. package/dist/splitter/index.d.ts.map +1 -0
  42. package/dist/splitter/index.js +27 -0
  43. package/dist/splitter/index.js.map +1 -0
  44. package/dist/splitter/langchain-splitter.d.ts +13 -0
  45. package/dist/splitter/langchain-splitter.d.ts.map +1 -0
  46. package/dist/splitter/langchain-splitter.js +118 -0
  47. package/dist/splitter/langchain-splitter.js.map +1 -0
  48. package/dist/sync/merkle.d.ts +26 -0
  49. package/dist/sync/merkle.d.ts.map +1 -0
  50. package/dist/sync/merkle.js +112 -0
  51. package/dist/sync/merkle.js.map +1 -0
  52. package/dist/sync/synchronizer.d.ts +30 -0
  53. package/dist/sync/synchronizer.d.ts.map +1 -0
  54. package/dist/sync/synchronizer.js +339 -0
  55. package/dist/sync/synchronizer.js.map +1 -0
  56. package/dist/types.d.ts +14 -0
  57. package/dist/types.d.ts.map +1 -0
  58. package/dist/types.js +3 -0
  59. package/dist/types.js.map +1 -0
  60. package/dist/utils/env-manager.d.ts +19 -0
  61. package/dist/utils/env-manager.d.ts.map +1 -0
  62. package/dist/utils/env-manager.js +125 -0
  63. package/dist/utils/env-manager.js.map +1 -0
  64. package/dist/utils/index.d.ts +2 -0
  65. package/dist/utils/index.d.ts.map +1 -0
  66. package/dist/utils/index.js +7 -0
  67. package/dist/utils/index.js.map +1 -0
  68. package/dist/vectordb/base/base-vector-database.d.ts +58 -0
  69. package/dist/vectordb/base/base-vector-database.d.ts.map +1 -0
  70. package/dist/vectordb/base/base-vector-database.js +32 -0
  71. package/dist/vectordb/base/base-vector-database.js.map +1 -0
  72. package/dist/vectordb/factory.d.ts +80 -0
  73. package/dist/vectordb/factory.d.ts.map +1 -0
  74. package/dist/vectordb/factory.js +89 -0
  75. package/dist/vectordb/factory.js.map +1 -0
  76. package/dist/vectordb/index.d.ts +12 -0
  77. package/dist/vectordb/index.d.ts.map +1 -0
  78. package/dist/vectordb/index.js +27 -0
  79. package/dist/vectordb/index.js.map +1 -0
  80. package/dist/vectordb/milvus-restful-vectordb.d.ts +75 -0
  81. package/dist/vectordb/milvus-restful-vectordb.d.ts.map +1 -0
  82. package/dist/vectordb/milvus-restful-vectordb.js +707 -0
  83. package/dist/vectordb/milvus-restful-vectordb.js.map +1 -0
  84. package/dist/vectordb/milvus-vectordb.d.ts +59 -0
  85. package/dist/vectordb/milvus-vectordb.d.ts.map +1 -0
  86. package/dist/vectordb/milvus-vectordb.js +641 -0
  87. package/dist/vectordb/milvus-vectordb.js.map +1 -0
  88. package/dist/vectordb/qdrant-vectordb.d.ts +124 -0
  89. package/dist/vectordb/qdrant-vectordb.d.ts.map +1 -0
  90. package/dist/vectordb/qdrant-vectordb.js +582 -0
  91. package/dist/vectordb/qdrant-vectordb.js.map +1 -0
  92. package/dist/vectordb/sparse/index.d.ts +4 -0
  93. package/dist/vectordb/sparse/index.d.ts.map +1 -0
  94. package/dist/vectordb/sparse/index.js +23 -0
  95. package/dist/vectordb/sparse/index.js.map +1 -0
  96. package/dist/vectordb/sparse/simple-bm25.d.ts +104 -0
  97. package/dist/vectordb/sparse/simple-bm25.d.ts.map +1 -0
  98. package/dist/vectordb/sparse/simple-bm25.js +189 -0
  99. package/dist/vectordb/sparse/simple-bm25.js.map +1 -0
  100. package/dist/vectordb/sparse/sparse-vector-generator.d.ts +54 -0
  101. package/dist/vectordb/sparse/sparse-vector-generator.d.ts.map +1 -0
  102. package/dist/vectordb/sparse/sparse-vector-generator.js +3 -0
  103. package/dist/vectordb/sparse/sparse-vector-generator.js.map +1 -0
  104. package/dist/vectordb/sparse/types.d.ts +38 -0
  105. package/dist/vectordb/sparse/types.d.ts.map +1 -0
  106. package/dist/vectordb/sparse/types.js +3 -0
  107. package/dist/vectordb/sparse/types.js.map +1 -0
  108. package/dist/vectordb/types.d.ts +120 -0
  109. package/dist/vectordb/types.d.ts.map +1 -0
  110. package/dist/vectordb/types.js +9 -0
  111. package/dist/vectordb/types.js.map +1 -0
  112. package/dist/vectordb/zilliz-utils.d.ts +135 -0
  113. package/dist/vectordb/zilliz-utils.d.ts.map +1 -0
  114. package/dist/vectordb/zilliz-utils.js +192 -0
  115. package/dist/vectordb/zilliz-utils.js.map +1 -0
  116. package/package.json +61 -0
@@ -0,0 +1,124 @@
1
+ import { VectorDocument, SearchOptions, VectorSearchResult, HybridSearchRequest, HybridSearchOptions, HybridSearchResult } from './types';
2
+ import { BaseVectorDatabase, BaseDatabaseConfig } from './base/base-vector-database';
3
+ import { SimpleBM25, BM25Config } from './sparse/simple-bm25';
4
+ export interface QdrantConfig extends BaseDatabaseConfig {
5
+ /**
6
+ * API key for Qdrant Cloud
7
+ * Optional for self-hosted instances
8
+ */
9
+ apiKey?: string;
10
+ /**
11
+ * Connection timeout in milliseconds
12
+ * @default 10000
13
+ */
14
+ timeout?: number;
15
+ /**
16
+ * BM25 configuration for sparse vector generation
17
+ */
18
+ bm25Config?: BM25Config;
19
+ }
20
+ /**
21
+ * Qdrant Vector Database implementation using gRPC client
22
+ *
23
+ * Features:
24
+ * - Named vectors (dense + sparse)
25
+ * - Hybrid search with RRF fusion
26
+ * - BM25 sparse vector generation
27
+ * - Self-hosted and cloud support
28
+ *
29
+ * Architecture:
30
+ * - Dense vectors: From embedding providers (OpenAI, VoyageAI, etc.)
31
+ * - Sparse vectors: Generated using SimpleBM25 for keyword matching
32
+ * - Hybrid search: Combines both using Qdrant's prefetch + RRF
33
+ */
34
+ export declare class QdrantVectorDatabase extends BaseVectorDatabase<QdrantConfig> {
35
+ private client;
36
+ private bm25Generator;
37
+ private readonly DENSE_VECTOR_NAME;
38
+ private readonly SPARSE_VECTOR_NAME;
39
+ constructor(config: QdrantConfig);
40
+ /**
41
+ * Initialize Qdrant client connection
42
+ */
43
+ protected initialize(): Promise<void>;
44
+ /**
45
+ * Create Qdrant client instance
46
+ */
47
+ private initializeClient;
48
+ /**
49
+ * Resolve address from config
50
+ * Unlike Milvus, Qdrant doesn't have auto-provisioning
51
+ */
52
+ protected resolveAddress(): Promise<string>;
53
+ /**
54
+ * Override to add client null check
55
+ */
56
+ protected ensureInitialized(): Promise<void>;
57
+ /**
58
+ * Qdrant doesn't require explicit collection loading
59
+ * Collections are loaded on-demand automatically
60
+ */
61
+ protected ensureLoaded(collectionName: string): Promise<void>;
62
+ /**
63
+ * Create collection with dense vectors only
64
+ */
65
+ createCollection(collectionName: string, dimension: number, description?: string): Promise<void>;
66
+ /**
67
+ * Create collection with hybrid search support (dense + sparse vectors)
68
+ */
69
+ createHybridCollection(collectionName: string, dimension: number, description?: string): Promise<void>;
70
+ /**
71
+ * Drop collection
72
+ */
73
+ dropCollection(collectionName: string): Promise<void>;
74
+ /**
75
+ * Check if collection exists
76
+ */
77
+ hasCollection(collectionName: string): Promise<boolean>;
78
+ /**
79
+ * List all collections
80
+ */
81
+ listCollections(): Promise<string[]>;
82
+ /**
83
+ * Insert documents with dense vectors only
84
+ */
85
+ insert(collectionName: string, documents: VectorDocument[]): Promise<void>;
86
+ /**
87
+ * Insert documents with hybrid vectors (dense + sparse)
88
+ */
89
+ insertHybrid(collectionName: string, documents: VectorDocument[]): Promise<void>;
90
+ /**
91
+ * Search with dense vectors only
92
+ */
93
+ search(collectionName: string, queryVector: number[], options?: SearchOptions): Promise<VectorSearchResult[]>;
94
+ /**
95
+ * Hybrid search with dense + sparse vectors using RRF fusion
96
+ */
97
+ hybridSearch(collectionName: string, searchRequests: HybridSearchRequest[], options?: HybridSearchOptions): Promise<HybridSearchResult[]>;
98
+ /**
99
+ * Delete documents by IDs
100
+ */
101
+ delete(collectionName: string, ids: string[]): Promise<void>;
102
+ /**
103
+ * Query documents with filter conditions
104
+ */
105
+ query(collectionName: string, filter: string, outputFields: string[], limit?: number): Promise<Record<string, any>[]>;
106
+ /**
107
+ * Check collection limit
108
+ * Qdrant doesn't have hard collection limits like Zilliz Cloud
109
+ */
110
+ checkCollectionLimit(): Promise<boolean>;
111
+ /**
112
+ * Parse Milvus-style filter expression to Qdrant filter format
113
+ *
114
+ * Example:
115
+ * - "fileExtension == '.ts'" -> { must: [{ key: 'fileExtension', match: { value: '.ts' } }] }
116
+ * - "fileExtension in ['.ts', '.js']" -> { must: [{ key: 'fileExtension', match: { any: ['.ts', '.js'] } }] }
117
+ */
118
+ private parseFilterExpression;
119
+ /**
120
+ * Get BM25 generator (for testing/debugging)
121
+ */
122
+ getBM25Generator(): SimpleBM25;
123
+ }
124
+ //# sourceMappingURL=qdrant-vectordb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qdrant-vectordb.d.ts","sourceRoot":"","sources":["../../src/vectordb/qdrant-vectordb.ts"],"names":[],"mappings":"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"}