grepmind-config 0.1.0-alpha
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.
- package/LICENSE +190 -0
- package/dist/defaults.d.ts +38 -0
- package/dist/defaults.d.ts.map +1 -0
- package/dist/defaults.js +122 -0
- package/dist/defaults.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/loader.d.ts +66 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +236 -0
- package/dist/loader.js.map +1 -0
- package/dist/path-utils.d.ts +18 -0
- package/dist/path-utils.d.ts.map +1 -0
- package/dist/path-utils.js +52 -0
- package/dist/path-utils.js.map +1 -0
- package/dist/schema.d.ts +1427 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +144 -0
- package/dist/schema.js.map +1 -0
- package/dist/secrets.d.ts +75 -0
- package/dist/secrets.d.ts.map +1 -0
- package/dist/secrets.js +145 -0
- package/dist/secrets.js.map +1 -0
- package/dist/types.d.ts +84 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAejC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;EAG9B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAkB,CAAC"}
|
package/dist/schema.js
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema for grepmind.json
|
|
3
|
+
*
|
|
4
|
+
* This schema validates the project configuration file.
|
|
5
|
+
* Note: Secrets (API keys) are NOT stored in the config file.
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Embedding provider configuration schema.
|
|
10
|
+
* No secrets - voyageApiKey is passed separately via Secrets.
|
|
11
|
+
*/
|
|
12
|
+
export const embeddingConfigSchema = z.object({
|
|
13
|
+
provider: z.enum(['wasm', 'voyage', 'ollama', 'localai']).default('wasm'),
|
|
14
|
+
model: z.string().optional(),
|
|
15
|
+
dimensions: z.number().optional(),
|
|
16
|
+
voyageModel: z.string().optional(),
|
|
17
|
+
localaiBaseUrl: z.string().url().optional(),
|
|
18
|
+
localaiModel: z.string().optional(),
|
|
19
|
+
}).refine((data) => {
|
|
20
|
+
if (data.provider === 'localai' && !data.localaiBaseUrl) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}, { message: "LocalAI provider requires localaiBaseUrl" });
|
|
25
|
+
/**
|
|
26
|
+
* Reranking configuration schema.
|
|
27
|
+
*/
|
|
28
|
+
export const rerankingConfigSchema = z.object({
|
|
29
|
+
enabled: z.boolean().default(false),
|
|
30
|
+
provider: z.enum(['none', 'wasm', 'voyage', 'localai']).default('none'),
|
|
31
|
+
topK: z.number().min(10).max(200).default(50),
|
|
32
|
+
prerankThreshold: z.number().min(0).max(1).default(0.3),
|
|
33
|
+
maxDocumentLength: z.number().min(100).max(10000).default(2000),
|
|
34
|
+
batchSize: z.number().min(10).max(1000).default(100),
|
|
35
|
+
wasmModel: z.string().default('Xenova/ms-marco-MiniLM-L-6-v2'),
|
|
36
|
+
voyageModel: z.string().default('rerank-2.5-lite'),
|
|
37
|
+
localaiBaseUrl: z.string().url().default('http://localhost:8080'),
|
|
38
|
+
localaiRerankModel: z.string().default('jina-reranker-v1-base-en'),
|
|
39
|
+
}).refine((data) => {
|
|
40
|
+
if (data.enabled && data.provider === 'none') {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}, { message: "Reranking enabled but provider is 'none'" }).refine((data) => {
|
|
45
|
+
if (data.provider === 'localai' && !data.localaiBaseUrl) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
}, { message: 'LocalAI reranking provider requires localaiBaseUrl' });
|
|
50
|
+
/**
|
|
51
|
+
* Code indexing configuration schema.
|
|
52
|
+
*/
|
|
53
|
+
export const codeConfigSchema = z.object({
|
|
54
|
+
enabled: z.boolean().default(false),
|
|
55
|
+
include: z.array(z.string()).optional(),
|
|
56
|
+
exclude: z.array(z.string()).optional(),
|
|
57
|
+
graph: z.object({
|
|
58
|
+
enabled: z.boolean().default(true),
|
|
59
|
+
quality: z.enum(['fast', 'balanced', 'accurate']).default('balanced'),
|
|
60
|
+
semantic: z.object({
|
|
61
|
+
enabled: z.boolean().default(true),
|
|
62
|
+
maxClosureDepth: z.number().default(3),
|
|
63
|
+
maxClosureFiles: z.number().default(50),
|
|
64
|
+
}).default({}),
|
|
65
|
+
embedded: z.object({
|
|
66
|
+
graphql: z.boolean().default(true),
|
|
67
|
+
css: z.boolean().default(true),
|
|
68
|
+
}).default({}),
|
|
69
|
+
resolution: z.object({
|
|
70
|
+
tsConfigPath: z.string().optional(),
|
|
71
|
+
respectTSPaths: z.boolean().default(true),
|
|
72
|
+
}).default({}),
|
|
73
|
+
}).default({}),
|
|
74
|
+
tree: z.object({
|
|
75
|
+
enabled: z.boolean().default(true),
|
|
76
|
+
embedFiles: z.boolean().default(true),
|
|
77
|
+
repoMapMaxDepth: z.number().int().min(1).max(100).default(10),
|
|
78
|
+
repoMapMaxSymbols: z.number().int().min(1).max(100).default(10),
|
|
79
|
+
retrievalBudgetTokens: z.number().int().min(100).max(50_000).default(3000),
|
|
80
|
+
staleAfterMs: z.number().int().min(1000).max(24 * 60 * 60 * 1000).default(120000),
|
|
81
|
+
}).default({}),
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Notes full-text search configuration schema.
|
|
85
|
+
*/
|
|
86
|
+
export const notesFtsConfigSchema = z.object({
|
|
87
|
+
enabled: z.boolean().default(true),
|
|
88
|
+
stem: z.boolean().default(true),
|
|
89
|
+
language: z.string().default('English'),
|
|
90
|
+
withPosition: z.boolean().default(true),
|
|
91
|
+
removeStopWords: z.boolean().default(true),
|
|
92
|
+
baseTokenizer: z.enum(['raw', 'simple', 'whitespace', 'ngram']).default('simple'),
|
|
93
|
+
lowercase: z.boolean().optional(),
|
|
94
|
+
asciiFolding: z.boolean().optional(),
|
|
95
|
+
maxTokenLength: z.number().int().positive().optional(),
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* Code full-text search configuration schema.
|
|
99
|
+
*/
|
|
100
|
+
export const codeFtsConfigSchema = z.object({
|
|
101
|
+
enabled: z.boolean().default(true),
|
|
102
|
+
stem: z.boolean().default(false),
|
|
103
|
+
withPosition: z.boolean().default(false),
|
|
104
|
+
removeStopWords: z.boolean().default(false),
|
|
105
|
+
baseTokenizer: z.enum(['raw', 'simple', 'whitespace', 'ngram']).default('ngram'),
|
|
106
|
+
ngramMinLength: z.number().int().positive().optional(),
|
|
107
|
+
ngramMaxLength: z.number().int().positive().optional(),
|
|
108
|
+
prefixOnly: z.boolean().optional(),
|
|
109
|
+
normalizeIdentifiers: z.boolean().default(true),
|
|
110
|
+
});
|
|
111
|
+
/**
|
|
112
|
+
* Git sync configuration schema.
|
|
113
|
+
*/
|
|
114
|
+
export const gitSyncConfigSchema = z.object({
|
|
115
|
+
enabled: z.boolean().default(true),
|
|
116
|
+
autoSyncOnStartup: z.boolean().default(true),
|
|
117
|
+
});
|
|
118
|
+
/**
|
|
119
|
+
* LanceDB configuration schema.
|
|
120
|
+
*/
|
|
121
|
+
export const lancedbConfigSchema = z.object({
|
|
122
|
+
dbPath: z.string(),
|
|
123
|
+
storageOptions: z.record(z.string()).optional(),
|
|
124
|
+
});
|
|
125
|
+
/**
|
|
126
|
+
* Main config schema.
|
|
127
|
+
* This is what gets saved to grepmind.json.
|
|
128
|
+
*/
|
|
129
|
+
export const RAGConfigSchema = z.object({
|
|
130
|
+
name: z.string().optional(),
|
|
131
|
+
vaultPaths: z.array(z.string()).default(['./vault']),
|
|
132
|
+
lancedb: lancedbConfigSchema,
|
|
133
|
+
embedding: embeddingConfigSchema.default({}),
|
|
134
|
+
reranking: rerankingConfigSchema.default({}),
|
|
135
|
+
code: codeConfigSchema.default({}),
|
|
136
|
+
notesFts: notesFtsConfigSchema.default({}),
|
|
137
|
+
codeFts: codeFtsConfigSchema.default({}),
|
|
138
|
+
gitSync: gitSyncConfigSchema.default({}),
|
|
139
|
+
});
|
|
140
|
+
/**
|
|
141
|
+
* Breaking release: no legacy config shape support.
|
|
142
|
+
*/
|
|
143
|
+
export const RAGConfigSchemaWithLegacy = RAGConfigSchema;
|
|
144
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets handling utilities.
|
|
3
|
+
*
|
|
4
|
+
* Secrets are passed at runtime:
|
|
5
|
+
* - MCP: via environment variables
|
|
6
|
+
* - API: via HTTP headers from frontend
|
|
7
|
+
*/
|
|
8
|
+
import type { RAGConfig, Secrets, RuntimeConfig } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Environment variable names for secrets.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ENV_VOYAGE_API_KEY = "VOYAGE_API_KEY";
|
|
13
|
+
export declare const ENV_LOCALAI_API_KEY = "LOCALAI_API_KEY";
|
|
14
|
+
export declare const ENV_OLLAMA_BASE_URL = "OLLAMA_BASE_URL";
|
|
15
|
+
export declare const ENV_S3_ACCESS_KEY_ID = "S3_ACCESS_KEY_ID";
|
|
16
|
+
export declare const ENV_S3_SECRET_ACCESS_KEY = "S3_SECRET_ACCESS_KEY";
|
|
17
|
+
export declare const ENV_S3_SESSION_TOKEN = "S3_SESSION_TOKEN";
|
|
18
|
+
export declare const ENV_S3_REGION = "S3_REGION";
|
|
19
|
+
export declare const ENV_S3_ENDPOINT = "S3_ENDPOINT";
|
|
20
|
+
export declare const ENV_AWS_ACCESS_KEY_ID = "AWS_ACCESS_KEY_ID";
|
|
21
|
+
export declare const ENV_AWS_SECRET_ACCESS_KEY = "AWS_SECRET_ACCESS_KEY";
|
|
22
|
+
export declare const ENV_AWS_SESSION_TOKEN = "AWS_SESSION_TOKEN";
|
|
23
|
+
export declare const ENV_AWS_REGION = "AWS_REGION";
|
|
24
|
+
/**
|
|
25
|
+
* HTTP header names for secrets.
|
|
26
|
+
*/
|
|
27
|
+
export declare const HEADER_VOYAGE_API_KEY = "x-voyage-api-key";
|
|
28
|
+
export declare const HEADER_LOCALAI_API_KEY = "x-localai-api-key";
|
|
29
|
+
export declare const HEADER_OLLAMA_BASE_URL = "x-ollama-base-url";
|
|
30
|
+
export declare const HEADER_S3_ACCESS_KEY_ID = "x-s3-access-key-id";
|
|
31
|
+
export declare const HEADER_S3_SECRET_ACCESS_KEY = "x-s3-secret-access-key";
|
|
32
|
+
export declare const HEADER_S3_SESSION_TOKEN = "x-s3-session-token";
|
|
33
|
+
export declare const HEADER_S3_REGION = "x-s3-region";
|
|
34
|
+
export declare const HEADER_S3_ENDPOINT = "x-s3-endpoint";
|
|
35
|
+
/**
|
|
36
|
+
* Load secrets from environment variables.
|
|
37
|
+
* Used by MCP server.
|
|
38
|
+
*
|
|
39
|
+
* @returns Secrets loaded from environment
|
|
40
|
+
*/
|
|
41
|
+
export declare function loadSecretsFromEnv(): Secrets;
|
|
42
|
+
/**
|
|
43
|
+
* Load secrets from HTTP headers.
|
|
44
|
+
* Used by API server.
|
|
45
|
+
*
|
|
46
|
+
* @param headers - HTTP headers object
|
|
47
|
+
* @returns Secrets extracted from headers
|
|
48
|
+
*/
|
|
49
|
+
export declare function loadSecretsFromHeaders(headers: Record<string, string | string[] | undefined>): Secrets;
|
|
50
|
+
/**
|
|
51
|
+
* Create runtime config by combining file config with secrets.
|
|
52
|
+
*
|
|
53
|
+
* @param config - File-based config
|
|
54
|
+
* @param secrets - Runtime secrets
|
|
55
|
+
* @param projectPath - Absolute path to project directory
|
|
56
|
+
* @returns Complete runtime configuration
|
|
57
|
+
*/
|
|
58
|
+
export declare function createRuntimeConfig(config: RAGConfig, secrets: Secrets, projectPath: string): RuntimeConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Check if required secrets are present for the configured provider.
|
|
61
|
+
*
|
|
62
|
+
* @param config - RAG configuration
|
|
63
|
+
* @param secrets - Runtime secrets
|
|
64
|
+
* @returns Error message if secrets are missing, null otherwise
|
|
65
|
+
*/
|
|
66
|
+
export declare function validateSecrets(config: RAGConfig, secrets: Secrets): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* Merge multiple secrets sources.
|
|
69
|
+
* Later sources override earlier ones.
|
|
70
|
+
*
|
|
71
|
+
* @param sources - Secrets sources to merge
|
|
72
|
+
* @returns Merged secrets
|
|
73
|
+
*/
|
|
74
|
+
export declare function mergeSecrets(...sources: Secrets[]): Secrets;
|
|
75
|
+
//# sourceMappingURL=secrets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,yBAAyB,0BAA0B,CAAC;AACjE,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,sBAAsB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AACpE,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAW5C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAiBtG;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,GAClB,aAAa,CAMf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQlF;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CA+B3D"}
|
package/dist/secrets.js
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Secrets handling utilities.
|
|
3
|
+
*
|
|
4
|
+
* Secrets are passed at runtime:
|
|
5
|
+
* - MCP: via environment variables
|
|
6
|
+
* - API: via HTTP headers from frontend
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Environment variable names for secrets.
|
|
10
|
+
*/
|
|
11
|
+
export const ENV_VOYAGE_API_KEY = 'VOYAGE_API_KEY';
|
|
12
|
+
export const ENV_LOCALAI_API_KEY = 'LOCALAI_API_KEY';
|
|
13
|
+
export const ENV_OLLAMA_BASE_URL = 'OLLAMA_BASE_URL';
|
|
14
|
+
export const ENV_S3_ACCESS_KEY_ID = 'S3_ACCESS_KEY_ID';
|
|
15
|
+
export const ENV_S3_SECRET_ACCESS_KEY = 'S3_SECRET_ACCESS_KEY';
|
|
16
|
+
export const ENV_S3_SESSION_TOKEN = 'S3_SESSION_TOKEN';
|
|
17
|
+
export const ENV_S3_REGION = 'S3_REGION';
|
|
18
|
+
export const ENV_S3_ENDPOINT = 'S3_ENDPOINT';
|
|
19
|
+
export const ENV_AWS_ACCESS_KEY_ID = 'AWS_ACCESS_KEY_ID';
|
|
20
|
+
export const ENV_AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY';
|
|
21
|
+
export const ENV_AWS_SESSION_TOKEN = 'AWS_SESSION_TOKEN';
|
|
22
|
+
export const ENV_AWS_REGION = 'AWS_REGION';
|
|
23
|
+
/**
|
|
24
|
+
* HTTP header names for secrets.
|
|
25
|
+
*/
|
|
26
|
+
export const HEADER_VOYAGE_API_KEY = 'x-voyage-api-key';
|
|
27
|
+
export const HEADER_LOCALAI_API_KEY = 'x-localai-api-key';
|
|
28
|
+
export const HEADER_OLLAMA_BASE_URL = 'x-ollama-base-url';
|
|
29
|
+
export const HEADER_S3_ACCESS_KEY_ID = 'x-s3-access-key-id';
|
|
30
|
+
export const HEADER_S3_SECRET_ACCESS_KEY = 'x-s3-secret-access-key';
|
|
31
|
+
export const HEADER_S3_SESSION_TOKEN = 'x-s3-session-token';
|
|
32
|
+
export const HEADER_S3_REGION = 'x-s3-region';
|
|
33
|
+
export const HEADER_S3_ENDPOINT = 'x-s3-endpoint';
|
|
34
|
+
/**
|
|
35
|
+
* Load secrets from environment variables.
|
|
36
|
+
* Used by MCP server.
|
|
37
|
+
*
|
|
38
|
+
* @returns Secrets loaded from environment
|
|
39
|
+
*/
|
|
40
|
+
export function loadSecretsFromEnv() {
|
|
41
|
+
return {
|
|
42
|
+
voyageApiKey: process.env[ENV_VOYAGE_API_KEY],
|
|
43
|
+
localaiApiKey: process.env[ENV_LOCALAI_API_KEY],
|
|
44
|
+
ollamaBaseUrl: process.env[ENV_OLLAMA_BASE_URL],
|
|
45
|
+
s3AccessKeyId: process.env[ENV_S3_ACCESS_KEY_ID] || process.env[ENV_AWS_ACCESS_KEY_ID],
|
|
46
|
+
s3SecretAccessKey: process.env[ENV_S3_SECRET_ACCESS_KEY] || process.env[ENV_AWS_SECRET_ACCESS_KEY],
|
|
47
|
+
s3SessionToken: process.env[ENV_S3_SESSION_TOKEN] || process.env[ENV_AWS_SESSION_TOKEN],
|
|
48
|
+
s3Region: process.env[ENV_S3_REGION] || process.env[ENV_AWS_REGION],
|
|
49
|
+
s3Endpoint: process.env[ENV_S3_ENDPOINT],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Load secrets from HTTP headers.
|
|
54
|
+
* Used by API server.
|
|
55
|
+
*
|
|
56
|
+
* @param headers - HTTP headers object
|
|
57
|
+
* @returns Secrets extracted from headers
|
|
58
|
+
*/
|
|
59
|
+
export function loadSecretsFromHeaders(headers) {
|
|
60
|
+
const getHeader = (name) => {
|
|
61
|
+
const value = headers[name];
|
|
62
|
+
if (Array.isArray(value))
|
|
63
|
+
return value[0];
|
|
64
|
+
return value;
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
voyageApiKey: getHeader(HEADER_VOYAGE_API_KEY),
|
|
68
|
+
localaiApiKey: getHeader(HEADER_LOCALAI_API_KEY),
|
|
69
|
+
ollamaBaseUrl: getHeader(HEADER_OLLAMA_BASE_URL),
|
|
70
|
+
s3AccessKeyId: getHeader(HEADER_S3_ACCESS_KEY_ID),
|
|
71
|
+
s3SecretAccessKey: getHeader(HEADER_S3_SECRET_ACCESS_KEY),
|
|
72
|
+
s3SessionToken: getHeader(HEADER_S3_SESSION_TOKEN),
|
|
73
|
+
s3Region: getHeader(HEADER_S3_REGION),
|
|
74
|
+
s3Endpoint: getHeader(HEADER_S3_ENDPOINT),
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Create runtime config by combining file config with secrets.
|
|
79
|
+
*
|
|
80
|
+
* @param config - File-based config
|
|
81
|
+
* @param secrets - Runtime secrets
|
|
82
|
+
* @param projectPath - Absolute path to project directory
|
|
83
|
+
* @returns Complete runtime configuration
|
|
84
|
+
*/
|
|
85
|
+
export function createRuntimeConfig(config, secrets, projectPath) {
|
|
86
|
+
return {
|
|
87
|
+
...config,
|
|
88
|
+
secrets,
|
|
89
|
+
projectPath,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if required secrets are present for the configured provider.
|
|
94
|
+
*
|
|
95
|
+
* @param config - RAG configuration
|
|
96
|
+
* @param secrets - Runtime secrets
|
|
97
|
+
* @returns Error message if secrets are missing, null otherwise
|
|
98
|
+
*/
|
|
99
|
+
export function validateSecrets(config, secrets) {
|
|
100
|
+
if (config.embedding.provider === 'voyage' && !secrets.voyageApiKey) {
|
|
101
|
+
return 'Voyage API key is required for Voyage embedding provider';
|
|
102
|
+
}
|
|
103
|
+
if (config.reranking.enabled && config.reranking.provider === 'voyage' && !secrets.voyageApiKey) {
|
|
104
|
+
return 'Voyage API key is required for Voyage reranking provider';
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Merge multiple secrets sources.
|
|
110
|
+
* Later sources override earlier ones.
|
|
111
|
+
*
|
|
112
|
+
* @param sources - Secrets sources to merge
|
|
113
|
+
* @returns Merged secrets
|
|
114
|
+
*/
|
|
115
|
+
export function mergeSecrets(...sources) {
|
|
116
|
+
const result = {};
|
|
117
|
+
for (const source of sources) {
|
|
118
|
+
if (source.voyageApiKey) {
|
|
119
|
+
result.voyageApiKey = source.voyageApiKey;
|
|
120
|
+
}
|
|
121
|
+
if (source.localaiApiKey) {
|
|
122
|
+
result.localaiApiKey = source.localaiApiKey;
|
|
123
|
+
}
|
|
124
|
+
if (source.ollamaBaseUrl) {
|
|
125
|
+
result.ollamaBaseUrl = source.ollamaBaseUrl;
|
|
126
|
+
}
|
|
127
|
+
if (source.s3AccessKeyId) {
|
|
128
|
+
result.s3AccessKeyId = source.s3AccessKeyId;
|
|
129
|
+
}
|
|
130
|
+
if (source.s3SecretAccessKey) {
|
|
131
|
+
result.s3SecretAccessKey = source.s3SecretAccessKey;
|
|
132
|
+
}
|
|
133
|
+
if (source.s3SessionToken) {
|
|
134
|
+
result.s3SessionToken = source.s3SessionToken;
|
|
135
|
+
}
|
|
136
|
+
if (source.s3Region) {
|
|
137
|
+
result.s3Region = source.s3Region;
|
|
138
|
+
}
|
|
139
|
+
if (source.s3Endpoint) {
|
|
140
|
+
result.s3Endpoint = source.s3Endpoint;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=secrets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for RAG configuration.
|
|
3
|
+
*/
|
|
4
|
+
import type { z } from 'zod';
|
|
5
|
+
import type { RAGConfigSchema, embeddingConfigSchema, rerankingConfigSchema, codeConfigSchema, notesFtsConfigSchema, codeFtsConfigSchema, gitSyncConfigSchema, lancedbConfigSchema } from './schema.js';
|
|
6
|
+
/**
|
|
7
|
+
* Embedding configuration (no secrets).
|
|
8
|
+
*/
|
|
9
|
+
export type EmbeddingConfig = z.infer<typeof embeddingConfigSchema>;
|
|
10
|
+
/**
|
|
11
|
+
* Reranking configuration (no secrets).
|
|
12
|
+
*/
|
|
13
|
+
export type RerankingConfig = z.infer<typeof rerankingConfigSchema>;
|
|
14
|
+
/**
|
|
15
|
+
* Code indexing configuration.
|
|
16
|
+
*/
|
|
17
|
+
export type CodeConfig = z.infer<typeof codeConfigSchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Notes FTS configuration.
|
|
20
|
+
*/
|
|
21
|
+
export type NotesFtsConfig = z.infer<typeof notesFtsConfigSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* Code FTS configuration.
|
|
24
|
+
*/
|
|
25
|
+
export type CodeFtsConfig = z.infer<typeof codeFtsConfigSchema>;
|
|
26
|
+
/**
|
|
27
|
+
* Git sync configuration.
|
|
28
|
+
*/
|
|
29
|
+
export type GitSyncConfig = z.infer<typeof gitSyncConfigSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* LanceDB configuration.
|
|
32
|
+
*/
|
|
33
|
+
export type LanceDBConfig = z.infer<typeof lancedbConfigSchema>;
|
|
34
|
+
/**
|
|
35
|
+
* Project configuration (stored in grepmind.json).
|
|
36
|
+
* This is the file-based configuration without any secrets.
|
|
37
|
+
*/
|
|
38
|
+
export type RAGConfig = z.infer<typeof RAGConfigSchema>;
|
|
39
|
+
/**
|
|
40
|
+
* Embedding provider type.
|
|
41
|
+
*/
|
|
42
|
+
export type EmbeddingProvider = 'wasm' | 'voyage' | 'ollama' | 'localai';
|
|
43
|
+
/**
|
|
44
|
+
* Reranking provider type.
|
|
45
|
+
*/
|
|
46
|
+
export type RerankingProvider = 'none' | 'wasm' | 'voyage' | 'localai';
|
|
47
|
+
/**
|
|
48
|
+
* Secrets that are passed at runtime.
|
|
49
|
+
* - In MCP: loaded from environment variables
|
|
50
|
+
* - In API: passed via HTTP headers from frontend
|
|
51
|
+
*/
|
|
52
|
+
export interface Secrets {
|
|
53
|
+
voyageApiKey?: string;
|
|
54
|
+
localaiApiKey?: string;
|
|
55
|
+
ollamaBaseUrl?: string;
|
|
56
|
+
s3AccessKeyId?: string;
|
|
57
|
+
s3SecretAccessKey?: string;
|
|
58
|
+
s3SessionToken?: string;
|
|
59
|
+
s3Region?: string;
|
|
60
|
+
s3Endpoint?: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Runtime configuration that combines file config with secrets.
|
|
64
|
+
* This is what gets used by the indexer and other services.
|
|
65
|
+
*/
|
|
66
|
+
export interface RuntimeConfig extends RAGConfig {
|
|
67
|
+
secrets: Secrets;
|
|
68
|
+
projectPath: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Options for creating a new project.
|
|
72
|
+
*/
|
|
73
|
+
export interface CreateProjectOptions {
|
|
74
|
+
name?: string;
|
|
75
|
+
vaultPaths?: string[];
|
|
76
|
+
lancedb?: Partial<LanceDBConfig>;
|
|
77
|
+
embedding?: Partial<EmbeddingConfig>;
|
|
78
|
+
reranking?: Partial<RerankingConfig>;
|
|
79
|
+
code?: Partial<CodeConfig>;
|
|
80
|
+
notesFts?: Partial<NotesFtsConfig>;
|
|
81
|
+
codeFts?: Partial<CodeFtsConfig>;
|
|
82
|
+
gitSync?: Partial<GitSyncConfig>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEvE;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "grepmind-config",
|
|
3
|
+
"version": "0.1.0-alpha",
|
|
4
|
+
"description": "Unified config package for RAG project configuration",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"CLAUDE.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"license": "Apache-2.0",
|
|
21
|
+
"author": "Zaytra",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/zaytra/rag.git",
|
|
25
|
+
"directory": "packages/config"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"dev": "tsc --watch",
|
|
30
|
+
"clean": "rm -rf dist"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"zod": "^3.23.0"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@types/node": "^20.10.0",
|
|
37
|
+
"typescript": "^5.3.0"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=18.0.0"
|
|
41
|
+
}
|
|
42
|
+
}
|