describe_component_api
Retrieve the live API surface of BaseComponent and IMarketData classes for writing component code. Uses inspect.signature to ensure accuracy and avoid documentation drift.
Instructions
Return the live BaseComponent + IMarketData API surface.
Use this BEFORE writing any component code. The return value is
produced via ``inspect.signature()`` on the actual classes, so it
always reflects the current echolon version — there is no skill /
doc drift. If a method appears here, it exists; if it doesn't, it
doesn't. Pip-install or editable-install, same answer.
Returns a dict with shape::
{
"BaseComponent": {
"override_methods": [{"name": ..., "signature": ..., "doc": ...}, ...],
"helper_methods": [{...}, ...],
"properties": [{"name": ..., "doc": ...}, ...],
},
"IMarketData": {
"methods": [{"name": ..., "signature": ..., "doc": ...}, ...],
},
}
``override_methods`` are the four BaseComponent stubs each component
file must override (``generate_signal`` / ``should_exit`` /
``can_trade`` / ``calculate_size``). ``helper_methods`` are concrete
helpers strategies may call (``get_current_bar``, ``get_indicator``,
``log_*_output``, etc.). ``properties`` are read-only attribute
accessors (``self.market_data``, ``self.portfolio``, ``self.params``).
``signature`` is the formatted ``inspect.Signature`` (e.g.
``"(self, name: str, index: int = 0) -> float"``). ``doc`` is the
first line of the docstring; full docstrings live on the source.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||