@owlmeans/agent 0.1.18-rc.24 → 0.1.18-rc.25
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 +1 -1
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/agent/SKILL.md +1 -1
- package/build/pipeline/runner.d.ts.map +1 -1
- package/build/pipeline/runner.js +174 -48
- package/build/pipeline/runner.js.map +1 -1
- package/build/pipeline/types.d.ts +49 -1
- package/build/pipeline/types.d.ts.map +1 -1
- package/build/plugins/export.d.ts +2 -0
- package/build/plugins/export.d.ts.map +1 -1
- package/build/plugins/export.js +1 -0
- package/build/plugins/export.js.map +1 -1
- package/build/plugins/inquiry.d.ts +36 -0
- package/build/plugins/inquiry.d.ts.map +1 -0
- package/build/plugins/inquiry.js +126 -0
- package/build/plugins/inquiry.js.map +1 -0
- package/package.json +8 -8
- package/src/pipeline/runner.ts +210 -52
- package/src/pipeline/types.ts +50 -1
- package/src/plugins/export.ts +3 -0
- package/src/plugins/inquiry.ts +169 -0
- package/tests/inquiry.spec.ts +121 -0
- package/tests/pipeline-inquiry.spec.ts +299 -0
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
84
84
|
your project's skill store (`.agents/skills/`):
|
|
85
85
|
|
|
86
86
|
```sh
|
|
87
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
87
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.21
|
|
88
88
|
```
|
|
89
89
|
|
|
90
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.25",
|
|
5
|
+
"generatedAt": "2026-09-15T12:21:31.929Z",
|
|
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.25"` 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`.
|
|
@@ -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":"AAQA,OAAO,KAAK,EACyC,YAAY,EAAE,aAAa,EAC/E,MAAM,wBAAwB,CAAA;AAG/B,OAAO,KAAK,EACU,aAAa,EAAE,eAAe,EAEnD,MAAM,YAAY,CAAA;AAyDnB;;;;;;;;;;;;;;;;;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,CAsnBpB,CAAA"}
|
package/build/pipeline/runner.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Annotation, END, START, StateGraph } from '@langchain/langgraph';
|
|
2
|
-
import { AgentRunStateError, DEFAULT_MAX_STATE_CHARS, PipelineNotIdempotentError, PipelineRunStatus, PipelineSpecError, PipelineStateTooLargeError, PipelineVersionError, orderPipelineSteps, pipelineDescendants, pipelineStep, validatePipelineSpec, } from '@owlmeans/agent-common';
|
|
2
|
+
import { AgentRunStateError, DEFAULT_MAX_STATE_CHARS, INQUIRY_ANSWERS_KEY, PipelineNotIdempotentError, PipelineNotResumableError, PipelineRunStatus, PipelineSpecError, PipelineStateTooLargeError, PipelineVersionError, orderPipelineSteps, pipelineDescendants, pipelineStep, validatePipelineSpec, } from '@owlmeans/agent-common';
|
|
3
|
+
import { DEFAULT_INQUIRY_ANSWER_CHARS, capAnswer, stateAnswerOf } from '@owlmeans/llm-common';
|
|
3
4
|
/**
|
|
4
5
|
* Ends a run on purpose, with work left to do.
|
|
5
6
|
*
|
|
@@ -17,6 +18,19 @@ class PipelineStopSignal extends Error {
|
|
|
17
18
|
const isStop = (e) => e instanceof PipelineStopSignal;
|
|
18
19
|
const asError = (e) => e instanceof Error ? e : new Error(String(e));
|
|
19
20
|
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
|
+
};
|
|
20
34
|
/**
|
|
21
35
|
* A resumable state machine over LangGraph.
|
|
22
36
|
*
|
|
@@ -60,10 +74,32 @@ export const makePipeline = (spec, options) => {
|
|
|
60
74
|
const total = order.length;
|
|
61
75
|
const runs = options.runs;
|
|
62
76
|
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;
|
|
63
79
|
const trace = options.trace ?? (() => undefined);
|
|
64
80
|
const terminals = spec.steps
|
|
65
81
|
.filter(declared => !spec.steps.some(other => (other.after ?? []).includes(declared.step)))
|
|
66
82
|
.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
|
+
};
|
|
67
103
|
/** One execution of the graph over a row that is already decided. */
|
|
68
104
|
const execute = async (row, live, seeded, args) => {
|
|
69
105
|
const deadline = args.budgetMs != null ? Date.now() + args.budgetMs : undefined;
|
|
@@ -78,7 +114,11 @@ export const makePipeline = (spec, options) => {
|
|
|
78
114
|
* analysis narrows away — it sees the initial `null`, cannot see the assignment, and types the
|
|
79
115
|
* later read as `never`.
|
|
80
116
|
*/
|
|
81
|
-
const outcome = { failedAt: null, error: null, fatal: null, stopped: null };
|
|
117
|
+
const outcome = { failedAt: null, error: null, fatal: null, stopped: null, inquiry: 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;
|
|
82
122
|
const report = (progress) => {
|
|
83
123
|
try {
|
|
84
124
|
options.onProgress?.(progress);
|
|
@@ -131,26 +171,78 @@ export const makePipeline = (spec, options) => {
|
|
|
131
171
|
trace(`[pipe:${spec.alias}:${row.runId}] row saved · completed=${row.completed.length}`
|
|
132
172
|
+ `/${total} chars=${row.stateChars}`);
|
|
133
173
|
};
|
|
134
|
-
const contextFor = (step) =>
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
174
|
+
const contextFor = (step) => {
|
|
175
|
+
const ctx = {
|
|
176
|
+
runId: row.runId,
|
|
177
|
+
step,
|
|
178
|
+
spec,
|
|
179
|
+
deps: args.deps,
|
|
180
|
+
scope: row.scope,
|
|
181
|
+
entityId: row.entityId,
|
|
182
|
+
completed: row.completed,
|
|
183
|
+
signal: controller.signal,
|
|
184
|
+
mark: async (patch) => {
|
|
185
|
+
Object.assign(live, patch);
|
|
186
|
+
await commit();
|
|
187
|
+
},
|
|
188
|
+
report: note => {
|
|
189
|
+
row.note = note;
|
|
190
|
+
report({ pipeline: spec.alias, runId: row.runId, step, index: order.indexOf(step) + 1, total, note });
|
|
191
|
+
},
|
|
192
|
+
expired: () => (deadline != null && Date.now() >= deadline) || controller.signal.aborted,
|
|
193
|
+
remainingMs: () => deadline != null ? Math.max(0, deadline - Date.now()) : undefined,
|
|
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
|
+
};
|
|
154
246
|
const nodeFor = (declared) => async () => {
|
|
155
247
|
const step = declared.step;
|
|
156
248
|
const index = order.indexOf(step) + 1;
|
|
@@ -281,9 +373,12 @@ export const makePipeline = (spec, options) => {
|
|
|
281
373
|
}
|
|
282
374
|
catch (e) {
|
|
283
375
|
if (isStop(e) || outcome.stopped != null) {
|
|
376
|
+
const waiting = outcome.stopped === 'inquiry';
|
|
284
377
|
await commit({
|
|
285
|
-
status: PipelineRunStatus.Aborted,
|
|
286
|
-
note:
|
|
378
|
+
status: waiting ? PipelineRunStatus.Waiting : PipelineRunStatus.Aborted,
|
|
379
|
+
note: waiting
|
|
380
|
+
? `waiting: ${outcome.inquiry?.inquiry.id ?? '?'}`
|
|
381
|
+
: `stopped: ${outcome.stopped ?? 'budget'}`,
|
|
287
382
|
freezeState: true,
|
|
288
383
|
});
|
|
289
384
|
}
|
|
@@ -319,6 +414,7 @@ export const makePipeline = (spec, options) => {
|
|
|
319
414
|
...(row.failedAt != null && row.failedAt !== '' ? { failedAt: row.failedAt } : {}),
|
|
320
415
|
...(outcome.error != null ? { error: outcome.error } : {}),
|
|
321
416
|
...(row.note != null ? { note: row.note } : {}),
|
|
417
|
+
...(row.inquiry != null ? { inquiry: row.inquiry } : {}),
|
|
322
418
|
};
|
|
323
419
|
};
|
|
324
420
|
const freshRow = (args) => ({
|
|
@@ -364,6 +460,10 @@ export const makePipeline = (spec, options) => {
|
|
|
364
460
|
: freshRow(args);
|
|
365
461
|
const restored = resuming ? JSON.parse(existing.state === '' ? '{}' : existing.state) : {};
|
|
366
462
|
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));
|
|
367
467
|
const seeded = new Set(resuming ? existing.completed : []);
|
|
368
468
|
trace(`[pipe:${spec.alias}:${row.runId}] ${resuming ? 'continue' : 'start'}`
|
|
369
469
|
+ ` · steps=${total} inherited=${seeded.size} attempt=${row.attempts}`);
|
|
@@ -397,10 +497,11 @@ export const makePipeline = (spec, options) => {
|
|
|
397
497
|
failedAt: undefined,
|
|
398
498
|
error: undefined,
|
|
399
499
|
};
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
500
|
+
const restored = JSON.parse(existing.state === '' ? '{}' : existing.state);
|
|
501
|
+
const live = { ...restored, ...(args.patch ?? {}) };
|
|
502
|
+
// Answers merge, and the ones this resume carries land last: a resume is how an answer
|
|
503
|
+
// reaches a parked run, and it must never cost the run the answers it already had.
|
|
504
|
+
mergeAnswers(live, answersIn(restored, answersKey), answersIn(args.patch, answersKey), args.answers ?? {});
|
|
404
505
|
trace(`[pipe:${spec.alias}:${runId}] resume`
|
|
405
506
|
+ `${args.from != null ? ` from=${args.from}` : ''} inherited=${completed.length}/${total}`
|
|
406
507
|
+ ` attempt=${row.attempts}`);
|
|
@@ -410,28 +511,53 @@ export const makePipeline = (spec, options) => {
|
|
|
410
511
|
asStep: (step, mapping) => ({
|
|
411
512
|
step,
|
|
412
513
|
run: async (parent, ctx) => {
|
|
413
|
-
//
|
|
414
|
-
//
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
514
|
+
// What the parent has already been told. Both pipelines default to the same state key, so
|
|
515
|
+
// an answer the parent holds spares the child the round trip of asking for it again.
|
|
516
|
+
const answers = { ...answersIn(parent, answersKey) };
|
|
517
|
+
for (let round = 0; round < MAX_INQUIRY_ROUNDS; ++round) {
|
|
518
|
+
const seed = { ...mapping.input(parent) };
|
|
519
|
+
if (Object.keys(answers).length > 0) {
|
|
520
|
+
seed[answersKey] = answers;
|
|
521
|
+
}
|
|
522
|
+
// The child keeps a run row of its own, addressed under the parent's, so a parent resumed
|
|
523
|
+
// at this step resumes the CHILD at the child's own failed step instead of re-running all
|
|
524
|
+
// of it.
|
|
525
|
+
const result = await model.invoke(seed, {
|
|
526
|
+
runId: `${ctx.runId}/${step}`,
|
|
527
|
+
deps: ctx.deps,
|
|
528
|
+
scope: ctx.scope,
|
|
529
|
+
...(ctx.entityId != null ? { entityId: ctx.entityId } : {}),
|
|
530
|
+
...(() => {
|
|
531
|
+
const remaining = ctx.remainingMs();
|
|
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 ?? '?'}`);
|
|
431
554
|
}
|
|
432
|
-
|
|
555
|
+
return mapping.output(result.state, parent);
|
|
433
556
|
}
|
|
434
|
-
|
|
557
|
+
// A child that keeps asking is a child that will never finish, and the parent is the only
|
|
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}`);
|
|
435
561
|
},
|
|
436
562
|
}),
|
|
437
563
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEzE,OAAO,EACL,kBAAkB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,iBAAiB,EAC1F,iBAAiB,EAAE,0BAA0B,EAAE,oBAAoB,EACnE,kBAAkB,EAAE,mBAAmB,EAAE,YAAY,EAAE,oBAAoB,GAC5E,MAAM,wBAAwB,CAAA;AAS/B;;;;;GAKG;AACH,MAAM,kBAAmB,SAAQ,KAAK;IACR,MAAM;IAAlC,YAA4B,MAA2B;QACrD,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAA;sBADN,MAAM;QAEhC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,MAAM,GAAG,CAAC,CAAU,EAA2B,EAAE,CAAC,CAAC,YAAY,kBAAkB,CAAA;AAEvF,MAAM,OAAO,GAAG,CAAC,CAAU,EAAS,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;AAEpF,MAAM,MAAM,GAAG,GAAW,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;AAsBrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAkB,EAAE,OAA8B,EAC7B,EAAE;IACvB,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAE1B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAA;IACtD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QACxD,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,gCAAgC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;IACzB,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,uBAAuB,CAAA;IACtE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;SACzB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1F,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEjC,qEAAqE;IACrE,MAAM,OAAO,GAAG,KAAK,EACnB,GAAgB,EAChB,IAAO,EACP,MAAmB,EACnB,IAKC,EAC2B,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;QAC/E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QAC9C,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE/C;;;;;;;WAOG;QACH,MAAM,OAAO,GAKT,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAE/D,MAAM,MAAM,GAAG,CAAC,QAA0B,EAAQ,EAAE;YAClD,IAAI,CAAC;gBACH,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAC9B,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,gFAAgF;gBAChF,OAAO,CAAC,IAAI,CAAC,yCAAyC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAA;YACzE,CAAC;QACH,CAAC,CAAA;QAED,MAAM,MAAM,GAAG,KAAK,EAAE,KAAK,GAevB,EAAE,EAAiB,EAAE;YACvB,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxE,GAAG,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;YACrD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC1B,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACjD,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACvB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACzB,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,CAAC;YACD,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAC3B,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;YAC/B,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACxB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;YACzB,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;gBACjE,GAAG,CAAC,WAAW,GAAG,MAAM,EAAE,CAAA;gBAC1B,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAA;gBAC/B,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBAErB,OAAM;YACR,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACvC,IAAI,UAAU,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;gBACtC,2FAA2F;gBAC3F,2FAA2F;gBAC3F,6DAA6D;gBAC7D,MAAM,IAAI,0BAA0B,CAClC,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC,MAAM,IAAI,aAAa,EAAE,CACnE,CAAA;YACH,CAAC;YACD,GAAG,CAAC,KAAK,GAAG,UAAU,CAAA;YACtB,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAA;YAClC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,GAAG,CAAC,WAAW,GAAG,MAAM,EAAE,CAAA;YAC1B,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,CAAA;YAE/B,MAAM,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACrB,KAAK,CACH,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,2BAA2B,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE;kBAC/E,IAAI,KAAK,UAAU,GAAG,CAAC,UAAU,EAAE,CACtC,CAAA;QACH,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAA4B,EAAE,CAAC,CAAC;YAC9D,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI;YACJ,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,IAAI,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;gBAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC1B,MAAM,MAAM,EAAE,CAAA;YAChB,CAAC;YACD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACb,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;gBACf,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACvG,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;YACxF,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;SACrF,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,CAAC,QAA0B,EAAE,EAAE,CAC7C,KAAK,IAAsC,EAAE;YAC3C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;YAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAA;YAEnC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC5B,kEAAkE;gBAClE,OAAO,EAAE,CAAA;YACX,CAAC;YAED,wFAAwF;YACxF,uFAAuF;YACvF,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,IAAI,IAAI,cAAc,CAAC,CAAA;gBACrF,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBAErF,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAA;YAC9B,CAAC;YAED,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;YAE5B,0FAA0F;YAC1F,2FAA2F;YAC3F,uBAAuB;YACvB,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC5F,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBACpC,6EAA6E;oBAC7E,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;oBACvB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;oBAC1B,MAAM,CAAC,CAAA;gBACT,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,KAAK,IAAI,IAAI,4BAA4B,EAAE,CAAC,CAAC,CAAA;YACvF,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,CAAA;gBAChF,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;gBACrF,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAEjC,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAA;YAC9B,CAAC;YAED,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,IAAI,IAAI,QAAQ,CAAC,CAAA;YAC/E,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YAEtE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAmB,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;gBACjE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC1B,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBACjC,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC9B,yDAAyD;oBACzD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;oBACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;gBACtB,CAAC;gBAED,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;oBAClB,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;oBACjE,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC/C,CAAC;gBAED,OAAO,EAAE,KAAK,EAAE,KAAgC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,CAAA;YACvE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBACd,MAAM,CAAC,CAAA;gBACT,CAAC;gBACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBAChC,oFAAoF;oBACpF,kFAAkF;oBAClF,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;oBACjB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;oBACvB,MAAM,CAAC,CAAA;gBACT,CAAC;gBACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;oBAChD,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,IAAI,IAAI,0BAA0B,EAAE,CAAC,CAAC,CAAA;oBACzE,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;oBAE1C,OAAO,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAA;gBACnD,CAAC;gBACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACvB,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC1B,MAAM,CAAC,CAAA;YACT,CAAC;QACH,CAAC,CAAA;QAEH,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE,UAAU,CAA0B;gBACzC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,EAAE,CAAC;gBACjD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;aACpB,CAAC;YACF,SAAS,EAAE,UAAU,CAAW;gBAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClF,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;aAClB,CAAC;YACF,QAAQ,EAAE,UAAU,CAAW;gBAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;gBAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;aAClB,CAAC;SACH,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,UAAU,CAA0B,CAAA;QACjE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAA;YACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC9C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAA;YAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,2FAA2F;gBAC3F,sDAAsD;gBACtD,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1B,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC5B,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAClF,CAAA;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,CAAC,MAAM,CACnB,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,EAClF;gBACE,qFAAqF;gBACrF,YAAY,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE;gBACzD,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CACF,CAAA;YACD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBAC5B,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;gBACzC,MAAM,MAAM,CAAC;oBACX,MAAM,EAAE,iBAAiB,CAAC,OAAO;oBACjC,IAAI,EAAE,YAAY,OAAO,CAAC,OAAO,IAAI,QAAQ,EAAE;oBAC/C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAA;YACJ,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;gBACjC,MAAM,MAAM,CAAC;oBACX,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;oBACjF,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO;oBACrC,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAC,CAAA;gBAC7F,MAAM,OAAO,CAAC,KAAK,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;gBAC3C,MAAM,MAAM,CAAC;oBACX,MAAM,EAAE,iBAAiB,CAAC,MAAM;oBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;oBAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;oBAC5B,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,SAAS,CAAC,CAAC,CAAA;YACzF,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACpD,CAAC;QAED,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC;YAC7B,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAA;IACH,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,IAA2B,EAAe,EAAE,CAAC,CAAC;QAC9D,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,KAAK;QACpB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,MAAM,EAAE,iBAAiB,CAAC,OAAO;QACjC,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC;QACnB,KAAK,EAAE,IAAI;QACX,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,EAAE;QACZ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,MAAM,EAAE;QACnB,WAAW,EAAE,MAAM,EAAE;QACrB,SAAS,EAAE,MAAM,EAAE;KACpB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAwB;QACjC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI;QAEhB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAA;YAEtF,2FAA2F;YAC3F,4FAA4F;YAC5F,8BAA8B;YAC9B,MAAM,QAAQ,GAAG,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,IAAI,CAAA;YAC/E,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClD,MAAM,IAAI,oBAAoB,CAC5B,GAAG,IAAI,CAAC,KAAK,oBAAoB,QAAQ,CAAC,OAAO,aAAa,IAAI,CAAC,OAAO,EAAE,CAC7E,CAAA;YACH,CAAC;YAED,MAAM,GAAG,GAAgB,QAAQ;gBAC/B,CAAC,CAAC;oBACA,GAAG,QAAQ;oBACX,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,MAAM,EAAE,iBAAiB,CAAC,OAAO;oBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC;oBAC/B,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,SAAS;iBACjB;gBACD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAElB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC1F,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,EAAO,CAAA;YAC1C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAE1D,KAAK,CACH,SAAS,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE;kBACpE,YAAY,KAAK,cAAc,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,QAAQ,EAAE,CACvE,CAAA;YAED,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAA;YAClD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,kBAAkB,CAAC,eAAe,KAAK,EAAE,CAAC,CAAA;YACtD,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,IAAI,oBAAoB,CAC5B,GAAG,KAAK,qBAAqB,QAAQ,CAAC,QAAQ,WAAW,IAAI,CAAC,KAAK,GAAG,CACvE,CAAA;YACH,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,IAAI,oBAAoB,CAC5B,GAAG,KAAK,oBAAoB,QAAQ,CAAC,OAAO,aAAa,IAAI,CAAC,OAAO,EAAE,CACxE,CAAA;YACH,CAAC;YAED,IAAI,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAClC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC,CAAA;gBAC/E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC9C,MAAM,IAAI,0BAA0B,CAAC,GAAG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvE,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7D,CAAC;YAED,MAAM,GAAG,GAAgB;gBACvB,GAAG,QAAQ;gBACX,MAAM,EAAE,iBAAiB,CAAC,OAAO;gBACjC,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAG,CAAC;gBAC/B,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,SAAS;aACjB,CAAA;YACD,MAAM,IAAI,GAAG;gBACX,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC5D,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;aACjB,CAAA;YAEN,KAAK,CACH,SAAS,IAAI,CAAC,KAAK,IAAI,KAAK,UAAU;kBACpC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,SAAS,CAAC,MAAM,IAAI,KAAK,EAAE;kBACzF,YAAY,GAAG,CAAC,QAAQ,EAAE,CAC7B,CAAA;YAED,OAAO,MAAM,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;QAC3D,CAAC;QAED,QAAQ,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI;QAE1D,MAAM,EAAE,CAA2B,IAAY,EAAE,OAAmC,EAAE,EAAE,CAAC,CAAC;YACxF,IAAI;YACJ,GAAG,EAAE,KAAK,EAAE,MAAoB,EAAE,GAA8B,EAAE,EAAE;gBAClE,0FAA0F;gBAC1F,0FAA0F;gBAC1F,SAAS;gBACT,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;oBACvD,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE;oBAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,GAAG,CAAC,GAAG,EAAE;wBACP,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;wBACnC,OAAO,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;oBACzD,CAAC,CAAC,EAAE;oBACJ,MAAM,EAAE,GAAG,CAAC,MAAM;iBACnB,CAAC,CAAA;gBAEF,IAAI,MAAM,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAC/C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;wBACxC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,KAAK,MAAM,CAAC,QAAQ,IAAI,QAAQ,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAA;wBAEtF,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;oBAC7C,CAAC;oBACD,MAAM,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,cAAc,MAAM,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAA;gBACtF,CAAC;gBAED,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC7C,CAAC;SACF,CAAC;KACH,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/pipeline/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { BaseCheckpointSaver } from '@langchain/langgraph';
|
|
2
|
-
import type { PipelineProgress, PipelineRun, PipelineRunStatus, PipelineSpec, PipelineState } from '@owlmeans/agent-common';
|
|
2
|
+
import type { PipelineProgress, PipelineRun, PipelineRunInquiry, PipelineRunStatus, PipelineSpec, PipelineState } from '@owlmeans/agent-common';
|
|
3
|
+
import type { Inquiry, InquiryAnswer } from '@owlmeans/llm-common';
|
|
3
4
|
import type { PipelineRunStore } from '../stores/types.js';
|
|
4
5
|
/**
|
|
5
6
|
* What a step is handed while it runs.
|
|
@@ -42,6 +43,42 @@ export interface PipelineRunContext<S extends PipelineState, C> {
|
|
|
42
43
|
expired: () => boolean;
|
|
43
44
|
/** What is left of the run's budget, or `undefined` when it has none. */
|
|
44
45
|
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;
|
|
45
82
|
}
|
|
46
83
|
export interface PipelineStep<S extends PipelineState, C> {
|
|
47
84
|
step: string;
|
|
@@ -72,6 +109,8 @@ export interface PipelineOptions<S extends PipelineState, C> {
|
|
|
72
109
|
*/
|
|
73
110
|
fatal?: (e: unknown) => boolean;
|
|
74
111
|
maxStateChars?: number;
|
|
112
|
+
/** How `ctx.ask` reaches a person. Absent ⇒ every question parks the run. */
|
|
113
|
+
inquiry?: PipelineInquiryOptions<S, C>;
|
|
75
114
|
onProgress?: (progress: PipelineProgress) => void;
|
|
76
115
|
/** One line per step boundary. The only place a runner says anything. */
|
|
77
116
|
trace?: (line: string) => void;
|
|
@@ -86,6 +125,8 @@ export interface PipelineResult<S extends PipelineState> {
|
|
|
86
125
|
failedAt?: string;
|
|
87
126
|
error?: Error;
|
|
88
127
|
note?: string;
|
|
128
|
+
/** What a `Waiting` run stopped on. Present only with that status. */
|
|
129
|
+
inquiry?: PipelineRunInquiry;
|
|
89
130
|
}
|
|
90
131
|
export interface PipelineInvokeArgs<C> {
|
|
91
132
|
runId: string;
|
|
@@ -115,6 +156,13 @@ export interface PipelineResumeArgs<C> {
|
|
|
115
156
|
force?: boolean;
|
|
116
157
|
/** Merged into the restored state before the first step runs. */
|
|
117
158
|
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>;
|
|
118
166
|
budgetMs?: number;
|
|
119
167
|
signal?: AbortSignal;
|
|
120
168
|
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,iBAAiB,EAAE,YAAY,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,4 +5,6 @@ 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';
|
|
8
10
|
//# sourceMappingURL=export.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/plugins/export.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvG,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,GACnF,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/plugins/export.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEvF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACvG,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE3E,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,GACnF,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE9E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC3E,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA"}
|
package/build/plugins/export.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { SUMMARIZE_PLUGIN, summarizePlugin } from './summarize.js';
|
|
2
2
|
export { DEFAULT_FOLLOW, MEMORY_GRAPH_PLUGIN, memoryGraph, memoryGraphPlugin } from './memory-graph.js';
|
|
3
3
|
export { DEFAULT_MEMORY_EVENT_CHARS, MEMORY_EVENTS_PLUGIN, memoryEvents, memoryEventsPlugin, } from './memory-events.js';
|
|
4
|
+
export { ASK_USER_TOOL, INQUIRY_PLUGIN, inquiryPlugin } from './inquiry.js';
|
|
4
5
|
//# sourceMappingURL=export.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/plugins/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGlE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvG,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,GACnF,MAAM,oBAAoB,CAAA"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/plugins/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGlE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGvG,OAAO,EACL,0BAA0B,EAAE,oBAAoB,EAAE,YAAY,EAAE,kBAAkB,GACnF,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Inquiry, InquiryAnswer } from '@owlmeans/llm-common';
|
|
2
|
+
import type { AgentPlugin, AgentRun } from '../types.js';
|
|
3
|
+
export declare const INQUIRY_PLUGIN = "agent-inquiry";
|
|
4
|
+
export declare const ASK_USER_TOOL = "ask_user";
|
|
5
|
+
export interface InquiryPluginOptions {
|
|
6
|
+
/**
|
|
7
|
+
* How a question reaches a person.
|
|
8
|
+
*
|
|
9
|
+
* `null` answers "nobody is there", which the tool reports to the model as something it must
|
|
10
|
+
* decide itself. Absent means there is no channel at all, and then the tool is not offered:
|
|
11
|
+
* a tool nobody can serve is one the model tries once and remembers as broken.
|
|
12
|
+
*/
|
|
13
|
+
ask?: (inquiry: Inquiry, run: AgentRun) => Promise<InquiryAnswer | null>;
|
|
14
|
+
/** How question ids are minted. They are what routes an answer back. */
|
|
15
|
+
idOf?: () => string;
|
|
16
|
+
name?: string;
|
|
17
|
+
/** Whether the Context block explains when the tool may be used. Default `true`. */
|
|
18
|
+
instruct?: boolean;
|
|
19
|
+
maxOptions?: number;
|
|
20
|
+
maxAnswerChars?: number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* `ask_user` — one short question to the person driving the run.
|
|
24
|
+
*
|
|
25
|
+
* The tool NEVER throws, with exactly one exception, and the distinction is the whole contract:
|
|
26
|
+
* no channel is an answerable situation (decide, record the assumption, carry on), while a channel
|
|
27
|
+
* that WAS there and has gone is terminal. So `InquiryUnavailable` is rethrown, and an agent that
|
|
28
|
+
* installs this plugin must pass `fatal: e => isFatalError(e) != null` to `makeAgentModel` —
|
|
29
|
+
* `safeInvokeTool` contains everything else by default, and without that predicate a dead channel
|
|
30
|
+
* comes back as a readable tool error the model spends its whole turn budget arguing with.
|
|
31
|
+
*
|
|
32
|
+
* An application that prefers the softer reading wires `options.ask` through `executionInquiry`,
|
|
33
|
+
* which maps `InquiryUnavailable` to `null` for it.
|
|
34
|
+
*/
|
|
35
|
+
export declare const inquiryPlugin: (options?: InquiryPluginOptions) => AgentPlugin;
|
|
36
|
+
//# sourceMappingURL=inquiry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inquiry.d.ts","sourceRoot":"","sources":["../../src/plugins/inquiry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAiB,MAAM,sBAAsB,CAAA;AAGjF,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAA;AAEtE,eAAO,MAAM,cAAc,kBAAkB,CAAA;AAC7C,eAAO,MAAM,aAAa,aAAa,CAAA;AAEvC,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAA;IACxE,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAYD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,aAAa,oBAAoB,KAAQ,WAoHlE,CAAA"}
|