everyrow 0.1.0__py3-none-any.whl → 0.1.2__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.
everyrow/__init__.py CHANGED
@@ -1,4 +1,5 @@
1
1
  from everyrow.api_utils import create_client
2
2
  from everyrow.session import create_session
3
+ from everyrow.task import fetch_task_data
3
4
 
4
- __all__ = ["create_client", "create_session"]
5
+ __all__ = ["create_client", "create_session", "fetch_task_data"]
everyrow/citations.py CHANGED
@@ -9,7 +9,9 @@ from everyrow.generated.models import (
9
9
  from everyrow.generated.types import Unset
10
10
 
11
11
 
12
- def _render_citations(data: dict[str, Any], source_bank: AuxDataSourceBank) -> dict[str, Any]:
12
+ def _render_citations(
13
+ data: dict[str, Any], source_bank: AuxDataSourceBank
14
+ ) -> dict[str, Any]:
13
15
  result = deepcopy(data)
14
16
  for source_id, source_data in source_bank.to_dict().items():
15
17
  for key, value in result.items():
@@ -21,7 +23,9 @@ def _render_citations(data: dict[str, Any], source_bank: AuxDataSourceBank) -> d
21
23
 
22
24
 
23
25
  def render_citations_standalone(artifact: StandaloneArtifactRecord):
24
- if isinstance(artifact.aux_data, Unset) or isinstance(artifact.aux_data.source_bank, Unset):
26
+ if isinstance(artifact.aux_data, Unset) or isinstance(
27
+ artifact.aux_data.source_bank, Unset
28
+ ):
25
29
  return artifact
26
30
  source_bank = (
27
31
  artifact.aux_data.source_bank
@@ -9,6 +9,7 @@ from .allowed_suggestions import AllowedSuggestions
9
9
  from .api_key_info import APIKeyInfo
10
10
  from .artifact_changed_payload import ArtifactChangedPayload
11
11
  from .artifact_group_record import ArtifactGroupRecord
12
+ from .artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
12
13
  from .artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
13
14
  from .artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
14
15
  from .artifact_status import ArtifactStatus
@@ -39,8 +40,7 @@ from .create_workflow_from_artifact_request import CreateWorkflowFromArtifactReq
39
40
  from .create_workflow_from_artifact_response import CreateWorkflowFromArtifactResponse
40
41
  from .data_frame_method import DataFrameMethod
41
42
  from .date_cutoffs import DateCutoffs
42
- from .dedupe_mode import DedupeMode
43
- from .dedupe_query_params import DedupeQueryParams
43
+ from .dedupe_public_params import DedupePublicParams
44
44
  from .dedupe_request_params import DedupeRequestParams
45
45
  from .deep_merge_public_params import DeepMergePublicParams
46
46
  from .deep_merge_request import DeepMergeRequest
@@ -54,7 +54,6 @@ from .derive_request import DeriveRequest
54
54
  from .document_query_tool import DocumentQueryTool
55
55
  from .drop_columns_query_params import DropColumnsQueryParams
56
56
  from .drop_columns_request import DropColumnsRequest
57
- from .embedding_models import EmbeddingModels
58
57
  from .event_type import EventType
59
58
  from .execution_metadata import ExecutionMetadata
60
59
  from .export_request import ExportRequest
@@ -106,6 +105,7 @@ from .simple_chat_message_role import SimpleChatMessageRole
106
105
  from .simple_chat_message_with_tool_calls import SimpleChatMessageWithToolCalls
107
106
  from .source_database_entry import SourceDatabaseEntry
108
107
  from .standalone_artifact_record import StandaloneArtifactRecord
108
+ from .standalone_artifact_record_analysis_type_0 import StandaloneArtifactRecordAnalysisType0
109
109
  from .standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
110
110
  from .standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
111
111
  from .status_count import StatusCount
@@ -152,6 +152,7 @@ __all__ = (
152
152
  "APIKeyInfo",
153
153
  "ArtifactChangedPayload",
154
154
  "ArtifactGroupRecord",
155
+ "ArtifactGroupRecordAnalysisType0",
155
156
  "ArtifactGroupRecordMetadataType0",
156
157
  "ArtifactGroupRecordTraceMappingType0",
157
158
  "ArtifactStatus",
@@ -182,8 +183,7 @@ __all__ = (
182
183
  "CreateWorkflowFromArtifactResponse",
183
184
  "DataFrameMethod",
184
185
  "DateCutoffs",
185
- "DedupeMode",
186
- "DedupeQueryParams",
186
+ "DedupePublicParams",
187
187
  "DedupeRequestParams",
188
188
  "DeepMergePublicParams",
189
189
  "DeepMergeRequest",
@@ -197,7 +197,6 @@ __all__ = (
197
197
  "DocumentQueryTool",
198
198
  "DropColumnsQueryParams",
199
199
  "DropColumnsRequest",
200
- "EmbeddingModels",
201
200
  "EventType",
202
201
  "ExecutionMetadata",
203
202
  "ExportRequest",
@@ -245,6 +244,7 @@ __all__ = (
245
244
  "SimpleChatMessageWithToolCalls",
246
245
  "SourceDatabaseEntry",
247
246
  "StandaloneArtifactRecord",
247
+ "StandaloneArtifactRecordAnalysisType0",
248
248
  "StandaloneArtifactRecordMetadataType0",
249
249
  "StandaloneArtifactRecordTraceMappingType0",
250
250
  "StatusCount",
@@ -51,6 +51,8 @@ class AgentQueryParams:
51
51
  specified, defaults based on effort_level (speed_focused for LOW, persistent for HIGH)
52
52
  batch_size (int | None | Unset): The number of artifacts to process in a single batch. If set, enables batched
53
53
  agent processing.
54
+ minimal_llm_system_prompt (None | str | Unset): Custom system prompt for minimal LLM calls (number_of_steps=0).
55
+ If not provided, a default prompt with today's date is used.
54
56
  """
55
57
 
56
58
  task: str
@@ -78,6 +80,7 @@ class AgentQueryParams:
78
80
  effort_level: TaskEffort | Unset = UNSET
79
81
  system_prompt_kind: AgentQueryParamsSystemPromptKindType0 | None | Unset = UNSET
80
82
  batch_size: int | None | Unset = UNSET
83
+ minimal_llm_system_prompt: None | str | Unset = UNSET
81
84
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
82
85
 
83
86
  def to_dict(self) -> dict[str, Any]:
@@ -154,6 +157,12 @@ class AgentQueryParams:
154
157
  else:
155
158
  batch_size = self.batch_size
156
159
 
160
+ minimal_llm_system_prompt: None | str | Unset
161
+ if isinstance(self.minimal_llm_system_prompt, Unset):
162
+ minimal_llm_system_prompt = UNSET
163
+ else:
164
+ minimal_llm_system_prompt = self.minimal_llm_system_prompt
165
+
157
166
  field_dict: dict[str, Any] = {}
158
167
  field_dict.update(self.additional_properties)
159
168
  field_dict.update(
@@ -203,6 +212,8 @@ class AgentQueryParams:
203
212
  field_dict["system_prompt_kind"] = system_prompt_kind
204
213
  if batch_size is not UNSET:
205
214
  field_dict["batch_size"] = batch_size
215
+ if minimal_llm_system_prompt is not UNSET:
216
+ field_dict["minimal_llm_system_prompt"] = minimal_llm_system_prompt
206
217
 
207
218
  return field_dict
208
219
 
@@ -317,6 +328,15 @@ class AgentQueryParams:
317
328
 
318
329
  batch_size = _parse_batch_size(d.pop("batch_size", UNSET))
319
330
 
331
+ def _parse_minimal_llm_system_prompt(data: object) -> None | str | Unset:
332
+ if data is None:
333
+ return data
334
+ if isinstance(data, Unset):
335
+ return data
336
+ return cast(None | str | Unset, data)
337
+
338
+ minimal_llm_system_prompt = _parse_minimal_llm_system_prompt(d.pop("minimal_llm_system_prompt", UNSET))
339
+
320
340
  agent_query_params = cls(
321
341
  task=task,
322
342
  llm=llm,
@@ -340,6 +360,7 @@ class AgentQueryParams:
340
360
  effort_level=effort_level,
341
361
  system_prompt_kind=system_prompt_kind,
342
362
  batch_size=batch_size,
363
+ minimal_llm_system_prompt=minimal_llm_system_prompt,
343
364
  )
344
365
 
345
366
  agent_query_params.additional_properties = d
@@ -2,6 +2,7 @@ from enum import Enum
2
2
 
3
3
 
4
4
  class AllowedSuggestions(str, Enum):
5
+ FILTER_DEDUPE_RESULTS = "filter_dedupe_results"
5
6
  RUN_ON_ALL_ROWS = "run_on_all_rows"
6
7
 
7
8
  def __str__(self) -> str:
@@ -11,6 +11,7 @@ from ..models.artifact_status import ArtifactStatus
11
11
  from ..types import UNSET, Unset
12
12
 
13
13
  if TYPE_CHECKING:
14
+ from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
14
15
  from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
15
16
  from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
16
17
  from ..models.aux_data import AuxData
@@ -36,10 +37,11 @@ class ArtifactGroupRecord:
36
37
  aux_data (AuxData | Unset):
37
38
  status (ArtifactStatus | Unset):
38
39
  trace_mapping (ArtifactGroupRecordTraceMappingType0 | None | Unset):
39
- description (str | Unset): Default: ''.
40
40
  original_id (None | Unset | UUID):
41
41
  index_in_group (int | None | Unset):
42
42
  current_iteration (int | None | Unset):
43
+ analysis (ArtifactGroupRecordAnalysisType0 | None | Unset):
44
+ description (str | Unset): Default: ''.
43
45
  """
44
46
 
45
47
  uid: UUID
@@ -51,13 +53,15 @@ class ArtifactGroupRecord:
51
53
  aux_data: AuxData | Unset = UNSET
52
54
  status: ArtifactStatus | Unset = UNSET
53
55
  trace_mapping: ArtifactGroupRecordTraceMappingType0 | None | Unset = UNSET
54
- description: str | Unset = ""
55
56
  original_id: None | Unset | UUID = UNSET
56
57
  index_in_group: int | None | Unset = UNSET
57
58
  current_iteration: int | None | Unset = UNSET
59
+ analysis: ArtifactGroupRecordAnalysisType0 | None | Unset = UNSET
60
+ description: str | Unset = ""
58
61
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
59
62
 
60
63
  def to_dict(self) -> dict[str, Any]:
64
+ from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
61
65
  from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
62
66
  from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
63
67
  from ..models.standalone_artifact_record import StandaloneArtifactRecord
@@ -108,8 +112,6 @@ class ArtifactGroupRecord:
108
112
  else:
109
113
  trace_mapping = self.trace_mapping
110
114
 
111
- description = self.description
112
-
113
115
  original_id: None | str | Unset
114
116
  if isinstance(self.original_id, Unset):
115
117
  original_id = UNSET
@@ -130,6 +132,16 @@ class ArtifactGroupRecord:
130
132
  else:
131
133
  current_iteration = self.current_iteration
132
134
 
135
+ analysis: dict[str, Any] | None | Unset
136
+ if isinstance(self.analysis, Unset):
137
+ analysis = UNSET
138
+ elif isinstance(self.analysis, ArtifactGroupRecordAnalysisType0):
139
+ analysis = self.analysis.to_dict()
140
+ else:
141
+ analysis = self.analysis
142
+
143
+ description = self.description
144
+
133
145
  field_dict: dict[str, Any] = {}
134
146
  field_dict.update(self.additional_properties)
135
147
  field_dict.update(
@@ -150,19 +162,22 @@ class ArtifactGroupRecord:
150
162
  field_dict["status"] = status
151
163
  if trace_mapping is not UNSET:
152
164
  field_dict["trace_mapping"] = trace_mapping
153
- if description is not UNSET:
154
- field_dict["description"] = description
155
165
  if original_id is not UNSET:
156
166
  field_dict["original_id"] = original_id
157
167
  if index_in_group is not UNSET:
158
168
  field_dict["index_in_group"] = index_in_group
159
169
  if current_iteration is not UNSET:
160
170
  field_dict["current_iteration"] = current_iteration
171
+ if analysis is not UNSET:
172
+ field_dict["analysis"] = analysis
173
+ if description is not UNSET:
174
+ field_dict["description"] = description
161
175
 
162
176
  return field_dict
163
177
 
164
178
  @classmethod
165
179
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
180
+ from ..models.artifact_group_record_analysis_type_0 import ArtifactGroupRecordAnalysisType0
166
181
  from ..models.artifact_group_record_metadata_type_0 import ArtifactGroupRecordMetadataType0
167
182
  from ..models.artifact_group_record_trace_mapping_type_0 import ArtifactGroupRecordTraceMappingType0
168
183
  from ..models.aux_data import AuxData
@@ -257,8 +272,6 @@ class ArtifactGroupRecord:
257
272
 
258
273
  trace_mapping = _parse_trace_mapping(d.pop("trace_mapping", UNSET))
259
274
 
260
- description = d.pop("description", UNSET)
261
-
262
275
  def _parse_original_id(data: object) -> None | Unset | UUID:
263
276
  if data is None:
264
277
  return data
@@ -294,6 +307,25 @@ class ArtifactGroupRecord:
294
307
 
295
308
  current_iteration = _parse_current_iteration(d.pop("current_iteration", UNSET))
296
309
 
310
+ def _parse_analysis(data: object) -> ArtifactGroupRecordAnalysisType0 | None | Unset:
311
+ if data is None:
312
+ return data
313
+ if isinstance(data, Unset):
314
+ return data
315
+ try:
316
+ if not isinstance(data, dict):
317
+ raise TypeError()
318
+ analysis_type_0 = ArtifactGroupRecordAnalysisType0.from_dict(data)
319
+
320
+ return analysis_type_0
321
+ except (TypeError, ValueError, AttributeError, KeyError):
322
+ pass
323
+ return cast(ArtifactGroupRecordAnalysisType0 | None | Unset, data)
324
+
325
+ analysis = _parse_analysis(d.pop("analysis", UNSET))
326
+
327
+ description = d.pop("description", UNSET)
328
+
297
329
  artifact_group_record = cls(
298
330
  uid=uid,
299
331
  type_=type_,
@@ -304,10 +336,11 @@ class ArtifactGroupRecord:
304
336
  aux_data=aux_data,
305
337
  status=status,
306
338
  trace_mapping=trace_mapping,
307
- description=description,
308
339
  original_id=original_id,
309
340
  index_in_group=index_in_group,
310
341
  current_iteration=current_iteration,
342
+ analysis=analysis,
343
+ description=description,
311
344
  )
312
345
 
313
346
  artifact_group_record.additional_properties = d
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+ from attrs import field as _attrs_field
8
+
9
+ T = TypeVar("T", bound="ArtifactGroupRecordAnalysisType0")
10
+
11
+
12
+ @_attrs_define
13
+ class ArtifactGroupRecordAnalysisType0:
14
+ """ """
15
+
16
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
17
+
18
+ def to_dict(self) -> dict[str, Any]:
19
+ field_dict: dict[str, Any] = {}
20
+ field_dict.update(self.additional_properties)
21
+
22
+ return field_dict
23
+
24
+ @classmethod
25
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
26
+ d = dict(src_dict)
27
+ artifact_group_record_analysis_type_0 = cls()
28
+
29
+ artifact_group_record_analysis_type_0.additional_properties = d
30
+ return artifact_group_record_analysis_type_0
31
+
32
+ @property
33
+ def additional_keys(self) -> list[str]:
34
+ return list(self.additional_properties.keys())
35
+
36
+ def __getitem__(self, key: str) -> Any:
37
+ return self.additional_properties[key]
38
+
39
+ def __setitem__(self, key: str, value: Any) -> None:
40
+ self.additional_properties[key] = value
41
+
42
+ def __delitem__(self, key: str) -> None:
43
+ del self.additional_properties[key]
44
+
45
+ def __contains__(self, key: str) -> bool:
46
+ return key in self.additional_properties
@@ -0,0 +1,64 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import Mapping
4
+ from typing import Any, TypeVar
5
+
6
+ from attrs import define as _attrs_define
7
+
8
+ from ..types import UNSET, Unset
9
+
10
+ T = TypeVar("T", bound="DedupePublicParams")
11
+
12
+
13
+ @_attrs_define
14
+ class DedupePublicParams:
15
+ """Public-facing parameters for the deduplication service.
16
+
17
+ Attributes:
18
+ equivalence_relation (str): Description of what makes items equivalent
19
+ select_representative (bool | Unset): When true, use LLM to select the best representative from each equivalence
20
+ class. When false, no selection is made. Default: True.
21
+ preview (bool | Unset): Default: False.
22
+ """
23
+
24
+ equivalence_relation: str
25
+ select_representative: bool | Unset = True
26
+ preview: bool | Unset = False
27
+
28
+ def to_dict(self) -> dict[str, Any]:
29
+ equivalence_relation = self.equivalence_relation
30
+
31
+ select_representative = self.select_representative
32
+
33
+ preview = self.preview
34
+
35
+ field_dict: dict[str, Any] = {}
36
+
37
+ field_dict.update(
38
+ {
39
+ "equivalence_relation": equivalence_relation,
40
+ }
41
+ )
42
+ if select_representative is not UNSET:
43
+ field_dict["select_representative"] = select_representative
44
+ if preview is not UNSET:
45
+ field_dict["preview"] = preview
46
+
47
+ return field_dict
48
+
49
+ @classmethod
50
+ def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
51
+ d = dict(src_dict)
52
+ equivalence_relation = d.pop("equivalence_relation")
53
+
54
+ select_representative = d.pop("select_representative", UNSET)
55
+
56
+ preview = d.pop("preview", UNSET)
57
+
58
+ dedupe_public_params = cls(
59
+ equivalence_relation=equivalence_relation,
60
+ select_representative=select_representative,
61
+ preview=preview,
62
+ )
63
+
64
+ return dedupe_public_params
@@ -11,7 +11,7 @@ from ..models.processing_mode import ProcessingMode
11
11
  from ..types import UNSET, Unset
12
12
 
13
13
  if TYPE_CHECKING:
14
- from ..models.dedupe_query_params import DedupeQueryParams
14
+ from ..models.dedupe_public_params import DedupePublicParams
15
15
 
16
16
 
17
17
  T = TypeVar("T", bound="DedupeRequestParams")
@@ -22,7 +22,7 @@ class DedupeRequestParams:
22
22
  """Request parameters for the deduplication service.
23
23
 
24
24
  Attributes:
25
- query (DedupeQueryParams): Service-specific parameters for the deduplication service.
25
+ query (DedupePublicParams): Public-facing parameters for the deduplication service.
26
26
  input_artifacts (list[UUID] | None | Unset):
27
27
  context_artifacts (list[UUID] | None | Unset):
28
28
  label (None | str | Unset): Short task label for use in the UI
@@ -36,7 +36,7 @@ class DedupeRequestParams:
36
36
  processing_mode (ProcessingMode | Unset):
37
37
  """
38
38
 
39
- query: DedupeQueryParams
39
+ query: DedupePublicParams
40
40
  input_artifacts: list[UUID] | None | Unset = UNSET
41
41
  context_artifacts: list[UUID] | None | Unset = UNSET
42
42
  label: None | str | Unset = UNSET
@@ -147,10 +147,10 @@ class DedupeRequestParams:
147
147
 
148
148
  @classmethod
149
149
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
150
- from ..models.dedupe_query_params import DedupeQueryParams
150
+ from ..models.dedupe_public_params import DedupePublicParams
151
151
 
152
152
  d = dict(src_dict)
153
- query = DedupeQueryParams.from_dict(d.pop("query"))
153
+ query = DedupePublicParams.from_dict(d.pop("query"))
154
154
 
155
155
  def _parse_input_artifacts(data: object) -> list[UUID] | None | Unset:
156
156
  if data is None:
@@ -21,6 +21,8 @@ class DeepRankPublicParams:
21
21
  root model of response_schema. Typically has a numeric type but not necessarily.
22
22
  ascending_order (bool | Unset): If true, sort the output artifacts in ascending order according to
23
23
  field_to_sort_by Default: True.
24
+ include_provenance_and_notes (bool | Unset): Whether to include an additional provenance and notes field in the
25
+ output and prompt Default: True.
24
26
  preview (bool | Unset): When true, process only the first few inputs Default: False.
25
27
  """
26
28
 
@@ -28,6 +30,7 @@ class DeepRankPublicParams:
28
30
  response_schema: Any
29
31
  field_to_sort_by: str
30
32
  ascending_order: bool | Unset = True
33
+ include_provenance_and_notes: bool | Unset = True
31
34
  preview: bool | Unset = False
32
35
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
33
36
 
@@ -40,6 +43,8 @@ class DeepRankPublicParams:
40
43
 
41
44
  ascending_order = self.ascending_order
42
45
 
46
+ include_provenance_and_notes = self.include_provenance_and_notes
47
+
43
48
  preview = self.preview
44
49
 
45
50
  field_dict: dict[str, Any] = {}
@@ -53,6 +58,8 @@ class DeepRankPublicParams:
53
58
  )
54
59
  if ascending_order is not UNSET:
55
60
  field_dict["ascending_order"] = ascending_order
61
+ if include_provenance_and_notes is not UNSET:
62
+ field_dict["include_provenance_and_notes"] = include_provenance_and_notes
56
63
  if preview is not UNSET:
57
64
  field_dict["preview"] = preview
58
65
 
@@ -69,6 +76,8 @@ class DeepRankPublicParams:
69
76
 
70
77
  ascending_order = d.pop("ascending_order", UNSET)
71
78
 
79
+ include_provenance_and_notes = d.pop("include_provenance_and_notes", UNSET)
80
+
72
81
  preview = d.pop("preview", UNSET)
73
82
 
74
83
  deep_rank_public_params = cls(
@@ -76,6 +85,7 @@ class DeepRankPublicParams:
76
85
  response_schema=response_schema,
77
86
  field_to_sort_by=field_to_sort_by,
78
87
  ascending_order=ascending_order,
88
+ include_provenance_and_notes=include_provenance_and_notes,
79
89
  preview=preview,
80
90
  )
81
91
 
@@ -21,6 +21,8 @@ class DeepScreenPublicParams:
21
21
  response_schema (Any | Unset): Default: {'_model_name': 'Root', 'answer': {'description': 'The response
22
22
  answer', 'optional': False, 'type': 'str'}}.
23
23
  response_schema_type (ResponseSchemaType | Unset): Type of response schema format.
24
+ include_provenance_and_notes (bool | Unset): Whether to include an additional provenance and notes field in the
25
+ output and prompt Default: True.
24
26
  preview (bool | Unset): When true, process only the first few inputs Default: False.
25
27
  """
26
28
 
@@ -31,6 +33,7 @@ class DeepScreenPublicParams:
31
33
  "answer": {"description": "The response answer", "optional": False, "type": "str"},
32
34
  }
33
35
  response_schema_type: ResponseSchemaType | Unset = UNSET
36
+ include_provenance_and_notes: bool | Unset = True
34
37
  preview: bool | Unset = False
35
38
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
36
39
 
@@ -49,6 +52,8 @@ class DeepScreenPublicParams:
49
52
  if not isinstance(self.response_schema_type, Unset):
50
53
  response_schema_type = self.response_schema_type.value
51
54
 
55
+ include_provenance_and_notes = self.include_provenance_and_notes
56
+
52
57
  preview = self.preview
53
58
 
54
59
  field_dict: dict[str, Any] = {}
@@ -64,6 +69,8 @@ class DeepScreenPublicParams:
64
69
  field_dict["response_schema"] = response_schema
65
70
  if response_schema_type is not UNSET:
66
71
  field_dict["response_schema_type"] = response_schema_type
72
+ if include_provenance_and_notes is not UNSET:
73
+ field_dict["include_provenance_and_notes"] = include_provenance_and_notes
67
74
  if preview is not UNSET:
68
75
  field_dict["preview"] = preview
69
76
 
@@ -92,6 +99,8 @@ class DeepScreenPublicParams:
92
99
  else:
93
100
  response_schema_type = ResponseSchemaType(_response_schema_type)
94
101
 
102
+ include_provenance_and_notes = d.pop("include_provenance_and_notes", UNSET)
103
+
95
104
  preview = d.pop("preview", UNSET)
96
105
 
97
106
  deep_screen_public_params = cls(
@@ -99,6 +108,7 @@ class DeepScreenPublicParams:
99
108
  batch_size=batch_size,
100
109
  response_schema=response_schema,
101
110
  response_schema_type=response_schema_type,
111
+ include_provenance_and_notes=include_provenance_and_notes,
102
112
  preview=preview,
103
113
  )
104
114
 
@@ -12,6 +12,7 @@ from ..types import UNSET, Unset
12
12
 
13
13
  if TYPE_CHECKING:
14
14
  from ..models.aux_data import AuxData
15
+ from ..models.standalone_artifact_record_analysis_type_0 import StandaloneArtifactRecordAnalysisType0
15
16
  from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
16
17
  from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
17
18
 
@@ -34,6 +35,7 @@ class StandaloneArtifactRecord:
34
35
  original_id (None | Unset | UUID):
35
36
  index_in_group (int | None | Unset):
36
37
  current_iteration (int | None | Unset):
38
+ analysis (None | StandaloneArtifactRecordAnalysisType0 | Unset):
37
39
  """
38
40
 
39
41
  uid: UUID
@@ -47,9 +49,11 @@ class StandaloneArtifactRecord:
47
49
  original_id: None | Unset | UUID = UNSET
48
50
  index_in_group: int | None | Unset = UNSET
49
51
  current_iteration: int | None | Unset = UNSET
52
+ analysis: None | StandaloneArtifactRecordAnalysisType0 | Unset = UNSET
50
53
  additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
51
54
 
52
55
  def to_dict(self) -> dict[str, Any]:
56
+ from ..models.standalone_artifact_record_analysis_type_0 import StandaloneArtifactRecordAnalysisType0
53
57
  from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
54
58
  from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
55
59
 
@@ -109,6 +113,14 @@ class StandaloneArtifactRecord:
109
113
  else:
110
114
  current_iteration = self.current_iteration
111
115
 
116
+ analysis: dict[str, Any] | None | Unset
117
+ if isinstance(self.analysis, Unset):
118
+ analysis = UNSET
119
+ elif isinstance(self.analysis, StandaloneArtifactRecordAnalysisType0):
120
+ analysis = self.analysis.to_dict()
121
+ else:
122
+ analysis = self.analysis
123
+
112
124
  field_dict: dict[str, Any] = {}
113
125
  field_dict.update(self.additional_properties)
114
126
  field_dict.update(
@@ -134,12 +146,15 @@ class StandaloneArtifactRecord:
134
146
  field_dict["index_in_group"] = index_in_group
135
147
  if current_iteration is not UNSET:
136
148
  field_dict["current_iteration"] = current_iteration
149
+ if analysis is not UNSET:
150
+ field_dict["analysis"] = analysis
137
151
 
138
152
  return field_dict
139
153
 
140
154
  @classmethod
141
155
  def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
142
156
  from ..models.aux_data import AuxData
157
+ from ..models.standalone_artifact_record_analysis_type_0 import StandaloneArtifactRecordAnalysisType0
143
158
  from ..models.standalone_artifact_record_metadata_type_0 import StandaloneArtifactRecordMetadataType0
144
159
  from ..models.standalone_artifact_record_trace_mapping_type_0 import StandaloneArtifactRecordTraceMappingType0
145
160
 
@@ -244,6 +259,23 @@ class StandaloneArtifactRecord:
244
259
 
245
260
  current_iteration = _parse_current_iteration(d.pop("current_iteration", UNSET))
246
261
 
262
+ def _parse_analysis(data: object) -> None | StandaloneArtifactRecordAnalysisType0 | Unset:
263
+ if data is None:
264
+ return data
265
+ if isinstance(data, Unset):
266
+ return data
267
+ try:
268
+ if not isinstance(data, dict):
269
+ raise TypeError()
270
+ analysis_type_0 = StandaloneArtifactRecordAnalysisType0.from_dict(data)
271
+
272
+ return analysis_type_0
273
+ except (TypeError, ValueError, AttributeError, KeyError):
274
+ pass
275
+ return cast(None | StandaloneArtifactRecordAnalysisType0 | Unset, data)
276
+
277
+ analysis = _parse_analysis(d.pop("analysis", UNSET))
278
+
247
279
  standalone_artifact_record = cls(
248
280
  uid=uid,
249
281
  type_=type_,
@@ -256,6 +288,7 @@ class StandaloneArtifactRecord:
256
288
  original_id=original_id,
257
289
  index_in_group=index_in_group,
258
290
  current_iteration=current_iteration,
291
+ analysis=analysis,
259
292
  )
260
293
 
261
294
  standalone_artifact_record.additional_properties = d