@codemieai/code 0.15.6 → 0.15.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +3 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +4 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +15 -0
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/types.d.ts +10 -0
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/core/types.js +5 -1
- package/dist/agents/core/types.js.map +1 -1
- package/dist/agents/plugins/claude/claude.models.d.ts +1 -1
- package/dist/agents/plugins/claude/claude.models.d.ts.map +1 -1
- package/dist/agents/plugins/claude/claude.models.js +7 -3
- package/dist/agents/plugins/claude/claude.models.js.map +1 -1
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.constants.d.ts +3 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.constants.d.ts.map +1 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.constants.js +3 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.constants.js.map +1 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.plugin.d.ts +11 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.plugin.d.ts.map +1 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.plugin.js +65 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.plugin.js.map +1 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.types.d.ts +63 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.types.d.ts.map +1 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.types.js +13 -0
- package/dist/agents/plugins/claude-code-otlp/claude-code-otlp.types.js.map +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +6 -4
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex/codex-models.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex-models.js +9 -6
- package/dist/agents/plugins/codex/codex-models.js.map +1 -1
- package/dist/agents/plugins/codex/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex/codex.plugin.js +2 -1
- package/dist/agents/plugins/codex/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts +3 -2
- package/dist/agents/plugins/opencode/opencode-dynamic-models.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js +14 -6
- package/dist/agents/plugins/opencode/opencode-dynamic-models.js.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/opencode/opencode.plugin.js +6 -4
- package/dist/agents/plugins/opencode/opencode.plugin.js.map +1 -1
- package/dist/agents/plugins/utils.d.ts +11 -0
- package/dist/agents/plugins/utils.d.ts.map +1 -0
- package/dist/agents/plugins/utils.js +46 -0
- package/dist/agents/plugins/utils.js.map +1 -0
- package/dist/agents/registry.d.ts +3 -1
- package/dist/agents/registry.d.ts.map +1 -1
- package/dist/agents/registry.js +12 -0
- package/dist/agents/registry.js.map +1 -1
- package/dist/bin/proxy-daemon.js +4 -0
- package/dist/bin/proxy-daemon.js.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/selection.d.ts +3 -1
- package/dist/cli/commands/assistants/setup/configuration/selection.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/selection.js +6 -3
- package/dist/cli/commands/assistants/setup/configuration/selection.js.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/types.d.ts +2 -0
- package/dist/cli/commands/assistants/setup/configuration/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/configuration/ui.js +3 -0
- package/dist/cli/commands/assistants/setup/configuration/ui.js.map +1 -1
- package/dist/cli/commands/assistants/setup/data.d.ts +6 -2
- package/dist/cli/commands/assistants/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/data.js +23 -8
- package/dist/cli/commands/assistants/setup/data.js.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.d.ts +1 -0
- package/dist/cli/commands/assistants/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/helpers.js +11 -0
- package/dist/cli/commands/assistants/setup/helpers.js.map +1 -1
- package/dist/cli/commands/assistants/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/index.js +24 -6
- package/dist/cli/commands/assistants/setup/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts +2 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.js +5 -3
- package/dist/cli/commands/assistants/setup/manualConfiguration/index.js.map +1 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts +2 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/types.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.d.ts.map +1 -1
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js +3 -0
- package/dist/cli/commands/assistants/setup/manualConfiguration/ui.js.map +1 -1
- package/dist/cli/commands/hook.d.ts.map +1 -1
- package/dist/cli/commands/hook.js +24 -29
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts +8 -1
- package/dist/cli/commands/proxy/connect-orchestrator.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connect-orchestrator.js +65 -4
- package/dist/cli/commands/proxy/connect-orchestrator.js.map +1 -1
- package/dist/cli/commands/proxy/connectors/claude-code-otlp.d.ts +33 -0
- package/dist/cli/commands/proxy/connectors/claude-code-otlp.d.ts.map +1 -0
- package/dist/cli/commands/proxy/connectors/claude-code-otlp.js +299 -0
- package/dist/cli/commands/proxy/connectors/claude-code-otlp.js.map +1 -0
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.d.ts.map +1 -1
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js +5 -6
- package/dist/cli/commands/proxy/connectors/managed-mcp-remote.js.map +1 -1
- package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts +2 -0
- package/dist/cli/commands/proxy/disconnect-orchestrator.d.ts.map +1 -1
- package/dist/cli/commands/proxy/disconnect-orchestrator.js +34 -5
- package/dist/cli/commands/proxy/disconnect-orchestrator.js.map +1 -1
- package/dist/cli/commands/proxy/index.d.ts.map +1 -1
- package/dist/cli/commands/proxy/index.js +19 -2
- package/dist/cli/commands/proxy/index.js.map +1 -1
- package/dist/cli/commands/self-update.d.ts.map +1 -1
- package/dist/cli/commands/self-update.js +5 -1
- package/dist/cli/commands/self-update.js.map +1 -1
- package/dist/cli/commands/shared/constants.d.ts +3 -0
- package/dist/cli/commands/shared/constants.d.ts.map +1 -1
- package/dist/cli/commands/shared/constants.js +3 -0
- package/dist/cli/commands/shared/constants.js.map +1 -1
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts +3 -1
- package/dist/cli/commands/shared/prompts/storage-scope.d.ts.map +1 -1
- package/dist/cli/commands/shared/prompts/storage-scope.js +5 -1
- package/dist/cli/commands/shared/prompts/storage-scope.js.map +1 -1
- package/dist/cli/commands/skills/setup/data.d.ts +5 -1
- package/dist/cli/commands/skills/setup/data.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/data.js +17 -8
- package/dist/cli/commands/skills/setup/data.js.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.d.ts +1 -0
- package/dist/cli/commands/skills/setup/helpers.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/helpers.js +11 -0
- package/dist/cli/commands/skills/setup/helpers.js.map +1 -1
- package/dist/cli/commands/skills/setup/index.d.ts.map +1 -1
- package/dist/cli/commands/skills/setup/index.js +7 -2
- package/dist/cli/commands/skills/setup/index.js.map +1 -1
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/mcp/stdio-http-bridge.d.ts.map +1 -1
- package/dist/mcp/stdio-http-bridge.js +4 -0
- package/dist/mcp/stdio-http-bridge.js.map +1 -1
- package/dist/providers/core/base/http-client.d.ts.map +1 -1
- package/dist/providers/core/base/http-client.js +16 -3
- package/dist/providers/core/base/http-client.js.map +1 -1
- package/dist/providers/core/codemie-auth-helpers.d.ts.map +1 -1
- package/dist/providers/core/codemie-auth-helpers.js +2 -1
- package/dist/providers/core/codemie-auth-helpers.js.map +1 -1
- package/dist/providers/core/types.d.ts +3 -0
- package/dist/providers/core/types.d.ts.map +1 -1
- package/dist/providers/core/types.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/index.js +2 -0
- package/dist/providers/plugins/sso/proxy/plugins/index.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/auth-state.d.ts +3 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/auth-state.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/auth-state.js +19 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/auth-state.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/completeness-gate.d.ts +19 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/completeness-gate.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/completeness-gate.js +33 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/completeness-gate.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/forwarder.d.ts +14 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/forwarder.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/forwarder.js +287 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/forwarder.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-lock.d.ts +8 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-lock.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-lock.js +29 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-lock.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-status.d.ts +40 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-status.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-status.js +82 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/session-status.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-config.d.ts +36 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-config.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-config.js +62 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-config.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-io.d.ts +39 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-io.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-io.js +110 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-io.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-paths.d.ts +24 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-paths.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-paths.js +53 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-paths.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-state.d.ts +39 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-state.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-state.js +61 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/spool-state.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/sweep.d.ts +20 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/sweep.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/sweep.js +73 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/sweep.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/tick-processor.d.ts +12 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/tick-processor.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/tick-processor.js +55 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp-spool/tick-processor.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp.plugin.d.ts +14 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp.plugin.d.ts.map +1 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp.plugin.js +221 -0
- package/dist/providers/plugins/sso/proxy/plugins/otlp.plugin.js.map +1 -0
- package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts +1 -4
- package/dist/providers/plugins/sso/proxy/proxy-http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/proxy-http-client.js +10 -207
- package/dist/providers/plugins/sso/proxy/proxy-http-client.js.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.d.ts.map +1 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js +2 -1
- package/dist/providers/plugins/sso/proxy/sso.proxy.js.map +1 -1
- package/dist/providers/plugins/sso/sso.auth-gate.d.ts +18 -0
- package/dist/providers/plugins/sso/sso.auth-gate.d.ts.map +1 -0
- package/dist/providers/plugins/sso/sso.auth-gate.js +48 -0
- package/dist/providers/plugins/sso/sso.auth-gate.js.map +1 -0
- package/dist/providers/plugins/sso/sso.auth.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.auth.js +14 -4
- package/dist/providers/plugins/sso/sso.auth.js.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.d.ts +12 -0
- package/dist/providers/plugins/sso/sso.http-client.d.ts.map +1 -1
- package/dist/providers/plugins/sso/sso.http-client.js +33 -5
- package/dist/providers/plugins/sso/sso.http-client.js.map +1 -1
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +4 -0
- package/dist/utils/auth.js.map +1 -1
- package/dist/utils/cli-updater.d.ts +7 -0
- package/dist/utils/cli-updater.d.ts.map +1 -1
- package/dist/utils/cli-updater.js +21 -0
- package/dist/utils/cli-updater.js.map +1 -1
- package/dist/utils/paths.d.ts +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/processes.d.ts.map +1 -1
- package/dist/utils/processes.js +3 -2
- package/dist/utils/processes.js.map +1 -1
- package/dist/utils/project-root.d.ts +10 -0
- package/dist/utils/project-root.d.ts.map +1 -0
- package/dist/utils/project-root.js +25 -0
- package/dist/utils/project-root.js.map +1 -0
- package/dist/utils/sdk-client.d.ts.map +1 -1
- package/dist/utils/sdk-client.js +4 -0
- package/dist/utils/sdk-client.js.map +1 -1
- package/dist/utils/system-proxy-dispatcher.d.ts +8 -0
- package/dist/utils/system-proxy-dispatcher.d.ts.map +1 -0
- package/dist/utils/system-proxy-dispatcher.js +100 -0
- package/dist/utils/system-proxy-dispatcher.js.map +1 -0
- package/dist/utils/system-proxy.d.ts +115 -0
- package/dist/utils/system-proxy.d.ts.map +1 -0
- package/dist/utils/system-proxy.js +899 -0
- package/dist/utils/system-proxy.js.map +1 -0
- package/dist/utils/windows-path.d.ts +5 -0
- package/dist/utils/windows-path.d.ts.map +1 -1
- package/dist/utils/windows-path.js +1 -1
- package/dist/utils/windows-path.js.map +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Undici dispatcher that applies the shared system-proxy resolver to global fetch.
|
|
3
|
+
*/
|
|
4
|
+
import { Agent, Dispatcher, getGlobalDispatcher, ProxyAgent, setGlobalDispatcher, } from 'undici';
|
|
5
|
+
import { logger } from './logger.js';
|
|
6
|
+
import { sanitizeLogArgs } from './security.js';
|
|
7
|
+
import { isTlsVerificationEnabled, resolveProxyForUrl } from './system-proxy.js';
|
|
8
|
+
const dispatcherCache = new Map();
|
|
9
|
+
let installedDispatcher;
|
|
10
|
+
let previousDispatcher;
|
|
11
|
+
function toError(error) {
|
|
12
|
+
return error instanceof Error ? error : new Error(String(error));
|
|
13
|
+
}
|
|
14
|
+
/** Route each Undici request through the same per-URL proxy policy as Node HTTP clients. */
|
|
15
|
+
class SystemProxyDispatcher extends Dispatcher {
|
|
16
|
+
directDispatcher;
|
|
17
|
+
rejectUnauthorized;
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
this.rejectUnauthorized = isTlsVerificationEnabled();
|
|
21
|
+
this.directDispatcher = new Agent({
|
|
22
|
+
connect: { rejectUnauthorized: this.rejectUnauthorized },
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
dispatch(options, handler) {
|
|
26
|
+
void this.selectDispatcher(options)
|
|
27
|
+
.then(dispatcher => dispatcher.dispatch(options, handler))
|
|
28
|
+
.catch(error => handler.onError?.(toError(error)));
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
close(callback) {
|
|
32
|
+
const closing = Promise.all([
|
|
33
|
+
this.directDispatcher.close(),
|
|
34
|
+
...[...dispatcherCache.values()].map(dispatcher => dispatcher.close()),
|
|
35
|
+
]).then(() => undefined);
|
|
36
|
+
if (callback) {
|
|
37
|
+
void closing.then(callback, callback);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
return closing;
|
|
41
|
+
}
|
|
42
|
+
destroy(errorOrCallback = null, callback) {
|
|
43
|
+
const error = typeof errorOrCallback === 'function' ? null : errorOrCallback;
|
|
44
|
+
const done = typeof errorOrCallback === 'function' ? errorOrCallback : callback;
|
|
45
|
+
const destroying = Promise.all([
|
|
46
|
+
this.directDispatcher.destroy(error),
|
|
47
|
+
...[...dispatcherCache.values()].map(dispatcher => dispatcher.destroy(error)),
|
|
48
|
+
]).then(() => undefined);
|
|
49
|
+
if (done) {
|
|
50
|
+
void destroying.then(done, done);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
return destroying;
|
|
54
|
+
}
|
|
55
|
+
async selectDispatcher(options) {
|
|
56
|
+
if (!options.origin)
|
|
57
|
+
return this.directDispatcher;
|
|
58
|
+
const origin = new URL(options.origin.toString());
|
|
59
|
+
const target = new URL(options.path, origin);
|
|
60
|
+
const proxyUrl = await resolveProxyForUrl(target);
|
|
61
|
+
if (!proxyUrl)
|
|
62
|
+
return this.directDispatcher;
|
|
63
|
+
const cacheKey = `${proxyUrl}|${this.rejectUnauthorized}`;
|
|
64
|
+
const cached = dispatcherCache.get(cacheKey);
|
|
65
|
+
if (cached)
|
|
66
|
+
return cached;
|
|
67
|
+
try {
|
|
68
|
+
const dispatcher = new ProxyAgent({
|
|
69
|
+
uri: proxyUrl,
|
|
70
|
+
requestTls: { rejectUnauthorized: this.rejectUnauthorized },
|
|
71
|
+
proxyTls: { rejectUnauthorized: this.rejectUnauthorized },
|
|
72
|
+
});
|
|
73
|
+
dispatcherCache.set(cacheKey, dispatcher);
|
|
74
|
+
return dispatcher;
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
logger.debug('[system-proxy] Failed to construct fetch proxy dispatcher; continuing direct', ...sanitizeLogArgs({ hasProxy: true, error: toError(error).message }));
|
|
78
|
+
return this.directDispatcher;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/** Install the system-proxy dispatcher once for this process. */
|
|
83
|
+
export function installSystemProxyDispatcher() {
|
|
84
|
+
if (installedDispatcher)
|
|
85
|
+
return;
|
|
86
|
+
previousDispatcher = getGlobalDispatcher();
|
|
87
|
+
installedDispatcher = new SystemProxyDispatcher();
|
|
88
|
+
setGlobalDispatcher(installedDispatcher);
|
|
89
|
+
}
|
|
90
|
+
/** Test seam for releasing dispatcher resources and allowing reinstallation. */
|
|
91
|
+
export async function resetSystemProxyDispatcher() {
|
|
92
|
+
if (installedDispatcher && previousDispatcher)
|
|
93
|
+
setGlobalDispatcher(previousDispatcher);
|
|
94
|
+
if (installedDispatcher)
|
|
95
|
+
await installedDispatcher.destroy();
|
|
96
|
+
installedDispatcher = undefined;
|
|
97
|
+
previousDispatcher = undefined;
|
|
98
|
+
dispatcherCache.clear();
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=system-proxy-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-proxy-dispatcher.js","sourceRoot":"","sources":["../../src/utils/system-proxy-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System Proxy Resolution
|
|
3
|
+
*
|
|
4
|
+
* Resolves the effective proxy for an outbound request, in precedence order:
|
|
5
|
+
* 1. `HTTPS_PROXY` / `HTTP_PROXY` / `NO_PROXY` environment variables
|
|
6
|
+
* 2. Windows Internet Settings — `ProxyOverride`, then `AutoConfigURL` (PAC),
|
|
7
|
+
* then the static `ProxyServer` only when the PAC is unavailable
|
|
8
|
+
*
|
|
9
|
+
* Node's `http`/`https` modules never consult any system proxy configuration, so
|
|
10
|
+
* without this module Windows users behind a PAC-based corporate proxy (Zscaler
|
|
11
|
+
* and similar) have to discover and hand-set `HTTPS_PROXY` themselves.
|
|
12
|
+
*
|
|
13
|
+
* Set `CODEMIE_NO_SYSTEM_PROXY=1` to skip system detection and use env vars only.
|
|
14
|
+
*/
|
|
15
|
+
import http from 'http';
|
|
16
|
+
/**
|
|
17
|
+
* Never proxied. The CLI's own LLM proxy listens on loopback, so routing these
|
|
18
|
+
* through a corporate proxy would break every agent session.
|
|
19
|
+
*/
|
|
20
|
+
export declare const IMPLICIT_NO_PROXY: string[];
|
|
21
|
+
export type NoProxyRule = {
|
|
22
|
+
kind: 'all';
|
|
23
|
+
} | {
|
|
24
|
+
kind: 'host';
|
|
25
|
+
value: string;
|
|
26
|
+
port?: number;
|
|
27
|
+
} | {
|
|
28
|
+
kind: 'domain';
|
|
29
|
+
value: string;
|
|
30
|
+
port?: number;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'cidr';
|
|
33
|
+
base: number;
|
|
34
|
+
maskBits: number;
|
|
35
|
+
} | {
|
|
36
|
+
kind: 'plain-hostname';
|
|
37
|
+
};
|
|
38
|
+
export declare function splitRules(raw: string | undefined, separator?: string): string[];
|
|
39
|
+
export declare function parseNoProxyRules(values: string[]): NoProxyRule[];
|
|
40
|
+
export declare function shouldBypassProxy(hostname: string, port: number, rules: NoProxyRule[]): boolean;
|
|
41
|
+
export declare function getEnvProxyUrl(protocol: 'http:' | 'https:'): string | undefined;
|
|
42
|
+
export declare function getEnvNoProxyEntries(): string[];
|
|
43
|
+
interface WindowsInternetSettings {
|
|
44
|
+
proxyEnable: boolean;
|
|
45
|
+
proxyServer?: string;
|
|
46
|
+
proxyOverride?: string;
|
|
47
|
+
autoConfigUrl?: string;
|
|
48
|
+
source: 'user' | 'machine';
|
|
49
|
+
}
|
|
50
|
+
export interface SystemProxyConfig {
|
|
51
|
+
/** Windows static proxy or undefined when PAC-based / unset. */
|
|
52
|
+
settings?: WindowsInternetSettings;
|
|
53
|
+
/** Loopback plus NO_PROXY/no_proxy and npm noproxy. */
|
|
54
|
+
environmentNoProxyRules: NoProxyRule[];
|
|
55
|
+
/** Windows ProxyOverride rules, applied only when no explicit env proxy exists. */
|
|
56
|
+
windowsNoProxyRules: NoProxyRule[];
|
|
57
|
+
/** Combined rules retained for diagnostics and compatibility. */
|
|
58
|
+
noProxyRules: NoProxyRule[];
|
|
59
|
+
}
|
|
60
|
+
export type ProxyResolution = {
|
|
61
|
+
kind: 'proxy';
|
|
62
|
+
url: string;
|
|
63
|
+
source: 'environment' | 'pac' | 'windows-static';
|
|
64
|
+
} | {
|
|
65
|
+
kind: 'direct';
|
|
66
|
+
source: 'bypass' | 'pac' | 'none' | 'invalid-proxy';
|
|
67
|
+
} | {
|
|
68
|
+
kind: 'unavailable';
|
|
69
|
+
source: 'pac';
|
|
70
|
+
reason: string;
|
|
71
|
+
};
|
|
72
|
+
/** Load the effective proxy configuration with bounded success/failure caching. */
|
|
73
|
+
export declare function getSystemProxyConfig(): Promise<SystemProxyConfig>;
|
|
74
|
+
/**
|
|
75
|
+
* Resolve a request to an explicit proxy, direct connection, or unavailable PAC.
|
|
76
|
+
*
|
|
77
|
+
* Explicit NO_PROXY applies first, then user proxy variables. Windows bypass,
|
|
78
|
+
* PAC and static settings are considered only when the user did not override
|
|
79
|
+
* routing through the environment.
|
|
80
|
+
*/
|
|
81
|
+
export declare function resolveProxyForUrlDetailed(url: URL): Promise<ProxyResolution>;
|
|
82
|
+
/** Resolve the proxy URL for Node HTTP clients, or `undefined` for direct. */
|
|
83
|
+
export declare function resolveProxyForUrl(url: URL): Promise<string | undefined>;
|
|
84
|
+
export interface ProxyAgentOptions {
|
|
85
|
+
rejectUnauthorized?: boolean;
|
|
86
|
+
keepAlive?: boolean;
|
|
87
|
+
maxSockets?: number;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Agent that routes `url` through the resolved proxy, or `undefined` when the
|
|
91
|
+
* request should go direct (letting Node use its default agent).
|
|
92
|
+
*/
|
|
93
|
+
export declare function getProxyAgentForUrl(url: URL, options?: ProxyAgentOptions): Promise<http.Agent | undefined>;
|
|
94
|
+
/**
|
|
95
|
+
* Return whether outbound TLS certificates must be verified.
|
|
96
|
+
*
|
|
97
|
+
* Callers pass the result as an explicit `rejectUnauthorized`, which overrides
|
|
98
|
+
* Node's own process-wide `NODE_TLS_REJECT_UNAUTHORIZED=0` opt-out, so honor it
|
|
99
|
+
* here alongside `CODEMIE_INSECURE`.
|
|
100
|
+
*/
|
|
101
|
+
export declare function isTlsVerificationEnabled(): boolean;
|
|
102
|
+
/** Merge NO_PROXY spellings and implicit loopback entries without duplicates. */
|
|
103
|
+
export declare function mergeNoProxyValues(...values: Array<string | undefined>): string;
|
|
104
|
+
/**
|
|
105
|
+
* Build the best-effort proxy environment for SDKs and spawned tools.
|
|
106
|
+
* PAC routing is necessarily collapsed to the target host; in-process clients
|
|
107
|
+
* retain per-request accuracy through {@link resolveProxyForUrlDetailed}.
|
|
108
|
+
*/
|
|
109
|
+
export declare function buildSystemProxyEnvironment(targetUrl: string, baseEnv?: NodeJS.ProcessEnv): Promise<NodeJS.ProcessEnv>;
|
|
110
|
+
/** Apply the shared proxy environment to a mutable process or child environment. */
|
|
111
|
+
export declare function applySystemProxyEnvironment(targetUrl: string, targetEnv?: NodeJS.ProcessEnv): Promise<void>;
|
|
112
|
+
/** Test seam: drop cached registry/PAC/agent state. */
|
|
113
|
+
export declare function resetSystemProxyCache(): void;
|
|
114
|
+
export {};
|
|
115
|
+
//# sourceMappingURL=system-proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-proxy.d.ts","sourceRoot":"","sources":["../../src/utils/system-proxy.ts"],"names":[],"mappings":"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"}
|