procsi 0.2.6 → 0.3.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 (115) hide show
  1. package/README.md +264 -148
  2. package/dist/cli/commands/completions.d.ts +9 -0
  3. package/dist/cli/commands/completions.d.ts.map +1 -0
  4. package/dist/cli/commands/completions.js +170 -0
  5. package/dist/cli/commands/completions.js.map +1 -0
  6. package/dist/cli/commands/helpers.d.ts +9 -0
  7. package/dist/cli/commands/helpers.d.ts.map +1 -1
  8. package/dist/cli/commands/helpers.js +19 -1
  9. package/dist/cli/commands/helpers.js.map +1 -1
  10. package/dist/cli/commands/interceptors.d.ts.map +1 -1
  11. package/dist/cli/commands/interceptors.js +142 -0
  12. package/dist/cli/commands/interceptors.js.map +1 -1
  13. package/dist/cli/commands/off.d.ts +0 -5
  14. package/dist/cli/commands/off.d.ts.map +1 -1
  15. package/dist/cli/commands/off.js +24 -23
  16. package/dist/cli/commands/off.js.map +1 -1
  17. package/dist/cli/commands/on.d.ts +27 -0
  18. package/dist/cli/commands/on.d.ts.map +1 -1
  19. package/dist/cli/commands/on.js +71 -17
  20. package/dist/cli/commands/on.js.map +1 -1
  21. package/dist/cli/commands/request.d.ts +6 -0
  22. package/dist/cli/commands/request.d.ts.map +1 -0
  23. package/dist/cli/commands/request.js +160 -0
  24. package/dist/cli/commands/request.js.map +1 -0
  25. package/dist/cli/commands/requests.d.ts +6 -0
  26. package/dist/cli/commands/requests.d.ts.map +1 -0
  27. package/dist/cli/commands/requests.js +282 -0
  28. package/dist/cli/commands/requests.js.map +1 -0
  29. package/dist/cli/commands/sessions.d.ts +6 -0
  30. package/dist/cli/commands/sessions.d.ts.map +1 -0
  31. package/dist/cli/commands/sessions.js +39 -0
  32. package/dist/cli/commands/sessions.js.map +1 -0
  33. package/dist/cli/formatters/colour.d.ts +17 -0
  34. package/dist/cli/formatters/colour.d.ts.map +1 -0
  35. package/dist/cli/formatters/colour.js +23 -0
  36. package/dist/cli/formatters/colour.js.map +1 -0
  37. package/dist/cli/formatters/detail.d.ts +17 -0
  38. package/dist/cli/formatters/detail.d.ts.map +1 -0
  39. package/dist/cli/formatters/detail.js +128 -0
  40. package/dist/cli/formatters/detail.js.map +1 -0
  41. package/dist/cli/formatters/hints.d.ts +17 -0
  42. package/dist/cli/formatters/hints.d.ts.map +1 -0
  43. package/dist/cli/formatters/hints.js +29 -0
  44. package/dist/cli/formatters/hints.js.map +1 -0
  45. package/dist/cli/formatters/table.d.ts +17 -0
  46. package/dist/cli/formatters/table.d.ts.map +1 -0
  47. package/dist/cli/formatters/table.js +75 -0
  48. package/dist/cli/formatters/table.js.map +1 -0
  49. package/dist/cli/index.js +12 -4
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/tui/App.d.ts.map +1 -1
  52. package/dist/cli/tui/App.js +24 -5
  53. package/dist/cli/tui/App.js.map +1 -1
  54. package/dist/cli/tui/components/EventFilterBar.d.ts +27 -0
  55. package/dist/cli/tui/components/EventFilterBar.d.ts.map +1 -0
  56. package/dist/cli/tui/components/EventFilterBar.js +145 -0
  57. package/dist/cli/tui/components/EventFilterBar.js.map +1 -0
  58. package/dist/cli/tui/components/HelpModal.d.ts.map +1 -1
  59. package/dist/cli/tui/components/HelpModal.js +1 -0
  60. package/dist/cli/tui/components/HelpModal.js.map +1 -1
  61. package/dist/cli/tui/components/InfoBar.d.ts +15 -0
  62. package/dist/cli/tui/components/InfoBar.d.ts.map +1 -0
  63. package/dist/cli/tui/components/InfoBar.js +45 -0
  64. package/dist/cli/tui/components/InfoBar.js.map +1 -0
  65. package/dist/cli/tui/components/InfoModal.js +1 -1
  66. package/dist/cli/tui/components/InfoModal.js.map +1 -1
  67. package/dist/cli/tui/components/InterceptorLogModal.d.ts +16 -0
  68. package/dist/cli/tui/components/InterceptorLogModal.d.ts.map +1 -0
  69. package/dist/cli/tui/components/InterceptorLogModal.js +229 -0
  70. package/dist/cli/tui/components/InterceptorLogModal.js.map +1 -0
  71. package/dist/cli/tui/components/RequestList.js +1 -1
  72. package/dist/cli/tui/components/RequestList.js.map +1 -1
  73. package/dist/cli/tui/components/StatusBar.d.ts +7 -2
  74. package/dist/cli/tui/components/StatusBar.d.ts.map +1 -1
  75. package/dist/cli/tui/components/StatusBar.js +11 -6
  76. package/dist/cli/tui/components/StatusBar.js.map +1 -1
  77. package/dist/cli/tui/hooks/useInterceptorEvents.d.ts +33 -0
  78. package/dist/cli/tui/hooks/useInterceptorEvents.d.ts.map +1 -0
  79. package/dist/cli/tui/hooks/useInterceptorEvents.js +88 -0
  80. package/dist/cli/tui/hooks/useInterceptorEvents.js.map +1 -0
  81. package/dist/cli/tui/hooks/useRequests.js +2 -2
  82. package/dist/cli/tui/hooks/useRequests.js.map +1 -1
  83. package/dist/cli/utils/parse-time.d.ts +22 -0
  84. package/dist/cli/utils/parse-time.d.ts.map +1 -0
  85. package/dist/cli/utils/parse-time.js +160 -0
  86. package/dist/cli/utils/parse-time.js.map +1 -0
  87. package/dist/daemon/control.d.ts +2 -0
  88. package/dist/daemon/control.d.ts.map +1 -1
  89. package/dist/daemon/control.js +41 -1
  90. package/dist/daemon/control.js.map +1 -1
  91. package/dist/daemon/index.js +5 -0
  92. package/dist/daemon/index.js.map +1 -1
  93. package/dist/daemon/interceptor-event-log.d.ts +37 -0
  94. package/dist/daemon/interceptor-event-log.d.ts.map +1 -0
  95. package/dist/daemon/interceptor-event-log.js +163 -0
  96. package/dist/daemon/interceptor-event-log.js.map +1 -0
  97. package/dist/daemon/interceptor-loader.d.ts +3 -0
  98. package/dist/daemon/interceptor-loader.d.ts.map +1 -1
  99. package/dist/daemon/interceptor-loader.js +29 -2
  100. package/dist/daemon/interceptor-loader.js.map +1 -1
  101. package/dist/daemon/interceptor-runner.d.ts +3 -0
  102. package/dist/daemon/interceptor-runner.d.ts.map +1 -1
  103. package/dist/daemon/interceptor-runner.js +112 -8
  104. package/dist/daemon/interceptor-runner.js.map +1 -1
  105. package/dist/mcp/server.d.ts.map +1 -1
  106. package/dist/mcp/server.js +51 -1
  107. package/dist/mcp/server.js.map +1 -1
  108. package/dist/shared/control-client.d.ts +22 -1
  109. package/dist/shared/control-client.d.ts.map +1 -1
  110. package/dist/shared/control-client.js +12 -0
  111. package/dist/shared/control-client.js.map +1 -1
  112. package/dist/shared/types.d.ts +14 -0
  113. package/dist/shared/types.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/skills/procsi/SKILL.md +2 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completions.js","sourceRoot":"","sources":["../../../src/cli/commands/completions.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from "commander";
2
+ import { ControlClient } from "../../shared/control-client.js";
2
3
  export interface GlobalOptions {
3
4
  verbose: number;
4
5
  dir?: string;
@@ -15,4 +16,12 @@ export declare function requireProjectRoot(override?: string): string;
15
16
  * Extract a human-readable message from an unknown error value.
16
17
  */
17
18
  export declare function getErrorMessage(err: unknown): string;
19
+ /**
20
+ * Connect to the running daemon and return a ControlClient.
21
+ * Exits with error if the daemon is not running.
22
+ */
23
+ export declare function connectToDaemon(command: Command): Promise<{
24
+ client: ControlClient;
25
+ projectRoot: string;
26
+ }>;
18
27
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAMhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAMhE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAW5D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAaD"}
@@ -1,4 +1,6 @@
1
- import { findProjectRoot } from "../../shared/project.js";
1
+ import { findProjectRoot, getProcsiPaths } from "../../shared/project.js";
2
+ import { isDaemonRunning } from "../../shared/daemon.js";
3
+ import { ControlClient } from "../../shared/control-client.js";
2
4
  /**
3
5
  * Validate and extract global CLI options from a Commander command.
4
6
  */
@@ -31,4 +33,20 @@ export function requireProjectRoot(override) {
31
33
  export function getErrorMessage(err) {
32
34
  return err instanceof Error ? err.message : "Unknown error";
33
35
  }
36
+ /**
37
+ * Connect to the running daemon and return a ControlClient.
38
+ * Exits with error if the daemon is not running.
39
+ */
40
+ export async function connectToDaemon(command) {
41
+ const globalOpts = getGlobalOptions(command);
42
+ const projectRoot = requireProjectRoot(globalOpts.dir);
43
+ const paths = getProcsiPaths(projectRoot);
44
+ const running = await isDaemonRunning(projectRoot);
45
+ if (!running) {
46
+ console.error("Daemon is not running. Start it with: procsi on");
47
+ process.exit(1);
48
+ }
49
+ const client = new ControlClient(paths.controlSocketFile);
50
+ return { client, projectRoot };
51
+ }
34
52
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAO1D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,EAA6B,CAAC;IACjE,OAAO;QACL,OAAO,EAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,GAAG,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,wBAAwB,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/cli/commands/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAO/D;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,EAA6B,CAAC;IACjE,OAAO;QACL,OAAO,EAAE,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,GAAG,EAAE,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAiB;IAClD,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,wBAAwB,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAgB;IAIpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interceptors.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interceptors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2KpC,eAAO,MAAM,mBAAmB,SAQ5B,CAAC"}
1
+ {"version":3,"file":"interceptors.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/interceptors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+UpC,eAAO,MAAM,mBAAmB,SAS5B,CAAC"}
@@ -5,6 +5,7 @@ import { ControlClient } from "../../shared/control-client.js";
5
5
  import { getProcsiPaths } from "../../shared/project.js";
6
6
  import { isDaemonRunning } from "../../shared/daemon.js";
7
7
  import { requireProjectRoot, getErrorMessage, getGlobalOptions } from "./helpers.js";
8
+ import { formatInterceptorEventTable } from "../formatters/detail.js";
8
9
  const EXAMPLE_INTERCEPTOR_FILENAME = "example.ts";
9
10
  const EXAMPLE_INTERCEPTOR_CONTENT = `// Example procsi interceptor
10
11
  // Uncomment and modify one of the patterns below to get started.
@@ -151,11 +152,152 @@ const initSubcommand = new Command("init")
151
152
  console.log(" - Restart the daemon (procsi daemon restart)");
152
153
  console.log(" - Run: procsi interceptors reload");
153
154
  });
155
+ const FOLLOW_POLL_INTERVAL_MS = 1000;
156
+ const EVENT_LOG_LEVELS = ["info", "warn", "error"];
157
+ const logsClearSubcommand = new Command("clear")
158
+ .description("Clear interceptor event log")
159
+ .action(async (_, command) => {
160
+ const globalOpts = getGlobalOptions(command);
161
+ const projectRoot = requireProjectRoot(globalOpts.dir);
162
+ const paths = getProcsiPaths(projectRoot);
163
+ const running = await isDaemonRunning(projectRoot);
164
+ if (!running) {
165
+ console.log("Daemon is not running");
166
+ process.exit(0);
167
+ }
168
+ const client = new ControlClient(paths.controlSocketFile);
169
+ try {
170
+ await client.clearInterceptorEvents();
171
+ console.log(" Interceptor events cleared");
172
+ }
173
+ catch (err) {
174
+ console.error(`Error clearing events: ${getErrorMessage(err)}`);
175
+ process.exit(1);
176
+ }
177
+ finally {
178
+ client.close();
179
+ }
180
+ });
181
+ const logsSubcommand = new Command("logs")
182
+ .description("View interceptor event log")
183
+ .option("--name <interceptor>", "filter by interceptor name")
184
+ .option("--level <level>", `filter by level (${EVENT_LOG_LEVELS.join(", ")})`)
185
+ .option("--limit <n>", "max events", "50")
186
+ .option("--follow", "live tail — poll for new events")
187
+ .option("--json", "JSON output")
188
+ .addCommand(logsClearSubcommand)
189
+ .action(async (opts, command) => {
190
+ const globalOpts = getGlobalOptions(command);
191
+ const projectRoot = requireProjectRoot(globalOpts.dir);
192
+ const paths = getProcsiPaths(projectRoot);
193
+ const running = await isDaemonRunning(projectRoot);
194
+ if (!running) {
195
+ console.log("Daemon is not running");
196
+ process.exit(0);
197
+ }
198
+ const client = new ControlClient(paths.controlSocketFile);
199
+ const parsedLimit = parseInt(opts.limit ?? "50", 10);
200
+ if (isNaN(parsedLimit) || parsedLimit < 0) {
201
+ console.error(`Invalid --limit value: "${opts.limit}"`);
202
+ process.exit(1);
203
+ }
204
+ const limit = parsedLimit;
205
+ const validLevels = ["info", "warn", "error"];
206
+ if (opts.level && !validLevels.includes(opts.level)) {
207
+ console.error(`Invalid --level: "${opts.level}". Use: ${validLevels.join(", ")}`);
208
+ process.exit(1);
209
+ }
210
+ const level = opts.level;
211
+ try {
212
+ const result = await client.getInterceptorEvents({
213
+ limit,
214
+ level,
215
+ interceptor: opts.name,
216
+ });
217
+ if (opts.json && !opts.follow) {
218
+ console.log(JSON.stringify(result, null, 2));
219
+ return;
220
+ }
221
+ if (!opts.follow) {
222
+ if (result.events.length === 0) {
223
+ console.log(" No interceptor events");
224
+ return;
225
+ }
226
+ console.log(formatInterceptorEventTable(result.events));
227
+ return;
228
+ }
229
+ // --follow: print initial batch then poll for new events
230
+ if (result.events.length > 0) {
231
+ if (opts.json) {
232
+ for (const event of result.events) {
233
+ console.log(JSON.stringify(event));
234
+ }
235
+ }
236
+ else {
237
+ console.log(formatInterceptorEventTable(result.events));
238
+ }
239
+ }
240
+ if (!opts.json) {
241
+ console.log(" --- following events (Ctrl+C to stop) ---");
242
+ }
243
+ const lastInitialEvent = result.events[result.events.length - 1];
244
+ let lastSeq = lastInitialEvent?.seq ?? 0;
245
+ // Graceful shutdown on Ctrl+C
246
+ let stopping = false;
247
+ const cleanup = () => {
248
+ stopping = true;
249
+ client.close();
250
+ };
251
+ process.on("SIGINT", cleanup);
252
+ process.on("SIGTERM", cleanup);
253
+ while (!stopping) {
254
+ await new Promise((resolve) => setTimeout(resolve, FOLLOW_POLL_INTERVAL_MS));
255
+ if (stopping)
256
+ break;
257
+ try {
258
+ const newResult = await client.getInterceptorEvents({
259
+ afterSeq: lastSeq,
260
+ level,
261
+ interceptor: opts.name,
262
+ });
263
+ if (newResult.events.length > 0) {
264
+ if (opts.json) {
265
+ for (const event of newResult.events) {
266
+ console.log(JSON.stringify(event));
267
+ }
268
+ }
269
+ else {
270
+ console.log(formatInterceptorEventTable(newResult.events));
271
+ }
272
+ const lastNewEvent = newResult.events[newResult.events.length - 1];
273
+ if (lastNewEvent) {
274
+ lastSeq = lastNewEvent.seq;
275
+ }
276
+ }
277
+ }
278
+ catch {
279
+ // Connection lost — stop polling
280
+ if (!stopping) {
281
+ console.error(" Lost connection to daemon");
282
+ }
283
+ break;
284
+ }
285
+ }
286
+ }
287
+ catch (err) {
288
+ console.error(`Error fetching events: ${getErrorMessage(err)}`);
289
+ process.exit(1);
290
+ }
291
+ finally {
292
+ client.close();
293
+ }
294
+ });
154
295
  export const interceptorsCommand = new Command("interceptors")
155
296
  .description("Manage request interceptors")
156
297
  .addCommand(listSubcommand)
157
298
  .addCommand(reloadSubcommand)
158
299
  .addCommand(initSubcommand)
300
+ .addCommand(logsSubcommand)
159
301
  .action(async (_, command) => {
160
302
  // Default action when no subcommand is specified — behaves like `list`
161
303
  await listAction(command);
@@ -1 +1 @@
1
- {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../../src/cli/commands/interceptors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interceptors.js","sourceRoot":"","sources":["../../../src/cli/commands/interceptors.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
1
  import { Command } from "commander";
2
- /**
3
- * Format environment variable unset statements for shell evaluation.
4
- * Each line is an unset statement for one variable.
5
- */
6
- export declare function formatUnsetVars(vars: string[]): string;
7
2
  export declare const offCommand: Command;
8
3
  //# sourceMappingURL=off.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"off.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/off.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD;AAED,eAAO,MAAM,UAAU,SA2BnB,CAAC"}
1
+ {"version":3,"file":"off.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/off.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,eAAO,MAAM,UAAU,SAmBnB,CAAC"}
@@ -1,34 +1,35 @@
1
1
  import { Command } from "commander";
2
- /**
3
- * Format environment variable unset statements for shell evaluation.
4
- * Each line is an unset statement for one variable.
5
- */
6
- export function formatUnsetVars(vars) {
7
- return vars.map((key) => `unset ${key}`).join("\n");
8
- }
2
+ import { formatUnsetVars, formatNodeOptionsRestore } from "./on.js";
3
+ // Environment variables managed by procsi
4
+ const PROCSI_ENV_VARS = [
5
+ "HTTP_PROXY",
6
+ "HTTPS_PROXY",
7
+ "http_proxy",
8
+ "https_proxy",
9
+ "SSL_CERT_FILE",
10
+ "REQUESTS_CA_BUNDLE",
11
+ "NODE_EXTRA_CA_CERTS",
12
+ "GLOBAL_AGENT_HTTP_PROXY",
13
+ "GLOBAL_AGENT_HTTPS_PROXY",
14
+ "NODE_USE_ENV_PROXY",
15
+ "PROCSI_SESSION_ID",
16
+ "PROCSI_LABEL",
17
+ ];
9
18
  export const offCommand = new Command("off")
10
- .description("Stop intercepting HTTP traffic in this shell")
11
- .action(() => {
12
- // If stdout is a TTY, user ran directly - show instructions instead
19
+ .description("Output shell unset statements to stop intercepting HTTP traffic")
20
+ .action(async () => {
21
+ // If stdout is a TTY, user ran directly show instructions instead
13
22
  if (process.stdout.isTTY) {
14
23
  console.log("To stop intercepting HTTP traffic, run:");
15
24
  console.log("");
16
- console.log(" eval $(htpx off)");
25
+ console.log(' eval "$(procsi off)"');
17
26
  return;
18
27
  }
19
- // Environment variables set by htpx on
20
- const envVars = [
21
- "HTTP_PROXY",
22
- "HTTPS_PROXY",
23
- "SSL_CERT_FILE",
24
- "REQUESTS_CA_BUNDLE",
25
- "NODE_EXTRA_CA_CERTS",
26
- "HTPX_SESSION_ID",
27
- "HTPX_LABEL",
28
- ];
28
+ // Restore NODE_OPTIONS before standard unsets
29
+ console.log(formatNodeOptionsRestore());
29
30
  // Output unset statements for eval
30
- console.log(formatUnsetVars(envVars));
31
+ console.log(formatUnsetVars(PROCSI_ENV_VARS));
31
32
  // Output confirmation as a comment (shown but not executed)
32
- console.log("# htpx: interception stopped");
33
+ console.log("# procsi: interception stopped");
33
34
  });
34
35
  //# sourceMappingURL=off.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"off.js","sourceRoot":"","sources":["../../../src/cli/commands/off.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,GAAG,EAAE;IACX,oEAAoE;IACpE,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,uCAAuC;IACvC,MAAM,OAAO,GAAG;QACd,YAAY;QACZ,aAAa;QACb,eAAe;QACf,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,YAAY;KACb,CAAC;IAEF,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtC,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"off.js","sourceRoot":"","sources":["../../../src/cli/commands/off.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEpE,0CAA0C;AAC1C,MAAM,eAAe,GAAG;IACtB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,aAAa;IACb,eAAe;IACf,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,oBAAoB;IACpB,mBAAmB;IACnB,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC;KACzC,WAAW,CAAC,iEAAiE,CAAC;KAC9E,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,oEAAoE;IACpE,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAExC,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAE9C,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC"}
@@ -5,5 +5,32 @@ import { Command } from "commander";
5
5
  * safe use in double-quoted context.
6
6
  */
7
7
  export declare function formatEnvVars(vars: Record<string, string>): string;
8
+ /**
9
+ * Format environment variable unset statements for shell evaluation.
10
+ * Each line is an unset statement for one variable.
11
+ */
12
+ export declare function formatUnsetVars(vars: string[]): string;
13
+ /**
14
+ * Generate shell statements that save the current NODE_OPTIONS value
15
+ * and append a --require flag for the preload script.
16
+ *
17
+ * Uses PROCSI_ORIG_NODE_OPTIONS as a guard — only saves the original
18
+ * value on the first call, so repeated `procsi on` invocations are
19
+ * idempotent.
20
+ *
21
+ * This must be raw shell (not through formatEnvVars) because it needs
22
+ * `${}` variable expansion.
23
+ *
24
+ * Uses `${param-word}` (without colon) for the guard: expands to
25
+ * `word` only when `param` is truly unset, preserving an empty string
26
+ * if the user had no NODE_OPTIONS originally. This avoids if/then/fi
27
+ * which breaks inside `eval $(...)` in zsh.
28
+ */
29
+ export declare function formatNodeOptionsExport(preloadPath: string): string;
30
+ /**
31
+ * Generate shell statements that restore NODE_OPTIONS to its original
32
+ * value (or unset it if it was empty before procsi set it).
33
+ */
34
+ export declare function formatNodeOptionsRestore(): string;
8
35
  export declare const onCommand: Command;
9
36
  //# sourceMappingURL=on.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"on.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlE;AAED,eAAO,MAAM,SAAS,SAoGlB,CAAC"}
1
+ {"version":3,"file":"on.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/on.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAMjD;AAED,eAAO,MAAM,SAAS,SA+GlB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import { Command } from "commander";
2
- import { findOrCreateProjectRoot, ensureHtpxDir, getHtpxPaths } from "../../shared/project.js";
2
+ import { findOrCreateProjectRoot, ensureProcsiDir, getProcsiPaths } from "../../shared/project.js";
3
3
  import { startDaemon } from "../../shared/daemon.js";
4
4
  import { ControlClient } from "../../shared/control-client.js";
5
5
  import { parseVerbosity } from "../../shared/logger.js";
6
6
  import { getErrorMessage, getGlobalOptions } from "./helpers.js";
7
+ import { writeNodePreloadScript, getNodeEnvVars } from "../../overrides/node.js";
7
8
  /**
8
9
  * Escape a string for safe use inside double-quoted shell context.
9
10
  * Within double quotes, `\`, `"`, `$`, `` ` ``, and `!` are interpreted by the shell.
@@ -26,16 +27,60 @@ export function formatEnvVars(vars) {
26
27
  .map(([key, value]) => `export ${key}="${escapeDoubleQuoted(value)}"`)
27
28
  .join("\n");
28
29
  }
30
+ /**
31
+ * Format environment variable unset statements for shell evaluation.
32
+ * Each line is an unset statement for one variable.
33
+ */
34
+ export function formatUnsetVars(vars) {
35
+ return vars.map((key) => `unset ${key}`).join("\n");
36
+ }
37
+ /**
38
+ * Generate shell statements that save the current NODE_OPTIONS value
39
+ * and append a --require flag for the preload script.
40
+ *
41
+ * Uses PROCSI_ORIG_NODE_OPTIONS as a guard — only saves the original
42
+ * value on the first call, so repeated `procsi on` invocations are
43
+ * idempotent.
44
+ *
45
+ * This must be raw shell (not through formatEnvVars) because it needs
46
+ * `${}` variable expansion.
47
+ *
48
+ * Uses `${param-word}` (without colon) for the guard: expands to
49
+ * `word` only when `param` is truly unset, preserving an empty string
50
+ * if the user had no NODE_OPTIONS originally. This avoids if/then/fi
51
+ * which breaks inside `eval $(...)` in zsh.
52
+ */
53
+ export function formatNodeOptionsExport(preloadPath) {
54
+ const escaped = escapeDoubleQuoted(preloadPath);
55
+ return [
56
+ // Save original NODE_OPTIONS on first invocation only (${param-word} keeps existing value when set)
57
+ `export PROCSI_ORIG_NODE_OPTIONS="\${PROCSI_ORIG_NODE_OPTIONS-\${NODE_OPTIONS:-}}"`,
58
+ // Append --require to NODE_OPTIONS, preserving any existing value
59
+ // No inner quotes needed — the entire RHS is double-quoted so the shell won't word-split
60
+ `export NODE_OPTIONS="\${PROCSI_ORIG_NODE_OPTIONS:+\${PROCSI_ORIG_NODE_OPTIONS} }--require ${escaped}"`,
61
+ ].join("\n");
62
+ }
63
+ /**
64
+ * Generate shell statements that restore NODE_OPTIONS to its original
65
+ * value (or unset it if it was empty before procsi set it).
66
+ */
67
+ export function formatNodeOptionsRestore() {
68
+ return [
69
+ // Restore to saved value; unset if the original was empty
70
+ `test -n "\${PROCSI_ORIG_NODE_OPTIONS:-}" && export NODE_OPTIONS="\${PROCSI_ORIG_NODE_OPTIONS}" || unset NODE_OPTIONS 2>/dev/null`,
71
+ "unset PROCSI_ORIG_NODE_OPTIONS 2>/dev/null",
72
+ ].join("\n");
73
+ }
29
74
  export const onCommand = new Command("on")
30
- .description("Start intercepting HTTP traffic in this shell")
75
+ .description("Output shell export statements to start intercepting HTTP traffic")
31
76
  .option("-l, --label <label>", "Label for this session")
32
77
  .option("--no-restart", "Do not auto-restart daemon on version mismatch")
33
78
  .action(async (options, command) => {
34
- // If stdout is a TTY, user ran directly - show instructions instead
79
+ // If stdout is a TTY, user ran directly show instructions instead
35
80
  if (process.stdout.isTTY) {
36
81
  console.log("To intercept HTTP traffic, run:");
37
82
  console.log("");
38
- console.log(" eval $(htpx on)");
83
+ console.log(' eval "$(procsi on)"');
39
84
  console.log("");
40
85
  console.log("This sets the required environment variables in your shell.");
41
86
  return;
@@ -45,10 +90,10 @@ export const onCommand = new Command("on")
45
90
  const globalOpts = getGlobalOptions(command);
46
91
  const verbosity = globalOpts.verbose;
47
92
  const logLevel = parseVerbosity(verbosity);
48
- // Find project root (auto-creates .htpx if needed)
93
+ // Find project root (auto-creates .procsi if needed)
49
94
  const projectRoot = findOrCreateProjectRoot(undefined, globalOpts.dir);
50
- ensureHtpxDir(projectRoot);
51
- const paths = getHtpxPaths(projectRoot);
95
+ ensureProcsiDir(projectRoot);
96
+ const paths = getProcsiPaths(projectRoot);
52
97
  try {
53
98
  // Start daemon if not already running
54
99
  const proxyPort = await startDaemon(projectRoot, {
@@ -56,15 +101,17 @@ export const onCommand = new Command("on")
56
101
  autoRestart,
57
102
  onVersionMismatch: (running, cli) => {
58
103
  if (autoRestart) {
59
- console.log(`# htpx: restarting daemon (version mismatch: ${running} -> ${cli})`);
104
+ console.log(`# procsi: restarting daemon (version mismatch: ${running} -> ${cli})`);
60
105
  }
61
106
  else {
62
- console.log(`# htpx warning: daemon version mismatch (running: ${running}, CLI: ${cli})`);
63
- console.log(`# Use 'htpx daemon restart' to update.`);
107
+ console.log(`# procsi warning: daemon version mismatch (running: ${running}, CLI: ${cli})`);
108
+ console.log(`# Use 'procsi daemon restart' to update.`);
64
109
  }
65
110
  },
66
111
  });
67
112
  const proxyUrl = `http://127.0.0.1:${proxyPort}`;
113
+ // Write the Node.js preload script to .procsi/
114
+ writeNodePreloadScript(paths.proxyPreloadFile);
68
115
  // Register session with daemon
69
116
  const client = new ControlClient(paths.controlSocketFile);
70
117
  try {
@@ -73,16 +120,21 @@ export const onCommand = new Command("on")
73
120
  const envVars = {
74
121
  HTTP_PROXY: proxyUrl,
75
122
  HTTPS_PROXY: proxyUrl,
123
+ // Lowercase variants — many Unix tools check lowercase only
124
+ http_proxy: proxyUrl,
125
+ https_proxy: proxyUrl,
76
126
  // Python requests library
77
127
  SSL_CERT_FILE: paths.caCertFile,
78
128
  REQUESTS_CA_BUNDLE: paths.caCertFile,
79
129
  // Node.js
80
130
  NODE_EXTRA_CA_CERTS: paths.caCertFile,
81
- // htpx session tracking
82
- HTPX_SESSION_ID: session.id,
131
+ // Node.js runtime overrides (global-agent + undici)
132
+ ...getNodeEnvVars(proxyUrl),
133
+ // procsi session tracking
134
+ PROCSI_SESSION_ID: session.id,
83
135
  };
84
136
  if (label) {
85
- envVars["HTPX_LABEL"] = label;
137
+ envVars["PROCSI_LABEL"] = label;
86
138
  }
87
139
  // Report interceptor status
88
140
  try {
@@ -91,10 +143,10 @@ export const onCommand = new Command("on")
91
143
  const errorCount = interceptors.filter((i) => i.error).length;
92
144
  const loadedCount = interceptors.length - errorCount;
93
145
  if (errorCount > 0) {
94
- console.log(`# Loaded ${loadedCount} interceptors (${errorCount} failed) from .htpx/interceptors/`);
146
+ console.log(`# Loaded ${loadedCount} interceptors (${errorCount} failed) from .procsi/interceptors/`);
95
147
  }
96
148
  else {
97
- console.log(`# Loaded ${loadedCount} interceptors from .htpx/interceptors/`);
149
+ console.log(`# Loaded ${loadedCount} interceptors from .procsi/interceptors/`);
98
150
  }
99
151
  }
100
152
  }
@@ -103,9 +155,11 @@ export const onCommand = new Command("on")
103
155
  }
104
156
  // Output env vars for eval
105
157
  console.log(formatEnvVars(envVars));
158
+ // NODE_OPTIONS requires raw shell expansion, output separately
159
+ console.log(formatNodeOptionsExport(paths.proxyPreloadFile));
106
160
  // Output confirmation as a comment (shown but not executed)
107
161
  const labelInfo = label ? ` (label: ${label})` : "";
108
- console.log(`# htpx: intercepting traffic${labelInfo}`);
162
+ console.log(`# procsi: intercepting traffic${labelInfo}`);
109
163
  console.log(`# Proxy: ${proxyUrl}`);
110
164
  console.log(`# Session: ${session.id}`);
111
165
  }
@@ -114,7 +168,7 @@ export const onCommand = new Command("on")
114
168
  }
115
169
  }
116
170
  catch (err) {
117
- console.error(`# htpx error: ${getErrorMessage(err)}`);
171
+ console.error(`# procsi error: ${getErrorMessage(err)}`);
118
172
  process.exit(1);
119
173
  }
120
174
  });
@@ -1 +1 @@
1
- {"version":3,"file":"on.js","sourceRoot":"","sources":["../../../src/cli/commands/on.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"on.js","sourceRoot":"","sources":["../../../src/cli/commands/on.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * `procsi request <id>` — view a single request in detail, dump body, or export.
3
+ */
4
+ import { Command } from "commander";
5
+ export declare const requestCommand: Command;
6
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/request.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0IpC,eAAO,MAAM,cAAc,SAiCvB,CAAC"}