opencastle 0.32.9 → 0.32.11
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 +4 -4
- package/dist/cli/convoy/spec-builder.d.ts +11 -0
- package/dist/cli/convoy/spec-builder.d.ts.map +1 -1
- package/dist/cli/convoy/spec-builder.js +77 -63
- package/dist/cli/convoy/spec-builder.js.map +1 -1
- package/dist/cli/pipeline.d.ts.map +1 -1
- package/dist/cli/pipeline.js +37 -26
- package/dist/cli/pipeline.js.map +1 -1
- package/dist/cli/plan.d.ts.map +1 -1
- package/dist/cli/plan.js +14 -4
- package/dist/cli/plan.js.map +1 -1
- package/package.json +3 -3
- package/src/cli/convoy/spec-builder.ts +87 -59
- package/src/cli/pipeline.ts +44 -26
- package/src/cli/plan.ts +20 -4
- package/src/dashboard/dist/data/convoys/demo-api-v2.json +3 -3
- package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +4 -4
- package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +12 -12
- package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +3 -3
- package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +1 -1
- package/src/dashboard/dist/data/convoys/demo-docs-update.json +3 -3
- package/src/dashboard/dist/data/convoys/demo-perf-opt.json +10 -10
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/dashboard/public/data/convoys/demo-api-v2.json +3 -3
- package/src/dashboard/public/data/convoys/demo-auth-revamp.json +4 -4
- package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +12 -12
- package/src/dashboard/public/data/convoys/demo-data-pipeline.json +3 -3
- package/src/dashboard/public/data/convoys/demo-deploy-ci.json +1 -1
- package/src/dashboard/public/data/convoys/demo-docs-update.json +3 -3
- package/src/dashboard/public/data/convoys/demo-perf-opt.json +10 -10
- package/src/orchestrator/prompts/generate-convoy.prompt.md +33 -19
- package/src/orchestrator/prompts/validate-convoy.prompt.md +13 -30
package/dist/cli/plan.js
CHANGED
|
@@ -282,6 +282,9 @@ export async function runPromptStep(opts) {
|
|
|
282
282
|
description: frontmatter['description'] ?? templateName,
|
|
283
283
|
max_retries: 1,
|
|
284
284
|
};
|
|
285
|
+
if (opts.verbose) {
|
|
286
|
+
console.log(c.dim(` Adapter: ${adapterName} | Template: ${templateName} | Agent: ${agentField}`));
|
|
287
|
+
}
|
|
285
288
|
const stop = opts.verbose ? null : startProgress(templateName);
|
|
286
289
|
let execResult;
|
|
287
290
|
try {
|
|
@@ -293,7 +296,14 @@ export async function runPromptStep(opts) {
|
|
|
293
296
|
finally {
|
|
294
297
|
stop?.();
|
|
295
298
|
}
|
|
299
|
+
if (!execResult.success) {
|
|
300
|
+
throw new Error(`Adapter "${adapterName}" returned failure (exit code ${execResult.exitCode}) for template "${templateName}".\n` +
|
|
301
|
+
`Output (${execResult.output.length} chars):\n${execResult.output.slice(0, 2000)}`);
|
|
302
|
+
}
|
|
296
303
|
const rawOutput = execResult.output;
|
|
304
|
+
if (opts.verbose) {
|
|
305
|
+
console.log(c.dim(` Output: ${rawOutput.length} chars | Exit code: ${execResult.exitCode}`));
|
|
306
|
+
}
|
|
297
307
|
if (outputType === 'validation') {
|
|
298
308
|
const { isValid, errors } = parseValidationResult(rawOutput);
|
|
299
309
|
return { outputPath: null, rawOutput, outputType, isValid, errors };
|
|
@@ -304,10 +314,10 @@ export async function runPromptStep(opts) {
|
|
|
304
314
|
// since task prompts may contain triple backticks in code examples
|
|
305
315
|
const jsonFenceMatch = rawOutput.match(/```json\s*\n([\s\S]*)```/);
|
|
306
316
|
if (!jsonFenceMatch) {
|
|
307
|
-
const preview = rawOutput.slice(0, 300);
|
|
308
317
|
throw new Error(`Expected a fenced \`\`\`json block in the AI response but found none.\n\n` +
|
|
309
|
-
`
|
|
310
|
-
`
|
|
318
|
+
`Adapter: ${adapterName} | Output length: ${rawOutput.length} chars\n\n` +
|
|
319
|
+
`Raw output:\n${rawOutput}\n\n` +
|
|
320
|
+
`Tip: re-run with --verbose to see the full adapter output.`);
|
|
311
321
|
}
|
|
312
322
|
const jsonContent = jsonFenceMatch[1].trim();
|
|
313
323
|
const outputPath = opts.outputPath ?? null;
|
|
@@ -332,7 +342,7 @@ export async function runPromptStep(opts) {
|
|
|
332
342
|
// convoy-spec (default)
|
|
333
343
|
const yamlContent = extractYamlBlock(rawOutput);
|
|
334
344
|
if (!yamlContent) {
|
|
335
|
-
const preview = rawOutput.slice(0,
|
|
345
|
+
const preview = rawOutput.slice(0, 10_000);
|
|
336
346
|
throw new Error(`No YAML code block found in the agent response.\n\nRaw output (truncated):\n${preview}`);
|
|
337
347
|
}
|
|
338
348
|
let schemaValid = true;
|
package/dist/cli/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencastle",
|
|
3
|
-
"version": "0.32.
|
|
3
|
+
"version": "0.32.11",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Multi-agent orchestration framework for AI coding assistants",
|
|
6
6
|
"bin": {
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
],
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|
|
28
|
-
"url": "git+https://github.com/
|
|
28
|
+
"url": "git+https://github.com/monkilabs/opencastle.git"
|
|
29
29
|
},
|
|
30
30
|
"bugs": {
|
|
31
|
-
"url": "https://github.com/
|
|
31
|
+
"url": "https://github.com/monkilabs/opencastle/issues"
|
|
32
32
|
},
|
|
33
33
|
"homepage": "https://www.opencastle.dev/",
|
|
34
34
|
"license": "BUSL-1.1",
|
|
@@ -230,87 +230,115 @@ export function detectJsonTruncation(jsonText: string): string | null {
|
|
|
230
230
|
return null
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Result of parsing a task plan JSON. Contains either a valid plan or a diagnostic reason.
|
|
235
|
+
*/
|
|
236
|
+
export interface ParseTaskPlanResult {
|
|
237
|
+
plan: TaskPlan | null
|
|
238
|
+
reason?: string
|
|
239
|
+
}
|
|
240
|
+
|
|
233
241
|
/**
|
|
234
242
|
* Parses a JSON string into a TaskPlan. Returns null if parsing fails or required fields are missing.
|
|
235
243
|
*/
|
|
236
244
|
export function parseTaskPlan(jsonText: string): TaskPlan | null {
|
|
245
|
+
return parseTaskPlanWithReason(jsonText).plan
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Like parseTaskPlan but returns a diagnostic reason on failure.
|
|
250
|
+
*/
|
|
251
|
+
export function parseTaskPlanWithReason(jsonText: string): ParseTaskPlanResult {
|
|
237
252
|
const truncation = detectJsonTruncation(jsonText)
|
|
238
253
|
if (truncation) {
|
|
239
254
|
console.warn(` ⚠ parseTaskPlan: ${truncation}`)
|
|
240
|
-
return null
|
|
255
|
+
return { plan: null, reason: truncation }
|
|
241
256
|
}
|
|
242
257
|
|
|
258
|
+
let parsed: Record<string, unknown>
|
|
243
259
|
try {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
const t = task as Record<string, unknown>
|
|
249
|
-
if (typeof t.id !== 'string' || typeof t.prompt !== 'string') return null
|
|
250
|
-
if ((t.prompt as string).length === 0) return null
|
|
251
|
-
}
|
|
260
|
+
parsed = JSON.parse(jsonText.trim()) as Record<string, unknown>
|
|
261
|
+
} catch (err) {
|
|
262
|
+
return { plan: null, reason: `JSON.parse failed: ${err instanceof Error ? err.message : String(err)}` }
|
|
263
|
+
}
|
|
252
264
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
265
|
+
if (!parsed || typeof parsed.name !== 'string') {
|
|
266
|
+
return { plan: null, reason: `missing or invalid top-level "name" field (got ${typeof parsed?.name})` }
|
|
267
|
+
}
|
|
268
|
+
if (!Array.isArray(parsed.tasks) || (parsed.tasks as unknown[]).length === 0) {
|
|
269
|
+
return { plan: null, reason: `missing or empty "tasks" array` }
|
|
270
|
+
}
|
|
271
|
+
for (let i = 0; i < (parsed.tasks as unknown[]).length; i++) {
|
|
272
|
+
const t = (parsed.tasks as unknown[])[i] as Record<string, unknown>
|
|
273
|
+
if (typeof t.id !== 'string') {
|
|
274
|
+
return { plan: null, reason: `task[${i}] missing "id" field` }
|
|
261
275
|
}
|
|
262
|
-
if (
|
|
263
|
-
|
|
264
|
-
return null
|
|
276
|
+
if (typeof t.prompt !== 'string') {
|
|
277
|
+
return { plan: null, reason: `task "${t.id ?? i}" missing "prompt" field (has keys: ${Object.keys(t).join(', ')})` }
|
|
265
278
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
for (const task of tasks) {
|
|
269
|
-
if (Array.isArray(task.depends_on)) {
|
|
270
|
-
for (const dep of task.depends_on as string[]) {
|
|
271
|
-
if (!ids.has(dep)) {
|
|
272
|
-
console.warn(` ⚠ parseTaskPlan: task "${task.id as string}" depends on unknown task "${dep}"`)
|
|
273
|
-
return null
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
}
|
|
279
|
+
if ((t.prompt as string).length === 0) {
|
|
280
|
+
return { plan: null, reason: `task "${t.id}" has empty "prompt" field` }
|
|
277
281
|
}
|
|
282
|
+
}
|
|
278
283
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
284
|
+
// Validate unique task IDs
|
|
285
|
+
const tasks = parsed.tasks as Array<Record<string, unknown>>
|
|
286
|
+
const ids = new Set<string>()
|
|
287
|
+
const duplicates: string[] = []
|
|
288
|
+
for (const task of tasks) {
|
|
289
|
+
const id = task.id as string
|
|
290
|
+
if (ids.has(id)) duplicates.push(id)
|
|
291
|
+
ids.add(id)
|
|
292
|
+
}
|
|
293
|
+
if (duplicates.length > 0) {
|
|
294
|
+
console.warn(` ⚠ parseTaskPlan: duplicate task IDs: ${duplicates.join(', ')}`)
|
|
295
|
+
return { plan: null, reason: `duplicate task IDs: ${duplicates.join(', ')}` }
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// Validate depends_on references
|
|
299
|
+
for (const task of tasks) {
|
|
300
|
+
if (Array.isArray(task.depends_on)) {
|
|
301
|
+
for (const dep of task.depends_on as string[]) {
|
|
302
|
+
if (!ids.has(dep)) {
|
|
303
|
+
console.warn(` ⚠ parseTaskPlan: task "${task.id as string}" depends on unknown task "${dep}"`)
|
|
304
|
+
return { plan: null, reason: `task "${task.id as string}" depends on unknown task "${dep}"` }
|
|
291
305
|
}
|
|
292
306
|
}
|
|
293
307
|
}
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// Cycle detection (Kahn's algorithm)
|
|
311
|
+
const inDegree = new Map<string, number>()
|
|
312
|
+
const adj = new Map<string, string[]>()
|
|
313
|
+
for (const id of ids) {
|
|
314
|
+
inDegree.set(id, 0)
|
|
315
|
+
adj.set(id, [])
|
|
316
|
+
}
|
|
317
|
+
for (const task of tasks) {
|
|
318
|
+
if (Array.isArray(task.depends_on)) {
|
|
319
|
+
for (const dep of task.depends_on as string[]) {
|
|
320
|
+
adj.get(dep)!.push(task.id as string)
|
|
321
|
+
inDegree.set(task.id as string, (inDegree.get(task.id as string) ?? 0) + 1)
|
|
303
322
|
}
|
|
304
323
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
324
|
+
}
|
|
325
|
+
const queue = [...ids].filter(id => inDegree.get(id) === 0)
|
|
326
|
+
let visited = 0
|
|
327
|
+
while (queue.length > 0) {
|
|
328
|
+
const node = queue.shift()!
|
|
329
|
+
visited++
|
|
330
|
+
for (const next of adj.get(node) ?? []) {
|
|
331
|
+
const deg = (inDegree.get(next) ?? 1) - 1
|
|
332
|
+
inDegree.set(next, deg)
|
|
333
|
+
if (deg === 0) queue.push(next)
|
|
308
334
|
}
|
|
309
|
-
|
|
310
|
-
return parsed as unknown as TaskPlan
|
|
311
|
-
} catch {
|
|
312
|
-
return null
|
|
313
335
|
}
|
|
336
|
+
if (visited < ids.size) {
|
|
337
|
+
console.warn(` ⚠ parseTaskPlan: dependency cycle detected`)
|
|
338
|
+
return { plan: null, reason: 'dependency cycle detected' }
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
return { plan: parsed as unknown as TaskPlan }
|
|
314
342
|
}
|
|
315
343
|
|
|
316
344
|
/**
|
package/src/cli/pipeline.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { readFile, writeFile, mkdir } from 'node:fs/promises'
|
|
1
|
+
import { readFile, writeFile, mkdir, unlink } from 'node:fs/promises'
|
|
2
2
|
import { existsSync } from 'node:fs'
|
|
3
3
|
import { resolve } from 'node:path'
|
|
4
4
|
import { stringify } from 'yaml'
|
|
@@ -8,7 +8,7 @@ import type { PromptStepOptions } from './plan.js'
|
|
|
8
8
|
import { cleanupAdapters } from './run/adapters/index.js'
|
|
9
9
|
import type { CliContext } from './types.js'
|
|
10
10
|
import { parseYaml, validateSpec } from './run/schema.js'
|
|
11
|
-
import { buildConvoyYaml,
|
|
11
|
+
import { buildConvoyYaml, parseTaskPlanWithReason, parsePatches, applyPatches, deriveSpecEnrichment, detectJsonTruncation } from './convoy/spec-builder.js'
|
|
12
12
|
import type { TaskPlan, SpecEnrichment } from './convoy/spec-builder.js'
|
|
13
13
|
|
|
14
14
|
export interface ConvoyGroup {
|
|
@@ -738,10 +738,18 @@ export default async function pipeline({ args, pkgRoot }: CliContext): Promise<v
|
|
|
738
738
|
const convoyDir = resolve(process.cwd(), '.opencastle', 'convoys')
|
|
739
739
|
await mkdir(convoyDir, { recursive: true })
|
|
740
740
|
|
|
741
|
+
// Extract feature name early for convoy naming
|
|
742
|
+
const chainPrdContent = await readFile(prdPath, 'utf8')
|
|
743
|
+
const featureNameMatch = chainPrdContent.match(/^# (.+?)\s*(?:—|-)?\s*PRD/m)
|
|
744
|
+
const featureName = featureNameMatch
|
|
745
|
+
? featureNameMatch[1].trim().toLowerCase().replace(/[^a-z0-9]+/g, '-')
|
|
746
|
+
: 'feature'
|
|
747
|
+
|
|
741
748
|
const groupSpecPaths: string[] = []
|
|
742
749
|
|
|
743
750
|
for (let i = 0; i < complexity.convoy_groups.length; i++) {
|
|
744
751
|
const group = complexity.convoy_groups[i]
|
|
752
|
+
console.log(c.cyan(` [${i + 1}/${complexity.convoy_groups.length}] Generating convoy: ${group.name}`) + c.dim(` (phases: ${group.phases.join(', ')})`))
|
|
745
753
|
|
|
746
754
|
const chainGoal = [
|
|
747
755
|
complexity.original_prompt,
|
|
@@ -761,7 +769,7 @@ export default async function pipeline({ args, pkgRoot }: CliContext): Promise<v
|
|
|
761
769
|
const relevantPrd = extractRelevantPrdSections(prdContent, group.phases)
|
|
762
770
|
const relevantComplexity = filterTaskComplexityByPhases(complexity?.task_complexity, group.phases)
|
|
763
771
|
const contextForSpec = appendTaskComplexity(relevantPrd, relevantComplexity)
|
|
764
|
-
const groupSpecPath = resolve(convoyDir, `${group.name}.convoy.yml`)
|
|
772
|
+
const groupSpecPath = resolve(convoyDir, `${featureName}-${group.name}.convoy.yml`)
|
|
765
773
|
|
|
766
774
|
const { specPath: resolvedGroupSpecPath } = await generateAndValidateSpec({
|
|
767
775
|
sharedOpts,
|
|
@@ -770,18 +778,13 @@ export default async function pipeline({ args, pkgRoot }: CliContext): Promise<v
|
|
|
770
778
|
specPath: groupSpecPath,
|
|
771
779
|
skipValidation: opts.skipValidation,
|
|
772
780
|
groupName: group.name,
|
|
781
|
+
featureName,
|
|
773
782
|
enrichment: complexity ? deriveSpecEnrichment(complexity) : undefined,
|
|
774
783
|
})
|
|
775
784
|
groupSpecPaths.push(resolvedGroupSpecPath)
|
|
776
785
|
}
|
|
777
786
|
|
|
778
787
|
// Build master pipeline spec (version 2)
|
|
779
|
-
const chainPrdContent = await readFile(prdPath, 'utf8')
|
|
780
|
-
const featureNameMatch = chainPrdContent.match(/^# (.+?)\s*(?:—|-)?\s*PRD/m)
|
|
781
|
-
const featureName = featureNameMatch
|
|
782
|
-
? featureNameMatch[1].trim().toLowerCase().replace(/[^a-z0-9]+/g, '-')
|
|
783
|
-
: 'feature'
|
|
784
|
-
|
|
785
788
|
const branchMatch = chainPrdContent.match(/`feat\/([^`]+)`/)
|
|
786
789
|
const branch = branchMatch ? `feat/${branchMatch[1]}` : `feat/${featureName}`
|
|
787
790
|
|
|
@@ -948,6 +951,7 @@ async function generateAndValidateSpec(params: {
|
|
|
948
951
|
specPath?: string
|
|
949
952
|
skipValidation: boolean
|
|
950
953
|
groupName?: string
|
|
954
|
+
featureName?: string
|
|
951
955
|
enrichment?: SpecEnrichment
|
|
952
956
|
}): Promise<{ specPath: string; taskPlan: TaskPlan }> {
|
|
953
957
|
const label = params.groupName
|
|
@@ -955,6 +959,14 @@ async function generateAndValidateSpec(params: {
|
|
|
955
959
|
: 'Generating task plan…'
|
|
956
960
|
console.log(c.cyan(` ${label}`))
|
|
957
961
|
|
|
962
|
+
// Temp file for debugging — kept on failure, deleted on success
|
|
963
|
+
const convoyDir = resolve(process.cwd(), '.opencastle', 'convoys')
|
|
964
|
+
await mkdir(convoyDir, { recursive: true })
|
|
965
|
+
const tempJsonName = params.groupName
|
|
966
|
+
? `${params.featureName ? `${params.featureName}-` : ''}${params.groupName}.task-plan.json`
|
|
967
|
+
: `${params.featureName ?? 'task-plan'}.task-plan.json`
|
|
968
|
+
const tempJsonPath = resolve(convoyDir, tempJsonName)
|
|
969
|
+
|
|
958
970
|
let taskPlanResult
|
|
959
971
|
try {
|
|
960
972
|
taskPlanResult = await runPromptStep({
|
|
@@ -968,12 +980,15 @@ async function generateAndValidateSpec(params: {
|
|
|
968
980
|
process.exit(1)
|
|
969
981
|
}
|
|
970
982
|
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
}
|
|
983
|
+
// Write raw JSON to temp file for debugging
|
|
984
|
+
await writeFile(tempJsonPath, taskPlanResult.rawOutput + '\n', 'utf8')
|
|
985
|
+
|
|
986
|
+
let result = parseTaskPlanWithReason(taskPlanResult.rawOutput)
|
|
987
|
+
if (!result.plan) {
|
|
988
|
+
console.log(c.yellow(` ⚠ Failed to parse task plan JSON: ${result.reason}`))
|
|
989
|
+
console.log(c.dim(` Output length: ${taskPlanResult.rawOutput.length} chars`))
|
|
990
|
+
console.log(c.dim(` Temp file: ${relPath(tempJsonPath)}`))
|
|
991
|
+
console.log(c.yellow(` Retrying generation…\n`))
|
|
977
992
|
|
|
978
993
|
let retryResult
|
|
979
994
|
try {
|
|
@@ -988,21 +1003,24 @@ async function generateAndValidateSpec(params: {
|
|
|
988
1003
|
process.exit(1)
|
|
989
1004
|
}
|
|
990
1005
|
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
}
|
|
999
|
-
|
|
1000
|
-
}
|
|
1001
|
-
console.error(c.dim(retryResult.rawOutput.slice(0, 500)))
|
|
1006
|
+
// Overwrite temp file with retry output
|
|
1007
|
+
await writeFile(tempJsonPath, retryResult.rawOutput + '\n', 'utf8')
|
|
1008
|
+
|
|
1009
|
+
result = parseTaskPlanWithReason(retryResult.rawOutput)
|
|
1010
|
+
if (!result.plan) {
|
|
1011
|
+
console.error(` ✗ Failed to parse task plan JSON after retry: ${result.reason}`)
|
|
1012
|
+
console.error(c.dim(` Output length: ${retryResult.rawOutput.length} chars`))
|
|
1013
|
+
console.error(c.dim(` Raw JSON saved to ${relPath(tempJsonPath)} for inspection.`))
|
|
1014
|
+
console.error(c.dim(`\n${retryResult.rawOutput}`))
|
|
1002
1015
|
process.exit(1)
|
|
1003
1016
|
}
|
|
1004
1017
|
}
|
|
1005
1018
|
|
|
1019
|
+
let taskPlan = result.plan
|
|
1020
|
+
|
|
1021
|
+
// Success — clean up temp file
|
|
1022
|
+
await unlink(tempJsonPath).catch(() => {})
|
|
1023
|
+
|
|
1006
1024
|
console.log(c.green(` ✓ Task plan generated (${taskPlan.tasks.length} tasks)`))
|
|
1007
1025
|
|
|
1008
1026
|
// Derive spec path from plan name if not provided
|
package/src/cli/plan.ts
CHANGED
|
@@ -363,6 +363,10 @@ export async function runPromptStep(opts: PromptStepOptions): Promise<PromptStep
|
|
|
363
363
|
max_retries: 1,
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
if (opts.verbose) {
|
|
367
|
+
console.log(c.dim(` Adapter: ${adapterName} | Template: ${templateName} | Agent: ${agentField}`))
|
|
368
|
+
}
|
|
369
|
+
|
|
366
370
|
const stop = opts.verbose ? null : startProgress(templateName)
|
|
367
371
|
let execResult
|
|
368
372
|
try {
|
|
@@ -373,8 +377,20 @@ export async function runPromptStep(opts: PromptStepOptions): Promise<PromptStep
|
|
|
373
377
|
} finally {
|
|
374
378
|
stop?.()
|
|
375
379
|
}
|
|
380
|
+
|
|
381
|
+
if (!execResult.success) {
|
|
382
|
+
throw new Error(
|
|
383
|
+
`Adapter "${adapterName}" returned failure (exit code ${execResult.exitCode}) for template "${templateName}".\n` +
|
|
384
|
+
`Output (${execResult.output.length} chars):\n${execResult.output.slice(0, 2000)}`
|
|
385
|
+
)
|
|
386
|
+
}
|
|
387
|
+
|
|
376
388
|
const rawOutput = execResult.output
|
|
377
389
|
|
|
390
|
+
if (opts.verbose) {
|
|
391
|
+
console.log(c.dim(` Output: ${rawOutput.length} chars | Exit code: ${execResult.exitCode}`))
|
|
392
|
+
}
|
|
393
|
+
|
|
378
394
|
if (outputType === 'validation') {
|
|
379
395
|
const { isValid, errors } = parseValidationResult(rawOutput)
|
|
380
396
|
return { outputPath: null, rawOutput, outputType, isValid, errors }
|
|
@@ -386,11 +402,11 @@ export async function runPromptStep(opts: PromptStepOptions): Promise<PromptStep
|
|
|
386
402
|
// since task prompts may contain triple backticks in code examples
|
|
387
403
|
const jsonFenceMatch = rawOutput.match(/```json\s*\n([\s\S]*)```/)
|
|
388
404
|
if (!jsonFenceMatch) {
|
|
389
|
-
const preview = rawOutput.slice(0, 300)
|
|
390
405
|
throw new Error(
|
|
391
406
|
`Expected a fenced \`\`\`json block in the AI response but found none.\n\n` +
|
|
392
|
-
`
|
|
393
|
-
`
|
|
407
|
+
`Adapter: ${adapterName} | Output length: ${rawOutput.length} chars\n\n` +
|
|
408
|
+
`Raw output:\n${rawOutput}\n\n` +
|
|
409
|
+
`Tip: re-run with --verbose to see the full adapter output.`
|
|
394
410
|
)
|
|
395
411
|
}
|
|
396
412
|
const jsonContent = jsonFenceMatch[1].trim()
|
|
@@ -419,7 +435,7 @@ export async function runPromptStep(opts: PromptStepOptions): Promise<PromptStep
|
|
|
419
435
|
// convoy-spec (default)
|
|
420
436
|
const yamlContent = extractYamlBlock(rawOutput)
|
|
421
437
|
if (!yamlContent) {
|
|
422
|
-
const preview = rawOutput.slice(0,
|
|
438
|
+
const preview = rawOutput.slice(0, 10_000)
|
|
423
439
|
throw new Error(
|
|
424
440
|
`No YAML code block found in the agent response.\n\nRaw output (truncated):\n${preview}`
|
|
425
441
|
)
|
|
@@ -51,21 +51,21 @@
|
|
|
51
51
|
"name": "docs/api-v2-contract.json",
|
|
52
52
|
"type": "json",
|
|
53
53
|
"task_id": "api-t1",
|
|
54
|
-
"created_at": "2026-03-
|
|
54
|
+
"created_at": "2026-03-19T08:38:59.892Z"
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
57
|
"id": "artifact-demo-api-v2-reports-security-gate-failure-md",
|
|
58
58
|
"name": "reports/security-gate-failure.md",
|
|
59
59
|
"type": "summary",
|
|
60
60
|
"task_id": "api-t3",
|
|
61
|
-
"created_at": "2026-03-
|
|
61
|
+
"created_at": "2026-03-19T08:38:59.892Z"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"id": "artifact-demo-api-v2-src-api-rate-limiter-ts",
|
|
65
65
|
"name": "src/api/rate-limiter.ts",
|
|
66
66
|
"type": "file",
|
|
67
67
|
"task_id": "api-t2",
|
|
68
|
-
"created_at": "2026-03-
|
|
68
|
+
"created_at": "2026-03-19T08:38:59.892Z"
|
|
69
69
|
}
|
|
70
70
|
],
|
|
71
71
|
"has_more_events": false,
|
|
@@ -42,28 +42,28 @@
|
|
|
42
42
|
"name": "libs/auth/src/jwt-middleware.ts",
|
|
43
43
|
"type": "file",
|
|
44
44
|
"task_id": "auth-t2",
|
|
45
|
-
"created_at": "2026-03-
|
|
45
|
+
"created_at": "2026-03-19T08:38:59.891Z"
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
"id": "artifact-demo-auth-revamp-libs-auth-src-rls-policies-sql",
|
|
49
49
|
"name": "libs/auth/src/rls-policies.sql",
|
|
50
50
|
"type": "file",
|
|
51
51
|
"task_id": "auth-t3",
|
|
52
|
-
"created_at": "2026-03-
|
|
52
|
+
"created_at": "2026-03-19T08:38:59.891Z"
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"id": "artifact-demo-auth-revamp-reports-auth-review-summary-md",
|
|
56
56
|
"name": "reports/auth-review-summary.md",
|
|
57
57
|
"type": "summary",
|
|
58
58
|
"task_id": "auth-t5",
|
|
59
|
-
"created_at": "2026-03-
|
|
59
|
+
"created_at": "2026-03-19T08:38:59.891Z"
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
"id": "artifact-demo-auth-revamp-tests-auth-integration-test-ts",
|
|
63
63
|
"name": "tests/auth/integration.test.ts",
|
|
64
64
|
"type": "file",
|
|
65
65
|
"task_id": "auth-t4",
|
|
66
|
-
"created_at": "2026-03-
|
|
66
|
+
"created_at": "2026-03-19T08:38:59.891Z"
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
69
|
"has_more_events": false,
|