// Parent workflow expects: { concept, throttleMaxKnownCompetitors, linksAlreadyFound }
export const findKnownCompetitorsWorkflow = createWorkflow({
id: "findKnownCompetitorsWorkflow",
inputSchema: z.object({
concept: conceptAnalysisSchema,
throttleMaxKnownCompetitors: z.number(),
linksAlreadyFound: z.array(linkSchema).default([]),
}),
outputSchema: z.object({
competitions: z.array(competitionSchema),
}),
steps: [getAiLinks, crawlLinksWorkflow, classifyCompetitionsStep],
});
// Workflow chain with proper data mapping
findKnownCompetitorsWorkflow
.then(getAiLinks)
.map({
// Correctly mapping to what crawlLinksWorkflow expects
links: {
step: getAiLinks,
path: "links",
},
analysis: {
initData: findKnownCompetitorsWorkflow,
path: "concept.analysis",
},
iteration: {
value: 0,
schema: z.number(),
},
})
.then(crawlLinksWorkflow) // ❌ Type error here!
// Parent workflow expects: { concept, throttleMaxKnownCompetitors, linksAlreadyFound }
export const findKnownCompetitorsWorkflow = createWorkflow({
id: "findKnownCompetitorsWorkflow",
inputSchema: z.object({
concept: conceptAnalysisSchema,
throttleMaxKnownCompetitors: z.number(),
linksAlreadyFound: z.array(linkSchema).default([]),
}),
outputSchema: z.object({
competitions: z.array(competitionSchema),
}),
steps: [getAiLinks, crawlLinksWorkflow, classifyCompetitionsStep],
});
// Workflow chain with proper data mapping
findKnownCompetitorsWorkflow
.then(getAiLinks)
.map({
// Correctly mapping to what crawlLinksWorkflow expects
links: {
step: getAiLinks,
path: "links",
},
analysis: {
initData: findKnownCompetitorsWorkflow,
path: "concept.analysis",
},
iteration: {
value: 0,
schema: z.number(),
},
})
.then(crawlLinksWorkflow) // ❌ Type error here!