docu-devs-api-client 1.9.1__tar.gz → 1.9.2__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 (273) hide show
  1. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/PKG-INFO +1 -1
  2. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/docudevs_client.py +41 -110
  3. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs_client.py +41 -110
  4. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/pyproject.toml +1 -1
  5. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/.gitignore +0 -0
  6. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/README.md +0 -0
  7. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/cli.py +0 -0
  8. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/__init__.py +0 -0
  9. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/__init__.py +0 -0
  10. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/agent/__init__.py +0 -0
  11. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/agent/chat.py +0 -0
  12. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/agent/get_agent_status.py +0 -0
  13. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/__init__.py +0 -0
  14. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/create_ocr_provider.py +0 -0
  15. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/delete_ocr_provider.py +0 -0
  16. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/get_ocr_provider.py +0 -0
  17. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/list_ocr_keys.py +0 -0
  18. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/list_ocr_providers.py +0 -0
  19. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/update_ocr_key.py +0 -0
  20. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/azure_ocr_providers/update_ocr_provider.py +0 -0
  21. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/__init__.py +0 -0
  22. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/create_batch.py +0 -0
  23. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/delete_batch_lookup_file.py +0 -0
  24. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/download_batch_lookup_file.py +0 -0
  25. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/process_batch.py +0 -0
  26. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/process_batch_with_configuration.py +0 -0
  27. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/schedule_batch.py +0 -0
  28. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/upload_batch_document.py +0 -0
  29. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/batch/upload_batch_lookup_file.py +0 -0
  30. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/__init__.py +0 -0
  31. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/create_checkout_session.py +0 -0
  32. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/get_balance.py +0 -0
  33. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/get_recent_ledger.py +0 -0
  34. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/get_usage_by_jobs.py +0 -0
  35. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/get_usage_events.py +0 -0
  36. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/get_usage_summary.py +0 -0
  37. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/handle_webhook.py +0 -0
  38. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/billing/list_prices.py +0 -0
  39. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/__init__.py +0 -0
  40. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/create_case.py +0 -0
  41. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/delete_case.py +0 -0
  42. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/delete_case_document.py +0 -0
  43. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/download_case_document.py +0 -0
  44. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/get_case.py +0 -0
  45. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/get_case_document.py +0 -0
  46. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/get_document_summary.py +0 -0
  47. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/list_case_documents.py +0 -0
  48. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/list_case_summaries.py +0 -0
  49. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/list_cases.py +0 -0
  50. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/update_case.py +0 -0
  51. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/upload_case_document.py +0 -0
  52. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/cases/upload_case_document_legacy.py +0 -0
  53. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/__init__.py +0 -0
  54. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/delete_configuration.py +0 -0
  55. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/delete_lookup_file.py +0 -0
  56. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/download_excel_template.py +0 -0
  57. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/download_lookup_file.py +0 -0
  58. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/get_configuration.py +0 -0
  59. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/list_configurations.py +0 -0
  60. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/save_configuration.py +0 -0
  61. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/upload_excel_template.py +0 -0
  62. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/configuration/upload_lookup_file.py +0 -0
  63. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/default/__init__.py +0 -0
  64. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/default/get_current_user.py +0 -0
  65. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/default/resolve_ocr_provider.py +0 -0
  66. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/__init__.py +0 -0
  67. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/analyze_document.py +0 -0
  68. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/generate_schema.py +0 -0
  69. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/ocr_document.py +0 -0
  70. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/ocr_document_sync.py +0 -0
  71. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/process_document.py +0 -0
  72. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/process_document_with_configuration.py +0 -0
  73. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/upload_document.py +0 -0
  74. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/upload_files.py +0 -0
  75. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/upload_files_sync.py +0 -0
  76. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/document/upload_template.py +0 -0
  77. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/integration/__init__.py +0 -0
  78. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/integration/create_or_update.py +0 -0
  79. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/integration/delete.py +0 -0
  80. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/integration/list_.py +0 -0
  81. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_llm/__init__.py +0 -0
  82. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_llm/resolve_llm_provider.py +0 -0
  83. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_operation/__init__.py +0 -0
  84. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_operation/internal_get_operation_status.py +0 -0
  85. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_operation/internal_mark_operation_timeout.py +0 -0
  86. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/internal_operation/internal_submit_operation.py +0 -0
  87. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/__init__.py +0 -0
  88. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/delete_job.py +0 -0
  89. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_dependencies.py +0 -0
  90. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_document_outline.py +0 -0
  91. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_figure_image.py +0 -0
  92. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_figures_metadata.py +0 -0
  93. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_image.py +0 -0
  94. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_job_status.py +0 -0
  95. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_processing_params.py +0 -0
  96. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_source_locations.py +0 -0
  97. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/get_trace.py +0 -0
  98. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/list_jobs.py +0 -0
  99. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/result.py +0 -0
  100. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/result_csv.py +0 -0
  101. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/result_excel.py +0 -0
  102. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/result_json.py +0 -0
  103. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/job/result_schema.py +0 -0
  104. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/knowledge_bases/__init__.py +0 -0
  105. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/knowledge_bases/demote_knowledge_base.py +0 -0
  106. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/knowledge_bases/get_knowledge_base.py +0 -0
  107. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/knowledge_bases/list_knowledge_bases.py +0 -0
  108. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/knowledge_bases/promote_knowledge_base.py +0 -0
  109. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/__init__.py +0 -0
  110. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/create_llm_provider.py +0 -0
  111. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/delete_llm_provider.py +0 -0
  112. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/get_llm_provider.py +0 -0
  113. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/list_llm_keys.py +0 -0
  114. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/list_llm_providers.py +0 -0
  115. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/update_llm_key.py +0 -0
  116. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/llm_providers/update_llm_provider.py +0 -0
  117. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/__init__.py +0 -0
  118. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/cancel_managed_execution.py +0 -0
  119. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/dispatch_managed_execution.py +0 -0
  120. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/get_managed_execution.py +0 -0
  121. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/get_managed_execution_logs.py +0 -0
  122. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/managed_execution/list_managed_executions.py +0 -0
  123. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/operations/__init__.py +0 -0
  124. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/operations/create_generative_task.py +0 -0
  125. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/operations/get_operation_result.py +0 -0
  126. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/operations/get_operation_status.py +0 -0
  127. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/operations/submit_operation.py +0 -0
  128. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/settings/__init__.py +0 -0
  129. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/settings/settings.py +0 -0
  130. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/__init__.py +0 -0
  131. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/delete_template.py +0 -0
  132. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/fill.py +0 -0
  133. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/list_templates.py +0 -0
  134. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/metadata.py +0 -0
  135. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/template/upload_template_images.py +0 -0
  136. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/track_changes/__init__.py +0 -0
  137. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/track_changes/extract_track_changes.py +0 -0
  138. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/webhook/__init__.py +0 -0
  139. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/webhook/get_webhook.py +0 -0
  140. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/api/webhook/update_webhook.py +0 -0
  141. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/cli.py +0 -0
  142. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/client.py +0 -0
  143. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/errors.py +0 -0
  144. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/__init__.py +0 -0
  145. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_action.py +0 -0
  146. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_action_data_type_1.py +0 -0
  147. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_chat_request.py +0 -0
  148. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_chat_response.py +0 -0
  149. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_response_content.py +0 -0
  150. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_response_content_suggested_config_type_1.py +0 -0
  151. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/agent_status_response.py +0 -0
  152. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/analyze_document_body.py +0 -0
  153. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/batch_create_request.py +0 -0
  154. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/batch_create_response.py +0 -0
  155. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/batch_schedule_response.py +0 -0
  156. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/batch_upload_response.py +0 -0
  157. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/billing_balance_response.py +0 -0
  158. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/billing_checkout_request.py +0 -0
  159. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/billing_checkout_response.py +0 -0
  160. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/billing_price.py +0 -0
  161. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/case.py +0 -0
  162. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/case_document.py +0 -0
  163. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/case_document_metadata_type_1.py +0 -0
  164. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/cases_controller_create_case_request.py +0 -0
  165. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/cases_controller_update_case_request.py +0 -0
  166. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/chat_message.py +0 -0
  167. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/comment.py +0 -0
  168. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/create_llm_provider_request.py +0 -0
  169. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/create_llm_provider_request_kwargs_type_1.py +0 -0
  170. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/create_ocr_provider_request.py +0 -0
  171. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/create_ocr_provider_request_features_type_1.py +0 -0
  172. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/create_secret_request.py +0 -0
  173. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/daily_usage_entry.py +0 -0
  174. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/dependency_info.py +0 -0
  175. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/dispatch_execution_request.py +0 -0
  176. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/dispatch_execution_response.py +0 -0
  177. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/document_status.py +0 -0
  178. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/document_summary_response.py +0 -0
  179. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/document_summary_response_summary_type_1.py +0 -0
  180. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/document_template.py +0 -0
  181. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/excel_template_config.py +0 -0
  182. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/execution_log_line.py +0 -0
  183. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/extract_track_changes_body.py +0 -0
  184. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/extraction_mode.py +0 -0
  185. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/generate_schema_body.py +0 -0
  186. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/generative_task_request.py +0 -0
  187. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/internal_operation_status_request.py +0 -0
  188. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/internal_operation_status_response.py +0 -0
  189. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/internal_operation_timeout_request.py +0 -0
  190. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/internal_submit_operation_request.py +0 -0
  191. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/knowledge_bases_controller_promote_knowledge_base_request.py +0 -0
  192. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ledger_entry_response.py +0 -0
  193. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/llm_key_binding_dto.py +0 -0
  194. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/llm_provider_dto.py +0 -0
  195. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/llm_type.py +0 -0
  196. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/lookup_file_config.py +0 -0
  197. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/managed_execution_summary.py +0 -0
  198. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/map_reduce_command.py +0 -0
  199. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/map_reduce_header_command.py +0 -0
  200. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/map_reduce_runtime_status.py +0 -0
  201. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/map_reduce_split_type.py +0 -0
  202. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/named_configuration.py +0 -0
  203. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ocr_command.py +0 -0
  204. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ocr_document_sync_body.py +0 -0
  205. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ocr_key_binding_dto.py +0 -0
  206. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ocr_provider_dto.py +0 -0
  207. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/ocr_type.py +0 -0
  208. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/operation_info.py +0 -0
  209. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/operation_parameters.py +0 -0
  210. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/operation_parameters_custom_parameters_type_1.py +0 -0
  211. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/operation_result_response.py +0 -0
  212. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/operation_status_response.py +0 -0
  213. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/organization.py +0 -0
  214. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/page_case_document.py +0 -0
  215. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/page_processing_job.py +0 -0
  216. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pageable.py +0 -0
  217. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pageable_mode.py +0 -0
  218. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pdf_field.py +0 -0
  219. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pipeline_node_status_summary.py +0 -0
  220. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pipeline_ocr_status_summary.py +0 -0
  221. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/pipeline_status_summary.py +0 -0
  222. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/processing_job.py +0 -0
  223. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/processing_job_batch_metadata_type_1.py +0 -0
  224. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/purge_result.py +0 -0
  225. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/resolve_llm_request.py +0 -0
  226. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/resolve_ocr_request.py +0 -0
  227. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/resolved_llm_provider_dto.py +0 -0
  228. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/resolved_ocr_provider_dto.py +0 -0
  229. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/secret_summary.py +0 -0
  230. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/settings.py +0 -0
  231. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/sheet_write_target.py +0 -0
  232. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/slice_case_document.py +0 -0
  233. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/slice_processing_job.py +0 -0
  234. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/sort.py +0 -0
  235. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/sort_order.py +0 -0
  236. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/sort_order_direction.py +0 -0
  237. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/source_location_granularity.py +0 -0
  238. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/submit_operation_request.py +0 -0
  239. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/submit_operation_response.py +0 -0
  240. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/template_fill_request.py +0 -0
  241. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/tool_descriptor.py +0 -0
  242. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/tool_descriptor_config_type_1.py +0 -0
  243. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/tool_type.py +0 -0
  244. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/track_change.py +0 -0
  245. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/track_changes_result.py +0 -0
  246. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/track_changes_summary.py +0 -0
  247. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_key_binding_request_dto.py +0 -0
  248. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_llm_provider_request.py +0 -0
  249. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_llm_provider_request_kwargs_type_1.py +0 -0
  250. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_ocr_key_binding_request_dto.py +0 -0
  251. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_ocr_provider_request.py +0 -0
  252. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/update_ocr_provider_request_features_type_1.py +0 -0
  253. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_batch_document_body.py +0 -0
  254. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_batch_lookup_file_body.py +0 -0
  255. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_case_document_body.py +0 -0
  256. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_case_document_legacy_body.py +0 -0
  257. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_command.py +0 -0
  258. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_command_pipeline_type_1.py +0 -0
  259. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_document_body.py +0 -0
  260. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_excel_template_body.py +0 -0
  261. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_files_body.py +0 -0
  262. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_files_sync_body.py +0 -0
  263. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_lookup_file_body.py +0 -0
  264. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_response.py +0 -0
  265. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_template_body.py +0 -0
  266. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/upload_template_images_body.py +0 -0
  267. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/usage_event_response.py +0 -0
  268. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/usage_summary_response.py +0 -0
  269. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/user_info.py +0 -0
  270. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/models/webhook_settings.py +0 -0
  271. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/py.typed +0 -0
  272. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/schema.py +0 -0
  273. {docu_devs_api_client-1.9.1 → docu_devs_api_client-1.9.2}/docudevs/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: docu-devs-api-client
3
- Version: 1.9.1
3
+ Version: 1.9.2
4
4
  Summary: A client library for accessing DocuDevs API
5
5
  Project-URL: Homepage, https://www.docudevs.ai/
6
6
  Project-URL: Repository, https://github.com/piizei/docudevs.git
@@ -2175,6 +2175,26 @@ class DocuDevsClient:
2175
2175
  return SimpleNamespace(**response_data)
2176
2176
  return response
2177
2177
 
2178
+ async def _wait_for_operation_job_result(
2179
+ self,
2180
+ operation_job_guid: str,
2181
+ *,
2182
+ parent_job_guid: str,
2183
+ operation_type: str,
2184
+ timeout: int,
2185
+ poll_interval: float,
2186
+ ) -> Any:
2187
+ operation_result = await self.wait_until_ready(
2188
+ guid=operation_job_guid,
2189
+ timeout=timeout,
2190
+ poll_interval=poll_interval,
2191
+ )
2192
+ if hasattr(operation_result, "__dict__"):
2193
+ operation_result.job_guid = operation_job_guid
2194
+ operation_result.parent_job_guid = parent_job_guid
2195
+ operation_result.operation_type = operation_type
2196
+ return operation_result
2197
+
2178
2198
  async def submit_and_wait_for_operation(self, job_guid: str, operation_type: str, timeout: int = 120, poll_interval: float = 2.0):
2179
2199
  """Submit an operation and wait for result.
2180
2200
 
@@ -2201,44 +2221,13 @@ class DocuDevsClient:
2201
2221
 
2202
2222
  if not operation_job_guid:
2203
2223
  raise Exception(f"No operation job GUID returned from submit {operation_type} operation")
2204
-
2205
- # Wait for the operation to complete using operation status polling
2206
- import asyncio
2207
- import time
2208
- start_time = time.time()
2209
- operation_completed = False
2210
-
2211
- while time.time() - start_time < timeout:
2212
- status_response = await self.get_operation_status(job_guid=job_guid)
2213
- if status_response and hasattr(status_response, 'operations'):
2214
- target_ops = [op for op in status_response.operations if op.operation_type == operation_type]
2215
-
2216
- if target_ops and target_ops[0].status == "COMPLETED":
2217
- operation_completed = True
2218
- break
2219
- elif target_ops and target_ops[0].status == "ERROR":
2220
- raise Exception(f"Operation failed with error: {target_ops[0].error}")
2221
-
2222
- await asyncio.sleep(poll_interval)
2223
-
2224
- if not operation_completed:
2225
- raise TimeoutError(f"Operation {operation_type} did not complete within {timeout} seconds")
2226
-
2227
- # Get the result
2228
- result_response = await self.get_operation_result(job_guid=job_guid, operation_type=operation_type)
2229
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2230
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2231
- if hasattr(result_response, 'status_code'):
2232
- if result_response.status_code != HTTPStatus.OK:
2233
- content_str = result_response.content.decode('utf-8', errors='replace')
2234
- raise Exception(f"Error getting operation result: {content_str}")
2235
- # Parse the response manually
2236
- import json
2237
- response_data = json.loads(result_response.content.decode('utf-8'))
2238
- return SimpleNamespace(**response_data)
2239
- else:
2240
- # Already parsed as SimpleNamespace
2241
- return result_response
2224
+ return await self._wait_for_operation_job_result(
2225
+ operation_job_guid,
2226
+ parent_job_guid=job_guid,
2227
+ operation_type=operation_type,
2228
+ timeout=timeout,
2229
+ poll_interval=poll_interval,
2230
+ )
2242
2231
 
2243
2232
  async def submit_and_wait_for_image_selection(
2244
2233
  self,
@@ -2386,42 +2375,13 @@ class DocuDevsClient:
2386
2375
 
2387
2376
  if not task_job_guid:
2388
2377
  raise Exception("No job GUID returned from create generative task")
2389
-
2390
- # Wait for the generative task to complete using operation status polling
2391
- start_time = time.time()
2392
- task_completed = False
2393
-
2394
- while time.time() - start_time < timeout:
2395
- status_response = await self.get_operation_status(job_guid=parent_job_id)
2396
- if status_response and hasattr(status_response, 'operations'):
2397
- generative_ops = [op for op in status_response.operations if op.operation_type == "generative-task"]
2398
-
2399
- if generative_ops and generative_ops[0].status == "COMPLETED":
2400
- task_completed = True
2401
- break
2402
- elif generative_ops and generative_ops[0].status == "ERROR":
2403
- raise Exception(f"Generative task failed with error: {generative_ops[0].error}")
2404
-
2405
- await asyncio.sleep(poll_interval)
2406
-
2407
- if not task_completed:
2408
- raise TimeoutError(f"Generative task did not complete within {timeout} seconds")
2409
-
2410
- # Get the result
2411
- result_response = await self.get_operation_result(job_guid=parent_job_id, operation_type="generative-task")
2412
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2413
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2414
- if hasattr(result_response, 'status_code'):
2415
- if result_response.status_code != HTTPStatus.OK:
2416
- content_str = result_response.content.decode('utf-8', errors='replace')
2417
- raise Exception(f"Error getting generative task result: {content_str}")
2418
- # Parse the response manually
2419
- import json
2420
- response_data = json.loads(result_response.content.decode('utf-8'))
2421
- return SimpleNamespace(**response_data)
2422
- else:
2423
- # Already parsed as SimpleNamespace
2424
- return result_response
2378
+ return await self._wait_for_operation_job_result(
2379
+ task_job_guid,
2380
+ parent_job_guid=parent_job_id,
2381
+ operation_type="generative-task",
2382
+ timeout=timeout,
2383
+ poll_interval=poll_interval,
2384
+ )
2425
2385
 
2426
2386
  async def submit_and_wait_for_operation_with_parameters(self, job_guid: str, operation_type: str, llm_type: Optional[str] = None, custom_parameters: Optional[dict] = None, timeout: int = 120, poll_interval: float = 2.0):
2427
2387
  """Submit an operation with parameters and wait for result.
@@ -2456,42 +2416,13 @@ class DocuDevsClient:
2456
2416
 
2457
2417
  if not operation_job_guid:
2458
2418
  raise Exception(f"No operation job GUID returned from submit {operation_type} operation")
2459
-
2460
- # Wait for the operation to complete using operation status polling
2461
- start_time = time.time()
2462
- operation_completed = False
2463
-
2464
- while time.time() - start_time < timeout:
2465
- status_response = await self.get_operation_status(job_guid=job_guid)
2466
- if status_response and hasattr(status_response, 'operations'):
2467
- target_ops = [op for op in status_response.operations if op.operation_type == operation_type]
2468
-
2469
- if target_ops and target_ops[0].status == "COMPLETED":
2470
- operation_completed = True
2471
- break
2472
- elif target_ops and target_ops[0].status == "ERROR":
2473
- raise Exception(f"Operation failed with error: {target_ops[0].error}")
2474
-
2475
- await asyncio.sleep(poll_interval)
2476
-
2477
- if not operation_completed:
2478
- raise TimeoutError(f"Operation {operation_type} did not complete within {timeout} seconds")
2479
-
2480
- # Get the result
2481
- result_response = await self.get_operation_result(job_guid=job_guid, operation_type=operation_type)
2482
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2483
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2484
- if hasattr(result_response, 'status_code'):
2485
- if result_response.status_code != HTTPStatus.OK:
2486
- content_str = result_response.content.decode('utf-8', errors='replace')
2487
- raise Exception(f"Error getting operation result: {content_str}")
2488
- # Parse the response manually
2489
- import json
2490
- response_data = json.loads(result_response.content.decode('utf-8'))
2491
- return SimpleNamespace(**response_data)
2492
- else:
2493
- # Already parsed as SimpleNamespace
2494
- return result_response
2419
+ return await self._wait_for_operation_job_result(
2420
+ operation_job_guid,
2421
+ parent_job_guid=job_guid,
2422
+ operation_type=operation_type,
2423
+ timeout=timeout,
2424
+ poll_interval=poll_interval,
2425
+ )
2495
2426
 
2496
2427
  async def submit_and_process_document(
2497
2428
  self,
@@ -2175,6 +2175,26 @@ class DocuDevsClient:
2175
2175
  return SimpleNamespace(**response_data)
2176
2176
  return response
2177
2177
 
2178
+ async def _wait_for_operation_job_result(
2179
+ self,
2180
+ operation_job_guid: str,
2181
+ *,
2182
+ parent_job_guid: str,
2183
+ operation_type: str,
2184
+ timeout: int,
2185
+ poll_interval: float,
2186
+ ) -> Any:
2187
+ operation_result = await self.wait_until_ready(
2188
+ guid=operation_job_guid,
2189
+ timeout=timeout,
2190
+ poll_interval=poll_interval,
2191
+ )
2192
+ if hasattr(operation_result, "__dict__"):
2193
+ operation_result.job_guid = operation_job_guid
2194
+ operation_result.parent_job_guid = parent_job_guid
2195
+ operation_result.operation_type = operation_type
2196
+ return operation_result
2197
+
2178
2198
  async def submit_and_wait_for_operation(self, job_guid: str, operation_type: str, timeout: int = 120, poll_interval: float = 2.0):
2179
2199
  """Submit an operation and wait for result.
2180
2200
 
@@ -2201,44 +2221,13 @@ class DocuDevsClient:
2201
2221
 
2202
2222
  if not operation_job_guid:
2203
2223
  raise Exception(f"No operation job GUID returned from submit {operation_type} operation")
2204
-
2205
- # Wait for the operation to complete using operation status polling
2206
- import asyncio
2207
- import time
2208
- start_time = time.time()
2209
- operation_completed = False
2210
-
2211
- while time.time() - start_time < timeout:
2212
- status_response = await self.get_operation_status(job_guid=job_guid)
2213
- if status_response and hasattr(status_response, 'operations'):
2214
- target_ops = [op for op in status_response.operations if op.operation_type == operation_type]
2215
-
2216
- if target_ops and target_ops[0].status == "COMPLETED":
2217
- operation_completed = True
2218
- break
2219
- elif target_ops and target_ops[0].status == "ERROR":
2220
- raise Exception(f"Operation failed with error: {target_ops[0].error}")
2221
-
2222
- await asyncio.sleep(poll_interval)
2223
-
2224
- if not operation_completed:
2225
- raise TimeoutError(f"Operation {operation_type} did not complete within {timeout} seconds")
2226
-
2227
- # Get the result
2228
- result_response = await self.get_operation_result(job_guid=job_guid, operation_type=operation_type)
2229
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2230
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2231
- if hasattr(result_response, 'status_code'):
2232
- if result_response.status_code != HTTPStatus.OK:
2233
- content_str = result_response.content.decode('utf-8', errors='replace')
2234
- raise Exception(f"Error getting operation result: {content_str}")
2235
- # Parse the response manually
2236
- import json
2237
- response_data = json.loads(result_response.content.decode('utf-8'))
2238
- return SimpleNamespace(**response_data)
2239
- else:
2240
- # Already parsed as SimpleNamespace
2241
- return result_response
2224
+ return await self._wait_for_operation_job_result(
2225
+ operation_job_guid,
2226
+ parent_job_guid=job_guid,
2227
+ operation_type=operation_type,
2228
+ timeout=timeout,
2229
+ poll_interval=poll_interval,
2230
+ )
2242
2231
 
2243
2232
  async def submit_and_wait_for_image_selection(
2244
2233
  self,
@@ -2386,42 +2375,13 @@ class DocuDevsClient:
2386
2375
 
2387
2376
  if not task_job_guid:
2388
2377
  raise Exception("No job GUID returned from create generative task")
2389
-
2390
- # Wait for the generative task to complete using operation status polling
2391
- start_time = time.time()
2392
- task_completed = False
2393
-
2394
- while time.time() - start_time < timeout:
2395
- status_response = await self.get_operation_status(job_guid=parent_job_id)
2396
- if status_response and hasattr(status_response, 'operations'):
2397
- generative_ops = [op for op in status_response.operations if op.operation_type == "generative-task"]
2398
-
2399
- if generative_ops and generative_ops[0].status == "COMPLETED":
2400
- task_completed = True
2401
- break
2402
- elif generative_ops and generative_ops[0].status == "ERROR":
2403
- raise Exception(f"Generative task failed with error: {generative_ops[0].error}")
2404
-
2405
- await asyncio.sleep(poll_interval)
2406
-
2407
- if not task_completed:
2408
- raise TimeoutError(f"Generative task did not complete within {timeout} seconds")
2409
-
2410
- # Get the result
2411
- result_response = await self.get_operation_result(job_guid=parent_job_id, operation_type="generative-task")
2412
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2413
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2414
- if hasattr(result_response, 'status_code'):
2415
- if result_response.status_code != HTTPStatus.OK:
2416
- content_str = result_response.content.decode('utf-8', errors='replace')
2417
- raise Exception(f"Error getting generative task result: {content_str}")
2418
- # Parse the response manually
2419
- import json
2420
- response_data = json.loads(result_response.content.decode('utf-8'))
2421
- return SimpleNamespace(**response_data)
2422
- else:
2423
- # Already parsed as SimpleNamespace
2424
- return result_response
2378
+ return await self._wait_for_operation_job_result(
2379
+ task_job_guid,
2380
+ parent_job_guid=parent_job_id,
2381
+ operation_type="generative-task",
2382
+ timeout=timeout,
2383
+ poll_interval=poll_interval,
2384
+ )
2425
2385
 
2426
2386
  async def submit_and_wait_for_operation_with_parameters(self, job_guid: str, operation_type: str, llm_type: Optional[str] = None, custom_parameters: Optional[dict] = None, timeout: int = 120, poll_interval: float = 2.0):
2427
2387
  """Submit an operation with parameters and wait for result.
@@ -2456,42 +2416,13 @@ class DocuDevsClient:
2456
2416
 
2457
2417
  if not operation_job_guid:
2458
2418
  raise Exception(f"No operation job GUID returned from submit {operation_type} operation")
2459
-
2460
- # Wait for the operation to complete using operation status polling
2461
- start_time = time.time()
2462
- operation_completed = False
2463
-
2464
- while time.time() - start_time < timeout:
2465
- status_response = await self.get_operation_status(job_guid=job_guid)
2466
- if status_response and hasattr(status_response, 'operations'):
2467
- target_ops = [op for op in status_response.operations if op.operation_type == operation_type]
2468
-
2469
- if target_ops and target_ops[0].status == "COMPLETED":
2470
- operation_completed = True
2471
- break
2472
- elif target_ops and target_ops[0].status == "ERROR":
2473
- raise Exception(f"Operation failed with error: {target_ops[0].error}")
2474
-
2475
- await asyncio.sleep(poll_interval)
2476
-
2477
- if not operation_completed:
2478
- raise TimeoutError(f"Operation {operation_type} did not complete within {timeout} seconds")
2479
-
2480
- # Get the result
2481
- result_response = await self.get_operation_result(job_guid=job_guid, operation_type=operation_type)
2482
- # The get_operation_result method returns either a SimpleNamespace (success) or Response (failure)
2483
- # If it's a SimpleNamespace, it's already parsed; if it's a Response, check status code
2484
- if hasattr(result_response, 'status_code'):
2485
- if result_response.status_code != HTTPStatus.OK:
2486
- content_str = result_response.content.decode('utf-8', errors='replace')
2487
- raise Exception(f"Error getting operation result: {content_str}")
2488
- # Parse the response manually
2489
- import json
2490
- response_data = json.loads(result_response.content.decode('utf-8'))
2491
- return SimpleNamespace(**response_data)
2492
- else:
2493
- # Already parsed as SimpleNamespace
2494
- return result_response
2419
+ return await self._wait_for_operation_job_result(
2420
+ operation_job_guid,
2421
+ parent_job_guid=job_guid,
2422
+ operation_type=operation_type,
2423
+ timeout=timeout,
2424
+ poll_interval=poll_interval,
2425
+ )
2495
2426
 
2496
2427
  async def submit_and_process_document(
2497
2428
  self,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "docu-devs-api-client"
3
- version = "1.9.1"
3
+ version = "1.9.2"
4
4
  description = "A client library for accessing DocuDevs API"
5
5
  authors = [{name = "pj@docudevs.ai"}]
6
6
  readme = "README.md"