leangraph 1.1.7 → 1.1.8

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/dist/routes.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Hono } from "hono";
2
2
  import { DatabaseManager } from "./db.js";
3
- import { BackupManager } from "./backup.js";
4
3
  import { ApiKeyStore } from "./auth.js";
5
4
  export interface QueryRequest {
6
5
  cypher: string;
@@ -9,7 +8,7 @@ export interface QueryRequest {
9
8
  export interface AppContext {
10
9
  dbManager: DatabaseManager;
11
10
  }
12
- export declare function createApp(dbManager: DatabaseManager, dataPath?: string, backupManager?: BackupManager, apiKeyStore?: ApiKeyStore): Hono;
11
+ export declare function createApp(dbManager: DatabaseManager, apiKeyStore?: ApiKeyStore): Hono;
13
12
  export interface ServerOptions {
14
13
  port?: number;
15
14
  dataPath?: string;
@@ -22,7 +21,6 @@ export interface ServerOptions {
22
21
  export declare function createServer(options?: ServerOptions): {
23
22
  app: Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
24
23
  dbManager: DatabaseManager;
25
- backupManager: BackupManager | undefined;
26
24
  apiKeyStore: ApiKeyStore | undefined;
27
25
  port: number;
28
26
  fetch: (request: Request, Env?: unknown, executionCtx?: import("hono").ExecutionContext) => Response | Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAMxD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,eAAe,CAAC;CAC5B;AAMD,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,WAAW,GACxB,IAAI,CAmMN;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB;;;;;;;EAuBvD"}
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAW,MAAM,MAAM,CAAC;AAErC,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAMxD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,eAAe,CAAC;CAC5B;AA8FD,wBAAgB,SAAS,CACvB,SAAS,EAAE,eAAe,EAC1B,WAAW,CAAC,EAAE,WAAW,GACxB,IAAI,CA6JN;AAMD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB;;;;;;EAqBvD"}
package/dist/routes.js CHANGED
@@ -1,14 +1,113 @@
1
1
  // HTTP Routes using Hono
2
2
  import { Hono } from "hono";
3
+ import { cors } from "hono/cors";
3
4
  import { DatabaseManager } from "./db.js";
4
5
  import { Executor } from "./executor.js";
5
- import { BackupManager } from "./backup.js";
6
6
  import { ApiKeyStore, authMiddleware } from "./auth.js";
7
7
  // ============================================================================
8
+ // Security: CORS Configuration
9
+ // ============================================================================
10
+ /**
11
+ * Default CORS configuration - restrictive by default.
12
+ * In production, configure with specific allowed origins.
13
+ */
14
+ const DEFAULT_CORS_ORIGIN = process.env.CORS_ORIGIN || "http://localhost:3000";
15
+ const ALLOWED_ORIGINS = process.env.CORS_ORIGINS?.split(",") || [DEFAULT_CORS_ORIGIN];
16
+ // ============================================================================
17
+ // Security: Project Name Validation
18
+ // ============================================================================
19
+ /**
20
+ * Validate a project name to prevent path traversal and other attacks.
21
+ * Only allows alphanumeric characters, hyphens, underscores, and dots (not leading).
22
+ */
23
+ const PROJECT_NAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9._-]*$/;
24
+ const MAX_PROJECT_NAME_LENGTH = 64;
25
+ function isValidProjectName(name) {
26
+ if (!name || name.length > MAX_PROJECT_NAME_LENGTH)
27
+ return false;
28
+ if (!PROJECT_NAME_REGEX.test(name))
29
+ return false;
30
+ // Reject names that could be path traversal even if regex passes
31
+ if (name.includes("..") || name.includes("/") || name.includes("\\"))
32
+ return false;
33
+ return true;
34
+ }
35
+ const rateLimitMap = new Map();
36
+ const RATE_LIMIT_WINDOW_MS = 60_000; // 1 minute
37
+ const RATE_LIMIT_MAX_REQUESTS = parseInt(process.env.RATE_LIMIT_MAX || "10000", 10); // per minute
38
+ function checkRateLimit(identifier) {
39
+ const now = Date.now();
40
+ const entry = rateLimitMap.get(identifier);
41
+ if (!entry || now > entry.resetTime) {
42
+ // New window
43
+ rateLimitMap.set(identifier, {
44
+ count: 1,
45
+ resetTime: now + RATE_LIMIT_WINDOW_MS,
46
+ });
47
+ return { allowed: true };
48
+ }
49
+ if (entry.count >= RATE_LIMIT_MAX_REQUESTS) {
50
+ return { allowed: false, retryAfter: Math.ceil((entry.resetTime - now) / 1000) };
51
+ }
52
+ entry.count++;
53
+ return { allowed: true };
54
+ }
55
+ /**
56
+ * Trust proxy headers only when TRUST_PROXY env var is set.
57
+ * Without a trusted proxy, X-Forwarded-For can be spoofed to bypass rate limits.
58
+ */
59
+ const TRUST_PROXY = process.env.TRUST_PROXY === "true" || process.env.TRUST_PROXY === "1";
60
+ function getClientIdentifier(c) {
61
+ if (TRUST_PROXY) {
62
+ // Only trust proxy headers when explicitly configured
63
+ const forwardedFor = c.req.header("X-Forwarded-For");
64
+ if (forwardedFor) {
65
+ return forwardedFor.split(",")[0].trim();
66
+ }
67
+ const realIp = c.req.header("X-Real-Ip");
68
+ if (realIp)
69
+ return realIp;
70
+ }
71
+ // Default: use remote address from the connection
72
+ // Hono provides this via c.env or the underlying request
73
+ const connInfo = c.req.raw;
74
+ // @ts-ignore - Node.js socket info
75
+ const remoteAddr = connInfo?.socket?.remoteAddress;
76
+ return remoteAddr || "unknown";
77
+ }
78
+ // ============================================================================
8
79
  // Create App
9
80
  // ============================================================================
10
- export function createApp(dbManager, dataPath, backupManager, apiKeyStore) {
81
+ export function createApp(dbManager, apiKeyStore) {
11
82
  const app = new Hono();
83
+ // CORS middleware - must be before other middleware
84
+ app.use("*", cors({
85
+ origin: (origin) => {
86
+ // Requests with no origin (curl, server-to-server) get no CORS header
87
+ // This prevents browsers from caching a wildcard Access-Control-Allow-Origin
88
+ if (!origin)
89
+ return DEFAULT_CORS_ORIGIN;
90
+ // Check if origin is in allowed list
91
+ if (ALLOWED_ORIGINS.includes(origin))
92
+ return origin;
93
+ // Default: deny
94
+ return null;
95
+ },
96
+ allowMethods: ["GET", "POST", "OPTIONS"],
97
+ allowHeaders: ["Content-Type", "Authorization"],
98
+ maxAge: 86400, // 24 hours
99
+ }));
100
+ // Security headers middleware
101
+ app.use("*", async (c, next) => {
102
+ await next();
103
+ c.header("X-Content-Type-Options", "nosniff");
104
+ c.header("X-Frame-Options", "DENY");
105
+ c.header("X-XSS-Protection", "0"); // Disabled in favor of CSP; legacy header can cause issues
106
+ c.header("Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'");
107
+ c.header("Referrer-Policy", "no-referrer");
108
+ c.header("Cache-Control", "no-store");
109
+ c.header("Permissions-Policy", "camera=(), microphone=(), geolocation=()");
110
+ });
12
111
  // Add auth middleware if API key store is provided
13
112
  if (apiKeyStore && apiKeyStore.hasKeys()) {
14
113
  app.use("*", authMiddleware(apiKeyStore));
@@ -26,7 +125,32 @@ export function createApp(dbManager, dataPath, backupManager, apiKeyStore) {
26
125
  // Query Endpoint
27
126
  // ============================================================================
28
127
  app.post("/query/:project", async (c) => {
128
+ // Rate limiting check
129
+ const clientId = getClientIdentifier(c);
130
+ const rateLimit = checkRateLimit(clientId);
131
+ if (!rateLimit.allowed) {
132
+ c.header("Retry-After", String(rateLimit.retryAfter));
133
+ return c.json({
134
+ success: false,
135
+ error: { message: "Rate limit exceeded. Please try again later." },
136
+ }, 429);
137
+ }
138
+ // Content-Type validation
139
+ const contentType = c.req.header("Content-Type");
140
+ if (!contentType || !contentType.includes("application/json")) {
141
+ return c.json({
142
+ success: false,
143
+ error: { message: "Content-Type must be application/json" },
144
+ }, 415);
145
+ }
29
146
  const project = c.req.param("project");
147
+ // Validate project name to prevent path traversal
148
+ if (!isValidProjectName(project)) {
149
+ return c.json({
150
+ success: false,
151
+ error: { message: "Invalid project name" },
152
+ }, 400);
153
+ }
30
154
  // Parse request body
31
155
  let body;
32
156
  try {
@@ -45,131 +169,52 @@ export function createApp(dbManager, dataPath, backupManager, apiKeyStore) {
45
169
  error: { message: "Missing or invalid 'cypher' field" },
46
170
  }, 400);
47
171
  }
172
+ // Limit query size to prevent stack overflow / resource exhaustion
173
+ const MAX_QUERY_LENGTH = 100_000;
174
+ if (body.cypher.length > MAX_QUERY_LENGTH) {
175
+ return c.json({
176
+ success: false,
177
+ error: { message: `Query exceeds maximum length of ${MAX_QUERY_LENGTH} characters` },
178
+ }, 400);
179
+ }
48
180
  // Get database for this project
49
181
  const db = dbManager.getDatabase(project);
50
182
  // Execute query
51
183
  const executor = new Executor(db);
52
184
  const result = executor.execute(body.cypher, body.params || {});
53
185
  if (!result.success) {
54
- return c.json(result, 400);
55
- }
56
- return c.json(result);
57
- });
58
- // ============================================================================
59
- // Admin Endpoints
60
- // ============================================================================
61
- app.get("/admin/list", (c) => {
62
- const projects = dbManager.listDatabases();
63
- return c.json({
64
- success: true,
65
- data: { projects },
66
- });
67
- });
68
- app.post("/admin/projects/:project", (c) => {
69
- const project = c.req.param("project");
70
- // Creating a database just by accessing it
71
- dbManager.getDatabase(project);
72
- return c.json({
73
- success: true,
74
- message: `Created database for ${project}`,
75
- });
76
- });
77
- app.post("/admin/wipe/:project", (c) => {
78
- const project = c.req.param("project");
79
- const db = dbManager.getDatabase(project);
80
- // Clear all data
81
- db.execute("DELETE FROM edges");
82
- db.execute("DELETE FROM nodes");
83
- return c.json({
84
- success: true,
85
- message: `Wiped database for ${project}`,
86
- });
87
- });
88
- // ============================================================================
89
- // Backup Endpoints
90
- // ============================================================================
91
- app.get("/admin/backup", (c) => {
92
- if (!backupManager) {
93
- return c.json({
94
- success: false,
95
- error: { message: "Backup not configured. Set backupPath in server options." },
96
- }, 400);
97
- }
98
- const status = backupManager.getBackupStatus();
99
- return c.json({
100
- success: true,
101
- data: status,
102
- });
103
- });
104
- app.post("/admin/backup", async (c) => {
105
- if (!backupManager || !dataPath) {
186
+ // Sanitize internal error messages to prevent information disclosure
187
+ const safeMessage = result.error.message
188
+ .replace(/Maximum call stack size exceeded/g, "Query too complex or deeply nested")
189
+ .replace(/SQLITE_ERROR: /g, "")
190
+ .replace(/at .+\(.+\)/g, ""); // Strip stack trace fragments
106
191
  return c.json({
107
192
  success: false,
108
- error: { message: "Backup not configured. Set backupPath in server options." },
109
- }, 400);
110
- }
111
- // Get optional project param for single project backup
112
- const project = c.req.query("project");
113
- if (project) {
114
- // Backup single project
115
- const sourcePath = `${dataPath}/${project}.db`;
116
- const result = await backupManager.backupDatabase(sourcePath, project);
117
- if (!result.success) {
118
- return c.json({
119
- success: false,
120
- error: { message: result.error },
121
- }, 400);
122
- }
123
- return c.json({
124
- success: true,
125
- data: {
126
- project: result.project,
127
- backupPath: result.backupPath,
128
- sizeBytes: result.sizeBytes,
129
- durationMs: result.durationMs,
193
+ error: {
194
+ message: safeMessage,
195
+ ...(result.error.position !== undefined && { position: result.error.position }),
196
+ ...(result.error.line !== undefined && { line: result.error.line }),
197
+ ...(result.error.column !== undefined && { column: result.error.column }),
130
198
  },
131
- });
199
+ }, 400);
132
200
  }
133
- // Backup all databases
134
- const results = await backupManager.backupAll(dataPath);
135
- const successful = results.filter(r => r.success);
136
- const failed = results.filter(r => !r.success);
137
- return c.json({
138
- success: failed.length === 0,
139
- data: {
140
- total: results.length,
141
- successful: successful.length,
142
- failed: failed.length,
143
- backups: successful.map(r => ({
144
- project: r.project,
145
- backupPath: r.backupPath,
146
- sizeBytes: r.sizeBytes,
147
- durationMs: r.durationMs,
148
- })),
149
- errors: failed.map(r => ({
150
- project: r.project,
151
- error: r.error,
152
- })),
153
- },
154
- });
201
+ return c.json(result);
155
202
  });
156
203
  return app;
157
204
  }
158
205
  export function createServer(options = {}) {
159
206
  const { port = 3000, dataPath = ":memory:", backupPath, apiKeys } = options;
160
207
  const dbManager = new DatabaseManager(dataPath);
161
- const backupManager = backupPath ? new BackupManager(backupPath) : undefined;
162
208
  // Set up API key authentication if keys are provided
163
209
  let apiKeyStore;
164
210
  if (apiKeys) {
165
211
  apiKeyStore = new ApiKeyStore();
166
212
  apiKeyStore.loadKeys(apiKeys);
167
213
  }
168
- const app = createApp(dbManager, dataPath, backupManager, apiKeyStore);
214
+ const app = createApp(dbManager, apiKeyStore);
169
215
  return {
170
216
  app,
171
217
  dbManager,
172
- backupManager,
173
218
  apiKeyStore,
174
219
  port,
175
220
  fetch: app.fetch,
@@ -1 +1 @@
1
- {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../src/translator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../src/translator.ts"],"names":[],"mappings":"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"}