structifyai 1.158.0__py3-none-any.whl → 1.176.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. structify/_base_client.py +140 -11
  2. structify/_client.py +1116 -253
  3. structify/_models.py +16 -1
  4. structify/_streaming.py +12 -10
  5. structify/_types.py +12 -2
  6. structify/_version.py +1 -1
  7. structify/lib/__init__.py +5 -0
  8. structify/lib/cost_confirmation.py +63 -0
  9. structify/pagination.py +63 -1
  10. structify/resources/__init__.py +57 -27
  11. structify/resources/admin/__init__.py +26 -40
  12. structify/resources/admin/admin.py +39 -71
  13. structify/resources/admin/chat_templates.py +382 -0
  14. structify/resources/admin/jobs.py +76 -3
  15. structify/resources/admin/sandbox.py +184 -0
  16. structify/resources/admin/teams.py +88 -0
  17. structify/resources/admin/users.py +28 -238
  18. structify/resources/chat.py +232 -0
  19. structify/resources/connector_catalog/__init__.py +33 -0
  20. structify/resources/connector_catalog/admin.py +1510 -0
  21. structify/resources/connector_catalog/connector_catalog.py +394 -0
  22. structify/resources/connectors/__init__.py +33 -0
  23. structify/resources/{connectors.py → connectors/connectors.py} +1155 -325
  24. structify/resources/connectors/type_snippets.py +169 -0
  25. structify/resources/datasets/datasets.py +0 -4
  26. structify/resources/documents.py +1 -123
  27. structify/resources/external.py +35 -2
  28. structify/resources/jobs.py +19 -336
  29. structify/resources/nango.py +234 -0
  30. structify/resources/polars.py +225 -103
  31. structify/resources/sandbox.py +13 -110
  32. structify/resources/scrape.py +0 -16
  33. structify/resources/sessions.py +241 -153
  34. structify/resources/slack.py +1 -151
  35. structify/resources/structure.py +120 -48
  36. structify/resources/teams.py +96 -0
  37. structify/resources/user/__init__.py +14 -0
  38. structify/resources/user/api_keys.py +380 -0
  39. structify/resources/user/user.py +209 -2
  40. structify/resources/whitelabel.py +294 -187
  41. structify/resources/whitelabel_service.py +222 -0
  42. structify/resources/{report.py → wiki.py} +237 -210
  43. structify/resources/workflow_schedule.py +4 -5
  44. structify/types/__init__.py +67 -36
  45. structify/types/add_member_response.py +35 -4
  46. structify/types/admin/__init__.py +13 -88
  47. structify/types/admin/admin_dataset_return.py +6 -0
  48. structify/types/admin/{user_get_credits_response.py → admin_delete_jobs_response.py} +3 -3
  49. structify/types/admin/admin_list_jobs_response.py +35 -1
  50. structify/types/admin/admin_sandbox.py +38 -0
  51. structify/types/admin/chat_template_create_params.py +21 -0
  52. structify/types/admin/{human_llm_start_next_job_params.py → chat_template_list_params.py} +3 -3
  53. structify/types/admin/{human_llm_get_jobs_response.py → chat_template_list_response.py} +3 -3
  54. structify/types/admin/chat_template_update_params.py +22 -0
  55. structify/types/admin/{user_add_credits_response.py → expire_grants_response.py} +5 -3
  56. structify/types/admin/impersonate_response.py +17 -0
  57. structify/types/admin/{next_action_get_batched_training_data_params.py → job_delete_params.py} +2 -2
  58. structify/types/admin/{user_get_credits_params.py → sandbox_list_params.py} +4 -4
  59. structify/types/admin/sandbox_type.py +7 -0
  60. structify/types/admin/{user_set_credits_params.py → team_expire_grants_params.py} +4 -4
  61. structify/types/admin/user.py +16 -0
  62. structify/types/admin/user_create_params.py +1 -0
  63. structify/types/admin/{training_dataset_delete_params.py → user_impersonate_params.py} +3 -3
  64. structify/types/admin/user_list_response.py +14 -4
  65. structify/types/admin_grant_access_response.py +2 -0
  66. structify/types/{slack_user_mapping_response.py → admin_issue_found_response.py} +3 -5
  67. structify/types/chat_add_git_commit_response.py +2 -0
  68. structify/types/{admin/human_llm_get_next_step_params.py → chat_admin_issue_found_params.py} +4 -4
  69. structify/types/chat_create_session_params.py +7 -0
  70. structify/types/chat_dependency.py +17 -0
  71. structify/types/chat_event.py +51 -239
  72. structify/types/chat_get_git_commit_response.py +2 -0
  73. structify/types/chat_get_session_timeline_response.py +31 -1
  74. structify/types/{job_get_steps_response.py → chat_list_templates_response.py} +3 -3
  75. structify/types/chat_prompt.py +2 -0
  76. structify/types/chat_revert_to_commit_response.py +2 -0
  77. structify/types/chat_session.py +14 -0
  78. structify/types/chat_session_with_messages.py +33 -1
  79. structify/types/chat_template.py +31 -0
  80. structify/types/chat_update_session_params.py +2 -0
  81. structify/types/code_generate_code_params.py +7 -0
  82. structify/types/connector.py +16 -25
  83. structify/types/connector_auth_method.py +29 -0
  84. structify/types/connector_auth_method_with_fields.py +15 -0
  85. structify/types/connector_catalog/__init__.py +32 -0
  86. structify/types/connector_catalog/admin_batch_create_credential_fields_params.py +14 -0
  87. structify/types/connector_catalog/admin_batch_create_credential_fields_response.py +10 -0
  88. structify/types/connector_catalog/admin_batch_create_scopes_params.py +14 -0
  89. structify/types/connector_catalog/admin_create_auth_method_params.py +22 -0
  90. structify/types/connector_catalog/admin_create_catalog_params.py +22 -0
  91. structify/types/connector_catalog/admin_create_credential_field_params.py +28 -0
  92. structify/types/connector_catalog/admin_create_scope_params.py +19 -0
  93. structify/types/connector_catalog/admin_list_nango_pending_response.py +10 -0
  94. structify/types/{admin/training_dataset_get_datum_info_params.py → connector_catalog/admin_list_scopes_params.py} +3 -3
  95. structify/types/connector_catalog/admin_update_auth_method_params.py +16 -0
  96. structify/types/connector_catalog/admin_update_catalog_params.py +20 -0
  97. structify/types/connector_catalog/admin_update_credential_field_params.py +26 -0
  98. structify/types/connector_catalog/admin_update_scope_params.py +18 -0
  99. structify/types/connector_catalog/admin_upload_logo_params.py +13 -0
  100. structify/types/connector_catalog/batch_create_scopes_response.py +12 -0
  101. structify/types/connector_catalog/connector_auth_method_scope.py +25 -0
  102. structify/types/connector_catalog/connector_catalog.py +26 -0
  103. structify/types/connector_catalog/create_credential_field_request_param.py +28 -0
  104. structify/types/connector_catalog/create_scope_request_param.py +19 -0
  105. structify/types/connector_catalog/list_scopes_response.py +12 -0
  106. structify/types/connector_catalog/pending_nango_integration.py +17 -0
  107. structify/types/{admin/user_set_credits_response.py → connector_catalog/upload_logo_response.py} +3 -3
  108. structify/types/connector_catalog_list_params.py +20 -0
  109. structify/types/connector_catalog_list_response.py +22 -0
  110. structify/types/connector_catalog_with_methods.py +15 -0
  111. structify/types/connector_category.py +7 -0
  112. structify/types/connector_create_params.py +11 -25
  113. structify/types/connector_credential_field.py +34 -0
  114. structify/types/connector_delete_schema_object_params.py +35 -0
  115. structify/types/connector_explore_params.py +19 -0
  116. structify/types/connector_explorer_chat.py +9 -84
  117. structify/types/connector_get_clarification_requests_response.py +36 -0
  118. structify/types/connector_get_response.py +2 -0
  119. structify/types/connector_list_with_snippets_params.py +12 -0
  120. structify/types/connector_list_with_snippets_response.py +10 -0
  121. structify/types/connector_search_tables_params.py +15 -0
  122. structify/types/connector_search_tables_response.py +160 -0
  123. structify/types/connector_store_response.py +21 -0
  124. structify/types/connector_summaries_params.py +15 -0
  125. structify/types/connector_summaries_response.py +10 -0
  126. structify/types/connector_summary.py +16 -0
  127. structify/types/connector_table_info.py +15 -0
  128. structify/types/connector_update_column_params.py +12 -0
  129. structify/types/connector_update_params.py +4 -25
  130. structify/types/connector_update_table_params.py +14 -0
  131. structify/types/connector_with_secrets.py +2 -0
  132. structify/types/connector_with_snippets.py +11 -0
  133. structify/types/connectors/__init__.py +6 -0
  134. structify/types/connectors/snippet.py +20 -0
  135. structify/types/connectors/type_snippet_upsert_params.py +12 -0
  136. structify/types/create_chat_session_response.py +2 -0
  137. structify/types/dataset_create_params.py +0 -2
  138. structify/types/dataset_descriptor.py +6 -0
  139. structify/types/dataset_descriptor_param.py +6 -0
  140. structify/types/dataset_get_response.py +6 -0
  141. structify/types/dataset_list_response.py +6 -0
  142. structify/types/dataset_view_table_response.py +3 -1
  143. structify/types/delete_chat_session_response.py +2 -0
  144. structify/types/delete_schema_object_request_param.py +35 -0
  145. structify/types/delete_schema_object_response.py +13 -0
  146. structify/types/edge_spec_param.py +13 -0
  147. structify/types/entity_get_source_entities_response.py +0 -2
  148. structify/types/entity_list_jobs_response.py +3 -3
  149. structify/types/entity_view_response.py +0 -2
  150. structify/types/estimate_cost_response.py +9 -0
  151. structify/types/exploration_phase_id.py +79 -0
  152. structify/types/finalize_dag_response.py +11 -0
  153. structify/types/get_chat_session_response.py +14 -6
  154. structify/types/get_dependencies_response.py +15 -0
  155. structify/types/get_job_events_response.py +20 -0
  156. structify/types/get_node_response.py +10 -0
  157. structify/types/job_cancel_response.py +3 -3
  158. structify/types/job_event_body.py +108 -1
  159. structify/types/job_get_source_entities_response.py +0 -2
  160. structify/types/job_list_params.py +1 -1
  161. structify/types/job_list_response.py +35 -1
  162. structify/types/knowledge_graph.py +6 -0
  163. structify/types/knowledge_graph_param.py +6 -0
  164. structify/types/list_chat_sessions_response.py +2 -0
  165. structify/types/list_collaborators_response.py +4 -0
  166. structify/types/list_tables_response.py +12 -0
  167. structify/types/llm_information_store.py +62 -28
  168. structify/types/merge_config.py +2 -0
  169. structify/types/merge_config_param.py +2 -0
  170. structify/types/message.py +2 -0
  171. structify/types/nango_create_session_params.py +21 -0
  172. structify/types/nango_create_session_response.py +15 -0
  173. structify/types/nango_list_integrations_response.py +28 -0
  174. structify/types/{session_create_node_params.py → node_spec_param.py} +4 -4
  175. structify/types/refresh_session_response.py +15 -0
  176. structify/types/sandbox.py +8 -2
  177. structify/types/sandbox_get_params.py +2 -1
  178. structify/types/scrape_list_params.py +1 -22
  179. structify/types/scrape_list_response.py +2 -0
  180. structify/types/scrape_scrape_params.py +1 -14
  181. structify/types/scrape_scrape_response.py +2 -0
  182. structify/types/select_team_response.py +3 -1
  183. structify/types/{connector_approve_version_params.py → session_confirm_node_params.py} +3 -3
  184. structify/types/session_finalize_dag_params.py +20 -0
  185. structify/types/session_get_events_response.py +2 -0
  186. structify/types/session_request_confirmation_params.py +13 -0
  187. structify/types/session_upload_node_output_data_params.py +3 -0
  188. structify/types/slack_event_payload_param.py +18 -2
  189. structify/types/slack_events_params.py +18 -2
  190. structify/types/source_list_response.py +0 -2
  191. structify/types/structure_enhance_property_params.py +2 -17
  192. structify/types/structure_enhance_relationship_params.py +2 -17
  193. structify/types/structure_find_relationship_params.py +2 -18
  194. structify/types/structure_pdf_params.py +22 -0
  195. structify/types/structure_pdf_response.py +11 -0
  196. structify/types/structure_run_async_params.py +10 -17
  197. structify/types/table.py +2 -0
  198. structify/types/table_param.py +2 -0
  199. structify/types/team.py +14 -0
  200. structify/types/{admin/training_dataset_remove_datum_params.py → team_create_link_code_params.py} +3 -3
  201. structify/types/team_update_params.py +10 -0
  202. structify/types/team_wiki_page.py +28 -0
  203. structify/types/teams_link_code_response.py +13 -0
  204. structify/types/token_response.py +6 -2
  205. structify/types/tool_invocation.py +468 -0
  206. structify/types/tool_result.py +99 -0
  207. structify/types/update_table_response.py +46 -0
  208. structify/types/usage_group_key.py +14 -1
  209. structify/types/user/__init__.py +4 -0
  210. structify/types/{admin/training_dataset_size_params.py → user/api_key_create_params.py} +5 -5
  211. structify/types/user/api_key_info.py +24 -0
  212. structify/types/user/create_api_key_response.py +12 -0
  213. structify/types/user/list_api_keys_response.py +12 -0
  214. structify/types/user_enrich_params.py +11 -0
  215. structify/types/user_info.py +22 -0
  216. structify/types/user_refresh_params.py +13 -0
  217. structify/types/user_transactions_response.py +5 -5
  218. structify/types/user_update_params.py +32 -12
  219. structify/types/user_usage_response.py +0 -2
  220. structify/types/wiki_connector_reference.py +63 -0
  221. structify/types/wiki_create_params.py +16 -0
  222. structify/types/{admin/training_dataset_list_response.py → wiki_list_response.py} +4 -2
  223. structify/types/wiki_page_with_references.py +12 -0
  224. structify/types/wiki_update_params.py +16 -0
  225. structify/types/workflow_dag.py +2 -0
  226. structify/types/workflow_node_execution_status.py +3 -1
  227. structify/types/workflow_schedule_info.py +2 -2
  228. structify/types/workflow_session_node.py +10 -0
  229. {structifyai-1.158.0.dist-info → structifyai-1.176.1.dist-info}/METADATA +67 -4
  230. structifyai-1.176.1.dist-info/RECORD +496 -0
  231. {structifyai-1.158.0.dist-info → structifyai-1.176.1.dist-info}/licenses/LICENSE +1 -1
  232. structify/resources/admin/human_llm.py +0 -819
  233. structify/resources/admin/next_action.py +0 -656
  234. structify/resources/admin/training_datasets.py +0 -2028
  235. structify/resources/external/__init__.py +0 -61
  236. structify/resources/external/external.py +0 -166
  237. structify/resources/external/news.py +0 -519
  238. structify/resources/external/people.py +0 -998
  239. structify/resources/external/search_api.py +0 -1525
  240. structify/types/active_version_data.py +0 -21
  241. structify/types/active_version_response.py +0 -13
  242. structify/types/admin/action_training_data_entry.py +0 -219
  243. structify/types/admin/action_training_data_response.py +0 -12
  244. structify/types/admin/datum_status.py +0 -19
  245. structify/types/admin/delete_action_training_data_response.py +0 -9
  246. structify/types/admin/human_llm_add_search_for_job_params.py +0 -13
  247. structify/types/admin/human_llm_add_to_dataset_params.py +0 -186
  248. structify/types/admin/human_llm_finish_job_params.py +0 -13
  249. structify/types/admin/human_llm_get_jobs_params.py +0 -12
  250. structify/types/admin/human_llm_get_next_step_response.py +0 -196
  251. structify/types/admin/human_llm_job.py +0 -73
  252. structify/types/admin/human_llm_prelabel_step_response.py +0 -184
  253. structify/types/admin/human_llm_update_step_params.py +0 -186
  254. structify/types/admin/labeling_stats.py +0 -24
  255. structify/types/admin/next_action_add_training_datum_params.py +0 -203
  256. structify/types/admin/next_action_delete_training_data_params.py +0 -12
  257. structify/types/admin/next_action_get_training_data_params.py +0 -25
  258. structify/types/admin/next_action_get_training_datum_params.py +0 -12
  259. structify/types/admin/next_action_label_training_datum_params.py +0 -90
  260. structify/types/admin/step_choices.py +0 -32
  261. structify/types/admin/training_dataset_add_datum_params.py +0 -13
  262. structify/types/admin/training_dataset_add_params.py +0 -12
  263. structify/types/admin/training_dataset_download_datum_params.py +0 -13
  264. structify/types/admin/training_dataset_get_labeller_stats_params.py +0 -23
  265. structify/types/admin/training_dataset_get_labeller_stats_response.py +0 -10
  266. structify/types/admin/training_dataset_get_next_for_labeling_params.py +0 -15
  267. structify/types/admin/training_dataset_get_next_for_qa_params.py +0 -18
  268. structify/types/admin/training_dataset_get_next_suspicious_params.py +0 -23
  269. structify/types/admin/training_dataset_label_datum_params.py +0 -188
  270. structify/types/admin/training_dataset_list_datums_params.py +0 -17
  271. structify/types/admin/training_dataset_list_datums_response.py +0 -33
  272. structify/types/admin/training_dataset_mark_datum_suspicious_params.py +0 -19
  273. structify/types/admin/training_dataset_size_response.py +0 -37
  274. structify/types/admin/training_dataset_suspicious_count_params.py +0 -23
  275. structify/types/admin/training_dataset_suspicious_count_response.py +0 -9
  276. structify/types/admin/training_dataset_switch_dataset_params.py +0 -13
  277. structify/types/admin/training_dataset_update_datum_status_params.py +0 -18
  278. structify/types/admin/training_dataset_upload_labeled_step_params.py +0 -15
  279. structify/types/admin/training_dataset_verify_datum_params.py +0 -17
  280. structify/types/admin/training_datum_response.py +0 -405
  281. structify/types/admin/user_add_credits_params.py +0 -18
  282. structify/types/chat_prompt_param.py +0 -255
  283. structify/types/connector_column_descriptor.py +0 -21
  284. structify/types/connector_relational_database_descriptor.py +0 -13
  285. structify/types/connector_table_descriptor.py +0 -22
  286. structify/types/document_structure_params.py +0 -21
  287. structify/types/document_structure_response.py +0 -8
  288. structify/types/execution_step.py +0 -198
  289. structify/types/external/__init__.py +0 -96
  290. structify/types/external/companies_search_response.py +0 -28
  291. structify/types/external/company_search_result.py +0 -69
  292. structify/types/external/enriched_organization.py +0 -69
  293. structify/types/external/everything_response.py +0 -19
  294. structify/types/external/google_maps_result.py +0 -38
  295. structify/types/external/google_search_response.py +0 -19
  296. structify/types/external/google_search_result.py +0 -21
  297. structify/types/external/job_posting.py +0 -54
  298. structify/types/external/job_postings_response.py +0 -19
  299. structify/types/external/location_coordinates.py +0 -13
  300. structify/types/external/location_response.py +0 -16
  301. structify/types/external/location_result.py +0 -24
  302. structify/types/external/news_article.py +0 -33
  303. structify/types/external/news_everything_params.py +0 -45
  304. structify/types/external/news_source.py +0 -15
  305. structify/types/external/news_source_detail.py +0 -28
  306. structify/types/external/news_sources_params.py +0 -19
  307. structify/types/external/news_top_headlines_params.py +0 -28
  308. structify/types/external/organization_detail.py +0 -87
  309. structify/types/external/people_match_response.py +0 -18
  310. structify/types/external/people_search_response.py +0 -28
  311. structify/types/external/person_companies_search_params.py +0 -63
  312. structify/types/external/person_match.py +0 -60
  313. structify/types/external/person_organization_job_postings_params.py +0 -16
  314. structify/types/external/person_organizations_enrich_params.py +0 -16
  315. structify/types/external/person_people_match_params.py +0 -49
  316. structify/types/external/person_people_search_params.py +0 -57
  317. structify/types/external/person_search_result.py +0 -48
  318. structify/types/external/search_api_google_flights_calendar_params.py +0 -28
  319. structify/types/external/search_api_google_flights_calendar_response.py +0 -8
  320. structify/types/external/search_api_google_flights_location_search_params.py +0 -16
  321. structify/types/external/search_api_google_flights_location_search_response.py +0 -8
  322. structify/types/external/search_api_google_flights_search_params.py +0 -43
  323. structify/types/external/search_api_google_flights_search_response.py +0 -8
  324. structify/types/external/search_api_google_maps_place_details_params.py +0 -16
  325. structify/types/external/search_api_google_maps_place_details_response.py +0 -8
  326. structify/types/external/search_api_google_maps_place_photos_params.py +0 -16
  327. structify/types/external/search_api_google_maps_place_photos_response.py +0 -8
  328. structify/types/external/search_api_google_maps_place_reviews_params.py +0 -19
  329. structify/types/external/search_api_google_maps_place_reviews_response.py +0 -8
  330. structify/types/external/search_api_google_maps_search_params.py +0 -22
  331. structify/types/external/search_api_google_maps_search_response.py +0 -10
  332. structify/types/external/search_api_google_scholar_author_search_params.py +0 -22
  333. structify/types/external/search_api_google_scholar_author_search_response.py +0 -8
  334. structify/types/external/search_api_google_scholar_citations_params.py +0 -22
  335. structify/types/external/search_api_google_scholar_citations_response.py +0 -8
  336. structify/types/external/search_api_google_scholar_search_params.py +0 -28
  337. structify/types/external/search_api_google_scholar_search_response.py +0 -8
  338. structify/types/external/search_api_google_search_params.py +0 -25
  339. structify/types/external/search_api_location_search_params.py +0 -22
  340. structify/types/external/sources_response.py +0 -16
  341. structify/types/external/top_headlines_response.py +0 -19
  342. structify/types/job_delete_response.py +0 -7
  343. structify/types/job_get_response.py +0 -62
  344. structify/types/job_get_step_graph_response.py +0 -233
  345. structify/types/job_get_step_response.py +0 -196
  346. structify/types/message_param.py +0 -35
  347. structify/types/pending_version_response.py +0 -21
  348. structify/types/report_missing_params.py +0 -18
  349. structify/types/report_missing_response.py +0 -7
  350. structify/types/report_relationship_params.py +0 -18
  351. structify/types/report_relationship_response.py +0 -7
  352. structify/types/report_step_params.py +0 -15
  353. structify/types/report_step_response.py +0 -7
  354. structify/types/report_wrong_params.py +0 -18
  355. structify/types/report_wrong_response.py +0 -7
  356. structify/types/sandbox_create_params.py +0 -20
  357. structify/types/session_create_edge_params.py +0 -13
  358. structify/types/slack_connection_status.py +0 -15
  359. structify/types/slack_user_mapping_params.py +0 -18
  360. structify/types/tool_metadata_param.py +0 -17
  361. structify/types/user_team.py +0 -35
  362. structify/types/workflow_schedule_get_response.py +0 -10
  363. structifyai-1.158.0.dist-info/RECORD +0 -530
  364. {structifyai-1.158.0.dist-info → structifyai-1.176.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["UserEnrichParams"]
8
+
9
+
10
+ class UserEnrichParams(TypedDict, total=False):
11
+ email: Required[str]
@@ -10,6 +10,8 @@ __all__ = ["UserInfo"]
10
10
 
11
11
 
12
12
  class UserInfo(BaseModel):
13
+ completed_onboarding: bool
14
+
13
15
  credits_remaining: int
14
16
 
15
17
  credits_used: int
@@ -25,6 +27,7 @@ class UserInfo(BaseModel):
25
27
  "cerebras_codegen",
26
28
  "gemini25pro",
27
29
  "claude_sonnet4",
30
+ "allow_job_deletion",
28
31
  "none",
29
32
  ]
30
33
  ]
@@ -41,6 +44,25 @@ class UserInfo(BaseModel):
41
44
 
42
45
  username: str
43
46
 
47
+ company_description: Optional[str] = None
48
+
49
+ company_name: Optional[str] = None
50
+
51
+ cost_confirmation_threshold: Optional[int] = None
52
+ """Cost confirmation threshold in credits (thousandth of a cent)."""
53
+
54
+ impersonated_by_email: Optional[str] = None
55
+
56
+ job_title: Optional[str] = None
57
+
44
58
  last_selected_team_id: Optional[str] = None
45
59
 
60
+ linkedin_url: Optional[str] = None
61
+
62
+ onboarding_session_id: Optional[str] = None
63
+
64
+ slack_user_id: Optional[str] = None
65
+
66
+ slack_username: Optional[str] = None
67
+
46
68
  survey_completed_at: Optional[datetime] = None
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["UserRefreshParams"]
8
+
9
+
10
+ class UserRefreshParams(TypedDict, total=False):
11
+ refresh_token: Required[str]
12
+
13
+ session_token: Required[str]
@@ -2,7 +2,7 @@
2
2
 
3
3
  from typing import List, Optional
4
4
  from datetime import datetime
5
- from typing_extensions import Literal, TypeAlias
5
+ from typing_extensions import TypeAlias
6
6
 
7
7
  from .._models import BaseModel
8
8
 
@@ -10,18 +10,18 @@ __all__ = ["UserTransactionsResponse", "UserTransactionsResponseItem"]
10
10
 
11
11
 
12
12
  class UserTransactionsResponseItem(BaseModel):
13
+ """Represents a transaction in our database."""
14
+
13
15
  id: str
14
16
 
15
17
  amount: int
16
18
 
17
- timestamp: datetime
19
+ membership_id: str
18
20
 
19
- token_id: str
21
+ timestamp: datetime
20
22
 
21
23
  credit_grant_id: Optional[str] = None
22
24
 
23
- external_service: Optional[Literal["People", "Search", "News"]] = None
24
-
25
25
  job_id: Optional[str] = None
26
26
 
27
27
 
@@ -21,23 +21,31 @@ class Updates(TypedDict, total=False):
21
21
 
22
22
  company_name: Optional[str]
23
23
 
24
+ completed_onboarding: Optional[bool]
25
+
26
+ cost_confirmation_threshold: Optional[int]
27
+ """Cost confirmation threshold in credits (thousandth of a cent)."""
28
+
24
29
  cufinder_data: object
25
30
 
26
31
  email: Optional[str]
27
32
 
28
33
  feature_flags: Optional[
29
34
  List[
30
- Literal[
31
- "functional_test",
32
- "pdf_parsing",
33
- "boredm_construction_model",
34
- "generic_suspicious_queue",
35
- "new_use_case_preview",
36
- "bedrock_codegen",
37
- "cerebras_codegen",
38
- "gemini25pro",
39
- "claude_sonnet4",
40
- "none",
35
+ Optional[
36
+ Literal[
37
+ "functional_test",
38
+ "pdf_parsing",
39
+ "boredm_construction_model",
40
+ "generic_suspicious_queue",
41
+ "new_use_case_preview",
42
+ "bedrock_codegen",
43
+ "cerebras_codegen",
44
+ "gemini25pro",
45
+ "claude_sonnet4",
46
+ "allow_job_deletion",
47
+ "none",
48
+ ]
41
49
  ]
42
50
  ]
43
51
  ]
@@ -54,6 +62,18 @@ class Updates(TypedDict, total=False):
54
62
 
55
63
  linkedin_url: Optional[str]
56
64
 
57
- permissions: Optional[List[Literal["labeler", "qa_labeler", "debug", "human_llm", "none"]]]
65
+ onboarding_session_id: Optional[str]
66
+
67
+ permissions: Optional[List[Optional[Literal["labeler", "qa_labeler", "debug", "human_llm", "none"]]]]
68
+
69
+ slack_user_id: Optional[str]
70
+
71
+ slack_username: Optional[str]
72
+
73
+ survey_response: object
74
+
75
+ teams_user_id: Optional[str]
76
+
77
+ teams_user_name: Optional[str]
58
78
 
59
79
  user_type: Optional[Literal["admin", "public", "end_user"]]
@@ -10,6 +10,4 @@ class UserUsageResponse(BaseModel):
10
10
 
11
11
  num_entities: int
12
12
 
13
- num_jobs: int
14
-
15
13
  num_relationships: int
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union
4
+ from typing_extensions import Literal, Annotated, TypeAlias
5
+
6
+ from .._utils import PropertyInfo
7
+ from .._models import BaseModel
8
+
9
+ __all__ = [
10
+ "WikiConnectorReference",
11
+ "ReferenceID",
12
+ "ReferenceIDConnector",
13
+ "ReferenceIDDatabase",
14
+ "ReferenceIDSchema",
15
+ "ReferenceIDTable",
16
+ "ReferenceIDColumn",
17
+ ]
18
+
19
+
20
+ class ReferenceIDConnector(BaseModel):
21
+ id: str
22
+
23
+ reference_type: Literal["connector"]
24
+
25
+
26
+ class ReferenceIDDatabase(BaseModel):
27
+ id: str
28
+
29
+ reference_type: Literal["database"]
30
+
31
+
32
+ class ReferenceIDSchema(BaseModel):
33
+ id: str
34
+
35
+ reference_type: Literal["schema"]
36
+
37
+
38
+ class ReferenceIDTable(BaseModel):
39
+ id: str
40
+
41
+ reference_type: Literal["table"]
42
+
43
+
44
+ class ReferenceIDColumn(BaseModel):
45
+ id: str
46
+
47
+ reference_type: Literal["column"]
48
+
49
+
50
+ ReferenceID: TypeAlias = Annotated[
51
+ Union[ReferenceIDConnector, ReferenceIDDatabase, ReferenceIDSchema, ReferenceIDTable, ReferenceIDColumn],
52
+ PropertyInfo(discriminator="reference_type"),
53
+ ]
54
+
55
+
56
+ class WikiConnectorReference(BaseModel):
57
+ is_deleted: bool
58
+
59
+ name: str
60
+
61
+ path: List[str]
62
+
63
+ reference_id: ReferenceID
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["WikiCreateParams"]
9
+
10
+
11
+ class WikiCreateParams(TypedDict, total=False):
12
+ content: Required[Dict[str, object]]
13
+
14
+ slug: Required[str]
15
+
16
+ title: Required[str]
@@ -3,6 +3,8 @@
3
3
  from typing import List
4
4
  from typing_extensions import TypeAlias
5
5
 
6
- __all__ = ["TrainingDatasetListResponse"]
6
+ from .team_wiki_page import TeamWikiPage
7
7
 
8
- TrainingDatasetListResponse: TypeAlias = List[str]
8
+ __all__ = ["WikiListResponse"]
9
+
10
+ WikiListResponse: TypeAlias = List[TeamWikiPage]
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .team_wiki_page import TeamWikiPage
6
+ from .wiki_connector_reference import WikiConnectorReference
7
+
8
+ __all__ = ["WikiPageWithReferences"]
9
+
10
+
11
+ class WikiPageWithReferences(TeamWikiPage):
12
+ references: List[WikiConnectorReference]
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["WikiUpdateParams"]
9
+
10
+
11
+ class WikiUpdateParams(TypedDict, total=False):
12
+ team_id: Required[str]
13
+
14
+ content: Required[Dict[str, object]]
15
+
16
+ title: Optional[str]
@@ -12,6 +12,8 @@ __all__ = ["WorkflowDag"]
12
12
 
13
13
 
14
14
  class WorkflowDag(BaseModel):
15
+ aborted: bool
16
+
15
17
  edges: List[WorkflowSessionEdge]
16
18
 
17
19
  is_ready: bool
@@ -4,4 +4,6 @@ from typing_extensions import Literal, TypeAlias
4
4
 
5
5
  __all__ = ["WorkflowNodeExecutionStatus"]
6
6
 
7
- WorkflowNodeExecutionStatus: TypeAlias = Literal["Unexecuted", "Success", "Failure", "Running", "Aborted"]
7
+ WorkflowNodeExecutionStatus: TypeAlias = Literal[
8
+ "Unexecuted", "Success", "Failure", "Running", "Aborted", "PendingConfirmation"
9
+ ]
@@ -12,12 +12,12 @@ class WorkflowScheduleInfo(BaseModel):
12
12
 
13
13
  chat_session_id: str
14
14
 
15
- git_commit_hash: str
16
-
17
15
  name: str
18
16
 
19
17
  paused: bool
20
18
 
21
19
  cron_schedule: Optional[str] = None
22
20
 
21
+ git_commit_hash: Optional[str] = None
22
+
23
23
  next_run_time: Optional[str] = None
@@ -24,10 +24,16 @@ class WorkflowSessionNode(BaseModel):
24
24
 
25
25
  node_name: str
26
26
 
27
+ reviewed: bool
28
+
27
29
  session_id: str
28
30
 
29
31
  updated_at: datetime
30
32
 
33
+ code: Optional[str] = None
34
+
35
+ confirmation_status: Optional[str] = None
36
+
31
37
  connector_id: Optional[str] = None
32
38
 
33
39
  created_at: Optional[datetime] = None
@@ -36,8 +42,12 @@ class WorkflowSessionNode(BaseModel):
36
42
 
37
43
  error_traceback: Optional[str] = None
38
44
 
45
+ estimated_cost: Optional[int] = None
46
+
39
47
  execution_time_ms: Optional[int] = None
40
48
 
49
+ input_row_count: Optional[int] = None
50
+
41
51
  original_node: Optional[str] = None
42
52
 
43
53
  output_blob_name: Optional[str] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: structifyai
3
- Version: 1.158.0
3
+ Version: 1.176.1
4
4
  Summary: The official Python library for the structify API
5
5
  Project-URL: Homepage, https://github.com/StructifyAI/structify-python
6
6
  Project-URL: Repository, https://github.com/StructifyAI/structify-python
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python :: 3.10
18
18
  Classifier: Programming Language :: Python :: 3.11
19
19
  Classifier: Programming Language :: Python :: 3.12
20
20
  Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: 3.14
21
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
23
  Classifier: Typing :: Typed
23
24
  Requires-Python: >=3.9
@@ -145,6 +146,67 @@ Nested request parameters are [TypedDicts](https://docs.python.org/3/library/typ
145
146
 
146
147
  Typed requests and responses provide autocomplete and documentation within your editor. If you would like to see type errors in VS Code to help catch bugs earlier, set `python.analysis.typeCheckingMode` to `basic`.
147
148
 
149
+ ## Pagination
150
+
151
+ List methods in the Structify API are paginated.
152
+
153
+ This library provides auto-paginating iterators with each list response, so you do not have to request successive pages manually:
154
+
155
+ ```python
156
+ from structify import Structify
157
+
158
+ client = Structify()
159
+
160
+ all_teams = []
161
+ # Automatically fetches more pages as needed.
162
+ for team in client.admin.teams.list():
163
+ # Do something with team here
164
+ all_teams.append(team)
165
+ print(all_teams)
166
+ ```
167
+
168
+ Or, asynchronously:
169
+
170
+ ```python
171
+ import asyncio
172
+ from structify import AsyncStructify
173
+
174
+ client = AsyncStructify()
175
+
176
+
177
+ async def main() -> None:
178
+ all_teams = []
179
+ # Iterate through items across all pages, issuing requests as needed.
180
+ async for team in client.admin.teams.list():
181
+ all_teams.append(team)
182
+ print(all_teams)
183
+
184
+
185
+ asyncio.run(main())
186
+ ```
187
+
188
+ Alternatively, you can use the `.has_next_page()`, `.next_page_info()`, or `.get_next_page()` methods for more granular control working with pages:
189
+
190
+ ```python
191
+ first_page = await client.admin.teams.list()
192
+ if first_page.has_next_page():
193
+ print(f"will fetch next page using these details: {first_page.next_page_info()}")
194
+ next_page = await first_page.get_next_page()
195
+ print(f"number of items we just fetched: {len(next_page.items)}")
196
+
197
+ # Remove `await` for non-async usage.
198
+ ```
199
+
200
+ Or just work directly with the returned data:
201
+
202
+ ```python
203
+ first_page = await client.admin.teams.list()
204
+ for team in first_page.items:
205
+ print(team)
206
+
207
+ # Remove `await` for non-async usage.
208
+ ```
209
+
148
210
  ## Nested params
149
211
 
150
212
  Nested parameters are dictionaries, typed using `TypedDict`, for example:
@@ -170,9 +232,10 @@ from structify import Structify
170
232
 
171
233
  client = Structify()
172
234
 
173
- client.admin.training_datasets.upload_labeled_step(
174
- dataset_name=Path("/path/to/file"),
175
- step_bytes=b"raw file contents",
235
+ client.documents.upload(
236
+ content=Path("/path/to/file"),
237
+ file_type="Text",
238
+ path=b"raw file contents",
176
239
  )
177
240
  ```
178
241