Workflow
Mastra는 다음에서 프로젝트 수준의 Workflow를 발견합니다..ts그리고.js아래의 파일src/mastra/workflows/. 이 규칙은 하나의 Agent로 범위가 지정되지 않습니다. 기본 내보내기가 포함된 모든 파일은 등록된 Workflow가 되고 파일 이름은 Workflow 키가 됩니다.
파일 기반 규칙에 대해서는 이 페이지를 사용하십시오. 단계, 스키마, 제어 흐름, 스트리밍, 상태 및 Workflow 실행은 다음을 참조하세요.Workflows overview.
빠른 시작빠른 시작에 대한 직접 링크
src/mastra/workflows/ 아래에 파일을 만들고 createWorkflow()로 Workflow를 빌드한 다음 기본 내보내기하세요.
src/mastra/workflows/daily-report.ts
import { createStep, createWorkflow } from '@mastra/core/workflows'
import { z } from 'zod'
const collectInputs = createStep({
id: 'collect-inputs',
inputSchema: z.object({ topic: z.string() }),
outputSchema: z.object({ topic: z.string(), audience: z.string() }),
execute: async ({ inputData }) => ({
topic: inputData.topic,
audience: 'engineering',
}),
})
const writeSummary = createStep({
id: 'write-summary',
inputSchema: z.object({ topic: z.string(), audience: z.string() }),
outputSchema: z.object({ report: z.string() }),
execute: async ({ inputData }) => ({
report: `Daily report about ${inputData.topic} for ${inputData.audience}.`,
}),
})
const dailyReport = createWorkflow({
id: 'daily-report',
inputSchema: z.object({ topic: z.string() }),
outputSchema: z.object({ report: z.string() }),
})
.then(collectInputs)
.then(writeSummary)
.commit()
export default dailyReport
Mastra는 이 작업 흐름을daily-report key.
코드 우선순위코드 우선순위에 대한 직접 링크
파일 기반 Workflow는 new Mastra()에 등록된 Workflow와 병합됩니다. 키가 충돌하면 코드로 등록한 Workflow가 우선합니다.