MCPcopy
hub / github.com/OpenBMB/ChatDev / _build_function_metadata

Function _build_function_metadata

utils/function_catalog.py:125–141  ·  view source on GitHub ↗
(name: str, fn: Any, functions_dir: Path)

Source from the content-addressed store, hash-verified

123
124
125def _build_function_metadata(name: str, fn: Any, functions_dir: Path) -> FunctionMetadata:
126 signature = inspect.signature(fn)
127 annotations = _resolve_annotations(fn)
128
129 description = _extract_description(fn)
130 schema = _build_parameters_schema(signature, annotations)
131 module = getattr(fn, "__module__", "")
132 file_path = inspect.getsourcefile(fn) or ""
133 module_name = _derive_module_name(file_path, functions_dir)
134 return FunctionMetadata(
135 name=name,
136 description=description,
137 parameters_schema=schema,
138 module=module,
139 file_path=file_path,
140 module_name=module_name,
141 )
142
143
144def _derive_module_name(file_path: str, functions_dir: Path) -> str:

Callers 1

refreshMethod · 0.85

Calls 5

_resolve_annotationsFunction · 0.85
_extract_descriptionFunction · 0.85
_build_parameters_schemaFunction · 0.85
_derive_module_nameFunction · 0.85
FunctionMetadataClass · 0.85

Tested by

no test coverage detected