@modular-prompt/process 0.1.28 → 0.2.1
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 +49 -58
- package/dist/workflows/agentic-workflow/agentic-workflow.d.ts +12 -8
- package/dist/workflows/agentic-workflow/agentic-workflow.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/agentic-workflow.js +186 -205
- package/dist/workflows/agentic-workflow/agentic-workflow.js.map +1 -1
- package/dist/workflows/agentic-workflow/index.d.ts +5 -2
- package/dist/workflows/agentic-workflow/index.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/index.js +5 -2
- package/dist/workflows/agentic-workflow/index.js.map +1 -1
- package/dist/workflows/agentic-workflow/process/builtin-tools.d.ts +31 -0
- package/dist/workflows/agentic-workflow/process/builtin-tools.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/process/builtin-tools.js +158 -0
- package/dist/workflows/agentic-workflow/process/builtin-tools.js.map +1 -0
- package/dist/workflows/agentic-workflow/process/format-helpers.d.ts +11 -0
- package/dist/workflows/agentic-workflow/process/format-helpers.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/process/format-helpers.js +18 -0
- package/dist/workflows/agentic-workflow/process/format-helpers.js.map +1 -0
- package/dist/workflows/agentic-workflow/process/index.d.ts +7 -0
- package/dist/workflows/agentic-workflow/process/index.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/process/index.js +7 -0
- package/dist/workflows/agentic-workflow/process/index.js.map +1 -0
- package/dist/workflows/agentic-workflow/process/query-with-tools.d.ts +37 -0
- package/dist/workflows/agentic-workflow/process/query-with-tools.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/process/query-with-tools.js +118 -0
- package/dist/workflows/agentic-workflow/process/query-with-tools.js.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/execution-tasks.d.ts +35 -0
- package/dist/workflows/agentic-workflow/task-types/execution-tasks.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/execution-tasks.js +155 -0
- package/dist/workflows/agentic-workflow/task-types/execution-tasks.js.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/index.d.ts +37 -0
- package/dist/workflows/agentic-workflow/task-types/index.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/index.js +103 -0
- package/dist/workflows/agentic-workflow/task-types/index.js.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/output.d.ts +16 -0
- package/dist/workflows/agentic-workflow/task-types/output.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/output.js +32 -0
- package/dist/workflows/agentic-workflow/task-types/output.js.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/planning.d.ts +19 -0
- package/dist/workflows/agentic-workflow/task-types/planning.d.ts.map +1 -0
- package/dist/workflows/agentic-workflow/task-types/planning.js +77 -0
- package/dist/workflows/agentic-workflow/task-types/planning.js.map +1 -0
- package/dist/workflows/agentic-workflow/types.d.ts +83 -37
- package/dist/workflows/agentic-workflow/types.d.ts.map +1 -1
- package/dist/workflows/agentic-workflow/types.js +27 -1
- package/dist/workflows/agentic-workflow/types.js.map +1 -1
- package/dist/workflows/concat-process-workflow.d.ts +3 -2
- package/dist/workflows/concat-process-workflow.d.ts.map +1 -1
- package/dist/workflows/concat-process-workflow.js +41 -5
- package/dist/workflows/concat-process-workflow.js.map +1 -1
- package/dist/workflows/default-workflow.d.ts +3 -2
- package/dist/workflows/default-workflow.d.ts.map +1 -1
- package/dist/workflows/default-workflow.js +14 -1
- package/dist/workflows/default-workflow.js.map +1 -1
- package/dist/workflows/dialogue-workflow.d.ts +3 -2
- package/dist/workflows/dialogue-workflow.d.ts.map +1 -1
- package/dist/workflows/dialogue-workflow.js +15 -3
- package/dist/workflows/dialogue-workflow.js.map +1 -1
- package/dist/workflows/driver-input.d.ts +16 -0
- package/dist/workflows/driver-input.d.ts.map +1 -0
- package/dist/workflows/driver-input.js +18 -0
- package/dist/workflows/driver-input.js.map +1 -0
- package/dist/workflows/index.d.ts +6 -3
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +5 -2
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/self-prompting-workflow/self-prompting-workflow.d.ts +3 -2
- package/dist/workflows/self-prompting-workflow/self-prompting-workflow.d.ts.map +1 -1
- package/dist/workflows/self-prompting-workflow/self-prompting-workflow.js +4 -3
- package/dist/workflows/self-prompting-workflow/self-prompting-workflow.js.map +1 -1
- package/dist/workflows/stream-workflow.d.ts +3 -2
- package/dist/workflows/stream-workflow.d.ts.map +1 -1
- package/dist/workflows/stream-workflow.js +11 -3
- package/dist/workflows/stream-workflow.js.map +1 -1
- package/dist/workflows/summarize-workflow.d.ts +3 -2
- package/dist/workflows/summarize-workflow.d.ts.map +1 -1
- package/dist/workflows/summarize-workflow.js +11 -2
- package/dist/workflows/summarize-workflow.js.map +1 -1
- package/package.json +4 -3
- package/dist/workflows/agent-workflow.d.ts +0 -55
- package/dist/workflows/agent-workflow.d.ts.map +0 -1
- package/dist/workflows/agent-workflow.js +0 -337
- package/dist/workflows/agent-workflow.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/agentic.d.ts +0 -12
- package/dist/workflows/agentic-workflow/modules/agentic.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/agentic.js +0 -22
- package/dist/workflows/agentic-workflow/modules/agentic.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/execution-freeform.d.ts +0 -15
- package/dist/workflows/agentic-workflow/modules/execution-freeform.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/execution-freeform.js +0 -140
- package/dist/workflows/agentic-workflow/modules/execution-freeform.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/execution.d.ts +0 -11
- package/dist/workflows/agentic-workflow/modules/execution.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/execution.js +0 -180
- package/dist/workflows/agentic-workflow/modules/execution.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/index.d.ts +0 -6
- package/dist/workflows/agentic-workflow/modules/index.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/index.js +0 -7
- package/dist/workflows/agentic-workflow/modules/index.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/integration.d.ts +0 -11
- package/dist/workflows/agentic-workflow/modules/integration.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/integration.js +0 -85
- package/dist/workflows/agentic-workflow/modules/integration.js.map +0 -1
- package/dist/workflows/agentic-workflow/modules/planning.d.ts +0 -11
- package/dist/workflows/agentic-workflow/modules/planning.d.ts.map +0 -1
- package/dist/workflows/agentic-workflow/modules/planning.js +0 -103
- package/dist/workflows/agentic-workflow/modules/planning.js.map +0 -1
|
@@ -1,2 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Default driver role for each task type.
|
|
3
|
+
* planning/output are hardcoded; execution tasks are derived from EXECUTION_TASK_DEFS.
|
|
4
|
+
*/
|
|
5
|
+
export const DEFAULT_DRIVER_ROLE = {
|
|
6
|
+
planning: 'plan',
|
|
7
|
+
toolCall: 'instruct',
|
|
8
|
+
think: 'instruct',
|
|
9
|
+
verify: 'instruct',
|
|
10
|
+
extractContext: 'thinking',
|
|
11
|
+
recall: 'instruct',
|
|
12
|
+
determine: 'instruct',
|
|
13
|
+
output: 'chat',
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Default withXxx options for each task type
|
|
17
|
+
*/
|
|
18
|
+
export const DEFAULT_DATA_OPTIONS = {
|
|
19
|
+
planning: { withInputs: true, withMessages: false, withMaterials: true },
|
|
20
|
+
toolCall: { withInputs: false, withMessages: false, withMaterials: false },
|
|
21
|
+
think: { withInputs: false, withMessages: false, withMaterials: false },
|
|
22
|
+
verify: { withInputs: false, withMessages: false, withMaterials: false },
|
|
23
|
+
extractContext: { withInputs: true, withMessages: true, withMaterials: true },
|
|
24
|
+
recall: { withInputs: false, withMessages: false, withMaterials: false },
|
|
25
|
+
determine: { withInputs: true, withMessages: true, withMaterials: true },
|
|
26
|
+
output: { withInputs: false, withMessages: false, withMaterials: false },
|
|
27
|
+
};
|
|
2
28
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workflows/agentic-workflow/types.ts"],"names":[],"mappings":"AA+CA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,UAAU;IACpB,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;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA6F;IAC5H,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;IACxE,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IAC1E,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IACvE,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IACxE,cAAc,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IAC7E,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IACxE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxE,MAAM,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;CACzE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PromptModule } from '@modular-prompt/core';
|
|
2
|
-
import { type
|
|
2
|
+
import { type WorkflowResult } from './types.js';
|
|
3
|
+
import { type DriverInput } from './driver-input.js';
|
|
3
4
|
/**
|
|
4
5
|
* Context for concat processing workflow
|
|
5
6
|
*/
|
|
@@ -25,5 +26,5 @@ export interface ConcatProcessOptions {
|
|
|
25
26
|
* Concat processing workflow - processes chunks independently and concatenates results
|
|
26
27
|
* Unlike stream processing which maintains state, concat treats each chunk independently
|
|
27
28
|
*/
|
|
28
|
-
export declare function concatProcess(driver:
|
|
29
|
+
export declare function concatProcess(driver: DriverInput, module: PromptModule<ConcatProcessContext>, context: ConcatProcessContext, options?: ConcatProcessOptions): Promise<WorkflowResult<ConcatProcessContext>>;
|
|
29
30
|
//# sourceMappingURL=concat-process-workflow.d.ts.map
|
|
@@ -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;AAEzD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,mBAAmB,CAAC;AAKpE;;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,CAoJ/C"}
|
|
@@ -1,10 +1,41 @@
|
|
|
1
|
-
import { compile } from '@modular-prompt/core';
|
|
1
|
+
import { compile, merge } from '@modular-prompt/core';
|
|
2
|
+
import { Logger } from '@modular-prompt/utils';
|
|
2
3
|
import { WorkflowExecutionError } from './types.js';
|
|
4
|
+
import { resolveDriver } from './driver-input.js';
|
|
5
|
+
const logger = new Logger({ prefix: 'process', context: 'concat' });
|
|
6
|
+
/**
|
|
7
|
+
* Base module for concat processing
|
|
8
|
+
*/
|
|
9
|
+
const concatProcessing = {
|
|
10
|
+
objective: [
|
|
11
|
+
'The assistant processes each provided chunk independently and produces output for it.',
|
|
12
|
+
'Each chunk is a self-contained unit - process it without depending on other chunks.',
|
|
13
|
+
],
|
|
14
|
+
methodology: [
|
|
15
|
+
'Read the provided Input Chunk(s) carefully.',
|
|
16
|
+
'Apply the specified processing to each chunk independently.',
|
|
17
|
+
'Output the processing result directly.',
|
|
18
|
+
],
|
|
19
|
+
materials: [
|
|
20
|
+
(ctx) => {
|
|
21
|
+
if (!ctx.chunks || ctx.chunks.length === 0)
|
|
22
|
+
return null;
|
|
23
|
+
return ctx.chunks.map((chunk, index) => ({
|
|
24
|
+
type: 'chunk',
|
|
25
|
+
content: chunk.content,
|
|
26
|
+
partOf: chunk.partOf || 'input',
|
|
27
|
+
index,
|
|
28
|
+
usage: chunk.usage
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
};
|
|
3
33
|
/**
|
|
4
34
|
* Concat processing workflow - processes chunks independently and concatenates results
|
|
5
35
|
* Unlike stream processing which maintains state, concat treats each chunk independently
|
|
6
36
|
*/
|
|
7
37
|
export async function concatProcess(driver, module, context, options = {}) {
|
|
38
|
+
logger.info('[start] concat workflow');
|
|
8
39
|
const { batchSize = 1, separator = '\n', parallel = false } = options;
|
|
9
40
|
if (!context.chunks || context.chunks.length === 0) {
|
|
10
41
|
throw new Error('No chunks provided for processing');
|
|
@@ -22,9 +53,11 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
22
53
|
chunks: [chunk],
|
|
23
54
|
processedCount: startIndex + index
|
|
24
55
|
};
|
|
25
|
-
const prompt = compile(module, chunkContext);
|
|
56
|
+
const prompt = compile(merge(concatProcessing, module), chunkContext);
|
|
57
|
+
logger.verbose('[prompt]', JSON.stringify(prompt));
|
|
26
58
|
try {
|
|
27
|
-
const result = await driver.query(prompt);
|
|
59
|
+
const result = await resolveDriver(driver, 'default').query(prompt);
|
|
60
|
+
logger.verbose('[output]', result.content);
|
|
28
61
|
// Check finish reason for dynamic failures
|
|
29
62
|
if (result.finishReason && result.finishReason !== 'stop') {
|
|
30
63
|
throw new WorkflowExecutionError(`Query failed with reason: ${result.finishReason}`, {
|
|
@@ -67,9 +100,11 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
67
100
|
results: results.length > 0 ? results : undefined,
|
|
68
101
|
processedCount: startIndex + i
|
|
69
102
|
};
|
|
70
|
-
const prompt = compile(module, batchContext);
|
|
103
|
+
const prompt = compile(merge(concatProcessing, module), batchContext);
|
|
104
|
+
logger.verbose('[prompt]', JSON.stringify(prompt));
|
|
71
105
|
try {
|
|
72
|
-
const queryResult = await driver.query(prompt);
|
|
106
|
+
const queryResult = await resolveDriver(driver, 'default').query(prompt);
|
|
107
|
+
logger.verbose('[output]', queryResult.content);
|
|
73
108
|
// Check finish reason for dynamic failures
|
|
74
109
|
if (queryResult.finishReason && queryResult.finishReason !== 'stop') {
|
|
75
110
|
throw new WorkflowExecutionError(`Query failed with reason: ${queryResult.finishReason}`, {
|
|
@@ -108,6 +143,7 @@ export async function concatProcess(driver, module, context, options = {}) {
|
|
|
108
143
|
results,
|
|
109
144
|
processedCount
|
|
110
145
|
};
|
|
146
|
+
logger.info('[end]');
|
|
111
147
|
return {
|
|
112
148
|
output,
|
|
113
149
|
context: finalContext,
|
|
@@ -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,MAAM,sBAAsB,CAAC;
|
|
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;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,QAAQ,EAAE,CAAC,CAAC;AA0BpE;;GAEG;AACH,MAAM,gBAAgB,GAAuC;IAC3D,SAAS,EAAE;QACT,uFAAuF;QACvF,qFAAqF;KACtF;IACD,WAAW,EAAE;QACX,6CAA6C;QAC7C,6DAA6D;QAC7D,wCAAwC;KACzC;IACD,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACvC,IAAI,EAAE,OAAgB;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO;gBAC/B,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC,CAAC,CAAC;QACN,CAAC;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAmB,EACnB,MAA0C,EAC1C,OAA6B,EAC7B,UAAgC,EAAE;IAGlC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAEvC,MAAM,EACJ,SAAS,GAAG,CAAC,EACb,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,KAAK,EACjB,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAa,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,IAAI,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAEjD,oDAAoD;IACpD,MAAM,UAAU,GAAG,cAAc,CAAC;IAClC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzD,IAAI,QAAQ,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QAChC,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1D,MAAM,YAAY,GAAyB;gBACzC,MAAM,EAAE,CAAC,KAAK,CAAC;gBACf,cAAc,EAAE,UAAU,GAAG,KAAK;aACnC,CAAC;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;YACtE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE3C,2CAA2C;gBAC3C,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;oBAC1D,MAAM,IAAI,sBAAsB,CAC9B,6BAA6B,MAAM,CAAC,YAAY,EAAE,EAClD;wBACE,GAAG,OAAO;wBACV,OAAO;wBACP,cAAc,EAAE,UAAU,GAAG,KAAK;qBACnC,EACD;wBACE,KAAK,EAAE,kBAAkB;wBACzB,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;wBAChE,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,MAAM,CAAC,OAAO,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBAC5C,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,sBAAsB,CAAC,KAAc,EAAE;oBAC/C,GAAG,OAAO;oBACV,OAAO;oBACP,cAAc,EAAE,UAAU,GAAG,KAAK;iBACnC,EAAE;oBACD,KAAK,EAAE,kBAAkB;oBACzB,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACjC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,mDAAmD;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAExF,MAAM,YAAY,GAAyB;gBACzC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACjD,cAAc,EAAE,UAAU,GAAG,CAAC;aAC/B,CAAC;YAEF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;YACtE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnD,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;gBAEhD,2CAA2C;gBAC3C,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;oBACpE,MAAM,IAAI,sBAAsB,CAC9B,6BAA6B,WAAW,CAAC,YAAY,EAAE,EACvD;wBACE,GAAG,OAAO;wBACV,OAAO;wBACP,cAAc;qBACf,EACD;wBACE,KAAK,EAAE,oBAAoB;wBAC3B,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;wBACvE,YAAY,EAAE,WAAW,CAAC,YAAY;qBACvC,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAClC,cAAc,GAAG,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,qDAAqD;gBACrD,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBAC5C,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,sBAAsB,CAAC,KAAc,EAAE;oBAC/C,GAAG,OAAO;oBACV,OAAO;oBACP,cAAc;iBACf,EAAE;oBACD,KAAK,EAAE,oBAAoB;oBAC3B,aAAa,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAyB;QACzC,GAAG,OAAO;QACV,OAAO;QACP,cAAc;KACf,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO;QACL,MAAM;QACN,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE;YACR,eAAe,EAAE,cAAc;YAC/B,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,QAAQ;SACT;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PromptModule } from '@modular-prompt/core';
|
|
2
2
|
import type { QueryOptions } from '@modular-prompt/driver';
|
|
3
|
-
import { type
|
|
3
|
+
import { type WorkflowResult } from './types.js';
|
|
4
|
+
import { type DriverInput } from './driver-input.js';
|
|
4
5
|
/**
|
|
5
6
|
* Options for default workflow
|
|
6
7
|
*/
|
|
@@ -11,5 +12,5 @@ export interface DefaultProcessOptions {
|
|
|
11
12
|
* Default workflow - compiles a module with context and queries the driver.
|
|
12
13
|
* This is the simplest process, wrapping compile + driver.query().
|
|
13
14
|
*/
|
|
14
|
-
export declare function defaultProcess<TContext extends Record<string, any>>(driver:
|
|
15
|
+
export declare function defaultProcess<TContext extends Record<string, any>>(driver: DriverInput, module: PromptModule<TContext>, context: TContext, options?: DefaultProcessOptions): Promise<WorkflowResult<TContext>>;
|
|
15
16
|
//# sourceMappingURL=default-workflow.d.ts.map
|
|
@@ -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;
|
|
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,CAiCnC"}
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
import { compile } from '@modular-prompt/core';
|
|
2
|
+
import { Logger } from '@modular-prompt/utils';
|
|
2
3
|
import { WorkflowExecutionError } from './types.js';
|
|
4
|
+
import { resolveDriver } from './driver-input.js';
|
|
5
|
+
const logger = new Logger({ prefix: 'process', context: 'default' });
|
|
3
6
|
/**
|
|
4
7
|
* Default workflow - compiles a module with context and queries the driver.
|
|
5
8
|
* This is the simplest process, wrapping compile + driver.query().
|
|
6
9
|
*/
|
|
7
10
|
export async function defaultProcess(driver, module, context, options = {}) {
|
|
8
11
|
try {
|
|
12
|
+
logger.info('[start] default workflow');
|
|
9
13
|
const compiled = compile(module, context);
|
|
10
|
-
const
|
|
14
|
+
const toolNames = options.queryOptions?.tools?.map(t => t.name) ?? [];
|
|
15
|
+
logger.verbose('[prompt]', JSON.stringify(compiled), toolNames.length > 0 ? `tools: [${toolNames.join(', ')}]` : '');
|
|
16
|
+
const result = await resolveDriver(driver, 'default').query(compiled, options.queryOptions);
|
|
17
|
+
logger.verbose('[output]', result.content);
|
|
18
|
+
if (result.toolCalls?.length) {
|
|
19
|
+
for (const tc of result.toolCalls) {
|
|
20
|
+
logger.debug('[tool:call]', tc.name, JSON.stringify(tc.arguments));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
logger.info('[end]');
|
|
11
24
|
return {
|
|
12
25
|
output: result.content,
|
|
13
26
|
context,
|
|
@@ -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,sBAAsB,
|
|
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,QAAQ,EAAE;gBACR,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW;gBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;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,7 +1,8 @@
|
|
|
1
1
|
import type { PromptModule } from '@modular-prompt/core';
|
|
2
2
|
import type { DialogueContext } from '../modules/dialogue.js';
|
|
3
3
|
import type { MaterialContext } from '../modules/material.js';
|
|
4
|
-
import { type
|
|
4
|
+
import { type WorkflowResult } from './types.js';
|
|
5
|
+
import { type DriverInput } from './driver-input.js';
|
|
5
6
|
/**
|
|
6
7
|
* Extended dialogue context with materials and preparation note
|
|
7
8
|
*/
|
|
@@ -21,5 +22,5 @@ export interface DialogueWorkflowOptions {
|
|
|
21
22
|
/**
|
|
22
23
|
* Dialogue workflow - handles conversational interactions with optional two-pass processing
|
|
23
24
|
*/
|
|
24
|
-
export declare function dialogueProcess(driver:
|
|
25
|
+
export declare function dialogueProcess(driver: DriverInput, module: PromptModule<DialogueWorkflowContext>, context: DialogueWorkflowContext, options?: DialogueWorkflowOptions): Promise<WorkflowResult<DialogueWorkflowContext>>;
|
|
25
26
|
//# sourceMappingURL=dialogue-workflow.d.ts.map
|
|
@@ -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;AAQzD,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;AAIpE;;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,CA0KlD"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { compile, merge } from '@modular-prompt/core';
|
|
2
|
+
import { Logger } from '@modular-prompt/utils';
|
|
2
3
|
import { firstOfTwoPassResponse, secondOfTwoPassResponse, withTalkState } from '../modules/dialogue.js';
|
|
3
4
|
import { withMaterials } from '../modules/material.js';
|
|
4
5
|
import { WorkflowExecutionError } from './types.js';
|
|
6
|
+
import { resolveDriver } from './driver-input.js';
|
|
7
|
+
const logger = new Logger({ prefix: 'process', context: 'dialogue' });
|
|
5
8
|
/**
|
|
6
9
|
* Dialogue workflow - handles conversational interactions with optional two-pass processing
|
|
7
10
|
*/
|
|
8
11
|
export async function dialogueProcess(driver, module, context, options = {}) {
|
|
12
|
+
logger.info('[start] dialogue workflow');
|
|
9
13
|
const { twoPass = false, maintainState = false, includematerials = false } = options;
|
|
10
14
|
// Build the module based on options
|
|
11
15
|
let workflowModule = module;
|
|
@@ -19,9 +23,11 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
19
23
|
// First pass: Generate preparation notes
|
|
20
24
|
const firstPassModule = merge(workflowModule, firstOfTwoPassResponse);
|
|
21
25
|
const firstPassPrompt = compile(firstPassModule, context);
|
|
26
|
+
logger.verbose('[prompt]', JSON.stringify(firstPassPrompt));
|
|
22
27
|
let preparationNote;
|
|
23
28
|
try {
|
|
24
|
-
const queryResult = await driver.query(firstPassPrompt);
|
|
29
|
+
const queryResult = await resolveDriver(driver, 'default').query(firstPassPrompt);
|
|
30
|
+
logger.verbose('[output]', queryResult.content);
|
|
25
31
|
// Check finish reason for dynamic failures
|
|
26
32
|
if (queryResult.finishReason && queryResult.finishReason !== 'stop') {
|
|
27
33
|
throw new WorkflowExecutionError(`Query failed with reason: ${queryResult.finishReason}`, context, {
|
|
@@ -51,9 +57,11 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
51
57
|
// Second pass: Generate actual response
|
|
52
58
|
const secondPassModule = merge(workflowModule, secondOfTwoPassResponse);
|
|
53
59
|
const secondPassPrompt = compile(secondPassModule, updatedContext);
|
|
60
|
+
logger.verbose('[prompt]', JSON.stringify(secondPassPrompt));
|
|
54
61
|
let response;
|
|
55
62
|
try {
|
|
56
|
-
const queryResult = await driver.query(secondPassPrompt);
|
|
63
|
+
const queryResult = await resolveDriver(driver, 'default').query(secondPassPrompt);
|
|
64
|
+
logger.verbose('[output]', queryResult.content);
|
|
57
65
|
// Check finish reason for dynamic failures
|
|
58
66
|
if (queryResult.finishReason && queryResult.finishReason !== 'stop') {
|
|
59
67
|
throw new WorkflowExecutionError(`Query failed with reason: ${queryResult.finishReason}`, updatedContext, {
|
|
@@ -83,6 +91,7 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
83
91
|
{ role: 'assistant', content: response }
|
|
84
92
|
]
|
|
85
93
|
};
|
|
94
|
+
logger.info('[end]');
|
|
86
95
|
return {
|
|
87
96
|
output: response,
|
|
88
97
|
context: finalContext,
|
|
@@ -95,9 +104,11 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
95
104
|
else {
|
|
96
105
|
// Single pass response
|
|
97
106
|
const prompt = compile(workflowModule, context);
|
|
107
|
+
logger.verbose('[prompt]', JSON.stringify(prompt));
|
|
98
108
|
let response;
|
|
99
109
|
try {
|
|
100
|
-
const queryResult = await driver.query(prompt);
|
|
110
|
+
const queryResult = await resolveDriver(driver, 'default').query(prompt);
|
|
111
|
+
logger.verbose('[output]', queryResult.content);
|
|
101
112
|
// Check finish reason for dynamic failures
|
|
102
113
|
if (queryResult.finishReason && queryResult.finishReason !== 'stop') {
|
|
103
114
|
throw new WorkflowExecutionError(`Query failed with reason: ${queryResult.finishReason}`, context, {
|
|
@@ -127,6 +138,7 @@ export async function dialogueProcess(driver, module, context, options = {}) {
|
|
|
127
138
|
{ role: 'assistant', content: response }
|
|
128
139
|
]
|
|
129
140
|
};
|
|
141
|
+
logger.info('[end]');
|
|
130
142
|
return {
|
|
131
143
|
output: response,
|
|
132
144
|
context: finalContext,
|
|
@@ -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,EACL,sBAAsB,EACtB,uBAAuB,EACvB,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"dialogue-workflow.js","sourceRoot":"","sources":["../../src/workflows/dialogue-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AIDriver } from '@modular-prompt/driver';
|
|
2
|
+
/** モデルの役割 */
|
|
3
|
+
export type ModelRole = 'default' | 'thinking' | 'instruct' | 'chat' | 'plan';
|
|
4
|
+
/** 役割別ドライバーマッピング */
|
|
5
|
+
export type DriverSet = {
|
|
6
|
+
default: AIDriver;
|
|
7
|
+
} & {
|
|
8
|
+
[K in Exclude<ModelRole, 'default'>]?: AIDriver;
|
|
9
|
+
};
|
|
10
|
+
/** ワークフロー関数の第1引数型 */
|
|
11
|
+
export type DriverInput = AIDriver | DriverSet;
|
|
12
|
+
/** AIDriverインスタンス判定 */
|
|
13
|
+
export declare function isAIDriver(input: unknown): input is AIDriver;
|
|
14
|
+
/** 役割に対応するドライバーを解決。未指定の役割はdefaultにフォールバック */
|
|
15
|
+
export declare function resolveDriver(input: DriverInput, role?: ModelRole): AIDriver;
|
|
16
|
+
//# sourceMappingURL=driver-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-input.d.ts","sourceRoot":"","sources":["../../src/workflows/driver-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,aAAa;AACb,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9E,oBAAoB;AACpB,MAAM,MAAM,SAAS,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG;KAAG,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ;CAAE,CAAC;AAEpG,qBAAqB;AACrB,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/C,uBAAuB;AACvB,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAW5D;AAED,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,SAAqB,GAAG,QAAQ,CAGvF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** AIDriverインスタンス判定 */
|
|
2
|
+
export function isAIDriver(input) {
|
|
3
|
+
return (typeof input === 'object' &&
|
|
4
|
+
input !== null &&
|
|
5
|
+
'query' in input &&
|
|
6
|
+
typeof input.query === 'function' &&
|
|
7
|
+
'streamQuery' in input &&
|
|
8
|
+
typeof input.streamQuery === 'function' &&
|
|
9
|
+
'close' in input &&
|
|
10
|
+
typeof input.close === 'function');
|
|
11
|
+
}
|
|
12
|
+
/** 役割に対応するドライバーを解決。未指定の役割はdefaultにフォールバック */
|
|
13
|
+
export function resolveDriver(input, role = 'default') {
|
|
14
|
+
if (isAIDriver(input))
|
|
15
|
+
return input;
|
|
16
|
+
return input[role] ?? input.default;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=driver-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"driver-input.js","sourceRoot":"","sources":["../../src/workflows/driver-input.ts"],"names":[],"mappings":"AAWA,uBAAuB;AACvB,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAO,IAAI,KAAK;QAChB,OAAQ,KAAa,CAAC,KAAK,KAAK,UAAU;QAC1C,aAAa,IAAI,KAAK;QACtB,OAAQ,KAAa,CAAC,WAAW,KAAK,UAAU;QAChD,OAAO,IAAI,KAAK;QAChB,OAAQ,KAAa,CAAC,KAAK,KAAK,UAAU,CAC3C,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,aAAa,CAAC,KAAkB,EAAE,OAAkB,SAAS;IAC3E,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC;AACtC,CAAC"}
|
|
@@ -8,9 +8,12 @@ export type { SummarizeWorkflowContext, SummarizeWorkflowOptions } from './summa
|
|
|
8
8
|
export { concatProcess } from './concat-process-workflow.js';
|
|
9
9
|
export type { ConcatProcessContext, ConcatProcessOptions } from './concat-process-workflow.js';
|
|
10
10
|
export { agenticProcess } from './agentic-workflow/index.js';
|
|
11
|
-
export
|
|
12
|
-
export {
|
|
13
|
-
export
|
|
11
|
+
export { BUILTIN_TOOL_PREFIX, isBuiltinTool } from './agentic-workflow/index.js';
|
|
12
|
+
export { DEFAULT_DRIVER_ROLE, DEFAULT_DATA_OPTIONS } from './agentic-workflow/index.js';
|
|
13
|
+
export { getTaskTypeConfig, taskCommon } from './agentic-workflow/index.js';
|
|
14
|
+
export type { AgenticWorkflowContext, AgenticWorkflowOptions, AgenticTask, AgenticTaskExecutionLog, TaskType, ToolSpec, ToolCallLog, TaskTypeConfig } from './agentic-workflow/index.js';
|
|
14
15
|
export { defaultProcess } from './default-workflow.js';
|
|
15
16
|
export type { DefaultProcessOptions } from './default-workflow.js';
|
|
17
|
+
export { resolveDriver, isAIDriver } from './driver-input.js';
|
|
18
|
+
export type { DriverInput, DriverSet, ModelRole } from './driver-input.js';
|
|
16
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,EACvB,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,
|
|
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,EACvB,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,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EACV,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,uBAAuB,EACvB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,EACf,MAAM,6BAA6B,CAAC;AAGrC,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
|
@@ -8,8 +8,11 @@ export { summarizeProcess } from './summarize-workflow.js';
|
|
|
8
8
|
export { concatProcess } from './concat-process-workflow.js';
|
|
9
9
|
// Agentic workflow
|
|
10
10
|
export { agenticProcess } from './agentic-workflow/index.js';
|
|
11
|
-
|
|
12
|
-
export {
|
|
11
|
+
export { BUILTIN_TOOL_PREFIX, isBuiltinTool } from './agentic-workflow/index.js';
|
|
12
|
+
export { DEFAULT_DRIVER_ROLE, DEFAULT_DATA_OPTIONS } from './agentic-workflow/index.js';
|
|
13
|
+
export { getTaskTypeConfig, taskCommon } from './agentic-workflow/index.js';
|
|
13
14
|
// Default workflow
|
|
14
15
|
export { defaultProcess } from './default-workflow.js';
|
|
16
|
+
// Driver input types
|
|
17
|
+
export { resolveDriver, isAIDriver } from './driver-input.js';
|
|
15
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAQA,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAQA,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,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY5E,mBAAmB;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,qBAAqB;AACrB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PromptModule } from '@modular-prompt/core';
|
|
2
|
-
import type {
|
|
2
|
+
import type { WorkflowResult } from '../types.js';
|
|
3
3
|
import type { SelfPromptingWorkflowContext, SelfPromptingWorkflowOptions } from './types.js';
|
|
4
|
+
import { type DriverInput } from '../driver-input.js';
|
|
4
5
|
/**
|
|
5
6
|
* Self-prompting workflow - AI generates complete prompts for each step
|
|
6
7
|
*
|
|
@@ -10,5 +11,5 @@ import type { SelfPromptingWorkflowContext, SelfPromptingWorkflowOptions } from
|
|
|
10
11
|
* @param options - Workflow options
|
|
11
12
|
* @returns Workflow result with final output and updated context
|
|
12
13
|
*/
|
|
13
|
-
export declare function selfPromptingProcess(driver:
|
|
14
|
+
export declare function selfPromptingProcess(driver: DriverInput, module: PromptModule<SelfPromptingWorkflowContext>, context: SelfPromptingWorkflowContext, options?: SelfPromptingWorkflowOptions): Promise<WorkflowResult<SelfPromptingWorkflowContext>>;
|
|
14
15
|
//# sourceMappingURL=self-prompting-workflow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-prompting-workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/self-prompting-workflow/self-prompting-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"self-prompting-workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/self-prompting-workflow/self-prompting-workflow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EACV,4BAA4B,EAC5B,4BAA4B,EAK7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,KAAK,WAAW,EAAiB,MAAM,oBAAoB,CAAC;AAmQrE;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,YAAY,CAAC,4BAA4B,CAAC,EAClD,OAAO,EAAE,4BAA4B,EACrC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,CAmEvD"}
|
|
@@ -2,6 +2,7 @@ import { compile, merge } from '@modular-prompt/core';
|
|
|
2
2
|
import { WorkflowExecutionError } from '../types.js';
|
|
3
3
|
import { planning } from './modules/planning.js';
|
|
4
4
|
import { integration } from './modules/integration.js';
|
|
5
|
+
import { resolveDriver } from '../driver-input.js';
|
|
5
6
|
/**
|
|
6
7
|
* Base module for self-prompting workflow
|
|
7
8
|
*/
|
|
@@ -205,7 +206,7 @@ export async function selfPromptingProcess(driver, module, context, options = {}
|
|
|
205
206
|
logger.info('Starting planning phase');
|
|
206
207
|
}
|
|
207
208
|
currentContext.phase = 'planning';
|
|
208
|
-
plan = await executePlanningPhase(driver, module, currentContext, maxSteps, logger);
|
|
209
|
+
plan = await executePlanningPhase(resolveDriver(driver, 'plan'), module, currentContext, maxSteps, logger);
|
|
209
210
|
currentContext.plan = plan;
|
|
210
211
|
if (logger) {
|
|
211
212
|
logger.info(`Planning completed: ${plan.steps.length} steps`);
|
|
@@ -219,7 +220,7 @@ export async function selfPromptingProcess(driver, module, context, options = {}
|
|
|
219
220
|
logger.info('Starting execution phase');
|
|
220
221
|
}
|
|
221
222
|
currentContext.phase = 'execution';
|
|
222
|
-
const executionLog = await executeExecutionPhase(driver, module, currentContext, plan, actions);
|
|
223
|
+
const executionLog = await executeExecutionPhase(resolveDriver(driver, 'instruct'), module, currentContext, plan, actions);
|
|
223
224
|
currentContext.executionLog = executionLog;
|
|
224
225
|
if (logger) {
|
|
225
226
|
logger.info(`Execution completed: ${executionLog.length} steps`);
|
|
@@ -229,7 +230,7 @@ export async function selfPromptingProcess(driver, module, context, options = {}
|
|
|
229
230
|
logger.info('Starting integration phase');
|
|
230
231
|
}
|
|
231
232
|
currentContext.phase = 'integration';
|
|
232
|
-
const finalOutput = await executeIntegrationPhase(driver, module, currentContext);
|
|
233
|
+
const finalOutput = await executeIntegrationPhase(resolveDriver(driver, 'default'), module, currentContext);
|
|
233
234
|
if (logger) {
|
|
234
235
|
logger.info('Integration completed');
|
|
235
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-prompting-workflow.js","sourceRoot":"","sources":["../../../src/workflows/self-prompting-workflow/self-prompting-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAUrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"self-prompting-workflow.js","sourceRoot":"","sources":["../../../src/workflows/self-prompting-workflow/self-prompting-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { PromptModule } from '@modular-prompt/core';
|
|
2
|
-
import { type
|
|
2
|
+
import { type WorkflowResult } from './types.js';
|
|
3
3
|
import type { StreamProcessingContext } from '../modules/stream-processing.js';
|
|
4
|
+
import { type DriverInput } from './driver-input.js';
|
|
4
5
|
/**
|
|
5
6
|
* Options for stream workflow
|
|
6
7
|
*/
|
|
@@ -13,5 +14,5 @@ export interface StreamWorkflowOptions {
|
|
|
13
14
|
* Stream processing workflow - processes chunks sequentially with state accumulation
|
|
14
15
|
* Each iteration processes a range of chunks and updates the state
|
|
15
16
|
*/
|
|
16
|
-
export declare function streamProcess(driver:
|
|
17
|
+
export declare function streamProcess(driver: DriverInput, module: PromptModule<StreamProcessingContext>, context: StreamProcessingContext, options?: StreamWorkflowOptions): Promise<WorkflowResult<StreamProcessingContext>>;
|
|
17
18
|
//# sourceMappingURL=stream-workflow.d.ts.map
|
|
@@ -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;AAEzD,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;AAWpE;;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,CAoGlD"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
import { compile } from '@modular-prompt/core';
|
|
1
|
+
import { compile, merge } from '@modular-prompt/core';
|
|
2
|
+
import { Logger } from '@modular-prompt/utils';
|
|
2
3
|
import { WorkflowExecutionError } from './types.js';
|
|
4
|
+
import { streamProcessing } from '../modules/stream-processing.js';
|
|
5
|
+
import { resolveDriver } from './driver-input.js';
|
|
6
|
+
const logger = new Logger({ prefix: 'process', context: 'stream' });
|
|
3
7
|
/**
|
|
4
8
|
* Simple token estimation (roughly 4 characters per token)
|
|
5
9
|
*/
|
|
@@ -42,6 +46,7 @@ function getNextRange(chunks, currentRange, options) {
|
|
|
42
46
|
* Each iteration processes a range of chunks and updates the state
|
|
43
47
|
*/
|
|
44
48
|
export async function streamProcess(driver, module, context, options = {}) {
|
|
49
|
+
logger.info('[start] stream workflow');
|
|
45
50
|
const { tokenLimit, maxChunk, targetTokens } = options;
|
|
46
51
|
if (!context.chunks || context.chunks.length === 0) {
|
|
47
52
|
throw new Error('No chunks provided for stream processing');
|
|
@@ -60,11 +65,13 @@ export async function streamProcess(driver, module, context, options = {}) {
|
|
|
60
65
|
range,
|
|
61
66
|
targetTokens
|
|
62
67
|
};
|
|
63
|
-
const prompt = compile(module, iterationContext);
|
|
68
|
+
const prompt = compile(merge(streamProcessing, module), iterationContext);
|
|
69
|
+
logger.verbose('[prompt]', JSON.stringify(prompt));
|
|
64
70
|
let nextStateContent;
|
|
65
71
|
let nextStateUsage;
|
|
66
72
|
try {
|
|
67
|
-
const result = await driver.query(prompt);
|
|
73
|
+
const result = await resolveDriver(driver, 'default').query(prompt);
|
|
74
|
+
logger.verbose('[output]', result.content);
|
|
68
75
|
// Check finish reason for dynamic failures
|
|
69
76
|
if (result.finishReason && result.finishReason !== 'stop') {
|
|
70
77
|
throw new WorkflowExecutionError(`Query failed with reason: ${result.finishReason}`, {
|
|
@@ -107,6 +114,7 @@ export async function streamProcess(driver, module, context, options = {}) {
|
|
|
107
114
|
state,
|
|
108
115
|
range: undefined // Processing complete
|
|
109
116
|
};
|
|
117
|
+
logger.info('[end]');
|
|
110
118
|
return {
|
|
111
119
|
output: state.content,
|
|
112
120
|
context: finalContext,
|