@llm4ts/runner 0.15.1 → 0.16.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.
@@ -52,9 +52,9 @@ export interface FlowRunnerBundle {
52
52
  /** The run's cost tracker, already subscribed to `events`. */
53
53
  readonly tracker: CostTracker;
54
54
  }
55
- export declare const makeFlowRunnerContext: (options: FlowRunnerOptions, dependencies: FlowRunnerDependencies) => Effect.Effect<FlowRunnerBundle, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded, Scope.Scope>;
56
- export declare const runWithBundle: <A, E, R>(bundle: FlowRunnerBundle, options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>, dependencies?: FlowRunnerDependencies | undefined) => Effect.Effect<A, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded | E, Scope.Scope | R>;
57
- export declare const runEmbedded: <A, E, R>(options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>, dependencies?: FlowRunnerDependencies | undefined) => Effect.Effect<A, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded | E, Scope.Scope | R>;
55
+ export declare const makeFlowRunnerContext: (options: FlowRunnerOptions, dependencies: FlowRunnerDependencies) => Effect.Effect<FlowRunnerBundle, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded | import("@llm4ts/flow/FlowError").StoryPlanInvalid | import("@llm4ts/flow/FlowError").PerimeterViolation | import("@llm4ts/flow/FlowError").MissingDependency | import("@llm4ts/flow/FlowError").MergeConflict | import("@llm4ts/flow/FlowError").StoryFailed, Scope.Scope>;
56
+ export declare const runWithBundle: <A, E, R>(bundle: FlowRunnerBundle, options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>, dependencies?: FlowRunnerDependencies | undefined) => Effect.Effect<A, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded | import("@llm4ts/flow/FlowError").StoryPlanInvalid | import("@llm4ts/flow/FlowError").PerimeterViolation | import("@llm4ts/flow/FlowError").MissingDependency | import("@llm4ts/flow/FlowError").MergeConflict | import("@llm4ts/flow/FlowError").StoryFailed | E, Scope.Scope | R>;
57
+ export declare const runEmbedded: <A, E, R>(options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>, dependencies?: FlowRunnerDependencies | undefined) => Effect.Effect<A, import("@llm4ts/flow/FlowError").PersistenceError | import("@llm4ts/flow/FlowError").PlanParseError | import("@llm4ts/flow/FlowError").UnsupportedSchemaVersion | import("@llm4ts/flow/FlowError").WorkspacePathError | import("@llm4ts/flow/FlowError").WorkspaceLimitError | import("@llm4ts/flow/FlowError").WorkspaceIoError | import("@llm4ts/flow/FlowError").FlowAborted | import("@llm4ts/flow/FlowError").ProcessError | FlowLlmError | import("@llm4ts/flow/FlowError").FlowCapabilityDenied | import("@llm4ts/flow/FlowError").ColumnNotFound | import("@llm4ts/flow/FlowError").BudgetExceeded | import("@llm4ts/flow/FlowError").StoryPlanInvalid | import("@llm4ts/flow/FlowError").PerimeterViolation | import("@llm4ts/flow/FlowError").MissingDependency | import("@llm4ts/flow/FlowError").MergeConflict | import("@llm4ts/flow/FlowError").StoryFailed | E, Scope.Scope | R>;
58
58
  export declare const runNode: <A, E, R>(options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>) => Effect.Effect<A, E | FlowError, R>;
59
59
  export declare const runFlowMain: <E>(program: Effect.Effect<void, E>) => void;
60
60
  //# sourceMappingURL=FlowRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowRunner.d.ts","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowRunner.d.ts","sourceRoot":"","sources":["../src/FlowRunner.ts"],"names":[],"mappings":"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"}
@@ -37,9 +37,7 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
37
37
  const events = yield* makeFlowEventHub();
38
38
  const tracker = yield* makeCostTracker();
39
39
  yield* tracker.consume(events);
40
- const coderConfig = prepareConnector(options.coder, options.workDir, options.environment ?? process.env);
41
40
  const reasoning = defaultReasoningConfig(options.coder, options.reasoning);
42
- const reasoningPrepared = prepareConnector(reasoning, options.workDir, options.environment ?? process.env);
43
41
  // Every seat retries transient provider failures and flaky streams (an
44
42
  // empty response or malformed tool call), announcing each attempt on the
45
43
  // run's events. Without the wrapper one hiccup from a CLI agent failed the
@@ -59,24 +57,37 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
59
57
  // The spread keeps everything the connector carries beyond the service
60
58
  // methods — notably `capabilities`, which the flow context exposes.
61
59
  const resolveSeat = (configuration) => dependencies.registry.resolve(configuration).pipe(Effect.mapError(FlowLlmError.from), Effect.flatMap((connector) => announceReadOnlyGrade(configuration, connector).pipe(Effect.andThen(Effect.map(resilient(connector), (retrying) => ({ ...connector, ...retrying }))))));
62
- const coder = yield* resolveSeat(coderConfig);
63
- const reasoningService = yield* resolveSeat(reasoningPrepared);
64
- const reviewers = yield* Effect.forEach(options.reviewers ?? [], (configuration) => resolveSeat(prepareConnector(configuration, options.workDir, options.environment ?? process.env)));
60
+ const seatsFor = Effect.fn("@llm4ts/runner/FlowRunner.seatsFor")(function* (workDir) {
61
+ const environment = options.environment ?? process.env;
62
+ const coder = yield* resolveSeat(prepareConnector(options.coder, workDir, environment));
63
+ const reasoningService = yield* resolveSeat(prepareConnector(reasoning, workDir, environment));
64
+ const reviewers = yield* Effect.forEach(options.reviewers ?? [], (configuration) => resolveSeat(prepareConnector(configuration, workDir, environment)));
65
+ return { coder, reasoning: reasoningService, reviewers };
66
+ });
67
+ const contextAt = (workDir, seats, rebind) => FlowContext.of({
68
+ reasoning: seats.reasoning,
69
+ coder: seats.coder,
70
+ git: makeGitTool(dependencies.process, workDir, events),
71
+ hosting: makeGitHubTool(dependencies.process, workDir, events),
72
+ events,
73
+ reviewers: seats.reviewers,
74
+ coderCapabilities: seats.coder.capabilities,
75
+ userPrompt: options.userPrompt,
76
+ workDir,
77
+ workspace: options.workspace,
78
+ // Rebinding is one level deep: a story worktree's context has no
79
+ // `contextFor` of its own — nothing in the design nests worktrees.
80
+ ...(rebind
81
+ ? {
82
+ contextFor: (directory) => Effect.map(seatsFor(directory), (rebound) => contextAt(directory, rebound, false))
83
+ }
84
+ : {})
85
+ });
86
+ const seats = yield* seatsFor(options.workDir);
65
87
  return {
66
88
  events,
67
89
  tracker,
68
- context: FlowContext.of({
69
- reasoning: reasoningService,
70
- coder,
71
- git: makeGitTool(dependencies.process, options.workDir, events),
72
- hosting: makeGitHubTool(dependencies.process, options.workDir, events),
73
- events,
74
- reviewers,
75
- coderCapabilities: coder.capabilities,
76
- userPrompt: options.userPrompt,
77
- workDir: options.workDir,
78
- workspace: options.workspace
79
- })
90
+ context: contextAt(options.workDir, seats, true)
80
91
  };
81
92
  });
82
93
  export const runWithBundle = Effect.fn("@llm4ts/runner/FlowRunner.runWithBundle")(function* (bundle, options, body, dependencies = nodeFlowRunnerDependencies()) {
@@ -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": "0.15.1",
3
+ "version": "0.16.0",
4
4
  "description": "Node runner, CLI, terminal, and MCP composition for llm4ts",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -57,8 +57,8 @@
57
57
  "typescript"
58
58
  ],
59
59
  "dependencies": {
60
- "@llm4ts/flow": "0.15.1",
61
- "@llm4ts/core": "0.15.1"
60
+ "@llm4ts/core": "0.16.0",
61
+ "@llm4ts/flow": "0.16.0"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "effect": "4.0.0-beta.102"
package/src/FlowRunner.ts CHANGED
@@ -6,6 +6,7 @@ import { CliConnectorConfig, defaultReasoningConfig } from "@llm4ts/core/Connect
6
6
  import type { ConnectorRegistryShape } from "@llm4ts/core/ConnectorRegistry"
7
7
  import type { HttpClientShape } from "@llm4ts/core/HttpClient"
8
8
  import type { LlmServiceShape } from "@llm4ts/core/LlmService"
9
+ import type { ConnectorCapabilities } from "@llm4ts/core/Models"
9
10
  import type { ProcessExecutorShape } from "@llm4ts/core/ProcessExecutor"
10
11
  import type { TemporaryFilesShape } from "@llm4ts/core/TemporaryFiles"
11
12
  import type { GeminiCliExecutorShape } from "@llm4ts/core/providers/GeminiCliProvider"
@@ -105,17 +106,7 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
105
106
  const events = yield* makeFlowEventHub()
106
107
  const tracker = yield* makeCostTracker()
107
108
  yield* tracker.consume(events)
108
- const coderConfig = prepareConnector(
109
- options.coder,
110
- options.workDir,
111
- options.environment ?? process.env
112
- )
113
109
  const reasoning = defaultReasoningConfig(options.coder, options.reasoning)
114
- const reasoningPrepared = prepareConnector(
115
- reasoning,
116
- options.workDir,
117
- options.environment ?? process.env
118
- )
119
110
  // Every seat retries transient provider failures and flaky streams (an
120
111
  // empty response or malformed tool call), announcing each attempt on the
121
112
  // run's events. Without the wrapper one hiccup from a CLI agent failed the
@@ -154,28 +145,59 @@ export const makeFlowRunnerContext = Effect.fn("@llm4ts/runner/FlowRunner.makeCo
154
145
  )
155
146
  )
156
147
  )
157
- const coder = yield* resolveSeat(coderConfig)
158
- const reasoningService = yield* resolveSeat(reasoningPrepared)
159
- const reviewers = yield* Effect.forEach(options.reviewers ?? [], (configuration) =>
160
- resolveSeat(
161
- prepareConnector(configuration, options.workDir, options.environment ?? process.env)
148
+ const seatsFor = Effect.fn("@llm4ts/runner/FlowRunner.seatsFor")(function* (
149
+ workDir: string
150
+ ): Effect.fn.Return<
151
+ {
152
+ readonly coder: LlmServiceShape & { readonly capabilities: ConnectorCapabilities }
153
+ readonly reasoning: LlmServiceShape
154
+ readonly reviewers: ReadonlyArray<LlmServiceShape>
155
+ },
156
+ FlowError,
157
+ Scope.Scope
158
+ > {
159
+ const environment = options.environment ?? process.env
160
+ const coder = yield* resolveSeat(prepareConnector(options.coder, workDir, environment))
161
+ const reasoningService = yield* resolveSeat(prepareConnector(reasoning, workDir, environment))
162
+ const reviewers = yield* Effect.forEach(options.reviewers ?? [], (configuration) =>
163
+ resolveSeat(prepareConnector(configuration, workDir, environment))
162
164
  )
163
- )
164
- return {
165
- events,
166
- tracker,
167
- context: FlowContext.of({
168
- reasoning: reasoningService,
169
- coder,
170
- git: makeGitTool(dependencies.process, options.workDir, events),
171
- hosting: makeGitHubTool(dependencies.process, options.workDir, events),
165
+ return { coder, reasoning: reasoningService, reviewers }
166
+ })
167
+ const contextAt = (
168
+ workDir: string,
169
+ seats: {
170
+ readonly coder: LlmServiceShape & { readonly capabilities: ConnectorCapabilities }
171
+ readonly reasoning: LlmServiceShape
172
+ readonly reviewers: ReadonlyArray<LlmServiceShape>
173
+ },
174
+ rebind: boolean
175
+ ): FlowContextShape =>
176
+ FlowContext.of({
177
+ reasoning: seats.reasoning,
178
+ coder: seats.coder,
179
+ git: makeGitTool(dependencies.process, workDir, events),
180
+ hosting: makeGitHubTool(dependencies.process, workDir, events),
172
181
  events,
173
- reviewers,
174
- coderCapabilities: coder.capabilities,
182
+ reviewers: seats.reviewers,
183
+ coderCapabilities: seats.coder.capabilities,
175
184
  userPrompt: options.userPrompt,
176
- workDir: options.workDir,
177
- workspace: options.workspace
185
+ workDir,
186
+ workspace: options.workspace,
187
+ // Rebinding is one level deep: a story worktree's context has no
188
+ // `contextFor` of its own — nothing in the design nests worktrees.
189
+ ...(rebind
190
+ ? {
191
+ contextFor: (directory: string) =>
192
+ Effect.map(seatsFor(directory), (rebound) => contextAt(directory, rebound, false))
193
+ }
194
+ : {})
178
195
  })
196
+ const seats = yield* seatsFor(options.workDir)
197
+ return {
198
+ events,
199
+ tracker,
200
+ context: contextAt(options.workDir, seats, true)
179
201
  }
180
202
  })
181
203