aiinbx 0.212.0__py3-none-any.whl → 0.287.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aiinbx/_base_client.py +8 -2
- aiinbx/_client.py +192 -48
- aiinbx/_version.py +1 -1
- aiinbx/resources/threads.py +0 -64
- aiinbx/types/thread_search_params.py +0 -16
- {aiinbx-0.212.0.dist-info → aiinbx-0.287.0.dist-info}/METADATA +10 -1
- {aiinbx-0.212.0.dist-info → aiinbx-0.287.0.dist-info}/RECORD +9 -9
- {aiinbx-0.212.0.dist-info → aiinbx-0.287.0.dist-info}/licenses/LICENSE +1 -1
- {aiinbx-0.212.0.dist-info → aiinbx-0.287.0.dist-info}/WHEEL +0 -0
aiinbx/_base_client.py
CHANGED
|
@@ -1247,9 +1247,12 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
|
1247
1247
|
*,
|
|
1248
1248
|
cast_to: Type[ResponseT],
|
|
1249
1249
|
body: Body | None = None,
|
|
1250
|
+
files: RequestFiles | None = None,
|
|
1250
1251
|
options: RequestOptions = {},
|
|
1251
1252
|
) -> ResponseT:
|
|
1252
|
-
opts = FinalRequestOptions.construct(
|
|
1253
|
+
opts = FinalRequestOptions.construct(
|
|
1254
|
+
method="patch", url=path, json_data=body, files=to_httpx_files(files), **options
|
|
1255
|
+
)
|
|
1253
1256
|
return self.request(cast_to, opts)
|
|
1254
1257
|
|
|
1255
1258
|
def put(
|
|
@@ -1767,9 +1770,12 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
|
1767
1770
|
*,
|
|
1768
1771
|
cast_to: Type[ResponseT],
|
|
1769
1772
|
body: Body | None = None,
|
|
1773
|
+
files: RequestFiles | None = None,
|
|
1770
1774
|
options: RequestOptions = {},
|
|
1771
1775
|
) -> ResponseT:
|
|
1772
|
-
opts = FinalRequestOptions.construct(
|
|
1776
|
+
opts = FinalRequestOptions.construct(
|
|
1777
|
+
method="patch", url=path, json_data=body, files=await async_to_httpx_files(files), **options
|
|
1778
|
+
)
|
|
1773
1779
|
return await self.request(cast_to, opts)
|
|
1774
1780
|
|
|
1775
1781
|
async def put(
|
aiinbx/_client.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
-
from typing import Any, Mapping
|
|
6
|
+
from typing import TYPE_CHECKING, Any, Mapping
|
|
7
7
|
from typing_extensions import Self, override
|
|
8
8
|
|
|
9
9
|
import httpx
|
|
@@ -20,8 +20,8 @@ from ._types import (
|
|
|
20
20
|
not_given,
|
|
21
21
|
)
|
|
22
22
|
from ._utils import is_given, get_async_library
|
|
23
|
+
from ._compat import cached_property
|
|
23
24
|
from ._version import __version__
|
|
24
|
-
from .resources import meta, emails, domains, threads, webhooks
|
|
25
25
|
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
|
|
26
26
|
from ._exceptions import AIInbxError, APIStatusError
|
|
27
27
|
from ._base_client import (
|
|
@@ -30,18 +30,18 @@ from ._base_client import (
|
|
|
30
30
|
AsyncAPIClient,
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
+
if TYPE_CHECKING:
|
|
34
|
+
from .resources import meta, emails, domains, threads
|
|
35
|
+
from .resources.meta import MetaResource, AsyncMetaResource
|
|
36
|
+
from .resources.emails import EmailsResource, AsyncEmailsResource
|
|
37
|
+
from .resources.domains import DomainsResource, AsyncDomainsResource
|
|
38
|
+
from .resources.threads import ThreadsResource, AsyncThreadsResource
|
|
39
|
+
from .resources.webhooks import WebhooksResource, AsyncWebhooksResource
|
|
40
|
+
|
|
33
41
|
__all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "AIInbx", "AsyncAIInbx", "Client", "AsyncClient"]
|
|
34
42
|
|
|
35
43
|
|
|
36
44
|
class AIInbx(SyncAPIClient):
|
|
37
|
-
threads: threads.ThreadsResource
|
|
38
|
-
emails: emails.EmailsResource
|
|
39
|
-
domains: domains.DomainsResource
|
|
40
|
-
webhooks: webhooks.WebhooksResource
|
|
41
|
-
meta: meta.MetaResource
|
|
42
|
-
with_raw_response: AIInbxWithRawResponse
|
|
43
|
-
with_streaming_response: AIInbxWithStreamedResponse
|
|
44
|
-
|
|
45
45
|
# client options
|
|
46
46
|
api_key: str
|
|
47
47
|
|
|
@@ -96,13 +96,43 @@ class AIInbx(SyncAPIClient):
|
|
|
96
96
|
_strict_response_validation=_strict_response_validation,
|
|
97
97
|
)
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
99
|
+
@cached_property
|
|
100
|
+
def threads(self) -> ThreadsResource:
|
|
101
|
+
from .resources.threads import ThreadsResource
|
|
102
|
+
|
|
103
|
+
return ThreadsResource(self)
|
|
104
|
+
|
|
105
|
+
@cached_property
|
|
106
|
+
def emails(self) -> EmailsResource:
|
|
107
|
+
from .resources.emails import EmailsResource
|
|
108
|
+
|
|
109
|
+
return EmailsResource(self)
|
|
110
|
+
|
|
111
|
+
@cached_property
|
|
112
|
+
def domains(self) -> DomainsResource:
|
|
113
|
+
from .resources.domains import DomainsResource
|
|
114
|
+
|
|
115
|
+
return DomainsResource(self)
|
|
116
|
+
|
|
117
|
+
@cached_property
|
|
118
|
+
def webhooks(self) -> WebhooksResource:
|
|
119
|
+
from .resources.webhooks import WebhooksResource
|
|
120
|
+
|
|
121
|
+
return WebhooksResource(self)
|
|
122
|
+
|
|
123
|
+
@cached_property
|
|
124
|
+
def meta(self) -> MetaResource:
|
|
125
|
+
from .resources.meta import MetaResource
|
|
126
|
+
|
|
127
|
+
return MetaResource(self)
|
|
128
|
+
|
|
129
|
+
@cached_property
|
|
130
|
+
def with_raw_response(self) -> AIInbxWithRawResponse:
|
|
131
|
+
return AIInbxWithRawResponse(self)
|
|
132
|
+
|
|
133
|
+
@cached_property
|
|
134
|
+
def with_streaming_response(self) -> AIInbxWithStreamedResponse:
|
|
135
|
+
return AIInbxWithStreamedResponse(self)
|
|
106
136
|
|
|
107
137
|
@property
|
|
108
138
|
@override
|
|
@@ -210,14 +240,6 @@ class AIInbx(SyncAPIClient):
|
|
|
210
240
|
|
|
211
241
|
|
|
212
242
|
class AsyncAIInbx(AsyncAPIClient):
|
|
213
|
-
threads: threads.AsyncThreadsResource
|
|
214
|
-
emails: emails.AsyncEmailsResource
|
|
215
|
-
domains: domains.AsyncDomainsResource
|
|
216
|
-
webhooks: webhooks.AsyncWebhooksResource
|
|
217
|
-
meta: meta.AsyncMetaResource
|
|
218
|
-
with_raw_response: AsyncAIInbxWithRawResponse
|
|
219
|
-
with_streaming_response: AsyncAIInbxWithStreamedResponse
|
|
220
|
-
|
|
221
243
|
# client options
|
|
222
244
|
api_key: str
|
|
223
245
|
|
|
@@ -272,13 +294,43 @@ class AsyncAIInbx(AsyncAPIClient):
|
|
|
272
294
|
_strict_response_validation=_strict_response_validation,
|
|
273
295
|
)
|
|
274
296
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
297
|
+
@cached_property
|
|
298
|
+
def threads(self) -> AsyncThreadsResource:
|
|
299
|
+
from .resources.threads import AsyncThreadsResource
|
|
300
|
+
|
|
301
|
+
return AsyncThreadsResource(self)
|
|
302
|
+
|
|
303
|
+
@cached_property
|
|
304
|
+
def emails(self) -> AsyncEmailsResource:
|
|
305
|
+
from .resources.emails import AsyncEmailsResource
|
|
306
|
+
|
|
307
|
+
return AsyncEmailsResource(self)
|
|
308
|
+
|
|
309
|
+
@cached_property
|
|
310
|
+
def domains(self) -> AsyncDomainsResource:
|
|
311
|
+
from .resources.domains import AsyncDomainsResource
|
|
312
|
+
|
|
313
|
+
return AsyncDomainsResource(self)
|
|
314
|
+
|
|
315
|
+
@cached_property
|
|
316
|
+
def webhooks(self) -> AsyncWebhooksResource:
|
|
317
|
+
from .resources.webhooks import AsyncWebhooksResource
|
|
318
|
+
|
|
319
|
+
return AsyncWebhooksResource(self)
|
|
320
|
+
|
|
321
|
+
@cached_property
|
|
322
|
+
def meta(self) -> AsyncMetaResource:
|
|
323
|
+
from .resources.meta import AsyncMetaResource
|
|
324
|
+
|
|
325
|
+
return AsyncMetaResource(self)
|
|
326
|
+
|
|
327
|
+
@cached_property
|
|
328
|
+
def with_raw_response(self) -> AsyncAIInbxWithRawResponse:
|
|
329
|
+
return AsyncAIInbxWithRawResponse(self)
|
|
330
|
+
|
|
331
|
+
@cached_property
|
|
332
|
+
def with_streaming_response(self) -> AsyncAIInbxWithStreamedResponse:
|
|
333
|
+
return AsyncAIInbxWithStreamedResponse(self)
|
|
282
334
|
|
|
283
335
|
@property
|
|
284
336
|
@override
|
|
@@ -386,35 +438,127 @@ class AsyncAIInbx(AsyncAPIClient):
|
|
|
386
438
|
|
|
387
439
|
|
|
388
440
|
class AIInbxWithRawResponse:
|
|
441
|
+
_client: AIInbx
|
|
442
|
+
|
|
389
443
|
def __init__(self, client: AIInbx) -> None:
|
|
390
|
-
self.
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
444
|
+
self._client = client
|
|
445
|
+
|
|
446
|
+
@cached_property
|
|
447
|
+
def threads(self) -> threads.ThreadsResourceWithRawResponse:
|
|
448
|
+
from .resources.threads import ThreadsResourceWithRawResponse
|
|
449
|
+
|
|
450
|
+
return ThreadsResourceWithRawResponse(self._client.threads)
|
|
451
|
+
|
|
452
|
+
@cached_property
|
|
453
|
+
def emails(self) -> emails.EmailsResourceWithRawResponse:
|
|
454
|
+
from .resources.emails import EmailsResourceWithRawResponse
|
|
455
|
+
|
|
456
|
+
return EmailsResourceWithRawResponse(self._client.emails)
|
|
457
|
+
|
|
458
|
+
@cached_property
|
|
459
|
+
def domains(self) -> domains.DomainsResourceWithRawResponse:
|
|
460
|
+
from .resources.domains import DomainsResourceWithRawResponse
|
|
461
|
+
|
|
462
|
+
return DomainsResourceWithRawResponse(self._client.domains)
|
|
463
|
+
|
|
464
|
+
@cached_property
|
|
465
|
+
def meta(self) -> meta.MetaResourceWithRawResponse:
|
|
466
|
+
from .resources.meta import MetaResourceWithRawResponse
|
|
467
|
+
|
|
468
|
+
return MetaResourceWithRawResponse(self._client.meta)
|
|
394
469
|
|
|
395
470
|
|
|
396
471
|
class AsyncAIInbxWithRawResponse:
|
|
472
|
+
_client: AsyncAIInbx
|
|
473
|
+
|
|
397
474
|
def __init__(self, client: AsyncAIInbx) -> None:
|
|
398
|
-
self.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
475
|
+
self._client = client
|
|
476
|
+
|
|
477
|
+
@cached_property
|
|
478
|
+
def threads(self) -> threads.AsyncThreadsResourceWithRawResponse:
|
|
479
|
+
from .resources.threads import AsyncThreadsResourceWithRawResponse
|
|
480
|
+
|
|
481
|
+
return AsyncThreadsResourceWithRawResponse(self._client.threads)
|
|
482
|
+
|
|
483
|
+
@cached_property
|
|
484
|
+
def emails(self) -> emails.AsyncEmailsResourceWithRawResponse:
|
|
485
|
+
from .resources.emails import AsyncEmailsResourceWithRawResponse
|
|
486
|
+
|
|
487
|
+
return AsyncEmailsResourceWithRawResponse(self._client.emails)
|
|
488
|
+
|
|
489
|
+
@cached_property
|
|
490
|
+
def domains(self) -> domains.AsyncDomainsResourceWithRawResponse:
|
|
491
|
+
from .resources.domains import AsyncDomainsResourceWithRawResponse
|
|
492
|
+
|
|
493
|
+
return AsyncDomainsResourceWithRawResponse(self._client.domains)
|
|
494
|
+
|
|
495
|
+
@cached_property
|
|
496
|
+
def meta(self) -> meta.AsyncMetaResourceWithRawResponse:
|
|
497
|
+
from .resources.meta import AsyncMetaResourceWithRawResponse
|
|
498
|
+
|
|
499
|
+
return AsyncMetaResourceWithRawResponse(self._client.meta)
|
|
402
500
|
|
|
403
501
|
|
|
404
502
|
class AIInbxWithStreamedResponse:
|
|
503
|
+
_client: AIInbx
|
|
504
|
+
|
|
405
505
|
def __init__(self, client: AIInbx) -> None:
|
|
406
|
-
self.
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
506
|
+
self._client = client
|
|
507
|
+
|
|
508
|
+
@cached_property
|
|
509
|
+
def threads(self) -> threads.ThreadsResourceWithStreamingResponse:
|
|
510
|
+
from .resources.threads import ThreadsResourceWithStreamingResponse
|
|
511
|
+
|
|
512
|
+
return ThreadsResourceWithStreamingResponse(self._client.threads)
|
|
513
|
+
|
|
514
|
+
@cached_property
|
|
515
|
+
def emails(self) -> emails.EmailsResourceWithStreamingResponse:
|
|
516
|
+
from .resources.emails import EmailsResourceWithStreamingResponse
|
|
517
|
+
|
|
518
|
+
return EmailsResourceWithStreamingResponse(self._client.emails)
|
|
519
|
+
|
|
520
|
+
@cached_property
|
|
521
|
+
def domains(self) -> domains.DomainsResourceWithStreamingResponse:
|
|
522
|
+
from .resources.domains import DomainsResourceWithStreamingResponse
|
|
523
|
+
|
|
524
|
+
return DomainsResourceWithStreamingResponse(self._client.domains)
|
|
525
|
+
|
|
526
|
+
@cached_property
|
|
527
|
+
def meta(self) -> meta.MetaResourceWithStreamingResponse:
|
|
528
|
+
from .resources.meta import MetaResourceWithStreamingResponse
|
|
529
|
+
|
|
530
|
+
return MetaResourceWithStreamingResponse(self._client.meta)
|
|
410
531
|
|
|
411
532
|
|
|
412
533
|
class AsyncAIInbxWithStreamedResponse:
|
|
534
|
+
_client: AsyncAIInbx
|
|
535
|
+
|
|
413
536
|
def __init__(self, client: AsyncAIInbx) -> None:
|
|
414
|
-
self.
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
537
|
+
self._client = client
|
|
538
|
+
|
|
539
|
+
@cached_property
|
|
540
|
+
def threads(self) -> threads.AsyncThreadsResourceWithStreamingResponse:
|
|
541
|
+
from .resources.threads import AsyncThreadsResourceWithStreamingResponse
|
|
542
|
+
|
|
543
|
+
return AsyncThreadsResourceWithStreamingResponse(self._client.threads)
|
|
544
|
+
|
|
545
|
+
@cached_property
|
|
546
|
+
def emails(self) -> emails.AsyncEmailsResourceWithStreamingResponse:
|
|
547
|
+
from .resources.emails import AsyncEmailsResourceWithStreamingResponse
|
|
548
|
+
|
|
549
|
+
return AsyncEmailsResourceWithStreamingResponse(self._client.emails)
|
|
550
|
+
|
|
551
|
+
@cached_property
|
|
552
|
+
def domains(self) -> domains.AsyncDomainsResourceWithStreamingResponse:
|
|
553
|
+
from .resources.domains import AsyncDomainsResourceWithStreamingResponse
|
|
554
|
+
|
|
555
|
+
return AsyncDomainsResourceWithStreamingResponse(self._client.domains)
|
|
556
|
+
|
|
557
|
+
@cached_property
|
|
558
|
+
def meta(self) -> meta.AsyncMetaResourceWithStreamingResponse:
|
|
559
|
+
from .resources.meta import AsyncMetaResourceWithStreamingResponse
|
|
560
|
+
|
|
561
|
+
return AsyncMetaResourceWithStreamingResponse(self._client.meta)
|
|
418
562
|
|
|
419
563
|
|
|
420
564
|
Client = AIInbx
|
aiinbx/_version.py
CHANGED
aiinbx/resources/threads.py
CHANGED
|
@@ -185,38 +185,6 @@ class ThreadsResource(SyncAPIResource):
|
|
|
185
185
|
Search threads with various filtering options optimized for AI agents
|
|
186
186
|
|
|
187
187
|
Args:
|
|
188
|
-
conversation_state: Filter threads by conversation state
|
|
189
|
-
|
|
190
|
-
created_after: Filter threads created after this date
|
|
191
|
-
|
|
192
|
-
created_before: Filter threads created before this date
|
|
193
|
-
|
|
194
|
-
has_email_from_address: Filter threads with emails from this address
|
|
195
|
-
|
|
196
|
-
has_email_to_address: Filter threads with emails to this address
|
|
197
|
-
|
|
198
|
-
has_participant_emails: Filter threads that include all of these email addresses as participants
|
|
199
|
-
|
|
200
|
-
last_email_after: Filter threads with last email after this date
|
|
201
|
-
|
|
202
|
-
last_email_before: Filter threads with last email before this date
|
|
203
|
-
|
|
204
|
-
limit: Number of threads to return (1-100)
|
|
205
|
-
|
|
206
|
-
offset: Number of threads to skip
|
|
207
|
-
|
|
208
|
-
some_email_has_direction: Filter threads containing emails with this direction
|
|
209
|
-
|
|
210
|
-
some_email_has_status: Filter threads containing emails with this status
|
|
211
|
-
|
|
212
|
-
sort_by: Field to sort by
|
|
213
|
-
|
|
214
|
-
sort_order: Sort order
|
|
215
|
-
|
|
216
|
-
stale_threshold_days: Days to consider a thread stale (used with conversationState=stale)
|
|
217
|
-
|
|
218
|
-
subject_contains: Filter threads where subject contains this text
|
|
219
|
-
|
|
220
188
|
extra_headers: Send extra headers
|
|
221
189
|
|
|
222
190
|
extra_query: Add additional query parameters to the request
|
|
@@ -414,38 +382,6 @@ class AsyncThreadsResource(AsyncAPIResource):
|
|
|
414
382
|
Search threads with various filtering options optimized for AI agents
|
|
415
383
|
|
|
416
384
|
Args:
|
|
417
|
-
conversation_state: Filter threads by conversation state
|
|
418
|
-
|
|
419
|
-
created_after: Filter threads created after this date
|
|
420
|
-
|
|
421
|
-
created_before: Filter threads created before this date
|
|
422
|
-
|
|
423
|
-
has_email_from_address: Filter threads with emails from this address
|
|
424
|
-
|
|
425
|
-
has_email_to_address: Filter threads with emails to this address
|
|
426
|
-
|
|
427
|
-
has_participant_emails: Filter threads that include all of these email addresses as participants
|
|
428
|
-
|
|
429
|
-
last_email_after: Filter threads with last email after this date
|
|
430
|
-
|
|
431
|
-
last_email_before: Filter threads with last email before this date
|
|
432
|
-
|
|
433
|
-
limit: Number of threads to return (1-100)
|
|
434
|
-
|
|
435
|
-
offset: Number of threads to skip
|
|
436
|
-
|
|
437
|
-
some_email_has_direction: Filter threads containing emails with this direction
|
|
438
|
-
|
|
439
|
-
some_email_has_status: Filter threads containing emails with this status
|
|
440
|
-
|
|
441
|
-
sort_by: Field to sort by
|
|
442
|
-
|
|
443
|
-
sort_order: Sort order
|
|
444
|
-
|
|
445
|
-
stale_threshold_days: Days to consider a thread stale (used with conversationState=stale)
|
|
446
|
-
|
|
447
|
-
subject_contains: Filter threads where subject contains this text
|
|
448
|
-
|
|
449
385
|
extra_headers: Send extra headers
|
|
450
386
|
|
|
451
387
|
extra_query: Add additional query parameters to the request
|
|
@@ -14,37 +14,26 @@ class ThreadSearchParams(TypedDict, total=False):
|
|
|
14
14
|
conversation_state: Annotated[
|
|
15
15
|
Literal["awaiting_reply", "needs_reply", "active", "stale"], PropertyInfo(alias="conversationState")
|
|
16
16
|
]
|
|
17
|
-
"""Filter threads by conversation state"""
|
|
18
17
|
|
|
19
18
|
created_after: Annotated[str, PropertyInfo(alias="createdAfter")]
|
|
20
|
-
"""Filter threads created after this date"""
|
|
21
19
|
|
|
22
20
|
created_before: Annotated[str, PropertyInfo(alias="createdBefore")]
|
|
23
|
-
"""Filter threads created before this date"""
|
|
24
21
|
|
|
25
22
|
has_email_from_address: Annotated[str, PropertyInfo(alias="hasEmailFromAddress")]
|
|
26
|
-
"""Filter threads with emails from this address"""
|
|
27
23
|
|
|
28
24
|
has_email_to_address: Annotated[str, PropertyInfo(alias="hasEmailToAddress")]
|
|
29
|
-
"""Filter threads with emails to this address"""
|
|
30
25
|
|
|
31
26
|
has_participant_emails: Annotated[SequenceNotStr[str], PropertyInfo(alias="hasParticipantEmails")]
|
|
32
|
-
"""Filter threads that include all of these email addresses as participants"""
|
|
33
27
|
|
|
34
28
|
last_email_after: Annotated[str, PropertyInfo(alias="lastEmailAfter")]
|
|
35
|
-
"""Filter threads with last email after this date"""
|
|
36
29
|
|
|
37
30
|
last_email_before: Annotated[str, PropertyInfo(alias="lastEmailBefore")]
|
|
38
|
-
"""Filter threads with last email before this date"""
|
|
39
31
|
|
|
40
32
|
limit: float
|
|
41
|
-
"""Number of threads to return (1-100)"""
|
|
42
33
|
|
|
43
34
|
offset: float
|
|
44
|
-
"""Number of threads to skip"""
|
|
45
35
|
|
|
46
36
|
some_email_has_direction: Annotated[Literal["INBOUND", "OUTBOUND"], PropertyInfo(alias="someEmailHasDirection")]
|
|
47
|
-
"""Filter threads containing emails with this direction"""
|
|
48
37
|
|
|
49
38
|
some_email_has_status: Annotated[
|
|
50
39
|
Literal[
|
|
@@ -62,16 +51,11 @@ class ThreadSearchParams(TypedDict, total=False):
|
|
|
62
51
|
],
|
|
63
52
|
PropertyInfo(alias="someEmailHasStatus"),
|
|
64
53
|
]
|
|
65
|
-
"""Filter threads containing emails with this status"""
|
|
66
54
|
|
|
67
55
|
sort_by: Annotated[Literal["createdAt", "lastEmailAt", "subject"], PropertyInfo(alias="sortBy")]
|
|
68
|
-
"""Field to sort by"""
|
|
69
56
|
|
|
70
57
|
sort_order: Annotated[Literal["asc", "desc"], PropertyInfo(alias="sortOrder")]
|
|
71
|
-
"""Sort order"""
|
|
72
58
|
|
|
73
59
|
stale_threshold_days: Annotated[float, PropertyInfo(alias="staleThresholdDays")]
|
|
74
|
-
"""Days to consider a thread stale (used with conversationState=stale)"""
|
|
75
60
|
|
|
76
61
|
subject_contains: Annotated[str, PropertyInfo(alias="subjectContains")]
|
|
77
|
-
"""Filter threads where subject contains this text"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: aiinbx
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.287.0
|
|
4
4
|
Summary: The official Python library for the AIInbx API
|
|
5
5
|
Project-URL: Homepage, https://github.com/aiinbx/aiinbx-py
|
|
6
6
|
Project-URL: Repository, https://github.com/aiinbx/aiinbx-py
|
|
@@ -44,6 +44,15 @@ and offers both synchronous and asynchronous clients powered by [httpx](https://
|
|
|
44
44
|
|
|
45
45
|
It is generated with [Stainless](https://www.stainless.com/).
|
|
46
46
|
|
|
47
|
+
## MCP Server
|
|
48
|
+
|
|
49
|
+
Use the AI Inbx MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
50
|
+
|
|
51
|
+
[](https://cursor.com/en-US/install-mcp?name=aiinbx-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImFpaW5ieC1tY3AiXX0)
|
|
52
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22aiinbx-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22aiinbx-mcp%22%5D%7D)
|
|
53
|
+
|
|
54
|
+
> Note: You may need to set environment variables in your MCP client.
|
|
55
|
+
|
|
47
56
|
## Documentation
|
|
48
57
|
|
|
49
58
|
The full API of this library can be found in [api.md](https://github.com/aiinbx/aiinbx-py/tree/main/api.md).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
aiinbx/__init__.py,sha256=ZcZOv0tXmRKr4E-_FTKTnooxLS8j3TYTy_84dBODo2Y,2624
|
|
2
|
-
aiinbx/_base_client.py,sha256=
|
|
3
|
-
aiinbx/_client.py,sha256=
|
|
2
|
+
aiinbx/_base_client.py,sha256=IZCo92T_UiNlfKqFVyzMKZolUe5I-zHC-HFvbDtJYcQ,67247
|
|
3
|
+
aiinbx/_client.py,sha256=n_307CGwOh_D9dhwNpn9G07EbkxmFQxHvAWC4-u0WdQ,20506
|
|
4
4
|
aiinbx/_compat.py,sha256=DQBVORjFb33zch24jzkhM14msvnzY7mmSmgDLaVFUM8,6562
|
|
5
5
|
aiinbx/_constants.py,sha256=S14PFzyN9-I31wiV7SmIlL5Ga0MLHxdvegInGdXH7tM,462
|
|
6
6
|
aiinbx/_exceptions.py,sha256=te3IaD62WIGnCIvhWUCVGpLZmClKvnv6hEjZFsD9MTA,3220
|
|
@@ -11,7 +11,7 @@ aiinbx/_resource.py,sha256=R_-4UEtw4XqdaVP9kNZE-XgrsuRBrQeFB0x4vbgWM_k,1100
|
|
|
11
11
|
aiinbx/_response.py,sha256=bN_uhJdOtEIu7WonnaRndk73_0N7bpUqEqUx_rZUxH8,28788
|
|
12
12
|
aiinbx/_streaming.py,sha256=7AWeXwBPMgZiPlU6Z5quvQqDqHDkkt9j38z5L0CBk50,10221
|
|
13
13
|
aiinbx/_types.py,sha256=LZpO7LB3Jw41PC06Kop69F0oo8jXulYKCOylxrlYkis,7295
|
|
14
|
-
aiinbx/_version.py,sha256=
|
|
14
|
+
aiinbx/_version.py,sha256=J2tWKe1d8ncHZpCGR8w9nLvuLNq6g2jhfExejRO6psE,160
|
|
15
15
|
aiinbx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
aiinbx/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
|
|
17
17
|
aiinbx/_utils/_compat.py,sha256=D8gtAvjJQrDWt9upS0XaG9Rr5l1QhiAx_I_1utT_tt0,1195
|
|
@@ -30,7 +30,7 @@ aiinbx/resources/__init__.py,sha256=A9igPOfiP9soOFOLpVfUBwR7looj88eofftT1jXV-jw,
|
|
|
30
30
|
aiinbx/resources/domains.py,sha256=xY9R9UNLwo72X8XOHEVs7bb7samZqHR4uBEyzUNw2z8,17548
|
|
31
31
|
aiinbx/resources/emails.py,sha256=5_FexN9HgTP27_HyfZJuhJswlYiUji_H2Xavgl5EeIs,17951
|
|
32
32
|
aiinbx/resources/meta.py,sha256=pG0ICZDnENRpvhVDPjoCZW509jhxgIpjhb8gG4hRusw,5464
|
|
33
|
-
aiinbx/resources/threads.py,sha256=
|
|
33
|
+
aiinbx/resources/threads.py,sha256=2M68tKRV-hJU-ZszTCjVqaxY530GIvACO9ewwEH6Lbk,18961
|
|
34
34
|
aiinbx/resources/webhooks.py,sha256=2aBYtHvVy4Ngpq_GEEMk0U6Vn_LKFwommXaguEjhhj0,962
|
|
35
35
|
aiinbx/types/__init__.py,sha256=Nax8UISh-wdV5r4vKVb8h1DXCgEhtidtyIjX0ZcBcnE,2424
|
|
36
36
|
aiinbx/types/domain_create_params.py,sha256=6VplEi2RZNbhYkfQ0E08gOYQ9nJyQvvOYu9yUsKfpq8,285
|
|
@@ -55,10 +55,10 @@ aiinbx/types/outbound_email_rejected_webhook_event.py,sha256=kmpVDzZvSPLaPktrySA
|
|
|
55
55
|
aiinbx/types/thread_forward_params.py,sha256=Ad9J1pcj-gXyHwvnDad_0z6mgn7sG26GHN97fkODCHE,1002
|
|
56
56
|
aiinbx/types/thread_forward_response.py,sha256=DmxnVB38C3R-fsNURfKMf5chNbKamQcx_QaubTk_8Ts,388
|
|
57
57
|
aiinbx/types/thread_retrieve_response.py,sha256=s5jj2iwBfcoVPeybIOJUVwRhvnc_0NdEMcbDGJnheEw,2364
|
|
58
|
-
aiinbx/types/thread_search_params.py,sha256=
|
|
58
|
+
aiinbx/types/thread_search_params.py,sha256=ZvlTTw4b_swhuC0VoLnU2QI1hYjROiEAyJ4HJXCrR9M,1939
|
|
59
59
|
aiinbx/types/thread_search_response.py,sha256=lldugJNQuQ5tsD9BrgxoDNojAYs7Ks8iZDMxwhnjogY,908
|
|
60
60
|
aiinbx/types/unwrap_webhook_event.py,sha256=70k2BARL8N22tVhpaFHOXknzr1hnCjKfTssZxY7HLF4,1227
|
|
61
|
-
aiinbx-0.
|
|
62
|
-
aiinbx-0.
|
|
63
|
-
aiinbx-0.
|
|
64
|
-
aiinbx-0.
|
|
61
|
+
aiinbx-0.287.0.dist-info/METADATA,sha256=NZYBdGcpzMK9XWcVFZM7Xndjly5_ewVW08KryzbjWCU,14907
|
|
62
|
+
aiinbx-0.287.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
63
|
+
aiinbx-0.287.0.dist-info/licenses/LICENSE,sha256=y7NNK-Ohfl8mT6DVVeRTBJgLJr6fBk7gtsD0xfLm9ig,11337
|
|
64
|
+
aiinbx-0.287.0.dist-info/RECORD,,
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2026 AI Inbx
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
|
File without changes
|