@modular-prompt/process 0.3.8 → 0.4.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 +40 -1
- package/dist/workflows/agentic-workflow/agentic-workflow.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/agentic-workflow.js +9 -2
- package/dist/workflows/agentic-workflow/agentic-workflow.js.map +1 -1
- package/dist/workflows/agentic-workflow/process/query-with-tools.d.ts +9 -1
- package/dist/workflows/agentic-workflow/process/query-with-tools.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/process/query-with-tools.js +29 -14
- package/dist/workflows/agentic-workflow/process/query-with-tools.js.map +1 -1
- package/dist/workflows/agentic-workflow/types.d.ts +11 -16
- package/dist/workflows/agentic-workflow/types.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/types.js.map +1 -1
- package/dist/workflows/concat-process-workflow.d.ts.map +1 -1
- package/dist/workflows/concat-process-workflow.js +22 -3
- package/dist/workflows/concat-process-workflow.js.map +1 -1
- package/dist/workflows/default-workflow.d.ts.map +1 -1
- package/dist/workflows/default-workflow.js +4 -2
- package/dist/workflows/default-workflow.js.map +1 -1
- package/dist/workflows/dialogue-workflow.d.ts.map +1 -1
- package/dist/workflows/dialogue-workflow.js +30 -18
- package/dist/workflows/dialogue-workflow.js.map +1 -1
- package/dist/workflows/index.d.ts +3 -1
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +2 -0
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/stream-workflow.d.ts.map +1 -1
- package/dist/workflows/stream-workflow.js +13 -0
- package/dist/workflows/stream-workflow.js.map +1 -1
- package/dist/workflows/summarize-workflow.d.ts.map +1 -1
- package/dist/workflows/summarize-workflow.js +17 -0
- package/dist/workflows/summarize-workflow.js.map +1 -1
- package/dist/workflows/tool-agent-workflow.d.ts +37 -0
- package/dist/workflows/tool-agent-workflow.d.ts.map +1 -0
- package/dist/workflows/tool-agent-workflow.js +141 -0
- package/dist/workflows/tool-agent-workflow.js.map +1 -0
- package/dist/workflows/types.d.ts +42 -2
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/types.js.map +1 -1
- package/dist/workflows/usage-utils.d.ts +15 -0
- package/dist/workflows/usage-utils.d.ts.map +1 -0
- package/dist/workflows/usage-utils.js +23 -0
- package/dist/workflows/usage-utils.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -67,6 +67,8 @@ const result = await defaultProcess(
|
|
|
67
67
|
);
|
|
68
68
|
|
|
69
69
|
console.log(result.output); // AIの応答
|
|
70
|
+
console.log(result.consumedUsage); // 実際に消費したトークン数(コスト把握用)
|
|
71
|
+
console.log(result.responseUsage); // 最終応答のトークン数(メッセージサイズ目安)
|
|
70
72
|
```
|
|
71
73
|
|
|
72
74
|
### チャンク処理
|
|
@@ -138,7 +140,9 @@ const result = await agenticProcess(driver, userModule, context, {
|
|
|
138
140
|
});
|
|
139
141
|
|
|
140
142
|
console.log(result.output); // 最終的な献立提案
|
|
141
|
-
console.log(result.metadata); // { planTasks, executedTasks, toolCallsUsed, finishReason }
|
|
143
|
+
console.log(result.metadata); // { planTasks, executedTasks, toolCallsUsed, finishReason, iterations }
|
|
144
|
+
console.log(result.consumedUsage); // 全タスク実行の合計usage(リトライ含む)
|
|
145
|
+
console.log(result.responseUsage); // 最終タスクのusage
|
|
142
146
|
```
|
|
143
147
|
|
|
144
148
|
### 外部ツールの使用
|
|
@@ -181,6 +185,41 @@ if (result.metadata.finishReason === 'tool_calls') {
|
|
|
181
185
|
}
|
|
182
186
|
```
|
|
183
187
|
|
|
188
|
+
## WorkflowResult型
|
|
189
|
+
|
|
190
|
+
すべてのワークフロー関数は以下の型を返します:
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
interface WorkflowResult<TContext> {
|
|
194
|
+
output: string; // 最終的な出力テキスト
|
|
195
|
+
context: TContext; // 更新されたContext(継続可能な状態)
|
|
196
|
+
|
|
197
|
+
// Usage情報
|
|
198
|
+
consumedUsage?: { // 全query()呼び出しの合計(リトライ含む)= 実コスト
|
|
199
|
+
promptTokens: number;
|
|
200
|
+
completionTokens: number;
|
|
201
|
+
totalTokens: number;
|
|
202
|
+
};
|
|
203
|
+
responseUsage?: { // 最終応答のusage = メッセージサイズの目安
|
|
204
|
+
promptTokens: number;
|
|
205
|
+
completionTokens: number;
|
|
206
|
+
totalTokens: number;
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
// ログ情報
|
|
210
|
+
logEntries?: LogEntry[]; // ワークフロー実行中の全ログエントリ
|
|
211
|
+
errors?: LogEntry[]; // エラーレベルのログエントリ
|
|
212
|
+
|
|
213
|
+
// その他のメタデータ
|
|
214
|
+
metadata?: {
|
|
215
|
+
iterations?: number; // イテレーション数(streamProcessなど)
|
|
216
|
+
[key: string]: any; // ワークフロー固有のメタデータ
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
詳細は [プロセスモジュールガイド](../docs/PROCESS_MODULE_GUIDE.md) を参照してください。
|
|
222
|
+
|
|
184
223
|
## 開発者向けドキュメント
|
|
185
224
|
|
|
186
225
|
ワークフロー実装者向けのドキュメント:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/agentic-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAA0C,MAAM,sBAAsB,CAAC;AAGjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agentic-workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/agentic-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAA0C,MAAM,sBAAsB,CAAC;AAGjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAEV,sBAAsB,EACtB,kBAAkB,EAKnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAyLrE,wBAAsB,cAAc,CAAC,CAAC,EACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,EAAE,CAAC,EACV,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CA4I7C"}
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { merge, resolve } from '@modular-prompt/core';
|
|
13
13
|
import { Logger } from '@modular-prompt/utils';
|
|
14
|
+
import { aggregateUsage, aggregateLogEntries } from '../usage-utils.js';
|
|
14
15
|
import { DEFAULT_DRIVER_ROLE } from './types.js';
|
|
15
16
|
import { resolveDriver } from '../driver-input.js';
|
|
16
17
|
import { getTaskTypeConfig, taskCommon, MAX_TOKENS_VALUES } from './task-types/index.js';
|
|
@@ -137,7 +138,10 @@ async function executeTask(driver, userModule, context, task, taskIndex, taskLis
|
|
|
137
138
|
toolCallLog: result.toolCallLog.length > 0 ? result.toolCallLog : undefined,
|
|
138
139
|
pendingToolCalls: result.pendingToolCalls,
|
|
139
140
|
metadata: {
|
|
140
|
-
|
|
141
|
+
consumedUsage: result.consumedUsage,
|
|
142
|
+
responseUsage: result.responseUsage,
|
|
143
|
+
logEntries: result.logEntries,
|
|
144
|
+
errors: result.errors,
|
|
141
145
|
},
|
|
142
146
|
};
|
|
143
147
|
}
|
|
@@ -245,12 +249,15 @@ export async function agenticProcess(driver, module, context, options = {}) {
|
|
|
245
249
|
taskList,
|
|
246
250
|
executionLog,
|
|
247
251
|
},
|
|
252
|
+
consumedUsage: aggregateUsage(executionLog.map(l => l.metadata?.consumedUsage)),
|
|
253
|
+
responseUsage: lastLog?.metadata?.responseUsage,
|
|
254
|
+
logEntries: aggregateLogEntries(executionLog.map(l => l.metadata?.logEntries)),
|
|
255
|
+
errors: aggregateLogEntries(executionLog.map(l => l.metadata?.errors)),
|
|
248
256
|
metadata: {
|
|
249
257
|
planTasks: taskList.length,
|
|
250
258
|
executedTasks: executionLog.length,
|
|
251
259
|
toolCallsUsed: totalToolCalls,
|
|
252
260
|
finishReason,
|
|
253
|
-
usage: lastLog?.metadata?.usage,
|
|
254
261
|
},
|
|
255
262
|
};
|
|
256
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentic-workflow.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/agentic-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"agentic-workflow.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/agentic-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import type { ToolCall, ResolvedModule } from '@modular-prompt/core';
|
|
9
9
|
import type { ToolChoice, FinishReason, ToolDefinition } from '@modular-prompt/driver';
|
|
10
10
|
import { Logger } from '@modular-prompt/utils';
|
|
11
|
+
import type { LogEntry } from '@modular-prompt/utils';
|
|
11
12
|
import type { AIDriver } from '../../types.js';
|
|
12
13
|
import type { QueryResult } from '@modular-prompt/driver';
|
|
13
14
|
import type { ToolSpec, ToolCallLog } from '../types.js';
|
|
@@ -26,8 +27,15 @@ export interface QueryWithToolsResult {
|
|
|
26
27
|
toolCallLog: ToolCallLog[];
|
|
27
28
|
/** External tool calls that the LLM requested (not executed) */
|
|
28
29
|
pendingToolCalls?: ToolCall[];
|
|
29
|
-
usage
|
|
30
|
+
/** 全 query() 呼び出しの合計 usage(リトライ含む) */
|
|
31
|
+
consumedUsage?: QueryResult['usage'];
|
|
32
|
+
/** 最終クエリの usage */
|
|
33
|
+
responseUsage?: QueryResult['usage'];
|
|
30
34
|
finishReason?: FinishReason;
|
|
35
|
+
/** 全クエリの logEntries をフラット化 */
|
|
36
|
+
logEntries?: LogEntry[];
|
|
37
|
+
/** 全クエリの errors をフラット化 */
|
|
38
|
+
errors?: LogEntry[];
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
33
41
|
* Query the model and handle tool calls with error retry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-with-tools.d.ts","sourceRoot":"","sources":["../../../../src/workflows/agentic-workflow/process/query-with-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoD,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-with-tools.d.ts","sourceRoot":"","sources":["../../../../src/workflows/agentic-workflow/process/query-with-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAoD,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEvH,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAyCzD,MAAM,WAAW,qBAAqB;IACpC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,cAAc,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,sCAAsC;IACtC,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,mBAAmB;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,8BAA8B;IAC9B,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,QAAQ,EAAE,EACxB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CA0H/B;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,KAAK,CAGP"}
|
|
@@ -9,6 +9,7 @@ import { distribute } from '@modular-prompt/core';
|
|
|
9
9
|
import { Logger } from '@modular-prompt/utils';
|
|
10
10
|
import { WorkflowExecutionError } from '../../types.js';
|
|
11
11
|
import { isBuiltinTool } from './builtin-tools.js';
|
|
12
|
+
import { aggregateUsage, aggregateLogEntries } from '../../usage-utils.js';
|
|
12
13
|
const logger = new Logger({ prefix: 'process', context: 'agentic' });
|
|
13
14
|
/**
|
|
14
15
|
* Execute builtin tool calls and return ToolResultMessageElements
|
|
@@ -25,7 +26,7 @@ async function executeBuiltinToolCalls(toolCalls, builtinTools, logger) {
|
|
|
25
26
|
continue;
|
|
26
27
|
}
|
|
27
28
|
try {
|
|
28
|
-
const result = await spec.handler(tc.arguments);
|
|
29
|
+
const result = await spec.handler(tc.arguments, {});
|
|
29
30
|
logger.info('[tool:result]', tc.name, result);
|
|
30
31
|
results.push({
|
|
31
32
|
type: 'message', role: 'tool', toolCallId: tc.id, name: tc.name,
|
|
@@ -66,13 +67,31 @@ export async function queryWithTools(driver, resolved, builtinTools, options = {
|
|
|
66
67
|
...(options.maxTokens ? { maxTokens: options.maxTokens } : {}),
|
|
67
68
|
};
|
|
68
69
|
let retryCount = 0;
|
|
70
|
+
const allUsages = [];
|
|
71
|
+
const allLogEntries = [];
|
|
72
|
+
const allErrors = [];
|
|
73
|
+
const buildResult = (content, lastResult, extra) => {
|
|
74
|
+
allUsages.push(lastResult.usage);
|
|
75
|
+
allLogEntries.push(lastResult.logEntries);
|
|
76
|
+
allErrors.push(lastResult.errors);
|
|
77
|
+
return {
|
|
78
|
+
content,
|
|
79
|
+
toolCallLog,
|
|
80
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
81
|
+
responseUsage: lastResult.usage,
|
|
82
|
+
finishReason: lastResult.finishReason,
|
|
83
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
84
|
+
errors: aggregateLogEntries(allErrors),
|
|
85
|
+
...extra,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
69
88
|
while (true) {
|
|
70
89
|
const queryResult = await driver.query(prompt, queryOptions);
|
|
71
90
|
qLogger.verbose('[output]', queryResult.content);
|
|
72
91
|
const content = queryResult.content || '';
|
|
73
92
|
// No tool calls → return
|
|
74
93
|
if (!queryResult.toolCalls || queryResult.toolCalls.length === 0) {
|
|
75
|
-
return
|
|
94
|
+
return buildResult(content, queryResult);
|
|
76
95
|
}
|
|
77
96
|
// Log tool calls
|
|
78
97
|
for (const tc of queryResult.toolCalls) {
|
|
@@ -108,26 +127,22 @@ export async function queryWithTools(driver, resolved, builtinTools, options = {
|
|
|
108
127
|
// No errors: return normally
|
|
109
128
|
if (!hasErrors) {
|
|
110
129
|
if (validExternalCalls.length > 0) {
|
|
111
|
-
return {
|
|
112
|
-
content, toolCallLog,
|
|
113
|
-
pendingToolCalls: validExternalCalls,
|
|
114
|
-
usage: queryResult.usage, finishReason: queryResult.finishReason,
|
|
115
|
-
};
|
|
130
|
+
return buildResult(content, queryResult, { pendingToolCalls: validExternalCalls });
|
|
116
131
|
}
|
|
117
|
-
return
|
|
132
|
+
return buildResult(content, queryResult);
|
|
118
133
|
}
|
|
119
134
|
// Errors exist but no retries left → return what we have
|
|
120
135
|
if (retryCount >= maxRetries) {
|
|
121
136
|
qLogger.info('[retry:exhausted]', `gave up after ${maxRetries} retries`);
|
|
122
137
|
if (validExternalCalls.length > 0) {
|
|
123
|
-
return {
|
|
124
|
-
content, toolCallLog,
|
|
125
|
-
pendingToolCalls: validExternalCalls,
|
|
126
|
-
usage: queryResult.usage, finishReason: queryResult.finishReason,
|
|
127
|
-
};
|
|
138
|
+
return buildResult(content, queryResult, { pendingToolCalls: validExternalCalls });
|
|
128
139
|
}
|
|
129
|
-
return
|
|
140
|
+
return buildResult(content, queryResult);
|
|
130
141
|
}
|
|
142
|
+
// Accumulate intermediate usage/logEntries before retry
|
|
143
|
+
allUsages.push(queryResult.usage);
|
|
144
|
+
allLogEntries.push(queryResult.logEntries);
|
|
145
|
+
allErrors.push(queryResult.errors);
|
|
131
146
|
// Retry: append assistant message + tool results to prompt.output
|
|
132
147
|
retryCount++;
|
|
133
148
|
qLogger.info('[retry]', `attempt ${retryCount}/${maxRetries} due to tool errors`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-with-tools.js","sourceRoot":"","sources":["../../../../src/workflows/agentic-workflow/process/query-with-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"query-with-tools.js","sourceRoot":"","sources":["../../../../src/workflows/agentic-workflow/process/query-with-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,9 @@
|
|
|
1
1
|
import type { ToolDefinition, QueryResult, ToolCall } from '@modular-prompt/driver';
|
|
2
2
|
import type { ResolvedModule } from '@modular-prompt/core';
|
|
3
|
+
import type { LogEntry } from '@modular-prompt/utils';
|
|
3
4
|
import type { ModelRole } from '../driver-input.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
*/
|
|
7
|
-
export interface ToolSpec {
|
|
8
|
-
definition: ToolDefinition;
|
|
9
|
-
handler: (args: Record<string, unknown>) => Promise<unknown>;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Tool call log entry (builtin tool execution record)
|
|
13
|
-
*/
|
|
14
|
-
export interface ToolCallLog {
|
|
15
|
-
name: string;
|
|
16
|
-
arguments: Record<string, unknown>;
|
|
17
|
-
result: unknown;
|
|
18
|
-
}
|
|
5
|
+
import type { ToolSpec, ToolCallLog } from '../types.js';
|
|
6
|
+
export type { ToolSpec, ToolCallLog };
|
|
19
7
|
/**
|
|
20
8
|
* Built-in task types.
|
|
21
9
|
*
|
|
@@ -61,7 +49,14 @@ export interface AgenticTaskExecutionLog {
|
|
|
61
49
|
toolCallLog?: ToolCallLog[];
|
|
62
50
|
pendingToolCalls?: ToolCall[];
|
|
63
51
|
metadata?: {
|
|
64
|
-
usage
|
|
52
|
+
/** 全 query() 呼び出しの合計 usage(リトライ含む) */
|
|
53
|
+
consumedUsage?: QueryResult['usage'];
|
|
54
|
+
/** 最終クエリの usage */
|
|
55
|
+
responseUsage?: QueryResult['usage'];
|
|
56
|
+
/** 全クエリの logEntries */
|
|
57
|
+
logEntries?: LogEntry[];
|
|
58
|
+
/** エラーレベルのログエントリ */
|
|
59
|
+
errors?: LogEntry[];
|
|
65
60
|
};
|
|
66
61
|
}
|
|
67
62
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":"AA+
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":"AA+BA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,UAAU;IAClB,cAAc,EAAE,UAAU;IAC1B,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,UAAU;IACrB,MAAM,EAAE,MAAM;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat-process-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/concat-process-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"concat-process-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/concat-process-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAMpE;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,KAAK,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA6BD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,oBAAoB,CAAC,EAC1C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAsK/C"}
|
|
@@ -2,6 +2,7 @@ import { compile, merge } from '@modular-prompt/core';
|
|
|
2
2
|
import { Logger } from '@modular-prompt/utils';
|
|
3
3
|
import { WorkflowExecutionError } from './types.js';
|
|
4
4
|
import { resolveDriver } from './driver-input.js';
|
|
5
|
+
import { aggregateUsage, aggregateLogEntries } from './usage-utils.js';
|
|
5
6
|
const logger = new Logger({ prefix: 'process', context: 'concat' });
|
|
6
7
|
/**
|
|
7
8
|
* Base module for concat processing
|
|
@@ -43,6 +44,10 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
43
44
|
// Use existing results or start fresh
|
|
44
45
|
const results = context.results ? [...context.results] : [];
|
|
45
46
|
let processedCount = context.processedCount || 0;
|
|
47
|
+
const allUsages = [];
|
|
48
|
+
const allLogEntries = [];
|
|
49
|
+
const allErrors = [];
|
|
50
|
+
let lastUsage;
|
|
46
51
|
// Calculate starting point based on processed count
|
|
47
52
|
const startIndex = processedCount;
|
|
48
53
|
const remainingChunks = context.chunks.slice(startIndex);
|
|
@@ -70,7 +75,7 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
70
75
|
finishReason: result.finishReason
|
|
71
76
|
});
|
|
72
77
|
}
|
|
73
|
-
return result
|
|
78
|
+
return result;
|
|
74
79
|
}
|
|
75
80
|
catch (error) {
|
|
76
81
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -87,8 +92,14 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
87
92
|
});
|
|
88
93
|
}
|
|
89
94
|
});
|
|
90
|
-
const
|
|
91
|
-
|
|
95
|
+
const parallelQueryResults = await Promise.all(promises);
|
|
96
|
+
for (const qr of parallelQueryResults) {
|
|
97
|
+
results.push(qr.content);
|
|
98
|
+
allUsages.push(qr.usage);
|
|
99
|
+
allLogEntries.push(qr.logEntries);
|
|
100
|
+
allErrors.push(qr.errors);
|
|
101
|
+
lastUsage = qr.usage;
|
|
102
|
+
}
|
|
92
103
|
processedCount = context.chunks.length;
|
|
93
104
|
}
|
|
94
105
|
else {
|
|
@@ -118,6 +129,10 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
118
129
|
});
|
|
119
130
|
}
|
|
120
131
|
results.push(queryResult.content);
|
|
132
|
+
allUsages.push(queryResult.usage);
|
|
133
|
+
allLogEntries.push(queryResult.logEntries);
|
|
134
|
+
allErrors.push(queryResult.errors);
|
|
135
|
+
lastUsage = queryResult.usage;
|
|
121
136
|
processedCount = startIndex + i + batch.length;
|
|
122
137
|
}
|
|
123
138
|
catch (error) {
|
|
@@ -147,6 +162,10 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
147
162
|
return {
|
|
148
163
|
output,
|
|
149
164
|
context: finalContext,
|
|
165
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
166
|
+
responseUsage: lastUsage,
|
|
167
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
168
|
+
errors: aggregateLogEntries(allErrors),
|
|
150
169
|
metadata: {
|
|
151
170
|
chunksProcessed: processedCount,
|
|
152
171
|
resultsCount: results.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concat-process-workflow.js","sourceRoot":"","sources":["../../src/workflows/concat-process-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"concat-process-workflow.js","sourceRoot":"","sources":["../../src/workflows/concat-process-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/default-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvE,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,OAAO,EAAE,QAAQ,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"default-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/default-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAIpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvE,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,OAAO,EAAE,QAAQ,EACjB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAmCnC"}
|
|
@@ -24,12 +24,14 @@ export async function defaultProcess(driver, module, context, options = {}) {
|
|
|
24
24
|
return {
|
|
25
25
|
output: result.content,
|
|
26
26
|
context,
|
|
27
|
+
consumedUsage: result.usage,
|
|
28
|
+
responseUsage: result.usage,
|
|
29
|
+
logEntries: result.logEntries,
|
|
30
|
+
errors: result.errors,
|
|
27
31
|
metadata: {
|
|
28
32
|
iterations: 1,
|
|
29
|
-
tokensUsed: result.usage?.totalTokens,
|
|
30
33
|
toolCalls: result.toolCalls,
|
|
31
34
|
finishReason: result.finishReason,
|
|
32
|
-
usage: result.usage,
|
|
33
35
|
},
|
|
34
36
|
};
|
|
35
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-workflow.js","sourceRoot":"","sources":["../../src/workflows/default-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AACzE,OAAO,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AASrE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,MAA8B,EAC9B,OAAiB,EACjB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5F,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,OAAO;YACP,
|
|
1
|
+
{"version":3,"file":"default-workflow.js","sourceRoot":"","sources":["../../src/workflows/default-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AACzE,OAAO,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AASrE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,MAA8B,EAC9B,OAAiB,EACjB,UAAiC,EAAE;IAEnC,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC5F,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAErB,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,OAAO;YACtB,OAAO;YACP,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,aAAa,EAAE,MAAM,CAAC,KAAK;YAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE;gBACR,UAAU,EAAE,CAAC;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAC9B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,OAAO,EACP,EAAE,KAAK,EAAE,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/dialogue-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"dialogue-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/dialogue-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAKpE;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe,EAAE,eAAe;IAC/E,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAC7C,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAqLlD"}
|
|
@@ -4,6 +4,7 @@ import { firstOfTwoPassResponse, secondOfTwoPassResponse, withTalkState } from '
|
|
|
4
4
|
import { withMaterials } from '../modules/material.js';
|
|
5
5
|
import { WorkflowExecutionError } from './types.js';
|
|
6
6
|
import { resolveDriver } from './driver-input.js';
|
|
7
|
+
import { aggregateUsage, aggregateLogEntries } from './usage-utils.js';
|
|
7
8
|
const logger = new Logger({ prefix: 'process', context: 'dialogue' });
|
|
8
9
|
/**
|
|
9
10
|
* Dialogue workflow - handles conversational interactions with optional two-pass processing
|
|
@@ -25,18 +26,19 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
25
26
|
const firstPassPrompt = compile(firstPassModule, context);
|
|
26
27
|
logger.verbose('[prompt]', JSON.stringify(firstPassPrompt));
|
|
27
28
|
let preparationNote;
|
|
29
|
+
let firstPassResult;
|
|
28
30
|
try {
|
|
29
|
-
|
|
30
|
-
logger.verbose('[output]',
|
|
31
|
+
firstPassResult = await resolveDriver(driver, 'default').query(firstPassPrompt);
|
|
32
|
+
logger.verbose('[output]', firstPassResult.content);
|
|
31
33
|
// Check finish reason for dynamic failures
|
|
32
|
-
if (
|
|
33
|
-
throw new WorkflowExecutionError(`Query failed with reason: ${
|
|
34
|
+
if (firstPassResult.finishReason && firstPassResult.finishReason !== 'stop') {
|
|
35
|
+
throw new WorkflowExecutionError(`Query failed with reason: ${firstPassResult.finishReason}`, context, {
|
|
34
36
|
phase: 'firstPass',
|
|
35
37
|
partialResult: '',
|
|
36
|
-
finishReason:
|
|
38
|
+
finishReason: firstPassResult.finishReason
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
|
-
preparationNote =
|
|
41
|
+
preparationNote = firstPassResult.content;
|
|
40
42
|
}
|
|
41
43
|
catch (error) {
|
|
42
44
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -59,18 +61,19 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
59
61
|
const secondPassPrompt = compile(secondPassModule, updatedContext);
|
|
60
62
|
logger.verbose('[prompt]', JSON.stringify(secondPassPrompt));
|
|
61
63
|
let response;
|
|
64
|
+
let secondPassResult;
|
|
62
65
|
try {
|
|
63
|
-
|
|
64
|
-
logger.verbose('[output]',
|
|
66
|
+
secondPassResult = await resolveDriver(driver, 'default').query(secondPassPrompt);
|
|
67
|
+
logger.verbose('[output]', secondPassResult.content);
|
|
65
68
|
// Check finish reason for dynamic failures
|
|
66
|
-
if (
|
|
67
|
-
throw new WorkflowExecutionError(`Query failed with reason: ${
|
|
69
|
+
if (secondPassResult.finishReason && secondPassResult.finishReason !== 'stop') {
|
|
70
|
+
throw new WorkflowExecutionError(`Query failed with reason: ${secondPassResult.finishReason}`, updatedContext, {
|
|
68
71
|
phase: 'secondPass',
|
|
69
72
|
partialResult: preparationNote,
|
|
70
|
-
finishReason:
|
|
73
|
+
finishReason: secondPassResult.finishReason
|
|
71
74
|
});
|
|
72
75
|
}
|
|
73
|
-
response =
|
|
76
|
+
response = secondPassResult.content;
|
|
74
77
|
}
|
|
75
78
|
catch (error) {
|
|
76
79
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -95,6 +98,10 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
95
98
|
return {
|
|
96
99
|
output: response,
|
|
97
100
|
context: finalContext,
|
|
101
|
+
consumedUsage: aggregateUsage([firstPassResult.usage, secondPassResult.usage]),
|
|
102
|
+
responseUsage: secondPassResult.usage,
|
|
103
|
+
logEntries: aggregateLogEntries([firstPassResult.logEntries, secondPassResult.logEntries]),
|
|
104
|
+
errors: aggregateLogEntries([firstPassResult.errors, secondPassResult.errors]),
|
|
98
105
|
metadata: {
|
|
99
106
|
twoPass: true,
|
|
100
107
|
preparationNoteLength: preparationNote.length
|
|
@@ -106,18 +113,19 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
106
113
|
const prompt = compile(workflowModule, context);
|
|
107
114
|
logger.verbose('[prompt]', JSON.stringify(prompt));
|
|
108
115
|
let response;
|
|
116
|
+
let singlePassResult;
|
|
109
117
|
try {
|
|
110
|
-
|
|
111
|
-
logger.verbose('[output]',
|
|
118
|
+
singlePassResult = await resolveDriver(driver, 'default').query(prompt);
|
|
119
|
+
logger.verbose('[output]', singlePassResult.content);
|
|
112
120
|
// Check finish reason for dynamic failures
|
|
113
|
-
if (
|
|
114
|
-
throw new WorkflowExecutionError(`Query failed with reason: ${
|
|
121
|
+
if (singlePassResult.finishReason && singlePassResult.finishReason !== 'stop') {
|
|
122
|
+
throw new WorkflowExecutionError(`Query failed with reason: ${singlePassResult.finishReason}`, context, {
|
|
115
123
|
phase: 'singlePass',
|
|
116
124
|
partialResult: '',
|
|
117
|
-
finishReason:
|
|
125
|
+
finishReason: singlePassResult.finishReason
|
|
118
126
|
});
|
|
119
127
|
}
|
|
120
|
-
response =
|
|
128
|
+
response = singlePassResult.content;
|
|
121
129
|
}
|
|
122
130
|
catch (error) {
|
|
123
131
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -142,6 +150,10 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
142
150
|
return {
|
|
143
151
|
output: response,
|
|
144
152
|
context: finalContext,
|
|
153
|
+
consumedUsage: singlePassResult.usage,
|
|
154
|
+
responseUsage: singlePassResult.usage,
|
|
155
|
+
logEntries: singlePassResult.logEntries,
|
|
156
|
+
errors: singlePassResult.errors,
|
|
145
157
|
metadata: {
|
|
146
158
|
twoPass: false
|
|
147
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue-workflow.js","sourceRoot":"","sources":["../../src/workflows/dialogue-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"dialogue-workflow.js","sourceRoot":"","sources":["../../src/workflows/dialogue-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AIDriver, WorkflowResult, WorkflowError, WorkflowExecutionError } from './types.js';
|
|
1
|
+
export type { AIDriver, WorkflowResult, WorkflowError, WorkflowExecutionError, ToolAgentContext } from './types.js';
|
|
2
2
|
export { streamProcess } from './stream-workflow.js';
|
|
3
3
|
export type { StreamWorkflowOptions } from './stream-workflow.js';
|
|
4
4
|
export { dialogueProcess } from './dialogue-workflow.js';
|
|
@@ -12,6 +12,8 @@ export { BUILTIN_TOOL_PREFIX, isBuiltinTool } from './agentic-workflow/index.js'
|
|
|
12
12
|
export { DEFAULT_DRIVER_ROLE } from './agentic-workflow/index.js';
|
|
13
13
|
export { getTaskTypeConfig, taskCommon } from './agentic-workflow/index.js';
|
|
14
14
|
export type { AgenticWorkflowContext, AgenticWorkflowOptions, AgenticResumeState, AgenticTask, AgenticTaskExecutionLog, TaskType, ToolSpec, ToolCallLog, TaskTypeConfig } from './agentic-workflow/index.js';
|
|
15
|
+
export { toolAgentProcess } from './tool-agent-workflow.js';
|
|
16
|
+
export type { ToolAgentOptions } from './tool-agent-workflow.js';
|
|
15
17
|
export { defaultProcess } from './default-workflow.js';
|
|
16
18
|
export type { DefaultProcessOptions } from './default-workflow.js';
|
|
17
19
|
export { resolveDriver, isAIDriver } from './driver-input.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACf,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/workflows/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export { agenticProcess } from './agentic-workflow/index.js';
|
|
|
11
11
|
export { BUILTIN_TOOL_PREFIX, isBuiltinTool } from './agentic-workflow/index.js';
|
|
12
12
|
export { DEFAULT_DRIVER_ROLE } from './agentic-workflow/index.js';
|
|
13
13
|
export { getTaskTypeConfig, taskCommon } from './agentic-workflow/index.js';
|
|
14
|
+
// Tool agent workflow
|
|
15
|
+
export { toolAgentProcess } from './tool-agent-workflow.js';
|
|
14
16
|
// Default workflow
|
|
15
17
|
export { defaultProcess } from './default-workflow.js';
|
|
16
18
|
// Driver input types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AASA,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAMzD,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,kBAAkB;AAClB,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAM7D,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAa5E,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/stream-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/stream-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAYpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA+CD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,uBAAuB,CAAC,EAC7C,OAAO,EAAE,uBAAuB,EAChC,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC,CAiHlD"}
|
|
@@ -3,6 +3,7 @@ import { Logger } from '@modular-prompt/utils';
|
|
|
3
3
|
import { WorkflowExecutionError } from './types.js';
|
|
4
4
|
import { streamProcessing } from '../modules/stream-processing.js';
|
|
5
5
|
import { resolveDriver } from './driver-input.js';
|
|
6
|
+
import { aggregateUsage, aggregateLogEntries } from './usage-utils.js';
|
|
6
7
|
const logger = new Logger({ prefix: 'process', context: 'stream' });
|
|
7
8
|
/**
|
|
8
9
|
* Simple token estimation (roughly 4 characters per token)
|
|
@@ -56,6 +57,10 @@ export async function streamProcess(driver, module, context, options = {}) {
|
|
|
56
57
|
content: '',
|
|
57
58
|
usage: 0
|
|
58
59
|
};
|
|
60
|
+
const allUsages = [];
|
|
61
|
+
const allLogEntries = [];
|
|
62
|
+
const allErrors = [];
|
|
63
|
+
let lastUsage;
|
|
59
64
|
// Calculate initial range
|
|
60
65
|
let range = getNextRange(context.chunks, context.range, { tokenLimit, maxChunk });
|
|
61
66
|
while (range) {
|
|
@@ -86,6 +91,10 @@ export async function streamProcess(driver, module, context, options = {}) {
|
|
|
86
91
|
}
|
|
87
92
|
nextStateContent = result.content;
|
|
88
93
|
nextStateUsage = result.usage?.completionTokens || estimateTokens(result.content);
|
|
94
|
+
allUsages.push(result.usage);
|
|
95
|
+
allLogEntries.push(result.logEntries);
|
|
96
|
+
allErrors.push(result.errors);
|
|
97
|
+
lastUsage = result.usage;
|
|
89
98
|
}
|
|
90
99
|
catch (error) {
|
|
91
100
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -118,6 +127,10 @@ export async function streamProcess(driver, module, context, options = {}) {
|
|
|
118
127
|
return {
|
|
119
128
|
output: state.content,
|
|
120
129
|
context: finalContext,
|
|
130
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
131
|
+
responseUsage: lastUsage,
|
|
132
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
133
|
+
errors: aggregateLogEntries(allErrors),
|
|
121
134
|
metadata: {
|
|
122
135
|
finalTokens: state.usage,
|
|
123
136
|
targetTokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-workflow.js","sourceRoot":"","sources":["../../src/workflows/stream-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"stream-workflow.js","sourceRoot":"","sources":["../../src/workflows/stream-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAuB,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAoB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAWD;;GAEG;AACH,SAAS,YAAY,CACnB,MAAyC,EACzC,YAA+C,EAC/C,OAAoD;IAEpD,MAAM,EACJ,UAAU,GAAG,MAAM,EACnB,QAAQ,GAAG,GAAG,GACf,GAAG,OAAO,IAAI,EAAE,CAAC;IAElB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,EAAE,GAAG,YAAY,EAAE,CAAC;IAElC,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QAElB,IAAI,MAAM,GAAG,UAAU,IAAI,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC;YAC9D,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC,CAAC,OAAO;IAC3B,CAAC;IAED,OAAO,KAAuC,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAmB,EACnB,MAA6C,EAC7C,OAAgC,EAChC,UAAiC,EAAE;IAGnC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,EACJ,UAAU,EACV,QAAQ,EACR,YAAY,EACb,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,mCAAmC;IACnC,IAAI,KAAK,GAAqC,OAAO,CAAC,KAAK,IAAI;QAC7D,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,MAAM,SAAS,GAAyC,EAAE,CAAC;IAC3D,MAAM,aAAa,GAA+B,EAAE,CAAC;IACrD,MAAM,SAAS,GAA+B,EAAE,CAAC;IACjD,IAAI,SAA2C,CAAC;IAEhD,0BAA0B;IAC1B,IAAI,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IAElF,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,gBAAgB,GAA4B;YAChD,GAAG,OAAO;YACV,KAAK;YACL,KAAK;YACL,YAAY;SACb,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAC1E,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEnD,IAAI,gBAAwB,CAAC;QAC7B,IAAI,cAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAE3C,2CAA2C;YAC3C,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC1D,MAAM,IAAI,sBAAsB,CAC9B,6BAA6B,MAAM,CAAC,YAAY,EAAE,EAClD;oBACE,GAAG,OAAO;oBACV,KAAK;oBACL,KAAK;iBACN,EACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,aAAa,EAAE,KAAK,CAAC,OAAO;oBAC5B,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CACF,CAAC;YACJ,CAAC;YAED,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC;YAClC,cAAc,GAAG,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;gBAC5C,MAAM,KAAK,CAAC;YACd,CAAC;YACD,uDAAuD;YACvD,MAAM,IAAI,sBAAsB,CAAC,KAAc,EAAE;gBAC/C,GAAG,OAAO;gBACV,KAAK;gBACL,KAAK;aACN,EAAE;gBACD,KAAK,EAAE,kBAAkB;gBACzB,aAAa,EAAE,KAAK,CAAC,OAAO;aAC7B,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,KAAK,GAAG;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,cAAc;SACtB,CAAC;QAEF,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAA4B;QAC5C,GAAG,OAAO;QACV,KAAK;QACL,KAAK,EAAE,SAAS,CAAC,sBAAsB;KACxC,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,OAAO;QACrB,OAAO,EAAE,YAAY;QACrB,aAAa,EAAE,cAAc,CAAC,SAAS,CAAC;QACxC,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAC9C,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC;QACtC,QAAQ,EAAE;YACR,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,YAAY;SACb;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/summarize-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"summarize-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/summarize-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMzD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAYpE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;KACrB,CAAC,CAAC;IACH,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,GAAG,eAAe,GAAG,UAAU,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,wBAAwB,CAAC,EAC9C,OAAO,EAAE,wBAAwB,EACjC,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC,CAmMnD"}
|
|
@@ -4,6 +4,7 @@ import { streamProcessing } from '../modules/stream-processing.js';
|
|
|
4
4
|
import { analyzeForSummary, contentSummarize } from '../modules/summarize.js';
|
|
5
5
|
import { WorkflowExecutionError } from './types.js';
|
|
6
6
|
import { resolveDriver } from './driver-input.js';
|
|
7
|
+
import { aggregateUsage, aggregateLogEntries } from './usage-utils.js';
|
|
7
8
|
const logger = new Logger({ prefix: 'process', context: 'summarize' });
|
|
8
9
|
/**
|
|
9
10
|
* Simple token estimation (roughly 4 characters per token)
|
|
@@ -19,6 +20,10 @@ export async function summarizeProcess(driver, module, context, options) {
|
|
|
19
20
|
const { targetTokens, enableAnalysis = true } = options;
|
|
20
21
|
let currentContext = { ...context };
|
|
21
22
|
let analysisReport = currentContext.analysisReport || '';
|
|
23
|
+
const allUsages = [];
|
|
24
|
+
const allLogEntries = [];
|
|
25
|
+
const allErrors = [];
|
|
26
|
+
let lastUsage;
|
|
22
27
|
// Require chunks to be provided by caller
|
|
23
28
|
if (!currentContext.chunks || currentContext.chunks.length === 0) {
|
|
24
29
|
throw new Error('No chunks provided. Chunks must be prepared before calling the workflow.');
|
|
@@ -54,6 +59,10 @@ export async function summarizeProcess(driver, module, context, options) {
|
|
|
54
59
|
});
|
|
55
60
|
}
|
|
56
61
|
analysisState = queryResult.content;
|
|
62
|
+
allUsages.push(queryResult.usage);
|
|
63
|
+
allLogEntries.push(queryResult.logEntries);
|
|
64
|
+
allErrors.push(queryResult.errors);
|
|
65
|
+
lastUsage = queryResult.usage;
|
|
57
66
|
}
|
|
58
67
|
catch (error) {
|
|
59
68
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -115,6 +124,10 @@ export async function summarizeProcess(driver, module, context, options) {
|
|
|
115
124
|
});
|
|
116
125
|
}
|
|
117
126
|
summaryState = queryResult.content;
|
|
127
|
+
allUsages.push(queryResult.usage);
|
|
128
|
+
allLogEntries.push(queryResult.logEntries);
|
|
129
|
+
allErrors.push(queryResult.errors);
|
|
130
|
+
lastUsage = queryResult.usage;
|
|
118
131
|
}
|
|
119
132
|
catch (error) {
|
|
120
133
|
// If it's already a WorkflowExecutionError, re-throw
|
|
@@ -151,6 +164,10 @@ export async function summarizeProcess(driver, module, context, options) {
|
|
|
151
164
|
return {
|
|
152
165
|
output: summaryState,
|
|
153
166
|
context: finalContext,
|
|
167
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
168
|
+
responseUsage: lastUsage,
|
|
169
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
170
|
+
errors: aggregateLogEntries(allErrors),
|
|
154
171
|
metadata: {
|
|
155
172
|
analysisEnabled: enableAnalysis,
|
|
156
173
|
finalLength: estimateTokens(summaryState),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarize-workflow.js","sourceRoot":"","sources":["../../src/workflows/summarize-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"summarize-workflow.js","sourceRoot":"","sources":["../../src/workflows/summarize-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool agent workflow
|
|
3
|
+
*
|
|
4
|
+
* A simple agent loop: query the model with tools, execute tool calls,
|
|
5
|
+
* feed results back, and repeat until the model produces a final output
|
|
6
|
+
* or the turn limit is reached.
|
|
7
|
+
*
|
|
8
|
+
* All tools are executed internally — there is no builtin/external distinction.
|
|
9
|
+
*/
|
|
10
|
+
import type { PromptModule } from '@modular-prompt/core';
|
|
11
|
+
import type { ToolChoice } from '@modular-prompt/driver';
|
|
12
|
+
import { type WorkflowResult, type ToolSpec, type ToolAgentContext } from './types.js';
|
|
13
|
+
import { type DriverInput, type ModelRole } from './driver-input.js';
|
|
14
|
+
/**
|
|
15
|
+
* Options for tool agent workflow
|
|
16
|
+
*/
|
|
17
|
+
export interface ToolAgentOptions {
|
|
18
|
+
/** Tools available to the agent (definition + handler) */
|
|
19
|
+
tools?: ToolSpec[];
|
|
20
|
+
/** Maximum number of query-execute turns (default: 10) */
|
|
21
|
+
maxTurns?: number;
|
|
22
|
+
/** Maximum output tokens per query */
|
|
23
|
+
maxTokens?: number;
|
|
24
|
+
/** Tool usage strategy */
|
|
25
|
+
toolChoice?: ToolChoice;
|
|
26
|
+
/** Driver role to use from DriverSet (default: 'default') */
|
|
27
|
+
driverRole?: ModelRole;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Tool agent workflow — runs a model with tools in a loop.
|
|
31
|
+
*
|
|
32
|
+
* The model is queried with tool definitions. When it produces tool calls,
|
|
33
|
+
* they are executed and the results are fed back. This continues until
|
|
34
|
+
* the model produces output without tool calls or maxTurns is reached.
|
|
35
|
+
*/
|
|
36
|
+
export declare function toolAgentProcess<TContext extends ToolAgentContext & Record<string, any>>(driver: DriverInput, module: PromptModule<TContext>, context: TContext, options?: ToolAgentOptions): Promise<WorkflowResult<TContext>>;
|
|
37
|
+
//# sourceMappingURL=tool-agent-workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-agent-workflow.d.ts","sourceRoot":"","sources":["../../src/workflows/tool-agent-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,wBAAwB,CAAC;AAGtE,OAAO,EAA0B,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAoB,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACjI,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAiB,MAAM,mBAAmB,CAAC;AAKpF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5F,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAC9B,OAAO,EAAE,QAAQ,EACjB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CA0InC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool agent workflow
|
|
3
|
+
*
|
|
4
|
+
* A simple agent loop: query the model with tools, execute tool calls,
|
|
5
|
+
* feed results back, and repeat until the model produces a final output
|
|
6
|
+
* or the turn limit is reached.
|
|
7
|
+
*
|
|
8
|
+
* All tools are executed internally — there is no builtin/external distinction.
|
|
9
|
+
*/
|
|
10
|
+
import { compile } from '@modular-prompt/core';
|
|
11
|
+
import { Logger } from '@modular-prompt/utils';
|
|
12
|
+
import { WorkflowExecutionError } from './types.js';
|
|
13
|
+
import { resolveDriver } from './driver-input.js';
|
|
14
|
+
import { aggregateUsage, aggregateLogEntries } from './usage-utils.js';
|
|
15
|
+
const logger = new Logger({ prefix: 'process', context: 'tool-agent' });
|
|
16
|
+
/**
|
|
17
|
+
* Tool agent workflow — runs a model with tools in a loop.
|
|
18
|
+
*
|
|
19
|
+
* The model is queried with tool definitions. When it produces tool calls,
|
|
20
|
+
* they are executed and the results are fed back. This continues until
|
|
21
|
+
* the model produces output without tool calls or maxTurns is reached.
|
|
22
|
+
*/
|
|
23
|
+
export async function toolAgentProcess(driver, module, context, options = {}) {
|
|
24
|
+
const { tools = [], maxTurns = 10, driverRole = 'default', } = options;
|
|
25
|
+
const resolvedDriver = resolveDriver(driver, driverRole);
|
|
26
|
+
const toolDefs = tools.map(t => t.definition);
|
|
27
|
+
const toolMap = new Map(tools.map(t => [t.definition.name, t]));
|
|
28
|
+
// 会話履歴を context に蓄積する(未定義なら初期化)
|
|
29
|
+
if (!context.messages) {
|
|
30
|
+
context.messages = [];
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
logger.info('[start] tool-agent workflow');
|
|
34
|
+
const queryOptions = {
|
|
35
|
+
tools: toolDefs.length > 0 ? toolDefs : undefined,
|
|
36
|
+
toolChoice: options.toolChoice ?? 'auto',
|
|
37
|
+
...(options.maxTokens ? { maxTokens: options.maxTokens } : {}),
|
|
38
|
+
};
|
|
39
|
+
const toolCallLog = [];
|
|
40
|
+
const allUsages = [];
|
|
41
|
+
const allLogEntries = [];
|
|
42
|
+
const allErrors = [];
|
|
43
|
+
let turn = 0;
|
|
44
|
+
while (turn < maxTurns) {
|
|
45
|
+
turn++;
|
|
46
|
+
logger.info(`[turn ${turn}/${maxTurns}]`);
|
|
47
|
+
// 毎ターン re-compile: context の変化が prompt に反映される
|
|
48
|
+
const prompt = compile(module, context);
|
|
49
|
+
// context.messages を prompt.output に展開
|
|
50
|
+
prompt.output.push(...context.messages);
|
|
51
|
+
const result = await resolvedDriver.query(prompt, queryOptions);
|
|
52
|
+
const content = result.content || '';
|
|
53
|
+
logger.verbose('[output]', content);
|
|
54
|
+
// No tool calls → done
|
|
55
|
+
if (!result.toolCalls || result.toolCalls.length === 0) {
|
|
56
|
+
allUsages.push(result.usage);
|
|
57
|
+
allLogEntries.push(result.logEntries);
|
|
58
|
+
allErrors.push(result.errors);
|
|
59
|
+
logger.info(`[end] ${turn} turn(s)`);
|
|
60
|
+
return {
|
|
61
|
+
output: content,
|
|
62
|
+
context,
|
|
63
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
64
|
+
responseUsage: result.usage,
|
|
65
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
66
|
+
errors: aggregateLogEntries(allErrors),
|
|
67
|
+
metadata: {
|
|
68
|
+
iterations: turn,
|
|
69
|
+
toolCallLog,
|
|
70
|
+
finishReason: result.finishReason,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// Execute tool calls
|
|
75
|
+
for (const tc of result.toolCalls) {
|
|
76
|
+
logger.info('[tool:call]', tc.name, JSON.stringify(tc.arguments));
|
|
77
|
+
}
|
|
78
|
+
const toolResults = [];
|
|
79
|
+
for (const tc of result.toolCalls) {
|
|
80
|
+
const spec = toolMap.get(tc.name);
|
|
81
|
+
if (!spec) {
|
|
82
|
+
const errValue = `Unknown tool: "${tc.name}". Available tools: ${toolDefs.map(d => d.name).join(', ')}`;
|
|
83
|
+
logger.warn('[tool:error]', tc.name, errValue);
|
|
84
|
+
toolResults.push({
|
|
85
|
+
type: 'message', role: 'tool', toolCallId: tc.id, name: tc.name,
|
|
86
|
+
kind: 'error', value: errValue,
|
|
87
|
+
});
|
|
88
|
+
toolCallLog.push({ name: tc.name, arguments: tc.arguments, result: `Error: unknown tool` });
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
try {
|
|
92
|
+
const toolResult = await spec.handler(tc.arguments, context);
|
|
93
|
+
logger.info('[tool:result]', tc.name, toolResult);
|
|
94
|
+
toolResults.push({
|
|
95
|
+
type: 'message', role: 'tool', toolCallId: tc.id, name: tc.name,
|
|
96
|
+
kind: typeof toolResult === 'string' ? 'text' : 'data', value: toolResult,
|
|
97
|
+
});
|
|
98
|
+
toolCallLog.push({ name: tc.name, arguments: tc.arguments, result: toolResult });
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
102
|
+
logger.warn('[tool:error]', tc.name, errorMsg);
|
|
103
|
+
toolResults.push({
|
|
104
|
+
type: 'message', role: 'tool', toolCallId: tc.id, name: tc.name,
|
|
105
|
+
kind: 'error', value: errorMsg,
|
|
106
|
+
});
|
|
107
|
+
toolCallLog.push({ name: tc.name, arguments: tc.arguments, result: `Error: ${errorMsg}` });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Accumulate usage from this turn
|
|
111
|
+
allUsages.push(result.usage);
|
|
112
|
+
allLogEntries.push(result.logEntries);
|
|
113
|
+
allErrors.push(result.errors);
|
|
114
|
+
// 会話履歴を context に蓄積(次の compile で反映される)
|
|
115
|
+
const assistantMessage = {
|
|
116
|
+
type: 'message', role: 'assistant', content,
|
|
117
|
+
toolCalls: result.toolCalls,
|
|
118
|
+
};
|
|
119
|
+
context.messages.push(assistantMessage, ...toolResults);
|
|
120
|
+
// After first turn, ensure toolChoice is auto
|
|
121
|
+
queryOptions.toolChoice = 'auto';
|
|
122
|
+
}
|
|
123
|
+
// maxTurns exhausted — return last content
|
|
124
|
+
logger.info(`[end] max turns (${maxTurns}) reached`);
|
|
125
|
+
return {
|
|
126
|
+
output: '',
|
|
127
|
+
context,
|
|
128
|
+
consumedUsage: aggregateUsage(allUsages),
|
|
129
|
+
logEntries: aggregateLogEntries(allLogEntries),
|
|
130
|
+
errors: aggregateLogEntries(allErrors),
|
|
131
|
+
metadata: {
|
|
132
|
+
iterations: turn,
|
|
133
|
+
toolCallLog,
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
throw new WorkflowExecutionError(error instanceof Error ? error : new Error(String(error)), context, { phase: 'tool-agent-loop' });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=tool-agent-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-agent-workflow.js","sourceRoot":"","sources":["../../src/workflows/tool-agent-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,54 @@
|
|
|
1
1
|
export type { AIDriver, QueryResult, FinishReason } from '@modular-prompt/driver';
|
|
2
|
-
import type { FinishReason } from '@modular-prompt/driver';
|
|
2
|
+
import type { FinishReason, ToolDefinition } from '@modular-prompt/driver';
|
|
3
|
+
import type { LogEntry } from '@modular-prompt/utils';
|
|
4
|
+
import type { MessageElement } from '@modular-prompt/core';
|
|
5
|
+
/**
|
|
6
|
+
* toolAgentProcess が要求する最小限のコンテキスト形状。
|
|
7
|
+
* ユーザーは自身の Context 型でこれを extends する。
|
|
8
|
+
*/
|
|
9
|
+
export interface ToolAgentContext {
|
|
10
|
+
/** 会話履歴(assistant メッセージ + tool result)。toolAgentProcess が自動的に蓄積する。 */
|
|
11
|
+
messages?: MessageElement[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Tool specification: definition for AI + handler for execution
|
|
15
|
+
*/
|
|
16
|
+
export interface ToolSpec<TContext = any> {
|
|
17
|
+
definition: ToolDefinition;
|
|
18
|
+
handler: (args: Record<string, unknown>, context: TContext) => Promise<unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Tool call log entry
|
|
22
|
+
*/
|
|
23
|
+
export interface ToolCallLog {
|
|
24
|
+
name: string;
|
|
25
|
+
arguments: Record<string, unknown>;
|
|
26
|
+
result: unknown;
|
|
27
|
+
}
|
|
3
28
|
/**
|
|
4
29
|
* Result of workflow execution
|
|
5
30
|
*/
|
|
6
31
|
export interface WorkflowResult<TContext> {
|
|
7
32
|
output: string;
|
|
8
33
|
context: TContext;
|
|
34
|
+
/** 全 query() 呼び出しの合計 usage(リトライ含む)= 実コスト */
|
|
35
|
+
consumedUsage?: {
|
|
36
|
+
promptTokens: number;
|
|
37
|
+
completionTokens: number;
|
|
38
|
+
totalTokens: number;
|
|
39
|
+
};
|
|
40
|
+
/** 最終応答の usage = メッセージサイズの目安 */
|
|
41
|
+
responseUsage?: {
|
|
42
|
+
promptTokens: number;
|
|
43
|
+
completionTokens: number;
|
|
44
|
+
totalTokens: number;
|
|
45
|
+
};
|
|
46
|
+
/** ワークフロー実行中の全ログエントリ */
|
|
47
|
+
logEntries?: LogEntry[];
|
|
48
|
+
/** エラーレベルのログエントリ */
|
|
49
|
+
errors?: LogEntry[];
|
|
9
50
|
metadata?: {
|
|
10
51
|
iterations?: number;
|
|
11
|
-
tokensUsed?: number;
|
|
12
52
|
[key: string]: any;
|
|
13
53
|
};
|
|
14
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ,CAAC,QAAQ,GAAG,GAAG;IACtC,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,QAAQ;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,CAAC;IAClB,4CAA4C;IAC5C,aAAa,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,gCAAgC;IAChC,aAAa,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,wBAAwB;IACxB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;IACxB,oBAAoB;IACpB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,QAAQ,CAAE,SAAQ,KAAK;IACpD,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,sBAAsB,CAAC,QAAQ,GAAG,GAAG,CAAE,SAAQ,KAAM,YAAW,aAAa,CAAC,QAAQ,CAAC;IAC3F,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,YAAY,CAAC;gBAGjC,aAAa,EAAE,KAAK,GAAG,MAAM,EAC7B,OAAO,EAAE,QAAQ,EACjB,OAAO,CAAC,EAAE;QACR,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B;CAkBJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workflows/types.ts"],"names":[],"mappings":"AAkEA;;GAEG;AACH,MAAM,OAAO,sBAAuC,SAAQ,KAAK;IACxD,OAAO,CAAW;IAClB,aAAa,CAAU;IACvB,KAAK,CAAU;IACf,YAAY,CAAgB;IAEnC,YACE,aAA6B,EAC7B,OAAiB,EACjB,OAIC;QAED,MAAM,OAAO,GAAG,OAAO,aAAa,KAAK,QAAQ;YAC/C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,OAAO,EAAE,aAAa,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAE1C,6CAA6C;QAC7C,IAAI,aAAa,YAAY,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;QACnC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { QueryResult } from '@modular-prompt/driver';
|
|
2
|
+
import type { LogEntry } from '@modular-prompt/utils';
|
|
3
|
+
type Usage = NonNullable<QueryResult['usage']>;
|
|
4
|
+
/**
|
|
5
|
+
* 複数の usage を合算する。
|
|
6
|
+
* リトライや複数タスクの usage を集計するのに使用。
|
|
7
|
+
*/
|
|
8
|
+
export declare function aggregateUsage(usages: (Usage | undefined)[]): Usage | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* 複数の LogEntry 配列をフラット化する。
|
|
11
|
+
* 全タスク・全クエリのログを1つの配列にまとめるのに使用。
|
|
12
|
+
*/
|
|
13
|
+
export declare function aggregateLogEntries(entries: (LogEntry[] | undefined)[]): LogEntry[] | undefined;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=usage-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-utils.d.ts","sourceRoot":"","sources":["../../src/workflows/usage-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,KAAK,KAAK,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,GAAG,KAAK,GAAG,SAAS,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,SAAS,CAG/F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 複数の usage を合算する。
|
|
3
|
+
* リトライや複数タスクの usage を集計するのに使用。
|
|
4
|
+
*/
|
|
5
|
+
export function aggregateUsage(usages) {
|
|
6
|
+
const valid = usages.filter((u) => u != null);
|
|
7
|
+
if (valid.length === 0)
|
|
8
|
+
return undefined;
|
|
9
|
+
return {
|
|
10
|
+
promptTokens: valid.reduce((sum, u) => sum + u.promptTokens, 0),
|
|
11
|
+
completionTokens: valid.reduce((sum, u) => sum + u.completionTokens, 0),
|
|
12
|
+
totalTokens: valid.reduce((sum, u) => sum + u.totalTokens, 0),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 複数の LogEntry 配列をフラット化する。
|
|
17
|
+
* 全タスク・全クエリのログを1つの配列にまとめるのに使用。
|
|
18
|
+
*/
|
|
19
|
+
export function aggregateLogEntries(entries) {
|
|
20
|
+
const flat = entries.filter((e) => e != null).flat();
|
|
21
|
+
return flat.length > 0 ? flat : undefined;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=usage-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-utils.js","sourceRoot":"","sources":["../../src/workflows/usage-utils.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,MAA6B;IAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;QAC/D,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACvE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC"}
|