*/ class ExamplePrompt implements MetadataInterface, PromptGetterInterface { public function get(GetPromptRequest $request): GetPromptResult { $firstName = $request->arguments['firstName'] ?? null; return new GetPromptResult( [new PromptMessage( Role::User, new TextContent(\sprintf('Hello %s', $firstName ?? 'World')), )], $this->getDescription(), ); } public function getName(): string { return 'Greet'; } public function getDescription(): ?string { return 'Greet a person with a nice message'; } public function getArguments(): array { return [ [ 'name' => 'first name', 'description' => 'The name of the person to greet', 'required' => false, ], ]; } }