ibm-watsonx-orchestrate 1.10.0b0__py3-none-any.whl → 1.10.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 (29) hide show
  1. ibm_watsonx_orchestrate/__init__.py +1 -2
  2. ibm_watsonx_orchestrate/agent_builder/connections/__init__.py +1 -1
  3. ibm_watsonx_orchestrate/agent_builder/connections/connections.py +6 -3
  4. ibm_watsonx_orchestrate/agent_builder/connections/types.py +68 -17
  5. ibm_watsonx_orchestrate/agent_builder/knowledge_bases/types.py +47 -3
  6. ibm_watsonx_orchestrate/agent_builder/toolkits/types.py +18 -15
  7. ibm_watsonx_orchestrate/agent_builder/tools/types.py +1 -1
  8. ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py +40 -11
  9. ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py +96 -30
  10. ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py +32 -10
  11. ibm_watsonx_orchestrate/cli/commands/server/server_command.py +95 -17
  12. ibm_watsonx_orchestrate/cli/commands/server/types.py +14 -6
  13. ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py +43 -10
  14. ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py +52 -25
  15. ibm_watsonx_orchestrate/client/connections/connections_client.py +4 -3
  16. ibm_watsonx_orchestrate/client/knowledge_bases/knowledge_base_client.py +4 -4
  17. ibm_watsonx_orchestrate/docker/compose-lite.yml +52 -13
  18. ibm_watsonx_orchestrate/docker/default.env +21 -14
  19. ibm_watsonx_orchestrate/flow_builder/data_map.py +4 -1
  20. ibm_watsonx_orchestrate/flow_builder/flows/__init__.py +2 -0
  21. ibm_watsonx_orchestrate/flow_builder/flows/flow.py +204 -17
  22. ibm_watsonx_orchestrate/flow_builder/node.py +114 -19
  23. ibm_watsonx_orchestrate/flow_builder/types.py +206 -34
  24. ibm_watsonx_orchestrate/run/connections.py +2 -2
  25. {ibm_watsonx_orchestrate-1.10.0b0.dist-info → ibm_watsonx_orchestrate-1.10.1.dist-info}/METADATA +1 -1
  26. {ibm_watsonx_orchestrate-1.10.0b0.dist-info → ibm_watsonx_orchestrate-1.10.1.dist-info}/RECORD +29 -29
  27. {ibm_watsonx_orchestrate-1.10.0b0.dist-info → ibm_watsonx_orchestrate-1.10.1.dist-info}/WHEEL +0 -0
  28. {ibm_watsonx_orchestrate-1.10.0b0.dist-info → ibm_watsonx_orchestrate-1.10.1.dist-info}/entry_points.txt +0 -0
  29. {ibm_watsonx_orchestrate-1.10.0b0.dist-info → ibm_watsonx_orchestrate-1.10.1.dist-info}/licenses/LICENSE +0 -0
@@ -4,12 +4,16 @@ from datetime import date
4
4
  import numbers
5
5
  import inspect
6
6
  import logging
7
+ import uuid
8
+ import re
9
+ import time
7
10
  from typing import (
8
11
  Annotated, Any, Callable, Self, cast, Literal, List, NamedTuple, Optional, Sequence, Union, NewType
9
12
  )
10
13
  from typing_extensions import Doc
11
14
 
12
15
  import docstring_parser
16
+ from pydantic import computed_field, field_validator
13
17
  from pydantic import BaseModel, Field, GetCoreSchemaHandler, GetJsonSchemaHandler, RootModel
14
18
  from pydantic_core import core_schema
15
19
  from pydantic.json_schema import JsonSchemaValue
@@ -24,6 +28,7 @@ from ibm_watsonx_orchestrate.agent_builder.tools.types import (
24
28
  )
25
29
  from .utils import get_valid_name
26
30
 
31
+
27
32
  logger = logging.getLogger(__name__)
28
33
 
29
34
  class JsonSchemaObjectRef(JsonSchemaObject):
@@ -124,7 +129,7 @@ def _to_json_from_output_schema(schema: Union[ToolResponseBody, SchemaRef]) -> d
124
129
  return model_spec
125
130
 
126
131
  class NodeSpec(BaseModel):
127
- kind: Literal["node", "tool", "user", "agent", "flow", "start", "decisions", "prompt", "branch", "wait", "foreach", "loop", "userflow", "end", "docproc" ] = "node"
132
+ kind: Literal["node", "tool", "user", "agent", "flow", "start", "decisions", "prompt", "timer", "branch", "wait", "foreach", "loop", "userflow", "end", "docproc", "docext", "docclassifier" ] = "node"
128
133
  name: str
129
134
  display_name: str | None = None
130
135
  description: str | None = None
@@ -170,7 +175,7 @@ class NodeSpec(BaseModel):
170
175
 
171
176
  return model_spec
172
177
 
173
- class DocExtConfigEntity(BaseModel):
178
+ class DocExtConfigField(BaseModel):
174
179
  name: str = Field(description="Entity name")
175
180
  type: Literal["string", "date", "number"] = Field(default="string", description="The type of the entity values")
176
181
  description: str = Field(title="Description", description="Description of the entity", default="")
@@ -180,18 +185,89 @@ class DocExtConfigEntity(BaseModel):
180
185
  examples: list[str] = Field(title="Examples", description="Examples that help the LLM understand the expected entity mentions", default=[])
181
186
 
182
187
  class DocExtConfig(BaseModel):
183
- domain: str = Field(description="Domiain of the document", default="other")
188
+ domain: str = Field(description="Domain of the document", default="other")
184
189
  type: str = Field(description="Document type", default="agreement")
185
190
  llm: str = Field(description="The LLM used for the document extraction", default="meta-llama/llama-3-2-11b-vision-instruct")
186
- entities: list[DocExtConfigEntity] = Field(default=[])
191
+ fields: list[DocExtConfigField] = Field(default=[])
187
192
 
188
193
  class LanguageCode(StrEnum):
189
194
  en = auto()
190
195
  fr = auto()
191
196
 
197
+ class DocProcTask(StrEnum):
198
+ '''
199
+ Possible names for the Document processing task parameter
200
+ '''
201
+ text_extraction = auto()
202
+ custom_field_extraction = auto()
203
+ custom_document_classification = auto()
204
+
205
+ class CustomClassOutput(BaseModel):
206
+ class_name: str = Field(
207
+ title="Class Name",
208
+ description="Class Name of the Document",
209
+ default=[],
210
+ )
211
+
212
+ class DocumentClassificationResponse(BaseModel):
213
+ custom_class_response: CustomClassOutput = Field(
214
+ title="Custom Classification",
215
+ description="The Class extracted by the llm",
216
+ )
217
+
218
+ class DocClassifierClass(BaseModel):
219
+ class_name: str = Field(title='Class Name', description="The predicted, normalized document class name based on provided name")
220
+
221
+ @field_validator("class_name", mode="before")
222
+ @classmethod
223
+ def normalize_name(cls, name) -> str:
224
+ pattern = r'^[a-zA-Z0-9_]{1,29}$'
225
+ if not re.match(pattern, name):
226
+ raise ValueError(f"class_name \"{name}\" is not valid. class_name should contain only letters (a-z, A-Z), digits (0-9), and underscores (_)")
227
+ return name
228
+
229
+ @computed_field(description="A uuid for identifying classes, For easy filtering of documents classified in a class", return_type=str)
230
+ def class_id(self) -> str:
231
+ return str(uuid.uuid5(uuid.uuid1(), self.class_name + str(time.time())))
232
+
233
+ class DocClassifierConfig(BaseModel):
234
+ domain: str = Field(description="Domain of the document", default="other",title="Domain")
235
+ type: Literal["class_configuration"] = Field(description="Document type", default="class_configuration",title="Type")
236
+ llm: str = Field(description="The LLM used for the document classfier", default="watsonx/meta-llama/llama-3-2-11b-vision-instruct",title="LLM")
237
+ min_confidence: float = Field(description="The minimal confidence acceptable for an extracted field value", default=0.0,le=1.0, ge=0.0 ,title="Minimum Confidence")
238
+ classes: list[DocClassifierClass] = Field(default=[], description="Classes which are needed to classify provided by user", title="Classes")
239
+
192
240
  class DocProcCommonNodeSpec(NodeSpec):
241
+ task: DocProcTask = Field(description='The document processing operation name', default=DocProcTask.text_extraction)
193
242
  enable_hw: bool | None = Field(description="Boolean value indicating if hand-written feature is enabled.", title="Enable handwritten", default=False)
194
243
 
244
+ def __init__(self, **data):
245
+ super().__init__(**data)
246
+
247
+ def to_json(self) -> dict[str, Any]:
248
+ model_spec = super().to_json()
249
+ model_spec["task"] = self.task
250
+ model_spec["enable_hw"] = self.enable_hw
251
+
252
+ return model_spec
253
+
254
+
255
+
256
+ class DocClassifierSpec(DocProcCommonNodeSpec):
257
+ version : str = Field(description="A version of the spec")
258
+ config : DocClassifierConfig
259
+
260
+ def __init__(self, **data):
261
+ super().__init__(**data)
262
+ self.kind = "docclassifier"
263
+
264
+ def to_json(self) -> dict[str, Any]:
265
+ model_spec = super().to_json()
266
+ model_spec["version"] = self.version
267
+ model_spec["config"] = self.config.model_dump()
268
+ model_spec["task"] = DocProcTask.custom_document_classification
269
+ return model_spec
270
+
195
271
  class DocExtSpec(DocProcCommonNodeSpec):
196
272
  version : str = Field(description="A version of the spec")
197
273
  config : DocExtConfig
@@ -204,6 +280,7 @@ class DocExtSpec(DocProcCommonNodeSpec):
204
280
  model_spec = super().to_json()
205
281
  model_spec["version"] = self.version
206
282
  model_spec["config"] = self.config.model_dump()
283
+ model_spec["task"] = DocProcTask.custom_field_extraction
207
284
  return model_spec
208
285
 
209
286
  class DocProcField(BaseModel):
@@ -251,19 +328,17 @@ class DocProcKVP(BaseModel):
251
328
  table_name: Optional[str] = Field(default=None, description="The name of the table the key-value pair belongs to. This is used to group key-value pairs together in a table.")
252
329
  table_row_index: Optional[int] = Field(default=None, description="The index of the row in the table the key-value pair belongs to. This is used to group key-value pairs together in a table.")
253
330
 
254
- class DocProcTask(StrEnum):
255
- '''
256
- Possible names for the Document processing task parameter
257
- '''
258
- text_extraction = auto()
331
+ class PlainTextReadingOrder(StrEnum):
332
+ block_structure = auto()
333
+ simple_line = auto()
259
334
 
260
335
  class DocProcSpec(DocProcCommonNodeSpec):
261
- task: DocProcTask = Field(description='The document processing operation name', default=DocProcTask.text_extraction)
262
- kvp_schema: List[DocProcKVPSchema] | None = Field(
336
+ kvp_schemas: List[DocProcKVPSchema] | None = Field(
263
337
  title='KVP schemas',
264
338
  description="Optional list of key-value pair schemas to use for extraction.",
265
339
  default=None)
266
-
340
+ plain_text_reading_order : PlainTextReadingOrder = Field(default=PlainTextReadingOrder.block_structure)
341
+
267
342
  def __init__(self, **data):
268
343
  super().__init__(**data)
269
344
  self.kind = "docproc"
@@ -271,8 +346,12 @@ class DocProcSpec(DocProcCommonNodeSpec):
271
346
  def to_json(self) -> dict[str, Any]:
272
347
  model_spec = super().to_json()
273
348
  model_spec["task"] = self.task
349
+ if self.plain_text_reading_order != PlainTextReadingOrder.block_structure:
350
+ model_spec["plain_text_reading_order"] = self.plain_text_reading_order
351
+ if self.kvp_schemas is not None:
352
+ model_spec["kvp_schemas"] = self.kvp_schemas
274
353
  return model_spec
275
-
354
+
276
355
  class StartNodeSpec(NodeSpec):
277
356
  def __init__(self, **data):
278
357
  super().__init__(**data)
@@ -282,7 +361,6 @@ class EndNodeSpec(NodeSpec):
282
361
  def __init__(self, **data):
283
362
  super().__init__(**data)
284
363
  self.kind = "end"
285
-
286
364
  class ToolNodeSpec(NodeSpec):
287
365
  tool: Union[str, ToolSpec] = Field(default = None, description="the tool to use")
288
366
 
@@ -343,9 +421,10 @@ class UserFieldKind(str, Enum):
343
421
  DateTime: str = "datetime"
344
422
  Time: str = "time"
345
423
  Number: str = "number"
346
- Document: str = "document"
424
+ File: str = "file"
347
425
  Boolean: str = "boolean"
348
426
  Object: str = "object"
427
+ Choice: str = "any"
349
428
 
350
429
  def convert_python_type_to_kind(python_type: type) -> "UserFieldKind":
351
430
  if inspect.isclass(python_type):
@@ -385,8 +464,8 @@ class UserFieldKind(str, Enum):
385
464
  model_spec["format"] = "number"
386
465
  elif kind == UserFieldKind.Boolean:
387
466
  model_spec["type"] = "boolean"
388
- elif kind == UserFieldKind.Document:
389
- model_spec["format"] = "uri"
467
+ elif kind == UserFieldKind.File:
468
+ model_spec["format"] = "wxo-file"
390
469
  elif kind == UserFieldKind.Object:
391
470
  raise ValueError("Object user fields are not supported.")
392
471
 
@@ -405,6 +484,8 @@ class UserField(BaseModel):
405
484
  text: str | None = Field(default=None, description="A descriptive text that can be used to ask user about this field.")
406
485
  display_name: str | None = None
407
486
  description: str | None = None
487
+ direction: str | None = None
488
+ input_map: Any | None = None,
408
489
  default: Any | None = None
409
490
  option: UserFieldOption | None = None
410
491
  min: Any | None = None,
@@ -419,6 +500,15 @@ class UserField(BaseModel):
419
500
  model_spec["name"] = self.name
420
501
  if self.kind:
421
502
  model_spec["kind"] = self.kind.value
503
+ if self.direction:
504
+ model_spec["direction"] = self.direction
505
+ if self.input_map:
506
+ # workaround for circular dependency related to Assigments in the Datamap module
507
+ from .data_map import DataMap
508
+ if self.input_map and not isinstance(self.input_map, DataMap):
509
+ raise TypeError("input_map must be an instance of DataMap")
510
+ #model_spec["input_map"] = self.input_map.to_json()
511
+ model_spec["input_map"] = {"spec": self.input_map.to_json()}
422
512
  if self.text:
423
513
  model_spec["text"] = self.text
424
514
  if self.display_name:
@@ -478,7 +568,15 @@ class UserNodeSpec(NodeSpec):
478
568
  max: Any | None = None,
479
569
  is_list: bool = False,
480
570
  custom: dict[str, Any] | None = None,
481
- widget: str | None = None):
571
+ widget: str | None = None,
572
+ input_map: Any | None = None,
573
+ direction: str | None = None):
574
+
575
+ # workaround for circular dependency related to Assigments in the Datamap module
576
+ from .data_map import DataMap
577
+ if input_map and not isinstance(input_map, DataMap):
578
+ raise TypeError("input_map must be an instance of DataMap")
579
+
482
580
  userfield = UserField(name=name,
483
581
  kind=kind,
484
582
  text=text,
@@ -490,7 +588,9 @@ class UserNodeSpec(NodeSpec):
490
588
  max=max,
491
589
  is_list=is_list,
492
590
  custom=custom,
493
- widget=widget)
591
+ widget=widget,
592
+ direction=direction,
593
+ input_map=input_map)
494
594
 
495
595
  # find the index of the field
496
596
  i = 0
@@ -582,11 +682,28 @@ class PromptLLMParameters(BaseModel):
582
682
  if self.stop_sequences:
583
683
  model_spec["stop_sequences"] = self.stop_sequences
584
684
  return model_spec
685
+
686
+ class PromptExample(BaseModel):
687
+ input: Optional[str] = None
688
+ expected_output: Optional[str] = None
689
+ enabled: bool
690
+
691
+ def to_json(self) -> dict[str, Any]:
692
+ model_spec = {}
693
+ if self.input:
694
+ model_spec["input"] = self.input
695
+ if self.expected_output:
696
+ model_spec["expected_output"] = self.expected_output
697
+ if self.enabled:
698
+ model_spec["enabled"] = self.enabled
699
+ return model_spec
700
+
585
701
 
586
702
 
587
703
  class PromptNodeSpec(NodeSpec):
588
704
  system_prompt: str | list[str]
589
705
  user_prompt: str | list[str]
706
+ prompt_examples: Optional[list[PromptExample]]
590
707
  llm: Optional[str]
591
708
  llm_parameters: Optional[PromptLLMParameters]
592
709
 
@@ -604,9 +721,24 @@ class PromptNodeSpec(NodeSpec):
604
721
  model_spec["llm"] = self.llm
605
722
  if self.llm_parameters:
606
723
  model_spec["llm_parameters"] = self.llm_parameters.to_json()
607
-
724
+ if self.prompt_examples:
725
+ model_spec["prompt_examples"] = []
726
+ for example in self.prompt_examples:
727
+ model_spec["prompt_examples"].append(example.to_json())
608
728
  return model_spec
609
729
 
730
+ class TimerNodeSpec(NodeSpec):
731
+ delay: int
732
+
733
+ def __init__(self, **kwargs):
734
+ super().__init__(**kwargs)
735
+ self.kind = "timer"
736
+
737
+ def to_json(self) -> dict[str, Any]:
738
+ model_spec = super().to_json()
739
+ if self.delay:
740
+ model_spec["delay"] = self.delay
741
+ return model_spec
610
742
 
611
743
  class Expression(BaseModel):
612
744
  '''An expression could return a boolean or a value'''
@@ -617,6 +749,47 @@ class Expression(BaseModel):
617
749
  model_spec["expression"] = self.expression;
618
750
  return model_spec
619
751
 
752
+ class NodeIdCondition(BaseModel):
753
+ '''One Condition contains an expression, a node_id that branch should go to when expression is true, and a default indicator. '''
754
+ expression: Optional[str] = Field(description="A python expression to be run by the flow engine", default=None)
755
+ node_id: str = Field(description="ID of the node in the flow that branch node should go to")
756
+ default: bool = Field(description="Boolean indicating if the condition is default case")
757
+
758
+ def to_json(self) -> dict[str, Any]:
759
+ model_spec = {}
760
+ if self.expression:
761
+ model_spec["expression"] = self.expression
762
+ model_spec["node_id"] = self.node_id
763
+ model_spec["default"] = self.default
764
+ return model_spec
765
+
766
+
767
+ class EdgeIdCondition(BaseModel):
768
+ '''One Condition contains an expression, an edge_id that branch should go to when expression is true, and a default indicator. '''
769
+ expression: Optional[str] = Field(description="A python expression to be run by the flow engine")
770
+ edge_id: str = Field(description="ID of the edge in the flow that branch node should go to")
771
+ default: bool = Field(description="Boolean indicating if the condition is default case")
772
+
773
+ def to_json(self) -> dict[str, Any]:
774
+ model_spec = {}
775
+ if self.expression:
776
+ model_spec["expression"] = self.expression
777
+ model_spec["edge_id"] = self.edge_id
778
+ model_spec["default"] = self.default
779
+ return model_spec
780
+
781
+ class Conditions(BaseModel):
782
+ '''One Conditions is an array represents the if-else conditions of a complex branch'''
783
+ conditions: list = List[Union[NodeIdCondition, EdgeIdCondition]]
784
+
785
+ def to_json(self) -> dict[str, Any]:
786
+ model_spec = {}
787
+ condition_list = []
788
+ for condition in self.conditions:
789
+ condition_list.append(NodeIdCondition.model_validate(condition).to_json())
790
+ model_spec["conditions"] = condition_list
791
+ return model_spec
792
+
620
793
  class MatchPolicy(Enum):
621
794
 
622
795
  FIRST_MATCH = 1
@@ -634,7 +807,7 @@ class BranchNodeSpec(FlowControlNodeSpec):
634
807
  cases (dict[str | bool, str]): A dictionary of labels to node names. The keys can be strings or booleans.
635
808
  match_policy (MatchPolicy): The policy to use when evaluating the expression.
636
809
  '''
637
- evaluator: Expression
810
+ evaluator: Expression | Conditions
638
811
  cases: dict[str | bool, str] = Field(default = {},
639
812
  description="A dictionary of labels to node names.")
640
813
  match_policy: MatchPolicy = Field(default = MatchPolicy.FIRST_MATCH)
@@ -718,7 +891,7 @@ class UserFlowSpec(FlowSpec):
718
891
 
719
892
  def __init__(self, **kwargs):
720
893
  super().__init__(**kwargs)
721
- self.kind = "userflow"
894
+ self.kind = "user_flow"
722
895
 
723
896
  def to_json(self) -> dict[str, Any]:
724
897
  model_spec = super().to_json()
@@ -866,24 +1039,25 @@ class File(str):
866
1039
  "wrap_data": False,
867
1040
  "required": []
868
1041
  }
869
-
870
- class DocExtInput(BaseModel):
871
- document_ref: bytes | File = Field(description="Either an ID or a URL identifying the document to be used.", title='Document reference', default=None, json_schema_extra={"format": "binary"})
1042
+ class DocumentProcessingCommonInput(BaseModel):
1043
+ '''
1044
+ This class represents the common input of docext, docproc and docclassifier node
872
1045
 
1046
+ Attributes:
1047
+ document_ref (bytes|str): This is either a URL to the location of the document bytes or an ID that we use to resolve the location of the document
1048
+ '''
1049
+ document_ref: bytes | File = Field(description="Either an ID or a URL identifying the document to be used.", title='Document reference', default=None, json_schema_extra={"format": "binary"})
873
1050
 
874
- class DocProcInput(BaseModel):
1051
+ class DocProcInput(DocumentProcessingCommonInput):
875
1052
  '''
876
1053
  This class represents the input of a Document processing task.
877
1054
 
878
1055
  Attributes:
879
- document_ref (bytes|str): This is either a URL to the location of the document bytes or an ID that we use to resolve the location of the document
880
- language (LanguageCode): Optional language code used when processing the input document
881
1056
  kvp_schemas (List[DocProcKVPSchema]): Optional list of key-value pair schemas to use for extraction. If not provided or None, no KVPs will be extracted. If an empty list is provided, we will use the internal schemas to extract KVPS.
882
1057
  '''
883
1058
  # This is declared as bytes but the runtime will understand if a URL is send in as input.
884
1059
  # We need to use bytes here for Chat-with-doc to recognize the input as a File.
885
- document_ref: bytes | File = Field(description="Either an ID or a URL identifying the document to be used.", title='Document reference', default=None, json_schema_extra={"format": "binary"})
886
- kvp_schemas: Optional[List[DocProcKVPSchema]] = Field(
1060
+ kvp_schemas: Optional[List[DocProcKVPSchema]] | str = Field(
887
1061
  title='KVP schemas',
888
1062
  description="Optional list of key-value pair schemas to use for extraction.",
889
1063
  default=None)
@@ -892,11 +1066,9 @@ class TextExtractionResponse(BaseModel):
892
1066
  '''
893
1067
  The text extraction operation response.
894
1068
  Attributes:
895
- text (str): the text extracted from the input document.
896
- kvps (Optional[list[DocProcKVP]]): A list of key-value pairs extracted from the document. If no KVPs were extracted, this will be None.
1069
+ output_file_ref (str): The url to the file that contains the extracted text and kvps.
897
1070
  '''
898
- text: str = Field(description='The text extracted from the input document', title='text')
899
- kvps: Optional[list[DocProcKVP]] = Field(description="A list of key-value pairs extracted from the document.", default=None)
1071
+ output_file_ref: str = Field(description='The url to the file that contains the extracted text and kvps.', title="output_file_ref")
900
1072
 
901
1073
 
902
1074
  class DecisionsCondition(BaseModel):
@@ -24,8 +24,8 @@ def oauth2_auth_code(app_id:str) -> OAuth2TokenCredentials:
24
24
  # def oauth2_implicit(app_id:str) -> BearerTokenAuthCredentials:
25
25
  # return get_application_connection_credentials(ConnectionType.OAUTH2_IMPLICIT, app_id=app_id)
26
26
 
27
- # def oauth2_password(app_id:str) -> BearerTokenAuthCredentials:
28
- # return get_application_connection_credentials(ConnectionType.OAUTH2_PASSWORD, app_id=app_id)
27
+ def oauth2_password(app_id:str) -> OAuth2TokenCredentials:
28
+ return get_application_connection_credentials(ConnectionType.OAUTH2_PASSWORD, app_id=app_id)
29
29
 
30
30
  def oauth2_client_creds(app_id:str) -> OAuth2TokenCredentials:
31
31
  return get_application_connection_credentials(ConnectionType.OAUTH2_CLIENT_CREDS, app_id=app_id)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ibm-watsonx-orchestrate
3
- Version: 1.10.0b0
3
+ Version: 1.10.1
4
4
  Summary: IBM watsonx.orchestrate SDK
5
5
  Author-email: IBM <support@ibm.com>
6
6
  License: MIT License
@@ -1,4 +1,4 @@
1
- ibm_watsonx_orchestrate/__init__.py,sha256=CE0F2w_9jm2X8mCofA2JwrXdBnhedrW0zMrgrGnZNy8,429
1
+ ibm_watsonx_orchestrate/__init__.py,sha256=PRy6NfSG4mSt4yawB2bLg9gwssVrWTF8ssncV9sp0vU,426
2
2
  ibm_watsonx_orchestrate/agent_builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  ibm_watsonx_orchestrate/agent_builder/agents/__init__.py,sha256=lmZwaiWXD4Ea19nrMwZXaqCxFMG29xNS8vUoZtK3yI4,392
4
4
  ibm_watsonx_orchestrate/agent_builder/agents/agent.py,sha256=W0uya81fQPrYZFaO_tlsxBL56Bfpw0xrqdxQJhAZ6XI,983
@@ -8,24 +8,24 @@ ibm_watsonx_orchestrate/agent_builder/agents/types.py,sha256=al_nz27cPqD1QLnamMg
8
8
  ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/__init__.py,sha256=5TXa8UqKUAlDo4hTbE5S9OPEkQhxXhPJHJC4pEe8U00,92
9
9
  ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/prompts.py,sha256=jNVF_jgz1Dmt7-RxAceAS0XWXk_fx9h3sS_fGrvZT28,941
10
10
  ibm_watsonx_orchestrate/agent_builder/agents/webchat_customizations/welcome_content.py,sha256=U76wZrblSXx4qv7phcPYs3l8SiFzwZ5cJ74u8Y2iYhU,608
11
- ibm_watsonx_orchestrate/agent_builder/connections/__init__.py,sha256=VG45ifpp6B00-ZAGW-dIEHFh18Fx3wbyfUiDDKS74u4,718
12
- ibm_watsonx_orchestrate/agent_builder/connections/connections.py,sha256=CD3QHI4d-j3rTugHOgvPZUdRu_zpWCwsSzkN63_Ke_c,5423
13
- ibm_watsonx_orchestrate/agent_builder/connections/types.py,sha256=YOOlXXNKVxTZ6tK2ceeytWXUApZjwfi4mgdYwXoiqOk,9532
11
+ ibm_watsonx_orchestrate/agent_builder/connections/__init__.py,sha256=B9FwmBbdJxFj3KmJ87Fc78TbzxOr1MIVhaHPJePOGSQ,716
12
+ ibm_watsonx_orchestrate/agent_builder/connections/connections.py,sha256=ozRTZ1Y10YbipE6oegI8QIP31fWqUaBUFoHAo-WTY3g,5547
13
+ ibm_watsonx_orchestrate/agent_builder/connections/types.py,sha256=cfM2L4VscC-0muDwqq5EhCKKQxwWyHmA-rQBE9LE7r0,11244
14
14
  ibm_watsonx_orchestrate/agent_builder/knowledge_bases/knowledge_base.py,sha256=_KuGF0RZpKpwdt31rzjlTjrhGRFz2RtLzleNkhMNX4k,1831
15
15
  ibm_watsonx_orchestrate/agent_builder/knowledge_bases/knowledge_base_requests.py,sha256=3xTfFMZR17EN8eYRhsVyBfOEzlTqyi0eYaMXyv0_ZtQ,862
16
- ibm_watsonx_orchestrate/agent_builder/knowledge_bases/types.py,sha256=ILnIwjK-RqIUr9CeRRobIPg6qE1Sl4Br-qCMPvbHIVs,6985
16
+ ibm_watsonx_orchestrate/agent_builder/knowledge_bases/types.py,sha256=2MP3_c6V3OdbwrdDDffGtrBoAhoa3q-YoUXj_RsMG_M,8340
17
17
  ibm_watsonx_orchestrate/agent_builder/model_policies/__init__.py,sha256=alJEjlneWlGpadmvOVlDjq5wulytKOmpkq3849fhKNc,131
18
18
  ibm_watsonx_orchestrate/agent_builder/model_policies/types.py,sha256=a6f9HP2OlZIe36k_PDRmFtefz2Ms2KBpzJ_jz8ggYbk,882
19
19
  ibm_watsonx_orchestrate/agent_builder/models/__init__.py,sha256=R5nTbyMBzahONdp5-bJFp-rbtTDnp2184k6doZqt67w,31
20
20
  ibm_watsonx_orchestrate/agent_builder/models/types.py,sha256=bWKrKeBMByjhEvkXieJUYOxVr1Px6mk8v4GsvjRrvo8,9812
21
21
  ibm_watsonx_orchestrate/agent_builder/toolkits/base_toolkit.py,sha256=KXRPgBK-F9Qa6IYqEslkN3ANj3cmZoZQnlSiy_-iXCk,1054
22
- ibm_watsonx_orchestrate/agent_builder/toolkits/types.py,sha256=yY-V4Hqct91-Rs4rJ3rY9OhzKkSMdOT63o224o-U9eg,959
22
+ ibm_watsonx_orchestrate/agent_builder/toolkits/types.py,sha256=RGkS01_fqbs-7YFFZbuxHv64AHdaav2jm0RDKsVMb4c,986
23
23
  ibm_watsonx_orchestrate/agent_builder/tools/__init__.py,sha256=adkYX0wgB-RKFCUBw6LPJhNVelUjUdsxipGPk2ghLns,479
24
24
  ibm_watsonx_orchestrate/agent_builder/tools/base_tool.py,sha256=0vwMIAyKyB8v1QmNrubLy8Al58g3qT78EUgrmOjegoI,1220
25
25
  ibm_watsonx_orchestrate/agent_builder/tools/flow_tool.py,sha256=DJWYVmIjw1O_cbzPpwU0a_vIZGvo0mj8UsjW9zkKMlA,2589
26
26
  ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py,sha256=h9ma18GUQHt88UIakd6QZHic822bAXzYokh6sfqAMZk,19410
27
27
  ibm_watsonx_orchestrate/agent_builder/tools/python_tool.py,sha256=cdgu-v1oRR9RUbMNKEklOzO1z3nNZpDZPSMwnJEvuIY,12533
28
- ibm_watsonx_orchestrate/agent_builder/tools/types.py,sha256=m2t4uXNp0DVwVFzd0Jf_se8tz6V8FzM5fYgFs7AlvHU,8251
28
+ ibm_watsonx_orchestrate/agent_builder/tools/types.py,sha256=3nJ5IxI3k_2GH0KQpZ17Uq4VN2WshCIExc6TuPIz3lw,8258
29
29
  ibm_watsonx_orchestrate/agent_builder/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
30
  ibm_watsonx_orchestrate/agent_builder/voice_configurations/__init__.py,sha256=W3-T8PH_KuONsCQPILQAvW2Nz25p7dp9AZbWHWGJXhA,37
31
31
  ibm_watsonx_orchestrate/agent_builder/voice_configurations/types.py,sha256=lSS1yiDzVAMkEdOwcI4_1DUuRnu_6oc8XupQtoE4Fvs,3989
@@ -42,8 +42,8 @@ ibm_watsonx_orchestrate/cli/commands/channels/types.py,sha256=hMFvWPr7tAmDrhBqtz
42
42
  ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_command.py,sha256=vPCr6z1n1yzGDjTlM4f3_9MiuVRzNmXbvUifm6XyQi8,1103
43
43
  ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_controller.py,sha256=CGfmKsCBX4E3HMZ8C0IXD-DHQNwe96V1Y_BxUZM2us0,8557
44
44
  ibm_watsonx_orchestrate/cli/commands/chat/chat_command.py,sha256=Q9vg2Z5Fsunu6GQFY_TIsNRhUCa0SSGSPnK4jxSGK34,1581
45
- ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py,sha256=bZBzaaVMFmGY4Guk-JCknZqd8HvXY5L-FirxpxddQfc,10497
46
- ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py,sha256=diwoXiyh5VKmUv0E0KEx2WJnWyNWQnvpjw-Wff05t68,22395
45
+ ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py,sha256=lwPhDPemDvFU-j7QUj8E07hsnzLBUJDNcyhQDzxs3S8,12442
46
+ ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py,sha256=_i1gaR2Nuy9gPLJZTJWoVnRvg9vKcwyg2UoiK5Azsw4,26390
47
47
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_command.py,sha256=IxasApIyQYWRMKPXKa38ZPVkUvOc4chggSmSGjgQGXc,2345
48
48
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_controller.py,sha256=SC2Tjq6r-tHIiyPBMajsxdMIY3BQpRWpkYGZS2XbJyU,18981
49
49
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_server_controller.py,sha256=AcBE97qNYsRN0ftY_E-AAjKFyVea4fHtU5eB2HsB42I,5619
@@ -53,21 +53,21 @@ ibm_watsonx_orchestrate/cli/commands/environment/types.py,sha256=X6jEnyBdxakromA
53
53
  ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py,sha256=nOVxeZSTp1bfV_l_06B6x6wfNeusNAr5KImJYkwGWx8,14298
54
54
  ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py,sha256=dZEAD0rIS9DQjWD2-i6367RjNd2PWB3Fm_DDk25toBg,7855
55
55
  ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_command.py,sha256=hOzRcGVoqq7dTc4bSregKxH-kYbrVqaFdhBLawqnRNo,2668
56
- ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py,sha256=AyGc2JudpHaSf0ktHSVRkPVsaejWL8KH7Dv0XgEGZ1U,10531
56
+ ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py,sha256=d9RSBy2S2nn8vWrghovGb1owe7Zu8LywOm0nIdzlXiU,11567
57
57
  ibm_watsonx_orchestrate/cli/commands/login/login_command.py,sha256=xArMiojoozg7Exn6HTpbTcjDO2idZRA-y0WV-_Ic1Sk,651
58
58
  ibm_watsonx_orchestrate/cli/commands/models/model_provider_mapper.py,sha256=mbvBR5o9M7W6OpTZyd6TtSEOIXq07dPYz4hv5zDrsd0,8129
59
59
  ibm_watsonx_orchestrate/cli/commands/models/models_command.py,sha256=PW-PIM5Nq0qdCopWjANGBWEuEoA3NLTFThYrN8ggGCI,6425
60
60
  ibm_watsonx_orchestrate/cli/commands/models/models_controller.py,sha256=eZSYQUg9TL_-8lgcPVpKIx7MtOE7K_NCvZW9Y9YsFA0,18466
61
- ibm_watsonx_orchestrate/cli/commands/server/server_command.py,sha256=VhNfBPVXtTjMt-wKLtlXhWu5YB9TQ7BTnBrxWUDZdU4,43636
62
- ibm_watsonx_orchestrate/cli/commands/server/types.py,sha256=UCrgGErbSVBnOzesfjrIii4tTCuVfWemYz5AKGZX0oA,4213
61
+ ibm_watsonx_orchestrate/cli/commands/server/server_command.py,sha256=cMy_GGYXbug5A6IGoddUzBUCmunySCI8BC-ebRL6p4A,46489
62
+ ibm_watsonx_orchestrate/cli/commands/server/types.py,sha256=lOrPLzadXJ3pVnIVsQRb0keXckFBGMDD3Holjfge9GI,4412
63
63
  ibm_watsonx_orchestrate/cli/commands/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  ibm_watsonx_orchestrate/cli/commands/settings/settings_command.py,sha256=CzXRkd-97jXyS6LtaaNtMah-aZu0919dYl-mDwzGThc,344
65
65
  ibm_watsonx_orchestrate/cli/commands/settings/observability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
66
  ibm_watsonx_orchestrate/cli/commands/settings/observability/observability_command.py,sha256=TAkpKwoqocsShSgEeR6LzHCzJx16VDQ6cYsbpljxeqI,372
67
67
  ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
68
  ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/langfuse_command.py,sha256=Wa0L8E44EdxH9LdOvmnluLk_ApJVfTLauNOC1kV4W8k,6515
69
- ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py,sha256=KI96Yexq4ZkM-VxcW88oMszjnOxbdU7quSxFtvf_ry4,4367
70
- ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py,sha256=3Jykp5-DzMM_At8kYJto171V6LesaqKdsk2nfg1TRpk,11949
69
+ ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py,sha256=ABW_KAxTUbAqLOpZrZz0228oOHBghi2aQU0x3rVrmf4,5679
70
+ ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py,sha256=3lLfu7xlSm2l9zENM4NLxmMy3Im08jQLQBpkuxjUGn0,13027
71
71
  ibm_watsonx_orchestrate/cli/commands/tools/tools_command.py,sha256=Cuo1ZvlfsymojqbadCqdwwS0HUjaWpe2XQrV70g61_s,3943
72
72
  ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py,sha256=_iXQx_Ycno4bpgI0HuJNsf2yYNP_8o6AOCUlBavBHEE,40720
73
73
  ibm_watsonx_orchestrate/cli/commands/tools/types.py,sha256=_md0GEa_cTH17NO_moWDY_LNdFvyEFQ1UVB9_FltYiA,173
@@ -89,10 +89,10 @@ ibm_watsonx_orchestrate/client/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5
89
89
  ibm_watsonx_orchestrate/client/analytics/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
90
  ibm_watsonx_orchestrate/client/analytics/llm/analytics_llm_client.py,sha256=0YS_BCpmf5oGFawpZkJ38cuz5ArhKsZIbSydWRd194s,1340
91
91
  ibm_watsonx_orchestrate/client/connections/__init__.py,sha256=J7TOyVg38h71AlaJjlFs5fOuAXTceHvELtOJ9oz4Mvg,207
92
- ibm_watsonx_orchestrate/client/connections/connections_client.py,sha256=UQMHxPDP9qqVUGoAAaCafcp2kMazeJsCNPn2NgrOQcI,8134
92
+ ibm_watsonx_orchestrate/client/connections/connections_client.py,sha256=aiJMudRO-42vkHvd63V_pFaLXS0LojL5OO9XAPZHCEI,8276
93
93
  ibm_watsonx_orchestrate/client/connections/utils.py,sha256=f6HsiDI6cycOqfYN6P4uZ3SQds83xlh83zTUioZPeYk,2618
94
94
  ibm_watsonx_orchestrate/client/copilot/cpe/copilot_cpe_client.py,sha256=-grsFXdxY8Cy2DbsWa1Akc93d-TRLJJYCdMDkCfmG3g,2102
95
- ibm_watsonx_orchestrate/client/knowledge_bases/knowledge_base_client.py,sha256=YjC16dcL_l0jd-6yZ6uH8anlL4yaIv9f-7Y_urPuXWM,2201
95
+ ibm_watsonx_orchestrate/client/knowledge_bases/knowledge_base_client.py,sha256=XEsN65Pz3UAc8w_Pbqzhy6qfCyQqqNtT7NnubsA00Mo,2061
96
96
  ibm_watsonx_orchestrate/client/model_policies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  ibm_watsonx_orchestrate/client/model_policies/model_policies_client.py,sha256=Ddjraesv1MRPhZebB0PdBL0zgdsoWmnYpWTUci_6XFI,2258
98
98
  ibm_watsonx_orchestrate/client/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -101,33 +101,33 @@ ibm_watsonx_orchestrate/client/toolkit/toolkit_client.py,sha256=TLFNS39EeBD_t4Y-
101
101
  ibm_watsonx_orchestrate/client/tools/tempus_client.py,sha256=24fKDZUOVHBW-Vj4mubnpnUmab5LgGn8u5hOVyJaozI,1804
102
102
  ibm_watsonx_orchestrate/client/tools/tool_client.py,sha256=d3i3alVwa0TCN72w9sWOrM20GCbNmnpTnqEOJVbBIFM,1994
103
103
  ibm_watsonx_orchestrate/client/voice_configurations/voice_configurations_client.py,sha256=M5xIPLiVNpP-zxQw8CTNT9AiBjeXXmJiNaE142e2A3E,2682
104
- ibm_watsonx_orchestrate/docker/compose-lite.yml,sha256=LdAwhDdslZ5SHxV5CGRjJliEeAfuk6N8a_Xv-4QWSNc,44133
105
- ibm_watsonx_orchestrate/docker/default.env,sha256=13lliXku5OQsZo2vRPEv6ev0k6GpVRErRQKWNY_o6IY,6234
104
+ ibm_watsonx_orchestrate/docker/compose-lite.yml,sha256=iFk3JcGUs4aanAzTZkgG1EcsunWp_awkuIphpjLmeX8,45848
105
+ ibm_watsonx_orchestrate/docker/default.env,sha256=jz6MNLTvVIVTUOY8AYLOLy589nMs_v0nzQM5rKYACwg,6293
106
106
  ibm_watsonx_orchestrate/docker/proxy-config-single.yaml,sha256=WEbK4ENFuTCYhzRu_QblWp1_GMARgZnx5vReQafkIG8,308
107
107
  ibm_watsonx_orchestrate/docker/start-up.sh,sha256=LTtwHp0AidVgjohis2LXGvZnkFQStOiUAxgGABOyeUI,1811
108
108
  ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0-py3-none-any.whl,sha256=Hi3-owh5OM0Jz2ihX9nLoojnr7Ky1TV-GelyqLcewLE,2047417
109
109
  ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0.tar.gz,sha256=e5T-q7XPAtiCyQljwZp6kk3Q_4Tg6y5sijHTkscmqqQ,2025466
110
110
  ibm_watsonx_orchestrate/docker/tempus/common-config.yaml,sha256=Zo3F36F5DV4VO_vUg1RG-r4WhcukVh79J2fXhGl6j0A,22
111
111
  ibm_watsonx_orchestrate/flow_builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
112
- ibm_watsonx_orchestrate/flow_builder/data_map.py,sha256=1brmWWFERDsNG2XGais-5-r58LKUUwBtqwdaLQIFRhE,503
113
- ibm_watsonx_orchestrate/flow_builder/node.py,sha256=l9J9bMyrvU5yKT2W0G9M-KM5rrfCeuG8jcANegQkrL8,5971
114
- ibm_watsonx_orchestrate/flow_builder/types.py,sha256=muKjxiRQgjhgYqUHsumvy43ICuzzINyhdNKEnMBpBe4,44208
112
+ ibm_watsonx_orchestrate/flow_builder/data_map.py,sha256=LinePFgb5mBnrvNmPkFe3rq5oYJZSjcgmaEGpE6dVwc,586
113
+ ibm_watsonx_orchestrate/flow_builder/node.py,sha256=U7-cYYhe7Gj_j6U0dw1ufaPROvXmFo30ZI8s7eTXZlk,9940
114
+ ibm_watsonx_orchestrate/flow_builder/types.py,sha256=FJw9pvXag9paNtwH1p9pnva0bvLMJ-ISFemyDJe7WXY,51392
115
115
  ibm_watsonx_orchestrate/flow_builder/utils.py,sha256=8q1jr5i_TzoJpoQxmLiO0g5Uv03BLbTUaRfw8_0VWIY,11931
116
- ibm_watsonx_orchestrate/flow_builder/flows/__init__.py,sha256=jbCklY7l08KG8cbFihAnUWXSQKLLoTU6Mk_BmA4VksU,1041
116
+ ibm_watsonx_orchestrate/flow_builder/flows/__init__.py,sha256=iRYV0_eXgBBGhuNnvg-mUyPUyCIw5BiallPOp27bzYM,1083
117
117
  ibm_watsonx_orchestrate/flow_builder/flows/constants.py,sha256=-TGneZyjA4YiAtJJK7OmmjDHYQC4mw2e98MPAZqiB50,324
118
118
  ibm_watsonx_orchestrate/flow_builder/flows/decorators.py,sha256=lr4qSWq5PWqlGFf4fzUQZCVQDHBYflrYwZ24S89Aq80,2794
119
119
  ibm_watsonx_orchestrate/flow_builder/flows/events.py,sha256=VyaBm0sADwr15LWfKbcBQS1M80NKqzYDj3UlW3OpOf4,2984
120
- ibm_watsonx_orchestrate/flow_builder/flows/flow.py,sha256=WPAdXML0o9RuHZE0ajBBOrorS6YmJd8RhV3-FMbDifM,57304
120
+ ibm_watsonx_orchestrate/flow_builder/flows/flow.py,sha256=UqFgGxYM9EIXk6pZjMMI5s6r1C11Gb9kRN5NVbJChoc,64824
121
121
  ibm_watsonx_orchestrate/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- ibm_watsonx_orchestrate/run/connections.py,sha256=K-65GXPA8GEsVmRdPfMe_LB2G9RfXQUr95wvRUOhkS4,1828
122
+ ibm_watsonx_orchestrate/run/connections.py,sha256=9twXkNeUx83fP_qYUbJRtumE-wzPPNN2v-IY_8hGndM,1820
123
123
  ibm_watsonx_orchestrate/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
124
  ibm_watsonx_orchestrate/utils/exceptions.py,sha256=MjpoGuk7lMziPT2Zo7X-jgGlm0M22mTZF4Y8EHb3KPM,631
125
125
  ibm_watsonx_orchestrate/utils/utils.py,sha256=U7z_2iASoFiZ2zM0a_2Mc2Y-P5oOT7hOwuurzC9Z3N8,721
126
126
  ibm_watsonx_orchestrate/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  ibm_watsonx_orchestrate/utils/logging/logger.py,sha256=FzeGnidXAjC7yHrvIaj4KZPeaBBSCniZFlwgr5yV3oA,1037
128
128
  ibm_watsonx_orchestrate/utils/logging/logging.yaml,sha256=9_TKfuFr1barnOKP0fZT5D6MhddiwsXVTFjtRbcOO5w,314
129
- ibm_watsonx_orchestrate-1.10.0b0.dist-info/METADATA,sha256=j9LQ4nwtXYKwZJGT48LSfws9sC84DZ9tHXHki4E-a9s,1363
130
- ibm_watsonx_orchestrate-1.10.0b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
131
- ibm_watsonx_orchestrate-1.10.0b0.dist-info/entry_points.txt,sha256=SfIT02-Jen5e99OcLhzbcM9Bdyf8SGVOCtnSplgZdQI,69
132
- ibm_watsonx_orchestrate-1.10.0b0.dist-info/licenses/LICENSE,sha256=Shgxx7hTdCOkiVRmfGgp_1ISISrwQD7m2f0y8Hsapl4,1083
133
- ibm_watsonx_orchestrate-1.10.0b0.dist-info/RECORD,,
129
+ ibm_watsonx_orchestrate-1.10.1.dist-info/METADATA,sha256=a2z_4K9IvBH1Elg31ecfkyAuPEIS4j5mHYn29boz2eg,1361
130
+ ibm_watsonx_orchestrate-1.10.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
131
+ ibm_watsonx_orchestrate-1.10.1.dist-info/entry_points.txt,sha256=SfIT02-Jen5e99OcLhzbcM9Bdyf8SGVOCtnSplgZdQI,69
132
+ ibm_watsonx_orchestrate-1.10.1.dist-info/licenses/LICENSE,sha256=Shgxx7hTdCOkiVRmfGgp_1ISISrwQD7m2f0y8Hsapl4,1083
133
+ ibm_watsonx_orchestrate-1.10.1.dist-info/RECORD,,