Skip to content

Commit 2b3e147

Browse files
feat(api): api update
1 parent c102319 commit 2b3e147

13 files changed

Lines changed: 153 additions & 36 deletions

File tree

‎.stats.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 40
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini/asktable-d0a8385767046a6db5ab647f8fe9dd357d78b4250ade18c9f4d8249ea5b2c39f.yml
3-
openapi_spec_hash: 1e63dd59d62586f0ca8dd76f6da7353a
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/datamini/asktable-10e62cd9f7e879c877a6ebd092af07e631ecb0b7dd40018d29c7ac82c89d7b3b.yml
3+
openapi_spec_hash: 49d9d9045a0e0c87e50bfa12f2dd25f3
44
config_hash: acdf4142177ed1932c2d82372693f811

‎src/asktable/resources/sys/projects/api_keys.py‎

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
from __future__ import annotations
44

5-
from typing import Dict, Optional
5+
from typing import Dict, Union, Optional
6+
from datetime import datetime
67
from typing_extensions import Literal
78

89
import httpx
@@ -53,6 +54,8 @@ def create(
5354
project_id: str,
5455
*,
5556
ak_role: Literal["sys", "admin", "asker"],
57+
name: str,
58+
expires_at: Union[str, datetime, None] | Omit = omit,
5659
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
5760
# The extra values given here take precedence over values defined on the client or passed to this method.
5861
extra_headers: Headers | None = None,
@@ -66,6 +69,10 @@ def create(
6669
Args:
6770
ak_role: API key 的角色
6871
72+
name: API Key 名称
73+
74+
expires_at: 过期时间;空表示不过期
75+
6976
extra_headers: Send extra headers
7077
7178
extra_query: Add additional query parameters to the request
@@ -78,7 +85,14 @@ def create(
7885
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
7986
return self._post(
8087
path_template("/v1/sys/projects/{project_id}/api-keys", project_id=project_id),
81-
body=maybe_transform({"ak_role": ak_role}, api_key_create_params.APIKeyCreateParams),
88+
body=maybe_transform(
89+
{
90+
"ak_role": ak_role,
91+
"name": name,
92+
"expires_at": expires_at,
93+
},
94+
api_key_create_params.APIKeyCreateParams,
95+
),
8296
options=make_request_options(
8397
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
8498
),
@@ -237,6 +251,8 @@ async def create(
237251
project_id: str,
238252
*,
239253
ak_role: Literal["sys", "admin", "asker"],
254+
name: str,
255+
expires_at: Union[str, datetime, None] | Omit = omit,
240256
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241257
# The extra values given here take precedence over values defined on the client or passed to this method.
242258
extra_headers: Headers | None = None,
@@ -250,6 +266,10 @@ async def create(
250266
Args:
251267
ak_role: API key 的角色
252268
269+
name: API Key 名称
270+
271+
expires_at: 过期时间;空表示不过期
272+
253273
extra_headers: Send extra headers
254274
255275
extra_query: Add additional query parameters to the request
@@ -262,7 +282,14 @@ async def create(
262282
raise ValueError(f"Expected a non-empty value for `project_id` but received {project_id!r}")
263283
return await self._post(
264284
path_template("/v1/sys/projects/{project_id}/api-keys", project_id=project_id),
265-
body=await async_maybe_transform({"ak_role": ak_role}, api_key_create_params.APIKeyCreateParams),
285+
body=await async_maybe_transform(
286+
{
287+
"ak_role": ak_role,
288+
"name": name,
289+
"expires_at": expires_at,
290+
},
291+
api_key_create_params.APIKeyCreateParams,
292+
),
266293
options=make_request_options(
267294
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
268295
),

‎src/asktable/resources/sys/projects/projects.py‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
AsyncAPIKeysResourceWithStreamingResponse,
1616
)
1717
from ...._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
18-
from ...._utils import path_template, maybe_transform, async_maybe_transform
18+
from ...._utils import path_template, maybe_transform, strip_not_given, async_maybe_transform
1919
from ...._compat import cached_property
2020
from ...._resource import SyncAPIResource, AsyncAPIResource
2121
from ...._response import (
@@ -66,6 +66,7 @@ def create(
6666
self,
6767
*,
6868
name: str,
69+
x_org_id: str | Omit = omit,
6970
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
7071
# The extra values given here take precedence over values defined on the client or passed to this method.
7172
extra_headers: Headers | None = None,
@@ -87,6 +88,7 @@ def create(
8788
8889
timeout: Override the client-level default timeout for this request, in seconds
8990
"""
91+
extra_headers = {**strip_not_given({"X-Org-Id": x_org_id}), **(extra_headers or {})}
9092
return self._post(
9193
"/v1/sys/projects",
9294
body=maybe_transform({"name": name}, project_create_params.ProjectCreateParams),
@@ -133,7 +135,6 @@ def update(
133135
self,
134136
project_id: str,
135137
*,
136-
is_public: Optional[bool] | Omit = omit,
137138
llm_model_group: Optional[str] | Omit = omit,
138139
locked: Optional[bool] | Omit = omit,
139140
name: Optional[str] | Omit = omit,
@@ -148,8 +149,6 @@ def update(
148149
Update Project
149150
150151
Args:
151-
is_public: 是否公开项目
152-
153152
llm_model_group: 模型组
154153
155154
locked: 是否锁定
@@ -170,7 +169,6 @@ def update(
170169
path_template("/v1/sys/projects/{project_id}", project_id=project_id),
171170
body=maybe_transform(
172171
{
173-
"is_public": is_public,
174172
"llm_model_group": llm_model_group,
175173
"locked": locked,
176174
"name": name,
@@ -304,6 +302,7 @@ def import_(
304302
self,
305303
*,
306304
body: Dict[str, object],
305+
x_org_id: str | Omit = omit,
307306
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
308307
# The extra values given here take precedence over values defined on the client or passed to this method.
309308
extra_headers: Headers | None = None,
@@ -323,6 +322,7 @@ def import_(
323322
324323
timeout: Override the client-level default timeout for this request, in seconds
325324
"""
325+
extra_headers = {**strip_not_given({"X-Org-Id": x_org_id}), **(extra_headers or {})}
326326
return self._post(
327327
"/v1/sys/projects/import",
328328
body=maybe_transform(body, project_import_params.ProjectImportParams),
@@ -383,6 +383,7 @@ async def create(
383383
self,
384384
*,
385385
name: str,
386+
x_org_id: str | Omit = omit,
386387
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
387388
# The extra values given here take precedence over values defined on the client or passed to this method.
388389
extra_headers: Headers | None = None,
@@ -404,6 +405,7 @@ async def create(
404405
405406
timeout: Override the client-level default timeout for this request, in seconds
406407
"""
408+
extra_headers = {**strip_not_given({"X-Org-Id": x_org_id}), **(extra_headers or {})}
407409
return await self._post(
408410
"/v1/sys/projects",
409411
body=await async_maybe_transform({"name": name}, project_create_params.ProjectCreateParams),
@@ -450,7 +452,6 @@ async def update(
450452
self,
451453
project_id: str,
452454
*,
453-
is_public: Optional[bool] | Omit = omit,
454455
llm_model_group: Optional[str] | Omit = omit,
455456
locked: Optional[bool] | Omit = omit,
456457
name: Optional[str] | Omit = omit,
@@ -465,8 +466,6 @@ async def update(
465466
Update Project
466467
467468
Args:
468-
is_public: 是否公开项目
469-
470469
llm_model_group: 模型组
471470
472471
locked: 是否锁定
@@ -487,7 +486,6 @@ async def update(
487486
path_template("/v1/sys/projects/{project_id}", project_id=project_id),
488487
body=await async_maybe_transform(
489488
{
490-
"is_public": is_public,
491489
"llm_model_group": llm_model_group,
492490
"locked": locked,
493491
"name": name,
@@ -621,6 +619,7 @@ async def import_(
621619
self,
622620
*,
623621
body: Dict[str, object],
622+
x_org_id: str | Omit = omit,
624623
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
625624
# The extra values given here take precedence over values defined on the client or passed to this method.
626625
extra_headers: Headers | None = None,
@@ -640,6 +639,7 @@ async def import_(
640639
641640
timeout: Override the client-level default timeout for this request, in seconds
642641
"""
642+
extra_headers = {**strip_not_given({"X-Org-Id": x_org_id}), **(extra_headers or {})}
643643
return await self._post(
644644
"/v1/sys/projects/import",
645645
body=await async_maybe_transform(body, project_import_params.ProjectImportParams),

‎src/asktable/types/sys/api_key.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class APIKey(BaseModel):
1414
"""API Key ID"""
1515

1616
ak_role: Literal["sys", "admin", "asker"]
17-
"""API key 的角色"""
1817

1918
created_at: datetime
2019
"""创建时间"""
@@ -28,5 +27,14 @@ class APIKey(BaseModel):
2827
status: int
2928
"""状态"""
3029

30+
created_by: Optional[str] = None
31+
"""创建者 User ID"""
32+
33+
expires_at: Optional[datetime] = None
34+
"""过期时间"""
35+
3136
last_used_at: Optional[datetime] = None
3237
"""最后使用时间"""
38+
39+
name: Optional[str] = None
40+
"""API Key 名称;旧 key 可为空"""

‎src/asktable/types/sys/project_create_params.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,15 @@
22

33
from __future__ import annotations
44

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

79
__all__ = ["ProjectCreateParams"]
810

911

1012
class ProjectCreateParams(TypedDict, total=False):
1113
name: Required[str]
1214
"""项目名称"""
15+
16+
x_org_id: Annotated[str, PropertyInfo(alias="X-Org-Id")]

‎src/asktable/types/sys/project_import_params.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@
33
from __future__ import annotations
44

55
from typing import Dict
6-
from typing_extensions import Required, TypedDict
6+
from typing_extensions import Required, Annotated, TypedDict
7+
8+
from ..._utils import PropertyInfo
79

810
__all__ = ["ProjectImportParams"]
911

1012

1113
class ProjectImportParams(TypedDict, total=False):
1214
body: Required[Dict[str, object]]
15+
16+
x_org_id: Annotated[str, PropertyInfo(alias="X-Org-Id")]

‎src/asktable/types/sys/project_update_params.py‎

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99

1010

1111
class ProjectUpdateParams(TypedDict, total=False):
12-
is_public: Optional[bool]
13-
"""是否公开项目"""
14-
1512
llm_model_group: Optional[str]
1613
"""模型组"""
1714

‎src/asktable/types/sys/projects/api_key_create_params.py‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,21 @@
22

33
from __future__ import annotations
44

5-
from typing_extensions import Literal, Required, TypedDict
5+
from typing import Union
6+
from datetime import datetime
7+
from typing_extensions import Literal, Required, Annotated, TypedDict
8+
9+
from ...._utils import PropertyInfo
610

711
__all__ = ["APIKeyCreateParams"]
812

913

1014
class APIKeyCreateParams(TypedDict, total=False):
1115
ak_role: Required[Literal["sys", "admin", "asker"]]
1216
"""API key 的角色"""
17+
18+
name: Required[str]
19+
"""API Key 名称"""
20+
21+
expires_at: Annotated[Union[str, datetime, None], PropertyInfo(format="iso8601")]
22+
"""过期时间;空表示不过期"""

‎src/asktable/types/sys/projects/api_key_create_response.py‎

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class APIKeyCreateResponse(BaseModel):
1414
"""API Key ID"""
1515

1616
ak_role: Literal["sys", "admin", "asker"]
17-
"""API key 的角色"""
1817

1918
created_at: datetime
2019
"""创建时间"""
@@ -30,5 +29,14 @@ class APIKeyCreateResponse(BaseModel):
3029
status: int
3130
"""状态"""
3231

32+
created_by: Optional[str] = None
33+
"""创建者 User ID"""
34+
35+
expires_at: Optional[datetime] = None
36+
"""过期时间"""
37+
3338
last_used_at: Optional[datetime] = None
3439
"""最后使用时间"""
40+
41+
name: Optional[str] = None
42+
"""API Key 名称;旧 key 可为空"""

0 commit comments

Comments
 (0)