@llm4ts/core 2.24.0 → 2.26.0
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.
|
@@ -75,12 +75,15 @@ declare const GeminiCliExecutionContext_base: Schema.Class<GeminiCliExecutionCon
|
|
|
75
75
|
readonly sandbox: Schema.optionalKey<Schema.Literals<readonly ["Docker", "Podman", "SeatbeltMacOS", "Runsc", "Lxc", "Default"]>>;
|
|
76
76
|
readonly turnLimit: Schema.optionalKey<Schema.Int>;
|
|
77
77
|
readonly readOnly: Schema.withConstructorDefault<Schema.Boolean>;
|
|
78
|
+
/** The seat's own environment (a roster `env`), under llm4ts's own keys. */
|
|
79
|
+
readonly envVars: Schema.withConstructorDefault<Schema.$Record<Schema.String, Schema.String>>;
|
|
78
80
|
}>, {}>;
|
|
79
81
|
export declare class GeminiCliExecutionContext extends GeminiCliExecutionContext_base {
|
|
80
82
|
}
|
|
81
83
|
export declare const geminiCliExecutionContextFrom: (config: CliConnectorConfig) => GeminiCliExecutionContext;
|
|
82
84
|
export interface GeminiCliExecutorShape {
|
|
83
|
-
|
|
85
|
+
/** Fails when the CLI is missing; answers its version text (`gemini --version`). */
|
|
86
|
+
readonly checkGeminiInstalled: Effect.Effect<string, LlmError>;
|
|
84
87
|
readonly runGeminiProcess: (prompt: string, config: LlmConfig, context: GeminiCliExecutionContext) => Effect.Effect<string, LlmError>;
|
|
85
88
|
readonly runGeminiProcessStream: (prompt: string, config: LlmConfig, context: GeminiCliExecutionContext) => Stream.Stream<GeminiCliStreamEvent, LlmError>;
|
|
86
89
|
}
|
|
@@ -91,6 +94,19 @@ export declare const geminiSandboxEnvValue: (sandbox: GeminiSandbox) => string |
|
|
|
91
94
|
export declare const buildGeminiArgs: (config: LlmConfig, context: GeminiCliExecutionContext, outputFormat: string) => ReadonlyArray<string>;
|
|
92
95
|
export declare const geminiTurnLimitSettingsJson: (turns: number) => string;
|
|
93
96
|
export declare const geminiProcessEnv: (context: GeminiCliExecutionContext, turnLimitSettingsPath?: string) => Readonly<Record<string, string>>;
|
|
97
|
+
/**
|
|
98
|
+
* The first Gemini CLI whose headless modes are policies, not moods: its
|
|
99
|
+
* policy engine denies the shell and every write tool when non-interactive
|
|
100
|
+
* in default mode, and every tool but the read-only set in plan mode (which
|
|
101
|
+
* sat behind `experimental.plan` until 0.37.0 promoted it). Below this a
|
|
102
|
+
* read-only seat is a request the harness may not honor, so llm4ts refuses
|
|
103
|
+
* it (ADR 0010).
|
|
104
|
+
*/
|
|
105
|
+
export declare const geminiReadOnlyFloor = "0.37.0";
|
|
106
|
+
/** The `x.y.z` in a `gemini --version` answer, if it holds one. */
|
|
107
|
+
export declare const geminiVersionOf: (text: string) => string | undefined;
|
|
108
|
+
/** Why this CLI cannot hold a read-only seat, or nothing when it can. */
|
|
109
|
+
export declare const geminiReadOnlyProblem: (versionText: string) => string | undefined;
|
|
94
110
|
export declare const geminiQuotaDiagnostic: (stderr: ReadonlyArray<string>) => string | undefined;
|
|
95
111
|
/**
|
|
96
112
|
* The stderr line where Gemini CLI's loop breaker reports that it halted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiCliProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GeminiCliProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,cAAc,CAAA;AAErB,OAAO,
|
|
1
|
+
{"version":3,"file":"GeminiCliProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GeminiCliProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import * as Schema from "effect/Schema";
|
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
7
|
import { makeCliConnector } from "../Connector.js";
|
|
8
8
|
import { InvalidRequestError, ParseError, ProviderError, TurnLimitError } from "../Errors.js";
|
|
9
|
-
import { ConnectorIds, HealthStatus, LlmChunk, TokenUsage } from "../Models.js";
|
|
9
|
+
import { ConnectorCapabilities, ConnectorIds, HealthStatus, LlmChunk, TokenUsage } from "../Models.js";
|
|
10
10
|
import { collect } from "../Streaming.js";
|
|
11
11
|
import { jsonCandidates, parseFromText, withSchemaHint } from "../StructuredOutput.js";
|
|
12
12
|
import { failClassifiedCliError, isLoopDetectedMessage, jsonField, jsonIntField, jsonNumberField, jsonObjectEntries, jsonStringField, jsonText, parseJsonLine } from "./CliSupport.js";
|
|
@@ -83,13 +83,16 @@ export class GeminiCliExecutionContext extends Schema.Class("GeminiCliExecutionC
|
|
|
83
83
|
includeDirectories: Schema.Array(Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed(emptyDirectories))),
|
|
84
84
|
sandbox: Schema.optionalKey(GeminiSandbox),
|
|
85
85
|
turnLimit: Schema.optionalKey(Schema.Int),
|
|
86
|
-
readOnly: Schema.Boolean.pipe(Schema.withConstructorDefault(Effect.succeed(false)))
|
|
86
|
+
readOnly: Schema.Boolean.pipe(Schema.withConstructorDefault(Effect.succeed(false))),
|
|
87
|
+
/** The seat's own environment (a roster `env`), under llm4ts's own keys. */
|
|
88
|
+
envVars: Schema.Record(Schema.String, Schema.String).pipe(Schema.withConstructorDefault(Effect.succeed({})))
|
|
87
89
|
}) {
|
|
88
90
|
}
|
|
89
91
|
export const geminiCliExecutionContextFrom = (config) => GeminiCliExecutionContext.make({
|
|
90
92
|
...(config.workingDir === undefined ? {} : { cwd: config.workingDir }),
|
|
91
93
|
...(config.turnLimit === undefined ? {} : { turnLimit: config.turnLimit }),
|
|
92
94
|
readOnly: config.readOnly,
|
|
95
|
+
envVars: config.envVars,
|
|
93
96
|
...(config.sandbox === undefined
|
|
94
97
|
? {}
|
|
95
98
|
: {
|
|
@@ -119,10 +122,18 @@ export const buildGeminiArgs = (config, context, outputFormat) => {
|
|
|
119
122
|
"--include-directories",
|
|
120
123
|
path
|
|
121
124
|
]);
|
|
125
|
+
// Read-only is headless default mode: Gemini's own write policy denies
|
|
126
|
+
// the shell and every write tool when non-interactive, and unmatched tools
|
|
127
|
+
// too, while the model keeps its agent prompt. Plan mode would also deny
|
|
128
|
+
// them, but swaps the prompt for a planning workflow (explore the codebase,
|
|
129
|
+
// consult the user, save a plan), which a judge answering JSON cannot
|
|
130
|
+
// follow. Under a sandbox, default mode pre-approves cat/ls/grep in the
|
|
131
|
+
// shell, so plan mode stays there.
|
|
132
|
+
const readOnlyMode = context.sandbox === undefined ? "default" : "plan";
|
|
122
133
|
return [
|
|
123
134
|
"-m",
|
|
124
135
|
config.model,
|
|
125
|
-
...(context.readOnly ? ["--approval-mode",
|
|
136
|
+
...(context.readOnly ? ["--approval-mode", readOnlyMode] : ["-y"]),
|
|
126
137
|
"--output-format",
|
|
127
138
|
outputFormat,
|
|
128
139
|
...directories,
|
|
@@ -137,6 +148,7 @@ export const geminiTurnLimitSettingsJson = (turns) => JSON.stringify({
|
|
|
137
148
|
export const geminiProcessEnv = (context, turnLimitSettingsPath) => {
|
|
138
149
|
const sandbox = context.sandbox === undefined ? undefined : geminiSandboxEnvValue(context.sandbox);
|
|
139
150
|
return {
|
|
151
|
+
...context.envVars,
|
|
140
152
|
GEMINI_CLI_TRUST_WORKSPACE: "true",
|
|
141
153
|
...(sandbox === undefined ? {} : { GEMINI_SANDBOX: sandbox }),
|
|
142
154
|
...(turnLimitSettingsPath === undefined
|
|
@@ -146,6 +158,45 @@ export const geminiProcessEnv = (context, turnLimitSettingsPath) => {
|
|
|
146
158
|
})
|
|
147
159
|
};
|
|
148
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* The first Gemini CLI whose headless modes are policies, not moods: its
|
|
163
|
+
* policy engine denies the shell and every write tool when non-interactive
|
|
164
|
+
* in default mode, and every tool but the read-only set in plan mode (which
|
|
165
|
+
* sat behind `experimental.plan` until 0.37.0 promoted it). Below this a
|
|
166
|
+
* read-only seat is a request the harness may not honor, so llm4ts refuses
|
|
167
|
+
* it (ADR 0010).
|
|
168
|
+
*/
|
|
169
|
+
export const geminiReadOnlyFloor = "0.37.0";
|
|
170
|
+
const versionTriple = (text) => {
|
|
171
|
+
const match = /(\d+)\.(\d+)\.(\d+)/.exec(text);
|
|
172
|
+
return match === null ? undefined : match.slice(1, 4).map(Number);
|
|
173
|
+
};
|
|
174
|
+
/** The `x.y.z` in a `gemini --version` answer, if it holds one. */
|
|
175
|
+
export const geminiVersionOf = (text) => versionTriple(text)?.join(".");
|
|
176
|
+
const atLeast = (version, floor) => {
|
|
177
|
+
for (let index = 0; index < floor.length; index += 1) {
|
|
178
|
+
const have = version[index] ?? 0;
|
|
179
|
+
const want = floor[index] ?? 0;
|
|
180
|
+
if (have !== want) {
|
|
181
|
+
return have > want;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return true;
|
|
185
|
+
};
|
|
186
|
+
/** Why this CLI cannot hold a read-only seat, or nothing when it can. */
|
|
187
|
+
export const geminiReadOnlyProblem = (versionText) => {
|
|
188
|
+
const version = versionTriple(versionText);
|
|
189
|
+
const floor = versionTriple(geminiReadOnlyFloor) ?? [];
|
|
190
|
+
if (version === undefined) {
|
|
191
|
+
return (`could not read the Gemini CLI version from '${versionText.trim()}'; a read-only seat ` +
|
|
192
|
+
`needs gemini >= ${geminiReadOnlyFloor}, whose plan mode is enforced by its policy engine`);
|
|
193
|
+
}
|
|
194
|
+
return atLeast(version, floor)
|
|
195
|
+
? undefined
|
|
196
|
+
: `Gemini CLI ${version.join(".")} cannot enforce a read-only seat: plan mode is a policy ` +
|
|
197
|
+
`only from ${geminiReadOnlyFloor}; upgrade gemini, or give the judge and reviewer ` +
|
|
198
|
+
"seats to another harness";
|
|
199
|
+
};
|
|
149
200
|
export const geminiQuotaDiagnostic = (stderr) => stderr
|
|
150
201
|
.find((line) => {
|
|
151
202
|
const lower = line.toLowerCase();
|
|
@@ -544,12 +595,19 @@ export const makeGeminiCliProvider = (config, executor, executionContext = Gemin
|
|
|
544
595
|
// `gemini --version` is a second Node start-up; it ran before every turn
|
|
545
596
|
// (llm4zio does the same). Once it has answered, it is not asked again for
|
|
546
597
|
// this provider; a failed check is retried on the next turn (docs/parity.md).
|
|
598
|
+
// A read-only seat is only taken on a CLI whose plan mode is a policy
|
|
599
|
+
// (`geminiReadOnlyFloor`): the version answer decides before the first turn.
|
|
547
600
|
let installed = false;
|
|
548
601
|
const checkInstalledOnce = Effect.suspend(() => installed
|
|
549
602
|
? Effect.void
|
|
550
|
-
: Effect.
|
|
551
|
-
|
|
552
|
-
|
|
603
|
+
: Effect.flatMap(executor.checkGeminiInstalled, (version) => {
|
|
604
|
+
const problem = executionContext.readOnly ? geminiReadOnlyProblem(version) : undefined;
|
|
605
|
+
return problem === undefined
|
|
606
|
+
? Effect.sync(() => {
|
|
607
|
+
installed = true;
|
|
608
|
+
})
|
|
609
|
+
: Effect.fail(InvalidRequestError.make({ message: problem }));
|
|
610
|
+
}));
|
|
553
611
|
const executeStream = (prompt) => Stream.concat(Stream.fromEffect(checkInstalledOnce).pipe(Stream.drain), Stream.unwrap(Effect.map(Ref.make({
|
|
554
612
|
provider: "gemini-cli",
|
|
555
613
|
model: config.model
|
|
@@ -667,7 +725,15 @@ export const makeGeminiCliProvider = (config, executor, executionContext = Gemin
|
|
|
667
725
|
complete,
|
|
668
726
|
completeStream: executeStream,
|
|
669
727
|
healthCheck,
|
|
670
|
-
isAvailable: Effect.map(healthCheck, (status) => status.availability === "Healthy")
|
|
728
|
+
isAvailable: Effect.map(healthCheck, (status) => status.availability === "Healthy"),
|
|
729
|
+
// Headless default and plan modes are policy-engine denies of every
|
|
730
|
+
// non-read-only tool from `geminiReadOnlyFloor`, and `checkInstalledOnce`
|
|
731
|
+
// refuses a read-only seat on anything older, so the grade holds for
|
|
732
|
+
// every seat that runs.
|
|
733
|
+
capabilities: ConnectorCapabilities.make({
|
|
734
|
+
interactiveSessions: true,
|
|
735
|
+
readOnlyEnforcement: "enforced"
|
|
736
|
+
})
|
|
671
737
|
});
|
|
672
738
|
const executeStructuredWithUsage = (prompt, schema, jsonSchema) => Effect.gen(function* () {
|
|
673
739
|
const hinted = withSchemaHint(prompt, jsonSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiCliProvider.js","sourceRoot":"","sources":["../../src/providers/GeminiCliProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GeminiCliProvider.js","sourceRoot":"","sources":["../../src/providers/GeminiCliProvider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
} from "../Errors.ts"
|
|
16
16
|
import type { StructuredResult } from "../LlmService.ts"
|
|
17
17
|
import {
|
|
18
|
+
ConnectorCapabilities,
|
|
18
19
|
ConnectorIds,
|
|
19
20
|
HealthStatus,
|
|
20
21
|
LlmChunk,
|
|
@@ -120,7 +121,11 @@ export class GeminiCliExecutionContext extends Schema.Class<GeminiCliExecutionCo
|
|
|
120
121
|
),
|
|
121
122
|
sandbox: Schema.optionalKey(GeminiSandbox),
|
|
122
123
|
turnLimit: Schema.optionalKey(Schema.Int),
|
|
123
|
-
readOnly: Schema.Boolean.pipe(Schema.withConstructorDefault(Effect.succeed(false)))
|
|
124
|
+
readOnly: Schema.Boolean.pipe(Schema.withConstructorDefault(Effect.succeed(false))),
|
|
125
|
+
/** The seat's own environment (a roster `env`), under llm4ts's own keys. */
|
|
126
|
+
envVars: Schema.Record(Schema.String, Schema.String).pipe(
|
|
127
|
+
Schema.withConstructorDefault(Effect.succeed<Readonly<Record<string, string>>>({}))
|
|
128
|
+
)
|
|
124
129
|
}) {}
|
|
125
130
|
|
|
126
131
|
export const geminiCliExecutionContextFrom = (
|
|
@@ -130,6 +135,7 @@ export const geminiCliExecutionContextFrom = (
|
|
|
130
135
|
...(config.workingDir === undefined ? {} : { cwd: config.workingDir }),
|
|
131
136
|
...(config.turnLimit === undefined ? {} : { turnLimit: config.turnLimit }),
|
|
132
137
|
readOnly: config.readOnly,
|
|
138
|
+
envVars: config.envVars,
|
|
133
139
|
...(config.sandbox === undefined
|
|
134
140
|
? {}
|
|
135
141
|
: {
|
|
@@ -138,7 +144,8 @@ export const geminiCliExecutionContextFrom = (
|
|
|
138
144
|
})
|
|
139
145
|
|
|
140
146
|
export interface GeminiCliExecutorShape {
|
|
141
|
-
|
|
147
|
+
/** Fails when the CLI is missing; answers its version text (`gemini --version`). */
|
|
148
|
+
readonly checkGeminiInstalled: Effect.Effect<string, LlmError>
|
|
142
149
|
readonly runGeminiProcess: (
|
|
143
150
|
prompt: string,
|
|
144
151
|
config: LlmConfig,
|
|
@@ -181,10 +188,18 @@ export const buildGeminiArgs = (
|
|
|
181
188
|
"--include-directories",
|
|
182
189
|
path
|
|
183
190
|
])
|
|
191
|
+
// Read-only is headless default mode: Gemini's own write policy denies
|
|
192
|
+
// the shell and every write tool when non-interactive, and unmatched tools
|
|
193
|
+
// too, while the model keeps its agent prompt. Plan mode would also deny
|
|
194
|
+
// them, but swaps the prompt for a planning workflow (explore the codebase,
|
|
195
|
+
// consult the user, save a plan), which a judge answering JSON cannot
|
|
196
|
+
// follow. Under a sandbox, default mode pre-approves cat/ls/grep in the
|
|
197
|
+
// shell, so plan mode stays there.
|
|
198
|
+
const readOnlyMode = context.sandbox === undefined ? "default" : "plan"
|
|
184
199
|
return [
|
|
185
200
|
"-m",
|
|
186
201
|
config.model,
|
|
187
|
-
...(context.readOnly ? ["--approval-mode",
|
|
202
|
+
...(context.readOnly ? ["--approval-mode", readOnlyMode] : ["-y"]),
|
|
188
203
|
"--output-format",
|
|
189
204
|
outputFormat,
|
|
190
205
|
...directories,
|
|
@@ -205,6 +220,7 @@ export const geminiProcessEnv = (
|
|
|
205
220
|
): Readonly<Record<string, string>> => {
|
|
206
221
|
const sandbox = context.sandbox === undefined ? undefined : geminiSandboxEnvValue(context.sandbox)
|
|
207
222
|
return {
|
|
223
|
+
...context.envVars,
|
|
208
224
|
GEMINI_CLI_TRUST_WORKSPACE: "true",
|
|
209
225
|
...(sandbox === undefined ? {} : { GEMINI_SANDBOX: sandbox }),
|
|
210
226
|
...(turnLimitSettingsPath === undefined
|
|
@@ -215,6 +231,52 @@ export const geminiProcessEnv = (
|
|
|
215
231
|
}
|
|
216
232
|
}
|
|
217
233
|
|
|
234
|
+
/**
|
|
235
|
+
* The first Gemini CLI whose headless modes are policies, not moods: its
|
|
236
|
+
* policy engine denies the shell and every write tool when non-interactive
|
|
237
|
+
* in default mode, and every tool but the read-only set in plan mode (which
|
|
238
|
+
* sat behind `experimental.plan` until 0.37.0 promoted it). Below this a
|
|
239
|
+
* read-only seat is a request the harness may not honor, so llm4ts refuses
|
|
240
|
+
* it (ADR 0010).
|
|
241
|
+
*/
|
|
242
|
+
export const geminiReadOnlyFloor = "0.37.0"
|
|
243
|
+
|
|
244
|
+
const versionTriple = (text: string): ReadonlyArray<number> | undefined => {
|
|
245
|
+
const match = /(\d+)\.(\d+)\.(\d+)/.exec(text)
|
|
246
|
+
return match === null ? undefined : match.slice(1, 4).map(Number)
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
/** The `x.y.z` in a `gemini --version` answer, if it holds one. */
|
|
250
|
+
export const geminiVersionOf = (text: string): string | undefined => versionTriple(text)?.join(".")
|
|
251
|
+
|
|
252
|
+
const atLeast = (version: ReadonlyArray<number>, floor: ReadonlyArray<number>): boolean => {
|
|
253
|
+
for (let index = 0; index < floor.length; index += 1) {
|
|
254
|
+
const have = version[index] ?? 0
|
|
255
|
+
const want = floor[index] ?? 0
|
|
256
|
+
if (have !== want) {
|
|
257
|
+
return have > want
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return true
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/** Why this CLI cannot hold a read-only seat, or nothing when it can. */
|
|
264
|
+
export const geminiReadOnlyProblem = (versionText: string): string | undefined => {
|
|
265
|
+
const version = versionTriple(versionText)
|
|
266
|
+
const floor = versionTriple(geminiReadOnlyFloor) ?? []
|
|
267
|
+
if (version === undefined) {
|
|
268
|
+
return (
|
|
269
|
+
`could not read the Gemini CLI version from '${versionText.trim()}'; a read-only seat ` +
|
|
270
|
+
`needs gemini >= ${geminiReadOnlyFloor}, whose plan mode is enforced by its policy engine`
|
|
271
|
+
)
|
|
272
|
+
}
|
|
273
|
+
return atLeast(version, floor)
|
|
274
|
+
? undefined
|
|
275
|
+
: `Gemini CLI ${version.join(".")} cannot enforce a read-only seat: plan mode is a policy ` +
|
|
276
|
+
`only from ${geminiReadOnlyFloor}; upgrade gemini, or give the judge and reviewer ` +
|
|
277
|
+
"seats to another harness"
|
|
278
|
+
}
|
|
279
|
+
|
|
218
280
|
export const geminiQuotaDiagnostic = (stderr: ReadonlyArray<string>): string | undefined =>
|
|
219
281
|
stderr
|
|
220
282
|
.find((line) => {
|
|
@@ -698,15 +760,20 @@ export const makeGeminiCliProvider = (
|
|
|
698
760
|
// `gemini --version` is a second Node start-up; it ran before every turn
|
|
699
761
|
// (llm4zio does the same). Once it has answered, it is not asked again for
|
|
700
762
|
// this provider; a failed check is retried on the next turn (docs/parity.md).
|
|
763
|
+
// A read-only seat is only taken on a CLI whose plan mode is a policy
|
|
764
|
+
// (`geminiReadOnlyFloor`): the version answer decides before the first turn.
|
|
701
765
|
let installed = false
|
|
702
766
|
const checkInstalledOnce: Effect.Effect<void, LlmError> = Effect.suspend(() =>
|
|
703
767
|
installed
|
|
704
768
|
? Effect.void
|
|
705
|
-
: Effect.
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
769
|
+
: Effect.flatMap(executor.checkGeminiInstalled, (version) => {
|
|
770
|
+
const problem = executionContext.readOnly ? geminiReadOnlyProblem(version) : undefined
|
|
771
|
+
return problem === undefined
|
|
772
|
+
? Effect.sync(() => {
|
|
773
|
+
installed = true
|
|
774
|
+
})
|
|
775
|
+
: Effect.fail(InvalidRequestError.make({ message: problem }))
|
|
776
|
+
})
|
|
710
777
|
)
|
|
711
778
|
|
|
712
779
|
const executeStream = (prompt: string): Stream.Stream<LlmChunk, LlmError> =>
|
|
@@ -867,7 +934,15 @@ export const makeGeminiCliProvider = (
|
|
|
867
934
|
complete,
|
|
868
935
|
completeStream: executeStream,
|
|
869
936
|
healthCheck,
|
|
870
|
-
isAvailable: Effect.map(healthCheck, (status) => status.availability === "Healthy")
|
|
937
|
+
isAvailable: Effect.map(healthCheck, (status) => status.availability === "Healthy"),
|
|
938
|
+
// Headless default and plan modes are policy-engine denies of every
|
|
939
|
+
// non-read-only tool from `geminiReadOnlyFloor`, and `checkInstalledOnce`
|
|
940
|
+
// refuses a read-only seat on anything older, so the grade holds for
|
|
941
|
+
// every seat that runs.
|
|
942
|
+
capabilities: ConnectorCapabilities.make({
|
|
943
|
+
interactiveSessions: true,
|
|
944
|
+
readOnlyEnforcement: "enforced"
|
|
945
|
+
})
|
|
871
946
|
})
|
|
872
947
|
|
|
873
948
|
const executeStructuredWithUsage = <A, E, RD, RE>(
|