@agntk/core 0.1.1 → 0.2.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/README.md +56 -90
- package/dist/advanced/index.d.ts +9 -2
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +13 -2
- package/dist/advanced/index.js.map +1 -1
- package/dist/agent.d.ts +27 -31
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +228 -275
- package/dist/agent.js.map +1 -1
- package/dist/config/schema.d.ts +38 -38
- package/dist/evals/runner.js +16 -9
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/types.d.ts +1 -1
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -9
- package/dist/index.js.map +1 -1
- package/dist/observability/langfuse.d.ts +2 -2
- package/dist/observability/langfuse.d.ts.map +1 -1
- package/dist/observability/langfuse.js +39 -17
- package/dist/observability/langfuse.js.map +1 -1
- package/dist/presets/sub-agent-configs.d.ts +11 -3
- package/dist/presets/sub-agent-configs.d.ts.map +1 -1
- package/dist/presets/sub-agent-configs.js +5 -10
- package/dist/presets/sub-agent-configs.js.map +1 -1
- package/dist/presets/tools.d.ts +5 -5
- package/dist/tools/browser/tool.d.ts +2 -2
- package/dist/tools/browser/types.d.ts +2 -2
- package/dist/tools/plan/tools.d.ts +1 -1
- package/dist/tools/plan/types.d.ts +2 -2
- package/dist/tools/progress/index.d.ts +2 -2
- package/dist/tools/spawn-agent/index.d.ts +7 -9
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +2 -4
- package/dist/tools/spawn-agent/index.js.map +1 -1
- package/dist/types/agent.d.ts +69 -199
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +4 -2
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/usage-limits.d.ts +1 -1
- package/dist/usage-limits.js +1 -1
- package/dist/workflow/index.d.ts +1 -5
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +1 -9
- package/dist/workflow/index.js.map +1 -1
- package/dist/wrappers/best-of-n.d.ts +1 -1
- package/dist/wrappers/best-of-n.d.ts.map +1 -1
- package/dist/wrappers/best-of-n.js +11 -6
- package/dist/wrappers/best-of-n.js.map +1 -1
- package/package.json +4 -14
- package/dist/memory/engine.d.ts +0 -130
- package/dist/memory/engine.d.ts.map +0 -1
- package/dist/memory/engine.js +0 -227
- package/dist/memory/engine.js.map +0 -1
- package/dist/memory/vectra-store.d.ts +0 -31
- package/dist/memory/vectra-store.d.ts.map +0 -1
- package/dist/memory/vectra-store.js +0 -122
- package/dist/memory/vectra-store.js.map +0 -1
- package/dist/pool/index.d.ts +0 -7
- package/dist/pool/index.d.ts.map +0 -1
- package/dist/pool/index.js +0 -6
- package/dist/pool/index.js.map +0 -1
- package/dist/pool/specialist-pool.d.ts +0 -59
- package/dist/pool/specialist-pool.d.ts.map +0 -1
- package/dist/pool/specialist-pool.js +0 -224
- package/dist/pool/specialist-pool.js.map +0 -1
- package/dist/pool/tools.d.ts +0 -63
- package/dist/pool/tools.d.ts.map +0 -1
- package/dist/pool/tools.js +0 -83
- package/dist/pool/tools.js.map +0 -1
- package/dist/pool/types.d.ts +0 -79
- package/dist/pool/types.d.ts.map +0 -1
- package/dist/pool/types.js +0 -5
- package/dist/pool/types.js.map +0 -1
- package/dist/presets/index.d.ts +0 -5
- package/dist/presets/index.d.ts.map +0 -1
- package/dist/presets/index.js +0 -5
- package/dist/presets/index.js.map +0 -1
- package/dist/presets/role-registry.d.ts +0 -41
- package/dist/presets/role-registry.d.ts.map +0 -1
- package/dist/presets/role-registry.js +0 -213
- package/dist/presets/role-registry.js.map +0 -1
- package/dist/presets/roles.d.ts +0 -105
- package/dist/presets/roles.d.ts.map +0 -1
- package/dist/presets/roles.js +0 -207
- package/dist/presets/roles.js.map +0 -1
- package/dist/prompts/templates.d.ts +0 -11
- package/dist/prompts/templates.d.ts.map +0 -1
- package/dist/prompts/templates.js +0 -115
- package/dist/prompts/templates.js.map +0 -1
- package/dist/streaming/data-parts.d.ts +0 -163
- package/dist/streaming/data-parts.d.ts.map +0 -1
- package/dist/streaming/data-parts.js +0 -14
- package/dist/streaming/data-parts.js.map +0 -1
- package/dist/streaming/index.d.ts +0 -8
- package/dist/streaming/index.d.ts.map +0 -1
- package/dist/streaming/index.js +0 -10
- package/dist/streaming/index.js.map +0 -1
- package/dist/streaming/transient.d.ts +0 -136
- package/dist/streaming/transient.d.ts.map +0 -1
- package/dist/streaming/transient.js +0 -201
- package/dist/streaming/transient.js.map +0 -1
- package/dist/tools/provider.d.ts +0 -97
- package/dist/tools/provider.d.ts.map +0 -1
- package/dist/tools/provider.js +0 -178
- package/dist/tools/provider.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -149
- package/dist/utils/logger.js.map +0 -1
- package/dist/workflow/builders/adapt.d.ts +0 -20
- package/dist/workflow/builders/adapt.d.ts.map +0 -1
- package/dist/workflow/builders/adapt.js +0 -33
- package/dist/workflow/builders/adapt.js.map +0 -1
- package/dist/workflow/builders/index.d.ts +0 -8
- package/dist/workflow/builders/index.d.ts.map +0 -1
- package/dist/workflow/builders/index.js +0 -7
- package/dist/workflow/builders/index.js.map +0 -1
- package/dist/workflow/builders/parallel.d.ts +0 -25
- package/dist/workflow/builders/parallel.d.ts.map +0 -1
- package/dist/workflow/builders/parallel.js +0 -60
- package/dist/workflow/builders/parallel.js.map +0 -1
- package/dist/workflow/builders/pipeline.d.ts +0 -22
- package/dist/workflow/builders/pipeline.d.ts.map +0 -1
- package/dist/workflow/builders/pipeline.js +0 -48
- package/dist/workflow/builders/pipeline.js.map +0 -1
- package/dist/workflow/builders/types.d.ts +0 -54
- package/dist/workflow/builders/types.d.ts.map +0 -1
- package/dist/workflow/builders/types.js +0 -5
- package/dist/workflow/builders/types.js.map +0 -1
- package/dist/workflow/durable-agent.d.ts +0 -128
- package/dist/workflow/durable-agent.d.ts.map +0 -1
- package/dist/workflow/durable-agent.js +0 -323
- package/dist/workflow/durable-agent.js.map +0 -1
- package/dist/workflow/schedulers.d.ts +0 -231
- package/dist/workflow/schedulers.d.ts.map +0 -1
- package/dist/workflow/schedulers.js +0 -250
- package/dist/workflow/schedulers.js.map +0 -1
- package/dist/workflow/team/create-team.d.ts +0 -34
- package/dist/workflow/team/create-team.d.ts.map +0 -1
- package/dist/workflow/team/create-team.js +0 -242
- package/dist/workflow/team/create-team.js.map +0 -1
- package/dist/workflow/team/index.d.ts +0 -9
- package/dist/workflow/team/index.d.ts.map +0 -1
- package/dist/workflow/team/index.js +0 -8
- package/dist/workflow/team/index.js.map +0 -1
- package/dist/workflow/team/machines.d.ts +0 -152
- package/dist/workflow/team/machines.d.ts.map +0 -1
- package/dist/workflow/team/machines.js +0 -197
- package/dist/workflow/team/machines.js.map +0 -1
- package/dist/workflow/team/task-board.d.ts +0 -47
- package/dist/workflow/team/task-board.d.ts.map +0 -1
- package/dist/workflow/team/task-board.js +0 -111
- package/dist/workflow/team/task-board.js.map +0 -1
- package/dist/workflow/team/tools.d.ts +0 -66
- package/dist/workflow/team/tools.d.ts.map +0 -1
- package/dist/workflow/team/tools.js +0 -100
- package/dist/workflow/team/tools.js.map +0 -1
- package/dist/workflow/team/types.d.ts +0 -109
- package/dist/workflow/team/types.d.ts.map +0 -1
- package/dist/workflow/team/types.js +0 -5
- package/dist/workflow/team/types.js.map +0 -1
- package/dist/workflow/templates.d.ts +0 -71
- package/dist/workflow/templates.d.ts.map +0 -1
- package/dist/workflow/templates.js +0 -132
- package/dist/workflow/templates.js.map +0 -1
package/dist/utils/logger.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Minimal Logger
|
|
3
|
-
* Zero-dependency logger that works in Node, Bun, and browser environments
|
|
4
|
-
*/
|
|
5
|
-
const LOG_LEVELS = {
|
|
6
|
-
debug: 0,
|
|
7
|
-
info: 1,
|
|
8
|
-
warn: 2,
|
|
9
|
-
error: 3,
|
|
10
|
-
};
|
|
11
|
-
const LOG_COLORS = {
|
|
12
|
-
debug: '\x1b[36m',
|
|
13
|
-
info: '\x1b[32m',
|
|
14
|
-
warn: '\x1b[33m',
|
|
15
|
-
error: '\x1b[31m',
|
|
16
|
-
};
|
|
17
|
-
const RESET_COLOR = '\x1b[0m';
|
|
18
|
-
// Runtime detection for browser vs Node/Bun
|
|
19
|
-
const isBrowser = typeof globalThis !== 'undefined'
|
|
20
|
-
&& typeof globalThis.document !== 'undefined';
|
|
21
|
-
function getEnvLogLevel() {
|
|
22
|
-
if (isBrowser)
|
|
23
|
-
return 'info';
|
|
24
|
-
const envLevel = (typeof process !== 'undefined' ? process.env?.['LOG_LEVEL'] : undefined)?.toLowerCase();
|
|
25
|
-
if (envLevel && envLevel in LOG_LEVELS) {
|
|
26
|
-
return envLevel;
|
|
27
|
-
}
|
|
28
|
-
return 'info';
|
|
29
|
-
}
|
|
30
|
-
export function createLogger(options = {}) {
|
|
31
|
-
let currentLevel = options.level ?? getEnvLogLevel();
|
|
32
|
-
const enableColors = options.enableColors ?? !isBrowser;
|
|
33
|
-
const enableTimestamps = options.enableTimestamps ?? true;
|
|
34
|
-
const prefix = options.prefix;
|
|
35
|
-
let agentContext;
|
|
36
|
-
const subscribers = new Set();
|
|
37
|
-
function shouldLog(level) {
|
|
38
|
-
return LOG_LEVELS[level] >= LOG_LEVELS[currentLevel];
|
|
39
|
-
}
|
|
40
|
-
function formatMessage(level, message, meta, useColors = enableColors) {
|
|
41
|
-
const parts = [];
|
|
42
|
-
if (enableTimestamps) {
|
|
43
|
-
const timestamp = new Date().toISOString();
|
|
44
|
-
parts.push(`[${timestamp}]`);
|
|
45
|
-
}
|
|
46
|
-
const levelString = level.toUpperCase().padEnd(5);
|
|
47
|
-
if (useColors && !isBrowser) {
|
|
48
|
-
parts.push(`${LOG_COLORS[level]}${levelString}${RESET_COLOR}`);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
parts.push(levelString);
|
|
52
|
-
}
|
|
53
|
-
if (prefix) {
|
|
54
|
-
parts.push(`[${prefix}]`);
|
|
55
|
-
}
|
|
56
|
-
if (agentContext) {
|
|
57
|
-
if (agentContext.type === 'main') {
|
|
58
|
-
const ctxLabel = useColors && !isBrowser ? '\x1b[1m[MAIN]\x1b[0m' : '[MAIN]';
|
|
59
|
-
parts.push(ctxLabel);
|
|
60
|
-
}
|
|
61
|
-
else if (agentContext.type === 'spawned') {
|
|
62
|
-
const taskLabel = agentContext.taskId ? agentContext.taskId.slice(-8) : 'sub';
|
|
63
|
-
const ctxLabel = useColors && !isBrowser
|
|
64
|
-
? `\x1b[90m[SUB:${taskLabel}]\x1b[0m`
|
|
65
|
-
: `[SUB:${taskLabel}]`;
|
|
66
|
-
parts.push(ctxLabel);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
parts.push(message);
|
|
70
|
-
if (meta && Object.keys(meta).length > 0) {
|
|
71
|
-
parts.push(JSON.stringify(meta));
|
|
72
|
-
}
|
|
73
|
-
return parts.join(' ');
|
|
74
|
-
}
|
|
75
|
-
function log(level, message, meta) {
|
|
76
|
-
if (!shouldLog(level)) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
const formatted = formatMessage(level, message, meta);
|
|
80
|
-
if (isBrowser) {
|
|
81
|
-
// Browser-compatible logging with colors via console API
|
|
82
|
-
const style = level === 'error' ? 'color: red'
|
|
83
|
-
: level === 'warn' ? 'color: orange'
|
|
84
|
-
: level === 'debug' ? 'color: cyan'
|
|
85
|
-
: 'color: green';
|
|
86
|
-
console[level === 'debug' ? 'log' : level](`%c${formatted}`, style);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
// Node/Bun logging
|
|
90
|
-
switch (level) {
|
|
91
|
-
case 'error':
|
|
92
|
-
console.error(formatted);
|
|
93
|
-
break;
|
|
94
|
-
case 'warn':
|
|
95
|
-
console.warn(formatted);
|
|
96
|
-
break;
|
|
97
|
-
case 'info':
|
|
98
|
-
case 'debug':
|
|
99
|
-
console.log(formatted);
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (subscribers.size > 0) {
|
|
104
|
-
const entry = {
|
|
105
|
-
timestamp: Date.now(),
|
|
106
|
-
level,
|
|
107
|
-
message,
|
|
108
|
-
meta,
|
|
109
|
-
formattedMessage: formatMessage(level, message, meta, false),
|
|
110
|
-
};
|
|
111
|
-
for (const callback of Array.from(subscribers)) {
|
|
112
|
-
try {
|
|
113
|
-
callback(entry);
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// Ignore subscriber errors
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
debug(message, meta) {
|
|
123
|
-
log('debug', message, meta);
|
|
124
|
-
},
|
|
125
|
-
info(message, meta) {
|
|
126
|
-
log('info', message, meta);
|
|
127
|
-
},
|
|
128
|
-
warn(message, meta) {
|
|
129
|
-
log('warn', message, meta);
|
|
130
|
-
},
|
|
131
|
-
error(message, meta) {
|
|
132
|
-
log('error', message, meta);
|
|
133
|
-
},
|
|
134
|
-
setLevel(level) {
|
|
135
|
-
currentLevel = level;
|
|
136
|
-
},
|
|
137
|
-
setAgentContext(context) {
|
|
138
|
-
agentContext = context;
|
|
139
|
-
},
|
|
140
|
-
subscribe(callback) {
|
|
141
|
-
subscribers.add(callback);
|
|
142
|
-
return () => {
|
|
143
|
-
subscribers.delete(callback);
|
|
144
|
-
};
|
|
145
|
-
},
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
export const logger = createLogger();
|
|
149
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/utils/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Agent → WorkflowStep Adapter
|
|
3
|
-
*
|
|
4
|
-
* Converts an Agent to a WorkflowStep so agents and workflows are interchangeable.
|
|
5
|
-
*/
|
|
6
|
-
import type { Agent } from '../../agent.js';
|
|
7
|
-
import type { WorkflowStep } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Adapt an Agent to a WorkflowStep.
|
|
10
|
-
* The agent's generate() method is called with the workflow input prompt.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const pipeline = createPipeline({
|
|
15
|
-
* steps: [asStep(researchAgent), asStep(writerAgent)],
|
|
16
|
-
* });
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export declare function asStep(agent: Agent): WorkflowStep;
|
|
20
|
-
//# sourceMappingURL=adapt.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapt.d.ts","sourceRoot":"","sources":["../../../src/workflow/builders/adapt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,YAAY,EAAiC,MAAM,SAAS,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAejD"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Agent → WorkflowStep Adapter
|
|
3
|
-
*
|
|
4
|
-
* Converts an Agent to a WorkflowStep so agents and workflows are interchangeable.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Adapt an Agent to a WorkflowStep.
|
|
8
|
-
* The agent's generate() method is called with the workflow input prompt.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const pipeline = createPipeline({
|
|
13
|
-
* steps: [asStep(researchAgent), asStep(writerAgent)],
|
|
14
|
-
* });
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export function asStep(agent) {
|
|
18
|
-
return {
|
|
19
|
-
async execute(input) {
|
|
20
|
-
const result = await agent.generate({ prompt: input.prompt });
|
|
21
|
-
return {
|
|
22
|
-
text: result.text ?? '',
|
|
23
|
-
metadata: {
|
|
24
|
-
agentId: agent.agentId,
|
|
25
|
-
role: agent.role,
|
|
26
|
-
steps: result.steps?.length ?? 0,
|
|
27
|
-
usage: result.totalUsage,
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=adapt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapt.js","sourceRoot":"","sources":["../../../src/workflow/builders/adapt.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,MAAM,CAAC,KAAY;IACjC,OAAO;QACL,KAAK,CAAC,OAAO,CAAC,KAAoB;YAChC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;gBACvB,QAAQ,EAAE;oBACR,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;oBAChC,KAAK,EAAE,MAAM,CAAC,UAAU;iBACzB;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Workflow builders public API.
|
|
3
|
-
*/
|
|
4
|
-
export type { Workflow, WorkflowStep, WorkflowInput, WorkflowOutput, SynthesizeFn, PipelineConfig, ParallelConfig, } from './types.js';
|
|
5
|
-
export { createPipeline } from './pipeline.js';
|
|
6
|
-
export { createParallel } from './parallel.js';
|
|
7
|
-
export { asStep } from './adapt.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/builders/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/builders/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Parallel Workflow Builder
|
|
3
|
-
*
|
|
4
|
-
* Fan out to multiple agents/workflows concurrently,
|
|
5
|
-
* then synthesize the results.
|
|
6
|
-
*/
|
|
7
|
-
import type { Workflow, ParallelConfig } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Create a parallel workflow that fans out to multiple steps concurrently.
|
|
10
|
-
* All steps receive the same input prompt. Results are merged by the synthesize function.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const parallel = createParallel({
|
|
15
|
-
* name: 'multi-analysis',
|
|
16
|
-
* steps: [securityAgent, performanceAgent, codeQualityAgent],
|
|
17
|
-
* synthesize: (outputs) => ({
|
|
18
|
-
* text: outputs.map(o => o.text).join('\n\n---\n\n'),
|
|
19
|
-
* }),
|
|
20
|
-
* });
|
|
21
|
-
* const result = await parallel.execute({ prompt: 'Analyze this codebase' });
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
export declare function createParallel(config: ParallelConfig): Workflow;
|
|
25
|
-
//# sourceMappingURL=parallel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel.d.ts","sourceRoot":"","sources":["../../../src/workflow/builders/parallel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAiC,cAAc,EAAE,MAAM,SAAS,CAAC;AAIvF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CA2C/D"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Parallel Workflow Builder
|
|
3
|
-
*
|
|
4
|
-
* Fan out to multiple agents/workflows concurrently,
|
|
5
|
-
* then synthesize the results.
|
|
6
|
-
*/
|
|
7
|
-
import { createLogger } from '@agntk/logger';
|
|
8
|
-
const log = createLogger('@agntk/core:workflow:parallel');
|
|
9
|
-
/**
|
|
10
|
-
* Create a parallel workflow that fans out to multiple steps concurrently.
|
|
11
|
-
* All steps receive the same input prompt. Results are merged by the synthesize function.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const parallel = createParallel({
|
|
16
|
-
* name: 'multi-analysis',
|
|
17
|
-
* steps: [securityAgent, performanceAgent, codeQualityAgent],
|
|
18
|
-
* synthesize: (outputs) => ({
|
|
19
|
-
* text: outputs.map(o => o.text).join('\n\n---\n\n'),
|
|
20
|
-
* }),
|
|
21
|
-
* });
|
|
22
|
-
* const result = await parallel.execute({ prompt: 'Analyze this codebase' });
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export function createParallel(config) {
|
|
26
|
-
const { name = 'parallel', steps, synthesize } = config;
|
|
27
|
-
if (steps.length === 0) {
|
|
28
|
-
throw new Error('Parallel workflow must have at least one step');
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
name,
|
|
32
|
-
stepCount: steps.length,
|
|
33
|
-
async execute(input) {
|
|
34
|
-
log.info('Parallel started', { name, stepCount: steps.length, promptLength: input.prompt.length });
|
|
35
|
-
const results = await Promise.allSettled(steps.map((step, i) => {
|
|
36
|
-
log.debug('Parallel step launched', { name, step: i + 1 });
|
|
37
|
-
return step.execute(input);
|
|
38
|
-
}));
|
|
39
|
-
const outputs = [];
|
|
40
|
-
for (let i = 0; i < results.length; i++) {
|
|
41
|
-
const result = results[i];
|
|
42
|
-
if (result.status === 'fulfilled') {
|
|
43
|
-
outputs.push(result.value);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
log.error('Parallel step failed', { name, step: i + 1, error: String(result.reason) });
|
|
47
|
-
outputs.push({
|
|
48
|
-
text: `[Step ${i + 1} failed: ${result.reason instanceof Error ? result.reason.message : String(result.reason)}]`,
|
|
49
|
-
metadata: { error: true },
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
log.debug('Synthesizing parallel outputs', { name, outputCount: outputs.length });
|
|
54
|
-
const synthesized = await synthesize(outputs);
|
|
55
|
-
log.info('Parallel completed', { name, textLength: synthesized.text.length });
|
|
56
|
-
return synthesized;
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=parallel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../src/workflow/builders/parallel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,GAAG,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE1D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,EAAE,IAAI,GAAG,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,MAAM;QAEvB,KAAK,CAAC,OAAO,CAAC,KAAoB;YAChC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAEnG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACpB,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAqB,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvF,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG;wBACjH,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;YAE9C,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAE9E,OAAO,WAAW,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Pipeline Workflow Builder
|
|
3
|
-
*
|
|
4
|
-
* Chain agents/workflows sequentially. Each step's output
|
|
5
|
-
* becomes the next step's input prompt.
|
|
6
|
-
*/
|
|
7
|
-
import type { Workflow, PipelineConfig } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Create a pipeline that chains steps sequentially.
|
|
10
|
-
* Each step's text output becomes the next step's prompt.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const pipeline = createPipeline({
|
|
15
|
-
* name: 'research-then-write',
|
|
16
|
-
* steps: [researchAgent, writerAgent],
|
|
17
|
-
* });
|
|
18
|
-
* const result = await pipeline.execute({ prompt: 'Write about quantum computing' });
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
export declare function createPipeline(config: PipelineConfig): Workflow;
|
|
22
|
-
//# sourceMappingURL=pipeline.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../src/workflow/builders/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAiC,cAAc,EAAE,MAAM,SAAS,CAAC;AAIvF;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CAkC/D"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Pipeline Workflow Builder
|
|
3
|
-
*
|
|
4
|
-
* Chain agents/workflows sequentially. Each step's output
|
|
5
|
-
* becomes the next step's input prompt.
|
|
6
|
-
*/
|
|
7
|
-
import { createLogger } from '@agntk/logger';
|
|
8
|
-
const log = createLogger('@agntk/core:workflow:pipeline');
|
|
9
|
-
/**
|
|
10
|
-
* Create a pipeline that chains steps sequentially.
|
|
11
|
-
* Each step's text output becomes the next step's prompt.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const pipeline = createPipeline({
|
|
16
|
-
* name: 'research-then-write',
|
|
17
|
-
* steps: [researchAgent, writerAgent],
|
|
18
|
-
* });
|
|
19
|
-
* const result = await pipeline.execute({ prompt: 'Write about quantum computing' });
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export function createPipeline(config) {
|
|
23
|
-
const { name = 'pipeline', steps, transform } = config;
|
|
24
|
-
if (steps.length === 0) {
|
|
25
|
-
throw new Error('Pipeline must have at least one step');
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
name,
|
|
29
|
-
stepCount: steps.length,
|
|
30
|
-
async execute(input) {
|
|
31
|
-
log.info('Pipeline started', { name, stepCount: steps.length, promptLength: input.prompt.length });
|
|
32
|
-
let currentOutput = { text: input.prompt };
|
|
33
|
-
for (let i = 0; i < steps.length; i++) {
|
|
34
|
-
const step = steps[i];
|
|
35
|
-
const prompt = i === 0
|
|
36
|
-
? input.prompt
|
|
37
|
-
: transform
|
|
38
|
-
? transform(currentOutput, i)
|
|
39
|
-
: currentOutput.text;
|
|
40
|
-
log.debug('Pipeline step', { name, step: i + 1, total: steps.length, promptLength: prompt.length });
|
|
41
|
-
currentOutput = await step.execute({ prompt });
|
|
42
|
-
}
|
|
43
|
-
log.info('Pipeline completed', { name, textLength: currentOutput.text.length });
|
|
44
|
-
return currentOutput;
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=pipeline.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/workflow/builders/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,MAAM,GAAG,GAAG,YAAY,CAAC,+BAA+B,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,cAAc,CAAC,MAAsB;IACnD,MAAM,EAAE,IAAI,GAAG,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAEvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO;QACL,IAAI;QACJ,SAAS,EAAE,KAAK,CAAC,MAAM;QAEvB,KAAK,CAAC,OAAO,CAAC,KAAoB;YAChC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAEnG,IAAI,aAAa,GAAmB,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAE3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,KAAK,CAAC,MAAM;oBACd,CAAC,CAAC,SAAS;wBACT,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;wBAC7B,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;gBAEzB,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEpG,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAEhF,OAAO,aAAa,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Types for workflow builders (Pipeline, Parallel).
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* A Workflow step that can execute with a prompt and return text.
|
|
6
|
-
* Compatible with the Agent interface so agents and workflows are interchangeable.
|
|
7
|
-
*/
|
|
8
|
-
export interface WorkflowStep {
|
|
9
|
-
/** Execute the step with a prompt. */
|
|
10
|
-
execute: (input: WorkflowInput) => Promise<WorkflowOutput>;
|
|
11
|
-
}
|
|
12
|
-
/** Input to a workflow step. */
|
|
13
|
-
export interface WorkflowInput {
|
|
14
|
-
prompt: string;
|
|
15
|
-
}
|
|
16
|
-
/** Output from a workflow step. */
|
|
17
|
-
export interface WorkflowOutput {
|
|
18
|
-
text: string;
|
|
19
|
-
metadata?: Record<string, unknown>;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* A Workflow that composes multiple steps.
|
|
23
|
-
* Implements WorkflowStep so it can nest inside other workflows.
|
|
24
|
-
*/
|
|
25
|
-
export interface Workflow extends WorkflowStep {
|
|
26
|
-
/** Name of this workflow. */
|
|
27
|
-
name: string;
|
|
28
|
-
/** Number of steps in this workflow. */
|
|
29
|
-
stepCount: number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Synthesize function for parallel workflows.
|
|
33
|
-
* Receives all outputs and produces a merged result.
|
|
34
|
-
*/
|
|
35
|
-
export type SynthesizeFn = (outputs: WorkflowOutput[]) => WorkflowOutput | Promise<WorkflowOutput>;
|
|
36
|
-
/** Configuration for createPipeline. */
|
|
37
|
-
export interface PipelineConfig {
|
|
38
|
-
/** Pipeline name. */
|
|
39
|
-
name?: string;
|
|
40
|
-
/** Steps to execute sequentially. */
|
|
41
|
-
steps: WorkflowStep[];
|
|
42
|
-
/** Optional transform between steps (receives previous output, returns next prompt). */
|
|
43
|
-
transform?: (output: WorkflowOutput, stepIndex: number) => string;
|
|
44
|
-
}
|
|
45
|
-
/** Configuration for createParallel. */
|
|
46
|
-
export interface ParallelConfig {
|
|
47
|
-
/** Parallel workflow name. */
|
|
48
|
-
name?: string;
|
|
49
|
-
/** Steps to execute concurrently. */
|
|
50
|
-
steps: WorkflowStep[];
|
|
51
|
-
/** Function to synthesize/merge parallel outputs. */
|
|
52
|
-
synthesize: SynthesizeFn;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workflow/builders/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5D;AAED,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAEnG,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,wFAAwF;IACxF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,qDAAqD;IACrD,UAAU,EAAE,YAAY,CAAC;CAC1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflow/builders/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Durable Agent Factory
|
|
3
|
-
*
|
|
4
|
-
* Creates agents with workflow durability features.
|
|
5
|
-
* Uses the Workflow DevKit ("use workflow" / "use step" directives)
|
|
6
|
-
* for crash recovery, auto-retry, and step-level observability.
|
|
7
|
-
*
|
|
8
|
-
* When the `workflow` package is installed and the app runs under the
|
|
9
|
-
* Workflow runtime, every LLM call and tool execution becomes a
|
|
10
|
-
* discrete, checkpointed step. Without the runtime, the directives
|
|
11
|
-
* are inert string literals and the agent operates normally.
|
|
12
|
-
*
|
|
13
|
-
* @see https://useworkflow.dev
|
|
14
|
-
*/
|
|
15
|
-
import type { Agent } from '../agent.js';
|
|
16
|
-
import type { AgentOptions, WorkflowOptions } from '../types/agent.js';
|
|
17
|
-
/**
|
|
18
|
-
* Extended options for creating a durable agent.
|
|
19
|
-
* Includes all standard AgentOptions plus workflow-specific config.
|
|
20
|
-
*/
|
|
21
|
-
export interface DurableAgentOptions extends AgentOptions {
|
|
22
|
-
/** Force durability even if detection is uncertain. Default: true */
|
|
23
|
-
durable?: boolean;
|
|
24
|
-
/** Workflow-specific configuration. */
|
|
25
|
-
workflowOptions?: WorkflowOptions;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Result from a durable generation.
|
|
29
|
-
*/
|
|
30
|
-
export interface DurableGenerateResult {
|
|
31
|
-
text: string;
|
|
32
|
-
workflowRunId?: string;
|
|
33
|
-
steps?: Array<{
|
|
34
|
-
name: string;
|
|
35
|
-
status: 'completed' | 'failed' | 'skipped';
|
|
36
|
-
durationMs?: number;
|
|
37
|
-
}>;
|
|
38
|
-
usage?: {
|
|
39
|
-
promptTokens: number;
|
|
40
|
-
completionTokens: number;
|
|
41
|
-
totalTokens: number;
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Webhook response for approval workflows.
|
|
46
|
-
*/
|
|
47
|
-
export interface WebhookResponse {
|
|
48
|
-
approved: boolean;
|
|
49
|
-
feedback?: string;
|
|
50
|
-
modifiedContent?: string;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Extended agent interface with durable workflow capabilities.
|
|
54
|
-
* Extends the base Agent interface with workflow-specific methods.
|
|
55
|
-
*/
|
|
56
|
-
export interface DurableAgent extends Agent {
|
|
57
|
-
/**
|
|
58
|
-
* Durable generate that wraps the LLM call as a workflow step.
|
|
59
|
-
* Survives crashes — the workflow runtime checkpoints progress.
|
|
60
|
-
*/
|
|
61
|
-
durableGenerate: (prompt: string) => Promise<DurableGenerateResult>;
|
|
62
|
-
/**
|
|
63
|
-
* Generate with approval workflow.
|
|
64
|
-
* Pauses execution (zero compute) until webhook approval is received.
|
|
65
|
-
*/
|
|
66
|
-
withApproval: (prompt: string, webhookPath: string) => Promise<DurableGenerateResult>;
|
|
67
|
-
/**
|
|
68
|
-
* Scheduled generation with durable delay.
|
|
69
|
-
* Uses workflow sleep() — doesn't hold compute during the delay.
|
|
70
|
-
*/
|
|
71
|
-
scheduled: (prompt: string, delay: string) => Promise<DurableGenerateResult>;
|
|
72
|
-
/** Whether workflows are actually active (runtime detected). */
|
|
73
|
-
readonly isWorkflowActive: boolean;
|
|
74
|
-
/** The workflow run ID (set after first workflow execution). */
|
|
75
|
-
readonly workflowRunId: string | undefined;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Check if the Workflow DevKit runtime is available.
|
|
79
|
-
* Result is cached after first check.
|
|
80
|
-
*/
|
|
81
|
-
export declare function checkWorkflowAvailability(): Promise<boolean>;
|
|
82
|
-
/**
|
|
83
|
-
* Reset workflow availability cache (for testing).
|
|
84
|
-
* @internal
|
|
85
|
-
*/
|
|
86
|
-
export declare function _resetWorkflowCache(): void;
|
|
87
|
-
/**
|
|
88
|
-
* Create a durable agent with workflow integration.
|
|
89
|
-
*
|
|
90
|
-
* The durable agent wraps a standard Agent with workflow directives
|
|
91
|
-
* that make every LLM call and tool execution a recoverable step.
|
|
92
|
-
*
|
|
93
|
-
* @param baseAgent - The base agent to wrap with durability
|
|
94
|
-
* @param options - Durable agent options
|
|
95
|
-
* @returns DurableAgent instance with both standard and durable methods
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* ```typescript
|
|
99
|
-
* import { createAgent } from '@agntk/core';
|
|
100
|
-
* import { createDurableAgent } from '@agntk/core/workflow';
|
|
101
|
-
*
|
|
102
|
-
* const base = createAgent({ role: 'coder', toolPreset: 'standard' });
|
|
103
|
-
* const agent = createDurableAgent(base);
|
|
104
|
-
*
|
|
105
|
-
* // Standard generation (no durability)
|
|
106
|
-
* const result = await agent.generate({ prompt: 'Hello' });
|
|
107
|
-
*
|
|
108
|
-
* // Durable generation (survives crashes)
|
|
109
|
-
* const durable = await agent.durableGenerate('Create a component');
|
|
110
|
-
*
|
|
111
|
-
* // With approval workflow
|
|
112
|
-
* const approved = await agent.withApproval('Draft email', '/api/approve');
|
|
113
|
-
*
|
|
114
|
-
* // Scheduled generation
|
|
115
|
-
* const delayed = await agent.scheduled('Send reminder', '1h');
|
|
116
|
-
* ```
|
|
117
|
-
*/
|
|
118
|
-
export declare function createDurableAgent(baseAgent: Agent, options?: DurableAgentOptions): DurableAgent;
|
|
119
|
-
/**
|
|
120
|
-
* Parse a duration string into milliseconds.
|
|
121
|
-
* Supports: 30s, 5m, 1h, 1d
|
|
122
|
-
*/
|
|
123
|
-
export declare function parseDuration(duration: string): number;
|
|
124
|
-
/**
|
|
125
|
-
* Format milliseconds as a human-readable duration.
|
|
126
|
-
*/
|
|
127
|
-
export declare function formatDuration(ms: number): string;
|
|
128
|
-
//# sourceMappingURL=durable-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"durable-agent.d.ts","sourceRoot":"","sources":["../../src/workflow/durable-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQpE;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK;IACzC;;;OAGG;IACH,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpE;;;OAGG;IACH,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEpC;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE7E,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAEnC,gEAAgE;IAChE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAgBD;;;GAGG;AACH,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAalE;AAeD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AA4KD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,EAChB,OAAO,GAAE,mBAAwB,GAChC,YAAY,CAsEd;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqBtD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD"}
|