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.
Files changed (32) hide show
  1. package/README.md +4 -4
  2. package/dist/cli/convoy/spec-builder.d.ts +11 -0
  3. package/dist/cli/convoy/spec-builder.d.ts.map +1 -1
  4. package/dist/cli/convoy/spec-builder.js +77 -63
  5. package/dist/cli/convoy/spec-builder.js.map +1 -1
  6. package/dist/cli/pipeline.d.ts.map +1 -1
  7. package/dist/cli/pipeline.js +37 -26
  8. package/dist/cli/pipeline.js.map +1 -1
  9. package/dist/cli/plan.d.ts.map +1 -1
  10. package/dist/cli/plan.js +14 -4
  11. package/dist/cli/plan.js.map +1 -1
  12. package/package.json +3 -3
  13. package/src/cli/convoy/spec-builder.ts +87 -59
  14. package/src/cli/pipeline.ts +44 -26
  15. package/src/cli/plan.ts +20 -4
  16. package/src/dashboard/dist/data/convoys/demo-api-v2.json +3 -3
  17. package/src/dashboard/dist/data/convoys/demo-auth-revamp.json +4 -4
  18. package/src/dashboard/dist/data/convoys/demo-dashboard-ui.json +12 -12
  19. package/src/dashboard/dist/data/convoys/demo-data-pipeline.json +3 -3
  20. package/src/dashboard/dist/data/convoys/demo-deploy-ci.json +1 -1
  21. package/src/dashboard/dist/data/convoys/demo-docs-update.json +3 -3
  22. package/src/dashboard/dist/data/convoys/demo-perf-opt.json +10 -10
  23. package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
  24. package/src/dashboard/public/data/convoys/demo-api-v2.json +3 -3
  25. package/src/dashboard/public/data/convoys/demo-auth-revamp.json +4 -4
  26. package/src/dashboard/public/data/convoys/demo-dashboard-ui.json +12 -12
  27. package/src/dashboard/public/data/convoys/demo-data-pipeline.json +3 -3
  28. package/src/dashboard/public/data/convoys/demo-deploy-ci.json +1 -1
  29. package/src/dashboard/public/data/convoys/demo-docs-update.json +3 -3
  30. package/src/dashboard/public/data/convoys/demo-perf-opt.json +10 -10
  31. package/src/orchestrator/prompts/generate-convoy.prompt.md +33 -19
  32. 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
- `Raw output (truncated):\n${preview}\n\n` +
310
- `Tip: re-run with --verbose to see the full output.`);
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, 500);
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;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAA;AAI/B,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBZ,CAAA;AAqDD,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,eAAwB,EAAE,WAAmB;IACtE,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CACX,wCAAwC;YACtC,8CAA8C;YAC9C,4FAA4F;YAC5F,+DAA+D;YAC/D,gEAAgE;YAChE,0CAA0C;YAC1C,IAAI;YACJ,wEAAwE,CAC3E,CAAA;IACH,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAA2B;YACpC,MAAM,EACJ,yDAAyD;gBACzD,6DAA6D;YAC/D,OAAO,EACL,6DAA6D;gBAC7D,6EAA6E;gBAC7E,iDAAiD;YACnD,MAAM,EACJ,0DAA0D;gBAC1D,6DAA6D;gBAC7D,6DAA6D;YAC/D,QAAQ,EACN,iDAAiD;gBACjD,oDAAoD;SACvD,CAAA;QACD,MAAM,OAAO,GAAG,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAA;QAChE,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,CAAC,KAAK,CACX,gBAAgB,WAAW,uBAAuB;YAChD,sBAAsB,OAAO,wCAAwC;YACrE,IAAI,CACP,CAAA;IACH,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAA;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAA;IAC/E,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAA;AAC3D,CAAC;AAED,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK;QAAE,OAAO,MAAM,CAAA;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAA;IAC/E,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,MAAM,CAAA;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;QACtE,IAAI,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC/C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,gEAAgE;AAChE,SAAS,gBAAgB,CAAC,IAAY;IACpC,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACzD,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAEzC,qEAAqE;IACrE,yEAAyE;IACzE,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAA;IAClE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAA;IACzE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACpE,IAAI,YAAY;QAAE,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;IAClE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACjG,IAAI,KAAK;YAAE,OAAO,GAAG,KAAK,aAAa,CAAA;IACzC,CAAC;IACD,OAAO,wBAAwB,CAAA;AACjC,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;IACzE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC;aAC1B,IAAI,EAAE;aACN,WAAW,EAAE;aACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;aAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACxB,IAAI,KAAK;YAAE,OAAO,GAAG,KAAK,SAAS,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,SAAS,CAAA;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,gCAAgC;IAChC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/E,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAE/C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACvC,4DAA4D;IAC5D,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC7E,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7C,CAAC;IAED,yDAAyD;IACzD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IAEpE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAAC,MAAc;IAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAE7B,+CAA+C;IAC/C,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACjE,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAA2C,CAAA;YAC7F,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,KAAK;oBAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;gBACtD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC3E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;YACnC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qDAAqD;QACvD,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1C,IAAI,QAAQ,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AAClF,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEzE,MAAM,iBAAiB,GAA2B;IAChD,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,yBAAyB;IAC5C,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,yBAAyB;IAC5C,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,qBAAqB;CACpC,CAAA;AAED,8GAA8G;AAC9G,SAAS,aAAa,CAAC,YAAoB;IACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,WAAW,YAAY,GAAG,CAAA;IAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAE,CAAA;QAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,CAAA;QACtE,KAAK,EAAE,CAAA;IACT,CAAC,EAAE,GAAG,CAAC,CAAA;IACP,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,QAAQ,CAAC,CAAA;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IACpD,CAAC,CAAA;AACH,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAuB;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,iBAAiB,CAAA;IAEvD,MAAM,YAAY,GAAG,IAAI,CACvB,IAAI,CAAC,OAAO,EACZ,KAAK,EACL,cAAc,EACd,SAAS,EACT,GAAG,YAAY,YAAY,CAC5B,CAAA;IACD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IACxD,MAAM,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IACjD,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAkD,CAAA;IAC5G,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;IAE9C,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAA;IACrC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QACnF,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,cAAc,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IAC3C,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACjG,cAAc,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ;SAC7B,OAAO,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC;SAC5C,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAA;IAErD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,YAAY,iCAAiC,CAAC,CAAC,CAAC,CAAA;QAChF,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;QAC5B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,CAAA;IACrE,CAAC;IAED,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IACxC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,MAAM,aAAa,EAAE,CAAA;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,WAAW,GAAG,QAAQ,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAA;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACrC,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACnC,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QACrC,MAAM,IAAI,KAAK,CAAC,YAAY,WAAW,oBAAoB,CAAC,CAAA;IAC9D,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3F,MAAM,IAAI,GAAS;QACjB,EAAE,EAAE,YAAY;QAChB,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,IAAI,YAAY;QACvD,WAAW,EAAE,CAAC;KACf,CAAA;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IAC9D,IAAI,UAAU,CAAA;IACd,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;YAC9B,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAA;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,EAAE,CAAA;IACV,CAAC;IACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAA;IAEnC,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;QAC5D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IACrE,CAAC;IAED,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,kEAAkE;QAClE,iEAAiE;QACjE,mEAAmE;QACnE,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAClE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YACvC,MAAM,IAAI,KAAK,CACb,2EAA2E;gBAC3E,4BAA4B,OAAO,MAAM;gBACzC,oDAAoD,CACrD,CAAA;QACH,CAAC;QACD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;QAC1C,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QACzD,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAC9C,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;QACxC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;YAC5D,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;QACnD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;IAC9C,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,IAAI,KAAK,CACb,+EAA+E,OAAO,EAAE,CACzF,CAAA;IACH,CAAC;IAED,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,CAAC;QACH,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,KAAK,CAAA;QACnB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC,CAAA;IACvG,CAAC;IAED,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;IACxC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAClE,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,SAAS,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,EAAE,MAAM,CAAC,CAAA;IAEvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAA;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB;IAC7D,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC;QACxC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;KAC9B,CAAA;IAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAQ;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAA;YAEzD,iEAAiE;YACjE,oEAAoE;YACpE,MAAM,UAAU,GACb,MAAM,CAAC,SAAS,CAAyC;gBACzD,MAAM,CAAC,YAAY,CAAyC,CAAA;YAE/D,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ;gBAAE,SAAQ;YAE3D,OAAO,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;gBACpD,MAAM,CAAC,GAAG,GAA8B,CAAA;gBACxC,MAAM,MAAM,GAAoB,EAAE,IAAI,EAAE,IAAI,EAAG,CAAC,CAAC,MAAM,CAAY,IAAI,OAAO,EAAE,CAAA;gBAChF,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,QAAQ;oBAAE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;gBACnE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAa,CAAA;gBACjE,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ;oBAAE,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;gBACvD,OAAO,MAAM,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,+EAA+E;AAE/E,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,IAAI,GAAgB;QACxB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,IAAI;QACjB,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,KAAK;KACZ,CAAA;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBAChB,MAAK;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC1F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrB,MAAK;YACP,KAAK,QAAQ,CAAC;YACd,KAAK,IAAI;gBACP,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC3F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrB,MAAK;YACP,KAAK,YAAY;gBACf,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC9F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACzB,MAAK;YACP,KAAK,WAAW;gBACd,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxB,MAAK;YACP,KAAK,gBAAgB;gBACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBACnG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC5B,MAAK;YACP,KAAK,UAAU,CAAC;YAChB,KAAK,IAAI;gBACP,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACvB,MAAK;YACP,KAAK,WAAW,CAAC;YACjB,KAAK,IAAI;gBACP,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBAAC,CAAC;gBAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;gBACxB,MAAK;YACP,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;gBACnB,MAAK;YACP,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;gBAClB,MAAK;YACP;gBACE,OAAO,CAAC,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;gBAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,+EAA+E;AAE/E,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAc;IAC9D,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAE5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,OAAM;IACR,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1E,IAAI,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI;QACtB,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;IAEpF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,MAAM,IAAI,CAAC,CAAC,CAAA;IAE7C,IAAI,MAAwB,CAAA;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,aAAa,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;YAChC,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;YACtC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YAC1C,UAAU;YACV,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,IAAI,CAAC,MAAM;QAAE,OAAM;IAEvB,QAAQ,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAA;gBACnC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;gBAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;YACD,MAAK;QACP,CAAC;QACD,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC1D,CAAC,CAAC,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpD,CAAC,CAAC,MAAM,CAAC,UAAW,CAAA;YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC,CAAA;YACrD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,2BAA2B,OAAO,0BAA0B,CAAC,CAAA;YACnG,MAAK;QACP,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACtD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAA;gBACrB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAA;YACrD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC7B,MAAK;QACP,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,OAAO,GAAG,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAC1D,CAAC,CAAC,MAAM,CAAC,UAAW,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpD,CAAC,CAAC,MAAM,CAAC,UAAW,CAAA;YACtB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC,CAAA;YAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAA;YACrF,CAAC;YACD,OAAO,CAAC,GAAG,CAAC;IACd,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,0BAA0B,OAAO;IAClD,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,0BAA0B,OAAO;CACrD,CAAC,CAAA;QACE,CAAC;IACH,CAAC;IAED,MAAM,eAAe,EAAE,CAAA;AACzB,CAAC"}
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.9",
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/etylsarin/opencastle.git"
28
+ "url": "git+https://github.com/monkilabs/opencastle.git"
29
29
  },
30
30
  "bugs": {
31
- "url": "https://github.com/etylsarin/opencastle/issues"
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
- const parsed = JSON.parse(jsonText.trim()) as Record<string, unknown>
245
- if (!parsed || typeof parsed.name !== 'string') return null
246
- if (!Array.isArray(parsed.tasks) || (parsed.tasks as unknown[]).length === 0) return null
247
- for (const task of parsed.tasks as unknown[]) {
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
- // Validate unique task IDs
254
- const tasks = parsed.tasks as Array<Record<string, unknown>>
255
- const ids = new Set<string>()
256
- const duplicates: string[] = []
257
- for (const task of tasks) {
258
- const id = task.id as string
259
- if (ids.has(id)) duplicates.push(id)
260
- ids.add(id)
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 (duplicates.length > 0) {
263
- console.warn(` ⚠ parseTaskPlan: duplicate task IDs: ${duplicates.join(', ')}`)
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
- // Validate depends_on references
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
- // Cycle detection (Kahn's algorithm)
280
- const inDegree = new Map<string, number>()
281
- const adj = new Map<string, string[]>()
282
- for (const id of ids) {
283
- inDegree.set(id, 0)
284
- adj.set(id, [])
285
- }
286
- for (const task of tasks) {
287
- if (Array.isArray(task.depends_on)) {
288
- for (const dep of task.depends_on as string[]) {
289
- adj.get(dep)!.push(task.id as string)
290
- inDegree.set(task.id as string, (inDegree.get(task.id as string) ?? 0) + 1)
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
- const queue = [...ids].filter(id => inDegree.get(id) === 0)
295
- let visited = 0
296
- while (queue.length > 0) {
297
- const node = queue.shift()!
298
- visited++
299
- for (const next of adj.get(node) ?? []) {
300
- const deg = (inDegree.get(next) ?? 1) - 1
301
- inDegree.set(next, deg)
302
- if (deg === 0) queue.push(next)
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
- if (visited < ids.size) {
306
- console.warn(` ⚠ parseTaskPlan: dependency cycle detected`)
307
- return null
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
  /**
@@ -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, parseTaskPlan, parsePatches, applyPatches, deriveSpecEnrichment, detectJsonTruncation } from './convoy/spec-builder.js'
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
- let taskPlan = parseTaskPlan(taskPlanResult.rawOutput)
972
- if (!taskPlan) {
973
- console.log(c.yellow(` ⚠ Failed to parse task plan JSON — retrying generation…\n`))
974
- if (params.sharedOpts.verbose) {
975
- console.log(c.dim(taskPlanResult.rawOutput.slice(0, 500)))
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
- taskPlan = parseTaskPlan(retryResult.rawOutput)
992
- if (!taskPlan) {
993
- const truncation = detectJsonTruncation(retryResult.rawOutput)
994
- if (truncation) {
995
- console.error(` ✗ Task plan JSON was truncated: ${truncation}`)
996
- console.error(c.dim(`\n The AI model ran out of output tokens before finishing the JSON.`))
997
- console.error(c.dim(` Try reducing the PRD size or re-running with a model that supports longer output.`))
998
- } else {
999
- console.error(' ✗ Failed to parse task plan JSON after retry')
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
- `Raw output (truncated):\n${preview}\n\n` +
393
- `Tip: re-run with --verbose to see the full output.`
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, 500)
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-18T15:52:51.142Z"
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-18T15:52:51.142Z"
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-18T15:52:51.142Z"
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-18T15:52:51.141Z"
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-18T15:52:51.141Z"
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-18T15:52:51.141Z"
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-18T15:52:51.141Z"
66
+ "created_at": "2026-03-19T08:38:59.891Z"
67
67
  }
68
68
  ],
69
69
  "has_more_events": false,