@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 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.20
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
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
3
  "package": "@owlmeans/agent",
4
- "version": "0.1.18-rc.24",
5
- "generatedAt": "2026-09-12T14:21:25.466Z",
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.24"` in `dependencies`, plus the `@langchain/core` and
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":"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"}
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"}
@@ -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
- 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
- });
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: `stopped: ${outcome.stopped ?? 'budget'}`,
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 live = {
401
- ...JSON.parse(existing.state === '' ? '{}' : existing.state),
402
- ...(args.patch ?? {}),
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
- // 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);
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
- throw result.error ?? new Error(`${spec.alias} failed at ${result.failedAt ?? '?'}`);
555
+ return mapping.output(result.state, parent);
433
556
  }
434
- return mapping.output(result.state, parent);
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":"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"}
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":"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"}
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"}
@@ -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"}