@llm4ts/runner 2.8.0 → 2.9.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.
@@ -5,6 +5,7 @@ import { CliConnectorConfig, defaultReasoningConfig } from "@llm4ts/core/Connect
5
5
  import { LlmJudgmentConfig, makeLlmJudgment } from "@llm4ts/core/judgment/LlmJudgment";
6
6
  import { makeTypeSafeJudgment } from "@llm4ts/core/judgment/TypeSafeJudgment";
7
7
  import * as Redacted from "effect/Redacted";
8
+ import { ConnectorCapabilities as ConnectorCapabilitiesClass } from "@llm4ts/core/Models";
8
9
  import { createConnectorRegistry } from "@llm4ts/core/providers/ConnectorFactories";
9
10
  import { ConnectorIds } from "@llm4ts/core/Models";
10
11
  import { ProviderError } from "@llm4ts/core/Errors";
@@ -13,7 +14,7 @@ import { runGeminiAcpBridge } from "./NodeGeminiAcpBridge.js";
13
14
  import { bridgeModelProblem, defaultReadPiModelsJson, geminiBridgePort, resolveBridgeModel } from "./PiModels.js";
14
15
  import { appendCostRecord, checkCostBudget, CostLedgerFileName, makeCostRecord } from "@llm4ts/flow/CostLedger";
15
16
  import { estimatedUsageOptionsFromEnv, makeEstimatedUsageMeter } from "@llm4ts/flow/EstimatedUsage";
16
- import { FlowLlmError, describeFlowError } from "@llm4ts/flow/FlowError";
17
+ import { FlowLlmError, RosterInvalid, describeFlowError } from "@llm4ts/flow/FlowError";
17
18
  import { defaultDrainTimeout, FlowEvents, FlowEventsValues, Info, TokensUsed, makeFlowEventHub } from "@llm4ts/flow/FlowEvents";
18
19
  import { FlowContext } from "@llm4ts/flow/FlowContext";
19
20
  import { makeFlowRecorder } from "@llm4ts/flow/FlowRecorder";
@@ -21,6 +22,11 @@ import { makeJudgmentLog } from "@llm4ts/flow/JudgmentLog";
21
22
  import { makeGitHubTool } from "@llm4ts/flow/GitHubTool";
22
23
  import { makeGitTool } from "@llm4ts/flow/GitTool";
23
24
  import { makeTransientRetry } from "@llm4ts/flow/TransientRetry";
25
+ import { Exclusion, makeRoster, makeRosterStateStore, priorityOf, rolesOf } from "@llm4ts/flow/Roster";
26
+ import { makeHeldCoder, rosterSeat } from "@llm4ts/flow/RosterSeats";
27
+ import * as Semaphore from "effect/Semaphore";
28
+ import * as ScopeModule from "effect/Scope";
29
+ import { executorConfig, httpProbe, loadRosterDocument, rosterStatePath } from "./ExecutorRoster.js";
24
30
  import { nodeHttpClient } from "./NodeHttpClient.js";
25
31
  import { nodeGeminiCliExecutor } from "./NodeGeminiCliExecutor.js";
26
32
  import { nodePlainFileStore } from "./NodePlainFileStore.js";
@@ -204,6 +210,171 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
204
210
  }
205
211
  : {})
206
212
  });
213
+ /**
214
+ * One look at every executor before the first lease: a health URL that
215
+ * does not answer waits in the round for its engine; a harness that cannot
216
+ * start (not installed, not signed in) sits the run out.
217
+ */
218
+ const probeExecutors = (roster, seatFor, workDir) => Effect.forEach(roster.executors, (executor) => Effect.gen(function* () {
219
+ if (executor.health !== undefined) {
220
+ if (!(yield* httpProbe(executor.health))) {
221
+ yield* roster.exclude(Exclusion.make({
222
+ id: executor.id,
223
+ kind: "health",
224
+ until: yield* Clock.currentTimeMillis,
225
+ reason: `its health check ${executor.health} does not answer`
226
+ }));
227
+ }
228
+ return;
229
+ }
230
+ const role = rolesOf(executor)[0] ?? "coder";
231
+ const seat = yield* Effect.result(seatFor(executor, role, workDir));
232
+ if (seat._tag === "Failure") {
233
+ yield* roster.exclude(Exclusion.make({
234
+ id: executor.id,
235
+ kind: "run",
236
+ reason: `could not start: ${describeFlowError(seat.failure)}`
237
+ }));
238
+ return;
239
+ }
240
+ if (!(yield* seat.success.isAvailable)) {
241
+ yield* roster.exclude(Exclusion.make({
242
+ id: executor.id,
243
+ kind: "run",
244
+ reason: `its harness '${executor.harness}' is not available (not installed, or not signed in)`
245
+ }));
246
+ }
247
+ }), { discard: true, concurrency: "unbounded" });
248
+ /**
249
+ * Every seat from the roster (ADR 0019): a lazily held coder at the root,
250
+ * an eagerly held one per `contextFor` (a story waits there for a slot),
251
+ * and reasoning seats leased per call, independent of the coder.
252
+ */
253
+ const rosterContext = Effect.fn("@llm4ts/runner/FlowRunner.rosterContext")(function* (document) {
254
+ const runScope = yield* Effect.scope;
255
+ const roster = yield* makeRoster({
256
+ executors: document.executors,
257
+ events,
258
+ state: makeRosterStateStore(dependencies.files, rosterStatePath(runEnvironment)),
259
+ probe: httpProbe
260
+ });
261
+ const seatCache = new Map();
262
+ const cacheLock = yield* Semaphore.make(1);
263
+ const seatFor = (executor, role, workDir) => cacheLock.withPermit(Effect.gen(function* () {
264
+ const readOnly = role !== "coder";
265
+ const key = `${executor.id}\u0000${readOnly ? "ro" : "rw"}\u0000${workDir}`;
266
+ const cached = seatCache.get(key);
267
+ if (cached !== undefined) {
268
+ return cached;
269
+ }
270
+ const configuration = executorConfig(executor, readOnly, runEnvironment);
271
+ if (configuration === undefined) {
272
+ return yield* RosterInvalid.make({
273
+ violations: [`executor '${executor.id}' has an unknown harness '${executor.harness}'`]
274
+ });
275
+ }
276
+ const seat = yield* resolveSeat(prepareConnector(bridged(configuration), workDir, runEnvironment)).pipe(ScopeModule.provide(runScope));
277
+ seatCache.set(key, seat);
278
+ return seat;
279
+ }));
280
+ const source = { seatFor };
281
+ yield* probeExecutors(roster, seatFor, options.workDir);
282
+ const judgmentConfig = options.judgment ??
283
+ document.executors
284
+ .filter((spec) => rolesOf(spec).includes("judge"))
285
+ .flatMap((spec) => {
286
+ const configuration = executorConfig(spec, true, runEnvironment);
287
+ return configuration === undefined ? [] : [configuration];
288
+ })[0] ??
289
+ reasoning;
290
+ const coderCapabilities = (workDir, held) => Effect.gen(function* () {
291
+ const current = yield* held.lease;
292
+ const first = current ??
293
+ [...document.executors]
294
+ .filter((spec) => rolesOf(spec).includes("coder"))
295
+ .sort((left, right) => priorityOf(left, "coder") - priorityOf(right, "coder"))[0];
296
+ if (first === undefined) {
297
+ return ConnectorCapabilitiesClass.make({});
298
+ }
299
+ return yield* Effect.map(Effect.result(seatFor(first, "coder", workDir)), (result) => result._tag === "Success"
300
+ ? result.success.capabilities
301
+ : ConnectorCapabilitiesClass.make({}));
302
+ });
303
+ const viewFor = (held, workDir, label) => ({
304
+ forRole: (role) => rosterSeat(roster, source, role, workDir, {
305
+ events,
306
+ avoid: Effect.map(held.executor, (id) => (id === undefined ? [] : [id])),
307
+ borrow: held.lease,
308
+ label
309
+ }),
310
+ available: roster.available,
311
+ slots: roster.slots,
312
+ executor: held.executor,
313
+ history: held.history
314
+ });
315
+ const contextIn = (workDir, held, label, rebind) => Effect.gen(function* () {
316
+ const view = viewFor(held, workDir, label);
317
+ const judgmentSeat = options.judgment === undefined
318
+ ? view.forRole("judge")
319
+ : yield* resolveSeat(prepareConnector(bridged(options.judgment), workDir, runEnvironment)).pipe(ScopeModule.provide(runScope));
320
+ const judgment = yield* judgmentFor(judgmentSeat, judgmentConfig, runEnvironment);
321
+ return FlowContext.of({
322
+ reasoning: view.forRole(rebind ? "planner" : "reviewer"),
323
+ coder: held.service,
324
+ judgment,
325
+ git: makeGitTool(dependencies.process, workDir, events),
326
+ hosting: makeGitHubTool(dependencies.process, workDir, events),
327
+ events,
328
+ reviewers: [view.forRole("reviewer")],
329
+ coderCapabilities: yield* coderCapabilities(workDir, held),
330
+ userPrompt: options.userPrompt,
331
+ workDir,
332
+ workspace: options.workspace,
333
+ roster: view,
334
+ ...(rebind
335
+ ? {
336
+ contextFor: (directory, contextOptions) => Effect.gen(function* () {
337
+ const label = contextOptions?.label ?? directory;
338
+ const storyCoder = yield* makeHeldCoder(roster, source, directory, {
339
+ events,
340
+ eager: true,
341
+ label,
342
+ ...(contextOptions?.prefer === undefined
343
+ ? {}
344
+ : { prefer: contextOptions.prefer })
345
+ });
346
+ return yield* contextIn(directory, storyCoder, label, false);
347
+ })
348
+ }
349
+ : {})
350
+ });
351
+ });
352
+ const rootCoder = yield* makeHeldCoder(roster, source, options.workDir, {
353
+ events,
354
+ eager: false,
355
+ label: "the run"
356
+ });
357
+ return yield* contextIn(options.workDir, rootCoder, "the run", true);
358
+ });
359
+ const rosterDocument = options.roster === "none"
360
+ ? undefined
361
+ : (options.roster ??
362
+ (yield* loadRosterDocument({
363
+ files: dependencies.files,
364
+ environment: runEnvironment,
365
+ workDir: options.workDir
366
+ })));
367
+ if (rosterDocument !== undefined) {
368
+ const context = yield* rosterContext(rosterDocument);
369
+ return {
370
+ events,
371
+ tracker,
372
+ runId,
373
+ roster: rosterDocument,
374
+ ...(judgmentLog === undefined ? {} : { judgmentLog }),
375
+ context
376
+ };
377
+ }
207
378
  const seats = yield* seatsFor(options.workDir);
208
379
  return {
209
380
  events,
@@ -213,6 +384,8 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
213
384
  context: contextAt(options.workDir, seats, true)
214
385
  };
215
386
  });
387
+ /** `claude (coder·reviewer·judge ×3)` — how the run header names an executor. */
388
+ const describeExecutor = (spec) => `${spec.id} (${rolesOf(spec).join("·")} ×${spec.slots ?? 1})`;
216
389
  export const runWithBundle = Effect.fn("@llm4ts/runner/FlowRunner.runWithBundle")(function* (bundle, options, body, dependencies = nodeFlowRunnerDependencies()) {
217
390
  const startedAt = yield* Clock.currentTimeMillis;
218
391
  const environment = options.environment ?? process.env;
@@ -230,11 +403,15 @@ export const runWithBundle = Effect.fn("@llm4ts/runner/FlowRunner.runWithBundle"
230
403
  });
231
404
  if (verbosity !== "Quiet") {
232
405
  const reviewers = options.reviewers ?? [];
233
- const seats = [
234
- `coder ${describeSeat(options.coder)}`,
235
- `reasoning ${describeSeat(defaultReasoningConfig(options.coder, options.reasoning))}`,
236
- ...(reviewers.length === 0 ? [] : [`reviewers ${reviewers.map(describeSeat).join(", ")}`])
237
- ].join(" · ");
406
+ const seats = bundle.roster === undefined
407
+ ? [
408
+ `coder ${describeSeat(options.coder)}`,
409
+ `reasoning ${describeSeat(defaultReasoningConfig(options.coder, options.reasoning))}`,
410
+ ...(reviewers.length === 0
411
+ ? []
412
+ : [`reviewers ${reviewers.map(describeSeat).join(", ")}`])
413
+ ].join(" · ")
414
+ : `executors ${bundle.roster.executors.map(describeExecutor).join(", ")} (roster in force: the flow's own seat choices are not used)`;
238
415
  yield* surface.log(palette.info(`${seats} · ${options.workDir}`));
239
416
  if (tracePath !== undefined) {
240
417
  yield* surface.log(palette.info(`trace ${tracePath}${options.runId === undefined ? "" : ` · run ${options.runId}`}`));
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@llm4ts/runner",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "description": "Node runner, CLI, terminal, and MCP composition for llm4ts",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,6 +19,7 @@
19
19
  "./Connectors": "./dist/Connectors.js",
20
20
  "./Costs": "./dist/Costs.js",
21
21
  "./Doctor": "./dist/Doctor.js",
22
+ "./ExecutorRoster": "./dist/ExecutorRoster.js",
22
23
  "./FlowArgs": "./dist/FlowArgs.js",
23
24
  "./FlowRunner": "./dist/FlowRunner.js",
24
25
  "./Kits": "./dist/Kits.js",
@@ -62,8 +63,8 @@
62
63
  "typescript"
63
64
  ],
64
65
  "dependencies": {
65
- "@llm4ts/core": "2.8.0",
66
- "@llm4ts/flow": "2.8.0"
66
+ "@llm4ts/core": "2.9.0",
67
+ "@llm4ts/flow": "2.9.0"
67
68
  },
68
69
  "peerDependencies": {
69
70
  "effect": "4.0.0-rc.115"
package/src/Connectors.ts CHANGED
@@ -171,36 +171,39 @@ export const prepareConnector = (
171
171
  ? enrichApiConnector(config, environment)
172
172
  : CliConnectorConfig.make({ ...config, workingDir: workDir })
173
173
 
174
+ /** The API provider a name stands for (`LLM4TS_PROVIDER`, a roster executor's `harness`). */
175
+ export const apiPresetFor = (name: string): ApiConnectorConfig | undefined => {
176
+ switch (name.trim().toLowerCase()) {
177
+ case "mock":
178
+ return mock
179
+ case "openai":
180
+ return openAI
181
+ case "anthropic":
182
+ return anthropic
183
+ case "gemini":
184
+ case "gemini-api":
185
+ return geminiApi
186
+ case "lm-studio":
187
+ case "lmstudio":
188
+ return lmStudio
189
+ case "ollama":
190
+ return ollama
191
+ case "mlx-lm":
192
+ case "mlxlm":
193
+ case "mlx":
194
+ return mlxLm
195
+ default:
196
+ return undefined
197
+ }
198
+ }
199
+
174
200
  export const apiConnectorFromEnvironment = Effect.fn(
175
201
  "@llm4ts/runner/Connectors.apiConnectorFromEnvironment"
176
202
  )(function* (
177
203
  environment: Readonly<Record<string, string | undefined>> = process.env
178
204
  ): Effect.fn.Return<ApiConnectorConfig, ScriptUsage> {
179
205
  const provider = environment.LLM4TS_PROVIDER?.trim().toLowerCase() ?? "mock"
180
- const preset = (() => {
181
- switch (provider) {
182
- case "mock":
183
- return mock
184
- case "openai":
185
- return openAI
186
- case "anthropic":
187
- return anthropic
188
- case "gemini":
189
- case "gemini-api":
190
- return geminiApi
191
- case "lm-studio":
192
- case "lmstudio":
193
- return lmStudio
194
- case "ollama":
195
- return ollama
196
- case "mlx-lm":
197
- case "mlxlm":
198
- case "mlx":
199
- return mlxLm
200
- default:
201
- return undefined
202
- }
203
- })()
206
+ const preset = apiPresetFor(provider)
204
207
  if (preset === undefined) {
205
208
  return yield* ScriptUsage.make({
206
209
  message: