arbi 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (60) hide show
  1. arbi/__init__.py +3 -1
  2. arbi/_base_client.py +12 -12
  3. arbi/_client.py +8 -8
  4. arbi/_compat.py +48 -48
  5. arbi/_models.py +51 -45
  6. arbi/_qs.py +7 -7
  7. arbi/_types.py +53 -12
  8. arbi/_utils/__init__.py +9 -2
  9. arbi/_utils/_compat.py +45 -0
  10. arbi/_utils/_datetime_parse.py +136 -0
  11. arbi/_utils/_transform.py +13 -3
  12. arbi/_utils/_typing.py +6 -1
  13. arbi/_utils/_utils.py +4 -5
  14. arbi/_version.py +1 -1
  15. arbi/resources/api/api.py +3 -3
  16. arbi/resources/api/assistant.py +17 -17
  17. arbi/resources/api/configs.py +41 -33
  18. arbi/resources/api/conversation/conversation.py +11 -11
  19. arbi/resources/api/conversation/user.py +5 -5
  20. arbi/resources/api/document/annotation.py +17 -17
  21. arbi/resources/api/document/document.py +166 -33
  22. arbi/resources/api/health.py +129 -11
  23. arbi/resources/api/sso.py +9 -9
  24. arbi/resources/api/tag.py +26 -26
  25. arbi/resources/api/user/settings.py +28 -20
  26. arbi/resources/api/user/user.py +107 -16
  27. arbi/resources/api/workspace.py +69 -39
  28. arbi/types/api/__init__.py +5 -0
  29. arbi/types/api/assistant_query_params.py +16 -4
  30. arbi/types/api/assistant_retrieve_params.py +16 -4
  31. arbi/types/api/config_create_params.py +67 -2
  32. arbi/types/api/config_retrieve_response.py +98 -2
  33. arbi/types/api/conversation_retrieve_threads_response.py +13 -2
  34. arbi/types/api/document_date_extractor_llm_config.py +3 -3
  35. arbi/types/api/document_date_extractor_llm_config_param.py +3 -3
  36. arbi/types/api/document_upload_from_url_params.py +23 -0
  37. arbi/types/api/document_upload_params.py +3 -3
  38. arbi/types/api/embedder_config.py +12 -0
  39. arbi/types/api/embedder_config_param.py +12 -0
  40. arbi/types/api/health_check_app_response.py +6 -0
  41. arbi/types/api/health_retrieve_status_response.py +45 -0
  42. arbi/types/api/health_retrieve_version_response.py +8 -0
  43. arbi/types/api/query_llm_config.py +1 -1
  44. arbi/types/api/query_llm_config_param.py +1 -1
  45. arbi/types/api/tag_apply_to_docs_params.py +3 -2
  46. arbi/types/api/tag_remove_from_docs_params.py +3 -2
  47. arbi/types/api/title_llm_config.py +1 -1
  48. arbi/types/api/title_llm_config_param.py +1 -1
  49. arbi/types/api/user/setting_retrieve_response.py +10 -1
  50. arbi/types/api/user/setting_update_params.py +8 -2
  51. arbi/types/api/user_register_params.py +2 -0
  52. arbi/types/api/user_verify_email_params.py +11 -0
  53. arbi/types/api/user_verify_email_response.py +9 -0
  54. arbi/types/api/workspace_create_protected_params.py +2 -0
  55. arbi/types/api/workspace_response.py +2 -0
  56. arbi/types/api/workspace_update_params.py +2 -0
  57. {arbi-0.1.0.dist-info → arbi-0.2.0.dist-info}/METADATA +3 -3
  58. {arbi-0.1.0.dist-info → arbi-0.2.0.dist-info}/RECORD +60 -53
  59. {arbi-0.1.0.dist-info → arbi-0.2.0.dist-info}/WHEEL +0 -0
  60. {arbi-0.1.0.dist-info → arbi-0.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,7 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  from typing import Dict, Union, Optional
4
- from typing_extensions import TypeAlias
4
+ from typing_extensions import Literal, TypeAlias
5
5
 
6
6
  from pydantic import Field as FieldInfo
7
7
 
@@ -14,10 +14,102 @@ from .title_llm_config import TitleLlmConfig
14
14
  from .model_citation_config import ModelCitationConfig
15
15
  from .document_date_extractor_llm_config import DocumentDateExtractorLlmConfig
16
16
 
17
- __all__ = ["ConfigRetrieveResponse", "AllConfigs", "NonDeveloperConfig"]
17
+ __all__ = [
18
+ "ConfigRetrieveResponse",
19
+ "AllConfigs",
20
+ "AllConfigsAgentLlm",
21
+ "AllConfigsAgents",
22
+ "AllConfigsEvaluatorLlm",
23
+ "NonDeveloperConfig",
24
+ ]
25
+
26
+
27
+ class AllConfigsAgentLlm(BaseModel):
28
+ api_type: Optional[Literal["local", "remote"]] = FieldInfo(alias="API_TYPE", default=None)
29
+ """The inference type (local or remote)."""
30
+
31
+ enabled: Optional[bool] = FieldInfo(alias="ENABLED", default=None)
32
+ """Whether to use agent mode for queries."""
33
+
34
+ max_char_size_to_answer: Optional[int] = FieldInfo(alias="MAX_CHAR_SIZE_TO_ANSWER", default=None)
35
+ """Maximum character size for history."""
36
+
37
+ max_context_tokens: Optional[int] = FieldInfo(alias="MAX_CONTEXT_TOKENS", default=None)
38
+ """
39
+ Maximum tokens for gathered context (applies to evidence buffer and final
40
+ query).
41
+ """
42
+
43
+ max_iterations: Optional[int] = FieldInfo(alias="MAX_ITERATIONS", default=None)
44
+ """Maximum agent loop iterations."""
45
+
46
+ max_tokens: Optional[int] = FieldInfo(alias="MAX_TOKENS", default=None)
47
+ """Maximum tokens for planning decisions."""
48
+
49
+ api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
50
+ """The name of the model to be used."""
51
+
52
+ show_interim_steps: Optional[bool] = FieldInfo(alias="SHOW_INTERIM_STEPS", default=None)
53
+ """Whether to show agent's intermediate steps."""
54
+
55
+ system_instruction: Optional[str] = FieldInfo(alias="SYSTEM_INSTRUCTION", default=None)
56
+ """The system instruction for agent planning."""
57
+
58
+ temperature: Optional[float] = FieldInfo(alias="TEMPERATURE", default=None)
59
+ """Temperature for agent decisions."""
60
+
61
+
62
+ class AllConfigsAgents(BaseModel):
63
+ agent_model_name: Optional[str] = FieldInfo(alias="AGENT_MODEL_NAME", default=None)
64
+ """The name of the model to be used for the agent."""
65
+
66
+ agent_prompt: Optional[str] = FieldInfo(alias="AGENT_PROMPT", default=None)
67
+
68
+ enabled: Optional[bool] = FieldInfo(alias="ENABLED", default=None)
69
+ """Whether to use agents mode for queries."""
70
+
71
+ llm_page_filter_model_name: Optional[str] = FieldInfo(alias="LLM_PAGE_FILTER_MODEL_NAME", default=None)
72
+ """The name of the model to be used for the llm page filter model."""
73
+
74
+ llm_page_filter_prompt: Optional[str] = FieldInfo(alias="LLM_PAGE_FILTER_PROMPT", default=None)
75
+
76
+ llm_page_filter_temperature: Optional[float] = FieldInfo(alias="LLM_PAGE_FILTER_TEMPERATURE", default=None)
77
+ """Temperature value for randomness."""
78
+
79
+ llm_summarise_model_name: Optional[str] = FieldInfo(alias="LLM_SUMMARISE_MODEL_NAME", default=None)
80
+ """The name of the model to be used for the llm summarise model."""
81
+
82
+ llm_summarise_prompt: Optional[str] = FieldInfo(alias="LLM_SUMMARISE_PROMPT", default=None)
83
+
84
+ llm_summarise_temperature: Optional[float] = FieldInfo(alias="LLM_SUMMARISE_TEMPERATURE", default=None)
85
+ """Temperature value for randomness."""
86
+
87
+
88
+ class AllConfigsEvaluatorLlm(BaseModel):
89
+ api_type: Optional[Literal["local", "remote"]] = FieldInfo(alias="API_TYPE", default=None)
90
+ """The inference type (local or remote)."""
91
+
92
+ max_char_size_to_answer: Optional[int] = FieldInfo(alias="MAX_CHAR_SIZE_TO_ANSWER", default=None)
93
+ """Maximum character size for evaluation context."""
94
+
95
+ max_tokens: Optional[int] = FieldInfo(alias="MAX_TOKENS", default=None)
96
+ """Maximum tokens for evaluation response."""
97
+
98
+ api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
99
+ """The name of the non-reasoning model to be used."""
100
+
101
+ system_instruction: Optional[str] = FieldInfo(alias="SYSTEM_INSTRUCTION", default=None)
102
+ """The system instruction for chunk evaluation."""
103
+
104
+ temperature: Optional[float] = FieldInfo(alias="TEMPERATURE", default=None)
105
+ """Low temperature for consistent evaluation."""
18
106
 
19
107
 
20
108
  class AllConfigs(BaseModel):
109
+ agent_llm: Optional[AllConfigsAgentLlm] = FieldInfo(alias="AgentLLM", default=None)
110
+
111
+ agents: Optional[AllConfigsAgents] = FieldInfo(alias="Agents", default=None)
112
+
21
113
  chunker: Optional[object] = FieldInfo(alias="Chunker", default=None)
22
114
 
23
115
  document_date_extractor_llm: Optional[DocumentDateExtractorLlmConfig] = FieldInfo(
@@ -26,6 +118,8 @@ class AllConfigs(BaseModel):
26
118
 
27
119
  embedder: Optional[EmbedderConfig] = FieldInfo(alias="Embedder", default=None)
28
120
 
121
+ evaluator_llm: Optional[AllConfigsEvaluatorLlm] = FieldInfo(alias="EvaluatorLLM", default=None)
122
+
29
123
  api_model_citation: Optional[ModelCitationConfig] = FieldInfo(alias="ModelCitation", default=None)
30
124
 
31
125
  parser: Optional[object] = FieldInfo(alias="Parser", default=None)
@@ -40,6 +134,8 @@ class AllConfigs(BaseModel):
40
134
 
41
135
 
42
136
  class NonDeveloperConfig(BaseModel):
137
+ agent_llm: Dict[str, bool] = FieldInfo(alias="AgentLLM")
138
+
43
139
  query_llm: Dict[str, str] = FieldInfo(alias="QueryLLM")
44
140
 
45
141
 
@@ -14,17 +14,28 @@ __all__ = [
14
14
  "ThreadHistory",
15
15
  "ThreadHistoryTools",
16
16
  "ThreadHistoryToolsModelCitationTool",
17
+ "ThreadHistoryToolsModelCitationToolToolResponses",
17
18
  "ThreadHistoryToolsRetrievalChunkToolOutput",
18
19
  "ThreadHistoryToolsRetrievalFullContextToolOutput",
19
20
  ]
20
21
 
21
22
 
23
+ class ThreadHistoryToolsModelCitationToolToolResponses(BaseModel):
24
+ chunk_ids: List[str]
25
+
26
+ offset_end: int
27
+
28
+ offset_start: int
29
+
30
+ statement: str
31
+
32
+
22
33
  class ThreadHistoryToolsModelCitationTool(BaseModel):
23
34
  description: Optional[str] = None
24
35
 
25
36
  name: Optional[Literal["model_citation"]] = None
26
37
 
27
- tool_responses: Optional[Dict[str, List[str]]] = None
38
+ tool_responses: Optional[Dict[str, ThreadHistoryToolsModelCitationToolToolResponses]] = None
28
39
 
29
40
 
30
41
  class ThreadHistoryToolsRetrievalChunkToolOutput(BaseModel):
@@ -42,7 +53,7 @@ class ThreadHistoryToolsRetrievalFullContextToolOutput(BaseModel):
42
53
 
43
54
  name: Optional[Literal["retrieval_full_context"]] = None
44
55
 
45
- tool_args: Optional[Dict[str, List[str]]] = None
56
+ tool_args: Optional[Dict[str, object]] = None
46
57
 
47
58
  tool_responses: Optional[Dict[str, List[Chunk]]] = None
48
59
 
@@ -14,14 +14,14 @@ class DocumentDateExtractorLlmConfig(BaseModel):
14
14
  api_type: Optional[Literal["local", "remote"]] = FieldInfo(alias="API_TYPE", default=None)
15
15
  """The inference type (local or remote)."""
16
16
 
17
- max_char_size_to_answer: Optional[int] = FieldInfo(alias="MAX_CHAR_SIZE_TO_ANSWER", default=None)
18
- """Maximum character size to answer."""
17
+ max_char_context_to_answer: Optional[int] = FieldInfo(alias="MAX_CHAR_CONTEXT_TO_ANSWER", default=None)
18
+ """Maximum characters in document for context."""
19
19
 
20
20
  max_tokens: Optional[int] = FieldInfo(alias="MAX_TOKENS", default=None)
21
21
  """Maximum number of tokens allowed."""
22
22
 
23
23
  api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
24
- """The name of the model to be used."""
24
+ """The name of the non-reasoning model to be used."""
25
25
 
26
26
  system_instruction: Optional[str] = FieldInfo(alias="SYSTEM_INSTRUCTION", default=None)
27
27
 
@@ -13,14 +13,14 @@ class DocumentDateExtractorLlmConfigParam(TypedDict, total=False):
13
13
  api_type: Annotated[Literal["local", "remote"], PropertyInfo(alias="API_TYPE")]
14
14
  """The inference type (local or remote)."""
15
15
 
16
- max_char_size_to_answer: Annotated[int, PropertyInfo(alias="MAX_CHAR_SIZE_TO_ANSWER")]
17
- """Maximum character size to answer."""
16
+ max_char_context_to_answer: Annotated[int, PropertyInfo(alias="MAX_CHAR_CONTEXT_TO_ANSWER")]
17
+ """Maximum characters in document for context."""
18
18
 
19
19
  max_tokens: Annotated[int, PropertyInfo(alias="MAX_TOKENS")]
20
20
  """Maximum number of tokens allowed."""
21
21
 
22
22
  model_name: Annotated[str, PropertyInfo(alias="MODEL_NAME")]
23
- """The name of the model to be used."""
23
+ """The name of the non-reasoning model to be used."""
24
24
 
25
25
  system_instruction: Annotated[str, PropertyInfo(alias="SYSTEM_INSTRUCTION")]
26
26
 
@@ -0,0 +1,23 @@
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 Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from ..._types import SequenceNotStr
9
+
10
+ __all__ = ["DocumentUploadFromURLParams"]
11
+
12
+
13
+ class DocumentUploadFromURLParams(TypedDict, total=False):
14
+ urls: Required[SequenceNotStr[str]]
15
+ """URLs to download documents from"""
16
+
17
+ workspace_ext_id: Required[str]
18
+
19
+ config_ext_id: Optional[str]
20
+ """Configuration to use for processing"""
21
+
22
+ shared: bool
23
+ """Whether the document should be shared with workspace members"""
@@ -2,10 +2,10 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import Required, TypedDict
7
7
 
8
- from ..._types import FileTypes
8
+ from ..._types import FileTypes, SequenceNotStr
9
9
 
10
10
  __all__ = ["DocumentUploadParams"]
11
11
 
@@ -13,7 +13,7 @@ __all__ = ["DocumentUploadParams"]
13
13
  class DocumentUploadParams(TypedDict, total=False):
14
14
  workspace_ext_id: Required[str]
15
15
 
16
- files: Required[List[FileTypes]]
16
+ files: Required[SequenceNotStr[FileTypes]]
17
17
  """Multiple files to upload"""
18
18
 
19
19
  config_ext_id: Optional[str]
@@ -14,5 +14,17 @@ class EmbedderConfig(BaseModel):
14
14
  api_type: Optional[Literal["local", "remote"]] = FieldInfo(alias="API_TYPE", default=None)
15
15
  """The inference type (local or remote)."""
16
16
 
17
+ batch_size: Optional[int] = FieldInfo(alias="BATCH_SIZE", default=None)
18
+ """Smaller batch size for better parallelization."""
19
+
20
+ embed_prefix: Optional[str] = FieldInfo(alias="EMBED_PREFIX", default=None)
21
+ """How to embed the sentence for retrieval."""
22
+
23
+ max_concurrent_requests: Optional[int] = FieldInfo(alias="MAX_CONCURRENT_REQUESTS", default=None)
24
+ """Adjust concurrency level as needed."""
25
+
17
26
  api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
18
27
  """The name of the embedder model."""
28
+
29
+ query_prefix: Optional[str] = FieldInfo(alias="QUERY_PREFIX", default=None)
30
+ """How to embed the sentence for query."""
@@ -13,5 +13,17 @@ class EmbedderConfigParam(TypedDict, total=False):
13
13
  api_type: Annotated[Literal["local", "remote"], PropertyInfo(alias="API_TYPE")]
14
14
  """The inference type (local or remote)."""
15
15
 
16
+ batch_size: Annotated[int, PropertyInfo(alias="BATCH_SIZE")]
17
+ """Smaller batch size for better parallelization."""
18
+
19
+ embed_prefix: Annotated[str, PropertyInfo(alias="EMBED_PREFIX")]
20
+ """How to embed the sentence for retrieval."""
21
+
22
+ max_concurrent_requests: Annotated[int, PropertyInfo(alias="MAX_CONCURRENT_REQUESTS")]
23
+ """Adjust concurrency level as needed."""
24
+
16
25
  model_name: Annotated[str, PropertyInfo(alias="MODEL_NAME")]
17
26
  """The name of the embedder model."""
27
+
28
+ query_prefix: Annotated[str, PropertyInfo(alias="QUERY_PREFIX")]
29
+ """How to embed the sentence for query."""
@@ -1,5 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from typing import Optional
4
+
3
5
  from ..._models import BaseModel
4
6
 
5
7
  __all__ = ["HealthCheckAppResponse"]
@@ -7,3 +9,7 @@ __all__ = ["HealthCheckAppResponse"]
7
9
 
8
10
  class HealthCheckAppResponse(BaseModel):
9
11
  status: str
12
+
13
+ backend_git_hash: Optional[str] = None
14
+
15
+ frontend_docker_version: Optional[str] = None
@@ -0,0 +1,45 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["HealthRetrieveStatusResponse", "ModelsHealth", "ModelsHealthModel", "Service"]
8
+
9
+
10
+ class ModelsHealthModel(BaseModel):
11
+ model: str
12
+
13
+ status: str
14
+
15
+ detail: Optional[str] = None
16
+
17
+
18
+ class ModelsHealth(BaseModel):
19
+ application: str
20
+
21
+ models: List[ModelsHealthModel]
22
+
23
+
24
+ class Service(BaseModel):
25
+ name: str
26
+
27
+ status: str
28
+
29
+ detail: Optional[str] = None
30
+
31
+ service_info: Optional[Dict[str, object]] = None
32
+
33
+
34
+ class HealthRetrieveStatusResponse(BaseModel):
35
+ status: str
36
+
37
+ available_models: Optional[List[str]] = None
38
+
39
+ backend_git_hash: Optional[str] = None
40
+
41
+ frontend_docker_version: Optional[str] = None
42
+
43
+ models_health: Optional[ModelsHealth] = None
44
+
45
+ services: Optional[List[Service]] = None
@@ -0,0 +1,8 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict
4
+ from typing_extensions import TypeAlias
5
+
6
+ __all__ = ["HealthRetrieveVersionResponse"]
7
+
8
+ HealthRetrieveVersionResponse: TypeAlias = Dict[str, object]
@@ -21,7 +21,7 @@ class QueryLlmConfig(BaseModel):
21
21
  """Maximum number of tokens allowed."""
22
22
 
23
23
  api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
24
- """The name of the model to be used."""
24
+ """The name of the non-reasoning model to be used."""
25
25
 
26
26
  system_instruction: Optional[str] = FieldInfo(alias="SYSTEM_INSTRUCTION", default=None)
27
27
  """The system instruction string."""
@@ -20,7 +20,7 @@ class QueryLlmConfigParam(TypedDict, total=False):
20
20
  """Maximum number of tokens allowed."""
21
21
 
22
22
  model_name: Annotated[str, PropertyInfo(alias="MODEL_NAME")]
23
- """The name of the model to be used."""
23
+ """The name of the non-reasoning model to be used."""
24
24
 
25
25
  system_instruction: Annotated[str, PropertyInfo(alias="SYSTEM_INSTRUCTION")]
26
26
  """The system instruction string."""
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["TagApplyToDocsParams"]
9
10
 
10
11
 
11
12
  class TagApplyToDocsParams(TypedDict, total=False):
12
- doc_ids: Required[List[str]]
13
+ doc_ids: Required[SequenceNotStr[str]]
@@ -2,11 +2,12 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List
6
5
  from typing_extensions import Required, TypedDict
7
6
 
7
+ from ..._types import SequenceNotStr
8
+
8
9
  __all__ = ["TagRemoveFromDocsParams"]
9
10
 
10
11
 
11
12
  class TagRemoveFromDocsParams(TypedDict, total=False):
12
- doc_ids: Required[List[str]]
13
+ doc_ids: Required[SequenceNotStr[str]]
@@ -21,7 +21,7 @@ class TitleLlmConfig(BaseModel):
21
21
  """Maximum number of tokens allowed."""
22
22
 
23
23
  api_model_name: Optional[str] = FieldInfo(alias="MODEL_NAME", default=None)
24
- """The name of the model to be used."""
24
+ """The name of the non-reasoning model to be used."""
25
25
 
26
26
  system_instruction: Optional[str] = FieldInfo(alias="SYSTEM_INSTRUCTION", default=None)
27
27
 
@@ -20,7 +20,7 @@ class TitleLlmConfigParam(TypedDict, total=False):
20
20
  """Maximum number of tokens allowed."""
21
21
 
22
22
  model_name: Annotated[str, PropertyInfo(alias="MODEL_NAME")]
23
- """The name of the model to be used."""
23
+ """The name of the non-reasoning model to be used."""
24
24
 
25
25
  system_instruction: Annotated[str, PropertyInfo(alias="SYSTEM_INSTRUCTION")]
26
26
 
@@ -10,6 +10,8 @@ __all__ = ["SettingRetrieveResponse"]
10
10
 
11
11
 
12
12
  class SettingRetrieveResponse(BaseModel):
13
+ ai_mode: Optional[str] = None
14
+
13
15
  developer: Optional[bool] = None
14
16
 
15
17
  last_workspace: Optional[str] = None
@@ -26,11 +28,18 @@ class SettingRetrieveResponse(BaseModel):
26
28
 
27
29
  show_smart_search: Optional[bool] = None
28
30
 
31
+ show_templates: Optional[bool] = None
32
+
29
33
  show_thread_visualization: Optional[bool] = None
30
34
 
31
- __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
32
35
  if TYPE_CHECKING:
36
+ # Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
37
+ # value to this field, so for compatibility we avoid doing it at runtime.
38
+ __pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]
39
+
33
40
  # Stub to indicate that arbitrary properties are accepted.
34
41
  # To access properties that are not valid identifiers you can use `getattr`, e.g.
35
42
  # `getattr(obj, '$type')`
36
43
  def __getattr__(self, attr: str) -> object: ...
44
+ else:
45
+ __pydantic_extra__: Dict[str, object]
@@ -2,14 +2,18 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import List, Optional
5
+ from typing import Optional
6
6
  from typing_extensions import TypedDict
7
7
 
8
+ from ...._types import SequenceNotStr
9
+
8
10
  __all__ = ["SettingUpdateParams"]
9
11
 
10
12
 
11
13
  class SettingUpdateParams(TypedDict, total=False):
12
- pinned_workspaces: Optional[List[str]]
14
+ ai_mode: Optional[str]
15
+
16
+ pinned_workspaces: Optional[SequenceNotStr[str]]
13
17
 
14
18
  show_document_navigator: Optional[bool]
15
19
 
@@ -21,4 +25,6 @@ class SettingUpdateParams(TypedDict, total=False):
21
25
 
22
26
  show_smart_search: Optional[bool]
23
27
 
28
+ show_templates: Optional[bool]
29
+
24
30
  show_thread_visualization: Optional[bool]
@@ -15,3 +15,5 @@ class UserRegisterParams(TypedDict, total=False):
15
15
  name: Required[str]
16
16
 
17
17
  password: Required[str]
18
+
19
+ verification_code: Required[str]
@@ -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__ = ["UserVerifyEmailParams"]
8
+
9
+
10
+ class UserVerifyEmailParams(TypedDict, total=False):
11
+ email: Required[str]
@@ -0,0 +1,9 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from ..._models import BaseModel
4
+
5
+ __all__ = ["UserVerifyEmailResponse"]
6
+
7
+
8
+ class UserVerifyEmailResponse(BaseModel):
9
+ detail: str
@@ -12,3 +12,5 @@ class WorkspaceCreateProtectedParams(TypedDict, total=False):
12
12
  name: Required[str]
13
13
 
14
14
  description: Optional[str]
15
+
16
+ is_public: bool
@@ -17,6 +17,8 @@ class WorkspaceResponse(BaseModel):
17
17
 
18
18
  external_id: str
19
19
 
20
+ is_public: bool
21
+
20
22
  name: str
21
23
 
22
24
  updated_at: datetime
@@ -11,4 +11,6 @@ __all__ = ["WorkspaceUpdateParams"]
11
11
  class WorkspaceUpdateParams(TypedDict, total=False):
12
12
  description: Optional[str]
13
13
 
14
+ is_public: Optional[bool]
15
+
14
16
  name: Optional[str]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arbi
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: The official Python library for the arbi API
5
5
  Project-URL: Homepage, https://github.com/arbitrationcity/arbi-python
6
6
  Project-URL: Repository, https://github.com/arbitrationcity/arbi-python
@@ -147,9 +147,9 @@ from arbi import Arbi
147
147
  client = Arbi()
148
148
 
149
149
  config = client.api.configs.create(
150
- document_date_extractor_llm={},
150
+ agent_llm={},
151
151
  )
152
- print(config.document_date_extractor_llm)
152
+ print(config.agent_llm)
153
153
  ```
154
154
 
155
155
  ## Handling errors