procsi 0.3.1 → 0.4.1

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 (107) hide show
  1. package/README.md +77 -498
  2. package/dist/cli/commands/daemon.d.ts.map +1 -1
  3. package/dist/cli/commands/daemon.js +1 -0
  4. package/dist/cli/commands/daemon.js.map +1 -1
  5. package/dist/cli/commands/off.d.ts.map +1 -1
  6. package/dist/cli/commands/off.js +12 -2
  7. package/dist/cli/commands/off.js.map +1 -1
  8. package/dist/cli/commands/on.d.ts +33 -0
  9. package/dist/cli/commands/on.d.ts.map +1 -1
  10. package/dist/cli/commands/on.js +94 -4
  11. package/dist/cli/commands/on.js.map +1 -1
  12. package/dist/cli/commands/request.d.ts.map +1 -1
  13. package/dist/cli/commands/request.js +61 -5
  14. package/dist/cli/commands/request.js.map +1 -1
  15. package/dist/cli/commands/requests.d.ts.map +1 -1
  16. package/dist/cli/commands/requests.js +9 -1
  17. package/dist/cli/commands/requests.js.map +1 -1
  18. package/dist/cli/formatters/detail.d.ts.map +1 -1
  19. package/dist/cli/formatters/detail.js +9 -2
  20. package/dist/cli/formatters/detail.js.map +1 -1
  21. package/dist/cli/formatters/table.d.ts.map +1 -1
  22. package/dist/cli/formatters/table.js +11 -1
  23. package/dist/cli/formatters/table.js.map +1 -1
  24. package/dist/cli/tui/App.d.ts.map +1 -1
  25. package/dist/cli/tui/App.js +43 -1
  26. package/dist/cli/tui/App.js.map +1 -1
  27. package/dist/cli/tui/components/AccordionPanel.d.ts.map +1 -1
  28. package/dist/cli/tui/components/AccordionPanel.js +1 -1
  29. package/dist/cli/tui/components/AccordionPanel.js.map +1 -1
  30. package/dist/cli/tui/components/FilterBar.d.ts.map +1 -1
  31. package/dist/cli/tui/components/FilterBar.js +34 -3
  32. package/dist/cli/tui/components/FilterBar.js.map +1 -1
  33. package/dist/cli/tui/components/HelpModal.d.ts.map +1 -1
  34. package/dist/cli/tui/components/HelpModal.js +2 -0
  35. package/dist/cli/tui/components/HelpModal.js.map +1 -1
  36. package/dist/cli/tui/components/RequestListItem.d.ts.map +1 -1
  37. package/dist/cli/tui/components/RequestListItem.js +3 -2
  38. package/dist/cli/tui/components/RequestListItem.js.map +1 -1
  39. package/dist/cli/tui/components/StatusBar.d.ts.map +1 -1
  40. package/dist/cli/tui/components/StatusBar.js +2 -0
  41. package/dist/cli/tui/components/StatusBar.js.map +1 -1
  42. package/dist/cli/tui/hooks/useRequests.d.ts +4 -0
  43. package/dist/cli/tui/hooks/useRequests.d.ts.map +1 -1
  44. package/dist/cli/tui/hooks/useRequests.js +36 -0
  45. package/dist/cli/tui/hooks/useRequests.js.map +1 -1
  46. package/dist/cli/tui/utils/filters.d.ts.map +1 -1
  47. package/dist/cli/tui/utils/filters.js +3 -1
  48. package/dist/cli/tui/utils/filters.js.map +1 -1
  49. package/dist/daemon/control.d.ts.map +1 -1
  50. package/dist/daemon/control.js +23 -1
  51. package/dist/daemon/control.js.map +1 -1
  52. package/dist/daemon/index.js +35 -3
  53. package/dist/daemon/index.js.map +1 -1
  54. package/dist/daemon/interceptor-loader.d.ts.map +1 -1
  55. package/dist/daemon/interceptor-loader.js +5 -0
  56. package/dist/daemon/interceptor-loader.js.map +1 -1
  57. package/dist/daemon/proxy.d.ts.map +1 -1
  58. package/dist/daemon/proxy.js +99 -4
  59. package/dist/daemon/proxy.js.map +1 -1
  60. package/dist/daemon/storage.d.ts +18 -4
  61. package/dist/daemon/storage.d.ts.map +1 -1
  62. package/dist/daemon/storage.js +111 -25
  63. package/dist/daemon/storage.js.map +1 -1
  64. package/dist/mcp/server.d.ts +3 -0
  65. package/dist/mcp/server.d.ts.map +1 -1
  66. package/dist/mcp/server.js +65 -2
  67. package/dist/mcp/server.js.map +1 -1
  68. package/dist/overrides/node.d.ts.map +1 -1
  69. package/dist/overrides/node.js +62 -0
  70. package/dist/overrides/node.js.map +1 -1
  71. package/dist/overrides/php.d.ts +15 -0
  72. package/dist/overrides/php.d.ts.map +1 -0
  73. package/dist/overrides/php.js +29 -0
  74. package/dist/overrides/php.js.map +1 -0
  75. package/dist/overrides/python.d.ts +19 -0
  76. package/dist/overrides/python.d.ts.map +1 -0
  77. package/dist/overrides/python.js +74 -0
  78. package/dist/overrides/python.js.map +1 -0
  79. package/dist/overrides/ruby.d.ts +17 -0
  80. package/dist/overrides/ruby.d.ts.map +1 -0
  81. package/dist/overrides/ruby.js +55 -0
  82. package/dist/overrides/ruby.js.map +1 -0
  83. package/dist/shared/constants.d.ts +10 -0
  84. package/dist/shared/constants.d.ts.map +1 -0
  85. package/dist/shared/constants.js +10 -0
  86. package/dist/shared/constants.js.map +1 -0
  87. package/dist/shared/control-client.d.ts +15 -3
  88. package/dist/shared/control-client.d.ts.map +1 -1
  89. package/dist/shared/control-client.js +15 -3
  90. package/dist/shared/control-client.js.map +1 -1
  91. package/dist/shared/daemon.js +1 -0
  92. package/dist/shared/daemon.js.map +1 -1
  93. package/dist/shared/process-name.d.ts +10 -0
  94. package/dist/shared/process-name.d.ts.map +1 -0
  95. package/dist/shared/process-name.js +27 -0
  96. package/dist/shared/process-name.js.map +1 -0
  97. package/dist/shared/project.d.ts +4 -0
  98. package/dist/shared/project.d.ts.map +1 -1
  99. package/dist/shared/project.js +4 -0
  100. package/dist/shared/project.js.map +1 -1
  101. package/dist/shared/proxy-info.d.ts.map +1 -1
  102. package/dist/shared/proxy-info.js +5 -0
  103. package/dist/shared/proxy-info.js.map +1 -1
  104. package/dist/shared/types.d.ts +10 -0
  105. package/dist/shared/types.d.ts.map +1 -1
  106. package/package.json +2 -1
  107. package/skills/procsi/SKILL.md +5 -4
@@ -1,16 +1,20 @@
1
1
  import Database from "better-sqlite3";
2
+ import { randomBytes } from "node:crypto";
2
3
  import { v4 as uuidv4 } from "uuid";
3
4
  import { createLogger } from "../shared/logger.js";
4
5
  import { normaliseContentType, buildTextContentTypeSqlCondition, buildJsonContentTypeSqlCondition, } from "../shared/content-type.js";
5
6
  import { DEFAULT_MAX_STORED_REQUESTS } from "../shared/config.js";
6
7
  const DEFAULT_QUERY_LIMIT = 1000;
7
8
  const EVICTION_CHECK_INTERVAL = 100;
9
+ const SESSION_TOKEN_BYTES = 16;
8
10
  const SCHEMA = `
9
11
  CREATE TABLE IF NOT EXISTS sessions (
10
12
  id TEXT PRIMARY KEY,
11
13
  label TEXT,
12
14
  pid INTEGER NOT NULL,
13
- started_at INTEGER NOT NULL
15
+ started_at INTEGER NOT NULL,
16
+ source TEXT,
17
+ internal_token TEXT
14
18
  );
15
19
 
16
20
  CREATE TABLE IF NOT EXISTS requests (
@@ -34,6 +38,8 @@ CREATE TABLE IF NOT EXISTS requests (
34
38
  response_content_type TEXT,
35
39
  intercepted_by TEXT,
36
40
  interception_type TEXT CHECK(interception_type IN ('modified', 'mocked')),
41
+ source TEXT,
42
+ saved INTEGER DEFAULT 0,
37
43
  created_at INTEGER DEFAULT (unixepoch()),
38
44
  FOREIGN KEY (session_id) REFERENCES sessions(id)
39
45
  );
@@ -83,10 +89,31 @@ const MIGRATIONS = [
83
89
  ALTER TABLE requests ADD COLUMN interception_type TEXT;
84
90
  `,
85
91
  },
92
+ {
93
+ version: 6,
94
+ description: "Add saved/bookmark column",
95
+ sql: `ALTER TABLE requests ADD COLUMN saved INTEGER DEFAULT 0;`,
96
+ },
97
+ {
98
+ version: 7,
99
+ description: "Add source column for request/session attribution",
100
+ sql: `
101
+ ALTER TABLE sessions ADD COLUMN source TEXT;
102
+ ALTER TABLE requests ADD COLUMN source TEXT;
103
+ `,
104
+ },
105
+ {
106
+ version: 8,
107
+ description: "Add internal session token for trusted runtime attribution headers",
108
+ sql: `ALTER TABLE sessions ADD COLUMN internal_token TEXT;`,
109
+ },
86
110
  ];
87
111
  const STATUS_RANGE_MULTIPLIER = 100;
88
112
  const MIN_HTTP_STATUS = 100;
89
113
  const MAX_HTTP_STATUS = 599;
114
+ function generateSessionToken() {
115
+ return randomBytes(SESSION_TOKEN_BYTES).toString("hex");
116
+ }
90
117
  /**
91
118
  * Escape SQL LIKE wildcards in user input to prevent unintended pattern matching.
92
119
  */
@@ -148,10 +175,13 @@ function applyFilterConditions(conditions, params, filter) {
148
175
  applyStatusCondition(conditions, params, filter.statusRange);
149
176
  }
150
177
  if (filter.search) {
151
- const escaped = escapeLikeWildcards(filter.search);
152
- const pattern = `%${escaped}%`;
153
- conditions.push("(url LIKE ? ESCAPE '\\' OR path LIKE ? ESCAPE '\\')");
154
- params.push(pattern, pattern);
178
+ const terms = filter.search.split(/\s+/).filter(Boolean);
179
+ for (const term of terms) {
180
+ const escaped = escapeLikeWildcards(term);
181
+ const pattern = `%${escaped}%`;
182
+ conditions.push("(url LIKE ? ESCAPE '\\' OR path LIKE ? ESCAPE '\\')");
183
+ params.push(pattern, pattern);
184
+ }
155
185
  }
156
186
  if (filter.host) {
157
187
  if (filter.host.startsWith(".")) {
@@ -183,6 +213,16 @@ function applyFilterConditions(conditions, params, filter) {
183
213
  conditions.push("intercepted_by = ?");
184
214
  params.push(filter.interceptedBy);
185
215
  }
216
+ if (filter.saved === true) {
217
+ conditions.push("saved = 1");
218
+ }
219
+ else if (filter.saved === false) {
220
+ conditions.push("saved = 0");
221
+ }
222
+ if (filter.source) {
223
+ conditions.push("source = ?");
224
+ params.push(filter.source);
225
+ }
186
226
  if (filter.headerName) {
187
227
  const name = filter.headerName.toLowerCase();
188
228
  const jsonPath = `$."${name}"`;
@@ -264,18 +304,20 @@ export class RequestRepository {
264
304
  /**
265
305
  * Register a new session.
266
306
  */
267
- registerSession(label, pid = process.pid) {
307
+ registerSession(label, pid = process.pid, source) {
268
308
  const session = {
269
309
  id: uuidv4(),
270
310
  label,
311
+ source,
312
+ token: generateSessionToken(),
271
313
  pid,
272
314
  startedAt: Date.now(),
273
315
  };
274
316
  const stmt = this.db.prepare(`
275
- INSERT INTO sessions (id, label, pid, started_at)
276
- VALUES (?, ?, ?, ?)
317
+ INSERT INTO sessions (id, label, pid, started_at, source, internal_token)
318
+ VALUES (?, ?, ?, ?, ?, ?)
277
319
  `);
278
- stmt.run(session.id, session.label ?? null, session.pid, session.startedAt);
320
+ stmt.run(session.id, session.label ?? null, session.pid, session.startedAt, session.source ?? null, session.token);
279
321
  return session;
280
322
  }
281
323
  /**
@@ -283,27 +325,45 @@ export class RequestRepository {
283
325
  * If the session already exists, returns it unchanged.
284
326
  * If not, creates a new session with the given ID.
285
327
  */
286
- ensureSession(id, label, pid = process.pid) {
328
+ ensureSession(id, label, pid = process.pid, source) {
287
329
  const startedAt = Date.now();
288
330
  const stmt = this.db.prepare(`
289
- INSERT OR IGNORE INTO sessions (id, label, pid, started_at)
290
- VALUES (?, ?, ?, ?)
331
+ INSERT OR IGNORE INTO sessions (id, label, pid, started_at, source, internal_token)
332
+ VALUES (?, ?, ?, ?, ?, ?)
291
333
  `);
292
- stmt.run(id, label ?? null, pid, startedAt);
334
+ stmt.run(id, label ?? null, pid, startedAt, source ?? null, null);
293
335
  // Return the session (either newly created or existing)
294
336
  const existing = this.getSession(id);
295
337
  if (existing) {
296
338
  return existing;
297
339
  }
298
340
  // This should never happen since we just inserted, but satisfies the type checker
299
- return { id, label, pid, startedAt };
341
+ return { id, label, source, pid, startedAt };
342
+ }
343
+ /**
344
+ * Validate a session ID/token pair and return that session's source when valid.
345
+ */
346
+ getSessionAuth(id, token) {
347
+ const stmt = this.db.prepare(`
348
+ SELECT source
349
+ FROM sessions
350
+ WHERE id = ? AND internal_token = ?
351
+ LIMIT 1
352
+ `);
353
+ const row = stmt.get(id, token);
354
+ if (!row) {
355
+ return undefined;
356
+ }
357
+ return {
358
+ source: row.source ?? undefined,
359
+ };
300
360
  }
301
361
  /**
302
362
  * Get a session by ID.
303
363
  */
304
364
  getSession(id) {
305
365
  const stmt = this.db.prepare(`
306
- SELECT id, label, pid, started_at as startedAt
366
+ SELECT id, label, pid, started_at as startedAt, source
307
367
  FROM sessions
308
368
  WHERE id = ?
309
369
  `);
@@ -314,6 +374,7 @@ export class RequestRepository {
314
374
  return {
315
375
  id: row.id,
316
376
  label: row.label ?? undefined,
377
+ source: row.source ?? undefined,
317
378
  pid: row.pid,
318
379
  startedAt: row.startedAt,
319
380
  };
@@ -323,7 +384,7 @@ export class RequestRepository {
323
384
  */
324
385
  listSessions() {
325
386
  const stmt = this.db.prepare(`
326
- SELECT id, label, pid, started_at as startedAt
387
+ SELECT id, label, pid, started_at as startedAt, source
327
388
  FROM sessions
328
389
  ORDER BY started_at DESC
329
390
  `);
@@ -331,6 +392,7 @@ export class RequestRepository {
331
392
  return rows.map((row) => ({
332
393
  id: row.id,
333
394
  label: row.label ?? undefined,
395
+ source: row.source ?? undefined,
334
396
  pid: row.pid,
335
397
  startedAt: row.startedAt,
336
398
  }));
@@ -347,11 +409,11 @@ export class RequestRepository {
347
409
  INSERT INTO requests (
348
410
  id, session_id, label, timestamp, method, url, host, path,
349
411
  request_headers, request_body, request_body_truncated, response_status, response_headers,
350
- response_body, response_body_truncated, duration_ms, request_content_type
412
+ response_body, response_body_truncated, duration_ms, request_content_type, source
351
413
  )
352
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
414
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
353
415
  `);
354
- stmt.run(id, request.sessionId, request.label ?? null, request.timestamp, request.method, request.url, request.host, request.path, request.requestHeaders ? JSON.stringify(request.requestHeaders) : null, request.requestBody ?? null, request.requestBodyTruncated ? 1 : 0, request.responseStatus ?? null, request.responseHeaders ? JSON.stringify(request.responseHeaders) : null, request.responseBody ?? null, request.responseBodyTruncated ? 1 : 0, request.durationMs ?? null, requestContentType);
416
+ stmt.run(id, request.sessionId, request.label ?? null, request.timestamp, request.method, request.url, request.host, request.path, request.requestHeaders ? JSON.stringify(request.requestHeaders) : null, request.requestBody ?? null, request.requestBodyTruncated ? 1 : 0, request.responseStatus ?? null, request.responseHeaders ? JSON.stringify(request.responseHeaders) : null, request.responseBody ?? null, request.responseBodyTruncated ? 1 : 0, request.durationMs ?? null, requestContentType, request.source ?? null);
355
417
  this.logger?.debug("Request saved", {
356
418
  id,
357
419
  sessionId: request.sessionId,
@@ -446,6 +508,7 @@ export class RequestRepository {
446
508
  id,
447
509
  session_id,
448
510
  label,
511
+ source,
449
512
  timestamp,
450
513
  method,
451
514
  url,
@@ -456,7 +519,8 @@ export class RequestRepository {
456
519
  COALESCE(LENGTH(request_body), 0) as request_body_size,
457
520
  COALESCE(LENGTH(response_body), 0) as response_body_size,
458
521
  intercepted_by,
459
- interception_type
522
+ interception_type,
523
+ saved
460
524
  FROM requests
461
525
  ${whereClause}
462
526
  ORDER BY timestamp DESC
@@ -512,6 +576,7 @@ export class RequestRepository {
512
576
  id,
513
577
  session_id,
514
578
  label,
579
+ source,
515
580
  timestamp,
516
581
  method,
517
582
  url,
@@ -522,7 +587,8 @@ export class RequestRepository {
522
587
  COALESCE(LENGTH(request_body), 0) as request_body_size,
523
588
  COALESCE(LENGTH(response_body), 0) as response_body_size,
524
589
  intercepted_by,
525
- interception_type
590
+ interception_type,
591
+ saved
526
592
  FROM requests
527
593
  ${whereClause}
528
594
  ORDER BY timestamp DESC
@@ -658,10 +724,24 @@ export class RequestRepository {
658
724
  }));
659
725
  }
660
726
  /**
661
- * Delete all requests (useful for cleanup).
727
+ * Mark a request as saved (bookmarked). Returns whether a row was affected.
728
+ */
729
+ bookmarkRequest(id) {
730
+ const result = this.db.prepare("UPDATE requests SET saved = 1 WHERE id = ?").run(id);
731
+ return result.changes > 0;
732
+ }
733
+ /**
734
+ * Remove the saved (bookmark) flag from a request. Returns whether a row was affected.
735
+ */
736
+ unbookmarkRequest(id) {
737
+ const result = this.db.prepare("UPDATE requests SET saved = 0 WHERE id = ?").run(id);
738
+ return result.changes > 0;
739
+ }
740
+ /**
741
+ * Delete all unsaved requests. Saved (bookmarked) requests are preserved.
662
742
  */
663
743
  clearRequests() {
664
- this.db.exec("DELETE FROM requests");
744
+ this.db.exec("DELETE FROM requests WHERE saved = 0");
665
745
  }
666
746
  /**
667
747
  * Reclaim disk space by checkpointing the WAL and vacuuming.
@@ -688,14 +768,16 @@ export class RequestRepository {
688
768
  return;
689
769
  }
690
770
  this.insertsSinceLastEvictionCheck = 0;
691
- const { count } = this.db.prepare("SELECT COUNT(*) as count FROM requests").get();
771
+ const { count } = this.db
772
+ .prepare("SELECT COUNT(*) as count FROM requests WHERE saved = 0")
773
+ .get();
692
774
  if (count <= this.maxStoredRequests) {
693
775
  return;
694
776
  }
695
777
  const excess = count - this.maxStoredRequests;
696
778
  this.db
697
779
  .prepare(`DELETE FROM requests WHERE id IN (
698
- SELECT id FROM requests ORDER BY timestamp ASC LIMIT ?
780
+ SELECT id FROM requests WHERE saved = 0 ORDER BY timestamp ASC LIMIT ?
699
781
  )`)
700
782
  .run(excess);
701
783
  this.logger?.debug("Evicted old requests", {
@@ -708,6 +790,7 @@ export class RequestRepository {
708
790
  id: row.id,
709
791
  sessionId: row.session_id,
710
792
  label: row.label ?? undefined,
793
+ source: row.source ?? undefined,
711
794
  timestamp: row.timestamp,
712
795
  method: row.method,
713
796
  url: row.url,
@@ -721,6 +804,7 @@ export class RequestRepository {
721
804
  interceptionType: row.interception_type === "modified" || row.interception_type === "mocked"
722
805
  ? row.interception_type
723
806
  : undefined,
807
+ ...(row.saved === 1 ? { saved: true } : {}),
724
808
  };
725
809
  }
726
810
  safeParseHeaders(json) {
@@ -736,6 +820,7 @@ export class RequestRepository {
736
820
  id: row.id,
737
821
  sessionId: row.session_id,
738
822
  label: row.label ?? undefined,
823
+ source: row.source ?? undefined,
739
824
  timestamp: row.timestamp,
740
825
  method: row.method,
741
826
  url: row.url,
@@ -755,6 +840,7 @@ export class RequestRepository {
755
840
  interceptionType: row.interception_type === "modified" || row.interception_type === "mocked"
756
841
  ? row.interception_type
757
842
  : undefined,
843
+ ...(row.saved === 1 ? { saved: true } : {}),
758
844
  };
759
845
  }
760
846
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/daemon/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/daemon/storage.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ export interface SerialisableRequest {
40
40
  durationMs?: number;
41
41
  interceptedBy?: string;
42
42
  interceptionType?: string;
43
+ source?: string;
43
44
  }
44
45
  /**
45
46
  * Convert a CapturedRequest into a JSON-serialisable object.
@@ -83,6 +84,8 @@ export declare function buildFilter(params: {
83
84
  header_value?: string;
84
85
  header_target?: "request" | "response" | "both";
85
86
  intercepted_by?: string;
87
+ saved?: boolean;
88
+ source?: string;
86
89
  }): RequestFilter | undefined;
87
90
  /**
88
91
  * Clamp a limit value to a safe range.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -86,6 +86,7 @@ export function serialiseRequest(req) {
86
86
  ...(req.durationMs !== undefined ? { durationMs: req.durationMs } : {}),
87
87
  ...(req.interceptedBy !== undefined ? { interceptedBy: req.interceptedBy } : {}),
88
88
  ...(req.interceptionType !== undefined ? { interceptionType: req.interceptionType } : {}),
89
+ ...(req.source !== undefined ? { source: req.source } : {}),
89
90
  };
90
91
  }
91
92
  /**
@@ -99,6 +100,9 @@ export function formatRequest(req) {
99
100
  lines.push(`**Timestamp:** ${new Date(req.timestamp).toISOString()}`);
100
101
  lines.push(`**Host:** ${req.host}`);
101
102
  lines.push(`**Path:** ${req.path}`);
103
+ if (req.source) {
104
+ lines.push(`**Source:** ${req.source}`);
105
+ }
102
106
  // Surface content-types for quick scanning
103
107
  const reqContentType = req.requestHeaders?.["content-type"];
104
108
  const resContentType = req.responseHeaders?.["content-type"];
@@ -189,7 +193,8 @@ export function formatSize(bytes) {
189
193
  export function formatSession(session) {
190
194
  const label = session.label ? ` (${session.label})` : "";
191
195
  const started = new Date(session.startedAt).toISOString();
192
- return `[${session.id}] PID ${session.pid}${label} started ${started}`;
196
+ const source = session.source ? ` [${session.source}]` : "";
197
+ return `[${session.id}] PID ${session.pid}${label} — started ${started}${source}`;
193
198
  }
194
199
  /**
195
200
  * Format an InterceptorInfo into a concise one-line description.
@@ -211,7 +216,9 @@ export function formatSummary(req) {
211
216
  ? ` [^${formatSize(req.requestBodySize)} v${formatSize(req.responseBodySize)}]`
212
217
  : "";
213
218
  const interceptionTag = req.interceptionType === "mocked" ? " [M]" : req.interceptionType === "modified" ? " [I]" : "";
214
- return `[${req.id}] ${ts} ${req.method} ${req.url}${status}${duration}${bodySizes}${interceptionTag}`;
219
+ const savedTag = req.saved ? " [S]" : "";
220
+ const sourceTag = req.source ? ` [${req.source}]` : "";
221
+ return `[${req.id}] ${ts} ${req.method} ${req.url}${status}${duration}${bodySizes}${interceptionTag}${savedTag}${sourceTag}`;
215
222
  }
216
223
  const MIN_HTTP_STATUS = 100;
217
224
  const MAX_HTTP_STATUS = 599;
@@ -302,6 +309,12 @@ export function buildFilter(params) {
302
309
  if (params.intercepted_by) {
303
310
  filter.interceptedBy = params.intercepted_by;
304
311
  }
312
+ if (params.saved !== undefined) {
313
+ filter.saved = params.saved;
314
+ }
315
+ if (params.source) {
316
+ filter.source = params.source;
317
+ }
305
318
  return Object.keys(filter).length > 0 ? filter : undefined;
306
319
  }
307
320
  /**
@@ -391,6 +404,11 @@ export function createProcsiMcpServer(options) {
391
404
  .string()
392
405
  .optional()
393
406
  .describe("Filter by interceptor name. Only returns requests handled by this interceptor."),
407
+ saved: z
408
+ .boolean()
409
+ .optional()
410
+ .describe("Filter by saved/bookmarked state. true = only saved, false = only unsaved."),
411
+ source: z.string().optional().describe("Filter by request source (e.g. 'node', 'python')."),
394
412
  limit: z
395
413
  .number()
396
414
  .optional()
@@ -525,6 +543,11 @@ export function createProcsiMcpServer(options) {
525
543
  .string()
526
544
  .optional()
527
545
  .describe("Filter by interceptor name. Only returns requests handled by this interceptor."),
546
+ saved: z
547
+ .boolean()
548
+ .optional()
549
+ .describe("Filter by saved/bookmarked state. true = only saved, false = only unsaved."),
550
+ source: z.string().optional().describe("Filter by request source (e.g. 'node', 'python')."),
528
551
  limit: z
529
552
  .number()
530
553
  .optional()
@@ -612,6 +635,11 @@ export function createProcsiMcpServer(options) {
612
635
  .string()
613
636
  .optional()
614
637
  .describe("Filter by interceptor name. Only returns requests handled by this interceptor."),
638
+ saved: z
639
+ .boolean()
640
+ .optional()
641
+ .describe("Filter by saved/bookmarked state. true = only saved, false = only unsaved."),
642
+ source: z.string().optional().describe("Filter by request source (e.g. 'node', 'python')."),
615
643
  format: FORMAT_SCHEMA,
616
644
  }, async (params) => {
617
645
  try {
@@ -672,6 +700,11 @@ export function createProcsiMcpServer(options) {
672
700
  .enum(["request", "response", "both"])
673
701
  .optional()
674
702
  .describe('Which headers to search: "request", "response", or "both" (default "both").'),
703
+ saved: z
704
+ .boolean()
705
+ .optional()
706
+ .describe("Filter by saved/bookmarked state. true = only saved, false = only unsaved."),
707
+ source: z.string().optional().describe("Filter by request source (e.g. 'node', 'python')."),
675
708
  limit: z
676
709
  .number()
677
710
  .optional()
@@ -731,6 +764,36 @@ export function createProcsiMcpServer(options) {
731
764
  return textResult(`Failed to clear requests: ${err instanceof Error ? err.message : "Unknown error"}`, true);
732
765
  }
733
766
  });
767
+ // --- procsi_save_request ---
768
+ server.tool("procsi_save_request", "Save (bookmark) a captured HTTP request so it persists across clear operations. Saved requests are not deleted by procsi_clear_requests and are not evicted by the storage limit.", {
769
+ id: z.string().describe("The request ID to save/bookmark."),
770
+ }, async (params) => {
771
+ try {
772
+ const result = await client.saveRequest(params.id);
773
+ if (result.success) {
774
+ return textResult(`Request ${params.id} saved.`);
775
+ }
776
+ return textResult(`Request ${params.id} not found.`, true);
777
+ }
778
+ catch (err) {
779
+ return textResult(`Failed to save request: ${err instanceof Error ? err.message : "Unknown error"}`, true);
780
+ }
781
+ });
782
+ // --- procsi_unsave_request ---
783
+ server.tool("procsi_unsave_request", "Remove the saved/bookmark flag from a captured HTTP request. The request will then be subject to normal clear and eviction behaviour.", {
784
+ id: z.string().describe("The request ID to unsave/unbookmark."),
785
+ }, async (params) => {
786
+ try {
787
+ const result = await client.unsaveRequest(params.id);
788
+ if (result.success) {
789
+ return textResult(`Request ${params.id} unsaved.`);
790
+ }
791
+ return textResult(`Request ${params.id} not found.`, true);
792
+ }
793
+ catch (err) {
794
+ return textResult(`Failed to unsave request: ${err instanceof Error ? err.message : "Unknown error"}`, true);
795
+ }
796
+ });
734
797
  // --- procsi_list_sessions ---
735
798
  server.tool("procsi_list_sessions", 'List all active proxy sessions. Each session represents a process that registered with the daemon (e.g. a shell running `eval "$(procsi on)"`).', {}, async () => {
736
799
  try {