Skip to content

Add tool provider support for Vue #498

@zahlekhan

Description

@zahlekhan

Is your feature request related to a problem? Please describe.
OpenUI supports tool providers in the React runtime, but Vue users do not currently have an equivalent integration path in @openuidev/vue-lang.

That means teams using @openuidev/vue-lang can define component libraries and render OpenUI Lang, but cannot use the same tool-backed patterns available in React. This limits Vue support for workflows that depend on tool calls, query/mutation execution, streamed tool results, or host-provided runtime data.

Describe the solution you'd like
Add tool provider support to @openuidev/vue-lang.

Ideally, this should support:

  • Registering a tool provider in Vue.
  • Passing the provider into the renderer or app-level context.
  • Supporting OpenUI Lang Query and Mutation execution where applicable.
  • Handling async tool calls and streamed/incremental updates.
  • Returning loading, success, and error states to rendered components.
  • Matching the behavior of React tool provider support as closely as possible.
  • Adding Vue examples and documentation for tool-backed UI.

Describe alternatives you've considered

  • Keep tool execution outside OpenUI and manually inject results into generated UI.
  • Use React for tool-backed OpenUI experiences and Vue only for static rendering.
  • Build a custom Vue wrapper around lower-level lang-core query/mutation APIs.
  • Avoid Query and Mutation features in Vue until first-class support exists.

Additional context
This would help bring @openuidev/vue-lang closer to feature parity with the React runtime and make Vue a stronger first-class target for OpenUI.

A good implementation should include tests, documentation, and a small Vue example using a tool-backed query or mutation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions