@the-40-thieves/obsidian-tc-shared 1.31.1 → 1.31.2
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/config/retrieval.schema.d.ts +1 -0
- package/dist/config/retrieval.schema.d.ts.map +1 -1
- package/dist/config/retrieval.schema.js +37 -44
- package/dist/config/retrieval.schema.js.map +1 -1
- package/dist/config/server.schema.d.ts +2 -0
- package/dist/config/server.schema.d.ts.map +1 -1
- package/dist/net-host.d.ts +24 -2
- package/dist/net-host.d.ts.map +1 -1
- package/dist/net-host.js +81 -4
- package/dist/net-host.js.map +1 -1
- package/package.json +1 -1
|
@@ -98,6 +98,7 @@ export declare const ExperientialConfigSchema: z.ZodObject<{
|
|
|
98
98
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
99
99
|
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
100
100
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
101
|
+
allowPlainHttp: z.ZodDefault<z.ZodBoolean>;
|
|
101
102
|
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
102
103
|
}, z.core.$strip>>;
|
|
103
104
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval.schema.d.ts","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"retrieval.schema.d.ts","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,oFAAoF;AACpF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0WhC,CAAC;AAEH;;;;0DAI0D;AAC1D,eAAO,MAAM,uBAAuB;;;;iBAQlC,CAAC;AAEH;yEACyE;AACzE,eAAO,MAAM,mBAAmB;;;;;;;;;;iBA+B9B,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmcnC,CAAC"}
|
|
@@ -7,38 +7,15 @@
|
|
|
7
7
|
// a cross-domain read, so it stays here rather than moving to config.schema.ts's own superRefine.
|
|
8
8
|
// It also added the first non-Zod import, `isLoopbackHost` from `../net-host` — a dependency-free
|
|
9
9
|
// leaf util (same category as Zod itself, not a schema module), reused rather than reimplemented
|
|
10
|
-
// for citationInfer.judge.baseUrl's https-unless-loopback check.
|
|
10
|
+
// for citationInfer.judge.baseUrl's https-unless-loopback check. THE-1084 review round 1 replaced
|
|
11
|
+
// this file's own hand-rolled `://`-requiring regex parser with `classifyJudgeBaseUrl` (also
|
|
12
|
+
// `../net-host`) after that regex rejected a WHATWG-valid-but-non-canonical URL
|
|
13
|
+
// ("http:evil.example/path") as unparseable, and the refine below treated "unparseable" as "not
|
|
14
|
+
// remote http" — see classifyJudgeBaseUrl's own doc comment. The doctor warning
|
|
15
|
+
// (doctor/citation-judge.ts) and the runtime builder (experiential/citation-judge.ts) now call the
|
|
16
|
+
// SAME function, so all three can never classify one baseUrl three different ways again.
|
|
11
17
|
import { z } from "zod";
|
|
12
|
-
import {
|
|
13
|
-
/**
|
|
14
|
-
* Minimal, dependency-free parse of a URL string's scheme + host, for the baseUrl check below.
|
|
15
|
-
* This package is deliberately isomorphic and carries no Node/DOM type dependency (no `@types/
|
|
16
|
-
* node`, no `lib: "dom"`) — the global `URL` class exists at RUNTIME on every platform this ships
|
|
17
|
-
* to, but is untyped here, so a narrow regex is used instead of `new URL(...)`. `.url()` on the
|
|
18
|
-
* field below already validated the string is well-formed; this only answers two questions about
|
|
19
|
-
* it: which scheme, and what host (port and userinfo stripped, IPv6 brackets kept — the same shape
|
|
20
|
-
* `isLoopbackHost` expects).
|
|
21
|
-
*/
|
|
22
|
-
function parseSchemeAndHost(u) {
|
|
23
|
-
const m = /^([a-zA-Z][a-zA-Z0-9+.-]*):\/\/([^/?#]*)/.exec(u);
|
|
24
|
-
if (!m)
|
|
25
|
-
return null;
|
|
26
|
-
let host = m[2] ?? "";
|
|
27
|
-
const at = host.lastIndexOf("@");
|
|
28
|
-
if (at !== -1)
|
|
29
|
-
host = host.slice(at + 1); // drop userinfo (user:pass@)
|
|
30
|
-
if (host.startsWith("[")) {
|
|
31
|
-
const end = host.indexOf("]");
|
|
32
|
-
if (end !== -1)
|
|
33
|
-
host = host.slice(0, end + 1); // "[::1]:443" -> "[::1]"
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
const colon = host.indexOf(":");
|
|
37
|
-
if (colon !== -1)
|
|
38
|
-
host = host.slice(0, colon); // "example.com:443" -> "example.com"
|
|
39
|
-
}
|
|
40
|
-
return { scheme: (m[1] ?? "").toLowerCase(), host };
|
|
41
|
-
}
|
|
18
|
+
import { classifyJudgeBaseUrl } from "../net-host";
|
|
42
19
|
/** THE-397: retrieval-fusion knobs (the first config-exposed retrieval section). */
|
|
43
20
|
export const RetrievalConfigSchema = z.object({
|
|
44
21
|
/** RRF constant for graph_rrf fusion. Keep BELOW the stream pool size (~30): larger k lets
|
|
@@ -622,20 +599,15 @@ export const ExperientialConfigSchema = z.object({
|
|
|
622
599
|
baseUrl: z
|
|
623
600
|
.string()
|
|
624
601
|
.url()
|
|
625
|
-
//
|
|
626
|
-
//
|
|
627
|
-
//
|
|
628
|
-
// the same carve-out `isLoopbackHost` already draws for the HTTP transport bind.
|
|
629
|
-
.refine((u) => {
|
|
630
|
-
const parsed = parseSchemeAndHost(u);
|
|
631
|
-
if (!parsed)
|
|
632
|
-
return false; // unreachable — .url() above already rejected this
|
|
633
|
-
return parsed.scheme === "https" || isLoopbackHost(parsed.host);
|
|
634
|
-
}, {
|
|
635
|
-
message: "judge.baseUrl must use https:// — this URL carries the bearer key and vault-derived source/response text — unless the host is loopback (localhost/127.0.0.1/[::1]) for a local test or dev endpoint.",
|
|
636
|
-
})
|
|
602
|
+
// The https-unless-loopback rule lives in the object-level superRefine below, not
|
|
603
|
+
// here: it needs to see the sibling `allowPlainHttp` field, which a per-field .refine
|
|
604
|
+
// on this string cannot reach.
|
|
637
605
|
.default("https://api.typesafe.ai")
|
|
638
|
-
.describe("TypeSafe API base URL. Must be https:// unless the host is loopback (a local test/dev endpoint) — this URL carries the bearer key and vault-derived text."),
|
|
606
|
+
.describe("TypeSafe API base URL. Must be https:// unless the host is loopback (a local test/dev endpoint) or allowPlainHttp is set — this URL carries the bearer key and vault-derived text."),
|
|
607
|
+
allowPlainHttp: z
|
|
608
|
+
.boolean()
|
|
609
|
+
.default(false)
|
|
610
|
+
.describe("Widen the https-unless-loopback rule on judge.baseUrl to allow ANY http:// host, not just loopback. Intended ONLY for a gateway reachable over a host-local docker network or an encrypted overlay (e.g. Tailscale) — such as the Cave LiteLLM gateway's pass-through endpoint (`http://litellm:4000/typesafe` inside the compose network) — never a plain internet path. The bearer key and vault-derived text still travel in clear over whatever link the URL names; this flag only asserts the operator has judged that link safe, it does not make the traffic safe."),
|
|
639
611
|
timeoutMs: z
|
|
640
612
|
.number()
|
|
641
613
|
.int()
|
|
@@ -644,6 +616,27 @@ export const ExperientialConfigSchema = z.object({
|
|
|
644
616
|
.describe("Per-attempt request timeout in ms for the TypeSafe client. Defaults to the client's own 60s."),
|
|
645
617
|
})
|
|
646
618
|
.superRefine((c, ctx) => {
|
|
619
|
+
// This URL carries the bearer key (Authorization header) and vault-derived
|
|
620
|
+
// source/response text in every request body — a plain `http://` endpoint would send
|
|
621
|
+
// both in cleartext. Loopback stays allowed unencrypted for a local test/dev double,
|
|
622
|
+
// the same carve-out `isLoopbackHost` already draws for the HTTP transport bind;
|
|
623
|
+
// `allowPlainHttp` is a further, explicit opt-in for any other http:// host — and ONLY
|
|
624
|
+
// http://, never any other non-https scheme (classifyJudgeBaseUrl's own doc comment).
|
|
625
|
+
const cls = classifyJudgeBaseUrl(c.baseUrl);
|
|
626
|
+
if (cls === "invalid") {
|
|
627
|
+
ctx.addIssue({
|
|
628
|
+
code: z.ZodIssueCode.custom,
|
|
629
|
+
path: ["baseUrl"],
|
|
630
|
+
message: 'judge.baseUrl must be a canonical "scheme://host" URL with scheme https or http — either it could not be parsed that way, or its scheme is neither (e.g. ftp:/file:). allowPlainHttp only ever widens http:// on a non-loopback host, never any other scheme.',
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
else if (cls === "http-remote" && !c.allowPlainHttp) {
|
|
634
|
+
ctx.addIssue({
|
|
635
|
+
code: z.ZodIssueCode.custom,
|
|
636
|
+
path: ["baseUrl"],
|
|
637
|
+
message: "judge.baseUrl must use https:// — this URL carries the bearer key and vault-derived source/response text — unless the host is loopback (localhost/127.0.0.1/[::1]) for a local test or dev endpoint, or judge.allowPlainHttp is explicitly set to opt into a trusted plain-http path (e.g. a host-local gateway or an encrypted overlay).",
|
|
638
|
+
});
|
|
639
|
+
}
|
|
647
640
|
// Scoped to provider "typesafe" ONLY: the gateway's own `judge` role is free to name
|
|
648
641
|
// any model string it likes (that is the gateway's contract, not this block's), so this
|
|
649
642
|
// predicate must not reject a `model` set here while `provider` stays "gateway".
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retrieval.schema.js","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"retrieval.schema.js","sourceRoot":"","sources":["../../src/config/retrieval.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -242,6 +242,7 @@ export declare const ServerConfigObject: z.ZodObject<{
|
|
|
242
242
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
243
243
|
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
244
244
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
245
|
+
allowPlainHttp: z.ZodDefault<z.ZodBoolean>;
|
|
245
246
|
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
246
247
|
}, z.core.$strip>>;
|
|
247
248
|
}, z.core.$strip>>;
|
|
@@ -645,6 +646,7 @@ export declare const ServerConfigSchema: z.ZodObject<{
|
|
|
645
646
|
apiKey: z.ZodOptional<z.ZodString>;
|
|
646
647
|
apiKeyEnv: z.ZodDefault<z.ZodString>;
|
|
647
648
|
baseUrl: z.ZodDefault<z.ZodString>;
|
|
649
|
+
allowPlainHttp: z.ZodDefault<z.ZodBoolean>;
|
|
648
650
|
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
649
651
|
}, z.core.$strip>>;
|
|
650
652
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.schema.d.ts","sourceRoot":"","sources":["../../src/config/server.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"server.schema.d.ts","sourceRoot":"","sources":["../../src/config/server.schema.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsCxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyI7B,CAAC;AAKH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6C7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE1D"}
|
package/dist/net-host.d.ts
CHANGED
|
@@ -9,8 +9,30 @@ export declare function normalizeHostForBind(host: string): string;
|
|
|
9
9
|
/**
|
|
10
10
|
* True only for genuine loopback hosts: "localhost", the IPv4 loopback block
|
|
11
11
|
* 127.0.0.0/8 (octets validated), IPv6 "::1", and IPv4-mapped IPv6 loopback
|
|
12
|
-
* "::ffff:127.x.x.x"
|
|
13
|
-
*
|
|
12
|
+
* "::ffff:127.x.x.x" in EITHER its dotted-quad spelling or the compressed-hex
|
|
13
|
+
* spelling ("::ffff:7f00:1") a real URL parser canonicalizes it to. "0.0.0.0",
|
|
14
|
+
* "::", and any LAN or public address are intentionally NOT loopback (F2).
|
|
14
15
|
*/
|
|
15
16
|
export declare function isLoopbackHost(host: string): boolean;
|
|
17
|
+
/** THE-1084: how `experiential.citationInfer.judge.baseUrl` (and any URL with the same shape of
|
|
18
|
+
* requirement) is treated by the https-unless-loopback-unless-opted-in rule, centralized so the
|
|
19
|
+
* schema refine, the doctor warning, and the runtime builder's own enforcement can never drift
|
|
20
|
+
* from each other or from three separately hand-rolled parsers (THE-1084 review round 1, finding
|
|
21
|
+
* 1 — that drift is exactly what let a non-canonical URL bypass the schema check).
|
|
22
|
+
*
|
|
23
|
+
* - `"https"` — always fine, any host.
|
|
24
|
+
* - `"http-loopback"` — http:// on a genuine loopback host (localhost/127.0.0.1/[::1] etc) — the
|
|
25
|
+
* existing local test/dev carve-out, unconditional, no flag needed.
|
|
26
|
+
* - `"http-remote"` — http:// on any other host — fine ONLY when the caller has separately
|
|
27
|
+
* confirmed `allowPlainHttp === true`; this function does not read that flag.
|
|
28
|
+
* - `"invalid"` — the URL could not be parsed, OR its scheme is neither https nor http (ftp:,
|
|
29
|
+
* file:, ...). Review round 1 finding 3: the opt-in widens exactly http:// on a non-loopback
|
|
30
|
+
* host, never "any non-https scheme" — an unsupported scheme is invalid regardless of
|
|
31
|
+
* allowPlainHttp, same as an unparseable one.
|
|
32
|
+
*/
|
|
33
|
+
export declare function classifyJudgeBaseUrl(u: string): "https" | "http-loopback" | "http-remote" | "invalid";
|
|
34
|
+
/** The host `classifyJudgeBaseUrl` parsed `u` as, for a warning message — never the key, the
|
|
35
|
+
* path, the query, or any userinfo, only `URL.hostname`.
|
|
36
|
+
* Returns undefined for a URL classify would call "invalid" (nothing safe to name). */
|
|
37
|
+
export declare function judgeBaseUrlHost(u: string): string | undefined;
|
|
16
38
|
//# sourceMappingURL=net-host.d.ts.map
|
package/dist/net-host.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net-host.d.ts","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;
|
|
1
|
+
{"version":3,"file":"net-host.d.ts","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AA4BD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpD;AAsCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,MAAM,GACR,OAAO,GAAG,eAAe,GAAG,aAAa,GAAG,SAAS,CAMvD;AAED;;wFAEwF;AACxF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE9D"}
|
package/dist/net-host.js
CHANGED
|
@@ -18,11 +18,28 @@ function isStrictIpv4(h) {
|
|
|
18
18
|
return false;
|
|
19
19
|
return m.slice(1).every((octet) => Number(octet) <= 255);
|
|
20
20
|
}
|
|
21
|
+
// THE-1084 review round 2, finding 2: `new URL("http://[::ffff:127.0.0.1]").hostname` canonicalizes
|
|
22
|
+
// to the COMPRESSED HEX form "[::ffff:7f00:1]", not the dotted-quad spelling below — so a caller
|
|
23
|
+
// that only recognized "::ffff:<dotted>" missed exactly the address the runtime URL parser (and
|
|
24
|
+
// every real caller building this string through it) actually produces. `rest` is the two
|
|
25
|
+
// colon-separated hex groups after "::ffff:" (each 1-4 hex digits, zero-padding optional); this
|
|
26
|
+
// decodes them back to the four bytes they encode. Returns null for anything that isn't that shape.
|
|
27
|
+
function ipv4MappedHexToDotted(rest) {
|
|
28
|
+
const m = /^([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(rest);
|
|
29
|
+
const g1 = m?.[1];
|
|
30
|
+
const g2 = m?.[2];
|
|
31
|
+
if (!g1 || !g2)
|
|
32
|
+
return null;
|
|
33
|
+
const hi = Number.parseInt(g1, 16);
|
|
34
|
+
const lo = Number.parseInt(g2, 16);
|
|
35
|
+
return `${(hi >> 8) & 0xff}.${hi & 0xff}.${(lo >> 8) & 0xff}.${lo & 0xff}`;
|
|
36
|
+
}
|
|
21
37
|
/**
|
|
22
38
|
* True only for genuine loopback hosts: "localhost", the IPv4 loopback block
|
|
23
39
|
* 127.0.0.0/8 (octets validated), IPv6 "::1", and IPv4-mapped IPv6 loopback
|
|
24
|
-
* "::ffff:127.x.x.x"
|
|
25
|
-
*
|
|
40
|
+
* "::ffff:127.x.x.x" in EITHER its dotted-quad spelling or the compressed-hex
|
|
41
|
+
* spelling ("::ffff:7f00:1") a real URL parser canonicalizes it to. "0.0.0.0",
|
|
42
|
+
* "::", and any LAN or public address are intentionally NOT loopback (F2).
|
|
26
43
|
*/
|
|
27
44
|
export function isLoopbackHost(host) {
|
|
28
45
|
const h = normalizeHostForBind(host);
|
|
@@ -31,9 +48,69 @@ export function isLoopbackHost(host) {
|
|
|
31
48
|
if (isStrictIpv4(h))
|
|
32
49
|
return h.startsWith("127.");
|
|
33
50
|
if (h.startsWith("::ffff:")) {
|
|
34
|
-
const
|
|
35
|
-
|
|
51
|
+
const rest = h.slice("::ffff:".length);
|
|
52
|
+
const dotted = isStrictIpv4(rest) ? rest : ipv4MappedHexToDotted(rest);
|
|
53
|
+
return dotted?.startsWith("127.") ?? false;
|
|
36
54
|
}
|
|
37
55
|
return false;
|
|
38
56
|
}
|
|
57
|
+
// THE-1084 review round 1, finding 1: parses with the RUNTIME `URL` class, which canonicalizes
|
|
58
|
+
// non-canonical-but-valid forms exactly as `new URL()`/`fetch` will before the request actually
|
|
59
|
+
// goes out ("http:evil.example/path" -> scheme "http", host "evil.example" — verified against
|
|
60
|
+
// Node/Bun). A hand-rolled `://`-requiring regex used to be the only parser here and rejected that
|
|
61
|
+
// form as unparseable; the caller then treated "unparseable" as "not remote http" and let it
|
|
62
|
+
// through with allowPlainHttp still false.
|
|
63
|
+
//
|
|
64
|
+
// THE-1084 review round 2, finding 1: an EARLIER version of this function kept that same regex as
|
|
65
|
+
// a fallback for "no global URL" — but the regex is permissive in ways the WHATWG parser is not
|
|
66
|
+
// (it accepted "https://exa mple", "https://%zz", and "http://localhost:99999", all of which
|
|
67
|
+
// `new URL()` rejects), so the fallback could pass a URL the real HTTP client would refuse, or
|
|
68
|
+
// classify one with a host the client will never actually reach. Bun and Node both always have a
|
|
69
|
+
// global `URL`, so there is no real runtime to fall back FOR — removed entirely. When
|
|
70
|
+
// `globalThis.URL` is not a function, this returns `null` (parseJudgeBaseUrl) and the classifier
|
|
71
|
+
// answers "invalid": fail CLOSED, never open, on a classifier a security decision reads.
|
|
72
|
+
function parseJudgeBaseUrl(u) {
|
|
73
|
+
const UrlCtor = globalThis.URL;
|
|
74
|
+
if (typeof UrlCtor !== "function")
|
|
75
|
+
return null;
|
|
76
|
+
try {
|
|
77
|
+
const parsed = new UrlCtor(u);
|
|
78
|
+
return { scheme: parsed.protocol.replace(/:$/, "").toLowerCase(), host: parsed.hostname };
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/** THE-1084: how `experiential.citationInfer.judge.baseUrl` (and any URL with the same shape of
|
|
85
|
+
* requirement) is treated by the https-unless-loopback-unless-opted-in rule, centralized so the
|
|
86
|
+
* schema refine, the doctor warning, and the runtime builder's own enforcement can never drift
|
|
87
|
+
* from each other or from three separately hand-rolled parsers (THE-1084 review round 1, finding
|
|
88
|
+
* 1 — that drift is exactly what let a non-canonical URL bypass the schema check).
|
|
89
|
+
*
|
|
90
|
+
* - `"https"` — always fine, any host.
|
|
91
|
+
* - `"http-loopback"` — http:// on a genuine loopback host (localhost/127.0.0.1/[::1] etc) — the
|
|
92
|
+
* existing local test/dev carve-out, unconditional, no flag needed.
|
|
93
|
+
* - `"http-remote"` — http:// on any other host — fine ONLY when the caller has separately
|
|
94
|
+
* confirmed `allowPlainHttp === true`; this function does not read that flag.
|
|
95
|
+
* - `"invalid"` — the URL could not be parsed, OR its scheme is neither https nor http (ftp:,
|
|
96
|
+
* file:, ...). Review round 1 finding 3: the opt-in widens exactly http:// on a non-loopback
|
|
97
|
+
* host, never "any non-https scheme" — an unsupported scheme is invalid regardless of
|
|
98
|
+
* allowPlainHttp, same as an unparseable one.
|
|
99
|
+
*/
|
|
100
|
+
export function classifyJudgeBaseUrl(u) {
|
|
101
|
+
const parsed = parseJudgeBaseUrl(u);
|
|
102
|
+
if (!parsed?.host)
|
|
103
|
+
return "invalid";
|
|
104
|
+
if (parsed.scheme === "https")
|
|
105
|
+
return "https";
|
|
106
|
+
if (parsed.scheme !== "http")
|
|
107
|
+
return "invalid";
|
|
108
|
+
return isLoopbackHost(parsed.host) ? "http-loopback" : "http-remote";
|
|
109
|
+
}
|
|
110
|
+
/** The host `classifyJudgeBaseUrl` parsed `u` as, for a warning message — never the key, the
|
|
111
|
+
* path, the query, or any userinfo, only `URL.hostname`.
|
|
112
|
+
* Returns undefined for a URL classify would call "invalid" (nothing safe to name). */
|
|
113
|
+
export function judgeBaseUrlHost(u) {
|
|
114
|
+
return parseJudgeBaseUrl(u)?.host;
|
|
115
|
+
}
|
|
39
116
|
//# sourceMappingURL=net-host.js.map
|
package/dist/net-host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net-host.js","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,wBAAwB;AACxB,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,CAAC,GAAG,8CAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"net-host.js","sourceRoot":"","sources":["../src/net-host.ts"],"names":[],"mappings":"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"}
|