@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,135 @@
1
+ export interface ZillizConfig {
2
+ baseUrl?: string;
3
+ token?: string;
4
+ }
5
+ export interface Project {
6
+ projectId: string;
7
+ projectName: string;
8
+ instanceCount: number;
9
+ createTime: string;
10
+ }
11
+ export interface Cluster {
12
+ clusterId: string;
13
+ clusterName: string;
14
+ description: string;
15
+ regionId: string;
16
+ plan: string;
17
+ cuType: string;
18
+ cuSize: number;
19
+ status: string;
20
+ connectAddress: string;
21
+ privateLinkAddress: string;
22
+ projectId: string;
23
+ createTime: string;
24
+ }
25
+ export interface CreateFreeClusterRequest {
26
+ clusterName: string;
27
+ projectId: string;
28
+ regionId: string;
29
+ }
30
+ export interface CreateFreeClusterResponse {
31
+ clusterId: string;
32
+ username: string;
33
+ password: string;
34
+ prompt: string;
35
+ }
36
+ export interface CreateFreeClusterWithDetailsResponse extends CreateFreeClusterResponse {
37
+ clusterDetails: DescribeClusterResponse;
38
+ }
39
+ export interface ListProjectsResponse {
40
+ code: number;
41
+ data: Project[];
42
+ }
43
+ export interface ListClustersResponse {
44
+ code: number;
45
+ data: {
46
+ count: number;
47
+ currentPage: number;
48
+ pageSize: number;
49
+ clusters: Cluster[];
50
+ };
51
+ }
52
+ export interface CreateFreeClusterApiResponse {
53
+ code: number;
54
+ data: CreateFreeClusterResponse;
55
+ }
56
+ export interface DescribeClusterResponse {
57
+ clusterId: string;
58
+ clusterName: string;
59
+ projectId: string;
60
+ description: string;
61
+ regionId: string;
62
+ cuType: string;
63
+ plan: string;
64
+ status: string;
65
+ connectAddress: string;
66
+ privateLinkAddress: string;
67
+ createTime: string;
68
+ cuSize: number;
69
+ storageSize: number;
70
+ snapshotNumber: number;
71
+ createProgress: number;
72
+ }
73
+ export interface DescribeClusterApiResponse {
74
+ code: number;
75
+ data: DescribeClusterResponse;
76
+ }
77
+ export interface ErrorResponse {
78
+ code: number;
79
+ message: string;
80
+ }
81
+ /**
82
+ * Zilliz Cloud cluster manager
83
+ * For managing Zilliz Cloud projects and clusters
84
+ * See https://docs.zilliz.com/reference/restful/list-clusters-v2 for more details
85
+ */
86
+ export declare class ClusterManager {
87
+ private baseUrl;
88
+ private token;
89
+ constructor(config?: ZillizConfig);
90
+ /**
91
+ * Generic method for sending HTTP requests
92
+ */
93
+ private makeRequest;
94
+ /**
95
+ * List all projects
96
+ * @returns List of projects
97
+ */
98
+ listProjects(): Promise<Project[]>;
99
+ /**
100
+ * List all clusters
101
+ * @param projectId Optional project ID filter
102
+ * @param pageSize Page size, default 10
103
+ * @param currentPage Current page number, default 1
104
+ * @returns Cluster list with pagination info
105
+ */
106
+ listClusters(projectId?: string, pageSize?: number, currentPage?: number): Promise<{
107
+ clusters: Cluster[];
108
+ count: number;
109
+ currentPage: number;
110
+ pageSize: number;
111
+ }>;
112
+ /**
113
+ * Describe cluster details
114
+ * @param clusterId Cluster ID to describe
115
+ * @returns Cluster details
116
+ */
117
+ describeCluster(clusterId: string): Promise<DescribeClusterResponse>;
118
+ /**
119
+ * Create free cluster and wait for it to be ready
120
+ * @param request Request parameters for creating cluster
121
+ * @param timeoutMs Timeout in milliseconds, default 5 minutes
122
+ * @param pollIntervalMs Polling interval in milliseconds, default 5 seconds
123
+ * @returns Creation result including cluster ID, username, password and cluster details
124
+ */
125
+ createFreeCluster(request: CreateFreeClusterRequest, timeoutMs?: number, // 5 minutes default
126
+ pollIntervalMs?: number): Promise<CreateFreeClusterWithDetailsResponse>;
127
+ /**
128
+ * Static utility method to get address from token using Zilliz Cloud API
129
+ * This method will find or create a cluster and return its connect address
130
+ * @param token Zilliz Cloud API token
131
+ * @returns Connect address for the cluster
132
+ */
133
+ static getAddressFromToken(token?: string): Promise<string>;
134
+ }
135
+ //# sourceMappingURL=zilliz-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zilliz-utils.d.ts","sourceRoot":"","sources":["../../src/vectordb/zilliz-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClusterManager = void 0;
4
+ const env_manager_1 = require("../utils/env-manager");
5
+ /**
6
+ * Zilliz Cloud cluster manager
7
+ * For managing Zilliz Cloud projects and clusters
8
+ * See https://docs.zilliz.com/reference/restful/list-clusters-v2 for more details
9
+ */
10
+ class ClusterManager {
11
+ constructor(config) {
12
+ // Get from environment variables first, otherwise use passed configuration
13
+ this.baseUrl = env_manager_1.envManager.get('ZILLIZ_BASE_URL') || config?.baseUrl || 'https://api.cloud.zilliz.com';
14
+ this.token = env_manager_1.envManager.get('MILVUS_TOKEN') || config?.token || '';
15
+ if (!this.token) {
16
+ throw new Error('Zilliz API token is required. Please provide it via MILVUS_TOKEN environment variable or config parameter.');
17
+ }
18
+ }
19
+ /**
20
+ * Generic method for sending HTTP requests
21
+ */
22
+ async makeRequest(endpoint, method = 'GET', data) {
23
+ const url = `${this.baseUrl}${endpoint}`;
24
+ const headers = {
25
+ 'Authorization': `Bearer ${this.token}`,
26
+ 'Accept': 'application/json',
27
+ 'Content-Type': 'application/json',
28
+ };
29
+ const options = {
30
+ method,
31
+ headers,
32
+ };
33
+ if (data && method === 'POST') {
34
+ options.body = JSON.stringify(data);
35
+ }
36
+ try {
37
+ const response = await fetch(url, options);
38
+ if (!response.ok) {
39
+ const errorText = await response.text();
40
+ let errorMessage;
41
+ try {
42
+ const errorJson = JSON.parse(errorText);
43
+ errorMessage = errorJson.message || `HTTP ${response.status}: ${response.statusText}`;
44
+ }
45
+ catch {
46
+ errorMessage = `HTTP ${response.status}: ${response.statusText}`;
47
+ }
48
+ throw new Error(errorMessage);
49
+ }
50
+ const result = await response.json();
51
+ return result;
52
+ }
53
+ catch (error) {
54
+ // Log the original error for more details, especially for fetch errors
55
+ console.error('[ZillizUtils] ❌ Original error in makeRequest:', error);
56
+ throw new Error(`Zilliz API request failed: ${error.message}`);
57
+ }
58
+ }
59
+ /**
60
+ * List all projects
61
+ * @returns List of projects
62
+ */
63
+ async listProjects() {
64
+ const response = await this.makeRequest('/v2/projects');
65
+ if (response.code !== 0) {
66
+ throw new Error(`Failed to list projects: ${JSON.stringify(response)}`);
67
+ }
68
+ return response.data;
69
+ }
70
+ /**
71
+ * List all clusters
72
+ * @param projectId Optional project ID filter
73
+ * @param pageSize Page size, default 10
74
+ * @param currentPage Current page number, default 1
75
+ * @returns Cluster list with pagination info
76
+ */
77
+ async listClusters(projectId, pageSize = 10, currentPage = 1) {
78
+ let endpoint = `/v2/clusters?pageSize=${pageSize}&currentPage=${currentPage}`;
79
+ if (projectId) {
80
+ endpoint += `&projectId=${projectId}`;
81
+ }
82
+ const response = await this.makeRequest(endpoint);
83
+ if (response.code !== 0) {
84
+ throw new Error(`Failed to list clusters: ${JSON.stringify(response)}`);
85
+ }
86
+ return response.data;
87
+ }
88
+ /**
89
+ * Describe cluster details
90
+ * @param clusterId Cluster ID to describe
91
+ * @returns Cluster details
92
+ */
93
+ async describeCluster(clusterId) {
94
+ const response = await this.makeRequest(`/v2/clusters/${clusterId}`);
95
+ if (response.code !== 0) {
96
+ throw new Error(`Failed to describe cluster: ${JSON.stringify(response)}`);
97
+ }
98
+ return response.data;
99
+ }
100
+ /**
101
+ * Create free cluster and wait for it to be ready
102
+ * @param request Request parameters for creating cluster
103
+ * @param timeoutMs Timeout in milliseconds, default 5 minutes
104
+ * @param pollIntervalMs Polling interval in milliseconds, default 5 seconds
105
+ * @returns Creation result including cluster ID, username, password and cluster details
106
+ */
107
+ async createFreeCluster(request, timeoutMs = 5 * 60 * 1000, // 5 minutes default
108
+ pollIntervalMs = 5 * 1000 // 5 seconds default
109
+ ) {
110
+ // Create the cluster
111
+ const response = await this.makeRequest('/v2/clusters/createFree', 'POST', request);
112
+ if (response.code !== 0) {
113
+ throw new Error(`Failed to create free cluster: ${JSON.stringify(response)}`);
114
+ }
115
+ const { clusterId } = response.data;
116
+ const startTime = Date.now();
117
+ // Poll cluster status until it's ready or timeout
118
+ while (Date.now() - startTime < timeoutMs) {
119
+ try {
120
+ const clusterInfo = await this.describeCluster(clusterId);
121
+ if (clusterInfo.status === 'RUNNING') {
122
+ // Cluster is ready, return creation data with cluster details
123
+ return {
124
+ ...response.data,
125
+ clusterDetails: clusterInfo
126
+ };
127
+ }
128
+ else if (clusterInfo.status === 'DELETED' || clusterInfo.status === 'ABNORMAL') {
129
+ // Cluster creation failed
130
+ throw new Error(`Cluster creation failed with status: ${clusterInfo.status}`);
131
+ }
132
+ // Wait before next poll
133
+ await new Promise(resolve => setTimeout(resolve, pollIntervalMs));
134
+ }
135
+ catch (error) {
136
+ // If it's a describe cluster error, continue polling
137
+ // The cluster might not be immediately available for describe
138
+ if (error.message.includes('Failed to describe cluster')) {
139
+ await new Promise(resolve => setTimeout(resolve, pollIntervalMs));
140
+ continue;
141
+ }
142
+ throw error;
143
+ }
144
+ }
145
+ // Timeout reached
146
+ throw new Error(`Timeout waiting for cluster ${clusterId} to be ready after ${timeoutMs}ms`);
147
+ }
148
+ /**
149
+ * Static utility method to get address from token using Zilliz Cloud API
150
+ * This method will find or create a cluster and return its connect address
151
+ * @param token Zilliz Cloud API token
152
+ * @returns Connect address for the cluster
153
+ */
154
+ static async getAddressFromToken(token) {
155
+ if (!token) {
156
+ throw new Error('Token is required when address is not provided');
157
+ }
158
+ try {
159
+ const clusterManager = new ClusterManager({ token });
160
+ // Get Default Project ID
161
+ const projects = await clusterManager.listProjects();
162
+ const defaultProject = projects.find(p => p.projectName === 'Default Project');
163
+ if (!defaultProject) {
164
+ throw new Error('Default Project not found');
165
+ }
166
+ // List clusters in the default project
167
+ const clustersResponse = await clusterManager.listClusters(defaultProject.projectId);
168
+ if (clustersResponse.clusters.length > 0) {
169
+ // Use the first available cluster
170
+ const cluster = clustersResponse.clusters[0];
171
+ console.log(`🎯 Using existing cluster: ${cluster.clusterName} (${cluster.clusterId})`);
172
+ return cluster.connectAddress;
173
+ }
174
+ else {
175
+ // No clusters found, create a free cluster
176
+ console.log('📝 No clusters found, creating a new free cluster...');
177
+ const createResponse = await clusterManager.createFreeCluster({
178
+ clusterName: `auto-cluster-${Date.now()}`,
179
+ projectId: defaultProject.projectId,
180
+ regionId: 'gcp-us-west1' // Default region
181
+ });
182
+ console.log(`[ZillizUtils] ✅ Created new cluster: ${createResponse.clusterId}`);
183
+ return createResponse.clusterDetails.connectAddress;
184
+ }
185
+ }
186
+ catch (error) {
187
+ throw new Error(`Failed to get address from token: ${error.message}`);
188
+ }
189
+ }
190
+ }
191
+ exports.ClusterManager = ClusterManager;
192
+ //# sourceMappingURL=zilliz-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zilliz-utils.js","sourceRoot":"","sources":["../../src/vectordb/zilliz-utils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@pleaseai/context-please-core",
3
+ "version": "0.1.0",
4
+ "description": "Core indexing engine for Context Please (fork of claude-context-core)",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "dependencies": {
8
+ "@google/genai": "^1.9.0",
9
+ "@qdrant/js-client-grpc": "^1.15.1",
10
+ "@zilliz/milvus2-sdk-node": "^2.5.10",
11
+ "faiss-node": "^0.5.1",
12
+ "fs-extra": "^11.0.0",
13
+ "glob": "^10.0.0",
14
+ "langchain": "^0.3.27",
15
+ "ollama": "^0.5.16",
16
+ "openai": "^5.1.1",
17
+ "tree-sitter": "^0.21.1",
18
+ "tree-sitter-c-sharp": "^0.21.0",
19
+ "tree-sitter-cpp": "^0.22.0",
20
+ "tree-sitter-go": "^0.21.0",
21
+ "tree-sitter-java": "^0.21.0",
22
+ "tree-sitter-javascript": "^0.21.0",
23
+ "tree-sitter-python": "^0.21.0",
24
+ "tree-sitter-rust": "^0.21.0",
25
+ "tree-sitter-scala": "^0.24.0",
26
+ "tree-sitter-typescript": "^0.21.0",
27
+ "typescript": "^5.0.0",
28
+ "voyageai": "^0.0.4"
29
+ },
30
+ "devDependencies": {
31
+ "@types/fs-extra": "^11.0.0",
32
+ "@types/node": "^20.0.0",
33
+ "@vitest/coverage-v8": "^2.1.8",
34
+ "memfs": "^4.14.0",
35
+ "vitest": "^2.1.8"
36
+ },
37
+ "files": [
38
+ "dist",
39
+ "README.md"
40
+ ],
41
+ "repository": {
42
+ "type": "git",
43
+ "url": "https://github.com/pleaseai/context-please.git",
44
+ "directory": "packages/core"
45
+ },
46
+ "license": "MIT",
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ "scripts": {
51
+ "build": "pnpm clean && tsc --build --force",
52
+ "dev": "tsc --watch",
53
+ "clean": "rimraf dist",
54
+ "lint": "eslint src --ext .ts",
55
+ "lint:fix": "eslint src --ext .ts --fix",
56
+ "typecheck": "tsc --noEmit",
57
+ "test": "vitest run",
58
+ "test:watch": "vitest",
59
+ "test:coverage": "vitest run --coverage"
60
+ }
61
+ }