@zhixuan92/multi-model-agent-core 0.4.0 → 1.1.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.
Files changed (128) hide show
  1. package/README.md +33 -93
  2. package/dist/config/load.js +9 -9
  3. package/dist/config/load.js.map +1 -1
  4. package/dist/config/schema.d.ts +169 -275
  5. package/dist/config/schema.d.ts.map +1 -1
  6. package/dist/config/schema.js +31 -40
  7. package/dist/config/schema.js.map +1 -1
  8. package/dist/cost/cost-meter.d.ts +13 -0
  9. package/dist/cost/cost-meter.d.ts.map +1 -0
  10. package/dist/cost/cost-meter.js +20 -0
  11. package/dist/cost/cost-meter.js.map +1 -0
  12. package/dist/delegate-with-escalation.d.ts +1 -28
  13. package/dist/delegate-with-escalation.d.ts.map +1 -1
  14. package/dist/delegate-with-escalation.js +9 -89
  15. package/dist/delegate-with-escalation.js.map +1 -1
  16. package/dist/error-codes.d.ts +4 -0
  17. package/dist/error-codes.d.ts.map +1 -0
  18. package/dist/error-codes.js +16 -0
  19. package/dist/error-codes.js.map +1 -0
  20. package/dist/index.d.ts +5 -5
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +4 -5
  23. package/dist/index.js.map +1 -1
  24. package/dist/model-profiles.json +10 -5
  25. package/dist/provider.d.ts +2 -2
  26. package/dist/provider.d.ts.map +1 -1
  27. package/dist/provider.js +10 -13
  28. package/dist/provider.js.map +1 -1
  29. package/dist/readiness/normalization-budget.d.ts +2 -0
  30. package/dist/readiness/normalization-budget.d.ts.map +1 -0
  31. package/dist/readiness/normalization-budget.js +9 -0
  32. package/dist/readiness/normalization-budget.js.map +1 -0
  33. package/dist/readiness/normalize-brief.d.ts +17 -0
  34. package/dist/readiness/normalize-brief.d.ts.map +1 -0
  35. package/dist/readiness/normalize-brief.js +124 -0
  36. package/dist/readiness/normalize-brief.js.map +1 -0
  37. package/dist/readiness/readiness.d.ts +16 -0
  38. package/dist/readiness/readiness.d.ts.map +1 -0
  39. package/dist/readiness/readiness.js +160 -0
  40. package/dist/readiness/readiness.js.map +1 -0
  41. package/dist/reporting/structured-report.d.ts +18 -0
  42. package/dist/reporting/structured-report.d.ts.map +1 -0
  43. package/dist/reporting/structured-report.js +100 -0
  44. package/dist/reporting/structured-report.js.map +1 -0
  45. package/dist/review/aggregate-result.d.ts +3 -0
  46. package/dist/review/aggregate-result.d.ts.map +1 -0
  47. package/dist/review/aggregate-result.js +31 -0
  48. package/dist/review/aggregate-result.js.map +1 -0
  49. package/dist/review/quality-reviewer.d.ts +13 -0
  50. package/dist/review/quality-reviewer.d.ts.map +1 -0
  51. package/dist/review/quality-reviewer.js +39 -0
  52. package/dist/review/quality-reviewer.js.map +1 -0
  53. package/dist/review/reviewer-prompt.d.ts +10 -0
  54. package/dist/review/reviewer-prompt.d.ts.map +1 -0
  55. package/dist/review/reviewer-prompt.js +58 -0
  56. package/dist/review/reviewer-prompt.js.map +1 -0
  57. package/dist/review/spec-reviewer.d.ts +13 -0
  58. package/dist/review/spec-reviewer.d.ts.map +1 -0
  59. package/dist/review/spec-reviewer.js +37 -0
  60. package/dist/review/spec-reviewer.js.map +1 -0
  61. package/dist/routing/model-profiles.d.ts +5 -0
  62. package/dist/routing/model-profiles.d.ts.map +1 -1
  63. package/dist/routing/model-profiles.js +5 -0
  64. package/dist/routing/model-profiles.js.map +1 -1
  65. package/dist/routing/resolve-agent.d.ts +8 -0
  66. package/dist/routing/resolve-agent.d.ts.map +1 -0
  67. package/dist/routing/resolve-agent.js +45 -0
  68. package/dist/routing/resolve-agent.js.map +1 -0
  69. package/dist/run-tasks.d.ts +0 -23
  70. package/dist/run-tasks.d.ts.map +1 -1
  71. package/dist/run-tasks.js +241 -72
  72. package/dist/run-tasks.js.map +1 -1
  73. package/dist/runners/claude-runner.d.ts +2 -2
  74. package/dist/runners/claude-runner.d.ts.map +1 -1
  75. package/dist/runners/claude-runner.js +76 -28
  76. package/dist/runners/claude-runner.js.map +1 -1
  77. package/dist/runners/codex-runner.d.ts +2 -2
  78. package/dist/runners/codex-runner.d.ts.map +1 -1
  79. package/dist/runners/codex-runner.js +77 -24
  80. package/dist/runners/codex-runner.js.map +1 -1
  81. package/dist/runners/openai-runner.d.ts +2 -2
  82. package/dist/runners/openai-runner.d.ts.map +1 -1
  83. package/dist/runners/openai-runner.js +141 -22
  84. package/dist/runners/openai-runner.js.map +1 -1
  85. package/dist/runners/prevention.d.ts +2 -0
  86. package/dist/runners/prevention.d.ts.map +1 -1
  87. package/dist/runners/prevention.js +12 -0
  88. package/dist/runners/prevention.js.map +1 -1
  89. package/dist/runners/supervision.d.ts +1 -5
  90. package/dist/runners/supervision.d.ts.map +1 -1
  91. package/dist/runners/supervision.js +0 -68
  92. package/dist/runners/supervision.js.map +1 -1
  93. package/dist/tools/call-cache.d.ts +16 -0
  94. package/dist/tools/call-cache.d.ts.map +1 -0
  95. package/dist/tools/call-cache.js +28 -0
  96. package/dist/tools/call-cache.js.map +1 -0
  97. package/dist/tools/claude-adapter.d.ts +2 -2
  98. package/dist/tools/claude-adapter.d.ts.map +1 -1
  99. package/dist/tools/claude-adapter.js +12 -5
  100. package/dist/tools/claude-adapter.js.map +1 -1
  101. package/dist/tools/definitions.d.ts +4 -0
  102. package/dist/tools/definitions.d.ts.map +1 -1
  103. package/dist/tools/definitions.js +4 -0
  104. package/dist/tools/definitions.js.map +1 -1
  105. package/dist/tools/openai-adapter.d.ts +4 -4
  106. package/dist/tools/openai-adapter.d.ts.map +1 -1
  107. package/dist/tools/openai-adapter.js +9 -2
  108. package/dist/tools/openai-adapter.js.map +1 -1
  109. package/dist/types.d.ts +79 -31
  110. package/dist/types.d.ts.map +1 -1
  111. package/dist/types.js.map +1 -1
  112. package/package.json +48 -16
  113. package/dist/routing/capabilities.d.ts +0 -3
  114. package/dist/routing/capabilities.d.ts.map +0 -1
  115. package/dist/routing/capabilities.js +0 -26
  116. package/dist/routing/capabilities.js.map +0 -1
  117. package/dist/routing/get-provider-eligibility.d.ts +0 -8
  118. package/dist/routing/get-provider-eligibility.d.ts.map +0 -1
  119. package/dist/routing/get-provider-eligibility.js +0 -53
  120. package/dist/routing/get-provider-eligibility.js.map +0 -1
  121. package/dist/routing/resolve-task-capabilities.d.ts +0 -7
  122. package/dist/routing/resolve-task-capabilities.d.ts.map +0 -1
  123. package/dist/routing/resolve-task-capabilities.js +0 -19
  124. package/dist/routing/resolve-task-capabilities.js.map +0 -1
  125. package/dist/routing/select-provider-for-task.d.ts +0 -18
  126. package/dist/routing/select-provider-for-task.d.ts.map +0 -1
  127. package/dist/routing/select-provider-for-task.js +0 -50
  128. package/dist/routing/select-provider-for-task.js.map +0 -1
package/dist/run-tasks.js CHANGED
@@ -1,8 +1,14 @@
1
1
  import { createProvider } from './provider.js';
2
- import { getProviderEligibility } from './routing/get-provider-eligibility.js';
3
- import { selectProviderForTask } from './routing/select-provider-for-task.js';
4
- import { buildEscalationChain, delegateWithEscalation } from './delegate-with-escalation.js';
2
+ import { resolveAgent } from './routing/resolve-agent.js';
3
+ import { delegateWithEscalation } from './delegate-with-escalation.js';
5
4
  import { expandContextBlocks } from './context/expand-context-blocks.js';
5
+ import { evaluateReadiness } from './readiness/readiness.js';
6
+ import { normalizeBrief } from './readiness/normalize-brief.js';
7
+ import { runSpecReview } from './review/spec-reviewer.js';
8
+ import { runQualityReview } from './review/quality-reviewer.js';
9
+ import { aggregateResult } from './review/aggregate-result.js';
10
+ import { parseStructuredReport } from './reporting/structured-report.js';
11
+ import fs from 'fs/promises';
6
12
  function errorResult(error) {
7
13
  return {
8
14
  output: `Sub-agent error: ${error}`,
@@ -12,51 +18,183 @@ function errorResult(error) {
12
18
  filesRead: [],
13
19
  filesWritten: [],
14
20
  toolCalls: [],
15
- // Orchestrator-level error wrapper (e.g. "no eligible provider",
16
- // contextBlockIds expansion failure) — pure diagnostic, no salvage.
17
21
  outputIsDiagnostic: true,
18
22
  escalationLog: [],
19
23
  error,
20
24
  };
21
25
  }
22
- async function executeTask(resolved, config, onProgress) {
26
+ async function executeTask(resolved, onProgress) {
23
27
  try {
24
- if (resolved.pinned) {
25
- // Explicit pin: chain of length 1, no escalation.
26
- return await delegateWithEscalation(resolved.task, [resolved.provider], { explicitlyPinned: true, onProgress });
27
- }
28
- // Auto-routed: walk all eligible providers cheapest-first.
29
- const chain = buildEscalationChain(resolved.task, config);
30
- if (chain.length === 0) {
31
- // Defensive: selectProviderForTask succeeded earlier so eligibility
32
- // existed at resolution time. If the chain is somehow empty now we
33
- // surface a structured error rather than throwing.
34
- return errorResult('No eligible provider found for task at dispatch time.');
35
- }
36
- return await delegateWithEscalation(resolved.task, chain, { onProgress });
28
+ return await delegateWithEscalation(resolved.task, [resolved.resolved.provider], { explicitlyPinned: true, onProgress });
37
29
  }
38
30
  catch (err) {
39
31
  return errorResult(err instanceof Error ? err.message : String(err));
40
32
  }
41
33
  }
42
- /**
43
- * Run tasks concurrently. Each RunResult corresponds to the matching TaskSpec
44
- * at the same index. One task failing does not affect others.
45
- *
46
- * When `options.onProgress` is supplied, it is called with `(taskIndex, event)`
47
- * for every progress event emitted by that task's provider run or the
48
- * escalation orchestrator. See `ProgressEvent` for variants.
49
- */
34
+ function extractWorkerStatus(report) {
35
+ if (!report || !report.summary)
36
+ return 'done';
37
+ const s = report.summary.toLowerCase();
38
+ if (s.includes('needs_context'))
39
+ return 'needs_context';
40
+ if (s.includes('blocked'))
41
+ return 'blocked';
42
+ if (s.includes('done_with_concerns') || s.includes('concerns'))
43
+ return 'done_with_concerns';
44
+ return 'done';
45
+ }
46
+ async function readImplementerFileContents(filesWritten, cwd) {
47
+ const contents = {};
48
+ const basePath = cwd ?? process.cwd();
49
+ for (const filePath of filesWritten) {
50
+ try {
51
+ const resolved = filePath.startsWith('/') ? filePath : `${basePath}/${filePath}`;
52
+ const content = await fs.readFile(resolved, 'utf-8');
53
+ contents[filePath] = content.length > 50_000
54
+ ? content.slice(0, 50_000) + '\n[truncated at 50KB]'
55
+ : content;
56
+ }
57
+ catch {
58
+ contents[filePath] = '[file not readable]';
59
+ }
60
+ }
61
+ return contents;
62
+ }
63
+ function buildFallbackImplReport(result) {
64
+ const parsed = parseStructuredReport(result.output);
65
+ if (parsed.summary) {
66
+ return parsed;
67
+ }
68
+ return {
69
+ summary: result.output.substring(0, 200),
70
+ filesChanged: result.filesWritten.map(f => ({ path: f, summary: 'updated' })),
71
+ normalizationDecisions: [],
72
+ validationsRun: [],
73
+ deviationsFromBrief: [],
74
+ unresolved: [],
75
+ };
76
+ }
77
+ async function executeReviewedLifecycle(task, resolved, config, normResult, onProgress) {
78
+ const reviewPolicy = task.reviewPolicy ?? 'full';
79
+ const maxRounds = task.maxReviewRounds ?? 2;
80
+ const otherSlot = resolved.slot === 'standard' ? 'complex' : 'standard';
81
+ const implResult = await delegateWithEscalation(task, [resolved.provider], { explicitlyPinned: true, onProgress });
82
+ const implReport = implResult.status === 'ok' ? parseStructuredReport(implResult.output) : undefined;
83
+ const workerStatus = extractWorkerStatus(implReport);
84
+ if (workerStatus === 'needs_context' || workerStatus === 'blocked') {
85
+ return {
86
+ ...implResult,
87
+ workerStatus,
88
+ specReviewStatus: 'not_run',
89
+ qualityReviewStatus: 'not_run',
90
+ agents: {
91
+ normalizer: normResult && !normResult.skipped ? resolved.slot : 'skipped',
92
+ implementer: resolved.slot,
93
+ specReviewer: 'not_run',
94
+ qualityReviewer: 'not_run',
95
+ },
96
+ };
97
+ }
98
+ if (reviewPolicy === 'off') {
99
+ return {
100
+ ...implResult,
101
+ workerStatus,
102
+ specReviewStatus: 'not_run',
103
+ qualityReviewStatus: 'not_run',
104
+ agents: {
105
+ normalizer: normResult && !normResult.skipped ? resolved.slot : 'skipped',
106
+ implementer: resolved.slot,
107
+ specReviewer: 'not_run',
108
+ qualityReviewer: 'not_run',
109
+ },
110
+ implementationReport: implReport,
111
+ };
112
+ }
113
+ let otherProvider;
114
+ try {
115
+ otherProvider = createProvider(otherSlot, config);
116
+ }
117
+ catch {
118
+ return {
119
+ ...implResult,
120
+ workerStatus,
121
+ specReviewStatus: 'not_run',
122
+ qualityReviewStatus: 'not_run',
123
+ agents: {
124
+ normalizer: normResult && !normResult.skipped ? resolved.slot : 'skipped',
125
+ implementer: resolved.slot,
126
+ specReviewer: 'not_run',
127
+ qualityReviewer: 'not_run',
128
+ },
129
+ };
130
+ }
131
+ const packet = {
132
+ normalizedPrompt: normResult?.normalizedPrompt ?? task.prompt,
133
+ scope: normResult?.writeSet ?? [],
134
+ doneCondition: 'tsc passes',
135
+ };
136
+ let fileContents = await readImplementerFileContents(implResult.filesWritten, task.cwd);
137
+ const effectiveImplReport = implReport ?? buildFallbackImplReport(implResult);
138
+ let specResult = await runSpecReview(otherProvider, packet, effectiveImplReport, fileContents, implResult.toolCalls);
139
+ let finalImplResult = implResult;
140
+ let finalImplReport = effectiveImplReport;
141
+ let specStatus = specResult.status;
142
+ let specReport = specResult.report;
143
+ if (specStatus === 'changes_required' && maxRounds > 0) {
144
+ for (let round = 0; round < maxRounds; round++) {
145
+ const reworkPrompt = `${task.prompt}\n\n## Spec Review Feedback (round ${round + 1}):\n${specResult.findings.map(f => `- ${f}`).join('\n')}`;
146
+ const reworkResult = await delegateWithEscalation({ ...task, prompt: reworkPrompt }, [resolved.provider], { explicitlyPinned: true, onProgress });
147
+ finalImplResult = reworkResult;
148
+ const reworkReport = parseStructuredReport(reworkResult.output);
149
+ finalImplReport = reworkReport.summary ? reworkReport : buildFallbackImplReport(reworkResult);
150
+ const reworkContents = await readImplementerFileContents(reworkResult.filesWritten, task.cwd);
151
+ fileContents = reworkContents;
152
+ specResult = await runSpecReview(otherProvider, packet, finalImplReport, reworkContents, reworkResult.toolCalls);
153
+ specStatus = specResult.status;
154
+ specReport = specResult.report;
155
+ if (specStatus === 'approved')
156
+ break;
157
+ }
158
+ }
159
+ let qualityResult = { status: 'not_run', report: undefined, findings: [] };
160
+ if (reviewPolicy === 'full') {
161
+ qualityResult = await runQualityReview(otherProvider, packet, specReport ?? finalImplReport, fileContents, finalImplResult.toolCalls, finalImplResult.filesWritten);
162
+ if (qualityResult.status === 'changes_required' && maxRounds > 0) {
163
+ for (let round = 0; round < maxRounds; round++) {
164
+ const reworkPrompt = `${task.prompt}\n\n## Quality Review Feedback (round ${round + 1}):\n${qualityResult.findings.map(f => `- ${f}`).join('\n')}`;
165
+ const reworkResult = await delegateWithEscalation({ ...task, prompt: reworkPrompt }, [resolved.provider], { explicitlyPinned: true, onProgress });
166
+ finalImplResult = reworkResult;
167
+ const reworkReport = parseStructuredReport(reworkResult.output);
168
+ finalImplReport = reworkReport.summary ? reworkReport : buildFallbackImplReport(reworkResult);
169
+ const reworkContents = await readImplementerFileContents(reworkResult.filesWritten, task.cwd);
170
+ qualityResult = await runQualityReview(otherProvider, packet, finalImplReport, reworkContents, reworkResult.toolCalls, reworkResult.filesWritten);
171
+ if (qualityResult.status === 'approved')
172
+ break;
173
+ }
174
+ }
175
+ }
176
+ const finalReport = specReport ?? finalImplReport;
177
+ const aggregated = aggregateResult(finalReport, specReport, qualityResult.report, specStatus, qualityResult.status);
178
+ return {
179
+ ...finalImplResult,
180
+ workerStatus,
181
+ specReviewStatus: specStatus,
182
+ qualityReviewStatus: qualityResult.status,
183
+ structuredReport: aggregated,
184
+ implementationReport: finalImplReport,
185
+ specReviewReport: specReport,
186
+ qualityReviewReport: qualityResult.report,
187
+ agents: {
188
+ normalizer: normResult && !normResult.skipped ? resolved.slot : 'skipped',
189
+ implementer: resolved.slot,
190
+ specReviewer: otherSlot,
191
+ qualityReviewer: reviewPolicy === 'full' ? otherSlot : 'not_run',
192
+ },
193
+ };
194
+ }
50
195
  export async function runTasks(tasks, config, options = {}) {
51
196
  if (tasks.length === 0)
52
197
  return [];
53
- // Expand context blocks up-front so the rest of the pipeline sees a
54
- // self-contained prompt. `expandContextBlocks` is a no-op for tasks
55
- // without `contextBlockIds` and for calls that omit `runtime`, so
56
- // existing callers are unaffected. A missing block id throws
57
- // `ContextBlockNotFoundError` synchronously — we convert it to an
58
- // error-result for the specific task so the rest of the batch still
59
- // runs.
60
198
  const expandedTasks = tasks.map((task) => {
61
199
  try {
62
200
  return expandContextBlocks(task, options.runtime?.contextBlockStore);
@@ -65,59 +203,90 @@ export async function runTasks(tasks, config, options = {}) {
65
203
  return { error: err instanceof Error ? err.message : String(err) };
66
204
  }
67
205
  });
68
- const resolved = expandedTasks.map((entry, idx) => {
69
- if ('error' in entry) {
70
- return { task: tasks[idx], error: entry.error };
71
- }
206
+ const readinessResults = expandedTasks.map((entry) => {
207
+ if ('error' in entry)
208
+ return undefined;
72
209
  const task = entry;
73
- // If provider specified, validate and use it
74
- if (task.provider) {
75
- const eligibility = getProviderEligibility(task, config);
76
- const report = eligibility.find((e) => e.name === task.provider);
77
- if (!report) {
78
- // Provider explicitly named but not in config — fail fast with error result
79
- return {
80
- task,
81
- error: `Provider "${task.provider}" not found in config.`,
82
- };
83
- }
84
- if (!report.eligible) {
85
- const reasons = report.reasons.map((r) => r.message).join('; ');
86
- return {
87
- task,
88
- error: `Provider "${task.provider}" is ineligible: ${reasons}`,
89
- };
90
- }
210
+ return evaluateReadiness(task, task.briefQualityPolicy ?? 'warn');
211
+ });
212
+ const refusedResults = expandedTasks.map((entry, idx) => {
213
+ if ('error' in entry)
214
+ return undefined;
215
+ const readiness = readinessResults[idx];
216
+ if (!readiness)
217
+ return undefined;
218
+ if (readiness.action === 'refuse') {
91
219
  return {
92
- task,
93
- pinned: true,
94
- provider: createProvider(task.provider, config),
220
+ output: `Brief too vague: missing ${readiness.missingPillars.join(', ')}`,
221
+ status: 'brief_too_vague',
222
+ usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: null },
223
+ turns: 0,
224
+ filesRead: [],
225
+ filesWritten: [],
226
+ toolCalls: [],
227
+ outputIsDiagnostic: true,
228
+ escalationLog: [],
229
+ errorCode: 'brief_too_vague',
230
+ briefQualityWarnings: readiness.briefQualityWarnings,
231
+ retryable: false,
95
232
  };
96
233
  }
97
- // Auto-routing — selectProviderForTask is still used here so the "no
98
- // eligible provider" error path stays identical to pre-escalation
99
- // behavior. The actual chain is constructed inside executeTask.
100
- const selected = selectProviderForTask(task, config);
101
- if (!selected) {
102
- const available = Object.keys(config.providers);
234
+ return undefined;
235
+ });
236
+ const normalizationResults = await Promise.all(expandedTasks.map(async (entry, idx) => {
237
+ if ('error' in entry)
238
+ return undefined;
239
+ const readiness = readinessResults[idx];
240
+ if (!readiness || readiness.action !== 'normalize')
241
+ return undefined;
242
+ return await normalizeBrief(entry, config);
243
+ }));
244
+ const effectiveTasks = expandedTasks.map((entry, idx) => {
245
+ if ('error' in entry)
246
+ return entry;
247
+ const norm = normalizationResults[idx];
248
+ if (norm && !norm.skipped) {
249
+ return { ...entry, prompt: norm.normalizedPrompt };
250
+ }
251
+ return entry;
252
+ });
253
+ const resolved = effectiveTasks.map((entry, idx) => {
254
+ if ('error' in entry) {
255
+ return { task: tasks[idx], error: entry.error, errorCode: 'context_block_not_found' };
256
+ }
257
+ const task = entry;
258
+ const agentType = task.agentType ?? 'standard';
259
+ try {
260
+ const resolved_agent = resolveAgent(agentType, (task.requiredCapabilities ?? []), config);
261
+ return { task, resolved: resolved_agent };
262
+ }
263
+ catch (err) {
103
264
  return {
104
265
  task,
105
- error: `No eligible provider found for task (required tier: ${task.tier}, capabilities: ${task.requiredCapabilities.join(', ') || 'none'}). Available providers: ${available.join(', ') || 'none'}.`,
266
+ error: err instanceof Error ? err.message : String(err),
267
+ errorCode: 'capability_missing',
106
268
  };
107
269
  }
108
- return { task, pinned: false };
109
270
  });
110
271
  return Promise.all(resolved.map((r, index) => {
111
272
  if ('error' in r) {
112
- return Promise.resolve(errorResult(r.error));
273
+ return Promise.resolve({ ...errorResult(r.error), errorCode: r.errorCode });
113
274
  }
114
- // Bind the task index into a per-task sink so the caller can
115
- // disambiguate which task an event belongs to without threading
116
- // extra fields through the orchestrator.
275
+ const refused = refusedResults[index];
276
+ if (refused) {
277
+ return Promise.resolve(refused);
278
+ }
279
+ const normResult = normalizationResults[index];
117
280
  const taskProgress = options.onProgress
118
281
  ? (event) => options.onProgress(index, event)
119
282
  : undefined;
120
- return executeTask(r, config, taskProgress);
283
+ const readiness = readinessResults[index];
284
+ return executeReviewedLifecycle(r.task, r.resolved, config, normResult, taskProgress).then((result) => {
285
+ if (readiness && readiness.briefQualityWarnings.length > 0) {
286
+ return { ...result, briefQualityWarnings: readiness.briefQualityWarnings };
287
+ }
288
+ return result;
289
+ });
121
290
  }));
122
291
  }
123
292
  //# sourceMappingURL=run-tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-tasks.js","sourceRoot":"","sources":["../src/run-tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-tasks.js","sourceRoot":"","sources":["../src/run-tasks.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { type RunResult, type RunOptions, type ProviderConfig } from '../types.js';
1
+ import { type RunResult, type RunOptions, type ProviderConfig, type ToolMode } from '../types.js';
2
2
  export declare function runClaude(prompt: string, options: RunOptions, providerConfig: ProviderConfig, defaults: {
3
3
  maxTurns: number;
4
4
  timeoutMs: number;
5
- tools: 'none' | 'full';
5
+ tools: ToolMode;
6
6
  }): Promise<RunResult>;
7
7
  //# sourceMappingURL=claude-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAsGrB,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC,SAAS,CAAC,CA0kBpB"}
1
+ {"version":3,"file":"claude-runner.d.ts","sourceRoot":"","sources":["../../src/runners/claude-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACd,MAAM,aAAa,CAAC;AAwGrB,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,GACjE,OAAO,CAAC,SAAS,CAAC,CAmoBpB"}