@jcode.labs/ragmir 2.9.3 → 2.11.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 (82) hide show
  1. package/README.md +16 -4
  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/chunk-stats.d.ts +8 -0
  7. package/dist/chunk-stats.d.ts.map +1 -0
  8. package/dist/chunk-stats.js +31 -0
  9. package/dist/chunk-stats.js.map +1 -0
  10. package/dist/chunking.d.ts +1 -0
  11. package/dist/chunking.d.ts.map +1 -1
  12. package/dist/chunking.js +58 -31
  13. package/dist/chunking.js.map +1 -1
  14. package/dist/cli.js +104 -5
  15. package/dist/cli.js.map +1 -1
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +16 -0
  18. package/dist/config.js.map +1 -1
  19. package/dist/context-resources.d.ts +4 -0
  20. package/dist/context-resources.d.ts.map +1 -0
  21. package/dist/context-resources.js +87 -0
  22. package/dist/context-resources.js.map +1 -0
  23. package/dist/defaults.d.ts.map +1 -1
  24. package/dist/defaults.js +1 -0
  25. package/dist/defaults.js.map +1 -1
  26. package/dist/document-structure.d.ts +13 -0
  27. package/dist/document-structure.d.ts.map +1 -0
  28. package/dist/document-structure.js +331 -0
  29. package/dist/document-structure.js.map +1 -0
  30. package/dist/evaluate.d.ts.map +1 -1
  31. package/dist/evaluate.js +8 -0
  32. package/dist/evaluate.js.map +1 -1
  33. package/dist/index-diagnostics.d.ts +1 -1
  34. package/dist/index-diagnostics.js +1 -1
  35. package/dist/index-policy.js +1 -1
  36. package/dist/index.d.ts +5 -2
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +4 -1
  39. package/dist/index.js.map +1 -1
  40. package/dist/ingest.d.ts.map +1 -1
  41. package/dist/ingest.js +10 -3
  42. package/dist/ingest.js.map +1 -1
  43. package/dist/knowledge-bases.d.ts +4 -0
  44. package/dist/knowledge-bases.d.ts.map +1 -0
  45. package/dist/knowledge-bases.js +113 -0
  46. package/dist/knowledge-bases.js.map +1 -0
  47. package/dist/mcp-output.d.ts +60 -0
  48. package/dist/mcp-output.d.ts.map +1 -0
  49. package/dist/mcp-output.js +270 -0
  50. package/dist/mcp-output.js.map +1 -0
  51. package/dist/mcp.d.ts +3 -1
  52. package/dist/mcp.d.ts.map +1 -1
  53. package/dist/mcp.js +136 -18
  54. package/dist/mcp.js.map +1 -1
  55. package/dist/preview.d.ts +3 -0
  56. package/dist/preview.d.ts.map +1 -0
  57. package/dist/preview.js +115 -0
  58. package/dist/preview.js.map +1 -0
  59. package/dist/query.d.ts +2 -1
  60. package/dist/query.d.ts.map +1 -1
  61. package/dist/query.js +201 -28
  62. package/dist/query.js.map +1 -1
  63. package/dist/research.d.ts.map +1 -1
  64. package/dist/research.js +5 -0
  65. package/dist/research.js.map +1 -1
  66. package/dist/security.d.ts.map +1 -1
  67. package/dist/security.js +1 -0
  68. package/dist/security.js.map +1 -1
  69. package/dist/setup.js +1 -1
  70. package/dist/skill.d.ts.map +1 -1
  71. package/dist/skill.js +46 -4
  72. package/dist/skill.js.map +1 -1
  73. package/dist/store.js +2 -2
  74. package/dist/store.js.map +1 -1
  75. package/dist/types.d.ts +171 -0
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/version.d.ts +1 -1
  78. package/dist/version.d.ts.map +1 -1
  79. package/dist/version.js +1 -1
  80. package/dist/version.js.map +1 -1
  81. package/package.json +3 -3
  82. package/skills/ragmir/SKILL.md +34 -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 CHANGED
@@ -1,11 +1,13 @@
1
1
  export declare function serveMcp(cwd?: string): Promise<void>;
2
2
  export declare function resolveMcpProjectRoot(env?: NodeJS.ProcessEnv, fallback?: string): string;
3
- export declare function searchOptions(cwd: string, topK: number | undefined, contextRadius?: number | undefined, includePaths?: string[] | undefined, excludePaths?: string[] | undefined): Promise<{
3
+ export declare function searchOptions(cwd: string, topK: number | undefined, contextRadius?: number | undefined, includePaths?: string[] | undefined, excludePaths?: string[] | undefined, contextPaths?: string[] | undefined, explain?: boolean | undefined): Promise<{
4
4
  cwd: string;
5
5
  topK?: number;
6
6
  contextRadius?: number;
7
7
  includePaths?: string[];
8
8
  excludePaths?: string[];
9
+ contextPaths?: string[];
10
+ explain?: boolean;
9
11
  }>;
10
12
  export declare function projectRelativeGoldenPath(cwd: string, goldenPath: string): string;
11
13
  //# sourceMappingURL=mcp.d.ts.map
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":"AAsFA,wBAAsB,QAAQ,CAAC,GAAG,SAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyW3E;AAED,wBAAgB,qBAAqB,CACnC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,SAAgB,GACvB,MAAM,CAYR;AAyCD,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,EACnC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EACnC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAC5B,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;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAC,CAuBD;AAmBD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF"}
package/dist/mcp.js CHANGED
@@ -3,14 +3,17 @@ 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
+ import { getKnowledgeBaseContext, getKnowledgeBaseSourceCatalog } from "./context-resources.js";
8
9
  import { RAGMIR_PROJECT_ROOT_ENV } from "./defaults.js";
9
10
  import { evaluateGoldenQueries } from "./evaluate.js";
10
11
  import { audit } from "./ingest.js";
12
+ import { knowledgeBaseIdentity } from "./knowledge-bases.js";
11
13
  import { ingestionLimits } from "./limits.js";
14
+ import { budgetMcpJson, fitAskPayload, fitExpandedCitation, fitResearchPayload, fitSearchPayload, MIN_MCP_OUTPUT_BYTES, resolveMcpOutputBudget, } from "./mcp-output.js";
12
15
  import { routePrompt } from "./prompt-routing.js";
13
- import { ask, search } from "./query.js";
16
+ import { ask, expandCitation, search } from "./query.js";
14
17
  import { compactResearchReport, compactSearchResults, research } from "./research.js";
15
18
  import { securityAudit } from "./security.js";
16
19
  import { countRows } from "./store.js";
@@ -19,16 +22,24 @@ const queryToolInputSchema = z.object({
19
22
  query: z.string().min(1),
20
23
  topK: z.number().int().positive().optional(),
21
24
  contextRadius: z.number().int().min(0).optional(),
25
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
22
26
  includePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
23
27
  excludePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
28
+ contextPaths: z.array(z.string().min(1).max(500)).max(20).optional(),
29
+ explain: z.boolean().optional(),
30
+ });
31
+ const askToolInputSchema = queryToolInputSchema.extend({
32
+ compact: z.boolean().optional(),
24
33
  });
25
34
  const researchToolInputSchema = z.object({
26
35
  query: z.string().min(1),
27
36
  topK: z.number().int().positive().optional(),
28
37
  includeCode: z.boolean().optional(),
29
38
  compact: z.boolean().optional(),
39
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
30
40
  includePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
31
41
  excludePaths: z.array(z.string().min(1).max(500)).max(20).optional(),
42
+ contextPaths: z.array(z.string().min(1).max(500)).max(20).optional(),
32
43
  });
33
44
  const searchToolInputSchema = queryToolInputSchema.extend({
34
45
  compact: z.boolean().optional(),
@@ -44,20 +55,37 @@ const usageReportInputSchema = z.object({
44
55
  const promptRouteInputSchema = z.object({
45
56
  prompt: z.string().min(1),
46
57
  });
58
+ const expandToolInputSchema = z.object({
59
+ citation: z.string().min(1).max(2_000),
60
+ contextRadius: z.number().int().min(0).max(3).optional(),
61
+ maxBytes: z.number().int().min(MIN_MCP_OUTPUT_BYTES).optional(),
62
+ });
47
63
  export async function serveMcp(cwd = resolveMcpProjectRoot()) {
48
64
  const server = new McpServer({
49
65
  name: "ragmir",
50
66
  version: VERSION,
51
67
  });
68
+ server.registerResource("ragmir-context", "ragmir://context", {
69
+ title: "Ragmir Knowledge Base Context",
70
+ description: "Active base identity, readiness, freshness, coverage, and available operations.",
71
+ mimeType: "application/json",
72
+ }, async (uri) => jsonResource(uri, await getKnowledgeBaseContext(cwd)));
73
+ server.registerResource("ragmir-sources", "ragmir://sources", {
74
+ title: "Ragmir Source Catalog",
75
+ description: "Bounded source coverage, skipped-file counts, and index drift for the active base.",
76
+ mimeType: "application/json",
77
+ }, async (uri) => jsonResource(uri, await getKnowledgeBaseSourceCatalog(cwd)));
52
78
  server.registerTool("ragmir_status", {
53
79
  title: "Ragmir Status",
54
80
  description: "Show active Ragmir configuration and indexed chunk count.",
55
81
  inputSchema: z.object({}),
56
82
  }, async () => {
57
83
  const config = await loadConfig(cwd);
84
+ const identity = knowledgeBaseIdentity(config.projectRoot);
58
85
  const chunksIndexed = await countRows(config);
59
86
  const strict = config.privacyProfile === "strict";
60
87
  const output = {
88
+ knowledgeBaseId: identity?.id ?? null,
61
89
  projectRoot: strict ? "." : config.projectRoot,
62
90
  rawDir: strict ? path.relative(config.projectRoot, config.rawDir) : config.rawDir,
63
91
  storageDir: strict
@@ -78,6 +106,7 @@ export async function serveMcp(cwd = resolveMcpProjectRoot()) {
78
106
  llmGeneration: false,
79
107
  redactionEnabled: config.redaction.enabled,
80
108
  mcpMaxTopK: config.mcpMaxTopK,
109
+ mcpMaxOutputBytes: config.mcpMaxOutputBytes,
81
110
  maxFileBytes: config.maxFileBytes,
82
111
  ingestConcurrency: config.ingestConcurrency,
83
112
  embeddingBatchSize: config.embeddingBatchSize,
@@ -102,43 +131,110 @@ export async function serveMcp(cwd = resolveMcpProjectRoot()) {
102
131
  title: "Ragmir Search",
103
132
  description: "Retrieve relevant passages from the local Ragmir knowledge base.",
104
133
  inputSchema: searchToolInputSchema,
105
- }, async ({ query, topK, contextRadius, compact, includePaths, excludePaths }) => {
134
+ }, async ({ query, topK, contextRadius, compact, maxBytes, includePaths, excludePaths, contextPaths, explain, }) => {
106
135
  const config = await loadConfig(cwd);
107
- 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);
136
+ const results = await search(query, await searchOptions(cwd, topK, contextRadius, includePaths, excludePaths, contextPaths, explain));
137
+ const compactResults = compactSearchResults(results);
138
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
139
+ const preferred = compactOutput ? compactResults : results;
140
+ const bounded = budgetMcpJson({
141
+ tool: "ragmir_search",
142
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
143
+ fullValue: results,
144
+ preferredValue: preferred,
145
+ compactValue: compactResults,
146
+ compacted: compactOutput,
147
+ reduce: fitSearchPayload,
148
+ });
149
+ await recordBudgetedOutput(config, bounded);
150
+ return bounded.result;
110
151
  });
111
152
  server.registerTool("ragmir_ask", {
112
153
  title: "Ragmir Ask",
113
154
  description: "Return cited retrieval context for a question without calling an LLM.",
114
- inputSchema: queryToolInputSchema,
115
- }, async ({ query, topK, contextRadius, includePaths, excludePaths }) => {
155
+ inputSchema: askToolInputSchema,
156
+ }, async ({ query, topK, contextRadius, compact, maxBytes, includePaths, excludePaths, contextPaths, explain, }) => {
116
157
  const config = await loadConfig(cwd);
117
- const options = await searchOptions(cwd, topK, contextRadius, includePaths, excludePaths);
158
+ const options = await searchOptions(cwd, topK, contextRadius, includePaths, excludePaths, contextPaths, explain);
159
+ let fullPayload;
118
160
  if (config.privacyProfile === "strict") {
119
161
  const results = await search(query, options);
120
- return textResult({
162
+ fullPayload = {
121
163
  answer: "Strict privacy profile returns compact cited retrieval only.",
122
- sources: compactSearchResults(results),
123
- });
164
+ sources: results,
165
+ staleWarning: null,
166
+ };
167
+ }
168
+ else {
169
+ fullPayload = await ask(query, options);
124
170
  }
125
- return textResult(await ask(query, options));
171
+ const compactPayload = {
172
+ answer: "Ragmir returns compact cited retrieval only. Expand a citation when needed.",
173
+ sources: compactSearchResults(fullPayload.sources),
174
+ staleWarning: fullPayload.staleWarning,
175
+ };
176
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
177
+ const bounded = budgetMcpJson({
178
+ tool: "ragmir_ask",
179
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
180
+ fullValue: fullPayload,
181
+ preferredValue: compactOutput ? compactPayload : fullPayload,
182
+ compactValue: compactPayload,
183
+ compacted: compactOutput,
184
+ reduce: fitAskPayload,
185
+ });
186
+ await recordBudgetedOutput(config, bounded);
187
+ return bounded.result;
126
188
  });
127
189
  server.registerTool("ragmir_research", {
128
190
  title: "Ragmir Research",
129
191
  description: "Run an audit-backed multi-query research pass with cited evidence and optional code matches.",
130
192
  inputSchema: researchToolInputSchema,
131
- }, async ({ query, topK, includeCode, compact, includePaths, excludePaths }) => {
193
+ }, async ({ query, topK, includeCode, compact, maxBytes, includePaths, excludePaths, contextPaths, }) => {
132
194
  const config = await loadConfig(cwd);
133
- const options = await searchOptions(cwd, topK, undefined, includePaths, excludePaths);
195
+ const options = await searchOptions(cwd, topK, undefined, includePaths, excludePaths, contextPaths);
134
196
  const researchOptions = { cwd };
135
197
  addOption(researchOptions, "topK", options.topK);
136
198
  addOption(researchOptions, "includeCode", includeCode);
137
199
  addOption(researchOptions, "includePaths", options.includePaths);
138
200
  addOption(researchOptions, "excludePaths", options.excludePaths);
201
+ addOption(researchOptions, "contextPaths", options.contextPaths);
139
202
  const result = await research(query, researchOptions);
140
- const compactOutput = compact ?? config.privacyProfile === "strict";
141
- return textResult(compactOutput ? compactResearchReport(result) : result);
203
+ const compactResult = compactResearchReport(result);
204
+ const compactOutput = config.privacyProfile === "strict" || compact === true;
205
+ const preferred = compactOutput ? compactResult : result;
206
+ const bounded = budgetMcpJson({
207
+ tool: "ragmir_research",
208
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
209
+ fullValue: result,
210
+ preferredValue: preferred,
211
+ compactValue: compactResult,
212
+ compacted: compactOutput,
213
+ reduce: fitResearchPayload,
214
+ });
215
+ await recordBudgetedOutput(config, bounded);
216
+ return bounded.result;
217
+ });
218
+ server.registerTool("ragmir_expand", {
219
+ title: "Ragmir Expand",
220
+ description: "Expand one Ragmir citation into a bounded exact passage window.",
221
+ inputSchema: expandToolInputSchema,
222
+ }, async ({ citation, contextRadius, maxBytes }) => {
223
+ const config = await loadConfig(cwd);
224
+ const expanded = await expandCitation(citation, {
225
+ cwd,
226
+ ...(contextRadius === undefined ? {} : { contextRadius }),
227
+ });
228
+ const bounded = budgetMcpJson({
229
+ tool: "ragmir_expand",
230
+ maxBytes: resolveMcpOutputBudget(config.mcpMaxOutputBytes, maxBytes),
231
+ fullValue: expanded,
232
+ preferredValue: expanded,
233
+ compacted: false,
234
+ reduce: fitExpandedCitation,
235
+ });
236
+ await recordBudgetedOutput(config, bounded);
237
+ return bounded.result;
142
238
  });
143
239
  server.registerTool("ragmir_audit", {
144
240
  title: "Ragmir Audit",
@@ -222,7 +318,27 @@ function textResult(value) {
222
318
  ],
223
319
  };
224
320
  }
225
- export async function searchOptions(cwd, topK, contextRadius, includePaths, excludePaths) {
321
+ function jsonResource(uri, value) {
322
+ return {
323
+ contents: [
324
+ {
325
+ uri: uri.href,
326
+ mimeType: "application/json",
327
+ text: JSON.stringify(value, null, 2),
328
+ },
329
+ ],
330
+ };
331
+ }
332
+ async function recordBudgetedOutput(config, bounded) {
333
+ await recordMcpOutput(config, {
334
+ tool: bounded.metadata.tool,
335
+ retrievedBytes: bounded.metadata.retrievedBytes,
336
+ returnedBytes: bounded.metadata.returnedBytes,
337
+ compacted: bounded.metadata.compacted,
338
+ truncated: bounded.metadata.truncated,
339
+ });
340
+ }
341
+ export async function searchOptions(cwd, topK, contextRadius, includePaths, excludePaths, contextPaths, explain) {
226
342
  const config = await loadConfig(cwd);
227
343
  const boundedTopK = Math.min(topK ?? config.topK, config.mcpMaxTopK);
228
344
  const boundedContextRadius = contextRadius === undefined ? undefined : Math.min(Math.max(0, contextRadius), 3);
@@ -233,6 +349,8 @@ export async function searchOptions(cwd, topK, contextRadius, includePaths, excl
233
349
  addOption(result, "contextRadius", boundedContextRadius);
234
350
  addOption(result, "includePaths", includePaths);
235
351
  addOption(result, "excludePaths", excludePaths);
352
+ addOption(result, "contextPaths", contextPaths);
353
+ addOption(result, "explain", explain);
236
354
  return result;
237
355
  }
238
356
  async function evaluationOptions(cwd, goldenPath, topK) {
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpE,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrE,CAAC,CAAA;AAEF,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAA;AAEF,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC/C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAA;AAEF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAG,GAAG,qBAAqB,EAAE;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,2DAA2D;QACxE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,aAAa,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAA;QACjD,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW;YAC9C,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YACjF,UAAU,EAAE,MAAM;gBAChB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;gBACtD,CAAC,CAAC,MAAM,CAAC,UAAU;YACrB,WAAW,EAAE,MAAM;gBACjB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBACvD,CAAC,CAAC,MAAM,CAAC,WAAW;YACtB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,kBAAkB,EAAE,MAAM;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBAC9D,CAAC,CAAC,MAAM,CAAC,kBAAkB;YAC7B,6BAA6B,EAAE,MAAM,CAAC,6BAA6B;YACnE,aAAa,EAAE,KAAK;YACpB,gBAAgB,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO;YAC1C,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,eAAe,EAAE,eAAe,CAAC,MAAM,CAAC;YACxC,aAAa;SACd,CAAA;QAED,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,iFAAiF;QACnF,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CACtD,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,kEAAkE;QAC/E,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;QAC5E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,MAAM,CAC1B,KAAK,EACL,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAC1E,CAAA;QACD,MAAM,aAAa,GAAG,OAAO,IAAI,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAA;QACnE,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5E,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,YAAY;QACnB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QACzF,IAAI,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAC5C,OAAO,UAAU,CAAC;gBAChB,MAAM,EAAE,8DAA8D;gBACtE,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC;aACvC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9C,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EACT,8FAA8F;QAChG,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,EAAE;QAC1E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QACrF,MAAM,eAAe,GAAmC,EAAE,GAAG,EAAE,CAAA;QAC/D,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAChD,SAAS,CAAC,eAAe,EAAE,aAAa,EAAE,WAAW,CAAC,CAAA;QACtD,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAChE,SAAS,CAAC,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAChE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAA;QACrD,MAAM,aAAa,GAAG,OAAO,IAAI,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAA;QACnE,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAC3E,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CACzC,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,iBAAiB;QACxB,WAAW,EAAE,6DAA6D;QAC1E,WAAW,EAAE,uBAAuB;KACrC,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;QAC1F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,MAAM,aAAa,GAAG,SAAS,CAAA;QAC/B,OAAO,UAAU,CAAC;YAChB,GAAG,MAAM;YACT,aAAa;YACb,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,aAAa;SACvC,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,sEAAsE;QACnF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,UAAU,CAAC;YAChB,GAAG,MAAM;YACT,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE;gBACT,GAAG,MAAM,CAAC,SAAS;gBACnB,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAC/B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,CAAC,kBAAkB,CACpC;aACF;YACD,SAAS,EAAE;gBACT,GAAG,MAAM,CAAC,SAAS;gBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;aAC/D;YACD,OAAO,EAAE;gBACP,GAAG,MAAM,CAAC,OAAO;gBACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aAC7D;SACF,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAED,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,sBAAsB;KACpC,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,OAAO,GAA+C,EAAE,GAAG,EAAE,CAAA;QACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAA;IACxD,CAAC,CACF,CAAA;IAED,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAA;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAyB,OAAO,CAAC,GAAG,EACpC,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;IAExB,MAAM,YAAY,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAA;IACjD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IAClD,IAAI,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1C,OAAO,cAAc,CAAC,WAAW,CAAA;IACnC,CAAC;IAED,OAAO,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAA;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC;SACF;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,IAAwB,EACxB,aAAkC,EAClC,YAAmC,EACnC,YAAmC;IAQnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;IACpE,MAAM,oBAAoB,GACxB,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;IACnF,MAAM,MAAM,GAMR;QACF,GAAG;QACH,IAAI,EAAE,WAAW;KAClB,CAAA;IACD,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,oBAAoB,CAAC,CAAA;IACxD,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/C,SAAS,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,CAAA;IAC/C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAW,EACX,UAAkB,EAClB,IAAwB;IAExB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG;QACb,GAAG;QACH,UAAU,EAAE,yBAAyB,CAAC,GAAG,EAAE,UAAU,CAAC;QACtD,OAAO,EAAE,MAAM,CAAC,UAAU;KAC3B,CAAA;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,UAAkB;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IACtD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,YAAY,CAAA;AACrB,CAAC;AAED,SAAS,SAAS,CAChB,MAAS,EACT,GAAM,EACN,KAAuB;IAEvB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PreviewChunksOptions, PreviewReport } from "./types.js";
2
+ export declare function previewChunks(options?: PreviewChunksOptions): Promise<PreviewReport>;
3
+ //# sourceMappingURL=preview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,oBAAoB,EAEpB,aAAa,EAGd,MAAM,YAAY,CAAA;AAOnB,wBAAsB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+C9F"}