Skip to main content

GitLabSchemaEnricher

Struct GitLabSchemaEnricher 

Source
pub struct GitLabSchemaEnricher;
Expand description

Static schema enricher for GitLab provider.

GitLab doesn’t support:

  • priority (no built-in priority on issues)
  • parentId (no subtask hierarchy via API)
  • customFields (no custom fields)
  • issueType (no issue types)
  • components (no components)
  • projectId (single project scope, not needed)
  • points (no story points)

Trait Implementations§

Source§

impl ToolEnricher for GitLabSchemaEnricher

Source§

fn value_model(&self, tool_name: &str) -> Option<ToolValueModel>

Paper 3 — value-model annotations for GitLab read-only tools.

Speculative pre-fetch wins for the canonical list → detail chains: after get_merge_requests the agent almost always reads discussions / diffs of the top hit; after get_issues it reads comments. We annotate the read-only endpoints (Pure for inside-of-TTL, ReadOnly otherwise) and leave mutating endpoints (create_issue, update_issue, …) as the default Indeterminate so they are never speculated.

Source§

fn rate_limit_host(&self, _tool_name: &str, _args: &Value) -> Option<String>

Paper 3 — gitlab.com for SaaS, picked up from the runtime args if the tool carries an explicit instance URL. We don’t look at args here because GitLab tools live behind one configured client per session; the host falls back to the tool’s static rate_limit_host annotation.

Source§

fn supported_categories(&self) -> &[ToolCategory]

Which tool categories this provider/enricher supports. Tools from other categories won’t be shown when this enricher is active.
Source§

fn enrich_schema(&self, tool_name: &str, schema: &mut ToolSchema)

Modify the tool schema during tools/list.
Source§

fn transform_args(&self, _tool_name: &str, _args: &mut Value)

Transform arguments before tool execution.
Source§

fn project_args( &self, _prev_tool: &str, _prev_result: &Value, _link: &FollowUpLink, ) -> Option<Value>

Build the JSON arguments for a speculatively pre-fetched follow-up call. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more