claude-code-infinite 1.0.35 → 1.0.37

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 (117) hide show
  1. package/README.md +114 -10
  2. package/dist/body-shape.d.ts +49 -0
  3. package/dist/body-shape.d.ts.map +1 -0
  4. package/dist/body-shape.js +232 -0
  5. package/dist/body-shape.js.map +1 -0
  6. package/dist/cc-request.d.ts +15 -0
  7. package/dist/cc-request.d.ts.map +1 -1
  8. package/dist/cc-request.js +30 -0
  9. package/dist/cc-request.js.map +1 -1
  10. package/dist/claude-env.d.ts +24 -1
  11. package/dist/claude-env.d.ts.map +1 -1
  12. package/dist/claude-env.js +48 -7
  13. package/dist/claude-env.js.map +1 -1
  14. package/dist/cli-args.d.ts +1 -1
  15. package/dist/cli-args.d.ts.map +1 -1
  16. package/dist/cli-args.js +1 -1
  17. package/dist/cli-args.js.map +1 -1
  18. package/dist/cli-main.js +113 -11
  19. package/dist/cli-main.js.map +1 -1
  20. package/dist/config.d.ts +5 -0
  21. package/dist/config.d.ts.map +1 -1
  22. package/dist/config.js.map +1 -1
  23. package/dist/count-tokens.d.ts +15 -2
  24. package/dist/count-tokens.d.ts.map +1 -1
  25. package/dist/count-tokens.js +13 -4
  26. package/dist/count-tokens.js.map +1 -1
  27. package/dist/desktop-command.d.ts +38 -0
  28. package/dist/desktop-command.d.ts.map +1 -0
  29. package/dist/desktop-command.js +324 -0
  30. package/dist/desktop-command.js.map +1 -0
  31. package/dist/desktop-service.d.ts +41 -0
  32. package/dist/desktop-service.d.ts.map +1 -0
  33. package/dist/desktop-service.js +449 -0
  34. package/dist/desktop-service.js.map +1 -0
  35. package/dist/desktop-setup.d.ts +94 -0
  36. package/dist/desktop-setup.d.ts.map +1 -0
  37. package/dist/desktop-setup.js +288 -0
  38. package/dist/desktop-setup.js.map +1 -0
  39. package/dist/financial-redaction.d.ts +12 -0
  40. package/dist/financial-redaction.d.ts.map +1 -0
  41. package/dist/financial-redaction.js +509 -0
  42. package/dist/financial-redaction.js.map +1 -0
  43. package/dist/hooks.d.ts +2 -0
  44. package/dist/hooks.d.ts.map +1 -1
  45. package/dist/hooks.js +4 -0
  46. package/dist/hooks.js.map +1 -1
  47. package/dist/https-proxy-eligibility.d.ts +31 -0
  48. package/dist/https-proxy-eligibility.d.ts.map +1 -0
  49. package/dist/https-proxy-eligibility.js +204 -0
  50. package/dist/https-proxy-eligibility.js.map +1 -0
  51. package/dist/https-proxy-mode.d.ts +59 -0
  52. package/dist/https-proxy-mode.d.ts.map +1 -0
  53. package/dist/https-proxy-mode.js +255 -0
  54. package/dist/https-proxy-mode.js.map +1 -0
  55. package/dist/https-proxy-session.d.ts +64 -0
  56. package/dist/https-proxy-session.d.ts.map +1 -0
  57. package/dist/https-proxy-session.js +165 -0
  58. package/dist/https-proxy-session.js.map +1 -0
  59. package/dist/image-tokens.d.ts +6 -1
  60. package/dist/image-tokens.d.ts.map +1 -1
  61. package/dist/image-tokens.js +75 -14
  62. package/dist/image-tokens.js.map +1 -1
  63. package/dist/lane-activity.d.ts +42 -0
  64. package/dist/lane-activity.d.ts.map +1 -0
  65. package/dist/lane-activity.js +79 -0
  66. package/dist/lane-activity.js.map +1 -0
  67. package/dist/memtree-mcp.d.ts +32 -1
  68. package/dist/memtree-mcp.d.ts.map +1 -1
  69. package/dist/memtree-mcp.js +73 -7
  70. package/dist/memtree-mcp.js.map +1 -1
  71. package/dist/memtree.d.ts +10 -0
  72. package/dist/memtree.d.ts.map +1 -1
  73. package/dist/memtree.js +59 -12
  74. package/dist/memtree.js.map +1 -1
  75. package/dist/message-refs.d.ts +81 -0
  76. package/dist/message-refs.d.ts.map +1 -0
  77. package/dist/message-refs.js +378 -0
  78. package/dist/message-refs.js.map +1 -0
  79. package/dist/mitm-ca.d.ts +31 -0
  80. package/dist/mitm-ca.d.ts.map +1 -0
  81. package/dist/mitm-ca.js +236 -0
  82. package/dist/mitm-ca.js.map +1 -0
  83. package/dist/paused-session.d.ts.map +1 -1
  84. package/dist/paused-session.js +9 -2
  85. package/dist/paused-session.js.map +1 -1
  86. package/dist/proxy.d.ts +25 -0
  87. package/dist/proxy.d.ts.map +1 -1
  88. package/dist/proxy.js +168 -22
  89. package/dist/proxy.js.map +1 -1
  90. package/dist/refusal-reason.d.ts +3 -2
  91. package/dist/refusal-reason.d.ts.map +1 -1
  92. package/dist/refusal-reason.js +4 -3
  93. package/dist/refusal-reason.js.map +1 -1
  94. package/dist/reqlog.d.ts +13 -3
  95. package/dist/reqlog.d.ts.map +1 -1
  96. package/dist/reqlog.js +1 -1
  97. package/dist/reqlog.js.map +1 -1
  98. package/dist/request-sizing.d.ts +38 -2
  99. package/dist/request-sizing.d.ts.map +1 -1
  100. package/dist/request-sizing.js +72 -6
  101. package/dist/request-sizing.js.map +1 -1
  102. package/dist/secret-redaction.d.ts +25 -0
  103. package/dist/secret-redaction.d.ts.map +1 -0
  104. package/dist/secret-redaction.js +492 -0
  105. package/dist/secret-redaction.js.map +1 -0
  106. package/dist/statusline-auto.d.ts +15 -0
  107. package/dist/statusline-auto.d.ts.map +1 -0
  108. package/dist/statusline-auto.js +125 -0
  109. package/dist/statusline-auto.js.map +1 -0
  110. package/dist/statusline.d.ts.map +1 -1
  111. package/dist/statusline.js +3 -2
  112. package/dist/statusline.js.map +1 -1
  113. package/dist/utf8-bytes.d.ts +10 -0
  114. package/dist/utf8-bytes.d.ts.map +1 -0
  115. package/dist/utf8-bytes.js +107 -0
  116. package/dist/utf8-bytes.js.map +1 -0
  117. package/package.json +1 -1
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export declare const HTTPS_PROXY_MODE_ENV = "CCC_HTTPS_PROXY_MODE";
2
+ export type HttpsProxyModeDecision = {
3
+ mode: "https-proxy";
4
+ } | {
5
+ mode: "base-url";
6
+ requested: false;
7
+ } | {
8
+ mode: "base-url";
9
+ requested: true;
10
+ reason: string;
11
+ };
12
+ export interface EligibilityInput {
13
+ env: NodeJS.ProcessEnv;
14
+ /** The `httpsProxyMode` config key. */
15
+ configured?: boolean;
16
+ platform: NodeJS.Platform;
17
+ /** Claude Code's arguments (a `--settings` file or JSON is read too). */
18
+ claudeArgs: readonly string[];
19
+ cwd: string;
20
+ homedir?: string;
21
+ readFile?: (file: string) => string | null;
22
+ listDir?: (dir: string) => string[];
23
+ }
24
+ export declare function httpsProxyModeDecision(input: EligibilityInput): HttpsProxyModeDecision;
25
+ /** `CCC_HTTPS_PROXY_MODE` wins (1/true/yes/on or 0/false/no/off), else the config key. */
26
+ export declare function httpsProxyModeRequested(env: NodeJS.ProcessEnv, configured?: boolean): boolean;
27
+ /** The one-line notice for a requested mode that was skipped. */
28
+ export declare function skippedNoticeText(reason: string): string;
29
+ /** Every `--settings <value>` / `--settings=<value>` before a `--`. */
30
+ export declare function settingsArgs(args: readonly string[]): string[];
31
+ //# sourceMappingURL=https-proxy-eligibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https-proxy-eligibility.d.ts","sourceRoot":"","sources":["../src/https-proxy-eligibility.ts"],"names":[],"mappings":"AAyBA,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAe3D,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,KAAK,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,yEAAyE;IACzE,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CACrC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,sBAAsB,CAQtF;AAED,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAK7F;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxD;AAqGD,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAS9D"}
@@ -0,0 +1,204 @@
1
+ /**
2
+ * Whether this session runs in HTTPS-proxy mode (https-proxy-mode.ts) or in today's
3
+ * base-URL mode. Opt-in: `CCC_HTTPS_PROXY_MODE=1` (or `=0` to force it off), else the
4
+ * `httpsProxyMode` config key. Even when asked for, it is skipped, with one line saying
5
+ * why, wherever it can't work yet (plans/2026-11-08_PLAN_https_proxy_remote_control.md,
6
+ * section 5):
7
+ *
8
+ * - Windows: Claude Code's PowerShell tool doesn't apply the Bash env file.
9
+ * - A proxy in ccc's own environment: blind tunnels and ccc's upstream would bypass it.
10
+ * - Claude Code settings (user, project, local, managed, or a `--settings` argument)
11
+ * whose `env` sets a proxy, NO_PROXY or NODE_EXTRA_CA_CERTS: settings env overrides
12
+ * the process env, so model calls would skip MemTree silently or fail TLS.
13
+ * - Claude Code's Bash sandbox enabled in any of those settings: its proxy forwards
14
+ * through Claude Code's HTTPS_PROXY (with the token), so sandboxed calls to
15
+ * api.anthropic.com would hit the interception and fail, and the sandbox's
16
+ * private-address check would not apply.
17
+ *
18
+ * These are read once, at startup: enabling the sandbox or a settings proxy mid-session
19
+ * isn't seen here (https-proxy-session.ts warns when prompts then get no model call).
20
+ */
21
+ import { execFileSync } from "node:child_process";
22
+ import { existsSync, readFileSync, readdirSync } from "node:fs";
23
+ import os from "node:os";
24
+ import path from "node:path";
25
+ export const HTTPS_PROXY_MODE_ENV = "CCC_HTTPS_PROXY_MODE";
26
+ /** A proxy in any of these (either case) means the user already routes through one. */
27
+ const PROXY_VARS = [
28
+ "HTTPS_PROXY", "https_proxy", "HTTP_PROXY", "http_proxy", "ALL_PROXY", "all_proxy",
29
+ ];
30
+ /**
31
+ * Settings `env` keys that would override what proxy mode gives Claude Code. A settings
32
+ * CLAUDE_ENV_FILE would replace the Bash env file, so Bash commands would keep the token
33
+ * proxy and the session CA.
34
+ */
35
+ const SETTINGS_ENV_BLOCKERS = [
36
+ ...PROXY_VARS, "NO_PROXY", "no_proxy", "NODE_EXTRA_CA_CERTS", "CLAUDE_ENV_FILE",
37
+ ];
38
+ export function httpsProxyModeDecision(input) {
39
+ if (!httpsProxyModeRequested(input.env, input.configured)) {
40
+ return { mode: "base-url", requested: false };
41
+ }
42
+ const reason = blockingReason(input);
43
+ return reason === undefined
44
+ ? { mode: "https-proxy" }
45
+ : { mode: "base-url", requested: true, reason };
46
+ }
47
+ /** `CCC_HTTPS_PROXY_MODE` wins (1/true/yes/on or 0/false/no/off), else the config key. */
48
+ export function httpsProxyModeRequested(env, configured) {
49
+ const value = env[HTTPS_PROXY_MODE_ENV]?.trim().toLowerCase();
50
+ if (value && ["1", "true", "yes", "on"].includes(value))
51
+ return true;
52
+ if (value && ["0", "false", "no", "off"].includes(value))
53
+ return false;
54
+ return configured === true;
55
+ }
56
+ /** The one-line notice for a requested mode that was skipped. */
57
+ export function skippedNoticeText(reason) {
58
+ return `ccc: HTTPS-proxy mode (Remote Control) is off for this session: ${reason}. ` +
59
+ "Using the base-URL mode.";
60
+ }
61
+ function blockingReason(input) {
62
+ if (input.platform === "win32")
63
+ return "Windows isn't supported yet";
64
+ const own = PROXY_VARS.find((name) => nonEmpty(input.env[name]));
65
+ if (own)
66
+ return `${own} is already set (ccc can't chain to your proxy yet)`;
67
+ const readFile = input.readFile ?? readTextFile;
68
+ for (const source of settingsSources(input, readFile)) {
69
+ const reason = settingsBlocker(source.settings);
70
+ if (reason)
71
+ return `${reason} in ${source.name}`;
72
+ }
73
+ return undefined;
74
+ }
75
+ function settingsBlocker(settings) {
76
+ if (!isRecord(settings))
77
+ return undefined;
78
+ const sandbox = settings.sandbox;
79
+ if (isRecord(sandbox) && sandbox.enabled === true)
80
+ return "Claude Code's Bash sandbox is on";
81
+ const env = settings.env;
82
+ if (!isRecord(env))
83
+ return undefined;
84
+ // Present at all, even empty: a settings value replaces the process env's (an empty
85
+ // HTTPS_PROXY would send Claude Code straight to api.anthropic.com, past MemTree).
86
+ const key = SETTINGS_ENV_BLOCKERS.find((name) => Object.hasOwn(env, name));
87
+ return key ? `${key} is set` : undefined;
88
+ }
89
+ /** Every settings scope Claude Code may load for this session, parsed; unreadable ones skipped. */
90
+ function settingsSources(input, readFile) {
91
+ const files = [
92
+ ...userSettingsFiles(input.env, input.homedir),
93
+ ...projectSettingsFiles(input.cwd),
94
+ ...managedSettingsFiles(input.platform, input.listDir ?? listJsonFiles),
95
+ ];
96
+ const out = [];
97
+ for (const file of files) {
98
+ const settings = parseJson(readFile(file));
99
+ if (settings !== undefined)
100
+ out.push({ name: file, settings });
101
+ }
102
+ for (const value of settingsArgs(input.claudeArgs)) {
103
+ const inline = value.trim().startsWith("{");
104
+ const settings = parseJson(inline ? value : readFile(path.resolve(input.cwd, value)));
105
+ if (settings !== undefined)
106
+ out.push({ name: "--settings", settings });
107
+ }
108
+ return out;
109
+ }
110
+ function userSettingsFiles(env, homedir) {
111
+ const dir = nonEmpty(env.CLAUDE_CONFIG_DIR)
112
+ ? env.CLAUDE_CONFIG_DIR
113
+ : path.join(homedir ?? os.homedir(), ".claude");
114
+ return [path.join(dir, "settings.json"), path.join(dir, "settings.local.json")];
115
+ }
116
+ /** `.claude/settings{,.local}.json` from the cwd up to its git root (or the filesystem root). */
117
+ function projectSettingsFiles(cwd) {
118
+ const files = [];
119
+ let dir = path.resolve(cwd);
120
+ for (;;) {
121
+ files.push(path.join(dir, ".claude", "settings.json"), path.join(dir, ".claude", "settings.local.json"));
122
+ const parent = path.dirname(dir);
123
+ if (parent === dir || existsSync(path.join(dir, ".git")))
124
+ return files;
125
+ dir = parent;
126
+ }
127
+ }
128
+ function managedSettingsFiles(platform, listDir) {
129
+ const dir = platform === "darwin"
130
+ ? "/Library/Application Support/ClaudeCode"
131
+ : "/etc/claude-code";
132
+ const dropIns = path.join(dir, "managed-settings.d");
133
+ return [
134
+ path.join(dir, "managed-settings.json"),
135
+ ...listDir(dropIns).map((name) => path.join(dropIns, name)),
136
+ // macOS MDM profiles (managed preferences), machine-wide or for this user.
137
+ ...(platform === "darwin" ? [
138
+ `/Library/Managed Preferences/${MDM_DOMAIN}.plist`,
139
+ `/Library/Managed Preferences/${userName()}/${MDM_DOMAIN}.plist`,
140
+ ] : []),
141
+ ];
142
+ }
143
+ const MDM_DOMAIN = "com.anthropic.claudecode";
144
+ function userName() {
145
+ try {
146
+ return os.userInfo().username;
147
+ }
148
+ catch {
149
+ return process.env.USER ?? "";
150
+ }
151
+ }
152
+ /** Every `--settings <value>` / `--settings=<value>` before a `--`. */
153
+ export function settingsArgs(args) {
154
+ const out = [];
155
+ for (let i = 0; i < args.length; i++) {
156
+ const arg = args[i];
157
+ if (arg === "--")
158
+ break;
159
+ if (arg === "--settings" && i + 1 < args.length)
160
+ out.push(args[++i]);
161
+ else if (arg.startsWith("--settings="))
162
+ out.push(arg.slice("--settings=".length));
163
+ }
164
+ return out;
165
+ }
166
+ function listJsonFiles(dir) {
167
+ try {
168
+ return readdirSync(dir).filter((name) => name.endsWith(".json")).sort();
169
+ }
170
+ catch {
171
+ return [];
172
+ }
173
+ }
174
+ /** A settings file's text; a property list (MDM) as JSON through plutil. */
175
+ function readTextFile(file) {
176
+ try {
177
+ if (!file.endsWith(".plist"))
178
+ return readFileSync(file, "utf8");
179
+ if (!existsSync(file))
180
+ return null;
181
+ return execFileSync("/usr/bin/plutil", ["-convert", "json", "-o", "-", file], { encoding: "utf8", timeout: 2_000, stdio: ["ignore", "pipe", "ignore"] });
182
+ }
183
+ catch {
184
+ return null;
185
+ }
186
+ }
187
+ /** JSON as Claude Code reads settings: a leading byte-order mark is allowed. */
188
+ function parseJson(text) {
189
+ if (text === null)
190
+ return undefined;
191
+ try {
192
+ return JSON.parse(text.replace(/^\uFEFF/, ""));
193
+ }
194
+ catch {
195
+ return undefined;
196
+ }
197
+ }
198
+ function isRecord(value) {
199
+ return typeof value === "object" && value !== null && !Array.isArray(value);
200
+ }
201
+ function nonEmpty(value) {
202
+ return typeof value === "string" ? value.trim() !== "" : value !== undefined && value !== null;
203
+ }
204
+ //# sourceMappingURL=https-proxy-eligibility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https-proxy-eligibility.js","sourceRoot":"","sources":["../src/https-proxy-eligibility.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * ccc's loopback server as Claude Code's HTTPS_PROXY (opt-in: CCC_HTTPS_PROXY_MODE=1 or
3
+ * the `httpsProxyMode` config key; https-proxy-session.ts decides and sets it up). Claude
4
+ * Code then keeps api.anthropic.com as its base URL, and with it Remote Control, while its
5
+ * model calls still reach ccc and MemTree.
6
+ *
7
+ * - A CONNECT without this session's proxy token gets 407: other local users and programs
8
+ * can use neither the tunnel nor the interception.
9
+ * - CONNECT api.anthropic.com:443: TLS is terminated with the session CA's leaf
10
+ * (mitm-ca.ts) and the decrypted stream goes to a separate, never-listening http.Server
11
+ * that shares ccc's request handler. proxy.ts routes only POST /v1/messages and
12
+ * /v1/messages/count_tokens from it to MemTree; every other path (Remote Control's
13
+ * bridge, sessions, files, OAuth, telemetry) goes verbatim to api.anthropic.com, and
14
+ * ccc's loopback-only routes (hooks, /memtree/*) are not reachable from it.
15
+ * - Every other CONNECT: a blind TCP tunnel. ccc never decrypts or logs those bytes.
16
+ * - An HTTP upgrade (WebSocket) on an intercepted stream: piped raw to api.anthropic.com
17
+ * over a fresh TLS connection. The loopback server itself gets no upgrade listener, so
18
+ * its requests behave exactly as without proxy mode.
19
+ *
20
+ * The optional trace (CCC_PROXY_TRACE) records CONNECT targets and, for intercepted
21
+ * requests, method, path (no query), status and User-Agent: no other header values, no
22
+ * bodies.
23
+ */
24
+ import http from "node:http";
25
+ import { type SessionCa } from "./mitm-ca.js";
26
+ /** The user name in HTTPS_PROXY; the session token is its password. */
27
+ export declare const PROXY_USER = "ccc";
28
+ export interface HttpsProxyModeOptions {
29
+ /** The leaf for api.anthropic.com (its CA's key is already gone). */
30
+ ca: Pick<SessionCa, "leafCertPem" | "leafKeyPem">;
31
+ /** Per-session secret: Claude Code sends it on every CONNECT (HTTPS_PROXY's userinfo). */
32
+ proxyToken: string;
33
+ /** Debug trace (CONNECT targets, intercepted method/path/status, User-Agent). */
34
+ tracePath?: string;
35
+ }
36
+ /** Where intercepted traffic goes: api.anthropic.com, or a test's fake upstream. */
37
+ export interface InterceptUpstream {
38
+ host: string;
39
+ port: number;
40
+ secure: boolean;
41
+ }
42
+ /**
43
+ * Raw sockets drain can't see (they keep server.close() waiting): `blind` destroys the
44
+ * blind tunnels (no ccc work in them; called when drain starts), `all` everything left
45
+ * (at the drain deadline).
46
+ */
47
+ export interface CloseTunnels {
48
+ blind: () => void;
49
+ all: () => void;
50
+ }
51
+ /** The HTTPS_PROXY value Claude Code gets: the loopback port with the token. */
52
+ export declare function proxyUrlFor(port: number, proxyToken: string): string;
53
+ export declare function attachHttpsProxyMode(server: http.Server, onInterceptedRequest: http.RequestListener, upstream: InterceptUpstream, opts: HttpsProxyModeOptions): CloseTunnels;
54
+ /** host:port of a CONNECT (IPv6 in brackets); null when malformed. */
55
+ export declare function parseAuthority(authority: string): {
56
+ host: string;
57
+ port: number;
58
+ } | null;
59
+ //# sourceMappingURL=https-proxy-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"https-proxy-mode.d.ts","sourceRoot":"","sources":["../src/https-proxy-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,uEAAuE;AACvE,eAAO,MAAM,UAAU,QAAQ,CAAC;AAEhC,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,GAAG,YAAY,CAAC,CAAC;IAClD,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,oBAAoB,EAAE,IAAI,CAAC,eAAe,EAC1C,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,qBAAqB,GAC1B,YAAY,CAmBd;AAwID,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMvF"}