39 lines
962 B
JavaScript
39 lines
962 B
JavaScript
![]() |
import { Tool } from "langchain/tools"
|
||
|
import { create_image } from "../../tools/agent"
|
||
|
|
||
|
export class SolanaCreateImageTool extends Tool {
|
||
|
name = "solana_create_image"
|
||
|
description =
|
||
|
"Create an image using OpenAI's DALL-E. Input should be a string prompt for the image."
|
||
|
|
||
|
constructor(solanaKit) {
|
||
|
super()
|
||
|
this.solanaKit = solanaKit
|
||
|
}
|
||
|
|
||
|
validateInput(input) {
|
||
|
if (typeof input !== "string" || input.trim().length === 0) {
|
||
|
throw new Error("Input must be a non-empty string prompt")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
async _call(input) {
|
||
|
try {
|
||
|
this.validateInput(input)
|
||
|
const result = await create_image(this.solanaKit, input.trim())
|
||
|
|
||
|
return JSON.stringify({
|
||
|
status: "success",
|
||
|
message: "Image created successfully",
|
||
|
...result
|
||
|
})
|
||
|
} catch (error) {
|
||
|
return JSON.stringify({
|
||
|
status: "error",
|
||
|
message: error.message,
|
||
|
code: error.code || "UNKNOWN_ERROR"
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
}
|