@db-lyon/flowkit 0.16.0 → 0.17.0
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/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/task/agent-prompt-task.d.ts +2 -2
- package/dist/task/agent-prompt-task.d.ts.map +1 -1
- package/dist/task/agent-prompt-task.js +1 -0
- package/dist/task/agent-prompt-task.js.map +1 -1
- package/dist/task/agent-task.d.ts +2 -2
- package/dist/task/agent-task.d.ts.map +1 -1
- package/dist/task/agent-task.js +2 -0
- package/dist/task/agent-task.js.map +1 -1
- package/dist/task/base-task.d.ts +2 -0
- package/dist/task/base-task.d.ts.map +1 -1
- package/dist/task/base-task.js.map +1 -1
- package/dist/task/index.d.ts +2 -2
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +1 -1
- package/dist/task/index.js.map +1 -1
- package/dist/task/llm-runner.d.ts +13 -1
- package/dist/task/llm-runner.d.ts.map +1 -1
- package/dist/task/llm-runner.js +83 -19
- package/dist/task/llm-runner.js.map +1 -1
- package/dist/task/shell-termination.d.ts +1 -1
- package/dist/task/shell-termination.d.ts.map +1 -1
- package/dist/task/shell-termination.js +4 -1
- package/dist/task/shell-termination.js.map +1 -1
- package/docs/ai-agents.md +14 -0
- package/docs/api-reference.md +9 -2
- package/docs/custom-tasks.md +8 -2
- package/docs/releases.md +26 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export { AgentPromptTask } from './task/agent-prompt-task.js';
|
|
|
13
13
|
export type { AgentPromptOptions } from './task/agent-prompt-task.js';
|
|
14
14
|
export { AgentTask } from './task/agent-task.js';
|
|
15
15
|
export type { AgentTaskOptions, AgentToolSpec } from './task/agent-task.js';
|
|
16
|
-
export { runCompletion, pickRunOptions, LLMTimeoutError, StructuredOutputError, } from './task/llm-runner.js';
|
|
17
|
-
export type { LLMRunOptions, LLMRunResult, AgentRunFields } from './task/llm-runner.js';
|
|
16
|
+
export { runCompletion, pickRunOptions, LLMAbortError, LLMTimeoutError, StructuredOutputError, } from './task/llm-runner.js';
|
|
17
|
+
export type { LLMRunOptions, LLMRunResult, AgentRunFields, AgentRetryOptions } from './task/llm-runner.js';
|
|
18
18
|
export { validateJson, formatErrors } from './task/json-schema.js';
|
|
19
19
|
export type { ValidationError, ValidationResult } from './task/json-schema.js';
|
|
20
20
|
export { mapLimit } from './task/concurrency.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG1E,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC5F,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,7 +8,7 @@ export { ShellTask } from './task/shell-task.js';
|
|
|
8
8
|
export { TaskRegistry } from './task/registry.js';
|
|
9
9
|
export { AgentPromptTask } from './task/agent-prompt-task.js';
|
|
10
10
|
export { AgentTask } from './task/agent-task.js';
|
|
11
|
-
export { runCompletion, pickRunOptions, LLMTimeoutError, StructuredOutputError, } from './task/llm-runner.js';
|
|
11
|
+
export { runCompletion, pickRunOptions, LLMAbortError, LLMTimeoutError, StructuredOutputError, } from './task/llm-runner.js';
|
|
12
12
|
export { validateJson, formatErrors } from './task/json-schema.js';
|
|
13
13
|
export { mapLimit } from './task/concurrency.js';
|
|
14
14
|
export { createLedger, chargeLedger, ledgerExhausted, exhaustedLimit, } from './task/token-ledger.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAS5F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAa7D,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG1D,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM;AACN,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAW5B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAS5F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAa7D,OAAO;AACP,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C,wDAAwD;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAG1D,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM;AACN,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseTask, type TaskResult } from './base-task.js';
|
|
2
|
-
import { type AgentRunFields } from './llm-runner.js';
|
|
3
|
-
export interface AgentPromptOptions extends AgentRunFields {
|
|
2
|
+
import { type AgentRunFields, type AgentRetryOptions } from './llm-runner.js';
|
|
3
|
+
export interface AgentPromptOptions extends AgentRunFields, AgentRetryOptions {
|
|
4
4
|
/** User prompt. Required. */
|
|
5
5
|
prompt: string;
|
|
6
6
|
/** System prompt / instructions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt-task.d.ts","sourceRoot":"","sources":["../../src/task/agent-prompt-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAIL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-prompt-task.d.ts","sourceRoot":"","sources":["../../src/task/agent-prompt-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,kBAAmB,SAAQ,cAAc,EAAE,iBAAiB;IAC3E,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAgB,SAAQ,QAAQ,CAAC,kBAAkB,CAAC;IAC/D,IAAI,QAAQ,WAEX;IAED,SAAS,CAAC,QAAQ,IAAI,IAAI;IAMpB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;CAwDrC"}
|
|
@@ -43,6 +43,7 @@ export class AgentPromptTask extends BaseTask {
|
|
|
43
43
|
maxTokens: this.options.maxTokens,
|
|
44
44
|
temperature: this.options.temperature,
|
|
45
45
|
schema: this.options.schema,
|
|
46
|
+
signal: this.ctx.signal,
|
|
46
47
|
}, pickRunOptions(this.options), this.logger);
|
|
47
48
|
const data = { text: response.text };
|
|
48
49
|
if (response.parsed !== undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-prompt-task.js","sourceRoot":"","sources":["../../src/task/agent-prompt-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EACL,aAAa,EACb,cAAc,EACd,qBAAqB,
|
|
1
|
+
{"version":3,"file":"agent-prompt-task.js","sourceRoot":"","sources":["../../src/task/agent-prompt-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseTask, type TaskResult } from './base-task.js';
|
|
2
|
-
import { type AgentRunFields } from './llm-runner.js';
|
|
2
|
+
import { type AgentRunFields, type AgentRetryOptions } from './llm-runner.js';
|
|
3
3
|
/**
|
|
4
4
|
* A tool the agent may call. Backed by an existing flowkit primitive — a
|
|
5
5
|
* `task`, a `flow`, or another `agent` — or by a context handler. Exactly one
|
|
@@ -27,7 +27,7 @@ export interface AgentToolSpec {
|
|
|
27
27
|
*/
|
|
28
28
|
parameters?: Record<string, unknown>;
|
|
29
29
|
}
|
|
30
|
-
export interface AgentTaskOptions extends AgentRunFields {
|
|
30
|
+
export interface AgentTaskOptions extends AgentRunFields, AgentRetryOptions {
|
|
31
31
|
/** Initial user prompt / task for the agent. Required. */
|
|
32
32
|
prompt: string;
|
|
33
33
|
/** System prompt / instructions. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-task.d.ts","sourceRoot":"","sources":["../../src/task/agent-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ3D,OAAO,EAKL,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-task.d.ts","sourceRoot":"","sources":["../../src/task/agent-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAQ3D,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAYzB;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc,EAAE,iBAAiB;IACzE,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,SAAU,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IACvD,IAAI,QAAQ,WAEX;IAED,SAAS,CAAC,QAAQ,IAAI,IAAI;IAyBpB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAoKpC;;;;OAIG;YACW,OAAO;IAiErB;;;OAGG;YACW,kBAAkB;CA6BjC"}
|
package/dist/task/agent-task.js
CHANGED
|
@@ -99,6 +99,7 @@ export class AgentTask extends BaseTask {
|
|
|
99
99
|
temperature,
|
|
100
100
|
tools: toolDefs.length > 0 ? toolDefs : undefined,
|
|
101
101
|
toolChoice: toolDefs.length > 0 ? 'auto' : undefined,
|
|
102
|
+
signal: this.ctx.signal,
|
|
102
103
|
}, runOpts, this.logger);
|
|
103
104
|
accumulateUsage(usage, response);
|
|
104
105
|
charge(response);
|
|
@@ -254,6 +255,7 @@ export class AgentTask extends BaseTask {
|
|
|
254
255
|
maxTokens: this.options.maxTokens,
|
|
255
256
|
temperature: this.options.temperature,
|
|
256
257
|
schema,
|
|
258
|
+
signal: this.ctx.signal,
|
|
257
259
|
}, runOpts, this.logger);
|
|
258
260
|
}
|
|
259
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-task.js","sourceRoot":"","sources":["../../src/task/agent-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmB,MAAM,gBAAgB,CAAC;AAQ3D,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"agent-task.js","sourceRoot":"","sources":["../../src/task/agent-task.ts"],"names":[],"mappings":"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"}
|
package/dist/task/base-task.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export interface TaskContext {
|
|
|
25
25
|
registry?: TaskRegistry;
|
|
26
26
|
/** LLM provider consumed by `AgentPromptTask` / `AgentTask`. */
|
|
27
27
|
llm?: LLMProvider;
|
|
28
|
+
/** Host-provided cancellation signal observed by this task's LLM calls and retry backoff. */
|
|
29
|
+
readonly signal?: AbortSignal;
|
|
28
30
|
/** Programmatic agent tools, keyed by the name exposed to the model. */
|
|
29
31
|
agentTools?: Record<string, LLMToolHandler>;
|
|
30
32
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-task.d.ts","sourceRoot":"","sources":["../../src/task/base-task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-task.d.ts","sourceRoot":"","sources":["../../src/task/base-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-task.js","sourceRoot":"","sources":["../../src/task/base-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-task.js","sourceRoot":"","sources":["../../src/task/base-task.ts"],"names":[],"mappings":"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"}
|
package/dist/task/index.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ export { AgentPromptTask } from './agent-prompt-task.js';
|
|
|
8
8
|
export type { AgentPromptOptions } from './agent-prompt-task.js';
|
|
9
9
|
export { AgentTask } from './agent-task.js';
|
|
10
10
|
export type { AgentTaskOptions, AgentToolSpec } from './agent-task.js';
|
|
11
|
-
export { runCompletion, pickRunOptions, LLMTimeoutError, StructuredOutputError, } from './llm-runner.js';
|
|
12
|
-
export type { LLMRunOptions, LLMRunResult, AgentRunFields } from './llm-runner.js';
|
|
11
|
+
export { runCompletion, pickRunOptions, LLMAbortError, LLMTimeoutError, StructuredOutputError, } from './llm-runner.js';
|
|
12
|
+
export type { LLMRunOptions, LLMRunResult, AgentRunFields, AgentRetryOptions } from './llm-runner.js';
|
|
13
13
|
export { validateJson, formatErrors } from './json-schema.js';
|
|
14
14
|
export type { ValidationError, ValidationResult } from './json-schema.js';
|
|
15
15
|
export { redact, truncate, preview } from './redact.js';
|
package/dist/task/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,cAAc,GACf,MAAM,mBAAmB,CAAC"}
|
package/dist/task/index.js
CHANGED
|
@@ -4,7 +4,7 @@ export { TaskRegistry } from './registry.js';
|
|
|
4
4
|
// Agent / LLM
|
|
5
5
|
export { AgentPromptTask } from './agent-prompt-task.js';
|
|
6
6
|
export { AgentTask } from './agent-task.js';
|
|
7
|
-
export { runCompletion, pickRunOptions, LLMTimeoutError, StructuredOutputError, } from './llm-runner.js';
|
|
7
|
+
export { runCompletion, pickRunOptions, LLMAbortError, LLMTimeoutError, StructuredOutputError, } from './llm-runner.js';
|
|
8
8
|
export { validateJson, formatErrors } from './json-schema.js';
|
|
9
9
|
export { redact, truncate, preview } from './redact.js';
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/task/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AASvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AASvF,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,cAAc;AACd,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -46,12 +46,24 @@ export interface AgentRunFields {
|
|
|
46
46
|
repairAttempts?: number;
|
|
47
47
|
maxOutputChars?: number;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Programmatic-only retry control for agent tasks. This deliberately stays out
|
|
51
|
+
* of `AgentRunFields`, whose members remain safe to declare in YAML.
|
|
52
|
+
*/
|
|
53
|
+
export interface AgentRetryOptions {
|
|
54
|
+
/** Decide whether a thrown provider error is retryable. Default: retry all errors. */
|
|
55
|
+
retryOn?: (err: Error) => boolean;
|
|
56
|
+
}
|
|
49
57
|
/** Lift the run-control fields out of a task's options into `LLMRunOptions`. */
|
|
50
|
-
export declare function pickRunOptions(o: AgentRunFields): LLMRunOptions;
|
|
58
|
+
export declare function pickRunOptions(o: AgentRunFields & AgentRetryOptions): LLMRunOptions;
|
|
51
59
|
/** A provider call exceeded its timeout. */
|
|
52
60
|
export declare class LLMTimeoutError extends Error {
|
|
53
61
|
constructor(message: string);
|
|
54
62
|
}
|
|
63
|
+
/** The caller cancelled an LLM completion before it could finish. */
|
|
64
|
+
export declare class LLMAbortError extends Error {
|
|
65
|
+
constructor(message?: string);
|
|
66
|
+
}
|
|
55
67
|
/** Structured output never satisfied the schema, even after repair attempts. */
|
|
56
68
|
export declare class StructuredOutputError extends Error {
|
|
57
69
|
readonly rawText: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/task/llm-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IAClC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG;IACjD,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"llm-runner.d.ts","sourceRoot":"","sources":["../../src/task/llm-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;IAClC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG;IACjD,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC;CACnC;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,CAAC,EAAE,cAAc,GAAG,iBAAiB,GAAG,aAAa,CAYnF;AAED,4CAA4C;AAC5C,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,qEAAqE;AACrE,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,SAAqB;CAIzC;AAED,gFAAgF;AAChF,qBAAa,qBAAsB,SAAQ,KAAK;IAG5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;gBAFjC,OAAO,EAAE,MAAM,EACN,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM;CAKpC;AAED,wBAAsB,aAAa,CACjC,QAAQ,EAAE,WAAW,EACrB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,aAAkB,EAC3B,MAAM,GAAE,MAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAuDvB;AAwHD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,qBAAqB,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAUvC"}
|
package/dist/task/llm-runner.js
CHANGED
|
@@ -24,6 +24,11 @@ export function pickRunOptions(o) {
|
|
|
24
24
|
out.retries = o.retries;
|
|
25
25
|
if (o.retryDelay !== undefined)
|
|
26
26
|
out.retryDelay = o.retryDelay;
|
|
27
|
+
// Raw task options can originate in YAML, whose permissive task-option
|
|
28
|
+
// record may contain a scalar named `retryOn`. Only programmatic functions
|
|
29
|
+
// participate in the host-only LLM retry predicate contract.
|
|
30
|
+
if (typeof o.retryOn === 'function')
|
|
31
|
+
out.retryOn = o.retryOn;
|
|
27
32
|
if (o.repairAttempts !== undefined)
|
|
28
33
|
out.repairAttempts = o.repairAttempts;
|
|
29
34
|
if (o.maxOutputChars !== undefined)
|
|
@@ -37,6 +42,13 @@ export class LLMTimeoutError extends Error {
|
|
|
37
42
|
this.name = 'LLMTimeoutError';
|
|
38
43
|
}
|
|
39
44
|
}
|
|
45
|
+
/** The caller cancelled an LLM completion before it could finish. */
|
|
46
|
+
export class LLMAbortError extends Error {
|
|
47
|
+
constructor(message = 'LLM call aborted') {
|
|
48
|
+
super(message);
|
|
49
|
+
this.name = 'LLMAbortError';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
40
52
|
/** Structured output never satisfied the schema, even after repair attempts. */
|
|
41
53
|
export class StructuredOutputError extends Error {
|
|
42
54
|
rawText;
|
|
@@ -88,57 +100,95 @@ export async function runCompletion(provider, request, options = {}, logger = no
|
|
|
88
100
|
async function callWithRetry(provider, req, cfg, logger) {
|
|
89
101
|
let lastErr = new Error('LLM call never executed');
|
|
90
102
|
for (let attempt = 0; attempt <= cfg.retries; attempt++) {
|
|
103
|
+
throwIfAborted(req.signal);
|
|
91
104
|
try {
|
|
92
105
|
return await callOnce(provider, req, cfg.timeout);
|
|
93
106
|
}
|
|
94
107
|
catch (err) {
|
|
95
108
|
lastErr = err instanceof Error ? err : new Error(String(err));
|
|
109
|
+
// `callOnce` records cancellation as LLMAbortError at the attempt
|
|
110
|
+
// boundary. Do not re-read the mutable request signal here: a later
|
|
111
|
+
// abort must not rewrite a timeout or provider error that already won.
|
|
112
|
+
if (lastErr instanceof LLMAbortError)
|
|
113
|
+
throw lastErr;
|
|
96
114
|
const canRetry = attempt < cfg.retries && (cfg.retryOn ? cfg.retryOn(lastErr) : true);
|
|
97
115
|
if (!canRetry)
|
|
98
116
|
break;
|
|
99
117
|
const delay = cfg.retryDelay * 2 ** attempt;
|
|
100
118
|
logger.warn({ attempt: attempt + 1, nextDelayMs: delay, error: lastErr.message }, 'LLM call failed; retrying');
|
|
101
|
-
await sleep(delay);
|
|
119
|
+
await sleep(delay, req.signal);
|
|
102
120
|
}
|
|
103
121
|
}
|
|
104
122
|
throw lastErr;
|
|
105
123
|
}
|
|
106
124
|
async function callOnce(provider, req, timeout) {
|
|
125
|
+
throwIfAborted(req.signal);
|
|
107
126
|
if (!timeout || timeout <= 0)
|
|
108
|
-
return provider.
|
|
127
|
+
return callProvider(provider, req, req.signal);
|
|
109
128
|
const controller = new AbortController();
|
|
110
|
-
const
|
|
129
|
+
const combined = combineSignals([req.signal, controller.signal]);
|
|
130
|
+
const { signal } = combined;
|
|
111
131
|
let timer;
|
|
112
132
|
const timeoutPromise = new Promise((_, reject) => {
|
|
113
133
|
timer = setTimeout(() => {
|
|
114
|
-
controller.abort();
|
|
115
134
|
reject(new LLMTimeoutError(`LLM call timed out after ${timeout}ms`));
|
|
135
|
+
controller.abort();
|
|
116
136
|
}, timeout);
|
|
117
137
|
});
|
|
118
138
|
try {
|
|
119
|
-
return await Promise.race([provider
|
|
139
|
+
return await Promise.race([callProvider(provider, { ...req, signal }, signal), timeoutPromise]);
|
|
120
140
|
}
|
|
121
141
|
finally {
|
|
122
142
|
if (timer)
|
|
123
143
|
clearTimeout(timer);
|
|
144
|
+
combined.cleanup();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function throwIfAborted(signal) {
|
|
148
|
+
if (signal?.aborted)
|
|
149
|
+
throw new LLMAbortError();
|
|
150
|
+
}
|
|
151
|
+
/** Await a provider while also observing cancellation, even if it ignores the signal. */
|
|
152
|
+
async function callProvider(provider, request, signal) {
|
|
153
|
+
throwIfAborted(signal);
|
|
154
|
+
if (!signal)
|
|
155
|
+
return provider.complete(request);
|
|
156
|
+
let removeAbortListener;
|
|
157
|
+
const aborted = new Promise((_, reject) => {
|
|
158
|
+
const onAbort = () => reject(new LLMAbortError());
|
|
159
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
160
|
+
removeAbortListener = () => signal.removeEventListener('abort', onAbort);
|
|
161
|
+
});
|
|
162
|
+
try {
|
|
163
|
+
return await Promise.race([provider.complete(request), aborted]);
|
|
164
|
+
}
|
|
165
|
+
finally {
|
|
166
|
+
removeAbortListener?.();
|
|
124
167
|
}
|
|
125
168
|
}
|
|
126
|
-
/** Combine abort signals
|
|
127
|
-
function
|
|
169
|
+
/** Combine abort signals and expose deterministic listener cleanup. */
|
|
170
|
+
function combineSignals(signals) {
|
|
171
|
+
const inputs = signals.filter((signal) => signal !== undefined);
|
|
128
172
|
const controller = new AbortController();
|
|
173
|
+
if (inputs.some((signal) => signal.aborted)) {
|
|
174
|
+
controller.abort();
|
|
175
|
+
return { signal: controller.signal, cleanup: () => { } };
|
|
176
|
+
}
|
|
177
|
+
let cleaned = false;
|
|
129
178
|
const onAbort = () => {
|
|
130
179
|
controller.abort();
|
|
131
|
-
|
|
132
|
-
s.removeEventListener('abort', onAbort);
|
|
180
|
+
cleanup();
|
|
133
181
|
};
|
|
134
|
-
|
|
135
|
-
if (
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
182
|
+
const cleanup = () => {
|
|
183
|
+
if (cleaned)
|
|
184
|
+
return;
|
|
185
|
+
cleaned = true;
|
|
186
|
+
for (const input of inputs)
|
|
187
|
+
input.removeEventListener('abort', onAbort);
|
|
188
|
+
};
|
|
189
|
+
for (const input of inputs)
|
|
190
|
+
input.addEventListener('abort', onAbort, { once: true });
|
|
191
|
+
return { signal: controller.signal, cleanup };
|
|
142
192
|
}
|
|
143
193
|
// ---------------------------------------------------------------------------
|
|
144
194
|
// Structured output
|
|
@@ -207,7 +257,21 @@ function capOutput(resp, maxChars, logger) {
|
|
|
207
257
|
logger.warn({ length: resp.text.length, maxChars }, 'LLM output exceeded maxOutputChars; truncating');
|
|
208
258
|
return { ...resp, text: resp.text.slice(0, maxChars), truncated: true };
|
|
209
259
|
}
|
|
210
|
-
function sleep(ms) {
|
|
211
|
-
|
|
260
|
+
function sleep(ms, signal) {
|
|
261
|
+
throwIfAborted(signal);
|
|
262
|
+
if (!signal)
|
|
263
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
264
|
+
return new Promise((resolve, reject) => {
|
|
265
|
+
const timer = setTimeout(() => {
|
|
266
|
+
signal.removeEventListener('abort', onAbort);
|
|
267
|
+
resolve();
|
|
268
|
+
}, ms);
|
|
269
|
+
const onAbort = () => {
|
|
270
|
+
clearTimeout(timer);
|
|
271
|
+
signal.removeEventListener('abort', onAbort);
|
|
272
|
+
reject(new LLMAbortError());
|
|
273
|
+
};
|
|
274
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
275
|
+
});
|
|
212
276
|
}
|
|
213
277
|
//# sourceMappingURL=llm-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/task/llm-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-runner.js","sourceRoot":"","sources":["../../src/task/llm-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ChildProcess, type SpawnOptions } from 'node:child_process';
|
|
2
2
|
export declare const POSIX_SIGTERM_GRACE_MS = 250;
|
|
3
3
|
export declare const POSIX_TERMINATION_GRACE_MS = 1000;
|
|
4
|
-
export declare const WINDOWS_TERMINATION_GRACE_MS =
|
|
4
|
+
export declare const WINDOWS_TERMINATION_GRACE_MS = 5000;
|
|
5
5
|
type SpawnProcess = (command: string, args: readonly string[], options: SpawnOptions) => ChildProcess;
|
|
6
6
|
export interface ShellTerminationDependencies {
|
|
7
7
|
platform?: NodeJS.Platform;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-termination.d.ts","sourceRoot":"","sources":["../../src/task/shell-termination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"shell-termination.d.ts","sourceRoot":"","sources":["../../src/task/shell-termination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,0BAA0B,OAAQ,CAAC;AAIhD,eAAO,MAAM,4BAA4B,OAAQ,CAAC;AAElD,KAAK,YAAY,GAAG,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,YAAY,KAClB,YAAY,CAAC;AAElB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CAClE;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IACnC,8DAA8D;IAC9D,kBAAkB,IAAI,OAAO,CAAC;IAC9B,4EAA4E;IAC5E,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC/C,2EAA2E;IAC3E,QAAQ,IAAI,IAAI,CAAC;IACjB,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;IAChB,iEAAiE;IACjE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,YAAY,EACnB,YAAY,GAAE,4BAAiC,GAC9C,sBAAsB,CAyJxB"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { spawn } from 'node:child_process';
|
|
2
2
|
export const POSIX_SIGTERM_GRACE_MS = 250;
|
|
3
3
|
export const POSIX_TERMINATION_GRACE_MS = 1_000;
|
|
4
|
-
|
|
4
|
+
// `taskkill /T /F` may take several seconds on a loaded Windows host while it
|
|
5
|
+
// enumerates and force-terminates a shell command tree. Keep cancellation
|
|
6
|
+
// bounded, but do not stop the helper early and release a surviving child.
|
|
7
|
+
export const WINDOWS_TERMINATION_GRACE_MS = 5_000;
|
|
5
8
|
export function terminationGraceMs(platform) {
|
|
6
9
|
return platform === 'win32' ? WINDOWS_TERMINATION_GRACE_MS : POSIX_TERMINATION_GRACE_MS;
|
|
7
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-termination.js","sourceRoot":"","sources":["../../src/task/shell-termination.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-termination.js","sourceRoot":"","sources":["../../src/task/shell-termination.ts"],"names":[],"mappings":"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"}
|
package/docs/ai-agents.md
CHANGED
|
@@ -373,6 +373,20 @@ Programmatic callers can use `runCompletion(provider, request, options, logger)`
|
|
|
373
373
|
directly — it is the shared core both tasks build on, and it accepts a
|
|
374
374
|
`retryOn(err)` predicate for fine-grained retry control.
|
|
375
375
|
|
|
376
|
+
Programmatic `AgentTaskOptions` and `AgentPromptOptions` also accept an optional
|
|
377
|
+
`retryOn(err)` predicate. Flowkit passes it unchanged to every completion for
|
|
378
|
+
that task, including retries and structured-answer completion. When omitted,
|
|
379
|
+
the existing retry-all behavior for non-cancellation failures remains. This
|
|
380
|
+
function-valued `retryOn` is
|
|
381
|
+
host-only: it is not part of `AgentRunFields` or agent YAML/config schemas.
|
|
382
|
+
This is distinct from Flowkit's existing flow-step `retryOn` string matcher.
|
|
383
|
+
|
|
384
|
+
When a host provides `context.signal`, agent and prompt tasks forward that
|
|
385
|
+
host/run-scoped signal to every provider call and retry backoff. A directly
|
|
386
|
+
constructed task may receive its own invocation signal. Cancellation therefore
|
|
387
|
+
prevents a later provider attempt; it does not become an agent YAML or
|
|
388
|
+
configuration field.
|
|
389
|
+
|
|
376
390
|
## Security notes
|
|
377
391
|
|
|
378
392
|
- **Prompt injection.** Templating prior step output (`${steps...}`) or feeding
|
package/docs/api-reference.md
CHANGED
|
@@ -157,6 +157,8 @@ type ExecutionPhase =
|
|
|
157
157
|
interface TaskContext {
|
|
158
158
|
readonly executionPhase?: ExecutionPhase;
|
|
159
159
|
logger?: Logger;
|
|
160
|
+
/** Cancels LLM work and retry backoff owned by this task invocation. */
|
|
161
|
+
readonly signal?: AbortSignal;
|
|
160
162
|
[key: string]: unknown;
|
|
161
163
|
}
|
|
162
164
|
|
|
@@ -183,6 +185,11 @@ specific invocation is running. Ordinary steps, nested-flow steps, direct
|
|
|
183
185
|
`runTask` calls, task-to-task calls, and agent/tool work use `task`. Hook tasks
|
|
184
186
|
use their named phase, and rollback-record invocations use `rollback`.
|
|
185
187
|
|
|
188
|
+
When a host supplies `context.signal`, `AgentTask` and `AgentPromptTask` forward
|
|
189
|
+
that host/run-scoped signal to their LLM requests, including structured-output
|
|
190
|
+
repair calls. A direct task may instead receive its own invocation signal. YAML
|
|
191
|
+
and configuration schemas do not accept signals or functions.
|
|
192
|
+
|
|
186
193
|
Hosts continue to pass their shared services through `FlowRunnerConfig.context`
|
|
187
194
|
without setting a phase. Flowkit owns the field and derives it per invocation;
|
|
188
195
|
tasks should only read it.
|
|
@@ -233,7 +240,7 @@ returns the normal failed result with `Shell command cancelled`. An abort during
|
|
|
233
240
|
execution requests termination of the spawned shell process. On Windows,
|
|
234
241
|
Flowkit makes a best-effort `taskkill /T /F` request for that invocation's
|
|
235
242
|
shell PID and falls back to direct shell termination only if that request
|
|
236
|
-
fails or the
|
|
243
|
+
fails or the five-second terminal deadline expires. On POSIX,
|
|
237
244
|
signal-bearing invocations run in a dedicated process group. Flowkit requests
|
|
238
245
|
`SIGTERM`, allows 250ms for cooperative cleanup, and then escalates the group
|
|
239
246
|
to `SIGKILL`. Neither approach guarantees termination of descendants that have
|
|
@@ -242,7 +249,7 @@ result as proof of complete descendant termination.
|
|
|
242
249
|
|
|
243
250
|
For signal-bearing invocations, Flowkit waits for the spawned shell to close
|
|
244
251
|
after requesting termination. If the operating system does not report closure
|
|
245
|
-
within one second on POSIX or
|
|
252
|
+
within one second on POSIX or five seconds on Windows, it returns the
|
|
246
253
|
cancellation or timeout result with the output captured so far; that bounded
|
|
247
254
|
fallback requests force termination and releases Flowkit's Node handles for
|
|
248
255
|
the root shell and any Windows `taskkill` helper, but is not confirmation that
|
package/docs/custom-tasks.md
CHANGED
|
@@ -148,6 +148,12 @@ it to `context`. `ctx.executionPhase` holds the same value but is typed
|
|
|
148
148
|
optional, because `TaskContext` is also the shape hosts build their own context
|
|
149
149
|
interfaces from; prefer the `this.executionPhase` accessor.
|
|
150
150
|
|
|
151
|
+
`ctx.signal` is an optional, read-only host cancellation signal. A runner
|
|
152
|
+
propagates its host/run-scoped signal to task invocations; a direct task may
|
|
153
|
+
receive its own invocation signal. Agent and prompt tasks forward it to every
|
|
154
|
+
LLM call and retry delay, so cancellation prevents later retry attempts. It is
|
|
155
|
+
runtime context only and is not supported in YAML/configuration.
|
|
156
|
+
|
|
151
157
|
Treat the context as read-only. Each task is handed its own derived context, so assigning a key inside a task (`this.ctx.cached = x`) does not reach the next step, another task, or a sub-agent. To share mutable state, put a mutable object on the context up front and write into that:
|
|
152
158
|
|
|
153
159
|
```typescript
|
|
@@ -243,7 +249,7 @@ Existing YAML consumers need no change. Programmatic callers that need
|
|
|
243
249
|
cancellation pass an invocation-specific `AbortSignal` in the task options.
|
|
244
250
|
After cancellation, Flowkit waits for the shell to close, with a bounded
|
|
245
251
|
fallback if the operating system does not report closure (one second on POSIX,
|
|
246
|
-
|
|
252
|
+
five seconds on Windows). That fallback does not guarantee all descendants
|
|
247
253
|
have exited. At the deadline Flowkit requests force termination and releases
|
|
248
254
|
its Node handles for the root shell and any Windows `taskkill` helper before
|
|
249
255
|
returning. On POSIX,
|
|
@@ -254,7 +260,7 @@ supplied `AbortSignal` for cancellation.
|
|
|
254
260
|
|
|
255
261
|
On Windows, Flowkit asks `taskkill /T /F` to terminate the shell tree and does
|
|
256
262
|
not kill the shell while that traversal is in progress. If `taskkill` fails or
|
|
257
|
-
the
|
|
263
|
+
the five-second deadline expires, Flowkit requests force termination and
|
|
258
264
|
releases its Node handles for the root and helper. Windows and POSIX descendants that escape the managed process
|
|
259
265
|
tree or process group may still survive; Node does not provide a portable
|
|
260
266
|
guarantee of complete descendant termination.
|
package/docs/releases.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Release notes
|
|
2
2
|
|
|
3
|
+
## 0.17.0
|
|
4
|
+
|
|
5
|
+
`AgentTaskOptions` and `AgentPromptOptions` now accept an optional programmatic
|
|
6
|
+
`retryOn(err: Error) => boolean` predicate. Flowkit forwards it unchanged to
|
|
7
|
+
the shared completion runner for normal turns and structured-answer completion.
|
|
8
|
+
When omitted, retry behavior is unchanged: non-cancellation provider failures
|
|
9
|
+
retry according to the configured/default retry count and delay. `AgentRunFields` and agent
|
|
10
|
+
YAML/config schemas remain plain-data only; this function-valued `retryOn` is
|
|
11
|
+
host-owned and must be supplied in code. It is distinct from the existing
|
|
12
|
+
flow-step `retryOn` string matcher.
|
|
13
|
+
|
|
14
|
+
Agent and prompt tasks now also forward the host/run-scoped
|
|
15
|
+
`TaskContext.signal` supplied through `FlowRunner` to every completion and
|
|
16
|
+
repair turn; directly constructed tasks may instead receive an
|
|
17
|
+
invocation-specific signal. Cancellation prevents new attempts during retry
|
|
18
|
+
backoff, while the completion runner removes listeners used to combine request
|
|
19
|
+
and timeout signals on every terminal path.
|
|
20
|
+
|
|
21
|
+
`LLMAbortError` is exported from the root and `./task` entrypoints so hosts can
|
|
22
|
+
recognize the generic cancellation outcome with `instanceof` when needed.
|
|
23
|
+
|
|
24
|
+
On Windows, ShellTask now allows its bounded `taskkill /T /F` tree-termination
|
|
25
|
+
operation up to five seconds before releasing the command root. This reduces
|
|
26
|
+
the chance of ending the helper early on a loaded host while retaining a
|
|
27
|
+
bounded cancellation result.
|
|
28
|
+
|
|
3
29
|
## 0.16.0
|
|
4
30
|
|
|
5
31
|
FlowRunner now accepts a provider-agnostic nested agent task factory for
|