@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.
@@ -25,6 +25,8 @@ export declare const asToolless: (config: CliConnectorConfig) => CliConnectorCon
25
25
  export declare const withTimeoutSeconds: (config: ApiConnectorConfig, seconds: number) => ApiConnectorConfig;
26
26
  export declare const enrichApiConnector: (config: ApiConnectorConfig, environment?: Readonly<Record<string, string | undefined>>) => ApiConnectorConfig;
27
27
  export declare const prepareConnector: (config: ConnectorConfig, workDir: string, environment?: Readonly<Record<string, string | undefined>>) => ConnectorConfig;
28
+ /** The API provider a name stands for (`LLM4TS_PROVIDER`, a roster executor's `harness`). */
29
+ export declare const apiPresetFor: (name: string) => ApiConnectorConfig | undefined;
28
30
  export declare const apiConnectorFromEnvironment: (environment?: Readonly<Record<string, string | undefined>> | undefined) => Effect.Effect<ApiConnectorConfig, ScriptUsage, never>;
29
31
  export declare const coderIds: ReadonlyArray<string>;
30
32
  export declare const coderFor: (name: string) => CliConnectorConfig | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Connectors.d.ts","sourceRoot":"","sources":["../src/Connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,MAAM,oBAKjB,CAAA;AAEF,eAAO,MAAM,KAAK,oBAKhB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,EAAE,oBAEb,CAAA;AAEF,eAAO,MAAM,WAAW,oBAKtB,CAAA;AAEF,eAAO,MAAM,IAAI,oBAEf,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,QAAQ,oBAEnB,CAAA;AAEF,eAAO,MAAM,QAAQ,oBAGnB,CAAA;AAEF,eAAO,MAAM,KAAK,oBAGhB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,SAAS,oBAEpB,CAAA;AAEF,eAAO,MAAM,SAAS,oBAEpB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,IAAI,oBAGf,CAAA;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;AACxF,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;AAUxF,eAAO,MAAM,aAAa,GAAI,QAAQ,kBAAkB,EAAE,WAAW,MAAM,KAAG,kBAI1E,CAAA;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC5C,kBAOC,CAAA;AAEJ,eAAO,MAAM,UAAU,GAAI,QAAQ,kBAAkB,KAAG,kBACA,CAAA;AAMxD,eAAO,MAAM,UAAU,GAAI,QAAQ,kBAAkB,KAAG,kBACe,CAAA;AAEvE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,kBAAkB,EAC1B,SAAS,MAAM,KACd,kBAIC,CAAA;AAkBJ,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,kBAAkB,EAC1B,cAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KACtE,kBAYF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,eAAe,EACvB,SAAS,MAAM,EACf,cAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KACtE,eAG8D,CAAA;AAEjE,eAAO,MAAM,2BAA2B,mIA4CtC,CAAA;AAwBF,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,MAAM,CAA4C,CAAA;AAEvF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,kBAAkB,GAAG,SACtB,CAAA;AAKvC,eAAO,MAAM,YAAY,GACvB,MAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KAC9D,kBAGF,CAAA;AAKD,eAAO,MAAM,oBAAoB,mIAehC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,+IAc3C,CAAA"}
1
+ {"version":3,"file":"Connectors.d.ts","sourceRoot":"","sources":["../src/Connectors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,MAAM,oBAKjB,CAAA;AAEF,eAAO,MAAM,KAAK,oBAKhB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,EAAE,oBAEb,CAAA;AAEF,eAAO,MAAM,WAAW,oBAKtB,CAAA;AAEF,eAAO,MAAM,IAAI,oBAEf,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,QAAQ,oBAEnB,CAAA;AAEF,eAAO,MAAM,QAAQ,oBAGnB,CAAA;AAEF,eAAO,MAAM,KAAK,oBAGhB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,SAAS,oBAEpB,CAAA;AAEF,eAAO,MAAM,SAAS,oBAEpB,CAAA;AAEF,eAAO,MAAM,MAAM,oBAEjB,CAAA;AAEF,eAAO,MAAM,IAAI,oBAGf,CAAA;AAEF,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;AACxF,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;AAUxF,eAAO,MAAM,aAAa,GAAI,QAAQ,kBAAkB,EAAE,WAAW,MAAM,KAAG,kBAI1E,CAAA;AAEJ,eAAO,MAAM,eAAe,GAC1B,QAAQ,kBAAkB,EAC1B,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAC5C,kBAOC,CAAA;AAEJ,eAAO,MAAM,UAAU,GAAI,QAAQ,kBAAkB,KAAG,kBACA,CAAA;AAMxD,eAAO,MAAM,UAAU,GAAI,QAAQ,kBAAkB,KAAG,kBACe,CAAA;AAEvE,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,kBAAkB,EAC1B,SAAS,MAAM,KACd,kBAIC,CAAA;AAkBJ,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,kBAAkB,EAC1B,cAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KACtE,kBAYF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,eAAe,EACvB,SAAS,MAAM,EACf,cAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KACtE,eAG8D,CAAA;AAEjE,6FAA6F;AAC7F,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,kBAAkB,GAAG,SAuBhE,CAAA;AAED,eAAO,MAAM,2BAA2B,mIAqBtC,CAAA;AAwBF,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,MAAM,CAA4C,CAAA;AAEvF,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,KAAG,kBAAkB,GAAG,SACtB,CAAA;AAKvC,eAAO,MAAM,YAAY,GACvB,MAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAe,KAC9D,kBAGF,CAAA;AAKD,eAAO,MAAM,oBAAoB,mIAehC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,+IAc3C,CAAA"}
@@ -115,32 +115,34 @@ export const enrichApiConnector = (config, environment = process.env) => {
115
115
  export const prepareConnector = (config, workDir, environment = process.env) => config instanceof ApiConnectorConfig
116
116
  ? enrichApiConnector(config, environment)
117
117
  : CliConnectorConfig.make({ ...config, workingDir: workDir });
118
+ /** The API provider a name stands for (`LLM4TS_PROVIDER`, a roster executor's `harness`). */
119
+ export const apiPresetFor = (name) => {
120
+ switch (name.trim().toLowerCase()) {
121
+ case "mock":
122
+ return mock;
123
+ case "openai":
124
+ return openAI;
125
+ case "anthropic":
126
+ return anthropic;
127
+ case "gemini":
128
+ case "gemini-api":
129
+ return geminiApi;
130
+ case "lm-studio":
131
+ case "lmstudio":
132
+ return lmStudio;
133
+ case "ollama":
134
+ return ollama;
135
+ case "mlx-lm":
136
+ case "mlxlm":
137
+ case "mlx":
138
+ return mlxLm;
139
+ default:
140
+ return undefined;
141
+ }
142
+ };
118
143
  export const apiConnectorFromEnvironment = Effect.fn("@llm4ts/runner/Connectors.apiConnectorFromEnvironment")(function* (environment = process.env) {
119
144
  const provider = environment.LLM4TS_PROVIDER?.trim().toLowerCase() ?? "mock";
120
- const preset = (() => {
121
- switch (provider) {
122
- case "mock":
123
- return mock;
124
- case "openai":
125
- return openAI;
126
- case "anthropic":
127
- return anthropic;
128
- case "gemini":
129
- case "gemini-api":
130
- return geminiApi;
131
- case "lm-studio":
132
- case "lmstudio":
133
- return lmStudio;
134
- case "ollama":
135
- return ollama;
136
- case "mlx-lm":
137
- case "mlxlm":
138
- case "mlx":
139
- return mlxLm;
140
- default:
141
- return undefined;
142
- }
143
- })();
145
+ const preset = apiPresetFor(provider);
144
146
  if (preset === undefined) {
145
147
  return yield* ScriptUsage.make({
146
148
  message: `unknown LLM4TS_PROVIDER '${provider}'; expected ` +
@@ -1 +1 @@
1
- {"version":3,"file":"Connectors.js","sourceRoot":"","sources":["../src/Connectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Connectors.js","sourceRoot":"","sources":["../src/Connectors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { type ConnectorConfig } from "@llm4ts/core/ConnectorConfig";
3
+ import { RosterInvalid } from "@llm4ts/flow/FlowError";
4
+ import type { PlainFileStoreShape } from "@llm4ts/flow/Persistence";
5
+ import { Exclusion, RosterDocument, type ExecutorSpec } from "@llm4ts/flow/Roster";
6
+ type Environment = Readonly<Record<string, string | undefined>>;
7
+ /** `${XDG_CONFIG_HOME:-~/.config}/llm4ts/roster.json`. */
8
+ export declare const userRosterPath: (environment: Environment) => string;
9
+ /** `<repo>/.llm4ts/roster.json`: overrides the user's entries by id. */
10
+ export declare const repoRosterPath: (workDir: string) => string;
11
+ /** `${XDG_STATE_HOME:-~/.local/state}/llm4ts/roster-state.json`: exclusions that outlive a run. */
12
+ export declare const rosterStatePath: (environment: Environment) => string;
13
+ /** `${VAR}` references resolved from the environment; the names of missing ones. */
14
+ export declare const substituteEnvironment: (values: Readonly<Record<string, string>>, environment: Environment) => {
15
+ readonly values: Readonly<Record<string, string>>;
16
+ readonly missing: ReadonlyArray<string>;
17
+ };
18
+ /** Whether a harness name is an API provider (reasoning roles only). */
19
+ export declare const isApiHarness: (harness: string) => boolean;
20
+ /**
21
+ * The connector config an executor runs with: its harness preset, model,
22
+ * flags, endpoint and environment, read-only for a reasoning role.
23
+ */
24
+ export declare const executorConfig: (spec: ExecutorSpec, readOnly: boolean, environment: Environment) => ConnectorConfig | undefined;
25
+ /** The flow-level violations plus what needs the harness table and the environment. */
26
+ export declare const rosterLoadViolations: (document: RosterDocument, environment: Environment) => ReadonlyArray<string>;
27
+ export interface RosterSource {
28
+ readonly files: PlainFileStoreShape;
29
+ readonly environment: Environment;
30
+ readonly workDir: string;
31
+ }
32
+ /**
33
+ * The roster in force for a run, or `undefined` for today's one executor per
34
+ * seat: `LLM4TS_ROSTER=none` ignores rosters, `LLM4TS_ROSTER=<path>` uses that
35
+ * file alone, otherwise the user's file with the repository's over it.
36
+ * `LLM4TS_EXECUTORS=a,b` narrows the result to those ids.
37
+ */
38
+ export declare const loadRosterDocument: (source: RosterSource) => Effect.Effect<RosterDocument | undefined, 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 | import("@llm4ts/flow/FlowError").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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, never>;
39
+ /** Whether `url` answers 2xx within five seconds: a roster executor's health check. */
40
+ export declare const httpProbe: (url: string) => Effect.Effect<boolean>;
41
+ export interface RosterReport {
42
+ readonly document: RosterDocument | undefined;
43
+ readonly exclusions: ReadonlyArray<Exclusion>;
44
+ readonly statePath: string;
45
+ }
46
+ /** The roster in force here and the exclusions persisted for it. */
47
+ export declare const rosterReport: (source: RosterSource) => Effect.Effect<RosterReport, 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 | import("@llm4ts/flow/FlowError").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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, never>;
48
+ export declare const renderRosterReport: (report: RosterReport) => string;
49
+ /** Takes an executor out of every run's pick-up round, for a while or until resumed. */
50
+ export declare const pauseExecutor: (source: RosterSource, id: string, duration: string | undefined) => Effect.Effect<Exclusion, 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 | import("@llm4ts/flow/FlowError").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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, never>;
51
+ /** Puts an executor back in the round, whatever took it out. */
52
+ export declare const resumeExecutor: (source: RosterSource, id: string) => Effect.Effect<void, 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 | import("@llm4ts/flow/FlowError").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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, never>;
53
+ export {};
54
+ //# sourceMappingURL=ExecutorRoster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutorRoster.d.ts","sourceRoot":"","sources":["../src/ExecutorRoster.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,aAAa,EAAkB,MAAM,wBAAwB,CAAA;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EACL,SAAS,EACT,cAAc,EAWd,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAA;AAG5B,KAAK,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAA;AAI/D,0DAA0D;AAC1D,eAAO,MAAM,cAAc,GAAI,aAAa,WAAW,KAAG,MACwC,CAAA;AAElG,wEAAwE;AACxE,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,MAAiD,CAAA;AAElG,mGAAmG;AACnG,eAAO,MAAM,eAAe,GAAI,aAAa,WAAW,KAAG,MAKxD,CAAA;AAIH,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,GAChC,QAAQ,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACxC,aAAa,WAAW,KACvB;IACD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAexC,CAAA;AAED,wEAAwE;AACxE,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,OACyB,CAAA;AAExE;;;GAGG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,YAAY,EAClB,UAAU,OAAO,EACjB,aAAa,WAAW,KACvB,eAAe,GAAG,SAsBpB,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,GAC/B,UAAU,cAAc,EACxB,aAAa,WAAW,KACvB,aAAa,CAAC,MAAM,CAiBtB,CAAA;AA0BD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,6sCAgD7B,CAAA;AAEF,uFAAuF;AACvF,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAI1D,CAAA;AAIH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAA;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,oEAAoE;AACpE,eAAO,MAAM,YAAY,+rCAOvB,CAAA;AAeF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,YAAY,KAAG,MAmBzD,CAAA;AAED,wFAAwF;AACxF,eAAO,MAAM,aAAa,suCAyBxB,CAAA;AAEF,gEAAgE;AAChE,eAAO,MAAM,cAAc,msCAKzB,CAAA"}
@@ -0,0 +1,206 @@
1
+ // Loading the executor roster (ADR 0019): the user's file, the repository's
2
+ // override, the per-run choice (`LLM4TS_ROSTER`, `LLM4TS_EXECUTORS`), and the
3
+ // mapping from an executor to the connector config the registry resolves.
4
+ // Harness knowledge lives here, beside the connector presets; the roster
5
+ // itself (`@llm4ts/flow/Roster`) knows only ids, roles and slots.
6
+ import { homedir } from "node:os";
7
+ import { join } from "node:path";
8
+ import * as Clock from "effect/Clock";
9
+ import * as Duration from "effect/Duration";
10
+ import * as Effect from "effect/Effect";
11
+ import * as Schema from "effect/Schema";
12
+ import { ApiConnectorConfig, CliConnectorConfig } from "@llm4ts/core/ConnectorConfig";
13
+ import { RosterInvalid } from "@llm4ts/flow/FlowError";
14
+ import { Exclusion, RosterDocument, coderSlotsOf, describeExclusion, hasRole, makeRosterStateStore, mergeRosterDocuments, narrowRoster, parseDuration, rolesOf, rosterViolations, slotsOf } from "@llm4ts/flow/Roster";
15
+ import { apiPresetFor, asReadOnly, coderFor, withEnvironment, withModel } from "./Connectors.js";
16
+ const home = (environment) => environment.HOME ?? homedir();
17
+ /** `${XDG_CONFIG_HOME:-~/.config}/llm4ts/roster.json`. */
18
+ export const userRosterPath = (environment) => join(environment.XDG_CONFIG_HOME ?? join(home(environment), ".config"), "llm4ts", "roster.json");
19
+ /** `<repo>/.llm4ts/roster.json`: overrides the user's entries by id. */
20
+ export const repoRosterPath = (workDir) => join(workDir, ".llm4ts", "roster.json");
21
+ /** `${XDG_STATE_HOME:-~/.local/state}/llm4ts/roster-state.json`: exclusions that outlive a run. */
22
+ export const rosterStatePath = (environment) => join(environment.XDG_STATE_HOME ?? join(home(environment), ".local", "state"), "llm4ts", "roster-state.json");
23
+ const reference = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;
24
+ /** `${VAR}` references resolved from the environment; the names of missing ones. */
25
+ export const substituteEnvironment = (values, environment) => {
26
+ const missing = [];
27
+ const resolved = {};
28
+ for (const [key, value] of Object.entries(values)) {
29
+ resolved[key] = value.replace(reference, (_match, name) => {
30
+ const found = environment[name];
31
+ if (found === undefined) {
32
+ missing.push(name);
33
+ return "";
34
+ }
35
+ return found;
36
+ });
37
+ }
38
+ return { values: resolved, missing: [...new Set(missing)] };
39
+ };
40
+ /** Whether a harness name is an API provider (reasoning roles only). */
41
+ export const isApiHarness = (harness) => coderFor(harness) === undefined && apiPresetFor(harness) !== undefined;
42
+ /**
43
+ * The connector config an executor runs with: its harness preset, model,
44
+ * flags, endpoint and environment, read-only for a reasoning role.
45
+ */
46
+ export const executorConfig = (spec, readOnly, environment) => {
47
+ const cli = coderFor(spec.harness);
48
+ if (cli !== undefined) {
49
+ const modelled = spec.model === undefined ? cli : withModel(cli, spec.model);
50
+ const flagged = spec.flags === undefined
51
+ ? modelled
52
+ : CliConnectorConfig.make({ ...modelled, flags: { ...modelled.flags, ...spec.flags } });
53
+ const withEnv = spec.env === undefined
54
+ ? flagged
55
+ : withEnvironment(flagged, substituteEnvironment(spec.env, environment).values);
56
+ return readOnly ? asReadOnly(withEnv) : withEnv;
57
+ }
58
+ const api = apiPresetFor(spec.harness);
59
+ if (api === undefined) {
60
+ return undefined;
61
+ }
62
+ const modelled = spec.model === undefined ? api : withModel(api, spec.model);
63
+ return spec.baseUrl === undefined
64
+ ? modelled
65
+ : ApiConnectorConfig.make({ ...modelled, baseUrl: spec.baseUrl });
66
+ };
67
+ /** The flow-level violations plus what needs the harness table and the environment. */
68
+ export const rosterLoadViolations = (document, environment) => {
69
+ const violations = [...rosterViolations(document)];
70
+ for (const spec of document.executors) {
71
+ const where = `executor '${spec.id}'`;
72
+ if (coderFor(spec.harness) === undefined && apiPresetFor(spec.harness) === undefined) {
73
+ violations.push(`${where} has an unknown harness '${spec.harness}'`);
74
+ }
75
+ else if (isApiHarness(spec.harness) && hasRole(spec, "coder")) {
76
+ violations.push(`${where} is an API provider ('${spec.harness}'): it may reason, but coding needs a CLI harness`);
77
+ }
78
+ const missing = substituteEnvironment(spec.env ?? {}, environment).missing;
79
+ if (missing.length > 0) {
80
+ violations.push(`${where} references unset variable(s) ${missing.join(", ")}`);
81
+ }
82
+ }
83
+ return violations;
84
+ };
85
+ const parseRoster = (path, text) => Effect.try({
86
+ try: () => JSON.parse(text),
87
+ catch: (error) => RosterInvalid.make({
88
+ path,
89
+ violations: [`not JSON: ${error instanceof Error ? error.message : String(error)}`]
90
+ })
91
+ }).pipe(Effect.flatMap((json) => Schema.decodeUnknownEffect(RosterDocument)(json).pipe(Effect.mapError((error) => RosterInvalid.make({ path, violations: [error.message] })))));
92
+ const readRoster = (files, path) => Effect.flatMap(files.read(path), (text) => text === undefined ? Effect.succeed(undefined) : parseRoster(path, text));
93
+ /**
94
+ * The roster in force for a run, or `undefined` for today's one executor per
95
+ * seat: `LLM4TS_ROSTER=none` ignores rosters, `LLM4TS_ROSTER=<path>` uses that
96
+ * file alone, otherwise the user's file with the repository's over it.
97
+ * `LLM4TS_EXECUTORS=a,b` narrows the result to those ids.
98
+ */
99
+ export const loadRosterDocument = Effect.fn("@llm4ts/runner/ExecutorRoster.load")(function* (source) {
100
+ const chosen = source.environment.LLM4TS_ROSTER?.trim();
101
+ if (chosen === "none") {
102
+ return undefined;
103
+ }
104
+ const loaded = yield* chosen !== undefined && chosen.length > 0
105
+ ? Effect.flatMap(readRoster(source.files, chosen), (document) => document === undefined
106
+ ? Effect.fail(RosterInvalid.make({ path: chosen, violations: ["no roster file there"] }))
107
+ : Effect.succeed({ document, where: chosen }))
108
+ : Effect.gen(function* () {
109
+ const user = userRosterPath(source.environment);
110
+ const repo = repoRosterPath(source.workDir);
111
+ const userDocument = yield* readRoster(source.files, user);
112
+ const repoDocument = yield* readRoster(source.files, repo);
113
+ if (userDocument === undefined && repoDocument === undefined) {
114
+ return undefined;
115
+ }
116
+ const where = [
117
+ userDocument === undefined ? undefined : user,
118
+ repoDocument === undefined ? undefined : repo
119
+ ]
120
+ .filter((path) => path !== undefined)
121
+ .join(" + ");
122
+ return { document: mergeRosterDocuments(userDocument, repoDocument), where };
123
+ });
124
+ if (loaded === undefined) {
125
+ return undefined;
126
+ }
127
+ const { document, where } = loaded;
128
+ const ids = (source.environment.LLM4TS_EXECUTORS ?? "")
129
+ .split(",")
130
+ .map((id) => id.trim())
131
+ .filter((id) => id.length > 0);
132
+ const unknown = ids.filter((id) => !document.executors.some((spec) => spec.id === id));
133
+ const narrowed = narrowRoster(document, ids);
134
+ const violations = [
135
+ ...rosterLoadViolations(narrowed, source.environment),
136
+ ...unknown.map((id) => `LLM4TS_EXECUTORS names '${id}', which the roster does not have`),
137
+ ...(narrowed.executors.length === 0 ? ["no executor left to run with"] : [])
138
+ ];
139
+ if (violations.length > 0) {
140
+ return yield* RosterInvalid.make({ path: where, violations });
141
+ }
142
+ return narrowed;
143
+ });
144
+ /** Whether `url` answers 2xx within five seconds: a roster executor's health check. */
145
+ export const httpProbe = (url) => Effect.tryPromise(() => fetch(url, { signal: AbortSignal.timeout(5_000) })).pipe(Effect.map((response) => response.ok), Effect.catch(() => Effect.succeed(false)));
146
+ /** The roster in force here and the exclusions persisted for it. */
147
+ export const rosterReport = Effect.fn("@llm4ts/runner/ExecutorRoster.report")(function* (source) {
148
+ const document = yield* loadRosterDocument(source);
149
+ const statePath = rosterStatePath(source.environment);
150
+ const exclusions = yield* makeRosterStateStore(source.files, statePath).load;
151
+ return { document, exclusions, statePath };
152
+ });
153
+ const priorityText = (spec) => {
154
+ const priority = spec.priority;
155
+ if (priority === undefined) {
156
+ return "priority 1";
157
+ }
158
+ if (typeof priority === "number") {
159
+ return `priority ${priority}`;
160
+ }
161
+ return `priority ${Object.entries(priority)
162
+ .map(([role, value]) => `${role} ${value}`)
163
+ .join(", ")}`;
164
+ };
165
+ export const renderRosterReport = (report) => {
166
+ if (report.document === undefined) {
167
+ return [
168
+ "no roster: every run uses one executor per seat (LLM4TS_CODER and the flow's defaults).",
169
+ "Write ~/.config/llm4ts/roster.json (or <repo>/.llm4ts/roster.json) to pool executors."
170
+ ].join("\n");
171
+ }
172
+ const lines = [`executors (${report.document.executors.length}):`];
173
+ for (const spec of report.document.executors) {
174
+ const exclusion = report.exclusions.find((candidate) => candidate.id === spec.id);
175
+ const slots = slotsOf(spec);
176
+ const coders = hasRole(spec, "coder") ? `, ${coderSlotsOf(spec)} for coding` : "";
177
+ lines.push(`- ${spec.id}: ${spec.harness}${spec.model === undefined ? "" : ` ${spec.model}`} · ${rolesOf(spec).join(", ")} · ${slots} slot(s)${coders} · ${priorityText(spec)}`, ` ${exclusion === undefined ? "in the round" : `out ${describeExclusion(exclusion)}`}`);
178
+ }
179
+ lines.push(`state: ${report.statePath}`);
180
+ return lines.join("\n");
181
+ };
182
+ /** Takes an executor out of every run's pick-up round, for a while or until resumed. */
183
+ export const pauseExecutor = Effect.fn("@llm4ts/runner/ExecutorRoster.pause")(function* (source, id, duration) {
184
+ const document = yield* loadRosterDocument(source);
185
+ if (document === undefined || !document.executors.some((spec) => spec.id === id)) {
186
+ return yield* RosterInvalid.make({ violations: [`no executor '${id}' in the roster`] });
187
+ }
188
+ const span = duration === undefined ? undefined : parseDuration(duration);
189
+ if (duration !== undefined && span === undefined) {
190
+ return yield* RosterInvalid.make({ violations: [`cannot read the duration '${duration}'`] });
191
+ }
192
+ const now = yield* Clock.currentTimeMillis;
193
+ const exclusion = Exclusion.make({
194
+ id,
195
+ kind: "manual",
196
+ reason: "paused by the operator",
197
+ ...(span === undefined ? {} : { until: now + Duration.toMillis(span) })
198
+ });
199
+ yield* makeRosterStateStore(source.files, rosterStatePath(source.environment)).save([id], [exclusion]);
200
+ return exclusion;
201
+ });
202
+ /** Puts an executor back in the round, whatever took it out. */
203
+ export const resumeExecutor = Effect.fn("@llm4ts/runner/ExecutorRoster.resume")(function* (source, id) {
204
+ yield* makeRosterStateStore(source.files, rosterStatePath(source.environment)).save([id], []);
205
+ });
206
+ //# sourceMappingURL=ExecutorRoster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecutorRoster.js","sourceRoot":"","sources":["../src/ExecutorRoster.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,12 @@ import type { TemporaryFilesShape } from "@llm4ts/core/TemporaryFiles";
9
9
  import type { GeminiCliExecutorShape } from "@llm4ts/core/providers/GeminiCliProvider";
10
10
  import { type CostTracker } from "@llm4ts/flow/CostTracker";
11
11
  import { type CostBudget } from "@llm4ts/flow/CostLedger";
12
- import { FlowLlmError, type FlowError } from "@llm4ts/flow/FlowError";
12
+ import { FlowLlmError, RosterInvalid, type FlowError } from "@llm4ts/flow/FlowError";
13
13
  import { type FlowEventHub } from "@llm4ts/flow/FlowEvents";
14
14
  import { type FlowContextShape } from "@llm4ts/flow/FlowContext";
15
15
  import { type JudgmentLogShape } from "@llm4ts/flow/JudgmentLog";
16
16
  import type { PlainFileStoreShape } from "@llm4ts/flow/Persistence";
17
+ import { type RosterDocument } from "@llm4ts/flow/Roster";
17
18
  import { type TerminalSurface, type Verbosity } from "./Terminal.ts";
18
19
  export interface FlowRunnerDependencies {
19
20
  readonly registry: ConnectorRegistryShape;
@@ -88,18 +89,27 @@ export interface FlowRunnerOptions {
88
89
  * nothing (see the connector capability matrix).
89
90
  */
90
91
  readonly budget?: CostBudget;
92
+ /**
93
+ * The executor roster (ADR 0019): every seat is then served from it and
94
+ * the coder/reasoning/reviewer configs above are ignored. Omitted, the
95
+ * runner loads one (`LLM4TS_ROSTER`, the user's and the repository's
96
+ * roster files); `"none"` runs with one executor per seat.
97
+ */
98
+ readonly roster?: RosterDocument | "none";
91
99
  }
92
100
  export interface FlowRunnerBundle {
93
101
  readonly context: FlowContextShape;
102
+ /** The executor roster in force (ADR 0019), when the run has one. */
103
+ readonly roster?: RosterDocument;
94
104
  readonly events: FlowEventHub;
95
105
  /** The run's cost tracker, already subscribed to `events`. */
96
106
  readonly tracker: CostTracker;
97
107
  readonly runId: string;
98
108
  readonly judgmentLog?: JudgmentLogShape;
99
109
  }
100
- 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, Scope.Scope>;
101
- 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict | E, Scope.Scope | R>;
102
- 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict | E, Scope.Scope | R>;
110
+ 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict, Scope.Scope>;
111
+ 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict | E, Scope.Scope | R>;
112
+ 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").EpicCheckoutDirty | import("@llm4ts/flow/FlowError").RosterExhausted | RosterInvalid | import("@llm4ts/flow/FlowError").StoryFailed | import("@llm4ts/flow/FlowError").DecisionsInvalid | import("@llm4ts/flow/FlowError").OpenPointsPending | import("@llm4ts/flow/FlowError").ContractConflict | E, Scope.Scope | R>;
103
113
  export declare const runNode: <A, E, R>(options: FlowRunnerOptions, body: (context: FlowContextShape) => Effect.Effect<A, E, R>) => Effect.Effect<A, E | FlowError, R>;
104
114
  export declare const runFlowMain: <E>(program: Effect.Effect<void, E>) => void;
105
115
  //# 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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"}