A fully enriched context contribution ready for the AI.

This is the "output" of context gathering — includes the provider's contribution plus UI context information added by the registry.

Hierarchy

Properties

ancestorContext: LimeWebComponentContext

The component's LimeWebComponentContext at the time of gathering.

Describes the chain of ancestor objects the component is nested under, not the component's own data. This is the context injected by the framework:

  • A component on the main view (e.g. showing Object A) gets an empty context (limetype: null, id: null) because it has no parent.
  • A component in the side-panel showing Object B, opened from Object A, gets { limetype: '<Object A's limetype>', id: <Object A's id> }.
  • Nested widgets typically inherit their host's context verbatim.
data?: Record<string, JsonValue>

Structured data about the current state.

This data will be serialized and included in the AI prompt context. Keep the data focused and relevant to avoid filling the context window with noise.

Example

data: {
currentObject: {
limetype: 'deal',
id: 123,
descriptive: 'Acme Corp - Enterprise License'
},
availableRelations: ['company', 'person', 'activity']
}
purpose?: string

Describes the purpose of this component and what it shows.

Use this to help the AI understand what the component is for, how users interact with it, and what the data represents. This is typically hardcoded by component developers.

Do NOT use this to restate structured data in natural language. The AI can read the data directly.

Example

// Good: explains what the component is and does
purpose: 'Shows a single aggregated value from a filter. ' +
'Clicking navigates to the explorer with that filter applied.'

// Good: explains how to interpret the data
purpose: 'Displays deals in a pipeline view grouped by stage. ' +
'Users drag deals between columns to change their stage.'

// Bad: restates structured data
purpose: 'The user is viewing deal 123.' // Use data instead