@owlmeans/agent 0.1.18-rc.18 → 0.1.18-rc.20
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 +4 -18
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/agent/SKILL.md +1 -26
- package/build/pipeline/runner.d.ts.map +1 -1
- package/build/pipeline/runner.js +48 -174
- package/build/pipeline/runner.js.map +1 -1
- package/build/pipeline/types.d.ts +1 -49
- package/build/pipeline/types.d.ts.map +1 -1
- package/build/plugins/export.d.ts +0 -2
- package/build/plugins/export.d.ts.map +1 -1
- package/build/plugins/export.js +0 -1
- package/build/plugins/export.js.map +1 -1
- package/package.json +8 -8
- package/src/pipeline/runner.ts +52 -210
- package/src/pipeline/types.ts +1 -50
- package/src/plugins/export.ts +0 -3
- package/build/plugins/inquiry.d.ts +0 -36
- package/build/plugins/inquiry.d.ts.map +0 -1
- package/build/plugins/inquiry.js +0 -126
- package/build/plugins/inquiry.js.map +0 -1
- package/build/runtime/checkpoint.d.ts +0 -37
- package/build/runtime/checkpoint.d.ts.map +0 -1
- package/build/runtime/checkpoint.js +0 -52
- package/build/runtime/checkpoint.js.map +0 -1
- package/src/plugins/inquiry.ts +0 -169
- package/tests/inquiry.spec.ts +0 -121
- package/tests/pipeline-inquiry.spec.ts +0 -299
package/README.md
CHANGED
|
@@ -39,7 +39,6 @@ const agent = context.agents().agent({ exec, tools })
|
|
|
39
39
|
| `summarizePlugin` | Compacts each finished run into `summary` + `advice`, and replays the last few on the way in |
|
|
40
40
|
| `memoryGraphPlugin` | Durable notes filed by subsystem, with links — index injected, content pulled by tool |
|
|
41
41
|
| `memoryEventsPlugin` | A bounded, ordered record of what happened |
|
|
42
|
-
| `inquiryPlugin` | The `ask_user` tool — offered only when a channel to a person is wired |
|
|
43
42
|
|
|
44
43
|
Both memory plugins also export a plain API (`memoryGraph`, `memoryEvents`) usable with no agent at
|
|
45
44
|
all, so a pipeline helper writes to the same store an agent reads.
|
|
@@ -73,22 +72,9 @@ implements. An unbound port is not an error — the plugin that needs it becomes
|
|
|
73
72
|
purpose is streamed to the client, so without it the summary of a run types itself out in the
|
|
74
73
|
user's view of that run, right after it finished.
|
|
75
74
|
|
|
76
|
-
**
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
`ExecutionPlugin` seam. What resumes is `makePipeline`, a state machine over named steps whose
|
|
80
|
-
position is written to a run row at every boundary; an agent run belongs inside one of its steps.
|
|
81
|
-
The row is the authority on where a run stands — never the LangGraph checkpoint, which is
|
|
82
|
-
size-guarded and expires. A checkpointer is optional and buys replay, never correctness.
|
|
83
|
-
|
|
84
|
-
**A step asks a person with `ctx.ask(inquiry)`, and a run nobody can answer parks `Waiting`.** An
|
|
85
|
-
answer already in the state comes straight back, so a question is never asked twice; that only
|
|
86
|
-
holds if `Inquiry.id` is DERIVED from the step and the thing being decided rather than minted per
|
|
87
|
-
call. Answers are merged by the runner, in `invoke` and in `resume({ answers })`, never by a
|
|
88
|
-
caller's mapping. An agent that installs `inquiryPlugin` must pass
|
|
89
|
-
`fatal: e => isFatalError(e) != null` into its tool invocation: the tool rethrows
|
|
90
|
-
`InquiryUnavailable` alone — a channel that has gone is terminal, and without the predicate the
|
|
91
|
-
loop spends its whole turn budget on it.
|
|
75
|
+
**No LangGraph checkpointer.** Recoverability lives in the OwlMeans execution and flow layers, which
|
|
76
|
+
already own a serializable state model; `makeAgentExecutionPlugin` is the first real implementation
|
|
77
|
+
of `@owlmeans/llm`'s `ExecutionPlugin` seam.
|
|
92
78
|
|
|
93
79
|
<!-- owlmeans:agent-guidance:start -->
|
|
94
80
|
## Agent guidance
|
|
@@ -98,7 +84,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
98
84
|
your project's skill store (`.agents/skills/`):
|
|
99
85
|
|
|
100
86
|
```sh
|
|
101
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
87
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.16
|
|
102
88
|
```
|
|
103
89
|
|
|
104
90
|
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/agent",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-09-
|
|
4
|
+
"version": "0.1.18-rc.20",
|
|
5
|
+
"generatedAt": "2026-09-12T12:33:32.493Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/agent
|
|
9
9
|
|
|
10
10
|
**Layer:** Cross-cutting domain
|
|
11
|
-
**Install:** `"@owlmeans/agent": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/agent": "^0.1.18-rc.20"` in `dependencies`, plus the `@langchain/core` and
|
|
12
12
|
`@langchain/langgraph` **peers**
|
|
13
13
|
|
|
14
14
|
The agent runtime. Contracts live in `@owlmeans/agent-common`.
|
|
@@ -24,7 +24,6 @@ The agent runtime. Contracts live in `@owlmeans/agent-common`.
|
|
|
24
24
|
| `summarizePlugin(options?)` | Compacts each finished run into `summary` + `advice`; replays the last few. |
|
|
25
25
|
| `memoryGraphPlugin(options?)` · `memoryGraph(store, options?)` | Durable notes filed by subsystem, with links. Plugin **and** plain API. |
|
|
26
26
|
| `memoryEventsPlugin(options?)` · `memoryEvents(store, options?)` | A bounded, ordered record of what happened. |
|
|
27
|
-
| `inquiryPlugin(options?)` · `INQUIRY_PLUGIN` · `ASK_USER_TOOL` | The `ask_user` tool and its one Context paragraph — offered only when a channel is wired. |
|
|
28
27
|
| `safeInvokeTool`, `toErrorResponse`, `isToolError` | The never-throwing tool contract. |
|
|
29
28
|
| `composeCompaction`, `composeRollingSummary`, `renderTranscript`, `messageText` | Summary primitives; both composers are total. |
|
|
30
29
|
| `makeStaticFlowProvider(flows)` | The server-side `FlowProvider` `@owlmeans/flow` does not ship. |
|
|
@@ -188,29 +187,6 @@ refuses to re-enter a completed one without `force`.
|
|
|
188
187
|
effects already applied to the world: re-entering a turn re-applies them. What IS resumable is a
|
|
189
188
|
pipeline — and an agent run belongs inside one of its steps.
|
|
190
189
|
|
|
191
|
-
**A step asks with `ctx.ask(inquiry)`, and a run nobody can answer parks `Waiting`.** Three
|
|
192
|
-
outcomes in order: an answer already in the state comes straight back (a question is never asked
|
|
193
|
-
twice); a live `options.inquiry.ask` answer is RECORDED in the state — `stateAnswerOf(capAnswer(…))`
|
|
194
|
-
under `state[INQUIRY_ANSWERS_KEY][id]`, the decision whole and the prose cut — and the FULL answer
|
|
195
|
-
returned to the step; otherwise the run stops `Waiting` with the inquiry on its row, and with no run
|
|
196
|
-
store it throws `PipelineNotResumableError` instead. A throwing channel is not a park: it fails the
|
|
197
|
-
step as an ordinary outcome, because the asking failed rather than the answer being no. `Inquiry.id`
|
|
198
|
-
is the only thing an answer is matched by, so DERIVE it from the step and the thing being decided —
|
|
199
|
-
an id minted per call never matches the state, and the run re-asks and parks forever.
|
|
200
|
-
|
|
201
|
-
**Answers are merged by the RUNNER, in `invoke` and in `resume({ answers })`, never by a mapping.**
|
|
202
|
-
`invoke` builds `{ ...restored, ...seed }`, so a mapping that forwarded the answers map would
|
|
203
|
-
replace the child's own recorded answers wholesale — and write `undefined` over them when the parent
|
|
204
|
-
had none, which re-asks question 1 on every resume. When a composed child parks, `asStep` relays its
|
|
205
|
-
question to the parent's `ctx.ask` and re-invokes the child with the answer (bounded at 8 questions
|
|
206
|
-
per composing step); the parent parks only when its own `ask` parks, and never throws a plain error
|
|
207
|
-
in that path.
|
|
208
|
-
|
|
209
|
-
**An agent that installs `inquiryPlugin` must pass `fatal: e => isFatalError(e) != null`.** The tool
|
|
210
|
-
rethrows `InquiryUnavailable` alone — no channel is an answerable situation, a channel that has GONE
|
|
211
|
-
is terminal — and `safeInvokeTool` contains everything else by default, so without that predicate
|
|
212
|
-
the loop spends its whole turn budget on a dead channel. See [[inquiry]] for the whole primitive.
|
|
213
|
-
|
|
214
190
|
**`safeInvokeTool(tools, call, fatal?)` takes a fatal predicate.** Containment is right for a bad
|
|
215
191
|
argument and wrong for an exhausted budget: a tool may be a whole pipeline behind one call, and
|
|
216
192
|
handing the model a readable "out of tokens" is an invitation to pick another tool and spend again.
|
|
@@ -228,7 +204,6 @@ boundary — never for an `@owlmeans/*` package.
|
|
|
228
204
|
|
|
229
205
|
## Related
|
|
230
206
|
|
|
231
|
-
- [[inquiry]] — the human-in-the-loop primitive `ctx.ask`, `Waiting` and `ask_user` belong to
|
|
232
207
|
- [[agent-common]] — the serializable records and the run lifecycle flow
|
|
233
208
|
- [[llm]] — `Execution`, the model contract and the `advise`-only `ExecutionPlugin`
|
|
234
209
|
- [[agent-checkpoint]] — the durable Mongo implementation of both storage ports (internal)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACqB,YAAY,EAAE,aAAa,EAC3D,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EACU,aAAa,EAAE,eAAe,EAEnD,MAAM,YAAY,CAAA;AAyCnB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,EAAE,CAAC,QAC/C,YAAY,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,KACjD,aAAa,CAAC,CAAC,EAAE,CAAC,CA2epB,CAAA"}
|
package/build/pipeline/runner.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Annotation, END, START, StateGraph } from '@langchain/langgraph';
|
|
2
|
-
import { AgentRunStateError, DEFAULT_MAX_STATE_CHARS,
|
|
3
|
-
import { DEFAULT_INQUIRY_ANSWER_CHARS, capAnswer, stateAnswerOf } from '@owlmeans/llm-common';
|
|
2
|
+
import { AgentRunStateError, DEFAULT_MAX_STATE_CHARS, PipelineNotIdempotentError, PipelineRunStatus, PipelineSpecError, PipelineStateTooLargeError, PipelineVersionError, orderPipelineSteps, pipelineDescendants, pipelineStep, validatePipelineSpec, } from '@owlmeans/agent-common';
|
|
4
3
|
/**
|
|
5
4
|
* Ends a run on purpose, with work left to do.
|
|
6
5
|
*
|
|
@@ -18,19 +17,6 @@ class PipelineStopSignal extends Error {
|
|
|
18
17
|
const isStop = (e) => e instanceof PipelineStopSignal;
|
|
19
18
|
const asError = (e) => e instanceof Error ? e : new Error(String(e));
|
|
20
19
|
const nowIso = () => new Date().toISOString();
|
|
21
|
-
/**
|
|
22
|
-
* How many questions ONE composing step may relay for its child before it gives up.
|
|
23
|
-
*
|
|
24
|
-
* A composed pipeline that keeps asking is a pipeline that will never finish, and the parent is the
|
|
25
|
-
* only place with a count to bound it: each round is a fresh child invocation, so nothing else in
|
|
26
|
-
* the stack can see that it is the same step asking again.
|
|
27
|
-
*/
|
|
28
|
-
const MAX_INQUIRY_ROUNDS = 8;
|
|
29
|
-
/** The answers a state carries, as a map. Total: a state that has never been asked has none. */
|
|
30
|
-
const answersIn = (state, key) => {
|
|
31
|
-
const held = state?.[key];
|
|
32
|
-
return typeof held === 'object' && held != null ? held : {};
|
|
33
|
-
};
|
|
34
20
|
/**
|
|
35
21
|
* A resumable state machine over LangGraph.
|
|
36
22
|
*
|
|
@@ -74,32 +60,10 @@ export const makePipeline = (spec, options) => {
|
|
|
74
60
|
const total = order.length;
|
|
75
61
|
const runs = options.runs;
|
|
76
62
|
const maxStateChars = options.maxStateChars ?? DEFAULT_MAX_STATE_CHARS;
|
|
77
|
-
const answersKey = options.inquiry?.answersKey ?? INQUIRY_ANSWERS_KEY;
|
|
78
|
-
const maxAnswerChars = options.inquiry?.maxAnswerChars ?? DEFAULT_INQUIRY_ANSWER_CHARS;
|
|
79
63
|
const trace = options.trace ?? (() => undefined);
|
|
80
64
|
const terminals = spec.steps
|
|
81
65
|
.filter(declared => !spec.steps.some(other => (other.after ?? []).includes(declared.step)))
|
|
82
66
|
.map(declared => declared.step);
|
|
83
|
-
/** The copy of an answer this pipeline's STATE is allowed to hold. */
|
|
84
|
-
const forState = (answer) => stateAnswerOf(capAnswer(answer, maxAnswerChars));
|
|
85
|
-
/**
|
|
86
|
-
* Fold every source of answers into the live state, later sources winning per id.
|
|
87
|
-
*
|
|
88
|
-
* Writes nothing when there is nothing to write, so a pipeline that never asks a question keeps
|
|
89
|
-
* a state byte-identical to the one it had before this existed.
|
|
90
|
-
*
|
|
91
|
-
* Every folded answer is cut to what a state may hold, exactly as `ctx.ask` cuts a live one. A
|
|
92
|
-
* resume is the PRIMARY way an answer reaches a parked run — that is what `Waiting` exists for —
|
|
93
|
-
* so a ceiling enforced on the live path alone is a ceiling enforced where the least text
|
|
94
|
-
* arrives, and the keys-only state it protects fills up through the other door.
|
|
95
|
-
*/
|
|
96
|
-
const mergeAnswers = (live, ...sources) => {
|
|
97
|
-
const merged = Object.assign({}, ...sources);
|
|
98
|
-
const ids = Object.keys(merged);
|
|
99
|
-
if (ids.length > 0) {
|
|
100
|
-
live[answersKey] = Object.fromEntries(ids.map(id => [id, forState(merged[id])]));
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
67
|
/** One execution of the graph over a row that is already decided. */
|
|
104
68
|
const execute = async (row, live, seeded, args) => {
|
|
105
69
|
const deadline = args.budgetMs != null ? Date.now() + args.budgetMs : undefined;
|
|
@@ -114,11 +78,7 @@ export const makePipeline = (spec, options) => {
|
|
|
114
78
|
* analysis narrows away — it sees the initial `null`, cannot see the assignment, and types the
|
|
115
79
|
* later read as `never`.
|
|
116
80
|
*/
|
|
117
|
-
const outcome = { failedAt: null, error: null, fatal: null, stopped: null
|
|
118
|
-
// A row entering the graph again is a row that is no longer waiting: whatever it asked has
|
|
119
|
-
// either been answered into the state or is about to be asked afresh. Left standing, the
|
|
120
|
-
// question would be offered by every reader of the row for the rest of the run's life.
|
|
121
|
-
row.inquiry = undefined;
|
|
81
|
+
const outcome = { failedAt: null, error: null, fatal: null, stopped: null };
|
|
122
82
|
const report = (progress) => {
|
|
123
83
|
try {
|
|
124
84
|
options.onProgress?.(progress);
|
|
@@ -171,78 +131,26 @@ export const makePipeline = (spec, options) => {
|
|
|
171
131
|
trace(`[pipe:${spec.alias}:${row.runId}] row saved · completed=${row.completed.length}`
|
|
172
132
|
+ `/${total} chars=${row.stateChars}`);
|
|
173
133
|
};
|
|
174
|
-
const contextFor = (step) => {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
ask: async (inquiry) => {
|
|
195
|
-
const answers = answersIn(live, answersKey);
|
|
196
|
-
const known = answers[inquiry.id];
|
|
197
|
-
if (known != null) {
|
|
198
|
-
// A resume, or a second step asking the same thing. Never a second question.
|
|
199
|
-
return known;
|
|
200
|
-
}
|
|
201
|
-
const answer = options.inquiry?.ask != null
|
|
202
|
-
? await options.inquiry.ask(inquiry, ctx)
|
|
203
|
-
: null;
|
|
204
|
-
if (answer != null) {
|
|
205
|
-
const capped = capAnswer({ ...answer, inquiryId: inquiry.id }, maxAnswerChars);
|
|
206
|
-
// The state keeps the DECISION and a short excerpt of any prose; the step is handed the
|
|
207
|
-
// whole answer. A state is scalars and keys, and two long answers would spend a
|
|
208
|
-
// pipeline's whole state budget on text nothing replays from.
|
|
209
|
-
//
|
|
210
|
-
// The map is re-read HERE rather than reused from before the await: answers are the one
|
|
211
|
-
// accumulating state key, and steps with no edge between them run in the same superstep.
|
|
212
|
-
// Two of them asking would each write back the copy they read before their channel
|
|
213
|
-
// answered, and the second write would drop the first answer — leaving a question the
|
|
214
|
-
// person has already answered to be asked again on the next entry.
|
|
215
|
-
await ctx.mark({
|
|
216
|
-
[answersKey]: {
|
|
217
|
-
...answersIn(live, answersKey), [inquiry.id]: stateAnswerOf(capped),
|
|
218
|
-
},
|
|
219
|
-
});
|
|
220
|
-
return capped;
|
|
221
|
-
}
|
|
222
|
-
if (runs == null) {
|
|
223
|
-
// Nothing would be there to resume, so parking would strand the run rather than pause
|
|
224
|
-
// it. The step fails at once and says why.
|
|
225
|
-
throw new PipelineNotResumableError(`${spec.alias}:${row.runId}:no-run-store`);
|
|
226
|
-
}
|
|
227
|
-
// Decided BEFORE the write: a state that has outgrown its cap fails `commit`, and an
|
|
228
|
-
// outcome recorded afterwards would let that failure read as the step's, ending the run
|
|
229
|
-
// `Failed` with a row that says nothing about the question.
|
|
230
|
-
outcome.stopped = 'inquiry';
|
|
231
|
-
outcome.inquiry = { step, askedAt: nowIso(), inquiry };
|
|
232
|
-
row.inquiry = outcome.inquiry;
|
|
233
|
-
try {
|
|
234
|
-
await commit();
|
|
235
|
-
}
|
|
236
|
-
catch (e) {
|
|
237
|
-
// The terminal write freezes the state instead of re-serializing it, so the run still
|
|
238
|
-
// parks with its question on the row.
|
|
239
|
-
console.warn(`Pipeline ${spec.alias}:${step} could not save the state it parked on:`, e);
|
|
240
|
-
}
|
|
241
|
-
throw new PipelineStopSignal('inquiry');
|
|
242
|
-
},
|
|
243
|
-
};
|
|
244
|
-
return ctx;
|
|
245
|
-
};
|
|
134
|
+
const contextFor = (step) => ({
|
|
135
|
+
runId: row.runId,
|
|
136
|
+
step,
|
|
137
|
+
spec,
|
|
138
|
+
deps: args.deps,
|
|
139
|
+
scope: row.scope,
|
|
140
|
+
entityId: row.entityId,
|
|
141
|
+
completed: row.completed,
|
|
142
|
+
signal: controller.signal,
|
|
143
|
+
mark: async (patch) => {
|
|
144
|
+
Object.assign(live, patch);
|
|
145
|
+
await commit();
|
|
146
|
+
},
|
|
147
|
+
report: note => {
|
|
148
|
+
row.note = note;
|
|
149
|
+
report({ pipeline: spec.alias, runId: row.runId, step, index: order.indexOf(step) + 1, total, note });
|
|
150
|
+
},
|
|
151
|
+
expired: () => (deadline != null && Date.now() >= deadline) || controller.signal.aborted,
|
|
152
|
+
remainingMs: () => deadline != null ? Math.max(0, deadline - Date.now()) : undefined,
|
|
153
|
+
});
|
|
246
154
|
const nodeFor = (declared) => async () => {
|
|
247
155
|
const step = declared.step;
|
|
248
156
|
const index = order.indexOf(step) + 1;
|
|
@@ -373,12 +281,9 @@ export const makePipeline = (spec, options) => {
|
|
|
373
281
|
}
|
|
374
282
|
catch (e) {
|
|
375
283
|
if (isStop(e) || outcome.stopped != null) {
|
|
376
|
-
const waiting = outcome.stopped === 'inquiry';
|
|
377
284
|
await commit({
|
|
378
|
-
status:
|
|
379
|
-
note:
|
|
380
|
-
? `waiting: ${outcome.inquiry?.inquiry.id ?? '?'}`
|
|
381
|
-
: `stopped: ${outcome.stopped ?? 'budget'}`,
|
|
285
|
+
status: PipelineRunStatus.Aborted,
|
|
286
|
+
note: `stopped: ${outcome.stopped ?? 'budget'}`,
|
|
382
287
|
freezeState: true,
|
|
383
288
|
});
|
|
384
289
|
}
|
|
@@ -414,7 +319,6 @@ export const makePipeline = (spec, options) => {
|
|
|
414
319
|
...(row.failedAt != null && row.failedAt !== '' ? { failedAt: row.failedAt } : {}),
|
|
415
320
|
...(outcome.error != null ? { error: outcome.error } : {}),
|
|
416
321
|
...(row.note != null ? { note: row.note } : {}),
|
|
417
|
-
...(row.inquiry != null ? { inquiry: row.inquiry } : {}),
|
|
418
322
|
};
|
|
419
323
|
};
|
|
420
324
|
const freshRow = (args) => ({
|
|
@@ -460,10 +364,6 @@ export const makePipeline = (spec, options) => {
|
|
|
460
364
|
: freshRow(args);
|
|
461
365
|
const restored = resuming ? JSON.parse(existing.state === '' ? '{}' : existing.state) : {};
|
|
462
366
|
const live = { ...restored, ...seed };
|
|
463
|
-
// The seed overwrites the restored state key by key, which is right for every key but this
|
|
464
|
-
// one: answers are cumulative, and a seed carrying the caller's map — or carrying nothing —
|
|
465
|
-
// would drop what the run has already been told and ask the same question again.
|
|
466
|
-
mergeAnswers(live, answersIn(restored, answersKey), answersIn(seed, answersKey));
|
|
467
367
|
const seeded = new Set(resuming ? existing.completed : []);
|
|
468
368
|
trace(`[pipe:${spec.alias}:${row.runId}] ${resuming ? 'continue' : 'start'}`
|
|
469
369
|
+ ` · steps=${total} inherited=${seeded.size} attempt=${row.attempts}`);
|
|
@@ -497,11 +397,10 @@ export const makePipeline = (spec, options) => {
|
|
|
497
397
|
failedAt: undefined,
|
|
498
398
|
error: undefined,
|
|
499
399
|
};
|
|
500
|
-
const
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
mergeAnswers(live, answersIn(restored, answersKey), answersIn(args.patch, answersKey), args.answers ?? {});
|
|
400
|
+
const live = {
|
|
401
|
+
...JSON.parse(existing.state === '' ? '{}' : existing.state),
|
|
402
|
+
...(args.patch ?? {}),
|
|
403
|
+
};
|
|
505
404
|
trace(`[pipe:${spec.alias}:${runId}] resume`
|
|
506
405
|
+ `${args.from != null ? ` from=${args.from}` : ''} inherited=${completed.length}/${total}`
|
|
507
406
|
+ ` attempt=${row.attempts}`);
|
|
@@ -511,53 +410,28 @@ export const makePipeline = (spec, options) => {
|
|
|
511
410
|
asStep: (step, mapping) => ({
|
|
512
411
|
step,
|
|
513
412
|
run: async (parent, ctx) => {
|
|
514
|
-
//
|
|
515
|
-
//
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
}
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
return remaining != null ? { budgetMs: remaining } : {};
|
|
533
|
-
})(),
|
|
534
|
-
signal: ctx.signal,
|
|
535
|
-
});
|
|
536
|
-
if (result.status === PipelineRunStatus.Waiting) {
|
|
537
|
-
if (result.inquiry == null) {
|
|
538
|
-
// A parked run always names what it parked on; without it there is nothing to relay
|
|
539
|
-
// and nothing a resume of the parent could deliver.
|
|
540
|
-
throw new PipelineNotResumableError(`${spec.alias}:${ctx.runId}/${step}:waiting-without-inquiry`);
|
|
541
|
-
}
|
|
542
|
-
// Either the parent can answer — from its own state or through a live channel — and the
|
|
543
|
-
// child is re-entered with the answer, or the parent parks on the SAME question, which
|
|
544
|
-
// leaves here as the runner's stop signal rather than as a failure.
|
|
545
|
-
answers[result.inquiry.inquiry.id] = await ctx.ask(result.inquiry.inquiry);
|
|
546
|
-
continue;
|
|
547
|
-
}
|
|
548
|
-
if (result.status === PipelineRunStatus.Failed) {
|
|
549
|
-
if (mapping.tolerate?.(result) === true) {
|
|
550
|
-
ctx.report(`${step}: ${result.failedAt ?? 'failed'} — ${result.error?.message ?? ''}`);
|
|
551
|
-
return mapping.output(result.state, parent);
|
|
552
|
-
}
|
|
553
|
-
throw result.error ?? new Error(`${spec.alias} failed at ${result.failedAt ?? '?'}`);
|
|
413
|
+
// The child keeps a run row of its own, addressed under the parent's, so a parent resumed
|
|
414
|
+
// at this step resumes the CHILD at the child's own failed step instead of re-running all
|
|
415
|
+
// of it.
|
|
416
|
+
const result = await model.invoke(mapping.input(parent), {
|
|
417
|
+
runId: `${ctx.runId}/${step}`,
|
|
418
|
+
deps: ctx.deps,
|
|
419
|
+
scope: ctx.scope,
|
|
420
|
+
...(ctx.entityId != null ? { entityId: ctx.entityId } : {}),
|
|
421
|
+
...(() => {
|
|
422
|
+
const remaining = ctx.remainingMs();
|
|
423
|
+
return remaining != null ? { budgetMs: remaining } : {};
|
|
424
|
+
})(),
|
|
425
|
+
signal: ctx.signal,
|
|
426
|
+
});
|
|
427
|
+
if (result.status === PipelineRunStatus.Failed) {
|
|
428
|
+
if (mapping.tolerate?.(result) === true) {
|
|
429
|
+
ctx.report(`${step}: ${result.failedAt ?? 'failed'} — ${result.error?.message ?? ''}`);
|
|
430
|
+
return mapping.output(result.state, parent);
|
|
554
431
|
}
|
|
555
|
-
|
|
432
|
+
throw result.error ?? new Error(`${spec.alias} failed at ${result.failedAt ?? '?'}`);
|
|
556
433
|
}
|
|
557
|
-
|
|
558
|
-
// place holding a count: every round is a fresh invocation, so nothing below can see that
|
|
559
|
-
// it is the same step asking again.
|
|
560
|
-
throw new PipelineNotResumableError(`${spec.alias}:${ctx.runId}/${step}:questions-exceeded:${MAX_INQUIRY_ROUNDS}`);
|
|
434
|
+
return mapping.output(result.state, parent);
|
|
561
435
|
},
|
|
562
436
|
}),
|
|
563
437
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
2
|
-
import type { PipelineProgress, PipelineRun,
|
|
3
|
-
import type { Inquiry, InquiryAnswer } from '@owlmeans/llm-common';
|
|
2
|
+
import type { PipelineProgress, PipelineRun, PipelineRunStatus, PipelineSpec, PipelineState } from '@owlmeans/agent-common';
|
|
4
3
|
import type { PipelineRunStore } from '../stores/types.js';
|
|
5
4
|
/**
|
|
6
5
|
* What a step is handed while it runs.
|
|
@@ -43,42 +42,6 @@ export interface PipelineRunContext<S extends PipelineState, C> {
|
|
|
43
42
|
expired: () => boolean;
|
|
44
43
|
/** What is left of the run's budget, or `undefined` when it has none. */
|
|
45
44
|
remainingMs: () => number | undefined;
|
|
46
|
-
/**
|
|
47
|
-
* Put a question to a person and wait for the answer.
|
|
48
|
-
*
|
|
49
|
-
* Three outcomes, in this order. An answer already in the state — which is what a resume carries
|
|
50
|
-
* — comes straight back. A live channel that answers has its answer RECORDED in the state before
|
|
51
|
-
* it is returned, so the same question is never asked twice. Otherwise the run stops `Waiting`
|
|
52
|
-
* with the inquiry on its row and this call never returns: it throws the runner's own stop
|
|
53
|
-
* signal, which is not a failure and must not be caught by the step.
|
|
54
|
-
*
|
|
55
|
-
* What the step reads is the WHOLE answer; only the copy kept in the state is cut, because a
|
|
56
|
-
* state is scalars and keys and an answer's prose belongs wherever the pipeline keeps documents.
|
|
57
|
-
*
|
|
58
|
-
* `Inquiry.id` is the ONLY thing an answer is matched by, so it must be DERIVED from the step and
|
|
59
|
-
* the thing being decided — never minted per call. An id generated afresh on every entry can
|
|
60
|
-
* never match what the state holds, so the run re-asks and parks again forever.
|
|
61
|
-
*/
|
|
62
|
-
ask: (inquiry: Inquiry) => Promise<InquiryAnswer>;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* How a pipeline puts a question to a person.
|
|
66
|
-
*
|
|
67
|
-
* Absent altogether means no channel at all: a step that asks parks the run at once. That is the
|
|
68
|
-
* safe default — a run given no way to ask must never invent one.
|
|
69
|
-
*/
|
|
70
|
-
export interface PipelineInquiryOptions<S extends PipelineState, C> {
|
|
71
|
-
/**
|
|
72
|
-
* Answer live, or `null` to say nobody is there — which parks the run.
|
|
73
|
-
*
|
|
74
|
-
* A THROW is not a park: it escapes and fails the step as an ordinary outcome, because an error
|
|
75
|
-
* from the channel says the asking failed, not that the answer is no.
|
|
76
|
-
*/
|
|
77
|
-
ask?: (inquiry: Inquiry, ctx: PipelineRunContext<S, C>) => Promise<InquiryAnswer | null>;
|
|
78
|
-
/** Where answers live in the state. Defaults to `INQUIRY_ANSWERS_KEY`. */
|
|
79
|
-
answersKey?: string;
|
|
80
|
-
/** Ceiling on ONE answer. Defaults to `DEFAULT_INQUIRY_ANSWER_CHARS`. */
|
|
81
|
-
maxAnswerChars?: number;
|
|
82
45
|
}
|
|
83
46
|
export interface PipelineStep<S extends PipelineState, C> {
|
|
84
47
|
step: string;
|
|
@@ -109,8 +72,6 @@ export interface PipelineOptions<S extends PipelineState, C> {
|
|
|
109
72
|
*/
|
|
110
73
|
fatal?: (e: unknown) => boolean;
|
|
111
74
|
maxStateChars?: number;
|
|
112
|
-
/** How `ctx.ask` reaches a person. Absent ⇒ every question parks the run. */
|
|
113
|
-
inquiry?: PipelineInquiryOptions<S, C>;
|
|
114
75
|
onProgress?: (progress: PipelineProgress) => void;
|
|
115
76
|
/** One line per step boundary. The only place a runner says anything. */
|
|
116
77
|
trace?: (line: string) => void;
|
|
@@ -125,8 +86,6 @@ export interface PipelineResult<S extends PipelineState> {
|
|
|
125
86
|
failedAt?: string;
|
|
126
87
|
error?: Error;
|
|
127
88
|
note?: string;
|
|
128
|
-
/** What a `Waiting` run stopped on. Present only with that status. */
|
|
129
|
-
inquiry?: PipelineRunInquiry;
|
|
130
89
|
}
|
|
131
90
|
export interface PipelineInvokeArgs<C> {
|
|
132
91
|
runId: string;
|
|
@@ -156,13 +115,6 @@ export interface PipelineResumeArgs<C> {
|
|
|
156
115
|
force?: boolean;
|
|
157
116
|
/** Merged into the restored state before the first step runs. */
|
|
158
117
|
patch?: Record<string, unknown>;
|
|
159
|
-
/**
|
|
160
|
-
* Answers to questions the run parked on, keyed by inquiry id.
|
|
161
|
-
*
|
|
162
|
-
* MERGED into the state's answers rather than assigned over them, and merged last — after
|
|
163
|
-
* `patch` — so an answer given earlier is never dropped by a resume that carries a newer one.
|
|
164
|
-
*/
|
|
165
|
-
answers?: Record<string, InquiryAnswer>;
|
|
166
118
|
budgetMs?: number;
|
|
167
119
|
signal?: AbortSignal;
|
|
168
120
|
onProgress?: (progress: PipelineProgress) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,KAAK,EACV,gBAAgB,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,4 @@ export { DEFAULT_FOLLOW, MEMORY_GRAPH_PLUGIN, memoryGraph, memoryGraphPlugin } f
|
|
|
5
5
|
export type { MemoryGraphApi, MemoryGraphOptions } from './memory-graph.js';
|
|
6
6
|
export { DEFAULT_MEMORY_EVENT_CHARS, MEMORY_EVENTS_PLUGIN, memoryEvents, memoryEventsPlugin, } from './memory-events.js';
|
|
7
7
|
export type { MemoryEventsApi, MemoryEventsOptions } from './memory-events.js';
|
|
8
|
-
export { ASK_USER_TOOL, INQUIRY_PLUGIN, inquiryPlugin } from './inquiry.js';
|
|
9
|
-
export type { InquiryPluginOptions } from './inquiry.js';
|
|
10
8
|
//# sourceMappingURL=export.d.ts.map
|