@llm4ts/runner 2.43.0 → 2.44.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.
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRunner.d.ts","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAQpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAItF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAU5E,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EACL,YAAY,EACZ,aAAa,EAEb,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAQL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAoC,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAclG,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAI7E,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAGjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,EAQL,KAAK,cAAc,EAGpB,MAAM,qBAAqB,CAAA;AAkB5B,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,eAAe,CAAA;AAQtB,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,gFAAgF;IAChF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IACpD,oGAAoG;IACpG,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAC7C,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAA;IAC/B,kFAAkF;IAClF,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAA;CAChE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAA;CAC3C;AAED,eAAO,MAAM,0BAA0B,QAAO,sBAU5C,CAAA;AAEF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAA;IACnD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;IACnC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,qFAAqF;IACrF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,CAAA;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;IACnE;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAAA;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAA;IAClC,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAA;CACxC;AA2FD,eAAO,MAAM,qBAAqB,qjDA+jBhC,CAAA;AAMF,eAAO,MAAM,aAAa,GACxB,CAAC,EACD,CAAC,EACD,CAAC,wEAIe,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8hDA2O3D,CAAA;AAoBF,eAAO,MAAM,WAAW,GAAiE,CAAC,EAAE,CAAC,EAAE,CAAC,8CAE9E,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,8hDAK3D,CAAA;AAEF,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,SAAS,iBAAiB,EAC1B,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAA8C,CAAA;AAKlF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAG,IAchE,CAAA"}
1
+ {"version":3,"file":"FlowRunner.d.ts","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"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"}
@@ -113,7 +113,11 @@ const geminiBridgeSeats = Effect.fn("@llm4ts/runner/FlowRunner.geminiBridgeSeats
113
113
  cwd: scratch,
114
114
  executor: dependencies.process,
115
115
  temporaryFiles: dependencies.temporaryFiles ?? nodeTemporaryFiles,
116
- ...geminiModel
116
+ ...geminiModel,
117
+ ...(environment.LLM4TS_GEMINI_BRIDGE_TOKEN === undefined ||
118
+ environment.LLM4TS_GEMINI_BRIDGE_TOKEN.length === 0
119
+ ? {}
120
+ : { token: environment.LLM4TS_GEMINI_BRIDGE_TOKEN })
117
121
  }).pipe(Effect.mapError(FlowLlmError.from));
118
122
  }
119
123
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRunner.js","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowRunner.js","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as Effect from "effect/Effect";
2
+ import type { LlmError } from "@llm4ts/core/Errors";
3
+ import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor";
4
+ import type { TemporaryFilesShape } from "@llm4ts/core/TemporaryFiles";
5
+ /**
6
+ * `llm4ts gemini-bridge`: the Gemini bridge on its own, outside any flow
7
+ * run, so `pi` (or any OpenAI-compatible client) can use the Gemini CLI
8
+ * subscription directly. ADR 0016 deferred this entry point; ADR 0037's
9
+ * model mode makes it an OpenAI-compatible server like LM Studio's. The
10
+ * bridge's code is the flow runner's; only the caller changes.
11
+ */
12
+ export interface GeminiBridgeOptions {
13
+ readonly port: number;
14
+ /** `model` (OpenAI chat completions, ADR 0037) or `acp` (Anthropic Messages, ADR 0016). */
15
+ readonly mode: "model" | "acp";
16
+ /** The Gemini model every request runs on, whatever the client names. */
17
+ readonly model?: string;
18
+ /** A token requests must carry (model mode), printed as pi's `apiKey`. */
19
+ readonly token?: string;
20
+ }
21
+ export interface GeminiBridgeDependencies {
22
+ readonly executor: ProcessExecutorShape;
23
+ readonly temporaryFiles: TemporaryFilesShape;
24
+ /** Gemini CLI's system admin policy files; this machine's by default. */
25
+ readonly systemPolicies?: ReadonlyArray<string>;
26
+ readonly log: (line: string) => Effect.Effect<void>;
27
+ /** Runs while the bridge serves; the bridge stops when it ends (Ctrl-C in the CLI). */
28
+ readonly until: (baseUrl: string) => Effect.Effect<void>;
29
+ }
30
+ /** The model id the printed pi config names when `--model` names none. */
31
+ export declare const defaultBridgeModelId = "gemini-3.8-flash";
32
+ /** pi's provider entry for `~/.pi/agent/models.json`, for this mode and port. */
33
+ export declare const piProviderSnippet: (mode: "model" | "acp", port: number, model: string, token?: string) => string;
34
+ export declare const makeGeminiBridgeProgram: (options: GeminiBridgeOptions, dependencies: GeminiBridgeDependencies) => Effect.Effect<void, LlmError>;
35
+ //# sourceMappingURL=GeminiBridgeServe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiBridgeServe.d.ts","sourceRoot":"","sources":["../src/GeminiBridgeServe.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAItE;;;;;;GAMG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2FAA2F;IAC3F,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAAA;IAC9B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAA;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACnD,uFAAuF;IACvF,QAAQ,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzD;AAED,0EAA0E;AAC1E,eAAO,MAAM,oBAAoB,qBAAqB,CAAA;AAEtD,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,OAAO,GAAG,KAAK,EACrB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,MAAM,KACb,MAcA,CAAA;AAEH,eAAO,MAAM,uBAAuB,GAClC,SAAS,mBAAmB,EAC5B,cAAc,wBAAwB,KACrC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CA6D5B,CAAA"}
@@ -0,0 +1,62 @@
1
+ import { mkdtempSync, rmSync } from "node:fs";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import * as Effect from "effect/Effect";
5
+ import { runGeminiAcpBridge } from "./NodeGeminiAcpBridge.js";
6
+ import { runGeminiModelBridge, systemAdminPolicies } from "./NodeGeminiModelBridge.js";
7
+ /** The model id the printed pi config names when `--model` names none. */
8
+ export const defaultBridgeModelId = "gemini-3.8-flash";
9
+ /** pi's provider entry for `~/.pi/agent/models.json`, for this mode and port. */
10
+ export const piProviderSnippet = (mode, port, model, token) => JSON.stringify({
11
+ providers: {
12
+ "gemini-bridge": {
13
+ baseUrl: mode === "model" ? `http://127.0.0.1:${port}/v1` : `http://127.0.0.1:${port}`,
14
+ api: mode === "model" ? "openai-completions" : "anthropic-messages",
15
+ apiKey: token ?? "bridge-unused",
16
+ models: [{ id: model }]
17
+ }
18
+ }
19
+ }, null, 2);
20
+ export const makeGeminiBridgeProgram = (options, dependencies) => Effect.scoped(Effect.gen(function* () {
21
+ const model = options.model === undefined ? {} : { model: options.model };
22
+ const running = options.mode === "model"
23
+ ? yield* Effect.flatMap(
24
+ // An empty directory, so no project GEMINI.md reaches the model.
25
+ Effect.acquireRelease(Effect.sync(() => mkdtempSync(join(tmpdir(), "llm4ts-gemini-model-"))), (directory) => Effect.sync(() => rmSync(directory, { recursive: true, force: true }))), (scratch) => runGeminiModelBridge({
26
+ port: options.port,
27
+ cwd: scratch,
28
+ executor: dependencies.executor,
29
+ temporaryFiles: dependencies.temporaryFiles,
30
+ systemPolicies: dependencies.systemPolicies ?? systemAdminPolicies(),
31
+ ...model,
32
+ ...(options.token === undefined ? {} : { token: options.token })
33
+ }))
34
+ : yield* runGeminiAcpBridge({
35
+ port: options.port,
36
+ cwd: process.cwd(),
37
+ executor: dependencies.executor,
38
+ ...model
39
+ });
40
+ const id = options.model ?? defaultBridgeModelId;
41
+ const url = options.mode === "model" ? `${running.baseUrl}/v1` : running.baseUrl;
42
+ yield* Effect.forEach([
43
+ `gemini bridge (${options.mode === "model" ? "model mode: OpenAI chat completions" : "ACP mode: Anthropic Messages"}) listening on ${url}`,
44
+ "",
45
+ "pi provider for ~/.pi/agent/models.json:",
46
+ piProviderSnippet(options.mode, running.port, id, options.mode === "model" ? options.token : undefined),
47
+ "",
48
+ `then: pi --model gemini-bridge/${id}`,
49
+ ...(options.mode === "model"
50
+ ? [
51
+ "",
52
+ "Only Gemini CLI talks to Google, under its own login. Its terms forbid direct",
53
+ "third-party access to its services; confirm with Google before relying on this",
54
+ "(`LLM4TS_GEMINI_BRIDGE=1 LLM4TS_GEMINI_BRIDGE_MODE=model llm4ts doctor` quotes them)."
55
+ ]
56
+ : []),
57
+ "",
58
+ "Ctrl-C stops it."
59
+ ], dependencies.log, { discard: true });
60
+ yield* dependencies.until(running.baseUrl);
61
+ }));
62
+ //# sourceMappingURL=GeminiBridgeServe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeminiBridgeServe.js","sourceRoot":"","sources":["../src/GeminiBridgeServe.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type IncomingMessage, type Server, type ServerResponse } from "node:http";
1
+ import { type IncomingHttpHeaders, type IncomingMessage, type Server, type ServerResponse } from "node:http";
2
2
  import * as Deferred from "effect/Deferred";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as Option from "effect/Option";
@@ -97,6 +97,17 @@ export declare const turnOutcomeEvents: (outcome: TurnOutcome) => ReadonlyArray<
97
97
  export declare const turnErrorEvent: (message: string) => StreamEvent;
98
98
  export declare const messageId: () => string;
99
99
  export declare const handleMessagesRequest: (state: BridgeState, body: import("effect/Schema").Json) => Effect.Effect<Readonly<Record<string, import("effect/Schema").Json>>, ProviderError | import("@llm4ts/core/Errors").UsageLimitError | import("@llm4ts/core/Errors").AuthenticationError | InvalidRequestError | import("@llm4ts/core/Errors").ParseError | import("@llm4ts/core/Errors").ToolError | import("@llm4ts/core/Errors").ConfigError | import("@llm4ts/core/Errors").RateLimitError | import("@llm4ts/core/Errors").TimeoutError | import("@llm4ts/core/Errors").TurnLimitError, never>;
100
+ /**
101
+ * Why a request may not reach the bridge, or nothing when it may: both
102
+ * routes answer local tools only. pi and gemini post JSON from Node, with
103
+ * no Origin; a browser page posting to this loopback port (a cross-site
104
+ * form needs no preflight as text/plain) carries one, and a DNS name
105
+ * rebound to 127.0.0.1 still sends its own Host. With a token, the request
106
+ * must carry it as a bearer (pi sends its `apiKey` that way).
107
+ */
108
+ export declare const localRequestProblem: (headers: IncomingHttpHeaders, token?: string) => string | undefined;
109
+ /** The largest request either route reads: a long conversation, not an unbounded upload. */
110
+ export declare const maxRequestBytes: number;
100
111
  /** Shared with the model route (`NodeGeminiModelBridge.ts`, ADR 0037). */
101
112
  export declare const readBody: (request: IncomingMessage, maxBytes?: number) => Effect.Effect<string, ProviderError>;
102
113
  /** Shared with the model route (`NodeGeminiModelBridge.ts`, ADR 0037). */
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGeminiAcpBridge.d.ts","sourceRoot":"","sources":["../src/NodeGeminiAcpBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeGeminiAcpBridge.d.ts","sourceRoot":"","sources":["../src/NodeGeminiAcpBridge.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { timingSafeEqual } from "node:crypto";
1
2
  import { createServer } from "node:http";
2
3
  import * as Deferred from "effect/Deferred";
3
4
  import * as Effect from "effect/Effect";
@@ -262,6 +263,37 @@ export const handleMessagesRequest = Effect.fn("@llm4ts/runner/NodeGeminiAcpBrid
262
263
  const outcome = yield* resolveTurn(state, body);
263
264
  return anthropicResponse(requestModel(body), outcome);
264
265
  });
266
+ /**
267
+ * Why a request may not reach the bridge, or nothing when it may: both
268
+ * routes answer local tools only. pi and gemini post JSON from Node, with
269
+ * no Origin; a browser page posting to this loopback port (a cross-site
270
+ * form needs no preflight as text/plain) carries one, and a DNS name
271
+ * rebound to 127.0.0.1 still sends its own Host. With a token, the request
272
+ * must carry it as a bearer (pi sends its `apiKey` that way).
273
+ */
274
+ export const localRequestProblem = (headers, token) => {
275
+ const contentType = headers["content-type"] ?? "";
276
+ const host = (headers.host ?? "").replace(/:\d+$/u, "");
277
+ if (headers.origin !== undefined) {
278
+ return "the bridge answers local tools, not browser pages";
279
+ }
280
+ if (!contentType.includes("application/json")) {
281
+ return "the bridge answers JSON requests only";
282
+ }
283
+ if (!["127.0.0.1", "localhost", "[::1]"].includes(host)) {
284
+ return "the bridge answers requests to 127.0.0.1 only";
285
+ }
286
+ if (token !== undefined) {
287
+ const given = Buffer.from(headers.authorization ?? "");
288
+ const wanted = Buffer.from(`Bearer ${token}`);
289
+ if (given.length !== wanted.length || !timingSafeEqual(given, wanted)) {
290
+ return "the bridge's token is missing or wrong";
291
+ }
292
+ }
293
+ return undefined;
294
+ };
295
+ /** The largest request either route reads: a long conversation, not an unbounded upload. */
296
+ export const maxRequestBytes = 32 * 1024 * 1024;
265
297
  /** Shared with the model route (`NodeGeminiModelBridge.ts`, ADR 0037). */
266
298
  export const readBody = (request, maxBytes = Number.POSITIVE_INFINITY) => Effect.callback((resume) => {
267
299
  const chunks = [];
@@ -355,8 +387,13 @@ export const runGeminiAcpBridge = Effect.fn("@llm4ts/runner/NodeGeminiAcpBridge.
355
387
  writeJson(response, 404, { error: { message: "not found" } });
356
388
  return;
357
389
  }
390
+ const problem = localRequestProblem(request.headers);
391
+ if (problem !== undefined) {
392
+ writeJson(response, 403, { error: { message: problem } });
393
+ return;
394
+ }
358
395
  const handled = Effect.gen(function* () {
359
- const raw = yield* readBody(request);
396
+ const raw = yield* readBody(request, maxRequestBytes);
360
397
  const body = yield* parseJsonBody(raw);
361
398
  if (path === "/mcp") {
362
399
  const tools = yield* Ref.get(state.tools);
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGeminiAcpBridge.js","sourceRoot":"","sources":["../src/NodeGeminiAcpBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeGeminiAcpBridge.js","sourceRoot":"","sources":["../src/NodeGeminiAcpBridge.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ export interface GeminiModelBridgeConfig extends GeminiModelCallConfig {
31
31
  * Default: what is on this machine (`systemAdminPolicies`).
32
32
  */
33
33
  readonly systemPolicies?: ReadonlyArray<string>;
34
+ /** A token every request must carry as a bearer (pi's `apiKey`); none by default. */
35
+ readonly token?: string;
34
36
  }
35
37
  export interface RunningGeminiModelBridge {
36
38
  readonly port: number;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGeminiModelBridge.d.ts","sourceRoot":"","sources":["../src/NodeGeminiModelBridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAA;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,EAYL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAA;AAUjD;;;;;;;;;GASG;AAEH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAA;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAIzD,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,QAAO,aAAa,CAAC,MAAM,CAWvD,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,UAAU,aAAa,CAAC,MAAM,CAAC,KAAG,MAMzD,CAAA;AA2Gb,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,ygBAoChC,CAAA;AA0BD,eAAO,MAAM,oBAAoB,gfAuEhC,CAAA"}
1
+ {"version":3,"file":"NodeGeminiModelBridge.d.ts","sourceRoot":"","sources":["../src/NodeGeminiModelBridge.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAA;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGtE,OAAO,EAYL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,0CAA0C,CAAA;AAYjD;;;;;;;;;GASG;AAEH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAA;IAC5C,gFAAgF;IAChF,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,uFAAuF;IACvF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC/C,qFAAqF;IACrF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAIzD,CAAA;AAED,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,QAAO,aAAa,CAAC,MAAM,CAWvD,CAAA;AAEJ,eAAO,MAAM,mBAAmB,GAAI,UAAU,aAAa,CAAC,MAAM,CAAC,KAAG,MAMzD,CAAA;AAwGb,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAC5B;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,ygBAoChC,CAAA;AA0BD,eAAO,MAAM,oBAAoB,gfA4DhC,CAAA"}
@@ -4,8 +4,8 @@ import * as Effect from "effect/Effect";
4
4
  import * as Stream from "effect/Stream";
5
5
  import { InvalidRequestError, ProviderError } from "@llm4ts/core/Errors";
6
6
  import { parseGeminiCliStreamEvent } from "@llm4ts/core/providers/GeminiCliProvider";
7
- import { chatRequestFrom, completionChunks, completionJson, correctionTranscript, denyAllToolsPolicyToml, modelModeSettingsJson, openAiUsage, parseModelReply, systemFileFor, transcriptFor } from "@llm4ts/core/providers/GeminiModelBridge";
8
- import { acquireServer, errorStatus, parseJsonBody, readBody, requestPath, writeJson } from "./NodeGeminiAcpBridge.js";
7
+ import { chatRequestFrom, completionChunks, completionJson, correctionTranscript, modelModePolicyToml, modelModeSettingsJson, openAiUsage, parseModelReply, systemFileFor, transcriptFor } from "@llm4ts/core/providers/GeminiModelBridge";
8
+ import { acquireServer, errorStatus, localRequestProblem, maxRequestBytes, parseJsonBody, readBody, requestPath, writeJson } from "./NodeGeminiAcpBridge.js";
9
9
  /** The standard directories Gemini CLI reads system (admin) policies from. */
10
10
  export const systemPolicyDirectories = [
11
11
  "/etc/gemini-cli/policies",
@@ -35,7 +35,7 @@ export const systemPolicyProblem = (policies) => [
35
35
  const geminiTurn = (config, model, system, transcript) => Effect.scoped(Effect.gen(function* () {
36
36
  const systemFile = yield* config.temporaryFiles.write("gemini-system-", ".md", system);
37
37
  const settings = yield* config.temporaryFiles.write("gemini-settings-", ".json", modelModeSettingsJson);
38
- const policy = yield* config.temporaryFiles.write("gemini-deny-all-", ".toml", denyAllToolsPolicyToml);
38
+ const policy = yield* config.temporaryFiles.write("gemini-model-mode-", ".toml", modelModePolicyToml);
39
39
  const events = yield* Stream.runCollect(config.executor
40
40
  .runStreamingWithStdin([
41
41
  "gemini",
@@ -97,8 +97,6 @@ const addTokens = (left, right) => ({
97
97
  outputTokens: (left?.outputTokens ?? 0) + (right?.outputTokens ?? 0),
98
98
  cached: (left?.cached ?? 0) + (right?.cached ?? 0)
99
99
  });
100
- /** The largest request the bridge reads: a long conversation, not an unbounded upload. */
101
- const maxRequestBytes = 32 * 1024 * 1024;
102
100
  /** What a Gemini model id looks like: `gemini-3.8-flash`, `gemini-2.5-pro-001`. */
103
101
  const modelName = /^[A-Za-z0-9][A-Za-z0-9._:-]*$/u;
104
102
  /**
@@ -164,18 +162,9 @@ export const runGeminiModelBridge = Effect.fn("@llm4ts/runner/NodeGeminiModelBri
164
162
  writeJson(response, 404, { error: { message: "not found" } });
165
163
  return;
166
164
  }
167
- // pi posts JSON from Node, with no Origin. A browser page posting to
168
- // this loopback port (a cross-site form needs no preflight as
169
- // text/plain) is refused before anything runs.
170
- const contentType = request.headers["content-type"] ?? "";
171
- // A DNS name rebound to 127.0.0.1 still sends its own Host.
172
- const host = (request.headers.host ?? "").replace(/:\d+$/u, "");
173
- if (request.headers.origin !== undefined ||
174
- !contentType.includes("application/json") ||
175
- !["127.0.0.1", "localhost", "[::1]"].includes(host)) {
176
- writeJson(response, 403, {
177
- error: { message: "the bridge answers JSON requests from local tools only" }
178
- });
165
+ const problem = localRequestProblem(request.headers, config.token);
166
+ if (problem !== undefined) {
167
+ writeJson(response, 403, { error: { message: problem } });
179
168
  return;
180
169
  }
181
170
  const handled = Effect.gen(function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGeminiModelBridge.js","sourceRoot":"","sources":["../src/NodeGeminiModelBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeGeminiModelBridge.js","sourceRoot":"","sources":["../src/NodeGeminiModelBridge.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/runner",
3
- "version": "2.43.0",
3
+ "version": "2.44.1",
4
4
  "description": "Node runner, CLI, terminal, and MCP composition for llm4ts",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,6 +29,7 @@
29
29
  "./McpStdio": "./dist/McpStdio.js",
30
30
  "./NodeGeminiAcpBridge": "./dist/NodeGeminiAcpBridge.js",
31
31
  "./NodeGeminiModelBridge": "./dist/NodeGeminiModelBridge.js",
32
+ "./GeminiBridgeServe": "./dist/GeminiBridgeServe.js",
32
33
  "./NodeHttpClient": "./dist/NodeHttpClient.js",
33
34
  "./NodeGeminiCliExecutor": "./dist/NodeGeminiCliExecutor.js",
34
35
  "./NodePlainFileStore": "./dist/NodePlainFileStore.js",
@@ -71,8 +72,8 @@
71
72
  "typescript"
72
73
  ],
73
74
  "dependencies": {
74
- "@llm4ts/core": "2.43.0",
75
- "@llm4ts/flow": "2.43.0"
75
+ "@llm4ts/core": "2.44.1",
76
+ "@llm4ts/flow": "2.44.1"
76
77
  },
77
78
  "peerDependencies": {
78
79
  "effect": "4.0.0"
package/src/FlowRunner.ts CHANGED
@@ -308,7 +308,11 @@ const geminiBridgeSeats = Effect.fn("@llm4ts/runner/FlowRunner.geminiBridgeSeats
308
308
  cwd: scratch,
309
309
  executor: dependencies.process,
310
310
  temporaryFiles: dependencies.temporaryFiles ?? nodeTemporaryFiles,
311
- ...geminiModel
311
+ ...geminiModel,
312
+ ...(environment.LLM4TS_GEMINI_BRIDGE_TOKEN === undefined ||
313
+ environment.LLM4TS_GEMINI_BRIDGE_TOKEN.length === 0
314
+ ? {}
315
+ : { token: environment.LLM4TS_GEMINI_BRIDGE_TOKEN })
312
316
  }).pipe(Effect.mapError(FlowLlmError.from))
313
317
  } else {
314
318
  yield* runGeminiAcpBridge({
@@ -0,0 +1,128 @@
1
+ import { mkdtempSync, rmSync } from "node:fs"
2
+ import { tmpdir } from "node:os"
3
+ import { join } from "node:path"
4
+ import * as Effect from "effect/Effect"
5
+ import type { LlmError } from "@llm4ts/core/Errors"
6
+ import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor"
7
+ import type { TemporaryFilesShape } from "@llm4ts/core/TemporaryFiles"
8
+ import { runGeminiAcpBridge } from "./NodeGeminiAcpBridge.ts"
9
+ import { runGeminiModelBridge, systemAdminPolicies } from "./NodeGeminiModelBridge.ts"
10
+
11
+ /**
12
+ * `llm4ts gemini-bridge`: the Gemini bridge on its own, outside any flow
13
+ * run, so `pi` (or any OpenAI-compatible client) can use the Gemini CLI
14
+ * subscription directly. ADR 0016 deferred this entry point; ADR 0037's
15
+ * model mode makes it an OpenAI-compatible server like LM Studio's. The
16
+ * bridge's code is the flow runner's; only the caller changes.
17
+ */
18
+
19
+ export interface GeminiBridgeOptions {
20
+ readonly port: number
21
+ /** `model` (OpenAI chat completions, ADR 0037) or `acp` (Anthropic Messages, ADR 0016). */
22
+ readonly mode: "model" | "acp"
23
+ /** The Gemini model every request runs on, whatever the client names. */
24
+ readonly model?: string
25
+ /** A token requests must carry (model mode), printed as pi's `apiKey`. */
26
+ readonly token?: string
27
+ }
28
+
29
+ export interface GeminiBridgeDependencies {
30
+ readonly executor: ProcessExecutorShape
31
+ readonly temporaryFiles: TemporaryFilesShape
32
+ /** Gemini CLI's system admin policy files; this machine's by default. */
33
+ readonly systemPolicies?: ReadonlyArray<string>
34
+ readonly log: (line: string) => Effect.Effect<void>
35
+ /** Runs while the bridge serves; the bridge stops when it ends (Ctrl-C in the CLI). */
36
+ readonly until: (baseUrl: string) => Effect.Effect<void>
37
+ }
38
+
39
+ /** The model id the printed pi config names when `--model` names none. */
40
+ export const defaultBridgeModelId = "gemini-3.8-flash"
41
+
42
+ /** pi's provider entry for `~/.pi/agent/models.json`, for this mode and port. */
43
+ export const piProviderSnippet = (
44
+ mode: "model" | "acp",
45
+ port: number,
46
+ model: string,
47
+ token?: string
48
+ ): string =>
49
+ JSON.stringify(
50
+ {
51
+ providers: {
52
+ "gemini-bridge": {
53
+ baseUrl: mode === "model" ? `http://127.0.0.1:${port}/v1` : `http://127.0.0.1:${port}`,
54
+ api: mode === "model" ? "openai-completions" : "anthropic-messages",
55
+ apiKey: token ?? "bridge-unused",
56
+ models: [{ id: model }]
57
+ }
58
+ }
59
+ },
60
+ null,
61
+ 2
62
+ )
63
+
64
+ export const makeGeminiBridgeProgram = (
65
+ options: GeminiBridgeOptions,
66
+ dependencies: GeminiBridgeDependencies
67
+ ): Effect.Effect<void, LlmError> =>
68
+ Effect.scoped(
69
+ Effect.gen(function* () {
70
+ const model = options.model === undefined ? {} : { model: options.model }
71
+ const running =
72
+ options.mode === "model"
73
+ ? yield* Effect.flatMap(
74
+ // An empty directory, so no project GEMINI.md reaches the model.
75
+ Effect.acquireRelease(
76
+ Effect.sync(() => mkdtempSync(join(tmpdir(), "llm4ts-gemini-model-"))),
77
+ (directory) =>
78
+ Effect.sync(() => rmSync(directory, { recursive: true, force: true }))
79
+ ),
80
+ (scratch) =>
81
+ runGeminiModelBridge({
82
+ port: options.port,
83
+ cwd: scratch,
84
+ executor: dependencies.executor,
85
+ temporaryFiles: dependencies.temporaryFiles,
86
+ systemPolicies: dependencies.systemPolicies ?? systemAdminPolicies(),
87
+ ...model,
88
+ ...(options.token === undefined ? {} : { token: options.token })
89
+ })
90
+ )
91
+ : yield* runGeminiAcpBridge({
92
+ port: options.port,
93
+ cwd: process.cwd(),
94
+ executor: dependencies.executor,
95
+ ...model
96
+ })
97
+ const id = options.model ?? defaultBridgeModelId
98
+ const url = options.mode === "model" ? `${running.baseUrl}/v1` : running.baseUrl
99
+ yield* Effect.forEach(
100
+ [
101
+ `gemini bridge (${options.mode === "model" ? "model mode: OpenAI chat completions" : "ACP mode: Anthropic Messages"}) listening on ${url}`,
102
+ "",
103
+ "pi provider for ~/.pi/agent/models.json:",
104
+ piProviderSnippet(
105
+ options.mode,
106
+ running.port,
107
+ id,
108
+ options.mode === "model" ? options.token : undefined
109
+ ),
110
+ "",
111
+ `then: pi --model gemini-bridge/${id}`,
112
+ ...(options.mode === "model"
113
+ ? [
114
+ "",
115
+ "Only Gemini CLI talks to Google, under its own login. Its terms forbid direct",
116
+ "third-party access to its services; confirm with Google before relying on this",
117
+ "(`LLM4TS_GEMINI_BRIDGE=1 LLM4TS_GEMINI_BRIDGE_MODE=model llm4ts doctor` quotes them)."
118
+ ]
119
+ : []),
120
+ "",
121
+ "Ctrl-C stops it."
122
+ ],
123
+ dependencies.log,
124
+ { discard: true }
125
+ )
126
+ yield* dependencies.until(running.baseUrl)
127
+ })
128
+ )
@@ -1,4 +1,11 @@
1
- import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http"
1
+ import { timingSafeEqual } from "node:crypto"
2
+ import {
3
+ createServer,
4
+ type IncomingHttpHeaders,
5
+ type IncomingMessage,
6
+ type Server,
7
+ type ServerResponse
8
+ } from "node:http"
2
9
  import * as Deferred from "effect/Deferred"
3
10
  import * as Effect from "effect/Effect"
4
11
  import * as Option from "effect/Option"
@@ -400,6 +407,42 @@ export const handleMessagesRequest = Effect.fn(
400
407
  return anthropicResponse(requestModel(body), outcome)
401
408
  })
402
409
 
410
+ /**
411
+ * Why a request may not reach the bridge, or nothing when it may: both
412
+ * routes answer local tools only. pi and gemini post JSON from Node, with
413
+ * no Origin; a browser page posting to this loopback port (a cross-site
414
+ * form needs no preflight as text/plain) carries one, and a DNS name
415
+ * rebound to 127.0.0.1 still sends its own Host. With a token, the request
416
+ * must carry it as a bearer (pi sends its `apiKey` that way).
417
+ */
418
+ export const localRequestProblem = (
419
+ headers: IncomingHttpHeaders,
420
+ token?: string
421
+ ): string | undefined => {
422
+ const contentType = headers["content-type"] ?? ""
423
+ const host = (headers.host ?? "").replace(/:\d+$/u, "")
424
+ if (headers.origin !== undefined) {
425
+ return "the bridge answers local tools, not browser pages"
426
+ }
427
+ if (!contentType.includes("application/json")) {
428
+ return "the bridge answers JSON requests only"
429
+ }
430
+ if (!["127.0.0.1", "localhost", "[::1]"].includes(host)) {
431
+ return "the bridge answers requests to 127.0.0.1 only"
432
+ }
433
+ if (token !== undefined) {
434
+ const given = Buffer.from(headers.authorization ?? "")
435
+ const wanted = Buffer.from(`Bearer ${token}`)
436
+ if (given.length !== wanted.length || !timingSafeEqual(given, wanted)) {
437
+ return "the bridge's token is missing or wrong"
438
+ }
439
+ }
440
+ return undefined
441
+ }
442
+
443
+ /** The largest request either route reads: a long conversation, not an unbounded upload. */
444
+ export const maxRequestBytes = 32 * 1024 * 1024
445
+
403
446
  /** Shared with the model route (`NodeGeminiModelBridge.ts`, ADR 0037). */
404
447
  export const readBody = (
405
448
  request: IncomingMessage,
@@ -552,9 +595,14 @@ export const runGeminiAcpBridge = Effect.fn("@llm4ts/runner/NodeGeminiAcpBridge.
552
595
  writeJson(response, 404, { error: { message: "not found" } })
553
596
  return
554
597
  }
598
+ const problem = localRequestProblem(request.headers)
599
+ if (problem !== undefined) {
600
+ writeJson(response, 403, { error: { message: problem } })
601
+ return
602
+ }
555
603
 
556
604
  const handled = Effect.gen(function* () {
557
- const raw = yield* readBody(request)
605
+ const raw = yield* readBody(request, maxRequestBytes)
558
606
  const body = yield* parseJsonBody(raw)
559
607
  if (path === "/mcp") {
560
608
  const tools = yield* Ref.get(state.tools)
@@ -14,7 +14,7 @@ import {
14
14
  completionChunks,
15
15
  completionJson,
16
16
  correctionTranscript,
17
- denyAllToolsPolicyToml,
17
+ modelModePolicyToml,
18
18
  modelModeSettingsJson,
19
19
  openAiUsage,
20
20
  parseModelReply,
@@ -27,6 +27,8 @@ import {
27
27
  import {
28
28
  acquireServer,
29
29
  errorStatus,
30
+ localRequestProblem,
31
+ maxRequestBytes,
30
32
  parseJsonBody,
31
33
  readBody,
32
34
  requestPath,
@@ -62,6 +64,8 @@ export interface GeminiModelBridgeConfig extends GeminiModelCallConfig {
62
64
  * Default: what is on this machine (`systemAdminPolicies`).
63
65
  */
64
66
  readonly systemPolicies?: ReadonlyArray<string>
67
+ /** A token every request must carry as a bearer (pi's `apiKey`); none by default. */
68
+ readonly token?: string
65
69
  }
66
70
 
67
71
  export interface RunningGeminiModelBridge {
@@ -119,9 +123,9 @@ const geminiTurn = (
119
123
  modelModeSettingsJson
120
124
  )
121
125
  const policy = yield* config.temporaryFiles.write(
122
- "gemini-deny-all-",
126
+ "gemini-model-mode-",
123
127
  ".toml",
124
- denyAllToolsPolicyToml
128
+ modelModePolicyToml
125
129
  )
126
130
  const events = yield* Stream.runCollect(
127
131
  config.executor
@@ -197,9 +201,6 @@ const addTokens = (
197
201
  cached: (left?.cached ?? 0) + (right?.cached ?? 0)
198
202
  })
199
203
 
200
- /** The largest request the bridge reads: a long conversation, not an unbounded upload. */
201
- const maxRequestBytes = 32 * 1024 * 1024
202
-
203
204
  /** What a Gemini model id looks like: `gemini-3.8-flash`, `gemini-2.5-pro-001`. */
204
205
  const modelName = /^[A-Za-z0-9][A-Za-z0-9._:-]*$/u
205
206
 
@@ -290,20 +291,9 @@ export const runGeminiModelBridge = Effect.fn("@llm4ts/runner/NodeGeminiModelBri
290
291
  writeJson(response, 404, { error: { message: "not found" } })
291
292
  return
292
293
  }
293
- // pi posts JSON from Node, with no Origin. A browser page posting to
294
- // this loopback port (a cross-site form needs no preflight as
295
- // text/plain) is refused before anything runs.
296
- const contentType = request.headers["content-type"] ?? ""
297
- // A DNS name rebound to 127.0.0.1 still sends its own Host.
298
- const host = (request.headers.host ?? "").replace(/:\d+$/u, "")
299
- if (
300
- request.headers.origin !== undefined ||
301
- !contentType.includes("application/json") ||
302
- !["127.0.0.1", "localhost", "[::1]"].includes(host)
303
- ) {
304
- writeJson(response, 403, {
305
- error: { message: "the bridge answers JSON requests from local tools only" }
306
- })
294
+ const problem = localRequestProblem(request.headers, config.token)
295
+ if (problem !== undefined) {
296
+ writeJson(response, 403, { error: { message: problem } })
307
297
  return
308
298
  }
309
299
  const handled = Effect.gen(function* () {