[
https://issues.apache.org/jira/browse/CAMEL-24720?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116419#comment-18116419
]
Claus Ibsen commented on CAMEL-24720:
-------------------------------------
PR https://github.com/apache/camel/pull/26562 serves components, data formats
and languages from the catalog documentation, with an optional kind argument;
the seven pages above are served as they are, with a note.
_Claude Code on behalf of davsclaus_
> camel-jbang - camel_catalog_sample returns samples for components, data
> formats and languages from their documentation, once CAMEL-24710 has their
> examples validating
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-24720
> URL: https://issues.apache.org/jira/browse/CAMEL-24720
> Project: Camel
> Issue Type: Improvement
> Components: camel-jbang
> Reporter: Claus Ibsen
> Assignee: Claus Ibsen
> Priority: Major
> Fix For: 4.23.0
>
>
> camel_catalog_sample (CAMEL-24693) returns validated YAML samples of an EIP
> or file entry (onException, aggregate, rest, beans, ...), read from the
> catalog's EIP documentation for the Camel version in use, with the
> user-manual entries generated into eip-samples.json by the build
> (CAMEL-24713). It does not cover components, data formats or languages: an
> agent that asks for a sample of {{kafka}}, {{csv}} or {{jq}} gets "No sample"
> and suggestions.
> CAMEL-24710 is making the YAML route examples of the component, data format
> and language pages validate, family by family, guarded by EipDocExamplesTest.
> Once a family is guarded, the tool can serve it the same way it serves the
> EIPs:
> * {{CatalogSamples.fromCatalog}} looks up the page by name in the catalog:
> {{<name>-component}}, {{<name>-dataformat}}, {{<name>-language}}, plus the
> component sub-pages ({{<name>-consumer}}, {{<name>-producer}},
> {{<name>-examples}}, ...) as a family of the component. The kind can be given
> ({{kind=component|dataformat|language|eip}}) or resolved from the catalog
> when the name is unambiguous; a name that exists in several kinds returns the
> choice.
> * {{resolve()}}, {{names()}} and {{suggest()}} consult the catalog's
> component, data format and language names in addition to the keys of
> eip-samples.json, so the name index is not limited to the shipped file.
> * The answer keeps the shape of today ({{name}}, {{placement}},
> {{samples[{source, yaml}]}}, {{count}}); {{placement}} for a component says
> whether it is used in {{from:}} (consumer), {{to:}} (producer) or both; a
> data format sample shows the {{marshal}}/{{unmarshal}} step; a language
> sample shows the expression in a step.
> * The intents map ({{read file}} -> poll, {{call service}} -> enrich) can
> gain the component-level ones ({{kafka}} topic, {{http}} call, {{file}}
> drop), but the tool description must keep telling the model to ask by name
> first.
> * Only examples that pass {{SourceValidator.validateCamelYaml}} are returned,
> as for the EIPs; a family whose page is in the EipDocExamplesTest skip set
> (xmlSecurity until CAMEL-24716) is served as far as its valid examples go.
> * Tests in CatalogSamplesTest per kind, and the tool description and the MCP
> server page (camel-jbang-mcp.adoc, Authoring table) updated.
> Not in scope: the shipped eip-samples.json stays the EIP and file-entry
> fallback; the component samples come from the catalog in use only (a catalog
> for an older Camel version serves that version's examples, which is the
> point). Whether the mojo of CAMEL-24713 should also ship a fallback for
> components is a separate decision, the file would grow by about 1,400
> examples.
> Depends on CAMEL-24710. Relates to CAMEL-24693 and CAMEL-24713.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)