Skip to content

Commit 7088099

Browse files
committed
resources
1 parent eef879c commit 7088099

6 files changed

Lines changed: 101 additions & 2 deletions

File tree

cuenca/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
__all__ = [
22
'__version__',
3+
'Agent',
4+
'AgentVerification',
35
'ApiKey',
46
'Account',
57
'Arpc',
@@ -53,6 +55,8 @@
5355
from . import http
5456
from .resources import (
5557
Account,
58+
Agent,
59+
AgentVerification,
5660
ApiKey,
5761
Arpc,
5862
BalanceEntry,

cuenca/resources/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
__all__ = [
2+
'Agent',
3+
'AgentVerification',
24
'ApiKey',
35
'Account',
46
'Arpc',
@@ -47,6 +49,8 @@
4749
]
4850

4951
from .accounts import Account
52+
from .agent_verifications import AgentVerification
53+
from .agents import Agent
5054
from .api_keys import ApiKey
5155
from .arpc import Arpc
5256
from .balance_entries import BalanceEntry
@@ -96,6 +100,8 @@
96100

97101
# avoid circular imports
98102
resource_classes = [
103+
Agent,
104+
AgentVerification,
99105
ApiKey,
100106
Account,
101107
Arpc,
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import datetime as dt
2+
from typing import ClassVar
3+
4+
from cuenca_validations.types.identities import PhoneNumber
5+
from pydantic import ConfigDict
6+
7+
from ..http import Session, session as global_session
8+
from .base import Creatable
9+
10+
11+
class AgentVerification(Creatable):
12+
_resource: ClassVar = 'agent_verifications'
13+
14+
created_at: dt.datetime
15+
user_id: str
16+
platform_id: str
17+
phone_number: PhoneNumber
18+
pairing_code: str
19+
deactivated_at: dt.datetime
20+
21+
model_config = ConfigDict(
22+
json_schema_extra={
23+
'example': {
24+
'id': 'AVjTtPH1mhT65GEgOeomJ4DQ',
25+
'created_at': '2026-06-25T22:50:08.495768',
26+
'user_id': 'USMP3EPgI4T4CPFyVmXUPi8A',
27+
'platform_id': 'PTZbBlk__kQt-wfwzP5nwA9A',
28+
'phone_number': '+525512345678',
29+
'pairing_code': 'OJC37W',
30+
'deactivated_at': '2026-06-25T22:55:08.495779',
31+
}
32+
}
33+
)
34+
35+
@classmethod
36+
def create(cls, session: Session = global_session) -> 'AgentVerification':
37+
return cls._create(session=session)

cuenca/resources/agents.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import datetime as dt
2+
from typing import ClassVar, Optional
3+
4+
from cuenca_validations.types import AgentQuery, AgentRequest, PhoneNumber
5+
from cuenca_validations.typing import DictStrAny
6+
from pydantic import ConfigDict, Field
7+
8+
from ..http import Session, session as global_session
9+
from .base import Creatable, Queryable
10+
11+
12+
class Agent(Creatable, Queryable):
13+
_resource: ClassVar = 'agents'
14+
_query_params: ClassVar = AgentQuery
15+
16+
created_at: dt.datetime
17+
user_id: str
18+
platform_id: str
19+
agent_verification_id: str
20+
session_id: str
21+
device_info: DictStrAny = Field(default_factory=dict)
22+
deactivated_at: Optional[dt.datetime] = None
23+
24+
model_config = ConfigDict(
25+
json_schema_extra={
26+
'example': {
27+
'id': 'AG1G6Bm0oGQOCRjTDaeFSsyA',
28+
'created_at': '2026-06-27T01:56:42.613781',
29+
'user_id': 'USMP3EPgI4T4CPFyVmXUPi8A',
30+
'platform_id': 'PTZbBlk__kQt-wfwzP5nwA9A',
31+
'agent_verification_id': 'AV7A1FLC7MSnqKcb7oAkiQxA',
32+
'session_id': 'SSH0M5yteyRHas-PmfT9pu9w',
33+
'device_info': {'client': 'cursor', 'os': 'macOS'},
34+
}
35+
}
36+
)
37+
38+
@classmethod
39+
def create(
40+
cls,
41+
pairing_code: str,
42+
phone_number: PhoneNumber,
43+
device_info: Optional[DictStrAny] = None,
44+
*,
45+
session: Session = global_session,
46+
) -> 'Agent':
47+
req = AgentRequest(
48+
pairing_code=pairing_code,
49+
phone_number=phone_number,
50+
device_info=device_info or {},
51+
)
52+
return cls._create(session=session, **req.model_dump())

cuenca/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
__version__ = '2.2.1'
1+
__version__ = '2.2.2.dev0'
22
CLIENT_VERSION = __version__
33
API_VERSION = '2020-03-19'

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
requests==2.32.3
2-
cuenca-validations==2.1.34
2+
cuenca-validations==2.1.39.dev4
33
pydantic-extra-types==2.10.2

0 commit comments

Comments
 (0)