dify/e2e/features/agent-v2/support/tools.ts
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

25 lines
1.0 KiB
TypeScript

import type { DifyWorld } from '../../support/world'
import { splitToolDisplayName, splitToolResourceId } from './preflight/tools'
export const getPreseededToolContract = (world: DifyWorld, resourceName: string) => {
const resource = world.agentBuilder.preflight.preseededResources[resourceName]
if (!resource || resource.kind !== 'tool') {
throw new Error(
`Preseeded tool "${resourceName}" is not available. Run the matching preflight step first.`,
)
}
const parsedDisplayName = splitToolDisplayName(resource.name)
const parsedToolId = splitToolResourceId(resource.id)
if (!parsedDisplayName.ok) throw new Error(parsedDisplayName.reason)
if (!parsedToolId.providerName || !parsedToolId.toolName)
throw new Error(`Preseeded tool "${resource.id}" must include provider and tool id segments.`)
return {
providerDisplayName: parsedDisplayName.providerName,
providerName: parsedToolId.providerName,
toolDisplayName: parsedDisplayName.toolName,
toolName: parsedToolId.toolName,
}
}