ibm-watsonx-orchestrate 1.12.0b0__py3-none-any.whl → 1.12.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 (36) hide show
  1. ibm_watsonx_orchestrate/__init__.py +2 -1
  2. ibm_watsonx_orchestrate/agent_builder/agents/types.py +5 -5
  3. ibm_watsonx_orchestrate/agent_builder/models/types.py +1 -0
  4. ibm_watsonx_orchestrate/agent_builder/toolkits/base_toolkit.py +1 -1
  5. ibm_watsonx_orchestrate/agent_builder/tools/base_tool.py +1 -1
  6. ibm_watsonx_orchestrate/agent_builder/tools/langflow_tool.py +61 -1
  7. ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py +6 -0
  8. ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py +2 -2
  9. ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py +2 -2
  10. ibm_watsonx_orchestrate/cli/commands/environment/environment_command.py +5 -1
  11. ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py +6 -3
  12. ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py +3 -2
  13. ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py +1 -1
  14. ibm_watsonx_orchestrate/cli/commands/models/model_provider_mapper.py +23 -4
  15. ibm_watsonx_orchestrate/cli/commands/partners/offering/partners_offering_controller.py +21 -4
  16. ibm_watsonx_orchestrate/cli/commands/partners/offering/types.py +7 -15
  17. ibm_watsonx_orchestrate/cli/commands/partners/partners_command.py +1 -1
  18. ibm_watsonx_orchestrate/cli/commands/server/server_command.py +11 -3
  19. ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py +2 -2
  20. ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py +37 -8
  21. ibm_watsonx_orchestrate/cli/config.py +3 -1
  22. ibm_watsonx_orchestrate/docker/compose-lite.yml +56 -6
  23. ibm_watsonx_orchestrate/docker/default.env +19 -16
  24. ibm_watsonx_orchestrate/flow_builder/flows/decorators.py +10 -2
  25. ibm_watsonx_orchestrate/flow_builder/flows/flow.py +71 -9
  26. ibm_watsonx_orchestrate/flow_builder/node.py +14 -2
  27. ibm_watsonx_orchestrate/flow_builder/types.py +36 -3
  28. ibm_watsonx_orchestrate/langflow/__init__.py +0 -0
  29. ibm_watsonx_orchestrate/langflow/langflow_utils.py +195 -0
  30. ibm_watsonx_orchestrate/langflow/lfx_deps.py +84 -0
  31. ibm_watsonx_orchestrate/utils/utils.py +6 -2
  32. {ibm_watsonx_orchestrate-1.12.0b0.dist-info → ibm_watsonx_orchestrate-1.12.1.dist-info}/METADATA +2 -2
  33. {ibm_watsonx_orchestrate-1.12.0b0.dist-info → ibm_watsonx_orchestrate-1.12.1.dist-info}/RECORD +36 -33
  34. {ibm_watsonx_orchestrate-1.12.0b0.dist-info → ibm_watsonx_orchestrate-1.12.1.dist-info}/WHEEL +0 -0
  35. {ibm_watsonx_orchestrate-1.12.0b0.dist-info → ibm_watsonx_orchestrate-1.12.1.dist-info}/entry_points.txt +0 -0
  36. {ibm_watsonx_orchestrate-1.12.0b0.dist-info → ibm_watsonx_orchestrate-1.12.1.dist-info}/licenses/LICENSE +0 -0
@@ -271,6 +271,8 @@ class DocClassifierSpec(DocProcCommonNodeSpec):
271
271
  class DocExtSpec(DocProcCommonNodeSpec):
272
272
  version : str = Field(description="A version of the spec")
273
273
  config : DocExtConfig
274
+ 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")
275
+ review_fields: List[str] = Field(description="The fields that require user to review", default=[])
274
276
 
275
277
  def __init__(self, **data):
276
278
  super().__init__(**data)
@@ -281,6 +283,8 @@ class DocExtSpec(DocProcCommonNodeSpec):
281
283
  model_spec["version"] = self.version
282
284
  model_spec["config"] = self.config.model_dump()
283
285
  model_spec["task"] = DocProcTask.custom_field_extraction
286
+ model_spec["min_confidence"] = self.min_confidence
287
+ model_spec["review_fields"] = self.review_fields
284
288
  return model_spec
285
289
 
286
290
  class DocProcField(BaseModel):
@@ -337,6 +341,11 @@ class DocProcSpec(DocProcCommonNodeSpec):
337
341
  title='KVP schemas',
338
342
  description="Optional list of key-value pair schemas to use for extraction.",
339
343
  default=None)
344
+ kvp_model_name: str | None = Field(
345
+ title='KVP Model Name',
346
+ description="The LLM model to be used for key-value pair extraction",
347
+ default=None
348
+ )
340
349
  plain_text_reading_order : PlainTextReadingOrder = Field(default=PlainTextReadingOrder.block_structure)
341
350
  document_structure: bool = Field(default=False,description="Requests the entire document structure computed by WDU to be returned")
342
351
 
@@ -352,6 +361,8 @@ class DocProcSpec(DocProcCommonNodeSpec):
352
361
  model_spec["plain_text_reading_order"] = self.plain_text_reading_order
353
362
  if self.kvp_schemas is not None:
354
363
  model_spec["kvp_schemas"] = self.kvp_schemas
364
+ if self.kvp_model_name is not None:
365
+ model_spec["kvp_model_name"] = self.kvp_model_name
355
366
  return model_spec
356
367
 
357
368
  class StartNodeSpec(NodeSpec):
@@ -378,6 +389,19 @@ class ToolNodeSpec(NodeSpec):
378
389
  else:
379
390
  model_spec["tool"] = self.tool
380
391
  return model_spec
392
+
393
+ class ScriptNodeSpec(NodeSpec):
394
+ fn: str = Field(default = None, description="the script to execute")
395
+
396
+ def __init__(self, **data):
397
+ super().__init__(**data)
398
+ self.kind = "script"
399
+
400
+ def to_json(self) -> dict[str, Any]:
401
+ model_spec = super().to_json()
402
+ if self.fn:
403
+ model_spec["fn"] = self.fn
404
+ return model_spec
381
405
 
382
406
 
383
407
  class UserFieldValue(BaseModel):
@@ -860,6 +884,9 @@ class FlowSpec(NodeSpec):
860
884
  initiators: Sequence[str] = [ANY_USER]
861
885
  schedulable: bool = False
862
886
 
887
+ # flow can have private schema
888
+ private_schema: JsonSchemaObject | SchemaRef | None = None
889
+
863
890
  def __init__(self, **kwargs):
864
891
  super().__init__(**kwargs)
865
892
  self.kind = "flow"
@@ -868,6 +895,8 @@ class FlowSpec(NodeSpec):
868
895
  model_spec = super().to_json()
869
896
  if self.initiators:
870
897
  model_spec["initiators"] = self.initiators
898
+ if self.private_schema:
899
+ model_spec["private_schema"] = _to_json_from_json_schema(self.private_schema)
871
900
 
872
901
  model_spec["schedulable"] = self.schedulable
873
902
 
@@ -905,8 +934,7 @@ class UserFlowSpec(FlowSpec):
905
934
  class ForeachPolicy(Enum):
906
935
 
907
936
  SEQUENTIAL = 1
908
- # support only SEQUENTIAL for now
909
- # PARALLEL = 2
937
+ PARALLEL = 2
910
938
 
911
939
  class ForeachSpec(FlowSpec):
912
940
 
@@ -923,7 +951,7 @@ class ForeachSpec(FlowSpec):
923
951
  if isinstance(self.item_schema, JsonSchemaObject):
924
952
  my_dict["item_schema"] = _to_json_from_json_schema(self.item_schema)
925
953
  else:
926
- my_dict["item_schema"] = self.item_schema.model_dump(exclude_defaults=True, exclude_none=True, exclude_unset=True)
954
+ my_dict["item_schema"] = self.item_schema.model_dump(exclude_defaults=True, exclude_none=True, exclude_unset=True, by_alias=True)
927
955
 
928
956
  my_dict["foreach_policy"] = self.foreach_policy.name
929
957
  return my_dict
@@ -1312,6 +1340,11 @@ class DocProcInput(DocumentProcessingCommonInput):
1312
1340
  title='KVP schemas',
1313
1341
  description="Optional list of key-value pair schemas to use for extraction.",
1314
1342
  default=None)
1343
+ kvp_model_name: str | None = Field(
1344
+ title='KVP Model Name',
1345
+ description="The LLM model to be used for key-value pair extraction",
1346
+ default=None
1347
+ )
1315
1348
 
1316
1349
  class TextExtractionResponse(BaseModel):
1317
1350
  '''
File without changes
@@ -0,0 +1,195 @@
1
+ import logging
2
+ import ast
3
+ import sys
4
+ from pathlib import Path
5
+ import importlib.util
6
+
7
+ from pydantic import BaseModel
8
+
9
+ from .lfx_deps import LFX_DEPENDENCIES
10
+
11
+ logger = logging.getLogger(__name__)
12
+
13
+ class LangflowComponent(BaseModel):
14
+ id: str
15
+ name: str
16
+ credentials: dict
17
+ requirements: list[str] = []
18
+
19
+ class LangflowModelSpec(BaseModel):
20
+ version: str
21
+ components: list[LangflowComponent]
22
+
23
+ _MODULE_MAP = {
24
+ "mem0":"mem0ai",
25
+ }
26
+
27
+ import math
28
+ from collections import Counter
29
+
30
+ def _calculate_entropy(s):
31
+ """
32
+ Calculates the Shannon entropy of a string.
33
+
34
+ Parameters:
35
+ s (str): Input string.
36
+
37
+ Returns:
38
+ float: Shannon entropy value.
39
+ """
40
+ if not s:
41
+ return 0.0
42
+
43
+ freq = Counter(s)
44
+ length = len(s)
45
+
46
+ entropy = -sum((count / length) * math.log2(count / length) for count in freq.values())
47
+ return entropy
48
+
49
+ def _mask_api_key(key):
50
+ """
51
+ Masks an API key by keeping the first 5 characters visible,
52
+ masking the rest with asterisks, and truncating the result to a maximum of 25 characters.
53
+
54
+ Parameters:
55
+ key (str): The API key string.
56
+
57
+ Returns:
58
+ str: Masked and truncated API key.
59
+ """
60
+ if not isinstance(key, str):
61
+ return key
62
+
63
+ # if this is a potential real API key -- mask it
64
+ if _calculate_entropy(key) > 4.1:
65
+ visible_part = key[:5]
66
+ masked_part = '*' * (len(key) - 5)
67
+ masked_key = visible_part + masked_part
68
+
69
+ return masked_key[:25]
70
+ elif len(key) > 25:
71
+ # if the key is longer than 25 characters, truncates it anyway
72
+ return key[:22] + '...'
73
+
74
+ return key
75
+
76
+ def _extract_imports(source_code) -> list[str]:
77
+ tree = ast.parse(source_code)
78
+ imports = set()
79
+ for node in ast.walk(tree):
80
+ if isinstance(node, ast.Import):
81
+ for alias in node.names:
82
+ # we only need the module name, not sub-module
83
+ imports.add(alias.name.split('.')[0])
84
+ elif isinstance(node, ast.ImportFrom):
85
+ if node.module:
86
+ # we only need the module name, not sub-module
87
+ imports.add(node.module.split('.')[0])
88
+ return sorted(imports)
89
+
90
+
91
+
92
+ def _is_builtin_module(module_name: str) -> bool:
93
+ underscore_module_name = f"_{module_name}"
94
+
95
+ # Check against the list of standard modules
96
+ if module_name in sys.stdlib_module_names:
97
+ return True
98
+
99
+ if underscore_module_name in sys.stdlib_module_names:
100
+ return True
101
+
102
+ # Check against the list of built-in module names
103
+ if module_name in sys.builtin_module_names:
104
+ return True
105
+
106
+ if underscore_module_name in sys.builtin_module_names:
107
+ return True
108
+
109
+ # Use importlib to find the module spec
110
+ spec = importlib.util.find_spec(module_name)
111
+ if spec is None:
112
+ return False # Module not found
113
+
114
+ # Check if the loader is a BuiltinImporter
115
+ return isinstance(spec.loader, importlib.machinery.BuiltinImporter)
116
+
117
+
118
+ def _find_missing_requirements(imported_modules, requirements_modules: list[str]) -> list[str]:
119
+ """
120
+ Compare imported modules with requirements.txt and return missing ones.
121
+
122
+ Parameters:
123
+ imported_modules (list): List of module names used in the code.
124
+ requirements_file_path (str): Path to the requirements.txt file.
125
+
126
+ Returns:
127
+ list: Modules that are imported but not listed in requirements.txt.
128
+ """
129
+ def normalize_module_name(name):
130
+ module_name = name.split('.')[0].lower()
131
+ # sometimes the module name in pipy is different than the real name
132
+ if module_name in _MODULE_MAP:
133
+ module_name = _MODULE_MAP[module_name]
134
+ return module_name
135
+
136
+ # Normalize imported module names
137
+ normalized_imports = [normalize_module_name(mod) for mod in imported_modules]
138
+
139
+ # filter out all built-ins
140
+ filtered_imports = [
141
+ module for module in normalized_imports
142
+ if _is_builtin_module(module) is False
143
+ ]
144
+
145
+ # Compare and find missing modules
146
+ missing_modules = [
147
+ module for module in filtered_imports
148
+ if module not in requirements_modules
149
+ ]
150
+
151
+ return missing_modules
152
+
153
+
154
+
155
+ def parse_langflow_model(model) -> LangflowModelSpec:
156
+ """
157
+ Extracts component details and Langflow version from a Langflow JSON object.
158
+
159
+ Parameters:
160
+ model (dict): The Langflow JSON object.
161
+
162
+ Returns:
163
+ LangflowModelSpec: A LangflowModelSpec object containing the extracted version and component information.
164
+ """
165
+ version = model.get("last_tested_version", "Unknown")
166
+ components = []
167
+ data = model.get('data', {} )
168
+
169
+ # get the list of available modules
170
+ requirements_modules = LFX_DEPENDENCIES
171
+
172
+ for node in data.get("nodes", []):
173
+ node_data = node.get("data", {})
174
+ node_info = node_data.get("node", {})
175
+ template = node_info.get("template", {})
176
+ code = template.get("code")
177
+ credentials = {}
178
+
179
+ missing_imports = []
180
+ for field_name, field_info in template.items():
181
+ if isinstance(field_info, dict) and field_info.get("password", False) == True:
182
+ credentials[field_name] = _mask_api_key(field_info.get("value"))
183
+
184
+ if code and code.get("value") != None:
185
+ imports = _extract_imports(code.get("value"))
186
+ if len(imports) > 0:
187
+ missing_imports = _find_missing_requirements(imports, requirements_modules)
188
+
189
+ component_info = LangflowComponent(name=node_info.get("display_name", "Unknown"), id=node_data.get("id", "Unknown"),
190
+ credentials=credentials, requirements=missing_imports)
191
+
192
+ components.append(component_info)
193
+
194
+ return LangflowModelSpec(version=version, components=components)
195
+
@@ -0,0 +1,84 @@
1
+ LFX_DEPENDENCIES = [
2
+ "aiofile",
3
+ "aiofiles",
4
+ "annotated-types",
5
+ "anyio",
6
+ "asyncer",
7
+ "cachetools",
8
+ "caio",
9
+ "certifi",
10
+ "chardet",
11
+ "charset-normalizer",
12
+ "click",
13
+ "defusedxml",
14
+ "docstring_parser",
15
+ "emoji",
16
+ "fastapi",
17
+ "h11",
18
+ "h2",
19
+ "hpack",
20
+ "httpcore",
21
+ "httpx",
22
+ "hyperframe",
23
+ "idna",
24
+ "json_repair",
25
+ "jsonpatch",
26
+ "jsonpointer",
27
+ "langchain",
28
+ "langchain-core",
29
+ "langchain-text-splitters",
30
+ "langsmith",
31
+ "lfx-nightly",
32
+ "loguru",
33
+ "markdown-it-py",
34
+ "mdurl",
35
+ "nanoid",
36
+ "networkx",
37
+ "numpy",
38
+ "orjson",
39
+ "packaging",
40
+ "pandas",
41
+ "passlib",
42
+ "pillow",
43
+ "platformdirs",
44
+ "pydantic",
45
+ "pydantic-settings",
46
+ "pydantic_core",
47
+ "Pygments",
48
+ "python-dateutil",
49
+ "python-dotenv",
50
+ "pytz",
51
+ "PyYAML",
52
+ "requests",
53
+ "requests-toolbelt",
54
+ "rich",
55
+ "shellingham",
56
+ "six",
57
+ "sniffio",
58
+ "SQLAlchemy",
59
+ "starlette",
60
+ "structlog",
61
+ "tenacity",
62
+ "tomli",
63
+ "typer",
64
+ "typing-inspection",
65
+ "typing_extensions",
66
+ "tzdata",
67
+ "urllib3",
68
+ "uvicorn",
69
+ "validators",
70
+ "zstandard",
71
+ "langflow",
72
+ "langchain_openai",
73
+ "langchain_core",
74
+ "langchain_text_splitters",
75
+ "collections",
76
+ "typing",
77
+ "datetime",
78
+ "zoneinfo",
79
+ "or",
80
+ "re",
81
+ "os",
82
+ "copy",
83
+ "json"
84
+ ]
@@ -11,8 +11,12 @@ def yaml_safe_load(file : BinaryIO) -> dict:
11
11
  return yaml.safe_load(file)
12
12
 
13
13
  def sanitize_app_id(app_id: str) -> str:
14
- sanatize_pattern = re.compile(r"[^a-zA-Z0-9]+")
15
- return re.sub(sanatize_pattern,'_', app_id)
14
+ sanitize_pattern = re.compile(r"[^a-zA-Z0-9]+")
15
+ return re.sub(sanitize_pattern,'_', app_id)
16
+
17
+ def sanitize_catalog_label(label: str) -> str:
18
+ sanitize_pattern = re.compile(r"[^a-zA-Z0-9]+")
19
+ return re.sub(sanitize_pattern,'_', label)
16
20
 
17
21
  def check_file_in_zip(file_path: str, zip_file: zipfile.ZipFile) -> bool:
18
22
  return any(x.startswith("%s/" % file_path.rstrip("/")) for x in zip_file.namelist())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ibm-watsonx-orchestrate
3
- Version: 1.12.0b0
3
+ Version: 1.12.1
4
4
  Summary: IBM watsonx.orchestrate SDK
5
5
  Author-email: IBM <support@ibm.com>
6
6
  License: MIT License
@@ -11,7 +11,7 @@ Requires-Dist: click<8.2.0,>=8.0.0
11
11
  Requires-Dist: docstring-parser<1.0,>=0.16
12
12
  Requires-Dist: httpx<1.0.0,>=0.28.1
13
13
  Requires-Dist: ibm-cloud-sdk-core>=3.24.2
14
- Requires-Dist: ibm-watsonx-orchestrate-evaluation-framework==1.1.2
14
+ Requires-Dist: ibm-watsonx-orchestrate-evaluation-framework==1.1.3
15
15
  Requires-Dist: jsonref==1.1.0
16
16
  Requires-Dist: langchain-core<=0.3.63
17
17
  Requires-Dist: langsmith<=0.3.45
@@ -1,10 +1,10 @@
1
- ibm_watsonx_orchestrate/__init__.py,sha256=bxfo19Vy9H66whrQZQJuZpdwNPfdrBswE0lVziCrnPU,427
1
+ ibm_watsonx_orchestrate/__init__.py,sha256=f3ba5wWbOhu85odqw41PZ_43Yy6-yhTc1WglmHJGkLU,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
5
5
  ibm_watsonx_orchestrate/agent_builder/agents/assistant_agent.py,sha256=NnWThJ2N8HUOD9IDL6ZhtTKyLMHSacJCpxDNityRmgY,1051
6
6
  ibm_watsonx_orchestrate/agent_builder/agents/external_agent.py,sha256=7HzEFjd7JiiRTgvA1RVA3M0-Mr42FTQnOtGMII5ufk0,1045
7
- ibm_watsonx_orchestrate/agent_builder/agents/types.py,sha256=nwKbY_bH6ufI6G1xS34U09iGrV4CgZR-UPnjVVtXUS8,14511
7
+ ibm_watsonx_orchestrate/agent_builder/agents/types.py,sha256=1DBafY3-TF_wvmmlUYlFt-XhnDQLxWhDuG_q_RZvN6g,14553
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
@@ -17,26 +17,26 @@ ibm_watsonx_orchestrate/agent_builder/knowledge_bases/types.py,sha256=4gvzIwSxO9
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
- ibm_watsonx_orchestrate/agent_builder/models/types.py,sha256=bWKrKeBMByjhEvkXieJUYOxVr1Px6mk8v4GsvjRrvo8,9812
21
- ibm_watsonx_orchestrate/agent_builder/toolkits/base_toolkit.py,sha256=KXRPgBK-F9Qa6IYqEslkN3ANj3cmZoZQnlSiy_-iXCk,1054
20
+ ibm_watsonx_orchestrate/agent_builder/models/types.py,sha256=NHcq5mRV4pfNHql8E8fghC9F8IbOTQ3sKqFQDxFQWKo,9828
21
+ ibm_watsonx_orchestrate/agent_builder/toolkits/base_toolkit.py,sha256=uJASxkwgYpnXRfzMTeQo_I9fPewAldSDyFFmZzlTFlM,1074
22
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=R07j4zERCBX22ILsGBl3qRw0poaVSONPnMZ_69bAFDw,519
24
- ibm_watsonx_orchestrate/agent_builder/tools/base_tool.py,sha256=0vwMIAyKyB8v1QmNrubLy8Al58g3qT78EUgrmOjegoI,1220
24
+ ibm_watsonx_orchestrate/agent_builder/tools/base_tool.py,sha256=qiVHqLN-S9AuJlsvVaV_kNN5oNi4kk6177Hi9KpEdaI,1240
25
25
  ibm_watsonx_orchestrate/agent_builder/tools/flow_tool.py,sha256=DJWYVmIjw1O_cbzPpwU0a_vIZGvo0mj8UsjW9zkKMlA,2589
26
- ibm_watsonx_orchestrate/agent_builder/tools/langflow_tool.py,sha256=kB_wjGPXkkldbwdeD6dZFGicIMQ4REMH_ADu6l6Xb2c,4229
27
- ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py,sha256=Y8NvlZBuaG8mVuewq0XFS584yke7XkDI7Rdt4qg6HrY,19431
26
+ ibm_watsonx_orchestrate/agent_builder/tools/langflow_tool.py,sha256=beozS44KQkjy3hjUn17Sy1xoPZyviu7o3_ez4KGtJgU,6843
27
+ ibm_watsonx_orchestrate/agent_builder/tools/openapi_tool.py,sha256=haAN5t4YMGrVM788UdMxfMWUctOe6_3szGxsRF3KPr8,19730
28
28
  ibm_watsonx_orchestrate/agent_builder/tools/python_tool.py,sha256=cdgu-v1oRR9RUbMNKEklOzO1z3nNZpDZPSMwnJEvuIY,12533
29
29
  ibm_watsonx_orchestrate/agent_builder/tools/types.py,sha256=8Esn77LZSBNTiKOpvRXF35LUFnfydyvZ-oxAQJyt1wE,8931
30
30
  ibm_watsonx_orchestrate/agent_builder/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  ibm_watsonx_orchestrate/agent_builder/voice_configurations/__init__.py,sha256=W3-T8PH_KuONsCQPILQAvW2Nz25p7dp9AZbWHWGJXhA,37
32
32
  ibm_watsonx_orchestrate/agent_builder/voice_configurations/types.py,sha256=lSS1yiDzVAMkEdOwcI4_1DUuRnu_6oc8XupQtoE4Fvs,3989
33
33
  ibm_watsonx_orchestrate/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
- ibm_watsonx_orchestrate/cli/config.py,sha256=iXjDxymWhAmLSUu6eh7zJR20dYZDzbxcU5VoBdh3VIw,8318
34
+ ibm_watsonx_orchestrate/cli/config.py,sha256=ZcuOhd-zXZQ6N0yMM3DLpz9SKHywiB1djk6SrAqGDOk,8435
35
35
  ibm_watsonx_orchestrate/cli/init_helper.py,sha256=qxnKdFcPtGsV_6RqP_IuLshRxgB004SxzDAkBTExA-4,1675
36
36
  ibm_watsonx_orchestrate/cli/main.py,sha256=5AuoVVDHzgNZ6Y2ZR4bSF1cs7AhQRyd8n7S41o8lK4w,3618
37
37
  ibm_watsonx_orchestrate/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  ibm_watsonx_orchestrate/cli/commands/agents/agents_command.py,sha256=mWVojmtxslXL-eGMs7NUNBV_DudmQKeNnTaE9V9jjfU,9832
39
- ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py,sha256=Pxu91QNIiI2A1txiDMm1XoJ5UyEKkSZziun9AG6eyMw,66263
39
+ ibm_watsonx_orchestrate/cli/commands/agents/agents_controller.py,sha256=WYuDR6aCbOsDxkFH6v0GPtXw6ButkDXD-abdnGi8kMM,66303
40
40
  ibm_watsonx_orchestrate/cli/commands/channels/channels_command.py,sha256=fVIFhPUTPdxsxIE10nWL-W5wvBR-BS8V8D6r__J8R98,822
41
41
  ibm_watsonx_orchestrate/cli/commands/channels/channels_controller.py,sha256=WjQxwJujvo28SsWgfJSXIpkcgniKcskJ2arL4MOz0Ys,455
42
42
  ibm_watsonx_orchestrate/cli/commands/channels/types.py,sha256=hMFvWPr7tAmDrhBqtzfkCsrubX3lsU6lapTSOFsUbHM,475
@@ -44,27 +44,27 @@ ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_command.p
44
44
  ibm_watsonx_orchestrate/cli/commands/channels/webchat/channels_webchat_controller.py,sha256=CGfmKsCBX4E3HMZ8C0IXD-DHQNwe96V1Y_BxUZM2us0,8557
45
45
  ibm_watsonx_orchestrate/cli/commands/chat/chat_command.py,sha256=Q9vg2Z5Fsunu6GQFY_TIsNRhUCa0SSGSPnK4jxSGK34,1581
46
46
  ibm_watsonx_orchestrate/cli/commands/connections/connections_command.py,sha256=yHT6hBaoA42iz_XGpbqTYIOc5oDFVBR1dVaV3XZnY3w,12948
47
- ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py,sha256=VV7bF6ywh-UxtZNOztn7rNukmoQh1MtYmZRru18QKDE,30724
47
+ ibm_watsonx_orchestrate/cli/commands/connections/connections_controller.py,sha256=Am-yoP8y_cqslLZOiWuMHJqBK0b_fmOUxn1Z9DkZrAA,30764
48
48
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_command.py,sha256=IxasApIyQYWRMKPXKa38ZPVkUvOc4chggSmSGjgQGXc,2345
49
49
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_controller.py,sha256=SC2Tjq6r-tHIiyPBMajsxdMIY3BQpRWpkYGZS2XbJyU,18981
50
50
  ibm_watsonx_orchestrate/cli/commands/copilot/copilot_server_controller.py,sha256=9MXS5uE3esKp3IYILVty7COFcr9iJ90axkAqPVaJ1NE,3874
51
- ibm_watsonx_orchestrate/cli/commands/environment/environment_command.py,sha256=SUyz2RJoh5dToXRkXRwkUMjT_3OmrxSJFb-osiF2Tw4,3828
52
- ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py,sha256=oHZ7LONtPg3-SSnU_rRZryLi8N2mplz5h-LGg4XjzD4,10261
51
+ ibm_watsonx_orchestrate/cli/commands/environment/environment_command.py,sha256=1CO0UfxSem0NafNGNCBXswC-P93MVYIA-YJewjKgdNc,4186
52
+ ibm_watsonx_orchestrate/cli/commands/environment/environment_controller.py,sha256=z3m4khZfHNpv1dRsDfRW0cteLvhAeDEbxh-fOZduSpQ,10479
53
53
  ibm_watsonx_orchestrate/cli/commands/environment/types.py,sha256=X6jEnyBdxakromA7FhQ5btZMj9kwGcwRSFz8vpD65jA,224
54
- ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py,sha256=aTiD8HMg1a6m8XZotHejWNw-h8K5sNT6VJyFzO2HXhY,21828
55
- ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py,sha256=c4dw2ckiO689Zh9jXkrQe4GisJStEhAZoTBbdlOzRyE,11315
54
+ ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_command.py,sha256=0ET6tXMkeupT8K5hNGQBgLOhlV8YAshqH3bp9A8vgDk,21930
55
+ ibm_watsonx_orchestrate/cli/commands/evaluations/evaluations_controller.py,sha256=avA5Guyyhqw9x0IAp-I9vVyEaS3X5U77Ag4xBw1k8l0,11348
56
56
  ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_command.py,sha256=hOzRcGVoqq7dTc4bSregKxH-kYbrVqaFdhBLawqnRNo,2668
57
57
  ibm_watsonx_orchestrate/cli/commands/knowledge_bases/knowledge_bases_controller.py,sha256=d9RSBy2S2nn8vWrghovGb1owe7Zu8LywOm0nIdzlXiU,11567
58
58
  ibm_watsonx_orchestrate/cli/commands/login/login_command.py,sha256=xArMiojoozg7Exn6HTpbTcjDO2idZRA-y0WV-_Ic1Sk,651
59
- ibm_watsonx_orchestrate/cli/commands/models/model_provider_mapper.py,sha256=mbvBR5o9M7W6OpTZyd6TtSEOIXq07dPYz4hv5zDrsd0,8129
59
+ ibm_watsonx_orchestrate/cli/commands/models/model_provider_mapper.py,sha256=ldAMx0Vz5cf_ngADzdMrku7twmVmIT4EQ43YrPzgSKk,8855
60
60
  ibm_watsonx_orchestrate/cli/commands/models/models_command.py,sha256=PW-PIM5Nq0qdCopWjANGBWEuEoA3NLTFThYrN8ggGCI,6425
61
61
  ibm_watsonx_orchestrate/cli/commands/models/models_controller.py,sha256=wcy16LPZy3n1VLPqAusyfmw0ubpANDgTKvQSz9Ng36Y,18450
62
- ibm_watsonx_orchestrate/cli/commands/partners/partners_command.py,sha256=u1HRdijdY4Z8Hq0lEZd0lhDJECkIkf-80f5jEQiqMMk,398
62
+ ibm_watsonx_orchestrate/cli/commands/partners/partners_command.py,sha256=YpTlKKinQw1QdM4yXYjSrMtoAcwc1b9GoO6Wv1NmgKc,385
63
63
  ibm_watsonx_orchestrate/cli/commands/partners/partners_controller.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  ibm_watsonx_orchestrate/cli/commands/partners/offering/partners_offering_command.py,sha256=X6u5zGwKYY1Uc2szaVHCIyMlFJBzp8o8JgVZUxcZPd8,1727
65
- ibm_watsonx_orchestrate/cli/commands/partners/offering/partners_offering_controller.py,sha256=RX0DDdpZ07mEtURF_-4uCY4lgCidbYnK4x1Y62bqvLw,18256
66
- ibm_watsonx_orchestrate/cli/commands/partners/offering/types.py,sha256=y69q4w9Kz9_n8KmvGhZa_SNyTdm_qjwhbRSlm02qPio,3352
67
- ibm_watsonx_orchestrate/cli/commands/server/server_command.py,sha256=00Ij87jfaDZAO_CksATYzGzr4LHZ2D32W77ynxKy73s,28489
65
+ ibm_watsonx_orchestrate/cli/commands/partners/offering/partners_offering_controller.py,sha256=4qIaMwUHcSsPDDqXHS0vuwktyFD18sQyFabbBhr8vjY,19229
66
+ ibm_watsonx_orchestrate/cli/commands/partners/offering/types.py,sha256=Wc7YyY3dQobx5P5-as45WmTiZiuiSzvSSSDZP-5vj-g,2804
67
+ ibm_watsonx_orchestrate/cli/commands/server/server_command.py,sha256=cMjaAXEPMN-OkenqIbckPisPV093rabOxkLKmNiyxTc,28956
68
68
  ibm_watsonx_orchestrate/cli/commands/server/types.py,sha256=DGLopPbLFf5yH5-hzsFf5Uaw158QHwkTAcwydbUmZ3Q,4416
69
69
  ibm_watsonx_orchestrate/cli/commands/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
70
  ibm_watsonx_orchestrate/cli/commands/settings/settings_command.py,sha256=CzXRkd-97jXyS6LtaaNtMah-aZu0919dYl-mDwzGThc,344
@@ -72,10 +72,10 @@ ibm_watsonx_orchestrate/cli/commands/settings/observability/__init__.py,sha256=4
72
72
  ibm_watsonx_orchestrate/cli/commands/settings/observability/observability_command.py,sha256=TAkpKwoqocsShSgEeR6LzHCzJx16VDQ6cYsbpljxeqI,372
73
73
  ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  ibm_watsonx_orchestrate/cli/commands/settings/observability/langfuse/langfuse_command.py,sha256=Wa0L8E44EdxH9LdOvmnluLk_ApJVfTLauNOC1kV4W8k,6515
75
- ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py,sha256=ABW_KAxTUbAqLOpZrZz0228oOHBghi2aQU0x3rVrmf4,5679
75
+ ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_command.py,sha256=dgmfI3PA04By3W526BEOZp0jJE5eVoxEUMbPG0JxUlE,5653
76
76
  ibm_watsonx_orchestrate/cli/commands/toolkit/toolkit_controller.py,sha256=lo9xahKQiPhm4xh97O_twkzLO0GhXDzAi1rZT0ybQpA,13027
77
77
  ibm_watsonx_orchestrate/cli/commands/tools/tools_command.py,sha256=1RXndNL8Ztl6YEVl4rW6sg0m0hE9d0RhT2Oac45ui2M,3945
78
- ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py,sha256=Q5ZqS5j7FXcVdnuQXcOUTACPJchBEBxrYWh9NM0RLaQ,47593
78
+ ibm_watsonx_orchestrate/cli/commands/tools/tools_controller.py,sha256=nq-cmGfwqscOwtaUlm1feI-eUp1kIDG96XcABX1a3QU,49492
79
79
  ibm_watsonx_orchestrate/cli/commands/tools/types.py,sha256=_md0GEa_cTH17NO_moWDY_LNdFvyEFQ1UVB9_FltYiA,173
80
80
  ibm_watsonx_orchestrate/cli/commands/voice_configurations/voice_configurations_command.py,sha256=q4KHWQ-LZbp31e2ytihX1OuyAPS4-nRinmc-eMXC0l0,1783
81
81
  ibm_watsonx_orchestrate/cli/commands/voice_configurations/voice_configurations_controller.py,sha256=JbAc_CY0woHY8u7qrnOcb9O2FgECzkzeMirxFhRoep8,5884
@@ -107,8 +107,8 @@ ibm_watsonx_orchestrate/client/toolkit/toolkit_client.py,sha256=TLFNS39EeBD_t4Y-
107
107
  ibm_watsonx_orchestrate/client/tools/tempus_client.py,sha256=iD7Hkzn_LdnFivAzGSVKsuuoQpNCFSg2z6qGmQXCDoM,1954
108
108
  ibm_watsonx_orchestrate/client/tools/tool_client.py,sha256=kYwQp-ym9dYQDOFSTnXNyeh8wzl39LpBJqHSNT9EKT0,2113
109
109
  ibm_watsonx_orchestrate/client/voice_configurations/voice_configurations_client.py,sha256=M5xIPLiVNpP-zxQw8CTNT9AiBjeXXmJiNaE142e2A3E,2682
110
- ibm_watsonx_orchestrate/docker/compose-lite.yml,sha256=npatCyRqJaxs54DFRcvFp3f4fRDWmkZt_WMKABtnt0o,45993
111
- ibm_watsonx_orchestrate/docker/default.env,sha256=eer2U35ztfstcrafMZ9OA7Ar25paPgRO_DmhZqWYDxI,6284
110
+ ibm_watsonx_orchestrate/docker/compose-lite.yml,sha256=niF_ir68D_YdjrZWGUOy8eNLV-K5PX_xVWhdZEC2Crk,48041
111
+ ibm_watsonx_orchestrate/docker/default.env,sha256=eR-j22xztFZV4pEpXFupbNTUXd4nv2z8B6rKbAUkR50,6372
112
112
  ibm_watsonx_orchestrate/docker/proxy-config-single.yaml,sha256=WEbK4ENFuTCYhzRu_QblWp1_GMARgZnx5vReQafkIG8,308
113
113
  ibm_watsonx_orchestrate/docker/start-up.sh,sha256=LTtwHp0AidVgjohis2LXGvZnkFQStOiUAxgGABOyeUI,1811
114
114
  ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0-py3-none-any.whl,sha256=Hi3-owh5OM0Jz2ihX9nLoojnr7Ky1TV-GelyqLcewLE,2047417
@@ -116,26 +116,29 @@ ibm_watsonx_orchestrate/docker/sdk/ibm_watsonx_orchestrate-0.6.0.tar.gz,sha256=e
116
116
  ibm_watsonx_orchestrate/docker/tempus/common-config.yaml,sha256=Zo3F36F5DV4VO_vUg1RG-r4WhcukVh79J2fXhGl6j0A,22
117
117
  ibm_watsonx_orchestrate/flow_builder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
118
118
  ibm_watsonx_orchestrate/flow_builder/data_map.py,sha256=LinePFgb5mBnrvNmPkFe3rq5oYJZSjcgmaEGpE6dVwc,586
119
- ibm_watsonx_orchestrate/flow_builder/node.py,sha256=U7-cYYhe7Gj_j6U0dw1ufaPROvXmFo30ZI8s7eTXZlk,9940
120
- ibm_watsonx_orchestrate/flow_builder/types.py,sha256=BRjSuqt5LXEzBs1XPERiAP6XiVLGvQHEtE3tTuiJLks,69181
119
+ ibm_watsonx_orchestrate/flow_builder/node.py,sha256=Y5hzVkbWNWaYp6zSbLW4Qbg4r1deLAs-X3HEFoZ9vzk,10338
120
+ ibm_watsonx_orchestrate/flow_builder/types.py,sha256=3mpLKOVgQBwWBVJAfF7GQF2wPZKYwDniJCUnaJypYTA,70606
121
121
  ibm_watsonx_orchestrate/flow_builder/utils.py,sha256=8q1jr5i_TzoJpoQxmLiO0g5Uv03BLbTUaRfw8_0VWIY,11931
122
122
  ibm_watsonx_orchestrate/flow_builder/flows/__init__.py,sha256=iRYV0_eXgBBGhuNnvg-mUyPUyCIw5BiallPOp27bzYM,1083
123
123
  ibm_watsonx_orchestrate/flow_builder/flows/constants.py,sha256=-TGneZyjA4YiAtJJK7OmmjDHYQC4mw2e98MPAZqiB50,324
124
- ibm_watsonx_orchestrate/flow_builder/flows/decorators.py,sha256=lr4qSWq5PWqlGFf4fzUQZCVQDHBYflrYwZ24S89Aq80,2794
124
+ ibm_watsonx_orchestrate/flow_builder/flows/decorators.py,sha256=07yaaDXLrwmj0v9lhZli8UmnKVpIuF6x1t3JbPVj0F8,3247
125
125
  ibm_watsonx_orchestrate/flow_builder/flows/events.py,sha256=VyaBm0sADwr15LWfKbcBQS1M80NKqzYDj3UlW3OpOf4,2984
126
- ibm_watsonx_orchestrate/flow_builder/flows/flow.py,sha256=UmqNjmenPC5SnpZSgnW9edSm-fSp6Akoid7o9O_WXt4,64922
126
+ ibm_watsonx_orchestrate/flow_builder/flows/flow.py,sha256=wPCpDT-RFJZsiDYNPLteWQRpSQl86urEbCi6UurCqfg,67946
127
+ ibm_watsonx_orchestrate/langflow/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
+ ibm_watsonx_orchestrate/langflow/langflow_utils.py,sha256=UIWN28WvaYNhV-Ph_x0HSqV7jbL8lQlaUBdYeELqXJo,5765
129
+ ibm_watsonx_orchestrate/langflow/lfx_deps.py,sha256=Bgbo8IQEX_TblGLmw1tnA0DP7Xm4SFRncPp4TGbqY1o,1396
127
130
  ibm_watsonx_orchestrate/run/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
131
  ibm_watsonx_orchestrate/run/connections.py,sha256=9twXkNeUx83fP_qYUbJRtumE-wzPPNN2v-IY_8hGndM,1820
129
132
  ibm_watsonx_orchestrate/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
130
133
  ibm_watsonx_orchestrate/utils/docker_utils.py,sha256=yDaeMToD7PSptuzCguEN8zPDyvPlwDR3ORutffldbuM,11355
131
134
  ibm_watsonx_orchestrate/utils/environment.py,sha256=MBNhZsGuhL7-9HL-0ln6RwgiqfXXZqvSCyHcIQypuc8,14549
132
135
  ibm_watsonx_orchestrate/utils/exceptions.py,sha256=MjpoGuk7lMziPT2Zo7X-jgGlm0M22mTZF4Y8EHb3KPM,631
133
- ibm_watsonx_orchestrate/utils/utils.py,sha256=FUSIig8owxN0p9xTpWiTG-VIQKky4cwO52hI1h6R5xc,721
136
+ ibm_watsonx_orchestrate/utils/utils.py,sha256=X7kV4VgLEA82IdD5QNY90gdk_BZ6WcxqLLe6X8Q6DQU,868
134
137
  ibm_watsonx_orchestrate/utils/logging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
135
138
  ibm_watsonx_orchestrate/utils/logging/logger.py,sha256=FzeGnidXAjC7yHrvIaj4KZPeaBBSCniZFlwgr5yV3oA,1037
136
139
  ibm_watsonx_orchestrate/utils/logging/logging.yaml,sha256=9_TKfuFr1barnOKP0fZT5D6MhddiwsXVTFjtRbcOO5w,314
137
- ibm_watsonx_orchestrate-1.12.0b0.dist-info/METADATA,sha256=IrUPk1VyUpYEBp1eItqEivLQky4mwENSrz2I6hupAmE,1363
138
- ibm_watsonx_orchestrate-1.12.0b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
- ibm_watsonx_orchestrate-1.12.0b0.dist-info/entry_points.txt,sha256=SfIT02-Jen5e99OcLhzbcM9Bdyf8SGVOCtnSplgZdQI,69
140
- ibm_watsonx_orchestrate-1.12.0b0.dist-info/licenses/LICENSE,sha256=Shgxx7hTdCOkiVRmfGgp_1ISISrwQD7m2f0y8Hsapl4,1083
141
- ibm_watsonx_orchestrate-1.12.0b0.dist-info/RECORD,,
140
+ ibm_watsonx_orchestrate-1.12.1.dist-info/METADATA,sha256=JuOchl70FsR2MBshmh_rutVDS8lEs9kkChhMXInbgso,1361
141
+ ibm_watsonx_orchestrate-1.12.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
142
+ ibm_watsonx_orchestrate-1.12.1.dist-info/entry_points.txt,sha256=SfIT02-Jen5e99OcLhzbcM9Bdyf8SGVOCtnSplgZdQI,69
143
+ ibm_watsonx_orchestrate-1.12.1.dist-info/licenses/LICENSE,sha256=Shgxx7hTdCOkiVRmfGgp_1ISISrwQD7m2f0y8Hsapl4,1083
144
+ ibm_watsonx_orchestrate-1.12.1.dist-info/RECORD,,