takt 0.2.2 → 0.3.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 +223 -166
- package/dist/agents/runner.d.ts +2 -4
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +6 -35
- package/dist/agents/runner.js.map +1 -1
- package/dist/claude/client.d.ts +31 -6
- package/dist/claude/client.d.ts.map +1 -1
- package/dist/claude/client.js +78 -30
- package/dist/claude/client.js.map +1 -1
- package/dist/claude/index.d.ts +1 -1
- package/dist/claude/index.d.ts.map +1 -1
- package/dist/claude/index.js +1 -1
- package/dist/claude/index.js.map +1 -1
- package/dist/cli.d.ts +4 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +41 -20
- package/dist/cli.js.map +1 -1
- package/dist/codex/client.d.ts +0 -1
- package/dist/codex/client.d.ts.map +1 -1
- package/dist/codex/client.js +3 -6
- package/dist/codex/client.js.map +1 -1
- package/dist/commands/addTask.d.ts.map +1 -1
- package/dist/commands/addTask.js +23 -7
- package/dist/commands/addTask.js.map +1 -1
- package/dist/commands/eject.d.ts +13 -0
- package/dist/commands/eject.d.ts.map +1 -0
- package/dist/commands/eject.js +105 -0
- package/dist/commands/eject.js.map +1 -0
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +12 -5
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/listTasks.d.ts +45 -0
- package/dist/commands/listTasks.d.ts.map +1 -0
- package/dist/commands/{reviewTasks.js → listTasks.js} +93 -73
- package/dist/commands/listTasks.js.map +1 -0
- package/dist/commands/refreshBuiltin.d.ts +4 -4
- package/dist/commands/refreshBuiltin.d.ts.map +1 -1
- package/dist/commands/refreshBuiltin.js +13 -29
- package/dist/commands/refreshBuiltin.js.map +1 -1
- package/dist/commands/taskExecution.d.ts +7 -5
- package/dist/commands/taskExecution.d.ts.map +1 -1
- package/dist/commands/taskExecution.js +21 -14
- package/dist/commands/taskExecution.js.map +1 -1
- package/dist/commands/workflowExecution.d.ts.map +1 -1
- package/dist/commands/workflowExecution.js +88 -21
- package/dist/commands/workflowExecution.js.map +1 -1
- package/dist/config/agentLoader.d.ts +3 -1
- package/dist/config/agentLoader.d.ts.map +1 -1
- package/dist/config/agentLoader.js +17 -24
- package/dist/config/agentLoader.js.map +1 -1
- package/dist/config/globalConfig.d.ts +2 -0
- package/dist/config/globalConfig.d.ts.map +1 -1
- package/dist/config/globalConfig.js +18 -0
- package/dist/config/globalConfig.js.map +1 -1
- package/dist/config/initialization.d.ts +7 -5
- package/dist/config/initialization.d.ts.map +1 -1
- package/dist/config/initialization.js +23 -21
- package/dist/config/initialization.js.map +1 -1
- package/dist/config/paths.d.ts +5 -0
- package/dist/config/paths.d.ts.map +1 -1
- package/dist/config/paths.js +9 -0
- package/dist/config/paths.js.map +1 -1
- package/dist/config/workflowLoader.d.ts +6 -4
- package/dist/config/workflowLoader.d.ts.map +1 -1
- package/dist/config/workflowLoader.js +190 -35
- package/dist/config/workflowLoader.js.map +1 -1
- package/dist/github/issue.d.ts +72 -0
- package/dist/github/issue.d.ts.map +1 -0
- package/dist/github/issue.js +143 -0
- package/dist/github/issue.js.map +1 -0
- package/dist/models/index.d.ts +1 -1
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/schemas.d.ts +165 -90
- package/dist/models/schemas.d.ts.map +1 -1
- package/dist/models/schemas.js +79 -51
- package/dist/models/schemas.js.map +1 -1
- package/dist/models/types.d.ts +53 -20
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/claude.js +2 -2
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex.d.ts.map +1 -1
- package/dist/providers/codex.js +0 -2
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/index.d.ts +2 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/resources/index.d.ts +3 -22
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +9 -76
- package/dist/resources/index.js.map +1 -1
- package/dist/task/autoCommit.d.ts +9 -6
- package/dist/task/autoCommit.d.ts.map +1 -1
- package/dist/task/autoCommit.js +21 -12
- package/dist/task/autoCommit.js.map +1 -1
- package/dist/task/branchList.d.ts +55 -0
- package/dist/task/branchList.d.ts.map +1 -0
- package/dist/task/branchList.js +131 -0
- package/dist/task/branchList.js.map +1 -0
- package/dist/task/clone.d.ts +53 -0
- package/dist/task/clone.d.ts.map +1 -0
- package/dist/task/clone.js +181 -0
- package/dist/task/clone.js.map +1 -0
- package/dist/task/index.d.ts +3 -2
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task/index.js +3 -2
- package/dist/task/index.js.map +1 -1
- package/dist/task/schema.d.ts +4 -4
- package/dist/task/schema.js +4 -4
- package/dist/task/summarize.d.ts +7 -5
- package/dist/task/summarize.d.ts.map +1 -1
- package/dist/task/summarize.js +62 -29
- package/dist/task/summarize.js.map +1 -1
- package/dist/utils/session.d.ts +74 -10
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +101 -51
- package/dist/utils/session.js.map +1 -1
- package/dist/utils/updateNotifier.d.ts +6 -0
- package/dist/utils/updateNotifier.d.ts.map +1 -0
- package/dist/utils/updateNotifier.js +17 -0
- package/dist/utils/updateNotifier.js.map +1 -0
- package/dist/workflow/engine.d.ts +35 -2
- package/dist/workflow/engine.d.ts.map +1 -1
- package/dist/workflow/engine.js +238 -38
- package/dist/workflow/engine.js.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +1 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/instruction-builder.d.ts +89 -20
- package/dist/workflow/instruction-builder.d.ts.map +1 -1
- package/dist/workflow/instruction-builder.js +404 -61
- package/dist/workflow/instruction-builder.js.map +1 -1
- package/dist/workflow/parallel-logger.d.ts +76 -0
- package/dist/workflow/parallel-logger.d.ts.map +1 -0
- package/dist/workflow/parallel-logger.js +173 -0
- package/dist/workflow/parallel-logger.js.map +1 -0
- package/dist/workflow/phase-runner.d.ts +40 -0
- package/dist/workflow/phase-runner.d.ts.map +1 -0
- package/dist/workflow/phase-runner.js +69 -0
- package/dist/workflow/phase-runner.js.map +1 -0
- package/dist/workflow/rule-evaluator.d.ts +64 -0
- package/dist/workflow/rule-evaluator.d.ts.map +1 -0
- package/dist/workflow/rule-evaluator.js +178 -0
- package/dist/workflow/rule-evaluator.js.map +1 -0
- package/dist/workflow/rule-utils.d.ts +13 -0
- package/dist/workflow/rule-utils.d.ts.map +1 -0
- package/dist/workflow/rule-utils.js +17 -0
- package/dist/workflow/rule-utils.js.map +1 -0
- package/dist/workflow/transitions.d.ts +5 -13
- package/dist/workflow/transitions.d.ts.map +1 -1
- package/dist/workflow/transitions.js +8 -78
- package/dist/workflow/transitions.js.map +1 -1
- package/dist/workflow/types.d.ts +2 -1
- package/dist/workflow/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/resources/global/en/agents/default/ai-antipattern-reviewer.md +193 -0
- package/resources/global/en/agents/default/{architect.md → architecture-reviewer.md} +144 -44
- package/resources/global/en/agents/default/coder.md +7 -7
- package/resources/global/en/agents/default/planner.md +29 -9
- package/resources/global/en/agents/default/{security.md → security-reviewer.md} +23 -5
- package/resources/global/en/agents/default/supervisor.md +13 -2
- package/resources/global/en/agents/expert/frontend-reviewer.md +0 -17
- package/resources/global/en/agents/expert/qa-reviewer.md +0 -16
- package/resources/global/en/agents/expert/security-reviewer.md +0 -16
- package/resources/global/en/agents/expert-cqrs/cqrs-es-reviewer.md +0 -17
- package/resources/global/en/agents/templates/coder.md +128 -0
- package/resources/global/en/agents/templates/planner.md +44 -0
- package/resources/global/en/agents/templates/reviewer.md +57 -0
- package/resources/global/en/agents/templates/supervisor.md +64 -0
- package/resources/global/en/workflows/default.yaml +235 -770
- package/resources/global/en/workflows/expert-cqrs.yaml +325 -697
- package/resources/global/en/workflows/expert.yaml +354 -722
- package/resources/global/en/workflows/magi.yaml +45 -52
- package/resources/global/en/workflows/research.yaml +18 -99
- package/resources/global/en/workflows/simple.yaml +156 -421
- package/resources/global/ja/agents/default/{ai-reviewer.md → ai-antipattern-reviewer.md} +92 -15
- package/resources/global/ja/agents/default/{architect.md → architecture-reviewer.md} +148 -48
- package/resources/global/ja/agents/default/coder.md +7 -7
- package/resources/global/ja/agents/default/planner.md +29 -9
- package/resources/global/ja/agents/default/{security.md → security-reviewer.md} +23 -5
- package/resources/global/ja/agents/default/supervisor.md +13 -2
- package/resources/global/ja/agents/expert/frontend-reviewer.md +0 -18
- package/resources/global/ja/agents/expert/qa-reviewer.md +0 -16
- package/resources/global/ja/agents/expert/security-reviewer.md +0 -16
- package/resources/global/ja/agents/expert-cqrs/cqrs-es-reviewer.md +0 -18
- package/resources/global/ja/agents/templates/coder.md +128 -0
- package/resources/global/ja/agents/templates/planner.md +44 -0
- package/resources/global/ja/agents/templates/reviewer.md +57 -0
- package/resources/global/ja/agents/templates/supervisor.md +64 -0
- package/resources/global/ja/workflows/default.yaml +230 -771
- package/resources/global/ja/workflows/expert-cqrs.yaml +316 -832
- package/resources/global/ja/workflows/expert.yaml +331 -711
- package/resources/global/ja/workflows/magi.yaml +45 -52
- package/resources/global/ja/workflows/research.yaml +18 -99
- package/resources/global/ja/workflows/simple.yaml +149 -415
- package/resources/project/dotgitignore +10 -0
- package/resources/project/tasks/TASK-FORMAT +37 -0
- package/dist/commands/reviewTasks.d.ts +0 -43
- package/dist/commands/reviewTasks.d.ts.map +0 -1
- package/dist/commands/reviewTasks.js.map +0 -1
- package/dist/task/worktree.d.ts +0 -70
- package/dist/task/worktree.d.ts.map +0 -1
- package/dist/task/worktree.js +0 -221
- package/dist/task/worktree.js.map +0 -1
- package/resources/global/en/agents/default/ai-reviewer.md +0 -116
package/dist/workflow/engine.js
CHANGED
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
* Workflow execution engine
|
|
3
3
|
*/
|
|
4
4
|
import { EventEmitter } from 'node:events';
|
|
5
|
-
import { mkdirSync, existsSync } from 'node:fs';
|
|
5
|
+
import { mkdirSync, existsSync, symlinkSync } from 'node:fs';
|
|
6
6
|
import { join } from 'node:path';
|
|
7
7
|
import { runAgent } from '../agents/runner.js';
|
|
8
8
|
import { COMPLETE_STEP, ABORT_STEP, ERROR_MESSAGES } from './constants.js';
|
|
9
|
-
import {
|
|
10
|
-
import { buildInstruction as buildInstructionFromTemplate } from './instruction-builder.js';
|
|
9
|
+
import { determineNextStepByRules } from './transitions.js';
|
|
10
|
+
import { buildInstruction as buildInstructionFromTemplate, isReportObjectConfig } from './instruction-builder.js';
|
|
11
11
|
import { LoopDetector } from './loop-detector.js';
|
|
12
12
|
import { handleBlocked } from './blocked-handler.js';
|
|
13
|
+
import { ParallelLogger } from './parallel-logger.js';
|
|
14
|
+
import { detectMatchedRule } from './rule-evaluator.js';
|
|
15
|
+
import { needsStatusJudgmentPhase, runReportPhase, runStatusJudgmentPhase } from './phase-runner.js';
|
|
13
16
|
import { createInitialState, addUserInput, getPreviousOutput, incrementStepIteration, } from './state-manager.js';
|
|
14
17
|
import { generateReportDir } from '../utils/session.js';
|
|
15
18
|
import { createLogger } from '../utils/debug.js';
|
|
@@ -35,7 +38,7 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
35
38
|
this.options = options;
|
|
36
39
|
this.language = options.language;
|
|
37
40
|
this.loopDetector = new LoopDetector(config.loopDetection);
|
|
38
|
-
this.reportDir = generateReportDir(task)
|
|
41
|
+
this.reportDir = `.takt/reports/${generateReportDir(task)}`;
|
|
39
42
|
this.ensureReportDirExists();
|
|
40
43
|
this.validateConfig();
|
|
41
44
|
this.state = createInitialState(config, options);
|
|
@@ -46,12 +49,20 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
46
49
|
maxIterations: config.maxIterations,
|
|
47
50
|
});
|
|
48
51
|
}
|
|
49
|
-
/** Ensure report directory exists (always in project root, not
|
|
52
|
+
/** Ensure report directory exists (always in project root, not clone) */
|
|
50
53
|
ensureReportDirExists() {
|
|
51
|
-
const reportDirPath = join(this.projectCwd,
|
|
54
|
+
const reportDirPath = join(this.projectCwd, this.reportDir);
|
|
52
55
|
if (!existsSync(reportDirPath)) {
|
|
53
56
|
mkdirSync(reportDirPath, { recursive: true });
|
|
54
57
|
}
|
|
58
|
+
// Worktree mode: create symlink so agents can access reports via relative path
|
|
59
|
+
if (this.cwd !== this.projectCwd) {
|
|
60
|
+
const cwdReportsDir = join(this.cwd, '.takt', 'reports');
|
|
61
|
+
if (!existsSync(cwdReportsDir)) {
|
|
62
|
+
mkdirSync(join(this.cwd, '.takt'), { recursive: true });
|
|
63
|
+
symlinkSync(join(this.projectCwd, '.takt', 'reports'), cwdReportsDir);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
55
66
|
}
|
|
56
67
|
/** Validate workflow configuration at construction time */
|
|
57
68
|
validateConfig() {
|
|
@@ -63,9 +74,11 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
63
74
|
stepNames.add(COMPLETE_STEP);
|
|
64
75
|
stepNames.add(ABORT_STEP);
|
|
65
76
|
for (const step of this.config.steps) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
77
|
+
if (step.rules) {
|
|
78
|
+
for (const rule of step.rules) {
|
|
79
|
+
if (rule.next && !stepNames.has(rule.next)) {
|
|
80
|
+
throw new Error(`Invalid rule in step "${step.name}": target step "${rule.next}" does not exist`);
|
|
81
|
+
}
|
|
69
82
|
}
|
|
70
83
|
}
|
|
71
84
|
}
|
|
@@ -113,25 +126,46 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
113
126
|
}
|
|
114
127
|
return step;
|
|
115
128
|
}
|
|
116
|
-
/**
|
|
129
|
+
/**
|
|
130
|
+
* Emit step:report events for each report file that exists after step completion.
|
|
131
|
+
* The UI layer (workflowExecution.ts) listens and displays the content.
|
|
132
|
+
*/
|
|
133
|
+
emitStepReports(step) {
|
|
134
|
+
if (!step.report || !this.reportDir)
|
|
135
|
+
return;
|
|
136
|
+
const baseDir = join(this.projectCwd, this.reportDir);
|
|
137
|
+
if (typeof step.report === 'string') {
|
|
138
|
+
this.emitIfReportExists(step, baseDir, step.report);
|
|
139
|
+
}
|
|
140
|
+
else if (isReportObjectConfig(step.report)) {
|
|
141
|
+
this.emitIfReportExists(step, baseDir, step.report.name);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// ReportConfig[] (array)
|
|
145
|
+
for (const rc of step.report) {
|
|
146
|
+
this.emitIfReportExists(step, baseDir, rc.path);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/** Emit step:report if the report file exists */
|
|
151
|
+
emitIfReportExists(step, baseDir, fileName) {
|
|
152
|
+
const filePath = join(baseDir, fileName);
|
|
153
|
+
if (existsSync(filePath)) {
|
|
154
|
+
this.emit('step:report', step, filePath, fileName);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
/** Run a single step (delegates to runParallelStep if step has parallel sub-steps) */
|
|
117
158
|
async runStep(step) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
iteration: this.state.iteration,
|
|
127
|
-
sessionId: sessionId ?? 'new',
|
|
128
|
-
});
|
|
129
|
-
const agentOptions = {
|
|
159
|
+
if (step.parallel && step.parallel.length > 0) {
|
|
160
|
+
return this.runParallelStep(step);
|
|
161
|
+
}
|
|
162
|
+
return this.runNormalStep(step);
|
|
163
|
+
}
|
|
164
|
+
/** Build common RunAgentOptions shared by all phases */
|
|
165
|
+
buildBaseOptions(step) {
|
|
166
|
+
return {
|
|
130
167
|
cwd: this.cwd,
|
|
131
|
-
sessionId,
|
|
132
168
|
agentPath: step.agentPath,
|
|
133
|
-
allowedTools: step.allowedTools,
|
|
134
|
-
statusRulesPrompt: step.statusRulesPrompt,
|
|
135
169
|
provider: step.provider,
|
|
136
170
|
model: step.model,
|
|
137
171
|
permissionMode: step.permissionMode,
|
|
@@ -140,16 +174,181 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
140
174
|
onAskUserQuestion: this.options.onAskUserQuestion,
|
|
141
175
|
bypassPermissions: this.options.bypassPermissions,
|
|
142
176
|
};
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
177
|
+
}
|
|
178
|
+
/** Build RunAgentOptions from a step's configuration (Phase 1) */
|
|
179
|
+
buildAgentOptions(step) {
|
|
180
|
+
// Phase 1: exclude Write from allowedTools when step has report config
|
|
181
|
+
const allowedTools = step.report
|
|
182
|
+
? step.allowedTools?.filter((t) => t !== 'Write')
|
|
183
|
+
: step.allowedTools;
|
|
184
|
+
return {
|
|
185
|
+
...this.buildBaseOptions(step),
|
|
186
|
+
sessionId: this.state.agentSessions.get(step.agent),
|
|
187
|
+
allowedTools,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Build RunAgentOptions for session-resume phases (Phase 2, Phase 3).
|
|
192
|
+
*/
|
|
193
|
+
buildResumeOptions(step, sessionId, overrides) {
|
|
194
|
+
return {
|
|
195
|
+
...this.buildBaseOptions(step),
|
|
196
|
+
sessionId,
|
|
197
|
+
allowedTools: overrides.allowedTools,
|
|
198
|
+
maxTurns: overrides.maxTurns,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/** Update agent session and notify via callback if session changed */
|
|
202
|
+
updateAgentSession(agent, sessionId) {
|
|
203
|
+
if (!sessionId)
|
|
204
|
+
return;
|
|
205
|
+
const previousSessionId = this.state.agentSessions.get(agent);
|
|
206
|
+
this.state.agentSessions.set(agent, sessionId);
|
|
207
|
+
if (this.options.onSessionUpdate && sessionId !== previousSessionId) {
|
|
208
|
+
this.options.onSessionUpdate(agent, sessionId);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/** Build phase runner context for Phase 2/3 execution */
|
|
212
|
+
buildPhaseRunnerContext() {
|
|
213
|
+
return {
|
|
214
|
+
cwd: this.cwd,
|
|
215
|
+
reportDir: this.reportDir,
|
|
216
|
+
language: this.language,
|
|
217
|
+
getSessionId: (agent) => this.state.agentSessions.get(agent),
|
|
218
|
+
buildResumeOptions: this.buildResumeOptions.bind(this),
|
|
219
|
+
updateAgentSession: this.updateAgentSession.bind(this),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/** Run a normal (non-parallel) step */
|
|
223
|
+
async runNormalStep(step) {
|
|
224
|
+
const stepIteration = incrementStepIteration(this.state, step.name);
|
|
225
|
+
const instruction = this.buildInstruction(step, stepIteration);
|
|
226
|
+
log.debug('Running step', {
|
|
227
|
+
step: step.name,
|
|
228
|
+
agent: step.agent,
|
|
229
|
+
stepIteration,
|
|
230
|
+
iteration: this.state.iteration,
|
|
231
|
+
sessionId: this.state.agentSessions.get(step.agent) ?? 'new',
|
|
232
|
+
});
|
|
233
|
+
// Phase 1: main execution (Write excluded if step has report)
|
|
234
|
+
const agentOptions = this.buildAgentOptions(step);
|
|
235
|
+
let response = await runAgent(step.agent, instruction, agentOptions);
|
|
236
|
+
this.updateAgentSession(step.agent, response.sessionId);
|
|
237
|
+
const phaseCtx = this.buildPhaseRunnerContext();
|
|
238
|
+
// Phase 2: report output (resume same session, Write only)
|
|
239
|
+
if (step.report) {
|
|
240
|
+
await runReportPhase(step, stepIteration, phaseCtx);
|
|
241
|
+
}
|
|
242
|
+
// Phase 3: status judgment (resume session, no tools, output status tag)
|
|
243
|
+
let tagContent = '';
|
|
244
|
+
if (needsStatusJudgmentPhase(step)) {
|
|
245
|
+
tagContent = await runStatusJudgmentPhase(step, phaseCtx);
|
|
246
|
+
}
|
|
247
|
+
const match = await detectMatchedRule(step, response.content, tagContent, {
|
|
248
|
+
state: this.state,
|
|
249
|
+
cwd: this.cwd,
|
|
250
|
+
});
|
|
251
|
+
if (match) {
|
|
252
|
+
log.debug('Rule matched', { step: step.name, ruleIndex: match.index, method: match.method });
|
|
253
|
+
response = { ...response, matchedRuleIndex: match.index, matchedRuleMethod: match.method };
|
|
150
254
|
}
|
|
151
255
|
this.state.stepOutputs.set(step.name, response);
|
|
152
|
-
|
|
256
|
+
this.emitStepReports(step);
|
|
257
|
+
return { response, instruction };
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Run a parallel step: execute all sub-steps concurrently, then aggregate results.
|
|
261
|
+
* The aggregated output becomes the parent step's response for rules evaluation.
|
|
262
|
+
*
|
|
263
|
+
* When onStream is provided, uses ParallelLogger to prefix each sub-step's
|
|
264
|
+
* output with `[name]` for readable interleaved display.
|
|
265
|
+
*/
|
|
266
|
+
async runParallelStep(step) {
|
|
267
|
+
const subSteps = step.parallel;
|
|
268
|
+
const stepIteration = incrementStepIteration(this.state, step.name);
|
|
269
|
+
log.debug('Running parallel step', {
|
|
270
|
+
step: step.name,
|
|
271
|
+
subSteps: subSteps.map(s => s.name),
|
|
272
|
+
stepIteration,
|
|
273
|
+
});
|
|
274
|
+
// Create parallel logger for prefixed output (only when streaming is enabled)
|
|
275
|
+
const parallelLogger = this.options.onStream
|
|
276
|
+
? new ParallelLogger({
|
|
277
|
+
subStepNames: subSteps.map((s) => s.name),
|
|
278
|
+
parentOnStream: this.options.onStream,
|
|
279
|
+
})
|
|
280
|
+
: undefined;
|
|
281
|
+
const phaseCtx = this.buildPhaseRunnerContext();
|
|
282
|
+
const ruleCtx = { state: this.state, cwd: this.cwd };
|
|
283
|
+
// Run all sub-steps concurrently
|
|
284
|
+
const subResults = await Promise.all(subSteps.map(async (subStep, index) => {
|
|
285
|
+
const subIteration = incrementStepIteration(this.state, subStep.name);
|
|
286
|
+
const subInstruction = this.buildInstruction(subStep, subIteration);
|
|
287
|
+
// Phase 1: main execution (Write excluded if sub-step has report)
|
|
288
|
+
const baseOptions = this.buildAgentOptions(subStep);
|
|
289
|
+
// Override onStream with parallel logger's prefixed handler (immutable)
|
|
290
|
+
const agentOptions = parallelLogger
|
|
291
|
+
? { ...baseOptions, onStream: parallelLogger.createStreamHandler(subStep.name, index) }
|
|
292
|
+
: baseOptions;
|
|
293
|
+
const subResponse = await runAgent(subStep.agent, subInstruction, agentOptions);
|
|
294
|
+
this.updateAgentSession(subStep.agent, subResponse.sessionId);
|
|
295
|
+
// Phase 2: report output for sub-step
|
|
296
|
+
if (subStep.report) {
|
|
297
|
+
await runReportPhase(subStep, subIteration, phaseCtx);
|
|
298
|
+
}
|
|
299
|
+
// Phase 3: status judgment for sub-step
|
|
300
|
+
let subTagContent = '';
|
|
301
|
+
if (needsStatusJudgmentPhase(subStep)) {
|
|
302
|
+
subTagContent = await runStatusJudgmentPhase(subStep, phaseCtx);
|
|
303
|
+
}
|
|
304
|
+
const match = await detectMatchedRule(subStep, subResponse.content, subTagContent, ruleCtx);
|
|
305
|
+
const finalResponse = match
|
|
306
|
+
? { ...subResponse, matchedRuleIndex: match.index, matchedRuleMethod: match.method }
|
|
307
|
+
: subResponse;
|
|
308
|
+
this.state.stepOutputs.set(subStep.name, finalResponse);
|
|
309
|
+
this.emitStepReports(subStep);
|
|
310
|
+
return { subStep, response: finalResponse, instruction: subInstruction };
|
|
311
|
+
}));
|
|
312
|
+
// Print completion summary
|
|
313
|
+
if (parallelLogger) {
|
|
314
|
+
parallelLogger.printSummary(step.name, subResults.map((r) => ({
|
|
315
|
+
name: r.subStep.name,
|
|
316
|
+
condition: r.response.matchedRuleIndex != null && r.subStep.rules
|
|
317
|
+
? r.subStep.rules[r.response.matchedRuleIndex]?.condition
|
|
318
|
+
: undefined,
|
|
319
|
+
})));
|
|
320
|
+
}
|
|
321
|
+
// Aggregate sub-step outputs into parent step's response
|
|
322
|
+
const aggregatedContent = subResults
|
|
323
|
+
.map((r) => `## ${r.subStep.name}\n${r.response.content}`)
|
|
324
|
+
.join('\n\n---\n\n');
|
|
325
|
+
const aggregatedInstruction = subResults
|
|
326
|
+
.map((r) => r.instruction)
|
|
327
|
+
.join('\n\n');
|
|
328
|
+
// Parent step uses aggregate conditions, so tagContent is empty
|
|
329
|
+
const match = await detectMatchedRule(step, aggregatedContent, '', ruleCtx);
|
|
330
|
+
const aggregatedResponse = {
|
|
331
|
+
agent: step.name,
|
|
332
|
+
status: 'done',
|
|
333
|
+
content: aggregatedContent,
|
|
334
|
+
timestamp: new Date(),
|
|
335
|
+
...(match && { matchedRuleIndex: match.index, matchedRuleMethod: match.method }),
|
|
336
|
+
};
|
|
337
|
+
this.state.stepOutputs.set(step.name, aggregatedResponse);
|
|
338
|
+
this.emitStepReports(step);
|
|
339
|
+
return { response: aggregatedResponse, instruction: aggregatedInstruction };
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Determine next step for a completed step using rules-based routing.
|
|
343
|
+
*/
|
|
344
|
+
resolveNextStep(step, response) {
|
|
345
|
+
if (response.matchedRuleIndex != null && step.rules) {
|
|
346
|
+
const nextByRules = determineNextStepByRules(step, response.matchedRuleIndex);
|
|
347
|
+
if (nextByRules) {
|
|
348
|
+
return nextByRules;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
throw new Error(`No matching rule found for step "${step.name}" (status: ${response.status})`);
|
|
153
352
|
}
|
|
154
353
|
/** Run the workflow to completion */
|
|
155
354
|
async run() {
|
|
@@ -187,8 +386,8 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
187
386
|
this.state.iteration++;
|
|
188
387
|
this.emit('step:start', step, this.state.iteration);
|
|
189
388
|
try {
|
|
190
|
-
const response = await this.runStep(step);
|
|
191
|
-
this.emit('step:complete', step, response);
|
|
389
|
+
const { response, instruction } = await this.runStep(step);
|
|
390
|
+
this.emit('step:complete', step, response, instruction);
|
|
192
391
|
if (response.status === 'blocked') {
|
|
193
392
|
this.emit('step:blocked', step, response);
|
|
194
393
|
const result = await handleBlocked(step, response, this.options);
|
|
@@ -201,10 +400,11 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
201
400
|
this.emit('workflow:abort', this.state, 'Workflow blocked and no user input provided');
|
|
202
401
|
break;
|
|
203
402
|
}
|
|
204
|
-
const nextStep =
|
|
403
|
+
const nextStep = this.resolveNextStep(step, response);
|
|
205
404
|
log.debug('Step transition', {
|
|
206
405
|
from: step.name,
|
|
207
406
|
status: response.status,
|
|
407
|
+
matchedRuleIndex: response.matchedRuleIndex,
|
|
208
408
|
nextStep,
|
|
209
409
|
});
|
|
210
410
|
if (nextStep === COMPLETE_STEP) {
|
|
@@ -247,8 +447,8 @@ export class WorkflowEngine extends EventEmitter {
|
|
|
247
447
|
};
|
|
248
448
|
}
|
|
249
449
|
this.state.iteration++;
|
|
250
|
-
const response = await this.runStep(step);
|
|
251
|
-
const nextStep =
|
|
450
|
+
const { response } = await this.runStep(step);
|
|
451
|
+
const nextStep = this.resolveNextStep(step, response);
|
|
252
452
|
const isComplete = nextStep === COMPLETE_STEP || nextStep === ABORT_STEP;
|
|
253
453
|
if (!isComplete) {
|
|
254
454
|
this.state.currentStep = nextStep;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/workflow/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
export { WorkflowEngine } from './engine.js';
|
|
8
8
|
export { COMPLETE_STEP, ABORT_STEP, ERROR_MESSAGES } from './constants.js';
|
|
9
9
|
export type { WorkflowEvents, UserInputRequest, IterationLimitRequest, SessionUpdateCallback, IterationLimitCallback, WorkflowEngineOptions, LoopCheckResult, } from './types.js';
|
|
10
|
-
export {
|
|
10
|
+
export { determineNextStepByRules, extractBlockedPrompt } from './transitions.js';
|
|
11
11
|
export { LoopDetector } from './loop-detector.js';
|
|
12
12
|
export { createInitialState, addUserInput, getPreviousOutput, storeStepOutput, } from './state-manager.js';
|
|
13
13
|
export { buildInstruction, buildExecutionMetadata, renderExecutionMetadata, type InstructionContext, type ExecutionMetadata, } from './instruction-builder.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAG3E,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/workflow/index.js
CHANGED
|
@@ -9,7 +9,7 @@ export { WorkflowEngine } from './engine.js';
|
|
|
9
9
|
// Constants
|
|
10
10
|
export { COMPLETE_STEP, ABORT_STEP, ERROR_MESSAGES } from './constants.js';
|
|
11
11
|
// Transitions
|
|
12
|
-
export {
|
|
12
|
+
export { determineNextStepByRules, extractBlockedPrompt } from './transitions.js';
|
|
13
13
|
// Loop detection
|
|
14
14
|
export { LoopDetector } from './loop-detector.js';
|
|
15
15
|
// State management
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAa3E,cAAc;AACd,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAa3E,cAAc;AACd,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAElF,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,uBAAuB;AACvB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,uBAAuB,GAGxB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAA6B,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Instruction template builder for workflow steps
|
|
3
3
|
*
|
|
4
|
-
* Builds the instruction string for agent execution by
|
|
5
|
-
*
|
|
4
|
+
* Builds the instruction string for agent execution by:
|
|
5
|
+
* 1. Auto-injecting standard sections (Execution Context, Workflow Context,
|
|
6
|
+
* User Request, Previous Response, Additional User Inputs, Instructions header,
|
|
7
|
+
* Status Output Rules)
|
|
8
|
+
* 2. Replacing template placeholders with actual values
|
|
9
|
+
*
|
|
10
|
+
* Status rules are injected into Phase 1 for tag-based detection,
|
|
11
|
+
* and also used in Phase 3 (buildStatusJudgmentInstruction) as a dedicated follow-up.
|
|
6
12
|
*/
|
|
7
|
-
import type { WorkflowStep, AgentResponse, Language } from '../models/types.js';
|
|
13
|
+
import type { WorkflowStep, WorkflowRule, AgentResponse, Language, ReportConfig, ReportObjectConfig } from '../models/types.js';
|
|
8
14
|
/**
|
|
9
15
|
* Context for building instruction from template.
|
|
10
16
|
*/
|
|
@@ -17,7 +23,7 @@ export interface InstructionContext {
|
|
|
17
23
|
maxIterations: number;
|
|
18
24
|
/** Current step's iteration number (how many times this step has been executed) */
|
|
19
25
|
stepIteration: number;
|
|
20
|
-
/** Working directory (agent work dir, may be a
|
|
26
|
+
/** Working directory (agent work dir, may be a clone) */
|
|
21
27
|
cwd: string;
|
|
22
28
|
/** Project root directory (where .takt/ lives). Defaults to cwd. */
|
|
23
29
|
projectCwd?: string;
|
|
@@ -32,22 +38,32 @@ export interface InstructionContext {
|
|
|
32
38
|
}
|
|
33
39
|
/** Execution environment metadata prepended to agent instructions */
|
|
34
40
|
export interface ExecutionMetadata {
|
|
35
|
-
/** The agent's working directory (may be a
|
|
41
|
+
/** The agent's working directory (may be a clone) */
|
|
36
42
|
readonly workingDirectory: string;
|
|
37
43
|
/** Language for metadata rendering */
|
|
38
44
|
readonly language: Language;
|
|
45
|
+
/** Whether file editing is allowed for this step (undefined = no prompt) */
|
|
46
|
+
readonly edit?: boolean;
|
|
39
47
|
}
|
|
40
48
|
/**
|
|
41
|
-
* Build execution metadata from instruction context.
|
|
49
|
+
* Build execution metadata from instruction context and step config.
|
|
42
50
|
*
|
|
43
|
-
* Pure function: InstructionContext → ExecutionMetadata.
|
|
51
|
+
* Pure function: (InstructionContext, edit?) → ExecutionMetadata.
|
|
44
52
|
*/
|
|
45
|
-
export declare function buildExecutionMetadata(context: InstructionContext): ExecutionMetadata;
|
|
53
|
+
export declare function buildExecutionMetadata(context: InstructionContext, edit?: boolean): ExecutionMetadata;
|
|
46
54
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
55
|
+
* Generate status rules prompt from rules configuration.
|
|
56
|
+
* Creates a structured prompt that tells the agent which numbered tags to output.
|
|
57
|
+
*
|
|
58
|
+
* Example output for step "plan" with 3 rules:
|
|
59
|
+
* ## 判定基準
|
|
60
|
+
* | # | 状況 | タグ |
|
|
61
|
+
* |---|------|------|
|
|
62
|
+
* | 1 | 要件が明確で実装可能 | `[PLAN:1]` |
|
|
63
|
+
* | 2 | ユーザーが質問をしている | `[PLAN:2]` |
|
|
64
|
+
* | 3 | 要件が不明確、情報不足 | `[PLAN:3]` |
|
|
49
65
|
*/
|
|
50
|
-
export declare function
|
|
66
|
+
export declare function generateStatusRulesFromRules(stepName: string, rules: WorkflowRule[], language: Language): string;
|
|
51
67
|
/**
|
|
52
68
|
* Render execution metadata as a markdown string.
|
|
53
69
|
*
|
|
@@ -56,18 +72,71 @@ export declare function renderStatusRulesHeader(language: Language): string;
|
|
|
56
72
|
* Language determines the output language; 'en' includes a note about language consistency.
|
|
57
73
|
*/
|
|
58
74
|
export declare function renderExecutionMetadata(metadata: ExecutionMetadata): string;
|
|
75
|
+
/**
|
|
76
|
+
* Check if a report config is the object form (ReportObjectConfig).
|
|
77
|
+
*/
|
|
78
|
+
export declare function isReportObjectConfig(report: string | ReportConfig[] | ReportObjectConfig): report is ReportObjectConfig;
|
|
59
79
|
/**
|
|
60
80
|
* Build instruction from template with context values.
|
|
61
81
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
82
|
+
* Generates a complete instruction by auto-injecting standard sections
|
|
83
|
+
* around the step-specific instruction_template content:
|
|
84
|
+
*
|
|
85
|
+
* 1. Execution Context (working directory, rules) — always
|
|
86
|
+
* 2. Workflow Context (iteration, step, report info) — always
|
|
87
|
+
* 3. User Request ({task}) — unless template contains {task}
|
|
88
|
+
* 4. Previous Response — if passPreviousResponse and has content, unless template contains {previous_response}
|
|
89
|
+
* 5. Additional User Inputs — unless template contains {user_inputs}
|
|
90
|
+
* 6. Instructions header + instruction_template content — always
|
|
91
|
+
* 7. Status Output Rules — when step has tag-based rules (not all ai()/aggregate)
|
|
92
|
+
*
|
|
93
|
+
* Template placeholders ({task}, {previous_response}, etc.) are still replaced
|
|
94
|
+
* within the instruction_template body for backward compatibility.
|
|
95
|
+
* When a placeholder is present in the template, the corresponding
|
|
96
|
+
* auto-injected section is skipped to avoid duplication.
|
|
71
97
|
*/
|
|
72
98
|
export declare function buildInstruction(step: WorkflowStep, context: InstructionContext): string;
|
|
99
|
+
/**
|
|
100
|
+
* Context for building report phase instruction.
|
|
101
|
+
*/
|
|
102
|
+
export interface ReportInstructionContext {
|
|
103
|
+
/** Working directory */
|
|
104
|
+
cwd: string;
|
|
105
|
+
/** Report directory path */
|
|
106
|
+
reportDir: string;
|
|
107
|
+
/** Step iteration (for {step_iteration} replacement) */
|
|
108
|
+
stepIteration: number;
|
|
109
|
+
/** Language */
|
|
110
|
+
language?: Language;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Build instruction for phase 2 (report output).
|
|
114
|
+
*
|
|
115
|
+
* Separate from buildInstruction() — only includes:
|
|
116
|
+
* - Execution Context (cwd + rules)
|
|
117
|
+
* - Workflow Context (report info only)
|
|
118
|
+
* - Report output instruction + format
|
|
119
|
+
*
|
|
120
|
+
* Does NOT include: User Request, Previous Response, User Inputs,
|
|
121
|
+
* Status rules, instruction_template.
|
|
122
|
+
*/
|
|
123
|
+
export declare function buildReportInstruction(step: WorkflowStep, context: ReportInstructionContext): string;
|
|
124
|
+
/**
|
|
125
|
+
* Context for building status judgment instruction (Phase 3).
|
|
126
|
+
*/
|
|
127
|
+
export interface StatusJudgmentContext {
|
|
128
|
+
/** Language */
|
|
129
|
+
language?: Language;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Build instruction for Phase 3 (status judgment).
|
|
133
|
+
*
|
|
134
|
+
* Resumes the agent session and asks it to evaluate its work
|
|
135
|
+
* and output the appropriate status tag. No tools are allowed.
|
|
136
|
+
*
|
|
137
|
+
* Includes:
|
|
138
|
+
* - Header instruction (review and determine status)
|
|
139
|
+
* - Status rules (criteria table + output format) from generateStatusRulesFromRules()
|
|
140
|
+
*/
|
|
141
|
+
export declare function buildStatusJudgmentInstruction(step: WorkflowStep, context: StatusJudgmentContext): string;
|
|
73
142
|
//# sourceMappingURL=instruction-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instruction-builder.d.ts","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"instruction-builder.d.ts","sourceRoot":"","sources":["../../src/workflow/instruction-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIhI;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,aAAa,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAMrG;AA0BD;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EAAE,EACrB,QAAQ,EAAE,QAAQ,GACjB,MAAM,CA0CR;AA0BD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAqB3E;AASD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,GAAG,kBAAkB,GAAG,MAAM,IAAI,kBAAkB,CAEvH;AAuLD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAqDR;AAcD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,wBAAwB,GAChC,MAAM,CA2ER;AAYD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,eAAe;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,YAAY,EAClB,OAAO,EAAE,qBAAqB,GAC7B,MAAM,CAiBR"}
|