@jcode.labs/ragmir 2.9.2 → 2.10.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 (61) hide show
  1. package/README.md +127 -44
  2. package/dist/access-log.d.ts +9 -1
  3. package/dist/access-log.d.ts.map +1 -1
  4. package/dist/access-log.js +82 -3
  5. package/dist/access-log.js.map +1 -1
  6. package/dist/chunking.d.ts +1 -0
  7. package/dist/chunking.d.ts.map +1 -1
  8. package/dist/chunking.js +58 -31
  9. package/dist/chunking.js.map +1 -1
  10. package/dist/cli.js +3 -0
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +16 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/defaults.d.ts.map +1 -1
  16. package/dist/defaults.js +1 -0
  17. package/dist/defaults.js.map +1 -1
  18. package/dist/document-structure.d.ts +13 -0
  19. package/dist/document-structure.d.ts.map +1 -0
  20. package/dist/document-structure.js +331 -0
  21. package/dist/document-structure.js.map +1 -0
  22. package/dist/index-diagnostics.d.ts +1 -1
  23. package/dist/index-diagnostics.js +1 -1
  24. package/dist/index-policy.js +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/ingest.d.ts.map +1 -1
  30. package/dist/ingest.js +3 -2
  31. package/dist/ingest.js.map +1 -1
  32. package/dist/mcp-output.d.ts +60 -0
  33. package/dist/mcp-output.d.ts.map +1 -0
  34. package/dist/mcp-output.js +270 -0
  35. package/dist/mcp-output.js.map +1 -0
  36. package/dist/mcp.d.ts.map +1 -1
  37. package/dist/mcp.js +101 -14
  38. package/dist/mcp.js.map +1 -1
  39. package/dist/query.d.ts +2 -1
  40. package/dist/query.d.ts.map +1 -1
  41. package/dist/query.js +132 -8
  42. package/dist/query.js.map +1 -1
  43. package/dist/research.d.ts.map +1 -1
  44. package/dist/research.js +3 -0
  45. package/dist/research.js.map +1 -1
  46. package/dist/security.d.ts.map +1 -1
  47. package/dist/security.js +1 -0
  48. package/dist/security.js.map +1 -1
  49. package/dist/store.js +2 -2
  50. package/dist/store.js.map +1 -1
  51. package/dist/types.d.ts +31 -0
  52. package/dist/types.d.ts.map +1 -1
  53. package/dist/version.d.ts +1 -1
  54. package/dist/version.d.ts.map +1 -1
  55. package/dist/version.js +1 -1
  56. package/dist/version.js.map +1 -1
  57. package/examples/document-evidence-benchmark/README.md +71 -17
  58. package/examples/library-api-demo/README.md +69 -24
  59. package/examples/sovereign-rag-demo/README.md +90 -46
  60. package/package.json +3 -3
  61. package/skills/ragmir/SKILL.md +6 -0
@@ -0,0 +1,270 @@
1
+ export const MIN_MCP_OUTPUT_BYTES = 1_024;
2
+ export function resolveMcpOutputBudget(configured, requested) {
3
+ const configuredBudget = Math.max(MIN_MCP_OUTPUT_BYTES, Math.floor(configured));
4
+ if (requested === undefined) {
5
+ return configuredBudget;
6
+ }
7
+ return Math.max(MIN_MCP_OUTPUT_BYTES, Math.min(configuredBudget, Math.floor(requested)));
8
+ }
9
+ export function budgetMcpJson(options) {
10
+ const budgetBytes = Math.max(MIN_MCP_OUTPUT_BYTES, Math.floor(options.maxBytes));
11
+ const retrievedBytes = jsonBytes(options.fullValue);
12
+ let value = options.preferredValue;
13
+ let compacted = options.compacted;
14
+ if (jsonBytes(value) > budgetBytes &&
15
+ options.compactValue !== undefined &&
16
+ jsonBytes(options.compactValue) < jsonBytes(value)) {
17
+ value = options.compactValue;
18
+ compacted = true;
19
+ }
20
+ const reduced = options.reduce(value, budgetBytes);
21
+ const text = serializeJson(reduced.value);
22
+ const returnedBytes = Buffer.byteLength(text, "utf8");
23
+ if (returnedBytes > budgetBytes) {
24
+ throw new Error(`MCP output reducer returned ${returnedBytes} bytes for a ${budgetBytes}-byte budget.`);
25
+ }
26
+ const metadata = {
27
+ tool: options.tool,
28
+ budgetBytes,
29
+ retrievedBytes,
30
+ returnedBytes,
31
+ compacted,
32
+ truncated: reduced.truncated,
33
+ omittedItems: reduced.omittedItems,
34
+ expandTool: "ragmir_expand",
35
+ };
36
+ return {
37
+ result: {
38
+ content: [{ type: "text", text }],
39
+ _meta: { "ragmir/output": metadata },
40
+ },
41
+ metadata,
42
+ };
43
+ }
44
+ export function fitSearchPayload(value, maxBytes) {
45
+ if (jsonBytes(value) <= maxBytes) {
46
+ return { value, omittedItems: 0, truncated: false };
47
+ }
48
+ for (let length = value.length - 1; length >= 0; length -= 1) {
49
+ const candidate = value.slice(0, length);
50
+ if (jsonBytes(candidate) <= maxBytes) {
51
+ return {
52
+ value: candidate,
53
+ omittedItems: value.length - candidate.length,
54
+ truncated: true,
55
+ };
56
+ }
57
+ }
58
+ return { value: [], omittedItems: value.length, truncated: value.length > 0 };
59
+ }
60
+ export function fitAskPayload(value, maxBytes) {
61
+ if (jsonBytes(value) <= maxBytes) {
62
+ return { value, omittedItems: 0, truncated: false };
63
+ }
64
+ for (let length = value.sources.length - 1; length >= 0; length -= 1) {
65
+ const candidate = { ...value, sources: value.sources.slice(0, length) };
66
+ if (jsonBytes(candidate) <= maxBytes) {
67
+ return {
68
+ value: candidate,
69
+ omittedItems: value.sources.length - candidate.sources.length,
70
+ truncated: true,
71
+ };
72
+ }
73
+ }
74
+ const minimal = {
75
+ answer: "Retrieval output exceeded the active MCP byte budget.",
76
+ sources: [],
77
+ staleWarning: null,
78
+ };
79
+ return {
80
+ value: minimal,
81
+ omittedItems: value.sources.length,
82
+ truncated: true,
83
+ };
84
+ }
85
+ export function fitResearchPayload(value, maxBytes) {
86
+ if (jsonBytes(value) <= maxBytes) {
87
+ return { value, omittedItems: 0, truncated: false };
88
+ }
89
+ const candidate = cloneResearchPayload(value);
90
+ let omittedItems = 0;
91
+ while (jsonBytes(candidate) > maxBytes && removeResearchDetail(candidate)) {
92
+ omittedItems += 1;
93
+ }
94
+ if (jsonBytes(candidate) <= maxBytes) {
95
+ return { value: candidate, omittedItems, truncated: true };
96
+ }
97
+ const minimal = {
98
+ query: compactString(candidate.query, 80),
99
+ generatedQueries: [],
100
+ ready: candidate.ready,
101
+ audit: candidate.audit,
102
+ securityWarnings: [],
103
+ sourceDiagnostics: {
104
+ duplicateCandidates: [],
105
+ archiveCandidates: [],
106
+ mirrorCandidates: [],
107
+ },
108
+ evidence: [],
109
+ codeEvidence: [],
110
+ gaps: [],
111
+ nextSteps: [],
112
+ };
113
+ return { value: minimal, omittedItems: omittedItems + 1, truncated: true };
114
+ }
115
+ export function fitExpandedCitation(value, maxBytes) {
116
+ if (jsonBytes(value) <= maxBytes) {
117
+ return { value, omittedItems: 0, truncated: false };
118
+ }
119
+ const prioritized = [...value.passages].sort((left, right) => Math.abs(left.chunkIndex - value.chunkIndex) -
120
+ Math.abs(right.chunkIndex - value.chunkIndex) || left.chunkIndex - right.chunkIndex);
121
+ const baseValue = fitExpandedMetadata(value, maxBytes);
122
+ const metadataTruncated = baseValue.requestedCitation !== value.requestedCitation ||
123
+ baseValue.relativePath !== value.relativePath;
124
+ const target = prioritized.find((passage) => passage.chunkIndex === value.chunkIndex);
125
+ let passages = [];
126
+ if (target) {
127
+ const targetOnly = { ...baseValue, passages: [target] };
128
+ if (jsonBytes(targetOnly) <= maxBytes) {
129
+ passages = [target];
130
+ }
131
+ else {
132
+ const fittedTarget = fitExpandedTarget(baseValue, target, maxBytes);
133
+ if (!fittedTarget) {
134
+ return {
135
+ value: baseValue,
136
+ omittedItems: value.passages.length,
137
+ truncated: true,
138
+ };
139
+ }
140
+ passages = fittedTarget.passages;
141
+ }
142
+ }
143
+ for (const passage of prioritized.filter((candidate) => candidate !== target)) {
144
+ const candidate = {
145
+ ...baseValue,
146
+ passages: [...passages, passage].sort((left, right) => left.chunkIndex - right.chunkIndex),
147
+ };
148
+ if (jsonBytes(candidate) <= maxBytes) {
149
+ passages.push(passage);
150
+ }
151
+ }
152
+ if (passages.length > 0) {
153
+ return {
154
+ value: {
155
+ ...baseValue,
156
+ passages: passages.sort((left, right) => left.chunkIndex - right.chunkIndex),
157
+ },
158
+ omittedItems: value.passages.length - passages.length,
159
+ truncated: true,
160
+ };
161
+ }
162
+ return {
163
+ value: baseValue,
164
+ omittedItems: value.passages.length,
165
+ truncated: value.passages.length > 0 || metadataTruncated,
166
+ };
167
+ }
168
+ function cloneResearchPayload(value) {
169
+ return {
170
+ ...value,
171
+ generatedQueries: [...value.generatedQueries],
172
+ securityWarnings: [...value.securityWarnings],
173
+ sourceDiagnostics: {
174
+ duplicateCandidates: [...value.sourceDiagnostics.duplicateCandidates],
175
+ archiveCandidates: [...value.sourceDiagnostics.archiveCandidates],
176
+ mirrorCandidates: [...value.sourceDiagnostics.mirrorCandidates],
177
+ },
178
+ evidence: [...value.evidence],
179
+ codeEvidence: [...value.codeEvidence],
180
+ gaps: [...value.gaps],
181
+ nextSteps: [...value.nextSteps],
182
+ };
183
+ }
184
+ function removeResearchDetail(value) {
185
+ const arrays = [
186
+ value.sourceDiagnostics.duplicateCandidates,
187
+ value.sourceDiagnostics.archiveCandidates,
188
+ value.sourceDiagnostics.mirrorCandidates,
189
+ value.codeEvidence,
190
+ value.evidence,
191
+ value.generatedQueries,
192
+ value.securityWarnings,
193
+ value.gaps,
194
+ value.nextSteps,
195
+ ];
196
+ const largest = arrays.reduce((current, items) => (items.length > (current?.length ?? 0) ? items : current), null);
197
+ if (!largest || largest.length === 0) {
198
+ return false;
199
+ }
200
+ largest.pop();
201
+ return true;
202
+ }
203
+ function fitExpandedTarget(value, target, maxBytes) {
204
+ const characters = [...target.text];
205
+ let low = 0;
206
+ let high = characters.length;
207
+ let best = null;
208
+ while (low <= high) {
209
+ const middle = Math.floor((low + high) / 2);
210
+ const text = middle < characters.length ? `${characters.slice(0, middle).join("")}...` : target.text;
211
+ const candidate = {
212
+ ...value,
213
+ passages: [{ ...target, text }],
214
+ };
215
+ if (jsonBytes(candidate) <= maxBytes) {
216
+ best = candidate;
217
+ low = middle + 1;
218
+ }
219
+ else {
220
+ high = middle - 1;
221
+ }
222
+ }
223
+ return best;
224
+ }
225
+ function fitExpandedMetadata(value, maxBytes) {
226
+ const withoutPassages = { ...value, passages: [] };
227
+ if (jsonBytes(withoutPassages) <= maxBytes) {
228
+ return withoutPassages;
229
+ }
230
+ let low = 0;
231
+ let high = Math.max([...value.requestedCitation].length, [...value.relativePath].length);
232
+ let best = {
233
+ ...withoutPassages,
234
+ requestedCitation: "",
235
+ relativePath: "",
236
+ };
237
+ while (low <= high) {
238
+ const middle = Math.floor((low + high) / 2);
239
+ const candidate = {
240
+ ...withoutPassages,
241
+ requestedCitation: compactString(value.requestedCitation, middle),
242
+ relativePath: compactString(value.relativePath, middle),
243
+ };
244
+ if (jsonBytes(candidate) <= maxBytes) {
245
+ best = candidate;
246
+ low = middle + 1;
247
+ }
248
+ else {
249
+ high = middle - 1;
250
+ }
251
+ }
252
+ return best;
253
+ }
254
+ function compactString(value, maxLength) {
255
+ const characters = [...value];
256
+ if (characters.length <= maxLength) {
257
+ return value;
258
+ }
259
+ if (maxLength <= 3) {
260
+ return ".".repeat(Math.max(0, maxLength));
261
+ }
262
+ return `${characters.slice(0, maxLength - 3).join("")}...`;
263
+ }
264
+ function jsonBytes(value) {
265
+ return Buffer.byteLength(serializeJson(value), "utf8");
266
+ }
267
+ function serializeJson(value) {
268
+ return JSON.stringify(value);
269
+ }
270
+ //# sourceMappingURL=mcp-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-output.js","sourceRoot":"","sources":["../src/mcp-output.ts"],"names":[],"mappings":"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"}
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAqDA,wBAAsB,QAAQ,CAAC,GAAG,SAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmN3E;AAED,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,SAAgB,GACvB,MAAM,CAYR;AAaD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EACnC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAClC,OAAO,CAAC;IACT,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CAmBD;AAmBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAiFA,wBAAsB,QAAQ,CAAC,GAAG,SAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0R3E;AAED,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,SAAgB,GACvB,MAAM,CAYR;AA0BD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,EAClC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EACnC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,GAClC,OAAO,CAAC;IACT,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB,CAAC,CAmBD;AAmBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF"}
package/dist/mcp.js CHANGED
@@ -3,14 +3,15 @@ import path from "node:path";
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
5
  import { z } from "zod";
6
- import { accessLogUsageReport } from "./access-log.js";
6
+ import { accessLogUsageReport, recordMcpOutput } from "./access-log.js";
7
7
  import { findProjectConfig, loadConfig } from "./config.js";
8
8
  import { RAGMIR_PROJECT_ROOT_ENV } from "./defaults.js";
9
9
  import { evaluateGoldenQueries } from "./evaluate.js";
10
10
  import { audit } from "./ingest.js";
11
11
  import { ingestionLimits } from "./limits.js";
12
+ import { budgetMcpJson, fitAskPayload, fitExpandedCitation, fitResearchPayload, fitSearchPayload, MIN_MCP_OUTPUT_BYTES, resolveMcpOutputBudget, } from "./mcp-output.js";
12
13
  import { routePrompt } from "./prompt-routing.js";
13
- import { ask, search } from "./query.js";
14
+ import { ask, expandCitation, search } from "./query.js";
14
15
  import { compactResearchReport, compactSearchResults, research } from "./research.js";
15
16
  import { securityAudit } from "./security.js";
16
17
  import { countRows } from "./store.js";
@@ -19,14 +20,19 @@ const queryToolInputSchema = z.object({
19
20
  query: z.string().min(1),
20
21
  topK: z.number().int().positive().optional(),
21
22
  contextRadius: z.number().int().min(0).optional(),
23
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
22
24
  includePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
23
25
  excludePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
24
26
  });
27
+ const askToolInputSchema = queryToolInputSchema.extend({
28
+ compact: z.boolean().optional(),
29
+ });
25
30
  const researchToolInputSchema = z.object({
26
31
  query: z.string().min(1),
27
32
  topK: z.number().int().positive().optional(),
28
33
  includeCode: z.boolean().optional(),
29
34
  compact: z.boolean().optional(),
35
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
30
36
  includePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
31
37
  excludePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
32
38
  });
@@ -44,6 +50,11 @@ const usageReportInputSchema = z.object({
44
50
  const promptRouteInputSchema = z.object({
45
51
  prompt: z.string().min(1),
46
52
  });
53
+ const expandToolInputSchema = z.object({
54
+ citation: z.string().min(1).max(2_000),
55
+ contextRadius: z.number().int().min(0).max(3).optional(),
56
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
57
+ });
47
58
  export async function serveMcp(cwd = resolveMcpProjectRoot()) {
48
59
  const server = new McpServer({
49
60
  name: "ragmir",
@@ -78,6 +89,7 @@ export async function serveMcp(cwd = resolveMcpProjectRoot()) {
78
89
  llmGeneration: false,
79
90
  redactionEnabled: config.redaction.enabled,
80
91
  mcpMaxTopK: config.mcpMaxTopK,
92
+ mcpMaxOutputBytes: config.mcpMaxOutputBytes,
81
93
  maxFileBytes: config.maxFileBytes,
82
94
  ingestConcurrency: config.ingestConcurrency,
83
95
  embeddingBatchSize: config.embeddingBatchSize,
@@ -102,33 +114,66 @@ export async function serveMcp(cwd = resolveMcpProjectRoot()) {
102
114
  title: "Ragmir Search",
103
115
  description: "Retrieve relevant passages from the local Ragmir knowledge base.",
104
116
  inputSchema: searchToolInputSchema,
105
- }, async ({ query, topK, contextRadius, compact, includePaths, excludePaths }) => {
117
+ }, async ({ query, topK, contextRadius, compact, maxBytes, includePaths, excludePaths }) => {
106
118
  const config = await loadConfig(cwd);
107
119
  const results = await search(query, await searchOptions(cwd, topK, contextRadius, includePaths, excludePaths));
108
- const compactOutput = compact ?? config.privacyProfile === "strict";
109
- return textResult(compactOutput ? compactSearchResults(results) : results);
120
+ const compactResults = compactSearchResults(results);
121
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
122
+ const preferred = compactOutput ? compactResults : results;
123
+ const bounded = budgetMcpJson({
124
+ tool: "ragmir_search",
125
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
126
+ fullValue: results,
127
+ preferredValue: preferred,
128
+ compactValue: compactResults,
129
+ compacted: compactOutput,
130
+ reduce: fitSearchPayload,
131
+ });
132
+ await recordBudgetedOutput(config, bounded);
133
+ return bounded.result;
110
134
  });
111
135
  server.registerTool("ragmir_ask", {
112
136
  title: "Ragmir Ask",
113
137
  description: "Return cited retrieval context for a question without calling an LLM.",
114
- inputSchema: queryToolInputSchema,
115
- }, async ({ query, topK, contextRadius, includePaths, excludePaths }) => {
138
+ inputSchema: askToolInputSchema,
139
+ }, async ({ query, topK, contextRadius, compact, maxBytes, includePaths, excludePaths }) => {
116
140
  const config = await loadConfig(cwd);
117
141
  const options = await searchOptions(cwd, topK, contextRadius, includePaths, excludePaths);
142
+ let fullPayload;
118
143
  if (config.privacyProfile === "strict") {
119
144
  const results = await search(query, options);
120
- return textResult({
145
+ fullPayload = {
121
146
  answer: "Strict privacy profile returns compact cited retrieval only.",
122
- sources: compactSearchResults(results),
123
- });
147
+ sources: results,
148
+ staleWarning: null,
149
+ };
124
150
  }
125
- return textResult(await ask(query, options));
151
+ else {
152
+ fullPayload = await ask(query, options);
153
+ }
154
+ const compactPayload = {
155
+ answer: "Ragmir returns compact cited retrieval only. Expand a citation when needed.",
156
+ sources: compactSearchResults(fullPayload.sources),
157
+ staleWarning: fullPayload.staleWarning,
158
+ };
159
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
160
+ const bounded = budgetMcpJson({
161
+ tool: "ragmir_ask",
162
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
163
+ fullValue: fullPayload,
164
+ preferredValue: compactOutput ? compactPayload : fullPayload,
165
+ compactValue: compactPayload,
166
+ compacted: compactOutput,
167
+ reduce: fitAskPayload,
168
+ });
169
+ await recordBudgetedOutput(config, bounded);
170
+ return bounded.result;
126
171
  });
127
172
  server.registerTool("ragmir_research", {
128
173
  title: "Ragmir Research",
129
174
  description: "Run an audit-backed multi-query research pass with cited evidence and optional code matches.",
130
175
  inputSchema: researchToolInputSchema,
131
- }, async ({ query, topK, includeCode, compact, includePaths, excludePaths }) => {
176
+ }, async ({ query, topK, includeCode, compact, maxBytes, includePaths, excludePaths }) => {
132
177
  const config = await loadConfig(cwd);
133
178
  const options = await searchOptions(cwd, topK, undefined, includePaths, excludePaths);
134
179
  const researchOptions = { cwd };
@@ -137,8 +182,41 @@ export async function serveMcp(cwd = resolveMcpProjectRoot()) {
137
182
  addOption(researchOptions, "includePaths", options.includePaths);
138
183
  addOption(researchOptions, "excludePaths", options.excludePaths);
139
184
  const result = await research(query, researchOptions);
140
- const compactOutput = compact ?? config.privacyProfile === "strict";
141
- return textResult(compactOutput ? compactResearchReport(result) : result);
185
+ const compactResult = compactResearchReport(result);
186
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
187
+ const preferred = compactOutput ? compactResult : result;
188
+ const bounded = budgetMcpJson({
189
+ tool: "ragmir_research",
190
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
191
+ fullValue: result,
192
+ preferredValue: preferred,
193
+ compactValue: compactResult,
194
+ compacted: compactOutput,
195
+ reduce: fitResearchPayload,
196
+ });
197
+ await recordBudgetedOutput(config, bounded);
198
+ return bounded.result;
199
+ });
200
+ server.registerTool("ragmir_expand", {
201
+ title: "Ragmir Expand",
202
+ description: "Expand one Ragmir citation into a bounded exact passage window.",
203
+ inputSchema: expandToolInputSchema,
204
+ }, async ({ citation, contextRadius, maxBytes }) => {
205
+ const config = await loadConfig(cwd);
206
+ const expanded = await expandCitation(citation, {
207
+ cwd,
208
+ ...(contextRadius === undefined ? {} : { contextRadius }),
209
+ });
210
+ const bounded = budgetMcpJson({
211
+ tool: "ragmir_expand",
212
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
213
+ fullValue: expanded,
214
+ preferredValue: expanded,
215
+ compacted: false,
216
+ reduce: fitExpandedCitation,
217
+ });
218
+ await recordBudgetedOutput(config, bounded);
219
+ return bounded.result;
142
220
  });
143
221
  server.registerTool("ragmir_audit", {
144
222
  title: "Ragmir Audit",
@@ -222,6 +300,15 @@ function textResult(value) {
222
300
  ],
223
301
  };
224
302
  }
303
+ async function recordBudgetedOutput(config, bounded) {
304
+ await recordMcpOutput(config, {
305
+ tool: bounded.metadata.tool,
306
+ retrievedBytes: bounded.metadata.retrievedBytes,
307
+ returnedBytes: bounded.metadata.returnedBytes,
308
+ compacted: bounded.metadata.compacted,
309
+ truncated: bounded.metadata.truncated,
310
+ });
311
+ }
225
312
  export async function searchOptions(cwd, topK, contextRadius, includePaths, excludePaths) {
226
313
  const config = await loadConfig(cwd);
227
314
  const boundedTopK = Math.min(topK ?? config.topK, config.mcpMaxTopK);
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/dist/query.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { AskResult, RetrievalProfile, SearchOptions, SearchResult } from "./types.js";
1
+ import type { AskResult, ExpandCitationOptions, ExpandedCitation, RetrievalProfile, SearchOptions, SearchResult } from "./types.js";
2
2
  export declare function search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
3
3
  export declare function vectorCandidateLimit(topK: number, profile?: RetrievalProfile): number;
4
4
  export declare function ask(query: string, options?: SearchOptions): Promise<AskResult>;
5
+ export declare function expandCitation(citation: string, options?: ExpandCitationOptions): Promise<ExpandedCitation>;
5
6
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAEhB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AAkEnB,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA2DhG;AAwFD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAA6B,GAAG,MAAM,CAGjG;AAED,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBxF"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAA;AAwEnB,wBAAsB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6DhG;AA2HD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,gBAA6B,GAAG,MAAM,CAGjG;AAED,wBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAyBxF;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,gBAAgB,CAAC,CA4D3B"}