hushscript 1.0.0__tar.gz → 1.1.0__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.
Files changed (190) hide show
  1. {hushscript-1.0.0 → hushscript-1.1.0}/PKG-INFO +8 -8
  2. {hushscript-1.0.0 → hushscript-1.1.0}/README.md +1 -1
  3. {hushscript-1.0.0 → hushscript-1.1.0}/pyproject.toml +14 -12
  4. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_shapes.py +1 -1
  5. hushscript-1.1.0/src/hushscript/_version.py +1 -0
  6. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/buy_minutes.py +12 -12
  7. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/claim_agent_account.py +60 -24
  8. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_setup_session.py +12 -8
  9. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_account.py +12 -16
  10. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_org.py +16 -16
  11. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_upload_part_urls.py +21 -35
  12. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_packs.py +12 -8
  13. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_saved_cards.py +12 -8
  14. hushscript-1.1.0/src/hushscript/generated/api/default/rotate_agent_credentials.py +205 -0
  15. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/set_default_card.py +12 -8
  16. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/catalog.py +16 -6
  17. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/__init__.py +2 -2
  18. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/account_response.py +14 -2
  19. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_claim_response.py +2 -1
  20. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_credentials_rotate_response.py +3 -2
  21. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_request.py +1 -3
  22. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_upload_body.py +1 -1
  23. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript.py +2 -1
  24. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/error.py +1 -1
  25. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/error_details.py +12 -2
  26. hushscript-1.0.0/src/hushscript/generated/models/get_upload_part_urls_response_200_type_0.py → hushscript-1.1.0/src/hushscript/generated/models/get_upload_part_urls_response_200.py +7 -7
  27. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job.py +1 -1
  28. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_summary_response.py +2 -2
  29. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/account.py +2 -0
  30. hushscript-1.0.0/src/hushscript/_version.py +0 -1
  31. hushscript-1.0.0/src/hushscript/generated/api/default/rotate_agent_credentials.py +0 -177
  32. {hushscript-1.0.0 → hushscript-1.1.0}/.gitignore +0 -0
  33. {hushscript-1.0.0 → hushscript-1.1.0}/LICENSE +0 -0
  34. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/__init__.py +0 -0
  35. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_client.py +0 -0
  36. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_clock.py +0 -0
  37. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_config.py +0 -0
  38. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_errors.py +0 -0
  39. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_guard.py +0 -0
  40. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_http.py +0 -0
  41. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_json.py +0 -0
  42. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_log.py +0 -0
  43. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_models.py +0 -0
  44. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_pacing.py +0 -0
  45. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_redact.py +0 -0
  46. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_response.py +0 -0
  47. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_retry.py +0 -0
  48. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/_shape.py +0 -0
  49. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/format.py +0 -0
  50. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/__init__.py +0 -0
  51. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/__init__.py +0 -0
  52. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/__init__.py +0 -0
  53. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/complete_upload.py +0 -0
  54. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_agent_account_signup.py +0 -0
  55. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/create_upload.py +0 -0
  56. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_job.py +0 -0
  57. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_transcript.py +0 -0
  58. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/get_transcription_context.py +0 -0
  59. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/heartbeat_upload.py +0 -0
  60. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/lift_transcript_hold.py +0 -0
  61. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_credit_ledger.py +0 -0
  62. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_deleted_transcripts.py +0 -0
  63. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_holds.py +0 -0
  64. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_jobs.py +0 -0
  65. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_audit.py +0 -0
  66. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_invoices.py +0 -0
  67. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_ledger.py +0 -0
  68. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_matters.py +0 -0
  69. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_members.py +0 -0
  70. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_org_transcripts.py +0 -0
  71. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_transactions.py +0 -0
  72. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/list_transcripts.py +0 -0
  73. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_audit_csv.py +0 -0
  74. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_ledger_csv.py +0 -0
  75. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_usage_report.py +0 -0
  76. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/org_usage_report_csv.py +0 -0
  77. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/patch_org_member.py +0 -0
  78. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/place_transcript_hold.py +0 -0
  79. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/schedule_org_custody.py +0 -0
  80. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/api/default/upload_part.py +0 -0
  81. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/client.py +0 -0
  82. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/errors.py +0 -0
  83. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/hints.py +0 -0
  84. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/active_hold.py +0 -0
  85. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/active_hold_kind.py +0 -0
  86. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_claim_request.py +0 -0
  87. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_request_agent.py +0 -0
  88. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/agent_signup_response.py +0 -0
  89. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/buy_minutes_body.py +0 -0
  90. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/card.py +0 -0
  91. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/cards_response.py +0 -0
  92. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/complete_upload_body.py +0 -0
  93. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/complete_upload_body_parts_type_0_item.py +0 -0
  94. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/context_dictionary.py +0 -0
  95. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/context_prompt_preset.py +0 -0
  96. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_setup_session_body.py +0 -0
  97. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/create_upload_body_transcription_options_type_0.py +0 -0
  98. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/credit_ledger_entry.py +0 -0
  99. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/credit_ledger_response.py +0 -0
  100. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_cause.py +0 -0
  101. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_receipt_type_0.py +0 -0
  102. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcript_receipt_type_0_items_item.py +0 -0
  103. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/deleted_transcripts_response.py +0 -0
  104. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/dictionary_entry.py +0 -0
  105. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/dictionary_entry_category.py +0 -0
  106. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/heartbeat_upload_response_200.py +0 -0
  107. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/holds_response.py +0 -0
  108. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_1.py +0 -0
  109. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_2_type_1.py +0 -0
  110. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_failure_kind_type_3_type_1.py +0 -0
  111. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/job_list.py +0 -0
  112. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/lift_transcript_hold_response_200.py +0 -0
  113. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/list_jobs_active.py +0 -0
  114. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/list_org_matters_status.py +0 -0
  115. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/options_summary.py +0 -0
  116. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_audit_entry.py +0 -0
  117. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_audit_response.py +0 -0
  118. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_invoice.py +0 -0
  119. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_invoices_response.py +0 -0
  120. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_ledger_entry.py +0 -0
  121. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_ledger_response.py +0 -0
  122. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matter.py +0 -0
  123. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matter_status.py +0 -0
  124. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_matters_response.py +0 -0
  125. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_member.py +0 -0
  126. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_members_response.py +0 -0
  127. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_transcript.py +0 -0
  128. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_transcripts_response.py +0 -0
  129. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_report_csv_group_by.py +0 -0
  130. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_report_group_by.py +0 -0
  131. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_response.py +0 -0
  132. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_response_group_by.py +0 -0
  133. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/org_usage_row.py +0 -0
  134. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/pack.py +0 -0
  135. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/packs_response.py +0 -0
  136. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/patch_org_member_body.py +0 -0
  137. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/patch_org_member_response_200.py +0 -0
  138. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/place_transcript_hold_response_200.py +0 -0
  139. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/presigned_part_url.py +0 -0
  140. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/purchase_response.py +0 -0
  141. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_body.py +0 -0
  142. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_body_custody.py +0 -0
  143. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/schedule_org_custody_response_200.py +0 -0
  144. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/set_default_card_body.py +0 -0
  145. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/set_default_card_response_200.py +0 -0
  146. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/setup_session_response.py +0 -0
  147. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transaction.py +0 -0
  148. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transactions_response.py +0 -0
  149. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_detail.py +0 -0
  150. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_detail_speaker_names.py +0 -0
  151. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_envelope.py +0 -0
  152. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_envelope_translations.py +0 -0
  153. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_language.py +0 -0
  154. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list.py +0 -0
  155. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list_row.py +0 -0
  156. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcript_list_row_insights_state.py +0 -0
  157. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/transcription_context_response.py +0 -0
  158. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_complete_response.py +0 -0
  159. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response.py +0 -0
  160. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response_funding.py +0 -0
  161. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_create_response_upload_type_0.py +0 -0
  162. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_limits.py +0 -0
  163. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/upload_part_response_200.py +0 -0
  164. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/models/utterance.py +0 -0
  165. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/scopes.py +0 -0
  166. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/generated/types.py +0 -0
  167. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/money.py +0 -0
  168. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/paginate.py +0 -0
  169. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/py.typed +0 -0
  170. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/__init__.py +0 -0
  171. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/_params.py +0 -0
  172. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/agent.py +0 -0
  173. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/billing.py +0 -0
  174. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/jobs.py +0 -0
  175. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/resources/transcripts.py +0 -0
  176. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/__init__.py +0 -0
  177. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/apipeline.py +0 -0
  178. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/aupload.py +0 -0
  179. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/heartbeat.py +0 -0
  180. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/pipeline.py +0 -0
  181. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/preflight.py +0 -0
  182. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/probe.py +0 -0
  183. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/resume.py +0 -0
  184. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/segment.py +0 -0
  185. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/session.py +0 -0
  186. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/sniff.py +0 -0
  187. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/source.py +0 -0
  188. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/upload.py +0 -0
  189. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcribe/wait.py +0 -0
  190. {hushscript-1.0.0 → hushscript-1.1.0}/src/hushscript/transcript.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: hushscript
3
- Version: 1.0.0
3
+ Version: 1.1.0
4
4
  Summary: The official Python SDK for the Hushscript transcription API.
5
5
  Project-URL: Homepage, https://hushscript.com
6
6
  Project-URL: Source, https://github.com/Hushscript/hushscript-sdk-python
@@ -18,13 +18,13 @@ Classifier: Programming Language :: Python :: 3.14
18
18
  Classifier: Programming Language :: Python :: 3.15
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: >=3.10
21
- Requires-Dist: anyio<5,>=4
22
- Requires-Dist: async-timeout<6,>=5
23
- Requires-Dist: attrs>=23.2
24
- Requires-Dist: exceptiongroup>=1.2; python_version < '3.11'
21
+ Requires-Dist: anyio<5,>=4.15.1
22
+ Requires-Dist: async-timeout<6,>=5.0.1
23
+ Requires-Dist: attrs>=26.1.0
24
+ Requires-Dist: exceptiongroup>=1.3.1; python_version < '3.11'
25
25
  Requires-Dist: httpx<0.29,>=0.28.1
26
- Requires-Dist: mutagen<2,>=1.47
27
- Requires-Dist: typing-extensions>=4.12
26
+ Requires-Dist: mutagen<2,>=1.48.1
27
+ Requires-Dist: typing-extensions>=4.16.0
28
28
  Description-Content-Type: text/markdown
29
29
 
30
30
  # Hushscript Python SDK
@@ -473,7 +473,7 @@ just test 3.14 # unit tests with coverage on one interpreter
473
473
  just lint # every static check
474
474
  just examples # every program in examples/ against the conformance mock
475
475
  just build # sdist and wheel, twine and wheel-contents checks, install on the default interpreter (3.10)
476
- just regen # regenerate openapi.json and src/hushscript/generated from the production spec
476
+ just regen # regenerate openapi.json and src/hushscript/generated from the production spec; run it by hand when the API changes
477
477
  ```
478
478
 
479
479
  The conformance mock is built from the `hushscript-sdk-conformance` repository at the tag or commit in
@@ -444,7 +444,7 @@ just test 3.14 # unit tests with coverage on one interpreter
444
444
  just lint # every static check
445
445
  just examples # every program in examples/ against the conformance mock
446
446
  just build # sdist and wheel, twine and wheel-contents checks, install on the default interpreter (3.10)
447
- just regen # regenerate openapi.json and src/hushscript/generated from the production spec
447
+ just regen # regenerate openapi.json and src/hushscript/generated from the production spec; run it by hand when the API changes
448
448
  ```
449
449
 
450
450
  The conformance mock is built from the `hushscript-sdk-conformance` repository at the tag or commit in
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "hushscript"
7
- version = "1.0.0"
7
+ version = "1.1.0"
8
8
  description = "The official Python SDK for the Hushscript transcription API."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -27,12 +27,12 @@ classifiers = [
27
27
  # resolvers. uv.lock pins the exact set that CI tests.
28
28
  dependencies = [
29
29
  "httpx>=0.28.1,<0.29",
30
- "mutagen>=1.47,<2",
31
- "attrs>=23.2",
32
- "typing-extensions>=4.12",
33
- "anyio>=4,<5",
34
- "async-timeout>=5,<6",
35
- "exceptiongroup>=1.2; python_version < '3.11'",
30
+ "mutagen>=1.48.1,<2",
31
+ "attrs>=26.1.0",
32
+ "typing-extensions>=4.16.0",
33
+ "anyio>=4.15.1,<5",
34
+ "async-timeout>=5.0.1,<6",
35
+ "exceptiongroup>=1.3.1; python_version < '3.11'",
36
36
  ]
37
37
 
38
38
  [project.urls]
@@ -43,16 +43,18 @@ Source = "https://github.com/Hushscript/hushscript-sdk-python"
43
43
  dev = [
44
44
  "openapi-python-client==0.29.1; python_version >= '3.11'",
45
45
  "pytest==9.1.1",
46
- "exceptiongroup>=1.2",
47
- "tomli==2.4.0",
48
- "pydantic==2.14.0; python_version >= '3.15'",
46
+ "exceptiongroup>=1.3.1",
47
+ "tomli==2.5.0",
48
+ "pydantic==2.14.1; python_version >= '3.15'",
49
49
  "pytest-randomly==5.0.0",
50
50
  "pytest-cov==7.1.0",
51
51
  "coverage==7.16.2",
52
- "hypothesis==6.168.5",
52
+ # Hypothesis 6.169+ requires Python 3.11; keep the last Python 3.10 release.
53
+ "hypothesis==6.168.5; python_version < '3.11'",
54
+ "hypothesis==6.170.5; python_version >= '3.11'",
53
55
  "mypy==2.4.0",
54
56
  "basedpyright==1.40.2",
55
- "ruff==0.16.10",
57
+ "ruff==0.17.1",
56
58
  "deptry==0.25.1",
57
59
  "mutmut==3.8.0; python_version >= '3.11'",
58
60
  "pip-audit==2.10.1",
@@ -32,7 +32,7 @@ UPLOAD_LIMITS: Final[Shape] = object_of(
32
32
  }
33
33
  )
34
34
 
35
- # `purchases_remaining_in_window` is in the body for agent accounts only, and not yet in the schema.
35
+ # `purchases_remaining_in_window` is in the body for agent accounts only.
36
36
  BALANCE: Final[Shape] = object_of(
37
37
  {"balance_seconds": integer, "held_seconds": count},
38
38
  {
@@ -0,0 +1 @@
1
+ __version__ = "1.1.0" # x-release-please-version
@@ -106,9 +106,9 @@ def sync_detailed(
106
106
  either through the Hushscript app or by opening the hosted Checkout session create_setup_session
107
107
  returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
108
108
  authentication, a different payment method, or was declined, is refused outright rather than opened
109
- as a Checkout session nobody in this flow could complete. Needs the billing scope AND machine
110
- billing switched on for the account in the Hushscript app; either one off is a pat_scope_missing
111
- (code 2023) refusal, whichever it was.
109
+ as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
110
+ buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
111
+ the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
112
112
 
113
113
  Args:
114
114
  body (BuyMinutesBody):
@@ -148,9 +148,9 @@ def sync(
148
148
  either through the Hushscript app or by opening the hosted Checkout session create_setup_session
149
149
  returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
150
150
  authentication, a different payment method, or was declined, is refused outright rather than opened
151
- as a Checkout session nobody in this flow could complete. Needs the billing scope AND machine
152
- billing switched on for the account in the Hushscript app; either one off is a pat_scope_missing
153
- (code 2023) refusal, whichever it was.
151
+ as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
152
+ buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
153
+ the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
154
154
 
155
155
  Args:
156
156
  body (BuyMinutesBody):
@@ -185,9 +185,9 @@ async def asyncio_detailed(
185
185
  either through the Hushscript app or by opening the hosted Checkout session create_setup_session
186
186
  returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
187
187
  authentication, a different payment method, or was declined, is refused outright rather than opened
188
- as a Checkout session nobody in this flow could complete. Needs the billing scope AND machine
189
- billing switched on for the account in the Hushscript app; either one off is a pat_scope_missing
190
- (code 2023) refusal, whichever it was.
188
+ as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
189
+ buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
190
+ the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
191
191
 
192
192
  Args:
193
193
  body (BuyMinutesBody):
@@ -225,9 +225,9 @@ async def asyncio(
225
225
  either through the Hushscript app or by opening the hosted Checkout session create_setup_session
226
226
  returns. A request with no quick_payment_method_id, or a Quick Buy charge that needed
227
227
  authentication, a different payment method, or was declined, is refused outright rather than opened
228
- as a Checkout session nobody in this flow could complete. Needs the billing scope AND machine
229
- billing switched on for the account in the Hushscript app; either one off is a pat_scope_missing
230
- (code 2023) refusal, whichever it was.
228
+ as a Checkout session nobody in this flow could complete. Needs the billing scope, the token's own
229
+ buy-minutes flag (set when the token is created), AND machine billing switched on for the account in
230
+ the Hushscript app; any one off is a pat_scope_missing (code 2023) refusal, whichever it was.
231
231
 
232
232
  Args:
233
233
  body (BuyMinutesBody):
@@ -94,12 +94,21 @@ def sync_detailed(
94
94
 
95
95
  Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
96
96
  returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
97
- signup, a refunded signup, and an expired signup all answer the identical agent_claim_invalid error
98
- so a caller can never learn which of those is true. Only once that secret checks out does payment
99
- state matter: a signup whose Checkout Session has not settled to paid answers wrong_state instead. A
100
- successful claim is single use; creates exactly one account with a synthetic, unresolvable login
101
- identity; grants the paid pack once, never twice, even on a retried request; and mints exactly one
102
- personal access token with the account's own agent scopes, returned only in this response.
97
+ signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
98
+ the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
99
+ once that secret checks out does payment state matter: a signup whose Checkout Session has not
100
+ settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
101
+ synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
102
+ request, and mints one personal access token with the account's own agent scopes. Only the token's
103
+ hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
104
+ has not yet made a successful request, and for up to one hour after it was minted, the retry answers
105
+ 201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
106
+ stops working. Making one successful call with the new token ends the window, and the same request
107
+ then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
108
+ token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
109
+ claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
110
+ or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
111
+ credential for the account, so keep it private.
103
112
 
104
113
  Args:
105
114
  signup_id (str):
@@ -135,12 +144,21 @@ def sync(
135
144
 
136
145
  Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
137
146
  returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
138
- signup, a refunded signup, and an expired signup all answer the identical agent_claim_invalid error
139
- so a caller can never learn which of those is true. Only once that secret checks out does payment
140
- state matter: a signup whose Checkout Session has not settled to paid answers wrong_state instead. A
141
- successful claim is single use; creates exactly one account with a synthetic, unresolvable login
142
- identity; grants the paid pack once, never twice, even on a retried request; and mints exactly one
143
- personal access token with the account's own agent scopes, returned only in this response.
147
+ signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
148
+ the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
149
+ once that secret checks out does payment state matter: a signup whose Checkout Session has not
150
+ settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
151
+ synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
152
+ request, and mints one personal access token with the account's own agent scopes. Only the token's
153
+ hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
154
+ has not yet made a successful request, and for up to one hour after it was minted, the retry answers
155
+ 201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
156
+ stops working. Making one successful call with the new token ends the window, and the same request
157
+ then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
158
+ token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
159
+ claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
160
+ or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
161
+ credential for the account, so keep it private.
144
162
 
145
163
  Args:
146
164
  signup_id (str):
@@ -171,12 +189,21 @@ async def asyncio_detailed(
171
189
 
172
190
  Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
173
191
  returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
174
- signup, a refunded signup, and an expired signup all answer the identical agent_claim_invalid error
175
- so a caller can never learn which of those is true. Only once that secret checks out does payment
176
- state matter: a signup whose Checkout Session has not settled to paid answers wrong_state instead. A
177
- successful claim is single use; creates exactly one account with a synthetic, unresolvable login
178
- identity; grants the paid pack once, never twice, even on a retried request; and mints exactly one
179
- personal access token with the account's own agent scopes, returned only in this response.
192
+ signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
193
+ the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
194
+ once that secret checks out does payment state matter: a signup whose Checkout Session has not
195
+ settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
196
+ synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
197
+ request, and mints one personal access token with the account's own agent scopes. Only the token's
198
+ hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
199
+ has not yet made a successful request, and for up to one hour after it was minted, the retry answers
200
+ 201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
201
+ stops working. Making one successful call with the new token ends the window, and the same request
202
+ then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
203
+ token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
204
+ claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
205
+ or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
206
+ credential for the account, so keep it private.
180
207
 
181
208
  Args:
182
209
  signup_id (str):
@@ -210,12 +237,21 @@ async def asyncio(
210
237
 
211
238
  Exchanges a paid, unclaimed agent signup for the account it pays for. Presents the claim_secret
212
239
  returned once by POST /v1/agent/accounts; a wrong secret, an unknown signup_id, an already claimed
213
- signup, a refunded signup, and an expired signup all answer the identical agent_claim_invalid error
214
- so a caller can never learn which of those is true. Only once that secret checks out does payment
215
- state matter: a signup whose Checkout Session has not settled to paid answers wrong_state instead. A
216
- successful claim is single use; creates exactly one account with a synthetic, unresolvable login
217
- identity; grants the paid pack once, never twice, even on a retried request; and mints exactly one
218
- personal access token with the account's own agent scopes, returned only in this response.
240
+ signup whose token can no longer be re-minted, a refunded signup, and an expired signup all answer
241
+ the identical agent_claim_invalid error so a caller can never learn which of those is true. Only
242
+ once that secret checks out does payment state matter: a signup whose Checkout Session has not
243
+ settled to paid answers wrong_state instead. A successful claim creates exactly one account with a
244
+ synthetic, unresolvable login identity, grants the paid pack once, never twice, even on a retried
245
+ request, and mints one personal access token with the account's own agent scopes. Only the token's
246
+ hash is stored. If the 201 is lost, repeat the request with the same claim_secret: while that token
247
+ has not yet made a successful request, and for up to one hour after it was minted, the retry answers
248
+ 201 with the same user_id, no second pack grant and a NEW token for the same account; the lost token
249
+ stops working. Making one successful call with the new token ends the window, and the same request
250
+ then answers agent_claim_invalid again. A late-landing earlier retry can replace the secret of the
251
+ token you hold, so make that one call right away, and if it answers 401 within the hour, repeat the
252
+ claim. A retry that overlaps a first claim still in flight answers rate_limited with Retry-After: 2
253
+ or re-mints. Until the token is first used or one hour has passed, the claim_secret works as a
254
+ credential for the account, so keep it private.
219
255
 
220
256
  Args:
221
257
  signup_id (str):
@@ -103,8 +103,9 @@ def sync_detailed(
103
103
  card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
104
104
  every call opens a new Session, which is safe since a setup Session is never charged and expires on
105
105
  its own; supply your own key only if you want a retried call to land on the same Session instead.
106
- Needs the billing scope AND machine billing switched on for the account in the Hushscript app;
107
- either one off is a pat_scope_missing (code 2023) refusal, whichever it was.
106
+ Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
107
+ machine billing switched on for the account in the Hushscript app; any one off is a
108
+ pat_scope_missing (code 2023) refusal, whichever it was.
108
109
 
109
110
  Args:
110
111
  body (CreateSetupSessionBody | Unset):
@@ -145,8 +146,9 @@ def sync(
145
146
  card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
146
147
  every call opens a new Session, which is safe since a setup Session is never charged and expires on
147
148
  its own; supply your own key only if you want a retried call to land on the same Session instead.
148
- Needs the billing scope AND machine billing switched on for the account in the Hushscript app;
149
- either one off is a pat_scope_missing (code 2023) refusal, whichever it was.
149
+ Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
150
+ machine billing switched on for the account in the Hushscript app; any one off is a
151
+ pat_scope_missing (code 2023) refusal, whichever it was.
150
152
 
151
153
  Args:
152
154
  body (CreateSetupSessionBody | Unset):
@@ -182,8 +184,9 @@ async def asyncio_detailed(
182
184
  card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
183
185
  every call opens a new Session, which is safe since a setup Session is never charged and expires on
184
186
  its own; supply your own key only if you want a retried call to land on the same Session instead.
185
- Needs the billing scope AND machine billing switched on for the account in the Hushscript app;
186
- either one off is a pat_scope_missing (code 2023) refusal, whichever it was.
187
+ Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
188
+ machine billing switched on for the account in the Hushscript app; any one off is a
189
+ pat_scope_missing (code 2023) refusal, whichever it was.
187
190
 
188
191
  Args:
189
192
  body (CreateSetupSessionBody | Unset):
@@ -222,8 +225,9 @@ async def asyncio(
222
225
  card; call this endpoint again for a fresh link after that. idempotency_key is optional: omit it and
223
226
  every call opens a new Session, which is safe since a setup Session is never charged and expires on
224
227
  its own; supply your own key only if you want a retried call to land on the same Session instead.
225
- Needs the billing scope AND machine billing switched on for the account in the Hushscript app;
226
- either one off is a pat_scope_missing (code 2023) refusal, whichever it was.
228
+ Needs the billing scope, the token's own buy-minutes flag (set when the token is created), AND
229
+ machine billing switched on for the account in the Hushscript app; any one off is a
230
+ pat_scope_missing (code 2023) refusal, whichever it was.
227
231
 
228
232
  Args:
229
233
  body (CreateSetupSessionBody | Unset):
@@ -69,11 +69,10 @@ def sync_detailed(
69
69
  *,
70
70
  client: AuthenticatedClient,
71
71
  ) -> Response[AccountResponse | Error]:
72
- """Read the account's balance, expiry and upload admission limits
72
+ """Read the account's balance and upload admission limits
73
73
 
74
- Returns the caller's net credit balance, when that balance is next scheduled to expire without a
75
- completed transcription or purchase, whether a card is on file, the account's data region, and the
76
- account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
74
+ Returns the caller's net credit balance, whether a card is on file, the account's data region, and
75
+ the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
77
76
  confirm there is enough balance and daily headroom for the upload about to be attempted.
78
77
 
79
78
  Raises:
@@ -97,11 +96,10 @@ def sync(
97
96
  *,
98
97
  client: AuthenticatedClient,
99
98
  ) -> AccountResponse | Error | None:
100
- """Read the account's balance, expiry and upload admission limits
99
+ """Read the account's balance and upload admission limits
101
100
 
102
- Returns the caller's net credit balance, when that balance is next scheduled to expire without a
103
- completed transcription or purchase, whether a card is on file, the account's data region, and the
104
- account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
101
+ Returns the caller's net credit balance, whether a card is on file, the account's data region, and
102
+ the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
105
103
  confirm there is enough balance and daily headroom for the upload about to be attempted.
106
104
 
107
105
  Raises:
@@ -121,11 +119,10 @@ async def asyncio_detailed(
121
119
  *,
122
120
  client: AuthenticatedClient,
123
121
  ) -> Response[AccountResponse | Error]:
124
- """Read the account's balance, expiry and upload admission limits
122
+ """Read the account's balance and upload admission limits
125
123
 
126
- Returns the caller's net credit balance, when that balance is next scheduled to expire without a
127
- completed transcription or purchase, whether a card is on file, the account's data region, and the
128
- account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
124
+ Returns the caller's net credit balance, whether a card is on file, the account's data region, and
125
+ the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
129
126
  confirm there is enough balance and daily headroom for the upload about to be attempted.
130
127
 
131
128
  Raises:
@@ -147,11 +144,10 @@ async def asyncio(
147
144
  *,
148
145
  client: AuthenticatedClient,
149
146
  ) -> AccountResponse | Error | None:
150
- """Read the account's balance, expiry and upload admission limits
147
+ """Read the account's balance and upload admission limits
151
148
 
152
- Returns the caller's net credit balance, when that balance is next scheduled to expire without a
153
- completed transcription or purchase, whether a card is on file, the account's data region, and the
154
- account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
149
+ Returns the caller's net credit balance, whether a card is on file, the account's data region, and
150
+ the account's current daily-minutes and concurrent-jobs limits. Call this before create_upload to
155
151
  confirm there is enough balance and daily headroom for the upload about to be attempted.
156
152
 
157
153
  Raises:
@@ -71,10 +71,10 @@ def sync_detailed(
71
71
  ) -> Response[Error | OrgSummaryResponse]:
72
72
  """Read the caller's organization summary
73
73
 
74
- A pure passthrough of GET /api/org's body: plan state and term, pool balance and expiry, retention
75
- policy, tax id, auto-renewal source and failure count, the workspace-wide default per-member cap,
76
- and the caller's own effective cap and month-to-date spend against the pool. Membership only, not
77
- admin -- renewal_user_id is visible to admins only.
74
+ A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
75
+ id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
76
+ caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
77
+ renewal_user_id is visible to admins only.
78
78
 
79
79
  Raises:
80
80
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -99,10 +99,10 @@ def sync(
99
99
  ) -> Error | OrgSummaryResponse | None:
100
100
  """Read the caller's organization summary
101
101
 
102
- A pure passthrough of GET /api/org's body: plan state and term, pool balance and expiry, retention
103
- policy, tax id, auto-renewal source and failure count, the workspace-wide default per-member cap,
104
- and the caller's own effective cap and month-to-date spend against the pool. Membership only, not
105
- admin -- renewal_user_id is visible to admins only.
102
+ A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
103
+ id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
104
+ caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
105
+ renewal_user_id is visible to admins only.
106
106
 
107
107
  Raises:
108
108
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -123,10 +123,10 @@ async def asyncio_detailed(
123
123
  ) -> Response[Error | OrgSummaryResponse]:
124
124
  """Read the caller's organization summary
125
125
 
126
- A pure passthrough of GET /api/org's body: plan state and term, pool balance and expiry, retention
127
- policy, tax id, auto-renewal source and failure count, the workspace-wide default per-member cap,
128
- and the caller's own effective cap and month-to-date spend against the pool. Membership only, not
129
- admin -- renewal_user_id is visible to admins only.
126
+ A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
127
+ id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
128
+ caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
129
+ renewal_user_id is visible to admins only.
130
130
 
131
131
  Raises:
132
132
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -149,10 +149,10 @@ async def asyncio(
149
149
  ) -> Error | OrgSummaryResponse | None:
150
150
  """Read the caller's organization summary
151
151
 
152
- A pure passthrough of GET /api/org's body: plan state and term, pool balance and expiry, retention
153
- policy, tax id, auto-renewal source and failure count, the workspace-wide default per-member cap,
154
- and the caller's own effective cap and month-to-date spend against the pool. Membership only, not
155
- admin -- renewal_user_id is visible to admins only.
152
+ A pure passthrough of GET /api/org's body: plan state and term, pool balance, retention policy, tax
153
+ id, auto-renewal source and failure count, the workspace-wide default per-member cap, and the
154
+ caller's own effective cap and month-to-date spend against the pool. Membership only, not admin --
155
+ renewal_user_id is visible to admins only.
156
156
 
157
157
  Raises:
158
158
  errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
@@ -1,5 +1,5 @@
1
1
  from http import HTTPStatus
2
- from typing import Any, cast
2
+ from typing import Any
3
3
  from urllib.parse import quote
4
4
 
5
5
  import httpx
@@ -7,9 +7,7 @@ import httpx
7
7
  from ... import errors
8
8
  from ...client import AuthenticatedClient, Client
9
9
  from ...models.error import Error
10
- from ...models.get_upload_part_urls_response_200_type_0 import (
11
- GetUploadPartUrlsResponse200Type0,
12
- )
10
+ from ...models.get_upload_part_urls_response_200 import GetUploadPartUrlsResponse200
13
11
  from ...types import UNSET, Response, Unset
14
12
 
15
13
 
@@ -38,25 +36,9 @@ def _get_kwargs(
38
36
 
39
37
  def _parse_response(
40
38
  *, client: AuthenticatedClient | Client, response: httpx.Response
41
- ) -> Error | GetUploadPartUrlsResponse200Type0 | None | None:
39
+ ) -> Error | GetUploadPartUrlsResponse200 | None:
42
40
  if response.status_code == 200:
43
-
44
- def _parse_response_200(
45
- data: object,
46
- ) -> GetUploadPartUrlsResponse200Type0 | None:
47
- if data is None:
48
- return data
49
- try:
50
- if not isinstance(data, dict):
51
- raise TypeError()
52
- response_200_type_0 = GetUploadPartUrlsResponse200Type0.from_dict(data)
53
-
54
- return response_200_type_0
55
- except (TypeError, ValueError, AttributeError, KeyError):
56
- pass
57
- return cast(GetUploadPartUrlsResponse200Type0 | None, data)
58
-
59
- response_200 = _parse_response_200(response.json())
41
+ response_200 = GetUploadPartUrlsResponse200.from_dict(response.json())
60
42
 
61
43
  return response_200
62
44
 
@@ -103,7 +85,7 @@ def _parse_response(
103
85
 
104
86
  def _build_response(
105
87
  *, client: AuthenticatedClient | Client, response: httpx.Response
106
- ) -> Response[Error | GetUploadPartUrlsResponse200Type0 | None]:
88
+ ) -> Response[Error | GetUploadPartUrlsResponse200]:
107
89
  return Response(
108
90
  status_code=HTTPStatus(response.status_code),
109
91
  content=response.content,
@@ -117,12 +99,13 @@ def sync_detailed(
117
99
  *,
118
100
  client: AuthenticatedClient,
119
101
  start: int | Unset = 1,
120
- ) -> Response[Error | GetUploadPartUrlsResponse200Type0 | None]:
102
+ ) -> Response[Error | GetUploadPartUrlsResponse200]:
121
103
  """Fetch a page of presigned direct-to-R2 part URLs
122
104
 
123
105
  Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
124
106
  requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
125
- this again rather than reusing URLs from create_upload's response.
107
+ this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
108
+ uploads are not available for the job; send the parts through upload_part then.
126
109
 
127
110
  Args:
128
111
  job (str):
@@ -133,7 +116,7 @@ def sync_detailed(
133
116
  httpx.TimeoutException: If the request takes longer than Client.timeout.
134
117
 
135
118
  Returns:
136
- Response[Error | GetUploadPartUrlsResponse200Type0 | None]
119
+ Response[Error | GetUploadPartUrlsResponse200]
137
120
  """
138
121
 
139
122
  kwargs = _get_kwargs(
@@ -153,12 +136,13 @@ def sync(
153
136
  *,
154
137
  client: AuthenticatedClient,
155
138
  start: int | Unset = 1,
156
- ) -> Error | GetUploadPartUrlsResponse200Type0 | None | None:
139
+ ) -> Error | GetUploadPartUrlsResponse200 | None:
157
140
  """Fetch a page of presigned direct-to-R2 part URLs
158
141
 
159
142
  Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
160
143
  requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
161
- this again rather than reusing URLs from create_upload's response.
144
+ this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
145
+ uploads are not available for the job; send the parts through upload_part then.
162
146
 
163
147
  Args:
164
148
  job (str):
@@ -169,7 +153,7 @@ def sync(
169
153
  httpx.TimeoutException: If the request takes longer than Client.timeout.
170
154
 
171
155
  Returns:
172
- Error | GetUploadPartUrlsResponse200Type0 | None
156
+ Error | GetUploadPartUrlsResponse200
173
157
  """
174
158
 
175
159
  return sync_detailed(
@@ -184,12 +168,13 @@ async def asyncio_detailed(
184
168
  *,
185
169
  client: AuthenticatedClient,
186
170
  start: int | Unset = 1,
187
- ) -> Response[Error | GetUploadPartUrlsResponse200Type0 | None]:
171
+ ) -> Response[Error | GetUploadPartUrlsResponse200]:
188
172
  """Fetch a page of presigned direct-to-R2 part URLs
189
173
 
190
174
  Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
191
175
  requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
192
- this again rather than reusing URLs from create_upload's response.
176
+ this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
177
+ uploads are not available for the job; send the parts through upload_part then.
193
178
 
194
179
  Args:
195
180
  job (str):
@@ -200,7 +185,7 @@ async def asyncio_detailed(
200
185
  httpx.TimeoutException: If the request takes longer than Client.timeout.
201
186
 
202
187
  Returns:
203
- Response[Error | GetUploadPartUrlsResponse200Type0 | None]
188
+ Response[Error | GetUploadPartUrlsResponse200]
204
189
  """
205
190
 
206
191
  kwargs = _get_kwargs(
@@ -218,12 +203,13 @@ async def asyncio(
218
203
  *,
219
204
  client: AuthenticatedClient,
220
205
  start: int | Unset = 1,
221
- ) -> Error | GetUploadPartUrlsResponse200Type0 | None | None:
206
+ ) -> Error | GetUploadPartUrlsResponse200 | None:
222
207
  """Fetch a page of presigned direct-to-R2 part URLs
223
208
 
224
209
  Returns a fresh page of presigned PUT URLs for the given job's direct-to-R2 upload, starting at the
225
210
  requested part number. Presigned URLs expire, so a client resuming a stalled transfer should call
226
- this again rather than reusing URLs from create_upload's response.
211
+ this again rather than reusing URLs from create_upload's response. Answers 404 when direct-to-R2
212
+ uploads are not available for the job; send the parts through upload_part then.
227
213
 
228
214
  Args:
229
215
  job (str):
@@ -234,7 +220,7 @@ async def asyncio(
234
220
  httpx.TimeoutException: If the request takes longer than Client.timeout.
235
221
 
236
222
  Returns:
237
- Error | GetUploadPartUrlsResponse200Type0 | None
223
+ Error | GetUploadPartUrlsResponse200
238
224
  """
239
225
 
240
226
  return (