@owlmeans/llm 0.1.18-rc.37 → 0.1.18-rc.39

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.
package/README.md CHANGED
@@ -20,7 +20,7 @@ abstraction that resolves models from an inheritable policy.
20
20
  ## Installation
21
21
 
22
22
  ```bash
23
- bun add @owlmeans/llm@^0.1.18-rc.37 @owlmeans/llm-common@^0.1.18-rc.36
23
+ bun add @owlmeans/llm@^0.1.18-rc.39 @owlmeans/llm-common@^0.1.18-rc.37
24
24
  bun add @langchain/core @langchain/openai @langchain/anthropic # peer dependencies
25
25
  ```
26
26
 
@@ -185,7 +185,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
185
185
  your project's skill store (`.agents/skills/`):
186
186
 
187
187
  ```sh
188
- npx @owlmeans/agent-skills@^0.1.18-rc.38
188
+ npx @owlmeans/agent-skills@^0.1.18-rc.41
189
189
  ```
190
190
 
191
191
  The embedded files are version-matched to this package release. Do not edit them
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/llm",
4
- "version": "0.1.18-rc.37",
5
- "generatedAt": "2026-09-23T19:57:40.680Z",
4
+ "version": "0.1.18-rc.39",
5
+ "generatedAt": "2026-09-28T02:06:37.878Z",
6
6
  "canonicalRepo": "https://github.com/owlmeans/common",
7
7
  "entries": [
8
8
  {
@@ -8,7 +8,7 @@ user-invocable: false
8
8
  # @owlmeans/llm
9
9
 
10
10
  **Layer:** Core
11
- **Install:** `"@owlmeans/llm": "^0.1.18-rc.37"` in `dependencies` (plus the `@langchain/*` peers)
11
+ **Install:** `"@owlmeans/llm": "^0.1.18-rc.39"` in `dependencies` (plus the `@langchain/*` peers)
12
12
 
13
13
  The inference runtime. Everything provider-specific is a **plugin**; the model itself only owns the
14
14
  provider-independent parts (streaming discipline, retries, validation, observability). Serializable
@@ -21,11 +21,11 @@ symbol "because a test needs it".
21
21
 
22
22
  | Export | Description |
23
23
  |--------|-------------|
24
- | `makeLlmModel({ model, purpose, prompt?, prompts?, files?, utility?, retries?, … }, spectator)` | The four-method model: `ask` / `talk` / `invoke(input, schema, opts)` / `request`. `model` is an already-resolved `BaseChatModel`. |
24
+ | `makeLlmModel({ model, purpose, prompt?, prompts?, files?, utility?, results?, retries?, … }, spectator)` | The four-method model: `ask` / `talk` / `invoke(input, schema, opts)` / `request`. `model` is an already-resolved `BaseChatModel`. |
25
25
  | `makeLlmService(options, alias?)` · `appendLlmService(ctx, options, alias?)` · `llmServiceApi(options, self)` | Model factory/registry — `makeLlmService({ models: () => configs }).getModel(alias, override?)` resolves a `ModelConfig` by alias, memoized per alias+override. The `…Api` half omits `createService`, to compose into your own service (role accessors, domain helpers). |
26
- | `makeExecutionService(alias?, options?)` · `appendExecutionService(ctx, alias?, options?)` · `executionServiceApi(options, self)` | Frozen 3-level executions + policy resolution + snapshot/restore + advice, and the same composable half. |
26
+ | `makeExecutionService(alias?, options?)` · `appendExecutionService(ctx, alias?, options?)` · `executionServiceApi(options, self)` | Frozen 3-level executions + policy resolution + snapshot/restore + advice + the results view (`withResults`), and the same composable half. |
27
27
  | `makePromptService(options?, alias?)` · `appendPromptService(ctx, options?, alias?)` · `promptServiceApi(options, self)` | Skill registry + the composition plugin chain. Also at `@owlmeans/llm/prompt`. |
28
- | `rolePlugin`, `skillsPlugin`, `contextPlugin`, `BUILT_IN_PROMPT_PLUGINS` | The built-in composition plugins. |
28
+ | `rolePlugin`, `skillsPlugin`, `resultsPlugin`, `contextPlugin`, `BUILT_IN_PROMPT_PLUGINS` | The built-in composition plugins. |
29
29
  | `PromptContext.claim(key)` · `PromptComposeParams.utility` | Per-composition ownership of a key; a cheap model for one plugin-side call. |
30
30
  | `renderSkill`, `sortSkills`, `joinChunks`, `compareAlias`, `prefixHash` · `readCacheUsage`, `hasCacheActivity` | Deterministic rendering primitives — reuse them, never re-implement — and normalized prompt-cache accounting from a completion. |
31
31
  | `plugins`, `registerLlmPlugin`, `resolvePlugin`, `pluginOf`, `pluginFor` | The provider-plugin registry. Also at `@owlmeans/llm/plugins`. |
@@ -34,7 +34,7 @@ symbol "because a test needs it".
34
34
  | `effortSupportOf(config)` · `OPENAI_EFFORT_SUPPORT`, `ANTHROPIC_EFFORT_SUPPORT` · `REASONING_MIN_MAX_TOKENS` | Which `ModelConfig.effort` levels a model accepts — see "Fallback chains and provider effort". |
35
35
  | `withRetry`, `registerFatalError`, `isFatalError`, `spectate`, `normalizeInput`, `parseJsonContent`, `coerceToSchema`, `resolveFallbacks`, `PROVIDER_NEUTRAL_FIELDS` | Helpers usable alongside a model. Also at `@owlmeans/llm/helpers`. |
36
36
  | `LlmError`, `LlmModelError`, `LlmMissconfiguredError`, `LlmPluginError`, `LlmRetryExceededError` | `ResilientError` family. `LlmModelError` is the RETRYABLE one. |
37
- | `mergePrompt`, `mergePolicy`, `resolveRole`, `effortPatch` | Execution merge helpers; `mergePrompt` unions skills and takes the deepest role. |
37
+ | `mergePrompt`, `mergePolicy`, `resolveRole`, `effortPatch`, `freezeResults` | Execution merge helpers; `mergePrompt` unions skills and takes the deepest role; `freezeResults` deep-freezes a results view. |
38
38
  | `DEFAULT_MODEL_RETRIES`, `MODEL_STREAM_TIMEOUT_MS` (3 min idle), `FALLBACK_AFTER_ATTEMPTS`, `TEMPERATURE_PER_EFFORT_STEP`, `DEFAULT_EFFORT`, `EFFORT_TABLE`, `MAX_CACHE_BREAKPOINTS`, `MAX_SYSTEM_BREAKPOINTS`, `MIN_CACHEABLE_TOKENS`, `LLM_SERVICE`, `EXECUTION_SERVICE`, `PROMPT_SERVICE` | Tuning + aliases. |
39
39
 
40
40
  ## Provider differences are plugins, never `if`s
@@ -107,6 +107,18 @@ effort tier → `LlmService.getModel`**; `escalate(exec, { effort })` raises the
107
107
  to everything derived from it. `snapshot` excludes `state` itself — without that, every
108
108
  `derive`/`escalate`/`withPurpose` on a task would nest another copy of the previous state.
109
109
 
110
+ ### The results view: `withResults(exec, view)`
111
+
112
+ `ExecutionState.results` carries what the earlier steps of the pipeline an execution works inside
113
+ produced (`CumulativeResults`, cut by `@owlmeans/agent`'s `cumulativeResultsPlugin`). A step hands
114
+ its own view in with `withResults(exec, ctx.results?.view)`: a new frozen execution, the view
115
+ deep-frozen, REPLACING any view already carried — one cut for another step names the wrong
116
+ predecessors — and `null`/`undefined` drops the key entirely, so the execution and its snapshots are
117
+ what they would be had it never carried one. Inheritance is the ordinary spread down
118
+ `forTask`/`forHelper`, and `makeLlmModel` takes `results` from its options, so a consumer that builds
119
+ its model from the helper execution itself (`makeLlmModel(exec, spectator)`) composes the view with
120
+ no other change. Without a `prompts` resolver, like `prompt`, it is ignored.
121
+
110
122
  Extending it for a domain: declare your own `Execution`/input types, list collaborator fields in
111
123
  `ExecutionServiceOptions.collaboratorKeys` (kept out of snapshots), instantiate the service generic
112
124
  with your own `ExecutionShape`, and **never narrow an inherited method signature** (contravariance).
@@ -357,7 +369,10 @@ retry control or persistence that the call itself depends on.
357
369
 
358
370
  ## Tests
359
371
 
360
- `bun test ./tests` in the package; offline specs always run. In `tests/model.spec.ts` the anthropic live
372
+ `bun test ./tests` in the package; offline specs always run. `tests/results.spec.ts` holds GOLDEN
373
+ bytes of a composed prompt and of a model's sent messages recorded before the results block existed
374
+ — the proof that a call without a view is unchanged; never re-record them to make a change pass.
375
+ In `tests/model.spec.ts` the anthropic live
361
376
  suite is gated on `ANTHROPIC_SECRET` and self-skips with a printed reason without it, and the OpenRouter
362
377
  suite is disabled unconditionally: an aggregator on a separate account serving models no deployment runs,
363
378
  whose `402 requires more credits` reads as a failure of the code under test. `plugins.spec.ts` covers the
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: llm-prompt-caching
3
- description: How the OwlMeans LLM layer composes a system prompt from a role and skills, and the prompt-cache rules that layout exists to satisfy — block order, breakpoint budget, determinism invariants, and the provider facts behind them. Auto-invoked when touching prompt composition, skills, LlmPromptPlugin, patchSystem/patchCache, or anything that changes what a request sends before its first per-call byte.
3
+ description: How the OwlMeans LLM layer composes a system prompt from a role, skills and a pipeline step's cumulative-results view, and the prompt-cache rules that layout exists to satisfy — block order, breakpoint budget, determinism invariants, and the provider facts behind them. Auto-invoked when touching prompt composition, skills, LlmPromptPlugin, the Results block, patchSystem/patchCache, or anything that changes what a request sends before its first per-call byte.
4
4
  user-invocable: false
5
5
  ---
6
6
  <!-- AUTO-GENERATED — do not edit. Regenerate via sync-agent-meta. -->
@@ -16,7 +16,7 @@ invariants are not style — they are the cache.
16
16
 
17
17
  ## The block layout
18
18
 
19
- `PromptService.compose()` renders four ordered blocks (`PromptBlock`, `PROMPT_BLOCK_ORDER`)
19
+ `PromptService.compose()` renders five ordered blocks (`PromptBlock`, `PROMPT_BLOCK_ORDER`)
20
20
  into a single system message:
21
21
 
22
22
  | # | Block | Contributed by | Changes | Breakpoint |
@@ -24,7 +24,8 @@ into a single system message:
24
24
  | 0 | `Role` | `rolePlugin` ← `PromptPolicy.role` | per role | — |
25
25
  | 1 | `Skills` | `skillsPlugin` ← registry + `inline` | per helper | ✅ closes role+skills |
26
26
  | 2 | `Packages` | application plugins (`owlmeansPackagesPlugin`) | per request | ✅ its own |
27
- | 3 | `Context` | `contextPlugin` ← `context`, `callSkills` | per call | **never** (unless sole block) |
27
+ | 3 | `Results` | `resultsPlugin` ← `PromptComposeParams.results` (`exec.results`) | per pipeline step | only as the closing block |
28
+ | 4 | `Context` | `contextPlugin` ← `context`, `callSkills` | per call | **never** (unless sole block) |
28
29
 
29
30
  A caller's own leading `SystemMessage` is detached by `makeLlmModel` and re-emitted as
30
31
  `Context`, so a helper that has not adopted `prompt: { role, skills }` keeps working —
@@ -44,6 +45,14 @@ its text simply travels a different route.
44
45
  into one chunk for the same reason — nothing downstream needs them separable.
45
46
  - **Volatile content goes last.** Per-call skills belong in `LlmCallOptions.skills`
46
47
  (→ `Context`), not in the execution's `skills` (→ the cached `Skills` block).
48
+ - **`Results` sits below every boundary cached across steps.** A cumulative-results view is
49
+ stable for every call of ONE pipeline step and different on the next, so it may never sit
50
+ between role+skills and packages, nor take one of their markers. It is never an interior
51
+ boundary; `patchSystem`'s closing rule may mark it only when it is the last block (no
52
+ `Context` after it), which is the breakpoint `Packages` would otherwise have closed with —
53
+ still within `MAX_SYSTEM_BREAKPOINTS`. With no view the plugin contributes nothing and the
54
+ composed bytes are exactly what they were before the block existed (golden-tested in
55
+ `@owlmeans/llm`'s `tests/results.spec.ts`).
47
56
  - **Budget: 4 breakpoints per request, total** — across tools, system AND messages.
48
57
  Anthropic rejects the fifth outright (`400 A maximum of 4 blocks with cache_control may
49
58
  be provided. Found 5.`), and a 400 is fatal, so the whole call fails. The system prompt
@@ -76,7 +85,7 @@ is invalidating it** — diff `PromptResult.blocks` between two calls to find wh
76
85
  ```typescript
77
86
  ctx.prompts().use({
78
87
  alias: 'my-plugin',
79
- order: 50, // built-ins hold 0 (role), 10 (skills), 90 (context)
88
+ order: 50, // built-ins hold 0 (role), 10 (skills), 80 (results), 90 (context)
80
89
  compose: ctx => ctx.add(PromptBlock.Skills, text), // static, runs first
81
90
  inspect: ctx => { /* reads ctx.messages */ }, // after every compose pass
82
91
  })
@@ -115,6 +124,13 @@ reproducible byte-for-byte, so a selection made this way belongs in `Packages` o
115
124
  `Context`, which carry their own breakpoint or none. Wiring: `makeLlmModel`'s `utility`
116
125
  option (beside `files`) and `AgentOptions.utility`; unwired, the field is simply absent.
117
126
 
127
+ ### `ctx.results` — the view of earlier pipeline steps
128
+
129
+ `PromptComposeParams.results` is the execution's `results` — passed by `makeLlmModel` from its
130
+ options and by `makeAgentModel` from `exec.results`. `resultsPlugin` renders it with
131
+ `renderCumulativeResults` into `Results`; a plugin of your own reads it the same way and must
132
+ not move it into a cached block.
133
+
118
134
  ## Package skills in a prompt (`@owlmeans/agent-skills/llm`)
119
135
 
120
136
  `owlmeansPackagesPlugin(options)` notices which `@owlmeans/*` packages a request mentions
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/execution/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AASlE,OAAO,KAAK,EACkB,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EACrD,oBAAoB,EACrD,MAAM,YAAY,CAAA;AAOnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,WAClE,uBAAuB,QAC1B,MAAM,gBAAgB,CAAC,CAAC,CAAC,KAC9B,gBAAgB,CAAC,CAAC,CAyLpB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,UACrE,MAAM,YACJ,uBAAuB,KAC/B,gBAAgB,CAAC,CAAC,CAMpB,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,GAAG,cAAc,OAEtF,CAAC,UACC,MAAM,YACJ,uBAAuB,KAC/B,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAQ5B,CAAA"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/execution/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAWlE,OAAO,KAAK,EACkB,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EACrD,oBAAoB,EACrD,MAAM,YAAY,CAAA;AAOnB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,WAClE,uBAAuB,QAC1B,MAAM,gBAAgB,CAAC,CAAC,CAAC,KAC9B,gBAAgB,CAAC,CAAC,CAoMpB,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,UACrE,MAAM,YACJ,uBAAuB,KAC/B,gBAAgB,CAAC,CAAC,CAMpB,CAAA;AAED,eAAO,MAAM,sBAAsB,GACjC,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,cAAc,GAAG,cAAc,OAEtF,CAAC,UACC,MAAM,YACJ,uBAAuB,KAC/B,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAQ5B,CAAA"}
@@ -4,7 +4,7 @@ import { COLLABORATOR_KEYS, EXECUTION_SERVICE } from '../consts.js';
4
4
  import { InquiryDeclined } from '../inquiry/errors.js';
5
5
  import { inquiryTransportFor } from '../inquiry/transport.js';
6
6
  import { temperatureSteps } from '../utils/effort.js';
7
- import { composeExecState, composeTaskState, effortPatch, freeze, mergeOverride, mergePolicy, mergePrompt, raisedEffort, resolveRole, } from './utils.js';
7
+ import { composeExecState, composeTaskState, effortPatch, freeze, freezeResults, mergeOverride, mergePolicy, mergePrompt, raisedEffort, resolveRole, } from './utils.js';
8
8
  /**
9
9
  * Build the execution service implementation WITHOUT registering it as a context
10
10
  * service, so a consumer can publish extra methods alongside it (observability
@@ -94,6 +94,13 @@ export const executionServiceApi = (options, self) => {
94
94
  derive: (exec, patch) => freeze(recompose({ ...exec, ...patch })),
95
95
  withPurpose: (exec, patch) => freeze(recompose({ ...exec, purpose: { ...exec.purpose, ...patch } })),
96
96
  escalate: (exec, patch) => freeze(recompose({ ...exec, policy: mergePolicy(exec.policy, patch) })),
97
+ withResults: (exec, results) => {
98
+ // Replaced, never merged: a view is cut for ONE step, and another step's view names the
99
+ // wrong predecessors. Without one the key is dropped rather than set to `undefined`, so the
100
+ // execution — and every snapshot of it — is exactly what it would be had it never carried one.
101
+ const { results: _replaced, ...rest } = exec;
102
+ return freeze(recompose(results != null ? { ...rest, results: freezeResults(results) } : rest));
103
+ },
97
104
  model: (exec, role, override) => {
98
105
  const effectiveRole = resolveRole(exec.policy, role ?? exec.role);
99
106
  const policyOverride = exec.policy.modelOverrides?.[effectiveRole];
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/execution/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/execution/service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
2
  import type { InitializedService } from '@owlmeans/context';
3
- import type { ExecutionEffort, ExecutionLevel, ExecutionState, FileProviderRef, Inquiry, InquiryAnswer, InquiryConfig, LlmPurpose, ModelConfigOverride, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState } from '@owlmeans/llm-common';
3
+ import type { CumulativeResults, ExecutionEffort, ExecutionLevel, ExecutionState, FileProviderRef, Inquiry, InquiryAnswer, InquiryConfig, LlmPurpose, ModelConfigOverride, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState } from '@owlmeans/llm-common';
4
4
  import type { LlmService, TemperatureFactory } from '../types.js';
5
5
  import type { PromptService } from '../prompt/types.js';
6
6
  /**
@@ -155,6 +155,16 @@ export interface ExecutionService<S extends ExecutionShape = ExecutionShape> ext
155
155
  derive: <E extends S['exec']>(exec: E, patch: Partial<E>) => E;
156
156
  withPurpose: <E extends S['exec']>(exec: E, patch: Partial<S['purpose']>) => E;
157
157
  escalate: <E extends S['exec']>(exec: E, patch: Partial<ModelPolicy>) => E;
158
+ /**
159
+ * The same execution, carrying what the earlier steps of its pipeline produced — the view a
160
+ * pipeline step is handed as `ctx.results.view` — or, given `null`/`undefined`, carrying none.
161
+ *
162
+ * The view REPLACES any the execution already carried, because it is cut for one step and a view
163
+ * cut for another would tell the model about the wrong predecessors. Deep-frozen, and inherited
164
+ * by everything derived from the result like any other state field, so a helper built from a
165
+ * task that holds a view composes it without being told.
166
+ */
167
+ withResults: <E extends S['exec']>(exec: E, results: CumulativeResults | null | undefined) => E;
158
168
  model: (exec: S['exec'], role?: ModelRole, override?: ModelConfigOverride) => BaseChatModel;
159
169
  /**
160
170
  * The cheap model for work that is not the work — a relevance pick, a classification, a
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/execution/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,15 @@
1
1
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
- import type { ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch, ModelEffort, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState } from '@owlmeans/llm-common';
2
+ import type { CumulativeResults, ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch, ModelEffort, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState } from '@owlmeans/llm-common';
3
3
  import type { Execution, TaskExecution } from './types.js';
4
4
  export declare const freeze: <T extends object>(o: T) => Readonly<T>;
5
+ /**
6
+ * A private, deep-frozen copy of a results view.
7
+ *
8
+ * Deep because the view is shared by reference down the whole execution chain — every task and
9
+ * helper derived from the execution carrying it — and one caller editing a section in place would
10
+ * change the prompt of every other.
11
+ */
12
+ export declare const freezeResults: (results: CumulativeResults) => CumulativeResults;
5
13
  /** Overlay a partial policy onto a base one. Override maps are merged, not replaced. */
6
14
  export declare const mergePolicy: (base: ModelPolicy, patch: Partial<ModelPolicy>) => ModelPolicy;
7
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAEhF,OAAO,KAAK,EACV,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,EACnF,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EACzD,MAAM,sBAAsB,CAAA;AAK7B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,KAAK,CAAC,KAAG,QAAQ,CAAC,CAAC,CAAqB,CAAA;AAE/E,wFAAwF;AACxF,eAAO,MAAM,WAAW,SAAU,WAAW,SAAS,OAAO,CAAC,WAAW,CAAC,KAAG,WAe5E,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,SAChB,YAAY,GAAG,SAAS,SACvB,YAAY,GAAG,SAAS,KAC9B,YAAY,GAAG,SAYjB,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,WAAW,WAAY,WAAW,QAAQ,SAAS,KAAG,SACF,CAAA;AAEjE,eAAO,MAAM,WAAW,WAAY,eAAe,KAAG,gBAAwC,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAW,aAAa,SAAS,MAAM,KAAG,WAAW,GAAG,SAIhF,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,aAAc,mBAAmB,KAAG,gBACH,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,eACZ,gBAAgB,kBACZ,mBAAmB,GAAG,SAAS,gBACjC,mBAAmB,GAAG,SAAS,KAC5C,gBAIF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,SAAS,oBAAoB,MAAM,EAAE,KAAG,cAQ9E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,aAAa,oBAAoB,MAAM,EAAE,KAAG,kBAWlF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAEhF,OAAO,KAAK,EACV,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EACzF,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,EACtE,MAAM,sBAAsB,CAAA;AAK7B,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1D,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,MAAM,KAAK,CAAC,KAAG,QAAQ,CAAC,CAAC,CAAqB,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,YAAa,iBAAiB,KAAG,iBAIpC,CAAA;AAEvB,wFAAwF;AACxF,eAAO,MAAM,WAAW,SAAU,WAAW,SAAS,OAAO,CAAC,WAAW,CAAC,KAAG,WAe5E,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,SAChB,YAAY,GAAG,SAAS,SACvB,YAAY,GAAG,SAAS,KAC9B,YAAY,GAAG,SAYjB,CAAA;AAED,0CAA0C;AAC1C,eAAO,MAAM,WAAW,WAAY,WAAW,QAAQ,SAAS,KAAG,SACF,CAAA;AAEjE,eAAO,MAAM,WAAW,WAAY,eAAe,KAAG,gBAAwC,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,YAAY,UAAW,aAAa,SAAS,MAAM,KAAG,WAAW,GAAG,SAIhF,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,aAAc,mBAAmB,KAAG,gBACH,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,aAAa,eACZ,gBAAgB,kBACZ,mBAAmB,GAAG,SAAS,gBACjC,mBAAmB,GAAG,SAAS,KAC5C,gBAIF,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,SAAS,oBAAoB,MAAM,EAAE,KAAG,cAQ9E,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAU,aAAa,oBAAoB,MAAM,EAAE,KAAG,kBAWlF,CAAA"}
@@ -4,6 +4,18 @@ import { effortSupportOf } from '../plugins/index.js';
4
4
  import { readConfig } from '../utils/config.js';
5
5
  import { raiseEffort } from '../utils/effort.js';
6
6
  export const freeze = (o) => Object.freeze(o);
7
+ /**
8
+ * A private, deep-frozen copy of a results view.
9
+ *
10
+ * Deep because the view is shared by reference down the whole execution chain — every task and
11
+ * helper derived from the execution carrying it — and one caller editing a section in place would
12
+ * change the prompt of every other.
13
+ */
14
+ export const freezeResults = (results) => Object.freeze({
15
+ ...results,
16
+ sections: Object.freeze(results.sections.map(section => Object.freeze({ ...section }))),
17
+ omitted: Object.freeze([...results.omitted]),
18
+ });
7
19
  /** Overlay a partial policy onto a base one. Override maps are merged, not replaced. */
8
20
  export const mergePolicy = (base, patch) => {
9
21
  const utilityRole = patch.utilityRole ?? base.utilityRole;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/execution/utils.ts"],"names":[],"mappings":"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"}
package/build/model.d.ts CHANGED
@@ -9,5 +9,5 @@ import type { LlmModel, LlmModelOptions, LlmSpectator } from './types.js';
9
9
  * streaming under an idle deadline, retry/fallback escalation, schema validation and
10
10
  * coercion, spectator logging, and null diagnostics.
11
11
  */
12
- export declare const makeLlmModel: ({ model, outputErrors, captureNull, retries, purpose, prompt, prompts, files, utility, }: LlmModelOptions, spectator: LlmSpectator) => LlmModel;
12
+ export declare const makeLlmModel: ({ model, outputErrors, captureNull, retries, purpose, prompt, prompts, files, utility, results, }: LlmModelOptions, spectator: LlmSpectator) => LlmModel;
13
13
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACuB,QAAQ,EAAE,eAAe,EAC1D,YAAY,EACb,MAAM,YAAY,CAAA;AAmDnB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,6FAUtB,eAAe,aAAa,YAAY,KAAG,QAqf7C,CAAA"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACuB,QAAQ,EAAE,eAAe,EAC1D,YAAY,EACb,MAAM,YAAY,CAAA;AAmDnB;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,sGAWtB,eAAe,aAAa,YAAY,KAAG,QAqf7C,CAAA"}
package/build/model.js CHANGED
@@ -60,7 +60,7 @@ const takeLeadingSystem = (msgs) => {
60
60
  * streaming under an idle deadline, retry/fallback escalation, schema validation and
61
61
  * coercion, spectator logging, and null diagnostics.
62
62
  */
63
- export const makeLlmModel = ({ model, outputErrors = false, captureNull = false, retries = DEFAULT_MODEL_RETRIES, purpose, prompt, prompts, files, utility, }, spectator) => {
63
+ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false, retries = DEFAULT_MODEL_RETRIES, purpose, prompt, prompts, files, utility, results, }, spectator) => {
64
64
  const ajv = new Ajv({ strict: false });
65
65
  // Each rung's config and plugin are static per model instance: a REFINED instance is
66
66
  // rebuilt from `lc_kwargs` and does not reliably carry the metadata back.
@@ -101,7 +101,7 @@ export const makeLlmModel = ({ model, outputErrors = false, captureNull = false,
101
101
  ...prompt,
102
102
  context: [...(prompt?.context ?? []), ...carried],
103
103
  callSkills: callSkills ?? prompt?.callSkills,
104
- }, msgs, { model, provider: plugin, purpose, action, cacheMax, files, utility });
104
+ }, msgs, { model, provider: plugin, purpose, action, cacheMax, files, utility, results });
105
105
  if (composed.system != null) {
106
106
  msgs.unshift(composed.system);
107
107
  reserved = composed.breakpoints;
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,17 @@ export declare const rolePlugin: LlmPromptPlugin;
14
14
  */
15
15
  export declare const skillsPlugin: LlmPromptPlugin;
16
16
  /**
17
- * Block 3 — whatever the caller handed over verbatim, plus any skills requested for this
17
+ * Block 3 — what the earlier steps of the pipeline produced, as the pipeline runtime cut it for
18
+ * the step this call belongs to (`PromptComposeParams.results`, normally `exec.results`).
19
+ *
20
+ * Contributes NOTHING without a view, so every call that is not inside an opted-in pipeline
21
+ * composes byte-identically to a service that never had this plugin. With one, it lands below the
22
+ * two cached boundaries (role + skills, packages) and above the per-call context: it changes from
23
+ * one step to the next, so it may never sit inside a region other steps read back from cache.
24
+ */
25
+ export declare const resultsPlugin: LlmPromptPlugin;
26
+ /**
27
+ * Block 4 — whatever the caller handed over verbatim, plus any skills requested for this
18
28
  * one call. Emitted last and never marked cacheable: its content varies per request by
19
29
  * definition, and a varying tail must not sit inside a prefix other calls depend on.
20
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/prompt/plugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,eAQxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,eAa1B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAgB3B,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAEpD,CAAA"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/prompt/plugins.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,eAQxB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,eAa1B,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,EAAE,eAS3B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,eAgB3B,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,EAAE,SAAS,eAAe,EAEpD,CAAA"}
@@ -1,4 +1,4 @@
1
- import { PromptBlock } from '@owlmeans/llm-common';
1
+ import { PromptBlock, renderCumulativeResults } from '@owlmeans/llm-common';
2
2
  import { joinChunks, renderSkill, sortSkills } from './render.js';
3
3
  /**
4
4
  * Block 0 — the base system prompt that tells the model who it is.
@@ -36,7 +36,26 @@ export const skillsPlugin = {
36
36
  },
37
37
  };
38
38
  /**
39
- * Block 3 — whatever the caller handed over verbatim, plus any skills requested for this
39
+ * Block 3 — what the earlier steps of the pipeline produced, as the pipeline runtime cut it for
40
+ * the step this call belongs to (`PromptComposeParams.results`, normally `exec.results`).
41
+ *
42
+ * Contributes NOTHING without a view, so every call that is not inside an opted-in pipeline
43
+ * composes byte-identically to a service that never had this plugin. With one, it lands below the
44
+ * two cached boundaries (role + skills, packages) and above the per-call context: it changes from
45
+ * one step to the next, so it may never sit inside a region other steps read back from cache.
46
+ */
47
+ export const resultsPlugin = {
48
+ alias: 'results',
49
+ order: 80,
50
+ compose: ctx => {
51
+ const text = renderCumulativeResults(ctx.results);
52
+ if (text !== '') {
53
+ ctx.add(PromptBlock.Results, text);
54
+ }
55
+ },
56
+ };
57
+ /**
58
+ * Block 4 — whatever the caller handed over verbatim, plus any skills requested for this
40
59
  * one call. Emitted last and never marked cacheable: its content varies per request by
41
60
  * definition, and a varying tail must not sit inside a prefix other calls depend on.
42
61
  */
@@ -59,6 +78,6 @@ export const contextPlugin = {
59
78
  };
60
79
  /** The plugins every {@link PromptService} starts with, in run order. */
61
80
  export const BUILT_IN_PROMPT_PLUGINS = [
62
- rolePlugin, skillsPlugin, contextPlugin,
81
+ rolePlugin, skillsPlugin, resultsPlugin, contextPlugin,
63
82
  ];
64
83
  //# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/prompt/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGjE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAoB;IACzC,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,GAAG,CAAC,EAAE;QACb,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;IACH,CAAC;CACF,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,GAAG,CAAC,EAAE;QACb,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAA;QACjD,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC5C,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,GAAG,CAAC,EAAE;QACb,qFAAqF;QACrF,kFAAkF;QAClF,mFAAmF;QACnF,8CAA8C;QAC9C,MAAM,KAAK,GAAG;YACZ,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;SAC7B,CAAA;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;CACF,CAAA;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IACjE,UAAU,EAAE,YAAY,EAAE,aAAa;CAC/B,CAAA"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/prompt/plugins.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
2
  import type { MessageFieldWithRole } from '@langchain/core/messages';
3
3
  import type { InitializedService } from '@owlmeans/context';
4
- import type { CacheTtl, FileProviderRef, LlmPurpose, PromptBlock, PromptPolicy, SkillDefinition } from '@owlmeans/llm-common';
4
+ import type { CacheTtl, CumulativeResults, FileProviderRef, LlmPurpose, PromptBlock, PromptPolicy, SkillDefinition } from '@owlmeans/llm-common';
5
5
  import type { LlmPlugin, LlmSystemBlock } from '../plugins/types.js';
6
6
  /**
7
7
  * Everything that shapes one composed system prompt. The serializable part
@@ -42,6 +42,12 @@ export interface PromptComposeParams {
42
42
  * is not reproducible byte-for-byte, so it belongs in `Packages` or `Context`.
43
43
  */
44
44
  utility?: () => BaseChatModel | undefined;
45
+ /**
46
+ * What the earlier steps of the pipeline this call runs in produced — normally the execution's
47
+ * own `results`. Rendered into `PromptBlock.Results` by `resultsPlugin`; absent, that block is
48
+ * not emitted and the composed bytes are exactly what they would be without it.
49
+ */
50
+ results?: CumulativeResults;
45
51
  }
46
52
  /** What a prompt plugin sees and may contribute to. */
47
53
  export interface PromptContext extends PromptComposeParams {
@@ -74,7 +80,7 @@ export interface PromptContext extends PromptComposeParams {
74
80
  */
75
81
  export interface LlmPromptPlugin {
76
82
  alias: string;
77
- /** Lower runs first. The built-ins occupy 0 (role), 10 (skills) and 90 (context). */
83
+ /** Lower runs first. The built-ins occupy 0 (role), 10 (skills), 80 (results) and 90 (context). */
78
84
  order?: number;
79
85
  /** Contribute static content, before anything has looked at the messages. */
80
86
  compose?: (ctx: PromptContext) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompt/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompt/types.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { AIMessage, BaseMessage, MessageFieldWithRole } from '@langchain/co
3
3
  import type { BaseCallbackHandler, CallbackHandlerMethods } from '@langchain/core/callbacks/base';
4
4
  import type { JSONSchemaType } from 'ajv';
5
5
  import type { InitializedService } from '@owlmeans/context';
6
- import type { FileProviderRef, LlmPurpose, ModelEffort, ModelProvider, NullCapture, SpectatorArgument, SpectatorEntryLogged } from '@owlmeans/llm-common';
6
+ import type { CumulativeResults, FileProviderRef, LlmPurpose, ModelEffort, ModelProvider, NullCapture, SpectatorArgument, SpectatorEntryLogged } from '@owlmeans/llm-common';
7
7
  import type { PromptInput, PromptService } from './prompt/types.js';
8
8
  export type MaybeArray<T> = T | T[];
9
9
  /**
@@ -60,6 +60,12 @@ export interface LlmModelOptions extends LlmLogging {
60
60
  * fall back to whatever they can decide without a model.
61
61
  */
62
62
  utility?: () => BaseChatModel | undefined;
63
+ /**
64
+ * What the earlier steps of the pipeline this model works in produced — the execution's own
65
+ * `results`, which arrives here whenever the helper execution itself is passed as the options.
66
+ * Composed into `PromptBlock.Results`; ignored, like `prompt`, without a `prompts` resolver.
67
+ */
68
+ results?: CumulativeResults;
63
69
  }
64
70
  export type ModelMessage = BaseMessage | MessageFieldWithRole;
65
71
  export type ModelInputItem = ModelMessage | string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/llm",
3
- "version": "0.1.18-rc.37",
3
+ "version": "0.1.18-rc.39",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -55,10 +55,10 @@
55
55
  },
56
56
  "dependencies": {
57
57
  "@anthropic-ai/sdk": "^0.78.0",
58
- "@owlmeans/basic-ids": "^0.1.18-rc.33",
58
+ "@owlmeans/basic-ids": "^0.1.18-rc.34",
59
59
  "@owlmeans/context": "^0.1.18-rc.32",
60
- "@owlmeans/error": "^0.1.18-rc.35",
61
- "@owlmeans/llm-common": "^0.1.18-rc.36",
60
+ "@owlmeans/error": "^0.1.18-rc.36",
61
+ "@owlmeans/llm-common": "^0.1.18-rc.37",
62
62
  "ajv": "^8.17.1"
63
63
  },
64
64
  "publishConfig": {
@@ -3,7 +3,9 @@ import type { BasicConfig, BasicContext } from '@owlmeans/context'
3
3
  import {
4
4
  capAnswer, defaultAnswerFor, ExecutionEffort, ExecutionLevel, InquiryPolicy, UTILITY_ROLE,
5
5
  } from '@owlmeans/llm-common'
6
- import type { ExecutionState, ModelPolicy, TaskExecutionState } from '@owlmeans/llm-common'
6
+ import type {
7
+ CumulativeResults, ExecutionState, ModelPolicy, TaskExecutionState,
8
+ } from '@owlmeans/llm-common'
7
9
  import { COLLABORATOR_KEYS, EXECUTION_SERVICE } from '../consts.js'
8
10
  import { InquiryDeclined } from '../inquiry/errors.js'
9
11
  import { inquiryTransportFor } from '../inquiry/transport.js'
@@ -14,8 +16,8 @@ import type {
14
16
  } from './types.js'
15
17
  import { temperatureSteps } from '../utils/effort.js'
16
18
  import {
17
- composeExecState, composeTaskState, effortPatch, freeze, mergeOverride, mergePolicy,
18
- mergePrompt, raisedEffort, resolveRole,
19
+ composeExecState, composeTaskState, effortPatch, freeze, freezeResults, mergeOverride,
20
+ mergePolicy, mergePrompt, raisedEffort, resolveRole,
19
21
  } from './utils.js'
20
22
 
21
23
  /**
@@ -125,6 +127,17 @@ export const executionServiceApi = <S extends ExecutionShape = ExecutionShape>(
125
127
  escalate: (exec, patch: Partial<ModelPolicy>) =>
126
128
  freeze(recompose({ ...exec, policy: mergePolicy(exec.policy, patch) })),
127
129
 
130
+ withResults: (exec, results) => {
131
+ // Replaced, never merged: a view is cut for ONE step, and another step's view names the
132
+ // wrong predecessors. Without one the key is dropped rather than set to `undefined`, so the
133
+ // execution — and every snapshot of it — is exactly what it would be had it never carried one.
134
+ const { results: _replaced, ...rest } = exec as typeof exec & { results?: CumulativeResults }
135
+
136
+ return freeze(recompose(
137
+ results != null ? { ...rest, results: freezeResults(results) } : rest,
138
+ )) as typeof exec
139
+ },
140
+
128
141
  model: (exec, role, override) => {
129
142
  const effectiveRole = resolveRole(exec.policy, role ?? (exec as HelperExecution).role)
130
143
  const policyOverride = exec.policy.modelOverrides?.[effectiveRole]
@@ -1,9 +1,9 @@
1
1
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
2
2
  import type { InitializedService } from '@owlmeans/context'
3
3
  import type {
4
- ExecutionEffort, ExecutionLevel, ExecutionState, FileProviderRef, Inquiry, InquiryAnswer,
5
- InquiryConfig, LlmPurpose, ModelConfigOverride, ModelPolicy, ModelRole, PromptPolicy,
6
- TaskExecutionState,
4
+ CumulativeResults, ExecutionEffort, ExecutionLevel, ExecutionState, FileProviderRef, Inquiry,
5
+ InquiryAnswer, InquiryConfig, LlmPurpose, ModelConfigOverride, ModelPolicy, ModelRole,
6
+ PromptPolicy, TaskExecutionState,
7
7
  } from '@owlmeans/llm-common'
8
8
  import type { LlmService, TemperatureFactory } from '../types.js'
9
9
  import type { PromptService } from '../prompt/types.js'
@@ -172,6 +172,16 @@ export interface ExecutionService<S extends ExecutionShape = ExecutionShape> ext
172
172
  derive: <E extends S['exec']>(exec: E, patch: Partial<E>) => E
173
173
  withPurpose: <E extends S['exec']>(exec: E, patch: Partial<S['purpose']>) => E
174
174
  escalate: <E extends S['exec']>(exec: E, patch: Partial<ModelPolicy>) => E
175
+ /**
176
+ * The same execution, carrying what the earlier steps of its pipeline produced — the view a
177
+ * pipeline step is handed as `ctx.results.view` — or, given `null`/`undefined`, carrying none.
178
+ *
179
+ * The view REPLACES any the execution already carried, because it is cut for one step and a view
180
+ * cut for another would tell the model about the wrong predecessors. Deep-frozen, and inherited
181
+ * by everything derived from the result like any other state field, so a helper built from a
182
+ * task that holds a view composes it without being told.
183
+ */
184
+ withResults: <E extends S['exec']>(exec: E, results: CumulativeResults | null | undefined) => E
175
185
 
176
186
  // Model resolution (policy-aware)
177
187
  model: (exec: S['exec'], role?: ModelRole, override?: ModelConfigOverride) => BaseChatModel
@@ -1,8 +1,8 @@
1
1
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
2
2
  import { ExecutionLevel } from '@owlmeans/llm-common'
3
3
  import type {
4
- ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch, ModelEffort,
5
- ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState,
4
+ CumulativeResults, ExecutionEffort, ExecutionState, ModelConfigOverride, ModelConfigPatch,
5
+ ModelEffort, ModelPolicy, ModelRole, PromptPolicy, TaskExecutionState,
6
6
  } from '@owlmeans/llm-common'
7
7
  import { EFFORT_TABLE } from '../consts.js'
8
8
  import { effortSupportOf } from '../plugins/index.js'
@@ -12,6 +12,19 @@ import type { Execution, TaskExecution } from './types.js'
12
12
 
13
13
  export const freeze = <T extends object>(o: T): Readonly<T> => Object.freeze(o)
14
14
 
15
+ /**
16
+ * A private, deep-frozen copy of a results view.
17
+ *
18
+ * Deep because the view is shared by reference down the whole execution chain — every task and
19
+ * helper derived from the execution carrying it — and one caller editing a section in place would
20
+ * change the prompt of every other.
21
+ */
22
+ export const freezeResults = (results: CumulativeResults): CumulativeResults => Object.freeze({
23
+ ...results,
24
+ sections: Object.freeze(results.sections.map(section => Object.freeze({ ...section }))),
25
+ omitted: Object.freeze([...results.omitted]),
26
+ }) as CumulativeResults
27
+
15
28
  /** Overlay a partial policy onto a base one. Override maps are merged, not replaced. */
16
29
  export const mergePolicy = (base: ModelPolicy, patch: Partial<ModelPolicy>): ModelPolicy => {
17
30
  const utilityRole = patch.utilityRole ?? base.utilityRole
package/src/model.ts CHANGED
@@ -95,6 +95,7 @@ export const makeLlmModel = ({
95
95
  prompts,
96
96
  files,
97
97
  utility,
98
+ results,
98
99
  }: LlmModelOptions, spectator: LlmSpectator): LlmModel => {
99
100
 
100
101
  const ajv = new Ajv({ strict: false })
@@ -153,7 +154,7 @@ export const makeLlmModel = ({
153
154
  callSkills: callSkills ?? prompt?.callSkills,
154
155
  },
155
156
  msgs,
156
- { model, provider: plugin, purpose, action, cacheMax, files, utility },
157
+ { model, provider: plugin, purpose, action, cacheMax, files, utility, results },
157
158
  )
158
159
  if (composed.system != null) {
159
160
  msgs.unshift(composed.system)
@@ -1,4 +1,4 @@
1
- import { PromptBlock } from '@owlmeans/llm-common'
1
+ import { PromptBlock, renderCumulativeResults } from '@owlmeans/llm-common'
2
2
  import type { SkillDefinition } from '@owlmeans/llm-common'
3
3
  import { joinChunks, renderSkill, sortSkills } from './render.js'
4
4
  import type { LlmPromptPlugin } from './types.js'
@@ -41,7 +41,27 @@ export const skillsPlugin: LlmPromptPlugin = {
41
41
  }
42
42
 
43
43
  /**
44
- * Block 3 — whatever the caller handed over verbatim, plus any skills requested for this
44
+ * Block 3 — what the earlier steps of the pipeline produced, as the pipeline runtime cut it for
45
+ * the step this call belongs to (`PromptComposeParams.results`, normally `exec.results`).
46
+ *
47
+ * Contributes NOTHING without a view, so every call that is not inside an opted-in pipeline
48
+ * composes byte-identically to a service that never had this plugin. With one, it lands below the
49
+ * two cached boundaries (role + skills, packages) and above the per-call context: it changes from
50
+ * one step to the next, so it may never sit inside a region other steps read back from cache.
51
+ */
52
+ export const resultsPlugin: LlmPromptPlugin = {
53
+ alias: 'results',
54
+ order: 80,
55
+ compose: ctx => {
56
+ const text = renderCumulativeResults(ctx.results)
57
+ if (text !== '') {
58
+ ctx.add(PromptBlock.Results, text)
59
+ }
60
+ },
61
+ }
62
+
63
+ /**
64
+ * Block 4 — whatever the caller handed over verbatim, plus any skills requested for this
45
65
  * one call. Emitted last and never marked cacheable: its content varies per request by
46
66
  * definition, and a varying tail must not sit inside a prefix other calls depend on.
47
67
  */
@@ -65,5 +85,5 @@ export const contextPlugin: LlmPromptPlugin = {
65
85
 
66
86
  /** The plugins every {@link PromptService} starts with, in run order. */
67
87
  export const BUILT_IN_PROMPT_PLUGINS: readonly LlmPromptPlugin[] = [
68
- rolePlugin, skillsPlugin, contextPlugin,
88
+ rolePlugin, skillsPlugin, resultsPlugin, contextPlugin,
69
89
  ] as const
@@ -2,7 +2,8 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
2
2
  import type { MessageFieldWithRole } from '@langchain/core/messages'
3
3
  import type { InitializedService } from '@owlmeans/context'
4
4
  import type {
5
- CacheTtl, FileProviderRef, LlmPurpose, PromptBlock, PromptPolicy, SkillDefinition,
5
+ CacheTtl, CumulativeResults, FileProviderRef, LlmPurpose, PromptBlock, PromptPolicy,
6
+ SkillDefinition,
6
7
  } from '@owlmeans/llm-common'
7
8
  import type { LlmPlugin, LlmSystemBlock } from '../plugins/types.js'
8
9
 
@@ -46,6 +47,12 @@ export interface PromptComposeParams {
46
47
  * is not reproducible byte-for-byte, so it belongs in `Packages` or `Context`.
47
48
  */
48
49
  utility?: () => BaseChatModel | undefined
50
+ /**
51
+ * What the earlier steps of the pipeline this call runs in produced — normally the execution's
52
+ * own `results`. Rendered into `PromptBlock.Results` by `resultsPlugin`; absent, that block is
53
+ * not emitted and the composed bytes are exactly what they would be without it.
54
+ */
55
+ results?: CumulativeResults
49
56
  }
50
57
 
51
58
  /** What a prompt plugin sees and may contribute to. */
@@ -80,7 +87,7 @@ export interface PromptContext extends PromptComposeParams {
80
87
  */
81
88
  export interface LlmPromptPlugin {
82
89
  alias: string
83
- /** Lower runs first. The built-ins occupy 0 (role), 10 (skills) and 90 (context). */
90
+ /** Lower runs first. The built-ins occupy 0 (role), 10 (skills), 80 (results) and 90 (context). */
84
91
  order?: number
85
92
  /** Contribute static content, before anything has looked at the messages. */
86
93
  compose?: (ctx: PromptContext) => void | Promise<void>
package/src/types.ts CHANGED
@@ -4,8 +4,8 @@ import type { BaseCallbackHandler, CallbackHandlerMethods } from '@langchain/cor
4
4
  import type { JSONSchemaType } from 'ajv'
5
5
  import type { InitializedService } from '@owlmeans/context'
6
6
  import type {
7
- FileProviderRef, LlmPurpose, ModelEffort, ModelProvider, NullCapture, SpectatorArgument,
8
- SpectatorEntryLogged,
7
+ CumulativeResults, FileProviderRef, LlmPurpose, ModelEffort, ModelProvider, NullCapture,
8
+ SpectatorArgument, SpectatorEntryLogged,
9
9
  } from '@owlmeans/llm-common'
10
10
  import type { PromptInput, PromptService } from './prompt/types.js'
11
11
 
@@ -69,6 +69,12 @@ export interface LlmModelOptions extends LlmLogging {
69
69
  * fall back to whatever they can decide without a model.
70
70
  */
71
71
  utility?: () => BaseChatModel | undefined
72
+ /**
73
+ * What the earlier steps of the pipeline this model works in produced — the execution's own
74
+ * `results`, which arrives here whenever the helper execution itself is passed as the options.
75
+ * Composed into `PromptBlock.Results`; ignored, like `prompt`, without a `prompts` resolver.
76
+ */
77
+ results?: CumulativeResults
72
78
  }
73
79
 
74
80
  export type ModelMessage = BaseMessage | MessageFieldWithRole
@@ -0,0 +1,212 @@
1
+ import { describe, expect, test } from 'bun:test'
2
+ import { AIMessageChunk } from '@langchain/core/messages'
3
+ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
4
+ import { CUMULATIVE_RESULTS_PREAMBLE, ExecutionLevel, PromptBlock } from '@owlmeans/llm-common'
5
+ import type { CumulativeResults, TaskExecutionState } from '@owlmeans/llm-common'
6
+ import {
7
+ anthropicPlugin, DEFAULT_EFFORT, makeExecutionService, makeLlmModel, makeLlmService,
8
+ makePromptService,
9
+ } from '@owlmeans/llm'
10
+ import type { LlmPromptPlugin, LlmSpectator, ModelConfig, PromptService } from '@owlmeans/llm'
11
+ import { offlineConfigs, Role } from './context.js'
12
+
13
+ /**
14
+ * The execution-context capability for cumulative pipeline results: a view travels on the
15
+ * execution, the prompt service renders it into its own block, and a call WITHOUT one composes the
16
+ * very bytes it composed before the capability existed.
17
+ *
18
+ * The golden strings below were recorded from the prompt service and the model as they stood
19
+ * before the results block was added. They are the backward-compatibility claim, not an
20
+ * illustration of it: a single byte of drift invalidates every cached prefix in a deployment.
21
+ */
22
+
23
+ const anthropicModel = anthropicPlugin.build({
24
+ alias: 'spec',
25
+ secret: 'sk-test',
26
+ callbacks: [],
27
+ config: { alias: 'spec', model: 'claude-haiku-4-5-20251001', cacheMinTokens: 1 } as ModelConfig,
28
+ })
29
+
30
+ let seq = 0
31
+ const service = (plugins: LlmPromptPlugin[] = []): PromptService => makePromptService({
32
+ skills: [{ alias: 'a', body: 'Skill A body.' }],
33
+ plugins: [
34
+ { alias: 'pkg', inspect: ctx => ctx.add(PromptBlock.Packages, 'package text') },
35
+ ...plugins,
36
+ ],
37
+ }, `spec-results-${seq++}`)
38
+
39
+ const input = { role: 'The role.', skills: ['a'], context: ['per-call note'] }
40
+ const task = [{ role: 'user' as const, content: 'the task' }]
41
+
42
+ const view = (patch: Partial<CumulativeResults> = {}): CumulativeResults => ({
43
+ step: 'resources',
44
+ sections: [{ step: 'types', text: '### types\n- type `User`: { id: string } — import from `@app/common`' }],
45
+ omitted: [],
46
+ chars: 60,
47
+ digest: 'd1',
48
+ ...patch,
49
+ })
50
+
51
+ const GOLDEN_ANTHROPIC = '{"role":"system","content":[{"type":"text","text":"The role."},{"type":"text","text":"## a\\n\\nSkill A body.","cache_control":{"type":"ephemeral"}},{"type":"text","text":"package text","cache_control":{"type":"ephemeral"}},{"type":"text","text":"per-call note"}]}'
52
+ const GOLDEN_PLAIN = '{"role":"system","content":"The role.\\n\\n## a\\n\\nSkill A body.\\n\\npackage text\\n\\nper-call note"}'
53
+ const GOLDEN_MODEL = '[{"role":"system","content":"The role.\\n\\n## a\\n\\nSkill A body.\\n\\npackage text\\n\\ncaller system"},{"role":"user","content":"do it"}]'
54
+
55
+ describe('@owlmeans/llm — no results view, no change', () => {
56
+ test('the composed prompt is byte-identical to the one recorded before the block existed', async () => {
57
+ const anthropic = await service().compose(input, task, { model: anthropicModel, provider: anthropicPlugin })
58
+ const plain = await service().compose(input, [], { model: anthropicModel })
59
+
60
+ expect(JSON.stringify(anthropic.system)).toBe(GOLDEN_ANTHROPIC)
61
+ expect(anthropic.breakpoints).toBe(2)
62
+ expect(JSON.stringify(plain.system)).toBe(GOLDEN_PLAIN)
63
+ })
64
+
65
+ test('an explicit `results: undefined` composes the same bytes as a service without the plugin', async () => {
66
+ const without = service([{ alias: 'results', compose: () => undefined }])
67
+ const expected = await without.compose(input, task, { model: anthropicModel, provider: anthropicPlugin })
68
+ const actual = await service().compose(
69
+ input, task, { model: anthropicModel, provider: anthropicPlugin, results: undefined },
70
+ )
71
+
72
+ expect(JSON.stringify(actual.system)).toBe(JSON.stringify(expected.system))
73
+ expect(actual.blocks.map(block => block.block)).not.toContain(PromptBlock.Results)
74
+ })
75
+
76
+ test('a model built from options with no view sends the recorded bytes', async () => {
77
+ const asked: string[] = []
78
+ const svc = makePromptService({ skills: [{ alias: 'a', body: 'Skill A body.' }], plugins: [
79
+ { alias: 'pkg', inspect: ctx => ctx.add(PromptBlock.Packages, 'package text') },
80
+ ] }, `spec-results-model-${seq++}`)
81
+ const llm = makeLlmModel({
82
+ model: fakeModel(asked), purpose: { type: 't' }, prompt: { role: 'The role.', skills: ['a'] },
83
+ prompts: () => svc,
84
+ }, spectator)
85
+
86
+ await llm.ask([{ role: 'system', content: 'caller system' }, { role: 'user', content: 'do it' }], { action: 'a' })
87
+
88
+ expect(asked[0]).toBe(GOLDEN_MODEL)
89
+ })
90
+ })
91
+
92
+ describe('@owlmeans/llm — the results block', () => {
93
+ test('renders between the packages block and the per-call context', async () => {
94
+ const result = await service().compose(
95
+ input, task, { model: anthropicModel, provider: anthropicPlugin, results: view() },
96
+ )
97
+
98
+ expect(result.blocks.map(block => block.block)).toEqual([
99
+ PromptBlock.Role, PromptBlock.Skills, PromptBlock.Packages, PromptBlock.Results, PromptBlock.Context,
100
+ ])
101
+ expect(result.blocks[3]!.text.startsWith(CUMULATIVE_RESULTS_PREAMBLE)).toBe(true)
102
+ expect(result.blocks[3]!.text).toContain('### types')
103
+ })
104
+
105
+ // The two cached boundaries are what every call of a role shares across steps. A block that
106
+ // changes per step must not move them, mark itself between them, or take one of their markers.
107
+ test('leaves the cached role + skills and packages regions and their markers untouched', async () => {
108
+ const plain = await service().compose(input, task, { model: anthropicModel, provider: anthropicPlugin })
109
+ const withView = await service().compose(
110
+ input, task, { model: anthropicModel, provider: anthropicPlugin, results: view() },
111
+ )
112
+ const content = (value: unknown) => (value as { content: Array<Record<string, unknown>> }).content
113
+
114
+ expect(content(withView.system).slice(0, 3)).toEqual(content(plain.system).slice(0, 3))
115
+ expect(content(withView.system)[3]!.cache_control).toBeUndefined()
116
+ expect(content(withView.system)[4]).toEqual(content(plain.system)[3])
117
+ expect(withView.breakpoints).toBe(plain.breakpoints)
118
+ })
119
+
120
+ // With nothing after it, the view closes the prompt — stable for every call of that step, so
121
+ // it may take the closing breakpoint the packages block would have taken, never a third one.
122
+ test('as the last block it may take the closing marker, within the two-breakpoint budget', async () => {
123
+ const svc = makePromptService({ skills: [{ alias: 'a', body: 'Skill A body.' }] }, `spec-results-${seq++}`)
124
+ const result = await svc.compose(
125
+ { role: 'The role.', skills: ['a'] }, task,
126
+ { model: anthropicModel, provider: anthropicPlugin, results: view() },
127
+ )
128
+ const marks = (result.system!.content as Array<Record<string, unknown>>).map(part => part.cache_control != null)
129
+
130
+ expect(marks).toEqual([false, true, true])
131
+ expect(result.breakpoints).toBeLessThanOrEqual(2)
132
+ })
133
+
134
+ test('a model built from an execution carrying a view composes it, with no other wiring', async () => {
135
+ const asked: string[] = []
136
+ const svc = makePromptService({}, `spec-results-model-${seq++}`)
137
+ const executions = makeExecutionService(`spec-results-exec-${seq++}`)
138
+ const root = executions.root({
139
+ models: () => makeLlmService({ models: offlineConfigs }, `spec-results-llm-${seq++}`),
140
+ prompts: () => svc,
141
+ policy: { effort: DEFAULT_EFFORT },
142
+ purpose: { type: 'spec' },
143
+ prompt: { role: 'The role.' },
144
+ })
145
+ const helper = executions.forHelper(executions.withResults(root, view()), { role: Role.Analyst })
146
+
147
+ // The whole helper execution is the options object — how every consumer builds its model.
148
+ await makeLlmModel({ ...helper, model: fakeModel(asked) }, spectator)
149
+ .ask('do it', { action: 'a' })
150
+
151
+ expect(asked[0]).toContain('The role.')
152
+ expect(asked[0]).toContain('Results of earlier steps')
153
+ expect(asked[0]).toContain('### types')
154
+ })
155
+ })
156
+
157
+ describe('@owlmeans/llm — withResults', () => {
158
+ const executions = () => makeExecutionService(`spec-with-results-${seq++}`)
159
+ const rootOf = (svc: ReturnType<typeof makeExecutionService>) => svc.root({
160
+ models: () => makeLlmService({ models: offlineConfigs }, `spec-with-results-llm-${seq++}`),
161
+ policy: { effort: DEFAULT_EFFORT },
162
+ purpose: { type: 'spec' },
163
+ })
164
+
165
+ test('derives a frozen execution and deep-freezes the view it carries', () => {
166
+ const svc = executions()
167
+ const root = rootOf(svc)
168
+ const carried = svc.withResults(root, view())
169
+
170
+ expect(carried).not.toBe(root)
171
+ expect(Object.isFrozen(carried)).toBe(true)
172
+ expect(Object.isFrozen(carried.results!.sections[0])).toBe(true)
173
+ expect(root.results).toBeUndefined()
174
+ })
175
+
176
+ test('is inherited down the task and helper chain and survives a snapshot', () => {
177
+ const svc = executions()
178
+ const task = svc.forTask(svc.withResults(rootOf(svc), view()), { phase: 'draft' })
179
+ const helper = svc.forHelper(task, { role: Role.Analyst })
180
+
181
+ expect(task.results?.step).toBe('resources')
182
+ expect((task.state as TaskExecutionState).results?.step).toBe('resources')
183
+ expect(helper.results?.sections).toHaveLength(1)
184
+ expect(svc.snapshot(task).results?.digest).toBe('d1')
185
+ })
186
+
187
+ test('replaces an earlier view, and clears it given none', () => {
188
+ const svc = executions()
189
+ const task = svc.forTask(svc.withResults(rootOf(svc), view()), { phase: 'draft' })
190
+ const next = svc.withResults(task, view({ step: 'endpoints', digest: 'd2' }))
191
+ const cleared = svc.withResults(next, null)
192
+
193
+ expect(next.results?.step).toBe('endpoints')
194
+ expect('results' in cleared).toBe(false)
195
+ expect('results' in cleared.state).toBe(false)
196
+ expect(cleared.state.phase).toBe('draft')
197
+ expect(cleared.level).toBe(ExecutionLevel.Task)
198
+ })
199
+ })
200
+
201
+ const spectator = { log: async () => undefined } as unknown as LlmSpectator
202
+
203
+ /** Stands in for the MODEL — an external boundary — and records what it was sent, as JSON. */
204
+ const fakeModel = (asked: string[]): BaseChatModel => ({
205
+ getName: () => 'fake',
206
+ lc_kwargs: { model: 'fake' },
207
+ stream: async (messages: unknown[]) => {
208
+ asked.push(JSON.stringify(messages))
209
+
210
+ return (async function* () { yield new AIMessageChunk({ content: 'ok' }) })()
211
+ },
212
+ }) as unknown as BaseChatModel