tea-rags 1.2.1 → 1.3.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.
- package/LICENSE +2 -2
- package/build/core/adapters/qdrant/client.d.ts.map +1 -1
- package/build/core/adapters/qdrant/client.js +3 -1
- package/build/core/adapters/qdrant/client.js.map +1 -1
- package/build/core/api/internal/facades/explore-facade.d.ts.map +1 -1
- package/build/core/api/internal/facades/explore-facade.js +2 -2
- package/build/core/api/internal/facades/explore-facade.js.map +1 -1
- package/build/core/api/internal/infra/schema-builder.d.ts +8 -6
- package/build/core/api/internal/infra/schema-builder.d.ts.map +1 -1
- package/build/core/api/internal/infra/schema-builder.js +12 -6
- package/build/core/api/internal/infra/schema-builder.js.map +1 -1
- package/build/core/api/public/app.d.ts.map +1 -1
- package/build/core/api/public/app.js +3 -0
- package/build/core/api/public/app.js.map +1 -1
- package/build/core/api/public/dto/explore.d.ts +12 -5
- package/build/core/api/public/dto/explore.d.ts.map +1 -1
- package/build/core/api/public/dto/index.d.ts +1 -1
- package/build/core/api/public/dto/index.d.ts.map +1 -1
- package/build/core/domains/explore/reranker.d.ts +12 -0
- package/build/core/domains/explore/reranker.d.ts.map +1 -1
- package/build/core/domains/explore/reranker.js +17 -0
- package/build/core/domains/explore/reranker.js.map +1 -1
- package/build/core/domains/trajectory/static/filters.d.ts.map +1 -1
- package/build/core/domains/trajectory/static/filters.js +17 -45
- package/build/core/domains/trajectory/static/filters.js.map +1 -1
- package/build/mcp/resources/index.d.ts +7 -0
- package/build/mcp/resources/index.d.ts.map +1 -1
- package/build/mcp/resources/index.js +200 -0
- package/build/mcp/resources/index.js.map +1 -1
- package/build/mcp/tools/code.d.ts.map +1 -1
- package/build/mcp/tools/code.js +14 -28
- package/build/mcp/tools/code.js.map +1 -1
- package/build/mcp/tools/collection.d.ts.map +1 -1
- package/build/mcp/tools/collection.js +4 -0
- package/build/mcp/tools/collection.js.map +1 -1
- package/build/mcp/tools/document.d.ts.map +1 -1
- package/build/mcp/tools/document.js +2 -0
- package/build/mcp/tools/document.js.map +1 -1
- package/build/mcp/tools/explore.d.ts.map +1 -1
- package/build/mcp/tools/explore.js +40 -17
- package/build/mcp/tools/explore.js.map +1 -1
- package/build/mcp/tools/output-schemas.d.ts +204 -0
- package/build/mcp/tools/output-schemas.d.ts.map +1 -0
- package/build/mcp/tools/output-schemas.js +52 -0
- package/build/mcp/tools/output-schemas.js.map +1 -0
- package/build/mcp/tools/schemas.d.ts +13 -19
- package/build/mcp/tools/schemas.d.ts.map +1 -1
- package/build/mcp/tools/schemas.js +47 -76
- package/build/mcp/tools/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -20,7 +20,13 @@ const coerceBoolean = () => z.preprocess((v) => (typeof v === "string" ? v === "
|
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
21
|
export const CreateCollectionSchema = {
|
|
22
22
|
name: z.string().describe("Name of the collection"),
|
|
23
|
-
distance: z
|
|
23
|
+
distance: z
|
|
24
|
+
.enum(["Cosine", "Euclid", "Dot"])
|
|
25
|
+
.optional()
|
|
26
|
+
.describe("Distance metric (default: Cosine). " +
|
|
27
|
+
"Cosine: recommended, works with all embedding providers. " +
|
|
28
|
+
"Dot: equivalent to Cosine for normalized embeddings. " +
|
|
29
|
+
"Euclid: absolute vector distance, rarely needed for text embeddings."),
|
|
24
30
|
enableHybrid: coerceBoolean().optional().describe("Enable hybrid search with sparse vectors (default: false)"),
|
|
25
31
|
};
|
|
26
32
|
export const DeleteCollectionSchema = {
|
|
@@ -75,12 +81,11 @@ export const ClearIndexSchema = {
|
|
|
75
81
|
*/
|
|
76
82
|
function collectionPathFields() {
|
|
77
83
|
return {
|
|
78
|
-
collection: z.string().optional().describe("
|
|
84
|
+
collection: z.string().optional().describe("Collection name. Provide either 'collection' or 'path', not both."),
|
|
79
85
|
path: z
|
|
80
86
|
.string()
|
|
81
87
|
.optional()
|
|
82
|
-
.describe("Path to indexed codebase (
|
|
83
|
-
"Collection name is auto-resolved from path. Required if 'collection' not provided."),
|
|
88
|
+
.describe("Path to indexed codebase (auto-resolves collection name). Provide either 'path' or 'collection', not both."),
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
/**
|
|
@@ -90,44 +95,34 @@ function collectionPathFields() {
|
|
|
90
95
|
function typedFilterFields() {
|
|
91
96
|
return {
|
|
92
97
|
language: z.string().optional().describe("Filter by programming language"),
|
|
93
|
-
fileExtension: z
|
|
98
|
+
fileExtension: z
|
|
99
|
+
.union([z.string(), z.array(z.string())])
|
|
100
|
+
.optional()
|
|
101
|
+
.describe("Filter by file extension(s). Single string (e.g. '.ts') or array (e.g. ['.ts', '.py'])"),
|
|
94
102
|
chunkType: z.string().optional().describe("Filter by chunk type (function, class, interface, block)"),
|
|
95
|
-
|
|
96
|
-
|
|
103
|
+
documentation: z
|
|
104
|
+
.enum(["only", "exclude", "include"])
|
|
105
|
+
.optional()
|
|
106
|
+
.describe("Documentation filter mode. 'only' = documentation chunks only, " +
|
|
107
|
+
"'exclude' = no documentation chunks, 'include' = all chunks (default)."),
|
|
97
108
|
author: z
|
|
98
109
|
.string()
|
|
99
110
|
.optional()
|
|
100
|
-
.describe("Filter by dominant author (the author with most lines in chunk). "
|
|
101
|
-
"Use for: code review, ownership questions, team onboarding, finding expert for code area. " +
|
|
102
|
-
"Example: 'John Doe'"),
|
|
111
|
+
.describe("Filter by dominant author (the author with most lines in chunk). Example: 'John Doe'"),
|
|
103
112
|
modifiedAfter: z
|
|
104
113
|
.string()
|
|
105
114
|
.optional()
|
|
106
|
-
.describe("Filter code modified after this date.
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
.optional()
|
|
111
|
-
.describe("Filter code modified before this date. Use for: finding old code, historical debugging, compliance audits. " +
|
|
112
|
-
"ISO format: '2024-12-31'"),
|
|
113
|
-
minAgeDays: coerceNumber()
|
|
114
|
-
.optional()
|
|
115
|
-
.describe("Filter code older than N days (since last modification). " +
|
|
116
|
-
"Use for: finding legacy/stale code, tech debt assessment, documentation needs, refactoring candidates."),
|
|
117
|
-
maxAgeDays: coerceNumber()
|
|
118
|
-
.optional()
|
|
119
|
-
.describe("Filter code newer than N days (since last modification). " +
|
|
120
|
-
"Use for: recent changes review, sprint work, incident response, release notes."),
|
|
115
|
+
.describe("Filter code modified after this date. ISO format: '2024-01-01' or '2024-01-01T00:00:00Z'"),
|
|
116
|
+
modifiedBefore: z.string().optional().describe("Filter code modified before this date. ISO format: '2024-12-31'"),
|
|
117
|
+
minAgeDays: coerceNumber().optional().describe("Filter code older than N days (since last modification)."),
|
|
118
|
+
maxAgeDays: coerceNumber().optional().describe("Filter code newer than N days (since last modification)."),
|
|
121
119
|
minCommitCount: coerceNumber()
|
|
122
120
|
.optional()
|
|
123
|
-
.describe("Filter by minimum number of commits touching the chunk (churn indicator).
|
|
124
|
-
"High churn = problematic areas, bugs, complex requirements. " +
|
|
125
|
-
"Use for: risk assessment, code quality issues, refactoring priorities."),
|
|
121
|
+
.describe("Filter by minimum number of commits touching the chunk (churn indicator)."),
|
|
126
122
|
taskId: z
|
|
127
123
|
.string()
|
|
128
124
|
.optional()
|
|
129
|
-
.describe("Filter by task/issue ID from commit messages. Supports JIRA (TD-1234), GitHub (#567), Azure DevOps (AB#890).
|
|
130
|
-
"Use for: requirements tracing, impact analysis, audit, compliance, 'what code was written for this ticket?'"),
|
|
125
|
+
.describe("Filter by task/issue ID from commit messages. Supports JIRA (TD-1234), GitHub (#567), Azure DevOps (AB#890)."),
|
|
131
126
|
};
|
|
132
127
|
}
|
|
133
128
|
/**
|
|
@@ -136,21 +131,12 @@ function typedFilterFields() {
|
|
|
136
131
|
function searchCommonFields() {
|
|
137
132
|
return {
|
|
138
133
|
query: z.string().describe("Search query text"),
|
|
139
|
-
limit: coerceNumber().optional().describe("Maximum number of results (default:
|
|
134
|
+
limit: coerceNumber().optional().describe("Maximum number of results (default: 10)"),
|
|
140
135
|
filter: z
|
|
141
136
|
.record(z.any())
|
|
142
137
|
.optional()
|
|
143
138
|
.describe("Qdrant filter object with must/should/must_not conditions. " +
|
|
144
|
-
"
|
|
145
|
-
"relativePath (string), fileExtension (string), language (string), " +
|
|
146
|
-
"startLine (number), endLine (number), chunkIndex (number), " +
|
|
147
|
-
"isDocumentation (boolean), name (string), chunkType (string: function|class|interface|block), " +
|
|
148
|
-
"parentName (string), parentType (string), " +
|
|
149
|
-
"git.dominantAuthor (string), git.authors (string[]), " +
|
|
150
|
-
"git.lastModifiedAt (unix timestamp), git.firstCreatedAt (unix timestamp), " +
|
|
151
|
-
"git.commitCount (number), git.ageDays (number), git.taskIds (string[]), " +
|
|
152
|
-
"imports (string[] - file-level imports for structural signal). " +
|
|
153
|
-
"For generic documents (add_documents): user-defined metadata fields."),
|
|
139
|
+
"See tea-rags://schema/filters for syntax and available fields."),
|
|
154
140
|
pathPattern: z
|
|
155
141
|
.string()
|
|
156
142
|
.optional()
|
|
@@ -168,8 +154,9 @@ function levelField() {
|
|
|
168
154
|
level: z
|
|
169
155
|
.enum(["chunk", "file"])
|
|
170
156
|
.optional()
|
|
171
|
-
.describe("Analysis level. 'chunk'
|
|
172
|
-
"
|
|
157
|
+
.describe("Analysis level. 'chunk' = rank individual code chunks (functions, classes, blocks) — " +
|
|
158
|
+
"use for decomposition candidates, hotspot detection. " +
|
|
159
|
+
"'file' = rank files as aggregated units — use for tech debt and ownership analysis. " +
|
|
173
160
|
"Default: determined by preset signalLevel. Explicit value overrides preset."),
|
|
174
161
|
};
|
|
175
162
|
}
|
|
@@ -183,16 +170,10 @@ export function createSearchSchemas(schemaBuilder) {
|
|
|
183
170
|
...levelField(),
|
|
184
171
|
rerank: semanticSearchRerankSchema
|
|
185
172
|
.optional()
|
|
186
|
-
.describe("Reranking
|
|
187
|
-
"'onboarding' | 'securityAudit' | 'refactoring' | 'ownership' | 'recent' | 'stable' | {custom: weights}. " +
|
|
188
|
-
"relevance=default similarity, techDebt=old+churn, hotspots=churn+recent, " +
|
|
189
|
-
"codeReview=recent, onboarding=docs+stable, securityAudit=old+auth paths, " +
|
|
190
|
-
"refactoring=large+churn, ownership=single author, recent=boost new, stable=boost stable."),
|
|
173
|
+
.describe("Reranking preset or {custom: weights}. See tea-rags://schema/presets for details."),
|
|
191
174
|
metaOnly: coerceBoolean()
|
|
192
175
|
.optional()
|
|
193
|
-
.describe("
|
|
194
|
-
"Use for: file discovery, codebase structure analysis, ownership reports, churn analysis. " +
|
|
195
|
-
"Significantly reduces response size. Default: false."),
|
|
176
|
+
.describe("Return only metadata (path, lines, git info) without content. " + "Reduces response size. Default: false."),
|
|
196
177
|
};
|
|
197
178
|
const HybridSearchSchema = {
|
|
198
179
|
...collectionPathFields(),
|
|
@@ -201,53 +182,38 @@ export function createSearchSchemas(schemaBuilder) {
|
|
|
201
182
|
...levelField(),
|
|
202
183
|
rerank: semanticSearchRerankSchema
|
|
203
184
|
.optional()
|
|
204
|
-
.describe("Reranking
|
|
205
|
-
"'onboarding' | 'securityAudit' | 'refactoring' | 'ownership' | 'recent' | 'stable' | {custom: weights}. " +
|
|
206
|
-
"relevance=default similarity, techDebt=old+churn, hotspots=churn+recent, " +
|
|
207
|
-
"codeReview=recent, onboarding=docs+stable, securityAudit=old+auth paths, " +
|
|
208
|
-
"refactoring=large+churn, ownership=single author, recent=boost new, stable=boost stable."),
|
|
185
|
+
.describe("Reranking preset or {custom: weights}. See tea-rags://schema/presets for details."),
|
|
209
186
|
metaOnly: coerceBoolean()
|
|
210
187
|
.optional()
|
|
211
|
-
.describe("
|
|
212
|
-
"Use for: file discovery, codebase structure analysis, ownership reports, churn analysis. " +
|
|
213
|
-
"Significantly reduces response size. Default: false."),
|
|
188
|
+
.describe("Return only metadata (path, lines, git info) without content. " + "Reduces response size. Default: false."),
|
|
214
189
|
};
|
|
215
190
|
const SearchCodeSchema = {
|
|
216
191
|
path: z.string().describe("Path to codebase (must be indexed first)"),
|
|
217
192
|
query: z.string().describe("Natural language search query (e.g., 'authentication logic')"),
|
|
218
|
-
limit: coerceNumber().optional().describe("Maximum number of results (default:
|
|
193
|
+
limit: coerceNumber().optional().describe("Maximum number of results (default: 10, max: 100)"),
|
|
219
194
|
pathPattern: z
|
|
220
195
|
.string()
|
|
221
196
|
.optional()
|
|
222
197
|
.describe("Glob pattern for filtering by file path (client-side via picomatch). " +
|
|
223
198
|
"Examples: '**/workflow/**', 'src/**/*.ts', '{models,services}/**'."),
|
|
224
199
|
...typedFilterFields(),
|
|
225
|
-
fileTypes: z.array(z.string()).optional().describe("Filter by file extensions (e.g., ['.ts', '.py'])"),
|
|
226
|
-
documentationOnly: coerceBoolean()
|
|
227
|
-
.optional()
|
|
228
|
-
.describe("Search only in documentation files (markdown, READMEs, etc.). " +
|
|
229
|
-
"Default: false (search in all files). Set to true to find information in docs only."),
|
|
230
200
|
rerank: searchCodeRerankSchema
|
|
231
201
|
.optional()
|
|
232
|
-
.describe("Reranking
|
|
233
|
-
"relevance=default similarity, recent=boost recently modified, stable=boost low-churn code."),
|
|
202
|
+
.describe("Reranking preset or {custom: weights}. See tea-rags://schema/presets for details."),
|
|
234
203
|
};
|
|
235
204
|
const rankChunksRerankSchema = schemaBuilder.buildRerankSchema("rank_chunks");
|
|
236
205
|
const RankChunksSchema = {
|
|
237
206
|
...collectionPathFields(),
|
|
238
207
|
...typedFilterFields(),
|
|
239
|
-
rerank: rankChunksRerankSchema.describe("Reranking
|
|
240
|
-
"similarity weight is ignored (no vector search). "
|
|
241
|
-
"Use decomposition for large chunks, techDebt for old+churned, " +
|
|
242
|
-
"hotspots for high-churn, refactoring for large+churned, ownership for single-author."),
|
|
208
|
+
rerank: rankChunksRerankSchema.describe("Reranking preset or {custom: weights} (REQUIRED). " +
|
|
209
|
+
"similarity weight is ignored (no vector search). See tea-rags://schema/presets for details."),
|
|
243
210
|
...levelField(),
|
|
244
211
|
limit: coerceNumber().optional().describe("Maximum number of results (default: 10)"),
|
|
245
212
|
filter: z
|
|
246
213
|
.record(z.any())
|
|
247
214
|
.optional()
|
|
248
215
|
.describe("Qdrant filter object with must/should/must_not conditions. " +
|
|
249
|
-
"
|
|
250
|
-
"git.commitCount, git.ageDays, etc."),
|
|
216
|
+
"See tea-rags://schema/filters for syntax and available fields."),
|
|
251
217
|
pathPattern: z
|
|
252
218
|
.string()
|
|
253
219
|
.optional()
|
|
@@ -263,7 +229,8 @@ export function createSearchSchemas(schemaBuilder) {
|
|
|
263
229
|
metaOnly: coerceBoolean()
|
|
264
230
|
.optional()
|
|
265
231
|
.default(true)
|
|
266
|
-
.describe("Return only metadata (path, lines, git info) without content.
|
|
232
|
+
.describe("Return only metadata (path, lines, git info) without content. " +
|
|
233
|
+
"Default: true (rank_chunks is analytics-oriented; use false to include code content)."),
|
|
267
234
|
};
|
|
268
235
|
const findSimilarRerankSchema = schemaBuilder.buildRerankSchema("find_similar");
|
|
269
236
|
const FindSimilarSchema = {
|
|
@@ -279,12 +246,16 @@ export function createSearchSchemas(schemaBuilder) {
|
|
|
279
246
|
.describe("Recommend strategy. best_score (default): scores each candidate against every example, " +
|
|
280
247
|
"supports negative-only. average_vector: averages all positive vectors, fastest. " +
|
|
281
248
|
"sum_scores: sums scores across examples, middle ground."),
|
|
282
|
-
filter: z
|
|
249
|
+
filter: z
|
|
250
|
+
.record(z.any())
|
|
251
|
+
.optional()
|
|
252
|
+
.describe("Qdrant filter object with must/should/must_not conditions. " +
|
|
253
|
+
"See tea-rags://schema/filters for syntax and available fields."),
|
|
283
254
|
pathPattern: z.string().optional().describe("Glob pattern for filtering by file path (e.g. 'src/**/*.ts')"),
|
|
284
255
|
fileExtensions: z.array(z.string()).optional().describe("Filter by file extensions (e.g. ['.ts', '.js'])"),
|
|
285
256
|
rerank: findSimilarRerankSchema
|
|
286
257
|
.optional()
|
|
287
|
-
.describe("Reranking
|
|
258
|
+
.describe("Reranking preset or {custom: weights}. See tea-rags://schema/presets for details."),
|
|
288
259
|
limit: coerceNumber().optional().describe("Maximum number of results (default: 10)"),
|
|
289
260
|
offset: coerceNumber().optional().describe("Offset for pagination (default: 0)"),
|
|
290
261
|
metaOnly: coerceBoolean().optional().describe("Return only metadata without content (default: false)"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/mcp/tools/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,mFAAmF;AACnF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpG,0FAA0F;AAC1F,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEzG,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACnD,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/mcp/tools/schemas.ts"],"names":[],"mappings":"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"}
|