@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 +2 -2
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/llm/SKILL.md +21 -6
- package/agent-meta/skills/llm-prompt-caching/SKILL.md +20 -4
- package/build/execution/service.d.ts.map +1 -1
- package/build/execution/service.js +8 -1
- package/build/execution/service.js.map +1 -1
- package/build/execution/types.d.ts +11 -1
- package/build/execution/types.d.ts.map +1 -1
- package/build/execution/utils.d.ts +9 -1
- package/build/execution/utils.d.ts.map +1 -1
- package/build/execution/utils.js +12 -0
- package/build/execution/utils.js.map +1 -1
- package/build/model.d.ts +1 -1
- package/build/model.d.ts.map +1 -1
- package/build/model.js +2 -2
- package/build/model.js.map +1 -1
- package/build/prompt/plugins.d.ts +11 -1
- package/build/prompt/plugins.d.ts.map +1 -1
- package/build/prompt/plugins.js +22 -3
- package/build/prompt/plugins.js.map +1 -1
- package/build/prompt/types.d.ts +8 -2
- package/build/prompt/types.d.ts.map +1 -1
- package/build/types.d.ts +7 -1
- package/build/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/execution/service.ts +16 -3
- package/src/execution/types.ts +13 -3
- package/src/execution/utils.ts +15 -2
- package/src/model.ts +2 -1
- package/src/prompt/plugins.ts +23 -3
- package/src/prompt/types.ts +9 -2
- package/src/types.ts +8 -2
- package/tests/results.spec.ts +212 -0
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.
|
|
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.
|
|
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
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/llm",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-09-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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 | `
|
|
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;
|
|
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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EACL,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,GAC1F,MAAM,sBAAsB,CAAA;
|
|
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":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,
|
|
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,
|
|
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"}
|
package/build/execution/utils.js
CHANGED
|
@@ -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
|
package/build/model.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
package/build/model.js.map
CHANGED
|
@@ -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 —
|
|
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"}
|
package/build/prompt/plugins.js
CHANGED
|
@@ -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 —
|
|
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;
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/prompt/plugins.ts"],"names":[],"mappings":"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"}
|
package/build/prompt/types.d.ts
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,
|
|
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;
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AACzC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EACV,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,
|
|
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.
|
|
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.
|
|
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.
|
|
61
|
-
"@owlmeans/llm-common": "^0.1.18-rc.
|
|
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": {
|
package/src/execution/service.ts
CHANGED
|
@@ -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 {
|
|
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,
|
|
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]
|
package/src/execution/types.ts
CHANGED
|
@@ -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,
|
|
5
|
-
InquiryConfig, LlmPurpose, ModelConfigOverride, ModelPolicy, ModelRole,
|
|
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
|
package/src/execution/utils.ts
CHANGED
|
@@ -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,
|
|
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)
|
package/src/prompt/plugins.ts
CHANGED
|
@@ -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 —
|
|
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
|
package/src/prompt/types.ts
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|