payi 0.1.0a34__tar.gz → 0.1.0a35__tar.gz

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.

Potentially problematic release.


This version of payi might be problematic. Click here for more details.

Files changed (156) hide show
  1. payi-0.1.0a35/.release-please-manifest.json +3 -0
  2. {payi-0.1.0a34 → payi-0.1.0a35}/CHANGELOG.md +25 -0
  3. {payi-0.1.0a34 → payi-0.1.0a35}/PKG-INFO +4 -5
  4. {payi-0.1.0a34 → payi-0.1.0a35}/README.md +3 -4
  5. {payi-0.1.0a34 → payi-0.1.0a35}/api.md +50 -0
  6. {payi-0.1.0a34 → payi-0.1.0a35}/pyproject.toml +2 -2
  7. {payi-0.1.0a34 → payi-0.1.0a35}/requirements-dev.lock +2 -3
  8. {payi-0.1.0a34 → payi-0.1.0a35}/requirements.lock +1 -2
  9. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_base_client.py +6 -0
  10. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_models.py +5 -1
  11. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_version.py +1 -1
  12. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/lib/helpers.py +4 -1
  13. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/experiences/__init__.py +0 -14
  14. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/experiences/experiences.py +0 -32
  15. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/experiences/properties.py +2 -2
  16. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/ingest.py +14 -16
  17. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/requests/properties.py +2 -2
  18. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/__init__.py +0 -2
  19. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/ingest_event_param.py +18 -8
  20. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/ingest_units_params.py +18 -8
  21. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_history_response.py +1 -1
  22. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_ingest.py +28 -10
  23. payi-0.1.0a34/.release-please-manifest.json +0 -3
  24. payi-0.1.0a34/src/payi/resources/experiences/csat.py +0 -188
  25. payi-0.1.0a34/src/payi/types/experiences/csat_create_params.py +0 -14
  26. payi-0.1.0a34/src/payi/types/experiences/csat_response.py +0 -10
  27. payi-0.1.0a34/tests/api_resources/experiences/test_csat.py +0 -124
  28. {payi-0.1.0a34 → payi-0.1.0a35}/.gitignore +0 -0
  29. {payi-0.1.0a34 → payi-0.1.0a35}/CONTRIBUTING.md +0 -0
  30. {payi-0.1.0a34 → payi-0.1.0a35}/LICENSE +0 -0
  31. {payi-0.1.0a34 → payi-0.1.0a35}/SECURITY.md +0 -0
  32. {payi-0.1.0a34 → payi-0.1.0a35}/bin/check-release-environment +0 -0
  33. {payi-0.1.0a34 → payi-0.1.0a35}/bin/publish-pypi +0 -0
  34. {payi-0.1.0a34 → payi-0.1.0a35}/examples/.keep +0 -0
  35. {payi-0.1.0a34 → payi-0.1.0a35}/mypy.ini +0 -0
  36. {payi-0.1.0a34 → payi-0.1.0a35}/noxfile.py +0 -0
  37. {payi-0.1.0a34 → payi-0.1.0a35}/release-please-config.json +0 -0
  38. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/__init__.py +0 -0
  39. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_client.py +0 -0
  40. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_compat.py +0 -0
  41. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_constants.py +0 -0
  42. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_exceptions.py +0 -0
  43. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_files.py +0 -0
  44. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_qs.py +0 -0
  45. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_resource.py +0 -0
  46. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_response.py +0 -0
  47. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_streaming.py +0 -0
  48. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_types.py +0 -0
  49. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/__init__.py +0 -0
  50. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_logs.py +0 -0
  51. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_proxy.py +0 -0
  52. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_reflection.py +0 -0
  53. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_streams.py +0 -0
  54. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_sync.py +0 -0
  55. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_transform.py +0 -0
  56. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_typing.py +0 -0
  57. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/_utils/_utils.py +0 -0
  58. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/lib/.keep +0 -0
  59. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/py.typed +0 -0
  60. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/__init__.py +0 -0
  61. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/billing_models.py +0 -0
  62. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/categories/__init__.py +0 -0
  63. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/categories/categories.py +0 -0
  64. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/categories/resources.py +0 -0
  65. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/experiences/types.py +0 -0
  66. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/limits/__init__.py +0 -0
  67. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/limits/limits.py +0 -0
  68. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/limits/tags.py +0 -0
  69. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/price_modifiers.py +0 -0
  70. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/requests/__init__.py +0 -0
  71. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/resources/requests/requests.py +0 -0
  72. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/__init__.py +0 -0
  73. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/billing_model.py +0 -0
  74. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/billing_model_create_params.py +0 -0
  75. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/billing_model_list_response.py +0 -0
  76. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/billing_model_update_params.py +0 -0
  77. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/bulk_ingest_response.py +0 -0
  78. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/categories/__init__.py +0 -0
  79. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/categories/resource_create_params.py +0 -0
  80. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/categories/resource_list_response.py +0 -0
  81. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_delete_resource_response.py +0 -0
  82. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_delete_response.py +0 -0
  83. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_list_resources_response.py +0 -0
  84. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_list_response.py +0 -0
  85. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_resource_response.py +0 -0
  86. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/category_response.py +0 -0
  87. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/cost_data.py +0 -0
  88. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/cost_details.py +0 -0
  89. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/default_response.py +0 -0
  90. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experience_instance_response.py +0 -0
  91. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/experience_type.py +0 -0
  92. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/properties_response.py +0 -0
  93. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/property_create_params.py +0 -0
  94. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/type_create_params.py +0 -0
  95. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/type_list_params.py +0 -0
  96. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/type_list_response.py +0 -0
  97. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/experiences/type_update_params.py +0 -0
  98. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/ingest_bulk_params.py +0 -0
  99. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/ingest_response.py +0 -0
  100. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_create_params.py +0 -0
  101. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_list_params.py +0 -0
  102. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_reset_params.py +0 -0
  103. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_response.py +0 -0
  104. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limit_update_params.py +0 -0
  105. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/__init__.py +0 -0
  106. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/limit_tags.py +0 -0
  107. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_create_params.py +0 -0
  108. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_create_response.py +0 -0
  109. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_delete_response.py +0 -0
  110. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_list_response.py +0 -0
  111. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_remove_params.py +0 -0
  112. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_remove_response.py +0 -0
  113. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_update_params.py +0 -0
  114. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/limits/tag_update_response.py +0 -0
  115. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/paged_limit_list.py +0 -0
  116. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/price_modifier.py +0 -0
  117. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/price_modifier_create_params.py +0 -0
  118. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/price_modifier_retrieve_response.py +0 -0
  119. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/price_modifier_update_params.py +0 -0
  120. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/requests/__init__.py +0 -0
  121. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/requests/property_create_params.py +0 -0
  122. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/requests_data.py +0 -0
  123. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/shared/__init__.py +0 -0
  124. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/shared/evaluation_response.py +0 -0
  125. {payi-0.1.0a34 → payi-0.1.0a35}/src/payi/types/total_cost_data.py +0 -0
  126. {payi-0.1.0a34 → payi-0.1.0a35}/tests/__init__.py +0 -0
  127. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/__init__.py +0 -0
  128. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/categories/__init__.py +0 -0
  129. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/categories/test_resources.py +0 -0
  130. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/experiences/__init__.py +0 -0
  131. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/experiences/test_properties.py +0 -0
  132. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/experiences/test_types.py +0 -0
  133. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/limits/__init__.py +0 -0
  134. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/limits/test_tags.py +0 -0
  135. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/requests/__init__.py +0 -0
  136. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/requests/test_properties.py +0 -0
  137. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_billing_models.py +0 -0
  138. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_categories.py +0 -0
  139. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_experiences.py +0 -0
  140. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_limits.py +0 -0
  141. {payi-0.1.0a34 → payi-0.1.0a35}/tests/api_resources/test_price_modifiers.py +0 -0
  142. {payi-0.1.0a34 → payi-0.1.0a35}/tests/conftest.py +0 -0
  143. {payi-0.1.0a34 → payi-0.1.0a35}/tests/sample_file.txt +0 -0
  144. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_client.py +0 -0
  145. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_deepcopy.py +0 -0
  146. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_extract_files.py +0 -0
  147. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_files.py +0 -0
  148. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_models.py +0 -0
  149. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_qs.py +0 -0
  150. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_required_args.py +0 -0
  151. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_response.py +0 -0
  152. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_streaming.py +0 -0
  153. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_transform.py +0 -0
  154. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_utils/test_proxy.py +0 -0
  155. {payi-0.1.0a34 → payi-0.1.0a35}/tests/test_utils/test_typing.py +0 -0
  156. {payi-0.1.0a34 → payi-0.1.0a35}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.1.0-alpha.35"
3
+ }
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.0-alpha.35 (2025-01-12)
4
+
5
+ Full Changelog: [v0.1.0-alpha.34...v0.1.0-alpha.35](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.34...v0.1.0-alpha.35)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([#175](https://github.com/Pay-i/pay-i-python/issues/175)) ([3dd351e](https://github.com/Pay-i/pay-i-python/commit/3dd351ecb7d7c34ce73d8a26590000fb4dc38dbc))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **client:** only call .close() when needed ([#172](https://github.com/Pay-i/pay-i-python/issues/172)) ([75baf12](https://github.com/Pay-i/pay-i-python/commit/75baf1247d05a1b8a02fcfc4aa1342a11ef882b2))
15
+
16
+
17
+ ### Chores
18
+
19
+ * **internal:** bump httpx dependency ([#171](https://github.com/Pay-i/pay-i-python/issues/171)) ([e7bf93a](https://github.com/Pay-i/pay-i-python/commit/e7bf93a87ae1bec99ee4f0fd049b2e4c8f6ef68d))
20
+ * **internal:** codegen related update ([#169](https://github.com/Pay-i/pay-i-python/issues/169)) ([03a0803](https://github.com/Pay-i/pay-i-python/commit/03a0803e49689e31d3d7b42d2da7ed9e886434a8))
21
+ * **internal:** codegen related update ([#174](https://github.com/Pay-i/pay-i-python/issues/174)) ([21d0af0](https://github.com/Pay-i/pay-i-python/commit/21d0af0f6b7a15efa62f9c514681f61fa1f9ddb8))
22
+
23
+
24
+ ### Documentation
25
+
26
+ * fix typos ([#173](https://github.com/Pay-i/pay-i-python/issues/173)) ([3d97187](https://github.com/Pay-i/pay-i-python/commit/3d971877582257b349fa59bc83535b6cc3374c43))
27
+
3
28
  ## 0.1.0-alpha.34 (2025-01-06)
4
29
 
5
30
  Full Changelog: [v0.1.0-alpha.33...v0.1.0-alpha.34](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.33...v0.1.0-alpha.34)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: payi
3
- Version: 0.1.0a34
3
+ Version: 0.1.0a35
4
4
  Summary: The official Python library for the payi API
5
5
  Project-URL: Homepage, https://github.com/Pay-i/pay-i-python
6
6
  Project-URL: Repository, https://github.com/Pay-i/pay-i-python
@@ -142,7 +142,7 @@ except payi.APIStatusError as e:
142
142
  print(e.response)
143
143
  ```
144
144
 
145
- Error codes are as followed:
145
+ Error codes are as follows:
146
146
 
147
147
  | Status Code | Error Type |
148
148
  | ----------- | -------------------------- |
@@ -285,8 +285,7 @@ If you need to access undocumented endpoints, params, or response properties, th
285
285
  #### Undocumented endpoints
286
286
 
287
287
  To make requests to undocumented endpoints, you can make requests using `client.get`, `client.post`, and other
288
- http verbs. Options on the client will be respected (such as retries) will be respected when making this
289
- request.
288
+ http verbs. Options on the client will be respected (such as retries) when making this request.
290
289
 
291
290
  ```py
292
291
  import httpx
@@ -358,7 +357,7 @@ with Payi() as client:
358
357
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
359
358
 
360
359
  1. Changes that only affect static types, without breaking runtime behavior.
361
- 2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_.
360
+ 2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_
362
361
  3. Changes that we do not expect to impact the vast majority of users in practice.
363
362
 
364
363
  We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
@@ -110,7 +110,7 @@ except payi.APIStatusError as e:
110
110
  print(e.response)
111
111
  ```
112
112
 
113
- Error codes are as followed:
113
+ Error codes are as follows:
114
114
 
115
115
  | Status Code | Error Type |
116
116
  | ----------- | -------------------------- |
@@ -253,8 +253,7 @@ If you need to access undocumented endpoints, params, or response properties, th
253
253
  #### Undocumented endpoints
254
254
 
255
255
  To make requests to undocumented endpoints, you can make requests using `client.get`, `client.post`, and other
256
- http verbs. Options on the client will be respected (such as retries) will be respected when making this
257
- request.
256
+ http verbs. Options on the client will be respected (such as retries) when making this request.
258
257
 
259
258
  ```py
260
259
  import httpx
@@ -326,7 +325,7 @@ with Payi() as client:
326
325
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
327
326
 
328
327
  1. Changes that only affect static types, without breaking runtime behavior.
329
- 2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals)_.
328
+ 2. Changes to library internals which are technically public but not intended or documented for external use. _(Please open a GitHub issue to let us know if you are relying on such internals.)_
330
329
  3. Changes that we do not expect to impact the vast majority of users in practice.
331
330
 
332
331
  We take backwards-compatibility seriously and work hard to ensure you can rely on a smooth upgrade experience.
@@ -126,3 +126,53 @@ Methods:
126
126
  - <code title="patch /api/v1/experiences/types/{experience_name}">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">update</a>(experience_name, \*\*<a href="src/payi/types/experiences/type_update_params.py">params</a>) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
127
127
  - <code title="get /api/v1/experiences/types">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">list</a>(\*\*<a href="src/payi/types/experiences/type_list_params.py">params</a>) -> <a href="./src/payi/types/experiences/type_list_response.py">TypeListResponse</a></code>
128
128
  - <code title="delete /api/v1/experiences/types/{experience_name}">client.experiences.types.<a href="./src/payi/resources/experiences/types.py">delete</a>(experience_name) -> <a href="./src/payi/types/experiences/experience_type.py">ExperienceType</a></code>
129
+
130
+ ## Properties
131
+
132
+ Types:
133
+
134
+ ```python
135
+ from payi.types.experiences import PropertiesResponse
136
+ ```
137
+
138
+ Methods:
139
+
140
+ - <code title="post /api/v1/experiences/instances/{experience_id}/properties">client.experiences.properties.<a href="./src/payi/resources/experiences/properties.py">create</a>(experience_id, \*\*<a href="src/payi/types/experiences/property_create_params.py">params</a>) -> <a href="./src/payi/types/experience_instance_response.py">ExperienceInstanceResponse</a></code>
141
+
142
+ # BillingModels
143
+
144
+ Types:
145
+
146
+ ```python
147
+ from payi.types import BillingModel, BillingModelListResponse
148
+ ```
149
+
150
+ Methods:
151
+
152
+ - <code title="post /api/v1/billing-model">client.billing_models.<a href="./src/payi/resources/billing_models.py">create</a>(\*\*<a href="src/payi/types/billing_model_create_params.py">params</a>) -> <a href="./src/payi/types/billing_model.py">BillingModel</a></code>
153
+ - <code title="get /api/v1/billing-model/{billing_model_id}">client.billing_models.<a href="./src/payi/resources/billing_models.py">retrieve</a>(billing_model_id) -> <a href="./src/payi/types/billing_model.py">BillingModel</a></code>
154
+ - <code title="put /api/v1/billing-model/{billing_model_id}">client.billing_models.<a href="./src/payi/resources/billing_models.py">update</a>(billing_model_id, \*\*<a href="src/payi/types/billing_model_update_params.py">params</a>) -> <a href="./src/payi/types/billing_model.py">BillingModel</a></code>
155
+ - <code title="get /api/v1/billing-model">client.billing_models.<a href="./src/payi/resources/billing_models.py">list</a>() -> <a href="./src/payi/types/billing_model_list_response.py">BillingModelListResponse</a></code>
156
+ - <code title="put /api/v1/billing-model/{billing_model_id}/default">client.billing_models.<a href="./src/payi/resources/billing_models.py">set_default</a>(billing_model_id) -> <a href="./src/payi/types/billing_model.py">BillingModel</a></code>
157
+
158
+ # PriceModifiers
159
+
160
+ Types:
161
+
162
+ ```python
163
+ from payi.types import PriceModifier, PriceModifierRetrieveResponse
164
+ ```
165
+
166
+ Methods:
167
+
168
+ - <code title="post /api/v1/price-modifier">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">create</a>(\*\*<a href="src/payi/types/price_modifier_create_params.py">params</a>) -> <a href="./src/payi/types/price_modifier.py">PriceModifier</a></code>
169
+ - <code title="get /api/v1/price-modifier/{billing_model_id}">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">retrieve</a>(billing_model_id) -> <a href="./src/payi/types/price_modifier_retrieve_response.py">PriceModifierRetrieveResponse</a></code>
170
+ - <code title="put /api/v1/price-modifier">client.price_modifiers.<a href="./src/payi/resources/price_modifiers.py">update</a>(\*\*<a href="src/payi/types/price_modifier_update_params.py">params</a>) -> <a href="./src/payi/types/price_modifier.py">PriceModifier</a></code>
171
+
172
+ # Requests
173
+
174
+ ## Properties
175
+
176
+ Methods:
177
+
178
+ - <code title="post /api/v1/requests/{request_id}/properties">client.requests.properties.<a href="./src/payi/resources/requests/properties.py">create</a>(request_id, \*\*<a href="src/payi/types/requests/property_create_params.py">params</a>) -> <a href="./src/payi/types/experiences/properties_response.py">PropertiesResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "payi"
3
- version = "0.1.0-alpha.34"
3
+ version = "0.1.0-alpha.35"
4
4
  description = "The official Python library for the payi API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -54,7 +54,7 @@ dev-dependencies = [
54
54
  "dirty-equals>=0.6.0",
55
55
  "importlib-metadata>=6.7.0",
56
56
  "rich>=13.7.1",
57
- "nest_asyncio==1.6.0"
57
+ "nest_asyncio==1.6.0",
58
58
  ]
59
59
 
60
60
  [tool.rye.scripts]
@@ -35,7 +35,7 @@ h11==0.14.0
35
35
  # via httpcore
36
36
  httpcore==1.0.2
37
37
  # via httpx
38
- httpx==0.25.2
38
+ httpx==0.28.1
39
39
  # via payi
40
40
  # via respx
41
41
  idna==3.4
@@ -76,7 +76,7 @@ python-dateutil==2.8.2
76
76
  # via time-machine
77
77
  pytz==2023.3.post1
78
78
  # via dirty-equals
79
- respx==0.20.2
79
+ respx==0.22.0
80
80
  rich==13.7.1
81
81
  ruff==0.6.9
82
82
  setuptools==68.2.2
@@ -85,7 +85,6 @@ six==1.16.0
85
85
  # via python-dateutil
86
86
  sniffio==1.3.0
87
87
  # via anyio
88
- # via httpx
89
88
  # via payi
90
89
  time-machine==2.9.0
91
90
  tomli==2.0.2
@@ -25,7 +25,7 @@ h11==0.14.0
25
25
  # via httpcore
26
26
  httpcore==1.0.2
27
27
  # via httpx
28
- httpx==0.25.2
28
+ httpx==0.28.1
29
29
  # via payi
30
30
  idna==3.4
31
31
  # via anyio
@@ -36,7 +36,6 @@ pydantic-core==2.27.1
36
36
  # via pydantic
37
37
  sniffio==1.3.0
38
38
  # via anyio
39
- # via httpx
40
39
  # via payi
41
40
  typing-extensions==4.12.2
42
41
  # via anyio
@@ -767,6 +767,9 @@ else:
767
767
 
768
768
  class SyncHttpxClientWrapper(DefaultHttpxClient):
769
769
  def __del__(self) -> None:
770
+ if self.is_closed:
771
+ return
772
+
770
773
  try:
771
774
  self.close()
772
775
  except Exception:
@@ -1334,6 +1337,9 @@ else:
1334
1337
 
1335
1338
  class AsyncHttpxClientWrapper(DefaultAsyncHttpxClient):
1336
1339
  def __del__(self) -> None:
1340
+ if self.is_closed:
1341
+ return
1342
+
1337
1343
  try:
1338
1344
  # TODO(someday): support non asyncio runtimes here
1339
1345
  asyncio.get_running_loop().create_task(self.aclose())
@@ -488,7 +488,11 @@ def construct_type(*, value: object, type_: object) -> object:
488
488
  _, items_type = get_args(type_) # Dict[_, items_type]
489
489
  return {key: construct_type(value=item, type_=items_type) for key, item in value.items()}
490
490
 
491
- if not is_literal_type(type_) and (issubclass(origin, BaseModel) or issubclass(origin, GenericModel)):
491
+ if (
492
+ not is_literal_type(type_)
493
+ and inspect.isclass(origin)
494
+ and (issubclass(origin, BaseModel) or issubclass(origin, GenericModel))
495
+ ):
492
496
  if is_list(value):
493
497
  return [cast(Any, type_).construct(**entry) if is_mapping(entry) else entry for entry in value]
494
498
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "payi"
4
- __version__ = "0.1.0-alpha.34" # x-release-please-version
4
+ __version__ = "0.1.0-alpha.35" # x-release-please-version
@@ -3,7 +3,7 @@ from typing import Dict, List, Union
3
3
 
4
4
 
5
5
  def create_limit_header_from_ids(limit_ids: List[str]) -> Dict[str, str]:
6
- if not isinstance(budglimit_idset_ids, list): # type: ignore
6
+ if not isinstance(limit_ids, list): # type: ignore
7
7
  raise TypeError("limit_ids must be a list")
8
8
 
9
9
  valid_ids = [id.strip() for id in limit_ids if isinstance(id, str) and id.strip()] # type: ignore
@@ -23,6 +23,7 @@ def create_headers(
23
23
  request_tags: Union[List[str], None] = None,
24
24
  user_id: Union[str, None] = None,
25
25
  experience_id: Union[str, None] = None,
26
+ experience_name: Union[str, None] = None,
26
27
  ) -> Dict[str, str]:
27
28
  headers: Dict[str, str] = {}
28
29
 
@@ -34,5 +35,7 @@ def create_headers(
34
35
  headers.update({"xProxy-User-ID": user_id})
35
36
  if experience_id:
36
37
  headers.update({"xProxy-Experience-Id": experience_id})
38
+ if experience_name:
39
+ headers.update({"xProxy-Experience-Name": experience_name})
37
40
 
38
41
  return headers
@@ -1,13 +1,5 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from .csat import (
4
- CsatResource,
5
- AsyncCsatResource,
6
- CsatResourceWithRawResponse,
7
- AsyncCsatResourceWithRawResponse,
8
- CsatResourceWithStreamingResponse,
9
- AsyncCsatResourceWithStreamingResponse,
10
- )
11
3
  from .types import (
12
4
  TypesResource,
13
5
  AsyncTypesResource,
@@ -40,12 +32,6 @@ __all__ = [
40
32
  "AsyncTypesResourceWithRawResponse",
41
33
  "TypesResourceWithStreamingResponse",
42
34
  "AsyncTypesResourceWithStreamingResponse",
43
- "CsatResource",
44
- "AsyncCsatResource",
45
- "CsatResourceWithRawResponse",
46
- "AsyncCsatResourceWithRawResponse",
47
- "CsatResourceWithStreamingResponse",
48
- "AsyncCsatResourceWithStreamingResponse",
49
35
  "PropertiesResource",
50
36
  "AsyncPropertiesResource",
51
37
  "PropertiesResourceWithRawResponse",
@@ -4,14 +4,6 @@ from __future__ import annotations
4
4
 
5
5
  import httpx
6
6
 
7
- from .csat import (
8
- CsatResource,
9
- AsyncCsatResource,
10
- CsatResourceWithRawResponse,
11
- AsyncCsatResourceWithRawResponse,
12
- CsatResourceWithStreamingResponse,
13
- AsyncCsatResourceWithStreamingResponse,
14
- )
15
7
  from .types import (
16
8
  TypesResource,
17
9
  AsyncTypesResource,
@@ -48,10 +40,6 @@ class ExperiencesResource(SyncAPIResource):
48
40
  def types(self) -> TypesResource:
49
41
  return TypesResource(self._client)
50
42
 
51
- @cached_property
52
- def csat(self) -> CsatResource:
53
- return CsatResource(self._client)
54
-
55
43
  @cached_property
56
44
  def properties(self) -> PropertiesResource:
57
45
  return PropertiesResource(self._client)
@@ -180,10 +168,6 @@ class AsyncExperiencesResource(AsyncAPIResource):
180
168
  def types(self) -> AsyncTypesResource:
181
169
  return AsyncTypesResource(self._client)
182
170
 
183
- @cached_property
184
- def csat(self) -> AsyncCsatResource:
185
- return AsyncCsatResource(self._client)
186
-
187
171
  @cached_property
188
172
  def properties(self) -> AsyncPropertiesResource:
189
173
  return AsyncPropertiesResource(self._client)
@@ -325,10 +309,6 @@ class ExperiencesResourceWithRawResponse:
325
309
  def types(self) -> TypesResourceWithRawResponse:
326
310
  return TypesResourceWithRawResponse(self._experiences.types)
327
311
 
328
- @cached_property
329
- def csat(self) -> CsatResourceWithRawResponse:
330
- return CsatResourceWithRawResponse(self._experiences.csat)
331
-
332
312
  @cached_property
333
313
  def properties(self) -> PropertiesResourceWithRawResponse:
334
314
  return PropertiesResourceWithRawResponse(self._experiences.properties)
@@ -352,10 +332,6 @@ class AsyncExperiencesResourceWithRawResponse:
352
332
  def types(self) -> AsyncTypesResourceWithRawResponse:
353
333
  return AsyncTypesResourceWithRawResponse(self._experiences.types)
354
334
 
355
- @cached_property
356
- def csat(self) -> AsyncCsatResourceWithRawResponse:
357
- return AsyncCsatResourceWithRawResponse(self._experiences.csat)
358
-
359
335
  @cached_property
360
336
  def properties(self) -> AsyncPropertiesResourceWithRawResponse:
361
337
  return AsyncPropertiesResourceWithRawResponse(self._experiences.properties)
@@ -379,10 +355,6 @@ class ExperiencesResourceWithStreamingResponse:
379
355
  def types(self) -> TypesResourceWithStreamingResponse:
380
356
  return TypesResourceWithStreamingResponse(self._experiences.types)
381
357
 
382
- @cached_property
383
- def csat(self) -> CsatResourceWithStreamingResponse:
384
- return CsatResourceWithStreamingResponse(self._experiences.csat)
385
-
386
358
  @cached_property
387
359
  def properties(self) -> PropertiesResourceWithStreamingResponse:
388
360
  return PropertiesResourceWithStreamingResponse(self._experiences.properties)
@@ -406,10 +378,6 @@ class AsyncExperiencesResourceWithStreamingResponse:
406
378
  def types(self) -> AsyncTypesResourceWithStreamingResponse:
407
379
  return AsyncTypesResourceWithStreamingResponse(self._experiences.types)
408
380
 
409
- @cached_property
410
- def csat(self) -> AsyncCsatResourceWithStreamingResponse:
411
- return AsyncCsatResourceWithStreamingResponse(self._experiences.csat)
412
-
413
381
  @cached_property
414
382
  def properties(self) -> AsyncPropertiesResourceWithStreamingResponse:
415
383
  return AsyncPropertiesResourceWithStreamingResponse(self._experiences.properties)
@@ -59,7 +59,7 @@ class PropertiesResource(SyncAPIResource):
59
59
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
60
  ) -> ExperienceInstanceResponse:
61
61
  """
62
- Update an Experience properties
62
+ Update Experience properties
63
63
 
64
64
  Args:
65
65
  extra_headers: Send extra headers
@@ -115,7 +115,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
115
115
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
116
116
  ) -> ExperienceInstanceResponse:
117
117
  """
118
- Update an Experience properties
118
+ Update Experience properties
119
119
 
120
120
  Args:
121
121
  extra_headers: Send extra headers
@@ -96,12 +96,12 @@ class IngestResource(SyncAPIResource):
96
96
  experience_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
97
97
  http_status_code: Optional[int] | NotGiven = NOT_GIVEN,
98
98
  properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
99
- provider_prompt: Optional[str] | NotGiven = NOT_GIVEN,
100
- provider_request_headers: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN,
101
- provider_response: Optional[List[str]] | NotGiven = NOT_GIVEN,
102
- provider_response_headers: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN,
99
+ provider_request_headers: Optional[Iterable[ingest_units_params.ProviderRequestHeader]] | NotGiven = NOT_GIVEN,
100
+ provider_request_json: Optional[str] | NotGiven = NOT_GIVEN,
101
+ provider_response_headers: Optional[Iterable[ingest_units_params.ProviderResponseHeader]]
102
+ | NotGiven = NOT_GIVEN,
103
+ provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
103
104
  provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
104
- provisioned_resource_name: Optional[str] | NotGiven = NOT_GIVEN,
105
105
  time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
106
106
  limit_ids: Union[list[str], None] | NotGiven = NOT_GIVEN,
107
107
  request_tags: Union[list[str], None] | NotGiven = NOT_GIVEN,
@@ -201,12 +201,11 @@ class IngestResource(SyncAPIResource):
201
201
  "experience_properties": experience_properties,
202
202
  "http_status_code": http_status_code,
203
203
  "properties": properties,
204
- "provider_prompt": provider_prompt,
205
204
  "provider_request_headers": provider_request_headers,
206
- "provider_response": provider_response,
205
+ "provider_request_json": provider_request_json,
207
206
  "provider_response_headers": provider_response_headers,
207
+ "provider_response_json": provider_response_json,
208
208
  "provider_uri": provider_uri,
209
- "provisioned_resource_name": provisioned_resource_name,
210
209
  "time_to_first_token_ms": time_to_first_token_ms,
211
210
  },
212
211
  ingest_units_params.IngestUnitsParams,
@@ -283,12 +282,12 @@ class AsyncIngestResource(AsyncAPIResource):
283
282
  experience_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
284
283
  http_status_code: Optional[int] | NotGiven = NOT_GIVEN,
285
284
  properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
286
- provider_prompt: Optional[str] | NotGiven = NOT_GIVEN,
287
- provider_request_headers: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN,
288
- provider_response: Optional[List[str]] | NotGiven = NOT_GIVEN,
289
- provider_response_headers: Optional[Dict[str, List[str]]] | NotGiven = NOT_GIVEN,
285
+ provider_request_headers: Optional[Iterable[ingest_units_params.ProviderRequestHeader]] | NotGiven = NOT_GIVEN,
286
+ provider_request_json: Optional[str] | NotGiven = NOT_GIVEN,
287
+ provider_response_headers: Optional[Iterable[ingest_units_params.ProviderResponseHeader]]
288
+ | NotGiven = NOT_GIVEN,
289
+ provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
290
290
  provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
291
- provisioned_resource_name: Optional[str] | NotGiven = NOT_GIVEN,
292
291
  time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
293
292
  limit_ids: Union[list[str], None] | NotGiven = NOT_GIVEN,
294
293
  request_tags: Union[list[str], None] | NotGiven = NOT_GIVEN,
@@ -387,12 +386,11 @@ class AsyncIngestResource(AsyncAPIResource):
387
386
  "experience_properties": experience_properties,
388
387
  "http_status_code": http_status_code,
389
388
  "properties": properties,
390
- "provider_prompt": provider_prompt,
391
389
  "provider_request_headers": provider_request_headers,
392
- "provider_response": provider_response,
390
+ "provider_request_json": provider_request_json,
393
391
  "provider_response_headers": provider_response_headers,
392
+ "provider_response_json": provider_response_json,
394
393
  "provider_uri": provider_uri,
395
- "provisioned_resource_name": provisioned_resource_name,
396
394
  "time_to_first_token_ms": time_to_first_token_ms,
397
395
  },
398
396
  ingest_units_params.IngestUnitsParams,
@@ -59,7 +59,7 @@ class PropertiesResource(SyncAPIResource):
59
59
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
60
  ) -> PropertiesResponse:
61
61
  """
62
- Create properties for a Request
62
+ Update Request properties
63
63
 
64
64
  Args:
65
65
  extra_headers: Send extra headers
@@ -115,7 +115,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
115
115
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
116
116
  ) -> PropertiesResponse:
117
117
  """
118
- Create properties for a Request
118
+ Update Request properties
119
119
 
120
120
  Args:
121
121
  extra_headers: Send extra headers
@@ -2,10 +2,8 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .csat_response import CsatResponse as CsatResponse
6
5
  from .experience_type import ExperienceType as ExperienceType
7
6
  from .type_list_params import TypeListParams as TypeListParams
8
- from .csat_create_params import CsatCreateParams as CsatCreateParams
9
7
  from .type_create_params import TypeCreateParams as TypeCreateParams
10
8
  from .type_list_response import TypeListResponse as TypeListResponse
11
9
  from .type_update_params import TypeUpdateParams as TypeUpdateParams
@@ -2,13 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Optional
5
+ from typing import Dict, List, Union, Iterable, Optional
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  from .._utils import PropertyInfo
10
10
 
11
- __all__ = ["IngestEventParam", "Units"]
11
+ __all__ = ["IngestEventParam", "Units", "ProviderRequestHeader", "ProviderResponseHeader"]
12
12
 
13
13
 
14
14
  class Units(TypedDict, total=False):
@@ -17,6 +17,18 @@ class Units(TypedDict, total=False):
17
17
  output: int
18
18
 
19
19
 
20
+ class ProviderRequestHeader(TypedDict, total=False):
21
+ name: Required[str]
22
+
23
+ value: Optional[str]
24
+
25
+
26
+ class ProviderResponseHeader(TypedDict, total=False):
27
+ name: Required[str]
28
+
29
+ value: Optional[str]
30
+
31
+
20
32
  class IngestEventParam(TypedDict, total=False):
21
33
  category: Required[str]
22
34
 
@@ -42,18 +54,16 @@ class IngestEventParam(TypedDict, total=False):
42
54
 
43
55
  properties: Optional[Dict[str, str]]
44
56
 
45
- provider_prompt: Optional[str]
57
+ provider_request_headers: Optional[Iterable[ProviderRequestHeader]]
46
58
 
47
- provider_request_headers: Optional[Dict[str, List[str]]]
59
+ provider_request_json: Optional[str]
48
60
 
49
- provider_response: Optional[List[str]]
61
+ provider_response_headers: Optional[Iterable[ProviderResponseHeader]]
50
62
 
51
- provider_response_headers: Optional[Dict[str, List[str]]]
63
+ provider_response_json: Union[str, List[str], None]
52
64
 
53
65
  provider_uri: Optional[str]
54
66
 
55
- provisioned_resource_name: Optional[str]
56
-
57
67
  request_tags: Optional[List[str]]
58
68
 
59
69
  time_to_first_token_ms: Optional[int]
@@ -2,13 +2,13 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Dict, List, Union, Optional
5
+ from typing import Dict, List, Union, Iterable, Optional
6
6
  from datetime import datetime
7
7
  from typing_extensions import Required, Annotated, TypedDict
8
8
 
9
9
  from .._utils import PropertyInfo
10
10
 
11
- __all__ = ["IngestUnitsParams", "Units"]
11
+ __all__ = ["IngestUnitsParams", "Units", "ProviderRequestHeader", "ProviderResponseHeader"]
12
12
 
13
13
 
14
14
  class IngestUnitsParams(TypedDict, total=False):
@@ -28,18 +28,16 @@ class IngestUnitsParams(TypedDict, total=False):
28
28
 
29
29
  properties: Optional[Dict[str, str]]
30
30
 
31
- provider_prompt: Optional[str]
31
+ provider_request_headers: Optional[Iterable[ProviderRequestHeader]]
32
32
 
33
- provider_request_headers: Optional[Dict[str, List[str]]]
33
+ provider_request_json: Optional[str]
34
34
 
35
- provider_response: Optional[List[str]]
35
+ provider_response_headers: Optional[Iterable[ProviderResponseHeader]]
36
36
 
37
- provider_response_headers: Optional[Dict[str, List[str]]]
37
+ provider_response_json: Union[str, List[str], None]
38
38
 
39
39
  provider_uri: Optional[str]
40
40
 
41
- provisioned_resource_name: Optional[str]
42
-
43
41
  time_to_first_token_ms: Optional[int]
44
42
 
45
43
  limit_ids: Annotated[Union[list[str], None], PropertyInfo(alias="xProxy-Limit-IDs")]
@@ -56,3 +54,15 @@ class Units(TypedDict, total=False):
56
54
  input: int
57
55
 
58
56
  output: int
57
+
58
+
59
+ class ProviderRequestHeader(TypedDict, total=False):
60
+ name: Required[str]
61
+
62
+ value: Optional[str]
63
+
64
+
65
+ class ProviderResponseHeader(TypedDict, total=False):
66
+ name: Required[str]
67
+
68
+ value: Optional[str]
@@ -19,7 +19,7 @@ class LimitHistory(BaseModel):
19
19
 
20
20
  limit_tags: Optional[List[str]] = None
21
21
 
22
- limittype: Optional[Literal["block", "allow"]] = None
22
+ limit_type: Optional[Literal["block", "allow"]] = None
23
23
 
24
24
  max: Optional[float] = None
25
25