Skip to content

Commit 26360ec

Browse files
authored
fix: Fix capability name/NAME and add new test (#591)
Previous unit tests hid pretty well the fact that NAME wasn't set on capabilities.
1 parent 69a9964 commit 26360ec

2 files changed

Lines changed: 25 additions & 3 deletions

File tree

src/steamship/plugin/capabilities.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ class SystemPromptSupport(CapabilityImpl):
308308
The system prompt will come across in other blocks on the request.
309309
"""
310310

311-
name = "steamship.system_prompt_support"
311+
NAME = "steamship.system_prompt_support"
312312

313313
request_level = RequestLevel.BEST_EFFORT
314314
"""
@@ -324,7 +324,7 @@ class ConversationSupport(CapabilityImpl):
324324
The content of the conversation will come across in other blocks on the request, using the CHAT TagKind.
325325
"""
326326

327-
name = "steamship.conversation_support"
327+
NAME = "steamship.conversation_support"
328328

329329

330330
class FunctionCallingSupport(CapabilityImpl):
@@ -335,7 +335,7 @@ class FunctionCallingSupport(CapabilityImpl):
335335
following request.
336336
"""
337337

338-
name = "steamship.function_calling_support"
338+
NAME = "steamship.function_calling_support"
339339

340340
functions: List[Tool]
341341
"""A list of Tools which the LLM can choose from to execute."""

tests/steamship_tests/plugin/unit/test_capabilities.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@
1010
CapabilityImpl,
1111
CapabilityPluginRequest,
1212
CapabilityPluginResponse,
13+
ConversationSupport,
14+
FunctionCallingSupport,
1315
RequestedCapabilities,
1416
RequestLevel,
1517
SupportLevel,
18+
SystemPromptSupport,
1619
UnsupportedCapabilityError,
1720
)
1821

@@ -57,6 +60,25 @@ def test_is_plugin_support_valid(
5760
assert response.fulfilled_at in support_level
5861

5962

63+
def test_builtin_capabilities_support():
64+
original_capabilities = {
65+
ConversationSupport: ConversationSupport(),
66+
SystemPromptSupport: SystemPromptSupport(),
67+
FunctionCallingSupport: FunctionCallingSupport(functions=[]),
68+
}
69+
original = CapabilityPluginRequest(requested_capabilities=list(original_capabilities.values()))
70+
block = original.to_block()
71+
roundtripped = CapabilityPluginRequest.from_block(block)
72+
assert original == roundtripped
73+
requested_capabilities = RequestedCapabilities(
74+
{cap_typ: SupportLevel.NATIVE for cap_typ in original_capabilities.keys()}
75+
)
76+
requested_capabilities.load_requests(roundtripped)
77+
for cap_typ in original_capabilities.keys():
78+
requested = requested_capabilities.get(cap_typ)
79+
assert requested == original_capabilities[cap_typ]
80+
81+
6082
def test_capability_plugin_request_block_roundtrips():
6183
original = CapabilityPluginRequest(
6284
requested_capabilities=[TestCapability(request_level=RequestLevel.NATIVE)]

0 commit comments

Comments
 (0)