@brutalist/mcp 0.6.0 → 0.6.2
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/README.md +3 -1
- package/dist/brutalist-server.d.ts +5 -0
- package/dist/brutalist-server.d.ts.map +1 -1
- package/dist/brutalist-server.js +295 -92
- package/dist/brutalist-server.js.map +1 -1
- package/dist/cli-agents.d.ts +7 -3
- package/dist/cli-agents.d.ts.map +1 -1
- package/dist/cli-agents.js +316 -56
- package/dist/cli-agents.js.map +1 -1
- package/dist/streaming/circuit-breaker.d.ts +186 -0
- package/dist/streaming/circuit-breaker.d.ts.map +1 -0
- package/dist/streaming/circuit-breaker.js +463 -0
- package/dist/streaming/circuit-breaker.js.map +1 -0
- package/dist/streaming/intelligent-buffer.d.ts +141 -0
- package/dist/streaming/intelligent-buffer.d.ts.map +1 -0
- package/dist/streaming/intelligent-buffer.js +555 -0
- package/dist/streaming/intelligent-buffer.js.map +1 -0
- package/dist/streaming/output-parser.d.ts +89 -0
- package/dist/streaming/output-parser.d.ts.map +1 -0
- package/dist/streaming/output-parser.js +349 -0
- package/dist/streaming/output-parser.js.map +1 -0
- package/dist/streaming/progress-tracker.d.ts +149 -0
- package/dist/streaming/progress-tracker.d.ts.map +1 -0
- package/dist/streaming/progress-tracker.js +519 -0
- package/dist/streaming/progress-tracker.js.map +1 -0
- package/dist/streaming/session-manager.d.ts +238 -0
- package/dist/streaming/session-manager.d.ts.map +1 -0
- package/dist/streaming/session-manager.js +546 -0
- package/dist/streaming/session-manager.js.map +1 -0
- package/dist/streaming/sse-transport.d.ts +95 -0
- package/dist/streaming/sse-transport.d.ts.map +1 -0
- package/dist/streaming/sse-transport.js +319 -0
- package/dist/streaming/sse-transport.js.map +1 -0
- package/dist/streaming/streaming-orchestrator.d.ts +153 -0
- package/dist/streaming/streaming-orchestrator.d.ts.map +1 -0
- package/dist/streaming/streaming-orchestrator.js +436 -0
- package/dist/streaming/streaming-orchestrator.js.map +1 -0
- package/dist/test-utils/process-manager.d.ts +61 -0
- package/dist/test-utils/process-manager.d.ts.map +1 -0
- package/dist/test-utils/process-manager.js +262 -0
- package/dist/test-utils/process-manager.js.map +1 -0
- package/dist/test-utils/server-harness.d.ts +73 -0
- package/dist/test-utils/server-harness.d.ts.map +1 -0
- package/dist/test-utils/server-harness.js +297 -0
- package/dist/test-utils/server-harness.js.map +1 -0
- package/dist/test-utils/streaming-fuzz.d.ts +57 -0
- package/dist/test-utils/streaming-fuzz.d.ts.map +1 -0
- package/dist/test-utils/streaming-fuzz.js +287 -0
- package/dist/test-utils/streaming-fuzz.js.map +1 -0
- package/dist/test-utils/test-isolation.d.ts +70 -0
- package/dist/test-utils/test-isolation.d.ts.map +1 -0
- package/dist/test-utils/test-isolation.js +193 -0
- package/dist/test-utils/test-isolation.js.map +1 -0
- package/dist/tool-definitions.d.ts.map +1 -1
- package/dist/tool-definitions.js +12 -6
- package/dist/tool-definitions.js.map +1 -1
- package/dist/types/brutalist.d.ts +3 -3
- package/dist/types/brutalist.d.ts.map +1 -1
- package/dist/types/tool-config.d.ts +0 -1
- package/dist/types/tool-config.d.ts.map +1 -1
- package/dist/types/tool-config.js +0 -1
- package/dist/types/tool-config.js.map +1 -1
- package/dist/utils/pagination.d.ts +3 -3
- package/dist/utils/pagination.d.ts.map +1 -1
- package/dist/utils/pagination.js +24 -6
- package/dist/utils/pagination.js.map +1 -1
- package/dist/utils/response-cache.d.ts +23 -7
- package/dist/utils/response-cache.d.ts.map +1 -1
- package/dist/utils/response-cache.js +202 -62
- package/dist/utils/response-cache.js.map +1 -1
- package/package.json +13 -3
package/dist/tool-definitions.js
CHANGED
|
@@ -73,10 +73,11 @@ export const TOOL_CONFIGS = [
|
|
|
73
73
|
systemPrompt: "You are a brutal reality-checker who has watched a thousand startups die and brilliant ideas fail. Find every flaw in feasibility, every market delusion, every technical impossibility, every human factor that will kill this idea. After destroying it, grudgingly admit what tiny kernel might actually work.",
|
|
74
74
|
schemaExtensions: {
|
|
75
75
|
idea: z.string().describe("ANY idea to analyze and demolish - business, technical, creative, or otherwise"),
|
|
76
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
76
77
|
resources: z.string().optional().describe("Available resources (budget, team, time, skills)"),
|
|
77
78
|
timeline: z.string().optional().describe("Expected timeline or deadline")
|
|
78
79
|
},
|
|
79
|
-
cacheKeyFields: ['idea', 'resources', 'timeline', 'context'],
|
|
80
|
+
cacheKeyFields: ['idea', 'targetPath', 'resources', 'timeline', 'context'],
|
|
80
81
|
primaryArgField: 'idea',
|
|
81
82
|
contextBuilder: (args) => {
|
|
82
83
|
let ctx = args.context || '';
|
|
@@ -94,11 +95,12 @@ export const TOOL_CONFIGS = [
|
|
|
94
95
|
systemPrompt: "You are an architect who has watched beautiful systems die under load. Find every single point of failure, every scaling bottleneck, every cost explosion, every complexity trap. Explain why this architecture will crumble when it meets reality.",
|
|
95
96
|
schemaExtensions: {
|
|
96
97
|
architecture: z.string().describe("Architecture description, diagram, or design document"),
|
|
98
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
97
99
|
scale: z.string().optional().describe("Expected scale/load (users, requests, data)"),
|
|
98
100
|
constraints: z.string().optional().describe("Budget, timeline, or technical constraints"),
|
|
99
101
|
deployment: z.string().optional().describe("Deployment environment and strategy")
|
|
100
102
|
},
|
|
101
|
-
cacheKeyFields: ['architecture', 'scale', 'constraints', 'deployment', 'context'],
|
|
103
|
+
cacheKeyFields: ['architecture', 'targetPath', 'scale', 'constraints', 'deployment', 'context'],
|
|
102
104
|
primaryArgField: 'architecture',
|
|
103
105
|
contextBuilder: (args) => {
|
|
104
106
|
let ctx = args.context || '';
|
|
@@ -118,11 +120,12 @@ export const TOOL_CONFIGS = [
|
|
|
118
120
|
systemPrompt: "You are the harshest peer reviewer in academia. Find every methodological flaw, every statistical error, every sampling bias, every p-hacking attempt, every reproducibility crisis waiting to happen. Demolish this research with the fury of someone who has seen too much bad science.",
|
|
119
121
|
schemaExtensions: {
|
|
120
122
|
research: z.string().describe("Research description, methodology, or paper draft"),
|
|
123
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
121
124
|
field: z.string().optional().describe("Research field (ML, systems, theory, etc.)"),
|
|
122
125
|
claims: z.string().optional().describe("Main claims or contributions"),
|
|
123
126
|
data: z.string().optional().describe("Data sources, datasets, or experimental setup")
|
|
124
127
|
},
|
|
125
|
-
cacheKeyFields: ['research', 'field', 'claims', 'data', 'context'],
|
|
128
|
+
cacheKeyFields: ['research', 'targetPath', 'field', 'claims', 'data', 'context'],
|
|
126
129
|
primaryArgField: 'research',
|
|
127
130
|
contextBuilder: (args) => {
|
|
128
131
|
let ctx = args.context || '';
|
|
@@ -142,11 +145,12 @@ export const TOOL_CONFIGS = [
|
|
|
142
145
|
systemPrompt: "You are a penetration tester who has broken into everything. Find every authentication weakness, every injection point, every privilege escalation, every side channel, every social engineering vector. Explain how attackers will destroy this system.",
|
|
143
146
|
schemaExtensions: {
|
|
144
147
|
system: z.string().describe("System, application, or security design to analyze"),
|
|
148
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
145
149
|
assets: z.string().optional().describe("Critical assets or data to protect"),
|
|
146
150
|
threatModel: z.string().optional().describe("Known threats or attack vectors to consider"),
|
|
147
151
|
compliance: z.string().optional().describe("Compliance requirements (GDPR, HIPAA, etc.)")
|
|
148
152
|
},
|
|
149
|
-
cacheKeyFields: ['system', 'assets', 'threatModel', 'compliance', 'context'],
|
|
153
|
+
cacheKeyFields: ['system', 'targetPath', 'assets', 'threatModel', 'compliance', 'context'],
|
|
150
154
|
primaryArgField: 'system',
|
|
151
155
|
contextBuilder: (args) => {
|
|
152
156
|
let ctx = args.context || '';
|
|
@@ -166,11 +170,12 @@ export const TOOL_CONFIGS = [
|
|
|
166
170
|
systemPrompt: "You are a product critic who has watched thousands of products die. Find every UX disaster, every adoption barrier, every workflow failure, every assumption about user behavior that is wrong. Explain why users will abandon this in seconds.",
|
|
167
171
|
schemaExtensions: {
|
|
168
172
|
product: z.string().describe("Product description, features, or user experience to analyze"),
|
|
173
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
169
174
|
users: z.string().optional().describe("Target users or user personas"),
|
|
170
175
|
competition: z.string().optional().describe("Competitive landscape or alternatives"),
|
|
171
176
|
metrics: z.string().optional().describe("Success metrics or KPIs")
|
|
172
177
|
},
|
|
173
|
-
cacheKeyFields: ['product', 'users', 'competition', 'metrics', 'context'],
|
|
178
|
+
cacheKeyFields: ['product', 'targetPath', 'users', 'competition', 'metrics', 'context'],
|
|
174
179
|
primaryArgField: 'product',
|
|
175
180
|
contextBuilder: (args) => {
|
|
176
181
|
let ctx = args.context || '';
|
|
@@ -190,11 +195,12 @@ export const TOOL_CONFIGS = [
|
|
|
190
195
|
systemPrompt: "You are an SRE who has been paged at 3 AM too many times. Find every single point of failure, every missing redundancy, every scaling cliff, every operational nightmare. Explain why this infrastructure will fail catastrophically.",
|
|
191
196
|
schemaExtensions: {
|
|
192
197
|
infrastructure: z.string().describe("Infrastructure setup, deployment strategy, or operations plan"),
|
|
198
|
+
targetPath: z.string().describe("Directory context for CLI execution (can be '.' for current directory)"),
|
|
193
199
|
scale: z.string().optional().describe("Expected scale and load patterns"),
|
|
194
200
|
sla: z.string().optional().describe("SLA requirements or uptime targets"),
|
|
195
201
|
budget: z.string().optional().describe("Infrastructure budget or cost constraints")
|
|
196
202
|
},
|
|
197
|
-
cacheKeyFields: ['infrastructure', 'scale', 'sla', 'budget', 'context'],
|
|
203
|
+
cacheKeyFields: ['infrastructure', 'targetPath', 'scale', 'sla', 'budget', 'context'],
|
|
198
204
|
primaryArgField: 'infrastructure',
|
|
199
205
|
contextBuilder: (args) => {
|
|
200
206
|
let ctx = args.context || '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
export interface BrutalistServerConfig {
|
|
2
2
|
workingDirectory?: string;
|
|
3
3
|
defaultTimeout?: number;
|
|
4
|
-
enableSandbox?: boolean;
|
|
5
4
|
transport?: 'stdio' | 'http';
|
|
6
5
|
httpPort?: number;
|
|
6
|
+
corsOrigins?: string[];
|
|
7
|
+
allowCORSWildcard?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export interface CLIAgentResponse {
|
|
9
10
|
agent: 'claude' | 'codex' | 'gemini';
|
|
10
11
|
success: boolean;
|
|
11
|
-
output
|
|
12
|
+
output?: string;
|
|
12
13
|
error?: string;
|
|
13
14
|
executionTime: number;
|
|
14
15
|
command?: string;
|
|
@@ -21,7 +22,6 @@ export interface RoastOptions {
|
|
|
21
22
|
analysisType: string;
|
|
22
23
|
context?: string;
|
|
23
24
|
workingDirectory?: string;
|
|
24
|
-
enableSandbox?: boolean;
|
|
25
25
|
agents?: ('claude' | 'codex' | 'gemini')[];
|
|
26
26
|
}
|
|
27
27
|
export interface ChildProcessError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brutalist.d.ts","sourceRoot":"","sources":["../../src/types/brutalist.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"brutalist.d.ts","sourceRoot":"","sources":["../../src/types/brutalist.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,6 @@ export interface ToolConfig {
|
|
|
27
27
|
export declare const BASE_ROAST_SCHEMA: {
|
|
28
28
|
context: z.ZodOptional<z.ZodString>;
|
|
29
29
|
workingDirectory: z.ZodOptional<z.ZodString>;
|
|
30
|
-
enableSandbox: z.ZodOptional<z.ZodBoolean>;
|
|
31
30
|
preferredCLI: z.ZodOptional<z.ZodEnum<["claude", "codex", "gemini"]>>;
|
|
32
31
|
verbose: z.ZodOptional<z.ZodBoolean>;
|
|
33
32
|
models: z.ZodOptional<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../src/types/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,YAAY,EAAE,mBAAmB,CAAC;IAElC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,gBAAgB,EAAE,WAAW,CAAC;IAE9B,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sCAAsC;IACtC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAEvC,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"tool-config.d.ts","sourceRoot":"","sources":["../../src/types/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,YAAY,EAAE,mBAAmB,CAAC;IAElC,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IAErB,6DAA6D;IAC7D,gBAAgB,EAAE,WAAW,CAAC;IAE9B,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sCAAsC;IACtC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,MAAM,CAAC;IAEvC,2DAA2D;IAC3D,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAoB7B,CAAC"}
|
|
@@ -6,7 +6,6 @@ export const BASE_ROAST_SCHEMA = {
|
|
|
6
6
|
// Context and execution parameters
|
|
7
7
|
context: z.string().optional().describe("Additional context about the analysis"),
|
|
8
8
|
workingDirectory: z.string().optional().describe("Working directory to execute from"),
|
|
9
|
-
enableSandbox: z.boolean().optional().describe("Enable sandbox mode for safe analysis (default: true)"),
|
|
10
9
|
preferredCLI: z.enum(["claude", "codex", "gemini"]).optional().describe("Preferred CLI agent to use (default: use all available CLIs)"),
|
|
11
10
|
verbose: z.boolean().optional().describe("Include detailed execution information in output (default: false)"),
|
|
12
11
|
// Model selection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../src/types/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,KAAK,CAAC;AAgCrC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrF,
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../src/types/tool-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAe,MAAM,KAAK,CAAC;AAgCrC;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mCAAmC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAChF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACrF,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IACvI,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAE7G,kBAAkB;IAClB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;QAChH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QACtG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACpH,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAEnE,4CAA4C;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACtG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;IAClI,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IAChH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IAC3G,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;CAClH,CAAC"}
|
|
@@ -26,15 +26,15 @@ export declare class ResponseChunker {
|
|
|
26
26
|
private findSmartBreakpoint;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Create pagination metadata for a response
|
|
29
|
+
* Create pagination metadata for a response using actual chunk boundaries
|
|
30
30
|
*/
|
|
31
|
-
export declare function createPaginationMetadata(totalLength: number, params: PaginationParams, chunkSize?: number): PaginationMetadata;
|
|
31
|
+
export declare function createPaginationMetadata(totalLength: number, params: PaginationParams, chunkSize?: number, chunks?: ResponseChunk[], currentChunkIndex?: number): PaginationMetadata;
|
|
32
32
|
/**
|
|
33
33
|
* Extract pagination parameters from tool arguments
|
|
34
34
|
*/
|
|
35
35
|
export declare function extractPaginationParams(args: Record<string, unknown>): PaginationParams;
|
|
36
36
|
/**
|
|
37
|
-
* Parse cursor string to extract pagination state
|
|
37
|
+
* Parse cursor string to extract pagination state with proper clamping
|
|
38
38
|
*/
|
|
39
39
|
export declare function parseCursor(cursor: string): Partial<PaginationParams>;
|
|
40
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,SAAS,GAAE,MAA0C,EAAE,OAAO,GAAE,MAA0C;IAKtH;;OAEG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IA+C/C;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA4B5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,MAA0C,
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAClB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,SAAS,GAAE,MAA0C,EAAE,OAAO,GAAE,MAA0C;IAKtH;;OAEG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IA+C/C;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA4B5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,MAA0C,EACrD,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,iBAAiB,CAAC,EAAE,MAAM,GACzB,kBAAkB,CAmCpB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAQvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmBrE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,MAAM,EAChD,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,kBAAkB,EAC9B,OAAO,CAAC,EAAE,MAAM,GACf,iBAAiB,CAAC,CAAC,CAAC,CAMtB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,CAa7E"}
|
package/dist/utils/pagination.js
CHANGED
|
@@ -93,9 +93,25 @@ export class ResponseChunker {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
/**
|
|
96
|
-
* Create pagination metadata for a response
|
|
96
|
+
* Create pagination metadata for a response using actual chunk boundaries
|
|
97
97
|
*/
|
|
98
|
-
export function createPaginationMetadata(totalLength, params, chunkSize = PAGINATION_DEFAULTS.DEFAULT_LIMIT) {
|
|
98
|
+
export function createPaginationMetadata(totalLength, params, chunkSize = PAGINATION_DEFAULTS.DEFAULT_LIMIT, chunks, currentChunkIndex) {
|
|
99
|
+
// If chunks and index are provided, use actual boundaries
|
|
100
|
+
if (chunks && currentChunkIndex !== undefined) {
|
|
101
|
+
const currentChunk = chunks[currentChunkIndex];
|
|
102
|
+
const hasMore = currentChunkIndex < chunks.length - 1;
|
|
103
|
+
const nextChunk = hasMore ? chunks[currentChunkIndex + 1] : undefined;
|
|
104
|
+
return {
|
|
105
|
+
total: totalLength,
|
|
106
|
+
offset: currentChunk.startOffset,
|
|
107
|
+
limit: currentChunk.endOffset - currentChunk.startOffset,
|
|
108
|
+
hasMore,
|
|
109
|
+
nextCursor: nextChunk ? `offset:${nextChunk.startOffset}` : undefined,
|
|
110
|
+
chunkIndex: currentChunkIndex + 1, // 1-based for display
|
|
111
|
+
totalChunks: chunks.length
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// Fallback to theoretical calculation (for backwards compatibility)
|
|
99
115
|
const offset = params.offset || 0;
|
|
100
116
|
const limit = Math.min(params.limit || PAGINATION_DEFAULTS.DEFAULT_LIMIT, PAGINATION_DEFAULTS.MAX_LIMIT);
|
|
101
117
|
const totalChunks = Math.ceil(totalLength / chunkSize);
|
|
@@ -124,19 +140,21 @@ export function extractPaginationParams(args) {
|
|
|
124
140
|
};
|
|
125
141
|
}
|
|
126
142
|
/**
|
|
127
|
-
* Parse cursor string to extract pagination state
|
|
143
|
+
* Parse cursor string to extract pagination state with proper clamping
|
|
128
144
|
*/
|
|
129
145
|
export function parseCursor(cursor) {
|
|
130
146
|
try {
|
|
131
147
|
if (cursor.startsWith('offset:')) {
|
|
132
148
|
const offset = parseInt(cursor.substring(7), 10);
|
|
133
|
-
return isNaN(offset) ? {} : { offset };
|
|
149
|
+
return isNaN(offset) ? {} : { offset: Math.max(0, offset) }; // Clamp to non-negative
|
|
134
150
|
}
|
|
135
151
|
// Support JSON cursor format for future extensibility
|
|
136
152
|
const parsed = JSON.parse(cursor);
|
|
137
153
|
return {
|
|
138
|
-
offset: typeof parsed.offset === 'number' ? parsed.offset : undefined,
|
|
139
|
-
limit: typeof parsed.limit === 'number'
|
|
154
|
+
offset: typeof parsed.offset === 'number' ? Math.max(0, parsed.offset) : undefined,
|
|
155
|
+
limit: typeof parsed.limit === 'number'
|
|
156
|
+
? Math.min(Math.max(parsed.limit, PAGINATION_DEFAULTS.MIN_LIMIT), PAGINATION_DEFAULTS.MAX_LIMIT)
|
|
157
|
+
: undefined
|
|
140
158
|
};
|
|
141
159
|
}
|
|
142
160
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/utils/pagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export interface CachedResponse {
|
|
|
6
6
|
requestParams: Record<string, unknown>;
|
|
7
7
|
compressed: boolean;
|
|
8
8
|
size: number;
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
requestId?: string;
|
|
9
11
|
}
|
|
10
12
|
export interface CacheStats {
|
|
11
13
|
entries: number;
|
|
@@ -18,7 +20,8 @@ export interface CacheStats {
|
|
|
18
20
|
* LRU Response Cache with TTL and memory management
|
|
19
21
|
*/
|
|
20
22
|
export declare class ResponseCache {
|
|
21
|
-
private
|
|
23
|
+
private entries;
|
|
24
|
+
private analysisIdMap;
|
|
22
25
|
private accessOrder;
|
|
23
26
|
private stats;
|
|
24
27
|
private readonly maxEntries;
|
|
@@ -39,20 +42,29 @@ export declare class ResponseCache {
|
|
|
39
42
|
*/
|
|
40
43
|
generateCacheKey(params: Record<string, unknown>): string;
|
|
41
44
|
/**
|
|
42
|
-
* Generate
|
|
45
|
+
* Generate secure analysis ID (UUID instead of 8-char hash)
|
|
43
46
|
*/
|
|
44
47
|
generateAnalysisId(cacheKey: string): string;
|
|
45
48
|
/**
|
|
46
|
-
*
|
|
49
|
+
* Find existing analysis_id for a given cache key
|
|
47
50
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
findAnalysisIdForKey(cacheKey: string): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Create alias analysis_id that maps to same cache entry
|
|
54
|
+
* Used for pagination - each request gets unique analysis_id but shares cached content
|
|
55
|
+
*/
|
|
56
|
+
createAlias(existingAnalysisId: string, cacheKey: string): string;
|
|
57
|
+
/**
|
|
58
|
+
* Store response with session binding
|
|
59
|
+
*/
|
|
60
|
+
set(data: Record<string, any>, content: string, cacheKey?: string, sessionId?: string, requestId?: string): Promise<{
|
|
50
61
|
analysisId: string;
|
|
62
|
+
cacheKey: string;
|
|
51
63
|
}>;
|
|
52
64
|
/**
|
|
53
|
-
* Retrieve response
|
|
65
|
+
* Retrieve response with session validation
|
|
54
66
|
*/
|
|
55
|
-
get(
|
|
67
|
+
get(analysisIdOrCacheKey: string, sessionId?: string): Promise<string | null>;
|
|
56
68
|
/**
|
|
57
69
|
* Check if key exists in cache
|
|
58
70
|
*/
|
|
@@ -77,6 +89,10 @@ export declare class ResponseCache {
|
|
|
77
89
|
* Get cache statistics
|
|
78
90
|
*/
|
|
79
91
|
getStats(): CacheStats;
|
|
92
|
+
/**
|
|
93
|
+
* Retrieve response by analysis ID, returning full cached response object
|
|
94
|
+
*/
|
|
95
|
+
getByAnalysisId(analysisId: string, sessionId?: string): Promise<CachedResponse | null>;
|
|
80
96
|
/**
|
|
81
97
|
* Clear entire cache
|
|
82
98
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-cache.d.ts","sourceRoot":"","sources":["../../src/utils/response-cache.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"response-cache.d.ts","sourceRoot":"","sources":["../../src/utils/response-cache.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAqBD,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,aAAa,CAAwC;IAC7D,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,KAAK,CAMX;IAGF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAChD,OAAO,CAAC,YAAY,CAAC,CAAiB;gBAE1B,OAAO,GAAE;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;KAC5B;IAsBN;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAgBzD;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI5C;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IASrD;;;OAGG;IACH,WAAW,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAiBjE;;OAEG;IACG,GAAG,CACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAkEpD;;OAEG;IACG,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAuEnF;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAkB7B;;OAEG;IACH,OAAO,CAAC,MAAM;IAoBd;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;YACW,cAAc;IAoB5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA+D7F;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,OAAO,IAAI,IAAI;CAQhB"}
|