Skip to content

Commit a8dc212

Browse files
author
stlc-bot
committed
feat(axon): filter axon lists by metadata and add metadata discovery endpoints
Stainless-Generated-From: a028529f5ec830df1e0d31deaf9dfe084c38fbcb
1 parent d2a4242 commit a8dc212

4 files changed

Lines changed: 35 additions & 2 deletions

File tree

‎scripts/mock‎

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

‎src/runloop_api_client/resources/axons/axons.py‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,8 @@ def list(
161161
id: str | Omit = omit,
162162
include_total_count: bool | Omit = omit,
163163
limit: int | Omit = omit,
164+
metadata_key: str | Omit = omit,
165+
metadata_key_in: str | Omit = omit,
164166
name: str | Omit = omit,
165167
search: str | Omit = omit,
166168
starting_after: str | Omit = omit,
@@ -182,6 +184,11 @@ def list(
182184
183185
limit: The limit of items to return. Default is 20. Max is 5000.
184186
187+
metadata_key: Filter axons by metadata key-value pair. Can be used multiple times for
188+
different keys.
189+
190+
metadata_key_in: Filter axons by metadata key with multiple possible values (OR condition).
191+
185192
name: Filter by axon name (prefix match supported).
186193
187194
search: Search by axon ID or name.
@@ -209,6 +216,8 @@ def list(
209216
"id": id,
210217
"include_total_count": include_total_count,
211218
"limit": limit,
219+
"metadata_key": metadata_key,
220+
"metadata_key_in": metadata_key_in,
212221
"name": name,
213222
"search": search,
214223
"starting_after": starting_after,
@@ -485,6 +494,8 @@ def list(
485494
id: str | Omit = omit,
486495
include_total_count: bool | Omit = omit,
487496
limit: int | Omit = omit,
497+
metadata_key: str | Omit = omit,
498+
metadata_key_in: str | Omit = omit,
488499
name: str | Omit = omit,
489500
search: str | Omit = omit,
490501
starting_after: str | Omit = omit,
@@ -506,6 +517,11 @@ def list(
506517
507518
limit: The limit of items to return. Default is 20. Max is 5000.
508519
520+
metadata_key: Filter axons by metadata key-value pair. Can be used multiple times for
521+
different keys.
522+
523+
metadata_key_in: Filter axons by metadata key with multiple possible values (OR condition).
524+
509525
name: Filter by axon name (prefix match supported).
510526
511527
search: Search by axon ID or name.
@@ -533,6 +549,8 @@ def list(
533549
"id": id,
534550
"include_total_count": include_total_count,
535551
"limit": limit,
552+
"metadata_key": metadata_key,
553+
"metadata_key_in": metadata_key_in,
536554
"name": name,
537555
"search": search,
538556
"starting_after": starting_after,

‎src/runloop_api_client/types/axon_list_params.py‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
from __future__ import annotations
44

5-
from typing_extensions import TypedDict
5+
from typing_extensions import Annotated, TypedDict
6+
7+
from .._utils import PropertyInfo
68

79
__all__ = ["AxonListParams"]
810

@@ -20,6 +22,15 @@ class AxonListParams(TypedDict, total=False):
2022
limit: int
2123
"""The limit of items to return. Default is 20. Max is 5000."""
2224

25+
metadata_key: Annotated[str, PropertyInfo(alias="metadata[key]")]
26+
"""Filter axons by metadata key-value pair.
27+
28+
Can be used multiple times for different keys.
29+
"""
30+
31+
metadata_key_in: Annotated[str, PropertyInfo(alias="metadata[key][in]")]
32+
"""Filter axons by metadata key with multiple possible values (OR condition)."""
33+
2334
name: str
2435
"""Filter by axon name (prefix match supported)."""
2536

‎tests/api_resources/test_axons.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ def test_method_list_with_all_params(self, client: Runloop) -> None:
103103
id="id",
104104
include_total_count=True,
105105
limit=0,
106+
metadata_key="metadata[key]",
107+
metadata_key_in="metadata[key][in]",
106108
name="name",
107109
search="search",
108110
starting_after="starting_after",
@@ -354,6 +356,8 @@ async def test_method_list_with_all_params(self, async_client: AsyncRunloop) ->
354356
id="id",
355357
include_total_count=True,
356358
limit=0,
359+
metadata_key="metadata[key]",
360+
metadata_key_in="metadata[key][in]",
357361
name="name",
358362
search="search",
359363
starting_after="starting_after",

0 commit comments

Comments
 (0)