alita-sdk 0.3.140b3__tar.gz → 0.3.140b4__tar.gz
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.
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/PKG-INFO +1 -1
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/pyproject.toml +1 -1
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/mcp_server_tool.py +12 -3
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk.egg-info/PKG-INFO +1 -1
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/LICENSE +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/README.md +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/requirements.txt +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/setup.cfg +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/agents/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/agents/llamaAgentParser.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/clients/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/clients/artifact.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/clients/client.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/clients/datasource.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/clients/prompt.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/ado_analyse/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/ado_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/github_analyse/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/github_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/gitlab_analyse/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/gitlab_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/jira_analyse/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/jira_analyse/api_wrapper.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/browseruse/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/browseruse/api_wrapper.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/utils.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/agents/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/agents/xml_chat.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/assistant.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/chat_message_template.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/constants.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaBDDScenariosLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaCSVLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaConfluenceLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaDirectoryLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaDocxMammothLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaExcelLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaGitRepoLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaImageLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaJiraLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaQtestLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/AlitaTableLoader.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/constants.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/utils.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/indexer.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/kwextractor.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/llm_processor.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/loaders.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/splitters.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/langraph_agent.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/mixedAgentParser.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/mixedAgentRenderes.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/retrievers/AlitaRetriever.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/retrievers/VectorstoreRetriever.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/retrievers/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/bdd_exceptions.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/bdd_parser.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/feature_types.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/parser.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/git.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/log.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/quota.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/state.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/utils.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/vector.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/utils.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/llamaindex/assistant.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/llms/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/llms/alita.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/llms/preloaded.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/application.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/artifact.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/datasource.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/prompt.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/subgraph.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/tools.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/toolkits/vectorstore.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/agent.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/application.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/artifact.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/datasource.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/echo.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/function.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/indexer_tool.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/llm.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/loop.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/loop_output.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/pgvector_search.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/prompt.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/router.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/tool.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/tools/vectorstore.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/AlitaCallback.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/evaluate.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/logging.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/save_dataframe.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/streamlit.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/utils/utils.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk.egg-info/SOURCES.txt +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk.egg-info/dependency_links.txt +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk.egg-info/requires.txt +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk.egg-info/top_level.txt +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/tests/__init__.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/tests/test_ado_analysis.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/tests/test_github_analysis.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/tests/test_gitlab_analysis.py +0 -0
- {alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/tests/test_jira_analysis.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.140b4
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
5
5
|
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>
|
6
6
|
Project-URL: Homepage, https://projectalita.ai
|
@@ -19,7 +19,7 @@ class McpServerTool(BaseTool):
|
|
19
19
|
|
20
20
|
|
21
21
|
@staticmethod
|
22
|
-
def create_pydantic_model_from_schema(schema: dict):
|
22
|
+
def create_pydantic_model_from_schema(schema: dict, model_name: str = "ArgsSchema"):
|
23
23
|
def parse_type(field: dict, name: str = "Field") -> Any:
|
24
24
|
if "allOf" in field:
|
25
25
|
merged = {}
|
@@ -67,7 +67,7 @@ class McpServerTool(BaseTool):
|
|
67
67
|
if t == "boolean":
|
68
68
|
return bool
|
69
69
|
if t == "object":
|
70
|
-
return McpServerTool.create_pydantic_model_from_schema(field)
|
70
|
+
return McpServerTool.create_pydantic_model_from_schema(field, name.capitalize())
|
71
71
|
if t == "array":
|
72
72
|
items = field.get("items", {})
|
73
73
|
return List[parse_type(items, name + "Item")]
|
@@ -85,7 +85,16 @@ class McpServerTool(BaseTool):
|
|
85
85
|
if "format" in prop:
|
86
86
|
field_args["format"] = prop["format"]
|
87
87
|
fields[name] = (typ, Field(default, **field_args))
|
88
|
-
return create_model(
|
88
|
+
return create_model(model_name, **fields)
|
89
|
+
|
90
|
+
def _to_args_and_kwargs(
|
91
|
+
self, tool_input: Union[str, dict], tool_call_id: Optional[str]
|
92
|
+
) -> tuple[tuple, dict]:
|
93
|
+
# just return input as is without any transformation to/from pydentic model
|
94
|
+
if isinstance(tool_input, str):
|
95
|
+
return (tool_input,), {}
|
96
|
+
else:
|
97
|
+
return (), tool_input
|
89
98
|
|
90
99
|
def _run(self, *args, **kwargs):
|
91
100
|
call_data = {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: alita_sdk
|
3
|
-
Version: 0.3.
|
3
|
+
Version: 0.3.140b4
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
5
5
|
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedjik@gmail.com>
|
6
6
|
Project-URL: Homepage, https://projectalita.ai
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/analysis/ado_analyse/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/community/browseruse/api_wrapper.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/chat_message_template.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/__init__.py
RENAMED
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/constants.py
RENAMED
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/document_loaders/utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/kwextractor.py
RENAMED
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/interfaces/llm_processor.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/retrievers/AlitaRetriever.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/__init__.py
RENAMED
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/bdd_parser.py
RENAMED
File without changes
|
File without changes
|
{alita_sdk-0.3.140b3 → alita_sdk-0.3.140b4}/src/alita_sdk/langchain/tools/bdd_parser/parser.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|