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 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(method="patch", url=path, json_data=body, **options)
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(method="patch", url=path, json_data=body, **options)
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
- self.threads = threads.ThreadsResource(self)
100
- self.emails = emails.EmailsResource(self)
101
- self.domains = domains.DomainsResource(self)
102
- self.webhooks = webhooks.WebhooksResource(self)
103
- self.meta = meta.MetaResource(self)
104
- self.with_raw_response = AIInbxWithRawResponse(self)
105
- self.with_streaming_response = AIInbxWithStreamedResponse(self)
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
- self.threads = threads.AsyncThreadsResource(self)
276
- self.emails = emails.AsyncEmailsResource(self)
277
- self.domains = domains.AsyncDomainsResource(self)
278
- self.webhooks = webhooks.AsyncWebhooksResource(self)
279
- self.meta = meta.AsyncMetaResource(self)
280
- self.with_raw_response = AsyncAIInbxWithRawResponse(self)
281
- self.with_streaming_response = AsyncAIInbxWithStreamedResponse(self)
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.threads = threads.ThreadsResourceWithRawResponse(client.threads)
391
- self.emails = emails.EmailsResourceWithRawResponse(client.emails)
392
- self.domains = domains.DomainsResourceWithRawResponse(client.domains)
393
- self.meta = meta.MetaResourceWithRawResponse(client.meta)
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.threads = threads.AsyncThreadsResourceWithRawResponse(client.threads)
399
- self.emails = emails.AsyncEmailsResourceWithRawResponse(client.emails)
400
- self.domains = domains.AsyncDomainsResourceWithRawResponse(client.domains)
401
- self.meta = meta.AsyncMetaResourceWithRawResponse(client.meta)
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.threads = threads.ThreadsResourceWithStreamingResponse(client.threads)
407
- self.emails = emails.EmailsResourceWithStreamingResponse(client.emails)
408
- self.domains = domains.DomainsResourceWithStreamingResponse(client.domains)
409
- self.meta = meta.MetaResourceWithStreamingResponse(client.meta)
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.threads = threads.AsyncThreadsResourceWithStreamingResponse(client.threads)
415
- self.emails = emails.AsyncEmailsResourceWithStreamingResponse(client.emails)
416
- self.domains = domains.AsyncDomainsResourceWithStreamingResponse(client.domains)
417
- self.meta = meta.AsyncMetaResourceWithStreamingResponse(client.meta)
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
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "aiinbx"
4
- __version__ = "0.212.0" # x-release-please-version
4
+ __version__ = "0.287.0" # x-release-please-version
@@ -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.212.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
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=aiinbx-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsImFpaW5ieC1tY3AiXX0)
52
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](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=Lh-GuSxQ-op2DjvV3SZ8jxxomRFP-PtyasPFv9rQSsY,67047
3
- aiinbx/_client.py,sha256=uFAWY7sVW8bTZ2aa_wOUoqmBkgQO94kMXQAHNanAEnw,16622
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=oz5UNoaNFRyb5xq5SmENHvvVG_PgpYCnk4KI8kjUYjU,160
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=1lHa8_dBRtPLmEigVT9ksI2Ewiz67JW28rve6I7T_rU,21241
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=2dQdB7R9ri2wI9NZ-Ub1Dn2D_liodu3ZcngqquzZhTI,2780
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.212.0.dist-info/METADATA,sha256=QXrZbqPR5XQf0UjsZJ7jnXXE7Ox6YarsAaObHBQU24o,13282
62
- aiinbx-0.212.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
63
- aiinbx-0.212.0.dist-info/licenses/LICENSE,sha256=i1rY5G0rFWpuWXv5WPoFrQEOrDWycksLhJxuLBF1tZw,11337
64
- aiinbx-0.212.0.dist-info/RECORD,,
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 2025 AI Inbx
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.