// AUTO-GENERATED from docs/openapi.yaml. Do not edit. import { apiFetch } from "../api.mjs"; import { emit } from "../output.mjs"; import { readFileSync } from "node:fs"; export function register_traffic_inspector(parent) { const tag = parent.command("traffic-inspector").description("Traffic Inspector endpoints"); tag.command("get-api-tools-traffic-inspector-requests") .description("List intercepted requests (filterable)") .option("--profile ", "") .option("--host ", "") .option("--agent ", "") .option("--status ", "") .option("--source ", "") .option("--session-id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/requests"; const qs = new URLSearchParams(); if (opts.profile != null) qs.set("profile", String(opts.profile)); if (opts.host != null) qs.set("host", String(opts.host)); if (opts.agent != null) qs.set("agent", String(opts.agent)); if (opts.status != null) qs.set("status", String(opts.status)); if (opts.source != null) qs.set("source", String(opts.source)); if (opts.sessionId != null) qs.set("sessionId", String(opts.sessionId)); if (qs.toString()) url += "?" + qs.toString(); const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("delete-api-tools-traffic-inspector-requests") .description("Clear the in-memory traffic buffer") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/requests"; const res = await apiFetch(url, { method: "DELETE", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-requests-id-") .description("Get a single intercepted request by ID") .requiredOption("--id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/requests/{id}"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-requests-id-replay") .description("Replay a captured request through OmniRoute router") .requiredOption("--id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/requests/{id}/replay"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); const res = await apiFetch(url, { method: "POST", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("put-api-tools-traffic-inspector-requests-id-annotation") .description("Save or update annotation on a request") .requiredOption("--id ", "") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/requests/{id}/annotation"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "PUT", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-ws") .description("Live WebSocket stream of intercepted requests") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/ws"; const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-export-har") .description("Export current filtered request list as HAR 1.2") .option("--profile ", "") .option("--session-id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/export.har"; const qs = new URLSearchParams(); if (opts.profile != null) qs.set("profile", String(opts.profile)); if (opts.sessionId != null) qs.set("sessionId", String(opts.sessionId)); if (qs.toString()) url += "?" + qs.toString(); const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-hosts") .description("List custom capture hosts") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/hosts"; const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-hosts") .description("Add a custom capture host (edits /etc/hosts)") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/hosts"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("delete-api-tools-traffic-inspector-hosts-host-") .description("Remove a custom capture host") .requiredOption("--host ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/hosts/{host}"; url = url.replace("{host}", encodeURIComponent(opts.host ?? "")); const res = await apiFetch(url, { method: "DELETE", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("patch-api-tools-traffic-inspector-hosts-host-") .description("Toggle enabled state of a custom host") .requiredOption("--host ", "") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/hosts/{host}"; url = url.replace("{host}", encodeURIComponent(opts.host ?? "")); let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "PATCH", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-capture-modes") .description("Get state of all 4 capture modes") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/capture-modes"; const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-capture-modes-http-proxy") .description("Start or stop the HTTP_PROXY listener (port 8080)") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/capture-modes/http-proxy"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-capture-modes-system-proxy") .description("Apply or revert system-wide proxy settings") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/capture-modes/system-proxy"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-capture-modes-tls-intercept") .description("Toggle TLS body decryption in HTTP_PROXY mode") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/capture-modes/tls-intercept"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-sessions") .description("List all saved recording sessions") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions"; const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-sessions") .description("Start a new recording session") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-sessions-id-") .description("Get session snapshot (all captured requests)") .requiredOption("--id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions/{id}"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("patch-api-tools-traffic-inspector-sessions-id-") .description("Stop or rename a recording session") .requiredOption("--id ", "") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions/{id}"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "PATCH", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("delete-api-tools-traffic-inspector-sessions-id-") .description("Delete a recording session") .requiredOption("--id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions/{id}"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); const res = await apiFetch(url, { method: "DELETE", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("get-api-tools-traffic-inspector-sessions-id-export-har") .description("Export a recorded session as HAR 1.2") .requiredOption("--id ", "") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/sessions/{id}/export.har"; url = url.replace("{id}", encodeURIComponent(opts.id ?? "")); const res = await apiFetch(url, { method: "GET", baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); tag.command("post-api-tools-traffic-inspector-internal-ingest") .description("Internal ingest endpoint for server.cjs passthrough path") .option("--body ", "JSON body or @path/to/file.json") .action(async (opts, cmd) => { const gOpts = cmd.optsWithGlobals(); let url = "/api/tools/traffic-inspector/internal/ingest"; let body; if (opts.body) { body = opts.body.startsWith("@") ? JSON.parse(readFileSync(opts.body.slice(1), "utf8")) : JSON.parse(opts.body); } const res = await apiFetch(url, { method: "POST", body, baseUrl: gOpts.baseUrl, apiKey: gOpts.apiKey }); const data = res.ok ? await res.json() : await res.text(); emit(data, gOpts); }); }