|
from taskweaver.memory.plugin import PluginEntry, PluginParameter, PluginSpec |
|
|
|
|
|
def test_function_formatting(): |
|
plugin = PluginEntry( |
|
name="test", |
|
impl="test", |
|
spec=PluginSpec( |
|
name="test", |
|
description="test", |
|
args=[ |
|
PluginParameter( |
|
name="arg1", |
|
type="string", |
|
description="arg1", |
|
required=True, |
|
), |
|
PluginParameter( |
|
name="arg2", |
|
type="integer", |
|
description="arg2", |
|
required=False, |
|
), |
|
PluginParameter( |
|
name="arg3", |
|
type="float", |
|
description="arg3", |
|
required=False, |
|
), |
|
PluginParameter( |
|
name="arg4", |
|
type="boolean", |
|
description="arg4", |
|
required=False, |
|
), |
|
PluginParameter( |
|
name="arg5", |
|
type="none", |
|
description="arg5", |
|
required=False, |
|
), |
|
], |
|
), |
|
config={"test_key": "test_val"}, |
|
required=False, |
|
enabled=True, |
|
plugin_only=True, |
|
) |
|
assert plugin.format_function_calling() == { |
|
"type": "function", |
|
"function": { |
|
"name": "test", |
|
"description": "test", |
|
"parameters": { |
|
"type": "object", |
|
"properties": { |
|
"arg1": {"type": "string", "description": "arg1"}, |
|
"arg2": {"type": "integer", "description": "arg2"}, |
|
"arg3": {"type": "number", "description": "arg3"}, |
|
"arg4": {"type": "boolean", "description": "arg4"}, |
|
"arg5": {"type": "null", "description": "arg5"}, |
|
}, |
|
"required": ["arg1"], |
|
}, |
|
}, |
|
} |
|
|