Skip to content

Conversation

@voltagent-bot
Copy link
Member

@voltagent-bot voltagent-bot commented Jan 15, 2026

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@voltagent/[email protected]

Patch Changes

  • 44c4386 Thanks @omeraplak! - feat: add feedback tokens + metadata support in the core agent runtime.

    VoltAgent can create feedback tokens via VoltOps and attach feedback metadata to assistant messages (including streaming), so UIs can render ratings later.

    const result = await agent.generateText("Rate this answer", {
      feedback: true,
    });
    
    console.log(result.feedback);
    const stream = await agent.streamText("Explain this trace", {
      feedback: true,
    });
    
    for await (const _chunk of stream.textStream) {
      // consume stream output
    }
    
    console.log(stream.feedback);

    useChat (AI SDK compatible):

    import { useChat } from "@ai-sdk/react";
    import { DefaultChatTransport } from "ai";
    
    const transport = new DefaultChatTransport({
      api: `${apiUrl}/agents/${agentId}/chat`,
      prepareSendMessagesRequest({ messages }) {
        const lastMessage = messages[messages.length - 1];
        return {
          body: {
            input: [lastMessage],
            options: {
              feedback: {
                key: "satisfaction",
                feedbackConfig: {
                  type: "categorical",
                  categories: [
                    { value: 1, label: "Satisfied" },
                    { value: 0, label: "Unsatisfied" },
                  ],
                },
              },
            },
          },
        };
      },
    });
    
    const { messages } = useChat({ transport });
    
    async function submitFeedback(message: any, score: number) {
      const feedback = message?.metadata?.feedback;
      if (!feedback?.url) return;
    
      await fetch(feedback.url, {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          score,
          comment: "Helpful response",
          feedback_source_type: "app",
        }),
      });
    }

    REST API (token + ingest):

    curl -X POST "https://api.voltagent.dev/api/public/feedback/tokens" \
      -H "X-Public-Key: $VOLTAGENT_PUBLIC_KEY" \
      -H "X-Secret-Key: $VOLTAGENT_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "trace_id": "trace-id",
        "feedback_key": "satisfaction",
        "expires_in": { "hours": 6 },
        "feedback_config": {
          "type": "categorical",
          "categories": [
            { "value": 1, "label": "Satisfied" },
            { "value": 0, "label": "Unsatisfied" }
          ]
        }
      }'
    curl -X POST "https://api.voltagent.dev/api/public/feedback/ingest/token-id" \
      -H "Content-Type: application/json" \
      -d '{
        "score": 1,
        "comment": "Resolved my issue",
        "feedback_source_type": "app"
      }'

Summary by cubic

Release @voltagent/core 2.0.11 and bump all example apps to use it. This patch adds feedback tokens and feedback metadata in the agent runtime so UIs can collect and submit ratings.

  • New Features

    • Create feedback tokens via VoltOps and attach feedback metadata to assistant messages and streams.
    • Compatible with useChat; exposes a feedback ingestion URL for posting scores.
  • Dependencies

    • Update @voltagent/core to ^2.0.11 across examples.
    • Refresh pnpm-lock.yaml and remove the consumed changeset file.

Written for commit 5d2d5e0. Summary will update on new commits.

Summary by CodeRabbit

  • New Features

    • Added support for feedback tokens and metadata on assistant messages, including streaming messages
    • Enables collection of user feedback and ratings through the UI via REST API endpoints
  • Chores

    • Updated core package and all example projects to version 2.0.11

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 15, 2026

Caution

Review failed

The pull request is closed.

📝 Walkthrough

Walkthrough

This PR consolidates feedback token and metadata support documentation into the official changelog, removes the temporary changeset entry, and bumps the @voltagent/core package version from 2.0.10 to 2.0.11 across the core package and all example projects.

Changes

Cohort / File(s) Summary
Core Release Files
packages/core/package.json, packages/core/CHANGELOG.md
Version bump to 2.0.11 in core package; official changelog entry added documenting feedback tokens and metadata support feature (107 lines), enabling VoltAgent to create feedback tokens via VoltOps and attach feedback metadata to assistant messages.
Temporary Changeset
.changeset/quiet-heads-nail.md
Temporary changeset file removed (106 lines); content migrated to official CHANGELOG.
Example Projects
examples/*/package.json (54 files)
Dependency version bumps for @voltagent/core from ^2.0.10 to ^2.0.11 across all example projects including base, github-repo-analyzer, github-star-stories, next-js-chatbot-starter-template, with-a2a-server, with-agent-tool, with-airtable, with-amazon-bedrock, with-anthropic, with-auth, with-cerbos, with-chroma, with-client-side-tools, with-cloudflare-workers, with-composio-mcp, with-custom-endpoints, with-dynamic-parameters, with-dynamic-prompts, with-feedback, with-google-ai, with-google-drive-mcp, with-google-vertex-ai, with-groq-ai, with-guardrails, with-hooks, with-hugging-face-mcp, with-langfuse, with-mcp-elicitation, with-mcp-server, with-mcp, with-memory-rest-api, with-nestjs, with-netlify-functions, with-nextjs-resumable-stream, with-nextjs, with-nuxt, with-offline-evals, with-ollama, with-peaka-mcp, with-pinecone, with-planagents, with-playwright, with-postgres, with-qdrant, with-rag-chatbot, with-recipe-generator, with-research-assistant, with-resumable-streams, with-retrieval, with-slack, with-subagents, with-supabase, with-tavily-search, with-thinking-tool, with-tools, with-turso, with-vector-search, with-vercel-ai, with-viteval, with-voice-elevenlabs, with-voice-openai, with-voice-xsai, with-voltagent-actions, with-voltagent-exporter, with-voltagent-managed-memory, with-voltops-resumable-streams, with-voltops-retrieval, with-whatsapp, with-workflow, with-working-memory, with-youtube-to-blog, with-zapier-mcp.

Possibly Related PRs

  • feat: add feedback #940: Implements the feedback tokens and metadata support feature that this PR documents and releases in version 2.0.11.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Poem

🐰 Hop, hop, hooray! The versions all align,
From 2.0.10 to .11, everything's so fine!
Changelog consolidated with festive care,
Feedback tokens ready—let's show them everywhere! ✨



📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 44c4386 and 5d2d5e0.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (75)
  • .changeset/quiet-heads-nail.md
  • examples/base/package.json
  • examples/github-repo-analyzer/package.json
  • examples/github-star-stories/package.json
  • examples/next-js-chatbot-starter-template/package.json
  • examples/with-a2a-server/package.json
  • examples/with-agent-tool/package.json
  • examples/with-airtable/package.json
  • examples/with-amazon-bedrock/package.json
  • examples/with-anthropic/package.json
  • examples/with-auth/package.json
  • examples/with-cerbos/package.json
  • examples/with-chroma/package.json
  • examples/with-client-side-tools/package.json
  • examples/with-cloudflare-workers/package.json
  • examples/with-composio-mcp/package.json
  • examples/with-custom-endpoints/package.json
  • examples/with-dynamic-parameters/package.json
  • examples/with-dynamic-prompts/package.json
  • examples/with-feedback/package.json
  • examples/with-google-ai/package.json
  • examples/with-google-drive-mcp/server/package.json
  • examples/with-google-vertex-ai/package.json
  • examples/with-groq-ai/package.json
  • examples/with-guardrails/package.json
  • examples/with-hooks/package.json
  • examples/with-hugging-face-mcp/package.json
  • examples/with-langfuse/package.json
  • examples/with-mcp-elicitation/package.json
  • examples/with-mcp-server/package.json
  • examples/with-mcp/package.json
  • examples/with-memory-rest-api/package.json
  • examples/with-nestjs/package.json
  • examples/with-netlify-functions/package.json
  • examples/with-nextjs-resumable-stream/package.json
  • examples/with-nextjs/package.json
  • examples/with-nuxt/package.json
  • examples/with-offline-evals/package.json
  • examples/with-ollama/package.json
  • examples/with-peaka-mcp/package.json
  • examples/with-pinecone/package.json
  • examples/with-planagents/package.json
  • examples/with-playwright/package.json
  • examples/with-postgres/package.json
  • examples/with-qdrant/package.json
  • examples/with-rag-chatbot/package.json
  • examples/with-recipe-generator/package.json
  • examples/with-research-assistant/package.json
  • examples/with-resumable-streams/package.json
  • examples/with-retrieval/package.json
  • examples/with-slack/package.json
  • examples/with-subagents/package.json
  • examples/with-supabase/package.json
  • examples/with-tavily-search/package.json
  • examples/with-thinking-tool/package.json
  • examples/with-tools/package.json
  • examples/with-turso/package.json
  • examples/with-vector-search/package.json
  • examples/with-vercel-ai/package.json
  • examples/with-viteval/package.json
  • examples/with-voice-elevenlabs/package.json
  • examples/with-voice-openai/package.json
  • examples/with-voice-xsai/package.json
  • examples/with-voltagent-actions/package.json
  • examples/with-voltagent-exporter/package.json
  • examples/with-voltagent-managed-memory/package.json
  • examples/with-voltops-resumable-streams/package.json
  • examples/with-voltops-retrieval/package.json
  • examples/with-whatsapp/package.json
  • examples/with-workflow/package.json
  • examples/with-working-memory/package.json
  • examples/with-youtube-to-blog/package.json
  • examples/with-zapier-mcp/package.json
  • packages/core/CHANGELOG.md
  • packages/core/package.json

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@joggrbot

This comment has been minimized.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 76 files

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.

@omeraplak omeraplak merged commit ab39d68 into main Jan 15, 2026
21 of 22 checks passed
@omeraplak omeraplak deleted the changeset-release/main branch January 15, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants