@wrongstack/core 0.310.1 → 0.313.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.
- package/dist/chronicle/index.js +84 -6391
- package/dist/chronicle/project-server.js +84 -4868
- package/dist/chunk-2BUUIMQB.js +225 -0
- package/dist/chunk-2FK4WTFF.js +207 -0
- package/dist/chunk-2FQL4PDC.js +292 -0
- package/dist/chunk-2KKODIQU.js +2256 -0
- package/dist/chunk-2YU4WVBW.js +134 -0
- package/dist/chunk-3E244UDA.js +356 -0
- package/dist/chunk-3XPVB7BA.js +135 -0
- package/dist/chunk-4LJJYBAU.js +388 -0
- package/dist/chunk-4VWO3ZXL.js +342 -0
- package/dist/chunk-4XV6IR37.js +187 -0
- package/dist/chunk-4ZHTKJHM.js +183 -0
- package/dist/chunk-52RTVH4M.js +361 -0
- package/dist/chunk-57GEWK5X.js +26 -0
- package/dist/chunk-5DSMEVA4.js +931 -0
- package/dist/chunk-5RP3QTRL.js +1223 -0
- package/dist/chunk-5S437PRC.js +50 -0
- package/dist/chunk-5XDUGTKN.js +511 -0
- package/dist/chunk-62V2AFVG.js +422 -0
- package/dist/chunk-65RDIOR2.js +2470 -0
- package/dist/chunk-6AKOTGLM.js +597 -0
- package/dist/chunk-7ZHZE5EO.js +28 -0
- package/dist/chunk-A455ATZB.js +140 -0
- package/dist/chunk-AD7ZFZCS.js +46 -0
- package/dist/chunk-AI4LLQ2U.js +856 -0
- package/dist/chunk-ASX6AW36.js +789 -0
- package/dist/chunk-AT4V4XGI.js +3522 -0
- package/dist/chunk-AWNQ6ED6.js +311 -0
- package/dist/chunk-B4AMLZPB.js +9 -0
- package/dist/chunk-BAKVJLEV.js +417 -0
- package/dist/chunk-BJHVULHO.js +55 -0
- package/dist/chunk-CB2HFKTP.js +9 -0
- package/dist/chunk-CE4ZOCOI.js +1640 -0
- package/dist/chunk-CQQL4ZOQ.js +151 -0
- package/dist/chunk-DEIQMBD2.js +65 -0
- package/dist/chunk-E6I5RXVK.js +58 -0
- package/dist/chunk-EFEHDQGY.js +1589 -0
- package/dist/chunk-EODDVJBM.js +82 -0
- package/dist/chunk-EPC3GZD4.js +308 -0
- package/dist/chunk-FAYRX2AD.js +13 -0
- package/dist/chunk-FFSX2QDQ.js +362 -0
- package/dist/chunk-FHAMQS7Q.js +5856 -0
- package/dist/chunk-FIV4IJL7.js +2263 -0
- package/dist/chunk-FNXVT7HF.js +52 -0
- package/dist/chunk-FSWCWSTS.js +395 -0
- package/dist/chunk-FW5LDDMJ.js +16464 -0
- package/dist/chunk-FXQLIX3K.js +211 -0
- package/dist/chunk-G5AAKEEZ.js +228 -0
- package/dist/chunk-G5S3S5ZN.js +38 -0
- package/dist/chunk-GAZEWQEZ.js +231 -0
- package/dist/chunk-GFJOMSHG.js +125 -0
- package/dist/chunk-GFXZTHNI.js +158 -0
- package/dist/chunk-GM54GJBU.js +960 -0
- package/dist/chunk-GPQ3NJPR.js +900 -0
- package/dist/chunk-GTCU6DZ3.js +1 -0
- package/dist/chunk-H5E77KUJ.js +15 -0
- package/dist/chunk-H72H4XDU.js +1023 -0
- package/dist/chunk-HA4ZYA6T.js +178 -0
- package/dist/chunk-I45KAW2N.js +5020 -0
- package/dist/chunk-IQ35HMQL.js +1396 -0
- package/dist/chunk-IYFBFX34.js +86 -0
- package/dist/chunk-JJPMWPB6.js +109 -0
- package/dist/chunk-JTHKOYWU.js +663 -0
- package/dist/chunk-JVGPR3TS.js +365 -0
- package/dist/chunk-JVKB2TBL.js +48 -0
- package/dist/chunk-JX7VBZDK.js +31 -0
- package/dist/chunk-K3G6JBUC.js +5232 -0
- package/dist/chunk-K4YUNKU7.js +589 -0
- package/dist/chunk-KBZGE6LN.js +710 -0
- package/dist/chunk-KDQJCT2J.js +45 -0
- package/dist/chunk-KI4L2DUL.js +560 -0
- package/dist/chunk-KJ2ZTQSL.js +47 -0
- package/dist/chunk-KSJ5UTP7.js +154 -0
- package/dist/chunk-LHOA5DWA.js +28 -0
- package/dist/chunk-LX5QWLBL.js +27 -0
- package/dist/chunk-LZDDLNCZ.js +279 -0
- package/dist/chunk-M2WF6AXG.js +115 -0
- package/dist/chunk-M7BS2K6U.js +1 -0
- package/dist/chunk-NDBIPFNY.js +102 -0
- package/dist/chunk-NEMIWEXC.js +1199 -0
- package/dist/chunk-NFAYHPRH.js +323 -0
- package/dist/chunk-O37BQ65S.js +21 -0
- package/dist/chunk-O74MJHXU.js +187 -0
- package/dist/chunk-OJZEX73F.js +112 -0
- package/dist/chunk-PAAWLLZX.js +74 -0
- package/dist/chunk-PFXFQQRT.js +339 -0
- package/dist/chunk-PFZO3C6H.js +14 -0
- package/dist/chunk-PHH7LD45.js +113 -0
- package/dist/chunk-QRTG4XTI.js +188 -0
- package/dist/chunk-QVOVMXJR.js +1351 -0
- package/dist/chunk-RCQYT2I4.js +757 -0
- package/dist/chunk-RD6DEE36.js +1178 -0
- package/dist/chunk-RJIZEJ42.js +30 -0
- package/dist/chunk-RPOA7IAE.js +150 -0
- package/dist/chunk-SN2DQRL6.js +1172 -0
- package/dist/chunk-SQJVFEBV.js +41 -0
- package/dist/chunk-SQP64RCS.js +5391 -0
- package/dist/chunk-SVT4RNTR.js +49 -0
- package/dist/chunk-SWUFN7XM.js +43 -0
- package/dist/chunk-SXMVYC5H.js +174 -0
- package/dist/chunk-SZ6AYUIZ.js +23 -0
- package/dist/chunk-T3KGZBU5.js +3171 -0
- package/dist/chunk-TBRL2RCC.js +9 -0
- package/dist/chunk-TRT2HRWZ.js +18 -0
- package/dist/chunk-TYW2GI5I.js +1077 -0
- package/dist/chunk-UIWONWVG.js +4959 -0
- package/dist/chunk-VB3H5WWB.js +151 -0
- package/dist/chunk-W4A6QA3D.js +258 -0
- package/dist/chunk-WBPVKEEE.js +227 -0
- package/dist/chunk-WEBMSQP2.js +123 -0
- package/dist/chunk-WOEZV3Q4.js +333 -0
- package/dist/chunk-WQQON3SV.js +473 -0
- package/dist/chunk-WQTOVMGV.js +119 -0
- package/dist/chunk-WZO23AWO.js +2779 -0
- package/dist/chunk-XBDP4QPW.js +7 -0
- package/dist/chunk-XEBHSJLT.js +103 -0
- package/dist/chunk-XQ2ECNK3.js +1 -0
- package/dist/chunk-XQ2XGIBF.js +2086 -0
- package/dist/chunk-Y2GE5TSI.js +355 -0
- package/dist/chunk-YBUJCZ57.js +351 -0
- package/dist/chunk-YNCVSFGF.js +149 -0
- package/dist/chunk-YUPMXOGP.js +282 -0
- package/dist/chunk-YY6APYUM.js +49 -0
- package/dist/chunk-Z2IJUO45.js +691 -0
- package/dist/chunk-ZEHUCJHY.js +129 -0
- package/dist/chunk-ZYU2YOJ6.js +1496 -0
- package/dist/chunk-ZZ4V3WIZ.js +163 -0
- package/dist/coordination/agents/index.js +145 -6260
- package/dist/coordination/index.js +365 -34323
- package/dist/coordination/mailbox-project-server.js +48 -3220
- package/dist/coordination/mailbox-types.d.ts +13 -1
- package/dist/coordination/provider-status-tracker.d.ts +4 -0
- package/dist/coordination/sqlite-mailbox.d.ts +2 -1
- package/dist/core/agent.d.ts +14 -1
- package/dist/core/index.js +267 -12479
- package/dist/core/model-ref.js +5 -23
- package/dist/core/provider-runner.d.ts +36 -1
- package/dist/design/index.js +50 -1087
- package/dist/execution/index.d.ts +1 -1
- package/dist/execution/index.js +1599 -21887
- package/dist/execution/prompt-enhancer.js +16 -535
- package/dist/execution/retry-policy.d.ts +31 -1
- package/dist/extension/index.js +7 -311
- package/dist/goal/index.js +33 -3435
- package/dist/hooks/index.js +14 -1138
- package/dist/hq/index.js +112 -5139
- package/dist/hq/protocol.js +21 -668
- package/dist/index.js +1410 -92655
- package/dist/infrastructure/index.js +64 -4811
- package/dist/kernel/events/provider-events.d.ts +15 -0
- package/dist/kernel/events/wrongtrace-events.d.ts +26 -0
- package/dist/kernel/events.d.ts +16 -7
- package/dist/kernel/index.js +14 -992
- package/dist/models/index.js +40 -1117
- package/dist/notifications/index.js +3 -108
- package/dist/observability/index.js +17 -279
- package/dist/plugin/index.js +584 -14835
- package/dist/prompts/index.js +14 -948
- package/dist/registry/index.js +9 -822
- package/dist/registry-R23UBE7H.js +14 -0
- package/dist/replay/index.js +6 -84
- package/dist/review-finding-store-DKAV3AS6.js +21 -0
- package/dist/review-report-store-OWY3EC3N.js +19 -0
- package/dist/security/index.js +114 -2202
- package/dist/session-catalog/index.js +36 -2103
- package/dist/session-catalog/project-server.js +42 -1435
- package/dist/skills/index.js +35 -1578
- package/dist/storage/index.js +182 -15600
- package/dist/tasking/index.js +10 -676
- package/dist/tools/index.js +52 -9589
- package/dist/types/config/autonomy.d.ts +5 -0
- package/dist/types/config/tools.d.ts +2 -2
- package/dist/types/config/ui.d.ts +1 -1
- package/dist/types/errors.d.ts +18 -0
- package/dist/types/index.js +121 -1341
- package/dist/types/provider-runner.d.ts +8 -0
- package/dist/types/session-markers.js +8 -144
- package/dist/utils/error.js +3 -4
- package/dist/utils/expect-defined.js +3 -9
- package/dist/utils/heap-watchdog.js +6 -706
- package/dist/utils/index.js +269 -5685
- package/dist/utils/sage-output-block.js +5 -42
- package/dist/wiring/proxy-rewrite.d.ts +92 -4
- package/dist/wiring/proxy-rewrite.js +20 -61
- package/dist/worktree/index.js +6 -887
- package/package.json +4 -4
|
@@ -1,45 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var SAGE_MEMORY_LINE = /^- \[[^\]]+\](?:\[[^\]]+\])* <memory id="[^"]+">.*<\/memory>(?: .*)?$/;
|
|
7
|
-
var SAGE_MEMORY_LINE_TRUNCATED = /^- \[[^\]]+\](?:\[[^\]]+\])* <memory id="[^"]+">.*…$/;
|
|
8
|
-
function splitSageOutputBlock(output) {
|
|
9
|
-
if (!output.includes("--- SAGE: ")) return { body: output, sageLines: [] };
|
|
10
|
-
const lines = output.split("\n");
|
|
11
|
-
for (let sageIdx = lines.length - 1; sageIdx >= 0; sageIdx--) {
|
|
12
|
-
if (!SAGE_INJECTOR_HEADINGS.has(lines[sageIdx] ?? "")) continue;
|
|
13
|
-
const candidate = lines.slice(sageIdx);
|
|
14
|
-
if (candidate.length < 2) continue;
|
|
15
|
-
const memoryLines = candidate.slice(1).filter((line) => line.trim().length > 0);
|
|
16
|
-
if (memoryLines.length === 0) continue;
|
|
17
|
-
const bodyOk = memoryLines.every(
|
|
18
|
-
(line, index) => SAGE_MEMORY_LINE.test(line) || index === memoryLines.length - 1 && SAGE_MEMORY_LINE_TRUNCATED.test(line)
|
|
19
|
-
);
|
|
20
|
-
if (!bodyOk) continue;
|
|
21
|
-
let end = candidate.length;
|
|
22
|
-
while (end > 1 && candidate[end - 1].trim().length === 0) end--;
|
|
23
|
-
return {
|
|
24
|
-
body: lines.slice(0, sageIdx).join("\n").trimEnd(),
|
|
25
|
-
sageLines: candidate.slice(0, end)
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
return { body: output, sageLines: [] };
|
|
29
|
-
}
|
|
30
|
-
function capSageLines(sageLines, maxChars) {
|
|
31
|
-
if (sageLines.length < 2) return [];
|
|
32
|
-
const header = sageLines[0];
|
|
33
|
-
if (header.length >= maxChars) return [];
|
|
34
|
-
const out = [header];
|
|
35
|
-
let used = header.length;
|
|
36
|
-
for (const line of sageLines.slice(1)) {
|
|
37
|
-
if (used + 1 + line.length > maxChars) break;
|
|
38
|
-
out.push(line);
|
|
39
|
-
used += 1 + line.length;
|
|
40
|
-
}
|
|
41
|
-
return out.length > 1 ? out : [];
|
|
42
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
SAGE_INJECTOR_HEADINGS,
|
|
3
|
+
capSageLines,
|
|
4
|
+
splitSageOutputBlock
|
|
5
|
+
} from "../chunk-SVT4RNTR.js";
|
|
43
6
|
export {
|
|
44
7
|
SAGE_INJECTOR_HEADINGS,
|
|
45
8
|
capSageLines,
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Example:
|
|
10
10
|
* original = "https://api.openai.com/v1"
|
|
11
|
-
* proxyUrl = "http://localhost:
|
|
12
|
-
* output = "http://localhost:
|
|
11
|
+
* proxyUrl = "http://localhost:3444"
|
|
12
|
+
* output = "http://localhost:3444/proxy/api.openai.com/v1"
|
|
13
13
|
*
|
|
14
14
|
* The host appears *without* a scheme in the path; the proxy terminates
|
|
15
15
|
* TLS (or speaks plain HTTP for localhost) and forwards the original
|
|
@@ -56,10 +56,25 @@ export interface ProxyConfig {
|
|
|
56
56
|
}
|
|
57
57
|
/** Read the current proxy configuration. Safe to call from any layer. */
|
|
58
58
|
export declare function getProxyConfig(): ProxyConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Listener notified by `applyProxyConfig` when the resulting config
|
|
61
|
+
* MATERIALLY changed (`enabled` / `url` / `active`). The periodic probe
|
|
62
|
+
* re-writes the same healthy values every tick, so a value-identical
|
|
63
|
+
* write must NOT notify — subscribers (e.g. the instant-apply provider
|
|
64
|
+
* rebuilder) would otherwise run every probe interval.
|
|
65
|
+
*/
|
|
66
|
+
export type ProxyConfigListener = (next: ProxyConfig, previous: ProxyConfig) => void;
|
|
67
|
+
/**
|
|
68
|
+
* Subscribe to material proxy-config changes. Returns an unsubscribe
|
|
69
|
+
* function. A throwing listener is isolated: it cannot break the probe
|
|
70
|
+
* loop or starve other subscribers.
|
|
71
|
+
*/
|
|
72
|
+
export declare function subscribeToProxyConfig(listener: ProxyConfigListener): () => void;
|
|
59
73
|
/**
|
|
60
74
|
* Apply a new proxy configuration. Returns the previous config so callers
|
|
61
75
|
* (notably the probe) can decide whether the change requires an immediate
|
|
62
|
-
* probe vs. waiting for the next tick.
|
|
76
|
+
* probe vs. waiting for the next tick. Notifies subscribers only when the
|
|
77
|
+
* merged result actually differs from the previous state.
|
|
63
78
|
*/
|
|
64
79
|
export declare function applyProxyConfig(next: Partial<ProxyConfig>): ProxyConfig;
|
|
65
80
|
/**
|
|
@@ -68,9 +83,82 @@ export declare function applyProxyConfig(next: Partial<ProxyConfig>): ProxyConfi
|
|
|
68
83
|
* excluded" rule so future call sites can't accidentally skip a check.
|
|
69
84
|
*/
|
|
70
85
|
export declare function shouldRewriteFor(providerId: string): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Automatically deactivate the proxy if a connection failure occurs while
|
|
88
|
+
* the proxy was marked active. Triggers instant-apply provider rebuilds to
|
|
89
|
+
* fallback immediately to direct provider communication without failing the turn.
|
|
90
|
+
*/
|
|
91
|
+
export declare function deactivateProxyOnConnectionFailure(err: unknown): boolean;
|
|
71
92
|
/**
|
|
72
93
|
* Reset to defaults. Intended for tests; do NOT call from production code
|
|
73
|
-
* (the singleton lives for the lifetime of the process).
|
|
94
|
+
* (the singleton lives for the lifetime of the process). Also drops all
|
|
95
|
+
* change listeners so tests never observe each other's notifications.
|
|
74
96
|
*/
|
|
75
97
|
export declare function __resetProxyConfigForTests(): void;
|
|
98
|
+
/** Upper bound for {@link waitForProxyRoutingSettle}. Local provider builds
|
|
99
|
+
* settle in single-digit milliseconds; anything slower means the host is
|
|
100
|
+
* doing network work inside rebuildProvider, and a retrying turn must not
|
|
101
|
+
* hang on it. Resolves on timeout — the barrier delays, never fails. */
|
|
102
|
+
export declare const PROXY_ROUTING_SETTLE_CAP_MS = 2000;
|
|
103
|
+
/**
|
|
104
|
+
* Wait until every registered instant-apply rebuild triggered by the current
|
|
105
|
+
* proxy-config change has settled, the cap elapses, or `signal` aborts.
|
|
106
|
+
* Resolves in all three cases — a settle timeout must not fail the turn,
|
|
107
|
+
* only stop delaying it.
|
|
108
|
+
*/
|
|
109
|
+
export declare function waitForProxyRoutingSettle(timeoutMs?: number, signal?: AbortSignal | undefined): Promise<void>;
|
|
110
|
+
/** Minimal structural logger — keeps this module dependency-free. */
|
|
111
|
+
export interface ProxyInstantApplyLogger {
|
|
112
|
+
info: (message: string) => void;
|
|
113
|
+
warn: (message: string) => void;
|
|
114
|
+
}
|
|
115
|
+
export interface ProxyInstantApplyDeps {
|
|
116
|
+
/** Current active provider id — the provider whose URL is baked in. */
|
|
117
|
+
getActiveProviderId: () => string;
|
|
118
|
+
/**
|
|
119
|
+
* Raw (pre-rewrite) base URL for a provider id, exactly as
|
|
120
|
+
* `resolveProviderCfg` reads it: `savedCfg?.baseUrl ?? config.baseUrl`.
|
|
121
|
+
* The singleton holds no provider configs, so the caller — who owns the
|
|
122
|
+
* live Config — must inject this reader.
|
|
123
|
+
*/
|
|
124
|
+
getRawBaseUrl: (providerId: string) => string | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Rebuild the live provider for `providerId` and swap it into the live
|
|
127
|
+
* context. Callers inject their existing path — e.g.
|
|
128
|
+
* `buildProviderForModel(providerId, model)` — which re-resolves
|
|
129
|
+
* proxy-aware config via `shouldRewriteFor` on every build. Should
|
|
130
|
+
* serialize the swap through the host's model-transition gate and
|
|
131
|
+
* re-check the live provider id inside it (superseded guard).
|
|
132
|
+
*/
|
|
133
|
+
rebuildProvider: (providerId: string) => Promise<void>;
|
|
134
|
+
/** Structured logger for the rebuild decisions. */
|
|
135
|
+
logger: ProxyInstantApplyLogger;
|
|
136
|
+
}
|
|
137
|
+
export interface ProxyInstantApplyHandle {
|
|
138
|
+
/** Detach the subscription. Safe to call more than once. */
|
|
139
|
+
dispose: () => void;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Subscribe to material proxy-config changes and rebuild the live
|
|
143
|
+
* provider when the routing verdict for the ACTIVE provider changes.
|
|
144
|
+
*
|
|
145
|
+
* Comparison is on the effective base URL, so:
|
|
146
|
+
* - probe ticks that rewrite identical values never rebuild;
|
|
147
|
+
* - a proxy URL change while enabled+active rebuilds (new target);
|
|
148
|
+
* - deactivation rebuilds (proxy-rewritten → raw);
|
|
149
|
+
* - toggling off while already direct does NOT rebuild;
|
|
150
|
+
* - a provider/model switch between notifications re-baselines against
|
|
151
|
+
* the PREVIOUS config — the config the switch actually built under —
|
|
152
|
+
* and then falls through to the verdict comparison. Seeding from the
|
|
153
|
+
* new config instead would swallow a needed rebuild: a provider that
|
|
154
|
+
* switched in while the proxy was on (built rewritten) must rebuild
|
|
155
|
+
* direct when the very next change deactivates the proxy.
|
|
156
|
+
*
|
|
157
|
+
* Rebuilds are SERIALIZED: a toggle-off immediately followed by a probe
|
|
158
|
+
* verdict must not race two async rebuilds against each other — the
|
|
159
|
+
* slower, stale build could overwrite the fresh provider swap. Each
|
|
160
|
+
* rebuild re-reads proxy state at build time, so the chain converges on
|
|
161
|
+
* the latest verdict.
|
|
162
|
+
*/
|
|
163
|
+
export declare function createProxyInstantApply(deps: ProxyInstantApplyDeps): ProxyInstantApplyHandle;
|
|
76
164
|
//# sourceMappingURL=proxy-rewrite.d.ts.map
|
|
@@ -1,70 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
function isProxyEligibleForRewrite(originalBaseUrl, proxyUrl) {
|
|
16
|
-
if (!originalBaseUrl.includes("://")) return false;
|
|
17
|
-
if (!proxyUrl.includes("://")) return false;
|
|
18
|
-
const normalizedProxy = proxyUrl.replace(/\/+$/, "");
|
|
19
|
-
if (originalBaseUrl.startsWith(`${normalizedProxy}${PROXY_PATH_PREFIX}`)) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const parsed = new URL(originalBaseUrl);
|
|
24
|
-
const isLoopback = parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1" || // WHATWG URL serializes IPv6 hosts with brackets — `[::1]`, not `::1`.
|
|
25
|
-
parsed.hostname === "[::1]";
|
|
26
|
-
if (isLoopback && parsed.port !== "") return false;
|
|
27
|
-
} catch {
|
|
28
|
-
}
|
|
29
|
-
return true;
|
|
30
|
-
}
|
|
31
|
-
function composeRewrittenUrl(originalBaseUrl, proxyUrl) {
|
|
32
|
-
const parsedOriginal = new URL(originalBaseUrl);
|
|
33
|
-
const hostAndPath = `${parsedOriginal.host}${parsedOriginal.pathname}`;
|
|
34
|
-
const trailingQuery = parsedOriginal.search || "";
|
|
35
|
-
const trailingHash = parsedOriginal.hash || "";
|
|
36
|
-
const proxyRoot = proxyUrl.replace(/\/+$/, "");
|
|
37
|
-
return `${proxyRoot}${PROXY_PATH_PREFIX}${hostAndPath}${trailingQuery}${trailingHash}`;
|
|
38
|
-
}
|
|
39
|
-
var DEFAULT_PROXY_CONFIG = { enabled: false, url: "", active: false };
|
|
40
|
-
var currentConfig = { ...DEFAULT_PROXY_CONFIG };
|
|
41
|
-
function getProxyConfig() {
|
|
42
|
-
return currentConfig;
|
|
43
|
-
}
|
|
44
|
-
function applyProxyConfig(next) {
|
|
45
|
-
const previous = currentConfig;
|
|
46
|
-
currentConfig = {
|
|
47
|
-
enabled: next.enabled ?? previous.enabled,
|
|
48
|
-
url: next.url ?? previous.url,
|
|
49
|
-
active: next.active ?? previous.active
|
|
50
|
-
};
|
|
51
|
-
return previous;
|
|
52
|
-
}
|
|
53
|
-
function shouldRewriteFor(providerId) {
|
|
54
|
-
const cfg = currentConfig;
|
|
55
|
-
if (!cfg.enabled || !cfg.active || !cfg.url) return false;
|
|
56
|
-
return isProxyEligible(providerId);
|
|
57
|
-
}
|
|
58
|
-
function __resetProxyConfigForTests() {
|
|
59
|
-
currentConfig = { ...DEFAULT_PROXY_CONFIG };
|
|
60
|
-
}
|
|
1
|
+
import {
|
|
2
|
+
PROXY_EXCLUDED_PROVIDERS,
|
|
3
|
+
PROXY_ROUTING_SETTLE_CAP_MS,
|
|
4
|
+
__resetProxyConfigForTests,
|
|
5
|
+
applyProxyConfig,
|
|
6
|
+
createProxyInstantApply,
|
|
7
|
+
deactivateProxyOnConnectionFailure,
|
|
8
|
+
getProxyConfig,
|
|
9
|
+
isProxyEligible,
|
|
10
|
+
rewriteBaseUrl,
|
|
11
|
+
shouldRewriteFor,
|
|
12
|
+
subscribeToProxyConfig,
|
|
13
|
+
waitForProxyRoutingSettle
|
|
14
|
+
} from "../chunk-4ZHTKJHM.js";
|
|
61
15
|
export {
|
|
62
16
|
PROXY_EXCLUDED_PROVIDERS,
|
|
17
|
+
PROXY_ROUTING_SETTLE_CAP_MS,
|
|
63
18
|
__resetProxyConfigForTests,
|
|
64
19
|
applyProxyConfig,
|
|
20
|
+
createProxyInstantApply,
|
|
21
|
+
deactivateProxyOnConnectionFailure,
|
|
65
22
|
getProxyConfig,
|
|
66
23
|
isProxyEligible,
|
|
67
24
|
rewriteBaseUrl,
|
|
68
|
-
shouldRewriteFor
|
|
25
|
+
shouldRewriteFor,
|
|
26
|
+
subscribeToProxyConfig,
|
|
27
|
+
waitForProxyRoutingSettle
|
|
69
28
|
};
|
|
70
29
|
//# sourceMappingURL=proxy-rewrite.js.map
|