|
10 | 10 | CapabilityImpl, |
11 | 11 | CapabilityPluginRequest, |
12 | 12 | CapabilityPluginResponse, |
| 13 | + ConversationSupport, |
| 14 | + FunctionCallingSupport, |
13 | 15 | RequestedCapabilities, |
14 | 16 | RequestLevel, |
15 | 17 | SupportLevel, |
| 18 | + SystemPromptSupport, |
16 | 19 | UnsupportedCapabilityError, |
17 | 20 | ) |
18 | 21 |
|
@@ -57,6 +60,25 @@ def test_is_plugin_support_valid( |
57 | 60 | assert response.fulfilled_at in support_level |
58 | 61 |
|
59 | 62 |
|
| 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 | + |
60 | 82 | def test_capability_plugin_request_block_roundtrips(): |
61 | 83 | original = CapabilityPluginRequest( |
62 | 84 | requested_capabilities=[TestCapability(request_level=RequestLevel.NATIVE)] |
|
0 commit comments